业务流程添加重新发起&取消

This commit is contained in:
zhujiyan
2024-06-04 16:54:33 +08:00
parent ed9bce09b3
commit a0c64a4232
19 changed files with 532 additions and 226 deletions

View File

@@ -27,6 +27,16 @@ export const updateFormData = (data: any) => {
} }
//取消干扰源审批
export const cancelFormData = (data: any) => {
return createAxios({
url: '/supervision-boot/userReport/cancel',
method: 'POST',
data
})
}
export const submitGoNet = (data: any) => { export const submitGoNet = (data: any) => {
return createAxios({ return createAxios({
url: '/supervision-boot/userReportNormal/addUserReportNormal', url: '/supervision-boot/userReportNormal/addUserReportNormal',

View File

@@ -16,6 +16,28 @@ export const addFeedback = (data: any) => {
}) })
} }
/**
* 针对有问题的现场测试重新发起告警单
*/
export const updateFeedback = (data: any) => {
return createAxios({
url: MAPPING_PATH + '/update',
method: 'POST',
data: data
})
}
/**
* 针对有问题的现场测试取消发起告警单
*/
export const cancelFeedback = (data: any) => {
return createAxios({
url: MAPPING_PATH + '/cancel',
method: 'POST',
data: data
})
}
/** /**
* 根据id获取预告警单的详细数据 * 根据id获取预告警单的详细数据
*/ */

View File

@@ -24,6 +24,15 @@ export const updateMointorPointFormData = (data: any) => {
}) })
} }
//取消发起监测点信息
export const cancelMointorPointFormData = (data: any) => {
return createAxios({
url: '/supervision-boot/tempLine/cancel',
method: 'POST',
data: data
})
}
/** /**
* 查询干扰源列表数据 * 查询干扰源列表数据

View File

@@ -18,12 +18,22 @@ export const addPlanFormData = (data: any) => {
//重新发起技术监督计划表单数据 //重新发起技术监督计划表单数据
export const updatePlanFormData = (data: any) => { export const updatePlanFormData = (data: any) => {
return createAxios({ return createAxios({
url: '/supervision-boot/superPlan/updatePlan', url: '/supervision-boot/superPlan/update',
method: 'POST', method: 'POST',
data: data data: data
}) })
} }
//取消发起技术监督计划表单数据
export const cancelPlanFormData = (data: any) => {
return createAxios({
url: '/supervision-boot/superPlan/cancel',
method: 'POST',
data: data
})
}
/** /**
* 根据当前登陆用户的部门id查询人员 * 根据当前登陆用户的部门id查询人员
*/ */

View File

@@ -26,6 +26,17 @@ export const updateTerminalFormData = (data: any) => {
}) })
} }
/**
* 编辑终端信息表单数据(重新发起)
*/
export const cancelTerminalFormData = (data: any) => {
return createAxios({
url: '/supervision-boot/deVReport/cancel',
method: 'POST',
data: data
})
}
/** /**
* 获取关联设备列表 * 获取关联设备列表
*/ */

View File

@@ -45,7 +45,7 @@
/> />
</el-form-item> </el-form-item>
<el-form-item for="-" label="用户性质:" prop="userType"> <el-form-item for="-" label="用户性质:" prop="userType">
<el-select v-model="form.userType" placeholder="请选择用户性质" @change="changeUserType()"> <el-select :disabled="resendId!=''" v-model="form.userType" placeholder="请选择用户性质" @change="changeUserType()">
<el-option <el-option
v-for="(item, index) in userTypeList" v-for="(item, index) in userTypeList"
:label="item.label" :label="item.label"
@@ -927,6 +927,8 @@ const open = async (row: any) => {
} }
form.value.orgId = adminInfo.$state.deptName form.value.orgId = adminInfo.$state.deptName
}) })
}else{
resendId.value=''
} }
} }
// 处理上传文件回显 // 处理上传文件回显

View File

@@ -2,10 +2,7 @@
<TableHeader ref="TableHeaderRef"> <TableHeader ref="TableHeaderRef">
<template #select> <template #select>
<el-form-item label="用户名称"> <el-form-item label="用户名称">
<el-input <el-input v-model="tableStore.table.params.projectName" placeholder="请输入用户名称"></el-input>
v-model="tableStore.table.params.projectName"
placeholder="请输入用户名称"
></el-input>
</el-form-item> </el-form-item>
<el-form-item label="所属地市"> <el-form-item label="所属地市">
<el-select v-model="tableStore.table.params.city" clearable placeholder="请选择所属地市"> <el-select v-model="tableStore.table.params.city" clearable placeholder="请选择所属地市">
@@ -43,9 +40,14 @@ import Audit from './audit.vue'
import addForm from './addForm.vue' import addForm from './addForm.vue'
import { useDictData } from '@/stores/dictData' import { useDictData } from '@/stores/dictData'
import { getLoadTypeUserList } from '@/api/process-boot/interference' import { getLoadTypeUserList } from '@/api/process-boot/interference'
import { cancelFormData } from '@/api/supervision-boot/interfere/index'
import { ElMessage } from 'element-plus'
import { ElMessageBox } from 'element-plus/es'
import { useAdminInfo } from '@/stores/adminInfo'
//获取登陆用户姓名和部门
const adminInfo = useAdminInfo()
const dictData = useDictData() const dictData = useDictData()
const { push } = useRouter() const { push } = useRouter()
const TableHeaderRef = ref() const TableHeaderRef = ref()
const tableRef = ref() const tableRef = ref()
const areaOptionList = dictData.getBasicData('jibei_area') const areaOptionList = dictData.getBasicData('jibei_area')
@@ -141,7 +143,7 @@ const tableStore = new TableStore({
icon: 'el-icon-Open', icon: 'el-icon-Open',
render: 'basicButton', render: 'basicButton',
disabled: row => { disabled: row => {
return row.status == 1 || row.status == 2 return row.createBy != adminInfo.$state.id || row.status !=3
}, },
click: row => { click: row => {
addForms.value.open({ addForms.value.open({
@@ -157,9 +159,11 @@ const tableStore = new TableStore({
icon: 'el-icon-Open', icon: 'el-icon-Open',
render: 'basicButton', render: 'basicButton',
disabled: row => { disabled: row => {
return row.status == 3 || row.status == 2 || row.status == 4 return row.createBy != adminInfo.$state.id || row.status !=1
}, },
click: row => {} click: row => {
cancelLeave(row)
}
} }
] ]
} }
@@ -210,6 +214,27 @@ const exportEvent = () => {
}) })
}) })
} }
/**取消流程操作*/
const cancelLeave = async (row: any) => {
// 二次确认
const { value } = await ElMessageBox.prompt('请输入取消原因', '取消流程', {
confirmButtonText: '确定',
cancelButtonText: '取消',
inputPattern: /^[\s\S]*.*\S[\s\S]*$/, // 判断非空,且非空格
inputErrorMessage: '取消原因不能为空'
})
// 发起取消
let data = {
id: row.id,
processInstanceId: row.processInstanceId,
reason: value
}
await cancelFormData(data)
ElMessage.success('取消成功')
// 加载数据
tableStore.index()
}
onMounted(() => { onMounted(() => {
tableStore.index() tableStore.index()
}) })
@@ -252,6 +277,4 @@ const getUserTypeName = (userType: any) => {
} }
</script> </script>
<style scoped lang="scss"> <style scoped lang="scss"></style>
</style>

View File

@@ -362,7 +362,12 @@ import { genFileId, ElMessage } from 'element-plus'
import { useDictData } from '@/stores/dictData' import { useDictData } from '@/stores/dictData'
import { useAdminInfo } from '@/stores/adminInfo' import { useAdminInfo } from '@/stores/adminInfo'
import { uploadFile } from '@/api/system-boot/file' import { uploadFile } from '@/api/system-boot/file'
import { addPlanFormData, getUserByDeptId, getPlanDetailsById,updatePlanFormData } from '@/api/supervision-boot/plan/index' import {
addPlanFormData,
getUserByDeptId,
getPlanDetailsById,
updatePlanFormData
} from '@/api/supervision-boot/plan/index'
import Area from '@/components/form/area/index.vue' import Area from '@/components/form/area/index.vue'
const emits = defineEmits(['onSubmit']) const emits = defineEmits(['onSubmit'])
const dictData = useDictData() const dictData = useDictData()
@@ -557,15 +562,17 @@ watch(
immediate: true immediate: true
} }
) )
const resendId=ref('') const resendId = ref('')
const open = (row: any) => { const open = (row: any) => {
title.value = row.title; title.value = row.title
dialogFormVisible.value = true; dialogFormVisible.value = true
resendId.value=row.row.planId;
if (row.row) { if (row.row) {
getPlanDetailsById({ id: row.row.planId}).then(res => { resendId.value = row.row.planId
getPlanDetailsById({ id: row.row.planId }).then(res => {
form.value = res.data form.value = res.data
}) })
} else {
resendId.value = ''
} }
} }
const close = () => { const close = () => {
@@ -667,11 +674,12 @@ const confirmForm = () => {
}) })
} else { } else {
console.log(confirmFormData) console.log(confirmFormData)
confirmFormData.id=resendId.value; confirmFormData.id = resendId.value
confirmFormData.planSupvDate = confirmFormData.planSupvDate.replace('T', ' ')
updatePlanFormData(confirmFormData).then(res => { updatePlanFormData(confirmFormData).then(res => {
if (res.code == 'A0000') { if (res.code == 'A0000') {
ElMessage({ ElMessage({
message: '新建技术监督计划成功', message: '重新发起成功',
type: 'success' type: 'success'
}) })
ruleFormRef.value.resetFields() ruleFormRef.value.resetFields()

View File

@@ -46,7 +46,10 @@ import addForm from './components/addForm.vue'
import effectProblem from './components/effectProblem/index.vue' import effectProblem from './components/effectProblem/index.vue'
import { planDetailsAudit, sendAlarm } from '@/api/supervision-boot/plan/index' import { planDetailsAudit, sendAlarm } from '@/api/supervision-boot/plan/index'
import { ElMessage } from 'element-plus' import { ElMessage } from 'element-plus'
import { useAdminInfo } from '@/stores/adminInfo'
import { cancelPlanFormData } from '@/api/supervision-boot/plan/index'
//获取登陆用户姓名和部门
const adminInfo = useAdminInfo()
defineOptions({ defineOptions({
name: 'plan' name: 'plan'
}) })
@@ -169,30 +172,12 @@ const tableStore = new TableStore({
icon: 'el-icon-EditPen', icon: 'el-icon-EditPen',
render: 'basicButton', render: 'basicButton',
click: row => { click: row => {
console.log(row.processInstanceId,"000000000"); handleDetails(row.processInstanceId, row.historyInstanceId)
handleDetails(row.processInstanceId)
}, },
disabled: row => { disabled: row => {
return !row.processInstanceId return !row.processInstanceId
} }
}, },
{
name: 'edit',
title: '重新发起',
type: 'warning',
icon: 'el-icon-Open',
render: 'basicButton',
disabled: row => {
return row.status == 1 || row.status == 2
},
click: row => {
addForms.value.open({
title: '重新发起',
row: row
})
}
},
{ {
name: 'productSetting', name: 'productSetting',
title: '实施问题', title: '实施问题',
@@ -216,7 +201,24 @@ const tableStore = new TableStore({
handleAudit(row) handleAudit(row)
} }
}, },
{
name: 'edit',
title: '重新发起',
type: 'warning',
icon: 'el-icon-Open',
render: 'basicButton',
disabled: row => {
return (
row.createBy != adminInfo.$state.id || row.status !=3
)
},
click: row => {
addForms.value.open({
title: '重新发起',
row: row
})
}
},
{ {
name: 'cancel', name: 'cancel',
title: '取消', title: '取消',
@@ -224,10 +226,12 @@ const tableStore = new TableStore({
icon: 'el-icon-Open', icon: 'el-icon-Open',
render: 'basicButton', render: 'basicButton',
disabled: row => { disabled: row => {
return row.status == 3 || row.status == 2 || row.status == 4 return (
row.createBy != adminInfo.$state.id || row.status != 1
)
}, },
click: row => { click: row => {
// cancelLeave(row) cancelLeave(row)
} }
}, },
{ {
@@ -299,17 +303,19 @@ onMounted(() => {
tableStore.index() tableStore.index()
}) })
// //
const handleDetails = (id: any) => { const handleDetails = (id: any, historyInstanceId: any) => {
push({ push({
name: 'BpmProcessInstanceDetail', name: 'BpmProcessInstanceDetail',
query: { state: {
id: id id: id,
historyInstanceId
} }
}) })
} }
/** 提交审核按钮 */ /** 提交审核按钮 */
const handleAudit = (row: any) => { const handleAudit = (row: any) => {
planDetailsAudit({ id: row.planId }).then(res => { planDetailsAudit({ id: row.planId }).then(res => {
ElMessage.success('提交审核成功!')
tableStore.index() tableStore.index()
}) })
} }
@@ -320,6 +326,26 @@ const handleAlarmForm = (row: any) => {
tableStore.index() tableStore.index()
}) })
} }
/**取消流程操作*/
const cancelLeave = async (row: any) => {
// 二次确认
const { value } = await ElMessageBox.prompt('请输入取消原因', '取消流程', {
confirmButtonText: '确定',
cancelButtonText: '取消',
inputPattern: /^[\s\S]*.*\S[\s\S]*$/, // 判断非空,且非空格
inputErrorMessage: '取消原因不能为空'
})
// 发起取消
let data = {
id: row.id,
processInstanceId: row.processInstanceId,
reason: value
}
await cancelPlanFormData(data)
ElMessage.success('取消成功')
// 加载数据
tableStore.index()
}
// 实施问题按钮 // 实施问题按钮
const effectProblemList = ref() const effectProblemList = ref()
const effectProblemForm: any = ref({}) const effectProblemForm: any = ref({})
@@ -333,5 +359,4 @@ const handleEffectProblem = (row: any) => {
} }
}) })
} }
</script> </script>

View File

@@ -1,21 +1,17 @@
<template> <template>
<TableHeader datePicker ref='TableHeaderRef'> <TableHeader datePicker ref="TableHeaderRef">
<template #operation> <template #operation>
<!-- <el-button icon="el-icon-Plus" type="primary" @click="add">新增</el-button>--> <!-- <el-button icon="el-icon-Plus" type="primary" @click="add">新增</el-button>-->
<!-- <el-button icon="el-icon-Delete" type="primary">删除</el-button>--> <!-- <el-button icon="el-icon-Delete" type="primary">删除</el-button>-->
<!-- <el-button icon="el-icon-Download" type="primary">导出</el-button>--> <!-- <el-button icon="el-icon-Download" type="primary">导出</el-button>-->
</template> </template>
</TableHeader> </TableHeader>
<!--表格--> <!--表格-->
<Table ref='tableRef' /> <Table ref="tableRef" />
<!--弹框--> <!--弹框-->
<feedback-popup ref='feedbackPopup' /> <feedback-popup ref="feedbackPopup" />
</template> </template>
<script setup lang='ts'> <script setup lang="ts">
import { ref, onMounted, provide, nextTick } from 'vue' import { ref, onMounted, provide, nextTick } from 'vue'
import TableStore from '@/utils/tableStore' import TableStore from '@/utils/tableStore'
import Table from '@/components/table/index.vue' import Table from '@/components/table/index.vue'
@@ -23,7 +19,10 @@ import TableHeader from '@/components/table/header/index.vue'
import { ElMessage, ElMessageBox } from 'element-plus' import { ElMessage, ElMessageBox } from 'element-plus'
import FeedbackPopup from '@/views/pqs/supervise/technology/feedbackPopup.vue' import FeedbackPopup from '@/views/pqs/supervise/technology/feedbackPopup.vue'
import { useRouter } from 'vue-router' import { useRouter } from 'vue-router'
import { cancelFeedback } from '@/api/supervision-boot/leaflet'
import { useAdminInfo } from '@/stores/adminInfo'
//获取登陆用户姓名和部门
const adminInfo = useAdminInfo()
const { push } = useRouter() const { push } = useRouter()
const feedbackPopup = ref() const feedbackPopup = ref()
@@ -44,7 +43,9 @@ const tableStore = new TableStore({
} }
}, },
{ {
field: 'problemType', title: '告警单问题来源', minWidth: '150', field: 'problemType',
title: '告警单问题来源',
minWidth: '150',
render: 'tag', render: 'tag',
custom: { custom: {
1: 'warning', 1: 'warning',
@@ -61,7 +62,9 @@ const tableStore = new TableStore({
}, },
{ field: 'leafletName', title: '单据名称', minWidth: '150' }, { field: 'leafletName', title: '单据名称', minWidth: '150' },
{ {
field: 'status', title: '告警单状态', minWidth: '150', field: 'status',
title: '告警单状态',
minWidth: '150',
render: 'tag', render: 'tag',
custom: { custom: {
1: 'primary', 1: 'primary',
@@ -107,7 +110,7 @@ const tableStore = new TableStore({
return row.status !== 5 return row.status !== 5
}, },
click: row => { click: row => {
feedbackPopup.value.open('填报反馈单', row.id, row.status, row.issueDetail,row.problemPath) feedbackPopup.value.open('填报反馈单', row.id, row.status, row.issueDetail, row.problemPath)
} }
}, },
@@ -121,7 +124,7 @@ const tableStore = new TableStore({
return row.status == 5 return row.status == 5
}, },
click: row => { click: row => {
handleAudit(row.processInstanceId) handleAudit(row.processInstanceId, row.historyInstanceId)
} }
}, },
{ {
@@ -131,10 +134,19 @@ const tableStore = new TableStore({
icon: 'el-icon-Open', icon: 'el-icon-Open',
render: 'basicButton', render: 'basicButton',
disabled: row => { disabled: row => {
return row.status == 1 || row.status == 2 || row.status == 4 || row.status == 5 return row.createBy != adminInfo.$state.id || row.status != 3
}, },
click: row => { click: row => {
// deviceQuitPopup.value.open('重新发起', row) // deviceQuitPopup.value.open('重新发起', row)
feedbackPopup.value.open(
'重新发起告警单',
row.id,
row.status,
row.issueDetail,
row.problemPath,
row.takeStep,
row.reportPath
)
} }
}, },
{ {
@@ -144,13 +156,12 @@ const tableStore = new TableStore({
icon: 'el-icon-Open', icon: 'el-icon-Open',
render: 'basicButton', render: 'basicButton',
disabled: row => { disabled: row => {
return row.status == 3 || row.status == 2 || row.status == 4 || row.status == 5 return row.createBy != adminInfo.$state.id || row.status != 1
}, },
click: row => { click: row => {
// cancelLeave(row) cancelLeave(row)
} }
} }
] ]
} }
], ],
@@ -160,24 +171,44 @@ const tableStore = new TableStore({
} }
}) })
/**取消流程操作*/
const cancelLeave = async (row: any) => {
// 二次确认
const { value } = await ElMessageBox.prompt('请输入取消原因', '取消流程', {
confirmButtonText: '确定',
cancelButtonText: '取消',
inputPattern: /^[\s\S]*.*\S[\s\S]*$/, // 判断非空,且非空格
inputErrorMessage: '取消原因不能为空'
})
// 发起取消
let data = {
id: row.id,
processInstanceId: row.processInstanceId,
reason: value
}
await cancelFeedback(data)
ElMessage.success('取消成功')
// 加载数据
tableStore.index()
}
tableStore.table.params.status = '' tableStore.table.params.status = ''
provide('tableStore', tableStore) provide('tableStore', tableStore)
onMounted(() => { onMounted(() => {
tableStore.index() tableStore.index()
}) })
/** 流程实例详情 */ /** 流程实例详情 */
const handleAudit = (instanceId: any) => { const handleAudit = (instanceId: any, historyInstanceId: any) => {
push({ push({
name: 'BpmProcessInstanceDetail', name: 'BpmProcessInstanceDetail',
query: { state: {
id: instanceId id: instanceId,
historyInstanceId
} }
}) })
} }
</script> </script>
<style scoped lang='scss'></style> <style scoped lang="scss"></style>

View File

@@ -17,7 +17,10 @@ import TableHeader from '@/components/table/header/index.vue'
import { ElMessage, ElMessageBox } from 'element-plus' import { ElMessage, ElMessageBox } from 'element-plus'
import FeedbackPopup from '@/views/pqs/supervise/technology/feedbackPopup.vue' import FeedbackPopup from '@/views/pqs/supervise/technology/feedbackPopup.vue'
import { useRouter } from 'vue-router' import { useRouter } from 'vue-router'
import { cancelFeedback } from '@/api/supervision-boot/leaflet'
import { useAdminInfo } from '@/stores/adminInfo'
//获取登陆用户姓名和部门
const adminInfo = useAdminInfo()
const { push } = useRouter() const { push } = useRouter()
const tableRef = ref() const tableRef = ref()
const TableHeaderRef = ref() const TableHeaderRef = ref()
@@ -113,7 +116,7 @@ const tableStore = new TableStore({
return row.status == 5 return row.status == 5
}, },
click: row => { click: row => {
handleAudit(row.processInstanceId) handleAudit(row.processInstanceId,row.historyInstanceId)
} }
}, },
{ {
@@ -123,10 +126,11 @@ const tableStore = new TableStore({
icon: 'el-icon-Open', icon: 'el-icon-Open',
render: 'basicButton', render: 'basicButton',
disabled: row => { disabled: row => {
return row.status == 1 || row.status == 2 || row.status == 4 || row.status == 5 return row.createBy != adminInfo.$state.id || row.status != 3
}, },
click: row => { click: row => {
// deviceQuitPopup.value.open('重新发起', row) // deviceQuitPopup.value.open('重新发起', row)
feedbackPopup.value.open('重新发起预警单', row.id, row.status, row.issueDetail,row.problemPath,row.takeStep,row.reportPath)
} }
}, },
{ {
@@ -136,10 +140,10 @@ const tableStore = new TableStore({
icon: 'el-icon-Open', icon: 'el-icon-Open',
render: 'basicButton', render: 'basicButton',
disabled: row => { disabled: row => {
return row.status == 3 || row.status == 2 || row.status == 4 || row.status == 5 return row.createBy != adminInfo.$state.id || row.status != 1
}, },
click: row => { click: row => {
// cancelLeave(row) cancelLeave(row)
} }
} }
] ]
@@ -156,13 +160,33 @@ provide('tableStore', tableStore)
onMounted(() => { onMounted(() => {
tableStore.index() tableStore.index()
}) })
/**取消流程操作*/
const cancelLeave = async (row: any) => {
// 二次确认
const { value } = await ElMessageBox.prompt('请输入取消原因', '取消流程', {
confirmButtonText: '确定',
cancelButtonText: '取消',
inputPattern: /^[\s\S]*.*\S[\s\S]*$/, // 判断非空,且非空格
inputErrorMessage: '取消原因不能为空'
})
// 发起取消
let data = {
id: row.id,
processInstanceId: row.processInstanceId,
reason: value
}
await cancelFeedback(data)
ElMessage.success('取消成功')
// 加载数据
tableStore.index()
}
/** 流程实例详情 */ /** 流程实例详情 */
const handleAudit = (instanceId: any) => { const handleAudit = (instanceId: any,historyInstanceId:any) => {
push({ push({
name: 'BpmProcessInstanceDetail', name: 'BpmProcessInstanceDetail',
query: { query: {
id: instanceId id: instanceId,
historyInstanceId
} }
}) })
} }

View File

@@ -1,77 +1,70 @@
<template> <template>
<el-dialog <el-dialog draggable class="cn-operate-dialog" v-model="dialogVisible" :title="title" width="450px" top="30vh">
draggable
class='cn-operate-dialog'
v-model='dialogVisible'
:title='title'
width='450px'
top='30vh'
>
<el-scrollbar> <el-scrollbar>
<el-form :inline='false' :model='formData' label-width='120px' :rules='rules' ref='formRef'> <el-form :inline="false" :model="form" label-width="120px" :rules="rules" ref="formRef">
<el-form-item label="问题详情:">
<el-form-item label='问题详情:'>
<el-input <el-input
v-model='formData.issueDetail' v-model="form.issueDetail"
autocomplete='off' autocomplete="off"
type='textarea' type="textarea"
:autosize='{minRows:2,maxRows:6}' :autosize="{ minRows: 2, maxRows: 6 }"
readonly readonly
/> />
</el-form-item> </el-form-item>
<el-form-item label='问题附件:' v-if='showFile'> <el-form-item label="问题附件:" v-if="showFile">
<el-icon> <el-icon>
<Link /> <Link />
</el-icon> </el-icon>
<a :href='problemDetail.problemPath' target='_blank'>{{ problemDetail.problemName }}</a> <a :href="problemDetail.problemPath" target="_blank">{{ problemDetail.problemName }}</a>
</el-form-item> </el-form-item>
<el-form-item label='采取的措施:' prop='takeStep'> <el-form-item label="采取的措施:" prop="takeStep">
<el-input <el-input
v-model='formData.takeStep' v-model="form.takeStep"
autocomplete='off' autocomplete="off"
placeholder='请输入采取的措施' placeholder="请输入采取的措施"
type='textarea' type="textarea"
/> />
</el-form-item> </el-form-item>
<el-form-item label="反馈报告:" class="uploadFile" prop="reportPath">
<el-form-item label='反馈报告:' prop='reportPath'>
<el-upload <el-upload
ref='uploadRef' v-model:file-list="form.reportPath"
action='' ref="uploadRef"
accept='.doc,.docx,.xlsx,.xls,.pdf' action=""
:limit='1' :accept="acceptType"
:on-exceed='handleExceed' :limit="1"
:on-change='choose' :on-exceed="handleExceed"
:auto-upload='false' :on-change="choose"
:auto-upload="false"
:on-progress="uploadFileName('reportPath')" :on-progress="uploadFileName('reportPath')"
:on-remove="removeFile"
> >
<template #trigger> <template #trigger>
<el-button type='primary'>上传文件</el-button> <el-button type="primary">上传文件</el-button>
</template> </template>
</el-upload> </el-upload>
</el-form-item> </el-form-item>
</el-form> </el-form>
</el-scrollbar> </el-scrollbar>
<template #footer> <template #footer>
<span class='dialog-footer'> <span class="dialog-footer">
<el-button @click='dialogVisible = false'>取消</el-button> <el-button @click="close">取消</el-button>
<el-button type='primary' @click='submit'>确认</el-button> <el-button type="primary" @click="submit">确认</el-button>
</span> </span>
</template> </template>
</el-dialog> </el-dialog>
</template> </template>
<script lang='ts' setup> <script lang="ts" setup>
import { ref, inject, reactive, nextTick } from 'vue' import { ref, inject, reactive, nextTick } from 'vue'
import { ElMessage, genFileId, UploadProps, UploadRawFile } from 'element-plus' import { ElMessage, genFileId, UploadProps, UploadRawFile } from 'element-plus'
import TableStore from '@/utils/tableStore' // 若不是列表页面弹框可删除 import TableStore from '@/utils/tableStore' // 若不是列表页面弹框可删除
import { getFileNameAndFilePath, uploadFile } from '@/api/system-boot/file' import { getFileNameAndFilePath, uploadFile } from '@/api/system-boot/file'
import { addFeedback } from '@/api/supervision-boot/leaflet' import { addFeedback, updateFeedback } from '@/api/supervision-boot/leaflet'
import { Link } from '@element-plus/icons-vue' import { Link } from '@element-plus/icons-vue'
//.doc,.docx,.xlsx,.xls,.pdf
const acceptType = ref('')
//下拉数据源 //下拉数据源
const title = ref('') const title = ref('')
const tableStore = inject('tableStore') as TableStore const tableStore = inject('tableStore') as TableStore
@@ -80,12 +73,12 @@ const formRef = ref()
const uploadRef = ref() const uploadRef = ref()
const dialogVisible = ref(false) const dialogVisible = ref(false)
// 注意不要和表单ref的命名冲突 // 注意不要和表单ref的命名冲突
const formData = reactive({ const form = ref({
id: '', id: '',
status: '', status: '',
issueDetail: '', issueDetail: '',
takeStep: '', takeStep: '',
reportPath: '' reportPath: []
}) })
//附件是否显示 //附件是否显示
const showFile = ref(false) const showFile = ref(false)
@@ -96,11 +89,12 @@ const problemDetail = reactive({
}) })
//处理成效报告 //处理成效报告
const reportPath = ref('') const reportFilePath: any = ref('')
//form表单校验规则 //form表单校验规则
const rules = { const rules = {
takeStep: [{ required: true, message: '请输入采取的措施', trigger: 'blur' }] takeStep: [{ required: true, message: '请输入采取的措施', trigger: 'blur' }],
reportPath: [{ required: true, message: '请上传处理成效报告', trigger: 'blur' }]
} }
const resetForm = () => { const resetForm = () => {
if (formRef.value) { if (formRef.value) {
@@ -108,19 +102,35 @@ const resetForm = () => {
} }
} }
const open = async (text: string, id: string, status: any, issueDetail: string, problemPath?: string, takeStep?: string, reportPath?: string) => { const open = async (
text: string,
id: string,
status: any,
issueDetail: string,
problemPath?: string,
takeStep?: string,
reportPath?: string
) => {
title.value = text title.value = text
resetForm() resetForm()
console.log(66666,reportPath);
if (takeStep) { if (takeStep) {
formData.takeStep = takeStep form.value.takeStep = takeStep
} }
uploadRef.value?.clearFiles() // uploadRef.value?.clearFiles()
if (reportPath) { if (reportPath) {
formData.reportPath = reportPath form.value.reportPath = JSON.parse(
JSON.stringify([
{
name: reportPath?.split('/')[2]
}
])
)
} }
formData.id = id form.value.id = id
formData.status = status form.value.status = status
formData.issueDetail = issueDetail form.value.issueDetail = issueDetail
reportFilePath.value = reportPath
//判断附件是否存在,如果存在则回显出让用户可以点击下载 //判断附件是否存在,如果存在则回显出让用户可以点击下载
if (problemPath) { if (problemPath) {
let arrPath = problemPath.split(',') let arrPath = problemPath.split(',')
@@ -129,33 +139,52 @@ const open = async (text: string, id: string, status: any, issueDetail: string,
problemDetail.problemName = res.data.fileName problemDetail.problemName = res.data.fileName
}) })
showFile.value = true showFile.value = true
}else{ } else {
showFile.value = false showFile.value = false
} }
dialogVisible.value = true dialogVisible.value = true
} }
//移除文件上传
const removeFile = (file: any, uploadFiles: any) => {
console.log(file, uploadFiles)
}
const close = () => {
dialogVisible.value = false
form.value = {
id: '',
status: '',
issueDetail: '',
takeStep: '',
reportPath: []
}
resetForm()
}
/** /**
* 提交用户表单数据 * 提交用户表单数据
*/ */
const submit = () => { const submit = () => {
formRef.value.validate(async (valid: any) => { formRef.value.validate(async (valid: any) => {
if (valid) { if (valid) {
if (!reportPath.value) { let subForm = JSON.parse(JSON.stringify(form.value))
subForm = {
...subForm,
reportPath: reportFilePath.value
}
if (!reportFilePath.value) {
return ElMessage({ return ElMessage({
message: '请上传处理成效报告', message: '请上传处理成效报告',
type: 'warning' type: 'warning'
}) })
} }
if (formData.status == '3') { if (form.value.status == '3') {
// await quitRunningDeviceUpdate(formData) await updateFeedback(subForm)
ElMessage.success('重新发起成功') ElMessage.success('重新发起成功')
tableStore.index() tableStore.index()
dialogVisible.value = false dialogVisible.value = false
} else { } else {
//此时该告警单处于待反馈状态 //此时该告警单处于待反馈状态
await addFeedback(formData) await addFeedback(subForm)
//查询进线数据避免一直处于loading状态 //查询进线数据避免一直处于loading状态
ElMessage.success('申请成功') ElMessage.success('申请成功')
tableStore.index() tableStore.index()
@@ -167,16 +196,14 @@ const submit = () => {
defineExpose({ open }) defineExpose({ open })
let uploadName = ref('') let uploadName = ref('')
const choose = (e: any) => { const choose = (e: any) => {
uploadFile(e.raw, '/supervision/').then(res => { uploadFile(e.raw, '/supervision/').then(res => {
reportPath.value = res.data.name reportFilePath.value = res.data.name
formData.reportPath = res.data.name form.value.reportPath = res.data.name
}) })
} }
const handleExceed: UploadProps['onExceed'] = files => { const handleExceed: UploadProps['onExceed'] = files => {
uploadRef.value!.clearFiles() uploadRef.value!.clearFiles()
const file = files[0] as UploadRawFile const file = files[0] as UploadRawFile
@@ -190,7 +217,7 @@ const uploadFileName = val => {
} }
</script> </script>
<style scoped lang='scss'> <style scoped lang="scss">
.el-upload-list__item { .el-upload-list__item {
transition: none !important; transition: none !important;
} }
@@ -198,6 +225,4 @@ const uploadFileName = val => {
.el-select { .el-select {
min-width: 180px; min-width: 180px;
} }
</style> </style>

View File

@@ -7,7 +7,9 @@
<el-tab-pane label="预警单列表" name="3"> <el-tab-pane label="预警单列表" name="3">
<earlyWarn v-if="activeName == '3'" /> <earlyWarn v-if="activeName == '3'" />
</el-tab-pane> </el-tab-pane>
<el-tab-pane label="告警单列表" name="4"><alarm v-if="activeName == '4'" /></el-tab-pane> <el-tab-pane label="告警单列表" name="4">
<alarm v-if="activeName == '4'" />
</el-tab-pane>
</el-tabs> </el-tabs>
</div> </div>
</template> </template>

View File

@@ -38,7 +38,12 @@ import { setTempLinedebugLedgerSync } from '@/api/supervision-boot/jointDebugLis
import debug from './debug.vue' import debug from './debug.vue'
import { any } from 'vue-types' import { any } from 'vue-types'
const dictData = useDictData() const dictData = useDictData()
const { push } = useRouter() const { push, beforeEach } = useRouter()
beforeEach((to, from) => {
if (from.path == '/bpm/instanceDetail') {
console.log('联调333')
}
})
const TableHeaderRef = ref() const TableHeaderRef = ref()
const tableRef = ref() const tableRef = ref()
const areaOptionList = dictData.getBasicData('jibei_area') const areaOptionList = dictData.getBasicData('jibei_area')

View File

@@ -161,33 +161,33 @@
></el-option> ></el-option>
</el-select> </el-select>
</el-form-item> </el-form-item>
<el-form-item for="-" label="PT变比" prop="ptRatio"> <el-form-item for="-" label="PT变比" prop="pt1">
<el-input <el-input
style="width: 48%" style="width: 48%"
v-model="form.ptRatio" v-model="form.pt1"
autocomplete="off" autocomplete="off"
placeholder="请输入PT变比" placeholder="请输入PT变比"
oninput="value=value.replace(/[^0-9.]/g,'')" oninput="value=value.replace(/[^0-9.]/g,'')"
/> />
<el-input <el-input
style="width: 48%" style="width: 48%"
v-model="form.ptRatio2" v-model="form.pt2"
autocomplete="off" autocomplete="off"
placeholder="请输入PT变比" placeholder="请输入PT变比"
oninput="value=value.replace(/[^0-9.]/g,'')" oninput="value=value.replace(/[^0-9.]/g,'')"
/> />
</el-form-item> </el-form-item>
<el-form-item for="-" label="CT变比" prop="ctRatio"> <el-form-item for="-" label="CT变比" prop="ct1">
<el-input <el-input
v-model="form.ctRatio" v-model="form.ct1"
style="width: 48%" style="width: 48%"
autocomplete="off" autocomplete="off"
oninput="value=value.replace(/[^0-9.]/g,'')" oninput="value=value.replace(/[^0-9.]/g,'')"
placeholder="请输入CT变比" placeholder="请输入CT变比"
/> />
<el-input <el-input
v-model="form.ctRatio2" v-model="form.ct2"
style="width: 48%" style="width: 48%"
autocomplete="off" autocomplete="off"
oninput="value=value.replace(/[^0-9.]/g,'')" oninput="value=value.replace(/[^0-9.]/g,'')"
@@ -304,8 +304,8 @@
</el-form-item> </el-form-item>
<el-form-item for="-" label="是否参与统计:" prop="isStatistical"> <el-form-item for="-" label="是否参与统计:" prop="isStatistical">
<el-radio-group v-model="form.isStatistical"> <el-radio-group v-model="form.isStatistical">
<el-radio value="1"></el-radio> <el-radio :value="1"></el-radio>
<el-radio value="0"></el-radio> <el-radio :value="0"></el-radio>
</el-radio-group> </el-radio-group>
</el-form-item> </el-form-item>
<!-- <el-form-item for="-" label="对象名称(对端)" prop="objName"> <!-- <el-form-item for="-" label="对象名称(对端)" prop="objName">
@@ -316,8 +316,8 @@
</el-form-item> </el-form-item>
<el-form-item for="-" label="是否并网点:" prop="isGridConnectionPoint"> <el-form-item for="-" label="是否并网点:" prop="isGridConnectionPoint">
<el-radio-group v-model="form.isGridConnectionPoint"> <el-radio-group v-model="form.isGridConnectionPoint">
<el-radio value="1"></el-radio> <el-radio :value="1"></el-radio>
<el-radio value="0"></el-radio> <el-radio :value="0"></el-radio>
</el-radio-group> </el-radio-group>
</el-form-item> </el-form-item>
<el-form-item for="-" label="主接线图:" prop="mainWiringDiagram" class="uploadFile"> <el-form-item for="-" label="主接线图:" prop="mainWiringDiagram" class="uploadFile">
@@ -427,15 +427,15 @@ const operationStatusList = [
//定义接线方式下拉框数据 //定义接线方式下拉框数据
const ptTypeList = [ const ptTypeList = [
{ {
id: '0', id: 0,
name: '星型接法' name: '星型接法'
}, },
{ {
id: '1', id: 1,
name: '三角型接法' name: '三角型接法'
}, },
{ {
id: '2', id: 2,
name: '开口三角型接法' name: '开口三角型接法'
} }
] ]
@@ -527,16 +527,16 @@ const resetForm = () => {
//监测点信息实体 //监测点信息实体
businessType: '', // 干扰源类别 businessType: '', // 干扰源类别
connectedBus: '', // 接入母线 connectedBus: '', // 接入母线
ctRatio: '300', //CT变比 ct1: 300, //CT变比1
ctRatio2: '5', //CT变比2 ct2: 5, //CT变比2
ptRatio: 1, // PT变比 pt1: 1, // PT变比1
ptRatio2: 1, // PT变比2 pt2: 1, // PT变比2
shortCapacity: '10', // 短路容量 shortCapacity: '10', // 短路容量
dealCapacity: '10', //协议容量 dealCapacity: '10', //协议容量
devCapacity: '10', //设备容量 devCapacity: '10', //设备容量
standardCapacity: '10', //基准容量 standardCapacity: '10', //基准容量
isGridConnectionPoint: '0', //是否并网点 isGridConnectionPoint: 0, //是否并网点
isStatistical: '0', // 是否参与统计 isStatistical: 0, // 是否参与统计
lineId: '', // 监测点编码 lineId: '', // 监测点编码
lineName: '', // 监测点名称 lineName: '', // 监测点名称
loadType: '', //干扰源类型 loadType: '', //干扰源类型
@@ -558,18 +558,22 @@ const resetForm = () => {
userNameList.value = res.data userNameList.value = res.data
//初始化 //初始化
let obj = res.data[0] let obj = res.data[0]
form.value = {
...form.value, console.log(obj,"99999999");
city: obj.city, if (title.value != '重新发起') {
reporter: obj.reporter, form.value = {
reporterName: obj.reporterName, ...form.value,
reportDate: obj.reportDate, city: obj.city,
orgId: obj.orgId, reporter: obj.reporter,
orgName: obj.orgName, reporterName: obj.reporterName,
expectedProductionDate: obj.expectedProductionDate, reportDate: obj.reportDate,
userName: userNameList.value[0]?.projectName, orgId: obj.orgId,
userId: userNameList.value[0]?.id, orgName: obj.orgName,
objName: userNameList.value[0]?.projectName expectedProductionDate: obj.expectedProductionDate,
userName: userNameList.value[0]?.projectName,
userId: userNameList.value[0]?.id,
objName: userNameList.value[0]?.projectName
}
} }
}) })
changevoltageDeviationLimit() changevoltageDeviationLimit()
@@ -594,12 +598,12 @@ const changevoltageDeviationLimit = async () => {
} }
//PT变比 电压<0.48kv 1:1 电压>0.48 *1000/100 //PT变比 电压<0.48kv 1:1 电压>0.48 *1000/100
if (Number(val) <= 0.48) { if (Number(val) <= 0.48) {
form.value.ptRatio = 1 form.value.pt1 = 1
form.value.ptRatio2 = 1 form.value.pt2 = 1
} }
if (Number(val) > 0.48) { if (Number(val) > 0.48) {
form.value.ptRatio = val * 10 form.value.pt1 = val * 10
form.value.ptRatio2 = 1 form.value.pt2 = 1
} }
} }
findAllMonitoringTerminalList() findAllMonitoringTerminalList()
@@ -637,6 +641,8 @@ const changeUserName = () => {
let obj: any = projectList.value.find((item: any) => { let obj: any = projectList.value.find((item: any) => {
return form.value.userName == item.id return form.value.userName == item.id
}) })
// console.log(userNameList.value,11111,projectList.value);
console.log(obj,"88888888");
form.value = { form.value = {
...form.value, ...form.value,
city: obj?.city, city: obj?.city,
@@ -761,14 +767,14 @@ const rules = ref({
trigger: 'blur' trigger: 'blur'
} }
], ],
ctRatio: [ ct1: [
{ {
required: true, required: true,
message: '请输入CT变化', message: '请输入CT变化',
trigger: 'blur' trigger: 'blur'
} }
], ],
ptRatio: [ pt1: [
{ {
required: true, required: true,
message: '请输入PT变化', message: '请输入PT变化',
@@ -867,37 +873,35 @@ const rules = ref({
} }
] ]
}) })
watch(
() => form.value,
(val, oldVal) => {},
{
deep: true,
immediate: true
}
)
const resendId = ref('') const resendId = ref('')
const rowValue:any=ref({})
const open = (row: any) => { const open = (row: any) => {
dialogFormVisible.value = true dialogFormVisible.value = true
title.value = row.title
//初始化数据 //初始化数据
resetForm() resetForm()
title.value = row.title
nextTick(() => { nextTick(() => {
if (row.row) { if (row.row) {
resendId.value = row.row.id resendId.value = row.row.id
getTempLineDetailsById({ id: row.row.id }).then(res => { rowValue.value=row.row
form.value = res.data getTempLineDetailsById({ id: row.row.id }).then(res => {
form.value.loadType = loadTypeList.value.filter((item: any) => item.name == res.data.loadType)[0]?.id form.value = res.data
form.value.businessType = businessTypeList.value.filter( form.value.loadType = loadTypeList.value.filter((item: any) => item.name == res.data.loadType)[0]?.id
(item: any) => item.name == res.data.businessType form.value.businessType = businessTypeList.value.filter(
)[0]?.id (item: any) => item.name == res.data.businessType
form.value.mainWiringDiagram = [ )[0]?.id
mainWiringDiagram.value = JSON.parse(JSON.stringify(res.data.mainWiringDiagram))
form.value.mainWiringDiagram = JSON.parse(
JSON.stringify([
{ {
name: res.data.mainWiringDiagram.split('/')[2] name: res.data.mainWiringDiagram.split('/')[2]
} }
] ])
mainWiringDiagram.value = res.data.mainWiringDiagram )
}) })
} } else {
resendId.value = ''
}
}) })
} }
const close = () => { const close = () => {
@@ -911,6 +915,27 @@ const close = () => {
onMounted(() => { onMounted(() => {
console.log() console.log()
}) })
watch(
() => projectList.value,
(val, oldVal) => {
if(val&&val.length!=0&&resendId.value){
let obj: any = projectList.value.find((item: any) => {
return rowValue.value.createBy == item.createBy
})
console.log(projectList.value, '000000', obj, rowValue.value.createBy)
form.value = {
...form.value,
reporter: obj?.reporter,
reporterName: obj?.reporterName
}
}
},
{
deep: true,
immediate: true
}
)
// 上传报告 // 上传报告
const uploadRef = ref() const uploadRef = ref()
const handleExceed: UploadProps['onExceed'] = files => { const handleExceed: UploadProps['onExceed'] = files => {
@@ -959,9 +984,15 @@ const confirmForm = () => {
//处理填报日期时间格式 //处理填报日期时间格式
form.value.reportDate = window.XEUtils.toDateString(form.value.reportDate, 'yyyy-MM-dd') form.value.reportDate = window.XEUtils.toDateString(form.value.reportDate, 'yyyy-MM-dd')
let confirmFormData = JSON.parse(JSON.stringify(form.value)) let confirmFormData = JSON.parse(JSON.stringify(form.value))
if (!mainWiringDiagram.value) { if (!form.value.pt1 || !form.value.pt2) {
return ElMessage({ return ElMessage({
message: '请上传主接线图', message: '请输入PT变比',
type: 'warning'
})
}
if (!form.value.ct1 || !form.value.ct2) {
return ElMessage({
message: '请输入CT变比',
type: 'warning' type: 'warning'
}) })
} }
@@ -969,9 +1000,9 @@ const confirmForm = () => {
confirmFormData = { confirmFormData = {
...confirmFormData, ...confirmFormData,
lineFilePath: lineFilePath?.value, //监测点信息 lineFilePath: lineFilePath?.value, //监测点信息
mainWiringDiagram: mainWiringDiagram.value, //主接线图 mainWiringDiagram: mainWiringDiagram.value //主接线图
ptRatio: form.value.ptRatio / form.value.ptRatio2, //PT变比 // pt1: form.value.pt1 / form.value.pt2, //PT变比
ctRatio: form.value.ctRatio / form.value.ctRatio2 //CT变比 // ct1: form.value.ct1 / form.value.ct2 //CT变比
} }
if (title.value == '监测点信息') { if (title.value == '监测点信息') {
addMointorPointFormData(confirmFormData).then(res => { addMointorPointFormData(confirmFormData).then(res => {
@@ -985,6 +1016,7 @@ const confirmForm = () => {
}) })
} else { } else {
confirmFormData.id = resendId.value confirmFormData.id = resendId.value
console.log(confirmFormData, '99999999999')
updateMointorPointFormData(confirmFormData).then(res => { updateMointorPointFormData(confirmFormData).then(res => {
if (res.code == 'A0000') { if (res.code == 'A0000') {
ElMessage({ ElMessage({

View File

@@ -62,10 +62,10 @@
{{ detailData.standardCapacity }} {{ detailData.standardCapacity }}
</el-descriptions-item> </el-descriptions-item>
<el-descriptions-item label="CT变比"> <el-descriptions-item label="CT变比">
{{ detailData.ctRatio }} {{ detailData.ct1 }}{{ detailData.ct2?'/'+detailData.ct2:'' }}
</el-descriptions-item> </el-descriptions-item>
<el-descriptions-item label="PT变比"> <el-descriptions-item label="PT变比">
{{ detailData.ptRatio }} {{ detailData.pt1 }}{{ detailData.pt2?'/'+detailData.pt2:'' }}
</el-descriptions-item> </el-descriptions-item>
<el-descriptions-item label="监测点编码"> <el-descriptions-item label="监测点编码">
{{ detailData.lineId }} {{ detailData.lineId }}

View File

@@ -35,8 +35,21 @@ import { useRouter } from 'vue-router'
import { useDictData } from '@/stores/dictData' import { useDictData } from '@/stores/dictData'
import { getLoadTypeUserList } from '@/api/process-boot/interference' import { getLoadTypeUserList } from '@/api/process-boot/interference'
import addForm from './addForm.vue' import addForm from './addForm.vue'
import { useAdminInfo } from '@/stores/adminInfo'
import { ElMessage } from 'element-plus'
import { ElMessageBox } from 'element-plus/es'
import { cancelMointorPointFormData } from '@/api/supervision-boot/monitorpoint/index'
//获取登陆用户姓名和部门
const adminInfo = useAdminInfo()
const dictData = useDictData() const dictData = useDictData()
const { push } = useRouter() const { push, beforeEach } = useRouter()
beforeEach((to, from) => {
if (from.path == '/bpm/instanceDetail') {
if (to.path == '/admin/terminalNetwotk') {
console.log('监测点2222')
}
}
})
const TableHeaderRef = ref() const TableHeaderRef = ref()
const tableRef = ref() const tableRef = ref()
const areaOptionList = dictData.getBasicData('jibei_area') const areaOptionList = dictData.getBasicData('jibei_area')
@@ -94,7 +107,7 @@ const tableStore = new TableStore({
icon: 'el-icon-EditPen', icon: 'el-icon-EditPen',
render: 'basicButton', render: 'basicButton',
click: row => { click: row => {
handleAudit(row.processInstanceId,row.historyInstanceId) handleAudit(row.processInstanceId, row.historyInstanceId)
} }
}, },
{ {
@@ -104,7 +117,9 @@ const tableStore = new TableStore({
icon: 'el-icon-Open', icon: 'el-icon-Open',
render: 'basicButton', render: 'basicButton',
disabled: row => { disabled: row => {
return row.status == 1 || row.status == 2 return (
row.createBy != adminInfo.$state.id || row.status !=3
)
}, },
click: row => { click: row => {
addForms.value.open({ addForms.value.open({
@@ -120,10 +135,10 @@ const tableStore = new TableStore({
icon: 'el-icon-Open', icon: 'el-icon-Open',
render: 'basicButton', render: 'basicButton',
disabled: row => { disabled: row => {
return row.status == 3 || row.status == 2 || row.status == 4 return row.createBy != adminInfo.$state.id || row.status !=1
}, },
click: row => { click: row => {
// cancelLeave(row) cancelLeave(row)
} }
} }
] ]
@@ -150,7 +165,26 @@ const addFormModel = () => {
}) })
}, 0) }, 0)
} }
/**取消流程操作*/
const cancelLeave = async (row: any) => {
// 二次确认
const { value } = await ElMessageBox.prompt('请输入取消原因', '取消流程', {
confirmButtonText: '确定',
cancelButtonText: '取消',
inputPattern: /^[\s\S]*.*\S[\s\S]*$/, // 判断非空,且非空格
inputErrorMessage: '取消原因不能为空'
})
// 发起取消
let data = {
id: row.id,
processInstanceId: row.processInstanceId,
reason: value
}
await cancelMointorPointFormData(data)
ElMessage.success('取消成功')
// 加载数据
tableStore.index()
}
const exportEvent = () => { const exportEvent = () => {
let form = JSON.parse(JSON.stringify(tableStore.table.params)) let form = JSON.parse(JSON.stringify(tableStore.table.params))
form.pageNum = 1 form.pageNum = 1
@@ -173,16 +207,15 @@ onMounted(() => {
}) })
/** 处理审批按钮 */ /** 处理审批按钮 */
const handleAudit = (instanceId: any,historyInstanceId:any) => { const handleAudit = (instanceId: any, historyInstanceId: any) => {
push({ push({
name: 'BpmProcessInstanceDetail', name: 'BpmProcessInstanceDetail',
query: { state: {
id: instanceId, id: instanceId,
historyInstanceId historyInstanceId
} }
}) })
} }
</script> </script>
<style scoped lang="scss"> <style scoped lang="scss">

View File

@@ -727,7 +727,6 @@ const getFrontEndMachineList = () => {
}) })
} }
const changeSubstationFlag = () => { const changeSubstationFlag = () => {
console.log(form.value.customSubstaionFlag)
//处理所属变电站手都输入/下拉数据 //处理所属变电站手都输入/下拉数据
if (form.value.customSubstaionFlag == '0') { if (form.value.customSubstaionFlag == '0') {
form.value.substationName = substationList.value.find((item: any) => { form.value.substationName = substationList.value.find((item: any) => {
@@ -1378,6 +1377,8 @@ const open = async (row: any) => {
performanceTestReport.value = res.data.performanceTestReport performanceTestReport.value = res.data.performanceTestReport
informationSecurityTestReport.value = res.data.informationSecurityTestReport informationSecurityTestReport.value = res.data.informationSecurityTestReport
otherAttachments.value = res.data.otherAttachments otherAttachments.value = res.data.otherAttachments
form.value.reporter = adminInfo.$state.name
form.value.orgId = adminInfo.$state.deptName
}) })
} }
} }
@@ -1423,10 +1424,11 @@ const confirmForm = () => {
} }
}) })
} else { } else {
confirmFormData.reporter = adminInfo.$state.id
confirmFormData.orgId = adminInfo.$state.deptId
console.log(confirmFormData) console.log(confirmFormData)
form.value.orgId = adminInfo.$state.deptName
confirmFormData.supervisionTempDeviceReportParam.commissioningTime = confirmFormData.supervisionTempDeviceReportParam.commissioningTime =
confirmFormData.supervisionTempDeviceReportParam.commissioningTime.replace('T', ' ') confirmFormData.supervisionTempDeviceReportParam.commissioningTime.replace('T', ' ')
confirmFormData.id = resendId.value confirmFormData.id = resendId.value
updateTerminalFormData(confirmFormData).then((res: any) => { updateTerminalFormData(confirmFormData).then((res: any) => {
if (res.code == 'A0000') { if (res.code == 'A0000') {

View File

@@ -19,9 +19,22 @@ import TableHeader from '@/components/table/header/index.vue'
import { useRouter } from 'vue-router' import { useRouter } from 'vue-router'
import { useDictData } from '@/stores/dictData' import { useDictData } from '@/stores/dictData'
import { getLoadTypeUserList } from '@/api/process-boot/interference' import { getLoadTypeUserList } from '@/api/process-boot/interference'
import { ElMessage } from 'element-plus'
import { ElMessageBox } from 'element-plus/es'
import { cancelTerminalFormData } from '@/api/supervision-boot/terminal/index'
import addForm from './addForm.vue' import addForm from './addForm.vue'
import { useAdminInfo } from '@/stores/adminInfo'
//获取登陆用户姓名和部门
const adminInfo = useAdminInfo()
const dictData = useDictData() const dictData = useDictData()
const { push } = useRouter() const { push, beforeEach } = useRouter()
beforeEach((to, from) => {
if (from.path == '/bpm/instanceDetail') {
if (to.path == '/admin/terminalNetwotk') {
console.log('终端1111')
}
}
})
const TableHeaderRef = ref() const TableHeaderRef = ref()
const tableRef = ref() const tableRef = ref()
const areaOptionList = dictData.getBasicData('jibei_area') const areaOptionList = dictData.getBasicData('jibei_area')
@@ -134,7 +147,7 @@ const tableStore = new TableStore({
icon: 'el-icon-Open', icon: 'el-icon-Open',
render: 'basicButton', render: 'basicButton',
disabled: row => { disabled: row => {
return row.status == 1 || row.status == 2 return row.createBy != adminInfo.$state.id || row.status != 3
}, },
click: row => { click: row => {
addForms.value.open({ addForms.value.open({
@@ -150,10 +163,10 @@ const tableStore = new TableStore({
icon: 'el-icon-Open', icon: 'el-icon-Open',
render: 'basicButton', render: 'basicButton',
disabled: row => { disabled: row => {
return row.status == 3 || row.status == 2 || row.status == 4 return row.createBy != adminInfo.$state.id || row.status != 1
}, },
click: row => { click: row => {
// cancelLeave(row) cancelLeave(row)
} }
} }
] ]
@@ -179,7 +192,26 @@ const addFormModel = () => {
}) })
}, 0) }, 0)
} }
/**取消流程操作*/
const cancelLeave = async (row: any) => {
// 二次确认
const { value } = await ElMessageBox.prompt('请输入取消原因', '取消流程', {
confirmButtonText: '确定',
cancelButtonText: '取消',
inputPattern: /^[\s\S]*.*\S[\s\S]*$/, // 判断非空,且非空格
inputErrorMessage: '取消原因不能为空'
})
// 发起取消
let data = {
id: row.id,
processInstanceId: row.processInstanceId,
reason: value
}
await cancelTerminalFormData(data)
ElMessage.success('取消成功')
// 加载数据
tableStore.index()
}
const exportEvent = () => { const exportEvent = () => {
let form = JSON.parse(JSON.stringify(tableStore.table.params)) let form = JSON.parse(JSON.stringify(tableStore.table.params))
form.pageNum = 1 form.pageNum = 1