diff --git a/src/api/account/couponDetailManageApi.js b/src/api/account/couponDetailManageApi.js new file mode 100644 index 0000000..400e9ec --- /dev/null +++ b/src/api/account/couponDetailManageApi.js @@ -0,0 +1,84 @@ +import request from '@/utils/request' + +// 获取优惠券详情列表 +export function listCouponDetail(params) { + return new Promise((resolve, reject) => { + request({ + url: '/couponDetail.listCouponDetail', + method: 'get', + params + }).then(response => { + const res = response.data + if (res.code === 0) { + resolve({ + data: res.data, + total: res.records + }) + } else { + reject(new Error(res.msg || '获取优惠券详情列表失败')) + } + }).catch(error => { + reject(error) + }) + }) +} + +// 添加优惠券详情 +export function saveCouponDetail(data) { + return new Promise((resolve, reject) => { + request({ + url: '/couponDetail.saveCouponDetail', + 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 updateCouponDetail(data) { + return new Promise((resolve, reject) => { + request({ + url: '/couponDetail.updateCouponDetail', + 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 deleteCouponDetail(data) { + return new Promise((resolve, reject) => { + request({ + url: '/couponDetail.deleteCouponDetail', + 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/account/couponPoolManageApi.js b/src/api/account/couponPoolManageApi.js new file mode 100644 index 0000000..b7f09d7 --- /dev/null +++ b/src/api/account/couponPoolManageApi.js @@ -0,0 +1,81 @@ +import request from '@/utils/request' + +// 获取优惠券池列表 +export function listCouponPool(params) { + return new Promise((resolve, reject) => { + request({ + url: '/couponPool.listCouponPool', + 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 saveCouponPool(data) { + return new Promise((resolve, reject) => { + request({ + url: '/couponPool.saveCouponPool', + 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 updateCouponPool(data) { + return new Promise((resolve, reject) => { + request({ + url: '/couponPool.updateCouponPool', + 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 deleteCouponPool(data) { + return new Promise((resolve, reject) => { + request({ + url: '/couponPool.deleteCouponPool', + 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/mall/junkRequirementManageApi.js b/src/api/mall/junkRequirementManageApi.js new file mode 100644 index 0000000..d40dd90 --- /dev/null +++ b/src/api/mall/junkRequirementManageApi.js @@ -0,0 +1,61 @@ +import request from '@/utils/request' + +// 获取旧货需求列表 +export function listJunkRequirements(params) { + return new Promise((resolve, reject) => { + request + .get('/junkRequirement.listJunkRequirements', { params }) + .then(response => { + const res = response.data + if (res.code === 0) { + resolve({ + data: res.data, + total: res.total + }) + } else { + reject(new Error(res.msg || 'Failed to get junk requirements list')) + } + }) + .catch(error => { + reject(error) + }) + }) +} + +// 更新旧货需求 +export function updateJunkRequirement(data) { + return new Promise((resolve, reject) => { + request + .post('/junkRequirement.updateJunkRequirement', data) + .then(response => { + const res = response.data + if (res.code === 0) { + resolve(res) + } else { + reject(new Error(res.msg || 'Failed to update junk requirement')) + } + }) + .catch(error => { + reject(error) + }) + }) +} + +// 删除旧货需求 +export function deleteJunkRequirement(data) { + return new Promise((resolve, reject) => { + request + .post('/junkRequirement.deleteJunkRequirement', data) + .then(response => { + const res = response.data + if (res.code === 0) { + resolve(res) + } else { + reject(new Error(res.msg || 'Failed to delete junk requirement')) + } + }) + .catch(error => { + reject(error) + }) + }) +} \ No newline at end of file diff --git a/src/components/account/AddCouponDetail.vue b/src/components/account/AddCouponDetail.vue new file mode 100644 index 0000000..d4d35ef --- /dev/null +++ b/src/components/account/AddCouponDetail.vue @@ -0,0 +1,177 @@ + + + \ No newline at end of file diff --git a/src/components/account/AddCouponPool.vue b/src/components/account/AddCouponPool.vue new file mode 100644 index 0000000..658b55e --- /dev/null +++ b/src/components/account/AddCouponPool.vue @@ -0,0 +1,172 @@ + + + \ No newline at end of file diff --git a/src/components/account/DeleteCouponDetail.vue b/src/components/account/DeleteCouponDetail.vue new file mode 100644 index 0000000..0ff6f3e --- /dev/null +++ b/src/components/account/DeleteCouponDetail.vue @@ -0,0 +1,59 @@ + + + + + \ No newline at end of file diff --git a/src/components/account/DeleteCouponPool.vue b/src/components/account/DeleteCouponPool.vue new file mode 100644 index 0000000..7993cf2 --- /dev/null +++ b/src/components/account/DeleteCouponPool.vue @@ -0,0 +1,53 @@ + + + \ No newline at end of file diff --git a/src/components/account/EditCouponPool.vue b/src/components/account/EditCouponPool.vue new file mode 100644 index 0000000..778d7ff --- /dev/null +++ b/src/components/account/EditCouponPool.vue @@ -0,0 +1,168 @@ + + + \ No newline at end of file diff --git a/src/components/mall/DeleteJunkRequirement.vue b/src/components/mall/DeleteJunkRequirement.vue new file mode 100644 index 0000000..fab2cc8 --- /dev/null +++ b/src/components/mall/DeleteJunkRequirement.vue @@ -0,0 +1,53 @@ + + + \ No newline at end of file diff --git a/src/components/mall/EditJunkRequirement.vue b/src/components/mall/EditJunkRequirement.vue new file mode 100644 index 0000000..fc40f04 --- /dev/null +++ b/src/components/mall/EditJunkRequirement.vue @@ -0,0 +1,153 @@ + + + + + \ No newline at end of file diff --git a/src/i18n/index.js b/src/i18n/index.js index 5219f5a..62e09c6 100644 --- a/src/i18n/index.js +++ b/src/i18n/index.js @@ -105,6 +105,9 @@ import { messages as marketLogMessages } from '../views/market/marketLogLang' import { messages as advertManageMessages } from '../views/admin/advertManageLang' import { messages as convenienceMenusManageMessages } from '../views/mall/convenienceMenusManageLang' import { messages as storeInfoManageMessages } from '../views/mall/storeInfoManageLang' +import { messages as junkRequirementManageMessages } from '../views/mall/junkRequirementManageLang' +import { messages as couponPoolManageMessages } from '../views/account/couponPoolManageLang' +import { messages as couponDetailManageMessages } from '../views/account/couponDetailManageLang' Vue.use(VueI18n) @@ -214,6 +217,9 @@ const messages = { ...advertManageMessages.en, ...convenienceMenusManageMessages.en, ...storeInfoManageMessages.en, + ...junkRequirementManageMessages.en, + ...couponPoolManageMessages.en, + ...couponDetailManageMessages.en, }, zh: { ...loginMessages.zh, @@ -319,6 +325,9 @@ const messages = { ...advertManageMessages.zh, ...convenienceMenusManageMessages.zh, ...storeInfoManageMessages.zh, + ...junkRequirementManageMessages.zh, + ...couponPoolManageMessages.zh, + ...couponDetailManageMessages.zh, } } diff --git a/src/router/index.js b/src/router/index.js index a4b052d..92a6a87 100644 --- a/src/router/index.js +++ b/src/router/index.js @@ -502,15 +502,30 @@ const routes = [ component: () => import('@/views/admin/advertManageList.vue') }, { - path:'/pages/admin/convenienceMenusManage', - name:'/pages/admin/convenienceMenusManage', + path: '/pages/admin/convenienceMenusManage', + name: '/pages/admin/convenienceMenusManage', component: () => import('@/views/mall/convenienceMenusManageList.vue') + }, + { + path: '/pages/admin/storeInfoManage', + name: '/pages/admin/storeInfoManage', + component: () => import('@/views/mall/storeInfoManageList.vue') + }, + { + path: '/pages/proxy/junkRequirementManage', + name: '/pages/proxy/junkRequirementManage', + component: () => import('@/views/mall/junkRequirementManageList.vue') + }, + { + path: '/pages/admin/couponPoolManage', + name: '/pages/admin/couponPoolManage', + component: () => import('@/views/account/couponPoolManageList.vue') + }, + { + path:'/pages/admin/couponDetailManage', + name:'/pages/admin/couponDetailManage', + component: () => import('@/views/account/couponDetailManageList.vue') }, - { - path:'/pages/admin/storeInfoManage', - name:'/pages/admin/storeInfoManage', - component: () => import('@/views/mall/storeInfoManageList.vue') - }, // 其他子路由可以在这里添加 ] }, diff --git a/src/views/account/couponDetailManageLang.js b/src/views/account/couponDetailManageLang.js new file mode 100644 index 0000000..10391af --- /dev/null +++ b/src/views/account/couponDetailManageLang.js @@ -0,0 +1,176 @@ +export const messages = { + en: { + couponDetailManage: { + search: { + title: 'Search Conditions', + poolId: 'Please enter coupon', + shopId: 'Please enter shop ID' + }, + list: { + title: 'Merchant Purchase Records' + }, + table: { + detailId: 'Detail ID', + shopName: 'Shop', + couponName: 'Coupon Name', + actualPrice: 'Face Value', + buyPrice: 'Purchase Price', + amount: 'Payment Amount', + buyCount: 'Purchase Quantity', + validityDay: 'Validity Period' + }, + add: { + title: 'Add Merchant Purchase Record', + poolId: 'Coupon', + poolIdPlaceholder: 'Required, please enter coupon', + shopId: 'Shop', + shopIdPlaceholder: 'Required, please enter shop ID', + couponName: 'Coupon Name', + couponNamePlaceholder: 'Required, please enter coupon name', + actualPrice: 'Face Value', + actualPricePlaceholder: 'Required, please enter face value', + buyPrice: 'Purchase Price', + buyPricePlaceholder: 'Required, please enter purchase price', + amount: 'Payment Amount', + amountPlaceholder: 'Required, please enter payment amount', + buyCount: 'Purchase Quantity', + buyCountPlaceholder: 'Required, please enter purchase quantity', + validityDay: 'Validity Period', + validityDayPlaceholder: 'Required, please enter validity period', + success: 'Added successfully' + }, + edit: { + title: 'Edit Merchant Purchase Record', + poolId: 'Coupon', + poolIdPlaceholder: 'Required, please enter coupon', + shopId: 'Shop', + shopIdPlaceholder: 'Required, please enter shop ID', + couponName: 'Coupon Name', + couponNamePlaceholder: 'Required, please enter coupon name', + actualPrice: 'Face Value', + actualPricePlaceholder: 'Required, please enter face value', + buyPrice: 'Purchase Price', + buyPricePlaceholder: 'Required, please enter purchase price', + amount: 'Payment Amount', + amountPlaceholder: 'Required, please enter payment amount', + buyCount: 'Purchase Quantity', + buyCountPlaceholder: 'Required, please enter purchase quantity', + validityDay: 'Validity Period', + validityDayPlaceholder: 'Required, please enter validity period', + success: 'Updated successfully' + }, + delete: { + title: 'Confirm Operation', + confirm: 'Are you sure to delete this merchant purchase record?', + success: 'Deleted successfully' + }, + validate: { + detailIdRequired: 'Detail ID is required', + poolIdRequired: 'Coupon is required', + poolIdMaxLength: 'Coupon cannot exceed 30 characters', + shopIdRequired: 'Shop ID is required', + shopIdMaxLength: 'Shop ID cannot exceed 30 characters', + couponNameRequired: 'Coupon name is required', + couponNameMaxLength: 'Coupon name cannot exceed 64 characters', + actualPriceRequired: 'Face value is required', + actualPriceNumber: 'Face value must be a number', + buyPriceRequired: 'Purchase price is required', + buyPriceNumber: 'Purchase price must be a number', + amountRequired: 'Payment amount is required', + amountNumber: 'Payment amount must be a number', + buyCountRequired: 'Purchase quantity is required', + buyCountNumber: 'Purchase quantity must be a number', + validityDayRequired: 'Validity period is required', + validityDayNumber: 'Validity period must be a number' + }, + fetchError: 'Failed to fetch coupon details' + } + }, + zh: { + couponDetailManage: { + search: { + title: '查询条件', + poolId: '请输入优惠券', + shopId: '请输入店铺ID' + }, + list: { + title: '商家购买记录' + }, + table: { + detailId: '商家购买记录表ID', + shopName: '店铺', + couponName: '优惠券名称', + actualPrice: '面值', + buyPrice: '购买价格', + amount: '付款金额', + buyCount: '购买数量', + validityDay: '有效期' + }, + add: { + title: '添加商家购买记录表', + poolId: '优惠券', + poolIdPlaceholder: '必填,请填写优惠券', + shopId: '店铺', + shopIdPlaceholder: '必填,请填写店铺ID', + couponName: '优惠券名称', + couponNamePlaceholder: '必填,请填写优惠券名称', + actualPrice: '面值', + actualPricePlaceholder: '必填,请填写面值', + buyPrice: '购买价格', + buyPricePlaceholder: '必填,请填写购买价格', + amount: '付款金额', + amountPlaceholder: '必填,请填写付款金额', + buyCount: '购买数量', + buyCountPlaceholder: '必填,请填写购买数量', + validityDay: '有效期', + validityDayPlaceholder: '必填,请填写有效期', + success: '添加成功' + }, + edit: { + title: '修改商家购买记录表', + poolId: '优惠券', + poolIdPlaceholder: '必填,请填写优惠券', + shopId: '店铺', + shopIdPlaceholder: '必填,请填写店铺ID', + couponName: '优惠券名称', + couponNamePlaceholder: '必填,请填写优惠券名称', + actualPrice: '面值', + actualPricePlaceholder: '必填,请填写面值', + buyPrice: '购买价格', + buyPricePlaceholder: '必填,请填写购买价格', + amount: '付款金额', + amountPlaceholder: '必填,请填写付款金额', + buyCount: '购买数量', + buyCountPlaceholder: '必填,请填写购买数量', + validityDay: '有效期', + validityDayPlaceholder: '必填,请填写有效期', + success: '修改成功' + }, + delete: { + title: '请确认您的操作', + confirm: '确定删除商家购买记录', + success: '删除成功' + }, + validate: { + detailIdRequired: '记录ID不能为空', + poolIdRequired: '优惠券不能为空', + poolIdMaxLength: '优惠券不能超过30', + shopIdRequired: '店铺ID不能为空', + shopIdMaxLength: '店铺ID不能超过30', + couponNameRequired: '优惠券名称不能为空', + couponNameMaxLength: '优惠券名称不能超过64', + actualPriceRequired: '面值不能为空', + actualPriceNumber: '面值必须是数字', + buyPriceRequired: '购买价格不能为空', + buyPriceNumber: '购买价格必须是数字', + amountRequired: '付款金额不能为空', + amountNumber: '付款金额必须是数字', + buyCountRequired: '购买数量不能为空', + buyCountNumber: '购买数量必须是数字', + validityDayRequired: '有效期不能为空', + validityDayNumber: '有效期必须是数字' + }, + fetchError: '获取优惠券详情失败' + } + } +} \ No newline at end of file diff --git a/src/views/account/couponDetailManageList.vue b/src/views/account/couponDetailManageList.vue new file mode 100644 index 0000000..384de11 --- /dev/null +++ b/src/views/account/couponDetailManageList.vue @@ -0,0 +1,137 @@ + + + + + \ No newline at end of file diff --git a/src/views/account/couponPoolManageLang.js b/src/views/account/couponPoolManageLang.js new file mode 100644 index 0000000..c2c6797 --- /dev/null +++ b/src/views/account/couponPoolManageLang.js @@ -0,0 +1,184 @@ +export const messages = { + en: { + couponPoolManage: { + search: { + title: 'Search Conditions', + couponName: 'Please enter coupon name', + validityDay: 'Please enter validity period' + }, + list: { + title: 'Coupon Pool Information', + create: 'Create' + }, + table: { + poolId: 'Coupon Pool ID', + couponType: 'Coupon Type', + couponName: 'Coupon Name', + actualPrice: 'Face Value', + buyPrice: 'Purchase Price', + couponStock: 'Quantity', + validityDay: 'Validity Period', + seq: 'Sequence', + operation: 'Operation', + edit: 'Edit' + }, + add: { + title: 'Add Coupon Pool', + couponType: 'Coupon Type', + selectCouponType: 'Please select coupon type', + couponName: 'Coupon Name', + inputCouponName: 'Required, please enter coupon name', + actualPrice: 'Face Value', + inputActualPrice: 'Required, please enter face value', + buyPrice: 'Purchase Price', + inputBuyPrice: 'Required, please enter purchase price', + couponStock: 'Quantity', + inputCouponStock: 'Required, please enter quantity', + validityDay: 'Validity Period', + inputValidityDay: 'Required, please enter validity period', + seq: 'Sequence', + inputSeq: 'Required, please enter sequence', + cancel: 'Cancel', + save: 'Save', + success: 'Added successfully', + error: 'Failed to add', + couponTypeRequired: 'Coupon type is required', + couponNameRequired: 'Coupon name is required', + couponNameMaxLength: 'Coupon name cannot exceed 64 characters', + actualPriceRequired: 'Face value is required', + actualPriceMaxLength: 'Face value cannot exceed 10 characters', + buyPriceRequired: 'Purchase price is required', + buyPriceMaxLength: 'Purchase price cannot exceed 10 characters', + couponStockRequired: 'Quantity is required', + couponStockMaxLength: 'Quantity cannot exceed 20 characters', + validityDayRequired: 'Validity period is required', + validityDayMaxLength: 'Validity period cannot exceed 20 characters', + seqRequired: 'Sequence is required', + seqMaxLength: 'Sequence cannot exceed 11 characters' + }, + edit: { + title: 'Edit Coupon Pool', + couponType: 'Coupon Type', + couponName: 'Coupon Name', + state: 'Status', + selectState: 'Please select status', + stateOff: 'Off Shelf', + stateOn: 'Normal', + actualPrice: 'Face Value', + buyPrice: 'Purchase Price', + couponStock: 'Quantity', + validityDay: 'Validity Period', + seq: 'Sequence', + cancel: 'Cancel', + save: 'Save', + success: 'Updated successfully', + error: 'Failed to update', + buyPriceRequired: 'Purchase price is required', + buyPriceMaxLength: 'Purchase price cannot exceed 10 characters', + couponStockRequired: 'Quantity is required', + couponStockMaxLength: 'Quantity cannot exceed 20 characters', + stateRequired: 'Status is required' + }, + delete: { + title: 'Confirm Operation', + confirm: 'Are you sure to delete this coupon?', + cancel: 'Cancel', + confirmDelete: 'Confirm Delete', + success: 'Deleted successfully', + error: 'Failed to delete' + }, + fetchError: 'Failed to fetch coupon pool data' + } + }, + zh: { + couponPoolManage: { + search: { + title: '查询条件', + couponName: '请输入优惠券名称', + validityDay: '请输入有效期' + }, + list: { + title: '优惠券池信息', + create: '制作' + }, + table: { + poolId: '优惠券池ID', + couponType: '优惠券类型', + couponName: '优惠券名称', + actualPrice: '面值', + buyPrice: '购买价格', + couponStock: '数量', + validityDay: '有效期', + seq: '排序', + operation: '操作', + edit: '修改' + }, + add: { + title: '添加优惠券池', + couponType: '优惠券类型', + selectCouponType: '请选择优惠券类型', + couponName: '优惠券名称', + inputCouponName: '必填,请填写优惠券名称', + actualPrice: '面值', + inputActualPrice: '必填,请填写面值', + buyPrice: '购买价格', + inputBuyPrice: '必填,请填写购买价格', + couponStock: '数量', + inputCouponStock: '必填,请填写数量', + validityDay: '有效期', + inputValidityDay: '必填,请填写有效期', + seq: '排序', + inputSeq: '必填,请填写排序', + cancel: '取消', + save: '保存', + success: '添加成功', + error: '添加失败', + couponTypeRequired: '优惠券类型不能为空', + couponNameRequired: '优惠券名称不能为空', + couponNameMaxLength: '优惠券名称不能超过64', + actualPriceRequired: '面值不能为空', + actualPriceMaxLength: '面值不能超过10', + buyPriceRequired: '购买价格不能为空', + buyPriceMaxLength: '购买价格不能超过10', + couponStockRequired: '数量不能为空', + couponStockMaxLength: '数量不能超过20', + validityDayRequired: '有效期不能为空', + validityDayMaxLength: '有效期不能超过20', + seqRequired: '排序不能为空', + seqMaxLength: '排序不能超过11' + }, + edit: { + title: '修改优惠券池', + couponType: '优惠券类型', + couponName: '优惠券名称', + state: '券状态', + selectState: '请选择券状态', + stateOff: '下架', + stateOn: '正常', + actualPrice: '面值', + buyPrice: '购买价格', + couponStock: '数量', + validityDay: '有效期', + seq: '排序', + cancel: '取消', + save: '保存', + success: '修改成功', + error: '修改失败', + buyPriceRequired: '购买价格不能为空', + buyPriceMaxLength: '购买价格不能超过10', + couponStockRequired: '数量不能为空', + couponStockMaxLength: '数量不能超过20', + stateRequired: '券状态不能为空' + }, + delete: { + title: '请确认您的操作', + confirm: '确定删除优惠券', + cancel: '点错了', + confirmDelete: '确认删除', + success: '删除成功', + error: '删除失败' + }, + fetchError: '获取优惠券池数据失败' + } + } +} \ No newline at end of file diff --git a/src/views/account/couponPoolManageList.vue b/src/views/account/couponPoolManageList.vue new file mode 100644 index 0000000..32a327f --- /dev/null +++ b/src/views/account/couponPoolManageList.vue @@ -0,0 +1,154 @@ + + + + + \ No newline at end of file diff --git a/src/views/mall/junkRequirementManageLang.js b/src/views/mall/junkRequirementManageLang.js new file mode 100644 index 0000000..f3c2c7b --- /dev/null +++ b/src/views/mall/junkRequirementManageLang.js @@ -0,0 +1,128 @@ +export const messages = { + en: { + junkRequirement: { + search: { + title: 'Search Conditions', + classification: 'Please select classification', + publishUserName: 'Please enter publisher name', + publishUserLink: 'Please enter contact information', + state: 'Please select state' + }, + list: { + title: 'Junk Information' + }, + table: { + junkRequirementId: 'Code', + classification: 'Classification', + referencePrice: 'Reference Price', + publishUserName: 'Publisher', + publishUserLink: 'Contact', + state: 'State' + }, + edit: { + title: 'Edit Junk', + classification: 'Classification', + context: 'Content', + referencePrice: 'Reference Price', + publishUserName: 'Publisher', + publishUserLink: 'Contact', + state: 'State', + stateRequired: 'State is required', + success: 'Review successful', + error: 'Review failed' + }, + delete: { + title: 'Confirm Operation', + confirm: 'Are you sure to delete this junk?', + success: 'Delete successful', + error: 'Delete failed' + }, + classification: { + furniture: 'Furniture', + appliance: 'Appliance' + }, + state: { + unreviewed: 'Unreviewed', + reviewed: 'Reviewed', + reviewFailed: 'Review Failed', + completed: 'Completed' + }, + 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: { + search: { + title: '查询条件', + classification: '请选择类别', + publishUserName: '请输入发布人', + publishUserLink: '请输入联系方式', + state: '请选择状态' + }, + list: { + title: '旧货信息' + }, + table: { + junkRequirementId: '编码', + classification: '类别', + referencePrice: '参考价格', + publishUserName: '发布人', + publishUserLink: '联系方式', + state: '状态' + }, + edit: { + title: '修改旧货', + classification: '类别', + context: '内容', + referencePrice: '参考价格', + publishUserName: '发布人', + publishUserLink: '联系方式', + state: '状态', + stateRequired: '状态不能为空', + success: '审核成功', + error: '审核失败' + }, + delete: { + title: '请确认您的操作', + confirm: '确定删除旧货吗?', + success: '删除成功', + error: '删除失败' + }, + classification: { + furniture: '家具', + appliance: '电器' + }, + state: { + unreviewed: '未审核', + reviewed: '审核通过', + reviewFailed: '审核失败', + completed: '处理完成' + }, + fetchError: '获取旧货需求失败' + }, + common: { + search: '查询', + hide: '隐藏', + more: '更多', + review: '审核', + cancel: '取消', + confirm: '确认', + delete: '删除', + operation: '操作', + success: '成功', + error: '错误' + } + } +} \ No newline at end of file diff --git a/src/views/mall/junkRequirementManageList.vue b/src/views/mall/junkRequirementManageList.vue new file mode 100644 index 0000000..896e41b --- /dev/null +++ b/src/views/mall/junkRequirementManageList.vue @@ -0,0 +1,196 @@ + + + + + \ No newline at end of file