cyy 2 лет назад
Родитель
Сommit
c7db588316

+ 32 - 18
.env.development

@@ -4,10 +4,11 @@ ENV = 'development'
 
 # ========base api======================
 VUE_APP_BASE_API = 'http://dev1.local/ibps'
-VUE_APP_BASE_WEBSOCKET_API = 'ws://127.0.0.1:5888'
+VUE_APP_BASE_WEBSOCKET_API = ${VUE_APP_BASE_API}
+VUE_APP_BASE_GATEWAY_API = http://127.0.0.1:5100/ibps
 
 # ========report api======================
-VUE_APP_BASE_REPORT_API = 'http://dev1.local:5100/raqsoft'
+VUE_APP_BASE_REPORT_API = 'http://dev1.local/raqsoft'
 
 # ---API的域名  二级域名之间用“,”分割,注意是英文状态下的逗号
 VUE_APP_API_DOMAIN_NAME=a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12,a13,a14,a15,a16,a17,a18,a19,a20
@@ -19,21 +20,34 @@ VUE_APP_API_DOMAIN_NAME=a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12,a13,a14,a15,a16,a
 # 按 index 字段排序
 # index 最小的地址被默认激活
 # singleApp  是否单体应用 0:否,1:是
+# ---开发环境
+VUE_APP_BASE_API_0_0_DEV = ${VUE_APP_BASE_API}
+# ---本地环境1
+VUE_APP_BASE_API_1_0_134WY = http://192.168.2.134:5100/ibps
+# ---本地环境2
+VUE_APP_BASE_API_2_0_247GZL = http://192.168.2.247:5100/ibps
+# ---演示环境
+VUE_APP_BASE_API_2_0_7LY = http://192.168.2.7:5100/ibps
 # ---测试环境
-VUE_APP_BASE_API_0_0_TEST=http://dev1.local/ibps
-# ---后端开发环境
-VUE_APP_BASE_API_1_0_DEV=http://127.0.0.1:5100/ibps
-# ---前端开发环境
-VUE_APP_BASE_API_2_0_FRONT=http://dev1.local/ibps
-# ---集成环境
-VUE_APP_BASE_API_3_0_STAGING=http://127.0.0.1:5100/ibps
-# ---生产环境
-VUE_APP_BASE_API_4_0_PRODUCTION=http://cloud.bpmhome.cn:15100/ibps
-# ---mock环境
-VUE_APP_BASE_API_5_0_MOCK=http://yapi.bpmhome.cn:3000/mock/14/ibps
-# ---本地环境
-VUE_APP_BASE_API_6_0_110=http://127.0.0.1:5100/ibps
-# ---多域名环境
-VUE_APP_BASE_API_7_0_DOMAIN=http://{DOMAIN}.bpmhome0.cn:15100/ibps
+VUE_APP_BASE_API_2_0_TEST = http://test1.local/ibps
+# ---演示环境
+VUE_APP_BASE_API_2_0_DEMO = https://www.szjyxt.com/ibps
 
-VUE_APP_BASE_API_8_1_gzl=http://192.168.2.247:5100/ibps 
+# # ---测试环境
+# VUE_APP_BASE_API_0_0_TEST=http://dev1.local/ibps
+# # ---后端开发环境
+# VUE_APP_BASE_API_1_0_DEV=http://192.168.2.7:5100/ibps 
+# # ---前端开发环境
+# VUE_APP_BASE_API_2_0_FRONT=http://dev1.local/ibps
+# # ---集成环境
+# VUE_APP_BASE_API_3_0_STAGING=http://127.0.0.1:5100/ibps
+# # ---生产环境
+# VUE_APP_BASE_API_4_0_PRODUCTION=http://cloud.bpmhome.cn:15100/ibps
+# # ---mock环境
+# VUE_APP_BASE_API_5_0_MOCK=http://yapi.bpmhome.cn:3000/mock/14/ibps
+# # ---本地环境
+# VUE_APP_BASE_API_6_0_110=http://127.0.0.1:5100/ibps
+# # ---多域名环境
+# VUE_APP_BASE_API_7_0_DOMAIN=http://{DOMAIN}.bpmhome0.cn:15100/ibps
+
+# VUE_APP_BASE_API_8_1_gzl=http://192.168.2.247:5100/ibps 

+ 17 - 2
.vscode/settings.json

@@ -4,7 +4,8 @@
   //配置eslint
   "files.autoSave":"off",
   "editor.codeActionsOnSave": {
-    "source.fixAll.eslint": true
+    "source.fixAll": "explicit",
+    "source.fixAll.eslint": "explicit"
   },
   "eslint.run": "onSave",
    // 控制是否将打开的编辑器显示为预览。预览编辑器将会重用至其被保留(例如,通过双击或编辑),且其字体样式将为斜体。
@@ -23,5 +24,19 @@
     "source.fixAll": true,
     "source.fixAll.eslint": true
   },
-  "editor.formatOnSave": true
+  "editor.formatOnSave": true,
+  //  "rvest.vs-code-prettier-eslint"
+  "editor.defaultFormatter":{
+    "editor.defaultFormatter": "rvest.vs-code-prettier-eslint",
+    "editor.formatOnType": false, // required
+    "editor.formatOnPaste": true, // optional
+    "editor.formatOnSave": false, // optional
+    "editor.formatOnSaveMode": "file", // required to format on save
+    "files.autoSave": "onFocusChange", // optional but recommended
+    "vs-code-prettier-eslint.prettierLast": false // set as "true" to run 'prettier' last not first
+  },
+  "vetur.format.defaultFormatter.js": "prettier-eslint",
+  "[javascript]": {
+    "editor.defaultFormatter": "rvest.vs-code-prettier-eslint"
+  }
 }

+ 88 - 42
package-lock.json

@@ -2278,17 +2278,6 @@
             "unique-filename": "^1.1.1"
           }
         },
-        "chalk": {
-          "version": "4.1.2",
-          "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz",
-          "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==",
-          "dev": true,
-          "optional": true,
-          "requires": {
-            "ansi-styles": "^4.1.0",
-            "supports-color": "^7.1.0"
-          }
-        },
         "cliui": {
           "version": "6.0.0",
           "resolved": "https://registry.npmjs.org/cliui/-/cliui-6.0.0.tgz",
@@ -2361,25 +2350,6 @@
             "supports-color": "^7.0.0"
           }
         },
-        "json5": {
-          "version": "2.2.3",
-          "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz",
-          "integrity": "sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==",
-          "dev": true,
-          "optional": true
-        },
-        "loader-utils": {
-          "version": "2.0.4",
-          "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-2.0.4.tgz",
-          "integrity": "sha512-xXqpXoINfFhgua9xiqD8fPFHgkoq1mmmpE92WlDbm9rNRd/EbRb+Gqf908T2DMfuHjjJlksiK2RbHVOdD/MqSw==",
-          "dev": true,
-          "optional": true,
-          "requires": {
-            "big.js": "^5.2.2",
-            "emojis-list": "^3.0.0",
-            "json5": "^2.1.2"
-          }
-        },
         "locate-path": {
           "version": "5.0.0",
           "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz",
@@ -2481,18 +2451,6 @@
             "webpack-sources": "^1.4.3"
           }
         },
-        "vue-loader-v16": {
-          "version": "npm:vue-loader@16.8.3",
-          "resolved": "https://registry.npmjs.org/vue-loader/-/vue-loader-16.8.3.tgz",
-          "integrity": "sha512-7vKN45IxsKxe5GcVCbc2qFU5aWzyiLrYJyUuMz4BQLKctCj/fmCa0w6fGiiQ2cLFetNcek1ppGJQDCup0c1hpA==",
-          "dev": true,
-          "optional": true,
-          "requires": {
-            "chalk": "^4.1.0",
-            "hash-sum": "^2.0.0",
-            "loader-utils": "^2.0.0"
-          }
-        },
         "wrap-ansi": {
           "version": "6.2.0",
           "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-6.2.0.tgz",
@@ -15636,6 +15594,94 @@
         }
       }
     },
+    "vue-loader-v16": {
+      "version": "npm:vue-loader@16.8.3",
+      "resolved": "https://registry.npmjs.org/vue-loader/-/vue-loader-16.8.3.tgz",
+      "integrity": "sha512-7vKN45IxsKxe5GcVCbc2qFU5aWzyiLrYJyUuMz4BQLKctCj/fmCa0w6fGiiQ2cLFetNcek1ppGJQDCup0c1hpA==",
+      "dev": true,
+      "optional": true,
+      "requires": {
+        "chalk": "^4.1.0",
+        "hash-sum": "^2.0.0",
+        "loader-utils": "^2.0.0"
+      },
+      "dependencies": {
+        "ansi-styles": {
+          "version": "4.3.0",
+          "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz",
+          "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==",
+          "dev": true,
+          "optional": true,
+          "requires": {
+            "color-convert": "^2.0.1"
+          }
+        },
+        "chalk": {
+          "version": "4.1.2",
+          "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz",
+          "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==",
+          "dev": true,
+          "optional": true,
+          "requires": {
+            "ansi-styles": "^4.1.0",
+            "supports-color": "^7.1.0"
+          }
+        },
+        "color-convert": {
+          "version": "2.0.1",
+          "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
+          "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
+          "dev": true,
+          "optional": true,
+          "requires": {
+            "color-name": "~1.1.4"
+          }
+        },
+        "color-name": {
+          "version": "1.1.4",
+          "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz",
+          "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==",
+          "dev": true,
+          "optional": true
+        },
+        "has-flag": {
+          "version": "4.0.0",
+          "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz",
+          "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==",
+          "dev": true,
+          "optional": true
+        },
+        "json5": {
+          "version": "2.2.3",
+          "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz",
+          "integrity": "sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==",
+          "dev": true,
+          "optional": true
+        },
+        "loader-utils": {
+          "version": "2.0.4",
+          "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-2.0.4.tgz",
+          "integrity": "sha512-xXqpXoINfFhgua9xiqD8fPFHgkoq1mmmpE92WlDbm9rNRd/EbRb+Gqf908T2DMfuHjjJlksiK2RbHVOdD/MqSw==",
+          "dev": true,
+          "optional": true,
+          "requires": {
+            "big.js": "^5.2.2",
+            "emojis-list": "^3.0.0",
+            "json5": "^2.1.2"
+          }
+        },
+        "supports-color": {
+          "version": "7.2.0",
+          "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz",
+          "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==",
+          "dev": true,
+          "optional": true,
+          "requires": {
+            "has-flag": "^4.0.0"
+          }
+        }
+      }
+    },
     "vue-qr": {
       "version": "2.3.0",
       "resolved": "https://registry.npmjs.org/vue-qr/-/vue-qr-2.3.0.tgz",

+ 67 - 59
src/views/platform/bpmn/shiftTransferApplication/staForm.vue

@@ -3,7 +3,7 @@
         <div style="height:5%">
             <van-sticky>
                 <van-nav-bar
-                    :title="'调班 ' + (typeValue == '4'? '修改':typeValue == '3'? '申请': typeValue == '2'? '审批': typeValue == '1'? '详情': '')"
+                    :title="'调班 ' + (typeValue == '5'? '审核':typeValue == '4'? '修改':typeValue == '3'? '申请': typeValue == '2'? '审批': typeValue == '1'? '详情': '')"
                     :right-text="typeValue == '4' ? '退回原因' : ''"
                     @click-left="closePop()"
                     @click-right="getBack()"
@@ -45,10 +45,13 @@
                     :readonly="typeValue != 3 && typeValue != 4 ? true : false"
                 />
             </van-form>
-            <div v-if="Object.keys(showDateArr).length>0&&showDateArr[userInfo.user.id].dateKeyArr.length>0&&tabChildShow" class="tabChildClass">
-                <div class="tabAdd"><van-button plain hairline round size="mini" icon="plus" type="primary" @click="addEvent">添加</van-button></div>
+            <div v-if="(typeValue==1||typeValue==2||typeValue == '5')||(typeof showDateArr == 'object'&&Object.keys(showDateArr).length>0&&showDateArr[userInfo.user.id].dateKeyArr.length>0&&tabChildShow)" class="tabChildClass">
+                <div v-if="typeValue == 3 || typeValue == 4 " class="tabAdd"><van-button plain hairline round size="mini" icon="plus" type="primary" @click="addEvent">添加</van-button></div>
                 <van-collapse v-if="tabChildActiveArr.length>0" v-model="tabChildActive">
-                    <van-collapse-item v-for="(item, index) in tabChildActiveArr" :key="index" :title="'序号'+ (index+1)" :name="index+''" >
+                    <van-collapse-item v-for="(item, index) in tabChildActiveArr" :key="index" :name="index+''" >
+                      <template #title>
+                        <div>{{'序号'+ (index+1)}} <van-icon name="question-o" /></div>
+                      </template>
                         <van-field
                             required
                             label="调班日期:"
@@ -58,7 +61,7 @@
                             readonly
                             @click="typeValue == 3 || typeValue == 4 ? tbbrrqShow = true:''"
                         />
-                        <van-popup v-if="Object.keys(showDateArr[userInfo.user.id]).length>0 && (typeValue == 3 || typeValue == 4 )" v-model="tbbrrqShow" position="bottom">
+                        <van-popup v-if="(typeValue == 3 || typeValue == 4 )&&Object.keys(showDateArr[userInfo.user.id]).length>0" v-model="tbbrrqShow" position="bottom">
                             <van-picker
                                 :ref="'tbrq'+index"
                                 show-toolbar
@@ -190,6 +193,7 @@
 import random from '@/mixins/random'
 import bpmnStatus from '@/mixins/bpmnStatus'
 import IbpsUploader from '@/business/platform/file/uploader'
+import { saveAdjustment } from '@/api/platform/bpmn/bpmCommonStatment'
 
 import {
   getNextIdByAlias,
@@ -438,6 +442,7 @@ export default {
     },
     // 获取排班人员
     getAllPer(val) {
+      // console.log(val)
       const data = Object.keys(val)
       const returnArr = []
       data.forEach((item, i) => {
@@ -504,21 +509,28 @@ export default {
             bianZhiShiJian: data[0].bian_zhi_shi_jian,
             gouTongRiQi: data[0].gou_tong_ri_qi_
           }
+          this.tabChildActive = []
           data.forEach((item, i) => {
+            const midI = this.userList.findIndex(t => t.userId === item.party_)
+            let mid = ''
+            if (midI !== -1) {
+              mid = this.userList[midI].userName
+            }
+            this.tabChildActive.push(i + '')
             this.tabChildActiveArr.push(
               {
                 tiaobanBenRenRiQi: item.before_date_,
                 tiaobanBenRenBanCi: item.before_adjust_,
-                tiaobanMuBiaoRenYuan: '',
-                tiaobanMuBiaoRenYuanId: '',
+                tiaobanMuBiaoRenYuan: mid,
+                tiaobanMuBiaoRenYuanId: item.party_,
                 tiaobanMuBiaoRiQi: item.after_date_,
                 tiaobanMuBiaoBanCi: item.after_adjust_
               }
             )
           })
-          if (this.typeValue === '2' || this.typeValue === '4') {
-            this.getTaskId(data.id_)
-          }
+          // if (this.typeValue === '2' || this.typeValue === '4') {
+          //   this.getTaskId(data.id_)
+          // }
         }
       })
     },
@@ -531,38 +543,41 @@ export default {
       //     tmpArray.push(item.id)
       //   })
 
-      const info = this.$store.getters.userInfo
-      const useId = info.user.id
-      const detpId = info.employee.positions
+      // const info = this.$store.getters.userInfo
+      const { second = '' } = this.$store.getters.level || {}
+      // const useId = info.user.id
+      // const detpId = info.employee.positions
+      const midArr = []
+      let midStr = ''
+      this.tabChildActiveArr.forEach((item, i) => {
+        const str = `${this.userInfo.user.name}${item.tiaobanBenRenRiQi}班次【${item.tiaobanBenRenBanCi}】与${item.tiaobanMuBiaoRenYuan}${item.tiaobanMuBiaoRiQi}班次【${item.tiaobanMuBiaoBanCi}】调换`
+        if (i === 0) {
+          midStr = str
+        } else {
+          midStr = midStr + ';' + str
+        }
+
+        midArr.push({
+          afterAdjust: item.tiaobanMuBiaoBanCi,
+          afterDate: item.tiaobanMuBiaoRiQi,
+          beforeAdjust: item.tiaobanBenRenBanCi,
+          beforeDate: item.tiaobanBenRenRiQi,
+          party: item.tiaobanMuBiaoRenYuanId,
+          status: '待审核'
+        })
+      })
+      console.log(midArr)
       const para = {
-        parameters: [
-          {
-            key: 'defId',
-            value: '1056942070293331968'
-          },
-          {
-            key: 'version',
-            value: '0'
-          },
-          {
-            key: 'data',
-            value: ''
-          }
-        ]
+        adjustmentDetailPoList: midArr,
+        diDian: second,
+        overview: midStr,
+        reason: this.form.tiaoBanYuanYin,
+        scheduleId: this.form.paiBanId,
+        status: '待审核'
       }
-      // this.form.fuJian = tmpArray.join(',')
-      this.form.bianZhiRen = useId
-      this.form.bianZhiShiJian = this.$methCommon.time(16)
-      this.form.bianZhiBuMen = this.mainPosition === null ? detpId : this.mainPosition.id
-      // this.form.bianZhiBuMen = detpId
-
-      this.form.shiFouGuoShen = '已编制'
-      this.form.diDian = this.level.second
-      //   this.form.xuanZeKeHu = useId
-      para.parameters[2].value = JSON.stringify(this.form)
       const that = this
 
-      findFormJsonByBo(para)
+      saveAdjustment(para)
         .then(res => {
           if (res.state === 200) {
             that.$toast.success('提交成功!')
@@ -657,20 +672,12 @@ export default {
     },
     getYanZheng() {
       const suList = [
-        // 'keHuLianXiRen',
-        // 'keHuDanWeiMin',
-        // 'lianXiDianHua',
-        // 'yongHuYouXiang',
         'tiaoBanYuanYin'
-        // 'gouTongNeiRong'
+        // 'paiBan'
       ]
       const suListName = [
-        '用户姓名',
-        '用户单位',
-        '联系电话',
-        '用户邮箱',
-        '沟通事项',
-        '沟通内容'
+        '调班原因'
+        // '排班'
       ]
       for (const item in suList) {
         if (!this.form[suList[item]]) {
@@ -694,22 +701,23 @@ export default {
         }
       }
 
-      //   if (!this.form.keHu) {
-      //     this.$toast({
-      //       duration: 2000, // 持续展示 toast
-      //       message: '请填写签名'
-      //     })
-      //     return false
-      //   }
-
       if (this.form.paiBan === '') {
         this.$toast({
           duration: 2000, // 持续展示 toast
-          message: '请填写其他类型'
+          message: '请选择排班'
+        })
+        return false
+      }
+      if (this.tabChildActiveArr.length <= 0) {
+        return false
+      }
+      if (this.tabChildActiveArr.some(i => i.tiaobanBenRenRiQ === '' || i.tiaobanBenRenBanCi === '' || i.tiaobanMuBiaoRenYuan === '' || i.tiaobanMuBiaoRenYuanId === '' || i.tiaobanMuBiaoRiQi === '' || i.tiaobanMuBiaoBanCi === '')) {
+        this.$toast({
+          duration: 2000, // 持续展示 toast
+          message: '请填写具体调班信息'
         })
         return false
       }
-
       return true
     },
     // 根据委托单id查询 taskId

+ 4 - 3
src/views/platform/bpmn/shiftTransferApplication/staList.vue

@@ -48,8 +48,9 @@
                         </div>
                         <div style=" width: 100%; text-align: right; padding-top: 5rpx;padding-bottom: 0rpx;">
                             <van-button v-if="active==='我发起的'" type="success" size="mini" class="u-m-r-15 btn-sty" @click="getGo(item.id_,'1')">详情</van-button>
-                            <van-button v-if="active==='我发起的'&& item.shi_fou_guo_shen_ !== '已完成'" type="warning" size="mini" class="btn-sty" @click="getGo(item.id_,'2')">取消</van-button>
-                            <van-button v-if="active==='待我审核'" type="warning" size="mini" class="btn-back-color btn-sty" @click="getGo(item.id_,'2')">审批</van-button>
+                            <van-button v-if="active==='我发起的'&& item.status !== '已完成'" type="warning" size="mini" class="btn-sty" @click="getGo(item.id_,'2')">取消</van-button>
+                            <van-button v-if="active==='待我处理'&& item.status == '待审核'" type="warning" size="mini" class="btn-back-color btn-sty" @click="getGo(item.id_,'5')">审核</van-button>
+                            <van-button v-if="active==='待我处理'&& item.status == '待审批'" type="warning" size="mini" class="btn-back-color btn-sty" @click="getGo(item.id_,'2')">审批</van-button>
                         </div>
                     </van-cell>
                 </van-checkbox-group>
@@ -109,7 +110,7 @@ export default {
     return {
       useId,
       active: '我发起的',
-      activeArr: ['待我审核', '我发起的'],
+      activeArr: ['待我处理', '我发起的'],
       moreSearchPopup: false,
       stateActive: false,
       searchForms: {