1
yxh
2023-07-20 935c201bdcf4adde998d46893dd0fa3eddf400bb
src/views/project/fund/fundApply/index.vue
@@ -1,58 +1,28 @@
<!--  -->
<template>
  <div class="app-container">
    <el-form
      :model="queryParams"
      ref="queryForm"
      :inline="true"
      label-width="70px"
    >
    <el-form :model="queryParams" ref="queryForm" :inline="true" label-width="70px">
      <el-row align="left">
        <el-col :span="6">
          <el-form-item label="姓名" prop="name">
            <el-input
              v-model="queryParams.name"
              placeholder="请输入姓名"
              clearable
              size="small"
              @keyup.enter.native="handleQuery"
            />
            <el-input v-model="queryParams.name" placeholder="请输入姓名" clearable size="small"
              @keyup.enter.native="handleQuery" />
          </el-form-item>
        </el-col>
        <el-col :span="6">
          <el-form-item label="捐献进度" prop="recordstate">
            <el-select
              v-model="queryParams.recordstate"
              placeholder="请选择记录状态"
              clearable
              size="small"
            >
              <el-option
                v-for="dict in dict.type.sys_DonationStatus"
                :key="dict.value"
                :label="dict.label"
                :value="dict.value"
              />
            <el-select v-model="queryParams.recordstate" placeholder="请选择记录状态" clearable size="small">
              <el-option v-for="dict in dict.type.sys_DonationStatus" :key="dict.value" :label="dict.label"
                :value="dict.value" />
            </el-select>
          </el-form-item>
        </el-col>
        <el-col :span="6">
          <el-button
            type="primary"
            icon="el-icon-search"
            size="mini"
            @click="handleQuery"
            >搜索</el-button
          >
          <el-button icon="el-icon-refresh" size="mini" @click="resetQuery"
            >重置</el-button
          >
          <el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">搜索</el-button>
          <el-button icon="el-icon-refresh" size="mini" @click="resetQuery">重置</el-button>
        </el-col>
      </el-row>
    </el-form>
    <el-row>
      <el-col :span="8">
        <el-card shadow="never">
@@ -63,184 +33,75 @@
              </el-row>
            </el-col>
          </el-row>
          <el-table
            v-loading="loading"
            border
            highlight-current-row
            :data="donatebaseinfoList"
            @row-click="selectDonotor"
          >
          <el-table v-loading="loading" border 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"
                />
                <dict-tag :options="dict.type.sys_DonationStatus" :value="scope.row.recordstate" />
              </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"
          />
          <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="16">
        <el-card shadow="naver">
          <el-form ref="infoform" label-width="100px">
            <el-row :gutter="4" align="right" class="mb8">
              <el-col :span="1.5">
                <el-button
                  type="primary"
                  plain
                  icon="el-icon-plus"
                  size="mini"
                  @click="handleAdd"
                  v-hasPermi="['project:ethicalfund:add']"
                  >伦理审查专家费申请</el-button
                >
                <el-button type="primary" plain icon="el-icon-plus" size="mini" @click="handleAdd"
                  v-hasPermi="['project:ethicalfund:add']">伦理审查专家费申请</el-button>
              </el-col>
              <el-col :span="9">
                <el-form-item label="捐献编号">
                  <el-input v-model="curCase.donorno" disabled></el-input>
                  <el-input v-model="curCase.donorno" :disabled="true"></el-input>
                </el-form-item>
              </el-col>
              <el-col :span="9">
                <el-form-item label="姓名">
                  <el-input v-model="curCase.name" disabled></el-input>
                  <el-input v-model="curCase.name" :disabled="true"></el-input>
                </el-form-item>
              </el-col>
              <el-col> </el-col>
            </el-row>
            <el-row>
              <el-table
                v-loading="loading"
                border
                :data="donateconsolationfundList"
              >
                <el-table-column
                  label="申请日期"
                  align="center"
                  prop="createTime"
                  width="180px"
                />
                <el-table-column
                  label="申请人"
                  align="center"
                  prop="username"
                  width="120px"
                />
                <el-table-column
                  label="审核状态"
                  width="150"
                  align="center"
                  prop="recordstatus"
                >
              <el-table v-loading="loading" border :data="donateconsolationfundList">
                <el-table-column label="申请日期" align="center" prop="createTime" width="180px" />
                <el-table-column label="申请人" align="center" prop="username" width="120px" />
                <el-table-column label="审核状态" width="150" align="center" prop="recordstatus">
                  <template slot-scope="scope">
                    <dict-tag
                      :options="dict.type.sys_recordstatus"
                      :value="scope.row.recordstatus"
                    />
                    <dict-tag :options="dict.type.sys_recordstatus" :value="scope.row.recordstatus" />
                  </template>
                </el-table-column>
                <el-table-column
                  label="税前金额合计"
                  align="center"
                  prop="pretaxcost"
                  width="120px"
                />
                <el-table-column
                  label="税后金额合计"
                  align="center"
                  prop="taxedcost"
                  width="120px"
                />
                <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"
                >
                <el-table-column label="税前金额合计" align="center" prop="pretaxcost" width="120px" />
                <el-table-column label="税后金额合计" align="center" prop="taxedcost" width="120px" />
                <el-table-column label="申请金额" align="center" prop="amountrequested" width="120px" />
                <el-table-column label="所属组别" align="center" prop="deptmentname" width="150px" />
                <el-table-column label="组长" align="center" prop="managername" width="220px" />
                <!--
                <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)"
                      v-hasPermi="['project:ethicalfund:edit']"
                      >修改</el-button
                    >
                    <el-button
                      size="mini"
                      type="text"
                      icon="el-icon-edit"
                      @click="handleDetail(scope.row)"
                      >查看</el-button
                    >
                    <el-button
                      v-if="
                        scope.row.recordstatus == -1 ||
                        scope.row.recordstatus == 1
                      "
                      size="mini"
                      type="text"
                      icon="el-icon-delete"
                      @click="handleDelete(scope.row)"
                      v-hasPermi="['project:ethicalfund:delete']"
                      >删除</el-button
                    >
                    <el-button
                      size="mini"
                      type="text"
                      icon="el-icon-download"
                      @click="mixExport(scope.row.id)"
                      v-hasPermi="['project:ethicalfund:download']"
                      >下载</el-button
                    >
                    <el-button v-if="scope.row.recordstatus == -1 ||
                      scope.row.recordstatus == 1
                      " size="mini" type="text" icon="el-icon-edit" @click="handleup(scope.row)">上报</el-button>
                    <el-button v-if="scope.row.recordstatus == -1 ||
                      scope.row.recordstatus == 1
                      " size="mini" type="text" icon="el-icon-edit" @click="handleUpdate(scope.row)"
                      v-hasPermi="['project:ethicalfund:edit']">修改</el-button>
                    <el-button size="mini" type="text" icon="el-icon-edit" @click="handleDetail(scope.row)">查看</el-button>
                    <el-button v-if="scope.row.recordstatus == -1 ||
                      scope.row.recordstatus == 1
                      " size="mini" type="text" icon="el-icon-delete" @click="handleDelete(scope.row)"
                      v-hasPermi="['project:ethicalfund:delete']">删除</el-button>
                    <el-button size="mini" type="text" icon="el-icon-download" @click="mixExport(scope.row.id)"
                      v-hasPermi="['project:ethicalfund:download']">下载</el-button>
                  </template>
                </el-table-column>
              </el-table>
@@ -251,428 +112,224 @@
    </el-row>
    <!-- 添加或修改费用申请单 -->
    <el-dialog
      :visible.sync="dialogOpen"
      :close-on-click-modal="false"
      width="1200px"
      :title="title"
      style="text-align: center"
      v-loading="loading"
    >
    <el-dialog :visible.sync="dialogOpen" :close-on-click-modal="false" width="1400px" :title="title"
      style="text-align: center" v-loading="loading">
      <el-form ref="form" :model="form" label-width="120px" :rules="rules">
        <el-row>
          <el-col :span="7">
            <el-form-item label="捐献编号" prop="donorno">
              <el-input
                disabled
                v-model="form.donorno"
                placeholder="请输入捐献编号"
                clearable
              />
        <el-row style="text-align: left">
          <el-col :span="5">
            <el-form-item label="申请日期" prop="createTime">
              <el-date-picker clearable style="width: 100%" v-model="form.createTime" type="date"
                value-format="yyyy-MM-dd HH:mm:ss" placeholder="申请日期">
              </el-date-picker>
            </el-form-item>
          </el-col>
          <el-col :span="8">
            <el-form-item label="捐献者" prop="name">
              <el-input
                disabled
                v-model="form.name"
                placeholder="请输入捐献者姓名"
                clearable
              />
            </el-form-item>
          </el-col>
          <el-col :span="7">
            <el-form-item label="审核状态" prop="recordstatus">
              <!-- <el-input
                v-model="form.recordstatus"
                placeholder="审核意见"
              /> -->
              <el-select
                v-model="form.recordstatus"
                placeholder="请选择审核状态"
                clearable
                size="small"
              >
                <el-option
                  v-for="dict in dict.type.sys_recordstatus"
                  :key="dict.value"
                  :label="dict.label"
                  :value="dict.value"
                />
          <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-row>
        <el-row>
          <el-col :span="7">
            <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-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="8">
            <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-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-form-item label="费用申请">
            <el-radio v-model="form.applytype" label="2"
              >伦理审查专家费申请</el-radio
            >
          </el-form-item>
          <el-col :span="5">
            <el-form-item label="申请类型">
              <el-radio v-model="form.applytype" label="2">伦理审查专家费申请</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="name">
              <el-input :disabled="true" v-model="form.name" placeholder="请输入捐献者姓名" clearable />
            </el-form-item>
          </el-col>
        </el-row>
        <el-row style="text-align: left"><el-col :span="5">
            <el-form-item label="申请金额" prop="amountrequested">
              <el-input v-model="form.amountrequested" placeholder="申请金额" :disabled="true" />
            </el-form-item>
          </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="pretaxcost">
              <el-input v-model="form.taxedcost" placeholder="税后金额合计" :disabled="true" />
            </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-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-row>
        <el-row style="margin-bottom: 10px">
          <el-col :span="4">
            <el-button
              @click.native.prevent="addAlls"
              type="primary"
              size="small"
            >
              服务项目导入
            <el-button @click.native.prevent="addAlls" type="primary" size="small">
              导入服务项目
            </el-button>
          </el-col>
        </el-row>
        <el-row style="margin-top: 5px; margin-bottom: 5px">
          <el-table :data="fundDetailArr" border highlight-current-row>
            <el-table-column
              prop="orderno"
              align="center"
              label="排序"
              width="80"
            >
            <el-table-column prop="orderno" align="center" label="排序" width="80">
              <template slot-scope="scope">
                <el-input v-model="scope.row.orderno" placeholder="排序" />
              </template>
            </el-table-column>
            <el-table-column
              prop="itemtype"
              align="center"
              label="费用类型"
              width="220"
            >
            <el-table-column prop="itemtype" align="center" label="费用类型" width="220">
              <template slot-scope="scope">
                <el-select
                  v-model="scope.row.applytype"
                  placeholder="费用类型"
                  @change="LoadItemTypeArr(scope.row)"
                >
                  <el-option
                    v-for="dict in fundtypeArr"
                    :key="dict.value"
                    :label="dict.label"
                    :value="dict.value"
                  ></el-option>
                <el-select v-model="scope.row.applytype" placeholder="费用类型" @change="LoadItemTypeArr(scope.row)">
                  <el-option v-for="dict in fundtypeArr" :key="dict.value" :label="dict.label"
                    :value="dict.value"></el-option>
                </el-select>
              </template>
            </el-table-column>
            <el-table-column
              prop="itemtype"
              align="center"
              label="服务项目"
              width="260"
            >
            <el-table-column prop="itemtype" align="center" label="服务项目" width="260">
              <template slot-scope="scope">
                <el-select
                  v-model="scope.row.itemid"
                  placeholder="服务项目"
                  @change="select(scope.row)"
                  clearable
                  filterable
                  allow-create
                  :filter-method="(val) => SearchItem(val, scope)"
                >
                  <el-option
                    v-for="dict in scope.row.itemArr"
                    :key="dict.index"
                    :label="dict.itemName"
                    :value="dict.id"
                  ></el-option>
                <el-select v-model="scope.row.itemid" placeholder="服务项目" @change="select(scope.row)" clearable filterable
                  allow-create :filter-method="(val) => SearchItem(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="beneficiaryno"
              align="center"
              label="姓名"
              width="120"
              v-if="form.applytype != 3"
            >
            <el-table-column prop="beneficiaryno" align="center" label="姓名" width="120" v-if="form.applytype != 3">
              <template slot-scope="scope">
                <el-button
                  type="primary"
                  plain
                  @click="ShowDetailDialog(scope, 'name')"
                  >{{ scope.row.beneficiaryname }}</el-button
                >
                <el-button type="primary" plain @click="ShowDetailDialog(scope, 'name')">{{ scope.row.beneficiaryname
                }}</el-button>
                <!-- <el-input
                  v-model="scope.row.beneficiaryname"
                  placeholder="姓名"
                /> -->
                          /> -->
              </template>
            </el-table-column>
            <el-table-column
              prop="servicesscopename"
              align="center"
              label="费用说明"
              width="180"
            >
            <el-table-column prop="servicesscopename" align="center" label="费用说明" width="180">
              <template slot-scope="scope">
                <el-select
                  v-model="scope.row.servicesscopename"
                  placeholder="费用说明"
                  clearable
                  allow-create
                  filterable
                  @change="selectremark(scope.row)"
                >
                  <el-option
                    v-for="dict in fundblock"
                    :key="dict.expensedescribe"
                    :label="dict.expensedescribe"
                    :value="dict.expensedescribe"
                  ></el-option>
                <el-select v-model="scope.row.servicesscopename" placeholder="费用说明" clearable allow-create filterable
                  @change="selectremark(scope.row)">
                  <el-option v-for="dict in fundblock" :key="dict.expensedescribe" :label="dict.expensedescribe"
                    :value="dict.expensedescribe"></el-option>
                </el-select>
              </template>
            </el-table-column>
            <el-table-column
              prop="amount"
              align="center"
              label="税前金额"
              width="120"
              v-if="form.applytype != 3"
            >
            <el-table-column prop="amount" align="center" label="税前金额" width="120" v-if="form.applytype != 3">
              <template slot-scope="scope">
                <el-input
                  v-model="scope.row.amount"
                  placeholder="税前金额"
                  @blur="
                    (val) => {
                      sumTotalFee();
                    }
                  "
                />
                <el-input v-model="scope.row.amount" placeholder="税前金额" @blur="(val) => {
                  sumTotalFee();
                }
                  " />
              </template>
            </el-table-column>
            <el-table-column
              prop="taxedamount"
              align="center"
              label="税后金额"
              width="120"
              v-if="form.applytype != '3'"
            >
            <el-table-column prop="taxedamount" align="center" label="税后金额" width="120" v-if="form.applytype != '3'">
              <template slot-scope="scope">
                <el-input
                  v-model="scope.row.taxedamount"
                  placeholder="税后金额"
                  @blur="
                    (val) => {
                      sumTotalFee();
                    }
                  "
                />
                <el-input v-model="scope.row.taxedamount" placeholder="税后金额" @blur="(val) => {
                  sumTotalFee();
                }
                  " />
              </template>
            </el-table-column>
            <el-table-column
              prop="unitno"
              align="center"
              label="单位"
              width="220"
            >
            <el-table-column prop="unitno" align="center" label="单位" width="220">
              <template slot-scope="scope">
                <el-button
                  type="primary"
                  plain
                  @click="ShowDetailDialog(scope, 'unit')"
                  >{{ scope.row.unitname }}</el-button
                >
                <el-button type="primary" plain @click="ShowDetailDialog(scope, 'unit')">{{ scope.row.unitname
                }}</el-button>
              </template>
            </el-table-column>
            <el-table-column
              prop="quantity"
              align="center"
              label="数量"
              width="120"
              v-if="form.applytype == '3'"
            >
            <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();
                    }
                  "
                />
                <el-input v-model="scope.row.quantity" placeholder="数量" @blur="(val) => {
                  sumTotalFee();
                }
                  " />
              </template>
            </el-table-column>
            <el-table-column
              prop="price"
              align="center"
              label="价格"
              width="120"
              v-if="form.applytype == '3'"
            >
            <el-table-column prop="price" align="center" label="价格" width="120" v-if="form.applytype == '3'">
              <template slot-scope="scope">
                <el-input
                  v-model="scope.row.price"
                  placeholder="价格"
                  @blur="
                    (val) => {
                      sumTotalFee();
                    }
                  "
                />
                <el-input v-model="scope.row.price" placeholder="价格" @blur="(val) => {
                  sumTotalFee();
                }
                  " />
              </template>
            </el-table-column>
            <el-table-column
              prop="remark"
              align="center"
              label="备注"
              width="210"
              v-if="form.applytype == '3'"
            >
            <el-table-column prop="remark" align="center" label="备注" width="210" v-if="form.applytype == '3'">
              <template slot-scope="scope">
                <el-input v-model="scope.row.remark" placeholder="备注" />
              </template>
            </el-table-column>
            <el-table-column
              prop="title"
              align="center"
              label="职称"
              width="120"
              v-if="form.applytype != '3'"
            >
            <el-table-column prop="title" align="center" label="职称" width="120" v-if="form.applytype != '3'">
              <template slot-scope="scope">
                <el-input v-model="scope.row.title" placeholder="职称" />
              </template>
            </el-table-column>
            <el-table-column
              prop="idcardno"
              align="center"
              label="身份证号"
              width="200"
              v-if="form.applytype != '3'"
            >
            <el-table-column prop="idcardno" align="center" label="身份证号" width="200" v-if="form.applytype != '3'">
              <template slot-scope="scope">
                <el-input v-model="scope.row.idcardno" placeholder="身份证号" />
              </template>
            </el-table-column>
            <el-table-column
              prop="depositbank"
              align="center"
              label="开户银行"
              width="200"
              v-if="form.applytype != '3'"
            >
            <el-table-column prop="depositbank" align="center" label="开户银行" width="200" v-if="form.applytype != '3'">
              <template slot-scope="scope">
                <el-input
                  v-model="scope.row.depositbank"
                  placeholder="开户银行"
                />
                <el-input v-model="scope.row.depositbank" placeholder="开户银行" />
              </template>
            </el-table-column>
            <el-table-column
              prop="bankcardno"
              align="center"
              label="银行卡号"
              width="210"
              v-if="form.applytype != '3'"
            >
            <el-table-column prop="bankcardno" align="center" label="银行卡号" width="210" v-if="form.applytype != '3'">
              <template slot-scope="scope">
                <el-input
                  v-model="scope.row.bankcardno"
                  placeholder="银行卡号"
                />
                <el-input v-model="scope.row.bankcardno" placeholder="银行卡号" />
              </template>
            </el-table-column>
            <el-table-column
              fixed="right"
              align="center"
              label="操作"
              width="120"
              v-if="dialogType == 'edit'"
            >
            <el-table-column fixed="right" align="center" label="操作" width="120" v-if="dialogType == 'edit'">
              <template slot-scope="scope">
                <el-button type="text" size="mini" @click="addRow(scope.$index)"
                  >新增</el-button
                >
                <el-button
                  @click.native.prevent="
                    deleteRows(scope.row, scope.$index, fundDetailArr)
                  "
                  type="text"
                  size="small"
                >
                <el-button type="text" size="mini" @click="addRow(scope.$index)">新增</el-button>
                <el-button @click.native.prevent="
                  deleteRows(scope.row, scope.$index, fundDetailArr)
                  " type="text" size="small">
                  删除
                </el-button>
              </template>
            </el-table-column>
          </el-table>
        </el-row>
        <!--
        <el-row>
          <el-col :span="8">
            <el-form-item label="申请日期" prop="createTime">
              <el-date-picker
                clearable
                style="width: 100%"
                v-model="form.createTime"
                type="date"
                value-format="yyyy-MM-dd HH:mm:ss"
                placeholder="申请日期"
              >
              </el-date-picker>
            </el-form-item>
          </el-col>
          <el-col :span="8">
            <el-form-item label="税前金额合计" prop="pretaxcost">
              <el-input v-model="form.pretaxcost" placeholder="税前金额合计" />
            </el-form-item>
          </el-col>
          <el-col :span="8">
            <el-form-item label="税后金额合计" prop="pretaxcost">
              <el-input v-model="form.taxedcost" placeholder="税后金额合计" />
            </el-form-item>
          </el-col>
          <el-col :span="8">
          <el-col :span="7">
            <el-form-item label="预支金额" prop="prepaidamount">
              <el-input v-model="form.prepaidamount" placeholder="申请金额" />
            </el-form-item>
@@ -684,152 +341,83 @@
          </el-col>
          <el-col :span="8">
            <el-form-item label="财务副院长" prop="finvicepresident">
              <el-input
                v-model="form.finvicepresident"
                placeholder="财务副院长"
              />
              <el-input v-model="form.finvicepresident" placeholder="财务副院长" />
            </el-form-item>
          </el-col>
          <el-col :span="8">
            <el-form-item label="业务副院长" prop="busvicepresident">
              <el-input
                v-model="form.busvicepresident"
                placeholder="业务副院长"
              />
              <el-input v-model="form.busvicepresident" placeholder="业务副院长" />
            </el-form-item>
          </el-col>
          <el-col :span="8">
            <el-form-item label="办公室主任" prop="officedirector">
              <el-input
                v-model="form.officedirector"
                placeholder="请输入办公室主任"
              />
              <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-input v-model="form.financedirector" placeholder="请输入财务部负责人" />
            </el-form-item>
          </el-col>
          <el-col :span="8">
            <el-form-item label="财务审核" prop="financechecher">
              <el-input
                v-model="form.financechecher"
                placeholder="请输入财务审核"
              />
              <el-input v-model="form.financechecher" placeholder="请输入财务审核" />
            </el-form-item>
          </el-col>
        </el-row>
            -->
        <el-row>
          <el-col :span="24">
            <el-form-item label="申请附件:" align="left" prop="annexbankcard">
              <el-upload size="mini" class="upload-demo" :action="uploadFileUrl" :file-list="fileList" multiple :limit="20"
                :headers="headers" :on-success="(response, file, fileList) =>
                  uploadSccess(response, file, fileList)
                  " :on-preview="downFile" :disabled='dialogType == "detail"' :on-error="handleUploadError"
                :on-exceed="handleExceed" :on-remove="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 label="审核人" align="center" width="120" prop="checkusername" />
            <el-table-column label="审核日期" align="center" width="160" prop="createTime" />
            <el-table-column label="审核结果" align="center" width="200" prop="flowconclusion"><template
                slot-scope="scope"><span v-if="scope.row.flowconclusion == 1">通过</span><span
                  v-if="scope.row.flowconclusion == 2">不通过</span></template>
            </el-table-column>
            <el-table-column
              label="审核备注"
              align="center"
              prop="flowcontent"
            />
            <el-table-column label="审核备注" align="center" prop="flowcontent" />
          </el-table>
        </el-row>
      </el-form>
      <div slot="footer" class="dialog-footer">
        <el-button
          type="primary"
          @click="submitForm"
          v-if="dialogType == 'edit'"
          >保 存</el-button
        >
        <el-button type="primary" @click="submitForm" v-if="dialogType == 'edit'">保 存</el-button>
        <!-- <el-button type="success" @click="print">打 印</el-button> -->
        <el-button @click="cancel">取 消</el-button>
      </div>
    </el-dialog>
    <el-dialog
      :visible.sync="detailInfoDialogShow"
      :close-on-click-modal="false"
      :title="'信息修改'"
      style="text-align: center"
      v-loading="loading"
      width="500px"
    >
    <el-dialog :visible.sync="detailInfoDialogShow" :close-on-click-modal="false" :title="'信息修改'"
      style="text-align: center" v-loading="loading" width="500px">
      <el-form ref="funddetailForm" :model="funddetailForm" label-width="120px">
        <el-row>
          <el-col :span="24" v-if="detailInfoDialogShowType == 'name'">
            <el-form-item
              align="left"
              label="姓名"
              prop="beneficiaryname"
              label-width="80px"
            >
              <el-select
                filterable
                allow-create
                ref="beneficiaryname"
                default-first-option
                v-model="funddetailForm.beneficiaryname"
                placeholder="请选择"
                style="width: 100%"
              >
                <el-option
                  v-for="item in arrr3"
                  :key="item.reportNo"
                  :label="item.reportName"
                  :value="item.reportName"
                >
            <el-form-item align="left" label="姓名" prop="beneficiaryname" label-width="80px">
              <el-select filterable allow-create ref="beneficiaryname" default-first-option
                v-model="funddetailForm.beneficiaryname" placeholder="请选择" style="width: 100%">
                <el-option v-for="item in arrr3" :key="item.reportNo" :label="item.reportName" :value="item.reportName">
                </el-option>
              </el-select>
            </el-form-item>
          </el-col>
          <el-col :span="24" v-if="detailInfoDialogShowType == 'unit'">
            <el-form-item
              align="left"
              label="单位"
              prop="unitno"
              label-width="80px"
            >
              <el-select
                v-model="funddetailForm.unitno"
                placeholder="单位"
                clearable
                filterable
                allow-create
                style="width: 100%"
              >
                <el-option
                  v-for="(spec, index) in unitList"
                  :key="index"
                  :label="spec.organizationname"
                  :value="spec.organizationid"
                ></el-option>
            <el-form-item align="left" label="单位" prop="unitno" label-width="80px">
              <el-select v-model="funddetailForm.unitno" placeholder="单位" clearable filterable allow-create
                style="width: 100%">
                <el-option v-for="(spec, index) in unitList" :key="index" :label="spec.organizationname"
                  :value="spec.organizationid"></el-option>
              </el-select>
            </el-form-item>
          </el-col>
@@ -837,9 +425,7 @@
      </el-form>
      <span slot="footer" class="dialog-footer">
        <el-button @click="detailInfoDialogShow = false">取 消</el-button>
        <el-button type="primary" @click="ConfirmDetailDialog()"
          >确 定</el-button
        >
        <el-button type="primary" @click="ConfirmDetailDialog()">确 定</el-button>
      </span>
    </el-dialog>
  </div>
@@ -903,6 +489,7 @@
import OrgSelecter from "@/views/project/components/orgselect";
import { getUserProfile } from "@/api/system/user";
import { listFundflow } from "@/api/project/fundflow";
import { getToken } from "@/utils/auth";
export default {
  //import引入的组件需要注入到对象中才能使用
@@ -968,6 +555,9 @@
        createTime: [
          { required: true, message: "请输入申请日期", trigger: "blur" },
        ],
        deptmentname: [
          { required: true, message: "请输入所属组别", trigger: "blur" },
        ],
        amountrequested: [
          { required: true, message: "请输入申请金额", trigger: "blur" },
        ],
@@ -1011,6 +601,14 @@
        unitname: null,
        index: null,
      },
      //附件列表
      fileList: [],
      //上传附件路径
      uploadFileUrl: process.env.VUE_APP_BASE_API + "/common/upload",
      headers: {
        Authorization: "Bearer " + getToken(),
      },
    };
  },
  //监听属性 类似于data概念
@@ -1029,14 +627,12 @@
      this.detailInfoDialogShowType = showType;
    },
    ConfirmDetailDialog() {
      debugger;
      let tempIndex = this.funddetailForm.index;
      let tempName = this.funddetailForm.beneficiaryname;
      let tempUnitname = this.funddetailForm.unitname;
      let singleDetail = this.fundDetailArr[tempIndex];
      if (this.detailInfoDialogShowType == "name") {
        this.personlist.map((res) => {
          debugger;
          if (tempName == res.username) {
            singleDetail.beneficiaryno = res.userno;
            singleDetail.beneficiaryname = res.username;
@@ -1068,13 +664,10 @@
          singleDetail.unitname = singleDetail.unitno;
        }
      }
      debugger;
      this.fundDetailArr[tempIndex] = singleDetail;
      this.detailInfoDialogShow = false;
    },
    handleup(row) {
      console.log("rowrowrowrow", row);
      this.$confirm("是否确认将登记记录上报?", "提示", {
        confirmButtonText: "确定",
        cancelButtonText: "取消",
@@ -1109,7 +702,6 @@
    },
    getUsermsg() {
      getUserProfile().then((response) => {
        console.log("登录用户信息", response.data);
        this.defaultperson = response.data;
        this.standardlevel = response.data.standardlevel;
      });
@@ -1163,6 +755,10 @@
        this.form.infoid = this.curCase.id;
        this.form.username = this.defaultperson.nickName;
        this.form.userno = this.defaultperson.userName;
        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();
@@ -1212,7 +808,6 @@
      }
      getdetailsByItemId(row.itemid).then((res) => {
        console.log("费用数据", res.data);
        let fundmsg = res.data;
        let fundblock = [];
        fundmsg.forEach((item) => {
@@ -1223,7 +818,7 @@
            servicesscope: item.id,
          });
        });
        console.log("组装后的数据", fundblock);
        row.fundblock = fundblock;
        row.servicesscope = null;
        row.servicesscopename = "";
@@ -1238,10 +833,10 @@
    // 表单重置
    reset() {
      this.form = {
        id: null,
        recordstatus: "-1",
        username: null,
        userno: null,
        id: null,
        infoid: null,
        donorno: null,
        delFlag: null,
@@ -1278,6 +873,8 @@
        taxedcost: null,
      };
      this.resetForm("form");
      //清空附件
      this.fileList = []
    },
    //新增一行
@@ -1396,7 +993,14 @@
          this.form.pretaxcost = parseFloat(totalPreTaxAmount).toFixed(2);
          this.form.taxedcost = parseFloat(totalAfterTaxAmount).toFixed(2);
          this.form.amountrequested = totalAmount.toFixed(2);
          this.loading = true;
          //附件处理
          let list = this.fileList;
          if (list.length > 0) {
            this.form.annexbankcard = list.map(item => item.url).join(",");
          }
          this.form.donorname = this.curCase.name;
          if (this.form.id != null) {
            updateFund(this.form).then((response) => {
@@ -1419,9 +1023,9 @@
                  tempData.itemid = tempItemArr[itemIndex].id;
                }
                if (tempData.id > 0) {
                  updateFunddetail(tempData).then((response2) => {});
                  updateFunddetail(tempData).then((response2) => { });
                } else {
                  addFunddetail(tempData).then((response2) => {});
                  addFunddetail(tempData).then((response2) => { });
                }
              }
            });
@@ -1465,7 +1069,6 @@
      });
    },
    selectremark(row) {
      console.log("row", row.amount, this.fundblock);
      this.fundblock.forEach((item, i) => {
        if (item.expensedescribe === row.servicesscopename) {
          row.servivesscope = item.servivesscope;
@@ -1482,7 +1085,6 @@
      });
    },
    selectamount(row) {
      console.log("row", row.amount);
      this.fundblock.forEach((item, i) => {
        if (item.expense === row.amount) {
          row.remark = item.expensedescribe;
@@ -1512,10 +1114,14 @@
      this.dialogOpen = true;
      this.title = "修改费用申请";
      this.dialogType = "edit";
      const id = row.id || this.ids;
      getFund(id).then((response) => {
        this.form = response.data;
        this.form.name = this.curCase.name;
        //附件处理
        this.fileList = this.form.annexbankcard ? this.form.annexbankcard.split(",").map(item => ({ url: item, name: item })) : []
        getownFundDetail(id).then(async (res) => {
          this.fundDetailArr = res.data;
          for (let m = 0; m < this.fundDetailArr.length; m++) {
@@ -1545,6 +1151,9 @@
          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;
        });
@@ -1561,7 +1170,6 @@
              servicesscope: this.fundDetailArr[m].servicesscope,
            });
          }
          // console.log("fundDetailArr:" + JSON.stringify(this.fundDetailArr));
        });
      });
    },
@@ -1584,7 +1192,7 @@
          this.getfundList();
          this.$modal.msgSuccess("删除成功");
        })
        .catch(() => {});
        .catch(() => { });
    },
    deleteRows(row, index, rows) {
@@ -1607,14 +1215,12 @@
                    this.$set(this.fundDetailArr, res.data);
                    this.sumTotalFee();
                    // this.fundDetailArr = res.data
                    // console.log('删除后',this.fundDetailArr)
                  });
                });
              }
              // getownFundDetail(this.form.id).then(res=>{
              // this.$set(this.fundDetailArr,res.data)
              // this.fundDetailArr = res.data
              // console.log('删除后',this.fundDetailArr)
              // })
            });
          } else {
@@ -1671,7 +1277,6 @@
      this.form.pretaxcost = preTaxSum.toFixed(2);
      this.form.taxedcost = taxedSum.toFixed(2);
      this.$forceUpdate();
      console.log(this.form);
    },
    //获取费用类型
@@ -1686,7 +1291,6 @@
            label: dataList[m].itemTypeName,
          });
        }
        console.log(this.fundtypeArr);
      });
    },
@@ -1759,19 +1363,16 @@
        listReportname(arr[i]).then((res) => {
          this.arrr2 = res.data;
          this.arrr3 = this.arrr3.concat(this.arrr2);
          console.log("adadadadasdsad", this.arrr3, this.userlist);
        });
      }
    },
    getlistExternalperson() {
      listExternalperson().then((res) => {
        console.log("人员表:", res.rows);
        this.personlist = res.rows;
      });
    },
    selectpersonmsg(row, rowindex) {
      console.log("row", row);
      this.personlist.map((res) => {
        if (row.beneficiaryno === res.userno) {
          row.beneficiaryname = res.username;
@@ -1794,7 +1395,6 @@
        for (let i = 0; i < tempItemArr.length; i++) {
          let pym = tempItemArr[i].itempinyin;
          if (pym != null && pym != undefined && pym != "") {
            console.log(pym);
            if (pym.indexOf(val) != -1) {
              result.push(tempItemArr[i]);
            }
@@ -1811,7 +1411,6 @@
    getUnitList() {
      listOrganization(3).then((response) => {
        console.log("机构列表:" + JSON.stringify(response));
        for (let i = 0; i < response.rows.length; i++) {
          this.unitList.push({
            organizationid: response.rows[i].organizationid,
@@ -1854,6 +1453,36 @@
      this.fundDetailArr = listAdd;
      this.loading = false;
    },
    //文件上传
    handleUploadError() { },
    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 {
        this.$modal.msgError(response.msg);
      }
    },
    // 下载文件
    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);
    },
  },
  //生命周期 - 创建完成(可以访问当前this实例)
  created() {
@@ -1869,13 +1498,13 @@
    this.getUsermsg();
    this.getlistExternalperson();
  },
  beforeCreate() {}, //生命周期 - 创建之前
  beforeMount() {}, //生命周期 - 挂载之前
  beforeUpdate() {}, //生命周期 - 更新之前
  updated() {}, //生命周期 - 更新之后
  beforeDestroy() {}, //生命周期 - 销毁之前
  destroyed() {}, //生命周期 - 销毁完成
  activated() {}, //如果页面有keep-alive缓存功能,这个函数会触发
  beforeCreate() { }, //生命周期 - 创建之前
  beforeMount() { }, //生命周期 - 挂载之前
  beforeUpdate() { }, //生命周期 - 更新之前
  updated() { }, //生命周期 - 更新之后
  beforeDestroy() { }, //生命周期 - 销毁之前
  destroyed() { }, //生命周期 - 销毁完成
  activated() { }, //如果页面有keep-alive缓存功能,这个函数会触发
};
</script>
<style scoped>