diff --git a/src/api/mdm/PriceTerms/index.ts b/src/api/mdm/PriceTerms/index.ts new file mode 100644 index 0000000..30ed520 --- /dev/null +++ b/src/api/mdm/PriceTerms/index.ts @@ -0,0 +1,87 @@ +import { LngBPriceTermPageModel, LngBPriceTermPageParams, LngBPriceTermPageResult } from './model/PriceTermsModel'; +import { defHttp } from '/@/utils/http/axios'; +import { ErrorMessageMode } from '/#/axios'; + +enum Api { + Page = '/mdm/priceTerms/page', + List = '/mdm/priceTerms/list', + Info = '/mdm/priceTerms/info', + LngBPriceTerm = '/mdm/priceTerms', + + +} + +/** + * @description: 查询LngBPriceTerm分页列表 + */ +export async function getLngBPriceTermPage(params: LngBPriceTermPageParams, mode: ErrorMessageMode = 'modal') { + return defHttp.get( + { + url: Api.Page, + params, + }, + { + errorMessageMode: mode, + }, + ); +} + +/** + * @description: 获取LngBPriceTerm信息 + */ +export async function getLngBPriceTerm(id: String, mode: ErrorMessageMode = 'modal') { + return defHttp.get( + { + url: Api.Info, + params: { id }, + }, + { + errorMessageMode: mode, + }, + ); +} + +/** + * @description: 新增LngBPriceTerm + */ +export async function addLngBPriceTerm(lngBPriceTerm: Recordable, mode: ErrorMessageMode = 'modal') { + return defHttp.post( + { + url: Api.LngBPriceTerm, + params: lngBPriceTerm, + }, + { + errorMessageMode: mode, + }, + ); +} + +/** + * @description: 更新LngBPriceTerm + */ +export async function updateLngBPriceTerm(lngBPriceTerm: Recordable, mode: ErrorMessageMode = 'modal') { + return defHttp.put( + { + url: Api.LngBPriceTerm, + params: lngBPriceTerm, + }, + { + errorMessageMode: mode, + }, + ); +} + +/** + * @description: 删除LngBPriceTerm(批量删除) + */ +export async function deleteLngBPriceTerm(ids: string[], mode: ErrorMessageMode = 'modal') { + return defHttp.delete( + { + url: Api.LngBPriceTerm, + data: ids, + }, + { + errorMessageMode: mode, + }, + ); +} \ No newline at end of file diff --git a/src/api/mdm/PriceTerms/model/PriceTermsModel.ts b/src/api/mdm/PriceTerms/model/PriceTermsModel.ts new file mode 100644 index 0000000..871ce35 --- /dev/null +++ b/src/api/mdm/PriceTerms/model/PriceTermsModel.ts @@ -0,0 +1,83 @@ +import { BasicPageParams, BasicFetchResult } from '/@/api/model/baseModel'; + +/** + * @description: LngBPriceTerm分页参数 模型 + */ +export interface LngBPriceTermPageParams extends BasicPageParams { + code: string; + + fullName: string; + + freightSign: string; + + insuranceSign: string; + + sort: string; + + valid: string; + + note: string; +} + +/** + * @description: LngBPriceTerm分页返回值模型 + */ +export interface LngBPriceTermPageModel { + id: string; + + code: string; + + fullName: string; + + freightSign: string; + + insuranceSign: string; + + sort: string; + + valid: string; + + note: string; +} + +/** + * @description: LngBPriceTerm表类型 + */ +export interface LngBPriceTermModel { + id: number; + + code: string; + + fullName: string; + + freightSign: string; + + insuranceSign: string; + + sort: number; + + valid: string; + + note: string; + + createUserId: number; + + createDate: string; + + modifyUserId: number; + + modifyDate: string; + + deleteMark: number; + + tenantId: number; + + deptId: number; + + ruleUserId: number; +} + +/** + * @description: LngBPriceTerm分页返回值结构 + */ +export type LngBPriceTermPageResult = BasicFetchResult; \ No newline at end of file diff --git a/src/views/mdm/PriceTerms/components/Form.vue b/src/views/mdm/PriceTerms/components/Form.vue new file mode 100644 index 0000000..96617c7 --- /dev/null +++ b/src/views/mdm/PriceTerms/components/Form.vue @@ -0,0 +1,224 @@ + + \ No newline at end of file diff --git a/src/views/mdm/PriceTerms/components/PriceTermsModal.vue b/src/views/mdm/PriceTerms/components/PriceTermsModal.vue new file mode 100644 index 0000000..168dd47 --- /dev/null +++ b/src/views/mdm/PriceTerms/components/PriceTermsModal.vue @@ -0,0 +1,110 @@ + + \ No newline at end of file diff --git a/src/views/mdm/PriceTerms/components/config.ts b/src/views/mdm/PriceTerms/components/config.ts new file mode 100644 index 0000000..b203cbd --- /dev/null +++ b/src/views/mdm/PriceTerms/components/config.ts @@ -0,0 +1,481 @@ +import { FormProps, FormSchema } from '/@/components/Form'; +import { BasicColumn } from '/@/components/Table'; + +export const formConfig = { + useCustomConfig: false, +}; + +export const searchFormSchema: FormSchema[] = [ + { + field: 'code', + label: '编码', + component: 'Input', + }, + { + field: 'fullName', + label: '名称', + component: 'Input', + }, + { + field: 'freightSign', + label: '是否承担运费', + component: 'XjrSelect', + componentProps: { + datasourceType: 'dic', + params: { itemId: '1978056598125330433' }, + labelField: 'name', + valueField: 'value', + + getPopupContainer: () => document.body, + }, + }, + { + field: 'insuranceSign', + label: '是否承担保险', + component: 'XjrSelect', + componentProps: { + datasourceType: 'dic', + params: { itemId: '1978056598125330433' }, + labelField: 'name', + valueField: 'value', + + getPopupContainer: () => document.body, + }, + }, + { + field: 'sort', + label: '显示顺序', + component: 'Input', + }, + { + field: 'valid', + label: '有效标志', + component: 'XjrSelect', + componentProps: { + datasourceType: 'dic', + params: { itemId: '1978057078528327681' }, + labelField: 'name', + valueField: 'value', + + getPopupContainer: () => document.body, + }, + }, + { + field: 'note', + label: '备注', + component: 'Input', + }, +]; + +export const columns: BasicColumn[] = [ + { + dataIndex: 'code', + title: '编码', + componentType: 'input', + align: 'left', + + sorter: true, + }, + + { + dataIndex: 'fullName', + title: '名称', + componentType: 'input', + align: 'left', + + sorter: true, + }, + + { + dataIndex: 'freightSign', + title: '是否承担运费', + componentType: 'select', + align: 'left', + + sorter: true, + }, + + { + dataIndex: 'insuranceSign', + title: '是否承担保险', + componentType: 'select', + align: 'left', + + sorter: true, + }, + + { + dataIndex: 'sort', + title: '显示顺序', + componentType: 'input', + align: 'left', + + sorter: true, + }, + + { + dataIndex: 'valid', + title: '有效标志', + componentType: 'select', + align: 'left', + + sorter: true, + }, + + { + dataIndex: 'note', + title: '备注', + componentType: 'input', + align: 'left', + + sorter: true, + }, +]; +//表单事件 +export const formEventConfigs = { + 0: [ + { + type: 'circle', + color: '#2774ff', + text: '开始节点', + icon: '#icon-kaishi', + bgcColor: '#D8E5FF', + isUserDefined: false, + }, + { + color: '#F6AB01', + icon: '#icon-chushihua', + text: '初始化表单', + bgcColor: '#f9f5ea', + isUserDefined: false, + nodeInfo: { processEvent: [] }, + }, + ], + 1: [ + { + color: '#B36EDB', + icon: '#icon-shujufenxi', + text: '获取表单数据', + detail: '(新增无此操作)', + bgcColor: '#F8F2FC', + isUserDefined: false, + nodeInfo: { processEvent: [] }, + }, + ], + 2: [ + { + color: '#F8625C', + icon: '#icon-jiazai', + text: '加载表单', + bgcColor: '#FFF1F1', + isUserDefined: false, + nodeInfo: { processEvent: [] }, + }, + ], + 3: [ + { + color: '#6C6AE0', + icon: '#icon-jsontijiao', + text: '提交表单', + bgcColor: '#F5F4FF', + isUserDefined: false, + nodeInfo: { processEvent: [] }, + }, + ], + 4: [ + { + type: 'circle', + color: '#F8625C', + text: '结束节点', + icon: '#icon-jieshuzhiliao', + bgcColor: '#FFD6D6', + isLast: true, + isUserDefined: false, + }, + ], +}; +export const formProps: FormProps = { + labelCol: { span: 3, offset: 0 }, + labelAlign: 'right', + layout: 'horizontal', + size: 'default', + schemas: [ + { + key: 'd35dce42c1e44fb0a865ce284729b071', + field: 'code', + label: '编码', + type: 'input', + component: 'Input', + colProps: { span: 24 }, + defaultValue: '', + componentProps: { + width: '100%', + span: '', + defaultValue: '', + labelWidthMode: 'fix', + labelFixWidth: 120, + responsive: false, + respNewRow: false, + placeholder: '请输入编码', + maxlength: null, + prefix: '', + suffix: '', + addonBefore: '', + addonAfter: '', + disabled: false, + allowClear: false, + showLabel: true, + required: false, + rules: [], + events: {}, + isSave: false, + isShow: true, + scan: false, + style: { width: '100%' }, + }, + }, + { + key: 'a5fcbf1205f3405f9a377cdacbfe2360', + field: 'fullName', + label: '名称', + type: 'input', + component: 'Input', + colProps: { span: 24 }, + defaultValue: '', + componentProps: { + width: '100%', + span: '', + defaultValue: '', + labelWidthMode: 'fix', + labelFixWidth: 120, + responsive: false, + respNewRow: false, + placeholder: '请输入名称', + maxlength: null, + prefix: '', + suffix: '', + addonBefore: '', + addonAfter: '', + disabled: false, + allowClear: false, + showLabel: true, + required: false, + rules: [], + events: {}, + isSave: false, + isShow: true, + scan: false, + style: { width: '100%' }, + }, + }, + { + key: 'fe4977ec486f4e949e13656d0614af30', + field: 'freightSign', + label: '是否承担运费', + type: 'select', + component: 'XjrSelect', + colProps: { span: 24 }, + componentProps: { + width: '100%', + span: '', + labelWidthMode: 'fix', + labelFixWidth: 120, + responsive: false, + respNewRow: false, + placeholder: '请选择是否承担运费', + sepTextField: '', + showLabel: true, + showSearch: false, + clearable: false, + disabled: false, + mode: 'multiple', + staticOptions: [ + { key: 1, label: 'Option 1', value: 'Option 1' }, + { key: 2, label: 'Option 2', value: 'Option 2' }, + { key: 3, label: 'Option 3', value: 'Option 3' }, + ], + defaultSelect: null, + datasourceType: 'dic', + params: { itemId: '1978056598125330433' }, + labelField: 'name', + valueField: 'value', + apiConfig: { + path: 'CodeGeneration/selection', + method: 'GET', + apiId: '93d735dcb7364a0f8102188ec4d77ac7', + }, + dicOptions: [], + required: false, + rules: [], + events: {}, + isShow: true, + itemId: '1978056598125330433', + style: { width: '100%' }, + }, + }, + { + key: 'fb97e7c3e4a64c8aacdbc2e12f6b31c4', + field: 'insuranceSign', + label: '是否承担保险', + type: 'select', + component: 'XjrSelect', + colProps: { span: 24 }, + componentProps: { + width: '100%', + span: '', + labelWidthMode: 'fix', + labelFixWidth: 120, + responsive: false, + respNewRow: false, + placeholder: '请选择是否承担保险', + sepTextField: '', + showLabel: true, + showSearch: false, + clearable: false, + disabled: false, + mode: 'multiple', + staticOptions: [ + { key: 1, label: 'Option 1', value: 'Option 1' }, + { key: 2, label: 'Option 2', value: 'Option 2' }, + { key: 3, label: 'Option 3', value: 'Option 3' }, + ], + defaultSelect: null, + datasourceType: 'dic', + params: { itemId: '1978056598125330433' }, + labelField: 'name', + valueField: 'value', + apiConfig: { + path: 'CodeGeneration/selection', + method: 'GET', + apiId: '93d735dcb7364a0f8102188ec4d77ac7', + }, + dicOptions: [], + required: false, + rules: [], + events: {}, + isShow: true, + itemId: '1978056598125330433', + style: { width: '100%' }, + }, + }, + { + key: 'edf99f70403b49399daf3df6e956e0e9', + field: 'sort', + label: '显示顺序', + type: 'input', + component: 'Input', + colProps: { span: 24 }, + defaultValue: '', + componentProps: { + width: '100%', + span: '', + defaultValue: '', + labelWidthMode: 'fix', + labelFixWidth: 120, + responsive: false, + respNewRow: false, + placeholder: '请输入显示顺序', + maxlength: null, + prefix: '', + suffix: '', + addonBefore: '', + addonAfter: '', + disabled: false, + allowClear: false, + showLabel: true, + required: false, + rules: [], + events: {}, + isSave: false, + isShow: true, + scan: false, + style: { width: '100%' }, + }, + }, + { + key: '34054c282479487ba146136da7b81ceb', + field: 'valid', + label: '有效标志', + type: 'select', + component: 'XjrSelect', + colProps: { span: 24 }, + componentProps: { + width: '100%', + span: '', + labelWidthMode: 'fix', + labelFixWidth: 120, + responsive: false, + respNewRow: false, + placeholder: '请选择有效标志', + sepTextField: '', + showLabel: true, + showSearch: false, + clearable: false, + disabled: false, + mode: 'multiple', + staticOptions: [ + { key: 1, label: 'Option 1', value: 'Option 1' }, + { key: 2, label: 'Option 2', value: 'Option 2' }, + { key: 3, label: 'Option 3', value: 'Option 3' }, + ], + defaultSelect: null, + datasourceType: 'dic', + params: { itemId: '1978057078528327681' }, + labelField: 'name', + valueField: 'value', + apiConfig: { + path: 'CodeGeneration/selection', + method: 'GET', + apiId: '93d735dcb7364a0f8102188ec4d77ac7', + }, + dicOptions: [], + required: false, + rules: [], + events: {}, + isShow: true, + itemId: '1978057078528327681', + style: { width: '100%' }, + }, + }, + { + key: '8c025f7b82754e5e84204a316e305ba8', + field: 'note', + label: '备注', + type: 'input', + component: 'Input', + colProps: { span: 24 }, + defaultValue: '', + componentProps: { + width: '100%', + span: '', + defaultValue: '', + labelWidthMode: 'fix', + labelFixWidth: 120, + responsive: false, + respNewRow: false, + placeholder: '请输入备注', + maxlength: null, + prefix: '', + suffix: '', + addonBefore: '', + addonAfter: '', + disabled: false, + allowClear: false, + showLabel: true, + required: false, + rules: [], + events: {}, + isSave: false, + isShow: true, + scan: false, + style: { width: '100%' }, + }, + }, + ], + showActionButtonGroup: false, + buttonLocation: 'center', + actionColOptions: { span: 24 }, + showResetButton: false, + showSubmitButton: false, + hiddenComponent: [], +}; \ No newline at end of file diff --git a/src/views/mdm/PriceTerms/components/workflowPermission.ts b/src/views/mdm/PriceTerms/components/workflowPermission.ts new file mode 100644 index 0000000..24af2c9 --- /dev/null +++ b/src/views/mdm/PriceTerms/components/workflowPermission.ts @@ -0,0 +1,107 @@ +export const permissionList = [ + { + required: true, + view: true, + edit: true, + disabled: false, + isSaveTable: false, + tableName: '', + fieldName: '编码', + fieldId: 'code', + isSubTable: false, + showChildren: true, + type: 'input', + key: 'd35dce42c1e44fb0a865ce284729b071', + children: [], + }, + { + required: true, + view: true, + edit: true, + disabled: false, + isSaveTable: false, + tableName: '', + fieldName: '名称', + fieldId: 'fullName', + isSubTable: false, + showChildren: true, + type: 'input', + key: 'a5fcbf1205f3405f9a377cdacbfe2360', + children: [], + }, + { + required: true, + view: true, + edit: true, + disabled: false, + isSaveTable: false, + tableName: '', + fieldName: '是否承担运费', + fieldId: 'freightSign', + isSubTable: false, + showChildren: true, + type: 'select', + key: 'fe4977ec486f4e949e13656d0614af30', + children: [], + }, + { + required: true, + view: true, + edit: true, + disabled: false, + isSaveTable: false, + tableName: '', + fieldName: '是否承担保险', + fieldId: 'insuranceSign', + isSubTable: false, + showChildren: true, + type: 'select', + key: 'fb97e7c3e4a64c8aacdbc2e12f6b31c4', + children: [], + }, + { + required: true, + view: true, + edit: true, + disabled: false, + isSaveTable: false, + tableName: '', + fieldName: '显示顺序', + fieldId: 'sort', + isSubTable: false, + showChildren: true, + type: 'input', + key: 'edf99f70403b49399daf3df6e956e0e9', + children: [], + }, + { + required: true, + view: true, + edit: true, + disabled: false, + isSaveTable: false, + tableName: '', + fieldName: '有效标志', + fieldId: 'valid', + isSubTable: false, + showChildren: true, + type: 'select', + key: '34054c282479487ba146136da7b81ceb', + children: [], + }, + { + required: true, + view: true, + edit: true, + disabled: false, + isSaveTable: false, + tableName: '', + fieldName: '备注', + fieldId: 'note', + isSubTable: false, + showChildren: true, + type: 'input', + key: '8c025f7b82754e5e84204a316e305ba8', + children: [], + }, +]; \ No newline at end of file diff --git a/src/views/mdm/PriceTerms/index.vue b/src/views/mdm/PriceTerms/index.vue new file mode 100644 index 0000000..c6413dd --- /dev/null +++ b/src/views/mdm/PriceTerms/index.vue @@ -0,0 +1,300 @@ + + + \ No newline at end of file