11
WXL
2023-12-04 99340c754ca99b95d0e70b3cc7db4eae8c8a6e69
src/views/project/fund/applyDetail/index.vue
@@ -72,18 +72,7 @@
              }}</el-radio>
            </el-form-item>
          </el-col>
          <!-- <el-col :span="5">
            <el-form-item label="银行名称" prop="bankname">
              <el-input v-model="form.bankname" placeholder="请输入银行名称" />
            </el-form-item> </el-col
          ><el-col :span="5">
            <el-form-item label="银行账号" prop="bankcardno">
              <el-input
                v-model="form.bankcardno"
                placeholder="请输入银行账号"
              />
            </el-form-item>
          </el-col> -->
          <el-col :span="5">
            <el-form-item label="联系电话" prop="phone">
              <el-input v-model="form.phone" placeholder="请输入联系电话" />
@@ -98,7 +87,7 @@
              />
            </el-form-item>
          </el-col>
          <el-col :span="5">
          <el-col :span="5" v-if="ismanager == true">
            <el-form-item label="申请金额" prop="pretaxcost">
              <el-input
                v-model="form.pretaxcost"
@@ -109,26 +98,7 @@
          </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="taxcost" v-if="businessType == '1' || businessType == '2'">
              <el-input v-model="form.taxcost" placeholder="应缴税金额合计" :disabled="true" />
            </el-form-item>
          </el-col>
          <el-col :span="5">
            <el-form-item label="税后金额" prop="pretaxcost">
              <el-input v-model="form.taxedcost" placeholder="税后金额合计" :disabled="true" />
            </el-form-item>
          </el-col>-->
          <el-col :span="10">
          <el-col :span="8">
            <el-form-item label="申请说明" prop="remark">
              <el-input v-model="form.remark" placeholder="申请说明" />
            </el-form-item>
@@ -145,17 +115,6 @@
          </el-col>-->
        </el-row>
        <el-row style="margin-top: 5px; margin-bottom: 5px" />
        <el-row style="margin-bottom: 10px" v-if="businessType == '1'">
          <el-col :span="4">
            <el-button
              @click.native.prevent="importFeeItems"
              type="primary"
              size="small"
            >
              导入服务项目
            </el-button>
          </el-col>
        </el-row>
        <el-row v-if="jurisdiction">
          <!-- <el-alert title="当前为查看状态,不支持修改存储。" type="warning">
          </el-alert> -->
@@ -166,29 +125,43 @@
          >
          </el-alert>
        </el-row>
        <el-row v-if="businessType == 2">
        <el-row>
          <el-col :span="3" v-if="businessType == '1'">
            <el-button
              @click.native.prevent="importFeeItems"
              type="primary"
              size="small"
            >
              导入服务项目
            </el-button>
          </el-col>
          <el-col :span="3"
            ><div style="margin-bottom: 15px;">
            ><div style="margin-bottom: 15px;" v-if="businessType == 2">
              <el-button
                type="success"
                icon="el-icon-download"
                @click="Batchentry"
                >批量录入</el-button
              >
            </div></el-col
          >
        </el-row>
        <el-row v-if="businessType == 1 && operationType == 'check'">
          <el-col :span="3"
            ><div style="margin-bottom: 15px;">
            </div>
          </el-col>
          <el-col :span="3">
            <div
              style="margin-bottom: 15px;"
              v-if="
                userprofile.nickName == '陈慕华' &&
                  (businessType == '1' || businessType == '2')
              "
            >
              <el-button
                type="success"
                icon="el-icon-edit-outline"
                @click="Manualcalculationfn"
                >计算明细</el-button
                >计算个税</el-button
              >
            </div></el-col
          >
            </div>
          </el-col>
        </el-row>
        <el-row>
          <el-table
@@ -350,6 +323,23 @@
              </template>
            </el-table-column>
            <el-table-column
              prop="taxamount"
              align="center"
              label="扣税金额"
              width="120"
              v-if="
                (this.ismanager == true) &
                  (form.applytype == '1' || form.applytype == '2')
              "
            >
              <template slot-scope="scope">
                <el-input
                  v-model="scope.row.taxamount"
                  placeholder="扣税金额"
                />
              </template>
            </el-table-column>
            <el-table-column
              prop="taxedamount"
              align="center"
              label="税后金额"
@@ -374,7 +364,7 @@
            <el-table-column
              prop="beneficiaryname"
              align="center"
              label="姓名"
              label="专家/单位"
              width="120"
              v-if="form.applytype == '1' || form.applytype == '2'"
            >
@@ -389,38 +379,23 @@
                      : "点击选择"
                  }}</el-button
                >
                <!-- <el-select
                  filterable
                  allow-create
                  ref="getReportname"
                  default-first-option
                  @change="selectExpert(scope.row)"
                  v-model="scope.row.beneficiaryname"
                  placeholder="请选择"
                >
                  <el-option
                    v-for="item in expertlist"
                    :key="item.reportNo"
                    :label="item.reportName"
                    :value="item.reportName"
                  >
                  </el-option>
                                      </el-select> -->
              </template>
            </el-table-column>
            <el-table-column
              prop="unitno"
              align="center"
              label="单位名称"
              label="专家所在单位"
              width="250"
              v-if="form.applytype != '4'"
              v-if="form.applytype != '4' && form.applytype != '3'"
            >
              <template slot-scope="scope">
                <el-button
                  type="primary"
                  plain
                  @click="ShowDetailDialog(scope, 'unit')"
                  >{{ scope.row.unitname?scope.row.unitname:'点击选择' }}</el-button
                  >{{
                    scope.row.unitname ? scope.row.unitname : "点击选择"
                  }}</el-button
                >
                <!-- <el-select
                  v-model="scope.row.unitno"
@@ -439,11 +414,11 @@
              </template>
            </el-table-column>
            <el-table-column
              prop="unitno"
              prop="beneficiaryname"
              align="center"
              label="单位/个人"
              width="250"
              v-if="form.applytype == '4'"
              v-if="form.applytype == '4' || form.applytype == '3'"
            >
              <template slot-scope="scope">
                <el-button
@@ -451,9 +426,9 @@
                  plain
                  @click="ShowDetailDialog(scope, 'expert')"
                  >{{
                    experthear == "expert"
                      ? scope.row.unitname
                      : scope.row.beneficiaryname
                    scope.row.beneficiaryname
                      ? scope.row.beneficiaryname
                      : "点击选择"
                  }}</el-button
                >
                <!-- <el-select
@@ -491,7 +466,16 @@
              v-if="form.applytype == '1' || form.applytype == '2'"
            >
              <template slot-scope="scope">
                <el-input v-model="scope.row.idcardno" placeholder="身份证号" />
                <el-form-item :error="scope.row.error" label-width="0">
                  <el-input
                    :disabled="
                      userprofile.nickName != '陈慕华' && businessType == 1
                    "
                    v-model.number="scope.row.idcardno"
                    @input="tableParValueChange1(scope.row)"
                    placeholder="身份证号"
                  />
                </el-form-item>
              </template>
            </el-table-column>
            <el-table-column
@@ -503,6 +487,9 @@
              <!-- v-if="form.applytype != '4'" -->
              <template slot-scope="scope">
                <el-input
                  :disabled="
                    userprofile.nickName != '陈慕华' && businessType == 1
                  "
                  v-model="scope.row.depositbank"
                  placeholder="开户银行"
                />
@@ -516,8 +503,26 @@
            >
              <template slot-scope="scope">
                <el-input
                  :disabled="
                    userprofile.nickName != '陈慕华' && businessType == 1
                  "
                  v-model="scope.row.bankcardno"
                  placeholder="银行帐号"
                />
              </template>
            </el-table-column>
            <el-table-column
              prop="itemdescrisca"
              align="center"
              width="330"
              label="项目说明"
            >
              <template slot-scope="scope">
                <el-input
                  type="textarea"
                  :rows="2"
                  v-model="scope.row.itemdescribe"
                  placeholder="项目说明"
                />
              </template>
            </el-table-column>
@@ -526,6 +531,12 @@
              align="center"
              width="330"
              label="备注"
              v-if="
                businessType == 2 ||
                  businessType == 3 ||
                  businessType == 4 ||
                  ismanager == true
              "
            >
              <template slot-scope="scope">
                <el-input
@@ -574,54 +585,16 @@
                  "
                  type="text"
                  size="small"
                  v-if="businessType == 3 || businessType == 4"
                  v-if="
                    businessType == 3 || businessType == 2 || businessType == 4
                  "
                  >票据</el-button
                >
              </template>
            </el-table-column>
          </el-table>
        </el-row>
        <!--
        <el-row>
          <el-col :span="7">
            <el-form-item label="预支金额" prop="prepaidamount">
              <el-input v-model="form.prepaidamount" placeholder="申请金额" />
            </el-form-item>
          </el-col>
        </el-row>
        <el-row>
          <el-col :span="7">
            <el-form-item label="OPO中心签字" prop="opochecker">
              <el-input v-model="form.opochecker" placeholder="opo中心签字" />
            </el-form-item>
          </el-col>
          <el-col :span="8">
            <el-form-item label="财务副院长" prop="finvicepresident">
              <el-input v-model="form.finvicepresident" placeholder="财务副院长" />
            </el-form-item>
          </el-col>
          <el-col :span="7">
            <el-form-item label="业务副院长" prop="busvicepresident">
              <el-input v-model="form.busvicepresident" placeholder="业务副院长" />
            </el-form-item>
          </el-col>
          <el-col :span="7">
            <el-form-item label="办公室主任" prop="officedirector">
              <el-input v-model="form.officedirector" placeholder="请输入办公室主任" />
            </el-form-item>
          </el-col>
          <el-col :span="8">
            <el-form-item label="财务部负责人" prop="financedirector">
              <el-input v-model="form.financedirector" placeholder="请输入财务部负责人" />
            </el-form-item>
          </el-col>
          <el-col :span="7">
            <el-form-item label="财务审核" prop="financechecher">
              <el-input v-model="form.financechecher" placeholder="请输入财务审核" />
            </el-form-item>
          </el-col>
        </el-row>
              -->
        <el-row>
          <el-col :span="12">
            <el-form-item
@@ -743,8 +716,23 @@
            />
          </el-table>
        </el-row>
        <el-row
          style="margin-top: 25px; margin-bottom: 5px"
          v-if="operationType == 'check' && userprofile.nickName == '陈慕华'"
        >
          <el-col :span="7">
            <el-form-item label="申请材料状态" prop="infoid">
              <el-radio-group v-model="form.checkstatus" align="left">
                <el-radio :label="1">待申请材料</el-radio>
                <el-radio :label="2">申请材料通过等待材料</el-radio>
                <el-radio :label="3">已收到报销材料</el-radio>
              </el-radio-group>
            </el-form-item>
          </el-col>
        </el-row>
        <el-row
          style="margin-top: 5px; margin-bottom: 5px"
          v-if="operationType == 'check'"
        >
          <el-col :span="7">
@@ -756,6 +744,7 @@
            </el-form-item>
          </el-col>
        </el-row>
        <el-row v-if="operationType == 'check'">
          <el-col :span="17">
            <el-form-item label="审核备注" align="left">
@@ -776,6 +765,12 @@
          >提交保存</el-button
        >
        <el-button
          type="success"
          @click="handleup"
          v-if="operationType == 'add' || operationType == 'update'"
          >上报</el-button
        >
        <el-button
          type="primary"
          @click="checksubmit"
          v-if="operationType == 'check'"
@@ -793,8 +788,8 @@
      style="text-align: center"
      v-loading="loading"
    >
      <el-form ref="funddetailForm" :model="funddetailForm">
        <el-row v-if="businessType != 4">
      <el-form ref="funddetailForm" :rules="funddrules" :model="funddetailForm">
        <el-row v-if="businessType != 4 && businessType != 3">
          <el-col
            :span="24"
            v-if="selectionType == 'expert' && businessType != 4"
@@ -882,7 +877,7 @@
          </el-col>
        </el-row>
        <el-row v-if="businessType == 4">
        <el-row v-if="businessType == 4 || businessType == 3">
          <el-col :span="24">
            <el-form-item label="请选择专家信息:" prop="experthear">
              <el-radio-group
@@ -897,7 +892,7 @@
          </el-col>
          <el-col :span="24" v-if="experthear == 'unit'">
            <el-form-item
              label="人员姓名"
              label="专家/单位"
              prop="beneficiaryname"
              label-width="80px"
            >
@@ -924,7 +919,7 @@
          <el-col :span="24" v-if="experthear == 'expert'">
            <el-form-item label="单位名称" prop="unitno" label-width="120px">
              <el-select
                v-model="funddetailForm.unitname"
                v-model="funddetailForm.beneficiaryname"
                placeholder="单位名称"
                @change="bbaaccss"
                clearable
@@ -933,17 +928,17 @@
                style="width: 100%"
              >
                <el-option
                  v-for="(spec, index) in unitList"
                  v-for="(spec, index) in feeUnitList"
                  :key="index"
                  :label="spec.organizationname"
                  :value="spec.organizationname"
                  :label="spec.reportName"
                  :value="spec.reportName"
                ></el-option>
              </el-select>
            </el-form-item>
          </el-col>
        </el-row>
        <el-row v-if="businessType != 4">
        <el-row v-if="businessType != 4 && businessType != 3">
          <el-col :span="12" v-if="expertfrom == '2'">
            <el-form-item label="专家姓名" prop="expertname" label-width="80px">
              <el-input
@@ -972,7 +967,7 @@
            </el-form-item>
          </el-col>
        </el-row>
        <el-row v-if="businessType != 4">
        <el-row v-if="businessType != 4 && businessType != 3">
          <el-col :span="24" v-if="expertfrom == '2'">
            <el-form-item
              label="身份证号"
@@ -986,19 +981,8 @@
            </el-form-item>
          </el-col>
        </el-row>
        <!--
        <el-row>
          <el-col :span="12" v-if="expertfrom == '2'">
            <el-form-item label="人员类别" prop="usertype" label-width="80px">
              <el-select v-model="funddetailForm.usertype" placeholder="必填项">
                <el-option v-for="dict in dict.type.sys_UserType" :key="dict.value" :label="dict.label"
                  :value="dict.value"></el-option>
              </el-select>
            </el-form-item>
          </el-col>
        </el-row>
      -->
        <el-row v-if="businessType != 4">
        <el-row v-if="businessType != 4 && businessType != 3">
          <el-col :span="24" v-if="expertfrom == '2'">
            <el-form-item
              label="单位名称"
@@ -1022,7 +1006,7 @@
              </el-select> </el-form-item
          ></el-col>
        </el-row>
        <el-row v-if="businessType != 4">
        <el-row v-if="businessType != 4 && businessType != 3">
          <el-col :span="24" v-if="expertfrom == '2'">
            <el-form-item
              label="开户银行"
@@ -1092,28 +1076,27 @@
            "
          >
          </el-table-column>
          <el-table-column
          <!-- <el-table-column
            prop="beneficiaryname"
            align="center"
            label="姓名"
            v-if="form.applytype == '1' || form.applytype == '2'"
          >
          </el-table-column>
          </el-table-column> -->
          <el-table-column
            prop="unitno"
          <!-- <el-table-column
            prop="beneficiaryname"
            align="center"
            label="单位名称"
            width="250"
            v-if="form.applytype != '4'"
          >
          </el-table-column>
          </el-table-column> -->
          <el-table-column
            prop="beneficiaryname"
            align="center"
            label="单位/个人"
            width="250"
            v-if="form.applytype == '4'"
          >
          </el-table-column>
          <el-table-column
@@ -1143,106 +1126,220 @@
          </el-table-column>
        </el-table>
      </div>
      <div class="pdfimg">
        <div class="box-pdf">
          <div>
            <el-upload
              size="mini"
              class="upload-demo"
              :action="uploadFileUrl"
              :file-list="fileListto"
              :show-file-list="false"
              multiple
              drag
              :headers="headers"
              :on-success="
                (response, file, fileList) =>
                  uploadSccess(response, file, fileList)
              "
              :on-preview="downFile"
              :disabled="operationType == 'detail'"
              :on-error="handleUploadError"
              :on-remove="remove"
              accept="image/*,.pdf"
            >
              <i class="el-icon-upload"></i>
              <div class="el-upload__text">
                将票据拖到此处,或
                <em
                  ><el-button
                    :disabled="operationType == 'detail'"
                    size="small"
                    type="primary"
                    >点击上传</el-button
                  ></em
      <el-tabs
        style="margin-top: 20px;"
        v-model="activeName"
        type="border-card"
        @tab-click="handleClick"
      >
        <el-tab-pane label="普通附件" :name="1">
          <div class="pdfimg">
            <div class="box-pdf">
              <div>
                <el-upload
                  size="mini"
                  class="upload-demo"
                  :action="uploadFileUrl"
                  :file-list="fileListto"
                  :show-file-list="false"
                  multiple
                  drag
                  :headers="headers"
                  :on-success="
                    (response, file, fileList) =>
                      uploadSccess(response, file, fileList)
                  "
                  :on-preview="downFile"
                  :disabled="operationType == 'detail'"
                  :on-error="handleUploadError"
                  :on-remove="remove"
                  accept="image/*,.pdf"
                >
                  <i class="el-icon-upload"></i>
                  <div class="el-upload__text">
                    将票据拖到此处,或
                    <em
                      ><el-button
                        :disabled="operationType == 'detail'"
                        size="small"
                        type="primary"
                        >点击上传</el-button
                      ></em
                    >
                  </div>
                </el-upload>
                <el-table
                  :data="fileListto"
                  @row-click="downFile"
                  style="width: 100%"
                  height="400"
                >
                  <el-table-column
                    prop="name"
                    :show-overflow-tooltip="true"
                    label="名称"
                  >
                    <template slot-scope="scope">
                      <i style="color:#409EFF" class=" el-icon-s-order" />
                      <span>{{ scope.row.name }}</span>
                    </template>
                  </el-table-column>
                  <el-table-column
                    prop="name"
                    width="190"
                    :show-overflow-tooltip="true"
                    label="功能"
                  >
                    <template slot-scope="scope">
                      <el-button
                        type="primary"
                        size="mini"
                        @click.native.prevent.stop="deletedowfile(scope.row)"
                        >删除</el-button
                      >
                      <el-button
                        type="primary"
                        size="mini"
                        @click.native.prevent.stop="moveupdowfile(scope.row)"
                        >上移</el-button
                      >
                      <el-button
                        type="success"
                        size="mini"
                        icon="el-icon-search"
                        circle
                        @click.native.prevent.stop="Downloadfile(scope.row)"
                      ></el-button>
                    </template>
                  </el-table-column>
                </el-table>
              </div>
              <!-- <div class="el-upload__tip" slot="tip">
                只能上传jpg/png文件,且不超过500kb
              </div> -->
            </el-upload>
            <el-table
              :data="fileListto"
              @row-click="downFile"
              style="width: 100%"
              height="400"
            </div>
            <div
              v-if="this.previewpdf && pdfimgsrcList.length"
              class="pdfimgmin"
            >
              <el-table-column
                prop="name"
                :show-overflow-tooltip="true"
                label="名称"
              <!-- <img :src="pdfimg" /> -->
              <el-image
                style="width: 95%; height: 90%"
                :src="pdfimg"
                :preview-src-list="pdfimgsrcList"
              >
                <template slot-scope="scope">
                  <i style="color:#409EFF" class=" el-icon-s-order" />{{
                    scope.row.name
                  }}
                </template>
              </el-table-column>
              <el-table-column
                prop="name"
                width="180"
                :show-overflow-tooltip="true"
                label="功能"
              >
                <template slot-scope="scope">
                  <el-button
                    type="primary"
                    size="mini"
                    @click.native.prevent.stop="deletedowfile(scope.row)"
                    >删除</el-button
                  >
                  <el-button
                    type="primary"
                    size="mini"
                    @click.native.prevent.stop="moveupdowfile(scope.row)"
                    >上移</el-button
                  >
                </template>
              </el-table-column>
            </el-table>
                <!-- <div slot="error" class="image-slot">
              <i class="el-icon-picture-outline"></i>
            </div> -->
              </el-image>
            </div>
            <div v-else class="pdfimgmins">{{ hintitle }}</div>
          </div>
          <!-- <div
            class="pdftit"
            @click="pdffn(item)"
            v-for="item in fileList"
            :key="item.name"
          >
            {{ item.name }}
          </div> -->
        </div>
        </el-tab-pane>
        <el-tab-pane label="发票文件" :name="2">
          <div class="pdfimg">
            <div class="box-pdf">
              <div>
                <el-upload
                  size="mini"
                  class="upload-demo"
                  :action="uploadFileUrl"
                  :file-list="invoicefileList"
                  :show-file-list="false"
                  multiple
                  drag
                  :headers="headers"
                  :on-success="
                    (response, file, fileList) =>
                      uploadSccess(response, file, fileList)
                  "
                  :on-preview="downFile"
                  :disabled="operationType == 'detail'"
                  :on-error="handleUploadError"
                  :on-remove="remove"
                  accept="image/*,.pdf"
                >
                  <i class="el-icon-upload"></i>
                  <div class="el-upload__text">
                    将发票文件拖到此处,或
                    <em
                      ><el-button
                        :disabled="operationType == 'detail'"
                        size="small"
                        type="primary"
                        >点击上传</el-button
                      ></em
                    >
                  </div>
                </el-upload>
                <el-table
                  :data="invoicefileListto"
                  @row-click="downFile"
                  style="width: 100%"
                  height="400"
                >
                  <el-table-column
                    prop="name"
                    :show-overflow-tooltip="true"
                    label="名称"
                  >
                    <template slot-scope="scope">
                      <i style="color:#409EFF" class=" el-icon-s-order" />
                      <span>{{ scope.row.name }}</span>
                    </template>
                  </el-table-column>
        <div v-if="this.previewpdf && pdfimgsrcList.length" class="pdfimgmin">
          <!-- <img :src="pdfimg" /> -->
          <el-image
            style="width: 95%; height: 90%"
            :src="pdfimg"
            :preview-src-list="pdfimgsrcList"
          >
          </el-image>
        </div>
        <div v-else class="pdfimgmins">{{ hintitle }}</div>
      </div>
                  <el-table-column
                    prop="name"
                    width="190"
                    :show-overflow-tooltip="true"
                    label="功能"
                  >
                    <template slot-scope="scope">
                      <el-button
                        type="primary"
                        size="mini"
                        @click.native.prevent.stop="deletedowfile(scope.row)"
                        >删除</el-button
                      >
                      <el-button
                        type="primary"
                        size="mini"
                        @click.native.prevent.stop="moveupdowfile(scope.row)"
                        >上移</el-button
                      >
                      <el-button
                        type="success"
                        size="mini"
                        icon="el-icon-search"
                        circle
                        @click.native.prevent.stop="Downloadfile(scope.row)"
                      ></el-button>
                    </template>
                  </el-table-column>
                </el-table>
              </div>
            </div>
            <div
              v-if="this.previewpdf && invoicepdfimgsrcList.length"
              class="pdfimgmin"
            >
              <!-- <img :src="pdfimg" /> -->
              <el-image
                style="width: 95%; height: 90%"
                :src="invoicepdfimg"
                :preview-src-list="invoicepdfimgsrcList"
              >
                <!-- <div slot="error" class="image-slot">
              <i class="el-icon-picture-outline"></i>
            </div> -->
              </el-image>
            </div>
            <div v-else class="pdfimgmins">{{ hintitle }}</div>
          </div></el-tab-pane
        >
      </el-tabs>
    </el-dialog>
    <el-dialog title="提示" :visible.sync="Savereminder" width="30%">
      <el-alert
@@ -1396,6 +1493,14 @@
  ],
  data() {
    var validatePass = (rule, value, callback) => {
      const regex = /^[1-9]\d{5}(19|20)\d{2}(0[1-9]|1[012])(0[1-9]|[12]\d|3[01])\d{3}([0-9]|X)$/;
      if (regex.test(value)) {
        callback();
      } else {
        callback(new Error("身份证号码格式错误"));
      }
    };
    //这里存放数据
    return {
      // 遮罩层
@@ -1404,7 +1509,7 @@
      exportLoading: false,
      usernamedata: "",
      jurisdiction: false,
      Routinglevel: 1,
      // 表单参数
      form: {},
      experthear: "",
@@ -1451,6 +1556,20 @@
      ismanager: false,
      //专家费选择:1是专家库,2是新增
      expertfrom: "1",
      baselisttages: [
        {
          id: 1,
          name: "材料待审核"
        },
        {
          id: 2,
          name: "审查通过等待邮寄纸质材料"
        },
        {
          id: 3,
          name: "已收到纸质材料"
        }
      ],
      //捐献案例列表
      donateList: [],
@@ -1493,6 +1612,18 @@
        ],
        deptmentname: [
          { required: true, message: "请输入所属业务组", trigger: "blur" }
        ]
      },
      funddrules: {
        // expertidcardno: [{ validator: validatePass, trigger: "blur" }],
        expertdepositbank: [
          { required: true, message: "请输入开户银行", trigger: "change" }
        ],
        expertbankcardno: [
          { required: true, message: "请输入银行卡号", trigger: "change" }
        ],
        expertunitno: [
          { required: true, message: "请选择单位名称", trigger: "change" }
        ]
      },
@@ -1585,7 +1716,6 @@
        money: "0",
        startTime: ""
      },
      //服务费用参数
      expenseQueryParams: {
        pageNum: 1,
@@ -1599,6 +1729,12 @@
      //附件列表
      fileList: [],
      fileListto: [],
      invoicefileList: [],
      invoicefileListto: [],
      invoicepdfimg: "",
      invoicepdfimgsrcList: [],
      invoDatatop: [],
      activeName: 1, //文件类型
      //上传附件路径
      uploadFileUrl: process.env.VUE_APP_BASE_API + "/common/upload",
      //文件上传token
@@ -1727,6 +1863,7 @@
      } else if (this.businessType == "3") {
        this.businessName = "医学成本报销单";
        this.amountLabel = "金额";
        this.getUnitList();
      } else if (this.businessType == "4") {
        this.businessName = "办公费用报销单";
        this.amountLabel = "金额";
@@ -1787,6 +1924,8 @@
      this.reset();
      getFund(this.curId).then(response => {
        console.log(response.data, "初始");
        this.form = response.data;
        sessionStorage.removeItem("apiform");
@@ -1837,6 +1976,8 @@
      this.reset();
      getFund(this.curId).then(response => {
        console.log(response.data, "初始");
        this.form = response.data;
        sessionStorage.removeItem("apiform");
        sessionStorage.setItem("apiform", JSON.stringify(this.form));
@@ -1883,6 +2024,7 @@
      this.reset();
      getFund(this.curId).then(response => {
        console.log(response.data, "初始");
        this.form = response.data;
        sessionStorage.removeItem("apiform");
@@ -1941,7 +2083,17 @@
    },
    /** 上报按钮操作 */
    handleUp() {
    handleup() {
      if (
        (JSON.stringify(this.form) == sessionStorage.getItem("apiform") &&
          JSON.stringify(this.rbDetails) ==
            sessionStorage.getItem("apifunddetail")) ||
        !sessionStorage.getItem("apifunddetail")
      ) {
      } else {
        this.$message.error("请保存后再进行上报");
        return;
      }
      this.$confirm("是否确认将登记记录上报?", "提示", {
        confirmButtonText: "确定",
        cancelButtonText: "取消",
@@ -1951,6 +2103,9 @@
          //查找是否存在登记完成记录
          //判断是否存在上报记录
          this.form.recordstatus = 0;
          if (!this.form.id) {
            this.form.id = this.$route.query.id;
          }
          updateFund(this.form).then(response => {
            if (response.code == 200) {
@@ -1958,6 +2113,7 @@
                type: "success",
                message: "申请成功"
              });
              this.cancel();
            } else {
              this.$message({
                type: "error",
@@ -1995,9 +2151,6 @@
      this.$refs["form"].validate(valid => {
        if (valid) {
          this.formData = this.form;
          // let totalPreTaxAmount = 0.0;
          // let totalAfterTaxAmount = 0.0;
          // let totalAmount = 0.0;
          //保存前校验数据
          for (let k = 0; k < this.rbDetails.length; k++) {
@@ -2010,6 +2163,22 @@
              );
              return;
            }
            /*
            if (
              tempDetail.idcardno == null &&
              this.businessType != "3" &&
              this.businessType != "4"
            ) {
              console.log(1122);
              this.$modal.msgWarning(
                "服务项目表中,第" +
                  (k + 1).toString() +
                  "行的身份证未完善,请先填写身份证后再提交保存!"
              );
              return;
            }
            */
            if (this.businessType == "1") {
              if (tempDetail.servicesscope == null) {
@@ -2030,27 +2199,7 @@
                return;
              }
            }
            // //判断单位 unitSel
            // try {
            //   let unitIndex = this.unitList.findIndex(
            //     (item) => tempDetail.unitno == item.organizationid
            //   );
            //   if (unitIndex > -1) {
            //     tempDetail.unitname = this.unitList[unitIndex].organizationname;
            //   } else {
            //     tempDetail.unitname = tempDetail.unitno;
            //   }
            // } catch {
            //   tempDetail.unitname = tempDetail.unitno;
            // }
          }
          //附件处理
          let list = this.fileList;
          // if (list.length > 0) {
          //   this.form.annexfiles = list.map(item => item.url).join(",");
          // }
          //处理明细
          for (let i = 0; i < this.rbDetails.length; i++) {
@@ -2081,44 +2230,6 @@
              ].subjecttypename;
            }
            this.rbDetails[i] = tempDetail;
            /*
            //计算个税
            //if (isNaN(parseFloat(tempDetail.taxedamount)))
            //获取参数
            this.taxParam.beneficiaryNo = tempDetail.beneficiaryno;
            this.taxParam.startTime = this.form.createTime.substring(0, 10);
            // 计算税后金额
            if (tempDetail.taxedamount == undefined || tempDetail.taxedamount == null || tempDetail.taxedamount == 0 || tempDetail.taxedamount == '') {
              //获取参数
              this.taxParam.money = tempDetail.amount.toString();
              getTaxByBeneFiciaryNo(this.taxParam).then((res) => {
                if (res.code == 200) {
                  tempDetail.taxamount = res.data;
                  tempDetail.taxedamount = tempDetail.amount - tempDetail.taxamount;
                  this.rbDetails[k] = tempDetail;
                  this.totalAfterTaxAmount += parseFloat(tempDetail.taxedamount);
                  this.totalAmount += parseFloat(tempDetail.amount);
                }
              });
            }
            // 计算税前、税费、税后金额
            if (tempDetail.amount == undefined || tempDetail.amount == null || tempDetail.amount == 0 || tempDetail.amount == '') {
              //获取参数
              this.taxParam.money = tempDetail.taxedamount.toString();
              getTaxBeforeByAfterMoney(this.taxParam).then((res) => {
                if (res.code == 200) {
                  tempDetail.taxamount = res.data.nowTax;
                  tempDetail.amount = parseFloat(res.data.nowTaxBeforeMoney);
                  this.rbDetails[k] = tempDetail;
                  this.totalAfterTaxAmount += parseFloat(tempDetail.taxedamount);
                  this.totalAmount += parseFloat(tempDetail.amount);
                }
              });
            }
            */
          }
          //计算当前行报销内容费用合计,税前金额(amount)、扣税金额(taxamount)、税后金额(taxedamount)
          if (this.businessType == "2") {
@@ -2204,48 +2315,66 @@
            // });
          }
          addorupdateFund(this.form).then(response => {
            if (response.code === 200) {
              this.$modal.msgSuccess("申请单保存成功!");
            } else {
              this.$modal.msgError("申请单保存失败:" + response.msg);
            }
          });
          sessionStorage.setItem(
            "apifunddetail",
            JSON.stringify(this.rbDetails)
          );
          sessionStorage.setItem("apiform", JSON.stringify(this.form));
          addorupdateFund(this.form)
            .then(response => {
              console.log(this.form);
              console.log(response, "保存返参");
              if (response.code === 200) {
                if (this.form.id) {
                  this.$modal.msgSuccess("申请单修改成功!");
                  this.$router.go(-1);
                } else {
                  this.$modal.msgSuccess("申请单保存成功!");
                  this.$store.dispatch("tagsView/delView", this.$route);
                  this.$router.push({
                    path: "/finance/applyDetail/",
                    query: {
                      id: response.data,
                      businessType: "2",
                      operationType: "update",
                      curCase: this.curCase
                    }
                  });
                }
                this.form.id = response.data;
                this.curId = response.data;
                this.handleUpdate();
              } else {
                this.$modal.msgError("申请单保存失败:" + response.msg);
              }
            })
            .catch(res => {
              this.$modal.msgError("申请单保存失败:" + res);
            });
          //关闭窗口
          this.loading = false;
          // this.getfundList();
          this.$store.dispatch("tagsView/delView", this.$route);
          this.$router.go(-1);
        }
      });
    }, 500),
    //审批提交
    checksubmit() {
      let checkFundObj = {
        // fundid: this.checkObj.fundid,
        fundid: this.curId,
        flowconclusion: this.checkObj.flowlevelone,
        flowcontent: this.checkObj.flowconclusion
      };
      checkfund(checkFundObj).then(res => {
        //关闭窗口
        this.reset();
        this.$modal.msgSuccess("审核完成!");
        this.$store.dispatch("tagsView/delView", this.$route);
        this.$router.go(-1);
      });
      console.log(this.checkObj.flowlevelone);
      if (
        this.form.checkstatus != 3 &&
        this.userprofile.nickName == "陈慕华" &&
        this.checkObj.flowlevelone == 1
      ) {
        this.$modal.msgError("请选确认材料状态已收到!");
        return;
      }
      this.Savenow();
      console.log("保存并审批");
    },
    // 取消按钮
    cancel() {
      // this.reset();
      this.$store.dispatch("tagsView/delView", this.$route);
      this.$router.go(-1);
    },
@@ -2254,6 +2383,7 @@
    getUserProfile() {
      getUserProfile().then(res => {
        this.userprofile = res.data;
        console.log(this.userprofile);
        this.standardlevel = res.data.standardlevel;
        if (
          this.userprofile.userName == "admin" ||
@@ -2349,6 +2479,7 @@
    getFeeUnitList() {
      listReportname("org").then(res => {
        this.feeUnitList = res.data;
        console.log(this.feeUnitList);
      });
    },
@@ -2416,6 +2547,7 @@
    //获取服务项目
    getRowFeeItems(rowindex, row) {
      let list = this.feeItemTypes.filter(r => r.itemType == row.applytype);
      console.log(list[0]);
      row.itemlist = list[0].itemDetails;
      this.$set(this.rbDetails, rowindex, row);
    },
@@ -2535,58 +2667,17 @@
      });
    },
    selectExpert(row) {
      // if(row.beneficiaryname)
      this.personlist.map(res => {
        if (row.beneficiaryname == res.username) {
          row.beneficiaryno = res.userno;
          row.beneficiaryname = res.username;
          row.bankcardno = res.bankcardno;
          row.branchbankname = res.branchbankname;
          row.depositbank = res.depositbank;
          row.idcardno = res.idcardno;
          row.phone = res.phonenumber;
          row.title = res.title;
          row.unitname = res.unitname;
          row.unitno = res.unitno;
        } else {
          row.beneficiaryno = row.beneficiaryname;
        }
      });
    },
    //计算个税:type(A:已知税前金额,计算税后金额;B:已知税后金额,计算税前金额)
    calculateTax(row, type) {
      let targetValue = 0;
      for (let i = 0; i < this.rbDetails.length; i++) {
        if (!this.rbDetails[i].amount) {
          this.rbDetails[i].amount = 0;
        }
        targetValue += parseFloat(this.rbDetails[i].amount); // 假设每个对象中的特定值存储在'specificValue'属性下
      }
      console.log(targetValue, "合计");
      this.form.pretaxcost = targetValue;
      //if (isNaN(parseFloat(tempDetail.taxedamount)))
      //获取参数
      // this.taxParam.beneficiaryNo = row.beneficiaryno;
      // this.taxParam.startTime = this.form.createTime.substring(0, 10);
      // if (type == "A") {
      //   // 计算个税、税后金额
      //   this.taxParam.money = row.amount.toString();
      //   getTaxByBeneFiciaryNo(this.taxParam).then(res => {
      //     if (res.code == 200) {
      //       row.taxamount = res.data;
      //       row.taxedamount = row.amount - row.taxamount;
      //     }
      //   });
      // } else {
      //   // 计算税前、个税金额
      //   this.taxParam.money = row.taxedamount.toString();
      //   getTaxBeforeByAfterMoney(this.taxParam).then(res => {
      //     if (res.code == 200) {
      //       row.taxamount = res.data.nowTax;
      //       row.amount = parseFloat(res.data.nowTaxBeforeMoney);
      //     }
      //   });
      // }
    },
    //导入所有项目
@@ -2670,9 +2761,6 @@
      this.$refs["form"].validate(valid => {
        if (valid) {
          this.formData = this.form;
          // let totalPreTaxAmount = 0.0;
          // let totalAfterTaxAmount = 0.0;
          // let totalAmount = 0.0;
          //保存前校验数据
          for (let k = 0; k < this.rbDetails.length; k++) {
@@ -2705,27 +2793,7 @@
                return;
              }
            }
            // //判断单位 unitSel
            // try {
            //   let unitIndex = this.unitList.findIndex(
            //     (item) => tempDetail.unitno == item.organizationid
            //   );
            //   if (unitIndex > -1) {
            //     tempDetail.unitname = this.unitList[unitIndex].organizationname;
            //   } else {
            //     tempDetail.unitname = tempDetail.unitno;
            //   }
            // } catch {
            //   tempDetail.unitname = tempDetail.unitno;
            // }
          }
          //附件处理
          let list = this.fileList;
          // if (list.length > 0) {
          //   this.form.annexfiles = list.map(item => item.url).join(",");
          // }
          //处理明细
          for (let i = 0; i < this.rbDetails.length; i++) {
@@ -2756,44 +2824,6 @@
              ].subjecttypename;
            }
            this.rbDetails[i] = tempDetail;
            /*
            //计算个税
            //if (isNaN(parseFloat(tempDetail.taxedamount)))
            //获取参数
            this.taxParam.beneficiaryNo = tempDetail.beneficiaryno;
            this.taxParam.startTime = this.form.createTime.substring(0, 10);
            // 计算税后金额
            if (tempDetail.taxedamount == undefined || tempDetail.taxedamount == null || tempDetail.taxedamount == 0 || tempDetail.taxedamount == '') {
              //获取参数
              this.taxParam.money = tempDetail.amount.toString();
              getTaxByBeneFiciaryNo(this.taxParam).then((res) => {
                if (res.code == 200) {
                  tempDetail.taxamount = res.data;
                  tempDetail.taxedamount = tempDetail.amount - tempDetail.taxamount;
                  this.rbDetails[k] = tempDetail;
                  this.totalAfterTaxAmount += parseFloat(tempDetail.taxedamount);
                  this.totalAmount += parseFloat(tempDetail.amount);
                }
              });
            }
            // 计算税前、税费、税后金额
            if (tempDetail.amount == undefined || tempDetail.amount == null || tempDetail.amount == 0 || tempDetail.amount == '') {
              //获取参数
              this.taxParam.money = tempDetail.taxedamount.toString();
              getTaxBeforeByAfterMoney(this.taxParam).then((res) => {
                if (res.code == 200) {
                  tempDetail.taxamount = res.data.nowTax;
                  tempDetail.amount = parseFloat(res.data.nowTaxBeforeMoney);
                  this.rbDetails[k] = tempDetail;
                  this.totalAfterTaxAmount += parseFloat(tempDetail.taxedamount);
                  this.totalAmount += parseFloat(tempDetail.amount);
                }
              });
            }
            */
          }
          //计算当前行报销内容费用合计,税前金额(amount)、扣税金额(taxamount)、税后金额(taxedamount)
          if (this.businessType == "2") {
@@ -2838,11 +2868,6 @@
            }
          }
          //费用合计
          // 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;
@@ -2852,36 +2877,28 @@
          this.form.serviceFunddetails = this.rbDetails;
          if (this.form.id != null) {
            // updateFund(this.form).then((response) => {
            //   if (response.code === 200) {
            //     this.loading = false;
            //     for (let m = 0; m < this.rbDetails.length; m++) {
            //       if (this.rbDetails[m].id > 0) {
            //         updateFunddetail(this.rbDetails[m]).then((response2) => { if (response.code != 200) { this.$modal.msgError("专家劳务费保存失败1:" + response.msg); } });
            //       } else {
            //         addFunddetail(this.rbDetails[m]).then((response2) => { if (response.code != 200) { this.$modal.msgError("专家劳务费保存失败2:" + response.msg); } });
            //       }
            //     }
            //     this.$modal.msgSuccess("专家劳务费保存成功!");
            //   } else {
            //     this.$modal.msgError("专家劳务费保存失败:" + response.msg);
            //   }
            // });
          } else {
            this.form.recordstatus = -1;
            // addorupdateFund(this.form).then((response) => {
            //   if (response.code === 200) {
            //     this.selectDonotor(this.curCase);
            //   } else {
            //     this.$modal.msgError("专家劳务费保存失败:" + response.msg);
            //   }
            // });
          }
          addorupdateFund(this.form).then(response => {
            if (response.code === 200) {
              this.$modal.msgSuccess("申请单保存成功!");
              // 非提醒状态下执行审批解决异步调用延迟问题
              if (!this.Savereminder) {
                let checkFundObj = {
                  // fundid: this.checkObj.fundid,
                  fundid: this.curId,
                  flowconclusion: this.checkObj.flowlevelone,
                  flowcontent: this.checkObj.flowconclusion
                };
                checkfund(checkFundObj).then(res => {
                  //关闭窗口
                  this.$modal.msgSuccess("审核完成!");
                  this.$store.dispatch("tagsView/delView", this.$route);
                  this.$router.go(-1);
                });
              }
              this.Getnetworkheader();
              this.getroute();
              this.getExternalList();
@@ -2920,12 +2937,23 @@
            JSON.stringify(this.rbDetails)
          );
          sessionStorage.setItem("apiform", JSON.stringify(this.form));
          this.$router.go(0);
        } else {
          // this.$message({
          //   type: "error",
          //   message: "申请失败"
          // this.$router.go(0);
          // this.$router.push({
          //   path: "/finance/applyDetail/",
          //   query: {
          //     id: this.curId,
          //     businessType: this.businessType,
          //     operationType: this.operationType,
          //     curCase: this.curCase
          //   }
          // });
          this.$modal.msgSuccess("计算成功");
          this.handleCheck();
        } else {
          this.$message({
            type: "error",
            message: "计算错误"
          });
        }
      });
    },
@@ -2979,6 +3007,7 @@
          updateBy: null,
          updateTime: null,
          uploadflag: null,
          itemdescribe: null,
          uploadtime: null,
          itemlist: [{ id: "27", itemName: "器官捐献伦理审核专家费" }],
          servicesscope: null,
@@ -2991,6 +3020,7 @@
      for (let i = 0; i < this.checkedCities.length + 1; i++) {
        this.rbDetails[i].orderno = i + 1;
      }
      this.calculateTax();
      this.batchdialogVisible = false;
    },
    //新增一行
@@ -3002,6 +3032,7 @@
        beneficiaryname: null,
        beneficiaryno: null,
        unitname: null,
        itemdescribe: null,
        unitno: null,
        uintuserno: null,
        title: null,
@@ -3198,39 +3229,61 @@
    handleUploadError() {},
    remove(file, fileList) {
      const rbDetails = [...this.rbDetails];
      this.fileListto.splice(this.fileListto.indexOf(file), 1);
      rbDetails[this.atpresent].annexfilesList = this.fileListto;
      if (this.activeName == 1) {
        this.fileListto.splice(this.fileListto.indexOf(file), 1);
        rbDetails[this.atpresent].annexfilesList = this.fileListto;
      } else {
        this.invoicefileListto.splice(this.invoicefileListto.indexOf(file), 1);
        rbDetails[this.atpresent].invoicefilesList = this.invoicefileListto;
      }
    },
    //文件上传成功回调
    // uploadSccess(response, file, fileList) {
    //   //获取附件信息位置
    //   if (response.code == 200) {
    //     this.form.filename = file.raw.name;
    //     this.$modal.msgSuccess(response.msg);
    //     this.fileList.push({ name: response.fileName, url: response.fileName });
    //   } else {
    //   }
    // },
    uploadSccess(response, file, fileList) {
      this.rbDetails;
      //获取票据信息位置
      if (response.code == 200) {
        this.form.filename = file.raw.name;
        this.previewpdf = true;
        this.$modal.msgSuccess(response.msg);
        this.fileListto.push({ name: file.name, url: response.fileName });
        // this.fileListto.push({ name: file.name, url: response.url });
        this.pdfimgsrcList.push(
          this.Networkheader + "/prod-api" + response.fileName
        );
        this.pdftitle = "共" + this.pdfimgsrcList.length + "项";
        this.pdfimg = this.Networkheader + "/prod-api" + response.fileName;
        this.rbDetails[this.atpresent].annexfilesList = this.fileListto;
      console.log(response);
      console.log(file);
      if (this.activeName == 1) {
        if (response.code == 200) {
          // this.form.filename = file.raw.name;
          this.previewpdf = true;
          this.$modal.msgSuccess(response.msg);
          this.fileListto.push({
            name: file.name,
            url: response.fileName
          });
          this.pdfimgsrcList.push(
            this.Networkheader + "/prod-api" + response.fileName
          );
          console.log(this.pdfimgsrcList);
          this.pdftitle = "共" + this.pdfimgsrcList.length + "项";
          this.pdfimg = this.Networkheader + "/prod-api" + response.fileName;
          this.rbDetails[this.atpresent].annexfilesList = this.fileListto;
        } else {
          console.log(response.msg);
        }
      } else {
        if (response.code == 200) {
          // this.form.filename = file.raw.name;
          this.previewpdf = true;
          this.$modal.msgSuccess(response.msg);
          this.invoicefileListto.push({
            name: file.name,
            url: response.fileName
          });
          this.invoicepdfimgsrcList.push(
            this.Networkheader + "/prod-api" + response.fileName
          );
          console.log(this.invoicepdfimgsrcList);
          this.pdftitle = "共" + this.invoicepdfimgsrcList.length + "项";
          this.pdfimg = this.Networkheader + "/prod-api" + response.fileName;
          this.rbDetails[
            this.atpresent
          ].invoicefilesList = this.invoicefileListto;
          console.log(this.rbDetails[this.atpresent]);
        } else {
          console.log(response.msg);
        }
      }
    },
@@ -3238,84 +3291,159 @@
    Filepopup(index, rows, row) {
      this.tableDatatop = [];
      this.pdfimgsrcList = [];
      this.invoDatatop = [];
      this.invoicepdfimgsrcList = [];
      this.invoDatatop.push(row);
      this.tableDatatop.push(row);
      this.atpresent = index;
      this.pdfVisible = true;
      console.log(this.rbDetails[index]);
      if (this.rbDetails[index].annexfilesList) {
        this.previewpdf = true;
        this.fileListto = this.rbDetails[index].annexfilesList;
        console.log(this.fileListto);
        this.pdfimg = this.Networkheader + "/prod-api" + this.fileListto[0].url;
        // this.pdfimg = this.fileListto[0].url;
        this.fileListto.forEach(item => {
          this.pdfimgsrcList.push(this.Networkheader + "/prod-api" + item.url);
        });
        this.pdftitle = "共" + this.pdfimgsrcList.length + "项";
      } else {
        this.fileListto = [];
        this.pdfimg = "";
        this.pdftitle = "";
      }
      // -发票文件
      if (this.rbDetails[index].invoicefilesList) {
        this.previewpdf = true;
        this.invoicefileListto = this.rbDetails[index].invoicefilesList;
        console.log(this.invoicefileListto);
        this.invoicepdfimg =
          this.Networkheader + "/prod-api" + this.invoicefileListto[0].url;
        this.invoicefileListto.forEach(item => {
          this.invoicepdfimgsrcList.push(
            this.Networkheader + "/prod-api" + item.url
          );
        });
        console.log(this.invoicepdfimgsrcList);
        console.log(this.invoicepdfimg);
      } else {
        this.invoicefileListto = [];
        this.invoicepdfimg = "";
        this.pdftitle = "";
      }
      if (this.activeName == 1) {
        this.pdftitle = "共" + this.pdfimgsrcList.length + "项";
      } else {
        this.pdftitle = "共" + this.invoicepdfimgsrcList.length + "项";
      }
    },
    // 点击已上传文件
    downFile(item) {
      this.pdftitle =
        "共" + this.pdfimgsrcList.length + "项,当前选中" + item.name;
      let name = item.name.split(".");
      if (name[1] == "pdf") {
        this.$modal.msgWarning("当前文件暂不支持预览");
        this.previewpdf = false;
        this.hintitle = "当前文件暂不支持预览";
      } else if (name[1] == "jpg" || "png") {
        this.previewpdf = true;
        if (item.url) {
          this.pdfimg = this.Networkheader + "/prod-api" + item.url;
          // if (!this.pdfimgsrcList.includes(this.pdfimg)) {
          //   this.pdfimgsrcList.push(this.pdfimg);
          // }
      if (this.activeName == 1) {
        console.log(item, "点击文件拿item");
        this.pdftitle =
          "共" + this.pdfimgsrcList.length + "项,当前选中" + item.name;
        let name = item.name.split(".");
        if (name[1] == "pdf") {
          this.$modal.msgWarning("当前文件暂不支持预览");
          this.previewpdf = false;
          this.hintitle = "当前文件暂不支持预览";
        } else if (name[1] == "jpg" || "png") {
          this.previewpdf = true;
          if (item.url) {
            this.pdfimg = this.Networkheader + "/prod-api" + item.url;
          } else {
            this.pdfimg = this.Networkheader + "/prod-api" + item.response.url;
          }
        } else {
          this.pdfimg = this.Networkheader + "/prod-api" + item.url;
          this.hintitle = "当前文件暂不支持预览";
          this.$modal.msgWarning("当前文件暂不支持预览");
          this.previewpdf = false;
        }
      } else {
        this.hintitle = "当前文件暂不支持预览";
        this.$modal.msgWarning("当前文件暂不支持预览");
        this.previewpdf = false;
        console.log(item, "点击文件拿item");
        this.pdftitle =
          "共" + this.invoicepdfimgsrcList.length + "项,当前选中" + item.name;
        let name = item.name.split(".");
        if (name[1] == "pdf") {
          this.$modal.msgWarning("当前文件暂不支持预览");
          this.previewpdf = false;
          this.hintitle = "当前文件暂不支持预览";
        } else if (name[1] == "jpg" || "png") {
          this.previewpdf = true;
          if (item.url) {
            this.invoicepdfimg = this.Networkheader + "/prod-api" + item.url;
            console.log(this.invoicepdfimg, "pdfimg");
            console.log(this.invoicepdfimgsrcList, "imglist");
          } else {
            this.invoicepdfimg =
              this.Networkheader + "/prod-api" + item.response.url;
          }
        } else {
          this.hintitle = "当前文件暂不支持预览";
          this.$modal.msgWarning("当前文件暂不支持预览");
          this.previewpdf = false;
        }
      }
    },
    getIndexInArray(arr, obj) {
      return arr.indexOf(obj);
    },
    // 发票切换
    handleClick(tab, event) {
      if (this.activeName == 1) {
        this.pdftitle = "共" + this.pdfimgsrcList.length + "项";
      } else {
        this.pdftitle = "共" + this.invoicepdfimgsrcList.length + "项";
      }
    },
    // 点击删除
    deletedowfile(row) {
      const indexlist = this.getIndexInArray(
        this.pdfimgsrcList,
        this.Networkheader + "/prod-api" + row.url
      );
      this.pdfimgsrcList.splice(indexlist, 1);
      const index = this.getIndexInArray(this.fileListto, row);
      this.fileListto.splice(index, 1);
      if (this.activeName == 1) {
        const indexlist = this.getIndexInArray(
          this.pdfimgsrcList,
          this.Networkheader + "/prod-api" + row.url
        );
        this.pdfimgsrcList.splice(indexlist, 1);
        const index = this.getIndexInArray(this.fileListto, row);
        this.fileListto.splice(index, 1);
      } else {
        const indexlist = this.getIndexInArray(
          this.invoicepdfimgsrcList,
          this.Networkheader + "/prod-api" + row.url
        );
        this.invoicepdfimgsrcList.splice(indexlist, 1);
        const index = this.getIndexInArray(this.invoicefileListto, row);
        this.invoicefileListto.splice(index, 1);
      }
    },
    // 点击上移
    moveupdowfile(row) {
      const index = this.getIndexInArray(this.fileListto, row);
      const item = this.fileListto.splice(index, 1)[0]; // 移除指定索引处的元素,并保存到item变量中
      this.fileListto.splice(index - 1, 0, item); // 将item插入到索引位置的前一位
      if (this.activeName == 1) {
        const index = this.getIndexInArray(this.fileListto, row);
        const item = this.fileListto.splice(index, 1)[0]; // 移除指定索引处的元素,并保存到item变量中
        this.fileListto.splice(index - 1, 0, item); // 将item插入到索引位置的前一位
      } else {
        const index = this.getIndexInArray(this.invoicefileListto, row);
        const item = this.invoicefileListto.splice(index, 1)[0]; // 移除指定索引处的元素,并保存到item变量中
        this.invoicefileListto.splice(index - 1, 0, item); // 将item插入到索引位置的前一位
      }
    },
    Downloadfile(row) {
      console.log(row);
      window.location.href = this.Networkheader + "/prod-api" + row.url;
    },
    //专家/医疗机构/费用报销机构选择
    ShowDetailDialog(spoce, showType) {
      this.spocewl = spoce;
      this.selectionType = showType;
      if (this.businessType == 4 || !showType) {
      if (this.businessType == 4 || this.businessType == 3 || !showType) {
        this.selectionType = this.experthear;
      }
      // if (!showType) {
      //   this.selectionType = this.experthear;
      // }
      this.expertfrom = "1";
      console.log(spoce);
      this.funddetailForm.index = spoce.$index;
      this.funddetailForm.beneficiaryno = spoce.row.beneficiaryno;
      this.funddetailForm.beneficiaryname = spoce.row.beneficiaryname;
@@ -3334,142 +3462,161 @@
    //专家/医疗机构/费用报销机构选择
    ConfirmDetailDialog() {
      if (this.businessType == 4) {
        if (this.experthear == "expert") {
          this.funddetailForm.beneficiaryname = this.unitforname;
        } else {
          this.funddetailForm.beneficiaryname = this.Personnelforname;
        }
      }
      this.$refs["funddetailForm"].validate(valid => {
        let tempIndex = this.funddetailForm.index;
        let tempExpertName = this.funddetailForm.beneficiaryname;
        let tempUnitname = this.funddetailForm.unitname;
        let singleDetail = this.rbDetails[tempIndex];
      let tempIndex = this.funddetailForm.index;
      let tempExpertName = this.funddetailForm.beneficiaryname;
      let tempUnitname = this.funddetailForm.unitname;
      let singleDetail = this.rbDetails[tempIndex];
        if (
          this.selectionType == "expert" ||
          this.businessType == 4 ||
          this.businessType == 3
        ) {
          if (this.expertfrom == "1" || this.experthear == "unit") {
            //从专家列表获取信息
            this.personlist.map(res => {
              if (tempExpertName == res.username) {
                singleDetail.beneficiaryno = res.userno;
                singleDetail.beneficiaryname = res.username;
                singleDetail.bankcardno = res.bankcardno;
                singleDetail.branchbankname = res.branchbankname;
                singleDetail.depositbank = res.depositbank;
                singleDetail.idcardno = res.idcardno;
                singleDetail.phone = res.telephone;
                singleDetail.title = res.title;
                singleDetail.unitname = res.unitname;
                singleDetail.unitno = parseInt(res.unitno);
              }
            });
          } else {
            //保存新增专家
            this.expertform.id = null;
            this.expertform.userno =
              this.personlist[this.personlist.length - 1].id + 1;
            this.expertform.usertype = "expert";
            this.expertform.username = this.funddetailForm.expertname;
            this.expertform.idcardno = this.funddetailForm.expertidcardno;
            this.expertform.sex = null;
            this.expertform.telephone = null;
            this.expertform.address = null;
            this.expertform.wbm = null;
            this.expertform.pym = null;
      if (this.selectionType == "expert" || this.businessType == 4) {
        if (this.expertfrom == "1" || this.experthear == "unit") {
          //从专家列表获取信息
          this.personlist.map(res => {
            if (tempExpertName == res.username) {
              singleDetail.beneficiaryno = res.userno;
              singleDetail.beneficiaryname = res.username;
              singleDetail.bankcardno = res.bankcardno;
              singleDetail.branchbankname = res.branchbankname;
              singleDetail.depositbank = res.depositbank;
              singleDetail.idcardno = res.idcardno;
              singleDetail.phone = res.telephone;
              singleDetail.title = res.title;
              singleDetail.unitname = res.unitname;
              singleDetail.unitno = parseInt(res.unitno);
            }
          });
        } else {
          //保存新增专家
          this.expertform.id = null;
          this.expertform.userno =
            this.personlist[this.personlist.length - 1].id + 1;
          this.expertform.usertype = "expert";
          this.expertform.username = this.funddetailForm.expertname;
          this.expertform.idcardno = this.funddetailForm.expertidcardno;
          this.expertform.sex = null;
          this.expertform.telephone = null;
          this.expertform.address = null;
          this.expertform.wbm = null;
          this.expertform.pym = null;
          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.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;
            }
          } catch {
            this.expertform.unitname = this.expertform.unitno;
          }
          this.expertform.title = this.funddetailForm.experttitle;
          this.expertform.personnelunitno = null;
            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";
            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("新增专家信息成功!");
            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);
                  }
                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.selectionType == "unit") {
        singleDetail.unitno = this.funddetailForm.unitno;
        if (this.businessType == 1 || this.businessType == 2) {
          try {
            let unitIndex = this.unitList.findIndex(
              item => singleDetail.unitno == item.organizationid
            );
            if (unitIndex > -1) {
              singleDetail.unitname = this.unitList[unitIndex].organizationname;
            } else {
              }
            });
          }
        } else if (this.selectionType == "unit") {
          singleDetail.unitno = this.funddetailForm.unitno;
          if (this.businessType == 1 || this.businessType == 2) {
            try {
              let unitIndex = this.unitList.findIndex(
                item => singleDetail.unitno == item.organizationid
              );
              if (unitIndex > -1) {
                singleDetail.unitname = this.unitList[
                  unitIndex
                ].organizationname;
              } else {
                singleDetail.unitname = singleDetail.unitno;
              }
            } catch {
              singleDetail.unitname = singleDetail.unitno;
            }
          } catch {
            singleDetail.unitname = singleDetail.unitno;
          }
        } else if (this.businessType == 3 || this.businessType == 4) {
          try {
            let unitIndex = this.feeUnitList.findIndex(
              item => singleDetail.unitno == item.reportNo
            );
            if (unitIndex > -1) {
              singleDetail.unitname = this.feeUnitList[unitIndex].reportName;
              singleDetail.depositbank = this.feeUnitList[
                unitIndex
              ].depositbank;
              singleDetail.bankcardno = this.feeUnitList[unitIndex].bankcardno;
            } else {
          } else if (this.businessType == 3 || this.businessType == 4) {
            try {
              let unitIndex = this.feeUnitList.findIndex(
                item => singleDetail.unitno == item.reportNo
              );
              if (unitIndex > -1) {
                singleDetail.unitname = this.feeUnitList[unitIndex].reportName;
                singleDetail.depositbank = this.feeUnitList[
                  unitIndex
                ].depositbank;
                singleDetail.bankcardno = this.feeUnitList[
                  unitIndex
                ].bankcardno;
              } else {
                singleDetail.unitname = singleDetail.unitno;
              }
            } catch {
              singleDetail.unitname = singleDetail.unitno;
            }
          } catch {
            singleDetail.unitname = singleDetail.unitno;
          }
        }
      }
      // if (this.experthear == "unit") {
      //   singleDetail.unitname = "";
      // }
      if (this.businessType == 4) {
        singleDetail.beneficiaryname = this.funddetailForm.beneficiaryname;
        // if (this.experthear == "unit") {
        //   singleDetail.unitname = "";
        // }
        if (this.businessType == 4 || this.businessType == 3) {
          singleDetail.beneficiaryname = this.funddetailForm.beneficiaryname;
        }
        this.rbDetails[tempIndex] = singleDetail;
        this.showSelectionDialog = false;
      });
    },
    tableParValueChange(row, tto) {
      const regex = /^[1-9]\d{5}(19|20)\d{2}(0[1-9]|1[012])(0[1-9]|[12]\d|3[01])\d{3}([0-9]|X)$/;
      if (tto) {
        if (regex.test(funddetailForm.expertidcardno)) {
          row.error = "";
        } else {
          row.error = "身份证号码格式错误";
        }
        return;
      }
      this.rbDetails[tempIndex] = singleDetail;
      this.showSelectionDialog = false;
      console.log(11);
      if (regex.test(row.idcardno)) {
        row.error = "";
      } else {
        row.error = "身份证号码格式错误";
      }
    }
  },
@@ -3492,13 +3639,19 @@
    // this.getFeeUnitList();
  },
  beforeRouteLeave(to, from, next) {
    // 执行销毁操作
    this.$destroy();
    next();
  },
  beforeCreate() {}, //生命周期 - 创建之前
  beforeMount() {}, //生命周期 - 挂载之前
  beforeUpdate() {}, //生命周期 - 更新之前
  updated() {}, //生命周期 - 更新之后
  beforeDestroy() {}, //生命周期 - 销毁之前
  destroyed() {}, //生命周期 - 销毁完成
  destroyed() {
    window.removeEventListener("beforeunload", e => this.beforeunloadFn(e));
  }, //生命周期 - 销毁完成
  activated() {} //如果页面有keep-alive缓存功能,这个函数会触发
};
</script>