WXL
2024-06-17 253d66f7cc3f14f7616fd4987a9d18f99d685690
src/views/knowledge/questionbank/particulars/index.vue
@@ -7,33 +7,58 @@
            题目设置详情
            <span style="margin-left: 30px"
              ><el-button type="primary" @click="compileissue"
                >保存</el-button
                >保 存</el-button
              ></span
            ><span style="margin-left: 30px"
              ><el-button type="success" round @click="drawer = true"
                >+选择指标</el-button
              ></span
            >
          </div>
          <div style="margin-left: 8%">
            <el-form-item label="问题分类">
              <el-select
                v-model="topicobj.categoryid"
                size="medium"
                filterable
                placeholder="请选择分类"
              >
                <el-option-group
                  v-for="group in classifylist"
                  :key="group.id"
                  :label="group.name"
                >
                  <el-option
                    v-for="item in group.svyLibTopicCategoryList"
                    :key="item.id"
                    :label="item.name"
                    :value="item.id"
            <el-row :gutter="10">
              <el-col :span="10">
                <el-form-item label="问题分类">
                  <el-select
                    v-model="topicobj.categoryid"
                    size="medium"
                    filterable
                    placeholder="请选择分类"
                  >
                  </el-option>
                </el-option-group>
              </el-select>
            </el-form-item>
                    <el-option-group
                      v-for="group in classifylist"
                      :key="group.id"
                      :label="group.name"
                    >
                      <el-option
                        v-for="item in group.svyLibTopicCategoryList"
                        :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="topicobj.evaluateid"
                    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-row :gutter="10">
              <el-col :span="6"
                ><el-form-item label="题目标题">
@@ -101,14 +126,14 @@
              <el-col :span="6"
                ><el-form-item label="题目类型">
                  <el-select
                    v-model="topicobj.topictype"
                    v-model="topicobj.valueType"
                    size="medium"
                    filterable
                    placeholder="请选择分类"
                  >
                    <el-option
                      class="topicobjaa"
                      v-for="item in xjxsoptions"
                      v-for="item in valuetype"
                      :key="item.value"
                      :label="item.label"
                      :value="item.value"
@@ -231,7 +256,7 @@
                </div>
              </el-form-item>
            </el-row>
            <el-form-item label="通知变量" prop="name">
            <!-- <el-form-item label="通知变量" prop="name">
              <div style="margin-bottom: 5px" v-for="item in variablelist">
                <el-row>
                  <el-col :span="5">
@@ -278,68 +303,65 @@
                  </div>
                </div>
              </el-col></el-row
            >
            > -->
          </div>
          <div class="headline">
            选项设置<span style="margin-left: 30px"
              ><el-button type="primary" round @click="addoption"
                >+新增</el-button
              ></span
            ><span style="margin-left: 30px"
              ><el-button type="success" round @click="drawer = true"
                >+选择指标</el-button
              ></span
          <div v-if="topicobj.valueType == 1">
            <div class="headline">
              选项设置<span style="margin-left: 30px"
                ><el-button type="primary" round @click="addoption"
                  >+新增</el-button
                ></span
              >
            </div>
            <div
              class="topicxq"
              v-for="item in topicobj.svyLibTopicoptions"
              v-if="item.isoperation != 3"
            >
          </div>
          <div
            class="topicxq"
            v-for="item in topicobj.svyLibTopicoptions"
            v-if="item.isoperation != 3"
          >
            <el-row :gutter="10">
              <el-col :span="11"
                ><el-form-item label="选项">
                  <el-input
                    type="text"
                    placeholder="请输入选项"
                    v-model="item.optioncontent"
                    show-word-limit
                  >
                  </el-input> </el-form-item
              ></el-col>
              <el-col :span="11"
                ><el-form-item label="分值">
                  <el-input
                    type="text"
                    placeholder="请输入"
                    v-model="item.score"
                    show-word-limit
                  >
                  </el-input> </el-form-item
              ></el-col>
              <el-col :span="2">
                <el-button
                  type="danger"
                  icon="el-icon-delete"
                  circle
                  @click="deletexuanx(item)"
                ></el-button>
              </el-col>
            </el-row>
              <el-row :gutter="10">
                <el-col :span="11"
                  ><el-form-item label="选项">
                    <el-input
                      type="text"
                      placeholder="请输入选项"
                      v-model="item.optioncontent"
                      show-word-limit
                    >
                    </el-input> </el-form-item
                ></el-col>
                <el-col :span="11"
                  ><el-form-item label="分值">
                    <el-input
                      type="text"
                      placeholder="请输入"
                      v-model="item.score"
                      show-word-limit
                    >
                    </el-input> </el-form-item
                ></el-col>
                <el-col :span="2">
                  <el-button
                    type="danger"
                    icon="el-icon-delete"
                    circle
                    @click="deletexuanx(item)"
                  ></el-button>
                </el-col>
              </el-row>
            <el-row :gutter="10">
              <el-form-item label="选中提示">
                <el-input
                  style="width: 40vw"
                  type="textarea"
                  autosize
                  placeholder="请输入内容"
                  v-model="item.prompt"
                >
                </el-input
              ></el-form-item>
            </el-row>
              <el-row :gutter="10">
                <el-form-item label="选中提示">
                  <el-input
                    style="width: 40vw"
                    type="textarea"
                    autosize
                    placeholder="请输入内容"
                    v-model="item.prompt"
                  >
                  </el-input
                ></el-form-item>
              </el-row>
            </div>
          </div>
        </el-form>
      </el-card>
@@ -409,7 +431,7 @@
                type="text"
                @click="selectlabel(scope.row)"
                ><span class="button-textxg"
                  ><i class="el-icon-circle-plus-outline"></i>添加</span
                  ><i class="el-icon-circle-plus-outline"></i>选择</span
                ></el-button
              >
            </template>
@@ -491,8 +513,13 @@
      illnesslistapi: [],
      illnesslist: [],
      classifylist: [],
      appraiselist: [
        { label: "分数", value: 1 },
        { label: "ABC等级", value: 2 },
        { label: "优良等级", value: 3 },
      ],
      optionstag: [],
      xjxsoptions: [],
      valuetype: [],
      usable: [],
      mode: [], //方式
    };
@@ -505,7 +532,7 @@
    this.mode = store.getters.mode;
    this.languagelist = store.getters.languagelist;
    this.usable = store.getters.usable;
    this.xjxsoptions = store.getters.xjxsoptions;
    this.valuetype = store.getters.askvaluetype;
    this.required = store.getters.required;
  },
@@ -533,6 +560,10 @@
    // 获取数据
    getissueinfo() {
      this.id = this.$route.query.id;
      // 分类
      getissueclassify({}).then((res) => {
        this.classifylist = res.rows;
      });
      if (!this.id) {
        return;
      }
@@ -551,10 +582,6 @@
      });
      getillness({ outid: this.id, type: 4 }).then((res) => {
        this.illnesslist = res.rows;
      });
      // 分类
      getissueclassify({}).then((res) => {
        this.classifylist = res.rows;
      });
    },
    gettargetInfo() {
@@ -635,13 +662,29 @@
    },
    // 选择指标
    selectlabel(row) {
      const labellist = row.targetoptionList;
      labellist.forEach((item) => {
        this.topicobj.svyLibTopicoptions.push({
          optioncontent: item.targetvalue,
          isoperation: 1,
        });
      });
      this.$modal
        .confirm(
          '是否选择标题为"' + row.targetname + '"的指标并替换填充问题信息?'
        )
        .then(() => {
          console.log(row);
          console.log(this.topicobj);
          this.topicobj.topic = row.targetname;
          this.topicobj.valueType = row.valueType;
          this.topicobj.topicContent = row.targetdesc;
          this.topicobj.isavailable = "0";
          this.topicobj.language = "普通话";
          this.topicobj.svyLibTopicoptions = [];
          const labellist = row.targetoptionList;
          labellist.forEach((item) => {
            this.topicobj.svyLibTopicoptions.push({
              optioncontent: item.targetvalue,
              isoperation: 1,
            });
          });
          this.drawer = false;
        })
        .catch(() => {});
    },
    // 标签-----------------