立项选商节点变更
This commit is contained in:
parent
22fc4c413f
commit
4b7f75cc83
|
@ -71,17 +71,11 @@ export default {
|
||||||
|
|
||||||
contract_approval_flow_node: createEntry('合同立项节点流程', [
|
contract_approval_flow_node: createEntry('合同立项节点流程', [
|
||||||
{ label: '开始节点', value: 'paStart' },
|
{ label: '开始节点', value: 'paStart' },
|
||||||
{ label: '待编制', value: 'paEdit' },
|
{ label: '立项编制', value: 'paEdit' },
|
||||||
{ label: '待部门自审', value: 'paDepartmentAudit' },
|
{ label: '立项审批中', value: 'paApproval' },
|
||||||
|
|
||||||
{ label: '选商编制', value: 'smEdit' },
|
{ label: '选商编制', value: 'smEdit' },
|
||||||
{ label: '待部门自审', value: 'smDepartmentAudit' },
|
{ label: '选商审批中', value: 'smApproval' },
|
||||||
{ label: '待计划规划部审查', value: 'smPlanningDepartment' },
|
{ label: '选商结果编制', value: 'smrEdit' },
|
||||||
{ label: '待财务资产部审查', value: 'smFinancialDepartment' },
|
|
||||||
{ label: '待合规审查(企管法规部)', value: 'smRegulationDepartment' },
|
|
||||||
{ label: '待主管领导审批', value: 'smManager' },
|
|
||||||
{ label: '待公司领导审核', value: 'smLeaders' },
|
|
||||||
{ label: '选商结果填报', value: 'smrEdit' },
|
|
||||||
]),
|
]),
|
||||||
|
|
||||||
contract_business_flow_node: createEntry('合同选商节点流程', [
|
contract_business_flow_node: createEntry('合同选商节点流程', [
|
||||||
|
|
|
@ -14,12 +14,12 @@ import temporaryFormModal from '#/components/temporary-form-modal/temporary-form
|
||||||
import { useVxeTable } from '#/hooks/vxeTable';
|
import { useVxeTable } from '#/hooks/vxeTable';
|
||||||
import { DICT_TYPE, getDictObj } from '#/utils/dict';
|
import { DICT_TYPE, getDictObj } from '#/utils/dict';
|
||||||
import { FileUploader } from '#/utils/file';
|
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 chooseUserModal from '#/views/system/user/choose-user-modal.vue';
|
||||||
|
|
||||||
import chooseSigningBasisModal from '../signing-basis/choose-signing-basis-modal.vue';
|
import chooseSigningBasisModal from '../signing-basis/choose-signing-basis-modal.vue';
|
||||||
import { getColumns } from '../signing-basis/columns';
|
import { getColumns } from '../signing-basis/columns';
|
||||||
import { getFormSchema } from './curd';
|
import { getFormSchema } from './curd';
|
||||||
import AuditNodeTable from '#/views/contract/components/audit-node-table/audit-node-table.vue';
|
|
||||||
|
|
||||||
const { xGridRef, gridProps } = useVxeTable({ ref: 'xGridRef' });
|
const { xGridRef, gridProps } = useVxeTable({ ref: 'xGridRef' });
|
||||||
|
|
||||||
|
@ -156,7 +156,7 @@ const currAuditType = ref<'abolish' | 'audit'>('audit');
|
||||||
|
|
||||||
const userListByAbolish = ref([]);
|
const userListByAbolish = ref([]);
|
||||||
|
|
||||||
async function handleAbolish(type: 'openModal' | 'confirm') {
|
async function handleAbolish(type: 'confirm' | 'openModal') {
|
||||||
userModalOpenType.value = 'abolish';
|
userModalOpenType.value = 'abolish';
|
||||||
if (type === 'openModal') {
|
if (type === 'openModal') {
|
||||||
Modal.confirm({
|
Modal.confirm({
|
||||||
|
@ -177,7 +177,7 @@ async function handleAbolish(type: 'openModal' | 'confirm') {
|
||||||
try {
|
try {
|
||||||
await Apis.contractBaseInfo.post_abolishFlowStart({
|
await Apis.contractBaseInfo.post_abolishFlowStart({
|
||||||
data: {
|
data: {
|
||||||
guid: currData.value['guid'],
|
guid: currData.value.guid,
|
||||||
assigneeList: userListByAbolish.value.map((item) => item.ACCOUNT_ID),
|
assigneeList: userListByAbolish.value.map((item) => item.ACCOUNT_ID),
|
||||||
},
|
},
|
||||||
});
|
});
|
||||||
|
@ -233,7 +233,7 @@ async function handleAbolishAudit(
|
||||||
},
|
},
|
||||||
data: {
|
data: {
|
||||||
// appId: id.value,
|
// appId: id.value,
|
||||||
taskId: taskId,
|
taskId,
|
||||||
nodeId: '',
|
nodeId: '',
|
||||||
comment: '通过',
|
comment: '通过',
|
||||||
},
|
},
|
||||||
|
@ -285,7 +285,7 @@ async function handleAbolishAudit(
|
||||||
},
|
},
|
||||||
data: {
|
data: {
|
||||||
appId: id.value,
|
appId: id.value,
|
||||||
taskId: taskId,
|
taskId,
|
||||||
nodeId: '',
|
nodeId: '',
|
||||||
comment,
|
comment,
|
||||||
},
|
},
|
||||||
|
@ -462,7 +462,7 @@ let auditType = ref('');
|
||||||
const isTemporaryFormModalLoading = ref(false);
|
const isTemporaryFormModalLoading = ref(false);
|
||||||
|
|
||||||
async function handleAudit(
|
async function handleAudit(
|
||||||
type: 'openAccessModal' | 'openRejectModal' | 'confirm',
|
type: 'confirm' | 'openAccessModal' | 'openRejectModal',
|
||||||
data?: any,
|
data?: any,
|
||||||
) {
|
) {
|
||||||
console.log(type);
|
console.log(type);
|
||||||
|
@ -502,7 +502,7 @@ async function handleAudit(
|
||||||
},
|
},
|
||||||
data: {
|
data: {
|
||||||
appId: id.value,
|
appId: id.value,
|
||||||
taskId: taskId,
|
taskId,
|
||||||
nodeId: '',
|
nodeId: '',
|
||||||
comment: comment || '',
|
comment: comment || '',
|
||||||
},
|
},
|
||||||
|
@ -554,7 +554,7 @@ async function handleAudit(
|
||||||
},
|
},
|
||||||
data: {
|
data: {
|
||||||
appId: id.value,
|
appId: id.value,
|
||||||
taskId: taskId,
|
taskId,
|
||||||
nodeId: '',
|
nodeId: '',
|
||||||
comment,
|
comment,
|
||||||
},
|
},
|
||||||
|
@ -687,7 +687,7 @@ onMounted(async () => {
|
||||||
</vben-button>
|
</vben-button>
|
||||||
|
|
||||||
<vben-button
|
<vben-button
|
||||||
v-if="['paDepartmentAudit'].includes(currData.step) && taskId"
|
v-if="['paApproval'].includes(currData.step) && taskId"
|
||||||
:disabled="!auditId"
|
:disabled="!auditId"
|
||||||
variant="primary"
|
variant="primary"
|
||||||
@click="handleAudit('openAccessModal')"
|
@click="handleAudit('openAccessModal')"
|
||||||
|
@ -695,7 +695,7 @@ onMounted(async () => {
|
||||||
通过
|
通过
|
||||||
</vben-button>
|
</vben-button>
|
||||||
<vben-button
|
<vben-button
|
||||||
v-if="['paDepartmentAudit'].includes(currData.step) && taskId"
|
v-if="['paApproval'].includes(currData.step) && taskId"
|
||||||
:disabled="!auditId"
|
:disabled="!auditId"
|
||||||
variant="destructive"
|
variant="destructive"
|
||||||
@click="handleAudit('openRejectModal')"
|
@click="handleAudit('openRejectModal')"
|
||||||
|
|
|
@ -45,14 +45,7 @@ watch(
|
||||||
);
|
);
|
||||||
|
|
||||||
const readOnly = computed(() => {
|
const readOnly = computed(() => {
|
||||||
return [
|
return ['smApproval'].includes(form.businessStep);
|
||||||
'smDepartmentAudit',
|
|
||||||
'smFinancialDepartment',
|
|
||||||
'smLeaders',
|
|
||||||
'smManager',
|
|
||||||
'smPlanningDepartment',
|
|
||||||
'smRegulationDepartment',
|
|
||||||
].includes(form.businessStep);
|
|
||||||
});
|
});
|
||||||
|
|
||||||
watch(
|
watch(
|
||||||
|
@ -73,7 +66,6 @@ watch(
|
||||||
() => form,
|
() => form,
|
||||||
(newForm) => {
|
(newForm) => {
|
||||||
emit('update:form', newForm);
|
emit('update:form', newForm);
|
||||||
emit('field-change', newForm);
|
|
||||||
},
|
},
|
||||||
{ deep: true },
|
{ deep: true },
|
||||||
);
|
);
|
||||||
|
|
|
@ -45,14 +45,7 @@ const formRef = ref();
|
||||||
const form = reactive({ ...props.form });
|
const form = reactive({ ...props.form });
|
||||||
|
|
||||||
const readOnly = computed(() => {
|
const readOnly = computed(() => {
|
||||||
return [
|
return ['smApproval'].includes(form.step);
|
||||||
'smDepartmentAudit',
|
|
||||||
'smFinancialDepartment',
|
|
||||||
'smLeaders',
|
|
||||||
'smManager',
|
|
||||||
'smPlanningDepartment',
|
|
||||||
'smRegulationDepartment',
|
|
||||||
].includes(form.step);
|
|
||||||
});
|
});
|
||||||
|
|
||||||
const rules = {
|
const rules = {
|
||||||
|
|
|
@ -3,7 +3,6 @@ import { ref } from 'vue';
|
||||||
import { useVbenModal } from '@vben/common-ui';
|
import { useVbenModal } from '@vben/common-ui';
|
||||||
|
|
||||||
import { dict } from '@fast-crud/fast-crud';
|
import { dict } from '@fast-crud/fast-crud';
|
||||||
import { VxeGrid } from 'vxe-table';
|
|
||||||
|
|
||||||
import { DICT_TYPE } from '#/utils/dict';
|
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());
|
const gridRefs = ref<Map<string, any>>(new Map());
|
||||||
export function getFormSchema(params: any = {}) {
|
export function getFormSchema(params: any = {}) {
|
||||||
let { formRef, dictMap = {}, bidList = [], showBid = true } = params;
|
const { formRef, dictMap = {}, bidList = [], showBid = true } = params;
|
||||||
|
|
||||||
/** Hooks - 表格 */
|
/** Hooks - 表格 */
|
||||||
const gridOptions = {
|
const gridOptions = {
|
||||||
|
|
|
@ -12,25 +12,22 @@ import {
|
||||||
type UploadChangeParam,
|
type UploadChangeParam,
|
||||||
type UploadFile,
|
type UploadFile,
|
||||||
} from 'ant-design-vue';
|
} from 'ant-design-vue';
|
||||||
|
import { cloneDeep } from 'lodash-es';
|
||||||
|
|
||||||
import Apis from '#/api';
|
import Apis from '#/api';
|
||||||
import temporaryFormModal from '#/components/temporary-form-modal/temporary-form-modal.vue';
|
import temporaryFormModal from '#/components/temporary-form-modal/temporary-form-modal.vue';
|
||||||
import { useVxeTable } from '#/hooks/vxeTable';
|
import { useVxeTable } from '#/hooks/vxeTable';
|
||||||
import { DICT_TYPE, getDictDatasAsync, getDictObj } from '#/utils/dict';
|
|
||||||
import { FileUploader } from '#/utils/file';
|
import { FileUploader } from '#/utils/file';
|
||||||
import { logger } from '#/utils/logger';
|
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 chooseUserModal from '#/views/system/user/choose-user-modal.vue';
|
||||||
|
|
||||||
import { getColumns } from '../../approval/signing-basis/columns';
|
import { getColumns } from '../../approval/signing-basis/columns';
|
||||||
import chooseCompanyModal from '../../company/list/choose-company-modal.vue';
|
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 BasicInfoCard from './basic-info-card.vue';
|
||||||
import { cloneDeep } from 'lodash-es';
|
import { getBidColumns, getProviderColumns } from './bid-columns';
|
||||||
import BusinessCard from './business-card.vue';
|
import BusinessCard from './business-card.vue';
|
||||||
|
|
||||||
import AuditNodeTable from '#/views/contract/components/audit-node-table/audit-node-table.vue';
|
|
||||||
|
|
||||||
const [ChooseCompanyModal, chooseCompanyModalApi] = useVbenModal({
|
const [ChooseCompanyModal, chooseCompanyModalApi] = useVbenModal({
|
||||||
connectedComponent: chooseCompanyModal,
|
connectedComponent: chooseCompanyModal,
|
||||||
});
|
});
|
||||||
|
@ -71,14 +68,7 @@ const bidGridRefs = ref<Map<string, any>>(new Map());
|
||||||
const providerGridRefs = ref<Map<string, any>>(new Map());
|
const providerGridRefs = ref<Map<string, any>>(new Map());
|
||||||
|
|
||||||
const readOnly = computed(() => {
|
const readOnly = computed(() => {
|
||||||
return [
|
return ['smApproval'].includes(businessData.value.step);
|
||||||
'smDepartmentAudit',
|
|
||||||
'smPlanningDepartment',
|
|
||||||
'smFinancialDepartment',
|
|
||||||
'smRegulationDepartment',
|
|
||||||
'smManager',
|
|
||||||
'smLeaders',
|
|
||||||
].includes(businessData.value.step);
|
|
||||||
});
|
});
|
||||||
|
|
||||||
watch(
|
watch(
|
||||||
|
@ -395,8 +385,8 @@ async function handleSave() {
|
||||||
try {
|
try {
|
||||||
await contractCardRef.value.validate();
|
await contractCardRef.value.validate();
|
||||||
await businessCardRef.value.validate();
|
await businessCardRef.value.validate();
|
||||||
} catch (e) {
|
} catch (error) {
|
||||||
console.log(e);
|
console.log(error);
|
||||||
message.error('请完成必填项的填写');
|
message.error('请完成必填项的填写');
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
@ -752,11 +742,11 @@ onMounted(async () => {
|
||||||
<a-upload
|
<a-upload
|
||||||
v-model:file-list="fileList"
|
v-model:file-list="fileList"
|
||||||
:before-upload="() => false"
|
:before-upload="() => false"
|
||||||
|
:disabled="readOnly"
|
||||||
:max-count="3"
|
:max-count="3"
|
||||||
accept=".pdf,.ppt,.pptx"
|
accept=".pdf,.ppt,.pptx"
|
||||||
name="file"
|
name="file"
|
||||||
@change="handleChange"
|
@change="handleChange"
|
||||||
:disabled="readOnly"
|
|
||||||
>
|
>
|
||||||
<a-button v-if="!readOnly">
|
<a-button v-if="!readOnly">
|
||||||
<MdiUpload />
|
<MdiUpload />
|
||||||
|
|
Loading…
Reference in New Issue