管道基础大数据平台系统开发-【前端】-新系統界面
王旭
2023-02-22 cf4de0a3f218b79d49b05450ca0fc4527c2fa78e
src/views/userManage/templateManage.vue
@@ -5,19 +5,24 @@
        `${$t('dataManage.templateManage')}`,
      ]"></My-bread>
    <el-divider />
    <div class="searchComp subpage_Div">
    <div class="searchComp subpage_Div"  ref="container">
      <el-form
        ref="ruleForm"
        :model="ruleForm"
        :inline="true"
      >
        <el-form-item>
         <div class="flex_box">
          <div style="margin-right: auto">
 <el-form-item label="名称">
          <el-input
          style="width:200px"
            v-model="ruleForm.name"
            :placeholder="$t('common.pleaseInput')"
          />
        </el-form-item>
        <el-form-item style="float:right">
            </el-form-item>
          </div>
           <div>
               <el-form-item>
          <el-button
            icon="el-icon-refresh"
            @click="restRefreshTable"
@@ -25,7 +30,7 @@
            size="small"
          >{{ $t('common.empty') }}</el-button>
        </el-form-item>
        <el-form-item style="float:right">
        <el-form-item>
          <el-button
            icon="el-icon-search"
            @click="setRefreshTable"
@@ -33,7 +38,7 @@
            size="small"
          >{{ $t('common.iquery') }}</el-button>
        </el-form-item>
        <el-form-item style="float:right">
        <el-form-item>
          <el-button
            v-if="btnStatus.delete"
            icon="el-icon-delete"
@@ -42,7 +47,7 @@
            size="small"
          >{{ $t('common.delete') }}</el-button>
        </el-form-item>
        <el-form-item style="float:right">
        <el-form-item>
          <el-button
            v-if="btnStatus.insert"
            @click="setTableInsert"
@@ -51,13 +56,19 @@
            size="small"
          >{{ $t('common.append') }}</el-button>
        </el-form-item>
           </div>
         </div>
      </el-form>
    </div>
    <div>
    <div class="table_box" :style="styleVar">
      <el-table
        :data="tableData"
        style="width: 100%"
        @selection-change="handleSelectionChange"
        height="calc(100% - 57px)"
      >
        <el-table-column
          type="selection"
@@ -90,16 +101,16 @@
          :label="$t('common.domCode')"
          :formatter="codeData"
        />
        <el-table-column
        <!-- <el-table-column
          align="center"
          prop="fname"
          :label="$t('common.filePath')"
        />
        <el-table-column
        /> -->
        <!-- <el-table-column
          align="center"
          prop="bak"
          :label="$t('common.bak')"
        />
        /> -->
        <el-table-column
          align="center"
          prop="createName"
@@ -140,7 +151,7 @@
          </template>
        </el-table-column>
      </el-table>
      <div style="margin-top:10px">
      <div style="margin-top:25px">
        <el-pagination
          @size-change="handleSizeChange"
          @current-change="handleCurrentChange"
@@ -368,53 +379,56 @@
</template>
<script>
import MyBread from "../../components/MyBread.vue";
import {
  report_selectByPageAndCount,
  report_upload,
  report_insert,
  report_deletes,
  report_update
} from '../../api/api.js'
import { getToken } from '@/utils/auth';
  report_update,
} from "../../api/api.js";
import { getToken } from "@/utils/auth";
export default {
  name: "templateManage",
  components: { MyBread, },
  components: { MyBread },
  data() {
    return {
      options: [{
        value: 'countSizes',
        label: '数据量统计'
      }, {
        value: 'countServices',
        label: '服务调用量统计'
      }, {
        value: 'countOperates ',
        label: '用户流量统计'
      }],
      options: [
        {
          value: "countSizes",
          label: "数据量统计",
        },
        {
          value: "countServices",
          label: "服务调用量统计",
        },
        {
          value: "countOperates ",
          label: "用户流量统计",
        },
      ],
      itemdetail: {},
      showinfoBox: false,
      behavior: '新增',
      selectFileType: '*.*',
      behavior: "新增",
      selectFileType: "*.*",
      editForm: {
        fname: '',
        guid: '',
        name: '',
        code: '',
        type: '',
        bak: '',
        fname: "",
        guid: "",
        name: "",
        code: "",
        type: "",
        bak: "",
      },
      multipleSelection: [],
      dialogVisible: false,
      tableData: [],
      ruleForm: {
        name: ''
        name: "",
      },
      listData: {
        pageIndex: 1,
        pageSize: 10,
        name: '',
        name: "",
        count: 0,
      },
      btnStatus: {
@@ -425,14 +439,39 @@
        insert: false,
        update: false,
      },
    }
      tableHeight: 0,
      timer: 0,
      styleVar: {
        height: "calc(100% - 109px)",
      },
    };
  },
  created() {
    this.showPermsBtn();
    this.showTableData();
  },
  beforeDestroy() {
    this.timer && clearTimeout(this.timer);
    window.removeEventListener("resize", this.onResize);
  },
  mounted() {
    window.addEventListener("resize", this.onResize);
    this.calHeight();
  },
  methods: {
    onResize() {
      this.timer && clearTimeout(this.timer);
      this.timer = setTimeout(() => {
        this.calHeight();
      }, 500);
    },
    calHeight() {
      this.$nextTick(() => {
        const rect = this.$refs.container.getBoundingClientRect();
        this.tableHeight = `${rect.height + 97}px`;
        this.styleVar["height"] = `calc(100% - ${rect.height + 97}px)`;
      });
    },
    //修改取消
    closeEditData() {
      this.closeInsertData();
@@ -441,16 +480,15 @@
      var blackTheme;
      if (this.$store.state.themeflag == true) {
        blackTheme = {
          customClass: "Black_theme"
        }
          customClass: "Black_theme",
        };
      }
      this.$confirm('确认关闭?', blackTheme)
      this.$confirm("确认关闭?", blackTheme)
        .then((_) => {
          this.closeInsertData();
        })
        .catch((_) => { });
        .catch((_) => {});
    },
    codeData(row, column) {
      let data = row[column.property];
@@ -458,44 +496,44 @@
        return data;
      }
      var val;
      if (row.code.indexOf('countSizes') != -1) {
        val = "数据量统计"
      } else if (row.code.indexOf('countServices') != -1) {
        val = "服务调用量统计"
      } else if (row.code.indexOf('countOperates') != -1) {
        val = "用户流量统计"
      if (row.code.indexOf("countSizes") != -1) {
        val = "数据量统计";
      } else if (row.code.indexOf("countServices") != -1) {
        val = "服务调用量统计";
      } else if (row.code.indexOf("countOperates") != -1) {
        val = "用户流量统计";
      }
      return val;
    },
    //查看
    showDetail(index, row) {
      this.itemdetail = row;
      if (parseInt(row.type) == 1) {
        this.itemdetail.fileType = "World模板"
        this.itemdetail.fileType = "World模板";
      } else if (parseInt(row.type) == 2) {
        this.itemdetail.fileType = "Excel模板"
        this.itemdetail.fileType = "Excel模板";
      }
      if (row.code.indexOf('countSizes') != -1) {
        this.itemdetail.code = "数据量统计"
      } else if (row.code.indexOf('countServices') != -1) {
        this.itemdetail.code = "服务调用量统计"
      } else if (row.code.indexOf('countOperates') != -1) {
        this.itemdetail.code = "用户流量统计"
      if (row.code.indexOf("countSizes") != -1) {
        this.itemdetail.code = "数据量统计";
      } else if (row.code.indexOf("countServices") != -1) {
        this.itemdetail.code = "服务调用量统计";
      } else if (row.code.indexOf("countOperates") != -1) {
        this.itemdetail.code = "用户流量统计";
      }
      this.itemdetail.uTime = this.format(row.updateTime);
      this.showinfoBox = true
      this.showinfoBox = true;
    },
    //关闭查看
    closeDetial() {
      this.showinfoBox = false
      this.showinfoBox = false;
    },
    //下载
    handleDownload(index, row) {
      var token = getToken();
      var url = BASE_URL + "/report/download?token=" + token + "&guid=" + row.guid;
      var url =
        BASE_URL + "/report/download?token=" + token + "&guid=" + row.guid;
      $("#downFrame").attr("src", url).click();
    },
    //修改提交
@@ -505,64 +543,66 @@
        return this.$message.error("修改失败");
      }
      this.$message({
        message: '修改成功',
        type: 'success'
        message: "修改成功",
        type: "success",
      });
      this.closeInsertData();
    },
    //文件类型切换
    selFileTypeChange(val) {
      if (parseInt(val) == 1) {
        this.selectFileType = ".docx"
        this.selectFileType = ".docx";
      } else if (parseInt(val) == 2) {
        this.selectFileType = ".xlsx"
        this.selectFileType = ".xlsx";
      }
    },
    //修改
    handleEdit(index, row) {
      this.behavior = "修改"
      this.behavior = "修改";
      this.editForm = row;
      if (parseInt(row.type) == 1) {
        this.selectFileType = ".docx"
        this.selectFileType = ".docx";
      } else if (parseInt(row.type) == 2) {
        this.selectFileType = ".xlsx"
        this.selectFileType = ".xlsx";
      }
      this.dialogVisible = true;
    },
    //删除
    async delTableData() {
      if (this.multipleSelection.length == 0) {
        return this.$message('请选择要删除的数据');
        return this.$message("请选择要删除的数据");
      }
      var std = [];
      for (var i in this.multipleSelection) {
        std.push(this.multipleSelection[i].id)
        std.push(this.multipleSelection[i].id);
      }
      this.$confirm('此操作将永久删除该模块, 是否继续?', '提示', {
        confirmButtonText: '确定',
        cancelButtonText: '取消',
        type: 'warning'
      }).then(async () => {
        const data = await report_deletes({ ids: std.toString() })
        if (data.code == 200) {
          this.InsertFormdialog = false;
      this.$confirm("此操作将永久删除该模块, 是否继续?", "提示", {
        confirmButtonText: "确定",
        cancelButtonText: "取消",
        type: "warning",
      })
        .then(async () => {
          const data = await report_deletes({ ids: std.toString() });
          if (data.code == 200) {
            this.InsertFormdialog = false;
            this.$message({
              message: "删除成功!",
              type: "success",
            });
            this.setRefreshTable();
          } else {
            this.$message({
              message: "删除失败!",
              type: "warning",
            });
          }
        })
        .catch(() => {
          this.$message({
            message: '删除成功!',
            type: 'success',
            type: "info",
            message: "已取消删除",
          });
          this.setRefreshTable();
        } else {
          this.$message({
            message: '删除失败!',
            type: 'warning',
          });
        }
      }).catch(() => {
        this.$message({
          type: 'info',
          message: '已取消删除'
        });
      });
      // const data = await report_deletes({ ids: std.toString() })
      // if (data.code != 200) {
      //   return this.$message.error("删除失败");
@@ -573,7 +613,6 @@
      // });
      // this.setRefreshTable();
    },
    //重置查询
    restRefreshTable() {
@@ -593,8 +632,8 @@
        return this.$message.error("新增失败");
      }
      this.$message({
        message: '新增成功',
        type: 'success'
        message: "新增成功",
        type: "success",
      });
      this.closeInsertData();
    },
@@ -602,21 +641,21 @@
    closeInsertData() {
      this.dialogVisible = false;
      this.editForm = {
        fname: '',
        guid: '',
        name: '',
        code: '',
        type: '',
        bak: '',
      }
        fname: "",
        guid: "",
        name: "",
        code: "",
        type: "",
        bak: "",
      };
      this.setRefreshTable();
      document.getElementById("editFile").value = "";
    },
    //文件上传
    async geteditFile(res) {
      if (res == 0) {
        if (this.editForm.type == '') {
          return this.$message('请选择上传文件类型');
        if (this.editForm.type == "") {
          return this.$message("请选择上传文件类型");
        }
        $("#editFile").click();
@@ -633,7 +672,6 @@
        formData.append("file", fs.files[0]);
        var val_data = await report_upload(formData);
        if (val_data.code == 200) {
          this.editForm.guid = val_data.result;
          this.$message({
            message: "上传成功!",
@@ -646,7 +684,6 @@
          });
        }
      }
    },
    //格式化列表
    formatData(row, column) {
@@ -666,11 +703,11 @@
      var h = time.getHours();
      var mm = time.getMinutes();
      var s = time.getSeconds();
      return y + '-' + this.add0(m) + '-' + this.add0(d);
      return y + "-" + this.add0(m) + "-" + this.add0(d);
    },
    //格式化时间
    add0(m) {
      return m < 10 ? '0' + m : m;
      return m < 10 ? "0" + m : m;
    },
    //Table选择事件
    handleSelectionChange(val) {
@@ -678,8 +715,8 @@
    },
    //新增弹窗
    setTableInsert() {
      this.behavior = "新增"
      this.dialogVisible = true
      this.behavior = "新增";
      this.dialogVisible = true;
    },
    //分页切换
    handleSizeChange(val) {
@@ -700,7 +737,7 @@
        return this.$message.error("列表调用失败");
      }
      this.tableData = data.result;
      this.listData.count = data.count
      this.listData.count = data.count;
    },
    //权限配置
    showPermsBtn() {
@@ -725,10 +762,13 @@
  }
  .searchComp {
    margin: 10px auto;
    padding: 8px;
    margin-top: 20px;
    border-radius: 5px;
    margin-bottom: 20px;
    .el-form-item {
      margin: 5px;
    }