WXL
2024-07-29 6b6cc07fb81f05153fc07995e0a5be5596b5ca4f
测试完成
已删除1个文件
已修改7个文件
403 ■■■■■ 文件已修改
dist.zip 补丁 | 查看 | 原始文档 | blame | 历史
src/components/Regular/index.vue 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/knowledge/questionbank/index.vue 35 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/knowledge/questionbank/particulars/index.vue 30 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/repositoryai/templateku/configurat/index.vue 8 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/repositoryai/verbaltrick/index.vue 42 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/repositoryai/verbaltrick/particulars/index.vue 282 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
vue.config.js 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
dist.zip
Binary files differ
src/components/Regular/index.vue
@@ -156,7 +156,7 @@
            class="upload-demo"
            :action="uploadImgUrl"
            :headers="headers"
            :accept="'image/*,video/*'"
            accept=".jpg,.png,image/*"
            :on-success="handleChange.bind(this, item)"
          >
            <el-button size="small" type="primary">点击上传</el-button>
src/views/knowledge/questionbank/index.vue
@@ -68,28 +68,17 @@
              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-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-form-item label="语言" prop="status">
                <el-select v-model="queryParams.language" placeholder="请选择">
                  <el-option
                    v-for="item in languagelist"
                    :key="item.value"
@@ -98,6 +87,15 @@
                  >
                  </el-option>
                </el-select>
              </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
@@ -472,7 +470,7 @@
      topicVisible: false, //预览弹框
      deletefenl: "高血压", //删除项
      classifyform: {
        categoryname: "",
        name: "",
      }, //类别表单
      // 表格数据
      userList: [],
@@ -658,10 +656,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("请填写完整信息");
      }
src/views/knowledge/questionbank/particulars/index.vue
@@ -91,7 +91,7 @@
                  </el-select> </el-form-item
              ></el-col>
              <el-col :span="8"
                ><el-form-item label="语言(缺)">
                ><el-form-item label="语言">
                  <el-select
                    v-model="topicobj.language"
                    size="medium"
@@ -149,11 +149,9 @@
              <el-col :span="8"
                ><el-form-item label="适用方式">
                  <el-select
                    v-model="suitwaylist"
                    size="medium"
                    filterable
                    multiple
                    placeholder="请选择分类"
                    v-model="topicobj.suitway"
                    disabled
                    placeholder="请选择"
                  >
                    <el-option
                      class="topicobjaa"
@@ -190,11 +188,15 @@
                  class="upload-demo"
                  :action="uploadImgUrl"
                  :headers="headers"
                  :accept="'image/*,video/*'"
                  accept=".jpg,.png,image/*"
                  :on-success="handleChangetg"
                >
                  <el-button size="small" type="primary">点击上传</el-button>
                  <div slot="tip" class="el-upload__tip">
                    只能上传jpg/png类型文件
                  </div>
                </el-upload>
                <div style="margin: 20px">
                  <el-image
                    style="width: 100px; height: 100px"
@@ -387,7 +389,7 @@
                    class="upload-demo"
                    :action="uploadImgUrl"
                    :headers="headers"
                    :accept="'image/*,video/*'"
                    accept=".jpg,.png,image/*"
                    :on-success="handleChange.bind(this, item)"
                  >
                    <el-button size="small" type="primary">点击上传</el-button>
@@ -515,6 +517,7 @@
      topicobj: {
        svyLibScriptOptions: [],
        svyLibScriptTagList: [],
        suitway: "1",
      },
      headers: {
        Authorization: "Bearer " + getToken(),
@@ -629,7 +632,6 @@
        this.dynamicTags = this.topicobj.svyLibScriptTagList.map(
          this.processElement
        );
        this.suitwaylist = this.topicobj.suitway.split(",");
        this.variablelist = JSON.parse(this.topicobj.otherdata)
          ? JSON.parse(this.topicobj.otherdata)
          : this.variablelist;
@@ -663,10 +665,10 @@
        }
      );
      this.topicobj.targetoptions = this.topicobj.svyLibScriptOptions
        .filter((item) => item.isoperation != 3)
        .map((item) => item.optioncontent)
        .join(", ");
      this.topicobj.otherdata = JSON.stringify(this.variablelist);
      this.topicobj.suitway = this.suitwaylist.join(",");
      if (this.id) {
        this.topicobj.isoperation = 2;
        compileissue(this.topicobj).then((res) => {
@@ -915,7 +917,13 @@
    //   this.illnessVisible = false;
    //   this.$modal.msgSuccess("编辑成功");
    // },
    resetQuery() {},
    resetQuery() {
      this.queryParams = {
        pageNum: 1,
        pageSize: 10,
      };
      this.gettargetInfo();
    },
    // 便捷标签
    tsgnameto(row) {
      let inputValueArr = "";
src/views/repositoryai/templateku/configurat/index.vue
@@ -817,6 +817,14 @@
            width="200"
            :show-overflow-tooltip="true"
          />
          <el-table-column
            label="选项内容"
            align="center"
            key="targetoptions"
            prop="targetoptions"
            width="200"
            :show-overflow-tooltip="true"
          />
          <el-table-column
            label="操作"
src/views/repositoryai/verbaltrick/index.vue
@@ -68,48 +68,27 @@
              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-form-item label="问题标题" prop="scriptTopic">
                <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="userName">
              <el-form-item label="关联指标" prop="targetname">
                <el-input
                  v-model="queryParams.userName"
                  v-model="queryParams.targetname"
                  placeholder="请输入"
                  clearable
                  style="width: 200px"
                  @keyup.enter.native="handleQuery"
                />
              </el-form-item>
              <el-form-item label="适用方式" prop="status">
                <el-select v-model="queryParams.suitway" placeholder="请选择">
                  <el-option
                    v-for="item in mode"
                    :key="item.value"
                    :label="item.label"
                    :value="item.value"
                  >
                  </el-option>
                </el-select>
              </el-form-item>
              <el-form-item label="语言" prop="status">
                <el-select v-model="queryParams.status" placeholder="请选择">
                <el-select v-model="queryParams.language" placeholder="请选择">
                  <el-option
                    v-for="item in languagelist"
                    :key="item.value"
@@ -119,8 +98,11 @@
                  </el-option>
                </el-select>
              </el-form-item>
              <el-form-item label="是否可用" prop="status">
                <el-select v-model="queryParams.status" placeholder="请选择">
              <el-form-item label="是否可用" prop="isavailable">
                <el-select
                  v-model="queryParams.isavailable"
                  placeholder="请选择"
                >
                  <el-option
                    v-for="item in qyoptions"
                    :key="item.value"
@@ -189,7 +171,7 @@
                prop="id"
              />
              <el-table-column
                label="问题主题"
                label="问题标题"
                fixed
                align="center"
                key="scriptTopic"
src/views/repositoryai/verbaltrick/particulars/index.vue
@@ -25,7 +25,14 @@
    <div class="leftvlue">
      <!-- 基本信息 -->
      <div v-if="Editprogress == 1">
        <div class="leftvlue-jbxx">基本信息</div>
        <div class="leftvlue-jbxx">
          基本信息
          <span style="margin-left: 30px"
            ><el-button type="success" round @click="gettargetInfo"
              >+选择指标</el-button
            ></span
          >
        </div>
        <el-divider></el-divider>
        <el-form
          ref="form"
@@ -218,8 +225,8 @@
            <el-col :span="6">
              <el-form-item label="适用方式" prop="status">
                <el-select
                  disabled
                  v-model="indexform.suitway"
                  multiple
                  placeholder="请选择"
                >
                  <el-option
@@ -227,28 +234,6 @@
                    :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="region">
                <el-select
                  v-model="indexform.targetid"
                  filterable
                  remote
                  reserve-keyword
                  placeholder="请输入关键词"
                  :remote-method="remoteMethod"
                  @change="targetchange"
                  :loading="loading"
                >
                  <el-option
                    v-for="item in targetlist"
                    :key="item.id"
                    :label="item.targetname"
                    :value="item.id"
                  >
                  </el-option>
                </el-select>
@@ -405,7 +390,14 @@
      </div>
      <!-- 指标设置 -->
      <div v-if="Editprogress == 2">
        <div class="leftvlue-jbxx">指标题目设置</div>
        <div class="leftvlue-jbxx">
          指标题目设置
          <span style="margin-left: 30px"
            ><el-button type="success" round @click="gettargetInfo"
              >+选择指标</el-button
            ></span
          >
        </div>
        <el-divider></el-divider>
        <el-form
          ref="form"
@@ -441,6 +433,15 @@
                  <el-radio :label="1">选项</el-radio>
                  <el-radio :label="2">文本</el-radio>
                  <el-radio :label="3">数值</el-radio>
                </el-radio-group>
              </el-form-item>
              <el-form-item label="题目类型">
                <el-radio-group disabled v-model="indexform.scriptType">
                  <el-radio :label="1">单选</el-radio>
                  <el-radio :label="2">多选</el-radio>
                  <el-radio :label="3">填空</el-radio>
                  <el-radio :label="4">问答</el-radio>
                </el-radio-group>
              </el-form-item>
            </el-col></el-row
@@ -496,6 +497,86 @@
        <el-button @click="Saveproblem()">保存数据</el-button>
      </div>
    </div>
    <el-drawer
      title="选择指标"
      :visible.sync="drawer"
      custom-class="demo-drawer"
      size="50%"
    >
      <div class="preview-left">
        <el-form
          :model="queryParams"
          ref="queryForm"
          size="small"
          :inline="true"
          label-width="98px"
        >
          <el-form-item label="标题" prop="userName">
            <el-input
              v-model="queryParams.targetname"
              placeholder="请输入"
              clearable
              style="width: 200px"
              @keyup.enter.native="gettargetInfo"
            />
          </el-form-item>
          <el-form-item>
            <el-button
              type="primary"
              icon="el-icon-search"
              size="medium"
              @click="gettargetInfo"
              >搜索</el-button
            >
            <el-button icon="el-icon-refresh" size="medium" @click="resetQuery"
              >重置</el-button
            >
          </el-form-item>
        </el-form>
        <el-table v-loading="loading" :data="targetList">
          <el-table-column
            label="标题"
            align="center"
            key="targetname"
            prop="targetname"
            width="100"
          />
          <el-table-column
            label="问题内容"
            align="center"
            key="targetdesc"
            prop="targetdesc"
            width="200"
            :show-overflow-tooltip="true"
          />
          <el-table-column
            label="操作"
            align="center"
            class-name="small-padding fixed-width"
          >
            <template slot-scope="scope">
              <el-button
                size="medium"
                type="text"
                @click="selectlabel(scope.row)"
                ><span class="button-textxg"
                  ><i class="el-icon-circle-plus-outline"></i>选择</span
                ></el-button
              >
            </template>
          </el-table-column>
        </el-table>
        <pagination
          v-show="total > 0"
          :total="total"
          :page.sync="queryParams.pageNum"
          :limit.sync="queryParams.pageSize"
          @pagination="gettargetInfo"
        />
      </div>
    </el-drawer>
  </div>
</template>
@@ -526,7 +607,9 @@
      radioas: "", //填空题答案
      dynamicTags: [],
      dellist: [],
      targetList: [],
      inputVisible: false,
      drawer: false,
      inputValue: "",
      testvalue: "",
      testgovalue: "",
@@ -534,6 +617,7 @@
      indexform: {
        ivrLibaScriptTargetoptionList: [],
        ivrLibaScriptTagList: [],
        suitway: "2",
      },
      mode: [],
      questionclass: [],
@@ -541,13 +625,6 @@
      courtyardlist: [],
      // 总条数
      total: 1,
      targetlist: [
        {
          value: "选项1",
          label: "图文",
        },
      ],
      rules: {},
      rulesa: {},
      optionstag: [],
@@ -572,11 +649,6 @@
      queryParams: {
        pageNum: 1,
        pageSize: 10,
        userName: undefined,
        phonenumber: undefined,
        status: undefined,
        deptId: undefined,
        IDnumber: undefined,
      },
      variabledeawer: false,
    };
@@ -599,8 +671,7 @@
      if (id) {
        getverbaltrick({ id: id }).then((res) => {
          this.indexform = res.data;
          if (this.indexform.suitway)
            this.indexform.suitway = this.indexform.suitway.split(",");
          this.indexform.assortid = parseInt(this.indexform.assortid);
          this.variablelist = JSON.parse(this.indexform.otherdata).length
            ? JSON.parse(this.indexform.otherdata)
@@ -608,18 +679,8 @@
          this.dynamicTags = this.indexform.ivrLibaScriptTagList.map(
            this.processElement
          );
          // this.targetlist = [
          //   {
          //     id: this.indexform.targetid,
          //     targetname: this.indexform.targetname,
          //   },
          // ];
        });
      }
      gettargetInfolist({ pageSize: 100, pageNum: 1 }).then((res) => {
        this.targetlist = res.rows;
      });
      // 树
      getbaltrickclassify({}).then((res) => {
        this.questionclass = res.rows;
@@ -630,9 +691,6 @@
    // 保存详细信息
    Saveproblem() {
      this.indexform.otherdata = JSON.stringify(this.variablelist);
      if (this.indexform.suitway) {
        this.indexform.suitway = this.indexform.suitway.join(",");
      }
      if (this.indexform.id) {
        this.indexform.ivrLibaScriptTargetoptionList =
@@ -647,6 +705,11 @@
        console.log(this.dellist);
        this.indexform.ivrLibaScriptTargetoptionList =
          this.indexform.ivrLibaScriptTargetoptionList.concat(this.dellist);
        this.indexform.targetoptions =
          this.indexform.ivrLibaScriptTargetoptionList
            .filter((item) => item.isope != 3) // 过滤掉 isope 为 3 的项
            .map((item) => item.targetvalue)
            .join(", ");
        compileverbaltrick(this.indexform).then((res) => {
          if (res.code == 200) {
            this.$modal.msgSuccess("修改成功");
@@ -674,43 +737,74 @@
        });
      }
    },
    remoteMethod(query) {
      if (query !== "") {
        this.loading = true;
        setTimeout(() => {
          this.loading = false;
          gettargetInfolist({ targetname: query }).then((res) => {
            this.targetlist = res.rows;
    // targetchange(res) {
    //   console.log(res);
    //   gettargetInfo({ id: res }).then((res) => {
    //     console.log(res.rows[0]);
    //     this.$modal
    //       .confirm('是否添加"' + res.rows[0].targetname + '"指标的选项?')
    //       .then(() => {
    //         this.indexform.valueType = res.rows[0].valueType;
    //         this.indexform.scriptType = res.rows[0].scriptType;
    //         this.indexform.scriptTopic = res.rows[0].targetname;
    //         this.indexform.targetname = res.rows[0].targetname;
    //         this.indexform.targetid = res.rows[0].id;
    //         this.indexform.targetdesc = res.rows[0].targetdesc;
    //         this.indexform.isAvailable = "0";
    //         this.indexform.language = "普通话";
    //         this.indexform.isenable = res.rows[0].isenable;
    //         this.$forceUpdate();
    //         res.rows[0].targetoptionList.forEach((item) => {
    //           item.isoperation = 1;
    //           this.indexform.ivrLibaScriptTargetoptionList.push(item);
    //         });
    //       })
    //       .catch(() => {
    //         this.$modal.msgSuccess("已取消");
    //       });
    //   });
    // },
    // 选择指标
    selectlabel(row) {
      this.$modal
        .confirm(
          '是否选择标题为"' + row.targetname + '"的指标并替换填充问题信息?'
        )
        .then(() => {
          console.log(row);
          this.indexform.valueType = row.valueType;
          this.indexform.scriptType = row.scriptType;
          this.indexform.scriptTopic = row.targetname;
          this.indexform.targetname = row.targetname;
          this.indexform.targetid = row.id;
          this.indexform.targetdesc = row.targetdesc;
          this.indexform.isAvailable = "0";
          this.indexform.language = "普通话";
          this.indexform.isenable = row.isenable;
          const labellist = row.targetoptionList;
          labellist.forEach((item) => {
            item.isoperation = 1;
            this.indexform.ivrLibaScriptTargetoptionList.push(item);
          });
        }, 200);
      } else {
        this.targetlist = [];
      }
          this.drawer = false;
        })
        .catch(() => {});
    },
    targetchange(res) {
      console.log(res);
      gettargetInfo({ id: res }).then((res) => {
        console.log(res.rows[0]);
        this.$modal
          .confirm('是否添加"' + res.rows[0].targetname + '"指标的选项?')
          .then(() => {
            this.indexform.valueType = res.rows[0].valueType;
            this.indexform.scriptTopic = res.rows[0].targetname;
            this.indexform.targetname = res.rows[0].targetname;
            this.indexform.targetdesc = res.rows[0].targetdesc;
            this.indexform.isAvailable = "0";
            this.indexform.language = "普通话";
            this.indexform.isenable = res.rows[0].isenable;
            this.$forceUpdate();
            res.rows[0].targetoptionList.forEach((item) => {
              item.isoperation = 1;
              this.indexform.ivrLibaScriptTargetoptionList.push(item);
            });
          })
          .catch(() => {
            this.$modal.msgSuccess("已取消");
          });
    gettargetInfo() {
      gettargetInfo(this.queryParams).then((res) => {
        console.log(res);
        this.targetList = res.rows;
        this.total = res.total;
        this.drawer = true;
      });
    },
    resetQuery() {
      this.queryParams = {
        pageNum: 1,
        pageSize: 10,
      };
      this.gettargetInfo();
    },
    // 下一步
@@ -1064,6 +1158,22 @@
.tsgnamebj:hover {
  background: #27c449;
}
.preview-left {
  margin: 20px;
  //   margin: 20px;
  padding: 30px;
  background: #ffff;
  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);
  .scriptTopic-dev {
    margin-bottom: 25px;
    font-size: 20px !important;
    .dev-text {
      margin-bottom: 10px;
    }
  }
}
::v-deep .addtopic-input {
  input {
vue.config.js
@@ -35,8 +35,8 @@
    proxy: {
      // detail: https://cli.vuejs.org/config/#devserver-proxy
      [process.env.VUE_APP_BASE_API]: {
        // target: `http://192.168.2.8:8089`,
        target:`http://localhost:8095`,
        target: `http://192.168.1.10:8095`,
        // target:`http://localhost:8095`,
        // target: `http://www.hxsoft.com:8080`,
        changeOrigin: true,
        pathRewrite: {