diff --git a/order-system/package-lock.json b/order-system/package-lock.json index 9a5ec55..8c4c417 100644 --- a/order-system/package-lock.json +++ b/order-system/package-lock.json @@ -12,6 +12,7 @@ "@wangeditor/editor": "^5.1.23", "@wangeditor/editor-for-vue": "^5.1.12", "axios": "^1.11.0", + "echarts": "^6.0.0", "element-plus": "^2.10.6", "pinia": "^3.0.3", "vue": "^3.5.17", @@ -1974,6 +1975,16 @@ "node": ">= 0.4" } }, + "node_modules/echarts": { + "version": "6.0.0", + "resolved": "https://registry.npmmirror.com/echarts/-/echarts-6.0.0.tgz", + "integrity": "sha512-Tte/grDQRiETQP4xz3iZWSvoHrkCQtwqd6hs+mifXcjrCuo2iKWbajFObuLJVBlDIJlOzgQPd1hsaKt/3+OMkQ==", + "license": "Apache-2.0", + "dependencies": { + "tslib": "2.3.0", + "zrender": "6.0.0" + } + }, "node_modules/element-plus": { "version": "2.10.6", "resolved": "https://registry.npmmirror.com/element-plus/-/element-plus-2.10.6.tgz", @@ -3015,6 +3026,12 @@ "node": ">=8.0" } }, + "node_modules/tslib": { + "version": "2.3.0", + "resolved": "https://registry.npmmirror.com/tslib/-/tslib-2.3.0.tgz", + "integrity": "sha512-N82ooyxVNm6h1riLCoyS9e3fuJ3AMG2zIZs2Gd1ATcSFjSA23Q0fzjjZeh0jbJvWVDZ0cJT8yaNNaaXHzueNjg==", + "license": "0BSD" + }, "node_modules/type": { "version": "2.7.3", "resolved": "https://registry.npmmirror.com/type/-/type-2.7.3.tgz", @@ -3182,6 +3199,15 @@ "resolved": "https://registry.npmmirror.com/wildcard/-/wildcard-1.1.2.tgz", "integrity": "sha512-DXukZJxpHA8LuotRwL0pP1+rS6CS7FF2qStDDE1C7DDg2rLud2PXRMuEDYIPhgEezwnlHNL4c+N6MfMTjCGTng==", "license": "MIT" + }, + "node_modules/zrender": { + "version": "6.0.0", + "resolved": "https://registry.npmmirror.com/zrender/-/zrender-6.0.0.tgz", + "integrity": "sha512-41dFXEEXuJpNecuUQq6JlbybmnHaqqpGlbH1yxnA5V9MMP4SbohSVZsJIwz+zdjQXSSlR1Vc34EgH1zxyTDvhg==", + "license": "BSD-3-Clause", + "dependencies": { + "tslib": "2.3.0" + } } } } diff --git a/order-system/package.json b/order-system/package.json index 40b3d9d..f7050b8 100644 --- a/order-system/package.json +++ b/order-system/package.json @@ -13,6 +13,7 @@ "@wangeditor/editor": "^5.1.23", "@wangeditor/editor-for-vue": "^5.1.12", "axios": "^1.11.0", + "echarts": "^6.0.0", "element-plus": "^2.10.6", "pinia": "^3.0.3", "vue": "^3.5.17", diff --git a/order-system/src/api/comment/CommentModel.ts b/order-system/src/api/comment/CommentModel.ts new file mode 100644 index 0000000..b718fec --- /dev/null +++ b/order-system/src/api/comment/CommentModel.ts @@ -0,0 +1,6 @@ +//列表参数类型 +export type CommentListParm = { + currentPage:number; + pageSize:number; + total:number; //分页的总条数 +} \ No newline at end of file diff --git a/order-system/src/api/comment/index.ts b/order-system/src/api/comment/index.ts new file mode 100644 index 0000000..a5b0514 --- /dev/null +++ b/order-system/src/api/comment/index.ts @@ -0,0 +1,11 @@ +import http from "../../http"; +import type { CommentListParm } from "./CommentModel"; + +//列表 +export const getListApi = (parm:CommentListParm)=>{ + return http.get("/wxapi/comment/pcCommentList",parm) +} +//删除 +export const deleteApi = (commentId:string)=>{ + return http.delete(`/wxapi/comment/${commentId}`) +} \ No newline at end of file diff --git a/order-system/src/compositions/comment/useCommentTable.ts b/order-system/src/compositions/comment/useCommentTable.ts new file mode 100644 index 0000000..3c31fb2 --- /dev/null +++ b/order-system/src/compositions/comment/useCommentTable.ts @@ -0,0 +1,73 @@ +import type { CommentListParm } from "../../api/comment/CommentModel"; +import { reactive ,ref,onMounted,nextTick} from "vue"; +import {getListApi,deleteApi} from '../../api/comment/index' +import useInstance from "@/hooks/useInstance"; +import { ElMessage } from "element-plus"; +export default function useCommentTable(){ + const {global} = useInstance() + //表格高度 + const tableHeight = ref(0) + //接收表格数据 + const tableList = ref([]) + //列表查询的参数 + const listParm = reactive({ + currentPage:1, + pageSize:10, + total:0 + }) + //列表 + const getList = async()=>{ + let res = await getListApi(listParm) + if(res && res.code == 200){ + tableList.value = res.data.records; + listParm.total = res.data.total; + } + } + //删除 + const deleteBtn = async(commentId:string)=>{ + const confirm = await global.$myconfirm('确定删除吗?') + if(confirm){ + let res = await deleteApi(commentId) + if(res && res.code == 200){ + ElMessage.success(res.msg) + getList() + } + } + } + //搜索 + const searchBtn = ()=>{ + getList() + } + //重置 + const resetBtn = ()=>{ + listParm.currentPage = 1; + getList() + } + //页容量改变时触发 + const sizeChange = (size:number)=>{ + listParm.pageSize = size; + getList() + } + //页数改变触发 + const currentChange = (page:number)=>{ + listParm.currentPage = page; + getList() + } + onMounted(()=>{ + getList() + nextTick(()=>{ + tableHeight.value = window.innerHeight - 180 + }) + }) + return{ + listParm, + getList, + searchBtn, + resetBtn, + tableList, + sizeChange, + currentChange, + tableHeight, + deleteBtn + } +} \ No newline at end of file diff --git a/order-system/src/views/comment/Index.vue b/order-system/src/views/comment/Index.vue index c8906d3..4fa3851 100644 --- a/order-system/src/views/comment/Index.vue +++ b/order-system/src/views/comment/Index.vue @@ -1,13 +1,55 @@ + + + + + + + + + + + + + + + + + + + + + + + + - - \ No newline at end of file + + + + \ No newline at end of file