| | |
| | | </el-col> |
| | | </el-row> |
| | | <el-row> |
| | | <el-col :span="15"> |
| | | <el-col :span="10"> |
| | | <el-form-item label="出差事由" prop="reason"> |
| | | <el-input v-model="form.reason" placeholder="出差事由" /> |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :span="5"> |
| | | <el-form-item label="捐献者" prop="infoid"> |
| | | <el-form-item label="报销类别" prop="costtype"> |
| | | <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-select |
| | | v-model="form.infoid" |
| | | @change="selectbaseinfo" |
| | | clearable |
| | | filterable |
| | | placeholder="请选择捐献者" |
| | | > |
| | |
| | | </el-row> |
| | | <el-row style="margin-top: 10px"> |
| | | <el-col :span="5"> |
| | | <el-form-item label="报销金额" prop="amountrequested"> |
| | | <el-input |
| | | :disabled="true" |
| | | v-model="form.amountrequested" |
| | | placeholder="报销合计金额" |
| | | /> |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :span="7"> |
| | | <el-form-item label="大写金额" prop="bigstrmoney"> |
| | | <el-input |
| | | :disabled="true" |
| | | v-model="form.bigstrmoney" |
| | | placeholder="报销大写金额" |
| | | /> |
| | | </el-form-item> </el-col |
| | | ><el-col :span="4"> |
| | | <el-form-item label="审核状态" prop="flowlevel"> |
| | | <el-select |
| | | v-model="form.recordstatus" |
| | |
| | | </el-select> |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :span="5"> |
| | | <el-form-item label="报销金额" prop="amountrequested"> |
| | | <el-input |
| | | :disabled="true" |
| | | v-model="form.amountrequested" |
| | | placeholder="报销合计金额" |
| | | /> |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :span="8"> |
| | | <el-form-item label="大写金额" prop="bigstrmoney"> |
| | | <el-input |
| | | :disabled="true" |
| | | v-model="form.bigstrmoney" |
| | | placeholder="报销大写金额" |
| | | /> |
| | | </el-form-item> |
| | | </el-col> |
| | | </el-row> |
| | | <!-- |
| | | <el-row> |
| | | <el-col :span="15"> |
| | | <el-form-item label="出差事由" prop="reason"> |
| | | <el-input v-model="form.reason" placeholder="出差事由" /> |
| | | </el-form-item> |
| | | </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> |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :span="5"> |
| | |
| | | class="pdfimgmin" |
| | | > |
| | | <!-- <img :src="pdfimg" /> --> |
| | | <el-image |
| | | <!-- <el-image |
| | | style="width: 95%; height: 90%" |
| | | :src="pdfimg" |
| | | :preview-src-list="pdfimgsrcList" |
| | | :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> |
| | |
| | | ], |
| | | deptmentname: [ |
| | | { required: true, message: "请输入所属业务组", trigger: "blur" } |
| | | ], |
| | | costtype: [ |
| | | { required: true, message: "请输入报销类别", trigger: "blur" } |
| | | ] |
| | | }, |
| | | //费用申请单form |
| | |
| | | invoicefileListto: [], |
| | | invoicepdfimg: "", |
| | | invoicepdfimgsrcList: [], |
| | | initialIndex: 0, // 初始索引 |
| | | //人员类别 |
| | | persontype: null, |
| | | //到达地 |
| | |
| | | |
| | | 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; |
| | |
| | | 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) { |
| | |
| | | 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() { |
| | |
| | | this.$modal.loading("正在提交审核,请稍候!"); |
| | | |
| | | checkfund(checkfundobj).then(res => { |
| | | this.$modal.closeLoading(); |
| | | this.$modal.msgSuccess("提交审核成功!"); |
| | | // 关闭窗口 |
| | | this.$store.dispatch("tagsView/delView", this.$route); |
| | | this.$router.go(-1); |
| | | if (res.code == 200) { |
| | | this.$modal.closeLoading(); |
| | | this.$modal.msgSuccess("提交审核成功!"); |
| | | // 关闭窗口 |
| | | this.$store.dispatch("tagsView/delView", this.$route); |
| | | this.$router.go(-1); |
| | | } else { |
| | | this.$modal.closeLoading(); |
| | | if (res.msg) { |
| | | this.$modal.msgError("操作失误"); |
| | | } else { |
| | | this.$modal.msgError(res.msg); |
| | | } |
| | | } |
| | | }); |
| | | }, |
| | | |
| | |
| | | } |
| | | |
| | | if (this.form.id != null) { |
| | | console.log(this.form); |
| | | updateReimbursement(this.form); |
| | | // .then(res => { |
| | | //保存明细 |
| | |
| | | const rbDetails = [...this.rbDetails]; |
| | | const rbPayees = [...this.rbPayees]; |
| | | if (this.form.id != null) { |
| | | console.log(this.form); |
| | | updateReimbursement(this.form); |
| | | // .then(res => { |
| | | //保存明细 |