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' }; case proStatus.pass: return { name: '问题通过', type: 'success' }; case proStatus.fail: return { name: '问题不通过', type: 'danger' }; case proStatus.change_unCheck: return { name: '整改未审核', type: 'warning' }; case proStatus.change_fail: return { name: '整改不通过', type: 'danger' }; case proStatus.change_pass: return { name: '整改通过', type: 'success' }; default: return { name: '问题未审核', type: 'warning' }; } }, /** * 问题审核后状态变换 * @param {String} s 当前问题状态 * @param {Boolean} isPass 审核通过或驳回 * @returns 下一个问题状态 */ proNextStatus(s, isPass) { switch (s) { case proStatus.unCheck: return isPass ? proStatus.pass : proStatus.fail; case proStatus.change_unCheck: return isPass ? proStatus.change_pass : proStatus.change_fail; default: return s; } }, /** * 当前问题是否需要审核 * @param {String} s 当前问题状态 * @returns 是或否 */ isProNeedCheck(s) { return s == proStatus.unCheck || s == proStatus.change_unCheck } };