11
WXL
2024-08-14 0ac2d43fce4d74f6eea5a51a2e16af4e6a536c7c
src/views/project/fundcheck/performanceCheck/index.vue
@@ -1,235 +1,101 @@
<template>
  <div class="app-container">
    <el-form
      :model="queryParams"
      ref="queryForm"
      :inline="true"
      v-show="showSearch"
      label-width="120px"
    >
    <el-form :model="queryParams" ref="queryForm" :inline="true" v-show="showSearch" label-width="120px">
      <el-row align="left">
        <el-col :span="5">
          <el-form-item label="经办人" prop="name">
            <el-input
              v-model="queryParams.name"
              placeholder="请输入经办人"
              clearable
              size="small"
              @keyup.enter.native="flowconclusion"
            />
          </el-form-item>
        </el-col>
        <el-col :span="7">
          <el-form-item label="申请日期" prop="createTime">
            <el-date-picker
              format="yyyy-MM-dd"
              @change="selectapplication"
              value-format="yyyy-MM-dd"
              v-model="createTime"
              type="daterange"
              range-separator="至"
              start-placeholder="申请开始日期"
              end-placeholder="申请结束日期"
              @keyup.enter.native="flowconclusion"
            >
            </el-date-picker>
          </el-form-item>
        </el-col>
        <el-col :span="5">
          <el-form-item label="金额" prop="money" style="float: left">
            <el-input
              v-model="queryParams.money"
              placeholder="请输入申请人金额"
              clearable
              size="small"
              @keyup.enter.native="flowconclusion"
            />
          </el-form-item>
        </el-col>
        <el-col :span="5">
          <el-form-item label="审批状态" prop="CHECKFLAG" style="float: left">
            <el-select
              v-model="queryParams.CHECKFLAG"
              placeholder="请选择"
              style="width: 100%"
            >
              <el-option
                v-for="item in checkFlagOptions"
                :key="item.value"
                :label="item.label"
                :value="item.value"
              >
          <el-form-item label-width="120px" label="预审状态" prop="checkstatus" style="float: left">
            <el-select v-model="queryParams.checkstatus" placeholder="请选择" style="width: 100%">
              <el-option v-for="item in checkmaterials" :key="item.value" :label="item.label" :value="item.value">
              </el-option>
            </el-select>
          </el-form-item>
        </el-col>
        <el-col :span="5">
          <el-form-item label="审批状态" prop="CHECKFLAG" style="float: left">
            <el-select v-model="queryParams.CHECKFLAG" placeholder="请选择" style="width: 100%">
              <el-option v-for="item in checkFlagOptions" :key="item.value" :label="item.label" :value="item.value">
              </el-option>
            </el-select>
          </el-form-item>
        </el-col>
        <el-col :span="5">
          <el-form-item label="经办人" prop="name">
            <el-input v-model="queryParams.name" placeholder="请输入经办人" clearable size="small"
              @keyup.enter.native="flowconclusion" />
          </el-form-item>
        </el-col>
      </el-row>
      <el-row>
        <el-col :span="5">
          <el-form-item
            label-width="120px"
            label="申请材料状态"
            prop="checkstatus"
            style="float: left"
          >
            <el-select
              v-model="queryParams.checkstatus"
              placeholder="请选择"
              style="width: 100%"
            >
              <el-option
                v-for="item in checkmaterials"
                :key="item.value"
                :label="item.label"
                :value="item.value"
              >
              </el-option>
            </el-select>
          <el-form-item label="报销金额" prop="money" style="float: left">
            <el-input v-model="queryParams.money" placeholder="请输入申请人金额" clearable size="small"
              @keyup.enter.native="flowconclusion" />
          </el-form-item>
        </el-col>
        <el-col :span="4">
        <el-col :span="8">
          <el-form-item label="申请日期" prop="createTime">
            <el-date-picker format="yyyy-MM-dd" @change="selectapplication" value-format="yyyy-MM-dd" v-model="createTime"
              type="daterange" range-separator="至" start-placeholder="申请开始日期" end-placeholder="申请结束日期"
              @keyup.enter.native="flowconclusion">
            </el-date-picker>
          </el-form-item>
        </el-col>
        <el-col :span="6">
          <div style="margin-bottom: 15px;">
            <el-button
              type="primary"
              icon="el-icon-search"
              size="mini"
              @click="flowconclusion"
              >搜索</el-button
            >
            <el-button icon="el-icon-refresh" size="mini" @click="resetQuery"
              >重置</el-button
            >
            <el-button type="primary" icon="el-icon-search" size="mini" @click="flowconclusion">搜索</el-button>
            <el-button icon="el-icon-refresh" size="mini" @click="resetQuery">重置</el-button>
          </div>
        </el-col>
      </el-row>
    </el-form>
    <el-form ref="infoform" label-width="100px">
      <el-row>
        <el-table
          v-loading="loading"
          border
          :data="donateconsolationfundList"
          @selection-change="handleSelectionChange"
        >
        <el-table v-loading="loading" border :data="donateconsolationfundList" @selection-change="handleSelectionChange">
          <el-table-column type="selection" width="45"> </el-table-column>
          <el-table-column
            label="个税计算情况"
            align="center"
            prop="recordstatus"
            width="200"
          >
          <el-table-column label="个税计算情况" align="center" prop="recordstatus" width="200">
            <template slot-scope="scope">
              <dict-tag :options="dict.type.sys_tax" :value="scope.row.istax" />
            </template>
          </el-table-column>
          <el-table-column
            label="申请日期"
            width="180"
            align="center"
            prop="createTime"
          >
          <el-table-column label="申请日期" width="180" align="center" prop="applyTime">
            <template slot-scope="scope">
              <span>{{ parseTime(scope.row.createTime, "{y}-{m}-{d}") }}</span>
              <span>{{ parseTime(scope.row.applyTime, "{y}-{m}-{d}") }}</span>
            </template>
          </el-table-column>
          <el-table-column
            label="经办人"
            align="center"
            prop="username"
            width="150px"
          />
          <el-table-column
            label="申请金额"
            align="center"
            prop="pretaxcost"
            width="200px"
          />
          <el-table-column
            label="绩效类型"
            width="150"
            align="center"
            prop="Performancetype"
          >
          <el-table-column label="经办人" align="center" prop="username" width="150px" />
          <el-table-column label="申请金额" align="center" prop="pretaxcost" width="200px" />
          <el-table-column label="绩效类型" width="150" align="center" prop="Performancetype">
            <template slot-scope="scope">
              <dict-tag
                :options="dict.type.sys_performance_type"
                :value="scope.row.Performancetype"
              />
              <dict-tag :options="dict.type.sys_performance_type" :value="scope.row.Performancetype" />
            </template>
          </el-table-column>
          <el-table-column
            label="审核状态"
            align="center"
            prop="recordstatus"
            width="200"
          >
          <el-table-column label="审核状态" align="center" prop="recordstatus" width="200">
            <template slot-scope="scope">
              <dict-tag
                :options="dict.type.sys_recordstatus"
                :value="scope.row.recordstatus"
              />
              <dict-tag :options="dict.type.sys_recordstatus" :value="scope.row.recordstatus" />
            </template>
          </el-table-column>
          <el-table-column
            label="申请材料状态"
            width="140"
            align="center"
            prop="checkstatus"
          >
          <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"
              />
              <dict-tag :options="dict.type.sys_stage_type" :value="scope.row.checkstatus" />
            </template>
          </el-table-column>
          <el-table-column label="备注" align="center" prop="remark" />
          <el-table-column
            label="操作"
            fixed="right"
            align="center"
            class-name="small-padding fixed-width"
            width="260px"
          >
          <el-table-column label="操作" fixed="right" align="center" class-name="small-padding fixed-width" width="260px">
            <template slot-scope="scope">
              <el-button
                size="mini"
                type="text"
                icon="el-icon-edit"
                v-if="scope.row.checkFlag == 0"
                @click="handleDetail(scope.row)"
                >详情</el-button
              >
              <el-button size="mini" type="text" icon="el-icon-edit" v-if="scope.row.checkFlag == 0"
                @click="handleDetail(scope.row)">详情</el-button>
              <el-button
                v-if="scope.row.checkFlag == 1"
                size="mini"
                type="text"
                icon="el-icon-edit"
                @click="handleCheck(scope.row)"
                >审核</el-button
              >
              <el-button v-if="scope.row.checkFlag == 1" size="mini" type="text" icon="el-icon-edit"
                @click="handleCheck(scope.row)">审核</el-button>
              <!-- v-hasPermi="['project:donateconsolationfund:edit']" -->
              <el-button
                size="mini"
                type="text"
                icon="el-icon-download"
                @click="totaldayin(scope.row.id)"
                v-hasPermi="['project:donateconsolationfund:download']"
                >下载</el-button
              >
              <el-button size="mini" type="text" icon="el-icon-download" @click="totaldayin(scope.row.id)"
                v-hasPermi="['project:donateconsolationfund:download']">下载</el-button>
            </template>
          </el-table-column>
        </el-table>
        <pagination
          v-show="total > 0"
          :total="total"
          :page.sync="queryParams.pageNum"
          :limit.sync="queryParams.pageSize"
          @pagination="getlistbypower"
        />
        <pagination v-show="total > 0" :total="total" :page.sync="queryParams.pageNum" :limit.sync="queryParams.pageSize"
          @pagination="getlistbypower" />
      </el-row>
    </el-form>
  </div>
@@ -475,8 +341,8 @@
  },
  mounted() {
    if (grtItem("officeExpenseCheck")) {
      this.queryParams = grtItem("officeExpenseCheck");
    if (grtItem("performanceCheck")) {
      this.queryParams = grtItem("performanceCheck");
      this.queryParams.APPLICATIONBEGTIME = "";
      this.queryParams.APPLICATIONENDTIME = "";
    }
@@ -495,8 +361,8 @@
      // this.queryParams.params = {};
      console.log("this.queryParams", this.queryParams);
      listbypower(this.queryParams).then(res => {
        removeItem("officeExpenseCheck");
        setItem("officeExpenseCheck", this.queryParams);
        removeItem("performanceCheck");
        setItem("performanceCheck", this.queryParams);
        this.loading = false;
        let list = res.rows;
        this.total = res.total;
@@ -504,28 +370,41 @@
      });
    },
    getlistOrganization() {
      listOrganization().then(res => {});
      listOrganization().then(res => { });
    },
    totaldayin(e) {
      // const id =this.row.id
      getdownloadBX(e).then(res => {
        if (res.downloadUrl) {
          var fileUrl = res;
          //获取当前网址
          var urlBase = process.env.VUE_APP_BASE_API;
          var curWWWPath = window.document.location.href;
          var pos = curWWWPath.indexOf(window.document.location.pathname);
          // 创建a标签
          var aEle = document.createElement("a");
          aEle.href =
            curWWWPath.substring(0, pos) + urlBase + fileUrl["downloadUrl"];
          aEle.click();
          this.$alert("下载成功", "提示", {
            confirmButtonText: "确定",
            type: "success"
        var fileUrl = res;
        //获取当前网址
        var urlBase = process.env.VUE_APP_BASE_API;
        var curWWWPath = window.document.location.href;
        var pos = curWWWPath.indexOf(window.document.location.pathname);
        // 创建a标签
        var aEle = document.createElement("a");
        aEle.href =
          curWWWPath.substring(0, pos) + urlBase + fileUrl["downloadUrl"];
        console.log(aEle.href);
        // 添加Authorization头部
        fetch(aEle.href, {
          headers: this.headers
        })
          .then(response => {
            // 将文件下载链接作为blob对象进行下载
            return response.blob();
          })
          .then(blob => {
            const url = window.URL.createObjectURL(new Blob([blob]));
            console.log(url);
            const link = document.createElement("a");
            link.href = url;
            const name=fileUrl["downloadName"]
            link.setAttribute("download", name); // 替换file.pdf为实际的文件名
            document.body.appendChild(link);
            link.click();
            link.parentNode.removeChild(link);
          });
        }
      });
    },
@@ -539,7 +418,7 @@
        username = res.data.username;
        this.$modal
          .confirm('是否确认通过"' + username + '"的费用申请?')
          .then(function() {
          .then(function () {
            getFund(e).then(res => {
              let data = res.data;
              let financechecher = "已审核";
@@ -615,7 +494,7 @@
        infoid: infoid,
        count: this.idss
      };
      listFunddetails(aaa).then(res => {});
      listFunddetails(aaa).then(res => { });
    },
    getUsermsg() {
      getUserProfile().then(response => {