Selaa lähdekoodia

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

samhoo 6 vuotta sitten
vanhempi
commit
a5ff63be1d
22 muutettua tiedostoa jossa 1334 lisäystä ja 667 poistoa
  1. 64 33
      uas-office-web/wxuasapproval/config-overrides.js
  2. 8 7
      uas-office-web/wxuasapproval/package.json
  3. 13 6
      uas-office-web/wxuasapproval/src/components/approvalItem/ApprovalItem.jsx
  4. 3 2
      uas-office-web/wxuasapproval/src/components/approvalItem/approvalItem.css
  5. 21 0
      uas-office-web/wxuasapproval/src/configs/Constants.js
  6. 9 4
      uas-office-web/wxuasapproval/src/configs/router.config.js
  7. BIN
      uas-office-web/wxuasapproval/src/images/approvalNew/businessTrip.png
  8. BIN
      uas-office-web/wxuasapproval/src/images/approvalNew/dailyreport.png
  9. BIN
      uas-office-web/wxuasapproval/src/images/approvalNew/monthlyReport.png
  10. BIN
      uas-office-web/wxuasapproval/src/images/approvalNew/outplans.png
  11. BIN
      uas-office-web/wxuasapproval/src/images/approvalNew/overtime.png
  12. BIN
      uas-office-web/wxuasapproval/src/images/approvalNew/reissueCard.png
  13. BIN
      uas-office-web/wxuasapproval/src/images/approvalNew/vacation.png
  14. BIN
      uas-office-web/wxuasapproval/src/images/approvalNew/visit.png
  15. BIN
      uas-office-web/wxuasapproval/src/images/approvalNew/weeklyreport.png
  16. 9 0
      uas-office-web/wxuasapproval/src/index.css
  17. 25 20
      uas-office-web/wxuasapproval/src/pages/approval/Approval.jsx
  18. 6 5
      uas-office-web/wxuasapproval/src/pages/approval/ApprovalAdd.jsx
  19. 29 6
      uas-office-web/wxuasapproval/src/pages/approval/ApprovalHome.jsx
  20. 5 1
      uas-office-web/wxuasapproval/src/pages/approval/UasApproval.jsx
  21. 6 3
      uas-office-web/wxuasapproval/src/pages/approval/approval.css
  22. 1136 580
      uas-office-web/wxuasapproval/yarn.lock

+ 64 - 33
uas-office-web/wxuasapproval/config-overrides.js

@@ -1,41 +1,72 @@
-const { injectBabelPlugin } = require('react-app-rewired')
+const {
+  override,
+  fixBabelImports,
+  addLessLoader,
+  addWebpackAlias,
+} = require(
+  'customize-cra')
 const rewireLess = require('react-app-rewire-less')
 const path = require('path')
 
-module.exports = function override (config, env) {
+//执行npm run build不产生map文件
+process.env.GENERATE_SOURCEMAP = 'false'
 
-  config = injectBabelPlugin(
-    [
-      'import',
-      {
-        libraryName: 'antd',
-        libraryDirectory: 'es',
-        style: true,
-      }, 'ant',
-    ],
-    config,
-  )
+module.exports = override(
+  fixBabelImports('import-antd', {
+    libraryName: 'antd',
+    libraryDirectory: 'es',
+    style: true,
+  }),
 
-  config = injectBabelPlugin(
-    [
-      'import',
-      {
-        libraryName: 'antd-mobile',
-        libraryDirectory: 'lib',
-        style: true,
-      }, 'ant-mobile',
-    ],
-    config,
-  )
+  fixBabelImports('import-ant-mobile', {
+    libraryName: 'antd-mobile',
+    libraryDirectory: 'lib',
+    style: true,
+  }),
 
-  config = rewireLess.withLoaderOptions({
-    modifyVars: { '@primary-color': '#1DA57A' },
+  addLessLoader({
     javascriptEnabled: true,
-  })(config, env)
-
-  config.resolve.alias = {
-    '@': path.join(__dirname, './src'),
-  }
+    modifyVars: { '@primary-color': '#1DA57A' },
+  }),
 
-  return config
-}
+  addWebpackAlias({
+    '@': path.join(__dirname, 'src'),
+  }),
+)
+// module.exports = function override (config, env) {
+//
+//   config = injectBabelPlugin(
+//     [
+//       'import',
+//       {
+//         libraryName: 'antd',
+//         libraryDirectory: 'es',
+//         style: true,
+//       }, 'ant',
+//     ],
+//     config,
+//   )
+//
+//   config = injectBabelPlugin(
+//     [
+//       'import',
+//       {
+//         libraryName: 'antd-mobile',
+//         libraryDirectory: 'lib',
+//         style: true,
+//       }, 'ant-mobile',
+//     ],
+//     config,
+//   )
+//
+//   config = rewireLess.withLoaderOptions({
+//     modifyVars: { '@primary-color': '#1DA57A' },
+//     javascriptEnabled: true,
+//   })(config, env)
+//
+//   config.resolve.alias = {
+//     '@': path.join(__dirname, './src'),
+//   }
+//
+//   return config
+// }

+ 8 - 7
uas-office-web/wxuasapproval/package.json

@@ -14,9 +14,9 @@
     "react-app-rewire-less": "^2.1.3",
     "react-dom": "^16.5.2",
     "react-file-viewer": "^1.2.1",
-    "react-redux": "^5.0.7",
-    "react-router-dom": "^4.3.1",
-    "react-scripts": "2.0.5",
+    "react-redux": "^7.2.0",
+    "react-router-dom": "^5.1.2",
+    "react-scripts": "3.4.0",
     "redux": "^4.0.1",
     "redux-persist": "^6.0.0",
     "redux-thunk": "^2.3.0",
@@ -41,11 +41,12 @@
   ],
   "devDependencies": {
     "antd": "^3.26.11",
-    "axios": "^0.18.0",
+    "axios": "^0.19.2",
     "babel-plugin-import": "^1.10.0",
-    "react-app-rewired": "^1.6.2",
-    "react-router": "^4.3.1",
+    "customize-cra": "^0.9.1",
+    "react-app-rewired": "^2.1.5",
+    "react-router": "^5.1.2",
     "redux-logger": "^3.0.6",
-    "semantic-ui-react": "^0.82.5"
+    "semantic-ui-react": "^0.88.2"
   }
 }

+ 13 - 6
uas-office-web/wxuasapproval/src/components/approvalItem/ApprovalItem.jsx

@@ -27,14 +27,14 @@ export default class ApprovalItem extends Component {
   render () {
     const { approval, type } = this.props
     let approvalStatus = '等待我审批'
-    let statusColor = '#3BAE7E'
+    let statusColor = '#33A3F4'
     if (type === 2) {
       approvalStatus = approval.JN_DEALRESULT
       if (!isObjEmpty(approvalStatus)) {
         if (approvalStatus.startWith('不同意') || approvalStatus.startWith('结束流程')
           || approvalStatus.startWith('未通过')) {
           approvalStatus = '未通过'
-          statusColor = 'red'
+          statusColor = '#db3a34'
         } else if (approvalStatus.startWith('变更处理人')) {
           statusColor = '#999999'
           if (!isObjEmpty(approval.JN_OPERATEDDESCRIPTION)) {
@@ -51,10 +51,10 @@ export default class ApprovalItem extends Component {
       approvalStatus = approval.JP_STATUS
       if (!isObjEmpty(approvalStatus)) {
         if (approvalStatus === '待审批') {
-          statusColor = '#3BAE7E'
+          statusColor = '#33A3F4'
           approvalStatus = '等待' + approval.JP_NODEDEALMANNAME + '审批'
         } else if (approvalStatus === '未通过') {
-          statusColor = 'red'
+          statusColor = '#db3a34'
         } else {
           statusColor = '#999999'
         }
@@ -91,8 +91,15 @@ export default class ApprovalItem extends Component {
             <div className='recharge-item-caption'>{approval.JP_STATUS
               ? '单据状态:'
               : approval.JN_DEALRESULT ? '审批结果:' : '状态'}</div>
-            <div className='recharge-item-value'
-                 style={{ color: statusColor }}>{approvalStatus}</div>
+            <div
+              // className='recharge-item-value'
+              style={{
+                background: statusColor,
+                borderRadius: '8px',
+                color: 'white',
+                padding: '1px 6px',
+                fontSize:'12px'
+              }}>{approvalStatus}</div>
           </div>
         </div>
       </div>

+ 3 - 2
uas-office-web/wxuasapproval/src/components/approvalItem/approvalItem.css

@@ -14,6 +14,7 @@
     padding: 2px 2px 2px 10px;
     font-family: PingFangSC-Regular;
     font-size: 13px;
+    align-items: center;
     letter-spacing: 0;
     flex-direction: row;
 }
@@ -50,8 +51,8 @@
 
 .homework-item-title-layout {
     padding: 8px 10px 4px;
-    font-family: PingFangSC-Regular;
-    font-size: 14px;
+    /*font-family: PingFangSC-Regular;*/
+    font-size: 13px;
     color: #000;
     letter-spacing: 0;
     flex: 1;

+ 21 - 0
uas-office-web/wxuasapproval/src/configs/Constants.js

@@ -0,0 +1,21 @@
+import businessTrip from '@/images/approvalNew/businessTrip.png'
+import dailyreport from '@/images/approvalNew/dailyreport.png'
+import monthlyReport from '@/images/approvalNew/monthlyReport.png'
+import outplans from '@/images/approvalNew/outplans.png'
+import overtime from '@/images/approvalNew/overtime.png'
+import reissueCard from '@/images/approvalNew/reissueCard.png'
+import vacation from '@/images/approvalNew/vacation.png'
+import visit from '@/images/approvalNew/visit.png'
+import weeklyreport from '@/images/approvalNew/weeklyreport.png'
+
+export const LocalImgs = {
+  'businessTrip.png': businessTrip,
+  'dailyreport.png': dailyreport,
+  'monthlyReport.png': monthlyReport,
+  'outplans.png': outplans,
+  'overtime.png': overtime,
+  'reissueCard.png': reissueCard,
+  'vacation.png': vacation,
+  'visit.png': visit,
+  'weeklyreport.png': weeklyreport,
+}

+ 9 - 4
uas-office-web/wxuasapproval/src/configs/router.config.js

@@ -25,16 +25,21 @@ export class Routes extends React.Component {
 
   render () {
     return <Router
-      basename={process.env.REACT_APP_ROUTER_BASE_NAME || '/ERP/uas'}>
+      basename={(process.env.REACT_APP_ROUTER_BASE_NAME || '/ERP') + '/uas'}>
       <div style={{ width: '100%', height: '100%' }}>
         <Switch>
-          {/*<Route exact path='/bindPhone' component={BindPhone}/>*/}
-          <Route path='/uasApproval' component={UasApproval}/>
-          <Route path='/approvalHome' component={ApprovalHome}/>
+          {/*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}/>
 

BIN
uas-office-web/wxuasapproval/src/images/approvalNew/businessTrip.png


BIN
uas-office-web/wxuasapproval/src/images/approvalNew/dailyreport.png


BIN
uas-office-web/wxuasapproval/src/images/approvalNew/monthlyReport.png


BIN
uas-office-web/wxuasapproval/src/images/approvalNew/outplans.png


BIN
uas-office-web/wxuasapproval/src/images/approvalNew/overtime.png


BIN
uas-office-web/wxuasapproval/src/images/approvalNew/reissueCard.png


BIN
uas-office-web/wxuasapproval/src/images/approvalNew/vacation.png


BIN
uas-office-web/wxuasapproval/src/images/approvalNew/visit.png


BIN
uas-office-web/wxuasapproval/src/images/approvalNew/weeklyreport.png


+ 9 - 0
uas-office-web/wxuasapproval/src/index.css

@@ -85,3 +85,12 @@ textarea::-webkit-scrollbar {
     display: none;
 }
 
+.am-tab-bar-tab {
+    font-size: 18px;
+}
+
+.am-tab-bar-bar .am-tab-bar-tab-title {
+    font-size: 12px !important;
+    margin: 4px 0 0 0 !important;
+}
+

+ 25 - 20
uas-office-web/wxuasapproval/src/pages/approval/Approval.jsx

@@ -80,8 +80,9 @@ export default class Approval extends Component {
     }
   }
 
-  componentWillMount () {
+  componentDidMount () {
     document.title = '审批单据'
+    this.initData()
     let paramsStr = this.props.match.params.paramsStr
     if (isObjEmpty(paramsStr)) {
       let storage = window.localStorage
@@ -94,7 +95,8 @@ export default class Approval extends Component {
 
         paramsJson.baseUrl
           ? (mBaseUrl = decodeURIComponent(paramsJson.baseUrl))
-          : (mBaseUrl = window.location.origin)
+          : (mBaseUrl = window.location.origin
+          + (process.env.REACT_APP_ROUTER_BASE_NAME || '/ERP'))
         mMaster = paramsJson.master
         mNodeId = paramsJson.nodeId
         mType = paramsJson.type
@@ -119,11 +121,27 @@ export default class Approval extends Component {
       })
       message.error('参数获取失败')
     }
-
   }
 
-  componentDidMount () {
+  componentWillUnmount () {
+    Toast.hide()
+  }
 
+  initData = () => {
+    mCachePoints = ''
+    mApprovalRecord = new ApprovalRecordBean()
+    mTitleApproval = new ApprovalBean()
+    mParams = []
+    mFormStore = new Map()
+    mHineApprovals = []//隐藏字段
+    mShowApprovals = []//显示字段
+    mHistoryNodes = []//历史审批
+    mMainList = []//主表
+    mDetailList = []//从表
+    mSetuptasList = []//历史审批要点
+    mEnclosureList = []//附件
+    mNodeList = []//审批节点
+    mPointsList = []//要点
   }
 
   getSessionId () {
@@ -413,20 +431,7 @@ export default class Approval extends Component {
   }
 
   initPageState = () => {
-    mCachePoints = ''
-    mApprovalRecord = new ApprovalRecordBean()
-    mTitleApproval = new ApprovalBean()
-    mParams = []
-    mFormStore = new Map()
-    mHineApprovals = []//隐藏字段
-    mShowApprovals = []//显示字段
-    mHistoryNodes = []//历史审批
-    mMainList = []//主表
-    mDetailList = []//从表
-    mSetuptasList = []//历史审批要点
-    mEnclosureList = []//附件
-    mNodeList = []//审批节点
-    mPointsList = []//要点
+    this.initData()
     this.setState({
         approvalContent: '',
         fastModalOpen: false,
@@ -1501,14 +1506,14 @@ export default class Approval extends Component {
   }
 
   getImagePathUrl = (path) => {
-    return mBaseUrl + 'common/download.action?path=' + path
+    return mBaseUrl + '/common/download.action?path=' + path
       // + '&sessionId=' + '094F0F24379928148A56D37EA83632AE'
       // + '&sessionUser=' + 'U0757'
       + '&master=' + mMaster
   }
 
   getImageIdUrl = (id) => {
-    return mBaseUrl + 'common/downloadbyId.action?id=' + id
+    return mBaseUrl + '/common/downloadbyId.action?id=' + id
       // + '&sessionId=' + '094F0F24379928148A56D37EA83632AE'
       // + '&sessionUser=' + 'U0757'
       + '&master=' + mMaster

+ 6 - 5
uas-office-web/wxuasapproval/src/pages/approval/ApprovalAdd.jsx

@@ -35,6 +35,7 @@ let mDefaultMap
 let mShowBillModels, mFormBillModels, mUpdateBillModels, mAllBillModels
 
 let mBaseUrl = window.location.origin
+  + (process.env.REACT_APP_ROUTER_BASE_NAME || '/ERP')
   // && 'http://29226oq576.qicp.vip/uas/'
 
 export default class ApprovalAdd extends Component {
@@ -48,7 +49,7 @@ export default class ApprovalAdd extends Component {
   }
 
   componentDidMount () {
-    document.title = ''
+    document.title = '新增单据'
     mCaller = this.props.match.params.caller
     mMaster = this.props.match.params.master
     mId = this.props.match.params.id
@@ -357,8 +358,8 @@ export default class ApprovalAdd extends Component {
       console.log('formdata', JSON.stringify(gridStoreList))
       Toast.loading('单据提交中', 0)
       fetchPost(mBaseUrl + (mId <= 0
-        ? 'uapproval/common/commonSaveAndSubmit.action'
-        : 'uapproval/common/commonUpdate.action'), {
+        ? '/uapproval/common/commonSaveAndSubmit.action'
+        : '/uapproval/common/commonUpdate.action'), {
         caller: mCaller,
         keyid: mId,
         id: mId,
@@ -471,8 +472,8 @@ export default class ApprovalAdd extends Component {
    */
   loadFormandGridDetail () {
     fetchPost(mBaseUrl + (mId <= 0
-      ? 'mobile/uapproval/getformandgriddetail.action'
-      : 'mobile/getformandgriddetail_uapproval.action'), {
+      ? '/mobile/uapproval/getformandgriddetail.action'
+      : '/mobile/getformandgriddetail_uapproval.action'), {
       condition: '1=1',
       caller: mCaller,
       id: mId,

+ 29 - 6
uas-office-web/wxuasapproval/src/pages/approval/ApprovalHome.jsx

@@ -14,6 +14,7 @@ import RefreshLayout from '../../components/RefreshLayout'
 import { isObjEmpty } from '../../utils/common'
 import { fetchGet } from '../../utils/fetchRequest'
 import { connect } from 'react-redux'
+import { LocalImgs } from '../../configs/Constants'
 import {
   clearHomeState,
   clearNewState,
@@ -27,14 +28,17 @@ import {
 import CustomIcon from '../../utils/CustomIcon'
 import ApprovalItem from '../../components/approvalItem/ApprovalItem'
 
-let mMaster = 'UAS_DEV'
+let mMaster
 const mPageSize = 20
 let mTodoIndex = 0
 let mDoneIndex = 0
 let mSendIndex = 0
 
 let mBaseUrl = window.location.origin
-  // && 'http://29226oq576.qicp.vip/uas/'
+  + (process.env.REACT_APP_ROUTER_BASE_NAME || '/ERP')
+// && 'http://erp.yitoa.com:8888/ERP'
+
+// process.env.REACT_APP_ROUTER_BASE_NAME || '/ERP'
 
 class ApprovalHome extends Component {
 
@@ -62,6 +66,9 @@ class ApprovalHome extends Component {
         pageVisible: true,
       })
     }, 100)
+
+    mMaster = this.props.match.params.master
+
     // 用于刷新组建确认高度
     if (ReactDOM.findDOMNode(this.contain)) {
       const hei = this.state.receiveHeight -
@@ -77,13 +84,25 @@ class ApprovalHome extends Component {
         sendHeight: hei,
       })
     }
-    document.title = '审批'
+    document.title = 'U审批'
 
     const { homeState } = this.props
-    const { newState, receiveState, sendState, selectedTab } = homeState
+    let { newState, receiveState, sendState, selectedTab } = homeState
 
     this.initSwiper(receiveState)
 
+    let pageType = this.props.match.params.type
+    if (pageType == 'receive') {
+      selectedTab = 1
+      freshHomeState({
+        selectedTab: 1,
+      })()
+    } else if (pageType == 'send') {
+      selectedTab = 2
+      freshHomeState({
+        selectedTab: 2,
+      })()
+    }
     switch (selectedTab) {
       case 0: {
         this.initNew(newState)
@@ -790,7 +809,8 @@ class ApprovalHome extends Component {
       sendList.length = 0
     }
 
-    fetchGet(mBaseUrl + '/common/desktop/process/uapproval/alreadyLaunch.action',
+    fetchGet(
+      mBaseUrl + '/common/desktop/process/uapproval/alreadyLaunch.action',
       {
         pageSize: mPageSize,
         page: mSendIndex,
@@ -849,13 +869,16 @@ class FuncItem extends Component {
   render () {
     const { funcObj } = this.props
 
+    let platform = funcObj.sv_logourl.platform
+    let imgUrl = funcObj.sv_logourl.mobile || LocalImgs[platform] || ''
+
     return (
       isObjEmpty(funcObj) ?
         <div></div> :
         <div className='newMenu-func-root' onClick={this.onFuncClick}>
           <div className='newMenu-func-layout'>
             <img className='newMenu-func-icon'
-                 src={funcObj.sv_logourl ? funcObj.sv_logourl.mobile : ''}/>
+                 src={imgUrl}/>
             <span className='newMenu-func-text'>{funcObj.sv_name}</span>
           </div>
         </div>

+ 5 - 1
uas-office-web/wxuasapproval/src/pages/approval/UasApproval.jsx

@@ -16,9 +16,13 @@ export default class UasApproval extends Component {
 
   componentDidMount () {
     document.title = 'U审批'
+    let master = this.props.match.params.master
+    let pageType = this.props.match.params.type
+
     clearHomeState()()
 
-    this.props.history.push('/approvalHome')
+    this.props.history.push(
+      '/approvalHome/' + master + (pageType ? ('/' + pageType) : ''))
   }
 
   componentWillUnmount () {

+ 6 - 3
uas-office-web/wxuasapproval/src/pages/approval/approval.css

@@ -159,10 +159,13 @@
 }
 
 .newMenu-group-layout {
-    padding: 10px 8px 6px;
+    padding: 6px 6px 2px 6px;
+    margin: 6px;
     display: flex;
     flex-direction: row;
     align-items: center;
+    /*background: white;*/
+    /*border-radius: 8px;*/
 }
 
 .newMenu-group-icon {
@@ -193,8 +196,8 @@
 }
 
 .newMenu-func-icon {
-    width: 36px;
-    height: 36px;
+    width: 30px;
+    height: 30px;
 }
 
 .newMenu-func-text {

Tiedoston diff-näkymää rajattu, sillä se on liian suuri
+ 1136 - 580
uas-office-web/wxuasapproval/yarn.lock


Kaikkia tiedostoja ei voida näyttää, sillä liian monta tiedostoa muuttui tässä diffissä