From 5b0f1594849b29057d58a4aabdd86fb9519a75c1 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=E2=80=98huanghaiixia=E2=80=99?= <980486410@.com>
Date: Fri, 13 Feb 2026 17:09:38 +0800
Subject: [PATCH] =?UTF-8?q?=E7=AE=A1=E8=BE=93=20=E5=8A=A0=E5=B7=A5?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../ContractProc/components/createForm.vue | 539 ++++++++++++++++
src/views/contract/ContractProc/index.vue | 170 ++++--
.../components/createForm.vue | 576 ++++++++++++++++++
src/views/contract/ContractTransPng/index.vue | 170 ++++--
4 files changed, 1375 insertions(+), 80 deletions(-)
create mode 100644 src/views/contract/ContractProc/components/createForm.vue
create mode 100644 src/views/contract/ContractTransPng/components/createForm.vue
diff --git a/src/views/contract/ContractProc/components/createForm.vue b/src/views/contract/ContractProc/components/createForm.vue
new file mode 100644
index 0000000..25d87d2
--- /dev/null
+++ b/src/views/contract/ContractProc/components/createForm.vue
@@ -0,0 +1,539 @@
+
+
+
+
+
+
+
+
+ 关联合同
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{ item.name }}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{ item.fullName }}
+
+
+
+
+
+
+
+
+ {{ item.name }}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
新增行
+
+
+
+ *阶梯内气量(吉焦)
+
+
+ *气态加工费率(元/吉焦)
+
+
+ *液态加工费率(元/吉焦)
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 删除
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/views/contract/ContractProc/index.vue b/src/views/contract/ContractProc/index.vue
index d656911..9fe63c5 100644
--- a/src/views/contract/ContractProc/index.vue
+++ b/src/views/contract/ContractProc/index.vue
@@ -29,9 +29,7 @@
const logId = ref('')
const logPath = ref('/contract/contractProc/datalog');
import { DataLog } from '/@/components/pcitc';
- import { ref, computed, onMounted, onUnmounted, createVNode,
-
-} from 'vue';
+ import { ref, computed, onMounted, onUnmounted, createVNode, } from 'vue';
import { Modal } from 'ant-design-vue';
import { ExclamationCircleOutlined } from '@ant-design/icons-vue';
@@ -59,6 +57,9 @@
import useEventBus from '/@/hooks/event/useEventBus';
import { cloneDeep } from 'lodash-es';
+ import { useUserStore } from '/@/store/modules/user';
+ const userStore = useUserStore();
+ const userInfo = userStore.getUserInfo;
const { bus, CREATE_FLOW, FLOW_PROCESSED, FORM_LIST_MODIFIED } = useEventBus();
@@ -110,7 +111,7 @@
const taskIdRef = ref('');
const visibleFlowRecordModal = ref(false);
const [registerModal, { openModal }] = useModal();
- const formName='加工合同';
+ const formName=currentRoute.value.meta?.title;
const [registerTable, { reload, }] = useTable({
title: '' || (formName + '列表'),
api: getLngContractPage,
@@ -121,8 +122,8 @@
gutter: 16,
},
schemas: customSearchFormSchema,
- fieldMapToTime: [],
- showResetButton: false,
+ fieldMapToTime: [['dateFrom', ['startDate', 'endDate'], 'YYYY-MM-DD']],
+ showResetButton: true,
},
beforeFetch: (params) => {
return { ...params, FormId: formIdComputedRef.value, PK: 'id',page:params.limit };
@@ -159,7 +160,9 @@
query: {
taskId: taskIds[0],
formName: formName,
- formId:currentRoute.value.meta.formId
+ formId:currentRoute.value.meta.formId,
+ id: record.id,
+ readonly: 1,
}
});
} else if (schemaId && !taskIds && processId) {
@@ -169,18 +172,32 @@
readonly: 1,
taskId: '',
formName: formName,
- formId:currentRoute.value.meta.formId
+ formId:currentRoute.value.meta.formId,
+ id: record.id,
}
});
} else {
- router.push({
- path: '/form/ContractProc/' + record.id + '/viewForm',
- query: {
- formPath: 'contract/ContractProc',
- formName: formName,
- formId:currentRoute.value.meta.formId
- }
- });
+ if (schemaIdComputedRef.value) {
+ router.push({
+ path: '/flow/' + schemaIdComputedRef.value + '/0/createFlow',
+ query: {
+ formPath: 'contract/ContractProc',
+ formName: "查看"+formName,
+ formId:currentRoute.value.meta.formId,
+ type:'edit',
+ id: record.id,
+ disabled: 1,
+ }
+ });
+ }
+ // router.push({
+ // path: '/form/ContractProc/' + record.id + '/viewForm',
+ // query: {
+ // formPath: 'contract/ContractProc',
+ // formName: formName,
+ // formId:currentRoute.value.meta.formId
+ // }
+ // });
}
}
@@ -196,7 +213,11 @@
function handleAdd() {
if (schemaIdComputedRef.value) {
router.push({
- path: '/flow/' + schemaIdComputedRef.value + '/0/createFlow'
+ path: '/flow/' + schemaIdComputedRef.value + '/0/createFlow',
+ query: {
+ formPath: 'contract/ContractProc',
+ formName: "新建"+formName,
+ }
});
} else {
router.push({
@@ -211,21 +232,57 @@
}
function handleEdit(record: Recordable) {
-
- router.push({
- path: '/form/ContractProc/' + record.id + '/updateForm',
- query: {
+ if (schemaIdComputedRef.value) {
+ router.push({
+ path: '/flow/' + schemaIdComputedRef.value + '/0/createFlow',
+ query: {
formPath: 'contract/ContractProc',
- formName: formName,
- formId:currentRoute.value.meta.formId
- }
- });
+ formName: "编辑"+formName,
+ formId:currentRoute.value.meta.formId,
+ type:'edit',
+ id: record.id
+ }
+ });
+ } else {
+ router.push({
+ path: '/form/ContractProc/' + record.id + '/updateForm',
+ query: {
+ formPath: 'contract/ContractProc',
+ formName: formName,
+ formId:currentRoute.value.meta.formId
+ }
+ });
+ }
}
function handleUpdate(record: Recordable) {
-
+ const { processId, taskIds, schemaId } = record.workflowData || {};
+ if (schemaIdComputedRef.value) {
+ router.push({
+ path: '/flow/' + schemaIdComputedRef.value + '/0/createFlow',
+ query: {
+ formPath: 'contract/ContractProc',
+ formName: "变更"+formName,
+ formId:currentRoute.value.meta.formId,
+ type:'update',
+ id: record.id,
+ processId: processId
+ }
+ });
+ }
}
function handleApprove(record: Recordable) {
-
+ const { processId, taskIds, schemaId } = record.workflowData || {};
+ if (taskIds && taskIds.length) {
+ router.push({
+ path: '/flow/' + schemaId + '/' + (processId || '') + '/approveFlow',
+ query: {
+ taskId: taskIds[0],
+ formName: "审批"+formName,
+ formId:currentRoute.value.meta.formId,
+ id: record.id
+ }
+ });
+ }
}
function handleDelete(record: Recordable) {
@@ -287,9 +344,11 @@
let actionsList: ActionItem[] = [];
let editAndDelBtn: ActionItem[] = [];
- let hasFlowRecord = false;
+ let updateBtn: ActionItem[] = [];
+ let approveBtn: ActionItem[] = [];
+ let hasFlowRecord = false;
actionButtonConfig.value?.map((button) => {
- if (['view', 'copyData'].includes(button.code)) {
+ if (['view', 'copyData','datalog'].includes(button.code)) {
actionsList.push({
icon: button?.icon,
tooltip: button?.name,
@@ -304,21 +363,52 @@
onClick: btnEvent[button.code].bind(null, record),
});
}
+ if (['update'].includes(button.code)) {
+ updateBtn.push({
+ icon: button?.icon,
+ tooltip: button?.name,
+ onClick: btnEvent[button.code].bind(null, record),
+ });
+ }
+ if (['approve'].includes(button.code)) {
+ approveBtn.push({
+ icon: button?.icon,
+ tooltip: button?.name,
+ onClick: btnEvent[button.code].bind(null, record),
+ });
+ }
if (button.code === 'flowRecord') hasFlowRecord = true;
});
- if (record.workflowData?.enabled) {
- //与工作流有关联的表单
- if (record.workflowData.status) {
- actionsList.unshift(setIndexFlowStatus(record.workflowData))
- } else {
- actionsList = actionsList.concat(editAndDelBtn);
- }
- } else {
- if (!record.workflowData?.processId) {
- //与工作流没有关联的表单并且在当前页面新增的数据 如选择编辑、删除按钮则加上
- actionsList = actionsList.concat(editAndDelBtn);
+ // 未提交或已驳回
+ if (record.approCode == 'WTJ' || record.approCode == 'YBH' ) {
+ actionsList = actionsList.concat(editAndDelBtn);
+
+ if (record.createUserId !== userInfo.id) {
+ let idx = actionsList.findIndex(v =>v.tooltip == '删除')
+ idx > -1 && actionsList.splice(idx, 1)
}
}
+ // 审批中SPZ
+ if (record.workflowData?.editable) {
+ actionsList = actionsList.concat(approveBtn);
+ }
+ // 已审批
+ if (record.approCode == 'YSP') {
+ actionsList = actionsList.concat(updateBtn);
+ }
+ // if (record.workflowData?.enabled) {
+ // //与工作流有关联的表单
+ // if (record.workflowData.status) {
+ // actionsList.unshift(setIndexFlowStatus(record.workflowData))
+ // } else {
+ // actionsList = actionsList.concat(editAndDelBtn);
+ // }
+ // } else {
+ // if (!record.workflowData?.processId) {
+ // //与工作流没有关联的表单并且在当前页面新增的数据 如选择编辑、删除按钮则加上
+ // actionsList = actionsList.concat(editAndDelBtn);
+ // }
+ // }
return actionsList;
}
function handleStartwork(record: Recordable) {
diff --git a/src/views/contract/ContractTransPng/components/createForm.vue b/src/views/contract/ContractTransPng/components/createForm.vue
new file mode 100644
index 0000000..11bfe05
--- /dev/null
+++ b/src/views/contract/ContractTransPng/components/createForm.vue
@@ -0,0 +1,576 @@
+
+
+
+
+
+
+
+
+ 关联合同
+
+
+
+
+
+
+
+
+
+
+
+ {{ item.name }}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{ item.fullName }}
+
+
+
+
+
+
+
+
+ {{ item.name }}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
新增行
+
+
+
+ *上载点
+
+
+ *下载点
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 删除
+
+
+
+
+
+
+
+
新增行
+
+
+
+ *约定
+
+
+ *管输单价(元/方)
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 删除
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/views/contract/ContractTransPng/index.vue b/src/views/contract/ContractTransPng/index.vue
index 23e9087..ee7ed5b 100644
--- a/src/views/contract/ContractTransPng/index.vue
+++ b/src/views/contract/ContractTransPng/index.vue
@@ -29,9 +29,7 @@
const logId = ref('')
const logPath = ref('/contract/contractTransPng/datalog');
import { DataLog } from '/@/components/pcitc';
- import { ref, computed, onMounted, onUnmounted, createVNode,
-
-} from 'vue';
+ import { ref, computed, onMounted, onUnmounted, createVNode, } from 'vue';
import { Modal } from 'ant-design-vue';
import { ExclamationCircleOutlined } from '@ant-design/icons-vue';
@@ -59,6 +57,9 @@
import useEventBus from '/@/hooks/event/useEventBus';
import { cloneDeep } from 'lodash-es';
+ import { useUserStore } from '/@/store/modules/user';
+ const userStore = useUserStore();
+ const userInfo = userStore.getUserInfo;
const { bus, CREATE_FLOW, FLOW_PROCESSED, FORM_LIST_MODIFIED } = useEventBus();
@@ -110,7 +111,7 @@
const taskIdRef = ref('');
const visibleFlowRecordModal = ref(false);
const [registerModal, { openModal }] = useModal();
- const formName='管输合同';
+ const formName=currentRoute.value.meta?.title;
const [registerTable, { reload, }] = useTable({
title: '' || (formName + '列表'),
api: getLngContractPage,
@@ -121,8 +122,8 @@
gutter: 16,
},
schemas: customSearchFormSchema,
- fieldMapToTime: [],
- showResetButton: false,
+ fieldMapToTime: [['dateFrom', ['startDate', 'endDate'], 'YYYY-MM-DD']],
+ showResetButton: true,
},
beforeFetch: (params) => {
return { ...params, FormId: formIdComputedRef.value, PK: 'id',page:params.limit };
@@ -159,7 +160,9 @@
query: {
taskId: taskIds[0],
formName: formName,
- formId:currentRoute.value.meta.formId
+ formId:currentRoute.value.meta.formId,
+ id: record.id,
+ readonly: 1,
}
});
} else if (schemaId && !taskIds && processId) {
@@ -169,18 +172,32 @@
readonly: 1,
taskId: '',
formName: formName,
- formId:currentRoute.value.meta.formId
+ formId:currentRoute.value.meta.formId,
+ id: record.id,
}
});
} else {
- router.push({
- path: '/form/ContractTransPng/' + record.id + '/viewForm',
- query: {
- formPath: 'contract/ContractTransPng',
- formName: formName,
- formId:currentRoute.value.meta.formId
- }
- });
+ if (schemaIdComputedRef.value) {
+ router.push({
+ path: '/flow/' + schemaIdComputedRef.value + '/0/createFlow',
+ query: {
+ formPath: 'contract/ContractTransPng',
+ formName: "查看"+formName,
+ formId:currentRoute.value.meta.formId,
+ type:'edit',
+ id: record.id,
+ disabled: 1,
+ }
+ });
+ }
+ // router.push({
+ // path: '/form/ContractTransPng/' + record.id + '/viewForm',
+ // query: {
+ // formPath: 'contract/ContractTransPng',
+ // formName: formName,
+ // formId:currentRoute.value.meta.formId
+ // }
+ // });
}
}
@@ -196,7 +213,11 @@
function handleAdd() {
if (schemaIdComputedRef.value) {
router.push({
- path: '/flow/' + schemaIdComputedRef.value + '/0/createFlow'
+ path: '/flow/' + schemaIdComputedRef.value + '/0/createFlow',
+ query: {
+ formPath: 'contract/ContractSalesLng',
+ formName: "新建"+formName,
+ }
});
} else {
router.push({
@@ -211,21 +232,57 @@
}
function handleEdit(record: Recordable) {
-
- router.push({
- path: '/form/ContractTransPng/' + record.id + '/updateForm',
- query: {
+ if (schemaIdComputedRef.value) {
+ router.push({
+ path: '/flow/' + schemaIdComputedRef.value + '/0/createFlow',
+ query: {
formPath: 'contract/ContractTransPng',
- formName: formName,
- formId:currentRoute.value.meta.formId
- }
- });
+ formName: "编辑"+formName,
+ formId:currentRoute.value.meta.formId,
+ type:'edit',
+ id: record.id
+ }
+ });
+ } else {
+ router.push({
+ path: '/form/ContractTransPng/' + record.id + '/updateForm',
+ query: {
+ formPath: 'contract/ContractTransPng',
+ formName: formName,
+ formId:currentRoute.value.meta.formId
+ }
+ });
+ }
}
function handleUpdate(record: Recordable) {
-
+ const { processId, taskIds, schemaId } = record.workflowData || {};
+ if (schemaIdComputedRef.value) {
+ router.push({
+ path: '/flow/' + schemaIdComputedRef.value + '/0/createFlow',
+ query: {
+ formPath: 'contract/ContractTransPng',
+ formName: "变更"+formName,
+ formId:currentRoute.value.meta.formId,
+ type:'update',
+ id: record.id,
+ processId: processId
+ }
+ });
+ }
}
function handleApprove(record: Recordable) {
-
+ const { processId, taskIds, schemaId } = record.workflowData || {};
+ if (taskIds && taskIds.length) {
+ router.push({
+ path: '/flow/' + schemaId + '/' + (processId || '') + '/approveFlow',
+ query: {
+ taskId: taskIds[0],
+ formName: "审批"+formName,
+ formId:currentRoute.value.meta.formId,
+ id: record.id
+ }
+ });
+ }
}
function handleDelete(record: Recordable) {
deleteList([record.id]);
@@ -286,9 +343,11 @@
let actionsList: ActionItem[] = [];
let editAndDelBtn: ActionItem[] = [];
- let hasFlowRecord = false;
+ let updateBtn: ActionItem[] = [];
+ let approveBtn: ActionItem[] = [];
+ let hasFlowRecord = false;
actionButtonConfig.value?.map((button) => {
- if (['view', 'copyData'].includes(button.code)) {
+ if (['view', 'copyData','datalog'].includes(button.code)) {
actionsList.push({
icon: button?.icon,
tooltip: button?.name,
@@ -303,21 +362,52 @@
onClick: btnEvent[button.code].bind(null, record),
});
}
+ if (['update'].includes(button.code)) {
+ updateBtn.push({
+ icon: button?.icon,
+ tooltip: button?.name,
+ onClick: btnEvent[button.code].bind(null, record),
+ });
+ }
+ if (['approve'].includes(button.code)) {
+ approveBtn.push({
+ icon: button?.icon,
+ tooltip: button?.name,
+ onClick: btnEvent[button.code].bind(null, record),
+ });
+ }
if (button.code === 'flowRecord') hasFlowRecord = true;
});
- if (record.workflowData?.enabled) {
- //与工作流有关联的表单
- if (record.workflowData.status) {
- actionsList.unshift(setIndexFlowStatus(record.workflowData))
- } else {
- actionsList = actionsList.concat(editAndDelBtn);
- }
- } else {
- if (!record.workflowData?.processId) {
- //与工作流没有关联的表单并且在当前页面新增的数据 如选择编辑、删除按钮则加上
- actionsList = actionsList.concat(editAndDelBtn);
+ // 未提交或已驳回
+ if (record.approCode == 'WTJ' || record.approCode == 'YBH' ) {
+ actionsList = actionsList.concat(editAndDelBtn);
+
+ if (record.createUserId !== userInfo.id) {
+ let idx = actionsList.findIndex(v =>v.tooltip == '删除')
+ idx > -1 && actionsList.splice(idx, 1)
}
}
+ // 审批中SPZ
+ if (record.workflowData?.editable) {
+ actionsList = actionsList.concat(approveBtn);
+ }
+ // 已审批
+ if (record.approCode == 'YSP') {
+ actionsList = actionsList.concat(updateBtn);
+ }
+ // if (record.workflowData?.enabled) {
+ // //与工作流有关联的表单
+ // if (record.workflowData.status) {
+ // actionsList.unshift(setIndexFlowStatus(record.workflowData))
+ // } else {
+ // actionsList = actionsList.concat(editAndDelBtn);
+ // }
+ // } else {
+ // if (!record.workflowData?.processId) {
+ // //与工作流没有关联的表单并且在当前页面新增的数据 如选择编辑、删除按钮则加上
+ // actionsList = actionsList.concat(editAndDelBtn);
+ // }
+ // }
return actionsList;
}
function handleStartwork(record: Recordable) {