diff --git a/apps/web-contract/src/views/contract/perform/edit/components/break/curd.tsx b/apps/web-contract/src/views/contract/perform/edit/components/break/curd.tsx
index e69de29b..7de2af52 100644
--- a/apps/web-contract/src/views/contract/perform/edit/components/break/curd.tsx
+++ b/apps/web-contract/src/views/contract/perform/edit/components/break/curd.tsx
@@ -0,0 +1,111 @@
+import { dict } from '@fast-crud/fast-crud';
+
+import { DICT_TYPE, getDictObj, getDictOptions } from '#/utils/dict';
+import type { delay } from 'lodash-es';
+import type { Dayjs } from 'dayjs';
+import dayjs from 'dayjs';
+
+export function getFormSchema(_params: any = {}) {
+ return {
+ labelCol: { style: { width: '140px' } },
+ initialForm: {
+ currencyTypeId: 'CNY',
+ },
+ columns: {
+ ctrBaseId: {
+ title: '合同编号',
+ key: 'ctrBaseId',
+ col: { span: 12 },
+ component: {
+ name: 'a-input',
+ vModel: 'value',
+ allowClear: false,
+ },
+ rules: [{ required: true, message: '请输入' }],
+ },
+ ctrName: {
+ title: '合同名称',
+ key: 'ctrName',
+ col: { span: 12 },
+ component: {
+ name: 'a-input',
+ vModel: 'value',
+ allowClear: false,
+ },
+ rules: [{ required: true, message: '请输入合同名称' }],
+ },
+ breachReason: {
+ title: '违约方',
+ key: 'breachReason',
+ col: { span: 12 },
+ component: {
+ name: 'fs-dict-radio',
+ vModel: 'value',
+ dict: dict({
+ data: [
+ { label: '我方违约', value: 0 },
+ { label: '对方违约', value: 1 },
+ { label: '双方违约', value: 2 },
+ ],
+ }),
+ },
+ },
+ lidatedDamages: {
+ title: '违约金',
+ key: 'lidatedDamages',
+ col: { span: 12 },
+ component: {
+ name: 'a-input-number',
+ vModel: 'value',
+ allowClear: false,
+ },
+ },
+ breachReasonDesc: {
+ title: '违约情况简述',
+ key: 'breachReasonDesc',
+ col: { span: 12 },
+
+ component: {
+ name: 'a-textarea',
+ vModel: 'value',
+ autosize: { minRows: 4, maxRows: 6 },
+ },
+ },
+ proposal: {
+ title: '处理意见',
+ key: 'proposal',
+ col: { span: 12 },
+
+ component: {
+ name: 'a-textarea',
+ vModel: 'value',
+ autosize: { minRows: 4, maxRows: 6 },
+ },
+ },
+
+ },
+ };
+}
+
+
+export function getFormSchemaByCertification(_params: any = {}) {
+ return {
+ labelCol: { style: { width: '140px' } },
+ initialForm: {},
+ columns: {
+
+
+ },
+ };
+}
+
+export function getFormSchemaByShareholder(_params: any = {}) {
+ return {
+ labelCol: { style: { width: '140px' } },
+ columns: {
+
+
+
+ },
+ };
+}
diff --git a/apps/web-contract/src/views/contract/perform/edit/components/break/index.vue b/apps/web-contract/src/views/contract/perform/edit/components/break/index.vue
index 63e3768b..941322de 100644
--- a/apps/web-contract/src/views/contract/perform/edit/components/break/index.vue
+++ b/apps/web-contract/src/views/contract/perform/edit/components/break/index.vue
@@ -1,3 +1,288 @@
+
+
- break
+
+
+
+
+
+
+
+
+ 一键{{ isFold ? '展开' : '收起' }}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 点击上传
+
+
+
+
+
+
+
+
+
+
+
+
+ 点击上传
+
+
+
+
+
+
+
+
+
+
+
diff --git a/apps/web-contract/src/views/contract/perform/edit/components/change/curd.tsx b/apps/web-contract/src/views/contract/perform/edit/components/change/curd.tsx
index e69de29b..40899bfd 100644
--- a/apps/web-contract/src/views/contract/perform/edit/components/change/curd.tsx
+++ b/apps/web-contract/src/views/contract/perform/edit/components/change/curd.tsx
@@ -0,0 +1,263 @@
+import { dict } from '@fast-crud/fast-crud';
+
+import { DICT_TYPE, getDictObj, getDictOptions } from '#/utils/dict';
+import type { delay } from 'lodash-es';
+import type { Dayjs } from 'dayjs';
+import dayjs from 'dayjs';
+
+export function getFormSchema(_params: any = {}) {
+ return {
+ labelCol: { style: { width: '140px' } },
+ initialForm: {
+ currencyTypeId: 'CNY',
+ },
+ columns: {
+ ctrBaseId: {
+ title: '合同编号',
+ key: 'ctrBaseId',
+ col: { span: 12 },
+ component: {
+ name: 'a-input',
+ vModel: 'value',
+ allowClear: false,
+ },
+ rules: [{ required: true, message: '请输入' }],
+ },
+ ctrName: {
+ title: '合同名称',
+ key: 'ctrName',
+ col: { span: 12 },
+ component: {
+ name: 'a-input',
+ vModel: 'value',
+ allowClear: false,
+ },
+ rules: [{ required: true, message: '请输入合同名称' }],
+ },
+
+ changeReason: {
+ title: '变更原因',
+ key: 'changeReason',
+ col: { span: 12 },
+ component: {
+ name: 'fs-dict-radio',
+ vModel: 'value',
+ dict: dict({
+ data: [
+ { label: '我方', value: 0 },
+ { label: '对方', value: 1 },
+ { label: '双方', value: 2 },
+ { label: '其它', value: 3 },
+ ],
+ }),
+ },
+ },
+ performDescribe: {
+ title: '变更原因说明',
+ key: 'performDescribe',
+ col: { span: 12 },
+
+ component: {
+ name: 'a-textarea',
+ vModel: 'value',
+ autosize: { minRows: 4, maxRows: 6 },
+ },
+ },
+ changeMatters: {
+ title: '变更事项',
+ key: 'changeMatters',
+ col: { span: 24 },
+ component: {
+ name: 'fs-dict-checkbox',
+ vModel: 'value',
+ dict: dict({
+ data: [
+ { label: '合同名称', value: 0 },
+ { label: '标的金额', value: 1 },
+ { label: '履行期限', value: 2 },
+ { label: '合同相对人', value: 3 },
+ { label: '纠纷解决方式', value: 4 },
+ { label: '其它', value: 5 },
+ ],
+ }),
+ },
+ },
+ changeCtrName: {
+ title: '合同名称变更为',
+ key: 'changeCtrName',
+ col: { span: 24 },
+ component: {
+ name: 'a-input',
+ vModel: 'value',
+ allowClear: false,
+ },
+ },
+ priObjectSum: {
+ title: '原标的金额',
+ key: 'priObjectSum',
+ col: { span: 12 },
+ component: {
+ name: 'a-input-number',
+ vModel: 'value',
+ allowClear: false,
+ },
+ },
+ objectsSum: {
+ title: '累变更后标的金额',
+ key: 'objectsSum',
+ col: { span: 12 },
+ component: {
+ name: 'a-input-number',
+ vModel: 'value',
+ allowClear: false,
+ },
+ },
+ oldperformtime: {
+ title: '原履行时间',
+ key: 'oldperformtime',
+ col: { span: 12 },
+ component: {
+ name: 'a-input',
+ vModel: 'value',
+ allowClear: false,
+ },
+ },
+ performStartDate: {
+ title: '变更后履行时间',
+ key: 'performStartDate',
+ col: { span: 12 },
+ component: {
+ name: 'a-input',
+ vModel: 'value',
+ allowClear: false,
+ },
+ },
+ providerChange: {
+ title: '合同相对人变更',
+ key: 'providerChange',
+ col: { span: 24 },
+ component: {
+ name: 'fs-dict-radio',
+ vModel: 'value',
+ dict: dict({
+ data: [
+ { label: '名称变更', value: 0 },
+ { label: '法人变更', value: 1 },
+ ],
+ }),
+ },
+ },
+ priProviderName: {
+ title: '原合同相对人',
+ key: 'priProviderName',
+ col: { span: 12 },
+ component: {
+ name: 'a-input',
+ vModel: 'value',
+ allowClear: false,
+ },
+ },
+ providerName: {
+ title: '变更为',
+ key: 'providerName',
+ col: { span: 12 },
+ component: {
+ name: 'a-input',
+ vModel: 'value',
+ allowClear: false,
+ },
+ },
+ juridicalPerson: {
+ title: '原供应商法人',
+ key: 'juridicalPerson',
+ col: { span: 12 },
+ component: {
+ name: 'a-input',
+ vModel: 'value',
+ allowClear: false,
+ },
+ },
+ oldsuppliesotherpersonchange: {
+ title: '变更后供应商法人',
+ key: 'oldsuppliesotherpersonchange',
+ col: { span: 12 },
+ component: {
+ name: 'a-input',
+ vModel: 'value',
+ allowClear: false,
+ },
+ },
+ isDisputeMethod: {
+ title: '解决纠纷方式',
+ key: 'isDisputeMethod',
+ col: { span: 12 },
+ component: {
+ name: 'a-input',
+ vModel: 'value',
+ allowClear: false,
+ },
+ },
+ disputeMethod: {
+ title: '变更为',
+ key: 'disputeMethod',
+ col: { span: 24 },
+ component: {
+ name: 'fs-dict-radio',
+ vModel: 'value',
+ dict: dict({
+ data: [
+ { label: '仲裁', value: 0 },
+ { label: '诉讼', value: 1 },
+ { label: '其它', value: 2 },
+ ],
+ }),
+ },
+ },
+ other: {
+ title: '其他',
+ key: 'other',
+ col: { span: 24 },
+ component: {
+ name: 'a-textarea',
+ vModel: 'value',
+ autosize: { minRows: 4, maxRows: 6 },
+ },
+ },
+ //需要更换对应的组件
+ fileUuid: {
+ title: '附件',
+ key: 'fileUuid',
+ col: { span: 24 },
+ component: {
+ name: 'a-input',
+ vModel: 'value',
+ allowClear: false,
+ },
+ },
+
+ },
+ };
+}
+
+
+export function getFormSchemaByCertification(_params: any = {}) {
+ return {
+ labelCol: { style: { width: '140px' } },
+ initialForm: {},
+ columns: {
+
+
+ },
+ };
+}
+
+export function getFormSchemaByShareholder(_params: any = {}) {
+ return {
+ labelCol: { style: { width: '140px' } },
+ columns: {
+
+
+
+ },
+ };
+}
diff --git a/apps/web-contract/src/views/contract/perform/edit/components/change/index.vue b/apps/web-contract/src/views/contract/perform/edit/components/change/index.vue
index 83f5ea98..116249bc 100644
--- a/apps/web-contract/src/views/contract/perform/edit/components/change/index.vue
+++ b/apps/web-contract/src/views/contract/perform/edit/components/change/index.vue
@@ -1,3 +1,288 @@
+
+
- change
+
+
+
+
+
+
+
+
+ 一键{{ isFold ? '展开' : '收起' }}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 点击上传
+
+
+
+
+
+
+
+
+
+
+
+
+ 点击上传
+
+
+
+
+
+
+
+
+
+
+
diff --git a/apps/web-contract/src/views/contract/perform/edit/components/payment/curd.tsx b/apps/web-contract/src/views/contract/perform/edit/components/payment/curd.tsx
index e69de29b..af147d59 100644
--- a/apps/web-contract/src/views/contract/perform/edit/components/payment/curd.tsx
+++ b/apps/web-contract/src/views/contract/perform/edit/components/payment/curd.tsx
@@ -0,0 +1,298 @@
+import { dict } from '@fast-crud/fast-crud';
+
+import { DICT_TYPE, getDictObj, getDictOptions } from '#/utils/dict';
+import type { delay } from 'lodash-es';
+import type { Dayjs } from 'dayjs';
+import dayjs from 'dayjs';
+
+export function getFormSchema(_params: any = {}) {
+ return {
+ labelCol: { style: { width: '140px' } },
+ initialForm: {
+ currencyTypeId: 'CNY',
+ },
+ columns: {
+ ctrBaseId: {
+ title: '合同编号',
+ key: 'ctrBaseId',
+ col: { span: 12 },
+ component: {
+ name: 'a-input',
+ vModel: 'value',
+ allowClear: false,
+ },
+ rules: [{ required: true, message: '请输入合同编号' }],
+ },
+ ctrName: {
+ title: '合同名称',
+ key: 'ctrName',
+ col: { span: 12 },
+ component: {
+ name: 'a-input',
+ vModel: 'value',
+ allowClear: false,
+ },
+ rules: [{ required: true, message: '请输入' }],
+ },
+ contractMoney: {
+ title: '合同标的金额',
+ key: 'contractMoney',
+ col: { span: 12 },
+ component: {
+ name: 'a-input-number',
+ vModel: 'value',
+ allowClear: false,
+ },
+ },
+ paymentSum: {
+ title: '累计结算金额',
+ key: 'paymentSum',
+ col: { span: 12 },
+ component: {
+ name: 'a-input-number',
+ vModel: 'value',
+ allowClear: false,
+ },
+ },
+ paymentMoney: {
+ title: '本次付款金额',
+ key: 'paymentMoney',
+ col: { span: 12 },
+ component: {
+ name: 'a-input-number',
+ vModel: 'value',
+ allowClear: false,
+ },
+ },
+ surplusMoney: {
+ title: '剩余金额',
+ key: 'surplusMoney',
+ col: { span: 12 },
+ component: {
+ name: 'a-input-number',
+ vModel: 'value',
+ allowClear: false,
+ },
+ },
+ paymentDate: {
+ title: '应付款时间',
+ key: 'paymentDate',
+ col: { span: 12 },
+ component: {
+ name: 'a-date-picker',
+ vModel: 'value',
+ allowClear: false,
+ format: 'YYYY-MM-DD',
+ valueFormat: 'YYYY-MM-DD',
+ },
+ rules: [{ required: true, message: '请选择应付款时间' }],
+ },
+ paympaymentKindIdenttype: {
+ title: '付款性质',
+ key: 'paymentKindId',
+ col: { span: 12 },
+ component: {
+ name: 'fs-dict-select',
+ vModel: 'value',
+ class: 'min-w-[200px]',
+ dict: dict({
+ data: getDictOptions(DICT_TYPE.counterparty_nature),
+ }),
+ },
+ rules: [{ required: true, message: '请选择付款性质' }],
+ },
+ paymentUnit: {
+ title: '付款单位',
+ key: 'paymentUnit',
+ col: { span: 12 },
+ component: {
+ name: 'a-input',
+ vModel: 'value',
+ allowClear: false,
+ },
+ },
+ gatheringUnit: {
+ title: '收款单位',
+ key: 'gatheringUnit',
+ col: { span: 12 },
+ component: {
+ name: 'a-input',
+ vModel: 'value',
+ allowClear: false,
+ },
+ },
+ gatheringBank: {
+ title: '开户银行',
+ key: 'gatheringBank',
+ col: { span: 12 },
+ component: {
+ name: 'a-input',
+ vModel: 'value',
+ allowClear: false,
+ },
+ },
+ gatheringAccount: {
+ title: '收款账号',
+ key: 'gatheringAccount',
+ col: { span: 12 },
+ component: {
+ name: 'a-input',
+ vModel: 'value',
+ allowClear: false,
+ },
+ },
+ paymentRemark: {
+ title: '合同约定的付款条件',
+ key: 'paymentRemark',
+ col: { span: 24 },
+ component: {
+ name: 'a-input',
+ vModel: 'value',
+ allowClear: false,
+ },
+ },
+ creditCode: {
+ title: '合同相对人履约情况',
+ key: 'creditCode',
+ col: { span: 24 },
+ component: {
+ name: 'a-input',
+ vModel: 'value',
+ allowClear: false,
+ },
+ },
+ checkResult: {
+ title: '本次验收成果',
+ key: 'checkResult',
+ col: { span: 12 },
+ component: {
+ name: 'a-input',
+ vModel: 'value',
+ allowClear: false,
+ },
+ },
+ delaySay: {
+ title: '延迟履行说明',
+ key: 'delaySay',
+ col: { span: 12 },
+ component: {
+ name: 'a-input',
+ vModel: 'value',
+ allowClear: false,
+ },
+ },
+ isYsDelay: {
+ title: '验收是否延迟履行',
+ key: 'isYsDelay',
+ col: { span: 12 },
+ component: {
+ name: 'fs-dict-radio',
+ vModel: 'value',
+ dict: dict({
+ data: [
+ { label: '否', value: 0 },
+ { label: '是', value: 1 },
+ ],
+ }),
+ },
+ },
+ isFkDelay: {
+ title: '付款是否延迟履行',
+ key: 'isFkDelay',
+ col: { span: 12 },
+ component: {
+ name: 'fs-dict-radio',
+ vModel: 'value',
+ dict: dict({
+ data: [
+ { label: '否', value: 0 },
+ { label: '是', value: 1 },
+ ],
+ }),
+ },
+ },
+ isOver: {
+ title: '合同是否履行完毕',
+ key: 'isOver',
+ col: { span: 12 },
+ component: {
+ name: 'fs-dict-radio',
+ vModel: 'value',
+ dict: dict({
+ data: [
+ { label: '否', value: 0 },
+ { label: '是', value: 1 },
+ ],
+ }),
+ },
+ },
+ toUsePerson: {
+ title: '对方经办人',
+ key: 'toUsePerson',
+ col: { span: 12 },
+ component: {
+ name: 'a-input',
+ vModel: 'value',
+ allowClear: false,
+ },
+ },
+ doneDate: {
+ title: '完成时间',
+ key: 'doneDate',
+ col: { span: 12 },
+ component: {
+ name: 'a-date-picker',
+ vModel: 'value',
+ allowClear: false,
+ format: 'YYYY-MM-DD',
+ valueFormat: 'YYYY-MM-DD',
+ },
+ rules: [{ required: true, message: '请选择有效期' }],
+ },
+ remark: {
+ title: '付款备注',
+ key: 'remark',
+ col: { span: 12 },
+ component: {
+ name: 'a-input',
+ vModel: 'value',
+ allowClear: false,
+ },
+ },
+
+ // marketScope: {
+ // title: '营业执照经营范围',
+ // key: 'marketScope',
+ // col: { span: 24 },
+ // component: {
+ // name: 'a-textarea',
+ // vModel: 'value',
+ // autosize: { minRows: 4, maxRows: 6 },
+ // },
+ // },
+ },
+ };
+}
+
+
+export function getFormSchemaByCertification(_params: any = {}) {
+ return {
+ labelCol: { style: { width: '140px' } },
+ initialForm: {},
+ columns: {
+
+
+ },
+ };
+}
+
+export function getFormSchemaByShareholder(_params: any = {}) {
+ return {
+ labelCol: { style: { width: '140px' } },
+ columns: {
+
+
+
+ },
+ };
+}
diff --git a/apps/web-contract/src/views/contract/perform/edit/components/payment/index.vue b/apps/web-contract/src/views/contract/perform/edit/components/payment/index.vue
index 89f07ec8..6f2afd3f 100644
--- a/apps/web-contract/src/views/contract/perform/edit/components/payment/index.vue
+++ b/apps/web-contract/src/views/contract/perform/edit/components/payment/index.vue
@@ -1,3 +1,288 @@
+
+
- payment
+
+
+
+
+
+
+
+
+ 一键{{ isFold ? '展开' : '收起' }}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 点击上传
+
+
+
+
+
+
+
+
+
+
+
+
+ 点击上传
+
+
+
+
+
+
+
+
+
+
+
diff --git a/apps/web-contract/src/views/contract/perform/edit/components/relieve/curd.tsx b/apps/web-contract/src/views/contract/perform/edit/components/relieve/curd.tsx
index e69de29b..cab1a1eb 100644
--- a/apps/web-contract/src/views/contract/perform/edit/components/relieve/curd.tsx
+++ b/apps/web-contract/src/views/contract/perform/edit/components/relieve/curd.tsx
@@ -0,0 +1,108 @@
+import { dict } from '@fast-crud/fast-crud';
+
+import { DICT_TYPE, getDictObj, getDictOptions } from '#/utils/dict';
+import type { delay } from 'lodash-es';
+import type { Dayjs } from 'dayjs';
+import dayjs from 'dayjs';
+
+export function getFormSchema(_params: any = {}) {
+ return {
+ labelCol: { style: { width: '140px' } },
+ initialForm: {
+ currencyTypeId: 'CNY',
+ },
+ columns: {
+ ctrBaseId: {
+ title: '合同编号',
+ key: 'ctrBaseId',
+ col: { span: 12 },
+ component: {
+ name: 'a-input',
+ vModel: 'value',
+ allowClear: false,
+ },
+ rules: [{ required: true, message: '请输入' }],
+ },
+ ctrName: {
+ title: '合同名称',
+ key: 'ctrName',
+ col: { span: 12 },
+ component: {
+ name: 'a-input',
+ vModel: 'value',
+ allowClear: false,
+ },
+ rules: [{ required: true, message: '请输入合同名称' }],
+ },
+ canType: {
+ title: '事项',
+ key: 'canType',
+ col: { span: 24 },
+ component: {
+ name: 'fs-dict-radio',
+ vModel: 'value',
+ dict: dict({
+ data: [
+ { label: '合同终止', value: 0 },
+ { label: '合同解除', value: 1 },
+ ],
+ }),
+ },
+ },
+
+ cancelReason: {
+ title: '变更原因',
+ key: 'cancelReason',
+ col: { span: 12 },
+ component: {
+ name: 'fs-dict-radio',
+ vModel: 'value',
+ dict: dict({
+ data: [
+ { label: '我方', value: 0 },
+ { label: '对方', value: 1 },
+ { label: '双方', value: 2 },
+ { label: '其他', value: 3 },
+ ],
+ }),
+ },
+ },
+ cancelReasonDesc: {
+ title: '变更原因说明',
+ key: 'cancelReasonDesc',
+ col: { span: 12 },
+
+ component: {
+ name: 'a-textarea',
+ vModel: 'value',
+ autosize: { minRows: 4, maxRows: 6 },
+ },
+ },
+
+
+ },
+ };
+}
+
+
+export function getFormSchemaByCertification(_params: any = {}) {
+ return {
+ labelCol: { style: { width: '140px' } },
+ initialForm: {},
+ columns: {
+
+
+ },
+ };
+}
+
+export function getFormSchemaByShareholder(_params: any = {}) {
+ return {
+ labelCol: { style: { width: '140px' } },
+ columns: {
+
+
+
+ },
+ };
+}
diff --git a/apps/web-contract/src/views/contract/perform/edit/components/relieve/index.vue b/apps/web-contract/src/views/contract/perform/edit/components/relieve/index.vue
index 5512b2ff..1dfd566a 100644
--- a/apps/web-contract/src/views/contract/perform/edit/components/relieve/index.vue
+++ b/apps/web-contract/src/views/contract/perform/edit/components/relieve/index.vue
@@ -1,3 +1,288 @@
+
+
- relieve
+
+
+
+
+
+
+
+
+ 一键{{ isFold ? '展开' : '收起' }}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 点击上传
+
+
+
+
+
+
+
+
+
+
+
+
+ 点击上传
+
+
+
+
+
+
+
+
+
+
+