11
WXL
2023-09-19 4fc9abfa57e81e83b74bdbd2e2f6d71d3500ef66
src/views/project/travelexpenseapply/travelexpensedetail/index.vue
@@ -3,19 +3,36 @@
    <div class="boxdiv">
      <div class="top-text">{{ title }}</div>
      <el-form ref="form" :model="form" :rules="rules" label-width="120px">
        <el-row><el-col :span="5">
        <el-row
          ><el-col :span="5">
            <el-form-item label="申请日期" prop="createTime">
              <el-date-picker style="width: 100%" v-model="form.createTime" type="date" value-format="yyyy-MM-dd HH:mm:ss"
                placeholder="申请日期">
              <el-date-picker
                style="width: 100%"
                v-model="form.createTime"
                type="date"
                value-format="yyyy-MM-dd HH:mm:ss"
                placeholder="申请日期"
              >
              </el-date-picker>
            </el-form-item>
          </el-col>
          <el-col :span="5">
            <el-form-item label="经办人" prop="username">
              <el-select v-model="form.username" clearable filterable allow-create ref="getReportname"
                default-first-option placeholder="请选择">
                <el-option v-for="item in personsList" :key="item.reportNo" :label="item.reportName"
                  :value="item.reportName">
              <el-select
                v-model="form.username"
                clearable
                filterable
                allow-create
                ref="getReportname"
                default-first-option
                placeholder="请选择"
              >
                <el-option
                  v-for="item in personsList"
                  :key="item.reportNo"
                  :label="item.reportName"
                  :value="item.reportName"
                >
                </el-option>
              </el-select>
            </el-form-item>
@@ -40,8 +57,18 @@
          </el-col>
          <el-col :span="5">
            <el-form-item label="捐献者" prop="infoid">
              <el-select v-model="form.infoid" @change="selectbaseinfo" filterable placeholder="请选择捐献者">
                <el-option v-for="item in baselist" :key="item.index" :label="item.name" :value="item.infoid">
              <el-select
                v-model="form.infoid"
                @change="selectbaseinfo"
                filterable
                placeholder="请选择捐献者"
              >
                <el-option
                  v-for="item in baselist"
                  :key="item.index"
                  :label="item.name"
                  :value="item.infoid"
                >
                </el-option>
              </el-select>
            </el-form-item>
@@ -50,17 +77,36 @@
        <el-row style="margin-top: 10px">
          <el-col :span="5">
            <el-form-item label="报销金额" prop="amountrequested">
              <el-input :disabled="true" v-model="form.amountrequested" placeholder="报销合计金额" />
              <el-input
                :disabled="true"
                v-model="form.amountrequested"
                placeholder="报销合计金额"
              />
            </el-form-item>
          </el-col>
          <el-col :span="10">
            <el-form-item label="大写金额" prop="bigstrmoney">
              <el-input :disabled="true" v-model="form.bigstrmoney" placeholder="报销大写金额" />
            </el-form-item> </el-col><el-col :span="5">
              <el-input
                :disabled="true"
                v-model="form.bigstrmoney"
                placeholder="报销大写金额"
              />
            </el-form-item> </el-col
          ><el-col :span="5">
            <el-form-item label="审核状态" prop="flowlevel">
              <el-select v-model="form.recordstatus" placeholder="请选择审核状态" clearable :disabled="true" size="small">
                <el-option v-for="dict in dict.type.sys_recordstatus" :key="dict.value" :label="dict.label"
                  :value="dict.value" />
              <el-select
                v-model="form.recordstatus"
                placeholder="请选择审核状态"
                clearable
                :disabled="true"
                size="small"
              >
                <el-option
                  v-for="dict in dict.type.sys_recordstatus"
                  :key="dict.value"
                  :label="dict.label"
                  :value="dict.value"
                />
              </el-select>
            </el-form-item>
          </el-col>
@@ -162,195 +208,461 @@
          </el-col>
          </el-row>
          -->
        <el-row v-if="jurisdiction">
          <!-- <el-alert title="当前为查看状态,不支持修改存储。" type="warning">
          </el-alert> -->
          <el-alert
            title="当前为查看状态,不支持修改存储。"
            type="warning"
            show-icon
          >
          </el-alert>
        </el-row>
        <el-row style="margin-top: 25px; margin-bottom: 5px">
          <el-col :span="20">报销明细</el-col>
        </el-row>
        <el-row>
          <el-table :data="rbDetails" border highlight-current-row :summary-method="getSummaries" show-summary>
            <el-table-column prop="orderno" slot="" label="序号" align="center" fixed width="65">
          <el-table
            :data="rbDetails"
            ref="table"
            border
            max-height="800"
            highlight-current-row
            :summary-method="getSummaries"
            show-summary
          >
            <el-table-column
              prop="orderno"
              slot=""
              label="序号"
              align="center"
              fixed
              width="88"
            >
              <template slot-scope="scope">
                <el-input v-model="scope.row.orderno" placeholder="序号" />
              </template>
            </el-table-column>
            <!--主键、外不展示-->
            <el-table-column prop="id" slot="" label="主键" align="center" fixed width="95" v-if="false">
            <el-table-column
              prop="id"
              slot=""
              label="主键"
              align="center"
              fixed
              width="95"
              v-if="false"
            >
              <template slot-scope="scope">
                <el-input v-model="scope.row.id" placeholder="id" />
              </template>
            </el-table-column>
            <el-table-column prop="rbid" slot="" label="外键" align="center" fixed width="95" v-if="false">
            <el-table-column
              prop="rbid"
              slot=""
              label="外键"
              align="center"
              fixed
              width="95"
              v-if="false"
            >
              <template slot-scope="scope">
                <el-input v-model="scope.row.rbid" placeholder="rbid" />
              </template>
            </el-table-column>
            <el-table-column prop="persontype" slot="" label="人员类别" align="center" fixed width="130">
            <el-table-column
              prop="persontype"
              slot=""
              label="人员类别"
              align="center"
              fixed
              width="130"
            >
              <template slot-scope="scope">
                <el-select v-model="scope.row.persontype" value-key="value" placeholder="人员类别"
                  @change="getPersons(scope.row)">
                  <el-option v-for="dict in dict.type.sys_travelexpensebelong" :key="dict.value" :label="dict.label"
                    :value="dict.label"></el-option>
                <el-select
                  v-model="scope.row.persontype"
                  value-key="value"
                  placeholder="人员类别"
                  @change="getPersons(scope.row)"
                >
                  <el-option
                    v-for="dict in dict.type.sys_travelexpensebelong"
                    :key="dict.value"
                    :label="dict.label"
                    :value="dict.label"
                  ></el-option>
                </el-select>
              </template>
            </el-table-column>
            <el-table-column prop="personname" slot="" label="费用人员" align="center" fixed width="110">
            <el-table-column
              prop="personname"
              slot=""
              label="费用人员"
              align="center"
              fixed
              width="110"
            >
              <template slot-scope="scope">
                <el-select v-model="scope.row.personname" clearable filterable allow-create default-first-option
                  placeholder="请选择" @focus1="getPersons(scope.row)">
                  <el-option v-for="item in personsSel" :key="item.reportNo" :label="item.reportName"
                    :value="item.reportName">
                <el-select
                  v-model="scope.row.personname"
                  clearable
                  filterable
                  allow-create
                  default-first-option
                  placeholder="请选择"
                  @focus1="getPersons(scope.row)"
                >
                  <el-option
                    v-for="item in personsSel"
                    :key="item.reportNo"
                    :label="item.reportName"
                    :value="item.reportName"
                  >
                  </el-option>
                </el-select>
              </template>
            </el-table-column>
            <el-table-column prop="starttime" slot="" label="开始日期" fixed align="center" width="150">
            <el-table-column
              prop="starttime"
              slot=""
              label="开始日期"
              fixed
              align="center"
              width="150"
            >
              <template slot-scope="scope">
                <el-date-picker :picker-options="{
                  disabledDate: time => {
                    if (scope.row.endtime) {
                      return (
                        time.getTime() >
                        new Date(scope.row.endtime.replace(/-/g, '/'))
                      );
                <el-date-picker
                  :picker-options="{
                    disabledDate: time => {
                      if (scope.row.endtime) {
                        return (
                          time.getTime() >
                          new Date(scope.row.endtime.replace(/-/g, '/'))
                        );
                      }
                    }
                  }
                }" clearable size="small" style="width: 100%" v-model="scope.row.starttime" type="date"
                  value-format="yyyy-MM-dd HH:mm:ss" placeholder="开始日期" @blur="getdays(scope.row)">
                  }"
                  clearable
                  size="small"
                  style="width: 100%"
                  v-model="scope.row.starttime"
                  type="date"
                  value-format="yyyy-MM-dd HH:mm:ss"
                  placeholder="开始日期"
                  @blur="getdays(scope.row)"
                >
                </el-date-picker>
              </template>
            </el-table-column>
            <el-table-column prop="endtime" slot="" label="结束日期" align="center" fixed width="150">
            <el-table-column
              prop="endtime"
              slot=""
              label="结束日期"
              align="center"
              fixed
              width="150"
            >
              <template slot-scope="scope">
                <el-date-picker :picker-options="{
                  disabledDate: time => {
                    if (scope.row.starttime) {
                      return (
                        time.getTime() <
                        new Date(scope.row.starttime.replace(/-/g, '/'))
                      );
                <el-date-picker
                  :picker-options="{
                    disabledDate: time => {
                      if (scope.row.starttime) {
                        return (
                          time.getTime() <
                          new Date(scope.row.starttime.replace(/-/g, '/'))
                        );
                      }
                    }
                  }
                }" clearable size="small" style="width: 100%" v-model="scope.row.endtime" type="date"
                  value-format="yyyy-MM-dd HH:mm:ss" placeholder="结束日期" @blur="getdays(scope.row)">
                  }"
                  clearable
                  size="small"
                  style="width: 100%"
                  v-model="scope.row.endtime"
                  type="date"
                  value-format="yyyy-MM-dd HH:mm:ss"
                  placeholder="结束日期"
                  @blur="getdays(scope.row)"
                >
                </el-date-picker>
              </template>
            </el-table-column>
            <el-table-column prop="departure" slot="" label="出发地" align="center" width="100">
            <el-table-column
              prop="departure"
              slot=""
              label="出发地"
              align="center"
              width="100"
            >
              <template slot-scope="scope">
                <el-input v-model="scope.row.departure" placeholder="出发地" />
              </template>
            </el-table-column>
            <el-table-column label="到达地" prop="destination" align="center" width="140">
            <el-table-column
              label="到达地"
              prop="destination"
              align="center"
              width="140"
            >
              <template slot-scope="scope">
                <!--  <el-input v-model="scope.row.destination" placeholder="到达地" @blur="getallowance(scope.row)" /> -->
                <el-select filterable allow-create v-model="scope.row.destination" value-key="value" placeholder="到达地"
                  @change="getallowance(scope.row)">
                  <el-option v-for="dict in dict.type.sys_area_name" :key="dict.value" :label="dict.label"
                    :value="dict.label"></el-option>
                <el-select
                  filterable
                  allow-create
                  v-model="scope.row.destination"
                  value-key="value"
                  placeholder="到达地"
                  @change="getallowance(scope.row)"
                >
                  <el-option
                    v-for="dict in dict.type.sys_area_name"
                    :key="dict.value"
                    :label="dict.label"
                    :value="dict.label"
                  ></el-option>
                </el-select>
              </template>
            </el-table-column>
            <el-table-column prop="days" label="天数" width="65" align="center">
            <el-table-column
              prop="days"
              label="天数"
              width="100"
              align="center"
            >
              <template slot-scope="scope">
                <el-input v-model="scope.row.days" @blur="getallowance(scope.row)" placeholder="天数" />
                <el-input
                  v-model="scope.row.days"
                  @blur="getallowance(scope.row)"
                  placeholder="天数"
                />
              </template>
            </el-table-column>
            <el-table-column prop="traffictype" label="出发交通工具" align="center" width="100">
            <el-table-column
              prop="traffictype"
              label="出发交通工具"
              align="center"
              width="100"
            >
              <template slot-scope="scope">
                <el-select v-model="scope.row.traffictype" placeholder="出发交通工具">
                  <el-option v-for="dict in dict.type.sys_traffictype" :key="dict.value" :label="dict.label"
                    :value="dict.label"></el-option>
                <el-select
                  v-model="scope.row.traffictype"
                  placeholder="出发交通工具"
                >
                  <el-option
                    v-for="dict in dict.type.sys_traffictype"
                    :key="dict.value"
                    :label="dict.label"
                    :value="dict.label"
                  ></el-option>
                </el-select>
              </template>
            </el-table-column>
            <el-table-column prop="traffictype2" label="返回交通工具" align="center" width="100">
            <el-table-column
              prop="traffictype2"
              label="返回交通工具"
              align="center"
              width="100"
            >
              <template slot-scope="scope">
                <el-select v-model="scope.row.traffictype2" placeholder="返回交通工具">
                  <el-option v-for="dict in dict.type.sys_traffictype" :key="dict.value" :label="dict.label"
                    :value="dict.label"></el-option>
                <el-select
                  v-model="scope.row.traffictype2"
                  placeholder="返回交通工具"
                >
                  <el-option
                    v-for="dict in dict.type.sys_traffictype"
                    :key="dict.value"
                    :label="dict.label"
                    :value="dict.label"
                  ></el-option>
                </el-select>
              </template>
            </el-table-column>
            <el-table-column prop="trafficexpense" label="交通费" align="center" width="80">
            <el-table-column
              prop="trafficexpense"
              label="交通费"
              align="center"
              width="120"
            >
              <template slot-scope="scope">
                <el-input v-model="scope.row.trafficexpense" placeholder="交通费" @blur="val => {
                  sumRowFee(scope.row);
                }
                  " />
                <el-input
                  v-model="scope.row.trafficexpense"
                  placeholder="交通费"
                  @blur="
                    val => {
                      sumRowFee(scope.row);
                    }
                  "
                />
              </template>
            </el-table-column>
            <el-table-column prop="cityfee" label="市内交通费" align="center" width="100">
            <el-table-column
              prop="cityfee"
              label="市内交通费"
              align="center"
              width="120"
            >
              <template slot-scope="scope">
                <el-input v-model="scope.row.cityfee" placeholder="市内交通费" @blur="(val) => {
                    sumRowFee(scope.row);
                  }
                  ">{{ Number(scope.row.cityfee).toFixed(2) }}
                <el-input
                  v-model="scope.row.cityfee"
                  placeholder="市内交通费"
                  @blur="
                    val => {
                      sumRowFee(scope.row);
                    }
                  "
                  >{{ Number(scope.row.cityfee).toFixed(2) }}
                </el-input>
              </template>
            </el-table-column>
            <el-table-column prop="hotelexpense" label="住宿费" align="center" width="80">
            <el-table-column
              prop="hotelexpense"
              label="住宿费"
              align="center"
              width="120"
            >
              <template slot-scope="scope">
                <el-input v-model="scope.row.hotelexpense" placeholder="住宿费" @blur="val => {
                  sumRowFee(scope.row);
                }
                  " />
                <el-input
                  v-model="scope.row.hotelexpense"
                  placeholder="住宿费"
                  @blur="
                    val => {
                      sumRowFee(scope.row);
                    }
                  "
                />
              </template>
            </el-table-column>
            <el-table-column prop="foodexpenses" label="餐费报销" align="center" width="80">
            <!-- <el-table-column
              prop="foodexpenses"
              label="餐费报销"
              align="center"
              width="120"
            >
              <template slot-scope="scope">
                <el-input v-model="scope.row.foodexpenses" placeholder="伙食费报销" @blur="val => {
                  sumRowFee(scope.row);
                }
                  " />
                <el-input
                  v-model="scope.row.foodexpenses"
                  placeholder="伙食费报销"
                  @blur="
                    val => {
                      sumRowFee(scope.row);
                    }
                  "
                />
              </template>
            </el-table-column> -->
            <el-table-column
              prop="foodallowance"
              label="伙食补助"
              align="center"
              width="120"
            >
              <template slot-scope="scope">
                <el-input
                  v-model="scope.row.foodallowance"
                  placeholder="伙食费补助"
                  @blur="
                    val => {
                      sumRowFee(scope.row);
                    }
                  "
                />
              </template>
            </el-table-column>
            <el-table-column prop="foodallowance" label="伙食补助" align="center" width="80">
            <el-table-column
              prop="otherexpense"
              label="公杂费补助"
              align="center"
              width="120"
            >
              <template slot-scope="scope">
                <el-input v-model="scope.row.foodallowance" placeholder="伙食费补助" @blur="val => {
                  sumRowFee(scope.row);
                }
                  " />
              </template>
            </el-table-column>
            <el-table-column prop="otherexpense" label="公杂费补助" align="center" width="80">
              <template slot-scope="scope">
                <el-input v-model="scope.row.otherexpense" placeholder="杂费" @blur="val => {
                  sumRowFee(scope.row);
                }
                  " />
                <el-input
                  v-model="scope.row.otherexpense"
                  placeholder="杂费"
                  @blur="
                    val => {
                      sumRowFee(scope.row);
                    }
                  "
                />
              </template>
            </el-table-column>
            <el-table-column prop="otherfeeamount" label="其他费用" align="center" width="90">
            <el-table-column
              prop="otherfeeamount"
              label="其他费用"
              align="center"
              width="120"
            >
              <template slot-scope="scope">
                <el-input v-model="scope.row.otherfeeamount" placeholder="其他费用" @blur="val => {
                  sumRowFee(scope.row);
                }
                  " />
                <el-input
                  v-model="scope.row.otherfeeamount"
                  placeholder="其他费用"
                  @blur="
                    val => {
                      sumRowFee(scope.row);
                    }
                  "
                />
              </template>
            </el-table-column>
            <el-table-column prop="departure" slot="" label="其他费用说明" align="center" width="120">
            <el-table-column
              prop="departure"
              slot=""
              label="其他费用说明"
              align="center"
              width="120"
            >
              <template slot-scope="scope">
                <el-input v-model="scope.row.otherfeedesc" placeholder="其他费用说明" />
                <el-input
                  v-model="scope.row.otherfeedesc"
                  placeholder="其他费用说明"
                />
              </template>
            </el-table-column>
            <el-table-column prop="total" label="合计" align="center" width="110" fixed="right">
            <el-table-column
              prop="total"
              label="合计"
              align="center"
              width="110"
              fixed="right"
            >
              <template slot-scope="scope">
                <el-input v-model="scope.row.total" placeholder="合计" />
              </template>
            </el-table-column>
            <el-table-column fixed="right" label="操作" align="center" width="120">
            <el-table-column
              fixed="right"
              label="操作"
              align="center"
              width="120"
            >
              <template slot-scope="scope">
                <el-button type="text" size="mini" @click="addDetailRow(scope.$index)"
                  v-if="operationType == 'edit'">新增</el-button>
                <el-button @click.native.prevent="
                  deleteDetailRow(scope.$index, rbDetails, scope.row)
                  " type="text" size="small" v-if="operationType == 'edit'">删除</el-button>
                <el-button @click.native.prevent="
                  Filepopup(scope.$index, rbDetails, scope.row)
                  " type="text" size="small">票据</el-button>
                <el-button
                  type="text"
                  size="mini"
                  @click="addDetailRow(scope.$index)"
                  v-if="operationType == 'edit'"
                  >新增</el-button
                >
                <el-button
                  @click.native.prevent="
                    deleteDetailRow(scope.$index, rbDetails, scope.row)
                  "
                  type="text"
                  size="small"
                  v-if="operationType == 'edit'"
                  >删除</el-button
                >
                <el-button
                  @click.native.prevent="
                    Filepopup(scope.$index, rbDetails, scope.row)
                  "
                  type="text"
                  size="small"
                  >票据</el-button
                >
              </template>
            </el-table-column>
          </el-table>
@@ -359,60 +671,154 @@
          <el-col :span="20">打款明细</el-col>
        </el-row>
        <el-row style="margin-top: 5px">
          <el-table :data="rbPayees" border highlight-current-row :summary-method="getSummaries" show-summary>
            <el-table-column prop="orderno" slot="" label="序号" align="center" fixed width="65">
          <el-table
            :data="rbPayees"
            border
            max-height="400"
            highlight-current-row
            :summary-method="getSummaries"
            show-summary
          >
            <el-table-column
              prop="orderno"
              slot=""
              label="序号"
              align="center"
              fixed
              width="65"
            >
              <template slot-scope="scope">
                <el-input v-model="scope.row.orderno" placeholder="序号" />
              </template>
            </el-table-column>
            <!--主键、外键不展示-->
            <el-table-column prop="id" slot="" label="主键" align="center" fixed width="95" v-if="false">
            <el-table-column
              prop="id"
              slot=""
              label="主键"
              align="center"
              fixed
              width="95"
              v-if="false"
            >
              <template slot-scope="scope">
                <el-input v-model="scope.row.id" placeholder="id" />
              </template>
            </el-table-column>
            <el-table-column prop="rbid" slot="" label="外键" align="center" fixed width="95" v-if="false">
            <el-table-column
              prop="rbid"
              slot=""
              label="外键"
              align="center"
              fixed
              width="95"
              v-if="false"
            >
              <template slot-scope="scope">
                <el-input v-model="scope.row.rbid" placeholder="rbid" />
              </template>
            </el-table-column>
            <el-table-column prop="persontype" slot="" label="人员类别" align="center" fixed width="130">
            <el-table-column
              prop="persontype"
              slot=""
              label="人员类别"
              align="center"
              fixed
              width="130"
            >
              <template slot-scope="scope">
                <el-select v-model="scope.row.persontype" value-key="value" placeholder="人员类别"
                  @change="getPersons(scope.row)">
                  <el-option v-for="dict in dict.type.sys_travelexpensebelong" :key="dict.value" :label="dict.label"
                    :value="dict.label"></el-option>
                <el-select
                  v-model="scope.row.persontype"
                  value-key="value"
                  placeholder="人员类别"
                  @change="getPersons(scope.row)"
                >
                  <el-option
                    v-for="dict in dict.type.sys_travelexpensebelong"
                    :key="dict.value"
                    :label="dict.label"
                    :value="dict.label"
                  ></el-option>
                </el-select>
              </template>
            </el-table-column>
            <el-table-column prop="personname" slot="" label="收款人" align="center" fixed width="110">
            <el-table-column
              prop="personname"
              slot=""
              label="收款人"
              align="center"
              fixed
              width="110"
            >
              <template slot-scope="scope">
                <el-select v-model="scope.row.personname" clearable filterable allow-create ref="getReportname"
                  default-first-option placeholder="请选择" @change="getAccountinfo2(scope.row, scope.row.persontype)">
                  <el-option v-for="item in personsSel" :key="item.reportNo" :label="item.reportName"
                    :value="item.reportName">
                <el-select
                  v-model="scope.row.personname"
                  clearable
                  filterable
                  allow-create
                  ref="getReportname"
                  default-first-option
                  placeholder="请选择"
                  @change="getAccountinfo2(scope.row, scope.row.persontype)"
                >
                  <el-option
                    v-for="item in personsSel"
                    :key="item.reportNo"
                    :label="item.reportName"
                    :value="item.reportName"
                  >
                  </el-option>
                </el-select>
              </template>
            </el-table-column>
            <el-table-column prop="bankname" slot="" label="银行名称" align="center" fixed width="200">
            <el-table-column
              prop="bankname"
              slot=""
              label="银行名称"
              align="center"
              fixed
              width="200"
            >
              <template slot-scope="scope">
                <el-input v-model="scope.row.bankname" placeholder="银行名称" />
              </template>
            </el-table-column>
            <el-table-column prop="bankcardno" slot="" label="银行卡号" align="center" fixed width="200">
            <el-table-column
              prop="bankcardno"
              slot=""
              label="银行卡号"
              align="center"
              fixed
              width="200"
            >
              <template slot-scope="scope">
                <el-input v-model="scope.row.bankcardno" placeholder="银行卡号" />
                <el-input
                  v-model="scope.row.bankcardno"
                  placeholder="银行卡号"
                />
              </template>
            </el-table-column>
            <el-table-column prop="amount" slot="" label="打款金额" align="center" fixed width="130">
            <el-table-column
              prop="amount"
              slot=""
              label="打款金额"
              align="center"
              fixed
              width="130"
            >
              <template slot-scope="scope">
                <el-input v-model="scope.row.amount" placeholder="打款金额" />
              </template>
            </el-table-column>
            <el-table-column prop="remark" slot="" label="请款说明" align="center" fixed>
            <el-table-column
              prop="remark"
              slot=""
              label="请款说明"
              align="center"
              fixed
            >
              <template slot-scope="scope">
                <el-input v-model="scope.row.remark" placeholder="说明" />
              </template>
@@ -425,35 +831,74 @@
                </el-date-picker>
              </template>
            </el-table-column>-->
            <el-table-column label="操作" align="center" width="100" v-if="operationType == 'edit'">
            <el-table-column
              label="操作"
              align="center"
              width="100"
              v-if="operationType == 'edit'"
            >
              <template slot-scope="scope">
                <el-button type="text" size="mini" @click="addPayeeRow(scope.$index)">新增</el-button>
                <el-button @click.native.prevent="
                  deletePayeeRow(scope.$index, rbPayees, scope.row)
                  " type="text" size="small">
                <el-button
                  type="text"
                  size="mini"
                  @click="addPayeeRow(scope.$index)"
                  >新增</el-button
                >
                <el-button
                  @click.native.prevent="
                    deletePayeeRow(scope.$index, rbPayees, scope.row)
                  "
                  type="text"
                  size="small"
                >
                  删除
                </el-button>
              </template>
            </el-table-column>
          </el-table>
        </el-row>
        <el-row style="margin-top: 25px; margin-bottom: 5px" v-if="operationType != 'edit'">
        <el-row
          style="margin-top: 25px; margin-bottom: 5px"
          v-if="operationType != 'edit'"
        >
          <el-col :span="20">审核记录</el-col>
        </el-row>
        <el-row v-if="operationType != 'add'">
          <el-table :data="fundflowList" border>
            <el-table-column label="审核日期" align="center" width="200" prop="createTime" />
            <el-table-column label="审核人" align="center" width="150" prop="checkusername" />
            <el-table-column label="审核结果" align="center" width="200" prop="flowconclusion">
            <el-table-column
              label="审核日期"
              align="center"
              width="200"
              prop="createTime"
            />
            <el-table-column
              label="审核人"
              align="center"
              width="150"
              prop="checkusername"
            />
            <el-table-column
              label="审核结果"
              align="center"
              width="200"
              prop="flowconclusion"
            >
              <template slot-scope="scope">
                <span v-if="scope.row.flowconclusion == 1">通过</span>
                <span v-if="scope.row.flowconclusion == 2">不通过</span>
              </template>
            </el-table-column>
            <el-table-column label="审核备注" align="center" prop="flowcontent" />
            <el-table-column
              label="审核备注"
              align="center"
              prop="flowcontent"
            />
          </el-table>
        </el-row>
        <el-row style="margin-top: 25px; margin-bottom: 5px" v-if="operationType == 'check'">
        <el-row
          style="margin-top: 25px; margin-bottom: 5px"
          v-if="operationType == 'check'"
        >
          <el-col :span="7">
            <el-form-item label="审核结果" align="left">
              <el-radio-group v-model="checkObj.flowlevelone" align="left">
@@ -472,39 +917,167 @@
        </el-row>
      </el-form>
      <div slot="footer" class="dialog-footer">
        <el-button type="primary" @click="submitForm" v-if="operationType == 'edit'">保 存</el-button>
        <el-button type="primary" @click="checksubmit" v-if="operationType == 'check'">提 交</el-button>
        <el-button
          type="primary"
          @click="submitForm"
          v-if="operationType == 'edit'"
          >保 存</el-button
        >
        <el-button
          type="primary"
          @click="checksubmit"
          v-if="operationType == 'check'"
          >提 交</el-button
        >
        <!--<el-button @click="cancel">退 出</el-button>-->
      </div>
    </div>
    <el-dialog :title="pdftitle" :visible.sync="pdfVisible" width="50%">
    <el-dialog
      v-dialogDrags
      :modal="false"
      :close-on-click-modal="false"
      :title="pdftitle"
      :visible.sync="pdfVisible"
      width="60%"
    >
      <div>
        <el-table :data="tableDatatop" style="width: 100%">
          <el-table-column prop="orderno" label="序号"> </el-table-column>
          <el-table-column prop="personname" label="费用人员">
          </el-table-column>
          <el-table-column prop="createTime" label="开始日期">
          </el-table-column>
          <el-table-column prop="endtime" label="结束日期"> </el-table-column>
          <el-table-column prop="departure" label="出发地"> </el-table-column>
          <el-table-column prop="destination" label="到达地"> </el-table-column>
          <el-table-column prop="days" label="天数"> </el-table-column>
        </el-table>
        <el-table :data="tableDatatop" style="width: 100%">
          <el-table-column prop="traffictype" label="出发交通工具">
          </el-table-column>
          <el-table-column prop="traffictype2" label="返回交通工具">
          </el-table-column>
          <el-table-column prop="trafficexpense" label="交通费">
          </el-table-column>
          <el-table-column prop="cityfee" label="市内交通费"> </el-table-column>
          <el-table-column prop="hotelexpense" label="住宿费">
          </el-table-column>
          <el-table-column prop="foodallowance" label="伙食补助">
          </el-table-column>
          <el-table-column prop="otherexpense" label="公杂费补助">
          </el-table-column>
          <el-table-column prop="otherfeeamount" label="其他费用">
          </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" multiple
              :limit="20" :headers="headers" :on-success="(response, file, fileList) =>
                uploadSccess(response, file, fileList)
                " :on-preview="downFile" :disabled="operationType == 'detail'" :on-error="handleUploadError"
              :on-exceed="handleExceed" :on-remove="remove" accept="image/*,.pdf">
              <el-button :disabled="operationType == 'detail'" size="small" type="primary">上传</el-button>
            <el-upload
              size="mini"
              class="upload-demo"
              :action="uploadFileUrl"
              :file-list="fileListto"
              :show-file-list="false"
              multiple
              drag
              :headers="headers"
              :on-success="
                (response, file, fileList) =>
                  uploadSccess(response, file, fileList)
              "
              :on-preview="downFile"
              :disabled="operationType == 'detail'"
              :on-error="handleUploadError"
              :on-remove="remove"
              accept="image/*,.pdf"
            >
              <i class="el-icon-upload"></i>
              <div class="el-upload__text">
                将票据拖到此处,或
                <em
                  ><el-button
                    :disabled="operationType == 'detail'"
                    size="small"
                    type="primary"
                    >点击上传</el-button
                  ></em
                >
              </div>
            </el-upload>
            <el-table
              :data="fileListto"
              @row-click="downFile"
              style="width: 100%"
              height="400"
            >
              <el-table-column
                prop="name"
                :show-overflow-tooltip="true"
                label="名称"
              >
                <template slot-scope="scope">
                  <i style="color:#409EFF" class=" el-icon-s-order" />{{
                    scope.row.name
                  }}
                </template>
              </el-table-column>
              <el-table-column
                prop="name"
                width="180"
                :show-overflow-tooltip="true"
                label="功能"
              >
                <template slot-scope="scope">
                  <el-button
                    type="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>
          <!-- <div
            class="pdftit"
            @click="pdffn(item)"
            v-for="item in fileList"
            :key="item.name"
          >
            {{ item.name }}
          </div> -->
        </div>
        <div v-if="this.previewpdf" class="pdfimgmin">
          <img :src="pdfimg" />
        <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"
          >
            <!-- <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-dialog>
    <el-dialog title="提示" :visible.sync="Savereminder" width="30%">
      <el-alert
        :title="
          '您已添加' +
            totalquantity +
            '条数据,为防止数据丢失是否提交保存再继续添加。'
        "
        type="warning"
      >
      </el-alert>
      <span slot="footer" class="dialog-footer">
        <el-button @click="unsave">取 消</el-button>
        <el-button type="primary" @click="Savenow">确 定</el-button>
      </span>
    </el-dialog>
  </div>
</template>
@@ -517,7 +1090,8 @@
import {
  listReimbursementpayee,
  addReimbursementpayee,
  updateReimbursementpayee
  updateReimbursementpayee,
  delReimbursementpayee
} from "@/api/project/reimbursementpayee";
import {
  listReimbursement,
@@ -548,6 +1122,7 @@
import { getSubsidy } from "@/api/project/travelcity";
import { listReportname, listUser } from "@/api/project/organization";
import { getToken } from "@/utils/auth";
import debounce from "lodash/debounce";
export default {
  components: {
    Treeselect,
@@ -590,6 +1165,10 @@
        value: 0,
        label: ""
      },
      pdfimgsrcList: [],
      Savereminder: false, //提醒保存弹框
      Reminderquantity: 0, //提醒数量
      totalquantity: 0, //总数量
      hintitle: "选中左侧已上传文件预览查看",
      atpresent: "",
@@ -607,6 +1186,8 @@
      loading: true,
      // 导出遮罩层
      exportLoading: false,
      // 网络请求头
      Networkheader: null,
      // 当前单据ID
      curId: 0,
@@ -635,6 +1216,13 @@
        starttime: null,
        endtime: null
      },
      tableDatatop: [
        {
          date: "2016-05-02",
          name: "王小虎",
          address: "上海市普陀区金沙江路 1518 弄"
        }
      ],
      //查询付款
      queryParamsPayee: {
        rbid: null
@@ -694,6 +1282,7 @@
        flowconclusion: null,
        fundid: null
      },
      jurisdiction: false,
      //保存按钮控制
      idisabled: false
@@ -701,6 +1290,8 @@
  },
  created() {
    this.Getnetworkheader();
    //获取记录列表
    // this.getList();
@@ -736,6 +1327,8 @@
  },
  mounted() {
    window.addEventListener("beforeunload", e => this.beforeunloadHandler(e));
    //选择业务类型:1、新增;2、修改;3、查看
    let curId = this.$route.query.id;
    let pos = this.$route.query.pos;
@@ -750,10 +1343,46 @@
      this.handleCheck(curId);
    }
  },
  updated() {
    this.$nextTick(() => {
      this.$refs["table"].doLayout();
    });
  },
  methods: {
    handleUploadError() { },
    // 浏览器页面关闭或刷新提示
    beforeunloadHandler(e) {
      if (
        (JSON.stringify(this.form) == sessionStorage.getItem("apiform") &&
          JSON.stringify(this.rbDetails) ==
            sessionStorage.getItem("apifunddetail")) ||
        !sessionStorage.getItem("apifunddetail")
      ) {
      } else {
        this._beforeUnload_time = new Date().getTime();
        e = e || window.event;
        if (e) {
          e.returnValue = "关闭提示";
        }
        return "关闭提示";
      }
    },
    handleUploadError() {},
    // 获取请求头
    Getnetworkheader() {
      console.log(window.location.href);
      let string = window.location.href;
      if (string.includes("9091")) {
        const index = string.indexOf("9091");
        this.Networkheader = string.slice(0, index + 4); // 截取9091及其前部字符
        console.log(this.Networkheader);
      } else {
        const index = string.indexOf("8032");
        this.Networkheader = string.slice(0, index + 4); // 截取8032及其前部字符
        console.log(this.Networkheader);
      }
    },
    remove(file, fileList) {
      const rbDetails = [...this.rbDetails];
      this.fileListto.splice(this.fileListto.indexOf(file), 1);
@@ -767,13 +1396,21 @@
    //文件上传成功回调
    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.url });
        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);
@@ -781,10 +1418,24 @@
    },
    // 点击票据
    Filepopup(index, rows, row) {
      this.tableDatatop = [];
      this.pdfimgsrcList = [];
      this.tableDatatop.push(row);
      // console.log(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.fileListto.forEach(item => {
          this.pdfimgsrcList.push(this.Networkheader + "/prod-api" + item.url);
        });
        console.log(this.pdfimgsrcList);
        console.log(this.pdfimg);
        this.pdftitle = "共" + this.pdfimgsrcList.length + "项";
      } else {
        this.fileListto = [];
        this.pdfimg = "";
@@ -794,8 +1445,9 @@
    // 点击已上传文件
    downFile(item) {
      console.log(item);
      this.pdftitle = item.name;
      console.log(item, "点击文件拿item");
      this.pdftitle =
        "共" + this.pdfimgsrcList.length + "项,当前选中" + item.name;
      let name = item.name.split(".");
      if (name[1] == "pdf") {
        this.$modal.msgWarning("当前文件暂不支持预览");
@@ -804,9 +1456,16 @@
      } else if (name[1] == "jpg" || "png") {
        this.previewpdf = true;
        if (item.url) {
          this.pdfimg = item.url;
          this.pdfimg = this.Networkheader + "/prod-api" + item.url;
          // if (!this.pdfimgsrcList.includes(this.pdfimg)) {
          //   this.pdfimgsrcList.push(this.pdfimg);
          //   console.log("加入");
          // }
          console.log(this.pdfimg, "pdfimg");
          console.log(this.pdfimgsrcList, "imglist");
        } else {
          this.pdfimg = item.response.url;
          this.pdfimg = this.Networkheader + "/prod-api" + item.response.url;
        }
      } else {
        this.hintitle = "当前文件暂不支持预览";
@@ -814,12 +1473,39 @@
        this.previewpdf = false;
      }
    },
    getIndexInArray(arr, obj) {
      return arr.indexOf(obj);
    },
    // 点击删除
    deletedowfile(row) {
      console.log(this.fileListto);
      console.log(row);
      const indexlist = this.getIndexInArray(
        this.pdfimgsrcList,
        this.Networkheader + "/prod-api" + row.url
      );
      console.log(indexlist);
      this.pdfimgsrcList.splice(indexlist, 1);
      const index = this.getIndexInArray(this.fileListto, row);
      this.fileListto.splice(index, 1);
      console.log(index);
      console.log(this.pdfimgsrcList);
    },
    // 点击上移
    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插入到索引位置的前一位
    },
    /** 查询部门下拉树结构 */
    getTreeselect() {
      treeselect().then(response => {
        this.deptOptions = response.data;
      });
    },
    cellCilicksa(row) {
      console.log(row);
    },
    //获取人员列表
@@ -912,7 +1598,7 @@
        row.days = (
          Math.floor(
            Math.abs(Date.parse(row.starttime) - Date.parse(row.endtime)) /
            (1000 * 3600 * 24)
              (1000 * 3600 * 24)
          ) + 1
        ).toString();
      } else {
@@ -951,14 +1637,15 @@
        //伙食费补助:城市(西藏,新疆,青海.120)(其他100)
        if (tempStr == "杭州") {
          row.foodallowance = "";
        }
        else if (tempStr == "西藏" || tempStr == "新疆" || tempStr == "青海") {
        } else if (
          tempStr == "西藏" ||
          tempStr == "新疆" ||
          tempStr == "青海"
        ) {
          row.foodallowance = (parseInt(row.days) * 120).toString();
        }
        else {
        } else {
          row.foodallowance = (parseInt(row.days) * 100).toString();
        }
        //计算合计
        this.sumRowFee(row);
@@ -1103,6 +1790,7 @@
      this.loading = true;
      listReimbursement(this.queryParams).then(response => {
        this.reimbursementList = response.rows;
        console.log(this.reimbursementList);
        this.total = response.total;
        this.loading = false;
      });
@@ -1232,33 +1920,33 @@
      //获取报销主信息
      getReimbursement(curId).then(response => {
        this.form = response.data;
        this.fileListto = this.form.annexfiles
          ? this.form.annexfiles
            .split(",")
            .map(item => ({ url: item, name: item }))
              .split(",")
              .map(item => ({ url: item, name: item }))
          : [];
        this.form.recordstatus = response.data.recordstatus + "";
        sessionStorage.removeItem("apiform");
        sessionStorage.setItem("apiform", JSON.stringify(this.form));
        //获取报销明细信息
        getReimbursementdetaillist(curId).then(res => {
          this.rbDetails = res.data;
          console.log(this.rbDetails);
          if (this.rbDetails.length == 0) {
            this.addDetailRow(0);
          }
          //实时合计金额
          //this.sumTotalFee();
          for (let i = 0; i < this.rbDetails.length; i++) {
            this.sumRowFee(this.rbDetails[i]);
            //解析出差地址
            /*
              this.rbDetails[i].index = i;
              this.rbDetails[i].searchAddress = {
                sheng: this.rbDetails[i].travelprovincename,
                shi: this.rbDetails[i].travelcityname,
                qu: this.rbDetails[i].traveltownname,
              }; */
          }
          sessionStorage.removeItem("apifunddetail");
          sessionStorage.setItem(
            "apifunddetail",
            JSON.stringify(this.rbDetails)
          );
        });
        //获取报销打款信息
@@ -1279,7 +1967,6 @@
        listFundflow(listFundflowparams).then(res => {
          this.fundflowList = res.rows;
        });
      });
    },
@@ -1287,6 +1974,7 @@
    handleDetail(ids) {
      this.operationType = "detail";
      this.title = "报销申请详情";
      this.jurisdiction = true;
      this.reset();
      this.open = true;
@@ -1297,8 +1985,8 @@
        //票据
        this.fileListto = this.form.annexfiles
          ? this.form.annexfiles
            .split(",")
            .map(item => ({ url: item, name: item }))
              .split(",")
              .map(item => ({ url: item, name: item }))
          : [];
        //审核状态
@@ -1340,6 +2028,8 @@
            this.addPayeeRow(0);
          }
        });
        sessionStorage.removeItem("apiform");
        sessionStorage.setItem("apiform", JSON.stringify(this.form));
      });
    },
@@ -1355,11 +2045,12 @@
      getReimbursement(id).then(response => {
        this.form = response.data;
        //票据
        this.fileListto = this.form.annexfiles
          ? this.form.annexfiles
            .split(",")
            .map(item => ({ url: item, name: item }))
              .split(",")
              .map(item => ({ url: item, name: item }))
          : [];
        //审核状态
@@ -1404,6 +2095,8 @@
            this.addPayeeRow(0);
          }
        });
        sessionStorage.removeItem("apiform");
        sessionStorage.setItem("apiform", JSON.stringify(this.form));
      });
    },
@@ -1427,13 +2120,15 @@
      checkfund(checkfundobj).then(res => {
        this.reset();
        this.open = false;
        this.getList();
        this.$modal.msgSuccess("提交审核成功!");
        // 关闭窗口
        this.$store.dispatch("tagsView/delView", this.$route);
        this.$router.go(-1);
      });
    },
    /** 提交保存按钮 */
    submitForm() {
    submitForm: debounce(function(data) {
      this.$refs["form"].validate(valid => {
        if (valid) {
          // idisabled=true;
@@ -1494,17 +2189,15 @@
          */
          //票据文件处理
          const addnumber = this.rbPayees.reduce(
            (amount, item) => amount + Number(item.amount),
            0
          );
          let list = this.fileListto;
          console.log(list);
          //校验请款金额合计是否等于报销单金额
          if (
            this.form.amountrequested !=
            this.rbPayees.reduce(
              (amount, item) => amount + Number(item.amount),
              0.0
            )
          ) {
          if (this.form.amountrequested != addnumber) {
            this.$message({
              message:
                "报销请款表中合计金额不等于报销单的报销金额,请更正后再保存!",
@@ -1545,8 +2238,144 @@
            this.open = false;
            // 关闭窗口
            this.$store.dispatch('tagsView/delView', this.$route)
            this.$store.dispatch("tagsView/delView", this.$route);
            this.$router.go(-1);
            // this.getList();
            // })
            // .catch(err => {
            //   this.$modal.msgError("修改报销单保存失败!");
            // });
          } else {
            this.form.recordstatus = -1;
            addReimbursement(this.form)
              .then(response => {
                //保存明细
                for (let i = 0; i < rbDetails.length; i++) {
                  //rbid关联主表Id
                  rbDetails[i].rbid = response.data;
                  addReimbursementdetail(rbDetails[i]);
                }
                //保存账号
                for (let i = 0; i < rbPayees.length; i++) {
                  //rbid关联主表Id
                  rbPayees[i].rbid = response.data;
                  addReimbursementpayee(rbPayees[i]);
                }
                sessionStorage.setItem(
                  "apifunddetail",
                  JSON.stringify(this.rbDetails)
                );
                sessionStorage.setItem("apiform", JSON.stringify(this.form));
                this.$modal.msgSuccess("新增报销单保存成功!");
                this.open = false;
                // 关闭窗口
                this.$store.dispatch("tagsView/delView", this.$route);
                this.$router.go(-1);
              })
              .catch(err => {
                this.$modal.msgError("新增报销单保存失败!");
              });
          }
        }
      });
    }, 500),
    /** 删除按钮操作 */
    handleDelete(row) {
      const ids = row.id || this.ids;
      this.$modal
        .confirm("是否确认删除该条记录?")
        .then(function() {
          // 删除details内的数据
          return delReimbursement(ids);
        })
        .then(() => {
          delReimbursementdetail(ids);
          this.getList();
          this.$modal.msgSuccess("删除成功");
        })
        .catch(() => {});
    },
    /** 导出按钮操作 */
    handleExport() {
      const queryParams = this.queryParams;
      this.$modal
        .confirm("是否确认导出所有报销申请数据项?")
        .then(() => {
          this.exportLoading = true;
          return exportReimbursement(queryParams);
        })
        .then(response => {
          this.$download.name(response.msg);
          this.exportLoading = false;
        })
        .catch(() => {});
    },
    // 取消提醒
    unsave() {
      this.Savereminder = false;
      this.Reminderquantity = 0;
    },
    // 接受提醒立刻保存
    Savenow() {
      this.Savereminder = false;
      this.Reminderquantity = 0;
      this.totalquantity = 0;
      const addnumber = this.rbPayees.reduce(
        (amount, item) => amount + Number(item.amount),
        0
      );
      console.log(addnumber, "addnumber");
      this.$refs["form"].validate(valid => {
        if (valid) {
          //票据文件处理
          let list = this.fileListto;
          console.log(list);
          //校验请款金额合计是否等于报销单金额
          if (this.form.amountrequested != addnumber) {
            this.$message({
              message:
                "报销请款表中合计金额不等于报销单的报销金额,请更正后再保存!",
              type: "warning"
            });
            return;
          }
          const rbDetails = [...this.rbDetails];
          const rbPayees = [...this.rbPayees];
          if (this.form.id != null) {
            console.log(this.form);
            updateReimbursement(this.form);
            //   .then(res => {
            //保存明细
            for (let i = 0; i < rbDetails.length; i++) {
              if (rbDetails[i].rbid != null) {
                updateReimbursementdetail(rbDetails[i]);
              } else {
                //rbid关联主表Id
                rbDetails[i].rbid = this.form.id;
                addReimbursementdetail(rbDetails[i]);
              }
            }
            //保存账户
            for (let i = 0; i < rbPayees.length; i++) {
              if (rbPayees[i].rbid != null) {
                updateReimbursementpayee(rbPayees[i]);
              } else {
                //rbid关联主表Id
                rbPayees[i].rbid = this.form.id;
                addReimbursementpayee(rbPayees[i]);
              }
            }
            this.$modal.msgSuccess("修改报销单保存成功!");
            // this.getList();
            // })
@@ -1572,11 +2401,6 @@
                }
                this.$modal.msgSuccess("新增报销单保存成功!");
                this.open = false;
                // 关闭窗口
                this.$store.dispatch('tagsView/delView', this.$route)
                this.$router.go(-1);
              })
              .catch(err => {
                this.$modal.msgError("新增报销单保存失败!");
@@ -1586,41 +2410,10 @@
      });
    },
    /** 删除按钮操作 */
    handleDelete(row) {
      const ids = row.id || this.ids;
      this.$modal
        .confirm("是否确认删除该条记录?")
        .then(function () {
          // 删除details内的数据
          return delReimbursement(ids);
        })
        .then(() => {
          delReimbursementdetail(ids);
          this.getList();
          this.$modal.msgSuccess("删除成功");
        })
        .catch(() => { });
    },
    /** 导出按钮操作 */
    handleExport() {
      const queryParams = this.queryParams;
      this.$modal
        .confirm("是否确认导出所有报销申请数据项?")
        .then(() => {
          this.exportLoading = true;
          return exportReimbursement(queryParams);
        })
        .then(response => {
          this.$download.name(response.msg);
          this.exportLoading = false;
        })
        .catch(() => { });
    },
    //新增一行
    addDetailRow(rowIndex) {
      console.log(rowIndex);
      let rowData = {
        //index: this.rbDetails.length,
        searchAddress: {
@@ -1635,6 +2428,8 @@
        endtime: null,
        destination: null,
        days: null,
        persontype: null,
        personname: null,
        trafficexpense: 0,
        traffictype: null,
        traffictype2: null,
@@ -1658,14 +2453,25 @@
        total: 0,
        orderno: null,
        personname2: null,
        personname: null,
        destination: null
      };
      if (this.rbDetails.length) {
        console.log(this.rbDetails[rowIndex].persontype);
        console.log(this.rbDetails[rowIndex].personname);
        rowData.persontype = this.rbDetails[rowIndex].persontype;
        rowData.personname = this.rbDetails[rowIndex].personname;
      }
      // if (this.Reminderquantity >= 5) {
      //   this.Savereminder = true;
      //   return;
      // }
      if (rowIndex == undefined || rowIndex == null || rowIndex < 0) {
        this.rbDetails.push(rowData);
      } else {
        this.rbDetails.splice(rowIndex + 1, 0, rowData);
      }
      this.Reminderquantity++;
      this.totalquantity++;
      for (let i = 0; i < this.rbDetails.length; i++) {
        this.rbDetails[i].orderno = i + 1;
      }
@@ -1684,11 +2490,17 @@
        personname: null,
        amount: null
      };
      // if (this.Reminderquantity >= 5) {
      //   this.Savereminder = true;
      //   return;
      // }
      if (rowIndex == undefined || rowIndex == null || rowIndex <= 0) {
        this.rbPayees.push(rowData);
      } else {
        this.rbPayees.splice(rowIndex + 1, 0, rowData);
      }
      this.Reminderquantity++;
      this.totalquantity++;
      for (let i = 0; i < this.rbPayees.length; i++) {
        this.rbPayees[i].orderno = i + 1;
      }
@@ -1729,8 +2541,10 @@
      })
        .then(() => {
          console.log(row);
          let arrow=[];
          arrow.push(row.id);
          if (row.id !== null) {
            delReimbursementdetail(row.id).then(res => {
            delReimbursementpayee(arrow).then(res => {
              this.$modal.msgSuccess("删除成功");
              rows.splice(index, 1);
              this.recountOrderNo2();
@@ -1821,7 +2635,7 @@
      if (!isNaN(parseFloat(row.otherfeeamount))) {
        totalFee += parseFloat(row.otherfeeamount);
      }
      row.total = totalFee;
      row.total = totalFee.toFixed(2);
      /*
      if (!isNaN(parseFloat(this.rbDetails[rowIndex].trafficexpense))) {
@@ -1899,7 +2713,7 @@
        this.form.amountrequested = allSum.toFixed(2);
        this.form.bigstrmoney = this.convertCurrency(this.form.amountrequested);
      } catch { }
      } catch {}
    },
    //金额数字转换成大写
@@ -2024,6 +2838,10 @@
          sums[index] = "合计";
          return;
        }
        if (index === 18) {
          sums[index] = this.form.amountrequested;
          return;
        }
        //去除部分字段计算
        if (columnnames.indexOf(column.property) > -1) {
          return;
@@ -2039,7 +2857,7 @@
              return prev;
            }
          }, 0);
          sums[index] += "";
          sums[index] = sums[index].toFixed(2); // 保留2位小数,解决小数合计列;
        } else {
          sums[index] = "";
        }
@@ -2085,7 +2903,7 @@
  height: 600px;
  .box-pdf {
    width: 200px;
    width: 400px;
    padding-top: 20px;
    margin-right: 30px;
    border: 1px solid #dcdfe6;
@@ -2124,4 +2942,8 @@
  line-height: 36px;
  text-align: center;
}
::v-deep .el-alert__title {
  font-size: 20px;
  line-height: 20px;
}
</style>