import api from '@/axios' import { AssessmentRecordPagerVo, DeductedDetailRes } from '@/types/views/assessmentRecord.ts' import { ColumnsType } from 'ant-design-vue/es/table' import { Modal, Table } from 'ant-design-vue' export const deductedDetail = async (assessmentRecord: AssessmentRecordPagerVo) => { const { data } = await api.get('/m1/ar/deductedDetail', { assessmentRecordId: assessmentRecord.snowFlakeId }) const groupRowSpan: Record = {} const itemRowSpan: Record = {} data.forEach((item, index) => { //如果第一次没有值 if (item.ckGroupId) { if (!groupRowSpan[item.ckGroupId]) { groupRowSpan[item.ckGroupId] = { count: 1, firstIndex: index } } else { groupRowSpan[item.ckGroupId].count++ data[index].groupRowSpan = 0 } } if (item.ckItemId) { if (!itemRowSpan[item.ckItemId]) { itemRowSpan[item.ckItemId] = { count: 1, firstIndex: index } } else { itemRowSpan[item.ckItemId].count++ data[index].itemRowSpan = 0 } } }) Object.values(groupRowSpan).forEach(({ count, firstIndex }) => { data[firstIndex].groupRowSpan = count }) Object.values(itemRowSpan).forEach(({ count, firstIndex }) => { data[firstIndex].itemRowSpan = count }) const ckProjectDetailTableColumns: ColumnsType = [ { dataIndex: 'groupName', title: '考核分组', customCell: (_record) => { return { rowspan: _record.groupRowSpan, } }, customRender: ({ record: _record }) => { return (

{_record.groupName}({_record.groupTotalScore})

{_record.groupRemark}

) }, }, { dataIndex: 'itemName', title: '考核项', customCell: (_record) => { return { rowspan: _record.itemRowSpan, } }, customRender: ({ record: _record }) => { if (!_record.ckItemId) { return '/' } return (

{_record.itemName}({_record.itemType?.label})

) }, }, { dataIndex: 'standardName', title: '标准', customRender: ({ record: _record }) => { if (!_record.ckStandardId) { return '/' } return (

{_record.standardName}扣{_record.deductionPoints}分

) }, }, ] Modal.info({ title: `【${assessmentRecord.enterprisesUnitName}/${assessmentRecord.ckProjectName}】扣分详情`, icon: ' ', width: '80%', centered: true, content: () => (
), }) }