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 | 292 +++++++++++++++++++++++++++++++++++++++------------------
1 files changed, 198 insertions(+), 94 deletions(-)
diff --git a/company/src/components/enterprise/additionSubtractionApplication.vue b/company/src/components/enterprise/additionSubtractionApplication.vue
index d021461..af434aa 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,7 +28,7 @@
</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>
@@ -65,20 +68,35 @@
align="center"
label="淇濋櫓鐢熸晥姝㈡湡">
</el-table-column>
- <el-table-column
- prop="insureNum"
- 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="鍦ㄤ繚鏃堕暱锛堝ぉ锛�">
+ 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"
@@ -96,15 +114,18 @@
<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>
<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
@@ -137,6 +158,7 @@
</template>
</el-table-column>
<el-table-column
+ v-if="item && item.hasDispatchUnit !== 1"
prop="duName"
label="娲鹃仯鍗曚綅">
</el-table-column>
@@ -148,9 +170,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 +189,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" />
@@ -173,6 +203,8 @@
<confirmJobType ref="confirmJobType" @result="getUser" />
<!-- 璇︽儏 -->
<ApplyChangeDetails1 ref="ApplyChangeDetails1" @success="success" />
+ <!-- 鍔犲噺淇濊鎯� -->
+<!-- <OperaApplyChangeDetailWindow ref="OperaApplyChangeDetailWindow" />-->
</GlobalWindow>
</template>
@@ -180,19 +212,28 @@
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 ApplyChangeDetails1 from '@/components/business/ApplyChangeDetails1'
+// 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, addEmployee, importEmployees, confirmJobType, ApplyChangeDetails1 },
+ components: {
+ GlobalWindow,
+ selectEmployees,
+ // OperaApplyChangeDetailWindow,
+ addEmployee,
+ importEmployees,
+ confirmJobType,
+ ApplyChangeDetails1
+ },
data () {
return {
form: {
@@ -204,10 +245,13 @@
addDetailList: [],
delDetailList: []
},
+ addTrue: '',
+ delTrue: '',
tempMemberIndex: -1,
activeName: '0',
pickerOptions: {},
price: '',
+ reducePrice: '',
endTime: '', // 瀹為檯淇濋櫓鐢熸晥姝㈡湡
company: [],
seleData: [],
@@ -243,11 +287,14 @@
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)
+ this.getApplyPowerData()
})
} else {
this.$nextTick(() => {
@@ -259,18 +306,31 @@
this.visible = true
// this.updatePickerOptions()
},
+ // 鑾峰彇鏄惁鑳藉姞鍑忎繚
+ getApplyPowerData() {
+ getApplyPower({ applyId: this.form.id })
+ .then(res => {
+ this.addTrue = res.addTrue
+ this.delTrue = res.delTrue
+ })
+ },
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 = res.cyclePrice
+ // item.fee = item.reducePrice
})
+ }).catch(e => {
+ this.$tip.apiFailed(e)
+ }).finally(() => {
+ this.isWorking = false
})
},
handleClick (e) {
@@ -278,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)
@@ -322,24 +374,42 @@
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
+ total += item.fee || 0
})
- sums[index] = total.toFixed(2)
+ sums[index] = (total || 0).toFixed(2)
} else {
this.form.delDetailList.forEach(item => {
- total += item.fee
+ total += item.reducePrice
})
- sums[index] = '-' + total.toFixed(2)
+ 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 => {
+ 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.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
@@ -380,9 +450,11 @@
delDetailList: this.form.delDetailList,
validTime: this.form.applyStartTime,
type: 0
- }).then(() => {
+ }).then(res => {
this.visible = false
this.$tip.apiSuccess('鎿嶄綔鎴愬姛')
+ // 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)
@@ -391,100 +463,128 @@
})
},
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
}
- if (!this.form.applyStartTime) {
+ /* 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 })
+ 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 })
+ this.$refs.selectEmployees.open('閫夊彇鍑忎繚鍛樺伐', { arr: this.form.delDetailList, price: this.reducePrice, insuranceApplyId: this.form.id, validTime: this.form.applyStartTime })
}
},
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, 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, price: this.price })
+ 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, price: this.price, solutionId: this.form.solutionId })
+ 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, price: this.price, solutionId: this.form.solutionId })
+ 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 })
}
},
// 鍒囨崲鏂规
@@ -508,7 +608,6 @@
}
},
getUser (obj) {
- console.log(this.seleData)
this.seleData.forEach(item => {
if (this.activeName === '0') {
this.form.addDetailList.forEach(row => {
@@ -534,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
@@ -543,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