From d9a869193fb1eeeabd8a3afbb5341a187684c3d0 Mon Sep 17 00:00:00 2001 From: heimawl <1785969728@qq.com> Date: 星期一, 19 六月 2023 15:37:23 +0800 Subject: [PATCH] 完成标签管理模块数据交互 --- src/views/system/label/index.vue | 405 +++++++++++++++++++++++++++++++++------------------------ 1 files changed, 235 insertions(+), 170 deletions(-) diff --git a/src/views/system/label/index.vue b/src/views/system/label/index.vue index a991d82..7419008 100644 --- a/src/views/system/label/index.vue +++ b/src/views/system/label/index.vue @@ -22,7 +22,7 @@ </div> <div class="bottom-fl"> <el-tabs tab-position="right"> - <el-tab-pane :label="`鍏ㄩ儴 (${numberlb})`"></el-tab-pane> + <el-tab-pane :label="`鍏ㄩ儴 (${total})`"></el-tab-pane> <el-tab-pane class="tab-paness" :key="item.name" @@ -30,15 +30,18 @@ > <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 +50,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 +70,7 @@ > <el-form-item label="鏍囩鍚嶇О" prop="userName"> <el-input - v-model="queryParams.userName" + v-model="queryParams.tagname" placeholder="璇疯緭鍏�" clearable style="width: 200px" @@ -101,7 +102,7 @@ plain icon="el-icon-plus" size="medium" - @click="lstamendtagVisible = true" + @click="addladeltag" v-hasPermi="['system:user:add']" >鏂板</el-button > @@ -152,41 +153,51 @@ <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" + > + <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" + key="tagdescription" + prop="tagdescription" width="120" - /> + > + </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 +249,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 +275,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,38 +286,55 @@ > <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> </template> <script> -import { - listUser, - getUser, - delUser, - addUser, - updateUser, -} from "@/api/system/user"; +import { addUser, updateUser } from "@/api/system/user"; import { toamendtag, addapitag, detailstag, deletetag, + changetagcategory, + toamendtagcategory, + addtagcategory, + deletetagcategory, listtag, tagclassifylist, } from "@/api/system/label"; @@ -332,6 +358,7 @@ multiple: true, // 鏄剧ず鎼滅储鏉′欢 showSearch: true, + idds: "", //鍒嗙被id // 鎬绘潯鏁� total: 0, amendtag: false, //鏄惁淇敼绫诲埆 @@ -341,23 +368,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 +390,10 @@ roleOptions: [], // 琛ㄥ崟鍙傛暟 form: {}, + forms: { + name: "", + }, numberlb: 22, - numberlbs: 2, - sidecolumnform: { - classesname: "", - }, //娣诲姞绫诲埆琛ㄥ崟 dialogFormVisible: false, //娣诲姞銆佷慨鏀圭被鍒脊妗� lstamendtagVisible: false, //娣诲姞銆佷慨鏀规爣绛惧脊妗� goQRCodeVisible: false, //浜岀淮鐮佸脊妗� @@ -418,15 +437,12 @@ number: "2", }, ], - // 鏌ヨ鍙傛暟 + // 鏌ヨ鏍囩鍒楄〃鍙傛暟 queryParams: { pageNum: 1, pageSize: 10, - userName: undefined, - phonenumber: undefined, - status: undefined, - deptId: undefined, - IDnumber: undefined, + tagname: undefined, + tagdescription: undefined, }, // 鍒椾俊鎭� columns: [ @@ -439,51 +455,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: {}, @@ -495,47 +511,112 @@ methods: { /** 鏌ヨ鏍囩鍒楄〃 */ getList() { - // this.loading = true; - let forms = {}; - forms.name = this.sidecolumnval; - listtag(forms).then((response) => { + listtag(this.addDateRange(this.queryParams)).then((response) => { console.log(response); - }); - listUser().then((response) => { - console.log(response); - - console.log(this.userList); + this.total = response.total; + this.userList = response.rows; }); }, - // 鑾峰彇鏍囩鍒嗙被 - gitclasify() { - let forms = {}; - forms.name = this.sidecolumnval; - tagclassifylist(forms).then((response) => { - console.log(response); - }); - }, - // 娣诲姞绫诲埆 - 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.addDateRange(this.tagform)).then((response) => { + console.log(response); + this.getList(); + }); + } else { + addapitag(this.addDateRange(this.tagform)).then((response) => { + console.log(response); + 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; + }); + }, + // 娣诲姞/淇敼绫诲埆 + 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 +637,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 changetagcategory(row.tagid, row.isupload); }) .then(() => { this.$modal.msgSuccess(text + "鎴愬姛"); }) .catch(function () { - row.status = row.status === "0" ? "1" : "0"; + row.isupload = row.isupload === "0" ? "1" : "0"; }); }, /** 鎼滅储鎸夐挳鎿嶄綔 */ @@ -578,33 +660,15 @@ 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" }, - }); }, /** 鏇存柊/淇敼鎻愪氦鎸夐挳 */ @@ -630,16 +694,17 @@ /** 鍒犻櫎鎸夐挳鎿嶄綔 */ 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(); @@ -650,7 +715,7 @@ /** 瀵煎嚭鎸夐挳鎿嶄綔 */ handleExport() { this.download( - "basetag/export", + "base/tag/export", { ...this.topqueryParams, }, -- Gitblit v1.9.3