From 5019ed6016b47221321bf395cd102dc4b51b4724 Mon Sep 17 00:00:00 2001
From: MrShi <1878285526@qq.com>
Date: 星期一, 05 二月 2024 09:40:43 +0800
Subject: [PATCH] Mr.Shi
---
company/src/components/business/OperaInsuranceApplyWindow.vue | 388 ++++++++++++++++++++++++++++++++++++++++++-------------
1 files changed, 296 insertions(+), 92 deletions(-)
diff --git a/company/src/components/business/OperaInsuranceApplyWindow.vue b/company/src/components/business/OperaInsuranceApplyWindow.vue
index 37a6fca..2dae778 100644
--- a/company/src/components/business/OperaInsuranceApplyWindow.vue
+++ b/company/src/components/business/OperaInsuranceApplyWindow.vue
@@ -8,10 +8,18 @@
>
<div class="desc">
<div class="desc_item">
+ <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" @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>
+ </div>
<div class="desc_item_label">
<div class="desc_item_label_left">
<span>鎶曚繚浼佷笟锛歿{ model.companyName }}</span>
- <span>淇濆崟鐘舵�侊細{{ model.statusInfo }}</span>
+ <span>淇濆崟鐘舵�侊細<span :class="'apply-status'+model.status" >{{ model.statusInfo }}</span></span>
<span>鎻愪氦鏃堕棿锛歿{ model.createDate }}</span>
</div>
<div class="desc_item_label_right">
@@ -23,19 +31,17 @@
<el-button v-if="model.status == 5" type="primary" @click="viewBaoxiandan">鏌ョ湅淇濋櫓鍗�</el-button>
<el-button v-if="model.status == 2" type="primary" @click="goSign">绛剧讲鎶曚繚鍗�</el-button>
</template>
- <template v-else>
- <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>
- <el-button v-if="model.status == 10" type="primary" @click="$refs.OperaInsuranceApplyCheckWindow.open('涓婁紶鎶曚繚鍗�',model,2)">涓婁紶鎶曚繚鍗�</el-button>
- <el-button v-if="model.status == 3" type="primary" @click="$refs.OperaInsuranceApplyCheckWindow.open('涓婁紶淇濋櫓鍗�',model,3)">涓婁紶淇濋櫓鍗�</el-button>
- <el-button v-if="model.status == 6 || model.status == 7|| model.status == 8" type="primary" @click="$refs.OperaInsuranceApplyCheckWindow.open('椹冲洖閫�鍥炵敵璇�',model,5)">椹冲洖閫�鍥炵敵璇�</el-button>
- <el-button v-if="model.status == 0" type="primary" @click="$refs.InsuranceDetails.open('鎶曚繚瀹℃牳',model,1)">鎶曚繚瀹℃牳</el-button>
- <el-button v-if="model.status != 5 && model.status != 4 && model.status != 1" type="danger" @click="$refs.OperaInsuranceApplyCheckWindow.open('閫�鍥炴姇淇�',model,1)">閫�鍥炴姇淇�</el-button>
- <el-button v-if="model.status == 5" type="danger" @click="$refs.OperaInsuranceApplyCheckWindow.open('淇敼淇濋櫓鍗�',model,4)">淇敼淇濋櫓鍗�</el-button>
- </template>
-
-
+ <template v-else>
+ <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>
+ <el-button v-if="model.status == 10" type="primary" @click="$refs.OperaInsuranceApplyCheckWindow.open('涓婁紶鎶曚繚鍗�',model,2)">涓婁紶鎶曚繚鍗�</el-button>
+ <el-button v-if="model.status == 3" type="primary" @click="$refs.OperaInsuranceApplyCheckWindow.open('涓婁紶淇濋櫓鍗�',model,3)">涓婁紶淇濋櫓鍗�</el-button>
+ <el-button v-if="model.status == 6 || model.status == 7|| model.status == 8" type="primary" @click="$refs.OperaInsuranceApplyCheckWindow.open('椹冲洖閫�鍥炵敵璇�',model,5)">椹冲洖閫�鍥炵敵璇�</el-button>
+ <el-button v-if="model.status == 0" type="primary" @click="$refs.InsuranceDetails.open('鎶曚繚瀹℃牳',model,1)">鎶曚繚瀹℃牳</el-button>
+ <el-button v-if="model.status != 5 && model.status != 4 && model.status != 1" type="danger" @click="$refs.OperaInsuranceApplyCheckWindow.open('閫�鍥炴姇淇�',model,1)">閫�鍥炴姇淇�</el-button>
+ <el-button v-if="model.status == 5" type="danger" @click="$refs.OperaInsuranceApplyCheckWindow.open('淇敼淇濋櫓鍗�',model,4)">淇敼淇濋櫓鍗�</el-button>
+ </template>
</div>
</div>
<div class="desc_item_from">
@@ -77,7 +83,7 @@
<el-table-column
prop="currentFee"
align="center"
- label="褰撳墠璐圭敤(鍏�)">
+ label="浜х敓璐圭敤(鍏�)">
</el-table-column>
<el-table-column
prop="fee"
@@ -88,62 +94,77 @@
</div>
<div class="desc_item_cate">
<el-tabs v-model="activeName" @tab-click="handleClick">
- <el-tab-pane label="鍦ㄤ繚浜哄憳" name="first"></el-tab-pane>
- <el-tab-pane label="鍔�/鍑忎繚璁板綍" name="second"></el-tab-pane>
- <el-tab-pane label="鎹㈠巶璁板綍" name="third"></el-tab-pane>
+ <el-tab-pane label="鍦ㄤ繚浜哄憳" name="0"></el-tab-pane>
+ <el-tab-pane label="鍔�/鍑忎繚璁板綍" name="1"></el-tab-pane>
+ <el-tab-pane label="鎹㈠巶璁板綍" name="2"></el-tab-pane>
</el-tabs>
</div>
<div class="desc_item_search">
- <el-form :inline="true" :model="formInline" class="demo-form-inline">
- <el-form-item label="鍦ㄤ繚鐘舵��" prop="region">
- <el-select v-model="formInline.region" placeholder="璇烽�夋嫨">
+ <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>
</el-form-item>
- <el-form-item label="娲鹃仯鍗曚綅" prop="region">
- <el-select v-model="formInline.region" placeholder="璇烽�夋嫨">
- <el-option label="淇濋殰涓�" value="1"></el-option>
- <el-option label="涓嶅湪淇�" value="2"></el-option>
+ <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="region">
- <el-select v-model="formInline.region" placeholder="璇烽�夋嫨">
- <el-option label="淇濋殰涓�" value="1"></el-option>
- <el-option label="涓嶅湪淇�" value="2"></el-option>
+ <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="user">
- <el-input v-model="formInline.user" placeholder="璇疯緭鍏�"></el-input>
+ <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="user">
+ <el-form-item label="淇濋櫓鐢熸晥璧锋湡" prop="end">
<el-date-picker
- v-model="formInline.user"
+ @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="user">
+ <el-form-item label="淇濋櫓鐢熸晥姝㈡湡" prop="start">
<el-date-picker
- v-model="formInline.user"
+ @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="onSubmit">鏌ヨ</el-button>
- <el-button>閲嶇疆</el-button>
- <el-button type="primary">瀵煎嚭鍚嶅崟</el-button>
+ <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="tableData"
+ :data="list"
border
style="width: 100%">
<el-table-column label="搴忓彿">
@@ -152,61 +173,70 @@
</template>
</el-table-column>
<el-table-column
- prop="date"
+ prop="memberName"
label="鍛樺伐濮撳悕">
</el-table-column>
<el-table-column
- prop="name"
- label="鎬у埆"
- width="180">
+ label="鎬у埆">
+ <template slot-scope="{row}">
+ <span v-if="row.sex === 0">鐢�</span>
+ <span v-else>濂�</span>
+ </template>
</el-table-column>
<el-table-column
- prop="address"
+ prop="idcardNo"
label="韬唤璇佸彿">
</el-table-column>
<el-table-column
- prop="address"
+ prop="duName"
label="娲鹃仯鍗曚綅">
</el-table-column>
<el-table-column
- prop="address"
+ prop="workTypeName"
label="鎵�灞炲伐绉�">
</el-table-column>
<el-table-column
- prop="address"
+ prop="startTime"
label="淇濋櫓鐢熸晥璧锋湡">
</el-table-column>
<el-table-column
- prop="address"
+ prop="endTime"
label="淇濋櫓鐢熸晥姝㈡湡">
</el-table-column>
<el-table-column
- prop="address"
+ prop="fee"
label="浜х敓璐圭敤锛堝厓锛�">
</el-table-column>
</el-table>
<div class="desc_item_from_page">
<el-pagination
- @size-change="handleSizeChange"
@current-change="handleCurrentChange"
:current-page="currentPage"
- :page-sizes="[100, 200, 300, 400]"
- :page-size="100"
- layout="total, sizes, prev, pager, next, jumper"
- :total="400">
+ :page-size="10"
+ layout="total, prev, pager, next, jumper"
+ :total="total">
</el-pagination>
</div>
</div>
<div class="desc_item_review">
<div class="desc_item_review_label">瀹℃牳娴佺▼</div>
- <el-timeline :reverse="reverse">
- <el-timeline-item
- v-for="(activity, index) in activities"
- :key="index"
- :timestamp="activity.createDate">
- {{activity.title}}
- </el-timeline-item>
- </el-timeline>
+ <el-timeline :reverse="reverse">
+ <el-timeline-item
+ 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="margin-top: 5px; font-size: 12px; font-weight: 400; color: #999999;">
+ 鎿嶄綔鍛�-{{activity.creatorName}}锛坽{activity.creatorType==1? activity.companyName: "骞冲彴绔�"}}锛墈{activity.createDate}}
+ </span>
+ </div>
+ </el-timeline-item>
+ </el-timeline>
</div>
</div>
</div>
@@ -216,6 +246,13 @@
<applyReturn ref="applyReturn" @success="successEvent" />
<!-- 鏂板鎶曚繚 -->
<OperaInsuranceApply ref="OperaInsuranceApply" @success="successEvent" />
+ <!-- 鍔犲噺淇濈敵璇� -->
+ <additionSubtractionApplication ref="additionSubtractionApplication" @success="successEvent" />
+ <!-- 鎹㈠巶鐢宠 -->
+ <factoryChange ref="factoryChange" @success="successEvent" />
+ <template v-slot:footer>
+ <el-button @click="visible=false">杩斿洖</el-button>
+ </template>
</GlobalWindow>
</template>
@@ -224,16 +261,28 @@
import GlobalWindow from '@/components/common/GlobalWindow'
import InsuranceDetails from '@/components/business/InsuranceDetails'
import OperaInsuranceApplyCheckWindow from '@/components/business/OperaInsuranceApplyCheckWindow'
+import additionSubtractionApplication from '@/components/enterprise/additionSubtractionApplication'
+import factoryChange from '@/components/enterprise/factoryChange'
import applyReturn from '@/components/enterprise/applyReturn'
-import {getDetail, getSignLink} from "@/api/business/insuranceApply";
+import { getDetail, getSignLink, applyDetailPage, applyChagneDetailPage, exportExcel, applyChagneDetailExcel } from "@/api/business/insuranceApply";
+import { findListByDTO } from "@/api/business/dispatchUnit";
+import { findListByDTO as worktypeFindListByDTO } from "@/api/business/worktype";
import OperaInsuranceApply from '@/components/enterprise/OperaInsuranceApplyWindow'
import { mapState } from 'vuex'
-import {all as solutionAll} from "@/api/business/solutions";
+
export default {
name: 'OperaInsuranceApplyWindow',
extends: BaseOpera,
- components: { GlobalWindow, InsuranceDetails ,OperaInsuranceApplyCheckWindow, applyReturn, OperaInsuranceApply },
+ components: {
+ GlobalWindow,
+ InsuranceDetails,
+ OperaInsuranceApplyCheckWindow,
+ applyReturn,
+ OperaInsuranceApply,
+ additionSubtractionApplication,
+ factoryChange
+ },
data () {
return {
// 琛ㄥ崟鏁版嵁
@@ -247,31 +296,32 @@
rules: {
},
formInline: {
- user: '',
- region: ''
+ applyStatus: '',
+ duId: '',
+ workTypeId: '',
+ memberName: '',
+ end: [],
+ start: [],
+ endTimeE: '',
+ endTimeS: '',
+ startTimeE: '',
+ startTimeS: '',
+ types: ''
},
visible1: false,
visible2: false,
visible3: false,
visible4: false,
visible5: false,
- reverse: true,
+ reverse: false,
radio: 0,
- fileList: [
- {name: 'food.pdf', url: 'https://fuss10.elemecdn.com/3/63/4e7f3a15429bfda99bce42a18cdd1jpeg.jpeg?imageMogr2/thumbnail/360x360/format/webp/quality/100'}
- ],
- activities: [{
- content: '娲诲姩鎸夋湡寮�濮�',
- timestamp: '2018-04-15'
- }, {
- content: '閫氳繃瀹℃牳',
- timestamp: '2018-04-13'
- }, {
- content: '鍒涘缓鎴愬姛',
- timestamp: '2018-04-11'
- }],
+ activities: [],
tableData: [],
- activeName: 'first',
+ list: [],
+ dwList: [],
+ gzList: [],
+ activeName: '0',
+ total: 0,
currentPage: 1
}
},
@@ -288,24 +338,175 @@
open(title,target){
this.visible = true;
this.title = title
+ this.model={}
+ this.dataId=null
this.dataId = target.id
this.getDetail()
+ this.getList()
+ this.getDW()
+ this.getGZ()
},
+ // 娲鹃仯鍗曚綅
+ getDW() {
+ findListByDTO({ applyId: this.dataId })
+ .then(res => {
+ this.dwList = res
+ })
+ },
+ // 宸ョ
+ getGZ() {
+ worktypeFindListByDTO({
+ id: this.dataId,
+ queryType: 2
+ }).then(res => {
+ this.gzList = res
+ })
+ },
+ resetting() {
+ 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() {
+ this.currentPage = 1
+ this.getList()
+ },
+ changeStart(e) {
+ if (e.length > 0) {
+ this.formInline.startTimeE = e[0]
+ this.formInline.startTimeS = e[1]
+ } else {
+ this.formInline.startTimeE = ''
+ this.formInline.startTimeS = ''
+ }
+ this.search()
+ },
+ changeEnd(e) {
+ if (e.length > 0) {
+ this.formInline.endTimeE = e[0]
+ this.formInline.endTimeS = e[1]
+ } else {
+ this.formInline.endTimeE = ''
+ this.formInline.endTimeS = ''
+ }
+ this.search()
+ },
+ exportExcel() {
+ if (this.activeName === '0') {
+ exportExcel({
+ capacity: 10,
+ page: this.currentPage,
+ model: {
+ solutionName: this.tableData[0].solutionsName,
+ 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
+ }
+ }).then(response => {
+ this.download(response)
+ })
+ } else {
+ applyChagneDetailExcel({
+ 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,
+ types: this.formInline.types
+ }
+ }).then(response => {
+ this.download(response)
+ })
+ }
+ },
+ getList() {
+ if (this.activeName === '0') {
+ applyDetailPage({
+ 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
+ }
+ }).then(res => {
+ this.list = res.records
+ this.total = res.total
+ })
+ } else {
+ applyChagneDetailPage({
+ 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,
+ types: this.formInline.types
+ }
+ }).then(res => {
+ this.list = res.records
+ this.total = res.total
+ })
+ }
+ },
handleClick(e) {
- console.log(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()
},
goSign(){
getSignLink(this.dataId).then(res => {
+ setTimeout(() => {
window.open(res)
+ }, 500);
}).catch(err => {
this.$tip.apiFailed(err)
})
},
viewToubaodan(){
if(this.model.toubaodanSignedFile && this.model.toubaodanSignedFile.fileurlFull){
- window.open(this.model.toubaodanSignedFile.fileurlFull)
+ setTimeout(() => {
+ window.open(this.model.toubaodanSignedFile.fileurlFull)
+ }, 500);
+
} else if(this.model.toubaodanFile && this.model.toubaodanFile.fileurlFull){
- window.open(this.model.toubaodanFile.fileurlFull)
+ setTimeout(() => {
+ window.open(this.model.toubaodanFile.fileurlFull)
+ },500)
}
},
viewBaoxiandan(){
@@ -313,27 +514,30 @@
window.open(this.model.baoxiandanFile.fileurlFull)
}
},
- handleSizeChange(){
-
+ handleSizeChange(val){
+ console.log(val)
},
- handleCurrentChange(){
-
+ handleCurrentChange(val){
+ console.log(val)
+ this.page = val
+ this.getList()
},
onSubmit(){
},
- getDetail(){
+ getDetail(){
getDetail(this.dataId).then(res => {
this.model = res
this.tableData = new Array()
this.tableData.push(res)
console.log(this.tableData)
- this.activities=res.applyLogList
+ this.activities = res.applyLogList
}).catch(err => {
})
},
successEvent(){
- this.visible=false
+ // this.visible=false
+ this.getDetail()
this.$emit('success')
}
}
--
Gitblit v1.9.3