立项选商节点变更

This commit is contained in:
z9130 2024-10-18 16:34:20 +08:00
parent 22fc4c413f
commit 4b7f75cc83
6 changed files with 24 additions and 56 deletions

View File

@ -71,17 +71,11 @@ export default {
contract_approval_flow_node: createEntry('合同立项节点流程', [
{ label: '开始节点', value: 'paStart' },
{ label: '待编制', value: 'paEdit' },
{ label: '待部门自审', value: 'paDepartmentAudit' },
{ label: '立项编制', value: 'paEdit' },
{ label: '立项审批中', value: 'paApproval' },
{ label: '选商编制', value: 'smEdit' },
{ label: '待部门自审', value: 'smDepartmentAudit' },
{ label: '待计划规划部审查', value: 'smPlanningDepartment' },
{ label: '待财务资产部审查', value: 'smFinancialDepartment' },
{ label: '待合规审查(企管法规部)', value: 'smRegulationDepartment' },
{ label: '待主管领导审批', value: 'smManager' },
{ label: '待公司领导审核', value: 'smLeaders' },
{ label: '选商结果填报', value: 'smrEdit' },
{ label: '选商审批中', value: 'smApproval' },
{ label: '选商结果编制', value: 'smrEdit' },
]),
contract_business_flow_node: createEntry('合同选商节点流程', [

View File

@ -14,12 +14,12 @@ import temporaryFormModal from '#/components/temporary-form-modal/temporary-form
import { useVxeTable } from '#/hooks/vxeTable';
import { DICT_TYPE, getDictObj } from '#/utils/dict';
import { FileUploader } from '#/utils/file';
import AuditNodeTable from '#/views/contract/components/audit-node-table/audit-node-table.vue';
import chooseUserModal from '#/views/system/user/choose-user-modal.vue';
import chooseSigningBasisModal from '../signing-basis/choose-signing-basis-modal.vue';
import { getColumns } from '../signing-basis/columns';
import { getFormSchema } from './curd';
import AuditNodeTable from '#/views/contract/components/audit-node-table/audit-node-table.vue';
const { xGridRef, gridProps } = useVxeTable({ ref: 'xGridRef' });
@ -156,7 +156,7 @@ const currAuditType = ref<'abolish' | 'audit'>('audit');
const userListByAbolish = ref([]);
async function handleAbolish(type: 'openModal' | 'confirm') {
async function handleAbolish(type: 'confirm' | 'openModal') {
userModalOpenType.value = 'abolish';
if (type === 'openModal') {
Modal.confirm({
@ -177,7 +177,7 @@ async function handleAbolish(type: 'openModal' | 'confirm') {
try {
await Apis.contractBaseInfo.post_abolishFlowStart({
data: {
guid: currData.value['guid'],
guid: currData.value.guid,
assigneeList: userListByAbolish.value.map((item) => item.ACCOUNT_ID),
},
});
@ -233,7 +233,7 @@ async function handleAbolishAudit(
},
data: {
// appId: id.value,
taskId: taskId,
taskId,
nodeId: '',
comment: '通过',
},
@ -285,7 +285,7 @@ async function handleAbolishAudit(
},
data: {
appId: id.value,
taskId: taskId,
taskId,
nodeId: '',
comment,
},
@ -462,7 +462,7 @@ let auditType = ref('');
const isTemporaryFormModalLoading = ref(false);
async function handleAudit(
type: 'openAccessModal' | 'openRejectModal' | 'confirm',
type: 'confirm' | 'openAccessModal' | 'openRejectModal',
data?: any,
) {
console.log(type);
@ -502,7 +502,7 @@ async function handleAudit(
},
data: {
appId: id.value,
taskId: taskId,
taskId,
nodeId: '',
comment: comment || '',
},
@ -554,7 +554,7 @@ async function handleAudit(
},
data: {
appId: id.value,
taskId: taskId,
taskId,
nodeId: '',
comment,
},
@ -687,7 +687,7 @@ onMounted(async () => {
</vben-button>
<vben-button
v-if="['paDepartmentAudit'].includes(currData.step) && taskId"
v-if="['paApproval'].includes(currData.step) && taskId"
:disabled="!auditId"
variant="primary"
@click="handleAudit('openAccessModal')"
@ -695,7 +695,7 @@ onMounted(async () => {
通过
</vben-button>
<vben-button
v-if="['paDepartmentAudit'].includes(currData.step) && taskId"
v-if="['paApproval'].includes(currData.step) && taskId"
:disabled="!auditId"
variant="destructive"
@click="handleAudit('openRejectModal')"

View File

@ -45,14 +45,7 @@ watch(
);
const readOnly = computed(() => {
return [
'smDepartmentAudit',
'smFinancialDepartment',
'smLeaders',
'smManager',
'smPlanningDepartment',
'smRegulationDepartment',
].includes(form.businessStep);
return ['smApproval'].includes(form.businessStep);
});
watch(
@ -73,7 +66,6 @@ watch(
() => form,
(newForm) => {
emit('update:form', newForm);
emit('field-change', newForm);
},
{ deep: true },
);

View File

@ -45,14 +45,7 @@ const formRef = ref();
const form = reactive({ ...props.form });
const readOnly = computed(() => {
return [
'smDepartmentAudit',
'smFinancialDepartment',
'smLeaders',
'smManager',
'smPlanningDepartment',
'smRegulationDepartment',
].includes(form.step);
return ['smApproval'].includes(form.step);
});
const rules = {

View File

@ -3,7 +3,6 @@ import { ref } from 'vue';
import { useVbenModal } from '@vben/common-ui';
import { dict } from '@fast-crud/fast-crud';
import { VxeGrid } from 'vxe-table';
import { DICT_TYPE } from '#/utils/dict';
@ -18,7 +17,7 @@ const xGridRefs = ref<Map<string, any>>(new Map());
const gridRefs = ref<Map<string, any>>(new Map());
export function getFormSchema(params: any = {}) {
let { formRef, dictMap = {}, bidList = [], showBid = true } = params;
const { formRef, dictMap = {}, bidList = [], showBid = true } = params;
/** Hooks - 表格 */
const gridOptions = {

View File

@ -12,25 +12,22 @@ import {
type UploadChangeParam,
type UploadFile,
} from 'ant-design-vue';
import { cloneDeep } from 'lodash-es';
import Apis from '#/api';
import temporaryFormModal from '#/components/temporary-form-modal/temporary-form-modal.vue';
import { useVxeTable } from '#/hooks/vxeTable';
import { DICT_TYPE, getDictDatasAsync, getDictObj } from '#/utils/dict';
import { FileUploader } from '#/utils/file';
import { logger } from '#/utils/logger';
import AuditNodeTable from '#/views/contract/components/audit-node-table/audit-node-table.vue';
import chooseUserModal from '#/views/system/user/choose-user-modal.vue';
import { getColumns } from '../../approval/signing-basis/columns';
import chooseCompanyModal from '../../company/list/choose-company-modal.vue';
import { getBidColumns, getProviderColumns } from './bid-columns';
import { getFormSchema } from './curd';
import BasicInfoCard from './basic-info-card.vue';
import { cloneDeep } from 'lodash-es';
import { getBidColumns, getProviderColumns } from './bid-columns';
import BusinessCard from './business-card.vue';
import AuditNodeTable from '#/views/contract/components/audit-node-table/audit-node-table.vue';
const [ChooseCompanyModal, chooseCompanyModalApi] = useVbenModal({
connectedComponent: chooseCompanyModal,
});
@ -71,14 +68,7 @@ const bidGridRefs = ref<Map<string, any>>(new Map());
const providerGridRefs = ref<Map<string, any>>(new Map());
const readOnly = computed(() => {
return [
'smDepartmentAudit',
'smPlanningDepartment',
'smFinancialDepartment',
'smRegulationDepartment',
'smManager',
'smLeaders',
].includes(businessData.value.step);
return ['smApproval'].includes(businessData.value.step);
});
watch(
@ -395,8 +385,8 @@ async function handleSave() {
try {
await contractCardRef.value.validate();
await businessCardRef.value.validate();
} catch (e) {
console.log(e);
} catch (error) {
console.log(error);
message.error('请完成必填项的填写');
return;
}
@ -752,11 +742,11 @@ onMounted(async () => {
<a-upload
v-model:file-list="fileList"
:before-upload="() => false"
:disabled="readOnly"
:max-count="3"
accept=".pdf,.ppt,.pptx"
name="file"
@change="handleChange"
:disabled="readOnly"
>
<a-button v-if="!readOnly">
<MdiUpload />