| <!--  --> | 
| <template> | 
|   <div class="app-container"> | 
|     <el-row> | 
|       <el-col :span="6"> | 
|         <el-card shadow="never"> | 
|           <!-- 捐献案例列表 --> | 
|           <el-row> | 
|             <el-col :span="10"> | 
|               <el-row type="flex" :gutter="10" align="right" class="mb8"> | 
|               </el-row> | 
|             </el-col> | 
|           </el-row> | 
|           <div> | 
|             <el-form | 
|               :model="queryParams" | 
|               ref="queryForm" | 
|               :inline="true" | 
|               label-width="70px" | 
|             > | 
|               <el-form-item label="姓名" prop="name"> | 
|                 <el-input | 
|                   v-model="queryParams.donorname" | 
|                   placeholder="请输入姓名" | 
|                   clearable | 
|                   size="small" | 
|                   @keyup.enter.native="handleQuery" | 
|                 /> | 
|               </el-form-item> | 
|               <el-form-item label="捐献进度" prop="recordstate"> | 
|                 <el-select | 
|                   v-model="queryParams.recordstate" | 
|                   placeholder="请选择记录状态" | 
|                   clearable | 
|                   size="small" | 
|                 > | 
|                   <el-option | 
|                     v-for="dict in dict.type.sys_DonationStatus" | 
|                     :key="dict.value" | 
|                     :label="dict.label" | 
|                     :value="dict.value" | 
|                   /> | 
|                 </el-select> | 
|               </el-form-item> | 
|               <div style="float: right; margin-bottom: 10px;"> | 
|                 <el-button | 
|                   type="primary" | 
|                   icon="el-icon-search" | 
|                   size="mini" | 
|                   @click="handleQuery" | 
|                   >搜索</el-button | 
|                 > | 
|                 <el-button | 
|                   icon="el-icon-refresh" | 
|                   size="mini" | 
|                   @click="resetQuery" | 
|                   >重置</el-button | 
|                 > | 
|               </div> | 
|             </el-form> | 
|           </div> | 
|           <el-table | 
|             v-loading="loading" | 
|             highlight-current-row | 
|             :data="donatebaseinfoList" | 
|             @row-click="selectDonotor" | 
|           > | 
|             <!-- <el-table-column label="捐献编号" align="center" prop="donorno" /> --> | 
|             <el-table-column label="捐献进度" align="center" prop="recordstate"> | 
|               <template slot-scope="scope"> | 
|                 <dict-tag | 
|                   :options="dict.type.sys_DonationStatus" | 
|                   :value="scope.row.recordstate" | 
|                   :key="dict.value" | 
|                 /> | 
|                 <!-- :label="dict.label" --> | 
|               </template> | 
|             </el-table-column> | 
|             <el-table-column label="姓名" align="center" prop="name" /> | 
|           </el-table> | 
|           <pagination | 
|             v-show="total > 0" | 
|             :total="total" | 
|             small | 
|             :page.sync="queryParams.pageNum" | 
|             :limit.sync="queryParams.pageSize" | 
|             @pagination="getBaseInfoList" | 
|           /> | 
|         </el-card> | 
|       </el-col> | 
|       <el-col :span="18"> | 
|         <el-card shadow="naver"> | 
|           <el-form ref="infoform" label-width="100px"> | 
|             <el-row :gutter="4" align="right" class="mb8"> | 
|               <el-col :span="7"> | 
|                 <el-form-item label="捐献编号"> | 
|                   <el-input | 
|                     v-model="curCase.donorno" | 
|                     :disabled="true" | 
|                   ></el-input> | 
|                 </el-form-item> | 
|               </el-col> | 
|               <el-col :span="8"> | 
|                 <el-form-item label="姓名"> | 
|                   <el-input v-model="curCase.name" :disabled="true"></el-input> | 
|                 </el-form-item> | 
|               </el-col> | 
|               <el-col :span="3"> | 
|                 <el-button | 
|                   type="primary" | 
|                   icon="el-icon-search" | 
|                   size="mini" | 
|                   @click="allgetfundList" | 
|                   >检索全部</el-button | 
|                 > | 
|               </el-col> | 
|             </el-row> | 
|             <el-row :gutter="10" class="mb8"> | 
|               <el-col :span="1.5"> | 
|                 <el-button | 
|                   type="primary" | 
|                   plain | 
|                   icon="el-icon-plus" | 
|                   size="mini" | 
|                   @click="handleAdd" | 
|                   v-hasPermi="['project:expretfund:add']" | 
|                   >新增申请单</el-button | 
|                 > | 
|               </el-col> | 
|             </el-row> | 
|             <el-row> | 
|               <el-table | 
|                 v-loading="loading" | 
|                 border | 
|                 :data="donateconsolationfundList" | 
|                 :row-class-name="rowClassName" | 
|               > | 
|                 <el-table-column | 
|                   label="申请日期" | 
|                   align="center" | 
|                   prop="applyTime" | 
|                   width="180px" | 
|                 > | 
|                   <template slot-scope="scope"> | 
|                     <span>{{ | 
|                       parseTime(scope.row.applyTime, "{y}-{m}-{d}") | 
|                     }}</span> | 
|                   </template> | 
|                 </el-table-column> | 
|                 <el-table-column | 
|                   label="申请人" | 
|                   align="center" | 
|                   prop="username" | 
|                   width="120px" | 
|                 /> | 
|                 <!-- <el-table-column | 
|                   label="申请金额" | 
|                   align="center" | 
|                   prop="pretaxcost" | 
|                   width="200px" | 
|                 /> --> | 
|                 <el-table-column | 
|                   label="捐献人" | 
|                   align="center" | 
|                   prop="donorname" | 
|                   width="120px" | 
|                 /> | 
|                 <el-table-column | 
|                   label="组长" | 
|                   align="center" | 
|                   prop="managername" | 
|                   width="120px" | 
|                 /> | 
|                 <el-table-column | 
|                   label="所属组别" | 
|                   align="center" | 
|                   prop="deptmentname" | 
|                   width="200px" | 
|                 /> | 
|                 <el-table-column | 
|                   label="审核状态" | 
|                   align="center" | 
|                   prop="recordstatus" | 
|                 > | 
|                   <template slot-scope="scope"> | 
|                     <dict-tag | 
|                       :options="dict.type.sys_recordstatus" | 
|                       :value="scope.row.recordstatus" | 
|                     /> | 
|                   </template> | 
|                 </el-table-column> | 
|                 <el-table-column | 
|                   label="申请材料状态" | 
|                   width="140" | 
|                   align="center" | 
|                   prop="checkstatus" | 
|                 > | 
|                   <template slot-scope="scope"> | 
|                     <dict-tag | 
|                       :options="dict.type.sys_stage_type" | 
|                       :value="scope.row.checkstatus" | 
|                     /> | 
|                   </template> | 
|                 </el-table-column> | 
|                 <!--  | 
|                 <el-table-column label="申请金额" align="center" prop="amountrequested" width="120px" />     | 
|                 <el-table-column label="联系电话" align="center" prop="phone" width="150px" /> | 
|                 <el-table-column label="工作单位" align="center" prop="unitname" width="220px" />  | 
|                 --> | 
|                 <el-table-column | 
|                   label="操作" | 
|                   fixed="right" | 
|                   align="center" | 
|                   class-name="small-padding fixed-width" | 
|                   width="280px" | 
|                 > | 
|                   <template slot-scope="scope"> | 
|                     <el-button | 
|                       v-if=" | 
|                         scope.row.recordstatus == -1 || | 
|                           scope.row.recordstatus == 1 | 
|                       " | 
|                       size="mini" | 
|                       type="text" | 
|                       icon="el-icon-edit" | 
|                       @click="handleUp(scope.row)" | 
|                       >上报</el-button | 
|                     > | 
|                     <el-button | 
|                       v-if=" | 
|                         scope.row.recordstatus == -1 || | 
|                           scope.row.recordstatus == 1 | 
|                       " | 
|                       size="mini" | 
|                       type="text" | 
|                       icon="el-icon-edit" | 
|                       @click="handleUpdate(scope.row)" | 
|                       >修改</el-button | 
|                     > | 
|                     <el-button | 
|                       size="mini" | 
|                       type="text" | 
|                       icon="el-icon-view" | 
|                       @click="handleDetail(scope.row)" | 
|                       >查看</el-button | 
|                     > | 
|                     <!-- v-hasPermi="['project:expretfund:edit']" --> | 
|                     <el-button | 
|                       v-if=" | 
|                         scope.row.recordstatus == -1 || | 
|                           scope.row.recordstatus == 1 | 
|                       " | 
|                       size="mini" | 
|                       type="text" | 
|                       @click="handleDelete(scope.row)" | 
|                       ><span class="button-delete" | 
|                         ><i class="el-icon-delete"></i>删除</span | 
|                       ></el-button | 
|                     > | 
|                     <!-- v-hasPermi="['project:expretfund:delete']" --> | 
|                     <!-- <el-button | 
|                       size="mini" | 
|                       type="text" | 
|                       icon="el-icon-download" | 
|                       @click="mixExport(scope)" | 
|                       >下载</el-button | 
|                                           > --> | 
|                     <!-- v-hasPermi="['project:expretfund:download']" --> | 
|                   </template> | 
|                 </el-table-column> | 
|                 <el-table-column | 
|                   fixed="right" | 
|                   align="center" | 
|                   width="120" | 
|                   label="功能" | 
|                 > | 
|                   <template slot-scope="scope"> | 
|                     <el-button size="mini" v-if="scope.row.uploadStates == 1" | 
|                       >线下已报销</el-button | 
|                     > | 
|                     <el-button | 
|                       size="mini" | 
|                       type="success" | 
|                       v-else-if="scope.row.uploadStates == 0" | 
|                       @click="Dooffline(scope.$index, scope.row)" | 
|                       >线下报销</el-button | 
|                     > | 
|                   </template> | 
|                 </el-table-column> | 
|               </el-table> | 
|             </el-row> | 
|           </el-form> | 
|         </el-card> | 
|       </el-col> | 
|     </el-row> | 
|   | 
|     <!-- 添加或修改费用申请单 --> | 
|     <el-dialog | 
|       :visible.sync="dialogOpen" | 
|       :close-on-click-modal="false" | 
|       width="1400px" | 
|       :title="title" | 
|       style="text-align: center" | 
|       v-loading="loading" | 
|     > | 
|       <el-form | 
|         style="height: 550px; overflow-y: auto; overflow-x: hidden" | 
|         ref="form" | 
|         :model="form" | 
|         label-width="120px" | 
|         :rules="rules" | 
|       > | 
|         <el-row style="text-align: left"> | 
|           <el-col :span="5"> | 
|             <el-form-item label="申请日期" prop="applyTime"> | 
|               <el-date-picker | 
|                 clearable | 
|                 style="width: 100%" | 
|                 v-model="form.applyTime" | 
|                 type="date" | 
|                 value-format="yyyy-MM-dd HH:mm:ss" | 
|                 placeholder="申请日期" | 
|               > | 
|               </el-date-picker> | 
|             </el-form-item> | 
|           </el-col> | 
|           <el-col :span="5"> | 
|             <el-form-item label="经办人" prop="username"> | 
|               <el-select | 
|                 v-model="form.username" | 
|                 placeholder="申请人" | 
|                 clearable | 
|                 filterable | 
|                 allow-create | 
|                 style="width: 100%" | 
|               > | 
|                 <el-option | 
|                   v-for="dict in userlist" | 
|                   :key="dict.index" | 
|                   :label="dict.nickname" | 
|                   :value="dict.nickname" | 
|                 ></el-option> | 
|               </el-select> | 
|             </el-form-item> | 
|           </el-col> | 
|           <el-col :span="5"> | 
|             <el-form-item label="所属组别" prop="deptmentname"> | 
|               <el-input | 
|                 v-model="form.deptmentname" | 
|                 placeholder="请输入所属组别" | 
|                 clearable | 
|               /> | 
|             </el-form-item> | 
|           </el-col> | 
|           <el-col :span="5"> | 
|             <el-form-item label="组长" prop="managername"> | 
|               <el-input | 
|                 v-model="form.managername" | 
|                 placeholder="请输入组长" | 
|                 clearable | 
|               /> | 
|             </el-form-item> | 
|           </el-col> | 
|         </el-row> | 
|         <el-row style="text-align: left"> | 
|           <!-- | 
|           <el-col :span="7"> | 
|             <el-form-item label="联系电话" prop="phone"> | 
|               <el-input v-model="form.phone" placeholder="请输入申请者的联系方式" clearable /> | 
|             </el-form-item> | 
|           </el-col> | 
|           <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="1" | 
|                 >专家费用申请</el-radio | 
|               > | 
|             </el-form-item> | 
|           </el-col> | 
|           <el-col :span="10"> | 
|             <el-form-item label="申请说明" prop="remark"> | 
|               <el-input v-model="form.remark" placeholder="申请说明" /> | 
|             </el-form-item> | 
|           </el-col> | 
|           <el-col :span="5"> | 
|             <el-form-item label="联系电话" prop="phone"> | 
|               <el-input v-model="form.phone" placeholder="请输入联系电话" /> | 
|             </el-form-item> | 
|           </el-col> | 
|         </el-row> | 
|         <el-row style="text-align: left"> | 
|           <!-- | 
|           <el-col :span="5"> | 
|             <el-form-item label="合计金额" prop="amountrequested"> | 
|               <el-input v-model="form.amountrequested" placeholder="申请金额" :disabled="true" /> | 
|             </el-form-item> | 
|           </el-col> | 
|           --> | 
|           <el-col :span="5"> | 
|             <el-form-item label="申请金额" prop="pretaxcost"> | 
|               <el-input | 
|                 v-model="form.pretaxcost" | 
|                 placeholder="税前金额合计" | 
|                 :disabled="true" | 
|               /> | 
|             </el-form-item> | 
|           </el-col> | 
|           <el-col :span="5"> | 
|             <el-form-item label="应缴税" prop="taxcost"> | 
|               <el-input | 
|                 v-model="form.taxcost" | 
|                 placeholder="应缴税金额合计" | 
|                 :disabled="true" | 
|               /> | 
|             </el-form-item> </el-col | 
|           ><!-- | 
|           <el-col :span="5"> | 
|             <el-form-item label="税后金额" prop="pretaxcost"> | 
|               <el-input v-model="form.taxedcost" placeholder="税后金额合计" :disabled="true" /> | 
|             </el-form-item> | 
|           </el-col>--> | 
|           <el-col :span="5"> | 
|             <el-form-item label="捐献者" prop="donorname"> | 
|               <el-input | 
|                 :disabled="true" | 
|                 v-model="form.donorname" | 
|                 placeholder="请输入捐献者姓名" | 
|               /> | 
|             </el-form-item> | 
|           </el-col> | 
|           <el-col :span="5"> | 
|             <el-form-item label="申请状态" prop="recordstatus"> | 
|               <!-- <el-input v-model="form.recordstatus" placeholder="审核意见"/> --> | 
|               <el-select | 
|                 v-model="form.recordstatus" | 
|                 placeholder="请选择审核状态" | 
|                 clearable | 
|                 size="small" | 
|                 :disabled="true" | 
|               > | 
|                 <el-option | 
|                   v-for="dict in dict.type.sys_recordstatus" | 
|                   :key="dict.value" | 
|                   :label="dict.label" | 
|                   :value="dict.value" | 
|                 /> | 
|               </el-select> | 
|             </el-form-item> | 
|           </el-col> | 
|         </el-row> | 
|         <el-row style="margin-top: 5px; margin-bottom: 5px"> | 
|           <el-row style="margin-bottom: 10px"> | 
|             <el-col :span="4"> | 
|               <el-button | 
|                 @click.native.prevent="addAllItems" | 
|                 type="primary" | 
|                 size="small" | 
|               > | 
|                 导入服务项目 | 
|               </el-button> | 
|             </el-col> | 
|           </el-row> | 
|           <el-table | 
|             :data="fundDetails" | 
|             v-loading="loading" | 
|             border | 
|             highlight-current-row | 
|           > | 
|             <el-table-column | 
|               prop="orderno" | 
|               align="center" | 
|               label="序号" | 
|               width="65" | 
|             > | 
|               <template slot-scope="scope"> | 
|                 <el-input v-model="scope.row.orderno" placeholder="序号" /> | 
|               </template> | 
|             </el-table-column> | 
|             <el-table-column | 
|               prop="applytype" | 
|               align="center" | 
|               label="服务费用类型" | 
|               width="200" | 
|             > | 
|               <template slot-scope="scope"> | 
|                 <el-select | 
|                   v-model="scope.row.applytype" | 
|                   placeholder="服务费用类型" | 
|                   @change="loadItemType(scope.row)" | 
|                 > | 
|                   <el-option | 
|                     v-for="dict in rowfeeItemTypes" | 
|                     :key="dict.index" | 
|                     :label="dict.label" | 
|                     :value="dict.value" | 
|                   ></el-option> | 
|                 </el-select> | 
|               </template> | 
|             </el-table-column> | 
|             <el-table-column | 
|               prop="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.itemArr" | 
|                     :key="dict.index" | 
|                     :label="dict.itemName" | 
|                     :value="dict.id" | 
|                   ></el-option> | 
|                 </el-select> | 
|               </template> | 
|             </el-table-column> | 
|             <el-table-column | 
|               prop="itemcode" | 
|               align="center" | 
|               label="项目编号" | 
|               show-overflow-tooltip="" | 
|               v-if="false" | 
|             > | 
|             </el-table-column> | 
|             <el-table-column | 
|               prop="servicesscope" | 
|               align="center" | 
|               label="费用说明" | 
|               width="180" | 
|             > | 
|               <template slot-scope="scope"> | 
|                 <el-select | 
|                   v-model="scope.row.servicesscope" | 
|                   placeholder="费用说明" | 
|                   clearable | 
|                   allow-create | 
|                   filterable | 
|                   @change="selectedRemark(scope.row)" | 
|                 > | 
|                   <el-option | 
|                     v-for="dict in scope.row.rowfeeblocks" | 
|                     :key="dict.servicesscope" | 
|                     :label="dict.remark" | 
|                     :value="dict.servicesscope" | 
|                   ></el-option> | 
|                 </el-select> | 
|               </template> | 
|             </el-table-column> | 
|             <el-table-column | 
|               v-if="this.ismanager == true" | 
|               prop="amount" | 
|               align="center" | 
|               label="税前金额" | 
|               width="120" | 
|             > | 
|               <template slot-scope="scope"> | 
|                 <el-select | 
|                   v-model="scope.row.amount" | 
|                   placeholder="税前金额" | 
|                   clearable | 
|                   filterable | 
|                   allow-create | 
|                   @change="selectamount(scope.row)" | 
|                 > | 
|                   <el-option | 
|                     v-for="dict in scope.row.rowfeeblocks" | 
|                     :key="dict.expensedescribe" | 
|                     :label="dict.expense" | 
|                     :value="dict.expense" | 
|                   ></el-option> | 
|                 </el-select> | 
|               </template> | 
|             </el-table-column> | 
|             <el-table-column | 
|               prop="taxedamount" | 
|               align="center" | 
|               label="税后金额" | 
|               width="120" | 
|               v-if="this.ismanager == true" | 
|             > | 
|               <!-- v-if="form.applytype != '3'"上同 --> | 
|               <template slot-scope="scope"> | 
|                 <el-input | 
|                   v-model="scope.row.taxedamount" | 
|                   placeholder="税后金额" | 
|                 /> | 
|               </template> | 
|             </el-table-column> | 
|             <el-table-column | 
|               prop="beneficiaryname" | 
|               align="center" | 
|               label="姓名" | 
|               width="100" | 
|               v-if="form.applytype != 3" | 
|             > | 
|               <template slot-scope="scope"> | 
|                 <el-button | 
|                   type="primary" | 
|                   plain | 
|                   @click="ShowDetailDialog(scope, 'name')" | 
|                   >{{ scope.row.beneficiaryname }}</el-button | 
|                 > | 
|                 <!-- <el-select | 
|                   filterable | 
|                   allow-create | 
|                   ref="getReportname" | 
|                   default-first-option | 
|                   @change="selectpersonmsg(scope.row)" | 
|                   v-model="scope.row.beneficiaryname" | 
|                   placeholder="请选择" | 
|                 > | 
|                   <el-option | 
|                     v-for="item in expertlist" | 
|                     :key="item.reportNo" | 
|                     :label="item.reportName" | 
|                     :value="item.reportName" | 
|                   > | 
|                   </el-option> | 
|                                       </el-select> --> | 
|               </template> | 
|             </el-table-column> | 
|             <el-table-column | 
|               prop="unitno" | 
|               align="center" | 
|               label="单位名称" | 
|               width="220" | 
|             > | 
|               <template slot-scope="scope"> | 
|                 <el-button | 
|                   type="primary" | 
|                   plain | 
|                   @click="ShowDetailDialog(scope, 'unit')" | 
|                   >{{ scope.row.unitname }}</el-button | 
|                 > | 
|                 <!-- <el-select | 
|                   v-model="scope.row.unitno" | 
|                   placeholder="单位" | 
|                   clearable | 
|                   filterable | 
|                   allow-create | 
|                 > | 
|                   <el-option | 
|                     v-for="(spec, index) in unitList" | 
|                     :key="index" | 
|                     :label="spec.organizationname" | 
|                     :value="spec.organizationid" | 
|                   ></el-option> | 
|                                       </el-select> --> | 
|               </template> | 
|             </el-table-column> | 
|             <el-table-column | 
|               prop="quantity" | 
|               align="center" | 
|               label="数量" | 
|               width="120" | 
|               v-if="form.applytype == '3'" | 
|             > | 
|               <template slot-scope="scope"> | 
|                 <el-input | 
|                   v-model="scope.row.quantity" | 
|                   placeholder="数量" | 
|                   @blur=" | 
|                     val => { | 
|                       sumTotalFee(scope.row); | 
|                     } | 
|                   " | 
|                 /> | 
|               </template> | 
|             </el-table-column> | 
|             <el-table-column | 
|               prop="price" | 
|               align="center" | 
|               label="价格" | 
|               width="120" | 
|               v-if="form.applytype == '3'" | 
|             > | 
|               <template slot-scope="scope"> | 
|                 <el-input | 
|                   v-model="scope.row.price" | 
|                   placeholder="价格" | 
|                   @blur=" | 
|                     val => { | 
|                       sumTotalFee(scope.row); | 
|                     } | 
|                   " | 
|                 /> | 
|               </template> | 
|             </el-table-column> | 
|             <el-table-column | 
|               prop="remark" | 
|               align="center" | 
|               label="备注" | 
|               width="210" | 
|               v-if="form.applytype == '3'" | 
|             > | 
|               <template slot-scope="scope"> | 
|                 <el-input v-model="scope.row.remark" placeholder="备注" /> | 
|               </template> | 
|             </el-table-column> | 
|             <el-table-column | 
|               prop="title" | 
|               align="center" | 
|               label="职称" | 
|               width="120" | 
|               v-if="form.applytype != '3'" | 
|             > | 
|               <template slot-scope="scope"> | 
|                 <el-input v-model="scope.row.title" placeholder="职称" /> | 
|               </template> | 
|             </el-table-column> | 
|             <el-table-column | 
|               prop="idcardno" | 
|               align="center" | 
|               label="身份证号" | 
|               width="200" | 
|               v-if="form.applytype != '3'" | 
|             > | 
|               <template slot-scope="scope"> | 
|                 <el-input v-model="scope.row.idcardno" placeholder="身份证号" /> | 
|               </template> | 
|             </el-table-column> | 
|             <el-table-column | 
|               prop="depositbank" | 
|               align="center" | 
|               label="开户银行" | 
|               width="200" | 
|               v-if="form.applytype != '3'" | 
|             > | 
|               <template slot-scope="scope"> | 
|                 <el-input | 
|                   v-model="scope.row.depositbank" | 
|                   placeholder="开户银行" | 
|                 /> | 
|               </template> | 
|             </el-table-column> | 
|   | 
|             <el-table-column | 
|               prop="bankcardno" | 
|               align="center" | 
|               label="银行卡号" | 
|               width="210" | 
|               v-if="form.applytype != '3'" | 
|             > | 
|               <template slot-scope="scope"> | 
|                 <el-input | 
|                   v-model="scope.row.bankcardno" | 
|                   placeholder="银行卡号" | 
|                 /> | 
|               </template> | 
|             </el-table-column> | 
|             <el-table-column | 
|               fixed="right" | 
|               align="center" | 
|               label="操作" | 
|               width="180" | 
|               v-if="dialogType == 'edit'" | 
|             > | 
|               <template slot-scope="scope"> | 
|                 <el-button type="text" size="mini" @click="addRow(scope.$index)" | 
|                   >新增</el-button | 
|                 > | 
|                 <el-button | 
|                   @click.native.prevent=" | 
|                     deleteRows(scope.row, scope.$index, fundDetails) | 
|                   " | 
|                   type="text" | 
|                   size="small" | 
|                 > | 
|                   <span class="button-delete" | 
|                     ><i class="el-icon-delete"></i>删除</span | 
|                   > | 
|                 </el-button> | 
|               </template> | 
|             </el-table-column> | 
|           </el-table> | 
|         </el-row> | 
|         <!-- | 
|         <el-row>    | 
|           <el-col :span="7"> | 
|             <el-form-item label="预支金额" prop="prepaidamount"> | 
|               <el-input v-model="form.prepaidamount" placeholder="申请金额" /> | 
|             </el-form-item> | 
|           </el-col>           | 
|         </el-row>        | 
|         <el-row>           | 
|           <el-col :span="7"> | 
|             <el-form-item label="OPO中心签字" prop="opochecker"> | 
|               <el-input v-model="form.opochecker" placeholder="opo中心签字" /> | 
|             </el-form-item> | 
|           </el-col> | 
|           <el-col :span="8"> | 
|             <el-form-item label="财务副院长" prop="finvicepresident"> | 
|               <el-input v-model="form.finvicepresident" placeholder="财务副院长" /> | 
|             </el-form-item> | 
|           </el-col> | 
|           <el-col :span="7"> | 
|             <el-form-item label="业务副院长" prop="busvicepresident"> | 
|               <el-input v-model="form.busvicepresident" placeholder="业务副院长" /> | 
|             </el-form-item> | 
|           </el-col> | 
|           <el-col :span="7"> | 
|             <el-form-item label="办公室主任" prop="officedirector"> | 
|               <el-input v-model="form.officedirector" placeholder="请输入办公室主任" /> | 
|             </el-form-item> | 
|           </el-col> | 
|           <el-col :span="8"> | 
|             <el-form-item label="财务部负责人" prop="financedirector"> | 
|               <el-input v-model="form.financedirector" placeholder="请输入财务部负责人" /> | 
|             </el-form-item> | 
|           </el-col> | 
|           <el-col :span="7"> | 
|             <el-form-item label="财务审核" prop="financechecher"> | 
|               <el-input v-model="form.financechecher" placeholder="请输入财务审核" /> | 
|             </el-form-item> | 
|           </el-col> | 
|         </el-row> | 
|               --> | 
|         <el-row> | 
|           <el-col :span="12"> | 
|             <el-form-item | 
|               label="费用申请附件" | 
|               align="left" | 
|               prop="annexbankcard" | 
|             > | 
|               <el-upload | 
|                 size="mini" | 
|                 class="upload-demo" | 
|                 :action="uploadFileUrl" | 
|                 :file-list="fileList" | 
|                 multiple | 
|                 :limit="20" | 
|                 :headers="headers" | 
|                 :on-success=" | 
|                   (response, file, fileList) => | 
|                     uploadSccess(response, file, fileList) | 
|                 " | 
|                 :on-preview="downFile" | 
|                 :disabled="dialogType == 'detail'" | 
|                 :on-error="handleUploadError" | 
|                 :on-exceed="handleExceed" | 
|                 :on-remove="remove" | 
|                 accept="image/*,.pdf" | 
|               > | 
|                 <el-button | 
|                   :disabled="dialogType == 'detail'" | 
|                   size="small" | 
|                   type="primary" | 
|                   >上传</el-button | 
|                 > | 
|               </el-upload> | 
|             </el-form-item> | 
|           </el-col> | 
|         </el-row> | 
|         <el-row v-if="dialogType == 'detail'"> | 
|           <el-table :data="fundflowList" border> | 
|             <el-table-column | 
|               label="审核人" | 
|               align="center" | 
|               width="120" | 
|               prop="checkusername" | 
|             /> | 
|             <el-table-column | 
|               label="审核日期" | 
|               align="center" | 
|               width="160" | 
|               prop="createTime" | 
|             /> | 
|             <el-table-column | 
|               label="审核结果" | 
|               align="center" | 
|               width="200" | 
|               prop="flowconclusion" | 
|               ><template slot-scope="scope" | 
|                 ><span v-if="scope.row.flowconclusion == 1">通过</span | 
|                 ><span v-if="scope.row.flowconclusion == 2" | 
|                   >不通过</span | 
|                 ></template | 
|               > | 
|             </el-table-column> | 
|             <el-table-column | 
|               label="审核备注" | 
|               align="center" | 
|               prop="flowcontent" | 
|             /> | 
|           </el-table> | 
|         </el-row> | 
|       </el-form> | 
|       <div slot="footer" class="dialog-footer"> | 
|         <el-button | 
|           type="primary" | 
|           @click="submitForm" | 
|           v-if="dialogType == 'edit'" | 
|           >保 存</el-button | 
|         > | 
|         <!-- <el-button type="success" @click="print">打 印</el-button> --> | 
|         <el-button @click="cancel">取 消</el-button> | 
|       </div> | 
|     </el-dialog> | 
|   | 
|     <el-dialog | 
|       :visible.sync="showDetailInfoDialog" | 
|       :close-on-click-modal="false" | 
|       :title="'导入信息'" | 
|       width="500px" | 
|       style="text-align: center" | 
|       v-loading="loading" | 
|     > | 
|       <el-form ref="funddetailForm" :model="funddetailForm"> | 
|         <el-row> | 
|           <el-col :span="24" v-if="showDetailInfoDialogType == 'name'"> | 
|             <el-form-item label="请选择专家信息:" prop="expertfrom"> | 
|               <el-radio-group v-model="expertfrom" style="margin-bottom: 0"> | 
|                 <el-radio label="1">专家库</el-radio> | 
|                 <el-radio label="2">新增专家</el-radio> | 
|               </el-radio-group> | 
|             </el-form-item> | 
|           </el-col> | 
|           <el-col | 
|             :span="24" | 
|             v-if="showDetailInfoDialogType == 'name' && expertfrom == '1'" | 
|           > | 
|             <el-form-item | 
|               label="专家姓名" | 
|               prop="beneficiaryname" | 
|               label-width="80px" | 
|             > | 
|               <el-select | 
|                 filterable | 
|                 allow-create | 
|                 ref="beneficiaryname" | 
|                 default-first-option | 
|                 v-model="funddetailForm.beneficiaryname" | 
|                 placeholder="请选择" | 
|                 style="width: 100%" | 
|               > | 
|                 <el-option | 
|                   v-for="item in expertlist" | 
|                   :key="item.reportNo" | 
|                   :label="item.reportName" | 
|                   :value="item.reportName" | 
|                 > | 
|                 </el-option> | 
|               </el-select> | 
|             </el-form-item> | 
|           </el-col> | 
|           <el-col :span="24" v-if="showDetailInfoDialogType == 'unit'"> | 
|             <el-form-item label="单位名称" prop="unitno" label-width="80px"> | 
|               <el-select | 
|                 v-model="funddetailForm.unitno" | 
|                 placeholder="单位名称" | 
|                 clearable | 
|                 filterable | 
|                 allow-create | 
|                 style="width: 100%" | 
|               > | 
|                 <el-option | 
|                   v-for="(spec, index) in unitList" | 
|                   :key="index" | 
|                   :label="spec.organizationname" | 
|                   :value="spec.organizationid" | 
|                 ></el-option> | 
|               </el-select> | 
|             </el-form-item> | 
|           </el-col> | 
|         </el-row> | 
|         <el-row> | 
|           <el-col :span="12" v-if="expertfrom == '2'"> | 
|             <el-form-item label="专家姓名" prop="expertname" label-width="80px"> | 
|               <el-input | 
|                 v-model="funddetailForm.expertname" | 
|                 placeholder="必填项" | 
|               /> | 
|             </el-form-item> | 
|           </el-col> | 
|           <el-col :span="12" v-if="expertfrom == '2'"> | 
|             <el-form-item | 
|               label="职    称" | 
|               prop="experttitle" | 
|               label-width="80px" | 
|             > | 
|               <el-select | 
|                 v-model="funddetailForm.experttitle" | 
|                 placeholder="必填项" | 
|               > | 
|                 <el-option | 
|                   v-for="dict in dict.type.sys_professionaltitle" | 
|                   :key="dict.value" | 
|                   :label="dict.label" | 
|                   :value="dict.label" | 
|                 ></el-option> | 
|               </el-select> | 
|             </el-form-item> | 
|           </el-col> | 
|         </el-row> | 
|         <el-row> | 
|           <el-col :span="24" v-if="expertfrom == '2'"> | 
|             <el-form-item | 
|               label="身份证号" | 
|               prop="expertidcardno" | 
|               label-width="80px" | 
|             > | 
|               <el-input | 
|                 v-model="funddetailForm.expertidcardno" | 
|                 placeholder="必填项" | 
|               /> | 
|             </el-form-item> | 
|           </el-col> | 
|         </el-row> | 
|         <!-- | 
|         <el-row> | 
|           <el-col :span="12" v-if="expertfrom == '2'"> | 
|             <el-form-item label="人员类别" prop="usertype" label-width="80px"> | 
|               <el-select v-model="funddetailForm.usertype" placeholder="必填项"> | 
|                 <el-option v-for="dict in dict.type.sys_UserType" :key="dict.value" :label="dict.label" | 
|                   :value="dict.value"></el-option> | 
|               </el-select> | 
|             </el-form-item> | 
|           </el-col>           | 
|         </el-row> | 
|       --> | 
|         <el-row> | 
|           <el-col :span="24" v-if="expertfrom == '2'"> | 
|             <el-form-item | 
|               label="单位名称" | 
|               prop="expertunitno" | 
|               label-width="80px" | 
|             > | 
|               <el-select | 
|                 v-model="funddetailForm.expertunitno" | 
|                 placeholder="单位名称" | 
|                 clearable | 
|                 filterable | 
|                 allow-create | 
|                 style="width: 100%" | 
|               > | 
|                 <el-option | 
|                   v-for="(spec, index) in unitList" | 
|                   :key="index" | 
|                   :label="spec.organizationname" | 
|                   :value="spec.organizationid" | 
|                 ></el-option> | 
|               </el-select> </el-form-item | 
|           ></el-col> | 
|         </el-row> | 
|         <el-row> | 
|           <el-col :span="24" v-if="expertfrom == '2'"> | 
|             <el-form-item | 
|               label="开户银行" | 
|               prop="expertdepositbank" | 
|               label-width="80px" | 
|             > | 
|               <el-input | 
|                 v-model="funddetailForm.expertdepositbank" | 
|                 placeholder="必填项" | 
|               /> | 
|             </el-form-item> | 
|           </el-col> | 
|           <el-col :span="24" v-if="expertfrom == '2'"> | 
|             <el-form-item | 
|               label="银行卡号" | 
|               prop="expertbankcardno" | 
|               label-width="80px" | 
|             > | 
|               <el-input | 
|                 v-model="funddetailForm.expertbankcardno" | 
|                 placeholder="必填项" | 
|               /> | 
|             </el-form-item> | 
|           </el-col> | 
|         </el-row> | 
|       </el-form> | 
|       <span slot="footer" class="dialog-footer"> | 
|         <el-button @click="showDetailInfoDialog = false">取 消</el-button> | 
|         <el-button type="primary" @click="ConfirmDetailDialog()" | 
|           >确 定</el-button | 
|         > | 
|       </span> | 
|     </el-dialog> | 
|   </div> | 
| </template> | 
|   | 
| <script> | 
| //这里可以导入其他文件(比如:组件,工具js,第三方插件js,json文件,图片文件等等) | 
| //例如:import 《组件名称》 from '《组件路径》'; | 
| import { | 
|   listDonatebaseinfo, | 
|   getDonatebaseinfo | 
| } from "@/api/project/donatebaseinfo"; | 
|   | 
| import { | 
|   onelistFund, | 
|   listFund, | 
|   getFund, | 
|   delFund, | 
|   addFund, | 
|   updateFund, | 
|   exportFund, | 
|   getdownloadLW, | 
|   getdownloadSH, | 
|   getdownloadSS, | 
|   getdownloadYX, | 
|   getdownloadBX, | 
|   addorupdateFund, | 
|   getdetailsByItemId | 
| } from "@/api/project/fund"; | 
|   | 
| import { | 
|   onelistFunds, | 
|   listFunddetails, | 
|   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 | 
| } from "@/api/project/externalperson"; | 
| import { getUserProfile } from "@/api/system/user"; | 
| import Li_area_select from "@/components/Address"; | 
| import OrgSelecter from "@/views/project/components/orgselect"; | 
| import elementIcons from "../../../components/icons/element-icons"; | 
| 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", | 
|     "sys_stage_type" | 
|   ], | 
|   | 
|   data() { | 
|     //这里存放数据 | 
|     return { | 
|       // 遮罩层 | 
|       loading: false, | 
|       // 导出遮罩层 | 
|       exportLoading: false, | 
|       total: 0, | 
|       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, | 
|         donorname: null | 
|       }, | 
|       fundQueryParam: { | 
|         pageNum: 1, | 
|         pageSize: 100, | 
|         infoid: null, | 
|         applytype: "1", | 
|         createBy: null | 
|       }, | 
|       // 表单参数 | 
|       form: {}, | 
|       //所有人员表 | 
|       personlist: [], | 
|       expertQueryParam: { | 
|         pageNum: 1, | 
|         pageSize: 10000, | 
|         userno: null, | 
|         username: null, | 
|         usertype: null | 
|       }, | 
|   | 
|       // | 
|       amount: 0.0, | 
|   | 
|       //申请单类型 | 
|       currentApplyType: "1", | 
|       //专家列表 | 
|       expertlist: [], | 
|       //专家费选择:1是专家库,2是新增 | 
|       expertfrom: "1", | 
|       //计算个税参数 | 
|       taxParam: { | 
|         beneficiaryNo: "", | 
|         money: "0", | 
|         startTime: "" | 
|       }, | 
|       // 表单校验 | 
|       rules: { | 
|         username: [ | 
|           { required: true, message: "请输入申请人", trigger: "blur" } | 
|         ], | 
|         applyTime: [ | 
|           { required: true, message: "请输入申请日期", trigger: "blur" } | 
|         ], | 
|         deptmentname: [ | 
|           { required: true, message: "请输入所属业务组", trigger: "blur" } | 
|         ] | 
|         // amountrequested: [ | 
|         //   { required: true, message: "请输入申请金额", trigger: "blur" }, | 
|         // ], | 
|       }, | 
|   | 
|       //捐献案例列表数据 | 
|       // donationCaseTableData:[], | 
|       donatebaseinfoList: [], | 
|       //当前选中捐献案例 | 
|       curCase: {}, | 
|       //是否显示费用申请弹窗 | 
|       dialogOpen: false, | 
|       // title: "", | 
|       //费用申请表单title | 
|       applyFormTitle: "", | 
|   | 
|       // 捐献人道慰问金表格数据 | 
|       donateconsolationfundList: [], | 
|       //费用明细列表 | 
|       fundDetails: [], | 
|       formData: {}, | 
|       totalPreTaxAmount: 0.0, | 
|       totalAfterTaxAmount: 0.0, | 
|       totalAmount: 0.0, | 
|   | 
|       // 弹出层标题 | 
|       title: "", | 
|       userlist: [], | 
|       itemArr: [], | 
|       reporters: [], | 
|   | 
|       //行记录的费用类型数组 | 
|       rowfeeItemTypes: [], | 
|       //费用类型数组 | 
|       feeItemTypes: [], | 
|       //费用说明 | 
|       rowfeeblocks: [], | 
|       defaultperson: {}, | 
|   | 
|       //是否是专家费的OPO审批人员 | 
|       ismanager: false, | 
|       unitList: [], | 
|       dialogType: "edit", | 
|       fundflowList: [], | 
|   | 
|       showDetailInfoDialog: false, | 
|       showDetailInfoDialogType: "", | 
|       funddetailForm: { | 
|         index: null, | 
|         beneficiaryname: null, | 
|         beneficiaryno: null, | 
|         unitno: null, | 
|         unitname: null, | 
|         expertname: null, | 
|         expertidcardno: null, | 
|         expertunitno: null, | 
|         expertunitname: null, | 
|         experttitle: null, | 
|         expertdepositbank: null, | 
|         expertbankcardno: null | 
|       }, | 
|       expertform: { | 
|         id: null, | 
|         address: null, | 
|         bankcardno: null, | 
|         branchbankname: null, | 
|         createBy: null, | 
|         createTime: null, | 
|         del_flag: null, | 
|         depositbank: null, | 
|         idcardno: null, | 
|         personnelunitno: null, | 
|         pym: null, | 
|         remark: null, | 
|         searchValue: null, | 
|         sex: null, | 
|         telephone: null, | 
|         title: null, | 
|         unitname: null, | 
|         unitno: null, | 
|         updateBy: null, | 
|         updateTime: null, | 
|         username: null, | 
|         userno: null, | 
|         userstatus: 1, | 
|         usertype: null, | 
|         wbm: null | 
|       }, | 
|   | 
|       //附件列表 | 
|       fileList: [], | 
|       //上传附件路径 | 
|       uploadFileUrl: process.env.VUE_APP_BASE_API + "/common/upload", | 
|   | 
|       headers: { | 
|         Authorization: "Bearer " + getToken() | 
|       } | 
|     }; | 
|   }, | 
|   //监听属性 类似于data概念 | 
|   computed: {}, | 
|   //监控data中的数据变化 | 
|   watch: {}, | 
|   //生命周期 - 创建完成(可以访问当前this实例) | 
|   created() { | 
|     this.getList(); | 
|     this.getBaseInfoList(); | 
|     this.getCurFundType(); | 
|     this.getUserList(); | 
|     this.getUnitList(); | 
|   }, | 
|   | 
|   //生命周期 - 挂载完成(可以访问DOM元素) | 
|   mounted() { | 
|     this.selectReporters(); | 
|     this.getUsermsg(); | 
|     this.getExternalpersonList(); | 
|   }, | 
|   | 
|   beforeCreate() {}, //生命周期 - 创建之前 | 
|   beforeMount() {}, //生命周期 - 挂载之前 | 
|   beforeUpdate() {}, //生命周期 - 更新之前 | 
|   updated() {}, //生命周期 - 更新之后 | 
|   beforeDestroy() {}, //生命周期 - 销毁之前 | 
|   destroyed() {}, //生命周期 - 销毁完成 | 
|   activated() {}, //如果页面有keep-alive缓存功能,这个函数会触发 | 
|   | 
|   //方法集合 | 
|   methods: { | 
|     /** 搜索按钮操作 */ | 
|     handleQuery() { | 
|       this.queryParams.pageNum = 1; | 
|       this.getList(); | 
|     }, | 
|   | 
|     /** 重置按钮操作 */ | 
|     resetQuery() { | 
|       this.daterangeReporttime = []; | 
|       this.resetForm("queryForm"); | 
|       this.handleQuery(); | 
|     }, | 
|     Dooffline(a, value) { | 
|       value.uploadStates = 1; | 
|       value.notes = "线下已报销"; | 
|       addorupdateFund(value).then(res => { | 
|         if (res.code == 200) { | 
|           this.$modal.msgSuccess("记录成功"); | 
|         } else { | 
|           this.$modal.msgError(res.msg); | 
|         } | 
|       }); | 
|     }, | 
|   | 
|     /** 新增按钮操作 */ | 
|     handleAdd() { | 
|       if (this.curCase.id) { | 
|         this.$router.push({ | 
|           path: "/finance/applyDetail/", | 
|           query: { | 
|             id: 0, | 
|             businessType: "1", | 
|             operationType: "add", | 
|             curCase: this.curCase | 
|           } | 
|         }); | 
|       } else { | 
|         const h = this.$createElement; | 
|         this.$message({ | 
|           message: h("p", null, [ | 
|             h("span", null, "请在左边的捐献案例表选择需要操作的案例!") | 
|           ]) | 
|         }); | 
|       } | 
|       return; | 
|   | 
|       if (this.curCase.id) { | 
|         this.istrue += 2; | 
|         this.reset(); | 
|         this.queryParams.params = {}; | 
|         this.form.infoid = this.curCase.id; | 
|         this.form.donorno = this.curCase.donorno; | 
|         this.form.donorname = this.curCase.name; | 
|   | 
|         this.form.username = this.defaultperson.nickName; | 
|         this.form.userno = this.defaultperson.userName; | 
|         this.form.phone = this.defaultperson.phonenumber; | 
|         this.form.deptmentname = this.defaultperson.dept.deptName; | 
|         this.form.deptmentno = this.defaultperson.dept.deptId; | 
|         this.form.managername = this.defaultperson.dept.leader; | 
|   | 
|         // this.form.createTime = nowdate; | 
|         //this.open = true; | 
|         //this.initFundApplyForm(); | 
|         this.fundDetails = []; | 
|         this.addRow(); | 
|         this.dialogOpen = true; | 
|         this.dialogType = "edit"; | 
|         this.title = "费用申请"; | 
|       } else { | 
|         const h = this.$createElement; | 
|         this.$message({ | 
|           message: h("p", null, [h("span", null, "请先选择左方捐献案例 ")]) | 
|         }); | 
|       } | 
|     }, | 
|   | 
|     /** 修改按钮操作 */ | 
|     handleUpdate(row) { | 
|       this.$router.push({ | 
|         path: "/finance/applyDetail/", | 
|         query: { | 
|           id: row.id, | 
|           businessType: "1", | 
|           operationType: "update", | 
|           curCase: this.curCase | 
|         } | 
|       }); | 
|       return; | 
|   | 
|       this.isopen = 0; | 
|       this.reset(); | 
|       this.queryParams.params = {}; | 
|       this.dialogOpen = true; | 
|       this.title = "修改费用申请"; | 
|       this.dialogType = "edit"; | 
|   | 
|       const id = row.id || this.ids; | 
|       getFund(id).then(response => { | 
|         this.form = response.data; | 
|         // this.form.recordstate =-1; | 
|         // this.form.recordstatus = response.data.recordstatus + ""; | 
|         //附件处理 | 
|         this.fileList = this.form.annexbankcard | 
|           ? this.form.annexbankcard | 
|               .split(",") | 
|               .map(item => ({ url: item, name: item })) | 
|           : []; | 
|         getownFundDetail(id).then(res => { | 
|           this.fundDetails = res.data; | 
|           for (let m = 0; m < this.fundDetails.length; m++) { | 
|             this.fundDetails[m].itemArr = []; | 
|             this.getItemArr(m, this.fundDetails[m]); | 
|   | 
|             //获取费用项目的详细信息 | 
|             this.fundDetails[m].rowfeeblocks = []; | 
|   | 
|             this.fundDetails[m].rowfeeblocks.push({ | 
|               servicesscope: this.fundDetails[m].servicesscope, | 
|               expensedescribe: this.fundDetails[m].servicesscopename, | 
|               expense: this.fundDetails[m].expense, | 
|               remark: this.fundDetails[m].servicesscopename | 
|             }); | 
|             // getdetailsByItemId(this.fundDetails[m].itemid).then((res) => { | 
|             //   let fundmsg = res.data; | 
|             //   fundmsg.forEach((item) => { | 
|             //     this.fundDetails[m].rowfeeblocks.push({ | 
|             //       servicesscope: item.id, | 
|             //       expensedescribe: item.expensedescribe, | 
|             //       expense: item.expense, | 
|             //       remark: item.expensedescribe, | 
|             //     }); | 
|             //   }); | 
|             // }); | 
|           } | 
|   | 
|           if (this.fundDetails.length == 0) { | 
|             this.addRow(); | 
|           } | 
|         }); | 
|       }); | 
|     }, | 
|   | 
|     /** 查看按钮操作 */ | 
|     handleDetail(row) { | 
|       this.$router.push({ | 
|         path: "/finance/applyDetail/", | 
|         query: { | 
|           id: row.id, | 
|           businessType: "1", | 
|           operationType: "detail", | 
|           curCase: this.curCase | 
|         } | 
|       }); | 
|       return; | 
|   | 
|       this.isopen = 0; | 
|       this.reset(); | 
|       this.queryParams.params = {}; | 
|       this.dialogOpen = true; | 
|       this.title = "查看费用申请"; | 
|       this.dialogType = "detail"; | 
|       const id = row.id || this.ids; | 
|   | 
|       getFund(id).then(response => { | 
|         this.form = response.data; | 
|         let listFundflowparams = { | 
|           fundid: row.id, | 
|           fundtype: 2 | 
|         }; | 
|         //附件处理 | 
|         this.fileList = this.form.annexbankcard | 
|           ? this.form.annexbankcard | 
|               .split(",") | 
|               .map(item => ({ url: item, name: item })) | 
|           : []; | 
|   | 
|         listFundflow(listFundflowparams).then(res => { | 
|           this.fundflowList = res.rows; | 
|         }); | 
|         getownFundDetail(id).then(res => { | 
|           this.fundDetails = res.data; | 
|           for (let m = 0; m < this.fundDetails.length; m++) { | 
|             this.fundDetails[m].itemArr = []; | 
|             this.getItemArr(m, this.fundDetails[m]); | 
|             this.fundDetails[m].rowfeeblocks = []; | 
|             this.fundDetails[m].rowfeeblocks.push({ | 
|               expense: this.fundDetails[m].expense, | 
|               expensedescribe: this.fundDetails[m].servicesscopename, | 
|               remark: this.fundDetails[m].servicesscope, | 
|               servicesscope: this.fundDetails[m].servicesscope | 
|             }); | 
|           } | 
|   | 
|           if (this.fundDetails.length == 0) { | 
|             this.addRow(); | 
|           } | 
|         }); | 
|       }); | 
|     }, | 
|   | 
|     handleDelete(row) { | 
|       const ids = row.id || this.ids; | 
|       this.$modal | 
|         .confirm("是否确认删除该记录?") | 
|         .then(function() { | 
|           return delFund(ids); | 
|         }) | 
|         .then(() => { | 
|           getownFundDetail(ids).then(res => { | 
|             let listdetails = res.data; | 
|             for (let i = 0; i < listdetails.length; i++) { | 
|               delFunddetail(listdetails[i].id); | 
|             } | 
|           }); | 
|           // this.getList(); | 
|           this.getfundList(); | 
|           this.$modal.msgSuccess("删除成功"); | 
|         }) | 
|         .catch(() => {}); | 
|     }, | 
|   | 
|     /** 上报按钮操作 */ | 
|     handleUp(row) { | 
|       console.log(row); | 
|       this.$confirm("是否确认将登记记录上报?", "提示", { | 
|         confirmButtonText: "确定", | 
|         cancelButtonText: "取消", | 
|         type: "warning" | 
|       }) | 
|         .then(() => { | 
|           //查找是否存在登记完成记录 | 
|           //判断是否存在上报记录 | 
|           row.recordstatus = 0; | 
|           var currenttime = new Date(); | 
|           row.applyTime = | 
|             currenttime.getFullYear() + | 
|             "-" + | 
|             (currenttime.getMonth() + 1) + | 
|             "-" + | 
|             currenttime.getDate() + | 
|             " " + | 
|             currenttime.getHours() + | 
|             ":" + | 
|             currenttime.getMinutes() + | 
|             ":" + | 
|             currenttime.getSeconds(); | 
|   | 
|           updateFund(row).then(response => { | 
|             if (response.code == 200) { | 
|               this.$message({ | 
|                 type: "success", | 
|                 message: "提交专家费用申请审批成功!" | 
|               }); | 
|             } else { | 
|               this.$message({ | 
|                 type: "error", | 
|                 message: "提交专家费用申请失败!" | 
|               }); | 
|             } | 
|             this.loading = false; | 
|           }); | 
|         }) | 
|         .catch(() => { | 
|           this.$message({ | 
|             type: "info", | 
|             message: "已取消申请" | 
|           }); | 
|         }); | 
|     }, | 
|   | 
|     /** 提交按钮 */ | 
|     submitForm() { | 
|       this.$refs["form"].validate(valid => { | 
|         if (valid) { | 
|           this.formData = this.form; | 
|           // let totalPreTaxAmount = 0.0; | 
|           // let totalAfterTaxAmount = 0.0; | 
|           // let totalAmount = 0.0; | 
|   | 
|           //保存前校验数据 | 
|           for (let k = 0; k < this.fundDetails.length; k++) { | 
|             let tempDetail = this.fundDetails[k]; | 
|             if (tempDetail.itemid == null) { | 
|               this.$modal.msgWarning( | 
|                 "服务项目表中,第" + | 
|                   (k + 1).toString() + | 
|                   "行的服务项目未选择,请先选择服务项目后再提交保存!" | 
|               ); | 
|               return; | 
|             } | 
|   | 
|             if (tempDetail.servicesscope == null) { | 
|               this.$modal.msgWarning( | 
|                 "服务项目表中,第" + | 
|                   (k + 1).toString() + | 
|                   "行的费用说明未选择,请选择费用说明后再提交保存!" | 
|               ); | 
|               return; | 
|             } | 
|   | 
|             if (tempDetail.beneficiaryno == null) { | 
|               this.$modal.msgWarning( | 
|                 "服务项目表中,第" + | 
|                   (k + 1).toString() + | 
|                   "行的服务人员姓名为选择,请选择人员后再提交保存!" | 
|               ); | 
|               return; | 
|             } | 
|   | 
|             // //判断单位 unitSel | 
|             // try { | 
|             //   let unitIndex = this.unitList.findIndex( | 
|             //     (item) => tempDetail.unitno == item.organizationid | 
|             //   ); | 
|             //   if (unitIndex > -1) { | 
|             //     tempDetail.unitname = this.unitList[unitIndex].organizationname; | 
|             //   } else { | 
|             //     tempDetail.unitname = tempDetail.unitno; | 
|             //   } | 
|             // } catch { | 
|             //   tempDetail.unitname = tempDetail.unitno; | 
|             // } | 
|           } | 
|   | 
|           //附件处理 | 
|           let list = this.fileList; | 
|           if (list.length > 0) { | 
|             this.form.annexfiles = list.map(item => item.url).join(","); | 
|           } | 
|   | 
|           //处理明细 | 
|           for (let i = 0; i < this.fundDetails.length; i++) { | 
|             let tempDetail = this.fundDetails[i]; | 
|             //获取服务项目明细 | 
|             let tempItemArr = tempDetail.itemArr; | 
|             let itemIndex = tempItemArr.findIndex( | 
|               item => tempDetail.itemid == item.id | 
|             ); | 
|             if (itemIndex > -1) { | 
|               tempDetail.itemname = tempItemArr[itemIndex].itemName; | 
|               tempDetail.itemid = tempItemArr[itemIndex].id; | 
|             } | 
|   | 
|             //获取applytypename、服务费用大类 | 
|             let applytypeIndex = this.rowfeeItemTypes.findIndex( | 
|               item => tempDetail.applytype == item.value | 
|             ); | 
|             if (applytypeIndex > -1) { | 
|               tempDetail.applytypename = this.rowfeeItemTypes[ | 
|                 applytypeIndex | 
|               ].label; | 
|               tempDetail.subjecttype = this.rowfeeItemTypes[ | 
|                 applytypeIndex | 
|               ].subjecttype; | 
|               tempDetail.subjecttypename = this.rowfeeItemTypes[ | 
|                 applytypeIndex | 
|               ].subjecttypename; | 
|             } | 
|             this.fundDetails[i] = tempDetail; | 
|             /* | 
|             //计算个税             | 
|             //if (isNaN(parseFloat(tempDetail.taxedamount))) | 
|             //获取参数 | 
|             this.taxParam.beneficiaryNo = tempDetail.beneficiaryno; | 
|             this.taxParam.startTime = this.form.createTime.substring(0, 10); | 
|             // 计算税后金额 | 
|             if (tempDetail.taxedamount == undefined || tempDetail.taxedamount == null || tempDetail.taxedamount == 0 || tempDetail.taxedamount == '') { | 
|               //获取参数 | 
|               this.taxParam.money = tempDetail.amount.toString(); | 
|               getTaxByBeneFiciaryNo(this.taxParam).then((res) => { | 
|                 if (res.code == 200) { | 
|                   tempDetail.taxamount = res.data; | 
|                   tempDetail.taxedamount = tempDetail.amount - tempDetail.taxamount; | 
|                   this.fundDetails[k] = tempDetail; | 
|   | 
|                   this.totalAfterTaxAmount += parseFloat(tempDetail.taxedamount); | 
|                   this.totalAmount += parseFloat(tempDetail.amount); | 
|                 } | 
|               }); | 
|             } | 
|   | 
|             // 计算税前金额 | 
|             if (tempDetail.amount == undefined || tempDetail.amount == null || tempDetail.amount == 0 || tempDetail.amount == '') { | 
|               //获取参数 | 
|               this.taxParam.money = tempDetail.taxedamount.toString(); | 
|               getTaxBeforeByAfterMoney(this.taxParam).then((res) => { | 
|                 if (res.code == 200) { | 
|                   tempDetail.taxamount = res.data.nowTax; | 
|                   tempDetail.amount = parseFloat(res.data.nowTaxBeforeMoney); | 
|                   this.fundDetails[k] = tempDetail; | 
|   | 
|                   this.totalAfterTaxAmount += parseFloat(tempDetail.taxedamount); | 
|                   this.totalAmount += parseFloat(tempDetail.amount); | 
|                 } | 
|               }); | 
|             } | 
|             */ | 
|           } | 
|           //费用合计 | 
|           // 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.fundDetails.map(item => { | 
|             this.form.serviceFunddetails += item.amount; | 
|           }); | 
|           this.form.serviceFunddetails = this.fundDetails; | 
|   | 
|           if (this.form.id != null) { | 
|             // updateFund(this.form).then((response) => { | 
|             //   if (response.code === 200) { | 
|             //     this.loading = false; | 
|             //     for (let m = 0; m < this.fundDetails.length; m++) { | 
|             //       if (this.fundDetails[m].id > 0) { | 
|             //         updateFunddetail(this.fundDetails[m]).then((response2) => { if (response.code != 200) { this.$modal.msgError("专家劳务费保存失败1:" + response.msg); } }); | 
|             //       } else { | 
|             //         addFunddetail(this.fundDetails[m]).then((response2) => { if (response.code != 200) { this.$modal.msgError("专家劳务费保存失败2:" + response.msg); } }); | 
|             //       } | 
|             //     } | 
|             //     this.$modal.msgSuccess("专家劳务费保存成功!"); | 
|             //   } else { | 
|             //     this.$modal.msgError("专家劳务费保存失败:" + response.msg); | 
|             //   } | 
|             // }); | 
|           } else { | 
|             this.form.recordstatus = -1; | 
|   | 
|             // addorupdateFund(this.form).then((response) => { | 
|             //   if (response.code === 200) { | 
|             //     this.selectDonotor(this.curCase); | 
|             //   } else { | 
|             //     this.$modal.msgError("专家劳务费保存失败:" + response.msg); | 
|             //   } | 
|             // }); | 
|           } | 
|   | 
|           addorupdateFund(this.form).then(response => { | 
|             if (response.code === 200) { | 
|               this.selectDonotor(this.curCase); | 
|               this.$modal.msgSuccess("专家劳务费保存成功!"); | 
|             } else { | 
|               this.$modal.msgError("专家劳务费保存失败:" + response.msg); | 
|             } | 
|           }); | 
|   | 
|           //关闭窗口 | 
|           this.loading = false; | 
|           this.dialogOpen = false; | 
|           // this.getfundList(); | 
|           this.getList(); | 
|           this.selectDonotor(this.curCase); | 
|         } | 
|       }); | 
|     }, | 
|   | 
|     // 取消按钮 | 
|     cancel() { | 
|       this.dialogOpen = false; | 
|       this.reset(); | 
|     }, | 
|   | 
|     // 表单重置 | 
|     reset() { | 
|       this.form = { | 
|         recordstate: -1, | 
|         userno: null, | 
|         username: null, | 
|         id: 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, | 
|         applytype: "1", | 
|         servicetypename: null, | 
|         servicesscope: null, | 
|         servicesscopename: null | 
|       }; | 
|       this.resetForm("form"); | 
|       //清空附件 | 
|       this.fileList = []; | 
|     }, | 
|   | 
|     ShowDetailDialog(spoce, showType) { | 
|       this.expertfrom = "1"; | 
|       this.funddetailForm.index = spoce.$index; | 
|       this.funddetailForm.beneficiaryname = spoce.row.beneficiaryname; | 
|       this.funddetailForm.beneficiaryno = spoce.row.beneficiaryno; | 
|       this.funddetailForm.unitno = spoce.row.unitno; | 
|       this.funddetailForm.unitname = spoce.row.unitname; | 
|       this.funddetailForm.expertname = ""; | 
|       this.funddetailForm.expertidcardno = ""; | 
|       this.funddetailForm.expertunitno = ""; | 
|       this.funddetailForm.expertunitname = ""; | 
|       this.funddetailForm.experttitle = ""; | 
|       this.funddetailForm.expertdepositbank = ""; | 
|       this.funddetailForm.expertbankcardno = ""; | 
|   | 
|       this.showDetailInfoDialog = true; | 
|       this.showDetailInfoDialogType = showType; | 
|     }, | 
|   | 
|     ConfirmDetailDialog() { | 
|       let tempIndex = this.funddetailForm.index; | 
|       let tempName = this.funddetailForm.beneficiaryname; | 
|       let tempUnitname = this.funddetailForm.unitname; | 
|       let singleDetail = this.fundDetails[tempIndex]; | 
|   | 
|       if (this.showDetailInfoDialogType == "name") { | 
|         if (this.expertfrom == "1") { | 
|           //从专家列表获取信息 | 
|           this.personlist.map(res => { | 
|             if (tempName == res.username) { | 
|               singleDetail.beneficiaryno = res.userno; | 
|               singleDetail.beneficiaryname = res.username; | 
|               singleDetail.bankcardno = res.bankcardno; | 
|               singleDetail.branchbankname = res.branchbankname; | 
|               singleDetail.depositbank = res.depositbank; | 
|               singleDetail.idcardno = res.idcardno; | 
|               singleDetail.phone = res.telephone; | 
|               singleDetail.title = res.title; | 
|               singleDetail.unitname = res.unitname; | 
|               singleDetail.unitno = parseInt(res.unitno); | 
|             } | 
|           }); | 
|         } else { | 
|           //保存新增专家 | 
|           this.expertform.id = null; | 
|           this.expertform.userno = | 
|             this.personlist[this.personlist.length - 1].id + 1; | 
|           this.expertform.usertype = "expert"; | 
|           this.expertform.username = this.funddetailForm.expertname; | 
|           this.expertform.idcardno = this.funddetailForm.expertidcardno; | 
|           this.expertform.sex = null; | 
|           this.expertform.telephone = null; | 
|           this.expertform.address = null; | 
|           this.expertform.wbm = null; | 
|           this.expertform.pym = null; | 
|   | 
|           this.expertform.unitno = this.funddetailForm.expertunitno; | 
|           try { | 
|             let unitIndex = this.unitList.findIndex( | 
|               item => this.expertform.unitno == item.organizationid | 
|             ); | 
|             if (unitIndex > -1) { | 
|               this.expertform.unitname = this.unitList[ | 
|                 unitIndex | 
|               ].organizationname; | 
|             } else { | 
|               this.expertform.unitname = this.expertform.unitno; | 
|             } | 
|           } catch { | 
|             this.expertform.unitname = this.expertform.unitno; | 
|           } | 
|           this.expertform.title = this.funddetailForm.experttitle; | 
|           this.expertform.personnelunitno = null; | 
|   | 
|           this.expertform.depositbank = this.funddetailForm.expertdepositbank; | 
|           this.expertform.bankcardno = this.funddetailForm.expertbankcardno; | 
|           this.expertform.branchbankname = null; | 
|           this.expertform.remark = null; | 
|           this.expertform.del_flag = "0"; | 
|   | 
|           addExternalperson(this.expertform).then(response => { | 
|             if (response.code == 200) { | 
|               this.$modal.msgSuccess("新增专家信息成功!"); | 
|   | 
|               listExternalperson().then(res => { | 
|                 this.personlist = res.rows; | 
|                 //从专家列表获取信息 | 
|                 this.personlist.map(res => { | 
|                   if (res.username == this.funddetailForm.expertname) { | 
|                     singleDetail.beneficiaryno = res.userno; | 
|                     singleDetail.beneficiaryname = res.username; | 
|                     singleDetail.bankcardno = res.bankcardno; | 
|                     singleDetail.branchbankname = res.branchbankname; | 
|                     singleDetail.depositbank = res.depositbank; | 
|                     singleDetail.idcardno = res.idcardno; | 
|                     singleDetail.phone = res.telephone; | 
|                     singleDetail.title = res.title; | 
|                     singleDetail.unitname = res.unitname; | 
|                     singleDetail.unitno = parseInt(res.unitno); | 
|                   } | 
|                 }); | 
|               }); | 
|             } | 
|           }); | 
|         } | 
|       } else if (this.showDetailInfoDialogType == "unit") { | 
|         singleDetail.unitno = this.funddetailForm.unitno; | 
|         try { | 
|           let unitIndex = this.unitList.findIndex( | 
|             item => singleDetail.unitno == item.organizationid | 
|           ); | 
|           if (unitIndex > -1) { | 
|             singleDetail.unitname = this.unitList[unitIndex].organizationname; | 
|           } else { | 
|             singleDetail.unitname = singleDetail.unitno; | 
|           } | 
|         } catch { | 
|           singleDetail.unitname = singleDetail.unitno; | 
|         } | 
|       } | 
|   | 
|       this.fundDetails[tempIndex] = singleDetail; | 
|       this.showDetailInfoDialog = false; | 
|     }, | 
|   | 
|     //获取当前用户信息 | 
|     getUsermsg() { | 
|       getUserProfile().then(response => { | 
|         this.defaultperson = response.data; | 
|         this.standardlevel = response.data.standardlevel; | 
|         if ( | 
|           this.defaultperson.createBy == "admin" || | 
|           this.defaultperson.createBy == "001" || | 
|           this.defaultperson.createBy == "002" | 
|         ) { | 
|           this.ismanager = true; | 
|         } else { | 
|           this.ismanager = false; | 
|         } | 
|       }); | 
|     }, | 
|   | 
|     //获取费用项目的备注信息 | 
|     selectedRemark(row) { | 
|       row.rowfeeblocks.forEach((item, i) => { | 
|         if (item.servicesscope === row.servicesscope) { | 
|           row.servicesscopename = item.expensedescribe; | 
|           if (row.servicesscopename.includes("税后")) { | 
|             row.amount = 0.0; | 
|             row.taxamount = 0.0; | 
|             row.taxedamount = item.expense; | 
|           } else { | 
|             row.amount = item.expense; | 
|             row.taxamount = 0.0; | 
|             row.taxedamount = 0.0; | 
|           } | 
|   | 
|           this.form.serviceFunddetails = 0; | 
|           this.fundDetails.map(item => { | 
|             this.form.serviceFunddetails += item.amount; | 
|           }); | 
|         } | 
|       }); | 
|     }, | 
|   | 
|     //校验收费项目是否重复 | 
|     verifyFeeItem(row) { | 
|       row.itemArr.map(res => { | 
|         if (row.itemid === res.id) { | 
|           row.remark = res.itemDescribe; | 
|           row.itemcode = res.itemCode; | 
|         } | 
|       }); | 
|       if (this.businessType == "1") { | 
|         var repeatNum = 0; | 
|         this.fundDetails.map(res => { | 
|           if (res.applytype === row.applytype && res.itemid == row.itemid) { | 
|             repeatNum++; | 
|           } | 
|         }); | 
|         if (repeatNum > 1) { | 
|           this.$modal.msgWarning("您已经提交过该服务项目了"); | 
|         } | 
|       } | 
|   | 
|       //获取费用项目的详细信息 | 
|       getdetailsByItemId(row.itemid).then(res => { | 
|         let fundmsg = res.data; | 
|         let rowfeeblocks = []; | 
|         fundmsg.forEach(item => { | 
|           rowfeeblocks.push({ | 
|             expense: item.expense, | 
|             expensedescribe: item.expensedescribe, | 
|             remark: item.expensedescribe, | 
|             servicesscope: item.id | 
|           }); | 
|         }); | 
|   | 
|         row.rowfeeblocks = rowfeeblocks; | 
|         row.servicesscope = null; | 
|         row.servicesscopename = ""; | 
|       }); | 
|     }, | 
|   | 
|     // | 
|     selectamount(row) { | 
|       this.rowfeeblocks.forEach((item, i) => { | 
|         if (item.expense === row.amount) { | 
|           row.remark = item.expensedescribe; | 
|         } | 
|       }); | 
|     }, | 
|   | 
|     /** 查询捐献人道慰问金列表 */ | 
|     getList() { | 
|       this.loading = true; | 
|       this.queryParams.params = {}; | 
|       if (null != this.daterangeReporttime && "" != this.daterangeReporttime) { | 
|         this.queryParams.params[ | 
|           "beginReporttime" | 
|         ] = this.daterangeReporttime[0]; | 
|         this.queryParams.params["endReporttime"] = this.daterangeReporttime[1]; | 
|       } | 
|       // this.queryParams.residencetown = this.$refs.areaSelect.getQu(); | 
|   | 
|       listDonatebaseinfo(this.queryParams).then(response => { | 
|         this.donatebaseinfoList = response.rows; | 
|         this.total = response.total; | 
|         this.loading = false; | 
|       }); | 
|     }, | 
|   | 
|     getUnitList() { | 
|       listOrganization(3).then(response => { | 
|         for (let i = 0; i < response.rows.length; i++) { | 
|           this.unitList.push({ | 
|             //organizationid: response.rows[i].organizationid, | 
|             organizationid: response.rows[i].id, | 
|             organizationname: response.rows[i].organizationname | 
|           }); | 
|         } | 
|       }); | 
|     }, | 
|   | 
|     getBaseInfoList() { | 
|       this.loading = true; | 
|       listDonatebaseinfo(this.queryParams).then(response => { | 
|         this.donatebaseinfoList = response.rows; | 
|         this.total = response.total; | 
|         this.loading = false; | 
|       }); | 
|     }, | 
|   | 
|     //点击捐献案例列表触发方法 | 
|     selectDonotor(row, column, event) { | 
|       this.curCase = row; | 
|       this.getfundList(); | 
|     }, | 
|     allgetfundList() { | 
|       this.loading = true; | 
|       this.reset(); | 
|       this.fundQueryParam.infoid = null; | 
|       listFund(this.fundQueryParam).then(response => { | 
|         this.loading = false; | 
|         this.donateconsolationfundList = response.rows; | 
|       }); | 
|     }, | 
|     getfundList() { | 
|       this.loading = true; | 
|       this.reset(); | 
|       this.fundQueryParam.infoid = this.curCase.id; | 
|       listFund(this.fundQueryParam).then(response => { | 
|         this.loading = false; | 
|         this.donateconsolationfundList = response.rows; | 
|       }); | 
|     }, | 
|   | 
|     //导入所有项目 | 
|     addAllItems() { | 
|       this.loading = true; | 
|       this.fundDetails = this.fundDetails.filter( | 
|         r => r.applytype != "" && r.applytype != null | 
|       ); | 
|       let listAdd = []; | 
|       //let listAdd = this.fundDetails; | 
|       for (let i = 0; i < this.feeItemTypes.length; i++) { | 
|         for (let j = 0; j < this.feeItemTypes[i].itemDetails.length; j++) { | 
|           let list = this.fundDetails.filter( | 
|             r => | 
|               r.applytype == this.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: "点击选择", | 
|               unitname: "点击选择", | 
|               itemArr: this.feeItemTypes[i].itemDetails, | 
|               rowfeeblocks: null, | 
|               servicesscope: null, | 
|               servicesscopename: "" | 
|             }; | 
|   | 
|             //获取收费项目的说明信息 | 
|             getdetailsByItemId(rowData.itemid).then(res => { | 
|               let fundmsg = res.data; | 
|               let rowfeeblocks = []; | 
|               fundmsg.forEach(item => { | 
|                 rowfeeblocks.push({ | 
|                   expense: item.expense, | 
|                   expensedescribe: item.expensedescribe, | 
|                   remark: item.expensedescribe, | 
|                   servicesscope: item.id | 
|                 }); | 
|               }); | 
|   | 
|               rowData.rowfeeblocks = rowfeeblocks; | 
|               rowData.servicesscope = null; | 
|               rowData.servicesscopename = ""; | 
|             }); | 
|   | 
|             listAdd.push(rowData); | 
|           } | 
|         } | 
|       } | 
|       this.fundDetails = listAdd; | 
|       this.loading = false; | 
|       // let Outerarr = this.fundDetails; | 
|       // Outerarr.map((res) => { | 
|       //   let onelist = this.rowfeeItemTypes; | 
|       //   onelist.map((item) => { | 
|       //     //第一层不相等时; | 
|       //     if (res.applytype !== item.itemType) { | 
|       //       this.addRow(); | 
|       //     } | 
|       //   }); | 
|       // }); | 
|     }, | 
|   | 
|     addAll(row, i, arr) { | 
|       row.itemArr.map(res => { | 
|         if (res.id !== row.itemid) { | 
|           let a = arr.length; | 
|           this.addRow(); | 
|           arr[a].itemArr = row.itemArr; | 
|           arr[a].applytype = row.applytype; | 
|           arr[a].itemid = res.id; | 
|   | 
|           getdetailsByItemId(arr[a].itemid).then(res => { | 
|             let fundmsg = res.data; | 
|             let rowfeeblocks = []; | 
|             fundmsg.forEach(item => { | 
|               rowfeeblocks.push({ | 
|                 expense: item.expense, | 
|                 expensedescribe: item.expensedescribe, | 
|                 remark: item.expensedescribe, | 
|                 servicesscope: item.id | 
|               }); | 
|             }); | 
|             row.rowfeeblocks = rowfeeblocks; | 
|           }); | 
|         } | 
|       }); | 
|     }, | 
|   | 
|     //新增一行 | 
|     addRow(rowIndex) { | 
|       let rowData = { | 
|         orderno: null, | 
|         id: null, | 
|         fundid: null, | 
|         beneficiaryname: "点击选择", | 
|         beneficiaryno: null, | 
|         unitname: "点击选择", | 
|         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, | 
|         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, | 
|         itemArr: [], | 
|         servicesscope: null, | 
|         rowfeeblocks: [] | 
|       }; | 
|       if (rowIndex == undefined || rowIndex == null || rowIndex < 0) { | 
|         this.fundDetails.push(rowData); | 
|       } else { | 
|         this.fundDetails.splice(rowIndex + 1, 0, rowData); | 
|       } | 
|       for (let i = 0; i < this.fundDetails.length; i++) { | 
|         this.fundDetails[i].orderno = i + 1; | 
|       } | 
|     }, | 
|   | 
|     //加载服务项目 | 
|     loadItemType(row) { | 
|       let list = this.feeItemTypes.filter(r => r.itemType == row.applytype); | 
|       row.itemArr = list[0].itemDetails; | 
|       row.itemid = null; | 
|       this.$forceUpdate(); | 
|       //this.loading = true; | 
|       // getItemNames(row.applytype).then((res) => { | 
|       //   this.loading = false; | 
|       //   row.itemid = null; | 
|       //   row.itemArr = res.data; | 
|       //   this.$forceUpdate(); | 
|       // }); | 
|     }, | 
|   | 
|     //获取专家列表 | 
|     getExternalpersonList() { | 
|       listExternalperson().then(res => { | 
|         this.personlist = res.rows; | 
|       }); | 
|     }, | 
|   | 
|     //专家人员列表 | 
|     selectReporters() { | 
|       let types = ["expert"]; | 
|       let templist = []; | 
|       for (let i = 0; i < types.length; i++) { | 
|         templist = []; | 
|         listReportname(types[i]).then(res => { | 
|           for (let j = 0; j < res.data.length; j++) { | 
|             templist.push({ | 
|               reportName: res.data[j].reportName, | 
|               reportNo: res.data[j].reportNo | 
|             }); | 
|           } | 
|           this.expertlist = this.expertlist.concat(templist); | 
|         }); | 
|       } | 
|     }, | 
|   | 
|     selectpersonmsg(row) { | 
|       // if(row.beneficiaryname) | 
|       this.personlist.map(res => { | 
|         if (row.beneficiaryname == res.username) { | 
|           row.beneficiaryno = res.userno; | 
|           row.beneficiaryname = res.username; | 
|           row.bankcardno = res.bankcardno; | 
|           row.branchbankname = res.branchbankname; | 
|           row.depositbank = res.depositbank; | 
|           row.idcardno = res.idcardno; | 
|           row.phone = res.phonenumber; | 
|           row.title = res.title; | 
|           row.unitname = res.unitname; | 
|           row.unitno = res.unitno; | 
|         } else { | 
|           row.beneficiaryno = row.beneficiaryname; | 
|         } | 
|       }); | 
|     }, | 
|   | 
|     getUserList() { | 
|       listUser().then(res => { | 
|         this.userlist = res.data; | 
|       }); | 
|     }, | 
|   | 
|     //筛查出对应的费用项目 | 
|     searchItemType(val, scope) { | 
|       let result = []; | 
|       if (val != "") { | 
|         let tempItemArr = scope.row.itemArr; | 
|         for (let i = 0; i < tempItemArr.length; i++) { | 
|           let pym = tempItemArr[i].itempinyin; | 
|           if (pym != null && pym != undefined && pym != "") { | 
|             if (pym.indexOf(val) != -1) { | 
|               result.push(tempItemArr[i]); | 
|             } | 
|           } | 
|         } | 
|         scope.row.itemArr = result; | 
|       } else { | 
|         getItemNames(scope.row.applytype).then(res => { | 
|           scope.row.itemArr = res.data; | 
|           //this.$set(this.fundDetails, rowindex, row); | 
|         }); | 
|       } | 
|     }, | 
|   | 
|     deleteRows(row, index, rows) { | 
|       this.$confirm("是否确认删除?", "提示", { | 
|         confirmButtonText: "确定", | 
|         cancelButtonText: "取消", | 
|         type: "success" | 
|       }) | 
|         .then(() => { | 
|           if (row.id !== null) { | 
|             delFunddetail(row.id).then(res => { | 
|               if (res.code === 200) { | 
|                 this.$confirm("删除成功", "提示", { | 
|                   confirmButtonText: "确定", | 
|                   cancelButtonText: "取消", | 
|                   type: "success" | 
|                 }).then(() => { | 
|                   this.$set(rows, rows.splice(index, 1)); | 
|                   getownFundDetail(this.form.id).then(res => { | 
|                     this.$set(this.fundDetails, res.data); | 
|                     this.sumTotalFee(); | 
|                     // this.fundDetails = res.data | 
|                   }); | 
|                 }); | 
|               } | 
|               // getownFundDetail(this.form.id).then(res=>{ | 
|               // this.$set(this.fundDetails,res.data) | 
|               // this.fundDetails = res.data | 
|               // }) | 
|             }); | 
|           } else { | 
|             rows.splice(index, 1); | 
|             this.sumTotalFee(); | 
|           } | 
|         }) | 
|         .catch(() => { | 
|           //几点取消的提示 | 
|         }); | 
|     }, | 
|   | 
|     //计算个税 | 
|     calculateTax() {}, | 
|   | 
|     //计算总金额 | 
|     sumTotalFee(row) { | 
|       let allSum = 0; | 
|       if (this.form.applytype != null) { | 
|         for (let i = 0; i < this.fundDetails.length; i++) { | 
|           let totalFee = 0; | 
|           let taxFee = 0; | 
|           if (this.form.applytype == 1 || this.form.applytype == 2) { | 
|             //计算当前报销内容费用合计 | 
|             if (!isNaN(parseFloat(this.fundDetails[i].amount))) { | 
|               totalFee += parseFloat(this.fundDetails[i].amount); | 
|               taxFee += parseFloat(this.fundDetails[i].amount); | 
|             } | 
|             if (!isNaN(parseFloat(this.fundDetails[i].taxamount))) { | 
|               totalFee -= parseFloat(this.fundDetails[i].taxamount); | 
|               taxFee -= parseFloat(this.fundDetails[i].taxamount); | 
|             } | 
|           } else if (this.form.applytype == 3) { | 
|             if ( | 
|               !isNaN(parseFloat(this.fundDetails[i].price)) && | 
|               !isNaN(parseFloat(this.fundDetails[i].quantity)) | 
|             ) { | 
|               totalFee += | 
|                 parseFloat(this.fundDetails[i].price) * | 
|                 parseFloat(this.fundDetails[i].quantity); | 
|             } | 
|           } | 
|   | 
|           //税前、税后需要独立录入 | 
|           // if (!isNaN(parseFloat(taxFee))) { | 
|           //   this.fundDetails[i].taxedamount = taxFee.toFixed(2); | 
|           // } | 
|   | 
|           allSum += totalFee; | 
|         } | 
|       } | 
|       // this.form.amountrequested = allSum.toFixed(2); | 
|       // this.$forceUpdate(); | 
|     }, | 
|   | 
|     //获取费用类型 | 
|     getCurFundType() { | 
|       getFundTypeAll(this.currentApplyType).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 | 
|           }); | 
|         } | 
|       }); | 
|     }, | 
|   | 
|     getItemArr(rowindex, row) { | 
|       let list = this.feeItemTypes.filter(r => r.itemType == row.applytype); | 
|       row.itemArr = list[0].itemDetails; | 
|       this.$set(this.fundDetails, rowindex, row); | 
|       //this.loading = true; | 
|       // getItemNames(row.applytype).then((res) => { | 
|       //   this.loading = false; | 
|       //   row.itemArr = res.data; | 
|       //   this.$set(this.fundDetails, rowindex, row); | 
|       // }); | 
|     }, | 
|   | 
|     mixExport(scope) { | 
|       this.dayin(scope.row.id); | 
|       //this.totaldayin(id); | 
|     }, | 
|   | 
|     //专家费劳务打印 | 
|     dayin(id) { | 
|       getdownloadLW(id).then(res => { | 
|         var fileUrl = res; | 
|         //获取当前网址 | 
|         var urlBase = process.env.VUE_APP_BASE_API; | 
|         var curWWWPath = window.document.location.href; | 
|         var pos = curWWWPath.indexOf(window.document.location.pathname); | 
|         // 创建a标签 | 
|         var aEle = document.createElement("a"); | 
|         aEle.href = | 
|           curWWWPath.substring(0, pos) + urlBase + fileUrl["downloadUrl"]; | 
|         console.log(aEle.href); | 
|         // 添加Authorization头部 | 
|         fetch(aEle.href, { | 
|           headers: this.headers | 
|         }) | 
|           .then(response => { | 
|             // 将文件下载链接作为blob对象进行下载 | 
|             return response.blob(); | 
|           }) | 
|           .then(blob => { | 
|             const url = window.URL.createObjectURL(new Blob([blob])); | 
|             console.log(url); | 
|             const link = document.createElement("a"); | 
|             link.href = url; | 
|             const name = fileUrl["downloadName"]; | 
|             link.setAttribute("download", name); // 替换file.pdf为实际的文件名 | 
|             document.body.appendChild(link); | 
|             link.click(); | 
|             link.parentNode.removeChild(link); | 
|           }); | 
|       }); | 
|     }, | 
|   | 
|     //汇总打印 | 
|     totaldayin(e) { | 
|       // const id =this.row.id | 
|       getdownloadBX(e).then(res => { | 
|         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" | 
|           }); | 
|         } | 
|       }); | 
|     }, | 
|   | 
|     //文件上传 | 
|     handleUploadError() {}, | 
|   | 
|     /** 下载文件按钮操作 */ | 
|     downFile(item) { | 
|       const url = process.env.VUE_APP_BASE_API + item.url; | 
|       var a = document.createElement("a"); | 
|       var event = new MouseEvent("click"); | 
|       a.download = item.name; | 
|       a.href = url; | 
|       a.dispatchEvent(event); | 
|     }, | 
|   | 
|     remove(file) { | 
|       this.fileList.splice(this.fileList.indexOf(file), 1); | 
|     }, | 
|   | 
|     handleExceed() { | 
|       this.$message.error(`上传文件数量不能超过 ${5} 个!`); | 
|     }, | 
|   | 
|     //文件上传成功回调 | 
|     uploadSccess(response, file, fileList) { | 
|       //获取附件信息位置 | 
|       if (response.code == 200) { | 
|         this.form.filename = file.raw.name; | 
|         this.$modal.msgSuccess(response.msg); | 
|         this.fileList.push({ name: response.fileName, url: response.fileName }); | 
|       } else { | 
|         console.log(response.msg); | 
|       } | 
|     }, | 
|     rowClassName({ row, column, rowIndex, columnIndex }) { | 
|       if (row.recordstatus == -1 && row.backflowlevel != null) { | 
|         return "error-row"; | 
|       } | 
|       return ""; | 
|     } | 
|   } | 
| }; | 
| </script> | 
| <style lang="scss" scoped> | 
| /* @import url(); 引入公共css类 */ | 
| .button-delete { | 
|   color: rgb(236, 69, 69); | 
| } | 
| ::v-deep.el-table .error-row { | 
|   background: #fcebeb; | 
| } | 
| </style> |