技术监督计划调整,增加监督类型

This commit is contained in:
2024-06-07 11:19:04 +08:00
parent bfa80b1d08
commit 669bbf0d65
2 changed files with 194 additions and 195 deletions

View File

@@ -289,9 +289,6 @@ const open = (text: string, id: any) => {
planEndTime: '', planEndTime: '',
planName: '', planName: '',
substation: '', //关联电站 substation: '', //关联电站
// fileList: [],
// checkComment: '',
// filePath: '',
customSubstationFlag: 0 //电站类型 customSubstationFlag: 0 //电站类型
}) })
title.value = text title.value = text

View File

@@ -1,24 +1,24 @@
<template> <template>
<TableHeader area datePicker ref='TableHeaderRef'> <TableHeader area datePicker ref='TableHeaderRef'>
<template v-slot:select> <template v-slot:select>
<el-form-item label="审核状态"> <el-form-item label='审核状态'>
<el-select v-model="tableStore.table.params.status" clearable placeholder="请选择审核状态"> <el-select v-model='tableStore.table.params.status' clearable placeholder='请选择审核状态'>
<el-option <el-option
v-for="item in statusSelect" v-for='item in statusSelect'
:key="item.id" :key='item.id'
:label="item.name" :label='item.name'
:value="item.id" :value='item.id'
></el-option> ></el-option>
</el-select> </el-select>
</el-form-item> </el-form-item>
</template> </template>
<template #operation> <template #operation>
<!-- <el-button icon="el-icon-Download" type="primary" @click="exportFn">导出</el-button> --> <!-- <el-button icon="el-icon-Download" type="primary" @click="exportFn">导出</el-button> -->
</template> </template>
</TableHeader> </TableHeader>
<Table ref='tableRef' /> <Table ref='tableRef' />
<!-- 新增 --> <!-- 新增 -->
<planTest ref='planTestRef' @onsubmit='tableStore.index()' /> <planTest ref='planTestRef' @onsubmit='tableStore.index()' />
</template> </template>
<script setup lang='ts'> <script setup lang='ts'>
import { ref, onMounted, provide, nextTick } from 'vue' import { ref, onMounted, provide, nextTick } from 'vue'
@@ -39,6 +39,7 @@ import { getUserByRoleType } from '@/api/user-boot/user'
const { push } = useRouter() const { push } = useRouter()
const tableRef = ref() const tableRef = ref()
import { useDictData } from '@/stores/dictData' import { useDictData } from '@/stores/dictData'
const dictData = useDictData() const dictData = useDictData()
const supvTypeOptionList = dictData.getBasicData('supv_type') const supvTypeOptionList = dictData.getBasicData('supv_type')
const statusSelect = dictData.statusSelect() const statusSelect = dictData.statusSelect()
@@ -48,145 +49,146 @@ const TableHeaderRef = ref()
const auditList: any = ref([]) const auditList: any = ref([])
const tableStore = new TableStore({ const tableStore = new TableStore({
url: '/supervision-boot/surveyTest/surveyTestPage', url: '/supervision-boot/surveyTest/surveyTestPage',
publicHeight: 65, publicHeight: 65,
method: 'POST', method: 'POST',
column: [ column: [
{
title: '序号',
width: 60,
formatter: (row: any) => {
return (tableStore.table.params.pageNum - 1) * tableStore.table.params.pageSize + row.rowIndex + 1
}
},
{ field: 'planName', title: '计划名称', minWidth: 140 },
{
field: 'supvType',
title: '监督类型',
minWidth: 130,
formatter: (row: any) => {
return supvTypeOptionList.filter(item => item.id === row.cellValue)[0]?.name
}
},
{
field: 'supvObjectName',
minWidth: 130,
title: '监督对象名称'
},
{ field: 'substationName', title: '变电站', minWidth: 140 },
{ field: 'planStartTime', title: '计划开始时间', minWidth: 140 },
{ field: 'planEndTime', title: '计划结束时间', minWidth: 140 },
{
field: 'problemFlag', title: '是否存在问题', minWidth: 120,
render: 'tag',
custom: {
0: 'success',
1: 'danger',
null: 'primary'
},
replaceValue: {
0: '合格',
1: '存在问题',
null: '待测试'
}
},
{ field: 'deptName', title: '负责单位', minWidth: 140 },
{ field: 'completeBy', title: '计划负责人', minWidth: 130 },
{ field: 'completeTime', title: '实际完成时间', minWidth: 140 },
{
field: 'status',
title: '计划状态',
render: 'tag',
minWidth: 140,
custom: {
6: 'primary',
1: 'primary',
2: 'success',
3: 'danger',
4: 'warning'
},
replaceValue: {
6: '待测试',
1: '审批中',
2: '审批通过',
3: '审批不通过',
4: '已取消'
}
},
{
field: 'createBy',
title: '填报人',
minWidth: 80,
formatter: (row: any) => {
return dictData.state.userList.filter(item => item.id == row.cellValue)[0]?.name
}
},
{
title: '操作',
minWidth: 180,
render: 'buttons',
fixed: 'right',
buttons: [
{ {
title: '序号', name: 'productSetting',
width: 60, title: '测试填报',
formatter: (row: any) => { type: 'primary',
return (tableStore.table.params.pageNum - 1) * tableStore.table.params.pageSize + row.rowIndex + 1 icon: 'el-icon-EditPen',
} render: 'basicButton',
}, disabled: row => {
{ field: 'planName', title: '计划名称', minWidth: 140 }, return row.status != 6
{
field: 'supvType',
title: '监督类型',
minWidth: 130,
formatter: (row: any) => {
return supvTypeOptionList.filter(item => item.id === row.cellValue)[0]?.name
}
},
{
field: 'supvObjectName',
minWidth: 130,
title: '监督对象名称'
},
{ field: 'substationName', title: '变电站', minWidth: 140 },
{ field: 'planStartTime', title: '计划开始时间', minWidth: 140 },
{ field: 'planEndTime', title: '计划结束时间', minWidth: 140 },
{ field: 'problemFlag', title: '是否存在问题', minWidth: 120,
render: 'tag',
custom: {
0: 'success',
1: 'danger',
null:'primary'
}, },
replaceValue: { click: row => {
0: '合格', add(row.id)
1: '存在问题',
null:'待测试'
} }
}, },
{ field: 'deptName', title: '负责单位', minWidth: 140 },
{ field: 'completeBy', title: '计划负责人', minWidth: 130 },
{ field: 'completeTime', title: '实际完成时间', minWidth: 140 },
{ {
field: 'status', name: 'productSetting',
title: '计划状态', title: '流程详情',
render: 'tag', type: 'primary',
minWidth: 140, icon: 'el-icon-EditPen',
custom: { render: 'basicButton',
6: 'primary', disabled: row => {
1: 'primary', return row.status == 6 || row.status == 4
2: 'success', },
3: 'danger', click: row => {
4: 'warning' // planTestRef.value.open('查看计划', row)
}, handleAudit(row.processInstanceId, row.historyInstanceId)
replaceValue: { }
6: '待测试',
1: '审批中',
2: '审批通过',
3: '审批不通过',
4: '已取消'
}
}, },
{ {
field: 'createBy', name: 'edit',
title: '填报人', title: '重新发起',
minWidth: 80, type: 'warning',
formatter: (row: any) => { icon: 'el-icon-Open',
return dictData.state.userList.filter(item => item.id == row.cellValue)[0]?.name render: 'basicButton',
} disabled: row => {
return row.createBy != adminInfo.$state.id || row.status == 6 || row.status == 1 || row.status == 2
},
click: row => {
// deviceQuitPopup.value.open('重新发起退运', row)
planTestRef.value.open('重新发起计划', row.id, false)
}
}, },
{ {
title: '操作', name: 'cancel',
minWidth: 180, title: '取消',
render: 'buttons', type: 'danger',
fixed: 'right', icon: 'el-icon-Open',
buttons: [ render: 'basicButton',
{ disabled: row => {
name: 'productSetting', return row.createBy != adminInfo.$state.id || row.status == 6 || row.status == 2 || row.status == 3 || row.status == 4
title: '测试填报', },
type: 'primary', click: row => {
icon: 'el-icon-EditPen', cancelLeave(row)
render: 'basicButton', }
disabled: row => {
return row.status != 6
},
click: row => {
add(row.id)
}
},
{
name: 'productSetting',
title: '流程详情',
type: 'primary',
icon: 'el-icon-EditPen',
render: 'basicButton',
disabled: row => {
return row.status == 6 || row.status == 4
},
click: row => {
// planTestRef.value.open('查看计划', row)
handleAudit(row.processInstanceId,row.historyInstanceId)
}
},
{
name: 'edit',
title: '重新发起',
type: 'warning',
icon: 'el-icon-Open',
render: 'basicButton',
disabled: row => {
return row.createBy != adminInfo.$state.id || row.status == 6 || row.status == 1 || row.status == 2
},
click: row => {
// deviceQuitPopup.value.open('重新发起退运', row)
planTestRef.value.open('重新发起计划', row.id)
}
},
{
name: 'cancel',
title: '取消',
type: 'danger',
icon: 'el-icon-Open',
render: 'basicButton',
disabled: row => {
return row.createBy != adminInfo.$state.id || row.status == 6 || row.status == 2 || row.status == 3 || row.status == 4
},
click: row => {
cancelLeave(row)
}
}
]
} }
], ]
beforeSearchFun: () => {
tableStore.table.params.orgNo = tableStore.table.params.deptIndex
tableStore.table.params.currentPage = tableStore.table.params.pageNum
} }
],
beforeSearchFun: () => {
tableStore.table.params.orgNo = tableStore.table.params.deptIndex
tableStore.table.params.currentPage = tableStore.table.params.pageNum
}
}) })
tableStore.table.params.status = '' tableStore.table.params.status = ''
@@ -194,67 +196,67 @@ tableStore.table.params.status = ''
provide('tableStore', tableStore) provide('tableStore', tableStore)
// 新增计划 // 新增计划
const add = (id: string) => { const add = (id: string) => {
planTestRef.value.open('计划测试填报',id,true) planTestRef.value.open('计划测试填报', id, true)
} }
const exportFn = () => { const exportFn = () => {
let form = JSON.parse(JSON.stringify(tableStore.table.params)) let form = JSON.parse(JSON.stringify(tableStore.table.params))
form.pageNum = 1 form.pageNum = 1
form.pageSize = tableStore.table.total form.pageSize = tableStore.table.total
queryPlan(form).then(res => { queryPlan(form).then(res => {
tableRef.value.getRef().exportData({ tableRef.value.getRef().exportData({
filename: '计划', // 文件名字 filename: '计划', // 文件名字
sheetName: 'Sheet1', sheetName: 'Sheet1',
type: 'xlsx', //导出文件类型 xlsx 和 csv type: 'xlsx', //导出文件类型 xlsx 和 csv
useStyle: true, useStyle: true,
data: res.data.records, // 数据源 // 过滤那个字段导出 data: res.data.records, // 数据源 // 过滤那个字段导出
columnFilterMethod: function(column: any) { columnFilterMethod: function(column: any) {
return !(column.$columnIndex === 0) return !(column.$columnIndex === 0)
} }
})
}) })
})
} }
/**取消流程操作*/ /**取消流程操作*/
const cancelLeave = async (row: any) => { const cancelLeave = async (row: any) => {
// 二次确认 // 二次确认
const { value } = await ElMessageBox.prompt('请输入取消原因', '取消流程', { const { value } = await ElMessageBox.prompt('请输入取消原因', '取消流程', {
confirmButtonText: '确定', confirmButtonText: '确定',
cancelButtonText: '取消', cancelButtonText: '取消',
inputPattern: /^[\s\S]*.*\S[\s\S]*$/, // 判断非空,且非空格 inputPattern: /^[\s\S]*.*\S[\s\S]*$/, // 判断非空,且非空格
inputErrorMessage: '取消原因不能为空' inputErrorMessage: '取消原因不能为空'
}) })
// 发起取消 // 发起取消
let data = { let data = {
id: row.id, id: row.id,
processInstanceId: row.processInstanceId, processInstanceId: row.processInstanceId,
reason: value reason: value
} }
await cancelTest(data) await cancelTest(data)
ElMessage.success('取消成功') ElMessage.success('取消成功')
// 加载数据 // 加载数据
tableStore.index() tableStore.index()
} }
/** 处理审批按钮 */ /** 处理审批按钮 */
const handleAudit = (instanceId: any,historyInstanceId:any) => { const handleAudit = (instanceId: any, historyInstanceId: any) => {
push({ push({
name: 'BpmProcessInstanceDetail', name: 'BpmProcessInstanceDetail',
state: { state: {
id: instanceId, id: instanceId,
historyInstanceId historyInstanceId
} }
}) })
} }
// 取消 // 取消
onMounted(() => { onMounted(() => {
tableStore.index() tableStore.index()
getUserByRoleType(3).then(res => { getUserByRoleType(3).then(res => {
auditList.value = res.data auditList.value = res.data
}) })
}) })
</script> </script>