From aab91150254007fe922a500851560d3286bdafef Mon Sep 17 00:00:00 2001
From: Surpriseplus <845948745@qq.com>
Date: 星期二, 10 十月 2023 14:26:32 +0800
Subject: [PATCH] 令牌管理失效,删除功能优化

---
 src/views/maintenance/tokentool.vue |  420 +++++++++++++++++++++++++++++++++++++----------------------
 1 files changed, 261 insertions(+), 159 deletions(-)

diff --git a/src/views/maintenance/tokentool.vue b/src/views/maintenance/tokentool.vue
index f21ed35..25ac588 100644
--- a/src/views/maintenance/tokentool.vue
+++ b/src/views/maintenance/tokentool.vue
@@ -1,14 +1,19 @@
 <template>
   <div class="tokentool_box">
-    <My-bread
-      :list="[
+    <My-bread :list="[
         `${$t('operatManage.operatManage')}`,
         `${$t('operatManage.tokentool')}`,
-      ]"
-    ></My-bread>
+      ]"></My-bread>
     <el-divider />
-    <div class="inquire subpage_Div" ref="container">
-      <el-form ref="formData" :model="ruleForm" :inline="true">
+    <div
+      class="inquire subpage_Div"
+      ref="container"
+    >
+      <el-form
+        ref="formData"
+        :model="ruleForm"
+        :inline="true"
+      >
         <div class="flex_box">
           <div style="margin-right: auto">
             <el-form-item
@@ -46,74 +51,84 @@
             <!-- 鏌ヨ 娓呯┖ -->
             <el-form-item>
               <el-button
+                icon="el-icon-search"
+                size="small"
+                type="primary"
+                @click="onSubmit"
+              >{{ $t("common.iquery") }}</el-button>
+              <el-button
                 v-if="menuStatus.insert"
                 @click="InsertFormdialog = true"
                 icon="el-icon-edit"
                 type="success"
                 size="small"
-                >{{ $t("common.append") }}</el-button
-              >
+              >{{ $t("common.append") }}</el-button>
               <el-button
                 v-if="menuStatus.delete"
                 @click="delTokenData"
                 icon="el-icon-delete"
                 type="danger"
                 size="small"
-                >{{ $t("common.delete") }}</el-button
-              >
-              <el-button
-                icon="el-icon-search"
-                size="small"
-                type="primary"
-                @click="onSubmit"
-                >{{ $t("common.iquery") }}</el-button
-              >
+              >{{ $t("common.delete") }}</el-button>
               <el-button
                 icon="el-icon-delete"
                 type="info"
                 size="small"
                 @click="onEmpty('formData1')"
-                >{{ $t("common.empty") }}</el-button
-              >
+              >{{ $t("common.empty") }}</el-button>
             </el-form-item>
           </div>
         </div>
       </el-form>
     </div>
     <div class="dividing-line"></div>
-    <div class="table_box" :style="styleVar">
+    <div
+      class="table_box"
+      :style="styleVar"
+    >
       <el-table
         ref="filterTable"
         :data="tableData"
         style="width: 100%"
+        border
         height="calc(100% - 45px)"
+        @selection-change="handleSelectionChange"
       >
-        <el-table-column type="selection" width="55" />
+        <el-table-column
+          type="selection"
+          width="55"
+        />
         <el-table-column
           width="70"
-
           type="index"
           :label="$t('operatManage.tokentoolObj.index')"
         />
         <el-table-column
           prop="token"
-
           :label="$t('operatManage.tokentoolObj.token')"
-        />
+        >
+          <template slot-scope="scope">
+            <span
+              style="color: #F56C6C;"
+              v-if="!scope.row.status"
+            >{{scope.row.token }}</span>
+
+            <span v-if="scope.row.status">{{scope.row.token }}</span>
+          </template>
+        </el-table-column>
+
         <el-table-column
           prop="duration"
-
+          width="120"
           :label="$t('operatManage.tokentoolObj.duration')"
         />
         <el-table-column
           prop="expire"
-
           :label="$t('operatManage.tokentoolObj.expire')"
           :formatter="formatTime"
         />
         <el-table-column
           prop="type"
-
           :label="$t('operatManage.tokentoolObj.type')"
         >
           <template slot-scope="scope">
@@ -123,28 +138,23 @@
         </el-table-column>
         <el-table-column
           prop="ip"
-
           :label="$t('operatManage.tokentoolObj.ip')"
         />
         <el-table-column
-          prop="createUser"
-
+          prop="createName"
           :label="$t('operatManage.tokentoolObj.createUser')"
         />
         <el-table-column
           prop="createTime"
-
           :label="$t('operatManage.tokentoolObj.createTime')"
           :formatter="formatTime"
         />
         <el-table-column
-          prop="updateUser"
-
+          prop="updateName"
           :label="$t('operatManage.tokentoolObj.updateUser')"
         />
         <el-table-column
           prop="updateTime"
-
           :label="$t('operatManage.tokentoolObj.updateTime')"
           :formatter="formatTime"
         />
@@ -152,23 +162,31 @@
           fixed="right"
           :label="$t('operatManage.tokentoolObj.operation')"
           width="220"
-
         >
           <template slot-scope="scope">
-            <el-button type="danger" size="small" plain>{{
+            <el-button
+              v-if="scope.row.status"
+              type="danger"
+              size="small"
+              plain
+              @click="setExpireById(scope.$index, scope.row)"
+            >{{
               $t("operatManage.tokentoolObj.invalid")
             }}</el-button>
-            <el-button type="info" size="small" plain>{{
+            <!-- <el-button
+              type="info"
+              size="small"
+              plain
+            >{{
               $t("operatManage.tokentoolObj.renewal")
-            }}</el-button>
+            }}</el-button> -->
             <el-button
               v-if="menuStatus.update"
               @click="handleEdit(scope.$index, scope.row)"
               type="warning"
               plain
               size="small"
-              >{{ $t("common.update") }}</el-button
-            >
+            >{{ $t("common.update") }}</el-button>
           </template>
         </el-table-column>
       </el-table>
@@ -189,68 +207,82 @@
     <!-- 鏂板寮圭獥 -->
     <el-dialog
       :title="$t('operatManage.tokentoolObj.addToken')"
-     top="2vh"
       :visible.sync="InsertFormdialog"
+      :before-close="handleClose"
     >
-        <div style="height: 500px; overflow: auto">
-      <el-form ref="formData1" :model="insertform" label-position="top">
-        <el-form-item
-          :label="$t('operatManage.tokentoolObj.token')"
-          :label-width="formLabelWidth"
+      <div style="height: 500px; overflow: auto">
+        <el-form
+          ref="formData1"
+          :model="insertform"
+          label-position="top"
         >
-          <el-input
-            v-model="insertform.token"
-            :placeholder="$t('common.pleaseInput')"
-            style="width:85%"
-          />
-        </el-form-item>
-        <el-form-item
-          :label="$t('operatManage.tokentoolObj.duration')"
-          :label-width="formLabelWidth"
-        >
-          <el-input
-            v-model="insertform.duration"
-            :placeholder="$t('common.pleaseInput')"
-            style="width:85%"
-          />
-        </el-form-item>
-        <el-form-item
-          :label="$t('operatManage.tokentoolObj.type')"
-          :label-width="formLabelWidth"
-        >
-          <el-select
-            :popper-append-to-body="false"
-            style="width:85%"
-            v-model="insertform.type"
-            :placeholder="$t('common.choose')"
+          <el-form-item
+            :label="$t('operatManage.tokentoolObj.token')"
+            :label-width="formLabelWidth"
           >
-            <el-option
-              value="0"
-              :label="$t('operatManage.tokentoolObj.temporary')"
-            ></el-option>
-            <el-option
-              value="1"
-              :label="$t('operatManage.tokentoolObj.fixed')"
-            ></el-option>
-          </el-select>
-        </el-form-item>
-        <el-form-item
-          :label="$t('operatManage.tokentoolObj.ip')"
-          :label-width="formLabelWidth"
-        >
-          <el-input
-            v-model="insertform.ip"
-            :placeholder="$t('common.pleaseInput')"
-            style="width:85%"
-          />
-        </el-form-item>
-      </el-form>
-        </div>
-      <div slot="footer" class="dialog-footer">
-        <el-button size="small" @click="insertFromDataClose">{{
+            <el-input
+              v-model="insertform.token"
+              :placeholder="$t('common.pleaseInput')"
+              style="width:85%"
+            />
+          </el-form-item>
+          <el-form-item
+            :label="$t('operatManage.tokentoolObj.duration')"
+            :label-width="formLabelWidth"
+          >
+            <el-input
+              v-model="insertform.duration"
+              :placeholder="$t('common.pleaseInput')"
+              style="width:85%"
+            />
+          </el-form-item>
+          <el-form-item
+            :label="$t('operatManage.tokentoolObj.type')"
+            :label-width="formLabelWidth"
+          >
+            <el-select
+              :popper-append-to-body="false"
+              style="width:85%"
+              v-model="insertform.type"
+              :placeholder="$t('common.choose')"
+            >
+              <el-option
+                value="0"
+                :label="$t('operatManage.tokentoolObj.temporary')"
+              ></el-option>
+              <el-option
+                value="1"
+                :label="$t('operatManage.tokentoolObj.fixed')"
+              ></el-option>
+            </el-select>
+          </el-form-item>
+          <el-form-item
+            :label="$t('operatManage.tokentoolObj.ip')"
+            :label-width="formLabelWidth"
+          >
+            <el-input
+              v-model="insertform.ip"
+              :placeholder="$t('common.pleaseInput')"
+              style="width:85%"
+            />
+          </el-form-item>
+        </el-form>
+      </div>
+      <div
+        slot="footer"
+        class="dialog-footer"
+      >
+        <el-button
+          size="small"
+          @click="insertFromDataClose"
+        >{{
           $t("common.close")
         }}</el-button>
-        <el-button size="small" type="primary" @click="insertFromData">{{
+        <el-button
+          size="small"
+          type="primary"
+          @click="insertFromData"
+        >{{
           $t("common.confirm")
         }}</el-button>
       </div>
@@ -258,70 +290,84 @@
     <!-- 淇敼寮圭獥 -->
     <el-dialog
       :title="$t('operatManage.tokentoolObj.editToken')"
-      top="2vh"
       :visible.sync="EditFormdialog"
+      :before-close="handleCloseEdit"
     >
-     <div style="height: 500px; overflow: auto">
-      <el-form ref="formData1" :model="insertform" label-position="top">
-        <el-form-item
-          :label="$t('operatManage.tokentoolObj.token')"
-          :label-width="formLabelWidth"
+      <div style="height: 500px; overflow: auto">
+        <el-form
+          ref="formData1"
+          :model="insertform"
+          label-position="top"
         >
-          <el-input
-            v-model="upform.token"
-            :placeholder="$t('common.pleaseInput')"
-            style="width:85%"
-          />
-        </el-form-item>
-        <el-form-item
-          :label="$t('operatManage.tokentoolObj.duration')"
-          :label-width="formLabelWidth"
-        >
-          <el-input
-            v-model="upform.duration"
-            :placeholder="$t('common.pleaseInput')"
-            style="width:85%"
-          />
-        </el-form-item>
-        <el-form-item
-          :label="$t('operatManage.tokentoolObj.type')"
-          :label-width="formLabelWidth"
-        >
-          <el-select
-            :popper-append-to-body="false"
-            style="width:85%"
-            v-model="upform.edit"
-            @change="changeGame"
-            :placeholder="$t('common.choose')"
+          <el-form-item
+            :label="$t('operatManage.tokentoolObj.token')"
+            :label-width="formLabelWidth"
           >
-            <el-option
-              value="0"
-              :label="$t('operatManage.tokentoolObj.temporary')"
-            ></el-option>
-            <el-option
-              value="1"
-              :label="$t('operatManage.tokentoolObj.fixed')"
-            ></el-option>
-          </el-select>
-        </el-form-item>
-        <el-form-item
-          :label="$t('operatManage.tokentoolObj.ip')"
-          :label-width="formLabelWidth"
-        >
-          <el-input
-            v-model="upform.ip"
-            :placeholder="$t('common.pleaseInput')"
-            style="width:85%"
-          />
-        </el-form-item>
-      </el-form>
-     </div>
+            <el-input
+              v-model="upform.token"
+              :placeholder="$t('common.pleaseInput')"
+              style="width:85%"
+            />
+          </el-form-item>
+          <el-form-item
+            :label="$t('operatManage.tokentoolObj.duration')"
+            :label-width="formLabelWidth"
+          >
+            <el-input
+              v-model="upform.duration"
+              :placeholder="$t('common.pleaseInput')"
+              style="width:85%"
+            />
+          </el-form-item>
+          <el-form-item
+            :label="$t('operatManage.tokentoolObj.type')"
+            :label-width="formLabelWidth"
+          >
+            <el-select
+              :popper-append-to-body="false"
+              style="width:85%"
+              v-model="upform.edit"
+              @change="changeGame"
+              :placeholder="$t('common.choose')"
+            >
+              <el-option
+                value="0"
+                :label="$t('operatManage.tokentoolObj.temporary')"
+              ></el-option>
+              <el-option
+                value="1"
+                :label="$t('operatManage.tokentoolObj.fixed')"
+              ></el-option>
+            </el-select>
+          </el-form-item>
+          <el-form-item
+            :label="$t('operatManage.tokentoolObj.ip')"
+            :label-width="formLabelWidth"
+          >
+            <el-input
+              v-model="upform.ip"
+              :placeholder="$t('common.pleaseInput')"
+              style="width:85%"
+            />
+          </el-form-item>
+        </el-form>
+      </div>
 
-      <div slot="footer" class="dialog-footer">
-        <el-button size="small" @click="editFromDataClose">{{
+      <div
+        slot="footer"
+        class="dialog-footer"
+      >
+        <el-button
+          size="small"
+          @click="editFromDataClose"
+        >{{
           $t("common.close")
         }}</el-button>
-        <el-button type="primary" size="small" @click="editFromData">{{
+        <el-button
+          type="primary"
+          size="small"
+          @click="editFromData"
+        >{{
           $t("common.confirm")
         }}</el-button>
       </div>
@@ -337,6 +383,7 @@
   insertToken,
   updateToken,
   deleteTokens,
+  token_updateExpireById
 } from "../../api/api.js";
 export default {
   //import寮曞叆鐨勭粍浠堕渶瑕佹敞鍏ュ埌瀵硅薄涓墠鑳戒娇鐢�
@@ -392,6 +439,23 @@
     window.removeEventListener("resize", this.onResize);
   },
   methods: {
+    async setExpireById(index, row) {
+      const data = await token_updateExpireById({ id: row.id })
+      if (data.code == 200) {
+        this.$message({
+          message: "鎴愬姛锛�",
+          type: "success",
+        });
+      } else {
+        this.$message({
+          message: "澶辫触锛�",
+          type: "warning",
+        });
+      }
+      setTimeout((res) => {
+        this.getRoleTabelData();
+      }, 500)
+    },
     onResize() {
       this.timer && clearTimeout(this.timer);
       this.timer = setTimeout(() => {
@@ -420,6 +484,12 @@
     },
     async delTokenData() {
       var std = [];
+      debugger
+      if (this.multipleSelection.length <= 0) {
+        return this.$message({
+          message: "鍒犻櫎澶辫触锛屾湭閫夋嫨瑕佸垹闄ょ殑鏁版嵁",
+        });
+      }
       for (var i in this.multipleSelection) {
         std.push(this.multipleSelection[i].id);
       }
@@ -465,8 +535,13 @@
       // }
     },
     editFromDataClose() {
-      this.EditFormdialog = false;
-      this.upform = {};
+      this.$confirm("鍏抽棴鍚庢棤娉曚繚瀛橈紝鏄惁鍏抽棴?")
+        .then((_) => {
+          this.EditFormdialog = false;
+          this.upform = {};
+          this.getRoleTabelData();
+        })
+        .catch((_) => { });
     },
     async editFromData() {
       this.upform.type = parseInt(this.upform.edit);
@@ -499,11 +574,16 @@
       this.upform.edit = JSON.stringify(row.type);
     },
     handleSelectionChange(val) {
+      debugger
       this.multipleSelection = val;
     },
     insertFromDataClose() {
-      this.InsertFormdialog = false;
-      this.insertform = {};
+      this.$confirm("鍏抽棴鍚庢棤娉曚繚瀛橈紝鏄惁鍏抽棴?")
+        .then((_) => {
+          this.InsertFormdialog = false;
+          this.insertform = {};
+        })
+        .catch((_) => { });
     },
     async insertFromData() {
       if (
@@ -609,11 +689,18 @@
         this.listData.type = parseInt(this.ruleForm.value);
       }
       const data = await select_Token_ByPageAndCount(this.listData);
-      console.log("Token鑾峰彇", data);
+
       if (data.code != 200) {
         this.$message.error("鍒楄〃璋冪敤澶辫触");
       }
-      this.tableData = data.result;
+      var val = data.result.filter((res) => {
+        res.status = false;
+        if (res.expire > new Date().getTime()) {
+          res.status = true
+        }
+        return res;
+      })
+      this.tableData = val;
       this.count = data.count;
     },
     handleSizeChange(val) {
@@ -645,6 +732,21 @@
       }
       return moment(parseInt(date)).format("YYYY-MM-DD HH:mm:ss");
     },
+    handleClose() {
+      this.$confirm("鍏抽棴鍚庢棤娉曚繚瀛橈紝鏄惁鍏抽棴?")
+        .then((_) => {
+          this.InsertFormdialog = false
+        })
+        .catch((_) => { });
+    },
+    handleCloseEdit() {
+      this.$confirm("鍏抽棴鍚庢棤娉曚繚瀛橈紝鏄惁鍏抽棴?")
+        .then((_) => {
+          this.EditFormdialog = false
+          this.getRoleTabelData();
+        })
+        .catch((_) => { });
+    },
   },
 };
 </script>

--
Gitblit v1.9.3