307 lines
9.0 KiB
JavaScript
307 lines
9.0 KiB
JavaScript
import { reactive } from 'vue'
|
|
|
|
// 月计划列表搜索表单配置
|
|
export const buildFormColumns = () => [
|
|
{
|
|
type: 'date',
|
|
dateType: 'daterange',
|
|
paramsList: ['startDate', 'endDate'],
|
|
prop: 'month',
|
|
style: {
|
|
width: '240px',
|
|
},
|
|
placeholder: '请选择日期',
|
|
},
|
|
|
|
/*{
|
|
type: 'input',
|
|
prop: 'keyword',
|
|
placeholder: '请输入关键字',
|
|
},*/
|
|
{
|
|
type: 'input',
|
|
prop: 'projectName',
|
|
placeholder: '请输入项目名称',
|
|
},
|
|
{
|
|
type: 'input',
|
|
prop: 'workContent',
|
|
placeholder: '请输入工作任务',
|
|
},
|
|
{
|
|
type: 'select',
|
|
prop: 'planCompletionStatus',
|
|
placeholder: '请选择计划状态',
|
|
options: [
|
|
{ label: '未开始', value: '未开始' },
|
|
{ label: '进行中', value: '进行中' },
|
|
{ label: '完成', value: '完成' },
|
|
],
|
|
},
|
|
]
|
|
|
|
// 月计划列表表格列
|
|
export const tableColumns = [
|
|
{ prop: 'dayPlan', label: '日期', fixed: true, width: '140' },
|
|
{ prop: 'inspectionStationName', label: '运检站', fixed: true, width: '140' },
|
|
{ prop: 'planMajorName', label: '专业', fixed: true, width: '80' },
|
|
{ prop: 'projectName', label: '项目名称', fixed: true, width: '140' },
|
|
{ prop: 'workContent', label: '工作任务', width: '140' },
|
|
{ prop: 'riskLevel', label: '风险等级', width: '80' },
|
|
{ prop: 'plannedWorkload', label: '计划工作量(基)', width: '80' },
|
|
]
|
|
export const tableColumns_1 = [
|
|
{
|
|
prop: 'stationName',
|
|
label: '拟投入作业人员数量',
|
|
fixed: false,
|
|
width: '80',
|
|
|
|
formatter: (row) => {
|
|
return row.proposedPersonnelList?.filter((item) => item.dataSource == 0).length || ''
|
|
},
|
|
},
|
|
{
|
|
prop: 'majorName',
|
|
label: '拟投入作业人员姓名',
|
|
fixed: false,
|
|
width: '200',
|
|
formatter: (row) => {
|
|
return (
|
|
row.proposedPersonnelList
|
|
?.filter((item) => item.dataSource == 0)
|
|
.map((item) => item.name)
|
|
.join(',') || ''
|
|
)
|
|
},
|
|
},
|
|
{
|
|
prop: 'proposedLongTimeCar',
|
|
label: '拟投入车辆',
|
|
fixed: false,
|
|
width: '200',
|
|
slot: 'proposedLongTimeCar',
|
|
},
|
|
{
|
|
prop: 'projectName',
|
|
label: '实际投入作业人员数量',
|
|
fixed: false,
|
|
width: '80',
|
|
formatter: (row) => {
|
|
return row.proposedPersonnelList?.filter((item) => item.dataSource == 1).length || ''
|
|
},
|
|
},
|
|
{
|
|
prop: 'workTask',
|
|
label: '实际投入作业人员姓名',
|
|
fixed: false,
|
|
width: '200',
|
|
formatter: (row) => {
|
|
return (
|
|
row.proposedPersonnelList
|
|
?.filter((item) => item.dataSource == 1)
|
|
.map((item) => item.name)
|
|
.join(',') || ''
|
|
)
|
|
},
|
|
},
|
|
{
|
|
prop: 'actualLongTimeCar',
|
|
label: '实际投入车辆',
|
|
fixed: false,
|
|
width: '200',
|
|
slot: 'actualLongTimeCar',
|
|
// formatter: (row) => {
|
|
// return `长租车${row.actualLongTimeCar}辆,临租车${row.actualTemporaryCar}辆` || ''
|
|
// },
|
|
},
|
|
{ prop: 'actualWorkContent', label: '实际完成工作内容', fixed: false, width: '200' },
|
|
{ prop: 'actualWorkload', label: '实际完成工作量(基)', fixed: false, width: '80' },
|
|
{
|
|
prop: 'completionPercentage',
|
|
label: '完成比例',
|
|
fixed: false,
|
|
width: '80',
|
|
formatter: (row) => {
|
|
return row.completionPercentage || ''
|
|
},
|
|
},
|
|
|
|
{ prop: 'planCompletionStatus', label: '作业计划完成情况', fixed: false, width: '200' },
|
|
{ prop: 'planChanges', label: '计划变更及未完成情况说明', fixed: false, width: '200' },
|
|
]
|
|
export const tableColumns_2 = [
|
|
{
|
|
prop: 'stationName',
|
|
label: '拟投入高处作业人员数量',
|
|
fixed: false,
|
|
width: '80',
|
|
formatter: (row) => {
|
|
return row.proposedPersonnelList?.filter((item) => item.dataSource == 2).length || ''
|
|
},
|
|
},
|
|
{
|
|
prop: 'proposedPersonnelListHigh',
|
|
label: '高处作业人员姓名',
|
|
fixed: false,
|
|
width: '200',
|
|
formatter: (row) => {
|
|
return (
|
|
row.proposedPersonnelList
|
|
?.filter((item) => item.dataSource == 2)
|
|
.map((item) => item.name)
|
|
.join(',') || ''
|
|
)
|
|
},
|
|
},
|
|
{
|
|
prop: 'proposedPersonnelListGroundNum',
|
|
label: '拟投入地面作业人员数量',
|
|
fixed: false,
|
|
width: '80',
|
|
formatter: (row) => {
|
|
return row.proposedPersonnelList?.filter((item) => item.dataSource == 3).length || ''
|
|
},
|
|
},
|
|
{
|
|
prop: 'proposedPersonnelListGround',
|
|
label: '地面作业人员姓名',
|
|
width: '200',
|
|
fixed: false,
|
|
formatter: (row) => {
|
|
return (
|
|
row.proposedPersonnelList
|
|
?.filter((item) => item.dataSource == 3)
|
|
.map((item) => item.name)
|
|
.join(',') || ''
|
|
)
|
|
},
|
|
},
|
|
{
|
|
prop: 'proposedProficientPersonnel',
|
|
label: '拟投入检修熟练工数量(分包高空作业人员)',
|
|
fixed: false,
|
|
width: '80',
|
|
},
|
|
{
|
|
prop: 'proposedAssistancePersonnel',
|
|
label: '拟投入检修辅助工数量(分包地面作业人员)',
|
|
fixed: false,
|
|
width: '80',
|
|
},
|
|
{
|
|
prop: 'proposedLongTimeCar',
|
|
label: '拟投入车辆',
|
|
fixed: false,
|
|
width: '200',
|
|
slot: 'proposedLongTimeCar',
|
|
// formatter: (row) => {
|
|
// return `长租车${row.proposedLongTimeCar}辆,临租车${row.proposedTemporaryCar}辆` || ''
|
|
// },
|
|
},
|
|
{
|
|
prop: 'proposedPersonnelListHighNum',
|
|
label: '实际投入高处作业人员数量',
|
|
fixed: false,
|
|
width: '80',
|
|
formatter: (row) => {
|
|
return row.proposedPersonnelList?.filter((item) => item.dataSource == 4).length || ''
|
|
},
|
|
},
|
|
{
|
|
prop: 'proposedPersonnelListHighName',
|
|
label: '高处作业人员姓名',
|
|
width: '200',
|
|
fixed: false,
|
|
formatter: (row) => {
|
|
return (
|
|
row.proposedPersonnelList
|
|
?.filter((item) => item.dataSource == 4)
|
|
.map((item) => item.name)
|
|
.join(',') || ''
|
|
)
|
|
},
|
|
},
|
|
{
|
|
prop: 'proposedPersonnelListNum',
|
|
label: '实际投入地面作业人员数量',
|
|
width: '80',
|
|
fixed: false,
|
|
formatter: (row) => {
|
|
return row.proposedPersonnelList?.filter((item) => item.dataSource == 5).length || ''
|
|
},
|
|
},
|
|
{
|
|
prop: 'proposedPersonnelList',
|
|
label: '地面作业人员姓名',
|
|
width: '200',
|
|
fixed: false,
|
|
formatter: (row) => {
|
|
return (
|
|
row.proposedPersonnelList
|
|
?.filter((item) => item.dataSource == 5)
|
|
.map((item) => item.name)
|
|
.join(',') || ''
|
|
)
|
|
},
|
|
},
|
|
{
|
|
prop: 'actualProficientPersonnel',
|
|
label: '实际投入检修熟练工数量(分包高空作业人员)',
|
|
fixed: false,
|
|
width: '80',
|
|
},
|
|
{
|
|
prop: 'actualAssistancePersonnel',
|
|
label: '实际投入检修辅助工数量(分包高空作业人员)',
|
|
fixed: false,
|
|
width: '80',
|
|
},
|
|
{
|
|
prop: 'actualLongTimeCar',
|
|
label: '实际投入车辆',
|
|
width: '200',
|
|
fixed: false,
|
|
slot: 'actualLongTimeCar',
|
|
// formatter: (row) => {
|
|
// return `长租车${row.actualLongTimeCar}辆,临租车${row.actualTemporaryCar}辆` || ''
|
|
// },
|
|
},
|
|
{
|
|
prop: 'workloadCategoryName',
|
|
label: '实际完成工作内容',
|
|
width: '200',
|
|
fixed: false,
|
|
formatter: (row) => {
|
|
return row.actualWorkloadList?.map((item) => item.workloadCategoryName).join(',') || ''
|
|
},
|
|
},
|
|
{
|
|
prop: 'completionPercentage',
|
|
label: '完成比例',
|
|
fixed: false,
|
|
width: '80',
|
|
formatter: (row) => {
|
|
return row.completionPercentage || ''
|
|
},
|
|
},
|
|
{ prop: 'planCompletionStatus', label: '作业计划完成情况', fixed: false, width: '200' },
|
|
{ prop: 'planChanges', label: '计划变更及未完成情况说明', fixed: false, width: '200' },
|
|
]
|
|
|
|
export const dialogConfig = reactive({
|
|
outerVisible: false,
|
|
outerTitle: '添加计划任务',
|
|
outerWidth: '70%', // 根据图片缩小宽度更美观
|
|
minHeight: '70vh',
|
|
maxHeight: '90vh',
|
|
})
|
|
|
|
export default {
|
|
tableColumns,
|
|
tableColumns_1,
|
|
tableColumns_2,
|
|
dialogConfig,
|
|
buildFormColumns,
|
|
}
|