From ec597288f2bb4d25d8752e2e24402306719833d4 Mon Sep 17 00:00:00 2001
From: nidapeng <jp@doumee.com>
Date: 星期五, 29 三月 2024 15:25:28 +0800
Subject: [PATCH] 提交一把
---
company/src/components/business/OperaWtbApplyShopWindow.vue | 1022 ++++++++++++++++++++++++++++++++
company/src/api/business/insuranceApply.js | 15
company/src/views/enterprise/myPolicy.vue | 22
company/src/assets/style/style.scss | 8
company/src/components/business/OperaWtbApplyCheckWindow.vue | 501 ++++++++++++++++
company/src/views/enterprise/insuranceApply.vue | 82 +-
company/src/components/business/operaverifyPhoneNumberWindew.vue | 150 ++--
company/src/views/business/insuranceApplyShop.vue | 24
8 files changed, 1,698 insertions(+), 126 deletions(-)
diff --git a/company/src/api/business/insuranceApply.js b/company/src/api/business/insuranceApply.js
index d7352e2..5d9609b 100644
--- a/company/src/api/business/insuranceApply.js
+++ b/company/src/api/business/insuranceApply.js
@@ -62,6 +62,21 @@
export function getSignLink (id) {
return request.get(`business/insuranceApply/getSignLink/${id}`)
}
+export function getSignTBQRSLink (data) {
+ return request.post('/business/insuranceApply/getSignTBQRSLink', data, {
+ trim: true
+ })
+}
+export function getMemberListOnlineSignLink (data) {
+ return request.post('/business/insuranceApply/getMemberListOnlineSignLink', data, {
+ trim: true
+ })
+}
+export function getSignWTBTBDLinkk (data) {
+ return request.post('/business/insuranceApply/getSignWTBTBDLinkk', data, {
+ trim: true
+ })
+}
export function getJiajianBaoSignLink (data) {
return request.post('/business/applyChange/getJiajianBaoSignLink', data, {
trim: true
diff --git a/company/src/assets/style/style.scss b/company/src/assets/style/style.scss
index 44a053b..1e51656 100644
--- a/company/src/assets/style/style.scss
+++ b/company/src/assets/style/style.scss
@@ -77,20 +77,22 @@
::v-deep .el-table__cell {
height: 100% !important;
}
-.apply-status0, .apply-status2 , .apply-status3, .apply-status10,
+.apply-status0, .apply-status28,.apply-status20,.apply-status21,.apply-status22,
+.apply-status25,.apply-status2 , .apply-status3, .apply-status10,
.change-status0,.change-status1,.change-status2,
.settle-status0,.settle-status2,.settle-status3,
.tax-status0,
.du-status0 {
color: #216EEE !important;
}
- .apply-status1 , .apply-status4, .apply-status6, .apply-status7, .apply-status8, .apply-status11,
+.apply-status1 ,.apply-status24,.apply-status23, .apply-status4, .apply-status6,
+.apply-status7, .apply-status8, .apply-status11,
.change-status3,.change-status4,.change-status5,.change-status8,
.settle-status1,
.tax-status2,
.du-status2 {
color: #F95601 !important;
}
- .apply-status5,.change-status7,.settle-status7,.tax-status1,.du-status1,.settle-status4 {
+ .apply-status5,.apply-status26,.change-status7,.settle-status7,.tax-status1,.du-status1,.settle-status4 {
color: #00BA92 !important;
}
diff --git a/company/src/components/business/OperaWtbApplyCheckWindow.vue b/company/src/components/business/OperaWtbApplyCheckWindow.vue
index e69de29..973f19b 100644
--- a/company/src/components/business/OperaWtbApplyCheckWindow.vue
+++ b/company/src/components/business/OperaWtbApplyCheckWindow.vue
@@ -0,0 +1,501 @@
+<template>
+ <GlobalWindow
+ :title="title"
+ width="50%"
+ :visible.sync="visible"
+ :confirm-working="isWorking"
+ @confirm="confirm"
+ >
+ <!-- 閫�鍥炴姇淇� -->
+ <el-form v-if="visible1==true" :model="form" ref="form1" :rules="rules1" style="width: 100%;">
+ <el-form-item label="濉啓閫�鍥炶鏄庯細" prop="backCheckInfo">
+ <el-input type="textarea" v-model="form.backCheckInfo" placeholder="璇疯緭鍏�" v-trim/>
+ </el-form-item>
+ </el-form>
+ <el-form v-if="visible2==true" :model="form" ref="form2" :rules="rules2" style="width: 100%;">
+ <el-form-item label="涓婁紶鎶曚繚鍗曪細" prop="toubaodanFile">
+ <UploadFile @remove="dele2" :uploadData="{ folder: 'apply',fileType:'.pdf' }" :fileList="form.fileList" @uploadSuccess="toubaoFileUploaded" />
+ </el-form-item>
+ </el-form>
+ <!-- 涓婁紶淇濋櫓鍗� -->
+ <el-form v-if="visible3==true" :model="form" ref="form3" :rules="rules3" style="width: 100%;">
+ <el-form-item label="瀹㈡埛鏈熸湜淇濋櫓鐢熸晥璧锋湡锛�">
+ {{ model.applyStartTime }}
+ </el-form-item>
+ <el-form-item label="" >
+ <el-radio-group v-model="form.selectRadio" @change="selectChange">
+ <el-radio :label="0" >涓庝繚鍗曚竴鑷�</el-radio>
+ <el-radio :label="1" >涓庝繚鍗曚笉涓�鑷�</el-radio>
+ </el-radio-group>
+ </el-form-item>
+ <el-form-item label="淇濋櫓鐢熸晥璧锋湡锛�" prop="startTime" v-if="form.selectRadio === 1">
+ <el-date-picker
+ v-model="form.startTime"
+ type="date"
+ value-format="yyyy-MM-dd HH:mm:ss"
+ placeholder="閫夋嫨鏃ユ湡">
+ </el-date-picker>
+ </el-form-item>
+ <el-form-item label="淇濋櫓鐢熸晥璧锋湡锛�">
+ {{ form.startTime }}
+ </el-form-item>
+ <el-form-item label="淇濆崟鍙凤細" prop="code">
+ <el-input v-model="form.code" placeholder="璇疯緭鍏�" v-trim/>
+ </el-form-item>
+ <el-form-item label="涓婁紶淇濋櫓鍗曪細" prop="baoxianFile">
+ <UploadFile :uploadData="{ folder: 'apply',fileType:'.pdf' }" :fileList="form.fileList1" @uploadSuccess="baoxianFileUploaded" />
+ </el-form-item>
+ </el-form>
+ <!-- 淇敼淇濋櫓鍗� -->
+ <el-form v-if="visible4==true" :model="form" ref="form4" :rules="rules4" style="width: 100%;">
+ <el-form-item label="淇濋櫓鐢熸晥璧锋湡锛�">
+ {{ model.startTime }}
+ </el-form-item>
+ <el-form-item label="淇濆崟鍙凤細" prop="editCode">
+ <el-input v-model="form.editCode" placeholder="璇疯緭鍏�" v-trim/>
+ </el-form-item>
+ <el-form-item label="涓婁紶淇濋櫓鍗曪細" prop="editBaoxianFile">
+ <UploadFile :uploadData="{ folder: 'apply',fileType:'.pdf' }" :fileList="form.fileList1" @uploadSuccess="editBaoxianFileUploaded" />
+ </el-form-item>
+ <el-form-item label="淇敼鍘熷洜锛�" prop="editCheckInfo">
+ <el-input type="textarea" v-model="form.editCheckInfo" placeholder="璇疯緭鍏�" v-trim/>
+ </el-form-item>
+ </el-form>
+ <el-form v-if="visible5==true || visible6==true" :model="form" ref="form5" :rules="rules5" style="width: 100%;">
+ <el-form-item label="濉啓璇存槑锛�" prop="dealBackInfo">
+ <el-input type="textarea" v-model="form.dealBackInfo" placeholder="璇疯緭鍏�" v-trim/>
+ </el-form-item>
+ </el-form>
+ <template v-slot:footer>
+ <el-button type="primary" @click="doSubmit">纭� 瀹�</el-button>
+ <el-button @click="visible=false">鍙栨秷</el-button>
+ </template>
+ </GlobalWindow>
+</template>
+
+<script>
+import BaseOpera from '@/components/base/BaseOpera'
+import GlobalWindow from '@/components/common/GlobalWindow'
+import {
+ dealBackApply,
+ back,
+ uploadBaoxiandan,
+ editBaoxiandan,
+ uploadToubaodan,
+ check
+} from "@/api/business/insuranceApply";
+import UploadFile from "@/components/common/UploadFile";
+import {remark} from "@/api/business/settleClaims";
+export default {
+ name: 'OperaWtbApplyCheckWindow',
+ extends: BaseOpera,
+ components: {UploadFile, GlobalWindow },
+ data () {
+ return {
+ // 琛ㄥ崟鏁版嵁
+ model: {},
+ falg :0,
+ rules1: {
+ backCheckInfo: [
+ { required: true, message: '璇峰畬鍠勪俊鎭�' }
+ ]
+ },
+ rules2: {
+ toubaodanFile: [
+ { required: true, message: '璇峰畬鍠勪俊鎭�' }
+ ]
+ },
+ rules3: {
+ code: [
+ { required: true, message: '璇峰畬鍠勪俊鎭�' }
+ ],
+ startTime: [
+ { required: true, message: '璇峰畬鍠勪俊鎭�' }
+ ],
+ baoxianFile: [
+ { required: true, message: '璇峰畬鍠勪俊鎭�' }
+ ],
+ },
+ rules5: {
+ dealBackInfo: [
+ { required: true, message: '璇峰畬鍠勪俊鎭�' }
+ ]
+ },
+ rules4: {
+ editCode: [
+ { required: true, message: '璇峰畬鍠勪俊鎭�' }
+ ],
+ editBaoxianFile: [
+ { required: true, message: '璇峰畬鍠勪俊鎭�' }
+ ],
+ editCheckInfo: [
+ { required: true, message: '璇峰畬鍠勪俊鎭�' }
+ ]
+ },
+ form: {
+ id: null,
+ backCheckInfo:'',
+ dealBackInfo:'',
+ editCheckInfo:'',
+ editDate: '',
+ editCode: '',
+ startTime:null,
+ code:null,
+ toubaodanFile:null,
+ baoxianFile:null,
+ editBaoxianFile:null,
+ fileList: [],
+ fileList1: [],
+ fileList2: [],
+ selectRadio:0
+ },
+ visible1: false,
+ visible2: false,
+ visible3: false,
+ visible4: false,
+ visible5: false,
+ visible6: false,
+ }
+ },
+ created () {
+ this.config({
+ api: '/business/insuranceApply',
+ 'field.id': 'id'
+ })
+ },
+ methods: {
+ dele2() {
+ this.form.toubaodanFile = ''
+ },
+ open(title,target,flag){
+ this.visible=true
+ this.model={}
+ this.form= {
+ id: null,
+ backCheckInfo:'',
+ dealBackInfo:'',
+ editCheckInfo:'',
+ editDate: '',
+ editCode: '',
+ startTime:null,
+ code:null,
+ toubaodanFile:null,
+ baoxianFile:null,
+ editBaoxianFile:null,
+ fileList: [],
+ fileList1: [],
+ fileList2: [],
+ selectRadio:0
+ },
+ this.model = target
+ this.form.startTime = target.startTime
+ this.title = title
+ this.flag = flag
+ this.visible1 = false
+ this.visible2 = false
+ this.visible3 = false
+ this.visible4 = false
+ this.visible5 = false
+ this.visible6 = false
+ if(flag == 1){
+ this.visible1 = true
+ }
+ if(flag == 2){
+ this.visible2 = true
+ }
+ if(flag == 3){
+ this.visible3 = true
+ }
+ if(flag == 4){
+ this.visible4 = true
+ this.$nextTick(() => {
+ this.$refs.form4.resetFields()
+ })
+ }
+ if(flag == 5){
+ this.visible5 = true
+ }
+ if(flag == 6){
+ this.visible6 = true
+ }
+ },
+ doSubmit(){
+ if (this.flag == 1) {
+ this.$refs.form1.validate((valid) => {
+ // debugger
+ if (!valid) {
+ return
+ }
+ this.backDo()
+ })
+ } else if (this.flag == 2) {
+ this.$refs.form2.validate((valid) => {
+ // debugger
+ if (!valid) {
+ return
+ }
+ this.uploadToubaodan()
+ })
+ } else if (this.flag == 3) {
+ this.$refs.form3.validate((valid) => {
+ // debugger
+ if (!valid) {
+ return
+ }
+ this.uploadBaoxiandan()
+ })
+ } else if (this.flag == 4) {
+ this.$refs.form4.validate((valid) => {
+ // debugger
+ if (!valid) {
+ return
+ }
+ this.editBaoxiandan()
+ })
+ } else if (this.flag == 5) {
+ this.$refs.form5.validate((valid) => {
+ // debugger
+ if (!valid) {
+ return
+ }
+ this.dealBackApply(1)
+ })
+ } else if (this.flag == 6) {
+ this.$refs.form5.validate((valid) => {
+ // debugger
+ if (!valid) {
+ return
+ }
+ this.dealBackApply(0)
+ })
+ }
+ },
+ selectChange(){
+ if(this.form.selectRadio == 0){
+ this.form.startTime = this.model.startTime
+ }else{
+ this.form.startTime = ''
+ }
+ },
+ toubaoFileUploaded(data){
+ this.form.toubaodanFile=data
+ },
+ baoxianFileUploaded(data){
+ this.form.baoxianFile=data
+ },
+ editBaoxianFileUploaded(data){
+ this.form.editBaoxianFile=data
+ },
+ backDo(){
+ this.$dialog.messageConfirm('纭杩涜璇ユ搷浣滃悧锛�')
+ .then(() => {
+ this.isWorking = true
+ back({id:this.model.id,checkInfo:this.form.backCheckInfo})
+ .then(response => {
+ this.visible = false
+ this.$emit('success')
+ }).catch(err => {
+ this.$tip.apiFailed(err)
+ })
+ })
+ },
+ uploadToubaodan(){
+ this.$dialog.messageConfirm('纭杩涜璇ユ搷浣滃悧锛�')
+ .then(() => {
+ this.isWorking = true
+ uploadToubaodan({id:this.model.id,toubaodanFile:this.form.toubaodanFile})
+ .then(response => {
+ this.visible = false
+ this.$emit('success')
+ }).catch(err => {
+ this.$tip.apiFailed(err)
+ })
+ })
+ },
+ dealBackApply(type){
+ this.$dialog.messageConfirm('纭杩涜璇ユ搷浣滃悧锛�')
+ .then(() => {
+ this.isWorking = true
+ dealBackApply({ id: this.model.id, checkInfo: this.form.dealBackInfo, dealBackApply: type })
+ .then(response => {
+ this.visible = false
+ this.$emit('success')
+ }).catch(err => {
+ this.$tip.apiFailed(err)
+ })
+ })
+ },
+ uploadBaoxiandan(){
+ this.$dialog.messageConfirm('纭杩涜璇ユ搷浣滃悧锛�')
+ .then(() => {
+ this.isWorking = true
+ uploadBaoxiandan({id:this.model.id,startTime:this.form.startTime,code:this.form.code,baoxiandanFile:this.form.baoxianFile})
+ .then(response => {
+ this.visible = false
+ this.$emit('success')
+ }).catch(err => {
+ this.$tip.apiFailed(err)
+ })
+ })
+
+ },
+ editBaoxiandan(){
+ this.$dialog.messageConfirm('纭杩涜璇ユ搷浣滃悧锛�')
+ .then(() => {
+ this.isWorking = true
+ editBaoxiandan({id:this.model.id, checkInfo:this.form.editCheckInfo,code:this.form.editCode,baoxiandanFile:this.form.editBaoxianFile})
+ .then(response => {
+ this.visible = false
+ this.$emit('success')
+ }).catch(err => {
+ this.$tip.apiFailed(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() {
+
+ }
+ }
+}
+</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;
+ span {
+ font-size: 14px;
+ color: black;
+ margin-right: 30px;
+ }
+ }
+ .desc_item_from {
+ width: 100%;
+ margin-bottom: 10px;
+ .desc_item_from_page {
+ width: 100%;
+ display: flex;
+ align-items: center;
+ justify-content: end;
+ margin-top: 10px;
+ }
+ }
+ .desc_item_cate {
+ width: 100%;
+ margin-bottom: 10px;
+ }
+ .desc_item_search {
+ width: 100%;
+ margin-bottom: 20px;
+ }
+ .desc_item_review {
+ width: 100%;
+ .desc_item_review_label {
+ font-size: 20px;
+ color: black;
+ font-weight: bold;
+ margin-bottom: 15px;
+ }
+ }
+ }
+ }
+</style>
diff --git a/company/src/components/business/OperaWtbApplyShopWindow.vue b/company/src/components/business/OperaWtbApplyShopWindow.vue
index e69de29..d7ad881 100644
--- a/company/src/components/business/OperaWtbApplyShopWindow.vue
+++ b/company/src/components/business/OperaWtbApplyShopWindow.vue
@@ -0,0 +1,1022 @@
+<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" 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>淇濆崟鐘舵�侊細<span :class="'apply-status'+model.status" >{{ model.statusInfo }}</span></span>
+ <span>鎻愪氦鏃堕棿锛歿{ model.createDate }}</span>
+ </div>
+ <div class="desc_item_label_right">
+ <template v-if="userInfo.type === 1">
+ <el-button v-if="model.status == 24" type="primary" @click="$refs.OperaInsuranceApply.open('鎶曚繚鐢宠', {id: dataId})">鍐嶆鎶曚繚</el-button>
+ <el-button v-if="model.status == 24" type="primary" @click="closeOrder">鍏抽棴璁㈠崟</el-button>
+ <el-button v-if="[21,22,23,24,25,26,27].includes(model.status)" type="primary" @click="viewFanganshu">鏌ョ湅纭涔�</el-button>
+ <el-button v-if="[22,23,24,25,26,27].includes(model.status)" type="primary" @click="viewShenqingdan">鏌ョ湅鐢宠鍗�</el-button>
+ <el-button v-if="[1,2,3].includes(model.unionApplyTbdStatus)" type="primary" @click="viewToubaodan">鏌ョ湅鎶曚繚鍗�</el-button>
+ <el-button v-if="[3].includes(model.unionApplyTbdStatus) " type="primary" @click="viewBaoxiandan">鏌ョ湅淇濋櫓鍗�</el-button>
+<!-- goSign-->
+ <el-button v-if="model.status == 20" type="primary" @click="getSignLink(0)">绛剧讲鏂规纭涔�</el-button>
+ <el-button v-if="model.status == 21" type="primary" @click="getSignLink(1)">绛剧讲鐢宠鍗�</el-button>
+ <el-button v-if="model.unionApplyTbdStatus == 1" type="primary" @click="getSignLink(2)">绛剧讲鎶曚繚鍗�</el-button>
+ </template>
+ <template v-if="userInfo.type === 2">
+ <el-button v-if="[21,22,23,24,25,26,27].includes(model.status)" type="primary" @click="viewFanganshu">鏌ョ湅纭涔�</el-button>
+ <el-button v-if="[22,23,24,25,26,27].includes(model.status)" type="primary" @click="viewShenqingdan">鏌ョ湅鐢宠鍗�</el-button>
+ <el-button v-if="model.status == 22" type="primary" @click="$refs.InsuranceDetails.open('鎶曚繚瀹℃牳',model,1)">鎶曚繚瀹℃牳</el-button>
+ <el-button v-if="model.status == 22" type="danger" @click="$refs.OperaInsuranceApplyCheckWindow.open('閫�鍥炴姇淇�',model,1)">閫�鍥炵敵璇�</el-button>
+ <el-button v-if="model.status == 23" type="danger" @click="$refs.OperaInsuranceApplyCheckWindow.open('閫�鍥炴姇淇�',model,1)">鍏抽棴鐢宠</el-button>
+ </template>
+ <template v-if="userInfo.type === 0">
+ <el-button v-if="[27].includes(model.status)" type="primary" @click="viewFanganshu">鏌ョ湅纭涔�</el-button>
+ <el-button v-if="[27].includes(model.status)" type="primary" @click="viewShenqingdan">鏌ョ湅鐢宠鍗�</el-button>
+ <el-button v-if="[27].includes(model.status)" type="primary" @click="viewToubaodan">鏌ョ湅鎶曚繚鍗�</el-button>
+ <el-button v-if="[27].includes(model.status)" type="primary" @click="viewBaoxiandan">鏌ョ湅淇濋櫓鍗�</el-button>
+ </template>
+ </div>
+ </div>
+ <div class="desc_item_from">
+ <el-table
+ :data="tableData"
+ border
+ 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"
+ 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-tab-pane label="鏇存崲娲鹃仯鍗曚綅璁板綍" name="2"></el-tab-pane>
+ </el-tabs>
+ </div>
+ <div class="desc_item_search">
+ <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>
+ </div>
+ <div class="desc_item_from">
+ <el-table
+ :data="list"
+ border
+ ref="table"
+ v-if="activeName === '0'"
+ 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
+ :key="Math.random()"
+ prop="memberName"
+ align="center"
+ label="鍛樺伐濮撳悕">
+ </el-table-column>
+ <el-table-column
+ 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
+ :key="Math.random()"
+ prop="idcardNo"
+ align="center"
+ label="韬唤璇佸彿">
+ </el-table-column>
+ <el-table-column
+ :key="Math.random()"
+ prop="duName"
+ align="center"
+ label="娲鹃仯鍗曚綅">
+ </el-table-column>
+ <el-table-column
+ :key="Math.random()"
+ prop="workTypeName"
+ align="center"
+ label="鎵�灞炲伐绉�">
+ </el-table-column>
+ <el-table-column
+ :key="Math.random()"
+ prop="startTime"
+ align="center"
+ label="淇濋櫓鐢熸晥璧锋湡">
+ </el-table-column>
+ <el-table-column
+ :key="Math.random()"
+ prop="endTime"
+ align="center"
+ label="淇濋櫓鐢熸晥姝㈡湡">
+ </el-table-column>
+ <el-table-column
+ :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
+ @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;" 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" />
+ <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>
+
+ <!-- 淇敼鎵嬫満鍙� -->
+ <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}}</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>
+ </GlobalWindow>
+</template>
+
+<script>
+import BaseOpera from '@/components/base/BaseOpera'
+import GlobalWindow from '@/components/common/GlobalWindow'
+import InsuranceDetails from '@/components/business/InsuranceDetails'
+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,
+ exportExcel,
+ applyChagneDetailExcel,
+ applyOpt,
+ getMemberListOnlineSignLink, getSignTBQRSLink
+} 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'
+import {sendSms, validateCode} from "@/api/business/smsEmail";
+
+export default {
+ name: 'OperaWtbApplyShopWindow',
+ extends: BaseOpera,
+ components: {
+ GlobalWindow,
+ InsuranceDetails,
+ OperaInsuranceApplyCheckWindow,
+ applyReturn,
+ OperaInsuranceApply,
+ additionSubtractionApplication,
+ factoryChange,
+ OperaApplyChangeDetailWindow,
+ OperaApplyChangeUnitDetailWindow,
+ operaverifyPhoneNumberWindew
+ },
+ data () {
+ return {
+ // 琛ㄥ崟鏁版嵁
+ dataId: null,
+ signTitle: '鎵嬫満鍙烽獙璇�',
+ model: {},
+ form: {
+ businessId: null,
+ phone: this.$store.state.userInfo.company.phone,
+ code: '',
+ type:0
+ },
+ rules: {
+ code: [
+ { required: true, message: '璇疯緭鍏ラ獙璇佺爜' }
+ ]
+ },
+ num: 0,
+ timer: null,
+ formInline: {
+ applyStatus: '',
+ duId: '',
+ workTypeId: '',
+ memberName: '',
+ end: [],
+ start: [],
+ endTimeE: '',
+ endTimeS: '',
+ startTimeE: '',
+ startTimeS: '',
+ type: ''
+ },
+ visible1: false,
+ visible2: false,
+ visible3: false,
+ visible4: false,
+ visible5: false,
+ visiblePhone: false,
+ reverse: false,
+ radio: 0,
+ activities: [],
+ tableData: [],
+ list: [],
+ list1: [],
+ list2: [],
+ dwList: [],
+ gzList: [],
+ 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.model = {}
+ this.dataId = null
+ this.dataId = target.id
+ this.form.businessId = 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()
+ },
+ 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){
+ getSignTBQRSLink(this.form).then(res => {
+ setTimeout(() => {
+ window.open(res)
+ }, 500)
+ }).catch(err => {
+ this.$tip.apiFailed(err)
+ })
+ } else if (flag === 1) {
+ getMemberListOnlineSignLink(this.form).then(res => {
+ setTimeout(() => {
+ window.open(res)
+ }, 500)
+ }).catch(err => {
+ this.$tip.apiFailed(err)
+ })
+ } else if (flag === 2) {
+ getSignLink(this.dataId).then(res => {
+ setTimeout(() => {
+ window.open(res)
+ }, 500)
+ }).catch(err => {
+ this.$tip.apiFailed(err)
+ })
+ }
+ })
+ },
+ send () {
+ sendSms({
+ phone: this.form1.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)
+ },
+ // 鍏抽棴璁㈠崟
+ 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)
+ }
+ },
+ viewFanganshu () {
+ if (this.model.baoxiandanFile && this.model.baoxiandanFile.fileurlFull) {
+ window.open(this.model.baoxiandanFile.fileurlFull)
+ }
+ },
+ viewShenqingdan () {
+ 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)
+ console.log(this.tableData)
+ this.activities = res.applyLogList
+ }).catch(err => {
+ })
+ },
+ successEvent () {
+ // this.visible=false
+ this.getDetail()
+ this.$emit('success')
+ }
+ }
+}
+</script>
+<style scoped>
+ ::v-deep .el-tabs__item{
+ font-weight: 600;
+ }
+</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;
+ span {
+ font-size: 14px;
+ color: black;
+ margin-right: 30px;
+ }
+ }
+ .desc_item_from {
+ width: 100%;
+ margin-bottom: 10px;
+ .desc_item_from_page {
+ width: 100%;
+ display: flex;
+ align-items: center;
+ justify-content: end;
+ margin-top: 10px;
+ }
+ }
+ .desc_item_cate {
+ width: 100%;
+ margin-bottom: 10px;
+ }
+ .desc_item_search {
+ width: 100%;
+ margin-bottom: 20px;
+ }
+ .desc_item_review {
+ width: 100%;
+ .desc_item_review_label {
+ font-size: 20px;
+ color: black;
+ font-weight: bold;
+ margin-bottom: 15px;
+ }
+ }
+ }
+ }
+</style>
diff --git a/company/src/components/business/operaverifyPhoneNumberWindew.vue b/company/src/components/business/operaverifyPhoneNumberWindew.vue
index 85cd927..f218701 100644
--- a/company/src/components/business/operaverifyPhoneNumberWindew.vue
+++ b/company/src/components/business/operaverifyPhoneNumberWindew.vue
@@ -22,80 +22,80 @@
</template>
<script>
- import BaseOpera from '@/components/base/BaseOpera'
- import GlobalWindow from '@/components/common/GlobalWindow'
- import { sendSms, validateCode } from '@/api/business/smsEmail'
- import { mapState } from 'vuex'
- export default {
- name: 'operaverifyPhoneNumberWindew',
- extends: BaseOpera,
- components: { GlobalWindow },
- data () {
- return {
- form: {
- phone: this.$store.state.userInfo.company.phone,
- code: ''
- },
- rules: {
- code: [
- { required: true, message: '璇疯緭鍏ラ獙璇佺爜' }
- ]
- },
- num: 0,
- timer: null
- }
- },
- computed: {
- ...mapState(['userInfo'])
- },
- methods: {
- open (title) {
- this.title = title
- this.num = 0
- clearInterval(this.timer)
- this.timer = null
- this.visible = true
- this.$nextTick(() => {
- this.$refs.form.resetFields()
- })
- },
- 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)
- },
- confirm () {
- this.$refs.form.validate((valid) => {
- if (!valid) {
- return
- }
- this.isWorking = true
- validateCode({
- code: this.form.code
- }).then(res => {
- this.visible = false
- this.$tip.apiSuccess('鎿嶄綔鎴愬姛')
- this.$emit('success')
- }).catch(e => {
- this.$tip.apiFailed(e)
- }).finally(() => {
- this.isWorking = false
- })
- })
- }
- }
+import BaseOpera from '@/components/base/BaseOpera'
+import GlobalWindow from '@/components/common/GlobalWindow'
+import { sendSms, validateCode } from '@/api/business/smsEmail'
+import { mapState } from 'vuex'
+export default {
+ name: 'operaverifyPhoneNumberWindew',
+ extends: BaseOpera,
+ components: { GlobalWindow },
+ data () {
+ return {
+ form: {
+ phone: this.$store.state.userInfo.company.phone,
+ code: ''
+ },
+ rules: {
+ code: [
+ { required: true, message: '璇疯緭鍏ラ獙璇佺爜' }
+ ]
+ },
+ num: 0,
+ timer: null
}
+ },
+ computed: {
+ ...mapState(['userInfo'])
+ },
+ methods: {
+ open (title) {
+ this.title = title
+ this.num = 0
+ clearInterval(this.timer)
+ this.timer = null
+ this.visible = true
+ this.$nextTick(() => {
+ this.$refs.form.resetFields()
+ })
+ },
+ 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)
+ },
+ confirm () {
+ this.$refs.form.validate((valid) => {
+ if (!valid) {
+ return
+ }
+ this.isWorking = true
+ validateCode({
+ code: this.form.code
+ }).then(res => {
+ this.visible = false
+ this.$tip.apiSuccess('鎿嶄綔鎴愬姛')
+ this.$emit('success')
+ }).catch(e => {
+ this.$tip.apiFailed(e)
+ }).finally(() => {
+ this.isWorking = false
+ })
+ })
+ }
+ }
+}
</script>
diff --git a/company/src/views/business/insuranceApplyShop.vue b/company/src/views/business/insuranceApplyShop.vue
index 670c06f..bf0755a 100644
--- a/company/src/views/business/insuranceApplyShop.vue
+++ b/company/src/views/business/insuranceApplyShop.vue
@@ -4,13 +4,13 @@
<el-form ref="searchForm" slot="search-form" :model="searchForm" label-width="100px" inline>
<el-form-item label="淇濆崟鐘舵��" prop="statusCollect">
<el-select v-model="searchForm.statusCollect" placeholder="璇烽�夋嫨" @keypress.enter.native="search">
- <el-option label="寰呯缃�" value="8"></el-option>
- <el-option label="寰呭鏍�" value="1"></el-option>
- <el-option label="寰呭嚭鍗�" value="7"></el-option>
- <el-option label="宸查��鍥�" value="2"></el-option>
- <el-option label="宸插叧闂�" value="3"></el-option>
- <el-option label="鎶曚繚涓�" value="4"></el-option>
- <el-option label="淇濋殰涓�" value="2"></el-option>
+ <el-option label="寰呯缃�" value="28"></el-option>
+ <el-option label="寰呭鏍�" value="22"></el-option>
+ <el-option label="寰呭嚭鍗�" value="23"></el-option>
+ <el-option label="宸查��鍥�" value="24"></el-option>
+ <el-option label="宸插叧闂�" value="25"></el-option>
+ <el-option label="鎶曚繚涓�" value="26"></el-option>
+ <el-option label="淇濋殰涓�" value="27"></el-option>
</el-select>
</el-form-item>
<el-form-item label="鎶曚繚浼佷笟" prop="companyId">
@@ -63,7 +63,7 @@
</el-table-column>
<el-table-column prop="statusInfo" label="鎶曚繚鐘舵��" min-width="100px">
<template slot-scope="{row}">
- <span :class="'apply-status'+row.status" >{{row.statusInfo}}</span>
+ <span :class="'apply-status'+row.statusCollect" >{{row.statusInfo}}</span>
</template>
</el-table-column>
<el-table-column prop="companyName" label="鎶曚繚浼佷笟" min-width="100px"></el-table-column>
@@ -78,7 +78,7 @@
fixed="right"
>
<template slot-scope="{row}">
- <el-button type="text" @click="$refs.operaInsuranceApplyShopWindow.open('濮旀墭鎶曚繚璇︽儏', row)" icon="el-icon-edit" v-permissions="['business:insuranceapply:update']">鏌ョ湅璇︽儏</el-button>
+ <el-button type="text" @click="$refs.operaWtbApplyShopWindow.open('濮旀墭鎶曚繚璇︽儏', row)" icon="el-icon-edit" v-permissions="['business:insuranceapply:update']">鏌ョ湅璇︽儏</el-button>
</template>
</el-table-column>
</el-table>
@@ -90,7 +90,7 @@
</pagination>
</template>
<!-- 鏂板缓/淇敼 -->
- <OperaInsuranceApplyShopWindow ref="operaInsuranceApplyShopWindow" @success="handlePageChange"/>
+ <OperaWtbApplyShopWindow ref="operaWtbApplyShopWindow" @success="handlePageChange"/>
</TableLayout>
</template>
@@ -100,11 +100,11 @@
import Pagination from '@/components/common/Pagination'
import { all as solutionAll } from '@/api/business/solutions'
import { pageAll as companyAll } from '@/api/business/company'
-import OperaInsuranceApplyShopWindow from '@/components/business/OperaInsuranceApplyShopWindow'
+import OperaWtbApplyShopWindow from '@/components/business/OperaWtbApplyShopWindow'
export default {
name: 'InsuranceApply',
extends: BaseTable,
- components: { TableLayout, Pagination, OperaInsuranceApplyShopWindow },
+ components: { TableLayout, Pagination, OperaWtbApplyShopWindow },
data () {
return {
// 鎼滅储
diff --git a/company/src/views/enterprise/insuranceApply.vue b/company/src/views/enterprise/insuranceApply.vue
index 99b8b8d..f5aadd4 100644
--- a/company/src/views/enterprise/insuranceApply.vue
+++ b/company/src/views/enterprise/insuranceApply.vue
@@ -12,6 +12,7 @@
<el-option label="宸查��鍥�" value="4"></el-option>
<el-option label="閫�鍥炵敵璇蜂腑" value="5"></el-option>
<el-option label="宸插叧闂�" value="6"></el-option>
+ <el-option label="鎶曚繚涓�" value="25"></el-option>
</el-select>
</el-form-item>
<el-form-item label="淇濋櫓鏂规" prop="baseSolutionId">
@@ -61,6 +62,12 @@
</template>
</el-table-column>
<el-table-column prop="solutionsName" label="淇濋櫓鏂规"></el-table-column>
+ <el-table-column label="绫诲瀷">
+ <template slot-scope="{row}">
+ <span style="color: #00BA92" v-if="row.solutionType == 1">濮旀墭鎶曚繚</span>
+ <span style="color: #F95601;" v-else>鐩存帴鎶曚繚</span>
+ </template>
+ </el-table-column>
<el-table-column prop="insureNum" label="鎶曚繚浜烘暟"></el-table-column>
<el-table-column label="鎶曚繚鏃堕暱锛堝ぉ锛�">
<template slot-scope="{row}">
@@ -78,7 +85,7 @@
fixed="right"
>
<template slot-scope="{row}">
- <el-button type="text" @click="$refs.OperaInsuranceApplyDetails.open('鎶曚繚璇︽儏', { id: row.id })" v-permissions="['business:insuranceapply:update']">鏌ョ湅璇︽儏</el-button>
+ <el-button type="text" @click="godetail(row)" v-permissions="['business:insuranceapply:update']">鏌ョ湅璇︽儏</el-button>
</template>
</el-table-column>
</el-table>
@@ -91,6 +98,7 @@
</template>
<!-- 鏂板鎶曚繚 -->
<OperaInsuranceApplyWindow ref="OperaInsuranceApplyWindow" @success="handlePageChange" />
+ <OperaWtbApplyShopWindow ref="OperaWtbApplyShopWindow" @success="handlePageChange" />
<!-- 鎶曚繚璇︽儏 -->
<OperaInsuranceApplyDetails ref="OperaInsuranceApplyDetails" @success="handlePageChange" />
</TableLayout>
@@ -102,40 +110,48 @@
import Pagination from '@/components/common/Pagination'
import OperaInsuranceApplyWindow from '@/components/enterprise/OperaInsuranceApplyWindow'
import OperaInsuranceApplyDetails from '@/components/business/OperaInsuranceApplyWindow'
+import OperaWtbApplyShopWindow from '@/components/business/OperaWtbApplyShopWindow'
-import { all as solutionAll} from '@/api/business/solutions'
+import { all as solutionAll } from '@/api/business/solutions'
export default {
- name: 'InsuranceApply',
- extends: BaseTable,
- components: { TableLayout, Pagination, OperaInsuranceApplyWindow, OperaInsuranceApplyDetails },
- data () {
- return {
- // 鎼滅储
- searchForm: {
- createTimeS: '',
- createTimeE: '',
- baseSolutionId: '',
- statusCollect: ''
- },
- solutionList:[]
- }
- },
- created () {
- this.config({
- module: '鎶曚繚鐢宠淇℃伅琛�',
- api: '/business/insuranceApply',
- 'field.id': 'id',
- 'field.main': 'id'
- })
- this.search()
- this.loadSelectList()
- },
- methods:{
- loadSelectList() {
- solutionAll({ dataType:2}).then(res => {
- this.solutionList = res
- })
- }
+ name: 'InsuranceApply',
+ extends: BaseTable,
+ components: { TableLayout, Pagination, OperaInsuranceApplyWindow, OperaInsuranceApplyDetails,OperaWtbApplyShopWindow },
+ data () {
+ return {
+ // 鎼滅储
+ searchForm: {
+ createTimeS: '',
+ createTimeE: '',
+ baseSolutionId: '',
+ statusCollect: ''
+ },
+ solutionList: []
}
+ },
+ created () {
+ this.config({
+ module: '鎶曚繚鐢宠淇℃伅琛�',
+ api: '/business/insuranceApply',
+ 'field.id': 'id',
+ 'field.main': 'id'
+ })
+ this.search()
+ this.loadSelectList()
+ },
+ methods: {
+ godetail (row) {
+ if (row.solutionType == 1) {
+ this.$refs.OperaWtbApplyShopWindow.open('濮旀墭鎶曚繚璇︽儏', { id: row.id })
+ } else {
+ this.$refs.OperaInsuranceApplyDetails.open('鎶曚繚璇︽儏', { id: row.id })
+ }
+ },
+ loadSelectList () {
+ solutionAll({ dataType: 2 }).then(res => {
+ this.solutionList = res
+ })
+ }
+ }
}
</script>
diff --git a/company/src/views/enterprise/myPolicy.vue b/company/src/views/enterprise/myPolicy.vue
index 887b8c7..c1289e4 100644
--- a/company/src/views/enterprise/myPolicy.vue
+++ b/company/src/views/enterprise/myPolicy.vue
@@ -87,7 +87,13 @@
</template>
</el-table-column>
<el-table-column prop="solutionsName" label="淇濋櫓鏂规"></el-table-column>
- <el-table-column label="淇濆崟鍙�">
+ <el-table-column label="绫诲瀷">
+ <template slot-scope="{row}">
+ <span style="color: #00BA92" v-if="row.solutionType == 1">濮旀墭鎶曚繚</span>
+ <span style="color: #F95601;" v-else>鐩存帴鎶曚繚</span>
+ </template>
+ </el-table-column>
+ <el-table-column label="淇濆崟鍙�">
<template slot-scope="{row}">
<span>{{row.code ? row.code : '-'}}</span>
</template>
@@ -110,7 +116,7 @@
fixed="right"
>
<template slot-scope="{row}">
- <el-button type="text" @click="$refs.OperaInsuranceApplyDetails.open('鎶曚繚璇︽儏', { id: row.id })" v-permissions="['business:insuranceapply:update']">鏌ョ湅璇︽儏</el-button>
+ <el-button type="text" @click="godetail(row)" v-permissions="['business:insuranceapply:update']">鏌ョ湅璇︽儏</el-button>
<!-- <template v-if="row.statusCollect === 2">-->
<!-- <el-button type="text" @click="$refs.additionSubtractionApplication.open('鍔犲噺淇濈敵璇�', { id: row.id })">鍔犲噺淇濈敵璇�</el-button>-->
<!-- </template>-->
@@ -128,6 +134,7 @@
<OperaInsuranceApplyWindow ref="OperaInsuranceApplyWindow" @success="handlePageChange" />
<!-- 鎶曚繚璇︽儏 -->
<OperaInsuranceApplyDetails ref="OperaInsuranceApplyDetails" @success="handlePageChange" />
+ <OperaWtbApplyShopWindow ref="OperaWtbApplyShopWindow" @success="handlePageChange" />
<!-- 鍔犲噺淇濈敵璇� -->
<additionSubtractionApplication ref="additionSubtractionApplication" @success="handlePageChange" />
<!-- 缁繚寮圭獥 -->
@@ -143,6 +150,7 @@
import OperaInsuranceApplyDetails from '@/components/business/OperaInsuranceApplyWindow'
import additionSubtractionApplication from '@/components/enterprise/additionSubtractionApplication'
import renewalInsurance from '@/components/enterprise/renewalInsurance'
+ import OperaWtbApplyShopWindow from '@/components/business/OperaWtbApplyShopWindow'
import { all as solutionAll} from '@/api/business/solutions'
import { getCaptcha, closeApplyNotice } from '@/api/business/notices'
@@ -155,7 +163,8 @@
OperaInsuranceApplyWindow,
OperaInsuranceApplyDetails,
renewalInsurance,
- additionSubtractionApplication
+ additionSubtractionApplication,
+ OperaWtbApplyShopWindow
},
data () {
return {
@@ -190,6 +199,13 @@
this.getNum()
},
methods:{
+ godetail (row) {
+ if (row.solutionType == 1) {
+ this.$refs.OperaWtbApplyShopWindow.open('濮旀墭鎶曚繚璇︽儏', { id: row.id })
+ } else {
+ this.$refs.OperaInsuranceApplyDetails.open('鎶曚繚璇︽儏', { id: row.id })
+ }
+ },
see() {
this.searchForm.statusCollect = '7'
this.search()
--
Gitblit v1.9.3