WXL
5 天以前 a398c62a2ac6ef819f162dc3e0923bed144905dc
src/views/knowledge/questionbank/particulars/index.vue
@@ -40,6 +40,24 @@
            <el-divider></el-divider>
            <div style="margin-left: 8%">
              <el-form-item label="问题内容" prop="scriptContent">
                <el-input
                  style="width: 40vw"
                  type="textarea"
                  id="scriptContent"
                  v-model="topicobj.scriptContent"
                  @focus="handleInput('scriptContent')"
                  placeholder="请输入问题内容"
                ></el-input>
              </el-form-item>
              <el-form-item label="问题说明" prop="targetname">
                <el-input
                  style="width: 40vw"
                  type="textarea"
                  v-model="topicobj.scriptDesc"
                  placeholder="请输入说明"
                ></el-input>
              </el-form-item>
              <el-row :gutter="10">
                <el-col :span="8">
                  <el-form-item label="问题分类" prop="categoryid">
@@ -82,7 +100,7 @@
                  </el-form-item>
                </el-col>
                <el-col :span="8" v-if="topicobj.scoretype == 1">
                  <el-form-item label="题目得分" prop="score">
                  <el-form-item label="问题得分" prop="score">
                    <el-input
                      v-model="topicobj.score"
                      placeholder="请输入分数"
@@ -93,7 +111,7 @@
              <el-row :gutter="10">
                <el-col :span="8"
                  ><el-form-item label="题目标题" prop="scriptTopic">
                  ><el-form-item label="问题标题" prop="scriptTopic">
                    <el-input
                      v-model="topicobj.scriptTopic"
                      placeholder="请输入标题"
@@ -111,41 +129,23 @@
                    </el-radio-group>
                  </el-form-item></el-col
                >
                <!-- <el-col :span="8">
                  <el-form-item label="是否必填" prop="ismandatory">
                    <el-radio-group v-model="topicobj.ismandatory">
                <el-col :span="8"
                  ><el-form-item label="是否预约" prop="reservation">
                    <el-radio-group v-model="topicobj.reservation">
                      <el-radio
                      @change="$forceUpdate()"
                        v-for="(item, index) in required"
                        v-for="(item, index) in reservations"
                        :label="item.value"
                        >{{ item.label }}</el-radio
                      >
                    </el-radio-group>
                  </el-form-item>
                </el-col> -->
                  </el-form-item></el-col
                >
              </el-row>
              <el-row :gutter="10">
                <el-col :span="8">
                  <el-form-item label="语言" prop="language">
                    <el-select
                      v-model="topicobj.language"
                      size="medium"
                      filterable
                      placeholder="请选择分类"
                    >
                      <el-option
                        class="topicobjaa"
                        v-for="item in languagelist"
                        :key="item.value"
                        :label="item.label"
                        :value="item.value"
                      >
                      </el-option>
                    </el-select>
                  </el-form-item>
                </el-col>
                <el-col :span="8"
                  ><el-form-item label="题目类型" prop="scriptType">
                  ><el-form-item label="问题类型" prop="scriptType">
                    <el-select
                      v-model="topicobj.scriptType"
                      @change="changefn"
@@ -179,83 +179,28 @@
                      >
                      </el-option> </el-select></el-form-item
                ></el-col>
              </el-row>
              <el-form-item label="题目内容" prop="scriptContent">
                <el-input
                  style="width: 40vw"
                  type="textarea"
                  id="scriptContent"
                  v-model="topicobj.scriptContent"
                  @focus="handleInput('scriptContent')"
                  placeholder="请输入题目内容"
                ></el-input>
              </el-form-item>
              <!-- <el-form-item
              label=""
              prop="scriptContent"
              v-if="topicobj.scriptType == 3"
            >
              <div style="display: flex; margin-bottom: 10px">
                <div class="tsgnames" @click="tsgnametos">插入填空标记</div>
              </div>
            </el-form-item> -->
              <!-- <el-row>
              <el-col :span="20">
                <el-form-item
                  label="填空信息"
                  v-if="
                    topicobj.scriptType == 3 &&
                    topicobj.svyLibScriptOptions.length
                  "
                >
                  <el-card class="box-card" style="width: 200%">
                    <div
                      v-for="item in topicobj.svyLibScriptOptions"
                      v-if="item.isoperation != 3"
                      style="margin-bottom: 10px"
                <el-col :span="8">
                  <el-form-item label="语言" prop="language">
                    <el-select
                      v-model="topicobj.language"
                      size="medium"
                      filterable
                      placeholder="请选择分类"
                    >
                      <el-input
                        type="text"
                        placeholder="填入内容信息"
                        v-model="item.aaa"
                      <el-option
                        class="topicobjaa"
                        v-for="item in languagelist"
                        :key="item.value"
                        :label="item.label"
                        :value="item.value"
                      >
                        <el-button
                          slot="append"
                          @click="deletexuanx(item)"
                          type="danger"
                          icon="el-icon-delete"
                          circle
                        ></el-button>
                        <span slot="prepend">{{
                          "(" + item.orderno + ")"
                        }}</span>
                      </el-input>
                    </div>
                  </el-card>
                </el-form-item>
              </el-col>
            </el-row> -->
              <el-form-item label="题目说明" prop="targetname">
                <el-input
                  style="width: 40vw"
                  type="textarea"
                  v-model="topicobj.scriptDesc"
                  placeholder="请输入说明"
                ></el-input>
              </el-form-item>
                      </el-option>
                    </el-select>
                  </el-form-item>
                </el-col>
              </el-row>
              <!-- <el-form-item label="选中指标:">
                <span style="margin-left: 30px"
                  ><el-tag type="success" effect="dark">{{
                    topicobj.targetname ? topicobj.targetname : "未选择"
                  }}</el-tag></span
                >
                <span style="margin-left: 30px"
                  ><el-button type="success" round @click="gettargetInfo"
                    >+选择指标</el-button
                  ></span
                >
              </el-form-item> -->
            </div>
            <div class="headline">关联信息配置</div>
            <el-divider></el-divider>
@@ -325,7 +270,7 @@
                    <el-image
                      style="width: 100px; height: 100px"
                      :src="topicobj.picturePath"
                      :preview-src-list="[...topicobj.picturePath]"
                      :preview-src-list="topicobj.picturePath ? [topicobj.picturePath] : []"
                    >
                    </el-image>
                  </div>
@@ -337,7 +282,7 @@
      </div>
      <div v-if="Editprogress == 2">
        <el-card class="box-card">
          <el-form :inline="true" :model="topicobj" class="demo-form-inline">
          <el-form :inline="true" ref="topicobj" :model="topicobj" class="demo-form-inline">
            <div class="headline">
              指标设置详情
              <span v-if="topicobj.targetname" style="margin-left: 30px"
@@ -383,7 +328,7 @@
              <el-row>
                <el-col :span="10">
                  <el-form-item label="值类型">
                  <el-form-item label="结果类型">
                    <el-radio-group
                      :disabled="true"
                      v-model="topicobj.valueType"
@@ -395,7 +340,7 @@
                  </el-form-item>
                </el-col>
                <el-col :span="12">
                  <el-form-item label="题目类型">
                  <el-form-item label="问题题型">
                    <el-radio-group
                      :disabled="true"
                      v-model="topicobj.scriptType"
@@ -479,7 +424,7 @@
                    </el-col>
                  </el-row>
                  <el-row :gutter="10">
                    <el-form-item label="预警提醒">
                    <el-form-item label="异常提醒">
                      <el-radio-group v-model="item.isabnormal">
                        <el-radio :label="1">是</el-radio>
                        <el-radio :label="0">否</el-radio>
@@ -515,7 +460,7 @@
                        <el-image
                          style="width: 100px; height: 100px"
                          :src="item.picturePath"
                          :preview-src-list="[...item.picturePath]"
                          :preview-src-list="item.picturePath ? [item.picturePath] : []"
                        >
                        </el-image>
                      </div>
@@ -666,7 +611,7 @@
        />
      </div>
    </el-drawer>
    <el-dialog title="题目预览" :visible.sync="topicVisible" width="50%">
    <el-dialog title="问题预览" :visible.sync="topicVisible" width="50%">
      <div class="preview-left">
        <div class="dev-text">
          <span>{{ topicobj.scriptContent }}</span>
@@ -792,6 +737,10 @@
      optionstag: [],
      valuetype: [],
      usable: [],
      reservations: [
         { label: "预约", value: "2" },
        { label: "非预约", value: "1" },
      ],
      mode: [], //方式
      // 表单校验
      rules: {
@@ -808,19 +757,19 @@
          { required: true, message: "可用状态不能为空", trigger: "blur" },
        ],
        scriptTopic: [
          { required: true, message: "题目标题不能为空", trigger: "blur" },
          { required: true, message: "问题标题不能为空", trigger: "blur" },
        ],
        ismandatory: [
          { required: true, message: "是否必填不能为空", trigger: "blur" },
        ],
        scriptType: [
          { required: true, message: "题目类型不能为空", trigger: "blur" },
          { required: true, message: "问题类型不能为空", trigger: "blur" },
        ],
        suitway: [
          { required: true, message: "适用方式不能为空", trigger: "blur" },
        ],
        scriptContent: [
          { required: true, message: "题目内容不能为空", trigger: "blur" },
          { required: true, message: "问题内容不能为空", trigger: "blur" },
        ],
      },
    };
@@ -884,6 +833,8 @@
        this.dynamicTags = this.topicobj.svyLibScriptTagList.map(
          this.processElement
        );
        console.log(this.dynamicTags,'this.dynamicTags');
        this.scriptTypels = this.topicobj.scriptType;
        this.variablelist = JSON.parse(this.topicobj.otherdata)
          ? JSON.parse(this.topicobj.otherdata)
@@ -979,7 +930,7 @@
      let scorearr = this.topicobj.svyLibScriptOptions;
      let isValid = scorearr.every((score, index) => {
        if (this.topicobj.scriptType == 1) {
          if (score.score) {
          if (score.score||score.score==0) {
            if (
              Number(score.score) < 0 ||
              Number(score.score) > Number(this.topicobj.score)
@@ -1089,6 +1040,7 @@
          this.topicobj.scriptType = row.scriptType;
          this.topicobj.scriptContent = row.targetdesc;
          this.topicobj.targetid = row.id;
          this.topicobj.prompt = row.prompt;
          this.topicobj.targetname = row.targetname;
          this.topicobj.svyLibScriptOptions = [];
          const labellist = row.targetoptionList;
@@ -1112,6 +1064,8 @@
      };
      listtag(tagqueryParams).then((response) => {
        this.optionstag = response.rows;
        console.log(this.optionstag,'optionstag');
      });
    },
    handleClosetag(tag) {