From 0c80816a30c8bc4a3613a2302a30202d84784c1d Mon Sep 17 00:00:00 2001
From: WXL <1785969728@qq.com>
Date: 星期五, 21 六月 2024 09:51:45 +0800
Subject: [PATCH] 测试完成

---
 src/views/knowledge/questionnaire/compilequer/index.vue |  275 +++++++++++++++++++++++++++++++++++++++---------------
 1 files changed, 198 insertions(+), 77 deletions(-)

diff --git a/src/views/knowledge/questionnaire/compilequer/index.vue b/src/views/knowledge/questionnaire/compilequer/index.vue
index d01a149..c864744 100644
--- a/src/views/knowledge/questionnaire/compilequer/index.vue
+++ b/src/views/knowledge/questionnaire/compilequer/index.vue
@@ -2,14 +2,27 @@
   <div class="Questionnairemanagement">
     <!-- 宸︿晶鏍� -->
     <div class="sidecolumn">
-      <div style="height: 400px">
-        <el-steps direction="vertical" :active="Editprogress">
-          <el-step title="鍩虹淇℃伅"></el-step>
-          <el-step title="闂嵎棰樼洰"></el-step>
-          <el-step
-            title="闂嵎棰勮"
-            description="鏌ョ湅闂嵎棰勮锛屽彲瀵煎嚭PDF"
-          ></el-step>
+      <div>
+        <el-steps finish-status="success" :active="Editprogress" simple>
+          <el-step>
+            <template slot="title">
+              <span style="cursor: pointer" @click="Editprogress = 1"
+                >鍩虹淇℃伅</span
+              >
+            </template>
+          </el-step>
+          <el-step>
+            <template slot="title">
+              <span style="cursor: pointer" @click="Editprogress = 2"
+                >闂嵎棰樼洰</span
+              >
+            </template>
+          </el-step>
+          <el-step description="鏌ョ湅闂嵎棰勮锛屽彲瀵煎嚭PDF">
+            <span slot="title" style="cursor: pointer" @click="Editprogress = 3"
+              >闂嵎棰勮</span
+            >
+          </el-step>
         </el-steps>
       </div>
     </div>
@@ -26,23 +39,48 @@
           label-width="100px"
           class="demo-ruleForm"
         >
-          <el-form-item label="闂嵎鍒嗙被" prop="region">
-            <el-select
-              v-model="ruleForm.categoryid"
-              size="medium"
-              filterable
-              placeholder="璇烽�夋嫨鍒嗙被"
-            >
-              <el-option
-                class="ruleFormaa"
-                v-for="item in optionsclass"
-                :key="item.id"
-                :label="item.name"
-                :value="item.id"
-              >
-              </el-option>
-            </el-select>
-          </el-form-item>
+          <el-row :gutter="10">
+            <el-col :span="10">
+              <el-form-item label="闂嵎鍒嗙被" prop="region">
+                <el-select
+                  v-model="ruleForm.categoryid"
+                  size="medium"
+                  filterable
+                  placeholder="璇烽�夋嫨鍒嗙被"
+                >
+                  <el-option-group
+                    v-for="group in optionsclass"
+                    :key="group.id"
+                    :label="group.name"
+                  >
+                    <el-option
+                      v-for="item in group.svyLibTemplateCategoryList"
+                      :key="item.id"
+                      :label="item.name"
+                      :value="item.id"
+                    >
+                    </el-option>
+                  </el-option-group>
+                </el-select>
+              </el-form-item>
+            </el-col>
+            <el-col :span="10">
+              <el-form-item label="璇勪环绫诲瀷">
+                <el-select
+                  v-model="ruleForm.scoreType"
+                  placeholder="璇烽�夋嫨鍒嗙被"
+                >
+                  <el-option
+                    v-for="group in appraiselist"
+                    :key="group.value"
+                    :label="group.label"
+                    :value="group.value"
+                  >
+                  </el-option>
+                </el-select>
+              </el-form-item>
+            </el-col>
+          </el-row>
           <el-form-item label="闂嵎鏍囬" prop="name">
             <div style="width: 30%">
               <el-input v-model="ruleForm.svyname"></el-input>
@@ -249,59 +287,81 @@
       <div v-if="Editprogress == 2">
         <div class="leftvlue-jbxx">闂嵎棰樼洰璁剧疆</div>
         <el-divider></el-divider>
-        <div class="addtopic">
-          <el-button
-            type="primary"
-            icon="el-icon-plus"
-            round
-            @click="getaddtopiclist"
-            >娣诲姞棰樼洰</el-button
-          >
+        <div style="display: flex; justify-content: space-between">
+          <div>
+            <el-button
+              type="primary"
+              icon="el-icon-plus"
+              round
+              @click="getaddtopiclist"
+              >娣诲姞棰樼洰</el-button
+            >
+          </div>
+          <div style="display: flex">
+            <span style="width: 180px; font-size: 20px; font-weight: normal; color: red"
+              >闂嵎鎬诲垎锛�</span
+            >
+            <el-input
+              v-model="ruleForm.scriptScore"
+              placeholder="璇疯緭鍏ュ垎鏁�"
+            ></el-input>
+          </div>
         </div>
         <div class="presentation">
           <div class="presentation-left">
             <el-card class="box-card" style="min-height: 688px">
-              <el-table v-loading="loading" :data="ruleForm.svyLibTopics">
+              <el-table v-loading="loading" :data="ruleForm.svyLibScripts">
                 <el-table-column
                   label="搴忓彿"
                   align="center"
-                  key="topicid"
-                  prop="topicid"
+                  key="guid"
+                  prop="guid"
                 />
                 <el-table-column
-                  label="棰樼洰"
+                  label="棰樼洰鏍囬"
                   align="center"
                   key="topic"
                   prop="topic"
                   :show-overflow-tooltip="true"
                 />
                 <el-table-column
-                  label="涓昏鍐呭"
+                  label="棰樼洰鍐呭"
                   align="center"
-                  key="topicContent"
-                  prop="topicContent"
+                  key="script"
+                  prop="script"
                   :show-overflow-tooltip="true"
                 />
 
                 <el-table-column
                   label="鎿嶄綔"
                   align="center"
-                  width="200"
+                  width="250"
                   class-name="small-padding fixed-width"
                 >
                   <template slot-scope="scope">
                     <el-button
                       icon="el-icon-edit"
                       type="primary"
-                      round
+                      circle
                       @click="handleUpdate(scope.row)"
-                      >淇敼</el-button
-                    >
+                    ></el-button>
                     <el-button
                       type="danger"
                       icon="el-icon-delete"
                       circle
                       @click="handleDelete(scope.row)"
+                    ></el-button>
+                    <el-button
+                      @click="syioption(scope.row)"
+                      type="success"
+                      icon="el-icon-top"
+                      circle
+                    ></el-button>
+                    <el-button
+                      @click="xiayioption(scope.row)"
+                      type="success"
+                      icon="el-icon-bottom"
+                      circle
                     ></el-button>
                   </template>
                 </el-table-column>
@@ -364,7 +424,7 @@
                 <div class="headline">閫夐」璁剧疆</div>
                 <div
                   class="topicxq"
-                  v-for="item in topicobj.svyLibTopicoptions"
+                  v-for="item in topicobj.svyLibTemplateTargetoptions"
                 >
                   <el-row :gutter="10">
                     <el-col :span="11"
@@ -372,7 +432,7 @@
                         <el-input
                           type="text"
                           placeholder="璇疯緭鍏�"
-                          v-model="item.topicid"
+                          v-model="item.id"
                           show-word-limit
                         >
                         </el-input> </el-form-item
@@ -441,7 +501,9 @@
         >
         <el-button type="primary" @click="laststep()">涓婁竴姝�</el-button>
         <el-button type="info" @click="closeFm('ruleForm')">鍏抽棴</el-button>
-        <el-button @click="submitForm('ruleForm')">淇濆瓨棰樼洰鏁版嵁</el-button>
+        <el-button @click="Departmenttreatment('ruleForm')"
+          >淇濆瓨棰樼洰鏁版嵁</el-button
+        >
       </div>
       <!-- 闂嵎棰勮 -->
       <div v-if="Editprogress == 3">
@@ -502,7 +564,7 @@
       title="娣诲姞棰樼洰"
       :visible.sync="drawer"
       custom-class="demo-drawer"
-      width="50%"
+      size="50%"
     >
       <div class="preview-left">
         <el-form
@@ -512,9 +574,9 @@
           :inline="true"
           label-width="98px"
         >
-          <el-form-item label="鏍囬" prop="userName">
+          <el-form-item label="闂鏍囬" prop="topic">
             <el-input
-              v-model="queryParams.userName"
+              v-model="queryParams.topic"
               placeholder="璇疯緭鍏�"
               clearable
               style="width: 200px"
@@ -546,8 +608,8 @@
           <el-table-column
             label="闂鍐呭"
             align="center"
-            key="topicContent"
-            prop="topicContent"
+            key="script"
+            prop="script"
             width="200"
             :show-overflow-tooltip="true"
           />
@@ -566,6 +628,13 @@
             </template>
           </el-table-column>
         </el-table>
+        <pagination
+          v-show="total > 0"
+          :total="total"
+          :page.sync="queryParams.pageNum"
+          :limit.sync="queryParams.pageSize"
+          @pagination="getaddtopiclist"
+        />
       </div>
     </el-drawer>
   </div>
@@ -585,6 +654,7 @@
   compileissue,
   delQtemplateinfo,
   Followupinfo,
+  issueinfo,
   getissuelist,
   deltargetillness,
   addtargetillness,
@@ -597,7 +667,7 @@
   data() {
     return {
       sidecolumnrabs: "left", //鏂瑰悜
-      Editprogress: 2, //缂栬緫杩涘害
+      Editprogress: 1, //缂栬緫杩涘害
       currentVersion: "1.2.3", //褰撳墠鐗堟湰
       loading: false, // 閬僵灞�
       drawer: false, //鎺у埗灞曞紑
@@ -617,6 +687,11 @@
       optionlist: [
         { value: "topic", table: "topic" },
         { value: "topic", table: "topic" },
+      ],
+      appraiselist: [
+        { label: "鍒嗘暟", value: "1" },
+        { label: "ABC绛夌骇", value: "2" },
+        { label: "浼樿壇绛夌骇", value: "3" },
       ],
 
       fileList: [
@@ -659,11 +734,12 @@
       illnessVisible: false, //鎸囨爣鐤剧梾寮规
       deptOptions: [],
       optionsillness: [],
+      delScriptVOList: [],
       illnesslistapi: [],
       illnesslist: [],
       tempDetpRelevanceslist: [],
       optionstag: [],
-      xjxsoptions: [],
+      valuetype: [],
       usable: [],
       required: [],
       mode: [], //鏂瑰紡
@@ -678,18 +754,34 @@
   created() {
     this.gettabList();
     this.getissueinfo();
-    this.mode = store.getters.mode;
+    this.mode = store.getters.Askmode;
     this.languagelist = store.getters.languagelist;
     this.usable = store.getters.usable;
     this.required = store.getters.required;
-    this.xjxsoptions = store.getters.xjxsoptions;
+    this.valuetype = store.getters.valuetype;
     this.courtyardlist = store.getters.courtyardlist;
   },
 
   methods: {
+    // 鍏叡鏂规硶---------------
     getIndexInArray(arr, obj) {
       return arr.indexOf(obj);
     },
+    // 閫掑綊鎵佸钩鍖�
+    flattenArray(arr) {
+      let result = [];
+      arr.forEach((item) => {
+        result.push(item);
+        if (item.svyLibTemplateCategoryList) {
+          result = result.concat(
+            this.flattenArray(item.svyLibTemplateCategoryList)
+          );
+          delete item.svyLibTemplateCategoryList;
+        }
+      });
+      return result;
+    },
+    // -----------------------------
     // 鑾峰彇鏁版嵁
     getissueinfo() {
       this.id = this.$route.query.id;
@@ -712,7 +804,9 @@
       listDept(this.queryParams).then((response) => {
         this.deptList = this.handleTree(response.data, "deptId");
       });
+      // 鍒嗙被
       getQtemplateclassify({}).then((res) => {
+        // this.optionsclass = this.flattenArray(res.rows);
         this.optionsclass = res.rows;
       });
     },
@@ -738,10 +832,12 @@
     Departmenttreatment() {
       this.ruleForm.deptNames = JSON.stringify(this.tempDetpRelevanceslist);
       console.log(this.tempDetpRelevanceslist);
+      this.ruleForm.svyLibScripts = this.ruleForm.svyLibScripts.concat(
+        this.delScriptVOList
+      );
       const result = this.tempDetpRelevanceslist.map(
         (subArr) => subArr[subArr.length - 1]
       );
-      console.log(result);
       // id鏁扮粍鏌ユ暟缁勫璞�
       result.forEach((item) => {
         const condition = this.ruleForm.tempDetpRelevances.some(
@@ -755,20 +851,18 @@
           });
         }
       });
-      console.log(this.ruleForm.tempDetpRelevances);
       // 鏁扮粍瀵硅薄鏌d鏁扮粍
       this.ruleForm.tempDetpRelevances.forEach((item) => {
         const condition = result.some((obj) => obj === item.deptId);
         if (!condition) {
+          console.log(condition);
           const index = this.ruleForm.tempDetpRelevances.indexOf(item);
           this.ruleForm.tempDetpRelevances[index].delFlag = 1;
         }
       });
-      console.log(this.ruleForm.tempDetpRelevances);
       setTimeout(() => {
         this.submitForm();
       }, 1000);
-      // this.submitForm();
     },
     // 涓嬩竴姝�
     nextstep() {
@@ -810,17 +904,49 @@
     // 鏂板棰樼洰
     addtopic(row) {
       row.isoperation = 1;
-      this.ruleForm.svyLibTopics.push(row);
+      row.svyLibScriptOptions.forEach((item) => {
+        item.isoperation = 1;
+      });
+      this.ruleForm.svyLibScripts.push(row);
+      this.$modal.msgSuccess("鏂板鎴愬姛");
     },
     handleDelete(row) {
-      this.ruleForm.svyLibTopics.splice(
-        this.ruleForm.svyLibTopics.indexOf(row),
-        1
-      );
+      let index = this.ruleForm.svyLibScripts.indexOf(row);
+      this.ruleForm.svyLibScripts.splice(index, 1);
+      row.isoperation = 3;
+      this.delScriptVOList.push(row);
+      this.sortFn();
     },
     handleUpdate(row) {
       console.log(row);
       this.topicobj = row;
+      // getissuelist({ svyid: row.svyid }).then((res) => {
+      // });
+    },
+    syioption(row) {
+      const index = this.getIndexInArray(this.ruleForm.svyLibScripts, row);
+      const item = this.ruleForm.svyLibScripts.splice(index, 1)[0]; // 绉婚櫎鎸囧畾绱㈠紩澶勭殑鍏冪礌锛屽苟淇濆瓨鍒癷tem鍙橀噺涓�
+      this.ruleForm.svyLibScripts.splice(index - 1, 0, item); // 灏唅tem鎻掑叆鍒扮储寮曚綅缃殑鍓嶄竴浣�
+      this.sortFn();
+    },
+    xiayioption(row) {
+      const index = this.getIndexInArray(this.ruleForm.svyLibScripts, row);
+      const item = this.ruleForm.svyLibScripts.splice(index, 1)[0]; // 绉婚櫎鎸囧畾绱㈠紩澶勭殑鍏冪礌锛屽苟淇濆瓨鍒癷tem鍙橀噺涓�
+      this.ruleForm.svyLibScripts.splice(index + 1, 0, item); // 灏唅tem鎻掑叆鍒扮储寮曚綅缃殑鍓嶄竴浣�
+      this.sortFn();
+    },
+    sortFn() {
+      this.ruleForm.svyLibScripts = this.ruleForm.svyLibScripts.map(
+        (item, index) => {
+          return {
+            guid: index + 1,
+            svyid: item.svyid,
+            script: item.script,
+            script: item.script,
+          };
+        }
+      );
+      console.log(this.ruleForm.svyLibScripts);
     },
 
     // 淇敼棰樼洰淇℃伅
@@ -974,28 +1100,23 @@
 
 <style lang="scss" scoped>
 .Questionnairemanagement {
-  display: flex;
+  // display: flex;
 }
 .sidecolumn {
-  width: 300px;
-  min-height: 100vh;
-  text-align: center;
-  //   display: flex;
-  //   margin-top: 20px;
   margin: 20px;
   margin-bottom: 0;
-  padding: 30px;
+  padding: 20px;
   background: #edf1f7;
   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);
 }
 .leftvlue {
-  //   display: flex;
-  //   flex: 1;
-  width: 80%;
-  margin-top: 20px;
-  //   margin: 20px;
+  // //   display: flex;
+  // //   flex: 1;
+  // width: 80%;
+  // margin-top: 20px;
+  margin: 20px;
   padding: 30px;
   background: #ffff;
   border: 1px solid #dcdfe6;

--
Gitblit v1.9.3