11
WXL
2023-12-17 8c7d6925222fd6f81a9a5869426086635e0c08df
src/views/project/fund/applyDetail/index.vue
@@ -9,11 +9,12 @@
            <el-form-item label="申请日期" prop="createTime">
              <el-date-picker
                clearable
                :disabled="true"
                style="width: 100%"
                v-model="form.createTime"
                type="date"
                value-format="yyyy-MM-dd HH:mm:ss"
                placeholder="申请日期"
                placeholder="日   期"
              >
              </el-date-picker>
            </el-form-item>
@@ -135,8 +136,8 @@
              导入服务项目
            </el-button>
          </el-col>
          <el-col :span="3"
            ><div style="margin-bottom: 15px;" v-if="businessType == 2">
          <el-col :span="3">
            <div style="margin-bottom: 15px;" v-if="businessType == 2">
              <el-button
                type="success"
                icon="el-icon-download"
@@ -150,7 +151,8 @@
            <div
              style="margin-bottom: 15px;"
              v-if="
                userprofile.nickName == '陈慕华'&&(businessType=='1'||businessType=='2')
                userprofile.nickName == '陈慕华' &&
                  (businessType == '1' || businessType == '2')
              "
            >
              <el-button
@@ -291,7 +293,7 @@
              </template>
            </el-table-column>
            <el-table-column
              v-if="
              v-show="
                businessType == 2 ||
                  businessType == 3 ||
                  businessType == 4 ||
@@ -303,13 +305,6 @@
              width="120"
            >
              <template slot-scope="scope">
                <!--
                  <el-select v-model="scope.row.amount" placeholder="税前金额" clearable filterable allow-create
                  @change="selectamount(scope.row)">
                  <el-option v-for="dict in scope.row.rowfeeblocks" :key="dict.expensedescribe" :label="dict.expense"
                    :value="dict.expense"></el-option>
                </el-select>
              -->
                <el-input
                  v-model="scope.row.amount"
                  placeholder="金额"
@@ -322,11 +317,28 @@
              </template>
            </el-table-column>
            <el-table-column
              prop="taxamount"
              align="center"
              label="扣税金额"
              width="120"
              v-show="
                (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="税后金额"
              width="120"
              v-if="
              v-show="
                (this.ismanager == true) &
                  (form.applytype == '1' || form.applytype == '2')
              "
@@ -345,16 +357,16 @@
            </el-table-column>
            <el-table-column
              prop="beneficiaryname"
              column-key="sdad"
              align="center"
              label="专家/单位"
              width="120"
              v-if="form.applytype == '1' || form.applytype == '2'"
              :label="beneficiarylabel"
              width="200"
            >
              <template slot-scope="scope">
                <el-button
                  type="primary"
                  plain
                  @click="ShowDetailDialog(scope, 'expert')"
                  @click="showSelectionDialog(scope, 'account')"
                  >{{
                    scope.row.beneficiaryname
                      ? scope.row.beneficiaryname
@@ -368,52 +380,30 @@
              align="center"
              label="专家所在单位"
              width="250"
              v-if="form.applytype != '4' && form.applytype != '3'"
              v-if="form.applytype == '1' && form.applytype == '2'"
            >
              <template slot-scope="scope">
                <el-button
                  type="primary"
                  plain
                  @click="ShowDetailDialog(scope, 'unit')"
                  @click="showSelectionDialog(scope, 'workunit')"
                  >{{
                    scope.row.unitname ? scope.row.unitname : "点击选择"
                  }}</el-button
                >
                <!-- <el-select
                  v-model="scope.row.unitno"
                  placeholder="单位"
                  clearable
                  filterable
                  allow-create
                >
                  <el-option
                    v-for="(spec, index) in unitList"
                    :key="index"
                    :label="spec.organizationname"
                    :value="spec.organizationid"
                  ></el-option>
                                      </el-select> -->
              </template>
            </el-table-column>
            <el-table-column
              prop="beneficiaryname"
              align="center"
              label="单位/个人"
              width="250"
              v-if="form.applytype == '4' || form.applytype == '3'"
            >
            <!--
            <el-table-column prop="unitname" align="center" label="单位(个人)名称" width="300"
              v-if="form.applytype == '4' || form.applytype == '3'">
              <template slot-scope="scope">
                <el-button
                  type="primary"
                  plain
                  @click="ShowDetailDialog(scope, 'expert')"
                  >{{
                    scope.row.beneficiaryname
                      ? scope.row.beneficiaryname
                      : "点击选择"
                  }}</el-button
                >
                <!-- <el-select
                <el-button type="primary" plain @click="showSelectionDialog(scope, 'account')">{{
                  scope.row.unitname
                  ? scope.row.unitname
                  : "点击选择"
                }}</el-button>
                <el-select
                  v-model="scope.row.unitno"
                  placeholder="单位"
                  clearable
@@ -426,9 +416,10 @@
                    :label="spec.organizationname"
                    :value="spec.organizationid"
                  ></el-option>
                                      </el-select> -->
                </el-select>
              </template>
            </el-table-column>
             -->
            <el-table-column
              prop="title"
              align="center"
@@ -450,6 +441,9 @@
              <template slot-scope="scope">
                <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="身份证号"
@@ -463,9 +457,11 @@
              label="开户银行"
              width="200"
            >
              <!-- v-if="form.applytype != '4'" -->
              <template slot-scope="scope">
                <el-input
                  :disabled="
                    userprofile.nickName != '陈慕华' && businessType == 1
                  "
                  v-model="scope.row.depositbank"
                  placeholder="开户银行"
                />
@@ -479,13 +475,16 @@
            >
              <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="itemdescribe"
              prop="itemdescrisca"
              align="center"
              width="330"
              label="项目说明"
@@ -558,7 +557,9 @@
                  "
                  type="text"
                  size="small"
                  v-if="businessType == 3 || businessType == 4"
                  v-if="
                    businessType == 3 || businessType == 2 || businessType == 4
                  "
                  >票据</el-button
                >
              </template>
@@ -692,11 +693,11 @@
          style="margin-top: 25px; margin-bottom: 5px"
          v-if="operationType == 'check' && userprofile.nickName == '陈慕华'"
        >
          <el-col :span="7">
          <el-col :span="20">
            <el-form-item label="申请材料状态" prop="infoid">
              <el-radio-group v-model="form.checkstatus" align="left">
                <el-radio :label="1">待申请材料</el-radio>
                <el-radio :label="2">申请材料通过等待材料</el-radio>
                <el-radio :label="2">审核通过等待邮寄纸质材料</el-radio>
                <el-radio :label="3">已收到报销材料</el-radio>
              </el-radio-group>
            </el-form-item>
@@ -706,7 +707,7 @@
          style="margin-top: 5px; margin-bottom: 5px"
          v-if="operationType == 'check'"
        >
          <el-col :span="7">
          <el-col :span="20">
            <el-form-item label="审核结果" align="left">
              <el-radio-group v-model="checkObj.flowlevelone" align="left">
                <el-radio label="1">通过</el-radio>
@@ -715,7 +716,6 @@
            </el-form-item>
          </el-col>
        </el-row>
        <el-row v-if="operationType == 'check'">
          <el-col :span="17">
            <el-form-item label="审核备注" align="left">
@@ -733,7 +733,7 @@
              operationType == 'update' ||
              ismanager == true
          "
          >提交保存</el-button
          >保存</el-button
        >
        <el-button
          type="success"
@@ -752,63 +752,28 @@
    </div>
    <el-dialog
      :visible.sync="showSelectionDialog"
      :visible.sync="showselectiondialog"
      :close-on-click-modal="false"
      :title="'单位/个人信息选择'"
      width="500px"
      :title="'账户信息/单位信息选择'"
      width="650px"
      style="text-align: center"
      v-loading="loading"
    >
      <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"
          >
            <el-form-item label="请选择专家信息:" prop="expertfrom">
              <el-radio-group v-model="expertfrom" style="margin-bottom: 0">
                <el-radio label="1">专家库</el-radio>
                <el-radio label="2">新增专家</el-radio>
              </el-radio-group>
            </el-form-item>
          </el-col>
          <el-col
            :span="24"
            v-if="selectionType == 'expert' && expertfrom == '1'"
          >
            <el-form-item
              label="专家姓名"
              prop="beneficiaryname"
              label-width="80px"
            >
              <el-select
                filterable
                allow-create
                ref="beneficiaryname"
                default-first-option
                v-model="funddetailForm.beneficiaryname"
                placeholder="请选择"
                style="width: 100%"
              >
                <el-option
                  v-for="item in expertlist"
                  :key="item.expertNo"
                  :label="item.exportName"
                  :value="item.exportName"
                >
                </el-option>
              </el-select>
            </el-form-item>
          </el-col>
          <el-col :span="24" v-if="selectionType == 'unit'">
      <el-form
        ref="accountselectform"
        :rules="dialogrules"
        :model="accountselectform"
        label-width="120px"
      >
        <el-row v-if="selectionType == 'workunit'">
          <el-col :span="24">
            <el-form-item
              label="单位名称"
              prop="unitno"
              prop="expertunitno"
              label-width="120px"
              v-if="businessType == 1 || businessType == 2"
            >
              <el-select
                v-model="funddetailForm.unitno"
                v-model="accountselectform.expertunitno"
                placeholder="单位名称"
                clearable
                filterable
@@ -823,110 +788,84 @@
                ></el-option>
              </el-select>
            </el-form-item>
            <el-form-item
              label="发票单位名称"
              prop="unitno"
              label-width="120px"
              v-if="businessType == 3"
            >
              <el-select
                v-model="funddetailForm.unitno"
                placeholder="单位名称"
                clearable
                filterable
                allow-create
                style="width: 100%"
              >
                <el-option
                  v-for="(item, index) in feeUnitList"
                  :key="index"
                  :label="item.reportName"
                  :value="item.reportNo"
                ></el-option>
              </el-select>
            </el-form-item>
          </el-col>
        </el-row>
        <el-row v-if="businessType == 4 || businessType == 3">
          <el-col :span="24">
            <el-form-item label="请选择专家信息:" prop="experthear">
              <el-radio-group
                @change="ShowDetailDialog(spocewl)"
                v-model="experthear"
                style="margin-bottom: 0"
              >
                <el-radio label="unit">人员选项</el-radio>
                <el-radio label="expert">单位选项</el-radio>
        <el-row v-if="selectionType == 'account'">
          <el-col>
            <el-form-item
              label="账户来源"
              prop="accountfrom"
              class="left-align"
            >
              <el-radio-group v-model="accountfrom" style="margin-bottom: 0">
                <el-radio label="1">从账户库</el-radio>
                <el-radio label="2"
                  >新增账户(新增后需要审核确认才能启用)</el-radio
                >
              </el-radio-group>
            </el-form-item>
          </el-col>
          <el-col :span="24" v-if="experthear == 'unit'">
            <el-form-item
              label="专家/单位"
              prop="beneficiaryname"
              label-width="80px"
            >
          <el-col :span="24" v-if="accountfrom == '1'">
            <el-form-item label="账户名称" prop="accountname">
              <el-select
                filterable
                allow-create
                ref="beneficiaryname"
                ref="accountname"
                default-first-option
                @change="bbaaccss"
                v-model="funddetailForm.beneficiaryname"
                v-model="accountselectform.accountname"
                placeholder="请选择"
                style="width: 100%"
              >
                <el-option
                  v-for="item in expertlist"
                  :key="item.expertNo"
                  :label="item.exportName"
                  :value="item.exportName"
                  v-for="item in accountlist"
                  :key="item.id"
                  :label="item.username"
                  :value="item.username"
                >
                </el-option>
              </el-select>
            </el-form-item>
          </el-col>
          <el-col :span="24" v-if="experthear == 'expert'">
            <el-form-item label="单位名称" prop="unitno" label-width="120px">
              <el-select
                v-model="funddetailForm.beneficiaryname"
                placeholder="单位名称"
                @change="bbaaccss"
                clearable
                filterable
                allow-create
                style="width: 100%"
        </el-row>
        <el-row v-if="accountfrom == '2'">
          <el-col :span="16"
            ><el-form-item label="新增类型" prop="usertype">
              <el-radio-group
                v-model="accountselectform.usertype"
                style="margin-bottom: 0"
              >
                <el-option
                  v-for="(spec, index) in feeUnitList"
                  :key="index"
                  :label="spec.reportName"
                  :value="spec.reportName"
                ></el-option>
              </el-select>
                <el-radio label="expert">新增专家账号</el-radio>
                <el-radio label="org">新增单位账号</el-radio>
              </el-radio-group>
            </el-form-item>
          </el-col>
        </el-row>
        <el-row v-if="businessType != 4 && businessType != 3">
          <el-col :span="12" v-if="expertfrom == '2'">
            <el-form-item label="专家姓名" prop="expertname" label-width="80px">
        <el-row v-if="accountfrom == '2'">
          <el-col :span="24">
            <el-form-item label="账号名称" prop="username">
              <el-input
                v-model="funddetailForm.expertname"
                placeholder="必填项"
                v-model="accountselectform.username"
                placeholder="请输入单位名称或专家姓名"
              />
            </el-form-item>
          </el-col>
          <el-col :span="12" v-if="expertfrom == '2'">
            <el-form-item
              label="职    称"
              prop="experttitle"
              label-width="80px"
            >
        </el-row>
        <el-row
          v-if="accountfrom == '2' && accountselectform.usertype != 'org'"
        >
          <el-col :span="12">
            <el-form-item label="身份证号" prop="idcardno">
              <el-input
                v-model="accountselectform.idcardno"
                placeholder="请输入身份证号"
              />
            </el-form-item>
          </el-col>
          <el-col :span="12">
            <el-form-item label="职称" prop="title">
              <el-select
                v-model="funddetailForm.experttitle"
                placeholder="必填项"
                v-model="accountselectform.title"
                placeholder="请选择人员职称"
              >
                <el-option
                  v-for="dict in dict.type.sys_professionaltitle"
@@ -938,30 +877,13 @@
            </el-form-item>
          </el-col>
        </el-row>
        <el-row v-if="businessType != 4 && businessType != 3">
          <el-col :span="24" v-if="expertfrom == '2'">
            <el-form-item
              label="身份证号"
              prop="expertidcardno"
              label-width="80px"
            >
              <el-input
                v-model="funddetailForm.expertidcardno"
                placeholder="必填项"
              />
            </el-form-item>
          </el-col>
        </el-row>
        <el-row v-if="businessType != 4 && businessType != 3">
          <el-col :span="24" v-if="expertfrom == '2'">
            <el-form-item
              label="单位名称"
              prop="expertunitno"
              label-width="80px"
            >
        <el-row
          v-if="accountfrom == '2' && accountselectform.usertype != 'org'"
        >
          <el-col>
            <el-form-item label="所在单位" prop="unitno">
              <el-select
                v-model="funddetailForm.expertunitno"
                v-model="accountselectform.unitno"
                placeholder="单位名称"
                clearable
                filterable
@@ -974,41 +896,62 @@
                  :label="spec.organizationname"
                  :value="spec.organizationid"
                ></el-option>
              </el-select> </el-form-item
          ></el-col>
        </el-row>
        <el-row v-if="businessType != 4 && businessType != 3">
          <el-col :span="24" v-if="expertfrom == '2'">
            <el-form-item
              label="开户银行"
              prop="expertdepositbank"
              label-width="80px"
            >
              </el-select>
            </el-form-item>
          </el-col>
          <el-col>
            <el-form-item label="单位工号" prop="personnelunitno">
              <el-input
                v-model="funddetailForm.expertdepositbank"
                placeholder="必填项"
                v-model="accountselectform.personnelunitno"
                placeholder="请输入所在单位的工号"
              />
            </el-form-item>
          </el-col>
          <el-col :span="24" v-if="expertfrom == '2'">
            <el-form-item
              label="银行卡号"
              prop="expertbankcardno"
              label-width="80px"
            >
        </el-row>
        <el-row v-if="accountfrom == '2'">
          <el-col
            ><el-form-item label="开户银行" prop="depositbank">
              <el-input
                v-model="funddetailForm.expertbankcardno"
                placeholder="必填项"
                v-model="accountselectform.depositbank"
                placeholder="请输入开户银行名称"
              />
            </el-form-item>
          </el-col>
          <el-col
            ><el-form-item label="银行卡号" prop="bankcardno">
              <el-input
                v-model="accountselectform.bankcardno"
                placeholder="请输入银行卡号"
              />
            </el-form-item>
          </el-col>
        </el-row>
        <el-row v-if="accountfrom == '2'">
          <el-col>
            <el-form-item label="联系地址" prop="address">
              <el-input
                v-model="accountselectform.address"
                placeholder="请输入联系地址"
              />
            </el-form-item>
          </el-col>
        </el-row>
        <el-row v-if="accountfrom == '2'">
          <el-col>
            <el-form-item label="联系电话" prop="telephone">
              <el-input
                v-model="accountselectform.telephone"
                placeholder="请输入联系电话"
              />
            </el-form-item>
          </el-col>
        </el-row>
      </el-form>
      <span slot="footer" class="dialog-footer">
        <el-button @click="showSelectionDialog = false">取 消</el-button>
        <el-button type="primary" @click="ConfirmDetailDialog()"
        <el-button type="primary" @click="confirmSelectionDialog()"
          >确 定</el-button
        >
        <el-button @click="showselectiondialog = false">取 消</el-button>
      </span>
    </el-dialog>
    <el-dialog
@@ -1063,12 +1006,7 @@
            v-if="form.applytype != '4'"
          >
          </el-table-column> -->
          <el-table-column
            prop="beneficiaryname"
            align="center"
            label="单位/个人"
            width="250"
          >
          <el-table-column prop="" align="center" label="单位/个人" width="250">
          </el-table-column>
          <el-table-column
            prop="title"
@@ -1152,15 +1090,14 @@
                    label="名称"
                  >
                    <template slot-scope="scope">
                      <i style="color:#409EFF" class=" el-icon-s-order" />{{
                        scope.row.name
                      }}
                      <i style="color:#409EFF" class=" el-icon-s-order" />
                      <span>{{ scope.row.name }}</span>
                    </template>
                  </el-table-column>
                  <el-table-column
                    prop="name"
                    width="180"
                    width="190"
                    :show-overflow-tooltip="true"
                    label="功能"
                  >
@@ -1177,6 +1114,13 @@
                        @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>
@@ -1249,15 +1193,14 @@
                    label="名称"
                  >
                    <template slot-scope="scope">
                      <i style="color:#409EFF" class=" el-icon-s-order" />{{
                        scope.row.name
                      }}
                      <i style="color:#409EFF" class=" el-icon-s-order" />
                      <span>{{ scope.row.name }}</span>
                    </template>
                  </el-table-column>
                  <el-table-column
                    prop="name"
                    width="180"
                    width="190"
                    :show-overflow-tooltip="true"
                    label="功能"
                  >
@@ -1274,6 +1217,13 @@
                        @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>
@@ -1296,8 +1246,8 @@
              </el-image>
            </div>
            <div v-else class="pdfimgmins">{{ hintitle }}</div>
          </div></el-tab-pane
        >
          </div>
        </el-tab-pane>
      </el-tabs>
    </el-dialog>
    <el-dialog title="提示" :visible.sync="Savereminder" width="30%">
@@ -1311,8 +1261,8 @@
      >
      </el-alert>
      <span slot="footer" class="dialog-footer">
        <el-button @click="unsave">取 消</el-button>
        <el-button type="primary" @click="Savenow">确 定</el-button>
        <el-button @click="unsave">取 消</el-button>
      </span>
    </el-dialog>
@@ -1345,8 +1295,8 @@
      </div>
      <span slot="footer" class="dialog-footer">
        <el-button @click="batchdialogVisible = false">取 消</el-button>
        <el-button type="primary" @click="BatchentryFn">确 定</el-button>
        <el-button @click="batchdialogVisible = false">取 消</el-button>
      </span>
    </el-dialog>
  </div>
@@ -1471,8 +1421,6 @@
      Routinglevel: 1,
      // 表单参数
      form: {},
      experthear: "",
      spocewl: "",
      //费用申请表单title
      title: "",
      //申请单类型
@@ -1492,14 +1440,11 @@
      userprofile: {},
      //系统用户列表
      userlist: [],
      //所有人员表
      personlist: [],
      //专家列表
      expertlist: [],
      //账号列表
      accountlist: [],
      //医疗机构列表
      unitList: [],
      //费用报销机构列表
      feeUnitList: [],
      // 网络请求头
      Networkheader: null,
      batchdialogVisible: false,
@@ -1513,8 +1458,6 @@
      //是否是专家费的OPO审批人员
      ismanager: false,
      //专家费选择:1是专家库,2是新增
      expertfrom: "1",
      baselisttages: [
        {
          id: 1,
@@ -1555,17 +1498,24 @@
      // 随机数
      randomnumber: "",
      //专家/单位选择:expert/unit
      //选择窗口显示状态
      showselectiondialog: false,
      //选择时当前行
      selectionScope: "",
      //选择类型:专家(单位)账户、工作单位(account/workunit)
      selectionType: "",
      showSelectionDialog: false,
      //受益人标签:专家费-专家(单位)名称,医学成本-办公-单位(个人)名称
      beneficiarylabel: "",
      //账户选择:1是账户库,2是新增
      accountfrom: "1",
      //税前金额标题:专家费-税前金额;医学成本、办公费用-金额
      amountLabel: "税前金额",
      // 表单校验
      rules: {
        createTime: [
          { required: true, message: "请输入填报日期", trigger: "blur" }
        ],
        // createTime: [
        //   { required: true, message: "请输入填报日期", trigger: "blur" }
        // ],
        reason: [
          { required: true, message: "请输入出差事由", trigger: "blur" }
        ],
@@ -1573,60 +1523,65 @@
          { required: true, message: "请输入所属业务组", trigger: "blur" }
        ]
      },
      funddrules: {
      dialogrules: {
        // expertidcardno: [{ validator: validatePass, trigger: "blur" }],
        expertdepositbank: [
        depositbank: [
          { required: true, message: "请输入开户银行", trigger: "change" }
        ],
        expertbankcardno: [
        bankcardno: [
          { required: true, message: "请输入银行卡号", trigger: "change" }
        ],
        expertunitno: [
        unitno: [
          { required: true, message: "请选择单位名称", trigger: "change" }
        ]
      },
      funddetailForm: {
      accountselectform: {
        index: null,
        beneficiaryname: null,
        beneficiaryno: null,
        unitno: null,
        unitname: null,
        expertname: null,
        expertidcardno: null,
        expertunitno: null,
        usertype: "expert",
        accountname: null,
        accountno: null,
        expertunitname: null,
        experttitle: null,
        expertdepositbank: null,
        expertbankcardno: null
      },
      expertform: {
        id: null,
        address: null,
        bankcardno: null,
        branchbankname: null,
        createBy: null,
        createTime: null,
        del_flag: null,
        expertunitno: null,
        depositbank: null,
        bankcardno: null,
        idcardno: null,
        personnelunitno: null,
        pym: null,
        remark: null,
        searchValue: null,
        sex: null,
        telephone: null,
        title: null,
        unitname: null,
        unitno: null,
        updateBy: null,
        updateTime: null,
        username: null,
        userno: null,
        personnelunitno: null,
        address: null,
        telephone: null
      },
      accountform: {
        searchValue: null,
        id: null,
        userstatus: 1,
        usertype: null,
        wbm: null
        pym: null,
        wbm: null,
        username: null,
        userno: null,
        sex: null,
        idcardno: null,
        title: null,
        address: null,
        telephone: null,
        depositbank: null,
        branchbankname: null,
        bankcardno: null,
        unitname: null,
        unitno: null,
        personnelunitno: null,
        del_flag: null,
        createBy: null,
        createTime: null,
        updateBy: null,
        updateTime: null,
        remark: null
      },
      //审批参数
      checkObj: {
@@ -1814,18 +1769,22 @@
      if (this.businessType == "1") {
        this.businessName = "专家劳务费申请单";
        this.amountLabel = "税前金额";
        this.beneficiarylabel = "专家或单位名称";
        this.getUnitList();
      } else if (this.businessType == "2") {
        this.businessName = "伦理专家劳务费申请单";
        this.amountLabel = "税前金额";
        this.beneficiarylabel = "专家或单位名称";
        this.getUnitList();
      } else if (this.businessType == "3") {
        this.businessName = "医学成本报销单";
        this.amountLabel = "金额";
        this.beneficiarylabel = "单位名称或个人";
        this.getUnitList();
      } else if (this.businessType == "4") {
        this.businessName = "办公费用报销单";
        this.amountLabel = "金额";
        this.beneficiarylabel = "单位名称或个人";
        this.getUnitList();
        // this.getBaseInfoList();
@@ -2062,6 +2021,20 @@
          //查找是否存在登记完成记录
          //判断是否存在上报记录
          this.form.recordstatus = 0;
          var currenttime = new Date();
          this.form.createTime =
            currenttime.getFullYear() +
            "-" +
            (currenttime.getMonth() + 1) +
            "-" +
            currenttime.getDate() +
            " " +
            currenttime.getHours() +
            ":" +
            currenttime.getMinutes() +
            ":" +
            currenttime.getSeconds();
          if (!this.form.id) {
            this.form.id = this.$route.query.id;
          }
@@ -2122,7 +2095,7 @@
              );
              return;
            }
            /*
            if (
              tempDetail.idcardno == null &&
@@ -2279,30 +2252,37 @@
            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);
          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.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.$modal.msgError("申请单保存失败:" + response.msg);
              }
            } else {
              this.$modal.msgError("申请单保存失败:" + response.msg);
            }
          });
            })
            .catch(res => {
              this.$modal.msgError("申请单保存失败:" + res);
            });
          //关闭窗口
          this.loading = false;
          // this.getfundList();
@@ -2311,16 +2291,41 @@
    }, 500),
    //审批提交
    // checksubmit() {
    //   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("保存并审批");
    // },
    checksubmit() {
      console.log(this.checkObj.flowlevelone);
      if (
        this.form.checkstatus != 3 &&
        this.userprofile.nickName == "陈慕华" &&
        this.checkObj.flowlevelone == 1
      ) {
        this.$modal.msgError("请选确认材料状态已收到!");
        return;
      if (this.userprofile.nickName == "陈慕华") {
        //检查是否收到纸质材料
        if (this.form.checkstatus != 3 && this.checkObj.flowlevelone == 1) {
          this.$modal.msgError("请确认报销的纸质材料已经收到!");
          return;
        }
        //检查个税计算
        // if ( (this.form.applytype == "1" || this.form.applytype == "2") && this.form.fundtaxtime == null ) {
        //   this.$modal.msgError(
        //     "提交专家费用申请单、伦理专家申请费用申请单审核,需要先完成个税计算!"
        //   );
        //   return;
        // }
        if (this.form.applytype == "1" && this.form.fundtaxtime == null) {
          this.$modal.msgError("提交专家费用申请单审核,需要先完成个税计算!");
          return;
        }
      }
      this.Savenow();
      console.log("保存并审批");
    },
@@ -2371,67 +2376,43 @@
      });
    },
    //获取所有专家/医疗机构/费用报销机构列表
    getExternalList() {
    //获取专家、单位机构的账户列表
    getAccountList() {
      listExternalperson().then(res => {
        this.personlist = res.rows;
        for (let j = 0; j < this.personlist.length; j++) {
          //获取费用报销机构列表
          if (this.personlist[j].usertype == "org") {
            this.feeUnitList.push({
              id: this.personlist[j].id,
              reportNo: this.personlist[j].userno,
              reportName: this.personlist[j].username,
              depositbank: this.personlist[j].depositbank,
              branchbankname: this.personlist[j].branchbankname,
              bankcardno: this.personlist[j].bankcardno
        this.accountlist = res.rows;
        /**
        for (let j = 0; j < this.accountlist.length; j++) {
          //单位账号列表
          if (this.accountlist[j].usertype == "org") {
            this.feeAccountList.push({
              id: this.accountlist[j].id,
              reportNo: this.accountlist[j].userno,
              reportName: this.accountlist[j].username,
              depositbank: this.accountlist[j].depositbank,
              branchbankname: this.accountlist[j].branchbankname,
              bankcardno: this.accountlist[j].bankcardno
            });
          }
          //专家人员列表
          //专家账号列表
          else if (res.rows[j].usertype == "expert") {
            this.expertlist.push({
              expertNo: this.personlist[j].id,
              exportName: this.personlist[j].username
            this.expertAccountList.push({
              expertNo: this.accountlist[j].id,
              exportName: this.accountlist[j].username+"("+this.accountlist[j].id+")"
            });
          }
        }
        */
      });
    },
    //获取经办人账号信息
    getUserAccount() {
      this.personlist.map(res => {
      this.accountlist.map(res => {
        if (res.username == this.form.username) {
          this.form.bankname = res.depositbank; //res.branchbankname、res.depositbank;
          this.form.bankcardno = res.bankcardno;
          this.form.phone = res.telephone;
        }
      });
    },
    //获取专家人员列表
    getExpertList() {
      let types = ["expert"];
      let templist = [];
      for (let i = 0; i < types.length; i++) {
        templist = [];
        listReportname(types[i]).then(res => {
          for (let j = 0; j < res.data.length; j++) {
            templist.push({
              reportName: res.data[j].reportName,
              reportNo: res.data[j].reportNo
            });
          }
          this.expertlist = this.expertlist.concat(templist);
        });
      }
    },
    //获取费用机构列表
    getFeeUnitList() {
      listReportname("org").then(res => {
        this.feeUnitList = res.data;
        console.log(this.feeUnitList);
      });
    },
@@ -2853,7 +2834,7 @@
              }
              this.Getnetworkheader();
              this.getroute();
              this.getExternalList();
              this.getAccountList();
              this.getUserList();
              this.getUserProfile();
            } else {
@@ -2900,7 +2881,7 @@
          //   }
          // });
          this.$modal.msgSuccess("计算成功");
          this.handleCheck()
          this.handleCheck();
        } else {
          this.$message({
            type: "error",
@@ -3382,177 +3363,175 @@
        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 || this.businessType == 3 || !showType) {
        this.selectionType = this.experthear;
    showSelectionDialog(scope, selectiontype) {
      this.selectionScope = scope;
      this.selectionType = selectiontype;
      this.accountselectform.index = scope.$index;
      if (this.selectionType == "account") {
        //默认从账户库选择:1,账户库;2,新建账户
        this.accountfrom = "1";
        this.accountselectform.accountno = scope.row.beneficiaryno;
        this.accountselectform.accountname = scope.row.beneficiaryname;
        this.accountselectform.expertunitname = "";
        this.accountselectform.expertunitno = "";
        this.accountselectform.unitno = "";
        this.accountselectform.unitname = "";
        this.accountselectform.telephone = "";
        this.accountselectform.idcardno = "";
        this.accountselectform.title = "";
        this.accountselectform.unitno = "";
        this.accountselectform.unitname = "";
        this.accountselectform.depositbank = "";
        this.accountselectform.bankcardno = "";
        this.accountselectform.personnelunitno = "";
        this.accountselectform.address = "";
        this.accountselectform.telephone = "";
      } else if (this.selectionType == "workunit") {
        this.accountselectform.expertunitname = scope.row.unitname;
        this.accountselectform.expertunitno = scope.row.unitno;
      }
      this.expertfrom = "1";
      console.log(spoce);
      this.funddetailForm.index = spoce.$index;
      this.funddetailForm.beneficiaryno = spoce.row.beneficiaryno;
      this.funddetailForm.beneficiaryname = spoce.row.beneficiaryname;
      this.funddetailForm.unitno = spoce.row.unitno;
      this.funddetailForm.unitname = spoce.row.unitname;
      this.funddetailForm.expertname = "";
      this.funddetailForm.expertidcardno = "";
      this.funddetailForm.expertunitno = "";
      this.funddetailForm.expertunitname = "";
      this.funddetailForm.experttitle = "";
      this.funddetailForm.expertdepositbank = "";
      this.funddetailForm.expertbankcardno = "";
      this.showSelectionDialog = true;
      this.showselectiondialog = true;
    },
    //专家/医疗机构/费用报销机构选择
    ConfirmDetailDialog() {
      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];
    confirmSelectionDialog() {
      this.$refs["accountselectform"].validate(valid => {
        let tempIndex = this.accountselectform.index;
        if (this.selectionType == "account") {
          if (this.accountfrom == "1") {
            //赋值信息
            this.accountlist.map(res => {
              if (res.username == this.accountselectform.accountname) {
                console.log(res);
                this.rbDetails[tempIndex].beneficiaryno = res.userno;
                this.rbDetails[tempIndex].beneficiaryname = res.username;
                this.rbDetails[tempIndex].depositbank = res.depositbank;
                this.rbDetails[tempIndex].branchbankname = res.branchbankname;
                this.rbDetails[tempIndex].bankcardno = res.bankcardno;
                this.rbDetails[tempIndex].phone = res.telephone;
        if (
          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);
                if (res.usertype == "org") {
                  this.rbDetails[tempIndex].idcardno = "";
                  this.rbDetails[tempIndex].title = "";
                  this.rbDetails[tempIndex].unitno = "";
                  this.rbDetails[tempIndex].unitname = "";
                } else {
                  this.rbDetails[tempIndex].idcardno = res.idcardno;
                  this.rbDetails[tempIndex].title = res.title;
                  this.rbDetails[tempIndex].unitno = parseInt(res.unitno);
                  this.rbDetails[tempIndex].unitname = res.unitname;
                }
              }
            });
          } else {
            //保存新增专家
            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;
          } else if (this.accountfrom == "2") {
            //保存新增账号
            this.accountform.id = null;
            this.accountform.userno =
              this.accountlist[this.accountlist.length - 1].id + 1;
            this.accountform.usertype = this.accountselectform.usertype;
            this.accountform.username = this.accountselectform.username;
            this.accountform.idcardno = this.accountselectform.idcardno;
            this.accountform.sex = null;
            this.accountform.title = this.accountselectform.title;
            this.accountform.telephone = this.accountselectform.telephone;
            this.accountform.address = this.accountselectform.address;
            this.accountform.wbm = null;
            this.accountform.pym = null;
            this.expertform.unitno = this.funddetailForm.expertunitno;
            try {
              let unitIndex = this.unitList.findIndex(
                item => this.expertform.unitno == item.organizationid
              );
              if (unitIndex > -1) {
                this.expertform.unitname = this.unitList[
                  unitIndex
                ].organizationname;
              } else {
                this.expertform.unitname = this.expertform.unitno;
              }
            } catch {
              this.expertform.unitname = this.expertform.unitno;
            this.accountform.depositbank = this.accountselectform.depositbank;
            this.accountform.bankcardno = this.accountselectform.bankcardno;
            this.accountform.branchbankname = null;
            this.accountform.remark = null;
            this.accountform.del_flag = "0";
            this.accountform.personnelunitno = null;
            if (this.accountselectform.usertype != "org") {
              this.accountform.unitno = this.accountselectform.unitno;
              this.unitList.map(res => {
                if (res.organizationid == this.accountform.unitno) {
                  this.accountform.unitname = res.organizationname;
                }
              });
              // try {
              //   let unitIndex = this.unitList.findIndex(
              //     item => this.accountform.unitno == item.organizationid
              //   );
              //   if (unitIndex > -1) {
              //     this.accountform.unitname = this.unitList[unitIndex].organizationname;
              //   } else {
              //     this.accountform.unitname = this.accountform.unitno;
              //   }
              // } catch {
              //   this.accountform.unitname = this.accountform.unitno;
              // }
            }
            this.expertform.title = this.funddetailForm.experttitle;
            this.expertform.personnelunitno = null;
            this.expertform.depositbank = this.funddetailForm.expertdepositbank;
            this.expertform.bankcardno = this.funddetailForm.expertbankcardno;
            this.expertform.branchbankname = null;
            this.expertform.remark = null;
            this.expertform.del_flag = "0";
            addExternalperson(this.expertform).then(response => {
            addExternalperson(this.accountform).then(response => {
              if (response.code == 200) {
                this.$modal.msgSuccess("新增专家信息成功!");
                //this.$modal.msgSuccess("新的专家或单位账户信息已添加成功!");
                this.accountselectform.accountno = this.accountselectform.userno;
                this.accountselectform.accountname = this.accountselectform.username;
                //重新获取账户列表
                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);
                  this.accountlist = res.rows;
                  //赋值信息
                  this.accountlist.map(res => {
                    if (res.username == this.accountselectform.accountname) {
                      this.rbDetails[tempIndex].beneficiaryno = res.userno;
                      this.rbDetails[tempIndex].beneficiaryname = res.username;
                      this.rbDetails[tempIndex].depositbank = res.depositbank;
                      this.rbDetails[tempIndex].branchbankname =
                        res.branchbankname;
                      this.rbDetails[tempIndex].bankcardno = res.bankcardno;
                      this.rbDetails[tempIndex].phone = res.telephone;
                      if (res.usertype == "org") {
                        this.rbDetails[tempIndex].idcardno = "";
                        this.rbDetails[tempIndex].title = "";
                        this.rbDetails[tempIndex].unitno = "";
                        this.rbDetails[tempIndex].unitname = "";
                      } else {
                        this.rbDetails[tempIndex].idcardno = res.idcardno;
                        this.rbDetails[tempIndex].title = res.title;
                        this.rbDetails[tempIndex].unitno = parseInt(res.unitno);
                        this.rbDetails[tempIndex].unitname = res.unitname;
                      }
                    }
                  });
                });
              }
            });
          }
        } else if (this.selectionType == "unit") {
          singleDetail.unitno = this.funddetailForm.unitno;
          if (this.businessType == 1 || this.businessType == 2) {
            try {
              let unitIndex = this.unitList.findIndex(
                item => singleDetail.unitno == item.organizationid
              );
              if (unitIndex > -1) {
                singleDetail.unitname = this.unitList[
                  unitIndex
                ].organizationname;
              } else {
                singleDetail.unitname = singleDetail.unitno;
              }
            } catch {
              singleDetail.unitname = singleDetail.unitno;
        } else if (this.selectionType == "workunit") {
        console.log(tempIndex);
          this.rbDetails[
            tempIndex
          ].unitno = this.accountselectform.expertunitno;
          this.unitList.map(res => {
            if (res.organizationid == this.accountform.unitno) {
              this.rbDetails[tempIndex].unitno.unitname = res.organizationname;
            }
          } 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;
            }
          }
          });
        }
        // 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;
        //关闭窗口
        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)) {
        if (regex.test(accountselectform.expertidcardno)) {
          row.error = "";
        } else {
          row.error = "身份证号码格式错误";
@@ -3573,19 +3552,16 @@
    //获取路由参数
    this.Getnetworkheader();
    this.getroute();
    this.getExternalList();
    this.getFeeUnitList();
    this.getAccountList();
    this.getUserProfile();
  },
  //生命周期 - 挂载完成(可以访问DOM元素)
  mounted() {
    window.addEventListener("beforeunload", e => this.beforeunloadHandler(e));
    this.getUserList();
    this.getUserProfile();
    let apifunddetailForm = this.funddetailForm;
    let apiaccountselectform = this.accountselectform;
    let apiform = this.form;
    // this.getFeeUnitList();
  },
  beforeRouteLeave(to, from, next) {
    // 执行销毁操作