From c73a2c380aca7ac4ef16e76388b1a52356df8634 Mon Sep 17 00:00:00 2001
From: WXL <1785969728@qq.com>
Date: 星期五, 30 八月 2024 19:01:04 +0800
Subject: [PATCH] 测试完成

---
 src/views/knowledge/education/index.vue |  294 +++++++++++++++++++++++++++++++++++++++++-----------------
 1 files changed, 205 insertions(+), 89 deletions(-)

diff --git a/src/views/knowledge/education/index.vue b/src/views/knowledge/education/index.vue
index 013025c..9216623 100644
--- a/src/views/knowledge/education/index.vue
+++ b/src/views/knowledge/education/index.vue
@@ -29,7 +29,7 @@
         >
           <span class="custom-tree-node" slot-scope="{ node, data }">
             <span>{{ node.label }}</span>
-            <span>
+            <span v-if="data.id > 0">
               <el-button
                 type="text"
                 icon="el-icon-delete"
@@ -37,6 +37,17 @@
                 size="mini"
                 @click="() => remove(node, data)"
               >
+              </el-button>
+            </span>
+            <span v-if="data.id > 0">
+              <el-button
+                type="text"
+                circle
+                size="mini"
+                @click="() => altertag(node, data)"
+                ><span class="button-textxg"
+                  ><i class="el-icon-edit-outline"></i
+                ></span>
               </el-button>
             </span>
           </span>
@@ -57,64 +68,52 @@
               v-show="showSearch"
               label-width="98px"
             >
-              <el-form-item label="瀹f暀鏍囬" prop="userName">
+              <el-form-item label="閫氱煡鏍囬" prop="preachname">
                 <el-input
-                  v-model="queryParams.userName"
+                  v-model="queryParams.preachname"
                   placeholder="璇疯緭鍏�"
                   clearable
                   style="width: 200px"
                   @keyup.enter.native="handleQuery"
                 />
               </el-form-item>
-              <el-form-item label="閫傜敤绉戝" prop="sickness">
-                <el-cascader
-                  v-model="queryParams.sickness"
-                  :options="optionss"
-                  :props="propss"
-                  clearable
-                ></el-cascader>
-              </el-form-item>
-              <el-form-item label="閫氱煡鍐呭" prop="userName">
-                <el-input
-                  v-model="queryParams.userNamevalue"
-                  placeholder="璇疯緭鍏�"
-                  clearable
-                  style="width: 200px"
-                  @keyup.enter.native="handleQuery"
-                />
-              </el-form-item>
-              <el-form-item label="閫傜敤鏂瑰紡" prop="shape">
-                <el-cascader
-                  v-model="queryParams.shapevalue"
-                  :options="optionss"
-                  :props="propss"
-                  clearable
-                ></el-cascader>
-              </el-form-item>
-              <el-form-item label="鍐呭褰㈠紡" prop="classify">
+              <el-form-item label="閫傜敤闄㈠尯" prop="region">
                 <el-select
-                  v-model="queryParams.classifyvalue"
-                  placeholder="璇烽�夋嫨"
+                  v-model="campus"
+                  size="medium"
+                  multiple
+                  filterable
+                  placeholder="璇烽�夋嫨鍒嗙被"
                 >
                   <el-option
-                    v-for="(item, index) in editableTabs"
-                    :key="index++"
-                    :label="item.title"
-                    :value="index++"
+                    v-for="item in courtyardlist"
+                    :key="item.label"
+                    :label="item.label"
+                    :value="item.label"
                   >
                   </el-option>
                 </el-select>
               </el-form-item>
+              <el-form-item label="閫氱煡鍐呭" prop="userName">
+                <el-input
+                  v-model="queryParams.preachcontent"
+                  placeholder="璇疯緭鍏�"
+                  clearable
+                  style="width: 200px"
+                  @keyup.enter.native="handleQuery"
+                />
+              </el-form-item>
+
               <el-form-item label="鍙敤鐘舵��" prop="classify">
                 <el-select
-                  v-model="queryParams.classifyvalue"
+                  v-model="queryParams.isavailable"
                   placeholder="璇烽�夋嫨"
                 >
                   <el-option
-                    v-for="item in qyoptions"
+                    v-for="(item, index) in qyoptions"
                     :key="item.value"
-                    :label="item.value"
-                    :value="item.label"
+                    :label="item.label"
+                    :value="item.value"
                   >
                   </el-option>
                 </el-select>
@@ -173,12 +172,20 @@
               @selection-change="handleSelectionChange"
             >
               <el-table-column type="selection" width="50" align="center" />
-              <el-table-column label="搴忓彿" align="center" key="id" prop="id" />
+              <el-table-column
+                label="搴忓彿"
+                fixed
+                align="center"
+                key="id"
+                prop="id"
+              />
               <el-table-column
                 label="鏍囬"
+                fixed
                 align="center"
-                key="extName"
-                prop="extName"
+                width="150"
+                key="preachname"
+                prop="preachname"
                 :show-overflow-tooltip="true"
               />
               <el-table-column
@@ -189,15 +196,16 @@
                 :show-overflow-tooltip="true"
               />
               <el-table-column
-                label="涓昏鍐呭(缂�)"
+                label="涓昏鍐呭"
                 align="center"
-                key="userNamevalue"
-                prop="userNamevalue"
+                width="260"
+                key="preachcontent"
+                prop="preachcontent"
                 :show-overflow-tooltip="true"
               />
 
               <el-table-column
-                label="閫傜敤鐤剧梾(缂�)"
+                label="閫傜敤鐤剧梾"
                 align="center"
                 key="aphonenumber"
                 prop="aphonenumber"
@@ -215,39 +223,58 @@
                   >
                 </template>
               </el-table-column>
+
               <el-table-column
-                label="閫傜敤绉戝(缂�)"
+                label="鏍囩"
                 align="center"
-                key="bphonenumber"
-                prop="bphonenumber"
-                width="120"
-              />
-              <el-table-column
-                label="鏍囩(缂�)"
-                align="center"
-                key="tagList"
-                prop="tagList"
+                key="labelInfo"
+                prop="labelInfo"
                 width="160"
                 :show-overflow-tooltip="true"
               >
                 <template slot-scope="scope">
-                  <span v-for="item in scope.row.tagList">{{ item }} </span>
+                  <div v-if="scope.row.labelInfo">
+                    <span v-for="item in scope.row.labelInfo.split(',')"
+                      >{{ item }}銆�
+                    </span>
+                  </div>
+                  <div v-else>
+                    <span>鏃�</span>
+                  </div>
                 </template>
               </el-table-column>
               <el-table-column
-                label="瀹f暀鏂瑰紡(缂�)"
+                label="閫傜敤鏂瑰紡"
                 align="center"
-                key="cphonenumber"
-                prop="cphonenumber"
+                key="suitway"
+                prop="suitway"
                 width="120"
-              />
+              >
+                <template slot-scope="scope">
+                  <div v-if="scope.row.suitway">
+                    <span v-for="item in scope.row.suitway.split(',')"
+                      >{{ item }}銆�
+                    </span>
+                  </div>
+                  <div v-else>
+                    <span>鏃�</span>
+                  </div>
+                </template>
+              </el-table-column>
               <el-table-column
-                label="璧勬枡褰㈠紡(缂�)"
+                label="鍐呭褰㈠紡"
                 align="center"
-                key="cphonenumbers"
-                prop="cphonenumbers"
+                key="preachform"
+                prop="preachform"
                 width="120"
-              />
+              >
+                <template slot-scope="scope">
+                  <dict-tag
+                    :options="editabshape"
+                    :value="scope.row.preachform"
+                  />
+                </template>
+              </el-table-column>
               <el-table-column
                 label="鏈�杩戜慨鏀�"
                 align="center"
@@ -258,19 +285,24 @@
               <el-table-column
                 label="鏄惁鍙敤"
                 align="center"
-                key="isEnable"
-                prop="isEnable"
+                key="isavailable"
+                prop="isavailable"
                 width="120"
-              />
+              >
+                <template slot-scope="scope">
+                  <dict-tag :options="usable" :value="scope.row.isavailable" />
+                </template>
+              </el-table-column>
 
               <el-table-column
                 label="鎿嶄綔"
+                fixed="right"
                 align="center"
                 width="300"
                 class-name="small-padding fixed-width"
               >
                 <template slot-scope="scope">
-                  <el-button
+                  <!-- <el-button
                     size="medium"
                     type="text"
                     @click="goQRCode(scope.row)"
@@ -279,14 +311,14 @@
                     <span class="button-text"
                       ><i class="el-icon-edit"></i>浜岀淮鐮�</span
                     ></el-button
-                  >
+                  > -->
                   <el-button
                     size="medium"
                     type="text"
                     @click="Vieweducation(scope.row)"
                     v-hasPermi="['system:user:edit']"
                     ><span class="button-textck"
-                      ><i class="el-icon-edit"></i>鏌ョ湅</span
+                      ><i class="el-icon-edit"></i>棰勮</span
                     ></el-button
                   >
                   <el-button
@@ -351,7 +383,7 @@
         </el-form-item>
       </el-form>
       <div slot="footer" class="dialog-footer">
-        <el-button @click="dialogFormVisible = false">鍙� 娑�</el-button>
+        <el-button @click="getDeptTree()">鍙� 娑�</el-button>
         <el-button type="primary" @click="submitsidecolumn">纭� 瀹�</el-button>
       </div>
     </el-dialog>
@@ -412,6 +444,16 @@
         <div class="qrcode-img"></div>
       </div>
     </el-dialog>
+    <el-dialog title="妯$増棰勮" :visible.sync="previewtf" width="60%">
+      <div class="preview-left">
+        <!-- 鍗曢�� -->
+        <div v-html="richText"></div>
+      </div>
+      <!-- <span slot="footer" class="dialog-footer">
+        <el-button @click="previewGo">鍓嶅線妯$増璇︽儏淇敼</el-button>
+        <el-button type="primary" @click="previewFn">纭浣跨敤</el-button>
+      </span> -->
+    </el-dialog>
   </div>
 </template>
 
@@ -420,6 +462,7 @@
   getheLibraryAssort,
   delheLibraryAssort,
   addheLibraryAssort,
+  editheLibraryAssort,
   addtargetillness,
   getlibrarylist,
   dellibraryinfo,
@@ -429,9 +472,10 @@
   illnesslistget,
   getillness,
 } from "@/api/AiCentre/index";
+import { listDept } from "@/api/system/dept";
 import { getToken } from "@/utils/auth";
 import store from "@/store";
-
+import axios from "axios";
 import Treeselect from "@riophae/vue-treeselect";
 import "@riophae/vue-treeselect/dist/vue-treeselect.css";
 export default {
@@ -457,13 +501,17 @@
       haoeducation: "",
       indexid: null,
       inputValue: "",
+      richText: "",
       radio: "涓诲垎绫�",
       inputVisible: false,
+      previewtf: false,
       illnessVisible: false, //鎸囨爣鐤剧梾寮规
       deptOptions: [],
+      courtyardlist: [],
       optionsillness: [],
       illnesslistapi: [],
       illnesslist: [],
+      campus: [],
       defaultProps: {
         children: "heLibraryAssortList",
         label: "assortname",
@@ -507,10 +555,14 @@
       }, //绫诲埆琛ㄥ崟
       optionss: [],
       mode: [],
-      languagelist: [],
       qyoptions: [],
+      languagelist: [],
+      editabshape: [],
+      usable: [],
       precedencetype: [],
       xjxsoptions: [],
+      deptList: [],
+      props: { multiple: true, value: "deptId", label: "deptName" },
 
       //绫诲埆鍒楄〃
       editableTabs: [],
@@ -518,6 +570,7 @@
       queryParams: {
         pageNum: 1,
         pageSize: 10,
+        isavailable: "",
       },
     };
   },
@@ -527,17 +580,25 @@
     this.getDeptTree();
     this.mode = store.getters.mode;
     this.languagelist = store.getters.languagelist;
-    this.qyoptions = store.getters.usable;
+    this.usable = store.getters.usable;
     this.precedencetype = store.getters.precedencetype;
+    this.editabshape = store.getters.editabshape;
+    this.qyoptions = store.getters.usable;
+    this.courtyardlist = store.getters.courtyardlist;
   },
 
   methods: {
     /** 鏌ヨ瀹f暀鍒楄〃 */
     getList() {
-      //   this.loading = true;
+      this.loading = true;
       getlibrarylist(this.queryParams).then((response) => {
         console.log(response);
         this.userList = response.rows;
+        this.total = response.total;
+        this.loading = false;
+      });
+      listDept(this.queryParams).then((response) => {
+        this.deptList = this.handleTree(response.data, "deptId");
       });
     },
 
@@ -559,6 +620,7 @@
     /** 鎼滅储鎸夐挳鎿嶄綔 */
     handleQuery() {
       this.queryParams.pageNum = 1;
+      this.queryParams.campus = this.campus.join(",");
       this.getList();
     },
     /** 閲嶇疆鎸夐挳鎿嶄綔 */
@@ -571,38 +633,53 @@
     },
     // 澶氶�夋閫変腑鏁版嵁
     handleSelectionChange(selection) {
-      this.ids = selection.map((item) => item.userId);
+      this.ids = selection.map((item) => item.id);
       this.single = selection.length != 1;
       this.multiple = !selection.length;
     },
     /** 鏂板鎸夐挳鎿嶄綔 */
     handleAdd() {
       this.$router.push({
-        path: "/knowledge/education/compilequer/",
+        path: "/knowledge/educationinfo/",
       });
     },
     /** 淇敼鎸夐挳鎿嶄綔 */
     handleUpdate(row) {
       this.$router.push({
-        path: "/knowledge/education/compilequer/",
-        query: { id: "1" },
+        path: "/knowledge/educationinfo/",
+        query: { id: row.id },
       });
     },
     // 鏌ョ湅瀹f暀
-    Vieweducation() {
-      this.$router.push({
-        path: "/knowledge/education/examine/",
-        query: { id: "1" },
-      });
+    Vieweducation(row) {
+      this.richText = null;
+      this.previewtf = true;
+      axios
+        .get(row.richText)
+        .then((response) => {
+          console.log(response.data, "鏁版嵁"); // 杈撳嚭鑾峰彇鍒扮殑鏂囦欢鍐呭
+          this.richText = response.data;
+          this.richText = this.addStyleToImages(this.richText);
+        })
+        .catch((error) => {
+          this.$modal.msgError("鑾峰彇瀵屾枃鏈け璐�");
+          console.error("Failed to fetch file:", error);
+        });
+    },
+    addStyleToImages(html) {
+      return html.replace(
+        /<img([^>]*)style=(['"])(?:(?!\2).)*\2([^>]*)>/g,
+        '<img$1style="width:100%;height:auto;"$3>'
+      );
     },
 
     /** 鍒犻櫎鎸夐挳鎿嶄綔 */
     handleDelete(row) {
-      const userIds = row.userId || this.ids;
+      const userIds = row.id || this.ids;
       this.$modal
         .confirm('鏄惁纭鍒犻櫎鐢ㄦ埛缂栧彿涓�"' + userIds + '"鐨勬暟鎹」锛�')
         .then(function () {
-          return delFollowupinfo(userIds);
+          return dellibraryinfo(userIds);
         })
         .then(() => {
           this.getList();
@@ -622,12 +699,21 @@
     getDeptTree() {
       getheLibraryAssort({}).then((res) => {
         this.deptOptions = res.rows;
-        console.log(res);
+        this.dialogFormVisible = false;
       });
     },
 
     // 娣诲姞绫诲埆鏍�
     submitsidecolumn() {
+      if (this.classifyform.id) {
+        editheLibraryAssort(this.classifyform).then((res) => {
+          this.getDeptTree();
+          this.$modal.msgSuccess("淇敼鎴愬姛");
+          this.classifyform = {};
+          this.dialogFormVisible = false;
+        });
+        return;
+      }
       let calssvalue = {};
       if (
         this.classifyform.pid &&
@@ -645,10 +731,12 @@
       } else {
         return this.$modal.msgError("璇峰~鍐欏畬鏁翠俊鎭�");
       }
+      this.classifyform.hetype = 1;
       addheLibraryAssort(this.classifyform).then((res) => {
         this.getDeptTree();
         this.$modal.msgSuccess("鏂板鎴愬姛");
         this.classifyform = {};
+        this.dialogFormVisible = false;
       });
     },
     remove(a, b) {
@@ -679,6 +767,16 @@
           })
           .catch(() => {});
       }
+    },
+    altertag(a, b) {
+      this.dialogFormVisible = true;
+      if (!b.pid) {
+        this.radio = "涓诲垎绫�";
+      } else {
+        this.radio = "瀛愬垎绫�";
+      }
+      this.classifyform = b;
+      this.dialogFormVisible = true;
     },
 
     // 绛涢�夎妭鐐�
@@ -778,7 +876,7 @@
   margin-top: 20px;
   margin: 20px;
   padding: 30px;
-  background: #edf1f7;
+  background: #fff;
   border: 1px solid #dcdfe6;
   -webkit-box-shadow: 0 2px 4px 0 rgba(0, 0, 0, 0.12),
     0 0 6px 0 rgba(0, 0, 0, 0.04);
@@ -893,6 +991,24 @@
   font-size: 20px;
   cursor: pointer;
 }
+::v-deep .el-tree {
+  position: relative;
+  cursor: default;
+  border-radius: 5px;
+  background: #eff8fe;
+  color: #606266;
+  border: 1px solid #bbe1fa;
+  // border: 1px solid #dcdfe6;
+  -webkit-box-shadow: 0 2px 4px 0 rgba(0, 0, 0, 0.12),
+    0 0 6px 0 rgba(0, 0, 0, 0.04);
+}
+::v-deep
+  .el-tree--highlight-current
+  .el-tree-node.is-current
+  > .el-tree-node__content {
+  background-color: #7799fb;
+  color: #fff;
+}
 ::v-deep .el-button--mini.is-circle {
   padding: 7px;
   margin: 0;

--
Gitblit v1.9.3