11
WXL
17 小时以前 72dc0bc085496aeb2c3936a4139546fa3cf4e1d1
11
已修改3个文件
90 ■■■■■ 文件已修改
src/views/project/components/fundsummary/index.vue 补丁 | 查看 | 原始文档 | blame | 历史
src/views/project/travelexpenseapply/travelexpensedetail/index.vue 88 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
vue.config.js 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/project/components/fundsummary/index.vue
src/views/project/travelexpenseapply/travelexpensedetail/index.vue
@@ -58,14 +58,26 @@
          </el-col>
          <el-col :span="5">
            <el-form-item label="报销类别" prop="costtype">
              <el-select v-model="form.costtype" value-key="value" placeholder="请选择报销人员类别" @change="getTravelers">
                <el-option v-for="dict in dict.type.sys_travelexpensebelong" :key="dict.value" :label="dict.label"
                  :value="dict.value"></el-option>
              <el-select
                v-model="form.costtype"
                value-key="value"
                placeholder="请选择报销人员类别"
              >
                <el-option
                  v-for="dict in dict.type.sys_travelexpensebelong"
                  :key="dict.value"
                  :label="dict.label"
                  :value="dict.value"
                ></el-option>
              </el-select>
            </el-form-item>
          </el-col>
          <el-col :span="5">
            <el-form-item label="捐献者" prop="infoid" v-show="form.costtype==4">
            <el-form-item
              label="捐献者"
              prop="infoid"
              v-show="form.costtype == 4"
            >
              <el-select
                v-model="form.infoid"
                @change="selectbaseinfo"
@@ -1094,15 +1106,25 @@
              class="pdfimgmin"
            >
              <!-- <img :src="pdfimg" /> -->
              <!-- <el-image
                style="width: 95%; height: 90%"
                :src="pdfimg"
                :preview-src-list="pdfimgsrcList" -->
              >
              <el-image
                  ref="imagePreview"
                style="width: 95%; height: 90%"
                :src="pdfimg"
                :preview-src-list="pdfimgsrcList"
                  :initial-index="initialIndex"
                  @error="handleImageError"
                  @load="handleImageLoad"
              >
                </el-image>
                <!-- <div slot="error" class="image-slot">
              <i class="el-icon-picture-outline"></i>
            </div> -->
              </el-image>
              <!-- </el-image> -->
            </div>
            <div v-else class="pdfimgmins">{{ hintitle }}</div>
          </div>
@@ -1431,6 +1453,7 @@
      invoicefileListto: [],
      invoicepdfimg: "",
      invoicepdfimgsrcList: [],
      initialIndex: 0, // 初始索引
      //人员类别
      persontype: null,
      //到达地
@@ -1492,7 +1515,14 @@
  mounted() {
    window.addEventListener("beforeunload", e => this.beforeunloadHandler(e));
    this.$nextTick(() => {
      const viewer = this.$refs.imagePreview.$el.querySelector(
        ".el-image-viewer"
      );
      if (viewer) {
        viewer.addEventListener("click", this.handlePreviewClick);
      }
    });
    //选择业务类型:1、新增;2、修改;3、查看
    let curId = this.$route.query.id;
    let pos = this.$route.query.pos;
@@ -1515,7 +1545,15 @@
  destroyed() {
    window.removeEventListener("beforeunload", e => this.beforeunloadFn(e));
  }, //生命周期 - 销毁完成
  beforeDestroy() {
    // 移除事件监听
    const viewer = this.$refs.imagePreview.$el.querySelector(
      ".el-image-viewer"
    );
    if (viewer) {
      viewer.removeEventListener("click", this.handlePreviewClick);
    }
  },
  methods: {
    // 浏览器页面关闭或刷新提示
    beforeunloadHandler(e) {
@@ -1534,7 +1572,43 @@
        return "关闭提示";
      }
    },
    handlePreviewClick(e) {
      const viewer = this.$refs.imagePreview.$el.querySelector(
        ".el-image-viewer"
      );
      if (!viewer) return;
      // 判断是否点击了“下一张”按钮(右侧箭头)
      const isNextBtn = e.target.closest(".el-image-viewer__next");
      if (isNextBtn) {
        const currentIndex = this.getCurrentPreviewIndex();
        if (currentIndex === this.pdfimgsrcList.length - 1) {
          e.preventDefault(); // 阻止默认切换行为
          this.$message.warning("已经是最后一张了!");
          return;
        }
      }
    },
    // 获取当前预览的图片索引
    getCurrentPreviewIndex() {
      const viewer = this.$refs.imagePreview.$el.querySelector(
        ".el-image-viewer"
      );
      if (viewer) {
        const img = viewer.querySelector(".el-image-viewer__img");
        if (img) {
          const currentSrc = img.getAttribute("src");
          return this.pdfimgsrcList.indexOf(currentSrc);
        }
      }
      return 0;
    },
    handleImageError() {
      console.error("图片加载失败");
    },
    handleImageLoad() {
      console.log("图片加载成功");
    },
    handleUploadError() {},
    // 获取请求头
    Getnetworkheader() {
vue.config.js
@@ -25,7 +25,7 @@
  lintOnSave: process.env.NODE_ENV === 'development',
  // 如果你不需要生产环境的 source map,可以将其设置为 false 以加速生产环境构建。
  productionSourceMap: false,
  // webpack-dev-server 相关配置
  // webpack-dev-server 相关配置w
  devServer: {
    host: '0.0.0.0',
    port: port,