WXL
2024-07-16 cc73ea5320fed8a39e00bfc0fa02810199559122
src/views/knowledge/questionbank/particulars/index.vue
@@ -6,9 +6,9 @@
          <div class="headline">
            题目设置详情
            <span style="margin-left: 30px"
              ><el-button type="primary" @click="compileissue"
              ><el-button type="primary" @click="Saveproblem"
                >保 存</el-button
              ></span
              > </span
            ><span style="margin-left: 30px"
              ><el-button type="success" round @click="drawer = true"
                >+选择指标</el-button
@@ -17,7 +17,7 @@
          </div>
          <div style="margin-left: 8%">
            <el-row :gutter="10">
              <el-col :span="10">
              <el-col :span="8">
                <el-form-item label="问题分类">
                  <el-select
                    v-model="topicobj.categoryid"
@@ -41,7 +41,7 @@
                  </el-select>
                </el-form-item>
              </el-col>
              <el-col :span="10">
              <el-col :span="8">
                <el-form-item label="评价类型">
                  <el-select
                    v-model="topicobj.scoretype"
@@ -57,13 +57,21 @@
                  </el-select>
                </el-form-item>
              </el-col>
              <el-col :span="8" v-if="topicobj.scoretype == 1">
                <el-form-item label="题目得分">
                  <el-input
                    v-model="topicobj.score"
                    placeholder="请输入分数"
                  ></el-input>
                </el-form-item>
              </el-col>
            </el-row>
            <el-row :gutter="10">
              <el-col :span="8"
                ><el-form-item label="题目标题">
                  <el-input
                    v-model="topicobj.script"
                    v-model="topicobj.scriptTopic"
                    placeholder="请输入标题"
                  ></el-input> </el-form-item
              ></el-col>
@@ -126,7 +134,7 @@
              <el-col :span="8"
                ><el-form-item label="题目类型">
                  <el-select
                    v-model="topicobj.scripttype"
                    v-model="topicobj.scriptType"
                    size="medium"
                    filterable
                    placeholder="请选择分类"
@@ -167,7 +175,15 @@
                id="scriptContent"
                v-model="topicobj.scriptContent"
                @focus="handleInput('scriptContent')"
                placeholder="请输入标题"
                placeholder="请输入题目内容"
              ></el-input>
            </el-form-item>
            <el-form-item label="题目说明">
              <el-input
                style="width: 40vw"
                type="textarea"
                v-model="topicobj.scriptDesc"
                placeholder="请输入说明"
              ></el-input>
            </el-form-item>
@@ -306,7 +322,7 @@
              </el-col></el-row
            > -->
          </div>
          <div v-if="topicobj.valueType == 1">
          <div v-if="topicobj.scriptType != 3">
            <div class="headline">
              选项设置<span style="margin-left: 30px"
                ><el-button type="primary" round @click="addoption"
@@ -518,9 +534,9 @@
        isavailable: "",
      },
      optionlist: [
        { value: "topic", table: "topic" },
        { value: "topic", table: "topic" },
        { value: "topic", table: "topic" },
        { value: "scriptTopic", table: "scriptTopic" },
        { value: "scriptTopic", table: "scriptTopic" },
        { value: "scriptTopic", table: "scriptTopic" },
      ],
      inputValueillness: "",
      required: [],
@@ -551,7 +567,6 @@
  created() {
    this.gettabList();
    this.getissueinfo();
    this.test();
    this.gettargetInfo();
    this.mode = store.getters.mode;
    this.languagelist = store.getters.languagelist;
@@ -618,7 +633,6 @@
    },
    // 新增或修改详情
    compileissue() {
      console.log(11223);
      this.topicobj.svyLibScriptOptions = this.topicobj.svyLibScriptOptions.map(
        (item) => {
          if (item.isoperation != 1 && item.isoperation != 3) {
@@ -672,6 +686,52 @@
        deltargetillness(this.illnesslistapi.join(",")).then((res) => {});
      }
    },
    // 判断分值
    Scorejudgment() {
      let scorearr = this.topicobj.svyLibScriptOptions;
      let isValid = scorearr.every((score) => {
        if (score.score) {
          console.log(Number(score.score), this.topicobj.score, "分值");
          if (
            Number(score.score) <= 0 ||
            Number(score.score) > Number(this.topicobj.score)
          ) {
            console.log(score, "错误分值");
            this.$message({
              message: "选项分值必须大于0小于等于" + this.topicobj.score + "分",
              type: "warning",
            });
            return false;
          }
          return true;
        } else if (this.topicobj.scriptType == 3) {
          return true;
        } else {
          this.$message({
            message: "选项分值未设置",
            type: "warning",
          });
          return false;
        }
      });
      if (isValid) {
        this.compileissue();
        // console.log("到保存了");
      }
    },
    Saveproblem() {
      if (this.topicobj.scoretype == 1) {
        console.log(321);
        this.Scorejudgment();
      } else {
        this.compileissue();
      }
    },
    // 删除标签
    handleClose(tag) {
      this.dynamicTags.splice(this.dynamicTags.indexOf(tag), 1);
    },
    // 删除选项
    deletexuanx(row) {
      const index = this.getIndexInArray(
@@ -701,7 +761,7 @@
        .then(() => {
          console.log(row);
          console.log(this.topicobj);
          this.topicobj.topic = row.targetname;
          this.topicobj.scriptTopic = row.targetname;
          this.topicobj.valueType = row.valueType;
          this.topicobj.scriptContent = row.targetdesc;
          this.topicobj.isavailable = "0";
@@ -921,14 +981,14 @@
    // 执行
    test() {
      const arrays = [
        ["2", "3", "4"],
        ["1", "2"],
        ["3", "4", "5"],
        ["3", "2", "5"],
        ["2", "3", "4", "5"],
        ["1", "2", "5", "6"],
        ["3", "4", "5", "3"],
        ["3", "2", "5", "7"],
      ];
      const newMixArray = this.generateCombinations(arrays);
      console.log(newMixArray,'全部路线');
      console.log(newMixArray, "全部路线");
      this.screen(newMixArray);
    },
    // 数组求和
@@ -937,9 +997,9 @@
    },
    // 筛选错误路线
    screen(data) {
      const arraysGreaterThan10 = data.filter((arr) => this.sumArray(arr) > 13);
      const arraysGreaterThan10 = data.filter((arr) => this.sumArray(arr) > 21);
      console.log(arraysGreaterThan10,'筛选错误路线大于13分');
      console.log(arraysGreaterThan10, "筛选错误路线大于13分");
    },
  },
};
@@ -1017,7 +1077,7 @@
  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);
  .topic-dev {
  .scriptTopic-dev {
    margin-bottom: 25px;
    font-size: 20px !important;
    .dev-text {