增强客户编码管理功能,新增客户编码唯一性校验,确保同租户内客户编码不重复。更新相关API和前端表单验证逻辑,优化Excel导入功能以处理客户编码的有效性和唯一性。添加数据库约束以维护数据完整性。
This commit is contained in:
@@ -5,6 +5,7 @@ const { createConfirm } = useMessage();
|
||||
|
||||
enum Api {
|
||||
list = '/xslmes/mesXslCustomer/list',
|
||||
checkCustomerCode = '/xslmes/mesXslCustomer/checkCustomerCode',
|
||||
queryById = '/xslmes/mesXslCustomer/queryById',
|
||||
save = '/xslmes/mesXslCustomer/add',
|
||||
edit = '/xslmes/mesXslCustomer/edit',
|
||||
@@ -22,6 +23,10 @@ export const list = (params) => defHttp.get({ url: Api.list, params });
|
||||
|
||||
export const queryById = (params: { id: string }) => defHttp.get({ url: Api.queryById, params });
|
||||
|
||||
/** 客户编码唯一性校验(同租户;编辑传 dataId) */
|
||||
export const checkCustomerCode = (params: { customerCode: string; dataId?: string }) =>
|
||||
defHttp.get({ url: Api.checkCustomerCode, params });
|
||||
|
||||
export const deleteOne = (params, handleSuccess) => {
|
||||
return defHttp.delete({ url: Api.deleteOne, params }, { joinParamsToUrl: true }).then(() => {
|
||||
handleSuccess();
|
||||
|
||||
@@ -1,4 +1,5 @@
|
||||
import { BasicColumn, FormSchema } from '/@/components/Table';
|
||||
import { checkCustomerCode } from './MesXslCustomer.api';
|
||||
|
||||
export const columns: BasicColumn[] = [
|
||||
{ title: 'ID', align: 'center', dataIndex: 'id', width: 280, ellipsis: true, defaultHidden: true },
|
||||
@@ -48,7 +49,26 @@ export const formSchema: FormSchema[] = [
|
||||
field: 'customerCode',
|
||||
required: true,
|
||||
component: 'Input',
|
||||
componentProps: { placeholder: '请输入客户编码' },
|
||||
componentProps: { placeholder: '同租户内唯一,不可与已有客户重复' },
|
||||
dynamicRules: ({ model }) => [
|
||||
{ required: true, message: '请输入客户编码' },
|
||||
{
|
||||
validator: async (_rule, value) => {
|
||||
const v = value == null ? '' : String(value).trim();
|
||||
if (!v) {
|
||||
return Promise.resolve();
|
||||
}
|
||||
try {
|
||||
await checkCustomerCode({ customerCode: v, dataId: model?.id });
|
||||
return Promise.resolve();
|
||||
} catch (e: any) {
|
||||
const msg = e?.response?.data?.message || e?.message || '该客户编码已存在';
|
||||
return Promise.reject(msg);
|
||||
}
|
||||
},
|
||||
trigger: 'blur',
|
||||
},
|
||||
],
|
||||
},
|
||||
{
|
||||
label: '客户名称',
|
||||
|
||||
Reference in New Issue
Block a user