44个表格在1366*768下的适配,保安员管理-》保安员查询中操作栏更改,在用户表左侧控制栏同步高
44 files modified
3 files added
4273 ■■■■■ changed files
src/main.js 10 ●●●●● patch | view | raw | blame | history
src/store/getters.js 7 ●●●●● patch | view | raw | blame | history
src/store/index.js 2 ●●●●● patch | view | raw | blame | history
src/store/modules/control.js 344 ●●●●● patch | view | raw | blame | history
src/store/onresize.js 51 ●●●●● patch | view | raw | blame | history
src/styles/element-ui.scss 2 ●●●●● patch | view | raw | blame | history
src/styles/media.scss 11 ●●●● patch | view | raw | blame | history
src/styles/smallSize.scss 157 ●●●●● patch | view | raw | blame | history
src/views/Juris/jurs.vue 18 ●●●● patch | view | raw | blame | history
src/views/authority/apiscope.vue 15 ●●●●● patch | view | raw | blame | history
src/views/authority/datascope.vue 15 ●●●● patch | view | raw | blame | history
src/views/authority/role.vue 15 ●●●●● patch | view | raw | blame | history
src/views/commandQuery/taskDistribution.vue 983 ●●●● patch | view | raw | blame | history
src/views/desk/notice.vue 40 ●●●●● patch | view | raw | blame | history
src/views/onSiteInspection/company.vue 27 ●●●●● patch | view | raw | blame | history
src/views/onSiteInspection/securityStaff.vue 29 ●●●●● patch | view | raw | blame | history
src/views/qualificationExamination/paymentInquiry.vue 25 ●●●●● patch | view | raw | blame | history
src/views/qualificationExamination/qualificationExamination.vue 33 ●●●●● patch | view | raw | blame | history
src/views/qualificationExamination/registrationTrainingQuery.vue 35 ●●●●● patch | view | raw | blame | history
src/views/qualificationExamination/scoreInquiry.vue 33 ●●●●● patch | view | raw | blame | history
src/views/qualificationExamination/signQualificationExamination.vue 29 ●●●●● patch | view | raw | blame | history
src/views/resource/attach.vue 796 ●●●● patch | view | raw | blame | history
src/views/resource/oss.vue 18 ●●●● patch | view | raw | blame | history
src/views/securityCompany/column.js 319 ●●●● patch | view | raw | blame | history
src/views/securityCompany/confess.vue 28 ●●●●● patch | view | raw | blame | history
src/views/securityCompany/dispatch.vue 26 ●●●●● patch | view | raw | blame | history
src/views/securityCompany/regulatoryInformation.vue 42 ●●●● patch | view | raw | blame | history
src/views/securityCompany/security.vue 28 ●●●●● patch | view | raw | blame | history
src/views/securityCompany/securityCrossRegion.vue 28 ●●●●● patch | view | raw | blame | history
src/views/securityCompany/train.vue 28 ●●●●● patch | view | raw | blame | history
src/views/securityGuardManagement/dispatchChildoperable.vue 66 ●●●●● patch | view | raw | blame | history
src/views/securityGuardManagement/register.vue 166 ●●●●● patch | view | raw | blame | history
src/views/securityUnitOperation/economicTable.vue 86 ●●●●● patch | view | raw | blame | history
src/views/securityUnitOperation/operationTable.vue 72 ●●●●● patch | view | raw | blame | history
src/views/statisticalQueryManagement/businessStatistics.vue 36 ●●●●● patch | view | raw | blame | history
src/views/statisticalQueryManagement/securityGuardStatistics.vue 104 ●●●●● patch | view | raw | blame | history
src/views/system/dept.vue 18 ●●●● patch | view | raw | blame | history
src/views/system/dict.vue 37 ●●●● patch | view | raw | blame | history
src/views/system/dictbiz.vue 36 ●●●●● patch | view | raw | blame | history
src/views/system/menu.vue 18 ●●●● patch | view | raw | blame | history
src/views/system/post.vue 18 ●●●● patch | view | raw | blame | history
src/views/system/tenant.vue 18 ●●●● patch | view | raw | blame | history
src/views/system/user.vue 20 ●●●● patch | view | raw | blame | history
src/views/talk/talk.vue 16 ●●●●● patch | view | raw | blame | history
src/views/workreport/workreply.vue 18 ●●●● patch | view | raw | blame | history
src/views/workreport/workreport.vue 263 ●●●● patch | view | raw | blame | history
vue.config.js 87 ●●●● patch | view | raw | blame | history
src/main.js
@@ -7,6 +7,10 @@
import './error'; // 日志
import './cache'; //页面缓存
import store from './store';
// Window.onresize 事件  动态调整窗口
import "@/store/onresize";
import {
  loadStyle
} from './util/util'
@@ -63,9 +67,13 @@
Vue.config.productionTip = false;
new Vue({
var myVue = new Vue({
  router,
  store,
  i18n,
  render: h => h(App)
}).$mount('#app');
export default myVue
src/store/getters.js
@@ -25,5 +25,12 @@
  logsLen: state => state.logs.logsList.length || 0,
  logsFlag: (state, getters) => getters.logsLen === 0,
  flowRoutes: state => state.dict.flowRoutes,
  //控制按钮消失(表格右侧显影按钮)
  clearOtherBut: state => state.control.clearOtherBut,
  windowWidth: state => state.control.windowWidth,
  windowHeight: state => state.control.windowHeight,
  table_height: state => state.control.table_height,
  screenSize: state => state.control.screenSize,
  screenHeight: state => state.control.screenHeight
}
export default getters
src/store/index.js
@@ -5,6 +5,7 @@
import tags from './modules/tags'
import logs from './modules/logs'
import dict from './modules/dict'
import control from './modules/control'
import getters from './getters'
Vue.use(Vuex)
@@ -15,6 +16,7 @@
    logs,
    tags,
    dict,
    control
  },
  getters,
})
src/store/modules/control.js
New file
@@ -0,0 +1,344 @@
// import {getStore, setStore} from '@/util/store'
// import {getDictionary} from '@/api/system/dict'
let screenSizes = {
  w: window.screen.width,
  h: window.screen.height
};
let innerWH = {
  innerWidth: window.innerWidth,
  innerHeight: window.innerHeight
};
const control = {
  state: {
    clearOtherBut: {
      refreshBtn: false,
      columnBtn: false,
      searchShowBtn: false,
      filterBtn: false,
      // addBtn: false,
      // editBtn: false,
      // viewBtn: false,
      // delBtn: false,
      searchIndex: 6, //收缩展示数量
      searchIcon: true, //搜索是否收缩
      height: window.screen.height //初始高度
    },
    changePageSize: {
      pageSize: 15,
      currentPage: 1,
      total: 0,
      pageSizes: [15, 30, 50, 100]
    },
    windowWidth: innerWH.innerWidth,
    windowHeight: innerWH.innerHeight,
    tableWindowHeight: innerWH.innerHeight,
    heightTimesOut: "",
    table_height: "",
    butState: "",
    oldOpens: "",
    screenSize: screenSizes.w <= 1366 && screenSizes.h <= 768,
    screenHeight: 1000,
    searchOpen: {
      searchIndex: 6, //收缩展示数量
      searchIcon: true, //搜索是否收缩
      height: window.screen.height //初始高度
    },
    changeMenuSize: true //是否开启切换菜单
  },
  actions: {
    WHchangeHight({
      state,
      commit
    }, data) {
      if (data.fn) {
        if (!state.heightTimesOut) {
          data.fn(state.windowHeight);
        } else {
          state.heightTimesOut = setTimeout(() => {
            clearTimeout(state.heightTimesOut);
            state.heightTimesOut = "";
            data.fn(state.windowHeight);
          }, 500);
        }
      }
    },
    TABLE_CHANGEBUTPOSITION({
      state,
      commit,
      dispatch
    }, data) {
      let table = document.getElementsByClassName("tablesss")[0];
      let heard = table.getElementsByClassName("avue-crud__search")[0]; //获取搜索的长度
      let buts = table.getElementsByClassName("avue-form__menu--center")[0];
      let Open = buts.getElementsByClassName("el-button--text")[0];
      let butsheight = heard.clientHeight;
      let other = data.otherclass || [];
      // buts.style.transition = "all 0.1s";
      if (buts) {
        buts.style.top = butsheight - 3 + "px";
      }
      if (other && state.windowWidth >= 1024) {
        for (let k in other) {
          let otherbuts = document.getElementsByClassName(other[k])[0];
          // otherbuts.style.transition = "all 0.1s";
          if (otherbuts) {
            otherbuts.style.top = butsheight + 26 + "px";
          }
        }
      }
      // Open.style.transition = "all 0.1s";
      // Open.style.top = -(butsheight + 4) + "px";
      // 添加事件
      if (Open) {
        Open.style.top = (state.screenSize ? 125 : 140) + "px";
        Open.onclick = function (e) {
          // changedom(e.srcElement.innerText);
          //固定高度
          //调用改变高度
          if (e.srcElement.innerText == "展 开") {
            state.tableWindowHeight += 1;
          } else {
            state.tableWindowHeight -= 1;
          }
          // commit("setButOpens", e.srcElement.innerText);
        };
      }
    },
    TABLE_CHANGEHEIGHT({
      state,
      commit
    }, data) {
      let h = +state.windowHeight - (+data.searchHeight + +data.flowHeight);
      console.log(h);
      state.table_height = h;
      // commit("settable_height", h);
    },
    changeZoom({
      state,
      commit,
      dispatch
    }, data) {
      if (window.innerWidth <= 1396 && window.innerHeight <= 798) {
        // var devicewidth = document.documentElement.clientWidth; //获取当前分辨率下的可是区域宽度
        // console.log(devicewidth)
        let devicewidth = 1143;
        var scale = devicewidth / 1366; // 分母——设计稿的尺寸
        document.body.style.zoom = scale; //放大缩小相应倍数
        // console.log("应用1366*768")
      } else {
        if (document.body.style.zoom != 1) {
          document.body.style.zoom = 1;
          // console.log("还原缩放")
        }
      }
      // return;
      let usheight = 0;
      //监听可视高度
      Object.defineProperty(state, "tableWindowHeight", {
        set: function (key, value) {
          //   //此处拦截了设置请求
          // window.console.log(key, value, "tableWindowHeight");
          usheight = key;
          let d = {
            fn: function (h) {
              let doit = (height, val) => {
                let table = document.getElementsByClassName("tablesss");
                // console.log(table[0]);
                if (table[0]) {
                  //有需要调整的表格
                  let heard = table[0].getElementsByClassName(
                    "avue-crud__search"
                  );
                  let tip = document.getElementsByClassName("avue-crud__tip")[0];
                  let usNum = state.screenSize ? 125 : 262;
                  if (!tip) {
                    // console.log("没有tip")
                    usNum = usNum - 50;
                  }
                  let pagination = document.getElementsByClassName("avue-crud__pagination")[0];
                  if (!pagination) {
                    // console.log("没有分页")
                    usNum = usNum - 45;
                  }
                  let nav_scroll = document.getElementsByClassName("el-tabs__nav-scroll");
                  if (nav_scroll[1]) {
                    // console.log("有额外标签栏")
                    usNum = usNum + 55;
                  }
                  let smileTableFromSize = document.getElementsByClassName("smileTableFromSize");
                  // console.log(smileTableFromSize)
                  if (smileTableFromSize[0]) {
                    usNum = usNum + (state.screenSize ? 23 : 16);
                  }
                  let tablesssInSmail = document.getElementsByClassName("tablesssInSmail");
                  if (tablesssInSmail[0]) {
                    usNum = usNum + 20;
                  }
                  let hs = height || h;
                  let overHeight = +hs - (+heard[0].clientHeight + +usNum);
                  // console.log(overHeight, heard[0].clientHeight, usNum);
                  let fromDom = document.getElementsByClassName(
                    "el-table--fit"
                  );
                  if (fromDom) {
                    let ifsize = fromDom.length;
                    // console.log("页面表格数量:", ifsize)
                    for (let ifrom = 0; ifrom < ifsize; ifrom++) {
                      // fromDom[ifrom].style.transition = "height 0.1s";
                      fromDom[ifrom].style.maxHeight = overHeight + "px";
                      fromDom[ifrom].style.height = overHeight + "px";
                    }
                  }
                  let d = {
                    otherclass: ["downSFZ"],
                    haveOpen: true
                  };
                  dispatch("TABLE_CHANGEBUTPOSITION", d);
                  //判断是否有左侧选择dom
                  let chouse = document.getElementsByClassName(
                    "changeBoxs"
                  );
                  if (chouse[0]) {
                    let bodys = chouse[0].getElementsByClassName(
                      "el-scrollbar__view"
                    )[1];
                    // bodys.style.overflow = "hidden scroll";
                    bodys.style.height = height - (state.screenSize ? 75 : 200) + "px";
                    // height: 500px;
                    // overflow: ;
                  }
                }
                return;
              };
              // if (that.onceTableChange == 1) {
              //   //解决第一次未渲染成功会报错的问题
              //   that.onceTableChange++;
              //   console.log(that.onceTableChange);
              //   commit("checkDomHeight", {
              //     domName: "getElementsByClassName",
              //     name: "el-table--fit",
              //     fn: function() {
              //       that.$nextTick(() => {
              //         setTimeout(() => {
              // doit(window.innerHeight, "once");
              //         }, 200);
              //       });
              //     }
              //   });
              // } else {
              doit(window.innerHeight);
              // }
            }
          };
          dispatch("WHchangeHight", d);
          return
          // tablesss
          // class="tablesss"
          let a = {
            ...this.$store.state.control.changePageSize,
            ...this.$store.state.control.clearOtherBut,
          }
          // :class="[
          //   $store.state.control.screenSize == 1366
          //     ? 'smallSize'
          //     : 'normalSize',
          //   $store.state.control.windowWidth >= 1024 ? 'tooRowSearch1' : '',
          // ]"
          $store.state.control.screenSize == 1366 ? 'smallSize' : 'normalSize',
            $store.state.control.windowWidth >= 1024 ? 'tooRowSearch1' : '',
            // searchIndex: 6, //收缩展示数量
            // searchIcon: true, //搜索是否收缩
            // ...this.$store.state.control.searchOpen,
            // height: "auto",
            // 初始化位置, 放入mounted, 以及放入onload的获取数据后
            this.$store.commit("setWindowSizeHeightAdd");
          // mounted() {
          //   this.$store.commit("setWindowSizeHeightAdd");
          // },
        },
        get: function () {
          // console.log('get!', usheight);
          return usheight;
        }
      });
    },
    MOUNTED_TABLE_SIZE({
      state,
      commit,
      dispatch
    }, data) {
      let d = {
        otherclass: ["downSFZ"],
        haveOpen: true,
        from: "mounted"
      };
      // 开始就适应高度
      commit("setWindowSizeHeightAdd");
      // dispatch("TABLE_CHANGEBUTPOSITION", d);
    }
  },
  mutations: {
    setWindowSize: (state, data) => {
      state.windowWidth = data.innerWidth;
      state.windowHeight = data.innerHeight;
      // console.log(state.windowWidth, "state.windowHeight")
      // console.log(state.windowHeight, "state.windowHeight")
    },
    setWindowSizeHeight: (state, data) => {
      state.tableWindowHeight = data;
      // console.log(state.tableWindowHeight, "state.tableWindowHeight")
    },
    setWindowSizeHeightAdd: (state, data) => {
      setTimeout(() => {
        state.tableWindowHeight += 1;
      }, 0);
    },
    setButOpens(state, data) {
      state.butState = data;
    },
    setOldOpens(state, data) {
      state.oldOpens = data;
      state.oldOpens = data;
    },
    setScreenSize(state, data) {
      state.screenSize = data.w <= 1366 && data.h <= 768 ? 1366 : false;
      state.screenHeight = data.h;
    },
    checkDomHeight(state, data) {
      //  声明定时器
      var timer = null;
      //  检查dom是否执行完成
      function checkDom() {
        let dom = document[data.domName](data.name);
        console.log(dom[0].style.height, "height");
        if (dom[0].style.height) {
          //  执行dom加载完成后的操作
          //  清除定时器
          if (!timer) {
            clearTimeout(timer);
          }
          if (data.fn) {
            //回调函数
            data.fn(dom);
            return;
          } else {
            return dom;
          }
        } else {
          //  自我调用
          timer = setTimeout(checkDom, 200);
        }
      }
      //  首次执行
      checkDom();
    }
  }
};
export default control;
src/store/onresize.js
New file
@@ -0,0 +1,51 @@
import _this from "../main";
// 设置 init 函数
function init() {
  if (_this) {
    let innerWH = {
      innerWidth: window.innerWidth,
      innerHeight: window.innerHeight
      // innerWidth: document.documentElement.clientWidth,
      // innerHeight: document.documentElement.clientHeight,
    };
    _this.$store.commit("setWindowSize", innerWH);
    _this.$store.commit("setWindowSizeHeight", innerWH.innerHeight);
    _this.$store.commit("setScreenSize", {
      w: window.screen.width,
      h: window.screen.height
    });
    // console.log("第下次判断屏幕分辨率");
    // console.log(' window.innerWidth', window.innerWidth);
    // console.log(' window.innerHeight', window.innerHeight);
    _this.$store.dispatch("changeZoom");
  }
}
// 节流 ms 触发间隔毫秒
var ms = 300;
var lastClick = Date.now() - ms;
// 初始化
setTimeout(() => {
  init();
}, 500);
// 改变窗口大小时重新设置 rem
// window.onresize = function () {
//     // 节流
//     if (Date.now() - lastClick >= ms) {
//         init();
//         lastClick = Date.now();
//     }
// }
window.addEventListener(
  "resize",
  () => {
    // 节流
    if (Date.now() - lastClick >= ms) {
      init();
      lastClick = Date.now();
    }
  },
  false
);
src/styles/element-ui.scss
@@ -628,3 +628,5 @@
.witerFontColorInput .el-range-input {
  color: #fff !important;
}
@import "./smallSize.scss";
src/styles/media.scss
@@ -1,15 +1,14 @@
@import "./ourBackgroundColor.scss";
.avue-logo{
.avue-logo {
  background-color: $leftMenuTop;
}
.avue-left,
.avue-header,
.avue-top,
.avue-logo,
.avue-layout
.login-logo,
.avue-layout .login-logo,
.avue-main {
  transition: all .3s;
  transition: all 0.3s;
}
.avue-contail {
@@ -20,7 +19,6 @@
  background-size: 100%;
  background-repeat: no-repeat;
}
.avue-left {
  position: fixed;
@@ -77,6 +75,7 @@
.avue-view {
  padding: 0 10px !important;
  width: 100%;
  overflow: hidden !important;
  box-sizing: border-box;
}
@@ -108,7 +107,7 @@
  right: 0;
  top: 0;
  bottom: 0;
  background-color: rgba(0, 0, 0, .3);
  background-color: rgba(0, 0, 0, 0.3);
  z-index: 1024;
  &--show {
src/styles/smallSize.scss
New file
@@ -0,0 +1,157 @@
.tooRowSearch1 {
  position: relative;
  // .avue-form__group {
  //   position: relative;
  //   z-index: 100;
  // }
}
.tooRowSearch1 .avue-crud__search .avue-form__group.avue-form__group--flex .avue-form__menu--center {
  width: 240px !important;
  // width: 264px !important;
  // position: absolute !important;
  // right: 0 !important;
  // top: 126px !important;
  // z-index: 100 !important;
  // width: 264px;
  position: absolute;
  right: -8px;
  top: 80px;
  z-index: 100;
  .el-button.el-button--text.el-button--small {
    position: fixed;
    top: 140px;
    right: 40px;
  }
}
.certificateTJ .avue-crud__search .avue-form__group.avue-form__group--flex .avue-form__menu--center {
  //适配在保安单位情况智能分析中的弹出表格的按钮过下问题
  top: 57px !important;
}
.tooRowSearch1 .el-card.is-never-shadow.avue-crud__search {
  overflow: visible;
}
.smallSize {
  //设置1366*768中的表格边距
  //搜索框
  .el-collapse .el-collapse-item {
    padding-top: 0px !important;
    .el-col {
      margin-top: 2px;
      margin-bottom: 8px;
    }
    .el-form-item--small.el-form-item {
      margin-bottom: 10px;
      .el-form-item__label {
        width: auto !important;
      }
    }
  }
  .avue-crud__menu {
    margin-bottom: 0 !important;
  }
  //选择选项横条
  .avue-crud__tip {
    .avue-crud__tip {
      margin: 3px 0;
    }
  }
  .el-card__body {
    //卡片减少padding
    padding: 8px !important;
    .el-card__body {
      padding: 0 8px 8px 8px !important;
    }
  }
  //分页器
  .avue-crud__pagination {
    padding: 10px 0 5px 5px;
  }
}
.normalSize {
  //设置正常的表格边距
  //搜索框
  padding: 0px 6px !important;
  .el-collapse .el-collapse-item {
    padding-top: 10px !important;
    .el-col {
      margin-bottom: 8px !important;
    }
    .el-form-item--small.el-form-item {
      margin-bottom: 15px;
      .el-form-item__label {
        width: auto !important;
      }
    }
  }
  //选择选项横条
  .avue-crud__tip {
    .avue-crud__tip {
      margin: 6px 0;
    }
  }
  .el-card__body {
    //卡片减少padding
    padding: 8px !important;
  }
  //分页器
  .avue-crud__pagination {
    padding: 15px 0 5px 5px;
  }
}
//单独设置 在/traincompany/index页面
.exam-card-body-big .el-card__body:nth-child(1) {
  padding: 11px !important;
}
//单独设置 在/traincompany/index页面
.morpheus-box .el-card__body:nth-child(1) {
  padding: 9px !important;
}
.clearBottomMargin {
  margin-bottom: 0px !important;
}
.avue-main {
  padding-bottom: 0px !important;
}
$outBorderColor: #709dff;
$blackColor: #3457b1;
$blackColorBut: #1d5ce4;
//表格操作栏
.el-tooltip__popper.is-light.caozuolanpopper {
  padding-left: 0;
  padding-right: 0;
  background-color: $blackColor;
  border: 1px solid $outBorderColor;
  .el-button {
    background-color: $blackColor !important;
    padding-left: 10px;
    padding-right: 10px;
    &:hover {
      background-color: $blackColorBut !important;
      color: #fff;
    }
  }
  &[x-placement^="bottom"] .popper__arrow {
    border-bottom-color: $outBorderColor !important;
    &::after {
      border-bottom-color: $blackColor !important;
    }
  }
  &[x-placement^="top"] .popper__arrow {
    border-top-color: $outBorderColor !important;
    &::after {
      border-top-color: $blackColor !important;
    }
  }
}
.changeBoxs {
  .el-scrollbar__view:nth-child(1) {
    overflow: hidden scroll !important;
  }
}
src/views/Juris/jurs.vue
@@ -1,6 +1,13 @@
<template>
  <basic-container class="jurs">
  <basic-container
    :class="[
      'jurs',
      $store.state.control.screenSize == 1366 ? 'smallSize' : 'normalSize',
      $store.state.control.windowWidth >= 1024 ? 'tooRowSearch1' : '',
    ]"
  >
    <avue-crud
      class="tablesss"
      :option="option"
      :table-loading="loading"
      :data="data"
@@ -73,6 +80,7 @@
        pageSize: 10,
        currentPage: 1,
        total: 0,
        ...this.$store.state.control.changePageSize,
      },
      option: {
        lazy: true,
@@ -88,6 +96,7 @@
        viewBtn: true,
        menuWidth: 300,
        dialogClickModal: false,
        ...this.$store.state.control.clearOtherBut,
        column: [
          {
            label: "机构名称",
@@ -170,6 +179,9 @@
      },
      data: [],
    };
  },
  mounted() {
    this.$store.commit("setWindowSizeHeightAdd");
  },
  computed: {
    ...mapGetters(["userInfo", "permission"]),
@@ -342,6 +354,7 @@
      getLazyList(this.parentId, Object.assign(params, this.query)).then(
        (res) => {
          this.data = res.data.data;
          this.$store.commit("setWindowSizeHeightAdd");
          this.loading = false;
          this.selectionClear();
        }
@@ -357,5 +370,4 @@
};
</script>
<style>
</style>
<style></style>
src/views/authority/apiscope.vue
@@ -1,6 +1,13 @@
<template>
  <basic-container class="apiscope">
  <basic-container
    :class="[
      'apiscope',
      $store.state.control.screenSize == 1366 ? 'smallSize' : 'normalSize',
      $store.state.control.windowWidth >= 1024 ? 'tooRowSearch1' : '',
    ]"
  >
    <avue-crud
      class="tablesss"
      :option="option"
      :table-loading="loading"
      :data="data"
@@ -114,6 +121,7 @@
        pageSize: 10,
        currentPage: 1,
        total: 0,
        ...this.$store.state.control.changePageSize,
      },
      drawerVisible: false,
      direction: "rtl",
@@ -139,6 +147,7 @@
        delBtn: false,
        menuWidth: 150,
        dialogClickModal: false,
        ...this.$store.state.control.clearOtherBut,
        column: [
          {
            label: "菜单名称",
@@ -421,6 +430,9 @@
      return ids.join(",");
    },
  },
  mounted() {
    this.$store.commit("setWindowSizeHeightAdd");
  },
  methods: {
    // 菜单管理模块
    rowSave(row, done, loading) {
@@ -674,6 +686,7 @@
        this.pageScope.total = data.total;
        this.dataScope = data.records;
        this.selectionListScope = [];
        this.$store.commit("setWindowSizeHeightAdd");
        this.scopeLoading = false;
      });
    },
src/views/authority/datascope.vue
@@ -1,6 +1,12 @@
<template>
  <basic-container>
  <basic-container
    :class="[
      $store.state.control.screenSize == 1366 ? 'smallSize' : 'normalSize',
      $store.state.control.windowWidth >= 1024 ? 'tooRowSearch1' : '',
    ]"
  >
    <avue-crud
      class="tablesss"
      :option="option"
      :table-loading="loading"
      :data="data"
@@ -115,6 +121,7 @@
        pageSize: 10,
        currentPage: 1,
        total: 0,
        ...this.$store.state.control.changePageSize,
      },
      drawerVisible: false,
      direction: "rtl",
@@ -142,6 +149,7 @@
        delBtn: false,
        menuWidth: 150,
        dialogClickModal: false,
        ...this.$store.state.control.clearOtherBut,
        column: [
          {
            label: "菜单名称",
@@ -465,6 +473,9 @@
      return ids.join(",");
    },
  },
  mounted() {
    this.$store.commit("setWindowSizeHeightAdd");
  },
  methods: {
    initScope() {
      const scopeType = func.toInt(this.formScope.scopeType);
@@ -617,6 +628,7 @@
      getLazyMenuList(this.parentId, Object.assign(params, this.query)).then(
        (res) => {
          this.data = res.data.data;
          this.$store.commit("setWindowSizeHeightAdd");
          this.loading = false;
          this.selectionClear();
        }
@@ -768,4 +780,3 @@
  },
};
</script>
src/views/authority/role.vue
@@ -1,6 +1,13 @@
<template>
  <basic-container class="role">
  <basic-container
    :class="[
      'role',
      $store.state.control.screenSize == 1366 ? 'smallSize' : 'normalSize',
      $store.state.control.windowWidth >= 1024 ? 'tooRowSearch1' : '',
    ]"
  >
    <avue-crud
      class="tablesss"
      :option="option"
      :table-loading="loading"
      :data="data"
@@ -126,6 +133,7 @@
        pageSize: 10,
        currentPage: 1,
        total: 0,
        ...this.$store.state.control.changePageSize,
      },
      option: {
        tip: false,
@@ -142,6 +150,7 @@
        // 操作栏宽度
        menuWidth: 300,
        dialogClickModal: false,
        ...this.$store.state.control.clearOtherBut,
        column: [
          {
            label: "角色名称",
@@ -252,6 +261,9 @@
      });
      return ids;
    },
  },
  mounted() {
    this.$store.commit("setWindowSizeHeightAdd");
  },
  methods: {
    initData(roleId) {
@@ -407,6 +419,7 @@
        Object.assign(params, this.query)
      ).then((res) => {
        this.data = res.data.data;
        this.$store.commit("setWindowSizeHeightAdd");
        this.loading = false;
        this.selectionClear();
      });
src/views/commandQuery/taskDistribution.vue
@@ -1,75 +1,84 @@
/*
 * @Author: Morpheus
 * @Date: 2021-07-07 17:30:05
 * @Last Modified by: Morpheus
 * @Last Modified time: 2021-11-25 14:54:40
 * menu-name 监管信息
 */
/* * @Author: Morpheus * @Date: 2021-07-07 17:30:05 * @Last Modified by:
Morpheus * @Last Modified time: 2021-11-25 14:54:40 * menu-name 监管信息 */
<template>
    <basic-container>
        <avue-crud :option="option"
                   :table-loading="loading"
                   :data="data"
                   :page.sync="page"
                   :permission="permissionList"
                   v-model="form"
                   ref="crud"
                   @row-update="rowUpdates"
                   @row-save="rowSave"
                   @row-del="rowDel"
                   @search-change="searchChange"
                   @search-reset="searchReset"
                   @selection-change="selectionChange"
                   @current-change="currentChange"
                   @size-change="sizeChange"
                   @refresh-change="refreshChange"
                   @on-load="onLoad">
            <template slot-scope="{ type, size, row }"
                      slot="menu">
                <el-button icon="el-icon-location-outline"
                           :size="size"
                           :type="type"
                           @click.stop="seeLocation(row)">位置查看</el-button>
                <el-button icon="el-icon-place"
                           :size="size"
                           :type="type"
                           @click.stop="seeTrack(row)">轨迹查看
                </el-button>
            </template>
        </avue-crud>
  <basic-container
    :class="[
      $store.state.control.screenSize == 1366 ? 'smallSize' : 'normalSize',
      $store.state.control.windowWidth >= 1024 ? 'tooRowSearch1' : '',
    ]"
  >
    <avue-crud
      class="tablesss"
      :option="option"
      :table-loading="loading"
      :data="data"
      :page.sync="page"
      :permission="permissionList"
      v-model="form"
      ref="crud"
      @row-update="rowUpdates"
      @row-save="rowSave"
      @row-del="rowDel"
      @search-change="searchChange"
      @search-reset="searchReset"
      @selection-change="selectionChange"
      @current-change="currentChange"
      @size-change="sizeChange"
      @refresh-change="refreshChange"
      @on-load="onLoad"
    >
      <template slot-scope="{ type, size, row }" slot="menu">
        <el-button
          icon="el-icon-location-outline"
          :size="size"
          :type="type"
          @click.stop="seeLocation(row)"
          >位置查看</el-button
        >
        <el-button
          icon="el-icon-place"
          :size="size"
          :type="type"
          @click.stop="seeTrack(row)"
          >轨迹查看
        </el-button>
      </template>
    </avue-crud>
        <el-dialog class="see-location"
                   title="位置查看"
                   :visible.sync="seeLocationFlag"
                   :modal-append-to-body="false"
                   width="width">
            <Map v-if="seeLocationFlag" ref="locationForm" />
        </el-dialog>
    <el-dialog
      class="see-location"
      title="位置查看"
      :visible.sync="seeLocationFlag"
      :modal-append-to-body="false"
      width="width"
    >
      <Map v-if="seeLocationFlag" ref="locationForm" />
    </el-dialog>
        <el-dialog class="see-track"
                   title="轨迹查看"
                   :visible.sync="seeTrackFlag"
                   :modal-append-to-body="false"
                   width="width">
    <el-dialog
      class="see-track"
      title="轨迹查看"
      :visible.sync="seeTrackFlag"
      :modal-append-to-body="false"
      width="width"
    >
      <div class="search">
        选择时间:<el-date-picker
          v-model="trackTime"
          type="datetimerange"
          range-separator="至"
          start-placeholder="开始日期"
          size="mini"
          :editable="false"
          end-placeholder="结束日期"
        >
        </el-date-picker>
        <el-button type="text" @click="lookTrack"> 查看轨迹 </el-button>
      </div>
            <div class="search">
                选择时间:<el-date-picker v-model="trackTime"
                                type="datetimerange"
                                range-separator="至"
                                start-placeholder="开始日期"
                                size="mini"
                                :editable="false"
                                end-placeholder="结束日期">
                </el-date-picker>
                <el-button type="text"
                           @click="lookTrack">
                    查看轨迹
                </el-button>
            </div>
            <Map v-if="seeTrackFlag" ref="tarckForm" />
        </el-dialog>
    </basic-container>
      <Map v-if="seeTrackFlag" ref="tarckForm" />
    </el-dialog>
  </basic-container>
</template>
<script>
@@ -84,434 +93,442 @@
// import { datasing } from "./dataqualificationExamination";
// import { getList } from "@/api/qualificationExamination/qualificationExamination";
import { getLisperetaskDistribution } from "@/api/commandQuery/commandQuery";
import { getDirectiveLiveLocationVoList, getDirectiveLocusInfoList, getNewPeople, getNewTark } from "@/api/map/people";
import {
  getDirectiveLiveLocationVoList,
  getDirectiveLocusInfoList,
  getNewPeople,
  getNewTark,
} from "@/api/map/people";
import peoplePng from "@/assets/img/people.png";
export default {
    data () {
        return {
            seeLocationFlag: false,
            seeTrackFlag: false,
            trackTime: [],
            rowData: null,
            form: {},
            query: {},
            loading: true,
            page: {
                pageSize: 10,
                currentPage: 1,
                total: 0,
            },
  data() {
    return {
      seeLocationFlag: false,
      seeTrackFlag: false,
      trackTime: [],
      rowData: null,
      form: {},
      query: {},
      loading: true,
      page: {
        pageSize: 10,
        currentPage: 1,
        total: 0,
        ...this.$store.state.control.changePageSize,
      },
            selectionList: [],
      selectionList: [],
            option: {
                // 操作栏多余按钮去除
                delBtn: false,
                editBtn: false,
                addBtn: false,
                selection: true,
                menu: true,
      option: {
        // 操作栏多余按钮去除
        delBtn: false,
        editBtn: false,
        addBtn: false,
        selection: true,
        menu: true,
                searchShowBtn: false,
        searchShowBtn: false,
                align: "center",
                height: "auto",
                calcHeight: 30,
                tip: false,
                searchShow: true,
                searchMenuSpan: 6,
                index: true,
                viewBtn: true,
                dialogClickModal: false,
        align: "center",
        height: "auto",
        calcHeight: 30,
        tip: false,
        searchShow: true,
        searchMenuSpan: 6,
        index: true,
        viewBtn: true,
        dialogClickModal: false,
        ...this.$store.state.control.clearOtherBut,
                column: [
                    //   {
                    //     label: "类型",
                    //     prop: "type",
                    //     overHidden: true,
                    //   },
                    // {
                    //   label: "deptId",
                    //   prop: "deptId",
                    //   overHidden: true,
                    //   // labelWidth: 120,
                    //   // searchLabelWidth: 120,
                    //   searchSpan: 4,
                    //   dicUrl:
                    //     "/api/blade-system/dept/security_lazy-tree?parentId=1413470343230877697",
                    //   props: {
                    //     label: "title",
                    //     value: "id",
                    //   },
                    //   // hide: true,
                    //   search: true,
                    //   // overHidden: true,
                    //   type: "select",
                    //   // rules: [
                    //   //   {
                    //   //     required: true,
                    //   //     message: "请输入保安公司",
                    //   //     trigger: "blur",
                    //   //   },
                    //   // ],
                    // },
                    {
                        label: "发送指令人",
                        prop: "sendName",
                        search: true,
                        searchLabelWidth: 90,
                        searchSpan: 4,
                        //     hide: true,
                        //     editDisplay: false,
                        //     addDisplay: false
                    },
        column: [
          //   {
          //     label: "类型",
          //     prop: "type",
          //     overHidden: true,
          //   },
          // {
          //   label: "deptId",
          //   prop: "deptId",
          //   overHidden: true,
          //   // labelWidth: 120,
          //   // searchLabelWidth: 120,
          //   searchSpan: 4,
          //   dicUrl:
          //     "/api/blade-system/dept/security_lazy-tree?parentId=1413470343230877697",
          //   props: {
          //     label: "title",
          //     value: "id",
          //   },
          //   // hide: true,
          //   search: true,
          //   // overHidden: true,
          //   type: "select",
          //   // rules: [
          //   //   {
          //   //     required: true,
          //   //     message: "请输入保安公司",
          //   //     trigger: "blur",
          //   //   },
          //   // ],
          // },
          {
            label: "发送指令人",
            prop: "sendName",
            search: true,
            searchLabelWidth: 90,
            searchSpan: 4,
            width: 100,
            //     hide: true,
            //     editDisplay: false,
            //     addDisplay: false
          },
                    {
                        label: "接收指令人",
                        prop: "receiveName",
                        // search: true,
                        // searchSpan: 4,
                        searchLabelWidth: 90,
                    },
                    {
                        label: "发送指令时间",
                        prop: "sendTime",
                        type: "date",
                        format: "yyyy-MM-dd hh:mm:ss",
                        valueFormat: "yyyy-MM-dd hh:mm:ss",
                    },
                    {
                        label: "指令内容",
                        prop: "content",
                        search: true,
                        searchSpan: 4,
                    },
                    {
                        label: "图片",
                        prop: "url",
                        dataType: "string",
                        type: "img",
                    },
                ],
            },
          {
            label: "接收指令人",
            prop: "receiveName",
            // search: true,
            // searchSpan: 4,
            searchLabelWidth: 90,
          },
          {
            label: "发送指令时间",
            prop: "sendTime",
            type: "date",
            format: "yyyy-MM-dd hh:mm:ss",
            valueFormat: "yyyy-MM-dd hh:mm:ss",
          },
          {
            label: "指令内容",
            prop: "content",
            search: true,
            searchSpan: 4,
          },
          {
            label: "图片",
            prop: "url",
            dataType: "string",
            type: "img",
          },
        ],
      },
            data: [
                // {
                //   deptid: "江西众泰保安公司",
                //   punishtype: 2,
                //   punishreason: "非法施工",
                //   punishresult: "没收全部非法所得财产,并罚款3W元",
                //   punishtime: "2021-01-01",
                //   punisnum: 110110110120,
                // },
            ],
        };
    },
    computed: {
        ...mapGetters(["permission"]),
        permissionList () {
            return {
                addBtn: this.vaildData(this.permission.post_add, false),
                viewBtn: this.vaildData(this.permission.post_view, false),
                delBtn: this.vaildData(this.permission.post_delete, false),
                editBtn: this.vaildData(this.permission.post_edit, false),
            };
        },
        ids () {
            let ids = [];
            this.selectionList.forEach((ele) => {
                ids.push(ele.id);
            });
            return ids.join(",");
        },
    },
    methods: {
        rowSave (row, done, loading) {
            adddata(row).then(
                () => {
                    this.onLoad(this.page);
                    this.$message({
                        type: "success",
                        message: "操作成功!",
                    });
                    done();
                },
                (error) => {
                    window.console.log(error);
                    loading();
                }
            );
        },
        rowUpdates (row, index, done, loading) {
            // console.log(42342);
            update(row).then(
                () => {
                    this.onLoad(this.page);
                    this.$message({
                        type: "success",
                        message: "操作成功!",
                    });
                    done();
                },
                (error) => {
                    window.console.log(error);
                    loading();
                }
            );
        },
        rowDel (row) {
            this.$confirm("确定将选择数据删除?", {
                confirmButtonText: "确定",
                cancelButtonText: "取消",
                type: "warning",
            })
                .then(() => {
                    return remove(row.id);
                })
                .then(() => {
                    this.onLoad(this.page);
                    this.$message({
                        type: "success",
                        message: "操作成功!",
                    });
                });
        },
        // beforeOpen(done, type) {
        //   if (["edit", "view"].includes(type)) {
        //     getDetail(this.form.id).then((res) => {
        //       this.form = res.data.data;
        //     });
        //   }
        //   done();
      data: [
        // {
        //   deptid: "江西众泰保安公司",
        //   punishtype: 2,
        //   punishreason: "非法施工",
        //   punishresult: "没收全部非法所得财产,并罚款3W元",
        //   punishtime: "2021-01-01",
        //   punisnum: 110110110120,
        // },
        searchReset () {
            this.query = {};
            this.onLoad(this.page);
        },
        searchChange (params, done) {
            this.query = params;
            this.page.currentPage = 1;
            this.onLoad(this.page, params);
            done();
        },
        selectionChange (list) {
            this.selectionList = list;
        },
        selectionClear () {
            this.selectionList = [];
            this.$refs.crud.toggleSelection();
        },
        currentChange (currentPage) {
            this.page.currentPage = currentPage;
        },
        sizeChange (pageSize) {
            this.page.pageSize = pageSize;
        },
        refreshChange () {
            this.onLoad(this.page, this.query);
        },
        onLoad (page, params = {}) {
            // this.loading = false;
            this.loading = true;
            getLisperetaskDistribution(
                page.currentPage,
                page.pageSize,
                Object.assign(params, this.query)
            ).then((res) => {
                const data = res.data.data;
                this.page.total = data.total;
                this.data = data.records;
                // for (var k in this.data) {
                //   this.data[k]["url"] = "https://avuejs.com/images/logo-bg.jpg";
                // }
                console.log(this.data, "getLisperetaskDistribution");
                this.loading = false;
                // this.selectionClear();
            });
        },
        // onLoad(page, params = {}) {
        //   // this.loading = false;
        //   this.loading = true;
        //   //   getListJSON().then((res) => {
        //   //   axios
        //   //     .get(
        //   //       "../../api/qualificationExamination/signQualificationExamination.json"
        //   //     )
        //   //     .then((res) => {
        //   // page.currentPage,
        //   // page.pageSize,
        //   // Object.assign(params, this.query)
        //   if (datasing) {
        //     var res = datasing;
        //     console.log(res, "signQualificationExamination");
        //     const data = res.data;
        //     // this.page.total = data.total;
        //     var d = data.records;
        //     for (var k in d) {
        //       d[k].examination_mx = "正常";
        //       d[k].examination_type = "正常";
        //       d[k]["carid"] = "370111198807051124";
        //       d[k]["certificate"] = "拥有";
        //       d[k]["reviewTime"] = "2021-02-21";
        //       d[k]["results"] = "通过";
        //       d[k]["onjob"] = "是";
        //     }
        //     this.data = d;
        //     this.loading = false;
        //   }
        //   // this.selectionClear();
        //   // });
        // },
        // 行单击
        handleRowClick (row) {
            // delete (row["name"]);
            var obj = row;
            obj["name"] = "保安公司详细资料";
            this.$router.push({
                path: `/securityCompany/index`,
                query: obj,
            });
        },
        seeLocation (row) {
            this.seeLocationFlag = true
            getDirectiveLiveLocationVoList({ type: 1, userIds: row.receiveDirectiveIds }).then((result) => {
                getNewPeople().then(res => {
                    if (JSON.stringify(res.data) != "{}") {
                        var arr = res.data.sort(function (a, b) {
                            return a['date'] < b['date'] ? 1 : -1
                        })
                        this.$refs.locationForm.addEntitys(
                            {
                                LGTD: arr[0].gis_jd,
                                LTTD: arr[0].gis_wd,
                                name: "人员位置",
                            },
                            peoplePng,
                            0.5,
                            "peoplelayer",
                            "peopleAddlayer"
                        );
                    }
                })
                // var res = result.data.data;
                // if (JSON.stringify(res) != "[]") {
                //     res.forEach((data)=>{
                //         this.$refs.locationForm.addEntitys(
                //             {
                //                 LGTD: data.longitude,
                //                 LTTD: data.latitude,
                //                 name: "人员位置",
                //             },
                //             peoplePng,
                //             0.5,
                //             "peoplelayer",
                //             "peopleAddlayer"
                //         );
                //     })
                // }
            });
        },
        seeTrack (row) {
            this.trackTime = [];
            this.rowData = '';
            this.rowData = row;
            this.seeTrackFlag = true
        },
        lookTrack () {
            if (this.trackTime.length == 0) {
                this.$message({ message: "请选择开始时间", duration: 2000 });
                return;
            }
            const startTime = new Date(this.trackTime[0]);
            const start =
                startTime.getFullYear() +
                "-" +
                this.disposeTime(startTime.getMonth() + 1) +
                "-" +
                this.disposeTime(startTime.getDate()) +
                " " +
                this.disposeTime(startTime.getHours()) +
                ":" +
                this.disposeTime(startTime.getMinutes()) +
                ":" +
                this.disposeTime(startTime.getSeconds());
            if (this.trackTime.length == 1) {
                this.$message({ message: "请选择结束时间", duration: 2000 });
                return;
            }
            const endTime = new Date(this.trackTime[1]);
            const end =
                endTime.getFullYear() +
                "-" +
                this.disposeTime(endTime.getMonth() + 1) +
                "-" +
                this.disposeTime(endTime.getDate()) +
                " " +
                this.disposeTime(endTime.getHours()) +
                ":" +
                this.disposeTime(endTime.getMinutes()) +
                ":" +
                this.disposeTime(endTime.getSeconds());
            getDirectiveLocusInfoList({
                userIds: this.rowData.receiveDirectiveIds,
                type: 1,
                startTime: start,
                endTime: end,
            }).then((res) => {
                getNewTark().then(res => {
                    if (JSON.stringify(res.data.track) != "{}") {
                        if (res.data.track.length > 1) {
                            let arr = [];
                            res.data.track.forEach((item) => {
                                arr.push([Number(item.gis_jd), Number(item.gis_wd)]);
                            });
                            this.$refs.tarckForm.addLines(arr);
                        }
                    }
                })
                // var result = res.data.data;
                // if (JSON.stringify(res) != "[]") {
                //     result.forEach((item) => {
                //         if (item.length > 1) {
                //             let arr = [];
                //             item.forEach((data) => {
                //                 arr.push([Number(data.longitude), Number(data.latitude)]);
                //             });
                //             this.$refs.tarckForm.addLines(arr);
                //         }
                //     })
                // }
            });
        },
        // 处理时间补零操作
        disposeTime (s) {
            return s < 10 ? "0" + s : s;
        },
      ],
    };
  },
  computed: {
    ...mapGetters(["permission"]),
    permissionList() {
      return {
        addBtn: this.vaildData(this.permission.post_add, false),
        viewBtn: this.vaildData(this.permission.post_view, false),
        delBtn: this.vaildData(this.permission.post_delete, false),
        editBtn: this.vaildData(this.permission.post_edit, false),
      };
    },
    ids() {
      let ids = [];
      this.selectionList.forEach((ele) => {
        ids.push(ele.id);
      });
      return ids.join(",");
    },
  },
  mounted() {
    this.$store.commit("setWindowSizeHeightAdd");
  },
  methods: {
    rowSave(row, done, loading) {
      adddata(row).then(
        () => {
          this.onLoad(this.page);
          this.$message({
            type: "success",
            message: "操作成功!",
          });
          done();
        },
        (error) => {
          window.console.log(error);
          loading();
        }
      );
    },
    rowUpdates(row, index, done, loading) {
      // console.log(42342);
      update(row).then(
        () => {
          this.onLoad(this.page);
          this.$message({
            type: "success",
            message: "操作成功!",
          });
          done();
        },
        (error) => {
          window.console.log(error);
          loading();
        }
      );
    },
    rowDel(row) {
      this.$confirm("确定将选择数据删除?", {
        confirmButtonText: "确定",
        cancelButtonText: "取消",
        type: "warning",
      })
        .then(() => {
          return remove(row.id);
        })
        .then(() => {
          this.onLoad(this.page);
          this.$message({
            type: "success",
            message: "操作成功!",
          });
        });
    },
    // beforeOpen(done, type) {
    //   if (["edit", "view"].includes(type)) {
    //     getDetail(this.form.id).then((res) => {
    //       this.form = res.data.data;
    //     });
    //   }
    //   done();
    // },
    searchReset() {
      this.query = {};
      this.onLoad(this.page);
    },
    searchChange(params, done) {
      this.query = params;
      this.page.currentPage = 1;
      this.onLoad(this.page, params);
      done();
    },
    selectionChange(list) {
      this.selectionList = list;
    },
    selectionClear() {
      this.selectionList = [];
      this.$refs.crud.toggleSelection();
    },
    currentChange(currentPage) {
      this.page.currentPage = currentPage;
    },
    sizeChange(pageSize) {
      this.page.pageSize = pageSize;
    },
    refreshChange() {
      this.onLoad(this.page, this.query);
    },
    onLoad(page, params = {}) {
      // this.loading = false;
      this.loading = true;
      getLisperetaskDistribution(
        page.currentPage,
        page.pageSize,
        Object.assign(params, this.query)
      ).then((res) => {
        const data = res.data.data;
        this.page.total = data.total;
        this.data = data.records;
        // for (var k in this.data) {
        //   this.data[k]["url"] = "https://avuejs.com/images/logo-bg.jpg";
        this.$store.commit("setWindowSizeHeightAdd");
        // }
        // console.log(this.data, "getLisperetaskDistribution");
        this.loading = false;
        // this.selectionClear();
      });
    },
    // onLoad(page, params = {}) {
    //   // this.loading = false;
    //   this.loading = true;
    //   //   getListJSON().then((res) => {
    //   //   axios
    //   //     .get(
    //   //       "../../api/qualificationExamination/signQualificationExamination.json"
    //   //     )
    //   //     .then((res) => {
    //   // page.currentPage,
    //   // page.pageSize,
    //   // Object.assign(params, this.query)
    //   if (datasing) {
    //     var res = datasing;
    //     console.log(res, "signQualificationExamination");
    //     const data = res.data;
    //     // this.page.total = data.total;
    //     var d = data.records;
    //     for (var k in d) {
    //       d[k].examination_mx = "正常";
    //       d[k].examination_type = "正常";
    //       d[k]["carid"] = "370111198807051124";
    //       d[k]["certificate"] = "拥有";
    //       d[k]["reviewTime"] = "2021-02-21";
    //       d[k]["results"] = "通过";
    //       d[k]["onjob"] = "是";
    //     }
    //     this.data = d;
    //     this.loading = false;
    //   }
    //   // this.selectionClear();
    //   // });
    // },
    // 行单击
    handleRowClick(row) {
      // delete (row["name"]);
      var obj = row;
      obj["name"] = "保安公司详细资料";
      this.$router.push({
        path: `/securityCompany/index`,
        query: obj,
      });
    },
    seeLocation(row) {
      this.seeLocationFlag = true;
      getDirectiveLiveLocationVoList({
        type: 1,
        userIds: row.receiveDirectiveIds,
      }).then((result) => {
        getNewPeople().then((res) => {
          if (JSON.stringify(res.data) != "{}") {
            var arr = res.data.sort(function (a, b) {
              return a["date"] < b["date"] ? 1 : -1;
            });
            this.$refs.locationForm.addEntitys(
              {
                LGTD: arr[0].gis_jd,
                LTTD: arr[0].gis_wd,
                name: "人员位置",
              },
              peoplePng,
              0.5,
              "peoplelayer",
              "peopleAddlayer"
            );
          }
        });
        // var res = result.data.data;
        // if (JSON.stringify(res) != "[]") {
        //     res.forEach((data)=>{
        //         this.$refs.locationForm.addEntitys(
        //             {
        //                 LGTD: data.longitude,
        //                 LTTD: data.latitude,
        //                 name: "人员位置",
        //             },
        //             peoplePng,
        //             0.5,
        //             "peoplelayer",
        //             "peopleAddlayer"
        //         );
        //     })
        // }
      });
    },
    seeTrack(row) {
      this.trackTime = [];
      this.rowData = "";
      this.rowData = row;
      this.seeTrackFlag = true;
    },
    lookTrack() {
      if (this.trackTime.length == 0) {
        this.$message({ message: "请选择开始时间", duration: 2000 });
        return;
      }
      const startTime = new Date(this.trackTime[0]);
      const start =
        startTime.getFullYear() +
        "-" +
        this.disposeTime(startTime.getMonth() + 1) +
        "-" +
        this.disposeTime(startTime.getDate()) +
        " " +
        this.disposeTime(startTime.getHours()) +
        ":" +
        this.disposeTime(startTime.getMinutes()) +
        ":" +
        this.disposeTime(startTime.getSeconds());
      if (this.trackTime.length == 1) {
        this.$message({ message: "请选择结束时间", duration: 2000 });
        return;
      }
      const endTime = new Date(this.trackTime[1]);
      const end =
        endTime.getFullYear() +
        "-" +
        this.disposeTime(endTime.getMonth() + 1) +
        "-" +
        this.disposeTime(endTime.getDate()) +
        " " +
        this.disposeTime(endTime.getHours()) +
        ":" +
        this.disposeTime(endTime.getMinutes()) +
        ":" +
        this.disposeTime(endTime.getSeconds());
      getDirectiveLocusInfoList({
        userIds: this.rowData.receiveDirectiveIds,
        type: 1,
        startTime: start,
        endTime: end,
      }).then((res) => {
        getNewTark().then((res) => {
          if (JSON.stringify(res.data.track) != "{}") {
            if (res.data.track.length > 1) {
              let arr = [];
              res.data.track.forEach((item) => {
                arr.push([Number(item.gis_jd), Number(item.gis_wd)]);
              });
              this.$refs.tarckForm.addLines(arr);
            }
          }
        });
        // var result = res.data.data;
        // if (JSON.stringify(res) != "[]") {
        //     result.forEach((item) => {
        //         if (item.length > 1) {
        //             let arr = [];
        //             item.forEach((data) => {
        //                 arr.push([Number(data.longitude), Number(data.latitude)]);
        //             });
        //             this.$refs.tarckForm.addLines(arr);
        //         }
        //     })
        // }
      });
    },
    // 处理时间补零操作
    disposeTime(s) {
      return s < 10 ? "0" + s : s;
    },
  },
};
</script>
<style>
</style>
<style></style>
src/views/desk/notice.vue
@@ -1,6 +1,13 @@
<template>
  <basic-container class="notice">
  <basic-container
    :class="[
      'notice',
      $store.state.control.screenSize == 1366 ? 'smallSize' : 'normalSize',
      $store.state.control.windowWidth >= 1024 ? 'tooRowSearch1' : '',
    ]"
  >
    <avue-crud
      class="tablesss"
      :option="option"
      :table-loading="loading"
      :data="data"
@@ -37,11 +44,11 @@
        <el-tag>{{ row.categoryName }}</el-tag>
      </template>
      <template slot-scope="{ type, size, row }" slot="menu">
        <el-button
        :size="size"
        :type="type"
        @click="handleUploadPage(row)"
        v-if="permission.notice_upload"
        <el-button
          :size="size"
          :type="type"
          @click="handleUploadPage(row)"
          v-if="permission.notice_upload"
          >附件上传
        </el-button>
      </template>
@@ -70,6 +77,7 @@
        pageSize: 10,
        currentPage: 1,
        total: 0,
        ...this.$store.state.control.changePageSize,
      },
      selectionList: [],
      option: {
@@ -88,9 +96,10 @@
        excelBtn: false,
        menuWidth: 380,
        dialogClickModal: false,
        addBtnText:"发布",
        addTitle:"发布",
        saveBtnText:'发布',
        addBtnText: "发布",
        addTitle: "发布",
        saveBtnText: "发布",
        ...this.$store.state.control.clearOtherBut,
        column: [
          {
            label: "通知标题",
@@ -182,6 +191,7 @@
                trigger: "click",
              },
            ],
            width: 155,
          },
          {
            label: "通知内容",
@@ -221,7 +231,9 @@
      return ids.join(",");
    },
  },
  mounted() {},
  mounted() {
    this.$store.commit("setWindowSizeHeightAdd");
  },
  methods: {
    //跳转到附近列表页面
    handleUploadPage(row) {
@@ -229,14 +241,14 @@
        path: `/resource/uploadNotice`,
        query: {
          deptId: row.deptId,
          noticeId:row.id,
          noticeId: row.id,
        },
      });
    },
    rowSave(row, done, loading) {
      row.category = 2;
      row.deptId = this.deptId;
      row['type'] = 1;
      row["type"] = 1;
      add(row).then(
        () => {
          this.onLoad(this.page);
@@ -375,6 +387,7 @@
        const data = res.data.data;
        this.page.total = data.total;
        this.data = data.records;
        this.$store.commit("setWindowSizeHeightAdd");
        this.loading = false;
        this.selectionClear();
      });
@@ -383,5 +396,4 @@
};
</script>
<style>
</style>
<style></style>
src/views/onSiteInspection/company.vue
@@ -1,13 +1,15 @@
/*
 * @Author: Morpheus
 * @Date: 2021-07-07 17:30:05
 * @Last Modified by: liu
 * @Last Modified time: 2021-10-22 17:27:38
 * menu-name 单位检查
 */
/* * @Author: Morpheus * @Date: 2021-07-07 17:30:05 * @Last Modified by: liu *
@Last Modified time: 2021-10-22 17:27:38 * menu-name 单位检查 */
<template>
  <basic-container class="witerFontColorInput">
  <basic-container
    :class="[
      'witerFontColorInput',
      $store.state.control.screenSize == 1366 ? 'smallSize' : 'normalSize',
      $store.state.control.windowWidth >= 1024 ? 'tooRowSearch1' : '',
    ]"
  >
    <avue-crud
      class="tablesss"
      :option="option"
      :table-loading="loading"
      :data="data"
@@ -64,6 +66,7 @@
        pageSize: 10,
        currentPage: 1,
        total: 0,
        ...this.$store.state.control.changePageSize,
      },
      selectionList: [],
      option: {
@@ -83,6 +86,7 @@
        index: true,
        viewBtn: true,
        dialogClickModal: false,
        ...this.$store.state.control.clearOtherBut,
        column: [
          {
@@ -206,6 +210,9 @@
      });
      return ids.join(",");
    },
  },
  mounted() {
    this.$store.commit("setWindowSizeHeightAdd");
  },
  methods: {
    //导出
@@ -371,6 +378,7 @@
        this.page.total = data.total;
        this.data = data.records;
        // console.log(this.data);
        this.$store.commit("setWindowSizeHeightAdd");
        this.loading = false;
      });
    },
@@ -389,5 +397,4 @@
};
</script>
<style>
</style>
<style></style>
src/views/onSiteInspection/securityStaff.vue
@@ -1,13 +1,15 @@
/*
 * @Author: Morpheus
 * @Date: 2021-07-07 17:30:05
 * @Last Modified by: liu
 * @Last Modified time: 2021-10-25 16:54:02
 * menu-name 保安员检查
 */
/* * @Author: Morpheus * @Date: 2021-07-07 17:30:05 * @Last Modified by: liu *
@Last Modified time: 2021-10-25 16:54:02 * menu-name 保安员检查 */
<template>
  <basic-container class="witerFontColorInput">
  <basic-container
    :class="[
      'witerFontColorInput',
      $store.state.control.screenSize == 1366 ? 'smallSize' : 'normalSize',
      $store.state.control.windowWidth >= 1024 ? 'tooRowSearch1' : '',
    ]"
  >
    <avue-crud
      class="tablesss"
      :option="option"
      :table-loading="loading"
      :data="data"
@@ -63,6 +65,7 @@
        pageSize: 10,
        currentPage: 1,
        total: 0,
        ...this.$store.state.control.changePageSize,
      },
      selectionList: [],
      option: {
@@ -82,6 +85,7 @@
        index: true,
        viewBtn: true,
        dialogClickModal: false,
        ...this.$store.state.control.clearOtherBut,
        column: [
          // {
@@ -316,6 +320,9 @@
      return ids.join(",");
    },
  },
  mounted() {
    this.$store.commit("setWindowSizeHeightAdd");
  },
  methods: {
    //导出
    handleExport() {
@@ -494,7 +501,8 @@
        const data = res.data.data;
        this.page.total = data.total;
        this.data = data.records;
        console.log(this.data);
        this.$store.commit("setWindowSizeHeightAdd");
        // console.log(this.data);
        this.loading = false;
      });
    },
@@ -513,5 +521,4 @@
};
</script>
<style>
</style>
<style></style>
src/views/qualificationExamination/paymentInquiry.vue
@@ -1,13 +1,14 @@
/*
 * @Author: Morpheus
 * @Date: 2021-07-07 17:30:05
 * @Last Modified by: liu
 * @Last Modified time: 2021-09-23 08:32:06
 * menu-name 缴费查询
 */
/* * @Author: Morpheus * @Date: 2021-07-07 17:30:05 * @Last Modified by: liu *
@Last Modified time: 2021-09-23 08:32:06 * menu-name 缴费查询 */
<template>
  <basic-container>
  <basic-container
    :class="[
      $store.state.control.screenSize == 1366 ? 'smallSize' : 'normalSize',
      $store.state.control.windowWidth >= 1024 ? 'tooRowSearch1' : '',
    ]"
  >
    <avue-crud
      class="tablesss"
      :option="option"
      :table-loading="loading"
      :data="data"
@@ -122,6 +123,7 @@
        pageSize: 10,
        currentPage: 1,
        total: 0,
        ...this.$store.state.control.changePageSize,
      },
      selectionList: [],
      option: {
@@ -143,6 +145,7 @@
        index: true,
        viewBtn: true,
        dialogClickModal: false,
        ...this.$store.state.control.clearOtherBut,
        column: [
          // {
@@ -270,6 +273,9 @@
      return ids.join(",");
    },
  },
  mounted() {
    this.$store.commit("setWindowSizeHeightAdd");
  },
  methods: {
    rowSave(row, done, loading) {
      adddata(row).then(
@@ -374,7 +380,8 @@
        const data = res.data.data;
        this.page.total = data.total;
        this.data = data.records;
        console.log(this.data, "getLispereexamPayment");
        // console.log(this.data, "getLispereexamPayment");
        this.$store.commit("setWindowSizeHeightAdd");
        this.loading = false;
        // this.selectionClear();
      });
src/views/qualificationExamination/qualificationExamination.vue
@@ -1,13 +1,15 @@
/*
 * @Author: Morpheus
 * @Date: 2021-07-07 17:30:05
 * @Last Modified by: liu
 * @Last Modified time: 2021-11-26 09:53:14
 * menu-name 监管信息
 */
/* * @Author: Morpheus * @Date: 2021-07-07 17:30:05 * @Last Modified by: liu *
@Last Modified time: 2021-11-26 09:53:14 * menu-name 监管信息 */
<template>
  <basic-container class="witerFontColorInput">
  <basic-container
    :class="[
      'witerFontColorInput',
      $store.state.control.screenSize == 1366 ? 'smallSize' : 'normalSize',
      $store.state.control.windowWidth >= 1024 ? 'tooRowSearch1' : '',
    ]"
  >
    <avue-crud
      class="tablesss"
      :option="option"
      :table-loading="loading"
      :data="data"
@@ -67,6 +69,7 @@
        pageSize: 10,
        currentPage: 1,
        total: 0,
        ...this.$store.state.control.changePageSize,
      },
      selectionList: [],
      option: {
@@ -88,12 +91,14 @@
        index: true,
        viewBtn: true,
        dialogClickModal: false,
        ...this.$store.state.control.clearOtherBut,
        column: [
          {
            label: "保安姓名",
            prop: "realName",
            search: true,
            width: 82,
            searchSpan: 4,
            //     hide: true,
            //     editDisplay: false,
@@ -102,7 +107,7 @@
          {
            label: "保安公司",
            prop: "deptName",
            minWidth: 110,
            minWidth: 160,
            overHidden: true,
          },
          {
@@ -169,7 +174,7 @@
          {
            label: "身份证号",
            prop: "cardid",
            width: 139,
            width: 165,
            // type: "select",
            // labelWidth: 120,
            // // display: false,
@@ -192,6 +197,7 @@
          {
            label: "年龄",
            prop: "age",
            width: 65,
            // display: false,
            // labelWidth: 120,
            // width: 200,
@@ -342,6 +348,9 @@
      });
      return ids.join(",");
    },
  },
  mounted() {
    this.$store.commit("setWindowSizeHeightAdd");
  },
  methods: {
    //导出
@@ -543,6 +552,7 @@
        this.data = d;
        // this.data = data.records;
        // console.log(this.data);
        this.$store.commit("setWindowSizeHeightAdd");
        this.loading = false;
        // this.selectionClear();
      });
@@ -595,5 +605,4 @@
};
</script>
<style>
</style>
<style></style>
src/views/qualificationExamination/registrationTrainingQuery.vue
@@ -1,13 +1,14 @@
/*
 * @Author: Morpheus
 * @Date: 2021-07-07 17:30:05
 * @Last Modified by: Morpheus
 * @Last Modified time: 2021-07-10 16:06:14
 * menu-name 报名培训查询
 */
/* * @Author: Morpheus * @Date: 2021-07-07 17:30:05 * @Last Modified by:
Morpheus * @Last Modified time: 2021-07-10 16:06:14 * menu-name 报名培训查询 */
<template>
  <basic-container>
  <basic-container
    :class="[
      $store.state.control.screenSize == 1366 ? 'smallSize' : 'normalSize',
      $store.state.control.windowWidth >= 1024 ? 'tooRowSearch1' : '',
    ]"
  >
    <avue-crud
      class="tablesss"
      :option="option"
      :table-loading="loading"
      :data="data"
@@ -73,6 +74,7 @@
        pageSize: 10,
        currentPage: 1,
        total: 0,
        ...this.$store.state.control.changePageSize,
      },
      selectionList: [],
      option: {
@@ -94,6 +96,7 @@
        index: true,
        viewBtn: true,
        dialogClickModal: false,
        ...this.$store.state.control.clearOtherBut,
        column: [
          // {
@@ -121,7 +124,7 @@
          {
            label: "姓名",
            prop: "realName",
            width: 100,
            width: 78,
            searchLabelWidth: 50,
            rules: [
              {
@@ -259,7 +262,7 @@
                trigger: "blur",
              },
            ],
            width: 160,
            width: 175,
            // search: true,
            // searchSpan: 4,
            // overHidden: true
@@ -445,6 +448,9 @@
      return ids.join(",");
    },
  },
  mounted() {
    this.$store.commit("setWindowSizeHeightAdd");
  },
  methods: {
    rowSave(row, done, loading) {
      adddata(row).then(
@@ -550,9 +556,13 @@
          var sfz = d[k].idCardNo.substring(6, 10);
          d[k]["age"] = this.getyears() - sfz;
          // console.log(this.getyears());
          if (d[k]["sex"] == -1) {
            d[k]["sex"] = "";
          }
        }
        this.data = d;
        console.log(this.data, "getLispereregistrationTrainingQuery");
        // console.log(this.data, "getLispereregistrationTrainingQuery");
        this.$store.commit("setWindowSizeHeightAdd");
        this.loading = false;
        // this.selectionClear();
      });
@@ -605,5 +615,4 @@
};
</script>
<style>
</style>
<style></style>
src/views/qualificationExamination/scoreInquiry.vue
@@ -1,13 +1,15 @@
/*
 * @Author: Morpheus
 * @Date: 2021-07-07 17:30:05
 * @Last Modified by: liu
 * @Last Modified time: 2021-10-22 17:27:19
 * menu-name 监管信息
 */
/* * @Author: Morpheus * @Date: 2021-07-07 17:30:05 * @Last Modified by: liu *
@Last Modified time: 2021-10-22 17:27:19 * menu-name 监管信息 */
<template>
  <basic-container class="witerFontColorInput">
  <basic-container
    :class="[
      'witerFontColorInput',
      $store.state.control.screenSize == 1366 ? 'smallSize' : 'normalSize',
      $store.state.control.windowWidth >= 1024 ? 'tooRowSearch1' : '',
    ]"
  >
    <avue-crud
      class="tablesss"
      :option="option"
      :table-loading="loading"
      :data="data"
@@ -65,6 +67,7 @@
        pageSize: 10,
        currentPage: 1,
        total: 0,
        ...this.$store.state.control.changePageSize,
      },
      selectionList: [],
      option: {
@@ -84,11 +87,13 @@
        index: true,
        viewBtn: true,
        dialogClickModal: false,
        ...this.$store.state.control.clearOtherBut,
        column: [
          {
            label: "姓名",
            prop: "securityName",
            width: 70,
            searchSpan: 3,
            search: true,
          },
@@ -109,6 +114,7 @@
            valueFormat: "yyyy-MM-dd",
            labelWidth: 120,
            // width: 140,
            overHidden: true,
            rules: [
              {
@@ -155,18 +161,21 @@
          {
            label: "理论成绩",
            prop: "theoryGrade",
            width: 85,
            // slot: true,
            // display: false,
          },
          {
            label: "实操成绩",
            prop: "learnGrade",
            width: 85,
            // slot: true,
            // display: false,
          },
          {
            label: "总成绩",
            prop: "allGrade",
            width: 75,
            // slot: true,
            // display: false,
          },
@@ -223,6 +232,7 @@
          {
            label: "是否发证",
            prop: "isFazheng",
            width: 90,
          },
        ],
      },
@@ -255,6 +265,9 @@
      });
      return ids.join(",");
    },
  },
  mounted() {
    this.$store.commit("setWindowSizeHeightAdd");
  },
  methods: {
    //导出
@@ -433,6 +446,7 @@
            }
          }
        }
        this.$store.commit("setWindowSizeHeightAdd");
        this.loading = false;
        // for (var k in d) {
        //   if (d[k].qualified == 0) {
@@ -497,5 +511,4 @@
};
</script>
<style>
</style>
<style></style>
src/views/qualificationExamination/signQualificationExamination.vue
@@ -1,13 +1,14 @@
/*
 * @Author: Morpheus
 * @Date: 2021-07-07 17:30:05
 * @Last Modified by: Morpheus
 * @Last Modified time: 2021-07-10 16:06:14
 * menu-name 监管信息
 */
/* * @Author: Morpheus * @Date: 2021-07-07 17:30:05 * @Last Modified by:
Morpheus * @Last Modified time: 2021-07-10 16:06:14 * menu-name 监管信息 */
<template>
  <basic-container>
  <basic-container
    :class="[
      $store.state.control.screenSize == 1366 ? 'smallSize' : 'normalSize',
      $store.state.control.windowWidth >= 1024 ? 'tooRowSearch1' : '',
    ]"
  >
    <avue-crud
      class="tablesss"
      :option="option"
      :table-loading="loading"
      :data="data"
@@ -47,6 +48,7 @@
        pageSize: 10,
        currentPage: 1,
        total: 0,
        ...this.$store.state.control.changePageSize,
      },
      selectionList: [],
      option: {
@@ -66,11 +68,13 @@
        index: true,
        viewBtn: true,
        dialogClickModal: false,
        ...this.$store.state.control.clearOtherBut,
        column: [
          {
            label: "保安姓名",
            prop: "realName",
            width: 85,
          },
          {
            label: "保安公司",
@@ -102,7 +106,7 @@
            // search: true,
            searchSpan: 4,
            // display: false,·
            width: 180,
            width: 120,
          },
          // {
          //   label: "考试时间",
@@ -214,6 +218,9 @@
      return ids.join(",");
    },
  },
  mounted() {
    this.$store.commit("setWindowSizeHeightAdd");
  },
  methods: {
    rowSave(row, done, loading) {
      adddata(row).then(
@@ -318,6 +325,7 @@
          }
        }
        this.data = data.records;
        this.$store.commit("setWindowSizeHeightAdd");
        this.loading = false;
        // this.selectionClear();
      });
@@ -376,5 +384,4 @@
};
</script>
<style>
</style>
<style></style>
src/views/resource/attach.vue
@@ -1,78 +1,88 @@
<template>
    <basic-container>
        <avue-crud :option="option"
                   :table-loading="loading"
                   :data="data"
                   :page.sync="page"
                   :permission="permissionList"
                   :before-open="beforeOpen"
                   v-model="form"
                   ref="crud"
                   @row-del="rowDel"
                   @search-change="searchChange"
                   @search-reset="searchReset"
                   @selection-change="selectionChange"
                   @current-change="currentChange"
                   @size-change="sizeChange"
                   @refresh-change="refreshChange"
                   @on-load="onLoad">
            <template slot="menuLeft">
                <!--        <el-button type="primary"-->
                <!--                   size="small"-->
                <!--                   plain-->
                <!--                   icon="el-icon-upload2"-->
                <!--                   @click="handleUpload">上 传-->
                <!--        </el-button>-->
                <!--        <el-button type="danger"-->
                <!--                   size="small"-->
                <!--                   icon="el-icon-delete"-->
                <!--                   plain-->
                <!--                   @click="handleDelete">删 除-->
                <!--        </el-button>-->
            </template>
            <template slot-scope="scope"
                      slot="menu">
                <el-button type="text"
                           icon="el-icon-download"
                           size="small"
                           @click="handleDownload(scope.row)">下载
                </el-button>
                <el-button type="text"
                           icon="el-icon-picture-outline-round"
                           size="small"
                           v-show="!fileFormat(scope.row)"
                           @click="seeImages(scope.row)">预览
                </el-button>
            </template>
            <template slot-scope="{ row }"
                      slot="attachSize">
                <el-tag>{{ `${row.attachSize} KB` }}</el-tag>
            </template>
        </avue-crud>
        <el-dialog title="附件管理"
                   append-to-body
                   :visible.sync="attachBox"
                   width="555px">
            <avue-form ref="form"
                       :option="attachOption"
                       v-model="attachForm"
                       :upload-after="uploadAfter">
            </avue-form>
        </el-dialog>
  <basic-container
    :class="[
      $store.state.control.screenSize == 1366 ? 'smallSize' : 'normalSize',
      $store.state.control.windowWidth >= 1024 ? 'tooRowSearch1' : '',
    ]"
  >
    <avue-crud
      :option="option"
      class="tablesss"
      :table-loading="loading"
      :data="data"
      :page.sync="page"
      :permission="permissionList"
      :before-open="beforeOpen"
      v-model="form"
      ref="crud"
      @row-del="rowDel"
      @search-change="searchChange"
      @search-reset="searchReset"
      @selection-change="selectionChange"
      @current-change="currentChange"
      @size-change="sizeChange"
      @refresh-change="refreshChange"
      @on-load="onLoad"
    >
      <template slot="menuLeft">
        <!--        <el-button type="primary"-->
        <!--                   size="small"-->
        <!--                   plain-->
        <!--                   icon="el-icon-upload2"-->
        <!--                   @click="handleUpload">上 传-->
        <!--        </el-button>-->
        <!--        <el-button type="danger"-->
        <!--                   size="small"-->
        <!--                   icon="el-icon-delete"-->
        <!--                   plain-->
        <!--                   @click="handleDelete">删 除-->
        <!--        </el-button>-->
      </template>
      <template slot-scope="scope" slot="menu">
        <el-button
          type="text"
          icon="el-icon-download"
          size="small"
          @click="handleDownload(scope.row)"
          >下载
        </el-button>
        <el-button
          type="text"
          icon="el-icon-picture-outline-round"
          size="small"
          v-show="!fileFormat(scope.row)"
          @click="seeImages(scope.row)"
          >预览
        </el-button>
      </template>
      <template slot-scope="{ row }" slot="attachSize">
        <el-tag>{{ `${row.attachSize} KB` }}</el-tag>
      </template>
    </avue-crud>
    <el-dialog
      title="附件管理"
      append-to-body
      :visible.sync="attachBox"
      width="555px"
    >
      <avue-form
        ref="form"
        :option="attachOption"
        v-model="attachForm"
        :upload-after="uploadAfter"
      >
      </avue-form>
    </el-dialog>
        <el-dialog title="预览"
                   append-to-body
                   :visible.sync="imgSee"
                   class="see-img-box">
            <div class="img"
                 :style="{background: imgUrl}">
            </div>
        </el-dialog>
    </basic-container>
    <el-dialog
      title="预览"
      append-to-body
      :visible.sync="imgSee"
      class="see-img-box"
    >
      <div class="img" :style="{ background: imgUrl }"></div>
    </el-dialog>
  </basic-container>
</template>
<script>
@@ -81,325 +91,343 @@
import ElImageViewer from "element-ui/packages/image/src/image-viewer";
export default {
    components: { ElImageViewer },
    data () {
        return {
            form: {},
            query: {},
            loading: true,
            page: {
                pageSize: 10,
                currentPage: 1,
                total: 0,
  components: { ElImageViewer },
  data() {
    return {
      form: {},
      query: {},
      loading: true,
      page: {
        pageSize: 10,
        currentPage: 1,
        total: 0,
        ...this.$store.state.control.changePageSize,
      },
      attachBox: false,
      selectionList: [],
      option: {
        height: "auto",
        calcHeight: 30,
        tip: false,
        searchShow: true,
        searchMenuSpan: 6,
        searchShowBtn: false,
        headerAlign: "center",
        border: true,
        index: true,
        viewBtn: true,
        selection: true,
        dialogClickModal: false,
        ...this.$store.state.control.clearOtherBut,
        column: [
          {
            label: "附件地址",
            prop: "link",
            overHidden: true,
            rules: [
              {
                required: true,
                message: "请输入附件地址",
                trigger: "blur",
              },
            ],
          },
          {
            label: "附件域名",
            prop: "domain",
            overHidden: true,
            search: true,
            rules: [
              {
                required: true,
                message: "请输入附件域名",
                trigger: "blur",
              },
            ],
          },
          {
            label: "附件名称",
            prop: "name",
            overHidden: true,
            search: true,
            rules: [
              {
                required: true,
                message: "请输入附件名称",
                trigger: "blur",
              },
            ],
          },
          {
            label: "附件原名",
            prop: "originalName",
            overHidden: true,
            search: true,
            rules: [
              {
                required: true,
                message: "请输入附件原名",
                trigger: "blur",
              },
            ],
          },
          {
            label: "附件拓展名",
            prop: "extension",
            rules: [
              {
                required: true,
                message: "请输入附件拓展名",
                trigger: "blur",
              },
            ],
          },
          {
            label: "附件大小",
            prop: "attachSize",
            slot: true,
            rules: [
              {
                required: true,
                message: "请输入附件大小",
                trigger: "blur",
              },
            ],
          },
          {
            label: "所属机构",
            prop: "deptid",
            type: "select",
            dicUrl: "/api/blade-system/dept/selectIn",
            props: {
              label: "deptname",
              value: "deptid",
            },
            attachBox: false,
            selectionList: [],
            option: {
                height: "auto",
                calcHeight: 30,
                tip: false,
                searchShow: true,
                searchMenuSpan: 6,
                searchShowBtn: false,
                headerAlign: "center",
                border: true,
                index: true,
                viewBtn: true,
                selection: true,
                dialogClickModal: false,
                column: [
                    {
                        label: "附件地址",
                        prop: "link",
                        rules: [
                            {
                                required: true,
                                message: "请输入附件地址",
                                trigger: "blur",
                            },
                        ],
                    },
                    {
                        label: "附件域名",
                        prop: "domain",
                        search: true,
                        rules: [
                            {
                                required: true,
                                message: "请输入附件域名",
                                trigger: "blur",
                            },
                        ],
                    },
                    {
                        label: "附件名称",
                        prop: "name",
                        search: true,
                        rules: [
                            {
                                required: true,
                                message: "请输入附件名称",
                                trigger: "blur",
                            },
                        ],
                    },
                    {
                        label: "附件原名",
                        prop: "originalName",
                        search: true,
                        rules: [
                            {
                                required: true,
                                message: "请输入附件原名",
                                trigger: "blur",
                            },
                        ],
                    },
                    {
                        label: "附件拓展名",
                        prop: "extension",
                        rules: [
                            {
                                required: true,
                                message: "请输入附件拓展名",
                                trigger: "blur",
                            },
                        ],
                    },
                    {
                        label: "附件大小",
                        prop: "attachSize",
                        slot: true,
                        rules: [
                            {
                                required: true,
                                message: "请输入附件大小",
                                trigger: "blur",
                            },
                        ],
                    },
                    {
                        label: "所属机构",
                        prop: "deptid",
                        type: "select",
                        dicUrl: "/api/blade-system/dept/selectIn",
                        props: {
                            label: "deptname",
                            value: "deptid",
                        },
                    },
                    {
                        label: "类型",
                        prop: "type",
                        addDisplay: false,
                        width: 80,
                        type: "select",
                        dicData: [
                            {
                                label: "许可审批",
                                value: "0",
                            },
                            {
                                label: "备案",
                                value: "1",
                            },
                            {
                                label: "撤销",
                                value: "2",
                            },
                            {
                                label: "跨区备案",
                                value: "3",
                            },
                        ],
                    },
                ],
          },
          {
            label: "类型",
            prop: "type",
            addDisplay: false,
            width: 95,
            type: "select",
            dicData: [
              {
                label: "许可审批",
                value: "0",
              },
              {
                label: "备案",
                value: "1",
              },
              {
                label: "撤销",
                value: "2",
              },
              {
                label: "跨区备案",
                value: "3",
              },
            ],
          },
        ],
      },
      data: [],
      attachForm: {},
      attachOption: {
        submitBtn: false,
        emptyBtn: false,
        column: [
          {
            label: "附件上传",
            prop: "attachFile",
            type: "upload",
            drag: true,
            loadText: "模板上传中,请稍等",
            span: 24,
            propsHttp: {
              res: "data",
            },
            data: [],
            attachForm: {},
            attachOption: {
                submitBtn: false,
                emptyBtn: false,
                column: [
                    {
                        label: "附件上传",
                        prop: "attachFile",
                        type: "upload",
                        drag: true,
                        loadText: "模板上传中,请稍等",
                        span: 24,
                        propsHttp: {
                            res: "data",
                        },
                        action: "/api/blade-resource/oss/endpoint/put-file-attach?deptid=",
                    },
                ],
            },
            action: "/api/blade-resource/oss/endpoint/put-file-attach?deptid=",
          },
        ],
      },
            imgSee: false,
            imgUrl: ""
        };
      imgSee: false,
      imgUrl: "",
    };
  },
  created() {
    var flag = false,
      i = 0,
      ind = null;
    this.$store.state.tags.tagList.forEach((item, index) => {
      if (item.label == "附件上传") {
        if (flag == false) {
          ind = index;
          flag = true;
        }
        i++;
      }
    });
    if (i > 1) {
      this.$store.state.tags.tagList.splice(ind, 1);
    }
    var deptid = this.$route.query.deptid;
    var type = this.$route.query.type;
    this.attachOption.column[0].action += deptid + "&type=" + type;
  },
  computed: {
    ...mapGetters(["permission"]),
    permissionList() {
      return {
        addBtn: false,
        editBtn: false,
        viewBtn: false,
        delBtn: this.vaildData(this.permission.attach_delete, false),
      };
    },
    created () {
        var flag = false,
            i = 0,
            ind = null;
        this.$store.state.tags.tagList.forEach((item, index) => {
            if (item.label == "附件上传") {
                if (flag == false) {
                    ind = index;
                    flag = true;
                }
                i++;
            }
    ids() {
      let ids = [];
      this.selectionList.forEach((ele) => {
        ids.push(ele.id);
      });
      return ids.join(",");
    },
  },
  mounted() {
    this.$store.commit("setWindowSizeHeightAdd");
  },
  methods: {
    handleUpload() {
      this.attachBox = true;
    },
    uploadAfter(res, done, loading, column) {
      window.console.log(column);
      this.attachBox = false;
      this.refreshChange();
      done();
    },
    handleDownload(row) {
      window.open(`${row.link}`);
    },
    rowDel(row) {
      this.$confirm("确定将选择数据删除?", {
        confirmButtonText: "确定",
        cancelButtonText: "取消",
        type: "warning",
      })
        .then(() => {
          return remove(row.id);
        })
        .then(() => {
          this.onLoad(this.page);
          this.$message({
            type: "success",
            message: "操作成功!",
          });
        });
        if (i > 1) {
            this.$store.state.tags.tagList.splice(ind, 1);
        }
        var deptid = this.$route.query.deptid;
        var type = this.$route.query.type;
        this.attachOption.column[0].action += deptid + "&type=" + type;
    },
    computed: {
        ...mapGetters(["permission"]),
        permissionList () {
            return {
                addBtn: false,
                editBtn: false,
                viewBtn: false,
                delBtn: this.vaildData(this.permission.attach_delete, false),
            };
        },
        ids () {
            let ids = [];
            this.selectionList.forEach((ele) => {
                ids.push(ele.id);
            });
            return ids.join(",");
        },
    handleDelete() {
      if (this.selectionList.length === 0) {
        this.$message.warning("请选择至少一条数据");
        return;
      }
      this.$confirm("确定将选择数据删除?", {
        confirmButtonText: "确定",
        cancelButtonText: "取消",
        type: "warning",
      })
        .then(() => {
          return remove(this.ids);
        })
        .then(() => {
          this.onLoad(this.page);
          this.$message({
            type: "success",
            message: "操作成功!",
          });
          this.$refs.crud.toggleSelection();
        });
    },
    methods: {
        handleUpload () {
            this.attachBox = true;
        },
        uploadAfter (res, done, loading, column) {
            window.console.log(column);
            this.attachBox = false;
            this.refreshChange();
            done();
        },
        handleDownload (row) {
            window.open(`${row.link}`);
        },
        rowDel (row) {
            this.$confirm("确定将选择数据删除?", {
                confirmButtonText: "确定",
                cancelButtonText: "取消",
                type: "warning",
            })
                .then(() => {
                    return remove(row.id);
                })
                .then(() => {
                    this.onLoad(this.page);
                    this.$message({
                        type: "success",
                        message: "操作成功!",
                    });
                });
        },
        handleDelete () {
            if (this.selectionList.length === 0) {
                this.$message.warning("请选择至少一条数据");
                return;
            }
            this.$confirm("确定将选择数据删除?", {
                confirmButtonText: "确定",
                cancelButtonText: "取消",
                type: "warning",
            })
                .then(() => {
                    return remove(this.ids);
                })
                .then(() => {
                    this.onLoad(this.page);
                    this.$message({
                        type: "success",
                        message: "操作成功!",
                    });
                    this.$refs.crud.toggleSelection();
                });
        },
        beforeOpen (done, type) {
            if (["edit", "view"].includes(type)) {
                getDetail(this.form.id).then((res) => {
                    this.form = res.data.data;
                });
            }
            done();
        },
        searchReset () {
            this.query = {};
            this.onLoad(this.page);
        },
        searchChange (params, done) {
            this.query = params;
            this.page.currentPage = 1;
            this.onLoad(this.page, params);
            done();
        },
        selectionChange (list) {
            this.selectionList = list;
        },
        selectionClear () {
            this.selectionList = [];
            this.$refs.crud.toggleSelection();
        },
        currentChange (currentPage) {
            this.page.currentPage = currentPage;
        },
        sizeChange (pageSize) {
            this.page.pageSize = pageSize;
        },
        refreshChange () {
            this.onLoad(this.page, this.query);
        },
        onLoad (page, params = {}) {
            this.loading = true;
            getList(
                page.currentPage,
                page.pageSize,
                Object.assign(params, this.query),
                this.$route.query.deptid,
                this.$route.query.type
            ).then((res) => {
                const data = res.data.data;
                this.page.total = data.total;
                this.data = data.records;
                this.loading = false;
                this.selectionClear();
            });
        },
        seeImages (row) {
            this.imgUrl = "";
            this.imgUrl = "url(" + row.link + ") center center / contain no-repeat";
            this.imgSee = true;
        },
        fileFormat (row) {
            var index = row.link.lastIndexOf(".");
            var ext = row.link.substr(index + 1);
            return [
                'png', 'jpg', 'jpeg', 'bmp', 'gif', 'webp', 'psd', 'svg', 'tiff'].
                indexOf(ext.toLowerCase()) == -1;
        }
    beforeOpen(done, type) {
      if (["edit", "view"].includes(type)) {
        getDetail(this.form.id).then((res) => {
          this.form = res.data.data;
        });
      }
      done();
    },
    searchReset() {
      this.query = {};
      this.onLoad(this.page);
    },
    searchChange(params, done) {
      this.query = params;
      this.page.currentPage = 1;
      this.onLoad(this.page, params);
      done();
    },
    selectionChange(list) {
      this.selectionList = list;
    },
    selectionClear() {
      this.selectionList = [];
      this.$refs.crud.toggleSelection();
    },
    currentChange(currentPage) {
      this.page.currentPage = currentPage;
    },
    sizeChange(pageSize) {
      this.page.pageSize = pageSize;
    },
    refreshChange() {
      this.onLoad(this.page, this.query);
    },
    onLoad(page, params = {}) {
      this.loading = true;
      getList(
        page.currentPage,
        page.pageSize,
        Object.assign(params, this.query),
        this.$route.query.deptid,
        this.$route.query.type
      ).then((res) => {
        const data = res.data.data;
        this.page.total = data.total;
        this.data = data.records;
        this.$store.commit("setWindowSizeHeightAdd");
        this.loading = false;
        this.selectionClear();
      });
    },
    seeImages(row) {
      this.imgUrl = "";
      this.imgUrl = "url(" + row.link + ") center center / contain no-repeat";
      this.imgSee = true;
    },
    fileFormat(row) {
      var index = row.link.lastIndexOf(".");
      var ext = row.link.substr(index + 1);
      return (
        [
          "png",
          "jpg",
          "jpeg",
          "bmp",
          "gif",
          "webp",
          "psd",
          "svg",
          "tiff",
        ].indexOf(ext.toLowerCase()) == -1
      );
    },
  },
};
</script>
<style>
</style>
<style></style>
src/views/resource/oss.vue
@@ -1,6 +1,13 @@
<template>
  <basic-container class="oos">
  <basic-container
    :class="[
      'oos',
      $store.state.control.screenSize == 1366 ? 'smallSize' : 'normalSize',
      $store.state.control.windowWidth >= 1024 ? 'tooRowSearch1' : '',
    ]"
  >
    <avue-crud
      class="tablesss"
      :option="option"
      :table-loading="loading"
      :data="data"
@@ -95,6 +102,7 @@
        pageSize: 10,
        currentPage: 1,
        total: 0,
        ...this.$store.state.control.changePageSize,
      },
      selectionList: [],
      option: {
@@ -108,10 +116,11 @@
        searchShowBtn: false,
        viewBtn: true,
        selection: true,
        menuWidth: 400,
        menuWidth: 430,
        labelWidth: 100,
        dialogWidth: 880,
        dialogClickModal: false,
        ...this.$store.state.control.clearOtherBut,
        column: [
          {
            label: "分类",
@@ -155,6 +164,7 @@
          {
            label: "资源地址",
            prop: "endpoint",
            overHidden: true,
            span: 24,
            rules: [
              {
@@ -303,6 +313,9 @@
      return ids.join(",");
    },
  },
  mounted() {
    this.$store.commit("setWindowSizeHeightAdd");
  },
  methods: {
    rowSave(row, done, loading) {
      add(row).then(
@@ -449,6 +462,7 @@
        const data = res.data.data;
        this.page.total = data.total;
        this.data = data.records;
        this.$store.commit("setWindowSizeHeightAdd");
        this.loading = false;
        this.selectionClear();
      });
src/views/securityCompany/column.js
@@ -1,170 +1,167 @@
export var companyColimn = [
    {
        label: "统一社会信用代码",
        prop: "creditcode",
        width: 140,
        hide: true,
export var companyColimn = [{
    label: "统一社会信用代码",
    prop: "creditcode",
    width: 140,
    hide: true,
        labelWidth: 160,
        // hide: true,
        // editDisplay: false,
        // addDisplay: false
    },
    labelWidth: 160,
    // hide: true,
    // editDisplay: false,
    // addDisplay: false
  },
    {
        label: "企业名称",
        prop: "enterprisename",
        search: true,
        width: 260,
        searchSpan: 4,
        labelWidth: 160,
        // width: 130,
        overHidden: true
    },
  {
    label: "企业名称",
    prop: "enterprisename",
    search: true,
    minWidth: 150,
    searchSpan: 4,
    labelWidth: 160,
    // width: 130,
    overHidden: true
  },
    {
        label: "企业类型",
        prop: "stats",
        type: "tree",
        hide: true,
        labelWidth: 160,
        dicUrl: "/api/blade-system/dict-biz/dictionary?code=stats",
        props: {
            label: "dictValue",
            value: "dictKey"
        },
        width: 130,
        rules: [
            {
                required: true,
                message: "请选择企业类型",
                trigger: "click",
            },
        ],
  {
    label: "企业类型",
    prop: "stats",
    type: "tree",
    hide: true,
    labelWidth: 160,
    dicUrl: "/api/blade-system/dict-biz/dictionary?code=stats",
    props: {
      label: "dictValue",
      value: "dictKey"
    },
    {
        label: "法定代表人",
        labelWidth: 160,
        prop: "representative",
        width: 110,
        search: true,
        searchSpan: 4,
        searchLabelWidth: 100
    },
    {
        label: "法定代表人电话",
        labelWidth: 160,
        prop: "representativecell",
        width: 120,
        // search: true,
        searchSpan: 4,
        searchLabelWidth: 100
    },
    width: 130,
    rules: [{
      required: true,
      message: "请选择企业类型",
      trigger: "click",
    }, ],
  },
  {
    label: "法定代表人",
    labelWidth: 160,
    prop: "representative",
    minWidth: 65,
    search: true,
    searchSpan: 4,
    searchLabelWidth: 100
  },
  {
    label: "法定代表人电话",
    labelWidth: 160,
    prop: "representativecell",
    width: 120,
    // search: true,
    searchSpan: 4,
    searchLabelWidth: 100
  },
    {
        label: "保安人数",
        labelWidth: 160,
        prop: "znum",
        width: 73,
        // search: true,
        searchSpan: 4,
        searchLabelWidth: 100
    },
    {
        label: "派遣人数",
        labelWidth: 160,
        prop: "pnum",
        width: 73,
        // search: true,
        searchSpan: 4,
        searchLabelWidth: 100
    },
    {
        label: "持证人数",
        labelWidth: 160,
        prop: "cnum",
        width: 73,
        // search: true,
        searchSpan: 4,
        searchLabelWidth: 100
    },
    {
        label: "注册时间",
        prop: "establishtime",
        labelWidth: 160,
        width: 130,
        overHidden: true,
        type: "date",
        format: "yyyy-MM-dd",
        valueFormat: "timestamp",
  {
    label: "保安人数",
    labelWidth: 160,
    prop: "znum",
    width: 73,
    // search: true,
    searchSpan: 4,
    searchLabelWidth: 100
  },
  {
    label: "派遣人数",
    labelWidth: 160,
    prop: "pnum",
    width: 73,
    // search: true,
    searchSpan: 4,
    searchLabelWidth: 100
  },
  {
    label: "持证人数",
    labelWidth: 160,
    prop: "cnum",
    width: 73,
    // search: true,
    searchSpan: 4,
    searchLabelWidth: 100
  },
  {
    label: "注册时间",
    prop: "establishtime",
    labelWidth: 160,
    width: 90,
    overHidden: true,
    type: "date",
    format: "yyyy-MM-dd",
    valueFormat: "timestamp",
    },
    {
        label: "注册资本",
        prop: "registeredcapital",
        hide: true,
        labelWidth: 160,
        // search: true,
        width: 80,
    },
    {
        label: "联系人",
        prop: "contacts",
        labelWidth: 160,
        width: 85,
    }, {
        label: "联系电话",
        prop: "contactscell",
        labelWidth: 160,
        width: 95,
    },
  },
  {
    label: "注册资本",
    prop: "registeredcapital",
    hide: true,
    labelWidth: 160,
    // search: true,
    width: 80,
  },
  {
    label: "联系人",
    prop: "contacts",
    labelWidth: 160,
    width: 75,
  }, {
    label: "联系电话",
    prop: "contactscell",
    labelWidth: 160,
    width: 110,
  },
    {
        label: "注册地址",
        prop: "address",
        labelWidth: 160,
        // search: true,
        hide: true,
  {
    label: "注册地址",
    prop: "address",
    labelWidth: 160,
    // search: true,
    hide: true,
  },
  {
    label: "经营范围",
    prop: "business",
    // search: true,
    labelWidth: 160,
    hide: true,
    // width: 110,
    overHidden: true
  },
  {
    label: "所属辖区",
    prop: "jurisdiction",
    labelWidth: 160,
    // width: 110,
    type: "tree",
    dicUrl: "/api/jurisdiction/lazy-tree",
    props: {
      label: "title",
      value: "id",
    },
    {
        label: "经营范围",
        prop: "business",
        // search: true,
        labelWidth: 160,
        hide: true,
        // width: 110,
        overHidden: true
    },
    {
        label: "所属辖区",
        prop: "jurisdiction",
        labelWidth: 160,
        // width: 110,
        type: "tree",
        dicUrl: "/api/jurisdiction/lazy-tree",
        props: {
            label: "title",
            value: "id",
        },
        // search: true,
        overHidden: true
    },
    {
        label: "登记机关",
        prop: "registration",
        // search: true,
        labelWidth: 160,
        // width: 88,
        overHidden: true,
        hide: true,
    },
    // search: true,
    overHidden: true
  },
  {
    label: "登记机关",
    prop: "registration",
    // search: true,
    labelWidth: 160,
    // width: 88,
    overHidden: true,
    hide: true,
  },
    {
        label: "所属行业",
        prop: "industry",
        labelWidth: 160,
        hide: true,
        // search: true,
        // width: 88,
    },
]
  {
    label: "所属行业",
    prop: "industry",
    labelWidth: 160,
    hide: true,
    // search: true,
    // width: 88,
  },
]
src/views/securityCompany/confess.vue
@@ -1,13 +1,14 @@
/*
 * @Author: Morpheus
 * @Date: 2021-07-07 17:30:05
 * @Last Modified by: liu
 * @Last Modified time: 2021-09-18 09:14:24
 * menu-name 保安服务公司查询
 */
/* * @Author: Morpheus * @Date: 2021-07-07 17:30:05 * @Last Modified by: liu *
@Last Modified time: 2021-09-18 09:14:24 * menu-name 保安服务公司查询 */
<template>
  <basic-container>
  <basic-container
    :class="[
      $store.state.control.screenSize == 1366 ? 'smallSize' : 'normalSize',
      $store.state.control.windowWidth >= 1024 ? 'tooRowSearch1' : '',
    ]"
  >
    <avue-crud
      class="tablesss"
      :option="option"
      :table-loading="loading"
      :data="data"
@@ -174,6 +175,7 @@
        pageSize: 10,
        currentPage: 1,
        total: 0,
        ...this.$store.state.control.changePageSize,
      },
      selectionList: [],
      option: {
@@ -190,13 +192,14 @@
        calcHeight: 30,
        tip: false,
        searchShow: true,
        menuWidth: 160,
        menuWidth: 175,
        searchMenuSpan: 6,
        index: true,
        viewBtn: true,
        dialogClickModal: false,
        column: companyColimn,
        ...this.$store.state.control.clearOtherBut,
        group: [
          {
            label: "详细信息",
@@ -244,6 +247,9 @@
      });
      return ids.join(",");
    },
  },
  mounted() {
    this.$store.commit("setWindowSizeHeightAdd");
  },
  methods: {
    rowClickSelf(val) {
@@ -403,6 +409,7 @@
        this.data = data.records;
        // console.log(this.data);
        this.loading = false;
        this.$store.commit("setWindowSizeHeightAdd");
        this.selectionClear();
      });
    },
@@ -422,5 +429,4 @@
};
</script>
<style lang="scss">
</style>
<style lang="scss"></style>
src/views/securityCompany/dispatch.vue
@@ -1,13 +1,14 @@
/*
 * @Author: Morpheus
 * @Date: 2021-07-07 17:30:05
 * @Last Modified by: Morpheus
 * @Last Modified time: 2021-11-09 20:48:40
 * menu-name 派遣公司查询
 */
/* * @Author: Morpheus * @Date: 2021-07-07 17:30:05 * @Last Modified by:
Morpheus * @Last Modified time: 2021-11-09 20:48:40 * menu-name 派遣公司查询 */
<template>
  <basic-container>
  <basic-container
    :class="[
      $store.state.control.screenSize == 1366 ? 'smallSize' : 'normalSize',
      $store.state.control.windowWidth >= 1024 ? 'tooRowSearch1' : '',
    ]"
  >
    <avue-crud
      class="tablesss"
      :option="option"
      :table-loading="loading"
      :data="data"
@@ -54,6 +55,7 @@
        pageSize: 10,
        currentPage: 1,
        total: 0,
        ...this.$store.state.control.changePageSize,
      },
      selectionList: [],
      option: {
@@ -74,6 +76,7 @@
        searchShowBtn: false,
        viewBtn: true,
        dialogClickModal: false,
        ...this.$store.state.control.clearOtherBut,
        column: [
          {
@@ -165,6 +168,9 @@
      });
      return ids.join(",");
    },
  },
  mounted() {
    this.$store.commit("setWindowSizeHeightAdd");
  },
  methods: {
    rowSave(row, done, loading) {
@@ -261,6 +267,7 @@
        this.page.total = data.total;
        this.data = data.records;
        this.loading = false;
        this.$store.commit("setWindowSizeHeightAdd");
        this.selectionClear();
      });
    },
@@ -279,5 +286,4 @@
};
</script>
<style>
</style>
<style></style>
src/views/securityCompany/regulatoryInformation.vue
@@ -1,13 +1,15 @@
/*
 * @Author: Morpheus
 * @Date: 2021-07-07 17:30:05
 * @Last Modified by: liu
 * @Last Modified time: 2021-09-18 09:14:31
 * menu-name 监管信息
 */
/* * @Author: Morpheus * @Date: 2021-07-07 17:30:05 * @Last Modified by: liu *
@Last Modified time: 2021-09-18 09:14:31 * menu-name 监管信息 */
<template>
  <basic-container class="regulatoryInformation">
  <basic-container
    :class="[
      'regulatoryInformation',
      $store.state.control.screenSize == 1366 ? 'smallSize' : 'normalSize',
      $store.state.control.windowWidth >= 1024 ? 'tooRowSearch1' : '',
    ]"
  >
    <avue-crud
      class="tablesss"
      :option="option"
      :table-loading="loading"
      :data="data"
@@ -26,6 +28,15 @@
      @refresh-change="refreshChange"
      @on-load="onLoad"
    >
      <template slot-scope="{ row }" slot="deptid">
        <!-- <el-tag
          class="rowClickSelf"
          title="点击查看所属公司情况"
          @click="rowClickSelf(row.deptId)"
          >{{ row.$deptId }}</el-tag
        > -->
        {{ row.$deptid }}
      </template>
    </avue-crud>
  </basic-container>
</template>
@@ -84,6 +95,7 @@
        pageSize: 10,
        currentPage: 1,
        total: 0,
        ...this.$store.state.control.changePageSize,
      },
      selectionList: [],
      option: {
@@ -100,11 +112,13 @@
        calcHeight: 30,
        tip: false,
        searchShow: true,
        menuWidth: 210,
        searchMenuSpan: 6,
        searchShowBtn: false,
        index: true,
        viewBtn: true,
        dialogClickModal: false,
        ...this.$store.state.control.clearOtherBut,
        column: [
          {
@@ -120,6 +134,7 @@
              value: "id",
            },
            search: true,
            slot: true,
            overHidden: true,
            type: "select",
            rules: [
@@ -174,7 +189,7 @@
            // search: true,
            searchSpan: 4,
            // display: false,
            width: 180,
            width: 120,
          },
          {
@@ -240,6 +255,9 @@
      });
      return ids.join(",");
    },
  },
  mounted() {
    this.$store.commit("setWindowSizeHeightAdd");
  },
  methods: {
    rowSave(row, done, loading) {
@@ -338,7 +356,8 @@
        this.page.total = data.total;
        this.data = data.records;
        this.loading = false;
        // this.selectionClear();
        this.$store.commit("setWindowSizeHeightAdd");
        this.selectionClear();
      });
    },
@@ -356,5 +375,4 @@
};
</script>
<style>
</style>
<style></style>
src/views/securityCompany/security.vue
@@ -1,13 +1,14 @@
/*
 * @Author: Morpheus
 * @Date: 2021-07-07 17:30:05
 * @Last Modified by: liu
 * @Last Modified time: 2021-09-18 09:14:42
 * menu-name 保安服务公司查询
 */
/* * @Author: Morpheus * @Date: 2021-07-07 17:30:05 * @Last Modified by: liu *
@Last Modified time: 2021-09-18 09:14:42 * menu-name 保安服务公司查询 */
<template>
  <basic-container>
  <basic-container
    :class="[
      $store.state.control.screenSize == 1366 ? 'smallSize' : 'normalSize',
      $store.state.control.windowWidth >= 1024 ? 'tooRowSearch1' : '',
    ]"
  >
    <avue-crud
      class="tablesss"
      :option="option"
      :table-loading="loading"
      :data="data"
@@ -181,6 +182,7 @@
        pageSize: 10,
        currentPage: 1,
        total: 0,
        ...this.$store.state.control.changePageSize,
      },
      selectionList: [],
      option: {
@@ -197,13 +199,14 @@
        calcHeight: 30,
        tip: false,
        searchShow: true,
        menuWidth: 160,
        menuWidth: 175,
        searchMenuSpan: 6,
        index: true,
        viewBtn: true,
        dialogClickModal: false,
        column: companyColimn,
        ...this.$store.state.control.clearOtherBut,
        group: [
          {
            label: "详细信息",
@@ -251,6 +254,9 @@
      });
      return ids.join(",");
    },
  },
  mounted() {
    this.$store.commit("setWindowSizeHeightAdd");
  },
  methods: {
    rowClickSelf(val) {
@@ -410,6 +416,7 @@
        this.data = data.records;
        // console.log(this.data);
        this.loading = false;
        this.$store.commit("setWindowSizeHeightAdd");
        this.selectionClear();
      });
    },
@@ -429,5 +436,4 @@
};
</script>
<style lang="scss">
</style>
<style lang="scss"></style>
src/views/securityCompany/securityCrossRegion.vue
@@ -1,13 +1,14 @@
/*
 * @Author: Morpheus
 * @Date: 2021-07-07 17:30:05
 * @Last Modified by: liu
 * @Last Modified time: 2021-09-18 09:14:43
 * menu-name 保安服务公司查询
 */
/* * @Author: Morpheus * @Date: 2021-07-07 17:30:05 * @Last Modified by: liu *
@Last Modified time: 2021-09-18 09:14:43 * menu-name 保安服务公司查询 */
<template>
  <basic-container>
  <basic-container
    :class="[
      $store.state.control.screenSize == 1366 ? 'smallSize' : 'normalSize',
      $store.state.control.windowWidth >= 1024 ? 'tooRowSearch1' : '',
    ]"
  >
    <avue-crud
      class="tablesss"
      :option="option"
      :table-loading="loading"
      :data="data"
@@ -174,6 +175,7 @@
        pageSize: 10,
        currentPage: 1,
        total: 0,
        ...this.$store.state.control.changePageSize,
      },
      selectionList: [],
      option: {
@@ -190,13 +192,14 @@
        calcHeight: 30,
        tip: false,
        searchShow: true,
        menuWidth: 160,
        menuWidth: 175,
        searchMenuSpan: 6,
        index: true,
        viewBtn: true,
        dialogClickModal: false,
        column: companyColimn,
        ...this.$store.state.control.clearOtherBut,
        group: [
          {
            label: "详细信息",
@@ -244,6 +247,9 @@
      });
      return ids.join(",");
    },
  },
  mounted() {
    this.$store.commit("setWindowSizeHeightAdd");
  },
  methods: {
    rowClickSelf(val) {
@@ -403,6 +409,7 @@
        this.data = data.records;
        // console.log(this.data);
        this.loading = false;
        this.$store.commit("setWindowSizeHeightAdd");
        this.selectionClear();
      });
    },
@@ -422,5 +429,4 @@
};
</script>
<style lang="scss">
</style>
<style lang="scss"></style>
src/views/securityCompany/train.vue
@@ -1,13 +1,14 @@
/*
 * @Author: Morpheus
 * @Date: 2021-07-07 17:30:05
 * @Last Modified by: liu
 * @Last Modified time: 2021-09-18 09:14:55
 * menu-name 保安服务公司查询
 */
/* * @Author: Morpheus * @Date: 2021-07-07 17:30:05 * @Last Modified by: liu *
@Last Modified time: 2021-09-18 09:14:55 * menu-name 保安服务公司查询 */
<template>
  <basic-container>
  <basic-container
    :class="[
      $store.state.control.screenSize == 1366 ? 'smallSize' : 'normalSize',
      $store.state.control.windowWidth >= 1024 ? 'tooRowSearch1' : '',
    ]"
  >
    <avue-crud
      class="tablesss"
      :option="option"
      :table-loading="loading"
      :data="data"
@@ -174,6 +175,7 @@
        pageSize: 10,
        currentPage: 1,
        total: 0,
        ...this.$store.state.control.changePageSize,
      },
      selectionList: [],
      option: {
@@ -190,13 +192,14 @@
        calcHeight: 30,
        tip: false,
        searchShow: true,
        menuWidth: 160,
        menuWidth: 175,
        searchMenuSpan: 6,
        index: true,
        viewBtn: true,
        dialogClickModal: false,
        column: companyColimn,
        ...this.$store.state.control.clearOtherBut,
        group: [
          {
            label: "详细信息",
@@ -244,6 +247,9 @@
      });
      return ids.join(",");
    },
  },
  mounted() {
    this.$store.commit("setWindowSizeHeightAdd");
  },
  methods: {
    rowClickSelf(val) {
@@ -403,6 +409,7 @@
        this.data = data.records;
        // console.log(this.data);
        this.loading = false;
        this.$store.commit("setWindowSizeHeightAdd");
        this.selectionClear();
      });
    },
@@ -422,5 +429,4 @@
};
</script>
<style lang="scss">
</style>
<style lang="scss"></style>
src/views/securityGuardManagement/dispatchChildoperable.vue
@@ -1,26 +1,31 @@
<template>
  <basic-container>
    <div class="dispatchChildoperable">
      <avue-crud
        :option="option1"
        :data="data1"
        :page.sync="page1"
        ref="crudrec1"
        v-model="form"
        :table-loading="loading1"
        :before-open="beforeOpen"
        @row-save="rowSave1"
        @search-change="searchChange1"
        @search-reset="searchReset1"
        @row-update="rowUpdate1"
        @row-del="rowDel1"
        @selection-change="selectionChange1"
        @refresh-change="refreshChange1"
      >
      </avue-crud>
    </div>
  <basic-container
    :class="[
      $store.state.control.screenSize == 1366 ? 'smallSize' : 'normalSize',
      $store.state.control.windowWidth >= 1024 ? 'tooRowSearch1' : '',
    ]"
  >
    <avue-crud
      class="tablesss"
      :option="option1"
      :data="data1"
      :page.sync="page1"
      ref="crudrec1"
      v-model="form"
      :table-loading="loading1"
      :before-open="beforeOpen"
      @row-save="rowSave1"
      @search-change="searchChange1"
      @search-reset="searchReset1"
      @row-update="rowUpdate1"
      @row-del="rowDel1"
      @selection-change="selectionChange1"
      @refresh-change="refreshChange1"
      @on-load="onLoad1"
    >
    </avue-crud>
  </basic-container>
</template>
</template>
<script>
import {
@@ -46,6 +51,7 @@
        pageSize: 10,
        currentPage: 1,
        total: 0,
        ...this.$store.state.control.changePageSize,
      },
      form: {},
      query1: {},
@@ -67,6 +73,7 @@
        // menuWidth: 160,
        align: "center",
        selection: true,
        ...this.$store.state.control.clearOtherBut,
        column: [
          // },
          {
@@ -77,7 +84,7 @@
            // search: true,
            // labelWidth: 120,
            // searchSpan: 4,
            minWidth: 210,
            minWidth: 110,
            addDisplay: false,
            editDisplay: false,
          },
@@ -85,9 +92,11 @@
            label: "保安公司",
            prop: "deptId",
            search: true,
            overHidden: true,
            labelWidth: 120,
            type: "tree",
            searchSpan: 4,
            searchLabelWidth: 75,
            cascaderItem: ["userIds"],
            props: {
              label: "title",
@@ -130,9 +139,10 @@
            label: "保安员",
            prop: "userIds",
            type: "tree",
            width: 70,
            width: 65,
            labelWidth: 120,
            searchSpan: 3,
            searchLabelWidth: 62,
            searchSpan: 4,
            search: true,
            hide: true,
            props: {
@@ -246,6 +256,7 @@
            valueFormat: "yyyy-MM-dd",
            searchValue: [this.getStartTime(), this.getEndTime()],
            searchRange: true,
            searchLabelWidth: 75,
            searchSpan: 5,
            hide: true,
            addDisplay: false,
@@ -263,6 +274,7 @@
          {
            label: "派遣地址",
            prop: "dispatcheraddress",
            overHidden: true,
            labelWidth: 120,
            rules: [
              {
@@ -502,6 +514,7 @@
        const data = res.data.data;
        this.page1.total = data.total;
        this.data1 = data.records;
        this.$store.commit("setWindowSizeHeightAdd");
        this.loading1 = false;
        // this.$nextTick(() => this.$refs.crudrec1.dicInit("cascader"));
        // console.log(this.form, 111111);
@@ -543,7 +556,8 @@
  //   }
  // },
  mounted() {
    this.onLoad1(this.page1, this.query1);
    // this.onLoad1(this.page1, this.query1);
    this.$store.commit("setWindowSizeHeightAdd");
  },
};
</script>
@@ -558,4 +572,4 @@
.el-collapse-item {
  padding-top: 15px !important;
}
</style>
</style>
src/views/securityGuardManagement/register.vue
@@ -1,15 +1,10 @@
/*
 * @Author: Morpheus
 * @Date: 2021-07-05 16:31:54
 * @Last Modified by: liu
 * @Last Modified time: 2021-10-21 15:31:24
 * menu-name 保安员注册查询
 */
/* * @Author: Morpheus * @Date: 2021-07-05 16:31:54 * @Last Modified by: liu *
@Last Modified time: 2021-10-21 15:31:24 * menu-name 保安员注册查询 */
<template>
  <div>
    <el-row class="registersss">
      <el-col :span="3">
        <div class="box">
        <div class="box changeBoxs">
          <el-scrollbar>
            <basic-container>
              <avue-tree
@@ -21,9 +16,17 @@
          </el-scrollbar>
        </div>
      </el-col>
      <el-col :span="21">
        <basic-container>
      <el-col :span="21" class="clearBottomMargin">
        <basic-container
          :class="[
            $store.state.control.screenSize == 1366
              ? 'smallSize'
              : 'normalSize',
            $store.state.control.windowWidth >= 1024 ? 'tooRowSearch1' : '',
          ]"
        >
          <avue-crud
            class="tablesss"
            :option="option"
            :search.sync="search"
            :table-loading="loading"
@@ -78,40 +81,95 @@
              >
            </template>
            <template slot-scope="{ type, size, row }" slot="menu">
              <el-button
                :size="size"
                :type="type"
                class="zhengJian-icon"
                @click.stop="handleRowClick(row)"
                >详情</el-button
              <el-tooltip
                placement="bottom"
                effect="light"
                transition="el-collapse-transition"
                popper-class="caozuolanpopper"
                v-if="$store.state.control.changeMenuSize"
              >
              <el-button
                :size="size"
                :type="type"
                class="zhengJian-icon"
                @click.stop="honor(row)"
                >荣誉录入</el-button
              >
              <el-button
                :size="size"
                :type="type"
                class="zhengJian-icon"
                :disabled="row.hold != 1"
                :title="row.hold != 1 ? '暂无证件或已吊销' : ''"
                @click.stop="handleViewCredentials(row)"
                >打印证件</el-button
              >
                <div slot="content">
                  <el-button
                    icon="el-icon-user"
                    :size="size"
                    :type="type"
                    class="zhengJian-icon"
                    @click.stop="handleRowClick(row)"
                    >查看详情</el-button
                  >
                  <br />
                  <el-button
                    icon="el-icon-mobile"
                    :size="size"
                    :type="type"
                    class="zhengJian-icon"
                    @click.stop="honor(row)"
                    >荣誉录入</el-button
                  >
                  <br />
                  <el-button
                    icon="el-icon-printer"
                    :size="size"
                    :type="type"
                    class="zhengJian-icon"
                    :disabled="row.hold != 1"
                    :title="row.hold != 1 ? '暂无证件或已吊销' : ''"
                    @click.stop="handleViewCredentials(row)"
                    >打印证件</el-button
                  >
              <el-button
                icon="icon-zhengjian"
                :size="size"
                :type="type"
                class="zhengJian-icon"
                :disabled="row.hold != 1"
                :title="row.hold != 1 ? '暂无证件或已吊销' : ''"
                @click.stop="handleCredentials(row)"
                >证件吊销</el-button
              >
                  <br />
                  <el-button
                    icon="el-icon-brush"
                    :size="size"
                    :type="type"
                    class="zhengJian-icon"
                    :disabled="row.hold != 1"
                    :title="row.hold != 1 ? '暂无证件或已吊销' : ''"
                    @click.stop="handleCredentials(row)"
                    >证件吊销</el-button
                  >
                </div>
                <el-button icon="el-icon-s-operation" :size="size" :type="type"
                  >操作
                </el-button>
              </el-tooltip>
              <div v-if="!$store.state.control.changeMenuSize">
                <el-button
                  :size="size"
                  :type="type"
                  class="zhengJian-icon"
                  @click.stop="handleRowClick(row)"
                  >详情</el-button
                >
                <el-button
                  :size="size"
                  :type="type"
                  class="zhengJian-icon"
                  @click.stop="honor(row)"
                  >荣誉录入</el-button
                >
                <el-button
                  :size="size"
                  :type="type"
                  class="zhengJian-icon"
                  :disabled="row.hold != 1"
                  :title="row.hold != 1 ? '暂无证件或已吊销' : ''"
                  @click.stop="handleViewCredentials(row)"
                  >打印证件</el-button
                >
                <el-button
                  icon="icon-zhengjian"
                  :size="size"
                  :type="type"
                  class="zhengJian-icon"
                  :disabled="row.hold != 1"
                  :title="row.hold != 1 ? '暂无证件或已吊销' : ''"
                  @click.stop="handleCredentials(row)"
                  >证件吊销</el-button
                >
              </div>
            </template>
          </avue-crud>
          <el-dialog
@@ -251,6 +309,8 @@
        callback();
      }
    };
    let menuSize = this.$store.state.control.changeMenuSize ? 90 : 310;
    return {
      dialogVisiblecertificates: false,
      objVisiblecertificates: {},
@@ -317,6 +377,7 @@
        pageSize: 10,
        currentPage: 1,
        total: 0,
        ...this.$store.state.control.changePageSize,
      },
      init: {
@@ -399,14 +460,15 @@
        //dialogType: 'drawer',
        dialogClickModal: false,
        // 操作栏宽度
        menuWidth: 310,
        menuWidth: menuSize,
        ...this.$store.state.control.clearOtherBut,
        column: [
          {
            label: "姓名",
            prop: "realName",
            search: true,
            searchSpan: 3,
            width: 65,
            width: 69,
            searchLabelWidth: 50,
            display: false,
          },
@@ -456,8 +518,8 @@
            prop: "cardid",
            search: true,
            searchLabelWidth: 90,
            searchSpan: 4,
            minWidth: 140,
            searchSpan: 5,
            minWidth: 165,
            display: false,
          },
@@ -516,7 +578,7 @@
          {
            label: "联系电话",
            prop: "phone",
            minWidth: 95,
            minWidth: 110,
            display: false,
          },
          {
@@ -531,7 +593,7 @@
            search: true,
            searchLabelWidth: 90,
            minWidth: 105,
            searchSpan: 4,
            searchSpan: 5,
            addDisplay: false,
            editDisplay: false,
            // hide: true,
@@ -578,7 +640,7 @@
            prop: "hold",
            slot: true,
            search: true,
            searchSpan: 3,
            searchSpan: 4,
            width: 100,
            display: false,
            dicData: [
@@ -751,6 +813,7 @@
    if (!website.tenantMode) {
      this.initData(website.tenantId);
    }
    this.$store.commit("setWindowSizeHeightAdd");
  },
  methods: {
    rowClickSelf(row) {
@@ -950,6 +1013,7 @@
        this.data = data.records;
        // console.log(this.data);
        this.loading = false;
        this.$store.commit("setWindowSizeHeightAdd");
        this.selectionClear();
      });
    },
@@ -1047,9 +1111,9 @@
};
</script>
<style lang='scss' scoped>
<style lang="scss" scoped>
.box {
  height: 800px;
  height: auto;
}
.el-scrollbar {
src/views/securityUnitOperation/economicTable.vue
@@ -1,6 +1,12 @@
<template>
  <basic-container>
  <basic-container
    :class="[
      $store.state.control.screenSize == 1366 ? 'smallSize' : 'normalSize',
      $store.state.control.windowWidth >= 1024 ? 'tooRowSearch1' : '',
    ]"
  >
    <avue-crud
      class="tablesss smileTableFromSize"
      :option="tableOption"
      :table-loading="loading"
      :data="tableData"
@@ -23,7 +29,7 @@
import XLSX from "xlsx";
import { mapGetters } from "vuex";
import { selectJj } from "../../api/securityUnitOperation/securityUnitOperation";
import { lazyTreeJu,lazyTrees } from "../../api/index/index";
import { lazyTreeJu, lazyTrees } from "../../api/index/index";
export default {
  name: "公司经济情况智能分析详情表",
  data() {
@@ -31,7 +37,8 @@
      page: {
        pageSize: 10,
        currentPage: 1,
        total: 0
        total: 0,
        ...this.$store.state.control.changePageSize,
      },
      query: {},
      value1: "",
@@ -84,9 +91,10 @@
        searchShow: true,
        searchMenuSpan: 6,
        index: true,
        indexLabel:'序号',
        indexLabel: "序号",
        viewBtn: true,
        dialogClickModal: false,
        ...this.$store.state.control.clearOtherBut,
        column: [
          // {
          //   label: "类别",
@@ -138,8 +146,8 @@
            prop: "enterpriseName",
            search: true,
            searchSpan: 4,
            width:300,
            display: false
            width: 300,
            display: false,
          },
          {
            label: "所属辖区",
@@ -148,7 +156,7 @@
            type: "tree",
            props: {
              label: "title",
              value: "id"
              value: "id",
            },
            // cascaderItem: ["city", "area"],
            // dicUrl:subofficeOptions,
@@ -158,9 +166,9 @@
              {
                required: true,
                message: "请选择所属辖区",
                trigger: "blur"
              }
            ]
                trigger: "blur",
              },
            ],
          },
          // {
          //   label: "时间",
@@ -176,62 +184,62 @@
          {
            label: "社保缴纳人数",
            prop: "sbnum",
            display: false
            display: false,
          },
          {
            label: "社保缴纳总额(万)",
            prop: "sbcount",
            display: false,
            formatter: function(row, value) {
            formatter: function (row, value) {
              return (value = value / 10000);
            }
            },
          },
          {
            label: "公司派遣人数",
            prop: "pcnum",
            display: false
            display: false,
          },
          {
            label: "社保缴纳人数占比",
            prop: "zb",
            display: false,
            formatter: function(row, value) {
            formatter: function (row, value) {
              return (value = value * 100 + "%");
            }
            },
          },
          {
            label: "备注",
            prop: "bz",
            display: false
          }
        ]
            display: false,
          },
        ],
      },
      typeValue: "0",
      typeOptions: [
        {
          value: "0",
          label: "全部"
          label: "全部",
        },
        {
          value: "1",
          label: "社保缴纳人数"
          label: "社保缴纳人数",
        },
        {
          value: "2",
          label: "社保缴纳总额"
          label: "社保缴纳总额",
        },
        {
          value: "3",
          label: "公司派遣人数"
          label: "公司派遣人数",
        },
        {
          value: "4",
          label: "社保缴纳人数占比"
        }
          label: "社保缴纳人数占比",
        },
      ],
      subofficeValue: "0",
      companyName: "",
      loading: true
      loading: true,
    };
  },
  computed: {
@@ -241,9 +249,9 @@
        addBtn: this.vaildData(this.permission.post_add, false),
        viewBtn: this.vaildData(this.permission.post_view, false),
        delBtn: this.vaildData(this.permission.post_delete, false),
        editBtn: this.vaildData(this.permission.post_edit, false)
        editBtn: this.vaildData(this.permission.post_edit, false),
      };
    }
    },
  },
  methods: {
    rowSave(row, done, loading) {
@@ -252,11 +260,11 @@
          this.onLoad(this.page);
          this.$message({
            type: "success",
            message: "操作成功!"
            message: "操作成功!",
          });
          done();
        },
        error => {
        (error) => {
          window.console.log(error);
          loading();
        }
@@ -268,11 +276,11 @@
          this.onLoad(this.page);
          this.$message({
            type: "success",
            message: "操作成功!"
            message: "操作成功!",
          });
          done();
        },
        error => {
        (error) => {
          window.console.log(error);
          loading();
        }
@@ -307,17 +315,18 @@
      param["enterpriseName"] = params["enterpriseName"] || "";
      param["current"] = page.currentPage;
      param["size"] = page.pageSize;
      selectJj(param).then(res => {
      selectJj(param).then((res) => {
        const data = res.data.data;
        this.page.total = data.total;
        this.tableData = data.records;
        this.$store.commit("setWindowSizeHeightAdd");
        this.loading = false;
      });
    },
    getSubOfficeData() {
      lazyTrees().then(res => {
      lazyTrees().then((res) => {
        if (res.data.code === 200) {
          this.tableOption.column.forEach(item => {
          this.tableOption.column.forEach((item) => {
            if (item.label == "所属辖区") {
              item.dicData = res.data.data;
            }
@@ -339,15 +348,16 @@
      let enterpriseName = object["enterpriseName"] || "";
      this.query = {
        jurisdiction: jurisdiction,
        enterpriseName: enterpriseName
        enterpriseName: enterpriseName,
      };
      this.onLoad(this.page, this.query);
    }
    },
  },
  mounted() {
    this.getLocationParams();
    this.getSubOfficeData();
  }
    this.$store.commit("setWindowSizeHeightAdd");
  },
};
</script>
<style lang="scss" scoped>
src/views/securityUnitOperation/operationTable.vue
@@ -1,6 +1,12 @@
<template>
  <basic-container>
  <basic-container
    :class="[
      $store.state.control.screenSize == 1366 ? 'smallSize' : 'normalSize',
      $store.state.control.windowWidth >= 1024 ? 'tooRowSearch1' : '',
    ]"
  >
    <avue-crud
      class="tablesss smileTableFromSize"
      :option="tableOption"
      :table-loading="loading"
      :data="tableData"
@@ -12,14 +18,13 @@
      @current-change="currentChange"
      @size-change="sizeChange"
      @refresh-change="refreshChange"
    >
    </avue-crud>
  </basic-container>
</template>
<script>
import { selectTb } from "../../api/securityUnitOperation/securityUnitOperation";
import { lazyTreeJu,lazyTrees } from "../../api/index/index";
import { lazyTreeJu, lazyTrees } from "../../api/index/index";
export default {
  name: "公司运营情况智能分析详情表",
  data() {
@@ -27,9 +32,10 @@
      page: {
        pageSize: 10,
        currentPage: 1,
        total: 0
        total: 0,
        ...this.$store.state.control.changePageSize,
      },
      query:{},
      query: {},
      value1: "",
      value2: "",
      tableData: [
@@ -89,9 +95,10 @@
        searchShow: true,
        searchMenuSpan: 6,
        index: true,
        indexLabel:'序号',
        indexLabel: "#",
        viewBtn: true,
        dialogClickModal: false,
        ...this.$store.state.control.clearOtherBut,
        column: [
          // {
          //   label: "类别",
@@ -154,8 +161,8 @@
            prop: "enterpriseName",
            search: true,
            searchSpan: 4,
            width:300,
            display: false
            width: 300,
            display: false,
          },
          {
            label: "所属辖区",
@@ -166,7 +173,7 @@
            // dicMethod:'post',
            props: {
              label: "title",
              value: "id"
              value: "id",
            },
            dicData: [],
            search: true,
@@ -176,9 +183,9 @@
              {
                required: true,
                message: "请选择所属辖区",
                trigger: "blur"
              }
            ]
                trigger: "blur",
              },
            ],
          },
          // {
          //   label: "时间",
@@ -195,22 +202,22 @@
          {
            label: "总保安人数",
            prop: "znum",
            display: false
            display: false,
          },
          {
            label: "正常保安数",
            prop: "zcnum",
            display: false
            display: false,
          },
          {
            label: "持证保安数",
            prop: "cznum",
            display: false
            display: false,
          },
          {
            label: "保安派遣数",
            prop: "pcnum",
            display: false
            display: false,
          },
          // {
          //   label: "过考保安数",
@@ -220,25 +227,25 @@
          {
            label: "服务单位数",
            prop: "ghnum",
            display: false
            display: false,
          },
          {
            label: "缴纳社保保安数",
            prop: "sbnum",
            display: false
            display: false,
          },
          {
            label: "备注",
            prop: "bz",
            display: false
          }
        ]
            display: false,
          },
        ],
      },
      typeValue: "0",
      companyName: "",
      subOfficeData: [],
      subOfficeValue: "",
      loading: true
      loading: true,
    };
  },
  methods: {
@@ -255,11 +262,11 @@
    },
    currentChange(currentPage) {
      this.page.currentPage = currentPage;
      this.onLoad(this.page, this.query)
      this.onLoad(this.page, this.query);
    },
    sizeChange(pageSize) {
      this.page.pageSize = pageSize;
      this.onLoad(this.page, this.query)
      this.onLoad(this.page, this.query);
    },
    refreshChange() {
      this.onLoad(this.page, this.query);
@@ -271,17 +278,18 @@
      param["enterpriseName"] = params["enterpriseName"] || "";
      param["current"] = page.currentPage;
      param["size"] = page.pageSize;
      selectTb(param).then(res => {
      selectTb(param).then((res) => {
        const data = res.data.data;
        this.page.total = data.total;
        this.tableData = data.records;
        this.$store.commit("setWindowSizeHeightAdd");
        this.loading = false;
      });
    },
    getSubOfficeData() {
      lazyTrees().then(res => {
      lazyTrees().then((res) => {
        if (res.data.code === 200) {
          this.tableOption.column.forEach(item => {
          this.tableOption.column.forEach((item) => {
            if (item.label == "所属辖区") {
              item.dicData = res.data.data;
            }
@@ -301,14 +309,18 @@
      }
      let jurisdiction = object["jurisdiction1"] || "";
      let enterpriseName = object["enterpriseName"] || "";
      this.query = { jurisdiction: jurisdiction, enterpriseName: enterpriseName };
      this.query = {
        jurisdiction: jurisdiction,
        enterpriseName: enterpriseName,
      };
      this.onLoad(this.page, this.query);
    }
    },
  },
  mounted() {
    this.getLocationParams();
    this.getSubOfficeData();
  }
    this.$store.commit("setWindowSizeHeightAdd");
  },
};
</script>
<style lang="scss" scoped>
src/views/statisticalQueryManagement/businessStatistics.vue
@@ -1,6 +1,11 @@
<template>
  <div>
    <basic-container>
    <basic-container
      :class="[
        $store.state.control.screenSize == 1366 ? 'smallSize' : 'normalSize',
        $store.state.control.windowWidth >= 1024 ? 'tooRowSearch1' : '',
      ]"
    >
      <avue-crud
        :option="tableOption"
        :table-loading="loading"
@@ -17,7 +22,7 @@
        @refresh-change="refreshChange"
        @on-load="onLoad"
        @cell-click="handleRowClick"
        class="businessStatisticsStyle"
        class="businessStatisticsStyle tablesss"
      >
      </avue-crud>
    </basic-container>
@@ -85,6 +90,7 @@
        pageSize: 10,
        currentPage: 1,
        total: 0,
        ...this.$store.state.control.changePageSize,
      },
      query: {},
      value1: "",
@@ -125,11 +131,11 @@
        searchShow: true,
        searchMenuSpan: 6,
        index: true,
        indexLabel:'序号',
        indexLabel: "序号",
        viewBtn: true,
        dialogClickModal: false,
        ...this.$store.state.control.clearOtherBut,
        column: [
          {
            label: "公司名称",
            prop: "enterpriseName",
@@ -204,7 +210,7 @@
            searchRange: true,
            searchSpan: 6,
            searchLabelWidth: 120,
            labelWidth:160,
            labelWidth: 160,
            hide: true,
            addDisplay: false,
            editDisplay: false,
@@ -296,21 +302,22 @@
      param["size"] = page.pageSize;
      const { releaseTimeRange } = this.query;
      let values = {
        ...param,
      };
      if (releaseTimeRange) {
        values = {
          ...param,
          startTime: releaseTimeRange[0],
          endTime: releaseTimeRange[1],
          ...this.query,
        };
        if (releaseTimeRange) {
          values = {
            ...param,
            startTime: releaseTimeRange[0],
            endTime: releaseTimeRange[1],
            ...this.query,
          };
          values.releaseTimeRange = null;
        }
        values.releaseTimeRange = null;
      }
      selectYw(values).then((res) => {
        const data = res.data.data;
        this.page.total = data.total;
        this.tableData = data.records;
        this.$store.commit("setWindowSizeHeightAdd");
        this.loading = false;
      });
    },
@@ -375,6 +382,7 @@
  mounted() {
    this.getSubOfficeData();
    this.getDictionaryList();
    this.$store.commit("setWindowSizeHeightAdd");
  },
};
</script>
src/views/statisticalQueryManagement/securityGuardStatistics.vue
@@ -1,6 +1,12 @@
<template>
  <div>
    <basic-container class="witerFontColorInput">
    <basic-container
      :class="[
        'witerFontColorInput',
        $store.state.control.screenSize == 1366 ? 'smallSize' : 'normalSize',
        $store.state.control.windowWidth >= 1024 ? 'tooRowSearch1' : '',
      ]"
    >
      <avue-crud
        :option="tableOption"
        :table-loading="loading"
@@ -15,7 +21,7 @@
        @refresh-change="refreshChange"
        @on-load="onLoad"
        @cell-click="handleRowClick"
        class="rowClick"
        class="rowClick tablesss"
      >
      </avue-crud>
    </basic-container>
@@ -46,21 +52,22 @@
import { mapGetters } from "vuex";
import {
  selectLi,
  dictionaryList
  dictionaryList,
} from "../../api/statisticalQueryManagement/statisticalQueryManagement";
import { lazyTreeJu, lazyTrees } from "../../api/index/index";
import companyDetails from "./companyDetails";
export default {
  name: "业务情况统计",
  components: {
    companyDetails
    companyDetails,
  },
  data() {
    return {
      page: {
        pageSize: 10,
        currentPage: 1,
        total: 0
        total: 0,
        ...this.$store.state.control.changePageSize,
      },
      query: {},
      value1: "",
@@ -121,16 +128,18 @@
        searchShow: true,
        searchMenuSpan: 6,
        index: true,
        indexLabel:'序号',
        indexLabel: "序号",
        dialogClickModal: false,
        ...this.$store.state.control.clearOtherBut,
        column: [
          {
            label: "公司名称",
            prop: "deptname",
            search: true,
            searchSpan: 4,
            width: 280,
            display: false
            minWidth: 210,
            overHidden: true,
            display: false,
          },
          {
            label: "单位类型",
@@ -138,21 +147,24 @@
            search: true,
            searchSpan: 4,
            display: false,
            width: 110,
            type: "select",
            props: {
              label: "dictValue",
              value: "dictKey"
              value: "dictKey",
            },
            dicData: []
            dicData: [],
          },
          {
            label: "所属辖区",
            prop: "jurname",
            width: 110,
            searchSpan: 4,
            overHidden: true,
            type: "tree",
            props: {
              label: "title",
              value: "value"
              value: "value",
            },
            // dicUrl: "/api/information/lazyTreeJu",
            // dicMethod:'post',
@@ -183,9 +195,9 @@
              {
                required: true,
                message: "请选择所属辖区",
                trigger: "blur"
              }
            ]
                trigger: "blur",
              },
            ],
          },
          {
            label: "单位注册时间",
@@ -196,7 +208,7 @@
            searchRange: true,
            searchSpan: 6,
            searchLabelWidth: 120,
            labelWidth:160,
            labelWidth: 160,
            hide: true,
            addDisplay: false,
            editDisplay: false,
@@ -213,43 +225,43 @@
          {
            label: "保安员总数",
            prop: "num",
            display: false
            display: false,
          },
          {
            label: "持证上岗人数",
            prop: "cznum",
            display: false
            display: false,
          },
          {
            label: "未派遣人数",
            prop: "wpaiqnum",
            display: false
            display: false,
          },
          {
            label: "派遣人数",
            prop: "paiqnum",
            display: false
            display: false,
          },
          {
            label: "已采集照片人数",
            prop: "ycaijzpnum",
            display: false
            display: false,
          },
          {
            label: "未采集照片人数",
            prop: "wcaijnum",
            display: false
            display: false,
          },
          {
            label: "已采集指纹人数",
            prop: "ycaijzwnum",
            display: false
            display: false,
          },
          {
            label: "资格审查异常人数",
            width: 150,
            prop: "yicnum",
            display: false
            display: false,
          },
          // {
          //   label: "过考保安人数",
@@ -259,14 +271,14 @@
          {
            label: "缴纳社保人数",
            prop: "sbnum",
            display: false
          }
        ]
            display: false,
          },
        ],
      },
      companyName: "",
      loading: true,
      dialogShow: false,
      dialogTitle: ""
      dialogTitle: "",
    };
  },
  computed: {
@@ -276,15 +288,15 @@
        addBtn: this.vaildData(this.permission.post_add, false),
        viewBtn: this.vaildData(this.permission.post_view, false),
        delBtn: this.vaildData(this.permission.post_delete, false),
        editBtn: this.vaildData(this.permission.post_edit, false)
        editBtn: this.vaildData(this.permission.post_edit, false),
      };
    }
    },
  },
  methods: {
    getSubOfficeData() {
      lazyTrees().then(res => {
      lazyTrees().then((res) => {
        if (res.data.code === 200) {
          this.tableOption.column.forEach(item => {
          this.tableOption.column.forEach((item) => {
            if (item.label == "所属辖区") {
              // let data = res.data.data;
              item.dicData = res.data.data;
@@ -306,9 +318,9 @@
    //   });
    // },
    getDictionaryList() {
      dictionaryList().then(res => {
      dictionaryList().then((res) => {
        if (res.data.code === 200) {
          this.tableOption.column.forEach(item => {
          this.tableOption.column.forEach((item) => {
            if (item.label == "单位类型") {
              item.dicData = res.data.data;
            }
@@ -348,21 +360,22 @@
      param["size"] = page.pageSize;
      const { releaseTimeRange } = this.query;
      let values = {
        ...param,
      };
      if (releaseTimeRange) {
        values = {
          ...param,
          startTime: releaseTimeRange[0],
          endTime: releaseTimeRange[1],
          ...this.query,
        };
        if (releaseTimeRange) {
          values = {
            ...param,
            startTime: releaseTimeRange[0],
            endTime: releaseTimeRange[1],
            ...this.query,
          };
          values.releaseTimeRange = null;
        }
      selectLi(values).then(res => {
        values.releaseTimeRange = null;
      }
      selectLi(values).then((res) => {
        const data = res.data.data;
        this.page.total = data.total;
        this.tableData = data.records;
        this.$store.commit("setWindowSizeHeightAdd");
        this.loading = false;
      });
    },
@@ -377,12 +390,13 @@
      // this.$router.push({
      //   path: "/statisticalQueryManagement/companyDetails?deptid=" + row.dept_id
      // });
    }
    },
  },
  mounted() {
    this.getSubOfficeData();
    this.getDictionaryList();
  }
    this.$store.commit("setWindowSizeHeightAdd");
  },
};
</script>
<style lang="scss" scoped>
src/views/system/dept.vue
@@ -1,6 +1,13 @@
<template>
  <basic-container class="dept">
  <basic-container
    :class="[
      'dept',
      $store.state.control.screenSize == 1366 ? 'smallSize' : 'normalSize',
      $store.state.control.windowWidth >= 1024 ? 'tooRowSearch1' : '',
    ]"
  >
    <avue-crud
      class="tablesss"
      :option="option"
      :table-loading="loading"
      :data="data"
@@ -73,6 +80,7 @@
        pageSize: 10,
        currentPage: 1,
        total: 0,
        ...this.$store.state.control.changePageSize,
      },
      option: {
        lazy: true,
@@ -88,6 +96,7 @@
        viewBtn: true,
        menuWidth: 400,
        dialogClickModal: false,
        ...this.$store.state.control.clearOtherBut,
        column: [
          {
            label: "机构名称",
@@ -222,6 +231,9 @@
      });
      return ids.join(",");
    },
  },
  mounted() {
    this.$store.commit("setWindowSizeHeightAdd");
  },
  methods: {
    initData() {
@@ -370,6 +382,7 @@
      getLazyList(this.parentId, Object.assign(params, this.query)).then(
        (res) => {
          this.data = res.data.data;
          this.$store.commit("setWindowSizeHeightAdd");
          this.loading = false;
          this.selectionClear();
        }
@@ -385,5 +398,4 @@
};
</script>
<style>
</style>
<style></style>
src/views/system/dict.vue
@@ -1,6 +1,13 @@
<template>
  <basic-container class="dict">
  <basic-container
    :class="[
      'dict',
      $store.state.control.screenSize == 1366 ? 'smallSize' : 'normalSize',
      $store.state.control.windowWidth >= 1024 ? 'tooRowSearch1' : '',
    ]"
  >
    <avue-crud
      class="tablesss"
      :option="optionParent"
      :table-loading="loading"
      :data="dataParent"
@@ -55,9 +62,12 @@
      :title="`[${dictValue}]字典配置`"
      append-to-body
      :visible.sync="box"
      v-if="box"
      top="10px"
      width="1000px"
    >
      <avue-crud
        class="tablesssInSmail"
        :option="optionChild"
        :table-loading="loadingChild"
        :data="dataChild"
@@ -136,18 +146,35 @@
        pageSizes: [10, 30, 50, 100, 200],
        currentPage: 1,
        total: 0,
        ...this.$store.state.control.changePageSize,
      },
      pageChild: {
        pageSize: 10,
        pageSizes: [10, 30, 50, 100, 200],
        currentPage: 1,
        total: 0,
        ...this.$store.state.control.changePageSize,
      },
      dataParent: [],
      dataChild: [],
      optionParent: optionParent,
      optionChild: optionChild,
      optionParent: {
        ...optionParent,
        ...this.$store.state.control.clearOtherBut,
        menuWidth: 310,
      },
      optionChild: {
        ...optionChild,
        ...this.$store.state.control.clearOtherBut,
        menuWidth: 310,
      },
    };
  },
  watch: {
    box() {
      if (!this.box) {
        this.$store.commit("setWindowSizeHeightAdd");
      }
    },
  },
  computed: {
    ...mapGetters(["userInfo", "permission"]),
@@ -169,6 +196,7 @@
  },
  mounted() {
    this.initData();
    this.$store.commit("setWindowSizeHeightAdd");
  },
  methods: {
    initData() {
@@ -436,6 +464,7 @@
        const data = res.data.data;
        this.pageParent.total = data.total;
        this.dataParent = data.records;
        this.$store.commit("setWindowSizeHeightAdd");
        this.loading = false;
        this.selectionClear();
      });
@@ -449,6 +478,7 @@
        Object.assign(params, this.query)
      ).then((res) => {
        this.dataChild = res.data.data;
        this.$store.commit("setWindowSizeHeightAdd");
        this.loadingChild = false;
        this.selectionClear();
      });
@@ -456,4 +486,3 @@
  },
};
</script>
src/views/system/dictbiz.vue
@@ -1,6 +1,13 @@
<template>
  <basic-container class="dictbiz">
  <basic-container
    :class="[
      'dictbiz',
      $store.state.control.screenSize == 1366 ? 'smallSize' : 'normalSize',
      $store.state.control.windowWidth >= 1024 ? 'tooRowSearch1' : '',
    ]"
  >
    <avue-crud
      class="tablesss"
      :option="optionParent"
      :table-loading="loading"
      :data="dataParent"
@@ -55,9 +62,12 @@
      :title="`[${dictValue}]字典配置`"
      append-to-body
      :visible.sync="box"
      v-if="box"
      top="10px"
      width="1000px"
    >
      <avue-crud
        class="tablesssInSmail"
        :option="optionChild"
        :table-loading="loadingChild"
        :data="dataChild"
@@ -136,18 +146,35 @@
        pageSizes: [10, 30, 50, 100, 200],
        currentPage: 1,
        total: 0,
        ...this.$store.state.control.changePageSize,
      },
      pageChild: {
        pageSize: 10,
        pageSizes: [10, 30, 50, 100, 200],
        currentPage: 1,
        total: 0,
        ...this.$store.state.control.changePageSize,
      },
      dataParent: [],
      dataChild: [],
      optionParent: optionParent,
      optionChild: optionChild,
      optionParent: {
        ...optionParent,
        ...this.$store.state.control.clearOtherBut,
        menuWidth: 310,
      },
      optionChild: {
        ...optionChild,
        ...this.$store.state.control.clearOtherBut,
        menuWidth: 310,
      },
    };
  },
  watch: {
    box() {
      if (!this.box) {
        this.$store.commit("setWindowSizeHeightAdd");
      }
    },
  },
  computed: {
    ...mapGetters(["userInfo", "permission"]),
@@ -169,6 +196,7 @@
  },
  mounted() {
    this.initData();
    this.$store.commit("setWindowSizeHeightAdd");
  },
  methods: {
    initData() {
@@ -436,6 +464,7 @@
        const data = res.data.data;
        this.pageParent.total = data.total;
        this.dataParent = data.records;
        this.$store.commit("setWindowSizeHeightAdd");
        this.loading = false;
        this.selectionClear();
      });
@@ -449,6 +478,7 @@
        Object.assign(params, this.query)
      ).then((res) => {
        this.dataChild = res.data.data;
        this.$store.commit("setWindowSizeHeightAdd");
        this.loadingChild = false;
        this.selectionClear();
      });
src/views/system/menu.vue
@@ -1,6 +1,13 @@
<template>
  <basic-container class="menu">
  <basic-container
    :class="[
      'menu',
      $store.state.control.screenSize == 1366 ? 'smallSize' : 'normalSize',
      $store.state.control.windowWidth >= 1024 ? 'tooRowSearch1' : '',
    ]"
  >
    <avue-crud
      class="tablesss"
      :option="option"
      :table-loading="loading"
      :data="data"
@@ -72,6 +79,7 @@
        pageSize: 10,
        currentPage: 1,
        total: 0,
        ...this.$store.state.control.changePageSize,
      },
      option: {
        lazy: true,
@@ -88,6 +96,7 @@
        viewBtn: true,
        menuWidth: 400,
        dialogClickModal: false,
        ...this.$store.state.control.clearOtherBut,
        column: [
          {
            label: "菜单名称",
@@ -273,6 +282,9 @@
      return ids.join(",");
    },
  },
  mounted() {
    this.$store.commit("setWindowSizeHeightAdd");
  },
  methods: {
    initData() {
      getMenuTree().then((res) => {
@@ -418,6 +430,7 @@
      getLazyList(this.parentId, Object.assign(params, this.query)).then(
        (res) => {
          this.data = res.data.data;
          this.$store.commit("setWindowSizeHeightAdd");
          this.loading = false;
          this.selectionClear();
        }
@@ -433,5 +446,4 @@
};
</script>
<style>
</style>
<style></style>
src/views/system/post.vue
@@ -1,6 +1,13 @@
<template>
  <basic-container class="post">
  <basic-container
    :class="[
      'post',
      $store.state.control.screenSize == 1366 ? 'smallSize' : 'normalSize',
      $store.state.control.windowWidth >= 1024 ? 'tooRowSearch1' : '',
    ]"
  >
    <avue-crud
      class="tablesss"
      :option="option"
      :table-loading="loading"
      :data="data"
@@ -53,6 +60,7 @@
        pageSize: 10,
        currentPage: 1,
        total: 0,
        ...this.$store.state.control.changePageSize,
      },
      selectionList: [],
      option: {
@@ -67,6 +75,7 @@
        viewBtn: true,
        selection: true,
        dialogClickModal: false,
        ...this.$store.state.control.clearOtherBut,
        column: [
          {
            label: "所属租户",
@@ -176,6 +185,9 @@
      });
      return ids.join(",");
    },
  },
  mounted() {
    this.$store.commit("setWindowSizeHeightAdd");
  },
  methods: {
    rowSave(row, done, loading) {
@@ -293,6 +305,7 @@
        const data = res.data.data;
        this.page.total = data.total;
        this.data = data.records;
        this.$store.commit("setWindowSizeHeightAdd");
        this.loading = false;
        this.selectionClear();
      });
@@ -301,5 +314,4 @@
};
</script>
<style>
</style>
<style></style>
src/views/system/tenant.vue
@@ -1,6 +1,13 @@
<template>
  <basic-container class="tenant">
  <basic-container
    :class="[
      'tenant',
      $store.state.control.screenSize == 1366 ? 'smallSize' : 'normalSize',
      $store.state.control.windowWidth >= 1024 ? 'tooRowSearch1' : '',
    ]"
  >
    <avue-crud
      class="tablesss"
      :option="option"
      :table-loading="loading"
      :data="data"
@@ -108,6 +115,7 @@
        pageSize: 10,
        currentPage: 1,
        total: 0,
        ...this.$store.state.control.changePageSize,
      },
      option: {
        height: "auto",
@@ -122,6 +130,7 @@
        viewBtn: true,
        dialogWidth: 900,
        dialogClickModal: false,
        ...this.$store.state.control.clearOtherBut,
        column: [
          {
            label: "租户ID",
@@ -260,6 +269,9 @@
        ],
      },
    };
  },
  mounted() {
    this.$store.commit("setWindowSizeHeightAdd");
  },
  computed: {
    ...mapGetters(["userInfo", "permission"]),
@@ -470,6 +482,7 @@
        const data = res.data.data;
        this.page.total = data.total;
        this.data = data.records;
        this.$store.commit("setWindowSizeHeightAdd");
        this.loading = false;
        this.selectionClear();
      });
@@ -478,5 +491,4 @@
};
</script>
<style>
</style>
<style></style>
src/views/system/user.vue
@@ -1,7 +1,7 @@
<template>
  <el-row class="users">
    <el-col :span="5">
      <div class="box">
      <div class="box changeBoxs">
        <el-scrollbar>
          <basic-container>
            <avue-tree
@@ -13,9 +13,15 @@
        </el-scrollbar>
      </div>
    </el-col>
    <el-col :span="19">
      <basic-container>
    <el-col :span="19" class="clearBottomMargin">
      <basic-container
        :class="[
          $store.state.control.screenSize == 1366 ? 'smallSize' : 'normalSize',
          $store.state.control.windowWidth >= 1024 ? 'tooRowSearch1' : '',
        ]"
      >
        <avue-crud
          class="tablesss"
          :option="option"
          :search.sync="search"
          :table-loading="loading"
@@ -217,11 +223,13 @@
        pageSize: 10,
        currentPage: 1,
        total: 0,
        ...this.$store.state.control.changePageSize,
      },
      platformPage: {
        pageSize: 10,
        currentPage: 1,
        total: 0,
        ...this.$store.state.control.changePageSize,
      },
      init: {
        roleTree: [],
@@ -275,6 +283,7 @@
        viewBtn: true,
        //dialogType: 'drawer',
        dialogClickModal: false,
        ...this.$store.state.control.clearOtherBut,
        column: [
          {
            label: "登录账号",
@@ -738,6 +747,7 @@
    if (!website.tenantMode) {
      this.initData(website.tenantId);
    }
    this.$store.commit("setWindowSizeHeightAdd");
  },
  methods: {
    nodeClick(data) {
@@ -975,6 +985,7 @@
        const data = res.data.data;
        this.page.total = data.total;
        this.data = data.records;
        this.$store.commit("setWindowSizeHeightAdd");
        this.loading = false;
        this.selectionClear();
      });
@@ -1041,6 +1052,7 @@
        this.platformPage.total = data.total;
        this.platformData = data.records;
        this.platformLoading = false;
        this.$store.commit("setWindowSizeHeightAdd");
        this.selectionClear();
      });
    },
@@ -1050,7 +1062,7 @@
<style>
.box {
  height: 800px;
  height: auto;
}
.el-scrollbar {
src/views/talk/talk.vue
@@ -1,6 +1,12 @@
<template>
  <basic-container>
  <basic-container
    :class="[
      $store.state.control.screenSize == 1366 ? 'smallSize' : 'normalSize',
      $store.state.control.windowWidth >= 1024 ? 'tooRowSearch1' : '',
    ]"
  >
    <avue-crud
      class="tablesss"
      :option="option"
      :table-loading="loading"
      :data="data"
@@ -67,6 +73,7 @@
        pageSize: 10,
        currentPage: 1,
        total: 0,
        ...this.$store.state.control.changePageSize,
      },
      selectionList: [],
      option: {
@@ -81,6 +88,8 @@
        viewBtn: true,
        selection: true,
        dialogClickModal: false,
        ...this.$store.state.control.clearOtherBut,
        menu: false,
        column: [
          {
            label: "标题",
@@ -99,6 +108,7 @@
            label: "谈话对象",
            prop: "realName",
            search: true,
            width: 90,
            // type: "tree",
            // searchslot: true,
            // dicUrl: `/api/blade-user/selectInr?deptid=` + id,
@@ -196,6 +206,9 @@
      });
      return ids.join(",");
    },
  },
  mounted() {
    this.$store.commit("setWindowSizeHeightAdd");
  },
  methods: {
    searchChange(params, done) {
@@ -322,6 +335,7 @@
        this.data = data.records;
        // console.log(this.data);
        this.loading = false;
        this.$store.commit("setWindowSizeHeightAdd");
        this.selectionClear();
      });
    },
src/views/workreport/workreply.vue
@@ -1,6 +1,12 @@
<template>
  <basic-container>
  <basic-container
    :class="[
      $store.state.control.screenSize == 1366 ? 'smallSize' : 'normalSize',
      $store.state.control.windowWidth >= 1024 ? 'tooRowSearch1' : '',
    ]"
  >
    <avue-crud
      class="tablesss"
      :option="option"
      :table-loading="loading"
      :data="data"
@@ -69,6 +75,7 @@
        pageSize: 10,
        currentPage: 1,
        total: 0,
        ...this.$store.state.control.changePageSize,
      },
      selectionList: [],
      option: {
@@ -91,6 +98,7 @@
        excelBtn: false,
        menuWidth: 320,
        dialogClickModal: false,
        ...this.$store.state.control.clearOtherBut,
        column: workreplyColumn,
      },
      data: [],
@@ -114,7 +122,9 @@
      return ids.join(",");
    },
  },
  mounted() {},
  mounted() {
    this.$store.commit("setWindowSizeHeightAdd");
  },
  methods: {
    rowSave(row, done, loading) {
      row.category = 1;
@@ -262,6 +272,7 @@
            const data = res.data.data;
            this.page.total = data.total;
            this.data = data.records;
            this.$store.commit("setWindowSizeHeightAdd");
            this.loading = false;
            this.selectionClear();
          }
@@ -272,5 +283,4 @@
};
</script>
<style>
</style>
<style></style>
src/views/workreport/workreport.vue
@@ -1,6 +1,13 @@
<template>
  <basic-container class="workreply">
  <basic-container
    :class="[
      'workreply',
      $store.state.control.screenSize == 1366 ? 'smallSize' : 'normalSize',
      $store.state.control.windowWidth >= 1024 ? 'tooRowSearch1' : '',
    ]"
  >
    <avue-crud
      class="tablesss"
      :option="option"
      :table-loading="loading"
      :data="data"
@@ -70,6 +77,7 @@
        pageSize: 10,
        currentPage: 1,
        total: 0,
        ...this.$store.state.control.changePageSize,
      },
      selectionList: [],
      option: {
@@ -90,133 +98,146 @@
        excelBtn: false,
        menuWidth: 320,
        dialogClickModal: false,
        column:[{
                  label: "汇报时间",
                  prop: "reportTime",
                  type: "datetime",
                  format: "yyyy-MM-dd HH:mm:ss",
                  valueFormat: "yyyy-MM-dd HH:mm:ss",
                  searchRange: true,
                  searchSpan: 6,
                  hide: false,
                  addDisplay: false,
                  editDisplay: false,
                  // viewDisplay: false,
                  search: false,
                  rules: [{
                      required: true,
                      message: "请输入时间",
                      trigger: "blur"
                  }]
              },
              //  {
              //     label: "汇报类别",
              //     prop: "category",
              //     type: "select",
              //     dicUrl: "/api/blade-system/dict-biz/dictionary?code=workReportCategory",
              //     props: {
              //         label: "dictValue",
              //         value: "dictKey"
              //     },
              //     dataType: "number",
              //     // searchSpan: 4,
              //     // search: true,
              //     hide: true,
              //     addDisplay: false,
              //     editDisplay: false,
              //     viewDisplay: false,
              //     rules: [{
              //         required: true,
              //         message: "请选择汇报类别",
              //         trigger: "blur"
              //     }]
              // },
        ...this.$store.state.control.clearOtherBut,
        column: [
          {
            label: "汇报时间",
            prop: "reportTime",
            type: "datetime",
            format: "yyyy-MM-dd HH:mm:ss",
            valueFormat: "yyyy-MM-dd HH:mm:ss",
            searchRange: true,
            searchSpan: 6,
            hide: false,
            addDisplay: false,
            editDisplay: false,
            // viewDisplay: false,
            search: false,
            rules: [
              {
                  label: "汇报类型",
                  prop: "type",
                  type: "select",
                  dicUrl: "/api/blade-system/dict-biz/dictionary?code=workReportType",
                  props: {
                      label: "dictValue",
                      value: "dictKey"
                  },
                  dataType: "number",
                  searchSpan: 4,
                  search: true,
                  rules: [{
                      required: true,
                      message: "请选择汇报类型",
                      trigger: "blur"
                  }]
                required: true,
                message: "请输入时间",
                trigger: "blur",
              },
            ],
          },
          //  {
          //     label: "汇报类别",
          //     prop: "category",
          //     type: "select",
          //     dicUrl: "/api/blade-system/dict-biz/dictionary?code=workReportCategory",
          //     props: {
          //         label: "dictValue",
          //         value: "dictKey"
          //     },
          //     dataType: "number",
          //     // searchSpan: 4,
          //     // search: true,
          //     hide: true,
          //     addDisplay: false,
          //     editDisplay: false,
          //     viewDisplay: false,
          //     rules: [{
          //         required: true,
          //         message: "请选择汇报类别",
          //         trigger: "blur"
          //     }]
          // },
          {
            label: "汇报类型",
            prop: "type",
            type: "select",
            dicUrl: "/api/blade-system/dict-biz/dictionary?code=workReportType",
            props: {
              label: "dictValue",
              value: "dictKey",
            },
            dataType: "number",
            searchSpan: 4,
            width: 85,
            search: true,
            rules: [
              {
                  label: "接收人",
                  prop: "receivedIds",
                  // span: 12,
                  type: "tree",
                  dicUrl: "/api/blade-system/dept/lazy-tree-users?type=3",
                  hide: true,
                  leafOnly: true,
                  props: {
                      label: "title",
                      value: "id",
                  },
                  multiple: true,
                  // dataType: "number",
                  rules: [{
                      required: true,
                      message: "请选择接收人",
                      trigger: "blur"
                  }]
                required: true,
                message: "请选择汇报类型",
                trigger: "blur",
              },
            ],
          },
          {
            label: "接收人",
            prop: "receivedIds",
            // span: 12,
            type: "tree",
            dicUrl: "/api/blade-system/dept/lazy-tree-users?type=3",
            hide: true,
            leafOnly: true,
            props: {
              label: "title",
              value: "id",
            },
            multiple: true,
            // dataType: "number",
            rules: [
              {
                  label: "汇报人身份证号",
                  prop: "idCardNo",
                  hide: true,
                  addDisplay: false,
                  editDisplay: false,
                  viewDisplay: false,
                required: true,
                message: "请选择接收人",
                trigger: "blur",
              },
            ],
          },
          {
            label: "汇报人身份证号",
            prop: "idCardNo",
            hide: true,
            addDisplay: false,
            editDisplay: false,
            viewDisplay: false,
          },
          {
            label: "汇报内容",
            prop: "content",
            type: "textarea",
            span: 24,
            rules: [
              {
                  label: "汇报内容",
                  prop: "content",
                  type: "textarea",
                  span: 24,
                  rules: [{
                      required: true,
                      message: "请输入汇报内容",
                      trigger: "blur"
                  }]
                required: true,
                message: "请输入汇报内容",
                trigger: "blur",
              },
            ],
          },
          {
            label: "接收人",
            prop: "replyRealName",
            addDisplay: false,
            editDisplay: false,
            viewDisplay: false,
          },
          {
            label: "接收人单位",
            prop: "replyDeptName",
            addDisplay: false,
            editDisplay: false,
            // viewDisplay: false,
          },
          {
            label: "回复内容",
            prop: "replyContent",
            type: "textarea",
            span: 24,
            addDisplay: false,
            editDisplay: false,
            rules: [
              {
                  label: "接收人",
                  prop: "replyRealName",
                  addDisplay: false,
                  editDisplay: false,
                  viewDisplay: false,
                required: true,
                message: "请输入回复内容",
                trigger: "blur",
              },
              {
                  label: "接收人单位",
                  prop: "replyDeptName",
                  addDisplay: false,
                  editDisplay: false,
                  // viewDisplay: false,
              },
              {
                  label: "回复内容",
                  prop: "replyContent",
                  type: "textarea",
                  span: 24,
                  addDisplay: false,
                  editDisplay: false,
                  rules: [{
                      required: true,
                      message: "请输入回复内容",
                      trigger: "blur"
                  }]
              }
          ],
            ],
          },
        ],
      },
      data: [],
    };
@@ -242,7 +263,9 @@
      userInfo: (state) => state.user.userInfo,
    }),
  },
  mounted() {},
  mounted() {
    this.$store.commit("setWindowSizeHeightAdd");
  },
  methods: {
    rowSave(row, done, loading) {
      row.receivedIds = row.receivedIds.join(",");
@@ -381,6 +404,7 @@
          const data = res.data.data;
          that.page.total = data.total;
          that.data = data.records;
          this.$store.commit("setWindowSizeHeightAdd");
          that.loading = false;
          that.selectionClear();
        });
@@ -390,5 +414,4 @@
};
</script>
<style>
</style>
<style></style>
vue.config.js
@@ -1,46 +1,47 @@
module.exports = {
    //路径前缀
    publicPath: "/",
    lintOnSave: true,
    productionSourceMap: false,
    chainWebpack: (config) => {
        //忽略的打包文件
        config.externals({
            'vue': 'Vue',
            'vue-router': 'VueRouter',
            'vuex': 'Vuex',
            'axios': 'axios',
            'element-ui': 'ELEMENT',
        });
        const entry = config.entry('app');
        entry.add('babel-polyfill').end();
        entry.add('classlist-polyfill').end();
        entry.add('@/mock').end();
    },
    css: {
        extract: { ignoreOrder: true }
    },
    //开发模式反向代理配置,生产模式请使用Nginx部署并配置反向代理
    devServer: {
        port: 1888,
        disableHostCheck: true,
        proxy: {
            '/api': {
                //本地服务接口地址
                // target: 'http://192.168.0.109:1',
                //远程演示服务地址,可用于直接启动项目
                // target: 'http://2h3f861221.wicp.vip:58646',
                // target: 'http://192.168.0.114:82',
                // target: 'http://192.168.0.108:82',
                // target: 'http://192.168.0.110:82',
                target: 'http://s16s652780.51mypc.cn/api',
                // 服务器使用
                // target: 'http://localhost:82',
                ws: true,
                pathRewrite: {
                    '^/api': '/'
                }
            }
        }
  //路径前缀
  publicPath: "/",
  lintOnSave: true,
  productionSourceMap: false,
  chainWebpack: (config) => {
    //忽略的打包文件
    config.externals({
      'vue': 'Vue',
      'vue-router': 'VueRouter',
      'vuex': 'Vuex',
      'axios': 'axios',
      'element-ui': 'ELEMENT',
    });
    const entry = config.entry('app');
    entry.add('babel-polyfill').end();
    entry.add('classlist-polyfill').end();
    entry.add('@/mock').end();
  },
  css: {
    extract: {
      ignoreOrder: true
    }
  },
  //开发模式反向代理配置,生产模式请使用Nginx部署并配置反向代理
  devServer: {
    port: 1888,
    disableHostCheck: true,
    proxy: {
      '/api': {
        //本地服务接口地址
        // target: 'http://192.168.0.109:1',
        //远程演示服务地址,可用于直接启动项目
        // target: 'http://2h3f861221.wicp.vip:58646',
        // target: 'http://192.168.0.114:82',
        // target: 'http://192.168.0.108:82',
        // target: 'http://192.168.0.110:82',
        // 服务器使用
        target: 'http://localhost:82',
        ws: true,
        pathRewrite: {
          '^/api': '/'
        }
      }
    }
  }
};