From 32851bc502dd5ef69c3077fd6c206bb4b82d5689 Mon Sep 17 00:00:00 2001
From: MrShi <1878285526@qq.com>
Date: 星期一, 01 四月 2024 09:05:15 +0800
Subject: [PATCH] mrshi
---
company/src/views/business/unionChange.vue | 134 ++++
company/src/views/business/unionApply.vue | 148 ++++
company/src/components/business/detailsEntrustedInsurance.vue | 899 +++++++++++++++++++++++++++++
company/src/components/business/employeeList.vue | 46 +
company/src/components/business/selectApplicationForm.vue | 109 +++
company/src/api/business/unionChange.js | 23
company/.env.developmentShop | 6
company/src/components/business/add_subtract_entrust.vue | 178 +++++
company/src/api/business/unionApply.js | 23
company/src/views/business/insuranceApplyShop.vue | 12
company/src/components/business/OpearaUnionApply.vue | 249 ++++++++
11 files changed, 1,818 insertions(+), 9 deletions(-)
diff --git a/company/.env.developmentShop b/company/.env.developmentShop
index 9ea5a62..9bc8762 100644
--- a/company/.env.developmentShop
+++ b/company/.env.developmentShop
@@ -9,10 +9,10 @@
# VUE_APP_API = 'https://dmtest.ahapp.net/yyb_web_api/'
# 骞冲彴绔�-浠佸悍
-# VUE_APP_API = 'http://192.168.0.186:10030/'
-VUE_APP_API = 'https://dmtest.ahapp.net/yyb_admin_api/'
+VUE_APP_API = 'http://192.168.0.132:10031/'
+# VUE_APP_API = 'https://dmtest.ahapp.net/yyb_admin_api/'
# 骞冲彴绔�-钀嶅
# VUE_APP_API = 'http://192.168.0.105:10023/'
-VUE_APP_API = 'http://localhost:10031/'
+# VUE_APP_API = 'http://localhost:10031/'
diff --git a/company/src/api/business/unionApply.js b/company/src/api/business/unionApply.js
new file mode 100644
index 0000000..cb10f1a
--- /dev/null
+++ b/company/src/api/business/unionApply.js
@@ -0,0 +1,23 @@
+import request from '../../utils/request'
+
+// 鏌ヨ
+export function fetchList (data) {
+ return request.post('/business/unionApply/page', data, {
+ trim: true
+ })
+}
+
+// 鍒涘缓
+export function create (data) {
+ return request.post('/business/unionApply/create', data)
+}
+
+// 淇敼
+export function updateById (data) {
+ return request.post('/business/unionApply/updateById', data)
+}
+
+// 鏍规嵁ID鏌ヨ
+export function getById (id) {
+ return request.get(`/business/unionApply/${id}`)
+}
diff --git a/company/src/api/business/unionChange.js b/company/src/api/business/unionChange.js
new file mode 100644
index 0000000..687ef00
--- /dev/null
+++ b/company/src/api/business/unionChange.js
@@ -0,0 +1,23 @@
+import request from '../../utils/request'
+
+// 鏌ヨ
+export function fetchList (data) {
+ return request.post('/business/unionChange/page', data, {
+ trim: true
+ })
+}
+
+// 鍒涘缓
+export function create (data) {
+ return request.post('/business/unionChange/create', data)
+}
+
+// 淇敼
+export function updateById (data) {
+ return request.post('/business/unionChange/updateById', data)
+}
+
+// 鏍规嵁ID鏌ヨ
+export function getById (id) {
+ return request.get(`/business/unionChange/${id}`)
+}
diff --git a/company/src/components/business/OpearaUnionApply.vue b/company/src/components/business/OpearaUnionApply.vue
new file mode 100644
index 0000000..915a281
--- /dev/null
+++ b/company/src/components/business/OpearaUnionApply.vue
@@ -0,0 +1,249 @@
+<template>
+ <GlobalWindow
+ :title="title"
+ width="100%"
+ text="鎶曚繚鐢宠"
+ :visible.sync="visible"
+ :confirm-working="isWorking"
+ @confirm="confirm"
+ >
+ <div class="list">
+ <el-form :inline="true" ref="form" :model="form" :rules="rules" class="demo-form-inline">
+ <el-form-item label="淇濋櫓鏂规" prop="solutionsId">
+ <el-select v-model="form.solutionsId" @change="selectSolutions" placeholder="璇烽�夋嫨">
+ <el-option
+ v-for="item in solutions"
+ :key="item.baseId"
+ :label="item.name"
+ :value="item.baseId">
+ </el-option>
+ </el-select>
+ </el-form-item>
+ <el-form-item label="淇濋櫓鐢熸晥璧锋鏈�" prop="applyStartTime">
+ <div style="display: flex; flex-direction: column;">
+ <el-date-picker
+ @change="changeTime"
+ v-model="time"
+ type="daterange"
+ value-format="yyyy-MM-dd HH:mm:ss"
+ format="yyyy-MM-dd HH:mm:ss"
+ range-separator="鑷�"
+ start-placeholder="寮�濮嬫棩鏈�"
+ end-placeholder="缁撴潫鏃ユ湡" />
+ <span style="color: #F95601; font-size: 14px;">锛堟鏃ョ敓鏁堟姇淇濊浜�17:30鍓嶆彁浜わ紝瓒呮椂鎻愪氦浠ヤ繚闄╁崟涓哄噯锛�</span>
+ </div>
+ </el-form-item>
+ <el-form-item label="璐圭敤" v-if="item">
+ <span>{{item.price}}鍏�</span>
+ <span v-if="item.timeUnit === 0">/澶�</span>
+ <span v-if="item.timeUnit === 1">/鍗婃湀</span>
+ <span v-if="item.timeUnit === 2">/鏈�</span>
+ <span v-if="item.timeUnit === 3">/骞�</span>
+ <span>/浜�</span>
+ </el-form-item>
+ <el-form-item label="鎶曚繚骞撮緞" v-if="item">
+ <span>{{item.minAge}} 鑷� {{item.maxAge}}</span>
+ </el-form-item>
+ </el-form>
+ </div>
+ <div class="btns">
+ <div class="btns_item">
+ <el-button type="primary" @click="selectApplicationForm">閫夋嫨鐢宠鍗�</el-button>
+ <el-button type="primary" @click="$refs.employeeList.open('鎶曚繚鍛樺伐鍚嶅崟')">鏌ョ湅鍚嶅崟</el-button>
+ </div>
+ </div>
+ <el-table
+ :data="list"
+ border
+ ref="multipleTable"
+ style="width: 100%;margin-bottom: 15px;">
+ <el-table-column
+ type="selection"
+ width="55">
+ </el-table-column>
+ <el-table-column label="搴忓彿" width="80px">
+ <template slot-scope="scope">
+ <span>{{scope.$index + 1}}</span>
+ </template>
+ </el-table-column>
+ <el-table-column
+ prop="memberName"
+ label="琚繚闄╀汉">
+ </el-table-column>
+ <el-table-column
+ prop="idCard"
+ label="鏈熸湜淇濋櫓鐢熸晥璧锋湡">
+ </el-table-column>
+ <el-table-column
+ prop="oldDuName"
+ label="鏈熸湜淇濋櫓鐢熸晥姝㈡湡">
+ </el-table-column>
+ <el-table-column
+ prop="oldWorkTypeName"
+ label="鎶曚繚浜烘暟">
+ </el-table-column>
+ <el-table-column
+ prop="duName"
+ label="鎬昏垂鐢�">
+ </el-table-column>
+ <el-table-column
+ label="鎿嶄綔">
+ <template slot-scope="scope">
+ <el-button type="text" @click="$refs.employeeList.open('鎶曚繚鍛樺伐鍚嶅崟')">鏌ョ湅鍚嶅崟</el-button>
+ <el-button type="text" style="color: #ff0000;">鍒犻櫎</el-button>
+ </template>
+ </el-table-column>
+ </el-table>
+ <div class="info" v-if="item">
+ <span v-if="item.specialAgreement">{{item.specialAgreement}}</span>
+ <span v-if="item.specialInfo">{{item.specialInfo}}</span>
+ <span v-if="item.ortherInfo">{{item.ortherInfo}}</span>
+ </div>
+ <!-- 閫夋嫨鐢宠鍗� -->
+ <selectApplicationForm ref="selectApplicationForm" @success="getValue" />
+ <!-- 鎶曚繚鍛樺伐鍚嶅崟 -->
+ <employeeList ref="employeeList" />
+ </GlobalWindow>
+</template>
+
+<script>
+ import BaseOpera from '@/components/base/BaseOpera'
+ import GlobalWindow from '@/components/common/GlobalWindow'
+ import selectApplicationForm from '@/components/business/selectApplicationForm'
+ import employeeList from '@/components/business/employeeList'
+ import { all } from '@/api/business/solutions'
+ export default {
+ name: 'factoryChange',
+ extends: BaseOpera,
+ components: { GlobalWindow, selectApplicationForm, employeeList },
+ data () {
+ return {
+ form: {
+ id: null,
+ solutionsId: '',
+ applyStartTime: '',
+ applyEndTime: ''
+ },
+ solutions: [],
+ list: [],
+ endTime: '',
+ item: null,
+ time: [],
+ // 楠岃瘉瑙勫垯
+ rules: {
+ applyStartTime: [
+ { required: true, message: '璇烽�夋嫨淇濋櫓鐢熸晥璧锋湡' }
+ ],
+ solutionsName: [
+ { required: true, message: '璇烽�夋嫨淇濋櫓鏂规' }
+ ]
+ }
+ }
+ },
+ created () {
+ this.config({
+ api: '/business/insuranceApply',
+ 'field.id': 'id'
+ })
+ },
+ methods: {
+ confirm() {
+ this.$confirm('纭鎻愪氦锛岃浠旂粏鏍稿淇℃伅銆�', '鎻愮ず', {
+ confirmButtonText: '纭畾',
+ cancelButtonText: '鍙栨秷',
+ type: 'warning',
+ center: true
+ }).then(() => {
+ this.$message({
+ type: 'success',
+ message: '纭畾!'
+ });
+ }).catch(() => {
+ this.$message({
+ type: 'info',
+ message: '鍙栨秷'
+ });
+ });
+ },
+ getValue(e) {
+ console.log(e)
+ },
+ selectApplicationForm() {
+ if (!this.form.solutionsId) return this.$message.warning('璇峰厛閫夋嫨淇濋櫓鏂规')
+ this.$refs.selectApplicationForm.open('閫夋嫨鐢宠鍗�', this.form.solutionsId)
+ },
+ changeTime(e) {
+ if (e.length > 0) {
+ this.form.applyStartTime = e[0]
+ this.form.applyEndTime = e[1]
+ } else {
+ this.form.applyStartTime = ''
+ this.form.applyEndTime = ''
+ }
+ },
+ open (title, target) {
+ this.getSolutions()
+ this.title = title
+ if (target) {
+ this.$nextTick(() => {
+ this.$refs.form.resetFields()
+ })
+ } else {
+ this.$nextTick(() => {
+ this.$refs.form.resetFields()
+ this.form[this.configData['field.id']] = null
+ })
+ }
+ this.visible = true
+ },
+ // 鏌ヨ鍏ㄩ儴鏂规
+ getSolutions() {
+ all({})
+ .then(res => {
+ this.solutions = res
+ })
+ },
+ // 閫夋嫨淇濋櫓鍗�
+ selectSolutions(id) {
+ this.solutions.forEach(item => {
+ if (item.id === id) {
+ this.item = item
+ }
+ })
+ }
+ }
+ }
+</script>
+
+<style lang="scss" scoped>
+ .list {
+ width: 100%;
+ }
+ .btns {
+ width: 100%;
+ margin-bottom: 15px;
+ display: flex;
+ align-items: center;
+ justify-content: space-between;
+ .btns_item {
+ display: flex;
+ align-items: center;
+ }
+ }
+ .submit {
+ width: 100%;
+ display: flex;
+ align-items: center;
+ justify-content: center;
+ margin-bottom: 15px;
+ }
+ .desc_item_cate {
+ width: 100%;
+ margin-bottom: 10px;
+ }
+ .info {
+ width: 100%;
+ font-size: 14px;
+ color: black;
+ }
+</style>
diff --git a/company/src/components/business/add_subtract_entrust.vue b/company/src/components/business/add_subtract_entrust.vue
new file mode 100644
index 0000000..be9471f
--- /dev/null
+++ b/company/src/components/business/add_subtract_entrust.vue
@@ -0,0 +1,178 @@
+<template>
+ <GlobalWindow
+ :title="title"
+ width="100%"
+ text="鎶曚繚鐢宠"
+ :visible.sync="visible"
+ :confirm-working="isWorking"
+ @confirm="confirm"
+ >
+ <div class="list">
+ <el-form :inline="true" ref="form" :model="form" :rules="rules" class="demo-form-inline">
+ <el-form-item label="淇濋櫓鏂规">
+
+ </el-form-item>
+ <el-form-item label="鎵瑰崟鐢熸晥璧锋湡" prop="applyStartTime">
+ <div style="display: flex; flex-direction: column;">
+ <el-date-picker
+ v-model="form.applyStartTime"
+ type="date"
+ value-format="yyyy-MM-dd HH:mm:ss"
+ format="yyyy-MM-dd HH:mm:ss"
+ placeholder="閫夋嫨鏃ユ湡" />
+ <span style="color: #F95601; font-size: 14px;">锛堟鏃ョ敓鏁堟姇淇濊浜�17:30鍓嶆彁浜わ紝瓒呮椂鎻愪氦浠ヤ繚闄╁崟涓哄噯锛�</span>
+ </div>
+ </el-form-item>
+ <el-form-item label="璐圭敤" v-if="item">
+ <span>{{item.price}}鍏�</span>
+ <span v-if="item.timeUnit === 0">/澶�</span>
+ <span v-if="item.timeUnit === 1">/鍗婃湀</span>
+ <span v-if="item.timeUnit === 2">/鏈�</span>
+ <span v-if="item.timeUnit === 3">/骞�</span>
+ <span>/浜�</span>
+ </el-form-item>
+ <el-form-item label="鎶曚繚骞撮緞" v-if="item">
+ <span>{{item.minAge}} 鑷� {{item.maxAge}}</span>
+ </el-form-item>
+ </el-form>
+ </div>
+ <div class="btns">
+ <div class="btns_item">
+ <el-button type="primary" @click="selectApplicationForm">閫夋嫨鐢宠鍗�</el-button>
+ <el-button type="primary" @click="$refs.employeeList.open('鎶曚繚鍛樺伐鍚嶅崟')">鏌ョ湅鍚嶅崟</el-button>
+ </div>
+ </div>
+ <el-table
+ :data="list"
+ border
+ ref="multipleTable"
+ style="width: 100%;margin-bottom: 15px;">
+ <el-table-column
+ type="selection"
+ width="55">
+ </el-table-column>
+ <el-table-column label="搴忓彿" width="80px">
+ <template slot-scope="scope">
+ <span>{{scope.$index + 1}}</span>
+ </template>
+ </el-table-column>
+ <el-table-column
+ prop="memberName"
+ label="琚繚闄╀汉">
+ </el-table-column>
+ <el-table-column
+ prop="idCard"
+ label="鏈熸湜淇濋櫓鐢熸晥璧锋湡">
+ </el-table-column>
+ <el-table-column
+ prop="oldDuName"
+ label="鏈熸湜淇濋櫓鐢熸晥姝㈡湡">
+ </el-table-column>
+ <el-table-column
+ prop="oldWorkTypeName"
+ label="鎶曚繚浜烘暟">
+ </el-table-column>
+ <el-table-column
+ prop="duName"
+ label="鎬昏垂鐢�">
+ </el-table-column>
+ <el-table-column
+ label="鎿嶄綔">
+ <template slot-scope="scope">
+ <el-button type="text" @click="$refs.employeeList.open('鎶曚繚鍛樺伐鍚嶅崟')">鏌ョ湅鍚嶅崟</el-button>
+ <el-button type="text" style="color: #ff0000;">鍒犻櫎</el-button>
+ </template>
+ </el-table-column>
+ </el-table>
+ <div class="info" v-if="item">
+ <span v-if="item.specialAgreement">{{item.specialAgreement}}</span>
+ <span v-if="item.specialInfo">{{item.specialInfo}}</span>
+ <span v-if="item.ortherInfo">{{item.ortherInfo}}</span>
+ </div>
+ </GlobalWindow>
+</template>
+
+<script>
+ import BaseOpera from '@/components/base/BaseOpera'
+ import GlobalWindow from '@/components/common/GlobalWindow'
+ export default {
+ name: 'add_subtract_entrust',
+ extends: BaseOpera,
+ components: { GlobalWindow },
+ data () {
+ return {
+ form: {
+ id: null,
+ solutionsId: '',
+ applyStartTime: ''
+ },
+ list: [],
+ item: null,
+ // 楠岃瘉瑙勫垯
+ rules: {
+ applyStartTime: [
+ { required: true, message: '璇烽�夋嫨淇濋櫓鐢熸晥璧锋湡' }
+ ],
+ solutionsName: [
+ { required: true, message: '璇烽�夋嫨淇濋櫓鏂规' }
+ ]
+ }
+ }
+ },
+ created () {
+ this.config({
+ api: '/business/insuranceApply',
+ 'field.id': 'id'
+ })
+ },
+ methods: {
+ open (title, target) {
+ this.title = title
+ if (target) {
+ this.$nextTick(() => {
+ this.$refs.form.resetFields()
+ })
+ } else {
+ this.$nextTick(() => {
+ this.$refs.form.resetFields()
+ this.form[this.configData['field.id']] = null
+ })
+ }
+ this.visible = true
+ }
+ }
+ }
+</script>
+
+<style lang="scss" scoped>
+ .list {
+ width: 100%;
+ }
+ .btns {
+ width: 100%;
+ margin-bottom: 15px;
+ display: flex;
+ align-items: center;
+ justify-content: space-between;
+ .btns_item {
+ display: flex;
+ align-items: center;
+ }
+ }
+ .submit {
+ width: 100%;
+ display: flex;
+ align-items: center;
+ justify-content: center;
+ margin-bottom: 15px;
+ }
+ .desc_item_cate {
+ width: 100%;
+ margin-bottom: 10px;
+ }
+ .info {
+ width: 100%;
+ font-size: 14px;
+ color: black;
+ }
+</style>
diff --git a/company/src/components/business/detailsEntrustedInsurance.vue b/company/src/components/business/detailsEntrustedInsurance.vue
new file mode 100644
index 0000000..d5b26b8
--- /dev/null
+++ b/company/src/components/business/detailsEntrustedInsurance.vue
@@ -0,0 +1,899 @@
+<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="[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="[2,10].includes(model.status) && model.solutionType ==0" type="primary" @click="$refs.OperaInsuranceApplyCheckWindow.open('涓婁紶鎶曚繚鍗�',model,2)">涓婁紶鎶曚繚鍗�</el-button>
+ <el-button v-if="model.status == 3 && model.solutionType ==0" type="primary" @click="$refs.OperaInsuranceApplyCheckWindow.open('涓婁紶淇濋櫓鍗�',model,3)">涓婁紶淇濋櫓鍗�</el-button>
+ <el-button v-if="[6,7,8,11].includes(model.status) && model.solutionType ==0" type="primary" @click="$refs.OperaInsuranceApplyCheckWindow.open('椹冲洖閫�鍥炵敵璇�',model,5)">椹冲洖閫�鍥炵敵璇�</el-button>
+ <el-button v-if="model.status == 0 && model.solutionType ==0" type="primary" @click="$refs.InsuranceDetails.open('鎶曚繚瀹℃牳',model,1)">鎶曚繚瀹℃牳</el-button>
+ <el-button v-if="![1,4,,5].includes(model.status) && model.solutionType ==0" type="danger" @click="$refs.OperaInsuranceApplyCheckWindow.open('閫�鍥炴姇淇�',model,1)">閫�鍥炴姇淇�</el-button>
+ <el-button v-if="model.status == 5 && model.solutionType ==0" type="danger" @click="$refs.OperaInsuranceApplyCheckWindow.open('淇敼淇濋櫓鍗�',model,4)">淇敼淇濋櫓鍗�</el-button>
+ </template>
+ </div>
+ </div>
+ <div class="desc_item_from">
+ <el-table
+ :data="tableData"
+ border
+ style="width: 100%">
+ <el-table-column
+ prop="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>
+ </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, 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: 'detailsEntrustedInsurance',
+ extends: BaseOpera,
+ components: {
+ GlobalWindow,
+ InsuranceDetails,
+ OperaInsuranceApplyCheckWindow,
+ applyReturn,
+ OperaInsuranceApply,
+ additionSubtractionApplication,
+ factoryChange,
+ OperaApplyChangeDetailWindow,
+ OperaApplyChangeUnitDetailWindow,
+ operaverifyPhoneNumberWindew
+ },
+ data () {
+ return {
+ // 琛ㄥ崟鏁版嵁
+ dataId:null,
+ model: {},
+ form: {
+ id: null,
+ editDate: ''
+ },
+ // 楠岃瘉瑙勫垯
+ rules: {
+ },
+ formInline: {
+ applyStatus: '',
+ duId: '',
+ workTypeId: '',
+ memberName: '',
+ end: [],
+ start: [],
+ endTimeE: '',
+ endTimeS: '',
+ startTimeE: '',
+ startTimeS: '',
+ type: ''
+ },
+ visible1: false,
+ visible2: false,
+ visible3: false,
+ visible4: false,
+ visible5: 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.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()
+ },
+ // 鍏抽棴璁㈠崟
+ 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)
+ 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/employeeList.vue b/company/src/components/business/employeeList.vue
new file mode 100644
index 0000000..0dca1d9
--- /dev/null
+++ b/company/src/components/business/employeeList.vue
@@ -0,0 +1,46 @@
+<template>
+ <GlobalWindow
+ :title="title"
+ width="100%"
+ :visible.sync="visible"
+ :confirm-working="isWorking"
+ @confirm="confirm"
+ >
+
+ </GlobalWindow>
+</template>
+
+<script>
+ import BaseOpera from '@/components/base/BaseOpera'
+ import GlobalWindow from '@/components/common/GlobalWindow'
+ export default {
+ name: 'employeeList',
+ extends: BaseOpera,
+ components: { GlobalWindow },
+ data () {
+ return {
+ solution: [],
+ list: []
+ }
+ },
+ created () {
+ this.config({
+ api: '/business/dispatchUnit',
+ 'field.id': 'id'
+ })
+ },
+ methods: {
+ open (title) {
+ this.list = []
+ this.title = title
+ this.visible = true
+ }
+ }
+ }
+</script>
+
+<style lang="scss" scoped>
+ .el-checkbox::v-deep {
+ display: none;
+ }
+</style>
diff --git a/company/src/components/business/selectApplicationForm.vue b/company/src/components/business/selectApplicationForm.vue
new file mode 100644
index 0000000..e8c69a4
--- /dev/null
+++ b/company/src/components/business/selectApplicationForm.vue
@@ -0,0 +1,109 @@
+<template>
+ <GlobalWindow
+ :title="title"
+ width="100%"
+ :visible.sync="visible"
+ :confirm-working="isWorking"
+ @confirm="confirm"
+ >
+ <el-table
+ :data="list"
+ border
+ ref="table"
+ @selection-change="handleSelectionChange"
+ style="width: 100%">
+ <el-table-column
+ type="selection"
+ width="55">
+ </el-table-column>
+ <el-table-column label="搴忓彿" width="80px">
+ <template slot-scope="scope">
+ <span>{{scope.$index + 1}}</span>
+ </template>
+ </el-table-column>
+ <el-table-column
+ prop="solutionName"
+ label="淇濋櫓鏂规">
+ </el-table-column>
+ <el-table-column
+ prop="bdCode"
+ label="淇濆崟鍙�">
+ </el-table-column>
+ <el-table-column
+ prop="pdCode"
+ label="鎵瑰崟鍙�">
+ </el-table-column>
+ <el-table-column
+ prop="duName"
+ label="娲鹃仯鍗曚綅">
+ </el-table-column>
+ <el-table-column
+ prop="worktypeName"
+ label="鎵�灞炲伐绉�">
+ </el-table-column>
+ </el-table>
+ </GlobalWindow>
+</template>
+
+<script>
+ import BaseOpera from '@/components/base/BaseOpera'
+ import GlobalWindow from '@/components/common/GlobalWindow'
+ import { fetchList } from '@/api/business/insuranceApply'
+ export default {
+ name: 'selectSolutions',
+ extends: BaseOpera,
+ components: { GlobalWindow },
+ data () {
+ return {
+ baseSolutionId: null,
+ list: [],
+ seleData: []
+ }
+ },
+ created () {
+ this.config({
+ api: '/business/dispatchUnit',
+ 'field.id': 'id'
+ })
+ },
+ methods: {
+ open (title, id) {
+ this.list = []
+ this.baseSolutionId = id
+ this.title = title
+ this.visible = true
+ this.getList()
+ },
+ confirm() {
+ this.$emit('success', this.seleData[0])
+ this.visible = false
+ },
+ handleSelectionChange (rows) {
+ if (rows.length > 1) {
+ this.$refs.table.clearSelection()
+ this.$refs.table.toggleRowSelection(rows.pop())
+ }
+ this.seleData = rows
+ console.log(this.seleData)
+ },
+ getList() {
+ fetchList({
+ capacity: 10,
+ page: 1,
+ model: {
+ baseSolutionId: this.baseSolutionId,
+ status: 23
+ }
+ }).then(res => {
+ this.list = res
+ })
+ }
+ }
+ }
+</script>
+
+<style lang="scss" scoped>
+ .el-checkbox::v-deep {
+ display: none;
+ }
+</style>
diff --git a/company/src/views/business/insuranceApplyShop.vue b/company/src/views/business/insuranceApplyShop.vue
index 4b46513..6b641ff 100644
--- a/company/src/views/business/insuranceApplyShop.vue
+++ b/company/src/views/business/insuranceApplyShop.vue
@@ -6,12 +6,12 @@
<el-select v-model="searchForm.statusCollect" placeholder="璇烽�夋嫨" @keypress.enter.native="search">
<el-option label="寰呭鏍�" value="0"></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="5"></el-option>
- <el-option label="宸插叧闂�" value="6"></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="5"></el-option>
+ <el-option label="宸插叧闂�" value="6"></el-option>
</el-select>
</el-form-item>
<el-form-item label="鎶曚繚浼佷笟" prop="companyId">
diff --git a/company/src/views/business/unionApply.vue b/company/src/views/business/unionApply.vue
new file mode 100644
index 0000000..23a90fc
--- /dev/null
+++ b/company/src/views/business/unionApply.vue
@@ -0,0 +1,148 @@
+<template>
+ <TableLayout :permissions="['business:insuranceapply:query']">
+ <!-- 鎼滅储琛ㄥ崟 -->
+ <el-form ref="searchForm" slot="search-form" :model="searchForm" label-width="100px" inline>
+ <el-form-item label="淇濆崟鐘舵��" prop="status">
+ <el-select v-model="searchForm.status" placeholder="璇烽�夋嫨" @keypress.enter.native="search">
+ <el-option label="寰呭鏍�" value="1"></el-option>
+ <el-option label="寰呯缃�" value="2"></el-option>
+ <el-option label="寰呭嚭鍗�" value="3"></el-option>
+ <el-option label="淇濋殰涓�" value="4"></el-option>
+ <el-option label="宸查��鍥�" value="5"></el-option>
+ </el-select>
+ </el-form-item>
+ <el-form-item label="淇濋櫓鏂规" prop="solutionId">
+ <el-select v-model="searchForm.solutionId" placeholder="璇烽�夋嫨" @change="search">
+ <el-option
+ v-for="item in solutionList"
+ :key="item.baseId"
+ :label="item.name"
+ :value="item.baseId">
+ </el-option>
+ </el-select>
+ </el-form-item>
+ <el-form-item label="鎻愪氦鏃ユ湡" prop="time">
+ <el-date-picker
+ v-model="searchForm.time"
+ @change="changeTime"
+ type="daterange"
+ range-separator="鑷�"
+ value-format="yyyy-MM-dd"
+ start-placeholder="寮�濮嬫棩鏈�"
+ end-placeholder="缁撴潫鏃ユ湡">
+ </el-date-picker>
+ </el-form-item>
+ <section>
+ <el-button type="primary" @click="search">鎼滅储</el-button>
+ <el-button @click="reset">閲嶇疆</el-button>
+ </section>
+ </el-form>
+ <!-- 琛ㄦ牸鍜屽垎椤� -->
+ <template v-slot:table-wrap>
+ <ul class="toolbar" v-permissions="['business:insurance:create']">
+ <li><el-button type="primary" @click="$refs.OpearaUnionApply.open('鎶曚繚璇︽儏', row)" v-permissions="['business:insurance:create']">鎻愪氦鐢宠</el-button></li>
+ </ul>
+ <el-table
+ v-loading="isWorking.search"
+ :data="tableData.list"
+ stripe
+ >
+ <el-table-column label="搴忓彿" width="80px">
+ <template slot-scope="scope">
+ <span>{{scope.$index + 1}}</span>
+ </template>
+ </el-table-column>
+ <el-table-column prop="statusInfo" label="鐘舵��" min-width="100px">
+ <template slot-scope="{row}">
+ <span :class="'apply-status'+row.status" >{{row.statusInfo}}</span>
+ </template>
+ </el-table-column>
+ <el-table-column prop="solutionsName" label="淇濋櫓鏂规" min-width="100px"></el-table-column>
+ <el-table-column prop="insureNum" label="鎶曚繚浜烘暟" min-width="100px"></el-table-column>
+ <el-table-column prop="fee" label="鎬昏垂鐢紙鍏冿級" min-width="100px"></el-table-column>
+ <el-table-column prop="createDate" label="鎻愪氦鏃堕棿" min-width="100px"></el-table-column>
+ <el-table-column
+ v-if="containPermissions(['business:insuranceapply:update', 'business:insuranceapply:delete'])"
+ label="鎿嶄綔"
+ min-width="120"
+ fixed="right"
+ >
+ <template slot-scope="{row}">
+ <el-button type="text" icon="el-icon-edit" @click="$refs.detailsEntrustedInsurance.open('濮旀墭鎶曚繚璇︽儏', row)" v-permissions="['business:insuranceapply:update']">鏌ョ湅璇︽儏</el-button>
+ </template>
+ </el-table-column>
+ </el-table>
+ <pagination
+ @size-change="handleSizeChange"
+ @current-change="handlePageChange"
+ :pagination="tableData.pagination"
+ >
+ </pagination>
+ </template>
+ <!-- 鏂板缓/淇敼 -->
+ <OpearaUnionApply ref="OpearaUnionApply" @success="handlePageChange"/>
+ <!-- 璇︽儏 -->
+ <detailsEntrustedInsurance ref="detailsEntrustedInsurance" />
+ </TableLayout>
+</template>
+
+<script>
+ import BaseTable from '@/components/base/BaseTable'
+ import TableLayout from '@/layouts/TableLayout'
+ import Pagination from '@/components/common/Pagination'
+ import { all as solutionAll } from '@/api/business/solutions'
+ import OpearaUnionApply from '@/components/business/OpearaUnionApply'
+ import detailsEntrustedInsurance from '@/components/business/detailsEntrustedInsurance'
+ export default {
+ name: 'unionApply',
+ extends: BaseTable,
+ components: { TableLayout, Pagination, OpearaUnionApply, detailsEntrustedInsurance },
+ data () {
+ return {
+ // 鎼滅储
+ searchForm: {
+ queryStartTime: '',
+ queryEndTime: '',
+ solutionId: '',
+ status: '',
+ time: []
+ },
+ solutionList: []
+ }
+ },
+ created () {
+ this.config({
+ module: '濮旀墭鎶曚繚瀹℃牳淇℃伅琛�',
+ api: '/business/unionApply',
+ 'field.id': 'id',
+ 'field.main': 'id'
+ })
+ this.search()
+ },
+ methods:{
+ // 鎼滅储妗嗛噸缃�
+ reset () {
+ this.$refs.searchForm.resetFields()
+ this.searchForm.queryStartTime = ''
+ this.searchForm.queryEndTime = ''
+ this.search()
+ },
+ changeTime(e) {
+ if (e.length > 0) {
+ this.searchForm.queryStartTime = e[0]
+ this.searchForm.queryEndTime = e[1]
+ } else {
+ this.searchForm.queryStartTime = ''
+ this.searchForm.queryEndTime = ''
+ }
+ this.search()
+ },
+ loadSelectList() {
+ solutionAll({dataType:2}).then(res => {
+ this.solutionList = res
+ }).catch(err => {
+ })
+ }
+ }
+ }
+</script>
diff --git a/company/src/views/business/unionChange.vue b/company/src/views/business/unionChange.vue
new file mode 100644
index 0000000..ef9fd4c
--- /dev/null
+++ b/company/src/views/business/unionChange.vue
@@ -0,0 +1,134 @@
+<template>
+ <TableLayout :permissions="['business:applychange:query']">
+ <!-- 鎼滅储琛ㄥ崟 -->
+ <el-form ref="searchForm" slot="search-form" :model="searchForm" label-width="100px" inline>
+ <el-form-item label="淇濆崟鐘舵��" prop="status">
+ <el-select v-model="searchForm.status" placeholder="璇烽�夋嫨" @change="search">
+ <el-option label="鍏ㄩ儴" value=""></el-option>
+ <el-option label="寰呯缃�" value="1"></el-option>
+ <el-option label="寰呭嚭鍗�" value="2"></el-option>
+ <el-option label="宸茬敓鏁�" value="3"></el-option>
+ <el-option label="宸查��鍥�" value="4"></el-option>
+ </el-select>
+ </el-form-item>
+ <el-form-item label="淇濋櫓鏂规" prop="solutionName">
+ <el-input v-model="searchForm.solutionName" placeholder="璇疯緭鍏�" @keypress.enter.native="search"></el-input>
+ </el-form-item>
+ <el-form-item label="鎻愪氦鏃ユ湡" prop="status">
+ <el-date-picker
+ @change="changeTime"
+ v-model="searchForm.time"
+ type="daterange"
+ value-format="yyyy-MM-dd"
+ range-separator="鑷�"
+ start-placeholder="寮�濮嬫棩鏈�"
+ end-placeholder="缁撴潫鏃ユ湡">
+ </el-date-picker>
+ </el-form-item>
+ <section>
+ <el-button type="primary" @click="search">鎼滅储</el-button>
+ <el-button @click="reset">閲嶇疆</el-button>
+ </section>
+ </el-form>
+ <!-- 琛ㄦ牸鍜屽垎椤� -->
+ <template v-slot:table-wrap>
+ <ul class="toolbar" v-permissions="['business:insurance:create']">
+ <li><el-button type="primary" @click="$refs.add_subtract_entrust.open('鍔犲噺淇濈敵璇�')" v-permissions="['business:insurance:create']">鎻愪氦鐢宠</el-button></li>
+ </ul>
+ <el-table
+ v-loading="isWorking.search"
+ :data="tableData.list"
+ stripe
+ >
+ <el-table-column label="搴忓彿" width="80px">
+ <template slot-scope="scope">
+ <span>{{scope.$index + 1}}</span>
+ </template>
+ </el-table-column>
+ <el-table-column prop="status" label="淇濆崟鐘舵��" min-width="100px">
+ <template slot-scope="{row}">
+ <span :class="'change-status'+row.status" v-if="row.status === 1">寰呯缃�</span>
+ <span :class="'change-status'+row.status" v-if="row.status === 2">寰呭嚭鍗�</span>
+ <span :class="'change-status'+row.status" v-if="row.status === 3">宸茬敓鏁�</span>
+ <span :class="'change-status'+row.status" v-if="row.status === 4">宸查��鍥�</span>
+ </template>
+ </el-table-column>
+ <el-table-column prop="applyCode" label="鍏宠仈淇濆崟鍙�" min-width="100px"></el-table-column>
+ <el-table-column prop="solutionsName" label="淇濋櫓鏂规" min-width="100px"></el-table-column>
+ <el-table-column prop="addNum" label="鍔犱繚浜烘暟锛堜汉锛�" min-width="100px"></el-table-column>
+ <el-table-column prop="delNum" label="鍑忎繚浜烘暟锛堜汉锛�" min-width="100px"></el-table-column>
+ <el-table-column prop="createDate" label="鎻愪氦鏃堕棿" min-width="100px"></el-table-column>
+ <el-table-column
+ label="鎿嶄綔"
+ min-width="120"
+ fixed="right"
+ >
+ <template slot-scope="{row}">
+ <el-button type="text" @click="$refs.OperaApplyChangeDetailWindow.open('鍔犲噺淇濊鎯�', row)">鏌ョ湅璇︽儏</el-button>
+ </template>
+ </el-table-column>
+ </el-table>
+ <pagination
+ @size-change="handleSizeChange"
+ @current-change="handlePageChange"
+ :pagination="tableData.pagination"
+ >
+ </pagination>
+ </template>
+ <!-- 鎻愪氦鐢宠 -->
+ <add_subtract_entrust ref="add_subtract_entrust" />
+ </TableLayout>
+</template>
+
+<script>
+ import BaseTable from '@/components/base/BaseTable'
+ import TableLayout from '@/layouts/TableLayout'
+ import Pagination from '@/components/common/Pagination'
+ import add_subtract_entrust from '@/components/business/add_subtract_entrust'
+ export default {
+ name: 'unionChange',
+ extends: BaseTable,
+ components: { TableLayout, Pagination, add_subtract_entrust },
+ data () {
+ return {
+ // 鎼滅储
+ searchForm: {
+ status: '',
+ type: '0',
+ solutionName: '',
+ queryStartTime: '',
+ queryEndTime: '',
+ time: []
+ }
+ }
+ },
+ created () {
+ this.config({
+ module: '鍔犲噺淇濇崲鍘傚悎骞跺崟淇℃伅琛�',
+ api: '/business/unionChange',
+ 'field.id': 'id',
+ 'field.main': 'id'
+ })
+ this.search()
+ },
+ methods: {
+ changeTime(e) {
+ if (e.length > 0) {
+ this.searchForm.queryStartTime = e[0]
+ this.searchForm.queryEndTime = e[1]
+ } else {
+ this.searchForm.queryStartTime = ''
+ this.searchForm.queryEndTime = ''
+ }
+ this.search()
+ },
+ reset() {
+ this.searchForm.queryStartTime = ''
+ this.searchForm.queryEndTime = ''
+ this.searchForm.time = []
+ this.$refs.searchForm.resetFields();
+ this.search()
+ }
+ }
+ }
+</script>
--
Gitblit v1.9.3