From b73b5dd97cbda40d0584f579ed9f65f4fcffe23f Mon Sep 17 00:00:00 2001
From: WXL <1785969728@qq.com>
Date: 星期一, 31 三月 2025 15:33:02 +0800
Subject: [PATCH] 测试完成

---
 src/views/knowledge/questionnaire/index.vue |  325 +++++++++++++++++++++++++++++++++++++----------------
 1 files changed, 224 insertions(+), 101 deletions(-)

diff --git a/src/views/knowledge/questionnaire/index.vue b/src/views/knowledge/questionnaire/index.vue
index b65e57a..dea53d9 100644
--- a/src/views/knowledge/questionnaire/index.vue
+++ b/src/views/knowledge/questionnaire/index.vue
@@ -3,8 +3,8 @@
     <!-- 宸︿晶鏍� -->
     <div class="sidecolumn">
       <div class="sidecolumn-top">
-        <div class="top-wj">闂嵎绫诲瀷</div>
-        <div class="top-tj" @click="dialogFormVisible = true">+娣诲姞</div>
+        <div class="top-wj">闂嵎鍒嗙被</div>
+        <div class="top-tj" @click="Newcategory">+娣诲姞</div>
       </div>
       <div class="center-ss">
         <el-input
@@ -29,7 +29,7 @@
         >
           <span class="custom-tree-node" slot-scope="{ node, data }">
             <span>{{ node.label }}</span>
-            <span v-if="node.id > 0">
+            <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,72 +68,49 @@
               v-show="showSearch"
               label-width="98px"
             >
-              <el-form-item label="闂嵎鍚嶇О" prop="userName">
+              <el-form-item label="闂嵎鍚嶇О" prop="svyname">
                 <el-input
-                  v-model="queryParams.userName"
+                  v-model="queryParams.svyname"
                   placeholder="璇疯緭鍏�"
                   clearable
                   style="width: 200px"
                   @keyup.enter.native="handleQuery"
                 />
               </el-form-item>
-              <el-form-item label="閫傜敤绉戝" prop="region">
-                <el-cascader
-                  v-model="queryParams.administrative"
-                  :options="deptList"
-                  :props="props"
-                  :show-all-levels="false"
-                  clearable
-                >
-                  <template slot-scope="{ node, data }">
-                    <span>{{ data.deptName }}</span>
-                    <span v-if="!node.isLeaf">
-                      ({{ data.children.length }})
-                    </span>
-                  </template>
-                </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="editableTabs"
-                  :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.description"
+                  placeholder="璇疯緭鍏�"
+                  clearable
+                  style="width: 200px"
+                  @keyup.enter.native="handleQuery"
+                />
+              </el-form-item>
+
               <el-form-item label="鍙敤鐘舵��" prop="classify">
-                <el-select
-                  v-model="queryParams.classifyvalue"
-                  placeholder="璇烽�夋嫨"
-                >
+                <el-select v-model="queryParams.isenable" placeholder="璇烽�夋嫨">
                   <el-option
-                    v-for="(item, index) in editableTabs"
-                    :key="index++"
-                    :label="item.title"
-                    :value="index++"
+                    v-for="(item, index) in qyoptions"
+                    :key="item.value"
+                    :label="item.label"
+                    :value="item.value"
                   >
                   </el-option>
                 </el-select>
@@ -153,7 +141,7 @@
                   icon="el-icon-plus"
                   size="medium"
                   @click="handleAdd"
-                  v-hasPermi="['system:user:add']"
+
                   >鏂板</el-button
                 >
               </el-col>
@@ -166,7 +154,6 @@
                   size="medium"
                   :disabled="multiple"
                   @click="handleDelete"
-                  v-hasPermi="['system:user:remove']"
                   >鍒犻櫎</el-button
                 >
               </el-col>
@@ -178,15 +165,15 @@
               @selection-change="handleSelectionChange"
             >
               <el-table-column type="selection" width="50" align="center" />
-              <el-table-column
+              <!-- <el-table-column
                 label="搴忓彿"
                 fixed
                 align="center"
                 key="svyid"
                 prop="svyid"
-              />
+              /> -->
               <el-table-column
-                label="闂嵎鏍囬"
+                label="闂嵎鍚嶇О"
                 fixed
                 align="center"
                 key="svyname"
@@ -194,16 +181,9 @@
                 width="160"
                 :show-overflow-tooltip="true"
               />
-              <el-table-column
-                label="鐗堟湰"
-                align="center"
-                key="version"
-                prop="version"
-                :show-overflow-tooltip="true"
-              />
 
               <el-table-column
-                label="涓昏鍐呭"
+                label="闂嵎鎻忚堪"
                 align="center"
                 key="description"
                 prop="description"
@@ -219,7 +199,6 @@
                     size="medium"
                     type="text"
                     @click="illnessUpdate(scope.row)"
-                    v-hasPermi="['system:user:edit']"
                     ><span class="button-textxg"
                       ><i class="el-icon-date"></i>璇︽儏</span
                     ></el-button
@@ -236,14 +215,14 @@
                 :show-overflow-tooltip="true"
               >
                 <template slot-scope="scope">
-                  <span v-for="item in scope.row.labelInfo.split(',')"
-                    >{{ item }}銆�
+                  <span v-for="item in scope.row.svyLibTemplateTagList"
+                    >{{ item.tagname }}銆�
                   </span>
                 </template>
               </el-table-column>
 
               <el-table-column
-                label="鍙敤"
+                label="鏄惁鍙敤"
                 align="center"
                 key="isenable"
                 prop="isenable"
@@ -273,26 +252,23 @@
                     size="medium"
                     type="text"
                     @click="goQRCode(scope.row)"
-                    v-hasPermi="['system:user:edit']"
                   >
                     <span class="button-text"
-                      ><i class="el-icon-edit"></i>浜岀淮鐮�</span
+                      ><i class="el-icon-edit"></i>棰勮</span
                     ></el-button
                   >
-                  <el-button
+                  <!-- <el-button
                     size="medium"
                     type="text"
                     @click="ViewQuestionnaire(scope.row)"
-                    v-hasPermi="['system:user:edit']"
                     ><span class="button-textck"
                       ><i class="el-icon-edit"></i>鏌ョ湅</span
                     ></el-button
-                  >
+                  > -->
                   <el-button
                     size="medium"
                     type="text"
                     @click="handleUpdate(scope.row)"
-                    v-hasPermi="['system:user:edit']"
                     ><span class="button-textxg"
                       ><i class="el-icon-edit"></i>淇敼</span
                     ></el-button
@@ -301,7 +277,6 @@
                     size="medium"
                     type="text"
                     @click="handleDelete(scope.row)"
-                    v-hasPermi="['system:user:remove']"
                     ><span class="button-textsc"
                       ><i class="el-icon-edit"></i>鍒犻櫎</span
                     ></el-button
@@ -347,7 +322,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>
@@ -400,12 +375,79 @@
       </span>
     </el-dialog>
     <!-- 浜岀淮鐮佸睍绀哄脊妗� -->
-    <el-dialog width="30%" :visible.sync="goQRCodeVisible">
+    <!-- <el-dialog width="30%" :visible.sync="goQRCodeVisible">
       <div class="qrcode-dialo">
         <div class="qrcode-text">
           {{ namequestionnaire }}<span>{{ haoquestionnaire }}</span>
         </div>
-        <div class="qrcode-img"></div>
+        <div class="qrcode-img">
+          <el-image
+            src="D:/qrcode/fc9a1fa37e394ac3ac606bf6b77b17c3"
+            fit="cover"
+          ></el-image>
+        </div>
+      </div>
+    </el-dialog> -->
+    <!-- 闂嵎妯℃澘棰勮 -->
+    <el-dialog title="闅忚棰樼洰棰勮" :visible.sync="topicVisible" width="50%">
+      <div class="preview-left">
+        <!-- 鍗曢�� -->
+        <div v-for="item in topicform.svyTemplateLibScripts">
+          <div
+            class="scriptTopic-dev"
+            :key="item.sort"
+            v-if="item.scriptType == 1"
+          >
+            <div class="dev-text">
+              {{ item.sort }}銆乕鍗曢�塢<span>{{ item.scriptContent }}</span>
+            </div>
+            <div class="dev-xx">
+              <el-radio-group v-model="item.remark">
+                <el-radio
+                  v-for="(items, index) in item.svyLibTemplateTargetoptions"
+                  :key="index"
+                  :label="index"
+                  >{{ items.optioncontent }}</el-radio
+                >
+              </el-radio-group>
+            </div>
+          </div>
+          <!-- 澶氶�� -->
+          <div
+            class="scriptTopic-dev"
+            :key="item.sort"
+            v-if="item.scriptType == 2"
+          >
+            <div class="dev-text">
+              {{ item.sort }}銆乕澶氶�塢<span>{{ item.scriptContent }}</span>
+            </div>
+            <div class="dev-xx">
+              <el-checkbox-group v-model="qremark">
+                <el-checkbox
+                  v-for="(items, index) in item.svyLibTemplateTargetoptions"
+                  :key="index"
+                  :label="index"
+                >
+                  {{ items.optioncontent }}
+                </el-checkbox>
+              </el-checkbox-group>
+            </div>
+          </div>
+          <!-- 濉┖ -->
+          <div
+            class="scriptTopic-dev"
+            :key="item.sort"
+            v-if="item.scriptType == 4"
+          >
+            <div class="dev-text">
+              {{ item.sort }}銆乕闂瓟]<span>{{ item.scriptContent }}</span>
+            </div>
+            <div class="dev-xx">
+              <el-input placeholder="璇疯緭鍏ョ瓟妗�" v-model="radioas" clearable>
+              </el-input>
+            </div>
+          </div>
+        </div>
       </div>
     </el-dialog>
   </div>
@@ -418,8 +460,9 @@
   getQtemplateclassify,
   delQtemplateclassify,
   addQtemplateclassify,
+  editQtemplateclassify,
   getQtemplatelist,
-  issueinfo,
+  getQtemplateobj,
   compileissue,
   delQtemplateinfo,
   Followupinfo,
@@ -428,6 +471,7 @@
   getillnesslist,
   illnesslistget,
   getillness,
+  getQRcode,
 } from "@/api/AiCentre/index";
 import { listDept } from "@/api/system/dept";
 
@@ -444,6 +488,7 @@
       loading: false,
       // 閫変腑鏁扮粍
       ids: [],
+      qremark: [],
       // 闈炲崟涓鐢�
       single: true,
       // 闈炲涓鐢�
@@ -454,9 +499,11 @@
       total: 0,
       namequestionnaire: "",
       haoquestionnaire: "",
+      QRcodeurl: "",
+      courtyardlist: "",
       // 鐢ㄦ埛琛ㄦ牸鏁版嵁
       userList: [],
-
+      campus: [],
       // 鏃ユ湡鑼冨洿
       dateRange: [],
       // 宀椾綅閫夐」
@@ -465,7 +512,7 @@
       roleOptions: [],
       // 琛ㄥ崟鍙傛暟
       form: {},
-
+      title: "鏂板绫诲埆",
       sidecolumnform: {}, //娣诲姞绫诲埆琛ㄥ崟
       goQRCodeVisible: false, //浜岀淮鐮佸脊妗�
       sidecolumnval: "", //绫诲埆鎼滅储
@@ -473,10 +520,14 @@
       idds: "",
       amendtag: false, //鏄惁淇敼绫诲埆
       dialogFormVisible: false, //淇敼娣诲姞绫诲埆寮规
+      topicVisible: false, //
+      topicform: {},
       classifyform: {}, //绫诲埆琛ㄥ崟
       indexid: null,
       inputValue: "",
       radio: "涓诲垎绫�",
+      zufon: true,
+      zifon: true,
       inputVisible: false,
       illnessVisible: false, //鎸囨爣鐤剧梾寮规
       deptOptions: [],
@@ -484,7 +535,7 @@
       illnesslistapi: [],
       illnesslist: [],
       defaultProps: {
-        children: "svyLibTitleCategoryList",
+        children: "svyLibTemplateCategoryList",
         label: "name",
       },
       deptList: [],
@@ -511,6 +562,7 @@
     this.languagelist = store.getters.languagelist;
     this.qyoptions = store.getters.usable;
     this.editableTabs = store.getters.editableTabs;
+    this.courtyardlist = store.getters.courtyardlist;
   },
 
   methods: {
@@ -528,9 +580,20 @@
     },
 
     goQRCode(row) {
-      this.goQRCodeVisible = true;
-      this.namequestionnaire = row.userName;
-      this.haoquestionnaire = row.nickName;
+      getQtemplateobj({ svyid: row.svyid }).then((res) => {
+        this.topicform = res.rows[0];
+        console.log(this.topicform);
+        this.topicVisible = true;
+      });
+      // getQRcode({
+      //   url: "/outsideChain?param1=KHRYDSSuTpwGWDhAS6OnpfxObRZf8fd/TIagYWPvDuyku+MjtrWt1efC1htoBDc+G4QP2UOWPNitAO4TwH4oIQ==&param2=CP/xYqwqDhWACt2aQ/HOwhgRM62Lh4/1upwYDl7dmKSuiaa4zRzMgu7rmRztiwQj2YvJ1KAX1zBTpUAIdxPvUA==",
+      // }).then((res) => {
+      //   console.log(res);
+      //   this.QRcodeurl = "D:/qrcode/fc9a1fa37e394ac3ac606bf6b77b17c3";
+      // });
+      // this.goQRCodeVisible = true;
+      // this.namequestionnaire = row.userName;
+      // this.haoquestionnaire = row.nickName;
     },
     // 琛ㄥ崟閲嶇疆
     reset() {
@@ -553,6 +616,7 @@
     /** 鎼滅储鎸夐挳鎿嶄綔 */
     handleQuery() {
       this.queryParams.pageNum = 1;
+      this.queryParams.campus = this.campus.join(",");
       this.getList();
     },
     /** 閲嶇疆鎸夐挳鎿嶄綔 */
@@ -572,13 +636,14 @@
     /** 鏂板鎸夐挳鎿嶄綔 */
     handleAdd() {
       this.$router.push({
-        path: "/knowledge/questionnaire/compilequer/",
+        path: "/knowledge/questionnaireinfo/",
+        query: { categoryid: this.queryParams.categoryid },
       });
     },
     /** 淇敼鎸夐挳鎿嶄綔 */
     handleUpdate(row) {
       this.$router.push({
-        path: "/knowledge/questionnaire/compilequer/",
+        path: "/knowledge/questionnaireinfo/",
         query: { id: row.svyid },
       });
     },
@@ -670,12 +735,21 @@
     getDeptTree() {
       getQtemplateclassify({}).then((res) => {
         this.deptOptions = res.rows;
-        console.log(res);
+        this.dialogFormVisible = false;
       });
     },
 
     // 娣诲姞绫诲埆鏍�
     submitsidecolumn() {
+      if (this.classifyform.id) {
+        editQtemplateclassify(this.classifyform).then((res) => {
+          this.getDeptTree();
+          this.$modal.msgSuccess("淇敼鎴愬姛");
+          this.classifyform = {};
+          this.dialogFormVisible = false;
+        });
+        return;
+      }
       let calssvalue = {};
       if (
         this.classifyform.pid &&
@@ -685,11 +759,12 @@
         const index = this.deptOptions.findIndex(
           (obj) => obj.id == this.classifyform.pid
         );
+        console.log(this.deptOptions[index]);
         calssvalue = this.deptOptions[index];
-        calssvalue.svyLibTitleCategoryList.push(this.classifyform);
+        calssvalue.svyLibTemplateCategoryList.push(this.classifyform);
       } else if (this.radio == "涓诲垎绫�" && this.classifyform.name) {
         this.classifyform.pid = null;
-        this.classifyform.svyLibTitleCategoryList = [];
+        this.classifyform.svyLibTemplateCategoryList = [];
       } else {
         return this.$modal.msgError("璇峰~鍐欏畬鏁翠俊鎭�");
       }
@@ -727,6 +802,27 @@
           .catch(() => {});
       }
     },
+    altertag(a, b) {
+      this.dialogFormVisible = true;
+      if (!b.pid) {
+        this.radio = "涓诲垎绫�";
+        this.title = "淇敼涓诲垎绫�";
+        this.zufon = false;
+      } else {
+        this.radio = "瀛愬垎绫�";
+        this.title = "淇敼瀛愬垎绫�";
+        this.zifon = false;
+      }
+      this.classifyform = b;
+      this.dialogFormVisible = true;
+    },
+    Newcategory(){
+      this.classifyform= {}, //绫诲埆琛ㄥ崟
+      this.radio = "涓诲垎绫�";
+     this.dialogFormVisible = true
+     this.zifon = true;
+      this.zufon = true;
+    },
 
     // 绛涢�夎妭鐐�
     filterNode(value, data) {
@@ -734,7 +830,7 @@
       return data.name.indexOf(value) !== -1;
     },
     handleNodeClick(data) {
-      this.queryParams.assortid = data.id;
+      this.queryParams.categoryid = data.id;
       this.getList();
     },
 
@@ -775,13 +871,6 @@
       this.single = selection.length != 1;
       this.multiple = !selection.length;
     },
-    /** 鏂板鎸夐挳鎿嶄綔 */
-    handleAdd() {
-      this.$router.push({
-        path: "/knowledge/verbaltrick/particulars/",
-        query: { id: "1" },
-      });
-    },
 
     /** 鍒犻櫎鎸夐挳鎿嶄綔 */
     handleDelete(row) {
@@ -813,7 +902,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);
@@ -917,6 +1006,22 @@
     vertical-align: bottom;
   }
 }
+.preview-left {
+  margin: 20px;
+  //   margin: 20px;
+  padding: 30px;
+  background: #ffff;
+  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);
+  .scriptTopic-dev {
+    margin-bottom: 25px;
+    font-size: 20px !important;
+    .dev-text {
+      margin-bottom: 10px;
+    }
+  }
+}
 
 ::v-deep .el-tree-node__content {
   display: -webkit-box;
@@ -929,6 +1034,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