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 + ")"
               }}&nbsp&nbsp&nbsp<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