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