import { $fysp } from '@/api/index' //问题状态 const proStatus = { unCheck: 'unCheck', pass: 'pass', fail: 'fail', change_unCheck: 'change_unCheck', change_fail: 'change_fail', change_pass: 'change_pass' } export default { //统计问题 calProStatus(proList) { const status = { //问题数量 proNum: proList.length, //整改数量 changeNum: 0, //待审核数量 uncheckNum: 0, //已审核通过数量 passNum: 0, //未通过数量 unpassNum: 0, //整改率 changePer: '0%', //通过率 passPer: '0%', //审核率 checkPer: '0%' } proList.forEach((p) => { if (p.ischanged) status.changeNum++ if (p.extension3 == 'fail' || p.extension3 == 'change_fail') status.unpassNum++ else if ( p.extension3 == 'unCheck' || p.extension3 == 'change_unCheck' || (p.extension3 == 'pass' && p.ischanged) ) status.uncheckNum++ else status.passNum++ status.changePer = String( (status.changeNum / status.proNum) * 100 ? ((status.changeNum / status.proNum) * 100).toFixed(1) : 0 ) + '%' status.passPer = String( (status.passNum / status.proNum) * 100 ? ((status.passNum / status.proNum) * 100).toFixed(1) : 0 ) + '%' status.checkPer = String( ((status.passNum + status.unpassNum) / status.proNum) * 100 ? (((status.passNum + status.unpassNum) / status.proNum) * 100).toFixed(1) : 0 ) + '%' }) return status }, //统计问题,返回数组形式 proStatusArray(proList) { const status = this.calProStatus(proList) return [ { name: '问题数', value: status.proNum }, { name: '整改数', value: status.changeNum }, { name: '待审核', value: status.uncheckNum }, { name: '已审核', value: status.passNum }, { name: '未通过', value: status.unpassNum }, { name: '整改率', value: status.changePer }, { name: '通过率', value: status.passPer }, { name: '审核率', value: status.checkPer } ] }, //问题图片和整改图片 proPics(pro) { const pics = [ { title: '问题图片', path: [] }, { title: '整改图片', path: [] } ] if (pro.mediafileList) { pro.mediafileList.forEach((m) => { pics[m.ischanged ? 1 : 0].path.push(`${$fysp.imgUrl}${m.extension1}${m.guid}.jpg`) }) } return pics }, //问题审核状态转换中文 proStatusMap(p) { switch (p) { case proStatus.unCheck: return { name: '问题未审核', type: 'warning', index: 0, checkable: true, deletable: true, changeable: false } case proStatus.pass: return { name: '问题通过', type: 'success', index: 1, checkable: false, deletable: true, changeable: false } case proStatus.fail: return { name: '问题不通过', type: 'danger', index: 1, checkable: false, deletable: true, changeable: false } case proStatus.change_unCheck: return { name: '整改未审核', type: 'warning', index: 2, checkable: true, deletable: false, changeable: true } case proStatus.change_fail: return { name: '整改不通过', type: 'danger', index: 3, checkable: false, deletable: false, changeable: true } case proStatus.change_pass: return { name: '整改通过', type: 'success', index: 3, checkable: false, deletable: false, changeable: true } default: return { name: '问题未审核', type: 'warning', index: 0, checkable: true, deletable: true } } }, /** * 问题审核后状态变换 * @param {String} s 当前问题状态 * @param {Boolean} isPass 审核通过或驳回 * @returns 下一个问题状态 */ proNextStatus(s, isPass) { let status, action switch (s) { case proStatus.unCheck: status = isPass ? proStatus.pass : proStatus.fail action = isPass ? 0 : 1 break case proStatus.change_unCheck: status = isPass ? proStatus.change_pass : proStatus.change_fail action = isPass ? 2 : 3 break } return { status: status, action: action } } }