管道基础大数据平台系统开发-【前端】-新系統界面
王旭
2023-02-22 cf4de0a3f218b79d49b05450ca0fc4527c2fa78e
src/views/userManage/templateManage.vue
@@ -379,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: {
@@ -436,28 +439,27 @@
        insert: false,
        update: false,
      },
       tableHeight: 0,
      tableHeight: 0,
      timer: 0,
      styleVar: {
        "height": "calc(100% - 109px)",
        height: "calc(100% - 109px)",
      },
    }
    };
  },
  created() {
    this.showPermsBtn();
    this.showTableData();
  },
   beforeDestroy() {
  beforeDestroy() {
    this.timer && clearTimeout(this.timer);
    window.removeEventListener("resize", this.onResize);
  },
    mounted() {
  mounted() {
    window.addEventListener("resize", this.onResize);
    this.calHeight()
    this.calHeight();
  },
  methods: {
     onResize() {
    onResize() {
      this.timer && clearTimeout(this.timer);
      this.timer = setTimeout(() => {
        this.calHeight();
@@ -478,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];
@@ -495,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();
    },
    //修改提交
@@ -542,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("删除失败");
@@ -610,7 +613,6 @@
      // });
      // this.setRefreshTable();
    },
    //重置查询
    restRefreshTable() {
@@ -630,8 +632,8 @@
        return this.$message.error("新增失败");
      }
      this.$message({
        message: '新增成功',
        type: 'success'
        message: "新增成功",
        type: "success",
      });
      this.closeInsertData();
    },
@@ -639,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();
@@ -670,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: "上传成功!",
@@ -683,7 +684,6 @@
          });
        }
      }
    },
    //格式化列表
    formatData(row, column) {
@@ -703,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) {
@@ -715,8 +715,8 @@
    },
    //新增弹窗
    setTableInsert() {
      this.behavior = "新增"
      this.dialogVisible = true
      this.behavior = "新增";
      this.dialogVisible = true;
    },
    //分页切换
    handleSizeChange(val) {
@@ -737,7 +737,7 @@
        return this.$message.error("列表调用失败");
      }
      this.tableData = data.result;
      this.listData.count = data.count
      this.listData.count = data.count;
    },
    //权限配置
    showPermsBtn() {
@@ -762,7 +762,7 @@
  }
  .searchComp {
     padding: 8px;
    padding: 8px;
    margin-top: 20px;
    border-radius: 5px;