From 3d6a8e384d31432a23f5a8c1a3135a58cbe617b5 Mon Sep 17 00:00:00 2001
From: jiangping <jp@doumee.com>
Date: 星期二, 27 五月 2025 17:25:38 +0800
Subject: [PATCH] 提交一把
---
company/src/components/enterprise/onlineReporting.vue | 716 +++++++++++----------
log/web/error.2025-05-27.0.log | 0
company/src/components/business/tagLibrary.vue | 106 +-
company/src/components/business/OperaSettleClaimsCheckWindow.vue | 2
company/src/components/business/OperaSolutionsBaseWindow.vue | 10
company/src/views/business/settleClaims.vue | 15
company/src/components/business/OperaSettleClaimsWindow.vue | 455 +++++++------
log/web/info.2025-05-27.0.log | 37 +
company/src/views/business/knowledge.vue | 148 ++-
company/src/components/business/caseProgress.vue | 4
server/service/src/main/java/com/doumee/service/business/impl/LabelsServiceImpl.java | 1
company/src/components/common/previewArea.vue | 19
company/src/components/business/OperaKnowledgeWindow.vue | 278 +++++---
company/src/views/business/riskReminder.vue | 113 +-
14 files changed, 1,056 insertions(+), 848 deletions(-)
diff --git a/company/src/components/business/OperaKnowledgeWindow.vue b/company/src/components/business/OperaKnowledgeWindow.vue
index 8cdec25..9674a72 100644
--- a/company/src/components/business/OperaKnowledgeWindow.vue
+++ b/company/src/components/business/OperaKnowledgeWindow.vue
@@ -15,22 +15,42 @@
<el-select v-model="form.labelsArr" style="width: 100%;" @change="changeLabel" multiple placeholder="璇烽�夋嫨">
<el-option
v-for="item in cateList"
- :key="item.id"
+ :key="item.name"
:label="item.name"
- :value="item.id">
+ :value="item.name">
</el-option>
</el-select>
<el-button size="medium" style="margin-left: 15px;" @click="$refs.tagLibrary.open('鏍囩搴�')">鏍囩搴�</el-button>
</div>
</el-form-item>
- <el-form-item label="鍦板尯" prop="area">
+ <el-form-item label="鐪佷唤" prop="provinceId">
+ <el-select v-model="form.provinceId" filterable @change="changeProvince" placeholder="璇烽�夋嫨">
+ <el-option
+ v-for="item in areas"
+ :key="item.id"
+ :label="item.name"
+ :value="item.id">
+ </el-option>
+ </el-select>
+ </el-form-item>
+ <el-form-item label="鍩庡競" prop="cityId">
+ <el-select v-model="form.cityId" clearablefilterable placeholder="璇烽�夋嫨">
+ <el-option
+ v-for="item in citys"
+ :key="item.id"
+ :label="item.name"
+ :value="item.id">
+ </el-option>
+ </el-select>
+ </el-form-item>
+<!-- <el-form-item label="鍦板尯" prop="area">
<el-cascader
v-model="form.area"
:options="area"
@change="changeArea"
:props="{ label: 'name', children: 'childAreasList', value: 'id' }" />
- </el-form-item>
- <el-form-item label="骞翠唤" prop="yearInfo">
+ </el-form-item>-->
+ <el-form-item label="骞翠唤" prop="yearInfo" >
<el-date-picker
v-model="form.yearInfo"
type="year"
@@ -48,118 +68,140 @@
</template>
<script>
- import BaseOpera from '@/components/base/BaseOpera'
- import GlobalWindow from '@/components/common/GlobalWindow'
- import TagLibrary from '@/components/business/tagLibrary'
- import { findTreeList, list } from '@/api/business/knowledge'
- export default {
- name: 'OperaKnowledgeWindow',
- extends: BaseOpera,
- components: { GlobalWindow, TagLibrary },
- data () {
- return {
- // 琛ㄥ崟鏁版嵁
- form: {
- id: null,
- provinceId: '',
- cityId: '',
- title: '',
- link: '',
- labels: '',
- yearInfo: '',
- area: [],
- labelsArr: []
- },
- // 楠岃瘉瑙勫垯
- rules: {
- title: [
- { required: true, message: '璇疯緭鍏ュ唴瀹�', trigger: 'blur' }
- ],
- link: [
- { required: true, message: '璇疯緭鍏ュ唴瀹�', trigger: 'blur' }
- ]
- },
- area: [],
- cateList: []
- }
- },
- created () {
- this.config({
- api: '/business/knowledge',
- 'field.id': 'id'
- })
-
- },
- methods: {
- changeLabel(e) {
- this.form.labels = e.join(',')
- },
- changeArea(e) {
- if (e.length === 0) return
- if (e.length === 1) {
- this.form.provinceId = e[0]
- } else if (e.length === 2) {
- this.form.provinceId = e[0]
- this.form.cityId = e[1]
- }
- },
- open (title, target) {
- this.getLabel()
- this.getCityTree()
- this.title = title
- this.visible = true
- // 鏂板缓
- if (target == null) {
- this.$nextTick(() => {
- this.$refs.form.resetFields()
- this.form[this.configData['field.id']] = null
- })
- return
- }
- // 缂栬緫
- this.$nextTick(() => {
- for (const key in this.form) {
- this.form[key] = target[key]
- }
- if (this.form.labels) {
- this.form.labelsArr = this.form.labels.split(',').map(item => Number(item))
- }
- if (this.form.provinceId && this.form.cityId) {
- this.form.area = [this.form.provinceId, this.form.cityId]
- } else if (this.form.provinceId && !this.form.cityId) {
- this.form.area = [this.form.provinceId]
- }
- })
- },
- async getLabel() {
- this.cateList = await list()
- },
- async getCityTree() {
- this.area = await findTreeList({})
- this.setSecondLevelChildrenToNullPrecise(this.area);
- this.area.forEach(item => {
- if (item.childAreasList.length === 0) {
- item.childAreasList = null
- }
- })
- },
- setSecondLevelChildrenToNullPrecise(data, level = 1) {
- if (!data || !data.length) return;
-
- data.forEach(item => {
- if (item.childAreasList && item.childAreasList.length) {
- if (level === 1) {
- // 杩欐槸绗竴绾ц妭鐐癸紝澶勭悊鍏跺瓙鑺傜偣锛堢浜岀骇锛�
- item.childAreasList.forEach(child => {
- child.childAreasList = null;
- });
- } else {
- // 缁х画閫掑綊澶勭悊鏇存繁灞傜骇
- this.setSecondLevelChildrenToNullPrecise(item.childAreasList, level + 1);
- }
- }
- });
- }
- }
+import BaseOpera from '@/components/base/BaseOpera'
+import GlobalWindow from '@/components/common/GlobalWindow'
+import TagLibrary from '@/components/business/tagLibrary'
+import { findTreeList, list } from '@/api/business/knowledge'
+export default {
+ name: 'OperaKnowledgeWindow',
+ extends: BaseOpera,
+ components: { GlobalWindow, TagLibrary },
+ data () {
+ return {
+ // 琛ㄥ崟鏁版嵁
+ form: {
+ id: null,
+ provinceId: '',
+ cityId: '',
+ title: '',
+ link: '',
+ labels: '',
+ yearInfo: '',
+ area: [],
+ labelsArr: []
+ },
+ areas: [],
+ citys: [],
+ // 楠岃瘉瑙勫垯
+ rules: {
+ title: [
+ { required: true, message: '璇疯緭鍏ュ唴瀹�', trigger: 'blur' }
+ ],
+ yearInfo: [
+ { required: true, message: '璇烽�夋嫨骞翠唤', trigger: 'blur' }
+ ],
+ labelsArr: [
+ { required: true, message: '璇烽�夋嫨琛ㄦ儏', trigger: 'blur' }
+ ],
+ provinceId: [
+ { required: true, message: '璇烽�夋嫨鐪佷唤', trigger: 'blur' }
+ ],
+ link: [
+ { required: true, message: '璇疯緭鍏ュ唴瀹�', trigger: 'blur' }
+ ]
+ },
+ area: [],
+ cateList: []
}
+ },
+ created () {
+ this.config({
+ api: '/business/knowledge',
+ 'field.id': 'id'
+ })
+ },
+ methods: {
+ changeLabel (e) {
+ this.form.labels = e.join(',')
+ },
+ changeArea (e) {
+ if (e.length === 0) return
+ if (e.length === 1) {
+ this.form.provinceId = e[0]
+ } else if (e.length === 2) {
+ this.form.provinceId = e[0]
+ this.form.cityId = e[1]
+ }
+ },
+ changeProvince (e) {
+ this.citys = []
+ this.form.cityId=null
+ this.areas.forEach(item => {
+ if (item.id === this.form.provinceId) {
+ this.citys = item.childAreasList || []
+ }
+ })
+ },
+ open (title, target) {
+ this.getLabel()
+ this.getCityTreeList()
+ this.title = title
+ this.visible = true
+ // 鏂板缓
+ if (target == null) {
+ this.$nextTick(() => {
+ this.$refs.form.resetFields()
+ this.form[this.configData['field.id']] = null
+ })
+ return
+ }
+ // 缂栬緫
+ this.$nextTick(() => {
+ for (const key in this.form) {
+ this.form[key] = target[key]
+ }
+ if (this.form.labels) {
+ this.form.labelsArr = this.form.labels.split(',')
+ }
+ if (this.form.provinceId && this.form.cityId) {
+ this.form.area = [this.form.provinceId, this.form.cityId]
+ } else if (this.form.provinceId && !this.form.cityId) {
+ this.form.area = [this.form.provinceId]
+ }
+ })
+ },
+ async getLabel () {
+ this.cateList = await list()
+ },
+ async getCityTreeList () {
+ this.areas = await findTreeList({})
+ },
+ async getCityTree () {
+ this.area = await findTreeList({})
+ this.setSecondLevelChildrenToNullPrecise(this.area)
+ this.area.forEach(item => {
+ if (item.childAreasList.length === 0) {
+ item.childAreasList = null
+ }
+ })
+ },
+ setSecondLevelChildrenToNullPrecise (data, level = 1) {
+ if (!data || !data.length) return
+
+ data.forEach(item => {
+ if (item.childAreasList && item.childAreasList.length) {
+ if (level === 1) {
+ // 杩欐槸绗竴绾ц妭鐐癸紝澶勭悊鍏跺瓙鑺傜偣锛堢浜岀骇锛�
+ item.childAreasList.forEach(child => {
+ child.childAreasList = null
+ })
+ } else {
+ // 缁х画閫掑綊澶勭悊鏇存繁灞傜骇
+ this.setSecondLevelChildrenToNullPrecise(item.childAreasList, level + 1)
+ }
+ }
+ })
+ }
+ }
+}
</script>
diff --git a/company/src/components/business/OperaSettleClaimsCheckWindow.vue b/company/src/components/business/OperaSettleClaimsCheckWindow.vue
index e1b41a1..cb869dc 100644
--- a/company/src/components/business/OperaSettleClaimsCheckWindow.vue
+++ b/company/src/components/business/OperaSettleClaimsCheckWindow.vue
@@ -296,7 +296,7 @@
</script>
<style>
.v-modal {
- z-index: 2000 !important;
+ // z-index: 2000 !important;
}
</style>
<style lang="scss" scoped>
diff --git a/company/src/components/business/OperaSettleClaimsWindow.vue b/company/src/components/business/OperaSettleClaimsWindow.vue
index 64359a7..01294b9 100644
--- a/company/src/components/business/OperaSettleClaimsWindow.vue
+++ b/company/src/components/business/OperaSettleClaimsWindow.vue
@@ -22,7 +22,7 @@
<div class="box_dk" v-if="[13].includes(info.status)">
<div class="box_dk_title">
<i class="el-icon-success"></i>
- <span>宸叉墦娆�</span>
+ <span style="font-weight: bold">宸叉墦娆�</span>
</div>
<div class="box_dk_list">
<div class="box_dk_list_row">
@@ -161,7 +161,7 @@
<div class="box_desc_title">
<span class="box_desc_title_val">鎶ユ璇︽儏</span>
<div class="box_desc_title_zt" v-if="info.statusName">{{info.statusName}}</div>
- <div class="box_desc_title_tips" v-if="info.isRisk === 1">
+ <div class="box_desc_title_tips" @click="$refs.riskCaseReminder.open('椋庨櫓妗堜欢鎻愰啋', info.riskContent)" v-if="info.isRisk === 1">
<i class="el-icon-warning"></i>
<span>椋庨櫓妗堜欢</span>
</div>
@@ -183,7 +183,7 @@
<el-button type="primary" @click="register" v-if="[1,2].includes(info.status)">绔嬫</el-button>
<el-button type="primary" @click="$refs.acceptance.open('妗堜欢鍙楃悊', info.id)" v-if="[3,5].includes(info.status)">鍙楃悊</el-button>
<el-button type="primary" @click="addRemark" v-if="![0,1,2,4,13,14].includes(info.status)">澶囨敞</el-button>
- <el-button type="primary" @click="addReport(1)" v-if="[3].includes(info.status) && info.reportNumStatus === 0">娣诲姞鎶ユ鍙�</el-button>
+ <el-button type="primary" @click="addReport(1)" v-if="[3,7,9].includes(info.status) && info.reportNumStatus === 0">娣诲姞鎶ユ鍙�</el-button>
<el-button type="primary" @click="addReport(2)" v-if="[9].includes(info.status) && info.reportNumStatus === 1">缂栬緫鎶ユ鍙�</el-button>
<el-button type="primary" @click="$refs.adjustment.open('鐞嗙畻', info.id, 1)" v-if="[9].includes(info.status)">鐞嗙畻</el-button>
<el-button type="primary" @click="$refs.adjustment.open('閲嶆柊鐞嗙畻', info.id, 1)" v-if="[10].includes(info.status)">閲嶆柊鐞嗙畻</el-button>
@@ -193,7 +193,7 @@
<el-button type="primary" @click="supplementaryMaterials" v-if="[9].includes(info.status)">琛ュ厖鏉愭枡</el-button>
<el-button type="primary" @click="$refs.additionMaterial_ba.open('娣诲姞鏉愭枡', info.id)" v-if="[9,10].includes(info.status)">娣诲姞鏉愭枡</el-button>
</template>
- <el-button icon="el-icon-refresh-left" type="primary" circle @click="$refs.caseProgress.open('妗堜欢杩涘害', info.settleClaimsLogList)" v-if="![0,13,14].includes(info.status)"></el-button>
+ <el-button icon="el-icon-refresh-left" type="primary" title="鏌ョ湅妗堜欢杩涘害" circle @click="$refs.caseProgress.open('妗堜欢杩涘害', info.settleClaimsLogList)" v-if="![0].includes(info.status)"></el-button>
</div>
</div>
<div class="box_desc_list">
@@ -210,18 +210,18 @@
鎶ユ浜猴細{{info.informantName}}
</div>
<div class="box_desc_list_row">
- 鎶ユ浜鸿仈绯绘柟寮忥細{{info.informantPhone}}
+ 鎶ユ浜鸿仈绯绘柟寮忥細{{info.informantPhone}}
</div>
<div class="box_desc_list_zw"></div>
</div>
</div>
- <div class="box_fx" v-if="info.isRisk === 1">
+ <div class="box_fx" v-if="info.isRisk === 1 && showIsRisk ===true ">
<div class="box_fx_left">
<i class="el-icon-warning"></i>
<span class="box_fx_left_a">娉ㄦ剰锛岃妗堜欢鏈墈{info.riskContent.length}}鏉¢闄╀俊鎭�</span>
<span class="box_fx_left_b" @click="$refs.riskCaseReminder.open('椋庨櫓妗堜欢鎻愰啋', info.riskContent)">鏌ョ湅璇︽儏</span>
</div>
- <i class="el-icon-close" @click="info.isRisk = 0"></i>
+ <i class="el-icon-close" @click="closeRiskTip"></i>
</div>
<div class="box_desc">
<div class="box_desc_head">
@@ -240,7 +240,7 @@
鍑洪櫓浜哄鍚嶏細{{info.memberName}}
</div>
<div class="box_desc_list_row">
- 鍑洪櫓浜鸿韩浠借瘉鍙凤細{{info.memberIdcard}}
+ 鍑洪櫓浜鸿韩浠借瘉鍙凤細{{info.idcardNo}}
</div>
<div style="width: 33%; height: 0;"></div>
</div>
@@ -281,7 +281,10 @@
浜嬫晠绫诲瀷锛歿{returnType(info.type)}}
</div>
<div class="box_desc_list_row">
- 鏄惁鏈夊尰鐤椾繚闄╋細{{returnName(info.medicalInsurance)}}
+ 鏄惁浼ゆ畫锛歿{returnName(info.hurtType)}}
+ </div>
+ <div class="box_desc_list_row">
+ 鏄惁鏈夊尰淇濓細{{returnName(info.medicalInsurance)}}
</div>
<div class="box_desc_list_row">
灏辫瘖绫诲瀷锛歿{returnInHospital(info.inHospital)}}
@@ -358,7 +361,7 @@
<span>琛ュ厖鏉愭枡</span>
</div>
<div class="box_desc_cailiao_list">
- <PreviewArea :list="info.supplementFileList || []" />
+ <PreviewArea :list="info.supplementFileList || []" />
</div>
</div>
</div>
@@ -387,12 +390,13 @@
import GlobalWindow from '@/components/common/GlobalWindow'
import { findById, returnSettle } from '@/api/business/settleClaims'
import {
- register,
- addReportNum,
- addRemark,
- saveSupplementDescribe,
- updCaseType,
- confirmFee } from '@/api/business/settleRisk'
+ register,
+ addReportNum,
+ addRemark,
+ saveSupplementDescribe,
+ updCaseType,
+ confirmFee
+} from '@/api/business/settleRisk'
import RiskCaseReminder from '@/components/business/riskCaseReminder'
import CaseProgress from '@/components/business/caseProgress'
import Acceptance from '@/components/business/acceptance'
@@ -410,8 +414,9 @@
components: { GlobalWindow, MakePayment, PreviewArea, PaymentInformation, CompensationDetails, RiskCaseReminder, CaseProgress, Acceptance, AdditionMaterial_ba, adjustment },
data () {
return {
- info: null,
- id: null
+ info: null,
+ id: null,
+ showIsRisk: true
}
},
computed: {
@@ -424,206 +429,244 @@
})
},
methods: {
- open (title, id) {
- this.title = title
- this.id = id
+ open (title, id) {
+ this.title = title
+ this.id = id
+ this.getDetail()
+ },
+ closeRiskTip(){
+ this.showIsRisk= false
+ },
+ setCaseType (e) {
+ updCaseType({ id: this.id, caseType: e })
+ .then(res => {
this.getDetail()
- },
- setCaseType(e) {
- updCaseType({ id: this.id, caseType: e })
- .then(res => {
- this.getDetail()
- })
- },
- supplementaryMaterials() {
- this.$prompt('琛ュ厖璇存槑', '琛ュ厖鏉愭枡', {
- confirmButtonText: '鎻愪氦',
- cancelButtonText: '鍙栨秷',
- inputPattern: /^(?:.|\n)+$/,
- inputErrorMessage: '琛ュ厖璇存槑涓嶈兘涓虹┖锛�',
- beforeClose: (action, instance, done) => {
- if (action === 'confirm') {
- instance.confirmButtonLoading = true;
- saveSupplementDescribe({ id: this.id, describe: instance.inputValue })
- .finally(() => {
- done();
- instance.confirmButtonLoading = false;
- })
- } else {
- done();
- }
- }
- }).then(({ value }) => {
- this.getDetail()
- }).catch(() => {
+ })
+ },
+ supplementaryMaterials () {
+ this.$prompt('琛ュ厖璇存槑', '琛ュ厖鏉愭枡', {
+ confirmButtonText: '鎻愪氦',
+ cancelButtonText: '鍙栨秷',
+ inputType: 'textarea',
+ inputPattern: /^(?:.|\n)+$/,
+ inputErrorMessage: '琛ュ厖璇存槑涓嶈兘涓虹┖锛�',
+ beforeClose: (action, instance, done) => {
+ if (action === 'confirm') {
+ instance.confirmButtonLoading = true
+ saveSupplementDescribe({ id: this.id, describe: instance.inputValue })
+ .then((res) => {
+ done()
+ })
+ .catch((data) => {
+ this.$message.error(data.message)
+ })
+ .finally(() => {
+ instance.confirmButtonLoading = false
+ })
+ } else {
+ done()
+ }
+ }
+ }).then(({ value }) => {
+ this.getDetail()
+ }).catch(() => {
- });
- },
- addRemark() {
- this.$prompt('澶囨敞', '娣诲姞澶囨敞', {
- confirmButtonText: '娣诲姞',
- cancelButtonText: '鍙栨秷',
- inputPattern: /^(?:.|\n)+$/,
- inputErrorMessage: '澶囨敞涓嶈兘涓虹┖锛�',
- beforeClose: (action, instance, done) => {
- if (action === 'confirm') {
- instance.confirmButtonLoading = true;
- addRemark({ id: this.id, describe: instance.inputValue })
- .finally(() => {
- done();
- instance.confirmButtonLoading = false;
- })
- } else {
- done();
- }
- }
- }).then(({ value }) => {
- this.getDetail()
- }).catch(() => {
+ })
+ },
+ addRemark () {
+ this.$prompt('澶囨敞', '娣诲姞澶囨敞', {
+ confirmButtonText: '娣诲姞',
+ cancelButtonText: '鍙栨秷',
+ inputType: 'textarea',
+ inputPattern: /^(?:.|\n)+$/,
+ inputErrorMessage: '澶囨敞涓嶈兘涓虹┖锛�',
+ beforeClose: (action, instance, done) => {
+ if (action === 'confirm') {
+ instance.confirmButtonLoading = true
+ addRemark({ id: this.id, describe: instance.inputValue })
+ .then((res) => {
+ done()
+ })
+ .catch((data) => {
+ this.$message.error(data.message)
+ })
+ .finally(() => {
+ instance.confirmButtonLoading = false
+ })
+ } else {
+ done()
+ }
+ }
+ }).then(({ value }) => {
+ this.getDetail()
+ }).catch(() => {
- });
- },
- addReport(type) {
- this.$prompt(`鎶ユ鍙穈, `${type === 1 ? '娣诲姞鎶ユ鍙�' : '缂栬緫鎶ユ鍙�'}`, {
- confirmButtonText: '娣诲姞',
- cancelButtonText: '鍙栨秷',
- inputPattern: /^(?:.|\n)+$/,
- inputErrorMessage: '鎶ユ鍙蜂笉鑳戒负绌猴紒',
- beforeClose: (action, instance, done) => {
- if (action === 'confirm') {
- instance.confirmButtonLoading = true;
- addReportNum({ id: this.id, reportNum: instance.inputValue })
- .finally(() => {
- done();
- instance.confirmButtonLoading = false;
- })
- } else {
- done();
- }
- }
- }).then(({ value }) => {
- this.getDetail()
- }).catch(() => {
-
- });
- },
- register() {
- this.$prompt('绔嬫璇存槑', '绔嬫', {
- confirmButtonText: '纭畾',
- cancelButtonText: '鍙栨秷',
- beforeClose: (action, instance, done) => {
- if (action === 'confirm') {
- instance.confirmButtonLoading = true;
- register({ id: this.id, describe: instance.inputValue, registerStatus: 3 })
- .finally(() => {
- done();
- instance.confirmButtonLoading = false;
- })
- } else {
- done();
- }
- }
- }).then(({ value }) => {
- this.getDetail()
- }).catch(() => {
-
- });
- },
- returnCase() {
- this.$prompt('閫�鍥炶鏄�', '閫�鍥�', {
- confirmButtonText: '纭畾',
- cancelButtonText: '鍙栨秷',
- inputPattern: /^(?:.|\n)+$/,
- inputErrorMessage: '閫�鍥炶鏄庝笉鑳戒负绌猴紒',
- beforeClose: (action, instance, done) => {
- if (action === 'confirm') {
- instance.confirmButtonLoading = true;
- register({ id: this.id, describe: instance.inputValue, registerStatus: 4 })
- .finally(() => {
- done();
- instance.confirmButtonLoading = false;
- })
- } else {
- done();
- }
- }
- }).then(({ value }) => {
- this.getDetail()
- }).catch(() => {
-
- });
- },
- getDetail() {
- findById(this.id)
- .then(res => {
- res.riskContent = JSON.parse(res.riskContent)
- this.info = res
- this.visible = true
+ })
+ },
+ addReport (type) {
+ this.$prompt('鎶ユ鍙�', `${type === 1 ? '娣诲姞鎶ユ鍙�' : '缂栬緫鎶ユ鍙�'}`, {
+ confirmButtonText: '娣诲姞',
+ cancelButtonText: '鍙栨秷',
+ inputPattern: /^(?:.|\n)+$/,
+ inputErrorMessage: '鎶ユ鍙蜂笉鑳戒负绌猴紒',
+ beforeClose: (action, instance, done) => {
+ if (action === 'confirm') {
+ instance.confirmButtonLoading = true
+ addReportNum({ id: this.id, reportNum: instance.inputValue })
+ .then((res) => {
+ done()
})
- },
- // 鎾ら攢
- revoke(id) {
- this.$confirm('鎾ら攢鍚庯紝妗堜欢鐩存帴缁撴潫锛屾棤娉曠户缁繘琛岀悊璧旀搷浣滐紒', '鏄惁鎾ら攢鎶ユ锛�', {
- confirmButtonText: '纭畾鎾ら攢',
- cancelButtonText: '鎴戝啀鎯虫兂',
- type: 'warning'
- }).then(() => {
- returnSettle({ id: this.info.id })
- .then(res => {
- this.getDetail()
- })
- }).catch(() => {
+ .catch((data) => {
+ this.$message.error(data.message)
+ })
+ .finally(() => {
+ instance.confirmButtonLoading = false
+ })
+ } else {
+ done()
+ }
+ }
+ }).then(({ value }) => {
+ this.getDetail()
+ }).catch(() => {
- });
- },
- returnInHospital(type) {
- switch (type) {
- case 0:
- return '浣忛櫌'
- case 1:
- return '闂ㄨ瘖'
+ })
+ },
+ register () {
+ this.$prompt('绔嬫璇存槑', '绔嬫', {
+ confirmButtonText: '纭畾',
+ cancelButtonText: '鍙栨秷',
+ inputType: 'textarea',
+ beforeClose: (action, instance, done) => {
+ if (action === 'confirm') {
+ instance.confirmButtonLoading = true
+ register({ id: this.id, describe: instance.inputValue, registerStatus: 3 })
+ .then((res) => {
+ done()
+ })
+ .catch((data) => {
+ this.$message.error(data.message)
+ })
+ .finally(() => {
+ instance.confirmButtonLoading = false
+ })
+ } else {
+ done()
}
- },
- returnName(type) {
- switch (type) {
- case 0:
- return '鏄�'
- case 1:
- return '鍚�'
- }
- },
- returnType(type) {
- switch (type) {
- case 0:
- return '宸ヤ綔鏈熼棿鍙椾激'
- case 1:
- return '涓婁笅鐝�斾腑鍙椾激'
- case 2:
- return '闈炲伐浣滄椂闂村彈浼�'
- case 3:
- return '鎰忓鍙椾激'
- }
- },
- confirmFeeInfo() {
- this.$confirm('鏄惁纭璧斾粯閲戦?', '鎻愮ず', {
- confirmButtonText: '纭畾',
- cancelButtonText: '鍙栨秷',
- type: 'warning'
- }).then(() => {
- confirmFee(this.id)
- .then(res => {
- this.getDetail()
- })
- }).catch(() => {
+ }
+ }).then(({ value }) => {
+ this.getDetail()
+ }).catch(() => {
- });
- },
+ })
+ },
+ returnCase () {
+ this.$prompt('閫�鍥炶鏄�', '閫�鍥�', {
+ confirmButtonText: '纭畾',
+ cancelButtonText: '鍙栨秷',
+ inputType: 'textarea',
+ inputPattern: /^(?:.|\n)+$/,
+ inputErrorMessage: '閫�鍥炶鏄庝笉鑳戒负绌猴紒',
+ beforeClose: (action, instance, done) => {
+ if (action === 'confirm') {
+ instance.confirmButtonLoading = true
+ register({ id: this.id, describe: instance.inputValue, registerStatus: 4 })
+ .then((res) => {
+ done()
+ })
+ .catch((data) => {
+ this.$message.error(data.message)
+ })
+ .finally(() => {
+ instance.confirmButtonLoading = false
+ })
+ } else {
+ done()
+ }
+ }
+ }).then(({ value }) => {
+ this.getDetail()
+ }).catch(() => {
+
+ })
+ },
+ getDetail () {
+ findById(this.id)
+ .then(res => {
+ res.riskContent = JSON.parse(res.riskContent)
+ this.info = res
+ this.info.showIsRisk = true
+ this.visible = true
+ })
+ },
+ // 鎾ら攢
+ revoke (id) {
+ this.$confirm('鎾ら攢鍚庯紝妗堜欢鐩存帴缁撴潫锛屾棤娉曠户缁繘琛岀悊璧旀搷浣滐紒', '鏄惁鎾ら攢鎶ユ锛�', {
+ confirmButtonText: '纭畾鎾ら攢',
+ cancelButtonText: '鎴戝啀鎯虫兂',
+ type: 'warning'
+ }).then(() => {
+ returnSettle({ id: this.info.id })
+ .then(res => {
+ this.getDetail()
+ })
+ }).catch(() => {
+
+ })
+ },
+ returnInHospital (type) {
+ switch (type) {
+ case 0:
+ return '浣忛櫌'
+ case 1:
+ return '闂ㄨ瘖'
+ }
+ },
+ returnName (type) {
+ switch (type) {
+ case 0:
+ return '鏄�'
+ case 1:
+ return '鍚�'
+ case 2:
+ return '寰呯‘瀹�'
+ default:
+ return ''
+ }
+ },
+ returnType (type) {
+ switch (type) {
+ case 0:
+ return '宸ヤ綔鏈熼棿鍙椾激'
+ case 1:
+ return '涓婁笅鐝�斾腑鍙椾激'
+ case 2:
+ return '闈炲伐浣滄椂闂村彈浼�'
+ case 3:
+ return '鎰忓鍙椾激'
+ }
+ },
+ confirmFeeInfo () {
+ this.$confirm('鏄惁纭璧斾粯閲戦?', '鎻愮ず', {
+ confirmButtonText: '纭畾',
+ cancelButtonText: '鍙栨秷',
+ type: 'warning'
+ }).then(() => {
+ confirmFee(this.id)
+ .then(res => {
+ this.getDetail()
+ })
+ }).catch(() => {
+
+ })
+ }
}
}
</script>
<style lang="scss" scoped>
.box {
+ //margin-left: 30px;
width: 100%;
.box_tui {
width: 100%;
@@ -987,6 +1030,7 @@
.box_desc_head {
width: 100%;
display: flex;
+ font-weight: bold;
align-items: center;
justify-content: space-between;
margin-bottom: 26px;
@@ -1017,6 +1061,7 @@
margin-right: 20px;
}
.box_desc_title_tips {
+ cursor: pointer;
width: 84px;
height: 25px;
border-radius: 15px;
diff --git a/company/src/components/business/OperaSolutionsBaseWindow.vue b/company/src/components/business/OperaSolutionsBaseWindow.vue
index 2862f64..b65c8a1 100644
--- a/company/src/components/business/OperaSolutionsBaseWindow.vue
+++ b/company/src/components/business/OperaSolutionsBaseWindow.vue
@@ -101,6 +101,8 @@
<el-button type="primary" @click="impor">瀵煎叆宸ョ</el-button>
<el-button type="text" @click="exprot">瀵煎叆妯$増xls</el-button>
</div>
+
+ <el-form-item label="宸叉坊鍔犲伐绉�" prop="worktypeIdList">
<u-table
:data="form.worktypeIdList"
border
@@ -125,6 +127,7 @@
</template>
</u-table-column>
</u-table>
+ </el-form-item>
</div>
<el-form-item label="椋庨櫓璁剧疆" prop="risk">
<div class="tx">
@@ -151,8 +154,8 @@
</div>
<div class="tx_item_content">
<span>瑙勫垯璁剧疆锛氬厑璁稿嚭闄╂椂闂村湪淇濆崟鐢熸晥鍓�</span>
- <el-input-number style="margin: 0 15px;" v-model="form.riskNewUserTime" :min="1"></el-input-number>
- <el-select v-model="form.riskNewUserUnit" style="width: 100px; margin-right: 15px;" placeholder="璇烽�夋嫨">
+ <el-input-number style="margin: 0 15px;" :disabled="form.riskNewUserStatus === 0" v-model="form.riskNewUserTime" :min="1"></el-input-number>
+ <el-select v-model="form.riskNewUserUnit" :disabled="form.riskNewUserStatus === 0" style="width: 100px; margin-right: 15px;" placeholder="璇烽�夋嫨">
<el-option label="灏忔椂" :value="1"></el-option>
<el-option label="澶�" :value="2"></el-option>
</el-select>
@@ -283,6 +286,9 @@
correctWarnTime: [
{ required: true, message: '璇疯緭鍏ユ壒鏀规彁閱掓椂闂�' }
],
+ worktypeIdList: [
+ { required: true, message: '璇峰畬鍠勫伐绉嶄俊鎭�' }
+ ],
canAdd: [
{ required: true, validator: canAddFun }
]
diff --git a/company/src/components/business/caseProgress.vue b/company/src/components/business/caseProgress.vue
index 62e8ff3..e68e24a 100644
--- a/company/src/components/business/caseProgress.vue
+++ b/company/src/components/business/caseProgress.vue
@@ -3,7 +3,7 @@
:title="title"
width="50%"
:withFooter="false"
- :visible.sync="visible"
+ :visible.sync="visible"鏄惁
:confirm-working="isWorking"
>
<el-timeline reverse>
@@ -11,7 +11,7 @@
<div style="display: flex; flex-direction: column;">
<span class="a">{{item.title}}</span>
<span class="b">{{item.creatorName}} {{item.companyName || '骞冲彴鐞嗚禂鍛�'}} {{item.createDate }}</span>
- <span class="c">璇存槑锛歿{item.content}}</span>
+ <span class="c" v-if="index>0">璇存槑锛歿{item.content}}</span>
</div>
</el-timeline-item>
</el-timeline>
diff --git a/company/src/components/business/tagLibrary.vue b/company/src/components/business/tagLibrary.vue
index bd6a15c..615a38b 100644
--- a/company/src/components/business/tagLibrary.vue
+++ b/company/src/components/business/tagLibrary.vue
@@ -22,56 +22,72 @@
</div>
</div>
</div>
+ <template v-slot:footer>
+ <el-button @click="close">杩斿洖</el-button>
+ </template>
</GlobalWindow>
</template>
<script>
- import BaseOpera from '@/components/base/BaseOpera'
- import GlobalWindow from '@/components/common/GlobalWindow'
- import { createLabels, list, labelsDeleteById } from '@/api/business/knowledge'
- export default {
- name: 'tagLibrary',
- extends: BaseOpera,
- components: { GlobalWindow },
- data () {
- return {
- value: '',
- list: []
- }
- },
- created () {
- this.config({
- api: '/business/knowledge',
- 'field.id': 'id'
- })
- },
- methods: {
- async open(title, target) {
- this.title = title
- await this.getData()
- this.visible = true
- },
- async getData() {
- this.list = await list()
- },
- // 娣诲姞鏍囩
- async add() {
- if (!this.value) return this.$message.warning('璇峰厛杈撳叆鍐呭')
- let res = await createLabels({ name: this.value })
- await this.getData()
- this.$emit('refresh')
- this.value = ''
- this.$message.success('娣诲姞鎴愬姛')
- },
- // 鍒犻櫎
- async dele(id) {
- let res = await labelsDeleteById(id)
- await this.getData()
- this.$emit('refresh')
- this.$message.success('鍒犻櫎鎴愬姛')
- }
- }
+import BaseOpera from '@/components/base/BaseOpera'
+import GlobalWindow from '@/components/common/GlobalWindow'
+import { createLabels, list, labelsDeleteById } from '@/api/business/knowledge'
+export default {
+ name: 'tagLibrary',
+ extends: BaseOpera,
+ components: { GlobalWindow },
+ data () {
+ return {
+ value: '',
+ list: []
}
+ },
+ created () {
+ this.config({
+ api: '/business/knowledge',
+ 'field.id': 'id'
+ })
+ },
+ methods: {
+ async open (title, target) {
+ this.title = title
+ await this.getData()
+ this.visible = true
+ },
+ async getData () {
+ this.list = await list()
+ },
+ // 娣诲姞鏍囩
+ async add () {
+ if (!this.value) return this.$message.warning('璇峰厛杈撳叆鍐呭')
+ createLabels({ name: this.value })
+ .then(() => {
+ this.$message.success('娣诲姞鎴愬姛')
+ this.$emit('success')
+ this.getData()
+ this.$emit('refresh')
+ this.value = ''
+ })
+ .catch(e => {
+ this.$tip.apiFailed(e)
+ })
+ },
+ // 鍒犻櫎
+ async dele (id) {
+ labelsDeleteById(id)
+ .then(() => {
+ this.$message.success('鍒犻櫎鎴愬姛')
+ this.$emit('success')
+ this.getData()
+ this.$emit('refresh')
+ this.value = ''
+ })
+ .catch(e => {
+ this.$tip.apiFailed(e)
+ })
+ }
+ }
+}
</script>
<style lang="scss" scoped>
diff --git a/company/src/components/common/previewArea.vue b/company/src/components/common/previewArea.vue
index 5eb4874..c7f4a45 100644
--- a/company/src/components/common/previewArea.vue
+++ b/company/src/components/common/previewArea.vue
@@ -1,10 +1,12 @@
-<template>
+<template :append-to-body="true">
<div class="box_item_list_row_l">
<div class="desc_data_list_item" v-for="(item, index) in list" :key="index">
<div class="desc_data_list_item_img" v-if="item.type === 0">
<el-image
- style="width: 100%; height: 100%"
+ style="width: 100%; height: 100%;"
:src="item.fileurlFull"
+ :preview-teleported="true"
+ :append-to-body="true"
:preview-src-list="[item.fileurlFull]">
</el-image>
</div>
@@ -27,19 +29,24 @@
props: {
list: {
type: Array,
- default: ()=> []
+ default: ()=> []
}
},
methods: {
openFile(url) {
window.open(url)
- }
+ }
}
}
</script>
-
+<style>
+.el-image-viewer__wrapper{
+ z-index: 9999 !important;
+}
+</style>
<style lang="scss" scoped>
- .box_item_list_row_l {
+
+.box_item_list_row_l {
width: 100%;
display: flex;
align-items: center;
diff --git a/company/src/components/enterprise/onlineReporting.vue b/company/src/components/enterprise/onlineReporting.vue
index 221ffe6..3ac592d 100644
--- a/company/src/components/enterprise/onlineReporting.vue
+++ b/company/src/components/enterprise/onlineReporting.vue
@@ -407,360 +407,376 @@
</template>
<script>
- import BaseOpera from '@/components/base/BaseOpera'
- import GlobalWindow from '@/components/common/GlobalWindow'
- import upload from '@/components/common/upload'
- import { saveSettleClaims } from '@/api/business/settleRisk'
- import { findById } from '@/api/business/settleClaims'
- import { findListByDTO } from '@/api/business/member'
- import { findList } from '@/api/business/applyChange'
- import { findTreeList } from '@/api/business/knowledge'
- import OperaWtbApplyShopWindow from '@/components/business/OperaWtbApplyShopWindow'
- import OperaInsuranceApplyDetails from '@/components/business/OperaInsuranceApplyWindow'
- import OperaSettleClaimsWindow from '@/components/business/OperaSettleClaimsWindow'
- import { mapState } from 'vuex'
- export default {
- name: 'onlineReporting',
- extends: BaseOpera,
- components: { GlobalWindow, upload, OperaSettleClaimsWindow, OperaWtbApplyShopWindow, OperaInsuranceApplyDetails },
- computed: {
- ...mapState(['userInfo'])
+import BaseOpera from '@/components/base/BaseOpera'
+import GlobalWindow from '@/components/common/GlobalWindow'
+import upload from '@/components/common/upload'
+import { saveSettleClaims } from '@/api/business/settleRisk'
+import { findById } from '@/api/business/settleClaims'
+import { findListByDTO } from '@/api/business/member'
+import { findList } from '@/api/business/applyChange'
+import { findTreeList } from '@/api/business/knowledge'
+import OperaWtbApplyShopWindow from '@/components/business/OperaWtbApplyShopWindow'
+import OperaInsuranceApplyDetails from '@/components/business/OperaInsuranceApplyWindow'
+import OperaSettleClaimsWindow from '@/components/business/OperaSettleClaimsWindow'
+import { mapState } from 'vuex'
+export default {
+ name: 'onlineReporting',
+ extends: BaseOpera,
+ components: { GlobalWindow, upload, OperaSettleClaimsWindow, OperaWtbApplyShopWindow, OperaInsuranceApplyDetails },
+ computed: {
+ ...mapState(['userInfo'])
+ },
+ data () {
+ return {
+ i: 0,
+ id: null,
+ statusList: [
+ {
+ name: '濉啓鍑洪櫓淇℃伅',
+ info: '瀹屾垚鎶ユ鍩虹淇℃伅濉啓'
},
- data () {
- return {
- i: 0,
- id: null,
- statusList: [
- {
- name: '濉啓鍑洪櫓淇℃伅',
- info: '瀹屾垚鎶ユ鍩虹淇℃伅濉啓'
- },
- {
- name: '涓婁紶鐞嗚禂鏉愭枡',
- info: '琛ュ厖闇�瑕佺悊璧旂殑鐩稿叧璧勬枡'
- },
- {
- name: '瀹屾垚鎶ユ',
- info: '鎻愪氦鎶ユ淇℃伅'
- }
- ],
- form: {
- id: null,
- memberId: '',
- idcardNo: '',
- insuranceApplyId: '',
- happenTime: '',
- hospital: '',
- area: [],
- areaId: '',
- address: '',
- areaInfo: '',
- content: '',
- type: 0,
- inHospital: 0,
- hurtType: 0,
- medicalInsurance: 0,
- reportFileList: [],
- informantName: '',
- informantPhone: '',
-
- relationFileList: [],
- outpatientFileList: [],
- hospitalFileList: [],
- disabilityFileList: [],
- otherFileList: [],
-
- applyDetailId: '',
- solutionId: '',
- worktypeId: '',
- duId: '',
- receiveBank: '',
- receiveUserName: '',
- receiveAccount: ''
- },
- rules: {
- receiveAccount: [
- { required: true, message: '涓嶈兘涓虹┖' }
- ],
- receiveUserName: [
- { required: true, message: '涓嶈兘涓虹┖' }
- ],
- receiveBank: [
- { required: true, message: '涓嶈兘涓虹┖' }
- ],
- memberId: [
- { required: true, message: '涓嶈兘涓虹┖' }
- ],
- idcardNo: [
- { required: true, message: '涓嶈兘涓虹┖' }
- ],
- happenTime: [
- { required: true, message: '涓嶈兘涓虹┖' }
- ],
- content: [
- { required: true, message: '涓嶈兘涓虹┖' }
- ],
- type: [
- { required: true, message: '涓嶈兘涓虹┖' }
- ],
- inHospital: [
- { required: true, message: '涓嶈兘涓虹┖' }
- ],
- hurtType: [
- { required: true, message: '涓嶈兘涓虹┖' }
- ],
- medicalInsurance: [
- { required: true, message: '涓嶈兘涓虹┖' }
- ],
- informantName: [
- { required: true, message: '涓嶈兘涓虹┖' }
- ],
- informantPhone: [
- { required: true, message: '涓嶈兘涓虹┖' }
- ],
- },
- pickerOptions: {},
- area: [],
- user: [],
- solutionList: []
- }
+ {
+ name: '涓婁紶鐞嗚禂鏉愭枡',
+ info: '琛ュ厖闇�瑕佺悊璧旂殑鐩稿叧璧勬枡'
},
- created () {
- this.config({
- api: '/business/settleClaims',
- 'field.id': 'id'
- })
- },
- methods: {
- open (title, id) {
- this.title = title
- this.form.area = []
- this.i = 0
- this.solutionList = []
- this.area = []
- this.user = []
- this.getUser()
- this.getCityTree()
- if (id) {
- findById(id)
- .then(res => {
- this.visible = true
- this.$nextTick(() => {
- for (const key in this.form) {
- this.form[key] = res[key]
- }
- if (this.form.areaId) {
- this.form.area = this.form.areaId.split(',').map(item => Number(item))
- }
- findList({ memberId: this.form.memberId })
- .then(res1 => {
- res1.forEach(item => {
- if (item.id === res.applyDetailId) {
- item.active = true
- this.pickerOptions = {
- disabledDate(time) {
- return time.getTime() < new Date(item.parentStartTime).getTime() || time.getTime() > new Date(item.parentEndTime).getTime()
- }
- };
- } else {
- item.active = false
- }
- })
- this.solutionList = res1
- })
- })
- })
- } else {
- this.visible = true
- this.$nextTick(() => {
- this.$refs.form.resetFields()
- this.form.informantName = this.userInfo.realname
- })
- }
- },
- continueReporting() {
- this.i = 0
- this.id = null
- this.pickerOptions = {}
- this.solutionList = []
- this.form = {
- id: null,
- memberId: '',
- idcardNo: '',
- insuranceApplyId: '',
- happenTime: '',
- hospital: '',
- area: [],
- areaId: '',
- address: '',
- areaInfo: '',
- content: '',
- type: 0,
- inHospital: 0,
- hurtType: 0,
- medicalInsurance: 0,
- reportFileList: [],
- informantName: '',
- informantPhone: '',
-
- relationFileList: [],
- outpatientFileList: [],
- hospitalFileList: [],
- disabilityFileList: [],
- otherFileList: [],
-
- applyDetailId: '',
- solutionId: '',
- worktypeId: '',
- duId: '',
- receiveBank: '',
- receiveUserName: '',
- receiveAccount: ''
- }
- },
- changeArea(e) {
- if (!e && e.length === 0) {
- this.form.areaId = ''
- this.form.areaInfo = ''
- } else {
- this.form.areaId = e.join(',')
- this.form.areaInfo = this.$refs.cascader.getCheckedNodes()[0].pathLabels.join(',')
- }
- },
- async getCityTree() {
- this.area = await findTreeList({})
- this.setSecondLevelChildrenToNullPrecise(this.area);
- },
- setSecondLevelChildrenToNullPrecise(data, level = 1) {
- if (!data || !data.length) return;
-
- data.forEach(item => {
- if (item.childAreasList && item.childAreasList.length) {
- if (level === 2) {
- // 杩欐槸绗竴绾ц妭鐐癸紝澶勭悊鍏跺瓙鑺傜偣锛堢浜岀骇锛�
- item.childAreasList.forEach(child => {
- child.childAreasList = null;
- });
- } else {
- // 缁х画閫掑綊澶勭悊鏇存繁灞傜骇
- this.setSecondLevelChildrenToNullPrecise(item.childAreasList, level + 1);
- }
- }
- });
- },
- getUser() {
- findListByDTO({})
- .then(res => {
- this.user = res
- })
- },
- delFile(index, type) {
- if (type === 1) {
- this.form.relationFileList.splice(index, 1)
- } else if (type === 2) {
- this.form.outpatientFileList.splice(index, 1)
- } else if (type === 3) {
- this.form.hospitalFileList.splice(index, 1)
- } else if (type === 4) {
- this.form.disabilityFileList.splice(index, 1)
- } else if (type === 5) {
- this.form.otherFileList.splice(index, 1)
- } else if (type === 6) {
- this.form.reportFileList.splice(index, 1)
- }
- },
- claimsUploadFile(file, type) {
- file.fileurl = file.imgaddr
- file.name = file.originname
- file.fileurlFull = file.url
- if (type === 1) {
- this.form.relationFileList.push(file)
- } else if (type === 2) {
- this.form.outpatientFileList.push(file)
- } else if (type === 3) {
- this.form.hospitalFileList.push(file)
- } else if (type === 4) {
- this.form.disabilityFileList.push(file)
- } else if (type === 5) {
- this.form.otherFileList.push(file)
- } else if (type === 6) {
- this.form.reportFileList.push(file)
- }
- },
- getSolutions(id) {
- let row = this.user.filter(item => item.id === id)
- this.form.idcardNo = row[0].idcardNo
- findList({ memberId: id })
- .then(res => {
- this.form.insuranceApplyId = ''
- res.forEach(item => {
- item.active = false
- })
- this.solutionList = res
- })
- },
- changeSolution(e, i) {
- this.solutionList.forEach((item, index) => {
- item.active = i === index
- })
- let obj = this.solutionList.filter(item => item.active)[0]
- this.form.insuranceApplyId = obj.applyId
- this.form.solutionId = obj.solutionId
- this.form.worktypeId = obj.worktypeId
- this.form.duId = obj.duId
- this.form.applyDetailId = obj.id
- this.form.happenTime = ''
- this.pickerOptions = {
- disabledDate(time) {
- return time.getTime() < new Date(obj.parentStartTime).getTime() || time.getTime() > new Date(obj.parentEndTime).getTime()
- }
- };
- },
- // 鏌ョ湅淇濆崟璇︽儏
- jumpSolutionDetail(id, solutionType) {
- if (solutionType === 1) {
- this.$refs.OperaWtbApplyShopWindow.open('濮旀墭鎶曚繚璇︽儏', { id: id })
- } else {
- this.$refs.OperaInsuranceApplyDetails.open('鎶曚繚璇︽儏', { id: id })
- }
- },
- confirm(saveType) {
- this.isWorking = true
- saveSettleClaims({...this.form, saveType})
- .then(res => {
- console.log(res)
- if (saveType === 0) {
- this.visible = false
- } else {
- this.id = res
- this.i = 2
- }
- this.$emit('success')
- })
- .finally(() => {
- this.isWorking = false
- })
- },
- next() {
- this.$refs.form.validate((valid) => {
- if (!valid) return
- this.i++
- // this.isWorking = true
- // createSys(obj)
- // .then(() => {
- // this.visible = false
- // this.$emit('success')
- // })
- // .catch(e => {
- // this.$tip.apiFailed(e)
- // })
- // .finally(() => {
- // this.isWorking = false
- // })
- })
- }
+ {
+ name: '瀹屾垚鎶ユ',
+ info: '鎻愪氦鎶ユ淇℃伅'
}
+ ],
+ form: {
+ id: null,
+ memberId: '',
+ idcardNo: '',
+ insuranceApplyId: '',
+ happenTime: '',
+ hospital: '',
+ area: [],
+ areaId: '',
+ address: '',
+ areaInfo: '',
+ content: '',
+ type: 0,
+ inHospital: 0,
+ hurtType: 0,
+ medicalInsurance: 0,
+ reportFileList: [],
+ informantName: '',
+ informantPhone: '',
+
+ relationFileList: [],
+ outpatientFileList: [],
+ hospitalFileList: [],
+ disabilityFileList: [],
+ otherFileList: [],
+
+ applyDetailId: '',
+ solutionId: '',
+ worktypeId: '',
+ duId: '',
+ receiveBank: '',
+ receiveUserName: '',
+ receiveAccount: ''
+ },
+ rules: {
+ receiveAccount: [
+ { required: true, message: '涓嶈兘涓虹┖' }
+ ],
+ receiveUserName: [
+ { required: true, message: '涓嶈兘涓虹┖' }
+ ],
+ receiveBank: [
+ { required: true, message: '涓嶈兘涓虹┖' }
+ ],
+ memberId: [
+ { required: true, message: '涓嶈兘涓虹┖' }
+ ],
+ idcardNo: [
+ { required: true, message: '涓嶈兘涓虹┖' }
+ ],
+ happenTime: [
+ { required: true, message: '涓嶈兘涓虹┖' }
+ ],
+ content: [
+ { required: true, message: '涓嶈兘涓虹┖' }
+ ],
+ type: [
+ { required: true, message: '涓嶈兘涓虹┖' }
+ ],
+ inHospital: [
+ { required: true, message: '涓嶈兘涓虹┖' }
+ ],
+ hurtType: [
+ { required: true, message: '涓嶈兘涓虹┖' }
+ ],
+ medicalInsurance: [
+ { required: true, message: '涓嶈兘涓虹┖' }
+ ],
+ informantName: [
+ { required: true, message: '涓嶈兘涓虹┖' }
+ ],
+ informantPhone: [
+ { required: true, message: '涓嶈兘涓虹┖' }
+ ]
+ },
+ pickerOptions: {
+ disabledDate(time) {
+ return time.getTime() > Date.now(); // 绂佺敤鏈潵鐨勬棩鏈�
+ }
+ },
+ area: [],
+ user: [],
+ solutionList: []
}
+ },
+ created () {
+ this.config({
+ api: '/business/settleClaims',
+ 'field.id': 'id'
+ })
+ },
+ methods: {
+ open (title, id) {
+ this.title = title
+ this.form.area = []
+ this.i = 0
+ this.solutionList = []
+ this.area = []
+ this.user = []
+ this.getUser()
+ this.getCityTree()
+ if (id) {
+ findById(id)
+ .then(res => {
+ this.visible = true
+ this.$nextTick(() => {
+ for (const key in this.form) {
+ this.form[key] = res[key]
+ }
+ if (this.form.areaId) {
+ this.form.area = this.form.areaId.split(',').map(item => Number(item))
+ }
+ findList({ memberId: this.form.memberId })
+ .then(res1 => {
+ res1.forEach(item => {
+ if (item.id === res.applyDetailId) {
+ item.active = true
+ this.pickerOptions = {
+ disabledDate (time) {
+ var start = new Date(item.startTime)
+ var end = new Date(item.endTime)
+ return ( time.getTime() < start.getTime() || time.getTime()>end.getTime())
+ }
+ }
+ } else {
+ item.active = false
+ }
+ })
+ this.solutionList = res1
+ })
+ })
+ })
+ } else {
+ this.visible = true
+ this.$nextTick(() => {
+ this.$refs.form.resetFields()
+ this.form.informantName = this.userInfo.realname
+ })
+ }
+ },
+ continueReporting () {
+ this.i = 0
+ this.id = null
+ this.pickerOptions = {}
+ this.solutionList = []
+ this.form = {
+ id: null,
+ memberId: '',
+ idcardNo: '',
+ insuranceApplyId: '',
+ happenTime: '',
+ hospital: '',
+ area: [],
+ areaId: '',
+ address: '',
+ areaInfo: '',
+ content: '',
+ type: 0,
+ inHospital: 0,
+ hurtType: 0,
+ medicalInsurance: 0,
+ reportFileList: [],
+ informantName: '',
+ informantPhone: '',
+
+ relationFileList: [],
+ outpatientFileList: [],
+ hospitalFileList: [],
+ disabilityFileList: [],
+ otherFileList: [],
+
+ applyDetailId: '',
+ solutionId: '',
+ worktypeId: '',
+ duId: '',
+ receiveBank: '',
+ receiveUserName: '',
+ receiveAccount: ''
+ }
+ },
+ changeArea (e) {
+ if (!e && e.length === 0) {
+ this.form.areaId = ''
+ this.form.areaInfo = ''
+ } else {
+ this.form.areaId = e.join(',')
+ this.form.areaInfo = this.$refs.cascader.getCheckedNodes()[0].pathLabels.join(',')
+ }
+ },
+ async getCityTree () {
+ this.area = await findTreeList({})
+ this.setSecondLevelChildrenToNullPrecise(this.area)
+ },
+ setSecondLevelChildrenToNullPrecise (data, level = 1) {
+ if (!data || !data.length) return
+
+ data.forEach(item => {
+ if (item.childAreasList && item.childAreasList.length) {
+ if (level === 2) {
+ // 杩欐槸绗竴绾ц妭鐐癸紝澶勭悊鍏跺瓙鑺傜偣锛堢浜岀骇锛�
+ item.childAreasList.forEach(child => {
+ child.childAreasList = null
+ })
+ } else {
+ // 缁х画閫掑綊澶勭悊鏇存繁灞傜骇
+ this.setSecondLevelChildrenToNullPrecise(item.childAreasList, level + 1)
+ }
+ }
+ })
+ },
+ getUser () {
+ findListByDTO({})
+ .then(res => {
+ this.user = res
+ })
+ },
+ delFile (index, type) {
+ if (type === 1) {
+ this.form.relationFileList.splice(index, 1)
+ } else if (type === 2) {
+ this.form.outpatientFileList.splice(index, 1)
+ } else if (type === 3) {
+ this.form.hospitalFileList.splice(index, 1)
+ } else if (type === 4) {
+ this.form.disabilityFileList.splice(index, 1)
+ } else if (type === 5) {
+ this.form.otherFileList.splice(index, 1)
+ } else if (type === 6) {
+ this.form.reportFileList.splice(index, 1)
+ }
+ },
+ claimsUploadFile (file, type) {
+ file.fileurl = file.imgaddr
+ file.name = file.originname
+ file.fileurlFull = file.url
+ if (type === 1) {
+ this.form.relationFileList.push(file)
+ } else if (type === 2) {
+ this.form.outpatientFileList.push(file)
+ } else if (type === 3) {
+ this.form.hospitalFileList.push(file)
+ } else if (type === 4) {
+ this.form.disabilityFileList.push(file)
+ } else if (type === 5) {
+ this.form.otherFileList.push(file)
+ } else if (type === 6) {
+ this.form.reportFileList.push(file)
+ }
+ },
+ getSolutions (id) {
+ const row = this.user.filter(item => item.id === id)
+ this.form.idcardNo = row[0].idcardNo
+ findList({ memberId: id })
+ .then(res => {
+ this.form.insuranceApplyId = ''
+ res.forEach(item=> {
+ item.active = false
+ })
+ this.solutionList = res
+ this.changeSolution(null,0)
+ })
+ },
+ changeSolution (e, i) {
+ this.pickerOptions = {}
+ if(this.solutionList.length < i){
+ return
+ }
+ this.solutionList.forEach((item, index) => {
+ item.active = i === index
+ })
+ const obj = this.solutionList.filter(item => item.active)[0]
+ this.pickerOptions = {
+ disabledDate (time) {
+ var start = new Date(obj.startTime)
+ var end = new Date(obj.endTime)
+ return ( time.getTime() < start.getTime() || time.getTime()>end.getTime())
+ }
+ }
+ this.form.insuranceApplyId = obj.applyId
+ this.form.solutionId = obj.solutionId
+ this.form.worktypeId = obj.worktypeId
+ this.form.duId = obj.duId
+ this.form.applyDetailId = obj.id
+ this.form.happenTime = obj.startTime
+ console.log(this.pickerOptions)
+ },
+ // 鏌ョ湅淇濆崟璇︽儏
+ jumpSolutionDetail (id, solutionType) {
+ if (solutionType === 1) {
+ this.$refs.OperaWtbApplyShopWindow.open('濮旀墭鎶曚繚璇︽儏', { id: id })
+ } else {
+ this.$refs.OperaInsuranceApplyDetails.open('鎶曚繚璇︽儏', { id: id })
+ }
+ },
+ confirm (saveType) {
+ this.isWorking = true
+ saveSettleClaims({ ...this.form, saveType })
+ .then(res => {
+ console.log(res)
+ if (saveType === 0) {
+ this.visible = false
+ } else {
+ this.id = res
+ this.i = 2
+ }
+ this.$emit('success')
+ }).catch(err => {
+ this.$tip.apiFailed(err)
+ })
+ .finally(() => {
+ this.isWorking = false
+ })
+ },
+ next () {
+ this.$refs.form.validate((valid) => {
+ if (!valid) return
+ this.i++
+ // this.isWorking = true
+ // createSys(obj)
+ // .then(() => {
+ // this.visible = false
+ // this.$emit('success')
+ // })
+ // .catch(e => {
+ // this.$tip.apiFailed(e)
+ // })
+ // .finally(() => {
+ // this.isWorking = false
+ // })
+ })
+ }
+ }
+}
</script>
<style lang="scss" scoped>
diff --git a/company/src/views/business/knowledge.vue b/company/src/views/business/knowledge.vue
index 1d8ab69..90b7f19 100644
--- a/company/src/views/business/knowledge.vue
+++ b/company/src/views/business/knowledge.vue
@@ -2,15 +2,29 @@
<TableLayout :permissions="['business:knowledge:query']">
<!-- 鎼滅储琛ㄥ崟 -->
<el-form ref="searchForm" slot="search-form" :model="searchForm" label-width="100px" inline>
- <el-form-item label="鏍囬/鍐呭" prop="title">
- <el-input v-model="searchForm.title" placeholder="璇疯緭鍏ユ爣棰樺唴瀹�" @keypress.enter.native="search"></el-input>
+ <el-form-item label="鏍囬" prop="title">
+ <el-input v-model="searchForm.title" style="width: 120px" clearable placeholder="璇疯緭鍏ユ爣棰�" @keypress.enter.native="search"></el-input>
</el-form-item>
- <el-form-item label="鐪佷唤缂栫爜" prop="provinceId">
- <el-input v-model="searchForm.provinceId" placeholder="璇疯緭鍏ョ渷浠界紪鐮�" @keypress.enter.native="search"></el-input>
- </el-form-item>
- <el-form-item label="鍩庡競缂栫爜" prop="cityId">
- <el-input v-model="searchForm.cityId" placeholder="璇疯緭鍏ュ煄甯傜紪鐮�" @keypress.enter.native="search"></el-input>
- </el-form-item>
+ <el-form-item label="鐪佷唤" prop="area">
+ <el-select style="width: 120px" v-model="searchForm.provinceId" clearable filterable @change="changeProvince" placeholder="璇烽�夋嫨">
+ <el-option
+ v-for="item in areas"
+ :key="item.id"
+ :label="item.name"
+ :value="item.id">
+ </el-option>
+ </el-select>
+ </el-form-item>
+ <el-form-item label="鍩庡競" prop="area">
+ <el-select style="width: 120px" v-model="searchForm.cityId" clearablefilterable @change="search" placeholder="璇烽�夋嫨">
+ <el-option
+ v-for="item in citys"
+ :key="item.id"
+ :label="item.name"
+ :value="item.id">
+ </el-option>
+ </el-select>
+ </el-form-item>
<section>
<el-button type="primary" @click="search">鎼滅储</el-button>
<!-- <el-button type="primary" :loading="isWorking.export" v-permissions="['business:knowledge:exportExcel']" @click="exportExcel">瀵煎嚭</el-button>-->
@@ -25,18 +39,17 @@
</ul>
<div class="list" v-loading="isWorking.search" v-if="tableData.list.length > 0">
<div class="list-item" v-for="(item, index) in tableData.list" :key="index">
- <div class="list-item-title">
- <span>{{item.title}}</span>
+ <div class="list-item-title" @click="gourl(item.link)">
+ <span >{{item.title}}</span>
<i class="el-icon-arrow-right"></i>
</div>
- <div class="list-item-cates" v-if="item.labelNames">
- <div class="list-item-cates-row" v-for="(label, index) in item.labelNames.split(',')" :key="index">鏀跨瓥娉曡labels</div>
- <div class="list-item-cates-row">{{label}}</div>
+ <div class="list-item-cates" v-if="item.labels">
+ <div class="list-item-cates-row" v-for="(label, index) in item.labels.split(',')" :key="index"> {{label}}</div>
</div>
<div class="list-item-footer">
<div class="left">
<div class="list-item-footer-row">閫傜敤鍦板尯锛歿{item.cityName ? item.cityName : item.provinceName}}</div>
- <div class="list-item-footer-row">閫傜敤骞翠唤锛歿{item.yearInfo}}</div>
+ <div class="list-item-footer-row">閫傜敤骞翠唤锛歿{item.yearInfo}} 骞�</div>
</div>
<div class="right">
<el-button type="text" size="medium" style="margin-right: 15px; color: red;" @click="dele(item.id)">鍒犻櫎</el-button>
@@ -61,50 +74,71 @@
</template>
<script>
- import BaseTable from '@/components/base/BaseTable'
- import TableLayout from '@/layouts/TableLayout'
- import Pagination from '@/components/common/Pagination'
- import OperaKnowledgeWindow from '@/components/business/OperaKnowledgeWindow'
- import { deleteById } from '@/api/business/knowledge'
- export default {
- name: 'Knowledge',
- extends: BaseTable,
- components: { TableLayout, Pagination, OperaKnowledgeWindow },
- data () {
- return {
- // 鎼滅储
- searchForm: {
- provinceId: '',
- cityId: '',
- title: ''
- }
- }
- },
- created () {
- this.config({
- module: '鐭ヨ瘑搴撲俊鎭〃',
- api: '/business/knowledge',
- 'field.id': 'id',
- 'field.main': 'id'
- })
- this.search()
- },
- methods: {
- dele(id) {
- this.$confirm('姝ゆ搷浣滃皢姘镐箙鍒犻櫎璇ユ暟鎹�, 鏄惁缁х画?', '鎻愮ず', {
- confirmButtonText: '纭畾',
- cancelButtonText: '鍙栨秷',
- type: 'warning'
- }).then(async () => {
- let res = await deleteById(id)
- this.search()
- this.$message.success('鍒犻櫎鎴愬姛')
- }).catch(() => {
-
- });
- }
- }
+import BaseTable from '@/components/base/BaseTable'
+import TableLayout from '@/layouts/TableLayout'
+import Pagination from '@/components/common/Pagination'
+import OperaKnowledgeWindow from '@/components/business/OperaKnowledgeWindow'
+import {deleteById, findTreeList} from '@/api/business/knowledge'
+export default {
+ name: 'Knowledge',
+ extends: BaseTable,
+ components: { TableLayout, Pagination, OperaKnowledgeWindow },
+ data () {
+ return {
+ // 鎼滅储
+ searchForm: {
+ provinceId: '',
+ cityId: '',
+ title: ''
+ },
+ areas: [],
+ citys: []
}
+ },
+ created () {
+ this.config({
+ module: '鐭ヨ瘑搴撲俊鎭〃',
+ api: '/business/knowledge',
+ 'field.id': 'id',
+ 'field.main': 'id'
+ })
+ this.search()
+ this.getCityTree()
+ },
+ methods: {
+ changeProvince (e) {
+ this.citys = []
+ this.searchForm.cityId=null
+ this.areas.forEach(item => {
+ if (item.id === this.searchForm.provinceId) {
+ this.citys = item.childAreasList || []
+ }
+ })
+ this.search()
+ },
+ gourl (url) {
+ if (url) {
+ window.open(url)
+ }
+ },
+ dele (id) {
+ this.$confirm('姝ゆ搷浣滃皢姘镐箙鍒犻櫎璇ユ暟鎹�, 鏄惁缁х画?', '鎻愮ず', {
+ confirmButtonText: '纭畾',
+ cancelButtonText: '鍙栨秷',
+ type: 'warning'
+ }).then(async () => {
+ const res = await deleteById(id)
+ this.search()
+ this.$message.success('鍒犻櫎鎴愬姛')
+ }).catch(() => {
+
+ })
+ },
+ async getCityTree () {
+ this.areas = await findTreeList({})
+ }
+ }
+}
</script>
<style lang="scss" scoped>
diff --git a/company/src/views/business/riskReminder.vue b/company/src/views/business/riskReminder.vue
index 6e26dc5..42df0d3 100644
--- a/company/src/views/business/riskReminder.vue
+++ b/company/src/views/business/riskReminder.vue
@@ -3,23 +3,23 @@
<div class="tx_item">
<div class="tx_item_head">
<span>澶氭鍑洪櫓鎻愰啋</span>
- <el-switch active-value="1" inactive-value="0" v-model="form.riskTimesOpen"></el-switch>
+ <el-switch :active-value="'1'" :inactive-value="'0'" v-model="form.riskTimesOpen"></el-switch>
</div>
<div class="tx_item_content">
<span>瑙勫垯璁剧疆锛氬悓涓�浜轰竴骞村唴鎶ユ</span>
- <el-input-number style="margin: 0 15px;" v-model="form.riskTimesReportTimes" :min="0"></el-input-number>
+ <el-input-number style="width: 100px; min-width: 100px;margin: 0 15px;" :disabled="form.riskTimesOpen === '0'" v-model="form.riskTimesReportTimes" :min="0"></el-input-number>
<span>娆″強浠ヤ笂锛岃繘琛屾彁閱掋��</span>
</div>
</div>
<div class="tx_item">
<div class="tx_item_head">
<span>鐤戜技閲嶅鎶ユ鎻愰啋</span>
- <el-switch active-value="1" inactive-value="0" v-model="form.riskRepeatReportOpen"></el-switch>
+ <el-switch :active-value="'1'" :inactive-value="'0'" v-model="form.riskRepeatReportOpen"></el-switch>
</div>
<div class="tx_item_content">
<span>瑙勫垯璁剧疆锛�</span>
- <el-input-number style="margin: 0 15px;" v-model="form.riskRepeatReportTime" :min="0"></el-input-number>
- <el-select v-model="form.riskRepeatReportTimeUnit" style="width: 100px; margin-right: 15px;" placeholder="璇烽�夋嫨">
+ <el-input-number style="width: 100px; min-width: 100px;margin: 0 15px;" v-model="form.riskRepeatReportTime" :disabled="form.riskRepeatReportOpen === '0'" :min="0"></el-input-number>
+ <el-select v-model="form.riskRepeatReportTimeUnit" :disabled="form.riskRepeatReportOpen === '0'" style="width: 90px; min-width: 90px; margin-right: 15px;" placeholder="璇烽�夋嫨">
<el-option label="灏忔椂" value="1"></el-option>
<el-option label="澶�" value="2"></el-option>
</el-select>
@@ -29,23 +29,23 @@
<div class="tx_item">
<div class="tx_item_head">
<span>绱㈣禂娆℃暟杩囧鎻愰啋</span>
- <el-switch active-value="1" inactive-value="0" v-model="form.riskClaimTimesOpen"></el-switch>
+ <el-switch :active-value="'1'" :inactive-value="'0'" v-model="form.riskClaimTimesOpen"></el-switch>
</div>
<div class="tx_item_content">
<span>瑙勫垯璁剧疆锛氬悓涓�涓繚鍗�1骞村唴绱㈣禂娆℃暟瓒呰繃</span>
- <el-input-number style="margin: 0 15px;" v-model="form.riskClaimTimes" :min="0"></el-input-number>
+ <el-input-number style="width: 100px; min-width: 100px;margin: 0 15px;" v-model="form.riskClaimTimes" :disabled="form.riskClaimTimesOpen === '0'" :min="0"></el-input-number>
<span>娆★紝杩涜鎻愰啋銆�</span>
</div>
</div>
<div class="tx_item">
<div class="tx_item_head">
<span>鏂板憳宸ュ嚭闄╂彁閱�</span>
- <el-switch active-value="1" inactive-value="0" v-model="form.riskNewMemberOpen"></el-switch>
+ <el-switch :active-value="'1'" :inactive-value="'0'" v-model="form.riskNewMemberOpen"></el-switch>
</div>
<div class="tx_item_content">
<span>瑙勫垯璁剧疆锛氫繚鍗曠敓鏁堢殑</span>
- <el-input-number style="margin: 0 15px;" v-model="form.riskNewMemberTime" :min="0"></el-input-number>
- <el-select v-model="form.riskNewMemberTimeUnit" style="width: 100px; margin-right: 15px;" placeholder="璇烽�夋嫨">
+ <el-input-number style="width: 100px; min-width: 100px;margin: 0 15px;" v-model="form.riskNewMemberTime" :disabled="form.riskNewMemberOpen === '0'" :min="0"></el-input-number>
+ <el-select v-model="form.riskNewMemberTimeUnit" style="width: 90px; min-width: 90px; margin-right: 15px;" :disabled="form.riskNewMemberOpen === '0'" placeholder="璇烽�夋嫨">
<el-option label="灏忔椂" value="1"></el-option>
<el-option label="澶�" value="2"></el-option>
</el-select>
@@ -55,11 +55,12 @@
<div class="tx_item">
<div class="tx_item_head">
<span>鏁忔劅璇嶈缃�</span>
- <el-switch active-value="1" inactive-value="0" v-model="form.riskSensitiveWordsOpen"></el-switch>
+ <el-switch :active-value="'1'" :inactive-value="'0'" v-model="form.riskSensitiveWordsOpen"></el-switch>
</div>
<div class="tx_item_content">
<span>瑙勫垯璁剧疆锛�</span>
<el-input
+ :disabled="form.riskSensitiveWordsOpen === '0'"
type="textarea"
:rows="5"
placeholder="姣忎釜鏁忔劅璇嶈鐢ㄢ��;鈥濆垎闅旓紝濡傞鎶�;楂樼┖;澶滈棿;浜ら�氫簨鏁�;鎼繍绛夊叾浠栧瓧绗�"
@@ -74,51 +75,52 @@
</template>
<script>
- import { updRiskConfig, getRiskConfig } from '@/api/business/settleRisk'
- export default {
- name: "riskReminder",
- data() {
- return {
- form: {
- riskClaimTimes: '0',
- riskClaimTimesOpen: '0',
- riskNewMemberOpen: '0',
- riskNewMemberTime: '0',
- riskNewMemberTimeUnit: '0',
- riskRepeatReportOpen: '0',
- riskRepeatReportTime: '0',
- riskRepeatReportTimeUnit: '0',
- riskSensitiveWords: '0',
- riskSensitiveWordsOpen: '0',
- riskTimesOpen: '0',
- riskTimesReportTimes: '0'
- },
- loading: false
- }
- },
- created() {
- this.getRiskConfigs()
- },
- methods: {
- async getRiskConfigs() {
- let res = await getRiskConfig()
- for (const key in this.form) {
- this.form[key] = res[key]
- }
- },
- submit() {
- this.loading = true
- updRiskConfig(this.form)
- .then(res => {
- this.getRiskConfigs()
- this.$message.success('淇濆瓨鎴愬姛')
- })
- .finally(() => {
- this.loading = false
- })
- }
- }
+import { updRiskConfig, getRiskConfig } from '@/api/business/settleRisk'
+export default {
+ name: 'riskReminder',
+ data () {
+ return {
+ form: {
+ riskClaimTimes: '0',
+ riskClaimTimesOpen: '0',
+ riskNewMemberOpen: '0',
+ riskNewMemberTime: '0',
+ riskNewMemberTimeUnit: '0',
+ riskRepeatReportOpen: '0',
+ riskRepeatReportTime: '0',
+ riskRepeatReportTimeUnit: '0',
+ riskSensitiveWords: '0',
+ riskSensitiveWordsOpen: '0',
+ riskTimesOpen: '0',
+ riskTimesReportTimes: '0'
+ },
+ loading: false
}
+ },
+ created () {
+ this.getRiskConfigs()
+ },
+ methods: {
+ async getRiskConfigs () {
+ const res = await getRiskConfig()
+ for (const key in this.form) {
+ this.form[key] = res[key]
+ }
+ console.log(this.form)
+ },
+ submit () {
+ this.loading = true
+ updRiskConfig(this.form)
+ .then(res => {
+ this.getRiskConfigs()
+ this.$message.success('淇濆瓨鎴愬姛')
+ })
+ .finally(() => {
+ this.loading = false
+ })
+ }
+ }
+}
</script>
<style lang="scss" scoped>
@@ -138,6 +140,7 @@
}
.tx_item {
width: 49%;
+ //min-width: 500px;
padding: 30px 20px;
box-sizing: border-box;
background-color: #ffffff;
diff --git a/company/src/views/business/settleClaims.vue b/company/src/views/business/settleClaims.vue
index a08142d..c27ca9c 100644
--- a/company/src/views/business/settleClaims.vue
+++ b/company/src/views/business/settleClaims.vue
@@ -3,13 +3,13 @@
<!-- 鎼滅储琛ㄥ崟 -->
<el-form ref="searchForm" slot="search-form" :model="searchForm" label-width="100px" inline>
<el-form-item label="鍛樺伐濮撳悕" prop="memberName">
- <el-input v-model="searchForm.memberName" placeholder="璇疯緭鍏�" @keypress.enter.native="search"></el-input>
+ <el-input v-model="searchForm.memberName" clearable placeholder="璇疯緭鍏�" @keypress.enter.native="search"></el-input>
</el-form-item>
<el-form-item label="韬唤璇�" prop="memberIdcardNo">
- <el-input v-model="searchForm.memberIdcardNo" placeholder="璇疯緭鍏�" @keypress.enter.native="search"></el-input>
+ <el-input v-model="searchForm.memberIdcardNo" clearable placeholder="璇疯緭鍏�" @keypress.enter.native="search"></el-input>
</el-form-item>
<el-form-item label="鎶ユ鍗曚綅" prop="companyId" v-if="userInfo.type === 0">
- <el-select v-model="searchForm.companyId" filterable placeholder="璇烽�夋嫨" @change="search">
+ <el-select v-model="searchForm.companyId" clearable filterable placeholder="璇烽�夋嫨" @change="search">
<el-option
v-for="item in companyList"
:key="item.id"
@@ -19,7 +19,7 @@
</el-select>
</el-form-item>
<el-form-item label="淇濋櫓鏂规" prop="baseSolutionId">
- <el-select v-model="searchForm.baseSolutionId" filterable placeholder="璇烽�夋嫨" @change="search">
+ <el-select v-model="searchForm.baseSolutionId" clearable filterable placeholder="璇烽�夋嫨" @change="search">
<el-option
v-for="item in solutionList"
:key="item.baseId"
@@ -29,7 +29,7 @@
</el-select>
</el-form-item>
<el-form-item label="妗堜欢鐘舵��" prop="status">
- <el-select v-model="searchForm.status" placeholder="璇烽�夋嫨" @change="search">
+ <el-select v-model="searchForm.status" clearable placeholder="璇烽�夋嫨" @change="search">
<el-option label="鏆傚瓨涓�" value="0"></el-option>
<el-option label="宸叉姤妗�" value="1"></el-option>
<el-option label="寰呯珛妗�" value="2"></el-option>
@@ -48,7 +48,7 @@
</el-select>
</el-form-item>
<el-form-item label="娲鹃仯鍗曚綅" prop="duName">
- <el-input v-model="searchForm.duName" placeholder="璇疯緭鍏�" @keypress.enter.native="search"></el-input>
+ <el-input v-model="searchForm.duName" placeholder="璇疯緭鍏�" clearable @keypress.enter.native="search"></el-input>
</el-form-item>
<section>
<el-button type="primary" @click="search">鎼滅储</el-button>
@@ -79,6 +79,9 @@
<el-table-column prop="duName" label="娲鹃仯鍗曚綅" min-width="100px"></el-table-column>
<el-table-column prop="worktypeName" label="鎵�灞炲伐绉�" min-width="100px"></el-table-column>
<el-table-column prop="baoxianStartTime" label="淇濋櫓鐢熸晥璧锋湡" min-width="100px"></el-table-column>
+ <el-table-column prop="isRisk" label="鏄惁椋庨櫓妗堜欢" min-width="100px">
+ <template slot-scope="{row}"> <span style="color: red" v-if="row.isRisk === 1">椋庨櫓妗堜欢</span></template>
+ </el-table-column>
<el-table-column prop="createDate" label="鎶ユ鏃堕棿" min-width="100px"></el-table-column>
<el-table-column
v-if="containPermissions(['business:settleclaims:update', 'business:settleclaims:delete'])"
diff --git a/log/web/error.2025-05-27.0.log b/log/web/error.2025-05-27.0.log
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/log/web/error.2025-05-27.0.log
diff --git a/log/web/info.2025-05-27.0.log b/log/web/info.2025-05-27.0.log
new file mode 100644
index 0000000..9c2a1a6
--- /dev/null
+++ b/log/web/info.2025-05-27.0.log
@@ -0,0 +1,37 @@
+2025-05-27 10:04:22.659 [main] INFO com.doumee.CompanyApplication - Starting CompanyApplication on DESKTOP-77EHGKJ with PID 31268 (D:\code\idea2023\git\yunyibao\server\company\target\classes started by T14 in D:\code\idea2023\git\yunyibao)
+2025-05-27 10:04:22.668 [main] INFO com.doumee.CompanyApplication - The following profiles are active: dev
+2025-05-27 10:04:26.676 [main] INFO o.s.d.r.config.RepositoryConfigurationDelegate - Multiple Spring Data modules found, entering strict repository configuration mode!
+2025-05-27 10:04:26.683 [main] INFO o.s.d.r.config.RepositoryConfigurationDelegate - Bootstrapping Spring Data Redis repositories in DEFAULT mode.
+2025-05-27 10:04:27.098 [main] INFO o.s.d.r.config.RepositoryConfigurationDelegate - Finished Spring Data repository scanning in 355ms. Found 0 Redis repository interfaces.
+2025-05-27 10:04:29.000 [main] INFO o.s.c.s.PostProcessorRegistrationDelegate$BeanPostProcessorChecker - Bean 'shiroCredentialsMatcher' of type [com.doumee.config.shiro.ShiroCredentialsMatcher] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying)
+2025-05-27 10:04:29.066 [main] INFO o.s.c.s.PostProcessorRegistrationDelegate$BeanPostProcessorChecker - Bean 'spring.redis-org.springframework.boot.autoconfigure.data.redis.RedisProperties' of type [org.springframework.boot.autoconfigure.data.redis.RedisProperties] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying)
+2025-05-27 10:04:29.073 [main] INFO o.s.c.s.PostProcessorRegistrationDelegate$BeanPostProcessorChecker - Bean 'org.springframework.boot.autoconfigure.data.redis.LettuceConnectionConfiguration' of type [org.springframework.boot.autoconfigure.data.redis.LettuceConnectionConfiguration] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying)
+2025-05-27 10:04:29.453 [main] INFO o.s.c.s.PostProcessorRegistrationDelegate$BeanPostProcessorChecker - Bean 'lettuceClientResources' of type [io.lettuce.core.resource.DefaultClientResources] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying)
+2025-05-27 10:04:29.667 [main] INFO o.s.c.s.PostProcessorRegistrationDelegate$BeanPostProcessorChecker - Bean 'redisConnectionFactory' of type [org.springframework.data.redis.connection.lettuce.LettuceConnectionFactory] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying)
+2025-05-27 10:04:29.802 [main] INFO o.s.c.s.PostProcessorRegistrationDelegate$BeanPostProcessorChecker - Bean 'sessionRedisTemplate' of type [org.springframework.data.redis.core.RedisTemplate] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying)
+2025-05-27 10:04:29.802 [main] INFO o.s.c.s.PostProcessorRegistrationDelegate$BeanPostProcessorChecker - Bean 'shiroCache' of type [com.doumee.config.shiro.ShiroCache] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying)
+2025-05-27 10:04:29.805 [main] INFO o.s.c.s.PostProcessorRegistrationDelegate$BeanPostProcessorChecker - Bean 'shiroTokenManager' of type [com.doumee.config.shiro.ShiroTokenManager] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying)
+2025-05-27 10:04:29.806 [main] INFO o.s.c.s.PostProcessorRegistrationDelegate$BeanPostProcessorChecker - Bean 'shiroSessionDAO' of type [com.doumee.config.shiro.ShiroSessionDAO] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying)
+2025-05-27 10:04:29.816 [main] INFO o.s.c.s.PostProcessorRegistrationDelegate$BeanPostProcessorChecker - Bean 'shiroCacheManager' of type [com.doumee.config.shiro.ShiroCacheManager] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying)
+2025-05-27 10:04:29.884 [main] INFO o.s.c.s.PostProcessorRegistrationDelegate$BeanPostProcessorChecker - Bean 'shiroRealm' of type [com.doumee.config.shiro.ShiroRealm] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying)
+2025-05-27 10:04:29.886 [main] INFO o.s.c.s.PostProcessorRegistrationDelegate$BeanPostProcessorChecker - Bean 'shiroConfig' of type [com.doumee.config.shiro.ShiroConfig$$EnhancerBySpringCGLIB$$49ba0da8] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying)
+2025-05-27 10:04:31.470 [main] INFO o.s.c.s.PostProcessorRegistrationDelegate$BeanPostProcessorChecker - Bean 'sessionManager' of type [com.doumee.config.shiro.ShiroSessionManager] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying)
+2025-05-27 10:04:31.474 [main] INFO o.s.c.s.PostProcessorRegistrationDelegate$BeanPostProcessorChecker - Bean 'shiroCache' of type [com.doumee.config.shiro.ShiroCache] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying)
+2025-05-27 10:04:31.475 [main] INFO o.s.c.s.PostProcessorRegistrationDelegate$BeanPostProcessorChecker - Bean 'securityManager' of type [org.apache.shiro.web.mgt.DefaultWebSecurityManager] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying)
+2025-05-27 10:04:31.633 [main] INFO o.s.c.s.PostProcessorRegistrationDelegate$BeanPostProcessorChecker - Bean 'authorizationAttributeSourceAdvisor' of type [org.apache.shiro.spring.security.interceptor.AuthorizationAttributeSourceAdvisor] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying)
+2025-05-27 10:04:32.705 [main] INFO o.s.boot.web.embedded.tomcat.TomcatWebServer - Tomcat initialized with port(s): 10031 (http)
+2025-05-27 10:04:32.736 [main] INFO org.apache.coyote.http11.Http11NioProtocol - Initializing ProtocolHandler ["http-nio-10031"]
+2025-05-27 10:04:32.737 [main] INFO org.apache.catalina.core.StandardService - Starting service [Tomcat]
+2025-05-27 10:04:32.738 [main] INFO org.apache.catalina.core.StandardEngine - Starting Servlet engine: [Apache Tomcat/9.0.31]
+2025-05-27 10:04:33.139 [main] INFO o.a.c.core.ContainerBase.[Tomcat].[localhost].[/] - Initializing Spring embedded WebApplicationContext
+2025-05-27 10:04:33.139 [main] INFO org.springframework.web.context.ContextLoader - Root WebApplicationContext: initialization completed in 10281 ms
+2025-05-27 10:04:40.541 [main] INFO com.alibaba.druid.pool.DruidDataSource - {dataSource-1} inited
+2025-05-27 10:04:58.579 [main] INFO o.s.scheduling.concurrent.ThreadPoolTaskExecutor - Initializing ExecutorService 'applicationTaskExecutor'
+2025-05-27 10:05:05.599 [main] WARN s.d.s.r.operation.OperationImplicitParameterReader - Unable to interpret the implicit parameter configuration with dataType: Integer, dataTypeClass: class java.lang.Void
+2025-05-27 10:05:07.134 [main] WARN s.d.s.r.operation.OperationImplicitParameterReader - Unable to interpret the implicit parameter configuration with dataType: Integer, dataTypeClass: class java.lang.Void
+2025-05-27 10:05:09.344 [main] INFO org.apache.coyote.http11.Http11NioProtocol - Starting ProtocolHandler ["http-nio-10031"]
+2025-05-27 10:05:09.488 [main] INFO o.s.boot.web.embedded.tomcat.TomcatWebServer - Tomcat started on port(s): 10031 (http) with context path ''
+2025-05-27 10:05:09.518 [main] INFO com.doumee.CompanyApplication - Started CompanyApplication in 49.121 seconds (JVM running for 56.066)
+2025-05-27 10:06:37.703 [SpringContextShutdownHook] INFO o.s.scheduling.concurrent.ThreadPoolTaskExecutor - Shutting down ExecutorService 'applicationTaskExecutor'
+2025-05-27 10:06:37.730 [SpringContextShutdownHook] INFO com.alibaba.druid.pool.DruidDataSource - {dataSource-1} closing ...
+2025-05-27 10:06:37.737 [SpringContextShutdownHook] INFO com.alibaba.druid.pool.DruidDataSource - {dataSource-1} closed
diff --git a/server/service/src/main/java/com/doumee/service/business/impl/LabelsServiceImpl.java b/server/service/src/main/java/com/doumee/service/business/impl/LabelsServiceImpl.java
index 61bd2c4..499431b 100644
--- a/server/service/src/main/java/com/doumee/service/business/impl/LabelsServiceImpl.java
+++ b/server/service/src/main/java/com/doumee/service/business/impl/LabelsServiceImpl.java
@@ -34,7 +34,6 @@
@Autowired
private LabelsMapper labelsMapper;
-
@Override
public Integer create(Labels labels) {
LoginUserInfo user= (LoginUserInfo) SecurityUtils.getSubject().getPrincipal();
--
Gitblit v1.9.3