diff --git a/src/apis/modules/categorys.js b/src/apis/modules/categorys.js
new file mode 100644
index 0000000..ca85edf
--- /dev/null
+++ b/src/apis/modules/categorys.js
@@ -0,0 +1,14 @@
+/**
+ * 海邻动态接口
+ */
+import request from '@/utils/request'
+// 获取公司动态列表
+export const getDataList = (params) => request.basic.get('/api/v1/products/categorys', params)
+// 获取单条数据
+export const getItem = (id) => request.basic.get(`/api/v1/products/categorys/${id}`)
+// 添加动态
+export const createProductsItem = (params) => request.basic.post('/api/v1/products/categorys', params)
+// 更新动态
+export const updateItem = (id, params) => request.basic.put(`/api/v1/products/categorys/${id}`, params)
+// 删除动态
+export const delProductsItem = (id) => request.basic.delete(`/api/v1/products/categorys/${id}`)
diff --git a/src/views/imgMgt/homeBanner/index.vue b/src/views/imgMgt/homeBanner/index.vue
index be89eb1..5c7fdc9 100644
--- a/src/views/imgMgt/homeBanner/index.vue
+++ b/src/views/imgMgt/homeBanner/index.vue
@@ -121,6 +121,7 @@ async function getPageList() {
.getDataList({
pageSize,
page: current,
+ type:120,
...searchFormData.value,
})
.catch(() => {
@@ -129,7 +130,7 @@ async function getPageList() {
hideLoading()
if (config('http.code.success') === success) {
//筛选type的值80对应about
- listData.value = data.filter(item => item.type === 120)
+ listData.value = data
paginationState.total = total
}
} catch (error) {
diff --git a/src/views/imgMgt/researchHonor/index.vue b/src/views/imgMgt/researchHonor/index.vue
index 0861c0e..d42784f 100644
--- a/src/views/imgMgt/researchHonor/index.vue
+++ b/src/views/imgMgt/researchHonor/index.vue
@@ -120,6 +120,7 @@ async function getPageList() {
.getDataList({
pageSize,
page: current,
+ type:110,
...searchFormData.value,
})
.catch(() => {
@@ -128,7 +129,7 @@ async function getPageList() {
hideLoading()
if (config('http.code.success') === success) {
//筛选type的值110对应researchHonor
- listData.value = data.filter(item => item.type===110)
+ // listData.value = data.filter(item => item.type===110)
paginationState.total = total
}
} catch (error) {
diff --git a/src/views/product/components/Department.vue b/src/views/product/components/Department.vue
deleted file mode 100644
index efaefad..0000000
--- a/src/views/product/components/Department.vue
+++ /dev/null
@@ -1,169 +0,0 @@
-
-
-
-
-
-
-
-
-
- {{ title }}
-
-
-
-
-
-
-
-
- 添加子部门
-
-
- 编辑
-
- 删除
-
-
-
-
-
-
-
-
-
-
-
-
- 新建部门
-
-
-
-
-
-
-
-
-
-
diff --git a/src/views/product/components/EditDepartmentDialog.vue b/src/views/product/components/EditDepartmentDialog.vue
deleted file mode 100644
index e5a271f..0000000
--- a/src/views/product/components/EditDepartmentDialog.vue
+++ /dev/null
@@ -1,131 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/src/views/product/components/EditDialog.vue b/src/views/product/components/EditDialog.vue
index 58e292d..991c8da 100644
--- a/src/views/product/components/EditDialog.vue
+++ b/src/views/product/components/EditDialog.vue
@@ -13,13 +13,10 @@
-
-
-
- {{
- item.categoryIDName }}
-
-
+
+
@@ -34,7 +31,7 @@
-
+
-
+
@@ -140,15 +137,14 @@ const imgUrl = ref('')
const categoryList = ref([])
const targetList = ref([])
const images = ref([])
-const mainImage = ref([])
const contentImage = ref([])
const childOpen = ref(false)
-const formArea = ref({ name: '', status: 'enabled' })
-const activeKey=ref('1')
+
+const activeKey = ref('1')
formRules.value = {
title: { required: true, message: '请输入产品类别名称' },
code: { required: true, message: '请输入产品名称' },
- categoryID: { required: true, message: '请选择产品类别', trigger: 'change' },
+ categoryIDs: { required: true, message: '请选择产品类别', trigger: 'change' },
compose: { required: true, message: '请选择产品适用对象', trigger: 'change' },
feature: [{ required: true, message: '请输入产品功能特点', trigger: 'change' }],
// feature: [{ required: true, message: '请输入产品功能特点' }],
@@ -158,21 +154,15 @@ formRules.value = {
contentImage: { required: false, message: '请上传产品内容图片' },
sequence: [{ required: true, message: '请输入产品排序' }],
status: [{ required: true, message: '请选择状态', trigger: 'change' }],
-
-}
-const areaFormRules = {
- categoryIDName: [{ required: true, message: '请输入产品类别' }],
- targetName: [{ required: true, message: '请输入产品适用对象' }],
- status: [{ required: true, message: '请选择状态', trigger: 'change' }],
+
}
+
const initData = async () => {
try {
showSpining();
- const { success: prodSuccess, data: prodData } = await apis.products.getProductObj({ pageSize: 999, page: 1 });
+ const { success: prodSuccess, data: prodData } = await apis.categorys.getDataList({ pageSize: 999, page: 1 });
if (config('http.code.success') === prodSuccess) {
- targetList.value = prodData
- .filter(item => item.status === 'enabled')
- .map(item => ({ code: item.id, name: item.name }));
+ categoryList.value = prodData
}
} catch (error) {
@@ -193,7 +183,7 @@ function handleCreate() {
// 初始化所有字段
formData.value = {
title: '',
- categoryID: '',
+ categoryIDs:'',
compose: '',
target: '',
feature: [{
@@ -206,39 +196,13 @@ function handleCreate() {
fu_hoao: '',
prx: '',
}],
- images: [
- ...(Array.isArray(formData.value.mainImage)
- ? formData.value.mainImage
- : [formData.value.mainImage]
- ).filter(Boolean).map(item => String(item)),
-
- ...(Array.isArray(formData.value.contentImage)
- ? formData.value.contentImage
- : [formData.value.contentImage]
- ).filter(Boolean).map(item => String(item))
- ],
-
+ images: [''],
sequence: null,
status: 'enabled',
}
initData()
}
-//新建产品类别
-const childHandleOk = async () => {
- areaFormRef.value.validateFields().then(async (values) => {
- try {
- const params = { ...categoryForm.value }
- const { success } = await apis.products.createProductCategory(params)
- if (success) message.success('新增成功')
- childOpen.value = false
- categoryForm.value = { categoryIDName: '', status: 'enabled' }
- initData()
- } catch (error) {
- message.error(error.message)
- }
- })
-}
//新建产品适用对象
const childHandleObjOk = async () => {
areaFormRef.value.validateFields().then(async (values) => {
@@ -262,6 +226,7 @@ const handleCombinedOk = () => {
* 编辑
*/
async function handleEdit(record = {}) {
+ initData()
showModal({
type: 'edit',
title: t('pages.system.user.edit'),
@@ -273,6 +238,7 @@ async function handleEdit(record = {}) {
}
formData.value = {
...data,
+ categoryIDs:data.categoryID,
standard: data.standard || [{
label: '',
val: '',
@@ -284,13 +250,8 @@ async function handleEdit(record = {}) {
data: []
}],
// images:data.images || [''],
- mainImage: data.images ? [config('http.apiBasic') + data.images[0]] : [''],
- contentImage: data.images ? [config('http.apiBasic') + data.images[1]] : [''],
+ mainImage: data.images ? data.images.map(item=>config('http.apiBasic')+item):[''],
}
- // imgUrl.value = config('http.apiBasic') + data.img
- mainImage.value = config('http.apiBasic') + data.images?.[0],
- contentImage.value = config('http.apiBasic') + data.images?.[1],
- console.log('编辑产品数据:', formData.value);
}
/**
@@ -303,6 +264,8 @@ function handleOk() {
showLoading()
const params = {
...values,
+ categoryID:formData.value.categoryID,
+ categoryRootID:formData.value.categoryRootID,
standard: formData.value.standard ||
[{
label: '',
@@ -311,17 +274,7 @@ function handleOk() {
prx: '',
}],
feature: formData.value.feature,
- images: [
- ...(Array.isArray(formData.value.mainImage)
- ? formData.value.mainImage
- : [formData.value.mainImage]
- ).filter(Boolean).map(item => spliceUrl(item)),
-
- ...(Array.isArray(formData.value.contentImage)
- ? formData.value.contentImage
- : [formData.value.contentImage]
- ).filter(Boolean).map(item => spliceUrl(item))
- ],
+ images: formData.value.mainImage?formData.value.mainImage.map(item=>spliceUrl(item)):[''],
}
let result = null
switch (modal.value.type) {
@@ -396,6 +349,52 @@ function removeFeature(index) {
formData.value.feature.splice(index, 1)
}
}
+// 递归查找节点路径
+const findNodePath = (tree, value, path = []) => {
+ for (const node of tree) {
+ const currentPath = [...path, node.value];
+ if (node.value === value) return currentPath;
+ if (node.children) {
+ const found = findNodePath(node.children, value, currentPath);
+ if (found) return found;
+ }
+ }
+ return null;
+};
+// 获取节点是否是叶子节点
+const isLeafNode = (id) => {
+ const node = findNodeById(categoryList.value, id);
+ if(node.children.length>0) return false;
+ else return true
+};
+// 根据ID查找节点
+const findNodeById = (tree, value) => {
+ for (const node of tree) {
+ if (node.value === value) return node;
+ if(node.children){
+ const found=findNodeById(node.children,value)
+ if(found) return found;
+ }
+ }
+ return null;
+};
+// 处理选择事件
+const handleTreeSelectChange = (value) => {
+ // 验证是否叶子节点
+ if (!isLeafNode(value)) {
+ message.warning('只能选择最后一级节点');
+ formData.value.categoryID = null; // 清除非叶子选择
+ return;
+ }
+ if (!value) return;
+ const pathIds = findNodePath(categoryList.value, value);
+ if (pathIds) {
+ console.log('选中的路径ID数组:', pathIds);
+ // 实际使用中,此处可提交 pathIds 到后端或进行其他操作
+ formData.value.categoryID=pathIds[1]
+ formData.value.categoryRootID=pathIds[0]
+ }
+};
diff --git a/src/views/product/index.vue b/src/views/product/index.vue
index 618f23c..a00102d 100644
--- a/src/views/product/index.vue
+++ b/src/views/product/index.vue
@@ -49,7 +49,6 @@
-
{{ record.title }}
@@ -123,40 +122,31 @@ defineOptions({
})
const { t } = useI18n() // 解构出t方法
const columns = [
- { title: '产品名称', dataIndex: 'code', width: 120 },
- { title: '产品类别名称', dataIndex: 'title', width: 120 },
- { title: '产品类别ID', dataIndex: 'categoryID', key: 'categoryID', width: 120 },
+ { title: '产品名称', dataIndex: 'code', width: 120, ellipsis:true},
+ { title: '产品类别', dataIndex: 'categoryID', key: 'categoryID', width: 120 },
{ title: '适用对象', dataIndex: 'target', width: 120 },
- { title: '产品适用类别ID', dataIndex: 'CategoryRootID', key: 'CategoryRootID', width: 120 },
{ title: '原料组成', dataIndex: 'compose', key: 'compose', width: 120 },
- {
- title: '功能特点',
- dataIndex: 'feature',
- width: 120,
- align: 'center',
- customRender: ({ text }) => Array.isArray(text) ? text.join(', ') : ''
- },
- {
- title: '产品标准',
- dataIndex: 'standard',
- width: 120,
- align: 'center',
- customRender: ({ text }) => Array.isArray(text)
- ? text.map(item => `${item.label}: ${item.fu_hoao}${item.val}${item.prx}`).join(', ')
- : ''
- },
- {
- title: '产品图片',
- dataIndex: 'mainImage',
- width: 120,
- align: 'center',
- },
- {
- title: '产品内容图片',
- dataIndex: 'contentImage',
- width: 120,
- align: 'center',
- },
+ // {
+ // title: '产品标准',
+ // dataIndex: 'standard',
+ // width: 120,
+ // align: 'center',
+ // customRender: ({ text }) => Array.isArray(text)
+ // ? text.map(item => `${item.label}: ${item.fu_hoao}${item.val}${item.prx}`).join(', ')
+ // : ''
+ // },
+ // {
+ // title: '产品图片',
+ // dataIndex: 'mainImage',
+ // width: 120,
+ // align: 'center',
+ // },
+ // {
+ // title: '产品内容图片',
+ // dataIndex: 'contentImage',
+ // width: 120,
+ // align: 'center',
+ // },
{ title: '产品排序', dataIndex: 'sequence', width: 120, align: 'center' },
{ title: '产品状态', dataIndex: 'status', width: 120, align: 'center' },
@@ -188,12 +178,7 @@ async function getPageList() {
if (config('http.code.success') === success) {
listData.value = data.map(item => ({
...item,
- mainImage: item.images?.[0] || '',
- contentImage: item.images?.[1] || '',
}))
-
- console.log('接口数据', data)
- console.log('接口过滤数据', listData.value)
paginationState.total = total
}
} catch (error) {
@@ -258,7 +243,6 @@ function handleResetSearch() {
* 编辑完成
*/
async function onOk() {
- message.success(t('component.message.success.delete'))
await getPageList()
}
diff --git a/src/views/productType/components/EditDialog.vue b/src/views/productType/components/EditDialog.vue
index fc443e9..b3f0dca 100644
--- a/src/views/productType/components/EditDialog.vue
+++ b/src/views/productType/components/EditDialog.vue
@@ -4,103 +4,23 @@
-
-
-
-
-
-
-
-
-
-
-
-
- {{
- item.categoryIDName }}
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 删除
-
-
-
-
-
- 新增产品功能特点
-
-
-
-
-
-
-
-
-
-
-
-
-
- 删除
-
-
-
-
-
- 新增产品标准
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
@@ -117,14 +37,6 @@ import { useForm, useModal, useSpining } from '@/hooks'
import { message } from 'ant-design-vue'
import { useI18n } from 'vue-i18n'
-import dayjs from 'dayjs'
-import {
- createProductCategory,
- createProductObj, createProductsItem,
- getProductCategory,
- getProductObj,
- getProductsItem, updateProductsItem,
-} from '@/apis/modules/products'
import { spliceUrl } from '@/utils/util'
const areaFormRef = ref()
const emit = defineEmits(['ok'])
@@ -134,224 +46,55 @@ const { formRecord, formData, formRef, formRules, resetForm } = useForm()
const { spining, showSpining, hideSpining } = useSpining()
const cancelText = ref(t('button.cancel'))
const okText = ref(t('button.confirm'))
-const rolesValue = ref([])
-const roles = ref([])
-const imgUrl = ref('')
-const areaList = ref([])
-const images = ref([])
-const mainImage = ref([])
-const contentImage = ref([])
-const childOpen = ref(false)
-const formArea = ref({ name: '', status: 'enabled' })
-const activeKey=ref('1')
+const treeData=ref([])
formRules.value = {
- title: { required: true, message: '请输入产品类别名称' },
- code: { required: true, message: '请输入产品名称' },
- categoryID: { required: true, message: '请选择产品类别', trigger: 'change' },
- compose: { required: true, message: '请选择产品适用对象', trigger: 'change' },
- feature: [{ required: true, message: '请输入产品功能特点', trigger: 'change' }],
- // feature: [{ required: true, message: '请输入产品功能特点' }],
- standard: [{ required: true, message: '请输入产品标准' }],
- images: [{ required: true, message: '请上传产品图片' }],
- mainImage: { required: true, message: '请上传产品图片' },
- contentImage: { required: false, message: '请上传产品内容图片' },
- sequence: [{ required: true, message: '请输入产品排序' }],
- status: [{ required: true, message: '请选择状态', trigger: 'change' }],
-
+ label: { required: true, message: '请输入产品类别名称' },
}
-const areaFormRules = {
- categoryIDName: [{ required: true, message: '请输入产品类别' }],
- // targetName: [{ required: true, message: '请输入产品适用对象' }],
- status: [{ required: true, message: '请选择状态', trigger: 'change' }],
-}
-const initDataBatch = async (configs) => {
- try {
- showSpining()
- const responses = await Promise.all(
- configs.map(({ apiFunc }) => apiFunc({ pageSize: 999, page: 1 }))
- )
- configs.forEach(({ nameKey, resultKey }, index) => {
- const { success, data } = responses[index]
- if (config('http.code.success') === success) {
- const mapped = data.map(item => {
- return {
- value: item.value,
- children: item.children,
- [resultKey]: item.label,// e.g. item['label']
- }
- })
- areaList.value = [...areaList.value, ...mapped]
- console.log(areaList.value)
- console.log('after merge:', areaList.value)
- }
+const initData = async () => {
+ const { success, data, total } = await apis.categorys
+ .getDataList({
+ pageSize:99,
+ page: 1,
})
-
- } catch (error) {
- message.error({ content: error.message })
- } finally {
- hideSpining()
+ .catch(() => {
+ throw new Error()
+ })
+ if (config('http.code.success') === success) {
+ treeData.value = data.map(item => ({
+ ...item
+ }))
}
}
-initDataBatch([
- {
- apiFunc: apis.products.getProductCategory,
- nameKey: 'name',
- resultKey: 'categoryIDName'
- },
- // {
- // apiFunc: apis.products.getProductObj,
- // nameKey: 'name',
- // resultKey: 'targetName'
- // }
-])
-
/**
* 新建
*/
function handleCreate() {
showModal({
type: 'create',
- title: '产品中心',
+ title: '产品分类',
})
// 初始化所有字段
- formData.value = {
- title: '',
- categoryID: '',
- compose: '',
- target: '',
- feature: [{
- label: '功能特点',
- data: []
- }],
- standard: [{
- label: '',
- val: '',
- fu_hoao: '',
- prx: '',
- }],
- images: [
- ...(Array.isArray(formData.value.mainImage)
- ? formData.value.mainImage
- : [formData.value.mainImage]
- ).filter(Boolean).map(item => String(item)),
-
- ...(Array.isArray(formData.value.contentImage)
- ? formData.value.contentImage
- : [formData.value.contentImage]
- ).filter(Boolean).map(item => String(item))
- ],
-
- sequence: null,
- status: 'enabled',
- }
initData()
}
-//新建产品类别
-const childHandleOk = async () => {
- areaFormRef.value.validateFields().then(async (values) => {
- try {
- const params = { ...formArea.value }
- const { success } = await apis.products.createProductCategory(params)
- if (success) message.success('新增成功')
- childOpen.value = false
- formArea.value = { categoryIDName: '', status: 'enabled' }
- initData()
- } catch (error) {
- message.error(error.message)
- }
- })
-}
-//新建产品适用对象
-const childHandleObjOk = async () => {
- areaFormRef.value.validateFields().then(async (values) => {
- try {
- const params = { ...formArea.value }
- const { success } = await apis.products.createProductObj(params)
- if (success) message.success('新增成功')
- childOpen.value = false
- formArea.value = { targetName: '', status: 'enabled' }
- initData()
- } catch (error) {
- message.error(error.message)
- }
- })
-}
-const handleCombinedOk = () => {
- childHandleOk();
- childHandleObjOk();
-};
-/**
- * 编辑
- */
-async function handleEdit(record = {}) {
- showModal({
- type: 'edit',
- title: t('pages.system.user.edit'),
- })
- const { data, success } = await apis.products.getProductsItem(record.id).catch()
- if (!success) {
- hideModal()
- return
- }
- formData.value = {
- ...data,
- standard: data.standard || [{
- label: '',
- val: '',
- fu_hoao: '',
- prx: '',
- }],
- feature: data.feature || [{
- label: '功能特点',
- data: []
- }],
- // images:data.images || [''],
- mainImage: data.images ? [config('http.apiBasic') + data.images[0]] : [''],
- contentImage: data.images ? [config('http.apiBasic') + data.images[1]] : [''],
- }
- // imgUrl.value = config('http.apiBasic') + data.img
- mainImage.value = config('http.apiBasic') + data.images?.[0],
- contentImage.value = config('http.apiBasic') + data.images?.[1],
- console.log('编辑产品数据:', formData.value);
-}
/**
* 确定
*/
function handleOk() {
- console.log('编辑产品列表', formData.value)
formRef.value.validateFields().then(async (values) => {
try {
showLoading()
const params = {
...values,
- standard: formData.value.standard ||
- [{
- label: '',
- val: '',
- fu_hoao: '',
- prx: '',
- }],
- feature: formData.value.feature,
- images: [
- ...(Array.isArray(formData.value.mainImage)
- ? formData.value.mainImage
- : [formData.value.mainImage]
- ).filter(Boolean).map(item => spliceUrl(item)),
-
- ...(Array.isArray(formData.value.contentImage)
- ? formData.value.contentImage
- : [formData.value.contentImage]
- ).filter(Boolean).map(item => spliceUrl(item))
- ],
+ parentID:formData.value.parentID?formData.value.parentID:0
}
let result = null
switch (modal.value.type) {
case 'create':
- result = await apis.products.createProductsItem(params).catch((error) => {
+ result = await apis.categorys.createProductsItem(params).catch((error) => {
throw new Error(error)
})
break
@@ -382,7 +125,6 @@ function handleOk() {
* 取消
*/
function handleCancel() {
- imgUrl.value = ''
hideModal()
}
@@ -396,31 +138,9 @@ function onAfterClose() {
defineExpose({
handleCreate,
- handleEdit,
})
-// 添加标准
-function addStandard() {
- formData.value.standard.push({ label: '', value: '' })
-}
-// 删除标准
-function removeStandard(index) {
- if (formData.value.standard.length > 1) {
- formData.value.standard.splice(index, 1)
- }
-}
-// 添加标准
-function addFeature() {
- formData.value.feature.push({ label: '', value: '' })
-}
-
-// 删除标准
-function removeFeature(index) {
- if (formData.value.feature.length > 1) {
- formData.value.feature.splice(index, 1)
- }
-}
diff --git a/src/views/productType/index.vue b/src/views/productType/index.vue
index 80b11c2..8ac1260 100644
--- a/src/views/productType/index.vue
+++ b/src/views/productType/index.vue
@@ -1,40 +1,4 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 全部
- 启用
- 停用
-
-
-
-
-
- {{ $t('button.reset') }}
-
- {{ $t('button.search') }}
-
-
-
-
-
-
-
@@ -43,53 +7,20 @@
- 新增产品
+ 新增分类
+ :pagination="paginationState" @change="onTableChange">
-
-
-
- {{ record.title }}
-
-
-
-
- {{ record.categoryID }}
-
-
-
-
- {{ record.compose }}
-
-
-
-
-
- {{ record.target }}
-
-
-
-
-
-
-
-
启用
停用
-
-
- {{ $t('pages.system.user.edit') }}
-
-
+
+
{{ $t('pages.system.delete') }}
@@ -117,46 +48,12 @@ import { PlusOutlined, EditOutlined, DeleteOutlined } from '@ant-design/icons-vu
import { useI18n } from 'vue-i18n'
import { delProductsItem, getProductsList } from '@/apis/modules/products'
defineOptions({
- name: 'components',
+ name: 'productType',
})
const { t } = useI18n() // 解构出t方法
const columns = [
- { title: '产品名称', dataIndex: 'code', width: 120 },
- { title: '产品类别名称', dataIndex: 'title', width: 120 },
- { title: '产品类别', dataIndex: 'categoryID', key: 'categoryID', width: 120 },
- { title: '原料组成', dataIndex: 'compose', key: 'compose', width: 120 },
- { title: '适用对象', dataIndex: 'target', width: 120 },
- {
- title: '功能特点',
- dataIndex: 'feature',
- width: 120,
- align: 'center',
- customRender: ({ text }) => Array.isArray(text) ? text.join(', ') : ''
- },
- {
- title: '产品标准',
- dataIndex: 'standard',
- width: 120,
- align: 'center',
- customRender: ({ text }) => Array.isArray(text)
- ? text.map(item => `${item.label}: ${item.fu_hoao}${item.val}${item.prx}`).join(', ')
- : ''
- },
- {
- title: '产品图片',
- dataIndex: 'mainImage',
- width: 120,
- align: 'center',
- },
- {
- title: '产品内容图片',
- dataIndex: 'contentImage',
- width: 120,
- align: 'center',
- },
-
- { title: '产品排序', dataIndex: 'sequence', width: 120, align: 'center' },
- { title: '产品状态', dataIndex: 'status', width: 120, align: 'center' },
+ { title: '分类名称', dataIndex: 'label' },
+ // { title: '状态', dataIndex: 'status', width: 120, align: 'center' },
{ title: t('button.action'), key: 'action', fixed: 'right', width: 100, align: 'center' },
]
const { listData, loading, showLoading, hideLoading, paginationState, resetPagination, searchFormData } =
@@ -172,11 +69,10 @@ async function getPageList() {
try {
showLoading()
const { pageSize, current } = paginationState
- const { success, data, total } = await apis.products
- .getProductsList({
+ const { success, data, total } = await apis.categorys
+ .getDataList({
pageSize,
page: current,
- ...searchFormData.value,
})
.catch(() => {
throw new Error()
@@ -185,12 +81,8 @@ async function getPageList() {
if (config('http.code.success') === success) {
listData.value = data.map(item => ({
...item,
- mainImage: item.images?.[0] || '',
- contentImage: item.images?.[1] || '',
+ key:item.value
}))
-
- console.log('接口数据', data)
- console.log('接口过滤数据', listData.value)
paginationState.total = total
}
} catch (error) {
@@ -201,16 +93,16 @@ async function getPageList() {
/**
* 删除
*/
-function handleDelete({ id }) {
+function handleDelete(value) {
Modal.confirm({
- title: t('pages.system.user.delTip'),
+ title: '确定删除该分类吗',
content: t('button.confirm'),
okText: t('button.confirm'),
onOk: () => {
return new Promise((resolve, reject) => {
; (async () => {
try {
- const { success } = await apis.products.delProductsItem(id).catch(() => {
+ const { success } = await apis.categorys.delProductsItem(value).catch(() => {
throw new Error()
})
if (config('http.code.success') === success) {
@@ -255,7 +147,6 @@ function handleResetSearch() {
* 编辑完成
*/
async function onOk() {
- message.success(t('component.message.success.delete'))
await getPageList()
}