| | |
| | | # VUE_APP_API = 'https://dmtest.ahapp.net/yyb_admin_api/' |
| | | |
| | | # 任康 |
| | | VUE_APP_API = 'http://192.168.0.129:10030/' |
| | | VUE_APP_API = 'http://192.168.0.131:10030/' |
| | |
| | | |
| | | # VUE_APP_API = 'https://dmtest.ahapp.net/yyb_web_api/' |
| | | |
| | | VUE_APP_API = 'http://192.168.0.129:10031/' |
| | | VUE_APP_API = 'http://192.168.0.131:10031/' |
| | | |
| | | # VUE_APP_API = 'https://www.yyb.red/yyb_web_api/' |
| | |
| | | } |
| | | |
| | | // æ ¹æ®IDæ¥è¯¢ |
| | | export function getById (id) { |
| | | export function getById (id, type) { |
| | | if (type && type === 1) { |
| | | return request.get(`/business/insurance/${id}?type=${type}`) |
| | | } |
| | | return request.get(`/business/insurance/${id}`) |
| | | } |
| | |
| | | .apply-status21,.apply-status22, |
| | | .apply-status23,.apply-status2 , .apply-status3, .apply-status10, |
| | | .change-status0,.change-status1,.change-status9, |
| | | .settle-status0,.settle-status2,.settle-status3, |
| | | .settle-status0,.settle-status1,.settle-status2,.settle-status3,.settle-status4,.settle-status5,.settle-status9,.settle-status10,.settle-status11,.settle-status12, |
| | | .tax-status0,.change-status7, |
| | | .union-apply-status0,.union-apply-status1,.union-apply-status2, |
| | | .du-status0 { |
| | |
| | | .apply-status1 ,.apply-status24,.apply-status25, .apply-status4, .apply-status6, |
| | | .apply-status7, .apply-status9, .apply-status8, .apply-status11, |
| | | .change-status3,.change-status4,.change-status5,.change-status8, |
| | | .settle-status1,.change-status6, |
| | | .settle-status13,.change-status6, |
| | | .tax-status2,.union-apply-status4, |
| | | .du-status2 { |
| | | color: #f95601 !important; |
| | | } |
| | | |
| | | .settle-status6,.settle-status8,.settle-status14, |
| | | .change-status6 { |
| | | color: #999 !important; |
| | | } |
| | |
| | | </el-form-item> |
| | | </div> |
| | | <div class="box_item_list_row"> |
| | | <el-form-item label="æ¥æ¡æ¶é´" prop="happenTime"> |
| | | <el-form-item label="æ¥æ¡æ¶é´" prop="reportDate"> |
| | | <el-date-picker |
| | | v-model="ruleForm.happenTime" |
| | | v-model="ruleForm.extData.reportDate" |
| | | type="date" |
| | | placeholder="éæ©æ¥æ" |
| | | format="yyyy-MM-dd" |
| | | value-format="yyyy-MM-dd"> |
| | | format="yyyy-MM-dd HH:mm:ss" |
| | | value-format="yyyy-MM-dd HH:mm:ss"> |
| | | </el-date-picker> |
| | | </el-form-item> |
| | | </div> |
| | | <div class="box_item_list_row"> |
| | | <el-form-item label="åºé©æ¶é´" prop="createDate"> |
| | | <el-form-item label="åºé©æ¶é´" prop="happenTime"> |
| | | <el-date-picker |
| | | v-model="ruleForm.createDate" |
| | | v-model="ruleForm.happenTime" |
| | | type="datetime" |
| | | placeholder="éæ©æ¥æ" |
| | | format="yyyy-MM-dd hh:mm:ss" |
| | |
| | | v-model="ruleForm.extData.logoffDate" |
| | | type="date" |
| | | placeholder="éæ©æ¥æ" |
| | | format="yyyy å¹´ MM æ dd æ¥" |
| | | value-format="yyyy-MM-dd"> |
| | | format="yyyy-MM-dd HH:mm:ss" |
| | | value-format="yyyy-MM-dd HH:mm:ss"> |
| | | </el-date-picker> |
| | | </el-form-item> |
| | | </div> |
| | |
| | | memberAddr: '', |
| | | bxName: '', |
| | | bxCode: '', |
| | | |
| | | reportDate:null, |
| | | bxDate: [], |
| | | bxStartdate: '', |
| | | bxEnddate: '', |
| | |
| | | totalPrice: 0, |
| | | list1: [], |
| | | list2: [], |
| | | list3: [], |
| | | list3: [] |
| | | } |
| | | }, |
| | | created () { |
| | |
| | | this.$refs.ruleForm.validate((valid) => { |
| | | if (!valid) return |
| | | this.isWorking = true |
| | | let obj = JSON.parse(JSON.stringify(this.ruleForm)) |
| | | const obj = JSON.parse(JSON.stringify(this.ruleForm)) |
| | | obj.accountList = [...this.list1, ...this.list2, ...this.list3] |
| | | createSys(obj) |
| | | .then(() => { |
| | |
| | | }) |
| | | }, |
| | | changeFee() { |
| | | let arr = [...this.list1, ...this.list2] |
| | | const arr = [...this.list1, ...this.list2] |
| | | let price = 0 |
| | | arr.forEach(item => { |
| | | if (item.fee) { |
| | |
| | | :confirm-working="isWorking" |
| | | @confirm="confirm" |
| | | > |
| | | <div> |
| | | <el-form :model="form" ref="form" :rules="rules"> |
| | | <el-tabs type="border-card" :before-leave="beforeTabClick" v-model="form.saveType"> |
| | | <el-tab-pane label="æ¹æ¡åºç¡ä¿¡æ¯" name="0"> |
| | | <el-form-item label="æ¹æ¡åç§°" prop="name"> |
| | | <el-input v-model="form.name" placeholder="请è¾å
¥" v-trim/> |
| | | </el-form-item> |
| | |
| | | <el-form-item label="æ¿ä¿å
¬å¸" prop="companyName"> |
| | | <el-input v-model="form.companyName" placeholder="请è¾å
¥" v-trim/> |
| | | </el-form-item> |
| | | <el-form-item label="æä¿å¹´é¾" prop="minAge"> |
| | | <el-form-item label="æä¿å¹´é¾" required="true" > |
| | | <div style="display: flex; align-items: center;"> |
| | | <el-form-item label="" prop="minAge" style="flex: 1;"> |
| | | <el-select v-model="form.minAge" @change="changeMinAge" style="flex: 1;" placeholder="è¯·éæ©"> |
| | | <el-option |
| | | v-for="item in 80" |
| | |
| | | :value="item"> |
| | | </el-option> |
| | | </el-select> |
| | | <span style="margin: 0 30px;">è³</span> |
| | | <el-select v-model="form.maxAge" @change="changeMaxAge" style="flex: 1;" placeholder="è¯·éæ©"> |
| | | </el-form-item> |
| | | <span style="margin: 0 30px;padding-bottom: 20px;">è³</span> |
| | | <el-form-item label="" prop="maxAge" style="flex: 1;"> |
| | | <el-select v-model="form.maxAge" @change="changeMaxAge" placeholder="è¯·éæ©"> |
| | | <el-option |
| | | v-for="item in 80" |
| | | :key="item" |
| | |
| | | :value="item"> |
| | | </el-option> |
| | | </el-select> |
| | | </el-form-item> |
| | | </div> |
| | | </el-form-item> |
| | | <el-form-item label="çææ¶é´" prop="validTypeNum"> |
| | |
| | | <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" |
| | |
| | | </u-table> |
| | | </el-form-item> |
| | | </div> |
| | | <el-form-item label="ç¹å«çº¦å®" prop="specialAgreement"> |
| | | <RichEditor :richData="form.specialAgreement" :styleEditor="'border: 1px solid #ccc;display: inline-block;'" @getWangedditor="getWangedditor" :readonly="false"/> |
| | | </el-form-item> |
| | | <el-form-item label="ç¹å«è¯´æ" prop="specialInfo"> |
| | | <RichEditor :richData="form.specialInfo" :styleEditor="'border: 1px solid #ccc;display: inline-block;'" @getWangedditor="getWangedditor1" :readonly="false"/> |
| | | </el-form-item> |
| | | <el-form-item label="å
¶ä»è¯´æ" prop="ortherInfo"> |
| | | <RichEditor :richData="form.ortherInfo" :styleEditor="'border: 1px solid #ccc;display: inline-block;'" @getWangedditor="getWangedditor2" :readonly="false"/> |
| | | </el-form-item> |
| | | </el-tab-pane> |
| | | <el-tab-pane label="é£é©è®¾ç½®" name="1" > |
| | | <el-form-item label="é£é©è®¾ç½®" prop="risk"> |
| | | <div class="tx"> |
| | | <div class="tx_item"> |
| | |
| | | </div> |
| | | </div> |
| | | </el-form-item> |
| | | <el-form-item label="ç¹å«çº¦å®" prop="specialAgreement"> |
| | | <RichEditor :richData="form.specialAgreement" :styleEditor="'border: 1px solid #ccc;display: inline-block;'" @getWangedditor="getWangedditor" :readonly="false"/> |
| | | </el-form-item> |
| | | <el-form-item label="ç¹å«è¯´æ" prop="specialInfo"> |
| | | <RichEditor :richData="form.specialInfo" :styleEditor="'border: 1px solid #ccc;display: inline-block;'" @getWangedditor="getWangedditor1" :readonly="false"/> |
| | | </el-form-item> |
| | | <el-form-item label="å
¶ä»è¯´æ" prop="ortherInfo"> |
| | | <RichEditor :richData="form.ortherInfo" :styleEditor="'border: 1px solid #ccc;display: inline-block;'" @getWangedditor="getWangedditor2" :readonly="false"/> |
| | | </el-form-item> |
| | | </el-tab-pane> |
| | | </el-tabs> |
| | | </el-form> |
| | | <!-- ä¸ä¼ å·¥ç§ --> |
| | | <input type="file" @change="getFile" style="opacity: 0;" ref="upload" accept=".xlsx" /> |
| | | </div> |
| | | </GlobalWindow> |
| | | </template> |
| | | |
| | |
| | | import { numRule } from '@/utils/form' |
| | | import RichEditor from '@/components/common/RichEditor' |
| | | import { UTable, UTableColumn } from 'umy-ui' |
| | | import {getChangeMemberListOnlineSignLink} from "@/api/business/applyChange"; |
| | | export default { |
| | | name: 'OperaSolutionsBaseWindow', |
| | | extends: BaseOpera, |
| | | components: { GlobalWindow, UploadFile, RichEditor, UTable, UTableColumn }, |
| | | data () { |
| | | var validatorWorktype = (rule, value, callback) => { |
| | | if (!this.form.worktypeIdList || this.form.worktypeIdList.length === 0) { |
| | | callback(new Error('请å®åå·¥ç§ä¿¡æ¯!')); |
| | | } else { |
| | | callback(); |
| | | } |
| | | }; |
| | | var validType = (rule, value, callback) => { |
| | | if (this.form.validType === 0 && !value) { |
| | | return callback(new Error('å»¶è¿å¤©æ°ä¸è½ä¸ºç©º')) |
| | |
| | | callback() |
| | | } |
| | | var canAddFun = (rule, value, callback) => { |
| | | if (!this.form.canAdd && !form.canReduce && !form.canChangeUnit) { |
| | | if (!this.form.canAdd && !this.form.canReduce && !this.form.canChangeUnit) { |
| | | return callback(new Error('æ¹æ¹æ¯æä¸è½ä¸ºç©º')) |
| | | } |
| | | callback() |
| | |
| | | delValidDays: 0, |
| | | delOnlyReplace: 0, |
| | | canAdd: 0, |
| | | saveType: '0', |
| | | correctWarnTime: '', |
| | | worktypeIdList: [], |
| | | |
| | |
| | | { required: true, message: '请è¾å
¥æ¿ä¿å
¬å¸' } |
| | | ], |
| | | minAge: [ |
| | | { required: true, message: 'è¯·éæ©æä¿å¹´é¾' } |
| | | { required: true, message: 'è¯·éæ©æä¿æå°å¹´é¾' } |
| | | ], |
| | | maxAge: [ |
| | | { required: true, message: 'è¯·éæ©æä¿æå¤§å¹´é¾' } |
| | | ], |
| | | validTypeNum: [ |
| | | { required: true, validator: validType } |
| | |
| | | { required: true, message: '请è¾å
¥æ¹æ¹æéæ¶é´' } |
| | | ], |
| | | worktypeIdList: [ |
| | | { required: true, message: '请å®åå·¥ç§ä¿¡æ¯' } |
| | | { required: true, validator: validatorWorktype } |
| | | ], |
| | | canAdd: [ |
| | | { required: true, validator: canAddFun } |
| | |
| | | }) |
| | | }, |
| | | methods: { |
| | | beforeTabClick(n,o){ |
| | | let re = true |
| | | if( !this.form.id && n === '1'){ |
| | | this.$refs.form.validate((valid) => { |
| | | if (!valid) { |
| | | re = false |
| | | } |
| | | this.form.saveType = n |
| | | }) |
| | | } |
| | | return re |
| | | }, |
| | | // 导å
¥å·¥ç§æ¨¡æ¿ |
| | | getFile(e) { |
| | | const formdate = new FormData() |
| | |
| | | formdate.append('insuranceId', this.form.insuranceId) |
| | | importExcelForSolution(formdate) |
| | | .then(res => { |
| | | let arr = [] |
| | | const arr = [] |
| | | res.forEach(item => { |
| | | arr.push({ worktypeId: item.id, worktypeName: item.name }) |
| | | }) |
| | | this.form.worktypeIdList = [...arr, ...this.form.worktypeIdList] |
| | | let valData = this.form.worktypeIdList.map(item => item.worktypeName) |
| | | this.$refs.form.validate() |
| | | const valData = this.form.worktypeIdList.map(item => item.worktypeName) |
| | | this.typeWorkCopy = this.typeWorkCopy.filter(item => !valData.includes(item.name)) |
| | | this.$refs.form.validate() |
| | | }) |
| | | .catch(err => { |
| | | this.$message.error(err.message) |
| | |
| | | window.open(process.env.VUE_APP_TYPEWORK_URL) |
| | | }, |
| | | getWangedditor(val){ |
| | | this.form.specialAgreement = val; |
| | | this.form.specialAgreement = val |
| | | }, |
| | | getWangedditor1(val){ |
| | | this.form.specialInfo = val; |
| | | this.form.specialInfo = val |
| | | }, |
| | | getWangedditor2(val){ |
| | | this.form.ortherInfo = val; |
| | | this.form.ortherInfo = val |
| | | }, |
| | | changeMinAge(e) { |
| | | if (this.form.maxAge && this.form.maxAge >= 0 && e > this.form.maxAge) { |
| | |
| | | this.form.fanganFile = null |
| | | this.form.worktypeIdList = [] |
| | | this.form[this.configData['field.id']] = null |
| | | this.form.saveType = '0' |
| | | }) |
| | | return |
| | | } |
| | |
| | | for (const key in this.form) { |
| | | this.form[key] = res[key] |
| | | } |
| | | this.form.saveType = '0' |
| | | this.form.correctWarnTime = `${this.form.correctWarnTime}:00` |
| | | if (res.worktypeList) { |
| | | this.form.worktypeIdList = res.worktypeList.map(item => { |
| | |
| | | if (!this.form.id) { |
| | | this.typeWorkCopy = res |
| | | } else { |
| | | let valData = this.form.worktypeIdList.map(item => item.worktypeName) |
| | | const valData = this.form.worktypeIdList.map(item => item.worktypeName) |
| | | this.typeWorkCopy = res.filter(item => !valData.includes(item.name)) |
| | | } |
| | | }) |
| | |
| | | }) |
| | | }, |
| | | add () { |
| | | let arr = this.typeWorkCopy.filter(item => this.worktypeId.includes(item.id)) |
| | | let dataVal = arr.map(item => { |
| | | const arr = this.typeWorkCopy.filter(item => this.worktypeId.includes(item.id)) |
| | | const dataVal = arr.map(item => { |
| | | return { |
| | | worktypeId: item.id, |
| | | worktypeName: item.name |
| | | } |
| | | }) |
| | | this.form.worktypeIdList = [ ...dataVal, ...this.form.worktypeIdList ] |
| | | let valData = this.form.worktypeIdList.map(item => item.worktypeName) |
| | | const valData = this.form.worktypeIdList.map(item => item.worktypeName) |
| | | this.typeWorkCopy = this.typeWorkCopy.filter(item => !valData.includes(item.name)) |
| | | this.worktypeId = [] |
| | | this.$refs.form.validate() |
| | | }, |
| | | dele (index) { |
| | | if (this.form.worktypeIdList.length === 1) { |
| | | this.$message.warning('è³å°è¦ä¿çä¸é¡¹') |
| | | return |
| | | } |
| | | let row = this.typeWork.filter(item => item.name === this.form.worktypeIdList[index].worktypeName) |
| | | const row = this.typeWork.filter(item => item.name === this.form.worktypeIdList[index].worktypeName) |
| | | this.typeWorkCopy.unshift(row[0]) |
| | | this.form.worktypeIdList.splice(index, 1) |
| | | } |
| | |
| | | components: { GlobalWindow, RichEditor }, |
| | | data () { |
| | | return { |
| | | uploadImgUrl: process.env.VUE_APP_API_PREFIX + '/public/upload?folder=INSURANCE', |
| | | uploadImgUrl: process.env.VUE_APP_API_PREFIX + '/public/upload?folder=insurance', |
| | | activeNames: ['1', '2', '3', '4', '5', '6'], |
| | | specialAgreement: '', |
| | | form: { |
| | |
| | | }, |
| | | open (title, id) { |
| | | this.title = title |
| | | |
| | | getById(id) |
| | | .then(res => { |
| | | this.visible = true |
| | |
| | | </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;"> |
| | |
| | | </div> |
| | | <div class="box_item_list_row_info"> |
| | | <div class="label">æä»¶ä¸ä¼ 说æï¼</div> |
| | | <div class="content">éä¸ä¼ çæä»¶ï¼å³å¨ååå¤å°ä»¶ãå·¥èµæµæ°´ãèå¤è®°å½ãèº«ä»½è¯æ£åé¢ãï¼</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"> |
| | |
| | | </div> |
| | | <div class="box_item_list_row_info"> |
| | | <div class="label">æä»¶ä¸ä¼ 说æï¼</div> |
| | | <div class="content">éä¸ä¼ çæä»¶ï¼å³å¨ååå¤å°ä»¶ãå·¥èµæµæ°´ãèå¤è®°å½ãèº«ä»½è¯æ£åé¢ãï¼</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"> |
| | |
| | | </div> |
| | | <div class="box_item_list_row_info"> |
| | | <div class="label">æä»¶ä¸ä¼ 说æï¼</div> |
| | | <div class="content">éä¸ä¼ çæä»¶ï¼å³å¨ååå¤å°ä»¶ãå·¥èµæµæ°´ãèå¤è®°å½ãèº«ä»½è¯æ£åé¢ãï¼</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"> |
| | |
| | | </div> |
| | | <div class="box_item_list_row_info"> |
| | | <div class="label">æä»¶ä¸ä¼ 说æï¼</div> |
| | | <div class="content">éä¸ä¼ çæä»¶ï¼å³å¨ååå¤å°ä»¶ãå·¥èµæµæ°´ãèå¤è®°å½ãèº«ä»½è¯æ£åé¢ãï¼</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"> |
| | |
| | | </div> |
| | | <div class="box_item_list_row_info"> |
| | | <div class="label">æä»¶ä¸ä¼ 说æï¼</div> |
| | | <div class="content">éä¸ä¼ çæä»¶ï¼å³å¨ååå¤å°ä»¶ãå·¥èµæµæ°´ãèå¤è®°å½ãèº«ä»½è¯æ£åé¢ãï¼</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"> |
| | |
| | | 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, |
| | |
| | | }, |
| | | pickerOptions: { |
| | | disabledDate(time) { |
| | | return time.getTime() > Date.now(); // ç¦ç¨æªæ¥çæ¥æ |
| | | return time.getTime() > Date.now() // ç¦ç¨æªæ¥çæ¥æ |
| | | } |
| | | }, |
| | | area: [], |
| | | user: [], |
| | | insurance: null, |
| | | solutionList: [] |
| | | } |
| | | }, |
| | |
| | | this.user = [] |
| | | this.getUser() |
| | | this.getCityTree() |
| | | this.insurance = {} |
| | | if (id) { |
| | | findById(id) |
| | | .then(res => { |
| | |
| | | .then(res1 => { |
| | | res1.forEach(item => { |
| | | if (item.id === res.applyDetailId) { |
| | | this.getInsuranceFile(item)//è·åä¿é©æ¹æ¡æä»¶è¯´æ |
| | | item.active = true |
| | | this.pickerOptions = { |
| | | disabledDate (time) { |
| | |
| | | this.form.informantName = this.userInfo.realname |
| | | }) |
| | | } |
| | | }, |
| | | openLinkUrl(url){ |
| | | window.open(url) |
| | | }, |
| | | continueReporting () { |
| | | this.i = 0 |
| | |
| | | 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 |
| | |
| | | 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) |
| | |
| | | <el-table-column prop="reportNum" label="æ¡ä»¶å·" min-width="150px" align="center"></el-table-column> |
| | | <el-table-column prop="companyName" label="æä¿åä½" min-width="150px" align="center"></el-table-column> |
| | | <el-table-column prop="informantName" label="æ¥æ¡äºº" min-width="150px" align="center"></el-table-column> |
| | | <el-table-column prop="createDateStr" label="æ¥æ¡æ¶é´" min-width="100px" align="center"></el-table-column> |
| | | <el-table-column prop="createDate" label="åºé©æ¶é´" min-width="120px" align="center"></el-table-column> |
| | | <el-table-column prop="reportDate" label="æ¥æ¡æ¶é´" min-width="100px" align="center"></el-table-column> |
| | | <el-table-column prop="happenTime" label="åºé©æ¶é´" min-width="120px" align="center"></el-table-column> |
| | | <el-table-column prop="memberName" label="åºé©äºº" min-width="120px" align="center"></el-table-column> |
| | | <el-table-column prop="memberIdcard" label="身份è¯å·" min-width="120px" align="center"></el-table-column> |
| | | <el-table-column prop="solutionName" label="ä¿é©æ¹æ¡" min-width="120px" align="center"></el-table-column> |
| | |
| | | <span>{{scope.$index + 1}}</span> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column prop="statusName" label="æ¡ä»¶ç¶æ" min-width="100px"></el-table-column> |
| | | <el-table-column prop="statusName" label="æ¡ä»¶ç¶æ" min-width="100px"> |
| | | <template slot-scope="{row}"> |
| | | <span :class="'settle-status'+row.status">{{row.statusName}}</span> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column prop="reportNum" label="æ¥æ¡å·" min-width="100px"></el-table-column> |
| | | <el-table-column prop="companyName" label="æ¥æ¡ä¼ä¸" min-width="100px"></el-table-column> |
| | | <el-table-column prop="memberName" label="åºé©äºº" min-width="100px"></el-table-column> |
| | |
| | | <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="applyCode" label="ä¿åå·" min-width="100px"></el-table-column> |
| | | <el-table-column prop="solutionName" label="ä¿é©æ¹æ¡" min-width="100px"></el-table-column> |
| | | <el-table-column prop="money" label="èµä»éé¢(å
)" min-width="100px"> |
| | | <template slot-scope="{row}"> |
| | | <span style="color: #f95601;cursor: pointer" v-if="[11,12,13].includes(row.status)" :title="'主èµä»ï¼'+(row.hpAccount||0) +'å
å
¶ä»èµä»ï¼'+(row.hpOtherAccount||0) +'å
'">{{(row.hpAccount||0) +(row.hpOtherAccount ||0 ) }}</span> |
| | | <span v-else>-</span> |
| | | </template> |
| | | </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> |
| ¶Ô±ÈÐÂÎļþ |
| | |
| | | <template> |
| | | <TableLayout :permissions="['business:settleclaims:query']"> |
| | | <!-- æç´¢è¡¨å --> |
| | | <el-form ref="searchForm" slot="search-form" :model="searchForm" label-width="100px" inline> |
| | | <el-form-item label="æ¥æ¡å·" prop="code" > |
| | | <el-input v-model="searchForm.code" clearable placeholder="请è¾å
¥" style="width: 150px" @keypress.enter.native="search"></el-input> |
| | | </el-form-item> |
| | | <el-form-item label="æ¥æ¡äºº" prop="informantName"> |
| | | <el-input v-model="searchForm.informantName" clearable placeholder="请è¾å
¥" style="width: 150px" @keypress.enter.native="search"></el-input> |
| | | </el-form-item> |
| | | <el-form-item label="åºé©äººå§å" prop="memberName"> |
| | | <el-input v-model="searchForm.memberName" clearable placeholder="请è¾å
¥" style="width: 150px" @keypress.enter.native="search"></el-input> |
| | | </el-form-item> |
| | | <el-form-item label="åºé©äººèº«ä»½è¯" prop="memberIdcardNo"> |
| | | <el-input v-model="searchForm.memberIdcardNo" clearable placeholder="请è¾å
¥" style="width: 150px" @keypress.enter.native="search"></el-input> |
| | | </el-form-item> |
| | | <el-form-item label="ä¿é©æ¹æ¡" prop="baseSolutionId"> |
| | | <el-select v-model="searchForm.baseSolutionId" clearable filterable placeholder="è¯·éæ©" style="width: 150px" @change="search"> |
| | | <el-option |
| | | v-for="item in solutionList" |
| | | :key="item.baseId" |
| | | :label="item.name" |
| | | :value="item.baseId"> |
| | | </el-option> |
| | | </el-select> |
| | | </el-form-item> |
| | | <el-form-item label="ä¿åå·" prop="applyCode"> |
| | | <el-input v-model="searchForm.applyCode" clearable placeholder="请è¾å
¥" style="width: 150px" @keypress.enter.native="search"></el-input> |
| | | </el-form-item> |
| | | <el-form-item label="æ¡ä»¶ç¶æ" prop="status"> |
| | | <el-select v-model="searchForm.status" clearable placeholder="è¯·éæ©" style="width: 150px" @change="search"> |
| | | <el-option label="æåä¸" value="0"></el-option> |
| | | <el-option label="å·²æ¥æ¡" value="1"></el-option> |
| | | <el-option label="å¾
ç«æ¡" value="2"></el-option> |
| | | <el-option label="å·²ç«æ¡" value="3"></el-option> |
| | | <el-option label="ç«æ¡éå" value="4"></el-option> |
| | | <el-option label="å¾
åç" value="5"></el-option> |
| | | <el-option label="æç»åç" value="6"></el-option> |
| | | <el-option label="åè®®å¾
审æ¹" value="7"></el-option> |
| | | <el-option label="åè®®å®¡æ¹æç»" value="8"></el-option> |
| | | <el-option label="å·²åç" value="9"></el-option> |
| | | <el-option label="å¾
æ ¸èµ" value="10"></el-option> |
| | | <el-option label="å·²æ ¸èµ" value="11"></el-option> |
| | | <el-option label="å¾
ç»æ¡" value="12"></el-option> |
| | | <el-option label="å·²ç»æ¡" value="13"></el-option> |
| | | <el-option label="å·²æ¤æ¡" value="14"></el-option> |
| | | </el-select> |
| | | </el-form-item> |
| | | <el-form-item label="æ¥æ¡æ¶é´" prop="createDateStr"> |
| | | <el-date-picker |
| | | style="width: 150px" |
| | | clearable |
| | | v-model="searchForm.createDateStr" |
| | | @change="search" |
| | | type="date" |
| | | placeholder="è¯·éæ©" |
| | | value-format="yyyy-MM-dd" > |
| | | </el-date-picker> |
| | | </el-form-item> |
| | | <section> |
| | | <el-button type="primary" @click="search">æç´¢</el-button> |
| | | <el-button @click="reset">éç½®</el-button> |
| | | </section> |
| | | </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" |
| | | stripe> |
| | | <el-table-column label="åºå·" width="80px"> |
| | | <template slot-scope="scope"> |
| | | <span>{{scope.$index + 1}}</span> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column prop="statusName" label="æ¡ä»¶ç¶æ" min-width="100px"> |
| | | <template slot-scope="{row}"> |
| | | <span :class="'settle-status'+row.status">{{row.statusName}}</span> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column prop="reportNum" label="æ¥æ¡å·" min-width="100px"></el-table-column> |
| | | <el-table-column prop="informantName" label="æ¥æ¡äºº" min-width="100px"></el-table-column> |
| | | <el-table-column prop="createDate" label="æ¥æ¡æ¶é´" min-width="150px"></el-table-column> |
| | | <el-table-column prop="memberName" label="åºé©äºº" min-width="100px"></el-table-column> |
| | | <el-table-column prop="memberIdcardNo" label="身份è¯å·" min-width="180px"></el-table-column> |
| | | <el-table-column prop="duName" label="ç¨äººé£åä½" min-width="180px"></el-table-column> |
| | | <el-table-column prop="applyCode" label="ä¿åå·" min-width="100px"></el-table-column> |
| | | <el-table-column prop="solutionName" label="ä¿é©æ¹æ¡" min-width="180px"></el-table-column> |
| | | <el-table-column prop="money" label="èµä»éé¢(å
)" min-width="100px"> |
| | | <template slot-scope="{row}"> |
| | | <span style="color: #f95601;cursor: pointer" v-if="[11,12,13].includes(row.status)" :title="'主èµä»ï¼'+(row.hpAccount||0) +'å
å
¶ä»èµä»ï¼'+(row.hpOtherAccount||0) +'å
'">{{(row.hpAccount||0) +(row.hpOtherAccount ||0 ) }}</span> |
| | | <span v-else>-</span> |
| | | </template> |
| | | </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'])" |
| | | label="æä½" |
| | | min-width="200" |
| | | fixed="right"> |
| | | <template slot-scope="{row}"> |
| | | <el-button |
| | | type="text" |
| | | @click="$refs.operaSettleClaimsWindow.open('æ¥æ¡è¯¦æ
', row.id)" |
| | | v-if="row.status !== 0"> |
| | | æ¥ç详æ
|
| | | </el-button> |
| | | <el-button |
| | | type="text" |
| | | @click="$refs.onlineReporting.open('ç¼è¾æ¥æ¡', row.id)" |
| | | v-if="[0,1,2,4,5,7].includes(row.status) && userInfo.type === 1"> |
| | | ç¼è¾ |
| | | </el-button> |
| | | <el-button |
| | | type="text" |
| | | @click="revoke(row.id)" |
| | | v-if="[1,2,3,4,5,9,7,10].includes(row.status) && userInfo.type === 1"> |
| | | æ¤é |
| | | </el-button> |
| | | <el-button type="text" @click="deleRow(row.id)" v-if="row.status === 0">å é¤</el-button> |
| | | </template> |
| | | </el-table-column> |
| | | </el-table> |
| | | <pagination |
| | | @size-change="handleSizeChange" |
| | | @current-change="handlePageChange" |
| | | :pagination="tableData.pagination" |
| | | > |
| | | </pagination> |
| | | </template> |
| | | <!-- 详æ
--> |
| | | <OperaSettleClaimsWindow ref="operaSettleClaimsWindow" @success="handlePageChange"/> |
| | | <!-- å¨çº¿æ¥æ¡ --> |
| | | <onlineReporting ref="onlineReporting" @success="handlePageChange" /> |
| | | </TableLayout> |
| | | </template> |
| | | |
| | | <script> |
| | | import BaseTable from '@/components/base/BaseTable' |
| | | 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 { returnSettle } from '@/api/business/settleRisk' |
| | | import { pageAll as companyAll } from '@/api/business/company' |
| | | import { dele } from '@/api/business/settleClaims' |
| | | import { mapState } from 'vuex' |
| | | export default { |
| | | name: 'SettleClaims', |
| | | extends: BaseTable, |
| | | components: { TableLayout, Pagination, OperaSettleClaimsWindow, onlineReporting }, |
| | | data () { |
| | | return { |
| | | // æç´¢ |
| | | solutionList: [], |
| | | companyList: [], |
| | | searchForm: { |
| | | baseSolutionId: '', |
| | | companyId: '', |
| | | duName: '', |
| | | createDateStr:null, |
| | | memberName: '', |
| | | applyCode:null, |
| | | memberIdcardNo: '', |
| | | status: '', |
| | | informantName: '' |
| | | } |
| | | } |
| | | }, |
| | | computed: { |
| | | ...mapState(['userInfo']) |
| | | }, |
| | | created () { |
| | | this.config({ |
| | | module: 'çèµç³è¯·è¡¨', |
| | | api: '/business/settleClaims', |
| | | 'field.id': 'id', |
| | | 'field.main': 'id' |
| | | }) |
| | | this.search() |
| | | this.loadSelectList() |
| | | }, |
| | | methods: { |
| | | // æ¤é |
| | | revoke(id) { |
| | | this.$confirm('æ¤éåï¼æ¡ä»¶ç´æ¥ç»æï¼æ æ³ç»§ç»è¿è¡çèµæä½ï¼', 'æ¯å¦æ¤éæ¥æ¡ï¼', { |
| | | confirmButtonText: 'ç¡®å®æ¤é', |
| | | cancelButtonText: 'æåæ³æ³', |
| | | type: 'warning' |
| | | }).then(() => { |
| | | returnSettle({ id }) |
| | | .then(res => { |
| | | this.search() |
| | | }) |
| | | }).catch(() => { |
| | | |
| | | }); |
| | | }, |
| | | loadSelectList () { |
| | | solutionAll({ dataType: 0 }).then(res => { |
| | | this.solutionList = res |
| | | }).catch(err => { |
| | | }) |
| | | }, |
| | | deleRow(id) { |
| | | this.$confirm('æ¤æä½å°æ°¸ä¹
å é¤è¯¥æ°æ®, æ¯å¦ç»§ç»?', 'æç¤º', { |
| | | confirmButtonText: 'ç¡®å®', |
| | | cancelButtonText: 'åæ¶', |
| | | type: 'warning' |
| | | }).then(() => { |
| | | dele(id) |
| | | .then(res => { |
| | | this.$message.success('å 餿å') |
| | | this.search() |
| | | }) |
| | | }).catch(() => { |
| | | |
| | | }); |
| | | } |
| | | |
| | | } |
| | | } |
| | | </script> |