| | |
| | | @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-row> |
| | | </el-col> |
| | | </el-row> |
| | | <el-table v-loading="loading" border highlight-current-row :data="donatebaseinfoList" |
| | | @row-click="selectDonotor"> |
| | | <el-table v-loading="loading" highlight-current-row :data="donatebaseinfoList" @row-click="selectDonotor"> |
| | | <!-- <el-table-column label="捐献编号" align="center" prop="donorno" /> --> |
| | | <el-table-column label="捐献进度" align="center" prop="recordstate"> |
| | | <template slot-scope="scope"> |
| | |
| | | </el-col> |
| | | <el-col :span="9"> |
| | | <el-form-item label="捐献编号"> |
| | | <el-input v-model="curCase.donorno" disabled></el-input> |
| | | <el-input v-model="curCase.donorno" :disabled="true"></el-input> |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :span="9"> |
| | | <el-form-item label="姓名"> |
| | | <el-input v-model="curCase.name" disabled></el-input> |
| | | <el-input v-model="curCase.name" :disabled="true"></el-input> |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col> |
| | |
| | | <dict-tag :options="dict.type.sys_recordstatus" :value="scope.row.recordstatus" /> |
| | | </template> |
| | | </el-table-column> |
| | | <!-- <el-table-column |
| | | label="申请金额" |
| | | align="center" |
| | | prop="amountrequested" |
| | | width="120px" |
| | | /> --> |
| | | <el-table-column label="所属组别" align="center" prop="deptmentname" width="220px" /> |
| | | <el-table-column label="组长" align="center" prop="managername" width="150px" /> |
| | | <!-- |
| | | <el-table-column label="申请金额" align="center" prop="amountrequested" width="120px" /> |
| | | <el-table-column label="联系电话" align="center" prop="phone" width="150px" /> |
| | | <el-table-column label="工作单位" align="center" prop="unitname" width="220px" /> |
| | | <el-table-column label="工作单位" align="center" prop="unitname" width="220px" /> |
| | | --> |
| | | <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> |
| | | " 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)">修改</el-button> |
| | |
| | | <el-form style="height: 550px; overflow-y: auto; overflow-x: hidden" ref="form" :model="form" label-width="120px" |
| | | :rules="rules"> |
| | | <el-row style="text-align: left"> |
| | | <el-col :span="7"> |
| | | <el-form-item label="费用类型"> |
| | | <el-radio v-model="form.applytype" label="1">专家费用申请</el-radio> |
| | | <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-date-picker> |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :span="7"> |
| | | <el-form-item label="捐献者" prop="name"> |
| | | <el-input disabled v-model="form.name" placeholder="请输入捐献者姓名" clearable /> |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :span="7"> |
| | | <el-form-item label="审核状态" prop="recordstatus"> |
| | | <!-- <el-input v-model="form.recordstatus" placeholder="审核意见"/> --> |
| | | <el-select v-model="form.recordstatus" placeholder="请选择审核状态" clearable :disabled="true" size="small"> |
| | | <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 style="text-align: left"> |
| | | <el-col :span="7"> |
| | | <el-form-item label="申请人" prop="username"> |
| | | <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 /> |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :span="5"> |
| | | <el-form-item label="组长" prop="managername"> |
| | | <el-input v-model="form.managername" placeholder="请输入组长" clearable /> |
| | | </el-form-item> |
| | | </el-col> |
| | | </el-row> |
| | | <el-row style="text-align: left"> |
| | | <!-- |
| | | <el-col :span="7"> |
| | | <el-form-item label="联系电话" prop="phone"> |
| | | <el-input v-model="form.phone" placeholder="请输入申请者的联系方式" clearable /> |
| | |
| | | <org-selecter ref="orgSelecter" :org-type="'3'" v-model="form.unitno" /> |
| | | </el-form-item> |
| | | </el-col> |
| | | </el-row> |
| | | <el-row style="text-align: left"> |
| | | <el-col :span="14"> |
| | | --> |
| | | <el-col :span="5"> |
| | | <el-form-item label="费用类型"> |
| | | <el-radio v-model="form.applytype" label="1">专家费用申请</el-radio> |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :span="10"> |
| | | <el-form-item label="申请说明" prop="remark"> |
| | | <el-input v-model="form.remark" placeholder="申请说明" /> |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :span="7"> |
| | | <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-date-picker> |
| | | <el-col :span="5"> |
| | | <el-form-item label="联系电话" prop="phone"> |
| | | <el-input v-model="form.phone" placeholder="请输入联系电话" /> |
| | | </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-form-item> |
| | | </el-col> |
| | | --> |
| | | <el-col :span="5"> |
| | | <el-form-item label="申请金额" prop="pretaxcost"> |
| | | <el-input v-model="form.pretaxcost" placeholder="税前金额合计" :disabled="true" /> |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :span="5"> |
| | | <el-form-item label="应缴税" prop="taxcost"> |
| | | <el-input v-model="form.taxcost" placeholder="应缴税金额合计" :disabled="true" /> |
| | | </el-form-item> |
| | | </el-col><!-- |
| | | <el-col :span="5"> |
| | | <el-form-item label="税后金额" prop="pretaxcost"> |
| | | <el-input v-model="form.taxedcost" placeholder="税后金额合计" :disabled="true" /> |
| | | </el-form-item> |
| | | </el-col>--> |
| | | <el-col :span="5"> |
| | | <el-form-item label="捐献者" prop="name"> |
| | | <el-input :disabled="true" v-model="form.name" placeholder="请输入捐献者姓名" /> |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :span="5"> |
| | | <el-form-item label="申请状态" prop="recordstatus"> |
| | | <!-- <el-input v-model="form.recordstatus" placeholder="审核意见"/> --> |
| | | <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 style="margin-top: 5px; margin-bottom: 5px"> |
| | | <el-row style="margin-bottom: 10px"> |
| | | <el-col :span="4"> |
| | | <el-button @click.native.prevent="addAlls" type="primary" size="small"> |
| | | <el-button @click.native.prevent="addAllItems" type="primary" size="small"> |
| | | 导入服务项目 |
| | | </el-button> |
| | | </el-col> |
| | | </el-row> |
| | | <el-table :data="fundDetailArr" v-loading="loading" border highlight-current-row> |
| | | <el-table :data="fundDetails" v-loading="loading" border highlight-current-row> |
| | | <el-table-column prop="orderno" align="center" label="序号" width="65"> |
| | | <template slot-scope="scope"> |
| | | <el-input v-model="scope.row.orderno" placeholder="序号" /> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column prop="applytype" align="center" label="费用类型" width="200"> |
| | | <el-table-column prop="applytype" align="center" label="服务费用类型" width="200"> |
| | | <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.index" :label="dict.label" |
| | | <el-select v-model="scope.row.applytype" placeholder="服务费用类型" @change="loadItemType(scope.row)"> |
| | | <el-option v-for="dict in rowfeeItemTypes" :key="dict.index" :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="itemid" align="center" label="服务项目名称" width="260"> |
| | | <template slot-scope="scope"> |
| | | <el-select v-model="scope.row.itemid" placeholder="服务项目" filterable @change="select(scope.row)" |
| | | :filter-method="(val) => SearchItem(val, scope)"> |
| | | <el-select v-model="scope.row.itemid" placeholder="服务项目名称" filterable @change="verifyFeeItem(scope.row)" |
| | | :filter-method="(val) => searchItemType(val, scope)"> |
| | | <el-option v-for="dict in scope.row.itemArr" :key="dict.index" :label="dict.itemName" |
| | | :value="dict.id"></el-option> |
| | | </el-select> |
| | |
| | | </el-table-column> |
| | | <el-table-column prop="itemcode" align="center" label="项目编号" show-overflow-tooltip="" v-if="false"> |
| | | </el-table-column> |
| | | <el-table-column prop="servicesscopename" align="center" label="费用说明" width="180"> |
| | | <el-table-column prop="servicesscope" align="center" label="费用说明" width="180"> |
| | | <template slot-scope="scope"> |
| | | <el-select v-model="scope.row.servicesscope" placeholder="费用说明" clearable allow-create filterable |
| | | @change="selectedRemark(scope.row)"> |
| | | <el-option v-for="dict in scope.row.fundblock" :key="dict.servicesscope" :label="dict.expensedescribe" |
| | | <el-option v-for="dict in scope.row.rowfeeblocks" :key="dict.servicesscope" :label="dict.remark" |
| | | :value="dict.servicesscope"></el-option> |
| | | </el-select> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column v-if="this.ismanager == true" prop="amount" align="center" label="税前金额" width="100"> |
| | | <el-table-column v-if="this.ismanager == true" prop="amount" align="center" label="税前金额" width="120"> |
| | | <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 scope.row.fundblock" :key="dict.expensedescribe" :label="dict.expense" |
| | | <el-option v-for="dict in scope.row.rowfeeblocks" :key="dict.expensedescribe" :label="dict.expense" |
| | | :value="dict.expense"></el-option> |
| | | </el-select> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column prop="taxedamount" align="center" label="税后金额" width="100" v-if="this.ismanager == true"> |
| | | <el-table-column prop="taxedamount" align="center" label="税后金额" width="120" v-if="this.ismanager == true"> |
| | | <!-- v-if="form.applytype != '3'"上同 --> |
| | | <template slot-scope="scope"> |
| | | <el-input v-model="scope.row.taxedamount" placeholder="税后金额" /> |
| | |
| | | placeholder="请选择" |
| | | > |
| | | <el-option |
| | | v-for="item in arrr3" |
| | | v-for="item in expertlist" |
| | | :key="item.reportNo" |
| | | :label="item.reportName" |
| | | :value="item.reportName" |
| | |
| | | <el-table-column prop="quantity" align="center" label="数量" width="120" v-if="form.applytype == '3'"> |
| | | <template slot-scope="scope"> |
| | | <el-input v-model="scope.row.quantity" placeholder="数量" @blur="(val) => { |
| | | sumTotalFee(scope.row); |
| | | } |
| | | sumTotalFee(scope.row); |
| | | } |
| | | " /> |
| | | </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); |
| | | } |
| | | sumTotalFee(scope.row); |
| | | } |
| | | " /> |
| | | </template> |
| | | </el-table-column> |
| | |
| | | <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="职称" /> |
| | |
| | | <el-table-column fixed="right" align="center" label="操作" width="180" 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, fundDetailArr) |
| | | deleteRows(scope.row, scope.$index, fundDetails) |
| | | " type="text" size="small"> |
| | | 删除 |
| | | </el-button> |
| | |
| | | </el-table-column> |
| | | </el-table> |
| | | </el-row> |
| | | <el-row> |
| | | <el-col :span="7"> |
| | | <el-form-item label="申请金额" prop="amountrequested"> |
| | | <el-input v-model="form.amountrequested" placeholder="申请金额" /> |
| | | </el-form-item> |
| | | </el-col> <el-col :span="7"> |
| | | <el-form-item label="税前合计" prop="pretaxcost"> |
| | | <el-input v-model="form.pretaxcost" placeholder="税前金额合计" /> |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :span="7"> |
| | | <el-form-item label="税后合计" prop="pretaxcost"> |
| | | <el-input v-model="form.taxedcost" placeholder="税后金额合计" /> |
| | | </el-form-item> |
| | | </el-col> |
| | | <!-- |
| | | <!-- |
| | | <el-row> |
| | | <el-col :span="7"> |
| | | <el-form-item label="预支金额" prop="prepaidamount"> |
| | | <el-input v-model="form.prepaidamount" placeholder="申请金额" /> |
| | | </el-form-item> |
| | | </el-col> |
| | | --> |
| | | </el-row> |
| | | <!-- |
| | | </el-col> |
| | | </el-row> |
| | | <el-row> |
| | | <el-col :span="7"> |
| | | <el-form-item label="OPO中心签字" prop="opochecker"> |
| | |
| | | </el-form-item> |
| | | </el-col> |
| | | </el-row> |
| | | --> |
| | | --> |
| | | <el-row> |
| | | <el-col :span="12"> |
| | | <el-form-item label="费用申请附件" align="left" prop="annexbankcard"> |
| | | <el-upload size="mini" class="upload-demo" :action="uploadFileUrl" :file-list="fileList" multiple :limit="5" |
| | | :headers="headers" :on-success="(response, file, fileList) => |
| | | uploadSccess(response, file, fileList) |
| | | <el-upload size="mini" class="upload-demo" :action="uploadFileUrl" :file-list="fileList" multiple |
| | | :limit="20" :headers="headers" :on-success="(response, file, fileList) => |
| | | uploadSccess(response, file, fileList) |
| | | " :on-preview="downFile" :disabled='dialogType == "detail"' :on-error="handleUploadError" |
| | | :on-exceed="handleExceed" :on-remove="remove" accept="image/*,.pdf"> |
| | | <el-button :disabled='dialogType == "detail"' size="small" type="primary">上传</el-button> |
| | |
| | | </div> |
| | | </el-dialog> |
| | | |
| | | <el-dialog :visible.sync="detailInfoDialogShow" :close-on-click-modal="false" :title="'信息修改'" width="500px" |
| | | <el-dialog :visible.sync="showDetailInfoDialog" :close-on-click-modal="false" :title="'导入信息'" width="500px" |
| | | style="text-align: center" v-loading="loading"> |
| | | <el-form ref="funddetailForm" :model="funddetailForm"> |
| | | <el-row> |
| | | <el-col :span="24" v-if="detailInfoDialogShowType == 'name'"> |
| | | <el-col :span="24" v-if="showDetailInfoDialogType == 'name'"> |
| | | <el-form-item label="请选择专家信息:" prop="expertfrom"> |
| | | <el-radio-group v-model="expertfrom" style="margin-bottom: 0"> |
| | | <el-radio label="1">专家库</el-radio> |
| | | <el-radio label="2">新增专家</el-radio> |
| | | </el-radio-group> |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :span="24" v-if="showDetailInfoDialogType == 'name' && expertfrom == '1'"> |
| | | <el-form-item 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 v-for="item in expertlist" :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-col :span="24" v-if="showDetailInfoDialogType == 'unit'"> |
| | | <el-form-item label="单位名称" prop="unitno" label-width="80px"> |
| | | <el-select v-model="funddetailForm.unitno" placeholder="单位名称" clearable filterable allow-create |
| | | style="width: 100%"> |
| | |
| | | </el-form-item> |
| | | </el-col> |
| | | </el-row> |
| | | <el-row> |
| | | <el-col :span="12" v-if="expertfrom == '2'"> |
| | | <el-form-item label="专家姓名" prop="expertname" label-width="80px"> |
| | | <el-input v-model="funddetailForm.expertname" placeholder="必填项" /> |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :span="12" v-if="expertfrom == '2'"> |
| | | <el-form-item label="职 称" prop="experttitle" label-width="80px"> |
| | | <el-select v-model="funddetailForm.experttitle" placeholder="必填项"> |
| | | <el-option v-for="dict in dict.type.sys_professionaltitle" :key="dict.value" :label="dict.label" |
| | | :value="dict.label"></el-option> |
| | | </el-select> |
| | | </el-form-item> |
| | | </el-col> |
| | | </el-row> |
| | | <el-row> |
| | | <el-col :span="24" v-if="expertfrom == '2'"> |
| | | <el-form-item label="身份证号" prop="expertidcardno" label-width="80px"> |
| | | <el-input v-model="funddetailForm.expertidcardno" placeholder="必填项" /> |
| | | </el-form-item> |
| | | </el-col> |
| | | </el-row> |
| | | <!-- |
| | | <el-row> |
| | | <el-col :span="12" v-if="expertfrom == '2'"> |
| | | <el-form-item label="人员类别" prop="usertype" label-width="80px"> |
| | | <el-select v-model="funddetailForm.usertype" placeholder="必填项"> |
| | | <el-option v-for="dict in dict.type.sys_UserType" :key="dict.value" :label="dict.label" |
| | | :value="dict.value"></el-option> |
| | | </el-select> |
| | | </el-form-item> |
| | | </el-col> |
| | | </el-row> |
| | | --> |
| | | <el-row> |
| | | <el-col :span="24" v-if="expertfrom == '2'"> |
| | | <el-form-item label="单位名称" prop="expertunitno" label-width="80px"> |
| | | <el-select v-model="funddetailForm.expertunitno" placeholder="单位名称" clearable filterable allow-create |
| | | style="width: 100%"> |
| | | <el-option v-for="(spec, index) in unitList" :key="index" :label="spec.organizationname" |
| | | :value="spec.organizationid"></el-option> |
| | | </el-select> |
| | | </el-form-item></el-col> |
| | | </el-row> |
| | | <el-row> |
| | | <el-col :span="24" v-if="expertfrom == '2'"> |
| | | <el-form-item label="开户银行" prop="expertdepositbank" label-width="80px"> |
| | | <el-input v-model="funddetailForm.expertdepositbank" placeholder="必填项" /> |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :span="24" v-if="expertfrom == '2'"> |
| | | <el-form-item label="银行卡号" prop="expertbankcardno" label-width="80px"> |
| | | <el-input v-model="funddetailForm.expertbankcardno" placeholder="必填项" /> |
| | | </el-form-item> |
| | | </el-col> |
| | | </el-row> |
| | | </el-form> |
| | | <span slot="footer" class="dialog-footer"> |
| | | <el-button @click="detailInfoDialogShow = false">取 消</el-button> |
| | | <el-button @click="showDetailInfoDialog = false">取 消</el-button> |
| | | <el-button type="primary" @click="ConfirmDetailDialog()">确 定</el-button> |
| | | </span> |
| | | </el-dialog> |
| | |
| | | //例如:import 《组件名称》 from '《组件路径》'; |
| | | import { |
| | | listDonatebaseinfo, |
| | | getDonatebaseinfo, |
| | | getDonatebaseinfo |
| | | } from "@/api/project/donatebaseinfo"; |
| | | |
| | | import { |
| | | onelistFund, |
| | | listFund, |
| | |
| | | getdownloadSS, |
| | | getdownloadYX, |
| | | getdownloadBX, |
| | | batchUploadFund, |
| | | getdetailsByItemId, |
| | | addorupdateFund, |
| | | getdetailsByItemId |
| | | } from "@/api/project/fund"; |
| | | |
| | | import { |
| | | onelistFunds, |
| | | listFunddetails, |
| | |
| | | getFundType, |
| | | getFundTypeAll, |
| | | listcountItem, |
| | | getDataBybeneficiaryNo, |
| | | getTaxByBeneFiciaryNo, |
| | | getTaxBeforeByBeneFiciaryNo, |
| | | getTaxationByBeneFiciaryNo, |
| | | getTaxBeforeByAfterMoney |
| | | } from "@/api/project/funddetail"; |
| | | |
| | | import { listFundflow } from "@/api/project/fundflow"; |
| | | |
| | | import { |
| | | listOrganization, |
| | | getOrganization, |
| | | listReportname, |
| | | listUser, |
| | | listUser |
| | | } from "@/api/project/organization"; |
| | | |
| | | import { |
| | | listExternalperson, |
| | | getExternalperson, |
| | |
| | | delExternalperson, |
| | | addExternalperson, |
| | | updateExternalperson, |
| | | exportExternalperson, |
| | | exportExternalperson |
| | | } from "@/api/project/externalperson"; |
| | | |
| | | import { getUserProfile } from "@/api/system/user"; |
| | | import Li_area_select from "@/components/Address"; |
| | | import OrgSelecter from "@/views/project/components/orgselect"; |
| | |
| | | Li_area_select, |
| | | OrgSelecter, |
| | | }, |
| | | |
| | | name: "fundApply", |
| | | |
| | | dicts: [ |
| | | "sys_consolationfundlevel", |
| | | "sys_OrganizationType", |
| | | //"sys_consolationfundlevel", |
| | | //"sys_OrganizationType", |
| | | "sys_DonationStatus", |
| | | "sys_depositbank", |
| | | "sys_FamilyRelation", |
| | | "sys_IDType", |
| | | "sys_ConsolationType", |
| | | "sys_fund_type", |
| | | "sys_finsubject", |
| | | "sys_financeitemtype", |
| | | "sys_expensetype", |
| | | //"sys_depositbank", |
| | | //"sys_FamilyRelation", |
| | | //"sys_IDType", |
| | | //"sys_ConsolationType", |
| | | //"sys_fund_type", |
| | | //"sys_finsubject", |
| | | //"sys_financeitemtype", |
| | | //"sys_expensetype", |
| | | "sys_recordstatus", |
| | | "sys_professionaltitle" |
| | | ], |
| | | |
| | | data() { |
| | | //这里存放数据 |
| | | return { |
| | | arrr2: [], |
| | | arrr3: [], |
| | | currentApplyType: "1", |
| | | // 遮罩层 |
| | | loading: true, |
| | | loading: false, |
| | | // 导出遮罩层 |
| | | exportLoading: false, |
| | | total: 0, |
| | |
| | | }, |
| | | // 表单参数 |
| | | form: {}, |
| | | //所有人员表 |
| | | personlist: [], |
| | | expertQueryParam: { |
| | | pageNum: 1, |
| | | pageSize: 10000, |
| | | userno: null, |
| | | username: null, |
| | | usertype: null, |
| | | }, |
| | | |
| | | // |
| | | amount: 0.00, |
| | | |
| | | //申请单类型 |
| | | currentApplyType: "1", |
| | | //专家列表 |
| | | expertlist: [], |
| | | //专家费选择:1是专家库,2是新增 |
| | | expertfrom: "1", |
| | | //计算个税参数 |
| | | taxParam: { |
| | | beneficiaryNo: '', |
| | | money: '0', |
| | | startTime: '', |
| | | }, |
| | | // 表单校验 |
| | | rules: { |
| | | username: [ |
| | |
| | | ], |
| | | createTime: [ |
| | | { required: true, message: "请输入申请日期", trigger: "blur" }, |
| | | ], |
| | | deptmentname: [ |
| | | { required: true, message: "请输入所属业务组", trigger: "blur" }, |
| | | ], |
| | | // amountrequested: [ |
| | | // { required: true, message: "请输入申请金额", trigger: "blur" }, |
| | |
| | | |
| | | // 捐献人道慰问金表格数据 |
| | | donateconsolationfundList: [], |
| | | |
| | | fundDetailArr: [], |
| | | //费用明细列表 |
| | | fundDetails: [], |
| | | formData: {}, |
| | | totalPreTaxAmount: 0.0, |
| | | totalAfterTaxAmount: 0.0, |
| | | totalAmount: 0.0, |
| | | |
| | | // 弹出层标题 |
| | | title: "", |
| | | userlist: [], |
| | | itemArr: [], |
| | | reporters: [], |
| | | |
| | | //行记录的费用类型数组 |
| | | rowfeeItemTypes: [], |
| | | //费用类型数组 |
| | | fundtypeArr: [], |
| | | fundblock: [], |
| | | feeItemTypes: [], |
| | | //费用说明 |
| | | rowfeeblocks: [], |
| | | defaultperson: {}, |
| | | |
| | | //是否是专家费的OPO审批人员 |
| | | ismanager: false, |
| | | fundtypeArrAll: [], |
| | | unitList: [], |
| | | dialogType: "edit", |
| | | fundflowList: [], |
| | | |
| | | detailInfoDialogShow: false, |
| | | detailInfoDialogShowType: "", |
| | | showDetailInfoDialog: false, |
| | | showDetailInfoDialogType: "", |
| | | funddetailForm: { |
| | | index: null, |
| | | beneficiaryname: null, |
| | | beneficiaryno: null, |
| | | unitno: null, |
| | | unitname: null, |
| | | index: null, |
| | | expertname: null, |
| | | expertidcardno: null, |
| | | expertunitno: null, |
| | | expertunitname: null, |
| | | experttitle: null, |
| | | expertdepositbank: null, |
| | | expertbankcardno: null, |
| | | }, |
| | | expertform: { |
| | | id: null, |
| | | address: null, |
| | | bankcardno: null, |
| | | branchbankname: null, |
| | | createBy: null, |
| | | createTime: null, |
| | | del_flag: null, |
| | | depositbank: null, |
| | | idcardno: null, |
| | | personnelunitno: null, |
| | | pym: null, |
| | | remark: null, |
| | | searchValue: null, |
| | | sex: null, |
| | | telephone: null, |
| | | title: null, |
| | | unitname: null, |
| | | unitno: null, |
| | | updateBy: null, |
| | | updateTime: null, |
| | | username: null, |
| | | userno: null, |
| | | userstatus: 1, |
| | | usertype: null, |
| | | wbm: null, |
| | | }, |
| | | |
| | | //附件列表 |
| | |
| | | computed: {}, |
| | | //监控data中的数据变化 |
| | | watch: {}, |
| | | // mounted(){ |
| | | // this.getUsermsg() |
| | | // }, |
| | | //生命周期 - 创建完成(可以访问当前this实例) |
| | | created() { |
| | | this.getList(); |
| | | this.getBaseInfoList(); |
| | | this.getCurFundType(); |
| | | this.getUserList(); |
| | | this.getUnitList(); |
| | | |
| | | }, |
| | | |
| | | //生命周期 - 挂载完成(可以访问DOM元素) |
| | | mounted() { |
| | | this.selectReporters(); |
| | | this.getUsermsg(); |
| | | this.getExternalpersonList(); |
| | | }, |
| | | |
| | | beforeCreate() { }, //生命周期 - 创建之前 |
| | | beforeMount() { }, //生命周期 - 挂载之前 |
| | | beforeUpdate() { }, //生命周期 - 更新之前 |
| | | updated() { }, //生命周期 - 更新之后 |
| | | beforeDestroy() { }, //生命周期 - 销毁之前 |
| | | destroyed() { }, //生命周期 - 销毁完成 |
| | | activated() { }, //如果页面有keep-alive缓存功能,这个函数会触发 |
| | | |
| | | //方法集合 |
| | | methods: { |
| | | ShowDetailDialog(spoce, showType) { |
| | | this.funddetailForm.index = spoce.$index; |
| | | this.funddetailForm.beneficiaryname = spoce.row.beneficiaryname; |
| | | this.funddetailForm.beneficiaryno = spoce.row.beneficiaryno; |
| | | this.funddetailForm.unitno = spoce.row.unitno; |
| | | this.funddetailForm.unitname = spoce.row.unitname; |
| | | this.detailInfoDialogShow = true; |
| | | this.detailInfoDialogShowType = showType; |
| | | |
| | | /** 搜索按钮操作 */ |
| | | handleQuery() { |
| | | this.queryParams.pageNum = 1; |
| | | this.getList(); |
| | | }, |
| | | ConfirmDetailDialog() { |
| | | let tempIndex = this.funddetailForm.index; |
| | | let tempName = this.funddetailForm.beneficiaryname; |
| | | let tempUnitname = this.funddetailForm.unitname; |
| | | let singleDetail = this.fundDetailArr[tempIndex]; |
| | | if (this.detailInfoDialogShowType == "name") { |
| | | this.personlist.map((res) => { |
| | | if (tempName == res.username) { |
| | | singleDetail.beneficiaryno = res.userno; |
| | | singleDetail.beneficiaryname = res.username; |
| | | singleDetail.bankcardno = res.bankcardno; |
| | | singleDetail.branchbankname = res.branchbankname; |
| | | singleDetail.depositbank = res.depositbank; |
| | | singleDetail.idcardno = res.idcardno; |
| | | singleDetail.phone = res.telephone; |
| | | singleDetail.title = res.title; |
| | | singleDetail.unitname = res.unitname; |
| | | singleDetail.unitno = parseInt(res.unitno); |
| | | } else { |
| | | singleDetail.beneficiaryname = tempName; |
| | | singleDetail.beneficiaryno = tempName; |
| | | |
| | | /** 重置按钮操作 */ |
| | | resetQuery() { |
| | | this.daterangeReporttime = []; |
| | | this.resetForm("queryForm"); |
| | | this.handleQuery(); |
| | | }, |
| | | |
| | | /** 新增按钮操作 */ |
| | | 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; |
| | | console.log("defaultperson", this.defaultperson); |
| | | this.form.username = this.defaultperson.nickName; |
| | | this.form.userno = this.defaultperson.userName; |
| | | this.form.phone = this.defaultperson.phonenumber; |
| | | this.form.deptmentname = this.defaultperson.dept.deptName; |
| | | this.form.deptmentno = this.defaultperson.dept.deptId; |
| | | this.form.managername = this.defaultperson.dept.leader; |
| | | |
| | | // this.form.createTime = nowdate; |
| | | //this.open = true; |
| | | //this.initFundApplyForm(); |
| | | this.fundDetails = []; |
| | | this.addRow(); |
| | | this.dialogOpen = true; |
| | | this.dialogType = "edit"; |
| | | this.title = "费用申请"; |
| | | } else { |
| | | const h = this.$createElement; |
| | | this.$message({ |
| | | message: h("p", null, [h("span", null, "请先选择左方捐献案例 ")]), |
| | | }); |
| | | } |
| | | }, |
| | | |
| | | /** 修改按钮操作 */ |
| | | handleUpdate(row) { |
| | | 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; |
| | | getFund(id).then((response) => { |
| | | this.form = response.data; |
| | | // this.form.recordstate =-1; |
| | | // this.form.recordstatus = response.data.recordstatus + ""; |
| | | 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.fundDetails = res.data; |
| | | for (let m = 0; m < this.fundDetails.length; m++) { |
| | | this.fundDetails[m].itemArr = []; |
| | | this.getItemArr(m, this.fundDetails[m]); |
| | | |
| | | //获取费用项目的详细信息 |
| | | this.fundDetails[m].rowfeeblocks = []; |
| | | |
| | | this.fundDetails[m].rowfeeblocks.push({ |
| | | servicesscope: this.fundDetails[m].servicesscope, |
| | | expensedescribe: this.fundDetails[m].servicesscopename, |
| | | expense: this.fundDetails[m].expense, |
| | | remark: this.fundDetails[m].servicesscopename, |
| | | }); |
| | | // getdetailsByItemId(this.fundDetails[m].itemid).then((res) => { |
| | | // let fundmsg = res.data; |
| | | // fundmsg.forEach((item) => { |
| | | // this.fundDetails[m].rowfeeblocks.push({ |
| | | // servicesscope: item.id, |
| | | // expensedescribe: item.expensedescribe, |
| | | // expense: item.expense, |
| | | // remark: item.expensedescribe, |
| | | // }); |
| | | // }); |
| | | // }); |
| | | } |
| | | |
| | | if (this.fundDetails.length == 0) { |
| | | this.addRow(); |
| | | } |
| | | }); |
| | | } else if (this.detailInfoDialogShowType == "unit") { |
| | | singleDetail.unitno = this.funddetailForm.unitno; |
| | | try { |
| | | let unitIndex = this.unitList.findIndex( |
| | | (item) => singleDetail.unitno == item.organizationid |
| | | ); |
| | | if (unitIndex > -1) { |
| | | singleDetail.unitname = this.unitList[unitIndex].organizationname; |
| | | } else { |
| | | singleDetail.unitname = singleDetail.unitno; |
| | | } |
| | | } catch { |
| | | singleDetail.unitname = singleDetail.unitno; |
| | | } |
| | | } |
| | | debugger; |
| | | this.fundDetailArr[tempIndex] = singleDetail; |
| | | this.detailInfoDialogShow = false; |
| | | }); |
| | | }, |
| | | handleup(row) { |
| | | console.log("rowrowrowrow", row); |
| | | |
| | | /** 查看按钮操作 */ |
| | | handleDetail(row) { |
| | | 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 = "detail"; |
| | | const id = row.id || this.ids; |
| | | |
| | | getFund(id).then((response) => { |
| | | this.form = response.data; |
| | | this.form.name = this.curCase.name; |
| | | let listFundflowparams = { |
| | | fundid: row.id, |
| | | fundtype: 2, |
| | | }; |
| | | //附件处理 |
| | | this.fileList = this.form.annexbankcard ? this.form.annexbankcard.split(",").map(item => ({ url: item, name: item })) : [] |
| | | |
| | | listFundflow(listFundflowparams).then((res) => { |
| | | this.fundflowList = res.rows; |
| | | }); |
| | | getownFundDetail(id).then((res) => { |
| | | this.fundDetails = res.data; |
| | | for (let m = 0; m < this.fundDetails.length; m++) { |
| | | this.fundDetails[m].itemArr = []; |
| | | this.getItemArr(m, this.fundDetails[m]); |
| | | this.fundDetails[m].rowfeeblocks = []; |
| | | this.fundDetails[m].rowfeeblocks.push({ |
| | | expense: this.fundDetails[m].expense, |
| | | expensedescribe: this.fundDetails[m].servicesscopename, |
| | | remark: this.fundDetails[m].servicesscope, |
| | | servicesscope: this.fundDetails[m].servicesscope, |
| | | }); |
| | | } |
| | | |
| | | if (this.fundDetails.length == 0) { |
| | | this.addRow(); |
| | | } |
| | | }); |
| | | }); |
| | | }, |
| | | |
| | | handleDelete(row) { |
| | | const ids = row.id || this.ids; |
| | | this.$modal |
| | | .confirm("是否确认删除该记录?") |
| | | .then(function () { |
| | | return delFund(ids); |
| | | }) |
| | | .then(() => { |
| | | getownFundDetail(ids).then((res) => { |
| | | let listdetails = res.data; |
| | | for (let i = 0; i < listdetails.length; i++) { |
| | | delFunddetail(listdetails[i].id); |
| | | } |
| | | }); |
| | | // this.getList(); |
| | | this.getfundList(); |
| | | this.$modal.msgSuccess("删除成功"); |
| | | }) |
| | | .catch(() => { }); |
| | | }, |
| | | |
| | | /** 上报按钮操作 */ |
| | | handleUp(row) { |
| | | this.$confirm("是否确认将登记记录上报?", "提示", { |
| | | confirmButtonText: "确定", |
| | | cancelButtonText: "取消", |
| | |
| | | }); |
| | | }, |
| | | |
| | | // recordstatus |
| | | // updateFund(row).then(res=>{ |
| | | // console.log('状态更新',res); |
| | | // }) |
| | | // }, |
| | | /** 提交按钮 */ |
| | | submitForm() { |
| | | this.$refs["form"].validate((valid) => { |
| | | if (valid) { |
| | | this.formData = this.form; |
| | | // let totalPreTaxAmount = 0.0; |
| | | // let totalAfterTaxAmount = 0.0; |
| | | // let totalAmount = 0.0; |
| | | |
| | | getUsermsg() { |
| | | getUserProfile().then((response) => { |
| | | console.log("登录用户信息", response.data); |
| | | this.defaultperson = response.data; |
| | | this.standardlevel = response.data.standardlevel; |
| | | if ( |
| | | this.defaultperson.createBy == "admin" || |
| | | this.defaultperson.createBy == "001" || |
| | | this.defaultperson.createBy == "002" |
| | | ) { |
| | | this.ismanager = true; |
| | | } else { |
| | | this.ismanager = false; |
| | | } |
| | | }); |
| | | }, |
| | | selectedRemark(row) { |
| | | row.fundblock.forEach((item, i) => { |
| | | if (item.servicesscope === row.servicesscope) { |
| | | row.servicesscopename = item.expensedescribe; |
| | | if (row.servicesscopename.includes("税后")) { |
| | | row.amount = 0.0; |
| | | row.taxedamount = item.expense; |
| | | } else { |
| | | row.amount = item.expense; |
| | | row.taxedamount = 0.0; |
| | | //保存前校验数据 |
| | | for (let k = 0; k < this.fundDetails.length; k++) { |
| | | let tempDetail = this.fundDetails[k]; |
| | | if (tempDetail.itemid == null) { |
| | | this.$modal.msgWarning("服务项目表中,第" + (k + 1).toString() + "行的服务项目未选择,请先选择服务项目后再提交保存!"); |
| | | return; |
| | | } |
| | | |
| | | if (tempDetail.servicesscope == null) { |
| | | this.$modal.msgWarning("服务项目表中,第" + (k + 1).toString() + "行的费用说明未选择,请选择费用说明后再提交保存!"); |
| | | return; |
| | | } |
| | | |
| | | if (tempDetail.beneficiaryno == null) { |
| | | this.$modal.msgWarning("服务项目表中,第" + (k + 1).toString() + "行的服务人员姓名为选择,请选择人员后再提交保存!"); |
| | | return; |
| | | } |
| | | |
| | | // //判断单位 unitSel |
| | | // try { |
| | | // let unitIndex = this.unitList.findIndex( |
| | | // (item) => tempDetail.unitno == item.organizationid |
| | | // ); |
| | | // if (unitIndex > -1) { |
| | | // tempDetail.unitname = this.unitList[unitIndex].organizationname; |
| | | // } else { |
| | | // tempDetail.unitname = tempDetail.unitno; |
| | | // } |
| | | // } catch { |
| | | // tempDetail.unitname = tempDetail.unitno; |
| | | // } |
| | | } |
| | | |
| | | //附件处理 |
| | | let list = this.fileList; |
| | | if (list.length > 0) { |
| | | this.form.annexfiles = list.map(item => item.url).join(","); |
| | | } |
| | | |
| | | //处理明细 |
| | | for (let i = 0; i < this.fundDetails.length; i++) { |
| | | let tempDetail = this.fundDetails[i]; |
| | | //获取服务项目明细 |
| | | let tempItemArr = tempDetail.itemArr; |
| | | let itemIndex = tempItemArr.findIndex( |
| | | (item) => tempDetail.itemid == item.id |
| | | ); |
| | | if (itemIndex > -1) { |
| | | tempDetail.itemname = tempItemArr[itemIndex].itemName; |
| | | tempDetail.itemid = tempItemArr[itemIndex].id; |
| | | } |
| | | |
| | | //获取applytypename、服务费用大类 |
| | | let applytypeIndex = this.rowfeeItemTypes.findIndex( |
| | | (item) => tempDetail.applytype == item.value |
| | | ); |
| | | if (applytypeIndex > -1) { |
| | | tempDetail.applytypename = this.rowfeeItemTypes[applytypeIndex].label; |
| | | tempDetail.subjecttype = this.rowfeeItemTypes[applytypeIndex].subjecttype; |
| | | tempDetail.subjecttypename = this.rowfeeItemTypes[applytypeIndex].subjecttypename; |
| | | } |
| | | this.fundDetails[i] = tempDetail; |
| | | /* |
| | | //计算个税 |
| | | //if (isNaN(parseFloat(tempDetail.taxedamount))) |
| | | //获取参数 |
| | | this.taxParam.beneficiaryNo = tempDetail.beneficiaryno; |
| | | this.taxParam.startTime = this.form.createTime.substring(0, 10); |
| | | // 计算税后金额 |
| | | if (tempDetail.taxedamount == undefined || tempDetail.taxedamount == null || tempDetail.taxedamount == 0 || tempDetail.taxedamount == '') { |
| | | //获取参数 |
| | | this.taxParam.money = tempDetail.amount.toString(); |
| | | getTaxByBeneFiciaryNo(this.taxParam).then((res) => { |
| | | if (res.code == 200) { |
| | | tempDetail.taxamount = res.data; |
| | | tempDetail.taxedamount = tempDetail.amount - tempDetail.taxamount; |
| | | this.fundDetails[k] = tempDetail; |
| | | |
| | | this.totalAfterTaxAmount += parseFloat(tempDetail.taxedamount); |
| | | this.totalAmount += parseFloat(tempDetail.amount); |
| | | } |
| | | }); |
| | | } |
| | | |
| | | // 计算税前金额 |
| | | if (tempDetail.amount == undefined || tempDetail.amount == null || tempDetail.amount == 0 || tempDetail.amount == '') { |
| | | //获取参数 |
| | | this.taxParam.money = tempDetail.taxedamount.toString(); |
| | | getTaxBeforeByAfterMoney(this.taxParam).then((res) => { |
| | | if (res.code == 200) { |
| | | tempDetail.taxamount = res.data.nowTax; |
| | | tempDetail.amount = parseFloat(res.data.nowTaxBeforeMoney); |
| | | this.fundDetails[k] = tempDetail; |
| | | |
| | | this.totalAfterTaxAmount += parseFloat(tempDetail.taxedamount); |
| | | this.totalAmount += parseFloat(tempDetail.amount); |
| | | console.log("1", this.amount); |
| | | } |
| | | }); |
| | | } |
| | | */ |
| | | } |
| | | //费用合计 |
| | | // this.form.pretaxcost = parseFloat(this.totalPreTaxAmount).toFixed(2); |
| | | // this.form.taxedcost = parseFloat(this.totalAfterTaxAmount).toFixed(2); |
| | | // this.form.amountrequested = this.totalAmount.toFixed(2); |
| | | |
| | | //保存数据 |
| | | this.loading = true; |
| | | this.form.serviceFunddetails = 0; |
| | | this.fundDetailArr.map((item) => { |
| | | this.fundDetails.map((item) => { |
| | | this.form.serviceFunddetails += item.amount; |
| | | }); |
| | | } |
| | | }); |
| | | }, |
| | | select(row) { |
| | | row.itemArr.map((res) => { |
| | | if (row.itemid === res.id) { |
| | | row.remark = res.itemDescribe; |
| | | row.itemcode = res.itemCode; |
| | | } |
| | | }); |
| | | var repeatNum = 0; |
| | | this.fundDetailArr.map((res) => { |
| | | if (res.applytype === row.applytype && res.itemid == row.itemid) { |
| | | repeatNum++; |
| | | } |
| | | }); |
| | | if (repeatNum > 1) { |
| | | this.$modal.msgWarning("您已经提交过服务项目"); |
| | | } |
| | | this.form.serviceFunddetails = this.fundDetails; |
| | | |
| | | getdetailsByItemId(row.itemid).then((res) => { |
| | | console.log("费用数据", res.data); |
| | | let fundmsg = res.data; |
| | | let fundblock = []; |
| | | fundmsg.forEach((item) => { |
| | | fundblock.push({ |
| | | expense: item.expense, |
| | | expensedescribe: item.expensedescribe, |
| | | remark: item.expensedescribe, |
| | | servicesscope: item.id, |
| | | }); |
| | | }); |
| | | console.log("组装后的数据", fundblock); |
| | | row.fundblock = fundblock; |
| | | row.servicesscope = null; |
| | | row.servicesscopename = ""; |
| | | }); |
| | | }, |
| | | selectamount(row) { |
| | | console.log("row", row.amount); |
| | | this.fundblock.forEach((item, i) => { |
| | | if (item.expense === row.amount) { |
| | | row.remark = item.expensedescribe; |
| | | } |
| | | }); |
| | | }, |
| | | /** 搜索按钮操作 */ |
| | | handleQuery() { |
| | | this.queryParams.pageNum = 1; |
| | | this.getList(); |
| | | }, |
| | | /** 重置按钮操作 */ |
| | | resetQuery() { |
| | | this.daterangeReporttime = []; |
| | | this.resetForm("queryForm"); |
| | | this.handleQuery(); |
| | | }, |
| | | /** 查询捐献人道慰问金列表 */ |
| | | getList() { |
| | | this.loading = true; |
| | | this.queryParams.params = {}; |
| | | if (null != this.daterangeReporttime && "" != this.daterangeReporttime) { |
| | | this.queryParams.params["beginReporttime"] = |
| | | this.daterangeReporttime[0]; |
| | | this.queryParams.params["endReporttime"] = this.daterangeReporttime[1]; |
| | | } |
| | | // this.queryParams.residencetown = this.$refs.areaSelect.getQu(); |
| | | listDonatebaseinfo(this.queryParams).then((response) => { |
| | | this.donatebaseinfoList = response.rows; |
| | | this.total = response.total; |
| | | this.loading = false; |
| | | }); |
| | | }, |
| | | getUnitList() { |
| | | listOrganization(3).then((response) => { |
| | | debugger; |
| | | for (let i = 0; i < response.rows.length; i++) { |
| | | this.unitList.push({ |
| | | //organizationid: response.rows[i].organizationid, |
| | | organizationid: response.rows[i].id, |
| | | organizationname: response.rows[i].organizationname, |
| | | }); |
| | | } |
| | | }); |
| | | }, |
| | | getBaseInfoList() { |
| | | this.loading = true; |
| | | listDonatebaseinfo(this.queryParams).then((response) => { |
| | | this.donatebaseinfoList = response.rows; |
| | | this.total = response.total; |
| | | this.loading = false; |
| | | }); |
| | | }, |
| | | if (this.form.id != null) { |
| | | //捐献者 |
| | | this.form.donorname = this.curCase.name; |
| | | |
| | | /** 新增按钮操作 */ |
| | | 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.username = this.defaultperson.nickName; |
| | | this.form.userno = this.defaultperson.userName; |
| | | // this.form.createTime = nowdate; |
| | | //this.open = true; |
| | | //this.initFundApplyForm(); |
| | | this.fundDetailArr = []; |
| | | this.addRow(); |
| | | this.dialogOpen = true; |
| | | this.dialogType = "edit"; |
| | | this.title = "费用申请"; |
| | | } else { |
| | | const h = this.$createElement; |
| | | this.$message({ |
| | | message: h("p", null, [h("span", null, "请先选择左方捐献案例 ")]), |
| | | }); |
| | | } |
| | | }, |
| | | //点击捐献案例列表触发方法 |
| | | selectDonotor(row, column, event) { |
| | | this.curCase = row; |
| | | this.getfundList(); |
| | | }, |
| | | getfundList() { |
| | | this.loading = true; |
| | | this.reset(); |
| | | this.fundQueryParam.infoid = this.curCase.id; |
| | | listFund(this.fundQueryParam).then((response) => { |
| | | this.loading = false; |
| | | this.donateconsolationfundList = response.rows; |
| | | // updateFund(this.form).then((response) => { |
| | | // if (response.code === 200) { |
| | | // this.loading = false; |
| | | // for (let m = 0; m < this.fundDetails.length; m++) { |
| | | // if (this.fundDetails[m].id > 0) { |
| | | // updateFunddetail(this.fundDetails[m]).then((response2) => { if (response.code != 200) { this.$modal.msgError("专家劳务费保存失败1:" + response.msg); } }); |
| | | // } else { |
| | | // addFunddetail(this.fundDetails[m]).then((response2) => { if (response.code != 200) { this.$modal.msgError("专家劳务费保存失败2:" + response.msg); } }); |
| | | // } |
| | | // } |
| | | // this.$modal.msgSuccess("专家劳务费保存成功!"); |
| | | // } else { |
| | | // this.$modal.msgError("专家劳务费保存失败:" + response.msg); |
| | | // } |
| | | // }); |
| | | |
| | | } else { |
| | | this.form.recordstatus = -1; |
| | | |
| | | // addorupdateFund(this.form).then((response) => { |
| | | // if (response.code === 200) { |
| | | // this.selectDonotor(this.curCase); |
| | | // } else { |
| | | // this.$modal.msgError("专家劳务费保存失败:" + response.msg); |
| | | // } |
| | | // }); |
| | | } |
| | | |
| | | addorupdateFund(this.form).then((response) => { |
| | | if (response.code === 200) { |
| | | this.selectDonotor(this.curCase); |
| | | this.$modal.msgSuccess("专家劳务费保存成功!"); |
| | | } else { |
| | | this.$modal.msgError("专家劳务费保存失败:" + response.msg); |
| | | } |
| | | }); |
| | | |
| | | //关闭窗口 |
| | | this.loading = false; |
| | | this.dialogOpen = false; |
| | | // this.getfundList(); |
| | | this.getList(); |
| | | this.selectDonotor(this.curCase); |
| | | |
| | | } |
| | | }); |
| | | }, |
| | | |
| | |
| | | this.fileList = [] |
| | | }, |
| | | |
| | | addAlls() { |
| | | ShowDetailDialog(spoce, showType) { |
| | | this.expertfrom = "1"; |
| | | this.funddetailForm.index = spoce.$index; |
| | | this.funddetailForm.beneficiaryname = spoce.row.beneficiaryname; |
| | | this.funddetailForm.beneficiaryno = spoce.row.beneficiaryno; |
| | | this.funddetailForm.unitno = spoce.row.unitno; |
| | | this.funddetailForm.unitname = spoce.row.unitname; |
| | | this.funddetailForm.expertname = ""; |
| | | this.funddetailForm.expertidcardno = ""; |
| | | this.funddetailForm.expertunitno = ""; |
| | | this.funddetailForm.expertunitname = ""; |
| | | this.funddetailForm.experttitle = ""; |
| | | this.funddetailForm.expertdepositbank = ""; |
| | | this.funddetailForm.expertbankcardno = ""; |
| | | |
| | | this.showDetailInfoDialog = true; |
| | | this.showDetailInfoDialogType = showType; |
| | | }, |
| | | |
| | | ConfirmDetailDialog() { |
| | | let tempIndex = this.funddetailForm.index; |
| | | let tempName = this.funddetailForm.beneficiaryname; |
| | | let tempUnitname = this.funddetailForm.unitname; |
| | | let singleDetail = this.fundDetails[tempIndex]; |
| | | |
| | | if (this.showDetailInfoDialogType == "name") { |
| | | |
| | | if (this.expertfrom == "1") { |
| | | //从专家列表获取信息 |
| | | this.personlist.map((res) => { |
| | | if (tempName == res.username) { |
| | | console.log("选择专家", res); |
| | | singleDetail.beneficiaryno = res.userno; |
| | | singleDetail.beneficiaryname = res.username; |
| | | singleDetail.bankcardno = res.bankcardno; |
| | | singleDetail.branchbankname = res.branchbankname; |
| | | singleDetail.depositbank = res.depositbank; |
| | | singleDetail.idcardno = res.idcardno; |
| | | singleDetail.phone = res.telephone; |
| | | singleDetail.title = res.title; |
| | | singleDetail.unitname = res.unitname; |
| | | singleDetail.unitno = parseInt(res.unitno); |
| | | } |
| | | }); |
| | | } else { |
| | | //保存新增专家 |
| | | this.expertform.id = null; |
| | | this.expertform.userno = this.personlist[this.personlist.length - 1].id + 1; |
| | | this.expertform.usertype = "expert"; |
| | | this.expertform.username = this.funddetailForm.expertname; |
| | | this.expertform.idcardno = this.funddetailForm.expertidcardno; |
| | | this.expertform.sex = null; |
| | | this.expertform.telephone = null; |
| | | this.expertform.address = null; |
| | | this.expertform.wbm = null; |
| | | this.expertform.pym = null; |
| | | |
| | | this.expertform.unitno = this.funddetailForm.expertunitno; |
| | | try { |
| | | let unitIndex = this.unitList.findIndex( |
| | | (item) => this.expertform.unitno == item.organizationid |
| | | ); |
| | | if (unitIndex > -1) { |
| | | this.expertform.unitname = this.unitList[unitIndex].organizationname; |
| | | } else { |
| | | this.expertform.unitname = this.expertform.unitno; |
| | | } |
| | | } catch { |
| | | this.expertform.unitname = this.expertform.unitno; |
| | | } |
| | | this.expertform.title = this.funddetailForm.experttitle; |
| | | this.expertform.personnelunitno = null; |
| | | |
| | | this.expertform.depositbank = this.funddetailForm.expertdepositbank; |
| | | this.expertform.bankcardno = this.funddetailForm.expertbankcardno; |
| | | this.expertform.branchbankname = null; |
| | | this.expertform.remark = null; |
| | | this.expertform.del_flag = "0"; |
| | | |
| | | addExternalperson(this.expertform).then((response) => { |
| | | if (response.code == 200) { |
| | | this.$modal.msgSuccess("新增专家信息成功!"); |
| | | |
| | | listExternalperson().then((res) => { |
| | | this.personlist = res.rows; |
| | | console.log("new personlist", this.personlist); |
| | | //从专家列表获取信息 |
| | | this.personlist.map((res) => { |
| | | if (res.username == this.funddetailForm.expertname) { |
| | | console.log("新增专家", res); |
| | | singleDetail.beneficiaryno = res.userno; |
| | | singleDetail.beneficiaryname = res.username; |
| | | singleDetail.bankcardno = res.bankcardno; |
| | | singleDetail.branchbankname = res.branchbankname; |
| | | singleDetail.depositbank = res.depositbank; |
| | | singleDetail.idcardno = res.idcardno; |
| | | singleDetail.phone = res.telephone; |
| | | singleDetail.title = res.title; |
| | | singleDetail.unitname = res.unitname; |
| | | singleDetail.unitno = parseInt(res.unitno); |
| | | } |
| | | }); |
| | | }); |
| | | } |
| | | }); |
| | | } |
| | | |
| | | } else if (this.showDetailInfoDialogType == "unit") { |
| | | singleDetail.unitno = this.funddetailForm.unitno; |
| | | try { |
| | | let unitIndex = this.unitList.findIndex( |
| | | (item) => singleDetail.unitno == item.organizationid |
| | | ); |
| | | if (unitIndex > -1) { |
| | | singleDetail.unitname = this.unitList[unitIndex].organizationname; |
| | | } else { |
| | | singleDetail.unitname = singleDetail.unitno; |
| | | } |
| | | } catch { |
| | | singleDetail.unitname = singleDetail.unitno; |
| | | } |
| | | } |
| | | |
| | | this.fundDetails[tempIndex] = singleDetail; |
| | | this.showDetailInfoDialog = false; |
| | | }, |
| | | |
| | | //获取当前用户信息 |
| | | getUsermsg() { |
| | | getUserProfile().then((response) => { |
| | | this.defaultperson = response.data; |
| | | console.log("this.defaultperson", this.defaultperson); |
| | | this.standardlevel = response.data.standardlevel; |
| | | if (this.defaultperson.createBy == "admin" || this.defaultperson.createBy == "001" || this.defaultperson.createBy == "002") { |
| | | this.ismanager = true; |
| | | } else { |
| | | this.ismanager = false; |
| | | } |
| | | }); |
| | | }, |
| | | |
| | | //获取费用项目的备注信息 |
| | | selectedRemark(row) { |
| | | row.rowfeeblocks.forEach((item, i) => { |
| | | if (item.servicesscope === row.servicesscope) { |
| | | row.servicesscopename = item.expensedescribe; |
| | | if (row.servicesscopename.includes("税后")) { |
| | | row.amount = 0.0; |
| | | row.taxamount = 0.0; |
| | | row.taxedamount = item.expense; |
| | | } else { |
| | | row.amount = item.expense; |
| | | row.taxamount = 0.0; |
| | | row.taxedamount = 0.0; |
| | | } |
| | | |
| | | this.form.serviceFunddetails = 0; |
| | | this.fundDetails.map((item) => { |
| | | this.form.serviceFunddetails += item.amount; |
| | | }); |
| | | } |
| | | }); |
| | | }, |
| | | |
| | | //校验收费项目是否重复 |
| | | verifyFeeItem(row) { |
| | | row.itemArr.map((res) => { |
| | | if (row.itemid === res.id) { |
| | | row.remark = res.itemDescribe; |
| | | row.itemcode = res.itemCode; |
| | | } |
| | | }); |
| | | var repeatNum = 0; |
| | | this.fundDetails.map((res) => { |
| | | if (res.applytype === row.applytype && res.itemid == row.itemid) { |
| | | repeatNum++; |
| | | } |
| | | }); |
| | | if (repeatNum > 1) { |
| | | this.$modal.msgWarning("您已经提交过该服务项目了"); |
| | | } |
| | | |
| | | //获取费用项目的详细信息 |
| | | getdetailsByItemId(row.itemid).then((res) => { |
| | | let fundmsg = res.data; |
| | | let rowfeeblocks = []; |
| | | fundmsg.forEach((item) => { |
| | | rowfeeblocks.push({ |
| | | expense: item.expense, |
| | | expensedescribe: item.expensedescribe, |
| | | remark: item.expensedescribe, |
| | | servicesscope: item.id, |
| | | }); |
| | | }); |
| | | |
| | | row.rowfeeblocks = rowfeeblocks; |
| | | row.servicesscope = null; |
| | | row.servicesscopename = ""; |
| | | }); |
| | | |
| | | }, |
| | | |
| | | // |
| | | selectamount(row) { |
| | | this.rowfeeblocks.forEach((item, i) => { |
| | | if (item.expense === row.amount) { |
| | | row.remark = item.expensedescribe; |
| | | } |
| | | }); |
| | | }, |
| | | |
| | | /** 查询捐献人道慰问金列表 */ |
| | | getList() { |
| | | console.log("getList", "getList"); |
| | | this.loading = true; |
| | | this.fundDetailArr = this.fundDetailArr.filter( |
| | | this.queryParams.params = {}; |
| | | if (null != this.daterangeReporttime && "" != this.daterangeReporttime) { |
| | | this.queryParams.params["beginReporttime"] = |
| | | this.daterangeReporttime[0]; |
| | | this.queryParams.params["endReporttime"] = this.daterangeReporttime[1]; |
| | | } |
| | | // this.queryParams.residencetown = this.$refs.areaSelect.getQu(); |
| | | listDonatebaseinfo(this.queryParams).then((response) => { |
| | | this.donatebaseinfoList = response.rows; |
| | | this.total = response.total; |
| | | this.loading = false; |
| | | }); |
| | | }, |
| | | |
| | | getUnitList() { |
| | | listOrganization(3).then((response) => { |
| | | for (let i = 0; i < response.rows.length; i++) { |
| | | this.unitList.push({ |
| | | //organizationid: response.rows[i].organizationid, |
| | | organizationid: response.rows[i].id, |
| | | organizationname: response.rows[i].organizationname, |
| | | }); |
| | | } |
| | | }); |
| | | }, |
| | | |
| | | getBaseInfoList() { |
| | | this.loading = true; |
| | | listDonatebaseinfo(this.queryParams).then((response) => { |
| | | this.donatebaseinfoList = response.rows; |
| | | this.total = response.total; |
| | | this.loading = false; |
| | | }); |
| | | }, |
| | | |
| | | //点击捐献案例列表触发方法 |
| | | selectDonotor(row, column, event) { |
| | | this.curCase = row; |
| | | this.getfundList(); |
| | | }, |
| | | |
| | | getfundList() { |
| | | this.loading = true; |
| | | this.reset(); |
| | | this.fundQueryParam.infoid = this.curCase.id; |
| | | listFund(this.fundQueryParam).then((response) => { |
| | | this.loading = false; |
| | | this.donateconsolationfundList = response.rows; |
| | | }); |
| | | }, |
| | | |
| | | //导入所有项目 |
| | | addAllItems() { |
| | | this.loading = true; |
| | | this.fundDetails = this.fundDetails.filter( |
| | | (r) => r.applytype != "" && r.applytype != null |
| | | ); |
| | | let listAdd = []; |
| | | //let listAdd = this.fundDetailArr; |
| | | for (let i = 0; i < this.fundtypeArrAll.length; i++) { |
| | | for (let j = 0; j < this.fundtypeArrAll[i].itemDetails.length; j++) { |
| | | let list = this.fundDetailArr.filter( |
| | | //let listAdd = this.fundDetails; |
| | | for (let i = 0; i < this.feeItemTypes.length; i++) { |
| | | for (let j = 0; j < this.feeItemTypes[i].itemDetails.length; j++) { |
| | | let list = this.fundDetails.filter( |
| | | (r) => |
| | | r.applytype == this.fundtypeArrAll[i].itemType && |
| | | r.itemid == this.fundtypeArrAll[i].itemDetails[j].id |
| | | r.applytype == this.feeItemTypes[i].itemType && |
| | | r.itemid == this.feeItemTypes[i].itemDetails[j].id |
| | | ); |
| | | |
| | | if (list.length == 0) { |
| | | let rowData = { |
| | | id: null, |
| | | orderno: listAdd.length + 1, |
| | | applytype: this.fundtypeArrAll[i].itemType, |
| | | itemid: this.fundtypeArrAll[i].itemDetails[j].id, |
| | | itemcode: this.fundtypeArrAll[i].itemDetails[j].itemCode, |
| | | applytype: this.feeItemTypes[i].itemType, |
| | | itemid: this.feeItemTypes[i].itemDetails[j].id, |
| | | itemcode: this.feeItemTypes[i].itemDetails[j].itemCode, |
| | | recordstatus: "-1", |
| | | beneficiaryname: "点击选择", |
| | | unitname: "点击选择", |
| | | itemArr: this.fundtypeArrAll[i].itemDetails, |
| | | itemArr: this.feeItemTypes[i].itemDetails, |
| | | rowfeeblocks: null, |
| | | servicesscope: null, |
| | | servicesscopename: "" |
| | | }; |
| | | |
| | | //获取收费项目的说明信息 |
| | | getdetailsByItemId(rowData.itemid).then((res) => { |
| | | let fundmsg = res.data; |
| | | let rowfeeblocks = []; |
| | | fundmsg.forEach((item) => { |
| | | rowfeeblocks.push({ |
| | | expense: item.expense, |
| | | expensedescribe: item.expensedescribe, |
| | | remark: item.expensedescribe, |
| | | servicesscope: item.id, |
| | | }); |
| | | }); |
| | | |
| | | rowData.rowfeeblocks = rowfeeblocks; |
| | | rowData.servicesscope = null; |
| | | rowData.servicesscopename = ""; |
| | | }); |
| | | |
| | | listAdd.push(rowData); |
| | | } |
| | | } |
| | | } |
| | | this.fundDetailArr = listAdd; |
| | | this.fundDetails = listAdd; |
| | | this.loading = false; |
| | | // let Outerarr = this.fundDetailArr; |
| | | // let Outerarr = this.fundDetails; |
| | | // Outerarr.map((res) => { |
| | | // let onelist = this.fundtypeArr; |
| | | // let onelist = this.rowfeeItemTypes; |
| | | // onelist.map((item) => { |
| | | // //第一层不相等时; |
| | | // if (res.applytype !== item.itemType) { |
| | |
| | | // }); |
| | | // }); |
| | | }, |
| | | |
| | | addAll(row, i, arr) { |
| | | console.log("cecececececececece", row, row.itemArr); |
| | | row.itemArr.map((res) => { |
| | | if (res.id !== row.itemid) { |
| | | let a = arr.length; |
| | |
| | | arr[a].itemid = res.id; |
| | | |
| | | getdetailsByItemId(arr[a].itemid).then((res) => { |
| | | console.log("费用数据", res.data); |
| | | let fundmsg = res.data; |
| | | let fundblock = []; |
| | | let rowfeeblocks = []; |
| | | fundmsg.forEach((item) => { |
| | | fundblock.push({ |
| | | rowfeeblocks.push({ |
| | | expense: item.expense, |
| | | expensedescribe: item.expensedescribe, |
| | | remark: item.expensedescribe, |
| | | servicesscope: item.id, |
| | | }); |
| | | }); |
| | | console.log("组装后的数据", fundblock); |
| | | row.fundblock = fundblock; |
| | | row.rowfeeblocks = rowfeeblocks; |
| | | }); |
| | | } |
| | | }); |
| | | }, |
| | | |
| | | //新增一行 |
| | | addRow(rowIndex) { |
| | | let rowData = { |
| | |
| | | uploadtime: null, |
| | | itemArr: [], |
| | | servicesscope: null, |
| | | fundblock: [], |
| | | rowfeeblocks: [], |
| | | }; |
| | | if (rowIndex == undefined || rowIndex == null || rowIndex < 0) { |
| | | this.fundDetailArr.push(rowData); |
| | | this.fundDetails.push(rowData); |
| | | } else { |
| | | this.fundDetailArr.splice(rowIndex + 1, 0, rowData); |
| | | this.fundDetails.splice(rowIndex + 1, 0, rowData); |
| | | } |
| | | for (let i = 0; i < this.fundDetailArr.length; i++) { |
| | | this.fundDetailArr[i].orderno = i + 1; |
| | | for (let i = 0; i < this.fundDetails.length; i++) { |
| | | this.fundDetails[i].orderno = i + 1; |
| | | } |
| | | }, |
| | | |
| | | //加载服务项目 |
| | | LoadItemTypeArr(row) { |
| | | let list = this.fundtypeArrAll.filter((r) => r.itemType == row.applytype); |
| | | loadItemType(row) { |
| | | let list = this.feeItemTypes.filter((r) => r.itemType == row.applytype); |
| | | row.itemArr = list[0].itemDetails; |
| | | row.itemid = null; |
| | | this.$forceUpdate(); |
| | |
| | | // }); |
| | | }, |
| | | |
| | | /** 提交按钮 */ |
| | | submitForm() { |
| | | this.$refs["form"].validate((valid) => { |
| | | if (valid) { |
| | | let formData = this.form; |
| | | let totalPreTaxAmount = 0.0; |
| | | let totalAfterTaxAmount = 0.0; |
| | | let totalAmount = 0.0; |
| | | for (let k = 0; k < this.fundDetailArr.length; k++) { |
| | | let tempDetail = this.fundDetailArr[k]; |
| | | if (tempDetail.itemid == null) { |
| | | this.$modal.msgWarning("请选择服务项目"); |
| | | return; |
| | | } |
| | | // //判断单位 unitSel |
| | | // try { |
| | | // let unitIndex = this.unitList.findIndex( |
| | | // (item) => tempDetail.unitno == item.organizationid |
| | | // ); |
| | | // if (unitIndex > -1) { |
| | | // tempDetail.unitname = this.unitList[unitIndex].organizationname; |
| | | // } else { |
| | | // tempDetail.unitname = tempDetail.unitno; |
| | | // } |
| | | // } catch { |
| | | // tempDetail.unitname = tempDetail.unitno; |
| | | // } |
| | | if (!isNaN(parseFloat(tempDetail.amount))) { |
| | | totalPreTaxAmount += parseFloat(tempDetail.amount); |
| | | totalAmount += parseFloat(tempDetail.amount); |
| | | } |
| | | if (!isNaN(parseFloat(tempDetail.taxedamount))) { |
| | | totalAfterTaxAmount += parseFloat(tempDetail.taxedamount); |
| | | totalAmount += parseFloat(tempDetail.taxedamount); |
| | | } |
| | | this.fundDetailArr[k] = tempDetail; |
| | | } |
| | | |
| | | this.loading = true; |
| | | //附件处理 |
| | | let list = this.fileList; |
| | | if (list.length > 0) { |
| | | this.form.annexbankcard = list.map(item => item.url).join(","); |
| | | } |
| | | |
| | | this.form.donorname = this.curCase.name; |
| | | this.form.pretaxcost = parseFloat(totalPreTaxAmount).toFixed(2); |
| | | this.form.taxedcost = parseFloat(totalAfterTaxAmount).toFixed(2); |
| | | this.form.amountrequested = totalAmount.toFixed(2); |
| | | if (this.form.id != null) { |
| | | this.form.recordstatus = -1; |
| | | updateFund(this.form).then((response) => { |
| | | this.getfundList(); |
| | | this.dialogOpen = false; |
| | | this.getList(); |
| | | this.selectDonotor(this.curCase); |
| | | this.$modal.msgSuccess("修改成功"); |
| | | this.loading = false; |
| | | for (let m = 0; m < this.fundDetailArr.length; m++) { |
| | | let tempData = this.fundDetailArr[m]; |
| | | let tempItemArr = tempData.itemArr; |
| | | tempData.fundid = formData.id; |
| | | //获取服务项目明细 |
| | | let itemIndex = tempItemArr.findIndex( |
| | | (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) => { }); |
| | | } else { |
| | | addFunddetail(tempData).then((response2) => { }); |
| | | } |
| | | } |
| | | }); |
| | | } else { |
| | | //保存费用申请 |
| | | for (let m = 0; m < this.fundDetailArr.length; m++) { |
| | | let tempData = this.fundDetailArr[m]; |
| | | let tempUtemArr = tempData.itemArr; |
| | | //获取服务项目明细 |
| | | let itemIndex = tempUtemArr.findIndex( |
| | | (item) => tempData.itemid == item.id |
| | | ); |
| | | if (itemIndex > -1) { |
| | | tempData.itemname = tempUtemArr[itemIndex].itemName; |
| | | tempData.itemid = tempUtemArr[itemIndex].id; |
| | | } |
| | | //获取applytypename |
| | | let applytypeIndex = this.fundtypeArr.findIndex( |
| | | (item) => tempData.applytype == item.value |
| | | ); |
| | | if (applytypeIndex > -1) { |
| | | tempData.applytypename = this.fundtypeArr[applytypeIndex].label; |
| | | } |
| | | this.fundDetailArr[m] = tempData; |
| | | } |
| | | this.form.serviceFunddetails = 0; |
| | | this.fundDetailArr.map((item) => { |
| | | this.form.serviceFunddetails += item.amount; |
| | | }); |
| | | this.form.serviceFunddetails = this.fundDetailArr; |
| | | this.form.recordstatus = -1; |
| | | batchUploadFund(this.form).then((response) => { |
| | | if (response.code === 200) { |
| | | this.$modal.msgSuccess("新增成功"); |
| | | this.loading = false; |
| | | this.selectDonotor(this.curCase); |
| | | } else { |
| | | this.$modal.msgError("新增失败:" + response.msg); |
| | | this.loading = false; |
| | | } |
| | | }); |
| | | this.dialogOpen = false; |
| | | } |
| | | } |
| | | }); |
| | | }, |
| | | getlistExternalperson() { |
| | | //获取专家列表 |
| | | getExternalpersonList() { |
| | | listExternalperson().then((res) => { |
| | | console.log("人员表:", res); |
| | | this.personlist = res.rows; |
| | | }); |
| | | }, |
| | | |
| | | //专家人员列表 |
| | | selectReporters() { |
| | | //专家人员列表 |
| | | let arr = ["expert"]; |
| | | let arrreportlist = []; |
| | | for (let i = 0; i < arr.length; i++) { |
| | | this.arrr2 = []; |
| | | listReportname(arr[i]).then((res) => { |
| | | let types = ["expert"]; |
| | | let templist = []; |
| | | for (let i = 0; i < types.length; i++) { |
| | | templist = []; |
| | | listReportname(types[i]).then((res) => { |
| | | for (let j = 0; j < res.data.length; j++) { |
| | | this.arrr2.push({ |
| | | templist.push({ |
| | | reportName: res.data[j].reportName, |
| | | reportNo: res.data[j].reportNo, |
| | | }); |
| | | } |
| | | this.arrr3 = this.arrr3.concat(this.arrr2); |
| | | console.log("adadadadasdsad", this.arrr3, this.userlist); |
| | | this.expertlist = this.expertlist.concat(templist); |
| | | }); |
| | | } |
| | | }, |
| | | |
| | | selectpersonmsg(row) { |
| | | console.log("row", row); |
| | | // if(row.beneficiaryname) |
| | | this.personlist.map((res) => { |
| | | if (row.beneficiaryname == res.username) { |
| | |
| | | row.branchbankname = res.branchbankname; |
| | | row.depositbank = res.depositbank; |
| | | row.idcardno = res.idcardno; |
| | | row.phone = res.telephone; |
| | | row.phone = res.phonenumber; |
| | | row.title = res.title; |
| | | row.unitname = res.unitname; |
| | | row.unitno = res.unitno; |
| | |
| | | } |
| | | }); |
| | | }, |
| | | getlistUser() { |
| | | |
| | | getUserList() { |
| | | listUser().then((res) => { |
| | | console.log("listUser", res); |
| | | this.userlist = res.data; |
| | | }); |
| | | }, |
| | | /** 修改按钮操作 */ |
| | | handleUpdate(row) { |
| | | 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; |
| | | getFund(id).then((response) => { |
| | | this.form = response.data; |
| | | // this.form.recordstate =-1; |
| | | // this.form.recordstatus = response.data.recordstatus + ""; |
| | | 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) => { |
| | | console.log("查询明细记录:", 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.fundDetailArr[m].fundblock = []; |
| | | this.fundDetailArr[m].fundblock.push({ |
| | | expense: this.fundDetailArr[m].expense, |
| | | expensedescribe: this.fundDetailArr[m].servicesscopename, |
| | | remark: this.fundDetailArr[m].servicesscope, |
| | | servicesscope: this.fundDetailArr[m].servicesscope, |
| | | }); |
| | | } |
| | | // console.log("fundDetailArr:" + JSON.stringify(this.fundDetailArr)); |
| | | }); |
| | | }); |
| | | }, |
| | | |
| | | /** 查看按钮操作 */ |
| | | handleDetail(row) { |
| | | 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 = "detail"; |
| | | const id = row.id || this.ids; |
| | | |
| | | getFund(id).then((response) => { |
| | | this.form = response.data; |
| | | this.form.name = this.curCase.name; |
| | | let listFundflowparams = { |
| | | fundid: row.id, |
| | | fundtype: 2, |
| | | }; |
| | | //附件处理 |
| | | this.fileList = this.form.annexbankcard ? this.form.annexbankcard.split(",").map(item => ({ url: item, name: item })) : [] |
| | | |
| | | listFundflow(listFundflowparams).then((res) => { |
| | | this.fundflowList = res.rows; |
| | | }); |
| | | getownFundDetail(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.fundDetailArr[m].fundblock = []; |
| | | this.fundDetailArr[m].fundblock.push({ |
| | | expense: this.fundDetailArr[m].expense, |
| | | expensedescribe: this.fundDetailArr[m].servicesscopename, |
| | | remark: this.fundDetailArr[m].servicesscope, |
| | | servicesscope: this.fundDetailArr[m].servicesscope, |
| | | }); |
| | | } |
| | | // console.log("fundDetailArr:" + JSON.stringify(this.fundDetailArr)); |
| | | }); |
| | | }); |
| | | }, |
| | | |
| | | handleDelete(row) { |
| | | const ids = row.id || this.ids; |
| | | this.$modal |
| | | .confirm("是否确认删除该记录?") |
| | | .then(function () { |
| | | return delFund(ids); |
| | | }) |
| | | .then(() => { |
| | | getownFundDetail(ids).then((res) => { |
| | | let listdetails = res.data; |
| | | for (let i = 0; i < listdetails.length; i++) { |
| | | delFunddetail(listdetails[i].id); |
| | | //筛查出对应的费用项目 |
| | | searchItemType(val, scope) { |
| | | let result = []; |
| | | if (val != "") { |
| | | let tempItemArr = scope.row.itemArr; |
| | | for (let i = 0; i < tempItemArr.length; i++) { |
| | | let pym = tempItemArr[i].itempinyin; |
| | | if (pym != null && pym != undefined && pym != "") { |
| | | if (pym.indexOf(val) != -1) { |
| | | result.push(tempItemArr[i]); |
| | | } |
| | | }); |
| | | // this.getList(); |
| | | this.getfundList(); |
| | | this.$modal.msgSuccess("删除成功"); |
| | | }) |
| | | .catch(() => { }); |
| | | } |
| | | } |
| | | scope.row.itemArr = result; |
| | | } else { |
| | | getItemNames(scope.row.applytype).then((res) => { |
| | | scope.row.itemArr = res.data; |
| | | //this.$set(this.fundDetails, rowindex, row); |
| | | }); |
| | | } |
| | | }, |
| | | |
| | | deleteRows(row, index, rows) { |
| | |
| | | }).then(() => { |
| | | this.$set(rows, rows.splice(index, 1)); |
| | | getownFundDetail(this.form.id).then((res) => { |
| | | this.$set(this.fundDetailArr, res.data); |
| | | this.$set(this.fundDetails, res.data); |
| | | this.sumTotalFee(); |
| | | // this.fundDetailArr = res.data |
| | | // console.log('删除后',this.fundDetailArr) |
| | | // this.fundDetails = res.data |
| | | }); |
| | | }); |
| | | } |
| | | // getownFundDetail(this.form.id).then(res=>{ |
| | | // this.$set(this.fundDetailArr,res.data) |
| | | // this.fundDetailArr = res.data |
| | | // console.log('删除后',this.fundDetailArr) |
| | | // this.$set(this.fundDetails,res.data) |
| | | // this.fundDetails = res.data |
| | | // }) |
| | | }); |
| | | } else { |
| | |
| | | }); |
| | | }, |
| | | |
| | | //计算个税 |
| | | calculateTax() { }, |
| | | |
| | | //计算总金额 |
| | | sumTotalFee(row) { |
| | | let allSum = 0; |
| | | if (this.form.applytype != null) { |
| | | for (let i = 0; i < this.fundDetailArr.length; i++) { |
| | | for (let i = 0; i < this.fundDetails.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.fundDetails[i].amount))) { |
| | | totalFee += parseFloat(this.fundDetails[i].amount); |
| | | taxFee += parseFloat(this.fundDetails[i].amount); |
| | | } |
| | | if (!isNaN(parseFloat(this.fundDetailArr[i].taxamount))) { |
| | | totalFee -= parseFloat(this.fundDetailArr[i].taxamount); |
| | | taxFee -= parseFloat(this.fundDetailArr[i].taxamount); |
| | | if (!isNaN(parseFloat(this.fundDetails[i].taxamount))) { |
| | | totalFee -= parseFloat(this.fundDetails[i].taxamount); |
| | | taxFee -= parseFloat(this.fundDetails[i].taxamount); |
| | | } |
| | | } else if (this.form.applytype == 3) { |
| | | if ( |
| | | !isNaN(parseFloat(this.fundDetailArr[i].price)) && |
| | | !isNaN(parseFloat(this.fundDetailArr[i].quantity)) |
| | | !isNaN(parseFloat(this.fundDetails[i].price)) && |
| | | !isNaN(parseFloat(this.fundDetails[i].quantity)) |
| | | ) { |
| | | totalFee += |
| | | parseFloat(this.fundDetailArr[i].price) * |
| | | parseFloat(this.fundDetailArr[i].quantity); |
| | | parseFloat(this.fundDetails[i].price) * |
| | | parseFloat(this.fundDetails[i].quantity); |
| | | } |
| | | } |
| | | |
| | | //税前、税后需要独立录入 |
| | | // if (!isNaN(parseFloat(taxFee))) { |
| | | // this.fundDetailArr[i].taxedamount = taxFee.toFixed(2); |
| | | // this.fundDetails[i].taxedamount = taxFee.toFixed(2); |
| | | // } |
| | | |
| | | allSum += totalFee; |
| | |
| | | } |
| | | // this.form.amountrequested = allSum.toFixed(2); |
| | | // this.$forceUpdate(); |
| | | // console.log(this.form); |
| | | }, |
| | | |
| | | //获取费用类型 |
| | | getCurFundType() { |
| | | getFundTypeAll(this.currentApplyType).then((res) => { |
| | | console.log("费用类型", res.data); |
| | | let dataList = res.data; |
| | | this.fundtypeArrAll = dataList; |
| | | this.fundtypeArr = []; |
| | | this.feeItemTypes = dataList; |
| | | this.rowfeeItemTypes = []; |
| | | for (let m = 0; m < dataList.length; m++) { |
| | | this.fundtypeArr.push({ |
| | | this.rowfeeItemTypes.push({ |
| | | value: dataList[m].itemType, |
| | | label: dataList[m].itemTypeName, |
| | | subjecttype: dataList[m].subjecttype, |
| | | subjecttypename: dataList[m].subjecttypename, |
| | | }); |
| | | } |
| | | }); |
| | | }, |
| | | |
| | | getItemArr(rowindex, row) { |
| | | let list = this.fundtypeArrAll.filter((r) => r.itemType == row.applytype); |
| | | let list = this.feeItemTypes.filter((r) => r.itemType == row.applytype); |
| | | row.itemArr = list[0].itemDetails; |
| | | this.$set(this.fundDetailArr, rowindex, row); |
| | | this.$set(this.fundDetails, rowindex, row); |
| | | //this.loading = true; |
| | | // getItemNames(row.applytype).then((res) => { |
| | | // this.loading = false; |
| | | // row.itemArr = res.data; |
| | | // this.$set(this.fundDetailArr, rowindex, row); |
| | | // this.$set(this.fundDetails, rowindex, row); |
| | | // }); |
| | | }, |
| | | |
| | | mixExport(scope) { |
| | | console.log(scope); |
| | | this.dayin(scope.row.id); |
| | | //this.totaldayin(id); |
| | | }, |
| | |
| | | }); |
| | | }, |
| | | |
| | | SearchItem(val, scope) { |
| | | let result = []; |
| | | if (val != "") { |
| | | let tempItemArr = scope.row.itemArr; |
| | | for (let i = 0; i < tempItemArr.length; i++) { |
| | | let pym = tempItemArr[i].itempinyin; |
| | | if (pym != null && pym != undefined && pym != "") { |
| | | console.log(pym); |
| | | if (pym.indexOf(val) != -1) { |
| | | result.push(tempItemArr[i]); |
| | | } |
| | | } |
| | | } |
| | | scope.row.itemArr = result; |
| | | } else { |
| | | getItemNames(scope.row.applytype).then((res) => { |
| | | scope.row.itemArr = res.data; |
| | | //this.$set(this.fundDetailArr, rowindex, row); |
| | | }); |
| | | } |
| | | }, |
| | | |
| | | |
| | | //文件上传 |
| | | handleUploadError() { }, |
| | | |
| | | /** 下载文件按钮操作 */ |
| | | 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); |
| | | }, |
| | | |
| | | remove(file) { |
| | | this.fileList.splice(this.fileList.indexOf(file), 1) |
| | | }, |
| | | |
| | | handleExceed() { |
| | | this.$message.error(`上传文件数量不能超过 ${5} 个!`); |
| | | }, |
| | | |
| | | //文件上传成功回调 |
| | | uploadSccess(response, file, fileList) { |
| | | //获取附件信息位置 |
| | |
| | | this.$modal.msgSuccess(response.msg); |
| | | this.fileList.push({ name: response.fileName, url: response.fileName }); |
| | | } else { |
| | | this.$modal.msgError(response.msg); |
| | | console.log(response.msg);; |
| | | } |
| | | //console.log("上传文件后:" + JSON.stringify(this.fileList)); |
| | | }, |
| | | |
| | | }, |
| | | |
| | | //生命周期 - 创建完成(可以访问当前this实例) |
| | | created() { |
| | | this.getUnitList(); |
| | | this.getList(); |
| | | this.getBaseInfoList(); |
| | | this.getlistUser(); |
| | | this.getCurFundType(); |
| | | }, |
| | | //生命周期 - 挂载完成(可以访问DOM元素) |
| | | mounted() { |
| | | this.selectReporters(); |
| | | this.getUsermsg(); |
| | | this.getlistExternalperson(); |
| | | }, |
| | | beforeCreate() { }, //生命周期 - 创建之前 |
| | | beforeMount() { }, //生命周期 - 挂载之前 |
| | | beforeUpdate() { }, //生命周期 - 更新之前 |
| | | updated() { }, //生命周期 - 更新之后 |
| | | beforeDestroy() { }, //生命周期 - 销毁之前 |
| | | destroyed() { }, //生命周期 - 销毁完成 |
| | | activated() { }, //如果页面有keep-alive缓存功能,这个函数会触发 |
| | | }; |
| | | |
| | | </script> |
| | | <style scoped> |
| | | /* @import url(); 引入公共css类 */ |