WXL
2024-02-04 cf9259c2ebee0e82c32864a1ee91d96c403b9099
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>
@@ -457,7 +470,7 @@
        >
        <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">
@@ -676,6 +689,7 @@
      illnessVisible: false, //指标疾病弹框
      deptOptions: [],
      optionsillness: [],
      delScriptVOList: [],
      illnesslistapi: [],
      illnesslist: [],
      tempDetpRelevanceslist: [],
@@ -773,10 +787,14 @@
    Departmenttreatment() {
      this.ruleForm.deptNames = JSON.stringify(this.tempDetpRelevanceslist);
      console.log(this.tempDetpRelevanceslist);
      this.ruleForm.svyLibTopics = this.ruleForm.svyLibTopics.concat(
        this.delScriptVOList
      );
      console.log(this.ruleForm.svyLibTopics, "this.ruleForm.svyLibTopics");
      const result = this.tempDetpRelevanceslist.map(
        (subArr) => subArr[subArr.length - 1]
      );
      console.log(result);
      console.log(result, "result");
      // id数组查数组对象
      result.forEach((item) => {
        const condition = this.ruleForm.tempDetpRelevances.some(
@@ -795,6 +813,7 @@
      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;
        }
@@ -803,7 +822,6 @@
      setTimeout(() => {
        this.submitForm();
      }, 1000);
      // this.submitForm();
    },
    // 下一步
    nextstep() {
@@ -845,19 +863,23 @@
    // 新增题目
    addtopic(row) {
      row.isoperation = 1;
      row.svyLibTopicoptions.forEach((item) => {
        item.isoperation = 1;
      });
      this.ruleForm.svyLibTopics.push(row);
    },
    handleDelete(row) {
      this.ruleForm.svyLibTopics.splice(
        this.ruleForm.svyLibTopics.indexOf(row),
        1
      );
      let index = this.ruleForm.svyLibTopics.indexOf(row);
      this.ruleForm.svyLibTopics.splice(index, 1);
      row.isoperation=3;
      this.delScriptVOList.push(row);
      this.sortFn();
    },
    handleUpdate(row) {
      getissuelist({ svyid: row.svyid }).then((res) => {
        this.topicobj = res.rows[0];
      });
      console.log(row);
      this.topicobj = row;
      // getissuelist({ svyid: row.svyid }).then((res) => {
      // });
    },
    syioption(row) {
      const index = this.getIndexInArray(this.ruleForm.svyLibTopics, row);
@@ -1036,28 +1058,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;