管道基础大数据平台系统开发-【前端】-新系統界面
Surpriseplus
2023-02-06 4e3d77dcbe421a4d6611ebcdd1ac3165cb36ad4b
src/views/Archive/dataApplication.vue
@@ -1,11 +1,11 @@
<template>
  <div class="logLog_box">
  <div class="logLog_box box_div">
    <My-bread :list="[
        `${$t('synthesis.synthesis')}`,
        `${$t('synthesis.dataApplication')}`,
      ]"></My-bread>
    <el-divider />
    <div class="inquire">
    <div class="inquire subpage_Div">
      <el-form
        :inline="true"
        ref="sizeForm"
@@ -88,11 +88,10 @@
        </el-form-item>
      </el-form>
    </div>
    <div class="table_box">
    <div class="table_box subpage_Div">
      <el-table
        :data="tableData"
        style="width: 100%"
        height="85%"
      >
        <el-table-column
@@ -131,17 +130,17 @@
          :label="$t('common.operate')"
        >
          <template slot-scope="scope">
            <el-button
              type="danger"
              size="mini"
              @click="handleApplyCancel(scope.$index, scope.row)"
              v-if="matchState(scope,/[]/)"
              plain
            >{{$t('dataApply.type1')}}</el-button>
            <el-button
              type="warning"
              size="mini"
              @click="handleReApply(scope.$index, scope.row)"
              v-if="matchState1(scope,/[]/)"
              plain
            >{{$t('dataApply.ReApply')}}</el-button>
@@ -216,7 +215,7 @@
          <el-table-column
            align="center"
            prop="uname"
            label="申请人"
            label="审核人"
          />
          <el-table-column
            align="center"
@@ -239,26 +238,32 @@
            align="center"
            prop="status"
            label="状态"
            :formatter="formatStatus1"
          />
          <el-table-column
            min-width="150"
            :label="$t('common.operate')"
          >
            <template slot-scope="scope">
              <div v-if="matchState3(scope,/[]/)">
                <el-button
                  type="danger"
                  size="mini"
                  @click="handleApplyRepulse(scope.$index, scope.row)"
                  plain
                >打回</el-button>
              <el-button
                type="danger"
                size="mini"
                plain
              >打回</el-button>
              <el-button
                type="success"
                size="mini"
                plain
              >通过</el-button>
                <el-button
                  @click="handleApplyAdopt(scope.$index, scope.row)"
                  type="success"
                  size="mini"
                  plain
                >通过</el-button>
              </div>
              <div v-if="!matchState3(scope,/[]/)">-  -</div>
            </template>
          </el-table-column>
        </el-table>
      </div>
@@ -271,7 +276,11 @@
import MyBread from "../../components/MyBread.vue";
import {
  apply_selectByPage,
  apply_selectFlows
  apply_selectFlows,
  apply_updateForDiscard,
  apply_updateForSubmit,
  apply_updateForReject,
  apply_updateForResubmit
} from "../../api/api";
export default {
  //import引入的组件需要注入到对象中才能使用
@@ -281,7 +290,9 @@
  data() {
    return {
      detailsFrom: {},
      detailsFrom: {
        tableData:[],
      },
      dialogDetailsVisible: false,
      sizeForm: {
        start: null,
@@ -299,34 +310,95 @@
        status: null
      },
      count: 0,
      detailsId: null,
    };
  },
  methods: {
    async handleApplyRepulse(index, row) {
      const data = await apply_updateForReject({ flowId: row.id });
      if (data.code != 200) {
        return this.$message.error("列表调用失败");
      }
      this.showRestData();
    },
    async handleApplyAdopt(index, row) {
      const data = await apply_updateForSubmit({ flowId: row.id });
      if (data.code != 200) {
        return this.$message.error("列表调用失败");
      }
      this.showRestData();
    },
    async showRestData() {
      const data1 = await apply_selectFlows({
        applyid:
          this.detailsId
      })
      if (data1.code != 200) {
        return this.$message.error("列表调用失败");
      }
      this.detailsFrom.tableData = data1.result;
    },
    async handleReApply(index, row) {
      const data = await apply_updateForResubmit({ applyid: row.id });
      if (data.code != 200) {
        return this.$message.error("列表调用失败");
      }
      this.listData.pageIndex = 1;
      this.listData.pageSize = 10;
      this.getAllData();
    },
    async handleApplyCancel(index, row) {
      const data = await apply_updateForDiscard({ applyid: row.id });
      if (data.code != 200) {
        return this.$message.error("列表调用失败");
      }
      this.listData.pageIndex = 1;
      this.listData.pageSize = 10;
      this.getAllData();
    },
    async handlDetails(index, row) {
      this.detailsId = row.id;
      const data = await apply_selectFlows({ applyid: row.id })
      if (data.code != 200) {
        return this.$message.error("列表调用失败");
      }
      this.detailsFrom.tableData = data.result;
      this.detailsFrom.tabs = row.tabs;
      this.detailsFrom.uname = row.uname;
      this.detailsFrom.time = this.format(row.createTime);
      this.detailsFrom.status = this.statusFormat(row.status);
      console.log(data.result)
      this.detailsFrom.statued = row.status;
      this.dialogDetailsVisible = true;
    },
    matchState(state = '', reg) {
      var row = state.row;
      if (row.status >= -1 && row.status <= 9 && this.$store.state.uname == row.uname) {
      if (row.status >= -1 && row.status <= 9 && this.$store.state.unid == row.userid) {
        return true
      }
      return false
    },
    matchState1(state = '', reg) {
      var row = state.row;
      if (row.status == -1 && this.$store.state.uname == row.uname) {
      if (row.status == -1 && this.$store.state.unid == row.userid) {
        return true
      }
      return false
    },
    matchState2(state = '', reg) {
      var row = state.row;
      if (row.status != -10 && this.$store.state.unid == row.userid) {
        return true
      }
      return false
    },
    matchState3(state = '', reg) {
      var row = state.row;
      if (row.status == 0 && (this.detailsFrom.statued > -10 && this.detailsFrom.statued < 10) && this.$store.state.unid == row.userid) {
        return true
      }
      return false
@@ -370,14 +442,30 @@
      return this.statusFormat(data);
    },
    statusFormat(res) {
      if (res >= 0 && res <= 9) {
        return "审核中"
      } else if (res == -10) {
        return "退回"
        return "作废"
      } else if (res == -1) {
        return "打回"
      }else if (res == 10) {
        return "通过"
      }
    },
    formatStatus1(row, column) {
      let data = row[column.property];
      if (data == null) {
        return data;
      }
      return this.statusFormat1(data);
    }, statusFormat1(res) {
      if (res == 1) {
        return "通过"
      } else if (res == 0) {
        return "待审核"
      } else if (res == -1) {
        return "退回"
        return "打回"
      }
    },
    resAllTable() {
@@ -432,11 +520,11 @@
<style lang="less" scoped>
//@import url(); 引入公共css类
.logLog_box {
  width: 100%;
  padding: 10px;
  height: 100%;
  width: 98%;
  box-sizing: border-box;
  height: 95%;
  padding: 1%;
  .el-input {
    width: 300px;
  }
@@ -446,22 +534,13 @@
    margin-top: 20px;
    border-radius: 5px;
    border: 1px solid rgb(202, 201, 204);
    margin-bottom: 20px;
    .el-form-item {
      margin: 7px;
    }
    /deep/.el-form-item__label {
      color: white;
    }
    /deep/ .el-input__inner {
      background-color: transparent !important;
      border: 1px solid;
      color: white;
    }
  }
  .statusLabel {
    color: white;
    padding: 0px 5px;
    font-size: 14px;
  }
@@ -469,133 +548,11 @@
    overflow: auto;
    height: 70%;
    padding: 10px;
    height: auto;
    border-radius: 5px;
    border: 1px solid rgb(202, 201, 204);
    height: 620px;
    /*修改table 表体的背景颜色和文字颜色*/
    .pagination_box {
      /deep/.el-input__inner {
        background-color: transparent !important;
        border: 1px solid;
        color: white;
      }
      /deep/.el-pagination__total {
        color: white;
      }
      /deep/.el-pagination__jump {
        color: white;
      }
      /deep/.el-pager li.active {
        color: #1890ff;
      }
      /deep/.el-pager li {
        color: white;
        background: transparent;
      }
      /deep/.el-pager li {
        color: white;
      }
      /deep/.btn-prev {
        background: transparent;
      }
      /deep/.btn-next {
        background: transparent;
      }
    }
  }
  .text-center {
    text-align: center;
  }
}
/deep/ .el-select .el-input__inner {
  border-color: #fff !important;
}
/deep/.el-form-item__label {
  color: white;
}
// 设置输入框的背景色、字体颜色、边框属性设置;
/deep/.el-input__inner {
  background-color: transparent !important ;
  color: #fff;
  border: 1px solid;
}
/deep/ .el-dialog {
  background: #303030;
}
/deep/.el-range-editor.is-active,
.el-range-editor.is-active:hover,
.el-select .el-input.is-focus .el-input__inner {
  border: 1px solid;
}
/deep/.el-dialog__title {
  color: white;
}
/deep/ .el-table {
  background-color: transparent;
  th,
  td {
    background-color: transparent;
  }
  .el-table__expanded-cell {
    background-color: transparent !important;
  }
  // 表头背景色
  th.el-table__cell {
    background-color: #303030;
    color: #fff;
  }
  tr > td {
    background-color: #303030;
    color: #fff;
  }
  // hover效果
  tr:hover > td {
    background-color: rgba(255, 255, 255, 0.3) !important;
  }
  tbody tr:hover {
    background-color: rgba(255, 255, 255, 0.3) !important;
    // text-align: center;
  }
  // 滚动条宽高
  .el-table__body-wrapper::-webkit-scrollbar {
    width: 5px;
    height: 5px;
  }
  .el-table__body-wrapper::-webkit-scrollbar {
    width: 5px;
    /*滚动条宽度*/
    height: 10px;
    /*滚动条高度*/
  }
  /*定义滚动条轨道 内阴影+圆角*/
  .el-table__body-wrapper::-webkit-scrollbar-track {
    box-shadow: 0px 1px 3px #216fe6 inset;
    /*滚动条的背景区域的内阴影*/
    border-radius: 10px;
  }
  /*定义滑块 内阴影+圆角*/
  .el-table__body-wrapper::-webkit-scrollbar-thumb {
    box-shadow: 0px 1px 3px #216fe6 inset;
    border-radius: 6px;
    background-color: #216fe6;
  }
}
/deep/.el-textarea__inner {
  background: transparent !important;
  border-color: #fff !important;
  color: white;
}
/deep/.el-textarea .el-input__count {
  background: transparent;
}
</style>