68个表格在1366*768下的适配,保安单位情况智能分析中的图表的适配以及其按钮会被遮住不能点击
80 files modified
1 files added
16466 ■■■■ changed files
src/store/getters.js 9 ●●●●● patch | view | raw | blame | history
src/store/modules/control.js 311 ●●●● patch | view | raw | blame | history
src/store/onresize.js 51 ●●●●● patch | view | raw | blame | history
src/styles/element-ui.scss 175 ●●●●● patch | view | raw | blame | history
src/styles/smallSize.scss 111 ●●●●● patch | view | raw | blame | history
src/views/accreditationRecords/accreditationRecords.vue 223 ●●●● patch | view | raw | blame | history
src/views/accreditationRecords/accreditationRecordsPaper.vue 212 ●●●● patch | view | raw | blame | history
src/views/applyexam/index.vue 474 ●●●● patch | view | raw | blame | history
src/views/authority/apiscope.vue 197 ●●●● patch | view | raw | blame | history
src/views/authority/datascope.vue 216 ●●●● patch | view | raw | blame | history
src/views/authority/role.vue 84 ●●●● patch | view | raw | blame | history
src/views/companyApply/index.vue 393 ●●●● patch | view | raw | blame | history
src/views/desk/notice.vue 103 ●●●● patch | view | raw | blame | history
src/views/desk/notification.vue 99 ●●●● patch | view | raw | blame | history
src/views/desk/policyRelease.vue 99 ●●●● patch | view | raw | blame | history
src/views/dispatch/dispatch.vue 308 ●●●● patch | view | raw | blame | history
src/views/dispatch/dispatchChildoperable.vue 173 ●●●● patch | view | raw | blame | history
src/views/dispatch/dispatchChildoperableSee.vue 168 ●●●● patch | view | raw | blame | history
src/views/exam/examPayment.vue 235 ●●●● patch | view | raw | blame | history
src/views/exam/performance.vue 310 ●●●● patch | view | raw | blame | history
src/views/exam/singleperformance.vue 234 ●●●● patch | view | raw | blame | history
src/views/exam/startexam.vue 193 ●●●● patch | view | raw | blame | history
src/views/exam/subject.vue 287 ●●●● patch | view | raw | blame | history
src/views/licenseApproval/branchOffice.vue 220 ●●●● patch | view | raw | blame | history
src/views/licenseApproval/cancellationOfFiling.vue 200 ●●●● patch | view | raw | blame | history
src/views/licenseApproval/crossRegion.vue 216 ●●●● patch | view | raw | blame | history
src/views/licenseApproval/securityGuard.vue 262 ●●●● patch | view | raw | blame | history
src/views/licenseApproval/securityPermit.vue 216 ●●●● patch | view | raw | blame | history
src/views/licenseApproval/securityTraining.vue 216 ●●●● patch | view | raw | blame | history
src/views/ownerFeedback/owner.vue 89 ●●●● patch | view | raw | blame | history
src/views/people/data.js 668 ●●●● patch | view | raw | blame | history
src/views/people/expression.vue 52 ●●●● patch | view | raw | blame | history
src/views/people/job.vue 52 ●●●● patch | view | raw | blame | history
src/views/recruitmentManagement/index.vue 106 ●●●● patch | view | raw | blame | history
src/views/resource/attach.vue 85 ●●●● patch | view | raw | blame | history
src/views/resource/oss.vue 116 ●●●● patch | view | raw | blame | history
src/views/securityAnalysis/child/assignment copy.vue 271 ●●●● patch | view | raw | blame | history
src/views/securityAnalysis/child/assignment.vue 84 ●●●● patch | view | raw | blame | history
src/views/securityAnalysis/child/certificate.vue 85 ●●●● patch | view | raw | blame | history
src/views/securityAnalysis/child/dispatch.vue 78 ●●●● patch | view | raw | blame | history
src/views/securityAnalysis/child/examination.vue 78 ●●●● patch | view | raw | blame | history
src/views/securityAnalysis/child/loginRecord.vue 108 ●●●● patch | view | raw | blame | history
src/views/securityAnalysis/child/situation.vue 65 ●●●● patch | view | raw | blame | history
src/views/securityAnalysis/child/socialSecurity.vue 62 ●●●● patch | view | raw | blame | history
src/views/securityAnalysis/index.vue 646 ●●●●● patch | view | raw | blame | history
src/views/securityEquipment/car.vue 191 ●●●● patch | view | raw | blame | history
src/views/securityEquipment/equipments.vue 189 ●●●● patch | view | raw | blame | history
src/views/securityEquipment/gun.vue 174 ●●●● patch | view | raw | blame | history
src/views/securityGuard/data.js 1518 ●●●● patch | view | raw | blame | history
src/views/securityGuard/securityGuard.vue 190 ●●●●● patch | view | raw | blame | history
src/views/securityUnit/localCompany.vue 301 ●●●● patch | view | raw | blame | history
src/views/securityUnit/securityTraining.vue 298 ●●●● patch | view | raw | blame | history
src/views/securityUnit/selfRecruitedSecurityGuard.vue 304 ●●●● patch | view | raw | blame | history
src/views/securityUnit/transRegionalcompany.vue 299 ●●●● patch | view | raw | blame | history
src/views/securityUnitChild/index copy.vue 329 ●●●● patch | view | raw | blame | history
src/views/securityUnitChild/index.vue 198 ●●●● patch | view | raw | blame | history
src/views/securityUnitChild/manager.vue 153 ●●●● patch | view | raw | blame | history
src/views/securityUnitChild/shareholder.vue 102 ●●●● patch | view | raw | blame | history
src/views/securityUnitChild/social.vue 128 ●●●● patch | view | raw | blame | history
src/views/statisticalQueryManagement/businessStatistics.vue 147 ●●●● patch | view | raw | blame | history
src/views/statisticalQueryManagement/securityGuardStatistics.vue 123 ●●●● patch | view | raw | blame | history
src/views/system/client.vue 128 ●●●● patch | view | raw | blame | history
src/views/system/dept.vue 97 ●●●● patch | view | raw | blame | history
src/views/system/dict.vue 158 ●●●● patch | view | raw | blame | history
src/views/system/dictbiz.vue 157 ●●●● patch | view | raw | blame | history
src/views/system/menu.vue 129 ●●●● patch | view | raw | blame | history
src/views/system/param.vue 27 ●●●●● patch | view | raw | blame | history
src/views/system/post.vue 91 ●●●● patch | view | raw | blame | history
src/views/system/tenant.vue 117 ●●●● patch | view | raw | blame | history
src/views/system/topmenu.vue 84 ●●●● patch | view | raw | blame | history
src/views/system/user.vue 254 ●●●● patch | view | raw | blame | history
src/views/talk/talk.vue 89 ●●●●● patch | view | raw | blame | history
src/views/trainExam/index.vue 397 ●●●● patch | view | raw | blame | history
src/views/trainExam/modifiedGrades.vue 357 ●●●● patch | view | raw | blame | history
src/views/trainExam/performance.vue 309 ●●●● patch | view | raw | blame | history
src/views/trainExam/singleperformance.vue 317 ●●●● patch | view | raw | blame | history
src/views/traincompany/index.vue 126 ●●●● patch | view | raw | blame | history
src/views/trainingRegistration/index.vue 125 ●●●● patch | view | raw | blame | history
src/views/workreport/workreply.vue 70 ●●●● patch | view | raw | blame | history
src/views/workreport/workreport.vue 67 ●●●●● patch | view | raw | blame | history
src/views/zc/zc.vue 83 ●●●● patch | view | raw | blame | history
src/store/getters.js
@@ -7,7 +7,8 @@
  themeName: state => state.common.themeName,
  isShade: state => state.common.isShade,
  isCollapse: state => state.common.isCollapse,
  keyCollapse: (state, getters) => getters.screen > 1 ? getters.isCollapse : false,
  keyCollapse: (state, getters) =>
    getters.screen > 1 ? getters.isCollapse : false,
  screen: state => state.common.screen,
  isLock: state => state.common.isLock,
  isFullScren: state => state.common.isFullScren,
@@ -31,5 +32,7 @@
  windowWidth: state => state.control.windowWidth,
  windowHeight: state => state.control.windowHeight,
  table_height: state => state.control.table_height,
}
export default getters
  screenSize: state => state.control.screenSize,
  screenHeight: state => state.control.screenHeight
};
export default getters;
src/store/modules/control.js
@@ -1,7 +1,14 @@
// 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: {
@@ -9,97 +16,110 @@
      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],
      pageSizes: [15, 30, 50, 100]
    },
    windowWidth: 1025,
    windowHeight: 990,
    heightTimesOut: '',
    windowWidth: innerWH.innerWidth,
    windowHeight: innerWH.innerHeight,
    tableWindowHeight: innerWH.innerHeight,
    heightTimesOut: "",
    table_height: "",
    butState: '',
    oldOpens: ''
    butState: "",
    oldOpens: "",
    screenSize: screenSizes.w <= 1366 && screenSizes.h <= 768,
    screenHeight: 1000,
    searchOpen: {
      searchIndex: 6, //收缩展示数量
      searchIcon: true, //搜索是否收缩
      height: window.screen.height //初始高度
    }
  },
  actions: {
    WHchangeHight({ state, commit }, data) {
    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);
        }
        state.heightTimesOut = setTimeout(() => {
          clearTimeout(state.heightTimesOut);
          state.heightTimesOut = '';
        }, 300);
      }
    },
    TABLE_CHANGEBUTPOSITION({ state, commit, dispatch }, data) {
      let changedom = function (val) {
        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 butX = 0;
        if (data.from == "mounted") {
          commit("setOldOpens", '')
          commit("setButOpens", '')
        }
        // console.log(state.butState, val, butsheight)
        if (state.butState == "展 开") {
          commit("setOldOpens", '')
        }
        if (val == "收 缩") {
          commit("setOldOpens", butsheight)
        } else if (val == undefined && state.oldOpens) {
          butsheight = state.oldOpens;
          butX = state.oldOpens - heard.clientHeight;
          // commit("setOldOpens", '')
        }
        // console.log(state.butState, val, butsheight, butX);
        let sets = window.innerWidth <= 1376 && window.innerHeight <= 778;
        let usNumOpens = sets ? -78 : -78;
        if (butX || sets) {
          Open.style.top = usNumOpens - +butX + "px";
        }
        buts.style.top = butsheight + "px";
        if (val != "收 缩") {
          let other = data.otherclass || [];
          if (other && state.windowWidth >= 1024)
            for (let k in other) {
              let otherbuts = document.getElementsByClassName(other[k])[0]
              otherbuts.style.top = butsheight + 27 + "px";
            }
        }
        if (state.butState == "收 缩" && !val) {
          Open.click();
        }
        if (data.haveOpen && !val) {// 是否有展开按钮
          Open.onclick = function (e) {
            changedom(e.srcElement.innerText);
            //固定高度
            //调用改变高度
            if (e.srcElement.innerText == "展 开") {
              state.windowHeight += 1;
            } else {
              state.windowHeight -= 1;
            }
            commit("setButOpens", e.srcElement.innerText)
    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";
          }
        }
      }
      changedom();
      // 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) {
    TABLE_CHANGEHEIGHT({
      state,
      commit
    }, data) {
      let h = +state.windowHeight - (+data.searchHeight + +data.flowHeight);
      console.log(h)
      console.log(h);
      state.table_height = h;
      // commit("settable_height", h);
    },
    changeZoom({ state, commit }, data) {
    changeZoom({
      state,
      commit,
      dispatch
    }, data) {
      if (window.innerWidth <= 1396 && window.innerHeight <= 798) {
        // var devicewidth = document.documentElement.clientWidth; //获取当前分辨率下的可是区域宽度
        // console.log(devicewidth)
@@ -113,16 +133,132 @@
          // 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 ? 165 : 302;
                  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 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);
                }
                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"
          $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");
        },
        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(data)
      // console.log(state.windowHeight, "state.windowHeight")
    },
    setWindowSizeHeight: (state, data) => {
      state.tableWindowHeight = data;
      // console.log(state.tableWindowHeight, "state.tableWindowHeight")
    },
    setWindowSizeHeightAdd: (state, data) => {
      state.windowHeight += 1;
      setTimeout(() => {
        state.tableWindowHeight += 1;
      }, 0);
    },
    setButOpens(state, data) {
      state.butState = data;
@@ -130,9 +266,40 @@
    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
@@ -1,21 +1,26 @@
import _this from '../main'
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);
        // console.log(' window.innerWidth', window.innerWidth);
        // console.log(' window.innerHeight', window.innerHeight);
        _this.$store.dispatch("changeZoom");
  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 触发间隔毫秒
@@ -23,20 +28,24 @@
var lastClick = Date.now() - ms;
// 初始化
setTimeout(() => {
    init();
  init();
}, 500);
// 改变窗口大小时重新设置 rem
// window.onresize = function () {
//     // 节流
//     // 节流
//     if (Date.now() - lastClick >= ms) {
//         init();
//         lastClick = Date.now();
//     }
// }
window.addEventListener('resize', () => {
    // 节流
window.addEventListener(
  "resize",
  () => {
    // 节流
    if (Date.now() - lastClick >= ms) {
        init();
        lastClick = Date.now();
      init();
      lastClick = Date.now();
    }
}, false)
  },
  false
);
src/styles/element-ui.scss
@@ -1,6 +1,6 @@
.el-dropdown-menu__item {
    font-size: 12px !important;
    line-height: 28px !important;
  font-size: 12px !important;
  line-height: 28px !important;
}
//.el-card.is-always-shadow {
@@ -8,43 +8,43 @@
//  border: none !important;
//}
.el-scrollbar__view {
    height: 100%;
  height: 100%;
}
.el-menu--horizontal {
    border-bottom: none !important;
  border-bottom: none !important;
}
.el-menu {
    border-right: none !important;
  border-right: none !important;
}
.el-menu--display,
.el-menu--display + .el-submenu__icon-arrow {
    display: none;
  display: none;
}
.el-message__icon,
.el-message__content {
    display: inline-block;
  display: inline-block;
}
.el-date-editor .el-range-input,
.el-date-editor .el-range-separator {
    height: auto;
    overflow: hidden;
  height: auto;
  overflow: hidden;
}
.el-dialog__wrapper {
    z-index: 2048;
  z-index: 2048;
}
.el-col {
    margin-bottom: 8px;
  margin-bottom: 8px;
}
.el-main {
    padding: 0 !important;
  padding: 0 !important;
}
.el-dropdown-menu__item--divided:before,
@@ -52,7 +52,7 @@
.el-menu--horizontal > .el-menu-item:not(.is-disabled):focus,
.el-menu--horizontal > .el-menu-item:not(.is-disabled):hover,
.el-menu--horizontal > .el-submenu .el-submenu__title:hover {
    background-color: transparent;
  background-color: transparent;
}
.el-dropdown-menu__item--divided:before,
@@ -60,24 +60,24 @@
.el-menu--horizontal > .el-menu-item:not(.is-disabled):focus,
.el-menu--horizontal > .el-menu-item:not(.is-disabled):hover,
.el-menu--horizontal > .el-submenu .el-submenu__title:hover {
    background-color: transparent !important;
  background-color: transparent !important;
}
.el-card__header {
    padding: 6px 18px !important;
  padding: 6px 18px !important;
}
.el-card__body {
    //padding: 16px !important;
  //padding: 16px !important;
}
.el-divider--horizontal {
    margin: 12px 0 !important;
  margin: 12px 0 !important;
}
//表格斑马纹
.el-table tr:nth-child(2n -1) {
    // background-color: rgba($color: #000000, $alpha: 0.1) !important;
  // background-color: rgba($color: #000000, $alpha: 0.1) !important;
}
// //顶部搜索栏
@@ -199,86 +199,86 @@
//   width: 165px !important;
// }
.avue-form__menu--center .el-button {
    float: left;
  float: left;
}
.dispatch .avue-form__menu--center .el-button {
    float: none;
  float: none;
}
.avue-form__menu--center .el-button:nth-child(1) {
    margin-left: 30px;
  margin-left: 30px;
}
//左侧导航栏
.avue-logo {
    background-color: #409eff !important;
    color: #fff !important;
  background-color: #409eff !important;
  color: #fff !important;
}
.avue-sidebar {
    background-color: #fff !important;
  background-color: #fff !important;
}
.avue-header {
    background-color: #409eff !important;
    color: #fff !important;
  background-color: #409eff !important;
  color: #fff !important;
}
.avue-sidebar .el-menu-item span,
.avue-sidebar .el-submenu__title span,
.avue-sidebar .el-submenu__title i,
.avue-sidebar .el-menu-item i {
    color: rgba($color: #000000, $alpha: 0.8) !important;
  color: rgba($color: #000000, $alpha: 0.8) !important;
}
// 菜单 活动背景
.avue-sidebar .el-menu-item.is-active {
    background-color: #409eff !important;
  background-color: #409eff !important;
}
.avue-sidebar .el-menu-item.is-active span,
.el-menu-item.is-active i {
    color: #fff !important;
  color: #fff !important;
}
//top 导航 按钮
.el-menu--horizontal > .el-menu-item.is-active,
.avue-top,
.el-dropdown {
    color: #fff !important;
  color: #fff !important;
}
.securityPapers {
    width: 100%;
    height: 100%;
    background-color: #f4f6f8;
    position: absolute;
    top: 40px;
    left: 0;
  width: 100%;
  height: 100%;
  background-color: #f4f6f8;
  position: absolute;
  top: 40px;
  left: 0;
}
.securityGuard .avue-form__menu {
    position: relative;
    width: 100%;
    display: flex;
    flex-direction: row-reverse;
  position: relative;
  width: 100%;
  display: flex;
  flex-direction: row-reverse;
}
.businessLicense .avue-upload__avatar,
.businessLicense .avue-upload__icon {
    // 图片
    width: 450px !important;
    height: 680px !important;
    line-height: 680px !important;
  // 图片
  width: 450px !important;
  height: 680px !important;
  line-height: 680px !important;
}
.License .avue-upload__avatar,
.License .avue-upload__icon {
    // 图片
    width: 1048px !important;
    height: 680px !important;
    line-height: 680px !important;
  // 图片
  width: 1048px !important;
  height: 680px !important;
  line-height: 680px !important;
}
//保安员管理  查看按钮放前
@@ -286,53 +286,78 @@
//     position: relative;
//     right: 70px;
// }
.securityGuard .el-button.el-button--text.el-button--small:nth-child(1) {
    position: relative;
    right: 70px;
}
// .securityGuard .el-button.el-button--text.el-button--small:nth-child(1) {
//   position: relative;
//   right: 70px;
// }
.avue-empty__desc {
    color: #fff !important;
  color: #fff !important;
}
.certificateTJ .avue-form__menu--center {
    // 统计图持证表格按钮过长
    width: 320px !important;
  // 统计图持证表格按钮过长
  width: 320px !important;
}
.el-menu.el-menu--popup.el-menu--popup-right-start {
    //菜单折叠  弹窗样式
    .el-menu-item span,
    .el-menu-item i {
        color: rgba($color: #000000, $alpha: 0.7) !important;
    }
    li:hover {
        background-color: #bcdcfd !important;
    }
  //菜单折叠  弹窗样式
  .el-menu-item span,
  .el-menu-item i {
    color: rgba($color: #000000, $alpha: 0.7) !important;
  }
  li:hover {
    background-color: #bcdcfd !important;
  }
}
.addCompany {
    .avue-form__menu--center .el-button {
        float: none;
    }
  .avue-form__menu--center .el-button {
    float: none;
  }
}
.avue-form__group > div:last-child {
    display: inline-block !important;
    // width: auto !important;
  display: inline-block !important;
  // width: auto !important;
}
// 表格搜索按钮样式覆盖
@import "./tableSearchBut.scss";
// @import "./tableSearchBut.scss";
//用户手册
.userSManual .el-card.basic-container__card.is-always-shadow,
.userSManual .el-card__body {
    width: 100% !important;
    height: 100% !important;
    box-sizing: border-box !important;
  width: 100% !important;
  height: 100% !important;
  box-sizing: border-box !important;
}
// 整体缩放
body {
    zoom: 0.997;
    // font-size: xx-small;
// body {
//     zoom: 0.997;
//     // font-size: xx-small;
// }
@import "./smallSize.scss";
//表格操作栏
.el-tooltip__popper.is-light.caozuolanpopper {
  padding-left: 0;
  padding-right: 0;
  border: 1px solid #409eff;
  &[x-placement^=bottom] .popper__arrow {
    border-bottom-color: #409eff !important;
  }
  &[x-placement^=top] .popper__arrow {
    border-top-color: #409eff !important;
  }
  .el-button.el-button--text.el-button--small {
    padding-left: 10px;
    padding-right: 10px;
    &:hover {
      background-color: #409eff;
      color: #fff;
    }
  }
}
src/styles/smallSize.scss
New file
@@ -0,0 +1,111 @@
.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 {
  //设置正常的表格边距
  //搜索框
  .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;
}
src/views/accreditationRecords/accreditationRecords.vue
@@ -2,10 +2,12 @@
  <basic-container
    :class="[
      'desk1',
      $store.state.control.windowWidth >= 1024 ? 'tooRowSearch' : '',
      $store.state.control.screenSize == 1366 ? 'smallSize' : 'normalSize',
      $store.state.control.windowWidth >= 1024 ? 'tooRowSearch1' : ''
    ]"
  >
    <avue-crud
      class="tablesss"
      :option="option"
      :table-loading="loading"
      :data="data"
@@ -157,7 +159,7 @@
  getAccreditationRecords,
  batchAccreditation,
  audit,
  batchAudit,
  batchAudit
} from "@/api/accreditationRecords/accreditationRecords";
import { getDept } from "@/api/system/dept";
import { mapGetters } from "vuex";
@@ -167,23 +169,23 @@
import Legend from "@/components/liu-legend/Legend";
export default {
  components: {
    Legend,
    Legend
  },
  data() {
    return {
      datalistLIU: [
        {
          color: "#29C093",
          text: "审核通过",
          text: "审核通过"
        },
        {
          color: "#F34A4A",
          text: "审核不通过",
          text: "审核不通过"
        },
        {
          color: "#F48F57",
          text: "待审核",
        },
          text: "待审核"
        }
      ],
      check: false,
      form: {},
@@ -200,7 +202,7 @@
        pageSize: 10,
        currentPage: 1,
        total: 0,
        ...this.$store.state.control.changePageSize,
        ...this.$store.state.control.changePageSize
      },
      Audit: {},
      dialogFormVisible: false,
@@ -238,34 +240,34 @@
              {
                required: true,
                message: "请选择审核类型",
                trigger: "blur",
              },
                trigger: "blur"
              }
            ],
            dicData: [
              {
                label: "待审核",
                value: 1,
                value: 1
              },
              {
                label: "审核通过",
                value: 2,
                value: 2
              },
              {
                label: "审核不通过",
                value: 3,
              },
            ],
                value: 3
              }
            ]
          },
          {
            label: "审核明细",
            span: 24,
            type: "textarea",
            prop: "auditDetail",
          },
        ],
            prop: "auditDetail"
          }
        ]
      },
      batchAudit: {
        number: 0,
        number: 0
      },
      optionBatchAudit: {
        height: "auto",
@@ -291,7 +293,7 @@
            span: 24,
            value: 0,
            disabled: true,
            labelWidth: 110,
            labelWidth: 110
          },
          {
            label: "审核状态",
@@ -307,31 +309,31 @@
              {
                required: true,
                message: "请选择审核类型",
                trigger: "blur",
              },
                trigger: "blur"
              }
            ],
            dicData: [
              {
                label: "待审核",
                value: 1,
                value: 1
              },
              {
                label: "审核通过",
                value: 2,
                value: 2
              },
              {
                label: "审核不通过",
                value: 3,
              },
            ],
                value: 3
              }
            ]
          },
          {
            label: "审核明细",
            span: 24,
            type: "textarea",
            prop: "auditDetail",
          },
        ],
            prop: "auditDetail"
          }
        ]
      },
      choiceList: [],
      selectionList: [],
@@ -357,6 +359,7 @@
        menuWidth: 210,
        dialogClickModal: false,
        ...this.$store.state.control.clearOtherBut,
        searchIndex: 5, //收缩展示数量
        column: [
          {
            label: "申请时间",
@@ -375,9 +378,9 @@
              {
                required: true,
                message: "请输入申请时间",
                trigger: "blur",
              },
            ],
                trigger: "blur"
              }
            ]
          },
          {
            label: "姓名",
@@ -385,7 +388,7 @@
            search: true,
            searchSpan: 3,
            width: 100,
            searchLabelWidth: 50,
            searchLabelWidth: 50
            // display: false,
          },
          // {
@@ -409,20 +412,20 @@
          // },
          {
            label: "企业名称",
            searchLabelWidth: "110",
            searchLabelWidth: "90",
            prop: "deptName",
            slot: true,
            searchSpan: 5,
            search: true,
            overHidden: true,
            minWidth: 160,
            minWidth: 160
          },
          {
            label: "性别",
            prop: "sex",
            width: 80,
            type: "select",
            display: false,
            display: false
          },
          {
            label: "身份证号码",
@@ -430,19 +433,19 @@
            search: true,
            searchLabelWidth: 90,
            searchSpan: 5,
            width:140,
            width: 140
          },
          {
            label: "年龄",
            prop: "age",
            width:60,
            width: 60
          },
          {
            label: "照片",
            prop: "avatar",
            type: "upload",
            listType: "picture-img",
            width:60
            width: 60
          },
          {
            label: "保安证编号",
@@ -450,9 +453,9 @@
            search: true,
            searchLabelWidth: 90,
            width: 110,
            searchSpan: 5,
            searchSpan: 4,
            addDisplay: false,
            editDisplay: false,
            editDisplay: false
            // hide: true,
          },
@@ -464,7 +467,7 @@
            minWidth: 80,
            // searchSpan: 4,
            addDisplay: false,
            editDisplay: false,
            editDisplay: false
            // hide: true,
          },
          {
@@ -473,9 +476,9 @@
            search: true,
            searchLabelWidth: 120,
            minWidth: 120,
            searchSpan: 5,
            searchSpan: 4,
            addDisplay: false,
            editDisplay: false,
            editDisplay: false
            // hide: true,
          },
          {
@@ -486,7 +489,7 @@
            width: 140,
            // searchSpan: 4,
            addDisplay: false,
            editDisplay: false,
            editDisplay: false
            // hide: true,
          },
          {
@@ -504,17 +507,17 @@
            dicData: [
              {
                label: "全部",
                value: 3,
                value: 3
              },
              {
                label: "有",
                value: 1,
                value: 1
              },
              {
                label: "无",
                value: 2,
              },
            ],
                value: 2
              }
            ]
          },
          {
            label: "审核状态",
@@ -531,17 +534,17 @@
            dicData: [
              {
                label: "待审核",
                value: 1,
                value: 1
              },
              {
                label: "审核通过",
                value: 2,
                value: 2
              },
              {
                label: "审核不通过",
                value: 3,
              },
            ],
                value: 3
              }
            ]
          },
          {
            label: "审核明细",
@@ -550,7 +553,7 @@
            addDisplay: false,
            editDisplay: false,
            hide: false,
            display: false,
            display: false
          },
          {
            label: "是否制证",
@@ -565,21 +568,21 @@
            dicData: [
              {
                label: "全部",
                value: 3,
                value: 3
              },
              {
                label: "已制证",
                value: 2,
                value: 2
              },
              {
                label: "未制证",
                value: 1,
              },
            ],
          },
        ],
                value: 1
              }
            ]
          }
        ]
      },
      data: [],
      data: []
    };
  },
  computed: {
@@ -595,31 +598,31 @@
          this.permission.accreditationRecords_delete,
          false
        ),
        editBtn: this.vaildData(null, false),
        editBtn: this.vaildData(null, false)
      };
    },
    ids() {
      let ids = [];
      this.selectionList.forEach((ele) => {
      this.selectionList.forEach(ele => {
        ids.push(ele.id);
      });
      return ids.join(",");
    },
    ...mapState({
      userInfo: (state) => state.user.userInfo,
    }),
      userInfo: state => state.user.userInfo
    })
  },
  mounted() {
    this.getDeptInfo(this.userInfo.dept_id);
    this.$store.commit("setWindowSizeHeightAdd");
  },
  created() {
    if (this.userInfo.role_name == "上岗证办理管理员") {
      this.questionBankSearch["status"] = 1;
      this.questionBankSearch["auditStatus"] = 2;
      this.option.reserveSelection= false;
      this.option.tip= false;
      this.option.selection= false;
      this.option.reserveSelection = false;
      this.option.tip = false;
      this.option.selection = false;
    }
    if (this.userInfo.role_name == "公安管理员") {
      //判断是否为市局管理员
@@ -640,10 +643,10 @@
    submit(row, done, loading) {
      const data = {
        id: row.id,
        type:1,
        type: 1,
        auditStatus: row.auditStatus,
        auditDetail: row.auditDetail,
        auditUser: this.userInfo.Id,
        auditUser: this.userInfo.Id
      };
      audit(data).then(
@@ -652,11 +655,11 @@
          this.onLoad(this.page);
          this.$message({
            type: "success",
            message: "操作成功!",
            message: "操作成功!"
          });
          done();
        },
        (error) => {
        error => {
          window.console.log(error);
          loading();
        }
@@ -667,7 +670,7 @@
      if (this.choiceList.length == 0) {
        this.$message({
          message: "未选择保安员",
          type: "warning",
          type: "warning"
        });
        return;
      }
@@ -690,7 +693,7 @@
        type: 1,
        auditStatus: row.auditStatus,
        auditDetail: row.auditDetail,
        auditUser: this.userInfo.Id,
        auditUser: this.userInfo.Id
      };
      //提交申请
      batchAudit(data).then(
@@ -700,13 +703,13 @@
          that.dialogBatchAudit = false;
          this.$message({
            type: "success",
            message: "操作成功",
            message: "操作成功"
          });
          //清除选项
          that.$refs.crud.toggleSelection();
          done();
        },
        (error) => {
        error => {
          window.console.log(error);
          loading();
        }
@@ -718,14 +721,11 @@
        this.$message.warning("请勾选至少一位持证保安员");
        return;
      }
      this.$confirm(
        "共选择人数" + this.choiceList.length + "人,确定已制证?",
        {
          confirmButtonText: "确定",
          cancelButtonText: "取消",
          type: "warning",
        }
      )
      this.$confirm("共选择人数" + this.choiceList.length + "人,确定已制证?", {
        confirmButtonText: "确定",
        cancelButtonText: "取消",
        type: "warning"
      })
        .then(() => {
          let cho = this.choiceList;
          let str = "";
@@ -738,7 +738,7 @@
          const data = {
            ids: str,
            createUser: this.userInfo.user_id,
            type: 1,
            type: 1
          };
          return batchAccreditation(data);
        })
@@ -747,14 +747,14 @@
          this.$refs.crud.toggleSelection();
          this.$message({
            type: "success",
            message: "操作成功!",
            message: "操作成功!"
          });
        });
    },
    //获取当前用户部门信息
    getDeptInfo(deptId) {
      var that = this;
      getDept(deptId).then((res) => {
      getDept(deptId).then(res => {
        var deptCategory = res.data.data.deptCategory;
        deptCategory == 1
          ? (that.deptCategory = true)
@@ -767,8 +767,8 @@
        path: `/resource/uploadNotice`,
        query: {
          deptId: row.deptId,
          noticeId: row.id,
        },
          noticeId: row.id
        }
      });
    },
    rowSave(row, done, loading) {
@@ -784,11 +784,11 @@
          this.onLoad(this.page);
          this.$message({
            type: "success",
            message: "操作成功!",
            message: "操作成功!"
          });
          done();
        },
        (error) => {
        error => {
          window.console.log(error);
          loading();
        }
@@ -806,11 +806,11 @@
          this.onLoad(this.page);
          this.$message({
            type: "success",
            message: "操作成功!",
            message: "操作成功!"
          });
          done();
        },
        (error) => {
        error => {
          window.console.log(error);
          loading();
        }
@@ -820,7 +820,7 @@
      this.$confirm("确定将选择数据删除?", {
        confirmButtonText: "确定",
        cancelButtonText: "取消",
        type: "warning",
        type: "warning"
      })
        .then(() => {
          return remove(row.id);
@@ -829,7 +829,7 @@
          this.onLoad(this.page);
          this.$message({
            type: "success",
            message: "操作成功!",
            message: "操作成功!"
          });
        });
    },
@@ -848,7 +848,7 @@
      this.choiceList = [];
      for (let k in list) {
        this.choiceList.push({
          id: list[k].id,
          id: list[k].id
        });
      }
    },
@@ -864,7 +864,7 @@
      this.$confirm("确定将选择数据删除?", {
        confirmButtonText: "确定",
        cancelButtonText: "取消",
        type: "warning",
        type: "warning"
      })
        .then(() => {
          return remove(this.ids);
@@ -873,14 +873,14 @@
          this.onLoad(this.page, this.questionBankSearch);
          this.$message({
            type: "success",
            message: "操作成功!",
            message: "操作成功!"
          });
          this.$refs.crud.toggleSelection();
        });
    },
    beforeOpen(done, type) {
      if (["edit", "view"].includes(type)) {
        getAccreditationRecords(this.form.id).then((res) => {
        getAccreditationRecords(this.form.id).then(res => {
          this.form = res.data.data;
        });
      }
@@ -916,23 +916,24 @@
        params["jurisdiction"] = this.userInfo.jurisdiction;
      }
      let values = {
        ...params,
        ...params
      };
      if (releaseTimeRange) {
        values = {
          ...params,
          startTime: releaseTimeRange[0],
          endTime: releaseTimeRange[1],
          ...this.query,
          ...this.query
        };
        values.releaseTimeRange = null;
      }
      this.loading = true;
      getList(page.currentPage, page.pageSize, values).then((res) => {
      getList(page.currentPage, page.pageSize, values).then(res => {
        const data = res.data.data;
        this.page.total = data.total;
        this.data = data.records;
        this.loading = false;
        this.$store.commit("setWindowSizeHeightAdd");
        this.selectionClear();
      });
    },
@@ -941,7 +942,7 @@
      this.$confirm("是否导出保安员证信息数据?", "提示", {
        confirmButtonText: "确定",
        cancelButtonText: "取消",
        type: "warning",
        type: "warning"
      }).then(() => {
        //获取查询条件
        const { releaseTimeRange } = this.questionBankSearch;
@@ -960,7 +961,7 @@
          startTime: this.questionBankSearch.startTime,
          endTime: this.questionBankSearch.endTime,
          isAvatar: this.questionBankSearch.isAvatar,
          status: this.questionBankSearch.status,
          status: this.questionBankSearch.status
        };
        //导出
        if (this.userInfo.role_name == "保安公司管理员") {
@@ -983,8 +984,8 @@
          }=${getToken()}&` + data
        );
      });
    },
  },
    }
  }
};
</script>
src/views/accreditationRecords/accreditationRecordsPaper.vue
@@ -2,10 +2,12 @@
  <basic-container
    :class="[
      'desk1',
      $store.state.control.windowWidth >= 1024 ? 'tooRowSearch' : '',
      $store.state.control.screenSize == 1366 ? 'smallSize' : 'normalSize',
      $store.state.control.windowWidth >= 1024 ? 'tooRowSearch1' : ''
    ]"
  >
    <avue-crud
      class="tablesss"
      :option="option"
      :table-loading="loading"
      :data="data"
@@ -80,9 +82,9 @@
          >批量审批
        </el-button>
        <!--图例 components-->
              <span>
                <Legend :datas="datalistLIU"></Legend>
              </span>
        <span>
          <Legend :datas="datalistLIU"></Legend>
        </span>
      </template>
      <template slot-scope="{ row }" slot="category">
        <el-tag>{{ row.categoryName }}</el-tag>
@@ -215,7 +217,7 @@
  add,
  getAccreditationRecords,
  audit,
  batchAudit,
  batchAudit
} from "@/api/accreditationRecords/accreditationRecords";
import { updatePaperTime } from "@/api/system/user";
import { getDept } from "@/api/system/dept";
@@ -226,7 +228,7 @@
import Legend from "@/components/liu-legend/Legend";
export default {
  components: {
    Legend,
    Legend
  },
  data() {
    return {
@@ -238,21 +240,21 @@
        realName: "",
        securityNumber: "",
        idCardNo: "",
        registered: "",
        registered: ""
      },
      datalistLIU: [
        {
          color: "#29C093",
          text: "审核通过",
          text: "审核通过"
        },
        {
          color: "#F34A4A",
          text: "审核不通过",
          text: "审核不通过"
        },
        {
          color: "#F48F57",
          text: "待审核",
        },
          text: "待审核"
        }
      ],
      Audit: {},
      dialogFormVisible: false,
@@ -290,34 +292,34 @@
              {
                required: true,
                message: "请选择审核类型",
                trigger: "blur",
              },
                trigger: "blur"
              }
            ],
            dicData: [
              {
                label: "待审核",
                value: 1,
                value: 1
              },
              {
                label: "审核通过",
                value: 2,
                value: 2
              },
              {
                label: "审核不通过",
                value: 3,
              },
            ],
                value: 3
              }
            ]
          },
          {
            label: "审核明细",
            span: 24,
            type: "textarea",
            prop: "auditDetail",
          },
        ],
            prop: "auditDetail"
          }
        ]
      },
      batchAudit: {
        number: 0,
        number: 0
      },
      optionBatchAudit: {
        height: "auto",
@@ -343,7 +345,7 @@
            span: 24,
            value: 0,
            disabled: true,
            labelWidth: 110,
            labelWidth: 110
          },
          {
            label: "审核状态",
@@ -359,31 +361,31 @@
              {
                required: true,
                message: "请选择审核类型",
                trigger: "blur",
              },
                trigger: "blur"
              }
            ],
            dicData: [
              {
                label: "待审核",
                value: 1,
                value: 1
              },
              {
                label: "审核通过",
                value: 2,
                value: 2
              },
              {
                label: "审核不通过",
                value: 3,
              },
            ],
                value: 3
              }
            ]
          },
          {
            label: "审核明细",
            span: 24,
            type: "textarea",
            prop: "auditDetail",
          },
        ],
            prop: "auditDetail"
          }
        ]
      },
      choiceList: [],
      form: {},
@@ -400,7 +402,7 @@
        pageSize: 10,
        currentPage: 1,
        total: 0,
        ...this.$store.state.control.changePageSize,
        ...this.$store.state.control.changePageSize
      },
      selectionList: [],
      option: {
@@ -426,6 +428,7 @@
        menuWidth: 180,
        dialogClickModal: false,
        ...this.$store.state.control.clearOtherBut,
        searchIndex: 5, //收缩展示数量
        column: [
          {
            label: "申请时间",
@@ -444,9 +447,9 @@
              {
                required: true,
                message: "请输入申请时间",
                trigger: "blur",
              },
            ],
                trigger: "blur"
              }
            ]
          },
          {
            label: "姓名",
@@ -454,7 +457,7 @@
            search: true,
            searchSpan: 3,
            width: 90,
            searchLabelWidth: 50,
            searchLabelWidth: 50
            // display: false,
          },
          // {
@@ -489,14 +492,14 @@
            searchSpan: 5,
            search: true,
            overHidden: true,
            minWidth: 200,
            minWidth: 200
          },
          {
            label: "性别",
            prop: "sex",
            width: 60,
            type: "select",
            display: false,
            display: false
          },
          {
            label: "身份证号码",
@@ -504,19 +507,19 @@
            search: true,
            searchLabelWidth: 90,
            minWidth: 110,
            searchSpan: 5,
            searchSpan: 5
          },
          {
            label: "年龄",
            prop: "age",
            width: 50,
            width: 50
          },
          {
            label: "照片",
            prop: "avatar",
            type: "upload",
            listType: "picture-img",
            width:60,
            width: 60
          },
          {
            label: "保安证编号",
@@ -524,9 +527,9 @@
            search: true,
            searchLabelWidth: 90,
            minWidth: 90,
            searchSpan: 5,
            searchSpan: 4,
            addDisplay: false,
            editDisplay: false,
            editDisplay: false
            // hide: true,
          },
          {
@@ -537,7 +540,7 @@
            width: 80,
            // searchSpan: 4,
            addDisplay: false,
            editDisplay: false,
            editDisplay: false
            // hide: true,
          },
          {
@@ -548,7 +551,7 @@
            minWidth: 160,
            searchSpan: 5,
            addDisplay: false,
            editDisplay: false,
            editDisplay: false
            // hide: true,
          },
          {
@@ -559,7 +562,7 @@
            minWidth: 105,
            // searchSpan: 4,
            addDisplay: false,
            editDisplay: false,
            editDisplay: false
            // hide: true,
          },
          {
@@ -577,17 +580,17 @@
            dicData: [
              {
                label: "待审核",
                value: 1,
                value: 1
              },
              {
                label: "审核通过",
                value: 2,
                value: 2
              },
              {
                label: "审核不通过",
                value: 3,
              },
            ],
                value: 3
              }
            ]
          },
          {
            label: "审核明细",
@@ -596,7 +599,7 @@
            addDisplay: false,
            editDisplay: false,
            hide: false,
            display: false,
            display: false
          },
          {
            label: "是否制证",
@@ -611,17 +614,17 @@
            dicData: [
              {
                label: "全部",
                value: 3,
                value: 3
              },
              {
                label: "已制证",
                value: 2,
                value: 2
              },
              {
                label: "未制证",
                value: 1,
              },
            ],
                value: 1
              }
            ]
          },
          {
            label: "有无照片",
@@ -638,21 +641,21 @@
            dicData: [
              {
                label: "全部",
                value: 3,
                value: 3
              },
              {
                label: "有",
                value: 1,
                value: 1
              },
              {
                label: "无",
                value: 2,
              },
            ],
          },
        ],
                value: 2
              }
            ]
          }
        ]
      },
      data: [],
      data: []
    };
  },
  computed: {
@@ -665,22 +668,23 @@
          false
        ),
        delBtn: this.vaildData(null, false),
        editBtn: this.vaildData(null, false),
        editBtn: this.vaildData(null, false)
      };
    },
    ids() {
      let ids = [];
      this.selectionList.forEach((ele) => {
      this.selectionList.forEach(ele => {
        ids.push(ele.id);
      });
      return ids.join(",");
    },
    ...mapState({
      userInfo: (state) => state.user.userInfo,
    }),
      userInfo: state => state.user.userInfo
    })
  },
  mounted() {
    this.getDeptInfo(this.userInfo.dept_id);
    this.$store.commit("setWindowSizeHeightAdd");
    // if (this.userInfo.roleName == "办证管理员") {
    //   this.search["userType"] = 7;
    // }
@@ -705,7 +709,7 @@
    //获取当前用户部门信息
    getDeptInfo(deptId) {
      var that = this;
      getDept(deptId).then((res) => {
      getDept(deptId).then(res => {
        var deptCategory = res.data.data.deptCategory;
        deptCategory == 1
          ? (that.deptCategory = true)
@@ -718,8 +722,8 @@
        path: `/resource/uploadNotice`,
        query: {
          deptId: row.deptId,
          noticeId: row.id,
        },
          noticeId: row.id
        }
      });
    },
    rowSave(row, done, loading) {
@@ -735,11 +739,11 @@
          this.onLoad(this.page);
          this.$message({
            type: "success",
            message: "操作成功!",
            message: "操作成功!"
          });
          done();
        },
        (error) => {
        error => {
          window.console.log(error);
          loading();
        }
@@ -783,7 +787,7 @@
        onEnd: () => {
          this.updateUserInfo();
          // console.log('打印完成', Date.parse(new Date()));
        },
        }
      });
    },
    getNewTime() {
@@ -819,7 +823,7 @@
      const data = {
        id: this.certificateObj.userId,
        userType: 6,
        paperTime: date,
        paperTime: date
      };
      updatePaperTime(data);
      this.onLoad(this.page);
@@ -840,7 +844,7 @@
        type: 2,
        auditStatus: row.auditStatus,
        auditDetail: row.auditDetail,
        auditUser: this.userInfo.Id,
        auditUser: this.userInfo.Id
      };
      //提交申请
      batchAudit(data).then(
@@ -850,13 +854,13 @@
          that.dialogBatchAudit = false;
          this.$message({
            type: "success",
            message: "操作成功",
            message: "操作成功"
          });
          //清除选项
          that.$refs.crud.toggleSelection();
          done();
        },
        (error) => {
        error => {
          window.console.log(error);
          loading();
        }
@@ -874,11 +878,11 @@
          this.onLoad(this.page);
          this.$message({
            type: "success",
            message: "操作成功!",
            message: "操作成功!"
          });
          done();
        },
        (error) => {
        error => {
          window.console.log(error);
          loading();
        }
@@ -889,7 +893,7 @@
      if (this.choiceList.length == 0) {
        this.$message({
          message: "未选择保安员",
          type: "warning",
          type: "warning"
        });
        return;
      }
@@ -900,7 +904,7 @@
      this.$confirm("确定将选择数据删除?", {
        confirmButtonText: "确定",
        cancelButtonText: "取消",
        type: "warning",
        type: "warning"
      })
        .then(() => {
          return remove(row.id);
@@ -909,7 +913,7 @@
          this.onLoad(this.page);
          this.$message({
            type: "success",
            message: "操作成功!",
            message: "操作成功!"
          });
        });
    },
@@ -926,10 +930,10 @@
    submit(row, done, loading) {
      const data = {
        id: row.id,
        type:2,
        type: 2,
        auditStatus: row.auditStatus,
        auditDetail: row.auditDetail,
        auditUser: this.userInfo.Id,
        auditUser: this.userInfo.Id
      };
      audit(data).then(
@@ -938,11 +942,11 @@
          this.onLoad(this.page);
          this.$message({
            type: "success",
            message: "操作成功!",
            message: "操作成功!"
          });
          done();
        },
        (error) => {
        error => {
          window.console.log(error);
          loading();
        }
@@ -959,7 +963,7 @@
      this.choiceList = [];
      for (let k in list) {
        this.choiceList.push({
          id: list[k].id,
          id: list[k].id
        });
      }
    },
@@ -976,7 +980,7 @@
      this.$confirm("确定将选择数据删除?", {
        confirmButtonText: "确定",
        cancelButtonText: "取消",
        type: "warning",
        type: "warning"
      })
        .then(() => {
          return remove(this.ids);
@@ -985,14 +989,14 @@
          this.onLoad(this.page);
          this.$message({
            type: "success",
            message: "操作成功!",
            message: "操作成功!"
          });
          this.$refs.crud.toggleSelection();
        });
    },
    beforeOpen(done, type) {
      if (["edit", "view"].includes(type)) {
        getAccreditationRecords(this.form.id).then((res) => {
        getAccreditationRecords(this.form.id).then(res => {
          this.form = res.data.data;
        });
      }
@@ -1029,23 +1033,24 @@
        params["jurisdiction"] = this.userInfo.jurisdiction;
      }
      let values = {
        ...params,
        ...params
      };
      if (releaseTimeRange) {
        values = {
          ...params,
          startTime: releaseTimeRange[0],
          endTime: releaseTimeRange[1],
          ...this.query,
          ...this.query
        };
        values.releaseTimeRange = null;
      }
      this.loading = true;
      getList(page.currentPage, page.pageSize, values).then((res) => {
      getList(page.currentPage, page.pageSize, values).then(res => {
        const data = res.data.data;
        this.page.total = data.total;
        this.data = data.records;
        this.loading = false;
        this.$store.commit("setWindowSizeHeightAdd");
        this.selectionClear();
      });
    },
@@ -1054,7 +1059,7 @@
      this.$confirm("是否导出证书制证信息数据?", "提示", {
        confirmButtonText: "确定",
        cancelButtonText: "取消",
        type: "warning",
        type: "warning"
      }).then(() => {
        //获取查询条件
        const { releaseTimeRange } = this.questionBankSearch;
@@ -1073,7 +1078,7 @@
          securityNumber: this.questionBankSearch.securityNumber,
          startTime: this.questionBankSearch.startTime,
          endTime: this.questionBankSearch.endTime,
          isAvatar: this.questionBankSearch.isAvatar,
          isAvatar: this.questionBankSearch.isAvatar
        };
        // data['Blade-Auth'] = getToken;
        //导出
@@ -1103,7 +1108,7 @@
      this.$confirm("是否导出证书打印信息数据?", "提示", {
        confirmButtonText: "确定",
        cancelButtonText: "取消",
        type: "warning",
        type: "warning"
      }).then(() => {
        //获取查询条件
        const { releaseTimeRange } = this.questionBankSearch;
@@ -1122,7 +1127,7 @@
          securityNumber: this.questionBankSearch.securityNumber,
          startTime: this.questionBankSearch.startTime,
          endTime: this.questionBankSearch.endTime,
          isAvatar: this.questionBankSearch.isAvatar,
          isAvatar: this.questionBankSearch.isAvatar
        };
        //导出
        if (this.userInfo.role_name == "保安公司管理员") {
@@ -1145,8 +1150,8 @@
          }=${getToken()}&` + data
        );
      });
    },
  },
    }
  }
};
</script>
@@ -1357,7 +1362,6 @@
  line-height: 40px;
  letter-spacing: 2px;
}
.dtype {
  width: 100%;
src/views/applyexam/index.vue
@@ -1,46 +1,33 @@
/*
 * @Author: Morpheus
 * @Date: 2021-07-05 16:31:54
 * @Last Modified by: liu
 * @Last Modified time: 2021-11-23 14:19:17
 * menu-name 报名考试
 */
/* * @Author: Morpheus * @Date: 2021-07-05 16:31:54 * @Last Modified by: liu *
@Last Modified time: 2021-11-23 14:19:17 * menu-name 报名考试 */
<template>
  <el-row class="morpheus-box-apply-exam">
    <el-col
      :span="24"
      :class="[
        'hasButOne',
        $store.state.control.windowWidth >= 1024 ? 'oneRowSearch' : '',
      ]"
  <basic-container
    :class="[
      'exam-card-body',
      $store.state.control.screenSize == 1366 ? 'smallSize' : 'normalSize',
      $store.state.control.windowWidth >= 1024 ? 'tooRowSearch1' : ''
    ]"
  >
    <avue-crud
      v-model="obj"
      class="company-box tablesss"
      :option="questionBankOption"
      :search.sync="questionBankSearch"
      :table-loading="questionBankLoading"
      :data="questionBankData"
      ref="questionBankCrud"
      :page.sync="questionBankPage"
      @on-load="questionBankOnLoad"
      @selection-change="questionBankSelectionChange"
      @search-change="questionBankSearchChange"
      @search-reset="questionBankSearchReset"
      @current-change="questionBankCurrentChange"
      @size-change="questionBankSizeChange"
      @row-save="questionBankRowSave"
      @row-del="questionBankRowDel"
    >
      <el-card>
        <div
          :class="[
            'exam-card-body',
            $store.state.control.windowWidth >= 1024 ? 'oneRowSearch' : '',
          ]"
        >
          <avue-crud
            v-model="obj"
            class="company-box"
            :option="questionBankOption"
            :search.sync="questionBankSearch"
            :table-loading="questionBankLoading"
            :data="questionBankData"
            ref="questionBankCrud"
            :page.sync="questionBankPage"
            @on-load="questionBankOnLoad"
            @selection-change="questionBankSelectionChange"
            @search-change="questionBankSearchChange"
            @search-reset="questionBankSearchReset"
            @current-change="questionBankCurrentChange"
            @size-change="questionBankSizeChange"
            @row-save="questionBankRowSave"
            @row-del="questionBankRowDel"
          >
            <!-- 自定义按钮 -->
            <!-- <template slot="menuLeft">
      <!-- 自定义按钮 -->
      <!-- <template slot="menuLeft">
                            <el-button type="danger"
                                       size="mini"
                                       icon="el-icon-delete"
@@ -61,124 +48,121 @@
                            </el-button>
                        </template> -->
            <!-- <template slot="menuLeft">
      <!-- <template slot="menuLeft">
                            <el-button type="danger"
                                       size="small"
                                       icon="el-icon-delete"
                                       @click="questionBankHandleDelete">删 除
                            </el-button>
                        </template> -->
            <!-- 自定义按钮 -->
            <template slot="menuLeft">
              <el-button
                type="primary"
                size="small"
                plain
                icon="el-icon-folder-checked"
                @click="handleBatchExam"
                v-if="permission.applyexam_exam"
                >生成考试
              </el-button>
              <!-- v-if="examPersission" -->
              <el-button
                type="primary"
                size="small"
                plain
                icon="el-icon-folder-checked"
                v-if="permission.applyexam_import"
                @click="handleImport"
                >批量报名
              </el-button>
            </template>
      <!-- 自定义按钮 -->
      <template slot="menuLeft">
        <el-button
          type="primary"
          size="small"
          plain
          icon="el-icon-folder-checked"
          @click="handleBatchExam"
          v-if="permission.applyexam_exam"
          >生成考试
        </el-button>
        <!-- v-if="examPersission" -->
        <el-button
          type="primary"
          size="small"
          plain
          icon="el-icon-folder-checked"
          v-if="permission.applyexam_import"
          @click="handleImport"
          >批量报名
        </el-button>
      </template>
            <template slot-scope="{ type, row }" slot="menu">
              <el-button
                :type="type"
                size="small"
                icon="el-icon-refresh-left"
                v-if="permission.applyexam_cancel"
                :disabled="row.isApply == 2"
                @click="handleCancel(row)"
                >取消报名
              </el-button>
              <el-button
                style="display: none"
                :type="type"
                size="small"
                icon="el-icon-folder-checked"
                :disabled="row.applyStatus == 4"
                @click="handleAudit(row)"
                >审核
              </el-button>
              <el-button
                :type="type"
                size="small"
                icon="el-icon-receiving"
                v-if="permission.applyexam_print && row.candidateNo != ''"
                @click="handlePrint(row)"
                >准考证打印
              </el-button>
            </template>
      <template slot-scope="{ type, row }" slot="menu">
        <el-button
          :type="type"
          size="small"
          icon="el-icon-refresh-left"
          v-if="permission.applyexam_cancel"
          :disabled="row.isApply == 2"
          @click="handleCancel(row)"
          >取消报名
        </el-button>
        <el-button
          style="display: none"
          :type="type"
          size="small"
          icon="el-icon-folder-checked"
          :disabled="row.applyStatus == 4"
          @click="handleAudit(row)"
          >审核
        </el-button>
        <el-button
          :type="type"
          size="small"
          icon="el-icon-receiving"
          v-if="permission.applyexam_print && row.candidateNo != ''"
          @click="handlePrint(row)"
          >准考证打印
        </el-button>
      </template>
            <template slot-scope="{ row }" slot="age">
              {{ row.age == -1 ? "" : row.age }}
            </template>
          </avue-crud>
      <template slot-scope="{ row }" slot="age">
        {{ row.age == -1 ? "" : row.age }}
      </template>
    </avue-crud>
          <el-dialog
            title="考试资格审核"
            :visible.sync="dialogFormVisible"
            modal-append-to-body="false"
            append-to-body="true"
            :close-on-click-model="true"
          >
            <avue-form
              ref="formAudit"
              v-model="Audit"
              :option="optionAudit"
              @reset-change="emptytChange"
              @submit="submit"
            ></avue-form>
          </el-dialog>
    <el-dialog
      title="考试资格审核"
      :visible.sync="dialogFormVisible"
      modal-append-to-body="false"
      append-to-body="true"
      :close-on-click-model="true"
    >
      <avue-form
        ref="formAudit"
        v-model="Audit"
        :option="optionAudit"
        @reset-change="emptytChange"
        @submit="submit"
      ></avue-form>
    </el-dialog>
          <el-dialog
            title="批量报名导入"
            append-to-body
            :visible.sync="excelBox"
            width="555px"
          >
            <avue-form
              :option="excelOption"
              v-model="excelForm"
              :upload-after="uploadAfter"
            >
              <template slot="excelTemplate">
                <el-button type="primary" @click="handleTemplate">
                  点击下载<i class="el-icon-download el-icon--right"></i>
                </el-button>
              </template>
            </avue-form>
          </el-dialog>
    <el-dialog
      title="批量报名导入"
      append-to-body
      :visible.sync="excelBox"
      width="555px"
    >
      <avue-form
        :option="excelOption"
        v-model="excelForm"
        :upload-after="uploadAfter"
      >
        <template slot="excelTemplate">
          <el-button type="primary" @click="handleTemplate">
            点击下载<i class="el-icon-download el-icon--right"></i>
          </el-button>
        </template>
      </avue-form>
    </el-dialog>
          <el-dialog
            title="考试生成"
            append-to-body
            :visible.sync="dialogExamFormVisible"
            width="900px"
            @close="closeDialog"
          >
            <avue-form
              ref="formExamApply"
              v-model="examApply"
              :option="optionExamApply"
              @reset-change="emptytChange"
              @submit="submitExamApply"
            ></avue-form>
          </el-dialog>
        </div>
      </el-card>
    </el-col>
  </el-row>
    <el-dialog
      title="考试生成"
      append-to-body
      :visible.sync="dialogExamFormVisible"
      width="900px"
      @close="closeDialog"
    >
      <avue-form
        ref="formExamApply"
        v-model="examApply"
        :option="optionExamApply"
        @reset-change="emptytChange"
        @submit="submitExamApply"
      ></avue-form>
    </el-dialog>
  </basic-container>
</template>
<script>
@@ -187,7 +171,7 @@
  addApply,
  cancelApply,
  remove,
  addExam,
  addExam
} from "@/api/examapi/applyexam";
import { mapState } from "vuex";
import { mapGetters } from "vuex";
@@ -196,13 +180,13 @@
  applyStatus: [
    {
      label: "已报名",
      value: 2,
      value: 2
    },
    {
      label: "已取消",
      value: 4,
    },
  ],
      value: 4
    }
  ]
};
export default {
@@ -227,18 +211,18 @@
            loadText: "模板上传中,请稍等",
            span: 24,
            propsHttp: {
              res: "data",
              res: "data"
            },
            tip: "请上传 .xls,.xlsx 标准格式文件",
            action: "/api/apply/import-apply",
            action: "/api/apply/import-apply"
          },
          {
            label: "模板下载",
            prop: "excelTemplate",
            formslot: true,
            span: 24,
          },
        ],
            span: 24
          }
        ]
      },
      optionAudit: {
        height: "auto",
@@ -272,27 +256,27 @@
              {
                required: true,
                message: "请选择审核类型",
                trigger: "blur",
              },
                trigger: "blur"
              }
            ],
            dicData: [
              {
                label: "审核通过",
                value: 2,
                value: 2
              },
              {
                label: "不通过",
                value: 3,
              },
            ],
                value: 3
              }
            ]
          },
          {
            label: "审核明细",
            span: 24,
            type: "textarea",
            prop: "auditDetail",
          },
        ],
            prop: "auditDetail"
          }
        ]
      },
      optionExamApply: {
        height: "auto",
@@ -323,18 +307,18 @@
              type: "number",
              max: 1000,
              min: 0,
              precision: 0,
              precision: 0
            },
            rules: [
              {
                required: true,
                message: "请输入考试人数",
                trigger: "blur",
              },
                trigger: "blur"
              }
            ],
            minRows: 0,
            maxRows: 1000,
            value: 50,
            value: 50
          },
          {
            label: "序号开始",
@@ -345,7 +329,7 @@
              type: "number",
              max: 1000,
              min: 1,
              precision: 0,
              precision: 0
            },
            minRows: 1,
            maxRows: 1000,
@@ -354,9 +338,9 @@
              {
                required: true,
                message: "请输入序号",
                trigger: "blur",
              },
            ],
                trigger: "blur"
              }
            ]
          },
          {
            label: "序号结束",
@@ -367,7 +351,7 @@
              type: "number",
              max: 1000,
              min: 1,
              precision: 0,
              precision: 0
            },
            minRows: 1,
            maxRows: 1000,
@@ -376,9 +360,9 @@
              {
                required: true,
                message: "请输入序号",
                trigger: "blur",
              },
            ],
                trigger: "blur"
              }
            ]
          },
          {
            label: "考试时间",
@@ -402,10 +386,10 @@
              {
                required: true,
                message: "请选择考试时间",
                trigger: "blur",
              },
                trigger: "blur"
              }
            ],
            span: 12,
            span: 12
          },
          {
            label: "截止时间",
@@ -429,12 +413,12 @@
              {
                required: true,
                message: "请选择考试时间",
                trigger: "blur",
              },
                trigger: "blur"
              }
            ],
            span: 12,
          },
        ],
            span: 12
          }
        ]
      },
      questionBankOption: {
        // 操作栏多余按钮去除
@@ -489,16 +473,16 @@
            editDetail: false,
            props: {
              label: "title",
              value: "id",
              value: "id"
            },
            rules: [
              {
                required: true,
                message: "请选择保安姓名",
                trigger: "blur",
              },
                trigger: "blur"
              }
            ],
            width: 80,
            width: 80
          },
          {
            label: "保安姓名",
@@ -520,15 +504,15 @@
            viewDisplay: true,
            props: {
              label: "title",
              value: "id",
              value: "id"
            },
            rules: [
              {
                required: true,
                message: "请选择保安姓名",
                trigger: "blur",
              },
            ],
                trigger: "blur"
              }
            ]
          },
          {
            label: "年龄",
@@ -546,7 +530,7 @@
            editDisplay: false,
            // 表单编辑时是否为查看模式
            editDetail: false,
            viewDisplay: true,
            viewDisplay: true
          },
          // {
          //   label: "考试名称",
@@ -602,10 +586,10 @@
              {
                required: true,
                message: "请选择所属公司",
                trigger: "blur",
              },
                trigger: "blur"
              }
            ],
            width: 220,
            width: 220
          },
          {
            label: "准考证号",
@@ -627,10 +611,10 @@
              {
                required: true,
                message: "请选择准考证号",
                trigger: "blur",
              },
                trigger: "blur"
              }
            ],
            width: 100,
            width: 100
          },
          {
            label: "身份证号",
@@ -652,10 +636,10 @@
              {
                required: true,
                message: "请选择准考证号",
                trigger: "blur",
              },
                trigger: "blur"
              }
            ],
            width: 150,
            width: 150
          },
          {
            label: "报考证件",
@@ -677,9 +661,9 @@
              {
                required: true,
                message: "请选择准考证号",
                trigger: "blur",
              },
            ],
                trigger: "blur"
              }
            ]
          },
          // {
          //     label: "试卷分数",
@@ -740,8 +724,8 @@
                ? "0" + new Date().getSeconds()
                : new Date().getSeconds()),
            width: 150,
          },
            width: 150
          }
          // {
          //   label: "考试时间",
          //   prop: "examTime",
@@ -841,7 +825,7 @@
          //     addDisplay: false,
          //     width: 100,
          // },
        ],
        ]
      },
      questionBankSearch: {},
      questionBankLoading: true,
@@ -850,10 +834,10 @@
        pageSize: 10,
        currentPage: 1,
        total: 16,
        ...this.$store.state.control.changePageSize,
        ...this.$store.state.control.changePageSize
      },
      questionBankQuery: {},
      questionBankSelectionList: [],
      questionBankSelectionList: []
    };
  },
@@ -878,8 +862,8 @@
          }
        }
      },
      immediate: true,
    },
      immediate: true
    }
  },
  created() {
    if (this.userInfo.role_name.indexOf("ksxtadmin") != -1) {
@@ -888,10 +872,12 @@
    this.questionBankSearch["applyStatus"] = 2;
  },
  mounted() {},
  mounted() {
    this.$store.commit("setWindowSizeHeightAdd");
  },
  computed: {
    ...mapState({
      userInfo: (state) => state.user.userInfo,
      userInfo: state => state.user.userInfo
    }),
    ...mapGetters(["userInfo", "permission"]),
    permissionList() {
@@ -899,16 +885,16 @@
        addBtn: this.vaildData(null, false),
        viewBtn: this.vaildData(this.permission.applyexam_view, false),
        delBtn: this.vaildData(null, false),
        editBtn: this.vaildData(null, false),
        editBtn: this.vaildData(null, false)
      };
    },
    ids() {
      let ids = [];
      this.questionBankSelectionList.forEach((ele) => {
      this.questionBankSelectionList.forEach(ele => {
        ids.push(ele.id);
      });
      return ids.join(",");
    },
    }
  },
  methods: {
    //准考证查看
@@ -917,7 +903,7 @@
      obj["name"] = "准考证信息";
      this.$router.push({
        path: `/applyexam/papers`,
        query: obj,
        query: obj
      });
    },
    questionBankOnLoad(page, params = {}) {
@@ -928,8 +914,8 @@
      var that = this;
      //获取当前登录人员的角色信息
      var roleIds = this.userInfo.role_id.split(",");
      roleIds.forEach((roleId) => {
        getRoleDetail(roleId).then((res) => {
      roleIds.forEach(roleId => {
        getRoleDetail(roleId).then(res => {
          var roleAlias = res.data.data.roleAlias;
          if (roleAlias == "保安公司管理员" || roleAlias == "保安") {
            //如果是保安公司管理员
@@ -939,11 +925,12 @@
            page.currentPage,
            page.pageSize,
            Object.assign(params, this.questionBankQuery)
          ).then((res) => {
          ).then(res => {
            const data = res.data.data;
            this.questionBankPage.total = data.total;
            this.questionBankData = data.records;
            this.questionBankLoading = false;
            this.$store.commit("setWindowSizeHeightAdd");
            this.questionBankSelectionClear();
          });
        });
@@ -979,29 +966,29 @@
      addApply({
        userId: row.userId,
        examId: row.examName,
        applyTime: row.applyTime,
        applyTime: row.applyTime
      }).then(
        (res) => {
        res => {
          this.questionBankOnLoad(this.questionBankPage);
          if (res.data.data == 201) {
            this.$message({
              type: "warning",
              message: "已报名,不能重复报名",
              message: "已报名,不能重复报名"
            });
          } else if (res.data.data == 201) {
            this.$message({
              type: "warning",
              message: "报名失败",
              message: "报名失败"
            });
          } else {
            this.$message({
              type: "success",
              message: "报名成功",
              message: "报名成功"
            });
          }
          done();
        },
        (error) => {
        error => {
          window.console.log(error);
          loading();
        }
@@ -1023,7 +1010,7 @@
      if (row.number != row.serialEnd - row.serialStart + 1) {
        this.$message({
          type: "error",
          message: "考试人数与序号不匹配!",
          message: "考试人数与序号不匹配!"
        });
        done();
        return;
@@ -1034,7 +1021,7 @@
      if (s > e) {
        this.$message({
          type: "error",
          message: "截止时间不能早于考试考试开始时间!",
          message: "截止时间不能早于考试考试开始时间!"
        });
        done();
        return;
@@ -1044,13 +1031,13 @@
          this.questionBankOnLoad(this.questionBankPage);
          this.$message({
            type: "success",
            message: "操作成功!",
            message: "操作成功!"
          });
          that.$refs.formExamApply.resetFields();
          that.dialogExamFormVisible = false;
          done();
        },
        (error) => {
        error => {
          window.console.log(error);
          loading();
        }
@@ -1065,7 +1052,7 @@
      this.$confirm("确定将选择数据删除?", {
        confirmButtonText: "确定",
        cancelButtonText: "取消",
        type: "warning",
        type: "warning"
      })
        .then(() => {
          return remove(row.id);
@@ -1074,7 +1061,7 @@
          this.questionBankOnLoad(this.questionBankPage);
          this.$message({
            type: "success",
            message: "操作成功!",
            message: "操作成功!"
          });
        });
    },
@@ -1084,7 +1071,7 @@
      this.$confirm("确定取消报名?", {
        confirmButtonText: "确定",
        cancelButtonText: "取消",
        type: "warning",
        type: "warning"
      })
        .then(() => {
          row.applyStatus = 4;
@@ -1094,7 +1081,7 @@
          this.questionBankOnLoad(this.questionBankPage);
          this.$message({
            type: "success",
            message: "操作成功!",
            message: "操作成功!"
          });
        });
    },
@@ -1107,7 +1094,7 @@
      this.$confirm("确定将选择数据删除?", {
        confirmButtonText: "确定",
        cancelButtonText: "取消",
        type: "warning",
        type: "warning"
      })
        .then(() => {
          return remove(this.ids);
@@ -1116,7 +1103,7 @@
          this.questionBankOnLoad(this.questionBankPage);
          this.$message({
            type: "success",
            message: "操作成功!",
            message: "操作成功!"
          });
          this.$refs.questionBankCrud.toggleSelection();
        });
@@ -1142,10 +1129,9 @@
    refreshChange() {
      this.questionBankOnLoad(this.page, this.query);
    },
  },
    }
  }
};
</script>
<style lang="scss" scoped>
</style>
<style lang="scss" scoped></style>
src/views/authority/apiscope.vue
@@ -1,8 +1,12 @@
<template>
  <basic-container
    :class="[$store.state.control.windowWidth >= 1024 ? 'oneRowSearch' : '']"
    :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"
@@ -92,14 +96,14 @@
  remove,
  update,
  getLazyMenuList,
  getMenu,
  getMenu
} from "@/api/system/menu";
import {
  addApiScope,
  removeApiScope,
  updateApiScope,
  getListApiScope,
  getMenuApiScope,
  getMenuApiScope
} from "@/api/system/scope";
import { mapGetters } from "vuex";
import iconList from "@/config/iconList";
@@ -116,7 +120,7 @@
        pageSize: 10,
        currentPage: 1,
        total: 0,
        ...this.$store.state.control.changePageSize,
        ...this.$store.state.control.changePageSize
      },
      drawerVisible: false,
      direction: "rtl",
@@ -151,9 +155,9 @@
              {
                required: true,
                message: "请输入菜单名称",
                trigger: "blur",
              },
            ],
                trigger: "blur"
              }
            ]
          },
          {
            label: "路由地址",
@@ -162,9 +166,9 @@
              {
                required: true,
                message: "请输入路由地址",
                trigger: "blur",
              },
            ],
                trigger: "blur"
              }
            ]
          },
          {
            label: "上级菜单",
@@ -173,15 +177,15 @@
            dicUrl: "/api/blade-system/menu/tree",
            hide: true,
            props: {
              label: "title",
              label: "title"
            },
            rules: [
              {
                required: false,
                message: "请选择上级菜单",
                trigger: "click",
              },
            ],
                trigger: "click"
              }
            ]
          },
          {
            label: "菜单图标",
@@ -194,9 +198,9 @@
              {
                required: true,
                message: "请输入菜单图标",
                trigger: "click",
              },
            ],
                trigger: "click"
              }
            ]
          },
          {
            label: "菜单编号",
@@ -206,9 +210,9 @@
              {
                required: true,
                message: "请输入菜单编号",
                trigger: "blur",
              },
            ],
                trigger: "blur"
              }
            ]
          },
          {
            label: "菜单类型",
@@ -217,21 +221,21 @@
            dicData: [
              {
                label: "菜单",
                value: 1,
                value: 1
              },
              {
                label: "按钮",
                value: 2,
              },
                value: 2
              }
            ],
            hide: true,
            rules: [
              {
                required: true,
                message: "请选择菜单类型",
                trigger: "blur",
              },
            ],
                trigger: "blur"
              }
            ]
          },
          {
            label: "菜单别名",
@@ -240,9 +244,9 @@
              {
                required: true,
                message: "请输入菜单别名",
                trigger: "blur",
              },
            ],
                trigger: "blur"
              }
            ]
          },
          {
            label: "按钮功能",
@@ -251,25 +255,25 @@
            dicData: [
              {
                label: "工具栏",
                value: 0,
                value: 0
              },
              {
                label: "操作栏",
                value: 1,
                value: 1
              },
              {
                label: "工具操作栏",
                value: 2,
              },
                value: 2
              }
            ],
            hide: true,
            rules: [
              {
                required: true,
                message: "请选择按钮功能",
                trigger: "blur",
              },
            ],
                trigger: "blur"
              }
            ]
          },
          {
            label: "菜单排序",
@@ -280,9 +284,9 @@
              {
                required: true,
                message: "请输入菜单排序",
                trigger: "blur",
              },
            ],
                trigger: "blur"
              }
            ]
          },
          {
            label: "新窗口",
@@ -291,14 +295,14 @@
            dicData: [
              {
                label: "否",
                value: 0,
                value: 0
              },
              {
                label: "是",
                value: 1,
              },
                value: 1
              }
            ],
            hide: true,
            hide: true
          },
          {
            label: "菜单备注",
@@ -306,9 +310,9 @@
            type: "textarea",
            span: 24,
            minRows: 6,
            hide: true,
          },
        ],
            hide: true
          }
        ]
      },
      data: [],
      formScope: {},
@@ -316,7 +320,7 @@
      pageScope: {
        pageSize: 10,
        currentPage: 1,
        total: 0,
        total: 0
      },
      optionScope: {
        tip: false,
@@ -339,9 +343,9 @@
              {
                required: true,
                message: "请输入数据权限名称",
                trigger: "blur",
              },
            ],
                trigger: "blur"
              }
            ]
          },
          {
            label: "权限编号",
@@ -352,9 +356,9 @@
              {
                required: true,
                message: "请输入数据权限编号",
                trigger: "blur",
              },
            ],
                trigger: "blur"
              }
            ]
          },
          {
            label: "权限路径",
@@ -364,9 +368,9 @@
              {
                required: true,
                message: "请输入数据权限编号",
                trigger: "blur",
              },
            ],
                trigger: "blur"
              }
            ]
          },
          {
            label: "接口类型",
@@ -374,7 +378,7 @@
            dicUrl: "/api/blade-system/dict/dictionary?code=api_scope_type",
            props: {
              label: "dictValue",
              value: "dictKey",
              value: "dictKey"
            },
            dataType: "number",
            slot: true,
@@ -384,19 +388,19 @@
              {
                required: true,
                message: "请输入通知类型",
                trigger: "blur",
              },
            ],
                trigger: "blur"
              }
            ]
          },
          {
            label: "备注",
            prop: "remark",
            span: 24,
            hide: true,
          },
        ],
            hide: true
          }
        ]
      },
      dataScope: [],
      dataScope: []
    };
  },
@@ -407,23 +411,26 @@
        addBtn: this.vaildData(this.permission.menu_add, false),
        viewBtn: this.vaildData(this.permission.menu_view, false),
        delBtn: this.vaildData(this.permission.menu_delete, false),
        editBtn: this.vaildData(this.permission.menu_edit, false),
        editBtn: this.vaildData(this.permission.menu_edit, false)
      };
    },
    ids() {
      let ids = [];
      this.selectionList.forEach((ele) => {
      this.selectionList.forEach(ele => {
        ids.push(ele.id);
      });
      return ids.join(",");
    },
    scopeIds() {
      let ids = [];
      this.selectionListScope.forEach((ele) => {
      this.selectionListScope.forEach(ele => {
        ids.push(ele.id);
      });
      return ids.join(",");
    },
    }
  },
  mounted() {
    this.$store.commit("setWindowSizeHeightAdd");
  },
  methods: {
    // 菜单管理模块
@@ -433,11 +440,11 @@
          this.onLoad(this.page);
          this.$message({
            type: "success",
            message: "操作成功!",
            message: "操作成功!"
          });
          done();
        },
        (error) => {
        error => {
          window.console.log(error);
          loading();
        }
@@ -449,11 +456,11 @@
          this.onLoad(this.page);
          this.$message({
            type: "success",
            message: "操作成功!",
            message: "操作成功!"
          });
          done();
        },
        (error) => {
        error => {
          window.console.log(error);
          loading();
        }
@@ -463,7 +470,7 @@
      this.$confirm("确定将选择数据删除?", {
        confirmButtonText: "确定",
        cancelButtonText: "取消",
        type: "warning",
        type: "warning"
      })
        .then(() => {
          return remove(row.id);
@@ -472,7 +479,7 @@
          this.onLoad(this.page);
          this.$message({
            type: "success",
            message: "操作成功!",
            message: "操作成功!"
          });
        });
    },
@@ -503,7 +510,7 @@
      this.$confirm("确定将选择数据删除?", {
        confirmButtonText: "确定",
        cancelButtonText: "取消",
        type: "warning",
        type: "warning"
      })
        .then(() => {
          return remove(this.ids);
@@ -512,14 +519,14 @@
          this.onLoad(this.page);
          this.$message({
            type: "success",
            message: "操作成功!",
            message: "操作成功!"
          });
          this.$refs.crud.toggleSelection();
        });
    },
    beforeOpen(done, type) {
      if (["edit", "view"].includes(type)) {
        getMenu(this.form.id).then((res) => {
        getMenu(this.form.id).then(res => {
          this.form = res.data.data;
        });
      }
@@ -537,16 +544,17 @@
    onLoad(page, params = {}) {
      this.loading = true;
      getLazyMenuList(this.parentId, Object.assign(params, this.query)).then(
        (res) => {
        res => {
          this.data = res.data.data;
          this.loading = false;
          this.$store.commit("setWindowSizeHeightAdd");
          this.selectionClear();
        }
      );
    },
    treeLoad(tree, treeNode, resolve) {
      const parentId = tree.id;
      getLazyMenuList(parentId).then((res) => {
      getLazyMenuList(parentId).then(res => {
        resolve(res.data.data);
      });
    },
@@ -563,18 +571,18 @@
    rowSaveScope(row, done, loading) {
      row = {
        ...row,
        menuId: this.scopeMenuId,
        menuId: this.scopeMenuId
      };
      addApiScope(row).then(
        () => {
          this.onLoadScope(this.pageScope);
          this.$message({
            type: "success",
            message: "操作成功!",
            message: "操作成功!"
          });
          done();
        },
        (error) => {
        error => {
          window.console.log(error);
          loading();
        }
@@ -583,18 +591,18 @@
    rowUpdateScope(row, index, done, loading) {
      row = {
        ...row,
        menuId: this.scopeMenuId,
        menuId: this.scopeMenuId
      };
      updateApiScope(row).then(
        () => {
          this.onLoadScope(this.pageScope);
          this.$message({
            type: "success",
            message: "操作成功!",
            message: "操作成功!"
          });
          done();
        },
        (error) => {
        error => {
          window.console.log(error);
          loading();
        }
@@ -604,7 +612,7 @@
      this.$confirm("确定将选择数据删除?", {
        confirmButtonText: "确定",
        cancelButtonText: "取消",
        type: "warning",
        type: "warning"
      })
        .then(() => {
          return removeApiScope(row.id);
@@ -613,7 +621,7 @@
          this.onLoadScope(this.pageScope);
          this.$message({
            type: "success",
            message: "操作成功!",
            message: "操作成功!"
          });
        });
    },
@@ -625,7 +633,7 @@
      this.$confirm("确定将选择数据删除?", {
        confirmButtonText: "确定",
        cancelButtonText: "取消",
        type: "warning",
        type: "warning"
      })
        .then(() => {
          return removeApiScope(this.scopeIds);
@@ -634,14 +642,14 @@
          this.onLoadScope(this.pageScope);
          this.$message({
            type: "success",
            message: "操作成功!",
            message: "操作成功!"
          });
          this.$refs.crudScope.toggleSelection();
        });
    },
    beforeOpenScope(done, type) {
      if (["edit", "view"].includes(type)) {
        getMenuApiScope(this.formScope.id).then((res) => {
        getMenuApiScope(this.formScope.id).then(res => {
          this.formScope = res.data.data;
        });
      }
@@ -667,20 +675,21 @@
      this.scopeLoading = true;
      const values = {
        ...params,
        menuId: this.scopeMenuId,
        menuId: this.scopeMenuId
      };
      getListApiScope(
        page.currentPage,
        page.pageSize,
        Object.assign(values, this.query)
      ).then((res) => {
      ).then(res => {
        const data = res.data.data;
        this.pageScope.total = data.total;
        this.dataScope = data.records;
        this.selectionListScope = [];
        this.$store.commit("setWindowSizeHeightAdd");
        this.scopeLoading = false;
      });
    },
  },
    }
  }
};
</script>
src/views/authority/datascope.vue
@@ -1,8 +1,12 @@
<template>
  <basic-container
    :class="[$store.state.control.windowWidth >= 1024 ? 'oneRowSearch' : '']"
    :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"
@@ -92,14 +96,14 @@
  remove,
  update,
  getLazyMenuList,
  getMenu,
  getMenu
} from "@/api/system/menu";
import {
  addDataScope,
  removeDataScope,
  updateDataScope,
  getListDataScope,
  getMenuDataScope,
  getMenuDataScope
} from "@/api/system/scope";
import { mapGetters } from "vuex";
import iconList from "@/config/iconList";
@@ -117,7 +121,7 @@
        pageSize: 10,
        currentPage: 1,
        total: 0,
        ...this.$store.state.control.changePageSize,
        ...this.$store.state.control.changePageSize
      },
      drawerVisible: false,
      direction: "rtl",
@@ -154,9 +158,9 @@
              {
                required: true,
                message: "请输入菜单名称",
                trigger: "blur",
              },
            ],
                trigger: "blur"
              }
            ]
          },
          {
            label: "路由地址",
@@ -165,9 +169,9 @@
              {
                required: true,
                message: "请输入路由地址",
                trigger: "blur",
              },
            ],
                trigger: "blur"
              }
            ]
          },
          {
            label: "上级菜单",
@@ -176,15 +180,15 @@
            dicUrl: "/api/blade-system/menu/tree",
            hide: true,
            props: {
              label: "title",
              label: "title"
            },
            rules: [
              {
                required: false,
                message: "请选择上级菜单",
                trigger: "click",
              },
            ],
                trigger: "click"
              }
            ]
          },
          {
            label: "菜单图标",
@@ -197,9 +201,9 @@
              {
                required: true,
                message: "请输入菜单图标",
                trigger: "click",
              },
            ],
                trigger: "click"
              }
            ]
          },
          {
            label: "菜单编号",
@@ -209,9 +213,9 @@
              {
                required: true,
                message: "请输入菜单编号",
                trigger: "blur",
              },
            ],
                trigger: "blur"
              }
            ]
          },
          {
            label: "菜单类型",
@@ -220,21 +224,21 @@
            dicData: [
              {
                label: "菜单",
                value: 1,
                value: 1
              },
              {
                label: "按钮",
                value: 2,
              },
                value: 2
              }
            ],
            hide: true,
            rules: [
              {
                required: true,
                message: "请选择菜单类型",
                trigger: "blur",
              },
            ],
                trigger: "blur"
              }
            ]
          },
          {
            label: "菜单别名",
@@ -243,9 +247,9 @@
              {
                required: true,
                message: "请输入菜单别名",
                trigger: "blur",
              },
            ],
                trigger: "blur"
              }
            ]
          },
          {
            label: "按钮功能",
@@ -254,25 +258,25 @@
            dicData: [
              {
                label: "工具栏",
                value: 0,
                value: 0
              },
              {
                label: "操作栏",
                value: 1,
                value: 1
              },
              {
                label: "工具操作栏",
                value: 2,
              },
                value: 2
              }
            ],
            hide: true,
            rules: [
              {
                required: true,
                message: "请选择按钮功能",
                trigger: "blur",
              },
            ],
                trigger: "blur"
              }
            ]
          },
          {
            label: "菜单排序",
@@ -283,9 +287,9 @@
              {
                required: true,
                message: "请输入菜单排序",
                trigger: "blur",
              },
            ],
                trigger: "blur"
              }
            ]
          },
          {
            label: "新窗口",
@@ -294,14 +298,14 @@
            dicData: [
              {
                label: "否",
                value: 0,
                value: 0
              },
              {
                label: "是",
                value: 1,
              },
                value: 1
              }
            ],
            hide: true,
            hide: true
          },
          {
            label: "菜单备注",
@@ -309,9 +313,9 @@
            type: "textarea",
            span: 24,
            minRows: 6,
            hide: true,
          },
        ],
            hide: true
          }
        ]
      },
      data: [],
      formScope: {},
@@ -319,7 +323,7 @@
      pageScope: {
        pageSize: 10,
        currentPage: 1,
        total: 0,
        total: 0
      },
      optionScope: {
        tip: false,
@@ -343,9 +347,9 @@
              {
                required: true,
                message: "请输入数据权限名称",
                trigger: "blur",
              },
            ],
                trigger: "blur"
              }
            ]
          },
          {
            label: "权限编号",
@@ -356,9 +360,9 @@
              {
                required: true,
                message: "请输入数据权限编号",
                trigger: "blur",
              },
            ],
                trigger: "blur"
              }
            ]
          },
          {
            label: "权限字段",
@@ -368,9 +372,9 @@
              {
                required: true,
                message: "请输入数据权限编号",
                trigger: "blur",
              },
            ],
                trigger: "blur"
              }
            ]
          },
          {
            label: "规则类型",
@@ -378,7 +382,7 @@
            dicUrl: "/api/blade-system/dict/dictionary?code=data_scope_type",
            props: {
              label: "dictValue",
              value: "dictKey",
              value: "dictKey"
            },
            dataType: "number",
            slot: true,
@@ -388,9 +392,9 @@
              {
                required: true,
                message: "请输入通知类型",
                trigger: "blur",
              },
            ],
                trigger: "blur"
              }
            ]
          },
          {
            label: "可见字段",
@@ -402,9 +406,9 @@
              {
                required: true,
                message: "请输入数据权限可见的字段",
                trigger: "blur",
              },
            ],
                trigger: "blur"
              }
            ]
          },
          {
            label: "权限类名",
@@ -415,9 +419,9 @@
              {
                required: true,
                message: "请输入MybatisMapper对应方法的完整类名路径",
                trigger: "blur",
              },
            ],
                trigger: "blur"
              }
            ]
          },
          {
            label: "规则值",
@@ -426,23 +430,23 @@
            minRows: 5,
            type: "textarea",
            display: true,
            hide: true,
            hide: true
          },
          {
            label: "备注",
            prop: "remark",
            span: 24,
            hide: true,
          },
        ],
            hide: true
          }
        ]
      },
      dataScope: [],
      dataScope: []
    };
  },
  watch: {
    "formScope.scopeType"() {
      this.initScope();
    },
    }
  },
  computed: {
    ...mapGetters(["permission"]),
@@ -451,23 +455,26 @@
        addBtn: this.vaildData(this.permission.menu_add, false),
        viewBtn: this.vaildData(this.permission.menu_view, false),
        delBtn: this.vaildData(this.permission.menu_delete, false),
        editBtn: this.vaildData(this.permission.menu_edit, false),
        editBtn: this.vaildData(this.permission.menu_edit, false)
      };
    },
    ids() {
      let ids = [];
      this.selectionList.forEach((ele) => {
      this.selectionList.forEach(ele => {
        ids.push(ele.id);
      });
      return ids.join(",");
    },
    scopeIds() {
      let ids = [];
      this.selectionListScope.forEach((ele) => {
      this.selectionListScope.forEach(ele => {
        ids.push(ele.id);
      });
      return ids.join(",");
    },
    }
  },
  mounted() {
    this.$store.commit("setWindowSizeHeightAdd");
  },
  methods: {
    initScope() {
@@ -491,7 +498,7 @@
        column = "";
        name = "自定义";
      }
      this.$refs.crudScope.option.column.filter((item) => {
      this.$refs.crudScope.option.column.filter(item => {
        if (watchMode) {
          if (item.prop === "scopeName") {
            this.formScope.scopeName = `${this.scopeMenuName} [${name}]`;
@@ -515,11 +522,11 @@
          this.onLoad(this.page);
          this.$message({
            type: "success",
            message: "操作成功!",
            message: "操作成功!"
          });
          done();
        },
        (error) => {
        error => {
          window.console.log(error);
          loading();
        }
@@ -531,11 +538,11 @@
          this.onLoad(this.page);
          this.$message({
            type: "success",
            message: "操作成功!",
            message: "操作成功!"
          });
          done();
        },
        (error) => {
        error => {
          window.console.log(error);
          loading();
        }
@@ -545,7 +552,7 @@
      this.$confirm("确定将选择数据删除?", {
        confirmButtonText: "确定",
        cancelButtonText: "取消",
        type: "warning",
        type: "warning"
      })
        .then(() => {
          return remove(row.id);
@@ -554,7 +561,7 @@
          this.onLoad(this.page);
          this.$message({
            type: "success",
            message: "操作成功!",
            message: "操作成功!"
          });
        });
    },
@@ -585,7 +592,7 @@
      this.$confirm("确定将选择数据删除?", {
        confirmButtonText: "确定",
        cancelButtonText: "取消",
        type: "warning",
        type: "warning"
      })
        .then(() => {
          return remove(this.ids);
@@ -594,14 +601,14 @@
          this.onLoad(this.page);
          this.$message({
            type: "success",
            message: "操作成功!",
            message: "操作成功!"
          });
          this.$refs.crud.toggleSelection();
        });
    },
    beforeOpen(done, type) {
      if (["edit", "view"].includes(type)) {
        getMenu(this.form.id).then((res) => {
        getMenu(this.form.id).then(res => {
          this.form = res.data.data;
        });
      }
@@ -619,16 +626,17 @@
    onLoad(page, params = {}) {
      this.loading = true;
      getLazyMenuList(this.parentId, Object.assign(params, this.query)).then(
        (res) => {
        res => {
          this.data = res.data.data;
          this.loading = false;
          this.$store.commit("setWindowSizeHeightAdd");
          this.selectionClear();
        }
      );
    },
    treeLoad(tree, treeNode, resolve) {
      const parentId = tree.id;
      getLazyMenuList(parentId).then((res) => {
      getLazyMenuList(parentId).then(res => {
        resolve(res.data.data);
      });
    },
@@ -646,18 +654,18 @@
    rowSaveScope(row, done, loading) {
      row = {
        ...row,
        menuId: this.scopeMenuId,
        menuId: this.scopeMenuId
      };
      addDataScope(row).then(
        () => {
          this.onLoadScope(this.pageScope);
          this.$message({
            type: "success",
            message: "操作成功!",
            message: "操作成功!"
          });
          done();
        },
        (error) => {
        error => {
          window.console.log(error);
          loading();
        }
@@ -666,18 +674,18 @@
    rowUpdateScope(row, index, done, loading) {
      row = {
        ...row,
        menuId: this.scopeMenuId,
        menuId: this.scopeMenuId
      };
      updateDataScope(row).then(
        () => {
          this.onLoadScope(this.pageScope);
          this.$message({
            type: "success",
            message: "操作成功!",
            message: "操作成功!"
          });
          done();
        },
        (error) => {
        error => {
          window.console.log(error);
          loading();
        }
@@ -687,7 +695,7 @@
      this.$confirm("确定将选择数据删除?", {
        confirmButtonText: "确定",
        cancelButtonText: "取消",
        type: "warning",
        type: "warning"
      })
        .then(() => {
          return removeDataScope(row.id);
@@ -696,7 +704,7 @@
          this.onLoadScope(this.pageScope);
          this.$message({
            type: "success",
            message: "操作成功!",
            message: "操作成功!"
          });
        });
    },
@@ -708,7 +716,7 @@
      this.$confirm("确定将选择数据删除?", {
        confirmButtonText: "确定",
        cancelButtonText: "取消",
        type: "warning",
        type: "warning"
      })
        .then(() => {
          return removeDataScope(this.scopeIds);
@@ -717,7 +725,7 @@
          this.onLoadScope(this.pageScope);
          this.$message({
            type: "success",
            message: "操作成功!",
            message: "操作成功!"
          });
          this.$refs.crudScope.toggleSelection();
        });
@@ -729,7 +737,7 @@
      }
      if (["edit", "view"].includes(type)) {
        this.watchMode = false;
        getMenuDataScope(this.formScope.id).then((res) => {
        getMenuDataScope(this.formScope.id).then(res => {
          this.formScope = res.data.data;
        });
      }
@@ -755,21 +763,21 @@
      this.scopeLoading = true;
      const values = {
        ...params,
        menuId: this.scopeMenuId,
        menuId: this.scopeMenuId
      };
      getListDataScope(
        page.currentPage,
        page.pageSize,
        Object.assign(values, this.query)
      ).then((res) => {
      ).then(res => {
        const data = res.data.data;
        this.pageScope.total = data.total;
        this.dataScope = data.records;
        this.selectionListScope = [];
        this.$store.commit("setWindowSizeHeightAdd");
        this.scopeLoading = false;
      });
    },
  },
    }
  }
};
</script>
src/views/authority/role.vue
@@ -2,10 +2,12 @@
  <basic-container
    :class="[
      'hasButThree',
      $store.state.control.windowWidth >= 1024 ? 'oneRowSearch' : '',
      $store.state.control.screenSize == 1366 ? 'smallSize' : 'normalSize',
      $store.state.control.windowWidth >= 1024 ? 'tooRowSearch1' : ''
    ]"
  >
    <avue-crud
      class="tablesss"
      :option="option"
      :table-loading="loading"
      :data="data"
@@ -103,7 +105,7 @@
  grant,
  grantTree,
  remove,
  update,
  update
} from "@/api/system/role";
import { mapGetters } from "vuex";
import website from "@/config/website";
@@ -115,7 +117,7 @@
      box: false,
      props: {
        label: "title",
        value: "key",
        value: "key"
      },
      menuGrantList: [],
      dataScopeGrantList: [],
@@ -131,7 +133,7 @@
        pageSize: 10,
        currentPage: 1,
        total: 0,
        ...this.$store.state.control.changePageSize,
        ...this.$store.state.control.changePageSize
      },
      option: {
        tip: false,
@@ -156,9 +158,9 @@
              {
                required: true,
                message: "请输入角色名称",
                trigger: "blur",
              },
            ],
                trigger: "blur"
              }
            ]
          },
          // {
          //   label: "所属单位",
@@ -192,9 +194,9 @@
              {
                required: true,
                message: "请输入角色别名",
                trigger: "blur",
              },
            ],
                trigger: "blur"
              }
            ]
          },
          {
            label: "上级角色",
@@ -204,15 +206,15 @@
            hide: true,
            span: 24,
            props: {
              label: "title",
              label: "title"
            },
            rules: [
              {
                required: false,
                message: "请选择上级角色",
                trigger: "click",
              },
            ],
                trigger: "click"
              }
            ]
          },
          {
            label: "角色排序",
@@ -223,13 +225,13 @@
              {
                required: true,
                message: "请输入角色排序",
                trigger: "blur",
              },
            ],
          },
        ],
                trigger: "blur"
              }
            ]
          }
        ]
      },
      data: [],
      data: []
    };
  },
  computed: {
@@ -239,27 +241,30 @@
        addBtn: this.vaildData(this.permission.role_add, false),
        viewBtn: this.vaildData(this.permission.role_view, false),
        delBtn: this.vaildData(this.permission.role_delete, false),
        editBtn: this.vaildData(this.permission.role_edit, false),
        editBtn: this.vaildData(this.permission.role_edit, false)
      };
    },
    ids() {
      let ids = [];
      this.selectionList.forEach((ele) => {
      this.selectionList.forEach(ele => {
        ids.push(ele.id);
      });
      return ids.join(",");
    },
    idsArray() {
      let ids = [];
      this.selectionList.forEach((ele) => {
      this.selectionList.forEach(ele => {
        ids.push(ele.id);
      });
      return ids;
    },
    }
  },
  mounted() {
    this.$store.commit("setWindowSizeHeightAdd");
  },
  methods: {
    initData(roleId) {
      getRoleTreeById(roleId).then((res) => {
      getRoleTreeById(roleId).then(res => {
        const column = this.findObject(this.option.column, "parentId");
        column.dicData = res.data.data;
      });
@@ -272,7 +277,7 @@
        this.box = false;
        this.$message({
          type: "success",
          message: "操作成功!",
          message: "操作成功!"
        });
        this.onLoad(this.page);
      });
@@ -283,11 +288,11 @@
          this.onLoad(this.page);
          this.$message({
            type: "success",
            message: "操作成功!",
            message: "操作成功!"
          });
          done();
        },
        (error) => {
        error => {
          window.console.log(error);
          loading();
        }
@@ -299,11 +304,11 @@
          this.onLoad(this.page);
          this.$message({
            type: "success",
            message: "操作成功!",
            message: "操作成功!"
          });
          done();
        },
        (error) => {
        error => {
          window.console.log(error);
          loading();
        }
@@ -313,7 +318,7 @@
      this.$confirm("确定将选择数据删除?", {
        confirmButtonText: "确定",
        cancelButtonText: "取消",
        type: "warning",
        type: "warning"
      })
        .then(() => {
          return remove(row.id);
@@ -322,7 +327,7 @@
          this.onLoad(this.page);
          this.$message({
            type: "success",
            message: "操作成功!",
            message: "操作成功!"
          });
        });
    },
@@ -358,11 +363,11 @@
      this.menuTreeObj = [];
      this.dataScopeTreeObj = [];
      this.apiScopeTreeObj = [];
      grantTree().then((res) => {
      grantTree().then(res => {
        this.menuGrantList = res.data.data.menu;
        this.dataScopeGrantList = res.data.data.dataScope;
        this.apiScopeGrantList = res.data.data.apiScope;
        getRole(this.ids).then((res) => {
        getRole(this.ids).then(res => {
          this.menuTreeObj = res.data.data.menu;
          this.dataScopeTreeObj = res.data.data.dataScope;
          this.apiScopeTreeObj = res.data.data.apiScope;
@@ -378,7 +383,7 @@
      this.$confirm("确定将选择数据删除?", {
        confirmButtonText: "确定",
        cancelButtonText: "取消",
        type: "warning",
        type: "warning"
      })
        .then(() => {
          return remove(this.ids);
@@ -387,7 +392,7 @@
          this.onLoad(this.page);
          this.$message({
            type: "success",
            message: "操作成功!",
            message: "操作成功!"
          });
          this.$refs.crud.toggleSelection();
        });
@@ -407,12 +412,13 @@
        page.currentPage,
        page.pageSize,
        Object.assign(params, this.query)
      ).then((res) => {
      ).then(res => {
        this.data = res.data.data;
        this.loading = false;
        this.$store.commit("setWindowSizeHeightAdd");
        this.selectionClear();
      });
    },
  },
    }
  }
};
</script>
src/views/companyApply/index.vue
@@ -1,130 +1,114 @@
/*
 * @Author: Morpheus
 * @Date: 2021-07-05 16:31:54
 * @Last Modified by: liu
 * @Last Modified time: 2021-11-23 14:16:07
 * menu-name 报名考试
 */
/* * @Author: Morpheus * @Date: 2021-07-05 16:31:54 * @Last Modified by: liu *
@Last Modified time: 2021-11-23 14:16:07 * menu-name 报名考试 */
<template>
  <el-row class="morpheus-box-apply-exam">
    <el-col
      :span="24"
      :class="[
        'hasButOne',
        $store.state.control.windowWidth >= 1024 ? 'oneRowSearch' : '',
      ]"
  <basic-container
    :class="[
      'exam-card-body',
      $store.state.control.screenSize == 1366 ? 'smallSize' : 'normalSize',
      $store.state.control.windowWidth >= 1024 ? 'tooRowSearch1' : ''
    ]"
  >
    <avue-crud
      v-model="obj"
      class="company-box tablesss"
      :option="questionBankOption"
      :search.sync="questionBankSearch"
      :table-loading="questionBankLoading"
      :data="questionBankData"
      :permission="permissionList"
      ref="questionBankCrud"
      :page.sync="questionBankPage"
      @on-load="questionBankOnLoad"
      @selection-change="questionBankSelectionChange"
      @search-change="questionBankSearchChange"
      @search-reset="questionBankSearchReset"
      @current-change="questionBankCurrentChange"
      @size-change="questionBankSizeChange"
      @row-save="questionBankRowSave"
      @row-del="questionBankRowDel"
    >
      <el-card>
        <div
          :class="[
            'exam-card-body',
            $store.state.control.windowWidth >= 1024 ? 'oneRowSearch' : '',
          ]"
        >
          <avue-crud
            v-model="obj"
            class="company-box"
            :option="questionBankOption"
            :search.sync="questionBankSearch"
            :table-loading="questionBankLoading"
            :data="questionBankData"
            :permission="permissionList"
            ref="questionBankCrud"
            :page.sync="questionBankPage"
            @on-load="questionBankOnLoad"
            @selection-change="questionBankSelectionChange"
            @search-change="questionBankSearchChange"
            @search-reset="questionBankSearchReset"
            @current-change="questionBankCurrentChange"
            @size-change="questionBankSizeChange"
            @row-save="questionBankRowSave"
            @row-del="questionBankRowDel"
          >
            <!-- 自定义按钮 -->
            <template slot="menuLeft">
              <el-button
                type="primary"
                size="small"
                plain
                v-if="permission.company_batch_add"
                icon="el-icon-folder-checked"
                @click="handleBatchApply"
                >批量报名
              </el-button>
            </template>
      <!-- 自定义按钮 -->
      <template slot="menuLeft">
        <el-button
          type="primary"
          size="small"
          plain
          v-if="permission.company_batch_add"
          icon="el-icon-folder-checked"
          @click="handleBatchApply"
          >批量报名
        </el-button>
      </template>
            <template slot-scope="{ type, row }" slot="menu">
              <el-button
                :type="type"
                size="small"
                icon="el-icon-refresh-left"
                v-if="row.isApply == 1 && permission.company_cancel"
                @click="handleCancel(row)"
                >取消报名
              </el-button>
              <el-button
                :type="type"
                size="small"
                icon="el-icon-folder-checked"
                v-if="row.isApply != 1 && permission.company_add"
                :disabled="row.examinationType == '1'"
                @click="questionBankRowSave(row)"
                >报名
              </el-button>
              <el-button
                :type="type"
                style="display: none"
                size="small"
                icon="el-icon-receiving"
                :disabled="row.isApply == 2"
                @click="handlePrint(row)"
                >准考证打印
              </el-button>
            </template>
          </avue-crud>
      <template slot-scope="{ type, row }" slot="menu">
        <el-button
          :type="type"
          size="small"
          icon="el-icon-refresh-left"
          v-if="row.isApply == 1 && permission.company_cancel"
          @click="handleCancel(row)"
          >取消报名
        </el-button>
        <el-button
          :type="type"
          size="small"
          icon="el-icon-folder-checked"
          v-if="row.isApply != 1 && permission.company_add"
          :disabled="row.examinationType == '1'"
          @click="questionBankRowSave(row)"
          >报名
        </el-button>
        <el-button
          :type="type"
          style="display: none"
          size="small"
          icon="el-icon-receiving"
          :disabled="row.isApply == 2"
          @click="handlePrint(row)"
          >准考证打印
        </el-button>
      </template>
    </avue-crud>
          <el-dialog
            title="考试资格审核"
            :visible.sync="dialogFormVisible"
            modal-append-to-body="false"
            append-to-body="true"
            :close-on-click-model="true"
          >
            <avue-form
              ref="formAudit"
              v-model="Audit"
              :option="optionAudit"
              @reset-change="emptytChange"
              @submit="submit"
            ></avue-form>
          </el-dialog>
    <el-dialog
      title="考试资格审核"
      :visible.sync="dialogFormVisible"
      modal-append-to-body="false"
      append-to-body="true"
      :close-on-click-model="true"
    >
      <avue-form
        ref="formAudit"
        v-model="Audit"
        :option="optionAudit"
        @reset-change="emptytChange"
        @submit="submit"
      ></avue-form>
    </el-dialog>
          <el-dialog
            title="报名"
            append-to-body
            :visible.sync="dialogBatchFormVisible"
            width="1000px"
            @close="closeDialog"
          >
            <avue-form
              ref="formBatchApply"
              v-model="BatchApply"
              :option="optionBatchApply"
              @reset-change="emptytChange"
              @submit="submitBatchApply"
            ></avue-form>
          </el-dialog>
        </div>
      </el-card>
    </el-col>
  </el-row>
    <el-dialog
      title="报名"
      append-to-body
      :visible.sync="dialogBatchFormVisible"
      width="1000px"
      @close="closeDialog"
    >
      <avue-form
        ref="formBatchApply"
        v-model="BatchApply"
        :option="optionBatchApply"
        @reset-change="emptytChange"
        @submit="submitBatchApply"
      ></avue-form>
    </el-dialog>
  </basic-container>
</template>
<script>
import {
  addApply,
  cancelApplyNotApplyId,
  remove,
  remove
} from "@/api/examapi/applyexam";
import { getListApply, addBatchApply } from "@/api/securityGuard/securityGuard";
import { mapState } from "vuex";
@@ -133,17 +117,17 @@
  applyStatus: [
    {
      label: "已报名",
      value: 1,
      value: 1
    },
    {
      label: "已取消",
      value: 2,
      value: 2
    },
    {
      label: "考试结束",
      value: 3,
    },
  ],
      value: 3
    }
  ]
};
export default {
@@ -170,6 +154,7 @@
        menuWidth: 230,
        dialogClickModal: false,
        ...this.$store.state.control.clearOtherBut,
        ...this.$store.state.control.searchOpen,
        column: [
          {
            label: "审核状态",
@@ -185,27 +170,27 @@
              {
                required: true,
                message: "请选择审核类型",
                trigger: "blur",
              },
                trigger: "blur"
              }
            ],
            dicData: [
              {
                label: "审核通过",
                value: 2,
                value: 2
              },
              {
                label: "不通过",
                value: 3,
              },
            ],
                value: 3
              }
            ]
          },
          {
            label: "审核明细",
            span: 24,
            type: "textarea",
            prop: "auditDetail",
          },
        ],
            prop: "auditDetail"
          }
        ]
      },
      optionBatchApply: {
        height: "auto",
@@ -233,7 +218,7 @@
            // dicUrl: "/api/blade-user/page-security-unit?deptId="+this.deptId,
            props: {
              label: "name",
              value: "id",
              value: "id"
            },
            //不包含父节点值
            leafOnly: true,
@@ -243,12 +228,12 @@
              {
                required: true,
                message: "请输入姓名",
                trigger: "blur",
              },
                trigger: "blur"
              }
            ],
            span: 24,
          },
        ],
            span: 24
          }
        ]
      },
      questionBankOption: {
        // 操作栏多余按钮去除
@@ -285,7 +270,7 @@
            search: true,
            searchSpan: 4,
            searchLabelWidth: 50,
            display: false,
            display: false
          },
          {
            label: "性别",
@@ -294,38 +279,38 @@
            dicData: [
              {
                label: "男",
                value: 1,
                value: 1
              },
              {
                label: "女",
                value: 2,
                value: 2
              },
              {
                label: "未知",
                value: 3,
                value: 3
              },
              {
                label: " ",
                value: -1,
              },
                value: -1
              }
            ],
            display: false,
            display: false
          },
          {
            label: "籍贯",
            prop: "nativeplace",
            display: false,
            display: false
          },
          {
            label: "联系电话",
            prop: "phone",
            display: false,
            display: false
          },
          {
            label: "入职时间",
            prop: "rtime",
            display: false,
            display: false
          },
          {
            label: "保安公司名称",
@@ -337,13 +322,13 @@
              "/api/blade-system/dept/security_lazy-tree?parentId=1413470343230877697",
            props: {
              label: "title",
              value: "id",
              value: "id"
            },
            slot: true,
            searchSpan: 4,
            display: false,
            search: false,
            width: 260,
            width: 260
          },
          {
            label: "是否持证",
@@ -353,16 +338,16 @@
            dicUrl: "/api/blade-system/dict-biz/dictionary?code=equipage",
            props: {
              label: "dictValue",
              value: "dictKey",
              value: "dictKey"
            },
            type: "select",
            rules: [
              {
                required: true,
                message: "请选择",
                trigger: "blur",
              },
            ],
                trigger: "blur"
              }
            ]
          },
          {
            label: "在职状态",
@@ -371,7 +356,7 @@
            dicUrl: "/api/blade-system/dict-biz/dictionary?code=workerState",
            props: {
              label: "dictValue",
              value: "dictKey",
              value: "dictKey"
            },
            dataType: "number",
            display: false,
@@ -381,9 +366,9 @@
              {
                required: true,
                message: "请选择在职状态",
                trigger: "blur",
              },
            ],
                trigger: "blur"
              }
            ]
          },
          {
            label: "是否报名",
@@ -392,20 +377,20 @@
            dicData: [
              {
                label: "是",
                value: 1,
                value: 1
              },
              {
                label: "已取消",
                value: 2,
                value: 2
              },
              {
                label: "考试结束",
                value: 3,
                value: 3
              },
              {
                label: "否",
                value: 4,
              },
                value: 4
              }
            ],
            dataType: "number",
            display: false,
@@ -415,11 +400,11 @@
              {
                required: true,
                message: "请选择在职状态",
                trigger: "blur",
              },
            ],
          },
        ],
                trigger: "blur"
              }
            ]
          }
        ]
      },
      questionBankSearch: {},
      questionBankLoading: true,
@@ -428,10 +413,10 @@
        pageSize: 10,
        currentPage: 1,
        total: 16,
        ...this.$store.state.control.changePageSize,
        ...this.$store.state.control.changePageSize
      },
      questionBankQuery: {},
      questionBankSelectionList: [],
      questionBankSelectionList: []
    };
  },
  created() {
@@ -449,10 +434,12 @@
    this.optionBatchApply.column[0].dicUrl =
      "/api/blade-user/security-apply-tree?deptId=" + this.userInfo.dept_id;
  },
  mounted() {},
  mounted() {
    this.$store.commit("setWindowSizeHeightAdd");
  },
  computed: {
    ...mapState({
      userInfo: (state) => state.user.userInfo,
      userInfo: state => state.user.userInfo
    }),
    ...mapGetters(["userInfo", "permission"]),
    permissionList() {
@@ -460,16 +447,16 @@
        addBtn: this.vaildData(null, false),
        viewBtn: this.vaildData(null, false),
        delBtn: this.vaildData(null, false),
        editBtn: this.vaildData(null, false),
        editBtn: this.vaildData(null, false)
      };
    },
    ids() {
      let ids = [];
      this.questionBankSelectionList.forEach((ele) => {
      this.questionBankSelectionList.forEach(ele => {
        ids.push(ele.id);
      });
      return ids.join(",");
    },
    }
  },
  methods: {
    //准考证查看
@@ -478,7 +465,7 @@
      obj["name"] = "准考证信息";
      this.$router.push({
        path: `/applyexam/papers`,
        query: obj,
        query: obj
      });
    },
    questionBankOnLoad(page, params = {}) {
@@ -489,11 +476,12 @@
        page.currentPage,
        page.pageSize,
        Object.assign(params, this.questionBankQuery)
      ).then((res) => {
      ).then(res => {
        const data = res.data.data;
        this.questionBankPage.total = data.total;
        this.questionBankData = data.records;
        this.questionBankLoading = false;
        this.$store.commit("setWindowSizeHeightAdd");
        this.questionBankSelectionClear();
      });
    },
@@ -525,29 +513,29 @@
    questionBankRowSave(row, done, loading) {
      // debugger;
      addApply({
        userId: row.id,
        userId: row.id
      }).then(
        (res) => {
        res => {
          this.questionBankOnLoad(this.questionBankPage);
          if (res.data.data == 201) {
            this.$message({
              type: "warning",
              message: "已报名,不能重复报名",
              message: "已报名,不能重复报名"
            });
          } else if (res.data.data == 201) {
            this.$message({
              type: "warning",
              message: "报名失败",
              message: "报名失败"
            });
          } else {
            this.$message({
              type: "success",
              message: "报名成功",
              message: "报名成功"
            });
          }
          done();
        },
        (error) => {
        error => {
          window.console.log(error);
          loading();
        }
@@ -558,7 +546,7 @@
      this.$confirm("确定将选择数据删除?", {
        confirmButtonText: "确定",
        cancelButtonText: "取消",
        type: "warning",
        type: "warning"
      })
        .then(() => {
          return remove(row.id);
@@ -567,7 +555,7 @@
          this.questionBankOnLoad(this.questionBankPage);
          this.$message({
            type: "success",
            message: "操作成功!",
            message: "操作成功!"
          });
        });
    },
@@ -577,7 +565,7 @@
      this.$confirm("确定取消报名?", {
        confirmButtonText: "确定",
        cancelButtonText: "取消",
        type: "warning",
        type: "warning"
      })
        .then(() => {
          row.applyStatus = 4;
@@ -588,7 +576,7 @@
          this.questionBankOnLoad(this.questionBankPage);
          this.$message({
            type: "success",
            message: "操作成功!",
            message: "操作成功!"
          });
        });
    },
@@ -600,32 +588,32 @@
        this.$confirm("确定全部人员报名?", {
          confirmButtonText: "确定",
          cancelButtonText: "取消",
          type: "warning",
          type: "warning"
        }).then(() => {
          var userIds = "";
          addBatchApply(userIds, this.userInfo.dept_id).then(
            (res) => {
            res => {
              this.questionBankOnLoad(this.questionBankPage);
              if (res.data.data == 201) {
                this.$message({
                  type: "warning",
                  message: "已报名,不能重复报名",
                  message: "已报名,不能重复报名"
                });
              } else if (res.data.data == 201) {
                this.$message({
                  type: "warning",
                  message: "报名失败",
                  message: "报名失败"
                });
              } else {
                this.$message({
                  type: "success",
                  message: "报名成功",
                  message: "报名成功"
                });
                this.$refs.formBatchApply.resetFields();
                this.dialogBatchFormVisible = false;
              }
            },
            (error) => {
            error => {
              window.console.log(error);
            }
          );
@@ -634,31 +622,31 @@
        this.$confirm("确定选择人员报名?", {
          confirmButtonText: "确定",
          cancelButtonText: "取消",
          type: "warning",
          type: "warning"
        }).then(() => {
          addBatchApply(this.ids, this.userInfo.dept_id).then(
            (res) => {
            res => {
              this.questionBankOnLoad(this.questionBankPage);
              if (res.data.data == 201) {
                this.$message({
                  type: "warning",
                  message: "已报名,不能重复报名",
                  message: "已报名,不能重复报名"
                });
              } else if (res.data.data == 201) {
                this.$message({
                  type: "warning",
                  message: "报名失败",
                  message: "报名失败"
                });
              } else {
                this.$message({
                  type: "success",
                  message: "报名成功",
                  message: "报名成功"
                });
                this.$refs.formBatchApply.resetFields();
                this.dialogBatchFormVisible = false;
              }
            },
            (error) => {
            error => {
              window.console.log(error);
            }
          );
@@ -711,7 +699,7 @@
      this.$confirm("确定将选择数据删除?", {
        confirmButtonText: "确定",
        cancelButtonText: "取消",
        type: "warning",
        type: "warning"
      })
        .then(() => {
          return remove(this.ids);
@@ -720,7 +708,7 @@
          this.questionBankOnLoad(this.questionBankPage);
          this.$message({
            type: "success",
            message: "操作成功!",
            message: "操作成功!"
          });
          this.$refs.questionBankCrud.toggleSelection();
        });
@@ -728,10 +716,9 @@
    handleAudit(row) {
      this.dialogFormVisible = true;
      this.Audit = row;
    },
  },
    }
  }
};
</script>
<style lang="scss" scoped>
</style>
<style lang="scss" scoped></style>
src/views/desk/notice.vue
@@ -2,10 +2,12 @@
  <basic-container
    :class="[
      'desk1',
      $store.state.control.windowWidth >= 1024 ? 'oneRowSearch' : '',
      $store.state.control.screenSize == 1366 ? 'smallSize' : 'normalSize',
      $store.state.control.windowWidth >= 1024 ? 'tooRowSearch1' : ''
    ]"
  >
    <avue-crud
      class="tablesss"
      :option="option"
      :table-loading="loading"
      :data="data"
@@ -83,7 +85,7 @@
        pageSize: 10,
        currentPage: 1,
        total: 0,
        ...this.$store.state.control.changePageSize,
        ...this.$store.state.control.changePageSize
      },
      selectionList: [],
      option: {
@@ -118,9 +120,9 @@
              {
                required: true,
                message: "请输入通知标题",
                trigger: "blur",
              },
            ],
                trigger: "blur"
              }
            ]
          },
          {
            label: "通知类型",
@@ -128,7 +130,7 @@
            dicUrl: "/api/blade-system/dict/dictionary?code=notice",
            props: {
              label: "dictValue",
              value: "dictKey",
              value: "dictKey"
            },
            dataType: "number",
            slot: true,
@@ -142,9 +144,9 @@
              {
                required: true,
                message: "请输入通知类型",
                trigger: "blur",
              },
            ],
                trigger: "blur"
              }
            ]
          },
          {
            label: "发布单位",
@@ -153,7 +155,7 @@
            dicUrl: "/api/blade-system/dept/lazy-tree",
            props: {
              label: "title",
              value: "id",
              value: "id"
            },
            addDisplay: false,
            editDisplay: false,
@@ -161,9 +163,9 @@
              {
                required: true,
                message: "所属组织机构",
                trigger: "click",
              },
            ],
                trigger: "click"
              }
            ]
          },
          {
            label: "通知时间",
@@ -182,9 +184,9 @@
              {
                required: true,
                message: "请输入通知时间",
                trigger: "blur",
              },
            ],
                trigger: "blur"
              }
            ]
          },
          {
            label: "通知日期",
@@ -196,9 +198,9 @@
              {
                required: true,
                message: "请输入通知日期",
                trigger: "click",
              },
            ],
                trigger: "click"
              }
            ]
          },
          {
            label: "通知内容",
@@ -208,16 +210,16 @@
              action: "/api/blade-resource/oss/endpoint/put-file",
              props: {
                res: "data",
                url: "link",
              },
                url: "link"
              }
            },
            hide: true,
            minRows: 6,
            span: 24,
          },
        ],
            span: 24
          }
        ]
      },
      data: [],
      data: []
    };
  },
  computed: {
@@ -227,28 +229,29 @@
        addBtn: this.vaildData(this.permission.notice_add, false),
        viewBtn: this.vaildData(this.permission.notice_view, false),
        delBtn: this.vaildData(this.permission.notice_delete, false),
        editBtn: this.vaildData(this.permission.notice_edit, false),
        editBtn: this.vaildData(this.permission.notice_edit, false)
      };
    },
    ids() {
      let ids = [];
      this.selectionList.forEach((ele) => {
      this.selectionList.forEach(ele => {
        ids.push(ele.id);
      });
      return ids.join(",");
    },
    ...mapState({
      userInfo: (state) => state.user.userInfo,
    }),
      userInfo: state => state.user.userInfo
    })
  },
  mounted() {
    this.getDeptInfo(this.userInfo.dept_id);
    this.$store.commit("setWindowSizeHeightAdd");
  },
  methods: {
    //获取当前用户部门信息
    getDeptInfo(deptId) {
      var that = this;
      getDept(deptId).then((res) => {
      getDept(deptId).then(res => {
        var deptCategory = res.data.data.deptCategory;
        deptCategory == 1
          ? (that.deptCategory = true)
@@ -261,8 +264,8 @@
        path: `/resource/uploadNotice`,
        query: {
          deptId: row.deptId,
          noticeId: row.id,
        },
          noticeId: row.id
        }
      });
    },
    rowSave(row, done, loading) {
@@ -278,11 +281,11 @@
          this.onLoad(this.page);
          this.$message({
            type: "success",
            message: "操作成功!",
            message: "操作成功!"
          });
          done();
        },
        (error) => {
        error => {
          window.console.log(error);
          loading();
        }
@@ -300,11 +303,11 @@
          this.onLoad(this.page);
          this.$message({
            type: "success",
            message: "操作成功!",
            message: "操作成功!"
          });
          done();
        },
        (error) => {
        error => {
          window.console.log(error);
          loading();
        }
@@ -314,7 +317,7 @@
      this.$confirm("确定将选择数据删除?", {
        confirmButtonText: "确定",
        cancelButtonText: "取消",
        type: "warning",
        type: "warning"
      })
        .then(() => {
          return remove(row.id);
@@ -323,7 +326,7 @@
          this.onLoad(this.page);
          this.$message({
            type: "success",
            message: "操作成功!",
            message: "操作成功!"
          });
        });
    },
@@ -352,7 +355,7 @@
      this.$confirm("确定将选择数据删除?", {
        confirmButtonText: "确定",
        cancelButtonText: "取消",
        type: "warning",
        type: "warning"
      })
        .then(() => {
          return remove(this.ids);
@@ -361,14 +364,14 @@
          this.onLoad(this.page);
          this.$message({
            type: "success",
            message: "操作成功!",
            message: "操作成功!"
          });
          this.$refs.crud.toggleSelection();
        });
    },
    beforeOpen(done, type) {
      if (["edit", "view"].includes(type)) {
        getNotice(this.form.id).then((res) => {
        getNotice(this.form.id).then(res => {
          this.form = res.data.data;
        });
      }
@@ -390,7 +393,7 @@
      //获取当前用户部门信息,判断是否为公安,如果是公安,则只能查看公告信息
      var that = this;
      getDept(this.deptId).then((res) => {
      getDept(this.deptId).then(res => {
        var deptCategory = res.data.data.deptCategory;
        deptCategory == 1
          ? (that.deptCategory = true)
@@ -402,37 +405,37 @@
          this.userInfo.role_name == "保安" ||
          this.userInfo.role_name == "装备管理员"
        ) {
          params['deptId'] = this.userInfo.dept_id;
          params["deptId"] = this.userInfo.dept_id;
        }
        const { releaseTimeRange } = this.query;
        params["jurisdiction"] = this.jurisdiction;
        params["type"] = 1;
        let values = {
          ...params,
          ...params
        };
        if (releaseTimeRange) {
          values = {
            ...params,
            startTime: releaseTimeRange[0],
            endTime: releaseTimeRange[1],
            ...this.query,
            ...this.query
          };
          values.releaseTimeRange = null;
        }
        this.loading = true;
        getListPage(page.currentPage, page.pageSize, values).then((res) => {
        getListPage(page.currentPage, page.pageSize, values).then(res => {
          const data = res.data.data;
          this.page.total = data.total;
          this.data = data.records;
          this.loading = false;
          this.$store.commit("setWindowSizeHeightAdd");
          this.selectionClear();
        });
      });
    },
  },
    }
  }
};
</script>
<style>
</style>
<style></style>
src/views/desk/notification.vue
@@ -2,7 +2,8 @@
  <basic-container
    :class="[
      'desk1',
      $store.state.control.windowWidth >= 1024 ? 'oneRowSearch' : '',
      $store.state.control.screenSize == 1366 ? 'smallSize' : 'normalSize',
      $store.state.control.windowWidth >= 1024 ? 'tooRowSearch1' : ''
    ]"
  >
    <!-- 
@@ -25,6 +26,7 @@
...this.$store.state.control.changePageSize,
   -->
    <avue-crud
      class="tablesss"
      :option="option"
      :table-loading="loading"
      :data="data"
@@ -102,7 +104,7 @@
        pageSize: 10,
        currentPage: 1,
        total: 0,
        ...this.$store.state.control.changePageSize,
        ...this.$store.state.control.changePageSize
      },
      selectionList: [],
      option: {
@@ -137,9 +139,9 @@
              {
                required: true,
                message: "请输入通知标题",
                trigger: "blur",
              },
            ],
                trigger: "blur"
              }
            ]
          },
          {
            label: "封面",
@@ -151,10 +153,10 @@
            action: "/api/blade-resource/oss/endpoint/put-file",
            propsHttp: {
              res: "data",
              url: "link",
              url: "link"
            },
            // hide: true,
            span: 24,
            span: 24
          },
          // {
          //   label: "类型",
@@ -187,7 +189,7 @@
            dicUrl: "/api/blade-system/dept/lazy-tree",
            props: {
              label: "title",
              value: "id",
              value: "id"
            },
            addDisplay: false,
            editDisplay: false,
@@ -195,9 +197,9 @@
              {
                required: true,
                message: "所属组织机构",
                trigger: "click",
              },
            ],
                trigger: "click"
              }
            ]
          },
          {
            label: "发布时间",
@@ -215,9 +217,9 @@
              {
                required: true,
                message: "请输入发布时间",
                trigger: "blur",
              },
            ],
                trigger: "blur"
              }
            ]
          },
          {
            label: "发布时间",
@@ -229,9 +231,9 @@
              {
                required: true,
                message: "请输入发布时间",
                trigger: "click",
              },
            ],
                trigger: "click"
              }
            ]
          },
          {
            label: "发布内容",
@@ -241,16 +243,16 @@
              action: "/api/blade-resource/oss/endpoint/put-file",
              props: {
                res: "data",
                url: "link",
              },
                url: "link"
              }
            },
            hide: true,
            minRows: 4,
            span: 24,
          },
        ],
            span: 24
          }
        ]
      },
      data: [],
      data: []
    };
  },
  computed: {
@@ -260,28 +262,29 @@
        addBtn: this.vaildData(this.permission.notice_add, false),
        viewBtn: this.vaildData(this.permission.notice_view, false),
        delBtn: this.vaildData(this.permission.notice_delete, false),
        editBtn: this.vaildData(this.permission.notice_edit, false),
        editBtn: this.vaildData(this.permission.notice_edit, false)
      };
    },
    ids() {
      let ids = [];
      this.selectionList.forEach((ele) => {
      this.selectionList.forEach(ele => {
        ids.push(ele.id);
      });
      return ids.join(",");
    },
    ...mapState({
      userInfo: (state) => state.user.userInfo,
    }),
      userInfo: state => state.user.userInfo
    })
  },
  mounted() {
    this.getDeptInfo(this.userInfo.dept_id);
    this.$store.commit("setWindowSizeHeightAdd");
  },
  methods: {
    //获取当前用户部门信息
    getDeptInfo(deptId) {
      var that = this;
      getDept(deptId).then((res) => {
      getDept(deptId).then(res => {
        var deptCategory = res.data.data.deptCategory;
        deptCategory == 1
          ? (that.deptCategory = true)
@@ -294,8 +297,8 @@
        path: `/resource/uploadNotification`,
        query: {
          deptId: row.deptId,
          noticeId: row.id,
        },
          noticeId: row.id
        }
      });
    },
    rowSave(row, done, loading) {
@@ -306,11 +309,11 @@
          this.onLoad(this.page);
          this.$message({
            type: "success",
            message: "操作成功!",
            message: "操作成功!"
          });
          done();
        },
        (error) => {
        error => {
          window.console.log(error);
          loading();
        }
@@ -323,11 +326,11 @@
          this.onLoad(this.page);
          this.$message({
            type: "success",
            message: "操作成功!",
            message: "操作成功!"
          });
          done();
        },
        (error) => {
        error => {
          window.console.log(error);
          loading();
        }
@@ -337,7 +340,7 @@
      this.$confirm("确定将选择数据删除?", {
        confirmButtonText: "确定",
        cancelButtonText: "取消",
        type: "warning",
        type: "warning"
      })
        .then(() => {
          return remove(row.id);
@@ -346,7 +349,7 @@
          this.onLoad(this.page);
          this.$message({
            type: "success",
            message: "操作成功!",
            message: "操作成功!"
          });
        });
    },
@@ -375,7 +378,7 @@
      this.$confirm("确定将选择数据删除?", {
        confirmButtonText: "确定",
        cancelButtonText: "取消",
        type: "warning",
        type: "warning"
      })
        .then(() => {
          return remove(this.ids);
@@ -384,14 +387,14 @@
          this.onLoad(this.page);
          this.$message({
            type: "success",
            message: "操作成功!",
            message: "操作成功!"
          });
          this.$refs.crud.toggleSelection();
        });
    },
    beforeOpen(done, type) {
      if (["edit", "view"].includes(type)) {
        getNotice(this.form.id).then((res) => {
        getNotice(this.form.id).then(res => {
          this.form = res.data.data;
        });
      }
@@ -413,7 +416,7 @@
      //获取当前用户部门信息,判断是否为公安,如果是公安,则只能查看公告信息
      var that = this;
      getDept(this.deptId).then((res) => {
      getDept(this.deptId).then(res => {
        var deptCategory = res.data.data.deptCategory;
        deptCategory == 1
          ? (that.deptCategory = true)
@@ -425,36 +428,36 @@
          this.userInfo.role_name == "保安" ||
          this.userInfo.role_name == "装备管理员"
        ) {
          params['deptId'] = this.userInfo.dept_id;
          params["deptId"] = this.userInfo.dept_id;
        }
        const { releaseTimeRange } = this.query;
        params["jurisdiction"] = this.jurisdiction;
        params["type"] = 3;
        let values = {
          ...params,
          ...params
        };
        if (releaseTimeRange) {
          values = {
            ...params,
            startTime: releaseTimeRange[0],
            endTime: releaseTimeRange[1],
            ...this.query,
            ...this.query
          };
          values.releaseTimeRange = null;
        }
        this.loading = true;
        getListPage(page.currentPage, page.pageSize, values).then((res) => {
        getListPage(page.currentPage, page.pageSize, values).then(res => {
          const data = res.data.data;
          this.page.total = data.total;
          this.data = data.records;
          this.loading = false;
          this.$store.commit("setWindowSizeHeightAdd");
          this.selectionClear();
        });
      });
    },
  },
    }
  }
};
</script>
<style>
</style>
<style></style>
src/views/desk/policyRelease.vue
@@ -2,10 +2,12 @@
  <basic-container
    :class="[
      'desk1',
      $store.state.control.windowWidth >= 1024 ? 'oneRowSearch' : '',
      $store.state.control.screenSize == 1366 ? 'smallSize' : 'normalSize',
      $store.state.control.windowWidth >= 1024 ? 'tooRowSearch1' : ''
    ]"
  >
    <avue-crud
      class="tablesss"
      :option="option"
      :table-loading="loading"
      :data="data"
@@ -83,7 +85,7 @@
        pageSize: 10,
        currentPage: 1,
        total: 0,
        ...this.$store.state.control.changePageSize,
        ...this.$store.state.control.changePageSize
      },
      selectionList: [],
      option: {
@@ -118,9 +120,9 @@
              {
                required: true,
                message: "请输入通知标题",
                trigger: "blur",
              },
            ],
                trigger: "blur"
              }
            ]
          },
          {
            label: "封面",
@@ -132,10 +134,10 @@
            action: "/api/blade-resource/oss/endpoint/put-file",
            propsHttp: {
              res: "data",
              url: "link",
              url: "link"
            },
            // hide: true,
            span: 24,
            span: 24
          },
          // {
          //   label: "类型",
@@ -168,7 +170,7 @@
            dicUrl: "/api/blade-system/dept/lazy-tree",
            props: {
              label: "title",
              value: "id",
              value: "id"
            },
            addDisplay: false,
            editDisplay: false,
@@ -176,9 +178,9 @@
              {
                required: true,
                message: "所属组织机构",
                trigger: "click",
              },
            ],
                trigger: "click"
              }
            ]
          },
          {
            label: "发布时间",
@@ -196,9 +198,9 @@
              {
                required: true,
                message: "请输入发布时间",
                trigger: "blur",
              },
            ],
                trigger: "blur"
              }
            ]
          },
          {
            label: "发布时间",
@@ -210,9 +212,9 @@
              {
                required: true,
                message: "请输入发布时间",
                trigger: "click",
              },
            ],
                trigger: "click"
              }
            ]
          },
          {
            label: "发布内容",
@@ -222,16 +224,16 @@
              action: "/api/blade-resource/oss/endpoint/put-file",
              props: {
                res: "data",
                url: "link",
              },
                url: "link"
              }
            },
            hide: true,
            minRows: 4,
            span: 24,
          },
        ],
            span: 24
          }
        ]
      },
      data: [],
      data: []
    };
  },
  computed: {
@@ -241,28 +243,29 @@
        addBtn: this.vaildData(this.permission.notice_add, false),
        viewBtn: this.vaildData(this.permission.notice_view, false),
        delBtn: this.vaildData(this.permission.notice_delete, false),
        editBtn: this.vaildData(this.permission.notice_edit, false),
        editBtn: this.vaildData(this.permission.notice_edit, false)
      };
    },
    ids() {
      let ids = [];
      this.selectionList.forEach((ele) => {
      this.selectionList.forEach(ele => {
        ids.push(ele.id);
      });
      return ids.join(",");
    },
    ...mapState({
      userInfo: (state) => state.user.userInfo,
    }),
      userInfo: state => state.user.userInfo
    })
  },
  mounted() {
    this.getDeptInfo(this.userInfo.dept_id);
    this.$store.commit("setWindowSizeHeightAdd");
  },
  methods: {
    //获取当前用户部门信息
    getDeptInfo(deptId) {
      var that = this;
      getDept(deptId).then((res) => {
      getDept(deptId).then(res => {
        var deptCategory = res.data.data.deptCategory;
        deptCategory == 1
          ? (that.deptCategory = true)
@@ -275,8 +278,8 @@
        path: `/resource/uploadPolicyRelease`,
        query: {
          deptId: row.deptId,
          noticeId: row.id,
        },
          noticeId: row.id
        }
      });
    },
    rowSave(row, done, loading) {
@@ -287,11 +290,11 @@
          this.onLoad(this.page);
          this.$message({
            type: "success",
            message: "操作成功!",
            message: "操作成功!"
          });
          done();
        },
        (error) => {
        error => {
          window.console.log(error);
          loading();
        }
@@ -304,11 +307,11 @@
          this.onLoad(this.page);
          this.$message({
            type: "success",
            message: "操作成功!",
            message: "操作成功!"
          });
          done();
        },
        (error) => {
        error => {
          window.console.log(error);
          loading();
        }
@@ -318,7 +321,7 @@
      this.$confirm("确定将选择数据删除?", {
        confirmButtonText: "确定",
        cancelButtonText: "取消",
        type: "warning",
        type: "warning"
      })
        .then(() => {
          return remove(row.id);
@@ -327,7 +330,7 @@
          this.onLoad(this.page);
          this.$message({
            type: "success",
            message: "操作成功!",
            message: "操作成功!"
          });
        });
    },
@@ -356,7 +359,7 @@
      this.$confirm("确定将选择数据删除?", {
        confirmButtonText: "确定",
        cancelButtonText: "取消",
        type: "warning",
        type: "warning"
      })
        .then(() => {
          return remove(this.ids);
@@ -365,14 +368,14 @@
          this.onLoad(this.page);
          this.$message({
            type: "success",
            message: "操作成功!",
            message: "操作成功!"
          });
          this.$refs.crud.toggleSelection();
        });
    },
    beforeOpen(done, type) {
      if (["edit", "view"].includes(type)) {
        getNotice(this.form.id).then((res) => {
        getNotice(this.form.id).then(res => {
          this.form = res.data.data;
        });
      }
@@ -394,7 +397,7 @@
      //获取当前用户部门信息,判断是否为公安,如果是公安,则只能查看公告信息
      var that = this;
      getDept(this.deptId).then((res) => {
      getDept(this.deptId).then(res => {
        var deptCategory = res.data.data.deptCategory;
        deptCategory == 1
          ? (that.deptCategory = true)
@@ -406,36 +409,36 @@
          this.userInfo.role_name == "保安" ||
          this.userInfo.role_name == "装备管理员"
        ) {
          params['deptId'] = this.userInfo.dept_id;
          params["deptId"] = this.userInfo.dept_id;
        }
        const { releaseTimeRange } = this.query;
        params["jurisdiction"] = this.jurisdiction;
        params["type"] = 2;
        let values = {
          ...params,
          ...params
        };
        if (releaseTimeRange) {
          values = {
            ...params,
            startTime: releaseTimeRange[0],
            endTime: releaseTimeRange[1],
            ...this.query,
            ...this.query
          };
          values.releaseTimeRange = null;
        }
        this.loading = true;
        getListPage(page.currentPage, page.pageSize, values).then((res) => {
        getListPage(page.currentPage, page.pageSize, values).then(res => {
          const data = res.data.data;
          this.page.total = data.total;
          this.data = data.records;
          this.loading = false;
          this.$store.commit("setWindowSizeHeightAdd");
          this.selectionClear();
        });
      });
    },
  },
    }
  }
};
</script>
<style>
</style>
<style></style>
src/views/dispatch/dispatch.vue
@@ -1,74 +1,75 @@
<template>
  <basic-container>
    <div
      :class="[
        'dispatch',
        $store.state.control.windowWidth >= 1024 ? 'oneRowSearch' : '',
      ]"
    >
      <!-- <avue-tabs :option="optionTABS" @change="handleChangeTABS"></avue-tabs>
  <basic-container
    :class="[
      'dispatch',
      $store.state.control.screenSize == 1366 ? 'smallSize' : 'normalSize',
      $store.state.control.windowWidth >= 1024 ? 'tooRowSearch1' : ''
    ]"
  >
    <!-- <avue-tabs :option="optionTABS" @change="handleChangeTABS"></avue-tabs>
    <span v-if="typeTABS.prop === 'tab1'"> -->
      <avue-crud
        :option="option"
        :data="data"
        :page.sync="page"
        ref="crudrec"
        @on-load="onLoad"
        :table-loading="loading"
        @row-save="rowSave"
        @search-change="searchChange"
        @search-reset="searchReset"
        @row-update="rowUpdate"
        @row-del="rowDel"
        @selection-change="selectionChange"
        @refresh-change="refreshChange"
        @row-click="rowClick"
      >
        <template slot="menuLeft">
          <el-button
            type="danger"
            size="small"
            plain
            icon="el-icon-delete"
            @click="handleDelete"
            >删 除
          </el-button>
    <avue-crud
      class="tablesss"
      :option="option"
      :data="data"
      :page.sync="page"
      ref="crudrec"
      @on-load="onLoad"
      :table-loading="loading"
      @row-save="rowSave"
      @search-change="searchChange"
      @search-reset="searchReset"
      @row-update="rowUpdate"
      @row-del="rowDel"
      @selection-change="selectionChange"
      @refresh-change="refreshChange"
      @row-click="rowClick"
    >
      <template slot="menuLeft">
        <el-button
          type="danger"
          size="small"
          plain
          icon="el-icon-delete"
          @click="handleDelete"
          >删 除
        </el-button>
          <el-button
            type="success"
            size="small"
            plain
            icon="el-icon-upload2"
            @click="handleImport"
            >批量导入
        <el-button
          type="success"
          size="small"
          plain
          icon="el-icon-upload2"
          @click="handleImport"
          >批量导入
        </el-button>
      </template>
      <template slot-scope="{ row }" slot="jurisdiction">
        {{ row.jurisdiction == -1 ? "" : row.jurisdiction }}
      </template>
    </avue-crud>
    <el-dialog
      title="派遣单位导入"
      append-to-body
      :visible.sync="excelBox"
      width="555px"
    >
      <avue-form
        :option="excelOption"
        v-model="excelForm"
        :upload-after="uploadAfter"
      >
        <template slot="excelTemplate">
          <el-button type="primary" @click="handleTemplate">
            点击下载<i class="el-icon-download el-icon--right"></i>
          </el-button>
        </template>
      </avue-form>
    </el-dialog>
        <template slot-scope="{ row }" slot="jurisdiction">
          {{ row.jurisdiction == -1 ? "" : row.jurisdiction }}
        </template>
      </avue-crud>
      <el-dialog
        title="派遣单位导入"
        append-to-body
        :visible.sync="excelBox"
        width="555px"
      >
        <avue-form
          :option="excelOption"
          v-model="excelForm"
          :upload-after="uploadAfter"
        >
          <template slot="excelTemplate">
            <el-button type="primary" @click="handleTemplate">
              点击下载<i class="el-icon-download el-icon--right"></i>
            </el-button>
          </template>
        </avue-form>
      </el-dialog>
      <!-- </span>
    <!-- </span>
    <span v-else-if="typeTABS.prop === 'tab2'">
      <avue-crud
        :option="option1"
@@ -97,26 +98,19 @@
        </template>
      </avue-crud>
    </span> -->
      <!-- <span v-else-if="typeTABS.prop === 'tab3'">选项卡内容3</span> -->
    </div>
    <!-- <span v-else-if="typeTABS.prop === 'tab3'">选项卡内容3</span> -->
  </basic-container>
</template>
<script>
import {
  getdata,
  adddata,
  update,
  remove,
} from "@/api/dispatch/dispatch";
import { getdata, adddata, update, remove } from "@/api/dispatch/dispatch";
import { mapGetters } from "vuex";
import { mapState } from "vuex";
import { getToken } from "@/util/auth";
export default {
  data() {
    var phones = (rule, value, callback) => {
      window.yanzhengphons =
        /^1([358][0-9]|4[579]|66|7[0135678]|9[89])[0-9]{8}$/;
      window.yanzhengphons = /^1([358][0-9]|4[579]|66|7[0135678]|9[89])[0-9]{8}$/;
      if (!yanzhengphons.test(value)) {
        callback(new Error("请输入正确电话"));
      } else {
@@ -131,19 +125,19 @@
          {
            icon: "el-icon-info",
            label: "派遣服务公司登记",
            prop: "tab1",
            prop: "tab1"
          },
          {
            icon: "el-icon-info",
            label: "派遣记录",
            prop: "tab2",
          },
            prop: "tab2"
          }
          // {
          //   icon: "el-icon-info",
          //   label: "选项卡3",
          //   prop: "tab3",
          // },
        ],
        ]
      },
      loading: true, //派遣服务公司登记
@@ -152,7 +146,7 @@
        pageSize: 10,
        currentPage: 1,
        total: 0,
        ...this.$store.state.control.changePageSize,
        ...this.$store.state.control.changePageSize
      },
      query: {},
      data: [],
@@ -170,10 +164,10 @@
            loadText: "模板上传中,请稍等",
            span: 24,
            propsHttp: {
              res: "data",
              res: "data"
            },
            tip: "请上传 .xls,.xlsx 标准格式文件",
            action: "/api/dispatcherUnit/import-dispatcherUnit",
            action: "/api/dispatcherUnit/import-dispatcherUnit"
          },
          // {
          //     label: "数据覆盖",
@@ -205,9 +199,9 @@
            label: "模板下载",
            prop: "excelTemplate",
            formslot: true,
            span: 24,
          },
        ],
            span: 24
          }
        ]
      },
      option: {
        tip: false,
@@ -218,6 +212,7 @@
        menuWidth: 160,
        align: "center",
        selection: true,
        menu: false,
        ...this.$store.state.control.clearOtherBut,
        column: [
          {
@@ -233,16 +228,17 @@
              {
                required: true,
                message: "请输入派遣单位名称",
                trigger: "click",
              },
            ],
                trigger: "click"
              }
            ]
          },
          {
            label: "派遣单位类型",
            prop: "district",
            type: "select",
            search: false,
            dicUrl: "/api/blade-system/dict-biz/dictionary?code=dispatcherUnitType",
            dicUrl:
              "/api/blade-system/dict-biz/dictionary?code=dispatcherUnitType",
            props: {
              label: "dictValue",
              value: "dictKey"
@@ -256,10 +252,10 @@
              {
                required: true,
                message: "请选择派遣单位类型",
                trigger: "click",
              },
                trigger: "click"
              }
            ],
            dataType: "number",
            dataType: "number"
          },
          {
            label: "企业名称",
@@ -269,20 +265,20 @@
            dicUrl: "",
            props: {
              label: "title",
              value: "id",
              value: "id"
            },
            rules: [
              {
                required: true,
                message: "请选择企业名称",
                trigger: "click",
              },
                trigger: "click"
              }
            ],
            labelWidth: 138,
            width: 180,
            searchLabelWidth: 80,
            search: true,
            searchSpan: 4,
            searchSpan: 4
          },
          {
            label: "保安服务类型",
@@ -292,7 +288,7 @@
            searchSpan: 4,
            overHidden: true,
            // span: 12,
            labelWidth: 138,
            labelWidth: 138
          },
          {
            label: "合同生效时间",
@@ -313,9 +309,9 @@
              {
                required: true,
                message: "请输入时间",
                trigger: "blur",
              },
            ],
                trigger: "blur"
              }
            ]
          },
          {
            label: "所属辖区",
@@ -331,7 +327,7 @@
            dicUrl: "/api/jurisdiction/lazy-tree",
            props: {
              label: "title",
              value: "id",
              value: "id"
            },
            checkStrictly: true,
            slot: true,
@@ -339,9 +335,9 @@
              {
                required: false,
                message: "请选择所属辖区",
                trigger: "click",
              },
            ],
                trigger: "click"
              }
            ]
          },
          {
            label: "所属辖区",
@@ -353,12 +349,12 @@
            viewDisplay: false,
            overHidden: true,
            labelWidth: 138,
            width:100,
            width: 100,
            type: "tree",
            dicUrl: "/api/jurisdiction/lazy-tree",
            props: {
              label: "title",
              value: "id",
              value: "id"
            },
            checkStrictly: true,
            slot: true,
@@ -366,14 +362,14 @@
              {
                required: false,
                message: "请选择所属辖区",
                trigger: "click",
              },
            ],
                trigger: "click"
              }
            ]
          },
          {
            label: " 派遣单位地址",
            prop: "address",
            labelWidth: 138,
            labelWidth: 138
          },
          {
            label: "合同开始时间",
@@ -387,9 +383,9 @@
              {
                required: true,
                message: "请选择开始时间",
                trigger: "click",
              },
            ],
                trigger: "click"
              }
            ]
          },
          {
            label: "合同结束时间",
@@ -403,16 +399,16 @@
              {
                required: true,
                message: "请选择结束时间",
                trigger: "click",
              },
            ],
                trigger: "click"
              }
            ]
            // searchSpan: 4,
            // overHidden: true
          },
          {
            label: " 派遣单位联系人",
            prop: "linkman",
            labelWidth: 138,
            labelWidth: 138
            // rules: [
            //   {
            //     required: true,
@@ -425,7 +421,7 @@
            label: "派遣单位联系方式",
            prop: "phone",
            labelWidth: 138,
            width: 130,
            width: 130
          },
          {
            label: " 负责人",
@@ -435,9 +431,9 @@
              {
                required: true,
                message: "请输入负责人",
                trigger: "click",
              },
            ],
                trigger: "click"
              }
            ]
          },
          {
            label: "负责人联系方式",
@@ -448,15 +444,15 @@
              {
                required: true,
                message: "请输入联系方式",
                trigger: "click",
              },
                trigger: "click"
              }
              // {
              //   validator: phones,
              //   trigger: ["change", "blur"],
              // },
            ],
            ]
          },
          {
            label: "派遣保安员数",
            prop: "num",
@@ -467,14 +463,14 @@
              {
                required: true,
                message: "请输入派遣保安员数",
                trigger: "click",
              },
            ],
          },
        ],
                trigger: "click"
              }
            ]
          }
        ]
      },
      useifid: 266,
      useifid: 266
    };
  },
  created() {
@@ -523,22 +519,23 @@
    ...mapGetters(["userInfo"]),
    ids() {
      let ids = [];
      this.selectionList.forEach((ele) => {
      this.selectionList.forEach(ele => {
        ids.push(ele.id);
      });
      return ids.join(",");
    },
    ids1() {
      let ids1 = [];
      this.selectionList1.forEach((ele) => {
      this.selectionList1.forEach(ele => {
        ids1.push(ele.id);
      });
      return ids1.join(",");
    },
    ...mapState({
      userInfo: (state) => state.user.userInfo,
    }),
      userInfo: state => state.user.userInfo
    })
  },
  methods: {
    handleChangeTABS(column) {
      this.typeTABS = column;
@@ -570,15 +567,15 @@
        form["deptId"] = this.useifid;
      }
      adddata(form).then(
        (res) => {
        res => {
          this.onLoad(this.page);
          this.$message({
            type: "success",
            message: "操作成功!",
            message: "操作成功!"
          });
          done();
        },
        (error) => {
        error => {
          window.console.log(error);
          loading();
        }
@@ -604,11 +601,11 @@
          this.onLoad(this.page);
          this.$message({
            type: "success",
            message: "操作成功!",
            message: "操作成功!"
          });
          done();
        },
        (error) => {
        error => {
          window.console.log(error);
          loading();
        }
@@ -618,7 +615,7 @@
      this.$confirm("确定将选择数据删除?", {
        confirmButtonText: "确定",
        cancelButtonText: "取消",
        type: "warning",
        type: "warning"
      })
        .then(() => {
          return remove(row.id);
@@ -627,7 +624,7 @@
          this.onLoad(this.page);
          this.$message({
            type: "success",
            message: "操作成功!",
            message: "操作成功!"
          });
        });
    },
@@ -642,7 +639,7 @@
      this.$confirm("确定将选择数据删除?", {
        confirmButtonText: "确定",
        cancelButtonText: "取消",
        type: "warning",
        type: "warning"
      })
        .then(() => {
          return remove(this.ids);
@@ -651,7 +648,7 @@
          this.onLoad(this.page);
          this.$message({
            type: "success",
            message: "操作成功!",
            message: "操作成功!"
          });
          this.$refs.crudrec.toggleSelection();
        });
@@ -663,7 +660,7 @@
      window.localStorage.setItem("paqiandata", JSON.stringify(row));
      this.$router.push({
        path: "/dispatchChild",
        query: { rowdispatch: "fromDispatch" },
        query: { rowdispatch: "fromDispatch" }
      });
    },
    getStartTime() {
@@ -697,13 +694,13 @@
          ...params,
          beginTime: releaseTimeRange[0],
          overTime: releaseTimeRange[1],
          ...this.query,
          ...this.query
        };
        // values.releaseTimeRange = null;
      } else {
        values = {
          ...params,
          ...this.query,
          ...this.query
        };
      }
      if (this.useifid != 266) {
@@ -717,7 +714,7 @@
        page.pageSize,
        // Object.assign(params, this.query)
        values
      ).then((res) => {
      ).then(res => {
        const data = res.data.data;
        this.page.total = data.total;
        this.data = data.records;
@@ -733,15 +730,17 @@
          }
        }
        window.localStorage.setItem("paqiandataS", JSON.stringify(this.data));
        this.$store.commit("setWindowSizeHeightAdd");
        this.loading = false;
      });
    },
    handleTemplate() {
      window.open(`/api/dispatcherUnit/export-template?${
            this.website.tokenHeader
          }=${getToken()}&`
        );
      window.open(
        `/api/dispatcherUnit/export-template?${
          this.website.tokenHeader
        }=${getToken()}&`
      );
    },
    handleImport() {
      this.excelBox = true;
@@ -751,11 +750,12 @@
      this.excelBox = false;
      this.refreshChange();
      done();
    },
    }
  },
  mounted() {
    this.$store.commit("setWindowSizeHeightAdd");
    this.typeTABS = this.optionTABS.column[0];
  },
  }
};
</script>
src/views/dispatch/dispatchChildoperable.vue
@@ -1,30 +1,31 @@
<template>
  <basic-container>
    <div
      :class="[
        'dispatchChildoperable',
        $store.state.control.windowWidth >= 1024 ? 'oneRowSearch' : '',
      ]"
  <basic-container
    :class="[
      'dispatchChildoperable',
      $store.state.control.screenSize == 1366 ? 'smallSize' : 'normalSize',
      $store.state.control.windowWidth >= 1024 ? 'tooRowSearch1' : ''
    ]"
  >
    <avue-crud
      class="tablesss"
      :option="option"
      :data="data"
      :page.sync="page"
      ref="crudrec1"
      v-model="form"
      :table-loading="loading"
      :before-open="beforeOpen"
      @row-save="rowSave"
      @search-change="searchChange"
      @search-reset="searchReset"
      @row-update="rowUpdate"
      @row-del="rowDel"
      @selection-change="selectionChange"
      @refresh-change="refreshChange"
      @current-change="currentChange"
      @on-load="onLoad"
    >
      <avue-crud
        :option="option"
        :data="data"
        :page.sync="page"
        ref="crudrec1"
        v-model="form"
        :table-loading="loading"
        :before-open="beforeOpen"
        @row-save="rowSave"
        @search-change="searchChange"
        @search-reset="searchReset"
        @row-update="rowUpdate"
        @row-del="rowDel"
        @selection-change="selectionChange"
        @refresh-change="refreshChange"
        @current-change="currentChange"
      >
      </avue-crud>
    </div>
    </avue-crud>
  </basic-container>
</template>
@@ -35,7 +36,7 @@
  updateDispatcher,
  remove1,
  getDispatcherUnitByDeptId,
  overDispatcher,
  overDispatcher
} from "@/api/dispatch/dispatch";
import { update, getSecurityDispatcherTree } from "@/api/system/user";
import { mapState } from "vuex";
@@ -51,7 +52,7 @@
        pageSize: 10,
        currentPage: 1,
        total: 0,
        ...this.$store.state.control.changePageSize,
        ...this.$store.state.control.changePageSize
      },
      form: {},
      query1: {},
@@ -78,7 +79,7 @@
            prop: "dispatcherCompany",
            // minWidth: 140,
            addDisplay: false,
            editDisplay: false,
            editDisplay: false
          },
          {
            label: "企业名称",
@@ -90,18 +91,18 @@
            cascaderItem: ["userIds"],
            props: {
              label: "title",
              value: "id",
              value: "id"
            },
            // dicUrl: `/api/blade-system/dept/security_lazy-tree?parentId=1413470343230877697`,
            rules: [
              {
                required: true,
                message: "请输入企业名称",
                trigger: "blur",
              },
            ],
                trigger: "blur"
              }
            ]
          },
          {
            label: "保安员",
            prop: "userIds",
@@ -118,7 +119,7 @@
            dicData: [],
            props: {
              label: "name",
              value: "id",
              value: "id"
            },
            //不包含父节点值
            leafOnly: true,
@@ -127,20 +128,20 @@
              {
                required: true,
                message: "请选择保安",
                trigger: "blur",
              },
            ],
                trigger: "blur"
              }
            ]
          },
          {
            label: "保安员",
            prop: "securityName",
            // type: "tree",
            width:90,
            width: 90,
            searchSpan: 4,
            search: true,
            labelWidth: 120,
            addDisplay: false,
            editDisplay: false,
            editDisplay: false
            // hide: true,
            // props: {
            //   label: "realName",
@@ -160,16 +161,16 @@
            label: "身份证",
            prop: "idCardNo",
            overHidden: true,
            width:160,
            width: 160,
            addDisplay: false,
            editDisplay: false,
            rules: [
              {
                required: true,
                message: "请输入身份证",
                trigger: "click",
              },
            ],
                trigger: "click"
              }
            ]
            // search: true,
            // searchSpan: 4,
            // overHidden: true
@@ -187,7 +188,7 @@
            prop: "dispatchertime",
            type: "date",
            format: "yyyy-MM-dd",
            width:120,
            width: 120,
            valueFormat: "yyyy-MM-dd",
            labelWidth: 120,
            searchSpan: 5,
@@ -197,16 +198,16 @@
              {
                required: true,
                message: "请输入派遣时间",
                trigger: "click",
              },
            ],
                trigger: "click"
              }
            ]
            // overHidden: true
          },
          {
            label: "结束时间",
            prop: "endTime",
            type: "date",
            width:120,
            width: 120,
            format: "yyyy-MM-dd",
            valueFormat: "yyyy-MM-dd",
            labelWidth: 120,
@@ -215,9 +216,9 @@
              {
                required: true,
                message: "请输入结束时间",
                trigger: "click",
              },
            ],
                trigger: "click"
              }
            ]
            // search: true,
            // searchSpan: 4,
            // overHidden: true
@@ -240,9 +241,9 @@
              {
                required: true,
                message: "请输入时间",
                trigger: "blur",
              },
            ],
                trigger: "blur"
              }
            ]
          },
          {
            label: "派遣单位",
@@ -252,7 +253,7 @@
            // dicUrl: "/api/dispatcherUnit/page-tree?deptId={{key}}",
            props: {
              label: "name",
              value: "id",
              value: "id"
            },
            hide: true,
            searchSpan: 4,
@@ -263,9 +264,9 @@
              {
                required: true,
                message: "请输入派遣单位",
                trigger: "blur",
              },
            ],
                trigger: "blur"
              }
            ]
          },
          {
            label: "派遣地址",
@@ -275,16 +276,16 @@
              {
                required: true,
                message: "请输入派遣地址",
                trigger: "click",
              },
            ],
                trigger: "click"
              }
            ]
            // search: true,
            // searchSpan: 4,
            // overHidden: true
          },
        ],
          }
        ]
      },
      useifid: 266,
      useifid: 266
    };
  },
  created() {
@@ -338,17 +339,17 @@
    // },
    ids1() {
      let ids1 = [];
      this.selectionList1.forEach((ele) => {
      this.selectionList1.forEach(ele => {
        ids1.push(ele.id);
      });
      return ids1.join(",");
    },
    ...mapState({
      userInfo: (state) => state.user.userInfo,
      userInfo: state => state.user.userInfo
    }),
    deps() {
      return this.form.deptId;
    },
    }
  },
  methods: {
@@ -388,16 +389,16 @@
      (form["ids"] = form.userIds.join(",")), delete form.userIds;
      // console.log(form, 321);
      saveDispatcher(form).then(
        (res) => {
        res => {
          this.onLoad(this.page);
          this.$message({
            type: "success",
            message: "操作成功!",
            message: "操作成功!"
          });
          this.onLoad(this.page, this.query1);
          done();
        },
        (error) => {
        error => {
          window.console.log(error);
          loading();
          this.onLoad(this.page, this.query1);
@@ -424,11 +425,11 @@
          this.onLoad(this.page);
          this.$message({
            type: "success",
            message: "操作成功!",
            message: "操作成功!"
          });
          done();
        },
        (error) => {
        error => {
          window.console.log(error);
          loading();
        }
@@ -438,7 +439,7 @@
      this.$confirm("确定结束当前派遣?", {
        confirmButtonText: "确定",
        cancelButtonText: "取消",
        type: "warning",
        type: "warning"
      })
        .then(() => {
          return overDispatcher(row);
@@ -447,7 +448,7 @@
          this.onLoad(this.page);
          this.$message({
            type: "success",
            message: "操作成功!",
            message: "操作成功!"
          });
        });
    },
@@ -462,7 +463,7 @@
      this.$confirm("确定将选择数据删除?", {
        confirmButtonText: "确定",
        cancelButtonText: "取消",
        type: "warning",
        type: "warning"
      })
        .then(() => {
          return remove1(this.ids1);
@@ -471,7 +472,7 @@
          this.onLoad(this.page);
          this.$message({
            type: "success",
            message: "操作成功!",
            message: "操作成功!"
          });
          this.$refs.crudrec1.toggleSelection();
        });
@@ -532,13 +533,13 @@
          ...params,
          beginTime: releaseTimeRange[0],
          overTime: releaseTimeRange[1],
          ...this.query1,
          ...this.query1
        };
        values.releaseTimeRange = null;
      } else {
        values = {
          ...params,
          ...this.query1,
          ...this.query1
        };
      }
@@ -563,10 +564,11 @@
        page.pageSize,
        // Object.assign(params, this.query)
        values
      ).then((res) => {
      ).then(res => {
        const data = res.data.data;
        this.page.total = data.total;
        this.data = data.records;
        this.$store.commit("setWindowSizeHeightAdd");
        this.loading = false;
        // this.$nextTick(() => this.$refs.crudrec1.dicInit("cascader"));
      });
@@ -574,7 +576,7 @@
    initData(type) {
      var that = this;
      if (type == 1) {
        getDispatcherUnitByDeptId(null).then((res) => {
        getDispatcherUnitByDeptId(null).then(res => {
          const dispatcherUnitIdColumn = that.findObject(
            this.option.column,
            "dispatcherUnitId"
@@ -583,19 +585,19 @@
        });
      }
      if (type == 2) {
        getDispatcherUnitByDeptId(that.userInfo.dept_id).then((res) => {
        getDispatcherUnitByDeptId(that.userInfo.dept_id).then(res => {
          const dispatcherUnitIdColumn = that.findObject(
            this.option.column,
            "dispatcherUnitId"
          );
          dispatcherUnitIdColumn.dicData = res.data.data;
        });
        getSecurityDispatcherTree(that.userInfo.dept_id, 1).then((res) => {
        getSecurityDispatcherTree(that.userInfo.dept_id, 1).then(res => {
          const userIdsColumn = that.findObject(this.option.column, "userIds");
          userIdsColumn.dicData = res.data.data;
        });
      }
    },
    }
  },
  //  watch: {
  //   // "form.deptId"() {
@@ -605,8 +607,9 @@
  //   }
  // },
  mounted() {
    this.onLoad(this.page, this.query1);
  },
    this.$store.commit("setWindowSizeHeightAdd");
    // this.onLoad(this.page, this.query1);
  }
};
</script>
src/views/dispatch/dispatchChildoperableSee.vue
@@ -1,29 +1,30 @@
<template>
  <basic-container>
    <div
      :class="[
        'dispatchChildoperable',
        $store.state.control.windowWidth >= 1024 ? 'oneRowSearch' : '',
      ]"
  <basic-container
    :class="[
      'dispatchChildoperable',
      $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
        :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>
    </avue-crud>
  </basic-container>
</template>
@@ -34,7 +35,7 @@
  update1,
  remove1,
  getDispatcherUnitByDeptId,
  overDispatcher,
  overDispatcher
} from "@/api/dispatch/dispatch";
import { update, getListByDeptId } from "@/api/system/user";
import { mapState } from "vuex";
@@ -51,7 +52,7 @@
        pageSize: 10,
        currentPage: 1,
        total: 0,
        ...this.$store.state.control.changePageSize,
        ...this.$store.state.control.changePageSize
      },
      form: {},
      query1: {},
@@ -69,6 +70,7 @@
        editBtnText: "变更派遣",
        // addBtn: false,
        // menuWidth: 160,
        menu: false,
        align: "center",
        selection: true,
        ...this.$store.state.control.clearOtherBut,
@@ -84,7 +86,7 @@
            // searchSpan: 4,
            minWidth: 210,
            addDisplay: false,
            editDisplay: false,
            editDisplay: false
          },
          {
            label: "保安公司",
@@ -97,7 +99,7 @@
            cascaderItem: ["userIds"],
            props: {
              label: "title",
              value: "id",
              value: "id"
            },
            width: 180,
            dicUrl: `/api/blade-system/dept/security_lazy-tree?parentId=1413470343230877697`,
@@ -105,9 +107,9 @@
              {
                required: true,
                message: "请输入保安公司",
                trigger: "blur",
              },
            ],
                trigger: "blur"
              }
            ]
          },
          {
            label: "派遣单位",
@@ -117,7 +119,7 @@
            // dicUrl: "/api/dispatcherUnit/page-tree?deptId={{key}}",
            props: {
              label: "name",
              value: "id",
              value: "id"
            },
            hide: true,
            searchSpan: 4,
@@ -128,9 +130,9 @@
              {
                required: true,
                message: "请输入派遣单位",
                trigger: "blur",
              },
            ],
                trigger: "blur"
              }
            ]
          },
          {
            label: "保安员",
@@ -144,7 +146,7 @@
            hide: true,
            props: {
              label: "realName",
              value: "id",
              value: "id"
            },
            // dicUrl: `/api/blade-user/page-security-units?dispatch=1&deptId={{key}}`,
            dicUrl: `/api/blade-user/page-security-units?status=1&deptId={{key}}`,
@@ -153,9 +155,9 @@
              {
                required: true,
                message: "请选择保安",
                trigger: "blur",
              },
            ],
                trigger: "blur"
              }
            ]
          },
          {
            label: "保安员",
@@ -177,9 +179,9 @@
              {
                required: true,
                message: "请选择保安",
                trigger: "blur",
              },
            ],
                trigger: "blur"
              }
            ]
          },
          {
@@ -193,9 +195,9 @@
              {
                required: true,
                message: "请输入身份证",
                trigger: "click",
              },
            ],
                trigger: "click"
              }
            ]
            // search: true,
            // searchSpan: 4,
            // overHidden: true
@@ -222,9 +224,9 @@
              {
                required: true,
                message: "请输入派遣时间",
                trigger: "click",
              },
            ],
                trigger: "click"
              }
            ]
            // overHidden: true
          },
          {
@@ -239,9 +241,9 @@
              {
                required: true,
                message: "请输入结束时间",
                trigger: "click",
              },
            ],
                trigger: "click"
              }
            ]
            // search: true,
            // searchSpan: 4,
            // overHidden: true
@@ -264,9 +266,9 @@
              {
                required: true,
                message: "请输入时间",
                trigger: "blur",
              },
            ],
                trigger: "blur"
              }
            ]
          },
          {
            label: "派遣地址",
@@ -276,15 +278,15 @@
              {
                required: true,
                message: "请输入派遣地址",
                trigger: "click",
              },
            ],
                trigger: "click"
              }
            ]
            // search: true,
            // searchSpan: 4,
            // overHidden: true
          },
        ],
      },
          }
        ]
      }
    };
  },
  created() {
@@ -306,17 +308,17 @@
    // },
    ids1() {
      let ids1 = [];
      this.selectionList1.forEach((ele) => {
      this.selectionList1.forEach(ele => {
        ids1.push(ele.id);
      });
      return ids1.join(",");
    },
    ...mapState({
      userInfo: (state) => state.user.userInfo,
      userInfo: state => state.user.userInfo
    }),
    deps() {
      return this.form.deptId;
    },
    }
  },
  methods: {
@@ -352,15 +354,15 @@
      // }
      adddata1(form).then(
        (res) => {
        res => {
          this.onLoad1(this.page1);
          this.$message({
            type: "success",
            message: "操作成功!",
            message: "操作成功!"
          });
          done();
        },
        (error) => {
        error => {
          window.console.log(error);
          loading();
        }
@@ -387,11 +389,11 @@
          this.onLoad1(this.page1);
          this.$message({
            type: "success",
            message: "操作成功!",
            message: "操作成功!"
          });
          done();
        },
        (error) => {
        error => {
          window.console.log(error);
          loading();
        }
@@ -401,7 +403,7 @@
      this.$confirm("确定结束当前派遣?", {
        confirmButtonText: "确定",
        cancelButtonText: "取消",
        type: "warning",
        type: "warning"
      })
        .then(() => {
          return overDispatcher(row);
@@ -410,7 +412,7 @@
          this.onLoad1(this.page1);
          this.$message({
            type: "success",
            message: "操作成功!",
            message: "操作成功!"
          });
        });
    },
@@ -425,7 +427,7 @@
      this.$confirm("确定将选择数据删除?", {
        confirmButtonText: "确定",
        cancelButtonText: "取消",
        type: "warning",
        type: "warning"
      })
        .then(() => {
          return remove1(this.ids1);
@@ -434,7 +436,7 @@
          this.onLoad1(this.page1);
          this.$message({
            type: "success",
            message: "操作成功!",
            message: "操作成功!"
          });
          this.$refs.crudrec1.toggleSelection();
        });
@@ -480,13 +482,13 @@
          ...params,
          beginTime: releaseTimeRange[0],
          overTime: releaseTimeRange[1],
          ...this.query,
          ...this.query
        };
        values.releaseTimeRange = null;
      } else {
        values = {
          ...params,
          ...this.query,
          ...this.query
        };
      }
@@ -505,19 +507,20 @@
        page.pageSize,
        // Object.assign(params, this.query)
        values
      ).then((res) => {
      ).then(res => {
        const data = res.data.data;
        this.page1.total = data.total;
        this.data1 = data.records;
        this.loading1 = false;
        // this.$nextTick(() => this.$refs.crudrec1.dicInit("cascader"));
        console.log(this.form, 111111);
        this.$store.commit("setWindowSizeHeightAdd");
        // console.log(this.form, 111111);
      });
    },
    initData(type) {
      var that = this;
      if (type == 1) {
        getDispatcherUnitByDeptId(null).then((res) => {
        getDispatcherUnitByDeptId(null).then(res => {
          const dispatcherUnitIdColumn = that.findObject(
            this.option1.column,
            "dispatcherUnitId"
@@ -526,19 +529,19 @@
        });
      }
      if (type == 2) {
        getDispatcherUnitByDeptId(that.userInfo.dept_id).then((res) => {
        getDispatcherUnitByDeptId(that.userInfo.dept_id).then(res => {
          const dispatcherUnitIdColumn = that.findObject(
            this.option1.column,
            "dispatcherUnitId"
          );
          dispatcherUnitIdColumn.dicData = res.data.data;
        });
        getListByDeptId(that.userInfo.dept_id, 1).then((res) => {
        getListByDeptId(that.userInfo.dept_id, 1).then(res => {
          const userIdsColumn = that.findObject(this.option1.column, "userIds");
          userIdsColumn.dicData = res.data.data;
        });
      }
    },
    }
  },
  //  watch: {
  //   // "form.deptId"() {
@@ -548,8 +551,9 @@
  //   }
  // },
  mounted() {
    this.onLoad1(this.page1, this.query1);
  },
    this.$store.commit("setWindowSizeHeightAdd");
    // this.onLoad1(this.page1, this.query1);
  }
};
</script>
src/views/exam/examPayment.vue
@@ -1,108 +1,92 @@
/*
 * @Author: Morpheus
 * @Date: 2021-07-05 16:31:54
 * @Last Modified by: liu
 * @Last Modified time: 2021-11-23 14:20:02
 * menu-name 考试缴费管理
 */
/* * @Author: Morpheus * @Date: 2021-07-05 16:31:54 * @Last Modified by: liu *
@Last Modified time: 2021-11-23 14:20:02 * menu-name 考试缴费管理 */
<template>
  <el-row class="morpheus-box">
    <el-col
      :span="24"
      :class="[
        'recruitmentManagement',
        $store.state.control.windowWidth >= 1024 ? 'oneRowSearch' : '',
      ]"
  <basic-container
    :class="[
      'exam-card-body',
      $store.state.control.screenSize == 1366 ? 'smallSize' : 'normalSize',
      $store.state.control.windowWidth >= 1024 ? 'tooRowSearch1' : ''
    ]"
  >
    <avue-crud
      v-model="obj"
      class="company-box tablesss"
      :option="questionBankOption"
      :permission="permissionList"
      :search.sync="questionBankSearch"
      :table-loading="questionBankLoading"
      :data="questionBankData"
      ref="questionBankCrud"
      :page.sync="questionBankPage"
      @on-load="questionBankOnLoad"
      @selection-change="questionBankSelectionChange"
      @search-change="questionBankSearchChange"
      @search-reset="questionBankSearchReset"
      @current-change="questionBankCurrentChange"
      @size-change="questionBankSizeChange"
      @row-del="rowDel"
      @row-update="questionBankRowUpdate"
      @refresh-change="refreshChange"
    >
      <el-card>
        <div
          :class="[
            'exam-card-body',
            $store.state.control.windowWidth >= 1024 ? 'oneRowSearch' : '',
          ]"
        >
          <avue-crud
            v-model="obj"
            class="company-box"
            :option="questionBankOption"
            :permission="permissionList"
            :search.sync="questionBankSearch"
            :table-loading="questionBankLoading"
            :data="questionBankData"
            ref="questionBankCrud"
            :page.sync="questionBankPage"
            @on-load="questionBankOnLoad"
            @selection-change="questionBankSelectionChange"
            @search-change="questionBankSearchChange"
            @search-reset="questionBankSearchReset"
            @current-change="questionBankCurrentChange"
            @size-change="questionBankSizeChange"
            @row-del="rowDel"
            @row-update="questionBankRowUpdate"
            @refresh-change="refreshChange"
          >
            <template slot-scope="{ row }" slot="sex">
              <el-tag v-if="row.sex == 1">男</el-tag>
              <el-tag v-if="row.sex == 2">女</el-tag>
            </template>
      <template slot-scope="{ row }" slot="sex">
        <el-tag v-if="row.sex == 1">男</el-tag>
        <el-tag v-if="row.sex == 2">女</el-tag>
      </template>
            <!-- 自定义按钮 -->
            <template slot="menuLeft">
              <!-- <el-button type="danger"
      <!-- 自定义按钮 -->
      <template slot="menuLeft">
        <!-- <el-button type="danger"
                                       size="mini"
                                       icon="el-icon-delete"
                                       plain
                                       @click="handleDelete">新增
                            </el-button> -->
              <!-- <el-button type="danger"
        <!-- <el-button type="danger"
                                       size="mini"
                                       icon="el-icon-delete"
                                       plain
                                       @click="handleDelete">删除
                            </el-button> -->
              <el-button
                type="success"
                size="small"
                plain
                icon="el-icon-upload2"
                v-if="permission.performance_import"
                @click="handleImport"
                >缴费凭证批量上传
              </el-button>
            </template>
        <el-button
          type="success"
          size="small"
          plain
          icon="el-icon-upload2"
          v-if="permission.performance_import"
          @click="handleImport"
          >缴费凭证批量上传
        </el-button>
      </template>
            <template slot-scope="{ row }" slot="menu">
              <el-button
                style="display: none"
                type="text"
                size="mini"
                icon="el-icon-collection"
                class="start-kaoshi"
                v-if="permission.performance_print"
                :disabled="row.qualified == 1"
                @click="securityPrint(row)"
                >保安证打印
              </el-button>
            </template>
          </avue-crud>
      <template slot-scope="{ row }" slot="menu">
        <el-button
          style="display: none"
          type="text"
          size="mini"
          icon="el-icon-collection"
          class="start-kaoshi"
          v-if="permission.performance_print"
          :disabled="row.qualified == 1"
          @click="securityPrint(row)"
          >保安证打印
        </el-button>
      </template>
    </avue-crud>
          <el-dialog
            title="缴费凭证批量上传"
            append-to-body
            :visible.sync="excelBox"
            width="555px"
          >
            <avue-form
              :option="excelOption"
              v-model="excelForm"
              :upload-after="uploadAfter"
            >
            </avue-form>
          </el-dialog>
        </div>
      </el-card>
    </el-col>
  </el-row>
    <el-dialog
      title="缴费凭证批量上传"
      append-to-body
      :visible.sync="excelBox"
      width="555px"
    >
      <avue-form
        :option="excelOption"
        v-model="excelForm"
        :upload-after="uploadAfter"
      >
      </avue-form>
    </el-dialog>
  </basic-container>
</template>
<script>
@@ -114,7 +98,7 @@
  data() {
    return {
      obj: {
        name: "张三",
        name: "张三"
      },
      excelBox: false,
      questionBankOption: {
@@ -161,13 +145,13 @@
            label: "缴费人",
            prop: "realName",
            search: true,
            searchSpan: 4,
            searchSpan: 4
          },
          {
            label: "身份证号",
            prop: "idCardNo",
            search: true,
            searchSpan: 4,
            searchSpan: 4
          },
          {
            label: "性别",
@@ -176,23 +160,23 @@
            dicData: [
              {
                label: "男",
                value: 1,
                value: 1
              },
              {
                label: "女",
                value: 2,
              },
            ],
                value: 2
              }
            ]
          },
          {
            label: "联系方式",
            prop: "phone",
            prop: "phone"
          },
          {
            label: "所在单位",
            prop: "deptName",
            search: true,
            searchSpan: 6,
            searchSpan: 6
          },
          // {
          //     label: "缴费状态",
@@ -220,7 +204,7 @@
            prop: "certificateUrl",
            overHidden: true,
            type: "upload",
            listType: "picture-img",
            listType: "picture-img"
          },
          {
            label: "缴费时间",
@@ -236,11 +220,11 @@
              {
                required: true,
                message: "请输入时间",
                trigger: "click",
              },
            ],
          },
        ],
                trigger: "click"
              }
            ]
          }
        ]
      },
      questionBankSearch: {},
      questionBankLoading: true,
@@ -249,7 +233,7 @@
        pageSize: 10,
        currentPage: 1,
        total: 16,
        ...this.$store.state.control.changePageSize,
        ...this.$store.state.control.changePageSize
      },
      questionBankQuery: {},
      questionBankSelectionList: [],
@@ -266,14 +250,13 @@
            loadText: "模板上传中,请稍等",
            span: 24,
            propsHttp: {
              res: "data",
              res: "data"
            },
            tip: "请上传 zip 压缩文件",
            action:
              "/api/blade-resource/oss/endpoint/put-file-exam-payment-zip",
          },
        ],
      },
            action: "/api/blade-resource/oss/endpoint/put-file-exam-payment-zip"
          }
        ]
      }
    };
  },
  computed: {
@@ -284,12 +267,14 @@
        viewBtn: this.vaildData(this.permission.notice_view, false),
        delBtn: this.vaildData(this.permission.notice_delete, false),
        editBtn: this.vaildData(this.permission.performance__edit, false),
        excelBtn: this.vaildData(this.permission.performance_export, false),
        excelBtn: this.vaildData(this.permission.performance_export, false)
      };
    },
    }
  },
  created() {},
  mounted() {},
  mounted() {
    this.$store.commit("setWindowSizeHeightAdd");
  },
  methods: {
    questionBankOnLoad(page, params = {}) {
      //判断角色,如果是保安公司管理员或保安,只能查看当前公司的考试成绩
@@ -302,11 +287,12 @@
        page.currentPage,
        page.pageSize,
        Object.assign(params, this.query)
      ).then((res) => {
      ).then(res => {
        const data = res.data.data;
        that.questionBankPage.total = data.total;
        that.questionBankData = data.records;
        that.questionBankLoading = false;
        this.$store.commit("setWindowSizeHeightAdd");
        that.questionBankSelectionClear();
      });
    },
@@ -315,7 +301,7 @@
      this.$confirm("确定删除当前缴费数据?", {
        confirmButtonText: "确定",
        cancelButtonText: "取消",
        type: "warning",
        type: "warning"
      })
        .then(() => {
          return remove(row.id);
@@ -324,7 +310,7 @@
          this.onLoad(this.page);
          this.$message({
            type: "success",
            message: "操作成功!",
            message: "操作成功!"
          });
        });
    },
@@ -358,17 +344,17 @@
        theoryGrade: row.theoryGrade,
        learnGrade: row.learnGrade,
        examId: row.examId,
        id: row.id,
        id: row.id
      }).then(
        () => {
          this.questionBankOnLoad(this.questionBankPage);
          this.$message({
            type: "success",
            message: "操作成功!",
            message: "操作成功!"
          });
          done();
        },
        (error) => {
        error => {
          window.console.log(error);
          loading();
        }
@@ -385,10 +371,9 @@
    },
    refreshChange() {
      this.questionBankOnLoad(this.questionBankPage, this.questionBankQuery);
    },
  },
    }
  }
};
</script>
<style lang="scss" scoped>
</style>
<style lang="scss" scoped></style>
src/views/exam/performance.vue
@@ -1,126 +1,110 @@
/*
 * @Author: Morpheus
 * @Date: 2021-07-05 16:31:54
 * @Last Modified by: liu
 * @Last Modified time: 2021-11-23 14:17:22
 * menu-name 成绩管理
 */
/* * @Author: Morpheus * @Date: 2021-07-05 16:31:54 * @Last Modified by: liu *
@Last Modified time: 2021-11-23 14:17:22 * menu-name 成绩管理 */
<template>
  <el-row class="morpheus-box">
    <el-col
      :span="24"
      :class="[
        'recruitmentManagement',
        $store.state.control.windowWidth >= 1024 ? 'oneRowSearch' : '',
      ]"
  <basic-container
    :class="[
      'exam-card-body',
      $store.state.control.screenSize == 1366 ? 'smallSize' : 'normalSize',
      $store.state.control.windowWidth >= 1024 ? 'tooRowSearch1' : ''
    ]"
  >
    <avue-crud
      v-model="obj"
      class="company-box tablesss"
      :option="questionBankOption"
      :permission="permissionList"
      :search.sync="questionBankSearch"
      :table-loading="questionBankLoading"
      :data="questionBankData"
      ref="questionBankCrud"
      :page.sync="questionBankPage"
      @on-load="questionBankOnLoad"
      @selection-change="questionBankSelectionChange"
      @search-change="questionBankSearchChange"
      @search-reset="questionBankSearchReset"
      @current-change="questionBankCurrentChange"
      @size-change="questionBankSizeChange"
      @row-update="questionBankRowUpdate"
    >
      <el-card>
        <div
          :class="[
            'exam-card-body',
            $store.state.control.windowWidth >= 1024 ? 'oneRowSearch' : '',
          ]"
        >
          <avue-crud
            v-model="obj"
            class="company-box"
            :option="questionBankOption"
            :permission="permissionList"
            :search.sync="questionBankSearch"
            :table-loading="questionBankLoading"
            :data="questionBankData"
            ref="questionBankCrud"
            :page.sync="questionBankPage"
            @on-load="questionBankOnLoad"
            @selection-change="questionBankSelectionChange"
            @search-change="questionBankSearchChange"
            @search-reset="questionBankSearchReset"
            @current-change="questionBankCurrentChange"
            @size-change="questionBankSizeChange"
            @row-update="questionBankRowUpdate"
          >
            <template slot-scope="{ row }" slot="theoryGrade">
              {{ row.theoryGrade == -1 ? "" : row.theoryGrade }}
            </template>
            <template slot-scope="{ row }" slot="learnGrade">
              {{ row.learnGrade == -1 ? "暂未录入" : row.learnGrade }}
            </template>
            <template slot-scope="{ row }" slot="allGrade">
              {{ row.allGrade == -1 ? "" : row.allGrade }}
            </template>
            <template slot-scope="{ row }" slot="qualified">
              {{
                row.qualified == -1
                  ? ""
                  : row.qualified == 0
                  ? "合格"
                  : row.qualified == 1
                  ? "不合格"
                  : ""
              }}
            </template>
      <template slot-scope="{ row }" slot="theoryGrade">
        {{ row.theoryGrade == -1 ? "" : row.theoryGrade }}
      </template>
      <template slot-scope="{ row }" slot="learnGrade">
        {{ row.learnGrade == -1 ? "暂未录入" : row.learnGrade }}
      </template>
      <template slot-scope="{ row }" slot="allGrade">
        {{ row.allGrade == -1 ? "" : row.allGrade }}
      </template>
      <template slot-scope="{ row }" slot="qualified">
        {{
          row.qualified == -1
            ? ""
            : row.qualified == 0
            ? "合格"
            : row.qualified == 1
            ? "不合格"
            : ""
        }}
      </template>
            <!-- 自定义按钮 -->
            <template slot="menuLeft">
              <!-- <el-button type="danger"
      <!-- 自定义按钮 -->
      <template slot="menuLeft">
        <!-- <el-button type="danger"
                                       size="mini"
                                       icon="el-icon-delete"
                                       plain
                                       @click="handleDelete">新增
                            </el-button> -->
              <!-- <el-button type="danger"
        <!-- <el-button type="danger"
                                       size="mini"
                                       icon="el-icon-delete"
                                       plain
                                       @click="handleDelete">删除
                            </el-button> -->
              <el-button
                type="success"
                size="small"
                plain
                icon="el-icon-upload2"
                v-if="permission.performance_import"
                @click="handleImport"
                >实操成绩导入
              </el-button>
            </template>
        <el-button
          type="success"
          size="small"
          plain
          icon="el-icon-upload2"
          v-if="permission.performance_import"
          @click="handleImport"
          >实操成绩导入
        </el-button>
      </template>
            <template slot-scope="{ row }" slot="menu">
              <el-button
                type="text"
                size="mini"
                icon="el-icon-collection"
                class="start-kaoshi"
                v-if="permission.performance_print"
                :disabled="row.qualified == 1"
                @click="securityPrint(row)"
                >保安证打印
              </el-button>
            </template>
          </avue-crud>
      <template slot-scope="{ row }" slot="menu">
        <el-button
          type="text"
          size="mini"
          icon="el-icon-collection"
          class="start-kaoshi"
          v-if="permission.performance_print"
          :disabled="row.qualified == 1"
          @click="securityPrint(row)"
          >保安证打印
        </el-button>
      </template>
    </avue-crud>
          <el-dialog
            title="实操成绩导入"
            append-to-body
            :visible.sync="excelBox"
            width="555px"
          >
            <avue-form
              :option="excelOption"
              v-model="excelForm"
              :upload-after="uploadAfter"
            >
              <template slot="excelTemplate">
                <el-button type="primary" @click="handleTemplate">
                  点击下载<i class="el-icon-download el-icon--right"></i>
                </el-button>
              </template>
            </avue-form>
          </el-dialog>
        </div>
      </el-card>
    </el-col>
  </el-row>
    <el-dialog
      title="实操成绩导入"
      append-to-body
      :visible.sync="excelBox"
      width="555px"
    >
      <avue-form
        :option="excelOption"
        v-model="excelForm"
        :upload-after="uploadAfter"
      >
        <template slot="excelTemplate">
          <el-button type="primary" @click="handleTemplate">
            点击下载<i class="el-icon-download el-icon--right"></i>
          </el-button>
        </template>
      </avue-form>
    </el-dialog>
  </basic-container>
</template>
<script>
@@ -147,7 +131,7 @@
    return {
      obj: {
        name: "张三",
        name: "张三"
      },
      excelBox: false,
      questionBankOption: {
@@ -200,11 +184,11 @@
              {
                required: true,
                message: "请输入试卷名称",
                trigger: "blur",
              },
                trigger: "blur"
              }
            ],
            // overHidden: true,
            width: 230,
            width: 230
          },
          {
            label: "用户名",
@@ -228,10 +212,10 @@
              {
                required: true,
                message: "请输入保安姓名",
                trigger: "blur",
              },
                trigger: "blur"
              }
            ],
            width: 160,
            width: 160
          },
          {
            label: "所属公司",
@@ -260,10 +244,10 @@
              {
                required: true,
                message: "请输入所属公司",
                trigger: "blur",
              },
                trigger: "blur"
              }
            ],
            width: 250,
            width: 250
          },
          {
            label: "考试开始时间",
@@ -285,7 +269,7 @@
            // 表单编辑时是否可见
            editDisplay: true,
            // 表单编辑时是否为查看模式
            editDetail: false,
            editDetail: false
          },
          {
            label: "考试结束时间",
@@ -307,7 +291,7 @@
            // 表单编辑时是否可见
            editDisplay: true,
            // 表单编辑时是否为查看模式
            editDetail: false,
            editDetail: false
          },
          {
            label: "状态",
@@ -319,12 +303,12 @@
            dicData: [
              {
                label: "发布成绩",
                value: 2,
                value: 2
              },
              {
                label: "考试中",
                value: 3,
              },
                value: 3
              }
            ],
            // 表单新增时是否禁止
            addDisabled: false,
@@ -342,9 +326,9 @@
              {
                required: true,
                message: "请输入考试名称",
                trigger: "blur",
              },
            ],
                trigger: "blur"
              }
            ]
          },
          {
            label: "理论成绩",
@@ -361,7 +345,7 @@
            // 表单编辑时是否可见
            editDisplay: true,
            // 表单编辑时是否为查看模式
            editDetail: false,
            editDetail: false
          },
          {
            label: "实操成绩",
@@ -380,8 +364,8 @@
            // 表单编辑时是否为查看模式
            editDetail: false,
            rules: [
              { validator: validatePass, required: true, trigger: "blur" },
            ],
              { validator: validatePass, required: true, trigger: "blur" }
            ]
          },
          {
            label: "总成绩",
@@ -403,9 +387,9 @@
              {
                required: true,
                message: "请输入考试名称",
                trigger: "blur",
              },
            ],
                trigger: "blur"
              }
            ]
          },
          {
            label: "是否合格",
@@ -417,16 +401,16 @@
            dicData: [
              {
                label: "合格",
                value: 0,
                value: 0
              },
              {
                label: "不合格",
                value: 1,
                value: 1
              },
              {
                label: "暂未录实操成绩",
                value: 2,
              },
                value: 2
              }
            ],
            // 表单新增时是否禁止
            addDisabled: false,
@@ -444,11 +428,11 @@
              {
                required: true,
                message: "请输入考试名称",
                trigger: "blur",
              },
            ],
          },
        ],
                trigger: "blur"
              }
            ]
          }
        ]
      },
      questionBankSearch: {},
      questionBankLoading: true,
@@ -457,7 +441,7 @@
        pageSize: 10,
        currentPage: 1,
        total: 16,
        ...this.$store.state.control.changePageSize,
        ...this.$store.state.control.changePageSize
      },
      questionBankQuery: {},
      questionBankSelectionList: [],
@@ -474,10 +458,10 @@
            loadText: "模板上传中,请稍等",
            span: 24,
            propsHttp: {
              res: "data",
              res: "data"
            },
            tip: "请上传 .xls,.xlsx 标准格式文件",
            action: "/api/examScore/import-examScore",
            action: "/api/examScore/import-examScore"
          },
          // {
          //     label: "数据覆盖",
@@ -509,10 +493,10 @@
            label: "模板下载",
            prop: "excelTemplate",
            formslot: true,
            span: 24,
          },
        ],
      },
            span: 24
          }
        ]
      }
    };
  },
  computed: {
@@ -523,20 +507,22 @@
        viewBtn: this.vaildData(null, false),
        delBtn: this.vaildData(null, false),
        editBtn: this.vaildData(this.permission.performance__edit, false),
        excelBtn: this.vaildData(this.permission.performance_export, false),
        excelBtn: this.vaildData(this.permission.performance_export, false)
      };
    },
    }
  },
  created() {},
  mounted() {},
  mounted() {
    this.$store.commit("setWindowSizeHeightAdd");
  },
  methods: {
    questionBankOnLoad(page, params = {}) {
      //判断角色,如果是保安公司管理员或保安,只能查看当前公司的考试成绩
      var that = this;
      //获取当前登录人员的角色信息
      var roleIds = this.userInfo.role_id.split(",");
      roleIds.forEach((roleId) => {
        getRoleDetail(roleId).then((res) => {
      roleIds.forEach(roleId => {
        getRoleDetail(roleId).then(res => {
          var roleAlias = res.data.data.roleAlias;
          if (
            roleAlias == "保安公司管理员" ||
@@ -552,11 +538,12 @@
            page.currentPage,
            page.pageSize,
            Object.assign(params, this.query)
          ).then((res) => {
          ).then(res => {
            const data = res.data.data;
            that.questionBankPage.total = data.total;
            that.questionBankData = data.records;
            that.questionBankLoading = false;
            that.$store.commit("setWindowSizeHeightAdd");
            that.questionBankSelectionClear();
          });
        });
@@ -591,7 +578,7 @@
      obj["name"] = "保安证";
      this.$router.push({
        path: `/exam/papers`,
        query: obj,
        query: obj
      });
    },
@@ -601,17 +588,17 @@
        theoryGrade: row.theoryGrade,
        learnGrade: row.learnGrade,
        examId: row.examId,
        id: row.id,
        id: row.id
      }).then(
        () => {
          this.questionBankOnLoad(this.questionBankPage);
          this.$message({
            type: "success",
            message: "操作成功!",
            message: "操作成功!"
          });
          done();
        },
        (error) => {
        error => {
          window.console.log(error);
          loading();
        }
@@ -631,10 +618,9 @@
    },
    refreshChange() {
      this.questionBankOnLoad(this.page, this.query);
    },
  },
    }
  }
};
</script>
<style lang="scss" scoped>
</style>
<style lang="scss" scoped></style>
src/views/exam/singleperformance.vue
@@ -1,73 +1,66 @@
/*
 * @Author: Morpheus
 * @Date: 2021-07-05 16:31:54
 * @Last Modified by: liu
 * @Last Modified time: 2021-11-23 14:18:07
 * menu-name 成绩查看
 */
/* * @Author: Morpheus * @Date: 2021-07-05 16:31:54 * @Last Modified by: liu *
@Last Modified time: 2021-11-23 14:18:07 * menu-name 成绩查看 */
<template>
  <el-row class="morpheus-box-score">
    <el-col :span="24">
      <el-card>
        <div
          :class="[
            'exam-card-body',
            $store.state.control.windowWidth >= 1024 ? 'oneRowSearch' : '',
          ]"
        >
          <avue-crud
            v-model="obj"
            class="company-box"
            :option="questionBankOption"
            :search.sync="questionBankSearch"
            :table-loading="questionBankLoading"
            :data="questionBankData"
            ref="questionBankCrud"
            :page.sync="questionBankPage"
            @on-load="questionBankOnLoad"
            @selection-change="questionBankSelectionChange"
            @search-change="questionBankSearchChange"
            @search-reset="questionBankSearchReset"
            @current-change="questionBankCurrentChange"
            @size-change="questionBankSizeChange"
            @row-update="questionBankRowUpdate"
          >
            <template slot-scope="{ row }" slot="learnGrade">
              {{ row.learnGrade == -1 ? "暂未录入" : row.learnGrade }}
            </template>
            <template slot-scope="{ row }" slot="theoryGrade">
              {{ row.learnGrade == -1 ? "" : row.theoryGrade }}
            </template>
            <template slot-scope="{ row }" slot="allGrade">
              {{ row.learnGrade == -1 ? "" : row.allGrade }}
            </template>
            <template slot-scope="{ row }" slot="qualified">
              {{
                row.learnGrade == -1
                  ? ""
                  : row.qualified == 0
                  ? "合格"
                  : row.qualified == 1
                  ? "不合格"
                  : ""
              }}
            </template>
  <basic-container
    :class="[
      'exam-card-body',
      $store.state.control.screenSize == 1366 ? 'smallSize' : 'normalSize',
      $store.state.control.windowWidth >= 1024 ? 'tooRowSearch1' : ''
    ]"
  >
    <avue-crud
      v-model="obj"
      class="company-box tablesss"
      :option="questionBankOption"
      :search.sync="questionBankSearch"
      :table-loading="questionBankLoading"
      :data="questionBankData"
      ref="questionBankCrud"
      :page.sync="questionBankPage"
      @on-load="questionBankOnLoad"
      @selection-change="questionBankSelectionChange"
      @search-change="questionBankSearchChange"
      @search-reset="questionBankSearchReset"
      @current-change="questionBankCurrentChange"
      @size-change="questionBankSizeChange"
      @row-update="questionBankRowUpdate"
    >
      <template slot-scope="{ row }" slot="learnGrade">
        {{ row.learnGrade == -1 ? "暂未录入" : row.learnGrade }}
      </template>
      <template slot-scope="{ row }" slot="theoryGrade">
        {{ row.learnGrade == -1 ? "" : row.theoryGrade }}
      </template>
      <template slot-scope="{ row }" slot="allGrade">
        {{ row.learnGrade == -1 ? "" : row.allGrade }}
      </template>
      <template slot-scope="{ row }" slot="qualified">
        {{
          row.learnGrade == -1
            ? ""
            : row.qualified == 0
            ? "合格"
            : row.qualified == 1
            ? "不合格"
            : ""
        }}
      </template>
            <template slot-scope="{ row }" slot="menu">
              <el-button
                type="text"
                size="mini"
                icon="el-icon-collection"
                class="start-kaoshi"
                :disabled="row.qualified == 1"
                v-if="permission.singleperformance_print"
                @click="securityPrint(row)"
                >保安证打印
              </el-button>
            </template>
      <template slot-scope="{ row }" slot="menu">
        <el-button
          type="text"
          size="mini"
          icon="el-icon-collection"
          class="start-kaoshi"
          :disabled="row.qualified == 1"
          v-if="permission.singleperformance_print"
          @click="securityPrint(row)"
          >保安证打印
        </el-button>
      </template>
            <!-- 自定义按钮 -->
            <!-- <template slot="menuLeft">
      <!-- 自定义按钮 -->
      <!-- <template slot="menuLeft">
                            <el-button type="danger"
                                       size="mini"
                                       icon="el-icon-delete"
@@ -87,11 +80,8 @@
                                       @click="handleDelete">导出
                            </el-button>
                        </template> -->
          </avue-crud>
        </div>
      </el-card>
    </el-col>
  </el-row>
    </avue-crud>
  </basic-container>
</template>
<script>
@@ -119,7 +109,7 @@
    return {
      obj: {
        name: "张三",
        name: "张三"
      },
      questionBankOption: {
        // 操作栏多余按钮去除
@@ -172,11 +162,11 @@
              {
                required: true,
                message: "请输入试卷名称",
                trigger: "blur",
              },
                trigger: "blur"
              }
            ],
            // overHidden:true,
            width: 230,
            width: 230
          },
          {
            label: "用户名",
@@ -200,10 +190,10 @@
              {
                required: true,
                message: "请输入保安姓名",
                trigger: "blur",
              },
                trigger: "blur"
              }
            ],
            width: 160,
            width: 160
          },
          {
            label: "所属公司",
@@ -232,10 +222,10 @@
              {
                required: true,
                message: "请输入所属公司",
                trigger: "blur",
              },
                trigger: "blur"
              }
            ],
            width: 250,
            width: 250
          },
          {
            label: "考试开始时间",
@@ -257,7 +247,7 @@
            // 表单编辑时是否可见
            editDisplay: true,
            // 表单编辑时是否为查看模式
            editDetail: false,
            editDetail: false
          },
          {
            label: "考试结束时间",
@@ -279,7 +269,7 @@
            // 表单编辑时是否可见
            editDisplay: true,
            // 表单编辑时是否为查看模式
            editDetail: false,
            editDetail: false
          },
          {
            label: "状态",
@@ -291,12 +281,12 @@
            dicData: [
              {
                label: "发布成绩",
                value: 2,
                value: 2
              },
              {
                label: "考试中",
                value: 3,
              },
                value: 3
              }
            ],
            // 表单新增时是否禁止
            addDisabled: false,
@@ -314,9 +304,9 @@
              {
                required: true,
                message: "请输入考试名称",
                trigger: "blur",
              },
            ],
                trigger: "blur"
              }
            ]
          },
          {
            label: "理论成绩",
@@ -333,7 +323,7 @@
            // 表单编辑时是否可见
            editDisplay: true,
            // 表单编辑时是否为查看模式
            editDetail: false,
            editDetail: false
          },
          {
            label: "实操成绩",
@@ -352,8 +342,8 @@
            // 表单编辑时是否为查看模式
            editDetail: false,
            rules: [
              { validator: validatePass, required: true, trigger: "blur" },
            ],
              { validator: validatePass, required: true, trigger: "blur" }
            ]
          },
          {
            label: "总成绩",
@@ -375,9 +365,9 @@
              {
                required: true,
                message: "请输入考试名称",
                trigger: "blur",
              },
            ],
                trigger: "blur"
              }
            ]
          },
          {
            label: "是否合格",
@@ -389,16 +379,16 @@
            dicData: [
              {
                label: "合格",
                value: 0,
                value: 0
              },
              {
                label: "不合格",
                value: 1,
                value: 1
              },
              {
                label: "暂未录实操成绩",
                value: 2,
              },
                value: 2
              }
            ],
            // 表单新增时是否禁止
            addDisabled: false,
@@ -416,11 +406,11 @@
              {
                required: true,
                message: "请输入考试名称",
                trigger: "blur",
              },
            ],
          },
        ],
                trigger: "blur"
              }
            ]
          }
        ]
      },
      questionBankSearch: {},
      questionBankLoading: true,
@@ -429,10 +419,10 @@
        pageSize: 10,
        currentPage: 1,
        total: 16,
        ...this.$store.state.control.changePageSize,
        ...this.$store.state.control.changePageSize
      },
      questionBankQuery: {},
      questionBankSelectionList: [],
      questionBankSelectionList: []
    };
  },
  computed: {
@@ -446,12 +436,14 @@
        excelBtn: this.vaildData(
          this.permission.singleperformance_export,
          false
        ),
        )
      };
    },
    }
  },
  created() {},
  mounted() {},
  mounted() {
    this.$store.commit("setWindowSizeHeightAdd");
  },
  methods: {
    //保安证证查看
    securityPrint(row) {
@@ -459,7 +451,7 @@
      obj["name"] = "保安证";
      this.$router.push({
        path: `/exam/papers`,
        query: obj,
        query: obj
      });
    },
    questionBankOnLoad(page, params = {}) {
@@ -467,8 +459,8 @@
      var that = this;
      //获取当前登录人员的角色信息
      var roleIds = this.userInfo.role_id.split(",");
      roleIds.forEach((roleId) => {
        getRoleDetail(roleId).then((res) => {
      roleIds.forEach(roleId => {
        getRoleDetail(roleId).then(res => {
          var roleAlias = res.data.data.roleAlias;
          if (
            roleAlias == "保安公司管理员" ||
@@ -484,11 +476,12 @@
            page.currentPage,
            page.pageSize,
            Object.assign(params, this.query)
          ).then((res) => {
          ).then(res => {
            const data = res.data.data;
            that.questionBankPage.total = data.total;
            that.questionBankData = data.records;
            that.questionBankLoading = false;
            this.$store.commit("setWindowSizeHeightAdd");
            that.questionBankSelectionClear();
          });
        });
@@ -522,25 +515,24 @@
      update({
        theoryGrade: row.theoryGrade,
        learnGrade: row.learnGrade,
        id: row.id,
        id: row.id
      }).then(
        () => {
          this.questionBankOnLoad(this.questionBankPage);
          this.$message({
            type: "success",
            message: "操作成功!",
            message: "操作成功!"
          });
          done();
        },
        (error) => {
        error => {
          window.console.log(error);
          loading();
        }
      );
    },
  },
    }
  }
};
</script>
<style lang="scss" scoped>
</style>
<style lang="scss" scoped></style>
src/views/exam/startexam.vue
@@ -1,42 +1,35 @@
/*
 * @Author: Morpheus
 * @Date: 2021-07-05 16:31:54
 * @Last Modified by: liu
 * @Last Modified time: 2021-11-23 14:16:42
 * menu-name 考试管理
 */
/* * @Author: Morpheus * @Date: 2021-07-05 16:31:54 * @Last Modified by: liu *
@Last Modified time: 2021-11-23 14:16:42 * menu-name 考试管理 */
<template>
  <el-row class="morpheus-box-paper">
    <el-col :span="24">
      <el-card>
        <div
          :class="[
            'exam-card-body',
            $store.state.control.windowWidth >= 1024 ? 'oneRowSearch' : '',
          ]"
        >
          <avue-crud
            v-model="form"
            class="company-box"
            :option="questionBankOption"
            :search.sync="questionBankSearch"
            :table-loading="questionBankLoading"
            :data="questionBankData"
            :permission="permissionList"
            ref="questionBankCrud"
            :page.sync="questionBankPage"
            @on-load="questionBankOnLoad"
            @selection-change="questionBankSelectionChange"
            @search-change="questionBankSearchChange"
            @search-reset="questionBankSearchReset"
            @current-change="questionBankCurrentChange"
            @size-change="questionBankSizeChange"
            @row-save="questionBankRowSave"
            @row-update="questionBankRowUpdate"
            @row-del="questionBankRowDel"
          >
            <!-- 自定义按钮 -->
            <!-- <template slot="menuLeft">
  <basic-container
    :class="[
      'exam-card-body',
      $store.state.control.screenSize == 1366 ? 'smallSize' : 'normalSize',
      $store.state.control.windowWidth >= 1024 ? 'tooRowSearch1' : ''
    ]"
  >
    <avue-crud
      v-model="form"
      class="company-box tablesss"
      :option="questionBankOption"
      :search.sync="questionBankSearch"
      :table-loading="questionBankLoading"
      :data="questionBankData"
      :permission="permissionList"
      ref="questionBankCrud"
      :page.sync="questionBankPage"
      @on-load="questionBankOnLoad"
      @selection-change="questionBankSelectionChange"
      @search-change="questionBankSearchChange"
      @search-reset="questionBankSearchReset"
      @current-change="questionBankCurrentChange"
      @size-change="questionBankSizeChange"
      @row-save="questionBankRowSave"
      @row-update="questionBankRowUpdate"
      @row-del="questionBankRowDel"
    >
      <!-- 自定义按钮 -->
      <!-- <template slot="menuLeft">
                            <el-button type="danger"
                                       size="mini"
                                       icon="el-icon-delete"
@@ -57,38 +50,35 @@
                            </el-button>
                        </template> -->
            <template slot="menuLeft">
              <el-button
                style="display: none"
                type="danger"
                size="small"
                icon="el-icon-delete"
                v-if="permission.startexam_delete"
                @click="questionBankHandleDelete"
                >删 除
              </el-button>
            </template>
      <template slot="menuLeft">
        <el-button
          style="display: none"
          type="danger"
          size="small"
          icon="el-icon-delete"
          v-if="permission.startexam_delete"
          @click="questionBankHandleDelete"
          >删 除
        </el-button>
      </template>
            <template slot-scope="{ row }" slot="examStatus">
              <el-tag>{{ row.examStatus == 0 ? "已发布" : "草稿" }}</el-tag>
            </template>
      <template slot-scope="{ row }" slot="examStatus">
        <el-tag>{{ row.examStatus == 0 ? "已发布" : "草稿" }}</el-tag>
      </template>
            <template slot-scope="{ row }" slot="menu">
              <el-button
                type="text"
                size="mini"
                icon="el-icon-collection"
                class="start-kaoshi"
                v-if="permission.startexam_applyPapers"
                @click="startExam(row)"
                >报名清册
              </el-button>
            </template>
          </avue-crud>
        </div>
      </el-card>
    </el-col>
  </el-row>
      <template slot-scope="{ row }" slot="menu">
        <el-button
          type="text"
          size="mini"
          icon="el-icon-collection"
          class="start-kaoshi"
          v-if="permission.startexam_applyPapers"
          @click="startExam(row)"
          >报名清册
        </el-button>
      </template>
    </avue-crud>
  </basic-container>
</template>
<script>
@@ -140,6 +130,7 @@
        labelWidth: 140,
        ...this.$store.state.control.clearOtherBut,
        ...this.$store.state.control.searchOpen,
        column: [
          {
            label: "考试名称",
@@ -163,9 +154,9 @@
              {
                required: true,
                message: "请输入试卷名称",
                trigger: "blur",
              },
            ],
                trigger: "blur"
              }
            ]
          },
          // {
          //     label: "试卷分数",
@@ -241,9 +232,9 @@
              {
                required: true,
                message: "请选择考试时间",
                trigger: "blur",
              },
            ],
                trigger: "blur"
              }
            ]
          },
          // {
          //   label: "考试结束时间",
@@ -283,7 +274,7 @@
            // 表单编辑时是否为查看模式
            editDetail: false,
            hide: true,
            display: false,
            display: false
          },
          {
            label: "备注",
@@ -301,7 +292,7 @@
            // 表单编辑时是否可见
            editDisplay: true,
            // 表单编辑时是否为查看模式
            editDetail: false,
            editDetail: false
          },
          {
            label: "注意事项",
@@ -321,9 +312,9 @@
            editDisplay: true,
            // 表单编辑时是否为查看模式
            editDetail: false,
            width: 240,
          },
        ],
            width: 240
          }
        ]
      },
      questionBankSearch: {},
      questionBankLoading: true,
@@ -332,18 +323,20 @@
        pageSize: 10,
        currentPage: 1,
        total: 16,
        ...this.$store.state.control.changePageSize,
        ...this.$store.state.control.changePageSize
      },
      questionBankQuery: {},
      questionBankSelectionList: [],
      questionBankSelectionList: []
    };
  },
  created() {},
  mounted() {},
  mounted() {
    this.$store.commit("setWindowSizeHeightAdd");
  },
  computed: {
    ids() {
      let ids = [];
      this.questionBankSelectionList.forEach((ele) => {
      this.questionBankSelectionList.forEach(ele => {
        ids.push(ele.id);
      });
      return ids.join(",");
@@ -354,9 +347,9 @@
        addBtn: this.vaildData(this.permission.startexam_add, false),
        viewBtn: this.vaildData(this.permission.startexam_view, false),
        delBtn: this.vaildData(this.permission.startexam_delete, false),
        editBtn: this.vaildData(this.permission.startexam_edit, false),
        editBtn: this.vaildData(this.permission.startexam_edit, false)
      };
    },
    }
  },
  watch: {},
  methods: {
@@ -367,11 +360,12 @@
        page.currentPage,
        page.pageSize,
        Object.assign(params, this.questionBankQuery)
      ).then((res) => {
      ).then(res => {
        const data = res.data.data;
        this.questionBankPage.total = data.total;
        this.questionBankData = data.records;
        this.questionBankLoading = false;
        this.$store.commit("setWindowSizeHeightAdd");
        this.questionBankSelectionClear();
      });
    },
@@ -404,7 +398,7 @@
      if (row.examType == 1) {
        this.$router.push({
          path: `/applydetailed`,
          query: row,
          query: row
        });
      }
@@ -412,7 +406,7 @@
      if (row.examType == 2) {
        this.$router.push({
          path: `/trainApply`,
          query: row,
          query: row
        });
      }
    },
@@ -427,11 +421,11 @@
          this.questionBankOnLoad(this.questionBankPage);
          this.$message({
            type: "success",
            message: "操作成功!",
            message: "操作成功!"
          });
          done();
        },
        (error) => {
        error => {
          window.console.log(error);
          loading();
        }
@@ -449,11 +443,11 @@
          this.questionBankOnLoad(this.questionBankPage);
          this.$message({
            type: "success",
            message: "操作成功!",
            message: "操作成功!"
          });
          done();
        },
        (error) => {
        error => {
          window.console.log(error);
          loading();
        }
@@ -463,7 +457,7 @@
      this.$confirm("确定将选择数据删除?", {
        confirmButtonText: "确定",
        cancelButtonText: "取消",
        type: "warning",
        type: "warning"
      })
        .then(() => {
          return remove(row.id);
@@ -472,7 +466,7 @@
          this.questionBankOnLoad(this.questionBankPage);
          this.$message({
            type: "success",
            message: "操作成功!",
            message: "操作成功!"
          });
        });
    },
@@ -484,7 +478,7 @@
      this.$confirm("确定将选择数据删除?", {
        confirmButtonText: "确定",
        cancelButtonText: "取消",
        type: "warning",
        type: "warning"
      })
        .then(() => {
          return remove(this.ids);
@@ -493,14 +487,13 @@
          this.questionBankOnLoad(this.questionBankPage);
          this.$message({
            type: "success",
            message: "操作成功!",
            message: "操作成功!"
          });
          this.$refs.questionBankCrud.toggleSelection();
        });
    },
  },
    }
  }
};
</script>
<style lang="scss" scoped>
</style>
<style lang="scss" scoped></style>
src/views/exam/subject.vue
@@ -1,122 +1,110 @@
/*
 * @Author: Morpheus
 * @Date: 2021-07-05 16:31:54
 * @Last Modified by: liu
 * @Last Modified time: 2021-11-23 14:14:38
 * menu-name 题库查询
 */
/* * @Author: Morpheus * @Date: 2021-07-05 16:31:54 * @Last Modified by: liu *
@Last Modified time: 2021-11-23 14:14:38 * menu-name 题库查询 */
<template>
  <div>
    <el-row class="morpheus-box">
      <el-col :span="24">
        <el-card>
          <div
            :class="[
              'exam-card-body',
              $store.state.control.windowWidth >= 1024 ? 'oneRowSearch' : '',
            ]"
          >
            <avue-crud
              class="company-box"
              :option="questionBankOption"
              :search.sync="questionBankSearch"
              :table-loading="questionBankLoading"
              :data="questionBankData"
              ref="questionBankCrud"
              :permission="permissionList"
              :page.sync="questionBankPage"
              @on-load="questionBankOnLoad"
              @selection-change="questionBankSelectionChange"
              @search-change="questionBankSearchChange"
              @search-reset="questionBankSearchReset"
              @current-change="questionBankCurrentChange"
              @size-change="questionBankSizeChange"
              @row-del="questionBankHandleDel"
            >
              <template slot="menuLeft">
                <el-button
                  type="primary"
                  size="small"
                  icon="el-icon-plus"
                  v-if="permission.subject_add"
                  @click="questionBankHandleAdd"
                  >新 增
                </el-button>
                <el-button
                  type="success"
                  size="small"
                  plain
                  icon="el-icon-upload2"
                  v-if="permission.subject_import"
                  @click="handleImport"
                  >题库导入
                </el-button>
                <el-button
                  type="danger"
                  size="small"
                  icon="el-icon-delete"
                  v-if="permission.subject_delete"
                  @click="questionBankHandleDelete"
                  >删 除
                </el-button>
              </template>
  <basic-container
    :class="[
      'exam-card-body',
      $store.state.control.screenSize == 1366 ? 'smallSize' : 'normalSize',
      $store.state.control.windowWidth >= 1024 ? 'tooRowSearch1' : ''
    ]"
  >
    <avue-crud
      class="company-box tablesss"
      :option="questionBankOption"
      :search.sync="questionBankSearch"
      :table-loading="questionBankLoading"
      :data="questionBankData"
      ref="questionBankCrud"
      :permission="permissionList"
      :page.sync="questionBankPage"
      @on-load="questionBankOnLoad"
      @selection-change="questionBankSelectionChange"
      @search-change="questionBankSearchChange"
      @search-reset="questionBankSearchReset"
      @current-change="questionBankCurrentChange"
      @size-change="questionBankSizeChange"
      @row-del="questionBankHandleDel"
    >
      <template slot="menuLeft">
        <el-button
          type="primary"
          size="small"
          icon="el-icon-plus"
          v-if="permission.subject_add"
          @click="questionBankHandleAdd"
          >新 增
        </el-button>
        <el-button
          type="success"
          size="small"
          plain
          icon="el-icon-upload2"
          v-if="permission.subject_import"
          @click="handleImport"
          >题库导入
        </el-button>
        <el-button
          type="danger"
          size="small"
          icon="el-icon-delete"
          v-if="permission.subject_delete"
          @click="questionBankHandleDelete"
          >删 除
        </el-button>
      </template>
              <template slot-scope="{ row }" slot="menu">
                <el-button
                  type="text"
                  size="mini"
                  icon="el-icon-edit"
                  v-if="permission.subject_edit"
                  @click="questionBankHandleAdd(row)"
                  >编辑
                </el-button>
                <el-button
                  type="text"
                  size="mini"
                  icon="el-icon-delete"
                  v-if="permission.subject_delete"
                  @click="questionBankHandleDel(row)"
                  >删除
                </el-button>
              </template>
            </avue-crud>
      <template slot-scope="{ row }" slot="menu">
        <el-button
          type="text"
          size="mini"
          icon="el-icon-edit"
          v-if="permission.subject_edit"
          @click="questionBankHandleAdd(row)"
          >编辑
        </el-button>
        <el-button
          type="text"
          size="mini"
          icon="el-icon-delete"
          v-if="permission.subject_delete"
          @click="questionBankHandleDel(row)"
          >删除
        </el-button>
      </template>
    </avue-crud>
            <el-dialog
              title="题库导入"
              append-to-body
              :visible.sync="excelBox"
              width="555px"
            >
              <avue-form
                :option="excelOption"
                v-model="excelForm"
                :upload-after="uploadAfter"
              >
                <template slot="excelTemplate">
                  <el-button type="primary" @click="handleTemplate">
                    点击下载<i class="el-icon-download el-icon--right"></i>
                  </el-button>
                </template>
              </avue-form>
            </el-dialog>
          </div>
        </el-card>
      </el-col>
    </el-row>
    <el-dialog
      title="题库导入"
      append-to-body
      :visible.sync="excelBox"
      width="555px"
    >
      <avue-form
        :option="excelOption"
        v-model="excelForm"
        :upload-after="uploadAfter"
      >
        <template slot="excelTemplate">
          <el-button type="primary" @click="handleTemplate">
            点击下载<i class="el-icon-download el-icon--right"></i>
          </el-button>
        </template>
      </avue-form>
    </el-dialog>
    <addsubject ref="addsubject" v-on:refreshPage="refreshPage"></addsubject>
  </div>
  </basic-container>
</template>
<script>
import { getList, remove } from "@/api/examapi/subject";
import addsubject from "./addsubject.vue";
import { mapGetters,mapState } from "vuex";
import { mapGetters, mapState } from "vuex";
import Qs from "qs";
import { getToken } from "@/util/auth";
export default {
  components: {
    addsubject,
    addsubject
  },
  data() {
    return {
@@ -134,18 +122,18 @@
            loadText: "模板上传中,请稍等",
            span: 24,
            propsHttp: {
              res: "data",
              res: "data"
            },
            tip: "请上传 .xls,.xlsx 标准格式文件",
            action: "/api/examSubjectChoices/import-examSubject",
            action: "/api/examSubjectChoices/import-examSubject"
          },
          {
            label: "模板下载",
            prop: "excelTemplate",
            formslot: true,
            span: 24,
          },
        ],
            span: 24
          }
        ]
      },
      questionBankOption: {
        // 操作栏多余按钮去除
@@ -172,13 +160,14 @@
        // 操作栏宽度
        menuWidth: 226,
        ...this.$store.state.control.clearOtherBut,
        ...this.$store.state.control.searchOpen,
        column: [
          {
            label: "题目名称",
            prop: "subjectName",
            searchSpan: 4,
            search: true,
            slot: true,
            slot: true
          },
          {
            label: "题目类型",
@@ -189,61 +178,61 @@
            dicData: [
              {
                label: "单选题",
                value: 0,
                value: 0
              },
              {
                label: "多选题",
                value: 1,
                value: 1
              },
              {
                label: "判断题",
                value: 2,
                value: 2
              },
              {
                label: "实操题",
                value: 3,
              },
                value: 3
              }
            ],
            slot: true,
            width: 96,
            width: 96
          },
          {
            label: "题目分值",
            prop: "score",
            slot: true,
            width: 96,
            width: 96
          },
          {
            label: "参考答案",
            prop: "answer",
            slot: true,
            width: 96,
            width: 96
          },
          {
            label: "创建人",
            prop: "creator",
            slot: true,
            width: 96,
            width: 96
          },
          {
            label: "创建时间",
            prop: "createDate",
            slot: true,
            width: 130,
            width: 130
          },
          {
            label: "修改人",
            prop: "modifier",
            slot: true,
            width: 96,
            width: 96
          },
          {
            label: "修改时间",
            prop: "modifyDate",
            slot: true,
            width: 130,
          },
        ],
            width: 130
          }
        ]
      },
      questionBankSearch: {},
      questionBankLoading: true,
@@ -252,13 +241,15 @@
        pageSize: 10,
        currentPage: 1,
        total: 16,
        ...this.$store.state.control.changePageSize,
        ...this.$store.state.control.changePageSize
      },
      questionBankQuery: {},
      questionBankSelectionList: [],
      questionBankSelectionList: []
    };
  },
  mounted() {},
  mounted() {
    this.$store.commit("setWindowSizeHeightAdd");
  },
  computed: {
    ...mapGetters(["userInfo", "permission"]),
    permissionList() {
@@ -267,20 +258,20 @@
        viewBtn: this.vaildData(this.permission.subject_view, false),
        delBtn: this.vaildData(this.permission.subject_delete, false),
        editBtn: this.vaildData(this.permission.subject_edit, false),
        excelBtn: this.vaildData(this.permission.subject_report, false),
        excelBtn: this.vaildData(this.permission.subject_report, false)
      };
    },
    ids() {
      let ids = [];
      this.questionBankSelectionList.forEach((ele) => {
      this.questionBankSelectionList.forEach(ele => {
        ids.push(ele.id);
      });
      return ids.join(",");
    },
    }
  },
  methods: {
    //触发页面刷新
    refreshPage(){
    refreshPage() {
      this.questionBankOnLoad(this.questionBankPage);
    },
    questionBankHandleAdd(row) {
@@ -293,11 +284,12 @@
        page.currentPage,
        page.pageSize,
        Object.assign(params, this.query)
      ).then((res) => {
      ).then(res => {
        const data = res.data.data;
        this.questionBankPage.total = data.total;
        this.questionBankData = data.records;
        this.questionBankLoading = false;
        this.$store.commit("setWindowSizeHeightAdd");
        this.questionBankSelectionClear();
      });
    },
@@ -329,7 +321,7 @@
      this.$confirm("确定将选择数据删除?", {
        confirmButtonText: "确定",
        cancelButtonText: "取消",
        type: "warning",
        type: "warning"
      })
        .then(() => {
          return remove(row.id);
@@ -338,7 +330,7 @@
          this.questionBankOnLoad(this.questionBankPage);
          this.$message({
            type: "success",
            message: "操作成功!",
            message: "操作成功!"
          });
        });
    },
@@ -351,7 +343,7 @@
      this.$confirm("确定将选择数据删除?", {
        confirmButtonText: "确定",
        cancelButtonText: "取消",
        type: "warning",
        type: "warning"
      })
        .then(() => {
          return remove(this.ids);
@@ -360,7 +352,7 @@
          this.questionBankOnLoad(this.questionBankPage);
          this.$message({
            type: "success",
            message: "操作成功!",
            message: "操作成功!"
          });
          this.$refs.questionBankCrud.toggleSelection();
        });
@@ -371,16 +363,24 @@
      this.$confirm("是否导出清册数据?", "提示", {
        confirmButtonText: "确定",
        cancelButtonText: "取消",
        type: "warning",
        type: "warning"
      }).then(() => {
        window.open(`/api/apply/export-apply?examId=${this.$route.query.id}&${this.website.tokenHeader}=${getToken()}`);
        window.open(
          `/api/apply/export-apply?examId=${this.$route.query.id}&${
            this.website.tokenHeader
          }=${getToken()}`
        );
      });
    },
    handleImport() {
      this.excelBox = true;
    },
    handleTemplate() {
      window.open(`/api/examSubjectChoices/export-template?${this.website.tokenHeader}=${getToken()}`);
      window.open(
        `/api/examSubjectChoices/export-template?${
          this.website.tokenHeader
        }=${getToken()}`
      );
    },
    uploadAfter(res, done, loading, column) {
      window.console.log(column);
@@ -390,10 +390,9 @@
    },
    refreshChange() {
      this.questionBankOnLoad(this.page, this.query);
    },
  },
    }
  }
};
</script>
<style lang="scss" scoped>
</style>
<style lang="scss" scoped></style>
src/views/licenseApproval/branchOffice.vue
@@ -1,92 +1,85 @@
/*
 * @Author: liu
 * @Date: 2021-08-26 17:00:55
 * @Last Modified by: liu
 * @Last Modified time: 2021-11-23 14:41:23
 */
/* * @Author: liu * @Date: 2021-08-26 17:00:55 * @Last Modified by: liu * @Last
Modified time: 2021-11-23 14:41:23 */
<template>
  <div>
    <basic-container
      :class="[
        'permit',
        $store.state.control.windowWidth >= 1024 ? 'oneRowSearch' : '',
      ]"
  <basic-container
    :class="[
      'permit',
      $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"
      :before-open="beforeOpen"
      v-model="form"
      ref="crud"
      @row-update="rowUpdate"
      @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"
      :row-style="rowStyle"
    >
      <avue-crud
        :option="option"
        :table-loading="loading"
        :data="data"
        :page.sync="page"
        :permission="permissionList"
        :before-open="beforeOpen"
        v-model="form"
        ref="crud"
        @row-update="rowUpdate"
        @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"
        :row-style="rowStyle"
      >
        <template slot="menuLeft">
          <el-button
            type="danger"
            size="small"
            icon="el-icon-delete"
            plain
            v-if="permission.permit_delete"
            @click="handleDelete"
            >删 除
          </el-button>
        </template>
        <template slot-scope="{ type, size, row }" slot="menu">
          <el-button
            icon="icon-zhengjian"
            :size="size"
            :type="type"
            class="zhengJian-icon"
            @click.stop="handleCredentials(row)"
            >附件</el-button
          >
          <el-button
            icon="el-icon-edit"
            :size="size"
            :type="type"
            v-if="row.type == '2' && userData == '0'"
            @click.stop="rowDel(row)"
            >备案审批
          </el-button>
          <el-button
            icon="el-icon-edit"
            :size="size"
            :type="type"
            @click.stop="viewLicense(row)"
            v-if="row.type == '0'"
            >打印备案证
          </el-button>
        </template>
        <template class="tdtype" slot-scope="{ row }" slot="type">
          <el-tag class="dtype">
            {{
              row.type == "0" ? "通过" : row.type == "1" ? "不通过" : "待审批"
            }}
            <i class="gz" v-if="row.type == '2'"></i>
            <!--  黄色 -->
            <i class="yj" v-if="row.type == '1'"></i>
            <!--  红色 -->
            <i class="zc" v-if="row.type == '0'"></i>
            <!--  绿色 -->
          </el-tag>
        </template>
      </avue-crud>
    </basic-container>
      <template slot="menuLeft">
        <el-button
          type="danger"
          size="small"
          icon="el-icon-delete"
          plain
          v-if="permission.permit_delete"
          @click="handleDelete"
          >删 除
        </el-button>
      </template>
      <template slot-scope="{ type, size, row }" slot="menu">
        <el-button
          icon="icon-zhengjian"
          :size="size"
          :type="type"
          class="zhengJian-icon"
          @click.stop="handleCredentials(row)"
          >附件</el-button
        >
        <el-button
          icon="el-icon-edit"
          :size="size"
          :type="type"
          v-if="row.type == '2' && userData == '0'"
          @click.stop="rowDel(row)"
          >备案审批
        </el-button>
        <el-button
          icon="el-icon-edit"
          :size="size"
          :type="type"
          @click.stop="viewLicense(row)"
          v-if="row.type == '0'"
          >打印备案证
        </el-button>
      </template>
      <template class="tdtype" slot-scope="{ row }" slot="type">
        <el-tag class="dtype">
          {{ row.type == "0" ? "通过" : row.type == "1" ? "不通过" : "待审批" }}
          <i class="gz" v-if="row.type == '2'"></i>
          <!--  黄色 -->
          <i class="yj" v-if="row.type == '1'"></i>
          <!--  红色 -->
          <i class="zc" v-if="row.type == '0'"></i>
          <!--  绿色 -->
        </el-tag>
      </template>
    </avue-crud>
    <div
      v-if="dialogVisible"
@@ -163,7 +156,7 @@
        </div>
      </div>
    </el-dialog>
  </div>
  </basic-container>
</template>
<script>
@@ -172,7 +165,7 @@
  getDetail,
  add,
  update,
  remove,
  remove
} from "@/api/licenseApproval/record";
import { mapGetters } from "vuex";
import { column } from "./column";
@@ -187,7 +180,7 @@
      dialogVisible: false, //许可证抽屉
      licenceData: {
        row: {},
        chiden: {},
        chiden: {}
      },
      textareaShenpi: "",
@@ -198,7 +191,7 @@
        pageSize: 10,
        currentPage: 1,
        total: 0,
        ...this.$store.state.control.changePageSize,
        ...this.$store.state.control.changePageSize
      },
      selectionList: [],
      option: {
@@ -220,10 +213,10 @@
        selection: true,
        dialogClickModal: false,
        column: column,
        ...this.$store.state.control.clearOtherBut,
        ...this.$store.state.control.clearOtherBut
      },
      data: [],
      userData: "",
      userData: ""
    };
  },
  computed: {
@@ -233,20 +226,20 @@
        addBtn: this.vaildData(this.permission.permit_add, false),
        viewBtn: this.vaildData(this.permission.permit_view, true),
        delBtn: this.vaildData(this.permission.permit_delete, false),
        editBtn: this.vaildData(this.permission.permit_edit, false),
        editBtn: this.vaildData(this.permission.permit_edit, false)
      };
    },
    ids() {
      let ids = [];
      this.selectionList.forEach((ele) => {
      this.selectionList.forEach(ele => {
        ids.push(ele.id);
      });
      return ids.join(",");
    },
    }
  },
  // mounted() {
  //     console.log(this.userInfo.dept_id);
  // },
  mounted() {
    this.$store.commit("setWindowSizeHeightAdd");
  },
  methods: {
    changeuserData() {
      // console.log(this.userInfo, "userDatauserDatauserData");
@@ -281,7 +274,7 @@
        path: "/attachOnce/index",
        // redirect: { name: "foo" },
        // query: { row: row },
        query: { deptid: row.cardid, type: "2" },
        query: { deptid: row.cardid, type: "2" }
        // params: { row: row.identificationnumber },
      });
    },
@@ -292,11 +285,11 @@
          this.onLoad(this.page);
          this.$message({
            type: "success",
            message: "操作成功!",
            message: "操作成功!"
          });
          done();
        },
        (error) => {
        error => {
          loading();
          window.console.log(error);
        }
@@ -308,11 +301,11 @@
          this.onLoad(this.page);
          this.$message({
            type: "success",
            message: "操作成功!",
            message: "操作成功!"
          });
          done();
        },
        (error) => {
        error => {
          loading();
          console.log(error);
        }
@@ -331,7 +324,7 @@
      this.textareaShenpi = "";
      this.$message({
        type: "success",
        message: "审核通过!",
        message: "审核通过!"
      });
    },
    subcc() {
@@ -342,7 +335,7 @@
      this.textareaShenpi = "";
      this.$message({
        type: "success",
        message: "审核不通过!",
        message: "审核不通过!"
      });
    },
@@ -374,7 +367,7 @@
      this.$confirm("确定将选择数据删除?", {
        confirmButtonText: "确定",
        cancelButtonText: "取消",
        type: "warning",
        type: "warning"
      })
        .then(() => {
          return remove(this.ids);
@@ -383,14 +376,14 @@
          this.onLoad(this.page);
          this.$message({
            type: "success",
            message: "操作成功!",
            message: "操作成功!"
          });
          this.$refs.crud.toggleSelection();
        });
    },
    beforeOpen(done, type) {
      if (["edit", "view"].includes(type)) {
        getDetail(this.form.id).then((res) => {
        getDetail(this.form.id).then(res => {
          this.form = res.data.data;
        });
      }
@@ -434,11 +427,12 @@
        page.currentPage,
        page.pageSize,
        Object.assign(params, this.query)
      ).then((res) => {
      ).then(res => {
        const data = res.data.data;
        this.page.total = data.total;
        this.data = data.records;
        this.loading = false;
        this.$store.commit("setWindowSizeHeightAdd");
        this.selectionClear();
      });
    },
@@ -446,17 +440,17 @@
      if (row.dtype != null && row.dtype != "") {
        if (row.dtype == "2") {
          return {
            color: "#F34A4A",
            color: "#F34A4A"
          };
        }
        if (row.dtype == "1") {
          return {
            color: "#F48F57",
            color: "#F48F57"
          };
        }
      }
    },
  },
    }
  }
};
</script>
src/views/licenseApproval/cancellationOfFiling.vue
@@ -1,84 +1,77 @@
/*
 * @Author: liu
 * @Date: 2021-08-26 17:00:04
 * @Last Modified by: liu
 * @Last Modified time: 2021-11-05 15:24:32
 */
/* * @Author: liu * @Date: 2021-08-26 17:00:04 * @Last Modified by: liu * @Last
Modified time: 2021-11-05 15:24:32 */
<template>
  <div>
    <basic-container
      :class="[
        'permit',
        $store.state.control.windowWidth >= 1024 ? 'oneRowSearch' : '',
      ]"
  <basic-container
    :class="[
      'permit',
      $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"
      :before-open="beforeOpen"
      v-model="form"
      ref="crud"
      @row-update="rowUpdate"
      @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"
      :row-style="rowStyle"
    >
      <avue-crud
        :option="option"
        :table-loading="loading"
        :data="data"
        :page.sync="page"
        :permission="permissionList"
        :before-open="beforeOpen"
        v-model="form"
        ref="crud"
        @row-update="rowUpdate"
        @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"
        :row-style="rowStyle"
      >
        <template slot="menuLeft">
          <el-button
            type="danger"
            size="small"
            icon="el-icon-delete"
            plain
            v-if="permission.permit_delete"
            @click="handleDelete"
            >删 除
          </el-button>
        </template>
        <template slot-scope="{ type, size, row }" slot="menu">
          <el-button
            icon="icon-zhengjian"
            :size="size"
            :type="type"
            class="zhengJian-icon"
            @click.stop="handleCredentials(row)"
            >附件
          </el-button>
          <el-button
            icon="el-icon-edit"
            :size="size"
            :type="type"
            @click.stop="rowDel(row)"
            v-if="row.type == '2' && userData == '0'"
            >撤销备案审批
          </el-button>
        </template>
        <template class="tdtype" slot-scope="{ row }" slot="type">
          <el-tag class="dtype">
            {{
              row.type == "0" ? "通过" : row.type == "1" ? "不通过" : "待审核"
            }}
            <i class="gz" v-if="row.type == '2'"></i>
            <!--  黄色 -->
            <i class="yj" v-if="row.type == '1'"></i>
            <!--  红色 -->
            <i class="zc" v-if="row.type == '0'"></i>
            <!--  绿色 -->
          </el-tag>
        </template>
      </avue-crud>
    </basic-container>
      <template slot="menuLeft">
        <el-button
          type="danger"
          size="small"
          icon="el-icon-delete"
          plain
          v-if="permission.permit_delete"
          @click="handleDelete"
          >删 除
        </el-button>
      </template>
      <template slot-scope="{ type, size, row }" slot="menu">
        <el-button
          icon="icon-zhengjian"
          :size="size"
          :type="type"
          class="zhengJian-icon"
          @click.stop="handleCredentials(row)"
          >附件
        </el-button>
        <el-button
          icon="el-icon-edit"
          :size="size"
          :type="type"
          @click.stop="rowDel(row)"
          v-if="row.type == '2' && userData == '0'"
          >撤销备案审批
        </el-button>
      </template>
      <template class="tdtype" slot-scope="{ row }" slot="type">
        <el-tag class="dtype">
          {{ row.type == "0" ? "通过" : row.type == "1" ? "不通过" : "待审核" }}
          <i class="gz" v-if="row.type == '2'"></i>
          <!--  黄色 -->
          <i class="yj" v-if="row.type == '1'"></i>
          <!--  红色 -->
          <i class="zc" v-if="row.type == '0'"></i>
          <!--  绿色 -->
        </el-tag>
      </template>
    </avue-crud>
    <el-dialog
      title=""
@@ -102,7 +95,7 @@
        </div>
      </div>
    </el-dialog>
  </div>
  </basic-container>
</template>
<script>
@@ -111,7 +104,7 @@
  getDetail,
  add,
  update,
  remove,
  remove
} from "@/api/licenseApproval/revoke";
import { mapGetters } from "vuex";
import { column } from "./column";
@@ -126,7 +119,7 @@
      dialogVisible: false, //许可证抽屉
      licenceData: {
        row: {},
        chiden: {},
        chiden: {}
      },
      textareaShenpi: "",
@@ -137,7 +130,7 @@
        pageSize: 10,
        currentPage: 1,
        total: 0,
        ...this.$store.state.control.changePageSize,
        ...this.$store.state.control.changePageSize
      },
      selectionList: [],
      option: {
@@ -159,10 +152,10 @@
        selection: true,
        dialogClickModal: false,
        column: column,
        ...this.$store.state.control.clearOtherBut,
        ...this.$store.state.control.clearOtherBut
      },
      data: [],
      userData: "",
      userData: ""
    };
  },
  computed: {
@@ -172,20 +165,20 @@
        addBtn: this.vaildData(this.permission.permit_add, false),
        viewBtn: this.vaildData(this.permission.permit_view, true),
        delBtn: this.vaildData(this.permission.permit_delete, false),
        editBtn: this.vaildData(this.permission.permit_edit, false),
        editBtn: this.vaildData(this.permission.permit_edit, false)
      };
    },
    ids() {
      let ids = [];
      this.selectionList.forEach((ele) => {
      this.selectionList.forEach(ele => {
        ids.push(ele.id);
      });
      return ids.join(",");
    },
    }
  },
  // mounted() {
  //     console.log(this.userInfo.dept_id);
  // },
  mounted() {
    this.$store.commit("setWindowSizeHeightAdd");
  },
  methods: {
    changeuserData() {
      // console.log(this.userInfo, "userDatauserDatauserData");
@@ -219,7 +212,7 @@
        path: "/attachOnce/index",
        // redirect: { name: "foo" },
        // query: { row: row },
        query: { deptid: row.cardid, type: "4" },
        query: { deptid: row.cardid, type: "4" }
        // params: { row: row.identificationnumber },
      });
    },
@@ -230,11 +223,11 @@
          this.onLoad(this.page);
          this.$message({
            type: "success",
            message: "操作成功!",
            message: "操作成功!"
          });
          done();
        },
        (error) => {
        error => {
          loading();
          window.console.log(error);
        }
@@ -246,11 +239,11 @@
          this.onLoad(this.page);
          this.$message({
            type: "success",
            message: "操作成功!",
            message: "操作成功!"
          });
          done();
        },
        (error) => {
        error => {
          loading();
          console.log(error);
        }
@@ -301,7 +294,7 @@
      this.$confirm("确定将选择数据删除?", {
        confirmButtonText: "确定",
        cancelButtonText: "取消",
        type: "warning",
        type: "warning"
      })
        .then(() => {
          return remove(this.ids);
@@ -310,14 +303,14 @@
          this.onLoad(this.page);
          this.$message({
            type: "success",
            message: "操作成功!",
            message: "操作成功!"
          });
          this.$refs.crud.toggleSelection();
        });
    },
    beforeOpen(done, type) {
      if (["edit", "view"].includes(type)) {
        getDetail(this.form.id).then((res) => {
        getDetail(this.form.id).then(res => {
          this.form = res.data.data;
        });
      }
@@ -359,11 +352,12 @@
        page.currentPage,
        page.pageSize,
        Object.assign(params, this.query)
      ).then((res) => {
      ).then(res => {
        const data = res.data.data;
        this.page.total = data.total;
        this.data = data.records;
        this.loading = false;
        this.$store.commit("setWindowSizeHeightAdd");
        this.selectionClear();
      });
    },
@@ -371,17 +365,17 @@
      if (row.dtype != null && row.dtype != "") {
        if (row.dtype == "2") {
          return {
            color: "#F34A4A",
            color: "#F34A4A"
          };
        }
        if (row.dtype == "1") {
          return {
            color: "#F48F57",
            color: "#F48F57"
          };
        }
      }
    },
  },
    }
  }
};
</script>
src/views/licenseApproval/crossRegion.vue
@@ -1,92 +1,85 @@
/*
 * @Author:liu
 * @Date: 2021-08-26 16:59:35
 * @Last Modified by: liu
 * @Last Modified time: 2021-11-05 14:51:52
 */
/* * @Author:liu * @Date: 2021-08-26 16:59:35 * @Last Modified by: liu * @Last
Modified time: 2021-11-05 14:51:52 */
<template>
  <div>
    <basic-container
      :class="[
        'permit',
        $store.state.control.windowWidth >= 1024 ? 'oneRowSearch' : '',
      ]"
  <basic-container
    :class="[
      'permit',
      $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"
      :before-open="beforeOpen"
      v-model="form"
      ref="crud"
      @row-update="rowUpdate"
      @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"
      :row-style="rowStyle"
    >
      <avue-crud
        :option="option"
        :table-loading="loading"
        :data="data"
        :page.sync="page"
        :permission="permissionList"
        :before-open="beforeOpen"
        v-model="form"
        ref="crud"
        @row-update="rowUpdate"
        @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"
        :row-style="rowStyle"
      >
        <template slot="menuLeft">
          <el-button
            type="danger"
            size="small"
            icon="el-icon-delete"
            plain
            v-if="permission.permit_delete"
            @click="handleDelete"
            >删 除
          </el-button>
        </template>
        <template slot-scope="{ type, size, row }" slot="menu">
          <el-button
            icon="icon-zhengjian"
            :size="size"
            :type="type"
            class="zhengJian-icon"
            @click.stop="handleCredentials(row)"
            >附件
          </el-button>
          <el-button
            icon="el-icon-edit"
            :size="size"
            :type="type"
            @click.stop="rowDel(row)"
            v-if="row.type == '2' && userData == '0'"
            >备案审批
          </el-button>
          <el-button
            icon="el-icon-edit"
            :size="size"
            :type="type"
            @click.stop="viewLicense(row)"
            v-if="row.type == '0'"
            >打印备案证
          </el-button>
        </template>
        <template class="tdtype" slot-scope="{ row }" slot="type">
          <el-tag class="dtype">
            {{
              row.type == "0" ? "通过" : row.type == "1" ? "不通过" : "待审核"
            }}
            <i class="gz" v-if="row.type == '2'"></i>
            <!--  黄色 -->
            <i class="yj" v-if="row.type == '1'"></i>
            <!--  红色 -->
            <i class="zc" v-if="row.type == '0'"></i>
            <!--  绿色 -->
          </el-tag>
        </template>
      </avue-crud>
    </basic-container>
      <template slot="menuLeft">
        <el-button
          type="danger"
          size="small"
          icon="el-icon-delete"
          plain
          v-if="permission.permit_delete"
          @click="handleDelete"
          >删 除
        </el-button>
      </template>
      <template slot-scope="{ type, size, row }" slot="menu">
        <el-button
          icon="icon-zhengjian"
          :size="size"
          :type="type"
          class="zhengJian-icon"
          @click.stop="handleCredentials(row)"
          >附件
        </el-button>
        <el-button
          icon="el-icon-edit"
          :size="size"
          :type="type"
          @click.stop="rowDel(row)"
          v-if="row.type == '2' && userData == '0'"
          >备案审批
        </el-button>
        <el-button
          icon="el-icon-edit"
          :size="size"
          :type="type"
          @click.stop="viewLicense(row)"
          v-if="row.type == '0'"
          >打印备案证
        </el-button>
      </template>
      <template class="tdtype" slot-scope="{ row }" slot="type">
        <el-tag class="dtype">
          {{ row.type == "0" ? "通过" : row.type == "1" ? "不通过" : "待审核" }}
          <i class="gz" v-if="row.type == '2'"></i>
          <!--  黄色 -->
          <i class="yj" v-if="row.type == '1'"></i>
          <!--  红色 -->
          <i class="zc" v-if="row.type == '0'"></i>
          <!--  绿色 -->
        </el-tag>
      </template>
    </avue-crud>
    <div
      v-if="dialogVisible"
      class="dialogVisibles"
@@ -161,7 +154,7 @@
        </div>
      </div>
    </el-dialog>
  </div>
  </basic-container>
</template>
<script>
@@ -170,7 +163,7 @@
  getDetail,
  add,
  update,
  remove,
  remove
} from "@/api/licenseApproval/recordk";
import { mapGetters } from "vuex";
import { column } from "./column";
@@ -185,7 +178,7 @@
      dialogVisible: false, //许可证抽屉
      licenceData: {
        row: {},
        chiden: {},
        chiden: {}
      },
      textareaShenpi: "",
@@ -196,7 +189,7 @@
        pageSize: 10,
        currentPage: 1,
        total: 0,
        ...this.$store.state.control.changePageSize,
        ...this.$store.state.control.changePageSize
      },
      selectionList: [],
      option: {
@@ -218,10 +211,10 @@
        selection: true,
        dialogClickModal: false,
        column: column,
        ...this.$store.state.control.clearOtherBut,
        ...this.$store.state.control.clearOtherBut
      },
      data: [],
      userData: "",
      userData: ""
    };
  },
  computed: {
@@ -231,20 +224,20 @@
        addBtn: this.vaildData(this.permission.permit_add, false),
        viewBtn: this.vaildData(this.permission.permit_view, true),
        delBtn: this.vaildData(this.permission.permit_delete, false),
        editBtn: this.vaildData(this.permission.permit_edit, false),
        editBtn: this.vaildData(this.permission.permit_edit, false)
      };
    },
    ids() {
      let ids = [];
      this.selectionList.forEach((ele) => {
      this.selectionList.forEach(ele => {
        ids.push(ele.id);
      });
      return ids.join(",");
    },
    }
  },
  // mounted() {
  //     console.log(this.userInfo.dept_id);
  // },
  mounted() {
    this.$store.commit("setWindowSizeHeightAdd");
  },
  methods: {
    changeuserData() {
      // console.log(this.userInfo, "userDatauserDatauserData");
@@ -278,7 +271,7 @@
        path: "/attachOnce/index",
        // redirect: { name: "foo" },
        // query: { row: row },
        query: { deptid: row.cardid, type: "5" },
        query: { deptid: row.cardid, type: "5" }
        // params: { row: row.identificationnumber },
      });
    },
@@ -289,11 +282,11 @@
          this.onLoad(this.page);
          this.$message({
            type: "success",
            message: "操作成功!",
            message: "操作成功!"
          });
          done();
        },
        (error) => {
        error => {
          loading();
          window.console.log(error);
        }
@@ -305,11 +298,11 @@
          this.onLoad(this.page);
          this.$message({
            type: "success",
            message: "操作成功!",
            message: "操作成功!"
          });
          done();
        },
        (error) => {
        error => {
          loading();
          console.log(error);
        }
@@ -362,7 +355,7 @@
      this.$confirm("确定将选择数据删除?", {
        confirmButtonText: "确定",
        cancelButtonText: "取消",
        type: "warning",
        type: "warning"
      })
        .then(() => {
          return remove(this.ids);
@@ -371,14 +364,14 @@
          this.onLoad(this.page);
          this.$message({
            type: "success",
            message: "操作成功!",
            message: "操作成功!"
          });
          this.$refs.crud.toggleSelection();
        });
    },
    beforeOpen(done, type) {
      if (["edit", "view"].includes(type)) {
        getDetail(this.form.id).then((res) => {
        getDetail(this.form.id).then(res => {
          this.form = res.data.data;
        });
      }
@@ -420,11 +413,12 @@
        page.currentPage,
        page.pageSize,
        Object.assign(params, this.query)
      ).then((res) => {
      ).then(res => {
        const data = res.data.data;
        this.page.total = data.total;
        this.data = data.records;
        this.loading = false;
        this.$store.commit("setWindowSizeHeightAdd");
        this.selectionClear();
      });
    },
@@ -432,17 +426,17 @@
      if (row.dtype != null && row.dtype != "") {
        if (row.dtype == "2") {
          return {
            color: "#F34A4A",
            color: "#F34A4A"
          };
        }
        if (row.dtype == "1") {
          return {
            color: "#F48F57",
            color: "#F48F57"
          };
        }
      }
    },
  },
    }
  }
};
</script>
src/views/licenseApproval/securityGuard.vue
@@ -1,69 +1,65 @@
/*
 * @Author: liu
 * @Date: 2021-08-26 16:57:58
 * @Last Modified by: liu
 * @Last Modified time: 2021-11-09 11:16:14
 */
/* * @Author: liu * @Date: 2021-08-26 16:57:58 * @Last Modified by: liu * @Last
Modified time: 2021-11-09 11:16:14 */
<template>
  <div>
    <basic-container
      :class="[
        'permit',
        $store.state.control.windowWidth >= 1024 ? 'oneRowSearch' : '',
      ]"
  <basic-container
    :class="[
      'permit',
      $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"
      :before-open="beforeOpen"
      v-model="form"
      ref="crud"
      @row-update="rowUpdate"
      @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"
      :row-style="rowStyle"
    >
      <avue-crud
        :option="option"
        :table-loading="loading"
        :data="data"
        :page.sync="page"
        :permission="permissionList"
        :before-open="beforeOpen"
        v-model="form"
        ref="crud"
        @row-update="rowUpdate"
        @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"
        :row-style="rowStyle"
      >
        <template slot="menuLeft">
          <el-button
            type="danger"
            size="small"
            icon="el-icon-delete"
            plain
            v-if="permission.permit_delete"
            @click="handleDelete"
            >删 除
          </el-button>
        </template>
        <template slot-scope="{ type, size, row }" slot="menu">
          <el-button
            icon="icon-zhengjian"
            :size="size"
            :type="type"
            class="zhengJian-icon"
            @click.stop="handleCredentials(row)"
            >附件</el-button
          >
          <el-button
            icon="el-icon-edit"
            :size="size"
            :type="type"
            v-if="row.stateOur == '0'"
            @click.stop="rowDel(row)"
            >备案审批
          </el-button>
          <!-- <el-button
      <template slot="menuLeft">
        <el-button
          type="danger"
          size="small"
          icon="el-icon-delete"
          plain
          v-if="permission.permit_delete"
          @click="handleDelete"
          >删 除
        </el-button>
      </template>
      <template slot-scope="{ type, size, row }" slot="menu">
        <el-button
          icon="icon-zhengjian"
          :size="size"
          :type="type"
          class="zhengJian-icon"
          @click.stop="handleCredentials(row)"
          >附件</el-button
        >
        <el-button
          icon="el-icon-edit"
          :size="size"
          :type="type"
          v-if="row.stateOur == '0'"
          @click.stop="rowDel(row)"
          >备案审批
        </el-button>
        <!-- <el-button
            icon="el-icon-edit"
            :size="size"
            :type="type"
@@ -78,46 +74,45 @@
            @click.stop="rowSee(row)"
            >审批查询
          </el-button> -->
          <el-button
            icon="el-icon-brush"
            :size="size"
            :type="type"
            @click.stop="viewLicense(row)"
            v-if="
              row.papprove == '1' && row.xapprove == '1' && row.sapprove == '1'
            "
            >打印备案证
          </el-button>
          <el-button
            icon="el-icon-brush"
            :size="size"
            :type="type"
            v-if="
              row.papprove == '1' && row.xapprove == '1' && row.sapprove == '1'
            "
            @click.stop="viewLicensehuizhi(row)"
            >回执打印
          </el-button>
        </template>
        <template class="tdtype" slot-scope="{ row }" slot="type">
          <el-tag class="dtype">
            {{
              row.stateOur == "1"
                ? "通过"
                : row.stateOur == "2"
                ? "不通过"
                : "待审核"
            }}
            <i class="gz" v-if="row.type == '2'"></i>
            <!--  黄色 -->
            <i class="yj" v-if="row.type == '1'"></i>
            <!--  红色 -->
            <i class="zc" v-if="row.type == '0'"></i>
            <!--  绿色 -->
          </el-tag>
        </template>
      </avue-crud>
    </basic-container>
        <el-button
          icon="el-icon-brush"
          :size="size"
          :type="type"
          @click.stop="viewLicense(row)"
          v-if="
            row.papprove == '1' && row.xapprove == '1' && row.sapprove == '1'
          "
          >打印备案证
        </el-button>
        <el-button
          icon="el-icon-brush"
          :size="size"
          :type="type"
          v-if="
            row.papprove == '1' && row.xapprove == '1' && row.sapprove == '1'
          "
          @click.stop="viewLicensehuizhi(row)"
          >回执打印
        </el-button>
      </template>
      <template class="tdtype" slot-scope="{ row }" slot="type">
        <el-tag class="dtype">
          {{
            row.stateOur == "1"
              ? "通过"
              : row.stateOur == "2"
              ? "不通过"
              : "待审核"
          }}
          <i class="gz" v-if="row.type == '2'"></i>
          <!--  黄色 -->
          <i class="yj" v-if="row.type == '1'"></i>
          <!--  红色 -->
          <i class="zc" v-if="row.type == '0'"></i>
          <!--  绿色 -->
        </el-tag>
      </template>
    </avue-crud>
    <div
      v-if="dialogVisible"
      class="dialogVisibles"
@@ -248,7 +243,7 @@
        <div><span>审批意见:</span> {{ stateText }}</div>
      </div>
    </el-dialog>
  </div>
  </basic-container>
</template>
<script>
@@ -257,7 +252,7 @@
  getDetail,
  add,
  update,
  remove,
  remove
} from "@/api/licenseApproval/record";
import { mapGetters } from "vuex";
import { column } from "./column";
@@ -274,7 +269,7 @@
      dialogVisible: false, //许可证抽屉
      licenceData: {
        row: {},
        chiden: {},
        chiden: {}
      },
      textareaShenpi: "",
@@ -285,7 +280,7 @@
        pageSize: 10,
        currentPage: 1,
        total: 0,
        ...this.$store.state.control.changePageSize,
        ...this.$store.state.control.changePageSize
      },
      selectionList: [],
      option: {
@@ -307,7 +302,7 @@
        selection: true,
        dialogClickModal: false,
        column: column,
        ...this.$store.state.control.clearOtherBut,
        ...this.$store.state.control.clearOtherBut
      },
      data: [],
@@ -316,7 +311,7 @@
      stateText: "",
      dialogVisibleccsee: false,
      userData: "",
      userData: ""
    };
  },
  computed: {
@@ -326,20 +321,20 @@
        addBtn: this.vaildData(this.permission.permit_add, false),
        viewBtn: this.vaildData(this.permission.permit_view, true),
        delBtn: this.vaildData(this.permission.permit_delete, false),
        editBtn: this.vaildData(this.permission.permit_edit, false),
        editBtn: this.vaildData(this.permission.permit_edit, false)
      };
    },
    ids() {
      let ids = [];
      this.selectionList.forEach((ele) => {
      this.selectionList.forEach(ele => {
        ids.push(ele.id);
      });
      return ids.join(",");
    },
    }
  },
  // mounted() {
  //     console.log(this.userInfo.dept_id);
  // },
  mounted() {
    this.$store.commit("setWindowSizeHeightAdd");
  },
  methods: {
    Printhuizhi() {
      this.$Print(this.$refs.licencehuizhi);
@@ -353,7 +348,7 @@
        path: "/attachOnce/index",
        // redirect: { name: "foo" },
        // query: { row: row },
        query: { deptid: row.cardid, type: "3" },
        query: { deptid: row.cardid, type: "3" }
        // params: { row: row.identificationnumber },
      });
    },
@@ -364,11 +359,11 @@
          this.onLoad(this.page);
          this.$message({
            type: "success",
            message: "操作成功!",
            message: "操作成功!"
          });
          done();
        },
        (error) => {
        error => {
          loading();
          window.console.log(error);
        }
@@ -380,11 +375,11 @@
          this.onLoad(this.page);
          this.$message({
            type: "success",
            message: "操作成功!",
            message: "操作成功!"
          });
          done();
        },
        (error) => {
        error => {
          loading();
          console.log(error);
        }
@@ -444,11 +439,11 @@
      }
      // console.log(this.xukezData);
      // return;
      update(this.xukezData).then((res) => {
      update(this.xukezData).then(res => {
        console.log(res);
        this.$message({
          type: "success",
          message: "操作成功!",
          message: "操作成功!"
        });
        this.refreshChange();
        this.textareaShenpi = "";
@@ -488,7 +483,7 @@
      this.$confirm("确定将选择数据删除?", {
        confirmButtonText: "确定",
        cancelButtonText: "取消",
        type: "warning",
        type: "warning"
      })
        .then(() => {
          return remove(this.ids);
@@ -497,14 +492,14 @@
          this.onLoad(this.page);
          this.$message({
            type: "success",
            message: "操作成功!",
            message: "操作成功!"
          });
          this.$refs.crud.toggleSelection();
        });
    },
    beforeOpen(done, type) {
      if (["edit", "view"].includes(type)) {
        getDetail(this.form.id).then((res) => {
        getDetail(this.form.id).then(res => {
          this.form = res.data.data;
        });
      }
@@ -545,12 +540,12 @@
        this.user_name = "派";
      } else if (name == "县局管理员") {
        d = {
          papprove: "1",
          papprove: "1"
        };
        this.user_name = "县";
      } else if (name == "市局管理员") {
        d = {
          xapprove: "1",
          xapprove: "1"
        };
        this.user_name = "市";
      }
@@ -592,7 +587,7 @@
        gonganj == "派出所管理员" ? "2" : gonganj == "县局管理员" ? "1" : "0";
      params = {
        ...params,
        ...this.getFenji(gonganj),
        ...this.getFenji(gonganj)
      };
      console.log(params, "params");
      params["jurisdiction"] = this.userInfo.jurisdiction;
@@ -603,7 +598,7 @@
        page.currentPage,
        page.pageSize,
        Object.assign(params, this.query)
      ).then((res) => {
      ).then(res => {
        const data = res.data.data;
        this.page.total = data.total;
        this.data = data.records;
@@ -624,6 +619,7 @@
        }
        console.log(this.data);
        this.loading = false;
        this.$store.commit("setWindowSizeHeightAdd");
        this.selectionClear();
      });
    },
@@ -631,17 +627,17 @@
      if (row.dtype != null && row.dtype != "") {
        if (row.dtype == "2") {
          return {
            color: "#F34A4A",
            color: "#F34A4A"
          };
        }
        if (row.dtype == "1") {
          return {
            color: "#F48F57",
            color: "#F48F57"
          };
        }
      }
    },
  },
    }
  }
};
</script>
src/views/licenseApproval/securityPermit.vue
@@ -1,92 +1,85 @@
/*
 * @Author: liu
 * @Date: 2021-08-26 16:22:20
 * @Last Modified by: liu
 * @Last Modified time: 2021-11-05 14:52:21
 */
/* * @Author: liu * @Date: 2021-08-26 16:22:20 * @Last Modified by: liu * @Last
Modified time: 2021-11-05 14:52:21 */
<template>
  <div>
    <basic-container
      :class="[
        'permit',
        $store.state.control.windowWidth >= 1024 ? 'oneRowSearch' : '',
      ]"
  <basic-container
    :class="[
      'permit',
      $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"
      :before-open="beforeOpen"
      v-model="form"
      ref="crud"
      @row-update="rowUpdate"
      @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"
      :row-style="rowStyle"
    >
      <avue-crud
        :option="option"
        :table-loading="loading"
        :data="data"
        :page.sync="page"
        :permission="permissionList"
        :before-open="beforeOpen"
        v-model="form"
        ref="crud"
        @row-update="rowUpdate"
        @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"
        :row-style="rowStyle"
      >
        <template slot="menuLeft">
          <el-button
            type="danger"
            size="small"
            icon="el-icon-delete"
            plain
            v-if="permission.permit_delete"
            @click="handleDelete"
            >删 除
          </el-button>
        </template>
        <template slot-scope="{ type, size, row }" slot="menu">
          <el-button
            icon="icon-zhengjian"
            :size="size"
            :type="type"
            class="zhengJian-icon"
            @click.stop="handleCredentials(row)"
            >附件
          </el-button>
          <el-button
            icon="el-icon-edit"
            :size="size"
            :type="type"
            @click.stop="rowDel(row)"
            v-if="row.type == '2' && userData == '0'"
            >许可审批
          </el-button>
          <el-button
            icon="el-icon-edit"
            :size="size"
            :type="type"
            @click.stop="viewLicense(row)"
            v-if="row.type == '0'"
            >打印许可证
          </el-button>
        </template>
        <template class="tdtype" slot-scope="{ row }" slot="type">
          <el-tag class="dtype">
            {{
              row.type == "0" ? "通过" : row.type == "1" ? "不通过" : "待审核"
            }}
            <i class="gz" v-if="row.type == '2'"></i>
            <!--  黄色 -->
            <i class="yj" v-if="row.type == '1'"></i>
            <!--  红色 -->
            <i class="zc" v-if="row.type == '0'"></i>
            <!--  绿色 -->
          </el-tag>
        </template>
      </avue-crud>
    </basic-container>
      <template slot="menuLeft">
        <el-button
          type="danger"
          size="small"
          icon="el-icon-delete"
          plain
          v-if="permission.permit_delete"
          @click="handleDelete"
          >删 除
        </el-button>
      </template>
      <template slot-scope="{ type, size, row }" slot="menu">
        <el-button
          icon="icon-zhengjian"
          :size="size"
          :type="type"
          class="zhengJian-icon"
          @click.stop="handleCredentials(row)"
          >附件
        </el-button>
        <el-button
          icon="el-icon-edit"
          :size="size"
          :type="type"
          @click.stop="rowDel(row)"
          v-if="row.type == '2' && userData == '0'"
          >许可审批
        </el-button>
        <el-button
          icon="el-icon-edit"
          :size="size"
          :type="type"
          @click.stop="viewLicense(row)"
          v-if="row.type == '0'"
          >打印许可证
        </el-button>
      </template>
      <template class="tdtype" slot-scope="{ row }" slot="type">
        <el-tag class="dtype">
          {{ row.type == "0" ? "通过" : row.type == "1" ? "不通过" : "待审核" }}
          <i class="gz" v-if="row.type == '2'"></i>
          <!--  黄色 -->
          <i class="yj" v-if="row.type == '1'"></i>
          <!--  红色 -->
          <i class="zc" v-if="row.type == '0'"></i>
          <!--  绿色 -->
        </el-tag>
      </template>
    </avue-crud>
    <!-- <el-dialog
      :visible.sync="dialogVisible"
@@ -214,7 +207,7 @@
        </div>
      </div>
    </el-dialog>
  </div>
  </basic-container>
</template>
<script>
@@ -223,7 +216,7 @@
  getDetail,
  add,
  update,
  remove,
  remove
} from "@/api/licenseApproval/permit";
import { mapGetters } from "vuex";
import { column } from "./column";
@@ -238,7 +231,7 @@
      dialogVisible: false, //许可证抽屉
      licenceData: {
        row: {},
        chiden: {},
        chiden: {}
      },
      textareaShenpi: "",
@@ -249,7 +242,7 @@
        pageSize: 10,
        currentPage: 1,
        total: 0,
        ...this.$store.state.control.changePageSize,
        ...this.$store.state.control.changePageSize
      },
      selectionList: [],
      option: {
@@ -271,11 +264,11 @@
        selection: true,
        dialogClickModal: false,
        column: column,
        ...this.$store.state.control.clearOtherBut,
        ...this.$store.state.control.clearOtherBut
      },
      data: [],
      userData: "",
      userData: ""
    };
  },
  computed: {
@@ -285,20 +278,20 @@
        addBtn: this.vaildData(this.permission.permit_add, false),
        viewBtn: this.vaildData(this.permission.permit_view, true),
        delBtn: this.vaildData(this.permission.permit_delete, false),
        editBtn: this.vaildData(this.permission.permit_edit, false),
        editBtn: this.vaildData(this.permission.permit_edit, false)
      };
    },
    ids() {
      let ids = [];
      this.selectionList.forEach((ele) => {
      this.selectionList.forEach(ele => {
        ids.push(ele.id);
      });
      return ids.join(",");
    },
    }
  },
  // mounted() {
  //     console.log(this.userInfo.dept_id);
  // },
  mounted() {
    this.$store.commit("setWindowSizeHeightAdd");
  },
  methods: {
    changeuserData() {
      // console.log(this.userInfo, "userDatauserDatauserData");
@@ -333,7 +326,7 @@
        path: "/attachOnce/index",
        // redirect: { name: "foo" },
        // query: { row: row },
        query: { deptid: row.cardid, type: "0" },
        query: { deptid: row.cardid, type: "0" }
        // params: { row: row.identificationnumber },
      });
    },
@@ -344,11 +337,11 @@
          this.onLoad(this.page);
          this.$message({
            type: "success",
            message: "操作成功!",
            message: "操作成功!"
          });
          done();
        },
        (error) => {
        error => {
          loading();
          window.console.log(error);
        }
@@ -360,11 +353,11 @@
          this.onLoad(this.page);
          this.$message({
            type: "success",
            message: "操作成功!",
            message: "操作成功!"
          });
          done();
        },
        (error) => {
        error => {
          loading();
          console.log(error);
        }
@@ -415,7 +408,7 @@
      this.$confirm("确定将选择数据删除?", {
        confirmButtonText: "确定",
        cancelButtonText: "取消",
        type: "warning",
        type: "warning"
      })
        .then(() => {
          return remove(this.ids);
@@ -424,7 +417,7 @@
          this.onLoad(this.page);
          this.$message({
            type: "success",
            message: "操作成功!",
            message: "操作成功!"
          });
          this.$refs.crud.toggleSelection();
        })
@@ -432,7 +425,7 @@
    },
    beforeOpen(done, type) {
      if (["edit", "view"].includes(type)) {
        getDetail(this.form.id).then((res) => {
        getDetail(this.form.id).then(res => {
          this.form = res.data.data;
        });
      }
@@ -474,11 +467,12 @@
        page.currentPage,
        page.pageSize,
        Object.assign(params, this.query)
      ).then((res) => {
      ).then(res => {
        const data = res.data.data;
        this.page.total = data.total;
        this.data = data.records;
        this.loading = false;
        this.$store.commit("setWindowSizeHeightAdd");
        this.selectionClear();
      });
    },
@@ -486,17 +480,17 @@
      if (row.dtype != null && row.dtype != "") {
        if (row.dtype == "2") {
          return {
            color: "#F34A4A",
            color: "#F34A4A"
          };
        }
        if (row.dtype == "1") {
          return {
            color: "#F48F57",
            color: "#F48F57"
          };
        }
      }
    },
  },
    }
  }
};
</script>
src/views/licenseApproval/securityTraining.vue
@@ -1,92 +1,85 @@
/*
 * @Author: liu
 * @Date: 2021-08-26 16:55:25
 * @Last Modified by: liu
 * @Last Modified time: 2021-11-05 14:52:22
 */
/* * @Author: liu * @Date: 2021-08-26 16:55:25 * @Last Modified by: liu * @Last
Modified time: 2021-11-05 14:52:22 */
<template>
  <div>
    <basic-container
      :class="[
        'permit',
        $store.state.control.windowWidth >= 1024 ? 'oneRowSearch' : '',
      ]"
  <basic-container
    :class="[
      'permit',
      $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"
      :before-open="beforeOpen"
      v-model="form"
      ref="crud"
      @row-update="rowUpdate"
      @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"
      :row-style="rowStyle"
    >
      <avue-crud
        :option="option"
        :table-loading="loading"
        :data="data"
        :page.sync="page"
        :permission="permissionList"
        :before-open="beforeOpen"
        v-model="form"
        ref="crud"
        @row-update="rowUpdate"
        @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"
        :row-style="rowStyle"
      >
        <template slot="menuLeft">
          <el-button
            type="danger"
            size="small"
            icon="el-icon-delete"
            plain
            v-if="permission.permit_delete"
            @click="handleDelete"
            >删 除
          </el-button>
        </template>
        <template slot-scope="{ type, size, row }" slot="menu">
          <el-button
            icon="icon-zhengjian"
            :size="size"
            :type="type"
            class="zhengJian-icon"
            @click.stop="handleCredentials(row)"
            >附件
          </el-button>
          <el-button
            icon="el-icon-edit"
            :size="size"
            :type="type"
            @click.stop="rowDel(row)"
            v-if="row.type == '2' && userData == '0'"
            >许可审批
          </el-button>
          <el-button
            icon="el-icon-edit"
            :size="size"
            :type="type"
            @click.stop="viewLicense(row)"
            v-if="row.type == '0'"
            >打印许可证
          </el-button>
        </template>
        <template class="tdtype" slot-scope="{ row }" slot="type">
          <el-tag class="dtype">
            {{
              row.type == "0" ? "通过" : row.type == "1" ? "不通过" : "待审核"
            }}
            <i class="gz" v-if="row.type == '2'"></i>
            <!--  黄色 -->
            <i class="yj" v-if="row.type == '1'"></i>
            <!--  红色 -->
            <i class="zc" v-if="row.type == '0'"></i>
            <!--  绿色 -->
          </el-tag>
        </template>
      </avue-crud>
    </basic-container>
      <template slot="menuLeft">
        <el-button
          type="danger"
          size="small"
          icon="el-icon-delete"
          plain
          v-if="permission.permit_delete"
          @click="handleDelete"
          >删 除
        </el-button>
      </template>
      <template slot-scope="{ type, size, row }" slot="menu">
        <el-button
          icon="icon-zhengjian"
          :size="size"
          :type="type"
          class="zhengJian-icon"
          @click.stop="handleCredentials(row)"
          >附件
        </el-button>
        <el-button
          icon="el-icon-edit"
          :size="size"
          :type="type"
          @click.stop="rowDel(row)"
          v-if="row.type == '2' && userData == '0'"
          >许可审批
        </el-button>
        <el-button
          icon="el-icon-edit"
          :size="size"
          :type="type"
          @click.stop="viewLicense(row)"
          v-if="row.type == '0'"
          >打印许可证
        </el-button>
      </template>
      <template class="tdtype" slot-scope="{ row }" slot="type">
        <el-tag class="dtype">
          {{ row.type == "0" ? "通过" : row.type == "1" ? "不通过" : "待审核" }}
          <i class="gz" v-if="row.type == '2'"></i>
          <!--  黄色 -->
          <i class="yj" v-if="row.type == '1'"></i>
          <!--  红色 -->
          <i class="zc" v-if="row.type == '0'"></i>
          <!--  绿色 -->
        </el-tag>
      </template>
    </avue-crud>
    <!-- <el-dialog
      :visible.sync="dialogVisible"
@@ -214,7 +207,7 @@
        </div>
      </div>
    </el-dialog>
  </div>
  </basic-container>
</template>
<script>
@@ -223,7 +216,7 @@
  getDetail,
  add,
  update,
  remove,
  remove
} from "@/api/licenseApproval/permit";
import { mapGetters } from "vuex";
import { column } from "./column";
@@ -238,7 +231,7 @@
      dialogVisible: false, //许可证抽屉
      licenceData: {
        row: {},
        chiden: {},
        chiden: {}
      },
      textareaShenpi: "",
@@ -249,7 +242,7 @@
        pageSize: 10,
        currentPage: 1,
        total: 0,
        ...this.$store.state.control.changePageSize,
        ...this.$store.state.control.changePageSize
      },
      selectionList: [],
      option: {
@@ -271,10 +264,10 @@
        selection: true,
        dialogClickModal: false,
        column: column,
        ...this.$store.state.control.clearOtherBut,
        ...this.$store.state.control.clearOtherBut
      },
      data: [],
      userData: "",
      userData: ""
    };
  },
  computed: {
@@ -284,20 +277,20 @@
        addBtn: this.vaildData(this.permission.permit_add, false),
        viewBtn: this.vaildData(this.permission.permit_view, true),
        delBtn: this.vaildData(this.permission.permit_delete, false),
        editBtn: this.vaildData(this.permission.permit_edit, false),
        editBtn: this.vaildData(this.permission.permit_edit, false)
      };
    },
    ids() {
      let ids = [];
      this.selectionList.forEach((ele) => {
      this.selectionList.forEach(ele => {
        ids.push(ele.id);
      });
      return ids.join(",");
    },
    }
  },
  // mounted() {
  //     console.log(this.userInfo.dept_id);
  // },
  mounted() {
    this.$store.commit("setWindowSizeHeightAdd");
  },
  methods: {
    changeuserData() {
      // console.log(this.userInfo, "userDatauserDatauserData");
@@ -331,7 +324,7 @@
        path: "/attachOnce/index",
        // redirect: { name: "foo" },
        // query: { row: row },
        query: { deptid: row.cardid, type: "1" },
        query: { deptid: row.cardid, type: "1" }
        // params: { row: row.identificationnumber },
      });
    },
@@ -342,11 +335,11 @@
          this.onLoad(this.page);
          this.$message({
            type: "success",
            message: "操作成功!",
            message: "操作成功!"
          });
          done();
        },
        (error) => {
        error => {
          loading();
          window.console.log(error);
        }
@@ -358,11 +351,11 @@
          this.onLoad(this.page);
          this.$message({
            type: "success",
            message: "操作成功!",
            message: "操作成功!"
          });
          done();
        },
        (error) => {
        error => {
          loading();
          console.log(error);
        }
@@ -413,7 +406,7 @@
      this.$confirm("确定将选择数据删除?", {
        confirmButtonText: "确定",
        cancelButtonText: "取消",
        type: "warning",
        type: "warning"
      })
        .then(() => {
          return remove(this.ids);
@@ -422,14 +415,14 @@
          this.onLoad(this.page);
          this.$message({
            type: "success",
            message: "操作成功!",
            message: "操作成功!"
          });
          this.$refs.crud.toggleSelection();
        });
    },
    beforeOpen(done, type) {
      if (["edit", "view"].includes(type)) {
        getDetail(this.form.id).then((res) => {
        getDetail(this.form.id).then(res => {
          this.form = res.data.data;
        });
      }
@@ -471,11 +464,12 @@
        page.currentPage,
        page.pageSize,
        Object.assign(params, this.query)
      ).then((res) => {
      ).then(res => {
        const data = res.data.data;
        this.page.total = data.total;
        this.data = data.records;
        this.loading = false;
        this.$store.commit("setWindowSizeHeightAdd");
        this.selectionClear();
      });
    },
@@ -483,17 +477,17 @@
      if (row.dtype != null && row.dtype != "") {
        if (row.dtype == "2") {
          return {
            color: "#F34A4A",
            color: "#F34A4A"
          };
        }
        if (row.dtype == "1") {
          return {
            color: "#F48F57",
            color: "#F48F57"
          };
        }
      }
    },
  },
    }
  }
};
</script>
src/views/ownerFeedback/owner.vue
@@ -1,8 +1,12 @@
<template>
  <basic-container
    :class="[$store.state.control.windowWidth >= 1024 ? 'oneRowSearch' : '']"
    :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,7 +58,7 @@
        pageSize: 10,
        currentPage: 1,
        total: 0,
        ...this.$store.state.control.changePageSize,
        ...this.$store.state.control.changePageSize
      },
      selectionList: [],
      option: {
@@ -81,13 +85,13 @@
              {
                required: true,
                message: "请输入服务单位",
                trigger: "blur",
              },
            ],
                trigger: "blur"
              }
            ]
          },
          {
            label: "联系方式",
            prop: "companyContact",
            prop: "companyContact"
          },
          {
            label: "反馈时间",
@@ -105,9 +109,9 @@
              {
                required: true,
                message: "请输入通知时间",
                trigger: "blur",
              },
            ],
                trigger: "blur"
              }
            ]
          },
          {
            label: "反馈时间",
@@ -119,13 +123,13 @@
              {
                required: true,
                message: "请输入反馈时间",
                trigger: "click",
              },
            ],
                trigger: "click"
              }
            ]
          },
          {
            label: "反馈意见",
            prop: "opinion",
            prop: "opinion"
          },
          {
            label: "业主",
@@ -135,25 +139,25 @@
              {
                required: true,
                message: "请输入反馈时间",
                trigger: "click",
              },
            ],
                trigger: "click"
              }
            ]
          },
          {
            label: "业主联系方式",
            prop: "ownerContact",
            prop: "ownerContact"
          },
          {
            label: "备注",
            prop: "remarks",
            prop: "remarks"
          },
          {
            label: "处置结果",
            prop: "result",
          },
        ],
            prop: "result"
          }
        ]
      },
      data: [],
      data: []
    };
  },
  computed: {
@@ -163,16 +167,19 @@
        addBtn: this.vaildData(this.permission.owner_add, false),
        viewBtn: this.vaildData(this.permission.owner_view, false),
        delBtn: this.vaildData(this.permission.owner_delete, false),
        editBtn: this.vaildData(this.permission.owner_edit, false),
        editBtn: this.vaildData(this.permission.owner_edit, false)
      };
    },
    ids() {
      let ids = [];
      this.selectionList.forEach((ele) => {
      this.selectionList.forEach(ele => {
        ids.push(ele.id);
      });
      return ids.join(",");
    },
    }
  },
  mounted() {
    this.$store.commit("setWindowSizeHeightAdd");
  },
  methods: {
    rowSave(row, done, loading) {
@@ -181,11 +188,11 @@
          this.onLoad(this.page);
          this.$message({
            type: "success",
            message: "操作成功!",
            message: "操作成功!"
          });
          done();
        },
        (error) => {
        error => {
          window.console.log(error);
          loading();
        }
@@ -197,11 +204,11 @@
          this.onLoad(this.page);
          this.$message({
            type: "success",
            message: "操作成功!",
            message: "操作成功!"
          });
          done();
        },
        (error) => {
        error => {
          window.console.log(error);
          loading();
        }
@@ -211,7 +218,7 @@
      this.$confirm("确定将选择数据删除?", {
        confirmButtonText: "确定",
        cancelButtonText: "取消",
        type: "warning",
        type: "warning"
      })
        .then(() => {
          return remove(row.id);
@@ -220,7 +227,7 @@
          this.onLoad(this.page);
          this.$message({
            type: "success",
            message: "操作成功!",
            message: "操作成功!"
          });
        });
    },
@@ -249,7 +256,7 @@
      this.$confirm("确定将选择数据删除?", {
        confirmButtonText: "确定",
        cancelButtonText: "取消",
        type: "warning",
        type: "warning"
      })
        .then(() => {
          return remove(this.ids);
@@ -258,14 +265,14 @@
          this.onLoad(this.page);
          this.$message({
            type: "success",
            message: "操作成功!",
            message: "操作成功!"
          });
          this.$refs.crud.toggleSelection();
        });
    },
    beforeOpen(done, type) {
      if (["edit", "view"].includes(type)) {
        getNotice(this.form.id).then((res) => {
        getNotice(this.form.id).then(res => {
          this.form = res.data.data;
        });
      }
@@ -283,29 +290,29 @@
    onLoad(page, params = {}) {
      const { releaseTimeRange } = this.query;
      let values = {
        ...params,
        ...params
      };
      if (releaseTimeRange) {
        values = {
          ...params,
          startTime: releaseTimeRange[0],
          endTime: releaseTimeRange[1],
          ...this.query,
          ...this.query
        };
        values.releaseTimeRange = null;
      }
      this.loading = true;
      getList(page.currentPage, page.pageSize, values).then((res) => {
      getList(page.currentPage, page.pageSize, values).then(res => {
        const data = res.data.data;
        this.page.total = data.total;
        this.data = data.records;
        this.loading = false;
        this.$store.commit("setWindowSizeHeightAdd");
        this.selectionClear();
      });
    },
  },
    }
  }
};
</script>
<style>
</style>
<style></style>
src/views/people/data.js
@@ -1,423 +1,451 @@
//保安员基本信息
export var securityBaseInfoColumn = [{
export var securityBaseInfoColumn = [
  {
    label: "",
    labelWidth: "20",
    type: 'title',
    type: "title",
    prop: "title",
    span: 24,
    styles: {
        fontSize: '24px'
      fontSize: "24px"
    }
},
{
  },
  {
    label: "企业名称",
    prop: "deptName",
    disabled: true,
    span: 24,
},
{
    span: 24
  },
  {
    label: "登录账号",
    prop: "account",
    disabled: true
},
{
  },
  {
    label: "用户姓名",
    prop: "realName",
    disabled: false,
},
{
    disabled: false
  },
  {
    label: "用户昵称",
    prop: "name",
    disabled: false
},
{
  },
  {
    label: "手机号码",
    prop: "phone",
    disabled: false
},
{
  },
  {
    label: "电子邮箱",
    prop: "email",
    disabled: false
},
{
  },
  {
    label: "身份证号",
    prop: "cardid",
    disabled: false
},
{
  },
  {
    label: "籍贯",
    prop: "nativeplace",
    disabled: false
},
{
  },
  {
    label: "民族",
    prop: "nation",
    disabled: false
},
{
  },
  {
    label: "是否持证",
    prop: "hold",
    dicUrl: "/api/blade-system/dict-biz/dictionary?code=equipage",
    props: {
        label: "dictValue",
        value: "dictKey",
      label: "dictValue",
      value: "dictKey"
    },
    type: "select",
    disabled: true
},
{
  },
  {
    label: "保安员证编号",
    prop: "securitynumber",
    disabled: true
},
{
  },
  {
    label: "所属辖区",
    prop: "jurisdiction",
    // multiple: true,
    type: "tree",
    dicUrl: "/api/jurisdiction/lazy-tree",
    props: {
        label: "title",
        value: "id",
      label: "title",
      value: "id"
    },
    disabled: false
},
{
  },
  {
    label: "最高学历",
    prop: "education",
    type: "select",
    dicUrl: "/api/blade-system/dict-biz/dictionary?code=educationType",
    props: {
        label: "dictValue",
        value: "dictKey"
      label: "dictValue",
      value: "dictKey"
    },
    dataType: "number",
    slot: true,
    disabled: false
},
{
  },
  {
    label: "政治面貌",
    prop: "politicaloutlook",
    disabled: false
},
{
  },
  {
    label: "身高",
    prop: "height",
    disabled: false
},
{
  },
  {
    label: "联系地址",
    prop: "address",
    disabled: false
},
{
  },
  {
    label: "户口所在地",
    prop: "registered",
    disabled: false
},
{
  },
  {
    label: "入职时间",
    prop: "rtime",
    type: 'date',
    type: "date",
    format: "yyyy-MM-dd",
    valueFormat: "yyyy-MM-dd",
    disabled: false
},
{
  },
  {
    label: "用户性别",
    prop: "sex",
    type: "select",
    dicData: [{
    dicData: [
      {
        label: "男",
        value: 1
    },
    {
      },
      {
        label: "女",
        value: 2
    },
    {
      },
      {
        label: "未知",
        value: 3
    }
      }
    ],
    disabled: false
},
    // {
    //     label: "用户生日",
    //     type: "date",
    //     prop: "birthday",
    //     disabled: true
    // }
  }
  // {
  //     label: "用户生日",
  //     type: "date",
  //     prop: "birthday",
  //     disabled: true
  // }
];
]
export var securityBaseInfoColumns = [{
export var securityBaseInfoColumns = [
  {
    label: "所属保安单位",
    prop: "tenantId",
    type: "tree",
    dicUrl: "/api/blade-system/tenant/select",
    props: {
        label: "tenantName",
        value: "tenantId"
      label: "tenantName",
      value: "tenantId"
    },
    disabled: true,
    span: 24,
},
{
    span: 24
  },
  {
    label: "登录账号",
    prop: "account",
    disabled: true
},
{
  },
  {
    label: "用户姓名",
    prop: "realName",
    rules: [{
    rules: [
      {
        required: true,
        message: "请输入用户姓名",
        trigger: "blur"
    }, {
      },
      {
        min: 2,
        max: 5,
        message: '姓名长度在2到5个字符'
    }]
},
{
        message: "姓名长度在2到5个字符"
      }
    ]
  },
  {
    label: "用户昵称",
    prop: "name"
},
{
  },
  {
    label: "手机号码",
    prop: "phone",
    overHidden: true,
    rules: [{
    rules: [
      {
        required: true,
        message: "请输入手机号",
        trigger: "blur"
    }]
},
{
      }
    ]
  },
  {
    label: "电子邮箱",
    prop: "email",
    hide: true,
    overHidden: true
},
{
  },
  {
    label: "身份证号",
    prop: "cardid",
    hide: true,
    overHidden: true,
    rules: [{
    rules: [
      {
        required: true,
        message: "请输入身份证号",
        trigger: "blur"
    }]
},
{
      }
    ]
  },
  {
    label: "籍贯",
    prop: "nativeplace",
    hide: true,
    overHidden: true
},
{
  },
  {
    label: "民族",
    prop: "nation",
    hide: true,
    overHidden: true
},
{
  },
  {
    label: "最高学历",
    prop: "education",
    type: "select",
    dicUrl: "/api/blade-system/dict-biz/dictionary?code=educationType",
    props: {
        label: "dictValue",
        value: "dictKey"
      label: "dictValue",
      value: "dictKey"
    },
    dataType: "number",
    slot: true,
    rules: [{
    rules: [
      {
        required: true,
        message: "请选择学历",
        trigger: "blur"
    }]
},
{
      }
    ]
  },
  {
    label: "政治面貌",
    prop: "politicaloutlook",
    hide: true,
    overHidden: true
},
{
  },
  {
    label: "身高",
    prop: "height",
    hide: true,
    overHidden: true
},
{
  },
  {
    label: "联系地址",
    prop: "address",
    hide: true,
    overHidden: true
},
{
  },
  {
    label: "户口所在地",
    prop: "registered",
    hide: true,
    overHidden: true
},
{
  },
  {
    label: "入职时间",
    prop: "rtime",
    type: 'date',
    type: "date",
    format: "yyyy-MM-dd",
    valueFormat: "yyyy-MM-dd",
    hide: true,
    overHidden: true
},
{
  },
  {
    label: "用户性别",
    prop: "sex",
    type: "select",
    dicData: [{
    dicData: [
      {
        label: "男",
        value: 1
    },
    {
      },
      {
        label: "女",
        value: 2
    },
    {
      },
      {
        label: "未知",
        value: 3
    }
      }
    ],
    hide: true
},
{
  },
  {
    label: "用户生日",
    type: "date",
    prop: "birthday",
    hide: true
}
]
  }
];
//从业记录
export var practitionersColumn = [{
export var practitionersColumn = [
  {
    label: "id",
    prop: "id",
    hide: true,
    editDisplay: false,
    addDisplay: false
}, {
    label: '企业名称',
  },
  {
    label: "企业名称",
    prop: "companyname",
    formslot: true,
}, {
    label: '部门',
    formslot: true
  },
  {
    label: "部门",
    prop: "department",
    formslot: true,
}, {
    label: '岗位',
    formslot: true
  },
  {
    label: "岗位",
    prop: "post",
    formslot: true,
}, {
    label: '岗位职责',
    formslot: true
  },
  {
    label: "岗位职责",
    prop: "responsibilities",
    formslot: true,
}, {
    label: '入职时间',
    type: 'date',
    formslot: true
  },
  {
    label: "入职时间",
    type: "date",
    format: "yyyy-MM-dd",
    valueFormat: "yyyy-MM-dd",
    prop: "entrytime",
    formslot: true,
}, {
    label: '离职时间',
    type: 'date',
    formslot: true
  },
  {
    label: "离职时间",
    type: "date",
    format: "yyyy-MM-dd",
    valueFormat: "yyyy-MM-dd",
    prop: "departuretime",
    formslot: true,
}, {
    label: '离职原因',
    formslot: true
  },
  {
    label: "离职原因",
    prop: "leaving",
    formslot: true,
}]
    formslot: true
  }
];
export var practitionersColumns = [{
export var practitionersColumns = [
  {
    width: 200,
    label: '企业名称',
    label: "企业名称",
    prop: "companyname",
    formslot: true,
}, {
    formslot: true
  },
  {
    width: 200,
    label: '部门',
    label: "部门",
    prop: "department",
    formslot: true,
}, {
    formslot: true
  },
  {
    width: 200,
    label: '岗位',
    label: "岗位",
    prop: "post",
    formslot: true,
}, {
    formslot: true
  },
  {
    width: 200,
    label: '岗位职责',
    label: "岗位职责",
    prop: "responsibilities",
    formslot: true,
}, {
    formslot: true
  },
  {
    width: 200,
    label: '入职时间',
    type: 'date',
    label: "入职时间",
    type: "date",
    format: "yyyy-MM-dd",
    valueFormat: "yyyy-MM-dd",
    prop: "entryTime",
    formslot: true,
}, {
    formslot: true
  },
  {
    width: 200,
    label: '离职时间',
    type: 'date',
    label: "离职时间",
    type: "date",
    format: "yyyy-MM-dd",
    valueFormat: "yyyy-MM-dd",
    prop: "departureTime",
    formslot: true,
}, {
    formslot: true
  },
  {
    width: 200,
    label: '离职原因',
    label: "离职原因",
    prop: "leaving",
    formslot: true,
}]
    formslot: true
  }
];
//表现
export var trackRecordColumn = [{
export var trackRecordColumn = [
  {
    label: "id",
    prop: "id",
    hide: true,
    editDisplay: false,
    addDisplay: false
}, {
    label: '时间',
    type: 'date',
  },
  {
    label: "时间",
    type: "date",
    format: "yyyy-MM-dd",
    valueFormat: "yyyy-MM-dd",
    prop: "time",
    formslot: true,
},
// {
//     label: '工作态度',
//     prop: "workingattitude",
//     formslot: true,
// },
{
    label: '工作表现',
    formslot: true
  },
  // {
  //     label: '工作态度',
  //     prop: "workingattitude",
  //     formslot: true,
  // },
  {
    label: "工作表现",
    prop: "achievements",
    formslot: true,
}, {
    label: '表现评定',
    formslot: true
  },
  {
    label: "表现评定",
    prop: "score",
    type: "select",
    // dicUrl: "/api/blade-system/dict-biz/dictionary?code=scoreType",
@@ -425,40 +453,43 @@
    //     label: "dictValue",
    //     value: "dictKey"
    // },
    dicData: [{
    dicData: [
      {
        label: "优秀",
        value: 0
    },
    {
      },
      {
        label: "良好",
        value: 1
    },
    {
      },
      {
        label: "一般",
        value: 2
    },
    {
      },
      {
        label: "差",
        value: 3
    },
      }
    ],
    dataType: "number",
    slot: true,
    rules: [{
    rules: [
      {
        required: true,
        message: "请选择表现",
        trigger: "blur"
    }]
}
    // {
    //     label: '服务公司',
    //     prop: "departmentName",
    //     formslot: true,
    // }
]
      }
    ]
  }
  // {
  //     label: '服务公司',
  //     prop: "departmentName",
  //     formslot: true,
  // }
];
export var securityFormPageColumn = [{
export var securityFormPageColumn = [
  {
    label: "姓名",
    prop: "realName",
    search: true,
@@ -466,45 +497,47 @@
    width: 60,
    searchLabelWidth: 50,
    display: false
},
{
  },
  {
    label: "企业名称",
    searchLabelWidth: "110",
    // prop: "deptName",
    prop: "deptId",
    type: "tree",
    dicUrl: "/api/blade-system/dept/security_lazy-tree?parentId=1413470343230877697",
    dicUrl:
      "/api/blade-system/dept/security_lazy-tree?parentId=1413470343230877697",
    props: {
        label: "title",
        value: "id",
      label: "title",
      value: "id"
    },
    slot: true,
    searchSpan: 5,
    display: false,
    search: true,
    minWidth: 260
},
{
  },
  {
    label: "性别",
    prop: "sex",
    width: 55,
    type: "select",
    dicData: [{
    dicData: [
      {
        label: "男",
        value: 1,
    },
    {
        value: 1
      },
      {
        label: "女",
        value: 2,
    },
    {
        value: 2
      },
      {
        label: "未知",
        value: 3,
    },
        value: 3
      }
    ],
    display: false
},
{
  },
  {
    label: "身份证号码",
    prop: "cardid",
    search: true,
@@ -512,68 +545,70 @@
    searchSpan: 5,
    minWidth: 140,
    display: false
},
  },
{
  {
    label: "籍贯",
    prop: "nativeplace",
    hide: true,
    display: false
},
{
  },
  {
    label: "民族",
    prop: "nation",
    hide: true,
    width: 55,
    display: false
},
  },
{
  {
    label: "出生日期",
    prop: "birthday",
    type: "date",
    format: "yyyy-MM-dd",
    valueFormat: "yyyy-MM-dd",
    display: false,
    hide: true,
},
{
    hide: true
  },
  {
    label: "年龄",
    prop: "age",
    width: 55,
    display: false
},
{
  },
  {
    label: "学历",
    prop: "education",
    display: false,
    width: 90,
    dicUrl: "/api/blade-system/dict-biz/dictionary?code=educationType",
    props: {
        label: "dictValue",
        value: "dictKey"
      label: "dictValue",
      value: "dictKey"
    },
    type: "select",
    // hide: true,
    rules: [{
    rules: [
      {
        required: true,
        message: "请选择学历",
        trigger: "blur"
    }],
},
{
      }
    ]
  },
  {
    label: "联系电话",
    prop: "phone",
    minWidth: 100,
    display: false
},
{
  },
  {
    label: "健康状态",
    prop: "healstats",
    hide: true,
    display: false
},
{
  },
  {
    label: "保安证编号",
    prop: "securitynumber",
    search: true,
@@ -581,46 +616,49 @@
    minWidth: 105,
    searchSpan: 4,
    addDisplay: false,
    editDisplay: false,
    editDisplay: false
    // hide: true,
},
{
  },
  {
    label: "入职时间",
    prop: "rtime",
    hide: true,
    display: false
},
// {
//     label: "是否派遣",
//     prop: "dispatch",
//     // hide: true,
//     type: 'select',
//     // display: false,
//     dicData: [
//         {
//             label: '未派遣',
//             value: 1
//         }, {
//             label: '已派遣',
//             value: 0
//         }
//     ]
// },
{
    label: '是否派遣',
    prop: 'dispatch',
    type: 'select',
  },
  // {
  //     label: "是否派遣",
  //     prop: "dispatch",
  //     // hide: true,
  //     type: 'select',
  //     // display: false,
  //     dicData: [
  //         {
  //             label: '未派遣',
  //             value: 1
  //         }, {
  //             label: '已派遣',
  //             value: 0
  //         }
  //     ]
  // },
  {
    label: "是否派遣",
    prop: "dispatch",
    type: "select",
    editDisplay: false,
    addDisplay: false,
    dicData: [{
        label: '未派遣',
        value: '1'
    }, {
        label: '已派遣',
        value: '0'
    }]
},
{
    dicData: [
      {
        label: "未派遣",
        value: "1"
      },
      {
        label: "已派遣",
        value: "0"
      }
    ]
  },
  {
    label: "是否持证",
    prop: "hold",
    slot: true,
@@ -630,44 +668,46 @@
    display: false,
    dicUrl: "/api/blade-system/dict-biz/dictionary?code=equipage",
    props: {
        label: "dictValue",
        value: "dictKey"
      label: "dictValue",
      value: "dictKey"
    },
    type: "select",
    rules: [{
    rules: [
      {
        required: true,
        message: "请选择",
        trigger: "blur"
    }],
},
      }
    ]
  },
// {
//     label: "入职时间",
//     prop: "rtime",
//     type: "datetime",
//     format: "yyyy-MM-dd",
//     valueFormat: "yyyy-MM-dd",
//     searchRange: true,
//     searchSpan: 6,
//     hide: true,
//     addDisplay: false,
//     editDisplay: false,
//     viewDisplay: false,
//     search: true,
//     rules: [{
//         required: true,
//         message: "请输入时间",
//         trigger: "blur"
//     }]
// },
{
  // {
  //     label: "入职时间",
  //     prop: "rtime",
  //     type: "datetime",
  //     format: "yyyy-MM-dd",
  //     valueFormat: "yyyy-MM-dd",
  //     searchRange: true,
  //     searchSpan: 6,
  //     hide: true,
  //     addDisplay: false,
  //     editDisplay: false,
  //     viewDisplay: false,
  //     search: true,
  //     rules: [{
  //         required: true,
  //         message: "请输入时间",
  //         trigger: "blur"
  //     }]
  // },
  {
    label: "在职状态",
    prop: "status",
    type: "select",
    dicUrl: "/api/blade-system/dict-biz/dictionary?code=workerState",
    props: {
        label: "dictValue",
        value: "dictKey"
      label: "dictValue",
      value: "dictKey"
    },
    dataType: "number",
    searchValue: 1,
@@ -676,10 +716,12 @@
    searchSpan: 3,
    width: 80,
    search: true,
    rules: [{
    rules: [
      {
        required: true,
        message: "请选择在职状态",
        trigger: "blur"
    }]
},
]
      }
    ]
  }
];
src/views/people/expression.vue
@@ -1,17 +1,15 @@
/**
*liu
**/
/** *liu **/
<template>
  <basic-container
    :class="[
      'dispatchChildoperable',
      $store.state.control.windowWidth >= 1024 ? 'oneRowSearch' : '',
      $store.state.control.screenSize == 1366 ? 'smallSize' : 'normalSize',
      $store.state.control.windowWidth >= 1024 ? 'tooRowSearch1' : ''
    ]"
  >
    <avue-crud
      class="tablesss"
      :option="option1"
      :data="data1"
      :page.sync="page1"
@@ -33,7 +31,7 @@
import {
  securityBaseInfoColumn,
  practitionersColumn,
  trackRecordColumn,
  trackRecordColumn
} from "./data";
import { getUserPractitionersInfo } from "@/api/system/user";
import { mapGetters } from "vuex";
@@ -51,7 +49,7 @@
        pageSize: 10,
        currentPage: 1,
        total: 0,
        ...this.$store.state.control.changePageSize,
        ...this.$store.state.control.changePageSize
      },
      query1: {},
      data1: [],
@@ -71,8 +69,8 @@
        headerAlign: "center",
        align: "center",
        column: trackRecordColumn,
        ...this.$store.state.control.clearOtherBut,
      },
        ...this.$store.state.control.clearOtherBut
      }
    };
  },
  computed: {
@@ -80,11 +78,11 @@
    ids1() {
      let ids1 = [];
      this.selectionList1.forEach((ele) => {
      this.selectionList1.forEach(ele => {
        ids1.push(ele.id);
      });
      return ids1.join(",");
    },
    }
  },
  methods: {
    sizeChange1(val) {
@@ -98,15 +96,15 @@
    },
    rowSave1(form, done, loading) {
      adddata1(form).then(
        (res) => {
        res => {
          this.onLoad1(this.page1);
          this.$message({
            type: "success",
            message: "操作成功!",
            message: "操作成功!"
          });
          done();
        },
        (error) => {
        error => {
          window.console.log(error);
          loading();
        }
@@ -129,11 +127,11 @@
          this.onLoad1(this.page1);
          this.$message({
            type: "success",
            message: "操作成功!",
            message: "操作成功!"
          });
          done();
        },
        (error) => {
        error => {
          window.console.log(error);
          loading();
        }
@@ -143,7 +141,7 @@
      this.$confirm("确定将选择数据删除?", {
        confirmButtonText: "确定",
        cancelButtonText: "取消",
        type: "warning",
        type: "warning"
      })
        .then(() => {
          return remove1(row.id);
@@ -152,7 +150,7 @@
          this.onLoad1(this.page1);
          this.$message({
            type: "success",
            message: "操作成功!",
            message: "操作成功!"
          });
        });
    },
@@ -169,7 +167,7 @@
      this.$confirm("确定将选择数据删除?", {
        confirmButtonText: "确定",
        cancelButtonText: "取消",
        type: "warning",
        type: "warning"
      })
        .then(() => {
          return remove1(this.ids1);
@@ -178,7 +176,7 @@
          this.onLoad1(this.page1);
          this.$message({
            type: "success",
            message: "操作成功!",
            message: "操作成功!"
          });
          this.$refs.crudrec1.toggleSelection();
        });
@@ -215,18 +213,20 @@
      params = {
        ...params,
        securityid: cardid,
        securityid: cardid
      };
      getpage(page1.currentPage, page1.pageSize, params).then((res2) => {
      getpage(page1.currentPage, page1.pageSize, params).then(res2 => {
        const data = res2.data.data;
        this.page1.total = data.total;
        this.data1 = data.records;
        console.log(this.data1, 1);
        // console.log(this.data1, 1);
        this.$store.commit("setWindowSizeHeightAdd");
        this.loading1 = false;
      });
    },
    }
  },
  mounted() {
    this.$store.commit("setWindowSizeHeightAdd");
    this.onLoad1(this.page1, this.query1);
    //去掉缓存
    // this.typeTABS = this.optionTABS.column[0];
@@ -261,7 +261,7 @@
    //   // console.log("no");
    //   this.obj0.name = " 未选择派遣单位";
    // }
  },
  }
};
</script>
src/views/people/job.vue
@@ -1,17 +1,15 @@
/**
*liu
**/
/** *liu **/
<template>
  <basic-container
    :class="[
      'dispatchChildoperable',
      $store.state.control.windowWidth >= 1024 ? 'oneRowSearch' : '',
      $store.state.control.screenSize == 1366 ? 'smallSize' : 'normalSize',
      $store.state.control.windowWidth >= 1024 ? 'tooRowSearch1' : ''
    ]"
  >
    <avue-crud
      class="tablesss"
      :option="option1"
      :data="data1"
      :page.sync="page1"
@@ -33,14 +31,14 @@
import {
  securityBaseInfoColumn,
  practitionersColumn,
  trackRecordColumn,
  trackRecordColumn
} from "./data";
import {
  addExperience,
  updateExperience,
  getUserDetails,
  experienceRemove,
  getExperienceList,
  getExperienceList
} from "@/api/experience/experience";
import { mapGetters } from "vuex";
import { add, update, getpage, remove } from "@/api/performance/performance";
@@ -57,7 +55,7 @@
        pageSize: 10,
        currentPage: 1,
        total: 0,
        ...this.$store.state.control.changePageSize,
        ...this.$store.state.control.changePageSize
      },
      query1: {},
      data1: [],
@@ -77,8 +75,8 @@
        headerAlign: "center",
        align: "center",
        column: practitionersColumn,
        ...this.$store.state.control.clearOtherBut,
      },
        ...this.$store.state.control.clearOtherBut
      }
    };
  },
  computed: {
@@ -86,11 +84,11 @@
    ids1() {
      let ids1 = [];
      this.selectionList1.forEach((ele) => {
      this.selectionList1.forEach(ele => {
        ids1.push(ele.id);
      });
      return ids1.join(",");
    },
    }
  },
  methods: {
    sizeChange1(val) {
@@ -104,15 +102,15 @@
    },
    rowSave1(form, done, loading) {
      adddata1(form).then(
        (res) => {
        res => {
          this.onLoad1(this.page1);
          this.$message({
            type: "success",
            message: "操作成功!",
            message: "操作成功!"
          });
          done();
        },
        (error) => {
        error => {
          window.console.log(error);
          loading();
        }
@@ -135,11 +133,11 @@
          this.onLoad1(this.page1);
          this.$message({
            type: "success",
            message: "操作成功!",
            message: "操作成功!"
          });
          done();
        },
        (error) => {
        error => {
          window.console.log(error);
          loading();
        }
@@ -149,7 +147,7 @@
      this.$confirm("确定将选择数据删除?", {
        confirmButtonText: "确定",
        cancelButtonText: "取消",
        type: "warning",
        type: "warning"
      })
        .then(() => {
          return remove1(row.id);
@@ -158,7 +156,7 @@
          this.onLoad1(this.page1);
          this.$message({
            type: "success",
            message: "操作成功!",
            message: "操作成功!"
          });
        });
    },
@@ -175,7 +173,7 @@
      this.$confirm("确定将选择数据删除?", {
        confirmButtonText: "确定",
        cancelButtonText: "取消",
        type: "warning",
        type: "warning"
      })
        .then(() => {
          return remove1(this.ids1);
@@ -184,7 +182,7 @@
          this.onLoad1(this.page1);
          this.$message({
            type: "success",
            message: "操作成功!",
            message: "操作成功!"
          });
          this.$refs.crudrec1.toggleSelection();
        });
@@ -221,20 +219,22 @@
      params = {
        ...params,
        securityid: cardid,
        securityid: cardid
      };
      getExperienceList(page1.currentPage, page1.pageSize, params).then(
        (res2) => {
        res2 => {
          const data = res2.data.data;
          this.page1.total = data.total;
          this.data1 = data.records;
          console.log(this.data1, 1);
          this.$store.commit("setWindowSizeHeightAdd");
          this.loading1 = false;
        }
      );
    },
    }
  },
  mounted() {
    this.$store.commit("setWindowSizeHeightAdd");
    this.onLoad1(this.page1, this.query1);
    //去掉缓存
    // this.typeTABS = this.optionTABS.column[0];
@@ -269,7 +269,7 @@
    //   // console.log("no");
    //   this.obj0.name = " 未选择派遣单位";
    // }
  },
  }
};
</script>
src/views/recruitmentManagement/index.vue
@@ -1,38 +1,38 @@
<template>
  <basic-container>
    <div
      :class="[
        'recruitmentManagement',
        $store.state.control.windowWidth >= 1024 ? 'oneRowSearch' : '',
      ]"
  <basic-container
    :class="[
      'recruitmentManagement',
      $store.state.control.screenSize == 1366 ? 'smallSize' : 'normalSize',
      $store.state.control.windowWidth >= 1024 ? 'tooRowSearch1' : ''
    ]"
  >
    <avue-crud
      class="tablesss"
      :option="option"
      :data="data"
      :page.sync="page"
      ref="crudrec"
      @on-load="onLoad"
      :table-loading="loading"
      @row-save="rowSave"
      @search-change="searchChange"
      @search-reset="searchReset"
      @row-update="rowUpdate"
      @row-del="rowDel"
      @selection-change="selectionChange"
      @refresh-change="refreshChange"
    >
      <avue-crud
        :option="option"
        :data="data"
        :page.sync="page"
        ref="crudrec"
        @on-load="onLoad"
        :table-loading="loading"
        @row-save="rowSave"
        @search-change="searchChange"
        @search-reset="searchReset"
        @row-update="rowUpdate"
        @row-del="rowDel"
        @selection-change="selectionChange"
        @refresh-change="refreshChange"
      >
        <template slot="menuLeft">
          <el-button
            type="danger"
            size="small"
            plain
            icon="el-icon-delete"
            @click="handleDelete"
            >删 除
          </el-button>
        </template>
      </avue-crud>
    </div>
      <template slot="menuLeft">
        <el-button
          type="danger"
          size="small"
          plain
          icon="el-icon-delete"
          @click="handleDelete"
          >删 除
        </el-button>
      </template>
    </avue-crud>
  </basic-container>
</template>
@@ -42,7 +42,7 @@
  getdata,
  adddata,
  update,
  remove,
  remove
} from "@/api/recruitmentManagement/recruitmentManagement";
import { mapGetters } from "vuex";
@@ -55,7 +55,7 @@
        pageSize: 10,
        currentPage: 1,
        total: 0,
        ...this.$store.state.control.changePageSize,
        ...this.$store.state.control.changePageSize
      },
      query: {},
      data: [],
@@ -71,9 +71,9 @@
        align: "center",
        selection: true,
        column: column,
        ...this.$store.state.control.clearOtherBut,
        ...this.$store.state.control.clearOtherBut
      },
      useifid: 266,
      useifid: 266
    };
  },
  created() {
@@ -100,11 +100,11 @@
    ...mapGetters(["userInfo"]),
    ids() {
      let ids = [];
      this.selectionList.forEach((ele) => {
      this.selectionList.forEach(ele => {
        ids.push(ele.id);
      });
      return ids.join(",");
    },
    }
  },
  methods: {
    sizeChange(val) {
@@ -127,15 +127,15 @@
        form["deptId"] = this.useifid;
      }
      adddata(form).then(
        (res) => {
        res => {
          this.onLoad(this.page);
          this.$message({
            type: "success",
            message: "操作成功!",
            message: "操作成功!"
          });
          done();
        },
        (error) => {
        error => {
          window.console.log(error);
          loading();
        }
@@ -161,11 +161,11 @@
          this.onLoad(this.page);
          this.$message({
            type: "success",
            message: "操作成功!",
            message: "操作成功!"
          });
          done();
        },
        (error) => {
        error => {
          window.console.log(error);
          loading();
        }
@@ -175,7 +175,7 @@
      this.$confirm("确定将选择数据删除?", {
        confirmButtonText: "确定",
        cancelButtonText: "取消",
        type: "warning",
        type: "warning"
      })
        .then(() => {
          return remove(row.id);
@@ -184,7 +184,7 @@
          this.onLoad(this.page);
          this.$message({
            type: "success",
            message: "操作成功!",
            message: "操作成功!"
          });
        });
    },
@@ -199,7 +199,7 @@
      this.$confirm("确定将选择数据删除?", {
        confirmButtonText: "确定",
        cancelButtonText: "取消",
        type: "warning",
        type: "warning"
      })
        .then(() => {
          return remove(this.ids);
@@ -208,7 +208,7 @@
          this.onLoad(this.page);
          this.$message({
            type: "success",
            message: "操作成功!",
            message: "操作成功!"
          });
          this.$refs.crudrec.toggleSelection();
        });
@@ -230,23 +230,25 @@
        page.currentPage,
        page.pageSize,
        Object.assign(params, this.query)
      ).then((res) => {
      ).then(res => {
        // console.log(res);
        const data = res.data.data;
        this.page.total = data.total;
        this.data = data.records;
        this.$store.commit("setWindowSizeHeightAdd");
        this.loading = false;
      });
    },
    }
  },
  mounted() {
    this.$store.commit("setWindowSizeHeightAdd");
    // this.Ourdata = data;
    // this.getData();
    // this.onLoad(this.page);
    // var dept_id = JSON.parse(
    //   window.localStorage.getItem("saber-userInfo")
    // ).content.dept_id;
  },
  }
};
</script>
@@ -265,4 +267,4 @@
// .el-tag--light {
//   padding: 0 !important;
// }
</style>
</style>
src/views/resource/attach.vue
@@ -2,10 +2,12 @@
  <basic-container
    :class="[
      'hasButTwo',
      $store.state.control.windowWidth >= 1024 ? 'oneRowSearch' : '',
      $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,7 +110,7 @@
        pageSize: 10,
        currentPage: 1,
        total: 0,
        ...this.$store.state.control.changePageSize,
        ...this.$store.state.control.changePageSize
      },
      attachBox: false,
      selectionList: [],
@@ -133,9 +135,9 @@
              {
                required: true,
                message: "请输入附件地址",
                trigger: "blur",
              },
            ],
                trigger: "blur"
              }
            ]
          },
          {
            label: "附件域名",
@@ -145,9 +147,9 @@
              {
                required: true,
                message: "请输入附件域名",
                trigger: "blur",
              },
            ],
                trigger: "blur"
              }
            ]
          },
          {
            label: "附件名称",
@@ -157,9 +159,9 @@
              {
                required: true,
                message: "请输入附件名称",
                trigger: "blur",
              },
            ],
                trigger: "blur"
              }
            ]
          },
          {
            label: "附件原名",
@@ -169,9 +171,9 @@
              {
                required: true,
                message: "请输入附件原名",
                trigger: "blur",
              },
            ],
                trigger: "blur"
              }
            ]
          },
          {
            label: "附件拓展名",
@@ -180,9 +182,9 @@
              {
                required: true,
                message: "请输入附件拓展名",
                trigger: "blur",
              },
            ],
                trigger: "blur"
              }
            ]
          },
          {
            label: "附件大小",
@@ -192,11 +194,11 @@
              {
                required: true,
                message: "请输入附件大小",
                trigger: "blur",
              },
            ],
          },
        ],
                trigger: "blur"
              }
            ]
          }
        ]
      },
      data: [],
      attachForm: {},
@@ -212,18 +214,18 @@
            loadText: "模板上传中,请稍等",
            span: 24,
            propsHttp: {
              res: "data",
              res: "data"
            },
            action:
              "/api/blade-resource/oss/endpoint/put-file-attach?type=" +
              type +
              "&deptid=" +
              deptid,
          },
        ],
              deptid
          }
        ]
      },
      imgSee: false,
      imgUrl: "",
      imgUrl: ""
    };
  },
  computed: {
@@ -233,18 +235,19 @@
        addBtn: false,
        editBtn: false,
        viewBtn: false,
        delBtn: this.vaildData(this.permission.attach_delete, false),
        delBtn: this.vaildData(this.permission.attach_delete, false)
      };
    },
    ids() {
      let ids = [];
      this.selectionList.forEach((ele) => {
      this.selectionList.forEach(ele => {
        ids.push(ele.id);
      });
      return ids.join(",");
    },
    }
  },
  mounted() {
    this.$store.commit("setWindowSizeHeightAdd");
    var flag = false,
      i = 0,
      ind = null;
@@ -278,7 +281,7 @@
      this.$confirm("确定将选择数据删除?", {
        confirmButtonText: "确定",
        cancelButtonText: "取消",
        type: "warning",
        type: "warning"
      })
        .then(() => {
          return remove(row.id);
@@ -287,7 +290,7 @@
          this.onLoad(this.page);
          this.$message({
            type: "success",
            message: "操作成功!",
            message: "操作成功!"
          });
        });
    },
@@ -299,7 +302,7 @@
      this.$confirm("确定将选择数据删除?", {
        confirmButtonText: "确定",
        cancelButtonText: "取消",
        type: "warning",
        type: "warning"
      })
        .then(() => {
          return remove(this.ids);
@@ -308,14 +311,14 @@
          this.onLoad(this.page);
          this.$message({
            type: "success",
            message: "操作成功!",
            message: "操作成功!"
          });
          this.$refs.crud.toggleSelection();
        });
    },
    beforeOpen(done, type) {
      if (["edit", "view"].includes(type)) {
        getDetail(this.form.id).then((res) => {
        getDetail(this.form.id).then(res => {
          this.form = res.data.data;
        });
      }
@@ -355,11 +358,12 @@
        page.currentPage,
        page.pageSize,
        Object.assign(params, this.query)
      ).then((res) => {
      ).then(res => {
        const data = res.data.data;
        this.page.total = data.total;
        this.data = data.records;
        this.loading = false;
        this.$store.commit("setWindowSizeHeightAdd");
        this.selectionClear();
      });
    },
@@ -385,13 +389,12 @@
          "webp",
          "psd",
          "svg",
          "tiff",
          "tiff"
        ].indexOf(ext.toLowerCase()) == -1
      );
    },
  },
    }
  }
};
</script>
<style>
</style>
<style></style>
src/views/resource/oss.vue
@@ -2,10 +2,12 @@
  <basic-container
    :class="[
      'hasButOne',
      $store.state.control.windowWidth >= 1024 ? 'oneRowSearch' : '',
      $store.state.control.screenSize == 1366 ? 'smallSize' : 'normalSize',
      $store.state.control.windowWidth >= 1024 ? 'tooRowSearch1' : ''
    ]"
  >
    <avue-crud
      class="tablesss"
      :option="option"
      :table-loading="loading"
      :data="data"
@@ -84,7 +86,7 @@
  add,
  update,
  remove,
  enable,
  enable
} from "@/api/resource/oss";
import { mapGetters } from "vuex";
import func from "@/util/func";
@@ -100,7 +102,7 @@
        pageSize: 10,
        currentPage: 1,
        total: 0,
        ...this.$store.state.control.changePageSize,
        ...this.$store.state.control.changePageSize
      },
      selectionList: [],
      option: {
@@ -130,7 +132,7 @@
            dicUrl: "/api/blade-system/dict/dictionary?code=oss",
            props: {
              label: "dictValue",
              value: "dictKey",
              value: "dictKey"
            },
            dataType: "number",
            slot: true,
@@ -140,9 +142,9 @@
              {
                required: true,
                message: "请选择分类",
                trigger: "blur",
              },
            ],
                trigger: "blur"
              }
            ]
          },
          {
            label: "资源编号",
@@ -154,9 +156,9 @@
              {
                required: true,
                message: "请输入资源编号",
                trigger: "blur",
              },
            ],
                trigger: "blur"
              }
            ]
          },
          {
            label: "资源地址",
@@ -166,9 +168,9 @@
              {
                required: true,
                message: "请输入资源地址",
                trigger: "blur",
              },
            ],
                trigger: "blur"
              }
            ]
          },
          {
            label: "空间名",
@@ -179,9 +181,9 @@
              {
                required: true,
                message: "请输入空间名",
                trigger: "blur",
              },
            ],
                trigger: "blur"
              }
            ]
          },
          {
            label: "accessKey",
@@ -194,9 +196,9 @@
              {
                required: true,
                message: "请输入accessKey",
                trigger: "blur",
              },
            ],
                trigger: "blur"
              }
            ]
          },
          {
            label: "secretKey",
@@ -208,23 +210,23 @@
              {
                required: true,
                message: "请输入secretKey",
                trigger: "blur",
              },
            ],
                trigger: "blur"
              }
            ]
          },
          {
            label: "appId",
            prop: "appId",
            span: 24,
            hide: true,
            display: false,
            display: false
          },
          {
            label: "region",
            prop: "region",
            span: 24,
            hide: true,
            display: false,
            display: false
          },
          {
            label: "是否启用",
@@ -235,19 +237,19 @@
            slot: true,
            addDisplay: false,
            editDisplay: false,
            viewDisplay: false,
            viewDisplay: false
          },
          {
            label: "备注",
            prop: "remark",
            span: 24,
            hide: true,
          },
        ],
            hide: true
          }
        ]
      },
      data: [],
      debugForm: {
        code: "",
        code: ""
      },
      debugOption: {
        submitText: "提交",
@@ -256,7 +258,7 @@
            label: "资源编号",
            prop: "code",
            disabled: true,
            span: 24,
            span: 24
          },
          {
            label: "上传背景",
@@ -266,18 +268,18 @@
            action: "/api/blade-resource/oss/endpoint/put-file",
            propsHttp: {
              res: "data",
              url: "link",
              url: "link"
            },
            span: 24,
          },
        ],
      },
            span: 24
          }
        ]
      }
    };
  },
  watch: {
    "form.category"() {
      const category = func.toInt(this.form.category);
      this.$refs.crud.option.column.filter((item) => {
      this.$refs.crud.option.column.filter(item => {
        if (item.prop === "appId") {
          item.display = category === 4;
        }
@@ -289,7 +291,7 @@
    "debugForm.code"() {
      const column = this.findObject(this.debugOption.column, "backgroundUrl");
      column.action = `/api/blade-resource/oss/endpoint/put-file?code=${this.debugForm.code}`;
    },
    }
  },
  computed: {
    ...mapGetters(["userInfo", "permission"]),
@@ -298,16 +300,19 @@
        addBtn: this.vaildData(this.permission.oss_add),
        viewBtn: this.vaildData(this.permission.oss_view),
        delBtn: this.vaildData(this.permission.oss_delete),
        editBtn: this.vaildData(this.permission.oss_edit),
        editBtn: this.vaildData(this.permission.oss_edit)
      };
    },
    ids() {
      let ids = [];
      this.selectionList.forEach((ele) => {
      this.selectionList.forEach(ele => {
        ids.push(ele.id);
      });
      return ids.join(",");
    },
    }
  },
  mounted() {
    this.$store.commit("setWindowSizeHeightAdd");
  },
  methods: {
    rowSave(row, done, loading) {
@@ -316,11 +321,11 @@
          this.onLoad(this.page);
          this.$message({
            type: "success",
            message: "操作成功!",
            message: "操作成功!"
          });
          done();
        },
        (error) => {
        error => {
          window.console.log(error);
          loading();
        }
@@ -332,11 +337,11 @@
          this.onLoad(this.page);
          this.$message({
            type: "success",
            message: "操作成功!",
            message: "操作成功!"
          });
          done();
        },
        (error) => {
        error => {
          window.console.log(error);
          loading();
        }
@@ -346,7 +351,7 @@
      this.$confirm("确定将选择数据删除?", {
        confirmButtonText: "确定",
        cancelButtonText: "取消",
        type: "warning",
        type: "warning"
      })
        .then(() => {
          return remove(row.id);
@@ -355,7 +360,7 @@
          this.onLoad(this.page);
          this.$message({
            type: "success",
            message: "操作成功!",
            message: "操作成功!"
          });
        });
    },
@@ -380,7 +385,7 @@
      this.$confirm("是否确定启用这条配置?", {
        confirmButtonText: "确定",
        cancelButtonText: "取消",
        type: "warning",
        type: "warning"
      })
        .then(() => {
          return enable(row.id);
@@ -389,7 +394,7 @@
          this.onLoad(this.page);
          this.$message({
            type: "success",
            message: "操作成功!",
            message: "操作成功!"
          });
          this.$refs.crud.toggleSelection();
        });
@@ -402,7 +407,7 @@
    handleSubmit(form, done) {
      this.$message({
        type: "success",
        message: `获取到图片地址:[${form.backgroundUrl}]`,
        message: `获取到图片地址:[${form.backgroundUrl}]`
      });
      done();
    },
@@ -414,7 +419,7 @@
      this.$confirm("确定将选择数据删除?", {
        confirmButtonText: "确定",
        cancelButtonText: "取消",
        type: "warning",
        type: "warning"
      })
        .then(() => {
          return remove(this.ids);
@@ -423,14 +428,14 @@
          this.onLoad(this.page);
          this.$message({
            type: "success",
            message: "操作成功!",
            message: "操作成功!"
          });
          this.$refs.crud.toggleSelection();
        });
    },
    beforeOpen(done, type) {
      if (["edit", "view"].includes(type)) {
        getDetail(this.form.id).then((res) => {
        getDetail(this.form.id).then(res => {
          this.form = res.data.data;
        });
      }
@@ -451,14 +456,15 @@
        page.currentPage,
        page.pageSize,
        Object.assign(params, this.query)
      ).then((res) => {
      ).then(res => {
        const data = res.data.data;
        this.page.total = data.total;
        this.data = data.records;
        this.loading = false;
        this.$store.commit("setWindowSizeHeightAdd");
        this.selectionClear();
      });
    },
  },
    }
  }
};
</script>
src/views/securityAnalysis/child/assignment copy.vue
@@ -1,38 +1,39 @@
<template>
  <basic-container>
    <div
      :class="[
        'dispatchChildoperable',
        $store.state.control.windowWidth >= 1024 ? 'oneRowSearch' : '',
      ]"
  <basic-container
    :class="[
      'dispatchChildoperable',
      $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="form1"
      :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
        :option="option1"
        :data="data1"
        :page.sync="page1"
        ref="crudrec1"
        v-model="form1"
        :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"
      >
        <template slot-scope="{ type, row }" slot="menu">
          <el-button
            icon="el-icon-check"
            size="small"
            :type="type"
            @click="openClick(row, page2)"
            >派遣轨迹</el-button
          >
        </template>
      </avue-crud>
    </div>
      <template slot-scope="{ type, row }" slot="menu">
        <el-button
          icon="el-icon-check"
          size="small"
          :type="type"
          @click="openClick(row, page2)"
          >派遣轨迹</el-button
        >
      </template>
    </avue-crud>
    <el-dialog
      title="提示"
      :visible.sync="dialogVisible"
@@ -78,7 +79,7 @@
  update1,
  remove1,
  getDispatcherUnitByDeptId,
  overDispatcher,
  overDispatcher
} from "@/api/dispatch/dispatch";
import { update, getListByDeptId } from "@/api/system/user";
import { mapState } from "vuex";
@@ -100,7 +101,7 @@
        pageSize: 10,
        currentPage: 1,
        total: 0,
        ...this.$store.state.control.changePageSize,
        ...this.$store.state.control.changePageSize
      },
      form1: {},
      query1: {},
@@ -135,7 +136,7 @@
            // searchSpan: 4,
            minWidth: 210,
            addDisplay: false,
            editDisplay: false,
            editDisplay: false
          },
          {
            label: "保安公司",
@@ -147,7 +148,7 @@
            cascaderItem: ["userIds"],
            props: {
              label: "title",
              value: "id",
              value: "id"
            },
            width: 180,
            dicUrl: `/api/blade-system/dept/security_lazy-tree?parentId=1413470343230877697`,
@@ -155,9 +156,9 @@
              {
                required: true,
                message: "请输入保安公司",
                trigger: "blur",
              },
            ],
                trigger: "blur"
              }
            ]
          },
          {
            label: "派遣单位",
@@ -167,7 +168,7 @@
            // dicUrl: "/api/dispatcherUnit/page-tree?deptId={{key}}",
            props: {
              label: "name",
              value: "id",
              value: "id"
            },
            hide: true,
            searchSpan: 4,
@@ -178,9 +179,9 @@
              {
                required: true,
                message: "请输入派遣单位",
                trigger: "blur",
              },
            ],
                trigger: "blur"
              }
            ]
          },
          {
            label: "保安员",
@@ -193,7 +194,7 @@
            hide: true,
            props: {
              label: "realName",
              value: "id",
              value: "id"
            },
            // dicUrl: `/api/blade-user/page-security-units?dispatch=1&deptId={{key}}`,
            dicUrl: `/api/blade-user/page-security-units?status=1&deptId={{key}}`,
@@ -202,9 +203,9 @@
              {
                required: true,
                message: "请选择保安",
                trigger: "blur",
              },
            ],
                trigger: "blur"
              }
            ]
          },
          {
            label: "保安员",
@@ -225,9 +226,9 @@
              {
                required: true,
                message: "请选择保安",
                trigger: "blur",
              },
            ],
                trigger: "blur"
              }
            ]
          },
          {
@@ -241,9 +242,9 @@
              {
                required: true,
                message: "请输入身份证",
                trigger: "click",
              },
            ],
                trigger: "click"
              }
            ]
            // search: true,
            // searchSpan: 4,
            // overHidden: true
@@ -263,9 +264,9 @@
              {
                required: true,
                message: "请输入派遣地址",
                trigger: "click",
              },
            ],
                trigger: "click"
              }
            ]
            // search: true,
            // searchSpan: 4,
            // overHidden: true
@@ -284,9 +285,9 @@
              {
                required: true,
                message: "请输入派遣时间",
                trigger: "click",
              },
            ],
                trigger: "click"
              }
            ]
            // overHidden: true
          },
          {
@@ -301,9 +302,9 @@
              {
                required: true,
                message: "请输入结束时间",
                trigger: "click",
              },
            ],
                trigger: "click"
              }
            ]
            // search: true,
            // searchSpan: 4,
            // overHidden: true
@@ -326,11 +327,11 @@
              {
                required: true,
                message: "请输入时间",
                trigger: "blur",
              },
            ],
          },
        ],
                trigger: "blur"
              }
            ]
          }
        ]
      },
      loading2: true, //单个人派遣记录
      vals: [],
@@ -339,7 +340,7 @@
        pageSize: 10,
        currentPage: 1,
        total: 0,
        ...this.$store.state.control.changePageSize,
        ...this.$store.state.control.changePageSize
      },
      form2: {},
      query2: {},
@@ -373,7 +374,7 @@
            // searchSpan: 4,
            minWidth: 210,
            addDisplay: false,
            editDisplay: false,
            editDisplay: false
          },
          {
            label: "保安公司",
@@ -385,7 +386,7 @@
            cascaderItem: ["userIds"],
            props: {
              label: "title",
              value: "id",
              value: "id"
            },
            width: 180,
            dicUrl: `/api/blade-system/dept/security_lazy-tree?parentId=1413470343230877697`,
@@ -393,9 +394,9 @@
              {
                required: true,
                message: "请输入保安公司",
                trigger: "blur",
              },
            ],
                trigger: "blur"
              }
            ]
          },
          {
            label: "派遣单位",
@@ -405,7 +406,7 @@
            // dicUrl: "/api/dispatcherUnit/page-tree?deptId={{key}}",
            props: {
              label: "name",
              value: "id",
              value: "id"
            },
            hide: true,
            searchSpan: 4,
@@ -416,9 +417,9 @@
              {
                required: true,
                message: "请输入派遣单位",
                trigger: "blur",
              },
            ],
                trigger: "blur"
              }
            ]
          },
          {
            label: "保安员",
@@ -431,7 +432,7 @@
            hide: true,
            props: {
              label: "realName",
              value: "id",
              value: "id"
            },
            // dicUrl: `/api/blade-user/page-security-units?dispatch=1&deptId={{key}}`,
            dicUrl: `/api/blade-user/page-security-units?status=1&deptId={{key}}`,
@@ -440,9 +441,9 @@
              {
                required: true,
                message: "请选择保安",
                trigger: "blur",
              },
            ],
                trigger: "blur"
              }
            ]
          },
          {
            label: "保安员",
@@ -463,9 +464,9 @@
              {
                required: true,
                message: "请选择保安",
                trigger: "blur",
              },
            ],
                trigger: "blur"
              }
            ]
          },
          {
@@ -479,9 +480,9 @@
              {
                required: true,
                message: "请输入身份证",
                trigger: "click",
              },
            ],
                trigger: "click"
              }
            ]
            // search: true,
            // searchSpan: 4,
            // overHidden: true
@@ -501,9 +502,9 @@
              {
                required: true,
                message: "请输入派遣地址",
                trigger: "click",
              },
            ],
                trigger: "click"
              }
            ]
            // search: true,
            // searchSpan: 4,
            // overHidden: true
@@ -522,9 +523,9 @@
              {
                required: true,
                message: "请输入派遣时间",
                trigger: "click",
              },
            ],
                trigger: "click"
              }
            ]
            // overHidden: true
          },
          {
@@ -539,9 +540,9 @@
              {
                required: true,
                message: "请输入结束时间",
                trigger: "click",
              },
            ],
                trigger: "click"
              }
            ]
            // search: true,
            // searchSpan: 4,
            // overHidden: true
@@ -564,12 +565,12 @@
              {
                required: true,
                message: "请输入时间",
                trigger: "blur",
              },
            ],
          },
        ],
      },
                trigger: "blur"
              }
            ]
          }
        ]
      }
    };
  },
  created() {
@@ -589,17 +590,17 @@
    // },
    ids1() {
      let ids1 = [];
      this.selectionList1.forEach((ele) => {
      this.selectionList1.forEach(ele => {
        ids1.push(ele.id);
      });
      return ids1.join(",");
    },
    ...mapState({
      userInfo: (state) => state.user.userInfo,
      userInfo: state => state.user.userInfo
    }),
    deps() {
      return this.form.deptId;
    },
    }
  },
  methods: {
@@ -616,13 +617,13 @@
          ...params,
          beginTime: releaseTimeRange[0],
          overTime: releaseTimeRange[1],
          ...this.query,
          ...this.query
        };
        values.releaseTimeRange = null;
      } else {
        values = {
          ...params,
          ...this.query,
          ...this.query
        };
      }
@@ -647,7 +648,7 @@
        page.pageSize,
        // Object.assign(params, this.query2)
        values
      ).then((res) => {
      ).then(res => {
        const data = res.data.data;
        this.page2.total = data.total;
        this.data2 = data.records;
@@ -674,16 +675,16 @@
      // }
      adddata1(form).then(
        (res) => {
        res => {
          this.refreshChange2();
          this.onLoad1(this.page1);
          this.$message({
            type: "success",
            message: "操作成功!",
            message: "操作成功!"
          });
          done();
        },
        (error) => {
        error => {
          window.console.log(error);
          loading();
        }
@@ -705,11 +706,11 @@
          this.onLoad1(this.page1);
          this.$message({
            type: "success",
            message: "操作成功!",
            message: "操作成功!"
          });
          done();
        },
        (error) => {
        error => {
          window.console.log(error);
          loading();
        }
@@ -719,7 +720,7 @@
      this.$confirm("确定结束当前派遣?", {
        confirmButtonText: "确定",
        cancelButtonText: "取消",
        type: "warning",
        type: "warning"
      })
        .then(() => {
          console.log(row);
@@ -730,7 +731,7 @@
          this.onLoad1(this.page1);
          this.$message({
            type: "success",
            message: "操作成功!",
            message: "操作成功!"
          });
        });
    },
@@ -767,15 +768,15 @@
      // }
      adddata1(form).then(
        (res) => {
        res => {
          this.onLoad1(this.page1);
          this.$message({
            type: "success",
            message: "操作成功!",
            message: "操作成功!"
          });
          done();
        },
        (error) => {
        error => {
          window.console.log(error);
          loading();
        }
@@ -802,11 +803,11 @@
          this.onLoad1(this.page1);
          this.$message({
            type: "success",
            message: "操作成功!",
            message: "操作成功!"
          });
          done();
        },
        (error) => {
        error => {
          window.console.log(error);
          loading();
        }
@@ -816,7 +817,7 @@
      this.$confirm("确定结束当前派遣?", {
        confirmButtonText: "确定",
        cancelButtonText: "取消",
        type: "warning",
        type: "warning"
      })
        .then(() => {
          return overDispatcher(row);
@@ -825,7 +826,7 @@
          this.onLoad1(this.page1);
          this.$message({
            type: "success",
            message: "操作成功!",
            message: "操作成功!"
          });
        });
    },
@@ -842,7 +843,7 @@
      this.$confirm("确定将选择数据删除?", {
        confirmButtonText: "确定",
        cancelButtonText: "取消",
        type: "warning",
        type: "warning"
      })
        .then(() => {
          return remove1(this.ids1);
@@ -851,7 +852,7 @@
          this.onLoad1(this.page1);
          this.$message({
            type: "success",
            message: "操作成功!",
            message: "操作成功!"
          });
          this.$refs.crudrec1.toggleSelection();
        });
@@ -911,14 +912,14 @@
          beginTime: releaseTimeRange[0],
          overTime: releaseTimeRange[1],
          ...this.query,
          ...this.card,
          ...this.card
        };
        values.releaseTimeRange = null;
      } else {
        values = {
          ...params,
          ...this.query,
          ...this.card,
          ...this.card
        };
      }
@@ -937,10 +938,11 @@
        page.pageSize,
        // Object.assign(params, this.query)
        values
      ).then((res) => {
      ).then(res => {
        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);
@@ -949,7 +951,7 @@
    initData(type, d = 1) {
      var that = this;
      if (type == 1) {
        getDispatcherUnitByDeptId(null).then((res) => {
        getDispatcherUnitByDeptId(null).then(res => {
          const dispatcherUnitIdColumn = that.findObject(
            this["option" + d].column,
            "dispatcherUnitId"
@@ -959,14 +961,14 @@
        });
      }
      if (type == 2) {
        getDispatcherUnitByDeptId(that.userInfo.dept_id).then((res) => {
        getDispatcherUnitByDeptId(that.userInfo.dept_id).then(res => {
          const dispatcherUnitIdColumn = that.findObject(
            this["option" + d].column,
            "dispatcherUnitId"
          );
          dispatcherUnitIdColumn.dicData = res.data.data;
        });
        getListByDeptId(that.userInfo.dept_id, 1).then((res) => {
        getListByDeptId(that.userInfo.dept_id, 1).then(res => {
          const userIdsColumn = that.findObject(
            this["option" + d].column,
            "userIds"
@@ -974,7 +976,7 @@
          userIdsColumn.dicData = res.data.data;
        });
      }
    },
    }
  },
  //  watch: {
  //   // "form.deptId"() {
@@ -985,8 +987,9 @@
  //   }
  // },
  mounted() {
    this.onLoad1(this.page1, this.query1);
  },
    this.$store.commit("setWindowSizeHeightAdd");
    // this.onLoad1(this.page1, this.query1);
  }
};
</script>
src/views/securityAnalysis/child/assignment.vue
@@ -2,15 +2,17 @@
  <div
    :class="[
      'certificateTJ',
      $store.state.control.windowWidth >= 1024 ? 'oneRowSearch' : '',
      $store.state.control.screenSize == 1366 ? 'smallSize' : 'normalSize',
      $store.state.control.windowWidth >= 1024 ? 'tooRowSearch1' : ''
    ]"
  >
    <avue-crud
      class="tablesss"
      :option="option1"
      :data="data1"
      :page.sync="page1"
      :table-loading="loading1"
      @on-load="getPractitionersPageInfo(page1)"
      @on-load="getPractitionersPageInfo"
      @search-change="searchChange"
      @search-reset="searchReset"
      @refresh-change="refreshChange"
@@ -46,7 +48,7 @@
        pageSize: 10,
        currentPage: 1,
        total: 0,
        ...this.$store.state.control.changePageSize,
        ...this.$store.state.control.changePageSize
      },
      query1: {},
      data1: [],
@@ -76,7 +78,7 @@
            searchLabelWidth: "50",
            overHidden: true,
            searchSpan: 4,
            search: true,
            search: true
          },
          {
            label: "企业名称",
@@ -87,14 +89,14 @@
            dicUrl: dicUrl,
            props: {
              label: "title",
              value: "id",
              value: "id"
            },
            // hide: true,
            // slot: true,
            searchSpan: 4,
            display: false,
            search: search,
            minWidth: 220,
            minWidth: 220
          },
          {
            label: "性别",
@@ -103,74 +105,78 @@
            dicData: [
              {
                label: "男",
                value: 1,
                value: 1
              },
              {
                label: "女",
                value: 2,
                value: 2
              },
              {
                label: "未知",
                value: 3,
              },
                value: 3
              }
            ],
            display: false,
            display: false
          },
          {
            label: "身份证号码",
            prop: "cardid",
            search: true,
            searchLabelWidth: 90,
            searchSpan: 5,
            searchSpan: 5
          },
          {
            label: "年龄",
            prop: "age",
            prop: "age"
          },
          {
            label: "年龄",
            prop: "ageType",
            type: "select",
            hide:true,
            search:true,
            searchSpan:4,
            dicData:[
            hide: true,
            search: true,
            searchSpan: 4,
            dicData: [
              {
                label:"全部",
                value:4
                label: "全部",
                value: 4
              },
              {
                label:"18-30周岁",
                value:1
                label: "18-30周岁",
                value: 1
              },
              {
                label:"30-45周岁",
                value:2
                label: "30-45周岁",
                value: 2
              },
              {
                label:"45-60周岁",
                value:3
              },
                label: "45-60周岁",
                value: 3
              }
            ],
            rules: [
              {
                required: true,
                message: "请选择年龄",
                trigger: "blur",
              },
            ],
                trigger: "blur"
              }
            ]
          },
          {
            label: "联系电话",
            prop: "phone",
            display: false,
          },
        ],
      },
            display: false
          }
        ]
      }
    };
  },
  mounted() {
    this.$store.commit("setWindowSizeHeightAdd");
  },
  methods: {
    getPractitionersPageInfo(page, params = {}) {
      this.loading1 = true;
      if (this.card.jurisdiction == 1372091709474910209) {
        this.card.jurisdiction = "";
      }
@@ -179,13 +185,14 @@
        ...this.card,
        ...params,
        status: 1,
        ...this.query1,
        ...this.query1
      };
      getList(page.currentPage, page.pageSize, params).then((res) => {
      getList(page.currentPage, page.pageSize, params).then(res => {
        // console.log(res.data.data.records);
        const data = res.data.data;
        this.data1 = data.records;
        this.page1.total = data.total;
        this.$store.commit("setWindowSizeHeightAdd");
        this.loading1 = false;
      });
    },
@@ -202,10 +209,9 @@
      this.query1 = {};
      this.page1.currentPage = 1;
      this.refreshChange();
    },
  },
    }
  }
};
</script>
<style scoped>
</style>
<style scoped></style>
src/views/securityAnalysis/child/certificate.vue
@@ -2,17 +2,19 @@
  <div
    :class="[
      'certificateTJ',
      $store.state.control.windowWidth >= 1024 ? 'oneRowSearch' : '',
      $store.state.control.screenSize == 1366 ? 'smallSize' : 'normalSize',
      $store.state.control.windowWidth >= 1024 ? 'tooRowSearch1' : ''
    ]"
  >
    <avue-crud
      class="tablesss"
      :option="option1"
      :data="data1"
      :page.sync="page1"
      :search.sync="search"
      :table-loading="loading1"
       @sort-change="sortChange"
      @on-load="getPractitionersPageInfo(page1)"
      @sort-change="sortChange"
      @on-load="getPractitionersPageInfo"
      @search-change="searchChange"
      @search-reset="searchReset"
      @refresh-change="refreshChange"
@@ -49,10 +51,10 @@
        pageSize: 10,
        currentPage: 1,
        total: 0,
        ...this.$store.state.control.changePageSize,
        ...this.$store.state.control.changePageSize
      },
      query1: {},
      search:{},
      search: {},
      data1: [],
      option1: {
        addBtn: false,
@@ -81,7 +83,7 @@
            width: 80,
            overHidden: true,
            searchSpan: 3,
            search: true,
            search: true
          },
          {
            label: "企业名称",
@@ -89,16 +91,16 @@
            // prop: "deptName",
            prop: "deptId",
            type: "tree",
            sortable:true,
            sortable: true,
            dicUrl: dicUrl,
            props: {
              label: "title",
              value: "id",
              value: "id"
            },
            searchSpan: 5,
            display: false,
            search: true,
            minWidth: 220,
            minWidth: 220
          },
          {
            label: "性别",
@@ -108,18 +110,18 @@
            dicData: [
              {
                label: "男",
                value: 1,
                value: 1
              },
              {
                label: "女",
                value: 2,
                value: 2
              },
              {
                label: "未知",
                value: 3,
              },
                value: 3
              }
            ],
            display: false,
            display: false
          },
          {
            label: "身份证号码",
@@ -128,7 +130,7 @@
            searchLabelWidth: 90,
            searchSpan: 5,
            minWidth: 140,
            display: false,
            display: false
          },
          {
            label: "学历",
@@ -138,7 +140,7 @@
            dicUrl: "/api/blade-system/dict-biz/dictionary?code=educationType",
            props: {
              label: "dictValue",
              value: "dictKey",
              value: "dictKey"
            },
            type: "select",
            // hide: true,
@@ -146,15 +148,15 @@
              {
                required: true,
                message: "请选择学历",
                trigger: "blur",
              },
            ],
                trigger: "blur"
              }
            ]
          },
          {
            label: "联系电话",
            prop: "phone",
            minWidth: 100,
            display: false,
            display: false
          },
          {
            label: "是否持证",
@@ -167,31 +169,34 @@
            dicData: [
              {
                label: "持证",
                value: "1",
                value: "1"
              },
              {
                label: "未持证",
                value: "2",
                value: "2"
              },
              {
                label: "已吊销",
                value: "3",
              },
            ],
                value: "3"
              }
            ]
          },
          {
            label: "保安证编号",
            prop: "securitynumber",
            disabled: true,
            disabled: true
          },
          {
            label: "发证时间",
            prop: "paperTime",
            disabled: true,
          },
        ],
      },
            disabled: true
          }
        ]
      }
    };
  },
  mounted() {
    this.$store.commit("setWindowSizeHeightAdd");
  },
  methods: {
    //排序
@@ -218,9 +223,9 @@
      params = this.search;
      var that = this;
      if (this.card.jurisdiction == 1372091709474910209) {
        params['jurisdiction'] = "";
      }else{
        params['jurisdiction'] = this.card.jurisdiction;
        params["jurisdiction"] = "";
      } else {
        params["jurisdiction"] = this.card.jurisdiction;
      }
      if (this.sort) {
        params["sort"] = this.sort;
@@ -228,17 +233,18 @@
      if (this.sortName) {
        params["sortName"] = this.sortName;
      }
      params['status'] = 1;
      params["status"] = 1;
      params = {
        ...params,
        ...this.query1,
        ...this.query1
      };
      getList(page.currentPage, page.pageSize, params).then((res) => {
      getList(page.currentPage, page.pageSize, params).then(res => {
        const data = res.data.data;
        this.data1 = data.records;
        this.page1.total = data.total;
        this.loading1 = false;
        this.$store.commit("setWindowSizeHeightAdd");
        that.selectionClear();
      });
    },
@@ -254,10 +260,9 @@
    searchReset() {
      this.query = {};
      this.getPractitionersPageInfo(this.page1, this.query1);
    },
  },
    }
  }
};
</script>
<style scoped>
</style>
<style scoped></style>
src/views/securityAnalysis/child/dispatch.vue
@@ -2,15 +2,17 @@
  <div
    :class="[
      'certificateTJ',
      $store.state.control.windowWidth >= 1024 ? 'oneRowSearch' : '',
      $store.state.control.screenSize == 1366 ? 'smallSize' : 'normalSize',
      $store.state.control.windowWidth >= 1024 ? 'tooRowSearch1' : ''
    ]"
  >
    <avue-crud
      class="tablesss"
      :option="option1"
      :data="data1"
      :page.sync="page1"
      :table-loading="loading1"
      @on-load="getPractitionersPageInfo(page1)"
      @on-load="getPractitionersPageInfo"
      @search-change="searchChange"
      @search-reset="searchReset"
      @refresh-change="refreshChange"
@@ -45,7 +47,7 @@
        pageSize: 10,
        currentPage: 1,
        total: 0,
        ...this.$store.state.control.changePageSize,
        ...this.$store.state.control.changePageSize
      },
      query1: {},
      data1: [],
@@ -78,7 +80,7 @@
            searchSpan: 5,
            width: 210,
            // span: 12,
            labelWidth: 118,
            labelWidth: 118
          },
          // {
          //   label: "派遣单位地址",
@@ -99,7 +101,7 @@
            dicUrl: dicUrl,
            props: {
              label: "title",
              value: "id",
              value: "id"
            },
            // hide: true,
            // hide: !website.tenantMode,
@@ -110,14 +112,14 @@
              {
                required: true,
                message: "请选择保安公司",
                trigger: "click",
              },
                trigger: "click"
              }
            ],
            labelWidth: 118,
            width: 230,
            searchLabelWidth: 80,
            search: search,
            searchSpan: 5,
            searchSpan: 5
            // editDisplay: false,
            // addDisplay: false,
            // hide: true,
@@ -166,7 +168,7 @@
            searchSpan: 4,
            overHidden: true,
            // span: 12,
            labelWidth: 118,
            labelWidth: 118
          },
          {
            label: "合同生效时间",
@@ -187,18 +189,18 @@
              {
                required: true,
                message: "请输入时间",
                trigger: "blur",
              },
            ],
                trigger: "blur"
              }
            ]
          },
          {
            label: "合同开始时间",
            prop: "startTime",
            labelWidth: 118,
            type: "date",
            format: "yyyy-MM-dd",
            valueFormat: "yyyy-MM-dd",
            valueFormat: "yyyy-MM-dd"
            // search: true,
            // searchSpan: 4,
            // overHidden: true
@@ -209,7 +211,7 @@
            labelWidth: 118,
            type: "date",
            format: "yyyy-MM-dd",
            valueFormat: "yyyy-MM-dd",
            valueFormat: "yyyy-MM-dd"
            // search: true,
            // searchSpan: 4,
            // overHidden: true
@@ -218,18 +220,18 @@
            label: " 派遣人数",
            prop: "snum",
            labelWidth: 118,
            width:90
            width: 90
          },
          {
            label: " 负责人",
            prop: "linkman",
            labelWidth: 118,
            labelWidth: 118
          },
          {
            label: "负责人联系方式",
            prop: "phone",
            labelWidth: 118,
            width: 110,
            width: 110
          },
          {
            label: "所属辖区",
@@ -244,7 +246,7 @@
            dicUrl: "/api/jurisdiction/lazy-tree",
            props: {
              label: "title",
              value: "id",
              value: "id"
            },
            checkStrictly: true,
            slot: true,
@@ -252,9 +254,9 @@
              {
                required: true,
                message: "请选择所属辖区",
                trigger: "click",
              },
            ],
                trigger: "click"
              }
            ]
          },
          {
            label: "所属辖区",
@@ -270,7 +272,7 @@
            dicUrl: "/api/jurisdiction/lazy-tree",
            props: {
              label: "title",
              value: "id",
              value: "id"
            },
            checkStrictly: true,
            slot: true,
@@ -278,13 +280,16 @@
              {
                required: true,
                message: "请选择所属辖区",
                trigger: "click",
              },
            ],
          },
        ],
      },
                trigger: "click"
              }
            ]
          }
        ]
      }
    };
  },
  mounted() {
    this.$store.commit("setWindowSizeHeightAdd");
  },
  methods: {
    getStartTime() {
@@ -308,6 +313,7 @@
      return "";
    },
    getPractitionersPageInfo(page, params = {}) {
      this.loading1 = true;
      if (this.card.jurisdiction == 1372091709474910209) {
        this.card.jurisdiction = "";
      }
@@ -320,7 +326,7 @@
          beginTime: releaseTimeRange[0],
          overTime: releaseTimeRange[1],
          status: 1,
          ...this.query1,
          ...this.query1
        };
        // values.releaseTimeRange = null;
      } else {
@@ -328,15 +334,16 @@
          ...params,
          ...this.card,
          ...this.query1,
          status: 1,
          status: 1
        };
      }
      // console.log(params);
      getdata(page.currentPage, page.pageSize, params).then((res) => {
      getdata(page.currentPage, page.pageSize, params).then(res => {
        // console.log(res.data.data.records);
        const data = res.data.data;
        this.data1 = data.records;
        this.page1.total = data.total;
        this.$store.commit("setWindowSizeHeightAdd");
        this.loading1 = false;
      });
    },
@@ -358,10 +365,9 @@
      this.page1.currentPage = 1;
      this.refreshChange();
      // console.log(212);
    },
  },
    }
  }
};
</script>
<style scoped>
</style>
<style scoped></style>
src/views/securityAnalysis/child/examination.vue
@@ -2,16 +2,18 @@
  <div
    :class="[
      'certificateTJ',
      $store.state.control.windowWidth >= 1024 ? 'oneRowSearch' : '',
      $store.state.control.screenSize == 1366 ? 'smallSize' : 'normalSize',
      $store.state.control.windowWidth >= 1024 ? 'tooRowSearch1' : ''
    ]"
  >
    <avue-crud
      class="tablesss"
      :option="option1"
      :data="data1"
      :page.sync="page1"
      :search.sync="search"
      :table-loading="loading1"
      @on-load="getPractitionersPageInfo(page1)"
      @on-load="getPractitionersPageInfo"
      @search-change="searchChange"
      @search-reset="searchReset"
      @refresh-change="refreshChange"
@@ -22,7 +24,7 @@
<script>
import {
  getinformationstatisticsXX, //保安员考试情况详情统计
  getinformationstatisticsXX //保安员考试情况详情统计
} from "@/api/securityAnalysis/securityAnalysis";
export default {
  props: ["card"],
@@ -35,9 +37,9 @@
        pageSize: 10,
        currentPage: 1,
        total: 0,
        ...this.$store.state.control.changePageSize,
        ...this.$store.state.control.changePageSize
      },
      search:{},
      search: {},
      query1: {},
      data1: [],
      option1: {
@@ -64,50 +66,50 @@
            prop: "securityName",
            disabled: true,
            search: true,
            searchSpan:4
            searchSpan: 4
          },
          {
            label: "学校名称",
            prop: "trainingUnitName",
            disabled: true,
            search: true,
            minWidth:160
            minWidth: 160
          },
          {
            label: "考试场次",
            prop: "examName",
            disabled: true,
            minWidth:160
            minWidth: 160
          },
          {
            label: "考试时间",
            prop: "examTime",
            disabled: true,
            disabled: true
          },
          {
              label: "考试时间",
              prop: "month",
              type: "month",
              hide:true,
              search:true,
              searchSpan:4,
              format: "yyyy-MM",
              valueFormat: "yyyy-MM",
            label: "考试时间",
            prop: "month",
            type: "month",
            hide: true,
            search: true,
            searchSpan: 4,
            format: "yyyy-MM",
            valueFormat: "yyyy-MM"
          },
          {
            label: "理论成绩",
            prop: "theoryGrade",
            disabled: true,
            disabled: true
          },
          {
            label: "实操成绩",
            prop: "learnGrade",
            disabled: true,
            disabled: true
          },
          {
            label: "总分数",
            prop: "allGrade",
            disabled: true,
            disabled: true
          },
          {
            label: "是否合格",
@@ -118,33 +120,37 @@
            dicData: [
              {
                label: "合格",
                value: 0,
                value: 0
              },
              {
                label: "不合格",
                value: 1,
                value: 1
              },
              {
                label: "暂未录实操成绩",
                value: 2,
                value: 2
              },
              {
                label: "缺考,成绩无效",
                value: 3,
              },
            ],
          },
        ],
      },
                value: 3
              }
            ]
          }
        ]
      }
    };
  },
  mounted() {
    this.$store.commit("setWindowSizeHeightAdd");
  },
  methods: {
    getPractitionersPageInfo(page, params = {}) {
      this.loading1 = true;
      params = this.search;
      params['deptId'] = this.card.deptid;
      params['jurisdiction'] = this.card.jurisdiction;
      params["deptId"] = this.card.deptid;
      params["jurisdiction"] = this.card.jurisdiction;
      getinformationstatisticsXX(page.currentPage, page.pageSize, params).then(
        (res) => {
        res => {
          const data = res.data.data;
          var d = data.records;
          for (var k in d) {
@@ -160,6 +166,7 @@
          }
          this.data1 = d;
          this.page1.total = data.total;
          this.$store.commit("setWindowSizeHeightAdd");
          this.loading1 = false;
        }
      );
@@ -175,10 +182,9 @@
    },
    searchReset(done) {
      this.data1 = this.czdata;
    },
  },
    }
  }
};
</script>
<style scoped>
</style>
<style scoped></style>
src/views/securityAnalysis/child/loginRecord.vue
@@ -2,29 +2,31 @@
  <div
    :class="[
      'certificateTJ',
      $store.state.control.windowWidth >= 1024 ? 'oneRowSearch' : '',
      $store.state.control.screenSize == 1366 ? 'smallSize' : 'normalSize',
      $store.state.control.windowWidth >= 1024 ? 'tooRowSearch1' : ''
    ]"
  >
    <avue-crud
      class="tablesss"
      :option="option"
      :data="data"
      :page.sync="page"
      :search.sync="search"
      :table-loading="loading"
      @on-load="onLoad(page)"
      @on-load="onLoad"
      @search-change="searchChange"
      @search-reset="searchReset"
      @refresh-change="refreshChange"
    >
      <template slot="menuLeft">
      <el-button
              type="warning"
              size="small"
              plain
              icon="el-icon-download"
              @click="handleExportLoginRecord"
              >导出
            </el-button>
        <el-button
          type="warning"
          size="small"
          plain
          icon="el-icon-download"
          @click="handleExportLoginRecord"
          >导出
        </el-button>
      </template>
    </avue-crud>
  </div>
@@ -46,7 +48,7 @@
        pageSize: 10,
        currentPage: 1,
        total: 0,
        ...this.$store.state.control.changePageSize,
        ...this.$store.state.control.changePageSize
      },
      query: {},
      search: {},
@@ -78,9 +80,9 @@
              {
                required: true,
                message: "请输入登录时间",
                trigger: "blur",
              },
            ],
                trigger: "blur"
              }
            ]
          },
          {
            label: "企业名称",
@@ -88,12 +90,12 @@
            disabled: true,
            overHidden: true,
            searchSpan: 5,
            search: true,
            search: true
          },
          {
            label: "所属辖区",
            prop: "jurisdictionName",
            display: false,
            display: false
          },
          {
            label: "企业属性",
@@ -103,68 +105,72 @@
            dicUrl: "/api/blade-system/dict-biz/dictionary?code=stats",
            props: {
              label: "dictValue",
              value: "dictKey",
              value: "dictKey"
            },
            type: "select",
            rules: [
              {
                required: true,
                message: "请选择企业属性",
                trigger: "blur",
              },
            ],
                trigger: "blur"
              }
            ]
          },
          {
            label: "最近一次登录时间",
            prop: "createTime",
            minWidth: 100,
            display: false,
            display: false
          },
          {
            label: "登录次数",
            prop: "num",
            disabled: false,
            disabled: false
          },
          {
            label: "是否有登录",
            prop: "types",
            search: true,
            disabled: false,
            searchLabelWidth:110,
            searchLabelWidth: 110,
            type: "select",
            searchSpan: 5,
            hide:true,
            hide: true,
            dicData: [
              {
                label: "全部",
                value: 3,
                value: 3
              },
              {
                label: "是",
                value: 2,
                value: 2
              },
              {
                label: "否",
                value: 1,
              },
            ],
          },
        ],
      },
                value: 1
              }
            ]
          }
        ]
      }
    };
  },
  computed:{
    ...mapGetters(["userInfo", "permission"]),
  computed: {
    ...mapGetters(["userInfo", "permission"])
  },
  mounted() {
    this.$store.commit("setWindowSizeHeightAdd");
  },
  methods: {
    onLoad(page, params = {}) {
      this.loading = true;
      params = this.search;
      params['jurisdiction'] = this.userInfo.jurisdiction;
      params["jurisdiction"] = this.userInfo.jurisdiction;
      const { releaseTimeRange } = this.query;
      let values = {
        ...params,
        ...params
      };
      if (releaseTimeRange) {
        values = {
@@ -172,17 +178,20 @@
          ...params,
          startTime: releaseTimeRange[0],
          endTime: releaseTimeRange[1],
          ...this.query,
          ...this.query
        };
        values.releaseTimeRange = null;
      }
      getInformationLoginPage(page.currentPage, page.pageSize, values).then((res) => {
        const data = res.data.data;
        this.data = data.records;
        this.page.total = data.total;
        this.loading = false;
      });
      getInformationLoginPage(page.currentPage, page.pageSize, values).then(
        res => {
          const data = res.data.data;
          this.data = data.records;
          this.page.total = data.total;
          this.$store.commit("setWindowSizeHeightAdd");
          this.loading = false;
        }
      );
    },
    refreshChange() {
      this.onLoad(this.page, this.query);
@@ -203,7 +212,7 @@
      this.$confirm("是否导出企业登录记录数据?", "提示", {
        confirmButtonText: "确定",
        cancelButtonText: "取消",
        type: "warning",
        type: "warning"
      }).then(() => {
        //获取查询条件
        const { releaseTimeRange } = this.search;
@@ -212,12 +221,12 @@
          this.search["endTime"] = releaseTimeRange[1];
        }
        var data = {
          jurisdiction:this.userInfo.jurisdiction,
          jurisdiction: this.userInfo.jurisdiction,
          stats: this.search.stats,
          deptName: this.search.deptName,
          types: this.search.types,
          startTime: this.search.startTime,
          endTime: this.search.endTime,
          endTime: this.search.endTime
        };
        // console.log(data,123);
        //序列号url形式,用&拼接
@@ -228,10 +237,9 @@
          }=${getToken()}&` + data
        );
      });
    },
  },
    }
  }
};
</script>
<style scoped>
</style>
<style scoped></style>
src/views/securityAnalysis/child/situation.vue
@@ -2,15 +2,17 @@
  <div
    :class="[
      'certificateTJ',
      $store.state.control.windowWidth >= 1024 ? 'oneRowSearch' : '',
      $store.state.control.screenSize == 1366 ? 'smallSize' : 'normalSize',
      $store.state.control.windowWidth >= 1024 ? 'tooRowSearch1' : ''
    ]"
  >
    <avue-crud
      class="tablesss"
      :option="option1"
      :data="data1"
      :page.sync="page1"
      :table-loading="loading1"
      @on-load="getPractitionersPageInfo(page1)"
      @on-load="getPractitionersPageInfo"
      @search-change="searchChange"
      @search-reset="searchReset"
      @refresh-change="refreshChange"
@@ -46,7 +48,7 @@
        pageSize: 10,
        currentPage: 1,
        total: 0,
        ...this.$store.state.control.changePageSize,
        ...this.$store.state.control.changePageSize
      },
      query1: {},
      data1: [],
@@ -77,7 +79,7 @@
            width: 80,
            overHidden: true,
            searchSpan: 3,
            search: true,
            search: true
          },
          {
            label: "企业名称",
@@ -87,14 +89,14 @@
            dicUrl: dicUrl,
            props: {
              label: "title",
              value: "id",
              value: "id"
            },
            // hide: true,
            // slot: true,
            searchSpan: 5,
            display: false,
            search: search,
            minWidth: 220,
            minWidth: 220
          },
          {
            label: "性别",
@@ -104,18 +106,18 @@
            dicData: [
              {
                label: "男",
                value: 1,
                value: 1
              },
              {
                label: "女",
                value: 2,
                value: 2
              },
              {
                label: "未知",
                value: 3,
              },
                value: 3
              }
            ],
            display: false,
            display: false
          },
          {
            label: "身份证号码",
@@ -124,7 +126,7 @@
            searchLabelWidth: 90,
            searchSpan: 5,
            minWidth: 140,
            display: false,
            display: false
          },
          {
            label: "学历",
@@ -134,7 +136,7 @@
            dicUrl: "/api/blade-system/dict-biz/dictionary?code=educationType",
            props: {
              label: "dictValue",
              value: "dictKey",
              value: "dictKey"
            },
            type: "select",
            // hide: true,
@@ -142,15 +144,15 @@
              {
                required: true,
                message: "请选择学历",
                trigger: "blur",
              },
            ],
                trigger: "blur"
              }
            ]
          },
          {
            label: "联系电话",
            prop: "phone",
            minWidth: 100,
            display: false,
            display: false
          },
          {
            label: "审查状态",
@@ -163,25 +165,26 @@
            dicData: [
              {
                label: "正常",
                value: "0",
                value: "0"
              },
              {
                label: "异常",
                value: "1",
              },
            ],
                value: "1"
              }
            ]
          },
          {
            label: "审查明细",
            prop: "examinationMx",
            disabled: true,
          },
        ],
      },
            disabled: true
          }
        ]
      }
    };
  },
  methods: {
    getPractitionersPageInfo(page, params = {}) {
      this.loading1 = true;
      if (this.card.jurisdiction == 1372091709474910209) {
        this.card.jurisdiction = "";
      }
@@ -190,13 +193,14 @@
        ...this.card,
        ...params,
        status: 1,
        ...this.query1,
        ...this.query1
      };
      getList(page.currentPage, page.pageSize, params).then((res) => {
      getList(page.currentPage, page.pageSize, params).then(res => {
        // console.log(res.data.data.records);
        const data = res.data.data;
        this.data1 = data.records;
        this.page1.total = data.total;
        this.$store.commit("setWindowSizeHeightAdd");
        this.loading1 = false;
      });
    },
@@ -214,10 +218,9 @@
      this.page1.currentPage = 1;
      this.refreshChange();
      // console.log(212);
    },
  },
    }
  }
};
</script>
<style scoped>
</style>
<style scoped></style>
src/views/securityAnalysis/child/socialSecurity.vue
@@ -2,15 +2,17 @@
  <div
    :class="[
      'certificateTJ',
      $store.state.control.windowWidth >= 1024 ? 'oneRowSearch' : '',
      $store.state.control.screenSize == 1366 ? 'smallSize' : 'normalSize',
      $store.state.control.windowWidth >= 1024 ? 'tooRowSearch1' : ''
    ]"
  >
    <avue-crud
      class="tablesss"
      :option="option1"
      :data="data1"
      :page.sync="page1"
      :table-loading="loading1"
      @on-load="getPractitionersPageInfo(page1)"
      @on-load="getPractitionersPageInfo"
      @search-change="searchChange"
      @search-reset="searchReset"
      @refresh-change="refreshChange"
@@ -46,7 +48,7 @@
        pageSize: 10,
        currentPage: 1,
        total: 0,
        ...this.$store.state.control.changePageSize,
        ...this.$store.state.control.changePageSize
      },
      query1: {},
      data1: [],
@@ -76,7 +78,7 @@
            searchLabelWidth: "50",
            overHidden: true,
            searchSpan: 4,
            search: true,
            search: true
          },
          {
            label: "企业名称",
@@ -87,14 +89,14 @@
            dicUrl: dicUrl,
            props: {
              label: "title",
              value: "id",
              value: "id"
            },
            // hide: true,
            // slot: true,
            searchSpan: 4,
            display: false,
            search: search,
            minWidth: 220,
            minWidth: 220
          },
          {
            label: "性别",
@@ -103,25 +105,25 @@
            dicData: [
              {
                label: "男",
                value: 1,
                value: 1
              },
              {
                label: "女",
                value: 2,
                value: 2
              },
              {
                label: "未知",
                value: 3,
              },
                value: 3
              }
            ],
            display: false,
            display: false
          },
          {
            label: "身份证号码",
            prop: "cardid",
            search: true,
            searchLabelWidth: 90,
            searchSpan: 5,
            searchSpan: 5
          },
          {
            label: "学历",
@@ -129,30 +131,34 @@
            dicUrl: "/api/blade-system/dict-biz/dictionary?code=educationType",
            props: {
              label: "dictValue",
              value: "dictKey",
              value: "dictKey"
            },
            type: "select",
            search:true,
            searchSpan:4,
            search: true,
            searchSpan: 4,
            rules: [
              {
                required: true,
                message: "请选择学历",
                trigger: "blur",
              },
            ],
                trigger: "blur"
              }
            ]
          },
          {
            label: "联系电话",
            prop: "phone",
            display: false,
          },
        ],
      },
            display: false
          }
        ]
      }
    };
  },
  mounted() {
    this.$store.commit("setWindowSizeHeightAdd");
  },
  methods: {
    getPractitionersPageInfo(page, params = {}) {
      this.loading1 = true;
      if (this.card.jurisdiction == 1372091709474910209) {
        this.card.jurisdiction = "";
      }
@@ -161,13 +167,14 @@
        ...this.card,
        ...params,
        status: 1,
        ...this.query1,
        ...this.query1
      };
      getList(page.currentPage, page.pageSize, params).then((res) => {
      getList(page.currentPage, page.pageSize, params).then(res => {
        // console.log(res.data.data.records);
        const data = res.data.data;
        this.data1 = data.records;
        this.page1.total = data.total;
        this.$store.commit("setWindowSizeHeightAdd");
        this.loading1 = false;
      });
    },
@@ -184,10 +191,9 @@
      this.query1 = {};
      this.page1.currentPage = 1;
      this.refreshChange();
    },
  },
    }
  }
};
</script>
<style scoped>
</style>
<style scoped></style>
src/views/securityAnalysis/index.vue
@@ -5,44 +5,117 @@
      <!-- 保安员审查情况统计
        <div>饼图</div> -->
      <!-- </div> -->
      <div class="examinesBtn" v-if="examineBtnVisiable">
        <el-radio-group v-model="tabPosition" style="margin-bottom: 30px" size="small" @change="handleClick">
        <!-- <el-radio-group
          v-model="tabPosition"
          size="small"
          @change="handleClick"
        >
          <el-radio-button label="1">保安员审查情况统计</el-radio-button>
          <el-radio-button label="2">企业登录预警情况统计</el-radio-button>
        </el-radio-group>
        </el-radio-group> -->
        <el-dropdown class="examinesBtnChouse" @command="handleClick">
          <span class="el-dropdown-link">
            {{ examinesBtnChousetext }} <i class="el-icon-caret-bottom"></i>
          </span>
          <el-dropdown-menu slot="dropdown">
            <el-dropdown-item command="1">保安员审查情况统计</el-dropdown-item>
            <el-dropdown-item command="2"
              >企业登录预警情况统计</el-dropdown-item
            >
          </el-dropdown-menu>
        </el-dropdown>
        <!-- <div class="examinesBtnChouse">
          {{ examinesBtnChousetext }} <i class="el-icon-caret-bottom"></i>
        </div> -->
      </div>
        <div id="ech1" class="examines"  ref="ech1" style="visibility:visible;z-index:666">
        </div>
        <div id="ech1s" class="examiness"  ref="ech1s" style="visibility:hidden;z-index:333">
        </div>
        <!-- 保安员审查情况统计
        <div>饼图</div> -->
      <div class="certificate" ref="ech2">
        <!-- 保安员持证情况统计
        <div>饼图</div> -->
      <div class="examines" v-show="showECH1">
        <img
          src="http://223.82.109.183:2080/img/table.png"
          alt=""
          class="myToolbox"
          @click="openMyToolBox('保安员审查情况明细', 1)"
        />
        <div id="ech1" class="examinesin" ref="ech1">1</div>
      </div>
      <div class="examiness" v-show="!showECH1">
        <img
          src="http://223.82.109.183:2080/img/table.png"
          alt=""
          class="myToolbox"
          @click="openMyToolBox('企业登录情况明细', 7)"
        />
        <div id="ech1s" class="examinessin" ref="ech1s"></div>
      </div>
      <!-- 保安员审查情况统计
        <div>饼图</div> -->
      <div class="certificate">
        <img
          src="http://223.82.109.183:2080/img/table.png"
          alt=""
          class="myToolbox"
          @click="openMyToolBox('保安员持证情况明细', 2)"
        />
        <div class="certificatein" ref="ech2">
          <!-- 保安员持证情况统计
        <div>饼图</div> -->
        </div>
      </div>
      <!-- <div class="czbut"></div> -->
    </div>
    <div class="securityAnalysiscenter">
      <div class="examination" ref="ech3">
        <!-- 保安员考试情况统计
      <div class="examination">
        <img
          src="http://223.82.109.183:2080/img/table.png"
          alt=""
          class="myToolbox"
          @click="openMyToolBox('保安员考试情况明细', 3)"
        />
        <div class="examinationin" ref="ech3">
          <!-- 保安员考试情况统计
        <div>堆叠面积图</div> -->
        </div>
      </div>
      <div class="dispatchUnit" ref="ech4">
        <!-- 派遣服务单位统计
      <div class="dispatchUnit">
        <img
          src="http://223.82.109.183:2080/img/table.png"
          alt=""
          class="myToolbox"
          @click="openMyToolBox('派遣服务单位明细', 4)"
        />
        <div class="dispatchUnitin" ref="ech4">
          <!-- 派遣服务单位统计
        <div>柱状图</div> -->
        </div>
      </div>
    </div>
    <div class="securityAnalysisright">
      <div class="dispatchSecurity" ref="ech5">
        <!-- 保安员年龄分布情况统计
      <div class="dispatchSecurity">
        <img
          src="http://223.82.109.183:2080/img/table.png"
          alt=""
          class="myToolbox"
          @click="openMyToolBox('保安员年龄分布情况明细', 5)"
        />
        <div class="dispatchSecurityin" ref="ech5">
          <!-- 保安员年龄分布情况统计
        <div>饼图</div> -->
        </div>
      </div>
      <div class="socialSecurity" ref="ech6">
        <!-- 社保缴纳情况统计
      <div class="socialSecurity">
        <img
          src="http://223.82.109.183:2080/img/table.png"
          alt=""
          class="myToolbox"
          @click="openMyToolBox('保安员学历分布情况明细', 6)"
        />
        <div class="socialSecurityin" ref="ech6">
          <!-- 社保缴纳情况统计
        <div>饼图</div> -->
        </div>
      </div>
    </div>
    <div>
@@ -62,10 +135,7 @@
          <!-- 保安员审查情况统计 -->
        </situation>
        <loginRecord
          :card="{ jurisdiction: jurisdiction }"
          v-if="sees == 7"
        >
        <loginRecord :card="{ jurisdiction: jurisdiction }" v-if="sees == 7">
          <!-- 保安员审查情况统计 -->
        </loginRecord>
@@ -117,6 +187,7 @@
  getEducationStatistics,
  getLoginDataStatistics
} from "@/api/securityAnalysis/securityAnalysis";
import { mapGetters } from "vuex";
import { mapState } from "vuex";
import { getRoleDetail } from "@/api/system/role";
import certificate from "./child/certificate.vue";
@@ -146,36 +217,40 @@
      EC5: "", //保安派遣情况统计 // 饼图
      EC6: "", //社保缴纳情况统计 // 饼图
      deptid: "",
      oneVisiable:true,
      examineBtnVisiable:true,
      oneVisiable: true,
      examineBtnVisiable: true,
      jurisdiction: "",
      tabPosition: 1,
      examinetionTitle:"保安员审查情况统计",
      examinetionTitle: "保安员审查情况统计",
      examine1: [],
      dialogVisible: false,
      titles: "",
      sees: "",
      colors: ["#29C093", "#F34A4A"], //[正常,异常];
      showECH1: true, //显示保安员审查情况统计或企业登录预警情况统计
      changeSizeTime: null,
      examinesBtnChousetext: "保安员审查情况统计"
    };
  },
  computed: {
    ...mapState({
      userInfo: (state) => state.user.userInfo,
      userInfo: state => state.user.userInfo
    }),
    ...mapGetters(["windowWidth", "windowHeight"]),
    ids1() {
      let ids1 = [];
      this.selectionList1.forEach((ele) => {
      this.selectionList1.forEach(ele => {
        ids1.push(ele.id);
      });
      return ids1.join(",");
    },
    ids2() {
      let ids2 = [];
      this.selectionList2.forEach((ele) => {
      this.selectionList2.forEach(ele => {
        ids2.push(ele.id);
      });
      return ids2.join(",");
    },
    }
  },
  watch: {
    dialogVisible() {
@@ -198,21 +273,58 @@
        this.getEC6();
      }
    },
    windowWidth() {
      let that = this;
      if (that.changeSizeTime) {
        return;
      } else {
        that.changeSizeTime = setTimeout(() => {
          that.changeSize();
          clearTimeout(that.changeSizeTime);
          that.changeSizeTime = null;
        }, 600);
      }
    },
    windowHeight() {
      let that = this;
      if (that.changeSizeTime) {
        return;
      } else {
        that.changeSizeTime = setTimeout(() => {
          that.changeSize();
          clearTimeout(that.changeSizeTime);
          that.changeSizeTime = null;
        }, 600);
      }
    }
  },
  methods: {
    //更新图表尺寸
    changeSize() {
      console.log("更新图表尺寸");
      this.EC1.resize();
      this.EC1s.resize();
      this.EC2.resize();
      this.EC3.resize();
      this.EC4.resize();
      this.EC5.resize();
      this.EC6.resize();
    },
    //tab 切换
    handleClick(val){
      if(val==1){
        document.getElementById("ech1").style.visibility = "visible";
        document.getElementById("ech1s").style.visibility = "hidden";
      }else{
        document.getElementById("ech1").style.visibility = "hidden";
        document.getElementById("ech1s").style.visibility = "visible";
    handleClick(val) {
      // if (val == this.tabPosition) {
      //   return;
      // }
      if (val == 1) {
        this.showECH1 = true;
      } else {
        this.showECH1 = false;
      }
      this.tabPosition = val;
      this.getEC1(val);
    },
    creatOurEcharts() {
      // return;
      this.EC1 = echarts.init(this.$refs.ech1);
      this.EC1s = echarts.init(this.$refs.ech1s);
      this.EC2 = echarts.init(this.$refs.ech2);
@@ -234,23 +346,23 @@
        d = [
          {
            value: yes,
            name: okmsg,
            name: okmsg
          },
          {
            value: not,
            name: nomsg,
          },
            name: nomsg
          }
        ];
      } else {
        d = [
          {
            value: 0,
            name: okmsg,
            name: okmsg
          },
          {
            value: 0,
            name: nomsg,
          },
            name: nomsg
          }
        ];
      }
      // console.log(d, ok, no);
@@ -271,31 +383,41 @@
        ? "0%"
        : Math.round((num / total) * 10000) / 100.0 + "%";
    },
    openMyToolBox(titles, id) {
      var that = this;
      that.dialogVisible = true;
      that.sees = id;
      that.titles = titles;
    },
    gettoolbox(title, titles, id) {
      //由于在1366,,768分辨率下,会被覆盖掉不能点击,所以放弃
      return;
      var that = this;
      return {
        show: true,
        show: false,
        itemSize: 25,
        top: 20,
        right: 20,
        top: 5,
        right: 15,
        feature: {
          myTool1: {
            show: true,
            zlevel: 999,
            z: 999,
            title: "点击查看详情",
            icon: "image://http://223.82.109.183:2080/img/table.png",
            onclick: function () {
            onclick: function() {
              that.dialogVisible = true;
              that.sees = id;
              that.titles = titles;
            },
          },
        },
            }
          }
        }
      };
    },
    setColor(d, color) {
      for (var k in d) {
        var itemStyle = {
          color: color[k],
          color: color[k]
        };
        d[k]["itemStyle"] = itemStyle;
      }
@@ -304,49 +426,52 @@
    },
    getEC1(tab) {
      var that = this;
      if(tab==1){
      if (tab == 1) {
        getinformationselectExtype(this.deptid, this.jurisdiction)
        .then((res) => {
          var a = res.data.data;
          var b = that.changedata(a, "zc", "bzc", "情况正常", "情况异常");
          that.setEC1(b);
        })
        .catch((res) => {
          var b = that.changedata([], "zc", "bzc", "情况正常", "情况异常");
          that.setEC1(b);
        });
          .then(res => {
            var a = res.data.data;
            var b = that.changedata(a, "zc", "bzc", "情况正常", "情况异常");
            that.setEC1(b);
            that.EC1.resize();
          })
          .catch(res => {
            var b = that.changedata([], "zc", "bzc", "情况正常", "情况异常");
            that.setEC1(b);
            that.EC1.resize();
          });
      }
      if(tab==2){
        getLoginDataStatistics(this.jurisdiction).then((res)=>{
      if (tab == 2) {
        getLoginDataStatistics(this.jurisdiction).then(res => {
          var b = res.data.data;
          var data = [
            {
              value:b[0],
              name:"近14天登录企业数"
              value: b[0],
              name: "近14天登录企业数"
            },
            {
              value:b[1],
              name:"近14天未登录企业数"
              value: b[1],
              name: "近14天未登录企业数"
            }
          ]
          ];
          that.setEC1s(data);
        })
          that.EC1s.resize();
        });
      }
    },
    setEC1(d) {
      this.examine1 = [
        {
          title: "审查时间:",
          value: this.getTime(),
          value: this.getTime()
        },
        {
          title: "问题保安员人数:",
          value: d[1].value + "人",
          value: d[1].value + "人"
        },
        {
          title: "问题保安员比例:",
          value: this.GetPercent(+d[1].value, +d[0].value + +d[1].value),
        },
          value: this.GetPercent(+d[1].value, +d[0].value + +d[1].value)
        }
      ];
      var option, data;
      data = this.setColor(d, this.colors);
@@ -354,16 +479,16 @@
        title: {
          text: this.examinetionTitle,
          top: 25,
          left: "center",
          left: "center"
        },
        tooltip: {
          trigger: "item",
          trigger: "item"
        },
        legend: {
          x: "center",
          y: "90%",
          y: "90%"
        },
        toolbox: this.gettoolbox("审查情况查询", "保安员审查情况明细", 1),
        // toolbox: this.gettoolbox("审查情况查询", "保安员审查情况明细", 1),
        series: [
          {
            // name: "访问来源",
@@ -374,42 +499,42 @@
              itemStyle: {
                shadowBlur: 10,
                shadowOffsetX: 0,
                shadowColor: "rgba(0, 0, 0, 0.5)",
              },
                shadowColor: "rgba(0, 0, 0, 0.5)"
              }
            },
            label: {
              formatter: "{name|{b}}\n({d}%)",
              rich: {
                time: {
                  fontSize: 10,
                  color: "#999",
                },
              },
            },
          },
        ],
                  color: "#999"
                }
              }
            }
          }
        ]
      };
      this.EC1.setOption(option);
    },
    //登录情况统计
    setEC1s(d) {
      var option,data;
      var option, data;
      data = this.setColor(d, this.colors);
      option = {
        title: {
          text: "",
          top: 25,
          left: "center",
          left: "center"
        },
        tooltip: {
          trigger: "item",
          trigger: "item"
        },
        legend: {
          x: "center",
          y: "90%",
          y: "90%"
        },
        toolbox: this.gettoolbox("登录情况查询", "企业登录情况明细", 7),
        // toolbox: this.gettoolbox("登录情况查询", "企业登录情况明细", 7),
        series: [
          {
            type: "pie",
@@ -419,32 +544,32 @@
              itemStyle: {
                shadowBlur: 10,
                shadowOffsetX: 0,
                shadowColor: "rgba(0, 0, 0, 0.5)",
              },
                shadowColor: "rgba(0, 0, 0, 0.5)"
              }
            },
            label: {
              formatter: "{name|{b}}\n({d}%)",
              rich: {
                time: {
                  fontSize: 10,
                  color: "#999",
                },
              },
            },
          },
        ],
                  color: "#999"
                }
              }
            }
          }
        ]
      };
      this.EC1s.setOption(option);
    },
    getEC2() {
      var that = this;
      getinformationselectHold(this.deptid, this.jurisdiction)
        .then((res) => {
        .then(res => {
          var a = res.data.data;
          var b = that.changedata(a, "cz", "wcz", "持证", "未持证");
          that.setEC2(b);
        })
        .catch((res) => {
        .catch(res => {
          var b = that.changedata([], "cz", "wcz", "持证", "未持证");
          that.setEC2(b);
        });
@@ -459,18 +584,18 @@
          text: "保安员持证情况统计",
          // subtext: "纯属虚构",
          top: 25,
          left: "center",
          left: "center"
        },
        tooltip: {
          trigger: "item",
          trigger: "item"
        },
        legend: {
          // orient: "vertical",
          // left: "left", x: "center",
          x: "center",
          y: "83%",
          y: "83%"
        },
        toolbox: this.gettoolbox("持证情况查询", "保安员持证情况明细", 2),
        // toolbox: this.gettoolbox("持证情况查询", "保安员持证情况明细", 2),
        series: [
          {
            // name: "访问来源",
@@ -481,26 +606,26 @@
              itemStyle: {
                shadowBlur: 10,
                shadowOffsetX: 0,
                shadowColor: "rgba(0, 0, 0, 0.5)",
              },
                shadowColor: "rgba(0, 0, 0, 0.5)"
              }
            },
            label: {
              formatter: "{name|{b}}\n({d}%)",
              rich: {
                time: {
                  fontSize: 10,
                  color: "#999",
                },
              },
            },
          },
        ],
                  color: "#999"
                }
              }
            }
          }
        ]
      };
      this.EC2.setOption(option);
    },
    getEC3() {
      getExamStatisInfo(this.deptid, this.jurisdiction).then((res) => {
      getExamStatisInfo(this.deptid, this.jurisdiction).then(res => {
        this.setEC3(res.data.data);
      });
    },
@@ -508,16 +633,16 @@
    setEC3(data) {
      //获取年份
      const seriesdata = [];
      data.forEach((item) => {
      data.forEach(item => {
        if (item.type == 1) {
          seriesdata.push({
            name: item.name + "-合格人数",
            type: "bar",
            stack: item.name,
            emphasis: {
              focus: "series",
              focus: "series"
            },
            data: item.examSocreStatis,
            data: item.examSocreStatis
          });
        }
        if (item.type == 2) {
@@ -526,38 +651,38 @@
            type: "bar",
            stack: item.name,
            emphasis: {
              focus: "series",
              focus: "series"
            },
            data: item.examSocreStatis,
            data: item.examSocreStatis
          });
        }
      });
      var datetime = [
              "1月",
              "2月",
              "3月",
              "4月",
              "5月",
              "6月",
              "7月",
              "8月",
              "9月",
              "10月",
              "11月",
              "12月",
            ]
        "1月",
        "2月",
        "3月",
        "4月",
        "5月",
        "6月",
        "7月",
        "8月",
        "9月",
        "10月",
        "11月",
        "12月"
      ];
      //echarts 图表数据
      var option = {
        title: {
          text: "保安员考试情况统计",
          left: "center",
          top: 20,
          top: 20
        },
        tooltip: {
          trigger: "axis",
          axisPointer: {
            type: "shadow",
          },
            type: "shadow"
          }
        },
        color: ["#91CD76", "#EF6667"],
        legend: {
@@ -565,27 +690,27 @@
          icon: "circle",
          itemWidth: 10,
          itemHeight: 10,
          itemGap: 20,
          itemGap: 20
        },
        toolbox: this.gettoolbox("考试情况查询", "保安员考试情况明细", 3),
        // toolbox: this.gettoolbox("考试情况查询", "保安员考试情况明细", 3),
        grid: {
          left: "3%",
          right: "4%",
          bottom: "3%",
          containLabel: true,
          containLabel: true
        },
        xAxis: [
          {
            type: "category",
            data: datetime
          },
          }
        ],
        yAxis: [
          {
            type: "value",
          },
            type: "value"
          }
        ],
        series: seriesdata,
        series: seriesdata
      };
      this.EC3.setOption(option);
@@ -594,7 +719,7 @@
      var date = new Date();
      var nowYear = date.getFullYear();
      var that = this;
      getinformationselectDis(this.deptid, this.jurisdiction).then((res) => {
      getinformationselectDis(this.deptid, this.jurisdiction).then(res => {
        var a = res.data,
          d = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0];
@@ -639,7 +764,7 @@
        "9月",
        "10月",
        "11月",
        "12月",
        "12月"
      ];
      var date = new Date();
      var d = date.getFullYear();
@@ -648,52 +773,51 @@
        title: {
          text: "派遣服务单位统计",
          top: 20,
          left: "center",
          left: "center"
        },
        xAxis: {
          type: "category",
          data: xxd,
          data: xxd
          // data: xd,
        },
        toolbox: this.gettoolbox("派遣单位查询", "派遣服务单位明细", 4),
        // toolbox: this.gettoolbox("派遣单位查询", "派遣服务单位明细", 4),
        yAxis: {
          type: "value",
          type: "value"
        },
        tooltip: {
          trigger: "item",
          formatter: d + "年{b} : {c} 个",
          formatter: d + "年{b} : {c} 个"
        },
        series: [
          {
            data: data,
            type: "bar",
          },
        ],
            type: "bar"
          }
        ]
      };
      this.EC4.setOption(option);
    },
    getEC5() {
      var that = this;
      getAgeStatistics(this.deptid, this.jurisdiction)
        .then((res) => {
          var data = res.data.data;
          var a = [
            {
              value:data[0],
              name:"18-30周岁"
            },
            {
              value:data[1],
              name:"30-45周岁"
            },
            {
              value:data[2],
              name:"45-60周岁"
            },
          ]
          console.log(a, "111111");
          this.setEC5(a);
        });
      getAgeStatistics(this.deptid, this.jurisdiction).then(res => {
        var data = res.data.data;
        var a = [
          {
            value: data[0],
            name: "18-30周岁"
          },
          {
            value: data[1],
            name: "30-45周岁"
          },
          {
            value: data[2],
            name: "45-60周岁"
          }
        ];
        console.log(a, "111111");
        this.setEC5(a);
      });
    },
    setEC5(d) {
      var option;
@@ -703,15 +827,19 @@
          text: "保安员年龄分布情况统计",
          // subtext: "纯属虚构",
          top: 25,
          left: "center",
          left: "center"
        },
        tooltip: {
          trigger: "item",
          trigger: "item"
        },
        toolbox: this.gettoolbox("保安员年龄分布情况查询", "保安员年龄分布情况明细", 5),
        // toolbox: this.gettoolbox(
        //   "保安员年龄分布情况查询",
        //   "保安员年龄分布情况明细",
        //   5
        // ),
        legend: {
          x: "center",
          y: "90%",
          y: "90%"
        },
        series: [
          {
@@ -722,25 +850,24 @@
              itemStyle: {
                shadowBlur: 10,
                shadowOffsetX: 0,
                shadowColor: "rgba(0, 0, 0, 0.5)",
              },
                shadowColor: "rgba(0, 0, 0, 0.5)"
              }
            },
            label: {
              formatter: "{b}\n({d}%)",
            },
          },
        ],
              formatter: "{b}\n({d}%)"
            }
          }
        ]
      };
      this.EC5.setOption(option);
    },
    getEC6() {
      var that = this;
      getEducationStatistics(this.deptid, this.jurisdiction)
        .then((res) => {
          var a = res.data.data;
          that.setEC6(a);
        });
      getEducationStatistics(this.deptid, this.jurisdiction).then(res => {
        var a = res.data.data;
        that.setEC6(a);
      });
    },
    setEC6(d) {
      var option;
@@ -749,17 +876,21 @@
        title: {
          text: "保安员学历分布情况统计",
          top: 25,
          left: "center",
          left: "center"
        },
        tooltip: {
          trigger: "item",
          trigger: "item"
        },
        toolbox: this.gettoolbox("保安员学历分布情况查询", "保安员学历分布情况明细", 6),
        // toolbox: this.gettoolbox(
        //   "保安员学历分布情况查询",
        //   "保安员学历分布情况明细",
        //   6
        // ),
        legend: {
          // orient: "vertical",
          // left: "left",
          x: "center",
          y: "83%",
          y: "83%"
        },
        series: [
          {
@@ -771,8 +902,8 @@
              itemStyle: {
                shadowBlur: 10,
                shadowOffsetX: 0,
                shadowColor: "rgba(0, 0, 0, 0.5)",
              },
                shadowColor: "rgba(0, 0, 0, 0.5)"
              }
            },
            label: {
              // alignTo: "edge",
@@ -783,12 +914,12 @@
              rich: {
                time: {
                  fontSize: 10,
                  color: "#999",
                },
              },
            },
          },
        ],
                  color: "#999"
                }
              }
            }
          }
        ]
      };
      this.EC6.setOption(option);
@@ -806,21 +937,24 @@
      // this.setEC4();
      // this.setEC5();
      // this.setEC6();
    },
    }
  },
  created(){
    if(this.userInfo.role_name == "保安公司管理员" || this.userInfo.role_name == "分公司管理员"){
  created() {
    if (
      this.userInfo.role_name == "保安公司管理员" ||
      this.userInfo.role_name == "分公司管理员"
    ) {
      this.examinetionTitle = "保安员审查情况统计";
      this.examineBtnVisiable = false;
    }else {
    } else {
      this.examinetionTitle = "";
    }
  },
  mounted() {
    this.$nextTick(() => {
      var roleIds = this.userInfo.role_id.split(",");
      roleIds.forEach((roleId) => {
        getRoleDetail(roleId).then((res) => {
      roleIds.forEach(roleId => {
        getRoleDetail(roleId).then(res => {
          var roleAlias = res.data.data.roleAlias;
          var roleName = res.data.data.roleName;
          if (roleName != "保安公司管理员" && roleName != "分公司管理员") {
@@ -834,7 +968,7 @@
        });
      });
    });
  },
  }
};
</script>
@@ -842,20 +976,22 @@
$widths: 20%;
.securityAnalysis {
  width: 100%;
  height: 100%;
  height: calc(100% - 35px);
  // border: 1px solid #000;
  display: flex;
  align-items: center;
  justify-content: space-around;
  box-sizing: border-box;
  .securityAnalysisleft,
  .securityAnalysiscenter,
  .securityAnalysisright {
    // border: 1px solid #000;
    //   // border: 1px solid #000;
    position: relative;
    width: 29%;
    height: 100%;
    box-sizing: border-box;
    // border: 1px solid red;
    //   box-sizing: border-box;
    display: flex;
    align-items: center;
    justify-content: space-around;
@@ -868,6 +1004,7 @@
  .dispatchUnit,
  .dispatchSecurity,
  .socialSecurity {
    position: relative;
    width: 100%;
    height: 49%;
    // border: 1px solid #000;
@@ -875,62 +1012,65 @@
    background-color: #fff;
  }
  .certificate{
  .certificate {
    position: relative;
    width: 100%;
    height: 49%;
    top: 13.30rem;
    // top: 13.3rem;
    box-sizing: border-box;
    background-color: #fff;
  }
  .examinesBtn{
  .examinesBtn {
    top: 0;
    left: 0;
    position: absolute;
    top: 1.5rem;
    z-index: 999;
    left: 8rem;
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    background-color: #fff;
    .examinesBtnChouse {
      background-color: #409eff;
      padding: 5px 10px;
      border-radius: 5px;
      color: #fff;
      position: relative;
      top: 20px;
      z-index: 900;
      text-align: center;
    }
  }
  .examines{
    position: absolute;
    top: 0.25rem;
  .examines,
  .examiness {
    width: 100%;
    height: 49%;
    box-sizing: border-box;
    // display: flex;
    // align-items: center;
    background-color: #fff;
  }
  .examiness{
    position: absolute;
    top: 0.25rem;
  //myself
  .examinesin,
  .examinessin,
  .certificatein,
  .examinationin,
  .dispatchUnitin,
  .dispatchSecurityin,
  .socialSecurityin {
    width: 100%;
    height: 49%;
    box-sizing: border-box;
    background-color: #fff;
    height: 100%;
  }
  // .examines {
  //   width: 100%;
  //   height: 49%;
  //   display: flex;
  //   align-items: center;
  //   background-color: #fff;
  // }
  // .examine {
  //   width: 100%;
  //   height: 100%;
  // }
  // .examine1 {
  //   width: 200px;
  //   div {
  //     margin-bottom: 10px;
  //   }
  // }
  // .securityAnalysisleft {
  //   width: $widths;
  // }
  // .securityAnalysiscenter {
  //   width: $widths;
  // }
  // .securityAnalysisright {
  //   width: $widths;
  // }
  .myToolbox {
    position: absolute;
    top: 14px;
    right: 20px;
    width: 25px;
    height: 25px;
    cursor: pointer;
    z-index: 1000;
    &:hover {
    }
  }
}
</style>
</style>
src/views/securityEquipment/car.vue
@@ -1,65 +1,65 @@
<template>
  <basic-container>
    <div
      :class="[
        'equipments',
        $store.state.control.windowWidth >= 1024 ? 'oneRowSearch' : '',
      ]"
  <basic-container
    :class="[
      'equipments',
      $store.state.control.screenSize == 1366 ? 'smallSize' : 'normalSize',
      $store.state.control.windowWidth >= 1024 ? 'tooRowSearch1' : ''
    ]"
  >
    <avue-crud
      class="tablesss"
      v-if="visible"
      :option="option"
      :data="data"
      :page.sync="page"
      ref="crudrec"
      @on-load="onLoad"
      :table-loading="loading"
      @row-save="rowSave"
      @search-change="searchChange"
      @search-reset="searchReset"
      @row-update="rowUpdate"
      @row-del="rowDel"
      @selection-change="selectionChange"
      @refresh-change="refreshChange"
    >
      <avue-crud
        v-if="visible"
        :option="option"
        :data="data"
        :page.sync="page"
        ref="crudrec"
        @on-load="onLoad"
        :table-loading="loading"
        @row-save="rowSave"
        @search-change="searchChange"
        @search-reset="searchReset"
        @row-update="rowUpdate"
        @row-del="rowDel"
        @selection-change="selectionChange"
        @refresh-change="refreshChange"
      <template slot="menuLeft">
        <el-button
          type="danger"
          size="small"
          plain
          icon="el-icon-delete"
          @click="handleDelete"
          >删 除
        </el-button>
        <el-button
          type="success"
          size="small"
          plain
          icon="el-icon-upload2"
          @click="handleImport"
          >批量导入
        </el-button>
      </template>
    </avue-crud>
    <el-dialog
      title="车辆导入"
      append-to-body
      :visible.sync="excelBox"
      width="555px"
    >
      <avue-form
        :option="excelOption"
        v-model="excelForm"
        :upload-after="uploadAfter"
      >
        <template slot="menuLeft">
          <el-button
            type="danger"
            size="small"
            plain
            icon="el-icon-delete"
            @click="handleDelete"
            >删 除
          </el-button>
          <el-button
            type="success"
            size="small"
            plain
            icon="el-icon-upload2"
            @click="handleImport"
            >批量导入
        <template slot="excelTemplate">
          <el-button type="primary" @click="handleTemplate">
            点击下载<i class="el-icon-download el-icon--right"></i>
          </el-button>
        </template>
      </avue-crud>
      <el-dialog
        title="车辆导入"
        append-to-body
        :visible.sync="excelBox"
        width="555px"
      >
        <avue-form
          :option="excelOption"
          v-model="excelForm"
          :upload-after="uploadAfter"
        >
          <template slot="excelTemplate">
            <el-button type="primary" @click="handleTemplate">
              点击下载<i class="el-icon-download el-icon--right"></i>
            </el-button>
          </template>
        </avue-form>
      </el-dialog>
    </div>
      </avue-form>
    </el-dialog>
  </basic-container>
</template>
@@ -70,19 +70,6 @@
import { getToken } from "@/util/auth";
export default {
  props: ["fromDeptId", "windowHeight"],
  watch: {
    windowHeight() {
      if (!this.windowHeight) {
        return;
      }
      this.option.height = this.windowHeight - 320;
      this.visible = false;
      this.$nextTick(() => {
        this.visible = true;
        this.refreshChange();
      });
    },
  },
  data() {
    return {
      visible: true,
@@ -101,18 +88,18 @@
            loadText: "文件上传中,请稍等",
            span: 24,
            propsHttp: {
              res: "data",
              res: "data"
            },
            tip: "请上传 .xls,.xlsx 标准格式文件",
            action: "/api/car/import-car?deptId=" + this.deptIds,
            action: "/api/car/import-car?deptId=" + this.deptIds
          },
          {
            label: "模板下载",
            prop: "excelTemplate",
            formslot: true,
            span: 24,
          },
        ],
            span: 24
          }
        ]
      },
      loading: true,
@@ -120,7 +107,7 @@
      page: {
        pageSize: 10,
        currentPage: 1,
        total: 0,
        total: 0
      },
      query: {},
      data: [],
@@ -137,22 +124,23 @@
        selection: true,
        labelWidth: 110,
        column: column,
        ...this.$store.state.control.clearOtherBut,
        ...this.$store.state.control.clearOtherBut
      },
      useifid: 266,
      useifid: 266
    };
  },
  computed: {
    ...mapGetters(["userInfo"]),
    ids() {
      let ids = [];
      this.selectionList.forEach((ele) => {
      this.selectionList.forEach(ele => {
        ids.push(ele.id);
      });
      return ids.join(",");
    },
    }
  },
  mounted() {
    this.$store.commit("setWindowSizeHeightAdd");
    this.deptIds = this.userInfo.dept_id;
  },
  created() {
@@ -170,7 +158,7 @@
      //查询保安单位信息(包含子级)
      const column = this.findObject(this.option.column, "deptId");
      column.addDisplay = true;
       column.editDisplay = true;
      column.editDisplay = true;
      // column.search = false;
      //默认全部展开
      column.defaultExpandAll = true;
@@ -204,10 +192,9 @@
      done();
    },
    handleTemplate() {
      window.open(`/api/car/export-template-car?${
            this.website.tokenHeader
          }=${getToken()}`
        );
      window.open(
        `/api/car/export-template-car?${this.website.tokenHeader}=${getToken()}`
      );
    },
    sizeChange(val) {
      this.page1.currentPage = 1;
@@ -232,11 +219,11 @@
          this.onLoad(this.page);
          this.$message({
            type: "success",
            message: "操作成功!",
            message: "操作成功!"
          });
          done();
        },
        (error) => {
        error => {
          window.console.log(error);
          loading();
        }
@@ -268,11 +255,11 @@
          this.onLoad(this.page);
          this.$message({
            type: "success",
            message: "操作成功!",
            message: "操作成功!"
          });
          done();
        },
        (error) => {
        error => {
          window.console.log(error);
          loading();
        }
@@ -282,7 +269,7 @@
      this.$confirm("确定将选择数据删除?", {
        confirmButtonText: "确定",
        cancelButtonText: "取消",
        type: "warning",
        type: "warning"
      })
        .then(() => {
          return remove(row.id);
@@ -291,7 +278,7 @@
          this.onLoad(this.page);
          this.$message({
            type: "success",
            message: "操作成功!",
            message: "操作成功!"
          });
        });
    },
@@ -306,7 +293,7 @@
      this.$confirm("确定将选择数据删除?", {
        confirmButtonText: "确定",
        cancelButtonText: "取消",
        type: "warning",
        type: "warning"
      })
        .then(() => {
          return remove(this.ids);
@@ -315,7 +302,7 @@
          this.onLoad(this.page);
          this.$message({
            type: "success",
            message: "操作成功!",
            message: "操作成功!"
          });
          this.$refs.crudrec.toggleSelection();
        });
@@ -361,7 +348,10 @@
        params["jurisdiction"] = that.userInfo.jurisdiction;
      }
      //保安公司进入
      if (this.userInfo.role_name == "保安公司管理员" || this.userInfo.role_name == "分公司管理员") {
      if (
        this.userInfo.role_name == "保安公司管理员" ||
        this.userInfo.role_name == "分公司管理员"
      ) {
        params["deptId"] = that.userInfo.dept_id;
        //导入action 修改
        const importColumn = that.findObject(
@@ -376,10 +366,10 @@
        page.currentPage,
        page.pageSize,
        Object.assign(params, this.query)
      ).then((res) => {
      ).then(res => {
        const data = res.data.data;
        this.page.total = data.total;
        data.records.forEach((item) => {
        data.records.forEach(item => {
          if (item.numberType == -1) {
            item.numberType = null;
          }
@@ -388,11 +378,12 @@
          }
        });
        this.data = data.records;
        console.log(this.data);
        this.$store.commit("setWindowSizeHeightAdd");
        // console.log(this.data);
        this.loading = false;
      });
    },
  },
    }
  }
};
</script>
@@ -411,4 +402,4 @@
// .el-tag--light {
//   padding: 0 !important;
// }
</style>
</style>
src/views/securityEquipment/equipments.vue
@@ -1,65 +1,65 @@
<template>
  <basic-container>
    <div
      :class="[
        'equipments',
        $store.state.control.windowWidth >= 1024 ? 'oneRowSearch' : '',
      ]"
  <basic-container
    :class="[
      'equipments',
      $store.state.control.screenSize == 1366 ? 'smallSize' : 'normalSize',
      $store.state.control.windowWidth >= 1024 ? 'tooRowSearch1' : ''
    ]"
  >
    <avue-crud
      class="tablesss"
      v-if="visible"
      :option="option"
      :data="data"
      :page.sync="page"
      ref="crudrec"
      @on-load="onLoad"
      :table-loading="loading"
      @row-save="rowSave"
      @search-change="searchChange"
      @search-reset="searchReset"
      @row-update="rowUpdate"
      @row-del="rowDel"
      @selection-change="selectionChange"
      @refresh-change="refreshChange"
    >
      <avue-crud
        v-if="visible"
        :option="option"
        :data="data"
        :page.sync="page"
        ref="crudrec"
        @on-load="onLoad"
        :table-loading="loading"
        @row-save="rowSave"
        @search-change="searchChange"
        @search-reset="searchReset"
        @row-update="rowUpdate"
        @row-del="rowDel"
        @selection-change="selectionChange"
        @refresh-change="refreshChange"
      <template slot="menuLeft">
        <el-button
          type="danger"
          size="small"
          plain
          icon="el-icon-delete"
          @click="handleDelete"
          >删 除
        </el-button>
        <el-button
          type="success"
          size="small"
          plain
          icon="el-icon-upload2"
          @click="handleImport"
          >批量导入
        </el-button>
      </template>
    </avue-crud>
    <el-dialog
      title="装备附件批量导入"
      append-to-body
      :visible.sync="excelBox"
      width="555px"
    >
      <avue-form
        :option="excelOption"
        v-model="excelForm"
        :upload-after="uploadAfter"
      >
        <template slot="menuLeft">
          <el-button
            type="danger"
            size="small"
            plain
            icon="el-icon-delete"
            @click="handleDelete"
            >删 除
          </el-button>
          <el-button
            type="success"
            size="small"
            plain
            icon="el-icon-upload2"
            @click="handleImport"
            >批量导入
        <template slot="excelTemplate">
          <el-button type="primary" @click="handleTemplate">
            点击下载<i class="el-icon-download el-icon--right"></i>
          </el-button>
        </template>
      </avue-crud>
      <el-dialog
        title="装备附件批量导入"
        append-to-body
        :visible.sync="excelBox"
        width="555px"
      >
        <avue-form
          :option="excelOption"
          v-model="excelForm"
          :upload-after="uploadAfter"
        >
          <template slot="excelTemplate">
            <el-button type="primary" @click="handleTemplate">
              点击下载<i class="el-icon-download el-icon--right"></i>
            </el-button>
          </template>
        </avue-form>
      </el-dialog>
    </div>
      </avue-form>
    </el-dialog>
  </basic-container>
</template>
@@ -70,19 +70,7 @@
import { getToken } from "@/util/auth";
export default {
  props: ["fromDeptId", "windowHeight"],
  watch: {
    windowHeight() {
      if (!this.windowHeight) {
        return;
      }
      this.option.height = this.windowHeight - 320;
      this.visible = false;
      this.$nextTick(() => {
        this.visible = true;
        this.refreshChange();
      });
    },
  },
  data() {
    return {
      visible: true,
@@ -100,18 +88,18 @@
            loadText: "文件上传中,请稍等",
            span: 24,
            propsHttp: {
              res: "data",
              res: "data"
            },
            tip: "请上传 .xls,.xlsx 标准格式文件",
            action: "/api/equipage/import-equipage",
            action: "/api/equipage/import-equipage"
          },
          {
            label: "模板下载",
            prop: "excelTemplate",
            formslot: true,
            span: 24,
          },
        ],
            span: 24
          }
        ]
      },
      loading: true,
@@ -120,7 +108,7 @@
        pageSize: 10,
        currentPage: 1,
        total: 0,
        ...this.$store.state.control.changePageSize,
        ...this.$store.state.control.changePageSize
      },
      query: {},
      data: [],
@@ -138,21 +126,24 @@
        column: column,
        ...this.$store.state.control.clearOtherBut,
        labelWidth: 110,
        ...this.$store.state.control.clearOtherBut,
        ...this.$store.state.control.clearOtherBut
      },
      useifid: 266,
      useifid: 266
    };
  },
  computed: {
    ...mapGetters(["userInfo"]),
    ids() {
      let ids = [];
      this.selectionList.forEach((ele) => {
      this.selectionList.forEach(ele => {
        ids.push(ele.id);
      });
      return ids.join(",");
    },
    }
  },
  mounted() {
    this.$store.commit("setWindowSizeHeightAdd");
  },
  created() {
    if (this.windowHeight) {
@@ -203,10 +194,11 @@
      done();
    },
    handleTemplate() {
      window.open(`/api/equipage/export-template?${
            this.website.tokenHeader
          }=${getToken()}`
        );
      window.open(
        `/api/equipage/export-template?${
          this.website.tokenHeader
        }=${getToken()}`
      );
    },
    sizeChange(val) {
      this.page1.currentPage = 1;
@@ -236,15 +228,15 @@
        form["deptId"] = this.useifid;
      }
      adddata(form).then(
        (res) => {
        res => {
          this.onLoad(this.page);
          this.$message({
            type: "success",
            message: "操作成功!",
            message: "操作成功!"
          });
          done();
        },
        (error) => {
        error => {
          window.console.log(error);
          loading();
        }
@@ -277,11 +269,11 @@
          this.onLoad(this.page);
          this.$message({
            type: "success",
            message: "操作成功!",
            message: "操作成功!"
          });
          done();
        },
        (error) => {
        error => {
          window.console.log(error);
          loading();
        }
@@ -291,7 +283,7 @@
      this.$confirm("确定将选择数据删除?", {
        confirmButtonText: "确定",
        cancelButtonText: "取消",
        type: "warning",
        type: "warning"
      })
        .then(() => {
          return remove(row.id);
@@ -300,7 +292,7 @@
          this.onLoad(this.page);
          this.$message({
            type: "success",
            message: "操作成功!",
            message: "操作成功!"
          });
        });
    },
@@ -315,7 +307,7 @@
      this.$confirm("确定将选择数据删除?", {
        confirmButtonText: "确定",
        cancelButtonText: "取消",
        type: "warning",
        type: "warning"
      })
        .then(() => {
          return remove(this.ids);
@@ -324,7 +316,7 @@
          this.onLoad(this.page);
          this.$message({
            type: "success",
            message: "操作成功!",
            message: "操作成功!"
          });
          this.$refs.crudrec.toggleSelection();
        });
@@ -374,15 +366,16 @@
        page.currentPage,
        page.pageSize,
        Object.assign(params, this.query)
      ).then((res) => {
      ).then(res => {
        // console.log(res);
        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;
      });
    },
    }
  },
  mounted() {
    // this.Ourdata = data;
@@ -391,7 +384,7 @@
    // var dept_id = JSON.parse(
    //   window.localStorage.getItem("saber-userInfo")
    // ).content.dept_id;
  },
  }
};
</script>
@@ -410,4 +403,4 @@
// .el-tag--light {
//   padding: 0 !important;
// }
</style>
</style>
src/views/securityEquipment/gun.vue
@@ -1,64 +1,64 @@
<template>
  <basic-container>
    <div
      :class="[
        'equipments',
        $store.state.control.windowWidth >= 1024 ? 'oneRowSearch' : '',
      ]"
  <basic-container
    :class="[
      'equipments',
      $store.state.control.screenSize == 1366 ? 'smallSize' : 'normalSize',
      $store.state.control.windowWidth >= 1024 ? 'tooRowSearch1' : ''
    ]"
  >
    <avue-crud
      class="tablesss"
      :option="option"
      :data="data"
      :page.sync="page"
      ref="crudrec"
      @on-load="onLoad"
      :table-loading="loading"
      @row-save="rowSave"
      @search-change="searchChange"
      @search-reset="searchReset"
      @row-update="rowUpdate"
      @row-del="rowDel"
      @selection-change="selectionChange"
      @refresh-change="refreshChange"
    >
      <avue-crud
        :option="option"
        :data="data"
        :page.sync="page"
        ref="crudrec"
        @on-load="onLoad"
        :table-loading="loading"
        @row-save="rowSave"
        @search-change="searchChange"
        @search-reset="searchReset"
        @row-update="rowUpdate"
        @row-del="rowDel"
        @selection-change="selectionChange"
        @refresh-change="refreshChange"
      <template slot="menuLeft">
        <el-button
          type="danger"
          size="small"
          plain
          icon="el-icon-delete"
          @click="handleDelete"
          >删 除
        </el-button>
        <el-button
          type="success"
          size="small"
          plain
          icon="el-icon-upload2"
          @click="handleImport"
          >批量导入
        </el-button>
      </template>
    </avue-crud>
    <el-dialog
      title="枪支导入"
      append-to-body
      :visible.sync="excelBox"
      width="555px"
    >
      <avue-form
        :option="excelOption"
        v-model="excelForm"
        :upload-after="uploadAfter"
      >
        <template slot="menuLeft">
          <el-button
            type="danger"
            size="small"
            plain
            icon="el-icon-delete"
            @click="handleDelete"
            >删 除
          </el-button>
          <el-button
            type="success"
            size="small"
            plain
            icon="el-icon-upload2"
            @click="handleImport"
            >批量导入
        <template slot="excelTemplate">
          <el-button type="primary" @click="handleTemplate">
            点击下载<i class="el-icon-download el-icon--right"></i>
          </el-button>
        </template>
      </avue-crud>
      <el-dialog
        title="枪支导入"
        append-to-body
        :visible.sync="excelBox"
        width="555px"
      >
        <avue-form
          :option="excelOption"
          v-model="excelForm"
          :upload-after="uploadAfter"
        >
          <template slot="excelTemplate">
            <el-button type="primary" @click="handleTemplate">
              点击下载<i class="el-icon-download el-icon--right"></i>
            </el-button>
          </template>
        </avue-form>
      </el-dialog>
    </div>
      </avue-form>
    </el-dialog>
  </basic-container>
</template>
@@ -86,18 +86,18 @@
            loadText: "文件上传中,请稍等",
            span: 24,
            propsHttp: {
              res: "data",
              res: "data"
            },
            tip: "请上传 .xls,.xlsx 标准格式文件",
            action: "/api/gun/import-gun?deptId=" + this.deptIds,
            action: "/api/gun/import-gun?deptId=" + this.deptIds
          },
          {
            label: "模板下载",
            prop: "excelTemplate",
            formslot: true,
            span: 24,
          },
        ],
            span: 24
          }
        ]
      },
      deptIds: "",
      selectionList: [],
@@ -105,7 +105,7 @@
        pageSize: 10,
        currentPage: 1,
        total: 0,
        ...this.$store.state.control.changePageSize,
        ...this.$store.state.control.changePageSize
      },
      query: {},
      data: [],
@@ -122,20 +122,20 @@
        selection: true,
        labelWidth: 110,
        column: column,
        ...this.$store.state.control.clearOtherBut,
        ...this.$store.state.control.clearOtherBut
      },
      useifid: 266,
      useifid: 266
    };
  },
  computed: {
    ...mapGetters(["userInfo"]),
    ids() {
      let ids = [];
      this.selectionList.forEach((ele) => {
      this.selectionList.forEach(ele => {
        ids.push(ele.id);
      });
      return ids.join(",");
    },
    }
  },
  created() {
    var that = this;
@@ -157,7 +157,8 @@
        "/api/blade-system/dept/security_lazy-tree?parentId=1413470343230877697";
    }
  },
  mounted(){
  mounted() {
    this.$store.commit("setWindowSizeHeightAdd");
    this.deptIds = this.userInfo.dept_id;
  },
  methods: {
@@ -171,10 +172,9 @@
      done();
    },
    handleTemplate() {
      window.open(`/api/gun/export-template-gun?${
            this.website.tokenHeader
          }=${getToken()}`
        );
      window.open(
        `/api/gun/export-template-gun?${this.website.tokenHeader}=${getToken()}`
      );
    },
    sizeChange(val) {
      this.page1.currentPage = 1;
@@ -194,15 +194,15 @@
        form["deptId"] = this.useifid;
      }
      adddata(form).then(
        (res) => {
        res => {
          this.onLoad(this.page);
          this.$message({
            type: "success",
            message: "操作成功!",
            message: "操作成功!"
          });
          done();
        },
        (error) => {
        error => {
          window.console.log(error);
          loading();
        }
@@ -231,11 +231,11 @@
          this.onLoad(this.page);
          this.$message({
            type: "success",
            message: "操作成功!",
            message: "操作成功!"
          });
          done();
        },
        (error) => {
        error => {
          window.console.log(error);
          loading();
        }
@@ -245,7 +245,7 @@
      this.$confirm("确定将选择数据删除?", {
        confirmButtonText: "确定",
        cancelButtonText: "取消",
        type: "warning",
        type: "warning"
      })
        .then(() => {
          return remove(row.id);
@@ -254,7 +254,7 @@
          this.onLoad(this.page);
          this.$message({
            type: "success",
            message: "操作成功!",
            message: "操作成功!"
          });
        });
    },
@@ -269,7 +269,7 @@
      this.$confirm("确定将选择数据删除?", {
        confirmButtonText: "确定",
        cancelButtonText: "取消",
        type: "warning",
        type: "warning"
      })
        .then(() => {
          return remove(this.ids);
@@ -278,7 +278,7 @@
          this.onLoad(this.page);
          this.$message({
            type: "success",
            message: "操作成功!",
            message: "操作成功!"
          });
          this.$refs.crudrec.toggleSelection();
        });
@@ -325,7 +325,10 @@
        params["jurisdiction"] = that.userInfo.jurisdiction;
      }
      //保安公司进入
      if (this.userInfo.role_name == "保安公司管理员" || this.userInfo.role_name == "分公司管理员") {
      if (
        this.userInfo.role_name == "保安公司管理员" ||
        this.userInfo.role_name == "分公司管理员"
      ) {
        params["deptId"] = that.userInfo.dept_id;
        //导入action 修改
        const importColumn = that.findObject(
@@ -339,14 +342,15 @@
        page.currentPage,
        page.pageSize,
        Object.assign(params, this.query)
      ).then((res) => {
      ).then(res => {
        const data = res.data.data;
        this.page.total = data.total;
        this.data = data.records;
        this.$store.commit("setWindowSizeHeightAdd");
        // console.log(this.data);
        this.loading = false;
      });
    },
    }
  },
  mounted() {
    // this.Ourdata = data;
@@ -355,7 +359,7 @@
    // var dept_id = JSON.parse(
    //   window.localStorage.getItem("saber-userInfo")
    // ).content.dept_id;
  },
  }
};
</script>
@@ -374,4 +378,4 @@
// .el-tag--light {
//   padding: 0 !important;
// }
</style>
</style>
src/views/securityGuard/data.js
@@ -1,316 +1,314 @@
//保安员基本信息
export var securityBaseInfoColumn = [{
        label: "",
        labelWidth: "20",
        type: 'title',
        prop: "title",
        span: 24,
        styles: {
            fontSize: '24px'
        }
    },
    {
        label: "企业名称",
        prop: "deptId",
        type: "tree",
        dicUrl: "/api/blade-system/dept/security_lazy-tree?parentId=1413470343230877697",
        // dicUrl: "/api/blade-system/dept/lazy-tree?parentId=0",
        props: {
            label: "title",
            value: "id",
        },
        disabled: true,
        span: 24,
    },
    {
        label: "登录账号",
        prop: "account",
        disabled: true
    },
    {
        label: "用户姓名",
        prop: "realName",
        disabled: true,
    },
    {
        label: "用户昵称",
        prop: "name",
        disabled: true
    },
    {
        label: "手机号码",
        prop: "phone",
        disabled: true
    },
    {
        label: "电子邮箱",
        prop: "email",
        disabled: true
    },
    {
        label: "身份证号",
        prop: "cardid",
        disabled: true
    },
    {
        label: "籍贯",
        prop: "nativeplace",
        disabled: true
    },
    {
        label: "民族",
        prop: "nation",
        disabled: true
    },
    {
        label: "是否持证",
        prop: "hold",
        dicUrl: "/api/blade-system/dict-biz/dictionary?code=equipage",
        props: {
            label: "dictValue",
            value: "dictKey",
        },
        type: "select",
        disabled: true
    },
    {
        label: "保安员证编号",
        prop: "securitynumber",
        disabled: true
    },
    {
        label: "所属辖区",
        prop: "jurisdiction",
        // multiple: true,
        type: "tree",
        dicUrl: "/api/jurisdiction/lazy-tree",
        props: {
            label: "title",
            value: "id",
        },
        disabled: true
    },
    {
        label: "最高学历",
        prop: "education",
        type: "select",
        dicUrl: "/api/blade-system/dict-biz/dictionary?code=educationType",
        props: {
            label: "dictValue",
            value: "dictKey"
        },
        dataType: "number",
        slot: true,
        disabled: true
    },
    {
        label: "政治面貌",
        prop: "politicaloutlook",
        disabled: true
    },
    {
        label: "身高",
        prop: "height",
        disabled: true
    },
    {
        label: "联系地址",
        prop: "address",
        disabled: true
    },
    {
        label: "户口所在地",
        prop: "registered",
        disabled: true
    },
    {
        label: "入职时间",
        prop: "rtime",
        type: 'date',
        format: "yyyy-MM-dd",
        valueFormat: "yyyy-MM-dd",
        disabled: true
    },
    {
        label: "用户性别",
        prop: "sex",
        type: "select",
        dicData: [{
                label: "男",
                value: 1
            },
            {
                label: "女",
                value: 2
            },
            {
                label: "未知",
                value: 3
            }
        ],
        disabled: true
    },
    {
        label: "用户生日",
        type: "date",
        prop: "birthday",
        disabled: true
    label: "",
    labelWidth: "20",
    type: "title",
    prop: "title",
    span: 24,
    styles: {
      fontSize: "24px"
    }
]
  },
  {
    label: "企业名称",
    prop: "deptId",
    type: "tree",
    dicUrl: "/api/blade-system/dept/security_lazy-tree?parentId=1413470343230877697",
    // dicUrl: "/api/blade-system/dept/lazy-tree?parentId=0",
    props: {
      label: "title",
      value: "id"
    },
    disabled: true,
    span: 24
  },
  {
    label: "登录账号",
    prop: "account",
    disabled: true
  },
  {
    label: "用户姓名",
    prop: "realName",
    disabled: true
  },
  {
    label: "用户昵称",
    prop: "name",
    disabled: true
  },
  {
    label: "手机号码",
    prop: "phone",
    disabled: true
  },
  {
    label: "电子邮箱",
    prop: "email",
    disabled: true
  },
  {
    label: "身份证号",
    prop: "cardid",
    disabled: true
  },
  {
    label: "籍贯",
    prop: "nativeplace",
    disabled: true
  },
  {
    label: "民族",
    prop: "nation",
    disabled: true
  },
  {
    label: "是否持证",
    prop: "hold",
    dicUrl: "/api/blade-system/dict-biz/dictionary?code=equipage",
    props: {
      label: "dictValue",
      value: "dictKey"
    },
    type: "select",
    disabled: true
  },
  {
    label: "保安员证编号",
    prop: "securitynumber",
    disabled: true
  },
  {
    label: "所属辖区",
    prop: "jurisdiction",
    // multiple: true,
    type: "tree",
    dicUrl: "/api/jurisdiction/lazy-tree",
    props: {
      label: "title",
      value: "id"
    },
    disabled: true
  },
  {
    label: "最高学历",
    prop: "education",
    type: "select",
    dicUrl: "/api/blade-system/dict-biz/dictionary?code=educationType",
    props: {
      label: "dictValue",
      value: "dictKey"
    },
    dataType: "number",
    slot: true,
    disabled: true
  },
  {
    label: "政治面貌",
    prop: "politicaloutlook",
    disabled: true
  },
  {
    label: "身高",
    prop: "height",
    disabled: true
  },
  {
    label: "联系地址",
    prop: "address",
    disabled: true
  },
  {
    label: "户口所在地",
    prop: "registered",
    disabled: true
  },
  {
    label: "入职时间",
    prop: "rtime",
    type: "date",
    format: "yyyy-MM-dd",
    valueFormat: "yyyy-MM-dd",
    disabled: true
  },
  {
    label: "用户性别",
    prop: "sex",
    type: "select",
    dicData: [{
        label: "男",
        value: 1
      },
      {
        label: "女",
        value: 2
      },
      {
        label: "未知",
        value: 3
      }
    ],
    disabled: true
  },
  {
    label: "用户生日",
    type: "date",
    prop: "birthday",
    disabled: true
  }
];
export var securityBaseInfoColumns = [{
        label: "所属保安单位",
        prop: "tenantId",
        type: "tree",
        dicUrl: "/api/blade-system/tenant/select",
        props: {
            label: "tenantName",
            value: "tenantId"
        },
        disabled: true,
        span: 24,
    label: "所属保安单位",
    prop: "tenantId",
    type: "tree",
    dicUrl: "/api/blade-system/tenant/select",
    props: {
      label: "tenantName",
      value: "tenantId"
    },
    {
        label: "登录账号",
        prop: "account",
        disabled: true
    disabled: true,
    span: 24
  },
  {
    label: "登录账号",
    prop: "account",
    disabled: true
  },
  {
    label: "用户姓名",
    prop: "realName",
    rules: [{
        required: true,
        message: "请输入用户姓名",
        trigger: "blur"
      },
      {
        min: 2,
        max: 5,
        message: "姓名长度在2到5个字符"
      }
    ]
  },
  {
    label: "用户昵称",
    prop: "name"
  },
  {
    label: "手机号码",
    prop: "phone",
    overHidden: true,
    rules: [{
      required: true,
      message: "请输入手机号",
      trigger: "blur"
    }]
  },
  {
    label: "电子邮箱",
    prop: "email",
    hide: true,
    overHidden: true
  },
  {
    label: "身份证号",
    prop: "cardid",
    hide: true,
    overHidden: true,
    rules: [{
      required: true,
      message: "请输入身份证号",
      trigger: "blur"
    }]
  },
  {
    label: "籍贯",
    prop: "nativeplace",
    hide: true,
    overHidden: true
  },
  {
    label: "民族",
    prop: "nation",
    hide: true,
    overHidden: true
  },
  {
    label: "最高学历",
    prop: "education",
    type: "select",
    dicUrl: "/api/blade-system/dict-biz/dictionary?code=educationType",
    props: {
      label: "dictValue",
      value: "dictKey"
    },
    {
        label: "用户姓名",
        prop: "realName",
        rules: [{
            required: true,
            message: "请输入用户姓名",
            trigger: "blur"
        }, {
            min: 2,
            max: 5,
            message: '姓名长度在2到5个字符'
        }]
    },
    {
        label: "用户昵称",
        prop: "name"
    },
    {
        label: "手机号码",
        prop: "phone",
        overHidden: true,
        rules: [{
            required: true,
            message: "请输入手机号",
            trigger: "blur"
        }]
    },
    {
        label: "电子邮箱",
        prop: "email",
        hide: true,
        overHidden: true
    },
    {
        label: "身份证号",
        prop: "cardid",
        hide: true,
        overHidden: true,
        rules: [{
            required: true,
            message: "请输入身份证号",
            trigger: "blur"
        }]
    },
    {
        label: "籍贯",
        prop: "nativeplace",
        hide: true,
        overHidden: true
    },
    {
        label: "民族",
        prop: "nation",
        hide: true,
        overHidden: true
    },
    {
        label: "最高学历",
        prop: "education",
        type: "select",
        dicUrl: "/api/blade-system/dict-biz/dictionary?code=educationType",
        props: {
            label: "dictValue",
            value: "dictKey"
        },
        dataType: "number",
        slot: true,
        rules: [{
            required: true,
            message: "请选择学历",
            trigger: "blur"
        }]
    },
    {
        label: "政治面貌",
        prop: "politicaloutlook",
        hide: true,
        overHidden: true
    },
    {
        label: "身高",
        prop: "height",
        hide: true,
        overHidden: true
    },
    {
        label: "联系地址",
        prop: "address",
        hide: true,
        overHidden: true
    },
    {
        label: "户口所在地",
        prop: "registered",
        hide: true,
        overHidden: true
    },
    {
        label: "入职时间",
        prop: "rtime",
        type: 'date',
        format: "yyyy-MM-dd",
        valueFormat: "yyyy-MM-dd",
        hide: true,
        overHidden: true
    },
    {
        label: "用户性别",
        prop: "sex",
        type: "select",
        dicData: [{
                label: "男",
                value: 1
            },
            {
                label: "女",
                value: 2
            },
            {
                label: "未知",
                value: 3
            }
        ],
        hide: true
    },
    {
        label: "用户生日",
        type: "date",
        prop: "birthday",
        hide: true
    }
]
    dataType: "number",
    slot: true,
    rules: [{
      required: true,
      message: "请选择学历",
      trigger: "blur"
    }]
  },
  {
    label: "政治面貌",
    prop: "politicaloutlook",
    hide: true,
    overHidden: true
  },
  {
    label: "身高",
    prop: "height",
    hide: true,
    overHidden: true
  },
  {
    label: "联系地址",
    prop: "address",
    hide: true,
    overHidden: true
  },
  {
    label: "户口所在地",
    prop: "registered",
    hide: true,
    overHidden: true
  },
  {
    label: "入职时间",
    prop: "rtime",
    type: "date",
    format: "yyyy-MM-dd",
    valueFormat: "yyyy-MM-dd",
    hide: true,
    overHidden: true
  },
  {
    label: "用户性别",
    prop: "sex",
    type: "select",
    dicData: [{
        label: "男",
        value: 1
      },
      {
        label: "女",
        value: 2
      },
      {
        label: "未知",
        value: 3
      }
    ],
    hide: true
  },
  {
    label: "用户生日",
    type: "date",
    prop: "birthday",
    hide: true
  }
];
//从业记录
export var practitionersColumn = [{
@@ -319,499 +317,517 @@
    hide: true,
    editDisplay: false,
    addDisplay: false
}, {
    label: '企业名称',
  },
  {
    label: "企业名称",
    prop: "companyname",
    formslot: true,
    rules: [{
        required: true,
        message: "请选择企业名称",
        trigger: "blur"
      required: true,
      message: "请选择企业名称",
      trigger: "blur"
    }]
}, {
    label: '部门',
  },
  {
    label: "部门",
    prop: "department",
    formslot: true,
}, {
    label: '岗位',
    formslot: true
  },
  {
    label: "岗位",
    prop: "post",
    formslot: true,
}, {
    label: '岗位职责',
    formslot: true
  },
  {
    label: "岗位职责",
    prop: "responsibilities",
    formslot: true,
}, {
    label: '入职时间',
    type: 'date',
    formslot: true
  },
  {
    label: "入职时间",
    type: "date",
    format: "yyyy-MM-dd",
    valueFormat: "yyyy-MM-dd",
    prop: "entrytime",
    formslot: true,
    rules: [{
        required: true,
        message: "请选择入职时间",
        trigger: "blur"
      required: true,
      message: "请选择入职时间",
      trigger: "blur"
    }]
}, {
    label: '离职时间',
    type: 'date',
  },
  {
    label: "离职时间",
    type: "date",
    format: "yyyy-MM-dd",
    valueFormat: "yyyy-MM-dd",
    prop: "departuretime",
    formslot: true,
    rules: [{
        required: true,
        message: "请选择离职时间",
        trigger: "blur"
      required: true,
      message: "请选择离职时间",
      trigger: "blur"
    }]
}, {
    label: '离职原因',
  },
  {
    label: "离职原因",
    prop: "leaving",
    formslot: true,
}]
    formslot: true
  }
];
export var practitionersColumns = [{
    width: 200,
    label: '企业名称',
    label: "企业名称",
    prop: "companyname",
    formslot: true,
}, {
    formslot: true
  },
  {
    width: 200,
    label: '部门',
    label: "部门",
    prop: "department",
    formslot: true,
}, {
    formslot: true
  },
  {
    width: 200,
    label: '岗位',
    label: "岗位",
    prop: "post",
    formslot: true,
}, {
    formslot: true
  },
  {
    width: 200,
    label: '岗位职责',
    label: "岗位职责",
    prop: "responsibilities",
    formslot: true,
}, {
    formslot: true
  },
  {
    width: 200,
    label: '入职时间',
    type: 'date',
    label: "入职时间",
    type: "date",
    format: "yyyy-MM-dd",
    valueFormat: "yyyy-MM-dd",
    prop: "entryTime",
    formslot: true,
}, {
    formslot: true
  },
  {
    width: 200,
    label: '离职时间',
    type: 'date',
    label: "离职时间",
    type: "date",
    format: "yyyy-MM-dd",
    valueFormat: "yyyy-MM-dd",
    prop: "departureTime",
    formslot: true,
}, {
    formslot: true
  },
  {
    width: 200,
    label: '离职原因',
    label: "离职原因",
    prop: "leaving",
    formslot: true,
}]
    formslot: true
  }
];
//表现
export var trackRecordColumn = [{
        label: "id",
        prop: "id",
        hide: true,
        editDisplay: false,
        addDisplay: false
    }, {
        label: '时间',
        type: 'date',
        format: "yyyy-MM-dd",
        valueFormat: "yyyy-MM-dd",
        prop: "time",
        formslot: true,
    },
    // {
    //     label: '工作态度',
    //     prop: "workingattitude",
    //     formslot: true,
    label: "id",
    prop: "id",
    hide: true,
    editDisplay: false,
    addDisplay: false
  },
  {
    label: "时间",
    type: "date",
    format: "yyyy-MM-dd",
    valueFormat: "yyyy-MM-dd",
    prop: "time",
    formslot: true
  },
  // {
  //     label: '工作态度',
  //     prop: "workingattitude",
  //     formslot: true,
  // },
  {
    label: "工作表现",
    prop: "achievements",
    formslot: true
  },
  {
    label: "表现评定",
    prop: "score",
    type: "select",
    // dicUrl: "/api/blade-system/dict-biz/dictionary?code=scoreType",
    // props: {
    //     label: "dictValue",
    //     value: "dictKey"
    // },
    {
        label: '工作表现',
        prop: "achievements",
        formslot: true,
    }, {
        label: '表现评定',
        prop: "score",
        type: "select",
        // dicUrl: "/api/blade-system/dict-biz/dictionary?code=scoreType",
        // props: {
        //     label: "dictValue",
        //     value: "dictKey"
        // },
        dicData: [{
                label: "优秀",
                value: 0
            },
            {
                label: "良好",
                value: 1
            },
            {
                label: "一般",
                value: 2
            },
            {
                label: "差",
                value: 3
            },
        ],
        dataType: "number",
        slot: true,
        rules: [{
            required: true,
            message: "请选择表现",
            trigger: "blur"
        }]
    }
    // {
    //     label: '服务公司',
    //     prop: "departmentName",
    //     formslot: true,
    // }
]
    dicData: [{
        label: "优秀",
        value: 0
      },
      {
        label: "良好",
        value: 1
      },
      {
        label: "一般",
        value: 2
      },
      {
        label: "差",
        value: 3
      }
    ],
    dataType: "number",
    slot: true,
    rules: [{
      required: true,
      message: "请选择表现",
      trigger: "blur"
    }]
  }
  // {
  //     label: '服务公司',
  //     prop: "departmentName",
  //     formslot: true,
  // }
];
export var securityFormPageColumn = [{
        label: "姓名",
        prop: "realName",
        search: true,
        searchSpan: 3,
        width: 65,
        searchLabelWidth: 50,
        display: false
    label: "姓名",
    prop: "realName",
    search: true,
    searchSpan: 3,
    width: 65,
    searchLabelWidth: 50,
    display: false
  },
  {
    label: "企业名称",
    searchLabelWidth: 75,
    // prop: "deptName",
    prop: "deptId",
    type: "tree",
    // dicUrl: "/api/blade-system/dept/security_lazy-tree?parentId=1413470343230877697",
    props: {
      label: "title",
      value: "id"
    },
    {
        label: "企业名称",
        searchLabelWidth: "80",
        // prop: "deptName",
        prop: "deptId",
        type: "tree",
        // dicUrl: "/api/blade-system/dept/security_lazy-tree?parentId=1413470343230877697",
        props: {
            label: "title",
            value: "id",
        },
        // hide: true,
        slot: true,
        searchSpan: 5,
        display: false,
        search: true,
        minWidth: 160
    },
    {
        label: "性别",
        prop: "sexs",
        sortable: true,
        width: 75,
        type: "select",
        dicData: [{
                label: "男",
                value: 1,
            },
            {
                label: "女",
                value: 2,
            },
            // {
            //     label: "未知",
            //     value: 3,
            // },
        ],
        display: false
    },
    {
        label: "身份证号码",
        prop: "cardid",
        search: true,
        searchLabelWidth: 90,
        searchSpan: 4,
        width: 140,
        display: false
    },
    {
        label: "照片",
        prop: "avatar",
        type: "upload",
        listType: "picture-img",
        width: 60,
        display: false
    },
    {
        label: "籍贯",
        prop: "nativeplace",
        hide: true,
        display: false
    },
    {
        label: "民族",
        prop: "nation",
        hide: true,
        width: 55,
        display: false
    },
    {
        label: "出生日期",
        prop: "birthday",
        type: "date",
        format: "yyyy-MM-dd",
        valueFormat: "yyyy-MM-dd",
        display: false,
        hide: true,
    },
    {
        label: "年龄",
        prop: "age",
        width: 55,
    // hide: true,
    slot: true,
    searchSpan: 5,
    display: false,
    search: true,
    minWidth: 160
  },
  {
    label: "性别",
    prop: "sexs",
    sortable: true,
    width: 75,
    type: "select",
    dicData: [{
        label: "男",
        value: 1
      },
      {
        label: "女",
        value: 2
      }
      // {
      //     label: "未知",
      //     value: 3,
      // },
    ],
    display: false
  },
  {
    label: "身份证号码",
    prop: "cardid",
    search: true,
    searchLabelWidth: 90,
    searchSpan: 4,
    width: 164,
    display: false
  },
  {
    label: "照片",
    prop: "avatar",
    type: "upload",
    listType: "picture-img",
    width: 60,
    display: false
  },
  {
    label: "籍贯",
    prop: "nativeplace",
    hide: true,
    display: false
  },
  {
    label: "民族",
    prop: "nation",
    hide: true,
    width: 55,
    display: false
  },
  {
    label: "出生日期",
    prop: "birthday",
    type: "date",
    format: "yyyy-MM-dd",
    valueFormat: "yyyy-MM-dd",
    display: false,
    hide: true
  },
  {
    label: "年龄",
    prop: "age",
    width: 55,
        display: false
    },
    // {
    //     label: "学历",
    //     prop: "education",
    //     display: false,
    //     width: 90,
    //     dicUrl: "/api/blade-system/dict-biz/dictionary?code=educationType",
    //     props: {
    //         label: "dictValue",
    //         value: "dictKey"
    //     },
    //     type: "select",
    //     // hide: true,
    //     rules: [{
    //         required: true,
    //         message: "请选择学历",
    //         trigger: "blur"
    //     }],
    // },
    {
        label: "联系电话",
        prop: "phone",
        minWidth: 80,
        display: false
    },
    {
        label: "健康状态",
        prop: "healstats",
        hide: true,
        display: false
    },
    {
        label: "保安证编号",
        prop: "securitynumber",
        search: true,
        searchLabelWidth: 90,
        sortable: true,
        width: 118,
        searchSpan: 4,
        addDisplay: false,
        editDisplay: false,
        // hide: true,
    },
    {
        label: "入职时间",
        prop: "rtime",
        hide: true,
        display: false
    },
    {
        label: '是否派遣',
        prop: 'dispatch',
        type: 'select',
        sortable: true,
        editDisplay: false,
        search: true,
        width: 110,
        searchSpan: 3,
        addDisplay: false,
        dicData: [{
                label: '全部',
                value: '2'
            },
            {
                label: '已派遣',
                value: '0'
            },
            {
                label: '未派遣',
                value: '1'
            }
        ]
    },
    {
        label: "是否持证",
        prop: "hold",
        slot: true,
        sortable: true,
        search: true,
        searchSpan: 3,
        width: 110,
        type: "select",
        dicData: [{
                label: "是",
                value: "1",
            },
            {
                label: "否",
                value: "2",
            },
            {
                label: "已吊销",
                value: "3",
            },
        ],
        display: false,
        rules: [{
            required: true,
            message: "请选择",
            trigger: "blur"
        }],
    },
    display: false
  },
  // {
  //     label: "学历",
  //     prop: "education",
  //     display: false,
  //     width: 90,
  //     dicUrl: "/api/blade-system/dict-biz/dictionary?code=educationType",
  //     props: {
  //         label: "dictValue",
  //         value: "dictKey"
  //     },
  //     type: "select",
  //     // hide: true,
  //     rules: [{
  //         required: true,
  //         message: "请选择学历",
  //         trigger: "blur"
  //     }],
  // },
  {
    label: "联系电话",
    prop: "phone",
    minWidth: 108,
    display: false
  },
  {
    label: "健康状态",
    prop: "healstats",
    hide: true,
    display: false
  },
  {
    label: "保安证编号",
    prop: "securitynumber",
    search: true,
    searchLabelWidth: 90,
    sortable: true,
    width: 123,
    searchSpan: 4,
    addDisplay: false,
    editDisplay: false
    // hide: true,
  },
  {
    label: "入职时间",
    prop: "rtime",
    hide: true,
    display: false
  },
  {
    label: "是否派遣",
    prop: "dispatch",
    type: "select",
    sortable: true,
    editDisplay: false,
    searchLabelWidth: 75,
    search: true,
    width: 110,
    searchSpan: 3,
    addDisplay: false,
    dicData: [{
        label: "全部",
        value: "2"
      },
      {
        label: "已派遣",
        value: "0"
      },
      {
        label: "未派遣",
        value: "1"
      }
    ]
  },
  {
    label: "是否持证",
    prop: "hold",
    slot: true,
    sortable: true,
    searchLabelWidth: 75,
    search: true,
    searchSpan: 3,
    width: 110,
    type: "select",
    dicData: [{
        label: "是",
        value: "1"
      },
      {
        label: "否",
        value: "2"
      },
      {
        label: "已吊销",
        value: "3"
      }
    ],
    display: false,
    rules: [{
      required: true,
      message: "请选择",
      trigger: "blur"
    }]
  },
    {
        label: "是否制证",
        prop: "userType",
        type: "select",
        sortable: true,
        slot: true,
        search: true,
        // searchValue: 7,
        editDisplay: false,
        addDisplay: false,
        searchSpan: 3,
        width: 110,
        dicData: [{
                label: "已制证",
                value: 6,
            },
            {
                label: "未制证",
                value: 7,
            }
        ],
    },
  {
    label: "是否制证",
    prop: "userType",
    type: "select",
    sortable: true,
    slot: true,
    search: true,
    // searchValue: 7,
    editDisplay: false,
    addDisplay: false,
    searchSpan: 3,
    width: 110,
    dicData: [{
        label: "已制证",
        value: 6
      },
      {
        label: "未制证",
        value: 7
      }
    ]
  },
    // {
    //     label: "发证日期",
    //     prop: "papertime",
    //     type: "date",
    //     format: "yyyy-MM-dd",
    //     valueFormat: "yyyy-MM-dd",
    //     // searchRange: true,
    //     // searchSpan: 6,
    //     // hide: true,
    //     // addDisplay: false,
    //     // editDisplay: false,
    //     // viewDisplay: false,
    //     // search: true,
    //     // rules: [{
    //     //     required: true,
    //     //     message: "请输入时间",
    //     //     trigger: "blur"
    //     // }]
    // },
    {
        label: "有无照片",
        prop: "isAvatar",
        type: "select",
        search: true,
        minWidth: 105,
        searchSpan: 3,
        addDisplay: false,
        editDisplay: false,
        hide: true,
        display: false,
        dicData: [{
                label: "全部",
                value: 3,
            },
            {
                label: "有",
                value: 1,
            },
            {
                label: "无",
                value: 2,
            },
        ],
  // {
  //     label: "发证日期",
  //     prop: "papertime",
  //     type: "date",
  //     format: "yyyy-MM-dd",
  //     valueFormat: "yyyy-MM-dd",
  //     // searchRange: true,
  //     // searchSpan: 6,
  //     // hide: true,
  //     // addDisplay: false,
  //     // editDisplay: false,
  //     // viewDisplay: false,
  //     // search: true,
  //     // rules: [{
  //     //     required: true,
  //     //     message: "请输入时间",
  //     //     trigger: "blur"
  //     // }]
  // },
  {
    label: "有无照片",
    prop: "isAvatar",
    type: "select",
    search: true,
    minWidth: 105,
    searchSpan: 3,
    addDisplay: false,
    editDisplay: false,
    hide: true,
    display: false,
    dicData: [{
        label: "全部",
        value: 3
      },
      {
        label: "有",
        value: 1
      },
      {
        label: "无",
        value: 2
      }
    ]
  },
  {
    label: "是否采集指纹",
    prop: "isFingerprint",
    type: "select",
    search: true,
    searchLabelWidth: 110,
    minWidth: 105,
    searchSpan: 4,
    addDisplay: false,
    editDisplay: false,
    hide: true,
    display: false,
    dicData: [{
        label: "全部",
        value: 3
      },
      {
        label: "是",
        value: 1
      },
      {
        label: "否",
        value: 2
      }
    ]
  },
  {
    label: "在职状态",
    prop: "status",
    type: "select",
    dicUrl: "/api/blade-system/dict-biz/dictionary?code=workerState",
    props: {
      label: "dictValue",
      value: "dictKey"
    },
    {
        label: "是否采集指纹",
        prop: "isFingerprint",
        type: "select",
        search: true,
        searchLabelWidth: 110,
        minWidth: 105,
        searchSpan: 4,
        addDisplay: false,
        editDisplay: false,
        hide: true,
        display: false,
        dicData: [{
                label: "全部",
                value: 3,
            },
            {
                label: "是",
                value: 1,
            },
            {
                label: "否",
                value: 2,
            },
        ],
    },
    {
        label: "在职状态",
        prop: "status",
        type: "select",
        dicUrl: "/api/blade-system/dict-biz/dictionary?code=workerState",
        props: {
            label: "dictValue",
            value: "dictKey"
        },
        dataType: "number",
        searchValue: 1,
        display: false,
        hide: true,
        searchSpan: 3,
        width: 80,
        search: true,
        rules: [{
            required: true,
            message: "请选择在职状态",
            trigger: "blur"
        }]
    },
    {
        label: "审查状态",
        prop: "examinationType",
        type: "select",
        sortable: true,
        display: false,
        searchSpan: 3,
        search: true,
        hide: true,
        width: 110,
        dicData: [{
                label: "全部",
                value: 6,
            },
            {
                label: "正常",
                value: "0",
            },
            {
                label: "异常",
                value: "1",
            }
        ],
    },
]
    dataType: "number",
    searchValue: 1,
    display: false,
    hide: true,
    searchSpan: 3,
    width: 80,
    search: true,
    rules: [{
      required: true,
      message: "请选择在职状态",
      trigger: "blur"
    }]
  },
  {
    label: "审查状态",
    prop: "examinationType",
    type: "select",
    sortable: true,
    display: false,
    searchSpan: 3,
    search: true,
    hide: true,
    width: 110,
    dicData: [{
        label: "全部",
        value: 6
      },
      {
        label: "正常",
        value: "0"
      },
      {
        label: "异常",
        value: "1"
      }
    ]
  }
];
Diff truncated after the above file
src/views/securityGuard/securityGuard.vue src/views/securityUnit/localCompany.vue src/views/securityUnit/securityTraining.vue src/views/securityUnit/selfRecruitedSecurityGuard.vue src/views/securityUnit/transRegionalcompany.vue src/views/securityUnitChild/index copy.vue src/views/securityUnitChild/index.vue src/views/securityUnitChild/manager.vue src/views/securityUnitChild/shareholder.vue src/views/securityUnitChild/social.vue src/views/statisticalQueryManagement/businessStatistics.vue src/views/statisticalQueryManagement/securityGuardStatistics.vue src/views/system/client.vue src/views/system/dept.vue src/views/system/dict.vue src/views/system/dictbiz.vue src/views/system/menu.vue src/views/system/param.vue src/views/system/post.vue src/views/system/tenant.vue src/views/system/topmenu.vue src/views/system/user.vue src/views/talk/talk.vue src/views/trainExam/index.vue src/views/trainExam/modifiedGrades.vue src/views/trainExam/performance.vue src/views/trainExam/singleperformance.vue src/views/traincompany/index.vue src/views/trainingRegistration/index.vue src/views/workreport/workreply.vue src/views/workreport/workreport.vue src/views/zc/zc.vue