<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="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-width="120px"
|
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 label="审批状态" prop="CHECKFLAG" style="float: left">
|
<el-select
|
v-model="queryParams.CHECKFLAG"
|
placeholder="请选择"
|
style="width: 100%"
|
>
|
<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="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="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
|
>
|
</div>
|
</el-col>
|
</el-row>
|
</el-form>
|
<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="报销单号"
|
align="center"
|
prop="bh"
|
width="150px"
|
/>
|
<el-table-column
|
label="申请日期"
|
width="180"
|
align="center"
|
prop="applyTime"
|
>
|
<template slot-scope="scope">
|
<span>{{ parseTime(scope.row.applyTime, "{y}-{m}-{d}") }}</span>
|
</template>
|
</el-table-column>
|
<el-table-column
|
label="申请金额"
|
align="center"
|
prop="pretaxcost"
|
width="200px"
|
/>
|
<el-table-column
|
label="经办人"
|
align="center"
|
prop="username"
|
width="150px"
|
/>
|
<!--<el-table-column label="捐献编号" align="center" prop="donorno" />-->
|
<!--
|
<el-table-column label="预支费用" align="center" prop="prepaidamount" 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="当前审核级别" width="180" align="center" prop="flowlevel">
|
<template slot-scope="scope">
|
<dict-tag :options="dict.type.sys_consolationfundlevel" :value="scope.row.flowlevel" />
|
</template>
|
</el-table-column>
|
<el-table-column label="财务审核" align="center" prop="financechecher" width="140" />
|
-->
|
<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="180"
|
>
|
<template slot-scope="scope">
|
<dict-tag
|
:options="dict.type.sys_recordstatus"
|
:value="scope.row.recordstatus"
|
/>
|
</template>
|
</el-table-column>
|
<el-table-column
|
label="所属组别"
|
align="center"
|
prop="deptmentname"
|
width="200px"
|
/>
|
<el-table-column
|
label="组长"
|
align="center"
|
prop="managername"
|
width="150px"
|
/>
|
<el-table-column
|
label="捐献者"
|
align="center"
|
prop="donorname"
|
width="150px"
|
/>
|
<el-table-column label="备注" align="center" prop="remark" />
|
<el-table-column
|
label="操作"
|
fixed="right"
|
align="center"
|
class-name="small-padding fixed-width"
|
width="260px"
|
>
|
<template slot-scope="scope">
|
<el-button
|
v-if="scope.row.checkFlag == 1"
|
size="mini"
|
type="text"
|
icon="el-icon-edit"
|
@click="handleCheck(scope.row)"
|
>审核</el-button
|
>
|
<!-- v-hasPermi="['project:donateconsolationfund:edit']" -->
|
<el-button
|
size="mini"
|
type="text"
|
icon="el-icon-edit"
|
@click="handleDetail(scope.row)"
|
>详情</el-button
|
>
|
<el-button
|
size="mini"
|
type="text"
|
icon="el-icon-download"
|
@click="totaldayin(scope.row.id)"
|
>下载</el-button
|
>
|
<!-- v-hasPermi="['project:donateconsolationfund:download']" -->
|
|
<!-- 新增审核页面 -->
|
<!-- <el-button
|
size="mini"
|
type="text"
|
icon="el-icon-edit"
|
@click="tojust(scope.row.id)"
|
v-hasPermi="['project:donateconsolationfund:edit']"
|
>测试审核</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"
|
/>
|
</el-row>
|
</el-form>
|
|
<!-- 添加或修改费用申请单 -->
|
<el-dialog
|
:visible.sync="dialogOpen"
|
width="1400px"
|
:title="title"
|
style="text-align: center"
|
>
|
<el-form ref="form" :model="form" label-width="120px" :rules="rules">
|
<!-- <el-form ref="applyForm" :model="applicationForm" label-width="120px"> -->
|
<el-row>
|
<el-col :span="5">
|
<el-form-item label="申请日期" prop="createTime">
|
<!-- <el-input v-model="form.donorno" placeholder="请输入申请日期" /> -->
|
<el-date-picker
|
clearable
|
style="width: 100%"
|
v-model="form.createTime"
|
type="date"
|
value-format="yyyy-MM-dd HH:mm:ss"
|
placeholder="申请日期"
|
>
|
</el-date-picker>
|
</el-form-item>
|
</el-col>
|
<el-col :span="5">
|
<el-form-item label="经手人" prop="username">
|
<el-select
|
v-model="form.username"
|
placeholder="申请人姓名"
|
clearable
|
filterable
|
allow-create
|
style="width: 100%"
|
>
|
<el-option
|
v-for="dict in userlist"
|
:key="dict.index"
|
:label="dict.nickname"
|
:value="dict.nickname"
|
></el-option>
|
</el-select>
|
</el-form-item>
|
</el-col>
|
<el-col :span="5">
|
<el-form-item label="所属组别" prop="deptmentname">
|
<el-input
|
v-model="form.deptmentname"
|
placeholder="请输入所属组别"
|
clearable
|
:disabled="true"
|
/>
|
</el-form-item>
|
</el-col>
|
<el-col :span="5">
|
<el-form-item label="组长" prop="managername">
|
<el-input
|
v-model="form.managername"
|
placeholder="请输入组长"
|
clearable
|
:disabled="true"
|
/>
|
</el-form-item>
|
</el-col>
|
</el-row>
|
<el-row>
|
<el-col :span="5"
|
><el-form-item label="申请类型">
|
<el-radio-group
|
v-model="form.applytype"
|
@change="LoadItemTypeArr"
|
>
|
<!--<el-radio v-for="dict in dict.type.sys_financeitemtype" :key="dict.value" :label="dict.value"
|
:disabled="form.id != null">{{ dict.label }}</el-radio>-->
|
<el-radio v-model="form.applytype" label="3"
|
>医学成本费用申请</el-radio
|
>
|
</el-radio-group>
|
</el-form-item>
|
</el-col>
|
<el-col :span="10">
|
<el-form-item label="申请说明" prop="remark">
|
<el-input
|
v-model="form.remark"
|
placeholder="请输入申请说明"
|
clearable
|
:disabled="true"
|
/>
|
</el-form-item>
|
</el-col>
|
<el-col :span="5">
|
<el-form-item label="捐献者" prop="donorname">
|
<el-input
|
v-model="form.donorname"
|
placeholder="请输入捐献者姓名"
|
clearable
|
:disabled="true"
|
/>
|
</el-form-item>
|
</el-col>
|
<!--
|
<el-col :span="8">
|
<el-form-item label="捐献编号" prop="donorno">
|
<el-input disabled v-model="form.donorno" placeholder="请输入捐献编号" clearable />
|
</el-form-item>
|
</el-col>
|
<el-col :span="8">
|
<el-form-item label="联系电话" prop="phone">
|
<el-input v-model="form.phone" placeholder="请输入申请者的联系方式" clearable />
|
</el-form-item>
|
</el-col>
|
<el-col :span="8">
|
<el-form-item label="工作单位" prop="unitno">
|
<org-selecter ref="orgSelecter" :org-type="'3'" v-model="form.unitno" />
|
</el-form-item>
|
</el-col>
|
-->
|
</el-row>
|
<el-row>
|
<el-col :span="5">
|
<el-form-item label="合计金额" prop="amountrequested">
|
<el-input
|
v-model="form.amountrequested"
|
placeholder="申请金额"
|
:disabled="true"
|
/>
|
</el-form-item> </el-col
|
><!--
|
<el-col :span="5">
|
<el-form-item label="税前金额" prop="amountrequested">
|
<el-input v-model="form.pretaxcost" placeholder="税前金额合计" :disabled="true" />
|
</el-form-item>
|
</el-col>
|
<el-col :span="5">
|
<el-form-item label="税后金额" prop="amountrequested">
|
<el-input v-model="form.taxedcost" placeholder="税后金额合计" :disabled="true" />
|
</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-col>-->
|
</el-row>
|
<el-row>
|
<el-col :span="4">
|
<el-button
|
type="primary"
|
plain
|
icon="el-icon-plus"
|
size="mini"
|
@click="addRow"
|
:disabled="true"
|
>新增专家费</el-button
|
>
|
</el-col>
|
</el-row>
|
<el-row style="margin-top: 5px; margin-bottom: 5px">
|
<el-table
|
:data="fundDetailArr"
|
:summary-method="getSummaries"
|
border
|
highlight-current-row
|
>
|
<el-table-column
|
prop="orderno"
|
align="center"
|
label="排序"
|
width="80"
|
>
|
<template slot-scope="scope">
|
<el-input v-model="scope.row.orderno" placeholder="排序" />
|
</template>
|
</el-table-column>
|
<el-table-column
|
prop="itemtype"
|
align="center"
|
label="费用类型"
|
width="220"
|
>
|
<template slot-scope="scope">
|
<el-select
|
v-model="scope.row.applytype"
|
placeholder="费用类型"
|
@change="LoadItemTypeArr(scope.row)"
|
>
|
<el-option
|
v-for="dict in fundtypeArr"
|
:key="dict.value"
|
:label="dict.label"
|
:value="dict.value"
|
></el-option>
|
</el-select>
|
</template>
|
</el-table-column>
|
<el-table-column
|
prop="itemtype"
|
align="center"
|
label="服务项目"
|
width="260"
|
>
|
<template slot-scope="scope">
|
<el-select
|
v-model="scope.row.itemid"
|
placeholder="服务项目"
|
clearable
|
filterable
|
allow-create
|
@change="select(scope.row)"
|
:filter-method="val => SearchItem(val, scope)"
|
>
|
<el-option
|
v-for="dict in scope.row.itemArr"
|
:key="dict.id"
|
:label="dict.itemName"
|
:value="dict.id"
|
></el-option>
|
</el-select>
|
</template>
|
</el-table-column>
|
<el-table-column
|
prop="beneficiaryno"
|
align="center"
|
label="姓名"
|
width="120"
|
v-if="form.applytype != 3"
|
>
|
<template slot-scope="scope">
|
<el-input
|
v-model="scope.row.beneficiaryname"
|
placeholder="姓名"
|
/>
|
</template>
|
</el-table-column>
|
<!--
|
<el-table-column prop="servicesscopename" align="center" label="费用说明" width="180">
|
<template slot-scope="scope">
|
<el-select v-model="scope.row.servicesscopename" placeholder="费用说明" clearable allow-create filterable
|
@change="selectremark(scope.row)">
|
<el-option v-for="dict in fundblock" :key="dict.expensedescribe" :label="dict.expensedescribe"
|
:value="dict.expensedescribe"></el-option>
|
</el-select>
|
</template>
|
</el-table-column>-->
|
<el-table-column
|
prop="amount"
|
align="center"
|
label="税前金额"
|
width="120"
|
v-if="form.applytype != 3"
|
>
|
<template slot-scope="scope">
|
<el-select
|
v-model="scope.row.amount"
|
placeholder="税前金额"
|
clearable
|
filterable
|
allow-create
|
@change="selectamount(scope.row)"
|
>
|
<el-option
|
v-for="dict in fundblock"
|
:key="dict.expensedescribe"
|
:label="dict.expense"
|
:value="dict.expense"
|
></el-option>
|
</el-select>
|
</template>
|
</el-table-column>
|
<el-table-column
|
prop="taxamount"
|
align="center"
|
label="扣税"
|
width="120"
|
v-if="form.applytype != '3'"
|
>
|
<template slot-scope="scope">
|
<el-input v-model="scope.row.taxamount" placeholder="扣税" />
|
</template>
|
</el-table-column>
|
<el-table-column
|
prop="taxedamount"
|
align="center"
|
label="税后金额"
|
width="120"
|
v-if="form.applytype != '3'"
|
>
|
<template slot-scope="scope">
|
<el-input
|
v-model="scope.row.taxedamount"
|
placeholder="税后金额"
|
/>
|
</template>
|
</el-table-column>
|
|
<el-table-column
|
prop="price"
|
align="center"
|
label="价格"
|
width="120"
|
v-if="form.applytype == '3'"
|
>
|
<template slot-scope="scope">
|
<el-input
|
v-model="scope.row.price"
|
placeholder="价格"
|
@blur="
|
val => {
|
sumTotalFee(scope.row);
|
}
|
"
|
/>
|
</template>
|
</el-table-column>
|
<el-table-column
|
prop="quantity"
|
align="center"
|
label="数量"
|
width="80"
|
v-if="form.applytype == '3'"
|
>
|
<template slot-scope="scope">
|
<el-input
|
v-model="scope.row.quantity"
|
placeholder="数量"
|
@blur="
|
val => {
|
sumTotalFee(scope.row);
|
}
|
"
|
/>
|
</template>
|
</el-table-column>
|
|
<el-table-column
|
prop="amount"
|
align="center"
|
label="金额"
|
width="120"
|
v-if="form.applytype == '3'"
|
>
|
<template slot-scope="scope">
|
<el-input v-model="scope.row.amount" placeholder="价格" />
|
</template>
|
</el-table-column>
|
<el-table-column
|
prop="unitname"
|
align="center"
|
label="单位"
|
width="220"
|
>
|
<template slot-scope="scope">
|
<org-selecter
|
:ref="'unitSel' + scope.$index"
|
:org-type="'3'"
|
v-model="scope.row.unitno"
|
/>
|
</template>
|
</el-table-column>
|
<el-table-column
|
prop="depositbank"
|
align="center"
|
label="开户银行"
|
width="200"
|
>
|
<template slot-scope="scope">
|
<el-input
|
v-model="scope.row.depositbank"
|
placeholder="开户银行"
|
/>
|
</template>
|
</el-table-column>
|
|
<el-table-column
|
prop="bankcardno"
|
align="center"
|
label="银行卡号"
|
width="210"
|
>
|
<template slot-scope="scope">
|
<el-input
|
v-model="scope.row.bankcardno"
|
placeholder="银行卡号"
|
/>
|
</template>
|
</el-table-column>
|
<el-table-column
|
prop="remark"
|
align="center"
|
label="备注"
|
width="210"
|
v-if="form.applytype == '3'"
|
>
|
<template slot-scope="scope">
|
<el-input v-model="scope.row.remark" placeholder="备注" />
|
</template>
|
</el-table-column>
|
|
<el-table-column
|
prop="title"
|
align="center"
|
label="职称"
|
width="120"
|
v-if="form.applytype != '3'"
|
>
|
<template slot-scope="scope">
|
<el-input v-model="scope.row.title" placeholder="职称" />
|
</template>
|
</el-table-column>
|
<el-table-column
|
prop="idcardno"
|
align="center"
|
label="身份证号"
|
width="200"
|
v-if="form.applytype != '3'"
|
>
|
<template slot-scope="scope">
|
<el-input v-model="scope.row.idcardno" placeholder="身份证号" />
|
</template>
|
</el-table-column>
|
<el-table-column
|
prop="depositbank"
|
align="center"
|
label="开户银行"
|
width="200"
|
v-if="form.applytype != '3'"
|
>
|
<template slot-scope="scope">
|
<el-input
|
v-model="scope.row.depositbank"
|
placeholder="开户银行"
|
/>
|
</template>
|
</el-table-column>
|
|
<el-table-column
|
prop="bankcardno"
|
align="center"
|
label="银行卡号"
|
width="210"
|
v-if="form.applytype != '3'"
|
>
|
<template slot-scope="scope">
|
<el-input
|
v-model="scope.row.bankcardno"
|
placeholder="银行卡号"
|
/>
|
</template>
|
</el-table-column>
|
<el-table-column
|
fixed="right"
|
align="center"
|
label="操作"
|
width="200"
|
>
|
<template slot-scope="scope">
|
<el-button
|
@click="saveRows(scope.row, scope.$index)"
|
type="text"
|
size="small"
|
v-if="show === 1"
|
>
|
保存
|
</el-button>
|
<el-button
|
@click.native.prevent="
|
deleteRows(scope.row, scope.$index, fundDetailArr)
|
"
|
type="text"
|
size="small"
|
v-hasPermi="['project:costFeeCheck:delete']"
|
>
|
删除
|
</el-button>
|
</template>
|
</el-table-column>
|
</el-table>
|
</el-row>
|
|
<el-row>
|
<el-col :span="24">
|
<el-form-item
|
label="费用申请附件:"
|
align="left"
|
prop="annexbankcard"
|
>
|
<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-exceed="handleExceed"
|
:on-remove="remove"
|
accept="image/*,.pdf"
|
>
|
<el-button
|
:disabled="dialogType == 'detail'"
|
size="small"
|
type="primary"
|
>上传</el-button
|
>
|
</el-upload>
|
</el-form-item>
|
</el-col>
|
</el-row>
|
|
<el-row style="margin-top: 5px; margin-bottom: 5px">
|
<el-table :data="fundflowList" border>
|
<el-table-column
|
label="审核人"
|
align="center"
|
prop="checkusername"
|
/>
|
<el-table-column
|
label="审核日期"
|
align="center"
|
prop="createTime"
|
/>
|
<el-table-column
|
label="审核结果"
|
align="center"
|
prop="flowconclusion"
|
><template slot-scope="scope"
|
><span v-if="scope.row.flowconclusion == 1">通过</span
|
><span v-if="scope.row.flowconclusion == 2"
|
>不通过</span
|
></template
|
>
|
</el-table-column>
|
<el-table-column
|
label="审核备注"
|
align="center"
|
prop="flowcontent"
|
/>
|
</el-table>
|
</el-row>
|
|
<el-row
|
style="margin-top: 25px; margin-bottom: 5px"
|
v-if="dialogType == 'edit'"
|
>
|
<el-col :span="7">
|
<el-form-item label="审核" align="left">
|
<el-radio-group v-model="newobj.flowlevelone" align="left">
|
<el-radio label="1">通过</el-radio>
|
<el-radio label="2">不通过</el-radio>
|
</el-radio-group>
|
</el-form-item>
|
</el-col>
|
<el-col :span="12">
|
<el-form-item label="审核备注">
|
<el-input
|
v-model="newobj.flowconclusion"
|
placeholder="申报费用"
|
/>
|
</el-form-item>
|
</el-col>
|
</el-row>
|
</el-form>
|
<div slot="footer" class="dialog-footer">
|
<el-button type="primary" @click="dundcheck" v-if="dialogType == 'edit'"
|
>确认</el-button
|
>
|
<el-button @click="cancel">取消</el-button>
|
</div>
|
</el-dialog>
|
</div>
|
</template>
|
|
<script>
|
import {
|
onelistFund,
|
listFund,
|
getFund,
|
delFund,
|
addFund,
|
updateFund,
|
exportFund,
|
getdownloadLW,
|
getdownloadSH,
|
getdownloadSS,
|
getdownloadYX,
|
getdownloadBX,
|
checkfund,
|
listbypower,
|
getdetailsByItemId,
|
addFundSharedInfo
|
} from "@/api/project/fund";
|
import {
|
onelistFunds,
|
listFunddetails,
|
listFunddetail,
|
getFunddetail,
|
delFunddetail,
|
addFunddetail,
|
getownFundDetail,
|
updateFunddetail,
|
exportFunddetail,
|
getItemNames,
|
getFundType,
|
getFundTypeAll,
|
listcountItem
|
} from "@/api/project/funddetail";
|
import {
|
listOrganization,
|
getOrganization,
|
listReportname,
|
listUser
|
} from "@/api/project/organization";
|
import {
|
listFundflow,
|
getFundflow,
|
delFundflow,
|
addFundflow,
|
updateFundflow,
|
exportFundflow
|
} from "@/api/project/fundflow";
|
|
import {
|
listExternalperson,
|
getExternalperson,
|
getInfoBytheUserNo,
|
delExternalperson,
|
addExternalperson,
|
updateExternalperson,
|
exportExternalperson
|
} from "@/api/project/externalperson";
|
import {
|
listDonatebaseinfo,
|
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
|
},
|
name: "Donateconsolationfund",
|
dicts: [
|
"sys_recordstatus",
|
"sys_OrganizationType",
|
"sys_DonationStatus",
|
"sys_depositbank",
|
"sys_FamilyRelation",
|
"sys_IDType",
|
"sys_ConsolationType",
|
"sys_fund_type",
|
"sys_finsubject",
|
"sys_financeitemtype",
|
"sys_consolationfundlevel",
|
"sys_stage_type"
|
],
|
data() {
|
return {
|
arrr2: [],
|
arrr3: [],
|
//费用类型数组
|
fundtypeArr: [],
|
show: 0,
|
createTime: [],
|
newobj: {
|
flowlevelone: null,
|
flowconclusion: null,
|
fundid: null
|
},
|
showFirstapprovelevel: false,
|
showSecondapprovelevel: false,
|
showThirdapprovelevel: false,
|
bankprovince: {
|
sheng: "",
|
shi: "",
|
qu: "",
|
organizationname: null
|
},
|
openbtn: true,
|
isopen: 0,
|
istrue: 1,
|
reporters: [],
|
lunlilaowu: [],
|
arrid: [],
|
a: "",
|
idss: "",
|
updatedatas: {},
|
//当前选中捐献者姓名
|
curdonordoname: "",
|
//当前选中捐献者案例编号
|
curdonorno: "",
|
// 遮罩层
|
loading: true,
|
// 导出遮罩层
|
exportLoading: false,
|
// 选中数组
|
ids: [],
|
// 非单个禁用
|
single: true,
|
// 非多个禁用
|
multiple: true,
|
// 显示搜索条件
|
showSearch: true,
|
// 总条数
|
total: 0,
|
// 捐献人道慰问金表格数据
|
donateconsolationfundList: [],
|
// 弹出层标题
|
title: "",
|
//捐献案例列表数据
|
// donationCaseTableData:[],
|
donatebaseinfoList: [],
|
|
// 是否显示弹出层
|
open: false,
|
checkFlagOptions: [
|
{
|
value: 0,
|
label: "已审批"
|
},
|
{
|
value: 1,
|
label: "待审批"
|
},
|
{
|
value: 2,
|
label: "全部"
|
}
|
],
|
checkmaterials: [
|
{
|
value: 1,
|
label: "材料待审核"
|
},
|
{
|
value: 2,
|
label: "审查通过等待邮寄纸质材料"
|
},
|
{
|
value: 3,
|
label: "已收到纸质材料"
|
}
|
],
|
// 查询参数
|
queryParams: {
|
pageNum: 1,
|
pageSize: 10,
|
APPLICANT: null,
|
APPLICATIONBEGTIME: null,
|
APPLICATIONENDTIME: null,
|
CHECKFLAG: 1,
|
APPLYTYPE: 3,
|
donorname: null,
|
money: null
|
},
|
// 表单参数
|
form: {},
|
// 表单校验
|
rules: {
|
username: [
|
{ required: true, message: "请输入申请人姓名", trigger: "blur" }
|
],
|
createTime: [
|
{ required: true, message: "请输入申请日期", trigger: "blur" }
|
],
|
amountrequested: [
|
{ required: true, message: "请输入申请金额", trigger: "blur" }
|
]
|
},
|
//当前选中捐献案例
|
curCase: {},
|
//是否显示费用申请弹窗
|
dialogOpen: false,
|
// title: "",
|
//费用申请表单title
|
applyFormTitle: "",
|
//费用申请单form
|
applicationForm: {},
|
applicationDetailArr: [
|
{
|
startDate: null,
|
startPlace: null,
|
arriveDate: null,
|
arrivePlace: null,
|
days: null,
|
trafficType: null,
|
trafficFee: null,
|
cityTraffic: null,
|
zsf: null,
|
zf: null,
|
hsfbx: null,
|
hsfbz: null,
|
total: null,
|
title: null
|
}
|
],
|
fundDetailArr: [],
|
fundflowList: [],
|
itemtype1: [],
|
itemtype2: [],
|
itemtype3: [],
|
itemtype4: [],
|
laowulist: [],
|
// jiashumoney:[],
|
organspeciallist: [],
|
yitibody: [],
|
donoryixue: [],
|
jiashumoney: [],
|
isopenlist: [
|
{ name: "专家费劳务" },
|
{ name: "获取专家劳务费统计" },
|
{ name: "捐献者医学成本" },
|
{ name: "捐献者善后成本" },
|
{ name: "捐献伦理委员会劳务发放表" },
|
{ name: "捐献者家属交通食宿费" }
|
],
|
itemArr: [],
|
allnum: [],
|
userlist: [],
|
approveLevel: 5,
|
fundtypeArrAll: [],
|
dialogType: "edit",
|
|
//附件列表
|
fileList: [],
|
//上传附件路径
|
uploadFileUrl: process.env.VUE_APP_BASE_API + "/common/upload",
|
headers: {
|
Authorization: "Bearer " + getToken()
|
}
|
};
|
},
|
watch: {},
|
created() {
|
this.resetForm();
|
this.getCurFundType();
|
this.getUsermsg();
|
},
|
mounted() {
|
if (grtItem("medicalCostCheck")) {
|
this.queryParams = grtItem("medicalCostCheck");
|
this.queryParams.APPLICATIONBEGTIME = "";
|
this.queryParams.APPLICATIONENDTIME = "";
|
}
|
this.selectReporters();
|
this.getlistOrganization();
|
//his.getlistUser();
|
this.getlistbypower();
|
},
|
methods: {
|
selectapplication() {
|
this.queryParams.APPLICATIONBEGTIME = this.createTime[0];
|
this.queryParams.APPLICATIONENDTIME = this.createTime[1];
|
},
|
getlistbypower() {
|
this.loading = true;
|
// this.queryParams.params = {};
|
listbypower(this.queryParams).then(res => {
|
removeItem("medicalCostCheck");
|
setItem("medicalCostCheck", this.queryParams);
|
this.loading = false;
|
let list = res.rows;
|
let arr = [];
|
this.total = res.total;
|
this.donateconsolationfundList = list;
|
});
|
},
|
dundcheck() {
|
// this.$em
|
this.dialogOpen = false;
|
let checkfundobj = {
|
flowconclusion: this.newobj.flowlevelone,
|
flowcontent: this.newobj.flowconclusion,
|
fundid: this.newobj.fundid
|
};
|
checkfund(checkfundobj).then(res => {
|
if (res.code == 200) {
|
this.reset();
|
this.$modal.msgSuccess("审核完成!");
|
this.getlistbypower();
|
} else {
|
if (res.msg) {
|
this.$modal.msgError("操作失误");
|
} else {
|
this.$modal.msgError(res.msg);
|
}
|
}
|
});
|
},
|
getlistUser() {
|
this.queryParams = {};
|
listUser(this.queryParams).then(res => {
|
this.userlist = res.data;
|
});
|
},
|
getSummaries(param) {
|
const { columns, data } = param;
|
const sums = []; //声明变量
|
columns.forEach((column, index) => {
|
if (index === 0) {
|
sums[index] = "合计";
|
return;
|
}
|
const values = data.map(item => Number(item[column.property]));
|
if (
|
column.property == "amount" //需要显示和合计纵列
|
) {
|
sums[index] = values.reduce((prev, curr) => {
|
const value = Number(curr);
|
if (!isNaN(value)) {
|
return prev + curr;
|
} else {
|
return prev;
|
}
|
}, 0);
|
sums[index] += ".00元";
|
} else {
|
}
|
});
|
return sums;
|
},
|
|
getlistOrganization() {
|
listOrganization().then(res => {});
|
},
|
|
totaldayin(e) {
|
// const id =this.row.id
|
getdownloadYX(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 => {
|
username = res.data.username;
|
this.$modal
|
.confirm('是否确认通过"' + username + '"的费用申请?')
|
.then(function() {
|
getFund(e).then(res => {
|
let data = res.data;
|
let financechecher = "已审核";
|
data.financechecher = financechecher;
|
// data.recordstatus = "部门已通过";
|
const username = data.username;
|
return updateFund(data);
|
});
|
})
|
.then(() => {
|
this.getList();
|
this.getlistbypower();
|
this.$modal.msgSuccess("审核成功");
|
});
|
});
|
},
|
selectReporters() {
|
//专家人员列表
|
listReportname("expert").then(res => {
|
this.reporters = res.data;
|
});
|
},
|
getmessages(val) {
|
getInfoBytheUserNo(val.beneficiaryno).then(res => {
|
if (res.data) {
|
this.$set(val, res.data);
|
val.beneficiaryname = res.data.username;
|
val.bankcardno = res.data.bankcardno;
|
val.branchbankname = res.data.branchbankname;
|
val.depositbank = res.data.depositbank;
|
val.username = res.data.username;
|
val.unitname = res.data.unitname;
|
val.title = res.data.title;
|
val.idcardno = res.data.idcardno;
|
} else {
|
this.$set(val, res.data);
|
val.bankcardno = "";
|
val.beneficiaryname = val.beneficiaryno;
|
val.branchbankname = "";
|
val.depositbank = "";
|
val.username = "";
|
val.unitname = "";
|
val.title = "";
|
val.idcardno = "";
|
}
|
});
|
},
|
|
getBaseInfoList() {
|
this.loading = true;
|
listDonatebaseinfo(this.queryParams).then(response => {
|
this.donatebaseinfoList = response.rows;
|
this.total = response.total;
|
this.loading = false;
|
});
|
},
|
//动态计算税前金额
|
change(scope) {},
|
autodonorno() {
|
listDonatebaseinfo().then(res => {
|
res.rows.forEach(data => {
|
if (this.form.doname === data.name) {
|
this.form.donorno = data.donorno;
|
} else {
|
// this.$modal.alertWarning("对不起,无该捐献人");
|
}
|
});
|
});
|
},
|
//点击捐献案例列表触发方法
|
selectDonotor(row, column, event) {
|
this.curCase = row;
|
this.getlistbypower();
|
},
|
// 取消按钮
|
cancel() {
|
this.dialogOpen = false;
|
this.reset();
|
},
|
// 表单重置
|
reset() {
|
this.form = {
|
// 捐献者姓名 用来自动生辰个捐献编号
|
flowlevelone: null,
|
flowconclusion: null,
|
// flowleveltwo: null,
|
// flowleveltworemark: null,
|
// flowlevelthree: null,
|
// flowlevelthreeremark: null,
|
id: null,
|
infoid: null,
|
donorno: null,
|
delFlag: null,
|
createBy: null,
|
createTime: null,
|
updateBy: null,
|
updateTime: null,
|
familyrelations: null,
|
name: null,
|
doname: null,
|
unitname: null,
|
unitno: null,
|
sex: null,
|
idcardtype: null,
|
idcardno: null,
|
phone: null,
|
donorname: null,
|
depositbank: null,
|
bankprovince: null,
|
bankprovincename: null,
|
bankcity: null,
|
bankcityname: null,
|
banktown: null,
|
banktownname: null,
|
branchbankname: null,
|
bankcardno: null,
|
annexbankcard: null,
|
annexregistform: null,
|
consolationmoney: null,
|
applytype: "3"
|
};
|
this.resetForm("form");
|
|
//清空附件
|
this.fileList = [];
|
},
|
|
/** 搜索按钮操作 */
|
flowconclusion() {
|
this.queryParams.pageNum = 1;
|
this.getlistbypower();
|
},
|
/** 重置按钮操作 */
|
resetQuery() {
|
this.daterangeReporttime = [];
|
this.resetForm("queryForm");
|
this.getlistbypower();
|
},
|
// 多选框选中数据
|
handleSelectionChange(selection) {
|
this.ids = selection.map(item => item.id);
|
this.single = selection.length !== 1;
|
this.multiple = !selection.length;
|
},
|
/** 新增按钮操作 */
|
handleAdd() {
|
if (this.curCase.id) {
|
this.istrue += 2;
|
this.reset();
|
|
this.queryParams.params = {};
|
this.form.donorno = this.curCase.donorno;
|
this.form.name = this.curCase.name;
|
this.form.infoid = this.curCase.id;
|
// this.form.createTime = nowdate;
|
//this.open = true;
|
//this.initFundApplyForm();
|
this.fundDetailArr = [];
|
this.addRow();
|
this.dialogOpen = true;
|
this.title = "添加费用申请";
|
} else {
|
const h = this.$createElement;
|
this.$message({
|
message: h("p", null, [h("span", null, "请先选择左方捐献案例 ")])
|
});
|
}
|
},
|
beforehandCheck(row) {
|
this.$router.push({
|
path: "/finance/applyDetail/",
|
query: {
|
id: row.id,
|
businessType: "3",
|
beforehandType: "1",
|
operationType: "check"
|
}
|
});
|
},
|
/** 修改按钮操作 */
|
handleCheck(row) {
|
this.$router.push({
|
path: "/finance/applyDetail/",
|
query: {
|
id: row.id,
|
businessType: "3",
|
operationType: "check"
|
}
|
});
|
return;
|
|
this.isopen = 0;
|
this.reset();
|
this.queryParams.params = {};
|
this.form.donorno = this.curCase.donorno;
|
this.form.infoid = this.curCase.id;
|
this.dialogOpen = true;
|
this.title = "费用申请审批";
|
this.dialogType = "edit";
|
|
const id = row.id || this.ids;
|
this.loading = true;
|
this.newobj.fundid = row.id;
|
getFund(id).then(response => {
|
this.form = response.data;
|
this.form.name = this.curCase.name;
|
//附件处理
|
this.fileList = this.form.annexbankcard
|
? this.form.annexbankcard
|
.split(",")
|
.map(item => ({ url: item, name: item }))
|
: [];
|
|
getownFundDetail(id).then(res => {
|
this.loading = false;
|
this.fundDetailArr = res.data;
|
for (let m = 0; m < this.fundDetailArr.length; m++) {
|
this.fundDetailArr[m].itemArr = [];
|
this.getItemArr(m, this.fundDetailArr[m]);
|
}
|
});
|
});
|
},
|
|
//查看审核详情
|
handleDetail(row) {
|
this.$router.push({
|
path: "/finance/applyDetail/",
|
query: {
|
id: row.id,
|
businessType: "3",
|
operationType: "detail"
|
}
|
});
|
return;
|
|
this.isopen = 0;
|
this.reset();
|
this.queryParams.params = {};
|
this.form.donorno = this.curCase.donorno;
|
this.form.infoid = this.curCase.id;
|
this.dialogOpen = true;
|
this.title = "费用申请审批";
|
this.dialogType = "show";
|
//加载审核记录
|
let listFundflowparams = {
|
fundid: row.id,
|
fundtype: 2
|
};
|
listFundflow(listFundflowparams).then(res => {
|
this.fundflowList = res.rows;
|
});
|
getFund(row.id).then(response => {
|
this.form = response.data;
|
this.form.name = this.curCase.name;
|
//附件处理
|
this.fileList = this.form.annexbankcard
|
? this.form.annexbankcard
|
.split(",")
|
.map(item => ({ url: item, name: item }))
|
: [];
|
|
getownFundDetail(row.id).then(res => {
|
this.fundDetailArr = res.data;
|
for (let m = 0; m < this.fundDetailArr.length; m++) {
|
this.fundDetailArr[m].itemArr = [];
|
this.getItemArr(m, this.fundDetailArr[m]);
|
}
|
});
|
});
|
},
|
|
select(row) {
|
row.itemArr.map(res => {
|
if (row.itemid === res.id) {
|
row.remark = res.itemdescribe;
|
}
|
});
|
this.fundDetailArr.map(res => {
|
if (res.itemid === row.id) {
|
this.$modal.msgWarning("您已经提交过服务项目");
|
}
|
});
|
listcountItem(this.form.infoid, row.itemid).then(res => {
|
if (res.data > 0) {
|
this.$modal.msgWarning("您已经提交过该服务项目");
|
}
|
});
|
getdetailsByItemId(row.itemid).then(res => {
|
let fundmsg = res.data;
|
let fundblock = [];
|
fundmsg.forEach(item => {
|
fundblock.push({
|
expense: item.expense,
|
expensedescribe: item.expensedescribe,
|
remark: item.expensedescribe,
|
servivesscope: item.id
|
});
|
});
|
|
this.fundblock = fundblock;
|
});
|
},
|
|
getto() {
|
const infoid = this.curCase.id;
|
const aaa = {
|
infoid: infoid,
|
count: this.idss
|
};
|
listFunddetails(aaa).then(res => {});
|
},
|
|
//初始化费用申请表单界面
|
initFundApplyForm() {
|
this.fundDetailArr = [
|
{
|
id: null,
|
fundid: null,
|
beneficiaryname: null,
|
beneficiaryno: null,
|
unitname: null,
|
unitno: null,
|
uintuserno: null,
|
idcardtype: null,
|
idcardno: null,
|
sex: null,
|
familyrelations: null,
|
phone: null,
|
depositbank: null,
|
bankcardno: null,
|
branchbankname: null,
|
annexbankcard: null,
|
annexregistform: null,
|
applytype: null,
|
itemid: null,
|
itemname: null,
|
itemtype: null,
|
amount: null,
|
prepaidamount: null,
|
invoicecount: null,
|
attachcount: null,
|
remark: null,
|
recordstatus: "0",
|
delFlag: null,
|
donorname: null,
|
donorno: null,
|
createBy: null,
|
createTime: null,
|
updateBy: null,
|
updateTime: null,
|
uploadflag: null,
|
uploadtime: null
|
}
|
];
|
},
|
|
//新增一行
|
addRow() {
|
let rowData = {
|
orderno: null,
|
id: null,
|
fundid: null,
|
beneficiaryname: null,
|
beneficiaryno: null,
|
uintname: null,
|
uintno: null,
|
uintuserno: null,
|
title: null,
|
idcardtype: null,
|
idcardno: null,
|
sex: null,
|
familyrelations: null,
|
phone: null,
|
depositbank: null,
|
bankcardno: null,
|
branchbankname: null,
|
annexbankcard: null,
|
annexregistform: null,
|
applytype: null,
|
itemid: null,
|
itemname: null,
|
itemtype: null,
|
amount: null,
|
prepaidamount: null,
|
taxamount: null,
|
invoicecount: null,
|
taxedamount: null,
|
attachcount: null,
|
remark: null,
|
recordstatus: "0",
|
delFlag: null,
|
createBy: null,
|
createTime: null,
|
updateBy: null,
|
updateTime: null,
|
uploadflag: null,
|
uploadtime: null,
|
itemArr: []
|
};
|
this.fundDetailArr.push(rowData);
|
},
|
|
saverow(row, index, rows) {
|
let totallist = this.fundDetailArr;
|
if (this.form.id) {
|
if (!row.id) {
|
row.fundid = this.form.id;
|
row.donorname = this.form.donorname;
|
row.donorno = this.form.donorno;
|
addFunddetail(row).then(res => {
|
getownFundDetail(this.form.id).then(res => {
|
getownFundDetail(this.form.id).then(res => {
|
let ress = res.data;
|
this.form.amountrequested = 0;
|
ress.forEach((ele, i) => {
|
this.form.amountrequested += ele.amount;
|
});
|
});
|
});
|
});
|
} else {
|
rows[index] = row;
|
// rows[index].itemid = row.itemid;
|
// rows[index].amount = row.amount;
|
// rows[index].taxamound = row.taxamound;
|
// rows[index].taxedamount = row.taxedamount;
|
// rows[index].unitname = row.unitname;
|
// rows[index].title = row.title;
|
// rows[index].idcardno = row.idcardno;
|
// rows[index].depositbank = row.depositbank;
|
// rows[index].bankcardno = row.bankcardno;
|
// rows[index].quantity = row.quantity;
|
// rows[index].price = row.price;
|
// rows[index].remark = row.remark;
|
updateFunddetail(rows[index]).then(res => {
|
getownFundDetail(this.form.id).then(res => {
|
let ress = res.data;
|
this.form.amountrequested = 0;
|
ress.forEach((ele, i) => {
|
this.form.amountrequested += ele.amount;
|
});
|
});
|
});
|
}
|
} else {
|
}
|
},
|
deleteRows(row, index, rows) {
|
this.$confirm("是否确认删除?", "提示", {
|
confirmButtonText: "确定",
|
cancelButtonText: "取消",
|
type: "success"
|
})
|
.then(() => {
|
if (row.id !== null) {
|
delFunddetail(row.id).then(res => {
|
if (res.code === 200) {
|
this.$confirm("删除成功", "提示", {
|
confirmButtonText: "确定",
|
cancelButtonText: "取消",
|
type: "success"
|
}).then(() => {
|
this.$set(rows, rows.splice(index, 1));
|
getownFundDetail(this.form.id).then(res => {
|
this.$set(this.fundDetailArr, res.data);
|
this.sumTotalFee();
|
// this.fundDetailArr = res.data
|
});
|
});
|
}
|
// getownFundDetail(this.form.id).then(res=>{
|
// this.$set(this.fundDetailArr,res.data)
|
// this.fundDetailArr = res.data
|
// })
|
});
|
} else {
|
rows.splice(index, 1);
|
this.sumTotalFee();
|
}
|
})
|
.catch(() => {
|
//几点取消的提示
|
});
|
},
|
|
saveRows(rows, rowIndex) {
|
this.$confirm("是否确认保存?", "提示", {
|
confirmButtonText: "确定",
|
cancelButtonText: "取消",
|
type: "warning"
|
})
|
.then(() => {
|
let formData = this.form;
|
let tempItemArr = rows.itemArr;
|
rows.fundid = formData.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
|
);
|
if (applytypeIndex > -1) {
|
rows.applytypename = this.fundtypeArr[applytypeIndex].label;
|
}
|
try {
|
rows.unitname = this.$refs["unitSel" + rowIndex].getOptionByValue(
|
rows.unitno
|
).organizationname;
|
} catch (e) {
|
rows.unitname = rows.unitno;
|
}
|
if (rows.id > 0) {
|
updateFunddetail(rows).then(res => {
|
this.$modal.msgSuccess("修改成功");
|
this.loading = true;
|
getownFundDetail(this.form.id).then(res => {
|
this.fundDetailArr = res.data;
|
for (let m = 0; m < this.fundDetailArr.length; m++) {
|
this.fundDetailArr[m].itemArr = [];
|
this.getItemArr(m, this.fundDetailArr[m]);
|
}
|
this.loading = false;
|
});
|
});
|
} else {
|
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.fundDetailArr[m].itemArr = [];
|
this.getItemArr(m, this.fundDetailArr[m]);
|
}
|
this.loading = false;
|
});
|
});
|
}
|
})
|
.catch(() => {
|
//几点取消的提示
|
});
|
},
|
|
updateRow(index, rows) {
|
this.$confirm("是否确认保存?", "提示", {
|
confirmButtonText: "确定",
|
cancelButtonText: "取消",
|
type: "warning"
|
})
|
.then(() => {
|
updateFunddetail(this.fundDetailArr).then(res => {});
|
})
|
.catch(() => {
|
//几点取消的提示
|
});
|
},
|
|
//费用申请保存
|
saveFundDetail() {
|
//判断数据明细数据是否正确
|
let detailDataCorrect = true;
|
for (let i = 0; i < this.applicationDetailArr.length; i++) {
|
let tempData = this.applicationDetailArr[i];
|
Object.keys(tempData).forEach(function(key) {
|
if (
|
tempData[key] == null ||
|
tempData[key] == undefined ||
|
tempData[key] == ""
|
) {
|
detailDataCorrect = false;
|
}
|
});
|
}
|
if (detailDataCorrect) {
|
}
|
// else{
|
// this.$message({
|
// message: '明细项未填写完整,请检查',
|
// type: 'warning'
|
// });
|
// }
|
},
|
|
//加载服务项目
|
LoadItemTypeArr(row) {
|
let list = this.fundtypeArrAll.filter(r => r.itemType == row.applytype);
|
row.itemArr = list[0].itemDetails;
|
row.itemid = null;
|
this.$forceUpdate();
|
//this.loading = true;
|
// getItemNames(row.applytype).then((res) => {
|
// this.loading = false;
|
// row.itemid = null;
|
// row.itemArr = res.data;
|
// this.$forceUpdate();
|
// });
|
},
|
|
//计算总金额
|
sumTotalFee() {
|
let allSum = 0;
|
if (this.form.applytype != null) {
|
for (let i = 0; i < this.fundDetailArr.length; i++) {
|
let totalFee = 0;
|
let taxFee = 0;
|
if (this.form.applytype == 1 || this.form.applytype == 2) {
|
//计算当前报销内容费用合计
|
if (!isNaN(parseFloat(this.fundDetailArr[i].amount))) {
|
totalFee += parseFloat(this.fundDetailArr[i].amount);
|
taxFee += parseFloat(this.fundDetailArr[i].amount);
|
}
|
if (!isNaN(parseFloat(this.fundDetailArr[i].taxamount))) {
|
totalFee -= parseFloat(this.fundDetailArr[i].taxamount);
|
taxFee -= parseFloat(this.fundDetailArr[i].taxamount);
|
}
|
} else if (this.form.applytype == 3) {
|
if (
|
!isNaN(parseFloat(this.fundDetailArr[i].price)) &&
|
!isNaN(parseFloat(this.fundDetailArr[i].quantity))
|
) {
|
totalFee +=
|
parseFloat(this.fundDetailArr[i].price) *
|
parseFloat(this.fundDetailArr[i].quantity);
|
}
|
}
|
if (!isNaN(parseFloat(taxFee))) {
|
this.fundDetailArr[i].taxedamount = taxFee.toFixed(2);
|
}
|
allSum += totalFee;
|
}
|
}
|
//this.form.amountrequested = allSum.toFixed(2);
|
this.$set(this.form, "amountrequested", allSum.toFixed(2));
|
//this.$forceUpdate();
|
},
|
|
//获取费用类型
|
getCurFundType() {
|
getFundTypeAll(3).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
|
});
|
}
|
});
|
},
|
|
getItemArr(rowindex, row) {
|
let list = this.fundtypeArrAll.filter(r => r.itemType == row.applytype);
|
row.itemArr = list[0].itemDetails;
|
this.$set(this.fundDetailArr, rowindex, row);
|
//this.loading = true;
|
// getItemNames(row.applytype).then((res) => {
|
// this.loading = false;
|
// row.itemArr = res.data;
|
// this.$set(this.fundDetailArr, rowindex, row);
|
// });
|
},
|
|
selectReporters() {
|
//专家人员列表
|
let arr = ["expert"];
|
let arrreportlist = [];
|
for (let i = 0; i < arr.length; i++) {
|
this.arrr2 = [];
|
listReportname(arr[i]).then(res => {
|
this.arrr2 = res.data;
|
this.arrr3 = this.arrr3.concat(this.arrr2);
|
});
|
}
|
},
|
|
selectpersonmsg(row) {
|
this.personlist.map(res => {
|
if (row.beneficiaryname == res.username) {
|
row.beneficiaryno = res.userno;
|
row.beneficiaryname = res.username;
|
row.bankcardno = res.bankcardno;
|
row.branchbankname = res.branchbankname;
|
row.depositbank = res.depositbank;
|
row.idcardno = res.idcardno;
|
row.phone = res.telephone;
|
row.title = res.title;
|
// row.uintname = res.unitname;
|
// row.unitno = res.unitno.toString();
|
} else {
|
row.beneficiaryno = row.beneficiaryname;
|
}
|
this.$forceUpdate();
|
});
|
},
|
|
getlistExternalperson() {
|
listExternalperson().then(res => {
|
this.personlist = res.rows;
|
});
|
},
|
|
getUsermsg() {
|
getUserProfile().then(response => {
|
// this.defaultperson = response.data;
|
// this.standardlevel = response.data.standardlevel;
|
if (
|
response.data.userName === "001" ||
|
response.data.userName === "002" ||
|
response.data.userName === "admin"
|
) {
|
this.show = 1;
|
} else {
|
this.show = 3;
|
}
|
});
|
},
|
|
//打印
|
PrintFom() {
|
if (this.form.id != null) {
|
//判断申请类型调用打印方法
|
if (this.form.applytype == 3) {
|
//人体获取器官专家劳务费汇总打印
|
} else if (this.form.applytype < 3 || this.form.applytype == 4) {
|
//专家费劳务打印
|
this.dayin();
|
} else if (this.form.applytype == 7) {
|
// 捐献者善后成本打印
|
this.dayin3();
|
} else if (this.form.applytype == 11) {
|
// 捐献者家属交通食宿打印
|
this.dayin5();
|
} else if (this.form.applytype == 6) {
|
// 捐献者医学统计打印
|
this.dayin2();
|
} else {
|
this.$modal.msgWarning("当前申请费用类型暂不支持导出,请联系管理员");
|
}
|
} else {
|
this.$modal.msgWarning("请先保存后再打印文件!");
|
}
|
},
|
|
//专家费劳务打印
|
dayin() {
|
if (this.form.id) {
|
const id = this.form.id;
|
getdownloadLW(id).then(res => {
|
if (res.downloadUrl) {
|
var fileUrl = res;
|
//获取当前网址
|
var urlBase = process.env.VUE_APP_BASE_API;
|
var curWWWPath = window.document.location.href;
|
var pos = curWWWPath.indexOf(window.document.location.pathname);
|
// 创建a标签
|
var aEle = document.createElement("a");
|
aEle.href =
|
curWWWPath.substring(0, pos) + urlBase + fileUrl["downloadUrl"];
|
aEle.click();
|
this.$alert("下载成功", "提示", {
|
confirmButtonText: "确定",
|
type: "success"
|
});
|
}
|
});
|
} else {
|
this.$alert("请确认您要下载的专家劳务表", "提醒", {
|
confirmButtonText: "确定",
|
type: "warning"
|
});
|
}
|
},
|
//专家费劳务打印
|
dayin1() {
|
if (this.form.id) {
|
const id = this.form.id;
|
getdownloadLW(id).then(res => {
|
if (res.downloadUrl) {
|
var fileUrl = res;
|
//获取当前网址
|
var urlBase = process.env.VUE_APP_BASE_API;
|
var curWWWPath = window.document.location.href;
|
var pos = curWWWPath.indexOf(window.document.location.pathname);
|
// 创建a标签
|
var aEle = document.createElement("a");
|
aEle.href =
|
curWWWPath.substring(0, pos) + urlBase + fileUrl["downloadUrl"];
|
aEle.click();
|
this.$alert("下载成功", "提示", {
|
confirmButtonText: "确定",
|
type: "success"
|
});
|
}
|
});
|
} else {
|
this.$alert("请确认您要下载的专家劳务表", "提醒", {
|
confirmButtonText: "确定",
|
type: "warning"
|
});
|
}
|
},
|
// 捐献者医学统计打印
|
dayin2() {
|
if (this.form.id) {
|
const id = this.form.id;
|
getdownloadYX(id).then(res => {
|
if (res.downloadUrl) {
|
var fileUrl = res;
|
//获取当前网址
|
var urlBase = process.env.VUE_APP_BASE_API;
|
var curWWWPath = window.document.location.href;
|
var pos = curWWWPath.indexOf(window.document.location.pathname);
|
// 创建a标签
|
var aEle = document.createElement("a");
|
aEle.href =
|
curWWWPath.substring(0, pos) + urlBase + fileUrl["downloadUrl"];
|
aEle.click();
|
this.$alert("下载成功", "提示", {
|
confirmButtonText: "确定",
|
type: "success"
|
});
|
}
|
});
|
} else {
|
this.$alert("请确认您要下载的专家劳务表", "提醒", {
|
confirmButtonText: "确定",
|
type: "warning"
|
});
|
}
|
},
|
// 捐献者善后成本打印
|
dayin3() {
|
if (this.form.id) {
|
const id = this.form.id;
|
getdownloadSH(id).then(res => {
|
if (res.downloadUrl) {
|
var fileUrl = res;
|
//获取当前网址
|
var urlBase = process.env.VUE_APP_BASE_API;
|
var curWWWPath = window.document.location.href;
|
var pos = curWWWPath.indexOf(window.document.location.pathname);
|
// 创建a标签
|
var aEle = document.createElement("a");
|
aEle.href =
|
curWWWPath.substring(0, pos) + urlBase + fileUrl["downloadUrl"];
|
aEle.click();
|
this.$alert("下载成功", "提示", {
|
confirmButtonText: "确定",
|
type: "success"
|
});
|
}
|
});
|
} else {
|
this.$alert("请确认您要下载的专家劳务表", "提醒", {
|
confirmButtonText: "确定",
|
type: "warning"
|
});
|
}
|
},
|
dayin4() {
|
const id = this.form.id;
|
// getdownloadLL(id).then(res=>{
|
// })
|
},
|
// 捐献者家属交通食宿打印
|
dayin5() {
|
if (this.form.id) {
|
const id = this.form.id;
|
getdownloadSS(id).then(res => {
|
if (res.downloadUrl) {
|
var fileUrl = res;
|
//获取当前网址
|
var urlBase = process.env.VUE_APP_BASE_API;
|
var curWWWPath = window.document.location.href;
|
var pos = curWWWPath.indexOf(window.document.location.pathname);
|
// 创建a标签
|
var aEle = document.createElement("a");
|
aEle.href =
|
curWWWPath.substring(0, pos) + urlBase + fileUrl["downloadUrl"];
|
aEle.click();
|
this.$alert("下载成功", "提示", {
|
confirmButtonText: "确定",
|
type: "success"
|
});
|
}
|
});
|
} else {
|
this.$alert("请确认您要下载的专家劳务表", "提醒", {
|
confirmButtonText: "确定",
|
type: "warning"
|
});
|
}
|
},
|
|
//文件上传
|
handleUploadError() {},
|
remove(file) {
|
this.fileList.splice(this.fileList.indexOf(file), 1);
|
},
|
handleExceed() {
|
this.$message.error(`上传文件数量不能超过 ${5} 个!`);
|
},
|
//文件上传成功回调
|
uploadSccess(response, file, fileList) {
|
//获取附件信息位置
|
if (response.code == 200) {
|
this.form.filename = file.raw.name;
|
this.$modal.msgSuccess(response.msg);
|
this.fileList.push({ name: response.fileName, url: response.fileName });
|
} else {
|
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");
|
a.download = item.name;
|
a.href = url;
|
a.dispatchEvent(event);
|
}
|
}
|
};
|
</script>
|