审批按钮优化

This commit is contained in:
‘huanghaiixia’
2025-12-30 15:28:43 +08:00
parent 67b2cf67cf
commit 5d85f99804
14 changed files with 103 additions and 101 deletions

View File

@ -76,14 +76,14 @@ export const columns: BasicColumn[] = [
sorter: true,
},
{
dataIndex: 'securityName',
title: '密级',
componentType: 'select',
align: 'left',
// {
// dataIndex: 'securityName',
// title: '密级',
// componentType: 'select',
// align: 'left',
sorter: true,
},
// sorter: true,
// },
{
dataIndex: 'urgencyName',

View File

@ -23,7 +23,7 @@
</a-select>
</a-form-item>
</a-col>
<a-col :span="8">
<!-- <a-col :span="8">
<a-form-item label="密级" name="securityCode">
<a-select v-model:value="formState.securityCode" :disabled="isDisable" placeholder="请选择密级" style="width: 100%" allow-clear>
<a-select-option v-for="item in optionSelect.securityCodeList" :key="item.code" :value="item.code">
@ -31,7 +31,7 @@
</a-select-option>
</a-select>
</a-form-item>
</a-col>
</a-col> -->
<a-col :span="8">
<a-form-item label="缓急" name="urgencyCode">
<a-select v-model:value="formState.urgencyCode" :disabled="isDisable" placeholder="请选择缓急" style="width: 100%" allow-clear>
@ -157,7 +157,7 @@
urgencyCode: [{ required: true, message: "该项为必填项", trigger: 'change' }],
empName: [{ required: true, message: "该项为必填项", trigger: 'change' }],
bDeptName: [{ required: true, message: "该项为必填项", trigger: 'change' }],
comName: [{ required: true, message: "该项为必填项", trigger: 'change' }],
comName: [{ required: false, message: "该项为必填项", trigger: 'change' }],
dateAppro: [{ required: true, message: "该项为必填项", trigger: 'change' }],
content: [{ required: true, message: "该项为必填项", trigger: 'change' }],

View File

@ -172,7 +172,6 @@
formName: formName,
formId:currentRoute.value.meta.formId,
id: record.id,
status
}
});
} else {
@ -333,7 +332,7 @@
onClick: btnEvent[button.code].bind(null, record),
});
}
if (['edit', 'delete','update'].includes(button.code)) {
if (['edit', 'delete'].includes(button.code)) {
editAndDelBtn.push({
icon: button?.icon,
tooltip: button?.name,
@ -342,11 +341,17 @@
});
}
if (button.code === 'flowRecord') hasFlowRecord = true;
if (record.approCode == 'YSP' && button.code== 'update') {
let idx = actionsList.findIndex(v =>v.tooltip == '变更')
idx<0 && actionsList.push({icon: button?.icon,
tooltip: button?.name,
onClick: btnEvent[button.code].bind(null, record),})
}
});
if (record.workflowData?.enabled) {
//与工作流有关联的表单
if (record.workflowData.status) {
actionsList.unshift(setIndexFlowStatus(record.workflowData))
// actionsList.unshift(setIndexFlowStatus(record.workflowData))
} else {
actionsList = actionsList.concat(editAndDelBtn);
}
@ -356,10 +361,6 @@
actionsList = actionsList.concat(editAndDelBtn);
}
}
if (record.approCode !== 'YSP') {
let idx = actionsList.findIndex(v =>v.tooltip == '变更')
idx>-1 && actionsList.splice(idx, 1)
}
return actionsList;
}
function handleStartwork(record: Recordable) {

View File

@ -7,7 +7,7 @@ export const formConfig = {
export const searchFormSchema: FormSchema[] = [
{
field: 'kNo',
field: 'kName',
label: '合同号',
component: 'Input',
},

View File

@ -172,7 +172,6 @@
formName: formName,
formId:currentRoute.value.meta.formId,
id: record.id,
status
}
});
} else {
@ -341,11 +340,17 @@
});
}
if (button.code === 'flowRecord') hasFlowRecord = true;
if (record.approCode == 'YSP' && button.code== 'update') {
let idx = actionsList.findIndex(v =>v.tooltip == '变更')
idx<0 && actionsList.push({icon: button?.icon,
tooltip: button?.name,
onClick: btnEvent[button.code].bind(null, record),})
}
});
if (record.workflowData?.enabled) {
//与工作流有关联的表单
if (record.workflowData.status) {
actionsList.unshift(setIndexFlowStatus(record.workflowData))
// actionsList.unshift(setIndexFlowStatus(record.workflowData))
} else {
actionsList = actionsList.concat(editAndDelBtn);
}
@ -355,10 +360,6 @@
actionsList = actionsList.concat(editAndDelBtn);
}
}
if (record.approCode !== 'YSP') {
let idx = actionsList.findIndex(v =>v.tooltip == '变更')
idx>-1 && actionsList.splice(idx, 1)
}
return actionsList;
}
function handleStartwork(record: Recordable) {

View File

@ -163,7 +163,7 @@
</a-form-item>
</a-col>
<a-col :span="8">
<a-form-item label="集团持股比例" name="rateShareGn">
<a-form-item label="集团持股比例%" name="rateShareGn">
<a-input-number v-model:value="formState.rateShareGn" :disabled="isDisable" style="width: 100%" :min="0" :max="100"></a-input-number>
</a-form-item>
</a-col>
@ -188,6 +188,13 @@
</a-radio-group>
</a-form-item>
</a-col>
<a-col :span="8">
<a-form-item label="基础设施使用方" name="facSign">
<a-radio-group v-model:value="formState.facSign" :disabled="isDisable">
<a-radio v-for="item in optionSelect.signList" :value="item.code">{{ item.name }}</a-radio>
</a-radio-group>
</a-form-item>
</a-col>
</a-row>
<div style="display:flex">
<h4>电厂业务信息</h4>

View File

@ -15,9 +15,6 @@
</template>
</template>
<template #bodyCell="{ column, record }">
<template v-if="column.dataIndex === 'approCode'">
{{ record.approName }}
</template>
<template v-if="column.dataIndex === 'action'">
<TableAction :actions="getActions(record)" />
</template>
@ -405,7 +402,7 @@
if (record.workflowData?.enabled) {
//与工作流有关联的表单
if (record.workflowData.status) {
actionsList.unshift(setIndexFlowStatus(record.workflowData))
// actionsList.unshift(setIndexFlowStatus(record.workflowData))
} else {
actionsList = actionsList.concat(editAndDelBtn);
}
@ -415,13 +412,6 @@
actionsList = actionsList.concat(editAndDelBtn);
}
}
// if (record.approCode === 'YSP' && record.valid!='有效') {
// let idx = actionsList.findIndex(v =>v.tooltip == '作废')
// idx>-1 && actionsList.splice(idx, 1)
// } else {
// let idx = actionsList.findIndex(v =>v.tooltip == '启用')
// record.valid=='有效' && idx>-1 && actionsList.splice(idx, 1)
// }
return actionsList;
}

View File

@ -331,7 +331,7 @@
if (record.workflowData?.enabled) {
//与工作流有关联的表单
if (record.workflowData.status) {
actionsList.unshift(setIndexFlowStatus(record.workflowData))
// actionsList.unshift(setIndexFlowStatus(record.workflowData))
} else {
actionsList = actionsList.concat(editAndDelBtn);
}

View File

@ -248,6 +248,7 @@
}
async function approvalCreate() {
try {
const params = await getApproveParams();
const nextNodes = await postGetNextTaskMaybeArrival(params);
if (nextNodes.length == 0) {
@ -269,6 +270,11 @@
onFinish({});
}
});
} catch (error) {
loading.value = false;
data.submitLoading = false;
}
}
function flowSuccess() {

View File

@ -80,15 +80,6 @@ export const columns: BasicColumn[] = [
sorter: true,
},
{
dataIndex: 'note',
title: '备注',
componentType: 'textarea',
align: 'left',
sorter: true,
},
];
//表单事件
export const formEventConfigs = {

View File

@ -331,7 +331,7 @@
if (record.workflowData?.enabled) {
//与工作流有关联的表单
if (record.workflowData.status) {
actionsList.unshift(setIndexFlowStatus(record.workflowData))
// actionsList.unshift(setIndexFlowStatus(record.workflowData))
} else {
actionsList = actionsList.concat(editAndDelBtn);
}

View File

@ -99,7 +99,7 @@ export const columns: BasicColumn[] = [
},
{
dataIndex: 'approCode',
dataIndex: 'approName',
title: '审批状态',
componentType: 'input',
align: 'left',

View File

@ -16,13 +16,9 @@
<a-input v-model:value="formState.suMcode" :disabled="isDisable" placeholder="请输入集团编码" />
</a-form-item>
</a-col>
<a-col :span="8">
<a-form-item label="企业性质" name="natureCode">
<a-select v-model:value="formState.natureCode" :disabled="isDisable" placeholder="请选择企业性质" style="width: 100%" allow-clear>
<a-select-option v-for="item in optionSelect.natureCodeList" :key="item.code" :value="item.code">
{{ item.name }}
</a-select-option>
</a-select>
<a-col :span="8">
<a-form-item label="母公司名称" name="parentNname">
<a-input v-model:value="formState.parentNname" :disabled="isDisable" placeholder="请输入母公司名称" />
</a-form-item>
</a-col>
<a-col :span="24">
@ -44,49 +40,13 @@
</a-select>
</a-form-item>
</a-col>
<a-col :span="8">
<a-form-item label="母公司名称" name="parentNname">
<a-input v-model:value="formState.parentNname" :disabled="isDisable" placeholder="请输入母公司名称" />
</a-form-item>
</a-col>
<a-col :span="8">
<a-form-item label="统一社会信用代码" name="creditNo">
<a-input v-model:value="formState.creditNo" :disabled="isDisable" placeholder="请输入统一社会信用代码" />
</a-form-item>
</a-col>
<a-col :span="8">
<a-form-item label="纳税人识别号" name="tiNo">
<a-input v-model:value="formState.tiNo" :disabled="isDisable" placeholder="请输入纳税人识别号" />
</a-form-item>
</a-col>
<a-col :span="8">
<a-form-item label="法定代表人" name="representative">
<a-input v-model:value="formState.representative" :disabled="isDisable" placeholder="请输入法定代表人" />
</a-form-item>
</a-col>
<a-col :span="8">
<a-form-item label="成立日期" name="dateEstab">
<a-date-picker v-model:value="formState.dateEstab" :disabled="isDisable" style="width: 100%" placeholder="请选择成立日期" />
</a-form-item>
</a-col>
<a-col :span="8">
<a-form-item label="准入时间" name="dateEntry">
<a-date-picker v-model:value="formState.dateEntry" :disabled="isDisable" style="width: 100%" placeholder="请选择准入时间" />
</a-form-item>
</a-col>
<a-col :span="8">
<a-form-item label="注册资本(万元)" name="amtReg">
<a-input-number v-model:value="formState.amtReg" :disabled="isDisable" :min="0" style="width: 100%" placeholder="请输入注册资本"/>
</a-form-item>
</a-col>
<a-col :span="24">
<a-form-item label="注册地址" name="addrReg" :label-col="{ span: 3 }" :wrapper-col="{ span: 24 }">
<a-textarea v-model:value="formState.addrReg" :disabled="isDisable" placeholder="请输入注册地址" :auto-size="{ minRows: 1, maxRows: 5 }"/>
</a-form-item>
</a-col>
<a-col :span="24">
<a-form-item label="通讯地址" name="addrMail" :label-col="{ span: 3 }" :wrapper-col="{ span: 24 }">
<a-textarea v-model:value="formState.addrMail" :disabled="isDisable" placeholder="请输入通讯地址" :auto-size="{ minRows: 1, maxRows: 5 }"/>
<a-col :span="8">
<a-form-item label="企业性质" name="natureCode">
<a-select v-model:value="formState.natureCode" :disabled="isDisable" placeholder="请选择企业性质" style="width: 100%" allow-clear>
<a-select-option v-for="item in optionSelect.natureCodeList" :key="item.code" :value="item.code">
{{ item.name }}
</a-select-option>
</a-select>
</a-form-item>
</a-col>
<a-col :span="8">
@ -106,6 +66,36 @@
</a-select-option>
</a-select>
</a-form-item>
</a-col>
<a-col :span="8">
<a-form-item label="统一社会信用代码" name="creditNo">
<a-input v-model:value="formState.creditNo" :disabled="isDisable" placeholder="请输入统一社会信用代码" />
</a-form-item>
</a-col>
<a-col :span="8">
<a-form-item label="纳税人识别号" name="tiNo">
<a-input v-model:value="formState.tiNo" :disabled="isDisable" placeholder="请输入纳税人识别号" />
</a-form-item>
</a-col>
<a-col :span="8">
<a-form-item label="法定代表人" name="representative">
<a-input v-model:value="formState.representative" :disabled="isDisable" placeholder="请输入法定代表人" />
</a-form-item>
</a-col>
<a-col :span="8">
<a-form-item label="注册资本(万元)" name="amtReg">
<a-input-number v-model:value="formState.amtReg" :disabled="isDisable" :min="0" style="width: 100%" placeholder="请输入注册资本"/>
</a-form-item>
</a-col>
<a-col :span="8">
<a-form-item label="成立日期" name="dateEstab">
<a-date-picker v-model:value="formState.dateEstab" :disabled="isDisable" style="width: 100%" placeholder="请选择成立日期" />
</a-form-item>
</a-col>
<a-col :span="8">
<a-form-item label="准入时间" name="dateEntry">
<a-date-picker v-model:value="formState.dateEntry" :disabled="isDisable" style="width: 100%" placeholder="请选择准入时间" />
</a-form-item>
</a-col>
<a-col :span="8">
<a-form-item label="是否有效" name="valid">
@ -116,6 +106,16 @@
</a-select>
</a-form-item>
</a-col>
<a-col :span="24">
<a-form-item label="注册地址" name="addrReg" :label-col="{ span: 3 }" :wrapper-col="{ span: 24 }">
<a-textarea v-model:value="formState.addrReg" :disabled="isDisable" placeholder="请输入注册地址" :auto-size="{ minRows: 1, maxRows: 5 }"/>
</a-form-item>
</a-col>
<a-col :span="24">
<a-form-item label="通讯地址" name="addrMail" :label-col="{ span: 3 }" :wrapper-col="{ span: 24 }">
<a-textarea v-model:value="formState.addrMail" :disabled="isDisable" placeholder="请输入通讯地址" :auto-size="{ minRows: 1, maxRows: 5 }"/>
</a-form-item>
</a-col>
<a-col :span="8">
<a-form-item label="审批状态" name="approCode">
<a-select v-model:value="formState.approCode" disabled style="width: 100%" allow-clear>

View File

@ -71,7 +71,7 @@
const filterColumns = cloneDeep(filterColumnAuth(columns));
const customConfigColums =ref(filterColumns);
const customSearchFormSchema =ref(searchFormSchema);
const selectedKeys = ref<string[]>([]);
const tableRef = ref();
//所有按钮
const buttons = ref([{"isUse":true,"name":"新增","code":"add","icon":"ant-design:plus-outlined","isDefault":true,"type":"primary"},{"isUse":true,"name":"编辑","code":"edit","icon":"ant-design:form-outlined","isDefault":true},{"isUse":true,"name":"启用","code":"enable","icon":"ant-design:form-outlined","isDefault":true,"type":"primary"},{"isUse":true,"name":"作废","code":"disable","icon":"ant-design:stop-outlined","isDefault":true,"type":"dashed"},{"isUse":true,"name":"刷新","code":"refresh","icon":"ant-design:reload-outlined","isDefault":true},{"isUse":true,"name":"查看","code":"view","icon":"ant-design:eye-outlined","isDefault":true},{"isUse":true,"name":"发起审批","code":"startwork","icon":"ant-design:form-outlined","isDefault":true},{"isUse":true,"name":"查看流转记录","code":"flowRecord","icon":"ant-design:form-outlined","isDefault":true},{"isUse":true,"name":"删除","code":"delete","icon":"ant-design:delete-outlined","isDefault":true}]);
@ -142,13 +142,19 @@
dataIndex: 'action',
slots: { customRender: 'action' },
},
rowSelection: {
type: 'checkbox',
onChange: onSelectChange
},
tableSetting: {
size: false,
setting: false,
},
});
function onSelectChange(rowKeys: string[]) {
selectedKeys.value = rowKeys;
}
function dbClickRow(record) {
if (!actionButtonConfig?.value.some(element => element.code == 'view')) {
return;
@ -388,7 +394,7 @@
if (record.workflowData?.enabled) {
//与工作流有关联的表单
if (record.workflowData.status) {
actionsList.unshift(setIndexFlowStatus(record.workflowData))
// actionsList.unshift(setIndexFlowStatus(record.workflowData))
} else {
actionsList = actionsList.concat(editAndDelBtn);
}