1
WXL
2023-10-07 59c2e6665e5d2dcfe3516af2373f1c8a7c9e2bc2
src/views/project/fund/medicalCostApply/index.vue
@@ -87,6 +87,19 @@
                    <dict-tag :options="dict.type.sys_recordstatus" :value="scope.row.recordstatus" />
                  </template>
                </el-table-column>
                <el-table-column
        label="预审状态"
        width="140"
        align="center"
        prop="checkstatus"
      >
        <template slot-scope="scope">
          <dict-tag
            :options="dict.type.sys_stage_type"
            :value="scope.row.checkstatus"
          />
        </template>
      </el-table-column>
                <!--
                  <el-table-column label="联系电话" align="center" prop="phone" width="150px" />
                <el-table-column label="工作单位" align="center" prop="unitname" width="150px" />
@@ -101,7 +114,7 @@
                      scope.row.recordstatus == 1
                      " size="mini" type="text" icon="el-icon-edit" @click="handleUpdate(scope.row)"
                      v-hasPermi="['project:medicalfund:edit']">修改</el-button>
                    <el-button size="mini" type="text" icon="el-icon-edit" @click="handleDetail(scope.row)">查看</el-button>
                    <el-button size="mini" type="text" icon="el-icon-view" @click="handleDetail(scope.row)">查看</el-button>
                    <el-button v-if="scope.row.recordstatus == -1 ||
                      scope.row.recordstatus == 1
                      " size="mini" type="text" icon="el-icon-delete" @click="handleDelete(scope.row)"
@@ -116,408 +129,7 @@
        </el-card>
      </el-col>
    </el-row>
    <!-- 添加或修改费用申请单 -->
    <el-dialog :visible.sync="dialogOpen" :close-on-click-modal="false" width="1400px" :title="title"
      style="text-align: center" v-loading="loading">
      <el-form ref="form" :model="form" label-width="120px" :rules="rules">
        <el-row style="text-align: left">
          <el-col :span="5">
            <el-form-item label="申请日期" prop="createTime">
              <el-date-picker clearable style="width: 100%" v-model="form.createTime" type="date"
                value-format="yyyy-MM-dd HH:mm:ss" placeholder="申请日期">
              </el-date-picker>
            </el-form-item>
          </el-col>
          <el-col :span="5">
            <el-form-item label="经办人" prop="username">
              <el-select v-model="form.username" placeholder="申请人" clearable filterable allow-create style="width: 100%">
                <el-option v-for="dict in userlist" :key="dict.index" :label="dict.nickname"
                  :value="dict.nickname"></el-option>
              </el-select>
            </el-form-item>
          </el-col>
          <el-col :span="5">
            <el-form-item label="所属组别" prop="deptmentname">
              <el-input v-model="form.deptmentname" placeholder="请输入所属组别" clearable />
            </el-form-item>
          </el-col>
          <el-col :span="5">
            <el-form-item label="组长" prop="managername">
              <el-input v-model="form.managername" placeholder="请输入组长" clearable />
            </el-form-item>
          </el-col>
        </el-row>
        <el-row style="text-align: left">
          <el-col :span="5">
            <el-form-item label="申请类型">
              <el-radio v-model="form.applytype" label="3">医学成本申请</el-radio>
            </el-form-item>
          </el-col>
          <el-col :span="10">
            <el-form-item label="申请说明" prop="remark">
              <el-input v-model="form.remark" placeholder="备注" />
            </el-form-item>
          </el-col>
          <el-col :span="5">
            <el-form-item label="捐献者" prop="name">
              <el-input :disabled="true" v-model="form.name" placeholder="请输入捐献者姓名" clearable />
            </el-form-item>
          </el-col>
        </el-row>
        <el-row style="text-align: left">
          <el-col :span="5">
            <el-form-item label="申请金额" prop="amountrequested">
              <el-input v-model="form.amountrequested" placeholder="申请金额" :disabled="true" />
            </el-form-item>
          </el-col>
          <!--<el-col :span="5">
            <el-form-item label="税前金额" prop="pretaxcost">
              <el-input v-model="form.pretaxcost" placeholder="税前金额合计" :disabled="true" />
            </el-form-item>
          </el-col>
          <el-col :span="5">
            <el-form-item label="税后金额" prop="pretaxcost">
              <el-input v-model="form.taxedcost" placeholder="税后金额合计" :disabled="true" />
            </el-form-item>
          </el-col>
          <el-col :span="5">
            <el-form-item label="审核状态" prop="recordstatus">
              <el-input v-if="0" v-model="form.recordstatus" placeholder="审核意见"/>
              <el-select v-model="form.recordstatus" placeholder="请选择审核状态" clearable size="small" :disabled="true">
                <el-option v-for="dict in dict.type.sys_recordstatus" :key="dict.value" :label="dict.label"
                  :value="dict.value" />
              </el-select>
            </el-form-item>
          </el-col>-->
          <!--
          <el-col :span="5">
            <el-form-item label="联系电话" prop="phone">
              <el-input v-model="form.phone" placeholder="请输入申请者的联系方式" clearable />
            </el-form-item>
          </el-col>
          <el-col :span="5">
            <el-form-item label="工作单位" prop="unitno">
              <org-selecter ref="orgSelecter" :org-type="'3'" v-model="form.unitno" />
            </el-form-item>
          </el-col>-->
        </el-row>
        <el-row style="margin-bottom: 10px">
          <el-col :span="4">
            <el-button @click.native.prevent="addAlls" type="primary" size="small">
              导入服务项目
            </el-button>
          </el-col>
        </el-row>
        <el-row style="margin-top: 5px; margin-bottom: 5px">
          <el-table :data="fundDetails" border highlight-current-row>
            <el-table-column prop="orderno" align="center" label="排序" width="80">
              <template slot-scope="scope">
                <el-input v-model="scope.row.orderno" placeholder="排序" />
              </template>
            </el-table-column>
            <el-table-column prop="itemtype" align="center" label="费用类型" width="220">
              <template slot-scope="scope">
                <el-select v-model="scope.row.applytype" placeholder="费用类型" @change="LoadItemTypeArr(scope.row)">
                  <el-option v-for="dict in fundtypeArr" :key="dict.value" :label="dict.label"
                    :value="dict.value"></el-option>
                </el-select>
              </template>
            </el-table-column>
            <el-table-column prop="itemtype" align="center" label="服务项目" width="260">
              <template slot-scope="scope">
                <el-select v-model="scope.row.itemid" placeholder="服务项目" clearable filterable allow-create
                  @change="select(scope.row)" :filter-method="val => SearchItem(val, scope)">
                  <el-option v-for="dict in scope.row.itemArr" :key="dict.id" :label="dict.itemName"
                    :value="dict.id"></el-option>
                </el-select>
              </template>
            </el-table-column>
            <el-table-column prop="beneficiaryno" align="center" label="姓名" width="120" v-if="form.applytype != 3">
              <template slot-scope="scope">
                <el-button type="primary" plain @click="ShowDetailDialog(scope, 'name')">{{ scope.row.beneficiaryname
                }}</el-button>
              </template>
            </el-table-column>
            <!-- <el-table-column
              prop="servicesscopename"
              align="center"
              label="费用说明"
              width="180"
            >
              <template slot-scope="scope">
                <el-select
                  v-model="scope.row.servicesscopename"
                  placeholder="费用说明"
                  clearable
                  allow-create
                  filterable
                  @change="selectremark(scope.row)"
                >
                  <el-option
                    v-for="dict in fundblock"
                    :key="dict.expensedescribe"
                    :label="dict.expensedescribe"
                    :value="dict.expensedescribe"
                  ></el-option>
                </el-select>
              </template>
                              </el-table-column> -->
            <el-table-column prop="amount" align="center" label="税前金额" width="120" v-if="form.applytype != 3">
              <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 fundblock" :key="dict.expensedescribe" :label="dict.expense"
                    :value="dict.expense"></el-option>
                </el-select>
                <!--
                <el-input
                  v-model="scope.row.amount"
                  placeholder="税前金额"
                  @change="selectamount(scope.row)"
                  @blur="
                    (val) => {
                      sumTotalFee(scope.row);
                    }
                  " />
                    -->
              </template>
            </el-table-column>
            <el-table-column prop="taxamount" align="center" label="扣税" width="120" v-if="form.applytype != '3'">
              <template slot-scope="scope">
                <el-input v-model="scope.row.taxamount" placeholder="扣税" @blur="val => {
                  sumTotalFee(scope.row);
                }
                  " />
              </template>
            </el-table-column>
            <el-table-column prop="taxedamount" align="center" label="税后金额" width="120" v-if="form.applytype != '3'">
              <template slot-scope="scope">
                <el-input v-model="scope.row.taxedamount" placeholder="税后金额" />
              </template>
            </el-table-column>
            <el-table-column prop="price" align="center" label="价格" width="120" v-if="form.applytype == '3'">
              <template slot-scope="scope">
                <el-input v-model="scope.row.price" placeholder="价格" @blur="val => {
                  sumTotalFee(scope.row);
                }
                  " />
              </template>
            </el-table-column>
            <el-table-column prop="quantity" align="center" label="数量" width="80" v-if="form.applytype == '3'">
              <template slot-scope="scope">
                <el-input v-model="scope.row.quantity" placeholder="数量" @blur="val => {
                  sumTotalFee(scope.row);
                }
                  " />
              </template>
            </el-table-column>
            <el-table-column prop="amount" align="center" label="金额" width="120" v-if="form.applytype == '3'">
              <template slot-scope="scope">
                <el-input v-model="scope.row.amount" placeholder="价格" @blur="val => {
                  sumTotalFee(scope.row);
                }
                  " />
              </template>
            </el-table-column>
            <el-table-column prop="unitno" align="center" label="费用单位名称" width="220">
              <template slot-scope="scope">
                <el-button type="primary" plain @click="ShowDetailDialog(scope, 'unit')">{{ scope.row.unitname
                }}</el-button>
              </template>
            </el-table-column>
            <el-table-column prop="depositbank" align="center" label="开户银行" width="200">
              <template slot-scope="scope">
                <el-input v-model="scope.row.depositbank" placeholder="开户银行" />
              </template>
            </el-table-column>
            <el-table-column prop="bankcardno" align="center" label="银行卡号" width="210">
              <template slot-scope="scope">
                <el-input v-model="scope.row.bankcardno" placeholder="银行卡号" />
              </template>
            </el-table-column>
            <el-table-column prop="remark" align="center" label="备注" width="210" v-if="form.applytype == '3'">
              <template slot-scope="scope">
                <el-input v-model="scope.row.remark" placeholder="备注" />
              </template>
            </el-table-column>
            <el-table-column prop="title" align="center" label="职称" width="120" v-if="form.applytype != '3'">
              <template slot-scope="scope">
                <el-input v-model="scope.row.title" placeholder="职称" />
              </template>
            </el-table-column>
            <el-table-column prop="idcardno" align="center" label="身份证号" width="200" v-if="form.applytype != '3'">
              <template slot-scope="scope">
                <el-input v-model="scope.row.idcardno" placeholder="身份证号" />
              </template>
            </el-table-column>
            <el-table-column prop="depositbank" align="center" label="开户银行" width="200" v-if="form.applytype != '3'">
              <template slot-scope="scope">
                <el-input v-model="scope.row.depositbank" placeholder="开户银行" />
              </template>
            </el-table-column>
            <el-table-column prop="bankcardno" align="center" label="银行卡号" width="210" v-if="form.applytype != '3'">
              <template slot-scope="scope">
                <el-input v-model="scope.row.bankcardno" placeholder="银行卡号" />
              </template>
            </el-table-column>
            <el-table-column fixed="right" align="center" label="操作" width="120" v-if="dialogType == 'edit'">
              <template slot-scope="scope">
                <el-button type="text" size="mini" @click="addRow(scope.$index)">新增</el-button>
                <el-button @click.native.prevent="
                  deleteRows(scope.row, scope.$index, fundDetails)
                  " type="text" size="small">
                  删除
                </el-button>
                <el-button @click.native.prevent="
                  Filepopup(scope.$index, fundDetails, scope.row)
                  " type="text" size="small">
                  票据
                </el-button>
              </template>
            </el-table-column>
          </el-table>
        </el-row>
        <!-- <el-row>
          <el-col :span="4">
            <el-button
              type="primary"
              plain
              icon="el-icon-plus"
              size="mini"
              @click="addRow"
              >新增成本费用</el-button
            >
          </el-col>
        </el-row>
        <el-row>
          <el-col :span="7">
            <el-form-item label="预支金额" prop="prepaidamount">
              <el-input v-model="form.prepaidamount" placeholder="申请金额" />
            </el-form-item>
          </el-col>
          <el-col :span="7">
            <el-form-item label="OPO中心签字" prop="opochecker">
              <el-input v-model="form.opochecker" placeholder="opo中心签字" />
            </el-form-item>
          </el-col>
          <el-col :span="8">
            <el-form-item label="财务副院长" prop="finvicepresident">
              <el-input v-model="form.finvicepresident" placeholder="财务副院长" />
            </el-form-item>
          </el-col>
          <el-col :span="7">
            <el-form-item label="业务副院长" prop="busvicepresident">
              <el-input v-model="form.busvicepresident" placeholder="业务副院长" />
            </el-form-item>
          </el-col>
          <el-col :span="7">
            <el-form-item label="办公室主任" prop="officedirector">
              <el-input v-model="form.officedirector" placeholder="请输入办公室主任" />
            </el-form-item>
          </el-col>
          <el-col :span="8">
            <el-form-item label="财务部负责人" prop="financedirector">
              <el-input v-model="form.financedirector" placeholder="请输入财务部负责人" />
            </el-form-item>
          </el-col>
          <el-col :span="7">
            <el-form-item label="财务审核" prop="financechecher">
              <el-input v-model="form.financechecher" placeholder="请输入财务审核" />
            </el-form-item>
          </el-col>
        </el-row> -->
        <el-row>
          <el-col :span="24">
            <el-form-item label="费用申请附件:" align="left" prop="annexbankcard">
              <el-upload size="mini" class="upload-demo" :action="uploadFileUrl" :file-list="fileList" multiple
                :limit="20" :headers="headers" :on-success="(response, file, fileList) =>
                  uploadSccess(response, file, fileList)
                  " :on-preview="downFile" :disabled="dialogType == 'detail'" :on-error="handleUploadError"
                :on-exceed="handleExceed" :on-remove="handleremove" accept="image/*,.pdf">
                <el-button :disabled="dialogType == 'detail'" size="small" type="primary">上传</el-button>
              </el-upload>
            </el-form-item>
          </el-col>
        </el-row>
        <el-row v-if="dialogType == 'detail'">
          <el-table :data="fundflowList" border>
            <el-table-column label="审核人" align="center" width="120" prop="checkusername" />
            <el-table-column label="审核日期" align="center" width="160" prop="createTime" />
            <el-table-column label="审核结果" align="center" width="200" prop="flowconclusion"><template
                slot-scope="scope"><span v-if="scope.row.flowconclusion == 1">通过</span><span
                  v-if="scope.row.flowconclusion == 2">不通过</span></template>
            </el-table-column>
            <el-table-column label="审核备注" align="center" prop="flowcontent" />
          </el-table>
        </el-row>
      </el-form>
      <div slot="footer" class="dialog-footer">
        <el-button type="primary" @click="submitForm" v-if="dialogType == 'edit'">保 存</el-button>
        <!-- <el-button type="success" @click="print">打 印</el-button> -->
        <el-button @click="cancel">取 消</el-button>
      </div>
    </el-dialog>
    <el-dialog :visible.sync="detailInfoDialogShow" :close-on-click-modal="false" :title="'费用单位选择'"
      style="text-align: center" v-loading="loading" width="500px">
      <el-form ref="funddetailForm" :model="funddetailForm" label-width="120px">
        <el-row>
          <el-col :span="24" v-if="detailInfoDialogShowType == 'name'">
            <el-form-item align="left" label="姓名" prop="beneficiaryname" label-width="80px">
              <el-select filterable allow-create ref="beneficiaryname" default-first-option
                v-model="funddetailForm.beneficiaryname" placeholder="请选择" style="width: 100%">
                <el-option v-for="item in arrr3" :key="item.reportNo" :label="item.reportName" :value="item.reportName">
                </el-option>
              </el-select>
            </el-form-item>
          </el-col>
          <el-col :span="24" v-if="detailInfoDialogShowType == 'unit'">
            <el-form-item align="left" label="单位名称" prop="unitno" label-width="80px">
              <el-select v-model="funddetailForm.unitno" placeholder="请选择单位" clearable filterable allow-create
                style="width: 100%">
                <el-option v-for="(item, index) in bankaccountlist" :key="index" :label="item.reportName"
                  :value="item.reportNo"></el-option>
              </el-select>
            </el-form-item>
          </el-col>
        </el-row>
      </el-form>
      <span slot="footer" class="dialog-footer">
        <el-button @click="detailInfoDialogShow = false">取 消</el-button>
        <el-button type="primary" @click="ConfirmDetailDialog()">确 定</el-button>
      </span>
    </el-dialog>
    <el-dialog :title="pdftitle" :visible.sync="pdfVisible" width="50%">
      <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="dialogType == 'detail'" :on-error="handleUploadError"
              :on-exceed="handleExceed" :on-remove="remove" accept="image/*,.pdf">
              <el-button :disabled="dialogType == 'detail'" size="small" type="primary">上传</el-button>
            </el-upload>
          </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>
        <div v-else class="pdfimgmins">{{ hintitle }}</div>
      </div>
    </el-dialog>
  </div>
</template>
@@ -598,7 +210,8 @@
    "sys_fund_type",
    "sys_finsubject",
    "sys_financeitemtype",
    "sys_expensetype"
    "sys_expensetype",
    "sys_stage_type"
  ],
  data() {
    //这里存放数据
@@ -1115,7 +728,6 @@
      listFund(this.fundQueryParam).then(response => {
        this.loading = false;
        this.donateconsolationfundList = response.rows;
        console.log("donateconsolationfundList", this.donateconsolationfundList);
      });
    },