| | |
| | | <template> |
| | | <div class="app-container"> |
| | | <el-form :model="queryParams" ref="queryForm" :inline="true" v-show="showSearch" label-width="120px"> |
| | | <el-form :model="queryParams" ref="queryForm" :inline="true" v-show="showSearch" label-width="90px"> |
| | | <el-row align="left"> |
| | | <el-col :span="5"> |
| | | <el-form-item label="捐献案例" prop="donorname" style="float: left"> |
| | | <el-input v-model="queryParams.donorname" placeholder="请输入申请人捐献者" clearable size="small" |
| | | <el-input v-model="queryParams.donorname" placeholder="请输入捐献者" clearable size="small" |
| | | @keyup.enter.native="flowconclusion" /> |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :span="5"> |
| | | <el-form-item label-width="120px" label="预审状态" prop="checkstatus" style="float: left"> |
| | | <el-form-item label-width="90px" label="预审状态" prop="checkstatus" style="float: left"> |
| | | <el-select v-model="queryParams.checkstatus" placeholder="请选择" style="width: 100%"> |
| | | <el-option v-for="item in checkmaterials" :key="item.value" :label="item.label" :value="item.value"> |
| | | </el-option> |
| | |
| | | </el-table-column> |
| | | --> |
| | | <el-table-column label="报销单号" align="center" prop="bh" width="150px" /> |
| | | <el-table-column label="申请日期" width="180" align="center" prop="applyTime"> |
| | | <el-table-column label="申请日期" width="120px" align="center" prop="applyTime"> |
| | | <template slot-scope="scope"> |
| | | <span>{{ parseTime(scope.row.applyTime, "{y}-{m}-{d}") }}</span> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column label="申请金额" align="center" prop="pretaxcost" width="200px" /> |
| | | <el-table-column label="经办人" align="center" prop="username" width="150px" /> |
| | | <el-table-column label="申请金额" align="center" prop="pretaxcost" width="120px" /> |
| | | <el-table-column label="经办人" align="center" prop="username" width="90px" /> |
| | | <!--<el-table-column label="捐献编号" align="center" prop="donorno" />--> |
| | | <!-- |
| | | <el-table-column label="预支费用" align="center" prop="prepaidamount" width="120px" /> |
| | |
| | | </el-table-column> |
| | | <el-table-column label="财务审核" align="center" prop="financechecher" width="140" /> |
| | | --> |
| | | <el-table-column label="申请材料状态" width="140" align="center" prop="checkstatus"> |
| | | <el-table-column label="材料预审状态" width="140px" 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="recordstatus" width="180"> |
| | | <el-table-column label="审批状态" align="center" prop="recordstatus" width="140px"> |
| | | <template slot-scope="scope"> |
| | | <dict-tag :options="dict.type.sys_recordstatus" :value="scope.row.recordstatus" /> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column label="所属组别" align="center" prop="deptmentname" width="200px" /> |
| | | <el-table-column label="组长" align="center" prop="managername" width="150px" /> |
| | | <el-table-column label="捐献者" align="center" prop="donorname" width="150px" /> |
| | | <el-table-column label="所属组别" align="center" prop="deptmentname" width="140px" /> |
| | | <el-table-column label="组长" align="center" prop="managername" width="90px" /> |
| | | <el-table-column label="捐献者" align="center" prop="donorname" width="90px" /> |
| | | <el-table-column label="备注" align="center" prop="remark" /> |
| | | <el-table-column label="操作" fixed="right" align="center" class-name="small-padding fixed-width" width="260px"> |
| | | <el-table-column label="操作" fixed="right" align="center" class-name="small-padding fixed-width" width="200px"> |
| | | <template slot-scope="scope"> |
| | | <el-button v-if="scope.row.checkFlag == 1" size="mini" type="text" icon="el-icon-edit" |
| | | @click="handleCheck(scope.row)">审核</el-button> |
| | |
| | | import { listDept } from "@/api/system/dept"; |
| | | import { getToken } from "@/utils/auth"; |
| | | import { setItem, grtItem, removeItem } from "@/utils/storage.js"; |
| | | import { moneySum, moneyAdd, moneySub, moneyMul, moneyRound } from "@/utils/money"; |
| | | |
| | | export default { |
| | | components: { |
| | |
| | | checkmaterials: [ |
| | | { |
| | | value: 1, |
| | | label: "材料待审核" |
| | | label: "待审核" |
| | | }, |
| | | { |
| | | value: 2, |
| | | label: "审查通过等待邮寄纸质材料" |
| | | label: "审查通过等待纸质材料" |
| | | }, |
| | | { |
| | | value: 3, |
| | |
| | | // }); |
| | | }, |
| | | |
| | | //计算总金额 |
| | | //计算总金额(金额一律走精确运算,禁止 parseFloat 累加) |
| | | sumTotalFee() { |
| | | let allSum = 0; |
| | | const detailsArr = []; |
| | | if (this.form.applytype != null) { |
| | | for (let i = 0; i < this.fundDetailArr.length; i++) { |
| | | const detail = this.fundDetailArr[i]; |
| | | let totalFee = 0; |
| | | let taxFee = 0; |
| | | if (this.form.applytype == 1 || this.form.applytype == 2) { |
| | | //计算当前报销内容费用合计 |
| | | if (!isNaN(parseFloat(this.fundDetailArr[i].amount))) { |
| | | totalFee += parseFloat(this.fundDetailArr[i].amount); |
| | | taxFee += parseFloat(this.fundDetailArr[i].amount); |
| | | //计算当前报销内容费用合计:税前 - 扣税 |
| | | if (!isNaN(parseFloat(detail.amount))) { |
| | | totalFee = moneyAdd(totalFee, detail.amount); |
| | | taxFee = moneyAdd(taxFee, detail.amount); |
| | | } |
| | | if (!isNaN(parseFloat(this.fundDetailArr[i].taxamount))) { |
| | | totalFee -= parseFloat(this.fundDetailArr[i].taxamount); |
| | | taxFee -= parseFloat(this.fundDetailArr[i].taxamount); |
| | | if (!isNaN(parseFloat(detail.taxamount))) { |
| | | totalFee = moneySub(totalFee, detail.taxamount); |
| | | taxFee = moneySub(taxFee, detail.taxamount); |
| | | } |
| | | } else if (this.form.applytype == 3) { |
| | | if ( |
| | | !isNaN(parseFloat(this.fundDetailArr[i].price)) && |
| | | !isNaN(parseFloat(this.fundDetailArr[i].quantity)) |
| | | !isNaN(parseFloat(detail.price)) && |
| | | !isNaN(parseFloat(detail.quantity)) |
| | | ) { |
| | | totalFee += |
| | | parseFloat(this.fundDetailArr[i].price) * |
| | | parseFloat(this.fundDetailArr[i].quantity); |
| | | totalFee = moneyMul(detail.price, detail.quantity); |
| | | } |
| | | } |
| | | if (!isNaN(parseFloat(taxFee))) { |
| | | this.fundDetailArr[i].taxedamount = taxFee.toFixed(2); |
| | | this.fundDetailArr[i].taxedamount = moneyRound(taxFee).toFixed(2); |
| | | } |
| | | allSum += totalFee; |
| | | detailsArr.push(totalFee); |
| | | } |
| | | } |
| | | //this.form.amountrequested = allSum.toFixed(2); |
| | | this.$set(this.form, "amountrequested", allSum.toFixed(2)); |
| | | this.$set(this.form, "amountrequested", moneyRound(moneySum(detailsArr)).toFixed(2)); |
| | | //this.$forceUpdate(); |
| | | }, |
| | | |
| | |
| | | // this.defaultperson = response.data; |
| | | // this.standardlevel = response.data.standardlevel; |
| | | if ( |
| | | response.data.userName === "001" || |
| | | response.data.userName === "053" || |
| | | response.data.userName === "002" || |
| | | response.data.userName === "admin" |
| | | ) { |