From 50fb58286ed3b718c39a97e0987ee7561a295651 Mon Sep 17 00:00:00 2001
From: k94314517 <8417338+k94314517@user.noreply.gitee.com>
Date: 星期五, 04 七月 2025 17:56:41 +0800
Subject: [PATCH] git ch
---
company/src/components/enterprise/onlineReporting.vue | 147 +++++++++++++++++++++++++++++--------------------
1 files changed, 87 insertions(+), 60 deletions(-)
diff --git a/company/src/components/enterprise/onlineReporting.vue b/company/src/components/enterprise/onlineReporting.vue
index 3ac592d..3cfe3d4 100644
--- a/company/src/components/enterprise/onlineReporting.vue
+++ b/company/src/components/enterprise/onlineReporting.vue
@@ -7,7 +7,7 @@
:confirm-working="isWorking"
@confirm="confirm"
>
- <div class="box">
+ <div class="box" id="section1">
<div class="box_status">
<div class="box_status_row" v-for="(item, index) in statusList" :key="index">
<div :class="index <= i ? 'box_status_row_icon statusColor2 statusColor3' : 'box_status_row_icon'">
@@ -162,7 +162,7 @@
<span>{{ item.name }}</span>
</div>
</div>
- <upload width="100px" height="100px" :list="[]" accept=".png,.jpg,.jpeg,.mp4,.word,.xlsx,.xls,.pdf,.excel" folder="settle" @success="claimsUploadFile($event, 6)" />
+ <uploadProgress width="100px" height="100px" :list="[]" accept=".png,.jpg,.jpeg,.mp4,.word,.xlsx,.xls,.pdf,.excel" folder="settle" @success="claimsUploadFile($event, 6)" />
</div>
</div>
</div>
@@ -181,7 +181,7 @@
</div>
<div class="box_desc_list_row">
<el-form-item label="鎶ユ浜鸿仈绯绘柟寮�" prop="informantPhone">
- <el-input v-model="form.informantPhone" placeholder="璇疯緭鍏�"></el-input>
+ <el-input v-model="form.informantPhone" type="number" maxlength="11" placeholder="璇疯緭鍏�"></el-input>
</el-form-item>
</div>
<div class="box_desc_list_ZW"></div>
@@ -199,7 +199,11 @@
</div>
<div class="box_item">
<div class="box_item_title">
- <span>鐞嗚禂鏉愭枡</span>
+ <div> <span>涓婁紶鐞嗚禂鏉愭枡</span></div>
+ <div style="float: right">
+ <el-button type="primary" v-if="insurance && insurance.lpStampTempFile && insurance.lpStampTempFile.fileurlFull" @click="openLinkUrl(insurance.lpStampTempFile.fileurlFull)">鐩栫珷鏂囦欢妯$増</el-button>
+ <el-button type="primary" v-if="insurance && insurance.lpFile && insurance.lpFile.fileurlFull" @click="openLinkUrl(insurance.lpFile.fileurlFull)">鐞嗚禂鏉愭枡涓�瑙堣〃</el-button>
+ </div>
</div>
<div class="box_item_list">
<div class="box_item_list_row" style="width: 100%; margin-bottom: 30px;">
@@ -209,7 +213,7 @@
</div>
<div class="box_item_list_row_info">
<div class="label">鏂囦欢涓婁紶璇存槑锛�</div>
- <div class="content">闇�涓婁紶鐨勬枃浠讹細鍔冲姩鍚堝悓澶嶅嵃浠躲�佸伐璧勬祦姘淬�佽�冨嫟璁板綍銆佽韩浠借瘉姝e弽闈€�侊紱</div>
+ <div v-if="insurance && insurance.lpYggxFileInfo" class="content" v-html="insurance.lpYggxFileInfo"></div>
</div>
<div class="box_item_list_row_l">
<div class="desc_data_list_item" v-for="(item, index) in form.relationFileList" :key="index">
@@ -227,7 +231,7 @@
<span>{{ item.name }}</span>
</div>
</div>
- <upload width="100px" height="100px" :list="[]" accept=".png,.jpg,.jpeg,.mp4,.word,.xlsx,.xls,.pdf,.excel" folder="settle" @success="claimsUploadFile($event, 1)" />
+ <uploadProgress width="100px" height="100px" :list="[]" folder="settle" @success="claimsUploadFile($event, 1)" />
</div>
</div>
<div class="box_item_list_row" style="width: 100%; margin-bottom: 30px;">
@@ -237,7 +241,7 @@
</div>
<div class="box_item_list_row_info">
<div class="label">鏂囦欢涓婁紶璇存槑锛�</div>
- <div class="content">闇�涓婁紶鐨勬枃浠讹細鍔冲姩鍚堝悓澶嶅嵃浠躲�佸伐璧勬祦姘淬�佽�冨嫟璁板綍銆佽韩浠借瘉姝e弽闈€�侊紱</div>
+ <div v-if="insurance && insurance.lpMzFileInfo" class="content" v-html="insurance.lpMzFileInfo"></div>
</div>
<div class="box_item_list_row_l">
<div class="desc_data_list_item" v-for="(item, index) in form.outpatientFileList" :key="index">
@@ -255,7 +259,7 @@
<span>{{ item.name }}</span>
</div>
</div>
- <upload width="100px" height="100px" :list="[]" accept=".png,.jpg,.jpeg,.mp4,.word,.xlsx,.xls,.pdf,.excel" folder="settle" @success="claimsUploadFile($event, 2)" />
+ <uploadProgress width="100px" height="100px" :list="[]" folder="settle" @success="claimsUploadFile($event, 2)" />
</div>
</div>
<div class="box_item_list_row" style="width: 100%; margin-bottom: 30px;">
@@ -265,7 +269,7 @@
</div>
<div class="box_item_list_row_info">
<div class="label">鏂囦欢涓婁紶璇存槑锛�</div>
- <div class="content">闇�涓婁紶鐨勬枃浠讹細鍔冲姩鍚堝悓澶嶅嵃浠躲�佸伐璧勬祦姘淬�佽�冨嫟璁板綍銆佽韩浠借瘉姝e弽闈€�侊紱</div>
+ <div v-if="insurance && insurance.lpZyFileInfo" class="content" v-html="insurance.lpZyFileInfo"></div>
</div>
<div class="box_item_list_row_l">
<div class="desc_data_list_item" v-for="(item, index) in form.hospitalFileList" :key="index">
@@ -283,7 +287,7 @@
<span>{{ item.name }}</span>
</div>
</div>
- <upload width="100px" height="100px" :list="[]" accept=".png,.jpg,.jpeg,.mp4,.word,.xlsx,.xls,.pdf,.excel" folder="settle" @success="claimsUploadFile($event, 3)" />
+ <uploadProgress width="100px" height="100px" :list="[]" folder="settle" @success="claimsUploadFile($event, 3)" />
</div>
</div>
<div class="box_item_list_row" style="width: 100%; margin-bottom: 30px;">
@@ -293,7 +297,7 @@
</div>
<div class="box_item_list_row_info">
<div class="label">鏂囦欢涓婁紶璇存槑锛�</div>
- <div class="content">闇�涓婁紶鐨勬枃浠讹細鍔冲姩鍚堝悓澶嶅嵃浠躲�佸伐璧勬祦姘淬�佽�冨嫟璁板綍銆佽韩浠借瘉姝e弽闈€�侊紱</div>
+ <div v-if="insurance && insurance.lpScFileInfo" class="content" v-html="insurance.lpScFileInfo"></div>
</div>
<div class="box_item_list_row_l">
<div class="desc_data_list_item" v-for="(item, index) in form.disabilityFileList" :key="index">
@@ -311,7 +315,7 @@
<span>{{ item.name }}</span>
</div>
</div>
- <upload width="100px" height="100px" :list="[]" accept=".png,.jpg,.jpeg,.mp4,.word,.xlsx,.xls,.pdf,.excel" folder="settle" @success="claimsUploadFile($event, 4)" />
+ <uploadProgress width="100px" height="100px" :list="[]" folder="settle" @success="claimsUploadFile($event, 4)" />
</div>
</div>
<div class="box_item_list_row" style="width: 100%; margin-bottom: 30px;">
@@ -321,7 +325,7 @@
</div>
<div class="box_item_list_row_info">
<div class="label">鏂囦欢涓婁紶璇存槑锛�</div>
- <div class="content">闇�涓婁紶鐨勬枃浠讹細鍔冲姩鍚堝悓澶嶅嵃浠躲�佸伐璧勬祦姘淬�佽�冨嫟璁板綍銆佽韩浠借瘉姝e弽闈€�侊紱</div>
+ <div v-if="insurance && insurance.lpYggxFileInfo" class="content" v-html="insurance.lpYggxFileInfo"></div>
</div>
<div class="box_item_list_row_l">
<div class="desc_data_list_item" v-for="(item, index) in form.otherFileList" :key="index">
@@ -339,7 +343,7 @@
<span>{{ item.name }}</span>
</div>
</div>
- <upload width="100px" height="100px" :list="[]" accept=".png,.jpg,.jpeg,.mp4,.word,.xlsx,.xls,.pdf,.excel" folder="settle" @success="claimsUploadFile($event, 5)" />
+ <uploadProgress width="100px" height="100px" :list="[]" folder="settle" @success="claimsUploadFile($event, 5)" />
</div>
</div>
</div>
@@ -356,17 +360,17 @@
</div>
<div class="box_desc_list">
<div class="box_desc_list_row">
- <el-form-item label="鏀舵閾惰" prop="receiveBank">
+ <el-form-item label="鏀舵閾惰" :prop="userInfo.type === 1 ? '' : 'receiveBank'">
<el-input v-model="form.receiveBank" placeholder="璇疯緭鍏ユ敹娆鹃摱琛屾敮琛屽悕绉�"></el-input>
</el-form-item>
</div>
<div class="box_desc_list_row">
- <el-form-item label="鏀舵浜�" prop="receiveUserName">
+ <el-form-item label="鏀舵浜�" :prop="userInfo.type === 1 ? '' : 'receiveUserName'">
<el-input v-model="form.receiveUserName" placeholder="璇疯緭鍏ュ紑鎴峰鍚�"></el-input>
</el-form-item>
</div>
<div class="box_desc_list_row">
- <el-form-item label="鏀舵璐﹀彿" prop="receiveAccount">
+ <el-form-item label="鏀舵璐﹀彿" :prop="userInfo.type === 1 ? '' : 'receiveAccount'">
<el-input v-model="form.receiveAccount" placeholder="璇疯緭鍏ラ摱琛岃处鍙�"></el-input>
</el-form-item>
</div>
@@ -389,13 +393,13 @@
</el-form>
<div class="box_footer">
<div class="box_footer_btns" v-if="i === 0">
- <el-button type="primary" @click="confirm(0)">鏆傚瓨</el-button>
+ <el-button type="primary" :loading="isWorking" @click="confirm(0)">鏆傚瓨</el-button>
<el-button type="primary" @click="next">涓嬩竴姝�</el-button>
</div>
<div class="box_footer_btns" v-if="i === 1">
- <el-button @click="i--">涓婁竴姝�</el-button>
- <el-button type="primary" @click="confirm(0)">鏆傚瓨</el-button>
- <el-button type="primary" @click="confirm(1)">鎻愪氦</el-button>
+ <el-button @click="previousStep">涓婁竴姝�</el-button>
+ <el-button type="primary" :loading="isWorking" @click="confirm(0)">鏆傚瓨</el-button>
+ <el-button type="primary" :loading="isWorking" @click="confirm(1)">鎻愪氦</el-button>
</div>
</div>
</div>
@@ -410,6 +414,7 @@
import BaseOpera from '@/components/base/BaseOpera'
import GlobalWindow from '@/components/common/GlobalWindow'
import upload from '@/components/common/upload'
+import uploadProgress from '@/components/common/uploadProgress'
import { saveSettleClaims } from '@/api/business/settleRisk'
import { findById } from '@/api/business/settleClaims'
import { findListByDTO } from '@/api/business/member'
@@ -419,14 +424,24 @@
import OperaInsuranceApplyDetails from '@/components/business/OperaInsuranceApplyWindow'
import OperaSettleClaimsWindow from '@/components/business/OperaSettleClaimsWindow'
import { mapState } from 'vuex'
+import { getById } from '@/api/business/insurance'
export default {
name: 'onlineReporting',
extends: BaseOpera,
- components: { GlobalWindow, upload, OperaSettleClaimsWindow, OperaWtbApplyShopWindow, OperaInsuranceApplyDetails },
+ components: { GlobalWindow, upload,uploadProgress, OperaSettleClaimsWindow, OperaWtbApplyShopWindow, OperaInsuranceApplyDetails },
computed: {
...mapState(['userInfo'])
},
data () {
+ var checkPhone = (rule, value, callback) => {
+ if (value === '') {
+ callback(new Error('璇疯緭鍏�'));
+ } else if (!/^[1]\d{10}$/.test(value)) {
+ callback(new Error('鎵嬫満鍙蜂笉鍚堟硶'));
+ } else {
+ callback();
+ }
+ };
return {
i: 0,
id: null,
@@ -516,16 +531,17 @@
{ required: true, message: '涓嶈兘涓虹┖' }
],
informantPhone: [
- { required: true, message: '涓嶈兘涓虹┖' }
+ { required: true, validator: checkPhone }
]
},
pickerOptions: {
- disabledDate(time) {
- return time.getTime() > Date.now(); // 绂佺敤鏈潵鐨勬棩鏈�
+ disabledDate (time) {
+ return time.getTime() > Date.now() // 绂佺敤鏈潵鐨勬棩鏈�
}
},
area: [],
user: [],
+ insurance: null,
solutionList: []
}
},
@@ -538,6 +554,7 @@
methods: {
open (title, id) {
this.title = title
+ this.continueReporting()
this.form.area = []
this.i = 0
this.solutionList = []
@@ -545,6 +562,7 @@
this.user = []
this.getUser()
this.getCityTree()
+ this.insurance = {}
if (id) {
findById(id)
.then(res => {
@@ -560,12 +578,13 @@
.then(res1 => {
res1.forEach(item => {
if (item.id === res.applyDetailId) {
+ this.getInsuranceFile(item)//鑾峰彇淇濋櫓鏂规鏂囦欢璇存槑
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())
+ return (time.getTime() < start.getTime() || time.getTime() > end.getTime())
}
}
} else {
@@ -583,6 +602,9 @@
this.form.informantName = this.userInfo.realname
})
}
+ },
+ openLinkUrl(url){
+ window.open(url)
},
continueReporting () {
this.i = 0
@@ -675,6 +697,13 @@
this.form.reportFileList.splice(index, 1)
}
},
+ getInsuranceFile (obj) {
+ this.insurance = null
+ getById(obj.insuranceId,1)
+ .then(res => {
+ this.insurance = res
+ })
+ },
claimsUploadFile (file, type) {
file.fileurl = file.imgaddr
file.name = file.originname
@@ -696,30 +725,31 @@
getSolutions (id) {
const row = this.user.filter(item => item.id === id)
this.form.idcardNo = row[0].idcardNo
- findList({ memberId: id })
+ findList({ memberId: id, isSettleClaims: 1 })
.then(res => {
this.form.insuranceApplyId = ''
- res.forEach(item=> {
- item.active = false
+ res.forEach(item => {
+ item.active = false
})
this.solutionList = res
- this.changeSolution(null,0)
+ this.changeSolution(null, 0)
})
},
changeSolution (e, i) {
this.pickerOptions = {}
- if(this.solutionList.length < i){
+ 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.getInsuranceFile(obj)
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())
+ return (time.getTime() < start.getTime() || time.getTime() > end.getTime())
}
}
this.form.insuranceApplyId = obj.applyId
@@ -739,40 +769,37 @@
}
},
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
+ this.$refs.form.validate((valid) => {
+ if (!valid) return;
+ this.isWorking = true
+ saveSettleClaims({ ...this.form, saveType })
+ .then(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
+ })
})
},
+ previousStep() {
+ this.i--
+ var element = document.getElementById('section1');
+ element.scrollIntoView({ behavior: 'smooth' });
+ },
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
- // })
+ var element = document.getElementById('section1');
+ element.scrollIntoView({ behavior: 'smooth' });
})
}
}
--
Gitblit v1.9.3