| | |
| | | <div class="app-container"> |
| | | <el-form :model="queryParams" ref="queryForm" :inline="true" v-show="showSearch" label-width="80px"> |
| | | <el-row> |
| | | <el-col :span="8"> |
| | | <el-form-item label="申请日期" prop="createTime"> |
| | | <el-date-picker format="yyyy-MM-dd" @change="selectapplication" value-format="yyyy-MM-dd" v-model="createTime" |
| | | type="daterange" range-separator="至" start-placeholder="申请开始日期" end-placeholder="申请结束日期" |
| | | @keyup.enter.native="flowconclusion"> |
| | | </el-date-picker> |
| | | </el-form-item> |
| | | </el-col> |
| | | <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="flowconclusion" |
| | | /> |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :span="5"> |
| | | <el-form-item label="经办人" prop="APPLICANT" style="float: left"> |
| | | <el-input v-model="queryParams.APPLICANT" placeholder="请输入申请人姓名" clearable size="small" |
| | | <el-form-item label="捐献案例" prop="donorname" style="float: left"> |
| | | <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="预审状态" 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-select> |
| | | </el-form-item> |
| | | </el-col> |
| | | <!-- <el-col :span="6"> |
| | | <el-button type="primary" icon="el-icon-search" size="mini" @click="flowconclusion">搜索</el-button> |
| | | <el-button icon="el-icon-refresh" size="mini" @click="resetQuery">重置</el-button> |
| | | </el-col> --> |
| | | <el-col :span="5"> |
| | | <el-form-item align="left" label="业务组" prop="deptnos"> |
| | | <el-select |
| | | v-model="queryParams.deptnos" |
| | | placeholder="请选择案例状态" |
| | | > |
| | | <el-option |
| | | v-for="item in deptList" |
| | | :label="item.deptName" |
| | | :value="item.deptId" |
| | | > |
| | | </el-option> |
| | | </el-select> |
| | | </el-form-item> |
| | | </el-col> |
| | | </el-row> |
| | | <el-row> |
| | | <el-col :span="5"> |
| | | <el-form-item label="捐献者" prop="donorname" style="float: left"> |
| | | <el-input |
| | | v-model="queryParams.donorname" |
| | | placeholder="请输入申请人捐献者" |
| | | clearable |
| | | size="small" |
| | | @keyup.enter.native="flowconclusion" |
| | | /> |
| | | <el-form-item label="经办人" prop="APPLICANT" style="float: left"> |
| | | <el-input v-model="queryParams.APPLICANT" placeholder="请输入申请人姓名" clearable size="small" |
| | | @keyup.enter.native="flowconclusion" /> |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :span="3"> |
| | | <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="flowconclusion" /> |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :span="8"> |
| | | <el-form-item label="申请日期" prop="createTime"> |
| | | <el-date-picker format="yyyy-MM-dd" @change="selectapplication" value-format="yyyy-MM-dd" |
| | | v-model="createTime" type="daterange" range-separator="至" start-placeholder="申请开始日期" |
| | | end-placeholder="申请结束日期" @keyup.enter.native="flowconclusion"> |
| | | </el-date-picker> |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :span="6"> |
| | | <div style="margin-bottom: 15px;"> |
| | | <el-button |
| | | type="primary" |
| | | icon="el-icon-search" |
| | | size="mini" |
| | | @click="flowconclusion" |
| | | >搜索</el-button |
| | | > |
| | | <el-button icon="el-icon-refresh" size="mini" @click="resetQuery" |
| | | >重置</el-button |
| | | > |
| | | <el-button type="primary" icon="el-icon-search" size="mini" @click="flowconclusion">搜索</el-button> |
| | | <el-button icon="el-icon-refresh" size="mini" @click="resetQuery">重置</el-button> |
| | | </div> |
| | | </el-col> |
| | | </el-row> |
| | | </el-form> |
| | | <el-row> |
| | | <el-col :span="8"> |
| | | <div style="margin-bottom: 15px;"> |
| | | <el-button icon="el-icon-remove-outline" type="success" plain size="mini" :disabled="true" |
| | | @click="Totalcalculation(0)">个税前汇总</el-button> |
| | | <el-button type="primary" plain icon="el-icon-circle-check" size="mini" |
| | | @click="Totalcalculation(1)">个税后汇总</el-button> |
| | | </div> |
| | | </el-col> |
| | | </el-row> |
| | | <el-form ref="infoform" label-width="100px"> |
| | | <el-row> |
| | | <el-table v-loading="loading" border :data="donateconsolationfundList" @selection-change="handleSelectionChange"> |
| | | <el-table ref="multipleTable" tooltip-effect="dark" border :data="donateconsolationfundList" |
| | | @selection-change="handleSelectionChange"> |
| | | <!-- |
| | | <el-table-column label="审批状态" width="120" align="center" prop="checkFlag"> |
| | | <template slot-scope="scope"> |
| | |
| | | style="color: #5fb878; font-weight: bold"></i></span> |
| | | <span v-else>待审核</span> |
| | | </template> |
| | | </el-table-column> |
| | | --> |
| | | <el-table-column label="申请日期" width="120" align="center" prop="createTime"> |
| | | </el-table-column> |
| | | --> |
| | | <el-table-column type="selection" width="45"> </el-table-column> |
| | | <!-- <el-table-column |
| | | label="个税计算" |
| | | align="center" |
| | | prop="recordstatus" |
| | | width="200" |
| | | > |
| | | <template slot-scope="scope"> |
| | | <span>{{ parseTime(scope.row.createTime, "{y}-{m}-{d}") }}</span> |
| | | <dict-tag :options="dict.type.sys_tax" :value="scope.row.istax" /> |
| | | </template> |
| | | </el-table-column> --> |
| | | <el-table-column label="报销单号" align="center" prop="bh" width="150px" /> |
| | | <el-table-column label="申请日期" width="120" 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="username" width="150px" /> |
| | | <el-table-column label="申请金额" align="center" prop="pretaxcost" width="200px" /> |
| | | <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="username" width="150px" /> |
| | | <!-- <el-table-column label="工作单位" align="center" prop="unitname" width="230px" /> --> |
| | | <!-- <el-table-column label="联系电话" align="center" prop="phone" width="160" /> --> |
| | | <!-- <el-table-column label="税后金额" align="center" prop="taxedcost" width="120px" /> |
| | | <el-table-column label="申请金额" align="center" prop="amountrequested" width="120px" /> |
| | | <el-table-column label="预支费用" align="center" prop="prepaidamount" width="120px" /> --> |
| | | <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="recordstatus" width="200"> |
| | | <template slot-scope="scope"> |
| | | <dict-tag :options="dict.type.sys_recordstatus" :value="scope.row.recordstatus" /> |
| | | </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> |
| | | <el-table-column label="个税计算日期" width="120" align="center" prop="fundtaxtime"> |
| | | <template slot-scope="scope"> |
| | | <span>{{ parseTime(scope.row.fundtaxtime, "{y}-{m}-{d}") }}</span> |
| | | </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="120px" /> |
| | | <el-table-column label="备注" align="center" prop="remark" /> |
| | | <!--<el-table-column label="捐献编号" align="center" prop="donorno" /> |
| | |
| | | <template slot-scope="scope"> |
| | | <el-button size="mini" type="text" icon="el-icon-edit" v-if="scope.row.checkFlag == 0" |
| | | @click="handleDetail(scope.row)">详情</el-button> |
| | | <el-button |
| | | v-if="scope.row.checkFlag == 1" |
| | | size="mini" |
| | | type="text" |
| | | icon="el-icon-edit" |
| | | @click="beforehandCheck(scope.row)" |
| | | >预审核</el-button |
| | | > |
| | | |
| | | <el-button v-if="scope.row.checkFlag == 1" size="mini" type="text" icon="el-icon-edit" |
| | | @click="handleCheck(scope.row)">审核</el-button> |
| | | <!-- v-hasPermi="['project:donateconsolationfund:edit']" --> |
| | | <el-button size="mini" type="text" icon="el-icon-download" @click="dayin(scope.row.id)">下载</el-button> |
| | | <el-button size="mini" type="text" icon="el-icon-download" |
| | | @click="totaldayin(scope.row.id)">下载</el-button> |
| | | </template> |
| | | </el-table-column> |
| | | </el-table> |
| | | |
| | | <pagination v-show="total > 0" :total="total" :page.sync="queryParams.pageNum" :limit.sync="queryParams.pageSize" |
| | | @pagination="getlistbypower" /> |
| | | <pagination v-show="total > 0" :total="total" :page.sync="queryParams.pageNum" |
| | | :limit.sync="queryParams.pageSize" @pagination="getlistbypower" /> |
| | | </el-row> |
| | | </el-form> |
| | | |
| | |
| | | <el-col :span="5"> |
| | | <el-form-item label="税后合计" prop="taxedcost"> |
| | | <el-input v-model="form.taxedcost" placeholder="税后金额合计" /> |
| | | </el-form-item> |
| | | </el-col><!-- |
| | | </el-form-item> </el-col><!-- |
| | | <el-col :span="5"> |
| | | <el-form-item label="申请状态" prop="recordstatus"> |
| | | <el-select v-model="form.recordstatus" placeholder="请选择审核状态" clearable size="small" :disabled="true"> |
| | | <el-option v-for="dict in dict.type.sys_recordstatus" :key="dict.value" :label="dict.label" |
| | | :value="dict.value" /> |
| | | </el-select> |
| | | </el-form-item> |
| | | </el-form-item> |
| | | </el-col>--> |
| | | </el-row> |
| | | <el-row> |
| | |
| | | </el-row> |
| | | |
| | | <el-row style="margin-top: 5px; margin-bottom: 5px"> |
| | | <el-table :data="fundDetailArr" :summary-method="getSummaries" border highlight-current-row v-loading="loading"> |
| | | <el-table :data="fundDetailArr" :summary-method="getSummaries" border highlight-current-row |
| | | v-loading="loading"> |
| | | <el-table-column prop="orderno" align="center" label="序号" width="80"> |
| | | <template slot-scope="scope"> |
| | | <el-input v-model="scope.row.orderno" placeholder="序号" /> |
| | |
| | | <template slot-scope="scope"> |
| | | <el-select filterable allow-create ref="getReportname" default-first-option |
| | | @change="selectpersonmsg(scope.row)" v-model="scope.row.beneficiaryname" placeholder="请选择"> |
| | | <el-option v-for="item in arrr3" :key="item.reportNo" :label="item.reportName" :value="item.reportName"> |
| | | <el-option v-for="item in arrr3" :key="item.reportNo" :label="item.reportName" |
| | | :value="item.reportName"> |
| | | </el-option> |
| | | </el-select> |
| | | </template> </el-table-column><el-table-column prop="title" align="center" label="职称" width="150"> |
| | |
| | | </el-table-column> |
| | | <el-table-column v-if="show === 1" prop="amount" align="center" label="税前金额" width="100"> |
| | | <template slot-scope="scope"> |
| | | <el-input v-model="scope.row.amount" v-on:input="(val) => { |
| | | change(scope.row); |
| | | } |
| | | " placeholder="税前金额" /> |
| | | <el-input v-model="scope.row.amount" v-on:input=" |
| | | val => { |
| | | change(scope.row); |
| | | } |
| | | " placeholder="税前金额" /> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column v-if="show === 1" prop="taxedamount" align="center" label="税后金额" width="100"> |
| | |
| | | getdownloadYX, |
| | | getdownloadBX, |
| | | checkfund, |
| | | listbypower, addFundSharedInfo |
| | | listbypower, |
| | | addFundSharedInfo, |
| | | TotalcalculationFn |
| | | } from "@/api/project/fund"; |
| | | import { |
| | | onelistFunds, |
| | |
| | | listOrganization, |
| | | getOrganization, |
| | | listReportname, |
| | | listUser, |
| | | listUser |
| | | } from "@/api/project/organization"; |
| | | import { |
| | | listFundflow, |
| | |
| | | delFundflow, |
| | | addFundflow, |
| | | updateFundflow, |
| | | exportFundflow, |
| | | exportFundflow |
| | | } from "@/api/project/fundflow"; |
| | | |
| | | import { |
| | |
| | | delExternalperson, |
| | | addExternalperson, |
| | | updateExternalperson, |
| | | exportExternalperson, |
| | | exportExternalperson |
| | | } from "@/api/project/externalperson"; |
| | | import { getUserProfile } from "@/api/system/user"; |
| | | import { listDept } from "@/api/system/dept"; |
| | | import { |
| | | listDonatebaseinfo, |
| | | getDonatebaseinfo, |
| | | getDonatebaseinfo |
| | | } from "@/api/project/donatebaseinfo"; |
| | | import Li_area_select from "@/components/Address"; |
| | | import OrgSelecter from "@/views/project/components/orgselect"; |
| | | import { setItem,grtItem,removeItem } from '@/utils/storage.js'; |
| | | |
| | | import { setItem, grtItem, removeItem } from "@/utils/storage.js"; |
| | | import { getToken } from "@/utils/auth"; |
| | | |
| | | export default { |
| | | components: { |
| | | Li_area_select, |
| | | OrgSelecter, |
| | | OrgSelecter |
| | | }, |
| | | name: "Donateconsolationfund", |
| | | dicts: [ |
| | |
| | | "sys_fund_type", |
| | | "sys_finsubject", |
| | | "sys_financeitemtype", |
| | | "sys_stage_type" |
| | | "sys_stage_type", |
| | | "sys_tax" |
| | | ], |
| | | data() { |
| | | return { |
| | |
| | | newobj: { |
| | | flowlevelone: null, |
| | | flowconclusion: null, |
| | | fundid: null, |
| | | fundid: null |
| | | }, |
| | | showFirstapprovelevel: false, |
| | | showSecondapprovelevel: false, |
| | |
| | | sheng: "", |
| | | shi: "", |
| | | qu: "", |
| | | organizationname: null, |
| | | organizationname: null |
| | | }, |
| | | openbtn: true, |
| | | isopen: 0, |
| | |
| | | exportLoading: false, |
| | | // 选中数组 |
| | | ids: [], |
| | | // 非单个禁用 |
| | | single: true, |
| | | // 非多个禁用 |
| | | multiple: true, |
| | | overallids: [], //总选中 |
| | | overallidsvalue: [], //总选中对象 |
| | | // 显示搜索条件 |
| | | showSearch: true, |
| | | // 总条数 |
| | |
| | | checkFlagOptions: [ |
| | | { |
| | | value: 0, |
| | | label: "已审批", |
| | | label: "已审批" |
| | | }, |
| | | { |
| | | value: 1, |
| | | label: "待审批", |
| | | label: "待审批" |
| | | }, |
| | | { |
| | | value: 2, |
| | | label: "全部", |
| | | label: "全部" |
| | | } |
| | | ], |
| | | checkmaterials: [ |
| | | { |
| | | value: 1, |
| | | label: "材料待审核" |
| | | }, |
| | | { |
| | | value: 2, |
| | | label: "审查通过等待邮寄纸质材料" |
| | | }, |
| | | { |
| | | value: 3, |
| | | label: "已收到纸质材料" |
| | | } |
| | | ], |
| | | // 查询参数 |
| | | queryParams: { |
| | |
| | | APPLICATIONENDTIME: null, |
| | | CHECKFLAG: 1, |
| | | APPLYTYPE: 1, |
| | | money: null |
| | | money: null, |
| | | donorname: null, |
| | | deptnos: null |
| | | }, |
| | | // 表单参数 |
| | | form: {}, |
| | | // 表单校验 |
| | | rules: { |
| | | username: [ |
| | | { required: true, message: "请输入申请人姓名", trigger: "blur" }, |
| | | { required: true, message: "请输入申请人姓名", trigger: "blur" } |
| | | ], |
| | | createTime: [ |
| | | { required: true, message: "请输入申请日期", trigger: "blur" }, |
| | | { required: true, message: "请输入申请日期", trigger: "blur" } |
| | | ], |
| | | amountrequested: [ |
| | | { required: true, message: "请输入申请金额", trigger: "blur" }, |
| | | ], |
| | | { required: true, message: "请输入申请金额", trigger: "blur" } |
| | | ] |
| | | }, |
| | | //当前选中捐献案例 |
| | | curCase: {}, |
| | |
| | | hsfbx: null, |
| | | hsfbz: null, |
| | | total: null, |
| | | title: null, |
| | | }, |
| | | title: null |
| | | } |
| | | ], |
| | | fundDetailArr: [], |
| | | fundflowList: [], |
| | |
| | | { name: "捐献者医学成本" }, |
| | | { name: "捐献者善后成本" }, |
| | | { name: "捐献伦理委员会劳务发放表" }, |
| | | { name: "捐献者家属交通食宿费" }, |
| | | { name: "捐献者家属交通食宿费" } |
| | | ], |
| | | itemArr: [], |
| | | allnum: [], |
| | |
| | | show: 0, |
| | | fundtypeArrAll: [], |
| | | dialogType: "show", |
| | | headers: { |
| | | Authorization: "Bearer " + getToken() |
| | | } |
| | | }; |
| | | }, |
| | | watch: {}, |
| | |
| | | //this.resetForm(); |
| | | this.getCurFundType(); |
| | | this.getUsermsg(); |
| | | this.listDept(); |
| | | }, |
| | | mounted() { |
| | | if (grtItem("expertFeeCheck")) { |
| | | this.queryParams = grtItem("expertFeeCheck"); |
| | | }; |
| | | this.queryParams.APPLICATIONBEGTIME = ""; |
| | | this.queryParams.APPLICATIONENDTIME = ""; |
| | | } |
| | | this.selectReporters(); |
| | | this.getlistOrganization(); |
| | | this.getlistbypower(); |
| | |
| | | }, |
| | | methods: { |
| | | getUsermsg() { |
| | | getUserProfile().then((response) => { |
| | | console.log("登录用户信息", response.data); |
| | | // this.defaultperson = response.data; |
| | | // this.standardlevel = response.data.standardlevel; |
| | | getUserProfile().then(response => { |
| | | if ( |
| | | response.data.userName === "001" || |
| | | response.data.userName === "002" || |
| | | response.data.userName === "002" || |
| | | response.data.userName === "012" || |
| | | response.data.userName === "admin" |
| | | ) { |
| | |
| | | } else { |
| | | this.show = 3; |
| | | } |
| | | console.log(response.data.userName, this.show); |
| | | }); |
| | | }, |
| | | listDept() { |
| | | listDept({}).then(response => { |
| | | this.deptList = response.data; |
| | | this.loading = false; |
| | | }); |
| | | }, |
| | | selectapplication() { |
| | | console.log("时间", this.createTime); |
| | | this.queryParams.APPLICATIONBEGTIME = this.createTime[0]; |
| | | this.queryParams.APPLICATIONENDTIME = this.createTime[1]; |
| | | }, |
| | | getlistbypower() { |
| | | this.loading = true; |
| | | listbypower(this.queryParams).then((res) => { |
| | | console.log("根据权限显示列表", res); |
| | | listbypower(this.queryParams).then(res => { |
| | | removeItem("expertFeeCheck"); |
| | | setItem("expertFeeCheck", this.queryParams); |
| | | this.loading = false; |
| | |
| | | let arr = []; |
| | | this.total = res.total; |
| | | this.donateconsolationfundList = list; |
| | | this.Restorecheck(); |
| | | }); |
| | | }, |
| | | dundcheck() { |
| | |
| | | let checkfundobj = { |
| | | flowconclusion: this.newobj.flowlevelone, |
| | | flowcontent: this.newobj.flowconclusion, |
| | | fundid: this.form.id, |
| | | fundid: this.form.id |
| | | }; |
| | | if ( |
| | | checkfundobj.flowconclusion == null || |
| | |
| | | this.$modal.msgError("请选择审核结论!"); |
| | | return; |
| | | } |
| | | checkfund(checkfundobj).then((res) => { |
| | | console.log("审核费用", res); |
| | | this.reset(); |
| | | this.$modal.msgSuccess("审核完成!"); |
| | | this.getlistbypower(); |
| | | this.dialogOpen = false; |
| | | checkfund(checkfundobj).then(res => { |
| | | if (res.code == 200) { |
| | | this.reset(); |
| | | this.$modal.msgSuccess("审核完成!"); |
| | | this.getlistbypower(); |
| | | this.dialogOpen = false; |
| | | } else { |
| | | if (res.msg) { |
| | | this.$modal.msgError("操作失误"); |
| | | } else { |
| | | this.$modal.msgError(res.msg); |
| | | } |
| | | } |
| | | }); |
| | | }, |
| | | getlistUser() { |
| | | this.queryParams = {}; |
| | | listUser(this.queryParams).then((res) => { |
| | | listUser(this.queryParams).then(res => { |
| | | this.userlist = res.data; |
| | | }); |
| | | }, |
| | |
| | | sums[index] = "合计"; |
| | | return; |
| | | } |
| | | const values = data.map((item) => Number(item[column.property])); |
| | | const values = data.map(item => Number(item[column.property])); |
| | | if ( |
| | | column.property == "amount" //需要显示和合计纵列 |
| | | ) { |
| | |
| | | }, |
| | | |
| | | getlistOrganization() { |
| | | listOrganization().then((res) => { }); |
| | | listOrganization().then(res => { }); |
| | | }, |
| | | |
| | | totaldayin(e) { |
| | | // const id =this.row.id |
| | | getdownloadBX(e).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", |
| | | getdownloadLW(e).then(res => { |
| | | 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); |
| | | }); |
| | | } |
| | | }); |
| | | }, |
| | | |
| | |
| | | |
| | | tojust(e) { |
| | | let username = "111"; |
| | | getFund(e).then((res) => { |
| | | getFund(e).then(res => { |
| | | username = res.data.username; |
| | | this.$modal |
| | | .confirm('是否确认通过"' + username + '"的费用申请?') |
| | | .then(function () { |
| | | getFund(e).then((res) => { |
| | | getFund(e).then(res => { |
| | | let data = res.data; |
| | | let financechecher = "已审核"; |
| | | data.financechecher = financechecher; |
| | |
| | | // }); |
| | | // }, |
| | | getmessages(val) { |
| | | getInfoBytheUserNo(val.beneficiaryno).then((res) => { |
| | | getInfoBytheUserNo(val.beneficiaryno).then(res => { |
| | | if (res.data) { |
| | | this.$set(val, res.data); |
| | | val.beneficiaryname = res.data.username; |
| | |
| | | |
| | | getBaseInfoList() { |
| | | this.loading = true; |
| | | listDonatebaseinfo(this.queryParams).then((response) => { |
| | | listDonatebaseinfo(this.queryParams).then(response => { |
| | | this.donatebaseinfoList = response.rows; |
| | | this.total = response.total; |
| | | this.loading = false; |
| | |
| | | //动态计算税前金额 |
| | | change(scope) { }, |
| | | autodonorno() { |
| | | listDonatebaseinfo().then((res) => { |
| | | // console.log("所有捐献者列表:",res); |
| | | res.rows.forEach((data) => { |
| | | // console.log("data:",data); |
| | | listDonatebaseinfo().then(res => { |
| | | res.rows.forEach(data => { |
| | | if (this.form.doname === data.name) { |
| | | this.form.donorno = data.donorno; |
| | | console.log(this.form.donorno); |
| | | } else { |
| | | // this.$modal.alertWarning("对不起,无该捐献人"); |
| | | } |
| | | }); |
| | | }); |
| | |
| | | this.loading = true; |
| | | this.reset(); |
| | | var infoid = this.curCase.id; |
| | | listFund().then((response) => { |
| | | listFund().then(response => { |
| | | this.loading = false; |
| | | this.donateconsolationfundList = response.rows; |
| | | }); |
| | | }, |
| | | |
| | | /** 查询捐献人道慰问金列表 */ |
| | | // getList() { |
| | | // this.loading = true; |
| | | // this.queryParams.params = {}; |
| | | // if (null != this.daterangeReporttime && "" != this.daterangeReporttime) { |
| | | // this.queryParams.params["beginReporttime"] = |
| | | // this.daterangeReporttime[0]; |
| | | // this.queryParams.params["endReporttime"] = this.daterangeReporttime[1]; |
| | | // } |
| | | // // this.queryParams.residencetown = this.$refs.areaSelect.getQu(); |
| | | // listFund(this.queryParams).then((response) => { |
| | | // this.donatebaseinfoList = response.rows; |
| | | // this.total = response.total; |
| | | // this.loading = false; |
| | | // }); |
| | | // }, |
| | | // 取消按钮 |
| | | cancel() { |
| | | this.dialogOpen = false; |
| | |
| | | annexregistform: null, |
| | | consolationmoney: null, |
| | | applytype: "1", |
| | | recordstatus: null, |
| | | recordstatus: null |
| | | }; |
| | | this.resetForm("form"); |
| | | }, |
| | |
| | | }, |
| | | // 多选框选中数据 |
| | | handleSelectionChange(selection) { |
| | | this.ids = selection.map((item) => item.id); |
| | | this.single = selection.length !== 1; |
| | | this.multiple = !selection.length; |
| | | let xuanzlist = selection.map(item => item.id); |
| | | if (this.ids.length <= selection.length) { |
| | | this.ids = xuanzlist; |
| | | } else { |
| | | this.ids.forEach(item => { |
| | | if (xuanzlist.includes(item)) { |
| | | } else { |
| | | if (this.overallids.length == 1) { |
| | | this.overallids = []; |
| | | } else { |
| | | this.overallids.splice(this.overallids.indexOf(item), 1); |
| | | } |
| | | if (this.overallidsvalue.length == 1) { |
| | | this.overallidsvalue = []; |
| | | } else { |
| | | this.overallidsvalue.splice( |
| | | this.overallidsvalue.indexOf(item), |
| | | 1 |
| | | ); |
| | | } |
| | | this.ids.splice(this.ids.indexOf(item), 1); |
| | | } |
| | | }); |
| | | } |
| | | |
| | | this.ids.forEach(item => { |
| | | if (this.overallids.includes(item)) { |
| | | } else { |
| | | this.overallids.push(item); |
| | | const obj = selection.find(obj => obj.id === item); |
| | | this.overallidsvalue.push(obj); |
| | | } |
| | | }); |
| | | }, |
| | | // 切换页后恢复选中 |
| | | Restorecheck() { |
| | | const overlap = this.donateconsolationfundList.filter(value => { |
| | | return this.overallids.includes(value.id); |
| | | }); |
| | | // 保持ids和当前页面的同步性 |
| | | this.ids = overlap.map(item => item.id); |
| | | |
| | | this.toggleSelection(overlap); |
| | | }, |
| | | // 挂载选择状态 |
| | | toggleSelection(rows) { |
| | | if (rows) { |
| | | this.$nextTick(() => { |
| | | rows.forEach(row => { |
| | | this.$refs.multipleTable.toggleRowSelection(row, true); |
| | | }); |
| | | }); |
| | | } else { |
| | | this.$refs.multipleTable.clearSelection(); |
| | | } |
| | | }, |
| | | Totalcalculation(tot) { |
| | | if (this.overallids.length == 0) { |
| | | this.$message({ |
| | | type: "info", |
| | | message: "当前没有选择要汇总的专家费申请单,不能汇总!" |
| | | }); |
| | | return; |
| | | } |
| | | |
| | | let bojite = { |
| | | fundids: this.overallids, |
| | | isTaxAfter: tot |
| | | }; |
| | | if (tot == 0) { |
| | | TotalcalculationFn(bojite) |
| | | .then(row => { |
| | | if (row.code == 200) { |
| | | this.$modal.msgSuccess(row.msg); |
| | | } else { |
| | | this.$modal.msgError(row.msg); |
| | | } |
| | | }) |
| | | .catch(error => { |
| | | this.$modal.msgError(error); |
| | | }); |
| | | } else { |
| | | const hasValue = this.overallidsvalue.every(obj => obj.istax == 1); |
| | | if (hasValue) { |
| | | TotalcalculationFn(bojite) |
| | | .then(row => { |
| | | if (row.code == 200) { |
| | | this.$modal.msgSuccess(row.msg); |
| | | } else { |
| | | this.$modal.msgError(row.msg); |
| | | } |
| | | }) |
| | | .catch(error => { |
| | | this.$modal.msgError(error); |
| | | }); |
| | | } else { |
| | | this.$modal.msgError("请选择算税后的数据进行合并计算"); |
| | | } |
| | | } |
| | | }, |
| | | /** 新增按钮操作 */ |
| | | handleAdd() { |
| | | console.log("222", this.curCase); |
| | | if (this.curCase.id) { |
| | | this.istrue += 2; |
| | | this.reset(); |
| | |
| | | } else { |
| | | const h = this.$createElement; |
| | | this.$message({ |
| | | message: h("p", null, [h("span", null, "请先选择左方捐献案例 ")]), |
| | | message: h("p", null, [h("span", null, "请先选择左方捐献案例 ")]) |
| | | }); |
| | | } |
| | | }, |
| | | beforehandCheck(row){ |
| | | beforehandCheck(row) { |
| | | this.$router.push({ |
| | | path: "/finance/applyDetail/", |
| | | query: { |
| | | id: row.id, |
| | | businessType: "2", |
| | | beforehandType:'1', |
| | | operationType: "check", |
| | | businessType: "1", |
| | | beforehandType: "1", |
| | | operationType: "check" |
| | | } |
| | | }); |
| | | }, |
| | | /** 修改按钮操作 */ |
| | | handleCheck(row) { |
| | | handleCheck(row) { |
| | | this.$router.push({ |
| | | path: "/finance/applyDetail/", |
| | | query: { |
| | |
| | | const id = row.id || this.ids; |
| | | this.loading = true; |
| | | this.dialogType = "edit"; |
| | | getFund(id).then((response) => { |
| | | getFund(id).then(response => { |
| | | this.loading = false; |
| | | this.form = response.data; |
| | | this.form.name = this.curCase.name; |
| | | console.log("wdadwadwadaw", this.form); |
| | | this.loading = true; |
| | | getownFundDetail(this.form.id).then((res) => { |
| | | getownFundDetail(this.form.id).then(res => { |
| | | this.loading = false; |
| | | this.fundDetailArr = res.data; |
| | | for (let m = 0; m < this.fundDetailArr.length; m++) { |
| | |
| | | this.newobj.fundid = row.id; |
| | | let listFundflowparams = { |
| | | fundid: row.id, |
| | | fundtype: 2, |
| | | fundtype: 2 |
| | | }; |
| | | listFundflow(listFundflowparams).then((res) => { |
| | | console.log(" fundtype: 1", res); |
| | | listFundflow(listFundflowparams).then(res => { |
| | | this.fundflowList = res.rows; |
| | | }); |
| | | this.dialogOpen = true; |
| | |
| | | //加载审核记录 |
| | | let listFundflowparams = { |
| | | fundid: row.id, |
| | | fundtype: 2, |
| | | fundtype: 2 |
| | | }; |
| | | listFundflow(listFundflowparams).then((res) => { |
| | | listFundflow(listFundflowparams).then(res => { |
| | | this.fundflowList = res.rows; |
| | | }); |
| | | getFund(row.id).then((response) => { |
| | | getFund(row.id).then(response => { |
| | | this.form = response.data; |
| | | this.form.name = this.curCase.name; |
| | | console.log("applytype", this.form.applytype); |
| | | getownFundDetail(row.id).then((res) => { |
| | | getownFundDetail(row.id).then(res => { |
| | | this.fundDetailArr = res.data; |
| | | for (let m = 0; m < this.fundDetailArr.length; m++) { |
| | | this.fundDetailArr[m].itemArr = []; |
| | |
| | | const infoid = this.curCase.id; |
| | | const aaa = { |
| | | infoid: infoid, |
| | | count: this.idss, |
| | | count: this.idss |
| | | }; |
| | | listFunddetails(aaa).then((res) => { }); |
| | | listFunddetails(aaa).then(res => { }); |
| | | }, |
| | | |
| | | //初始化费用申请表单界面 |
| | |
| | | updateBy: null, |
| | | updateTime: null, |
| | | uploadflag: null, |
| | | uploadtime: null, |
| | | }, |
| | | uploadtime: null |
| | | } |
| | | ]; |
| | | }, |
| | | |
| | |
| | | updateBy: null, |
| | | updateTime: null, |
| | | uploadflag: null, |
| | | uploadtime: null, |
| | | uploadtime: null |
| | | }; |
| | | this.fundDetailArr.push(rowData); |
| | | }, |
| | |
| | | this.$confirm("是否确认删除?", "提示", { |
| | | confirmButtonText: "确定", |
| | | cancelButtonText: "取消", |
| | | type: "success", |
| | | type: "success" |
| | | }) |
| | | .then(() => { |
| | | if (row.id !== null) { |
| | | delFunddetail(row.id).then((res) => { |
| | | delFunddetail(row.id).then(res => { |
| | | if (res.code === 200) { |
| | | this.$confirm("删除成功", "提示", { |
| | | confirmButtonText: "确定", |
| | | cancelButtonText: "取消", |
| | | type: "success", |
| | | type: "success" |
| | | }).then(() => { |
| | | this.$set(rows, rows.splice(index, 1)); |
| | | getownFundDetail(this.form.id).then((res) => { |
| | | getownFundDetail(this.form.id).then(res => { |
| | | this.$set(this.fundDetailArr, res.data); |
| | | // this.fundDetailArr = res.data |
| | | // console.log('删除后',this.fundDetailArr) |
| | | }); |
| | | }); |
| | | } |
| | | // getownFundDetail(this.form.id).then(res=>{ |
| | | // this.$set(this.fundDetailArr,res.data) |
| | | // this.fundDetailArr = res.data |
| | | // console.log('删除后',this.fundDetailArr) |
| | | // }) |
| | | }); |
| | | } else { |
| | | rows.splice(index, 1); |
| | |
| | | this.$confirm("是否确认保存?", "提示", { |
| | | confirmButtonText: "确定", |
| | | cancelButtonText: "取消", |
| | | type: "warning", |
| | | type: "warning" |
| | | }) |
| | | .then(() => { |
| | | let formData = this.form; |
| | | let tempItemArr = rows.itemArr; |
| | | rows.fundid = formData.id; |
| | | //获取服务项目明细 |
| | | let itemIndex = tempItemArr.findIndex( |
| | | (item) => rows.itemid == item.id |
| | | ); |
| | | let itemIndex = tempItemArr.findIndex(item => rows.itemid == item.id); |
| | | if (itemIndex > -1) { |
| | | rows.itemname = tempItemArr[itemIndex].itemname; |
| | | rows.itemid = tempItemArr[itemIndex].id; |
| | | } |
| | | //获取applytypename |
| | | let applytypeIndex = this.fundtypeArr.findIndex( |
| | | (item) => rows.applytype == item.value |
| | | item => rows.applytype == item.value |
| | | ); |
| | | if (applytypeIndex > -1) { |
| | | rows.applytypename = this.fundtypeArr[applytypeIndex].label; |
| | |
| | | rows.unitname = rows.unitno; |
| | | } |
| | | if (rows.id > 0) { |
| | | updateFunddetail(rows).then((res) => { |
| | | updateFunddetail(rows).then(res => { |
| | | this.$modal.msgSuccess("修改成功"); |
| | | this.loading = true; |
| | | getownFundDetail(this.form.id).then((res) => { |
| | | getownFundDetail(this.form.id).then(res => { |
| | | this.fundDetailArr = res.data; |
| | | for (let m = 0; m < this.fundDetailArr.length; m++) { |
| | | this.fundDetailArr[m].itemArr = []; |
| | |
| | | }); |
| | | }); |
| | | } else { |
| | | addFunddetail(rows).then((response2) => { |
| | | getownFundDetail(this.form.id).then((res) => { |
| | | addFunddetail(rows).then(response2 => { |
| | | getownFundDetail(this.form.id).then(res => { |
| | | this.$modal.msgSuccess("新增成功"); |
| | | this.fundDetailArr = res.data; |
| | | for (let m = 0; m < this.fundDetailArr.length; m++) { |
| | |
| | | this.$confirm("是否确认保存?", "提示", { |
| | | confirmButtonText: "确定", |
| | | cancelButtonText: "取消", |
| | | type: "warning", |
| | | type: "warning" |
| | | }) |
| | | .then(() => { |
| | | updateFunddetail(this.fundDetailArr).then((res) => { |
| | | console.log("牛丸牛啊", res); |
| | | }); |
| | | updateFunddetail(this.fundDetailArr).then(res => { }); |
| | | }) |
| | | .catch(() => { |
| | | //几点取消的提示 |
| | |
| | | //判断数据明细数据是否正确 |
| | | let detailDataCorrect = true; |
| | | for (let i = 0; i < this.applicationDetailArr.length; i++) { |
| | | // console.log('qqq',this.applicationDetailArr[i]); |
| | | let tempData = this.applicationDetailArr[i]; |
| | | Object.keys(tempData).forEach(function (key) { |
| | | // console.log('iii',key, tempData[key]); |
| | | if ( |
| | | tempData[key] == null || |
| | | tempData[key] == undefined || |
| | |
| | | |
| | | //获取费用类型 |
| | | getCurFundType() { |
| | | getFundTypeAll(1).then((res) => { |
| | | console.log("费用类型", res.data); |
| | | getFundTypeAll(1).then(res => { |
| | | let dataList = res.data; |
| | | this.fundtypeArrAll = dataList; |
| | | this.fundtypeArr = []; |
| | | for (let m = 0; m < dataList.length; m++) { |
| | | this.fundtypeArr.push({ |
| | | value: dataList[m].itemType, |
| | | label: dataList[m].itemTypeName, |
| | | label: dataList[m].itemTypeName |
| | | }); |
| | | } |
| | | }); |
| | |
| | | let arrreportlist = []; |
| | | for (let i = 0; i < arr.length; i++) { |
| | | this.arrr2 = []; |
| | | listReportname(arr[i]).then((res) => { |
| | | listReportname(arr[i]).then(res => { |
| | | this.arrr2 = res.data; |
| | | this.arrr3 = this.arrr3.concat(this.arrr2); |
| | | console.log("adadadadasdsad", this.arrr3, this.userlist); |
| | | }); |
| | | } |
| | | }, |
| | | |
| | | selectpersonmsg(row) { |
| | | this.personlist.map((res) => { |
| | | this.personlist.map(res => { |
| | | if (row.beneficiaryname == res.username) { |
| | | row.beneficiaryno = res.userno; |
| | | row.beneficiaryname = res.username; |
| | |
| | | }, |
| | | |
| | | getlistExternalperson() { |
| | | listExternalperson().then((res) => { |
| | | listExternalperson().then(res => { |
| | | this.personlist = res.rows; |
| | | }); |
| | | }, |
| | |
| | | |
| | | //专家费劳务打印 |
| | | dayin(id) { |
| | | getdownloadLW(id).then((res) => { |
| | | getdownloadLW(id).then(res => { |
| | | if (res.downloadUrl) { |
| | | var fileUrl = res; |
| | | //获取当前网址 |
| | |
| | | aEle.click(); |
| | | this.$alert("下载成功", "提示", { |
| | | confirmButtonText: "确定", |
| | | type: "success", |
| | | type: "success" |
| | | }); |
| | | } |
| | | }); |
| | |
| | | dayin0() { |
| | | if (this.form.id) { |
| | | const id = this.form.id; |
| | | console.log(id); |
| | | getdownloadLW(id).then((res) => { |
| | | getdownloadLW(id).then(res => { |
| | | if (res.downloadUrl) { |
| | | var fileUrl = res; |
| | | //获取当前网址 |
| | |
| | | aEle.click(); |
| | | this.$alert("下载成功", "提示", { |
| | | confirmButtonText: "确定", |
| | | type: "success", |
| | | type: "success" |
| | | }); |
| | | } |
| | | }); |
| | | } else { |
| | | this.$alert("请确认您要下载的专家劳务表", "提醒", { |
| | | confirmButtonText: "确定", |
| | | type: "warning", |
| | | type: "warning" |
| | | }); |
| | | } |
| | | }, |
| | |
| | | dayin1() { |
| | | if (this.form.id) { |
| | | const id = this.form.id; |
| | | getdownloadLW(id).then((res) => { |
| | | getdownloadLW(id).then(res => { |
| | | if (res.downloadUrl) { |
| | | var fileUrl = res; |
| | | //获取当前网址 |
| | |
| | | aEle.click(); |
| | | this.$alert("下载成功", "提示", { |
| | | confirmButtonText: "确定", |
| | | type: "success", |
| | | type: "success" |
| | | }); |
| | | } |
| | | }); |
| | | } else { |
| | | this.$alert("请确认您要下载的专家劳务表", "提醒", { |
| | | confirmButtonText: "确定", |
| | | type: "warning", |
| | | type: "warning" |
| | | }); |
| | | } |
| | | }, |
| | |
| | | dayin2() { |
| | | if (this.form.id) { |
| | | const id = this.form.id; |
| | | getdownloadYX(id).then((res) => { |
| | | getdownloadYX(id).then(res => { |
| | | if (res.downloadUrl) { |
| | | var fileUrl = res; |
| | | //获取当前网址 |
| | |
| | | aEle.click(); |
| | | this.$alert("下载成功", "提示", { |
| | | confirmButtonText: "确定", |
| | | type: "success", |
| | | type: "success" |
| | | }); |
| | | } |
| | | }); |
| | | } else { |
| | | this.$alert("请确认您要下载的专家劳务表", "提醒", { |
| | | confirmButtonText: "确定", |
| | | type: "warning", |
| | | type: "warning" |
| | | }); |
| | | } |
| | | }, |
| | |
| | | dayin3() { |
| | | if (this.form.id) { |
| | | const id = this.form.id; |
| | | getdownloadSH(id).then((res) => { |
| | | getdownloadSH(id).then(res => { |
| | | if (res.downloadUrl) { |
| | | var fileUrl = res; |
| | | //获取当前网址 |
| | |
| | | aEle.click(); |
| | | this.$alert("下载成功", "提示", { |
| | | confirmButtonText: "确定", |
| | | type: "success", |
| | | type: "success" |
| | | }); |
| | | } |
| | | }); |
| | | } else { |
| | | this.$alert("请确认您要下载的专家劳务表", "提醒", { |
| | | confirmButtonText: "确定", |
| | | type: "warning", |
| | | type: "warning" |
| | | }); |
| | | } |
| | | }, |
| | | dayin4() { |
| | | const id = this.form.id; |
| | | // getdownloadLL(id).then(res=>{ |
| | | // console.log('劳务下载',res); |
| | | // }) |
| | | }, |
| | | // 捐献者家属交通食宿打印 |
| | | dayin5() { |
| | | if (this.form.id) { |
| | | const id = this.form.id; |
| | | getdownloadSS(id).then((res) => { |
| | | getdownloadSS(id).then(res => { |
| | | if (res.downloadUrl) { |
| | | var fileUrl = res; |
| | | //获取当前网址 |
| | |
| | | aEle.click(); |
| | | this.$alert("下载成功", "提示", { |
| | | confirmButtonText: "确定", |
| | | type: "success", |
| | | type: "success" |
| | | }); |
| | | } |
| | | console.log("家属伙食交通费", res); |
| | | }); |
| | | } else { |
| | | this.$alert("请确认您要下载的专家劳务表", "提醒", { |
| | | confirmButtonText: "确定", |
| | | type: "warning", |
| | | type: "warning" |
| | | }); |
| | | } |
| | | }, |
| | | }, |
| | | } |
| | | } |
| | | }; |
| | | </script> |