From 4be10170bc9a1546537762e03f2c963d61d2f6ea Mon Sep 17 00:00:00 2001 From: MrShi <1878285526@qq.com> Date: 星期四, 22 二月 2024 09:16:24 +0800 Subject: [PATCH] mrshi --- company/src/components/business/OperaInsuranceApplyWindow.vue | 398 ++++++++++++++++++++++++++++++++++++++++++-------------- 1 files changed, 299 insertions(+), 99 deletions(-) diff --git a/company/src/components/business/OperaInsuranceApplyWindow.vue b/company/src/components/business/OperaInsuranceApplyWindow.vue index 2dae778..a5adc16 100644 --- a/company/src/components/business/OperaInsuranceApplyWindow.vue +++ b/company/src/components/business/OperaInsuranceApplyWindow.vue @@ -11,7 +11,7 @@ <div class="desc_item_label" v-if="userInfo.type === 1 &&(model.statusCollect === 2 || model.statusCollect === 3)"> <div class="desc_item_label_left"> <span>淇濋櫓鍒版湡杩樻湁 <b style="color: #F95601;">{{model.loseEfficacyDays ? model.loseEfficacyDays : '-'}}</b> 澶�</span> - <el-button type="primary" v-if="model.statusCollect === 2 || model.statusCollect === 3" @click="$refs.OperaInsuranceApply.open('鎶曚繚鐢宠', { id: dataId })">涓�閿画淇�</el-button> + <el-button type="primary" v-if="model.statusCollect === 2 || model.statusCollect === 3" @click="$refs.OperaInsuranceApply.open('缁繚', { id: dataId })">涓�閿画淇�</el-button> <el-button type="primary" v-if="model.statusCollect === 2" @click="$refs.additionSubtractionApplication.open('鍔犲噺淇濈敵璇�', { id: dataId })">鍔犲噺淇濈敵璇�</el-button> <el-button type="primary" v-if="model.statusCollect === 2" @click="$refs.factoryChange.open('鎹㈠巶鐢宠', { id: dataId })">鎹㈠巶鐢宠</el-button> </div> @@ -26,6 +26,7 @@ <template v-if="userInfo.type === 1"> <el-button v-if="[0, 2, 3, 10].includes(model.status)" type="danger" @click="$refs.applyReturn.open('鐢宠閫�鍥�', {id: dataId})">鐢宠閫�鍥�</el-button> <el-button v-if="model.status == 4" type="primary" @click="$refs.OperaInsuranceApply.open('鎶曚繚鐢宠', {id: dataId})">鍐嶆鎶曚繚</el-button> + <el-button v-if="model.status == 4" type="primary" @click="closeOrder">鍏抽棴璁㈠崟</el-button> <el-button type="primary" @click="$refs.InsuranceDetails.open('鎶曚繚璇︽儏鍗�',model,0)">瀵煎嚭璇﹀崟</el-button> <el-button v-if="[2, 3, 5, 7, 8].includes(model.status)" type="primary" @click="viewToubaodan">鏌ョ湅鎶曚繚鍗�</el-button> <el-button v-if="model.status == 5" type="primary" @click="viewBaoxiandan">鏌ョ湅淇濋櫓鍗�</el-button> @@ -101,71 +102,100 @@ </div> <div class="desc_item_search"> <el-form :inline="true" :model="formInline" ref="sou" class="demo-form-inline"> - <el-form-item label="鍦ㄤ繚鐘舵��" prop="applyStatus"> - <el-select v-model="formInline.applyStatus" @change="search" placeholder="璇烽�夋嫨"> - <el-option label="鍏ㄩ儴" value="0"></el-option> - <el-option label="淇濋殰涓�" value="1"></el-option> - <el-option label="涓嶅湪淇�" value="2"></el-option> - </el-select> + <template v-if="activeName === '0'"> + <el-form-item label="鍦ㄤ繚鐘舵��" prop="applyStatus"> + <el-select v-model="formInline.applyStatus" @change="search" placeholder="璇烽�夋嫨"> + <el-option label="鍏ㄩ儴" value="0"></el-option> + <el-option label="淇濋殰涓�" value="1"></el-option> + <el-option label="涓嶅湪淇�" value="2"></el-option> + </el-select> + </el-form-item> + <el-form-item label="娲鹃仯鍗曚綅" prop="duId"> + <el-select v-model="formInline.duId" placeholder="璇烽�夋嫨" @change="search"> + <el-option + v-for="item in dwList" + :key="item.id" + :label="item.name" + :value="item.id"> + </el-option> + </el-select> + </el-form-item> + <el-form-item label="鎵�灞炲伐绉�" prop="workTypeId"> + <el-select v-model="formInline.workTypeId" placeholder="璇烽�夋嫨" @change="search"> + <el-option + v-for="item in gzList" + :key="item.id" + :label="item.name" + :value="item.id"> + </el-option> + </el-select> + </el-form-item> + <el-form-item label="鍛樺伐濮撳悕" prop="memberName"> + <el-input v-model="formInline.memberName" placeholder="璇疯緭鍏�" @keypress.enter.native="search"></el-input> + </el-form-item> + <el-form-item label="淇濋櫓鐢熸晥璧锋湡" prop="end"> + <el-date-picker + @change="changeStart" + v-model="formInline.end" + type="daterange" + format="yyyy 骞� MM 鏈� dd 鏃�" + value-format="yyyy-MM-dd" + range-separator="鑷�" + start-placeholder="寮�濮嬫棩鏈�" + end-placeholder="缁撴潫鏃ユ湡"> + </el-date-picker> + </el-form-item> + <el-form-item label="淇濋櫓鐢熸晥姝㈡湡" prop="start"> + <el-date-picker + @change="changeEnd" + v-model="formInline.start" + type="daterange" + format="yyyy 骞� MM 鏈� dd 鏃�" + value-format="yyyy-MM-dd" + range-separator="鑷�" + start-placeholder="寮�濮嬫棩鏈�" + end-placeholder="缁撴潫鏃ユ湡"> + </el-date-picker> + </el-form-item> + </template> + <template v-else> + <el-form-item label="鐘舵��" prop="applyStatus"> + <el-select v-model="formInline.applyStatus" @change="search" placeholder="璇烽�夋嫨"> + <el-option label="鍏ㄩ儴" value=""></el-option> + <el-option label="寰呯缃�" value="0"></el-option> + <el-option label="寰呭鏍�" value="1"></el-option> + <el-option label="宸茬敓鏁�" value="2"></el-option> + <el-option label="鐢宠閫�鍥�" value="3"></el-option> + <el-option label="宸查��鍥�" value="5"></el-option> + <el-option label="宸插叧闂�" value="6"></el-option> + </el-select> + </el-form-item> + <el-form-item label="鎵瑰崟鐢熸晥璧锋湡" prop="end"> + <el-date-picker + @change="changeStart" + v-model="formInline.end" + type="daterange" + format="yyyy 骞� MM 鏈� dd 鏃�" + value-format="yyyy-MM-dd" + range-separator="鑷�" + start-placeholder="寮�濮嬫棩鏈�" + end-placeholder="缁撴潫鏃ユ湡"> + </el-date-picker> + </el-form-item> + </template> + <el-form-item> + <el-button type="primary" style="width: 80px;" @click="search">鏌ヨ</el-button> + <el-button @click="resetting" style="width: 80px;">閲嶇疆</el-button> + <el-button type="primary" style="width: 80px;" @click="exportExcel" v-if="activeName === '0'">瀵煎嚭鍚嶅崟</el-button> </el-form-item> - <el-form-item label="娲鹃仯鍗曚綅" prop="duId"> - <el-select v-model="formInline.duId" placeholder="璇烽�夋嫨" @change="search"> - <el-option - v-for="item in dwList" - :key="item.id" - :label="item.name" - :value="item.id"> - </el-option> - </el-select> - </el-form-item> - <el-form-item label="鎵�灞炲伐绉�" prop="workTypeId"> - <el-select v-model="formInline.workTypeId" placeholder="璇烽�夋嫨" @change="search"> - <el-option - v-for="item in gzList" - :key="item.id" - :label="item.name" - :value="item.id"> - </el-option> - </el-select> - </el-form-item> - <el-form-item label="鍛樺伐濮撳悕" prop="memberName"> - <el-input v-model="formInline.memberName" placeholder="璇疯緭鍏�" @keypress.enter.native="search"></el-input> - </el-form-item> - <el-form-item label="淇濋櫓鐢熸晥璧锋湡" prop="end"> - <el-date-picker - @change="changeStart" - v-model="formInline.end" - type="daterange" - format="yyyy 骞� MM 鏈� dd 鏃�" - value-format="yyyy-MM-dd" - range-separator="鑷�" - start-placeholder="寮�濮嬫棩鏈�" - end-placeholder="缁撴潫鏃ユ湡"> - </el-date-picker> - </el-form-item> - <el-form-item label="淇濋櫓鐢熸晥姝㈡湡" prop="start"> - <el-date-picker - @change="changeEnd" - v-model="formInline.start" - type="daterange" - format="yyyy 骞� MM 鏈� dd 鏃�" - value-format="yyyy-MM-dd" - range-separator="鑷�" - start-placeholder="寮�濮嬫棩鏈�" - end-placeholder="缁撴潫鏃ユ湡"> - </el-date-picker> - </el-form-item> - <section> - <el-button type="primary" @click="search">鏌ヨ</el-button> - <el-button @click="resetting">閲嶇疆</el-button> - <el-button type="primary" @click="exportExcel">瀵煎嚭鍚嶅崟</el-button> - </section> </el-form> </div> <div class="desc_item_from"> <el-table :data="list" border + ref="table" + v-if="activeName === '0'" style="width: 100%"> <el-table-column label="搴忓彿"> <template slot-scope="scope"> @@ -173,10 +203,12 @@ </template> </el-table-column> <el-table-column + :key="Math.random()" prop="memberName" label="鍛樺伐濮撳悕"> </el-table-column> <el-table-column + :key="Math.random()" label="鎬у埆"> <template slot-scope="{row}"> <span v-if="row.sex === 0">鐢�</span> @@ -184,28 +216,135 @@ </template> </el-table-column> <el-table-column + :key="Math.random()" prop="idcardNo" label="韬唤璇佸彿"> </el-table-column> <el-table-column + :key="Math.random()" prop="duName" label="娲鹃仯鍗曚綅"> </el-table-column> <el-table-column + :key="Math.random()" prop="workTypeName" label="鎵�灞炲伐绉�"> </el-table-column> <el-table-column + :key="Math.random()" prop="startTime" label="淇濋櫓鐢熸晥璧锋湡"> </el-table-column> <el-table-column + :key="Math.random()" prop="endTime" label="淇濋櫓鐢熸晥姝㈡湡"> </el-table-column> <el-table-column + :key="Math.random()" prop="fee" label="浜х敓璐圭敤锛堝厓锛�"> + </el-table-column> + </el-table> + <el-table + :data="list1" + border + ref="table" + v-if="activeName === '1'" + style="width: 100%"> + <el-table-column label="搴忓彿"> + <template slot-scope="scope"> + <span>{{scope.$index + 1}}</span> + </template> + </el-table-column> + <el-table-column label="淇濆崟鐘舵��" :key="Math.random()"> + <template slot-scope="{row}"> + <span :class="'change-status'+row.status" v-if="row.status === 0">寰呯缃�</span> + <span :class="'change-status'+row.status" v-if="row.status === 1">寰呭鏍�</span> + <span :class="'change-status'+row.status" v-if="row.status === 2">宸茬敓鏁�</span> + <span :class="'change-status'+row.status" v-if="row.status === 3 || row.status === 4">鐢宠閫�鍥�</span> + <span :class="'change-status'+row.status" v-if="row.status === 5 || row.status === 8">宸查��鍥�</span> + </template> + </el-table-column> + <el-table-column + :key="Math.random()" + prop="applyCode" + label="鎵瑰崟鍙�"> + </el-table-column> + <el-table-column + :key="Math.random()" + prop="addNum" + label="澧炲姞浜烘暟锛堜汉锛�"> + </el-table-column> + <el-table-column + :key="Math.random()" + prop="delNum" + label="鍑忓皯浜烘暟锛堜汉锛�"> + </el-table-column> + <el-table-column + :key="Math.random()" + prop="createDate" + label="鎻愪氦鏃堕棿"> + </el-table-column> + <el-table-column + :key="Math.random()" + prop="startTime" + label="鎵瑰崟鐢熸晥璧锋湡"> + </el-table-column> + <el-table-column + :key="Math.random()" + label="鎿嶄綔"> + <template slot-scope="{row}"> + <el-button type="text" @click="$refs.OperaApplyChangeDetailWindow.open('鍔犲噺淇濊鎯�', row)">鏌ョ湅璇︽儏</el-button> + </template> + </el-table-column> + </el-table> + <el-table + :data="list2" + border + ref="table" + v-if="activeName === '2'" + style="width: 100%"> + <el-table-column label="搴忓彿"> + <template slot-scope="scope"> + <span>{{scope.$index + 1}}</span> + </template> + </el-table-column> + <el-table-column label="淇濆崟鐘舵��" :key="Math.random()"> + <template slot-scope="{row}"> + <span :class="'change-status'+row.status" v-if="row.status === 0">寰呯缃�</span> + <span :class="'change-status'+row.status" v-if="row.status === 1">寰呭鏍�</span> + <span :class="'change-status'+row.status" v-if="row.status === 2">宸茬敓鏁�</span> + <span :class="'change-status'+row.status" v-if="row.status === 3 || row.status === 4">鐢宠閫�鍥�</span> + <span :class="'change-status'+row.status" v-if="row.status === 5 || row.status === 8">宸查��鍥�</span> + </template> + </el-table-column> + <el-table-column + :key="Math.random()" + prop="applyCode" + label="鎵瑰崟鍙�"> + </el-table-column> + <el-table-column + :key="Math.random()" + prop="changeNum" + label="鎹㈠巶浜烘暟"> + </el-table-column> + <el-table-column + :key="Math.random()" + prop="createDate" + label="鎻愪氦鏃堕棿"> + </el-table-column> + <el-table-column + :key="Math.random()" + prop="startTime" + label="鎵瑰崟鐢熸晥璧锋湡"> + </el-table-column> + <el-table-column + :key="Math.random()" + label="鎿嶄綔"> + <template slot-scope="{row}"> + <el-button type="text" @click="$refs.OperaApplyChangeUnitDetailWindow.open('鎹㈠巶璇︽儏', row)">鏌ョ湅璇︽儏</el-button> + </template> </el-table-column> </el-table> <div class="desc_item_from_page"> @@ -225,15 +364,15 @@ v-for="(activity, index) in activities" :key="index"> <div style="display: flex; flex-direction: column;"> - <span style="font-size: 16px; font-weight: 400; color: black;"> - {{activity.title}} - <span style="font-size: 16px; font-weight: 400; color: black; margin-left: 10px;" v-if="activity.objType === 5 || activity.objType === 6 || activity.objType === 1 || activity.objType === 2"> - {{activity.content}} - </span> - </span> + <span style="font-size: 16px; font-weight: 400; color: black;"> + {{activity.title}} + <span style="font-size: 16px; font-weight: 400; color: black; margin-left: 10px;" v-if="[1, 2, 5, 6, 9].includes(activity.objType)"> + {{activity.content}} + </span> + </span> <span style="margin-top: 5px; font-size: 12px; font-weight: 400; color: #999999;"> - 鎿嶄綔鍛�-{{activity.creatorName}}锛坽{activity.creatorType==1? activity.companyName: "骞冲彴绔�"}}锛墈{activity.createDate}} - </span> + 鎿嶄綔鍛�-{{activity.creatorName}}锛坽{activity.creatorType == 1 ? activity.companyName: "骞冲彴绔�"}}锛墈{activity.createDate}} + </span> </div> </el-timeline-item> </el-timeline> @@ -250,9 +389,13 @@ <additionSubtractionApplication ref="additionSubtractionApplication" @success="successEvent" /> <!-- 鎹㈠巶鐢宠 --> <factoryChange ref="factoryChange" @success="successEvent" /> - <template v-slot:footer> - <el-button @click="visible=false">杩斿洖</el-button> - </template> + <!-- 鍔犲噺淇濊鎯� --> + <OperaApplyChangeDetailWindow ref="OperaApplyChangeDetailWindow" @success="successEvent"/> + <!-- 鎹㈠巶璇︽儏 --> + <OperaApplyChangeUnitDetailWindow ref="OperaApplyChangeUnitDetailWindow" @success="successEvent"/> + <template v-slot:footer> + <el-button @click="visible=false">杩斿洖</el-button> + </template> </GlobalWindow> </template> @@ -263,10 +406,13 @@ import OperaInsuranceApplyCheckWindow from '@/components/business/OperaInsuranceApplyCheckWindow' import additionSubtractionApplication from '@/components/enterprise/additionSubtractionApplication' import factoryChange from '@/components/enterprise/factoryChange' +import OperaApplyChangeDetailWindow from '@/components/business/OperaApplyChangeDetailWindow' +import OperaApplyChangeUnitDetailWindow from '@/components/business/OperaApplyChangeUnitDetailWindow' import applyReturn from '@/components/enterprise/applyReturn' -import { getDetail, getSignLink, applyDetailPage, applyChagneDetailPage, exportExcel, applyChagneDetailExcel } from "@/api/business/insuranceApply"; +import { getDetail, getSignLink, applyDetailPage, applyChagneDetailPage, exportExcel, applyChagneDetailExcel, applyOpt } from "@/api/business/insuranceApply"; import { findListByDTO } from "@/api/business/dispatchUnit"; +import { fetchList } from "@/api/business/applyChange"; import { findListByDTO as worktypeFindListByDTO } from "@/api/business/worktype"; import OperaInsuranceApply from '@/components/enterprise/OperaInsuranceApplyWindow' import { mapState } from 'vuex' @@ -281,7 +427,9 @@ applyReturn, OperaInsuranceApply, additionSubtractionApplication, - factoryChange + factoryChange, + OperaApplyChangeDetailWindow, + OperaApplyChangeUnitDetailWindow }, data () { return { @@ -318,6 +466,8 @@ activities: [], tableData: [], list: [], + list1: [], + list2: [], dwList: [], gzList: [], activeName: '0', @@ -338,14 +488,43 @@ open(title,target){ this.visible = true; this.title = title - this.model={} - this.dataId=null + this.model = {} + this.dataId = null this.dataId = target.id + this.formInline.applyStatus = '' + this.formInline.duId = '' + this.formInline.workTypeId = '' + this.formInline.memberName = '' + this.formInline.end = '' + this.formInline.start = '' + this.formInline.endTimeE = '' + this.formInline.endTimeS = '' + this.formInline.startTimeE = '' + this.formInline.startTimeS = '' + this.formInline.types = '' + this.activeName = '0' this.getDetail() this.getList() this.getDW() this.getGZ() }, + // 鍏抽棴璁㈠崟 + closeOrder () { + this.$confirm('纭鍏抽棴姝よ鍗曞悧?', '鎻愮ず', { + confirmButtonText: '纭畾', + cancelButtonText: '鍙栨秷', + type: 'warning' + }).then(() => { + applyOpt({ + applyId: this.dataId, + optType: 2 + }).then(res => { + this.getDetail() + }) + }).catch(() => { + + }); + }, // 娲鹃仯鍗曚綅 getDW() { findListByDTO({ applyId: this.dataId }) @@ -363,13 +542,23 @@ }) }, resetting() { + if (this.activeName === '0') { + this.formInline.applyStatus = '0' + } else { + this.formInline.applyStatus = '' + } + this.list = [] + this.list1 = [] + this.list2 = [] + this.formInline.duId = '' + this.formInline.workTypeId = '' + this.formInline.memberName = '' this.formInline.end = [] this.formInline.end = [] this.formInline.endTimeE = '' this.formInline.endTimeS = '' this.formInline.startTimeE = '' this.formInline.startTimeS = '' - this.$refs.sou.resetFields(); this.search() }, search() { @@ -378,21 +567,21 @@ }, changeStart(e) { if (e.length > 0) { - this.formInline.startTimeE = e[0] - this.formInline.startTimeS = e[1] + this.formInline.startTimeS = e[0] + this.formInline.endTimeS = e[1] } else { - this.formInline.startTimeE = '' this.formInline.startTimeS = '' + this.formInline.endTimeS = '' } this.search() }, changeEnd(e) { if (e.length > 0) { - this.formInline.endTimeE = e[0] - this.formInline.endTimeS = e[1] + this.formInline.startTimeE = e[0] + this.formInline.endTimeE = e[1] } else { + this.formInline.startTimeE = '' this.formInline.endTimeE = '' - this.formInline.endTimeS = '' } this.search() }, @@ -456,37 +645,48 @@ }).then(res => { this.list = res.records this.total = res.total + this.$nextTick(() => { + console.log(this.$refs.table) + if (this.$refs.table && this.$refs.table.doLayout) { + this.$refs.table.doLayout(); + } + }); }) } else { - applyChagneDetailPage({ + fetchList({ capacity: 10, page: this.currentPage, model: { applyId: this.dataId, - applyStatus: this.formInline.applyStatus, - duId: this.formInline.duId, - workTypeId: this.formInline.workTypeId, - memberName: this.formInline.memberName, - endTimeE: this.formInline.endTimeE, - endTimeS: this.formInline.endTimeS, - startTimeE: this.formInline.startTimeE, - startTimeS: this.formInline.startTimeS, + status: this.formInline.applyStatus, + endTimeE: this.formInline.endTimeS, + endTimeS: this.formInline.startTimeS, types: this.formInline.types } }).then(res => { - this.list = res.records + if (this.activeName === '1') { + this.list1 = res.records + } else if (this.activeName === '2') { + this.list2 = res.records + } this.total = res.total + this.$nextTick(() => { + console.log(this.$refs.table) + if (this.$refs.table && this.$refs.table.doLayout) { + this.$refs.table.doLayout(); + } + }); }) } }, handleClick(e) { - this.activeName = e.index - if (e.index === '1') { - this.formInline.types = [0, 1] - } else if (e.index === '2') { - this.formInline.types = [2] - } - this.resetting() + this.activeName = e.index + if (e.index === '1') { + this.formInline.types = 0 + } else if (e.index === '2') { + this.formInline.types = 1 + } + this.resetting() }, goSign(){ getSignLink(this.dataId).then(res => { @@ -519,7 +719,7 @@ }, handleCurrentChange(val){ console.log(val) - this.page = val + this.currentPage = val this.getList() }, onSubmit(){ -- Gitblit v1.9.3