From e06a209d51ebe6372b3221a456cd9ec3e67b0a5f Mon Sep 17 00:00:00 2001
From: 王旭 <1377869194@qq.com>
Date: 星期四, 29 九月 2022 11:19:02 +0800
Subject: [PATCH] 部分字典页面接口

---
 src/api/api.js                            |   21 +++
 src/views/datamanage/dictionaryManage.vue |  253 +++++++++++++++++++++++++++++++-------------------
 2 files changed, 175 insertions(+), 99 deletions(-)

diff --git a/src/api/api.js b/src/api/api.js
index af5ad1f..b1cf4a0 100644
--- a/src/api/api.js
+++ b/src/api/api.js
@@ -8,8 +8,23 @@
  */
 import request from "@/utils/request";
 
-// post璇锋眰
-export function login(params) {
+//瀛楀吀绠$悊鍒楄〃
+export function selectByPageAndCount(params) {
   //璇锋眰鍦板潃
-  return request.post("/Dict/selectByPage", params);
+  return request.get("/dict/selectByPageAndCount", {params:params});
 }
+//瀛楀吀绠$悊鍒楄〃
+export function selectDictTab(params) {
+  //璇锋眰鍦板潃
+  return request.get("/dict/selectDictTab", {params:params});
+}
+//瀛楀吀绠$悊鍒楄〃鍒犻櫎
+export function deleteDicts(params) {
+  //璇锋眰鍦板潃
+  return request.get("/dict/deleteDicts", {params:params});
+}
+//瀛楀吀绠$悊鍒楄〃缂栬緫
+export function updateDict(params) {
+  //璇锋眰鍦板潃
+  return request.post("/dict/updateDict", params);
+}
\ No newline at end of file
diff --git a/src/views/datamanage/dictionaryManage.vue b/src/views/datamanage/dictionaryManage.vue
index 6a88c6c..5829b6a 100644
--- a/src/views/datamanage/dictionaryManage.vue
+++ b/src/views/datamanage/dictionaryManage.vue
@@ -6,15 +6,16 @@
       <el-form ref="ruleForm" :model="ruleForm" :inline="true">
         <el-form-item label="琛ㄥ悕绉�" prop="name">
           <el-select
+            clearable
             v-model="queryName"
             @change="changeQueryName"
             placeholder="璇烽�夋嫨琛ㄥ悕绉�"
           >
             <el-option
-              v-for="item in selectName"
-              :key="item.value"
-              :label="item.label"
-              :value="item.value"
+              v-for="(item, i) in selectData"
+              :key="i"
+              :label="item.tabDesc"
+              :value="item.tab"
             >
             </el-option>
           </el-select>
@@ -48,42 +49,36 @@
             height="98%"
           >
             <el-table-column type="selection" width="55" />
-            <el-table-column width="50" type="index" label="缂栧彿" />
-            <el-table-column
-              min-width="100"
-              prop="field_name"
-              label="瀛楁鍚嶇О"
-            />
-            <el-table-column
-              min-width="90"
-              prop="field_alias"
-              label="瀛楁鏄剧ず鍚嶇О"
-            />
-            <el-table-column
-              min-width="100"
-              prop="field_type"
-              label="瀛楁绫诲瀷"
-            />
-            <el-table-column min-width="60" prop="length" label="瀛楁闀垮害" />
+            <el-table-column prop="orderNum" label="缂栧彿" />
+            <el-table-column min-width="100" prop="field" label="瀛楁鍚嶇О" />
+            <el-table-column min-width="90" prop="alias" label="瀛楁鏄剧ず鍚嶇О" />
+            <el-table-column min-width="100" prop="type" label="瀛楁绫诲瀷" />
+            <el-table-column min-width="60" prop="len" label="瀛楁闀垮害" />
             <el-table-column min-width="60" prop="precision" label="瀛楁绮惧害" />
+            <el-table-column min-width="100" prop="tab" label="鍊煎煙鍏宠仈琛�" />
+            <el-table-column min-width="100" prop="bak" label="澶囨敞" />
             <el-table-column
               min-width="100"
-              prop="domain_name"
-              label="鍊煎煙鍏宠仈琛�"
-            />
-            <el-table-column min-width="100" prop="remarks" label="澶囨敞" />
-            <el-table-column
-              min-width="100"
-              prop="create_time"
+              prop="createTime"
               label="鍒涘缓鏃堕棿"
+              :formatter="formatData"
             />
             <el-table-column
               min-width="100"
-              prop="create_user"
+              prop="createUser"
               label="鍒涘缓浜哄憳"
             />
-            <el-table-column min-width="100" prop="up_time" label="鏇存柊鏃堕棿" />
-            <el-table-column min-width="100" prop="up_user" label="鏇存柊浜哄憳" />
+            <el-table-column
+              min-width="100"
+              prop="updateTime"
+              label="鏇存柊鏃堕棿"
+              :formatter="formatData"
+            />
+            <el-table-column
+              min-width="100"
+              prop="updateUser"
+              label="鏇存柊浜哄憳"
+            />
 
             <el-table-column min-width="70" label="鎿嶄綔">
               <template slot-scope="scope">
@@ -105,15 +100,15 @@
           </el-table>
         </div>
         <div
-          style="margin-top: 20px; margin-left: 400px"
+          style="margin-top: 20px; text-align: center"
           class="pagination_box"
         >
           <el-pagination
             @size-change="handleSizeChange"
             @current-change="handleCurrentChange"
-            :current-page="currentPage"
+            :current-page="listData.pageIndex"
             :page-sizes="[10, 20, 50, 100]"
-            :page-size="pageNum"
+            :page-size="listData.pageSize"
             layout="total, sizes, prev, pager, next, jumper"
             :total="count"
           >
@@ -130,33 +125,33 @@
           </div>
         </div>
         <div class="contentBox">
-          <p>琛ㄥ悕绉帮細{{ itemdetail.table_name }}</p>
+          <p>琛ㄥ悕绉帮細{{ itemdetail.tab }}</p>
           <el-divider></el-divider>
-          <p>琛ㄦ樉绀哄悕绉帮細{{ itemdetail.table_alias }}</p>
+          <p>琛ㄦ樉绀哄悕绉帮細{{ itemdetail.tabDesc }}</p>
           <el-divider></el-divider>
-          <p>琛ㄧ被鍨嬶細{{ itemdetail.table_type }}</p>
+          <!-- <p>琛ㄧ被鍨嬶細{{ itemdetail.type }}</p>
+          <el-divider></el-divider> -->
+          <p>瀛楁鍚嶇О锛歿{ itemdetail.field }}</p>
           <el-divider></el-divider>
-          <p>瀛楁鍚嶇О锛歿{ itemdetail.field_name }}</p>
+          <p>瀛楁鏄剧ず鍚嶇О锛歿{ itemdetail.alias }}</p>
           <el-divider></el-divider>
-          <p>瀛楁鏄剧ず鍚嶇О锛歿{ itemdetail.field_alias }}</p>
+          <p>瀛楁绫诲瀷锛歿{ itemdetail.type }}</p>
           <el-divider></el-divider>
-          <p>瀛楁绫诲瀷锛歿{ itemdetail.field_type }}</p>
-          <el-divider></el-divider>
-          <p>瀛楁闀垮害锛歿{ itemdetail.length }}</p>
+          <p>瀛楁闀垮害锛歿{ itemdetail.len }}</p>
           <el-divider></el-divider>
           <p>瀛楁绮惧害锛歿{ itemdetail.precision }}</p>
           <el-divider></el-divider>
-          <p>鍊煎煙鍏宠仈琛細{{ itemdetail.domain_name }}</p>
+          <!-- <p>鍊煎煙鍏宠仈琛細{{ itemdetail.domain_name }}</p>
+          <el-divider></el-divider> -->
+          <p>澶囨敞锛歿{ itemdetail.bak }}</p>
           <el-divider></el-divider>
-          <p>澶囨敞锛歿{ itemdetail.remarks }}</p>
+          <p>鍒涘缓鏃堕棿锛歿{ itemdetail.createTime }}</p>
           <el-divider></el-divider>
-          <p>鍒涘缓鏃堕棿锛歿{ itemdetail.create_time }}</p>
+          <p>鍒涘缓浜哄憳锛歿{ itemdetail.createUser }}</p>
           <el-divider></el-divider>
-          <p>鍒涘缓浜哄憳锛歿{ itemdetail.create_user }}</p>
+          <p>鏇存柊鏃堕棿锛歿{ itemdetail.updateTime }}</p>
           <el-divider></el-divider>
-          <p>鏇存柊鏃堕棿锛歿{ itemdetail.up_time }}</p>
-          <el-divider></el-divider>
-          <p>鏇存柊浜哄憳锛歿{ itemdetail.up_user }}</p>
+          <p>鏇存柊浜哄憳锛歿{ itemdetail.updateUser }}</p>
         </div>
       </el-card>
     </div>
@@ -167,46 +162,46 @@
       :visible.sync="dialogFormVisible"
     >
       <el-form :model="upform">
-        <el-form-item label="搴忓彿" :label-width="formLabelWidth">
-          <el-input v-model="upform.oid" autocomplete="off"></el-input>
+        <el-form-item label="缂栧彿" :label-width="formLabelWidth">
+          <el-input v-model="upform.orderNum" autocomplete="off"></el-input>
         </el-form-item>
         <el-form-item label="琛ㄥ悕" :label-width="formLabelWidth">
-          <el-input v-model="upform.table_name" autocomplete="off"></el-input>
+          <el-input v-model="upform.tab" autocomplete="off"></el-input>
         </el-form-item>
         <el-form-item label="琛ㄥ埆鍚�" :label-width="formLabelWidth">
-          <el-input v-model="upform.table_alias" autocomplete="off"></el-input>
+          <el-input v-model="upform.tabDesc" autocomplete="off"></el-input>
         </el-form-item>
-        <el-form-item label="绫诲瀷" :label-width="formLabelWidth">
+        <!-- <el-form-item label="绫诲瀷" :label-width="formLabelWidth">
           <el-select
             v-model="upform.table_type"
-            style="width: 800px"
+            style="width: 100%"
             placeholder="璇烽�夋嫨鏁版嵁绫诲瀷"
           >
             <el-option label="鐐瑰嚑浣�" value="鐐瑰嚑浣�"></el-option>
             <el-option label="绾垮嚑浣�" value="绾垮嚑浣�"></el-option>
             <el-option label="闈㈠嚑浣�" value="闈㈠嚑浣�"></el-option>
           </el-select>
-        </el-form-item>
+        </el-form-item> -->
         <el-form-item label="瀛楁鍚嶇О" :label-width="formLabelWidth">
-          <el-input v-model="upform.field_name" autocomplete="off"></el-input>
+          <el-input v-model="upform.field" autocomplete="off"></el-input>
         </el-form-item>
         <el-form-item label="瀛楁鍒悕" :label-width="formLabelWidth">
-          <el-input v-model="upform.field_alias" autocomplete="off"></el-input>
+          <el-input v-model="upform.alias" autocomplete="off"></el-input>
         </el-form-item>
         <el-form-item label="瀛楁绫诲瀷" :label-width="formLabelWidth">
-          <el-input v-model="upform.field_type" autocomplete="off"></el-input>
+          <el-input v-model="upform.type" autocomplete="off"></el-input>
         </el-form-item>
         <el-form-item label="闀垮害" :label-width="formLabelWidth">
-          <el-input v-model="upform.length" autocomplete="off"></el-input>
+          <el-input v-model="upform.len" autocomplete="off"></el-input>
         </el-form-item>
         <el-form-item label="绮惧害" :label-width="formLabelWidth">
           <el-input v-model="upform.precision" autocomplete="off"></el-input>
         </el-form-item>
-        <el-form-item label="鍊煎煙鍚嶇О" :label-width="formLabelWidth">
+        <!-- <el-form-item label="鍊煎煙鍚嶇О" :label-width="formLabelWidth">
           <el-input v-model="upform.domain_name" autocomplete="off"></el-input>
-        </el-form-item>
+        </el-form-item> -->
         <el-form-item label="澶囨敞" :label-width="formLabelWidth">
-          <el-input v-model="upform.remarks" autocomplete="off"></el-input>
+          <el-input v-model="upform.bak" autocomplete="off"></el-input>
         </el-form-item>
       </el-form>
       <div slot="footer" class="dialog-footer">
@@ -221,7 +216,7 @@
       :visible.sync="InsertFormdialog"
     >
       <el-form :model="insertform">
-        <el-form-item label="搴忓彿" :label-width="formLabelWidth">
+        <el-form-item label="缂栧彿" :label-width="formLabelWidth">
           <el-input v-model="insertform.oid" autocomplete="off"></el-input>
         </el-form-item>
         <el-form-item label="琛ㄥ悕" :label-width="formLabelWidth">
@@ -239,7 +234,7 @@
         <el-form-item label="绫诲瀷" :label-width="formLabelWidth">
           <el-select
             v-model="insertform.table_type"
-            style="width: 800px"
+            style="width: 100%"
             placeholder="璇烽�夋嫨鏁版嵁绫诲瀷"
           >
             <el-option label="鐐瑰嚑浣�" value="鐐瑰嚑浣�"></el-option>
@@ -294,10 +289,10 @@
 
 <script>
 import {
-
-
-
-
+  selectByPageAndCount,
+  selectDictTab,
+  deleteDicts,
+  updateDict,
 } from "../../api/api";
 import MyBread from "../../components/MyBread.vue";
 export default {
@@ -319,27 +314,95 @@
       tableData: [],
       count: 0,
       currentPage: 1,
-      pageNum: 10,
-      pageSize: 1,
       searchName: "",
       selectName: [],
       queryName: "",
+      listData: {
+        pageIndex: 1,
+        pageSize: 10,
+      },
+      selectData: [],
     };
   },
   created() {
-    // this.startFromData();
     this.startQueryNameData();
+    this.getSelectDictTab();
   },
   methods: {
+    //涓嬫媺閫夐」璋冪敤
+    async getSelectDictTab() {
+      this.selectData = [];
+      const data = await selectDictTab();
+      if (data.code != 200) {
+        this.$message.error("涓嬫媺璋冪敤澶辫触");
+      }
+      data.result.forEach((e) => {
+        if (e) {
+          this.selectData.push({
+            tab: e.tab,
+            tabDesc: `${e.tabDesc}锛�${e.tab}锛塦,
+          });
+        }
+      });
+    },
+    //鍒楄〃璇锋眰
+    async startQueryNameData() {
+      if (this.listData.tab == "") {
+        delete this.listData.tab;
+      }
+      const data = await selectByPageAndCount(this.listData);
+      if (data.code != 200) {
+        this.$message.error("鍒楄〃璋冪敤澶辫触");
+      }
+      this.tableData = data.result;
+      this.count = data.count;
+    },
+    //鏍煎紡鍖栨椂闂�
+    add0(m) {
+      return m < 10 ? "0" + m : m;
+    },
+    //鏍煎紡鍖栨椂闂�
+    format(shijianchuo) {
+      //shijianchuo鏄暣鏁帮紝鍚﹀垯瑕乸arseInt杞崲
+      var time = new Date(shijianchuo);
+      var y = time.getFullYear();
+      var m = time.getMonth() + 1;
+      var d = time.getDate();
+      var h = time.getHours();
+      var mm = time.getMinutes();
+      var s = time.getSeconds();
+      return (
+        y + "-" + this.add0(m) + "-" + this.add0(d)
+        // " " +
+        // this.add0(h) +
+        // ":" +
+        // this.add0(mm) +
+        // ":" +
+        // this.add0(s)
+      );
+    },
+    //鏍煎紡鍖栧垪琛�
+    formatData(row, column) {
+      let data = row[column.property];
+      if (data == null) {
+        return data;
+      }
+      return this.format(data);
+    },
+    //淇敼璇︽儏
     updateForm() {
       this.$confirm("鏄惁纭畾淇濆瓨淇敼鍐呭?", "鎻愮ず", {
         confirmButtonText: "纭畾",
         cancelButtonText: "鍙栨秷",
         type: "warning",
       })
-        .then(() => {
+        .then(async () => {
+          const data = await updateDict(this.upform);
+          if (data.code != 200) {
+            this.$message.error("淇敼澶辫触");
+          }
           this.dialogFormVisible = false;
- 
+          this.startQueryNameData();
           this.$message({
             message: "淇敼鎴愬姛",
             type: "success",
@@ -378,10 +441,11 @@
       this.showinfoBox = false;
       this.itemdetail = {};
     },
-
+    //淇敼璇︽儏寮规
     handleEdit(index, row) {
       this.dialogFormVisible = true;
       this.upform = row;
+      console.log(this.upform);
     },
     handleDelete(index, row) {
       this.$confirm("纭畾鏄惁鍒犻櫎鎵�閫夊唴瀹�?", "鎻愮ず", {
@@ -390,7 +454,6 @@
         type: "warning",
       })
         .then(() => {
- 
           this.$message({
             type: "success",
             message: "鍒犻櫎鎴愬姛!",
@@ -400,14 +463,14 @@
         .catch(() => {});
     },
     handleSizeChange(val) {
+      console.log(val);
       // console.log(`姣忛〉 ${val} 鏉);
-      this.pageNum = val;
-      this.selectFromData(this.pageNum, 1, this.searchName);
-      this.countFromData(this.searchName);
+      this.listData.pageSize = val;
+      this.startQueryNameData();
     },
     handleCurrentChange(val) {
-      this.pageSize = val;
-      this.selectFromData(this.pageNum, this.pageSize, this.searchName);
+      this.listData.pageIndex = val;
+      this.startQueryNameData();
     },
 
     insertFromData() {
@@ -418,22 +481,19 @@
       })
         .then(() => {
           this.InsertFormdialog = false;
-
-
         })
         .catch(() => {});
     },
-    countFromData(name) {
-
-    },
-    selectFromData(size, index, name) {
-
-    },
+    countFromData(name) {},
+    selectFromData(size, index, name) {},
+    //鍒楄〃閫夋嫨
     handleSelectionChange(val) {
       this.multipleSelection = val;
     },
+    //鍒犻櫎鍒楄〃
     DelFormData() {
       var std = [];
+      console.log(this.multipleSelection);
       for (var i in this.multipleSelection) {
         std.push(this.multipleSelection[i].id);
       }
@@ -442,8 +502,11 @@
         cancelButtonText: "鍙栨秷",
         type: "warning",
       })
-        .then(() => {
-     
+        .then(async () => {
+          const data = await deleteDicts({ ids: std.toString() });
+          if (data.code != 200) {
+            this.$message.error("鍒楄〃鍒犻櫎澶辫触");
+          }
           this.$message({
             type: "success",
             message: "鍒犻櫎鎴愬姛!",
@@ -459,12 +522,10 @@
       this.selectFromData(10, 1, this.searchName);
       this.countFromData(this.searchName);
     },
-    startQueryNameData() {
-
-    },
+    //鎼滅储妗�
     changeQueryName(val) {
-      this.searchName = val;
-      this.startFromData();
+      this.listData.tab = val;
+      this.startQueryNameData();
     },
   },
 };

--
Gitblit v1.9.3