WXL
2024-09-09 9ff0d92f9e7a58c405ef64e028cc7baf90d5f378
src/views/knowledge/education/compilequer/index.vue
@@ -142,6 +142,7 @@
                @change="handleInputConfirm"
                filterable
                remote
                allow-create
                reserve-keyword
                default-first-option
                :remote-method="remoteMethodtag"
@@ -175,22 +176,15 @@
            ></el-col>
            <el-col :span="9">
              <el-form-item label="可用状态" prop="region">
                <el-select
                  v-model="ruleForm.isavailable"
                  size="medium"
                  filterable
                  placeholder="请选择分类"
                >
                  <el-option
                    class="ruleFormaa"
                    v-for="item in usable"
                    :key="item.value"
                    :label="item.label"
                    :value="item.value"
                <el-radio-group v-model="ruleForm.isAvailable">
                  <el-radio
                    v-for="(item, index) in usable"
                    :label="item.value"
                    >{{ item.label }}</el-radio
                  >
                  </el-option>
                </el-select> </el-form-item
            ></el-col>
                </el-radio-group>
              </el-form-item></el-col
            >
          </el-row>
          <el-form-item label="宣教方式" prop="region">
            <el-select
@@ -414,13 +408,14 @@
];
export default {
  name: "aEducationinfo",
  components: { OptionalForm },
  data() {
    return {
      headers: {
        Authorization: "Bearer " + getToken(),
      },
      uploadImgUrl: process.env.VUE_APP_BASE_API + "/common/upload",
      uploadImgUrl: process.env.VUE_APP_BASE_API + "/common/uploadSort",
      uploadImgUrlword: process.env.VUE_APP_BASE_API + "/common/uploadShow",
      uploadUrlPath: "没有文件上传",
      quillUpdateImg: false,
@@ -548,6 +543,13 @@
      },
    };
  },
  activated() {
    if (this.id != this.$route.query.id) {
      this.gettabList();
      this.getList();
      this.illnessUpdate();
    }
  },
  created() {
    this.gettabList();
@@ -583,7 +585,7 @@
          this.dynamicTags = res.data[0].heLibraryTagList.map(
            this.processElement
          );
          this.Getmissioncontent(this.ruleForm.richText);
          this.Getmissioncontent(this.ruleForm.htmlRichText);
          if (this.ruleForm.deptNames) {
            this.tempDetpRelevanceslist = JSON.parse(this.ruleForm.deptNames);
          }
@@ -596,7 +598,7 @@
        });
      }
      // 宣教分类
      getheLibraryAssort({ hetype: 2 }).then((res) => {
      getheLibraryAssort({}).then((res) => {
        this.sortlist = res.rows;
        console.log(this.sortlist);
      });
@@ -615,18 +617,21 @@
      this.ruleForm.campus = this.ruleForm.campus.join(",");
      this.ruleForm.labelInfo = tgs.length != 0 ? tgs.join(", ") : "";
      this.ruleForm.otherdata = JSON.stringify(this.variablelist);
      this.ruleForm.hetype = 2;
      this.ruleForm.hetype = 1;
      console.log(22);
      this.ruleForm.suitway =
        this.ruleForm.suitway.length != 0
          ? this.ruleForm.suitway.join(",")
          : "";
      addrichText({
        content: this.content,
        fileName: this.fileName ? this.fileName : "测试.html",
        fileName: this.generateRandomHtmlFilename(),
      }).then((res) => {
        this.ruleForm.richText = res.msg;
        this.ruleForm.htmlRichText = this.replaceIpAndPort(res.msg);
        this.ruleForm.htmlRichText = this.removePathSegment(this.ruleForm.htmlRichText,'prod-api');
        console.log(this.ruleForm.htmlRichText,'this.ruleForm.htmlRichText');
        if (this.id) {
          this.ruleForm.isoperation = 2;
          compilelibrary(this.ruleForm).then((res) => {
@@ -644,6 +649,29 @@
        }
      });
    },
    replaceIpAndPort(path) {
      // 正则表达式匹配IP地址和端口
      const ipPortRegex = /(\b(?:\d{1,3}\.){3}\d{1,3}(?::\d+)?)/;
      // 替换为指定的IP地址和端口
      return path.replace(ipPortRegex, "192.168.191.181:8095");
    },
    removePathSegment(url, segment) {
    // 使用正则表达式全局匹配并替换掉指定的路径段
    return url.replace(new RegExp('/' + segment + '/?', 'g'), '/');
},
    generateRandomHtmlFilename() {
    // 生成一个0到1之间的随机数,并将其转换为字符串
    let randomNumber = Math.random().toString();
    // 移除前面的0和小数点
    randomNumber = randomNumber.substring(6);
    // 确保生成的随机数是一定长度的,例如8位
    while (randomNumber.length < 8) {
        randomNumber = '0' + randomNumber;
    }
    // 拼接上.html后缀
    return randomNumber + '.html';
},
    // 保存疾病
    confirmillness(guid) {
      this.illnesslist.forEach((item, index) => {
@@ -826,7 +854,7 @@
    // --------------------------
    // 预览模版
    // 预览模板
    PreviewTemplate() {
      this.drawer = true;
    },
@@ -847,12 +875,12 @@
    // 上传图片成功
    uploadEditorSuccess(res, file) {
      console.log("上传成功");
      // this.$emit('upload',res, file)
      console.log(res, file);
      //拼接出上传的图片在服务器的完整地址
      let imgUrl = res.url;
      imgUrl=this.replaceIpAndPort(imgUrl)
      let type = imgUrl.substring(imgUrl.lastIndexOf(".") + 1);
      console.log(type);
      this.fileName = this.getFileNameFromPath(res.url);
      // 获取富文本组件实例
      let quill = this.$refs.customQuillEditor.quill;
      // 获取光标所在位置
@@ -924,7 +952,8 @@
          console.log(response.data, "数据"); // 输出获取到的文件内容
          this.content = response.data;
          this.texturl = res.url;
          this.fileName = this.getFileNameFromPath(res.url);
          this.fileName = this.getFileNameFromPath(response.url);
          console.log(this.fileName, "this.fileName");
        })
        .catch((error) => {
          console.error("Failed to fetch file:", error);
@@ -936,7 +965,8 @@
        .then((response) => {
          console.log(response.data, "数据"); // 输出获取到的文件内容
          this.content = response.data;
          this.fileName = this.getFileNameFromPath(res.url);
          this.fileName = this.getFileNameFromPath(response.url);
          console.log(this.fileName, "this.fileName");
        })
        .catch((error) => {
          console.error("Failed to fetch file:", error);