Commit dada99ea authored by 熊成伟's avatar 熊成伟

debug

parent e97fd139
Pipeline #15801 failed with stages
in 36 seconds
......@@ -94,6 +94,11 @@
"umi-request": "^1.2.17"
}
},
"@wojtekmaj/date-utils": {
"version": "1.0.2",
"resolved": "https://registry.npm.taobao.org/@wojtekmaj/date-utils/download/@wojtekmaj/date-utils-1.0.2.tgz",
"integrity": "sha1-MTSMVyYGrEKq+be7IgdPwLFjzCs="
},
"abab": {
"version": "1.0.4",
"resolved": "https://registry.npm.taobao.org/abab/download/abab-1.0.4.tgz?cache=0&sync_timestamp=1573609024450&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fabab%2Fdownload%2Fabab-1.0.4.tgz",
......@@ -471,6 +476,11 @@
"resolved": "https://registry.npm.taobao.org/async-each/download/async-each-1.0.3.tgz",
"integrity": "sha1-tyfb+H12UWAvBvTUrDh/R9kbDL8="
},
"async-validator": {
"version": "1.11.5",
"resolved": "https://registry.npm.taobao.org/async-validator/download/async-validator-1.11.5.tgz",
"integrity": "sha1-nUPPSe9rt2vlRCOI0Z+5puR1l+o="
},
"asynckit": {
"version": "0.4.0",
"resolved": "https://registry.npm.taobao.org/asynckit/download/asynckit-0.4.0.tgz",
......@@ -3059,6 +3069,11 @@
"utila": "~0.4"
}
},
"dom-scroll-into-view": {
"version": "1.2.1",
"resolved": "https://registry.npm.taobao.org/dom-scroll-into-view/download/dom-scroll-into-view-1.2.1.tgz",
"integrity": "sha1-6PNnMt0ImwIBqI14Fdw/iObWbH4="
},
"dom-serializer": {
"version": "0.2.2",
"resolved": "https://registry.npm.taobao.org/dom-serializer/download/dom-serializer-0.2.2.tgz",
......@@ -4950,6 +4965,14 @@
"resolved": "https://registry.npm.taobao.org/get-stream/download/get-stream-3.0.0.tgz",
"integrity": "sha1-jpQ9E1jcN1VQVOy+LtsFqhdO3hQ="
},
"get-user-locale": {
"version": "1.4.0",
"resolved": "https://registry.npm.taobao.org/get-user-locale/download/get-user-locale-1.4.0.tgz",
"integrity": "sha1-osS12kb+7J8DybB9GXsWIEkKU3A=",
"requires": {
"lodash.once": "^4.1.1"
}
},
"get-value": {
"version": "2.0.6",
"resolved": "https://registry.npm.taobao.org/get-value/download/get-value-2.0.6.tgz",
......@@ -6979,6 +7002,11 @@
"resolved": "https://registry.npm.taobao.org/lodash.memoize/download/lodash.memoize-4.1.2.tgz",
"integrity": "sha1-vMbEmkKihA7Zl/Mj6tpezRguC/4="
},
"lodash.once": {
"version": "4.1.1",
"resolved": "https://registry.npm.taobao.org/lodash.once/download/lodash.once-4.1.1.tgz",
"integrity": "sha1-DdOXEhPHxW34gJd9UEyI+0cal6w="
},
"lodash.template": {
"version": "4.5.0",
"resolved": "https://registry.npm.taobao.org/lodash.template/download/lodash.template-4.5.0.tgz",
......@@ -7157,6 +7185,11 @@
"resolved": "https://registry.npm.taobao.org/merge/download/merge-1.2.1.tgz",
"integrity": "sha1-OL6/gMMiCopIe2/Ps5QbsRcgwUU="
},
"merge-class-names": {
"version": "1.3.0",
"resolved": "https://registry.npm.taobao.org/merge-class-names/download/merge-class-names-1.3.0.tgz?cache=0&sync_timestamp=1572830576065&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fmerge-class-names%2Fdownload%2Fmerge-class-names-1.3.0.tgz",
"integrity": "sha1-xM3BqYGoHdmvwnqkKH6RKjN8Xe4="
},
"merge-descriptors": {
"version": "1.0.1",
"resolved": "https://registry.npm.taobao.org/merge-descriptors/download/merge-descriptors-1.0.1.tgz",
......@@ -9705,6 +9738,31 @@
"rc-animate": "2.x"
}
},
"rc-form": {
"version": "2.4.11",
"resolved": "https://registry.npm.taobao.org/rc-form/download/rc-form-2.4.11.tgz?cache=0&sync_timestamp=1574149584987&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Frc-form%2Fdownload%2Frc-form-2.4.11.tgz",
"integrity": "sha1-Ye465XklloSuMPLEj1Xw8jpdPQg=",
"requires": {
"async-validator": "~1.11.3",
"babel-runtime": "6.x",
"create-react-class": "^15.5.3",
"dom-scroll-into-view": "1.x",
"hoist-non-react-statics": "^3.3.0",
"lodash": "^4.17.4",
"rc-util": "^4.15.3",
"warning": "^4.0.3"
},
"dependencies": {
"warning": {
"version": "4.0.3",
"resolved": "https://registry.npm.taobao.org/warning/download/warning-4.0.3.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fwarning%2Fdownload%2Fwarning-4.0.3.tgz",
"integrity": "sha1-Fungd+uKhtavfWSqHgX9hbRnjKM=",
"requires": {
"loose-envify": "^1.0.0"
}
}
}
},
"rc-gesture": {
"version": "0.0.22",
"resolved": "https://registry.npm.taobao.org/rc-gesture/download/rc-gesture-0.0.22.tgz",
......@@ -9776,7 +9834,7 @@
},
"react": {
"version": "16.13.1",
"resolved": "https://registry.npm.taobao.org/react/download/react-16.13.1.tgz",
"resolved": "https://registry.npm.taobao.org/react/download/react-16.13.1.tgz?cache=0&sync_timestamp=1592589335397&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Freact%2Fdownload%2Freact-16.13.1.tgz",
"integrity": "sha1-LoGIIvGpdDEiwGPWQQ2FweOv5I4=",
"requires": {
"loose-envify": "^1.1.0",
......@@ -9803,6 +9861,17 @@
"dotenv": "^4.0.0"
}
},
"react-calendar": {
"version": "3.1.0",
"resolved": "https://registry.npm.taobao.org/react-calendar/download/react-calendar-3.1.0.tgz",
"integrity": "sha1-ejhKcPmOAhd9F2xF9pGPtqFc5B8=",
"requires": {
"@wojtekmaj/date-utils": "^1.0.2",
"get-user-locale": "^1.2.0",
"merge-class-names": "^1.1.1",
"prop-types": "^15.6.0"
}
},
"react-content-loader": {
"version": "5.0.4",
"resolved": "https://registry.npm.taobao.org/react-content-loader/download/react-content-loader-5.0.4.tgz",
......@@ -9844,7 +9913,7 @@
},
"react-dom": {
"version": "16.13.1",
"resolved": "https://registry.npm.taobao.org/react-dom/download/react-dom-16.13.1.tgz",
"resolved": "https://registry.npm.taobao.org/react-dom/download/react-dom-16.13.1.tgz?cache=0&sync_timestamp=1592587792397&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Freact-dom%2Fdownload%2Freact-dom-16.13.1.tgz",
"integrity": "sha1-wb03MxoEhsB47lTEdAcgmTsuDn8=",
"requires": {
"loose-envify": "^1.1.0",
......
......@@ -12,7 +12,9 @@
"moment": "^2.26.0",
"postcss-px2rem": "^0.3.0",
"qs": "^6.9.4",
"rc-form": "^2.4.11",
"react": "^16.8.4",
"react-calendar": "^3.1.0",
"react-content-loader": "^5.0.4",
"react-document-title": "^2.0.3",
"react-dom": "^16.8.4",
......
import React from 'react';
// import moment from 'moment'
import './index.less'
const Index = (props) => {
// const {data} = props;
return (
<div className="mail-card" onClick={props.onClick}>
<div className="mail-item mail-title">
6.1日,部门考察工作出差事宜
</div>
<div className="mail-item mail-label">
<span>发件人:</span>
<span>琳琳</span>
</div>
<div className="mail-item mail-label">
<span>时间:</span>
<span>2020-05-26 16:00:00</span>
</div>
</div>
);
};
export default Index;
.mail-item{
padding: 16px;
background: #ffffff;
border-bottom: 1px solid rgba(239, 239, 239, 1);
}
.mail-card > .mail-item:first-child{
border-radius: 7px 7px 0 0;
}
.mail-card > .mail-item:last-child{
border-radius: 0 0 7px 7px;
}
.mail-title{
font-size: 17px;
font-weight:bold;
}
.mail-label{
font-size: 14px;
display: flex;
justify-content: space-between;
align-items: center;
}
import React from 'react';
import {Tabs} from 'antd-mobile'
import './index.less'
const Index = (props) => {
return (
<div className="blank-tab-card">
<Tabs
page={props.page}
tabs={props.tabs}
initialPage={"basic"}
onChange={(tab, index) => props.onClick(tab.key, index)}
/>
</div>
);
};
export default Index;
import React from 'react';
import {withRouter} from 'react-router-dom'
import './index.less'
const BlankLayout = (props) => {
return (
......
@import "~antd-mobile/dist/antd-mobile.less";
@import '../variable.less';
.am-button-primary{
background-color: @primary !important;
}
.common-layout-content{
padding-bottom: 10px;
margin-bottom: 50px;
......
......@@ -22,11 +22,12 @@
align-items: center;
justify-content: center;
font-size: 15px;
background: rgba(54, 147, 239, 1);
background: @primary;
color: #ffffff;
}
.event-footer-button:active{
background: rgba(54, 147, 239, 0.8);
background: @primary;
opacity: 0.8;
}
.event-footer-button.button-disabled{
background: rgba(152, 152, 152, 1);
......
import React, {useState} from 'react';
import {WhiteSpace, WingBlank, Modal, Button, List, InputItem, DatePicker} from 'antd-mobile'
import Calendar from 'react-calendar'
import 'react-calendar/dist/Calendar.css';
import Document from 'react-document-title'
import '../index.less'
import { createForm } from 'rc-form';
const DateCalendar = (props) => {
const [value, onChange] = useState(new Date());
const data = [{}, {}];
const [visible, setVisible] = useState(false);
const [editVisible, setEditVisible] = useState(false);
const {getFieldProps} = props.form;
const onSubmit = () => {
props.form.validateFields({ force: true }, (error) => {
if (!error) {
console.log(props.form.getFieldsValue());
} else {
alert('Validation failed');
}
});
};
const onReset = () => {
setEditVisible(false);
props.form.resetFields();
};
return (
<Document title="待办">
<WingBlank>
<WhiteSpace/>
<Calendar
defaultValue={new Date(2020, 6, 20)}
calendarType="US"
onChange={onChange}
value={value}
/>
<WhiteSpace/>
<div className="date-todo-card">
{data.map((item, index) => (
<div key={index} className="date-todo-item" onClick={() => setVisible(true)}>
<div>出差携带物资</div>
<div>
<p>8:00</p>
<p>8:30</p>
</div>
</div>
))}
</div>
<Modal
className="date-modal"
visible={editVisible}
transparent
onClose={() => setEditVisible(false)}
>
<form>
<List>
<InputItem
{...getFieldProps('title')}
placeholder="请输入标题"
>输入标题</InputItem>
<DatePicker
mode="date"
{...getFieldProps('dp', {rules: [{ required: true, message: '必须选择开始日期' }],})}
>
<List.Item>选择开始日期</List.Item>
</DatePicker>
<DatePicker
mode="date"
{...getFieldProps('dp2', {rules: [{ required: true, message: '必须选择开始日期' }]})}
>
<List.Item>选择结束日期</List.Item>
</DatePicker>
</List>
<div className="modal-form-footer">
<Button className="date-button mr-12 bg-gray" inline onClick={onReset}>取消</Button>
<Button className="date-button" inline type="primary" onClick={onSubmit}>保存日程</Button>
</div>
</form>
</Modal>
<Modal
className="date-modal"
visible={visible}
transparent
onClose={() => setVisible(false)}
>
<List>
<InputItem extra={`1111`}>标题</InputItem>
<InputItem extra={`1111`}>开始日期</InputItem>
<InputItem extra={`1111`}>结束日期</InputItem>
</List>
</Modal>
<div className="event-footer">
<div className="event-footer-button" onClick={() => setEditVisible(true)}>添加日程</div>
</div>
</WingBlank>
</Document>
);
};
export default createForm()(DateCalendar);
import React, {useState, useEffect} from 'react';
import {WingBlank, List, InputItem, TextareaItem} from 'antd-mobile'
import 'react-calendar/dist/Calendar.css';
import Document from 'react-document-title'
import '../index.less'
import { createForm } from 'rc-form';
const Send = (props) => {
const {getFieldProps} = props.form;
const onSubmit = () => {
props.form.validateFields({ force: true }, (error) => {
if (!error) {
console.log(props.form.getFieldsValue());
} else {
alert('Validation failed');
}
});
};
return (
<Document title="内部邮局">
<WingBlank>
<form>
<List>
<InputItem
{...getFieldProps('title')}
placeholder="请输入主题"
>主题</InputItem>
<InputItem
{...getFieldProps('title2')}
placeholder="请输入收件人"
>收件人</InputItem>
<TextareaItem
title="内容"
placeholder="请输内容"
{...getFieldProps('title3')}
rows={4}
/>
<List.Item>
<input type="file"/>
</List.Item>
</List>
</form>
<div className="event-footer">
<div className="event-footer-button" onClick={onSubmit}>发送</div>
</div>
</WingBlank>
</Document>
);
};
export default createForm()(Send);
import React, {useState, useEffect} from 'react';
import {WingBlank, List, InputItem, TextareaItem} from 'antd-mobile'
import 'react-calendar/dist/Calendar.css';
import Document from 'react-document-title'
import '../index.less'
import { createForm } from 'rc-form';
const Send = (props) => {
const {getFieldProps} = props.form;
const onSubmit = () => {
props.form.validateFields({ force: true }, (error) => {
if (!error) {
console.log(props.form.getFieldsValue());
} else {
alert('Validation failed');
}
});
};
return (
<Document title="内部邮局">
<WingBlank>
<form>
<List>
<InputItem
{...getFieldProps('title')}
placeholder="请输入主题"
>主题</InputItem>
<InputItem
{...getFieldProps('title2')}
placeholder="请输入收件人"
>收件人</InputItem>
<TextareaItem
title="内容"
placeholder="请输内容"
{...getFieldProps('title3')}
rows={4}
/>
<List.Item>
<input type="file"/>
</List.Item>
</List>
</form>
<div className="event-footer">
<div className="event-footer-button" onClick={onSubmit}>发送</div>
</div>
</WingBlank>
</Document>
);
};
export default createForm()(Send);
import React, {useEffect, useState} from 'react';
import {WhiteSpace, WingBlank} from 'antd-mobile'
import MailCard from '../../../components/Card/MailCard'
import MailTab from '../../../components/Tabs/BlankTabs/MailTab'
import axiosRequest from '../../../utils/request';
import Skeleton from '../../../components/Skeleton'
import Document from 'react-document-title'
import Empty from '../../Empty'
// import Loading from "../../../components/Loading";
import '../index.less'
const Mail = (props) => {
// const {} = props.match.params;
const [start, setStart] = useState(true);
const [end, setEnd] = useState(true);
const [current, setCurrent] = useState(0);
const [loading, setLoading] = useState(false);
console.log(loading)
const [data, setData] = useState([]);
const getData = (scroll) => {
const pageMap ={};
setLoading(true);
scroll && current > 0 && window.scrollTo(0, document.body.scrollHeight);
axiosRequest({
method: 'post',
url: '/idtAppServiceV6/oApp/getGridDataList',
body: pageMap,
}).then(res => {
setStart(false);
setEnd(res.rows && res.rows.length >= 10);
let result = end && res.rows ? data.concat(res.rows) : data;
res.rows && res.rows.length >= 10 && setCurrent(current + 1);
current > 0 && res.rows && res.rows.length === 0 && setCurrent(current - 1);
setData(result);
setLoading(false);
});
};
//下拉加载
const handleScroll = () => {
let scrollTop = document.documentElement.scrollTop || document.body.scrollTop;
let clientHeight = document.documentElement.clientHeight || document.body.clientHeight;
let scrollHeight = document.documentElement.scrollHeight || document.body.scrollHeight;
if(scrollHeight > clientHeight && scrollTop + clientHeight >= scrollHeight) {
getData(true)
}
}
useEffect(() => {
window.addEventListener('touchend', handleScroll, true);
return () => window.removeEventListener('touchend', handleScroll, true);
}, [data]);
// const checkLog = (OPERATEID, UUID, FLOWTBID) => {
// // props.history.push(`/blank/info/${OPERATEID}/${UUID}/${FLOWTBID}`)
// };
//tab已读未读切换
const [tab, setTab] = useState();
const tabChange = val => {
setCurrent(0);
setData([]);
setTab(val);
setEnd(true)
};
useEffect(() => {
window.scrollTo(0, 0);
getData()
}, []);
useEffect(() => {
setStart(true);
getData(false, [])
}, [tab]);
const tabs = [
{ title: '收件箱', key: 'receive' },
{ title: '发件箱', key: 'send' }
];
const Text = [{}, {}, {}];
return (
<Document title="通知">
<div>
<WhiteSpace/>
<MailTab tabs={tabs} onClick={tabChange}/>
<WingBlank className="mail-content">
{ start ? <div> <WhiteSpace/><Skeleton/><WhiteSpace/><Skeleton/><WhiteSpace/><Skeleton/></div> : ( !start && (
Text.length > 0 ? Text.map((item, index) => (
<div key={index}>
<WhiteSpace/>
<MailCard key={index} data={item}/>
</div>
)) : <Empty/>
))}
</WingBlank>
{/*{loading && (*/}
{/*<div className="pos-line content-loading">*/}
{/*<Loading/>*/}
{/*<WhiteSpace/>*/}
{/*<WhiteSpace/>*/}
{/*</div>*/}
{/*)}*/}
{/*{!loading && !end && data.length > 0 && (*/}
{/*<div className="content-end">*/}
{/*—————— 我是有底线的 ——————*/}
{/*</div>*/}
{/*)}*/}
<div className="event-footer">
<div className="event-footer-button">写信</div>
</div>
</div>
</Document>
);
};
export default Mail;
@import '../../variable.less';
.date-todo-item{
display: flex;
justify-content: space-between;
align-items: center;
padding: 6px 14px;
border-bottom: 1px solid rgba(239, 239, 239, 1);
background: #ffffff;
}
.date-todo-card > .date-todo-item:first-child{
border-radius: 7px 7px 0 0;
}
.date-todo-card > .date-todo-item:last-child{
border-radius: 0 0 7px 7px;
}
.date-button{
height: 30px;
line-height: 30px;
}
.date-modal{
width: 350px !important;
:global{
.am-modal-body{
padding: 0 !important;
}
.am-list-item .am-input-control input{
text-align: right !important;
}
}
}
.modal-form-footer{
padding: 14px;
display: flex;
justify-content: center;
align-items: center;
:global{
.am-button{
width: 102px;
height: 40px;
line-height: 40px;
}
}
}
.bg-gray{
color: #ffffff !important;
background: rgba(152, 152, 152, 1) !important;
}
.event-footer{
height: 45px;
position: fixed;
bottom: 0; left: 0; right: 0;
z-index: 10;
}
.event-footer-button{
width: 100%;
height: 100%;
display: flex;
align-items: center;
justify-content: center;
font-size: 15px;
background: @primary;
color: #ffffff;
}
.mail-content{
margin-top: 38px;
}
......@@ -7,12 +7,15 @@ import Backlog from './pages/Backlog/Backlog'
import Work from './pages/Work/Work'
import WorkDetail from './pages/Work/WorkDetail'
import Notice from './pages/Notice/Notice'
// import AddressBook from './pages/Communicate/AddressBook';
import AddressBook from './pages/Communicate/AddressBook';
import NewAddress from './pages/Communicate/NewAddress';
import NewPage from './pages/Communicate/NewPage';
import Process from './pages/EventProcessing/Process'
import SubmitDetail from './pages/EventProcessing/SubmitDetail'
import Date from './pages/UnCommon/Date'
import Mail from './pages/UnCommon/Mail'
import MainInfo from './pages/UnCommon/Mail/Info'
import MainSend from './pages/UnCommon/Mail/Send'
import Login from './pages/Login'
import NoFound from './pages/NoFound'
......@@ -29,12 +32,17 @@ const ReactRouter = () => {
<Route path="/bord/work" component={Work}/>
<Route path="/bord/addressList" component={NewAddress}/>
<Route path="/bord/address/:pId/:HASUSER/:parent" component={NewPage}/>
{/*<Route path="/bord/addressList" component={AddressBook}/>*/}
<Route path="/bord/notice" component={Notice}/>
</CommonLayout>
}/>
<Route path="/blank" component={() =>
<BlankLayout>
<Route path="/blank/addressList" component={AddressBook}/>
<Route path="/blank/date" component={Date}/>
<Route path="/blank/mail" component={Mail}/>
<Route path="/blank/mail-info" component={MainInfo}/>
<Route path="/blank/mail-send" component={MainSend}/>
<Route path="/blank/work/:type/:name" component={WorkDetail}/>
<Route path="/blank/submit/:flowNodeId/:uuid/:flowTbId" component={SubmitDetail}/>
<Route path="/blank/info/:id/:uuid/:FLOWTBID" component={Process}/>
......
......@@ -82,3 +82,8 @@ table {
width:18px;
height: 18px;
}
.mr-12{
margin-right: 12px;
}
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment