From 3a45da15c947c2d478a44a51bd0f926647b1b841 Mon Sep 17 00:00:00 2001
From: MrShi <1878285526@qq.com>
Date: 星期五, 11 四月 2025 16:33:17 +0800
Subject: [PATCH] 提交

---
 company/src/components/enterprise/additionSubtractionApplication.vue |  826 +++++++++++++++++++++++++++++++++-------------------------
 1 files changed, 466 insertions(+), 360 deletions(-)

diff --git a/company/src/components/enterprise/additionSubtractionApplication.vue b/company/src/components/enterprise/additionSubtractionApplication.vue
index 3129e40..8409f63 100644
--- a/company/src/components/enterprise/additionSubtractionApplication.vue
+++ b/company/src/components/enterprise/additionSubtractionApplication.vue
@@ -2,7 +2,7 @@
     <GlobalWindow
         :title="title"
         width="100%"
-        text="鎶曚繚鐢宠"
+        text="鎵规敼鐢宠"
         :visible.sync="visible"
         :confirm-working="isWorking"
         @confirm="confirm"
@@ -12,7 +12,10 @@
                 <el-form-item label="淇濋櫓鏂规">
                     <span>{{form.solutionsName}}</span>
                 </el-form-item>
-                <el-form-item label="鎵瑰崟鐢熸晥璧锋湡" prop="applyStartTime">
+                <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
                             @change="changeApplyStartTime"
@@ -25,11 +28,11 @@
                         </el-date-picker>
                         <span style="color: #F95601; font-size: 14px;">锛堟鏃ョ敓鏁堟姇淇濊浜�17:30鍓嶆彁浜わ紝瓒呮椂鎻愪氦浠ヤ繚闄╁崟涓哄噯锛�</span>
                     </div>
-                </el-form-item>
+                </el-form-item>-->
                 <el-form-item label="鎶曚繚骞撮緞" v-if="item">
                     <span>{{item.minAge}} 鑷� {{item.maxAge}}</span>
                 </el-form-item>
-                <el-form-item label="璐圭敤" v-if="item">
+                <el-form-item label="璐圭敤" v-if="item && item.solutionType==0">
                     <span>{{item.price}}鍏�</span>
                     <span v-if="item.timeUnit === 0">/澶�</span>
                     <span v-if="item.timeUnit === 1">/鍗婃湀</span>
@@ -71,14 +74,19 @@
                     label="鎶曚繚浜烘暟">
                 </el-table-column>
                 <el-table-column
+                    prop="guaranteeNum"
+                    align="center"
+                    label="鍦ㄤ繚浜烘暟">
+                </el-table-column>
+                <el-table-column
                     prop="serviceDays"
                     align="center"
-                    label="鍦ㄤ繚鏃堕暱锛堝ぉ锛�">
+                    label="淇濆崟鏃堕暱锛堝ぉ锛�">
                 </el-table-column>
                 <el-table-column
                     prop="currentFee"
                     align="center"
-                    label="浜х敓璐圭敤(鍏�)">
+                    label="宸蹭骇鐢熻垂鐢�(鍏�)">
                 </el-table-column>
                 <el-table-column
                     prop="fee"
@@ -96,7 +104,7 @@
         <div class="btns">
             <div class="btns_item">
                 <el-button type="primary" @click="seleUser">閫夊彇鍛樺伐</el-button>
-                <el-button type="primary" @click="uploadUser" v-if="activeName !== '1'">瀵煎叆鍛樺伐</el-button>
+                <el-button type="primary" @click="uploadUser">瀵煎叆鍛樺伐</el-button>
                 <el-button type="primary" @click="addUser" v-if="activeName !== '1'">娣诲姞鍛樺伐</el-button>
                 <el-button type="danger" @click="deleItem">鍒犻櫎</el-button>
             </div>
@@ -148,9 +156,17 @@
                 label="璐圭敤">
                 <template slot-scope="{row}">
                     <span v-if="activeName === '0'">{{row.fee}}</span>
-                    <span v-else>{{row.fee ? '-' + row.fee : ''}}</span>
+                    <span v-else>{{row.reducePrice ?  row.reducePrice : '0'}}</span>
                 </template>
             </el-table-column>
+          <el-table-column
+              prop="remark"
+              align="center"
+              label="澶囨敞">
+            <template slot-scope="{row}">
+              <el-input v-model="row.remark" placeholder="璇疯緭鍏�"></el-input>
+            </template>
+          </el-table-column>
             <el-table-column
                 label="鎿嶄綔">
                 <template slot-scope="scope">
@@ -159,9 +175,9 @@
             </el-table-column>
         </el-table>
         <div class="info" v-if="item">
-            <span v-if="item.specialAgreement">{{item.specialAgreement}}</span>
-            <span v-if="item.specialInfo">{{item.specialInfo}}</span>
-            <span v-if="item.ortherInfo">{{item.ortherInfo}}</span>
+          <span v-if="item.specialAgreement" v-html="item.specialAgreement"></span>
+          <span v-if="item.specialInfo" v-html="item.specialInfo"> </span>
+          <span v-if="item.ortherInfo" v-html="item.ortherInfo"> </span>
         </div>
         <!--    閫夋嫨鍛樺伐    -->
         <selectEmployees ref="selectEmployees" @result="getValue" />
@@ -171,360 +187,450 @@
         <importEmployees ref="importEmployees" @result="getValue" />
         <!--    纭宸ョ    -->
         <confirmJobType ref="confirmJobType" @result="getUser" />
+        <!--    璇︽儏    -->
+        <ApplyChangeDetails1 ref="ApplyChangeDetails1" @success="success" />
+        <!-- 鍔犲噺淇濊鎯� -->
+<!--        <OperaApplyChangeDetailWindow ref="OperaApplyChangeDetailWindow" />-->
     </GlobalWindow>
 </template>
 
 <script>
-    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 importEmployees from '@/components/enterprise/importEmployees'
-    import confirmJobType from '@/components/enterprise/confirmJobType'
-    import { all } from '@/api/business/solutions'
-    import { getDetail } from '@/api/business/insuranceApply'
-    import { create, getChangeCountCyclePriceVO } from '@/api/business/applyChange'
-    export default {
-        name: 'additionSubtractionApplication',
-        extends: BaseOpera,
-        components: { GlobalWindow, selectEmployees, addEmployee, importEmployees, confirmJobType },
-        data () {
-            return {
-                form: {
-                    id: null,
-                    solutionId: '',
-                    solutionsName: '',
-                    applyStartTime: '',
-                    applyEndTime: '',
-                    addDetailList: [],
-                    delDetailList: [],
-                },
-                activeName: '0',
-                pickerOptions: {},
-                price: '',
-                endTime: '',    // 	瀹為檯淇濋櫓鐢熸晥姝㈡湡
-                company: [],
-                seleData: [],
-                item: null,
-                // 楠岃瘉瑙勫垯
-                rules: {
-                    applyStartTime: [
-                        { required: true, message: '璇烽�夋嫨鎵瑰崟鐢熸晥璧锋湡' }
-                    ]
-                },
-                list: []
-            }
-        },
-        created () {
-            this.config({
-                api: '/business/insuranceApply',
-                'field.id': 'id'
-            })
-        },
-        methods: {
-            open (title, target) {
-                this.title = title
-                this.form.addDetailList = []
-                this.form.delDetailList = []
-                this.list = []
-                this.form.id = null
-                this.item = null
-                this.form.solutionId = ''
-                this.form.solutionsName = ''
-                this.form.applyStartTime = ''
-                this.form.applyEndTime = ''
-                if (target && target.id) {
-                    this.$nextTick(() => {
-                        this.$refs.form.resetFields()
-                        this.form.id = target.id
-                        this.getDetails()
-                    })
-                } else {
-                    this.$nextTick(() => {
-                        this.$refs.form.resetFields()
-                        this.form[this.configData['field.id']] = null
-                    })
-                }
-                this.getCompany()
-                this.visible = true
-                // this.updatePickerOptions()
-            },
-            changeApplyStartTime(e) {
-                getChangeCountCyclePriceVO({
-                    applyId: this.form.id,
-                    validTime: e
-                }).then(res => {
-                    this.price = res.cyclePrice
-                    this.form.addDetailList.forEach(item => {
-                        item.fee = res.cyclePrice
-                    })
-                    this.form.delDetailList.forEach(item => {
-                        item.fee = res.cyclePrice
-                    })
-                })
-            },
-            handleClick(e) {
-                this.activeName = e.index
-            },
-            // 鑾峰彇鎶曚繚璇︽儏
-            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)
-                        this.endTime = res.endTime
-                        this.form.solutionId = res.solutionId
-                        this.form.solutionsName = res.solutionsName
-                        this.pickerOptions = {
-                            disabledDate(time) {
-                                // - 8.64e7
-                                return time.getTime() > new Date(res.endTime).getTime() || time.getTime() < new Date(res.lastChangeDate ? res.lastChangeDate : res.startTime).getTime()
-                            }
-                        };
-                        this.changeSolution1(res.solutionId)
-                    })
-            },
-            getSummaries(param) {
-                const { columns, data } = param
-                const sums = []
-                columns.forEach((column, index) => {
-                    if (index === 0) {
-                        sums[index] = '鎬讳环'
-                        return
-                    } else if (index === 7) {
-                        let total = 0
-                        if (this.activeName === '0') {
-                            this.form.addDetailList.forEach(item => {
-                                total += item.fee
-                            })
-                            sums[index] = total
-                            return
-                        } else {
-                            this.form.delDetailList.forEach(item => {
-                                total += item.fee
-                            })
-                            sums[index] = '-' + total
-                            return
-                        }
-                    }
-                })
-                return sums
-            },
-            deleItem() {
-                if (this.seleData.length === 0) {
-                    this.$message.warning('鑷冲皯閫夋嫨涓�椤瑰唴瀹�')
-                    return
-                }
-                if (this.activeName === '0') {
-                    this.seleData.forEach(item => {
-                        this.form.addDetailList.forEach((row, index) => {
-                            if (item === row.name) {
-                                this.form.addDetailList.splice(index, 1)
-                            }
-                        })
-                    })
-                } else {
-                    this.seleData.forEach(item => {
-                        this.form.delDetailList.forEach((row, index) => {
-                            if (item === row.name) {
-                                this.form.delDetailList.splice(index, 1)
-                            }
-                        })
-                    })
-                }
-            },
-            confirm() {
-                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
-                            }
-                        }
-                        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
-                            }
-                        }
-                        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.form.solutionId) {
-                    this.$message.warning('璇峰厛閫夋嫨淇濋櫓鏂规')
-                    return
-                }
-                if (!this.form.applyStartTime) {
-                    this.$message.warning('璇峰厛閫夋嫨鎵瑰崟鐢熸晥璧锋湡')
-                    return
-                }
-                if (this.activeName === '0') {
-                    this.$refs.selectEmployees.open('閫夊彇鍛樺伐', { arr: this.form.addDetailList, price: this.price, notInInsuranceApplyId: this.form.id, validTime: this.form.applyStartTime })
-                } else {
-                    this.$refs.selectEmployees.open('閫夊彇鍛樺伐', { arr: this.form.delDetailList, price: this.price, insuranceApplyId: this.form.id, validTime: this.form.applyStartTime })
-                }
-            },
-            addUser() {
-                if (!this.form.solutionId) {
-                    this.$message.warning('璇峰厛閫夋嫨淇濋櫓鏂规')
-                    return
-                }
-                if (this.activeName === '0') {
-                    this.$refs.addEmployee.open('娣诲姞鍛樺伐', { arr: this.form.addDetailList, price: this.price })
-                } else {
-                    this.$refs.addEmployee.open('娣诲姞鍛樺伐', { arr: this.form.delDetailList, price: this.price })
-                }
-            },
-            uploadUser() {
-                if (!this.form.solutionId) {
-                    this.$message.warning('璇峰厛閫夋嫨淇濋櫓鏂规')
-                    return
-                }
-                if (this.activeName === '0') {
-                    this.$refs.importEmployees.open('涓婁紶鍚嶅崟', { arr: this.form.addDetailList, price: this.price })
-                } else {
-                    this.$refs.importEmployees.open('涓婁紶鍚嶅崟', { arr: this.form.delDetailList, price: this.price })
-                }
-            },
-            // 鍒囨崲鏂规
-            changeSolution1(e) {
-                this.company.forEach(item => {
-                    if (item.id === e) {
-                        console.log(item)
-                        this.item = item
-                    }
-                })
-                // this.tableData.forEach(item => {
-                //     item.fee = this.price
-                // })
-            },
-            dele(index) {
-                if (this.activeName === '0') {
-                    this.form.addDetailList.splice(index, 1)
-                } else {
-                    this.form.delDetailList.splice(index, 1)
-                }
-            },
-            getUser(obj) {
-                this.seleData.forEach(item => {
-                    if (this.activeName === '0') {
-                        this.form.addDetailList.forEach(row => {
-                            if (item === row.name) {
-                                row.workTypeName = obj.workTypeName
-                                row.worktypeId = obj.worktypeId
-                                row.duName = obj.duName
-                                row.duId = obj.duId
-                            }
-                        })
-                    } else {
-                        this.form.delDetailList.forEach(row => {
-                            if (item === row.name) {
-                                row.workTypeName = obj.workTypeName
-                                row.worktypeId = obj.worktypeId
-                                row.duName = obj.duName
-                                row.duId = obj.duId
-                            }
-                        })
-                    }
-                })
-                this.seleData = []
-                this.$refs.multipleTable.clearSelection();
-            },
-            // 閫夋嫨鍛樺伐
-            sele() {
-                if (!this.form.solutionId) {
-                    this.$message.warning('璇烽�夋嫨淇濋櫓鏂规')
-                    return
-                }
-                if (this.seleData.length === 0) {
-                    this.$message.warning('璇烽�夋嫨鍛樺伐')
-                    return
-                }
-                this.$refs.confirmJobType.open('纭宸ョ', { solutionId: this.form.solutionId })
-            },
-            // 鏌ヨ鍏ㄩ儴鏂规
-            getCompany() {
-                all({ dataType: 2 })
-                    .then(res => {
-                        this.company = res
-                    })
-            },
-            getAgeByIdCard(idCard){
-                const sexAndAge = {}
-                //鑾峰彇鐢ㄦ埛韬唤璇佸彿鐮�
-                const userCard = idCard
-                //濡傛灉鐢ㄦ埛韬唤璇佸彿鐮佷负undefined鍒欒繑鍥炵┖
-                if (!userCard) {
-                    return sexAndAge
-                }
-                // 鑾峰彇鍑虹敓鏃ユ湡
-                const yearBirth = userCard.substring(6, 10)
-                const monthBirth = userCard.substring(10, 12)
-                const dayBirth = userCard.substring(12, 14)
-                // 鑾峰彇褰撳墠骞存湀鏃ュ苟璁$畻骞撮緞
-                const myDate = new Date()
-                const monthNow = myDate.getMonth() + 1
-                const dayNow = myDate.getDate()
-                let age = myDate.getFullYear() - yearBirth
-                if (monthNow < monthBirth || (monthNow == monthBirth && dayNow < dayBirth)) {
-                    age--
-                }
-                // 寰楀埌骞撮緞
-                sexAndAge.age = age
-                return sexAndAge.age
-            },
-            handleSelectionChange (e) {
-                this.seleData = e.map(item => item.name)
-            },
-            getValue(list) {
-                console.log(list)
-                if (this.activeName === '0') {
-                    this.form.addDetailList.push(...list)
-                } else {
-                    this.form.delDetailList.push(...list)
-                }
-            }
-        }
+import BaseOpera from '@/components/base/BaseOpera'
+import GlobalWindow from '@/components/common/GlobalWindow'
+import selectEmployees from '@/components/enterprise/selectEmployees'
+import addEmployee from '@/components/enterprise/addEmployeeWithDu'
+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 { all } from '@/api/business/solutions'
+import { getDetail } 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
+  },
+  data () {
+    return {
+      form: {
+        id: null,
+        solutionId: '',
+        solutionsName: '',
+        applyStartTime: '',
+        applyEndTime: '',
+        addDetailList: [],
+        delDetailList: []
+      },
+      tempMemberIndex: -1,
+      activeName: '0',
+      pickerOptions: {},
+      price: '',
+      reducePrice: '',
+      endTime: '', // 	瀹為檯淇濋櫓鐢熸晥姝㈡湡
+      company: [],
+      seleData: [],
+      item: null,
+      // 楠岃瘉瑙勫垯
+      rules: {
+        applyStartTime: [
+          { required: true, message: '璇烽�夋嫨鎵瑰崟鐢熸晥璧锋湡' }
+        ]
+      },
+      list: []
     }
+  },
+  computed: {
+    ...mapState(['userInfo'])
+  },
+  created () {
+    this.config({
+      api: '/business/insuranceApply',
+      'field.id': 'id'
+    })
+  },
+  methods: {
+    open (title, target) {
+      this.title = title
+      this.form.addDetailList = []
+      this.form.delDetailList = []
+      this.list = []
+      this.form.id = null
+      this.item = null
+      this.tempMemberIndex = -1
+      this.form.solutionId = ''
+      this.form.solutionsName = ''
+      this.form.applyStartTime = ''
+      this.form.applyEndTime = ''
+      // alert(target.id)
+      if (target && target.id) {
+        this.$nextTick(() => {
+          this.$refs.form.resetFields()
+          this.form.id = target.id
+          this.getDetails()
+          this.changeApplyStartTime(null)
+        })
+      } else {
+        this.$nextTick(() => {
+          this.$refs.form.resetFields()
+          this.form[this.configData['field.id']] = null
+        })
+      }
+      this.getCompany()
+      this.visible = true
+      // this.updatePickerOptions()
+    },
+    changeApplyStartTime (e) {
+      getChangeCountCyclePriceVO({
+        applyId: this.form.id,
+        validTime: e
+      }).then(res => {
+        this.price = res.cyclePrice
+        this.reducePrice = 0
+        this.form.addDetailList.forEach(item => {
+          item.fee = res.cyclePrice
+        })
+        this.form.delDetailList.forEach(item => {
+          // item.fee = item.reducePrice
+        })
+      }).catch(e => {
+        this.$tip.apiFailed(e)
+      }).finally(() => {
+        this.isWorking = false
+      })
+    },
+    handleClick (e) {
+      this.activeName = e.index
+    },
+    // 鑾峰彇鎶曚繚璇︽儏
+    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)
+          this.item = res
+          this.endTime = res.endTime
+          this.form.solutionId = res.solutionId
+          this.form.solutionsName = res.solutionsName
+          this.pickerOptions = {
+            disabledDate (time) {
+              // 褰撳墠鏃ユ湡澶т簬绛変簬鐢熸晥鏃ユ湡骞朵笖鏈�鍚庝竴娆℃搷浣滄椂闂寸瓑浜庣┖
+              if ([1, 3].includes(compareDates(getDate(), res.startTime)) && !res.lastChangeDate) {
+                return time.getTime() > new Date(res.endTime).getTime() || time.getTime() < new Date(getTomorrow()).getTime()
+                // 褰撳墠鏃ユ湡灏忎簬鐢熸晥鏃ユ湡骞朵笖鏈�鍚庝竴娆℃搷浣滄椂闂寸瓑浜庣┖
+              } else if (compareDates(getDate(), res.startTime) === 2 && !res.lastChangeDate) {
+                return time.getTime() > new Date(res.endTime).getTime() || time.getTime() < new Date(res.startTime).getTime()
+                // 鏈�鍚庝竴娆℃搷浣滄椂闂存湁鍊�
+              } else if (res.lastChangeDate) {
+                // 褰撳墠鏃ユ湡澶т簬鏈�鍚庝竴娆℃搷浣滄椂闂�
+                if ([1, 3].includes(compareDates(getDate(), res.lastChangeDate))) {
+                  return time.getTime() > new Date(res.endTime).getTime() || time.getTime() < new Date(getTomorrow()).getTime()
+                  // 褰撳墠鏃堕棿灏忎簬鏈�鍚庝竴娆℃搷浣滄椂闂�
+                } else if (compareDates(getDate(), res.lastChangeDate) === 2) {
+                  return time.getTime() > new Date(res.endTime).getTime() || time.getTime() < new Date(res.lastChangeDate).getTime()
+                }
+              }
+            }
+          }
+          // this.changeSolution1(res.solutionId)
+        })
+    },
+    getSummaries (param) {
+      const { columns, data } = param
+      const sums = []
+      columns.forEach((column, index) => {
+        if (index === 0) {
+          sums[index] = '鎬讳环'
+        } else if (index === 7) {
+          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)
+          }
+        }
+      })
+      return sums
+    },
+    deleItem () {
+      if (this.seleData.length === 0) {
+        this.$message.warning('鑷冲皯閫夋嫨涓�椤瑰唴瀹�')
+        return
+      }
+      if (this.activeName === '0') {
+        this.seleData.forEach(item => {
+          this.form.addDetailList.forEach((row, index) => {
+            if (item === row.idCard) {
+              this.form.addDetailList.splice(index, 1)
+            }
+          })
+        })
+      } else {
+        this.seleData.forEach(item => {
+          this.form.delDetailList.forEach((row, index) => {
+            if (item === row.idCard) {
+              this.form.delDetailList.splice(index, 1)
+            }
+          })
+        })
+      }
+    },
+    success () {
+      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(res => {
+        this.visible = false
+        this.$tip.apiSuccess('鎿嶄綔鎴愬姛')
+        // this.$refs.OperaApplyChangeDetailWindow.open('鍔犲噺淇濊鎯�', { applyId: this.form.id, id: res })
+        this.$emit('success', { applyId: this.form.id, id: res })
+      }).catch(e => {
+        this.$tip.apiFailed(e)
+      }).finally(() => {
+        this.isWorking = false
+      })
+    },
+    confirm () {
+      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
+            }
+          }
+          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
+            }
+          }
+
+          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.form.solutionId) {
+        this.$message.warning('璇峰厛閫夋嫨淇濋櫓鏂规')
+        return
+      }
+      /* if (!this.form.applyStartTime) {
+        this.$message.warning('璇峰厛閫夋嫨鎵瑰崟鐢熸晥璧锋湡')
+        return
+      } */
+      if (this.activeName === '0') {
+        this.$refs.selectEmployees.open('閫夊彇鍔犱繚鍛樺伐', { arr: this.form.addDetailList, price: this.price, notInInsuranceApplyId: this.form.id, validTime: this.form.applyStartTime })
+      } else {
+        this.$refs.selectEmployees.open('閫夊彇鍑忎繚鍛樺伐', { arr: this.form.delDetailList, price: this.reducePrice, insuranceApplyId: this.form.id, validTime: this.form.applyStartTime })
+      }
+    },
+    addUser () {
+      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 })
+      } else {
+        this.$refs.addEmployee.open('娣诲姞鍑忎繚鍛樺伐', { arr: this.form.delDetailList, solutionId: this.item.newVersionSolutionId, price: this.reducePrice })
+      }
+    },
+    uploadUser () {
+      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 })
+      } else {
+        this.$refs.importEmployees.open('鍑忎繚鍛樺伐鍚嶅崟', { arr: this.form.delDetailList, type: 0, price: this.reducePrice, solutionId: this.item.newVersionSolutionId, insuranceApplyId: this.form.id })
+      }
+    },
+    // 鍒囨崲鏂规
+    changeSolution1 (e) {
+      this.company.forEach(item => {
+        console.log(item.id + '-----' + e)
+        if (item.id === e) {
+          console.log(item)
+          this.item = item
+        }
+      })
+      // this.tableData.forEach(item => {
+      //     item.fee = this.price
+      // })
+    },
+    dele (index) {
+      if (this.activeName === '0') {
+        this.form.addDetailList.splice(index, 1)
+      } else {
+        this.form.delDetailList.splice(index, 1)
+      }
+    },
+    getUser (obj) {
+      console.log(this.seleData)
+      this.seleData.forEach(item => {
+        if (this.activeName === '0') {
+          this.form.addDetailList.forEach(row => {
+            if (item === row.idCard) {
+              row.workTypeName = obj.workTypeName
+              row.worktypeId = obj.worktypeId
+              row.duName = obj.duName
+              row.duId = obj.duId
+            }
+          })
+        } else {
+          this.form.delDetailList.forEach(row => {
+            if (item === row.idCard) {
+              row.workTypeName = obj.workTypeName
+              row.worktypeId = obj.worktypeId
+              row.duName = obj.duName
+              row.duId = obj.duId
+            }
+          })
+        }
+      })
+      this.seleData = []
+      this.$refs.multipleTable.clearSelection()
+    },
+    // 閫夋嫨鍛樺伐
+    sele () {
+      if (!this.form.solutionId) {
+        this.$message.warning('璇烽�夋嫨淇濋櫓鏂规')
+        return
+      }
+      if (this.seleData.length === 0) {
+        this.$message.warning('璇烽�夋嫨鍛樺伐')
+        return
+      }
+      this.$refs.confirmJobType.open('纭宸ョ', { solutionId: this.item.newVersionSolutionId })
+    },
+    // 鏌ヨ鍏ㄩ儴鏂规
+    getCompany () {
+      all({ dataType: 2 })
+        .then(res => {
+          this.company = res
+        })
+    },
+    getAgeByIdCard (idCard) {
+      const sexAndAge = {}
+      // 鑾峰彇鐢ㄦ埛韬唤璇佸彿鐮�
+      const userCard = idCard
+      // 濡傛灉鐢ㄦ埛韬唤璇佸彿鐮佷负undefined鍒欒繑鍥炵┖
+      if (!userCard) {
+        return sexAndAge
+      }
+      // 鑾峰彇鍑虹敓鏃ユ湡
+      const yearBirth = userCard.substring(6, 10)
+      const monthBirth = userCard.substring(10, 12)
+      const dayBirth = userCard.substring(12, 14)
+      // 鑾峰彇褰撳墠骞存湀鏃ュ苟璁$畻骞撮緞
+      const myDate = new Date()
+      const monthNow = myDate.getMonth() + 1
+      const dayNow = myDate.getDate()
+      let age = myDate.getFullYear() - yearBirth
+      if (monthNow < monthBirth || (monthNow == monthBirth && dayNow < dayBirth)) {
+        age--
+      }
+      // 寰楀埌骞撮緞
+      sexAndAge.age = age
+      return sexAndAge.age
+    },
+    handleSelectionChange (e) {
+      this.seleData = e.map(item => item.idCard)
+    },
+    getValue (list) {
+      list.forEach(item => {
+        const temIndex = this.tempMemberIndex
+        item.id = temIndex
+        item.name = item.memberName
+        this.tempMemberIndex = this.tempMemberIndex - 1
+      })
+      if (this.activeName === '0') {
+        this.form.addDetailList.push(...list)
+      } else {
+        this.form.delDetailList.push(...list)
+      }
+    }
+  }
+}
 </script>
 
 <style lang="scss" scoped>

--
Gitblit v1.9.3