From 663dbe4ddca1fa409e6acbc1f77d924c161b0c39 Mon Sep 17 00:00:00 2001
From: jiangping <jp@doumee.com>
Date: 星期一, 09 六月 2025 17:04:50 +0800
Subject: [PATCH] 提交一把订单

---
 company/src/components/enterprise/additionSubtractionApplication.vue |  242 ++++++++++++++++++++++++++++++++----------------
 1 files changed, 160 insertions(+), 82 deletions(-)

diff --git a/company/src/components/enterprise/additionSubtractionApplication.vue b/company/src/components/enterprise/additionSubtractionApplication.vue
index 647d7a6..af434aa 100644
--- a/company/src/components/enterprise/additionSubtractionApplication.vue
+++ b/company/src/components/enterprise/additionSubtractionApplication.vue
@@ -12,6 +12,9 @@
                 <el-form-item label="淇濋櫓鏂规">
                     <span>{{form.solutionsName}}</span>
                 </el-form-item>
+                <el-form-item label=" ">
+                    <span style="color: #F95601; font-size: 14px;">鎵规敼鎻愮ず锛氾紙娆℃棩鐢熸晥鎶曚繚璇蜂簬17:30鍓嶆彁浜わ紝瓒呮椂鎻愪氦浠ヤ繚闄╁崟涓哄噯锛�</span>
+                </el-form-item>
 <!--                <el-form-item label="鐢宠鏃ユ湡" prop="applyStartTime">
                     <div style="display: flex; flex-direction: column;">
                         <el-date-picker
@@ -65,25 +68,35 @@
                     align="center"
                     label="淇濋櫓鐢熸晥姝㈡湡">
                 </el-table-column>
-                <el-table-column
-                    prop="insureNum"
-                    align="center"
-                    label="鎶曚繚浜烘暟">
-                </el-table-column>
-                <el-table-column
-                    prop="guaranteeNum"
-                    align="center"
-                    label="鍦ㄤ繚浜烘暟">
+<!--                <el-table-column-->
+<!--                    prop="insureNum"-->
+<!--                    align="center"-->
+<!--                    label="鎶曚繚浜烘暟">-->
+<!--                </el-table-column>-->
+<!--                <el-table-column-->
+<!--                    prop="guaranteeNum"-->
+<!--                    align="center"-->
+<!--                    label="鍦ㄤ繚浜烘暟">-->
+<!--                </el-table-column>-->
+                <el-table-column prop="guaranteeNum"  align="center" label="褰撳墠鍦ㄤ繚浜烘暟" width="120">
+                    <template slot-scope="{row}">
+                        <span>{{(row.guaranteeNum||0)}} 浜�</span>
+                    </template>
                 </el-table-column>
                 <el-table-column
                     prop="serviceDays"
                     align="center"
                     label="淇濆崟鏃堕暱锛堝ぉ锛�">
                 </el-table-column>
-                <el-table-column
-                    prop="currentFee"
-                    align="center"
-                    label="宸蹭骇鐢熻垂鐢�(鍏�)">
+<!--                <el-table-column-->
+<!--                    prop="currentFee"-->
+<!--                    align="center"-->
+<!--                    label="宸蹭骇鐢熻垂鐢�(鍏�)">-->
+<!--                </el-table-column>-->
+                <el-table-column prop="fee" label="鎵规敼璐圭敤鍚堣"  align="center" width="120">
+                    <template slot-scope="{row}">
+                        <span>{{row.changeMoney+' 鍏�'}}</span>
+                    </template>
                 </el-table-column>
                 <el-table-column
                     prop="fee"
@@ -106,10 +119,13 @@
                 <el-button type="danger" @click="deleItem">鍒犻櫎</el-button>
             </div>
             <div class="btns_item" v-if="activeName !== '1'">
-                <el-button type="primary" @click="sele">閫夊彇娲鹃仯鍗曚綅</el-button>
+<!--                <el-button type="primary" @click="sele">閫夊彇娲鹃仯鍗曚綅</el-button>-->
+                <el-button type="primary" @click="sele(1)" v-if="item && item.hasDispatchUnit !== 1">閫夊彇娲鹃仯鍗曚綅</el-button>
+                <el-button type="primary" @click="sele(2)" v-if="item && item.hasDispatchUnit === 1">閫夊彇宸ョ</el-button>
             </div>
         </div>
         <el-table
+            v-if="item"
             :data="activeName === '0' ? form.addDetailList : form.delDetailList"
             border
             show-summary
@@ -142,6 +158,7 @@
                 </template>
             </el-table-column>
             <el-table-column
+                v-if="item && item.hasDispatchUnit !== 1"
                 prop="duName"
                 label="娲鹃仯鍗曚綅">
             </el-table-column>
@@ -187,7 +204,7 @@
         <!--    璇︽儏    -->
         <ApplyChangeDetails1 ref="ApplyChangeDetails1" @success="success" />
         <!-- 鍔犲噺淇濊鎯� -->
-        <OperaApplyChangeDetailWindow ref="OperaApplyChangeDetailWindow" />
+<!--        <OperaApplyChangeDetailWindow ref="OperaApplyChangeDetailWindow" />-->
     </GlobalWindow>
 </template>
 
@@ -199,16 +216,24 @@
 import importEmployees from '@/components/enterprise/importEmployees'
 import confirmJobType from '@/components/enterprise/confirmJobType'
 import ApplyChangeDetails1 from '@/components/business/ApplyChangeDetails1'
-import OperaApplyChangeDetailWindow from '@/components/business/OperaApplyChangeDetailWindow'
+// import OperaApplyChangeDetailWindow from '@/components/business/OperaApplyChangeDetailWindow'
 import { all } from '@/api/business/solutions'
-import { getDetail } from '@/api/business/insuranceApply'
+import { getDetail, getApplyPower } from '@/api/business/insuranceApply'
 import { create, getChangeCountCyclePriceVO } from '@/api/business/applyChange'
 import { getDate, compareDates, getTomorrow } from '@/utils/util'
 import { mapState } from 'vuex'
 export default {
   name: 'additionSubtractionApplication',
   extends: BaseOpera,
-  components: { GlobalWindow, selectEmployees, OperaApplyChangeDetailWindow, addEmployee, importEmployees, confirmJobType, ApplyChangeDetails1 },
+  components: {
+    GlobalWindow,
+    selectEmployees,
+    // OperaApplyChangeDetailWindow,
+    addEmployee,
+    importEmployees,
+    confirmJobType,
+    ApplyChangeDetails1
+  },
   data () {
     return {
       form: {
@@ -220,6 +245,8 @@
         addDetailList: [],
         delDetailList: []
       },
+      addTrue: '',
+      delTrue: '',
       tempMemberIndex: -1,
       activeName: '0',
       pickerOptions: {},
@@ -267,6 +294,7 @@
           this.form.id = target.id
           this.getDetails()
           this.changeApplyStartTime(null)
+          this.getApplyPowerData()
         })
       } else {
         this.$nextTick(() => {
@@ -277,6 +305,14 @@
       this.getCompany()
       this.visible = true
       // this.updatePickerOptions()
+    },
+    // 鑾峰彇鏄惁鑳藉姞鍑忎繚
+    getApplyPowerData() {
+      getApplyPower({ applyId: this.form.id })
+        .then(res => {
+          this.addTrue = res.addTrue
+          this.delTrue = res.delTrue
+        })
     },
     changeApplyStartTime (e) {
       getChangeCountCyclePriceVO({
@@ -302,14 +338,6 @@
     },
     // 鑾峰彇鎶曚繚璇︽儏
     getDetails () {
-      // findList({ applyId: this.form.id })
-      //     .then(res => {
-      //         res.forEach(item => {
-      //             item.idCard = item.idcardNo
-      //             item.fee = ''
-      //         })
-      //         this.tableData = res
-      //     })
       getDetail(this.form.id)
         .then(res => {
           this.list.push(res)
@@ -346,7 +374,20 @@
       columns.forEach((column, index) => {
         if (index === 0) {
           sums[index] = '鎬讳环'
-        } else if (index === 7) {
+        } else if (this.item.hasDispatchUnit === 1 && index === 6) {
+          let total = 0
+          if (this.activeName === '0') {
+            this.form.addDetailList.forEach(item => {
+              total += item.fee || 0
+            })
+            sums[index] = (total || 0).toFixed(2)
+          } else {
+            this.form.delDetailList.forEach(item => {
+              total += item.reducePrice
+            })
+            sums[index] = (total || 0).toFixed(2)
+          }
+        } else if (this.item.hasDispatchUnit !== 1 && index === 7) {
           let total = 0
           if (this.activeName === '0') {
             this.form.addDetailList.forEach(item => {
@@ -364,6 +405,11 @@
       return sums
     },
     deleItem () {
+      if (this.activeName === '0') {
+        if (this.addTrue !== 0) return this.$message.warning('褰撳墠淇濆崟鏆備笉鏀寔鎿嶄綔')
+      } else {
+        if (this.delTrue !== 0) return this.$message.warning('褰撳墠淇濆崟鏆備笉鏀寔鎿嶄綔')
+      }
       if (this.seleData.length === 0) {
         this.$message.warning('鑷冲皯閫夋嫨涓�椤瑰唴瀹�')
         return
@@ -407,7 +453,8 @@
       }).then(res => {
         this.visible = false
         this.$tip.apiSuccess('鎿嶄綔鎴愬姛')
-        this.$refs.OperaApplyChangeDetailWindow.open('鍔犲噺淇濊鎯�', { applyId: this.form.id, id: res })
+        // this.$refs.OperaApplyChangeDetailWindow.open('鍔犲噺淇濊鎯�', { applyId: this.form.id, id: res })
+        //   { applyId: this.form.id, id: res }
         this.$emit('success')
       }).catch(e => {
         this.$tip.apiFailed(e)
@@ -416,66 +463,83 @@
       })
     },
     confirm () {
+      if (this.addTrue !== 0 && this.delTrue !== 0) return this.$message.warning('褰撳墠淇濆崟鏆備笉鏀寔鎿嶄綔')
       this.$refs.form.validate((valid) => {
         if (valid) {
           // if (this.form.addDetailList.length === 0) {
           //     this.$message.warning('鑷冲皯娣诲姞涓�椤瑰憳宸�')
           //     return
           // }
-          for (let i = 0; i < this.form.addDetailList.length; i++) {
-            if (!this.form.addDetailList[i].worktypeId || !this.form.addDetailList[i].duId) {
-              this.$message.warning('璇峰畬鍠勫姞淇濇淳閬e崟浣嶅拰宸ョ淇℃伅')
-              return
+          if (this.item.hasDispatchUnit !== 1) {
+            for (let i = 0; i < this.form.addDetailList.length; i++) {
+              if (!this.form.addDetailList[i].worktypeId || !this.form.addDetailList[i].duId) {
+                this.$message.warning('璇峰畬鍠勫姞淇濇淳閬e崟浣嶅拰宸ョ淇℃伅')
+                return
+              }
+            }
+            for (let i = 0; i < this.form.delDetailList.length; i++) {
+              if (!this.form.delDetailList[i].worktypeId || !this.form.delDetailList[i].duId) {
+                this.$message.warning('璇峰畬鍠勫噺淇濇淳閬e崟浣嶅拰宸ョ淇℃伅')
+                return
+              }
+            }
+          } else {
+            for (let i = 0; i < this.form.addDetailList.length; i++) {
+              if (!this.form.addDetailList[i].worktypeId) {
+                this.$message.warning('璇峰畬鍠勫姞淇濆伐绉嶄俊鎭�')
+                return
+              }
+            }
+            for (let i = 0; i < this.form.delDetailList.length; i++) {
+              if (!this.form.delDetailList[i].worktypeId) {
+                this.$message.warning('璇峰畬鍠勫噺淇濆伐绉嶄俊鎭�')
+                return
+              }
             }
           }
-          for (let i = 0; i < this.form.delDetailList.length; i++) {
-            if (!this.form.delDetailList[i].worktypeId || !this.form.delDetailList[i].duId) {
-              this.$message.warning('璇峰畬鍠勫噺淇濇淳閬e崟浣嶅拰宸ョ淇℃伅')
-              return
-            }
+          let arr = this.company.filter(item => item.id === this.form.solutionId)
+          const endTime = Number(arr[0].correctWarnTime.split(':')[0] + arr[0].correctWarnTime.split(':')[1])
+          const now = new Date();
+          const hours = now.getHours();
+          const minutes = now.getMinutes();
+          const date = `${hours.toString().padStart(2, '0')}:${minutes.toString().padStart(2, '0')}`;
+          const startTime = Number(date.split(':')[0] + date.split(':')[1])
+          if (startTime > endTime) {
+            this.$confirm('鎮ㄥ凡瓒呰繃褰撳ぉ鏈�鏅氭壒鏀规椂闂达紝淇濆崟瀹為檯鐢熸晥鏃堕棿浠ヤ繚闄╁叕鍙稿鏍镐负鍑嗭紒', '鎻愮ず', {
+              confirmButtonText: '纭畾',
+              cancelButtonText: '鍙栨秷',
+              type: 'warning'
+            }).then(() => {
+              this.$refs.ApplyChangeDetails1.open('鍔犲噺淇濊鍗�', this.form.addDetailList, this.form.delDetailList, {
+                companyName: this.item.companyName,
+                solutionsName: this.form.solutionsName,
+                code: this.list[0].code,
+                startTime: this.list[0].startTime,
+                endTime: this.list[0].endTime,
+                applyStartTime: this.form.applyStartTime
+              })
+            }).catch(() => {
+
+            });
+          } else {
+            this.$refs.ApplyChangeDetails1.open('鍔犲噺淇濊鍗�', this.form.addDetailList, this.form.delDetailList, {
+              companyName: this.item.companyName,
+              solutionsName: this.form.solutionsName,
+              code: this.list[0].code,
+              startTime: this.list[0].startTime,
+              endTime: this.list[0].endTime,
+              applyStartTime: this.form.applyStartTime
+            })
           }
-
-          this.$refs.ApplyChangeDetails1.open('鍔犲噺淇濊鍗�', this.form.addDetailList, this.form.delDetailList, {
-            companyName: this.userInfo.company.name,
-            solutionsName: this.form.solutionsName,
-            code: this.list[0].code,
-            startTime: this.list[0].startTime,
-            endTime: this.list[0].endTime,
-            applyStartTime: this.form.applyStartTime
-          })
-
-          // return
-
-          // this.form.addDetailList.forEach(item => {
-          //     item.idcardNo = item.idCard
-          // })
-          // this.form.delDetailList.forEach(item => {
-          //     item.idcardNo = item.idCard
-          // })
-          // // let arr = JSON.parse(JSON.stringify(this.form.addDetailList))
-          // // arr.forEach(item => {
-          // //     item.idcardNo = item.idCard
-          // // })
-          // this.isWorking = true
-          // create({
-          //     applyId: this.form.id,
-          //     addDetailList: this.form.addDetailList,
-          //     delDetailList: this.form.delDetailList,
-          //     validTime: this.form.applyStartTime,
-          //     type: 0
-          // }).then(() => {
-          //     this.visible = false
-          //     this.$tip.apiSuccess('鎿嶄綔鎴愬姛')
-          //     this.$emit('success')
-          // }).catch(e => {
-          //     this.$tip.apiFailed(e)
-          // }).finally(() => {
-          //     this.isWorking = false
-          // })
         }
       })
     },
     seleUser () {
+      if (this.activeName === '0') {
+        if (this.addTrue !== 0) return this.$message.warning('褰撳墠淇濆崟鏆備笉鏀寔鎿嶄綔')
+      } else {
+        if (this.delTrue !== 0) return this.$message.warning('褰撳墠淇濆崟鏆備笉鏀寔鎿嶄綔')
+      }
       if (!this.form.solutionId) {
         this.$message.warning('璇峰厛閫夋嫨淇濋櫓鏂规')
         return
@@ -491,26 +555,36 @@
       }
     },
     addUser () {
+      if (this.activeName === '0') {
+        if (this.addTrue !== 0) return this.$message.warning('褰撳墠淇濆崟鏆備笉鏀寔鎿嶄綔')
+      } else {
+        if (this.delTrue !== 0) return this.$message.warning('褰撳墠淇濆崟鏆備笉鏀寔鎿嶄綔')
+      }
       if (!this.form.solutionId) {
         this.$message.warning('璇峰厛閫夋嫨淇濋櫓鏂规')
         return
       }
       if (this.activeName === '0') {
-        this.$refs.addEmployee.open('娣诲姞鍔犱繚鍛樺伐', { arr: this.form.addDetailList, solutionId: this.item.newVersionSolutionId, price: this.price })
+        this.$refs.addEmployee.open('娣诲姞鍔犱繚鍛樺伐', { arr: this.form.addDetailList, solutionId: this.item.newVersionSolutionId, price: this.price, companyId: this.item.hasDispatchUnit === 1 ? '1' : '' })
       } else {
-        this.$refs.addEmployee.open('娣诲姞鍑忎繚鍛樺伐', { arr: this.form.delDetailList, solutionId: this.item.newVersionSolutionId, price: this.reducePrice })
+        this.$refs.addEmployee.open('娣诲姞鍑忎繚鍛樺伐', { arr: this.form.delDetailList, solutionId: this.item.newVersionSolutionId, price: this.reducePrice, companyId: this.item.hasDispatchUnit === 1 ? '1' : '' })
       }
     },
     uploadUser () {
+      if (this.activeName === '0') {
+        if (this.addTrue !== 0) return this.$message.warning('褰撳墠淇濆崟鏆備笉鏀寔鎿嶄綔')
+      } else {
+        if (this.delTrue !== 0) return this.$message.warning('褰撳墠淇濆崟鏆備笉鏀寔鎿嶄綔')
+      }
       if (!this.form.solutionId) {
         this.$message.warning('璇峰厛閫夋嫨淇濋櫓鏂规')
         return
       }
 
       if (this.activeName === '0') {
-        this.$refs.importEmployees.open('鍔犱繚鍛樺伐鍚嶅崟', { arr: this.form.addDetailList, type: 1, price: this.price, solutionId: this.item.newVersionSolutionId })
+        this.$refs.importEmployees.open('鍔犱繚鍛樺伐鍚嶅崟', { arr: this.form.addDetailList, type: 1, price: this.price, hasDispatchUnit: this.item.hasDispatchUnit, solutionId: this.item.newVersionSolutionId })
       } else {
-        this.$refs.importEmployees.open('鍑忎繚鍛樺伐鍚嶅崟', { arr: this.form.delDetailList, type: 0, price: this.reducePrice, solutionId: this.item.newVersionSolutionId, insuranceApplyId: this.form.id })
+        this.$refs.importEmployees.open('鍑忎繚鍛樺伐鍚嶅崟', { arr: this.form.delDetailList, type: 0, price: this.reducePrice, hasDispatchUnit: this.item.hasDispatchUnit, solutionId: this.item.newVersionSolutionId, insuranceApplyId: this.form.id })
       }
     },
     // 鍒囨崲鏂规
@@ -534,7 +608,6 @@
       }
     },
     getUser (obj) {
-      console.log(this.seleData)
       this.seleData.forEach(item => {
         if (this.activeName === '0') {
           this.form.addDetailList.forEach(row => {
@@ -560,7 +633,12 @@
       this.$refs.multipleTable.clearSelection()
     },
     // 閫夋嫨鍛樺伐
-    sele () {
+    sele (type) {
+      if (this.activeName === '0') {
+        if (this.addTrue !== 0) return this.$message.warning('褰撳墠淇濆崟鏆備笉鏀寔鎿嶄綔')
+      } else {
+        if (this.delTrue !== 0) return this.$message.warning('褰撳墠淇濆崟鏆備笉鏀寔鎿嶄綔')
+      }
       if (!this.form.solutionId) {
         this.$message.warning('璇烽�夋嫨淇濋櫓鏂规')
         return
@@ -569,7 +647,7 @@
         this.$message.warning('璇烽�夋嫨鍛樺伐')
         return
       }
-      this.$refs.confirmJobType.open('纭宸ョ', { solutionId: this.item.newVersionSolutionId })
+      this.$refs.confirmJobType.open('纭宸ョ', { solutionId: this.item.newVersionSolutionId, type })
     },
     // 鏌ヨ鍏ㄩ儴鏂规
     getCompany () {

--
Gitblit v1.9.3