From 08881d6b6412822d5035f63a0775ca1f213c8668 Mon Sep 17 00:00:00 2001
From: WXL (wul) <wl_5969728@163.com>
Date: 星期一, 20 十月 2025 10:17:22 +0800
Subject: [PATCH] 测试完成
---
src/views/system/label/index.vue | 478 +++++++++++++++++++++++++++++++++--------------------------
1 files changed, 264 insertions(+), 214 deletions(-)
diff --git a/src/views/system/label/index.vue b/src/views/system/label/index.vue
index a991d82..6df7f21 100644
--- a/src/views/system/label/index.vue
+++ b/src/views/system/label/index.vue
@@ -6,7 +6,7 @@
<div class="top-wj">鎮h�呮爣绛剧被鍨�</div>
<div class="top-tj" @click="dialogFormVisible = true">+娣诲姞</div>
</div>
- <div class="center-ss">
+ <!-- <div class="center-ss">
<el-input
placeholder="璇疯緭鍏ュ唴瀹�"
v-model="sidecolumnval"
@@ -19,26 +19,34 @@
icon="el-icon-search"
></el-button>
</el-input>
- </div>
+ </div> -->
<div class="bottom-fl">
- <el-tabs tab-position="right">
- <el-tab-pane :label="`鍏ㄩ儴 (${numberlb})`"></el-tab-pane>
+ <el-tabs
+ tab-position="right"
+ v-model="queryParams.tagcategoryid"
+ @tab-click="handleClick"
+ >
+ <el-tab-pane :label="`鍏ㄩ儴 (${tagtotal})`" name="0"></el-tab-pane>
<el-tab-pane
class="tab-paness"
- :key="item.name"
v-for="(item, index) in editableTabs"
+ :key="item.categoryname"
+ :name="item.tagcategoryid.toString()"
>
<span slot="label">
{{
- item.title + " (" + item.number + ")"
+ item.categoryname + " (" + item.tagNum + ")"
}}   <el-popover
placement="top-start"
width="100"
trigger="hover"
>
<div style="text-align: center">
- <el-button type="text" @click="popoveramend">淇敼</el-button
- ><el-button type="text" @click="deleteVisible = true"
+ <el-button
+ type="text"
+ @click="popoveramend(item.tagcategoryid)"
+ >淇敼</el-button
+ ><el-button type="text" @click="deletefenlei(item)"
><span style="color: rgb(173, 55, 55)"
>鍒犻櫎</span
></el-button
@@ -47,8 +55,6 @@
<i slot="reference" class="el-icon-share"></i> </el-popover
></span>
</el-tab-pane>
-
- <el-tab-pane :label="`鏈垎缁�(${numberlbs})`"></el-tab-pane>
</el-tabs>
</div>
</div>
@@ -69,7 +75,7 @@
>
<el-form-item label="鏍囩鍚嶇О" prop="userName">
<el-input
- v-model="queryParams.userName"
+ v-model="queryParams.tagname"
placeholder="璇疯緭鍏�"
clearable
style="width: 200px"
@@ -101,7 +107,7 @@
plain
icon="el-icon-plus"
size="medium"
- @click="lstamendtagVisible = true"
+ @click="addladeltag"
v-hasPermi="['system:user:add']"
>鏂板</el-button
>
@@ -152,41 +158,52 @@
<el-table-column
label="搴忓彿"
align="center"
- key="userId"
- prop="userId"
+ key="tagid"
+ prop="tagid"
/>
<el-table-column
label="鏍囩鍚嶇О"
align="center"
- key="userName"
- prop="userName"
+ key="tagname"
+ prop="tagname"
:show-overflow-tooltip="true"
/>
<el-table-column
label="鏈�杩戠紪杈�"
align="center"
- key="nickName"
- prop="nickName"
- :show-overflow-tooltip="true"
- />
+ key="updateTime"
+ prop="updateTime"
+ width="200"
+ >
+ <template slot-scope="scope">
+ <span
+ >{{ scope.row.updateBy }}
+ <p>{{ scope.row.updateTime }}</p></span
+ >
+ </template>
+ </el-table-column>
<el-table-column
label="鏍囩鎻忚堪"
align="center"
- key="aphonenumber"
- prop="aphonenumber"
- width="120"
- />
+ key="tagdescription"
+ prop="tagdescription"
+ width="200"
+ >
+ </el-table-column>
<el-table-column
label="鐘舵��"
align="center"
- key="aphonenumbers"
- prop="aphonenumbers"
+ key="isupload"
+ prop="isupload"
width="120"
>
<template slot-scope="scope">
<el-switch
- v-model="scope.row.delivery"
+ v-model="scope.row.isupload"
+ :active-value="1"
+ :inactive-value="0"
+ active-color="#13ce66"
@change="handleStatusChange(scope.row)"
></el-switch>
</template>
@@ -238,12 +255,12 @@
width="30%"
:visible.sync="dialogFormVisible"
>
- <el-form :model="sidecolumnform">
+ <el-form :model="classifyform">
<el-form-item
:label="amendtag ? '璇疯緭鍏ユ柊鐨勭被鍒悕绉�' : '璇疯緭鍏ョ被鍒悕绉�'"
>
<el-input
- v-model="sidecolumnform.classesname"
+ v-model="classifyform.categoryname"
autocomplete="off"
></el-input>
</el-form-item>
@@ -264,9 +281,7 @@
</div>
<span slot="footer" class="dialog-footer">
<el-button @click="deleteVisible = false">鍙� 娑�</el-button>
- <el-button type="primary" @click="deleteVisible = false"
- >纭� 瀹�</el-button
- >
+ <el-button type="primary" @click="deletefenlei">纭� 瀹�</el-button>
</span>
</el-dialog>
<!-- 淇敼/娣诲姞鏍囩寮规 -->
@@ -277,20 +292,39 @@
>
<el-form ref="form" :model="tagform" label-width="80px">
<el-form-item label="鏍囩鍚嶇О">
- <el-input v-model="tagform.name"></el-input>
+ <el-input v-model="tagform.tagname"></el-input>
+ </el-form-item>
+ <el-form-item label="鏍囩鍒嗙被">
+ <el-select
+ v-model="tagform.tagcategoryid"
+ placeholder="璇烽�夋嫨鏍囩鍒嗙被"
+ >
+ <el-option
+ v-for="item in editableTabs"
+ :key="item.tagcategoryid"
+ :label="item.categoryname"
+ :value="item.tagcategoryid"
+ >
+ </el-option>
+ </el-select>
</el-form-item>
<el-form-item label="鏄惁鍚敤">
- <el-switch v-model="tagform.delivery"></el-switch>
+ <el-switch
+ v-model="tagform.isupload"
+ :active-value="1"
+ :inactive-value="0"
+ active-color="#13ce66"
+ ></el-switch>
</el-form-item>
<el-form-item label="鏍囩鎻忚堪">
- <el-input type="textarea" v-model="tagform.desc"></el-input>
+ <el-input type="textarea" v-model="tagform.tagdescription"></el-input>
</el-form-item>
</el-form>
<div slot="footer" class="dialog-footer">
<el-button @click="lstamendtagVisible = false">鍙� 娑�</el-button>
- <el-button type="primary" @click="submitsidecolumn">纭� 瀹�</el-button>
+ <el-button type="primary" @click="Maintenancetag">纭� 瀹�</el-button>
</div>
</el-dialog>
</div>
@@ -298,20 +332,19 @@
<script>
import {
- listUser,
- getUser,
- delUser,
- addUser,
- updateUser,
-} from "@/api/system/user";
-import {
+ changetagcategory,
toamendtag,
+ toamendtagcategory,
addapitag,
+ addtagcategory,
detailstag,
deletetag,
+ deletetagcategory,
+ exporttag,
listtag,
tagclassifylist,
} from "@/api/system/label";
+
import Treeselect from "@riophae/vue-treeselect";
import "@riophae/vue-treeselect/dist/vue-treeselect.css";
@@ -332,8 +365,10 @@
multiple: true,
// 鏄剧ず鎼滅储鏉′欢
showSearch: true,
+ idds: "", //鍒嗙被id
// 鎬绘潯鏁�
total: 0,
+ tagtotal: 0,
amendtag: false, //鏄惁淇敼绫诲埆
lstamendtag: false, //鏄惁淇敼鏍囩
scavisible: false, //鍒犻櫎寮规
@@ -341,23 +376,16 @@
deletefenl: "楂樿鍘�", //鍒犻櫎椤�
//淇敼娣诲姞鏍囩寮规鏁版嵁
tagform: {
- delivery: "",
- name: "",
- desc: "",
+ isupload: "",
+ tagname: "",
+ tagcategoryid: "",
+ tagdescription: "",
+ },
+ classifyform: {
+ categoryname: "",
},
// 鏍囩琛ㄦ牸鏁版嵁
- userList: [
- {
- userId: 1,
- userName: "涓夊彿",
- nickName: "1.2.4",
- aphonenumber: "鍏宠妭鐐庣棁",
- delivery: true,
- aphonenumbers: "",
- bphonenumber: "寰堟",
- cphonenumber: "2022-12-12 ",
- },
- ],
+ userList: [],
// 寮瑰嚭灞傛爣棰�
title: "",
// 鏄惁鏄剧ず寮瑰嚭灞�
@@ -370,11 +398,10 @@
roleOptions: [],
// 琛ㄥ崟鍙傛暟
form: {},
+ forms: {
+ name: "",
+ },
numberlb: 22,
- numberlbs: 2,
- sidecolumnform: {
- classesname: "",
- }, //娣诲姞绫诲埆琛ㄥ崟
dialogFormVisible: false, //娣诲姞銆佷慨鏀圭被鍒脊妗�
lstamendtagVisible: false, //娣诲姞銆佷慨鏀规爣绛惧脊妗�
goQRCodeVisible: false, //浜岀淮鐮佸脊妗�
@@ -400,33 +427,14 @@
},
],
//绫诲埆鍒楄〃
- editableTabs: [
- {
- title: "楂樿鍘�",
- number: "1",
- },
- {
- title: "绯栧翱鐥�",
- number: "2",
- },
- {
- title: "楠ㄦ姌",
- number: "2",
- },
- {
- title: "蹇冭剰鐥�",
- number: "2",
- },
- ],
- // 鏌ヨ鍙傛暟
+ editableTabs: [],
+ // 鏌ヨ鏍囩鍒楄〃鍙傛暟
queryParams: {
pageNum: 1,
pageSize: 10,
- userName: undefined,
- phonenumber: undefined,
- status: undefined,
- deptId: undefined,
- IDnumber: undefined,
+ tagname: undefined,
+ tagdescription: undefined,
+ tagcategoryid: "0",
},
// 鍒椾俊鎭�
columns: [
@@ -439,51 +447,51 @@
{ key: 6, label: `鍒涘缓鏃堕棿`, visible: true },
],
// 琛ㄥ崟鏍¢獙
- rules: {
- userName: [
- { required: true, message: "鏍囩鍚嶇О涓嶈兘涓虹┖", trigger: "blur" },
- {
- min: 2,
- max: 20,
- message: "鏍囩鍚嶇О闀垮害蹇呴』浠嬩簬 2 鍜� 20 涔嬮棿",
- trigger: "blur",
- },
- ],
- nickName: [
- { required: true, message: "鏍囩鏄电О涓嶈兘涓虹┖", trigger: "blur" },
- ],
- password: [
- { required: true, message: "鏍囩瀵嗙爜涓嶈兘涓虹┖", trigger: "blur" },
- {
- min: 5,
- max: 20,
- message: "鏍囩瀵嗙爜闀垮害蹇呴』浠嬩簬 5 鍜� 20 涔嬮棿",
- trigger: "blur",
- },
- ],
- email: [
- {
- type: "email",
- message: "璇疯緭鍏ユ纭殑閭鍦板潃",
- trigger: ["blur", "change"],
- },
- ],
- phonenumber: [
- {
- pattern: /^1[3|4|5|6|7|8|9][0-9]\d{8}$/,
- message: "璇疯緭鍏ユ纭殑鎵嬫満鍙风爜",
- trigger: "blur",
- },
- ],
- IDnumber: [
- {
- pattern:
- /^\d{6}((((((19|20)\d{2})(0[13-9]|1[012])(0[1-9]|[12]\d|30))|(((19|20)\d{2})(0[13578]|1[02])31)|((19|20)\d{2})02(0[1-9]|1\d|2[0-8])|((((19|20)([13579][26]|[2468][048]|0[48]))|(2000))0229))\d{3})|((((\d{2})(0[13-9]|1[012])(0[1-9]|[12]\d|30))|((\d{2})(0[13578]|1[02])31)|((\d{2})02(0[1-9]|1\d|2[0-8]))|(([13579][26]|[2468][048]|0[048])0229))\d{2}))(\d|X|x)$/,
- message: "璇疯緭鍏ユ纭殑韬唤璇佸彿鐮�",
- trigger: "blur",
- },
- ],
- },
+ // rules: {
+ // userName: [
+ // { required: true, message: "鏍囩鍚嶇О涓嶈兘涓虹┖", trigger: "blur" },
+ // {
+ // min: 2,
+ // max: 20,
+ // message: "鏍囩鍚嶇О闀垮害蹇呴』浠嬩簬 2 鍜� 20 涔嬮棿",
+ // trigger: "blur",
+ // },
+ // ],
+ // nickName: [
+ // { required: true, message: "鏍囩鏄电О涓嶈兘涓虹┖", trigger: "blur" },
+ // ],
+ // password: [
+ // { required: true, message: "鏍囩瀵嗙爜涓嶈兘涓虹┖", trigger: "blur" },
+ // {
+ // min: 5,
+ // max: 20,
+ // message: "鏍囩瀵嗙爜闀垮害蹇呴』浠嬩簬 5 鍜� 20 涔嬮棿",
+ // trigger: "blur",
+ // },
+ // ],
+ // email: [
+ // {
+ // type: "email",
+ // message: "璇疯緭鍏ユ纭殑閭鍦板潃",
+ // trigger: ["blur", "change"],
+ // },
+ // ],
+ // phonenumber: [
+ // {
+ // pattern: /^1[3|4|5|6|7|8|9][0-9]\d{8}$/,
+ // message: "璇疯緭鍏ユ纭殑鎵嬫満鍙风爜",
+ // trigger: "blur",
+ // },
+ // ],
+ // IDnumber: [
+ // {
+ // pattern:
+ // /^\d{6}((((((19|20)\d{2})(0[13-9]|1[012])(0[1-9]|[12]\d|30))|(((19|20)\d{2})(0[13578]|1[02])31)|((19|20)\d{2})02(0[1-9]|1\d|2[0-8])|((((19|20)([13579][26]|[2468][048]|0[48]))|(2000))0229))\d{3})|((((\d{2})(0[13-9]|1[012])(0[1-9]|[12]\d|30))|((\d{2})(0[13578]|1[02])31)|((\d{2})02(0[1-9]|1\d|2[0-8]))|(([13579][26]|[2468][048]|0[048])0229))\d{2}))(\d|X|x)$/,
+ // message: "璇疯緭鍏ユ纭殑韬唤璇佸彿鐮�",
+ // trigger: "blur",
+ // },
+ // ],
+ // },
};
},
watch: {},
@@ -494,48 +502,125 @@
methods: {
/** 鏌ヨ鏍囩鍒楄〃 */
- getList() {
- // this.loading = true;
- let forms = {};
- forms.name = this.sidecolumnval;
- listtag(forms).then((response) => {
- console.log(response);
- });
- listUser().then((response) => {
- console.log(response);
-
- console.log(this.userList);
+ getList(row) {
+ console.log(this.queryParams);
+ listtag(this.addDateRange(this.queryParams)).then((response) => {
+ this.total = response.total;
+ this.userList = response.rows;
});
},
- // 鑾峰彇鏍囩鍒嗙被
- gitclasify() {
- let forms = {};
- forms.name = this.sidecolumnval;
- tagclassifylist(forms).then((response) => {
- console.log(response);
- });
+ handleClick() {
+ this.getList();
},
- // 娣诲姞绫诲埆
- submitsidecolumn() {
- this.dialogFormVisible = false;
+ /** 淇敼鏍囩 */
+ handleUpdate(row) {
+ console.log(row, "淇敼鏍囩");
+ this.lstamendtagVisible = true;
+ this.lstamendtag = true;
this.tagform = {
- delivery: "",
- name: "",
- desc: "",
+ isupload: row.isupload,
+ tagname: row.tagname,
+ tagcategoryid: row.tagcategoryid,
+ tagdescription: row.tagdescription,
+ tagid: row.tagid,
};
},
- // 淇敼寮规
- popoveramend() {
+ addladeltag() {
+ this.lstamendtagVisible = true;
+ this.lstamendtag = false;
+ this.tagform = {
+ isupload: "",
+ tagname: "",
+ tagcategoryid: "",
+ tagdescription: "",
+ tagid: "",
+ };
+ },
+ // 娣诲姞/淇敼鏍囩
+ Maintenancetag() {
+ if (this.lstamendtag) {
+ toamendtag(this.tagform).then((response) => {
+ console.log(response);
+ this.lstamendtagVisible = false;
+ this.gitclasify();
+ this.getList();
+ });
+ } else {
+ addapitag(this.tagform).then((response) => {
+ console.log(response);
+ this.lstamendtagVisible = false;
+ this.gitclasify();
+ this.getList();
+ });
+ }
+ this.tagform = {
+ isupload: "",
+ tagname: "",
+ tagcategoryid: "",
+ tagdescription: "",
+ tagid: "",
+ };
+ },
+
+ // 鑾峰彇鏍囩鍒嗙被
+ gitclasify() {
+ tagclassifylist(this.addDateRange(this.forms)).then((response) => {
+ console.log(response);
+ this.numberlb = response.total;
+ this.editableTabs = response.rows;
+ const sum = this.editableTabs.reduce((accumulator, currentValue) => {
+ return accumulator + Number(currentValue.tagNum);
+ }, 0);
+ console.log(sum);
+ this.tagtotal = sum;
+ });
+ },
+ // 娣诲姞/淇敼绫诲埆
+ submitsidecolumn() {
+ if (this.amendtag) {
+ this.classifyform.tagcategoryid = this.idds;
+ toamendtagcategory(this.addDateRange(this.classifyform)).then(
+ (response) => {
+ console.log(response);
+ this.gitclasify();
+ }
+ );
+ } else {
+ addtagcategory(this.addDateRange(this.classifyform)).then(
+ (response) => {
+ console.log(response);
+ this.gitclasify();
+ }
+ );
+ }
+ this.classifyform = {
+ categoryname: "",
+ };
+ this.idds = "";
+ this.dialogFormVisible = false;
+ },
+ //鍒犻櫎鍒嗙被
+ deletefenlei(row) {
+ if (this.deleteVisible) {
+ deletetagcategory(this.idds).then((response) => {
+ console.log(response);
+ this.gitclasify();
+ });
+ this.deleteVisible = false;
+ this.idds = "";
+ } else {
+ this.deleteVisible = true;
+ this.idds = row.tagcategoryid;
+ this.deletefenl = row.categoryname;
+ }
+ },
+ // 淇敼鍒嗙被寮规
+ popoveramend(tagcategoryid) {
+ this.idds = tagcategoryid;
this.amendtag = true;
this.dialogFormVisible = true;
},
- // 鍒囨崲鍏变韩/鏈湴
- tophandleClick() {},
- // 鍙栨秷鎸夐挳
- cancel() {
- this.open = false;
- this.reset();
- },
+
// 琛ㄥ崟閲嶇疆
reset() {
this.form = {
@@ -556,17 +641,18 @@
},
// 鏍囩鐘舵�佷慨鏀�
handleStatusChange(row) {
- let text = row.status === "0" ? "鍚敤" : "鍋滅敤";
+ console.log(row.isupload);
+ let text = row.isupload == 0 ? "鍋滅敤" : "鍚敤";
this.$modal
- .confirm('纭瑕�"' + text + '""' + row.userName + '"鏍囩鍚楋紵')
+ .confirm('纭瑕�"' + text + '""' + row.tagname + '"鏍囩鍚楋紵')
.then(function () {
- // return changeUserStatus(row.userId, row.status);
+ return toamendtag(row);
})
.then(() => {
this.$modal.msgSuccess(text + "鎴愬姛");
})
.catch(function () {
- row.status = row.status === "0" ? "1" : "0";
+ row.isupload = row.isupload == 0 ? 1 : 0;
});
},
/** 鎼滅储鎸夐挳鎿嶄綔 */
@@ -578,71 +664,35 @@
resetQuery() {
this.dateRange = [];
this.resetForm("queryForm");
- this.queryParams.deptId = undefined;
+ this.queryParams.tagname = "";
this.$refs.tree.setCurrentKey(null);
this.handleQuery();
},
// 澶氶�夋閫変腑鏁版嵁
handleSelectionChange(selection) {
- this.ids = selection.map((item) => item.userId);
+ this.ids = selection.map((item) => item.tagid);
this.single = selection.length != 1;
this.multiple = !selection.length;
},
- /** 淇敼鏍囩 */
- handleUpdate(row) {
- console.log(row, "淇敼鏍囩");
- this.lstamendtagVisible = true;
- this.lstamendtag = true;
- this.tagform = {
- delivery: row.delivery,
- name: row.userName,
- desc: row.bphonenumber,
- };
- },
- // 鏌ョ湅闂嵎
- ViewQuestionnaire() {
- this.$router.push({
- path: "/knowledge/questionnaire/examine/",
- query: { id: "1" },
- });
- },
- /** 鏇存柊/淇敼鎻愪氦鎸夐挳 */
- submitForm: function () {
- this.$refs["form"].validate((valid) => {
- if (valid) {
- if (this.form.userId != undefined) {
- updateUser(this.form).then((response) => {
- this.$modal.msgSuccess("淇敼鎴愬姛");
- this.open = false;
- this.getList();
- });
- } else {
- addUser(this.form).then((response) => {
- this.$modal.msgSuccess("鏂板鎴愬姛");
- this.open = false;
- this.getList();
- });
- }
- }
- });
- },
/** 鍒犻櫎鎸夐挳鎿嶄綔 */
handleDelete(row) {
console.log(row, "鍒犻櫎寮圭獥");
- const userIds = row.userId || this.ids;
- const aphonenumber = row.aphonenumber;
+ const tagids = row.tagid || this.ids;
+ console.log(tagids);
+ const tagname = row.tagname;
this.$modal
.confirm(
- aphonenumber
- ? '鏄惁纭鍒犻櫎鏍囩鍚嶇О涓�"' + aphonenumber + '"鐨勬暟鎹」锛�'
+ tagname
+ ? '鏄惁纭鍒犻櫎鏍囩鍚嶇О涓�"' + tagname + '"鐨勬暟鎹」锛�'
: "鏄惁纭鍒犻櫎閫変腑鐨勬暟鎹」锛�"
)
.then(function () {
- return delUser(userIds);
+ return deletetag(tagids);
})
.then(() => {
this.getList();
+ this.gitclasify();
this.$modal.msgSuccess("鍒犻櫎鎴愬姛");
})
.catch(() => {});
@@ -650,7 +700,7 @@
/** 瀵煎嚭鎸夐挳鎿嶄綔 */
handleExport() {
this.download(
- "basetag/export",
+ "base/tag/export",
{
...this.topqueryParams,
},
--
Gitblit v1.9.3