!19 feat(dq): 新增整改任务BPM审批界面及extendUrlParams权限控制架构
* feat(dq): 新增整改任务BPM审批界面及extendUrlParams权限控制架构 * feat(dq): 整改任务列表新增查询督办流程按钮并清理未使用导入 * style(dq): 优化整改任务表单为双列分区布局参考BgXiSpeakForm样式 * feat(dq): 整改任务列表新增FlowScheduleStartModal流程调度和弹窗式反馈查看 * feat(dq): 新增反馈查看弹窗组件并在进展列表中集成查看反馈按钮 * fix(dq): 修正巡视工作进展反馈查询接口地址并与Controller对齐 * fix(dq): 修正巡视工作进展反馈API地址与后端Controller对齐 * feat(dq): 新增整改任务列表发起流程和查看反馈按钮 * feat(dq): 新增巡视工作进展反馈页面
This commit is contained in:
@@ -0,0 +1,151 @@
|
||||
<template>
|
||||
<j-modal
|
||||
:title="title"
|
||||
:width="1000"
|
||||
:visible="visible"
|
||||
:okButtonProps="{ class: { 'jee-hidden': true } }"
|
||||
@cancel="handleCancel"
|
||||
cancelText="关闭"
|
||||
>
|
||||
<BasicTable
|
||||
size="small"
|
||||
rowKey="id"
|
||||
:canResize="false"
|
||||
:showIndexColumn="false"
|
||||
:showActionColumn="false"
|
||||
:showTableSetting="false"
|
||||
:clickToRowSelect="false"
|
||||
:columns="columns"
|
||||
:dataSource="feedbackTableData"
|
||||
:loading="loading"
|
||||
:pagination="false"
|
||||
:bordered="false"
|
||||
>
|
||||
<template #bodyCell="{ column, record }">
|
||||
<template v-if="column.key === 'attachments'">
|
||||
<SUploadFile
|
||||
v-if="record.id"
|
||||
class="feedback-view-attachment-list"
|
||||
:bussiness-id="record.id"
|
||||
:disabled="true"
|
||||
:multiple="true"
|
||||
/>
|
||||
<span v-else>-</span>
|
||||
</template>
|
||||
</template>
|
||||
</BasicTable>
|
||||
</j-modal>
|
||||
</template>
|
||||
|
||||
<script lang="ts" setup>
|
||||
import { ref, computed, defineExpose } from 'vue';
|
||||
import { BasicTable } from '/@/components/Table';
|
||||
import type { BasicColumn } from '/@/components/Table';
|
||||
import JModal from '/@/components/Modal/src/JModal/JModal.vue';
|
||||
import SUploadFile from '/@/components/semri/fileComponent/SUploadFile.vue';
|
||||
import { list } from '../DqInspectProgress.api';
|
||||
|
||||
const visible = ref(false);
|
||||
const loading = ref(false);
|
||||
const feedbackTableData = ref<Recordable[]>([]);
|
||||
|
||||
const title = computed(() => {
|
||||
const count = loading.value ? '加载中' : `${feedbackTableData.value.length} 条`;
|
||||
return `反馈信息(${count})`;
|
||||
});
|
||||
|
||||
const columns: BasicColumn[] = [
|
||||
{
|
||||
title: '反馈人',
|
||||
dataIndex: 'feedbackPersonName',
|
||||
align: 'center',
|
||||
width: 100,
|
||||
},
|
||||
{
|
||||
title: '反馈部门',
|
||||
dataIndex: 'feedbackDeptName',
|
||||
align: 'center',
|
||||
width: 140,
|
||||
},
|
||||
{
|
||||
title: '工作进展',
|
||||
dataIndex: 'workProgress',
|
||||
align: 'left',
|
||||
ellipsis: true,
|
||||
},
|
||||
{
|
||||
title: '实际完成时间',
|
||||
dataIndex: 'actualTime',
|
||||
align: 'center',
|
||||
width: 120,
|
||||
},
|
||||
{
|
||||
title: '进展状态',
|
||||
dataIndex: 'bpmStatus_dictText',
|
||||
align: 'center',
|
||||
width: 100,
|
||||
},
|
||||
{
|
||||
title: '附件',
|
||||
dataIndex: 'id',
|
||||
key: 'attachments',
|
||||
align: 'left',
|
||||
width: 280,
|
||||
},
|
||||
];
|
||||
|
||||
async function open(mainId: string) {
|
||||
visible.value = true;
|
||||
loading.value = true;
|
||||
try {
|
||||
const res = await list({ mainId, pageNo: 1, pageSize: 9999, column: 'createTime', order: 'desc' });
|
||||
feedbackTableData.value = Array.isArray(res) ? res : res?.records || [];
|
||||
} finally {
|
||||
loading.value = false;
|
||||
}
|
||||
}
|
||||
|
||||
function handleCancel() {
|
||||
visible.value = false;
|
||||
}
|
||||
|
||||
defineExpose({ open });
|
||||
</script>
|
||||
|
||||
<style lang="less" scoped>
|
||||
.feedback-view-attachment-list {
|
||||
min-width: 240px;
|
||||
|
||||
:deep(.file-list-wrapper) {
|
||||
min-height: 40px;
|
||||
max-height: 120px;
|
||||
padding: 4px 8px;
|
||||
}
|
||||
|
||||
:deep(.file-list-header) {
|
||||
margin-bottom: 6px;
|
||||
padding-bottom: 6px;
|
||||
}
|
||||
|
||||
:deep(.file-list .file-item) {
|
||||
padding: 8px;
|
||||
margin-bottom: 6px;
|
||||
}
|
||||
|
||||
:deep(.ant-empty) {
|
||||
margin: 0;
|
||||
padding: 4px 0;
|
||||
|
||||
.ant-empty-image {
|
||||
display: none;
|
||||
}
|
||||
|
||||
.ant-empty-description {
|
||||
font-size: 12px;
|
||||
color: #999;
|
||||
padding: 0;
|
||||
margin: 0;
|
||||
}
|
||||
}
|
||||
}
|
||||
</style>
|
||||
Reference in New Issue
Block a user