WXL
2025-01-08 b26c48a6878519fce4068f4b1ee308e11fecd862
src/views/knowledge/questionbank/index.vue
@@ -3,8 +3,8 @@
    <!-- 左侧栏 -->
    <div class="sidecolumn">
      <div class="sidecolumn-top">
        <div class="top-wj">问题类型</div>
        <div class="top-tj" @click="dialogFormVisible = true">+添加</div>
        <div class="top-wj">问题分类</div>
        <div class="top-tj" @click="Newcategory">+添加</div>
      </div>
      <div class="center-ss">
        <el-input
@@ -68,36 +68,32 @@
              v-show="showSearch"
              label-width="98px"
            >
              <el-form-item label="可用院区" prop="status">
                <el-select v-model="queryParams.courtyard" placeholder="请选择">
                  <el-option
                    v-for="item in languagelist"
                    :key="item.value"
                    :label="item.label"
                    :value="item.value"
                  >
                  </el-option>
                </el-select>
              </el-form-item>
              <el-form-item label="问题主题" prop="userName">
                <el-input
                  v-model="queryParams.userName"
                  v-model="queryParams.scriptTopic"
                  placeholder="请输入"
                  clearable
                  style="width: 200px"
                  @keyup.enter.native="handleQuery"
                />
              </el-form-item>
              <el-form-item label="文字" prop="status">
                <el-select v-model="queryParams.status" placeholder="请选择">
                  <el-option
                    v-for="item in languagelist"
                    :key="item.value"
                    :label="item.label"
                    :value="item.value"
                  >
                  </el-option>
                </el-select>
              <el-form-item label="问题内容" prop="userName">
                <el-input
                  v-model="queryParams.scriptContent"
                  placeholder="请输入"
                  clearable
                  style="width: 200px"
                  @keyup.enter.native="handleQuery"
                />
              </el-form-item>
              <el-form-item label="指标名称" prop="targetname">
                <el-input
                  v-model="queryParams.targetname"
                  placeholder="请输入"
                  clearable
                  style="width: 200px"
                  @keyup.enter.native="handleQuery"
                />
              </el-form-item>
              <el-form-item label="是否可用" prop="isavailable">
                <el-select
@@ -139,7 +135,6 @@
                  icon="el-icon-plus"
                  size="medium"
                  @click="compileUpdate"
                  v-hasPermi="['system:user:add']"
                  >新增</el-button
                >
              </el-col>
@@ -152,7 +147,6 @@
                  size="medium"
                  :disabled="multiple"
                  @click="handleDelete"
                  v-hasPermi="['system:user:remove']"
                  >删除</el-button
                >
              </el-col>
@@ -169,30 +163,53 @@
                width="50"
                align="center"
              />
              <el-table-column
              <!-- <el-table-column
                label="序号"
                fixed
                align="center"
                key="id"
                prop="id"
              />
              /> -->
              <el-table-column
                label="题目标题"
                label="问题主题"
                fixed
                align="center"
                key="script"
                prop="script"
                key="scriptTopic"
                prop="scriptTopic"
                width="200"
                :show-overflow-tooltip="true"
              />
              <el-table-column
                label="题目内容"
                label="问题内容"
                align="center"
                key="scriptContent"
                prop="scriptContent"
                width="200"
                :show-overflow-tooltip="true"
              />
              <el-table-column
                label="题型"
                align="center"
                key="scriptType"
                prop="scriptType"
                width="120"
              >
                <template slot-scope="scope">
                  <dict-tag
                    :options="askvaluetype"
                    :value="scope.row.scriptType"
                  />
                </template>
              </el-table-column>
              <el-table-column
                label="指标名称"
                align="center"
                key="targetname"
                prop="targetname"
                width="200"
                :show-overflow-tooltip="true"
              />
              /><el-table-column
                label="适用方式"
@@ -217,7 +234,6 @@
                    size="medium"
                    type="text"
                    @click="illnessUpdate(scope.row)"
                    v-hasPermi="['system:user:edit']"
                    ><span class="button-textxg"
                      ><i class="el-icon-date"></i>详情</span
                    ></el-button
@@ -233,8 +249,8 @@
                :show-overflow-tooltip="true"
              >
                <template slot-scope="scope">
                  <span v-for="item in scope.row.tag.split(',')"
                    >{{ item }}、
                  <span v-for="item in scope.row.svyLibScriptTagList"
                    >{{ item.tagname }}、
                  </span>
                </template>
              </el-table-column>
@@ -273,16 +289,16 @@
                    size="medium"
                    type="text"
                    @click="compileUpdate(scope.row)"
                    v-hasPermi="['system:user:edit']"
                    ><span class="button-bji"
                      ><i class="el-icon-edit"></i>编辑问题</span
                      ><i class="el-icon-edit"></i>编辑</span
                    ></el-button
                  >
                  <el-button
                    size="medium"
                    type="text"
                    @click="handleDelete(scope.row)"
                    v-hasPermi="['system:user:remove']"
                    ><span class="button-textsc"
                      ><i class="el-icon-delete-solid"></i>删除</span
                    ></el-button
@@ -291,7 +307,7 @@
                    size="medium"
                    type="text"
                    @click="topicpreview(scope.row)"
                    v-hasPermi="['system:user:remove']"
                    ><span class="button-text"
                      ><i class="el-icon-view"></i>预览</span
                    ></el-button
@@ -389,13 +405,16 @@
        <el-button type="primary" @click="confirmillness">确 定</el-button>
      </span>
    </el-dialog>
    <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>{{ topicform.scriptContent }}</span>
        </div>
        <div class="dev-xx" v-if="topicform.valueType == 1">
        <div
          class="dev-xx"
          v-if="topicform.scriptType != 3 && topicform.scriptType != 4"
        >
          <el-radio-group v-model="topicform.asrtext">
            <el-radio
              v-for="(topicforms, index) in topicform.svyLibScriptOptions"
@@ -459,9 +478,10 @@
      total: 0,
      namequestionnaire: "",
      haoquestionnaire: "",
      askvaluetype: "",
      idds: "",
      topicform: {
        questionText: "",
        scriptContent: "",
      },
      amendtag: false, //是否修改类别
      dialogFormVisible: false, //修改添加类别弹框
@@ -469,13 +489,13 @@
      topicVisible: false, //预览弹框
      deletefenl: "高血压", //删除项
      classifyform: {
        categoryname: "",
        name: "",
      }, //类别表单
      // 表格数据
      userList: [],
      // 弹出层标题
      tag: "",
      title: "",
      title: "新增类别",
      // 是否显示弹出层
      open: false,
      // 日期范围
@@ -496,6 +516,8 @@
      indexid: null,
      inputValue: "",
      radio: "主分类",
      zufon: true,
      zifon: true,
      inputVisible: false,
      illnessVisible: false, //指标疾病弹框
      deptOptions: [],
@@ -503,7 +525,7 @@
      illnesslistapi: [],
      illnesslist: [],
      defaultProps: {
        children: "svyLibTopicCategoryList",
        children: "svyLibScriptCategoryList",
        label: "name",
      },
      mode: [],
@@ -526,6 +548,7 @@
    this.mode = store.getters.mode;
    this.languagelist = store.getters.languagelist;
    this.qyoptions = store.getters.usable;
    this.askvaluetype = store.getters.askvaluetype;
  },
  methods: {
@@ -543,13 +566,13 @@
    compileUpdate(row) {
      this.$router.push({
        path: "/knowledge/questionbank/particulars/",
        query: { id: row.id },
        query: { id: row.id, categoryid: this.queryParams.categoryid },
      });
    },
    // 疾病-----------------------
    illnessUpdate(row) {
      this.illnessVisible = true;
      this.indexid = row.topicid;
      this.indexid = row.id;
      this.illnesslistapi = [];
      const illnessqueryParams = {
        pageNum: 1,
@@ -559,7 +582,7 @@
        console.log(response);
        this.optionsillness = response.rows;
      });
      getillness({ outid: row.topicid, type: 4 }).then((res) => {
      getillness({ outid: row.id, type: 4 }).then((res) => {
        this.illnesslist = res.rows;
        console.log(res);
      });
@@ -655,10 +678,11 @@
          (obj) => obj.id == this.classifyform.pid
        );
        calssvalue = this.deptOptions[index];
        calssvalue.svyLibTopicCategoryList.push(this.classifyform);
        console.log(calssvalue, "calssvalue");
        calssvalue.svyLibScriptCategoryList.push(this.classifyform);
      } else if (this.radio == "主分类" && this.classifyform.name) {
        this.classifyform.pid = null;
        this.classifyform.svyLibTopicCategoryList = [];
        this.classifyform.svyLibScriptCategoryList = [];
      } else {
        return this.$modal.msgError("请填写完整信息");
      }
@@ -700,11 +724,22 @@
      this.dialogFormVisible = true;
      if (!b.pid) {
        this.radio = "主分类";
        this.title = "修改主分类";
        this.zufon = false;
      } else {
        this.radio = "子分类";
        this.title = "修改子分类";
        this.zifon = false;
      }
      this.classifyform = b;
      this.dialogFormVisible = true;
    },
    Newcategory(){
      this.classifyform= {}, //类别表单
      this.radio = "主分类";
     this.dialogFormVisible = true
     this.zifon = true;
      this.zufon = true;
    },
    // 筛选节点
@@ -720,7 +755,7 @@
    // 表单重置
    reset() {
      this.form = {
        topicid: undefined,
        id: undefined,
        deptId: undefined,
        userName: undefined,
        nickName: undefined,
@@ -750,17 +785,11 @@
    },
    // 多选框选中数据
    handleSelectionChange(selection) {
      this.ids = selection.map((item) => item.topicid);
      this.ids = selection.map((item) => item.id);
      this.single = selection.length != 1;
      this.multiple = !selection.length;
    },
    /** 新增按钮操作 */
    handleAdd() {
      this.$router.push({
        path: "/knowledge/verbaltrick/particulars/",
        query: { id: "" },
      });
    },
    // 修改分类弹框
    popoveramend(tagcategoryid) {
      this.idds = tagcategoryid;
@@ -770,7 +799,8 @@
    /** 删除按钮操作 */
    handleDelete(row) {
      const topicids = row.topicid || this.ids;
      console.log(this.ids);
      const topicids = row.id || this.ids;
      this.$modal
        .confirm('是否确认删除用户编号为"' + topicids + '"的数据项?')
        .then(function () {