新增混炼示方密炼PS审批联动同步审批人功能,优化混炼示方的编辑与删除权限控制,增强用户交互体验。
This commit is contained in:
@@ -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 },
|
||||
|
||||
@@ -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>
|
||||
|
||||
Reference in New Issue
Block a user