From f22ec63c28c2339fb0e17a096101d913996a9cb1 Mon Sep 17 00:00:00 2001 From: wuxw <928255095@qq.com> Date: Wed, 4 Jun 2025 02:14:08 +0800 Subject: [PATCH] 开发供应商功能 --- src/api/scm/supplierManageApi.js | 141 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ src/api/scm/supplierTypeManageApi.js | 81 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ src/components/scm/AddSupplier.vue | 157 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ src/components/scm/AddSupplierType.vue | 79 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ src/components/scm/ConfigSupplier.vue | 91 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ src/components/scm/DeleteSupplier.vue | 62 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ src/components/scm/DeleteSupplierType.vue | 47 +++++++++++++++++++++++++++++++++++++++++++++++ src/components/scm/EditSupplier.vue | 159 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ src/components/scm/EditSupplierType.vue | 84 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ src/i18n/index.js | 6 ++++++ src/router/index.js | 14 ++++++++++++-- src/views/mall/junkRequirementManageLang.js | 24 ------------------------ src/views/mall/storeInfoManageLang.js | 34 ---------------------------------- src/views/scm/supplierManageLang.js | 60 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ src/views/scm/supplierManageList.vue | 203 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ src/views/scm/supplierTypeManageLang.js | 108 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ src/views/scm/supplierTypeManageList.vue | 149 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 17 files changed, 1439 insertions(+), 60 deletions(-) create mode 100644 src/api/scm/supplierManageApi.js create mode 100644 src/api/scm/supplierTypeManageApi.js create mode 100644 src/components/scm/AddSupplier.vue create mode 100644 src/components/scm/AddSupplierType.vue create mode 100644 src/components/scm/ConfigSupplier.vue create mode 100644 src/components/scm/DeleteSupplier.vue create mode 100644 src/components/scm/DeleteSupplierType.vue create mode 100644 src/components/scm/EditSupplier.vue create mode 100644 src/components/scm/EditSupplierType.vue create mode 100644 src/views/scm/supplierManageLang.js create mode 100644 src/views/scm/supplierManageList.vue create mode 100644 src/views/scm/supplierTypeManageLang.js create mode 100644 src/views/scm/supplierTypeManageList.vue diff --git a/src/api/scm/supplierManageApi.js b/src/api/scm/supplierManageApi.js new file mode 100644 index 0000000..60af5e3 --- /dev/null +++ b/src/api/scm/supplierManageApi.js @@ -0,0 +1,141 @@ +import request from '@/utils/request' + +// 查询供应商列表 +export function listSupplier(params) { + return new Promise((resolve, reject) => { + request({ + url: '/supplier.listSupplier', + method: 'get', + params + }).then(response => { + const res = response.data + if (res.code === 0) { + resolve(res) + } else { + reject(new Error(res.msg || '查询供应商列表失败')) + } + }).catch(error => { + reject(error) + }) + }) +} + +// 添加供应商 +export function saveSupplier(data) { + return new Promise((resolve, reject) => { + request({ + url: '/supplier.saveSupplier', + method: 'post', + data + }).then(response => { + const res = response.data + if (res.code === 0) { + resolve(res) + } else { + reject(new Error(res.msg || '添加供应商失败')) + } + }).catch(error => { + reject(error) + }) + }) +} + +// 更新供应商 +export function updateSupplier(data) { + return new Promise((resolve, reject) => { + request({ + url: '/supplier.updateSupplier', + method: 'post', + data + }).then(response => { + const res = response.data + if (res.code === 0) { + resolve(res) + } else { + reject(new Error(res.msg || '更新供应商失败')) + } + }).catch(error => { + reject(error) + }) + }) +} + +// 删除供应商 +export function deleteSupplier(supplierId) { + return new Promise((resolve, reject) => { + request({ + url: '/supplier.deleteSupplier', + method: 'post', + data: { supplierId } + }).then(response => { + const res = response.data + if (res.code === 0) { + resolve(res) + } else { + reject(new Error(res.msg || '删除供应商失败')) + } + }).catch(error => { + reject(error) + }) + }) +} + +// 查询供应商类型列表 +export function listSupplierType(params) { + return new Promise((resolve, reject) => { + request({ + url: '/supplierType.listSupplierType', + method: 'get', + params + }).then(response => { + const res = response.data + if (res.code === 0) { + resolve(res) + } else { + reject(new Error(res.msg || '查询供应商类型失败')) + } + }).catch(error => { + reject(error) + }) + }) +} + +// 查询供应商配置 +export function listSupplierConfig(params) { + return new Promise((resolve, reject) => { + request({ + url: '/supplierType.listSupplierConfig', + method: 'get', + params + }).then(response => { + const res = response.data + if (res.code === 0) { + resolve(res) + } else { + reject(new Error(res.msg || '查询供应商配置失败')) + } + }).catch(error => { + reject(error) + }) + }) +} + +// 保存供应商配置 +export function saveSupplierConfig(data) { + return new Promise((resolve, reject) => { + request({ + url: '/supplierType.saveSupplierConfig', + method: 'post', + data + }).then(response => { + const res = response.data + if (res.code === 0) { + resolve(res) + } else { + reject(new Error(res.msg || '保存供应商配置失败')) + } + }).catch(error => { + reject(error) + }) + }) +} \ No newline at end of file diff --git a/src/api/scm/supplierTypeManageApi.js b/src/api/scm/supplierTypeManageApi.js new file mode 100644 index 0000000..5b682f1 --- /dev/null +++ b/src/api/scm/supplierTypeManageApi.js @@ -0,0 +1,81 @@ +import request from '@/utils/request' + +// 获取供应商类型列表 +export function listSupplierType(params) { + return new Promise((resolve, reject) => { + request({ + url: '/supplierType.listSupplierType', + method: 'get', + params + }).then(response => { + const res = response.data + if (res.code === 0) { + resolve(res) + } else { + reject(new Error(res.msg || '获取供应商类型列表失败')) + } + }).catch(error => { + reject(error) + }) + }) +} + +// 添加供应商类型 +export function saveSupplierType(data) { + return new Promise((resolve, reject) => { + request({ + url: '/supplierType.saveSupplierType', + method: 'post', + data + }).then(response => { + const res = response.data + if (res.code === 0) { + resolve(res) + } else { + reject(new Error(res.msg || '添加供应商类型失败')) + } + }).catch(error => { + reject(error) + }) + }) +} + +// 更新供应商类型 +export function updateSupplierType(data) { + return new Promise((resolve, reject) => { + request({ + url: '/supplierType.updateSupplierType', + method: 'post', + data + }).then(response => { + const res = response.data + if (res.code === 0) { + resolve(res) + } else { + reject(new Error(res.msg || '更新供应商类型失败')) + } + }).catch(error => { + reject(error) + }) + }) +} + +// 删除供应商类型 +export function deleteSupplierType(stId) { + return new Promise((resolve, reject) => { + request({ + url: '/supplierType.deleteSupplierType', + method: 'post', + data: { stId } + }).then(response => { + const res = response.data + if (res.code === 0) { + resolve(res) + } else { + reject(new Error(res.msg || '删除供应商类型失败')) + } + }).catch(error => { + reject(error) + }) + }) +} \ No newline at end of file diff --git a/src/components/scm/AddSupplier.vue b/src/components/scm/AddSupplier.vue new file mode 100644 index 0000000..bf5be36 --- /dev/null +++ b/src/components/scm/AddSupplier.vue @@ -0,0 +1,157 @@ + + + + + \ No newline at end of file diff --git a/src/components/scm/AddSupplierType.vue b/src/components/scm/AddSupplierType.vue new file mode 100644 index 0000000..30d327b --- /dev/null +++ b/src/components/scm/AddSupplierType.vue @@ -0,0 +1,79 @@ + + + \ No newline at end of file diff --git a/src/components/scm/ConfigSupplier.vue b/src/components/scm/ConfigSupplier.vue new file mode 100644 index 0000000..63e7674 --- /dev/null +++ b/src/components/scm/ConfigSupplier.vue @@ -0,0 +1,91 @@ + + + + + \ No newline at end of file diff --git a/src/components/scm/DeleteSupplier.vue b/src/components/scm/DeleteSupplier.vue new file mode 100644 index 0000000..2bb869e --- /dev/null +++ b/src/components/scm/DeleteSupplier.vue @@ -0,0 +1,62 @@ + + + + + \ No newline at end of file diff --git a/src/components/scm/DeleteSupplierType.vue b/src/components/scm/DeleteSupplierType.vue new file mode 100644 index 0000000..1d55ce7 --- /dev/null +++ b/src/components/scm/DeleteSupplierType.vue @@ -0,0 +1,47 @@ + + + \ No newline at end of file diff --git a/src/components/scm/EditSupplier.vue b/src/components/scm/EditSupplier.vue new file mode 100644 index 0000000..efa35c3 --- /dev/null +++ b/src/components/scm/EditSupplier.vue @@ -0,0 +1,159 @@ + + + + + \ No newline at end of file diff --git a/src/components/scm/EditSupplierType.vue b/src/components/scm/EditSupplierType.vue new file mode 100644 index 0000000..5661fff --- /dev/null +++ b/src/components/scm/EditSupplierType.vue @@ -0,0 +1,84 @@ + + + \ No newline at end of file diff --git a/src/i18n/index.js b/src/i18n/index.js index 62e09c6..f178b1e 100644 --- a/src/i18n/index.js +++ b/src/i18n/index.js @@ -108,6 +108,8 @@ import { messages as storeInfoManageMessages } from '../views/mall/storeInfoMana import { messages as junkRequirementManageMessages } from '../views/mall/junkRequirementManageLang' import { messages as couponPoolManageMessages } from '../views/account/couponPoolManageLang' import { messages as couponDetailManageMessages } from '../views/account/couponDetailManageLang' +import { messages as supplierTypeManageMessages } from '../views/scm/supplierTypeManageLang' +import { messages as supplierManageMessages } from '../views/scm/supplierManageLang' Vue.use(VueI18n) @@ -220,6 +222,8 @@ const messages = { ...junkRequirementManageMessages.en, ...couponPoolManageMessages.en, ...couponDetailManageMessages.en, + ...supplierTypeManageMessages.en, + ...supplierManageMessages.en, }, zh: { ...loginMessages.zh, @@ -328,6 +332,8 @@ const messages = { ...junkRequirementManageMessages.zh, ...couponPoolManageMessages.zh, ...couponDetailManageMessages.zh, + ...supplierTypeManageMessages.zh, + ...supplierManageMessages.zh, } } diff --git a/src/router/index.js b/src/router/index.js index 92a6a87..87fa079 100644 --- a/src/router/index.js +++ b/src/router/index.js @@ -522,9 +522,19 @@ const routes = [ component: () => import('@/views/account/couponPoolManageList.vue') }, { - path:'/pages/admin/couponDetailManage', - name:'/pages/admin/couponDetailManage', + path: '/pages/admin/couponDetailManage', + name: '/pages/admin/couponDetailManage', component: () => import('@/views/account/couponDetailManageList.vue') + }, + { + path: '/pages/scm/supplierTypeManage', + name: '/pages/scm/supplierTypeManage', + component: () => import('@/views/scm/supplierTypeManageList.vue') + }, + { + path:'/pages/scm/supplierManage', + name:'/pages/scm/supplierManage', + component: () => import('@/views/scm/supplierManageList.vue') }, // 其他子路由可以在这里添加 ] diff --git a/src/views/mall/junkRequirementManageLang.js b/src/views/mall/junkRequirementManageLang.js index f3c2c7b..e28c22d 100644 --- a/src/views/mall/junkRequirementManageLang.js +++ b/src/views/mall/junkRequirementManageLang.js @@ -49,18 +49,6 @@ export const messages = { }, fetchError: 'Failed to fetch junk requirements' }, - common: { - search: 'Search', - hide: 'Hide', - more: 'More', - review: 'Review', - cancel: 'Cancel', - confirm: 'Confirm', - delete: 'Delete', - operation: 'Operation', - success: 'Success', - error: 'Error' - } }, zh: { junkRequirement: { @@ -112,17 +100,5 @@ export const messages = { }, fetchError: '获取旧货需求失败' }, - common: { - search: '查询', - hide: '隐藏', - more: '更多', - review: '审核', - cancel: '取消', - confirm: '确认', - delete: '删除', - operation: '操作', - success: '成功', - error: '错误' - } } } \ No newline at end of file diff --git a/src/views/mall/storeInfoManageLang.js b/src/views/mall/storeInfoManageLang.js index 0c9e015..38ba35d 100644 --- a/src/views/mall/storeInfoManageLang.js +++ b/src/views/mall/storeInfoManageLang.js @@ -22,23 +22,6 @@ export const messages = { workTime: 'Work Time', remark: 'Remark' }, - common: { - search: 'Search', - add: 'Add', - edit: 'Edit', - delete: 'Delete', - yes: 'Yes', - no: 'No', - operation: 'Operation', - cancel: 'Cancel', - save: 'Save', - confirm: 'Confirm', - saveSuccess: 'Save successfully', - updateSuccess: 'Update successfully', - deleteSuccess: 'Delete successfully', - required: 'Required', - optional: 'Optional' - }, delete: { confirmDelete: 'Are you sure to delete store info' }, @@ -93,23 +76,6 @@ export const messages = { workTime: '工作时间', remark: '备注' }, - common: { - search: '查询', - add: '添加', - edit: '修改', - delete: '删除', - yes: '是', - no: '否', - operation: '操作', - cancel: '取消', - save: '保存', - confirm: '确认', - saveSuccess: '保存成功', - updateSuccess: '更新成功', - deleteSuccess: '删除成功', - required: '必填', - optional: '选填' - }, delete: { confirmDelete: '确定删除商户信息' }, diff --git a/src/views/scm/supplierManageLang.js b/src/views/scm/supplierManageLang.js new file mode 100644 index 0000000..9585bb5 --- /dev/null +++ b/src/views/scm/supplierManageLang.js @@ -0,0 +1,60 @@ +export const messages = { + en: { + supplierManage: { + searchCondition: 'Search Condition', + moreCondition: 'More', + hide: 'Hide', + supplierInfo: 'Supplier Information', + add: 'Add', + supplierType: 'Supplier Type', + supplierName: 'Supplier Name', + contactPerson: 'Contact Person', + contactTel: 'Contact Number', + startTime: 'Start Time', + endTime: 'End Time', + createTime: 'Create Time', + remark: 'Remark', + operation: 'Operation', + edit: 'Edit', + config: 'Configure', + delete: 'Delete', + query: 'Search', + confirmDelete: 'Confirm Delete', + deleteTip: 'Are you sure to delete this supplier?', + cancel: 'Cancel', + confirm: 'Confirm', + pleaseSelect: 'Please select', + requiredField: 'Required field', + template:'Template' + } + }, + zh: { + supplierManage: { + searchCondition: '查询条件', + moreCondition: '更多', + hide: '隐藏', + supplierInfo: '供应商信息', + add: '添加', + supplierType: '供应商类型', + supplierName: '供应商名称', + contactPerson: '联系人', + contactTel: '联系电话', + startTime: '开始时间', + endTime: '结束时间', + createTime: '创建时间', + remark: '备注', + operation: '操作', + edit: '修改', + config: '配置', + delete: '删除', + query: '查询', + confirmDelete: '确认删除', + deleteTip: '确定删除供应商吗?', + cancel: '取消', + confirm: '确认', + pleaseSelect: '请选择', + requiredField: '必填项', + template:'模版' + } + } +} \ No newline at end of file diff --git a/src/views/scm/supplierManageList.vue b/src/views/scm/supplierManageList.vue new file mode 100644 index 0000000..8baf349 --- /dev/null +++ b/src/views/scm/supplierManageList.vue @@ -0,0 +1,203 @@ + + + + + \ No newline at end of file diff --git a/src/views/scm/supplierTypeManageLang.js b/src/views/scm/supplierTypeManageLang.js new file mode 100644 index 0000000..41e211b --- /dev/null +++ b/src/views/scm/supplierTypeManageLang.js @@ -0,0 +1,108 @@ +export const messages = { + en: { + supplierTypeManage: { + search: { + title: 'Search Conditions', + typeCd: 'Please enter type code', + typeName: 'Please enter type name' + }, + list: { + title: 'Supplier Type List' + }, + table: { + typeCd: 'Type Code', + typeName: 'Type Name', + createTime: 'Create Time', + remark: 'Remark' + }, + form: { + typeCd: 'Type Code', + typeName: 'Type Name', + remark: 'Remark' + }, + placeholder: { + typeCd: 'Please enter type code', + typeName: 'Please enter type name', + remark: 'Please enter remark' + }, + validate: { + typeCdRequired: 'Type code is required', + typeCdMaxLength: 'Type code cannot exceed 32 characters', + typeNameRequired: 'Type name is required', + typeNameMaxLength: 'Type name cannot exceed 255 characters', + remarkRequired: 'Remark is required', + remarkMaxLength: 'Remark cannot exceed 512 characters', + stIdRequired: 'ID is required' + }, + message: { + addSuccess: 'Add success', + editSuccess: 'Edit success', + deleteSuccess: 'Delete success', + fetchError: 'Failed to fetch data' + }, + add: { + title: 'Add Supplier Type' + }, + edit: { + title: 'Edit Supplier Type' + }, + delete: { + title: 'Delete Confirmation', + confirm: 'Are you sure to delete this supplier type?' + } + } + }, + zh: { + supplierTypeManage: { + search: { + title: '查询条件', + typeCd: '请输入类型编码', + typeName: '请输入类型名称' + }, + list: { + title: '供应商类型' + }, + table: { + typeCd: '类型编码', + typeName: '类型名称', + createTime: '创建时间', + remark: '备注' + }, + form: { + typeCd: '类型编码', + typeName: '类型名称', + remark: '备注' + }, + placeholder: { + typeCd: '请输入类型编码', + typeName: '请输入类型名称', + remark: '请输入备注' + }, + validate: { + typeCdRequired: '类型编码不能为空', + typeCdMaxLength: '类型编码不能超过32个字符', + typeNameRequired: '类型名称不能为空', + typeNameMaxLength: '类型名称不能超过255个字符', + remarkRequired: '备注不能为空', + remarkMaxLength: '备注不能超过512个字符', + stIdRequired: '编号不能为空' + }, + message: { + addSuccess: '添加成功', + editSuccess: '修改成功', + deleteSuccess: '删除成功', + fetchError: '获取数据失败' + }, + add: { + title: '添加供应商类型' + }, + edit: { + title: '修改供应商类型' + }, + delete: { + title: '删除确认', + confirm: '确定删除该供应商类型吗?' + } + } + } +} \ No newline at end of file diff --git a/src/views/scm/supplierTypeManageList.vue b/src/views/scm/supplierTypeManageList.vue new file mode 100644 index 0000000..6feb9ff --- /dev/null +++ b/src/views/scm/supplierTypeManageList.vue @@ -0,0 +1,149 @@ + + + + + \ No newline at end of file -- libgit2 0.21.4