| | |
| | | <el-form ref="form" :model="form" :rules="rules" label-width="120px"> |
| | | <el-row> |
| | | <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="bh"> |
| | | <el-input v-model="form.bh" :disabled="true" placeholder="报销单号" clearable /> |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :span="5"> |
| | | <el-form-item label="申请日期" prop="applyTime"> |
| | | <el-date-picker clearable :disabled="true" 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%" |
| | | @change="getUserAccount" |
| | | > |
| | | <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%" |
| | | @change="getUserAccount"> |
| | | <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 label="联系电话" prop="phone"> |
| | | <el-input v-model="form.phone" placeholder="请输入联系电话" /> |
| | | </el-form-item> |
| | | </el-col> |
| | | </el-row> |
| | |
| | | }}</el-radio> |
| | | </el-form-item> |
| | | </el-col> |
| | | <!-- <el-col :span="5"> |
| | | <el-form-item label="银行名称" prop="bankname"> |
| | | <el-input v-model="form.bankname" placeholder="请输入银行名称" /> |
| | | </el-form-item> </el-col |
| | | ><el-col :span="5"> |
| | | <el-form-item label="银行账号" prop="bankcardno"> |
| | | <el-input |
| | | v-model="form.bankcardno" |
| | | placeholder="请输入银行账号" |
| | | /> |
| | | </el-form-item> |
| | | </el-col> --> |
| | | <el-col :span="5"> |
| | | <el-form-item label="联系电话" prop="phone"> |
| | | <el-input v-model="form.phone" placeholder="请输入联系电话" /> |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :span="5"> |
| | | <el-form-item label="捐献者" prop="name"> |
| | | <el-input |
| | | :disabled="true" |
| | | v-model="form.donorname" |
| | | placeholder="请输入捐献者姓名" |
| | | /> |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :span="5"> |
| | | <el-col :span="5" v-if="ismanager == true"> |
| | | <el-form-item label="申请金额" prop="pretaxcost"> |
| | | <el-input |
| | | v-model="form.pretaxcost" |
| | | placeholder="税前金额合计" |
| | | :disabled="true" |
| | | /> |
| | | <el-input v-model="form.pretaxcost" placeholder="税前金额合计" :disabled="true" /> |
| | | </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="5"> |
| | | <el-form-item label="合计金额" prop="amountrequested"> |
| | | <el-input v-model="form.amountrequested" placeholder="申请金额" :disabled="true" /> |
| | | <el-form-item label="捐献案例" prop="name"> |
| | | <el-input :disabled="true" v-model="form.donorname" placeholder="请输入捐献者姓名" /> |
| | | </el-form-item> |
| | | </el-col> |
| | | --> |
| | | |
| | | <!-- |
| | | <el-col :span="5"> |
| | | <el-form-item label="应缴税" prop="taxcost" v-if="businessType == '1' || businessType == '2'"> |
| | | <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="10"> |
| | | <el-form-item label="申请说明" prop="remark"> |
| | | <el-input v-model="form.remark" placeholder="申请说明" /> |
| | | </el-form-item> |
| | | </el-col> |
| | | |
| | | <!-- |
| | | <el-col :span="5"> |
| | | <el-form-item label="申请状态" prop="recordstatus"> |
| | |
| | | </el-col>--> |
| | | </el-row> |
| | | <el-row style="margin-top: 5px; margin-bottom: 5px" /> |
| | | <el-row style="margin-bottom: 10px" v-if="businessType == '1'"> |
| | | <el-col :span="4"> |
| | | <el-button |
| | | @click.native.prevent="importFeeItems" |
| | | type="primary" |
| | | size="small" |
| | | > |
| | | 导入服务项目 |
| | | </el-button> |
| | | </el-col> |
| | | </el-row> |
| | | <el-row v-if="jurisdiction"> |
| | | <!-- <el-alert title="当前为查看状态,不支持修改存储。" type="warning"> |
| | | </el-alert> --> |
| | | <el-alert |
| | | title="当前为查看状态,不支持修改存储。" |
| | | type="warning" |
| | | show-icon |
| | | > |
| | | <el-alert title="当前为查看状态,不支持修改存储。" type="warning" show-icon> |
| | | </el-alert> |
| | | </el-row> |
| | | <el-row v-if="businessType == 2"> |
| | | <el-col :span="3" |
| | | ><div style="margin-bottom: 15px;"> |
| | | <el-button |
| | | type="success" |
| | | icon="el-icon-download" |
| | | @click="Batchentry" |
| | | >批量录入</el-button |
| | | > |
| | | </div></el-col |
| | | > |
| | | </el-row> |
| | | <el-row v-if="businessType == 1 && operationType == 'check'"> |
| | | <el-col :span="3" |
| | | ><div style="margin-bottom: 15px;"> |
| | | <el-button |
| | | type="success" |
| | | icon="el-icon-edit-outline" |
| | | @click="Manualcalculationfn" |
| | | >计算明细</el-button |
| | | > |
| | | </div></el-col |
| | | > |
| | | <el-row> |
| | | <el-col :span="3" v-if="businessType == '1'"> |
| | | <div style="margin-bottom: 15px;"> |
| | | <el-button type="primary" icon="el-icon-download" size="small" @click.native.prevent="importFeeItems"> |
| | | 批量导入服务项目 |
| | | </el-button> |
| | | </div> |
| | | </el-col> |
| | | <el-col :span="3" v-if="businessType == 2"> |
| | | <div style="margin-bottom: 15px;"> |
| | | <el-button type="primary" icon="el-icon-download" size="small" @click="Batchentry">批量录入专家</el-button> |
| | | </div> |
| | | </el-col> |
| | | <el-col :span="3" v-if="userprofile.nickName == '陈慕华' && (businessType == '1' || businessType == '2')"> |
| | | <div style="margin-bottom: 15px;"> |
| | | <el-button type="success" icon="el-icon-edit-outline" size="small" |
| | | @click="Manualcalculationfn">计算个税</el-button> |
| | | </div> |
| | | </el-col> |
| | | </el-row> |
| | | <el-row> |
| | | <el-table |
| | | :data="rbDetails" |
| | | v-loading="loading" |
| | | max-height="800" |
| | | border |
| | | highlight-current-row |
| | | > |
| | | <el-table-column |
| | | prop="orderno" |
| | | align="center" |
| | | label="序号" |
| | | width="88" |
| | | > |
| | | <el-table :data="rbDetails" v-loading="loading" max-height="800" border highlight-current-row> |
| | | <el-table-column prop="orderno" align="center" label="序号" width="88"> |
| | | <template slot-scope="scope"> |
| | | <el-input v-model="scope.row.orderno" placeholder="序号" /> |
| | | </template> |
| | |
| | | <el-table-column prop="itemcode" align="center" label="项目编号" show-overflow-tooltip="" |
| | | v-if="form.applytype == '1'"> |
| | | </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="verifyFeeItemType(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="itemid" align="center" label="服务项目" width="260"> |
| | | <template slot-scope="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.itemlist" :key="dict.index" :label="dict.itemName" |
| | | :value="dict.id"></el-option> |
| | | </el-select> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column prop="servicesscope" align="center" label="服务说明" v-if="businessType == '1'" width="180"> |
| | | <template slot-scope="scope"> |
| | | <el-select v-model="scope.row.servicesscope" placeholder="服务说明" clearable allow-create |
| | | @change="verifyFeeRemark(scope.row)"> |
| | | <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 prop="price" align="center" label="单价" width="120" v-if="businessType == 4"> |
| | | <template slot-scope="scope"> |
| | | <el-input v-model="scope.row.price" placeholder="单价" @blur="val => { |
| | | sumTotalFee(scope.row); |
| | | } |
| | | " /> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column prop="quantity" align="center" label="数量" width="120" v-if="businessType == 4"> |
| | | <template slot-scope="scope"> |
| | | <el-input v-model="scope.row.quantity" placeholder="数量" @blur="val => { |
| | | sumTotalFee(scope.row); |
| | | } |
| | | " /> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column prop="amount" align="center" :label="amountlabel" width="120"> |
| | | <template slot-scope="scope"> |
| | | <el-input v-model="scope.row.amount" placeholder="金额" /> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column prop="taxamount" align="center" label="扣税金额" width="120" |
| | | v-if="(ismanager == true) && (businessType == '1' || businessType == '2')"> |
| | | <template slot-scope="scope"> |
| | | <el-input v-model="scope.row.taxamount" placeholder="扣税金额" /> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column prop="taxedamount" align="center" label="税后金额" width="120" |
| | | v-if="(ismanager == true) && (businessType == '1' || businessType == '2')"> |
| | | <template slot-scope="scope"> |
| | | <el-input v-model="scope.row.taxedamount" placeholder="税后金额" /> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column prop="beneficiaryname" column-key="sdad" align="center" :label="beneficiarylabel" |
| | | width="200"> |
| | | <template slot-scope="scope"> |
| | | <el-button type="primary" plain @click="showSelectionDialog(scope, 'account')">{{ |
| | | scope.row.beneficiaryname ? scope.row.beneficiaryname : "点击选择" }}</el-button> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column prop="unitno" align="center" label="专家所在单位" width="250" |
| | | v-if="businessType == '1' || businessType == '2'"> |
| | | <template slot-scope="scope"> |
| | | <el-button type="primary" plain @click="showSelectionDialog(scope, 'workunit')">{{ |
| | | scope.row.unitname ? scope.row.unitname : "点击选择" |
| | | }}</el-button> |
| | | </template> |
| | | </el-table-column> |
| | | <!-- |
| | | <el-table-column prop="unitname" align="center" label="单位(个人)名称" width="300" |
| | | v-if="form.applytype == '4' || form.applytype == '3'"> |
| | | <template slot-scope="scope"> |
| | | <el-button type="primary" plain @click="showSelectionDialog(scope, 'account')">{{ |
| | | scope.row.unitname |
| | | ? scope.row.unitname |
| | | : "点击选择" |
| | | }}</el-button> |
| | | |
| | | <el-select |
| | | v-model="scope.row.applytype" |
| | | placeholder="请选择服务类型" |
| | | @change="verifyFeeItemType(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="itemid" |
| | | align="center" |
| | | label="服务项目" |
| | | width="260" |
| | | > |
| | | <template slot-scope="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.itemlist" |
| | | :key="dict.index" |
| | | :label="dict.itemName" |
| | | :value="dict.id" |
| | | ></el-option> |
| | | </el-select> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column |
| | | prop="servicesscope" |
| | | align="center" |
| | | label="服务说明" |
| | | v-if="form.applytype == '1'" |
| | | width="180" |
| | | > |
| | | <template slot-scope="scope"> |
| | | <el-select |
| | | v-model="scope.row.servicesscope" |
| | | placeholder="服务说明" |
| | | clearable |
| | | allow-create |
| | | @change="verifyFeeRemark(scope.row)" |
| | | > |
| | | <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 |
| | | prop="price" |
| | | align="center" |
| | | label="单价" |
| | | width="120" |
| | | v-if="businessType == 4" |
| | | > |
| | | <template slot-scope="scope"> |
| | | <el-input |
| | | v-model="scope.row.price" |
| | | placeholder="单价" |
| | | @blur=" |
| | | val => { |
| | | sumTotalFee(scope.row); |
| | | } |
| | | " |
| | | /> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column |
| | | prop="quantity" |
| | | align="center" |
| | | label="数量" |
| | | width="120" |
| | | v-if="businessType == 4" |
| | | > |
| | | <template slot-scope="scope"> |
| | | <el-input |
| | | v-model="scope.row.quantity" |
| | | placeholder="数量" |
| | | @blur=" |
| | | val => { |
| | | sumTotalFee(scope.row); |
| | | } |
| | | " |
| | | /> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column |
| | | v-if=" |
| | | businessType == 2 || |
| | | businessType == 3 || |
| | | businessType == 4 || |
| | | ismanager == true |
| | | " |
| | | prop="amount" |
| | | align="center" |
| | | :label="amountLabel" |
| | | 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.rowfeeblocks" :key="dict.expensedescribe" :label="dict.expense" |
| | | :value="dict.expense"></el-option> |
| | | </el-select> |
| | | --> |
| | | <el-input |
| | | v-model="scope.row.amount" |
| | | placeholder="金额" |
| | | @blur=" |
| | | val => { |
| | | calculateTax(scope.row, 'A'); |
| | | } |
| | | " |
| | | /> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column |
| | | prop="taxedamount" |
| | | align="center" |
| | | label="税后金额" |
| | | width="120" |
| | | v-if=" |
| | | (this.ismanager == true) & |
| | | (form.applytype == '1' || form.applytype == '2') |
| | | " |
| | | > |
| | | <template slot-scope="scope"> |
| | | <el-input |
| | | v-model="scope.row.taxedamount" |
| | | placeholder="税后金额" |
| | | @blur=" |
| | | val => { |
| | | calculateTax(scope.row, 'B'); |
| | | } |
| | | " |
| | | /> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column |
| | | prop="beneficiaryname" |
| | | 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, 'expert')" |
| | | >{{ |
| | | scope.row.beneficiaryname |
| | | ? scope.row.beneficiaryname |
| | | : "点击选择" |
| | | }}</el-button |
| | | > |
| | | <!-- <el-select |
| | | filterable |
| | | allow-create |
| | | ref="getReportname" |
| | | default-first-option |
| | | @change="selectExpert(scope.row)" |
| | | v-model="scope.row.beneficiaryname" |
| | | placeholder="请选择" |
| | | > |
| | | <el-option |
| | | v-for="item in expertlist" |
| | | :key="item.reportNo" |
| | | :label="item.reportName" |
| | | :value="item.reportName" |
| | | > |
| | | </el-option> |
| | | </el-select> --> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column |
| | | prop="unitno" |
| | | align="center" |
| | | label="单位名称" |
| | | width="250" |
| | | v-if="form.applytype != '4' && form.applytype != '3'" |
| | | > |
| | | <template slot-scope="scope"> |
| | | <el-button |
| | | type="primary" |
| | | plain |
| | | @click="ShowDetailDialog(scope, 'unit')" |
| | | >{{ |
| | | scope.row.unitname ? scope.row.unitname : "点击选择" |
| | | }}</el-button |
| | | > |
| | | <!-- <el-select |
| | | v-model="scope.row.unitno" |
| | | placeholder="单位" |
| | | clearable |
| | |
| | | :label="spec.organizationname" |
| | | :value="spec.organizationid" |
| | | ></el-option> |
| | | </el-select> --> |
| | | </el-select> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column |
| | | prop="beneficiaryname" |
| | | align="center" |
| | | label="单位/个人" |
| | | width="250" |
| | | v-if="form.applytype == '4' || form.applytype == '3'" |
| | | > |
| | | <template slot-scope="scope"> |
| | | <el-button |
| | | type="primary" |
| | | plain |
| | | @click="ShowDetailDialog(scope, 'expert')" |
| | | >{{ |
| | | scope.row.beneficiaryname |
| | | ? scope.row.beneficiaryname |
| | | : "点击选择" |
| | | }}</el-button |
| | | > |
| | | <!-- <el-select |
| | | v-model="scope.row.unitno" |
| | | placeholder="单位" |
| | | clearable |
| | | filterable |
| | | allow-create |
| | | > |
| | | <el-option |
| | | v-for="(spec, index) in unitList" |
| | | :key="index" |
| | | :label="spec.organizationname" |
| | | :value="spec.organizationid" |
| | | ></el-option> |
| | | </el-select> --> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column |
| | | prop="title" |
| | | align="center" |
| | | label="职称" |
| | | width="120" |
| | | v-if="form.applytype == '1' || form.applytype == '2'" |
| | | > |
| | | --> |
| | | <el-table-column prop="title" align="center" label="职称" width="120" |
| | | v-if="businessType == '1' || businessType == '2'"> |
| | | <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 == '1' || form.applytype == '2'" |
| | | > |
| | | <el-table-column prop="idcardno" align="center" label="身份证号" width="200" |
| | | v-if="businessType == '1' || businessType == '2'"> |
| | | <template slot-scope="scope"> |
| | | <el-input v-model="scope.row.idcardno" placeholder="身份证号" /> |
| | | <el-form-item label-width="0"> |
| | | <el-input :disabled="userprofile.nickName != '陈慕华' |
| | | " v-model.number="scope.row.idcardno" @input="tableParValueChange1(scope.row)" |
| | | placeholder="身份证号" /> |
| | | </el-form-item> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column |
| | | prop="depositbank" |
| | | align="center" |
| | | label="开户银行" |
| | | width="200" |
| | | > |
| | | <!-- v-if="form.applytype != '4'" --> |
| | | <el-table-column prop="depositbank" align="center" label="开户银行" width="200"> |
| | | <template slot-scope="scope"> |
| | | <el-input |
| | | v-model="scope.row.depositbank" |
| | | placeholder="开户银行" |
| | | /> |
| | | <el-input :disabled="userprofile.nickName != '陈慕华'" 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 :disabled="userprofile.nickName != '陈慕华' |
| | | " v-model="scope.row.bankcardno" placeholder="银行帐号" /> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column |
| | | prop="remark" |
| | | align="center" |
| | | width="330" |
| | | label="备注" |
| | | > |
| | | <el-table-column prop="itemdescrisca" align="center" width="330" label="项目说明"> |
| | | <template slot-scope="scope"> |
| | | <el-input |
| | | type="textarea" |
| | | :rows="2" |
| | | v-model="scope.row.remark" |
| | | placeholder="备注" |
| | | /> |
| | | <el-input type="textarea" :rows="2" v-model="scope.row.itemdescribe" placeholder="项目说明" /> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column |
| | | fixed="right" |
| | | align="center" |
| | | label="操作" |
| | | width="180" |
| | | > |
| | | <el-table-column prop="remark" align="center" width="330" label="备注" v-show="ismanager == true"> |
| | | <template slot-scope="scope"> |
| | | <el-button |
| | | type="text" |
| | | size="mini" |
| | | @click="addRow(scope.$index)" |
| | | v-if=" |
| | | operationType == 'add' || |
| | | operationType == 'update' || |
| | | operationType == 'check' |
| | | " |
| | | >新增</el-button |
| | | > |
| | | <el-button |
| | | @click.native.prevent=" |
| | | deleteRows(scope.row, scope.$index, rbDetails) |
| | | " |
| | | type="text" |
| | | size="small" |
| | | v-if=" |
| | | operationType == 'add' || |
| | | operationType == 'update' || |
| | | operationType == 'check' |
| | | " |
| | | > |
| | | <el-input type="textarea" :rows="2" v-model="scope.row.remark" placeholder="备注" /> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column fixed="right" align="center" label="操作" width="180"> |
| | | <template slot-scope="scope"> |
| | | <el-button type="text" size="mini" @click="addRow(scope.$index)" v-if="operationType == 'add' || |
| | | operationType == 'update' || |
| | | operationType == 'check' |
| | | ">新增</el-button> |
| | | <el-button @click.native.prevent=" |
| | | deleteRows(scope.row, scope.$index, rbDetails) |
| | | " type="text" size="small" v-if="operationType == 'add' || |
| | | operationType == 'update' || |
| | | operationType == 'check' |
| | | "> |
| | | 删除 |
| | | </el-button> |
| | | <el-button |
| | | @click.native.prevent=" |
| | | Filepopup(scope.$index, rbDetails, scope.row) |
| | | " |
| | | type="text" |
| | | size="small" |
| | | v-if="businessType == 3 || businessType == 4" |
| | | >票据</el-button |
| | | > |
| | | <el-button @click.native.prevent=" |
| | | Filepopup(scope.$index, rbDetails, scope.row) |
| | | " type="text" size="small" v-if="businessType == 2 || businessType == 3 || businessType == 4 |
| | | ">票据</el-button> |
| | | </template> |
| | | </el-table-column> |
| | | </el-table> |
| | | </el-row> |
| | | <!-- |
| | | <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-row> |
| | | <el-col :span="7"> |
| | | <el-form-item label="OPO中心签字" prop="opochecker"> |
| | | <el-input v-model="form.opochecker" placeholder="opo中心签字" /> |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :span="8"> |
| | | <el-form-item label="财务副院长" prop="finvicepresident"> |
| | | <el-input v-model="form.finvicepresident" placeholder="财务副院长" /> |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :span="7"> |
| | | <el-form-item label="业务副院长" prop="busvicepresident"> |
| | | <el-input v-model="form.busvicepresident" placeholder="业务副院长" /> |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :span="7"> |
| | | <el-form-item label="办公室主任" prop="officedirector"> |
| | | <el-input v-model="form.officedirector" placeholder="请输入办公室主任" /> |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :span="8"> |
| | | <el-form-item label="财务部负责人" prop="financedirector"> |
| | | <el-input v-model="form.financedirector" placeholder="请输入财务部负责人" /> |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :span="7"> |
| | | <el-form-item label="财务审核" prop="financechecher"> |
| | | <el-input v-model="form.financechecher" placeholder="请输入财务审核" /> |
| | | </el-form-item> |
| | | </el-col> |
| | | </el-row> |
| | | --> |
| | | |
| | | <el-row> |
| | | <el-col :span="12"> |
| | | <el-form-item |
| | | label="费用申请附件" |
| | | align="left" |
| | | prop="annexbankcard" |
| | | v-if="businessType == 0" |
| | | > |
| | | <el-upload |
| | | size="mini" |
| | | class="upload-demo" |
| | | :action="uploadFileUrl" |
| | | :file-list="fileListto" |
| | | :show-file-list="false" |
| | | multiple |
| | | drag |
| | | :headers="headers" |
| | | :on-success=" |
| | | (response, file, fileList) => |
| | | uploadSccess(response, file, fileList) |
| | | " |
| | | :on-preview="downFile" |
| | | :disabled="operationType == 'detail'" |
| | | :on-error="handleUploadError" |
| | | :on-remove="remove" |
| | | accept="image/*,.pdf" |
| | | > |
| | | <el-form-item label="费用申请附件" align="left" prop="annexbankcard" v-if="businessType == 0"> |
| | | <el-upload size="mini" class="upload-demo" :action="uploadFileUrl" :file-list="fileListto" |
| | | :show-file-list="false" multiple drag :headers="headers" :on-success="(response, file, fileList) => |
| | | uploadSccess(response, file, fileList) |
| | | " :on-preview="downFile" :disabled="operationType == 'detail'" :on-error="handleUploadError" |
| | | :on-remove="remove" accept="image/*,.pdf"> |
| | | <i class="el-icon-upload"></i> |
| | | <div class="el-upload__text"> |
| | | 将票据拖到此处,或 |
| | | <em |
| | | ><el-button |
| | | :disabled="operationType == 'detail'" |
| | | size="small" |
| | | type="primary" |
| | | >点击上传</el-button |
| | | ></em |
| | | > |
| | | <em><el-button :disabled="operationType == 'detail'" size="small" type="primary">点击上传</el-button></em> |
| | | </div> |
| | | </el-upload> |
| | | <el-table |
| | | :data="fileListto" |
| | | @row-click="downFile" |
| | | style="width: 100%" |
| | | height="400" |
| | | > |
| | | <el-table-column |
| | | prop="name" |
| | | :show-overflow-tooltip="true" |
| | | label="名称" |
| | | > |
| | | <el-table :data="fileListto" @row-click="downFile" style="width: 100%" height="400"> |
| | | <el-table-column prop="name" :show-overflow-tooltip="true" label="名称"> |
| | | <template slot-scope="scope"> |
| | | <i style="color:#409EFF" class=" el-icon-s-order" />{{ |
| | | scope.row.name |
| | |
| | | </template> |
| | | </el-table-column> |
| | | |
| | | <el-table-column |
| | | prop="name" |
| | | width="180" |
| | | :show-overflow-tooltip="true" |
| | | label="功能" |
| | | > |
| | | <el-table-column prop="name" width="180" :show-overflow-tooltip="true" label="功能"> |
| | | <template slot-scope="scope"> |
| | | <el-button |
| | | type="primary" |
| | | size="mini" |
| | | @click.native.prevent.stop="deletedowfile(scope.row)" |
| | | >删除</el-button |
| | | > |
| | | <el-button |
| | | type="primary" |
| | | size="mini" |
| | | @click.native.prevent.stop="moveupdowfile(scope.row)" |
| | | >上移</el-button |
| | | > |
| | | <el-button type="primary" size="mini" |
| | | @click.native.prevent.stop="deletedowfile(scope.row)">删除</el-button> |
| | | <el-button type="primary" size="mini" |
| | | @click.native.prevent.stop="moveupdowfile(scope.row)">上移</el-button> |
| | | </template> |
| | | </el-table-column> |
| | | </el-table> |
| | | </el-form-item> |
| | | </el-col> |
| | | </el-row> |
| | | <el-row |
| | | v-if=" |
| | | operationType == 'detail' || |
| | | operationType == 'check' || |
| | | operationType == 'update' |
| | | " |
| | | > |
| | | <el-row v-if="operationType == 'detail' || |
| | | operationType == 'check' || |
| | | operationType == 'update' |
| | | "> |
| | | <el-table :data="fundflowList" border> |
| | | <el-table-column |
| | | label="审核日期" |
| | | align="center" |
| | | width="160" |
| | | prop="createTime" |
| | | /> |
| | | <el-table-column |
| | | label="审核人" |
| | | align="center" |
| | | width="120" |
| | | prop="checkusername" |
| | | /> |
| | | <el-table-column |
| | | label="审核结果" |
| | | align="center" |
| | | width="200" |
| | | prop="flowconclusion" |
| | | > |
| | | <el-table-column label="审核日期" align="center" width="160" prop="createTime" /> |
| | | <el-table-column label="审核人" align="center" width="120" prop="checkusername" /> |
| | | <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-row |
| | | style="margin-top: 25px; margin-bottom: 5px" |
| | | v-if="operationType == 'check'" |
| | | > |
| | | <el-col :span="7"> |
| | | |
| | | <el-row style="margin-top: 25px; margin-bottom: 5px" |
| | | v-if="operationType == 'check' && userprofile.nickName == '陈慕华'"> |
| | | <el-col :span="20"> |
| | | <el-form-item label="预审材料" prop="infoid"> |
| | | <el-radio-group v-model="form.checkstatus" align="left"> |
| | | <el-radio :label="1">待申请材料</el-radio> |
| | | <el-radio :label="2">审核通过等待邮寄纸质材料</el-radio> |
| | | <el-radio :label="3">已收到报销材料</el-radio> |
| | | </el-radio-group> |
| | | </el-form-item> |
| | | </el-col> |
| | | </el-row> |
| | | <el-row style="margin-top: 5px; margin-bottom: 5px" v-if="operationType == 'check'"> |
| | | <el-col :span="20"> |
| | | <el-form-item label="审核结果" align="left"> |
| | | <el-radio-group v-model="checkObj.flowlevelone" align="left"> |
| | | <el-radio label="1">通过</el-radio> |
| | |
| | | </el-row> |
| | | </el-form> |
| | | <div slot="footer" class="dialog-footer"> |
| | | <el-button |
| | | type="primary" |
| | | @click="submitForm" |
| | | v-if=" |
| | | operationType == 'add' || |
| | | operationType == 'update' || |
| | | ismanager == true |
| | | " |
| | | >提交保存</el-button |
| | | > |
| | | <el-button |
| | | type="primary" |
| | | @click="checksubmit" |
| | | v-if="operationType == 'check'" |
| | | >提交审核</el-button |
| | | > |
| | | <el-button type="primary" @click="submitForm" v-if="operationType == 'add' || |
| | | operationType == 'update' || |
| | | ismanager == true |
| | | ">保存</el-button> |
| | | <el-button type="success" @click="handleup" |
| | | v-if="operationType == 'add' || operationType == 'update'">上报</el-button> |
| | | <el-button type="primary" @click="checksubmit" v-if="operationType == 'check'">提交审核</el-button> |
| | | <el-button @click="cancel">关 闭</el-button> |
| | | </div> |
| | | </div> |
| | | |
| | | <el-dialog |
| | | :visible.sync="showSelectionDialog" |
| | | :close-on-click-modal="false" |
| | | :title="'单位/个人信息选择'" |
| | | width="500px" |
| | | style="text-align: center" |
| | | v-loading="loading" |
| | | > |
| | | <el-form ref="funddetailForm" :model="funddetailForm"> |
| | | <el-row v-if="businessType != 4 && businessType != 3"> |
| | | <el-col |
| | | :span="24" |
| | | v-if="selectionType == 'expert' && businessType != 4" |
| | | > |
| | | <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="selectionType == 'expert' && 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 expertlist" |
| | | :key="item.expertNo" |
| | | :label="item.exportName" |
| | | :value="item.exportName" |
| | | > |
| | | </el-option> |
| | | </el-select> |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :span="24" v-if="selectionType == 'unit'"> |
| | | <el-form-item |
| | | label="单位名称" |
| | | prop="unitno" |
| | | label-width="120px" |
| | | v-if="businessType == 1 || businessType == 2" |
| | | > |
| | | <el-select |
| | | v-model="funddetailForm.unitno" |
| | | 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-form-item |
| | | label="发票单位名称" |
| | | prop="unitno" |
| | | label-width="120px" |
| | | v-if="businessType == 3" |
| | | > |
| | | <el-select |
| | | v-model="funddetailForm.unitno" |
| | | placeholder="单位名称" |
| | | clearable |
| | | filterable |
| | | allow-create |
| | | style="width: 100%" |
| | | > |
| | | <el-option |
| | | v-for="(item, index) in feeUnitList" |
| | | :key="index" |
| | | :label="item.reportName" |
| | | :value="item.reportNo" |
| | | ></el-option> |
| | | </el-select> |
| | | </el-form-item> |
| | | </el-col> |
| | | </el-row> |
| | | |
| | | <el-row v-if="businessType == 4 || businessType == 3"> |
| | | <el-dialog :visible.sync="showselectiondialog" :close-on-click-modal="false" :title="'账户信息/单位信息选择'" width="650px" |
| | | style="text-align: center" v-loading="loading"> |
| | | <el-form ref="accountselectform" :rules="dialogrules" :model="accountselectform" label-width="120px"> |
| | | <el-row v-if="selectionType == 'workunit'"> |
| | | <el-col :span="24"> |
| | | <el-form-item label="请选择专家信息:" prop="experthear"> |
| | | <el-radio-group |
| | | @change="ShowDetailDialog(spocewl)" |
| | | v-model="experthear" |
| | | style="margin-bottom: 0" |
| | | > |
| | | <el-radio label="unit">人员选项</el-radio> |
| | | <el-radio label="expert">单位选项</el-radio> |
| | | <el-form-item label="单位名称" prop="expertunitname" label-width="120px"> |
| | | <el-select v-model="accountselectform.expertunitname" placeholder="单位名称" clearable filterable allow-create |
| | | style="width: 100%"> |
| | | <el-option v-for="(spec, index) in unitList" :key="index" :label="spec.organizationname" |
| | | :value="spec.organizationname"></el-option> |
| | | </el-select> |
| | | </el-form-item> |
| | | </el-col> |
| | | </el-row> |
| | | <el-row v-if="selectionType == 'account'"> |
| | | <el-col> |
| | | <el-form-item label="账户来源" prop="accountfrom" class="left-align"> |
| | | <el-radio-group v-model="accountfrom" 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="experthear == 'unit'"> |
| | | <el-form-item |
| | | label="人员姓名" |
| | | prop="beneficiaryname" |
| | | label-width="80px" |
| | | > |
| | | <el-select |
| | | filterable |
| | | allow-create |
| | | ref="beneficiaryname" |
| | | default-first-option |
| | | @change="bbaaccss" |
| | | v-model="funddetailForm.beneficiaryname" |
| | | placeholder="请选择" |
| | | style="width: 100%" |
| | | > |
| | | <el-option |
| | | v-for="item in expertlist" |
| | | :key="item.expertNo" |
| | | :label="item.exportName" |
| | | :value="item.exportName" |
| | | > |
| | | <el-col :span="24" v-if="accountfrom == '1'"> |
| | | <el-form-item label="账户名称" prop="accountname"> |
| | | <el-select filterable allow-create ref="accountname" default-first-option |
| | | v-model="accountselectform.accountname" placeholder="请选择" style="width: 100%"> |
| | | <el-option v-for="item in accountlist" :key="item.id" :label="item.username" :value="item.username"> |
| | | </el-option> |
| | | </el-select> |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :span="24" v-if="experthear == 'expert'"> |
| | | <el-form-item label="单位名称" prop="unitno" label-width="120px"> |
| | | <el-select |
| | | v-model="funddetailForm.beneficiaryname" |
| | | placeholder="单位名称" |
| | | @change="bbaaccss" |
| | | clearable |
| | | filterable |
| | | allow-create |
| | | style="width: 100%" |
| | | > |
| | | <el-option |
| | | v-for="(spec, index) in unitList" |
| | | :key="index" |
| | | :label="spec.organizationname" |
| | | :value="spec.organizationname" |
| | | ></el-option> |
| | | </el-row> |
| | | <el-row v-if="selectionType == 'account' && accountfrom == '2'"> |
| | | <el-col :span="24"> |
| | | <el-form-item label="新增类型" prop="usertype" class="left-align"> |
| | | <el-radio-group v-model="accountselectform.usertype" style="margin-bottom: 0" |
| | | @change="userTypeChange(accountselectform.usertype)"> |
| | | <el-radio label="expert">专家账号</el-radio> |
| | | <el-radio label="org">单位账号</el-radio> |
| | | <el-radio label="donor">捐献者亲属账号</el-radio> |
| | | </el-radio-group> |
| | | </el-form-item> |
| | | </el-col> |
| | | </el-row> |
| | | <el-row v-if="selectionType == 'account' && accountfrom == '2'"> |
| | | <el-col :span="24"> |
| | | <el-form-item label="账号名称" prop="username"> |
| | | <el-input v-model="accountselectform.username" placeholder="请输入单位名称,或专家姓名,或其他账号" /> |
| | | </el-form-item> |
| | | </el-col> |
| | | </el-row> |
| | | <el-row v-if="selectionType == 'account' && accountfrom == '2' && accountselectform.usertype != 'org'"> |
| | | <el-col :span="12"> |
| | | <el-form-item label="身份证号" prop="idcardno"> |
| | | <el-input v-model="accountselectform.idcardno" placeholder="请输入身份证号" /> |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :span="12" v-if="accountselectform.usertype == 'expert'"> |
| | | <el-form-item label="职称" prop="title"> |
| | | <el-select v-model="accountselectform.title" 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 v-if="businessType != 4 && businessType != 3"> |
| | | <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-row v-if="selectionType == 'account' && accountfrom == '2' && accountselectform.usertype == 'expert'"> |
| | | <el-col> |
| | | <el-form-item label="所在单位" prop="unitno"> |
| | | <el-select v-model="accountselectform.unitno" 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 v-if="businessType != 4 && businessType != 3"> |
| | | <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-col> |
| | | <el-form-item label="单位工号" prop="personnelunitno"> |
| | | <el-input v-model="accountselectform.personnelunitno" 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 v-if="businessType != 4 && businessType != 3"> |
| | | <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 v-if="businessType != 4 && businessType != 3"> |
| | | <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-row v-if="selectionType == 'account' && accountfrom == '2'"> |
| | | <el-col><el-form-item label="开户银行" prop="depositbank"> |
| | | <el-input v-model="accountselectform.depositbank" 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-col><el-form-item label="银行卡号" prop="bankcardno"> |
| | | <el-input v-model="accountselectform.bankcardno" placeholder="请输入银行卡号" /> |
| | | </el-form-item> |
| | | </el-col> |
| | | </el-row> |
| | | <el-row v-if="selectionType == 'account' && accountfrom == '2'"> |
| | | <el-col> |
| | | <el-form-item label="联系地址" prop="address"> |
| | | <el-input v-model="accountselectform.address" placeholder="请输入联系地址" /> |
| | | </el-form-item> |
| | | </el-col> |
| | | </el-row> |
| | | <el-row v-if="selectionType == 'account' && accountfrom == '2'"> |
| | | <el-col> |
| | | <el-form-item label="联系电话" prop="telephone"> |
| | | <el-input v-model="accountselectform.telephone" placeholder="请输入联系电话" /> |
| | | </el-form-item> |
| | | </el-col> |
| | | </el-row> |
| | | </el-form> |
| | | <span slot="footer" class="dialog-footer"> |
| | | <el-button @click="showSelectionDialog = false">取 消</el-button> |
| | | <el-button type="primary" @click="ConfirmDetailDialog()" |
| | | >确 定</el-button |
| | | > |
| | | <el-button type="primary" @click="confirmSelectionDialog()">确 定</el-button> |
| | | <el-button @click="showselectiondialog = false">取 消</el-button> |
| | | </span> |
| | | </el-dialog> |
| | | <el-dialog |
| | | v-dialogDrags |
| | | :modal="false" |
| | | :close-on-click-modal="false" |
| | | :title="pdftitle" |
| | | :visible.sync="pdfVisible" |
| | | width="60%" |
| | | > |
| | | <el-dialog v-dialogDrags :modal="false" :close-on-click-modal="false" :title="pdftitle" :visible.sync="pdfVisible" |
| | | width="60%"> |
| | | <div> |
| | | <el-table :data="tableDatatop" style="width: 100%"> |
| | | <el-table-column |
| | | v-if="businessType == 4" |
| | | prop="price" |
| | | align="center" |
| | | label="单价" |
| | | > |
| | | <el-table-column v-if="businessType == 4" prop="price" align="center" label="单价"> |
| | | </el-table-column> |
| | | <el-table-column |
| | | prop="quantity" |
| | | align="center" |
| | | label="数量" |
| | | v-if="businessType == 4" |
| | | > |
| | | <el-table-column prop="quantity" align="center" label="数量" v-if="businessType == 4"> |
| | | </el-table-column> |
| | | <el-table-column prop="amount" align="center" :label="amountLabel"> |
| | | <el-table-column prop="amount" align="center" :label="amountlabel"> |
| | | </el-table-column> |
| | | <el-table-column |
| | | prop="taxedamount" |
| | | align="center" |
| | | label="税后金额" |
| | | v-if=" |
| | | (this.ismanager == true) & |
| | | (form.applytype == '1' || form.applytype == '2') |
| | | " |
| | | > |
| | | <el-table-column prop="taxedamount" align="center" label="税后金额" v-if="(this.ismanager == true) & |
| | | (form.applytype == '1' || form.applytype == '2') |
| | | "> |
| | | </el-table-column> |
| | | <el-table-column |
| | | <!-- <el-table-column |
| | | prop="beneficiaryname" |
| | | align="center" |
| | | label="姓名" |
| | | v-if="form.applytype == '1' || form.applytype == '2'" |
| | | > |
| | | </el-table-column> |
| | | </el-table-column> --> |
| | | |
| | | <el-table-column |
| | | prop="unitno" |
| | | <!-- <el-table-column |
| | | prop="beneficiaryname" |
| | | align="center" |
| | | label="单位名称" |
| | | width="250" |
| | | v-if="form.applytype != '4'" |
| | | > |
| | | </el-table-column> --> |
| | | <el-table-column prop="" align="center" label="单位/个人" width="250"> |
| | | </el-table-column> |
| | | <el-table-column |
| | | prop="beneficiaryname" |
| | | align="center" |
| | | label="单位/个人" |
| | | width="250" |
| | | v-if="form.applytype == '4'" |
| | | > |
| | | <el-table-column prop="title" align="center" label="职称" width="120" |
| | | v-if="form.applytype == '1' || form.applytype == '2'"> |
| | | </el-table-column> |
| | | <el-table-column |
| | | prop="title" |
| | | align="center" |
| | | label="职称" |
| | | width="120" |
| | | v-if="form.applytype == '1' || form.applytype == '2'" |
| | | > |
| | | </el-table-column> |
| | | <el-table-column |
| | | prop="idcardno" |
| | | align="center" |
| | | label="身份证号" |
| | | width="200" |
| | | v-if="form.applytype == '1' || form.applytype == '2'" |
| | | > |
| | | <el-table-column prop="idcardno" align="center" label="身份证号" width="200" |
| | | v-if="form.applytype == '1' || form.applytype == '2'"> |
| | | </el-table-column> |
| | | <el-table-column prop="depositbank" align="center" label="开户银行"> |
| | | </el-table-column> |
| | | <el-table-column |
| | | prop="bankcardno" |
| | | align="center" |
| | | label="银行帐号" |
| | | width="210" |
| | | > |
| | | <el-table-column prop="bankcardno" align="center" label="银行帐号" width="210"> |
| | | </el-table-column> |
| | | </el-table> |
| | | </div> |
| | | <div class="pdfimg"> |
| | | <div class="box-pdf"> |
| | | <div> |
| | | <el-upload |
| | | size="mini" |
| | | class="upload-demo" |
| | | :action="uploadFileUrl" |
| | | :file-list="fileListto" |
| | | :show-file-list="false" |
| | | multiple |
| | | drag |
| | | :headers="headers" |
| | | :on-success=" |
| | | (response, file, fileList) => |
| | | uploadSccess(response, file, fileList) |
| | | " |
| | | :on-preview="downFile" |
| | | :disabled="operationType == 'detail'" |
| | | :on-error="handleUploadError" |
| | | :on-remove="remove" |
| | | accept="image/*,.pdf" |
| | | > |
| | | <i class="el-icon-upload"></i> |
| | | <div class="el-upload__text"> |
| | | 将票据拖到此处,或 |
| | | <em |
| | | ><el-button |
| | | :disabled="operationType == 'detail'" |
| | | size="small" |
| | | type="primary" |
| | | >点击上传</el-button |
| | | ></em |
| | | > |
| | | |
| | | <el-tabs style="margin-top: 20px;" v-model="activeName" type="border-card" @tab-click="handleClick"> |
| | | <el-tab-pane label="普通附件" :name="1"> |
| | | <div class="pdfimg"> |
| | | <div class="box-pdf"> |
| | | <div> |
| | | <el-upload size="mini" class="upload-demo" :action="uploadFileUrl" :file-list="fileListto" |
| | | :show-file-list="false" multiple drag :headers="headers" :on-success="(response, file, fileList) => |
| | | uploadSccess(response, file, fileList) |
| | | " :on-preview="downFile" :disabled="operationType == 'detail'" :on-error="handleUploadError" |
| | | :on-remove="remove" accept="image/*,.pdf"> |
| | | <i class="el-icon-upload"></i> |
| | | <div class="el-upload__text"> |
| | | 将票据拖到此处,或 |
| | | <em><el-button :disabled="operationType == 'detail'" size="small" type="primary">点击上传</el-button></em> |
| | | </div> |
| | | </el-upload> |
| | | <el-table :data="fileListto" @row-click="downFile" style="width: 100%" height="400"> |
| | | <el-table-column prop="name" :show-overflow-tooltip="true" label="名称"> |
| | | <template slot-scope="scope"> |
| | | <i style="color:#409EFF" class=" el-icon-s-order" /> |
| | | <span>{{ scope.row.name }}</span> |
| | | </template> |
| | | </el-table-column> |
| | | |
| | | <el-table-column prop="name" width="190" :show-overflow-tooltip="true" label="功能"> |
| | | <template slot-scope="scope"> |
| | | <el-button type="primary" size="mini" |
| | | @click.native.prevent.stop="deletedowfile(scope.row)">删除</el-button> |
| | | <el-button type="primary" size="mini" |
| | | @click.native.prevent.stop="moveupdowfile(scope.row)">上移</el-button> |
| | | <el-button type="success" size="mini" icon="el-icon-search" circle |
| | | @click.native.prevent.stop="Downloadfile(scope.row)"></el-button> |
| | | </template> |
| | | </el-table-column> |
| | | </el-table> |
| | | </div> |
| | | <!-- <div class="el-upload__tip" slot="tip"> |
| | | 只能上传jpg/png文件,且不超过500kb |
| | | </div> --> |
| | | </el-upload> |
| | | <el-table |
| | | :data="fileListto" |
| | | @row-click="downFile" |
| | | style="width: 100%" |
| | | height="400" |
| | | > |
| | | <el-table-column |
| | | prop="name" |
| | | :show-overflow-tooltip="true" |
| | | label="名称" |
| | | > |
| | | <template slot-scope="scope"> |
| | | <i style="color:#409EFF" class=" el-icon-s-order" />{{ |
| | | scope.row.name |
| | | }} |
| | | </template> |
| | | </el-table-column> |
| | | </div> |
| | | |
| | | <el-table-column |
| | | prop="name" |
| | | width="180" |
| | | :show-overflow-tooltip="true" |
| | | label="功能" |
| | | > |
| | | <template slot-scope="scope"> |
| | | <el-button |
| | | type="primary" |
| | | size="mini" |
| | | @click.native.prevent.stop="deletedowfile(scope.row)" |
| | | >删除</el-button |
| | | > |
| | | <el-button |
| | | type="primary" |
| | | size="mini" |
| | | @click.native.prevent.stop="moveupdowfile(scope.row)" |
| | | >上移</el-button |
| | | > |
| | | </template> |
| | | </el-table-column> |
| | | </el-table> |
| | | <div v-if="this.previewpdf && pdfimgsrcList.length" class="pdfimgmin"> |
| | | <!-- <img :src="pdfimg" /> --> |
| | | <el-image style="width: 95%; height: 90%" :src="pdfimg" :preview-src-list="pdfimgsrcList"> |
| | | <!-- <div slot="error" class="image-slot"> |
| | | <i class="el-icon-picture-outline"></i> |
| | | </div> --> |
| | | </el-image> |
| | | </div> |
| | | <div v-else class="pdfimgmins">{{ hintitle }}</div> |
| | | </div> |
| | | <!-- <div |
| | | class="pdftit" |
| | | @click="pdffn(item)" |
| | | v-for="item in fileList" |
| | | :key="item.name" |
| | | > |
| | | {{ item.name }} |
| | | </div> --> |
| | | </div> |
| | | </el-tab-pane> |
| | | <el-tab-pane label="发票文件" :name="2"> |
| | | <div class="pdfimg"> |
| | | <div class="box-pdf"> |
| | | <div> |
| | | <el-upload size="mini" class="upload-demo" :action="uploadFileUrl" :file-list="invoicefileList" |
| | | :show-file-list="false" multiple drag :headers="headers" :on-success="(response, file, fileList) => |
| | | uploadSccess(response, file, fileList) |
| | | " :on-preview="downFile" :disabled="operationType == 'detail'" :on-error="handleUploadError" |
| | | :on-remove="remove" accept="image/*,.pdf"> |
| | | <i class="el-icon-upload"></i> |
| | | <div class="el-upload__text"> |
| | | 将发票文件拖到此处,或 |
| | | <em><el-button :disabled="operationType == 'detail'" size="small" type="primary">点击上传</el-button></em> |
| | | </div> |
| | | </el-upload> |
| | | <el-table :data="invoicefileListto" @row-click="downFile" style="width: 100%" height="400"> |
| | | <el-table-column prop="name" :show-overflow-tooltip="true" label="名称"> |
| | | <template slot-scope="scope"> |
| | | <i style="color:#409EFF" class=" el-icon-s-order" /> |
| | | <span>{{ scope.row.name }}</span> |
| | | </template> |
| | | </el-table-column> |
| | | |
| | | <div v-if="this.previewpdf && pdfimgsrcList.length" class="pdfimgmin"> |
| | | <!-- <img :src="pdfimg" /> --> |
| | | <el-image |
| | | style="width: 95%; height: 90%" |
| | | :src="pdfimg" |
| | | :preview-src-list="pdfimgsrcList" |
| | | > |
| | | </el-image> |
| | | </div> |
| | | <div v-else class="pdfimgmins">{{ hintitle }}</div> |
| | | </div> |
| | | <el-table-column prop="name" width="190" :show-overflow-tooltip="true" label="功能"> |
| | | <template slot-scope="scope"> |
| | | <el-button type="primary" size="mini" |
| | | @click.native.prevent.stop="deletedowfile(scope.row)">删除</el-button> |
| | | <el-button type="primary" size="mini" |
| | | @click.native.prevent.stop="moveupdowfile(scope.row)">上移</el-button> |
| | | <el-button type="success" size="mini" icon="el-icon-search" circle |
| | | @click.native.prevent.stop="Downloadfile(scope.row)"></el-button> |
| | | </template> |
| | | </el-table-column> |
| | | </el-table> |
| | | </div> |
| | | </div> |
| | | |
| | | <div v-if="this.previewpdf && invoicepdfimgsrcList.length" class="pdfimgmin"> |
| | | <!-- <img :src="pdfimg" /> --> |
| | | <el-image style="width: 95%; height: 90%" :src="invoicepdfimg" :preview-src-list="invoicepdfimgsrcList"> |
| | | <!-- <div slot="error" class="image-slot"> |
| | | <i class="el-icon-picture-outline"></i> |
| | | </div> --> |
| | | </el-image> |
| | | </div> |
| | | <div v-else class="pdfimgmins">{{ hintitle }}</div> |
| | | </div> |
| | | </el-tab-pane> |
| | | </el-tabs> |
| | | </el-dialog> |
| | | <el-dialog title="提示" :visible.sync="Savereminder" width="30%"> |
| | | <el-alert |
| | | :title=" |
| | | '您已添加' + |
| | | totalquantity + |
| | | '条数据,为防止数据丢失是否提交保存再继续添加。' |
| | | " |
| | | type="warning" |
| | | > |
| | | <el-alert :title="'您已添加' + |
| | | totalquantity + |
| | | '条数据,为防止数据丢失是否提交保存再继续添加。' |
| | | " type="warning"> |
| | | </el-alert> |
| | | <span slot="footer" class="dialog-footer"> |
| | | <el-button @click="unsave">取 消</el-button> |
| | | <el-button type="primary" @click="Savenow">确 定</el-button> |
| | | <el-button @click="unsave">取 消</el-button> |
| | | </span> |
| | | </el-dialog> |
| | | |
| | | <!-- 批量选取 --> |
| | | <el-dialog |
| | | title="批量生成明细信息" |
| | | :visible.sync="batchdialogVisible" |
| | | width="30%" |
| | | > |
| | | <el-dialog title="批量生成明细信息" :visible.sync="batchdialogVisible" width="30%"> |
| | | <div style="max-height: 300px; overflow-y: auto"> |
| | | <el-checkbox |
| | | :indeterminate="isIndeterminate" |
| | | v-model="checkAll" |
| | | @change="handleCheckAllChange" |
| | | >全选</el-checkbox |
| | | > |
| | | <el-checkbox :indeterminate="isIndeterminate" v-model="checkAll" @change="handleCheckAllChange">全选</el-checkbox> |
| | | <div style="margin: 15px 0;"></div> |
| | | <el-checkbox-group |
| | | v-model="checkedCities" |
| | | @change="handleCheckedCitiesChange" |
| | | > |
| | | <el-checkbox |
| | | border |
| | | v-for="city in cityOptions" |
| | | :label="city" |
| | | :key="city.reportNo" |
| | | >{{ city.reportName }}</el-checkbox |
| | | > |
| | | <el-checkbox-group v-model="checkedCities" @change="handleCheckedCitiesChange"> |
| | | <el-checkbox border v-for="city in cityOptions" :label="city" :key="city.reportNo">{{ city.reportName |
| | | }}</el-checkbox> |
| | | </el-checkbox-group> |
| | | </div> |
| | | |
| | | <span slot="footer" class="dialog-footer"> |
| | | <el-button @click="batchdialogVisible = false">取 消</el-button> |
| | | <el-button type="primary" @click="BatchentryFn">确 定</el-button> |
| | | <el-button @click="batchdialogVisible = false">取 消</el-button> |
| | | </span> |
| | | </el-dialog> |
| | | </div> |
| | |
| | | delExternalperson, |
| | | addExternalperson, |
| | | updateExternalperson, |
| | | exportExternalperson |
| | | exportExternalperson, |
| | | getOnlyCode, |
| | | } from "@/api/project/externalperson"; |
| | | |
| | | import { listItemexpense } from "@/api/project/itemexpense"; |
| | |
| | | ], |
| | | |
| | | data() { |
| | | var validatePass = (rule, value, callback) => { |
| | | const regex = /^[1-9]\d{5}(19|20)\d{2}(0[1-9]|1[012])(0[1-9]|[12]\d|3[01])\d{3}([0-9]|X)$/; |
| | | if (regex.test(value)) { |
| | | callback(); |
| | | } else { |
| | | callback(new Error("身份证号码格式错误")); |
| | | } |
| | | }; |
| | | //这里存放数据 |
| | | return { |
| | | // 遮罩层 |
| | |
| | | exportLoading: false, |
| | | usernamedata: "", |
| | | jurisdiction: false, |
| | | |
| | | Routinglevel: 1, |
| | | // 表单参数 |
| | | form: {}, |
| | | experthear: "", |
| | | spocewl: "", |
| | | //费用申请表单title |
| | | title: "", |
| | | //申请单类型 |
| | |
| | | userprofile: {}, |
| | | //系统用户列表 |
| | | userlist: [], |
| | | //所有人员表 |
| | | personlist: [], |
| | | //专家列表 |
| | | expertlist: [], |
| | | //账号列表 |
| | | accountlist: [], |
| | | //医疗机构列表 |
| | | unitList: [], |
| | | //费用报销机构列表 |
| | | feeUnitList: [], |
| | | |
| | | // 网络请求头 |
| | | Networkheader: null, |
| | | batchdialogVisible: false, |
| | |
| | | |
| | | //是否是专家费的OPO审批人员 |
| | | ismanager: false, |
| | | //专家费选择:1是专家库,2是新增 |
| | | expertfrom: "1", |
| | | baselisttages: [ |
| | | { |
| | | id: 1, |
| | | name: "材料待审核" |
| | | }, |
| | | { |
| | | id: 2, |
| | | name: "审查通过等待邮寄纸质材料" |
| | | }, |
| | | { |
| | | id: 3, |
| | | name: "已收到纸质材料" |
| | | } |
| | | ], |
| | | |
| | | //捐献案例列表 |
| | | donateList: [], |
| | |
| | | // 随机数 |
| | | randomnumber: "", |
| | | |
| | | //专家/单位选择:expert/unit |
| | | //选择窗口显示状态 |
| | | showselectiondialog: false, |
| | | //选择时当前行 |
| | | selectionScope: "", |
| | | //选择类型:专家(单位)账户、工作单位(account/workunit) |
| | | selectionType: "", |
| | | showSelectionDialog: false, |
| | | //账户选择:1是账户库,2是新增 |
| | | accountfrom: "1", |
| | | //受益人标签:专家费-专家(单位)名称,医学成本-办公-单位(个人)名称 |
| | | beneficiarylabel: "", |
| | | //税前金额标题:专家费-税前金额;医学成本、办公费用-金额 |
| | | amountLabel: "税前金额", |
| | | amountlabel: "税前金额", |
| | | |
| | | // 表单校验 |
| | | rules: { |
| | | createTime: [ |
| | | { required: true, message: "请输入填报日期", trigger: "blur" } |
| | | ], |
| | | reason: [ |
| | | { required: true, message: "请输入出差事由", trigger: "blur" } |
| | | ], |
| | | deptmentname: [ |
| | | { required: true, message: "请输入所属业务组", trigger: "blur" } |
| | | ] |
| | | reason: [{ required: true, message: "请输入出差事由", trigger: "blur" }], |
| | | deptmentname: [{ required: true, message: "请输入所属业务组", trigger: "blur" }] |
| | | }, |
| | | |
| | | funddetailForm: { |
| | | dialogrules: { |
| | | usertype: [{ required: true, message: "请输入账户类型", trigger: "blur" }], |
| | | username: [{ required: true, message: "请输入账户名称", trigger: "blur" }], |
| | | idcardno: [{ required: true, message: "请输入身份账号", trigger: "blur" }], |
| | | //idcardno: [{ validator: validatePass, trigger: "blur" }], |
| | | depositbank: [{ required: true, message: "请输入开户银行", trigger: "change" }], |
| | | bankcardno: [{ required: true, message: "请输入银行卡号", trigger: "change" }], |
| | | }, |
| | | |
| | | accountselectform: { |
| | | index: null, |
| | | beneficiaryname: null, |
| | | beneficiaryno: null, |
| | | unitno: null, |
| | | unitname: null, |
| | | expertname: null, |
| | | expertidcardno: null, |
| | | expertunitno: null, |
| | | usertype: "expert", |
| | | accountname: null, |
| | | accountno: 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, |
| | | expertunitno: null, |
| | | depositbank: null, |
| | | bankcardno: 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, |
| | | personnelunitno: null, |
| | | address: null, |
| | | telephone: null, |
| | | username: null, |
| | | userno: null |
| | | }, |
| | | |
| | | accountform: { |
| | | searchValue: null, |
| | | id: null, |
| | | userstatus: 0, |
| | | usertype: null, |
| | | |
| | | pym: null, |
| | | wbm: null, |
| | | username: null, |
| | | userno: null, |
| | | userstatus: 1, |
| | | usertype: null, |
| | | wbm: null |
| | | sex: null, |
| | | idcardno: null, |
| | | title: null, |
| | | address: null, |
| | | telephone: null, |
| | | depositbank: null, |
| | | branchbankname: null, |
| | | bankcardno: null, |
| | | unitname: null, |
| | | unitno: null, |
| | | personnelunitno: null, |
| | | |
| | | del_flag: null, |
| | | createBy: null, |
| | | createTime: null, |
| | | updateBy: null, |
| | | updateTime: null, |
| | | remark: null |
| | | }, |
| | | //审批参数 |
| | | checkObj: { |
| | |
| | | username: null, |
| | | usertype: null |
| | | }, |
| | | // 查询最新序号参数 |
| | | seqnoParams: { |
| | | businessType: "externalperson", |
| | | datequery: false, |
| | | }, |
| | | |
| | | //计算个税参数 |
| | | taxParam: { |
| | |
| | | money: "0", |
| | | startTime: "" |
| | | }, |
| | | |
| | | //服务费用参数 |
| | | expenseQueryParams: { |
| | | pageNum: 1, |
| | |
| | | //附件列表 |
| | | fileList: [], |
| | | fileListto: [], |
| | | invoicefileList: [], |
| | | invoicefileListto: [], |
| | | invoicepdfimg: "", |
| | | invoicepdfimgsrcList: [], |
| | | invoDatatop: [], |
| | | activeName: 1, //文件类型 |
| | | //上传附件路径 |
| | | uploadFileUrl: process.env.VUE_APP_BASE_API + "/common/upload", |
| | | //文件上传token |
| | |
| | | watch: {}, |
| | | //方法集合 |
| | | methods: { |
| | | bbaaccss(val) {}, |
| | | bbaaccss(val) { }, |
| | | // 浏览器页面关闭或刷新提示 |
| | | beforeunloadHandler(e) { |
| | | if ( |
| | | (JSON.stringify(this.form) == sessionStorage.getItem("apiform") && |
| | | JSON.stringify(this.rbDetails) == |
| | | sessionStorage.getItem("apifunddetail")) || |
| | | sessionStorage.getItem("apifunddetail")) || |
| | | !sessionStorage.getItem("apifunddetail") |
| | | ) { |
| | | } else { |
| | |
| | | // if (!this.businessType && !this.operationType) { |
| | | if (this.businessType == "1") { |
| | | this.businessName = "专家劳务费申请单"; |
| | | this.amountLabel = "税前金额"; |
| | | this.amountlabel = "税前金额"; |
| | | this.beneficiarylabel = "专家或单位名称"; |
| | | this.getUnitList(); |
| | | } else if (this.businessType == "2") { |
| | | this.businessName = "伦理专家劳务费申请单"; |
| | | this.amountLabel = "税前金额"; |
| | | this.amountlabel = "税前金额"; |
| | | this.beneficiarylabel = "专家或单位名称"; |
| | | this.getUnitList(); |
| | | } else if (this.businessType == "3") { |
| | | this.businessName = "医学成本报销单"; |
| | | this.amountLabel = "金额"; |
| | | this.amountlabel = "金额"; |
| | | this.beneficiarylabel = "单位名称或个人"; |
| | | this.getUnitList(); |
| | | } else if (this.businessType == "4") { |
| | | this.businessName = "办公费用报销单"; |
| | | this.amountLabel = "金额"; |
| | | this.amountlabel = "金额"; |
| | | this.beneficiarylabel = "单位名称或个人"; |
| | | this.getUnitList(); |
| | | |
| | | // this.getBaseInfoList(); |
| | |
| | | getFund(this.curId).then(response => { |
| | | this.form = response.data; |
| | | sessionStorage.removeItem("apiform"); |
| | | |
| | | sessionStorage.setItem("apiform", JSON.stringify(this.form)); |
| | | |
| | | // this.form.recordstate =-1; |
| | |
| | | //业务明细 |
| | | getownFundDetail(this.curId).then(res => { |
| | | this.rbDetails = res.data; |
| | | console.log("this.feeBlocks", this.feeBlocks); |
| | | |
| | | for (let m = 0; m < this.rbDetails.length; m++) { |
| | | this.rbDetails[m].itemlist = []; |
| | | this.getRowFeeItems(m, this.rbDetails[m]); |
| | |
| | | //获取费用项目的详细信息 |
| | | this.rbDetails[m].rowfeeblocks = this.feeBlocks.filter( |
| | | r => r.itemid == this.rbDetails[m].itemid |
| | | ); |
| | | console.log( |
| | | "this.rbDetails[m].rowfeeblocks", |
| | | this.rbDetails[m].rowfeeblocks |
| | | ); |
| | | } |
| | | |
| | |
| | | getFund(this.curId).then(response => { |
| | | this.form = response.data; |
| | | sessionStorage.removeItem("apiform"); |
| | | |
| | | sessionStorage.setItem("apiform", JSON.stringify(this.form)); |
| | | |
| | | //附件处理 |
| | |
| | | handleDelete() { |
| | | this.$modal |
| | | .confirm("是否确认删除该记录?") |
| | | .then(function() { |
| | | .then(function () { |
| | | return delFund(this.curId); |
| | | }) |
| | | .then(() => { |
| | |
| | | this.getfundList(); |
| | | this.$modal.msgSuccess("删除成功"); |
| | | }) |
| | | .catch(() => {}); |
| | | .catch(() => { }); |
| | | }, |
| | | |
| | | /** 上报按钮操作 */ |
| | | handleUp() { |
| | | handleup() { |
| | | if ( |
| | | (JSON.stringify(this.form) == sessionStorage.getItem("apiform") && |
| | | JSON.stringify(this.rbDetails) == |
| | | sessionStorage.getItem("apifunddetail")) || |
| | | !sessionStorage.getItem("apifunddetail") |
| | | ) { |
| | | } else { |
| | | this.$message.error("请保存后再进行上报"); |
| | | return; |
| | | } |
| | | this.$confirm("是否确认将登记记录上报?", "提示", { |
| | | confirmButtonText: "确定", |
| | | cancelButtonText: "取消", |
| | |
| | | //查找是否存在登记完成记录 |
| | | //判断是否存在上报记录 |
| | | this.form.recordstatus = 0; |
| | | var currenttime = new Date(); |
| | | this.form.applyTime = |
| | | currenttime.getFullYear() + |
| | | "-" + |
| | | (currenttime.getMonth() + 1) + |
| | | "-" + |
| | | currenttime.getDate() + |
| | | " " + |
| | | currenttime.getHours() + |
| | | ":" + |
| | | currenttime.getMinutes() + |
| | | ":" + |
| | | currenttime.getSeconds(); |
| | | |
| | | if (!this.form.id) { |
| | | this.form.id = this.$route.query.id; |
| | | } |
| | | |
| | | updateFund(this.form).then(response => { |
| | | if (response.code == 200) { |
| | |
| | | type: "success", |
| | | message: "申请成功" |
| | | }); |
| | | this.cancel(); |
| | | } else { |
| | | this.$message({ |
| | | type: "error", |
| | |
| | | return randomString; |
| | | }, |
| | | /** 提交按钮 */ |
| | | submitForm: debounce(function() { |
| | | submitForm: debounce(function () { |
| | | if (!this.randomnumber) { |
| | | this.randomnumber = this.generateRandomString(9); |
| | | this.form.randomnumber = this.randomnumber; |
| | |
| | | this.$refs["form"].validate(valid => { |
| | | if (valid) { |
| | | this.formData = this.form; |
| | | // let totalPreTaxAmount = 0.0; |
| | | // let totalAfterTaxAmount = 0.0; |
| | | // let totalAmount = 0.0; |
| | | |
| | | //保存前校验数据 |
| | | for (let k = 0; k < this.rbDetails.length; k++) { |
| | |
| | | if (tempDetail.itemid == null) { |
| | | this.$modal.msgWarning( |
| | | "服务项目表中,第" + |
| | | (k + 1).toString() + |
| | | "行的服务项目未选择,请先选择服务项目后再提交保存!" |
| | | (k + 1).toString() + |
| | | "行的服务项目未选择,请先选择服务项目后再提交保存!" |
| | | ); |
| | | return; |
| | | } |
| | |
| | | if (tempDetail.servicesscope == null) { |
| | | this.$modal.msgWarning( |
| | | "服务项目表中,第" + |
| | | (k + 1).toString() + |
| | | "行的费用说明未选择,请选择费用说明后再提交保存!" |
| | | (k + 1).toString() + |
| | | "行的费用说明未选择,请选择费用说明后再提交保存!" |
| | | ); |
| | | return; |
| | | } |
| | |
| | | if (tempDetail.beneficiaryno == null) { |
| | | this.$modal.msgWarning( |
| | | "服务项目表中,第" + |
| | | (k + 1).toString() + |
| | | "行的服务人员姓名为选择,请选择人员后再提交保存!" |
| | | (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.rbDetails.length; i++) { |
| | |
| | | ].subjecttypename; |
| | | } |
| | | this.rbDetails[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.rbDetails[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.rbDetails[k] = tempDetail; |
| | | |
| | | this.totalAfterTaxAmount += parseFloat(tempDetail.taxedamount); |
| | | this.totalAmount += parseFloat(tempDetail.amount); |
| | | } |
| | | }); |
| | | } |
| | | */ |
| | | } |
| | | //计算当前行报销内容费用合计,税前金额(amount)、扣税金额(taxamount)、税后金额(taxedamount) |
| | | if (this.businessType == "2") { |
| | |
| | | ) { |
| | | this.$modal.msgWarning( |
| | | "服务项目表中,第" + |
| | | (j + 1).toString() + |
| | | "行的金额未输入,请先输入金额后再提交保存!" |
| | | (j + 1).toString() + |
| | | "行的金额未输入,请先输入金额后再提交保存!" |
| | | ); |
| | | return; |
| | | } |
| | |
| | | ) { |
| | | this.$modal.msgWarning( |
| | | "服务项目表中,第" + |
| | | (j + 1).toString() + |
| | | "行的金额未输入,请先输入金额后再提交保存!" |
| | | (j + 1).toString() + |
| | | "行的金额未输入,请先输入金额后再提交保存!" |
| | | ); |
| | | return; |
| | | } |
| | |
| | | // }); |
| | | } else { |
| | | this.form.recordstatus = -1; |
| | | var currenttime = new Date(); |
| | | this.form.applyTime = currenttime.getFullYear() + "-" + (currenttime.getMonth() + 1) + "-" + currenttime.getDate() + " " + currenttime.getHours() + ":" + currenttime.getMinutes() + ":" + currenttime.getSeconds(); |
| | | |
| | | // addorupdateFund(this.form).then((response) => { |
| | | // if (response.code === 200) { |
| | |
| | | // }); |
| | | } |
| | | |
| | | addorupdateFund(this.form).then(response => { |
| | | if (response.code === 200) { |
| | | this.$modal.msgSuccess("申请单保存成功!"); |
| | | } else { |
| | | this.$modal.msgError("申请单保存失败:" + response.msg); |
| | | } |
| | | }); |
| | | sessionStorage.setItem( |
| | | "apifunddetail", |
| | | JSON.stringify(this.rbDetails) |
| | | ); |
| | | sessionStorage.setItem("apiform", JSON.stringify(this.form)); |
| | | |
| | | addorupdateFund(this.form) |
| | | .then(response => { |
| | | if (response.code === 200) { |
| | | if (this.form.id) { |
| | | this.$modal.msgSuccess("申请单修改成功!"); |
| | | this.$router.go(-1); |
| | | } else { |
| | | this.$modal.msgSuccess("申请单保存成功!"); |
| | | this.$store.dispatch("tagsView/delView", this.$route); |
| | | this.$router.push({ |
| | | path: "/finance/applyDetail/", |
| | | query: { |
| | | id: response.data, |
| | | businessType: "2", |
| | | operationType: "update", |
| | | curCase: this.curCase |
| | | } |
| | | }); |
| | | } |
| | | this.form.id = response.data; |
| | | this.curId = response.data; |
| | | this.handleUpdate(); |
| | | } else { |
| | | this.$modal.msgError("申请单保存失败:" + response.msg); |
| | | } |
| | | }) |
| | | .catch(res => { |
| | | this.$modal.msgError("申请单保存失败:" + res); |
| | | }); |
| | | //关闭窗口 |
| | | this.loading = false; |
| | | // this.getfundList(); |
| | | this.$store.dispatch("tagsView/delView", this.$route); |
| | | this.$router.go(-1); |
| | | } |
| | | }); |
| | | }, 500), |
| | | |
| | | //审批提交 |
| | | checksubmit() { |
| | | let checkFundObj = { |
| | | // fundid: this.checkObj.fundid, |
| | | fundid: this.curId, |
| | | flowconclusion: this.checkObj.flowlevelone, |
| | | flowcontent: this.checkObj.flowconclusion |
| | | }; |
| | | checkfund(checkFundObj).then(res => { |
| | | //关闭窗口 |
| | | this.reset(); |
| | | this.$modal.msgSuccess("审核完成!"); |
| | | this.$store.dispatch("tagsView/delView", this.$route); |
| | | this.$router.go(-1); |
| | | }); |
| | | //检查是否收到纸质材料 |
| | | if (this.checkObj.flowlevelone == 2) { |
| | | if (!this.checkObj.flowconclusion) { |
| | | this.$modal.msgError("请输入审核不通过的说明信息,方便经办人修改申请单!"); |
| | | return; |
| | | } |
| | | } |
| | | else if (this.checkObj.flowlevelone == 1) { |
| | | if (this.userprofile.nickName == "陈慕华") { |
| | | //检查是否收到纸质材料 |
| | | if (this.form.checkstatus != 3 && this.checkObj.flowlevelone == 1) { |
| | | this.$modal.msgError("请先确认报销的纸质材料是否已经收到!"); |
| | | return; |
| | | } |
| | | |
| | | //检查个税计算 |
| | | if (this.form.applytype == "1" && this.form.fundtaxtime == null) { |
| | | this.$modal.msgError("提交专家费用申请单审核,需要先完成个税计算!"); |
| | | return; |
| | | } |
| | | } |
| | | } |
| | | else { |
| | | this.$modal.msgError("请先选择审批结果再提交!"); |
| | | return; |
| | | } |
| | | |
| | | this.Savenow(); |
| | | console.log("保存并审批"); |
| | | }, |
| | | |
| | | // 取消按钮 |
| | | cancel() { |
| | | // this.reset(); |
| | | this.$store.dispatch("tagsView/delView", this.$route); |
| | | this.$router.go(-1); |
| | | }, |
| | |
| | | this.form.deptmentno = this.userprofile.dept.deptId; |
| | | this.form.managername = this.userprofile.dept.leader; |
| | | this.form.phone = this.userprofile.phonenumber; |
| | | // this.form.applytype = this.businessType; |
| | | // this.form.createTime = new Date(); |
| | | // this.form.applytype = this.businessType; |
| | | |
| | | if (this.businessType == "4") { |
| | | this.getUserAccount(); |
| | |
| | | }); |
| | | }, |
| | | |
| | | //获取所有专家/医疗机构/费用报销机构列表 |
| | | getExternalList() { |
| | | //获取专家、单位机构的账户列表 |
| | | getAccountList() { |
| | | listExternalperson().then(res => { |
| | | this.personlist = res.rows; |
| | | for (let j = 0; j < this.personlist.length; j++) { |
| | | //获取费用报销机构列表 |
| | | if (this.personlist[j].usertype == "org") { |
| | | this.feeUnitList.push({ |
| | | id: this.personlist[j].id, |
| | | reportNo: this.personlist[j].userno, |
| | | reportName: this.personlist[j].username, |
| | | depositbank: this.personlist[j].depositbank, |
| | | branchbankname: this.personlist[j].branchbankname, |
| | | bankcardno: this.personlist[j].bankcardno |
| | | }); |
| | | } |
| | | //专家人员列表 |
| | | else if (res.rows[j].usertype == "expert") { |
| | | this.expertlist.push({ |
| | | expertNo: this.personlist[j].id, |
| | | exportName: this.personlist[j].username |
| | | this.accountlist = res.rows; |
| | | //获取启用的账户列表 |
| | | for (let j = 0; j < res.length; j++) { |
| | | //单位账号列表 |
| | | if (res.userstatus == "1") { |
| | | this.accountlist.push({ |
| | | id: res.id, |
| | | userno: res.userno, |
| | | username: res.username, |
| | | idcardno: res.idcardno, |
| | | title: res.title, |
| | | depositbank: res.depositbank, |
| | | bankcardno: res.bankcardno, |
| | | unitno: res.unitno, |
| | | unitname: res.unitname |
| | | }); |
| | | } |
| | | } |
| | |
| | | |
| | | //获取经办人账号信息 |
| | | getUserAccount() { |
| | | this.personlist.map(res => { |
| | | this.accountlist.map(res => { |
| | | if (res.username == this.form.username) { |
| | | this.form.bankname = res.depositbank; //res.branchbankname、res.depositbank; |
| | | this.form.bankname = res.depositbank; |
| | | this.form.bankcardno = res.bankcardno; |
| | | this.form.phone = res.telephone; |
| | | } |
| | | }); |
| | | }, |
| | | |
| | | //获取专家人员列表 |
| | | getExpertList() { |
| | | 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++) { |
| | | templist.push({ |
| | | reportName: res.data[j].reportName, |
| | | reportNo: res.data[j].reportNo |
| | | }); |
| | | } |
| | | this.expertlist = this.expertlist.concat(templist); |
| | | }); |
| | | } |
| | | }, |
| | | |
| | | //获取费用机构列表 |
| | | getFeeUnitList() { |
| | | listReportname("org").then(res => { |
| | | this.feeUnitList = res.data; |
| | | }); |
| | | }, |
| | | |
| | |
| | | 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 |
| | | }); |
| | |
| | | row.amount = 0.0; |
| | | row.taxamount = 0.0; |
| | | row.taxedamount = item.expense; |
| | | |
| | | //计算税前金额 |
| | | // this.calculateTax(row, "B"); |
| | | } else { |
| | | row.amount = item.expense; |
| | | row.taxamount = 0.0; |
| | | row.taxedamount = 0.0; |
| | | |
| | | //计算税后金额 |
| | | // this.calculateTax(row, "A"); |
| | | } |
| | | |
| | | // this.form.serviceFunddetails = 0; |
| | | // this.rbDetails.map(item => { |
| | | // this.form.serviceFunddetails += item.amount; |
| | | // }); |
| | | } |
| | | }); |
| | | }, |
| | |
| | | }); |
| | | }, |
| | | |
| | | selectExpert(row) { |
| | | // if(row.beneficiaryname) |
| | | this.personlist.map(res => { |
| | | if (row.beneficiaryname == res.username) { |
| | | row.beneficiaryno = res.userno; |
| | | row.beneficiaryname = res.username; |
| | | row.bankcardno = res.bankcardno; |
| | | row.branchbankname = res.branchbankname; |
| | | row.depositbank = res.depositbank; |
| | | row.idcardno = res.idcardno; |
| | | row.phone = res.phonenumber; |
| | | row.title = res.title; |
| | | row.unitname = res.unitname; |
| | | row.unitno = res.unitno; |
| | | } else { |
| | | row.beneficiaryno = row.beneficiaryname; |
| | | } |
| | | }); |
| | | }, |
| | | |
| | | //计算个税:type(A:已知税前金额,计算税后金额;B:已知税后金额,计算税前金额) |
| | | calculateTax(row, type) { |
| | | let targetValue = 0; |
| | | for (let i = 0; i < this.rbDetails.length; i++) { |
| | | if (!this.rbDetails[i].amount) { |
| | | this.rbDetails[i].amount = 0; |
| | | } |
| | | targetValue += parseFloat(this.rbDetails[i].amount); // 假设每个对象中的特定值存储在'specificValue'属性下 |
| | | } |
| | | this.form.pretaxcost = targetValue; |
| | | |
| | | //if (isNaN(parseFloat(tempDetail.taxedamount))) |
| | | //获取参数 |
| | | // this.taxParam.beneficiaryNo = row.beneficiaryno; |
| | | // this.taxParam.startTime = this.form.createTime.substring(0, 10); |
| | | |
| | | // if (type == "A") { |
| | | // // 计算个税、税后金额 |
| | | // this.taxParam.money = row.amount.toString(); |
| | | // getTaxByBeneFiciaryNo(this.taxParam).then(res => { |
| | | // if (res.code == 200) { |
| | | // row.taxamount = res.data; |
| | | // row.taxedamount = row.amount - row.taxamount; |
| | | // } |
| | | // }); |
| | | // } else { |
| | | // // 计算税前、个税金额 |
| | | // this.taxParam.money = row.taxedamount.toString(); |
| | | // getTaxBeforeByAfterMoney(this.taxParam).then(res => { |
| | | // if (res.code == 200) { |
| | | // row.taxamount = res.data.nowTax; |
| | | // row.amount = parseFloat(res.data.nowTaxBeforeMoney); |
| | | // } |
| | | // }); |
| | | // } |
| | | }, |
| | | |
| | | //导入所有项目 |
| | |
| | | this.$refs["form"].validate(valid => { |
| | | if (valid) { |
| | | this.formData = this.form; |
| | | // let totalPreTaxAmount = 0.0; |
| | | // let totalAfterTaxAmount = 0.0; |
| | | // let totalAmount = 0.0; |
| | | |
| | | //保存前校验数据 |
| | | for (let k = 0; k < this.rbDetails.length; k++) { |
| | |
| | | if (tempDetail.itemid == null) { |
| | | this.$modal.msgWarning( |
| | | "服务项目表中,第" + |
| | | (k + 1).toString() + |
| | | "行的服务项目未选择,请先选择服务项目后再提交保存!" |
| | | (k + 1).toString() + |
| | | "行的服务项目未选择,请先选择服务项目后再提交保存!" |
| | | ); |
| | | return; |
| | | } |
| | |
| | | if (tempDetail.servicesscope == null) { |
| | | this.$modal.msgWarning( |
| | | "服务项目表中,第" + |
| | | (k + 1).toString() + |
| | | "行的费用说明未选择,请选择费用说明后再提交保存!" |
| | | (k + 1).toString() + |
| | | "行的费用说明未选择,请选择费用说明后再提交保存!" |
| | | ); |
| | | return; |
| | | } |
| | |
| | | if (tempDetail.beneficiaryno == null) { |
| | | this.$modal.msgWarning( |
| | | "服务项目表中,第" + |
| | | (k + 1).toString() + |
| | | "行的服务人员姓名为选择,请选择人员后再提交保存!" |
| | | (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.rbDetails.length; i++) { |
| | |
| | | ].subjecttypename; |
| | | } |
| | | this.rbDetails[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.rbDetails[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.rbDetails[k] = tempDetail; |
| | | |
| | | this.totalAfterTaxAmount += parseFloat(tempDetail.taxedamount); |
| | | this.totalAmount += parseFloat(tempDetail.amount); |
| | | } |
| | | }); |
| | | } |
| | | */ |
| | | } |
| | | //计算当前行报销内容费用合计,税前金额(amount)、扣税金额(taxamount)、税后金额(taxedamount) |
| | | if (this.businessType == "2") { |
| | |
| | | ) { |
| | | this.$modal.msgWarning( |
| | | "服务项目表中,第" + |
| | | (j + 1).toString() + |
| | | "行的金额未输入,请先输入金额后再提交保存!" |
| | | (j + 1).toString() + |
| | | "行的金额未输入,请先输入金额后再提交保存!" |
| | | ); |
| | | return; |
| | | } |
| | |
| | | ) { |
| | | this.$modal.msgWarning( |
| | | "服务项目表中,第" + |
| | | (j + 1).toString() + |
| | | "行的金额未输入,请先输入金额后再提交保存!" |
| | | (j + 1).toString() + |
| | | "行的金额未输入,请先输入金额后再提交保存!" |
| | | ); |
| | | return; |
| | | } |
| | |
| | | } |
| | | } |
| | | |
| | | //费用合计 |
| | | // 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.form.serviceFunddetails = this.rbDetails; |
| | | |
| | | if (this.form.id != null) { |
| | | // updateFund(this.form).then((response) => { |
| | | // if (response.code === 200) { |
| | | // this.loading = false; |
| | | // for (let m = 0; m < this.rbDetails.length; m++) { |
| | | // if (this.rbDetails[m].id > 0) { |
| | | // updateFunddetail(this.rbDetails[m]).then((response2) => { if (response.code != 200) { this.$modal.msgError("专家劳务费保存失败1:" + response.msg); } }); |
| | | // } else { |
| | | // addFunddetail(this.rbDetails[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.$modal.msgSuccess("申请单保存成功!"); |
| | | // 非提醒状态下执行审批解决异步调用延迟问题 |
| | | if (!this.Savereminder) { |
| | | let checkFundObj = { |
| | | // fundid: this.checkObj.fundid, |
| | | fundid: this.curId, |
| | | flowconclusion: this.checkObj.flowlevelone, |
| | | flowcontent: this.checkObj.flowconclusion |
| | | }; |
| | | checkfund(checkFundObj).then(res => { |
| | | //关闭窗口 |
| | | this.$modal.msgSuccess("审核完成!"); |
| | | this.$store.dispatch("tagsView/delView", this.$route); |
| | | this.$router.go(-1); |
| | | }); |
| | | } |
| | | this.Getnetworkheader(); |
| | | this.getroute(); |
| | | this.getExternalList(); |
| | | this.getAccountList(); |
| | | this.getUserList(); |
| | | this.getUserProfile(); |
| | | } else { |
| | |
| | | // 手动计算 |
| | | Manualcalculationfn() { |
| | | ManualCalculation(this.rbDetails).then(res => { |
| | | console.log(res); |
| | | if (res.code == 200) { |
| | | sessionStorage.removeItem("apiform"); |
| | | sessionStorage.removeItem("apifunddetail"); |
| | |
| | | JSON.stringify(this.rbDetails) |
| | | ); |
| | | sessionStorage.setItem("apiform", JSON.stringify(this.form)); |
| | | this.$router.go(0); |
| | | } else { |
| | | // this.$message({ |
| | | // type: "error", |
| | | // message: "申请失败" |
| | | // this.$router.go(0); |
| | | // this.$router.push({ |
| | | // path: "/finance/applyDetail/", |
| | | // query: { |
| | | // id: this.curId, |
| | | // businessType: this.businessType, |
| | | // operationType: this.operationType, |
| | | // curCase: this.curCase |
| | | // } |
| | | // }); |
| | | this.$modal.msgSuccess("计算成功"); |
| | | this.handleCheck(); |
| | | } else { |
| | | this.$message({ |
| | | type: "error", |
| | | message: "计算错误" |
| | | }); |
| | | } |
| | | }); |
| | | }, |
| | |
| | | updateBy: null, |
| | | updateTime: null, |
| | | uploadflag: null, |
| | | itemdescribe: null, |
| | | uploadtime: null, |
| | | itemlist: [{ id: "27", itemName: "器官捐献伦理审核专家费" }], |
| | | servicesscope: null, |
| | |
| | | for (let i = 0; i < this.checkedCities.length + 1; i++) { |
| | | this.rbDetails[i].orderno = i + 1; |
| | | } |
| | | this.calculateTax(); |
| | | this.batchdialogVisible = false; |
| | | }, |
| | | //新增一行 |
| | |
| | | beneficiaryname: null, |
| | | beneficiaryno: null, |
| | | unitname: null, |
| | | itemdescribe: null, |
| | | unitno: null, |
| | | uintuserno: null, |
| | | title: null, |
| | |
| | | rowfeeblocks: [], |
| | | annexfiles: null |
| | | }; |
| | | // if (this.Reminderquantity >= 5) { |
| | | // this.Savereminder = true; |
| | | // return; |
| | | // } |
| | | if (rowIndex == undefined || rowIndex == null || rowIndex < 0) { |
| | | this.rbDetails.push(rowData); |
| | | } else { |
| | |
| | | }, |
| | | |
| | | //文件上传 |
| | | handleUploadError() {}, |
| | | handleUploadError() { }, |
| | | remove(file, fileList) { |
| | | const rbDetails = [...this.rbDetails]; |
| | | this.fileListto.splice(this.fileListto.indexOf(file), 1); |
| | | rbDetails[this.atpresent].annexfilesList = this.fileListto; |
| | | if (this.activeName == 1) { |
| | | this.fileListto.splice(this.fileListto.indexOf(file), 1); |
| | | rbDetails[this.atpresent].annexfilesList = this.fileListto; |
| | | } else { |
| | | this.invoicefileListto.splice(this.invoicefileListto.indexOf(file), 1); |
| | | rbDetails[this.atpresent].invoicefilesList = this.invoicefileListto; |
| | | } |
| | | }, |
| | | |
| | | //文件上传成功回调 |
| | | // uploadSccess(response, file, fileList) { |
| | | // //获取附件信息位置 |
| | | // if (response.code == 200) { |
| | | // this.form.filename = file.raw.name; |
| | | // this.$modal.msgSuccess(response.msg); |
| | | // this.fileList.push({ name: response.fileName, url: response.fileName }); |
| | | // } else { |
| | | // } |
| | | // }, |
| | | uploadSccess(response, file, fileList) { |
| | | this.rbDetails; |
| | | |
| | | //获取票据信息位置 |
| | | if (response.code == 200) { |
| | | this.form.filename = file.raw.name; |
| | | this.previewpdf = true; |
| | | this.$modal.msgSuccess(response.msg); |
| | | this.fileListto.push({ name: file.name, url: response.fileName }); |
| | | // this.fileListto.push({ name: file.name, url: response.url }); |
| | | this.pdfimgsrcList.push( |
| | | this.Networkheader + "/prod-api" + response.fileName |
| | | ); |
| | | this.pdftitle = "共" + this.pdfimgsrcList.length + "项"; |
| | | |
| | | this.pdfimg = this.Networkheader + "/prod-api" + response.fileName; |
| | | |
| | | this.rbDetails[this.atpresent].annexfilesList = this.fileListto; |
| | | if (this.activeName == 1) { |
| | | if (response.code == 200) { |
| | | // this.form.filename = file.raw.name; |
| | | this.previewpdf = true; |
| | | this.$modal.msgSuccess(response.msg); |
| | | this.fileListto.push({ |
| | | name: file.name, |
| | | url: response.fileName |
| | | }); |
| | | this.pdfimgsrcList.push( |
| | | this.Networkheader + "/prod-api" + response.fileName |
| | | ); |
| | | this.pdftitle = "共" + this.pdfimgsrcList.length + "项"; |
| | | this.pdfimg = this.Networkheader + "/prod-api" + response.fileName; |
| | | this.rbDetails[this.atpresent].annexfilesList = this.fileListto; |
| | | } else { |
| | | console.log(response.msg); |
| | | } |
| | | } else { |
| | | if (response.code == 200) { |
| | | this.previewpdf = true; |
| | | this.$modal.msgSuccess(response.msg); |
| | | this.invoicefileListto.push({ |
| | | name: file.name, |
| | | url: response.fileName |
| | | }); |
| | | this.invoicepdfimgsrcList.push( |
| | | this.Networkheader + "/prod-api" + response.fileName |
| | | ); |
| | | this.pdftitle = "共" + this.invoicepdfimgsrcList.length + "项"; |
| | | this.pdfimg = this.Networkheader + "/prod-api" + response.fileName; |
| | | this.rbDetails[ |
| | | this.atpresent |
| | | ].invoicefilesList = this.invoicefileListto; |
| | | } else { |
| | | } |
| | | } |
| | | }, |
| | | |
| | |
| | | Filepopup(index, rows, row) { |
| | | this.tableDatatop = []; |
| | | this.pdfimgsrcList = []; |
| | | this.invoDatatop = []; |
| | | this.invoicepdfimgsrcList = []; |
| | | this.invoDatatop.push(row); |
| | | this.tableDatatop.push(row); |
| | | |
| | | this.atpresent = index; |
| | | this.pdfVisible = true; |
| | | if (this.rbDetails[index].annexfilesList) { |
| | | this.previewpdf = true; |
| | | this.fileListto = this.rbDetails[index].annexfilesList; |
| | | this.pdfimg = this.Networkheader + "/prod-api" + this.fileListto[0].url; |
| | | // this.pdfimg = this.fileListto[0].url; |
| | | this.fileListto.forEach(item => { |
| | | this.pdfimgsrcList.push(this.Networkheader + "/prod-api" + item.url); |
| | | }); |
| | | this.pdftitle = "共" + this.pdfimgsrcList.length + "项"; |
| | | } else { |
| | | this.fileListto = []; |
| | | this.pdfimg = ""; |
| | | this.pdftitle = ""; |
| | | } |
| | | // -发票文件 |
| | | if (this.rbDetails[index].invoicefilesList) { |
| | | this.previewpdf = true; |
| | | this.invoicefileListto = this.rbDetails[index].invoicefilesList; |
| | | this.invoicepdfimg = |
| | | this.Networkheader + "/prod-api" + this.invoicefileListto[0].url; |
| | | this.invoicefileListto.forEach(item => { |
| | | this.invoicepdfimgsrcList.push( |
| | | this.Networkheader + "/prod-api" + item.url |
| | | ); |
| | | }); |
| | | } else { |
| | | this.invoicefileListto = []; |
| | | this.invoicepdfimg = ""; |
| | | this.pdftitle = ""; |
| | | } |
| | | |
| | | if (this.activeName == 1) { |
| | | this.pdftitle = "共" + this.pdfimgsrcList.length + "项"; |
| | | } else { |
| | | this.pdftitle = "共" + this.invoicepdfimgsrcList.length + "项"; |
| | | } |
| | | }, |
| | | |
| | | // 点击已上传文件 |
| | | downFile(item) { |
| | | this.pdftitle = |
| | | "共" + this.pdfimgsrcList.length + "项,当前选中" + item.name; |
| | | let name = item.name.split("."); |
| | | if (name[1] == "pdf") { |
| | | this.$modal.msgWarning("当前文件暂不支持预览"); |
| | | this.previewpdf = false; |
| | | this.hintitle = "当前文件暂不支持预览"; |
| | | } else if (name[1] == "jpg" || "png") { |
| | | this.previewpdf = true; |
| | | if (item.url) { |
| | | this.pdfimg = this.Networkheader + "/prod-api" + item.url; |
| | | |
| | | // if (!this.pdfimgsrcList.includes(this.pdfimg)) { |
| | | // this.pdfimgsrcList.push(this.pdfimg); |
| | | // } |
| | | if (this.activeName == 1) { |
| | | this.pdftitle = |
| | | "共" + this.pdfimgsrcList.length + "项,当前选中" + item.name; |
| | | let name = item.name.split("."); |
| | | if (name[1] == "pdf") { |
| | | this.$modal.msgWarning("当前文件暂不支持预览"); |
| | | this.previewpdf = false; |
| | | this.hintitle = "当前文件暂不支持预览"; |
| | | } else if (name[1] == "jpg" || "png") { |
| | | this.previewpdf = true; |
| | | if (item.url) { |
| | | this.pdfimg = this.Networkheader + "/prod-api" + item.url; |
| | | } else { |
| | | this.pdfimg = this.Networkheader + "/prod-api" + item.response.url; |
| | | } |
| | | } else { |
| | | this.pdfimg = this.Networkheader + "/prod-api" + item.url; |
| | | this.hintitle = "当前文件暂不支持预览"; |
| | | this.$modal.msgWarning("当前文件暂不支持预览"); |
| | | this.previewpdf = false; |
| | | } |
| | | } else { |
| | | this.hintitle = "当前文件暂不支持预览"; |
| | | this.$modal.msgWarning("当前文件暂不支持预览"); |
| | | this.previewpdf = false; |
| | | this.pdftitle = |
| | | "共" + this.invoicepdfimgsrcList.length + "项,当前选中" + item.name; |
| | | let name = item.name.split("."); |
| | | if (name[1] == "pdf") { |
| | | this.$modal.msgWarning("当前文件暂不支持预览"); |
| | | this.previewpdf = false; |
| | | this.hintitle = "当前文件暂不支持预览"; |
| | | } else if (name[1] == "jpg" || "png") { |
| | | this.previewpdf = true; |
| | | if (item.url) { |
| | | this.invoicepdfimg = this.Networkheader + "/prod-api" + item.url; |
| | | } else { |
| | | this.invoicepdfimg = |
| | | this.Networkheader + "/prod-api" + item.response.url; |
| | | } |
| | | } else { |
| | | this.hintitle = "当前文件暂不支持预览"; |
| | | this.$modal.msgWarning("当前文件暂不支持预览"); |
| | | this.previewpdf = false; |
| | | } |
| | | } |
| | | }, |
| | | getIndexInArray(arr, obj) { |
| | | return arr.indexOf(obj); |
| | | }, |
| | | // 发票切换 |
| | | handleClick(tab, event) { |
| | | if (this.activeName == 1) { |
| | | this.pdftitle = "共" + this.pdfimgsrcList.length + "项"; |
| | | } else { |
| | | this.pdftitle = "共" + this.invoicepdfimgsrcList.length + "项"; |
| | | } |
| | | }, |
| | | // 点击删除 |
| | | deletedowfile(row) { |
| | | const indexlist = this.getIndexInArray( |
| | | this.pdfimgsrcList, |
| | | this.Networkheader + "/prod-api" + row.url |
| | | ); |
| | | this.pdfimgsrcList.splice(indexlist, 1); |
| | | const index = this.getIndexInArray(this.fileListto, row); |
| | | this.fileListto.splice(index, 1); |
| | | if (this.activeName == 1) { |
| | | const indexlist = this.getIndexInArray( |
| | | this.pdfimgsrcList, |
| | | this.Networkheader + "/prod-api" + row.url |
| | | ); |
| | | this.pdfimgsrcList.splice(indexlist, 1); |
| | | const index = this.getIndexInArray(this.fileListto, row); |
| | | this.fileListto.splice(index, 1); |
| | | } else { |
| | | const indexlist = this.getIndexInArray( |
| | | this.invoicepdfimgsrcList, |
| | | this.Networkheader + "/prod-api" + row.url |
| | | ); |
| | | this.invoicepdfimgsrcList.splice(indexlist, 1); |
| | | const index = this.getIndexInArray(this.invoicefileListto, row); |
| | | this.invoicefileListto.splice(index, 1); |
| | | } |
| | | }, |
| | | // 点击上移 |
| | | moveupdowfile(row) { |
| | | const index = this.getIndexInArray(this.fileListto, row); |
| | | const item = this.fileListto.splice(index, 1)[0]; // 移除指定索引处的元素,并保存到item变量中 |
| | | this.fileListto.splice(index - 1, 0, item); // 将item插入到索引位置的前一位 |
| | | }, |
| | | //专家/医疗机构/费用报销机构选择 |
| | | ShowDetailDialog(spoce, showType) { |
| | | this.spocewl = spoce; |
| | | this.selectionType = showType; |
| | | if (this.businessType == 4 || this.businessType == 3 || !showType) { |
| | | this.selectionType = this.experthear; |
| | | if (this.activeName == 1) { |
| | | const index = this.getIndexInArray(this.fileListto, row); |
| | | const item = this.fileListto.splice(index, 1)[0]; // 移除指定索引处的元素,并保存到item变量中 |
| | | this.fileListto.splice(index - 1, 0, item); // 将item插入到索引位置的前一位 |
| | | } else { |
| | | const index = this.getIndexInArray(this.invoicefileListto, row); |
| | | const item = this.invoicefileListto.splice(index, 1)[0]; // 移除指定索引处的元素,并保存到item变量中 |
| | | this.invoicefileListto.splice(index - 1, 0, item); // 将item插入到索引位置的前一位 |
| | | } |
| | | // if (!showType) { |
| | | // this.selectionType = this.experthear; |
| | | |
| | | // } |
| | | this.expertfrom = "1"; |
| | | console.log(spoce); |
| | | this.funddetailForm.index = spoce.$index; |
| | | this.funddetailForm.beneficiaryno = spoce.row.beneficiaryno; |
| | | this.funddetailForm.beneficiaryname = spoce.row.beneficiaryname; |
| | | 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.showSelectionDialog = true; |
| | | }, |
| | | Downloadfile(row) { |
| | | window.location.href = this.Networkheader + "/prod-api" + row.url; |
| | | }, |
| | | |
| | | //专家/医疗机构/费用报销机构选择 |
| | | ConfirmDetailDialog() { |
| | | // if (this.businessType == 4) { |
| | | // if (this.experthear == "expert") { |
| | | // this.funddetailForm.beneficiaryname = this.unitforname; |
| | | // } else { |
| | | // this.funddetailForm.beneficiaryname = this.Personnelforname; |
| | | // } |
| | | // } |
| | | let tempIndex = this.funddetailForm.index; |
| | | let tempExpertName = this.funddetailForm.beneficiaryname; |
| | | let tempUnitname = this.funddetailForm.unitname; |
| | | let singleDetail = this.rbDetails[tempIndex]; |
| | | showSelectionDialog(scope, selectiontype) { |
| | | this.selectionScope = scope; |
| | | this.selectionType = selectiontype; |
| | | this.accountselectform.index = scope.$index; |
| | | |
| | | if ( |
| | | this.selectionType == "expert" || |
| | | this.businessType == 4 || |
| | | this.businessType == 3 |
| | | ) { |
| | | if (this.expertfrom == "1" || this.experthear == "unit") { |
| | | //从专家列表获取信息 |
| | | this.personlist.map(res => { |
| | | if (tempExpertName == 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 { |
| | | //保存新增专家 |
| | | 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; |
| | | if (this.selectionType == "account") { |
| | | //默认从账户库选择:1,账户库;2,新建账户 |
| | | this.accountfrom = "1"; |
| | | this.accountselectform.accountname = scope.row.beneficiaryname; |
| | | this.accountselectform.accountno = scope.row.beneficiaryno; |
| | | this.accountselectform.expertunitname = ""; |
| | | this.accountselectform.expertunitno = ""; |
| | | |
| | | 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.accountselectform.username = ''; |
| | | this.accountselectform.userno = ''; |
| | | this.accountselectform.idcardno = ""; |
| | | this.accountselectform.telephone = ""; |
| | | this.accountselectform.title = ""; |
| | | this.accountselectform.unitno = ""; |
| | | this.accountselectform.unitname = ""; |
| | | this.accountselectform.depositbank = ""; |
| | | this.accountselectform.bankcardno = ""; |
| | | this.accountselectform.personnelunitno = ""; |
| | | this.accountselectform.address = ""; |
| | | this.accountselectform.telephone = ""; |
| | | } else if (this.selectionType == "workunit") { |
| | | this.accountselectform.expertunitname = scope.row.unitname; |
| | | this.accountselectform.expertunitno = scope.row.unitno; |
| | | } |
| | | this.showselectiondialog = true; |
| | | }, |
| | | |
| | | 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"; |
| | | //专家/医疗机构/费用报销机构选择 |
| | | confirmSelectionDialog() { |
| | | this.$refs["accountselectform"].validate(valid => { |
| | | let tempIndex = this.accountselectform.index; |
| | | if (this.selectionType == "account") { |
| | | if (this.accountfrom == "1") { |
| | | //赋值信息 |
| | | if (this.rbDetails[tempIndex].beneficiaryname != this.accountselectform.accountname) { |
| | | this.accountlist.map(res => { |
| | | if (res.username == this.accountselectform.accountname) { |
| | | this.rbDetails[tempIndex].beneficiaryno = res.userno; |
| | | this.rbDetails[tempIndex].beneficiaryname = res.username; |
| | | this.rbDetails[tempIndex].depositbank = res.depositbank; |
| | | this.rbDetails[tempIndex].branchbankname = res.branchbankname; |
| | | this.rbDetails[tempIndex].bankcardno = res.bankcardno; |
| | | this.rbDetails[tempIndex].phone = res.telephone; |
| | | |
| | | addExternalperson(this.expertform).then(response => { |
| | | if (response.code == 200) { |
| | | this.$modal.msgSuccess("新增专家信息成功!"); |
| | | |
| | | listExternalperson().then(res => { |
| | | this.personlist = res.rows; |
| | | //从专家列表获取信息 |
| | | this.personlist.map(res => { |
| | | if (res.username == this.funddetailForm.expertname) { |
| | | 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); |
| | | if (res.usertype == "org") { |
| | | this.rbDetails[tempIndex].idcardno = ""; |
| | | this.rbDetails[tempIndex].title = ""; |
| | | this.rbDetails[tempIndex].unitno = ""; |
| | | this.rbDetails[tempIndex].unitname = ""; |
| | | } else { |
| | | this.rbDetails[tempIndex].idcardno = res.idcardno; |
| | | this.rbDetails[tempIndex].title = res.title; |
| | | this.rbDetails[tempIndex].unitno = parseInt(res.unitno); |
| | | this.rbDetails[tempIndex].unitname = res.unitname; |
| | | } |
| | | }); |
| | | } |
| | | }); |
| | | } |
| | | }); |
| | | } |
| | | } else if (this.selectionType == "unit") { |
| | | singleDetail.unitno = this.funddetailForm.unitno; |
| | | if (this.businessType == 1 || this.businessType == 2) { |
| | | 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; |
| | | } else if (this.accountfrom == "2") { |
| | | //保存新增账号 |
| | | //获取用户编号 |
| | | getOnlyCode(this.seqnoParams).then((res) => { |
| | | this.accountform.userno = res.data.currentvalue; |
| | | this.accountform.id = null; |
| | | |
| | | this.accountform.usertype = this.accountselectform.usertype; |
| | | this.accountform.username = this.accountselectform.username; |
| | | this.accountform.idcardno = this.accountselectform.idcardno; |
| | | this.accountform.sex = null; |
| | | this.accountform.title = this.accountselectform.title; |
| | | this.accountform.telephone = this.accountselectform.telephone; |
| | | this.accountform.address = this.accountselectform.address; |
| | | this.accountform.wbm = null; |
| | | this.accountform.pym = null; |
| | | |
| | | this.accountform.depositbank = this.accountselectform.depositbank; |
| | | this.accountform.bankcardno = this.accountselectform.bankcardno; |
| | | this.accountform.branchbankname = null; |
| | | this.accountform.remark = null; |
| | | this.accountform.del_flag = "0"; |
| | | this.accountform.personnelunitno = null; |
| | | |
| | | if (this.accountselectform.usertype == "expert") { |
| | | this.accountform.unitno = this.accountselectform.unitno; |
| | | this.unitList.map(res => { |
| | | if (res.organizationid == this.accountform.unitno) { |
| | | this.accountform.unitname = res.organizationname; |
| | | } |
| | | }); |
| | | } |
| | | |
| | | addExternalperson(this.accountform).then(response => { |
| | | if (response.code == 200) { |
| | | if (this.accountselectform.usertype == "expert") { |
| | | this.$modal.msgSuccess("新账户信息已添加成功,需要在账号状态启用后才能被使用!"); |
| | | return; |
| | | } else { |
| | | this.$modal.msgSuccess("新账户信息已添加成功!"); |
| | | } |
| | | |
| | | this.accountselectform.accountno = this.accountselectform.userno; |
| | | this.accountselectform.accountname = this.accountselectform.username; |
| | | |
| | | //重新获取账户列表 |
| | | listExternalperson().then(res => { |
| | | this.accountlist = res.rows; |
| | | |
| | | //赋值信息 |
| | | this.accountlist.map(res => { |
| | | if (res.username == this.accountselectform.accountname) { |
| | | this.rbDetails[tempIndex].beneficiaryno = res.userno; |
| | | this.rbDetails[tempIndex].beneficiaryname = res.username; |
| | | this.rbDetails[tempIndex].depositbank = res.depositbank; |
| | | this.rbDetails[tempIndex].branchbankname = res.branchbankname; |
| | | this.rbDetails[tempIndex].bankcardno = res.bankcardno; |
| | | this.rbDetails[tempIndex].phone = res.telephone; |
| | | |
| | | if (res.usertype == "org") { |
| | | this.rbDetails[tempIndex].idcardno = ""; |
| | | this.rbDetails[tempIndex].title = ""; |
| | | this.rbDetails[tempIndex].unitno = ""; |
| | | this.rbDetails[tempIndex].unitname = ""; |
| | | } else { |
| | | this.rbDetails[tempIndex].idcardno = res.idcardno; |
| | | this.rbDetails[tempIndex].title = res.title; |
| | | this.rbDetails[tempIndex].unitno = parseInt(res.unitno); |
| | | this.rbDetails[tempIndex].unitname = res.unitname; |
| | | } |
| | | } |
| | | }); |
| | | }); |
| | | |
| | | } |
| | | }); |
| | | }); |
| | | } |
| | | } else if (this.businessType == 3 || this.businessType == 4) { |
| | | try { |
| | | let unitIndex = this.feeUnitList.findIndex( |
| | | item => singleDetail.unitno == item.reportNo |
| | | ); |
| | | if (unitIndex > -1) { |
| | | singleDetail.unitname = this.feeUnitList[unitIndex].reportName; |
| | | singleDetail.depositbank = this.feeUnitList[ |
| | | unitIndex |
| | | ].depositbank; |
| | | singleDetail.bankcardno = this.feeUnitList[unitIndex].bankcardno; |
| | | } else { |
| | | singleDetail.unitname = singleDetail.unitno; |
| | | } |
| | | } catch { |
| | | singleDetail.unitname = singleDetail.unitno; |
| | | } else if (this.selectionType == "workunit") { |
| | | if (this.rbDetails[tempIndex].unitname != this.accountselectform.expertunitname) { |
| | | this.rbDetails[tempIndex].unitname = this.accountselectform.expertunitname; |
| | | this.unitList.map(res => { |
| | | if (res.organizationname == this.accountselectform.expertunitname) { |
| | | this.rbDetails[tempIndex].unitno = res.organizationid; |
| | | } |
| | | }); |
| | | } |
| | | } |
| | | |
| | | //关闭窗口 |
| | | this.showselectiondialog = false; |
| | | }); |
| | | }, |
| | | |
| | | tableParValueChange(row, tto) { |
| | | const regex = /^[1-9]\d{5}(19|20)\d{2}(0[1-9]|1[012])(0[1-9]|[12]\d|3[01])\d{3}([0-9]|X)$/; |
| | | if (tto) { |
| | | if (regex.test(accountselectform.expertidcardno)) { |
| | | row.error = ""; |
| | | } else { |
| | | row.error = "身份证号码格式错误"; |
| | | } |
| | | return; |
| | | } |
| | | |
| | | // if (this.experthear == "unit") { |
| | | // singleDetail.unitname = ""; |
| | | // } |
| | | if (this.businessType == 4 || this.businessType == 3) { |
| | | singleDetail.beneficiaryname = this.funddetailForm.beneficiaryname; |
| | | if (regex.test(row.idcardno)) { |
| | | row.error = ""; |
| | | } else { |
| | | row.error = "身份证号码格式错误"; |
| | | } |
| | | this.rbDetails[tempIndex] = singleDetail; |
| | | this.showSelectionDialog = false; |
| | | }, |
| | | |
| | | //账户类型选择变化 |
| | | userTypeChange(type) { |
| | | if (type == "org") { |
| | | this.accountselectform.idcardno = ""; |
| | | this.accountselectform.unitno = ""; |
| | | this.accountselectform.unitname = ""; |
| | | this.accountselectform.personnelunitno = ""; |
| | | }; |
| | | // this.$modal.msgWarning(type); |
| | | } |
| | | }, |
| | | |
| | |
| | | //获取路由参数 |
| | | this.Getnetworkheader(); |
| | | this.getroute(); |
| | | this.getExternalList(); |
| | | this.getFeeUnitList(); |
| | | this.getAccountList(); |
| | | this.getUserProfile(); |
| | | }, |
| | | |
| | | //生命周期 - 挂载完成(可以访问DOM元素) |
| | | mounted() { |
| | | window.addEventListener("beforeunload", e => this.beforeunloadHandler(e)); |
| | | this.getUserList(); |
| | | this.getUserProfile(); |
| | | let apifunddetailForm = this.funddetailForm; |
| | | let apiaccountselectform = this.accountselectform; |
| | | let apiform = this.form; |
| | | |
| | | // this.getFeeUnitList(); |
| | | }, |
| | | |
| | | beforeCreate() {}, //生命周期 - 创建之前 |
| | | beforeMount() {}, //生命周期 - 挂载之前 |
| | | beforeUpdate() {}, //生命周期 - 更新之前 |
| | | updated() {}, //生命周期 - 更新之后 |
| | | beforeDestroy() {}, //生命周期 - 销毁之前 |
| | | destroyed() {}, //生命周期 - 销毁完成 |
| | | activated() {} //如果页面有keep-alive缓存功能,这个函数会触发 |
| | | beforeRouteLeave(to, from, next) { |
| | | // 执行销毁操作 |
| | | this.$destroy(); |
| | | next(); |
| | | }, |
| | | beforeCreate() { }, //生命周期 - 创建之前 |
| | | beforeMount() { }, //生命周期 - 挂载之前 |
| | | beforeUpdate() { }, //生命周期 - 更新之前 |
| | | updated() { }, //生命周期 - 更新之后 |
| | | beforeDestroy() { }, //生命周期 - 销毁之前 |
| | | destroyed() { |
| | | window.removeEventListener("beforeunload", e => this.beforeunloadFn(e)); |
| | | }, //生命周期 - 销毁完成 |
| | | activated() { } //如果页面有keep-alive缓存功能,这个函数会触发 |
| | | }; |
| | | </script> |
| | | |
| | |
| | | line-height: 25px; |
| | | } |
| | | |
| | | ::v-deep .el-checkbox.is-bordered + .el-checkbox.is-bordered { |
| | | ::v-deep .el-checkbox.is-bordered+.el-checkbox.is-bordered { |
| | | margin-left: 0 !important; |
| | | margin-bottom: 10px; |
| | | } |