| <!--  --> | 
| <template> | 
|   <div class="Modifydetailscla"> | 
|     <div class="boxdiv"> | 
|       <div class="top-text">{{ title }}</div> | 
|       <el-form ref="form" :model="form" :rules="rules" label-width="120px"> | 
|         <el-row> | 
|           <el-col :span="5"> | 
|             <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> | 
|             </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-row> | 
|         <el-row> | 
|           <!-- | 
|           <el-col :span="7"> | 
|             <el-form-item label="工作单位" prop="unitno"> | 
|               <org-selecter ref="orgSelecter" :org-type="'3'" v-model="form.unitno" /> | 
|             </el-form-item> | 
|           </el-col> | 
|           --> | 
|           <el-col :span="5"> | 
|             <el-form-item label="申请单类型"> | 
|               <el-radio v-model="form.applytype" :label="businessType">{{ | 
|                 businessName | 
|               }}</el-radio> | 
|             </el-form-item> | 
|           </el-col> | 
|           <el-col :span="5" v-if="ismanager == true"> | 
|             <el-form-item label="申请金额" prop="pretaxcost"> | 
|               <el-input | 
|                 v-model="form.pretaxcost" | 
|                 placeholder="税前金额合计" | 
|                 :disabled="true" | 
|               /> | 
|             </el-form-item> | 
|           </el-col> | 
|           <el-col :span="5"> | 
|             <el-form-item label="所属组别" prop="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="name"> | 
|               <el-input | 
|                 :disabled="true" | 
|                 v-model="form.donorname" | 
|                 placeholder="请输入捐献者姓名" | 
|               /> | 
|             </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-select v-model="form.recordstatus" placeholder="请选择审核状态" clearable size="small" :disabled="true"> | 
|                 <el-option v-for="dict in dict.type.sys_recordstatus" :key="dict.value" :label="dict.label" | 
|                   :value="dict.value" /> | 
|               </el-select> | 
|             </el-form-item> | 
|           </el-col>--> | 
|         </el-row> | 
|         <el-row style="margin-top: 5px; margin-bottom: 5px" /> | 
|         <el-row v-if="jurisdiction"> | 
|           <!-- <el-alert title="当前为查看状态,不支持修改存储。" type="warning"> | 
|           </el-alert> --> | 
|           <el-alert | 
|             title="当前为查看状态,不支持修改存储。" | 
|             type="warning" | 
|             show-icon | 
|           > | 
|           </el-alert> | 
|         </el-row> | 
|         <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" | 
|             > | 
|               <template slot-scope="scope"> | 
|                 <el-input v-model="scope.row.orderno" placeholder="序号" /> | 
|               </template> | 
|             </el-table-column> | 
|             <el-table-column | 
|               prop="applytype" | 
|               align="center" | 
|               label="服务类型" | 
|               width="200" | 
|             > | 
|               <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="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="businessType == '1' || businessType == '2'" | 
|             > | 
|               <template slot-scope="scope"> | 
|                 <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" | 
|             > | 
|               <template slot-scope="scope"> | 
|                 <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" | 
|             > | 
|               <template slot-scope="scope"> | 
|                 <el-input | 
|                   :disabled="userprofile.nickName != '陈慕华'" | 
|                   v-model="scope.row.bankcardno" | 
|                   placeholder="银行帐号" | 
|                 /> | 
|               </template> | 
|             </el-table-column> | 
|             <el-table-column | 
|               prop="itemdescrisca" | 
|               align="center" | 
|               width="330" | 
|               label="项目说明" | 
|             > | 
|               <template slot-scope="scope"> | 
|                 <el-input | 
|                   type="textarea" | 
|                   :rows="2" | 
|                   v-model="scope.row.itemdescribe" | 
|                   placeholder="项目说明" | 
|                 /> | 
|               </template> | 
|             </el-table-column> | 
|             <el-table-column | 
|               prop="remark" | 
|               align="center" | 
|               width="330" | 
|               label="备注" | 
|               v-show="ismanager == true" | 
|             > | 
|               <template slot-scope="scope"> | 
|                 <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 == 2 || | 
|                       businessType == 3 || | 
|                       businessType == 4 || | 
|                       businessType == 1 | 
|                   " | 
|                   >票据</el-button | 
|                 > | 
|               </template> | 
|             </el-table-column> | 
|           </el-table> | 
|         </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" | 
|               > | 
|                 <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" />{{ | 
|                       scope.row.name | 
|                     }} | 
|                   </template> | 
|                 </el-table-column> | 
|   | 
|                 <el-table-column | 
|                   prop="name" | 
|                   width="180" | 
|                   :show-overflow-tooltip="true" | 
|                   label="功能" | 
|                 > | 
|                   <template slot-scope="scope"> | 
|                     <el-button | 
|                       type="danger" | 
|                       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-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" | 
|             > | 
|               <template slot-scope="scope"> | 
|                 <span v-if="scope.row.flowconclusion == 1">通过</span> | 
|                 <span v-if="scope.row.flowconclusion == 2">不通过</span> | 
|               </template> | 
|             </el-table-column> | 
|             <el-table-column | 
|               label="审核备注" | 
|               align="center" | 
|               prop="flowcontent" | 
|             /> | 
|           </el-table> | 
|         </el-row> | 
|   | 
|         <el-row | 
|           style="margin-top: 25px; margin-bottom: 5px" | 
|           v-if="operationType == 'check' && userprofile.nickName == '陈慕华'" | 
|         > | 
|           <el-col :span="12"> | 
|             <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-col :span="12" v-if="businessType == 1"> | 
|             <el-form-item label="算税状态" prop="infoid"> | 
|               <el-radio-group v-model="form.istax" align="left"> | 
|                 <el-radio :label="-1">审核中</el-radio> | 
|                 <el-radio :label="0">允许算税</el-radio> | 
|                 <el-radio :label="1">已算税</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-radio label="2">不通过</el-radio> | 
|               </el-radio-group> | 
|             </el-form-item> | 
|           </el-col> | 
|         </el-row> | 
|         <el-row v-if="operationType == 'check'"> | 
|           <el-col :span="17"> | 
|             <el-form-item label="审核备注" align="left"> | 
|               <el-input v-model="checkObj.flowconclusion" placeholder="备注" /> | 
|             </el-form-item> | 
|           </el-col> | 
|         </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="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="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="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="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.userid" | 
|                   :value="item.id" | 
|                 > | 
|                 </el-option> | 
|               </el-select> | 
|             </el-form-item> | 
|           </el-col> | 
|         </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=" | 
|             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-col> | 
|             <el-form-item label="单位工号" prop="personnelunitno"> | 
|               <el-input | 
|                 v-model="accountselectform.personnelunitno" | 
|                 placeholder="请输入所在单位的工号" | 
|               /> | 
|             </el-form-item> | 
|           </el-col> | 
|         </el-row> | 
|         <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 | 
|             ><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 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%" | 
|     > | 
|       <div style="margin-bottom: 10px;"> | 
|         <el-table :data="tableDatatop" style="width: 100%"> | 
|           <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> | 
|           <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> | 
|           <!-- <el-table-column | 
|             prop="beneficiaryname" | 
|             align="center" | 
|             label="姓名" | 
|             v-if="form.applytype == '1' || form.applytype == '2'" | 
|           > | 
|           </el-table-column> --> | 
|   | 
|           <!-- <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="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> | 
|           <el-table-column prop="depositbank" align="center" label="开户银行"> | 
|           </el-table-column> | 
|           <el-table-column | 
|             prop="bankcardno" | 
|             align="center" | 
|             label="银行帐号" | 
|             width="210" | 
|           > | 
|           </el-table-column> | 
|         </el-table> | 
|       </div> | 
|       <el-alert | 
|         title="新上传文件需在提交保存后才可进行案例关联,否则视为放弃" | 
|         type="error" | 
|         show-icon | 
|         close-text="知道了" | 
|       > | 
|       </el-alert> | 
|       <el-tabs | 
|         style="margin-top: 20px;" | 
|         v-model="activeName" | 
|         type="border-card" | 
|         @tab-click="handleClick" | 
|       > | 
|         <el-tab-pane label="普通附件" name="common"> | 
|           <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="danger" | 
|                         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 && pdfimgsrcList.length" | 
|               class="pdfimgmin" | 
|             > | 
|               <!-- <img :src="pdfimg" /> --> | 
|               <el-image | 
|                 style="width: 95%; height: 90%" | 
|                 @error="handleImageError" | 
|                 @load="handleImageLoad" | 
|                 :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> | 
|         </el-tab-pane> | 
|         <el-tab-pane label="发票文件" name="invoice"> | 
|           <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> | 
|   | 
|                   <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%" | 
|                 @error="handleImageError" | 
|                 @load="handleImageLoad" | 
|                 :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> | 
|       <span slot="footer" class="dialog-footer"> | 
|         <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%" | 
|     > | 
|       <div style="max-height: 300px; overflow-y: auto"> | 
|         <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> | 
|       </div> | 
|   | 
|       <span slot="footer" class="dialog-footer"> | 
|         <el-button type="primary" @click="BatchentryFn">确 定</el-button> | 
|         <el-button @click="batchdialogVisible = false">取 消</el-button> | 
|       </span> | 
|     </el-dialog> | 
|   </div> | 
| </template> | 
|   | 
| <script> | 
| // 'sdaad2123UD2',1  'wsadadwsad',4 'sdadaddad',3 'ssaaddxs',2 | 
| //这里可以导入其他文件(比如:组件,工具js,第三方插件js,json文件,图片文件等等) | 
| //例如:import 《组件名称》 from '《组件路径》'; | 
| import { | 
|   listDonatebaseinfo, | 
|   getDonatebaseinfo | 
| } from "@/api/project/donatebaseinfo"; | 
| import debounce from "lodash/debounce"; | 
| import { | 
|   onelistFund, | 
|   listFund, | 
|   getFund, | 
|   delFund, | 
|   addFund, | 
|   updateFund, | 
|   exportFund, | 
|   getdownloadLW, | 
|   getdownloadSH, | 
|   getdownloadSS, | 
|   getdownloadYX, | 
|   checkfund, | 
|   getdownloadBX, | 
|   addorupdateFund, | 
|   ManualCalculation, | 
|   getdetailsByItemId | 
| } from "@/api/project/fund"; | 
|   | 
| import { | 
|   onelistFunds, | 
|   listrbDetails, | 
|   listFunddetail, | 
|   getFunddetail, | 
|   delFunddetail, | 
|   addFunddetail, | 
|   getownFundDetail, | 
|   updateFunddetail, | 
|   exportFunddetail, | 
|   getItemNames, | 
|   getFundType, | 
|   getFundTypeAll, | 
|   listcountItem, | 
|   getDataBybeneficiaryNo, | 
|   getTaxByBeneFiciaryNo, | 
|   getTaxBeforeByBeneFiciaryNo, | 
|   getTaxationByBeneFiciaryNo, | 
|   getTaxBeforeByAfterMoney | 
| } from "@/api/project/funddetail"; | 
|   | 
| import { listFundflow } from "@/api/project/fundflow"; | 
|   | 
| import { | 
|   listOrganization, | 
|   getOrganization, | 
|   listReportname, | 
|   listUser | 
| } from "@/api/project/organization"; | 
|   | 
| import { | 
|   listExternalperson, | 
|   getExternalperson, | 
|   getInfoBytheUserNo, | 
|   delExternalperson, | 
|   addExternalperson, | 
|   updateExternalperson, | 
|   exportExternalperson, | 
|   getOnlyCode | 
| } from "@/api/project/externalperson"; | 
|   | 
| import { listItemexpense } from "@/api/project/itemexpense"; | 
|   | 
| import { getUserProfile } from "@/api/system/user"; | 
| import Li_area_select from "@/components/Address"; | 
| import OrgSelecter from "@/views/project/components/orgselect"; | 
| import { getToken } from "@/utils/auth"; | 
|   | 
| export default { | 
|   //import引入的组件需要注入到对象中才能使用 | 
|   components: { | 
|     Li_area_select, | 
|     OrgSelecter | 
|   }, | 
|   name: "fundApply", | 
|   | 
|   dicts: [ | 
|     //"sys_consolationfundlevel", | 
|     //"sys_OrganizationType", | 
|     "sys_DonationStatus", | 
|     //"sys_depositbank", | 
|     //"sys_FamilyRelation", | 
|     //"sys_IDType", | 
|     //"sys_ConsolationType", | 
|     //"sys_fund_type", | 
|     //"sys_finsubject", | 
|     //"sys_financeitemtype", | 
|     //"sys_expensetype", | 
|     "sys_recordstatus", | 
|     "sys_professionaltitle" | 
|   ], | 
|   | 
|   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 { | 
|       // 遮罩层 | 
|       loading: false, | 
|       // 导出遮罩层 | 
|       exportLoading: false, | 
|       usernamedata: "", | 
|       jurisdiction: false, | 
|       Routinglevel: 1, | 
|       // 表单参数 | 
|       form: {}, | 
|       //费用申请表单title | 
|       title: "", | 
|       //申请单类型 | 
|       businessType: "0", | 
|       businessName: "", | 
|       //操作类型 | 
|       operationType: "", | 
|       Loadornot: false, | 
|       //当前单据id | 
|       curId: 0, | 
|       //当前选中捐献案例 | 
|       curCase: {}, | 
|   | 
|       total: 0, | 
|   | 
|       // 当前用户信息 | 
|       userprofile: {}, | 
|       //系统用户列表 | 
|       userlist: [], | 
|       //账号列表 | 
|       accountlist: [], | 
|       //医疗机构列表 | 
|       unitList: [], | 
|   | 
|       // 网络请求头 | 
|       Networkheader: null, | 
|       batchdialogVisible: false, | 
|       itemlist: [], | 
|       cityOptions: [], | 
|       checkAll: false, | 
|       checkedCities: [], | 
|       Personnelforname: null, | 
|       unitforname: null, | 
|       isIndeterminate: true, | 
|   | 
|       //是否是专家费的OPO审批人员 | 
|       ismanager: false, | 
|       baselisttages: [ | 
|         { | 
|           id: 1, | 
|           name: "材料待审核" | 
|         }, | 
|         { | 
|           id: 2, | 
|           name: "审查通过等待邮寄纸质材料" | 
|         }, | 
|         { | 
|           id: 3, | 
|           name: "已收到纸质材料" | 
|         } | 
|       ], | 
|   | 
|       //捐献案例列表 | 
|       donateList: [], | 
|   | 
|       //费用明细列表 | 
|       rbDetails: [], | 
|       formData: {}, | 
|       amount: 0.0, | 
|       totalPreTaxAmount: 0.0, | 
|       totalAfterTaxAmount: 0.0, | 
|       totalAmount: 0.0, | 
|       tableDatatop: [], | 
|   | 
|       //费用类型数组 | 
|       feeItemTypes: [], | 
|   | 
|       //行记录的费用类型数组 | 
|       rowfeeItemTypes: [], | 
|   | 
|       //费用说明 | 
|       feeBlocks: [], | 
|   | 
|       fundflowList: [], | 
|       // 随机数 | 
|       randomnumber: "", | 
|   | 
|       //选择窗口显示状态 | 
|       showselectiondialog: false, | 
|       //选择时当前行 | 
|       selectionScope: "", | 
|       //选择类型:专家(单位)账户、工作单位(account/workunit) | 
|       selectionType: "", | 
|       //账户选择:1是账户库,2是新增 | 
|       accountfrom: "1", | 
|       //受益人标签:专家费-专家(单位)名称,医学成本-办公-单位(个人)名称 | 
|       beneficiarylabel: "", | 
|       //税前金额标题:专家费-税前金额;医学成本、办公费用-金额 | 
|       amountlabel: "税前金额", | 
|   | 
|       // 表单校验 | 
|       rules: { | 
|         reason: [ | 
|           { required: true, message: "请输入出差事由", trigger: "blur" } | 
|         ], | 
|         deptmentname: [ | 
|           { required: true, message: "请输入所属业务组", trigger: "blur" } | 
|         ] | 
|       }, | 
|   | 
|       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, | 
|         usertype: "expert", | 
|         accountname: null, | 
|         accountno: null, | 
|         expertunitname: null, | 
|         expertunitno: null, | 
|         depositbank: null, | 
|         bankcardno: null, | 
|         idcardno: null, | 
|         title: null, | 
|         unitname: null, | 
|         unitno: 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, | 
|         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: { | 
|         flowlevelone: null, | 
|         flowconclusion: null, | 
|         fundid: null | 
|       }, | 
|   | 
|       // 查询参数 | 
|       queryParams: { | 
|         organizationname: null, | 
|         organizationtype: null, | 
|         pageNum: 1, | 
|         pageSize: 10, | 
|         name: null, | 
|         idcardno: null, | 
|         residenceprovince: null, | 
|         residencecity: null, | 
|         residencetown: null, | 
|         recordstate: null, | 
|         treatmenthospitalname: null, | 
|         donorno: null, | 
|         reportername: null, | 
|         reporttime: null | 
|       }, | 
|   | 
|       fundQueryParam: { | 
|         pageNum: 1, | 
|         pageSize: 100, | 
|         infoid: null, | 
|         applytype: "0", | 
|         createBy: null | 
|       }, | 
|   | 
|       expertQueryParam: { | 
|         pageNum: 1, | 
|         pageSize: 10000, | 
|         userno: null, | 
|         username: null, | 
|         usertype: null | 
|       }, | 
|       // 查询最新序号参数 | 
|       seqnoParams: { | 
|         businessType: "externalperson", | 
|         datequery: false | 
|       }, | 
|   | 
|       //计算个税参数 | 
|       taxParam: { | 
|         beneficiaryNo: "", | 
|         money: "0", | 
|         startTime: "" | 
|       }, | 
|       //服务费用参数 | 
|       expenseQueryParams: { | 
|         pageNum: 1, | 
|         pageSize: 10000, | 
|         itemid: null, | 
|         expense: null, | 
|         expensedescribe: null, | 
|         usestate: null | 
|       }, | 
|   | 
|       //附件列表 | 
|       fileList: [], | 
|       fileListto: [], | 
|       invoicefileList: [], | 
|       invoicefileListto: [], | 
|       invoicepdfimg: "", | 
|       invoicepdfimgsrcList: [], | 
|       invoDatatop: [], | 
|       activeName: "common", //文件类型 | 
|       //上传附件路径 | 
|       uploadFileUrl: process.env.VUE_APP_BASE_API + "/common/upload", | 
|       ICDtoken: getToken(), | 
|       //文件上传token | 
|       headers: { | 
|         Authorization: "Bearer " + getToken() | 
|       }, | 
|       //票据文件 | 
|       pdftitle: "", | 
|       pdfimg: "", | 
|       pdfimgsrcList: [], | 
|       pdfVisible: false, | 
|       previewpdf: false, | 
|       hintitle: "请上传文件后查看", | 
|       atpresent: "", | 
|       Savereminder: false, //提醒保存弹框 | 
|       Reminderquantity: 0, //提醒数量 | 
|       totalquantity: 0, //总数量 | 
|       Modifyornot: 0 //是否修改 | 
|     }; | 
|   }, | 
|   | 
|   //监听属性 类似于data概念 | 
|   computed: {}, | 
|   //监控data中的数据变化 | 
|   watch: {}, | 
|   //方法集合 | 
|   methods: { | 
|     bbaaccss(val) {}, | 
|     // 浏览器页面关闭或刷新提示 | 
|     beforeunloadHandler(e) { | 
|       if ( | 
|         (JSON.stringify(this.form) == sessionStorage.getItem("apiform") && | 
|           JSON.stringify(this.rbDetails) == | 
|             sessionStorage.getItem("apifunddetail")) || | 
|         !sessionStorage.getItem("apifunddetail") | 
|       ) { | 
|       } else { | 
|         this._beforeUnload_time = new Date().getTime(); | 
|         e = e || window.event; | 
|         if (e) { | 
|           e.returnValue = "关闭提示"; | 
|         } | 
|         return "关闭提示"; | 
|       } | 
|     }, | 
|   | 
|     // 表单重置 | 
|     reset() { | 
|       this.form = { | 
|         id: null, | 
|         applytype: "0", | 
|         recordstate: -1, | 
|         userno: null, | 
|         username: null, | 
|         deptmentname: null, | 
|         deptmentno: null, | 
|         managername: null, | 
|         infoid: null, | 
|         donorno: null, | 
|         delFlag: null, | 
|         createBy: null, | 
|         createTime: null, | 
|         updateBy: null, | 
|         updateTime: null, | 
|         familyrelations: null, | 
|         name: null, | 
|         remark: null, | 
|         doname: null, | 
|         unitname: null, | 
|         unitno: null, | 
|         sex: null, | 
|         idcardtype: null, | 
|         idcardno: null, | 
|         phone: null, | 
|         donorname: null, | 
|         depositbank: null, | 
|         bankprovince: null, | 
|         bankprovincename: null, | 
|         bankcity: null, | 
|         bankcityname: null, | 
|         banktown: null, | 
|         banktownname: null, | 
|         branchbankname: null, | 
|         bankcardno: null, | 
|         annexbankcard: null, | 
|         annexregistform: null, | 
|         consolationmoney: null, | 
|         servicetypename: null, | 
|         servicesscope: null, | 
|         servicesscopename: null | 
|       }; | 
|       this.resetForm("form"); | 
|       //清空附件 | 
|       this.fileList = []; | 
|     }, | 
|     // 获取请求头 | 
|     Getnetworkheader() { | 
|       let string = window.location.href; | 
|       if (string.includes("9091")) { | 
|         const index = string.indexOf("9091"); | 
|         this.Networkheader = string.slice(0, index + 4); // 截取9091及其前部字符 | 
|       } else { | 
|         const index = string.indexOf("8032"); | 
|         this.Networkheader = string.slice(0, index + 4); // 截取8032及其前部字符 | 
|       } | 
|     }, | 
|     /** 通过参数获取业务类型 */ | 
|     getroute() { | 
|       //选择业务类型:1、新增;2、修改;3、查看 | 
|       this.curId = this.$route.query.id; | 
|       this.businessType = this.$route.query.businessType; | 
|       this.operationType = this.$route.query.operationType; | 
|   | 
|       //获取费用项目类型 | 
|       this.getFeeTypes(); | 
|   | 
|       // if (!this.businessType && !this.operationType) { | 
|       if (this.businessType == "1") { | 
|         this.businessName = "专家劳务费申请单"; | 
|         this.amountlabel = "税前金额"; | 
|         this.beneficiarylabel = "专家或单位名称"; | 
|         this.getUnitList(); | 
|       } else if (this.businessType == "2") { | 
|         this.businessName = "伦理专家劳务费申请单"; | 
|         this.amountlabel = "税前金额"; | 
|         this.beneficiarylabel = "专家或单位名称"; | 
|         this.getUnitList(); | 
|       } else if (this.businessType == "3") { | 
|         this.businessName = "医学成本报销单"; | 
|         this.amountlabel = "金额"; | 
|         this.beneficiarylabel = "单位名称或个人"; | 
|         this.getUnitList(); | 
|       } else if (this.businessType == "4") { | 
|         this.businessName = "办公费用报销单"; | 
|         this.amountlabel = "金额"; | 
|         this.beneficiarylabel = "单位名称或个人"; | 
|         this.getUnitList(); | 
|   | 
|         // this.getBaseInfoList(); | 
|       } | 
|   | 
|       if (this.operationType == "add") { | 
|         this.title = this.businessName + "新建"; | 
|         if (this.operationType != "4") { | 
|           this.curCase = this.$route.query.curCase; | 
|         } | 
|         this.handleAdd(); | 
|       } else if (this.operationType == "update") { | 
|         this.title = this.businessName + "修改"; | 
|         this.handleUpdate(); | 
|       } else if (this.operationType == "detail") { | 
|         this.title = this.businessName + "查看"; | 
|         this.jurisdiction = true; | 
|         this.handleDetail(); | 
|       } else if (this.operationType == "check") { | 
|         this.title = this.businessName + "审核"; | 
|         this.handleCheck(); | 
|       } | 
|       // } else { | 
|       //   this.$modal.msgWarning("开打医学费用申请单发现参数业务类型或操作类型错误,请联系系统管理员!"); | 
|       //   return; | 
|       // } | 
|     }, | 
|   | 
|     /** 新增按钮操作 */ | 
|     handleAdd() { | 
|       //初始化 | 
|       this.istrue += 2; | 
|       this.reset(); | 
|   | 
|       /** businessType:1:专家费;2:伦理专家费;3:医学成本;4:办公费用*/ | 
|       this.form.applytype = this.businessType; | 
|       if ( | 
|         this.businessType == "1" || | 
|         this.businessType == "2" || | 
|         this.businessType == "3" | 
|       ) { | 
|         this.form.infoid = this.curCase.id; | 
|         this.form.donorname = this.curCase.name; | 
|         this.form.donorno = this.curCase.donorno; | 
|       } | 
|   | 
|       //初始化明细 | 
|       this.rbDetails = []; | 
|       this.addRow(0); | 
|     }, | 
|   | 
|     /** 修改按钮操作 */ | 
|     handleUpdate() { | 
|       this.isopen = 0; | 
|       this.reset(); | 
|   | 
|       getFund(this.curId).then(response => { | 
|         this.form = response.data; | 
|         sessionStorage.removeItem("apiform"); | 
|         sessionStorage.setItem("apiform", JSON.stringify(this.form)); | 
|   | 
|         // this.form.recordstate =-1; | 
|         // this.form.recordstatus = response.data.recordstatus + ""; | 
|         //附件处理 | 
|         // this.fileList = this.form.annexbankcard ? this.form.annexbankcard.split(",").map(item => ({ url: item, name: item })) : [] | 
|   | 
|         //明细处理 | 
|         getownFundDetail(this.curId).then(res => { | 
|           this.rbDetails = res.data; | 
|   | 
|           if (this.rbDetails.length > 0) { | 
|             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 | 
|               ); | 
|             } | 
|   | 
|             sessionStorage.removeItem("apifunddetail"); | 
|             sessionStorage.setItem( | 
|               "apifunddetail", | 
|               JSON.stringify(this.rbDetails) | 
|             ); | 
|           } else { | 
|             this.addRow(0); | 
|           } | 
|         }); | 
|         let listFundflowparams = { | 
|           fundid: this.curId, | 
|           fundtype: 2 | 
|         }; | 
|         listFundflow(listFundflowparams).then(res => { | 
|           this.fundflowList = res.rows; | 
|         }); | 
|       }); | 
|     }, | 
|   | 
|     /** 查看按钮操作 */ | 
|     handleDetail() { | 
|       this.isopen = 0; | 
|       this.reset(); | 
|   | 
|       getFund(this.curId).then(response => { | 
|         this.form = response.data; | 
|         sessionStorage.removeItem("apiform"); | 
|         sessionStorage.setItem("apiform", JSON.stringify(this.form)); | 
|         //附件处理 | 
|         // this.fileList = this.form.annexbankcard ? this.form.annexbankcard.split(",").map(item => ({ url: item, name: item })) : [] | 
|   | 
|         //业务明细 | 
|         getownFundDetail(this.curId).then(res => { | 
|           this.rbDetails = res.data; | 
|   | 
|           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 | 
|             ); | 
|           } | 
|   | 
|           if (this.rbDetails.length == 0) { | 
|             this.addRow(0); | 
|           } | 
|         }); | 
|   | 
|         //业务流程 | 
|         let listFundflowparams = { | 
|           fundid: this.curId, | 
|           fundtype: 2 | 
|         }; | 
|         listFundflow(listFundflowparams).then(res => { | 
|           this.fundflowList = res.rows; | 
|         }); | 
|       }); | 
|     }, | 
|   | 
|     /** 查看按钮操作 */ | 
|     handleCheck() { | 
|       this.isopen = 0; | 
|       this.reset(); | 
|   | 
|       getFund(this.curId).then(response => { | 
|         this.form = response.data; | 
|         sessionStorage.removeItem("apiform"); | 
|         sessionStorage.setItem("apiform", JSON.stringify(this.form)); | 
|   | 
|         //附件处理 | 
|         // this.fileList = this.form.annexbankcard ? this.form.annexbankcard.split(",").map(item => ({ url: item, name: item })) : [] | 
|   | 
|         //业务明细 | 
|         getownFundDetail(this.curId).then(res => { | 
|           this.rbDetails = res.data; | 
|           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 | 
|             ); | 
|           } | 
|   | 
|           if (this.rbDetails.length == 0) { | 
|             this.addRow(0); | 
|           } | 
|         }); | 
|   | 
|         //业务流程 | 
|         let listFundflowparams = { | 
|           fundid: this.curId, | 
|           fundtype: 2 | 
|         }; | 
|         listFundflow(listFundflowparams).then(res => { | 
|           this.fundflowList = res.rows; | 
|         }); | 
|       }); | 
|     }, | 
|   | 
|     /** 删除按钮操作 */ | 
|     handleDelete() { | 
|       this.$modal | 
|         .confirm("是否确认删除该记录?") | 
|         .then(function() { | 
|           return delFund(this.curId); | 
|         }) | 
|         .then(() => { | 
|           getownFundDetail(this.curId).then(res => { | 
|             let listdetails = res.data; | 
|             for (let i = 0; i < listdetails.length; i++) { | 
|               delFunddetail(listdetails[i].id); | 
|             } | 
|           }); | 
|           this.getfundList(); | 
|           this.$modal.msgSuccess("删除成功"); | 
|         }) | 
|         .catch(() => {}); | 
|     }, | 
|   | 
|     /** 上报按钮操作 */ | 
|     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: "取消", | 
|         type: "warning" | 
|       }) | 
|         .then(() => { | 
|           //查找是否存在登记完成记录 | 
|           //判断是否存在上报记录 | 
|           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) { | 
|               this.$message({ | 
|                 type: "success", | 
|                 message: "申请成功" | 
|               }); | 
|               this.cancel(); | 
|             } else { | 
|               this.$message({ | 
|                 type: "error", | 
|                 message: "申请失败" | 
|               }); | 
|             } | 
|             this.loading = false; | 
|           }); | 
|         }) | 
|         .catch(() => { | 
|           this.$message({ | 
|             type: "info", | 
|             message: "已取消申请" | 
|           }); | 
|         }); | 
|     }, | 
|     generateRandomString(length) { | 
|       const characters = | 
|         "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789"; | 
|       let randomString = ""; | 
|       for (let i = 0; i < length; i++) { | 
|         randomString += characters.charAt( | 
|           Math.floor(Math.random() * characters.length) | 
|         ); | 
|       } | 
|       return randomString; | 
|     }, | 
|     /** 提交按钮 */ | 
|     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; | 
|   | 
|           //保存前校验数据 | 
|           for (let k = 0; k < this.rbDetails.length; k++) { | 
|             let tempDetail = this.rbDetails[k]; | 
|             if (tempDetail.itemid == null) { | 
|               this.$modal.msgWarning( | 
|                 "服务项目表中,第" + | 
|                   (k + 1).toString() + | 
|                   "行的服务项目未选择,请先选择服务项目后再提交保存!" | 
|               ); | 
|               return; | 
|             } | 
|   | 
|             if (this.businessType == "1") { | 
|               if (tempDetail.servicesscope == null) { | 
|                 this.$modal.msgWarning( | 
|                   "服务项目表中,第" + | 
|                     (k + 1).toString() + | 
|                     "行的费用说明未选择,请选择费用说明后再提交保存!" | 
|                 ); | 
|                 return; | 
|               } | 
|   | 
|               if (tempDetail.beneficiaryno == null) { | 
|                 this.$modal.msgWarning( | 
|                   "服务项目表中,第" + | 
|                     (k + 1).toString() + | 
|                     "行的服务人员姓名为选择,请选择人员后再提交保存!" | 
|                 ); | 
|                 return; | 
|               } | 
|             } | 
|           } | 
|   | 
|           //处理明细 | 
|           for (let i = 0; i < this.rbDetails.length; i++) { | 
|             let tempDetail = this.rbDetails[i]; | 
|             //获取服务项目明细 | 
|             let tempitemlist = tempDetail.itemlist; | 
|             let itemIndex = tempitemlist.findIndex( | 
|               item => tempDetail.itemid == item.id | 
|             ); | 
|             if (itemIndex > -1) { | 
|               tempDetail.itemname = tempitemlist[itemIndex].itemName; | 
|               tempDetail.itemid = tempitemlist[itemIndex].id; | 
|             } | 
|   | 
|             //获取applytypename、服务费用大类 | 
|             let applytypeIndex = this.rowfeeItemTypes.findIndex( | 
|               item => tempDetail.applytype == item.value | 
|             ); | 
|             if (applytypeIndex > -1) { | 
|               tempDetail.applytypename = this.rowfeeItemTypes[ | 
|                 applytypeIndex | 
|               ].label; | 
|               tempDetail.subjecttype = this.rowfeeItemTypes[ | 
|                 applytypeIndex | 
|               ].subjecttype; | 
|               tempDetail.subjecttypename = this.rowfeeItemTypes[ | 
|                 applytypeIndex | 
|               ].subjecttypename; | 
|             } | 
|             this.rbDetails[i] = tempDetail; | 
|           } | 
|           //计算当前行报销内容费用合计,税前金额(amount)、扣税金额(taxamount)、税后金额(taxedamount) | 
|           if (this.businessType == "2") { | 
|             for (let j = 0; j < this.rbDetails.length; j++) { | 
|               let tempDetail = this.rbDetails[j]; | 
|               if ( | 
|                 isNaN(parseFloat(tempDetail.amount)) || | 
|                 parseFloat(tempDetail.amount) == 0 | 
|               ) { | 
|                 this.$modal.msgWarning( | 
|                   "服务项目表中,第" + | 
|                     (j + 1).toString() + | 
|                     "行的金额未输入,请先输入金额后再提交保存!" | 
|                 ); | 
|                 return; | 
|               } | 
|             } | 
|           } else if (this.businessType == "3" || this.businessType == "4") { | 
|             for (let j = 0; j < this.rbDetails.length; j++) { | 
|               let tempDetail = this.rbDetails[j]; | 
|               if ( | 
|                 isNaN(parseFloat(tempDetail.amount)) || | 
|                 parseFloat(tempDetail.amount) == 0 | 
|               ) { | 
|                 this.$modal.msgWarning( | 
|                   "服务项目表中,第" + | 
|                     (j + 1).toString() + | 
|                     "行的金额未输入,请先输入金额后再提交保存!" | 
|                 ); | 
|                 return; | 
|               } | 
|               if ( | 
|                 isNaN(parseFloat(tempDetail.taxamount)) || | 
|                 parseFloat(tempDetail.taxamount) == 0 | 
|               ) { | 
|                 tempDetail.taxedamount = parseFloat(tempDetail.amount); | 
|               } else { | 
|                 tempDetail.taxedamount = | 
|                   parseFloat(tempDetail.amount) + | 
|                   parseFloat(tempDetail.taxamount); | 
|               } | 
|             } | 
|           } | 
|   | 
|           //费用合计 | 
|           // 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.rbDetails.map(item => { | 
|             this.form.serviceFunddetails += item.amount; | 
|           }); | 
|           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; | 
|             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) { | 
|             //     this.selectDonotor(this.curCase); | 
|             //   } 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: this.businessType, | 
|                       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(); | 
|         } | 
|       }); | 
|     }, 500), | 
|   | 
|     checksubmit() { | 
|       //检查是否收到纸质材料 | 
|       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.$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.$store.dispatch("tagsView/delView", this.$route); | 
|       this.$router.go(-1); | 
|     }, | 
|   | 
|     //获取当前用户信息 | 
|     getUserProfile() { | 
|       getUserProfile().then(res => { | 
|         this.userprofile = res.data; | 
|         this.standardlevel = res.data.standardlevel; | 
|         if ( | 
|           this.userprofile.userName == "admin" || | 
|           this.userprofile.userName == "001" || | 
|           this.userprofile.userName == "047" | 
|         ) { | 
|           this.ismanager = true; | 
|         } else { | 
|           this.ismanager = false; | 
|         } | 
|   | 
|         if (this.operationType == "add") { | 
|           this.form.username = this.userprofile.nickName; | 
|           this.form.userno = this.userprofile.userName; | 
|           this.form.deptmentname = this.userprofile.dept.deptName; | 
|           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; | 
|   | 
|           if (this.businessType == "4") { | 
|             this.getUserAccount(); | 
|           } | 
|         } | 
|       }); | 
|     }, | 
|   | 
|     //获取系统用户列表 | 
|     getUserList() { | 
|       listUser().then(res => { | 
|         this.userlist = res.data; | 
|       }); | 
|     }, | 
|   | 
|     //获取专家、单位机构的账户列表 | 
|     getAccountList() { | 
|       listExternalperson().then(res => { | 
|         // this.accountlist = res.rows; | 
|         //获取启用的账户列表 | 
|         for (let j = 0; j < res.rows.length; j++) { | 
|           //单位账号列表 | 
|           if (res.rows[j].userstatus == "1") { | 
|             if (res.rows[j].usertype == "org") { | 
|               this.accountlist.push({ | 
|                 id: res.rows[j].id, | 
|                 userno: res.rows[j].userno, | 
|                 username: res.rows[j].username, | 
|                 idcardno: res.rows[j].idcardno, | 
|                 title: res.rows[j].title, | 
|                 depositbank: res.rows[j].depositbank, | 
|                 bankcardno: res.rows[j].bankcardno, | 
|                 unitno: res.rows[j].unitno, | 
|                 unitname: res.rows[j].unitname, | 
|                 userid: | 
|                   res.rows[j].username + "(" + res.rows[j].bankcardno + ")" | 
|               }); | 
|             } else { | 
|               this.accountlist.push({ | 
|                 id: res.rows[j].id, | 
|                 userno: res.rows[j].userno, | 
|                 username: res.rows[j].username, | 
|                 idcardno: res.rows[j].idcardno, | 
|                 title: res.rows[j].title, | 
|                 depositbank: res.rows[j].depositbank, | 
|                 bankcardno: res.rows[j].bankcardno, | 
|                 unitno: res.rows[j].unitno, | 
|                 unitname: res.rows[j].unitname, | 
|                 userid: | 
|                   res.rows[j].username + "(" + res.rows[j].idcardno + ")" | 
|               }); | 
|             } | 
|           } | 
|         } | 
|       }); | 
|     }, | 
|   | 
|     //获取经办人账号信息 | 
|     getUserAccount() { | 
|       this.accountlist.map(res => { | 
|         if (res.username == this.form.username) { | 
|           this.form.bankname = res.depositbank; | 
|           this.form.bankcardno = res.bankcardno; | 
|           this.form.phone = res.telephone; | 
|         } | 
|       }); | 
|     }, | 
|   | 
|     //获取医疗机构列表 | 
|     getUnitList() { | 
|       listOrganization(3).then(response => { | 
|         for (let i = 0; i < response.rows.length; i++) { | 
|           this.unitList.push({ | 
|             organizationid: response.rows[i].id, | 
|             organizationname: response.rows[i].organizationname | 
|           }); | 
|         } | 
|       }); | 
|     }, | 
|   | 
|     //获取捐献案例列表 | 
|     getBaseInfoList() { | 
|       this.loading = true; | 
|       listDonatebaseinfo(this.queryParams).then(response => { | 
|         this.donateList = response.rows; | 
|         this.total = response.total; | 
|         this.loading = false; | 
|       }); | 
|     }, | 
|   | 
|     //获取服务费用类型、服务项目、服务说明 | 
|     getFeeTypes() { | 
|       //获取服务费用类型、服务项目 | 
|       getFundTypeAll(this.businessType).then(res => { | 
|         let dataList = res.data; | 
|         //获取服务费用服务项目 | 
|         this.feeItemTypes = dataList; | 
|   | 
|         //获取服务费用类型 | 
|         this.rowfeeItemTypes = []; | 
|         for (let m = 0; m < dataList.length; m++) { | 
|           this.rowfeeItemTypes.push({ | 
|             value: dataList[m].itemType, | 
|             label: dataList[m].itemTypeName, | 
|             subjecttype: dataList[m].subjecttype, | 
|             subjecttypename: dataList[m].subjecttypename | 
|           }); | 
|         } | 
|       }); | 
|   | 
|       //获取服务费用说明列表 | 
|       if (this.businessType == "1" || this.businessType == "2") { | 
|         this.loading = true; | 
|         listItemexpense(this.expenseQueryParams).then(response => { | 
|           response.rows.forEach(item => { | 
|             this.feeBlocks.push({ | 
|               servicesscope: JSON.stringify(item.id), | 
|               itemid: item.itemid, | 
|               expense: item.expense, | 
|               expensedescribe: item.expensedescribe, | 
|               remark: item.expensedescribe | 
|             }); | 
|           }); | 
|           this.loading = false; | 
|         }); | 
|       } | 
|     }, | 
|   | 
|     //获取服务项目 | 
|     getRowFeeItems(rowindex, row) { | 
|       let list = this.feeItemTypes.filter(r => r.itemType == row.applytype); | 
|       row.itemlist = list[0].itemDetails; | 
|       this.$set(this.rbDetails, rowindex, row); | 
|     }, | 
|   | 
|     //加载服务项目 | 
|     verifyFeeItemType(row) { | 
|       let list = this.feeItemTypes.filter(r => r.itemType == row.applytype); | 
|       row.itemlist = list[0].itemDetails; | 
|       row.itemid = null; | 
|       this.$forceUpdate(); | 
|     }, | 
|   | 
|     //获取费用项目的备注信息 | 
|     verifyFeeRemark(row) { | 
|       row.rowfeeblocks.forEach((item, i) => { | 
|         if (item.servicesscope === row.servicesscope) { | 
|           row.servicesscopename = item.expensedescribe; | 
|           if (row.servicesscopename.includes("税后")) { | 
|             row.amount = 0.0; | 
|             row.taxamount = 0.0; | 
|             row.taxedamount = item.expense; | 
|           } else { | 
|             row.amount = item.expense; | 
|             row.taxamount = 0.0; | 
|             row.taxedamount = 0.0; | 
|           } | 
|         } | 
|       }); | 
|     }, | 
|   | 
|     //校验收费项目 | 
|     verifyFeeItem(row) { | 
|       row.itemlist.map(res => { | 
|         if (row.itemid === res.id) { | 
|           row.remark = res.itemDescribe; | 
|           row.itemcode = res.itemCode; | 
|         } | 
|       }); | 
|   | 
|       //判断收费项目是否重复 | 
|       if (this.businessType == "1") { | 
|         var repeatNum = 0; | 
|         this.rbDetails.map(res => { | 
|           if (res.applytype === row.applytype && res.itemid == row.itemid) { | 
|             repeatNum++; | 
|           } | 
|         }); | 
|         if (repeatNum > 1) { | 
|           this.$modal.msgWarning("您已经提交过该服务项目了"); | 
|         } | 
|       } | 
|   | 
|       //获取费用项目的详细信息 | 
|       if (this.businessType == "1") { | 
|         row.servicesscope = null; | 
|         row.servicesscopename = ""; | 
|         row.amount = 0.0; | 
|         row.taxamount = 0.0; | 
|         row.taxedamount = 0.0; | 
|   | 
|         row.rowfeeblocks = this.feeBlocks.filter(r => r.itemid == row.itemid); | 
|         if (row.rowfeeblocks.length == 1) { | 
|           row.servicesscope = row.rowfeeblocks[0].servicesscope; | 
|           row.servicesscopename = row.rowfeeblocks[0].expensedescribe; | 
|           if (row.servicesscopename.includes("税后")) { | 
|             row.amount = 0.0; | 
|             row.taxamount = 0.0; | 
|             row.taxedamount = row.rowfeeblocks[0].expense; | 
|           } else { | 
|             row.amount = row.rowfeeblocks[0].expense; | 
|             row.taxamount = 0.0; | 
|             row.taxedamount = 0.0; | 
|           } | 
|         } | 
|       } | 
|     }, | 
|   | 
|     //筛查出对应的费用项目 | 
|     searchItemType(val, scope) { | 
|       let result = []; | 
|       if (val != "") { | 
|         let tempitemlist = scope.row.itemlist; | 
|         for (let i = 0; i < tempitemlist.length; i++) { | 
|           let pym = tempitemlist[i].itempinyin; | 
|           if (pym != null && pym != undefined && pym != "") { | 
|             if (pym.indexOf(val) != -1) { | 
|               result.push(tempitemlist[i]); | 
|             } | 
|           } | 
|         } | 
|         scope.row.itemlist = result; | 
|       } else { | 
|         getItemNames(scope.row.applytype).then(res => { | 
|           scope.row.itemlist = res.data; | 
|           //this.$set(this.rbDetails, rowindex, row); | 
|         }); | 
|       } | 
|     }, | 
|   | 
|     //合计费用 | 
|     selectamount(row) { | 
|       this.feeBlockList.forEach((item, i) => { | 
|         if (item.expense === row.amount) { | 
|           row.remark = item.expensedescribe; | 
|         } | 
|       }); | 
|     }, | 
|   | 
|     //计算个税: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; | 
|     }, | 
|   | 
|     //导入所有项目 | 
|     importFeeItems() { | 
|       this.loading = true; | 
|       this.rbDetails = this.rbDetails.filter( | 
|         r => r.applytype != "" && r.applytype != null | 
|       ); | 
|       let listAdd = []; | 
|       //let listAdd = this.rbDetails; | 
|       for (let i = 0; i < this.feeItemTypes.length; i++) { | 
|         for (let j = 0; j < this.feeItemTypes[i].itemDetails.length; j++) { | 
|           let list = this.rbDetails.filter( | 
|             r => | 
|               r.applytype == this.feeItemTypes[i].itemType && | 
|               r.itemid == this.feeItemTypes[i].itemDetails[j].id | 
|           ); | 
|   | 
|           if (list.length == 0) { | 
|             let rowData = { | 
|               id: null, | 
|               orderno: listAdd.length + 1, | 
|               applytype: this.feeItemTypes[i].itemType, | 
|               itemid: this.feeItemTypes[i].itemDetails[j].id, | 
|               itemcode: this.feeItemTypes[i].itemDetails[j].itemCode, | 
|               recordstatus: "-1", | 
|               beneficiaryname: null, | 
|               unitname: null, | 
|               itemlist: this.feeItemTypes[i].itemDetails, | 
|               rowfeeblocks: null, | 
|               servicesscope: null, | 
|               servicesscopename: "" | 
|             }; | 
|   | 
|             //获取服务说明信息 | 
|             rowData.servicesscope = null; | 
|             rowData.servicesscopename = ""; | 
|             rowData.amount = 0.0; | 
|             rowData.taxamount = 0.0; | 
|             rowData.taxedamount = 0.0; | 
|   | 
|             rowData.rowfeeblocks = this.feeBlocks.filter( | 
|               r => r.itemid == rowData.itemid | 
|             ); | 
|             if (rowData.rowfeeblocks.length == 1) { | 
|               rowData.servicesscope = rowData.rowfeeblocks[0].servicesscope; | 
|               rowData.servicesscopename = | 
|                 rowData.rowfeeblocks[0].expensedescribe; | 
|               if (rowData.servicesscopename.includes("税后")) { | 
|                 rowData.amount = 0.0; | 
|                 rowData.taxamount = 0.0; | 
|                 rowData.taxedamount = rowData.rowfeeblocks[0].expense; | 
|               } else { | 
|                 rowData.amount = rowData.rowfeeblocks[0].expense; | 
|                 rowData.taxamount = 0.0; | 
|                 rowData.taxedamount = 0.0; | 
|               } | 
|             } | 
|   | 
|             listAdd.push(rowData); | 
|           } | 
|         } | 
|       } | 
|       this.rbDetails = listAdd; | 
|       this.loading = false; | 
|     }, | 
|   | 
|     unsave() { | 
|       this.Savereminder = false; | 
|       this.Reminderquantity = 0; | 
|     }, | 
|     // 接受提醒立刻保存 | 
|     Savenow() { | 
|       if (!this.randomnumber) { | 
|         this.randomnumber = this.generateRandomString(9); | 
|         this.form.randomnumber = this.randomnumber; | 
|       } | 
|       this.Savereminder = false; | 
|       this.Reminderquantity = 0; | 
|       this.totalquantity = 0; | 
|       this.$refs["form"].validate(valid => { | 
|         if (valid) { | 
|           this.formData = this.form; | 
|   | 
|           //保存前校验数据 | 
|           for (let k = 0; k < this.rbDetails.length; k++) { | 
|             let tempDetail = this.rbDetails[k]; | 
|             if (tempDetail.itemid == null) { | 
|               this.$modal.msgWarning( | 
|                 "服务项目表中,第" + | 
|                   (k + 1).toString() + | 
|                   "行的服务项目未选择,请先选择服务项目后再提交保存!" | 
|               ); | 
|               return; | 
|             } | 
|   | 
|             if (this.businessType == "1") { | 
|               if (tempDetail.servicesscope == null) { | 
|                 this.$modal.msgWarning( | 
|                   "服务项目表中,第" + | 
|                     (k + 1).toString() + | 
|                     "行的费用说明未选择,请选择费用说明后再提交保存!" | 
|                 ); | 
|                 return; | 
|               } | 
|   | 
|               if (tempDetail.beneficiaryno == null) { | 
|                 this.$modal.msgWarning( | 
|                   "服务项目表中,第" + | 
|                     (k + 1).toString() + | 
|                     "行的人员姓名为空,请选择人员后再提交保存!" | 
|                 ); | 
|                 return; | 
|               } | 
|               if (tempDetail.unitname == null) { | 
|                 this.$modal.msgWarning( | 
|                   "服务项目表中,第" + | 
|                     (k + 1).toString() + | 
|                     "行的专家单位为空,请选择单位后再提交保存!" | 
|                 ); | 
|                 return; | 
|               } | 
|             } | 
|           } | 
|   | 
|           //处理明细 | 
|           for (let i = 0; i < this.rbDetails.length; i++) { | 
|             let tempDetail = this.rbDetails[i]; | 
|             //获取服务项目明细 | 
|             let tempitemlist = tempDetail.itemlist; | 
|             let itemIndex = tempitemlist.findIndex( | 
|               item => tempDetail.itemid == item.id | 
|             ); | 
|             if (itemIndex > -1) { | 
|               tempDetail.itemname = tempitemlist[itemIndex].itemName; | 
|               tempDetail.itemid = tempitemlist[itemIndex].id; | 
|             } | 
|   | 
|             //获取applytypename、服务费用大类 | 
|             let applytypeIndex = this.rowfeeItemTypes.findIndex( | 
|               item => tempDetail.applytype == item.value | 
|             ); | 
|             if (applytypeIndex > -1) { | 
|               tempDetail.applytypename = this.rowfeeItemTypes[ | 
|                 applytypeIndex | 
|               ].label; | 
|               tempDetail.subjecttype = this.rowfeeItemTypes[ | 
|                 applytypeIndex | 
|               ].subjecttype; | 
|               tempDetail.subjecttypename = this.rowfeeItemTypes[ | 
|                 applytypeIndex | 
|               ].subjecttypename; | 
|             } | 
|             this.rbDetails[i] = tempDetail; | 
|           } | 
|           //计算当前行报销内容费用合计,税前金额(amount)、扣税金额(taxamount)、税后金额(taxedamount) | 
|           if (this.businessType == "2") { | 
|             for (let j = 0; j < this.rbDetails.length; j++) { | 
|               let tempDetail = this.rbDetails[j]; | 
|               if ( | 
|                 isNaN(parseFloat(tempDetail.amount)) || | 
|                 parseFloat(tempDetail.amount) == 0 | 
|               ) { | 
|                 this.$modal.msgWarning( | 
|                   "服务项目表中,第" + | 
|                     (j + 1).toString() + | 
|                     "行的金额未输入,请先输入金额后再提交保存!" | 
|                 ); | 
|                 return; | 
|               } | 
|             } | 
|           } else if (this.businessType == "3" || this.businessType == "4") { | 
|             for (let j = 0; j < this.rbDetails.length; j++) { | 
|               let tempDetail = this.rbDetails[j]; | 
|               if ( | 
|                 isNaN(parseFloat(tempDetail.amount)) || | 
|                 parseFloat(tempDetail.amount) == 0 | 
|               ) { | 
|                 this.$modal.msgWarning( | 
|                   "服务项目表中,第" + | 
|                     (j + 1).toString() + | 
|                     "行的金额未输入,请先输入金额后再提交保存!" | 
|                 ); | 
|                 return; | 
|               } | 
|               if ( | 
|                 isNaN(parseFloat(tempDetail.taxamount)) || | 
|                 parseFloat(tempDetail.taxamount) == 0 | 
|               ) { | 
|                 tempDetail.taxedamount = parseFloat(tempDetail.amount); | 
|               } else { | 
|                 tempDetail.taxedamount = | 
|                   parseFloat(tempDetail.amount) + | 
|                   parseFloat(tempDetail.taxamount); | 
|               } | 
|             } | 
|           } | 
|   | 
|           //保存数据 | 
|           this.loading = true; | 
|           this.form.serviceFunddetails = 0; | 
|           this.rbDetails.map(item => { | 
|             this.form.serviceFunddetails += item.amount; | 
|           }); | 
|           this.form.serviceFunddetails = this.rbDetails; | 
|   | 
|           if (this.form.id != null) { | 
|           } else { | 
|             this.form.recordstatus = -1; | 
|           } | 
|   | 
|           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 | 
|                 }; | 
|                 this.$modal.loading("正在提交审核,请稍候!"); | 
|                 checkfund(checkFundObj).then(res => { | 
|                   //关闭窗口 | 
|                   this.$modal.closeLoading(); | 
|                   this.$modal.msgSuccess("审核完成!"); | 
|                   this.$store.dispatch("tagsView/delView", this.$route); | 
|                   this.$router.go(-1); | 
|                 }); | 
|               } | 
|               this.Getnetworkheader(); | 
|               this.getroute(); | 
|               this.getAccountList(); | 
|               this.getUserList(); | 
|               this.getUserProfile(); | 
|             } else { | 
|               this.$modal.msgError("申请单保存失败:" + response.msg); | 
|             } | 
|           }); | 
|   | 
|           //关闭窗口 | 
|           this.loading = false; | 
|           // this.getfundList(); | 
|         } | 
|       }); | 
|     }, | 
|     handleCheckAllChange(val) { | 
|       this.checkedCities = val ? this.cityOptions : []; | 
|       this.isIndeterminate = false; | 
|     }, | 
|     handleCheckedCitiesChange(value) { | 
|       let checkedCount = value.length; | 
|       this.checkAll = checkedCount === this.cityOptions.length; | 
|       this.isIndeterminate = | 
|         checkedCount > 0 && checkedCount < this.cityOptions.length; | 
|     }, | 
|     // 手动计算 | 
|     Manualcalculationfn() { | 
|       ManualCalculation(this.rbDetails).then(res => { | 
|         if (res.code == 200) { | 
|           sessionStorage.removeItem("apiform"); | 
|           sessionStorage.removeItem("apifunddetail"); | 
|           sessionStorage.setItem( | 
|             "apifunddetail", | 
|             JSON.stringify(this.rbDetails) | 
|           ); | 
|           sessionStorage.setItem("apiform", JSON.stringify(this.form)); | 
|           // 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: "计算错误" | 
|           }); | 
|         } | 
|       }); | 
|     }, | 
|     // 批量录入点击 | 
|     Batchentry() { | 
|       // ethical | 
|       listReportname("ethical").then(res => { | 
|         this.cityOptions = res.data; | 
|       }); | 
|       this.batchdialogVisible = true; | 
|     }, | 
|     // 确认录入 | 
|     BatchentryFn() { | 
|       this.checkedCities.forEach(item => { | 
|         let rowData = { | 
|           orderno: null, | 
|           fundid: null, | 
|           beneficiaryname: item.reportName, | 
|           beneficiaryno: item.reportNo, | 
|           unitname: item.unitname, | 
|           unitno: null, | 
|           uintuserno: null, | 
|           title: item.title, | 
|           idcardtype: null, | 
|           idcardno: item.idcrad, | 
|           sex: null, | 
|           familyrelations: null, | 
|           phone: null, | 
|           depositbank: item.depositbank, | 
|           bankcardno: item.bankcardno, | 
|           branchbankname: item.branchbankname, | 
|           annexbankcard: null, | 
|           annexregistform: null, | 
|           applytype: "7", | 
|           applytypename: "伦理审核专家费", | 
|           itemid: "27", | 
|           itemcode: "27", | 
|           itemname: "器官捐献伦理审核专家费", | 
|           itemtype: null, | 
|           amount: 200, | 
|           prepaidamount: null, | 
|           taxamount: null, | 
|           invoicecount: null, | 
|           taxedamount: null, | 
|           attachcount: null, | 
|           remark: null, | 
|           recordstatus: "-1", | 
|           delFlag: null, | 
|           createBy: null, | 
|           createTime: null, | 
|           updateBy: null, | 
|           updateTime: null, | 
|           uploadflag: null, | 
|           itemdescribe: null, | 
|           uploadtime: null, | 
|           itemlist: [{ id: "27", itemName: "器官捐献伦理审核专家费" }], | 
|           servicesscope: null, | 
|           rowfeeblocks: [], | 
|           annexfiles: null | 
|         }; | 
|   | 
|         this.rbDetails.push(rowData); | 
|       }); | 
|       for (let i = 0; i < this.checkedCities.length + 1; i++) { | 
|         this.rbDetails[i].orderno = i + 1; | 
|       } | 
|       this.calculateTax(); | 
|       this.batchdialogVisible = false; | 
|     }, | 
|     //新增一行 | 
|     addRow(rowIndex) { | 
|       let rowData = { | 
|         orderno: null, | 
|         id: null, | 
|         fundid: null, | 
|         beneficiaryname: null, | 
|         beneficiaryno: null, | 
|         unitname: null, | 
|         itemdescribe: null, | 
|         unitno: null, | 
|         uintuserno: null, | 
|         title: null, | 
|         idcardtype: null, | 
|         idcardno: null, | 
|         sex: null, | 
|         familyrelations: null, | 
|         phone: null, | 
|         depositbank: null, | 
|         bankcardno: null, | 
|         branchbankname: null, | 
|         annexbankcard: null, | 
|         annexregistform: null, | 
|         applytype: null, | 
|         itemid: null, | 
|         itemname: null, | 
|         itemcode: null, | 
|         itemtype: null, | 
|         amount: null, | 
|         prepaidamount: null, | 
|         taxamount: null, | 
|         invoicecount: null, | 
|         taxedamount: null, | 
|         attachcount: null, | 
|         remark: null, | 
|         recordstatus: "-1", | 
|         delFlag: null, | 
|         createBy: null, | 
|         createTime: null, | 
|         updateBy: null, | 
|         updateTime: null, | 
|         uploadflag: null, | 
|         uploadtime: null, | 
|         itemlist: [], | 
|         servicesscope: null, | 
|         rowfeeblocks: [], | 
|         annexfiles: null | 
|       }; | 
|       if (rowIndex == undefined || rowIndex == null || rowIndex < 0) { | 
|         this.rbDetails.push(rowData); | 
|       } else { | 
|         this.rbDetails.splice(rowIndex + 1, 0, rowData); | 
|       } | 
|       this.Reminderquantity++; | 
|       this.totalquantity++; | 
|       for (let i = 0; i < this.rbDetails.length; i++) { | 
|         this.rbDetails[i].orderno = i + 1; | 
|       } | 
|     }, | 
|   | 
|     deleteRows(row, index, rows) { | 
|       this.$confirm("删除数据后将不能恢复,确认要删除吗?", "提示", { | 
|         confirmButtonText: "确定", | 
|         cancelButtonText: "取消", | 
|         type: "success" | 
|       }) | 
|         .then(() => { | 
|           if (this.rbDetails.length == 1) { | 
|             this.addRow(0); | 
|           } | 
|           if (row.id !== null) { | 
|             delFunddetail(row.id).then(res => { | 
|               if (res.code === 200) { | 
|                 this.$confirm("删除数据成功", "提示", { | 
|                   confirmButtonText: "确定", | 
|                   cancelButtonText: "取消", | 
|                   type: "success" | 
|                 }).then(() => { | 
|                   this.$set(rows, rows.splice(index, 1)); | 
|                   getownFundDetail(this.form.id).then(res => { | 
|                     this.$set(this.rbDetails, res.data); | 
|                     for (let i = 0; i < this.rbDetails.length; i++) { | 
|                       this.rbDetails[i].orderno = i + 1; | 
|                     } | 
|                     this.sumTotalFee(); | 
|                     // this.rbDetails = res.data | 
|                   }); | 
|                 }); | 
|               } | 
|               // getownFundDetail(this.form.id).then(res=>{ | 
|               // this.$set(this.rbDetails,res.data) | 
|               // this.rbDetails = res.data | 
|               // }) | 
|             }); | 
|           } else { | 
|             rows.splice(index, 1); | 
|             this.sumTotalFee(); | 
|           } | 
|         }) | 
|         .catch(() => { | 
|           //几点取消的提示 | 
|         }); | 
|       //全部删除后添加一条新行 | 
|     }, | 
|     //计算总金额 | 
|     sumTotalFee(row) { | 
|       let allSum = 0; | 
|       if (this.form.applytype != null) { | 
|         for (let i = 0; i < this.rbDetails.length; i++) { | 
|           let totalFee = 0; | 
|           let taxFee = 0; | 
|           if (this.form.applytype == 1 || this.form.applytype == 2) { | 
|             //计算当前报销内容费用合计 | 
|             if (!isNaN(parseFloat(this.rbDetails[i].amount))) { | 
|               totalFee += parseFloat(this.rbDetails[i].amount); | 
|               taxFee += parseFloat(this.rbDetails[i].amount); | 
|             } | 
|             if (!isNaN(parseFloat(this.rbDetails[i].taxamount))) { | 
|               totalFee -= parseFloat(this.rbDetails[i].taxamount); | 
|               taxFee -= parseFloat(this.rbDetails[i].taxamount); | 
|             } | 
|           } else if (this.form.applytype == 3 || this.form.applytype == 4) { | 
|             //单价*数量=税前金额 | 
|             if ( | 
|               !isNaN(parseFloat(this.rbDetails[i].price)) && | 
|               !isNaN(parseFloat(this.rbDetails[i].quantity)) | 
|             ) { | 
|               totalFee += | 
|                 parseFloat(this.rbDetails[i].price) * | 
|                 parseFloat(this.rbDetails[i].quantity); | 
|               this.rbDetails[i].amount = totalFee; | 
|             } | 
|           } | 
|   | 
|           //税前、税后需要独立录入 | 
|           // if (!isNaN(parseFloat(taxFee))) { | 
|           //   this.rbDetails[i].taxedamount = taxFee.toFixed(2); | 
|           // } | 
|   | 
|           allSum += totalFee; | 
|         } | 
|       } | 
|       // this.form.amountrequested = allSum.toFixed(2); | 
|       // this.$forceUpdate(); | 
|     }, | 
|   | 
|     mixExport(scope) { | 
|       this.print(scope.row.id); | 
|       //this.totalprint(id); | 
|     }, | 
|   | 
|     //专家费劳务打印 | 
|     print(id) { | 
|       getdownloadLW(id).then(res => { | 
|         if (res.downloadUrl) { | 
|           var fileUrl = res; | 
|           //获取当前网址 | 
|           var urlBase = process.env.VUE_APP_BASE_API; | 
|           var curWWWPath = window.document.location.href; | 
|           var pos = curWWWPath.indexOf(window.document.location.pathname); | 
|           // 创建a标签 | 
|           var aEle = document.createElement("a"); | 
|           aEle.href = | 
|             curWWWPath.substring(0, pos) + urlBase + fileUrl["downloadUrl"]; | 
|           aEle.click(); | 
|           this.$alert("下载成功", "提示", { | 
|             confirmButtonText: "确定", | 
|             type: "success" | 
|           }); | 
|         } | 
|       }); | 
|     }, | 
|   | 
|     //汇总打印 | 
|     totalprint(e) { | 
|       // const id =this.row.id | 
|       getdownloadBX(e).then(res => { | 
|         var fileUrl = res; | 
|         //获取当前网址 | 
|         var urlBase = process.env.VUE_APP_BASE_API; | 
|         var curWWWPath = window.document.location.href; | 
|         var pos = curWWWPath.indexOf(window.document.location.pathname); | 
|         // 创建a标签 | 
|         var aEle = document.createElement("a"); | 
|         aEle.href = | 
|           curWWWPath.substring(0, pos) + urlBase + fileUrl["downloadUrl"]; | 
|         console.log(aEle.href); | 
|         // 添加Authorization头部 | 
|         fetch(aEle.href, { | 
|           headers: this.headers | 
|         }) | 
|           .then(response => { | 
|             // 将文件下载链接作为blob对象进行下载 | 
|             return response.blob(); | 
|           }) | 
|           .then(blob => { | 
|             const url = window.URL.createObjectURL(new Blob([blob])); | 
|             console.log(url); | 
|             const link = document.createElement("a"); | 
|             link.href = url; | 
|             const name = fileUrl["downloadName"]; | 
|             link.setAttribute("download", name); // 替换file.pdf为实际的文件名 | 
|             document.body.appendChild(link); | 
|             link.click(); | 
|             link.parentNode.removeChild(link); | 
|           }); | 
|       }); | 
|     }, | 
|   | 
|     handleImageError(e) { | 
|       // 加载失败 | 
|     }, | 
|     handleImageLoad(e) { | 
|       // 图片加载成功时执行的操作 | 
|       console.log("Image loaded successfully"); | 
|     }, | 
|     handleUploadError() {}, | 
|     remove(file, fileList) { | 
|       const rbDetails = [...this.rbDetails]; | 
|       if (this.activeName == "common") { | 
|         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) { | 
|       this.rbDetails; | 
|       const config = { | 
|         headers: { Authorization: "Bearer " + this.ICDtoken } | 
|       }; | 
|       const pdfimg = this.Networkheader + "/prod-api" + response.fileName; | 
|       //获取票据信息位置 | 
|       if (this.activeName == "common") { | 
|         if (response.code == 200) { | 
|           this.previewpdf = true; | 
|   | 
|           fetch(pdfimg, config) | 
|             .then(response => response.blob()) | 
|             .then(blob => { | 
|               // 将获取的数据流转换为URL | 
|               this.pdfimg = URL.createObjectURL(blob); | 
|               this.pdfimgsrcList.push(URL.createObjectURL(blob)); | 
|               this.fileListto.push({ | 
|                 name: file.name, | 
|                 url: URL.createObjectURL(blob) | 
|               }); | 
|             }) | 
|             .catch(error => { | 
|               console.error("Error loading image", error); | 
|               return; | 
|             }); | 
|   | 
|           this.$modal.msgSuccess(response.msg); | 
|   | 
|           console.log(this.fileListto, "新增后"); | 
|           if (!this.rbDetails[this.atpresent].annexfilesList) { | 
|             this.rbDetails[this.atpresent].annexfilesList = []; | 
|           } | 
|           this.rbDetails[this.atpresent].annexfilesList.push({ | 
|             name: file.name, | 
|             url: response.fileName | 
|           }); | 
|           this.pdftitle = "共" + this.pdfimgsrcList.length + "项"; | 
|         } else { | 
|           console.log(response.msg); | 
|         } | 
|       } else { | 
|         if (response.code == 200) { | 
|           this.previewpdf = true; | 
|           fetch(pdfimg, config) | 
|             .then(response => response.blob()) | 
|             .then(blob => { | 
|               // 将获取的数据流转换为URL | 
|               this.invoicepdfimg = URL.createObjectURL(blob); | 
|               this.invoicepdfimgsrcList.push(URL.createObjectURL(blob)); | 
|               this.invoicefileListto.push({ | 
|                 name: file.name, | 
|                 url: URL.createObjectURL(blob) | 
|               }); | 
|             }) | 
|             .catch(error => { | 
|               console.error("Error loading image", error); | 
|               return; | 
|             }); | 
|   | 
|           this.$modal.msgSuccess(response.msg); | 
|   | 
|           console.log(this.invoicefileListto, "新增后"); | 
|           if (!this.rbDetails[this.atpresent].invoicefilesList) { | 
|             this.rbDetails[this.atpresent].invoicefilesList = []; | 
|           } | 
|           this.rbDetails[this.atpresent].invoicefilesList.push({ | 
|             name: file.name, | 
|             url: response.fileName | 
|           }); | 
|           this.pdftitle = "共" + this.invoicepdfimgsrcList.length + "项"; | 
|         } | 
|       } | 
|     }, | 
|   | 
|     // 点击票据 | 
|     Filepopup(index, rows, row) { | 
|       const config = { | 
|         headers: { Authorization: "Bearer " + this.ICDtoken } | 
|       }; | 
|   | 
|       this.tableDatatop = []; | 
|       this.fileListto = []; | 
|       this.invoicefileListto = []; | 
|       this.pdfimg = ""; | 
|       this.invoicepdfimg = []; | 
|       this.pdfimgsrcList = []; | 
|       this.invoicepdfimgsrcList = []; | 
|       this.tableDatatop.push(row); | 
|       this.atpresent = index; | 
|       this.pdfVisible = true; | 
|   | 
|       if (this.rbDetails[index].annexfilesList) { | 
|         // this.rbDetails[index].annexfilesList.forEach((value, indexson) => { | 
|         //   const pdfimg = this.Networkheader + "/prod-api" + value.url; | 
|         //   fetch(pdfimg, config) | 
|         //     .then(response => response.blob()) | 
|         //     .then(blob => { | 
|         //       // 将获取的数据流转换为URL | 
|         //       this.fileListto.push({ | 
|         //         name: value.name, | 
|         //         url: URL.createObjectURL(blob) | 
|         //       }); | 
|         //       if (this.fileListto.length == 1) { | 
|         //         this.pdfimg = URL.createObjectURL(blob); | 
|         //       } | 
|         //       this.pdfimgsrcList.push(URL.createObjectURL(blob)); | 
|         //     }) | 
|         //     .catch(error => { | 
|         //       console.error("Error loading image", error); | 
|         //       return; | 
|         //     }); | 
|         // }); | 
|   | 
|         const fetchPromises = this.rbDetails[index].annexfilesList.map( | 
|           (value, indexson) => { | 
|             const pdfimg = this.Networkheader + "/prod-api" + value.url; | 
|             return fetch(pdfimg, config) | 
|               .then(response => response.blob()) | 
|               .then(blob => { | 
|                 return { | 
|                   name: value.name, | 
|                   url: URL.createObjectURL(blob) | 
|                 }; | 
|               }) | 
|               .catch(error => { | 
|                 console.error("Error loading image", error); | 
|                 return null; | 
|               }); | 
|           } | 
|         ); | 
|   | 
|         Promise.all(fetchPromises).then(fileListto => { | 
|           this.fileListto = fileListto.filter(item => item !== null); | 
|           this.pdfimg = this.fileListto[0].url; | 
|           console.log(this.pdfimg, "pdfimg"); | 
|           this.pdfimgsrcList = this.fileListto.map(item => item.url); | 
|         }); | 
|   | 
|         this.previewpdf = true; | 
|       } else { | 
|         this.fileListto = []; | 
|         this.pdfimg = ""; | 
|         this.pdftitle = ""; | 
|       } | 
|       //发票 | 
|       if (this.rbDetails[index].invoicefilesList) { | 
|         const fetchPromises = this.rbDetails[index].invoicefilesList.map( | 
|           (value, indexson) => { | 
|             const pdfimg = this.Networkheader + "/prod-api" + value.url; | 
|             return fetch(pdfimg, config) | 
|               .then(response => response.blob()) | 
|               .then(blob => { | 
|                 return { | 
|                   name: value.name, | 
|                   url: URL.createObjectURL(blob) | 
|                 }; | 
|               }) | 
|               .catch(error => { | 
|                 console.error("Error loading image", error); | 
|                 return null; | 
|               }); | 
|           } | 
|         ); | 
|   | 
|         Promise.all(fetchPromises).then(invoicefileListto => { | 
|           this.invoicefileListto = invoicefileListto.filter( | 
|             item => item !== null | 
|           ); | 
|           this.invoicepdfimg = this.invoicefileListto[0].url; | 
|           console.log(this.invoicepdfimg, "invoicepdfimg"); | 
|           this.invoicepdfimgsrcList = this.invoicefileListto.map( | 
|             item => item.url | 
|           ); | 
|         }); | 
|   | 
|         this.previewpdf = true; | 
|       } else { | 
|         this.invoicefileListto = []; | 
|         this.invoicepdfimg = ""; | 
|         this.pdftitle = ""; | 
|       } | 
|   | 
|       if (this.activeName == "common") { | 
|         this.pdftitle = "共" + this.pdfimgsrcList.length + "项"; | 
|       } else { | 
|         this.pdftitle = "共" + this.invoicepdfimgsrcList.length + "项"; | 
|       } | 
|       console.log(this.fileListto, "this.fileListto"); | 
|       console.log(this.rbDetails[index].annexfilesList, "annexfilesList"); | 
|     }, | 
|   | 
|     // 点击已上传文件 | 
|     downFile(item) { | 
|       if (this.activeName == "common") { | 
|         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") { | 
|           console.log(item, "展示"); | 
|           this.previewpdf = true; | 
|           if (item.url) { | 
|             this.pdfimg = item.url; | 
|           } else { | 
|             this.pdfimg = ""; | 
|           } | 
|         } else { | 
|           this.hintitle = "当前文件暂不支持预览"; | 
|           this.$modal.msgWarning("当前文件暂不支持预览"); | 
|           this.previewpdf = false; | 
|         } | 
|       } else { | 
|         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 = item.url; | 
|           } else { | 
|             this.invoicepdfimg = ""; | 
|           } | 
|         } else { | 
|           this.hintitle = "当前文件暂不支持预览"; | 
|           this.$modal.msgWarning("当前文件暂不支持预览"); | 
|           this.previewpdf = false; | 
|         } | 
|       } | 
|     }, | 
|     getIndexInArray(arr, obj) { | 
|       return arr.indexOf(obj); | 
|     }, | 
|     // 发票切换 | 
|     handleClick(tab, event) { | 
|       if (this.activeName == "common") { | 
|         this.pdftitle = "共" + this.pdfimgsrcList.length + "项"; | 
|       } else { | 
|         this.pdftitle = "共" + this.invoicepdfimgsrcList.length + "项"; | 
|       } | 
|     }, | 
|     // 点击删除 | 
|     deletedowfile(row) { | 
|       console.log(row); | 
|       let indexvalue = ""; | 
|       if (this.activeName == "common") { | 
|         const indexlist = this.getIndexInArray(this.pdfimgsrcList, row.url); | 
|         this.pdfimgsrcList.splice(indexlist, 1); | 
|         const index = this.getIndexInArray(this.fileListto, row); | 
|         this.fileListto.splice(index, 1); | 
|         console.log(this.rbDetails[this.atpresent].annexfilesList); | 
|         indexvalue = this.rbDetails[this.atpresent].annexfilesList.findIndex( | 
|           item => item.name == row.name | 
|         ); | 
|         console.log(indexvalue, "删除索引"); | 
|         this.rbDetails[this.atpresent].annexfilesList.splice(indexvalue, 1); | 
|       } else { | 
|         const indexlist = this.getIndexInArray( | 
|           this.invoicepdfimgsrcList, | 
|           row.url | 
|         ); | 
|         this.invoicepdfimgsrcList.splice(indexlist, 1); | 
|         const index = this.getIndexInArray(this.invoicefileListto, row); | 
|         this.invoicefileListto.splice(index, 1); | 
|         console.log(this.rbDetails[this.atpresent].invoicefilesList); | 
|         indexvalue = this.rbDetails[this.atpresent].invoicefilesList.findIndex( | 
|           item => item.name == row.name | 
|         ); | 
|         console.log(indexvalue, "删除索引"); | 
|         this.rbDetails[this.atpresent].invoicefilesList.splice(indexvalue, 1); | 
|       } | 
|     }, | 
|     // 点击上移 | 
|     moveupdowfile(row) { | 
|       if (this.activeName == "common") { | 
|         const index = this.fileListto.findIndex(item => item.name == row.name); | 
|         const item = this.fileListto.splice(index, 1)[0]; // 移除指定索引处的元素,并保存到item变量中 | 
|         this.fileListto.splice(index - 1, 0, item); // 将item插入到索引位置的前一位 | 
|   | 
|         const indexann = this.rbDetails[ | 
|           this.atpresent | 
|         ].annexfilesList.findIndex(item => item.name == row.name); | 
|         const itemann = this.rbDetails[this.atpresent].annexfilesList.splice( | 
|           indexann, | 
|           1 | 
|         )[0]; // 移除指定索引处的元素,并保存到item变量中 | 
|         this.rbDetails[this.atpresent].annexfilesList.splice( | 
|           indexann - 1, | 
|           0, | 
|           itemann | 
|         ); // 将itemann插入到索引位置的前一位 | 
|         console.log(indexann, "indexann"); | 
|         console.log(index, "index"); | 
|       } else { | 
|         const index = this.invoicefileListto.findIndex( | 
|           item => item.name == row.name | 
|         ); | 
|   | 
|         const item = this.invoicefileListto.splice(index, 1)[0]; // 移除指定索引处的元素,并保存到item变量中 | 
|         this.invoicefileListto.splice(index - 1, 0, item); // 将item插入到索引位置的前一位 | 
|   | 
|         const indexinvo = this.rbDetails[ | 
|           this.atpresent | 
|         ].invoicefilesList.findIndex(item => item.name == row.name); | 
|         const iteminvo = this.rbDetails[this.atpresent].invoicefilesList.splice( | 
|           indexinvo, | 
|           1 | 
|         )[0]; // 移除指定索引处的元素,并保存到item变量中 | 
|         this.rbDetails[this.atpresent].invoicefilesList.splice( | 
|           indexinvo - 1, | 
|           0, | 
|           iteminvo | 
|         ); // 将iteminvo插入到索引位置的前一位 | 
|       } | 
|       console.log( | 
|         this.rbDetails[this.atpresent].annexfilesList, | 
|         "annexfilesList" | 
|       ); | 
|       console.log(this.fileListto, "fileListto"); | 
|       // console.log(this.rbDetails[this.atpresent].invoicefilesList,'invoicefilesList'); | 
|     }, | 
|     Downloadfile(row) { | 
|       window.location.href = row.url; | 
|     }, | 
|   | 
|     //专家/医疗机构/费用报销机构选择 | 
|     showSelectionDialog(scope, selectiontype) { | 
|       this.selectionScope = scope; | 
|       this.selectionType = selectiontype; | 
|       this.accountselectform.index = scope.$index; | 
|   | 
|       if (this.selectionType == "account") { | 
|         //默认从账户库选择:1,账户库;2,新建账户 | 
|         this.accountfrom = "1"; | 
|         if (scope.row.idcardno) { | 
|           this.accountselectform.accountname = | 
|             scope.row.beneficiaryname + "(" + scope.row.idcardno + ")"; | 
|         } else { | 
|           this.accountselectform.accountname = | 
|             scope.row.beneficiaryname + "(" + scope.row.bankcardno + ")"; | 
|         } | 
|         this.accountselectform.accountno = scope.row.beneficiaryno; | 
|         this.accountselectform.expertunitname = ""; | 
|         this.accountselectform.expertunitno = ""; | 
|   | 
|         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; | 
|     }, | 
|   | 
|     //专家/医疗机构/费用报销机构选择 | 
|     confirmSelectionDialog() { | 
|       this.$refs["accountselectform"].validate(valid => { | 
|         let tempIndex = this.accountselectform.index; | 
|         if (this.selectionType == "account") { | 
|           if (this.accountfrom == "1") { | 
|             //赋值信息 | 
|             if ( | 
|               this.rbDetails[tempIndex].userno != this.accountselectform.userno | 
|             ) { | 
|               this.accountlist.map(res => { | 
|                 if (res.id == this.accountselectform.accountname) { | 
|                   console.log(res, "res"); | 
|                   const hasIdOne = this.rbDetails.some( | 
|                     obj => obj.beneficiaryname == res.username | 
|                   ); | 
|                   if (hasIdOne) { | 
|                     this.$modal.msgWarning( | 
|                       "服务项目表中,人员名称:" + | 
|                         res.username + | 
|                         "重复,请注意核对信息!" | 
|                     ); | 
|                   } | 
|                   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.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; | 
|                   } | 
|                 }); | 
|               } else { | 
|                 this.accountform.userstatus = 1; | 
|               } | 
|   | 
|               addExternalperson(this.accountform).then(response => { | 
|                 if (response.code == 200) { | 
|                   // //重新获取账户列表 | 
|                   // listExternalperson().then(res => { | 
|                   //   this.accountlist = res.rows; | 
|                   // }); | 
|   | 
|                   console.log("addExternalperson", response.data.id); | 
|                   if (this.accountselectform.usertype == "org") { | 
|                     this.accountlist.push({ | 
|                       id: response.data.id, | 
|                       userno: this.accountform.userno, | 
|                       username: this.accountform.username, | 
|                       idcardno: this.accountform.idcardno, | 
|                       title: this.accountform.title, | 
|                       depositbank: this.accountform.depositbank, | 
|                       bankcardno: this.accountform.bankcardno, | 
|                       unitno: this.accountform.unitno, | 
|                       unitname: this.accountform.unitname, | 
|                       userid: | 
|                         this.accountform.username + | 
|                         "(" + | 
|                         this.accountform.bankcardno + | 
|                         ")" | 
|                     }); | 
|                     this.$modal.msgSuccess("您已添加成功新账户信息!"); | 
|                   } else { | 
|                     this.accountlist.push({ | 
|                       id: response.data.id, | 
|                       userno: this.accountform.userno, | 
|                       username: this.accountform.username, | 
|                       idcardno: this.accountform.idcardno, | 
|                       title: this.accountform.title, | 
|                       depositbank: this.accountform.depositbank, | 
|                       bankcardno: this.accountform.bankcardno, | 
|                       unitno: this.accountform.unitno, | 
|                       unitname: this.accountform.unitname, | 
|                       userid: | 
|                         this.accountform.username + | 
|                         "(" + | 
|                         this.accountform.idcardno + | 
|                         ")" | 
|                     }); | 
|                     this.$modal.msgSuccess( | 
|                       "您已添加成功新账户信息,需要在账号状态启用后才能被使用!" | 
|                     ); | 
|                     return; | 
|                   } | 
|                   this.accountselectform.accountno = this.accountform.userno; | 
|                   this.accountselectform.accountname = this.accountselectform.username; | 
|   | 
|                   //赋值信息 | 
|                   this.accountlist.map(res => { | 
|                     if (res.userno == this.accountselectform.accountno) { | 
|                       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.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 (regex.test(row.idcardno)) { | 
|         row.error = ""; | 
|       } else { | 
|         row.error = "身份证号码格式错误"; | 
|       } | 
|     }, | 
|   | 
|     //账户类型选择变化 | 
|     userTypeChange(type) { | 
|       if (type == "org") { | 
|         this.accountselectform.idcardno = ""; | 
|         this.accountselectform.unitno = ""; | 
|         this.accountselectform.unitname = ""; | 
|         this.accountselectform.personnelunitno = ""; | 
|       } | 
|       // this.$modal.msgWarning(type); | 
|     } | 
|   }, | 
|   | 
|   //生命周期 - 创建完成(可以访问当前this实例) | 
|   created() { | 
|     //获取路由参数 | 
|     this.Getnetworkheader(); | 
|     this.getroute(); | 
|     this.getAccountList(); | 
|     this.getUserProfile(); | 
|   }, | 
|   | 
|   //生命周期 - 挂载完成(可以访问DOM元素) | 
|   mounted() { | 
|     window.addEventListener("beforeunload", e => this.beforeunloadHandler(e)); | 
|     this.getUserList(); | 
|     let apiaccountselectform = this.accountselectform; | 
|     let apiform = this.form; | 
|   }, | 
|   beforeRouteLeave(to, from, next) { | 
|     // 执行销毁操作 | 
|     this.$destroy(); | 
|     next(); | 
|   }, | 
|   beforeCreate() {}, //生命周期 - 创建之前 | 
|   beforeMount() {}, //生命周期 - 挂载之前 | 
|   beforeUpdate() {}, //生命周期 - 更新之前 | 
|   updated() {}, //生命周期 - 更新之后 | 
|   beforeDestroy() {}, //生命周期 - 销毁之前 | 
|   destroyed() { | 
|     window.removeEventListener("beforeunload", e => this.beforeunloadFn(e)); | 
|   }, //生命周期 - 销毁完成 | 
|   activated() {} //如果页面有keep-alive缓存功能,这个函数会触发 | 
| }; | 
| </script> | 
|   | 
| <style lang="scss" scoped> | 
| .Modifydetailscla { | 
|   padding: 10px; | 
|   | 
|   .boxdiv { | 
|     font-size: 18px; | 
|     padding: 0 30px; | 
|     padding-bottom: 60px; | 
|   | 
|     .top-text { | 
|       text-align: center; | 
|       font-size: 23px; | 
|       font-weight: 600; | 
|       margin: 20px 0; | 
|       margin-bottom: 50px; | 
|     } | 
|   | 
|     .dialog-footer { | 
|       text-align: left; | 
|       margin-top: 10px; | 
|     } | 
|   } | 
| } | 
|   | 
| .upload-demo { | 
|   text-align: center; | 
| } | 
|   | 
| .pdfimg { | 
|   display: flex; // text-align: center; | 
|   width: 100%; | 
|   height: 600px; | 
|   | 
|   .box-pdf { | 
|     width: 400px; | 
|     padding-top: 20px; | 
|     margin-right: 30px; | 
|     border: 1px solid #dcdfe6; | 
|     -webkit-box-shadow: 0 2px 4px 0 rgba(0, 0, 0, 0.12), | 
|       0 0 6px 0 rgba(0, 0, 0, 0.04); | 
|     box-shadow: inset 0 0 6px rgba(0, 0, 0, 0.1); // <- Add this to fix. | 
|   } | 
|   | 
|   .pdftit { | 
|     width: 200px; | 
|     padding: 20px; | 
|     font-size: 18px; | 
|   } | 
|   | 
|   .pdftit:hover { | 
|     background: #c0cef7; | 
|   } | 
|   | 
|   .pdfimgmin { | 
|     width: 60%; | 
|   | 
|     img { | 
|       width: 100%; | 
|     } | 
|   } | 
|   | 
|   .pdfimgmins { | 
|     font-size: 28px; | 
|     width: 60%; | 
|     text-align: center; | 
|   } | 
| } | 
|   | 
| ::v-deep .el-input--medium .el-input__inner { | 
|   height: 36px; | 
|   line-height: 36px; | 
|   text-align: center; | 
| } | 
|   | 
| ::v-deep .el-alert__title { | 
|   font-size: 25px; | 
|   line-height: 25px; | 
| } | 
|   | 
| ::v-deep .el-checkbox.is-bordered + .el-checkbox.is-bordered { | 
|   margin-left: 0 !important; | 
|   margin-bottom: 10px; | 
| } | 
| </style> |