Browse Source

Merge branch 'master' of ssh://10.10.100.21/source/uas-office-integration

RaoMeng 6 years ago
parent
commit
b80a997555

+ 1 - 1
uas-office-qywx/src/main/java/com/usoftchina/uas/office/qywx/task/QywxPushAnalysisTask.java

@@ -39,7 +39,7 @@ public class QywxPushAnalysisTask {
     /**
      * 抓取打卡数据
      */
-    @Scheduled(cron="0 0 18 ? * FRI ")
+    @Scheduled(cron="0 0 19 ? * FRI ")
     public void pullCheckinData() {
         if (!messageSdk.isAgentEnabled("Uas")) {
             return;

+ 2 - 2
uas-office-web/wxuasapproval/package.json

@@ -10,9 +10,9 @@
     "bizcharts": "^3.5.7",
     "js-cookie": "^2.2.1",
     "moment": "^2.22.2",
-    "react": "^16.5.2",
+    "react": "^16.12.0",
     "react-app-rewire-less": "^2.1.3",
-    "react-dom": "^16.5.2",
+    "react-dom": "^16.12.0",
     "react-file-viewer": "^1.2.1",
     "react-infinite-scroller": "^1.2.4",
     "react-redux": "^7.2.0",

+ 1 - 0
uas-office-web/wxuasapproval/public/index.html

@@ -19,6 +19,7 @@
       work correctly both with client-side routing and a non-root public URL.
       Learn how to configure a non-root public URL by running `npm run build`.
     -->
+    <script src = "https://cdn.polyfill.io/v2/polyfill.min.js"></script>
     <script type="text/javascript">
       function GetQueryString (name) {
         let reg = new RegExp('(^|&)' + name + '=([^&]*)(&|$)')

+ 62 - 61
uas-office-web/wxuasapproval/src/configs/router.config.js

@@ -1,61 +1,62 @@
-import React from 'react'
-import {
-  BrowserRouter as Router,
-  Route,
-  Redirect,
-  Switch,
-} from 'react-router-dom'
-// import {browserHistory} from 'react-router'
-import BindPhone from '../pages/bindPhone/BindPhone'
-import Approval from '../pages/approval/Approval'
-import BindResult from '../pages/bindPhone/BindResult'
-import RedirectPage from '../pages/RedirectPage'
-import ApprovalHome from '../pages/approval/ApprovalHome'
-import UseStatus from '../pages/useStatus/UseStatus'
-import WorkSummary from '../pages/workSummary/WorkSummary'
-import ApprovalAdd from '../pages/approval/ApprovalAdd'
-import UasApproval from '../pages/approval/UasApproval'
-
-export class Routes extends React.Component {
-
-  componentWillUnmount () {
-    let storage = window.localStorage
-    storage.removeItem('paramJson')
-  }
-
-  render () {
-    return <Router
-      basename={(process.env.REACT_APP_ROUTER_BASE_NAME || '/ERP') + '/uas'}>
-      <div style={{ width: '100%', height: '100%' }}>
-        <Switch>
-          {/*U审批过渡页面(入口页面)*/}
-          <Route path='/uasApproval/:master/:type?' component={UasApproval}/>
-          {/*U审批首页*/}
-          <Route path='/approvalHome/:master/:type?' component={ApprovalHome}/>
-          {/*U审批详情页*/}
-          <Route path='/approval/:paramsStr?' component={Approval}/>
-          {/*U审批新增页面*/}
-          <Route path='/approvalAdd/:caller/:master/:id?'
-                 component={ApprovalAdd}/>
-          <Route path='/redirect/:paramsStr?' component={RedirectPage}/>
-
-          {/*<Route exact path='/bindPhone' component={BindPhone}/>*/}
-          <Route path='/bindPhone/:openId?' component={BindPhone}/>
-          <Route path='/bindResult/:result' component={BindResult}/>
-
-          <Route path='/usestatus/:instanceId' component={UseStatus}/>
-          <Route path='/worksummary' component={WorkSummary}/>
-          {/*<Redirect path='/' to={{pathname: '/bindPhone'}}/>*/}
-
-          {/*404页面*/}
-          <Route render={() => (
-            // <Redirect to={'/redirect'}/>
-            <Redirect to={'/uasApproval'}/>
-          )}/>
-        </Switch>
-      </div>
-    </Router>
-  }
-}
-
-
+import React from 'react'
+import {
+  BrowserRouter as Router,
+  Route,
+  Redirect,
+  Switch,
+} from 'react-router-dom'
+// import {browserHistory} from 'react-router'
+import BindPhone from '../pages/bindPhone/BindPhone'
+import Approval from '../pages/approval/Approval'
+import BindResult from '../pages/bindPhone/BindResult'
+import RedirectPage from '../pages/RedirectPage'
+import ApprovalHome from '../pages/approval/ApprovalHome'
+import UseStatus from '../pages/useStatus/UseStatus'
+import WorkSummary from '../pages/workSummary/WorkSummary'
+import ApprovalAdd from '../pages/approval/ApprovalAdd'
+import UasApproval from '../pages/approval/UasApproval'
+import DemoTrigger from '../pages/demoTrigger/DemoTrigger'
+export class Routes extends React.Component {
+
+  componentWillUnmount () {
+    let storage = window.localStorage
+    storage.removeItem('paramJson')
+  }
+
+  render () {
+    return <Router
+      basename={(process.env.REACT_APP_ROUTER_BASE_NAME || '/ERP') + '/uas'}>
+      <div style={{ width: '100%', height: '100%' }}>
+        <Switch>
+          {/*U审批过渡页面(入口页面)*/}
+          <Route path='/uasApproval/:master/:type?' component={UasApproval}/>
+          {/*U审批首页*/}
+          <Route path='/approvalHome/:master/:type?' component={ApprovalHome}/>
+          {/*U审批详情页*/}
+          <Route path='/approval/:paramsStr?' component={Approval}/>
+          {/*U审批新增页面*/}
+          <Route path='/approvalAdd/:caller/:master/:id?'
+                 component={ApprovalAdd}/>
+          <Route path='/redirect/:paramsStr?' component={RedirectPage}/>
+
+          {/*<Route exact path='/bindPhone' component={BindPhone}/>*/}
+          <Route path='/bindPhone/:openId?' component={BindPhone}/>
+          <Route path='/bindResult/:result' component={BindResult}/>
+
+          <Route path='/usestatus/:instanceId' component={UseStatus}/>
+          <Route path='/worksummary' component={WorkSummary}/>
+          <Route path='/demotrigger' component={DemoTrigger}/>
+          {/*<Redirect path='/' to={{pathname: '/bindPhone'}}/>*/}
+
+          {/*404页面*/}
+          <Route render={() => (
+            // <Redirect to={'/redirect'}/>
+            <Redirect to={'/uasApproval'}/>
+          )}/>
+        </Switch>
+      </div>
+    </Router>
+  }
+}
+
+

+ 101 - 0
uas-office-web/wxuasapproval/src/pages/demoTrigger/DemoTrigger.jsx

@@ -0,0 +1,101 @@
+import React, { Component } from 'react';
+import './demoTrigger.css';
+import { Modal, WingBlank } from 'antd-mobile';
+import { Icon, Table } from 'antd';
+import { fetchPost, fetchGet } from '../../utils/fetchRequest'
+
+function closest(el, selector) {
+    const matchesSelector = el.matches || el.webkitMatchesSelector || el.mozMatchesSelector || el.msMatchesSelector;
+    while (el) {
+        if (matchesSelector.call(el, selector)) {
+            return el;
+        }
+        el = el.parentElement;
+    }
+    return null;
+}
+
+export default class demotrigger extends Component {
+    constructor(props) {
+        super(props);
+        this.state = {
+            modal: false,
+            dataSource: [],
+            columns: [],
+        };
+    }
+    showModal = key => (e) => {
+        e.preventDefault(); // 修复 Android 上点击穿透
+        this.setState({
+            [key]: true,
+        });
+
+        this.getdata();
+    }
+    onClose = key => () => {
+        this.setState({
+            [key]: false,
+        });
+    }
+    getdata = () => {
+        fetchPost('http://218.17.253.75:9443/uas_dev/common/dbfind.action', {
+            caller: 'MaterialLackForWCPlan',
+            field: 'ma_salecode',
+            condition: '1=1',
+            ob: '',
+            page: 1,
+            pageSize: 14,
+            _config: null,
+            which: 'form'
+        }).then(response => {
+            let columns = response.columns;
+            let dataSource = JSON.parse(response.data);
+            columns = JSON.parse(JSON.stringify(columns).replace(/header/g, "title"));
+            columns = JSON.parse(JSON.stringify(columns).replace(/text/g, "key"));
+            columns.forEach(item => {
+                item.width = 100;
+            })
+            this.setState({
+                dataSource: dataSource,
+                columns: columns
+            })
+        }).catch(error => {
+            console.log(error)
+        })
+    }
+    onClickRow = (record) => {
+        return {
+            onClick: () => {
+                let trigger = document.getElementById('triggerInput');
+                trigger.setAttribute('value', record.sa_code);
+                this.setState({
+                    modal: false
+                })
+            }
+        }
+    }
+
+
+
+    render() {
+        const { dataSource, columns } = this.state;
+        return (
+            <WingBlank>
+                <div className="triggerBox">
+                    <div className="inputBox"><input id="triggerInput" style={{ height: 32 }} type="text" /></div>
+                    <div className="iconBox"><Icon className="triggerIcon" type="search" onClick={this.showModal('modal')} /></div>
+                </div>
+                <div>
+                </div>
+                <Modal
+                    onClose={this.onClose('modal')}
+                    popup
+                    visible={this.state.modal}
+                    animationType="slide-up"
+                >
+                    <Table scroll={{ x: 1000, y: 300 }} onRow={this.onClickRow} dataSource={dataSource} columns={columns} />
+                </Modal>
+            </WingBlank>
+        );
+    }
+}

+ 44 - 0
uas-office-web/wxuasapproval/src/pages/demoTrigger/demoTrigger.css

@@ -0,0 +1,44 @@
+.popup-list .am-list-body {
+  height: 500px;
+  overflow: auto;
+}
+/* .ant-table-tbody > tr > td {
+  padding: 16px 16px;
+  word-break: break-word;
+} */
+.ant-table {
+ height: 350px !important;
+}
+.ant-empty-normal {
+    margin: 140px 0 !important;
+}
+.triggerBox{
+  width:200px;
+  overflow: hidden;
+  border:1px solid grey;
+  border-radius: 2px;
+  background-color: #fff;
+}
+
+.triggerBox .inputBox{
+  height:32px;
+  float:left;
+  width:75%;
+}
+.triggerBox .inputBox input{
+  height:100%;
+  width:100%;
+  padding-left:5%;
+}
+.triggerBox .iconBox{
+  float:right;
+  height:32px;
+  width:20%;
+  background:gainsboro;
+}
+.triggerBox .iconBox .triggerIcon{
+  text-align:center;
+  height:100%;
+  line-height: 32px;
+  width:100%;
+}