| | |
| | | |
| | | <template> |
| | | <div class="app-container"> |
| | | <el-form :model="queryParams" ref="queryForm" :inline="true" v-show="showSearch" label-width="68px"> |
| | | <el-row> |
| | | <!-- <el-col :span="6"> |
| | | <el-form-item label="出差人" prop="travelers"> |
| | | <el-input v-model="queryParams.travelers" placeholder="请输入出差人" clearable size="small" |
| | | <el-col :span="5"> |
| | | <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="8"> |
| | | <el-form-item label="申请日期" prop="createTime"> |
| | | <el-date-picker format="yyyy-MM-dd" value-format="yyyy-MM-dd" v-model="value1" type="daterange" @blur="onpick" |
| | | range-separator="至" start-placeholder="报销申请开始日期" end-placeholder="报销申请结束日期" |
| | | @keyup.enter.native="handleQuery"> |
| | | </el-date-picker> |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :span="5"> |
| | | <el-form-item label="经办人" prop="username"> |
| | | <el-input v-model="queryParams.username" placeholder="请输入报销人" clearable size="small" |
| | | @keyup.enter.native="handleQuery" /> |
| | | <el-form-item 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-select> |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :span="5"> |
| | |
| | | <el-option v-for="item in checkFlagOptions" :key="item.value" :label="item.label" :value="item.value"> |
| | | </el-option> |
| | | </el-select> |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :span="5"> |
| | | <el-form-item label="经办人" prop="username"> |
| | | <el-input v-model="queryParams.username" placeholder="请输入报销人" clearable size="small" |
| | | @keyup.enter.native="handleQuery" /> |
| | | </el-form-item> |
| | | </el-col> |
| | | </el-row> |
| | | <el-row> |
| | | <el-col :span="5"> |
| | | <el-form-item label="报销金额" prop="money" style="float: left"> |
| | | <el-input v-model="queryParams.money" placeholder="请输入申请人金额" clearable size="small" |
| | | @keyup.enter.native="handleQuery" /> |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :span="8"> |
| | | <el-form-item label="申请日期" prop="applyTime"> |
| | | <el-date-picker format="yyyy-MM-dd" value-format="yyyy-MM-dd" v-model="value1" type="daterange" @blur="onpick" |
| | | range-separator="至" start-placeholder="报销申请开始日期" end-placeholder="报销申请结束日期" |
| | | @keyup.enter.native="handleQuery"> |
| | | </el-date-picker> |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :span="6"> |
| | |
| | | <el-table border v-loading="loading" :data="reimbursementList" @selection-change="handleSelectionChange"> |
| | | <!-- <el-table-column type="selection" width="55" align="center" /> --> |
| | | |
| | | |
| | | <!-- |
| | | <el-table-column label="报销归类" width="120" align="center" prop="costtype"> |
| | | <template slot-scope="scope"> |
| | | <dict-tag :options="dict.type.sys_travelexpensebelong" :value="scope.row.costtype" /> |
| | | </template> |
| | | </el-table-column>--> |
| | | <el-table-column label="申请日期" width="120" align="center" prop="createTime"> |
| | | <el-table-column label="报销单号" width="120" align="center" prop="bh" /> |
| | | <el-table-column label="申请日期" width="120" align="center" prop="applyTime"> |
| | | <template slot-scope="scope"> |
| | | <span>{{ parseTime(scope.row.createTime, "{y}-{m}-{d}") }}</span> |
| | | <span>{{ parseTime(scope.row.applyTime, "{y}-{m}-{d}") }}</span> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column label="审批状态" width="120" align="center" prop="checkFlag"> |
| | | <el-table-column label="报销金额" width="120" align="center" prop="amountrequested" /> |
| | | <el-table-column label="经办人" width="120" align="center" prop="username" /> |
| | | <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="审批状态" width="140" align="center" prop="checkFlag"> |
| | | <template slot-scope="scope"> |
| | | <dict-tag :options="dict.type.sys_recordstatus" :value="scope.row.recordstatus" /> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column label="经办人" width="120" align="center" prop="username" /> |
| | | <el-table-column label="出差事由" align="center" prop="reason" /> |
| | | <el-table-column label="所属组别" width="120" align="center" prop="deptmentname" /> |
| | | <el-table-column label="组长" width="120" align="center" prop="managername" /> |
| | | <el-table-column label="报销金额" width="120" align="center" prop="amountrequested"> |
| | | </el-table-column> |
| | | <el-table-column label="出差事由" align="center" prop="reason"> |
| | | </el-table-column> |
| | | <el-table-column label="捐献者" width="120" align="center" prop="donorname"> |
| | | </el-table-column> |
| | | <el-table-column label="捐献者" width="120" align="center" prop="donorname" /> |
| | | <!-- |
| | | <el-table-column label="出差人" width="180" align="center" prop="travelers"> |
| | | </el-table-column> |
| | |
| | | --> |
| | | <el-table-column label="操作" align="center" fixed="right" class-name="small-padding fixed-width" width="270"> |
| | | <template slot-scope="scope"> |
| | | <el-button size="mini" type="text" icon="el-icon-edit" v-if="scope.row.checkFlag == 1 || scope.row.checkFlag == 0" |
| | | <el-button size="mini" type="text" icon="el-icon-edit" v-if="scope.row.checkFlag == 1" |
| | | @click="handleUpdate(scope.row)">审批</el-button> |
| | | <el-button size="mini" type="text" icon="el-icon-edit" v-if="scope.row.checkFlag == 0" |
| | | @click="handleShow(scope.row)">详情</el-button> |
| | |
| | | <el-form ref="form" :model="form" label-width="120px"> |
| | | <el-row> |
| | | <el-col :span="5"> |
| | | <el-form-item label="申请日期" prop="createTime"> |
| | | <el-date-picker style="width: 100%" v-model="form.createTime" :disabled="true" type="date" |
| | | <el-form-item label="申请日期" prop="applyTime"> |
| | | <el-date-picker style="width: 100%" v-model="form.applyTime" :disabled="true" type="date" |
| | | value-format="yyyy-MM-dd HH:mm:ss" placeholder="申请日期"> |
| | | </el-date-picker> |
| | | </el-form-item> |
| | |
| | | <el-col :span="5"> |
| | | <el-form-item label="所属组别" prop="deptmentname"> |
| | | <el-input v-model="form.deptmentname" placeholder="所属组别" :disabled="true" /> |
| | | </el-form-item> </el-col> <el-col :span="5"> |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :span="5"> |
| | | <el-form-item label="组长" prop="managername"> |
| | | <el-input v-model="form.managername" placeholder="组长" :disabled="true" /> |
| | | </el-form-item> </el-col> |
| | | </el-form-item> |
| | | </el-col> |
| | | </el-row> |
| | | <!-- |
| | | <el-row> |
| | |
| | | <el-col :span="10"> |
| | | <el-form-item label="大写金额" prop="bigstrmoney"> |
| | | <el-input v-model="form.bigstrmoney" placeholder="大写金额" :disabled="true" /> |
| | | </el-form-item> |
| | | </el-col><!-- |
| | | </el-form-item> </el-col><!-- |
| | | <el-col :span="6"> |
| | | <el-form-item label="领款金额" prop="amountrequested"> |
| | | <el-input v-model="form.amountrequested" placeholder="领款金额" /> |
| | |
| | | @change="getPersons(scope.row)"> |
| | | <el-option v-for="dict in dict.type.sys_travelexpensebelong" :key="dict.value" :label="dict.label" |
| | | :value="dict.label"></el-option> |
| | | |
| | | </el-select> |
| | | </template> |
| | | </el-table-column> |
| | |
| | | <template slot-scope="scope"> |
| | | <el-date-picker :picker-options="{ |
| | | disabledDate: time => { |
| | | if (scope.row.endtime) { return time.getTime() > new Date(scope.row.endtime.replace(/-/g, '/')) } |
| | | if (scope.row.endtime) { |
| | | return ( |
| | | time.getTime() > |
| | | new Date(scope.row.endtime.replace(/-/g, '/')) |
| | | ); |
| | | } |
| | | } |
| | | }" clearable size="small" style="width: 100%" v-model="scope.row.starttime" type="date" |
| | | value-format="yyyy-MM-dd HH:mm:ss" placeholder="开始日期" @blur="getallowance(scope.row)"> |
| | |
| | | <template slot-scope="scope"> |
| | | <el-date-picker :picker-options="{ |
| | | disabledDate: time => { |
| | | if (scope.row.starttime) { return time.getTime() < new Date(scope.row.starttime.replace(/-/g, '/')) } |
| | | if (scope.row.starttime) { |
| | | return ( |
| | | time.getTime() < |
| | | new Date(scope.row.starttime.replace(/-/g, '/')) |
| | | ); |
| | | } |
| | | } |
| | | }" clearable size="small" style="width: 100%" v-model="scope.row.endtime" type="date" |
| | | value-format="yyyy-MM-dd HH:mm:ss" placeholder="结束日期" @blur="getallowance(scope.row)"> |
| | |
| | | @change="getallowance2(scope.row, scope.row.destination)"> |
| | | <el-option v-for="dict in dict.type.sys_area_name" :key="dict.value" :label="dict.label" |
| | | :value="dict.value"></el-option> |
| | | |
| | | </el-select> |
| | | </template> |
| | | </el-table-column> |
| | |
| | | </el-table-column> |
| | | <el-table-column prop="trafficexpense" label="交通费" align="center" width="80"> |
| | | <template slot-scope="scope"> |
| | | <el-input v-model="scope.row.trafficexpense" placeholder="交通费" @blur="(val) => { |
| | | <el-input v-model="scope.row.trafficexpense" placeholder="交通费" @blur="val => { |
| | | sumTotalFee(); |
| | | } |
| | | " /> |
| | |
| | | --> |
| | | <el-table-column prop="hotelexpense" label="住宿费" align="center" width="80"> |
| | | <template slot-scope="scope"> |
| | | <el-input v-model="scope.row.hotelexpense" placeholder="住宿费" @blur="(val) => { |
| | | <el-input v-model="scope.row.hotelexpense" placeholder="住宿费" @blur="val => { |
| | | sumTotalFee(); |
| | | } |
| | | " /> |
| | |
| | | |
| | | <el-table-column prop="foodexpenses" label="餐费报销" align="center" width="80"> |
| | | <template slot-scope="scope"> |
| | | <el-input v-model="scope.row.foodexpenses" placeholder="伙食费报销" @blur="(val) => { |
| | | <el-input v-model="scope.row.foodexpenses" placeholder="伙食费报销" @blur="val => { |
| | | sumTotalFee(); |
| | | } |
| | | " /> |
| | |
| | | </el-table-column> |
| | | <el-table-column prop="foodallowance" label="伙食补助" align="center" width="80"> |
| | | <template slot-scope="scope"> |
| | | <el-input v-model="scope.row.foodallowance" placeholder="伙食费补助" @blur="(val) => { |
| | | <el-input v-model="scope.row.foodallowance" placeholder="伙食费补助" @blur="val => { |
| | | sumTotalFee(); |
| | | } |
| | | " /> |
| | |
| | | </el-table-column> |
| | | <el-table-column prop="otherexpense" label="公杂费补助" align="center" width="80"> |
| | | <template slot-scope="scope"> |
| | | <el-input v-model="scope.row.otherexpense" placeholder="杂费" @blur="(val) => { |
| | | <el-input v-model="scope.row.otherexpense" placeholder="杂费" @blur="val => { |
| | | sumTotalFee(); |
| | | } |
| | | " /> |
| | |
| | | |
| | | <el-table-column prop="otherfeeamount" label="其他费用" align="center" width="90"> |
| | | <template slot-scope="scope"> |
| | | <el-input v-model="scope.row.otherfeeamount" placeholder="其他费用" @blur="(val) => { |
| | | <el-input v-model="scope.row.otherfeeamount" placeholder="其他费用" @blur="val => { |
| | | sumTotalFee(); |
| | | } |
| | | " /> |
| | |
| | | <el-table-column prop="remark" slot="" label="请款说明" align="center" fixed width="280"> |
| | | <template slot-scope="scope"> |
| | | <el-input v-model="scope.row.remark" placeholder="说明" /> |
| | | </template> |
| | | </el-table-column><el-table-column prop="paiddate" slot="" label="打款日期" fixed align="center" width="150"> |
| | | </template> </el-table-column><el-table-column prop="paiddate" slot="" label="打款日期" fixed align="center" |
| | | width="150"> |
| | | <template slot-scope="scope"> |
| | | <el-date-picker clearable size="small" style="width: 100%" v-model="scope.row.paiddate" type="date" |
| | | value-format="yyyy-MM-dd HH:mm:ss" placeholder="打款日期" :disabled="true" @blur="getallowance(scope.row)"> |
| | |
| | | <el-table-column label="操作" align="center" width="100" v-if="dialogType == 'edit'"> |
| | | <template slot-scope="scope"> |
| | | <el-button type="text" size="mini" @click="addPayeeRow(scope.$index)">新增</el-button> |
| | | <el-button @click.native.prevent="deletePayeeRow(scope.$index, rbPayees, scope.row) |
| | | <el-button @click.native.prevent=" |
| | | deletePayeeRow(scope.$index, rbPayees, scope.row) |
| | | " type="text" size="small"> |
| | | 删除 |
| | | </el-button> |
| | |
| | | <el-col :span="14"> |
| | | <el-form-item label="附件" align="left" prop="annexfiles"> |
| | | <!-- <file-upload ref="fileUpload" :fileType=fileType :limit="1" :on-success="handleUploadSuccess"></file-upload> --> |
| | | <el-upload size="mini" class="upload-demo" :action="uploadFileUrl" :file-list="fileList" multiple :limit="20" |
| | | :headers="headers" :on-success="(response, file, fileList) => |
| | | <el-upload size="mini" class="upload-demo" :action="uploadFileUrl" :file-list="fileList" multiple |
| | | :limit="20" :headers="headers" :on-success="(response, file, fileList) => |
| | | uploadSccess(response, file, fileList) |
| | | " :on-preview="downFile" :disabled='dialogType == "detail"' :on-error="handleUploadError" |
| | | " :on-preview="downFile" :disabled="dialogType == 'detail'" :on-error="handleUploadError" |
| | | :on-exceed="handleExceed" :on-remove="remove" accept="image/*,.pdf"> |
| | | <el-button :disabled='dialogType == "detail"' size="small" type="primary">上传</el-button> |
| | | <el-button :disabled="dialogType == 'detail'" size="small" type="primary">上传</el-button> |
| | | </el-upload> |
| | | </el-form-item> |
| | | </el-col> |
| | |
| | | //获取地市对应基准金额 |
| | | getstandardRMB, |
| | | checkfund, |
| | | listbypowerone, addShareData |
| | | listbypowerone, |
| | | addShareData |
| | | } from "@/api/project/reimbursement"; |
| | | import { |
| | | provinceAndCityData, |
| | |
| | | provinceAndCityDataPlus, |
| | | regionDataPlus, |
| | | CodeToText, |
| | | TextToCode, |
| | | TextToCode |
| | | } from "element-china-area-data"; |
| | | import { |
| | | listFundflow, |
| | |
| | | delFundflow, |
| | | addFundflow, |
| | | updateFundflow, |
| | | exportFundflow, |
| | | exportFundflow |
| | | } from "@/api/project/fundflow"; |
| | | import { |
| | | listReimbursementdetail, |
| | |
| | | delReimbursementdetail, |
| | | delReimbursementdetailrbid, |
| | | exportReimbursementdetail, |
| | | getTravelStandard, |
| | | getTravelStandard |
| | | } from "@/api/project/reimbursementdetail"; |
| | | import { listReimbursementpayee, addReimbursementpayee, updateReimbursementpayee } from "@/api/project/reimbursementpayee"; |
| | | import { |
| | | listReimbursementpayee, |
| | | addReimbursementpayee, |
| | | updateReimbursementpayee |
| | | } from "@/api/project/reimbursementpayee"; |
| | | import Li_area_select from "@/components/Address"; |
| | | import { getUserProfile } from "@/api/system/user"; |
| | | import { getToken } from "@/utils/auth"; |
| | | import { setItem, grtItem, removeItem } from "@/utils/storage.js"; |
| | | |
| | | export default { |
| | | components: { |
| | | Li_area_select, |
| | | Li_area_select |
| | | }, |
| | | name: "Funddetail", |
| | | dicts: [ |
| | |
| | | "sys_0_1", |
| | | "sys_fund_type", |
| | | "sys_financeitemtype", |
| | | "sys_travelexpensebelong" |
| | | "sys_travelexpensebelong", |
| | | "sys_stage_type" |
| | | ], |
| | | data() { |
| | | return { |
| | | checkObj: { |
| | | flowlevelone: null, |
| | | flowconclusion: null, |
| | | fundid: null, |
| | | fundid: null |
| | | }, |
| | | fundflowList: [], |
| | | checkopen: false, |
| | |
| | | searchAddress: { |
| | | sheng: "", |
| | | shi: "", |
| | | qu: "", |
| | | qu: "" |
| | | }, |
| | | value1: "", |
| | | // 遮罩层 |
| | |
| | | checkFlagOptions: [ |
| | | { |
| | | value: 0, |
| | | label: "已审批", |
| | | label: "已审批" |
| | | }, |
| | | { |
| | | value: 1, |
| | | label: "待审批", |
| | | label: "待审批" |
| | | }, |
| | | { |
| | | value: 2, |
| | | label: "全部", |
| | | label: "全部" |
| | | } |
| | | ], |
| | | checkmaterials: [ |
| | | { |
| | | value: 1, |
| | | label: "待审核" |
| | | }, |
| | | { |
| | | value: 2, |
| | | label: "审核通过等待材料" |
| | | }, |
| | | { |
| | | value: 3, |
| | | label: "已收到材料" |
| | | } |
| | | ], |
| | | // 查询参数 |
| | | queryParams: { |
| | |
| | | APPLICANT: null, |
| | | APPLICATIONBEGTIME: null, |
| | | APPLICATIONENDTIME: null, |
| | | CHECKFLAG: 1, |
| | | CHECKFLAG: 1 |
| | | }, |
| | | //查询付款 |
| | | queryParamsPayee: { |
| | | rbid: null, |
| | | rbid: null |
| | | }, |
| | | // 表单参数 |
| | | form: {}, |
| | |
| | | applicationType: null, |
| | | donorno: null, |
| | | donorname: null, |
| | | bigstrmoney: null, |
| | | bigstrmoney: null |
| | | }, |
| | | rbDetails: [], |
| | | rbPayees: [], |
| | |
| | | //文件列表 |
| | | fileList: [], |
| | | headers: { |
| | | Authorization: "Bearer " + getToken(), |
| | | Authorization: "Bearer " + getToken() |
| | | }, |
| | | |
| | | standardlevel: 0, |
| | | createTime: [], |
| | | applyTime: [], |
| | | //弹窗详情--show;edit |
| | | dialogType: "show", |
| | | dialogType: "show" |
| | | }; |
| | | }, |
| | | created() { |
| | | this.getList(); |
| | | }, |
| | | created() { }, |
| | | mounted() { |
| | | if (grtItem("travelexpensecheck")) { |
| | | this.queryParams = grtItem("travelexpensecheck"); |
| | | } |
| | | //this.getlistDonatebaseinfo(); |
| | | this.getList(); |
| | | }, |
| | | methods: { |
| | | selectapplication() { |
| | | this.queryParams.APPLICATIONBEGTIME = this.createTime[0]; |
| | | this.queryParams.APPLICATIONENDTIME = this.createTime[1]; |
| | | this.queryParams.APPLICATIONBEGTIME = this.applyTime[0]; |
| | | this.queryParams.APPLICATIONENDTIME = this.applyTime[1]; |
| | | }, |
| | | getList() { |
| | | this.loading = true; |
| | | console.log("this.queryParams", this.queryParams) |
| | | listbypowerone(this.queryParams).then((response) => { |
| | | |
| | | console.log("this.queryParams", this.queryParams); |
| | | listbypowerone(this.queryParams).then(response => { |
| | | removeItem("travelexpensecheck"); |
| | | setItem("travelexpensecheck", this.queryParams); |
| | | this.reimbursementList = response.rows; |
| | | this.total = response.total; |
| | | this.loading = false; |
| | |
| | | }, |
| | | |
| | | getUserProfile() { |
| | | getUserProfile().then((response) => { |
| | | getUserProfile().then(response => { |
| | | this.standardlevel = response.data.standardlevel; |
| | | }); |
| | | }, |
| | |
| | | let checkfundobj = { |
| | | flowconclusion: this.checkObj.flowlevelone, |
| | | flowcontent: this.checkObj.flowconclusion, |
| | | fundid: this.checkObj.fundid, |
| | | fundid: this.checkObj.fundid |
| | | }; |
| | | |
| | | if ( |
| | |
| | | return; |
| | | } |
| | | |
| | | checkfund(checkfundobj).then((res) => { |
| | | checkfund(checkfundobj).then(res => { |
| | | this.reset(); |
| | | this.open = false; |
| | | this.getList(); |
| | |
| | | |
| | | gettable(e) { |
| | | const id = e.id; |
| | | getdownload(e.id).then((res) => { |
| | | getdownload(e.id).then(res => { |
| | | var fileUrl = res; |
| | | //获取当前网址 |
| | | var urlBase = process.env.VUE_APP_BASE_API; |
| | |
| | | remark: null, |
| | | recordstatus: "0", |
| | | uploadflag: null, |
| | | uploadtime: null, |
| | | uploadtime: null |
| | | }; |
| | | |
| | | this.rbDetails = [ |
| | |
| | | searchAddress: { |
| | | sheng: "", |
| | | shi: "", |
| | | qu: "", |
| | | qu: "" |
| | | }, |
| | | id: null, |
| | | rbid: null, |
| | |
| | | uploadTime: null, |
| | | uploadFlag: null, |
| | | uploadFlag: null, |
| | | total: 0, |
| | | }, |
| | | total: 0 |
| | | } |
| | | ]; |
| | | |
| | | this.rbDetails = [{ |
| | | id: null, |
| | | personType: null, |
| | | personname: null, |
| | | bankname: null, |
| | | bankcardno: null, |
| | | paiddate: null, |
| | | remark: null, |
| | | orderno: null, |
| | | personname: null, |
| | | amount: null, |
| | | }, |
| | | this.rbDetails = [ |
| | | { |
| | | id: null, |
| | | personType: null, |
| | | personname: null, |
| | | bankname: null, |
| | | bankcardno: null, |
| | | paiddate: null, |
| | | remark: null, |
| | | orderno: null, |
| | | personname: null, |
| | | amount: null |
| | | } |
| | | ]; |
| | | this.resetForm("form"); |
| | | }, |
| | |
| | | let listFundflowparams = { |
| | | // fundid:row.id, |
| | | fundid: 75, |
| | | fundtype: 1, |
| | | fundtype: 1 |
| | | }; |
| | | |
| | | listFundflow(listFundflowparams).then((res) => { |
| | | listFundflow(listFundflowparams).then(res => { |
| | | this.fundflowList = res.rows; |
| | | }); |
| | | }, |
| | |
| | | }, |
| | | /** 重置按钮操作 */ |
| | | resetQuery() { |
| | | this.resetForm("queryForm"); |
| | | this.handleQuery(); |
| | | (this.queryParams = { |
| | | pageNum: 1, |
| | | pageSize: 10, |
| | | APPLICANT: null, |
| | | APPLICATIONBEGTIME: null, |
| | | APPLICATIONENDTIME: null, |
| | | CHECKFLAG: 1 |
| | | }), |
| | | this.handleQuery(); |
| | | }, |
| | | // 多选框选中数据 |
| | | handleSelectionChange(selection) { |
| | | this.ids = selection.map((item) => item.id); |
| | | this.ids = selection.map(item => item.id); |
| | | this.single = selection.length !== 1; |
| | | this.multiple = !selection.length; |
| | | }, |
| | |
| | | this.open = true; |
| | | this.title = "添加报销申请"; |
| | | }, |
| | | |
| | | /** 修改按钮操作 */ |
| | | handleUpdate(row) { |
| | | this.$router.push({ |
| | |
| | | this.checkObj.fundid = id; |
| | | let listFundflowparams = { |
| | | fundid: row.id, |
| | | fundtype: 1, |
| | | fundtype: 1 |
| | | }; |
| | | listFundflow(listFundflowparams).then((res) => { |
| | | listFundflow(listFundflowparams).then(res => { |
| | | this.fundflowList = res.rows; |
| | | }); |
| | | this.reset(); |
| | | getReimbursement(id).then((response1) => { |
| | | getReimbursement(id).then(response1 => { |
| | | this.form = response1.data; |
| | | this.open = true; |
| | | this.title = "修改报销申请"; |
| | | let ids = response1.data.id; |
| | | |
| | | this.fileList = this.form.annexfiles ? this.form.annexfiles.split(",").map(item => ({ url: item, name: item })) : [] |
| | | this.fileList = this.form.annexfiles |
| | | ? this.form.annexfiles |
| | | .split(",") |
| | | .map(item => ({ url: item, name: item })) |
| | | : []; |
| | | |
| | | getReimbursementdetaillist(ids).then((res2) => { |
| | | getReimbursementdetaillist(ids).then(res2 => { |
| | | this.rbDetails = res2.data; |
| | | for (let i = 0; i < this.rbDetails.length; i++) { |
| | | this.rbDetails[i].index = i; |
| | | this.rbDetails[i].searchAddress = { |
| | | sheng: this.rbDetails[i].travelprovincename, |
| | | shi: this.rbDetails[i].travelcityname, |
| | | qu: this.rbDetails[i].traveltownname, |
| | | qu: this.rbDetails[i].traveltownname |
| | | }; |
| | | } |
| | | //this.sumTotalFee(); |
| | | }); |
| | | //获取报销打款信息 |
| | | this.queryParamsPayee.rbid = ids; |
| | | listReimbursementpayee(this.queryParamsPayee).then((res) => { |
| | | listReimbursementpayee(this.queryParamsPayee).then(res => { |
| | | this.rbPayees = res.rows; |
| | | if (this.rbPayees.length == 0) { this.addPayeeRow(0); } |
| | | if (this.rbPayees.length == 0) { |
| | | this.addPayeeRow(0); |
| | | } |
| | | }); |
| | | }); |
| | | }, |
| | | //查看审核详情 |
| | | handleShow(row) { |
| | | this.$router.push({ |
| | | path: "/finance/travelexpenseapply/travelexpensedetail/", |
| | | query: { id: row.id, pos: 3 } |
| | | }); |
| | | |
| | | this.dialogType = "show"; |
| | | //加载审核记录 |
| | | let listFundflowparams = { |
| | | fundid: row.id, |
| | | fundtype: 1, |
| | | fundtype: 1 |
| | | }; |
| | | listFundflow(listFundflowparams).then((res) => { |
| | | listFundflow(listFundflowparams).then(res => { |
| | | this.fundflowList = res.rows; |
| | | }); |
| | | getReimbursement(row.id).then((response) => { |
| | | getReimbursement(row.id).then(response => { |
| | | this.form = response.data; |
| | | this.open = true; |
| | | this.title = "查看报销申请"; |
| | | let ids = response.data.id; |
| | | getReimbursementdetaillist(ids).then((res) => { |
| | | getReimbursementdetaillist(ids).then(res => { |
| | | this.rbDetails = res.data; |
| | | console.log("getReimbursementdetaillist", res); |
| | | for (let i = 0; i < this.rbDetails.length; i++) { |
| | |
| | | this.rbDetails[i].searchAddress = { |
| | | sheng: this.rbDetails[i].travelprovincename, |
| | | shi: this.rbDetails[i].travelcityname, |
| | | qu: this.rbDetails[i].traveltownname, |
| | | qu: this.rbDetails[i].traveltownname |
| | | }; |
| | | } |
| | | }); |
| | | |
| | | //获取报销打款信息 |
| | | this.queryParamsPayee.rbid = ids; |
| | | listReimbursementpayee(this.queryParamsPayee).then((res) => { |
| | | listReimbursementpayee(this.queryParamsPayee).then(res => { |
| | | this.rbPayees = res.rows; |
| | | if (this.rbPayees.length == 0) { this.addPayeeRow(0); } |
| | | if (this.rbPayees.length == 0) { |
| | | this.addPayeeRow(0); |
| | | } |
| | | }); |
| | | }); |
| | | }, |
| | | /** 提交按钮 */ |
| | | submitForm() { |
| | | this.$refs["form"].validate((valid) => { |
| | | this.$refs["form"].validate(valid => { |
| | | if (valid) { |
| | | // this.rbDetails.forEach(item=>{ |
| | | // item.destination = this.searchAddress.sheng |
| | | // }) |
| | | |
| | | if (this.form.id != null) { |
| | | updateReimbursement(this.form).then((response) => { |
| | | updateReimbursement(this.form).then(response => { |
| | | for (let i = 0; i < this.rbDetails.length; i++) { |
| | | if (this.rbDetails[i].rbid != null) { |
| | | updateReimbursementdetail(this.rbDetails[i]); |
| | |
| | | this.getList(); |
| | | }); |
| | | } else { |
| | | addReimbursement(this.form).then((response) => { |
| | | addReimbursement(this.form).then(response => { |
| | | this.$modal.msgSuccess("新增成功"); |
| | | this.open = false; |
| | | this.getList(); |
| | | listReimbursementdetailid().then((res) => { |
| | | listReimbursementdetailid().then(res => { |
| | | let id = res.data; |
| | | for (let i = 0; i < this.rbDetails.length; i++) { |
| | | this.rbDetails[i].rbid = id; |
| | |
| | | this.exportLoading = true; |
| | | return exportReimbursement(queryParams); |
| | | }) |
| | | .then((response) => { |
| | | .then(response => { |
| | | this.$download.name(response.msg); |
| | | this.exportLoading = false; |
| | | }) |
| | |
| | | searchAddress: { |
| | | sheng: "", |
| | | shi: "", |
| | | qu: "", |
| | | qu: "" |
| | | }, |
| | | id: null, |
| | | rbid: null, |
| | |
| | | updateTime: null, |
| | | uploadFlag: null, |
| | | uploadTime: null, |
| | | total: 0, |
| | | total: 0 |
| | | }; |
| | | this.rbDetails.push(rowData); |
| | | }, |
| | |
| | | this.$confirm("是否确认删除?", "提示", { |
| | | confirmButtonText: "确定", |
| | | cancelButtonText: "取消", |
| | | type: "warning", |
| | | type: "warning" |
| | | }) |
| | | .then(() => { |
| | | rows.splice(index, 1); |
| | |
| | | totalFee += parseFloat(this.rbDetails[i].otherfeeamount); |
| | | } |
| | | this.rbDetails[i].total = parseFloat(totalFee).toFixed(2); |
| | | this.$set( |
| | | this.rbDetails, |
| | | scope.$index, |
| | | this.rbDetails[i] |
| | | ); |
| | | this.$set(this.rbDetails, scope.$index, this.rbDetails[i]); |
| | | if (!isNaN(parseFloat(this.rbDetails[i].total))) { |
| | | allSum += parseFloat(this.rbDetails[i].total); |
| | | } |
| | |
| | | handleUploadError() { }, |
| | | |
| | | remove(file) { |
| | | this.fileList.splice(this.fileList.indexOf(file), 1) |
| | | this.fileList.splice(this.fileList.indexOf(file), 1); |
| | | }, |
| | | |
| | | handleExceed() { |
| | |
| | | this.$modal.msgSuccess(response.msg); |
| | | this.fileList.push({ name: response.fileName, url: response.fileName }); |
| | | } else { |
| | | console.log(response.msg);; |
| | | console.log(response.msg); |
| | | } |
| | | }, |
| | | |
| | | |
| | | // 下载文件 |
| | | downFile(item) { |
| | | const url = process.env.VUE_APP_BASE_API + item.url |
| | | var a = document.createElement('a'); |
| | | var event = new MouseEvent('click'); |
| | | const url = process.env.VUE_APP_BASE_API + item.url; |
| | | var a = document.createElement("a"); |
| | | var event = new MouseEvent("click"); |
| | | a.download = item.name; |
| | | a.href = url; |
| | | a.dispatchEvent(event); |
| | | }, |
| | | |
| | | }, |
| | | } |
| | | } |
| | | }; |
| | | </script> |
| | | </script> |