This commit is contained in:
2024-05-24 09:49:40 +08:00
parent c2b088c931
commit 40ecf804bd
8 changed files with 213 additions and 151 deletions

View File

@@ -7,7 +7,7 @@
<el-tab-pane label="用户投诉" name="2"> <el-tab-pane label="用户投诉" name="2">
<complaints v-if="activeName == '2'" /> <complaints v-if="activeName == '2'" />
</el-tab-pane> </el-tab-pane>
<el-tab-pane label="现场测试问题" name="3"> <el-tab-pane label="普测问题" name="3">
<testQuestions v-if="activeName == '3'" /> <testQuestions v-if="activeName == '3'" />
</el-tab-pane> </el-tab-pane>
<!-- <el-tabs v-model="activeName" type="border-card"> <!-- <el-tabs v-model="activeName" type="border-card">

View File

@@ -1,17 +1,12 @@
<template> <template>
<div class="default-main"> <div class="default-main">
<el-tabs v-model="activeName" type="border-card"> <el-tabs v-model="activeName" type="border-card">
<el-tab-pane label="干扰源用户建档管理" name="1"> <el-tab-pane label="未建档用户档案录入管理" name="1">
<undocumented v-if="activeName == '1'" /> <undocumented v-if="activeName == '1'" />
</el-tab-pane> </el-tab-pane>
<!-- <el-tab-pane label="入网评估报告审核" name="2"><network v-if="activeName == '2'" /></el-tab-pane>-->
<el-tab-pane label="常态化干扰源用户管理" name="3"> <el-tab-pane label="常态化干扰源用户管理" name="3">
<interferenceUserTable v-if="activeName == '3'" /> <interferenceUserTable v-if="activeName == '3'" />
</el-tab-pane> </el-tab-pane>
<!-- <el-tab-pane label="实测报告审核" name="4"><report v-if="activeName == '4'" /></el-tab-pane>-->
<!-- <el-tab-pane label="终端入网检测" name="5">
<terminalNetworkDetection v-if="activeName == '5'"></terminalNetworkDetection>
</el-tab-pane> -->
</el-tabs> </el-tabs>
</div> </div>
</template> </template>

View File

@@ -81,11 +81,22 @@ const tableStore = new TableStore({
{ field: 'createTime', title: '创建时间', minWidth: '150' }, { field: 'createTime', title: '创建时间', minWidth: '150' },
{ {
title: '操作', title: '操作',
width: '180', minWidth: '220',
align: 'center', align: 'center',
render: 'buttons', render: 'buttons',
fixed: 'right', fixed: 'right',
buttons: [ buttons: [
{
name: 'productSetting',
title: '发送督办单',
type: 'primary',
icon: 'el-icon-EditPen',
render: 'basicButton',
click: row => {
// handleAudit(row.processInstanceId)
ElMessage.warning("待打通生成管理系统接口!")
}
},
{ {
name: 'productSetting', name: 'productSetting',
title: '问题反馈', title: '问题反馈',
@@ -99,6 +110,7 @@ const tableStore = new TableStore({
feedbackPopup.value.open('填报反馈单',row.id,row.status) feedbackPopup.value.open('填报反馈单',row.id,row.status)
} }
}, },
{ {
name: 'productSetting', name: 'productSetting',
title: '流程详情', title: '流程详情',

View File

@@ -1,15 +1,15 @@
<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>-->
<!-- </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'
@@ -17,6 +17,7 @@ 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'
const { push } = useRouter() const { push } = useRouter()
const tableRef = ref() const tableRef = ref()
const TableHeaderRef = ref() const TableHeaderRef = ref()
@@ -35,7 +36,8 @@ const tableStore = new TableStore({
return (tableStore.table.params.pageNum - 1) * tableStore.table.params.pageSize + row.rowIndex + 1 return (tableStore.table.params.pageNum - 1) * tableStore.table.params.pageSize + row.rowIndex + 1
} }
}, },
{ field: 'problemType', title: '告警单问题来源', minWidth: '150', {
field: 'problemType', title: '告警单问题来源', minWidth: '150',
render: 'tag', render: 'tag',
custom: { custom: {
1: 'warning', 1: 'warning',
@@ -51,14 +53,15 @@ 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',
2: 'success', 2: 'success',
3: 'danger', 3: 'danger',
4: 'warning', 4: 'warning',
5: 'primary', 5: 'primary'
}, },
replaceValue: { replaceValue: {
1: '审批中', 1: '审批中',
@@ -71,63 +74,74 @@ const tableStore = new TableStore({
{ field: 'createTime', title: '创建时间', minWidth: '150' }, { field: 'createTime', title: '创建时间', minWidth: '150' },
{ {
title: '操作', title: '操作',
width: '180', minWidth: '220',
align: 'center', align: 'center',
render: 'buttons', render: 'buttons',
fixed: 'right', fixed: 'right',
buttons: [ buttons: [
{
name: 'productSetting',
title: '发送督办单',
type: 'primary',
icon: 'el-icon-EditPen',
render: 'basicButton',
click: row => {
// handleAudit(row.processInstanceId)
ElMessage.warning("待打通生成管理系统接口!")
}
},
{ {
name: 'productSetting', name: 'productSetting',
title: '问题反馈', title: '问题反馈',
type: 'primary', type: 'primary',
icon: 'el-icon-EditPen', icon: 'el-icon-EditPen',
render: 'basicButton', render: 'basicButton',
disabled: row => { disabled: row => {
return row.status !== 5 return row.status !== 5
}, },
click: row => { click: row => {
feedbackPopup.value.open('填报反馈单',row.id,row.status) feedbackPopup.value.open('填报反馈单', row.id, row.status)
} }
}, },
{ {
name: 'productSetting', name: 'productSetting',
title: '流程详情', title: '流程详情',
type: 'primary', type: 'primary',
icon: 'el-icon-EditPen', icon: 'el-icon-EditPen',
render: 'basicButton', render: 'basicButton',
disabled: row => { disabled: row => {
return row.status == 5 return row.status == 5
},
click: row => {
handleAudit(row.processInstanceId)
}
}, },
click: row => { {
handleAudit(row.processInstanceId) name: 'edit',
title: '重新发起',
type: 'warning',
icon: 'el-icon-Open',
render: 'basicButton',
disabled: row => {
return row.status == 1 || row.status == 2 || row.status == 4 || row.status == 5
},
click: row => {
// deviceQuitPopup.value.open('重新发起', row)
}
},
{
name: 'cancel',
title: '取消',
type: 'danger',
icon: 'el-icon-Open',
render: 'basicButton',
disabled: row => {
return row.status == 3 || row.status == 2 || row.status == 4 || row.status == 5
},
click: row => {
// cancelLeave(row)
}
} }
},
{
name: 'edit',
title: '重新发起',
type: 'warning',
icon: 'el-icon-Open',
render: 'basicButton',
disabled: row => {
return row.status == 1 || row.status == 2 || row.status == 4 || row.status == 5
},
click: row => {
// deviceQuitPopup.value.open('重新发起', row)
}
},
{
name: 'cancel',
title: '取消',
type: 'danger',
icon: 'el-icon-Open',
render: 'basicButton',
disabled: row => {
return row.status == 3 || row.status == 2 || row.status == 4 || row.status == 5
},
click: row => {
// cancelLeave(row)
}
}
] ]
} }
], ],
@@ -145,13 +159,13 @@ onMounted(() => {
/** 流程实例详情 */ /** 流程实例详情 */
const handleAudit = (instanceId: any) => { const handleAudit = (instanceId: any) => {
push({ push({
name: 'BpmProcessInstanceDetail', name: 'BpmProcessInstanceDetail',
query: { query: {
id: instanceId id: instanceId
} }
}) })
} }
</script> </script>
<style scoped lang="scss"></style> <style scoped lang='scss'></style>

View File

@@ -15,10 +15,11 @@
v-model='formData.takeStep' v-model='formData.takeStep'
autocomplete='off' autocomplete='off'
placeholder='请输入采取的措施' placeholder='请输入采取的措施'
type='textarea'
/> />
</el-form-item> </el-form-item>
<el-form-item label='处理成效报告:' prop='reportPath'> <el-form-item label='反馈报告:' prop='reportPath'>
<el-upload <el-upload
ref='uploadRef' ref='uploadRef'
action='' action=''

View File

@@ -1,21 +1,21 @@
<!--待办事项列表--> <!--待办事项列表-->
<template> <template>
<div class='default-main'> <div class='default-main'>
<TableHeader date-picker> <TableHeader date-picker>
<template v-slot:select> <template v-slot:select>
<el-form-item label='任务名称'> <el-form-item label='任务名称'>
<el-input <el-input
v-model='tableStore.table.params.searchValue' v-model='tableStore.table.params.searchValue'
clearable clearable
placeholder='请输入任务名称' placeholder='请输入任务名称'
/> />
</el-form-item> </el-form-item>
</template> </template>
</TableHeader> </TableHeader>
<!--表格--> <!--表格-->
<Table ref='tableRef'></Table> <Table ref='tableRef'></Table>
</div> </div>
</template> </template>
<script setup lang='ts'> <script setup lang='ts'>
@@ -28,89 +28,92 @@ import { dateFormatter, formatPast2 } from '@/utils/formatTime'
defineOptions({ defineOptions({
name: 'businessUser' name: 'businessUser'
}) })
const { push } = useRouter() const { push } = useRouter()
const tableStore = new TableStore({ const tableStore = new TableStore({
url: '/bpm-boot/bpm/task/doneList', url: '/bpm-boot/bpm/task/doneList',
method: 'POST', method: 'POST',
column: [ publicHeight: 65,
{ title: '序号', type: 'seq', width: 80 }, column: [
{ title: '流程名称', field: 'processInstance.name', minWidth: 130 }, { title: '序号', type: 'seq', width: 80 },
{ title: '发起人', field: 'processInstance.startUser.name', minWidth: 130 }, { title: '任务名称', field: 'processInstance.name', minWidth: 130 },
{ title: '发起部门', field: 'processInstance.startUser.deptName', minWidth: 130 }, { title: '发起', field: 'processInstance.startUser.name', minWidth: 130 },
{ title: '当前任务', field: 'name', minWidth: 130 }, { title: '发起部门', field: 'processInstance.startUser.deptName', minWidth: 130 },
{ title: '发起时间', field: 'createTime', minWidth: 170 }, { title: '当前任务', field: 'name', minWidth: 130 },
{ title: '结束时间', field: 'endTime', minWidth: 170 }, { title: '发起时间', field: 'createTime', minWidth: 170 },
{ { title: '结束时间', field: 'endTime', minWidth: 170 },
title: '审批状态', field: 'status', minWidth: 130,
render: 'tag',
custom: {
1: 'primary',
2: 'success',
3: 'danger',
4: 'warning'
},
replaceValue: {
1: '审批中',
2: '审批通过',
3: '审批不通过',
4: '已取消'
}
},
{ title: '审批建议', field: 'reason', minWidth: 150 },
{ title: '耗时', field: 'durationInMillis', minWidth: 150,
formatter: (obj: any) => {
return formatPast2(obj.row.durationInMillis)
} },
{
title: '操作',
align: 'center',
minWidth: '150',
fixed: 'right',
render: 'buttons',
buttons: [
{ {
name: 'productSetting', title: '审批状态', field: 'status', minWidth: 130,
title: '流程历史', render: 'tag',
type: 'primary', custom: {
icon: 'el-icon-EditPen', 1: 'primary',
render: 'basicButton', 2: 'success',
click: row => { 3: 'danger',
handleAudit(row.processInstance.id) 4: 'warning'
} },
replaceValue: {
1: '审批中',
2: '审批通过',
3: '审批不通过',
4: '已取消'
}
},
{ title: '审批建议', field: 'reason', minWidth: 150 },
{
title: '耗时', field: 'durationInMillis', minWidth: 150,
formatter: (obj: any) => {
return formatPast2(obj.row.durationInMillis)
}
},
{
title: '操作',
align: 'center',
minWidth: '150',
fixed: 'right',
render: 'buttons',
buttons: [
{
name: 'productSetting',
title: '流程详情',
type: 'primary',
icon: 'el-icon-EditPen',
render: 'basicButton',
click: row => {
handleAudit(row.processInstance.id)
}
}
]
}
],
beforeSearchFun: () => {
for (let key in tableStore.table.params) {
if (tableStore.table.params[key] === '') {
delete tableStore.table.params[key]
}
} }
]
}
],
beforeSearchFun: () => {
for (let key in tableStore.table.params) {
if (tableStore.table.params[key] === '') {
delete tableStore.table.params[key]
}
}
} }
}) })
onMounted(() => { onMounted(() => {
// 加载数据 // 加载数据
tableStore.index() tableStore.index()
}) })
tableStore.table.params.searchValue = '' tableStore.table.params.searchValue = ''
provide('tableStore', tableStore) provide('tableStore', tableStore)
/** 处理审批按钮 */ /** 处理审批按钮 */
const handleAudit = (instanceId: any) => { const handleAudit = (instanceId: any) => {
push({ push({
name: 'BpmProcessInstanceDetail', name: 'BpmProcessInstanceDetail',
query: { query: {
id: instanceId id: instanceId
} }
}) })
} }
</script> </script>

View File

@@ -0,0 +1,36 @@
<template>
<div class="default-main">
<el-tabs v-model="activeName" type="border-card">
<el-tab-pane label="待办任务" name="1">
<TodoTask v-if="activeName == '1'" />
</el-tab-pane>
<el-tab-pane label="已办任务" name="2">
<DoneTask v-if="activeName == '2'" />
</el-tab-pane>
</el-tabs>
</div>
</template>
<script setup lang="ts">
import { ref } from 'vue'
import TodoTask from './todo/index.vue'
import DoneTask from './done/index.vue'
import { mainHeight } from '@/utils/layout'
defineOptions({
name: 'bpm/task'
})
const activeName = ref('1')
const layout = mainHeight(63) as any
</script>
<style lang="scss" scoped>
.bars_w {
width: 100%;
height: 500px;
}
:deep(.el-tabs__content) {
height: v-bind('layout.height');
overflow-y: auto;
}
</style>

View File

@@ -36,9 +36,10 @@ const { push } = useRouter()
const tableStore = new TableStore({ const tableStore = new TableStore({
url: '/bpm-boot/bpm/task/todoList', url: '/bpm-boot/bpm/task/todoList',
method: 'POST', method: 'POST',
publicHeight: 65,
column: [ column: [
{ title: '序号', type: 'seq', width: 80 }, { title: '序号', type: 'seq', width: 80 },
{ title: '流程名称', field: 'processInstance.name', minWidth: 130 }, { title: '任务名称', field: 'processInstance.name', minWidth: 130 },
{ title: '发起人', field: 'processInstance.startUser.name', minWidth: 130 }, { title: '发起人', field: 'processInstance.startUser.name', minWidth: 130 },
{ title: '发起部门', field: 'processInstance.startUser.deptName', minWidth: 130 }, { title: '发起部门', field: 'processInstance.startUser.deptName', minWidth: 130 },
{ title: '发起时间', field: 'createTime', minWidth: 170 }, { title: '发起时间', field: 'createTime', minWidth: 170 },