From fd6df9412858c419689662d0ebd50f2cac231361 Mon Sep 17 00:00:00 2001
From: nidapeng <jp@doumee.com>
Date: 星期六, 06 四月 2024 14:26:53 +0800
Subject: [PATCH] 提交一把

---
 company/src/components/business/UnionChangeUnitDetails.vue                                |  357 ++++++++++++++++++
 server/service/src/main/java/com/doumee/service/business/impl/ApplyChangeServiceImpl.java |    9 
 server/service/src/main/java/com/doumee/service/business/impl/UnionChangeServiceImpl.java |   13 
 company/src/components/business/OpearaUnionChangeUnit.vue                                 |   20 
 company/src/components/business/OperaUnionChangeUnitDetailWindow.vue                      |  587 ++++++++++++++++++++++++++++++
 company/src/components/business/OperaUnionApplyCheckWindow.vue                            |    3 
 company/src/components/business/OperaUnionChangeCheckWindow.vue                           |   11 
 company/src/components/business/UnionChangeDetails.vue                                    |    2 
 company/src/views/business/unionChangeUnit.vue                                            |   11 
 company/src/components/business/OperaUnionChangeDetailWindow.vue                          |   13 
 server/service/src/main/java/com/doumee/core/annotation/excel/ExcelExporter.java          |   88 ++-
 11 files changed, 1,046 insertions(+), 68 deletions(-)

diff --git a/company/src/components/business/OpearaUnionChangeUnit.vue b/company/src/components/business/OpearaUnionChangeUnit.vue
index 25ff19a..eca4962 100644
--- a/company/src/components/business/OpearaUnionChangeUnit.vue
+++ b/company/src/components/business/OpearaUnionChangeUnit.vue
@@ -63,20 +63,20 @@
           label="琚繚闄╀汉">
       </el-table-column>
       <el-table-column
-          prop="applyStartTime"
-          label="鏈熸湜淇濋櫓鐢熸晥璧锋湡">
+          prop="validCode"
+          label="淇濆崟鍙�">
       </el-table-column>
       <el-table-column
-          prop="addNum"
-          label="鍔犱繚浜烘暟">
+          prop="startTime"
+          label="淇濋櫓鐢熸晥璧锋湡">
       </el-table-column>
       <el-table-column
-          prop="delNum"
-          label="鍑忎繚浜烘暟">
+          prop="endTime"
+          label="淇濋櫓鐢熸晥姝㈡湡">
       </el-table-column>
       <el-table-column
-          prop="fee"
-          label="璐圭敤鍙樻洿">
+          prop="changeNum"
+          label="鎹㈠巶浜烘暟">
       </el-table-column>
       <el-table-column  label="鎿嶄綔">
         <template slot-scope="{row}">
@@ -156,7 +156,7 @@
 import selectApplicationForm from '@/components/business/selectApplicationForm'
 import { listAll } from '@/api/business/applyChange'
 import { merge } from '@/api/business/unionChange'
-import ApplyChangeDetails from '@/components/business/ApplyChangeDetails'
+import ApplyChangeDetails from '@/components/business/ApplyChangeUnitDetails'
 import { fetchList as pageUnionList } from '@/api/business/unionApply'
 import {getDetail} from "@/api/business/insuranceApply";
 export default {
@@ -208,7 +208,7 @@
     checkDetial(row){
       getDetail(row.applyId).then(res => {
         // this.apply = res
-        this.$refs.ApplyChangeDetails.open('鍔犲噺淇濅汉鍛樺悕鍗�',res, row,2)
+        this.$refs.ApplyChangeDetails.open('鏇存崲娲鹃仯鍗曚綅浜哄憳',res, row,2)
       }).catch(err => {
       })
     },
diff --git a/company/src/components/business/OperaUnionApplyCheckWindow.vue b/company/src/components/business/OperaUnionApplyCheckWindow.vue
index a84674d..a9df2ba 100644
--- a/company/src/components/business/OperaUnionApplyCheckWindow.vue
+++ b/company/src/components/business/OperaUnionApplyCheckWindow.vue
@@ -59,7 +59,7 @@
           <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>
@@ -165,7 +165,6 @@
       this.form.toubaodanFile= null
     },
     deleIndex (flag,index) {
-      alert(index)
       if(flag == 0){
         this.form.tbdMultifileList[index].fileurl = null
         this.form.tbdMultifileList[index].name = null
diff --git a/company/src/components/business/OperaUnionChangeCheckWindow.vue b/company/src/components/business/OperaUnionChangeCheckWindow.vue
index 092bf8b..9e76683 100644
--- a/company/src/components/business/OperaUnionChangeCheckWindow.vue
+++ b/company/src/components/business/OperaUnionChangeCheckWindow.vue
@@ -41,15 +41,17 @@
           <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 v-if="model.type==0" class="box_table_head_item">鍔犱繚浜烘暟</div>
+            <div v-if="model.type==0" class="box_table_head_item">鍑忎繚浜烘暟</div>
+            <div v-if="model.type==1" class="box_table_head_item">鍙樻洿浜烘暟</div>
             <div class="box_table_head_item">涓婁紶鎵瑰崟</div>
           </div>
           <div class="box_table_content" v-for="(item, index) in model.applyList" :key="index">
             <div class="box_table_content_item">{{index + 1}}</div>
             <div class="box_table_content_item" >{{ item.companyName }}</div>
-            <div class="box_table_content_item">{{ item.addNum }}</div>
-            <div class="box_table_content_item">{{ item.delNum }}</div>
+            <div v-if="model.type==0" class="box_table_content_item">{{ item.addNum }}</div>
+            <div v-if="model.type==0" class="box_table_content_item">{{ item.delNum }}</div>
+            <div  v-if="model.type==1" class="box_table_content_item">{{ item.changeNum }}</div>
             <div class="box_table_content_item">
               <el-form-item label="" prop="bxdMultifileList[index]">
                 <UploadFileLink   @remove="deleIndex(1,index)" :uploadData="{ folder: 'apply',fileType:'.pdf' }" :fileIndex="index" :showTips="showTips" :fileList="model.applyList[index].fileList1" @uploadSuccess="baoxianFileUploaded2" />
@@ -124,7 +126,6 @@
   },
   methods: {
     deleIndex (flag,index) {
-      alert(index)
       if(flag == 0){
         this.form.tbdMultifileList[index].fileurl = null
         this.form.tbdMultifileList[index].name = null
diff --git a/company/src/components/business/OperaUnionChangeDetailWindow.vue b/company/src/components/business/OperaUnionChangeDetailWindow.vue
index 8efe993..d2420ea 100644
--- a/company/src/components/business/OperaUnionChangeDetailWindow.vue
+++ b/company/src/components/business/OperaUnionChangeDetailWindow.vue
@@ -27,7 +27,13 @@
                             <el-button  v-if="[0,1].includes(model.status)" type="danger" @click="$refs.OperaUnionChangeCheckWindow.open('閫�鍥炴姇淇�',model,1)">閫�鍥炴姇淇�</el-button>
                         </template>
                         <template  v-if="0">
-                                             </template>
+                          <template  v-if="0">
+                            <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="[0].includes(model.status)" type="primary" @click="getSignLink(0)">绛剧讲鐢宠鍗�</el-button>
+                            <el-button v-if="[2].includes(model.status)" type="primary" @click="viewPidan">鏌ョ湅鎵瑰崟</el-button>
+                          </template>
+                        </template>
                   </div>
                 </div>
                 <div class="desc_item_from">
@@ -343,6 +349,11 @@
         this.setTime()
       })
     },
+    openFile (url) {
+      setTimeout(() => {
+        window.open(url)
+      }, 500)
+    },
     setTime () {
       this.timer = setInterval(() => {
         if (this.num === 0) {
diff --git a/company/src/components/business/OperaUnionChangeUnitDetailWindow.vue b/company/src/components/business/OperaUnionChangeUnitDetailWindow.vue
new file mode 100644
index 0000000..ff3da3d
--- /dev/null
+++ b/company/src/components/business/OperaUnionChangeUnitDetailWindow.vue
@@ -0,0 +1,587 @@
+<template>
+    <GlobalWindow
+        :title="title"
+        width="100%"
+        :visible.sync="visible"
+        :confirm-working="isWorking"
+        @confirm="confirm"
+    >
+        <div class="desc">
+            <div class="desc_item">
+                <div class="desc_item_label">
+                    <div class="desc_item_label_left">
+                        <span>鎶曚繚浜猴細{{ model.shopName}}</span>
+                        <span v-if="model.status === 0">淇濆崟鐘舵�侊細<span  :class="'change-status'+model.status" >寰呯缃�</span></span>
+                        <span v-if="model.status === 1">淇濆崟鐘舵�侊細<span  :class="'change-status'+model.status" >寰呭鏍�</span></span>
+                        <span v-if="model.status === 2">淇濆崟鐘舵�侊細<span  :class="'change-status'+model.status" >宸茬敓鏁�</span></span>
+                        <span v-if="model.status === 3">淇濆崟鐘舵�侊細<span  :class="'change-status'+model.status" >宸查��鍥�</span></span>
+                        <span>鎻愪氦鏃堕棿锛歿{ model.createDate }}</span>
+                    </div>
+                  <div class="desc_item_label_right">
+                        <template v-if="2">
+                            <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="[0].includes(model.status)" type="primary" @click="getSignLink(0)">绛剧讲鐢宠鍗�</el-button>
+                            <el-button v-if="[2].includes(model.status)" type="primary" @click="viewPidan">鏌ョ湅鎵瑰崟</el-button>
+                            <el-button v-if=" [1].includes(model.status)" type="primary" @click="$refs.OperaUnionChangeCheckWindow.open('涓婁紶鎵瑰崟',model,3)">涓婁紶鎵瑰崟</el-button>
+                            <el-button  v-if="[0,1].includes(model.status)" type="danger" @click="$refs.OperaUnionChangeCheckWindow.open('閫�鍥炴姇淇�',model,1)">閫�鍥炴姇淇�</el-button>
+                        </template>
+                        <template  v-if="0">
+                          <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="[0].includes(model.status)" type="primary" @click="getSignLink(0)">绛剧讲鐢宠鍗�</el-button>
+                          <el-button v-if="[2].includes(model.status)" type="primary" @click="viewPidan">鏌ョ湅鎵瑰崟</el-button>
+                         </template>
+                  </div>
+                </div>
+                <div class="desc_item_from">
+                    <el-table
+                        :data="tableData"
+                        border
+                        style="width: 100%">
+                        <el-table-column
+                            prop="validCode"
+                            align="center"
+                            label="鎵瑰崟鍙�">
+                        </el-table-column>
+                        <el-table-column
+                            align="center"
+                            label="淇濆崟鍙�">
+                            <template slot-scope="{row}">
+                                <el-button type="text" @click="$refs.insuranceApplyDetails.open('鎶曚繚璇︽儏', { id: row.applyId })">{{row.applyCode}}</el-button>
+                            </template>
+                        </el-table-column>
+                        <el-table-column
+                            prop="solutionsName"
+                            label="淇濋櫓鏂规"
+                            align="center"
+                            width="180">
+                        </el-table-column>
+                        <el-table-column
+                            prop="startTime"
+                            align="center"
+                            label="淇濋櫓鐢熸晥璧锋湡">
+                        </el-table-column>
+                        <el-table-column
+                            prop="endTime"
+                            align="center"
+                            label="淇濋櫓鐢熸晥姝㈡湡">
+                        </el-table-column>
+                      <el-table-column
+                          prop="changeNum"
+                          align="center"
+                          label="鎹㈠巶浜烘暟">
+                      </el-table-column>
+                      <el-table-column
+                          prop="applyStartTime"
+                          align="center"
+                          label="鎵瑰崟鐢熸晥璧锋湡">
+                      </el-table-column>
+                    </el-table>
+                </div>
+                <div class="desc_item_from">
+                    <el-table
+                        :data="list"
+                        border
+                        style="width: 100%">
+                        <el-table-column label="搴忓彿">
+                            <template slot-scope="scope">
+                                <span>{{scope.$index + 1}}</span>
+                            </template>
+                        </el-table-column>
+                        <el-table-column
+                            prop="memberName"
+                            label="鍛樺伐濮撳悕">
+                        </el-table-column>
+                        <el-table-column
+                            label="鎬у埆">
+                            <template slot-scope="{row}">
+                                <span v-if="row.sex === 0">鐢�</span>
+                                <span v-else>濂�</span>
+                            </template>
+                        </el-table-column>
+                        <el-table-column
+                            prop="memberIdcardNo"
+                            label="韬唤璇佸彿">
+                        </el-table-column>
+                      <el-table-column
+                          prop="companyName"
+                          label="琚繚闄╀汉">
+                      </el-table-column>
+                      <el-table-column
+                          prop="oldDuName"
+                          label="鍘熸淳閬e崟浣�">
+                      </el-table-column>
+                      <el-table-column
+                          prop="oldWorkTypeName"
+                          label="鍘熸墍灞炲伐绉�">
+                      </el-table-column>
+                      <el-table-column
+                          prop="duName"
+                          label="鏇存崲鍚庢淳閬e崟浣�">
+                      </el-table-column>
+                      <el-table-column
+                          prop="workTypeName"
+                          label="鏇存崲鍚庢墍灞炲伐绉�">
+                      </el-table-column>
+
+                    </el-table>
+                    <div class="desc_item_from_page">
+                        <el-pagination
+                            @current-change="handleCurrentChange"
+                            :current-page="currentPage"
+                            :page-size="10"
+                            layout="total, prev, pager, next, jumper"
+                            :total="total">
+                        </el-pagination>
+                    </div>
+                </div>
+                <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 model.applyLogList"
+                        :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;" >
+                                        {{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.creatorType==2? activity.companyName: "骞冲彴绔�") }}}锛墈{activity.createDate}}
+                                </span>
+                      </div>
+                    </el-timeline-item>
+                  </el-timeline>
+                </div>
+            </div>
+        </div>
+        <UnionChangeUnitDetails ref="ApplyChangeDetails" @success="successEvent" />
+        <OperaUnionChangeCheckWindow ref="OperaUnionChangeCheckWindow" @success="successEvent" />
+        <!--    浼佷笟鐢宠閫�鍥�    -->
+<!--        <applyReturn ref="applyReturn" @success="successEvent" />-->
+        <add_subtract_return ref="add_subtract_return" @success="successEvent" />
+        <!--    鏂板鎶曚繚    -->
+        <OperaInsuranceApply ref="OperaInsuranceApply" @success="successEvent" />
+        <!--    鏇存崲娲鹃仯鍗曚綅鐢宠    -->
+        <reinsurance ref="reinsurance" @success="successEvent" />
+        <!--    鏇存崲娲鹃仯鍗曚綅鐢宠    -->
+        <factoryChange ref="factoryChange" @success="successEvent" />
+        <!--    鎶曚繚璇︽儏    -->
+        <insuranceApplyDetails ref="insuranceApplyDetails" @success="successEvent" />
+      <!-- 淇敼鎵嬫満鍙� -->
+      <el-dialog
+          :title="signTitle"
+          :visible.sync="visiblePhone"
+          width="500px"
+          :modal="false"
+          :show-close="false"
+          :close-on-click-modal="false"
+          center>
+        <el-form :model="form" ref="form" :rules="rules">
+          <el-form-item label="鎵嬫満鍙�" prop="phone">
+            <el-input v-model="form.phone" placeholder="璇疯緭鍏�" disabled v-trim/>
+          </el-form-item>
+          <el-form-item label="楠岃瘉鐮�" prop="code">
+            <div style="width: 100%; display: flex; align-items: center;">
+              <el-input v-model="form.code" placeholder="璇疯緭鍏�" v-trim/>
+              <el-button type="primary" style="margin-left: 15px;" @click="send" v-if="num === 0">鍙戦�侀獙璇佺爜</el-button>
+              <el-button type="primary" style="margin-left: 15px;" v-else>{{num}}s</el-button>
+            </div>
+          </el-form-item>
+        </el-form>
+        <span slot="footer" class="dialog-footer">
+                <el-button type="primary" :loading="signing" @click="goSignDo()">纭�  瀹�</el-button>
+                <el-button @click="visiblePhone=false">鍙� 娑�</el-button>
+            </span>
+      </el-dialog>
+      <el-dialog
+          title="鏌ョ湅淇濋櫓鍗�"
+          :visible.sync="visibleFile"
+          width="500px"
+          :modal="true"
+          :show-close="true"
+          :close-on-click-modal="false"
+          append-to-body
+          center>
+        <div class="desc_item_from" v-for="(item, index) in pidanFileData" :key="index"  style="margin-bottom: 15px">
+          <span v-if="index ==0">{{item.name}}锛�</span>
+          <span v-if="index >0">琚繚闄╀汉锛坽{item.name}}锛変繚闄╁崟锛�</span>
+          <a style="cursor: pointer;color: #2E68EC" v-if="item.file && item.file.fileurl" @click="openFile(item.file.fileurlFull)">鍦ㄧ嚎棰勮</a><span v-if="!item.file || !item.file.fileurl">鏈笂浼�</span>
+        </div>
+        <span slot="footer" class="dialog-footer">
+                <el-button @click="visibleFile=false">鍏� 闂�</el-button>
+            </span>
+      </el-dialog>
+      <template v-slot:footer>
+        <el-button @click="visible=false">杩斿洖</el-button>
+      </template>
+    </GlobalWindow>
+
+</template>
+
+<script>
+import BaseOpera from '@/components/base/BaseOpera'
+import GlobalWindow from '@/components/common/GlobalWindow'
+import UnionChangeUnitDetails from '@/components/business/UnionChangeUnitDetails'
+import OperaUnionChangeCheckWindow from '@/components/business/OperaUnionChangeCheckWindow'
+import reinsurance from '@/components/enterprise/reinsurance'
+import factoryChange from '@/components/enterprise/factoryChange'
+import add_subtract_return from '@/components/enterprise/add_subtract_return'
+import {
+  applyChagneDetailPage
+} from '@/api/business/insuranceApply'
+import {
+  getById,
+    getSignLink
+} from '@/api/business/unionChange'
+import {applyChangeOpt, listAll as applyList} from '@/api/business/applyChange'
+
+import {sendSms} from "@/api/business/smsEmail";
+import OperaInsuranceApply from '@/components/enterprise/OperaInsuranceApplyWindow'
+import { mapState } from 'vuex'
+
+export default {
+  name: 'OperaUnionChangeDetailWindow',
+  extends: BaseOpera,
+  components: {
+      GlobalWindow,
+    UnionChangeUnitDetails,
+    OperaUnionChangeCheckWindow,
+      add_subtract_return,
+      OperaInsuranceApply,
+      reinsurance,
+      factoryChange,
+      insuranceApplyDetails: () => import ('@/components/business/OperaInsuranceApplyWindow')
+  },
+  data () {
+    return {
+      // 琛ㄥ崟鏁版嵁
+      modelId:null,
+      num: 0,
+      timer: null,
+      signing:false,
+      signTitle: '鎵嬫満鍙烽獙璇�',
+      pidanFileData:[],
+      model: {},
+      visiblePhone: false,
+      visibleFile:false,
+      form: {
+          businessId: null,
+          phone: this.$store.state.userInfo.company.phone,
+          id: null,
+          editDate: '',
+          code:null
+      },
+      // 楠岃瘉瑙勫垯
+      rules: {
+      },
+      formInline: {
+          applyStatus: '',
+          duId: '',
+          workTypeId: '',
+          memberName: '',
+          types: ''
+      },
+      reverse: false,
+      radio: 0,
+      activities: [],
+      tableData: [],
+        list: [],
+      activeName: '0',
+        total: 0,
+      currentPage: 1
+    }
+  },
+  created () {
+      this.config({
+          api: '/business/insuranceApply',
+          'field.id': 'id'
+      })
+  },
+    computed: {
+      ...mapState(['userInfo'])
+    },
+  methods: {
+     open(title,target){
+        this.visible = true;
+        this.title = title
+        this.modelId = target.id
+       this.model={}
+       this.form.businessId = target.id
+       this.num=0
+       this.signing=false
+       this.visiblePhone=false
+       this.visibleFile=false
+       this. pidanFileData=[]
+       this.timer=null
+        this.getDetail()
+        this.getList()
+     },
+    send () {
+      sendSms({
+        phone: this.form.phone
+      }).then(res => {
+        this.num = 60
+        this.setTime()
+      })
+    },
+    openFile (url) {
+      setTimeout(() => {
+        window.open(url)
+      }, 500)
+    },
+    setTime () {
+      this.timer = setInterval(() => {
+        if (this.num === 0) {
+          clearInterval(this.timer)
+          this.timer = null
+          return
+        }
+        this.num = this.num - 1
+      }, 1000)
+    },
+    getSignLink (flag) {
+        this.signTitle = '绛剧讲鏂规纭涔�'
+      this.form.type = flag
+      this.visiblePhone = true
+      this.$nextTick(() => {
+        this.$refs.form.resetFields()
+      });
+    },
+    goSignDo(){
+      this.$refs.form.validate((valid) => {
+        if (!valid) {
+          return
+        }
+        this.signing = true
+        if(this.form.type===0){
+          getSignLink(this.form).then(res => {
+            setTimeout(() => {
+              this.visiblePhone=false
+              this.signing=false
+              window.open(res)
+            }, 500)
+          }).catch(err => {
+            this.signing=false
+            this.$tip.apiFailed(err)
+          })
+        }
+      })
+    },
+      resetting() {
+            this.search()
+      },
+      closeOrder() {
+          this.$confirm('纭鍏抽棴姝よ鍗曞悧?', '鎻愮ず', {
+              confirmButtonText: '纭畾',
+              cancelButtonText: '鍙栨秷',
+              type: 'warning'
+          }).then(() => {
+              applyChangeOpt({
+                  optType: 6,
+                  applyId: this.model.id
+              }).then(res => {
+                  this.getDetail()
+              }).catch(e => {
+                  this.$message.error(e)
+              })
+          }).catch(() => {
+
+          });
+      },
+      search() {
+          this.currentPage = 1
+          this.getList()
+      },
+      getList() {
+           applyChagneDetailPage({
+               capacity: 10,
+               page: this.currentPage,
+               model: {
+                   unionChangeId: this.modelId
+               }
+           }).then(res => {
+               this.list = res.records
+               this.total = res.total
+           })
+      },
+      handleClick(e) {
+        this.activeName = e.index
+        this.resetting()
+      },
+    viewApplyFile(){
+       if(this.model.applyFile && this.model.applyFile.fileurlFull){
+        window.open(this.model.applyFile.fileurlFull)
+       }
+    },
+    viewPidan(){
+      this.visibleFile=true
+    },
+    handleSizeChange(val){
+        console.log(val)
+    },
+    handleCurrentChange(val){
+        console.log(val)
+        this.page = val
+        this.getList()
+    },
+    onSubmit(){
+
+    },
+    getDetail(){
+      this.pidanFileData=[]
+      getById(this.modelId).then(res => {
+        this.model = res
+        this.tableData = new Array()
+        this.tableData.push(res)
+        this.pidanFileData.push({ name: '鍟嗘埛淇濋櫓鍗�', file: this.model.pidanFile })
+        this.getApplyList()
+      }).catch(err => {
+      })
+    },
+    getApplyList () {
+      applyList({ unionChangeId: this.model.id, getFiles: 1 }).then(res => {
+        this.model.applyList = res
+        if (res && res.length > 0) {
+          res.forEach(item => {
+            if (item.pidanFile) {
+              this.pidanFileData.push({ name: item.companyName, file: item.pidanFile })
+            } else {
+              this.pidanFileData.push({ name: item.companyName, file: null })
+            }
+          })
+        }
+      }).catch(err => {
+      })
+    },
+    successEvent(){
+       // this.visible=false
+      this.getDetail()
+      this.$emit('success')
+    }
+  }
+}
+</script>
+<style>
+
+</style>
+<style lang="scss" scoped>
+    .form {
+        width: 100%;
+        display: flex;
+        align-items: center;
+        flex-direction: column;
+        .form_span {
+            width: 100%;
+            display: flex;
+            align-items: start;
+            flex-direction: column;
+            margin-bottom: 20px;
+            span {
+                font-size: 14px;
+                &:nth-child(1) {
+                    color: black;
+                    margin-bottom: 5px;
+                }
+                &:nth-child(2) {
+                    color: #8c939d;
+                }
+            }
+        }
+        .form_item {
+            width: 100%;
+            display: flex;
+            align-items: center;
+            margin-bottom: 20px;
+            &:last-child {
+                margin: 0 !important;
+            }
+            .form_item_label {
+                flex-shrink: 0;
+                width: 170px;
+                color: black;
+                font-size: 14px;
+                span {
+                    color: red;
+                    font-size: 14px;
+                }
+            }
+            .form_item_val {
+                flex: 1;
+                /*height: 40px;*/
+                margin-left: 20px;
+                textarea {
+                    width: 100%;
+                    height: 70px;
+                    border: 1px solid #cbcbcb;
+                    padding: 10px;
+                    outline: none;
+                    box-sizing: border-box;
+                }
+                input {
+                    width: 100%;
+                    height: 40px;
+                    outline: none;
+                    border-radius: 5px;
+                    border: 1px solid #cbcbcb;
+                    padding: 0 20px;
+                    box-sizing: border-box;
+                }
+            }
+        }
+    }
+    .desc {
+        width: 100%;
+        .desc_item {
+            width: 100%;
+            display: flex;
+            flex-direction: column;
+            .desc_item_label {
+                width: 100%;
+                display: flex;
+                align-items: center;
+                justify-content: space-between;
+                margin-bottom: 10px;
+                .desc_item_label_left {
+                    flex-shrink: 0;
+                }
+                span {
+                    font-size: 14px;
+                    color: black;
+                    margin-right: 30px;
+                }
+            }
+            .desc_item_from {
+                width: 100%;
+                margin-bottom: 10px;
+                .desc_item_from_page {
+                    width: 100%;
+                    display: flex;
+                    align-items: center;
+                    justify-content: end;
+                    margin-top: 10px;
+                }
+            }
+            .desc_item_cate {
+                width: 100%;
+                margin-bottom: 10px;
+            }
+            .desc_item_search {
+                width: 100%;
+                margin-bottom: 20px;
+            }
+            .desc_item_review {
+                width: 100%;
+                .desc_item_review_label {
+                    font-size: 20px;
+                    color: black;
+                    font-weight: bold;
+                    margin-bottom: 15px;
+                }
+            }
+        }
+    }
+</style>
diff --git a/company/src/components/business/UnionChangeDetails.vue b/company/src/components/business/UnionChangeDetails.vue
index ae0f531..a07bb67 100644
--- a/company/src/components/business/UnionChangeDetails.vue
+++ b/company/src/components/business/UnionChangeDetails.vue
@@ -115,7 +115,7 @@
 <script>
     import BaseOpera from '@/components/base/BaseOpera'
     import GlobalWindow from '@/components/common/GlobalWindow'
-    import {getChangeDetailList, exportJiajianBaoExcel} from "@/api/business/insuranceApply";
+    import {getChangeDetailList} from "@/api/business/insuranceApply";
     import {check } from "@/api/business/applyChange";
     import {exportDetailExcel} from "@/api/business/unionChange";
     export default {
diff --git a/company/src/components/business/UnionChangeUnitDetails.vue b/company/src/components/business/UnionChangeUnitDetails.vue
new file mode 100644
index 0000000..d500529
--- /dev/null
+++ b/company/src/components/business/UnionChangeUnitDetails.vue
@@ -0,0 +1,357 @@
+<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>
+            <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.changeNum}}</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: 6;">
+                <p v-for="(item, index) in companyList" :key="index" >
+                  {{index>0?'锛�':''}} {{ item[1]}}
+                </p>
+               </div>
+              </div>
+          </div>
+            <div class="box_table" v-if="addList && addList.length>0">
+                <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">鍘熸淳閬e崟浣�</div>
+                    <div class="box_table_head_item">鍘熸墍灞炲伐绉�</div>
+                    <div class="box_table_head_item">鏇存崲鍚庢淳閬e崟浣�</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.oldDuName }}</div>
+                  <div class="box_table_content_item">{{item.oldWorkTypeName}}</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} from "@/api/business/insuranceApply";
+    import {check } from "@/api/business/applyChange";
+    import {exportDetailExcel} from "@/api/business/unionChange";
+    export default {
+        name: 'ApplyChangeDetails',
+        extends: BaseOpera,
+        components: { GlobalWindow },
+        data () {
+            return {
+                model:{},
+                apply:{},
+              type:0,
+              delList:[],
+              addList:[],
+              companyList:new Map(),
+                // 琛ㄥ崟鏁版嵁
+                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 => {
+                   var index =0
+                   res.forEach(item1 => {
+                     this.companyList.set(item1.companyId, item1.companyName)
+                     if (item1.type == 1) {
+                       this.delList.push(item1);
+                     } else {
+                       this.addList.push(item1);
+                     }
+                   })
+
+                 }).catch(err => {})
+           },
+          exportDetail(){
+            this.$dialog.exportConfirm('纭瀵煎嚭璇﹀崟鍚楋紵')
+                .then(() => {
+                  this.isWorking = true
+                  exportDetailExcel({ 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/company/src/views/business/unionChangeUnit.vue b/company/src/views/business/unionChangeUnit.vue
index 5db3aa1..b8894fd 100644
--- a/company/src/views/business/unionChangeUnit.vue
+++ b/company/src/views/business/unionChangeUnit.vue
@@ -62,7 +62,7 @@
             fixed="right"
         >
           <template slot-scope="{row}">
-            <el-button type="text" @click="$refs.OperaApplyChangeDetailWindow.open('鏇存崲娲鹃仯鍗曚綅璇︽儏', row)">鏌ョ湅璇︽儏</el-button>
+            <el-button type="text" @click="$refs.OperaUnionChangeUnitDetailWindow.open('鏇存崲娲鹃仯鍗曚綅璇︽儏', row)">鏌ョ湅璇︽儏</el-button>
           </template>
         </el-table-column>
       </el-table>
@@ -74,7 +74,8 @@
       </pagination>
     </template>
     <!--    鎻愪氦鐢宠    -->
-    <OpearaUnionChangeUnit ref="OpearaUnionChangeUnit" />
+    <OpearaUnionChangeUnit ref="OpearaUnionChangeUnit" @success="successDo"/>
+    <OperaUnionChangeUnitDetailWindow ref="OperaUnionChangeUnitDetailWindow" @success="successDo" />
   </TableLayout>
 </template>
 
@@ -82,11 +83,12 @@
 import BaseTable from '@/components/base/BaseTable'
 import TableLayout from '@/layouts/TableLayout'
 import Pagination from '@/components/common/Pagination'
+import OperaUnionChangeUnitDetailWindow from '@/components/business/OperaUnionChangeUnitDetailWindow'
 import OpearaUnionChangeUnit from '@/components/business/OpearaUnionChangeUnit'
 export default {
   name: 'unionChangeUnit',
   extends: BaseTable,
-  components: { TableLayout, Pagination, OpearaUnionChangeUnit },
+  components: { TableLayout, Pagination, OpearaUnionChangeUnit,OperaUnionChangeUnitDetailWindow },
   data () {
     return {
       // 鎼滅储
@@ -110,6 +112,9 @@
     this.search()
   },
   methods: {
+    successDo(){
+      this.reset()
+    },
     changeTime(e) {
       if (e.length > 0) {
         this.searchForm.queryStartTime = e[0]
diff --git a/server/service/src/main/java/com/doumee/core/annotation/excel/ExcelExporter.java b/server/service/src/main/java/com/doumee/core/annotation/excel/ExcelExporter.java
index c9269d2..d975fbd 100644
--- a/server/service/src/main/java/com/doumee/core/annotation/excel/ExcelExporter.java
+++ b/server/service/src/main/java/com/doumee/core/annotation/excel/ExcelExporter.java
@@ -1006,17 +1006,17 @@
         try {
             sxssfWorkbook = new SXSSFWorkbook();
             Sheet sheet = sxssfWorkbook.createSheet(sheetName);
-            for (int i = 0; i < 9; i++) {
+            for (int i = 0; i < 8; i++) {
                 sheet.setColumnWidth(i, ((i==3|| i== 4|| i== 5 ||i== 6 || i==7)?16:8) * 2 * 256);
             }
             sheet.createFreezePane(0, 1);
-            sheet.addMergedRegion(new CellRangeAddress(0   ,0,0,8));
+            sheet.addMergedRegion(new CellRangeAddress(0   ,0,0,7));
             Row title = sheet.createRow(0);
             title.setHeight((short) 2000);
             Cell c = title.createCell(0);
             c.setCellValue(sheetName);
             configFirstCell(sxssfWorkbook,c);
-            for (int i = 0; i < 9; i++) {
+            for (int i = 0; i < 8; i++) {
                 if(i>0){
                     title.createCell(i).setCellValue("");
                 }
@@ -1395,7 +1395,7 @@
             sheet.createFreezePane(0, 1);
             sheet.addMergedRegion(new CellRangeAddress(0   ,0,0,8));
             Row title = sheet.createRow(0);
-            title.setHeight((short) 2000);
+            title.setHeight((short) 1000);
             Cell c = title.createCell(0);
             c.setCellValue(sheetName);
             configFirstCell(sxssfWorkbook,c);
@@ -1407,49 +1407,56 @@
             }
             Row header1 = sheet.createRow(1);
             header1.createCell(0).setCellValue("鎶曚繚浜�");
-            header1.createCell(1).setCellValue("淇濋櫓鏂规");
-            header1.createCell(2).setCellValue("");
-            header1.createCell(3).setCellValue(""); 
+            header1.createCell(1).setCellValue("");
+            header1.createCell(2).setCellValue("淇濋櫓鏂规");
+            header1.createCell(3).setCellValue("");
             header1.createCell(4).setCellValue("淇濆崟鍙�");
             header1.createCell(5).setCellValue("淇濋櫓鐢熸晥璧锋湡");
             header1.createCell(6).setCellValue("淇濋櫓鐢熸晥姝㈡湡");
             header1.createCell(7).setCellValue("鎹㈠巶浜烘暟");
             header1.createCell(8).setCellValue("鏈熸湜鎵瑰崟鐢熸晥鏈�");
+
+            sheet.addMergedRegion(new CellRangeAddress(1  ,1,0,1));
+            sheet.addMergedRegion(new CellRangeAddress(1  ,1,2,3));
+
             for (int i = 0; i < 9; i++) {
                 configFirstCell(sxssfWorkbook,header1.getCell(i));
             }
-            sheet.addMergedRegion(new CellRangeAddress(1  ,1,1,3));
-
             Row header2 = sheet.createRow(2);
             header2.createCell(0).setCellValue(data.getShopName());
-            header2.createCell(1).setCellValue(data.getSolutionsName());
-            header2.createCell(2).setCellValue("");
+            header2.createCell(1).setCellValue("");
+            header2.createCell(2).setCellValue(data.getSolutionsName());
             header2.createCell(3).setCellValue("");
             header2.createCell(4).setCellValue(data.getApplyCode());
             header2.createCell(5).setCellValue(com.doumee.core.utils.DateUtil.getPlusTime2(data.getStartTime()));
             header2.createCell(6).setCellValue(com.doumee.core.utils.DateUtil.getPlusTime2(data.getEndTime()));
             header2.createCell(7).setCellValue(data.getApplyChagneDetailList().stream().filter(i->i.getType().equals(Constants.TWO)).collect(Collectors.toList()).size());
             header2.createCell(8).setCellValue(com.doumee.core.utils.DateUtil.getPlusTime2(data.getApplyStartTime()));
-            sheet.addMergedRegion(new CellRangeAddress(2  ,2,1,3));
+//            sheet.addMergedRegion(new CellRangeAddress(2  ,2,1,3));
+
+            sheet.addMergedRegion(new CellRangeAddress(2  ,2,0,1));
+            sheet.addMergedRegion(new CellRangeAddress(2  ,2,2,3));
             for (int i = 0; i < 9; i++) {
                 configDataCell(sxssfWorkbook,header2.getCell(i));
             }
-
             Row header3 = sheet.createRow(3);
             header3.createCell(0).setCellValue("琚繚闄╀汉");
-            header3.createCell(1).setCellValue(data.getCompanyNames());
-            header3.createCell(2).setCellValue("");
+            header3.createCell(1).setCellValue("");
+            header3.createCell(2).setCellValue(data.getCompanyNames());
             header3.createCell(3).setCellValue("");
             header3.createCell(4).setCellValue("");
             header3.createCell(5).setCellValue("");
             header3.createCell(6).setCellValue("");
             header3.createCell(7).setCellValue("");
             header3.createCell(8).setCellValue("");
-            for (int i = 0; i < 9; i++) {
+            for (int i = 0; i < 2; i++) {
                 configFirstCell(sxssfWorkbook,header3.getCell(i));
             }
-            sheet.addMergedRegion(new CellRangeAddress(3  ,3,1,8));
-
+            for (int i = 2; i < 9; i++) {
+                configDataCell(sxssfWorkbook,header3.getCell(i));
+            }
+            sheet.addMergedRegion(new CellRangeAddress(3  ,3,0,1));
+            sheet.addMergedRegion(new CellRangeAddress(3  ,3,2,8));
 
 
             List<ApplyChagneDetail> otherChangeDetailList = data.getApplyChagneDetailList().stream().filter(i->i.getType().equals(Constants.TWO)).collect(Collectors.toList());
@@ -1485,10 +1492,10 @@
                     header6.createCell(7).setCellValue(applyChagneDetail.getDuName());
                     header6.createCell(8).setCellValue(applyChagneDetail.getWorkTypeName());
                     for (int i = 0; i < 9; i++) {
-                        configFirstCell(sxssfWorkbook,header6.getCell(i));
-                    } 
+                        configDataCell(sxssfWorkbook,header6.getCell(i));
+                    }
                 }
-            } 
+            }
             int rowIndex =  row + 1 ;
             Row header6= sheet.createRow(rowIndex);
             header6.createCell(0).setCellValue("鎶曚繚浼佷笟鐢虫槑:\n" +
@@ -1772,7 +1779,7 @@
             sheet.createFreezePane(0, 1);
             sheet.addMergedRegion(new CellRangeAddress(0   ,0,0,7));
             Row title = sheet.createRow(0);
-            title.setHeight((short) 2000);
+            title.setHeight((short) 1000);
             for (int i = 0; i < 8; i++) {
                 title.createCell(i).setCellValue(i==0?sheetName:"");
                 configTitleCell(sxssfWorkbook,title.getCell(i));
@@ -1931,7 +1938,7 @@
             sheet.createFreezePane(0, 1);
             sheet.addMergedRegion(new CellRangeAddress(0   ,0,0,8));
             Row title = sheet.createRow(0);
-            title.setHeight((short) 2000);
+            title.setHeight((short) 1000);
             Cell c = title.createCell(0);
             c.setCellValue(sheetName);
             configFirstCell(sxssfWorkbook,c);
@@ -1943,49 +1950,56 @@
             }
             Row header1 = sheet.createRow(1);
             header1.createCell(0).setCellValue("鎶曚繚浜�");
-            header1.createCell(1).setCellValue("淇濋櫓鏂规");
-            header1.createCell(2).setCellValue("");
+            header1.createCell(1).setCellValue("");
+            header1.createCell(2).setCellValue("淇濋櫓鏂规");
             header1.createCell(3).setCellValue("");
             header1.createCell(4).setCellValue("淇濆崟鍙�");
             header1.createCell(5).setCellValue("淇濋櫓鐢熸晥璧锋湡");
             header1.createCell(6).setCellValue("淇濋櫓鐢熸晥姝㈡湡");
             header1.createCell(7).setCellValue("鎹㈠巶浜烘暟");
             header1.createCell(8).setCellValue("鏈熸湜鎵瑰崟鐢熸晥鏈�");
+
+            sheet.addMergedRegion(new CellRangeAddress(1  ,1,0,1));
+            sheet.addMergedRegion(new CellRangeAddress(1  ,1,2,3));
+
             for (int i = 0; i < 9; i++) {
                 configFirstCell(sxssfWorkbook,header1.getCell(i));
             }
-            sheet.addMergedRegion(new CellRangeAddress(1  ,1,1,3));
-
             Row header2 = sheet.createRow(2);
             header2.createCell(0).setCellValue(data.getShopName());
-            header2.createCell(1).setCellValue(data.getSolutionsName());
-            header2.createCell(2).setCellValue("");
+            header2.createCell(1).setCellValue("");
+            header2.createCell(2).setCellValue(data.getSolutionsName());
             header2.createCell(3).setCellValue("");
             header2.createCell(4).setCellValue(data.getApplyCode());
             header2.createCell(5).setCellValue(com.doumee.core.utils.DateUtil.getPlusTime2(data.getStartTime()));
             header2.createCell(6).setCellValue(com.doumee.core.utils.DateUtil.getPlusTime2(data.getEndTime()));
             header2.createCell(7).setCellValue(data.getApplyChagneDetailList().stream().filter(i->i.getType().equals(Constants.TWO)).collect(Collectors.toList()).size());
             header2.createCell(8).setCellValue(com.doumee.core.utils.DateUtil.getPlusTime2(data.getApplyStartTime()));
-            sheet.addMergedRegion(new CellRangeAddress(2  ,2,1,3));
+//            sheet.addMergedRegion(new CellRangeAddress(2  ,2,1,3));
+
+            sheet.addMergedRegion(new CellRangeAddress(2  ,2,0,1));
+            sheet.addMergedRegion(new CellRangeAddress(2  ,2,2,3));
             for (int i = 0; i < 9; i++) {
                 configDataCell(sxssfWorkbook,header2.getCell(i));
             }
-
             Row header3 = sheet.createRow(3);
             header3.createCell(0).setCellValue("琚繚闄╀汉");
-            header3.createCell(1).setCellValue(data.getCompanyNames());
-            header3.createCell(2).setCellValue("");
+            header3.createCell(1).setCellValue("");
+            header3.createCell(2).setCellValue(data.getCompanyNames());
             header3.createCell(3).setCellValue("");
             header3.createCell(4).setCellValue("");
             header3.createCell(5).setCellValue("");
             header3.createCell(6).setCellValue("");
             header3.createCell(7).setCellValue("");
             header3.createCell(8).setCellValue("");
-            for (int i = 0; i < 9; i++) {
+            for (int i = 0; i < 2; i++) {
                 configFirstCell(sxssfWorkbook,header3.getCell(i));
             }
-            sheet.addMergedRegion(new CellRangeAddress(3  ,3,1,8));
-
+            for (int i = 2; i < 9; i++) {
+                configDataCell(sxssfWorkbook,header3.getCell(i));
+            }
+            sheet.addMergedRegion(new CellRangeAddress(3  ,3,0,1));
+            sheet.addMergedRegion(new CellRangeAddress(3  ,3,2,8));
 
 
             List<ApplyChagneDetail> otherChangeDetailList = data.getApplyChagneDetailList().stream().filter(i->i.getType().equals(Constants.TWO)).collect(Collectors.toList());
@@ -2021,7 +2035,7 @@
                     header6.createCell(7).setCellValue(applyChagneDetail.getDuName());
                     header6.createCell(8).setCellValue(applyChagneDetail.getWorkTypeName());
                     for (int i = 0; i < 9; i++) {
-                        configFirstCell(sxssfWorkbook,header6.getCell(i));
+                        configDataCell(sxssfWorkbook,header6.getCell(i));
                     }
                 }
             }
diff --git a/server/service/src/main/java/com/doumee/service/business/impl/ApplyChangeServiceImpl.java b/server/service/src/main/java/com/doumee/service/business/impl/ApplyChangeServiceImpl.java
index e07c92f..47a52e0 100644
--- a/server/service/src/main/java/com/doumee/service/business/impl/ApplyChangeServiceImpl.java
+++ b/server/service/src/main/java/com/doumee/service/business/impl/ApplyChangeServiceImpl.java
@@ -1517,6 +1517,9 @@
         queryWrapper
                 .selectAll(ApplyChange.class)
                 .selectAs(InsuranceApply::getCode,ApplyChange::getApplyCode)
+                .selectAs(InsuranceApply::getStartTime,ApplyChange::getStartTime)
+                .selectAs(InsuranceApply::getCode,ApplyChange::getValidCode)
+                .selectAs(InsuranceApply::getEndTime,ApplyChange::getEndTime)
                 .selectAs(Solutions::getName,ApplyChange::getSolutionsName)
                 .selectAs(Solutions::getType,ApplyChange::getSolutionType)
                 .selectAs(Company::getName,ApplyChange::getCompanyName)
@@ -1767,9 +1770,9 @@
 
         List<Multifile> multifiles = multifileMapper.selectList(new QueryWrapper<Multifile>().lambda()
                 .eq(Multifile::getObjId, applyChange.getId() )
-                .in(Multifile::getObjType, Arrays.asList(new Integer[]{Constants.MultiFile.CA_APPLY_JIAJIAN_SIGN.getKey()
-                        ,Constants.MultiFile.CA_PD_PDF.getKey()
-                        ,Constants.MultiFile.CA_APPLY_CHANGEUNIT_SIGN.getKey()}))
+//                .in(Multifile::getObjType, Arrays.asList(new Integer[]{Constants.MultiFile.CA_APPLY_JIAJIAN_SIGN.getKey()
+//                        ,Constants.MultiFile.CA_PD_PDF.getKey()
+//                        ,Constants.MultiFile.CA_APPLY_CHANGEUNIT_SIGN.getKey()}))
                 .eq(Multifile::getIsdeleted,Constants.ZERO));
         if(multifiles!=null){
             String path = systemDictDataBiz.queryByCode(Constants.OSS,Constants.RESOURCE_PATH).getCode()
diff --git a/server/service/src/main/java/com/doumee/service/business/impl/UnionChangeServiceImpl.java b/server/service/src/main/java/com/doumee/service/business/impl/UnionChangeServiceImpl.java
index be2de67..d491222 100644
--- a/server/service/src/main/java/com/doumee/service/business/impl/UnionChangeServiceImpl.java
+++ b/server/service/src/main/java/com/doumee/service/business/impl/UnionChangeServiceImpl.java
@@ -399,13 +399,16 @@
             throw new BusinessException(ResponseStatus.BAD_REQUEST);
         }
         LoginUserInfo user = (LoginUserInfo) SecurityUtils.getSubject().getPrincipal();
-        if(user.getType().equals(Constants.TWO)){
+        user.setType(Constants.formatIntegerNum(user.getType()));
+        if(!user.getType().equals(Constants.TWO)){
             throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"闈炲晢鎴风敤鎴凤紝鏃犳硶杩涜璇ユ搷浣滐紒");
         }
         UnionChange unionChange = unionChangeMapper.selectById(closeDTO.getId());
         if(Objects.isNull(unionChange)||!Constants.equalsInteger(unionChange.getIsdeleted(),Constants.ZERO)){
             throw new BusinessException(ResponseStatus.DATA_EMPTY);
         }
+        unionChange.setStatus(Constants.formatIntegerNum(unionChange.getStatus()));
+        unionChange.setShopId(Constants.formatIntegerNum(unionChange.getShopId()));
         if(!unionChange.getShopId().equals(user.getCompanyId())){
             throw new BusinessException(ResponseStatus.DATA_ERRO.getCode(),"瀵逛笉璧烽潪鎮ㄧ殑鍚堝苟鍗曪紝鎮ㄦ棤娉曡繘琛屾搷浣滐紒");
         }
@@ -426,14 +429,14 @@
 
         applyChagneDetailJoinMapper.update(null,new UpdateWrapper<ApplyChagneDetail>().lambda()
                 .set(ApplyChagneDetail::getUnionChangeId,null)
-                .in(ApplyChagneDetail::getApplyId,unionChange.getId()));
+                .eq(ApplyChagneDetail::getUnionChangeId,unionChange.getId()));
 
         unionChangeMapper.update(null,new UpdateWrapper<UnionChange>().lambda()
-                .set(UnionChange::getStatus,Constants.UnionApplyStatus.CLOSE.getKey())
+                .set(UnionChange::getStatus,Constants.UnionChangeStatus.CLOSE.getKey())
                 .eq(UnionChange::getId,unionChange.getId())
         );
 
-        Constants.ApplyLogType applyLogType = Constants.ApplyLogType.CA_HBD_UPLOAD;
+        Constants.ApplyLogType applyLogType = Constants.ApplyLogType.CA_HBD_CLOSE;
         String info =applyLogType.getInfo();
         info = info.replace("${param}", closeDTO.getReason());
         ApplyLog log = new ApplyLog(unionChange,applyLogType.getName(), info
@@ -647,8 +650,6 @@
                 multifileMapper.insert(m);
             }
         }
-
-
         if(CollectionUtils.isNotEmpty(applyChangeList)){
             for (ApplyChange applyChange:applyChangeList) {
                 applyChange.setApplyStartTime(unionChangeBXDDTO.getApplyDate());

--
Gitblit v1.9.3