From 3a45da15c947c2d478a44a51bd0f926647b1b841 Mon Sep 17 00:00:00 2001
From: MrShi <1878285526@qq.com>
Date: 星期五, 11 四月 2025 16:33:17 +0800
Subject: [PATCH] 提交
---
company/src/components/business/OperaSettleClaimsWindow.vue | 360 ++++++++++++++++++++++++++++++-----------------------------
1 files changed, 181 insertions(+), 179 deletions(-)
diff --git a/company/src/components/business/OperaSettleClaimsWindow.vue b/company/src/components/business/OperaSettleClaimsWindow.vue
index 022d158..e35dfb2 100644
--- a/company/src/components/business/OperaSettleClaimsWindow.vue
+++ b/company/src/components/business/OperaSettleClaimsWindow.vue
@@ -157,6 +157,10 @@
<div class="desc_list_item_val"> {{model.informantPhone}} </div>
</div>
<div class="desc_list_item" style="width: 100%;">
+ <div class="desc_list_item_label"> 琚繚闄╀汉锛� </div>
+ <div class="desc_list_item_val">{{model.companyName}}</div>
+ </div>
+ <div class="desc_list_item" style="width: 100%;">
<div class="desc_list_item_label"> 浜嬫晠鎻忚堪锛� </div>
<div class="desc_list_item_val">{{model.content}}</div>
</div>
@@ -167,7 +171,7 @@
<div class="desc_list_item_videos" v-if="model.reportFileList && model.reportFileList.length > 0">
<div class="desc_list_item_imgs_video" v-for="(item, index) in model.reportFileList" :key="index">
<img :src="item.fileurlFull" v-if="item.type === 0" />
- <video controls autoplay :src="item.fileurlFull" v-if="item.type === 1"></video>
+ <video controls :src="item.fileurlFull" v-if="item.type === 1"></video>
</div>
</div>
<div v-else class="desc_list_item_videos">-</div>
@@ -213,7 +217,7 @@
<template v-if="(model.relationFileList==null|| model.relationFileList.length==0) && (model.status ==1 || model.status ==4)">
<span style="height: 40px; width:100%;text-align:center;color: #8c939d;font-size: 12px">鏆傛棤鐩稿叧鏉愭枡</span>
</template>
- <upload v-if="model.status !=1 && model.status !=4" width="100px" height="100px" :list="[]" accept=".png,.jpg,.jpeg,.mp4,.word,.xlsx,.xls,.pdf,.excel" folder="settle" @success="claimsUploadFile($event, 2)" />
+ <upload v-if="model.status !=1 && model.status !=4" width="100px" height="100px" :list="[]" accept=".png,.jpg,.jpeg,.mp4,.word,.xlsx,.xls,.pdf,.excel" folder="settle" @loading="loading = true" @success="claimsUploadFile($event, 2)" />
<!-- <div class="desc_data_list_item">-->
<!-- <UploadFileCommon :uploadData="{ folder: 'settle' }" />-->
<!-- <div class="desc_data_list_item_upload">-->
@@ -254,7 +258,7 @@
<template v-if="(model.outpatientFileList==null|| model.outpatientFileList.length==0) && (model.status ==2 || model.status ==4)">
<span style="height: 40px; width:100%;text-align:center;color: #8c939d;font-size: 12px">鏆傛棤鐩稿叧鏉愭枡</span>
</template>
- <upload v-if="model.status !=1 && model.status !=4" width="100px" height="100px" :list="[]" accept=".png,.jpg,.jpeg,.mp4,.word,.xlsx,.xls,.pdf,.excel" folder="settle" @success="claimsUploadFile($event, 3)" />
+ <upload v-if="model.status !=1 && model.status !=4" width="100px" height="100px" :list="[]" accept=".png,.jpg,.jpeg,.mp4,.word,.xlsx,.xls,.pdf,.excel" folder="settle" @loading="loading = true" @success="claimsUploadFile($event, 3)" />
<!-- <div class="desc_data_list_item">-->
<!-- <div class="desc_data_list_item_img" style="cursor: pointer; background: #8c939d;">-->
<!-- <i class="el-icon-plus"></i>-->
@@ -287,7 +291,7 @@
<template v-if="(model.hospitalFileList==null|| model.hospitalFileList.length==0) && (model.status ==2 || model.status ==4)">
<span style="height: 40px; width:100%;text-align:center;color: #8c939d;font-size: 12px">鏆傛棤鐩稿叧鏉愭枡</span>
</template>
- <upload v-if="model.status !=1 && model.status !=4" width="100px" height="100px" :list="[]" accept=".png,.jpg,.jpeg,.mp4,.word,.xlsx,.xls,.pdf,.excel" folder="settle" @success="claimsUploadFile($event, 4)" />
+ <upload v-if="model.status !=1 && model.status !=4" width="100px" height="100px" :list="[]" accept=".png,.jpg,.jpeg,.mp4,.word,.xlsx,.xls,.pdf,.excel" folder="settle" @loading="loading = true" @success="claimsUploadFile($event, 4)" />
<!-- <div class="desc_data_list_item">-->
<!-- <div class="desc_data_list_item_img" style="cursor: pointer; background: #8c939d;">-->
<!-- <i class="el-icon-plus"></i>-->
@@ -320,7 +324,7 @@
<template v-if="(model.disabilityFileList==null|| model.disabilityFileList.length==0) && (model.status ==2 || model.status ==4)">
<span style=" height: 40px;width:100%;text-align:center;color: #8c939d;font-size: 12px">鏆傛棤鐩稿叧鏉愭枡</span>
</template>
- <upload v-if="model.status !=1 && model.status !=4" width="100px" height="100px" :list="[]" accept=".png,.jpg,.jpeg,.mp4,.word,.xlsx,.xls,.pdf,.excel" folder="settle" @success="claimsUploadFile($event, 5)" />
+ <upload v-if="model.status !=1 && model.status !=4" width="100px" height="100px" :list="[]" accept=".png,.jpg,.jpeg,.mp4,.word,.xlsx,.xls,.pdf,.excel" folder="settle" @loading="loading = true" @success="claimsUploadFile($event, 5)" />
<!-- <div class="desc_data_list_item">-->
<!-- <UploadFileCommon :uploadData="{ folder: 'apply',fileType:'.pdf' }" :fileList="form.fileList1" @uploadSuccess="baoxianFileUploaded" />-->
<!--<!– <div class="desc_data_list_item_img" style="cursor: pointer; background: #8c939d;">-->
@@ -357,7 +361,7 @@
<template v-if="(model.compensationFileList==null|| model.compensationFileList.length==0) && (model.status ==2 || model.status ==4)">
<span style=" height: 40px;width:100%;text-align:center;color: #8c939d;font-size: 12px">鏆傛棤鐩稿叧鏉愭枡</span>
</template>
- <upload v-if="model.status !=1 && model.status !=4" width="100px" height="100px" :list="[]" accept=".png,.jpg,.jpeg,.mp4,.word,.xlsx,.xls,.pdf,.excel" folder="settle" @success="claimsUploadFile($event, 6)" />
+ <upload v-if="model.status !=1 && model.status !=4" width="100px" height="100px" :list="[]" accept=".png,.jpg,.jpeg,.mp4,.word,.xlsx,.xls,.pdf,.excel" folder="settle" @loading="loading = true" @success="claimsUploadFile($event, 6)" />
<!-- <div class="desc_data_list_item">-->
<!-- <div class="desc_data_list_item_img" style="cursor: pointer; background: #8c939d;">-->
<!-- <i class="el-icon-plus"></i>-->
@@ -381,7 +385,7 @@
<div class="desc_times">
<el-timeline :reverse="reverse">
<el-timeline-item
- v-for="(activity, index) in model.settleClaimsLogList"
+ v-for="(activity, index) in activeLogList"
:key="index"
:timestamp="activity.timestamp">
<div style="display: flex; flex-direction: column;" v-if="activity.objType==3">
@@ -399,7 +403,7 @@
{{activity.content}}
</span>
<span style="margin-top: 5px; font-size: 12px; font-weight: 400; color: #999999;">
- 鎿嶄綔鍛�-{{activity.creatorName}}锛坽{activity.creatorType==1? activity.companyName: "骞冲彴绔�"}}锛墈{activity.createDate}}
+ 鎿嶄綔鍛�-{{activity.creatorName}}锛坽{(activity.creatorType == 1||activity.creatorType == 2)? activity.companyName: "骞冲彴绔�"}}锛墈{activity.createDate}}
</span>
</div>
<div style="display: flex; flex-direction: column;" v-else>
@@ -410,7 +414,7 @@
</span>
</span>
<span style="margin-top: 5px; font-size: 12px; font-weight: 400; color: #999999;">
- 鎿嶄綔鍛�-{{activity.creatorName}}锛坽{activity.creatorType==1? activity.companyName: "骞冲彴绔�"}}锛墈{activity.createDate}}
+ 鎿嶄綔鍛�-{{activity.creatorName}}锛坽{(activity.creatorType == 1||activity.creatorType == 2)? activity.companyName: "骞冲彴绔�"}}锛墈{activity.createDate}}
</span>
</div>
</el-timeline-item>
@@ -432,168 +436,171 @@
<script>
- import UploadFileCommon from '@/components/common/UploadFileCommon'
- import BaseOpera from '@/components/base/BaseOpera'
- import GlobalWindow from '@/components/common/GlobalWindow'
- import OperaSettleClaimsCheckWindow from '@/components/business/OperaSettleClaimsCheckWindow'
- import onlineReporting from '@/components/enterprise/onlineReporting'
- import supplementaryExplanation from '@/components/enterprise/supplementaryExplanation'
- import OperaInsuranceApplyDetails from '@/components/business/OperaInsuranceApplyWindow'
- import upload from '@/components/common/upload'
- import {confirmFile, findById,exportFiles,claimsUploadFile,delFile} from '@/api/business/settleClaims'
- import { mapState } from 'vuex'
- export default {
- name: 'OperaSettleClaimsWindow',
- extends: BaseOpera,
- components: { GlobalWindow, OperaSettleClaimsCheckWindow, OperaInsuranceApplyDetails, UploadFileCommon, onlineReporting, supplementaryExplanation, upload },
- data () {
- return {
- loading: false,
- doneFileDate: null,
- remarkLogList: [],
- list: [],
- model: {},
- activeName: 'first',
- reverse: false
- }
- },
- computed: {
- ...mapState(['userInfo'])
- },
- created () {
- this.config({
- api: '/business/settleClaims',
- 'field.id': 'id'
- })
- },
- methods: {
- open(title,target){
- this.model = {}
- this.model = target
- this.title = title
- this.visible = true
- this.doneFileDate = null
- this.remarkLogList = []
- this.getDetail()
- },
- // 鍒ゆ柇涓や釜鏃堕棿涔嬮棿鐩稿樊鏄惁
- contrast24(time1, time2) {
- console.log(time1)
- console.log(time2)
- if (time1 && time2) {
- let a = new Date(time1)
- let b = new Date(time2)
- let timeDiff = Math.abs(a.getTime() - b.getTime());
- console.log(Math.ceil(timeDiff / (3600 * 1000)))
- return Math.ceil(timeDiff / (3600 * 1000)) <= 24;
- } else {
- return false
- }
- },
- contrast(time1, time2) {
- if (time1 && time2) {
- let a = new Date(time1).getTime()
- let b = new Date(time2).getTime()
- return a > b
- } else {
- return false
- }
- },
- edit() {
- let obj = JSON.parse(JSON.stringify(this.model))
- obj.areaId = obj.areaId.split(',').map(item => Number(item))
- this.$refs.onlineReporting.open('淇敼淇℃伅', obj)
- },
- openBaoxiandan(){
- window.open(this.model.baoxiandanFile.fileurlFull);
- },
- delFile(id){
- this.$dialog.messageConfirm('纭鍒犻櫎璇ラ檮浠跺悧锛屼竴鏃﹀垹闄ゆ棤娉曟挙鍥烇紵')
- .then(() => {
- delFile(this.model.id, id).then(response => {
- this.getDetail()
- }).catch(err => {
- this.$tip.apiFailed(err)
- })
- })
- },
- getDetail(){
- findById( this.model.id)
- .then(res => {
- this.model = res
- this.remarkLogList = []
- var logList = this.model.settleClaimsLogList
- if (logList) {
- logList.forEach(item => {
- if (item.objType == 2) {
- this.doneFileDate = item.createDate
- }
- if (item.objType==7) {
- this.remarkLogList.push(item)
- }
- })
- }
- }).catch(err => {
-
- })
- },
- handleClick(tab) {
- this.activeName = tab.name
- },
- callback(){
- this.getDetail()
- this.$emit('success')
- },
- claimsUploadFile(e, objType) {
- this.loading = true
- claimsUploadFile({
- id: this.model.id,
- objType,
- fileUrl: e.imgaddr,
- fileName: e.originname,
- fileType: e.type
- }).then(response => {
- this.getDetail()
- }).catch(err => {
- this.$tip.apiFailed(err)
- }).finally(() => {
- this.loading = false
- })
- },
- submit(type) {
- var that = this
- if (type == 0) {
- this.$dialog.messageConfirm('鐞嗚禂鏉愭枡鏀堕泦瀹屾垚锛岃鍙婃椂鎻愪氦淇濋櫓鍏徃锛�')
- .then(() => {
- // this.isWorking = true
- confirmFile({id:that.model.id})
- .then(response => {
- that.getDetail()
- }).catch(err => {
- this.$tip.apiFailed(err)
- })
- })
- }else if(type == 1){
- //璧勬枡涓嬭浇
- this.$dialog.exportConfirm('纭杩涜璧勬枡涓嬭浇鍚楋紵')
- .then(() => {
- this.isWorking = true
- exportFiles({ id: that.model.id })
- .then(response => {
- this.download(response)
- }).catch(err => {
- console.log(err)
- this.$message.error("涓嬭浇璧勬枡澶辫触锛岃纭璧勬枡鏁版嵁涓嶄负绌�")
- }).finally(() => {
- this.isWorking = false
- })
- })
- .catch(() => {
- })
- }
- }
- }
+import UploadFileCommon from '@/components/common/UploadFileCommon'
+import BaseOpera from '@/components/base/BaseOpera'
+import GlobalWindow from '@/components/common/GlobalWindow'
+import OperaSettleClaimsCheckWindow from '@/components/business/OperaSettleClaimsCheckWindow'
+import onlineReporting from '@/components/enterprise/onlineReporting'
+import supplementaryExplanation from '@/components/enterprise/supplementaryExplanation'
+import OperaInsuranceApplyDetails from '@/components/business/OperaInsuranceApplyWindow'
+import upload from '@/components/common/upload'
+import { confirmFile, findById, exportFiles, claimsUploadFile, delFile } from '@/api/business/settleClaims'
+import { mapState } from 'vuex'
+export default {
+ name: 'OperaSettleClaimsWindow',
+ extends: BaseOpera,
+ components: { GlobalWindow, OperaSettleClaimsCheckWindow, OperaInsuranceApplyDetails, UploadFileCommon, onlineReporting, supplementaryExplanation, upload },
+ data () {
+ return {
+ loading: false,
+ doneFileDate: null,
+ remarkLogList: [],
+ activeLogList:[],
+ list: [],
+ model: {},
+ activeName: 'first',
+ reverse: false
}
+ },
+ computed: {
+ ...mapState(['userInfo'])
+ },
+ created () {
+ this.config({
+ api: '/business/settleClaims',
+ 'field.id': 'id'
+ })
+ },
+ methods: {
+ open (title, target) {
+ this.model = {}
+ this.model = target
+ this.title = title
+ this.visible = true
+ this.doneFileDate = null
+ this.remarkLogList = []
+ this.activeLogList = []
+ this.getDetail()
+ },
+ // 鍒ゆ柇涓や釜鏃堕棿涔嬮棿鐩稿樊鏄惁
+ contrast24 (time1, time2) {
+ console.log(time1)
+ console.log(time2)
+ if (time1 && time2) {
+ const a = new Date(time1)
+ const b = new Date(time2)
+ const timeDiff = Math.abs(a.getTime() - b.getTime())
+ console.log(Math.ceil(timeDiff / (3600 * 1000)))
+ return Math.ceil(timeDiff / (3600 * 1000)) <= 24
+ } else {
+ return false
+ }
+ },
+ contrast (time1, time2) {
+ if (time1 && time2) {
+ const a = new Date(time1).getTime()
+ const b = new Date(time2).getTime()
+ return a > b
+ } else {
+ return false
+ }
+ },
+ edit () {
+ const obj = JSON.parse(JSON.stringify(this.model))
+ obj.areaId = obj.areaId.split(',').map(item => Number(item))
+ this.$refs.onlineReporting.open('淇敼淇℃伅', obj)
+ },
+ openBaoxiandan () {
+ window.open(this.model.baoxiandanFile.fileurlFull)
+ },
+ delFile (id) {
+ this.$dialog.messageConfirm('纭鍒犻櫎璇ラ檮浠跺悧锛屼竴鏃﹀垹闄ゆ棤娉曟挙鍥烇紵')
+ .then(() => {
+ delFile(this.model.id, id).then(response => {
+ this.getDetail()
+ }).catch(err => {
+ this.$tip.apiFailed(err)
+ })
+ })
+ },
+ getDetail () {
+ findById(this.model.id)
+ .then(res => {
+ this.model = res
+ this.remarkLogList = []
+ this.activeLogList =[]
+ var logList = this.model.settleClaimsLogList
+ if (logList) {
+ logList.forEach(item => {
+ if (item.objType == 2) {
+ this.doneFileDate = item.createDate
+ }
+ if (item.objType == 7) {
+ this.remarkLogList.push(item)
+ } else {
+ this.activeLogList.push(item)
+ }
+ })
+ }
+ }).catch(err => {
+ })
+ },
+ handleClick (tab) {
+ this.activeName = tab.name
+ },
+ callback () {
+ this.getDetail()
+ this.$emit('success')
+ },
+ claimsUploadFile (e, objType) {
+ claimsUploadFile({
+ id: this.model.id,
+ objType,
+ fileUrl: e.imgaddr,
+ fileName: e.originname,
+ fileType: e.type
+ }).then(response => {
+ this.getDetail()
+ }).catch(err => {
+ this.$tip.apiFailed(err)
+ }).finally(() => {
+ this.loading = false
+ })
+ },
+ submit (type) {
+ var that = this
+ if (type == 0) {
+ this.$dialog.messageConfirm('鐞嗚禂鏉愭枡鏀堕泦瀹屾垚锛岃鍙婃椂鎻愪氦淇濋櫓鍏徃锛�')
+ .then(() => {
+ // this.isWorking = true
+ confirmFile({ id: that.model.id })
+ .then(response => {
+ that.getDetail()
+ }).catch(err => {
+ this.$tip.apiFailed(err)
+ })
+ })
+ } else if (type == 1) {
+ // 璧勬枡涓嬭浇
+ this.$dialog.exportConfirm('纭杩涜璧勬枡涓嬭浇鍚楋紵')
+ .then(() => {
+ this.isWorking = true
+ exportFiles({ id: that.model.id })
+ .then(response => {
+ this.download(response)
+ }).catch(err => {
+ console.log(err)
+ this.$message.error('涓嬭浇璧勬枡澶辫触锛岃纭璧勬枡鏁版嵁涓嶄负绌�')
+ }).finally(() => {
+ this.isWorking = false
+ })
+ })
+ .catch(() => {
+ })
+ }
+ }
+ }
+}
</script>
<style>
.v-modal {
@@ -833,19 +840,14 @@
word-break: break-all;
span {
&:nth-child(1) {
- width: 100%;
- word-break: break-all;
+ width: 160px;
+ white-space: nowrap;
+ overflow: hidden;
+ text-overflow: ellipsis;
font-size: 14px;
color: black;
padding-right: 30px;
box-sizing: border-box;
- overflow: hidden;
- text-overflow: ellipsis;
- white-space: normal;
- word-wrap: break-word;
- -webkit-line-clamp: 2; /* Webkit寮曟搸 */
- -webkit-box-orient: vertical; /* Webkit寮曟搸 */
- -moz-line-clamp: 2; /* Firefox娴忚鍣� */
}
&:nth-child(2) {
width: 100%;
--
Gitblit v1.9.3