修改xispeak前端界面,增加必填项,按照bg给出的新excel表格更新主表子表字段。
This commit is contained in:
@@ -1,86 +1,90 @@
|
||||
<template>
|
||||
<div>
|
||||
<BasicTable @register="registerTable" :rowSelection="rowSelection" :expandedRowKeys="expandedRowKeys" @expand="handleExpand" @fetch-success="onFetchSuccess">
|
||||
<!--插槽:table标题-->
|
||||
<template #tableTitle>
|
||||
<a-button type="primary" v-auth="'bg.xispeak:bg_xi_speak:add'" @click="handleAdd" preIcon="ant-design:plus-outlined">新增</a-button>
|
||||
<a-button type="primary" v-auth="'bg.xispeak:bg_xi_speak:exportXls'" preIcon="ant-design:export-outlined" @click="onExportXls"
|
||||
>导出</a-button
|
||||
>
|
||||
<j-upload-button type="primary" v-auth="'bg.xispeak:bg_xi_speak:importExcel'" preIcon="ant-design:import-outlined" @click="onImportXls"
|
||||
>导入</j-upload-button
|
||||
>
|
||||
<a-dropdown v-if="selectedRowKeys.length > 0">
|
||||
<template #overlay>
|
||||
<a-menu>
|
||||
<a-menu-item key="1" @click="batchHandleDelete">
|
||||
<Icon icon="ant-design:delete-outlined"></Icon>
|
||||
删除
|
||||
</a-menu-item>
|
||||
</a-menu>
|
||||
</template>
|
||||
<a-button v-auth="'bg.xispeak:bg_xi_speak:deleteBatch'"
|
||||
>批量操作
|
||||
<Icon icon="ant-design:down-outlined"></Icon>
|
||||
</a-button>
|
||||
</a-dropdown>
|
||||
<!-- 高级查询 -->
|
||||
<super-query :config="superQueryConfig" @search="handleSuperQuery" />
|
||||
</template>
|
||||
<BasicTable
|
||||
@register="registerTable"
|
||||
:rowSelection="rowSelection"
|
||||
:expandedRowKeys="expandedRowKeys"
|
||||
@expand="handleExpand"
|
||||
@fetch-success="onFetchSuccess"
|
||||
>
|
||||
<!--插槽:table标题-->
|
||||
<template #tableTitle>
|
||||
<a-button type="primary" v-auth="'bg.xispeak:bg_xi_speak:add'" @click="handleAdd" preIcon="ant-design:plus-outlined">新增</a-button>
|
||||
<a-button type="primary" v-auth="'bg.xispeak:bg_xi_speak:exportXls'" preIcon="ant-design:export-outlined" @click="onExportXls">导出</a-button>
|
||||
<j-upload-button type="primary" v-auth="'bg.xispeak:bg_xi_speak:importExcel'" preIcon="ant-design:import-outlined" @click="onImportXls"
|
||||
>导入</j-upload-button
|
||||
>
|
||||
<a-dropdown v-if="selectedRowKeys.length > 0">
|
||||
<template #overlay>
|
||||
<a-menu>
|
||||
<a-menu-item key="1" @click="batchHandleDelete">
|
||||
<Icon icon="ant-design:delete-outlined"></Icon>
|
||||
删除
|
||||
</a-menu-item>
|
||||
</a-menu>
|
||||
</template>
|
||||
<a-button v-auth="'bg.xispeak:bg_xi_speak:deleteBatch'"
|
||||
>批量操作
|
||||
<Icon icon="ant-design:down-outlined"></Icon>
|
||||
</a-button>
|
||||
</a-dropdown>
|
||||
<!-- 高级查询 -->
|
||||
<super-query :config="superQueryConfig" @search="handleSuperQuery" />
|
||||
</template>
|
||||
|
||||
<!--操作栏-->
|
||||
<template #action="{ record }">
|
||||
<TableAction :actions="getTableAction(record)" :dropDownActions="getDropDownAction(record)" />
|
||||
</template>
|
||||
<!--字段回显插槽-->
|
||||
<template v-slot:bodyCell="{ column, record, index, text }"> </template>
|
||||
<!--嵌套子表-->
|
||||
<template #expandedRowRender="{ record }">
|
||||
<div class="feedback-expand-table" v-if="selectedFeedbackId === record.id">
|
||||
<div class="feedback-expand-header">
|
||||
<div class="feedback-expand-title">
|
||||
<span class="feedback-expand-icon">
|
||||
<Icon icon="ant-design:message-outlined" />
|
||||
</span>
|
||||
<span>反馈信息</span>
|
||||
<a-tag class="feedback-expand-count" color="processing">
|
||||
{{ getFeedbackTableLoading(record) ? '加载中' : `${getFeedbackCount(record)} 条` }}
|
||||
</a-tag>
|
||||
</div>
|
||||
<div class="feedback-expand-actions">
|
||||
<a-button type="link" size="small" @click="handleCloseFeedback">收起</a-button>
|
||||
</div>
|
||||
<!--操作栏-->
|
||||
<template #action="{ record }">
|
||||
<TableAction :actions="getTableAction(record)" :dropDownActions="getDropDownAction(record)" />
|
||||
</template>
|
||||
<!--字段回显插槽-->
|
||||
<template v-slot:bodyCell="{ column, record, index, text }"> </template>
|
||||
<!--嵌套子表-->
|
||||
<template #expandedRowRender="{ record }">
|
||||
<div class="feedback-expand-table" v-if="selectedFeedbackId === record.id">
|
||||
<div class="feedback-expand-header">
|
||||
<div class="feedback-expand-title">
|
||||
<span class="feedback-expand-icon">
|
||||
<Icon icon="ant-design:message-outlined" />
|
||||
</span>
|
||||
<span>反馈信息</span>
|
||||
<a-tag class="feedback-expand-count" color="processing">
|
||||
{{ getFeedbackTableLoading(record) ? '加载中' : `${getFeedbackCount(record)} 条` }}
|
||||
</a-tag>
|
||||
</div>
|
||||
<div class="feedback-expand-actions">
|
||||
<a-button type="link" size="small" @click="handleCloseFeedback">收起</a-button>
|
||||
</div>
|
||||
<BasicTable
|
||||
class="feedback-inner-table"
|
||||
bordered
|
||||
size="small"
|
||||
rowKey="id"
|
||||
:canResize="false"
|
||||
:showIndexColumn="false"
|
||||
:showActionColumn="false"
|
||||
:showTableSetting="false"
|
||||
:clickToRowSelect="false"
|
||||
:columns="feedbackExpandColumns"
|
||||
:dataSource="getFeedbackTableData(record)"
|
||||
:loading="getFeedbackTableLoading(record)"
|
||||
:pagination="false"
|
||||
:scroll="{ x: 1220 }"
|
||||
>
|
||||
<template #feedbackAttachments="{ record: feedbackRecord }">
|
||||
<SUploadFile
|
||||
v-if="feedbackRecord.id"
|
||||
class="feedback-attachment-list"
|
||||
:bussiness-id="feedbackRecord.id"
|
||||
:disabled="true"
|
||||
:multiple="true"
|
||||
/>
|
||||
<span v-else>-</span>
|
||||
</template>
|
||||
</BasicTable>
|
||||
</div>
|
||||
</template>
|
||||
</BasicTable>
|
||||
<BasicTable
|
||||
class="feedback-inner-table"
|
||||
bordered
|
||||
size="small"
|
||||
rowKey="id"
|
||||
:canResize="false"
|
||||
:showIndexColumn="false"
|
||||
:showActionColumn="false"
|
||||
:showTableSetting="false"
|
||||
:clickToRowSelect="false"
|
||||
:columns="feedbackExpandColumns"
|
||||
:dataSource="getFeedbackTableData(record)"
|
||||
:loading="getFeedbackTableLoading(record)"
|
||||
:pagination="false"
|
||||
:scroll="{ x: 1220 }"
|
||||
>
|
||||
<template #feedbackAttachments="{ record: feedbackRecord }">
|
||||
<SUploadFile
|
||||
v-if="feedbackRecord.id"
|
||||
class="feedback-attachment-list"
|
||||
:bussiness-id="feedbackRecord.id"
|
||||
:disabled="true"
|
||||
:multiple="true"
|
||||
/>
|
||||
<span v-else>-</span>
|
||||
</template>
|
||||
</BasicTable>
|
||||
</div>
|
||||
</template>
|
||||
</BasicTable>
|
||||
<!-- 表单区域 -->
|
||||
<BgXiSpeakModal ref="registerModal" @success="handleSuccess"></BgXiSpeakModal>
|
||||
<!-- 审批记录 -->
|
||||
@@ -187,7 +191,8 @@
|
||||
},
|
||||
});
|
||||
|
||||
const [registerTable, { reload, collapseAll, updateTableDataRecord, findTableDataRecord, getDataSource }, { rowSelection, selectedRowKeys }] = tableContext;
|
||||
const [registerTable, { reload, collapseAll, updateTableDataRecord, findTableDataRecord, getDataSource }, { rowSelection, selectedRowKeys }] =
|
||||
tableContext;
|
||||
const mainId = computed(() => (unref(selectedRowKeys).length > 0 ? unref(selectedRowKeys)[0] : ''));
|
||||
provide('mainId', mainId);
|
||||
|
||||
@@ -470,7 +475,7 @@
|
||||
|
||||
if (record.bpmStatus == '1' || !record.bpmStatus) {
|
||||
dropDownAction.push({
|
||||
label: '发起督办计划收集流程',
|
||||
label: '发起落实措施收集流程',
|
||||
onClick: handleProcess.bind(null, record),
|
||||
});
|
||||
dropDownAction.push({
|
||||
@@ -508,8 +513,8 @@
|
||||
}
|
||||
|
||||
function getLeadDeptOptions(record) {
|
||||
const deptIds = splitDeptValue(record?.leadDepartment);
|
||||
const deptNames = splitDeptValue(record?.leadDepartment_dictText);
|
||||
const deptIds = splitDeptValue(record?.implDept);
|
||||
const deptNames = splitDeptValue(record?.implDept_dictText);
|
||||
return deptIds.map((deptId, index) => ({
|
||||
value: deptId,
|
||||
label: deptNames[index] || deptId,
|
||||
@@ -528,7 +533,7 @@
|
||||
function handleFeedbackRightNowConfirm({ record, feedbackRightNow }) {
|
||||
pendingFeedbackRightNow.value = feedbackRightNow;
|
||||
flowScheduleModalRef.value?.open({
|
||||
title: '发起督办计划收集流程',
|
||||
title: '发起落实措施收集流程',
|
||||
payload: { record },
|
||||
deptOptions: getLeadDeptOptions(record),
|
||||
showSuoleaderFields: true,
|
||||
@@ -657,7 +662,7 @@
|
||||
title: record.speakStatus,
|
||||
content: record.implStatus,
|
||||
urgencyLevel: record.completionStatus,
|
||||
deptId: options.deptId || record.leadDepartment,
|
||||
deptId: options.deptId || record.implDept,
|
||||
deptLeaderId: record.responsiblePerson,
|
||||
requireFinishDate: formatDate(record.time, 'YYYY-MM-DD'),
|
||||
deadline: record.deadline || formatDate(record.time, 'YYYY-MM-DD HH:mm:ss'),
|
||||
|
||||
Reference in New Issue
Block a user