From 0f5e64c3d3cb194b6b853b80524a81392b5d04d1 Mon Sep 17 00:00:00 2001 From: yxh <172933527@qq.com> Date: 星期三, 21 六月 2023 09:58:42 +0800 Subject: [PATCH] Merge branch 'develop' of http://116.62.18.175:6699/r/~yxh/smartor-web into yxh01 --- src/views/system/label/index.vue | 473 +++++++++++++++++++++++++++++++++++----------------------- 1 files changed, 283 insertions(+), 190 deletions(-) diff --git a/src/views/system/label/index.vue b/src/views/system/label/index.vue index a5f3a42..2f291ed 100644 --- a/src/views/system/label/index.vue +++ b/src/views/system/label/index.vue @@ -14,7 +14,7 @@ size="medium " > <el-button - @click="sidecolumnss" + @click="gitclasify" slot="append" icon="el-icon-search" ></el-button> @@ -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> @@ -57,7 +58,7 @@ <div class="leftvlue-top"></div> <div class="leftvlue-bg"> <el-row :gutter="20"> - <!--鐢ㄦ埛鏁版嵁--> + <!--鏍囩鏁版嵁--> <el-col :span="24" :xs="24"> <el-form :model="queryParams" @@ -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 > @@ -118,6 +119,21 @@ v-hasPermi="['system:user:remove']" >鍒犻櫎</el-button > + </el-col> + <el-col :span="1.5"> + <div class="documentf"> + <div class="document"> + <el-button + type="warning" + plain + icon="el-icon-download" + size="medium" + @click="handleExport" + v-hasPermi="['system:user:export']" + >瀵煎嚭</el-button + > + </div> + </div> </el-col> <!-- <el-col :span="1.5"> </el-col> --> @@ -137,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> @@ -223,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> @@ -249,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> <!-- 淇敼/娣诲姞鏍囩寮规 --> @@ -262,20 +286,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> @@ -283,13 +326,18 @@ <script> import { - listUser, - getUser, - delUser, - addUser, - updateUser, -} from "@/api/system/user"; -import { getToken } from "@/utils/auth"; + toamendtag, + addapitag, + detailstag, + deletetag, + changetagcategory, + toamendtagcategory, + addtagcategory, + deletetagcategory, + listtag, + tagclassifylist, +} from "@/api/system/label"; + import Treeselect from "@riophae/vue-treeselect"; import "@riophae/vue-treeselect/dist/vue-treeselect.css"; export default { @@ -309,6 +357,7 @@ multiple: true, // 鏄剧ず鎼滅储鏉′欢 showSearch: true, + idds: "", //鍒嗙被id // 鎬绘潯鏁� total: 0, amendtag: false, //鏄惁淇敼绫诲埆 @@ -318,23 +367,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: "", // 鏄惁鏄剧ず寮瑰嚭灞� @@ -347,16 +389,16 @@ roleOptions: [], // 琛ㄥ崟鍙傛暟 form: {}, + forms: { + name: "", + }, numberlb: 22, - numberlbs: 2, - sidecolumnform: { - classesname: "", - }, //娣诲姞绫诲埆琛ㄥ崟 dialogFormVisible: false, //娣诲姞銆佷慨鏀圭被鍒脊妗� lstamendtagVisible: false, //娣诲姞銆佷慨鏀规爣绛惧脊妗� goQRCodeVisible: false, //浜岀淮鐮佸脊妗� sidecolumnval: "", //绫诲埆鎼滅储 propss: { multiple: true }, + topqueryParams: {}, //瀵煎嚭绛涢�夋潯浠� optionss: [ { value: 1, @@ -394,117 +436,186 @@ number: "2", }, ], - // 鏌ヨ鍙傛暟 + // 鏌ヨ鏍囩鍒楄〃鍙傛暟 queryParams: { pageNum: 1, pageSize: 10, - userName: undefined, - phonenumber: undefined, - status: undefined, - deptId: undefined, - IDnumber: undefined, + tagname: undefined, + tagdescription: undefined, }, // 鍒椾俊鎭� columns: [ - { key: 0, label: `鐢ㄦ埛缂栧彿`, visible: true }, - { key: 1, label: `鐢ㄦ埛鍚嶇О`, visible: true }, - { key: 2, label: `鐢ㄦ埛鏄电О`, visible: true }, + { key: 0, label: `鏍囩缂栧彿`, visible: true }, + { key: 1, label: `鏍囩鍚嶇О`, visible: true }, + { key: 2, label: `鏍囩鏄电О`, visible: true }, { key: 3, label: `閮ㄩ棬`, visible: true }, { key: 4, label: `鎵嬫満鍙风爜`, visible: true }, { key: 5, label: `鐘舵�乣, visible: true }, { 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: {}, created() { this.getList(); + this.gitclasify(); }, methods: { - /** 鏌ヨ鐢ㄦ埛鍒楄〃 */ + /** 鏌ヨ鏍囩鍒楄〃 */ getList() { - // this.loading = true; - listUser().then((response) => { + listtag(this.addDateRange(this.queryParams)).then((response) => { console.log(response); - // this.userList = response.data; - // this.total = response.total; - // this.loading = false; - console.log(this.userList); + this.total = response.total; + this.userList = response.rows; }); - // const { rows } = await listUser(); - // console.log(rows); - // this.list = rows; }, - // 娣诲姞绫诲埆 - 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; }, - //鎼滅储绫诲埆 - sidecolumnss() {}, - // 鍒囨崲鍏变韩/鏈湴 - tophandleClick() {}, - // 鍙栨秷鎸夐挳 - cancel() { - this.open = false; - this.reset(); - }, + // 琛ㄥ崟閲嶇疆 reset() { this.form = { @@ -523,19 +634,20 @@ }; this.resetForm("form"); }, - // 鐢ㄦ埛鐘舵�佷慨鏀� + // 鏍囩鐘舵�佷慨鏀� 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"; }); }, /** 鎼滅储鎸夐挳鎿嶄綔 */ @@ -547,74 +659,47 @@ 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.$modal.msgSuccess("鍒犻櫎鎴愬姛"); }) .catch(() => {}); + }, + /** 瀵煎嚭鎸夐挳鎿嶄綔 */ + handleExport() { + this.download( + "base/tag/export", + { + ...this.topqueryParams, + }, + `user_${new Date().getTime()}.xlsx` + ); }, }, }; @@ -715,6 +800,14 @@ font-size: 20px; } } +.document { + width: 100px; + height: 50px; +} +.documentf { + display: flex; + justify-content: flex-end; +} .button-text { color: rgb(70, 204, 238); } -- Gitblit v1.9.3