From 818b3c27f73df9e8ca0042042f72d3363fe65cba Mon Sep 17 00:00:00 2001
From: zmj <1493694146@qq.com>
Date: Mon, 3 Jun 2024 23:23:03 +0800
Subject: [PATCH] =?UTF-8?q?=E6=9B=B4=E6=96=B0=E6=8E=A5=E5=8F=A3=E8=B7=AF?=
 =?UTF-8?q?=E5=BE=84=EF=BC=8C=E8=B0=83=E6=95=B4=E9=85=8D=E7=BD=AE=EF=BC=8C?=
 =?UTF-8?q?=E4=BC=98=E5=8C=96=E7=94=A8=E6=88=B7=E5=8F=8A=E8=AE=A2=E5=8D=95?=
 =?UTF-8?q?=E7=AE=A1=E7=90=86=E5=8A=9F=E8=83=BD?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

---
 src/api/user.ts                             |   4 +-
 src/config/index.ts                         |   2 +-
 src/views/employerLists/edit.vue            |   0
 src/views/employerLists/index.vue           | 130 +++++++++++++++++++-
 src/views/orderLists/index.vue              |   5 +-
 src/views/organization/department/edit.vue  |  41 ++----
 src/views/userLists/components/histroy.vue  |  39 ++++++
 src/views/userLists/components/money.vue    |  34 +++++
 src/views/userLists/components/shoping.vue  |  35 ++++++
 src/views/userLists/components/userInfo.vue |  92 ++++++++++++++
 src/views/userLists/detail.vue              | 120 ++++++++++++++++++
 src/views/userLists/index.vue               | 118 +++++++++++++++++-
 12 files changed, 580 insertions(+), 40 deletions(-)
 create mode 100644 src/views/employerLists/edit.vue
 create mode 100644 src/views/userLists/components/histroy.vue
 create mode 100644 src/views/userLists/components/money.vue
 create mode 100644 src/views/userLists/components/shoping.vue
 create mode 100644 src/views/userLists/components/userInfo.vue
 create mode 100644 src/views/userLists/detail.vue

diff --git a/src/api/user.ts b/src/api/user.ts
index 0b22268..39d2010 100644
--- a/src/api/user.ts
+++ b/src/api/user.ts
@@ -13,10 +13,10 @@ export function logout() {
 
 // 用户信息
 export function getUserInfo() {
-    return request.get({ url: '/auth/admin/mySelf' })
+    return request.get({ url: '/auth.admin/mySelf' })
 }
 
 // 编辑管理员信息
 export function setUserInfo(params: any) {
-    return request.post({ url: '/auth/admin/editSelf', params })
+    return request.post({ url: '/auth.admin/editSelf', params })
 }
diff --git a/src/config/index.ts b/src/config/index.ts
index 5aa6133..34561f7 100644
--- a/src/config/index.ts
+++ b/src/config/index.ts
@@ -3,7 +3,7 @@ const config = {
     title: '后台管理系统', //网站默认标题
     version: '1.8.0', //版本号
     baseUrl: `${import.meta.env.VITE_APP_BASE_URL || ''}/`, //请求接口域名
-    urlPrefix: 'store', //请求默认前缀
+    urlPrefix: 'adminapi', //请求默认前缀
     timeout: 10 * 1000 //请求超时时长
 }
 
diff --git a/src/views/employerLists/edit.vue b/src/views/employerLists/edit.vue
new file mode 100644
index 0000000..e69de29
diff --git a/src/views/employerLists/index.vue b/src/views/employerLists/index.vue
index f7be415..e0e49b5 100644
--- a/src/views/employerLists/index.vue
+++ b/src/views/employerLists/index.vue
@@ -1 +1,129 @@
-<!-- 员工 -->
\ No newline at end of file
+<template>
+    <div>
+        <el-card class="!border-none mb-4" shadow="never">
+            <el-form class="mb-[-16px]" :model="queryParams" label-width="80px">
+                <el-row>
+                    <el-col :span="6">
+                        <el-form-item label="商品状态">
+                            <el-select class="flex-1" v-model="queryParams.status" clearable placeholder="请选择商品状态">
+                                <el-option label="销售中" :value="0" />
+                                <el-option label="仓库中" :value="0" />
+                                <el-option label="已售罄" :value="0" />
+                                <el-option label="库存预警" :value="0" />
+                            </el-select>
+                        </el-form-item>
+                    </el-col>
+                    <el-col :span="6">
+                        <el-form-item label="商品搜索" prop="nature">
+                            <el-input v-model="queryParams.status" clearable placeholder="请输入商品名称" />
+                        </el-form-item>
+                    </el-col>
+                    <el-col :span="6">
+                        <el-form-item>
+                            <el-button type="primary" @click="resetPage">查询</el-button>
+                            <el-button @click="resetParams">重置</el-button>
+                        </el-form-item>
+                    </el-col>
+                </el-row>
+            </el-form>
+        </el-card>
+        <el-card class="!border-none" v-loading="pager.loading" shadow="never">
+            <el-button v-perms="['dept.dept/add']" type="primary" @click="handleAdd()">
+                <template #icon>
+                    <icon name="el-icon-Plus" />
+                </template>
+                新增
+            </el-button>
+            <div class="mt-4">
+                <el-table :data="pager.lists" @selection-change="handleSelectionChange">
+                    <el-table-column label="id" prop="progress" show-overflow-tooltip />
+                    <el-table-column label="头像" prop="build_area_text" show-overflow-tooltip>
+                        <template #default="{ row }">
+                            <!-- <el-image style="width: 50px; height: 50px" :src="url" /> -->
+                        </template>
+                    </el-table-column>
+                    <el-table-column label="昵称" prop="project_level_text" show-overflow-tooltip />
+                    <el-table-column label="店员身份" prop="project_level_text" show-overflow-tooltip />
+                    <el-table-column label="手机号" prop="total_investment" show-overflow-tooltip />
+                    <el-table-column label="状态" prop="engineering_status_text" show-overflow-tooltip>
+                        <template #default="{ row }">
+                            <el-switch v-model="row.status" :active-value="1" :inactive-value="0"
+                                @change="changeStatus(row)"></el-switch>
+                        </template>
+                    </el-table-column>
+                    <el-table-column label="操作" width="170" fixed="right">
+                        <template #default="{ row }">
+                            <!-- <el-button type="primary" link @click="handleEdit(row)">
+                                详情
+                            </el-button> -->
+                        </template>
+                    </el-table-column>
+                </el-table>
+            </div>
+            <div class="flex mt-4 justify-end">
+                <pagination v-model="pager" @change="getLists" />
+            </div>
+        </el-card>
+        <!-- <detailPopup ref="editRef" /> -->
+    </div>
+</template>
+
+<script lang="ts" setup name="manageProjectLists">
+import { ref, reactive } from "vue"
+import { usePaging } from '@/hooks/usePaging'
+import { apiGoodsListLists, apiStatus, apiGoodsTypeLists } from '@/api/goodsList'
+// import detailPopup from './detail.vue'
+
+// const editRef = shallowRef<InstanceType<typeof EditPopup>>()
+// 是否显示编辑框
+// const showDetail = ref(false)
+
+
+// 查询条件
+const queryParams = reactive({
+    status: ""
+})
+
+// 选中数据
+const selectData = ref<any[]>([])
+
+// 表格选择后回调事件
+const handleSelectionChange = (val: any[]) => {
+    selectData.value = val.map(({ id }) => id)
+}
+
+// 上架&下架
+const changeStatus = (data: any) => {
+    apiStatus({
+        // id: data.id,
+        // account: data.account,
+        // name: data.name,
+        // role_id: data.role_id,
+        // disable: data.disable,
+        // org_id: data.org_id,
+        // dept_id: data.dept_id,
+        // job_id: data.job_id,
+        // multipoint_login: data.multipoint_login
+    }).finally(() => {
+        getLists()
+    })
+}
+
+// 分页相关
+const { pager, getLists, resetParams, resetPage } = usePaging({
+    fetchFun: apiGoodsListLists,
+    params: queryParams
+})
+
+// 详情
+const handleEdit = async (data: any) => {
+    // editRef.value?.open()
+}
+
+// 新增
+const handleAdd = () => {
+
+}
+
+getLists()
+</script>
\ No newline at end of file
diff --git a/src/views/orderLists/index.vue b/src/views/orderLists/index.vue
index 1d14efa..4d173b0 100644
--- a/src/views/orderLists/index.vue
+++ b/src/views/orderLists/index.vue
@@ -47,7 +47,7 @@
                         </template>
                     </el-table-column>
                     <el-table-column label="商品信息" prop="project_level_text" show-overflow-tooltip />
-                    <el-table-column label="实际支付" prop="total_investment" show-overflow-tooltip width="120" />
+                    <el-table-column label="实际支付" prop="total_investment" show-overflow-tooltip />
                     <el-table-column label="支付方式" prop="engineering_status_text" show-overflow-tooltip />
                     <el-table-column label="收银店员" prop="engineering_status_text" show-overflow-tooltip />
                     <el-table-column label="下单时间" prop="engineering_status_text" show-overflow-tooltip />
@@ -118,5 +118,4 @@ const handleDetail = async (data: any) => {
 
 
 getLists()
-</script>
-                                               
\ No newline at end of file
+</script>
\ No newline at end of file
diff --git a/src/views/organization/department/edit.vue b/src/views/organization/department/edit.vue
index e33309f..61464ad 100644
--- a/src/views/organization/department/edit.vue
+++ b/src/views/organization/department/edit.vue
@@ -1,43 +1,20 @@
 <template>
     <div class="edit-popup">
-        <popup
-            ref="popupRef"
-            :title="popupTitle"
-            :async="true"
-            width="550px"
-            @confirm="handleSubmit"
-            @close="handleClose"
-        >
+        <popup ref="popupRef" :title="popupTitle" :async="true" width="550px" @confirm="handleSubmit"
+            @close="handleClose">
             <el-form ref="formRef" :model="formData" label-width="84px" :rules="formRules">
                 <el-form-item label="上级部门" prop="pid" v-if="formData.pid !== 0">
-                    <el-tree-select
-                        class="flex-1"
-                        v-model="formData.pid"
-                        :data="optionsData.dept"
-                        clearable
-                        node-key="id"
-                        :props="{
-                            value: 'id',
-                            label: 'name'
-                        }"
-                        check-strictly
-                        :default-expand-all="true"
-                        placeholder="请选择上级部门"
-                    />
+                    <el-tree-select class="flex-1" v-model="formData.pid" :data="optionsData.dept" clearable
+                        node-key="id" :props="{
+            value: 'id',
+            label: 'name'
+        }" check-strictly :default-expand-all="true" placeholder="请选择上级部门" />
                 </el-form-item>
                 <el-form-item label="部门名称" prop="name">
-                    <el-input
-                        v-model="formData.name"
-                        placeholder="请输入部门名称"
-                        :maxlength="100"
-                    />
+                    <el-input v-model="formData.name" placeholder="请输入部门名称" :maxlength="100" />
                 </el-form-item>
                 <el-form-item label="负责人" prop="leader">
-                    <el-input
-                        v-model="formData.leader"
-                        placeholder="请输入负责人姓名"
-                        :maxlength="30"
-                    />
+                    <el-input v-model="formData.leader" placeholder="请输入负责人姓名" :maxlength="30" />
                 </el-form-item>
                 <el-form-item label="联系电话" prop="mobile">
                     <el-input v-model="formData.mobile" placeholder="请输入联系电话" />
diff --git a/src/views/userLists/components/histroy.vue b/src/views/userLists/components/histroy.vue
new file mode 100644
index 0000000..cf9a7f0
--- /dev/null
+++ b/src/views/userLists/components/histroy.vue
@@ -0,0 +1,39 @@
+<template>
+    <div>
+        <el-table :data="pager.lists">
+            <el-table-column label="商品信息" prop="build_area_text" show-overflow-tooltip>
+                <template #default="{ row }">
+                    <div class="flex items-center w-[300px] ">
+                        <el-image class="w-[50px] h-[50px] mr-2" :src="url" />
+                        受到广泛接
+                    </div>
+                </template>
+            </el-table-column>
+            <el-table-column label="价格" prop="project_level_text" show-overflow-tooltip />
+            <el-table-column label="浏览时间" prop="total_investment" show-overflow-tooltip />
+        </el-table>
+    </div>
+    <div class="flex mt-4 justify-end">
+        <pagination v-model="pager" @change="getLists" />
+    </div>
+</template>
+
+<script lang="ts" setup name="manageProjectLists">
+import { ref, reactive } from "vue"
+import { usePaging } from '@/hooks/usePaging'
+import { apiGoodsListLists, apiStatus, apiGoodsTypeLists } from '@/api/goodsList'
+
+// 查询条件
+const queryParams = reactive({
+    status: ""
+})
+
+// 分页相关
+const { pager, getLists, resetParams, resetPage } = usePaging({
+    fetchFun: apiGoodsListLists,
+    params: queryParams
+})
+
+
+getLists()
+</script>
\ No newline at end of file
diff --git a/src/views/userLists/components/money.vue b/src/views/userLists/components/money.vue
new file mode 100644
index 0000000..19b63e3
--- /dev/null
+++ b/src/views/userLists/components/money.vue
@@ -0,0 +1,34 @@
+<template>
+    <div>
+        <el-table :data="pager.lists">
+            <el-table-column label="动作" prop="progress" show-overflow-tooltip />
+            <el-table-column label="变动金额" prop="build_area_text" show-overflow-tooltip />
+            <el-table-column label="变动后" prop="project_level_text" show-overflow-tooltip />
+            <el-table-column label="创建时间" prop="total_investment" show-overflow-tooltip />
+            <el-table-column label="备注" prop="total_investment" show-overflow-tooltip />
+        </el-table>
+    </div>
+    <div class="flex mt-4 justify-end">
+        <pagination v-model="pager" @change="getLists" />
+    </div>
+</template>
+
+<script lang="ts" setup name="manageProjectLists">
+import { ref, reactive } from "vue"
+import { usePaging } from '@/hooks/usePaging'
+import { apiGoodsListLists, apiStatus, apiGoodsTypeLists } from '@/api/goodsList'
+
+// 查询条件
+const queryParams = reactive({
+    status: ""
+})
+
+// 分页相关
+const { pager, getLists, resetParams, resetPage } = usePaging({
+    fetchFun: apiGoodsListLists,
+    params: queryParams
+})
+
+
+getLists()
+</script>
\ No newline at end of file
diff --git a/src/views/userLists/components/shoping.vue b/src/views/userLists/components/shoping.vue
new file mode 100644
index 0000000..bac2ef2
--- /dev/null
+++ b/src/views/userLists/components/shoping.vue
@@ -0,0 +1,35 @@
+<template>
+    <div>
+        <el-table :data="pager.lists">
+            <el-table-column label="订单id" prop="progress" show-overflow-tooltip />
+            <el-table-column label="收货人" prop="build_area_text" show-overflow-tooltip />
+            <el-table-column label="商品数量" prop="project_level_text" show-overflow-tooltip />
+            <el-table-column label="商品总价" prop="total_investment" show-overflow-tooltip />
+            <el-table-column label="实付金额" prop="total_investment" show-overflow-tooltip />
+            <el-table-column label="交易完成时间" prop="total_investment" show-overflow-tooltip />
+        </el-table>
+    </div>
+    <div class="flex mt-4 justify-end">
+        <pagination v-model="pager" @change="getLists" />
+    </div>
+</template>
+
+<script lang="ts" setup name="manageProjectLists">
+import { ref, reactive } from "vue"
+import { usePaging } from '@/hooks/usePaging'
+import { apiGoodsListLists, apiStatus, apiGoodsTypeLists } from '@/api/goodsList'
+
+// 查询条件
+const queryParams = reactive({
+    status: ""
+})
+
+// 分页相关
+const { pager, getLists, resetParams, resetPage } = usePaging({
+    fetchFun: apiGoodsListLists,
+    params: queryParams
+})
+
+
+getLists()
+</script>
\ No newline at end of file
diff --git a/src/views/userLists/components/userInfo.vue b/src/views/userLists/components/userInfo.vue
new file mode 100644
index 0000000..ad08740
--- /dev/null
+++ b/src/views/userLists/components/userInfo.vue
@@ -0,0 +1,92 @@
+<template>
+    <el-descriptions :column="3" border :title="item.title" class="mb-[30px]" v-for="(item, index) in userInfoCongig"
+        :key="index">
+        <el-descriptions-item :label="el.name" label-class-name="my-label" v-for="el in item.child">
+            {{ el.value }}
+        </el-descriptions-item>
+    </el-descriptions>
+</template>
+<script setup lang="ts">
+import { reactive } from 'vue';
+const userInfoCongig = reactive([
+    {
+        title: '基本信息',
+        child: [
+            {
+                name: "用户编号",
+                value: '军哥'
+            },
+            {
+                name: "真实姓名",
+                value: '19130550023'
+            },
+            {
+                name: "手机号码",
+                value: '19130550023'
+            },
+            {
+                name: "生日",
+                value: '19130550023'
+            },
+            {
+                name: "性别",
+                value: 'sex'
+            },
+            {
+                name: "身份证号",
+                value: 'sex'
+            },
+            {
+                name: "用户地址",
+                value: 'sex'
+            },
+
+
+        ]
+    },
+    {
+        title: '密码',
+        child: [
+            {
+                name: "登录密码",
+                value: '********'
+            },
+        ]
+    },
+    {
+        title: '用户概况',
+        child: [
+            {
+                name: "用户状态",
+                value: '好天气'
+            },
+            {
+                name: "用户等级",
+                value: '19130550023'
+            },
+            {
+                name: "用户分组",
+                value: '19130550023'
+            },
+            {
+                name: "注册时间",
+                value: '好天气'
+            },
+            {
+                name: "登录时间",
+                value: '19130550023'
+            },
+        ]
+    },
+    {
+        title: '用户备注',
+        child: [
+            {
+                name: "备注",
+                value: '好天气'
+            }
+        ]
+    },
+
+])
+</script>
\ No newline at end of file
diff --git a/src/views/userLists/detail.vue b/src/views/userLists/detail.vue
new file mode 100644
index 0000000..8036960
--- /dev/null
+++ b/src/views/userLists/detail.vue
@@ -0,0 +1,120 @@
+<!-- 订单详情 -->
+<template>
+    <el-drawer v-model="showDetail" direction="rtl" :destroy-on-close="true" title="订单详情" size="50%">
+        <template #header>
+            <h4>用户详情</h4>
+        </template>
+        <template #default>
+            <!-- head -->
+            <div class="flex">
+                <el-image class="w-[50px] h-[50px]" :src="url" />
+                <div class="flex flex-col ml-3 justify-between">
+                    <div style="font-size:16px">
+                        我是军哥
+                    </div>
+                    <div>
+                        究极vip
+                    </div>
+                </div>
+            </div>
+            <ul class="flex justify-between  mt-[20px]">
+                <li>
+                    <div>余额</div>
+                    <div>20.00</div>
+                </li>
+                <li>
+                    <div>总计订单</div>
+                    <div>未核销</div>
+                </li>
+                <li>
+                    <div>总消费金额</div>
+                    <div>未核销</div>
+                </li>
+                <li>
+                    <div>积分</div>
+                    <div>未核销</div>
+                </li>
+                <li>
+                    <div>用户经验</div>
+                    <div>未核销</div>
+                </li>
+                <li>
+                    <div>消费次数</div>
+                    <div>未核销</div>
+                </li>
+            </ul>
+
+            <!-- content -->
+            <el-tabs v-model="activeName" class="mt-[20px]">
+                <el-tab-pane label="用户信息" name="first">
+                    <userInfo></userInfo>
+                </el-tab-pane>
+                <el-tab-pane label="消费记录" name="second">
+                    <shoping></shoping>
+                </el-tab-pane>
+                <!-- <el-tab-pane label="积分明细" name="third">
+
+                </el-tab-pane>
+                <el-tab-pane label="签到记录" name="four">
+
+                </el-tab-pane> -->
+                <el-tab-pane label="余额变动" name="five">
+                    <money></money>
+                </el-tab-pane>
+                <el-tab-pane label="浏览足迹" name="six">
+                    <histroy></histroy>
+                </el-tab-pane>
+            </el-tabs>
+        </template>
+        <template #footer>
+            <div style="flex: auto">
+                <el-button type="primary" @click="showDetail = false">确定</el-button>
+            </div>
+        </template>
+    </el-drawer>
+</template>
+
+<script lang="ts" setup>
+import { ref, reactive, defineEmits, defineProps } from "vue"
+import userInfo from "./components/userInfo.vue"
+import shoping from "./components/shoping.vue"
+import money from "./components/money.vue"
+import histroy from "./components/histroy.vue"
+
+
+const showDetail = ref(false)
+const url =
+    'https://fuss10.elemecdn.com/e/5d/4a731a90594a4af544c0c25941171jpeg.jpeg'
+const props = defineProps({
+    // showDetail: {
+    //     type: Boolean,
+    // },
+})
+
+const formData = reactive({
+    detail: [
+        {}
+    ],
+    detail2: [],
+})
+
+
+
+const activeName = 'first'
+
+
+
+const open = () => {
+    showDetail.value = true
+}
+
+const close = () => {
+    showDetail.value = false
+}
+
+defineExpose({
+    open,
+    close
+
+})
+</script>
\ No newline at end of file
diff --git a/src/views/userLists/index.vue b/src/views/userLists/index.vue
index ef4a607..223e609 100644
--- a/src/views/userLists/index.vue
+++ b/src/views/userLists/index.vue
@@ -1 +1,117 @@
-<!-- 用户 -->
\ No newline at end of file
+<!-- 用户 -->
+<template>
+    <div>
+        <el-card class="!border-none mb-4" shadow="never">
+            <el-form class="mb-[-16px]" :model="queryParams" label-width="80px">
+                <el-row>
+                    <el-col :span="6">
+                        <el-form-item label="商品状态">
+                            <el-select class="flex-1" v-model="queryParams.status" clearable placeholder="请选择商品状态">
+                                <el-option label="销售中" :value="0" />
+                                <el-option label="仓库中" :value="0" />
+                                <el-option label="已售罄" :value="0" />
+                                <el-option label="库存预警" :value="0" />
+                            </el-select>
+                        </el-form-item>
+                    </el-col>
+
+                    <el-col :span="6">
+                        <el-form-item label="商品分类" prop="project_code">
+                            <!-- <el-select class="flex-1" v-model="queryParams.status" clearable placeholder="请选择商品分类">
+                                <el-option v-for="(item, index) in typeLists" :key="index" :label="item.name"
+                                    :value="parseInt(item.value)" />
+                            </el-select> -->
+                        </el-form-item>
+                    </el-col>
+                    <el-col :span="6">
+                        <el-form-item label="商品搜索" prop="nature">
+                            <el-input v-model="queryParams.status" clearable placeholder="请输入商品名称" />
+                        </el-form-item>
+                    </el-col>
+
+                    <el-col :span="6">
+                        <el-form-item>
+                            <el-button type="primary" @click="resetPage">查询</el-button>
+                            <el-button @click="resetParams">重置</el-button>
+                        </el-form-item>
+                    </el-col>
+                </el-row>
+            </el-form>
+        </el-card>
+        <el-card class="!border-none" v-loading="pager.loading" shadow="never">
+            <div class="mt-4">
+                <el-table :data="pager.lists" @selection-change="handleSelectionChange">
+                    <el-table-column label="id" prop="progress" show-overflow-tooltip />
+                    <el-table-column label="头像" prop="build_area_text" show-overflow-tooltip>
+                        <template #default="{ row }">
+                            <!-- <el-image style="width: 50px; height: 50px" :src="url" /> -->
+                        </template>
+                    </el-table-column>
+                    <el-table-column label="昵称" prop="project_level_text" show-overflow-tooltip />
+                    <el-table-column label="付费会员" prop="total_investment" show-overflow-tooltip width="120" />
+                    <el-table-column label="用户等级" prop="engineering_status_text" show-overflow-tooltip />
+                    <el-table-column label="标签" prop="engineering_status_text" show-overflow-tooltip />
+                    <el-table-column label="手机号" prop="engineering_status_text" show-overflow-tooltip />
+                    <el-table-column label="用户类型" prop="engineering_status_text" show-overflow-tooltip />
+                    <el-table-column label="余额" prop="engineering_status_text" show-overflow-tooltip />
+                    <el-table-column label="关联店员" prop="engineering_status_text" show-overflow-tooltip />
+                    <el-table-column label="操作" width="170" fixed="right">
+                        <template #default="{ row }">
+                            <el-button type="primary" link @click="handleEdit(row)">
+                                详情
+                            </el-button>
+                        </template>
+                    </el-table-column>
+                </el-table>
+            </div>
+            <div class="flex mt-4 justify-end">
+                <pagination v-model="pager" @change="getLists" />
+            </div>
+        </el-card>
+        <detailPopup ref="editRef" />
+
+    </div>
+</template>
+
+<script lang="ts" setup name="manageProjectLists">
+import { usePaging } from '@/hooks/usePaging'
+import { apiGoodsListLists, apiStatus, apiGoodsTypeLists } from '@/api/goodsList'
+import detailPopup from './detail.vue'
+
+const editRef = shallowRef<InstanceType<typeof EditPopup>>()
+// 是否显示编辑框
+const showDetail = ref(false)
+
+
+// 查询条件
+const queryParams = reactive({
+    status: ""
+})
+
+// 选中数据
+const selectData = ref<any[]>([])
+
+// 表格选择后回调事件
+const handleSelectionChange = (val: any[]) => {
+    selectData.value = val.map(({ id }) => id)
+}
+
+
+// 分页相关
+const { pager, getLists, resetParams, resetPage } = usePaging({
+    fetchFun: apiGoodsListLists,
+    params: queryParams
+})
+
+// 详情
+const handleEdit = async (data: any) => {
+    // let res = await apiGoodsListDetail({ id: data.id })
+    // showDetail.value = true
+    // await nextTick()
+    // editRef.value?.open('edit')
+    // editRef.value?.setFormData(data)
+    editRef.value?.open()
+}
+
+getLists()
+</script>
\ No newline at end of file