From 09da100729793848bc01b51f7b05ca3f1e7ec64f Mon Sep 17 00:00:00 2001
From: jiangping <jp@doumee.com>
Date: 星期四, 20 六月 2024 14:05:35 +0800
Subject: [PATCH] 提交一把

---
 company/src/components/business/detailsEntrustedInsurance.vue |  223 ++++++++++++++++++++++++++++++++++++++++---------------
 1 files changed, 160 insertions(+), 63 deletions(-)

diff --git a/company/src/components/business/detailsEntrustedInsurance.vue b/company/src/components/business/detailsEntrustedInsurance.vue
index b3c6a68..020aae4 100644
--- a/company/src/components/business/detailsEntrustedInsurance.vue
+++ b/company/src/components/business/detailsEntrustedInsurance.vue
@@ -11,20 +11,21 @@
         <div class="desc_item_label">
           <div class="desc_item_label_left">
             <span>鎶曚繚浜猴細{{ model.companyName }}</span>
-            <span>淇濆崟鐘舵�侊細<span  :class="'apply-status'+model.status" >{{ model.statusInfo }}</span></span>
+            <span>淇濆崟鐘舵�侊細<span  :class="'union-apply-status'+model.status" >{{ model.statusInfo }}</span></span>
             <span>鎻愪氦鏃堕棿锛歿{ model.createDate }}</span>
           </div>
           <div class="desc_item_label_right">
             <template v-if="userInfo.type === 2">
-              <el-button type="primary" v-if="[0].includes(model.status) " @click="$refs.InsuranceDetails.open('瀵煎嚭璇﹀崟',model,0)">瀵煎嚭璇﹀崟</el-button>
+              <el-button type="primary"   @click="$refs.InsuranceDetails.open('瀵煎嚭璇﹀崟',model,0)">瀵煎嚭璇﹀崟</el-button>
               <el-button v-if="[0].includes(model.status) " type="primary" @click="$refs.OperaUnionApplyCheckWindow.open('涓婁紶鎶曚繚鍗�',model,2)">涓婁紶鎶曚繚鍗�</el-button>
-              <el-button v-if="model.status == 1" type="primary" @click="getSignLink(0)">绛剧讲鎶曚繚鍗�</el-button>
+              <el-button v-if="model.status == 1" type="primary" :disabled="loading" :loading="loading" @click="getSignLink(0)">绛剧讲鎶曚繚鍗�</el-button>
               <el-button v-if="[2,3,4].includes(model.status)" type="primary" @click="viewToubaodan">鏌ョ湅鎶曚繚鍗�</el-button>
-              <el-button v-if="[3].includes(model.status) " type="primary" @click="$refs.OperaUnionApplyCheckWindow.open('涓婁紶鎶曚繚鍗�',model,3)">涓婁紶淇濋櫓鍗�</el-button>
-              <el-button v-if="model.status == 4" type="primary" @click="viewBaoxiandan">鏌ョ湅淇濋櫓鍗�</el-button>
+              <el-button v-if="[2].includes(model.status) " type="primary" @click="$refs.OperaUnionApplyCheckWindow.open('涓婁紶淇濋櫓鍗�',model,3)">涓婁紶淇濋櫓鍗�</el-button>
+              <el-button v-if="model.status == 3" type="primary" @click="viewBaoxiandan">鏌ョ湅淇濋櫓鍗�</el-button>
               <el-button v-if="[0,1,2].includes(model.status) " type="danger" @click="$refs.OperaUnionApplyCheckWindow.open('閫�鍥炴姇淇�',model,1)">閫�鍥炵敵璇�</el-button>
             </template>
             <template v-if="userInfo.type ===0">
+              <el-button type="primary"   @click="$refs.InsuranceDetails.open('瀵煎嚭璇﹀崟',model,0)">瀵煎嚭璇﹀崟</el-button>
               <el-button v-if="[2,3,4].includes(model.status)" type="primary" @click="viewToubaodan">鏌ョ湅鎶曚繚鍗�</el-button>
               <el-button v-if="[4].includes(model.status)" type="primary" @click="viewBaoxiandan">鏌ョ湅淇濋櫓鍗�</el-button>
             </template>
@@ -61,10 +62,11 @@
                 align="center"
                 label="鎶曚繚浜烘暟">
             </el-table-column>
+            <el-table-column prop="guaranteeNum"  align="center" label="鍦ㄤ繚浜烘暟" ></el-table-column>
             <el-table-column
                 prop="serviceDays"
                 align="center"
-                label="鍦ㄤ繚鏃堕暱锛堝ぉ锛�">
+                label="淇濆崟鏃堕暱锛堝ぉ锛�">
             </el-table-column>
             <el-table-column
                 prop="currentFee"
@@ -128,7 +130,6 @@
             <el-form-item>
               <el-button type="primary" style="width: 80px;" @click="search">鏌ヨ</el-button>
               <el-button @click="resetting" style="width: 80px;">閲嶇疆</el-button>
-              <el-button type="primary" style="width: 80px;" @click="exportExcel" v-if="activeName === '0'">瀵煎嚭鍚嶅崟</el-button>
             </el-form-item>
           </el-form>
         </div>
@@ -157,7 +158,7 @@
                 label="鎬у埆">
               <template slot-scope="{row}">
                 <span v-if="row.sex === 0">鐢�</span>
-                <span v-else>濂�</span>
+                <span  v-if="row.sex === 1">濂�</span>
               </template>
             </el-table-column>
             <el-table-column
@@ -165,6 +166,12 @@
                 prop="idcardNo"
                 align="center"
                 label="韬唤璇佸彿">
+            </el-table-column>
+            <el-table-column
+                :key="Math.random()"
+                prop="companyName"
+                align="center"
+                label="琚繚闄╀汉">
             </el-table-column>
             <el-table-column
                 :key="Math.random()"
@@ -214,9 +221,13 @@
                              align="center">
               <template slot-scope="{row}">
                 <span :class="'change-status'+row.status" v-if="row.status === 0">寰呯缃�</span>
-                <span :class="'change-status'+row.status" v-if="row.status === 1">寰呭嚭鍗�</span>
-                <span :class="'change-status'+row.status" v-if="row.status === 2">淇濋殰涓�</span>
-                <span :class="'change-status'+row.status" v-if="row.status === 3">宸查��鍥�</span>
+                <span :class="'change-status'+row.status" v-if="row.status === 1">寰呭鏍�</span>
+                <span :class="'change-status'+row.status" v-if="row.status === 2">宸茬敓鏁�</span>
+                <span :class="'change-status'+row.status" v-if="row.status === 3 || row.status === 4">鐢宠閫�鍥�</span>
+                <span :class="'change-status'+row.status" v-if="row.status === 5 || row.status === 8">宸查��鍥�</span>
+                <span :class="'change-status'+row.status" v-if="row.status === 6">宸插叧闂�</span>
+                <span :class="'change-status'+row.status" v-if="row.status === 7">寰呭嚭鍗�</span>
+                <span :class="'change-status'+row.status" v-if="row.status === 9">鎵规敼鐢宠涓�</span>
               </template>
             </el-table-column>
             <el-table-column
@@ -276,9 +287,13 @@
                 align="center" label="淇濆崟鐘舵��" :key="Math.random()">
               <template slot-scope="{row}">
                 <span :class="'change-status'+row.status" v-if="row.status === 0">寰呯缃�</span>
-                <span :class="'change-status'+row.status" v-if="row.status === 1">寰呭嚭鍗�</span>
-                <span :class="'change-status'+row.status" v-if="row.status === 2">淇濋殰涓�</span>
-                <span :class="'change-status'+row.status" v-if="row.status === 3">宸查��鍥�</span>
+                <span :class="'change-status'+row.status" v-if="row.status === 1">寰呭鏍�</span>
+                <span :class="'change-status'+row.status" v-if="row.status === 2">宸茬敓鏁�</span>
+                <span :class="'change-status'+row.status" v-if="row.status === 3 || row.status === 4">鐢宠閫�鍥�</span>
+                <span :class="'change-status'+row.status" v-if="row.status === 5 || row.status === 8">宸查��鍥�</span>
+                <span :class="'change-status'+row.status" v-if="row.status === 6">宸插叧闂�</span>
+                <span :class="'change-status'+row.status" v-if="row.status === 7">寰呭嚭鍗�</span>
+                <span :class="'change-status'+row.status" v-if="row.status === 9">鎵规敼鐢宠涓�</span>
               </template>
             </el-table-column>
             <el-table-column
@@ -325,7 +340,7 @@
           </div>
         </div>
         <div class="desc_item_review">
-          <div class="desc_item_review_label">瀹℃牳娴佺▼</div>
+          <div class="desc_item_review_label">鎿嶄綔璁板綍</div>
           <el-timeline :reverse="reverse">
             <el-timeline-item
                 v-for="(activity, index) in activities"
@@ -352,6 +367,7 @@
     <OperaApplyChangeDetailWindow ref="OperaApplyChangeDetailWindow" @success="successEvent"/>
     <!-- 鏇存崲娲鹃仯鍗曚綅璇︽儏 -->
     <OperaApplyChangeUnitDetailWindow ref="OperaApplyChangeUnitDetailWindow" @success="successEvent"/>
+    <OperaPdfViewerWindow ref="OperaPdfViewerWindow" />
     <!-- 鍔犲噺淇濊鎯� -->
     <template v-slot:footer>
       <el-button @click="visible=false">杩斿洖</el-button>
@@ -362,9 +378,10 @@
         :title="signTitle"
         :visible.sync="visiblePhone"
         width="500px"
-        :modal="false"
-        :show-close="false"
+        :modal="true"
+        :show-close="true"
         :close-on-click-modal="false"
+        append-to-body
         center>
       <el-form :model="form" ref="form" :rules="rules">
         <el-form-item label="鎵嬫満鍙�" prop="phone">
@@ -379,9 +396,31 @@
         </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-button type="primary" @click="goSignDo()">纭�  瀹�</el-button>
+        <el-button @click="visiblePhone=false">鍙� 娑�</el-button>
+      </span>
+    </el-dialog>
+    <el-dialog
+      :title="fileTitle"
+      :visible.sync="visibleFile"
+      width="800px"
+      :modal="true"
+      :show-close="true"
+      :close-on-click-modal="false"
+      append-to-body
+      center>
+      <div class="desc_item_from" v-for="(item, index) in fileData" :key="index"  style="margin-bottom: 15px">
+        <span v-if="index ==0">{{item.name}}锛�</span>
+        <span v-if="index >0">琚繚闄╀汉锛坽{item.name}}锛夋湇鍔¤垂锛歿{item.serverCost || 0}}鍏�/浜� {{fileFlag=== 0?"鎶曚繚鍗�":"淇濋櫓鍗�"}}锛�</span>
+        <a  style="cursor: pointer;color: #2E68EC" v-if="item.file && item.file.fileurl && index ==0" @click="openFile(item.file.fileurlFull,item.name)">鍦ㄧ嚎棰勮</a>
+        <a   style="cursor: pointer;color: #2E68EC" v-if="item.file && item.file.fileurl && index !=0 &&fileFlag=== 0" @click="openFile(item.file.fileurlFull,'琚繚闄╀汉锛�'+item.name+'锛夋姇淇濆崟')">鍦ㄧ嚎棰勮</a>
+        <a   style="cursor: pointer;color: #2E68EC" v-if="item.file && item.file.fileurl && index !=0 &&fileFlag!= 0" @click="openFile(item.file.fileurlFull,'琚繚闄╀汉锛�'+item.name+'锛変繚闄╁崟')">鍦ㄧ嚎棰勮</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>
   </GlobalWindow>
 </template>
@@ -395,41 +434,48 @@
 import OperaApplyChangeUnitDetailWindow from '@/components/business/OperaApplyChangeUnitDetailWindow'
 
 import OperaUnionApplyCheckWindow from '@/components/business/OperaUnionApplyCheckWindow'
-import { getById,getSignLink } from '@/api/business/unionApply'
+import { getById, getSignLink } from '@/api/business/unionApply'
 
 import {
   applyDetailPage,
   exportExcel,
   applyChagneDetailExcel,
   applyOpt,
+  findListByDTO as applyList
 } from '@/api/business/insuranceApply'
 import { findListByDTO } from '@/api/business/dispatchUnit'
 import { fetchList } from '@/api/business/applyChange'
 import { findListByDTO as worktypeFindListByDTO } from '@/api/business/worktype'
 import { mapState } from 'vuex'
-import {sendSms} from "@/api/business/smsEmail";
+import { sendSms } from '@/api/business/smsEmail'
 
+import OperaPdfViewerWindow from '@/components/business/OperaPdfViewerWindow'
 export default {
-  name: 'OperaWtbApplyShopWindow',
+  name: 'OperaWtbApplyShopWindow1',
   extends: BaseOpera,
   components: {
     GlobalWindow,
+    OperaPdfViewerWindow,
     OperaApplyChangeUnitDetailWindow,
     OperaApplyChangeDetailWindow,
     InsuranceDetailsWtb,
-    OperaUnionApplyCheckWindow,
+    OperaUnionApplyCheckWindow
   },
   data () {
     return {
       // 琛ㄥ崟鏁版嵁
       dataId: null,
       signTitle: '鎵嬫満鍙烽獙璇�',
+      fileTitle: '鏌ョ湅鎶曚繚鍗�',
+      fileFlag: 0,
+      visibleFile: false,
+      fileData: [],
       model: {},
       form: {
         businessId: null,
-        phone: this.$store.state.userInfo.company.phone,
+        phone: this.$store.state.userInfo.company ? this.$store.state.userInfo.company.phone:null,
         code: '',
-        type:0
+        type: 0
       },
       rules: {
         code: [
@@ -441,9 +487,9 @@
       formInline: {
         applyStatus: '',
         memberName: '',
-        end:[],
-        startTimeS:null,
-        startTimeE:null,
+        end: [],
+        startTimeS: null,
+        startTimeE: null,
         applyCompanyName: ''
       },
       visiblePhone: false,
@@ -458,7 +504,9 @@
       gzList: [],
       activeName: '0',
       total: 0,
-      currentPage: 1
+      currentPage: 1,
+
+      loading: false
     }
   },
   created () {
@@ -475,7 +523,9 @@
       this.visible = true
       this.title = title
       this.model = {}
-      this.dataId = null
+      this.fileData = []
+      this.taobaodanFileData = []
+      this.baoxiandanFileData = []
       this.dataId = target.id
       this.form.businessId = target.id
       this.formInline.applyStatus = ''
@@ -500,21 +550,33 @@
         this.signTitle = '绛剧讲鎶曚繚鍗�'
       }
       this.form.type = flag
-      this.visiblePhone = true
-      this.$nextTick(() => {
-        this.$refs.form.resetFields()
-      });
+      this.loading = true
+      getSignLink(this.form).then(res => {
+        this.loading = false
+        // setTimeout(() => {
+        //   this.visiblePhone = false
+          window.open(res)
+        // }, 500)
+      }).catch(err => {
+        this.loading = false
+        this.$tip.apiFailed(err)
+      })
+      // this.goSign()
+      // this.visiblePhone = true
+      // this.$nextTick(() => {
+      //   this.$refs.form.resetFields()
+      // })
     },
-    goSignDo(){
+    goSignDo () {
       this.$refs.form.validate((valid) => {
         if (!valid) {
           return
         }
         this.isWorking = true
-        if(this.form.type===0){
-          getSignTBQRSLink(this.form).then(res => {
+        if (this.form.type === 0) {
+          getSignLink(this.form).then(res => {
             setTimeout(() => {
-              this.visiblePhone=false
+              this.visiblePhone = false
               window.open(res)
             }, 500)
           }).catch(err => {
@@ -561,9 +623,9 @@
     // 娲鹃仯鍗曚綅
     getDW () {
       findListByDTO({ applyId: this.dataId })
-          .then(res => {
-            this.dwList = res
-          })
+        .then(res => {
+          this.dwList = res
+        })
     },
     // 宸ョ
     getGZ () {
@@ -581,6 +643,7 @@
         this.formInline.applyStatus = ''
       }
       this.formInline.start = ''
+      this.fileData = []
       this.formInline.startTimeE = ''
       this.formInline.endTimeE = ''
       this.list = []
@@ -668,15 +731,10 @@
           capacity: 10,
           page: this.currentPage,
           model: {
-            applyId: this.dataId,
+            unionApplyId: this.dataId,
             applyStatus: this.formInline.applyStatus,
-            duId: this.formInline.duId,
-            workTypeId: this.formInline.workTypeId,
-            memberName: this.formInline.memberName,
-            endTimeE: this.formInline.endTimeE,
-            endTimeS: this.formInline.endTimeS,
-            startTimeE: this.formInline.startTimeE,
-            startTimeS: this.formInline.startTimeS
+            companyName: this.formInline.applyCompanyName,
+            memberName: this.formInline.memberName
           }
         }).then(res => {
           this.list = res.records
@@ -693,7 +751,7 @@
           capacity: 10,
           page: this.currentPage,
           model: {
-            applyId: this.dataId,
+            unionApplyId: this.dataId,
             status: this.formInline.applyStatus,
             endTimeE: this.formInline.endTimeS,
             endTimeS: this.formInline.startTimeS,
@@ -733,21 +791,27 @@
         this.$tip.apiFailed(err)
       })
     },
+    openFile (url,title) {
+      setTimeout(() => {
+        this.$refs.OperaPdfViewerWindow.open(title ||'鍦ㄧ嚎棰勮',url)
+        // window.open(url)
+      }, 500)
+    },
     viewToubaodan () {
-      if (this.model.toubaodanSignedFile && this.model.toubaodanSignedFile.fileurlFull) {
-        setTimeout(() => {
-          window.open(this.model.toubaodanSignedFile.fileurlFull)
-        }, 500)
-      } else if (this.model.toubaodanFile && this.model.toubaodanFile.fileurlFull) {
-        setTimeout(() => {
-          window.open(this.model.toubaodanFile.fileurlFull)
-        }, 500)
-      }
+      this.fileData = this.taobaodanFileData;
+      this.visibleFile=true
+      this.fileTitle='鏌ョ湅鎶曚繚鍗�'
+      this.fileFlag = 0
     },
     viewBaoxiandan () {
-      if (this.model.baoxiandanFile && this.model.baoxiandanFile.fileurlFull) {
+      this.fileFlag = 1
+      this.fileTitle='鏌ョ湅淇濋櫓鍗�'
+      console.log(this.baoxiandanFileData)
+      this.fileData = this.baoxiandanFileData;
+      this.visibleFile=true
+     /* if (this.model.baoxiandanFile && this.model.baoxiandanFile.fileurlFull) {
         window.open(this.model.baoxiandanFile.fileurlFull)
-      }
+      }*/
     },
     viewFanganshu () {
       if (this.model.fanganFile && this.model.fanganFile.fileurlFull) {
@@ -775,12 +839,45 @@
         this.model = res
         this.tableData = new Array()
         this.tableData.push(res)
-        console.log(this.tableData)
         this.activities = res.applyLogList
+        if (this.model.toubaodanSignedFile && this.model.toubaodanSignedFile.fileurlFull) {
+          this.taobaodanFileData.push({ name: '鍟嗘埛鎶曚繚鍗�', file: this.model.toubaodanSignedFile })
+        } else if (this.model.toubaodanFile && this.model.toubaodanFile.fileurlFull) {
+          this.taobaodanFileData.push({ name: '鍟嗘埛鎶曚繚鍗�', file: this.model.toubaodanFile })
+        }
+        this.baoxiandanFileData.push({ name: '鍟嗘埛淇濋櫓鍗�', file: this.model.baoxiandanFile })
+        // if (this.model.status !== 0 && this.model.status !== 4) {
+          this.getApplyList()
+        // }
+      }).catch(err => {
+      })
+    },
+    getApplyList () {
+      applyList({ unionApplyId: this.dataId, getFiles: 1 }).then(res => {
+        this.model.applyList = res
+        if (res && res.length > 0) {
+          res.forEach(item => {
+            if (item.toubaodanSignedFile) {
+              this.taobaodanFileData.push({ name: item.companyName, file: item.toubaodanSignedFile })
+            } else if (item.toubaodanFile) {
+              this.taobaodanFileData.push({ name: item.companyName, file: item.toubaodanFile })
+            } else {
+              this.taobaodanFileData.push({ name: item.companyName, file: null })
+            }
+            if (item.baoxiandanFile) {
+              this.baoxiandanFileData.push({ name: item.companyName, serverCost: item.serverCost, file: item.baoxiandanFile })
+            } else {
+              this.baoxiandanFileData.push({ name: item.companyName, serverCost: item.serverCost, file: null })
+            }
+          })
+        }
       }).catch(err => {
       })
     },
     successEvent () {
+      this.fileData=[]
+      this.taobaodanFileData=[]
+      this.baoxiandanFileData=[]
       // this.visible=false
       this.getDetail()
       this.$emit('success')

--
Gitblit v1.9.3