From d2bc6e096f0806b78ea92d4b90a21d3627d406c7 Mon Sep 17 00:00:00 2001
From: MrShi <1878285526@qq.com>
Date: 星期五, 08 三月 2024 18:28:42 +0800
Subject: [PATCH] mrshi

---
 company/src/components/business/OperaInsuranceApplyWindow.vue |  967 ++++++++++++++++++++++++++++++++++++-------------------
 1 files changed, 628 insertions(+), 339 deletions(-)

diff --git a/company/src/components/business/OperaInsuranceApplyWindow.vue b/company/src/components/business/OperaInsuranceApplyWindow.vue
index 89b3d19..7dddb82 100644
--- a/company/src/components/business/OperaInsuranceApplyWindow.vue
+++ b/company/src/components/business/OperaInsuranceApplyWindow.vue
@@ -1,28 +1,50 @@
 <template>
     <GlobalWindow
         :title="title"
-        width="80%"
+        width="100%"
         :visible.sync="visible"
         :confirm-working="isWorking"
         @confirm="confirm"
     >
         <div class="desc">
             <div class="desc_item">
+                <div class="desc_item_label" v-if="userInfo.type === 1 &&(model.statusCollect === 2 || model.statusCollect === 3)">
+                    <div class="desc_item_label_left">
+                        <span>淇濋櫓鍒版湡杩樻湁 <b style="color: #F95601;">{{model.loseEfficacyDays ? model.loseEfficacyDays : '-'}}</b> 澶�</span>
+                        <el-button type="primary" v-if="model.statusCollect === 2 || model.statusCollect === 3" @click="$refs.OperaInsuranceApply.open('缁繚', { id: dataId, type: 1 })">涓�閿画淇�</el-button>
+                        <el-button type="primary" v-if="model.statusCollect === 2" @click="$refs.additionSubtractionApplication.open('鍔犲噺淇濈敵璇�', { id: dataId })">鍔犲噺淇濈敵璇�</el-button>
+                        <el-button type="primary" v-if="model.statusCollect === 2" @click="$refs.factoryChange.open('鏇存崲娲鹃仯鍗曚綅鐢宠', { id: dataId })">鏇存崲娲鹃仯鍗曚綅鐢宠</el-button>
+                    </div>
+                </div>
                 <div class="desc_item_label">
                     <div class="desc_item_label_left">
                         <span>鎶曚繚浼佷笟锛歿{ model.companyName }}</span>
-                        <span>淇濆崟鐘舵�侊細{{ model.statusInfo }}</span>
+                      <span>淇濆崟鐘舵�侊細<span  :class="'apply-status'+model.status" >{{ model.statusInfo }}</span></span>
                         <span>鎻愪氦鏃堕棿锛歿{ model.createDate }}</span>
                     </div>
-                    <div class="desc_item_label_right">
-                        <el-button type="primary" @click="$refs.InsuranceDetails.open('鎶曚繚璇︽儏鍗�')">瀵煎嚭璇﹀崟</el-button>
-                        <el-button type="primary" @click="visible2 = true">涓婁紶鎶曚繚鍗�</el-button>
-                        <el-button type="primary" @click="visible3 = true">涓婁紶淇濋櫓鍗�</el-button>
-                        <el-button type="primary" @click="visible5 = true">椹冲洖閫�鍥炵敵璇�</el-button>
-                        <el-button type="primary" @click="$refs.InsuranceDetails.open('鎶曚繚璇︽儏鍗�')">鎶曚繚瀹℃牳</el-button>
-                        <el-button type="danger" @click="visible1 = true">閫�鍥炴姇淇�</el-button>
-                        <el-button type="danger" @click="visible4 = true">淇敼淇濋櫓鍗�</el-button>
-                    </div>
+                  <div class="desc_item_label_right">
+                      <template v-if="userInfo.type === 1">
+                          <el-button v-if="[0, 2, 3, 10].includes(model.status)" type="danger" @click="$refs.applyReturn.open('鐢宠閫�鍥�', {id: dataId})">鐢宠閫�鍥�</el-button>
+                          <el-button v-if="model.status == 4" type="primary" @click="$refs.OperaInsuranceApply.open('鎶曚繚鐢宠', {id: dataId})">鍐嶆鎶曚繚</el-button>
+                          <el-button v-if="model.status == 4" type="primary" @click="closeOrder">鍏抽棴璁㈠崟</el-button>
+                          <el-button type="primary" @click="$refs.InsuranceDetails.open('鎶曚繚璇︽儏鍗�',model,0)">瀵煎嚭璇﹀崟</el-button>
+                          <el-button v-if="[2, 3, 5, 7, 8].includes(model.status)" type="primary" @click="viewToubaodan">鏌ョ湅鎶曚繚鍗�</el-button>
+                          <el-button v-if="model.status == 5" type="primary" @click="viewBaoxiandan">鏌ョ湅淇濋櫓鍗�</el-button>
+<!--                          goSign-->
+                          <el-button v-if="model.status == 2" type="primary" @click="$refs.operaverifyPhoneNumberWindew.open('楠岃瘉鎵嬫満鍙�')">绛剧讲鎶曚繚鍗�</el-button>
+                      </template>
+                    <template v-else>
+                      <el-button type="primary" @click="$refs.InsuranceDetails.open('鎶曚繚璇︽儏鍗�',model,0)">瀵煎嚭璇﹀崟</el-button>
+                      <el-button v-if="[2, 3, 5, 7, 8].includes(model.status)" type="primary" @click="viewToubaodan">鏌ョ湅鎶曚繚鍗�</el-button>
+                      <el-button v-if="model.status == 5" type="primary" @click="viewBaoxiandan">鏌ョ湅淇濋櫓鍗�</el-button>
+                      <el-button v-if="model.status == 10 ||model.status == 2" type="primary" @click="$refs.OperaInsuranceApplyCheckWindow.open('涓婁紶鎶曚繚鍗�',model,2)">涓婁紶鎶曚繚鍗�</el-button>
+                      <el-button v-if="model.status == 3" type="primary" @click="$refs.OperaInsuranceApplyCheckWindow.open('涓婁紶淇濋櫓鍗�',model,3)">涓婁紶淇濋櫓鍗�</el-button>
+                      <el-button  v-if="model.status == 6 || model.status == 7|| model.status == 8 || model.status == 11" type="primary" @click="$refs.OperaInsuranceApplyCheckWindow.open('椹冲洖閫�鍥炵敵璇�',model,5)">椹冲洖閫�鍥炵敵璇�</el-button>
+                      <el-button v-if="model.status == 0" type="primary" @click="$refs.InsuranceDetails.open('鎶曚繚瀹℃牳',model,1)">鎶曚繚瀹℃牳</el-button>
+                      <el-button v-if="model.status != 5 && model.status != 4 && model.status != 1" type="danger" @click="$refs.OperaInsuranceApplyCheckWindow.open('閫�鍥炴姇淇�',model,1)">閫�鍥炴姇淇�</el-button>
+                      <el-button v-if="model.status == 5" type="danger" @click="$refs.OperaInsuranceApplyCheckWindow.open('淇敼淇濋櫓鍗�',model,4)">淇敼淇濋櫓鍗�</el-button>
+                    </template>
+                  </div>
                 </div>
                 <div class="desc_item_from">
                     <el-table
@@ -31,360 +53,379 @@
                         style="width: 100%">
                         <el-table-column
                             prop="code"
+                            align="center"
                             label="淇濆崟鍙�">
                         </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="insureNum"
+                            align="center"
                             label="鎶曚繚浜烘暟">
                         </el-table-column>
                         <el-table-column
                             prop="serviceDays"
+                            align="center"
                             label="鍦ㄤ繚鏃堕暱锛堝ぉ锛�">
                         </el-table-column>
                         <el-table-column
                             prop="currentFee"
-                            label="褰撳墠璐圭敤(鍏�)">
+                            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="first"></el-tab-pane>
-                        <el-tab-pane label="鍔�/鍑忎繚璁板綍" name="second"></el-tab-pane>
-                        <el-tab-pane label="鎹㈠巶璁板綍" name="third"></el-tab-pane>
+                        <el-tab-pane label="鍦ㄤ繚浜哄憳" name="0" ></el-tab-pane>
+                        <el-tab-pane label="鍔�/鍑忎繚璁板綍"  name="1"></el-tab-pane>
+                        <el-tab-pane label="鏇存崲娲鹃仯鍗曚綅璁板綍" name="2"></el-tab-pane>
                     </el-tabs>
                 </div>
                 <div class="desc_item_search">
-                    <el-form :inline="true" :model="formInline" class="demo-form-inline">
-                        <el-form-item label="鍦ㄤ繚鐘舵��" prop="region">
-                            <el-select v-model="formInline.region" placeholder="璇烽�夋嫨">
-                                <el-option label="淇濋殰涓�" value="1"></el-option>
-                                <el-option label="涓嶅湪淇�" value="2"></el-option>
-                            </el-select>
+                    <el-form :inline="true" :model="formInline" ref="sou" class="demo-form-inline">
+                        <template v-if="activeName === '0'">
+                            <el-form-item label="鍦ㄤ繚鐘舵��" prop="applyStatus">
+                                <el-select v-model="formInline.applyStatus" @change="search" placeholder="璇烽�夋嫨">
+                                    <el-option label="鍏ㄩ儴" value="0"></el-option>
+                                    <el-option label="淇濋殰涓�" value="1"></el-option>
+                                    <el-option label="涓嶅湪淇�" value="2"></el-option>
+                                </el-select>
+                            </el-form-item>
+                            <el-form-item label="娲鹃仯鍗曚綅" prop="duId">
+                                <el-select v-model="formInline.duId" placeholder="璇烽�夋嫨" @change="search">
+                                    <el-option
+                                        v-for="item in dwList"
+                                        :key="item.id"
+                                        :label="item.name"
+                                        :value="item.id">
+                                    </el-option>
+                                </el-select>
+                            </el-form-item>
+                            <el-form-item label="鎵�灞炲伐绉�" prop="workTypeId">
+                                <el-select v-model="formInline.workTypeId" placeholder="璇烽�夋嫨" @change="search">
+                                    <el-option
+                                        v-for="item in gzList"
+                                        :key="item.id"
+                                        :label="item.name"
+                                        :value="item.id">
+                                    </el-option>
+                                </el-select>
+                            </el-form-item>
+                            <el-form-item label="鍛樺伐濮撳悕" prop="memberName">
+                                <el-input v-model="formInline.memberName" placeholder="璇疯緭鍏�" @keypress.enter.native="search"></el-input>
+                            </el-form-item>
+                            <el-form-item label="淇濋櫓鐢熸晥璧锋湡" prop="end">
+                                <el-date-picker
+                                    @change="changeStart"
+                                    v-model="formInline.end"
+                                    type="daterange"
+                                    format="yyyy 骞� MM 鏈� dd 鏃�"
+                                    value-format="yyyy-MM-dd"
+                                    range-separator="鑷�"
+                                    start-placeholder="寮�濮嬫棩鏈�"
+                                    end-placeholder="缁撴潫鏃ユ湡">
+                                </el-date-picker>
+                            </el-form-item>
+                            <el-form-item label="淇濋櫓鐢熸晥姝㈡湡" prop="start">
+                                <el-date-picker
+                                    @change="changeEnd"
+                                    v-model="formInline.start"
+                                    type="daterange"
+                                    format="yyyy 骞� MM 鏈� dd 鏃�"
+                                    value-format="yyyy-MM-dd"
+                                    range-separator="鑷�"
+                                    start-placeholder="寮�濮嬫棩鏈�"
+                                    end-placeholder="缁撴潫鏃ユ湡">
+                                </el-date-picker>
+                            </el-form-item>
+                        </template>
+                        <template v-else>
+                            <el-form-item label="鐘舵��" prop="applyStatus">
+                                <el-select v-model="formInline.applyStatus" @change="search" placeholder="璇烽�夋嫨">
+                                    <el-option label="鍏ㄩ儴" value=""></el-option>
+                                    <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-option label="宸查��鍥�" value="5"></el-option>
+                                    <el-option label="宸插叧闂�" value="6"></el-option>
+                                </el-select>
+                            </el-form-item>
+                            <el-form-item label="鎵瑰崟鐢熸晥璧锋湡" prop="end">
+                                <el-date-picker
+                                    @change="changeStart"
+                                    v-model="formInline.end"
+                                    type="daterange"
+                                    format="yyyy 骞� MM 鏈� dd 鏃�"
+                                    value-format="yyyy-MM-dd"
+                                    range-separator="鑷�"
+                                    start-placeholder="寮�濮嬫棩鏈�"
+                                    end-placeholder="缁撴潫鏃ユ湡">
+                                </el-date-picker>
+                            </el-form-item>
+                        </template>
+                        <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-item label="娲鹃仯鍗曚綅" prop="region">
-                            <el-select v-model="formInline.region" placeholder="璇烽�夋嫨">
-                                <el-option label="淇濋殰涓�" value="1"></el-option>
-                                <el-option label="涓嶅湪淇�" value="2"></el-option>
-                            </el-select>
-                        </el-form-item>
-                        <el-form-item label="鎵�灞炲伐绉�" prop="region">
-                            <el-select v-model="formInline.region" placeholder="璇烽�夋嫨">
-                                <el-option label="淇濋殰涓�" value="1"></el-option>
-                                <el-option label="涓嶅湪淇�" value="2"></el-option>
-                            </el-select>
-                        </el-form-item>
-                        <el-form-item label="鍛樺伐濮撳悕" prop="user">
-                            <el-input v-model="formInline.user" placeholder="璇疯緭鍏�"></el-input>
-                        </el-form-item>
-                        <el-form-item label="淇濋櫓鐢熸晥璧锋湡" prop="user">
-                            <el-date-picker
-                                v-model="formInline.user"
-                                type="daterange"
-                                range-separator="鑷�"
-                                start-placeholder="寮�濮嬫棩鏈�"
-                                end-placeholder="缁撴潫鏃ユ湡">
-                            </el-date-picker>
-                        </el-form-item>
-                        <el-form-item label="淇濋櫓鐢熸晥璧锋湡" prop="user">
-                            <el-date-picker
-                                v-model="formInline.user"
-                                type="daterange"
-                                range-separator="鑷�"
-                                start-placeholder="寮�濮嬫棩鏈�"
-                                end-placeholder="缁撴潫鏃ユ湡">
-                            </el-date-picker>
-                        </el-form-item>
-                        <section>
-                            <el-button type="primary" @click="onSubmit">鏌ヨ</el-button>
-                            <el-button>閲嶇疆</el-button>
-                            <el-button type="primary">瀵煎嚭鍚嶅崟</el-button>
-                        </section>
                     </el-form>
                 </div>
                 <div class="desc_item_from">
                     <el-table
-                        :data="tableData"
+                        :data="list"
                         border
+                        ref="table"
+                        v-if="activeName === '0'"
                         style="width: 100%">
-                        <el-table-column label="搴忓彿">
+                        <el-table-column label="搴忓彿"
+                                         align="center">
                             <template slot-scope="scope">
                                 <span>{{scope.$index + 1}}</span>
                             </template>
                         </el-table-column>
                         <el-table-column
-                            prop="date"
+                            :key="Math.random()"
+                            prop="memberName"
+                            align="center"
                             label="鍛樺伐濮撳悕">
                         </el-table-column>
                         <el-table-column
-                            prop="name"
-                            label="鎬у埆"
-                            width="180">
+                            align="center"
+                            :key="Math.random()"
+                            label="鎬у埆">
+                            <template slot-scope="{row}">
+                                <span v-if="row.sex === 0">鐢�</span>
+                                <span v-else>濂�</span>
+                            </template>
                         </el-table-column>
                         <el-table-column
-                            prop="address"
+                            :key="Math.random()"
+                            prop="idcardNo"
+                            align="center"
                             label="韬唤璇佸彿">
                         </el-table-column>
                         <el-table-column
-                            prop="address"
+                            :key="Math.random()"
+                            prop="duName"
+                            align="center"
                             label="娲鹃仯鍗曚綅">
                         </el-table-column>
                         <el-table-column
-                            prop="address"
+                            :key="Math.random()"
+                            prop="workTypeName"
+                            align="center"
                             label="鎵�灞炲伐绉�">
                         </el-table-column>
                         <el-table-column
-                            prop="address"
+                            :key="Math.random()"
+                            prop="startTime"
+                            align="center"
                             label="淇濋櫓鐢熸晥璧锋湡">
                         </el-table-column>
                         <el-table-column
-                            prop="address"
+                            :key="Math.random()"
+                            prop="endTime"
+                            align="center"
                             label="淇濋櫓鐢熸晥姝㈡湡">
                         </el-table-column>
                         <el-table-column
-                            prop="address"
-                            label="浜х敓璐圭敤锛堝厓锛�">
+                            :key="Math.random()"
+                            align="center"
+                            prop="fee"
+                            label="浜х敓璐圭敤">
+                        </el-table-column>
+                    </el-table>
+                    <el-table
+                        :data="list1"
+                        border
+                        ref="table"
+                        v-if="activeName === '1'"
+                        style="width: 100%">
+                        <el-table-column
+                            label="搴忓彿"
+                            align="center">
+                            <template slot-scope="scope">
+                                <span>{{scope.$index + 1}}</span>
+                            </template>
+                        </el-table-column>
+                        <el-table-column label="淇濆崟鐘舵��" :key="Math.random()"
+                             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 || 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>
+                            </template>
+                        </el-table-column>
+                        <el-table-column
+                            :key="Math.random()"
+                            prop="applyCode"
+                            align="center"
+                            label="鎵瑰崟鍙�">
+                        </el-table-column>
+                        <el-table-column
+                            :key="Math.random()"
+                            prop="addNum"
+                            align="center"
+                            label="澧炲姞浜烘暟锛堜汉锛�">
+                        </el-table-column>
+                        <el-table-column
+                            :key="Math.random()"
+                            prop="delNum"
+                            align="center"
+                            label="鍑忓皯浜烘暟锛堜汉锛�">
+                        </el-table-column>
+                        <el-table-column
+                            :key="Math.random()"
+                            prop="createDate"
+                            align="center"
+                            label="鎻愪氦鏃堕棿">
+                        </el-table-column>
+                        <el-table-column
+                            :key="Math.random()"
+                            prop="applyStartTime"
+                            align="center"
+                            label="鎵瑰崟鐢熸晥璧锋湡">
+                        </el-table-column>
+                        <el-table-column
+                            align="center"
+                            :key="Math.random()"
+                            label="鎿嶄綔">
+                            <template slot-scope="{row}">
+                                <el-button type="text" @click="$refs.OperaApplyChangeDetailWindow.open('鍔犲噺淇濊鎯�', row)">鏌ョ湅璇︽儏</el-button>
+                            </template>
+                        </el-table-column>
+                    </el-table>
+                    <el-table
+                        :data="list2"
+                        border
+                        ref="table"
+                        v-if="activeName === '2'"
+                        style="width: 100%">
+                        <el-table-column label="搴忓彿"
+                                         align="center">
+                            <template slot-scope="scope">
+                                <span>{{scope.$index + 1}}</span>
+                            </template>
+                        </el-table-column>
+                        <el-table-column
+                            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 || 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>
+                            </template>
+                        </el-table-column>
+                        <el-table-column
+                            :key="Math.random()"
+                            align="center"
+                            prop="applyCode"
+                            label="鎵瑰崟鍙�">
+                        </el-table-column>
+                        <el-table-column
+                            :key="Math.random()"
+                            prop="changeNum"
+                            align="center"
+                            label="鏇存崲娲鹃仯鍗曚綅浜烘暟">
+                        </el-table-column>
+                        <el-table-column
+                            :key="Math.random()"
+                            prop="createDate"
+                            align="center"
+                            label="鎻愪氦鏃堕棿">
+                        </el-table-column>
+                        <el-table-column
+                            :key="Math.random()"
+                            prop="applyStartTime"
+                            align="center"
+                            label="鎵瑰崟鐢熸晥璧锋湡">
+                        </el-table-column>
+                        <el-table-column
+                            :key="Math.random()"
+                            align="center"
+                            label="鎿嶄綔">
+                            <template slot-scope="{row}">
+                                <el-button type="text" @click="$refs.OperaApplyChangeUnitDetailWindow.open('鏇存崲娲鹃仯鍗曚綅璇︽儏', row)">鏌ョ湅璇︽儏</el-button>
+                            </template>
                         </el-table-column>
                     </el-table>
                     <div class="desc_item_from_page">
                         <el-pagination
-                            @size-change="handleSizeChange"
                             @current-change="handleCurrentChange"
                             :current-page="currentPage"
-                            :page-sizes="[100, 200, 300, 400]"
-                            :page-size="100"
-                            layout="total, sizes, prev, pager, next, jumper"
-                            :total="400">
+                            :page-size="10"
+                            layout="total, prev, pager, next, jumper"
+                            :total="total">
                         </el-pagination>
                     </div>
                 </div>
                 <div class="desc_item_review">
                     <div class="desc_item_review_label">瀹℃牳娴佺▼</div>
-                    <el-timeline :reverse="reverse">
-                        <el-timeline-item
-                            v-for="(activity, index) in activities"
-                            :key="index"
-                            :timestamp="activity.timestamp">
-                            {{activity.content}}
-                        </el-timeline-item>
-                    </el-timeline>
+                  <el-timeline :reverse="reverse">
+                    <el-timeline-item
+                        v-for="(activity, index) in activities"
+                        :key="index">
+                      <div style="display: flex; flex-direction: column;">
+                        <span style="font-size: 16px; font-weight: 400; color: black;">
+                            {{activity.title}}
+                            <span style="font-size: 16px; font-weight: 400; color: black; margin-left: 10px;" v-if="[1, 2, 5, 6, 9, 11, 22].includes(activity.objType)">
+                              {{activity.content}}
+                            </span>
+                        </span>
+                        <span style="margin-top: 5px; font-size: 12px; font-weight: 400; color: #999999;">
+                            鎿嶄綔鍛�-{{activity.creatorName}}锛坽{activity.creatorType == 1 ? activity.companyName: "骞冲彴绔�"}}锛墈{activity.createDate}}
+                        </span>
+                      </div>
+                    </el-timeline-item>
+                  </el-timeline>
                 </div>
             </div>
         </div>
         <InsuranceDetails ref="InsuranceDetails" @success="successEvent" />
-        <!--    閫�鍥炴姇淇�    -->
-        <el-dialog
-            title="閫�鍥炴姇淇�"
-            :visible.sync="visible1"
-            :show-close="false"
-            :close-on-click-modal="false"
-            width="30%"
-            center>
-            <div class="form">
-                <div class="form_item">
-                    <div class="form_item_label"><span>*</span>濉啓閫�鍥炶鏄庯細</div>
-                    <div class="form_item_val">
-                        <textarea placeholder="璇疯緭鍏�"></textarea>
-                    </div>
-                </div>
-            </div>
-            <span slot="footer" class="dialog-footer">
-                <el-button @click="visible1 = false">鍙� 娑�</el-button>
-                <el-button type="primary" @click="visible1 = false">纭� 瀹�</el-button>
-            </span>
-        </el-dialog>
-        <!--    涓婁紶鎶曚繚鍗�    -->
-        <el-dialog
-            title="涓婁紶鎶曚繚鍗�"
-            :visible.sync="visible2"
-            :show-close="false"
-            :close-on-click-modal="false"
-            width="30%"
-            center>
-            <div class="form">
-                <div class="form_item">
-                    <div class="form_item_label">涓婁紶鎶曚繚鍗曪細</div>
-                    <div class="form_item_val">
-                        <el-upload
-                            class="upload-demo"
-                            action="https://jsonplaceholder.typicode.com/posts/"
-                            :on-preview="handlePreview"
-                            :on-remove="handleRemove"
-                            :before-remove="beforeRemove"
-                            multiple
-                            :limit="1"
-                            :on-exceed="handleExceed"
-                            :file-list="fileList">
-                            <el-button size="small" type="primary">鐐瑰嚮涓婁紶</el-button>
-                            <div slot="tip" class="el-upload__tip">鍙兘涓婁紶pdf鏂囦欢锛屼笖涓嶈秴杩�5mb</div>
-                        </el-upload>
-                    </div>
-                </div>
-            </div>
-            <span slot="footer" class="dialog-footer">
-                <el-button @click="visible2 = false">鍙� 娑�</el-button>
-                <el-button type="primary" @click="visible2 = false">纭� 瀹�</el-button>
-            </span>
-        </el-dialog>
-        <!--    涓婁紶淇濋櫓鍗�    -->
-        <el-dialog
-            title="涓婁紶淇濋櫓鍗�"
-            :visible.sync="visible3"
-            :show-close="false"
-            :close-on-click-modal="false"
-            width="30%"
-            center>
-            <div class="form">
-                <div class="form_item">
-                    <div class="form_item_label">瀹㈡埛鏈熸湜淇濋櫓鐢熸晥璧锋湡锛�</div>
-                    <div class="form_item_val">2023-10-01 00:00:00</div>
-                </div>
-                <div class="form_item">
-                    <div class="form_item_label">淇濋櫓鐢熸晥璧锋湡鏄惁涓�鑷达細</div>
-                    <div class="form_item_val">
-                        <el-radio-group v-model="radio">
-                            <el-radio :label="0">涓庝繚鍗曚竴鑷�</el-radio>
-                            <el-radio :label="1">涓庝繚鍗曚笉涓�鑷�</el-radio>
-                        </el-radio-group>
-                    </div>
-                </div>
-                <div class="form_item">
-                    <div class="form_item_label"><span>*</span>淇濋櫓鐢熸晥璧锋湡锛�</div>
-                    <div class="form_item_val">
-                        <el-date-picker
-                            v-model="value1"
-                            type="date"
-                            placeholder="閫夋嫨鏃ユ湡">
-                        </el-date-picker>
-                    </div>
-                </div>
-                <div class="form_item">
-                    <div class="form_item_label">淇濋櫓鐢熸晥璧锋湡锛�</div>
-                    <div class="form_item_val">2023-10-01 00:00:00</div>
-                </div>
-                <div class="form_item">
-                    <div class="form_item_label"><span>*</span>淇濆崟鍙凤細</div>
-                    <div class="form_item_val">
-                        <el-input placeholder="璇疯緭鍏�"></el-input>
-                    </div>
-                </div>
-                <div class="form_item">
-                    <div class="form_item_label">涓婁紶淇濋櫓鍗曪細</div>
-                    <div class="form_item_val">
-                        <el-upload
-                            class="upload-demo"
-                            action="https://jsonplaceholder.typicode.com/posts/"
-                            :on-preview="handlePreview"
-                            :on-remove="handleRemove"
-                            :before-remove="beforeRemove"
-                            multiple
-                            :limit="1"
-                            :on-exceed="handleExceed"
-                            :file-list="fileList">
-                            <el-button size="small" type="primary">鐐瑰嚮涓婁紶</el-button>
-                            <div slot="tip" class="el-upload__tip">鍙兘涓婁紶pdf鏂囦欢锛屼笖涓嶈秴杩�5mb</div>
-                        </el-upload>
-                    </div>
-                </div>
-            </div>
-            <span slot="footer" class="dialog-footer">
-                <el-button @click="visible3 = false">鍙� 娑�</el-button>
-                <el-button type="primary" @click="visible3 = false">纭� 瀹�</el-button>
-            </span>
-        </el-dialog>
-        <!--    淇敼淇濋櫓鍗�    -->
-        <el-dialog
-            title="淇敼淇濋櫓鍗�"
-            :visible.sync="visible4"
-            :show-close="false"
-            :close-on-click-modal="false"
-            width="30%"
-            center>
-            <div class="form">
-                <div class="form_item">
-                    <div class="form_item_label"><span>*</span>淇濋櫓鐢熸晥璧锋湡锛�</div>
-                    <div class="form_item_val">
-                        <el-date-picker
-                            v-model="value1"
-                            type="date"
-                            placeholder="閫夋嫨鏃ユ湡">
-                        </el-date-picker>
-                    </div>
-                </div>
-                <div class="form_item">
-                    <div class="form_item_label"><span>*</span>淇濆崟鍙凤細</div>
-                    <div class="form_item_val">
-                        <el-input placeholder="璇疯緭鍏�"></el-input>
-                    </div>
-                </div>
-                <div class="form_item">
-                    <div class="form_item_label"><span>*</span>涓婁紶淇濋櫓鍗曪細</div>
-                    <div class="form_item_val">
-                        <el-upload
-                            class="upload-demo"
-                            action="https://jsonplaceholder.typicode.com/posts/"
-                            :on-preview="handlePreview"
-                            :on-remove="handleRemove"
-                            :before-remove="beforeRemove"
-                            multiple
-                            :limit="1"
-                            :on-exceed="handleExceed"
-                            :file-list="fileList">
-                            <el-button size="small" type="primary">鐐瑰嚮涓婁紶</el-button>
-                            <div slot="tip" class="el-upload__tip">鍙兘涓婁紶pdf鏂囦欢锛屼笖涓嶈秴杩�5mb</div>
-                        </el-upload>
-                    </div>
-                </div>
-                <div class="form_item">
-                    <div class="form_item_label"><span>*</span>淇敼鍘熷洜锛�</div>
-                    <div class="form_item_val">
-                        <el-input placeholder="璇疯緭鍏�"></el-input>
-                    </div>
-                </div>
-            </div>
-            <span slot="footer" class="dialog-footer">
-                <el-button @click="visible4 = false">鍙� 娑�</el-button>
-                <el-button type="primary" @click="visible4 = false">纭� 瀹�</el-button>
-            </span>
-        </el-dialog>
-        <!--    椹冲洖閫�鍥炵敵璇�    -->
-        <el-dialog
-            title="椹冲洖閫�鍥炵敵璇�"
-            :visible.sync="visible5"
-            :show-close="false"
-            :close-on-click-modal="false"
-            width="30%"
-            center>
-            <div class="form">
-                <div class="form_item">
-                    <div class="form_item_label"><span>*</span>濉啓璇存槑锛�</div>
-                    <div class="form_item_val">
-                        <textarea placeholder="璇疯緭鍏�"></textarea>
-                    </div>
-                </div>
-            </div>
-            <span slot="footer" class="dialog-footer">
-                <el-button @click="visible5 = false">鍙� 娑�</el-button>
-                <el-button type="primary" @click="visible5 = false">纭� 瀹�</el-button>
-            </span>
-        </el-dialog>
+        <OperaInsuranceApplyCheckWindow ref="OperaInsuranceApplyCheckWindow" @success="successEvent" />
+        <!--    浼佷笟鐢宠閫�鍥�    -->
+        <applyReturn ref="applyReturn" @success="successEvent" />
+        <!--    鏂板鎶曚繚    -->
+        <OperaInsuranceApply ref="OperaInsuranceApply" @success="successEvent" />
+        <!--    鍔犲噺淇濈敵璇�    -->
+        <additionSubtractionApplication ref="additionSubtractionApplication" @success="successEvent" />
+        <!--    鏇存崲娲鹃仯鍗曚綅鐢宠    -->
+        <factoryChange ref="factoryChange" @success="successEvent" />
+        <!-- 鍔犲噺淇濊鎯� -->
+        <OperaApplyChangeDetailWindow ref="OperaApplyChangeDetailWindow" @success="successEvent"/>
+        <!-- 鏇存崲娲鹃仯鍗曚綅璇︽儏 -->
+        <OperaApplyChangeUnitDetailWindow ref="OperaApplyChangeUnitDetailWindow" @success="successEvent"/>
+        <!--    楠岃瘉鎵嬫満鍙�    -->
+        <operaverifyPhoneNumberWindew ref="operaverifyPhoneNumberWindew" @success="goSign" />
+        <template v-slot:footer>
+            <el-button @click="visible=false">杩斿洖</el-button>
+        </template>
     </GlobalWindow>
 </template>
 
@@ -392,12 +433,36 @@
 import BaseOpera from '@/components/base/BaseOpera'
 import GlobalWindow from '@/components/common/GlobalWindow'
 import InsuranceDetails from '@/components/business/InsuranceDetails'
-import {getDetail} from "@/api/business/insuranceApply";
-import {all as solutionAll} from "@/api/business/solutions";
+import OperaInsuranceApplyCheckWindow from '@/components/business/OperaInsuranceApplyCheckWindow'
+import additionSubtractionApplication from '@/components/enterprise/additionSubtractionApplication'
+import factoryChange from '@/components/enterprise/factoryChange'
+import operaverifyPhoneNumberWindew from '@/components/business/operaverifyPhoneNumberWindew'
+import OperaApplyChangeDetailWindow from '@/components/business/OperaApplyChangeDetailWindow'
+import OperaApplyChangeUnitDetailWindow from '@/components/business/OperaApplyChangeUnitDetailWindow'
+
+import applyReturn from '@/components/enterprise/applyReturn'
+import { getDetail, getSignLink, applyDetailPage, applyChagneDetailPage, exportExcel, applyChagneDetailExcel, applyOpt } 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 OperaInsuranceApply from '@/components/enterprise/OperaInsuranceApplyWindow'
+import { mapState } from 'vuex'
+
 export default {
-  name: 'OperaInsuranceApplyWindow',
+  name: 'OperaInsuranceApplyWindow1',
   extends: BaseOpera,
-  components: { GlobalWindow, InsuranceDetails },
+  components: {
+      GlobalWindow,
+      InsuranceDetails,
+      OperaInsuranceApplyCheckWindow,
+      applyReturn,
+      OperaInsuranceApply,
+      additionSubtractionApplication,
+      factoryChange,
+      OperaApplyChangeDetailWindow,
+      OperaApplyChangeUnitDetailWindow,
+      operaverifyPhoneNumberWindew
+  },
   data () {
     return {
       // 琛ㄥ崟鏁版嵁
@@ -411,31 +476,34 @@
       rules: {
       },
       formInline: {
-          user: '',
-          region: ''
+          applyStatus: '',
+          duId: '',
+          workTypeId: '',
+          memberName: '',
+          end: [],
+          start: [],
+          endTimeE: '',
+          endTimeS: '',
+          startTimeE: '',
+          startTimeS: '',
+          type: ''
       },
       visible1: false,
       visible2: false,
       visible3: false,
       visible4: false,
       visible5: false,
-      reverse: true,
+      reverse: false,
       radio: 0,
-      fileList: [
-          {name: 'food.pdf', url: 'https://fuss10.elemecdn.com/3/63/4e7f3a15429bfda99bce42a18cdd1jpeg.jpeg?imageMogr2/thumbnail/360x360/format/webp/quality/100'}
-      ],
-      activities: [{
-          content: '娲诲姩鎸夋湡寮�濮�',
-          timestamp: '2018-04-15'
-      }, {
-          content: '閫氳繃瀹℃牳',
-          timestamp: '2018-04-13'
-      }, {
-          content: '鍒涘缓鎴愬姛',
-          timestamp: '2018-04-11'
-      }],
+      activities: [],
       tableData: [],
-      activeName: 'first',
+        list: [],
+        list1: [],
+        list2: [],
+        dwList: [],
+        gzList: [],
+      activeName: '0',
+        total: 0,
       currentPage: 1
     }
   },
@@ -445,54 +513,275 @@
           'field.id': 'id'
       })
   },
+    computed: {
+      ...mapState(['userInfo'])
+    },
   methods: {
      open(title,target){
-       this.visible=true;
-       this.dataId=target.id
-      this.getDetail();
+        this.visible = true;
+        this.title = title
+        this.model = {}
+        this.dataId = null
+        this.dataId = target.id
+        this.formInline.applyStatus = ''
+        this.formInline.duId = ''
+        this.formInline.workTypeId = ''
+        this.formInline.memberName = ''
+        this.formInline.end = ''
+        this.formInline.start = ''
+        this.formInline.endTimeE = ''
+        this.formInline.endTimeS = ''
+        this.formInline.startTimeE = ''
+        this.formInline.startTimeS = ''
+        this.formInline.type = ''
+        this.activeName = '0'
+        this.getDetail()
+        this.getList()
+        this.getDW()
+        this.getGZ()
      },
-    getDetail(){
+      // 鍏抽棴璁㈠崟
+      closeOrder () {
+          this.$confirm('纭鍏抽棴姝よ鍗曞悧?', '鎻愮ず', {
+              confirmButtonText: '纭畾',
+              cancelButtonText: '鍙栨秷',
+              type: 'warning'
+          }).then(() => {
+              applyOpt({
+                  applyId: this.dataId,
+                  optType: 2
+              }).then(res => {
+                  this.getDetail()
+              })
+          }).catch(() => {
+
+          });
+      },
+      // 娲鹃仯鍗曚綅
+      getDW() {
+          findListByDTO({ applyId: this.dataId })
+            .then(res => {
+                this.dwList = res
+            })
+      },
+      // 宸ョ
+      getGZ() {
+          worktypeFindListByDTO({
+              id: this.dataId,
+              queryType: 2
+          }).then(res => {
+              this.gzList = res
+          })
+      },
+      resetting() {
+         if (this.activeName === '0') {
+             this.formInline.applyStatus = '0'
+         } else {
+             this.formInline.applyStatus = ''
+         }
+         this.formInline.start = ''
+          this.formInline.startTimeE = ''
+          this.formInline.endTimeE = ''
+         this.list = []
+          this.list1 = []
+          this.list2 = []
+          this.formInline.duId = ''
+          this.formInline.workTypeId = ''
+          this.formInline.memberName = ''
+            this.formInline.end = []
+            this.formInline.end = []
+            this.formInline.endTimeE = ''
+            this.formInline.endTimeS = ''
+            this.formInline.startTimeE = ''
+            this.formInline.startTimeS = ''
+            this.search()
+      },
+      search() {
+          this.currentPage = 1
+          this.getList()
+      },
+      changeStart(e) {
+            if (e.length > 0) {
+                this.formInline.startTimeS = e[0]
+                this.formInline.startTimeE = e[1]
+            } else {
+                this.formInline.startTimeS = ''
+                this.formInline.startTimeE = ''
+            }
+            this.search()
+      },
+      changeEnd(e) {
+         if (e.length > 0) {
+             this.formInline.endTimeS = e[0]
+             this.formInline.endTimeE = e[1]
+         } else {
+             this.formInline.endTimeS = ''
+             this.formInline.endTimeE = ''
+         }
+          this.search()
+      },
+      exportExcel() {
+          if (this.activeName === '0') {
+              exportExcel({
+                  capacity: 10,
+                  page: this.currentPage,
+                  model: {
+                      solutionName: this.tableData[0].solutionsName,
+                      applyId: this.dataId,
+                      applyStatus: this.formInline.applyStatus,
+                      duId: this.formInline.duId,
+                      workTypeId: this.formInline.workTypeId,
+                      memberName: this.formInline.memberName,
+                      endTimeE: this.formInline.endTimeE,
+                      endTimeS: this.formInline.endTimeS,
+                      startTimeE: this.formInline.startTimeE,
+                      startTimeS: this.formInline.startTimeS
+                  }
+              }).then(response => {
+                  this.download(response)
+              })
+          } else {
+              applyChagneDetailExcel({
+                  capacity: 10,
+                  page: this.currentPage,
+                  model: {
+                      applyId: this.dataId,
+                      applyStatus: this.formInline.applyStatus,
+                      duId: this.formInline.duId,
+                      workTypeId: this.formInline.workTypeId,
+                      memberName: this.formInline.memberName,
+                      endTimeE: this.formInline.endTimeE,
+                      endTimeS: this.formInline.endTimeS,
+                      startTimeE: this.formInline.startTimeE,
+                      startTimeS: this.formInline.startTimeS,
+                      type: this.formInline.type
+                  }
+              }).then(response => {
+                  this.download(response)
+              })
+          }
+      },
+      getList() {
+         if (this.activeName === '0') {
+             applyDetailPage({
+                 capacity: 10,
+                 page: this.currentPage,
+                 model: {
+                     applyId: this.dataId,
+                     applyStatus: this.formInline.applyStatus,
+                     duId: this.formInline.duId,
+                     workTypeId: this.formInline.workTypeId,
+                     memberName: this.formInline.memberName,
+                     endTimeE: this.formInline.endTimeE,
+                     endTimeS: this.formInline.endTimeS,
+                     startTimeE: this.formInline.startTimeE,
+                     startTimeS: this.formInline.startTimeS
+                 }
+             }).then(res => {
+                 this.list = res.records
+                 this.total = res.total
+                 this.$nextTick(() => {
+                     console.log(this.$refs.table)
+                     if (this.$refs.table && this.$refs.table.doLayout) {
+                         this.$refs.table.doLayout();
+                     }
+                 });
+             })
+         } else {
+             fetchList({
+                 capacity: 10,
+                 page: this.currentPage,
+                 model: {
+                     applyId: this.dataId,
+                     status: this.formInline.applyStatus,
+                     endTimeE: this.formInline.endTimeS,
+                     endTimeS: this.formInline.startTimeS,
+                     type: this.formInline.type
+                 }
+             }).then(res => {
+                 if (this.activeName === '1') {
+                     this.list1 = res.records
+                 } else if (this.activeName === '2') {
+                     this.list2 = res.records
+                 }
+                 this.total = res.total
+                 this.$nextTick(() => {
+                     console.log(this.$refs.table)
+                     if (this.$refs.table && this.$refs.table.doLayout) {
+                         this.$refs.table.doLayout();
+                     }
+                 });
+             })
+         }
+      },
+      handleClick(e) {
+            this.activeName = e.index
+            if (e.index === '1') {
+                this.formInline.type = 0
+            } else if (e.index === '2') {
+                this.formInline.type = 1
+            }
+            this.resetting()
+      },
+    goSign(){
+      getSignLink(this.dataId).then(res => {
+        setTimeout(() => {
+          window.open(res)
+        }, 500);
+      }).catch(err => {
+       this.$tip.apiFailed(err)
+      })
+    },
+    viewToubaodan(){
+       if(this.model.toubaodanSignedFile && this.model.toubaodanSignedFile.fileurlFull){
+         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)
+       }
+    },
+    viewBaoxiandan(){
+      if(this.model.baoxiandanFile && this.model.baoxiandanFile.fileurlFull){
+        window.open(this.model.baoxiandanFile.fileurlFull)
+      }
+    },
+    handleSizeChange(val){
+        console.log(val)
+    },
+    handleCurrentChange(val){
+        console.log(val)
+        this.currentPage = val
+        this.getList()
+    },
+    onSubmit(){
+
+    },
+     getDetail(){
       getDetail(this.dataId).then(res => {
         this.model = res
-        this.tableData = new Array();
-        this.tableData.push(res);
+        this.tableData = new Array()
+        this.tableData.push(res)
+        console.log(this.tableData)
+        this.activities = res.applyLogList
       }).catch(err => {
       })
     },
-      handleRemove(file, fileList) {
-          console.log(file, fileList);
-      },
-      handlePreview(file) {
-          console.log(file);
-      },
-      handleExceed(files, fileList) {
-          this.$message.warning(`褰撳墠闄愬埗閫夋嫨 3 涓枃浠讹紝鏈閫夋嫨浜� ${files.length} 涓枃浠讹紝鍏遍�夋嫨浜� ${files.length + fileList.length} 涓枃浠禶);
-      },
-      beforeRemove(file, fileList) {
-          return this.$confirm(`纭畾绉婚櫎 ${ file.name }锛焋);
-      },
-      successEvent() {
-
-      },
-      handleSizeChange(val) {
-          console.log(`姣忛〉 ${val} 鏉);
-      },
-      handleCurrentChange(val) {
-          console.log(`褰撳墠椤�: ${val}`);
-      },
-      handleClick(tab, event) {
-          console.log(tab, event);
-      },
-      onSubmit() {
-
-      }
+    successEvent(){
+       // this.visible=false
+      this.getDetail()
+      this.$emit('success')
+    }
   }
 }
 </script>
-<style>
-    .v-modal {
-        z-index: 2000 !important;
-    }
+<style scoped>
+ ::v-deep .el-tabs__item{
+    font-weight: 600;
+ }
 </style>
 <style lang="scss" scoped>
     .form {

--
Gitblit v1.9.3