From 3a5fbcae78f6d395468826ce5dbcf6b4643aec7e Mon Sep 17 00:00:00 2001
From: nidapeng <jp@doumee.com>
Date: 星期三, 03 四月 2024 18:02:58 +0800
Subject: [PATCH] 提交一把

---
 company/src/components/business/OpearaUnionChange.vue                                           |    1 
 company/src/views/business/unionChange.vue                                                      |   28 
 company/src/views/business/unionApply.vue                                                       |    2 
 server/service/src/main/java/com/doumee/dao/business/dto/ApplyDetailPageDTO.java                |    2 
 company/src/components/business/OperaApplyChangeDetailWindow.vue                                |    2 
 server/service/src/main/java/com/doumee/service/business/impl/UnionChangeServiceImpl.java       |    6 
 company/src/components/business/OpearaUnionChangeUnit.vue                                       |  392 +++++++++++++++++
 company/src/assets/style/style.scss                                                             |    6 
 server/service/src/main/java/com/doumee/service/business/impl/ApplyChagneDetailServiceImpl.java |    1 
 company/src/views/business/unionChangeUnit.vue                                                  |  254 +++++-----
 company/src/components/business/ApplyChangeUnitDetails.vue                                      |   36 +
 company/src/components/business/OperaUnionChangeDetailWindow.vue                                |  572 ++++++++++++++++++++++++++
 12 files changed, 1,152 insertions(+), 150 deletions(-)

diff --git a/company/src/assets/style/style.scss b/company/src/assets/style/style.scss
index 2c1c279..74ac191 100644
--- a/company/src/assets/style/style.scss
+++ b/company/src/assets/style/style.scss
@@ -80,7 +80,9 @@
 ::v-deep .el-table__cell {
   height: 100% !important;
 }
-.apply-status0, .apply-status26,.apply-status20,.apply-status28,
+
+.union-change-status0,.union-change-status1,
+.apply-status0, .apply-status26,,.apply-status20,.apply-status28,
 .apply-status21,.apply-status22,
 .apply-status23,.apply-status2 , .apply-status3, .apply-status10,
 .change-status0,.change-status1,.change-status9,
@@ -90,6 +92,7 @@
 .du-status0 {
   color: #216EEE  !important;
 }
+.union-change-status3,
 .apply-status1 ,.apply-status24,.apply-status25, .apply-status4, .apply-status6,
 .apply-status7, .apply-status8, .apply-status11,
 .change-status3,.change-status4,.change-status5,.change-status8,
@@ -98,6 +101,7 @@
 .du-status2 {
   color: #F95601 !important;
 }
+.union-change-status2,
   .apply-status5,.apply-status27,.change-status7,.settle-status7,.change-status2,
   .tax-status1,.du-status1,.settle-status4 ,.union-apply-status3 {
   color: #00BA92  !important;
diff --git a/company/src/components/business/ApplyChangeUnitDetails.vue b/company/src/components/business/ApplyChangeUnitDetails.vue
index f1c9dd1..68195e5 100644
--- a/company/src/components/business/ApplyChangeUnitDetails.vue
+++ b/company/src/components/business/ApplyChangeUnitDetails.vue
@@ -66,6 +66,9 @@
 <!--            <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==1" 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="exportComFilesDo">浼佷笟璇佷欢</el-button>
             <el-button type="primary"  :loading="isWorking.export" @click="exportDetail">瀵煎嚭璇﹀崟</el-button>
@@ -79,6 +82,7 @@
     import GlobalWindow from '@/components/common/GlobalWindow'
     import {getChangeDetailList, exportChangeUnitExcel} from "@/api/business/insuranceApply";
     import {exportComFiles} from "@/api/business/company";
+    import {check} from "@/api/business/applyChange";
     // import {all as solutionAll} from "@/api/business/solutions";
     export default {
         name: 'ApplyChangeUnitDetails',
@@ -110,14 +114,31 @@
             })
         },
         methods: {
-            open(title,target,target2){
+            open(title,target,target2,target3){
               this.title=title
               this.visible=true
               this.apply = target
               this.model = target2
-              this.form.id=target.id
+              this.type=target3
+              this.form.id=target2.id
               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.detailList = []
              var that = this
@@ -265,13 +286,13 @@
                     border-bottom: 1px solid #b4bbc5;
                     box-sizing: border-box;
                   &:nth-child(4) {
-                    flex: 1.5;;
+                    flex: 1.5;
                   }
                   &:nth-child(6) {
-                    flex: 1.5;;
+                    flex: 1.5;
                   }
                   &:nth-child(8) {
-                    flex: 1.5;;
+                    flex: 1.5;
                   }
                 }
               .box_table_head_item5 {
@@ -286,8 +307,11 @@
                 border-right: 1px solid #b4bbc5;
                 border-bottom: 1px solid #b4bbc5;
                 box-sizing: border-box;
+                &:nth-child(1) {
+                   flex: 1;
+                }
                 &:nth-child(2) {
-                   flex: 5;
+                   flex: 8.5;
                 }
               }
               .box_form_item {
diff --git a/company/src/components/business/OpearaUnionChange.vue b/company/src/components/business/OpearaUnionChange.vue
index c5b6de0..b8285f9 100644
--- a/company/src/components/business/OpearaUnionChange.vue
+++ b/company/src/components/business/OpearaUnionChange.vue
@@ -337,6 +337,7 @@
     getList () {
       listAll({
           solutionType:1,
+          type:0,
           unionApplyId: this.model.id,
           status: 7
       }).then(res => {
diff --git a/company/src/components/business/OpearaUnionChangeUnit.vue b/company/src/components/business/OpearaUnionChangeUnit.vue
new file mode 100644
index 0000000..25ff19a
--- /dev/null
+++ b/company/src/components/business/OpearaUnionChangeUnit.vue
@@ -0,0 +1,392 @@
+<template>
+  <GlobalWindow
+      :title="title"
+      width="100%"
+      text="鍔犲噺淇濈敵璇�"
+      :visible.sync="visible"
+      :confirm-working="isWorking"
+      @confirm="confirm"
+  >
+    <div class="list">
+      <el-form :inline="true" ref="form" :model="form" :rules="rules" class="demo-form-inline">
+        <el-form-item label=" " prop="unionApplyId" >
+          <div style=" display: flex; flex-direction: column;">
+            <el-button type="primary" size="small" @click="selectBaoxiandan"> 閫夋嫨淇濋櫓鍗�</el-button>
+            <span style="color: #F95601; font-size: 14px;">锛�1. 璇烽�夋嫨淇濋櫓鍗曞悗杩涜鎿嶄綔锛�</span>
+          </div>
+        </el-form-item>
+        <el-form-item label="鎵瑰崟鐢熸晥璧锋湡锛�" prop="applyDate" style="margin-left: 40px">
+          <div style="display: flex; flex-direction: column;">
+            <el-date-picker
+                v-model="form.applyDate"
+                type="date"
+                format="yyyy 骞� MM 鏈� dd 鏃�"
+                value-format="yyyy-MM-dd" />
+            <span style="color: #F95601; font-size: 14px;">锛�2. 娆℃棩鐢熸晥鎶曚繚璇蜂簬17:30鍓嶆彁浜わ紝瓒呮椂鎻愪氦浠ヤ繚闄╁崟涓哄噯锛�</span>
+          </div>
+        </el-form-item>
+        <el-form-item label="璐圭敤" v-if="model">
+          <span>{{model.price}}鍏�</span>
+          <span v-if="model.timeUnit === 0">/澶�</span>
+          <span v-if="model.timeUnit === 1">/鍗婃湀</span>
+          <span v-if="model.timeUnit === 2">/鏈�</span>
+          <span v-if="model.timeUnit === 3">/骞�</span>
+          <span>/浜�</span>
+        </el-form-item>
+        <el-form-item label="鎶曚繚骞撮緞" v-if="item">
+          <span>{{model.minAge}} 鑷� {{model.maxAge}}</span>
+        </el-form-item>
+      </el-form>
+    </div>
+    <div style="display: block;margin:0 0 30px 30px " v-if="model">
+      <div style="display: inline-block;width: 300px">淇濋櫓鏂规锛歿{model.solutionName}}</div>
+      <div style="display: inline-block">淇濆崟鍙凤細{{model.code}}</div>
+    </div>
+    <el-table
+        :data="list"
+        border
+        ref="multipleTable"
+        @row-click="rowselect"
+        @selection-change="handleSelectionChange"
+        style="width: 100%;margin-bottom: 15px;">
+      <el-table-column
+          type="selection"
+          width="55">
+      </el-table-column>
+      <el-table-column label="搴忓彿" width="80px">
+        <template slot-scope="scope">
+          <span>{{scope.$index + 1}}</span>
+        </template>
+      </el-table-column>
+      <el-table-column
+          prop="companyName"
+          label="琚繚闄╀汉">
+      </el-table-column>
+      <el-table-column
+          prop="applyStartTime"
+          label="鏈熸湜淇濋櫓鐢熸晥璧锋湡">
+      </el-table-column>
+      <el-table-column
+          prop="addNum"
+          label="鍔犱繚浜烘暟">
+      </el-table-column>
+      <el-table-column
+          prop="delNum"
+          label="鍑忎繚浜烘暟">
+      </el-table-column>
+      <el-table-column
+          prop="fee"
+          label="璐圭敤鍙樻洿">
+      </el-table-column>
+      <el-table-column  label="鎿嶄綔">
+        <template slot-scope="{row}">
+          <el-button type="text" @click="checkDetial(row)">鏌ョ湅鍚嶅崟</el-button>
+          <!--                    <el-button type="text" style="color: #ff0000;">鍒犻櫎</el-button>-->
+        </template>
+      </el-table-column>
+    </el-table>
+    <div style="color: #F95601; font-size: 14px;width: 100%;text-align: left">锛�3. 璇峰厛閫夋嫨鑷冲皯涓�鏉$敵璇峰悗鎻愪氦鎶曚繚鐢宠锛�</div>
+    <div class="info" v-if="model">
+      <span v-if="model.specialAgreement">{{model.specialAgreement}}</span>
+      <span v-if="model.specialInfo">{{model.specialInfo}}</span>
+      <span v-if="model.ortherInfo">{{model.ortherInfo}}</span>
+    </div>
+    <!--    閫夋嫨鐢宠鍗�    -->
+    <ApplyChangeDetails ref="ApplyChangeDetails" @success="getValue" />
+    <el-dialog
+        title="閫夋嫨淇濋櫓鍗�"
+        :visible.sync="visibleSelect"
+        width="70%"
+        :modal="true"
+        :show-close="false"
+        append-to-body
+        center>
+      <div class="desc_item_from">
+        <el-table
+            ref="multipleTable1"
+            v-loading="isWorking.search"
+            :data="tableData.list"
+            @row-click="rowselect1"
+            row-key="id"
+            @selection-change="handleSelectionChange1"
+            stripe
+        >
+         <el-table-column
+            type="selection"
+            width="55">
+        </el-table-column>
+          <el-table-column label="搴忓彿" width="80px">
+            <template slot-scope="scope">
+              <span>{{scope.$index + 1}}</span>
+            </template>
+          </el-table-column>
+          <el-table-column prop="statusInfo" label="鐘舵��" min-width="100px">
+            <template slot-scope="{row}">
+              <span :class="'union-apply-status'+row.status"  >{{ row.statusInfo}}</span>
+            </template>
+          </el-table-column>
+          <el-table-column prop="code" label="淇濆崟鍙�" min-width="100px"></el-table-column>
+          <el-table-column prop="solutionName" label="淇濋櫓鏂规" min-width="100px"></el-table-column>
+          <el-table-column prop="insureNum" label="鎶曚繚浜烘暟" min-width="100px"></el-table-column>
+          <el-table-column prop="fee" label="鎬昏垂鐢紙鍏冿級" min-width="100px"></el-table-column>
+          <el-table-column prop="createDate" label="鎻愪氦鏃堕棿" min-width="100px"></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="tableTotal">
+          </el-pagination>
+        </div>
+      </div>
+      <span slot="footer" class="dialog-footer">
+                <el-button type="primary" @click="selectDo()">纭�  瀹�</el-button>
+                <el-button @click="model=null;visibleSelect=false">鍙� 娑�</el-button>
+            </span>
+    </el-dialog>
+
+  </GlobalWindow>
+</template>
+
+<script>
+import BaseOpera from '@/components/base/BaseOpera'
+import GlobalWindow from '@/components/common/GlobalWindow'
+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 { fetchList as pageUnionList } from '@/api/business/unionApply'
+import {getDetail} from "@/api/business/insuranceApply";
+export default {
+  name: 'add_subtract_entrust',
+  extends: BaseOpera,
+  components: { GlobalWindow, ApplyChangeDetails,selectApplicationForm },
+  data () {
+    return {
+      form: {
+        unionApplyId: null,
+        applyIds: [],
+        applyDate: null,
+        businessType: 1
+      },
+      visibleSelect:false,
+      solutions: [],
+      currentPage:0,
+      list: [],
+      tableData:[],
+      tableTotal:0,
+      endTime: '',
+      item: null,
+      model: null,
+      time: [],
+      // 楠岃瘉瑙勫垯
+      rules: {
+        unionApplyId: [
+          { required: true, message: '璇烽�夋嫨淇濋櫓鍗�' }
+        ],
+        applyDate: [
+          { required: true, message: '璇烽�夋嫨淇濋櫓鐢熸晥璧锋湡' }
+        ]
+      }
+    }
+  },
+  created () {
+    this.config({
+      api: '/business/insuranceApply',
+      'field.id': 'id'
+    })
+  },
+  methods: {
+    rowselect(row){
+      this.$refs.multipleTable.toggleRowSelection(row,true);
+    },
+    rowselect1(row){
+      this.$refs.multipleTable1.toggleRowSelection(row,true);
+    },
+    checkDetial(row){
+      getDetail(row.applyId).then(res => {
+        // this.apply = res
+        this.$refs.ApplyChangeDetails.open('鍔犲噺淇濅汉鍛樺悕鍗�',res, row,2)
+      }).catch(err => {
+      })
+    },
+    handleSelectionChange(rows){
+      this.form.applyIds = []
+      // 鍋囪鍙栧嚭 id 瀛楁
+      rows.forEach(item => {
+        const id = item.id
+        if ( this.form.applyIds.indexOf(id) === -1) {
+          this.form.applyIds.push(id)
+        }
+      })
+    },
+    handleSelectionChange1 (rows) {
+      console.log(rows)
+      if (rows.length > 1) {
+        // clearSelection 鐢ㄤ簬澶氶�夎〃鏍硷紝娓呯┖鐢ㄦ埛鐨勯�夋嫨
+        this.$refs.multipleTable1.clearSelection();
+        this.$refs.multipleTable1.toggleRowSelection(rows[rows.length-1]);
+      }
+     if (rows.length >= 1) {
+        // 閫変腑鐨勮瀵瑰儚鏀捐繘鏁扮粍锛屾柟渚垮悗缁鏁版嵁杩涜鎿嶄綔
+        this.model =rows[rows.length-1]
+      } else if (rows.length === 0) {
+        this.model = null
+      }
+    },
+    selectDo(){
+      if(!this.model){
+        this.$tip.apiFailed({
+          type: 'error',
+          message: '璇烽�夋嫨鑷冲皯涓�鏉$敵璇疯褰曡繘琛屾搷浣�'
+        })
+        return
+      }
+      this.visibleSelect=false
+      this.form.unionApplyId = this.model.id
+      this.getList();
+    },
+    confirm () {
+      this.$refs.form.validate((valid) => {
+        // debugger
+        if (!valid) {
+          return
+        }
+        if(this.form.applyIds == null || this.form.applyIds.length ===0){
+          this.$tip.apiFailed({
+            type: 'error',
+            message: '璇烽�夋嫨鑷冲皯涓�鏉$敵璇疯褰曡繘琛屾姇淇濈敵璇凤紒!'
+          })
+          return;
+        }
+        this.$confirm('纭鎻愪氦锛岃浠旂粏鏍稿淇℃伅銆�', '鎻愮ず', {
+          confirmButtonText: '纭畾',
+          cancelButtonText: '鍙栨秷',
+          type: 'warning',
+          center: true
+        }).then(() => {
+          merge(this.form)
+              .then(response => {
+                this.$message({
+                  type: 'success',
+                  message: '鎻愪氦鎴愬姛!'
+                })
+                this.visible = false
+                this.$emit('success')
+              }).catch(err => {
+            this.$tip.apiFailed(err)
+          })
+        }).catch(() => {
+          this.$message({
+            type: 'info',
+            message: '鍙栨秷'
+          })
+        })
+      })
+    },
+    open (title, target) {
+      this.title = title
+      this.model= null
+      this.list= []
+      this.visibleSelect=false
+      this.tableData=[]
+      this.tableTotal=0
+      this.item= null
+      if (target) {
+        this.$nextTick(() => {
+          this.$refs.form.resetFields()
+        })
+      } else {
+        this.$nextTick(() => {
+          this.$refs.form.resetFields()
+          this.form[this.configData['field.id']] = null
+        })
+      }
+      // this.getUnionApplyList()
+      this.visible = true
+    },
+    getValue(){
+
+    },
+    selectBaoxiandan(){
+      this.currentPage = 1
+      this.visibleSelect=true
+      this.$refs.multipleTable.clearSelection();
+      this.getUnionApplyList()
+    },
+    getUnionApplyList(){
+      pageUnionList({
+        capacity: 10,
+        page: this.currentPage,
+        model: {
+          status: 3,
+        }
+      }).then(res => {
+        this.tableData.list = res.records
+        this.tableTotal = res.total
+        this.$nextTick(() => {
+          console.log(this.$refs.multipleTable1)
+          if (this.$refs.multipleTable1 && this.$refs.multipleTable1.doLayout) {
+            this.$refs.multipleTable1.doLayout()
+          }
+        })
+      })
+    },
+    getList () {
+      listAll({
+          solutionType:1,
+          type:1,
+          unionApplyId: this.model.id,
+          status: 7
+      }).then(res => {
+        this.list = res
+        this.$nextTick(() => {
+          if (this.$refs.multipleTable && this.$refs.multipleTable.doLayout) {
+            this.$refs.multipleTable.doLayout()
+          }
+        })
+      })
+    },
+    handleCurrentChange (val) {
+      this.currentPage = val
+      this.getUnionApplyList()
+    }
+  }
+}
+</script>
+
+<style lang="scss" scoped>
+.list {
+  width: 100%;
+}
+.btns {
+  width: 100%;
+  margin-bottom: 15px;
+  display: flex;
+  align-items: center;
+  justify-content: space-between;
+  .btns_item {
+    display: flex;
+    align-items: center;
+  }
+}
+.submit {
+  width: 100%;
+  display: flex;
+  align-items: center;
+  justify-content: center;
+  margin-bottom: 15px;
+}
+.desc_item_cate {
+  width: 100%;
+  margin-bottom: 10px;
+}
+.info {
+  margin-top: 30px;
+  width: 100%;
+  font-size: 14px;
+  color: black;
+}
+</style>
diff --git a/company/src/components/business/OperaApplyChangeDetailWindow.vue b/company/src/components/business/OperaApplyChangeDetailWindow.vue
index 2336ea6..5492629 100644
--- a/company/src/components/business/OperaApplyChangeDetailWindow.vue
+++ b/company/src/components/business/OperaApplyChangeDetailWindow.vue
@@ -325,6 +325,8 @@
         this.title = title
         this.dataId = target.applyId
         this.modelId = target.id
+       this.model={}
+       this.apply={}
        this.form.businessId = target.id
        this.num=0
        this.timer=null
diff --git a/company/src/components/business/OperaUnionChangeDetailWindow.vue b/company/src/components/business/OperaUnionChangeDetailWindow.vue
new file mode 100644
index 0000000..af730f7
--- /dev/null
+++ b/company/src/components/business/OperaUnionChangeDetailWindow.vue
@@ -0,0 +1,572 @@
+<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('鍔犲噺淇濊鍗�',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 == 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>
+                        </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>
+                  </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="applyStartTime"
+                          align="center"
+                          label="鎵瑰崟鐢熸晥璧锋湡">
+                      </el-table-column>
+                        <el-table-column
+                            prop="addNum"
+                            align="center"
+                            label="鍔犱繚浜烘暟">
+                        </el-table-column>
+                        <el-table-column
+                            prop="delNum"
+                            align="center"
+                            label="鍑忎繚浜烘暟">
+                        </el-table-column>
+                        <el-table-column
+                            prop="fee"
+                            align="center"
+                            label="璐圭敤鍙樻洿锛堝厓锛�">
+                        </el-table-column>
+                    </el-table>
+                </div>
+                <div class="desc_item_cate">
+                    <el-tabs v-model="activeName" @tab-click="handleClick">
+                        <el-tab-pane label="鍔犱繚璁板綍" name="0"></el-tab-pane>
+                        <el-tab-pane label="鍑忎繚璁板綍" name="1"></el-tab-pane>
+                    </el-tabs>
+                </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="duName"
+                            label="娲鹃仯鍗曚綅">
+                        </el-table-column>
+                        <el-table-column
+                            prop="workTypeName"
+                            label="鎵�灞炲伐绉�">
+                        </el-table-column>
+                        <el-table-column
+                            prop="startTime"
+                            label="淇濋櫓鐢熸晥璧锋湡">
+                        </el-table-column>
+                        <el-table-column
+                            prop="endTime"
+                            label="淇濋櫓鐢熸晥姝㈡湡">
+                        </el-table-column>
+                        <el-table-column
+                            prop="fee"
+                            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">
+                    <div class="desc_item_review_label">瀹℃牳娴佺▼</div>
+                  <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;" >
+                                        {{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>
+        <ApplyChangeDetails ref="ApplyChangeDetails" @success="successEvent" />
+        <OperaApplyChangeCheckWindow ref="OperaApplyChangeCheckWindow" @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" @click="goSignDo()">纭�  瀹�</el-button>
+                <el-button @click="visiblePhone=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 ApplyChangeDetails from '@/components/business/ApplyChangeDetails'
+import OperaApplyChangeCheckWindow from '@/components/business/OperaApplyChangeCheckWindow'
+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,
+} from '@/api/business/unionChange'
+import { applyChangeOpt ,
+  getChangeMemberListOnlineSignLink} 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,
+      ApplyChangeDetails,
+      OperaApplyChangeCheckWindow,
+      add_subtract_return,
+      OperaInsuranceApply,
+      reinsurance,
+      factoryChange,
+      insuranceApplyDetails: () => import ('@/components/business/OperaInsuranceApplyWindow')
+  },
+  data () {
+    return {
+      // 琛ㄥ崟鏁版嵁
+      modelId:null,
+      num: 0,
+      timer: null,
+      signTitle: '鎵嬫満鍙烽獙璇�',
+      model: {},
+      visiblePhone: 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.timer=null
+        this.getDetail()
+        this.getList()
+     },
+    send () {
+      sendSms({
+        phone: this.form.phone
+      }).then(res => {
+        this.num = 60
+        this.setTime()
+      })
+    },
+    setTime () {
+      this.timer = setInterval(() => {
+        if (this.num === 0) {
+          clearInterval(this.timer)
+          this.timer = null
+          return
+        }
+        this.num = this.num - 1
+      }, 1000)
+    },
+    getSignLink (flag) {
+      if (flag === 0) {
+        this.signTitle = '绛剧讲鏂规纭涔�'
+      } else if (flag === 1) {
+        this.signTitle = '绛剧讲鐢宠鍗�'
+      } else if (flag === 2) {
+        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.isWorking = true
+        if(this.form.type===0){
+          getChangeMemberListOnlineSignLink(this.form).then(res => {
+            setTimeout(() => {
+              this.visiblePhone=false
+              window.open(res)
+            }, 500)
+          }).catch(err => {
+            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,
+                   types:[ this.activeName]
+               }
+           }).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(){
+      if(this.model.pidanFile && this.model.pidanFile.fileurlFull){
+        window.open(this.model.pidanFile.fileurlFull)
+      }
+    },
+    handleSizeChange(val){
+        console.log(val)
+    },
+    handleCurrentChange(val){
+        console.log(val)
+        this.page = val
+        this.getList()
+    },
+    onSubmit(){
+
+    },
+    getDetail(){
+      getById(this.modelId).then(res => {
+        this.model = res
+        this.tableData = new Array()
+        this.tableData.push(res)
+      }).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/views/business/unionApply.vue b/company/src/views/business/unionApply.vue
index 128adc6..e7e4e9e 100644
--- a/company/src/views/business/unionApply.vue
+++ b/company/src/views/business/unionApply.vue
@@ -2,7 +2,7 @@
     <TableLayout :permissions="['business:insuranceapply:query']">
         <!-- 鎼滅储琛ㄥ崟 -->
         <el-form ref="searchForm" slot="search-form" :model="searchForm" label-width="100px" inline>
-            <el-form-item label="淇濆崟鐘舵��" prop="status">
+            <el-form-item label="淇濆崟鐘舵��" prop="status" >
                 <el-select v-model="searchForm.status" placeholder="璇烽�夋嫨"  clearable   @keypress.enter.native="search">
                     <el-option label="寰呭鏍�" value="0"></el-option>
                     <el-option label="寰呯缃�" value="1"></el-option>
diff --git a/company/src/views/business/unionChange.vue b/company/src/views/business/unionChange.vue
index 2e704cd..e374171 100644
--- a/company/src/views/business/unionChange.vue
+++ b/company/src/views/business/unionChange.vue
@@ -3,12 +3,11 @@
         <!-- 鎼滅储琛ㄥ崟 -->
         <el-form ref="searchForm" slot="search-form" :model="searchForm" label-width="100px" inline>
             <el-form-item label="淇濆崟鐘舵��" prop="status">
-                <el-select v-model="searchForm.status" placeholder="璇烽�夋嫨" @change="search">
-                    <el-option label="鍏ㄩ儴" value=""></el-option>
-                    <el-option label="寰呯缃�" value="1"></el-option>
-                    <el-option label="寰呭嚭鍗�" value="2"></el-option>
-                    <el-option label="宸茬敓鏁�" value="3"></el-option>
-                    <el-option label="宸查��鍥�" value="4"></el-option>
+                <el-select v-model="searchForm.status" clearable  @change="search">
+                    <el-option label="寰呯缃�" value="0"></el-option>
+                    <el-option label="寰呭鏍�" value="1"></el-option>
+                    <el-option label="宸茬敓鏁�" value="2"></el-option>
+                    <el-option label="宸查��鍥�" value="3"></el-option>
                 </el-select>
             </el-form-item>
             <el-form-item label="淇濋櫓鏂规" prop="solutionName">
@@ -47,10 +46,10 @@
                 </el-table-column>
                 <el-table-column prop="status" label="淇濆崟鐘舵��" min-width="100px">
                     <template slot-scope="{row}">
-                        <span :class="'change-status'+row.status" v-if="row.status === 1">寰呯缃�</span>
-                        <span :class="'change-status'+row.status" v-if="row.status === 2">寰呭嚭鍗�</span>
-                        <span :class="'change-status'+row.status" v-if="row.status === 3">宸茬敓鏁�</span>
-                        <span :class="'change-status'+row.status" v-if="row.status === 4">宸查��鍥�</span>
+                        <span :class="'union-change-status'+row.status" v-if="row.status === 0">寰呯缃�</span>
+                        <span :class="'union-change-status'+row.status" v-if="row.status === 1">寰呭鏍�</span>
+                        <span :class="'union-change-status'+row.status" v-if="row.status === 2">宸茬敓鏁�</span>
+                        <span :class="'union-change-status'+row.status" v-if="row.status === 3">宸查��鍥�</span>
                     </template>
                 </el-table-column>
                 <el-table-column prop="applyCode" label="鍏宠仈淇濆崟鍙�" min-width="100px"></el-table-column>
@@ -64,7 +63,7 @@
                     fixed="right"
                 >
                     <template slot-scope="{row}">
-                        <el-button type="text" @click="$refs.OperaApplyChangeDetailWindow.open('鍔犲噺淇濊鎯�', row)">鏌ョ湅璇︽儏</el-button>
+                        <el-button type="text" @click="$refs.OperaUnionChangeDetailWindow.open('鍔犲噺淇濊鎯�', row)">鏌ョ湅璇︽儏</el-button>
                     </template>
                 </el-table-column>
             </el-table>
@@ -77,6 +76,7 @@
         </template>
         <!--    鎻愪氦鐢宠    -->
         <OpearaUnionChange ref="OpearaUnionChange" />
+        <OperaUnionChangeDetailWindow ref="OperaUnionChangeDetailWindow" @success="handlerSuccess"/>
     </TableLayout>
 </template>
 
@@ -85,10 +85,11 @@
     import TableLayout from '@/layouts/TableLayout'
     import Pagination from '@/components/common/Pagination'
     import OpearaUnionChange from '@/components/business/OpearaUnionChange'
+    import OperaUnionChangeDetailWindow from '@/components/business/OperaUnionChangeDetailWindow'
     export default {
         name: 'unionChange',
         extends: BaseTable,
-        components: { TableLayout, Pagination, OpearaUnionChange },
+        components: { TableLayout, Pagination, OpearaUnionChange ,OperaUnionChangeDetailWindow},
         data () {
             return {
                 // 鎼滅储
@@ -112,6 +113,9 @@
             this.search()
         },
         methods: {
+           handlerSuccess(){
+             this.reset();
+           },
             changeTime(e) {
                 if (e.length > 0) {
                     this.searchForm.queryStartTime = e[0]
diff --git a/company/src/views/business/unionChangeUnit.vue b/company/src/views/business/unionChangeUnit.vue
index 2e2dad0..5db3aa1 100644
--- a/company/src/views/business/unionChangeUnit.vue
+++ b/company/src/views/business/unionChangeUnit.vue
@@ -1,134 +1,132 @@
 <template>
-    <TableLayout :permissions="['business:applychange:query']">
-        <!-- 鎼滅储琛ㄥ崟 -->
-        <el-form ref="searchForm" slot="search-form" :model="searchForm" label-width="100px" inline>
-            <el-form-item label="淇濆崟鐘舵��" prop="status">
-                <el-select v-model="searchForm.status" placeholder="璇烽�夋嫨" @change="search">
-                    <el-option label="鍏ㄩ儴" value=""></el-option>
-                    <el-option label="寰呯缃�" value="1"></el-option>
-                    <el-option label="寰呭嚭鍗�" value="2"></el-option>
-                    <el-option label="宸茬敓鏁�" value="3"></el-option>
-                    <el-option label="宸查��鍥�" value="4"></el-option>
-                </el-select>
-            </el-form-item>
-            <el-form-item label="淇濋櫓鏂规" prop="solutionName">
-                <el-input v-model="searchForm.solutionName" placeholder="璇疯緭鍏�" @keypress.enter.native="search"></el-input>
-            </el-form-item>
-            <el-form-item label="鎻愪氦鏃ユ湡" prop="status">
-                <el-date-picker
-                    @change="changeTime"
-                    v-model="searchForm.time"
-                    type="daterange"
-                    value-format="yyyy-MM-dd"
-                    range-separator="鑷�"
-                    start-placeholder="寮�濮嬫棩鏈�"
-                    end-placeholder="缁撴潫鏃ユ湡">
-                </el-date-picker>
-            </el-form-item>
-            <section>
-                <el-button type="primary" @click="search">鎼滅储</el-button>
-                <el-button @click="reset">閲嶇疆</el-button>
-            </section>
-        </el-form>
-        <!-- 琛ㄦ牸鍜屽垎椤� -->
-        <template v-slot:table-wrap>
-            <ul class="toolbar" v-permissions="['business:insurance:create']">
-                <li><el-button type="primary" @click="$refs.add_subtract_entrust.open('鍔犲噺淇濈敵璇�')" v-permissions="['business:insurance:create']">鎻愪氦鐢宠</el-button></li>
-            </ul>
-            <el-table
-                v-loading="isWorking.search"
-                :data="tableData.list"
-                stripe
-            >
-                <el-table-column label="搴忓彿" width="80px">
-                    <template slot-scope="scope">
-                        <span>{{scope.$index + 1}}</span>
-                    </template>
-                </el-table-column>
-                <el-table-column prop="status" label="淇濆崟鐘舵��" min-width="100px">
-                    <template slot-scope="{row}">
-                        <span :class="'change-status'+row.status" v-if="row.status === 1">寰呯缃�</span>
-                        <span :class="'change-status'+row.status" v-if="row.status === 2">寰呭嚭鍗�</span>
-                        <span :class="'change-status'+row.status" v-if="row.status === 3">宸茬敓鏁�</span>
-                        <span :class="'change-status'+row.status" v-if="row.status === 4">宸查��鍥�</span>
-                    </template>
-                </el-table-column>
-              <el-table-column prop="applyCode" label="鍏宠仈淇濆崟鍙�" min-width="100px"></el-table-column>
-              <el-table-column prop="solutionsName" label="淇濋櫓鏂规" min-width="100px"></el-table-column>
-              <el-table-column prop="changeNum" label="鏇存崲娲鹃仯鍗曚綅浜烘暟" min-width="100px"></el-table-column>
-              <el-table-column prop="fee" label="璐圭敤鍙樻洿鏇存崲娲鹃仯鍗曚綅" min-width="100px"></el-table-column>
-              <el-table-column prop="createDate" label="鎻愪氦鏃堕棿" min-width="100px"></el-table-column>
-                <el-table-column
-                    label="鎿嶄綔"
-                    min-width="120"
-                    fixed="right"
-                >
-                    <template slot-scope="{row}">
-                        <el-button type="text" @click="$refs.OperaApplyChangeDetailWindow.open('鍔犲噺淇濊鎯�', row)">鏌ョ湅璇︽儏</el-button>
-                    </template>
-                </el-table-column>
-            </el-table>
-            <pagination
-                @size-change="handleSizeChange"
-                @current-change="handlePageChange"
-                :pagination="tableData.pagination"
-            >
-            </pagination>
-        </template>
-        <!--    鎻愪氦鐢宠    -->
-        <add_subtract_entrust ref="add_subtract_entrust" />
-    </TableLayout>
+  <TableLayout :permissions="['business:applychange:query']">
+    <!-- 鎼滅储琛ㄥ崟 -->
+    <el-form ref="searchForm" slot="search-form" :model="searchForm" label-width="100px" inline>
+      <el-form-item label="淇濆崟鐘舵��" prop="status">
+        <el-select v-model="searchForm.status" clearable  @change="search">
+          <el-option label="寰呯缃�" value="1"></el-option>
+          <el-option label="寰呭鏍�" value="2"></el-option>
+          <el-option label="宸茬敓鏁�" value="3"></el-option>
+          <el-option label="宸查��鍥�" value="4"></el-option>
+        </el-select>
+      </el-form-item>
+      <el-form-item label="淇濋櫓鏂规" prop="solutionName">
+        <el-input v-model="searchForm.solutionName" placeholder="璇疯緭鍏�" @keypress.enter.native="search"></el-input>
+      </el-form-item>
+      <el-form-item label="鎻愪氦鏃ユ湡" prop="status">
+        <el-date-picker
+            @change="changeTime"
+            v-model="searchForm.time"
+            type="daterange"
+            value-format="yyyy-MM-dd"
+            range-separator="鑷�"
+            start-placeholder="寮�濮嬫棩鏈�"
+            end-placeholder="缁撴潫鏃ユ湡">
+        </el-date-picker>
+      </el-form-item>
+      <section>
+        <el-button type="primary" @click="search">鎼滅储</el-button>
+        <el-button @click="reset">閲嶇疆</el-button>
+      </section>
+    </el-form>
+    <!-- 琛ㄦ牸鍜屽垎椤� -->
+    <template v-slot:table-wrap>
+      <ul class="toolbar" v-permissions="['business:unionchange:create']">
+        <li><el-button type="primary" @click="$refs.OpearaUnionChangeUnit.open('鏇存崲娲鹃仯鍗曚綅鐢宠')" v-permissions="['business:unionchange:create']">鎻愪氦鐢宠</el-button></li>
+      </ul>
+      <el-table
+          v-loading="isWorking.search"
+          :data="tableData.list"
+          stripe
+      >
+        <el-table-column label="搴忓彿" width="80px">
+          <template slot-scope="scope">
+            <span>{{scope.$index + 1}}</span>
+          </template>
+        </el-table-column>
+        <el-table-column prop="status" label="淇濆崟鐘舵��" min-width="100px">
+          <template slot-scope="{row}">
+            <span :class="'union-change-status'+row.status" v-if="row.status === 0">寰呯缃�</span>
+            <span :class="'union-change-status'+row.status" v-if="row.status === 1">寰呭鏍�</span>
+            <span :class="'union-change-status'+row.status" v-if="row.status === 2">宸茬敓鏁�</span>
+            <span :class="'union-change-status'+row.status" v-if="row.status === 3">宸查��鍥�</span>
+          </template>
+        </el-table-column>
+        <el-table-column prop="applyCode" label="鍏宠仈淇濆崟鍙�" min-width="100px"></el-table-column>
+        <el-table-column prop="solutionsName" label="淇濋櫓鏂规" min-width="100px"></el-table-column>
+        <el-table-column prop="changeNum" label="鏇存崲娲鹃仯鍗曚綅浜烘暟锛堜汉锛�" min-width="100px"></el-table-column>
+        <el-table-column prop="createDate" label="鎻愪氦鏃堕棿" min-width="100px"></el-table-column>
+        <el-table-column
+            label="鎿嶄綔"
+            min-width="120"
+            fixed="right"
+        >
+          <template slot-scope="{row}">
+            <el-button type="text" @click="$refs.OperaApplyChangeDetailWindow.open('鏇存崲娲鹃仯鍗曚綅璇︽儏', row)">鏌ョ湅璇︽儏</el-button>
+          </template>
+        </el-table-column>
+      </el-table>
+      <pagination
+          @size-change="handleSizeChange"
+          @current-change="handlePageChange"
+          :pagination="tableData.pagination"
+      >
+      </pagination>
+    </template>
+    <!--    鎻愪氦鐢宠    -->
+    <OpearaUnionChangeUnit ref="OpearaUnionChangeUnit" />
+  </TableLayout>
 </template>
 
 <script>
-    import BaseTable from '@/components/base/BaseTable'
-    import TableLayout from '@/layouts/TableLayout'
-    import Pagination from '@/components/common/Pagination'
-    import add_subtract_entrust from '@/components/business/add_subtract_entrust'
-    export default {
-        name: 'unionChangeUnit',
-        extends: BaseTable,
-        components: { TableLayout, Pagination, add_subtract_entrust },
-        data () {
-            return {
-                // 鎼滅储
-                searchForm: {
-                    status: '',
-                    type: '0',
-                    solutionName: '',
-                    queryStartTime: '',
-                    queryEndTime: '',
-                    time: []
-                }
-            }
-        },
-        created () {
-            this.config({
-                module: '鍔犲噺淇濇崲鍘傚悎骞跺崟淇℃伅琛�',
-                api: '/business/unionChange',
-                'field.id': 'id',
-                'field.main': 'id'
-            })
-            this.search()
-        },
-        methods: {
-            changeTime(e) {
-                if (e.length > 0) {
-                    this.searchForm.queryStartTime = e[0]
-                    this.searchForm.queryEndTime = e[1]
-                } else {
-                    this.searchForm.queryStartTime = ''
-                    this.searchForm.queryEndTime = ''
-                }
-                this.search()
-            },
-            reset() {
-                this.searchForm.queryStartTime = ''
-                this.searchForm.queryEndTime = ''
-                this.searchForm.time = []
-                this.$refs.searchForm.resetFields();
-                this.search()
-            }
-        }
+import BaseTable from '@/components/base/BaseTable'
+import TableLayout from '@/layouts/TableLayout'
+import Pagination from '@/components/common/Pagination'
+import OpearaUnionChangeUnit from '@/components/business/OpearaUnionChangeUnit'
+export default {
+  name: 'unionChangeUnit',
+  extends: BaseTable,
+  components: { TableLayout, Pagination, OpearaUnionChangeUnit },
+  data () {
+    return {
+      // 鎼滅储
+      searchForm: {
+        status: '',
+        type: '1',
+        solutionName: '',
+        queryStartTime: '',
+        queryEndTime: '',
+        time: []
+      }
     }
+  },
+  created () {
+    this.config({
+      module: '鍔犲噺淇濇崲鍘傚悎骞跺崟淇℃伅琛�',
+      api: '/business/unionChange',
+      'field.id': 'id',
+      'field.main': 'id'
+    })
+    this.search()
+  },
+  methods: {
+    changeTime(e) {
+      if (e.length > 0) {
+        this.searchForm.queryStartTime = e[0]
+        this.searchForm.queryEndTime = e[1]
+      } else {
+        this.searchForm.queryStartTime = ''
+        this.searchForm.queryEndTime = ''
+      }
+      this.search()
+    },
+    reset() {
+      this.searchForm.queryStartTime = ''
+      this.searchForm.queryEndTime = ''
+      this.searchForm.time = []
+      this.$refs.searchForm.resetFields();
+      this.search()
+    }
+  }
+}
 </script>
diff --git a/server/service/src/main/java/com/doumee/dao/business/dto/ApplyDetailPageDTO.java b/server/service/src/main/java/com/doumee/dao/business/dto/ApplyDetailPageDTO.java
index 93dabf6..c7f8008 100644
--- a/server/service/src/main/java/com/doumee/dao/business/dto/ApplyDetailPageDTO.java
+++ b/server/service/src/main/java/com/doumee/dao/business/dto/ApplyDetailPageDTO.java
@@ -52,6 +52,8 @@
     private Integer applyChangeId;
     @ApiModelProperty(value = "鍚堝苟鍗曚富閿�")
     private Integer unionApplyId;
+    @ApiModelProperty(value = "鍚堝苟鍗曚富閿�")
+    private Integer unionChangeId;
 
     @ApiModelProperty(value = "绫诲瀷锛�0=鍔犱繚锛�1=鍑忎繚锛�2=鎹㈠巶 ")
     private List<Integer> types;
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 ef76fd5..0266b4f 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
@@ -217,6 +217,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());
         queryWrapper.ge(StringUtils.isNotBlank(applyDetailPageDTO.getStartTimeS()),ApplyChagneDetail::getStartTime,applyDetailPageDTO.getStartTimeS()+" 00:00:00");
         queryWrapper.le(StringUtils.isNotBlank(applyDetailPageDTO.getStartTimeE()),ApplyChagneDetail::getStartTime,applyDetailPageDTO.getStartTimeE()+" 23:59:59");
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 cc8e40f..19467b3 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
@@ -200,6 +200,7 @@
         IPage<UnionChange> page = new Page<>(pageWrap.getPage(), pageWrap.getCapacity());
         MPJLambdaWrapper<UnionChange> queryWrapper = new MPJLambdaWrapper<>();
         queryWrapper.selectAll(UnionChange.class);
+        pageWrap.getModel().setIsdeleted(Constants.ZERO);
         queryWrapper.selectAs(UnionApply::getCode,UnionChange::getApplyCode);
         queryWrapper.selectAs(Solutions::getName,UnionChange::getSolutionsName)
         .select("( select count(1) from apply_chagne_detail ad where t.id = ad.UNION_CHANGE_ID and ad.TYPE = 0  )",UnionChange::getAddNum)
@@ -209,7 +210,7 @@
         queryWrapper.leftJoin(Solutions.class,Solutions::getId,UnionApply::getSolutionId);
         LoginUserInfo user = (LoginUserInfo) SecurityUtils.getSubject().getPrincipal();
         if(Constants.equalsInteger(user.getType(),Constants.TWO)){
-            queryWrapper.eq(UnionChange::getShopId, pageWrap.getModel().getShopId());
+            queryWrapper.eq(UnionChange::getShopId, user.getCompanyId());
         }
         Utils.MP.blankToNull(pageWrap.getModel());
         if (pageWrap.getModel().getId() != null) {
@@ -327,6 +328,7 @@
         unionChange.setCreateDate(new Date());
         unionChange.setCreator(user.getId());
         unionChange.setShopId(user.getCompanyId());
+        unionChange.setIsdeleted(Constants.ZERO);
         unionChange.setUnionApplyId(saveUnionChangeDTO.getUnionApplyId());
         unionChange.setApplyStartTime(saveUnionChangeDTO.getApplyDate());
         unionChange.setType(saveUnionChangeDTO.getBusinessType());
@@ -343,7 +345,7 @@
 
         applyChagneDetailJoinMapper.update(null,new UpdateWrapper<ApplyChagneDetail>().lambda()
                 .set(ApplyChagneDetail::getUnionChangeId,unionChange.getId())
-                .in(ApplyChagneDetail::getApplyId,saveUnionChangeDTO.getApplyIds()));
+                .in(ApplyChagneDetail::getApplyChangeId,saveUnionChangeDTO.getApplyIds()));
 
 
         Constants.ApplyLogType applyLogType = Constants.ApplyLogType.CA_HBD_UPLOAD;

--
Gitblit v1.9.3