| | |
| | | <template> |
| | | <div class="app-container"> |
| | | <el-form :model="queryParams" ref="queryForm" :inline="true" v-show="showSearch" label-width="120px"> |
| | | <el-row align="left"> |
| | | <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="handleQuery"> |
| | | </el-date-picker> |
| | | <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> |
| | | </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" |
| | | @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-form-item> |
| | | </el-col> |
| | | <el-col :span="5"> |
| | | <el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">搜索</el-button> |
| | | <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-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="flowconclusion" /> |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :span="8"> |
| | | <el-form-item label="申请日期" prop="applyTime"> |
| | | <el-date-picker format="yyyy-MM-dd" @change="selectapplication" value-format="yyyy-MM-dd" v-model="applyTime" |
| | | type="daterange" range-separator="至" start-placeholder="申请开始日期" end-placeholder="申请结束日期" |
| | | @keyup.enter.native="flowconclusion"> |
| | | </el-date-picker> |
| | | </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-row> |
| | | </el-form> |
| | | <el-row> |
| | | <el-col :span="8"> |
| | | <div style="margin-bottom: 15px;"> |
| | | <el-button type="primary" plain icon="el-icon-circle-check" size="mini" |
| | | @click="Totalcalculation(1)">计税后合计</el-button> |
| | | <el-button icon="el-icon-remove-outline" type="success" plain size="mini" |
| | | @click="Totalcalculation(0)">计税前合计</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-column label="审批状态" width="120" align="center" prop="checkFlag"> |
| | | <template slot-scope="scope"> |
| | | <span v-if="scope.row.checkFlag == 0"><i class="el-icon-check" |
| | | 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"> |
| | | <template slot-scope="scope"> |
| | | <span>{{ parseTime(scope.row.createTime, "{y}-{m}-{d}") }}</span> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column label="申请人" align="center" prop="username" width="120px" /> |
| | | <el-table-column label="捐献编号" align="center" prop="donorno" width="240px" /> |
| | | <el-table-column label="捐献者" align="center" prop="donorname" width="120px" /> |
| | | <!-- <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="amountrequested" width="120px" /> |
| | | <el-table v-loading="loading" ref="multipleTable" tooltip-effect="dark" border :data="donateconsolationfundList" |
| | | @selection-change="handleSelectionChange"> |
| | | <el-table-column type="selection" width="45"> </el-table-column> |
| | | |
| | | <el-table-column label="记录状态" align="center" prop="recordstatus" width="180"> |
| | | <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="pretaxcost" width="200px" /> |
| | | <el-table-column label="经办人" align="center" prop="username" width="150px" /> |
| | | <el-table-column label="申请材料状态" width="140" align="center" prop="checkFlag"> |
| | | <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="预支费用" align="center" prop="prepaidamount" width="120px" /> |
| | | <el-table-column label="财务审核" align="center" prop="financechecher" width="140" /> |
| | | |
| | | <el-table-column label="个税计算情况" align="center" prop="recordstatus" width="200"> |
| | | <template slot-scope="scope"> |
| | | <dict-tag :options="dict.type.sys_tax" :value="scope.row.istax" /> |
| | | </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" /> |
| | | <el-table-column label="财务审核" align="center" prop="financechecher" width="140" />--> |
| | | <el-table-column label="操作" fixed="right" align="center" class-name="small-padding fixed-width" width="260px"> |
| | | <template slot-scope="scope"> |
| | | <el-button size="mini" type="text" icon="el-icon-edit" v-if="scope.row.checkFlag == 0" |
| | | @click="handleShow(scope.row)">详情</el-button> |
| | | @click="handleDetail(scope.row)">详情</el-button> |
| | | |
| | | <el-button v-if="scope.row.checkFlag == 1" size="mini" type="text" icon="el-icon-edit" |
| | | @click="handleUpdate(scope.row)">审核</el-button> |
| | | @click="handleCheck(scope.row)">审核</el-button> |
| | | <!-- v-hasPermi="['project:donateconsolationfund:edit']" --> |
| | | <el-button size="mini" type="text" icon="el-icon-download" @click="totaldayin(scope.row.id)" |
| | | v-hasPermi="['project:donateconsolationfund:download']">下载</el-button> |
| | | <el-button size="mini" type="text" icon="el-icon-download" @click="totaldayin(scope.row.id)">下载</el-button> |
| | | <!-- <el-popover placement="right" width="400" trigger="click"> |
| | | <el-table :data="gridData"> |
| | | <el-table-column |
| | | width="150" |
| | | property="date" |
| | | label="日期" |
| | | ></el-table-column> |
| | | <el-table-column |
| | | width="100" |
| | | property="name" |
| | | label="审批人" |
| | | ></el-table-column> |
| | | <el-table-column |
| | | width="300" |
| | | property="address" |
| | | label="审批结果" |
| | | ></el-table-column> |
| | | </el-table> |
| | | <el-button |
| | | size="mini" |
| | | type="text" |
| | | icon="el-icon-s-order" |
| | | slot="reference" |
| | | >审批记录</el-button |
| | | > |
| | | </el-popover> --> |
| | | </template> |
| | | </el-table-column> |
| | | </el-table> |
| | |
| | | </el-table-column> |
| | | <el-table-column prop="amount" align="center" label="税前金额" width="150"> |
| | | <template slot-scope="scope"> |
| | | <el-input v-model="scope.row.amount" @blur="(val) => { |
| | | <el-input v-model="scope.row.amount" @blur="val => { |
| | | sumTotalFee(); |
| | | } |
| | | " placeholder="税前金额" /> |
| | |
| | | </el-table-column> --> |
| | | <el-table-column prop="taxedamount" align="center" label="税后金额" width="150"> |
| | | <template slot-scope="scope"> |
| | | <el-input v-model="scope.row.taxedamount" placeholder="税后金额" @blur="(val) => { |
| | | <el-input v-model="scope.row.taxedamount" placeholder="税后金额" @blur="val => { |
| | | sumTotalFee(); |
| | | } |
| | | " /> |
| | |
| | | </el-row> |
| | | <el-row style="margin-top: 25px; margin-bottom: 5px"> |
| | | <el-col :span="7"> |
| | | <el-form-item label="申请日期" prop="createTime"> |
| | | <el-form-item label="申请日期" prop="applyTime"> |
| | | <!-- <el-input v-model="form.donorno" placeholder="请输入申请日期" /> --> |
| | | <el-date-picker clearable style="width: 100%" v-model="form.createTime" type="date" |
| | | <el-date-picker clearable style="width: 100%" v-model="form.applyTime" type="date" |
| | | value-format="yyyy-MM-dd HH:mm:ss" placeholder="申请日期"> |
| | | </el-date-picker> |
| | | </el-form-item> |
| | |
| | | getdownloadYX, |
| | | getdownloadBX, |
| | | checkfund, |
| | | listbypower, addFundSharedInfo |
| | | listbypower, |
| | | addFundSharedInfo, |
| | | TotalcalculationFn |
| | | } from "@/api/project/fund"; |
| | | import { |
| | | onelistFunds, |
| | |
| | | exportFunddetail, |
| | | getItemNames, |
| | | getFundType, |
| | | getFundTypeAll, |
| | | getFundTypeAll |
| | | } from "@/api/project/funddetail"; |
| | | import { |
| | | 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 { |
| | | listDonatebaseinfo, |
| | | getDonatebaseinfo, |
| | | getDonatebaseinfo |
| | | } from "@/api/project/donatebaseinfo"; |
| | | import Li_area_select from "@/components/Address"; |
| | | import OrgSelecter from "@/views/project/components/orgselect"; |
| | | 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, |
| | | OrgSelecter, |
| | | OrgSelecter |
| | | }, |
| | | name: "Donateconsolationfund", |
| | | dicts: [ |
| | |
| | | "sys_fund_type", |
| | | "sys_finsubject", |
| | | "sys_financeitemtype", |
| | | "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: [], |
| | | overallids: [], //总选中 |
| | | overallidsvalue: [], //总选中对象 |
| | | |
| | | // 非单个禁用 |
| | | single: true, |
| | | // 非多个禁用 |
| | |
| | | //捐献案例列表数据 |
| | | // donationCaseTableData:[], |
| | | donatebaseinfoList: [], |
| | | headers: { |
| | | Authorization: "Bearer " + getToken() |
| | | }, |
| | | gridData: [ |
| | | { |
| | | date: "2016-05-02", |
| | | name: "王小虎", |
| | | address: "上海市普陀区金沙江路 1518 弄" |
| | | }, |
| | | { |
| | | date: "2016-05-04", |
| | | name: "王小虎", |
| | | address: "上海市普陀区金沙江路 1518 弄" |
| | | }, |
| | | { |
| | | date: "2016-05-01", |
| | | name: "王小虎", |
| | | address: "上海市普陀区金沙江路 1518 弄" |
| | | }, |
| | | { |
| | | date: "2016-05-03", |
| | | name: "王小虎", |
| | | address: "上海市普陀区金沙江路 1518 弄" |
| | | } |
| | | ], |
| | | |
| | | // 是否显示弹出层 |
| | | open: false, |
| | | checkFlagOptions: [ |
| | | { |
| | | value: 0, |
| | | label: "已审批", |
| | | label: "已审批" |
| | | }, |
| | | { |
| | | value: 1, |
| | | label: "待审批", |
| | | label: "待审批" |
| | | }, |
| | | { |
| | | value: 2, |
| | | label: "全部", |
| | | }, |
| | | label: "全部" |
| | | } |
| | | ], |
| | | checkmaterials: [ |
| | | { |
| | | value: 1, |
| | | label: "材料待审核" |
| | | }, |
| | | { |
| | | value: 2, |
| | | label: "审查通过等待邮寄纸质材料" |
| | | }, |
| | | { |
| | | value: 3, |
| | | label: "已收到纸质材料" |
| | | } |
| | | ], |
| | | |
| | | // 查询参数 |
| | | queryParams: { |
| | | pageNum: 1, |
| | |
| | | APPLICATIONENDTIME: null, |
| | | CHECKFLAG: 1, |
| | | APPLYTYPE: 2, |
| | | money: null |
| | | }, |
| | | // 表单参数 |
| | | form: {}, |
| | | // 表单校验 |
| | | rules: { |
| | | username: [ |
| | | { required: true, message: "请输入申请人姓名", trigger: "blur" }, |
| | | { required: true, message: "请输入申请人姓名", trigger: "blur" } |
| | | ], |
| | | createTime: [ |
| | | { required: true, message: "请输入申请日期", trigger: "blur" }, |
| | | applyTime: [ |
| | | { 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: [], |
| | |
| | | approveLevel: 5, |
| | | show: 0, |
| | | fundtypeArrAll: [], |
| | | dialogType: "show", |
| | | dialogType: "show" |
| | | }; |
| | | }, |
| | | watch: {}, |
| | |
| | | this.getUsermsg(); |
| | | }, |
| | | mounted() { |
| | | if (grtItem("ethicalExpertFeeCheck")) { |
| | | this.queryParams = grtItem("ethicalExpertFeeCheck"); |
| | | this.queryParams.APPLICATIONBEGTIME = ""; |
| | | this.queryParams.APPLICATIONENDTIME = ""; |
| | | } |
| | | this.selectReporters(); |
| | | this.getlistOrganization(); |
| | | //this.getlistUser(); |
| | |
| | | }, |
| | | methods: { |
| | | selectapplication() { |
| | | console.log("时间", this.createTime); |
| | | this.queryParams.APPLICATIONBEGTIME = this.createTime[0]; |
| | | this.queryParams.APPLICATIONENDTIME = this.createTime[1]; |
| | | console.log("时间", this.applyTime); |
| | | this.queryParams.APPLICATIONBEGTIME = this.applyTime[0]; |
| | | this.queryParams.APPLICATIONENDTIME = this.applyTime[1]; |
| | | // this.getlistbypower() |
| | | }, |
| | | getlistbypower() { |
| | | this.loading = true; |
| | | listbypower(this.queryParams).then((res) => { |
| | | listbypower(this.queryParams).then(res => { |
| | | removeItem("ethicalExpertFeeCheck"); |
| | | setItem("ethicalExpertFeeCheck", this.queryParams); |
| | | //console.log("根据权限显示列表", res); |
| | | this.loading = false; |
| | | let list = res.rows; |
| | |
| | | let checkfundobj = { |
| | | flowconclusion: this.newobj.flowlevelone, |
| | | flowcontent: this.newobj.flowconclusion, |
| | | fundid: this.newobj.fundid, |
| | | fundid: this.newobj.fundid |
| | | }; |
| | | if ( |
| | | checkfundobj.flowconclusion == null || |
| | |
| | | this.$modal.msgError("请选择审核结论!"); |
| | | return; |
| | | } |
| | | checkfund(checkfundobj).then((res) => { |
| | | checkfund(checkfundobj).then(res => { |
| | | console.log("审核费用", res); |
| | | this.dialogOpen = false; |
| | | this.reset(); |
| | |
| | | }, |
| | | 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", |
| | | getdownloadBX(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); |
| | | }); |
| | | } |
| | | }); |
| | | }, |
| | | |
| | | isopenvalue(index) { |
| | | this.isopen = index; |
| | | }, |
| | | |
| | | 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; |
| | |
| | | }, |
| | | selectReporters() { |
| | | //专家人员列表 |
| | | listReportname("expert").then((res) => { |
| | | listReportname("expert").then(res => { |
| | | this.reporters = res.data; |
| | | }); |
| | | }, |
| | | 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) => { |
| | | listDonatebaseinfo().then(res => { |
| | | // console.log("所有捐献者列表:",res); |
| | | res.rows.forEach((data) => { |
| | | res.rows.forEach(data => { |
| | | // console.log("data:",data); |
| | | if (this.form.doname === data.name) { |
| | | this.form.donorno = data.donorno; |
| | |
| | | this.loading = true; |
| | | this.reset(); |
| | | var infoid = this.curCase.id; |
| | | listFund().then((response) => { |
| | | listFund().then(response => { |
| | | console.log("获取数据", response); |
| | | this.loading = false; |
| | | this.donateconsolationfundList = response.rows; |
| | |
| | | annexbankcard: null, |
| | | annexregistform: null, |
| | | consolationmoney: null, |
| | | applytype: "2", |
| | | applytype: "2" |
| | | }; |
| | | 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); |
| | | } |
| | | }); |
| | | } |
| | | console.log(this.ids); |
| | | this.ids.forEach(item => { |
| | | if (this.overallids.includes(item)) { |
| | | console.log("3 is in the array"); |
| | | } else { |
| | | this.overallids.push(item); |
| | | const obj = selection.find(obj => obj.id === item); |
| | | console.log(obj); |
| | | this.overallidsvalue.push(obj); |
| | | } |
| | | }); |
| | | console.log(this.overallids); |
| | | }, |
| | | // 切换页后恢复选中 |
| | | Restorecheck() { |
| | | console.log(this.donateconsolationfundList); |
| | | console.log(this.overallids); |
| | | const overlap = this.donateconsolationfundList.filter(value => { |
| | | return this.overallids.includes(value.id); |
| | | }); |
| | | // 保持ids和当前页面的同步性 |
| | | this.ids = overlap.map(item => item.id); |
| | | console.log(overlap, "当前页选中数据"); |
| | | this.toggleSelection(overlap); |
| | | }, |
| | | // 挂载选择状态 |
| | | toggleSelection(rows) { |
| | | console.log(rows); |
| | | if (rows) { |
| | | this.$nextTick(() => { |
| | | rows.forEach(row => { |
| | | console.log(row); |
| | | this.$refs.multipleTable.toggleRowSelection(row, true); |
| | | console.log(1); |
| | | }); |
| | | }); |
| | | } else { |
| | | this.$refs.multipleTable.clearSelection(); |
| | | } |
| | | }, |
| | | Totalcalculation(tot) { |
| | | console.log(tot); |
| | | let bojite = { |
| | | fundids: this.overallids, |
| | | isTaxAfter: tot |
| | | }; |
| | | if (tot == 0) { |
| | | TotalcalculationFn(bojite) |
| | | .then(row => { |
| | | console.log(row.msg); |
| | | if (row.code == 200) { |
| | | this.$modal.msgSuccess(row.msg); |
| | | } else { |
| | | console.log(123); |
| | | this.$modal.msgError(row.msg); |
| | | } |
| | | }) |
| | | .catch(error => { |
| | | this.$modal.msgError(error); |
| | | }); |
| | | } else { |
| | | console.log(this.overallidsvalue); |
| | | 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() { |
| | |
| | | this.form.donorno = this.curCase.donorno; |
| | | this.form.name = this.curCase.name; |
| | | this.form.infoid = this.curCase.id; |
| | | // this.form.createTime = nowdate; |
| | | // this.form.applyTime = nowdate; |
| | | //this.open = true; |
| | | //this.initFundApplyForm(); |
| | | this.fundDetailArr = []; |
| | |
| | | } else { |
| | | const h = this.$createElement; |
| | | this.$message({ |
| | | message: h("p", null, [h("span", null, "请先选择左方捐献案例 ")]), |
| | | message: h("p", null, [h("span", null, "请先选择左方捐献案例 ")]) |
| | | }); |
| | | } |
| | | }, |
| | | /** 修改按钮操作 */ |
| | | handleUpdate(row) { |
| | | |
| | | /** 审核按钮操作 */ |
| | | handleCheck(row) { |
| | | this.$router.push({ |
| | | path: "/finance/applyDetail/", |
| | | query: { |
| | | id: row.id, |
| | | businessType: "2", |
| | | operationType: "check" |
| | | } |
| | | }); |
| | | return; |
| | | |
| | | this.isopen = 0; |
| | | this.reset(); |
| | | this.queryParams.params = {}; |
| | |
| | | //加载审核记录 |
| | | let listFundflowparams = { |
| | | fundid: row.id, |
| | | fundtype: 2, |
| | | fundtype: 2 |
| | | }; |
| | | listFundflow(listFundflowparams).then((res) => { |
| | | listFundflow(listFundflowparams).then(res => { |
| | | this.fundflowList = res.rows; |
| | | }); |
| | | getFund(id).then((response) => { |
| | | getFund(id).then(response => { |
| | | this.form = response.data; |
| | | this.form.name = this.curCase.name; |
| | | console.log("applytype", this.form.applytype); |
| | | getownFundDetail(id).then((res) => { |
| | | getownFundDetail(id).then(res => { |
| | | console.log("查询明细记录:", res); |
| | | this.fundDetailArr = res.data; |
| | | for (let m = 0; m < this.fundDetailArr.length; m++) { |
| | |
| | | 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 |
| | | } |
| | | ]; |
| | | }, |
| | | |
| | |
| | | updateTime: null, |
| | | uploadflag: null, |
| | | uploadtime: null, |
| | | itemArr: [], |
| | | itemArr: [] |
| | | }; |
| | | 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.sumTotalFee(); |
| | | }); |
| | |
| | | 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; |
| | | this.loading = false; |
| | | }); |
| | | }); |
| | | } 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; |
| | | this.loading = false; |
| | |
| | | this.$confirm("是否确认保存?", "提示", { |
| | | confirmButtonText: "确定", |
| | | cancelButtonText: "取消", |
| | | type: "warning", |
| | | type: "warning" |
| | | }) |
| | | .then(() => { |
| | | updateFunddetail(this.fundDetailArr).then((res) => { |
| | | updateFunddetail(this.fundDetailArr).then(res => { |
| | | console.log("牛丸牛啊", res); |
| | | }); |
| | | }) |
| | |
| | | |
| | | //加载服务项目 |
| | | LoadItemTypeArr(row) { |
| | | let list = this.fundtypeArrAll.filter((r) => r.itemType == row.applytype); |
| | | let list = this.fundtypeArrAll.filter(r => r.itemType == row.applytype); |
| | | row.itemArr = list[0].itemDetails; |
| | | row.itemid = null; |
| | | this.$forceUpdate(); |
| | |
| | | |
| | | //获取费用类型 |
| | | getCurFundType() { |
| | | getFundTypeAll(2).then((res) => { |
| | | getFundTypeAll(2).then(res => { |
| | | console.log("费用类型", res.data); |
| | | let dataList = res.data; |
| | | this.fundtypeArrAll = dataList; |
| | |
| | | for (let m = 0; m < dataList.length; m++) { |
| | | this.fundtypeArr.push({ |
| | | value: dataList[m].itemType, |
| | | label: dataList[m].itemTypeName, |
| | | label: dataList[m].itemTypeName |
| | | }); |
| | | } |
| | | }); |
| | | }, |
| | | |
| | | getItemArr(rowindex, row) { |
| | | let list = this.fundtypeArrAll.filter((r) => r.itemType == row.applytype); |
| | | let list = this.fundtypeArrAll.filter(r => r.itemType == row.applytype); |
| | | row.itemArr = list[0].itemDetails; |
| | | this.$set(this.fundDetailArr, rowindex, row); |
| | | //this.loading = true; |
| | |
| | | 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; |
| | | }); |
| | | }, |
| | |
| | | }, |
| | | |
| | | getUsermsg() { |
| | | getUserProfile().then((response) => { |
| | | getUserProfile().then(response => { |
| | | console.log("登录用户信息", response.data); |
| | | // this.defaultperson = response.data; |
| | | // this.standardlevel = response.data.standardlevel; |
| | |
| | | }, |
| | | |
| | | //查看审核详情 |
| | | handleShow(row) { |
| | | handleDetail(row) { |
| | | this.$router.push({ |
| | | path: "/finance/applyDetail/", |
| | | query: { |
| | | id: row.id, |
| | | businessType: "2", |
| | | operationType: "detail" |
| | | } |
| | | }); |
| | | return; |
| | | |
| | | this.isopen = 0; |
| | | this.reset(); |
| | | this.queryParams.params = {}; |
| | |
| | | //加载审核记录 |
| | | 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 = []; |
| | |
| | | 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" |
| | | }); |
| | | } |
| | | }, |
| | |
| | | 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> |