From c1138d041adf44d911d55b70b08f2ea6a9c378a9 Mon Sep 17 00:00:00 2001
From: nidapeng <jp@doumee.com>
Date: 星期三, 03 四月 2024 18:32:00 +0800
Subject: [PATCH] 提交一把
---
server/service/src/main/java/com/doumee/service/business/impl/ApplyChagneDetailServiceImpl.java | 3
company/src/components/business/UnionChangeDetails.vue | 374 +++++++++++++++++++++++++++++++++++++++++++++++++++++
company/src/components/business/OperaUnionChangeDetailWindow.vue | 32 +---
3 files changed, 387 insertions(+), 22 deletions(-)
diff --git a/company/src/components/business/OperaUnionChangeDetailWindow.vue b/company/src/components/business/OperaUnionChangeDetailWindow.vue
index af730f7..bb5a3d4 100644
--- a/company/src/components/business/OperaUnionChangeDetailWindow.vue
+++ b/company/src/components/business/OperaUnionChangeDetailWindow.vue
@@ -19,26 +19,14 @@
</div>
<div class="desc_item_label_right">
<template v-if="2">
- <el-button type="primary" @click="$refs.ApplyChangeDetails.open('鍔犲噺淇濊鍗�',apply,model,0)">瀵煎嚭璇﹀崟</el-button>
- <el-button v-if="[1,2,4,7,9].includes(model.status)" type="primary" @click="viewApplyFile">鏌ョ湅鐢宠鍗�</el-button>
+ <el-button type="primary" @click="$refs.ApplyChangeDetails.open('鍔犲噺淇濊鍗�',model,0)">瀵煎嚭璇﹀崟</el-button>
+ <el-button v-if="[1,2].includes(model.status)" type="primary" @click="viewApplyFile">鏌ョ湅鐢宠鍗�</el-button>
<el-button v-if="[2].includes(model.status)" type="primary" @click="viewPidan">鏌ョ湅鎵瑰崟</el-button>
- <el-button v-if=" model.solutionType == 1 && [1].includes(model.status)" type="primary" @click="$refs.ApplyChangeDetails.open('鎶曚繚瀹℃牳',apply,model,1)">鎶曚繚瀹℃牳</el-button>
- <el-button v-if=" model.solutionType == 1 && [0,1].includes(model.status)" type="danger" @click="$refs.OperaApplyChangeCheckWindow.open('閫�鍥炵敵璇�',model,1)">閫�鍥炵敵璇�</el-button>
- <el-button v-if=" model.solutionType == 1 && [7].includes(model.status)" type="danger" @click="closeOrder">鍏抽棴璁㈠崟</el-button>
- <el-button v-if=" model.solutionType == 0 && [1].includes(model.status)" type="primary" @click="$refs.OperaApplyChangeCheckWindow.open('涓婁紶鎵瑰崟',model,3)">涓婁紶鎵瑰崟</el-button>
- <el-button v-if="model.solutionType == 0 &&[3,4].includes(model.status)" type="primary" @click="$refs.OperaApplyChangeCheckWindow.open('椹冲洖閫�鍥炵敵璇�',model,5)">椹冲洖閫�鍥炵敵璇�</el-button>
- <el-button v-if="model.solutionType == 0 &&[0,1].includes(model.status)" type="danger" @click="$refs.OperaApplyChangeCheckWindow.open('閫�鍥炴姇淇�',model,1)">閫�鍥炴姇淇�</el-button>
- <el-button v-if="model.solutionType == 0 &&[2].includes(model.status)" type="danger" @click="$refs.OperaApplyChangeCheckWindow.open('淇敼鎵瑰崟',model,4)">淇敼鎵瑰崟</el-button>
+ <el-button v-if=" [1].includes(model.status)" type="primary" @click="$refs.OperaApplyChangeCheckWindow.open('涓婁紶鎵瑰崟',model,3)">涓婁紶鎵瑰崟</el-button>
+ <el-button v-if="[0,1].includes(model.status)" type="danger" @click="$refs.OperaApplyChangeCheckWindow.open('閫�鍥炴姇淇�',model,1)">閫�鍥炴姇淇�</el-button>
</template>
<template v-if="0">
- <el-button type="primary" @click="$refs.ApplyChangeDetails.open('鍔犲噺淇濊鍗�',apply,model,0)">瀵煎嚭璇﹀崟</el-button>
- <el-button v-if="[1,2,4,7,9].includes(model.status)" type="primary" @click="viewApplyFile">鏌ョ湅鐢宠鍗�</el-button>
- <el-button v-if="[2].includes(model.status)" type="primary" @click="viewPidan">鏌ョ湅鎵瑰崟</el-button>
- <el-button v-if=" model.solutionType == 0 && [1].includes(model.status)" type="primary" @click="$refs.OperaApplyChangeCheckWindow.open('涓婁紶鎵瑰崟',model,3)">涓婁紶鎵瑰崟</el-button>
- <el-button v-if="model.solutionType == 0 &&[3,4].includes(model.status)" type="primary" @click="$refs.OperaApplyChangeCheckWindow.open('椹冲洖閫�鍥炵敵璇�',model,5)">椹冲洖閫�鍥炵敵璇�</el-button>
- <el-button v-if="model.solutionType == 0 &&[0,1].includes(model.status)" type="danger" @click="$refs.OperaApplyChangeCheckWindow.open('閫�鍥炴姇淇�',model,1)">閫�鍥炴姇淇�</el-button>
- <el-button v-if="model.solutionType == 0 &&[2].includes(model.status)" type="danger" @click="$refs.OperaApplyChangeCheckWindow.open('淇敼鎵瑰崟',model,4)">淇敼鎵瑰崟</el-button>
- </template>
+ </template>
</div>
</div>
<div class="desc_item_from">
@@ -162,11 +150,11 @@
</el-pagination>
</div>
</div>
- <div class="desc_item_review">
+ <div class="desc_item_review" v-if="model.applyLogList">
<div class="desc_item_review_label">瀹℃牳娴佺▼</div>
<el-timeline :reverse="reverse">
<el-timeline-item
- v-for="(activity, index) in activities"
+ v-for="(activity, index) in model.applyLogList"
:key="index">
<div style="display: flex; flex-direction: column;">
<span style="font-size: 16px; font-weight: 400; color: black;">
@@ -184,7 +172,7 @@
</div>
</div>
</div>
- <ApplyChangeDetails ref="ApplyChangeDetails" @success="successEvent" />
+ <UnionChangeDetails ref="ApplyChangeDetails" @success="successEvent" />
<OperaApplyChangeCheckWindow ref="OperaApplyChangeCheckWindow" @success="successEvent" />
<!-- 浼佷笟鐢宠閫�鍥� -->
<!-- <applyReturn ref="applyReturn" @success="successEvent" />-->
@@ -233,7 +221,7 @@
<script>
import BaseOpera from '@/components/base/BaseOpera'
import GlobalWindow from '@/components/common/GlobalWindow'
-import ApplyChangeDetails from '@/components/business/ApplyChangeDetails'
+import UnionChangeDetails from '@/components/business/UnionChangeDetails'
import OperaApplyChangeCheckWindow from '@/components/business/OperaApplyChangeCheckWindow'
import reinsurance from '@/components/enterprise/reinsurance'
import factoryChange from '@/components/enterprise/factoryChange'
@@ -256,7 +244,7 @@
extends: BaseOpera,
components: {
GlobalWindow,
- ApplyChangeDetails,
+ UnionChangeDetails,
OperaApplyChangeCheckWindow,
add_subtract_return,
OperaInsuranceApply,
diff --git a/company/src/components/business/UnionChangeDetails.vue b/company/src/components/business/UnionChangeDetails.vue
new file mode 100644
index 0000000..d6d8408
--- /dev/null
+++ b/company/src/components/business/UnionChangeDetails.vue
@@ -0,0 +1,374 @@
+<template>
+ <GlobalWindow
+ :title="title"
+ width="100%"
+ :visible.sync="visible"
+ :confirm-working="isWorking"
+ @confirm="confirm"
+ >
+ <div class="box">
+ <div class="top">
+ {{title}}
+ </div>
+ <div class="box_table">
+ <div class="box_table_head">
+ <div class="box_table_head_item">鎶曚繚浜�</div>
+ <div class="box_table_head_item">淇濋櫓鏂规</div>
+ <div class="box_table_head_item">淇濋櫓鐢熸晥璧锋湡</div>
+ <div class="box_table_head_item">淇濋櫓鐢熸晥姝㈡湡</div>
+ <div class="box_table_head_item">淇濆崟鍙�</div>
+ <div class="box_table_head_item">鍔犱繚浜烘暟</div>
+ <div class="box_table_head_item">鍑忎繚浜烘暟</div>
+ <div class="box_table_head_item">鎵瑰崟鐢熸晥鏈�</div>
+ </div>
+ <div class="box_table_content " >
+ <div class="box_table_content_item box_table_content_header">{{ model.shopName }}</div>
+ <div class="box_table_content_item box_table_content_header">{{ model.solutionsName }}</div>
+ <div class="box_table_content_item box_table_content_header">{{ model.startTime }}</div>
+ <div class="box_table_content_item box_table_content_header">{{ model.endTime }}</div>
+ <div class="box_table_content_item box_table_content_header">{{ model.applyCode }}</div>
+ <div class="box_table_content_item box_table_content_header">{{ model.addNum}}</div>
+ <div class="box_table_content_item box_table_content_header">{{ model.delNum}}</div>
+ <div class="box_table_content_item box_table_content_header">{{ model.applyStartTime}}</div>
+ </div>
+ </div>
+ <div class="box_table">
+ <div class="box_table_head box_table_content">
+ <div class="box_table_head_item" style=" flex: 1;border-bottom: 0px">琚繚闄╀汉</div>
+ <div class="box_table_content_item box_table_content_header" style=" flex: 7;">{{ apply.companyNames }}</div>
+ </div>
+ </div>
+ <div class="box_table" v-if="addList && addList.length>0">
+ <div class="box_table_head">
+ <div class="box_table_head_item1">鍔犱繚鍛樺伐</div>
+ </div>
+ <div class="box_table_head">
+ <div class="box_table_head_item">搴忓彿</div>
+ <div class="box_table_head_item">鍛樺伐濮撳悕</div>
+ <div class="box_table_head_item">鎬у埆</div>
+ <div class="box_table_head_item">韬唤璇佸彿</div>
+ <div class="box_table_head_item">琚繚闄╀汉</div>
+ <div class="box_table_head_item">娲鹃仯鍗曚綅</div>
+ <div class="box_table_head_item">鎵�灞炲伐绉�</div>
+ </div>
+ <div class="box_table_content" v-for="(item, index) in addList" :key="index">
+ <div class="box_table_content_item">{{(index + 1)}}</div>
+ <div class="box_table_content_item" >{{ item.memberName }}</div>
+ <div class="box_table_content_item">{{ item.sex==0?"鐢�":(item.sex==1?"濂�":"" )}}</div>
+ <div class="box_table_content_item">{{ item.memberIdcardNo }}</div>
+ <div class="box_table_content_item">{{ item.companyName }}</div>
+ <div class="box_table_content_item">{{ item.duName }}</div>
+ <div class="box_table_content_item">{{item.workTypeName}}</div>
+ </div>
+ </div>
+ <div class="box_table" v-if="delList && delList.length>0">
+ <div class="box_table_head">
+ <div class="box_table_head_item1">鍑忎繚鍛樺伐</div>
+ </div>
+ <div class="box_table_head">
+ <div class="box_table_head_item">搴忓彿</div>
+ <div class="box_table_head_item">鍛樺伐濮撳悕</div>
+ <div class="box_table_head_item">韬唤璇佸彿</div>
+ <div class="box_table_head_item">琚繚闄╀汉</div>
+ <div class="box_table_head_item">鎬у埆</div>
+ <div class="box_table_head_item">娲鹃仯鍗曚綅</div>
+ <div class="box_table_head_item">鎵�灞炲伐绉�</div>
+ </div>
+ <div class="box_table_content" v-for="(item, index) in delList" :key="index">
+ <div class="box_table_content_item">{{(index + 1)}}</div>
+ <div class="box_table_content_item" >{{ item.memberName }}</div>
+ <div class="box_table_content_item">{{ item.sex==0?"鐢�":(item.sex==1?"濂�":"" )}}</div>
+ <div class="box_table_content_item">{{ item.memberIdcardNo }}</div>
+ <div class="box_table_content_item">{{ item.companyName }}</div>
+ <div class="box_table_content_item">{{ item.duName }}</div>
+ <div class="box_table_content_item">{{item.workTypeName}}</div>
+ </div>
+ </div>
+ <div class="box_table" v-if="type==1" style="border-top: 0px solid #b4bbc5;" >
+ <div class="box_table_head">
+ <div class="box_table_head_item5">澶囨敞</div>
+ <div class="box_table_head_item5">
+ <input v-model="form.checkInfo" style="width: 100%;height: 45px;border: 0px;outline: none;" placeholder="璇疯緭鍏�" v-trim/>
+ </div>
+ </div>
+ </div>
+ </div>
+ <template v-if="type==1" v-slot:footer>
+ <el-button type="primary" :loading="isWorking.export" @click="check(0)">鎻愪氦閫氳繃</el-button>
+<!-- <el-button type="danger" :loading="isWorking.export" @click="check(1)">瀹℃牳涓嶉�氳繃</el-button>-->
+ <el-button @click="visible=false">鍙栨秷</el-button>
+ </template>
+ <template v-else-if="type==2" v-slot:footer>
+ <el-button @click="visible=false">杩斿洖</el-button>
+ </template>
+ <template v-else v-slot:footer>
+ <el-button type="primary" :loading="isWorking.export" @click="exportDetail">瀵煎嚭璇﹀崟</el-button>
+ <el-button @click="visible=false">鍙栨秷</el-button>
+ </template>
+ </GlobalWindow>
+</template>
+
+<script>
+ import BaseOpera from '@/components/base/BaseOpera'
+ import GlobalWindow from '@/components/common/GlobalWindow'
+ import {getChangeDetailList, exportJiajianBaoExcel} from "@/api/business/insuranceApply";
+ import {check } from "@/api/business/applyChange";
+ import {exportComFiles} from "@/api/business/company";
+ export default {
+ name: 'ApplyChangeDetails',
+ extends: BaseOpera,
+ components: { GlobalWindow },
+ data () {
+ return {
+ model:{},
+ apply:{},
+ type:0,
+ delList:[],
+ addList:[],
+ // 琛ㄥ崟鏁版嵁
+ form: {
+ id: null,
+ dealBackApply:0,
+ checkInfo: ''
+ },
+ // 楠岃瘉瑙勫垯
+ rules: {
+ },
+ reverse: false,
+ tableData: []
+ }
+ },
+ created () {
+ this.config({
+ api: '/business/insuranceApply',
+ 'field.id': 'id'
+ })
+ },
+ methods: {
+ open(title,target,target2){
+ this.title=title
+ this.visible=true
+ this.model = target
+ this.form.id=target.id
+ this.type=target2
+ this.getDetailListDo()
+ },
+ check (type) {
+ this.form.dealBackApply = type
+ this.$dialog.messageConfirm('纭杩涜璇ユ搷浣滃悧锛�')
+ .then(() => {
+ this.isWorking = true
+ check(this.form)
+ .then(response => {
+ this.visible = false
+ this.$emit('success')
+ }).catch(err => {
+ this.$tip.apiFailed(err)
+ })
+ })
+ .catch(() => {
+ })
+ },
+ getDetailListDo() {
+ this.delList=[]
+ this.addList=[]
+ getChangeDetailList({unionChangeId: this.model.id})
+ .then(res => {
+ res.forEach(item1 => {
+ if (item1.type == 1) {
+ this.delList.push(item1);
+ } else {
+ this.addList.push(item1);
+ }
+ })
+
+ }).catch(err => {})
+ },
+ exportDetail(){
+ this.$dialog.exportConfirm('纭瀵煎嚭璇﹀崟鍚楋紵')
+ .then(() => {
+ this.isWorking = true
+ exportJiajianBaoExcel({ id: this.model.id })
+ .then(response => {
+ this.download(response)
+ })
+ .catch(e => {
+ console.log(e)
+ this.$message.error('鏁版嵁涓嬭浇澶辫触锛�')
+ })
+ .finally(() => {
+ this.isWorking = false
+ })
+ })
+ .catch(() => {
+ })
+ },
+ handleSizeChange(val) {
+ console.log(`姣忛〉 ${val} 鏉);
+ },
+ handleCurrentChange(val) {
+ console.log(`褰撳墠椤�: ${val}`);
+ },
+ handleClick(tab, event) {
+ console.log(tab, event);
+ },
+ onSubmit() {
+
+ }
+ }
+ }
+</script>
+
+<style lang="scss" scoped>
+ .box {
+ width: 100%;
+ .top{
+ width: 100%;
+ align-items: center;
+ flex-wrap: wrap;
+ border-top: 1px solid #b4bbc5;
+ border-left: 1px solid #b4bbc5;
+ font-size: 14px;
+ font-weight: bold;
+ text-align: center;
+ padding: 15px;
+ box-sizing: border-box;
+ }
+ .box_header {
+ width: 100%;
+ display: flex;
+ align-items: center;
+ flex-wrap: wrap;
+ border-top: 1px solid #b4bbc5;
+ border-left: 1px solid #b4bbc5;
+ box-sizing: border-box;
+ .box_header_item {
+ width: 50%;
+ height: 50px;
+ display: flex;
+ align-items: center;
+ border-right: 1px solid #b4bbc5;
+ border-bottom: 1px solid #b4bbc5;
+ box-sizing: border-box;
+
+ .box_header_item_label {
+ flex: 1;
+ height: 100%;
+ display: flex;
+ align-items: center;
+ justify-content: center;
+ font-size: 14px;
+ color: black;
+ background: #f2f2f2;
+ border-right: 1px solid #b4bbc5;
+ box-sizing: border-box;
+ }
+ .box_header_item_val {
+ flex: 1;
+ height: 100%;
+ display: flex;
+ align-items: center;
+ justify-content: center;
+ font-size: 14px;
+ color: black;
+ }
+ }
+ }
+ .box_table {
+ width: 100%;
+ border-top: 1px solid #b4bbc5;
+ border-left: 1px solid #b4bbc5;
+ box-sizing: border-box;
+ .box_table_head {
+ width: 100%;
+ display: flex;
+ align-items: center;
+ .box_table_head_item1 {
+ flex: 1;
+ height: 50px;
+ background: #f2f2f2;
+ display: flex;
+ align-items: center;
+ justify-content: center;
+ font-size: 14px;
+ color: black;
+ border-right: 1px solid #b4bbc5;
+ border-bottom: 1px solid #b4bbc5;
+ box-sizing: border-box;
+ }
+ .box_table_head_item {
+ flex: 1;
+ height: 50px;
+ background: #f2f2f2;
+ display: flex;
+ align-items: center;
+ justify-content: center;
+ font-size: 14px;
+ color: black;
+ border-right: 1px solid #b4bbc5;
+ border-bottom: 1px solid #b4bbc5;
+ box-sizing: border-box;
+ &:nth-child(3) {
+ }
+ &:nth-child(9) {
+ }
+ }
+ .box_table_head_item5 {
+ flex: 1;
+ height: 50px;
+ background: #f2f2f2;
+ display: flex;
+ align-items: center;
+ justify-content: center;
+ font-size: 14px;
+ color: black;
+ border-right: 1px solid #b4bbc5;
+ border-bottom: 1px solid #b4bbc5;
+ box-sizing: border-box;
+ &:nth-child(2) {
+ }
+ }
+ .box_form_item {
+ flex: 1;
+ height: 50px;
+ background: #ffffff;
+ display: flex;
+ align-items: center;
+ justify-content: center;
+ font-size: 14px;
+ color: black;
+ border-right: 1px solid #b4bbc5;
+ border-bottom: 1px solid #b4bbc5;
+ box-sizing: border-box;
+ &:nth-child(1) {
+ }
+ }
+ }
+ .box_table_content {
+ width: 100%;
+ display: flex;
+ align-items: center;
+ .box_table_content_header{
+ border-bottom: 0px solid #b4bbc5 !important;
+ }
+ .box_table_content_item {
+ flex: 1;
+ height: 50px;
+ background: #ffffff;
+ display: flex;
+ align-items: center;
+ justify-content: center;
+ font-size: 14px;
+ color: black;
+ border-right: 1px solid #b4bbc5;
+ border-bottom: 1px solid #b4bbc5;
+ box-sizing: border-box;
+ &:nth-child(3) {
+ }
+ &:nth-child(9) {
+ }
+ }
+ }
+ }
+ }
+</style>
diff --git a/server/service/src/main/java/com/doumee/service/business/impl/ApplyChagneDetailServiceImpl.java b/server/service/src/main/java/com/doumee/service/business/impl/ApplyChagneDetailServiceImpl.java
index 0266b4f..768ce06 100644
--- a/server/service/src/main/java/com/doumee/service/business/impl/ApplyChagneDetailServiceImpl.java
+++ b/server/service/src/main/java/com/doumee/service/business/impl/ApplyChagneDetailServiceImpl.java
@@ -98,10 +98,12 @@
queryWrapper.select("t3.name",ApplyChagneDetail::getDuName);
queryWrapper.select("t4.name",ApplyChagneDetail::getOldWorkTypeName);
queryWrapper.select("t5.name",ApplyChagneDetail::getOldDuName);
+ queryWrapper.selectAs(Company::getName,ApplyChagneDetail::getCompanyName);
queryWrapper.selectAs(Member::getName,ApplyChagneDetail::getMemberName);
queryWrapper.selectAs(Member::getSex,ApplyChagneDetail::getSex);
queryWrapper.selectAs(Member::getIdcardNo,ApplyChagneDetail::getMemberIdcardNo);
queryWrapper.leftJoin(Member.class,Member::getId,ApplyChagneDetail::getMemberId);
+ queryWrapper.leftJoin(Company.class,Company::getId,Member::getCompanyId);
queryWrapper.leftJoin(Worktype.class,Worktype::getId,ApplyChagneDetail::getWorktypeId);
queryWrapper.leftJoin(DispatchUnit.class,DispatchUnit::getId,ApplyChagneDetail::getDuId);
queryWrapper.leftJoin(Worktype.class,Worktype::getId,ApplyChagneDetail::getOldWorktypeId);
@@ -111,6 +113,7 @@
queryWrapper.eq(!Objects.isNull(applyDetailPageDTO.getDuId()),ApplyChagneDetail::getDuId,applyDetailPageDTO.getDuId());
queryWrapper.eq(!Objects.isNull(applyDetailPageDTO.getWorktypeId()),ApplyChagneDetail::getWorktypeId,applyDetailPageDTO.getWorktypeId());
queryWrapper.eq(!Objects.isNull(applyDetailPageDTO.getApplyChangeId()),ApplyChagneDetail::getApplyChangeId,applyDetailPageDTO.getApplyChangeId());
+ queryWrapper.eq(!Objects.isNull(applyDetailPageDTO.getUnionChangeId()),ApplyChagneDetail::getUnionChangeId,applyDetailPageDTO.getUnionChangeId());
queryWrapper.like(StringUtils.isNotBlank(applyDetailPageDTO.getMemberName()),Member::getName,applyDetailPageDTO.getMemberName());
List<ApplyChagneDetail> pageData = applyChangeDetailJoinMapper.selectJoinList( ApplyChagneDetail.class, queryWrapper);
--
Gitblit v1.9.3