From 07a9b6e6126cca79d359f9b6beb39625e687f5ba Mon Sep 17 00:00:00 2001
From: 疯狂的狮子Li <15040126243@163.com>
Date: 星期三, 05 四月 2023 20:12:11 +0800
Subject: [PATCH] update 优化 demo 界面代码

---
 /dev/null                     |   55 ---
 src/api/demo/tree/index.ts    |   62 +++
 src/api/demo/tree/types.ts    |   75 ++++
 src/types/global.d.ts         |    1 
 src/views/demo/demo/index.vue |  367 +++++++------------
 src/views/demo/tree/index.vue |  326 ++++++++---------
 src/api/demo/demo/index.ts    |   62 +++
 .prettierrc.cjs               |    6 
 src/api/demo/demo/types.ts    |   90 +++++
 9 files changed, 589 insertions(+), 455 deletions(-)

diff --git a/.prettierrc.cjs b/.prettierrc.cjs
index fde1071..2b49e6f 100644
--- a/.prettierrc.cjs
+++ b/.prettierrc.cjs
@@ -38,9 +38,9 @@
     htmlWhitespaceSensitivity: 'css',
     // Vue鏂囦欢鑴氭湰鍜屾牱寮忔爣绛剧缉杩�
     vueIndentScriptAndStyle: false,
-    //鍦� windows 鎿嶄綔绯荤粺涓崲琛岀閫氬父鏄洖杞� (CR) 鍔犳崲琛屽垎闅旂 (LF)锛屼篃灏辨槸鍥炶溅鎹㈣(CRLF)锛�
-    //鐒惰�屽湪 Linux 鍜� Unix 涓彧浣跨敤绠�鍗曠殑鎹㈣鍒嗛殧绗� (LF)銆�
-    //瀵瑰簲鐨勬帶鍒跺瓧绗︿负 "\n" (LF) 鍜� "\r\n"(CRLF)銆俛uto鎰忎负淇濇寔鐜版湁鐨勮灏�
+    // 鍦� windows 鎿嶄綔绯荤粺涓崲琛岀閫氬父鏄洖杞� (CR) 鍔犳崲琛屽垎闅旂 (LF)锛屼篃灏辨槸鍥炶溅鎹㈣(CRLF)锛�
+    // 鐒惰�屽湪 Linux 鍜� Unix 涓彧浣跨敤绠�鍗曠殑鎹㈣鍒嗛殧绗� (LF)銆�
+    // 瀵瑰簲鐨勬帶鍒跺瓧绗︿负 "\n" (LF) 鍜� "\r\n"(CRLF)銆俛uto鎰忎负淇濇寔鐜版湁鐨勮灏�
     // 鎹㈣绗︿娇鐢� lf 缁撳熬鏄� 鍙�夊��"<auto|lf|crlf|cr>"
     endOfLine: 'auto'
 };
diff --git a/src/api/demo/demo.ts b/src/api/demo/demo.ts
deleted file mode 100644
index 01034ff..0000000
--- a/src/api/demo/demo.ts
+++ /dev/null
@@ -1,55 +0,0 @@
-import request from '@/utils/request';
-import { DemoForm, DemoQuery, DemoVO } from './types';
-import { AxiosPromise } from 'axios';
-
-// 鏌ヨ娴嬭瘯鍗曡〃鍒楄〃
-export function listDemo(query: DemoQuery): AxiosPromise<DemoVO[]> {
-  return request({
-    url: '/demo/demo/list',
-    method: 'get',
-    params: query
-  });
-}
-
-// 鑷畾涔夊垎椤垫帴鍙�
-export function pageDemo(query: DemoQuery): AxiosPromise<DemoVO[]> {
-  return request({
-    url: '/demo/demo/page',
-    method: 'get',
-    params: query
-  });
-}
-
-// 鏌ヨ娴嬭瘯鍗曡〃璇︾粏
-export function getDemo(id: string | number): AxiosPromise<DemoVO> {
-  return request({
-    url: '/demo/demo/' + id,
-    method: 'get'
-  });
-}
-
-// 鏂板娴嬭瘯鍗曡〃
-export function addDemo(data: DemoForm) {
-  return request({
-    url: '/demo/demo',
-    method: 'post',
-    data: data
-  });
-}
-
-// 淇敼娴嬭瘯鍗曡〃
-export function updateDemo(data: DemoForm) {
-  return request({
-    url: '/demo/demo',
-    method: 'put',
-    data: data
-  });
-}
-
-// 鍒犻櫎娴嬭瘯鍗曡〃
-export function delDemo(id: string | number | Array<string | number>) {
-  return request({
-    url: '/demo/demo/' + id,
-    method: 'delete'
-  });
-}
diff --git a/src/api/demo/demo/index.ts b/src/api/demo/demo/index.ts
new file mode 100644
index 0000000..7441720
--- /dev/null
+++ b/src/api/demo/demo/index.ts
@@ -0,0 +1,62 @@
+import request from '@/utils/request';
+import { AxiosPromise } from 'axios';
+import { DemoVO, DemoForm, DemoQuery } from '@/api/demo/demo/types';
+
+/**
+ * 鏌ヨ娴嬭瘯鍗曞垪琛�
+ * @param query
+ * @returns {*}
+ */
+export const listDemo = (query?: DemoQuery): AxiosPromise<DemoVO[]> => {
+  return request({
+    url: '/demo/demo/list',
+    method: 'get',
+    params: query
+  });
+};
+
+/**
+ * 鏌ヨ娴嬭瘯鍗曡缁�
+ * @param id
+ */
+export const getDemo = (id: string | number): AxiosPromise<DemoVO> => {
+  return request({
+    url: '/demo/demo/' + id,
+    method: 'get'
+  });
+};
+
+/**
+ * 鏂板娴嬭瘯鍗�
+ * @param data
+ */
+export const addDemo = (data: DemoForm) => {
+  return request({
+    url: '/demo/demo',
+    method: 'post',
+    data: data
+  });
+};
+
+/**
+ * 淇敼娴嬭瘯鍗�
+ * @param data
+ */
+export const updateDemo = (data: DemoForm) => {
+  return request({
+    url: '/demo/demo',
+    method: 'put',
+    data: data
+  });
+};
+
+/**
+ * 鍒犻櫎娴嬭瘯鍗�
+ * @param id
+ */
+export const delDemo = (id: string | number | Array<string | number>) => {
+  return request({
+    url: '/demo/demo/' + id,
+    method: 'delete'
+  });
+};
diff --git a/src/api/demo/demo/types.ts b/src/api/demo/demo/types.ts
new file mode 100644
index 0000000..ea51d32
--- /dev/null
+++ b/src/api/demo/demo/types.ts
@@ -0,0 +1,90 @@
+export interface DemoVO {
+  /**
+   * 涓婚敭
+   */
+  id: string | number;
+
+  /**
+   * 閮ㄩ棬id
+   */
+  deptId: string | number;
+
+  /**
+   * 鐢ㄦ埛id
+   */
+  userId: string | number;
+
+  /**
+   * 鎺掑簭鍙�
+   */
+  orderNum: number;
+
+  /**
+   * key閿�
+   */
+  testKey: string;
+
+  /**
+   * 鍊�
+   */
+  value: string;
+}
+
+export interface DemoForm extends BaseEntity {
+  /**
+   * 涓婚敭
+   */
+  id?: string | number;
+
+  /**
+   * 閮ㄩ棬id
+   */
+  deptId?: string | number;
+
+  /**
+   * 鐢ㄦ埛id
+   */
+  userId?: string | number;
+
+  /**
+   * 鎺掑簭鍙�
+   */
+  orderNum?: number;
+
+  /**
+   * key閿�
+   */
+  testKey?: string;
+
+  /**
+   * 鍊�
+   */
+  value?: string;
+}
+
+export interface DemoQuery extends PageQuery {
+  /**
+   * 閮ㄩ棬id
+   */
+  deptId?: string | number;
+
+  /**
+   * 鐢ㄦ埛id
+   */
+  userId?: string | number;
+
+  /**
+   * 鎺掑簭鍙�
+   */
+  orderNum?: number;
+
+  /**
+   * key閿�
+   */
+  testKey?: string;
+
+  /**
+   * 鍊�
+   */
+  value?: string;
+}
diff --git a/src/api/demo/tree.ts b/src/api/demo/tree.ts
deleted file mode 100644
index 87a2246..0000000
--- a/src/api/demo/tree.ts
+++ /dev/null
@@ -1,46 +0,0 @@
-import { AxiosPromise } from 'axios';
-import request from '@/utils/request';
-import { DemoTreeForm, DemoTreeVO, DemoTreeQuery } from './types';
-
-// 鏌ヨ娴嬭瘯鏍戣〃鍒楄〃
-export function listTree(query?: DemoTreeQuery): AxiosPromise<DemoTreeVO[]> {
-  return request({
-    url: '/demo/tree/list',
-    method: 'get',
-    params: query
-  });
-}
-
-// 鏌ヨ娴嬭瘯鏍戣〃璇︾粏
-export function getTree(id: string | number): AxiosPromise<DemoTreeVO> {
-  return request({
-    url: '/demo/tree/' + id,
-    method: 'get'
-  });
-}
-
-// 鏂板娴嬭瘯鏍戣〃
-export function addTree(data: DemoTreeForm) {
-  return request({
-    url: '/demo/tree',
-    method: 'post',
-    data: data
-  });
-}
-
-// 淇敼娴嬭瘯鏍戣〃
-export function updateTree(data: DemoTreeForm) {
-  return request({
-    url: '/demo/tree',
-    method: 'put',
-    data: data
-  });
-}
-
-// 鍒犻櫎娴嬭瘯鏍戣〃
-export function delTree(id: string | number | Array<string | number>) {
-  return request({
-    url: '/demo/tree/' + id,
-    method: 'delete'
-  });
-}
diff --git a/src/api/demo/tree/index.ts b/src/api/demo/tree/index.ts
new file mode 100644
index 0000000..562deb6
--- /dev/null
+++ b/src/api/demo/tree/index.ts
@@ -0,0 +1,62 @@
+import request from '@/utils/request';
+import { AxiosPromise } from 'axios';
+import { TreeVO, TreeForm, TreeQuery } from '@/api/demo/tree/types';
+
+/**
+ * 鏌ヨ娴嬭瘯鏍戝垪琛�
+ * @param query
+ * @returns {*}
+ */
+export const listTree = (query?: TreeQuery): AxiosPromise<TreeVO[]> => {
+  return request({
+    url: '/demo/tree/list',
+    method: 'get',
+    params: query
+  });
+};
+
+/**
+ * 鏌ヨ娴嬭瘯鏍戣缁�
+ * @param id
+ */
+export const getTree = (id: string | number): AxiosPromise<TreeVO> => {
+  return request({
+    url: '/demo/tree/' + id,
+    method: 'get'
+  });
+};
+
+/**
+ * 鏂板娴嬭瘯鏍�
+ * @param data
+ */
+export const addTree = (data: TreeForm) => {
+  return request({
+    url: '/demo/tree',
+    method: 'post',
+    data: data
+  });
+};
+
+/**
+ * 淇敼娴嬭瘯鏍�
+ * @param data
+ */
+export const updateTree = (data: TreeForm) => {
+  return request({
+    url: '/demo/tree',
+    method: 'put',
+    data: data
+  });
+};
+
+/**
+ * 鍒犻櫎娴嬭瘯鏍�
+ * @param id
+ */
+export const delTree = (id: string | number | Array<string | number>) => {
+  return request({
+    url: '/demo/tree/' + id,
+    method: 'delete'
+  });
+};
diff --git a/src/api/demo/tree/types.ts b/src/api/demo/tree/types.ts
new file mode 100644
index 0000000..4b491c0
--- /dev/null
+++ b/src/api/demo/tree/types.ts
@@ -0,0 +1,75 @@
+export interface TreeVO {
+  /**
+   * 涓婚敭
+   */
+  id: string | number;
+
+  /**
+   * 鐖秈d
+   */
+  parentId: string | number;
+
+  /**
+   * 閮ㄩ棬id
+   */
+  deptId: string | number;
+
+  /**
+   * 鐢ㄦ埛id
+   */
+  userId: string | number;
+
+  /**
+   * 鍊�
+   */
+  treeName: string;
+}
+
+export interface TreeForm extends BaseEntity {
+  /**
+   * 涓婚敭
+   */
+  id?: string | number;
+
+  /**
+   * 鐖秈d
+   */
+  parentId?: string | number;
+
+  /**
+   * 閮ㄩ棬id
+   */
+  deptId?: string | number;
+
+  /**
+   * 鐢ㄦ埛id
+   */
+  userId?: string | number;
+
+  /**
+   * 鍊�
+   */
+  treeName?: string;
+}
+
+export interface TreeQuery {
+  /**
+   * 鐖秈d
+   */
+  parentId?: string | number;
+
+  /**
+   * 閮ㄩ棬id
+   */
+  deptId?: string | number;
+
+  /**
+   * 鐢ㄦ埛id
+   */
+  userId?: string | number;
+
+  /**
+   * 鍊�
+   */
+  treeName?: string;
+}
diff --git a/src/api/demo/types.ts b/src/api/demo/types.ts
deleted file mode 100644
index b756b83..0000000
--- a/src/api/demo/types.ts
+++ /dev/null
@@ -1,55 +0,0 @@
-export interface DemoVO extends BaseEntity {
-  id: number | string;
-  deptId: number | string;
-  userId: number | string;
-  orderNum: number;
-  testKey: string;
-  value: string;
-  createByName: string;
-  updateByName?: any;
-}
-
-export interface DemoQuery extends PageQuery {
-  testKey: string;
-  value: string;
-  createTime: string;
-}
-export interface DemoForm {
-  id: string | number | undefined;
-  deptId: string | number | undefined;
-  userId: string | number | undefined;
-  orderNum: number;
-  testKey: string;
-  value: string;
-  version: string;
-  ossConfigId: string | number | undefined;
-  createTime?: string;
-}
-
-export interface DemoTreeVO extends BaseEntity {
-  id: number | string;
-  parentId: number | string;
-  deptId: number | string;
-  userId: number | string;
-  treeName: string;
-  children?: DemoTreeVO[];
-}
-
-export interface DemoTreeQuery {
-  treeName: string;
-  createTime: string;
-}
-
-export interface DemoTreeForm {
-  id: string | number | undefined;
-  parentId: string | number | undefined;
-  deptId: string | number | undefined;
-  userId: string | number | undefined;
-  treeName: string;
-}
-
-export interface DemoTreeOptionsType {
-  id: string | number;
-  treeName: string;
-  children?: DemoTreeOptionsType[];
-}
diff --git a/src/types/global.d.ts b/src/types/global.d.ts
index 2083d4b..5a972a3 100644
--- a/src/types/global.d.ts
+++ b/src/types/global.d.ts
@@ -57,6 +57,7 @@
 
   interface BaseEntity {
     createBy?: any;
+    createDept?: any;
     createTime?: string;
     updateBy?: any;
     updateTime?: any;
diff --git a/src/views/demo/demo/index.vue b/src/views/demo/demo/index.vue
index 71cc1fc..2786a51 100644
--- a/src/views/demo/demo/index.vue
+++ b/src/views/demo/demo/index.vue
@@ -3,26 +3,23 @@
     <transition :enter-active-class="proxy?.animate.searchAnimate.enter" :leave-active-class="proxy?.animate.searchAnimate.leave">
       <div class="search" v-show="showSearch">
         <el-form :model="queryParams" ref="queryFormRef" :inline="true" label-width="68px">
+          <el-form-item label="閮ㄩ棬id" prop="deptId">
+            <el-input v-model="queryParams.deptId" placeholder="璇疯緭鍏ラ儴闂╥d" clearable @keyup.enter="handleQuery" />
+          </el-form-item>
+          <el-form-item label="鐢ㄦ埛id" prop="userId">
+            <el-input v-model="queryParams.userId" placeholder="璇疯緭鍏ョ敤鎴穒d" clearable @keyup.enter="handleQuery" />
+          </el-form-item>
+          <el-form-item label="鎺掑簭鍙�" prop="orderNum">
+            <el-input v-model="queryParams.orderNum" placeholder="璇疯緭鍏ユ帓搴忓彿" clearable @keyup.enter="handleQuery" />
+          </el-form-item>
           <el-form-item label="key閿�" prop="testKey">
-            <el-input v-model="queryParams.testKey" placeholder="璇疯緭鍏ey閿�" clearable style="width: 200px" @keyup.enter="handleQuery" />
+            <el-input v-model="queryParams.testKey" placeholder="璇疯緭鍏ey閿�" clearable @keyup.enter="handleQuery" />
           </el-form-item>
           <el-form-item label="鍊�" prop="value">
-            <el-input v-model="queryParams.value" placeholder="璇疯緭鍏ュ��" clearable style="width: 200px" @keyup.enter="handleQuery" />
-          </el-form-item>
-          <el-form-item label="鍒涘缓鏃堕棿">
-            <el-date-picker
-              v-model="daterangeCreateTime"
-              value-format="YYYY-MM-DD HH:mm:ss"
-              type="daterange"
-              range-separator="-"
-              start-placeholder="寮�濮嬫棩鏈�"
-              end-placeholder="缁撴潫鏃ユ湡"
-              :default-time="[new Date(2000, 1, 1, 0, 0, 0), new Date(2000, 1, 1, 23, 59, 59)]"
-            ></el-date-picker>
+            <el-input v-model="queryParams.value" placeholder="璇疯緭鍏ュ��" clearable @keyup.enter="handleQuery" />
           </el-form-item>
           <el-form-item>
-            <el-button type="primary" icon="search" @click="handleQuery">鎼滅储</el-button>
-            <el-button type="primary" icon="search" @click="handlePage">鎼滅储(鑷畾涔夊垎椤垫帴鍙�)</el-button>
+            <el-button type="primary" icon="Search" @click="handleQuery">鎼滅储</el-button>
             <el-button icon="Refresh" @click="resetQuery">閲嶇疆</el-button>
           </el-form-item>
         </el-form>
@@ -39,12 +36,7 @@
             <el-button type="success" plain icon="Edit" :disabled="single" @click="handleUpdate()" v-hasPermi="['demo:demo:edit']">淇敼</el-button>
           </el-col>
           <el-col :span="1.5">
-            <el-button type="danger" plain icon="Delete" :disabled="multiple" @click="handleDelete()" v-hasPermi="['demo:demo:remove']">
-              鍒犻櫎
-            </el-button>
-          </el-col>
-          <el-col :span="1.5">
-            <el-button type="info" plain icon="Upload" @click="handleImport" v-hasPermi="['demo:demo:import']">瀵煎叆(鏍¢獙)</el-button>
+            <el-button type="danger" plain icon="Delete" :disabled="multiple" @click="handleDelete()" v-hasPermi="['demo:demo:remove']">鍒犻櫎</el-button>
           </el-col>
           <el-col :span="1.5">
             <el-button type="warning" plain icon="Download" @click="handleExport" v-hasPermi="['demo:demo:export']">瀵煎嚭</el-button>
@@ -55,40 +47,33 @@
 
       <el-table v-loading="loading" :data="demoList" @selection-change="handleSelectionChange">
         <el-table-column type="selection" width="55" align="center" />
-        <el-table-column label="涓婚敭" align="center" prop="id" v-if="columns[0].visible" />
-        <el-table-column label="閮ㄩ棬id" align="center" prop="deptId" v-if="columns[1].visible" />
-        <el-table-column label="鐢ㄦ埛id" align="center" prop="userId" v-if="columns[2].visible" />
-        <el-table-column label="鎺掑簭鍙�" align="center" prop="orderNum" v-if="columns[3].visible" />
-        <el-table-column label="key閿�" align="center" prop="testKey" v-if="columns[4].visible" />
-        <el-table-column label="鍊�" align="center" prop="value" v-if="columns[5].visible" />
-        <el-table-column label="鍒涘缓鏃堕棿" align="center" prop="createTime" v-if="columns[6].visible" width="180">
-          <template #default="scope">
-            <span>{{ parseTime(scope.row.createTime, '{y}-{m}-{d}') }}</span>
-          </template>
-        </el-table-column>
-        <el-table-column label="鍒涘缓浜�" align="center" prop="createByName" v-if="columns[7].visible" />
-        <el-table-column label="鏇存柊鏃堕棿" align="center" prop="updateTime" v-if="columns[8].visible" width="180">
-          <template #default="scope">
-            <span>{{ parseTime(scope.row.updateTime, '{y}-{m}-{d}') }}</span>
-          </template>
-        </el-table-column>
-        <el-table-column label="鏇存柊浜�" align="center" prop="updateByName" v-if="columns[9].visible" />
-        <el-table-column label="鎿嶄綔" fixed="right" align="center" width="150" class-name="small-padding fixed-width">
+        <el-table-column label="涓婚敭" align="center" prop="id" v-if="true" />
+        <el-table-column label="閮ㄩ棬id" align="center" prop="deptId" />
+        <el-table-column label="鐢ㄦ埛id" align="center" prop="userId" />
+        <el-table-column label="鎺掑簭鍙�" align="center" prop="orderNum" />
+        <el-table-column label="key閿�" align="center" prop="testKey" />
+        <el-table-column label="鍊�" align="center" prop="value" />
+        <el-table-column label="鎿嶄綔" align="center" class-name="small-padding fixed-width">
           <template #default="scope">
             <el-tooltip content="淇敼" placement="top">
               <el-button link type="primary" icon="Edit" @click="handleUpdate(scope.row)" v-hasPermi="['demo:demo:edit']"></el-button>
             </el-tooltip>
-            <el-tooltip content="淇敼" placement="top">
+            <el-tooltip content="鍒犻櫎" placement="top">
               <el-button link type="primary" icon="Delete" @click="handleDelete(scope.row)" v-hasPermi="['demo:demo:remove']"></el-button>
             </el-tooltip>
           </template>
         </el-table-column>
       </el-table>
 
-      <pagination v-show="total > 0" :total="total" v-model:page="queryParams.pageNum" v-model:limit="queryParams.pageSize" @pagination="getList" />
+      <pagination
+          v-show="total>0"
+          :total="total"
+          v-model:page="queryParams.pageNum"
+          v-model:limit="queryParams.pageSize"
+          @pagination="getList"
+      />
     </el-card>
-
-    <!-- 娣诲姞鎴栦慨鏀规祴璇曞崟琛ㄥ璇濇 -->
+    <!-- 娣诲姞鎴栦慨鏀规祴璇曞崟瀵硅瘽妗� -->
     <el-dialog :title="dialog.title" v-model="dialog.visible" width="500px" append-to-body>
       <el-form ref="demoFormRef" :model="form" :rules="rules" label-width="80px">
         <el-form-item label="閮ㄩ棬id" prop="deptId">
@@ -106,10 +91,6 @@
         <el-form-item label="鍊�" prop="value">
           <el-input v-model="form.value" placeholder="璇疯緭鍏ュ��" />
         </el-form-item>
-        <el-form-item label="鍒涘缓鏃堕棿" prop="createTime">
-          <el-date-picker clearable v-model="form.createTime" type="datetime" value-format="YYYY-MM-DD HH:mm:ss" placeholder="閫夋嫨鍒涘缓鏃堕棿">
-          </el-date-picker>
-        </el-form-item>
       </el-form>
       <template #footer>
         <div class="dialog-footer">
@@ -118,39 +99,14 @@
         </div>
       </template>
     </el-dialog>
-    <!-- 鐢ㄦ埛瀵煎叆瀵硅瘽妗� -->
-    <el-dialog :title="upload.title" v-model="upload.open" width="400px" append-to-body>
-      <el-upload
-        ref="uploadRef"
-        :limit="1"
-        accept=".xlsx, .xls"
-        :headers="upload.headers"
-        :action="upload.url + '?updateSupport=' + upload.updateSupport"
-        :disabled="upload.isUploading"
-        :on-progress="handleFileUploadProgress"
-        :on-success="handleFileSuccess"
-        :auto-upload="false"
-        drag
-      >
-        <i class="el-icon-upload"></i>
-        <div class="el-upload__text">灏嗘枃浠舵嫋鍒版澶勶紝鎴�<em>鐐瑰嚮涓婁紶</em></div>
-      </el-upload>
-      <template #footer>
-        <div class="dialog-footer">
-          <el-button type="primary" @click="submitFileForm">纭� 瀹�</el-button>
-          <el-button @click="upload.open = false">鍙� 娑�</el-button>
-        </div>
-      </template>
-    </el-dialog>
   </div>
 </template>
 
 <script setup name="Demo" lang="ts">
-import { listDemo, pageDemo, getDemo, delDemo, addDemo, updateDemo } from "@/api/demo/demo";
-import { getToken } from "@/utils/auth";
-import { ComponentInternalInstance } from "vue";
-import { ElUpload, UploadFile, UploadFiles, DateModelType } from 'element-plus';
-import { DemoForm, DemoQuery, DemoVO } from "@/api/demo/types";
+import { listDemo, getDemo, delDemo, addDemo, updateDemo } from '@/api/demo/demo';
+import { DemoVO, DemoQuery, DemoForm } from '@/api/demo/demo/types';
+import { ComponentInternalInstance } from 'vue';
+import { ElForm } from 'element-plus';
 
 const { proxy } = getCurrentInstance() as ComponentInternalInstance;
 
@@ -158,200 +114,159 @@
 const buttonLoading = ref(false);
 const loading = ref(true);
 const showSearch = ref(true);
-const ids = ref<Array<string | number>>([])
+const ids = ref<Array<string | number>>([]);
 const single = ref(true);
 const multiple = ref(true);
 const total = ref(0);
-const daterangeCreateTime = ref<[DateModelType, DateModelType]>(['', '']);
 
-const demoFormRef = ref(ElForm);
 const queryFormRef = ref(ElForm);
-const uploadRef = ref(ElUpload);
+const demoFormRef = ref(ElForm);
 
 const dialog = reactive<DialogOption>({
-    visible: false,
-    title: ''
+  visible: false,
+  title: ''
 });
 
-/** 鐢ㄦ埛瀵煎叆鍙傛暟 */
-const upload = reactive<ImportOption>({
-    // 鏄惁鏄剧ず寮瑰嚭灞傦紙鐢ㄦ埛瀵煎叆锛�
-    open: false,
-    // 寮瑰嚭灞傛爣棰橈紙鐢ㄦ埛瀵煎叆锛�
-    title: "",
-    // 鏄惁绂佺敤涓婁紶
-    isUploading: false,
-    // 璁剧疆涓婁紶鐨勮姹傚ご閮�
-    headers: { Authorization: "Bearer " + getToken() },
-    // 涓婁紶鐨勫湴鍧�
-    url: import.meta.env.VITE_APP_BASE_API + "demo/demo/importData"
-})
-
-// 鍒楁樉闅愪俊鎭�
-const columns = ref<FieldOption[]>([
-    { key: 0, label: `涓婚敭`, visible: false },
-    { key: 1, label: `閮ㄩ棬id`, visible: true },
-    { key: 2, label: `鐢ㄦ埛id`, visible: true },
-    { key: 3, label: `鎺掑簭鍙穈, visible: true },
-    { key: 4, label: `key閿甡, visible: true },
-    { key: 5, label: `鍊糮, visible: true },
-    { key: 6, label: `鍒涘缓鏃堕棿`, visible: true },
-    { key: 7, label: `鍒涘缓浜篳, visible: true },
-    { key: 8, label: `鏇存柊鏃堕棿`, visible: true },
-    { key: 9, label: `鏇存柊浜篳, visible: true }
-]);
-
-const initDataForm: DemoForm = {
-    id: undefined,
-    deptId: undefined,
-    userId: undefined,
-    orderNum: 0,
-    testKey: '',
-    value: '',
-    version: '',
-    ossConfigId: undefined,
+const initFormData: DemoForm = {
+  id: undefined,
+  deptId: undefined,
+  userId: undefined,
+  orderNum: undefined,
+  testKey: undefined,
+  value: undefined,
 }
 const data = reactive<PageData<DemoForm, DemoQuery>>({
-    form: { ...initDataForm },
-    queryParams: {
-        pageNum: 1,
-        pageSize: 10,
-        testKey: '',
-        value: '',
-        createTime: '',
-    },
-    rules: {
-        testKey: [{ required: true, message: "key閿笉鑳戒负绌�", trigger: "blur" }],
-        value: [{ required: true, message: "鍊间笉鑳戒负绌�", trigger: "blur" }],
-    }
+  form: {...initFormData},
+  queryParams: {
+    pageNum: 1,
+    pageSize: 10,
+    deptId: undefined,
+    userId: undefined,
+    orderNum: undefined,
+    testKey: undefined,
+    value: undefined,
+  },
+  rules: {
+    id: [
+      { required: true, message: "涓婚敭涓嶈兘涓虹┖", trigger: "blur" }
+    ],
+    deptId: [
+      { required: true, message: "閮ㄩ棬id涓嶈兘涓虹┖", trigger: "blur" }
+    ],
+    userId: [
+      { required: true, message: "鐢ㄦ埛id涓嶈兘涓虹┖", trigger: "blur" }
+    ],
+    orderNum: [
+      { required: true, message: "鎺掑簭鍙蜂笉鑳戒负绌�", trigger: "blur" }
+    ],
+    testKey: [
+      { required: true, message: "key閿笉鑳戒负绌�", trigger: "blur" }
+    ],
+    value: [
+      { required: true, message: "鍊间笉鑳戒负绌�", trigger: "blur" }
+    ],
+  }
 });
 
 const { queryParams, form, rules } = toRefs(data);
 
-/** 鏌ヨOSS瀵硅薄瀛樺偍鍒楄〃 */
+/** 鏌ヨ娴嬭瘯鍗曞垪琛� */
 const getList = async () => {
-    loading.value = true;
-    const res = await listDemo(proxy?.addDateRange(queryParams.value, daterangeCreateTime.value, "CreateTime"));
-    demoList.value = res.rows;
-    total.value = res.total;
-    loading.value = false;
+  loading.value = true;
+  const res = await listDemo(queryParams.value);
+  demoList.value = res.rows;
+  total.value = res.total;
+  loading.value = false;
 }
-/** 鑷畾涔夊垎椤垫煡璇� */
-const getPage = async () => {
-    loading.value = true;
-    const res = await pageDemo(proxy?.addDateRange(queryParams.value, daterangeCreateTime.value, "CreateTime"));
-    demoList.value = res.rows;
-    total.value = res.total;
-    loading.value = false;
-}
+
 /** 鍙栨秷鎸夐挳 */
 const cancel = () => {
-    reset();
-    dialog.visible = false;
+  reset();
+  dialog.visible = false;
 }
+
 /** 琛ㄥ崟閲嶇疆 */
 const reset = () => {
-    form.value = { ...initDataForm };
-    demoFormRef.value.resetFields();
+  form.value = {...initFormData};
+  demoFormRef.value.resetFields();
 }
+
 /** 鎼滅储鎸夐挳鎿嶄綔 */
 const handleQuery = () => {
-    queryParams.value.pageNum = 1;
-    getList();
+  queryParams.value.pageNum = 1;
+  getList();
 }
-/** 鎼滅储鎸夐挳鎿嶄綔 */
-const handlePage = () => {
-    queryParams.value.pageNum = 1;
-    getList();
-}
+
 /** 閲嶇疆鎸夐挳鎿嶄綔 */
 const resetQuery = () => {
-    daterangeCreateTime.value = ['', ''];
-    queryFormRef.value.resetFields();
-    handleQuery();
+  queryFormRef.value.resetFields();
+  handleQuery();
 }
-/** 閫夋嫨鏉℃暟  */
+
+/** 澶氶�夋閫変腑鏁版嵁 */
 const handleSelectionChange = (selection: DemoVO[]) => {
-    ids.value = selection.map(item => item.id);
-    single.value = selection.length != 1;
-    multiple.value = !selection.length;
+  ids.value = selection.map(item => item.id);
+  single.value = selection.length != 1;
+  multiple.value = !selection.length;
 }
+
 /** 鏂板鎸夐挳鎿嶄綔 */
 const handleAdd = () => {
-    dialog.visible = true;
-    dialog.title = "娣诲姞娴嬭瘯鍗曡〃";
-    nextTick(() => {
-        reset();
-    })
+  dialog.visible = true;
+  dialog.title = "娣诲姞娴嬭瘯鍗�";
+  nextTick(() => {
+    reset();
+  });
 }
+
 /** 淇敼鎸夐挳鎿嶄綔 */
-const handleUpdate = async (row?: DemoVO) => {
-    loading.value = true;
-    dialog.visible = true;
-    dialog.title = "淇敼娴嬭瘯鍗曡〃";
-    const _ids = row?.id || ids.value[0];
-    const res = await getDemo(_ids);
-    nextTick(() => {
-        reset();
-        Object.assign(form.value, res.data)
-        loading.value = false;
-    })
+const handleUpdate = (row?: DemoVO) => {
+  loading.value = true
+  dialog.visible = true;
+  dialog.title = "淇敼娴嬭瘯鍗�";
+  nextTick(async () => {
+    reset();
+    const _id = row?.id || ids.value[0]
+    const res = await getDemo(_id);
+    loading.value = false;
+    Object.assign(form.value, res.data);
+  });
 }
+
 /** 鎻愪氦鎸夐挳 */
 const submitForm = () => {
-    demoFormRef.value.validate(async (valid: boolean) => {
-        if (valid) {
-            buttonLoading.value = true;
-            if (form.value.ossConfigId) {
-                await updateDemo(form.value).finally(() => buttonLoading.value = false);
-            } else {
-                await addDemo(form.value).finally(() => buttonLoading.value = false);
-            }
-            proxy?.$modal.msgSuccess("鎿嶄綔鎴愬姛");
-            dialog.visible = false;
-            getList();
-        }
-    });
+  demoFormRef.value.validate(async (valid: boolean) => {
+    if (valid) {
+      buttonLoading.value = true;
+      if (form.value.id) {
+        await updateDemo(form.value).finally(() =>  buttonLoading.value = false);
+      } else {
+        await addDemo(form.value).finally(() =>  buttonLoading.value = false);
+      }
+      proxy?.$modal.msgSuccess("淇敼鎴愬姛");
+      dialog.visible = false;
+      await getList();
+    }
+  });
 }
+
 /** 鍒犻櫎鎸夐挳鎿嶄綔 */
 const handleDelete = async (row?: DemoVO) => {
-    const _ids = row?.id || ids.value;
-    await proxy?.$modal.confirm('鏄惁纭鍒犻櫎娴嬭瘯鍗曡〃缂栧彿涓�"' + _ids + '"鐨勬暟鎹」?');
-    await delDemo(_ids).finally(() => loading.value = false);
-    loading.value = false;
-    getList();
-    proxy?.$modal.msgSuccess("鍒犻櫎鎴愬姛");
+  const _ids = row?.id || ids.value;
+  await proxy?.$modal.confirm('鏄惁纭鍒犻櫎娴嬭瘯鍗曠紪鍙蜂负"' + _ids + '"鐨勬暟鎹」锛�').finally(() => loading.value = false);
+  await delDemo(_ids);
+  proxy?.$modal.msgSuccess("鍒犻櫎鎴愬姛");
+  await getList();
 }
-/** 瀵煎叆鎸夐挳鎿嶄綔 */
-const handleImport = () => {
-    upload.title = "娴嬭瘯瀵煎叆";
-    upload.open = true;
-}
+
 /** 瀵煎嚭鎸夐挳鎿嶄綔 */
 const handleExport = () => {
-    proxy?.download("demo/demo/export", {
-        ...queryParams.value,
-    }, `demo_${new Date().getTime()}.xlsx`);
-}
-/**鏂囦欢涓婁紶涓鐞� */
-const handleFileUploadProgress = () => {
-    upload.isUploading = true;
-}
-/** 鏂囦欢涓婁紶鎴愬姛澶勭悊 */
-const handleFileSuccess = (res: any, file: UploadFile, fileList: UploadFiles) => {
-    upload.open = false;
-    upload.isUploading = false;
-    uploadRef.value.clearFiles();
-    ElMessageBox.alert(res.msg, "瀵煎叆缁撴灉", { dangerouslyUseHTMLString: true });
-    getList();
-}
-/** 鎻愪氦涓婁紶鏂囦欢 */
-function submitFileForm() {
-    uploadRef.value.submit();
+  proxy?.download('demo/demo/export', {
+    ...queryParams.value
+  }, `demo_${new Date().getTime()}.xlsx`)
 }
 
 onMounted(() => {
-    getList()
-    getPage()
-})
+  getList();
+});
 </script>
diff --git a/src/views/demo/tree/index.vue b/src/views/demo/tree/index.vue
index e46f3c5..ddff2bf 100644
--- a/src/views/demo/tree/index.vue
+++ b/src/views/demo/tree/index.vue
@@ -2,23 +2,12 @@
   <div class="p-2">
     <transition :enter-active-class="proxy?.animate.searchAnimate.enter" :leave-active-class="proxy?.animate.searchAnimate.leave">
       <div class="search" v-show="showSearch">
-        <el-form :model="queryParams" ref="qeuryFormRef" :inline="true" label-width="68px">
+        <el-form :model="queryParams" ref="queryFormRef" :inline="true" label-width="68px">
           <el-form-item label="鏍戣妭鐐瑰悕" prop="treeName">
-            <el-input v-model="queryParams.treeName" placeholder="璇疯緭鍏ユ爲鑺傜偣鍚�" clearable style="width: 200px" @keyup.enter="handleQuery" />
-          </el-form-item>
-          <el-form-item label="鍒涘缓鏃堕棿">
-            <el-date-picker
-              v-model="daterangeCreateTime"
-              value-format="YYYY-MM-DD HH:mm:ss"
-              type="daterange"
-              range-separator="-"
-              start-placeholder="寮�濮嬫棩鏈�"
-              end-placeholder="缁撴潫鏃ユ湡"
-              :default-time="[new Date(2000, 1, 1, 0, 0, 0), new Date(2000, 1, 1, 23, 59, 59)]"
-            ></el-date-picker>
+            <el-input v-model="queryParams.treeName" placeholder="璇疯緭鍏ユ爲鑺傜偣鍚�" clearable @keyup.enter="handleQuery" />
           </el-form-item>
           <el-form-item>
-            <el-button type="primary" icon="search" @click="handleQuery">鎼滅储</el-button>
+            <el-button type="primary" icon="Search" @click="handleQuery">鎼滅储</el-button>
             <el-button icon="Refresh" @click="resetQuery">閲嶇疆</el-button>
           </el-form-item>
         </el-form>
@@ -27,62 +16,54 @@
 
     <el-card shadow="never">
       <template #header>
-        <el-row :gutter="10">
+        <el-row :gutter="10" class="mb8">
           <el-col :span="1.5">
             <el-button type="primary" plain icon="Plus" @click="handleAdd()" v-hasPermi="['demo:tree:add']">鏂板</el-button>
           </el-col>
           <el-col :span="1.5">
             <el-button type="info" plain icon="Sort" @click="handleToggleExpandAll">灞曞紑/鎶樺彔</el-button>
           </el-col>
-          <right-toolbar :columns="columns" v-model:showSearch="showSearch" @queryTable="getList"></right-toolbar>
+          <right-toolbar v-model:showSearch="showSearch" @queryTable="getList"></right-toolbar>
         </el-row>
       </template>
-
       <el-table
-        v-if="refreshTable"
         v-loading="loading"
         :data="treeList"
         row-key="id"
         :default-expand-all="isExpandAll"
-        :tree-props="{ children: 'children', hasChildren: 'hasChildren' }"
-        ref="demoTreeTableRef"
+        :tree-props="{children: 'children', hasChildren: 'hasChildren'}"
+        ref="treeTableRef"
       >
-        <el-table-column label="鐖秈d" prop="parentId" v-if="columns[0].visible" />
-        <el-table-column label="閮ㄩ棬id" align="center" prop="deptId" v-if="columns[1].visible" />
-        <el-table-column label="鐢ㄦ埛id" align="center" prop="userId" v-if="columns[2].visible" />
-        <el-table-column label="鏍戣妭鐐瑰悕" align="center" prop="treeName" v-if="columns[3].visible" />
-        <el-table-column label="鍒涘缓鏃堕棿" align="center" prop="createTime" v-if="columns[4].visible" width="180">
-          <template #default="scope">
-            <span>{{ parseTime(scope.row.createTime, '{y}-{m}-{d}') }}</span>
-          </template>
-        </el-table-column>
-        <el-table-column label="鎿嶄綔" fixed="right" align="center" width="150" class-name="small-padding fixed-width">
+        <el-table-column label="鐖秈d" align="center" prop="parentId" />
+        <el-table-column label="閮ㄩ棬id" align="center" prop="deptId" />
+        <el-table-column label="鐢ㄦ埛id" align="center" prop="userId" />
+        <el-table-column label="鏍戣妭鐐瑰悕" align="center" prop="treeName" />
+        <el-table-column label="鎿嶄綔" align="center" class-name="small-padding fixed-width">
           <template #default="scope">
             <el-tooltip content="淇敼" placement="top">
-              <el-button link type="primary" icon="Edit" @click="handleUpdate(scope.row)" v-hasPermi="['demo:tree:edit']"></el-button>
+              <el-button link type="primary" icon="Edit" @click="handleUpdate(scope.row)" v-hasPermi="['demo:tree:edit']" />
             </el-tooltip>
             <el-tooltip content="鏂板" placement="top">
-              <el-button link type="primary" icon="Plus" @click="handleAdd(scope.row)" v-hasPermi="['demo:tree:add']"></el-button>
+              <el-button link type="primary" icon="Plus" @click="handleAdd(scope.row)" v-hasPermi="['demo:tree:add']" />
             </el-tooltip>
             <el-tooltip content="鍒犻櫎" placement="top">
-              <el-button link type="primary" icon="Delete" @click="handleDelete(scope.row)" v-hasPermi="['demo:tree:remove']"></el-button>
+              <el-button link type="primary" icon="Delete" @click="handleDelete(scope.row)" v-hasPermi="['demo:tree:remove']" />
             </el-tooltip>
           </template>
         </el-table-column>
       </el-table>
     </el-card>
-
-    <!-- 娣诲姞鎴栦慨鏀规祴璇曟爲琛ㄥ璇濇 -->
+    <!-- 娣诲姞鎴栦慨鏀规祴璇曟爲瀵硅瘽妗� -->
     <el-dialog :title="dialog.title" v-model="dialog.visible" width="500px" append-to-body>
-      <el-form ref="treeRef" :model="form" :rules="rules" label-width="80px">
+      <el-form ref="treeFormRef" :model="form" :rules="rules" label-width="80px">
         <el-form-item label="鐖秈d" prop="parentId">
           <el-tree-select
             v-model="form.parentId"
             :data="treeOptions"
             :props="{ value: 'id', label: 'treeName', children: 'children' }"
             value-key="id"
-            check-strictly
             placeholder="璇烽�夋嫨鐖秈d"
+            check-strictly
           />
         </el-form-item>
         <el-form-item label="閮ㄩ棬id" prop="deptId">
@@ -91,8 +72,8 @@
         <el-form-item label="鐢ㄦ埛id" prop="userId">
           <el-input v-model="form.userId" placeholder="璇疯緭鍏ョ敤鎴穒d" />
         </el-form-item>
-        <el-form-item label="鏍戣妭鐐瑰悕" prop="treeName">
-          <el-input v-model="form.treeName" placeholder="璇疯緭鍏ユ爲鑺傜偣鍚�" />
+        <el-form-item label="鍊�" prop="treeName">
+          <el-input v-model="form.treeName" placeholder="璇疯緭鍏ュ��" />
         </el-form-item>
       </el-form>
       <template #footer>
@@ -106,188 +87,191 @@
 </template>
 
 <script setup name="Tree" lang="ts">
-import { listTree, getTree, delTree, addTree, updateTree } from '@/api/demo/tree';
-import { DemoTreeVO, DemoTreeForm, DemoTreeOptionsType, DemoTreeQuery } from '@/api/demo/types';
+import { listTree, getTree, delTree, addTree, updateTree } from "@/api/demo/tree";
+import { TreeVO, TreeQuery, TreeForm } from '@/api/demo/tree/types';
 import { ComponentInternalInstance } from 'vue';
-import { ElTree, ElForm, ElTable, DateModelType } from 'element-plus';
+import { ElForm, ElTable } from 'element-plus';
 
-const { proxy } = getCurrentInstance() as ComponentInternalInstance;
 
-const treeList = ref<DemoTreeVO[]>([]);
+type TreeOption = {
+  id: number;
+  treeName: string;
+  children?: TreeOption[];
+}
+
+const { proxy } = getCurrentInstance() as ComponentInternalInstance;;
+
+
+const treeList = ref<TreeVO[]>([]);
+const treeOptions = ref<TreeOption[]>([]);
 const buttonLoading = ref(false);
-const loading = ref(true);
 const showSearch = ref(true);
 const isExpandAll = ref(true);
-const refreshTable = ref(true);
-const treeOptions = ref<DemoTreeOptionsType[]>([]);
-const daterangeCreateTime = ref<[DateModelType, DateModelType]>(['', '']);
+const loading = ref(false);
 
-const treeRef = ref(ElTree);
-const qeuryFormRef = ref(ElForm);
-const demoTreeTableRef = ref(ElTable)
+const queryFormRef = ref(ElForm);
+const treeFormRef = ref(ElForm);
+const treeTableRef = ref(ElTable)
 
 const dialog = reactive<DialogOption>({
     visible: false,
     title: ''
 });
 
-// 鍒楁樉闅愪俊鎭�
-const columns = ref<FieldOption[]>([
-    { key: 0, label: `鐖秈d`, visible: false },
-    { key: 1, label: `閮ㄩ棬id`, visible: true },
-    { key: 2, label: `鐢ㄦ埛id`, visible: true },
-    { key: 3, label: `鏍戣妭鐐瑰悕`, visible: true },
-    { key: 4, label: `鍒涘缓鏃堕棿`, visible: true }
-]);
 
-const initFormData = {
+const initFormData: TreeForm = {
     id: undefined,
     parentId: undefined,
     deptId: undefined,
     userId: undefined,
-    treeName: ''
+    treeName: undefined,
 }
 
-const data = reactive<PageData<DemoTreeForm, DemoTreeQuery>>({
-    // 鏌ヨ鍙傛暟
-    queryParams: {
-        treeName: '',
-        createTime: '',
-    },
-    // 琛ㄥ崟鍙傛暟
-    form: {...initFormData},
-    // 琛ㄥ崟鏍¢獙
-    rules: {
-        treeName: [{ required: true, message: "鏍戣妭鐐瑰悕涓嶈兘涓虹┖", trigger: "blur" }],
-    }
+const data = reactive<PageData<TreeForm, TreeQuery>>({
+  form: {...initFormData},
+  queryParams: {
+    parentId: undefined,
+    deptId: undefined,
+    userId: undefined,
+    treeName: undefined,
+  },
+  rules: {
+    id: [
+      { required: true, message: "涓婚敭涓嶈兘涓虹┖", trigger: "blur" }
+    ],
+    parentId: [
+      { required: true, message: "鐖秈d涓嶈兘涓虹┖", trigger: "blur" }
+    ],
+    deptId: [
+      { required: true, message: "閮ㄩ棬id涓嶈兘涓虹┖", trigger: "blur" }
+    ],
+    userId: [
+      { required: true, message: "鐢ㄦ埛id涓嶈兘涓虹┖", trigger: "blur" }
+    ],
+    treeName: [
+      { required: true, message: "鍊间笉鑳戒负绌�", trigger: "blur" }
+    ],
+  }
 });
 
 const { queryParams, form, rules } = toRefs(data);
-/** 鏌ヨ娴嬭瘯鏍戣〃鍒楄〃 */
-const getList = () => {
-    loading.value = true;
-    listTree(proxy?.addDateRange(queryParams.value, daterangeCreateTime.value, "CreateTime")).then(res => {
-        const data = proxy?.handleTree<DemoTreeVO>(res.data, "id", "parentId");
-        if (data) {
-            treeList.value = data
-        }
-        loading.value = false;
-    });
+
+/** 鏌ヨ娴嬭瘯鏍戝垪琛� */
+const getList = async () => {
+  loading.value = true;
+  const res = await listTree(queryParams.value);
+  const data = proxy?.handleTree<TreeVO>(res.data, "id", "parentId");
+  if (data) {
+    treeList.value = data;
+    loading.value = false;
+  }
 }
 
-/** 鏌ヨ閮ㄩ棬涓嬫媺鏍戠粨鏋� */
-const getTreeSelect = async () => {
-    listTree(proxy?.addDateRange(queryParams.value, daterangeCreateTime.value, "CreateTime")).then(res => {
-        const topData: DemoTreeOptionsType = { id: 0, treeName: '椤剁骇鑺傜偣', children: [] };
-        topData.children = proxy?.handleTree<DemoTreeOptionsType>(res.data, "id", "parentId");
-        treeOptions.value.push(topData);
-    });
+/** 鏌ヨ娴嬭瘯鏍戜笅鎷夋爲缁撴瀯 */
+const getTreeselect = async () => {
+  const res = await listTree();
+  treeOptions.value = [];
+  const data: TreeOption = { id: 0, treeName: '椤剁骇鑺傜偣', children: [] };
+  data.children = proxy?.handleTree<TreeOption>(res.data, "id", "parentId");
+  treeOptions.value.push(data);
 }
-/** 鍙栨秷鎸夐挳 */
+
+// 鍙栨秷鎸夐挳
 const cancel = () => {
-    reset();
-    dialog.visible = false;
+  reset();
+  dialog.visible = false;
 }
-/** 琛ㄥ崟閲嶇疆 */
+
+// 琛ㄥ崟閲嶇疆
 const reset = () => {
-    form.value = {...initFormData}
-    treeRef.value.resetFields();
+  form.value = {...initFormData}
+  treeFormRef.value.resetFields();
 }
+
 /** 鎼滅储鎸夐挳鎿嶄綔 */
 const handleQuery = () => {
-    getList();
+  getList();
 }
+
 /** 閲嶇疆鎸夐挳鎿嶄綔 */
 const resetQuery = () => {
-    daterangeCreateTime.value = ['', ''];
-    qeuryFormRef.value.resetFields();
-    handleQuery();
+  queryFormRef.value.resetFields();
+  handleQuery();
 }
+
 /** 鏂板鎸夐挳鎿嶄綔 */
-const handleAdd = (row?: DemoTreeVO) => {
-    dialog.visible = true;
-    dialog.title = "娣诲姞娴嬭瘯鏍戣〃";
-    nextTick(() => {
-        reset();
-        getTreeSelect();
-        if (row != null && row.id) {
-            form.value.parentId = row.id;
-        } else {
-            form.value.parentId = 0;
-        }
-    })
+const handleAdd = (row?: TreeVO) => {
+  dialog.visible = true;
+  dialog.title = "娣诲姞娴嬭瘯鏍�";
+  nextTick(() => {
+    reset();
+    getTreeselect();
+    if (row != null && row.id) {
+      form.value.parentId = row.id;
+    } else {
+      form.value.parentId = 0;
+    }
+  });
 }
 
 /** 灞曞紑/鎶樺彔鎿嶄綔 */
 const handleToggleExpandAll = () => {
-    isExpandAll.value = !isExpandAll.value;
-    toggleExpandAll(treeList.value, isExpandAll.value)
+  isExpandAll.value = !isExpandAll.value;
+  toggleExpandAll(treeList.value, isExpandAll.value)
 }
-/** 灞曞紑/鎶樺彔鎵�鏈� */
-const toggleExpandAll = (data: DemoTreeVO[], status: boolean) => {
-    data.forEach((item) => {
-        demoTreeTableRef.value.toggleRowExpansion(item, status)
-        if(item.children && item.children.length > 0) toggleExpandAll(item.children, status)
-    })
+
+/** 灞曞紑/鎶樺彔鎿嶄綔 */
+const toggleExpandAll = (data: TreeVO[], status: boolean) => {
+  data.forEach((item) => {
+    treeTableRef.value.toggleRowExpansion(item, status)
+    if (item.children && item.children.length > 0) toggleExpandAll(item.children, status)
+  })
 }
 
 /** 淇敼鎸夐挳鎿嶄綔 */
-const handleUpdate = async (row: DemoTreeVO) => {
-    loading.value = true;
-    dialog.visible = true;
-    dialog.title = "淇敼娴嬭瘯鏍戣〃";
-    nextTick(async () => {
-        reset();
-        getTreeSelect();
-        if (row) {
-            form.value.parentId = row.id;
-        }
-        getTree(row.id).then((response) => {
-            loading.value = false;
-            form.value = response.data;
-
-        });
-    })
+const handleUpdate = (row: TreeVO) => {
+  loading.value = true;
+  dialog.visible = true;
+  dialog.title = "淇敼娴嬭瘯鏍�";
+  nextTick(async () => {
+    reset();
+    await getTreeselect();
+    if (row != null) {
+      form.value.parentId = row.id;
+    }
+    const res = await getTree(row.id);
+    loading.value = false;
+    Object.assign(form.value, res.data);
+  });
 }
+
 /** 鎻愪氦鎸夐挳 */
 const submitForm = () => {
-    treeRef.value.validate((valid: boolean) => {
-        if (valid) {
-            buttonLoading.value = true;
-            if (form.value.id != null) {
-                updateTree(form.value).then(() => {
-                    proxy?.$modal.msgSuccess("淇敼鎴愬姛");
-                    dialog.visible = false;
-                    getList();
-                }).finally(() => {
-                    buttonLoading.value = false;
-                });
-            } else {
-                addTree(form.value).then(() => {
-                    proxy?.$modal.msgSuccess("鏂板鎴愬姛");
-                    dialog.visible = false;
-                    getList();
-                }).finally(() => {
-                    buttonLoading.value = false;
-                });
-            }
-        }
-    });
+  treeFormRef.value.validate((valid: boolean) => {
+    if (valid) {
+      buttonLoading.value = true;
+      if (form.value.id) {
+        updateTree(form.value).finally(() => buttonLoading.value = false);
+      } else {
+        addTree(form.value).finally(() => buttonLoading.value = false);
+      }
+      proxy?.$modal.msgSuccess("鎿嶄綔鎴愬姛");
+      dialog.visible = false;
+      getList();
+    }
+  });
 }
+
 /** 鍒犻櫎鎸夐挳鎿嶄綔 */
-const handleDelete = (row: DemoTreeVO) => {
-    proxy?.$modal.confirm('鏄惁纭鍒犻櫎娴嬭瘯鍗曡〃缂栧彿涓�"' + row.id + '"鐨勬暟鎹」?').then(() => {
-        loading.value = true;
-        return delTree(row.id);
-    }).then(() => {
-        loading.value = false;
-        getList();
-        proxy?.$modal.msgSuccess("鍒犻櫎鎴愬姛");
-    }).finally(() => {
-        loading.value = false;
-    });
+const handleDelete = async (row: TreeVO) => {
+  await proxy?.$modal.confirm('鏄惁纭鍒犻櫎娴嬭瘯鏍戠紪鍙蜂负"' + row.id + '"鐨勬暟鎹」锛�');
+  loading.value = true;
+  await delTree(row.id).finally(() => loading.value = false);
+  await getList();
+  proxy?.$modal.msgSuccess("鍒犻櫎鎴愬姛");
 }
+
 onMounted(() => {
-    getList()
-})
+  getList();
+});
 </script>

--
Gitblit v1.9.3