| | |
| | | <!-- --> |
| | | <template> |
| | | <div class="app-container"> |
| | | <el-form :model="queryParams" ref="queryForm" :inline="true" label-width="70px"> |
| | | <el-form |
| | | :model="queryParams" |
| | | ref="queryForm" |
| | | :inline="true" |
| | | label-width="70px" |
| | | > |
| | | <el-row align="left"> |
| | | <el-col :span="6"> |
| | | <el-form-item label="经办人" prop="name"> |
| | | <el-input v-model="queryParams.name" placeholder="请输入经办人" clearable size="small" |
| | | @keyup.enter.native="handleQuery" /> |
| | | <el-input |
| | | v-model="queryParams.name" |
| | | placeholder="请输入经办人" |
| | | clearable |
| | | size="small" |
| | | @keyup.enter.native="handleQuery" |
| | | /> |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :span="6"> |
| | | <el-form-item label="捐献进度" prop="recordstate"> |
| | | <el-select v-model="queryParams.recordstate" placeholder="请选择记录状态" clearable size="small"> |
| | | <el-option v-for="dict in dict.type.sys_DonationStatus" :key="dict.value" :label="dict.label" |
| | | :value="dict.value" /> |
| | | <el-select |
| | | v-model="queryParams.recordstate" |
| | | placeholder="请选择记录状态" |
| | | clearable |
| | | size="small" |
| | | > |
| | | <el-option |
| | | v-for="dict in dict.type.sys_DonationStatus" |
| | | :key="dict.value" |
| | | :label="dict.label" |
| | | :value="dict.value" |
| | | /> |
| | | </el-select> |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :span="6"> |
| | | <el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">搜索</el-button> |
| | | <el-button icon="el-icon-refresh" size="mini" @click="resetQuery">重置</el-button> |
| | | <el-form-item label="捐献者" prop="name"> |
| | | <el-input |
| | | v-model="queryParams.donorname" |
| | | placeholder="请输入捐献者姓名" |
| | | clearable |
| | | size="small" |
| | | @keyup.enter.native="handleQuery" |
| | | /> |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :span="6"> |
| | | <el-button |
| | | type="primary" |
| | | icon="el-icon-search" |
| | | size="mini" |
| | | @click="handleQuery" |
| | | >搜索</el-button |
| | | > |
| | | <el-button icon="el-icon-refresh" size="mini" @click="resetQuery" |
| | | >重置</el-button |
| | | > |
| | | </el-col> |
| | | </el-row> |
| | | </el-form> |
| | | <el-row :gutter="10" class="mb8"> |
| | | <el-col :span="1.5"> |
| | | <el-button type="primary" plain icon="el-icon-plus" size="mini" @click="handleAdd">新增</el-button> |
| | | <el-button |
| | | type="primary" |
| | | plain |
| | | icon="el-icon-plus" |
| | | size="mini" |
| | | @click="handleAdd" |
| | | >新增</el-button |
| | | > |
| | | <!-- v-hasPermi="['project:medicalfund:add']" --> |
| | | </el-col> |
| | | <el-col :span="1.5"> |
| | | <el-button type="warning" plain icon="el-icon-download" size="mini" :loading="exportLoading" |
| | | @click="handleExport">导出</el-button> |
| | | <el-button |
| | | type="warning" |
| | | plain |
| | | icon="el-icon-download" |
| | | size="mini" |
| | | :loading="exportLoading" |
| | | @click="handleExport" |
| | | >导出</el-button |
| | | > |
| | | </el-col> |
| | | <!-- v-hasPermi="['project:medicalfund:export']" --> |
| | | <!-- <right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar> --> |
| | | </el-row> |
| | | <el-table v-loading="loading" border :data="donateconsolationfundList"> |
| | | <el-table-column label="申请日期" align="center" prop="createTime" width="180px"> |
| | | <el-table |
| | | v-loading="loading" |
| | | border |
| | | :data="donateconsolationfundList" |
| | | :row-class-name="rowClassName" |
| | | > |
| | | <el-table-column |
| | | label="申请日期" |
| | | align="center" |
| | | prop="applyTime" |
| | | width="180px" |
| | | > |
| | | <template slot-scope="scope"> |
| | | <span>{{ |
| | | parseTime(scope.row.createTime, "{y}-{m}-{d}") |
| | | }}</span> |
| | | <span>{{ parseTime(scope.row.applyTime, "{y}-{m}-{d}") }}</span> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column label="申请人" align="center" prop="username" width="150px" /> |
| | | <el-table-column label="申请金额" align="center" prop="pretaxcost" width="150px" /> |
| | | <el-table-column label="所属组别" align="center" prop="deptmentname" width="200px" /> |
| | | <el-table-column label="组长" align="center" prop="managername" width="150px" /> |
| | | <el-table-column label="审核状态" width="150" align="center" prop="recordstatus"> |
| | | <el-table-column |
| | | label="申请人" |
| | | align="center" |
| | | prop="username" |
| | | width="150px" |
| | | /> |
| | | <el-table-column |
| | | label="申请金额" |
| | | align="center" |
| | | prop="pretaxcost" |
| | | width="150px" |
| | | /> |
| | | <el-table-column |
| | | label="所属组别" |
| | | align="center" |
| | | prop="deptmentname" |
| | | width="200px" |
| | | /> |
| | | <el-table-column |
| | | label="组长" |
| | | align="center" |
| | | prop="managername" |
| | | width="150px" |
| | | /> |
| | | <el-table-column |
| | | label="审核状态" |
| | | width="150" |
| | | align="center" |
| | | prop="recordstatus" |
| | | > |
| | | <template slot-scope="scope"> |
| | | <dict-tag :options="dict.type.sys_recordstatus" :value="scope.row.recordstatus" /> |
| | | <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="工作单位" align="center" prop="unitname" 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="280px"> |
| | | <el-table-column |
| | | label="操作" |
| | | fixed="right" |
| | | align="center" |
| | | class-name="small-padding fixed-width" |
| | | width="280px" |
| | | > |
| | | <template slot-scope="scope"> |
| | | <el-button v-if="scope.row.recordstatus == -1 || |
| | | scope.row.recordstatus == 1 |
| | | " size="mini" type="text" icon="el-icon-edit" @click="handleup(scope.row)">上报</el-button> |
| | | <el-button v-if="scope.row.recordstatus == -1 || |
| | | scope.row.recordstatus == 1 |
| | | " size="mini" type="text" icon="el-icon-edit" @click="handleUpdate(scope.row)" |
| | | v-hasPermi="['project:medicalfund:edit']">修改</el-button> |
| | | <el-button size="mini" type="text" icon="el-icon-view" @click="handleDetail(scope.row)">查看</el-button> |
| | | <el-button v-if="scope.row.recordstatus == -1 || |
| | | scope.row.recordstatus == 1 |
| | | " size="mini" type="text" icon="el-icon-delete" @click="handleDelete(scope.row)" |
| | | v-hasPermi="['project:medicalfund:delete']">删除</el-button> |
| | | <el-button size="mini" type="text" icon="el-icon-download" @click="mixExport(scope.row.id)" |
| | | v-hasPermi="['project:medicalfund:download']">下载</el-button> |
| | | <el-button |
| | | v-if="scope.row.recordstatus == -1 || scope.row.recordstatus == 1" |
| | | size="mini" |
| | | type="text" |
| | | icon="el-icon-edit" |
| | | @click="handleup(scope.row)" |
| | | >上报</el-button |
| | | > |
| | | <el-button |
| | | v-if="scope.row.recordstatus == -1 || scope.row.recordstatus == 1" |
| | | size="mini" |
| | | type="text" |
| | | icon="el-icon-edit" |
| | | @click="handleUpdate(scope.row)" |
| | | v-hasPermi="['project:medicalfund:edit']" |
| | | >修改</el-button |
| | | > |
| | | <el-button |
| | | size="mini" |
| | | type="text" |
| | | icon="el-icon-view" |
| | | @click="handleDetail(scope.row)" |
| | | >查看</el-button |
| | | > |
| | | <el-button |
| | | v-if="scope.row.recordstatus == -1 || scope.row.recordstatus == 1" |
| | | size="mini" |
| | | type="text" |
| | | @click="handleDelete(scope.row)" |
| | | v-hasPermi="['project:medicalfund:delete']" |
| | | ><span class="button-delete" |
| | | ><i class="el-icon-delete"></i>删除</span |
| | | ></el-button |
| | | > |
| | | <el-button |
| | | size="mini" |
| | | type="text" |
| | | icon="el-icon-download" |
| | | @click="mixExport(scope.row.id)" |
| | | v-hasPermi="['project:medicalfund:download']" |
| | | >下载</el-button |
| | | > |
| | | </template> |
| | | </el-table-column> |
| | | </el-table> |
| | | <!-- 添加或修改费用申请单 --> |
| | | <el-dialog :visible.sync="dialogOpen" :close-on-click-modal="false" width="1400px" :title="title" |
| | | style="text-align: center" v-loading="loading"> |
| | | <el-dialog |
| | | :visible.sync="dialogOpen" |
| | | :close-on-click-modal="false" |
| | | width="1400px" |
| | | :title="title" |
| | | style="text-align: center" |
| | | v-loading="loading" |
| | | > |
| | | <el-form ref="form" :model="form" label-width="120px" :rules="rules"> |
| | | <el-row style="text-align: left"> |
| | | <el-col :span="5"> |
| | | <el-form-item label="申请日期" prop="createTime"> |
| | | <el-date-picker clearable style="width: 100%" v-model="form.createTime" type="date" |
| | | value-format="yyyy-MM-dd HH:mm:ss" placeholder="申请日期"> |
| | | <el-form-item label="申请日期" prop="applyTime"> |
| | | <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> |
| | | </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 |
| | | 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 /> |
| | | <el-input |
| | | v-model="form.deptmentname" |
| | | placeholder="请输入所属组别" |
| | | clearable |
| | | /> |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :span="5"> |
| | | <el-form-item label="组长" prop="managername"> |
| | | <el-input v-model="form.managername" placeholder="请输入组长" clearable /> |
| | | <el-input |
| | | v-model="form.managername" |
| | | placeholder="请输入组长" |
| | | clearable |
| | | /> |
| | | </el-form-item> |
| | | </el-col> |
| | | </el-row> |
| | | <el-row style="text-align: left"> |
| | | <el-col :span="5"> |
| | | <el-form-item label="申请类型"> |
| | | <el-radio v-model="form.applytype" label="4">杂项费用申请</el-radio> |
| | | <el-radio v-model="form.applytype" label="4" |
| | | >杂项费用申请</el-radio |
| | | > |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :span="10"> |
| | |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :span="5"> |
| | | <el-form-item label="捐献者" prop="name"> |
| | | <el-input :disabled="true" v-model="form.name" placeholder="请输入捐献者姓名" clearable /> |
| | | <el-form-item label="捐献者" prop="donorname"> |
| | | <el-input |
| | | :disabled="true" |
| | | v-model="form.donorname" |
| | | placeholder="请输入捐献者姓名" |
| | | clearable |
| | | /> |
| | | </el-form-item> |
| | | </el-col> |
| | | </el-row> |
| | | <el-row style="text-align: left"> |
| | | <el-col :span="5"> |
| | | <el-form-item label="申请金额" prop="amountrequested"> |
| | | <el-input v-model="form.amountrequested" placeholder="申请金额" :disabled="true" /> |
| | | <el-input |
| | | v-model="form.amountrequested" |
| | | placeholder="申请金额" |
| | | :disabled="true" |
| | | /> |
| | | </el-form-item> |
| | | </el-col> |
| | | <!--<el-col :span="5"> |
| | |
| | | </el-row> |
| | | <el-row style="margin-top: 5px; margin-bottom: 5px"> |
| | | <el-table :data="fundDetails" border highlight-current-row> |
| | | <el-table-column prop="orderno" align="center" label="排序" width="80"> |
| | | <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"> |
| | | <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 |
| | | 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"> |
| | | <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 |
| | | 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 == '1' || form.applytype == '2'"> |
| | | <el-table-column |
| | | prop="beneficiaryno" |
| | | align="center" |
| | | label="姓名" |
| | | width="120" |
| | | v-if="form.applytype == '1' || form.applytype == '2'" |
| | | > |
| | | <template slot-scope="scope"> |
| | | <el-button type="primary" plain @click="ShowDetailDialog(scope, 'name')">{{ scope.row.beneficiaryname |
| | | }}</el-button> |
| | | <el-button |
| | | type="primary" |
| | | plain |
| | | @click="ShowDetailDialog(scope, 'name')" |
| | | >{{ scope.row.beneficiaryname }}</el-button |
| | | > |
| | | </template> |
| | | </el-table-column> |
| | | <!-- <el-table-column |
| | |
| | | </el-select> |
| | | </template> |
| | | </el-table-column> --> |
| | | <el-table-column prop="amount" align="center" label="税前金额" width="120" v-if="form.applytype != 3"> |
| | | <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 |
| | | 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> |
| | | <!-- |
| | | <el-input |
| | |
| | | --> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column prop="taxamount" align="center" label="扣税" width="120" v-if="form.applytype != '3'"> |
| | | <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="扣税" @blur="(val) => { |
| | | sumTotalFee(scope.row); |
| | | } |
| | | " /> |
| | | <el-input |
| | | v-model="scope.row.taxamount" |
| | | placeholder="扣税" |
| | | @blur=" |
| | | val => { |
| | | sumTotalFee(scope.row); |
| | | } |
| | | " |
| | | /> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column prop="taxedamount" align="center" label="税后金额" width="120" v-if="form.applytype != '3'"> |
| | | <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="税后金额" /> |
| | | <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'"> |
| | | <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); |
| | | } |
| | | " /> |
| | | <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'"> |
| | | <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); |
| | | } |
| | | " /> |
| | | <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'"> |
| | | <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="价格" @blur="(val) => { |
| | | sumTotalFee(scope.row); |
| | | } |
| | | " /> |
| | | <el-input |
| | | v-model="scope.row.amount" |
| | | placeholder="价格" |
| | | @blur=" |
| | | val => { |
| | | sumTotalFee(scope.row); |
| | | } |
| | | " |
| | | /> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column prop="unitno" align="center" label="费用单位名称" width="220"> |
| | | <el-table-column |
| | | prop="unitno" |
| | | align="center" |
| | | label="费用单位名称" |
| | | width="220" |
| | | > |
| | | <template slot-scope="scope"> |
| | | <el-button type="primary" plain @click="ShowDetailDialog(scope, 'unit')">{{ scope.row.unitname |
| | | }}</el-button> |
| | | <el-button |
| | | type="primary" |
| | | plain |
| | | @click="ShowDetailDialog(scope, 'unit')" |
| | | >{{ scope.row.unitname }}</el-button |
| | | > |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column prop="depositbank" align="center" label="开户银行" width="200"> |
| | | <el-table-column |
| | | prop="depositbank" |
| | | align="center" |
| | | label="开户银行" |
| | | width="200" |
| | | > |
| | | <template slot-scope="scope"> |
| | | <el-input v-model="scope.row.depositbank" placeholder="开户银行" /> |
| | | <el-input |
| | | v-model="scope.row.depositbank" |
| | | placeholder="开户银行" |
| | | /> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column prop="bankcardno" align="center" label="银行卡号" width="210"> |
| | | <el-table-column |
| | | prop="bankcardno" |
| | | align="center" |
| | | label="银行卡号" |
| | | width="210" |
| | | > |
| | | <template slot-scope="scope"> |
| | | <el-input v-model="scope.row.bankcardno" placeholder="银行卡号" /> |
| | | <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'"> |
| | | <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'"> |
| | | <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'"> |
| | | <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'"> |
| | | <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="开户银行" /> |
| | | <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'"> |
| | | <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="银行卡号" /> |
| | | <el-input |
| | | v-model="scope.row.bankcardno" |
| | | placeholder="银行卡号" |
| | | /> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column fixed="right" align="center" label="操作" width="120" v-if="dialogType == 'edit'"> |
| | | <el-table-column |
| | | fixed="right" |
| | | align="center" |
| | | label="操作" |
| | | width="120" |
| | | v-if="dialogType == 'edit'" |
| | | > |
| | | <template slot-scope="scope"> |
| | | <el-button type="text" size="mini" @click="addRow(scope.$index)">新增</el-button> |
| | | <el-button @click.native.prevent=" |
| | | deleteRows(scope.row, scope.$index, fundDetails) |
| | | " type="text" size="small"> |
| | | 删除 |
| | | <el-button type="text" size="mini" @click="addRow(scope.$index)" |
| | | >新增</el-button |
| | | > |
| | | <el-button |
| | | @click.native.prevent=" |
| | | deleteRows(scope.row, scope.$index, fundDetails) |
| | | " |
| | | type="text" |
| | | size="small" |
| | | > |
| | | <span class="button-delete" |
| | | ><i class="el-icon-delete"></i>删除</span |
| | | > |
| | | </el-button> |
| | | <el-button @click.native.prevent=" |
| | | Filepopup(scope.$index, fundDetails, scope.row) |
| | | " type="text" size="small"> |
| | | <el-button |
| | | @click.native.prevent=" |
| | | Filepopup(scope.$index, fundDetails, scope.row) |
| | | " |
| | | type="text" |
| | | size="small" |
| | | > |
| | | 票据 |
| | | </el-button> |
| | | </template> |
| | |
| | | </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="handleremove" accept="image/*,.pdf"> |
| | | <el-button :disabled='dialogType == "detail"' size="small" type="primary">上传</el-button> |
| | | <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="handleremove" |
| | | 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 v-if="dialogType == 'detail'"> |
| | | <el-table :data="fundflowList" border> |
| | | <el-table-column label="审核人" align="center" width="120" prop="checkusername" /> |
| | | <el-table-column label="审核日期" align="center" width="160" prop="createTime" /> |
| | | <el-table-column label="审核结果" align="center" width="200" 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 |
| | | label="审核人" |
| | | align="center" |
| | | width="120" |
| | | prop="checkusername" |
| | | /> |
| | | <el-table-column |
| | | label="审核日期" |
| | | align="center" |
| | | width="160" |
| | | prop="createTime" |
| | | /> |
| | | <el-table-column |
| | | label="审核结果" |
| | | align="center" |
| | | width="200" |
| | | 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-column |
| | | label="审核备注" |
| | | align="center" |
| | | prop="flowcontent" |
| | | /> |
| | | </el-table> |
| | | </el-row> |
| | | </el-form> |
| | | <div slot="footer" class="dialog-footer"> |
| | | <el-button type="primary" @click="submitForm" v-if="dialogType == 'edit'">保 存</el-button> |
| | | <el-button |
| | | type="primary" |
| | | @click="submitForm" |
| | | v-if="dialogType == 'edit'" |
| | | >保 存</el-button |
| | | > |
| | | <!-- <el-button type="success" @click="print">打 印</el-button> --> |
| | | <el-button @click="cancel">取 消</el-button> |
| | | </div> |
| | | </el-dialog> |
| | | |
| | | <el-dialog :visible.sync="detailInfoDialogShow" :close-on-click-modal="false" :title="'费用单位选择'" |
| | | style="text-align: center" v-loading="loading" width="500px"> |
| | | <el-dialog |
| | | :visible.sync="detailInfoDialogShow" |
| | | :close-on-click-modal="false" |
| | | :title="'费用单位选择'" |
| | | style="text-align: center" |
| | | v-loading="loading" |
| | | width="500px" |
| | | > |
| | | <el-form ref="funddetailForm" :model="funddetailForm" label-width="120px"> |
| | | <el-row> |
| | | <el-col :span="24" v-if="detailInfoDialogShowType == 'name'"> |
| | | <el-form-item align="left" label="姓名" prop="beneficiaryname" label-width="80px"> |
| | | <el-select filterable allow-create ref="beneficiaryname" default-first-option |
| | | v-model="funddetailForm.beneficiaryname" placeholder="请选择" style="width: 100%"> |
| | | <el-option v-for="item in arrr3" :key="item.reportNo" :label="item.reportName" :value="item.reportName"> |
| | | <el-form-item |
| | | align="left" |
| | | label="姓名" |
| | | prop="beneficiaryname" |
| | | label-width="80px" |
| | | > |
| | | <el-select |
| | | filterable |
| | | allow-create |
| | | ref="beneficiaryname" |
| | | default-first-option |
| | | v-model="funddetailForm.beneficiaryname" |
| | | placeholder="请选择" |
| | | style="width: 100%" |
| | | > |
| | | <el-option |
| | | v-for="item in arrr3" |
| | | :key="item.reportNo" |
| | | :label="item.reportName" |
| | | :value="item.reportName" |
| | | > |
| | | </el-option> |
| | | </el-select> |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :span="24" v-if="detailInfoDialogShowType == 'unit'"> |
| | | <el-form-item align="left" label="单位名称" prop="unitno" label-width="80px"> |
| | | <el-select v-model="funddetailForm.unitno" placeholder="请选择单位" clearable filterable allow-create |
| | | style="width: 100%"> |
| | | <el-option v-for="(item, index) in bankaccountlist" :key="index" :label="item.reportName" |
| | | :value="item.reportNo"></el-option> |
| | | <el-form-item |
| | | align="left" |
| | | label="单位名称" |
| | | prop="unitno" |
| | | label-width="80px" |
| | | > |
| | | <el-select |
| | | v-model="funddetailForm.unitno" |
| | | placeholder="请选择单位" |
| | | clearable |
| | | filterable |
| | | allow-create |
| | | style="width: 100%" |
| | | > |
| | | <el-option |
| | | v-for="(item, index) in bankaccountlist" |
| | | :key="index" |
| | | :label="item.reportName" |
| | | :value="item.reportNo" |
| | | ></el-option> |
| | | </el-select> |
| | | </el-form-item> |
| | | </el-col> |
| | |
| | | </el-form> |
| | | <span slot="footer" class="dialog-footer"> |
| | | <el-button @click="detailInfoDialogShow = false">取 消</el-button> |
| | | <el-button type="primary" @click="ConfirmDetailDialog()">确 定</el-button> |
| | | <el-button type="primary" @click="ConfirmDetailDialog()" |
| | | >确 定</el-button |
| | | > |
| | | </span> |
| | | </el-dialog> |
| | | </div> |
| | |
| | | getdownloadYX, |
| | | getdownloadBX, |
| | | addorupdateFund, |
| | | getdetailsByItemId, |
| | | getdetailsByItemId |
| | | } from "@/api/project/fund"; |
| | | import { |
| | | onelistFunds, |
| | |
| | | getItemNames, |
| | | getFundType, |
| | | getFundTypeAll, |
| | | listcountItem, |
| | | listcountItem |
| | | } from "@/api/project/funddetail"; |
| | | import { |
| | | listOrganization, |
| | | getOrganization, |
| | | listReportname, |
| | | listUser, |
| | | listUser |
| | | } from "@/api/project/organization"; |
| | | import { |
| | | listExternalperson, |
| | |
| | | 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引入的组件需要注入到对象中才能使用 |
| | | components: { |
| | | Li_area_select, |
| | | OrgSelecter, |
| | | OrgSelecter |
| | | }, |
| | | name: "fundApply", |
| | | dicts: [ |
| | |
| | | "sys_finsubject", |
| | | "sys_financeitemtype", |
| | | "sys_expensetype", |
| | | "sys_stage_type" |
| | | ], |
| | | data() { |
| | | //这里存放数据 |
| | |
| | | treatmenthospitalname: null, |
| | | donorno: null, |
| | | reportername: null, |
| | | reporttime: null, |
| | | reporttime: null |
| | | }, |
| | | |
| | | fundQueryParam: { |
| | |
| | | pageSize: 100, |
| | | infoid: null, |
| | | applytype: "4", |
| | | createBy: null, |
| | | createBy: 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" } |
| | | ], |
| | | deptmentname: [ |
| | | { required: true, message: "请输入所属业务组", trigger: "blur" }, |
| | | ], |
| | | { required: true, message: "请输入所属业务组", trigger: "blur" } |
| | | ] |
| | | }, |
| | | |
| | | //捐献案例列表数据 |
| | |
| | | beneficiaryno: null, |
| | | unitno: null, |
| | | unitname: null, |
| | | index: null, |
| | | index: null |
| | | }, |
| | | |
| | | //附件列表 |
| | |
| | | //上传附件路径 |
| | | uploadFileUrl: process.env.VUE_APP_BASE_API + "/common/upload", |
| | | headers: { |
| | | Authorization: "Bearer " + getToken(), |
| | | }, |
| | | |
| | | Authorization: "Bearer " + getToken() |
| | | } |
| | | }; |
| | | }, |
| | | //监听属性 类似于data概念 |
| | |
| | | let tempUnitname = this.funddetailForm.unitname; |
| | | let singleDetail = this.fundDetails[tempIndex]; |
| | | if (this.detailInfoDialogShowType == "name") { |
| | | this.personlist.map((res) => { |
| | | this.personlist.map(res => { |
| | | if (tempName == res.username) { |
| | | singleDetail.beneficiaryno = res.userno; |
| | | singleDetail.beneficiaryname = res.username; |
| | |
| | | singleDetail.unitno = this.funddetailForm.unitno; |
| | | try { |
| | | let unitIndex = this.bankaccountlist.findIndex( |
| | | (item) => singleDetail.unitno == item.reportNo |
| | | item => singleDetail.unitno == item.reportNo |
| | | ); |
| | | |
| | | if (unitIndex > -1) { |
| | | singleDetail.unitname = this.bankaccountlist[unitIndex].reportName; |
| | | singleDetail.depositbank = this.bankaccountlist[unitIndex].depositbank; |
| | | singleDetail.bankcardno = this.bankaccountlist[unitIndex].bankcardno; |
| | | singleDetail.depositbank = this.bankaccountlist[ |
| | | unitIndex |
| | | ].depositbank; |
| | | singleDetail.bankcardno = this.bankaccountlist[ |
| | | unitIndex |
| | | ].bankcardno; |
| | | } else { |
| | | singleDetail.unitname = singleDetail.unitno; |
| | | } |
| | |
| | | singleDetail.unitname = singleDetail.unitno; |
| | | } |
| | | } |
| | | |
| | | |
| | | this.fundDetails[tempIndex] = singleDetail; |
| | | this.detailInfoDialogShow = false; |
| | | }, |
| | |
| | | row.servivesscope = item.servivesscope; |
| | | row.amount = item.expense; |
| | | this.form.serviceFunddetails = 0; |
| | | this.fundDetails.map((item) => { |
| | | this.fundDetails.map(item => { |
| | | this.form.serviceFunddetails += item.amount; |
| | | }); |
| | | // row.remark |
| | |
| | | }); |
| | | }, |
| | | handleup(row) { |
| | | console.log(row); |
| | | this.$confirm("是否确认将登记记录上报?", "提示", { |
| | | confirmButtonText: "确定", |
| | | cancelButtonText: "取消", |
| | | type: "warning", |
| | | type: "warning" |
| | | }) |
| | | .then(() => { |
| | | //查找是否存在登记完成记录 |
| | | //判断是否存在上报记录 |
| | | row.recordstatus = 0; |
| | | |
| | | updateFund(row).then((response) => { |
| | | var currenttime = new Date(); |
| | | row.applyTime = |
| | | currenttime.getFullYear() + |
| | | "-" + |
| | | (currenttime.getMonth() + 1) + |
| | | "-" + |
| | | currenttime.getDate() + |
| | | " " + |
| | | currenttime.getHours() + |
| | | ":" + |
| | | currenttime.getMinutes() + |
| | | ":" + |
| | | currenttime.getSeconds(); |
| | | updateFund(row).then(response => { |
| | | if (response.code == 200) { |
| | | this.$message({ |
| | | type: "success", |
| | | message: "申请成功", |
| | | message: "申请成功" |
| | | }); |
| | | } else { |
| | | this.$message({ |
| | | type: "error", |
| | | message: "申请失败", |
| | | message: "申请失败" |
| | | }); |
| | | } |
| | | this.loading = false; |
| | |
| | | .catch(() => { |
| | | this.$message({ |
| | | type: "info", |
| | | message: "已取消申请", |
| | | message: "已取消申请" |
| | | }); |
| | | }); |
| | | }, |
| | | select(row) { |
| | | row.itemArr.map((res) => { |
| | | row.itemArr.map(res => { |
| | | if (row.itemid === res.id) { |
| | | row.remark = res.itemDescribe; |
| | | row.itemcode = res.itemCode; |
| | | } |
| | | }); |
| | | var repeatNum = 0; |
| | | this.fundDetails.map((res) => { |
| | | this.fundDetails.map(res => { |
| | | if (res.applytype === row.applytype && res.itemid == row.itemid) { |
| | | repeatNum++; |
| | | } |
| | |
| | | this.$modal.msgWarning("您已经提交过服务项目"); |
| | | } |
| | | |
| | | getdetailsByItemId(row.itemid).then((res) => { |
| | | getdetailsByItemId(row.itemid).then(res => { |
| | | let fundmsg = res.data; |
| | | let fundblock = []; |
| | | fundmsg.forEach((item) => { |
| | | fundmsg.forEach(item => { |
| | | fundblock.push({ |
| | | expense: item.expense, |
| | | expensedescribe: item.expensedescribe, |
| | | remark: item.expensedescribe, |
| | | servicesscope: item.id, |
| | | servicesscope: item.id |
| | | }); |
| | | }); |
| | | row.fundblock = fundblock; |
| | |
| | | }); |
| | | }, |
| | | getUsermsg() { |
| | | getUserProfile().then((response) => { |
| | | getUserProfile().then(response => { |
| | | this.defaultperson = response.data; |
| | | this.standardlevel = response.data.standardlevel; |
| | | }); |
| | |
| | | this.form.deptmentno = this.defaultperson.dept.deptId; |
| | | this.form.managername = this.defaultperson.dept.leader; |
| | | |
| | | // this.form.createTime = nowdate; |
| | | // this.form.applyTime = nowdate; |
| | | //this.open = true; |
| | | //this.initFundApplyForm(); |
| | | this.fundDetails = []; |
| | |
| | | this.dialogOpen = true; |
| | | this.title = "修改费用申请"; |
| | | |
| | | |
| | | const id = row.id || this.ids; |
| | | getFund(id).then((response) => { |
| | | getFund(id).then(response => { |
| | | this.form = response.data; |
| | | //附件处理 |
| | | this.fileList = this.form.annexbankcard ? this.form.annexbankcard.split(",").map(item => ({ url: item, name: item })) : [] |
| | | this.fileList = this.form.annexbankcard |
| | | ? this.form.annexbankcard |
| | | .split(",") |
| | | .map(item => ({ url: item, name: item })) |
| | | : []; |
| | | |
| | | getownFundDetail(id).then(async (res) => { |
| | | getownFundDetail(id).then(async res => { |
| | | this.fundDetails = res.data; |
| | | for (let m = 0; m < this.fundDetails.length; m++) { |
| | | this.fundDetails[m].itemArr = []; |
| | |
| | | this.dialogType = "detail"; |
| | | const id = row.id || this.ids; |
| | | |
| | | getFund(id).then((response) => { |
| | | getFund(id).then(response => { |
| | | this.form = response.data; |
| | | let listFundflowparams = { |
| | | fundid: row.id, |
| | | fundtype: 4, |
| | | fundtype: 4 |
| | | }; |
| | | //附件处理 |
| | | this.fileList = this.form.annexbankcard ? this.form.annexbankcard.split(",").map(item => ({ url: item, name: item })) : [] |
| | | this.fileList = this.form.annexbankcard |
| | | ? this.form.annexbankcard |
| | | .split(",") |
| | | .map(item => ({ url: item, name: item })) |
| | | : []; |
| | | |
| | | listFundflow(listFundflowparams).then((res) => { |
| | | listFundflow(listFundflowparams).then(res => { |
| | | this.fundflowList = res.rows; |
| | | }); |
| | | getownFundDetail(id).then((res) => { |
| | | getownFundDetail(id).then(res => { |
| | | this.fundDetails = res.data; |
| | | for (let m = 0; m < this.fundDetails.length; m++) { |
| | | this.fundDetails[m].itemArr = []; |
| | |
| | | expense: this.fundDetails[m].expense, |
| | | expensedescribe: this.fundDetails[m].servicesscopename, |
| | | remark: this.fundDetails[m].servicesscope, |
| | | servicesscope: this.fundDetails[m].servicesscope, |
| | | servicesscope: this.fundDetails[m].servicesscope |
| | | }); |
| | | } |
| | | }); |
| | | }); |
| | | }, |
| | | |
| | | |
| | | /** 导出按钮操作 */ |
| | | handleExport() { |
| | | const queryParams = this.queryParams; |
| | |
| | | const ids = row.id || this.ids; |
| | | this.$modal |
| | | .confirm("是否确认删除该记录?") |
| | | .then(function () { |
| | | .then(function() { |
| | | return delFund(ids); |
| | | }) |
| | | .then(() => { |
| | | getownFundDetail(ids).then((res) => { |
| | | getownFundDetail(ids).then(res => { |
| | | let listdetails = res.data; |
| | | for (let i = 0; i < listdetails.length; i++) { |
| | | delFunddetail(listdetails[i].id); |
| | |
| | | this.getList(); |
| | | this.$modal.msgSuccess("删除成功"); |
| | | }) |
| | | .catch(() => { }); |
| | | .catch(() => {}); |
| | | }, |
| | | |
| | | /** 提交按钮 */ |
| | | submitForm() { |
| | | this.$refs["form"].validate((valid) => { |
| | | this.$refs["form"].validate(valid => { |
| | | if (valid) { |
| | | let formData = this.form; |
| | | for (let k = 0; k < this.fundDetails.length; k++) { |
| | |
| | | ); |
| | | |
| | | if (this.form.id != null) { |
| | | updateFund(this.form).then((response) => { |
| | | updateFund(this.form).then(response => { |
| | | this.dialogOpen = false; |
| | | this.getList(); |
| | | this.$modal.msgSuccess("修改成功"); |
| | |
| | | tempData.fundid = formData.id; |
| | | //获取服务项目明细 |
| | | let itemIndex = tempItemArr.findIndex( |
| | | (item) => tempData.itemid == item.id |
| | | item => tempData.itemid == item.id |
| | | ); |
| | | if (itemIndex > -1) { |
| | | tempData.itemname = tempItemArr[itemIndex].itemName; |
| | | tempData.itemid = tempItemArr[itemIndex].id; |
| | | } |
| | | if (tempData.id > 0) { |
| | | updateFunddetail(tempData).then((response2) => { }); |
| | | updateFunddetail(tempData).then(response2 => {}); |
| | | } else { |
| | | addFunddetail(tempData).then((response2) => { }); |
| | | addFunddetail(tempData).then(response2 => {}); |
| | | } |
| | | } |
| | | }); |
| | |
| | | |
| | | //获取服务项目明细 |
| | | let itemIndex = tempUtemArr.findIndex( |
| | | (item) => tempData.itemid == item.id |
| | | item => tempData.itemid == item.id |
| | | ); |
| | | if (itemIndex > -1) { |
| | | tempData.itemname = tempUtemArr[itemIndex].itemName; |
| | |
| | | } |
| | | //获取applytypename |
| | | let applytypeIndex = this.fundtypeArr.findIndex( |
| | | (item) => tempData.applytype == item.value |
| | | item => tempData.applytype == item.value |
| | | ); |
| | | if (applytypeIndex > -1) { |
| | | tempData.applytypename = this.fundtypeArr[applytypeIndex].label; |
| | |
| | | } |
| | | |
| | | this.form.serviceFunddetails = this.fundDetails; |
| | | addorupdateFund(this.form).then((response) => { |
| | | addorupdateFund(this.form).then(response => { |
| | | if (response.code === 200) { |
| | | this.$modal.msgSuccess("新增成功"); |
| | | this.loading = false; |
| | |
| | | this.loading = true; |
| | | this.queryParams.params = {}; |
| | | this.reset(); |
| | | listFund(this.fundQueryParam).then((response) => { |
| | | listFund(this.fundQueryParam).then(response => { |
| | | this.loading = false; |
| | | this.donateconsolationfundList = response.rows; |
| | | }); |
| | |
| | | |
| | | 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; |
| | |
| | | servicetypename: null, |
| | | servicesscopename: null, |
| | | dialogType: "edit", |
| | | fundflowList: [], |
| | | fundflowList: [] |
| | | }; |
| | | this.resetForm("form"); |
| | | |
| | | //清空附件 |
| | | this.fileList = [] |
| | | this.fileList = []; |
| | | }, |
| | | |
| | | //新增一行 |
| | |
| | | uploadflag: null, |
| | | uploadtime: null, |
| | | itemArr: [], |
| | | servivesscope: null, |
| | | servivesscope: null |
| | | }; |
| | | if (rowIndex == undefined || rowIndex == null || rowIndex < 0) { |
| | | this.fundDetails.push(rowData); |
| | |
| | | |
| | | //加载服务项目 |
| | | 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(); |
| | |
| | | // }); |
| | | }, |
| | | |
| | | |
| | | getBankAccount() { |
| | | //获取银行账号列表,类型是机构 |
| | | listReportname("org").then((res) => { |
| | | listReportname("org").then(res => { |
| | | this.bankaccountlist = res.data; |
| | | }); |
| | | }, |
| | | |
| | | getlistUser() { |
| | | listUser().then((res) => { |
| | | listUser().then(res => { |
| | | this.userlist = res.data; |
| | | }); |
| | | }, |
| | | |
| | | |
| | | deleteRows(row, index, rows) { |
| | | 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.fundDetails, res.data); |
| | | this.sumTotalFee(row); |
| | | // this.fundDetails = res.data |
| | |
| | | |
| | | //获取费用类型 |
| | | getCurFundType() { |
| | | getFundTypeAll(this.businesstype).then((res) => { |
| | | getFundTypeAll(this.businesstype).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 |
| | | }); |
| | | } |
| | | }); |
| | | }, |
| | | |
| | | 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.fundDetails, rowindex, row); |
| | | //this.loading = true; |
| | |
| | | addAlls() { |
| | | this.loading = true; |
| | | this.fundDetails = this.fundDetails.filter( |
| | | (r) => r.applytype != "" && r.applytype != null |
| | | r => r.applytype != "" && r.applytype != null |
| | | ); |
| | | let listAdd = []; |
| | | //let listAdd = this.fundDetails; |
| | | for (let i = 0; i < this.fundtypeArrAll.length; i++) { |
| | | for (let j = 0; j < this.fundtypeArrAll[i].itemDetails.length; j++) { |
| | | let list = this.fundDetails.filter( |
| | | (r) => |
| | | r => |
| | | r.applytype == this.fundtypeArrAll[i].itemType && |
| | | r.itemid == this.fundtypeArrAll[i].itemDetails[j].id |
| | | ); |
| | |
| | | recordstatus: "-1", |
| | | itemArr: this.fundtypeArrAll[i].itemDetails, |
| | | beneficiaryname: "点击选择", |
| | | unitname: "点击选择", |
| | | unitname: "点击选择" |
| | | }; |
| | | listAdd.push(rowData); |
| | | } |
| | |
| | | }, |
| | | |
| | | getUnitList() { |
| | | listOrganization(3).then((res) => { |
| | | listOrganization(3).then(res => { |
| | | for (let i = 0; i < res.rows.length; i++) { |
| | | this.unitList.push({ |
| | | organizationid: res.rows[i].organizationid, |
| | | organizationname: res.rows[i].organizationname, |
| | | bankname: res.rows[i].bankname, |
| | | bankaccount: res.rows[i].bankaccount, |
| | | bankaccount: res.rows[i].bankaccount |
| | | }); |
| | | } |
| | | }); |
| | |
| | | |
| | | // 捐献者医学统计打印 |
| | | dayin2(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", |
| | | getdownloadYX(id).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); |
| | | }); |
| | | } |
| | | }); |
| | | }, |
| | | |
| | | //汇总打印 |
| | | totaldayin(e) { |
| | | // const id =this.row.id |
| | | getdownloadBX(e).then((res) => { |
| | | getdownloadBX(e).then(res => { |
| | | if (res.downloadUrl) { |
| | | var fileUrl = res; |
| | | //获取当前网址 |
| | |
| | | aEle.click(); |
| | | this.$alert("下载成功", "提示", { |
| | | confirmButtonText: "确定", |
| | | type: "success", |
| | | type: "success" |
| | | }); |
| | | } |
| | | }); |
| | |
| | | } |
| | | scope.row.itemArr = result; |
| | | } else { |
| | | getItemNames(scope.row.applytype).then((res) => { |
| | | getItemNames(scope.row.applytype).then(res => { |
| | | scope.row.itemArr = res.data; |
| | | //this.$set(this.fundDetails, rowindex, row); |
| | | }); |
| | |
| | | }, |
| | | |
| | | //文件上传 |
| | | handleUploadError() { }, |
| | | handleUploadError() {}, |
| | | handleremove(file) { |
| | | this.fileList.splice(this.fileList.indexOf(file), 1) |
| | | this.fileList.splice(this.fileList.indexOf(file), 1); |
| | | }, |
| | | handleExceed() { |
| | | this.$message.error(`上传文件数量不能超过 ${5} 个!`); |
| | |
| | | this.$modal.msgSuccess(response.msg); |
| | | this.fileList.push({ name: response.fileName, url: response.fileName }); |
| | | } else { |
| | | console.log(response.msg);; |
| | | console.log(response.msg); |
| | | } |
| | | }, |
| | | // 下载文件 |
| | | downFile(item) { |
| | | const url = process.env.VUE_APP_BASE_API + item.url |
| | | var a = document.createElement('a'); |
| | | var event = new MouseEvent('click'); |
| | | const url = process.env.VUE_APP_BASE_API + item.url; |
| | | var a = document.createElement("a"); |
| | | var event = new MouseEvent("click"); |
| | | a.download = item.name; |
| | | a.href = url; |
| | | a.dispatchEvent(event); |
| | | }, |
| | | rowClassName({ row, column, rowIndex, columnIndex }) { |
| | | //此判断为最后三行 |
| | | if (row.recordstatus == -1 && row.backflowlevel != null) { |
| | | return "error-row"; |
| | | } |
| | | } |
| | | }, |
| | | |
| | | // 点击文件 |
| | |
| | | this.getUsermsg(); |
| | | }, |
| | | |
| | | beforeCreate() { }, //生命周期 - 创建之前 |
| | | beforeMount() { }, //生命周期 - 挂载之前 |
| | | beforeUpdate() { }, //生命周期 - 更新之前 |
| | | updated() { }, //生命周期 - 更新之后 |
| | | beforeDestroy() { }, //生命周期 - 销毁之前 |
| | | destroyed() { }, //生命周期 - 销毁完成 |
| | | activated() { }, //如果页面有keep-alive缓存功能,这个函数会触发 |
| | | beforeCreate() {}, //生命周期 - 创建之前 |
| | | beforeMount() {}, //生命周期 - 挂载之前 |
| | | beforeUpdate() {}, //生命周期 - 更新之前 |
| | | updated() {}, //生命周期 - 更新之后 |
| | | beforeDestroy() {}, //生命周期 - 销毁之前 |
| | | destroyed() {}, //生命周期 - 销毁完成 |
| | | activated() {} //如果页面有keep-alive缓存功能,这个函数会触发 |
| | | }; |
| | | </script> |
| | | <style scoped> |
| | | /* @import url(); 引入公共css类 */ |
| | | .button-delete { |
| | | color: rgb(236, 69, 69); |
| | | } |
| | | ::v-deep.el-table .error-row { |
| | | background: #fcebeb; |
| | | } |
| | | </style> |