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 }
|
},
|
|
/**
|
* 问题撤回后状态变换
|
* @param {String} s 当前问题状态
|
* @returns 下一个问题状态
|
*/
|
proBeforeStatus(s) {
|
let status, action
|
switch (s) {
|
case proStatus.fail:
|
case proStatus.pass:
|
status = proStatus.unCheck
|
action = 4
|
break
|
case proStatus.change_fail:
|
case proStatus.change_pass:
|
status = proStatus.change_unCheck
|
action = 5
|
break
|
}
|
return { status: status, action: action }
|
}
|
}
|