company/src/api/business/applyChange.js | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
company/src/api/business/member.js | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
company/src/api/business/settleClaims.js | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
company/src/api/system/common.js | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
company/src/components/business/OperaSettleClaimsWindow.vue | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
company/src/components/common/upload.vue | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
company/src/components/enterprise/onlineReporting.vue | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
company/src/components/enterprise/selectSolutions.vue | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
company/src/components/enterprise/supplementaryExplanation.vue | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
company/src/utils/request.js | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
company/src/views/business/settleClaims.vue | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
company/src/views/enterprise/add_subtract.vue | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 |
company/src/api/business/applyChange.js
@@ -21,3 +21,8 @@ export function getChangeCountCyclePriceVO (data) { return request.post('/business/applyChange/getChangeCountCyclePriceVO', data) } // å表æ¥è¯¢ export function findList (data) { return request.post('/business/applyDetail/findList', data) } company/src/api/business/member.js
@@ -21,3 +21,8 @@ export function importExcel (data) { return request.post('/business/member/importExcel', data) } // å表æ¥è¯¢ export function findList (data) { return request.post('/business/memberInsurance/findList', data) } company/src/api/business/settleClaims.js
@@ -56,6 +56,17 @@ export function findById (id) { return request.get(`business/settleClaims/${id}`) } export function delFile (id,fileId) { return request.get(`business/settleClaims/delFile/${id}/${fileId}`) } // æ°å»º export function create (data) { return request.post('/business/settleClaims/create', data) } // è¡¥å 说æ export function supplement (data) { return request.post('/business/settleClaims/supplement', data) } company/src/api/system/common.js
@@ -45,4 +45,9 @@ // ä¸ä¼ æ¥å£ export function upload (data) { return request.post('/public/upload', data) } } // åºåæ å表 export function findTreeList (data) { return request.post('/business/areas/findTreeList', data) } company/src/components/business/OperaSettleClaimsWindow.vue
@@ -12,18 +12,24 @@ <span class="desc_label_left_title"> æ¥æ¡è¯¦æ </span> <span class="desc_label_left_time"> <span class="desc_label_left_time" :style="contrast(model.createDate, model.baoxianEndTime) ? 'rgba(249, 86, 1, 0.996)' : 'black'"> æ¥æ¡æ¥æï¼{{ model.createDate }} </span> <span class="desc_label_left_code"> æ¥æ¡å·ï¼{{ model.reportNum }} æ¥æ¡å·ï¼{{ model.reportNum || '-' }} </span> </div> <div class="desc_label_right"> <el-button type="primary" v-if="model.status !=1 && model.status !=4" @click="$refs.operaInsuranceApplyCheckWindow.open('æ·»å æ¥æ¡å·',model,remarkLogList,1)">æ·»å æ¥æ¡å·</el-button> <el-button type="primary" v-if="model.status !=1 && model.status !=4" @click="$refs.operaInsuranceApplyCheckWindow.open('çèµå¤ç',model,remarkLogList,2)">çèµå¤ç</el-button> <el-button type="primary" v-if="model.status !=1 && model.status !=4" @click="$refs.operaInsuranceApplyCheckWindow.open('ç»æ¡æäº¤',model,remarkLogList,4)">ç»æ¡æäº¤</el-button> <el-button type="danger" v-if="model.status !=1 && model.status !=4" @click="$refs.operaInsuranceApplyCheckWindow.open('æ¤éç³è¯·',model,remarkLogList,3)">æ¤éç³è¯·</el-button> <template v-if="userInfo.type === 0"> <el-button type="primary" v-if="model.status !=1 && model.status !=4" @click="$refs.operaInsuranceApplyCheckWindow.open('æ·»å æ¥æ¡å·',model,remarkLogList,1)">æ·»å æ¥æ¡å·</el-button> <el-button type="primary" v-if="model.status !=1 && model.status !=4" @click="$refs.operaInsuranceApplyCheckWindow.open('çèµå¤ç',model,remarkLogList,2)">çèµå¤ç</el-button> <el-button type="primary" v-if="model.status !=1 && model.status !=4" @click="$refs.operaInsuranceApplyCheckWindow.open('ç»æ¡æäº¤',model,remarkLogList,4)">ç»æ¡æäº¤</el-button> <el-button type="danger" v-if="model.status !=1 && model.status !=4" @click="$refs.operaInsuranceApplyCheckWindow.open('æ¤éç³è¯·',model,remarkLogList,3)">æ¤éç³è¯·</el-button> </template> <template v-else> <el-button type="primary" @click="edit" v-if="model.status === 0">ä¿®æ¹ä¿¡æ¯</el-button> <el-button type="primary" @click="$refs.supplementaryExplanation.open('è¡¥å 说æ', model.id)" v-if="model.status === 0">è¡¥å 说æ</el-button> </template> </div> </div> <div class="desc_list"> @@ -47,7 +53,7 @@ <div class="desc_list_item_label"> äºæ åçæ¶é´ï¼ </div> <div class="desc_list_item_val"> <div class="desc_list_item_val" :style="contrast24(model.createDate, model.baoxianStartTime) ? 'rgba(249, 86, 1, 0.996)' : 'black'"> {{ model.createDate }} </div> </div> @@ -56,7 +62,7 @@ æå±ä¿åå·ï¼ </div> <div class="desc_list_item_val" style="cursor: pointer; color: rgba(39, 157, 255, 0.968627450980392);"> {{ model.applyCode }} {{ model.applyCode || '-' }} <el-button v-if="model.baoxiandanFile && model.baoxiandanFile.fileurlFull" type="primary" style="margin-left: 10px;" @click="openBaoxiandan">æ¥çä¿é©å</el-button> </div> </div> @@ -152,9 +158,10 @@ <div class="desc_list_item_label"> æ¥æ¡è§é¢ï¼ </div> <div v-if="model.reportFileList && model.reportFileList.length>0" class="desc_list_item_videos"> <div class="desc_list_item_imgs_video" v-for="(item, index) in reportFileList" :key="index"> <video src="${item.fileurlFull}"></video> <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 === 2" /> <video controls autoplay :src="item.fileurlFull" v-if="item.type === 1"></video> </div> </div> <div v-else class="desc_list_item_videos">-</div> @@ -171,19 +178,24 @@ </span> </div> <div class="desc_label_right"> <el-button type="primary" v-if="model.status !=1 && model.status !=4" @click="$refs.operaInsuranceApplyCheckWindow.open('夿³¨æ ç¾',model,remarkLogList,5)">夿³¨æ ç¾</el-button> <el-button type="primary" v-if="model.status !=1 && model.status !=4" @click="submit(0)">èµæç¡®è®¤</el-button> <template v-if="userInfo.type === 0"> <el-button type="primary" v-if="model.status !=1 && model.status !=4" @click="$refs.operaInsuranceApplyCheckWindow.open('夿³¨æ ç¾',model,remarkLogList,5)">夿³¨æ ç¾</el-button> <el-button type="primary" v-if="model.status !=1 && model.status !=4" @click="submit(0)">èµæç¡®è®¤</el-button> </template> <el-button type="primary" @click="submit(1)">èµæä¸è½½</el-button> </div> </div> <div class="desc_data"> <div class="desc_data_label">1. åå·¥å ³ç³»è¯æèµæ</div> <div class="desc_data_list"> <template v-if="model.relationFileList && model.relationFileList"> <template v-if="model.relationFileList && model.relationFileList.length > 0"> <div class="desc_data_list_item" v-for="(item, index) in model.relationFileList" :key="index"> <div class="desc_data_list_item_dele" @click="delFile(item.id)">å é¤</div> <div class="desc_data_list_item_img" v-if="item.type ==0 && item.fileurlFull!=null"> <div class="desc_data_list_item_img" v-if="item.type == 0 && item.fileurlFull != null"> <img :src="item.fileurlFull" /> </div> <div class="desc_data_list_item_img" v-if="item.type == 1 && item.fileurlFull != null"> <video controls :src="item.fileurlFull" /> </div> <div class="desc_data_list_item_info"> <span>{{ item.name }}</span> @@ -192,33 +204,37 @@ </div> </div> </template> <div class="desc_data_list_item"> <UploadFileCommon :uploadData="{ folder: 'settle' }" :file="file1" @uploadSuccess="file1Uploaded()" /> <div class="desc_data_list_item_upload"> <el-button type="primary">ä¸ä¼ </el-button> <el-button>åæ¶</el-button> </div> </div> <div class="desc_data_list_item1"></div> <div class="desc_data_list_item1"></div> <upload width="100px" height="100px" :list="[]" accept=".png,.jpg,.jpeg,.mp4,.word,.xlsx,.xls,.pdf,.excel" folder="settle" @success="claimsUploadFile($event, 2)" /> <!-- <div class="desc_data_list_item">--> <!-- <UploadFileCommon :uploadData="{ folder: 'settle' }" />--> <!-- <div class="desc_data_list_item_upload">--> <!-- <el-button type="primary">ä¸ä¼ </el-button>--> <!-- <el-button>åæ¶</el-button>--> <!-- </div>--> <!-- </div>--> <!-- <div class="desc_data_list_item1"></div>--> <!-- <div class="desc_data_list_item1"></div>--> </div> </div> <div class="desc_data"> <div class="desc_data_label">2. å»çèµæ</div> <div class="desc_data_cate"> <el-tabs v-model="activeName" @tab-click="handleClick"> <el-tabs v-model="activeName" @tab-click="handleClick"> <el-tab-pane label="é¨è¯" name="first"></el-tab-pane> <el-tab-pane label="ä½é¢èµæ" name="second"></el-tab-pane> <el-tab-pane label="伤æ®" name="third"></el-tab-pane> </el-tabs> </div> <div class="desc_data_list" v-if="activeName=='first'"> <div class="desc_data_list" v-if="activeName === 'first'"> <template v-if="model.outpatientFileList && model.outpatientFileList"> <div class="desc_data_list_item" v-for="(item, index) in model.outpatientFileList" :key="index"> <div class="desc_data_list_item_dele" @click="delFile(item.id)">å é¤</div> <div class="desc_data_list_item_img" v-if="item.type ==0 && item.fileurlFull!=null"> <img :src="item.fileurlFull" /> </div> <div class="desc_data_list_item_img" v-if="item.type == 0 && item.fileurlFull != null"> <img :src="item.fileurlFull" /> </div> <div class="desc_data_list_item_img" v-if="item.type == 1 && item.fileurlFull != null"> <video controls :src="item.fileurlFull" /> </div> <div class="desc_data_list_item_info"> <span>{{ item.name }}</span> <span>æä½å-{{ item.creatorName }}</span> @@ -226,25 +242,29 @@ </div> </div> </template> <div class="desc_data_list_item"> <div class="desc_data_list_item_img" style="cursor: pointer; background: #8c939d;"> <i class="el-icon-plus"></i> </div> <div class="desc_data_list_item_upload"> <el-button type="primary">ä¸ä¼ </el-button> <el-button>åæ¶</el-button> </div> </div> <div class="desc_data_list_item1"></div> <div class="desc_data_list_item1"></div> <upload width="100px" height="100px" :list="[]" accept=".png,.jpg,.jpeg,.mp4,.word,.xlsx,.xls,.pdf,.excel" folder="settle" @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>--> <!-- </div>--> <!-- <div class="desc_data_list_item_upload">--> <!-- <el-button type="primary">ä¸ä¼ </el-button>--> <!-- <el-button>åæ¶</el-button>--> <!-- </div>--> <!-- </div>--> <!-- <div class="desc_data_list_item1"></div>--> <!-- <div class="desc_data_list_item1"></div>--> </div> <div class="desc_data_list" v-if="activeName=='second'"> <template v-if="model.outpatientFileList && model.outpatientFileList"> <div class="desc_data_list_item" v-for="(item, index) in model.outpatientFileList" :key="index"> <div class="desc_data_list" v-else-if="activeName === 'second'"> <template v-if="model.hospitalFileList && model.hospitalFileList"> <div class="desc_data_list_item" v-for="(item, index) in model.hospitalFileList" :key="index"> <div class="desc_data_list_item_dele" @click="delFile(item.id)">å é¤</div> <div class="desc_data_list_item_img" v-if="item.type ==0 && item.fileurlFull!=null"> <img :src="item.fileurlFull" /> </div> <div class="desc_data_list_item_img" v-if="item.type == 0 && item.fileurlFull != null"> <img :src="item.fileurlFull" /> </div> <div class="desc_data_list_item_img" v-if="item.type == 1 && item.fileurlFull != null"> <video controls :src="item.fileurlFull" /> </div> <div class="desc_data_list_item_info"> <span>{{ item.name }}</span> <span>æä½å-{{ item.creatorName }}</span> @@ -252,25 +272,29 @@ </div> </div> </template> <div class="desc_data_list_item"> <div class="desc_data_list_item_img" style="cursor: pointer; background: #8c939d;"> <i class="el-icon-plus"></i> </div> <div class="desc_data_list_item_upload"> <el-button type="primary">ä¸ä¼ </el-button> <el-button>åæ¶</el-button> </div> </div> <div class="desc_data_list_item1"></div> <div class="desc_data_list_item1"></div> <upload width="100px" height="100px" :list="[]" accept=".png,.jpg,.jpeg,.mp4,.word,.xlsx,.xls,.pdf,.excel" folder="settle" @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>--> <!-- </div>--> <!-- <div class="desc_data_list_item_upload">--> <!-- <el-button type="primary">ä¸ä¼ </el-button>--> <!-- <el-button>åæ¶</el-button>--> <!-- </div>--> <!-- </div>--> <!-- <div class="desc_data_list_item1"></div>--> <!-- <div class="desc_data_list_item1"></div>--> </div> <div class="desc_data_list" v-if="activeName=='third'"> <template v-if="model.outpatientFileList && model.outpatientFileList"> <div class="desc_data_list_item" v-for="(item, index) in model.outpatientFileList" :key="index"> <div class="desc_data_list" v-else-if="activeName === 'third'"> <template v-if="model.disabilityFileList && model.disabilityFileList"> <div class="desc_data_list_item" v-for="(item, index) in model.disabilityFileList" :key="index"> <div class="desc_data_list_item_dele" @click="delFile(item.id)">å é¤</div> <div class="desc_data_list_item_img" v-if="item.type ==0 && item.fileurlFull!=null"> <img :src="item.fileurlFull" /> </div> <div class="desc_data_list_item_img" v-if="item.type == 0 && item.fileurlFull != null"> <img :src="item.fileurlFull" /> </div> <div class="desc_data_list_item_img" v-if="item.type == 1 && item.fileurlFull != null"> <video controls :src="item.fileurlFull" /> </div> <div class="desc_data_list_item_info"> <span>{{ item.name }}</span> <span>æä½å-{{ item.creatorName }}</span> @@ -278,18 +302,19 @@ </div> </div> </template> <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;"> <i class="el-icon-plus"></i> </div>--> <div class="desc_data_list_item_upload"> <el-button type="primary">ä¸ä¼ </el-button> <el-button>åæ¶</el-button> </div> </div> <div class="desc_data_list_item1"></div> <div class="desc_data_list_item1"></div> <upload width="100px" height="100px" :list="[]" accept=".png,.jpg,.jpeg,.mp4,.word,.xlsx,.xls,.pdf,.excel" folder="settle" @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;">--> <!-- <i class="el-icon-plus"></i>--> <!-- </div>–>--> <!-- <div class="desc_data_list_item_upload">--> <!-- <el-button type="primary">ä¸ä¼ </el-button>--> <!-- <el-button>åæ¶</el-button>--> <!-- </div>--> <!-- </div>--> <!-- <div class="desc_data_list_item1"></div>--> <!-- <div class="desc_data_list_item1"></div>--> </div> </div> <div class="desc_data"> @@ -298,9 +323,12 @@ <template v-if="model.compensationFileList && model.compensationFileList"> <div class="desc_data_list_item" v-for="(item, index) in model.compensationFileList" :key="index"> <div class="desc_data_list_item_dele" @click="delFile(item.id)">å é¤</div> <div class="desc_data_list_item_img" v-if="item.type ==0 && item.fileurlFull!=null"> <img :src="item.fileurlFull" /> </div> <div class="desc_data_list_item_img" v-if="item.type == 0 && item.fileurlFull != null"> <img :src="item.fileurlFull" /> </div> <div class="desc_data_list_item_img" v-if="item.type == 1 && item.fileurlFull != null"> <video controls :src="item.fileurlFull" /> </div> <div class="desc_data_list_item_info"> <span>{{ item.name }}</span> <span>æä½å-{{ item.creatorName }}</span> @@ -308,17 +336,18 @@ </div> </div> </template> <div class="desc_data_list_item"> <div class="desc_data_list_item_img" style="cursor: pointer; background: #8c939d;"> <i class="el-icon-plus"></i> </div> <div class="desc_data_list_item_upload"> <el-button type="primary">ä¸ä¼ </el-button> <el-button>åæ¶</el-button> </div> </div> <div class="desc_data_list_item1"></div> <div class="desc_data_list_item1"></div> <upload width="100px" height="100px" :list="[]" accept=".png,.jpg,.jpeg,.mp4,.word,.xlsx,.xls,.pdf,.excel" folder="settle" @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>--> <!-- </div>--> <!-- <div class="desc_data_list_item_upload">--> <!-- <el-button type="primary">ä¸ä¼ </el-button>--> <!-- <el-button>åæ¶</el-button>--> <!-- </div>--> <!-- </div>--> <!-- <div class="desc_data_list_item1"></div>--> <!-- <div class="desc_data_list_item1"></div>--> </div> </div> <div class="desc_label"> @@ -371,6 +400,10 @@ <el-button @click="visible=false">è¿å</el-button> </template> <OperaSettleClaimsCheckWindow ref="operaInsuranceApplyCheckWindow" @success="callback" /> <!-- å¨çº¿æ¥æ¡ --> <onlineReporting ref="onlineReporting" @success="callback" /> <!-- è¡¥å 说æ --> <supplementaryExplanation ref="supplementaryExplanation" @success="callback" /> </GlobalWindow> </template> @@ -380,32 +413,27 @@ 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 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,UploadFileCommon }, components: { GlobalWindow, OperaSettleClaimsCheckWindow,UploadFileCommon, onlineReporting, supplementaryExplanation, upload }, data () { return { doneFileDate:null, remarkLogList:[], // è¡¨åæ°æ® form: { id: null, }, model:{}, // éªè¯è§å rules: { }, activeName: 'first', reverse: true, file1:null, file2:null, file3:null, file4:null, file5:null, file6:null doneFileDate: null, remarkLogList: [], list: [], model: {}, activeName: 'first', reverse: true } }, computed: { ...mapState(['userInfo']) }, created () { this.config({ @@ -415,84 +443,95 @@ }, methods: { open(title,target){ this.model ={} this.model = {} this.model = target this.title=title this.visible=true this.doneFileDate=null this.remarkLogList=[] this. file1=null this.file2 = null this.file3 = null this.file4 = null this.file5 = null this.file6 = null this.title = title this.visible = true this.doneFileDate = null this.remarkLogList = [] this.getDetail() }, // å¤æä¸¤ä¸ªæ¶é´ä¹é´ç¸å·®æ¯å¦ contrast24(time1, time2) { if (time1 && time2) { let a = new Date(time1) let b = new Date(time2) let timeDiff = Math.abs(a.getTime() - b.getTime()); 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(() => { // this.isWorking = true delFile(this.model.id,id).then(response => { that.getDetail() }).catch(err => { this.$tip.apiFailed(err) }) 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) 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 => { }) } }).catch(err => { }) }, handleClick(tab, event) { console.log(tab, event); handleClick(tab) { this.activeName = tab.name }, callback(){ this.getDetail() this.$emit('success') }, claimsUploadFile(type) { var param = {} if(type == 2){ param = this.file2 }else if(type == 3){ param = this.file3 }else if(type == 4){ param = this.file4 }else if(type == 5){ param = this.file5 }else if(type == 6){ param = this.file6 } claimsUploadFile(param) .then(response => { that.getDetail() }).catch(err => { this.$tip.apiFailed(err) 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) }) }, }, submit(type) { var that =this if(type ==0){ var that = this if (type == 0) { this.$dialog.messageConfirm('çèµæææ¶é宿ï¼è¯·åæ¶æäº¤ä¿é©å ¬å¸ï¼') .then(() => { // this.isWorking = true @@ -503,7 +542,7 @@ this.$tip.apiFailed(err) }) }) }else if(type==1){ }else if(type == 1){ //èµæä¸è½½ this.$dialog.exportConfirm('确认è¿è¡èµæä¸è½½åï¼') .then(() => { @@ -521,10 +560,8 @@ .catch(() => { }) } } } } </script> <style> @@ -617,7 +654,8 @@ } .desc_label_left_time { font-size: 14px; color: rgba(249, 86, 1, 0.996); color: black; /*color: rgba(249, 86, 1, 0.996);*/ margin-left: 10px; } .desc_label_left_code { @@ -658,13 +696,20 @@ align-items: center; flex-wrap: wrap; .desc_list_item_imgs_video { width: 150px; height: 150px; width: 120px; height: 120px; background: black; margin-right: 10px; display: flex; align-items: center; justify-content: center; overflow: hidden; video { width: 100%; height: 100%; } img { width: 100%; } } } @@ -696,7 +741,6 @@ display: flex; align-items: center; flex-wrap: wrap; justify-content: space-between; .desc_data_list_item1 { width: 24.5%; } @@ -710,6 +754,10 @@ justify-content: space-between; position: relative; margin-bottom: 10px; margin-right: 20px; &:last-child { margin-right: 0 !important; } .desc_data_list_item_dele { position: absolute; top: 10px; @@ -733,6 +781,7 @@ align-items: center; justify-content: center; overflow: hidden; margin-right: 10px; .el-icon-plus { font-size: 26px; color: #ffffff; @@ -741,6 +790,9 @@ width: 100%; height: 100%; } video { width: 100%; } } .desc_data_list_item_info { flex: 1; company/src/components/common/upload.vue
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,140 @@ <template> <div class="file"> <div class="file_list"> <div class="file_list_item" :style="{width: width, height: height}" v-for="(item, index) in list" :key="index"> <div class="dele" @click="deleItem(index)"> <i class="el-icon-close"></i> </div> <img :src="item.url" v-if="fileType(item.url) === 'img'" /> <video controls autoplay :src="item.url" v-else></video> </div> <div class="file_list_item" :style="{width: width, height: height, cursor: 'pointer'}" @click="$refs.file.click()"> <i class="el-icon-plus"></i> </div> </div> <input type="file" ref="file" :accept="accept" @change="getFile" /> </div> </template> <script> import axios from 'axios'; export default { props: { width: { type: String, default: '90px' }, height: { type: String, default: '90px' }, list: { type: Array, default: [] }, accept: { type: String, default: '' }, folder: { type: String, default: '' } }, data() { return { uploadImgUrl: process.env.VUE_APP_API_PREFIX + '/public/upload' } }, methods: { fileType(url) { if (url.indexOf('.mp4') !== -1) { return 'video' } else { return 'img' } }, getFile(e) { if (e.target && e.target.files.length > 0) { const formdate = new FormData() formdate.append('file', e.target.files[0]) formdate.append('folder', this.folder) axios.post(this.uploadImgUrl, formdate) .then(res => { this.$emit('success', res.data.data) }) .catch(e => { this.$message.error(e) }) .finally(() => { this.$refs.file.value = null }) } }, deleItem(index) { this.$emit('dele', index) } } } </script> <style lang="scss" scoped> .file { /*width: 100%;*/ /*height: 90px;*/ margin: 10px 0; input { opacity: 0; } .file_list { width: 100%; height: 100%; display: flex; align-items: center; flex-wrap: wrap; .file_list_item { display: flex; flex-direction: column; align-items: center; justify-content: center; overflow: hidden; border-radius: 5px; border: 1px solid #d5d5d5; margin-left: 15px; position: relative; &:first-child { margin: 0 !important; } .dele { position: absolute; right: 0; top: 0; width: 20px; height: 20px; background: red; display: flex; align-items: center; justify-content: center; cursor: pointer; .el-icon-close { color: #ffffff; font-size: 19px; } } .el-icon-plus { font-size: 30px; color: black; } img { width: 100%; } video { width: 100%; height: 100%; } } } } </style> company/src/components/enterprise/onlineReporting.vue
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,395 @@ <template> <GlobalWindow :title="title" width="100%" :visible.sync="visible" :confirm-working="isWorking" @confirm="confirm" > <el-form :model="form" ref="form" :rules="rules"> <el-form-item label="åºé©äººå§å" prop="memberId" v-if="!form.id"> <el-select v-model="form.memberId" filterable @change="getSolutions" placeholder="è¯·éæ©"> <el-option v-for="item in user" :key="item.id" :label="item.name + ' - ' + item.idcardNo" :value="item.id"> </el-option> </el-select> </el-form-item> <el-form-item label="ä¿é©æ¹æ¡" prop="solutionId" v-if="!form.id"> <div style="display: flex; align-items: center;"> <span>{{form.solutionName}}</span> <el-button type="primary" @click="openS" style="margin-left: 10px;">éæ©æ¹æ¡</el-button> </div> </el-form-item> <el-form-item label="æ´¾é£åä½" prop="duId" v-if="form.duName && !form.id"> <span>{{form.duName}}</span> </el-form-item> <el-form-item label="æå±å·¥ç§" prop="worktypeId" v-if="form.worktypeName && !form.id"> <span>{{form.worktypeName}}</span> </el-form-item> <el-form-item label="äºæ åçæ¶é´" prop="happenTime" v-if="!form.id"> <el-date-picker v-model="form.happenTime" type="datetime" format="yyyy-MM-dd hh:mm:ss" value-format="yyyy-MM-dd hh:mm:ss" placeholder="éæ©æ¥ææ¶é´"> </el-date-picker> </el-form-item> <el-form-item label="å°±è¯å»çæºæ" prop="hospital" v-if="!form.id"> <el-input v-model="form.hospital" placeholder="请è¾å ¥"></el-input> </el-form-item> <el-form-item label="åºé©å°åº" prop="areaId"> <el-cascader v-model="form.areaId" :options="area" :props="{ value: 'id', label: 'name', children: 'childAreasList' }" @change="handleChange" /> </el-form-item> <el-form-item label="äºæ ç±»å" prop="type"> <el-radio-group v-model="form.type"> <el-radio :label="0">工使é´å伤</el-radio> <el-radio :label="1">ä¸ä¸çéä¸å伤</el-radio> <el-radio :label="2">é工使¶é´å伤</el-radio> <el-radio :label="3">æå¤å伤</el-radio> </el-radio-group> </el-form-item> <el-form-item label="æ¯å¦ä½é¢" prop="inHospital"> <el-radio-group v-model="form.inHospital"> <el-radio :label="0">æ¯</el-radio> <el-radio :label="1">å¦</el-radio> </el-radio-group> </el-form-item> <el-form-item label="æ¯å¦æå»çä¿é©" prop="medicalInsurance"> <el-radio-group v-model="form.medicalInsurance"> <el-radio :label="0">æ¯</el-radio> <el-radio :label="1">å¦</el-radio> </el-radio-group> </el-form-item> <el-form-item label="äºæ æè¿°" prop="content"> <el-input type="textarea" :rows="5" placeholder="请è¾å ¥å 容" v-model="form.content"></el-input> </el-form-item> <el-form-item label="ä¸ä¼ äºæ è§é¢/ç §ç" prop="list" v-if="!form.id"> <upload :list="form.list" :accept="'.mp4,.jpg,.png,.jpeg'" folder="settle" @dele="deleFile" @success="getData" /> </el-form-item> <el-form-item label="æ¥æ¡äººå§å" prop="informantName"> <el-input v-model="form.informantName" placeholder="请è¾å ¥"></el-input> </el-form-item> <el-form-item label="æ¥æ¡äººèç³»æ¹å¼" prop="informantPhone"> <el-input maxlength="11" v-model="form.informantPhone" placeholder="请è¾å ¥"></el-input> </el-form-item> </el-form> <!-- å¼¹çªæé --> <el-dialog title="温馨æç¤º" :modal="false" :close-on-click-modal="false" :show-close="false" :visible.sync="centerDialogVisible" width="50%" center> <div class="fuwenben"> å°æ¬ç客æ·ï¼ é¦å æè°¢æ¨å¯¹äºæä»¬çä¿¡ä»»ä¸æ¯æï¼æä»¬å¾è£å¹¸æä¸ºè´µå¸çä¿é©å¨è¯¢æå¡åï¼ é´äºè¿æåºç°ä¸ªå«å®¢æ·åå¨ï¼å½å¤©æä¿å½å¤©åºé©ï¼å³å åºå·¥ä¼¤ææå¤ãåè¿è¡æä¿æä½ï¼ç个å«è¯éªä¿é©éçæ¡ä¾ï¼é误使ç¨â峿¶çæâæ¡æ¬¾ãé对æ¤ç§æ 嵿¬å ¬å¸ééåç¥åä½å®¢æ·: 1.è¯éªä¿é©éçè¡ä¸ºå±äºè¿æ³è¡ä¸º,䏿¦åç°,æ¬å ¬å¸å°æäº¤å ¬å®æºå ³å¤çå¹¶ä¿ç追究æ³å¾è´£ä»»ï¼ 2.为äºé¡ºå©çèµç»æ¡,æç §ä¿é©å ¬å¸ççèµå®¡æ¥è¦æ±,å½å¤©æä¿å½å¤©åºé©éè¦æä¾åºé©çæ§è§é¢æè è½ä½è¯å ·ä½æ¶é´ç¹çä»»ä½è¯æ®ï¼ 3.è¯·æ¨æ·±å»çè§£ä¿é©ä¸âå¦å®åç¥âçæä¿äººä¹å¡ï¼æä»¬è´åäºä¸ºæ¨è½¬ç§»ç¨å·¥é£é©åæ³å¾é£é©ãä½è¿ä¸åçåææ¯ï¼åè§åæ³åçã éä»¶ä¸ï¼ ãä¸å人æ°å ±åå½åæ³ã第ä¸ç¾ä¹åå «æ¡ ãä¿é©è¯éªç½ªãæä¸åæ å½¢ä¹ä¸ï¼è¿è¡ä¿é©è¯éªæ´»å¨ï¼æ°é¢è¾å¤§çï¼å¤äºå¹´ä»¥ä¸ææå¾åæè æå½¹ï¼ å¹¶å¤ä¸ä¸å 以ä¸åä¸å 以ä¸ç½éï¼æ°é¢å·¨å¤§æè æå ¶ä»ä¸¥éæ èçï¼å¤äºå¹´ä»¥ä¸å年以䏿æå¾åï¼å¹¶å¤äºä¸å 以ä¸äºåä¸å 以ä¸ç½éï¼æ°é¢ç¹å«å·¨å¤§æè æå ¶ä»ç¹å«ä¸¥éæ èçï¼å¤å年以䏿æå¾ åï¼å¹¶å¤äºä¸å 以ä¸äºåä¸å 以ä¸ç½éæè 没æ¶è´¢äº§ï¼ ï¼ä¸ï¼æä¿äººæ æèæä¿é©æ çï¼éªåä¿é©éçï¼ ï¼äºï¼æä¿äººã被ä¿é©äººæè åç人对åççä¿é©äºæ ç¼é èåçåå æè 夸大æå¤±çç¨åº¦ï¼éªåä¿é©éçï¼ ï¼ä¸ï¼æä¿äººã被ä¿é©äººæè åç人ç¼é æªæ¾åççä¿é©äºæ ï¼éªåä¿é©éçï¼ ï¼åï¼æä¿äººã被ä¿é©äººæ æé æè´¢äº§æå¤±çä¿é©äºæ ï¼éªåä¿é©éçï¼ ï¼äºï¼æä¿äººãåçäººæ æé æè¢«ä¿é©äººæ»äº¡ãä¼¤æ®æè ç¾ç ï¼éªåä¿é©éçã æåæ¬¾ç¬¬å项ã第äºé¡¹æåè¡ä¸ºï¼åæ¶ææå ¶ä»ç¯ç½ªçï¼ä¾ç §æ°ç½ªå¹¶ç½çè§å®å¤ç½ã åä½ç¯ç¬¬ä¸æ¬¾ç½ªçï¼å¯¹åä½å¤å¤ç½éï¼å¹¶å¯¹å ¶ç´æ¥è´è´£ç主管人åå å ¶ä»ç´æ¥è´£ä»»äººåï¼å¤äºå¹´ä»¥ä¸ææå¾åæè æå½¹ï¼æ°é¢å·¨å¤§æè æ å ¶ä»ä¸¥éæ èçï¼å¤äºå¹´ä»¥ä¸å年以䏿æå¾åï¼æ°é¢ç¹å«å·¨å¤§æè æå ¶ä»ç¹å«ä¸¥éæ èçï¼å¤å年以䏿æå¾åã ä¿é©äºæ çé´å®äººãè¯æäººã财产è¯ä¼°äººæ ææä¾èåçè¯ææä»¶ï¼ä¸ºä»äººè¯éªæä¾æ¡ä»¶çï¼ä»¥ä¿é©è¯éªçå ±ç¯è®ºå¤ã éä»¶äºï¼ ãä¸å人æ°å ±åå½ä¿é©æ³ã第äºå䏿¡ æªåçä¿é©äºæ ï¼è¢«ä¿é©äººæè åç人è°ç§°åçäºä¿é©äºæ ï¼åä¿é©äººæåºèµå¿æè ç»ä»ä¿é©é请æ±çï¼ä¿é©äººææè§£é¤ååï¼å¹¶ä¸éè¿ä¿é©è´¹ã æä¿äººã被ä¿é©äººæ æå¶é ä¿é©äºæ çï¼ä¿é©äººææè§£é¤ååï¼ä¸æ¿æ èµå¿æè ç»ä»ä¿é©éç责任ï¼é¤æ¬æ³ç¬¬åå䏿¡è§å®å¤ï¼ä¸éè¿ä¿é©è´¹ã ä¿é©äºæ åçåï¼æä¿äººã被ä¿é©äººæè åç人以伪é ãåé çæå ³è¯æãèµææè å ¶ä»è¯æ®ï¼ç¼é èåçäºæ åå æè 夸大æå¤±ç¨åº¦çï¼ä¿é©äººå¯¹å ¶èæ¥çé¨å䏿¿æ èµå¿æè ç»ä»ä¿é©éçè´£ä»»ã æä¿äººã被ä¿é©äººæè åç人æå䏿¬¾è§å®è¡ä¸ºä¹ä¸ï¼è´ä½¿ä¿é© 人æ¯ä»ä¿é©éæè æ¯åºè´¹ç¨çï¼åºå½æ¤éæè èµå¿ã </div> <span slot="footer" class="dialog-footer"> <el-button type="primary" @click="centerDialogVisible = false">æå·²ç¥æ</el-button> </span> </el-dialog> <!-- éæ©ä¿é©æ¹æ¡ --> <selectSolutions ref="selectSolutions" @success="getVal" /> </GlobalWindow> </template> <script> import BaseOpera from '@/components/base/BaseOpera' import GlobalWindow from '@/components/common/GlobalWindow' import upload from '@/components/common/upload' import selectSolutions from '@/components/enterprise/selectSolutions' import { findListByDTO } from '@/api/business/member' import { findList } from '@/api/business/applyChange' import { findTreeList } from '@/api/system/common' import { create, updateById } from '@/api/business/settleClaims' export default { name: 'onlineReporting', extends: BaseOpera, components: { GlobalWindow, upload, selectSolutions }, data () { return { form: { id: null, insuranceApplyId: '', memberId: '', solutionId: '', solutionName: '', duId: '', duName: '', worktypeId: '', worktypeName: '', happenTime: '', hospital: '', areaId: '', areaInfo: '', type: 0, inHospital: 0, medicalInsurance: 0, content: '', informantName: '', informantPhone: '', list: [], reportFileList: [] }, rules: { memberId: [ { required: true, message: 'è¯·éæ©åºé©äºº' } ], solutionId: [ { required: true, message: 'è¯·éæ©ä¿é©æ¹æ¡' } ], duId: [ { required: true, message: 'è¯·éæ©æ´¾é£åä½' } ], worktypeId: [ { required: true, message: 'è¯·éæ©æå±å·¥ç§' } ], happenTime: [ { required: true, message: 'è¯·éæ©äºæ åçæ¶é´' } ], type: [ { required: true, message: 'è¯·éæ©äºæ ç±»å' } ], inHospital: [ { required: true, message: 'è¯·éæ©æ¯å¦ä½é¢' } ], medicalInsurance: [ { required: true, message: 'è¯·éæ©æ¯å¦æå»çä¿é©' } ], content: [ { required: true, message: '请è¾å ¥äºæ æè¿°' } ], informantName: [ { required: true, message: '请è¾å ¥æ¥æ¡äººå§å' } ], informantPhone: [ { required: true, message: '请è¾å ¥æ¥æ¡äººèç³»æ¹å¼' } ] }, centerDialogVisible: false, user: [], options: [], area: [] } }, created () { this.config({ api: '/business/settleClaims', 'field.id': 'id' }) }, methods: { open (title, target) { this.title = title this.visible = true this.form.list = [] this.form.reportFileList = [] this.getUser() this.getArea() // æ°å»º if (target == null) { this.$nextTick(() => { this.$refs.form.resetFields() this.form[this.configData['field.id']] = null setTimeout(() => { this.centerDialogVisible = true }, 300) }) return } // ç¼è¾ this.$nextTick(() => { for (const key in this.form) { this.form[key] = target[key] } }) }, handleTreeData(data) { for (var i = 0; i < data.length; i++) { if (data[i].childAreasList.length < 1) { data[i].childAreasList = undefined; // çå端è¿çæ¯childåæ®µè¿æ¯childrenåæ®µï¼èªè¡æ¹å } else { this.handleTreeData(data[i].childAreasList) // childrenè¥ä¸ä¸ºç©ºæ°ç»ï¼åç»§ç» éå½è°ç¨ æ¬æ¹æ³ } } return data; }, __confirmEdit () { this.$refs.form.validate((valid) => { if (!valid) { return } // è°ç¨æ°å»ºæ¥å£ this.isWorking = true let obj = JSON.parse(JSON.stringify(this.form)) obj.areaId = obj.areaId.join(',') updateById(obj) .then(() => { this.visible = false this.$tip.apiSuccess('ä¿®æ¹æå') this.$emit('success') }) .catch(e => { this.$tip.apiFailed(e) }) .finally(() => { this.isWorking = false }) }) }, __confirmCreate () { this.$refs.form.validate((valid) => { if (!valid) { return } // è°ç¨æ°å»ºæ¥å£ this.isWorking = true let obj = JSON.parse(JSON.stringify(this.form)) obj.areaId = obj.areaId.join(',') create(obj) .then(() => { this.visible = false this.$tip.apiSuccess('æ°å»ºæå') this.$emit('success') }) .catch(e => { this.$tip.apiFailed(e) }) .finally(() => { this.isWorking = false }) }) }, // æ¥è¯¢åºåæ°æ® getArea() { findTreeList({}) .then(res => { this.area = this.handleTreeData(res) }) }, getVal(e) { this.form.insuranceApplyId = e.applyId this.form.solutionId = e.solutionId this.form.solutionName = e.solutionName this.form.duId = e.duId this.form.duName = e.duName this.form.worktypeId = e.worktypeId this.form.worktypeName = e.worktypeName }, openS() { if (!this.form.memberId) { this.$message.warning('请å éæ©åºé©äºº') return } this.$refs.selectSolutions.open('éæ©ä¿é©æ¹æ¡', this.form.memberId) }, getUser() { findListByDTO({}) .then(res => { this.user = res }) }, getSolutions(id) { findList({ memberId: id }) .then(res => { this.form.solutionId = '' this.form.worktypeId = '' this.form.duId = '' this.options = res }) }, getTreeName(list, id){ let _this = this for (let i = 0; i < list.length; i++) { let a = list[i] if (a.id === id) { return a.name } else { if (a.childAreasList && a.childAreasList.length > 0) { let res = _this.getTreeName(a.childAreasList, id) if (res) { return res } } } } }, handleChange(value) { let info = '' value.forEach(item => { info += this.getTreeName(this.area, item) }) this.form.areaInfo = info }, getData(data) { this.form.list.push(data) this.form.reportFileList.push({ fileurl: data.imgaddr, name: data.originname, type: data.type }) }, deleFile(index) { this.form.reportFileList.splice(index, 1) this.form.list.splice(index, 1) } } } </script> <style lang="scss" scoped> .fuwenben { width: 100%; height: 400px; font-size: 16px; color: black; overflow-y: scroll; word-break: break-all; overflow-wrap: break-word; } </style> company/src/components/enterprise/selectSolutions.vue
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,113 @@ <template> <GlobalWindow :title="title" width="100%" :visible.sync="visible" :confirm-working="isWorking" @confirm="confirm" > <el-table :data="list" border ref="table" @selection-change="handleSelectionChange" style="width: 100%"> <el-table-column type="selection" width="55"> </el-table-column> <el-table-column label="åºå·" width="80px"> <template slot-scope="scope"> <span>{{scope.$index + 1}}</span> </template> </el-table-column> <el-table-column prop="solutionName" label="ä¿é©æ¹æ¡"> </el-table-column> <el-table-column prop="bdCode" label="ä¿åå·"> </el-table-column> <el-table-column prop="applyChangeId" label="æ¹åå·"> </el-table-column> <el-table-column prop="duName" label="æ´¾é£åä½"> </el-table-column> <el-table-column prop="worktypeName" label="æå±å·¥ç§"> </el-table-column> <el-table-column prop="startTime" label="ä¿é©çæèµ·æ"> </el-table-column> <el-table-column prop="endTime" label="ä¿é©çææ¢æ"> </el-table-column> </el-table> </GlobalWindow> </template> <script> import BaseOpera from '@/components/base/BaseOpera' import GlobalWindow from '@/components/common/GlobalWindow' import { findList } from '@/api/business/member' export default { name: 'selectSolutions', extends: BaseOpera, components: { GlobalWindow }, data () { return { id: null, list: [], seleData: [] } }, created () { this.config({ api: '/business/dispatchUnit', 'field.id': 'id' }) }, methods: { open (title, id) { this.list = [] this.seleData = [] this.id = id this.title = title this.visible = true this.getList() }, confirm() { this.$emit('success', this.seleData[0]) this.visible = false }, handleSelectionChange (rows) { if (rows.length > 1) { this.$refs.table.clearSelection() this.$refs.table.toggleRowSelection(rows.pop()) } this.seleData = rows console.log(this.seleData) }, getList() { findList({ memberId: this.id }).then(res => { this.list = res }) } } } </script> <style lang="scss" scoped> .el-checkbox::v-deep { display: none; } </style> company/src/components/enterprise/supplementaryExplanation.vue
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,76 @@ <template> <GlobalWindow :title="title" width="40%" :visible.sync="visible" :confirm-working="isWorking" @confirm="confirm" > <el-form :model="form" :rules="rules" ref="form" label-width="100px" class="demo-ruleForm"> <el-form-item label="è¡¥å 说æ" prop="supplement"> <el-input type="textarea" :rows="5" placeholder="请è¾å ¥" v-model="form.supplement"></el-input> </el-form-item> </el-form> </GlobalWindow> </template> <script> import BaseOpera from '@/components/base/BaseOpera' import GlobalWindow from '@/components/common/GlobalWindow' import { supplement } from '@/api/business/settleClaims' export default { name: 'supplementaryExplanation', extends: BaseOpera, components: { GlobalWindow }, data () { return { form: { id: null, supplement: '' }, rules: { supplement: [ { required: true, message: '请è¾å ¥è¡¥å 说æ' } ] } } }, methods: { open (title, id) { this.title = title this.form.id = id this.form.supplement = '' this.visible = true }, confirm() { this.$refs.form.validate((valid) => { if (!valid) { return } // è°ç¨æ°å»ºæ¥å£ this.isWorking = true supplement({ objType: 0, supplement: this.form.supplement, id: this.form.id, }).then(() => { this.visible = false this.$tip.apiSuccess('ä¿®æ¹æå') this.$emit('success') }) .catch(e => { this.$tip.apiFailed(e) }) .finally(() => { this.isWorking = false }) }) } } } </script> <style lang="scss" scoped> </style> company/src/utils/request.js
@@ -3,7 +3,7 @@ import pkg from '../../package' import { trim } from './util' import cache from '../plugins/cache' import { Message } from 'element-ui' import { Message, Loading } from 'element-ui' axios.defaults.headers.common['Content-Type'] = 'application/json;charset=UTF-8' const axiosInstance = axios.create({ @@ -41,7 +41,6 @@ // æ°å»ºååºæ¦æªå¨ axiosInstance.interceptors.response.use((response) => { // console.log(response.status) // debugger // 请æ±å¤±è´¥ company/src/views/business/settleClaims.vue
@@ -6,7 +6,7 @@ <el-input v-model="searchForm.memberName" 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" placeholder="è¯·éæ©" @keypress.enter.native="search"> <el-select v-model="searchForm.companyId" placeholder="è¯·éæ©" @change="search"> <el-option v-for="item in companyList" :key="item.id" @@ -16,7 +16,7 @@ </el-select> </el-form-item> <el-form-item label="ä¿é©æ¹æ¡" prop="baseSolutionId"> <el-select v-model="searchForm.baseSolutionId" placeholder="è¯·éæ©" @keypress.enter.native="search"> <el-select v-model="searchForm.baseSolutionId" placeholder="è¯·éæ©" @change="search"> <el-option v-for="item in solutionList" :key="item.id" @@ -26,7 +26,7 @@ </el-select> </el-form-item> <el-form-item label="æ¡ä»¶ç¶æ" prop="status"> <el-select v-model="searchForm.status" placeholder="è¯·éæ©" @keypress.enter.native="search"> <el-select v-model="searchForm.status" placeholder="è¯·éæ©" @change="search"> <el-option label="å¤çä¸" value="0"></el-option> <el-option label="å·²æ¤æ¡" value="1"></el-option> <el-option label="å·²ç»æ¡" value="2"></el-option> @@ -42,6 +42,9 @@ </el-form> <!-- è¡¨æ ¼åå页 --> <template v-slot:table-wrap> <ul class="toolbar" v-if="userInfo.type === 1"> <li><el-button type="primary" @click="$refs.onlineReporting.open('æäº¤æ¥æ¡')">å¨çº¿æ¥æ¡</el-button></li> </ul> <el-table v-loading="isWorking.search" :data="tableData.list" @@ -74,7 +77,7 @@ fixed="right" > <template slot-scope="{row}"> <el-button type="text" @click="$refs.operaSettleClaimsWindow.open('æ¥æ¡çèµç³è¯·è¡¨', row)" icon="el-icon-view" v-permissions="['business:settleclaims:update']">æ¥ç详æ </el-button> <el-button type="text" @click="$refs.operaSettleClaimsWindow.open('æ¥æ¡è¯¦æ ', row)" v-permissions="['business:settleclaims:update']">æ¥ç详æ </el-button> </template> </el-table-column> </el-table> @@ -85,8 +88,10 @@ > </pagination> </template> <!-- æ°å»º/ä¿®æ¹ --> <!-- 详æ --> <OperaSettleClaimsWindow ref="operaSettleClaimsWindow" @success="handlePageChange"/> <!-- å¨çº¿æ¥æ¡ --> <onlineReporting ref="onlineReporting" @success="handlePageChange" /> </TableLayout> </template> @@ -95,13 +100,14 @@ import TableLayout from '@/layouts/TableLayout' import Pagination from '@/components/common/Pagination' import OperaSettleClaimsWindow from '@/components/business/OperaSettleClaimsWindow' import onlineReporting from '@/components/enterprise/onlineReporting' import {all as solutionAll} from '@/api/business/solutions' import {pageAll as companyAll} from '@/api/business/company' import { mapState } from 'vuex' export default { name: 'SettleClaims', extends: BaseTable, components: { TableLayout, Pagination, OperaSettleClaimsWindow }, components: { TableLayout, Pagination, OperaSettleClaimsWindow, onlineReporting }, data () { return { // æç´¢ company/src/views/enterprise/add_subtract.vue
@@ -42,9 +42,6 @@ </el-form> <!-- è¡¨æ ¼åå页 --> <template v-slot:table-wrap> <ul class="toolbar" v-permissions="['business:applychange:create']"> <li><el-button type="primary" @click="$refs.operaApplyChangeWindow.open('å åä¿è¯¦æ ')" v-permissions="['business:applychange:create']">æ°å»º</el-button></li> </ul> <el-table v-loading="isWorking.search" :data="tableData.list"