|  |  |  | 
|---|
|  |  |  | <!--  --> | 
|---|
|  |  |  | <template> | 
|---|
|  |  |  | <div class="app-container"> | 
|---|
|  |  |  | <el-form | 
|---|
|  |  |  | :model="queryParams" | 
|---|
|  |  |  | ref="queryForm" | 
|---|
|  |  |  | :inline="true" | 
|---|
|  |  |  | label-width="70px" | 
|---|
|  |  |  | > | 
|---|
|  |  |  | <el-row align="left"> | 
|---|
|  |  |  | <el-col :span="6"> | 
|---|
|  |  |  | <el-form-item label="姓名" prop="name"> | 
|---|
|  |  |  | <el-input | 
|---|
|  |  |  | v-model="queryParams.name" | 
|---|
|  |  |  | placeholder="请输入姓名" | 
|---|
|  |  |  | clearable | 
|---|
|  |  |  | size="small" | 
|---|
|  |  |  | @keyup.enter.native="handleQuery" | 
|---|
|  |  |  | /> | 
|---|
|  |  |  | </el-form-item> | 
|---|
|  |  |  | </el-col> | 
|---|
|  |  |  | <el-col :span="6"> | 
|---|
|  |  |  | <el-form-item label="捐献进度" prop="recordstate"> | 
|---|
|  |  |  | <el-select | 
|---|
|  |  |  | v-model="queryParams.recordstate" | 
|---|
|  |  |  | placeholder="请选择记录状态" | 
|---|
|  |  |  | clearable | 
|---|
|  |  |  | size="small" | 
|---|
|  |  |  | > | 
|---|
|  |  |  | <el-option | 
|---|
|  |  |  | v-for="dict in dict.type.sys_DonationStatus" | 
|---|
|  |  |  | :key="dict.value" | 
|---|
|  |  |  | :label="dict.label" | 
|---|
|  |  |  | :value="dict.value" | 
|---|
|  |  |  | /> | 
|---|
|  |  |  | </el-select> | 
|---|
|  |  |  | </el-form-item> | 
|---|
|  |  |  | </el-col> | 
|---|
|  |  |  | <el-col :span="6"> | 
|---|
|  |  |  | <el-form-item label="捐献者" prop="name"> | 
|---|
|  |  |  | <el-input | 
|---|
|  |  |  | v-model="queryParams.donorname" | 
|---|
|  |  |  | placeholder="请输入捐献者姓名" | 
|---|
|  |  |  | clearable | 
|---|
|  |  |  | size="small" | 
|---|
|  |  |  | @keyup.enter.native="handleQuery" | 
|---|
|  |  |  | /> | 
|---|
|  |  |  | </el-form-item> | 
|---|
|  |  |  | </el-col> | 
|---|
|  |  |  | <el-col :span="6"> | 
|---|
|  |  |  | <el-button | 
|---|
|  |  |  | type="primary" | 
|---|
|  |  |  | icon="el-icon-search" | 
|---|
|  |  |  | size="mini" | 
|---|
|  |  |  | @click="handleQuery" | 
|---|
|  |  |  | >搜索</el-button | 
|---|
|  |  |  | > | 
|---|
|  |  |  | <el-button icon="el-icon-refresh" size="mini" @click="resetQuery" | 
|---|
|  |  |  | >重置</el-button | 
|---|
|  |  |  | > | 
|---|
|  |  |  | </el-col> | 
|---|
|  |  |  | </el-row> | 
|---|
|  |  |  | </el-form> | 
|---|
|  |  |  | <el-row> | 
|---|
|  |  |  | <el-col :span="6"> | 
|---|
|  |  |  | <el-card shadow="never"> | 
|---|
|  |  |  | 
|---|
|  |  |  | </el-row> | 
|---|
|  |  |  | </el-col> | 
|---|
|  |  |  | </el-row> | 
|---|
|  |  |  | <div> | 
|---|
|  |  |  | <el-form | 
|---|
|  |  |  | :model="queryParams" | 
|---|
|  |  |  | ref="queryForm" | 
|---|
|  |  |  | :inline="true" | 
|---|
|  |  |  | label-width="70px" | 
|---|
|  |  |  | > | 
|---|
|  |  |  | <el-form-item label="姓名" prop="name"> | 
|---|
|  |  |  | <el-input | 
|---|
|  |  |  | v-model="queryParams.donorname" | 
|---|
|  |  |  | placeholder="请输入姓名" | 
|---|
|  |  |  | clearable | 
|---|
|  |  |  | size="small" | 
|---|
|  |  |  | @keyup.enter.native="handleQuery" | 
|---|
|  |  |  | /> | 
|---|
|  |  |  | </el-form-item> | 
|---|
|  |  |  | <el-form-item label="捐献进度" prop="recordstate"> | 
|---|
|  |  |  | <el-select | 
|---|
|  |  |  | v-model="queryParams.recordstate" | 
|---|
|  |  |  | placeholder="请选择记录状态" | 
|---|
|  |  |  | clearable | 
|---|
|  |  |  | size="small" | 
|---|
|  |  |  | > | 
|---|
|  |  |  | <el-option | 
|---|
|  |  |  | v-for="dict in dict.type.sys_DonationStatus" | 
|---|
|  |  |  | :key="dict.value" | 
|---|
|  |  |  | :label="dict.label" | 
|---|
|  |  |  | :value="dict.value" | 
|---|
|  |  |  | /> | 
|---|
|  |  |  | </el-select> | 
|---|
|  |  |  | </el-form-item> | 
|---|
|  |  |  | <div style="float: right; margin-bottom: 10px;"> | 
|---|
|  |  |  | <el-button | 
|---|
|  |  |  | type="primary" | 
|---|
|  |  |  | icon="el-icon-search" | 
|---|
|  |  |  | size="mini" | 
|---|
|  |  |  | @click="handleQuery" | 
|---|
|  |  |  | >搜索</el-button | 
|---|
|  |  |  | > | 
|---|
|  |  |  | <el-button | 
|---|
|  |  |  | icon="el-icon-refresh" | 
|---|
|  |  |  | size="mini" | 
|---|
|  |  |  | @click="resetQuery" | 
|---|
|  |  |  | >重置</el-button | 
|---|
|  |  |  | > | 
|---|
|  |  |  | </div> | 
|---|
|  |  |  | </el-form> | 
|---|
|  |  |  | </div> | 
|---|
|  |  |  | <el-table | 
|---|
|  |  |  | v-loading="loading" | 
|---|
|  |  |  | highlight-current-row | 
|---|
|  |  |  | 
|---|
|  |  |  | <el-card shadow="naver"> | 
|---|
|  |  |  | <el-form ref="infoform" label-width="100px"> | 
|---|
|  |  |  | <el-row :gutter="4" align="right" class="mb8"> | 
|---|
|  |  |  | <el-col :span="9"> | 
|---|
|  |  |  | <el-col :span="7"> | 
|---|
|  |  |  | <el-form-item label="捐献编号"> | 
|---|
|  |  |  | <el-input | 
|---|
|  |  |  | v-model="curCase.donorno" | 
|---|
|  |  |  | 
|---|
|  |  |  | ></el-input> | 
|---|
|  |  |  | </el-form-item> | 
|---|
|  |  |  | </el-col> | 
|---|
|  |  |  | <el-col :span="9"> | 
|---|
|  |  |  | <el-col :span="8"> | 
|---|
|  |  |  | <el-form-item label="姓名"> | 
|---|
|  |  |  | <el-input v-model="curCase.name" :disabled="true"></el-input> | 
|---|
|  |  |  | </el-form-item> | 
|---|
|  |  |  | </el-col> | 
|---|
|  |  |  | <el-col> </el-col> | 
|---|
|  |  |  | <el-col :span="3"> | 
|---|
|  |  |  | <el-button | 
|---|
|  |  |  | type="primary" | 
|---|
|  |  |  | icon="el-icon-search" | 
|---|
|  |  |  | size="mini" | 
|---|
|  |  |  | @click="allgetfundList" | 
|---|
|  |  |  | >检索全部</el-button | 
|---|
|  |  |  | > | 
|---|
|  |  |  | </el-col> | 
|---|
|  |  |  | </el-row> | 
|---|
|  |  |  | <el-row :gutter="10" class="mb8"> | 
|---|
|  |  |  | <el-col :span="1.5"> | 
|---|
|  |  |  | 
|---|
|  |  |  | v-loading="loading" | 
|---|
|  |  |  | border | 
|---|
|  |  |  | :data="donateconsolationfundList" | 
|---|
|  |  |  | :row-class-name="rowClassName" | 
|---|
|  |  |  | > | 
|---|
|  |  |  | <el-table-column | 
|---|
|  |  |  | label="申请日期" | 
|---|
|  |  |  | align="center" | 
|---|
|  |  |  | prop="createTime" | 
|---|
|  |  |  | prop="applyTime" | 
|---|
|  |  |  | width="180px" | 
|---|
|  |  |  | > | 
|---|
|  |  |  | <template slot-scope="scope"> | 
|---|
|  |  |  | <span>{{ | 
|---|
|  |  |  | parseTime(scope.row.createTime, "{y}-{m}-{d}") | 
|---|
|  |  |  | parseTime(scope.row.applyTime, "{y}-{m}-{d}") | 
|---|
|  |  |  | }}</span> | 
|---|
|  |  |  | </template> | 
|---|
|  |  |  | </el-table-column> | 
|---|
|  |  |  | 
|---|
|  |  |  | prop="username" | 
|---|
|  |  |  | width="120px" | 
|---|
|  |  |  | /> | 
|---|
|  |  |  | <el-table-column | 
|---|
|  |  |  | <!-- <el-table-column | 
|---|
|  |  |  | label="申请金额" | 
|---|
|  |  |  | align="center" | 
|---|
|  |  |  | prop="pretaxcost" | 
|---|
|  |  |  | width="200px" | 
|---|
|  |  |  | /> --> | 
|---|
|  |  |  | <el-table-column | 
|---|
|  |  |  | label="捐献人" | 
|---|
|  |  |  | align="center" | 
|---|
|  |  |  | prop="donorname" | 
|---|
|  |  |  | width="120px" | 
|---|
|  |  |  | /> | 
|---|
|  |  |  | <el-table-column | 
|---|
|  |  |  | label="组长" | 
|---|
|  |  |  | 
|---|
|  |  |  | </template> | 
|---|
|  |  |  | </el-table-column> | 
|---|
|  |  |  | <el-table-column | 
|---|
|  |  |  | label="预审状态" | 
|---|
|  |  |  | width="140" | 
|---|
|  |  |  | align="center" | 
|---|
|  |  |  | prop="checkstatus" | 
|---|
|  |  |  | > | 
|---|
|  |  |  | <template slot-scope="scope"> | 
|---|
|  |  |  | <dict-tag | 
|---|
|  |  |  | :options="dict.type.sys_stage_type" | 
|---|
|  |  |  | :value="scope.row.checkstatus" | 
|---|
|  |  |  | /> | 
|---|
|  |  |  | </template> | 
|---|
|  |  |  | </el-table-column> | 
|---|
|  |  |  | label="申请材料状态" | 
|---|
|  |  |  | width="140" | 
|---|
|  |  |  | align="center" | 
|---|
|  |  |  | prop="checkstatus" | 
|---|
|  |  |  | > | 
|---|
|  |  |  | <template slot-scope="scope"> | 
|---|
|  |  |  | <dict-tag | 
|---|
|  |  |  | :options="dict.type.sys_stage_type" | 
|---|
|  |  |  | :value="scope.row.checkstatus" | 
|---|
|  |  |  | /> | 
|---|
|  |  |  | </template> | 
|---|
|  |  |  | </el-table-column> | 
|---|
|  |  |  | <!-- | 
|---|
|  |  |  | <el-table-column label="申请金额" align="center" prop="amountrequested" width="120px" /> | 
|---|
|  |  |  | <el-table-column label="联系电话" align="center" prop="phone" width="150px" /> | 
|---|
|  |  |  | 
|---|
|  |  |  | " | 
|---|
|  |  |  | size="mini" | 
|---|
|  |  |  | type="text" | 
|---|
|  |  |  | icon="el-icon-delete" | 
|---|
|  |  |  | @click="handleDelete(scope.row)" | 
|---|
|  |  |  | >删除</el-button | 
|---|
|  |  |  | ><span class="button-delete" | 
|---|
|  |  |  | ><i class="el-icon-delete"></i>删除</span | 
|---|
|  |  |  | ></el-button | 
|---|
|  |  |  | > | 
|---|
|  |  |  | <!-- v-hasPermi="['project:expretfund:delete']" --> | 
|---|
|  |  |  | <!-- <el-button | 
|---|
|  |  |  | 
|---|
|  |  |  | >下载</el-button | 
|---|
|  |  |  | > --> | 
|---|
|  |  |  | <!-- v-hasPermi="['project:expretfund:download']" --> | 
|---|
|  |  |  | </template> | 
|---|
|  |  |  | </el-table-column> | 
|---|
|  |  |  | <el-table-column | 
|---|
|  |  |  | fixed="right" | 
|---|
|  |  |  | align="center" | 
|---|
|  |  |  | width="120" | 
|---|
|  |  |  | label="功能" | 
|---|
|  |  |  | > | 
|---|
|  |  |  | <template slot-scope="scope"> | 
|---|
|  |  |  | <el-button size="mini" v-if="scope.row.uploadStates == 1" | 
|---|
|  |  |  | >线下已报销</el-button | 
|---|
|  |  |  | > | 
|---|
|  |  |  | <el-button | 
|---|
|  |  |  | size="mini" | 
|---|
|  |  |  | type="success" | 
|---|
|  |  |  | v-else-if="scope.row.uploadStates == 0" | 
|---|
|  |  |  | @click="Dooffline(scope.$index, scope.row)" | 
|---|
|  |  |  | >线下报销</el-button | 
|---|
|  |  |  | > | 
|---|
|  |  |  | </template> | 
|---|
|  |  |  | </el-table-column> | 
|---|
|  |  |  | </el-table> | 
|---|
|  |  |  | 
|---|
|  |  |  | > | 
|---|
|  |  |  | <el-row style="text-align: left"> | 
|---|
|  |  |  | <el-col :span="5"> | 
|---|
|  |  |  | <el-form-item label="申请日期" prop="createTime"> | 
|---|
|  |  |  | <el-form-item label="申请日期" prop="applyTime"> | 
|---|
|  |  |  | <el-date-picker | 
|---|
|  |  |  | clearable | 
|---|
|  |  |  | style="width: 100%" | 
|---|
|  |  |  | v-model="form.createTime" | 
|---|
|  |  |  | v-model="form.applyTime" | 
|---|
|  |  |  | type="date" | 
|---|
|  |  |  | value-format="yyyy-MM-dd HH:mm:ss" | 
|---|
|  |  |  | placeholder="申请日期" | 
|---|
|  |  |  | 
|---|
|  |  |  | type="text" | 
|---|
|  |  |  | size="small" | 
|---|
|  |  |  | > | 
|---|
|  |  |  | 删除 | 
|---|
|  |  |  | <span class="button-delete" | 
|---|
|  |  |  | ><i class="el-icon-delete"></i>删除</span | 
|---|
|  |  |  | > | 
|---|
|  |  |  | </el-button> | 
|---|
|  |  |  | </template> | 
|---|
|  |  |  | </el-table-column> | 
|---|
|  |  |  | 
|---|
|  |  |  | updateExternalperson, | 
|---|
|  |  |  | exportExternalperson | 
|---|
|  |  |  | } from "@/api/project/externalperson"; | 
|---|
|  |  |  |  | 
|---|
|  |  |  | import { getUserProfile } from "@/api/system/user"; | 
|---|
|  |  |  | import Li_area_select from "@/components/Address"; | 
|---|
|  |  |  | import OrgSelecter from "@/views/project/components/orgselect"; | 
|---|
|  |  |  | 
|---|
|  |  |  | username: [ | 
|---|
|  |  |  | { required: true, message: "请输入申请人", trigger: "blur" } | 
|---|
|  |  |  | ], | 
|---|
|  |  |  | createTime: [ | 
|---|
|  |  |  | applyTime: [ | 
|---|
|  |  |  | { required: true, message: "请输入申请日期", trigger: "blur" } | 
|---|
|  |  |  | ], | 
|---|
|  |  |  | deptmentname: [ | 
|---|
|  |  |  | 
|---|
|  |  |  | this.daterangeReporttime = []; | 
|---|
|  |  |  | this.resetForm("queryForm"); | 
|---|
|  |  |  | this.handleQuery(); | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | Dooffline(a, value) { | 
|---|
|  |  |  | value.uploadStates = 1; | 
|---|
|  |  |  | value.notes = "线下已报销"; | 
|---|
|  |  |  | addorupdateFund(value).then(res => { | 
|---|
|  |  |  | if (res.code == 200) { | 
|---|
|  |  |  | this.$modal.msgSuccess("记录成功"); | 
|---|
|  |  |  | } else { | 
|---|
|  |  |  | this.$modal.msgError(res.msg); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | }); | 
|---|
|  |  |  | }, | 
|---|
|  |  |  |  | 
|---|
|  |  |  | /** 新增按钮操作 */ | 
|---|
|  |  |  | 
|---|
|  |  |  | //查找是否存在登记完成记录 | 
|---|
|  |  |  | //判断是否存在上报记录 | 
|---|
|  |  |  | row.recordstatus = 0; | 
|---|
|  |  |  | var currenttime = new Date(); | 
|---|
|  |  |  | row.applyTime = | 
|---|
|  |  |  | currenttime.getFullYear() + | 
|---|
|  |  |  | "-" + | 
|---|
|  |  |  | (currenttime.getMonth() + 1) + | 
|---|
|  |  |  | "-" + | 
|---|
|  |  |  | currenttime.getDate() + | 
|---|
|  |  |  | " " + | 
|---|
|  |  |  | currenttime.getHours() + | 
|---|
|  |  |  | ":" + | 
|---|
|  |  |  | currenttime.getMinutes() + | 
|---|
|  |  |  | ":" + | 
|---|
|  |  |  | currenttime.getSeconds(); | 
|---|
|  |  |  |  | 
|---|
|  |  |  | updateFund(row).then(response => { | 
|---|
|  |  |  | if (response.code == 200) { | 
|---|
|  |  |  | this.$message({ | 
|---|
|  |  |  | 
|---|
|  |  |  | this.curCase = row; | 
|---|
|  |  |  | this.getfundList(); | 
|---|
|  |  |  | }, | 
|---|
|  |  |  |  | 
|---|
|  |  |  | allgetfundList() { | 
|---|
|  |  |  | this.loading = true; | 
|---|
|  |  |  | this.reset(); | 
|---|
|  |  |  | this.fundQueryParam.infoid = null; | 
|---|
|  |  |  | listFund(this.fundQueryParam).then(response => { | 
|---|
|  |  |  | this.loading = false; | 
|---|
|  |  |  | this.donateconsolationfundList = response.rows; | 
|---|
|  |  |  | }); | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | getfundList() { | 
|---|
|  |  |  | this.loading = true; | 
|---|
|  |  |  | this.reset(); | 
|---|
|  |  |  | 
|---|
|  |  |  | //专家费劳务打印 | 
|---|
|  |  |  | dayin(id) { | 
|---|
|  |  |  | getdownloadLW(id).then(res => { | 
|---|
|  |  |  | if (res.downloadUrl) { | 
|---|
|  |  |  | var fileUrl = res; | 
|---|
|  |  |  | //获取当前网址 | 
|---|
|  |  |  | var urlBase = process.env.VUE_APP_BASE_API; | 
|---|
|  |  |  | var curWWWPath = window.document.location.href; | 
|---|
|  |  |  | var pos = curWWWPath.indexOf(window.document.location.pathname); | 
|---|
|  |  |  | // 创建a标签 | 
|---|
|  |  |  | var aEle = document.createElement("a"); | 
|---|
|  |  |  | aEle.href = | 
|---|
|  |  |  | curWWWPath.substring(0, pos) + urlBase + fileUrl["downloadUrl"]; | 
|---|
|  |  |  | aEle.click(); | 
|---|
|  |  |  | this.$alert("下载成功", "提示", { | 
|---|
|  |  |  | confirmButtonText: "确定", | 
|---|
|  |  |  | type: "success" | 
|---|
|  |  |  | var fileUrl = res; | 
|---|
|  |  |  | //获取当前网址 | 
|---|
|  |  |  | var urlBase = process.env.VUE_APP_BASE_API; | 
|---|
|  |  |  | var curWWWPath = window.document.location.href; | 
|---|
|  |  |  | var pos = curWWWPath.indexOf(window.document.location.pathname); | 
|---|
|  |  |  | // 创建a标签 | 
|---|
|  |  |  | var aEle = document.createElement("a"); | 
|---|
|  |  |  | aEle.href = | 
|---|
|  |  |  | curWWWPath.substring(0, pos) + urlBase + fileUrl["downloadUrl"]; | 
|---|
|  |  |  | console.log(aEle.href); | 
|---|
|  |  |  | // 添加Authorization头部 | 
|---|
|  |  |  | fetch(aEle.href, { | 
|---|
|  |  |  | headers: this.headers | 
|---|
|  |  |  | }) | 
|---|
|  |  |  | .then(response => { | 
|---|
|  |  |  | // 将文件下载链接作为blob对象进行下载 | 
|---|
|  |  |  | return response.blob(); | 
|---|
|  |  |  | }) | 
|---|
|  |  |  | .then(blob => { | 
|---|
|  |  |  | const url = window.URL.createObjectURL(new Blob([blob])); | 
|---|
|  |  |  | console.log(url); | 
|---|
|  |  |  | const link = document.createElement("a"); | 
|---|
|  |  |  | link.href = url; | 
|---|
|  |  |  | const name = fileUrl["downloadName"]; | 
|---|
|  |  |  | link.setAttribute("download", name); // 替换file.pdf为实际的文件名 | 
|---|
|  |  |  | document.body.appendChild(link); | 
|---|
|  |  |  | link.click(); | 
|---|
|  |  |  | link.parentNode.removeChild(link); | 
|---|
|  |  |  | }); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | }); | 
|---|
|  |  |  | }, | 
|---|
|  |  |  |  | 
|---|
|  |  |  | 
|---|
|  |  |  | } else { | 
|---|
|  |  |  | console.log(response.msg); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | rowClassName({ row, column, rowIndex, columnIndex }) { | 
|---|
|  |  |  | if (row.recordstatus == -1 && row.backflowlevel != null) { | 
|---|
|  |  |  | return "error-row"; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | return ""; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  | }; | 
|---|
|  |  |  | </script> | 
|---|
|  |  |  | <style scoped> | 
|---|
|  |  |  | <style lang="scss" scoped> | 
|---|
|  |  |  | /* @import url(); 引入公共css类 */ | 
|---|
|  |  |  | .button-delete { | 
|---|
|  |  |  | color: rgb(236, 69, 69); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | ::v-deep.el-table .error-row { | 
|---|
|  |  |  | background: #fcebeb; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | </style> | 
|---|