| | |
| | | # 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/' |
| | |
| | | |
| | | // æ¥è¯¢ |
| | | export function fetchList (data) { |
| | | return request.post('/business/insurance/page', data, { |
| | | trim: true |
| | | }) |
| | | return request.post('/business/insurance/page', data, { |
| | | trim: true |
| | | }) |
| | | } |
| | | |
| | | // 导åºExcel |
| | | export function exportExcel (data) { |
| | | return request.post('/business/insurance/exportExcel', data, { |
| | | trim: true, |
| | | download: true |
| | | }) |
| | | return request.post('/business/insurance/exportExcel', data, { |
| | | trim: true, |
| | | download: true |
| | | }) |
| | | } |
| | | |
| | | // å建 |
| | | export function create (data) { |
| | | return request.post('/business/insurance/create', data) |
| | | return request.post('/business/insurance/create', data) |
| | | } |
| | | |
| | | // åå¨çèµé
ç½® |
| | | export function saveLpInfo (data) { |
| | | return request.post('/business/insurance/saveLpInfo', data) |
| | | return request.post('/business/insurance/saveLpInfo', data) |
| | | } |
| | | |
| | | // æ¥è¯¢å
¨é¨ |
| | | export function all (data) { |
| | | return request.post('/business/insurance/list', data) |
| | | return request.post('/business/insurance/list', data) |
| | | } |
| | | |
| | | // ä¿®æ¹ |
| | | export function updateById (data) { |
| | | return request.post('/business/insurance/updateById', data) |
| | | return request.post('/business/insurance/updateById', data) |
| | | } |
| | | |
| | | // ä¿®æ¹ç¶æ |
| | | export function updateStatus (data) { |
| | | return request.post('/business/insurance/updateStatus', data) |
| | | return request.post('/business/insurance/updateStatus', data) |
| | | } |
| | | |
| | | // æ ¹æ®IDæ¥è¯¢ |
| | | export function getById (id) { |
| | | return request.get(`/business/insurance/${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> |
| | |
| | | </template> |
| | | |
| | | <script> |
| | | import BaseOpera from '@/components/base/BaseOpera' |
| | | import GlobalWindow from '@/components/common/GlobalWindow' |
| | | import upload from '@/components/common/upload' |
| | | import { getCompensation } from '@/api/business/settleRisk' |
| | | import { createSys } from '@/api/business/settleClaims' |
| | | import { findById } from '@/api/business/settleClaimsMovement' |
| | | export default { |
| | | name: 'OpearaCaseEntryWindow', |
| | | extends: BaseOpera, |
| | | components: { GlobalWindow, upload }, |
| | | data () { |
| | | return { |
| | | ruleForm: { |
| | | id: null, |
| | | extData: { |
| | | memberName: '', |
| | | memberIdcardType: '', |
| | | memberIdcard: '', |
| | | memberBirthday: '', |
| | | memberAge: '', |
| | | memberSex: 0, |
| | | memberPhone: '', |
| | | memberAddr: '', |
| | | bxName: '', |
| | | bxCode: '', |
| | | import BaseOpera from '@/components/base/BaseOpera' |
| | | import GlobalWindow from '@/components/common/GlobalWindow' |
| | | import upload from '@/components/common/upload' |
| | | import { getCompensation } from '@/api/business/settleRisk' |
| | | import { createSys } from '@/api/business/settleClaims' |
| | | import { findById } from '@/api/business/settleClaimsMovement' |
| | | export default { |
| | | name: 'OpearaCaseEntryWindow', |
| | | extends: BaseOpera, |
| | | components: { GlobalWindow, upload }, |
| | | data () { |
| | | return { |
| | | ruleForm: { |
| | | id: null, |
| | | extData: { |
| | | memberName: '', |
| | | memberIdcardType: '', |
| | | memberIdcard: '', |
| | | memberBirthday: '', |
| | | memberAge: '', |
| | | memberSex: 0, |
| | | memberPhone: '', |
| | | memberAddr: '', |
| | | bxName: '', |
| | | bxCode: '', |
| | | reportDate:null, |
| | | bxDate: [], |
| | | bxStartdate: '', |
| | | bxEnddate: '', |
| | | bxTbName: '', |
| | | bxBbName: '', |
| | | bxOrg: '', |
| | | bxYsMoney: '', |
| | | bxSsMoney: '', |
| | | |
| | | bxDate: [], |
| | | bxStartdate: '', |
| | | bxEnddate: '', |
| | | bxTbName: '', |
| | | bxBbName: '', |
| | | bxOrg: '', |
| | | bxYsMoney: '', |
| | | bxSsMoney: '', |
| | | rsAttr: '', |
| | | rsInfo: '', |
| | | rsZlStatus: '', |
| | | rsLossMoney: '', |
| | | rsJzInfo: '', |
| | | rsCyDate: '', |
| | | rsYlOrg: '', |
| | | rsDeathDate: '', |
| | | |
| | | rsAttr: '', |
| | | rsInfo: '', |
| | | rsZlStatus: '', |
| | | rsLossMoney: '', |
| | | rsJzInfo: '', |
| | | rsCyDate: '', |
| | | rsYlOrg: '', |
| | | rsDeathDate: '', |
| | | jzHospital: '', |
| | | jzZyCode: '', |
| | | jzZyKs: '', |
| | | jzZyDate: '', |
| | | jzCyDate: '', |
| | | jzZyDays: '', |
| | | |
| | | jzHospital: '', |
| | | jzZyCode: '', |
| | | jzZyKs: '', |
| | | jzZyDate: '', |
| | | jzCyDate: '', |
| | | jzZyDays: '', |
| | | zdZlInfo: '', |
| | | zdSqInfo: '', |
| | | zdLczd: '', |
| | | zdSsName: '', |
| | | zdHxProject: '', |
| | | zdJwb: '', |
| | | |
| | | zdZlInfo: '', |
| | | zdSqInfo: '', |
| | | zdLczd: '', |
| | | zdSsName: '', |
| | | zdHxProject: '', |
| | | zdJwb: '', |
| | | hzBdhCl: '', |
| | | hzDutyRate: '', |
| | | |
| | | hzBdhCl: '', |
| | | hzDutyRate: '', |
| | | jdInfo: '', |
| | | jdChannel: '', |
| | | jdOrg: '', |
| | | jdUser: '', |
| | | jdPdDate: '', |
| | | jdScLevel: '', |
| | | jdTerms: '', |
| | | jdXishu: '', |
| | | jdJsldht: 1, |
| | | jdZrpctkRel: 0, |
| | | |
| | | jdInfo: '', |
| | | jdChannel: '', |
| | | jdOrg: '', |
| | | jdUser: '', |
| | | jdPdDate: '', |
| | | jdScLevel: '', |
| | | jdTerms: '', |
| | | jdXishu: '', |
| | | jdJsldht: 1, |
| | | jdZrpctkRel: 0, |
| | | |
| | | logoff: 1, |
| | | logoffUser: '', |
| | | logoffDate: '' |
| | | }, |
| | | informantName: '', |
| | | informantPhone: '', |
| | | reportNum: '', |
| | | areaInfo: '', |
| | | type: 0, |
| | | hospital: '', |
| | | inHospital: 1, |
| | | hurtType: 0, |
| | | payForYbwyy: 1, |
| | | |
| | | relationFileList: [], |
| | | outpatientFileList: [], |
| | | hospitalFileList: [], |
| | | disabilityFileList: [], |
| | | otherFileList: [], |
| | | reportFileList: [], |
| | | |
| | | accountList: [], |
| | | dzbdFileList: [], |
| | | |
| | | status: '', |
| | | medicalInsurance: 1, |
| | | content: '', |
| | | happenTime: '', |
| | | createDate: '' |
| | | }, |
| | | rules: { |
| | | 'extData.memberName': [ |
| | | { required: true, message: 'ä¸è½ä¸ºç©º', trigger: 'blur' } |
| | | ], |
| | | 'extData.memberIdcardType': [ |
| | | { required: true, message: 'ä¸è½ä¸ºç©º', trigger: 'blur' } |
| | | ], |
| | | 'extData.memberIdcard': [ |
| | | { required: true, message: 'ä¸è½ä¸ºç©º', trigger: 'blur' } |
| | | ], |
| | | 'extData.memberSex': [ |
| | | { required: true, message: 'ä¸è½ä¸ºç©º', trigger: 'blur' } |
| | | ], |
| | | 'extData.memberPhone': [ |
| | | { required: true, message: 'ä¸è½ä¸ºç©º', trigger: 'blur' } |
| | | ], |
| | | 'extData.bxName': [ |
| | | { required: true, message: 'ä¸è½ä¸ºç©º', trigger: 'blur' } |
| | | ], |
| | | 'extData.bxCode': [ |
| | | { required: true, message: 'ä¸è½ä¸ºç©º', trigger: 'blur' } |
| | | ], |
| | | 'extData.bxDate': [ |
| | | { required: true, message: 'ä¸è½ä¸ºç©º', trigger: 'blur' } |
| | | ], |
| | | 'extData.bxTbName': [ |
| | | { required: true, message: 'ä¸è½ä¸ºç©º', trigger: 'blur' } |
| | | ], |
| | | 'extData.bxBbName': [ |
| | | { required: true, message: 'ä¸è½ä¸ºç©º', trigger: 'blur' } |
| | | ], |
| | | 'extData.bxOrg': [ |
| | | { required: true, message: 'ä¸è½ä¸ºç©º', trigger: 'blur' } |
| | | ], |
| | | informantPhone: [ |
| | | { required: true, message: 'ä¸è½ä¸ºç©º', trigger: 'blur' } |
| | | ] |
| | | }, |
| | | uploadImgUrl: process.env.VUE_APP_API_PREFIX + '/public/upload?folder=settle', |
| | | totalPrice: 0, |
| | | list1: [], |
| | | list2: [], |
| | | list3: [], |
| | | } |
| | | logoff: 1, |
| | | logoffUser: '', |
| | | logoffDate: '' |
| | | }, |
| | | created () { |
| | | this.config({ |
| | | api: '/business/company', |
| | | 'field.id': 'id' |
| | | }) |
| | | }, |
| | | methods: { |
| | | open (title, id) { |
| | | this.title = title |
| | | if (id) { |
| | | findById(id) |
| | | .then(res => { |
| | | console.log(res) |
| | | this.ruleForm.id = id |
| | | this.$nextTick(() => { |
| | | for (const key in this.ruleForm) { |
| | | this.ruleForm[key] = res[key] |
| | | } |
| | | if (this.ruleForm.accountList && this.ruleForm.accountList.length > 0) { |
| | | this.list1 = this.ruleForm.accountList.filter(item => item.type === 0) |
| | | this.list2 = this.ruleForm.accountList.filter(item => item.type === 1) |
| | | this.list3 = this.ruleForm.accountList.filter(item => item.type === 2) |
| | | this.changeFee() |
| | | } |
| | | if (res.extData.bxStartdate && res.extData.bxEnddate) { |
| | | this.ruleForm.extData.bxDate = [res.extData.bxStartdate, res.extData.bxEnddate] |
| | | } |
| | | }) |
| | | this.visible = true |
| | | }) |
| | | } else { |
| | | this.visible = true |
| | | this.ruleForm = { |
| | | id: null, |
| | | extData: { |
| | | memberName: '', |
| | | memberIdcardType: '', |
| | | memberIdcard: '', |
| | | memberBirthday: '', |
| | | memberAge: '', |
| | | memberSex: 0, |
| | | memberPhone: '', |
| | | memberAddr: '', |
| | | bxName: '', |
| | | bxCode: '', |
| | | informantName: '', |
| | | informantPhone: '', |
| | | reportNum: '', |
| | | areaInfo: '', |
| | | type: 0, |
| | | hospital: '', |
| | | inHospital: 1, |
| | | hurtType: 0, |
| | | payForYbwyy: 1, |
| | | |
| | | bxDate: [], |
| | | bxStartdate: '', |
| | | bxEnddate: '', |
| | | bxTbName: '', |
| | | bxBbName: '', |
| | | bxOrg: '', |
| | | bxYsMoney: '', |
| | | bxSsMoney: '', |
| | | relationFileList: [], |
| | | outpatientFileList: [], |
| | | hospitalFileList: [], |
| | | disabilityFileList: [], |
| | | otherFileList: [], |
| | | reportFileList: [], |
| | | |
| | | rsAttr: '', |
| | | rsInfo: '', |
| | | rsZlStatus: '', |
| | | rsLossMoney: '', |
| | | rsJzInfo: '', |
| | | rsCyDate: '', |
| | | rsYlOrg: '', |
| | | rsDeathDate: '', |
| | | accountList: [], |
| | | dzbdFileList: [], |
| | | |
| | | jzHospital: '', |
| | | jzZyCode: '', |
| | | jzZyKs: '', |
| | | jzZyDate: '', |
| | | jzCyDate: '', |
| | | jzZyDays: '', |
| | | |
| | | zdZlInfo: '', |
| | | zdSqInfo: '', |
| | | zdLczd: '', |
| | | zdSsName: '', |
| | | zdHxProject: '', |
| | | zdJwb: '', |
| | | |
| | | hzBdhCl: '', |
| | | hzDutyRate: '', |
| | | |
| | | jdInfo: '', |
| | | jdChannel: '', |
| | | jdOrg: '', |
| | | jdUser: '', |
| | | jdPdDate: '', |
| | | jdScLevel: '', |
| | | jdTerms: '', |
| | | jdXishu: '', |
| | | jdJsldht: 1, |
| | | jdZrpctkRel: 0, |
| | | |
| | | logoff: 1, |
| | | logoffUser: '', |
| | | logoffDate: '' |
| | | }, |
| | | informantName: '', |
| | | informantPhone: '', |
| | | reportNum: '', |
| | | areaInfo: '', |
| | | type: 0, |
| | | hospital: '', |
| | | inHospital: 1, |
| | | hurtType: 0, |
| | | payForYbwyy: 1, |
| | | |
| | | relationFileList: [], |
| | | outpatientFileList: [], |
| | | hospitalFileList: [], |
| | | disabilityFileList: [], |
| | | otherFileList: [], |
| | | reportFileList: [], |
| | | |
| | | accountList: [], |
| | | dzbdFileList: [], |
| | | |
| | | status: '', |
| | | medicalInsurance: 1, |
| | | content: '', |
| | | happenTime: '', |
| | | createDate: '' |
| | | } |
| | | } |
| | | this.getCompensations() |
| | | }, |
| | | confirm() { |
| | | this.$refs.ruleForm.validate((valid) => { |
| | | if (!valid) return |
| | | this.isWorking = true |
| | | let obj = JSON.parse(JSON.stringify(this.ruleForm)) |
| | | obj.accountList = [...this.list1, ...this.list2, ...this.list3] |
| | | createSys(obj) |
| | | .then(() => { |
| | | this.visible = false |
| | | if (!obj.id) { |
| | | this.$tip.apiSuccess('æ°å»ºæå') |
| | | } else { |
| | | this.$tip.apiSuccess('ç¼è¾æå') |
| | | } |
| | | this.$emit('success') |
| | | }) |
| | | .catch(e => { |
| | | this.$tip.apiFailed(e) |
| | | }) |
| | | .finally(() => { |
| | | this.isWorking = false |
| | | }) |
| | | }) |
| | | }, |
| | | changeFee() { |
| | | let arr = [...this.list1, ...this.list2] |
| | | let price = 0 |
| | | arr.forEach(item => { |
| | | if (item.fee) { |
| | | price += Number(item.fee) |
| | | } |
| | | }) |
| | | this.totalPrice = price |
| | | }, |
| | | delFile (index, type) { |
| | | if (type === 1) { |
| | | this.ruleForm.relationFileList.splice(index, 1) |
| | | } else if (type === 2) { |
| | | this.ruleForm.outpatientFileList.splice(index, 1) |
| | | } else if (type === 3) { |
| | | this.ruleForm.hospitalFileList.splice(index, 1) |
| | | } else if (type === 4) { |
| | | this.ruleForm.disabilityFileList.splice(index, 1) |
| | | } else if (type === 5) { |
| | | this.ruleForm.otherFileList.splice(index, 1) |
| | | } else if (type === 6) { |
| | | this.ruleForm.reportFileList.splice(index, 1) |
| | | } else if (type === 7) { |
| | | this.ruleForm.dzbdFileList.splice(index, 1) |
| | | } |
| | | }, |
| | | claimsUploadFile(file, type) { |
| | | file.fileurl = file.imgaddr |
| | | file.name = file.originname |
| | | if (type === 1) { |
| | | this.ruleForm.relationFileList.push(file) |
| | | } else if (type === 2) { |
| | | this.ruleForm.outpatientFileList.push(file) |
| | | } else if (type === 3) { |
| | | this.ruleForm.hospitalFileList.push(file) |
| | | } else if (type === 4) { |
| | | this.ruleForm.disabilityFileList.push(file) |
| | | } else if (type === 5) { |
| | | this.ruleForm.otherFileList.push(file) |
| | | } else if (type === 6) { |
| | | this.ruleForm.reportFileList.push(file) |
| | | } else if (type === 7) { |
| | | this.ruleForm.dzbdFileList.push(file) |
| | | } |
| | | }, |
| | | changeBxDate(e) { |
| | | if (e.length > 1) { |
| | | this.ruleForm.extData.bxStartdate = e[0] |
| | | this.ruleForm.extData.bxEnddate = e[1] |
| | | } else { |
| | | this.ruleForm.extData.bxStartdate = '' |
| | | this.ruleForm.extData.bxEnddate = '' |
| | | } |
| | | }, |
| | | getCompensations() { |
| | | getCompensation({ type: 1 }) |
| | | .then(res => { |
| | | console.log(res) |
| | | this.list1 = res.filter(item => item.type === 0) |
| | | this.list2 = res.filter(item => item.type === 1) |
| | | this.list3 = res.filter(item => item.type === 2) |
| | | }) |
| | | } |
| | | } |
| | | status: '', |
| | | medicalInsurance: 1, |
| | | content: '', |
| | | happenTime: '', |
| | | createDate: '' |
| | | }, |
| | | rules: { |
| | | 'extData.memberName': [ |
| | | { required: true, message: 'ä¸è½ä¸ºç©º', trigger: 'blur' } |
| | | ], |
| | | 'extData.memberIdcardType': [ |
| | | { required: true, message: 'ä¸è½ä¸ºç©º', trigger: 'blur' } |
| | | ], |
| | | 'extData.memberIdcard': [ |
| | | { required: true, message: 'ä¸è½ä¸ºç©º', trigger: 'blur' } |
| | | ], |
| | | 'extData.memberSex': [ |
| | | { required: true, message: 'ä¸è½ä¸ºç©º', trigger: 'blur' } |
| | | ], |
| | | 'extData.memberPhone': [ |
| | | { required: true, message: 'ä¸è½ä¸ºç©º', trigger: 'blur' } |
| | | ], |
| | | 'extData.bxName': [ |
| | | { required: true, message: 'ä¸è½ä¸ºç©º', trigger: 'blur' } |
| | | ], |
| | | 'extData.bxCode': [ |
| | | { required: true, message: 'ä¸è½ä¸ºç©º', trigger: 'blur' } |
| | | ], |
| | | 'extData.bxDate': [ |
| | | { required: true, message: 'ä¸è½ä¸ºç©º', trigger: 'blur' } |
| | | ], |
| | | 'extData.bxTbName': [ |
| | | { required: true, message: 'ä¸è½ä¸ºç©º', trigger: 'blur' } |
| | | ], |
| | | 'extData.bxBbName': [ |
| | | { required: true, message: 'ä¸è½ä¸ºç©º', trigger: 'blur' } |
| | | ], |
| | | 'extData.bxOrg': [ |
| | | { required: true, message: 'ä¸è½ä¸ºç©º', trigger: 'blur' } |
| | | ], |
| | | informantPhone: [ |
| | | { required: true, message: 'ä¸è½ä¸ºç©º', trigger: 'blur' } |
| | | ] |
| | | }, |
| | | uploadImgUrl: process.env.VUE_APP_API_PREFIX + '/public/upload?folder=settle', |
| | | totalPrice: 0, |
| | | list1: [], |
| | | list2: [], |
| | | list3: [] |
| | | } |
| | | }, |
| | | created () { |
| | | this.config({ |
| | | api: '/business/company', |
| | | 'field.id': 'id' |
| | | }) |
| | | }, |
| | | methods: { |
| | | open (title, id) { |
| | | this.title = title |
| | | if (id) { |
| | | findById(id) |
| | | .then(res => { |
| | | console.log(res) |
| | | this.ruleForm.id = id |
| | | this.$nextTick(() => { |
| | | for (const key in this.ruleForm) { |
| | | this.ruleForm[key] = res[key] |
| | | } |
| | | if (this.ruleForm.accountList && this.ruleForm.accountList.length > 0) { |
| | | this.list1 = this.ruleForm.accountList.filter(item => item.type === 0) |
| | | this.list2 = this.ruleForm.accountList.filter(item => item.type === 1) |
| | | this.list3 = this.ruleForm.accountList.filter(item => item.type === 2) |
| | | this.changeFee() |
| | | } |
| | | if (res.extData.bxStartdate && res.extData.bxEnddate) { |
| | | this.ruleForm.extData.bxDate = [res.extData.bxStartdate, res.extData.bxEnddate] |
| | | } |
| | | }) |
| | | this.visible = true |
| | | }) |
| | | } else { |
| | | this.visible = true |
| | | this.ruleForm = { |
| | | id: null, |
| | | extData: { |
| | | memberName: '', |
| | | memberIdcardType: '', |
| | | memberIdcard: '', |
| | | memberBirthday: '', |
| | | memberAge: '', |
| | | memberSex: 0, |
| | | memberPhone: '', |
| | | memberAddr: '', |
| | | bxName: '', |
| | | bxCode: '', |
| | | |
| | | bxDate: [], |
| | | bxStartdate: '', |
| | | bxEnddate: '', |
| | | bxTbName: '', |
| | | bxBbName: '', |
| | | bxOrg: '', |
| | | bxYsMoney: '', |
| | | bxSsMoney: '', |
| | | |
| | | rsAttr: '', |
| | | rsInfo: '', |
| | | rsZlStatus: '', |
| | | rsLossMoney: '', |
| | | rsJzInfo: '', |
| | | rsCyDate: '', |
| | | rsYlOrg: '', |
| | | rsDeathDate: '', |
| | | |
| | | jzHospital: '', |
| | | jzZyCode: '', |
| | | jzZyKs: '', |
| | | jzZyDate: '', |
| | | jzCyDate: '', |
| | | jzZyDays: '', |
| | | |
| | | zdZlInfo: '', |
| | | zdSqInfo: '', |
| | | zdLczd: '', |
| | | zdSsName: '', |
| | | zdHxProject: '', |
| | | zdJwb: '', |
| | | |
| | | hzBdhCl: '', |
| | | hzDutyRate: '', |
| | | |
| | | jdInfo: '', |
| | | jdChannel: '', |
| | | jdOrg: '', |
| | | jdUser: '', |
| | | jdPdDate: '', |
| | | jdScLevel: '', |
| | | jdTerms: '', |
| | | jdXishu: '', |
| | | jdJsldht: 1, |
| | | jdZrpctkRel: 0, |
| | | |
| | | logoff: 1, |
| | | logoffUser: '', |
| | | logoffDate: '' |
| | | }, |
| | | informantName: '', |
| | | informantPhone: '', |
| | | reportNum: '', |
| | | areaInfo: '', |
| | | type: 0, |
| | | hospital: '', |
| | | inHospital: 1, |
| | | hurtType: 0, |
| | | payForYbwyy: 1, |
| | | |
| | | relationFileList: [], |
| | | outpatientFileList: [], |
| | | hospitalFileList: [], |
| | | disabilityFileList: [], |
| | | otherFileList: [], |
| | | reportFileList: [], |
| | | |
| | | accountList: [], |
| | | dzbdFileList: [], |
| | | |
| | | status: '', |
| | | medicalInsurance: 1, |
| | | content: '', |
| | | happenTime: '', |
| | | createDate: '' |
| | | } |
| | | } |
| | | this.getCompensations() |
| | | }, |
| | | confirm () { |
| | | this.$refs.ruleForm.validate((valid) => { |
| | | if (!valid) return |
| | | this.isWorking = true |
| | | const obj = JSON.parse(JSON.stringify(this.ruleForm)) |
| | | obj.accountList = [...this.list1, ...this.list2, ...this.list3] |
| | | createSys(obj) |
| | | .then(() => { |
| | | this.visible = false |
| | | if (!obj.id) { |
| | | this.$tip.apiSuccess('æ°å»ºæå') |
| | | } else { |
| | | this.$tip.apiSuccess('ç¼è¾æå') |
| | | } |
| | | this.$emit('success') |
| | | }) |
| | | .catch(e => { |
| | | this.$tip.apiFailed(e) |
| | | }) |
| | | .finally(() => { |
| | | this.isWorking = false |
| | | }) |
| | | }) |
| | | }, |
| | | changeFee () { |
| | | const arr = [...this.list1, ...this.list2] |
| | | let price = 0 |
| | | arr.forEach(item => { |
| | | if (item.fee) { |
| | | price += Number(item.fee) |
| | | } |
| | | }) |
| | | this.totalPrice = price |
| | | }, |
| | | delFile (index, type) { |
| | | if (type === 1) { |
| | | this.ruleForm.relationFileList.splice(index, 1) |
| | | } else if (type === 2) { |
| | | this.ruleForm.outpatientFileList.splice(index, 1) |
| | | } else if (type === 3) { |
| | | this.ruleForm.hospitalFileList.splice(index, 1) |
| | | } else if (type === 4) { |
| | | this.ruleForm.disabilityFileList.splice(index, 1) |
| | | } else if (type === 5) { |
| | | this.ruleForm.otherFileList.splice(index, 1) |
| | | } else if (type === 6) { |
| | | this.ruleForm.reportFileList.splice(index, 1) |
| | | } else if (type === 7) { |
| | | this.ruleForm.dzbdFileList.splice(index, 1) |
| | | } |
| | | }, |
| | | claimsUploadFile (file, type) { |
| | | file.fileurl = file.imgaddr |
| | | file.name = file.originname |
| | | if (type === 1) { |
| | | this.ruleForm.relationFileList.push(file) |
| | | } else if (type === 2) { |
| | | this.ruleForm.outpatientFileList.push(file) |
| | | } else if (type === 3) { |
| | | this.ruleForm.hospitalFileList.push(file) |
| | | } else if (type === 4) { |
| | | this.ruleForm.disabilityFileList.push(file) |
| | | } else if (type === 5) { |
| | | this.ruleForm.otherFileList.push(file) |
| | | } else if (type === 6) { |
| | | this.ruleForm.reportFileList.push(file) |
| | | } else if (type === 7) { |
| | | this.ruleForm.dzbdFileList.push(file) |
| | | } |
| | | }, |
| | | changeBxDate (e) { |
| | | if (e.length > 1) { |
| | | this.ruleForm.extData.bxStartdate = e[0] |
| | | this.ruleForm.extData.bxEnddate = e[1] |
| | | } else { |
| | | this.ruleForm.extData.bxStartdate = '' |
| | | this.ruleForm.extData.bxEnddate = '' |
| | | } |
| | | }, |
| | | getCompensations () { |
| | | getCompensation({ type: 1 }) |
| | | .then(res => { |
| | | console.log(res) |
| | | this.list1 = res.filter(item => item.type === 0) |
| | | this.list2 = res.filter(item => item.type === 1) |
| | | this.list3 = res.filter(item => item.type === 2) |
| | | }) |
| | | } |
| | | } |
| | | } |
| | | </script> |
| | | |
| | | <style lang="scss" scoped> |
| | |
| | | :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-input v-model="form.name" placeholder="请è¾å
¥" v-trim/> |
| | | </el-form-item> |
| | | <el-form-item label="ä¿é©å
¬å¸" prop="insuranceId"> |
| | | <el-select v-model="form.insuranceId" filterable @change="getAllWorktype1" placeholder="è¯·éæ©"> |
| | | <el-option |
| | | v-for="item in company" |
| | | :key="item.id" |
| | | :label="item.name" |
| | | :value="item.id"> |
| | | </el-option> |
| | | </el-select> |
| | | <el-select v-model="form.insuranceId" filterable @change="getAllWorktype1" placeholder="è¯·éæ©"> |
| | | <el-option |
| | | v-for="item in company" |
| | | :key="item.id" |
| | | :label="item.name" |
| | | :value="item.id"> |
| | | </el-option> |
| | | </el-select> |
| | | </el-form-item> |
| | | <el-form-item label="æ¿ä¿å
¬å¸" prop="companyName"> |
| | | <el-input v-model="form.companyName" placeholder="请è¾å
¥" v-trim/> |
| | | <el-input v-model="form.companyName" placeholder="请è¾å
¥" v-trim/> |
| | | </el-form-item> |
| | | <el-form-item label="æä¿å¹´é¾" prop="minAge"> |
| | | <div style="display: flex; align-items: center;"> |
| | | <el-select v-model="form.minAge" @change="changeMinAge" style="flex: 1;" placeholder="è¯·éæ©"> |
| | | <el-option |
| | | v-for="item in 80" |
| | | :key="item" |
| | | :label="item" |
| | | :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-option |
| | | v-for="item in 80" |
| | | :key="item" |
| | | :label="item" |
| | | :value="item"> |
| | | </el-option> |
| | | </el-select> |
| | | </div> |
| | | <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" |
| | | :key="item" |
| | | :label="item" |
| | | :value="item"> |
| | | </el-option> |
| | | </el-select> |
| | | </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" |
| | | :label="item" |
| | | :value="item"> |
| | | </el-option> |
| | | </el-select> |
| | | </el-form-item> |
| | | </div> |
| | | </el-form-item> |
| | | <el-form-item label="çææ¶é´" prop="validTypeNum"> |
| | | <div style="width: 100%; display: flex; align-items: center;"> |
| | | <div style="flex-shrink: 0;"> |
| | | <el-radio-group v-model="form.validType" @change="changeValidType"> |
| | | <el-radio :label="0">æ¥åçæ</el-radio> |
| | | <el-radio :label="1">次æçæ</el-radio> |
| | | </el-radio-group> |
| | | </div> |
| | | <el-input style="margin-left: 20px;" type="number" v-model="form.validTypeNum" placeholder="请è¾å
¥å»¶è¿å¤©æ°" v-if="form.validType === 0"></el-input> |
| | | <div style="width: 100%; display: flex; align-items: center;"> |
| | | <div style="flex-shrink: 0;"> |
| | | <el-radio-group v-model="form.validType" @change="changeValidType"> |
| | | <el-radio :label="0">æ¥åçæ</el-radio> |
| | | <el-radio :label="1">次æçæ</el-radio> |
| | | </el-radio-group> |
| | | </div> |
| | | <el-input style="margin-left: 20px;" type="number" v-model="form.validTypeNum" placeholder="请è¾å
¥å»¶è¿å¤©æ°" v-if="form.validType === 0"></el-input> |
| | | </div> |
| | | </el-form-item> |
| | | <el-form-item label="æ¹æ¹æ¯æ" prop="canAdd"> |
| | | <div style="width: 100%; display: flex; align-items: center;"> |
| | | <el-checkbox :true-label="1" :false-label="0" v-model="form.canAdd">å ä¿</el-checkbox> |
| | | <el-checkbox :true-label="1" :false-label="0" v-model="form.canReduce">åä¿</el-checkbox> |
| | | <el-checkbox :true-label="1" :false-label="0" v-model="form.canChangeUnit">æ´æ¢æ´¾é£åä½</el-checkbox> |
| | | </div> |
| | | <div style="width: 100%; display: flex; align-items: center;"> |
| | | <el-checkbox :true-label="1" :false-label="0" v-model="form.canAdd">å ä¿</el-checkbox> |
| | | <el-checkbox :true-label="1" :false-label="0" v-model="form.canReduce">åä¿</el-checkbox> |
| | | <el-checkbox :true-label="1" :false-label="0" v-model="form.canChangeUnit">æ´æ¢æ´¾é£åä½</el-checkbox> |
| | | </div> |
| | | </el-form-item> |
| | | <el-form-item label="æ¹åä»
æ¯ææ¿æ¢ï¼åä¿æ¹æ¹ä»
æ¯ææ¿æ¢äººåå³åä¿äººåå°äºå ä¿äººåï¼" prop="delOnlyReplace"> |
| | | <div style="width: 100%; display: flex; align-items: center;"> |
| | | <el-radio-group v-model="form.delOnlyReplace"> |
| | | <el-radio :label="1">æ¯</el-radio> |
| | | <el-radio :label="0">å¦</el-radio> |
| | | </el-radio-group> |
| | | </div> |
| | | <div style="width: 100%; display: flex; align-items: center;"> |
| | | <el-radio-group v-model="form.delOnlyReplace"> |
| | | <el-radio :label="1">æ¯</el-radio> |
| | | <el-radio :label="0">å¦</el-radio> |
| | | </el-radio-group> |
| | | </div> |
| | | </el-form-item> |
| | | <el-form-item label="æ¹å¢çæï¼å¤©æ°ï¼" prop="addValidDays" v-if="form.delOnlyReplace != 1"> |
| | | <div style="width: 100%; display: flex; align-items: center;"> |
| | | <el-input style="margin-left: 0px;" type="number" v-model="form.addValidDays" placeholder="请è¾å
¥æ¹å¢çææ¶é´ï¼å¤©æ°ï¼" ></el-input> |
| | | </div> |
| | | <div style="width: 100%; display: flex; align-items: center;"> |
| | | <el-input style="margin-left: 0px;" type="number" v-model="form.addValidDays" placeholder="请è¾å
¥æ¹å¢çææ¶é´ï¼å¤©æ°ï¼" ></el-input> |
| | | </div> |
| | | </el-form-item> |
| | | <el-form-item label="æ¹åçæï¼å¤©æ°ï¼" prop="delValidDays"> |
| | | <div style="width: 100%; display: flex; align-items: center;"> |
| | | <el-input style="margin-left: 0px;" type="number" v-model="form.delValidDays" placeholder="请è¾å
¥æ¹åçææ¶é´ï¼å¤©æ°ï¼" ></el-input> |
| | | </div> |
| | | <div style="width: 100%; display: flex; align-items: center;"> |
| | | <el-input style="margin-left: 0px;" type="number" v-model="form.delValidDays" placeholder="请è¾å
¥æ¹åçææ¶é´ï¼å¤©æ°ï¼" ></el-input> |
| | | </div> |
| | | </el-form-item> |
| | | <el-form-item label="æ¹æ¹æéæ¶é´" prop="correctWarnTime"> |
| | | <el-time-picker |
| | | value-format="HH:mm" |
| | | v-model="form.correctWarnTime" |
| | | placeholder="è¯·éæ©æ¹æ¹æéæ¶é´"> |
| | | </el-time-picker> |
| | | <el-time-picker |
| | | value-format="HH:mm" |
| | | v-model="form.correctWarnTime" |
| | | placeholder="è¯·éæ©æ¹æ¹æéæ¶é´"> |
| | | </el-time-picker> |
| | | </el-form-item> |
| | | <div style="width: 100%; padding: 10px; box-sizing: border-box; border: 1px solid #ececec;"> |
| | | <div style="display: flex; align-items: center; margin-bottom: 10px;"> |
| | | <el-select filterable multiple style="width: 800px;" v-model="worktypeId" placeholder="è¯·éæ©"> |
| | | <el-option |
| | | v-for="item in typeWorkCopy" |
| | | :key="item.id" |
| | | :label="item.name" |
| | | :value="item.id"> |
| | | </el-option> |
| | | </el-select> |
| | | <el-button type="primary" @click="add" :disabled="worktypeId.length === 0" style="margin-left: 10px;">æ·»å å·¥ç§</el-button> |
| | | <el-button type="primary" @click="impor">导å
¥å·¥ç§</el-button> |
| | | <el-button type="text" @click="exprot">导å
¥æ¨¡çxls</el-button> |
| | | </div> |
| | | |
| | | <div style="display: flex; align-items: center; margin-bottom: 10px;"> |
| | | <el-select filterable multiple style="width: 800px;" v-model="worktypeId" placeholder="è¯·éæ©"> |
| | | <el-option |
| | | v-for="item in typeWorkCopy" |
| | | :key="item.id" |
| | | :label="item.name" |
| | | :value="item.id"> |
| | | </el-option> |
| | | </el-select> |
| | | <el-button type="primary" @click="add" :disabled="worktypeId.length === 0" style="margin-left: 10px;">æ·»å å·¥ç§</el-button> |
| | | <el-button type="primary" @click="impor">导å
¥å·¥ç§</el-button> |
| | | <el-button type="text" @click="exprot">导å
¥æ¨¡çxls</el-button> |
| | | </div> |
| | | <el-form-item label="已添å å·¥ç§" prop="worktypeIdList"> |
| | | <u-table |
| | | :data="form.worktypeIdList" |
| | | border |
| | | use-virtual |
| | | style="width: 100%; margin-bottom: 20px;"> |
| | | <u-table-column |
| | | label="åºå·" |
| | | width="80"> |
| | | <template slot-scope="scope"> |
| | | <span>{{scope.$index + 1}}</span> |
| | | </template> |
| | | </u-table-column> |
| | | <u-table-column |
| | | prop="worktypeName" |
| | | label="æå±å·¥ç§"> |
| | | </u-table-column> |
| | | <u-table-column |
| | | label="æä½" |
| | | width="100"> |
| | | <template slot-scope="scope"> |
| | | <el-button type="text" size="small" style="color: red;" @click="dele(scope.$index)">å é¤</el-button> |
| | | </template> |
| | | </u-table-column> |
| | | <u-table-column |
| | | label="åºå·" |
| | | width="80"> |
| | | <template slot-scope="scope"> |
| | | <span>{{scope.$index + 1}}</span> |
| | | </template> |
| | | </u-table-column> |
| | | <u-table-column |
| | | prop="worktypeName" |
| | | label="æå±å·¥ç§"> |
| | | </u-table-column> |
| | | <u-table-column |
| | | label="æä½" |
| | | width="100"> |
| | | <template slot-scope="scope"> |
| | | <el-button type="text" size="small" style="color: red;" @click="dele(scope.$index)">å é¤</el-button> |
| | | </template> |
| | | </u-table-column> |
| | | </u-table> |
| | | </el-form-item> |
| | | </div> |
| | | <el-form-item label="é£é©è®¾ç½®" prop="risk"> |
| | | <div class="tx"> |
| | | <div class="tx_item"> |
| | | <div class="tx_item_head"> |
| | | <span>å»¶è¿æ¥æ¡æé</span> |
| | | <el-switch :active-value="1" :inactive-value="0" v-model="form.riskDelayStatus"></el-switch> |
| | | </div> |
| | | <div class="tx_item_content"> |
| | | <span>è§å设置ï¼å½æ¥æ¡æ¶é´è¶
è¿æ¡åæ¶é´</span> |
| | | <el-input-number style="margin: 0 15px;" :disabled="form.riskDelayStatus === 0" v-model="form.riskDelayTime" :min="1"></el-input-number> |
| | | <el-select v-model="form.riskDelayUnit" :disabled="form.riskDelayStatus === 0" style="width: 100px; margin-right: 15px;" placeholder="è¯·éæ©"> |
| | | <el-option label="åé" :value="0"></el-option> |
| | | <el-option label="å°æ¶" :value="1"></el-option> |
| | | <el-option label="天" :value="2"></el-option> |
| | | </el-select> |
| | | <span>æ¶ï¼è¿è¡æéã</span> |
| | | </div> |
| | | </div> |
| | | <div class="tx_item"> |
| | | <div class="tx_item_head"> |
| | | <span>å
许对æ°å工已æä¿æªçæä¿é©è¿è¡ä¿é</span> |
| | | <el-switch :active-value="1" :inactive-value="0" v-model="form.riskNewUserStatus"></el-switch> |
| | | </div> |
| | | <div class="tx_item_content"> |
| | | <span>è§å设置ï¼å
许åºé©æ¶é´å¨ä¿åçæå</span> |
| | | <el-input-number style="margin: 0 15px;" :disabled="form.riskNewUserStatus === 0" v-model="form.riskNewUserTime" :min="1"></el-input-number> |
| | | <el-select v-model="form.riskNewUserUnit" :disabled="form.riskNewUserStatus === 0" style="width: 100px; margin-right: 15px;" placeholder="è¯·éæ©"> |
| | | <el-option label="å°æ¶" :value="1"></el-option> |
| | | <el-option label="天" :value="2"></el-option> |
| | | </el-select> |
| | | </div> |
| | | </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"/> |
| | | <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"/> |
| | | <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"/> |
| | | <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 class="tx_item_head"> |
| | | <span>å»¶è¿æ¥æ¡æé</span> |
| | | <el-switch :active-value="1" :inactive-value="0" v-model="form.riskDelayStatus"></el-switch> |
| | | </div> |
| | | <div class="tx_item_content"> |
| | | <span>è§å设置ï¼å½æ¥æ¡æ¶é´è¶
è¿æ¡åæ¶é´</span> |
| | | <el-input-number style="margin: 0 15px;" :disabled="form.riskDelayStatus === 0" v-model="form.riskDelayTime" :min="1"></el-input-number> |
| | | <el-select v-model="form.riskDelayUnit" :disabled="form.riskDelayStatus === 0" style="width: 100px; margin-right: 15px;" placeholder="è¯·éæ©"> |
| | | <el-option label="åé" :value="0"></el-option> |
| | | <el-option label="å°æ¶" :value="1"></el-option> |
| | | <el-option label="天" :value="2"></el-option> |
| | | </el-select> |
| | | <span>æ¶ï¼è¿è¡æéã</span> |
| | | </div> |
| | | </div> |
| | | <div class="tx_item"> |
| | | <div class="tx_item_head"> |
| | | <span>å
许对æ°å工已æä¿æªçæä¿é©è¿è¡ä¿é</span> |
| | | <el-switch :active-value="1" :inactive-value="0" v-model="form.riskNewUserStatus"></el-switch> |
| | | </div> |
| | | <div class="tx_item_content"> |
| | | <span>è§å设置ï¼å
许åºé©æ¶é´å¨ä¿åçæå</span> |
| | | <el-input-number style="margin: 0 15px;" :disabled="form.riskNewUserStatus === 0" v-model="form.riskNewUserTime" :min="1"></el-input-number> |
| | | <el-select v-model="form.riskNewUserUnit" :disabled="form.riskNewUserStatus === 0" style="width: 100px; margin-right: 15px;" placeholder="è¯·éæ©"> |
| | | <el-option label="å°æ¶" :value="1"></el-option> |
| | | <el-option label="天" :value="2"></el-option> |
| | | </el-select> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | </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> |
| | | |
| | | <script> |
| | | import BaseOpera from '@/components/base/BaseOpera' |
| | | import GlobalWindow from '@/components/common/GlobalWindow' |
| | | import { all } from '@/api/business/insurance' |
| | | import { all as allWorktype, importExcelForSolution } from '@/api/business/worktype' |
| | | import { solutionsBaseId } from '@/api/business/solutionsBase' |
| | | import { pageAll as shopList } from '@/api/business/company' |
| | | import UploadFile from '@/components/common/UploadFile' |
| | | import { numRule } from '@/utils/form' |
| | | import RichEditor from '@/components/common/RichEditor' |
| | | import { UTable, UTableColumn } from 'umy-ui' |
| | | export default { |
| | | name: 'OperaSolutionsBaseWindow', |
| | | extends: BaseOpera, |
| | | components: { GlobalWindow, UploadFile, RichEditor, UTable, UTableColumn }, |
| | | data () { |
| | | var validType = (rule, value, callback) => { |
| | | if (this.form.validType === 0 && !value) { |
| | | return callback(new Error('å»¶è¿å¤©æ°ä¸è½ä¸ºç©º')) |
| | | } else if (this.form.validType === 0 && !/^[0-9]*[1-9][0-9]*$/.test(value)) { |
| | | return callback(new Error('å»¶è¿å¤©æ°åªè½ä¸ºæ£æ´æ°')) |
| | | import BaseOpera from '@/components/base/BaseOpera' |
| | | import GlobalWindow from '@/components/common/GlobalWindow' |
| | | import { all } from '@/api/business/insurance' |
| | | import { all as allWorktype, importExcelForSolution } from '@/api/business/worktype' |
| | | import { solutionsBaseId } from '@/api/business/solutionsBase' |
| | | import { pageAll as shopList } from '@/api/business/company' |
| | | import UploadFile from '@/components/common/UploadFile' |
| | | 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('å»¶è¿å¤©æ°ä¸è½ä¸ºç©º')) |
| | | } else if (this.form.validType === 0 && !/^[0-9]*[1-9][0-9]*$/.test(value)) { |
| | | return callback(new Error('å»¶è¿å¤©æ°åªè½ä¸ºæ£æ´æ°')) |
| | | } |
| | | callback() |
| | | } |
| | | var canAddFun = (rule, value, callback) => { |
| | | if (!this.form.canAdd && !this.form.canReduce && !this.form.canChangeUnit) { |
| | | return callback(new Error('æ¹æ¹æ¯æä¸è½ä¸ºç©º')) |
| | | } |
| | | callback() |
| | | } |
| | | var riskRule = (rule, value, callback) => { |
| | | if (this.form.riskDelayStatus === '1') { |
| | | if (!this.form.riskDelayTime || !this.form.riskDelayUnit) { |
| | | return callback(new Error('请å®åå
容')) |
| | | } |
| | | callback() |
| | | } |
| | | var canAddFun = (rule, value, callback) => { |
| | | if (!this.form.canAdd && !form.canReduce && !form.canChangeUnit) { |
| | | return callback(new Error('æ¹æ¹æ¯æä¸è½ä¸ºç©º')) |
| | | if (this.form.riskNewUserStatus === '1') { |
| | | if (!this.form.riskNewUserTime || !this.form.riskNewUserUnit) { |
| | | return callback(new Error('请å®åå
容')) |
| | | } |
| | | callback() |
| | | } |
| | | var riskRule = (rule, value, callback) => { |
| | | if (this.form.riskDelayStatus === '1') { |
| | | if (!this.form.riskDelayTime || !this.form.riskDelayUnit) { |
| | | return callback(new Error('请å®åå
容')) |
| | | } |
| | | } |
| | | if (this.form.riskNewUserStatus === '1') { |
| | | if (!this.form.riskNewUserTime || !this.form.riskNewUserUnit) { |
| | | return callback(new Error('请å®åå
容')) |
| | | } |
| | | } |
| | | callback() |
| | | } |
| | | return { |
| | | // è¡¨åæ°æ® |
| | | form: { |
| | | id: null, |
| | | name: '', |
| | | companyName: '', |
| | | insuranceId: '', |
| | | validType: 0, |
| | | minAge: '', |
| | | maxAge: '', |
| | | specialAgreement: '', |
| | | specialInfo: '', |
| | | ortherInfo: '', |
| | | validTypeNum: '', |
| | | canReduce: 0, |
| | | canChangeUnit: 0, |
| | | addValidDays: 0, |
| | | delValidDays: 0, |
| | | delOnlyReplace: 0, |
| | | canAdd: 0, |
| | | correctWarnTime: '', |
| | | worktypeIdList: [], |
| | | callback() |
| | | } |
| | | return { |
| | | // è¡¨åæ°æ® |
| | | form: { |
| | | id: null, |
| | | name: '', |
| | | companyName: '', |
| | | insuranceId: '', |
| | | validType: 0, |
| | | minAge: '', |
| | | maxAge: '', |
| | | specialAgreement: '', |
| | | specialInfo: '', |
| | | ortherInfo: '', |
| | | validTypeNum: '', |
| | | canReduce: 0, |
| | | canChangeUnit: 0, |
| | | addValidDays: 0, |
| | | delValidDays: 0, |
| | | delOnlyReplace: 0, |
| | | canAdd: 0, |
| | | saveType: '0', |
| | | correctWarnTime: '', |
| | | worktypeIdList: [], |
| | | |
| | | riskDelayStatus: 0, |
| | | riskDelayTime: 1, |
| | | riskDelayUnit: 0, |
| | | riskNewUserStatus: 0, |
| | | riskNewUserTime: 1, |
| | | riskNewUserUnit: 1 |
| | | }, |
| | | value: '', |
| | | options: [], |
| | | worktypeId: [], |
| | | // éªè¯è§å |
| | | rules: { |
| | | name: [ |
| | | { required: true, message: '请è¾å
¥æ¹æ¡åç§°' } |
| | | ], |
| | | delOnlyReplace: [ |
| | | { required: true, message: 'è¯·éæ©' } |
| | | ], |
| | | addValidDays: [ |
| | | { required: true, validator: numRule } |
| | | ], |
| | | delValidDays: [ |
| | | { required: true, validator: numRule } |
| | | ], |
| | | risk: [ |
| | | { required: true, validator: riskRule } |
| | | ], |
| | | insuranceId: [ |
| | | { required: true, message: 'è¯·éæ©ä¿é©å
¬å¸' } |
| | | ], |
| | | companyName: [ |
| | | { required: true, message: '请è¾å
¥æ¿ä¿å
¬å¸' } |
| | | ], |
| | | minAge: [ |
| | | { required: true, message: 'è¯·éæ©æä¿å¹´é¾' } |
| | | ], |
| | | validTypeNum: [ |
| | | { required: true, validator: validType } |
| | | ], |
| | | correctWarnTime: [ |
| | | { required: true, message: '请è¾å
¥æ¹æ¹æéæ¶é´' } |
| | | ], |
| | | worktypeIdList: [ |
| | | { required: true, message: '请å®åå·¥ç§ä¿¡æ¯' } |
| | | ], |
| | | canAdd: [ |
| | | { required: true, validator: canAddFun } |
| | | ] |
| | | }, |
| | | shops: [], |
| | | company: [], |
| | | typeWork: [], |
| | | typeWorkCopy: [] |
| | | } |
| | | }, |
| | | created () { |
| | | this.config({ |
| | | api: '/business/solutionsBase', |
| | | 'field.id': 'id' |
| | | }) |
| | | }, |
| | | methods: { |
| | | // 导å
¥å·¥ç§æ¨¡æ¿ |
| | | getFile(e) { |
| | | const formdate = new FormData() |
| | | formdate.append('file', e.target.files[0]) |
| | | formdate.append('insuranceId', this.form.insuranceId) |
| | | importExcelForSolution(formdate) |
| | | .then(res => { |
| | | let 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.typeWorkCopy = this.typeWorkCopy.filter(item => !valData.includes(item.name)) |
| | | }) |
| | | .catch(err => { |
| | | this.$message.error(err.message) |
| | | }) |
| | | .finally(() => { |
| | | this.$refs.upload.value = null |
| | | }) |
| | | riskDelayStatus: 0, |
| | | riskDelayTime: 1, |
| | | riskDelayUnit: 0, |
| | | riskNewUserStatus: 0, |
| | | riskNewUserTime: 1, |
| | | riskNewUserUnit: 1 |
| | | }, |
| | | impor() { |
| | | if (!this.form.insuranceId) return this.$message.warning('请å
éæ©ä¿é©å
¬å¸') |
| | | this.$refs.upload.click() |
| | | value: '', |
| | | options: [], |
| | | worktypeId: [], |
| | | // éªè¯è§å |
| | | rules: { |
| | | name: [ |
| | | { required: true, message: '请è¾å
¥æ¹æ¡åç§°' } |
| | | ], |
| | | delOnlyReplace: [ |
| | | { required: true, message: 'è¯·éæ©' } |
| | | ], |
| | | addValidDays: [ |
| | | { required: true, validator: numRule } |
| | | ], |
| | | delValidDays: [ |
| | | { required: true, validator: numRule } |
| | | ], |
| | | risk: [ |
| | | { required: true, validator: riskRule } |
| | | ], |
| | | insuranceId: [ |
| | | { required: true, message: 'è¯·éæ©ä¿é©å
¬å¸' } |
| | | ], |
| | | companyName: [ |
| | | { required: true, message: '请è¾å
¥æ¿ä¿å
¬å¸' } |
| | | ], |
| | | minAge: [ |
| | | { required: true, message: 'è¯·éæ©æä¿æå°å¹´é¾' } |
| | | ], |
| | | maxAge: [ |
| | | { required: true, message: 'è¯·éæ©æä¿æå¤§å¹´é¾' } |
| | | ], |
| | | validTypeNum: [ |
| | | { required: true, validator: validType } |
| | | ], |
| | | correctWarnTime: [ |
| | | { required: true, message: '请è¾å
¥æ¹æ¹æéæ¶é´' } |
| | | ], |
| | | worktypeIdList: [ |
| | | { required: true, validator: validatorWorktype } |
| | | ], |
| | | canAdd: [ |
| | | { required: true, validator: canAddFun } |
| | | ] |
| | | }, |
| | | // å¯¼åºæ¨¡æ¿ |
| | | exprot() { |
| | | window.open(process.env.VUE_APP_TYPEWORK_URL) |
| | | }, |
| | | getWangedditor(val){ |
| | | this.form.specialAgreement = val; |
| | | }, |
| | | getWangedditor1(val){ |
| | | this.form.specialInfo = val; |
| | | }, |
| | | getWangedditor2(val){ |
| | | this.form.ortherInfo = val; |
| | | }, |
| | | changeMinAge(e) { |
| | | if (this.form.maxAge && this.form.maxAge >= 0 && e > this.form.maxAge) { |
| | | this.form.minAge = '' |
| | | this.$message.warning('èµ·å§å¹´é¾ä¸è½å¤§äºæªæ¢å¹´é¾ï¼') |
| | | } |
| | | }, |
| | | changeMaxAge(e) { |
| | | if (this.form.minAge && this.form.minAge >= 0 && e < this.form.minAge) { |
| | | this.form.maxAge = '' |
| | | this.$message.warning('æªæ¢å¹´é¾ä¸è½å¤§äºèµ·å§å¹´é¾ï¼') |
| | | } |
| | | }, |
| | | handNumberInput (value) { |
| | | const regex = /^[-+]?\d*$/ |
| | | if (!regex.test(value)) { |
| | | // 妿è¾å
¥ç䏿¯æ´æ°ï¼å设置为ä¸ä¸ä¸ªææçæ´æ°å¼ |
| | | this.form.addValidDays = value.replace(/[^0-9]/g, '') |
| | | this.form.addValidDays = value.replace(/[^0-9]/g, '') |
| | | this.form.delValidDays = value.replace(/[^0-9]/g, '') |
| | | } |
| | | }, |
| | | // 忢å
¬å¸ |
| | | getAllWorktype1 () { |
| | | this.form.worktypeIdList = [] |
| | | this.getAllWorktype() |
| | | }, |
| | | changeValidType(e) { |
| | | if (e === 1) { |
| | | this.form.validTypeNum = 0 |
| | | } else { |
| | | this.form.validTypeNum = '' |
| | | } |
| | | }, |
| | | // 确认æ°å»º/ä¿®æ¹ |
| | | confirm () { |
| | | const data = JSON.parse(JSON.stringify(this.form)) |
| | | data.worktypeIdList = data.worktypeIdList.map(item => item.worktypeId) |
| | | shops: [], |
| | | company: [], |
| | | typeWork: [], |
| | | typeWorkCopy: [] |
| | | } |
| | | }, |
| | | created () { |
| | | this.config({ |
| | | api: '/business/solutionsBase', |
| | | 'field.id': 'id' |
| | | }) |
| | | }, |
| | | methods: { |
| | | beforeTabClick(n,o){ |
| | | let re = true |
| | | if( !this.form.id && n === '1'){ |
| | | this.$refs.form.validate((valid) => { |
| | | if (!valid) { |
| | | return |
| | | re = false |
| | | } |
| | | // è°ç¨æ°å»ºæ¥å£ |
| | | this.isWorking = true |
| | | if (data.id == null || data.id === '') { |
| | | this.api.create(data) |
| | | .then(() => { |
| | | this.visible = false |
| | | this.$tip.apiSuccess('æ°å»ºæå') |
| | | this.$emit('success') |
| | | }) |
| | | .catch(e => { |
| | | this.$tip.apiFailed(e) |
| | | }) |
| | | .finally(() => { |
| | | this.isWorking = false |
| | | }) |
| | | } else { |
| | | this.api.updateById(data) |
| | | .then(() => { |
| | | this.visible = false |
| | | this.$tip.apiSuccess('ä¿®æ¹æå') |
| | | this.$emit('success') |
| | | }) |
| | | .catch(e => { |
| | | this.$tip.apiFailed(e) |
| | | }) |
| | | .finally(() => { |
| | | this.isWorking = false |
| | | }) |
| | | } |
| | | this.form.saveType = n |
| | | }) |
| | | }, |
| | | open (title, target) { |
| | | this.title = title |
| | | this.visible = true |
| | | this.form.maxAge = '' |
| | | this.form.validTypeNum = '' |
| | | this.form.canReduce = 0 |
| | | this.form.canChangeUnit = 0 |
| | | this.form.addValidDays = 0 |
| | | this.form.delOnlyReplace = 0 |
| | | this.form.delValidDays = 0 |
| | | this.form.canAdd = 0 |
| | | this.form.worktypeIdList = [] |
| | | this.typeWork = [] |
| | | this.typeWorkCopy = [] |
| | | // this.$refs['$upload'].clearFiles()//åå§å导å
¥ç»ä»¶ |
| | | this.allCompany() |
| | | this.allShops() |
| | | // æ°å»º |
| | | if (target == null) { |
| | | this.$nextTick(() => { |
| | | this.$refs.form.resetFields() |
| | | this.form.maxAge = '' |
| | | this.form.validTypeNum = '' |
| | | this.form.fanganFile = null |
| | | this.form.worktypeIdList = [] |
| | | this.form[this.configData['field.id']] = null |
| | | }) |
| | | return |
| | | } |
| | | // ç¼è¾ |
| | | this.$nextTick(() => { |
| | | solutionsBaseId(target.id) |
| | | .then(res => { |
| | | for (const key in this.form) { |
| | | this.form[key] = res[key] |
| | | } |
| | | this.form.correctWarnTime = `${this.form.correctWarnTime}:00` |
| | | if (res.worktypeList) { |
| | | this.form.worktypeIdList = res.worktypeList.map(item => { |
| | | return { |
| | | worktypeId: item.worktypeId, |
| | | worktypeName: item.worktypeName |
| | | } |
| | | }) |
| | | } |
| | | this.getAllWorktype() |
| | | }) |
| | | }) |
| | | }, |
| | | // æ¥è¯¢ä¿é©å
¬å¸ä¸å
¨é¨å·¥ç§ |
| | | getAllWorktype () { |
| | | allWorktype({ |
| | | insuranceId: this.form.insuranceId, |
| | | dataType: 2 |
| | | }).then(res => { |
| | | this.typeWork = res |
| | | if (!this.form.id) { |
| | | this.typeWorkCopy = res |
| | | } else { |
| | | let valData = this.form.worktypeIdList.map(item => item.worktypeName) |
| | | this.typeWorkCopy = res.filter(item => !valData.includes(item.name)) |
| | | } |
| | | }) |
| | | }, |
| | | |
| | | // æ¥è¯¢å
¨é¨ä¿é©å
¬å¸ |
| | | allCompany () { |
| | | all({ dataType: 2, status: 0 }) |
| | | .then(res => { |
| | | this.company = res |
| | | }) |
| | | }, |
| | | allShops () { |
| | | shopList({ type: 1, status: 0 }) |
| | | .then(res => { |
| | | this.shops = res |
| | | }) |
| | | }, |
| | | add () { |
| | | let arr = this.typeWorkCopy.filter(item => this.worktypeId.includes(item.id)) |
| | | let 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) |
| | | this.typeWorkCopy = this.typeWorkCopy.filter(item => !valData.includes(item.name)) |
| | | this.worktypeId = [] |
| | | }, |
| | | 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) |
| | | this.typeWorkCopy.unshift(row[0]) |
| | | this.form.worktypeIdList.splice(index, 1) |
| | | } |
| | | return re |
| | | }, |
| | | // 导å
¥å·¥ç§æ¨¡æ¿ |
| | | getFile (e) { |
| | | const formdate = new FormData() |
| | | formdate.append('file', e.target.files[0]) |
| | | formdate.append('insuranceId', this.form.insuranceId) |
| | | importExcelForSolution(formdate) |
| | | .then(res => { |
| | | const arr = [] |
| | | res.forEach(item => { |
| | | arr.push({ worktypeId: item.id, worktypeName: item.name }) |
| | | }) |
| | | this.form.worktypeIdList = [...arr, ...this.form.worktypeIdList] |
| | | 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) |
| | | }) |
| | | .finally(() => { |
| | | this.$refs.upload.value = null |
| | | }) |
| | | }, |
| | | impor () { |
| | | if (!this.form.insuranceId) return this.$message.warning('请å
éæ©ä¿é©å
¬å¸') |
| | | this.$refs.upload.click() |
| | | }, |
| | | // å¯¼åºæ¨¡æ¿ |
| | | exprot () { |
| | | window.open(process.env.VUE_APP_TYPEWORK_URL) |
| | | }, |
| | | getWangedditor (val) { |
| | | this.form.specialAgreement = val |
| | | }, |
| | | getWangedditor1 (val) { |
| | | this.form.specialInfo = val |
| | | }, |
| | | getWangedditor2 (val) { |
| | | this.form.ortherInfo = val |
| | | }, |
| | | changeMinAge (e) { |
| | | if (this.form.maxAge && this.form.maxAge >= 0 && e > this.form.maxAge) { |
| | | this.form.minAge = '' |
| | | this.$message.warning('èµ·å§å¹´é¾ä¸è½å¤§äºæªæ¢å¹´é¾ï¼') |
| | | } |
| | | }, |
| | | changeMaxAge (e) { |
| | | if (this.form.minAge && this.form.minAge >= 0 && e < this.form.minAge) { |
| | | this.form.maxAge = '' |
| | | this.$message.warning('æªæ¢å¹´é¾ä¸è½å¤§äºèµ·å§å¹´é¾ï¼') |
| | | } |
| | | }, |
| | | handNumberInput (value) { |
| | | const regex = /^[-+]?\d*$/ |
| | | if (!regex.test(value)) { |
| | | // 妿è¾å
¥ç䏿¯æ´æ°ï¼å设置为ä¸ä¸ä¸ªææçæ´æ°å¼ |
| | | this.form.addValidDays = value.replace(/[^0-9]/g, '') |
| | | this.form.addValidDays = value.replace(/[^0-9]/g, '') |
| | | this.form.delValidDays = value.replace(/[^0-9]/g, '') |
| | | } |
| | | }, |
| | | // 忢å
¬å¸ |
| | | getAllWorktype1 () { |
| | | this.form.worktypeIdList = [] |
| | | this.getAllWorktype() |
| | | }, |
| | | changeValidType (e) { |
| | | if (e === 1) { |
| | | this.form.validTypeNum = 0 |
| | | } else { |
| | | this.form.validTypeNum = '' |
| | | } |
| | | }, |
| | | // 确认æ°å»º/ä¿®æ¹ |
| | | confirm () { |
| | | const data = JSON.parse(JSON.stringify(this.form)) |
| | | data.worktypeIdList = data.worktypeIdList.map(item => item.worktypeId) |
| | | this.$refs.form.validate((valid) => { |
| | | if (!valid) { |
| | | return |
| | | } |
| | | // è°ç¨æ°å»ºæ¥å£ |
| | | this.isWorking = true |
| | | if (data.id == null || data.id === '') { |
| | | this.api.create(data) |
| | | .then(() => { |
| | | this.visible = false |
| | | this.$tip.apiSuccess('æ°å»ºæå') |
| | | this.$emit('success') |
| | | }) |
| | | .catch(e => { |
| | | this.$tip.apiFailed(e) |
| | | }) |
| | | .finally(() => { |
| | | this.isWorking = false |
| | | }) |
| | | } else { |
| | | this.api.updateById(data) |
| | | .then(() => { |
| | | this.visible = false |
| | | this.$tip.apiSuccess('ä¿®æ¹æå') |
| | | this.$emit('success') |
| | | }) |
| | | .catch(e => { |
| | | this.$tip.apiFailed(e) |
| | | }) |
| | | .finally(() => { |
| | | this.isWorking = false |
| | | }) |
| | | } |
| | | }) |
| | | }, |
| | | open (title, target) { |
| | | this.title = title |
| | | this.visible = true |
| | | this.form.maxAge = '' |
| | | this.form.validTypeNum = '' |
| | | this.form.canReduce = 0 |
| | | this.form.canChangeUnit = 0 |
| | | this.form.addValidDays = 0 |
| | | this.form.delOnlyReplace = 0 |
| | | this.form.delValidDays = 0 |
| | | this.form.canAdd = 0 |
| | | this.form.worktypeIdList = [] |
| | | this.typeWork = [] |
| | | this.typeWorkCopy = [] |
| | | // this.$refs['$upload'].clearFiles()//åå§å导å
¥ç»ä»¶ |
| | | this.allCompany() |
| | | this.allShops() |
| | | // æ°å»º |
| | | if (target == null) { |
| | | this.$nextTick(() => { |
| | | this.$refs.form.resetFields() |
| | | this.form.maxAge = '' |
| | | this.form.validTypeNum = '' |
| | | this.form.fanganFile = null |
| | | this.form.worktypeIdList = [] |
| | | this.form[this.configData['field.id']] = null |
| | | this.form.saveType = '0' |
| | | }) |
| | | return |
| | | } |
| | | // ç¼è¾ |
| | | this.$nextTick(() => { |
| | | solutionsBaseId(target.id) |
| | | .then(res => { |
| | | 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 => { |
| | | return { |
| | | worktypeId: item.worktypeId, |
| | | worktypeName: item.worktypeName |
| | | } |
| | | }) |
| | | } |
| | | this.getAllWorktype() |
| | | }) |
| | | }) |
| | | }, |
| | | // æ¥è¯¢ä¿é©å
¬å¸ä¸å
¨é¨å·¥ç§ |
| | | getAllWorktype () { |
| | | allWorktype({ |
| | | insuranceId: this.form.insuranceId, |
| | | dataType: 2 |
| | | }).then(res => { |
| | | this.typeWork = res |
| | | if (!this.form.id) { |
| | | this.typeWorkCopy = res |
| | | } else { |
| | | const valData = this.form.worktypeIdList.map(item => item.worktypeName) |
| | | this.typeWorkCopy = res.filter(item => !valData.includes(item.name)) |
| | | } |
| | | }) |
| | | }, |
| | | |
| | | // æ¥è¯¢å
¨é¨ä¿é©å
¬å¸ |
| | | allCompany () { |
| | | all({ dataType: 2, status: 0 }) |
| | | .then(res => { |
| | | this.company = res |
| | | }) |
| | | }, |
| | | allShops () { |
| | | shopList({ type: 1, status: 0 }) |
| | | .then(res => { |
| | | this.shops = res |
| | | }) |
| | | }, |
| | | add () { |
| | | 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] |
| | | 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 |
| | | } |
| | | const row = this.typeWork.filter(item => item.name === this.form.worktypeIdList[index].worktypeName) |
| | | this.typeWorkCopy.unshift(row[0]) |
| | | this.form.worktypeIdList.splice(index, 1) |
| | | } |
| | | } |
| | | } |
| | | </script> |
| | | |
| | | <style lang="scss" scoped> |
| | |
| | | </template> |
| | | |
| | | <script> |
| | | import BaseOpera from '@/components/base/BaseOpera' |
| | | import GlobalWindow from '@/components/common/GlobalWindow' |
| | | import RichEditor from '@/components/common/RichEditor' |
| | | import { saveLpInfo, getById } from '@/api/business/insurance' |
| | | export default { |
| | | name: 'setCompany', |
| | | extends: BaseOpera, |
| | | components: { GlobalWindow, RichEditor }, |
| | | data () { |
| | | return { |
| | | uploadImgUrl: process.env.VUE_APP_API_PREFIX + '/public/upload?folder=INSURANCE', |
| | | activeNames: ['1', '2', '3', '4', '5', '6'], |
| | | specialAgreement: '', |
| | | form: { |
| | | id: null, |
| | | lpStampTempFile: null, |
| | | lpStampTempFileCopy: [], |
| | | lpFile: null, |
| | | lpFileCopy: [], |
| | | lpYggxFileInfo: '', |
| | | lpMzFileInfo: '', |
| | | lpZyFileInfo: '', |
| | | lpScFileInfo: '', |
| | | lpOtherFileInfo: '' |
| | | } |
| | | } |
| | | }, |
| | | created () { |
| | | this.config({ |
| | | api: '/business/knowledge', |
| | | 'field.id': 'id' |
| | | }) |
| | | }, |
| | | methods: { |
| | | confirm () { |
| | | this.isWorking = true |
| | | saveLpInfo(this.form) |
| | | .then(res => { |
| | | this.isWorking = false |
| | | this.$emit('success') |
| | | this.$message.success('ä¿åæå') |
| | | this.visible = false |
| | | }) |
| | | }, |
| | | open (title, id) { |
| | | this.title = title |
| | | |
| | | getById(id) |
| | | .then(res => { |
| | | this.visible = true |
| | | this.$nextTick(() => { |
| | | setTimeout(() => { |
| | | for (const key in this.form) { |
| | | this.form[key] = res[key] |
| | | } |
| | | if (this.form.lpStampTempFile) { |
| | | this.form.lpStampTempFileCopy = [this.form.lpStampTempFile] |
| | | } |
| | | if (this.form.lpFile) { |
| | | this.form.lpFileCopy = [this.form.lpFile] |
| | | } |
| | | }, 1000) |
| | | }) |
| | | }) |
| | | }, |
| | | getWangedditor1(val) { |
| | | this.form.lpYggxFileInfo = val |
| | | }, |
| | | getWangedditor2(val) { |
| | | this.form.lpMzFileInfo = val |
| | | }, |
| | | getWangedditor3(val) { |
| | | this.form.lpZyFileInfo = val |
| | | }, |
| | | getWangedditor4(val) { |
| | | this.form.lpScFileInfo = val |
| | | }, |
| | | getWangedditor5(val) { |
| | | this.form.lpOtherFileInfo = val |
| | | }, |
| | | handleFileSuccess(e) { |
| | | e.data.name = e.data.originname |
| | | e.data.fileurl = e.data.imgaddr |
| | | this.form.lpFile = e.data |
| | | this.form.lpFileCopy = [e.data] |
| | | }, |
| | | uploadError(e) { |
| | | this.$message.error('ä¸ä¼ 失败') |
| | | }, |
| | | handleRemove() { |
| | | this.form.lpFile = null |
| | | this.form.lpFileCopy = [] |
| | | }, |
| | | handleFileSuccess1(e) { |
| | | e.data.name = e.data.originname |
| | | e.data.fileurl = e.data.imgaddr |
| | | this.form.lpStampTempFile = e.data |
| | | this.form.lpStampTempFileCopy = [e.data] |
| | | }, |
| | | uploadError1(e) { |
| | | this.$message.error('ä¸ä¼ 失败') |
| | | }, |
| | | handleRemove1() { |
| | | this.form.lpStampTempFile = null |
| | | this.form.lpStampTempFileCopy = [] |
| | | }, |
| | | handleExceed() { |
| | | this.$message.warning('åªè½ä¸ä¼ ä¸ä¸ªæä»¶ï¼') |
| | | } |
| | | } |
| | | import BaseOpera from '@/components/base/BaseOpera' |
| | | import GlobalWindow from '@/components/common/GlobalWindow' |
| | | import RichEditor from '@/components/common/RichEditor' |
| | | import { saveLpInfo, getById } from '@/api/business/insurance' |
| | | export default { |
| | | name: 'setCompany', |
| | | extends: BaseOpera, |
| | | components: { GlobalWindow, RichEditor }, |
| | | data () { |
| | | return { |
| | | uploadImgUrl: process.env.VUE_APP_API_PREFIX + '/public/upload?folder=insurance', |
| | | activeNames: ['1', '2', '3', '4', '5', '6'], |
| | | specialAgreement: '', |
| | | form: { |
| | | id: null, |
| | | lpStampTempFile: null, |
| | | lpStampTempFileCopy: [], |
| | | lpFile: null, |
| | | lpFileCopy: [], |
| | | lpYggxFileInfo: '', |
| | | lpMzFileInfo: '', |
| | | lpZyFileInfo: '', |
| | | lpScFileInfo: '', |
| | | lpOtherFileInfo: '' |
| | | } |
| | | } |
| | | }, |
| | | created () { |
| | | this.config({ |
| | | api: '/business/knowledge', |
| | | 'field.id': 'id' |
| | | }) |
| | | }, |
| | | methods: { |
| | | confirm () { |
| | | this.isWorking = true |
| | | saveLpInfo(this.form) |
| | | .then(res => { |
| | | this.isWorking = false |
| | | this.$emit('success') |
| | | this.$message.success('ä¿åæå') |
| | | this.visible = false |
| | | }) |
| | | }, |
| | | open (title, id) { |
| | | this.title = title |
| | | getById(id) |
| | | .then(res => { |
| | | this.visible = true |
| | | this.$nextTick(() => { |
| | | setTimeout(() => { |
| | | for (const key in this.form) { |
| | | this.form[key] = res[key] |
| | | } |
| | | if (this.form.lpStampTempFile) { |
| | | this.form.lpStampTempFileCopy = [this.form.lpStampTempFile] |
| | | } |
| | | if (this.form.lpFile) { |
| | | this.form.lpFileCopy = [this.form.lpFile] |
| | | } |
| | | }, 1000) |
| | | }) |
| | | }) |
| | | }, |
| | | getWangedditor1 (val) { |
| | | this.form.lpYggxFileInfo = val |
| | | }, |
| | | getWangedditor2 (val) { |
| | | this.form.lpMzFileInfo = val |
| | | }, |
| | | getWangedditor3 (val) { |
| | | this.form.lpZyFileInfo = val |
| | | }, |
| | | getWangedditor4 (val) { |
| | | this.form.lpScFileInfo = val |
| | | }, |
| | | getWangedditor5 (val) { |
| | | this.form.lpOtherFileInfo = val |
| | | }, |
| | | handleFileSuccess (e) { |
| | | e.data.name = e.data.originname |
| | | e.data.fileurl = e.data.imgaddr |
| | | this.form.lpFile = e.data |
| | | this.form.lpFileCopy = [e.data] |
| | | }, |
| | | uploadError (e) { |
| | | this.$message.error('ä¸ä¼ 失败') |
| | | }, |
| | | handleRemove () { |
| | | this.form.lpFile = null |
| | | this.form.lpFileCopy = [] |
| | | }, |
| | | handleFileSuccess1 (e) { |
| | | e.data.name = e.data.originname |
| | | e.data.fileurl = e.data.imgaddr |
| | | this.form.lpStampTempFile = e.data |
| | | this.form.lpStampTempFileCopy = [e.data] |
| | | }, |
| | | uploadError1 (e) { |
| | | this.$message.error('ä¸ä¼ 失败') |
| | | }, |
| | | handleRemove1 () { |
| | | this.form.lpStampTempFile = null |
| | | this.form.lpStampTempFileCopy = [] |
| | | }, |
| | | handleExceed () { |
| | | this.$message.warning('åªè½ä¸ä¼ ä¸ä¸ªæä»¶ï¼') |
| | | } |
| | | } |
| | | } |
| | | </script> |
| | | |
| | | <style lang="scss" scoped> |
| | |
| | | </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(); // ç¦ç¨æªæ¥çæ¥æ |
| | | disabledDate (time) { |
| | | 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) { |
| | | 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 { |
| | |
| | | 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 |
| | |
| | | findList({ memberId: id }) |
| | | .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 |
| | |
| | | } |
| | | this.$emit('success') |
| | | }).catch(err => { |
| | | this.$tip.apiFailed(err) |
| | | }) |
| | | this.$tip.apiFailed(err) |
| | | }) |
| | | .finally(() => { |
| | | this.isWorking = false |
| | | }) |
| | |
| | | <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> |
| | |
| | | </template> |
| | | |
| | | <script> |
| | | import BaseTable from '@/components/base/BaseTable' |
| | | import TableLayout from '@/layouts/TableLayout' |
| | | import Pagination from '@/components/common/Pagination' |
| | | import OperaInsuranceWindow from '@/components/business/OperaInsuranceWindow' |
| | | import OperaInsuranceDescWindow from '@/components/business/OperaInsuranceDescWindow' |
| | | import SetCompany from '@/components/business/setCompany' |
| | | import { updateStatus } from '@/api/business/insurance' |
| | | export default { |
| | | name: 'Insurance', |
| | | extends: BaseTable, |
| | | components: { TableLayout, Pagination, OperaInsuranceWindow, OperaInsuranceDescWindow, SetCompany }, |
| | | data () { |
| | | return { |
| | | // æç´¢ |
| | | searchForm: { |
| | | name: '' |
| | | } |
| | | } |
| | | }, |
| | | created () { |
| | | this.config({ |
| | | module: 'ä¿é©å
¬å¸ä¿¡æ¯è¡¨', |
| | | api: '/business/insurance', |
| | | 'field.id': 'id', |
| | | 'field.main': 'id' |
| | | }) |
| | | this.search() |
| | | }, |
| | | methods: { |
| | | // ä¿®æ¹ç¶æ |
| | | changeStatus(status, row) { |
| | | updateStatus({ id: row.id, status }) |
| | | .then(res => { |
| | | this.search() |
| | | }) |
| | | .catch(err => { |
| | | row.status = row.status === 0 ? 1 : 0 |
| | | }) |
| | | } |
| | | } |
| | | import BaseTable from '@/components/base/BaseTable' |
| | | import TableLayout from '@/layouts/TableLayout' |
| | | import Pagination from '@/components/common/Pagination' |
| | | import OperaInsuranceWindow from '@/components/business/OperaInsuranceWindow' |
| | | import OperaInsuranceDescWindow from '@/components/business/OperaInsuranceDescWindow' |
| | | import SetCompany from '@/components/business/setCompany' |
| | | import { updateStatus } from '@/api/business/insurance' |
| | | export default { |
| | | name: 'Insurance', |
| | | extends: BaseTable, |
| | | components: { TableLayout, Pagination, OperaInsuranceWindow, OperaInsuranceDescWindow, SetCompany }, |
| | | data () { |
| | | return { |
| | | // æç´¢ |
| | | searchForm: { |
| | | name: '' |
| | | } |
| | | } |
| | | }, |
| | | created () { |
| | | this.config({ |
| | | module: 'ä¿é©å
¬å¸ä¿¡æ¯è¡¨', |
| | | api: '/business/insurance', |
| | | 'field.id': 'id', |
| | | 'field.main': 'id' |
| | | }) |
| | | this.search() |
| | | }, |
| | | methods: { |
| | | // ä¿®æ¹ç¶æ |
| | | changeStatus (status, row) { |
| | | updateStatus({ id: row.id, status }) |
| | | .then(res => { |
| | | this.search() |
| | | }) |
| | | .catch(err => { |
| | | row.status = row.status === 0 ? 1 : 0 |
| | | }) |
| | | } |
| | | } |
| | | } |
| | | </script> |
| | |
| | | <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> |