From 6f1ad9bcb73a415f1d45f1adc6bdeb3e80ddf95f Mon Sep 17 00:00:00 2001
From: MrShi <1878285526@qq.com>
Date: 星期二, 05 三月 2024 09:33:39 +0800
Subject: [PATCH] mrshi
---
company/src/components/business/OperaSolutionsDescWindow.vue | 2
company/src/components/enterprise/importEmployees.vue | 12 +
company/src/views/business/solutions.vue | 1
company/src/components/business/detailsPolicyholder.vue | 229 ++++++++++++++++++++
company/src/components/enterprise/OperaDispatchUnitWindow.vue | 18
company/src/components/enterprise/OperaInsuranceApplyWindow.vue | 150 +++++++++---
company/src/components/business/OperaInsuranceApplyWindow.vue | 22 +
company/src/views/enterprise/myPolicy.vue | 12
company/.env | 7
company/src/components/enterprise/renewalInsurance.vue | 34 +-
company/.env.production | 6
company/vue.config.js | 2
company/src/utils/waterMark.js | 56 +++++
company/src/views/business/insuranceApply.vue | 4
company/src/assets/style/style.scss | 2
company/src/components/enterprise/confirmJobType.vue | 2
company/src/components/enterprise/dispatchUnitDetails.vue | 10
company/src/views/enterprise/insuranceApply.vue | 6
platform/src/layouts/AppLayout.vue | 16 +
company/.env.development | 4
company/src/layouts/AppLayout.vue | 16 +
21 files changed, 502 insertions(+), 109 deletions(-)
diff --git a/company/.env b/company/.env
index 4f8ad0a..b8c4aaa 100644
--- a/company/.env
+++ b/company/.env
@@ -4,7 +4,7 @@
VUE_APP_ROUTER_MODE = 'hash'
# 椤圭洰涓婁笅鏂囪矾寰�
-VUE_APP_CONTEXT_PATH = '/yyb_admin'
+VUE_APP_CONTEXT_PATH = '/yyb_web'
# 鎺ュ彛鍓嶇紑
VUE_APP_API_PREFIX = '/api'
@@ -12,5 +12,8 @@
# 宸ョ瀵煎叆妯℃澘
VUE_APP_TYPEWORK_URL = 'https://doumeetest.oss-cn-beijing.aliyuncs.com/yunyibao_file/typeWork.xlsx'
-# 浜哄憳瀵煎叆妯℃澘
+# 浜哄憳瀵煎叆妯℃澘(鍔犲噺淇濇崲鍦�)
VUE_APP_MEMBER_URL = 'https://doumeetest.oss-cn-beijing.aliyuncs.com/yunyibao_file/member.xlsx'
+
+# 浜哄憳瀵煎叆妯℃澘(鎶曚繚鐢宠)
+VUE_APP_MEMBER1_URL = 'https://doumeetest.oss-cn-beijing.aliyuncs.com/yunyibao_file/personnel.xlsx'
diff --git a/company/.env.development b/company/.env.development
index ddbde5e..49771e1 100644
--- a/company/.env.development
+++ b/company/.env.development
@@ -5,10 +5,10 @@
# VUE_APP_API_PREFIX = '/yyb_web_api'
# 浼佷笟绔�-浠佸悍
-VUE_APP_API = 'http://192.168.0.129:10031/'
+VUE_APP_API = 'http://192.168.0.186:10031/'
# 骞冲彴绔�-浠佸悍
-# VUE_APP_API = 'http://192.168.0.129:10030/'
+# VUE_APP_API = 'http://192.168.0.186:10030/'
# 骞冲彴绔�-钀嶅
# VUE_APP_API = 'http://192.168.0.105:10023/'
diff --git a/company/.env.production b/company/.env.production
index 9cf23b3..4ad77c8 100644
--- a/company/.env.production
+++ b/company/.env.production
@@ -1,10 +1,10 @@
# 鐢熶骇鐜閰嶇疆
NODE_ENV = 'production'
-VUE_APP_API_PREFIX = '/yyb_admin_api'
+VUE_APP_API_PREFIX = '/yyb_web_api'
# 骞冲彴绔�
-VUE_APP_API = 'https://dmtest.ahapp.net/yyb_admin_api/'
+# VUE_APP_API = 'https://dmtest.ahapp.net/yyb_admin_api/'
# 浼佷笟绔�
-# VUE_APP_API = 'https://dmtest.ahapp.net/yyb_web_api/'
+VUE_APP_API = 'https://dmtest.ahapp.net/yyb_web_api/'
diff --git a/company/src/assets/style/style.scss b/company/src/assets/style/style.scss
index 5a90314..44a053b 100644
--- a/company/src/assets/style/style.scss
+++ b/company/src/assets/style/style.scss
@@ -84,7 +84,7 @@
.du-status0 {
color: #216EEE !important;
}
- .apply-status1 , .apply-status4, .apply-status6, .apply-status7, .apply-status8,
+ .apply-status1 , .apply-status4, .apply-status6, .apply-status7, .apply-status8, .apply-status11,
.change-status3,.change-status4,.change-status5,.change-status8,
.settle-status1,
.tax-status2,
diff --git a/company/src/components/business/OperaInsuranceApplyWindow.vue b/company/src/components/business/OperaInsuranceApplyWindow.vue
index 591c714..37dbefb 100644
--- a/company/src/components/business/OperaInsuranceApplyWindow.vue
+++ b/company/src/components/business/OperaInsuranceApplyWindow.vue
@@ -41,7 +41,7 @@
<el-button v-if="model.status == 5" type="primary" @click="viewBaoxiandan">鏌ョ湅淇濋櫓鍗�</el-button>
<el-button v-if="model.status == 10" type="primary" @click="$refs.OperaInsuranceApplyCheckWindow.open('涓婁紶鎶曚繚鍗�',model,2)">涓婁紶鎶曚繚鍗�</el-button>
<el-button v-if="model.status == 3" type="primary" @click="$refs.OperaInsuranceApplyCheckWindow.open('涓婁紶淇濋櫓鍗�',model,3)">涓婁紶淇濋櫓鍗�</el-button>
- <el-button v-if="model.status == 6 || model.status == 7|| model.status == 8" type="primary" @click="$refs.OperaInsuranceApplyCheckWindow.open('椹冲洖閫�鍥炵敵璇�',model,5)">椹冲洖閫�鍥炵敵璇�</el-button>
+ <el-button v-if="model.status == 6 || model.status == 7|| model.status == 8 || model.status == 11" type="primary" @click="$refs.OperaInsuranceApplyCheckWindow.open('椹冲洖閫�鍥炵敵璇�',model,5)">椹冲洖閫�鍥炵敵璇�</el-button>
<el-button v-if="model.status == 0" type="primary" @click="$refs.InsuranceDetails.open('鎶曚繚瀹℃牳',model,1)">鎶曚繚瀹℃牳</el-button>
<el-button v-if="model.status != 5 && model.status != 4 && model.status != 1" type="danger" @click="$refs.OperaInsuranceApplyCheckWindow.open('閫�鍥炴姇淇�',model,1)">閫�鍥炴姇淇�</el-button>
<el-button v-if="model.status == 5" type="danger" @click="$refs.OperaInsuranceApplyCheckWindow.open('淇敼淇濋櫓鍗�',model,4)">淇敼淇濋櫓鍗�</el-button>
@@ -255,7 +255,7 @@
:key="Math.random()"
align="center"
prop="fee"
- label="宸蹭骇鐢熻垂鐢紙鍏冿級">
+ label="浜х敓璐圭敤">
</el-table-column>
</el-table>
<el-table
@@ -264,14 +264,15 @@
ref="table"
v-if="activeName === '1'"
style="width: 100%">
- <el-table-column label="搴忓彿"
- align="center">
+ <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">
+ 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>
@@ -576,6 +577,9 @@
} else {
this.formInline.applyStatus = ''
}
+ this.formInline.start = ''
+ this.formInline.startTimeE = ''
+ this.formInline.endTimeE = ''
this.list = []
this.list1 = []
this.list2 = []
@@ -597,19 +601,19 @@
changeStart(e) {
if (e.length > 0) {
this.formInline.startTimeS = e[0]
- this.formInline.endTimeS = e[1]
+ this.formInline.startTimeE = e[1]
} else {
this.formInline.startTimeS = ''
- this.formInline.endTimeS = ''
+ this.formInline.startTimeE = ''
}
this.search()
},
changeEnd(e) {
if (e.length > 0) {
- this.formInline.startTimeE = e[0]
+ this.formInline.endTimeS = e[0]
this.formInline.endTimeE = e[1]
} else {
- this.formInline.startTimeE = ''
+ this.formInline.endTimeS = ''
this.formInline.endTimeE = ''
}
this.search()
diff --git a/company/src/components/business/OperaSolutionsDescWindow.vue b/company/src/components/business/OperaSolutionsDescWindow.vue
index 1cefecd..c0d9bc0 100644
--- a/company/src/components/business/OperaSolutionsDescWindow.vue
+++ b/company/src/components/business/OperaSolutionsDescWindow.vue
@@ -3,7 +3,7 @@
:title="title"
width="50%"
text="淇敼"
- :visible="userInfo.type !== 1"
+ :withFooter="userInfo.type !== 1"
:visible.sync="visible"
:confirm-working="isWorking"
@confirm="$refs.operaSolutionsWindow.open('缂栬緫鏂规', form)"
diff --git a/company/src/components/business/detailsPolicyholder.vue b/company/src/components/business/detailsPolicyholder.vue
new file mode 100644
index 0000000..3fe84cd
--- /dev/null
+++ b/company/src/components/business/detailsPolicyholder.vue
@@ -0,0 +1,229 @@
+<template>
+ <GlobalWindow
+ :title="title"
+ width="100%"
+ :visible.sync="visible"
+ :confirm-working="isWorking"
+ @confirm="confirm"
+ >
+ <div class="box">
+ <div class="top">
+ {{title}}
+ </div>
+ <div class="box_table">
+ <div class="box_table_head">
+ <div class="box_table_head_item">鎶曚繚浼佷笟</div>
+ <div class="box_table_head_item">淇濋櫓鏂规</div>
+ <div class="box_table_head_item">淇濋櫓鐢熸晥璧锋湡</div>
+ <div class="box_table_head_item">淇濋櫓鐢熸晥姝㈡湡</div>
+ <div class="box_table_head_item">鎶曚繚浜烘暟</div>
+ <div class="box_table_head_item">鎬昏垂鐢�(鍏�)</div>
+ </div>
+ <div class="box_table_content " >
+ <div class="box_table_content_item box_table_content_header">{{ model.companyName }}</div>
+ <div class="box_table_content_item box_table_content_header">{{ model.solutionName }}</div>
+ <div class="box_table_content_item box_table_content_header">{{ model.applyStartTime }}</div>
+ <div class="box_table_content_item box_table_content_header">{{ model.applyEndTime }}</div>
+ <div class="box_table_content_item box_table_content_header">{{ model.insureNum }}</div>
+ <div class="box_table_content_item box_table_content_header">{{model.totalPrice}}</div>
+ </div>
+ </div>
+ <div class="box_table" v-if="model">
+ <div class="box_table_head">
+ <div class="box_table_head_item">搴忓彿</div>
+ <div class="box_table_head_item">鍛樺伐濮撳悕</div>
+ <div class="box_table_head_item">韬唤璇佸彿</div>
+ <div class="box_table_head_item">鎬у埆</div>
+ <div class="box_table_head_item">娲鹃仯鍗曚綅</div>
+ <div class="box_table_head_item">鎵�灞炲伐绉�</div>
+ </div>
+ <div class="box_table_content" v-for="(item, index) in model.detailList" :key="index">
+ <div class="box_table_content_item">{{index + 1}}</div>
+ <div class="box_table_content_item">{{ item.memberName }}</div>
+ <div class="box_table_content_item">{{ item.idCard }}</div>
+ <div class="box_table_content_item">{{ getGender(item.idCard) }}</div>
+ <div class="box_table_content_item">{{ item.duName }}</div>
+ <div class="box_table_content_item">{{ item.workTypeName}}</div>
+ </div>
+ </div>
+ </div>
+ <template v-slot:footer>
+ <el-button type="primary" @click="submit">纭畾</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'
+ export default {
+ name: 'InsuranceDetails',
+ extends: BaseOpera,
+ components: { GlobalWindow },
+ data () {
+ return {
+ model:{}
+ }
+ },
+ methods: {
+ open(title, target){
+ this.title = title
+ this.visible = true
+ this.model = target
+ },
+ submit() {
+ this.$emit('success')
+ this.visible = false
+ },
+ getGender(idCardNumber) {
+ // 浣跨敤姝e垯琛ㄨ揪寮忔彁鍙栬韩浠借瘉鍙风爜鐨勭17浣嶆暟瀛�
+ const genderCode = idCardNumber.substr(-2);
+
+ if (genderCode % 2 === 0) {
+ return '濂�';
+ } else {
+ return '鐢�';
+ }
+ },
+ }
+ }
+</script>
+
+<style lang="scss" scoped>
+ .box {
+ width: 100%;
+ .top{
+ width: 100%;
+ align-items: center;
+ flex-wrap: wrap;
+ border-top: 1px solid #b4bbc5;
+ border-left: 1px solid #b4bbc5;
+ font-size: 14px;
+ font-weight: bold;
+ text-align: center;
+ padding: 15px;
+ box-sizing: border-box;
+ }
+ .box_header {
+ width: 100%;
+ display: flex;
+ align-items: center;
+ flex-wrap: wrap;
+ border-top: 1px solid #b4bbc5;
+ border-left: 1px solid #b4bbc5;
+ .box_header_item {
+ width: 50%;
+ height: 50px;
+ display: flex;
+ align-items: center;
+ border-right: 1px solid #b4bbc5;
+ border-bottom: 1px solid #b4bbc5;
+ box-sizing: border-box;
+ .box_header_item_label {
+ flex: 1;
+ height: 100%;
+ display: flex;
+ align-items: center;
+ justify-content: center;
+ font-size: 14px;
+ color: black;
+ background: #f2f2f2;
+ border-right: 1px solid #b4bbc5;
+ }
+ .box_header_item_val {
+ flex: 1;
+ height: 100%;
+ display: flex;
+ align-items: center;
+ justify-content: center;
+ font-size: 14px;
+ color: black;
+ }
+ }
+ }
+ .box_table {
+ width: 100%;
+ border-top: 1px solid #b4bbc5;
+ border-left: 1px solid #b4bbc5;
+ box-sizing: border-box;
+ .box_table_head {
+ width: 100%;
+ display: flex;
+ align-items: center;
+ .box_table_head_item {
+ flex: 1;
+ height: 50px;
+ background: #f2f2f2;
+ display: flex;
+ align-items: center;
+ justify-content: center;
+ font-size: 14px;
+ color: black;
+ border-right: 1px solid #b4bbc5;
+ border-bottom: 1px solid #b4bbc5;
+ box-sizing: border-box;
+ &:nth-child(1) {
+ //flex: 0.5;
+ }
+ }
+ .box_table_head_item5 {
+ flex: 1;
+ height: 50px;
+ background: #f2f2f2;
+ display: flex;
+ align-items: center;
+ justify-content: center;
+ font-size: 14px;
+ color: black;
+ border-right: 1px solid #b4bbc5;
+ border-bottom: 1px solid #b4bbc5;
+ box-sizing: border-box;
+ &:nth-child(2) {
+ flex: 5;
+ }
+ }
+ .box_form_item {
+ flex: 1;
+ height: 50px;
+ background: #ffffff;
+ display: flex;
+ align-items: center;
+ justify-content: center;
+ font-size: 14px;
+ color: black;
+ border-right: 1px solid #b4bbc5;
+ border-bottom: 1px solid #b4bbc5;
+ box-sizing: border-box;
+ &:nth-child(1) {
+ //flex: 0.5;
+ }
+ }
+ }
+ .box_table_content {
+ width: 100%;
+ display: flex;
+ align-items: center;
+ .box_table_content_header{
+ border-bottom: 0px solid #b4bbc5 !important;
+ }
+ .box_table_content_item {
+ flex: 1;
+ height: 50px;
+ background: #ffffff;
+ display: flex;
+ align-items: center;
+ justify-content: center;
+ font-size: 14px;
+ color: black;
+ border-right: 1px solid #b4bbc5;
+ border-bottom: 1px solid #b4bbc5;
+ box-sizing: border-box;
+ &:nth-child(1) {
+ // flex: 0.5;
+ }
+ }
+ }
+ }
+ }
+</style>
diff --git a/company/src/components/enterprise/OperaDispatchUnitWindow.vue b/company/src/components/enterprise/OperaDispatchUnitWindow.vue
index 81e0e66..4f7bda4 100644
--- a/company/src/components/enterprise/OperaDispatchUnitWindow.vue
+++ b/company/src/components/enterprise/OperaDispatchUnitWindow.vue
@@ -10,9 +10,9 @@
<el-form-item label="娲鹃仯鍗曚綅鍚嶇О" prop="name">
<el-input v-model="form.name" placeholder="璇疯緭鍏�" v-trim/>
</el-form-item>
- <el-form-item label="娲鹃仯鍗曚綅淇$敤浠g爜" prop="code">
- <el-input v-model="form.code" placeholder="璇疯緭鍏�" v-trim/>
- </el-form-item>
+<!-- <el-form-item label="娲鹃仯鍗曚綅淇$敤浠g爜" prop="code">-->
+<!-- <el-input v-model="form.code" placeholder="璇疯緭鍏�" v-trim/>-->
+<!-- </el-form-item>-->
<el-form-item label="娲鹃仯鍗曚綅鎻忚堪" prop="content">
<el-input v-model="form.content" placeholder="璇疯緭鍏�" v-trim/>
</el-form-item>
@@ -130,12 +130,12 @@
name: [
{ required: true, message: '璇疯緭鍏ユ淳閬e崟浣嶅悕绉�' }
],
- code: [
- { required: true, message: '璇疯緭鍏ユ淳閬e崟浣嶄俊鐢ㄤ唬鐮�' }
- ],
- content: [
- { required: true, message: '璇疯緭鍏ユ淳閬e崟浣嶆弿杩�' }
- ]
+ // code: [
+ // { required: true, message: '璇疯緭鍏ユ淳閬e崟浣嶄俊鐢ㄤ唬鐮�' }
+ // ],
+ // content: [
+ // { required: true, message: '璇疯緭鍏ユ淳閬e崟浣嶆弿杩�' }
+ // ]
},
insuranceScheme: []
}
diff --git a/company/src/components/enterprise/OperaInsuranceApplyWindow.vue b/company/src/components/enterprise/OperaInsuranceApplyWindow.vue
index 9dbd1e4..6295d2b 100644
--- a/company/src/components/enterprise/OperaInsuranceApplyWindow.vue
+++ b/company/src/components/enterprise/OperaInsuranceApplyWindow.vue
@@ -138,6 +138,8 @@
<importEmployees ref="importEmployees" @result="getValue" />
<!-- 纭宸ョ -->
<confirmJobType ref="confirmJobType" @result="getUser" />
+ <!-- 鏌ョ湅璇﹀崟 -->
+ <detailsPolicyholder ref="detailsPolicyholder" @success="successEvent" />
</GlobalWindow>
</template>
@@ -148,12 +150,14 @@
import addEmployee from '@/components/enterprise/addEmployee'
import importEmployees from '@/components/enterprise/importEmployees'
import confirmJobType from '@/components/enterprise/confirmJobType'
+import detailsPolicyholder from '@/components/business/detailsPolicyholder'
import { all, getNewVersion } from '@/api/business/solutions'
+import { mapState } from 'vuex'
import { create, getCountCyclePriceVO, getDetail, findList, updateData } from '@/api/business/insuranceApply'
export default {
name: 'OperaInsuranceApplyWindow2',
extends: BaseOpera,
- components: { GlobalWindow, selectEmployees, addEmployee, importEmployees, confirmJobType },
+ components: { GlobalWindow, selectEmployees, addEmployee, importEmployees, confirmJobType, detailsPolicyholder },
data () {
return {
form: {
@@ -163,6 +167,7 @@
applyStartTime: '',
applyEndTime: ''
},
+ solutionName: '',
type: '',
pickerOptions: {}, // 瀛樻斁picker options鐨勫彉閲�
price: '',
@@ -187,7 +192,52 @@
'field.id': 'id'
})
},
+ computed: {
+ ...mapState(['userInfo'])
+ },
methods: {
+ successEvent() {
+ let arr = JSON.parse(JSON.stringify(this.tableData))
+ arr.forEach(item => {
+ item.idcardNo = item.idCard
+ })
+ this.isWorking = true
+ // if (!this.form.id) {
+ create({
+ applyDetailList: arr,
+ applyStartTime: this.form.applyStartTime,
+ applyEndTime: this.form.applyEndTime,
+ solutionId: this.form.solutionId
+ }).then(() => {
+ this.visible = false
+ this.$tip.apiSuccess('鎿嶄綔鎴愬姛')
+ this.$emit('success')
+ })
+ .catch(e => {
+ this.$tip.apiFailed(e)
+ })
+ .finally(() => {
+ this.isWorking = false
+ })
+ // } else {
+ // updateData({
+ // id: this.form.id,
+ // applyDetailList: arr,
+ // applyStartTime: this.form.applyStartTime,
+ // applyEndTime: this.form.applyEndTime,
+ // solutionId: this.form.solutionId
+ // }).then(() => {
+ // this.visible = false
+ // this.$tip.apiSuccess('鎿嶄綔鎴愬姛')
+ // this.$emit('success')
+ // }).catch(e => {
+ // this.$tip.apiFailed(e)
+ // })
+ // .finally(() => {
+ // this.isWorking = false
+ // })
+ // }
+ },
open (title, target) {
this.title = title
this.tableData = []
@@ -277,52 +327,68 @@
return
}
for (let i = 0; i < this.tableData.length; i++) {
- console.log(this.tableData[i].worktypeId, this.tableData[i].duId)
+ console.log(this.tableData[i].worktypeId)
+ console.log(this.tableData[i].duId)
if (!this.tableData[i].worktypeId || !this.tableData[i].duId) {
this.$message.warning('璇峰畬鍠勬淳閬e崟浣嶅拰宸ョ淇℃伅')
return
}
}
- let arr = JSON.parse(JSON.stringify(this.tableData))
- arr.forEach(item => {
- item.idcardNo = item.idCard
+
+ let price = 0
+ this.tableData.forEach(item => {
+ price = price + item.fee
})
- this.isWorking = true
- if (!this.form.id) {
- create({
- applyDetailList: arr,
- applyStartTime: this.form.applyStartTime,
- applyEndTime: this.form.applyEndTime,
- solutionId: this.form.solutionId
- }).then(() => {
- this.visible = false
- this.$tip.apiSuccess('鎿嶄綔鎴愬姛')
- this.$emit('success')
- })
- .catch(e => {
- this.$tip.apiFailed(e)
- })
- .finally(() => {
- this.isWorking = false
- })
- } else {
- updateData({
- id: this.form.id,
- applyDetailList: arr,
- applyStartTime: this.form.applyStartTime,
- applyEndTime: this.form.applyEndTime,
- solutionId: this.form.solutionId
- }).then(() => {
- this.visible = false
- this.$tip.apiSuccess('鎿嶄綔鎴愬姛')
- this.$emit('success')
- }).catch(e => {
- this.$tip.apiFailed(e)
- })
- .finally(() => {
- this.isWorking = false
- })
- }
+ this.$refs.detailsPolicyholder.open('鎶曚繚璇︽儏鍗�', {
+ companyName: this.userInfo.company.name,
+ solutionName: this.item.name,
+ applyStartTime: this.form.applyStartTime,
+ applyEndTime: this.form.applyEndTime,
+ insureNum: this.tableData.length,
+ totalPrice: price,
+ detailList: this.tableData
+ })
+
+ // let arr = JSON.parse(JSON.stringify(this.tableData))
+ // arr.forEach(item => {
+ // item.idcardNo = item.idCard
+ // })
+ // this.isWorking = true
+ // if (!this.form.id) {
+ // create({
+ // applyDetailList: arr,
+ // applyStartTime: this.form.applyStartTime,
+ // applyEndTime: this.form.applyEndTime,
+ // solutionId: this.form.solutionId
+ // }).then(() => {
+ // this.visible = false
+ // this.$tip.apiSuccess('鎿嶄綔鎴愬姛')
+ // this.$emit('success')
+ // })
+ // .catch(e => {
+ // this.$tip.apiFailed(e)
+ // })
+ // .finally(() => {
+ // this.isWorking = false
+ // })
+ // } else {
+ // updateData({
+ // id: this.form.id,
+ // applyDetailList: arr,
+ // applyStartTime: this.form.applyStartTime,
+ // applyEndTime: this.form.applyEndTime,
+ // solutionId: this.form.solutionId
+ // }).then(() => {
+ // this.visible = false
+ // this.$tip.apiSuccess('鎿嶄綔鎴愬姛')
+ // this.$emit('success')
+ // }).catch(e => {
+ // this.$tip.apiFailed(e)
+ // })
+ // .finally(() => {
+ // this.isWorking = false
+ // })
+ // }
}
})
@@ -386,7 +452,7 @@
this.$message.warning('璇峰厛閫夋嫨淇濋櫓鏂规')
return
}
- this.$refs.importEmployees.open('涓婁紶鍚嶅崟', { arr: this.tableData, price: this.price })
+ this.$refs.importEmployees.open('涓婁紶鍚嶅崟', { arr: this.tableData, solutionId: this.form.solutionId, type: 1, price: this.price })
},
// 鍒囨崲鏂规
changeSolution(e) {
diff --git a/company/src/components/enterprise/confirmJobType.vue b/company/src/components/enterprise/confirmJobType.vue
index f0f79ce..09b1325 100644
--- a/company/src/components/enterprise/confirmJobType.vue
+++ b/company/src/components/enterprise/confirmJobType.vue
@@ -65,7 +65,7 @@
getFindListByDTO () {
findListByDTO({
solutionId: this.form.solutionId,
- dataType: 0
+ // dataType: 0
}).then(res => {
this.dispatching = res
})
diff --git a/company/src/components/enterprise/dispatchUnitDetails.vue b/company/src/components/enterprise/dispatchUnitDetails.vue
index fab9807..ddeb6c6 100644
--- a/company/src/components/enterprise/dispatchUnitDetails.vue
+++ b/company/src/components/enterprise/dispatchUnitDetails.vue
@@ -12,10 +12,10 @@
<div class="info_list_item_label">娲鹃仯鍗曚綅锛�</div>
<div class="info_list_item_val">{{form.name}}</div>
</div>
- <div class="info_list_item">
- <div class="info_list_item_label">娲鹃仯鍗曚綅淇$敤浠g爜锛�</div>
- <div class="info_list_item_val">{{form.code}}</div>
- </div>
+<!-- <div class="info_list_item">-->
+<!-- <div class="info_list_item_label">娲鹃仯鍗曚綅淇$敤浠g爜锛�</div>-->
+<!-- <div class="info_list_item_val">{{form.code}}</div>-->
+<!-- </div>-->
<div class="info_list_item">
<div class="info_list_item_label">娲鹃仯鍗曚綅鐘舵�侊細</div>
<div class="info_list_item_val" style="color:#2E68EC;" v-if="form.unitStatus === 0">寰呭鏍�</div>
@@ -236,7 +236,7 @@
margin-bottom: 15px;
.info_list_item_label {
flex-shrink: 0;
- width: 150px;
+ /*width: 150px;*/
font-size: 14px;
color: black;
}
diff --git a/company/src/components/enterprise/importEmployees.vue b/company/src/components/enterprise/importEmployees.vue
index c06e9a6..72e8cb1 100644
--- a/company/src/components/enterprise/importEmployees.vue
+++ b/company/src/components/enterprise/importEmployees.vue
@@ -31,6 +31,8 @@
return {
list: [],
price: 0,
+ type: null,
+ solutionId: null,
addList: [],
fileName: ''
}
@@ -40,13 +42,20 @@
this.title = title
this.addList = []
this.fileName = ''
+ this.type = obj.type
this.visible = true
+ this.solutionId = obj.solutionId
this.list = obj.arr
this.price = obj.price
},
// 瀵煎嚭妯℃澘
exportTemplate () {
- window.open(process.env.VUE_APP_MEMBER_URL)
+ // 鎶曚繚鐢宠
+ if (this.type === 1) {
+ window.open(process.env.VUE_APP_MEMBER1_URL)
+ } else {
+ window.open(process.env.VUE_APP_MEMBER_URL)
+ }
},
clickRef () {
this.$refs.fileExcel.click()
@@ -54,6 +63,7 @@
result (e) {
const data = new FormData()
data.append('file', e.target.files[0])
+ data.append('solutionId', this.solutionId)
importExcel(data)
.then(res => {
res.forEach(item => {
diff --git a/company/src/components/enterprise/renewalInsurance.vue b/company/src/components/enterprise/renewalInsurance.vue
index bad4d11..6d7f44d 100644
--- a/company/src/components/enterprise/renewalInsurance.vue
+++ b/company/src/components/enterprise/renewalInsurance.vue
@@ -27,18 +27,25 @@
</template>
</el-table-column>
<el-table-column prop="insureNum" label="鎶曚繚浜烘暟"></el-table-column>
- <el-table-column prop="serviceDays" label="鎶曚繚鏃堕暱锛堝ぉ锛�"></el-table-column>
+ <el-table-column label="鎶曚繚鏃堕暱锛堝ぉ锛�">
+ <template slot-scope="{row}">
+ <span>{{row.serviceDays < 0 ? `-` : row.serviceDays}}</span>
+ </template>
+ </el-table-column>
<el-table-column prop="currentFee" label="宸蹭骇鐢熻垂鐢�"></el-table-column>
<el-table-column prop="fee" label="鎬昏垂鐢紙鍏冿級"></el-table-column>
- <el-table-column prop="checkDate" label="鎻愪氦鏃ユ湡"></el-table-column>
- <el-table-column prop="startTime" label="鎶曚繚鐢熸晥鏃ユ湡"></el-table-column>
- <el-table-column prop="endTime" label="鎶曚繚澶辨晥鏃ユ湡"></el-table-column>
+ <el-table-column prop="endTime" label="淇濋櫓鐢熸晥姝㈡湡"></el-table-column>
+ <el-table-column label="澶辨晥鍓╀綑锛堝ぉ锛�">
+ <template slot-scope="{row}">
+ <span style="color: #F95601;">{{row.loseEfficacyDays}}</span>
+ </template>
+ </el-table-column>
<el-table-column
- min-width="150"
+ min-width="100"
label="鎿嶄綔">
<template slot-scope="{row}">
<el-button type="text" @click="$refs.OperaInsuranceApply.open('缁繚', { id: row.id, type: 1 })">涓�浠剁画淇�</el-button>
- <el-button type="text" @click="dele(row)">鍒犻櫎鎻愰啋</el-button>
+<!-- <el-button type="text" @click="dele(row)">鍒犻櫎鎻愰啋</el-button>-->
</template>
</el-table-column>
</el-table>
@@ -94,24 +101,13 @@
capacity: 10,
page: this.currentPage,
model: {
- loseEfficacy: 1
+ loseEfficacy: 1,
+ status: 5
}
}).then(res => {
this.tableData = res.records
this.total = res.total
})
- },
- dele(row) {
- this.$confirm('纭畾鍏抽棴姝ゆ彁绀哄悧?', '鎻愮ず', {
- confirmButtonText: '纭畾',
- cancelButtonText: '鍙栨秷',
- type: 'warning'
- }).then(() => {
-
- }).catch(() => {
-
- });
- console.log(row)
},
successEvent(){
this.$emit('success')
diff --git a/company/src/layouts/AppLayout.vue b/company/src/layouts/AppLayout.vue
index f073fc6..43e3677 100644
--- a/company/src/layouts/AppLayout.vue
+++ b/company/src/layouts/AppLayout.vue
@@ -11,7 +11,7 @@
<AppHeader/>
</header>
<div style="height:10px;"></div>
- <main>
+ <main ref="containerS">
<transition name="fade">
<!-- <keep-alive>-->
<router-view></router-view>
@@ -29,19 +29,28 @@
import Header from '@/components/common/Header'
import CommonHeader from '@/components/common/CommonHeader'
import Menu from '@/components/common/Menu'
+import Watermark from "@/utils/waterMark";
export default {
name: 'DefaultLayout',
components: { AppHeader: Header, Menu, CommonHeader },
data() {
return {
- isFinishData: false
+ isFinishData: false,
+ orgBackground: ''
}
},
computed: {
...mapState(['menuData', 'userInfo'])
},
- methods: {
+ mounted() {
+ // 浼佷笟绔敤鎴疯缃按鍗�
+ if (this.userInfo.type === 1) {
+ Watermark.set(this.userInfo.company.name, this.$refs.containerS);
+ }
+ },
+
+ methods: {
},
}
@@ -99,6 +108,7 @@
}
& > main {
height: 100%;
+ box-sizing: border-box;
overflow-y: auto;
}
}
diff --git a/company/src/utils/waterMark.js b/company/src/utils/waterMark.js
new file mode 100644
index 0000000..a16cf6e
--- /dev/null
+++ b/company/src/utils/waterMark.js
@@ -0,0 +1,56 @@
+'use strict'
+const watermark = {}
+const setWatermark = (str, container) => {
+ const id = '1.23452384164.123412415'
+ if (container === undefined) {
+ return
+ }
+
+ // 鏌ョ湅椤甸潰涓婃湁娌℃湁锛屽鏋滄湁鍒欏垹闄�
+ if (document.getElementById(id) !== null) {
+ const childelement = document.getElementById(id)
+ childelement.parentNode.removeChild(childelement)
+ }
+ var containerWidth = container.offsetWidth // 鑾峰彇鐖跺鍣ㄥ
+ var containerHeight = container.offsetHeight // 鑾峰彇鐖跺鍣ㄩ珮
+ container.style.position = 'relative' // 璁剧疆甯冨眬涓虹浉瀵瑰竷灞�
+ // 鍒涘缓canvas鍏冪礌(鍏堝埗浣滀竴鍧楄儗鏅浘)
+ const can = document.createElement('canvas')
+ can.width = 300 // 璁剧疆姣忎竴鍧楃殑瀹藉害
+ can.height = 260 // 楂樺害
+ const cans = can.getContext('2d') // 鑾峰彇canvas鐢诲竷
+ cans.rotate(-20 * Math.PI / 180) // 閫嗘椂閽堟棆杞�/9
+ cans.font = '24px Vedana' // 璁剧疆瀛椾綋
+ cans.fillStyle = 'rgba(0, 0, 0, 0.1)' // 璁剧疆瀛椾綋鐨勯鑹�
+ cans.textAlign = 'left' // 鏂囨湰瀵归綈鏂瑰紡
+ cans.textBaseline = 'Middle' // 鏂囨湰鍩虹嚎
+ cans.fillText(str, 0, 4 * can.height / 5) // 缁樺埗鏂囧瓧
+ // 鍒涘缓涓�涓猟iv鍏冪礌
+ const div = document.createElement('div')
+ div.id = id // 璁剧疆id
+ div.style.pointerEvents = 'none' // 鍙栨秷鎵�鏈変簨浠�
+ div.style.top = '0px'
+ div.style.left = '0px'
+ div.style.position = 'absolute'
+ div.style.zIndex = '100000'
+ div.style.width = '100%'
+ // div.style.width = containerWidth + 'px'
+ div.style.height = containerHeight + 'px'
+ div.style.background = 'url(' + can.toDataURL('image/png') + ') left top repeat'
+ container.appendChild(div) // 杩藉姞鍒伴〉闈�
+ return id
+}
+// 璇ユ柟娉曞彧鍏佽璋冪敤涓�娆�
+watermark.set = (str, container) => {
+ let id = setWatermark(str, container)
+ setInterval(() => {
+ if (document.getElementById(id) === null) {
+ id = setWatermark(str, container)
+ }
+ }, 500)
+ // 鐩戝惉椤甸潰澶у皬鐨勫彉鍖�
+ window.onresize = () => {
+ setWatermark(str, container)
+ }
+}
+export default watermark
diff --git a/company/src/views/business/insuranceApply.vue b/company/src/views/business/insuranceApply.vue
index ac5716b..361228f 100644
--- a/company/src/views/business/insuranceApply.vue
+++ b/company/src/views/business/insuranceApply.vue
@@ -18,9 +18,9 @@
<el-select v-model="searchForm.companyId" placeholder="璇烽�夋嫨" @change="search">
<el-option
v-for="item in companyList"
- :key="item.baseId"
+ :key="item.id"
:label="item.name"
- :value="item.baseId">
+ :value="item.id">
</el-option>
</el-select>
</el-form-item>
diff --git a/company/src/views/business/solutions.vue b/company/src/views/business/solutions.vue
index e8fbcc0..03873fc 100644
--- a/company/src/views/business/solutions.vue
+++ b/company/src/views/business/solutions.vue
@@ -67,6 +67,7 @@
</el-switch>
</template>
</el-table-column>
+ <el-table-column prop="createDate" label="鏂规鏃ユ湡" min-width="100px"></el-table-column>
<el-table-column
v-if="containPermissions(['business:solutions:update', 'business:solutions:delete'])"
label="鎿嶄綔"
diff --git a/company/src/views/enterprise/insuranceApply.vue b/company/src/views/enterprise/insuranceApply.vue
index 617c916..f2df5a6 100644
--- a/company/src/views/enterprise/insuranceApply.vue
+++ b/company/src/views/enterprise/insuranceApply.vue
@@ -62,7 +62,11 @@
</el-table-column>
<el-table-column prop="solutionsName" label="淇濋櫓鏂规"></el-table-column>
<el-table-column prop="insureNum" label="鎶曚繚浜烘暟"></el-table-column>
- <el-table-column prop="serviceDays" label="鎶曚繚鏃堕暱锛堝ぉ锛�"></el-table-column>
+ <el-table-column label="鎶曚繚鏃堕暱锛堝ぉ锛�">
+ <template slot-scope="{row}">
+ <span>{{(row.serviceDays - row.loseEfficacyDays) < 0 ? `-` : row.serviceDays - row.loseEfficacyDays}}</span>
+ </template>
+ </el-table-column>
<el-table-column prop="fee" label="鎬昏垂鐢紙鍏冿級"></el-table-column>
<el-table-column prop="checkDate" label="鎻愪氦鏃ユ湡"></el-table-column>
<el-table-column prop="startTime" label="鎶曚繚鐢熸晥鏃ユ湡"></el-table-column>
diff --git a/company/src/views/enterprise/myPolicy.vue b/company/src/views/enterprise/myPolicy.vue
index c87b329..887b8c7 100644
--- a/company/src/views/enterprise/myPolicy.vue
+++ b/company/src/views/enterprise/myPolicy.vue
@@ -93,7 +93,11 @@
</template>
</el-table-column>
<el-table-column prop="insureNum" label="鎶曚繚浜烘暟"></el-table-column>
- <el-table-column prop="serviceDays" label="鎶曚繚鏃堕暱锛堝ぉ锛�"></el-table-column>
+ <el-table-column label="鎶曚繚鏃堕暱锛堝ぉ锛�">
+ <template slot-scope="{row}">
+ <span>{{(row.serviceDays - row.loseEfficacyDays) < 0 ? `-` : row.serviceDays - row.loseEfficacyDays}}</span>
+ </template>
+ </el-table-column>
<el-table-column prop="currentFee" label="宸蹭骇鐢熻垂鐢�"></el-table-column>
<el-table-column prop="fee" label="鎬昏垂鐢紙鍏冿級"></el-table-column>
<el-table-column prop="checkDate" label="鎻愪氦鏃ユ湡"></el-table-column>
@@ -107,9 +111,9 @@
>
<template slot-scope="{row}">
<el-button type="text" @click="$refs.OperaInsuranceApplyDetails.open('鎶曚繚璇︽儏', { id: row.id })" 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>
+<!-- <template v-if="row.statusCollect === 2">-->
+<!-- <el-button type="text" @click="$refs.additionSubtractionApplication.open('鍔犲噺淇濈敵璇�', { id: row.id })">鍔犲噺淇濈敵璇�</el-button>-->
+<!-- </template>-->
</template>
</el-table-column>
</el-table>
diff --git a/company/vue.config.js b/company/vue.config.js
index f283dfd..c8c48d1 100644
--- a/company/vue.config.js
+++ b/company/vue.config.js
@@ -3,7 +3,7 @@
// const outputDir = process.env.VUE_APP_CONTEXT_PATH.substring(1, process.env.VUE_APP_CONTEXT_PATH.length)
module.exports = {
publicPath: './',
- outputDir: 'yyb_admin',
+ outputDir: 'yyb_web',
assetsDir: 'static',
lintOnSave: false,
devServer: {
diff --git a/platform/src/layouts/AppLayout.vue b/platform/src/layouts/AppLayout.vue
index f073fc6..43e3677 100644
--- a/platform/src/layouts/AppLayout.vue
+++ b/platform/src/layouts/AppLayout.vue
@@ -11,7 +11,7 @@
<AppHeader/>
</header>
<div style="height:10px;"></div>
- <main>
+ <main ref="containerS">
<transition name="fade">
<!-- <keep-alive>-->
<router-view></router-view>
@@ -29,19 +29,28 @@
import Header from '@/components/common/Header'
import CommonHeader from '@/components/common/CommonHeader'
import Menu from '@/components/common/Menu'
+import Watermark from "@/utils/waterMark";
export default {
name: 'DefaultLayout',
components: { AppHeader: Header, Menu, CommonHeader },
data() {
return {
- isFinishData: false
+ isFinishData: false,
+ orgBackground: ''
}
},
computed: {
...mapState(['menuData', 'userInfo'])
},
- methods: {
+ mounted() {
+ // 浼佷笟绔敤鎴疯缃按鍗�
+ if (this.userInfo.type === 1) {
+ Watermark.set(this.userInfo.company.name, this.$refs.containerS);
+ }
+ },
+
+ methods: {
},
}
@@ -99,6 +108,7 @@
}
& > main {
height: 100%;
+ box-sizing: border-box;
overflow-y: auto;
}
}
--
Gitblit v1.9.3