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/OperaInsuranceApplyAddWindow.vue |  179 +++++++++++++++++++++++++++++++++++++++++------------------
 1 files changed, 123 insertions(+), 56 deletions(-)

diff --git a/company/src/components/enterprise/OperaInsuranceApplyAddWindow.vue b/company/src/components/enterprise/OperaInsuranceApplyAddWindow.vue
index 7e8a4ab..2b3f5b0 100644
--- a/company/src/components/enterprise/OperaInsuranceApplyAddWindow.vue
+++ b/company/src/components/enterprise/OperaInsuranceApplyAddWindow.vue
@@ -10,7 +10,7 @@
     <div class="list">
       <el-form :inline="true" ref="form" :model="form" :rules="rules" class="demo-form-inline">
         <el-form-item label="淇濋櫓鏂规" prop="solutionId">
-          <el-select v-model="form.solutionId" @change="changeSolution" placeholder="璇烽�夋嫨">
+          <el-select v-model="form.solutionId" filterable @change="changeSolution" placeholder="璇烽�夋嫨">
             <el-option
                 v-for="item in company"
                 :key="item.id"
@@ -83,7 +83,8 @@
         <div style="display: inline-block;margin-right: 30px;font-size: 14px"><span>鍚堣璐圭敤锛�</span>
         <span style="font-weight: bold;color: red">{{sumFee}}</span>鍏�
         </div>
-        <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>
 <!--    show-summary
@@ -124,6 +125,7 @@
         </template>
       </u-table-column>
       <u-table-column
+          v-if="item && item.hasDispatchUnit !== 1"
           prop="duName"
           label="娲鹃仯鍗曚綅">
       </u-table-column>
@@ -168,10 +170,10 @@
     <confirmJobType ref="confirmJobType" @result="getUser" />
     <!--    鏌ョ湅璇﹀崟    -->
     <detailsPolicyholder ref="detailsPolicyholder" @success="successEvent" />
-    <!--    鐩翠繚鎶曚繚璇︽儏    -->
+<!--    &lt;!&ndash;    鐩翠繚鎶曚繚璇︽儏    &ndash;&gt;
     <OperaInsuranceApplyDetails ref="OperaInsuranceApplyDetails" />
-    <!--    濮旀墭鎶曚繚璇︽儏    -->
-    <OperaWtbApplyShopWindow ref="OperaWtbApplyShopWindow" />
+    &lt;!&ndash;    濮旀墭鎶曚繚璇︽儏    &ndash;&gt;
+    <OperaWtbApplyShopWindow ref="OperaWtbApplyShopWindow" />-->
   </GlobalWindow>
 </template>
 
@@ -179,34 +181,37 @@
 import BaseOpera from '@/components/base/BaseOpera'
 import GlobalWindow from '@/components/common/GlobalWindow'
 import selectEmployees from '@/components/enterprise/selectEmployees'
-import addEmployee from '@/components/enterprise/addEmployee'
+import addEmployee from '@/components/enterprise/addEmployeeWithDu'
 import importEmployees from '@/components/enterprise/importEmployees'
 import confirmJobType from '@/components/enterprise/confirmJobType'
 import detailsPolicyholder from '@/components/business/detailsPolicyholder'
-import OperaInsuranceApplyDetails from '@/components/business/OperaInsuranceApplyWindow'
-import OperaWtbApplyShopWindow from '@/components/business/OperaWtbApplyShopWindow'
-import { all, getNewVersion } from '@/api/business/solutions'
+import { all, getNewVersion, getUseList } from '@/api/business/solutions'
 import { mapState } from 'vuex'
-import { create, getCountCyclePriceVO, getDetail, findList, updateData } from '@/api/business/insuranceApply'
+import { create, getCountCyclePriceVO, getDetail, findList } from '@/api/business/insuranceApply'
 import { UTable, UTableColumn } from 'umy-ui'
-// Vue.component(UTable.name, UTable);
-// Vue.component(UTableColumn.name, UTableColumn);
 export default {
   name: 'OperaInsuranceApplyAddWindowNew',
   extends: BaseOpera,
   components: {
-    GlobalWindow, selectEmployees, addEmployee, importEmployees, confirmJobType, detailsPolicyholder, UTable, UTableColumn
-    ,  OperaWtbApplyShopWindow, OperaInsuranceApplyDetails
+    GlobalWindow,
+    selectEmployees,
+    addEmployee,
+    importEmployees,
+    confirmJobType,
+    detailsPolicyholder,
+    UTable,
+    UTableColumn
   },
   data () {
     return {
-      sumFee:0,
+      sumFee: 0,
       form: {
         id: null,
         ID: null,
         solutionId: '',
         applyStartTime: '',
-        applyEndTime: ''
+        applyEndTime: '',
+        companyId: null
       },
       solutionName: '',
       type: '',
@@ -240,7 +245,7 @@
     // 鐩戝惉tableData鐨勫彉鍖�
     tableData: {
       deep: true,
-      handler(newVal, oldVal) {
+      handler (newVal, oldVal) {
         // 鏁版嵁鍙樺寲鏃剁殑澶勭悊閫昏緫
         this.getSummaries2()
         console.log(this.tableData.length)
@@ -256,21 +261,16 @@
       this.isWorking = true
       // if (!this.form.id) {
       create({
+        companyId: this.form.companyId,
         applyDetailList: arr,
         applyStartTime: this.form.applyStartTime,
         applyEndTime: this.form.applyEndTime,
         solutionId: this.form.solutionId
       }).then(res => {
         console.log(res)
-        this.visible = false
-        if (this.item.type == 1) {
-          this.$emit('success', 1, { id: res })
-          this.$refs.OperaWtbApplyShopWindow.open('濮旀墭鎶曚繚璇︽儏', { id: res })
-        } else {
-          this.$emit('success', 1, { id: res })
-          this.$refs.OperaInsuranceApplyDetails.open('鎶曚繚璇︽儏', { id: res })
-        }
+        this.$emit('success', 1, { id: res,godetail:true,type:this.item.type})
         this.$tip.apiSuccess('鎿嶄綔鎴愬姛')
+        this.visible = false
         // this.$emit('success','濮旀墭鎶曚繚璇︽儏', { id: res })
       })
         .catch(e => {
@@ -309,6 +309,10 @@
       this.form.solutionId = ''
       this.form.applyStartTime = ''
       this.form.applyEndTime = ''
+      if (target.companyId) {
+        this.form.companyId = target.companyId
+        this.form.companyName = target.companyName
+      }
       if (target && target.id) {
         this.$nextTick(() => {
           this.$refs.form.resetFields()
@@ -364,7 +368,7 @@
           })
           sums[index] = total.toFixed(2)
           // }
-        }else {
+        } else {
           sums[index] = ''
         }
       })
@@ -372,8 +376,8 @@
       return sums
     },
     getSummaries2 () {
-      this.sumFee = 0;
-      if(this.tableData&&this.tableData.length){
+      this.sumFee = 0
+      if (this.tableData && this.tableData.length) {
         this.tableData.forEach((column, index) => {
           this.sumFee = parseFloat(this.sumFee) + parseFloat(column.fee)
         })
@@ -401,31 +405,90 @@
             this.$message.warning('鑷冲皯娣诲姞涓�椤瑰憳宸�')
             return
           }
-          for (let i = 0; i < this.tableData.length; i++) {
-            console.log(this.tableData[i].worktypeId)
-            console.log(this.tableData[i].duId)
-            if (!this.tableData[i].worktypeId || !this.tableData[i].duId) {
-              this.$message.warning('璇峰畬鍠勬淳閬e崟浣嶅拰宸ョ淇℃伅')
-              return
+          if (this.item.hasDispatchUnit !== 1) {
+            for (let i = 0; i < this.tableData.length; i++) {
+              if (!this.tableData[i].worktypeId || !this.tableData[i].duId) {
+                this.$message.warning('璇峰畬鍠勬淳閬e崟浣嶅拰宸ョ淇℃伅')
+                return
+              }
+            }
+          } else {
+            for (let i = 0; i < this.tableData.length; i++) {
+              if (!this.tableData[i].worktypeId) {
+                this.$message.warning('璇峰畬鍠勬淳宸ョ淇℃伅')
+                return
+              }
             }
           }
-
           let price = 0
           // if (this.item && this.item.type != 1) {
-            this.tableData.forEach(item => {
-              price = price + item.fee
-            })
-          // }
-          this.$refs.detailsPolicyholder.open('鎶曚繚璇︽儏鍗�', {
-            companyName: this.userInfo.company.name,
-            solutionName: this.item.name,
-            solutionType: this.item.type,
-            applyStartTime: this.form.applyStartTime,
-            applyEndTime: this.form.applyEndTime,
-            insureNum: this.tableData.length,
-            totalPrice: price,
-            detailList: this.tableData
+          this.tableData.forEach(item => {
+            price = price + item.fee
           })
+          // }
+          const endTime = Number(this.item.correctWarnTime.split(':')[0] + this.item.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(() => {
+              if (!this.form.companyId) {
+                this.$refs.detailsPolicyholder.open('鎶曚繚璇︽儏鍗�', {
+                  companyName: this.userInfo.company.name,
+                  solutionName: this.item.name,
+                  solutionType: this.item.type,
+                  applyStartTime: this.form.applyStartTime,
+                  applyEndTime: this.form.applyEndTime,
+                  insureNum: this.tableData.length,
+                  totalPrice: price,
+                  detailList: this.tableData
+                })
+              } else {
+                this.$refs.detailsPolicyholder.open('鎶曚繚璇︽儏鍗�', {
+                  companyName: this.form.companyName,
+                  solutionName: this.item.name,
+                  solutionType: this.item.type,
+                  applyStartTime: this.form.applyStartTime,
+                  applyEndTime: this.form.applyEndTime,
+                  insureNum: this.tableData.length,
+                  totalPrice: price,
+                  detailList: this.tableData
+                })
+              }
+            }).catch(() => {
+
+            });
+          } else {
+            if (!this.form.companyId) {
+              this.$refs.detailsPolicyholder.open('鎶曚繚璇︽儏鍗�', {
+                companyName: this.userInfo.company.name,
+                solutionName: this.item.name,
+                solutionType: this.item.type,
+                applyStartTime: this.form.applyStartTime,
+                applyEndTime: this.form.applyEndTime,
+                insureNum: this.tableData.length,
+                totalPrice: price,
+                detailList: this.tableData
+              })
+            } else {
+              this.$refs.detailsPolicyholder.open('鎶曚繚璇︽儏鍗�', {
+                companyName: this.form.companyName,
+                solutionName: this.item.name,
+                solutionType: this.item.type,
+                applyStartTime: this.form.applyStartTime,
+                applyEndTime: this.form.applyEndTime,
+                insureNum: this.tableData.length,
+                totalPrice: price,
+                detailList: this.tableData
+              })
+            }
+          }
         }
       })
     },
@@ -474,25 +537,25 @@
         this.$message.warning('璇峰厛閫夋嫨淇濋櫓鏂规')
         return
       }
-      this.$refs.selectEmployees.open('閫夊彇鍛樺伐', { arr: this.tableData, price: this.price, type: 1 })
+      this.$refs.selectEmployees.open('閫夊彇鍛樺伐', { arr: this.tableData, price: this.price, type: 1, companyId: this.form.companyId })
     },
     addUser () {
       if (!this.form.solutionId) {
         this.$message.warning('璇峰厛閫夋嫨淇濋櫓鏂规')
         return
       }
-      this.$refs.addEmployee.open('娣诲姞鍛樺伐', { arr: this.tableData, price: this.price })
+      this.$refs.addEmployee.open('娣诲姞鍛樺伐', { arr: this.tableData, price: this.price, solutionId: this.form.solutionId, hasDispatchUnit: this.item.hasDispatchUnit, companyId: this.userInfo.type === 1 ? this.userInfo.companyId : this.form.companyId })
     },
     uploadUser () {
       if (!this.form.solutionId) {
         this.$message.warning('璇峰厛閫夋嫨淇濋櫓鏂规')
         return
       }
-      this.$refs.importEmployees.open('涓婁紶鍚嶅崟', { arr: this.tableData, solutionId: this.form.solutionId, type: 1, price: this.price })
+      this.$refs.importEmployees.open('涓婁紶鍚嶅崟', { arr: this.tableData, solutionId: this.form.solutionId, type: 1, hasDispatchUnit: this.item.hasDispatchUnit, price: this.price })
     },
     // 鍒囨崲鏂规
     changeSolution (e) {
-      this.sumFee =0;
+      this.sumFee = 0
       this.form.applyEndTime = ''
       this.form.applyStartTime = ''
       if (!this.form.id) {
@@ -536,7 +599,7 @@
         })
       this.tableData.forEach(item => {
         // if (this.item.type != 0) {
-          item.fee = this.price
+        item.fee = this.price
         // }
       })
     },
@@ -559,7 +622,7 @@
       this.$refs.multipleTable.clearSelection()
     },
     // 閫夋嫨鍛樺伐
-    sele () {
+    sele (type) {
       if (!this.form.solutionId) {
         this.$message.warning('璇烽�夋嫨淇濋櫓鏂规')
         return
@@ -568,14 +631,18 @@
         this.$message.warning('璇烽�夋嫨鍛樺伐')
         return
       }
-      this.$refs.confirmJobType.open('纭宸ョ', { solutionId: this.form.solutionId })
+      this.$refs.confirmJobType.open('纭宸ョ', { solutionId: this.form.solutionId, type })
     },
     // 鏌ヨ鍏ㄩ儴鏂规
     getCompany () {
-      all({})
+      getUseList(this.form.companyId ? this.form.companyId : this.userInfo.companyId, 2)
         .then(res => {
           this.company = res
         })
+      // all({ companyId: this.form.companyId })
+      //   .then(res => {
+      //     this.company = res
+      //   })
     },
     getAgeByIdCard (idCard) {
       const sexAndAge = {}

--
Gitblit v1.9.3