diff --git a/apps/web-contract/src/views/contract/approval/edit/index.vue b/apps/web-contract/src/views/contract/approval/edit/index.vue
index 451c0c6a..4e7bcd67 100644
--- a/apps/web-contract/src/views/contract/approval/edit/index.vue
+++ b/apps/web-contract/src/views/contract/approval/edit/index.vue
@@ -213,8 +213,6 @@ async function handleChooseUserConfirm(e) {
}
async function handleSave() {
- isLoading.value = true;
-
try {
await formRef.value.submit();
} catch {
@@ -223,6 +221,8 @@ async function handleSave() {
}
try {
+ isLoading.value = true;
+
let newForm: any = {};
// 判断有没有签约依据
diff --git a/apps/web-contract/src/views/contract/declaration/edit/curd.tsx b/apps/web-contract/src/views/contract/declaration/edit/curd.tsx
index 14778fe7..8f5f327f 100644
--- a/apps/web-contract/src/views/contract/declaration/edit/curd.tsx
+++ b/apps/web-contract/src/views/contract/declaration/edit/curd.tsx
@@ -2,10 +2,10 @@ import { dict } from '@fast-crud/fast-crud';
import { message } from 'ant-design-vue';
import dayjs, { type Dayjs } from 'dayjs';
-import { DICT_TYPE, getDictObj, getDictOptions } from '#/utils/dict';
+import { DICT_TYPE, getDictOptions } from '#/utils/dict';
export function getFormSchema(params: any = {}) {
- const { chooseCompanyModalApi, formRef } = params || {};
+ const { chooseCompanyModalApi, formRef, dictMap } = params || {};
const disabledDate = (current: Dayjs) => {
const form = formRef.value.form;
@@ -43,7 +43,7 @@ export function getFormSchema(params: any = {}) {
vModel: 'value',
allowClear: false,
},
- rules: [{ required: true }],
+ rules: [{ required: true, message: '请输入合同标的' }],
},
objectsSum: {
title: '标的金额',
@@ -57,10 +57,7 @@ export function getFormSchema(params: any = {}) {
suffixRender({ form }) {
return (
- {
- getDictObj(DICT_TYPE.contract_currency_unit, form.priceType)
- ?.label
- }
+ {dictMap[DICT_TYPE.contract_currency_unit]?.label}
);
},
@@ -74,7 +71,7 @@ export function getFormSchema(params: any = {}) {
vModel: 'value',
allowClear: false,
dict: dict({
- data: getDictOptions(DICT_TYPE.common_whether),
+ data: dictMap[DICT_TYPE.common_whether],
}),
},
},
@@ -145,10 +142,8 @@ export function getFormSchema(params: any = {}) {
},
render({ form }) {
// 注意此处的v-model写法
- const options1 = getDictOptions(
- DICT_TYPE.contract_authorization_period,
- 'string',
- );
+
+ const options1 = dictMap[DICT_TYPE.contract_authorization_period];
return (
diff --git a/apps/web-contract/src/views/contract/declaration/edit/index.vue b/apps/web-contract/src/views/contract/declaration/edit/index.vue
index a4e2ef76..2ac713c4 100644
--- a/apps/web-contract/src/views/contract/declaration/edit/index.vue
+++ b/apps/web-contract/src/views/contract/declaration/edit/index.vue
@@ -15,6 +15,7 @@ import { logger } from 'common-utils';
import Apis from '#/api';
import { useVxeTable } from '#/hooks/vxeTable';
+import { DICT_TYPE, getDictDatasAsync } from '#/utils/dict';
import { FileUploader } from '#/utils/file';
import chooseUserModal from '#/views/system/user/choose-user-modal.vue';
@@ -53,9 +54,7 @@ const formBindingByBaseInfo = ref({
columns: {},
});
-const formBinding = ref({
- ...getFormSchema({ chooseCompanyModalApi, formRef }),
-});
+const formBinding = ref
(null);
function getColumns(): any {
return [
@@ -223,6 +222,10 @@ async function handleSave() {
// newForm.fileUuid = (files.map((item) => item.fileUuid) || []).join(',')
// }
+ form.ctrBaseId = form.contractId;
+ form.ctrName = form.contractName;
+ delete form.guid;
+
const data = await Apis.sbCtrBasePt.post_save({ data: form });
id.value = data.value;
message.success('保存成功');
@@ -271,6 +274,18 @@ onMounted(async () => {
});
contractTypeData.value = contractReferTypeData.rows || [];
+ // 查询我方签约人
+
+ const dictMap = await getDictDatasAsync([
+ DICT_TYPE.contract_currency_unit,
+ DICT_TYPE.common_whether,
+ DICT_TYPE.contract_authorization_period,
+ ]);
+ formBinding.value = getFormSchema({
+ chooseCompanyModalApi,
+ formRef,
+ dictMap,
+ });
formBindingByBaseInfo.value.columns = getFormSchemaByBaseInfo({
contractTypeData: contractTypeData.value,
});
diff --git a/apps/web-contract/src/views/contract/sign-authorization/edit/curd.tsx b/apps/web-contract/src/views/contract/sign-authorization/edit/curd.tsx
index 2bca092b..de8a8657 100644
--- a/apps/web-contract/src/views/contract/sign-authorization/edit/curd.tsx
+++ b/apps/web-contract/src/views/contract/sign-authorization/edit/curd.tsx
@@ -281,6 +281,7 @@ export function getFormSchemaByAuthRange(params?: any): any {
col: { span: 8 },
component: {
...unitComponentProps,
+ disabled: readOnly,
},
rules: [{ required: true, message: '请选择承办部门' }],
},
@@ -293,6 +294,7 @@ export function getFormSchemaByAuthRange(params?: any): any {
vModel: 'value',
class: 'min-w-[180px]',
prototype: true,
+ disabled: readOnly,
dict: dict({
async getData(_context) {
return filterContractTypes(contractTypeData, '-1');
@@ -306,20 +308,7 @@ export function getFormSchemaByAuthRange(params?: any): any {
getComponentRef('ctrTwoType').reloadDict(); // 执行city的select组件的reloadDict()方法,触发“city”重新加载字典
},
},
- conditionalRender: {
- match(_context) {
- return readOnly;
- },
- render({ form }) {
- const data = filterContractTypes(contractTypeData, '-1');
- for (const item of data) {
- if (item.value === form.ctrType) {
- return {item.label};
- }
- }
- return ;
- },
- },
+ rules: [{ required: true, message: '请选择合同类别' }],
},
ctrTwoType: {
title: '二级类别',
@@ -330,26 +319,14 @@ export function getFormSchemaByAuthRange(params?: any): any {
vModel: 'value',
class: 'min-w-[180px]',
prototype: true,
+ disabled: readOnly,
dict: dict({
async getData({ form = {} }) {
return filterContractTypes(contractTypeData, form.ctrType);
},
}),
},
- conditionalRender: {
- match(_context) {
- return readOnly;
- },
- render({ form }) {
- const data = filterContractTypes(contractTypeData, form.ctrType);
- for (const item of data) {
- if (item.value === form.ctrTwoType) {
- return {item.label};
- }
- }
- return ;
- },
- },
+ rules: [{ required: true, message: '请选择二级类别' }],
},
price: {
title: '标的金额',
diff --git a/apps/web-contract/src/views/contract/sign-authorization/edit/index.vue b/apps/web-contract/src/views/contract/sign-authorization/edit/index.vue
index 3e1c3401..a2fe352d 100644
--- a/apps/web-contract/src/views/contract/sign-authorization/edit/index.vue
+++ b/apps/web-contract/src/views/contract/sign-authorization/edit/index.vue
@@ -118,7 +118,10 @@ async function handleSave() {
const form = formRef.value.form;
const formByAuthRange = formRefByAuthRange.value.form;
- console.log('提交表单', form, formBindingByAuthRange);
+ console.log('提交表单', form, formByAuthRange);
+
+ console.log('contractTypeData', contractTypeData.value);
+
try {
await formRef.value.submit();
await formRefByAuthRange.value.submit();
@@ -143,13 +146,16 @@ async function handleSave() {
}
}
+ debugger;
+ console.log('提交表单', form, formByAuthRange);
+
// 获取字典数据的name值
for (const item of contractTypeData.value) {
- if (item.contrLevelId === form.ctrType) {
- form.ctrTypeName = item.contrLevelName;
+ if (item.contrLevelId === formByAuthRange.ctrType) {
+ formByAuthRange.ctrTypeName = item.contrLevelName;
}
- if (item.contrLevelId === form.ctrTwoType) {
- form.ctrTwoTypeName = item.contrLevelName;
+ if (item.contrLevelId === formByAuthRange.ctrTwoType) {
+ formByAuthRange.ctrTwoTypeName = item.contrLevelName;
}
}
@@ -184,19 +190,19 @@ async function handleSave() {
},
RlHtSqConsignCqtype: {
consignCqtypeId: '',
- contractOneTypeId: form.ctrType,
- contractOneTypeName: form.ctrTypeName,
- contractTwoTypeId: form.ctrTwoType,
- contractTwoTypeName: form.ctrTwoTypeName,
+ contractOneTypeId: formByAuthRange.ctrType,
+ contractOneTypeName: formByAuthRange.ctrTypeName,
+ contractTwoTypeId: formByAuthRange.ctrTwoType,
+ contractTwoTypeName: formByAuthRange.ctrTwoTypeName,
// inputDepartId: '2024',
// inputDepartName: 'xxxx',
// remark: '',
- contractMoneyDown: form.contractMoneyDown,
- contractMoneyUp: form.contractMoneyUp,
- priceTypeId: form.priceType,
+ contractMoneyDown: formByAuthRange.contractMoneyDown,
+ contractMoneyUp: formByAuthRange.contractMoneyUp,
+ priceTypeId: formByAuthRange.priceType,
priceTypeName: getDictObj(
DICT_TYPE.contract_currency_unit,
- form.priceType,
+ formByAuthRange.priceType,
)?.label,
},
RlHtSqConsignDxtype: {
diff --git a/apps/web-office/src/views/meeting/config/components/addressor-sort-setting/addressor-sort-edit-modal.vue b/apps/web-office/src/views/meeting/config/components/addressor-sort-setting/addressor-sort-edit-modal.vue
index 8fda8dbc..4765999c 100644
--- a/apps/web-office/src/views/meeting/config/components/addressor-sort-setting/addressor-sort-edit-modal.vue
+++ b/apps/web-office/src/views/meeting/config/components/addressor-sort-setting/addressor-sort-edit-modal.vue
@@ -30,34 +30,28 @@ const formBinding = ref({
initialForm: {},
labelCol: { style: { width: '120px' } },
columns: {
- // unitId: {
- // title: '选择单位',
- // key: 'unitId',
- // col: { span: 12 },
- // component: unitComponentProps,
- // },
- // userName: {
- // title: '选择人员',
- // key: 'userId',
- // col: { span: 12 },
- // component: {
- // name: 'a-input',
- // vModel: 'value',
- // readOnly: true,
- // onClick: () => {
- // chooseUserModalApi.open();
- // },
- // },
- // },
name: {
- title: '单位/人员名称',
+ title: '单位/人员选择',
key: 'name',
component: {
name: 'a-input',
vModel: 'value',
readOnly: true,
+ onClick: () => {
+ chooseUserModalApi.open();
+ },
},
},
+ id: {
+ title: '单位/人员id',
+ key: 'id',
+ component: {
+ name: 'a-input',
+ vModel: 'value',
+ disabled: true,
+ },
+ helper: '无需填写,完成上一步单位/人员选择后自动带出',
+ },
sort: {
title: '发言顺序',
key: 'sort',
@@ -84,12 +78,24 @@ const currUser = ref({});
function handleChooseUserRowClick(row) {
formRef.value?.setFormData({
- userName: row.label,
+ name: row.EMPLOYEE_NAME,
+ id: row.ACCOUNT_ID,
});
currUser.value = row;
chooseUserModalApi.close();
}
+function handleChooseUserDeptClick(rows) {
+ if (rows.length > 0) {
+ const row = rows[0];
+ formRef.value?.setFormData({
+ name: row.label,
+ id: row.key,
+ });
+ chooseUserModalApi.close();
+ }
+}
+
const [Modal, modalApi] = useVbenModal({
async onOpenChange(isOpen: boolean) {
if (isOpen) {
@@ -132,7 +138,12 @@ const [Modal, modalApi] = useVbenModal({
:loading="isConfirmLoading"
:title="data.isUpdate ? '修改会议发言人顺序' : '新增会议发言人顺序'"
>
-
+
import { computed, nextTick, onMounted, onUnmounted, reactive, ref } from 'vue';
-import { Page, useVbenModal } from '@vben/common-ui';
+import { useVbenModal } from '@vben/common-ui';
import {
MdiExport,
MdiRadioChecked,
@@ -166,7 +166,7 @@ onUnmounted(() => {
-
+
{
-
+