feat: 设置-合同设置-合同条款设置

This commit is contained in:
Zzz1zz
2025-07-30 00:10:48 +08:00
parent 3caa3494c9
commit ff528ae7ef
7 changed files with 199 additions and 66 deletions
@@ -21,9 +21,9 @@
<icon-idcard v-if="record.isManager === 1" />
</template>
<template #status="{ record }">
<a-tag :color="record.status == 1 ? 'green' : 'red'">
{{ record.status == 1 ? $t('enable') : $t('disable') }}</a-tag
>
<a-tag :color="record.status === 1 ? 'green' : 'red'">
{{ record.status === 1 ? $t('enable') : $t('disable') }}
</a-tag>
</template>
<template #operate="{ record }">
<a-space>
@@ -35,7 +35,7 @@
<template #content>
<a-space direction="vertical">
<a-button @click="handleToggleStatus(record.id, record.status)">
{{ record.status == 1 ? $t('disable') : $t('enable') }}
{{ record.status === 1 ? $t('disable') : $t('enable') }}
</a-button>
<a-button status="danger" @click="handleDel(record.id)">
{{ $t('delete') }}
@@ -48,7 +48,7 @@
</DataTable>
<contractNumberFormDrawer
v-model:visible="showModal"
:record="currentNumberInfo"
:record="currentTermInfo"
:is-edit="isEdit"
@submitted="getTermsSettingListData"
/>
@@ -66,8 +66,7 @@
disableTermsSetting,
delTermsSetting,
} from '@/api/setting';
import { ContractTermInfo, UserStatus } from '@/types/setting';
import { camelToSnake } from '@/utils/caseConvert';
import { TermSettingItem, UserStatus } from '@/types/setting';
import contractNumberFormDrawer from './drawer/contract-terms-form-drawer.vue';
const {
@@ -89,10 +88,10 @@
pageSizeOptions: [10, 20, 50, 100],
});
const contractNumbeList = ref<ContractTermInfo[]>([]);
const contractNumbeList = ref<TermSettingItem[]>([]);
const showModal = ref<boolean>(false);
const isEdit = ref<boolean>(false);
const currentNumberInfo = ref<any>(null);
const currentTermInfo = ref<any>(null);
// 列配置
const columns: TableColumnData[] = [
{
@@ -106,7 +105,6 @@
title: '条款类别',
dataIndex: 'type',
key: 'type',
// width: 250,
ellipsis: true,
render: ({ record }) => record.type || '-',
},
@@ -138,9 +136,9 @@
setLoading(true);
const { code, data } = await getTermsSettingList(params);
if (code === 200 && data) {
const { contractCodeSetting, page } = data;
contractNumbeList.value = Array.isArray(contractCodeSetting)
? contractCodeSetting
const { contractTermsSetting, page } = data;
contractNumbeList.value = Array.isArray(contractTermsSetting)
? contractTermsSetting
: [];
setData(contractNumbeList.value);
if (page?.total) setTotal(page?.total);
@@ -190,22 +188,18 @@
const getTermsSettingFromIdData = async (id: number) => {
const { code, data } = await getTermsSettingFromId(id);
if (code === 200 && data) {
const { contractCodeSetting } = data;
currentNumberInfo.value = contractCodeSetting || null;
currentNumberInfo.value.arrange = camelToSnake(
currentNumberInfo.value.arrange
);
const { contractTermsSetting } = data;
currentTermInfo.value = contractTermsSetting || null;
}
};
const handleAddContractNumber = () => {
currentNumberInfo.value = null;
currentTermInfo.value = null;
isEdit.value = false;
showModal.value = true;
};
const handleEditContractNumber = async (id: number) => {
await getTermsSettingFromIdData(id);
isEdit.value = true;
// currentNumberInfo.value = info
showModal.value = true;
};
// 初始化数据