新增混炼示方密炼PS审批联动同步审批人功能,优化混炼示方的编辑与删除权限控制,增强用户交互体验。

This commit is contained in:
geht
2026-05-26 11:15:00 +08:00
parent 7786369a63
commit c70f7b2b90
6 changed files with 98 additions and 3 deletions

View File

@@ -1240,9 +1240,20 @@ export function resolveMixingSpecFormulaStatus(record: Recordable = {}): string
if (record.approveTime) {
return '审批通过';
}
if (record.auditTime) {
return '审核通过';
}
if (record.proofreadTime) {
return '校对通过';
}
return '编制中';
}
/** 混炼示方是否允许编辑/删除与配合示方一致密炼PS校对后锁定 */
export function isMixingSpecEditable(record: Recordable = {}): boolean {
return !record?.proofreadBy && !record?.proofreadTime;
}
/** 参照历史混合步骤:混炼示方选择列表列 */
export const mixingSpecHistorySelectColumns: BasicColumn[] = [
{ title: '示方编号', align: 'center', dataIndex: 'specName', width: 160 },

View File

@@ -37,8 +37,11 @@
import { useListPage } from '/@/hooks/system/useListPage';
import Icon from '/@/components/Icon';
import MesXslMixingSpecModal from './components/MesXslMixingSpecModal.vue';
import { columns, searchFormSchema } from './MesXslMixingSpec.data';
import { columns, searchFormSchema, isMixingSpecEditable } from './MesXslMixingSpec.data';
import { list, deleteOne, batchDelete, getExportUrl, getImportUrl } from './MesXslMixingSpec.api';
import { useMessage } from '/@/hooks/web/useMessage';
const { createMessage } = useMessage();
const queryParam = reactive<any>({});
const [registerModal, { openModal }] = useModal();
@@ -81,6 +84,10 @@
}
function handleEdit(record: Recordable) {
if (!isMixingSpecEditable(record)) {
createMessage.warning('已进入审批流程的混炼示方不允许编辑');
return;
}
openModal(true, { record, isUpdate: true, showFooter: true });
}
@@ -89,6 +96,10 @@
}
function handleDelete(record: Recordable) {
if (!isMixingSpecEditable(record)) {
createMessage.warning('已进入审批流程的混炼示方不允许删除');
return;
}
deleteOne({ id: record.id }, handleSuccess);
}
@@ -102,14 +113,30 @@
}
function getTableActions(record: Recordable) {
const editable = isMixingSpecEditable(record);
return [
{ label: '编辑', onClick: handleEdit.bind(null, record), auth: 'xslmes:mes_xsl_mixing_spec:edit' },
{ label: '详情', onClick: handleDetail.bind(null, record) },
{
label: '编辑',
onClick: handleEdit.bind(null, record),
auth: 'xslmes:mes_xsl_mixing_spec:edit',
ifShow: editable,
},
{
label: '详情',
onClick: handleDetail.bind(null, record),
ifShow: !editable,
},
{
label: '删除',
auth: 'xslmes:mes_xsl_mixing_spec:delete',
ifShow: editable,
popConfirm: { title: '是否确认删除', confirm: handleDelete.bind(null, record) },
},
{
label: '详情',
onClick: handleDetail.bind(null, record),
ifShow: editable,
},
];
}
</script>