Administrator
2021-08-27 9a8d88adf85350c7bbd1150f7263d4be5d5084f3
派遣单位,记录修改
4 files modified
371 ■■■■■ changed files
src/api/dispatch/dispatch.js 117 ●●●● patch | view | raw | blame | history
src/api/system/user.js 11 ●●●●● patch | view | raw | blame | history
src/views/dispatch/dispatch.vue 38 ●●●● patch | view | raw | blame | history
src/views/dispatch/dispatchChildoperable.vue 205 ●●●●● patch | view | raw | blame | history
src/api/dispatch/dispatch.js
@@ -1,78 +1,89 @@
import request from '@/router/axios';
export const getdata = (current, size, params) => {
  return request({
    url: '/api/dispatcherUnit/page',
    method: 'get',
    params: {
      ...params,
      current,
      size,
    }
  })
    return request({
        url: '/api/dispatcherUnit/page',
        method: 'get',
        params: {
            ...params,
            current,
            size,
        }
    })
}
export const getDispatcherUnitByDeptId = (deptId) => {
    return request({
        url: '/api/dispatcherUnit/page-tree',
        method: 'get',
        params: {
            deptId
        }
    })
}
export const adddata = (row) => {
  return request({
    url: '/api/dispatcherUnit/submit',
    method: 'post',
    data: row
  })
    return request({
        url: '/api/dispatcherUnit/submit',
        method: 'post',
        data: row
    })
}
export const update = (row) => {
  return request({
    url: '/api/dispatcherUnit/submit',
    method: 'post',
    data: row
  })
    return request({
        url: '/api/dispatcherUnit/submit',
        method: 'post',
        data: row
    })
}
export const remove = (ids) => {
  return request({
    url: '/api/dispatcherUnit/remove',
    method: 'post',
    params: {
      ids,
    }
  })
    return request({
        url: '/api/dispatcherUnit/remove',
        method: 'post',
        params: {
            ids,
        }
    })
}
export const getdata1 = (current, size, params) => {
  // console.log(params,'set')
  return request({
    url: '/api/dispatcher/page',
    method: 'get',
    params: {
      ...params,
      current,
      size,
    }
  })
    // console.log(params,'set')
    return request({
        url: '/api/dispatcher/page',
        method: 'get',
        params: {
            ...params,
            current,
            size,
        }
    })
}
export const adddata1 = (row) => {
  return request({
    url: '/api/dispatcher/submit',
    method: 'post',
    data: row
  })
    return request({
        url: '/api/dispatcher/submit',
        method: 'post',
        data: row
    })
}
export const update1 = (row) => {
  return request({
    url: '/api/dispatcher/submit',
    method: 'post',
    data: row
  })
    return request({
        url: '/api/dispatcher/submit',
        method: 'post',
        data: row
    })
}
export const remove1 = (ids) => {
  return request({
    url: '/api/dispatcher/remove',
    method: 'post',
    params: {
      ids,
    }
  })
    return request({
        url: '/api/dispatcher/remove',
        method: 'post',
        params: {
            ids,
        }
    })
}
src/api/system/user.js
@@ -13,6 +13,17 @@
    })
}
export const getListByDeptId = (deptId) => {
    return request({
        url: '/api/blade-user/page-security-units',
        method: 'get',
        params: {
            deptId,
        }
    })
}
export const remove = (ids) => {
    return request({
        url: '/api/blade-user/remove',
src/views/dispatch/dispatch.vue
@@ -266,7 +266,7 @@
          {
            label: "合同生效时间",
            prop: "releaseTimeRange",
            type: "datetime",
            type: "date",
            format: "yyyy-MM-dd",
            valueFormat: "yyyy-MM-dd",
            searchValue: [this.getStartTime(), this.getEndTime()],
@@ -289,14 +289,14 @@
          {
            label: "所属辖区",
            prop: "jurisdiction",
            // multiple: true,
            hide: true,
            searchLabelWidth: 80,
            search: true,
            searchSpan: 4,
            overHidden: true,
            labelWidth: 118,
            type: "tree",
            dicUrl: "/api/jurisdiction/lazy-tree?parentId=0",
            dicUrl: "/api/jurisdiction/lazy-tree?parentId=1123598813738675201",
            props: {
              label: "title",
              value: "id",
@@ -306,16 +306,42 @@
            rules: [
              {
                required: true,
                message: "请选择所属行政区",
                message: "请选择所属辖区",
                trigger: "click",
              },
            ],
          },
          {
            label: " 派遣人数",
            prop: "num",
            label: "所属辖区",
            prop: "jurisdictionName",
            // multiple: true,
            searchLabelWidth: 80,
            addDisplay: false,
            editDisplay: false,
            viewDisplay: false,
            overHidden: true,
            labelWidth: 118,
            type: "tree",
            dicUrl: "/api/jurisdiction/lazy-tree?parentId=1123598813738675201",
            props: {
              label: "title",
              value: "id",
            },
            checkStrictly: true,
            slot: true,
            rules: [
              {
                required: true,
                message: "请选择所属辖区",
                trigger: "click",
              },
            ],
          },
          // {
          //   label: " 派遣人数",
          //   prop: "num",
          //   labelWidth: 118,
          // },
          {
            label: "合同开始时间",
            prop: "startTime",
src/views/dispatch/dispatchChildoperable.vue
@@ -6,7 +6,9 @@
        :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"
@@ -21,12 +23,12 @@
</template> 
<script>
import { getdata1, adddata1, update1, remove1 } from "@/api/dispatch/dispatch";
import { getDept } from "@/api/system/dept";
import { getdata1, adddata1, update1, remove1,getDispatcherUnitByDeptId} from "@/api/dispatch/dispatch";
import { getListByDeptId } from "@/api/system/user";
import { mapState } from "vuex";
export default {
  data() {
    let baseUrl = "https://cli.avuejs.com/api/area";
    return {
      deptCategory: "",
      deptId: "",
@@ -38,6 +40,7 @@
        currentPage: 1,
        total: 0,
      },
      form: {},
      query1: {},
      data1: [],
      option1: {
@@ -70,36 +73,11 @@
            editDisplay: false,
          },
          {
            label: "派遣单位",
            prop: "dispatcherUnitId",
            labelWidth: 120,
            searchLabelWidth: 80,
            dicUrl: "/api/dispatcherUnit/page-tree",
            props: {
              label: "name",
              value: "id",
            },
            hide: true,
            searchSpan: 4,
            search: true,
            overHidden: true,
            type: "tree",
            rules: [
              {
                required: true,
                message: "请输入派遣单位",
                trigger: "blur",
              },
            ],
          },
          // {
          {
            label: "保安公司",
            prop: "deptId",
            search: true,
            labelWidth: 120,
            type: "select",
            type: "tree",
            searchSpan: 4,
            cascaderItem: ["userIds"],
            props: {
@@ -117,20 +95,66 @@
            ],
          },
          {
            label: "派遣单位",
            prop: "dispatcherUnitId",
            labelWidth: 120,
            searchLabelWidth: 80,
            // dicUrl: "/api/dispatcherUnit/page-tree?deptId={{key}}",
            props: {
              label: "name",
              value: "id",
            },
            hide: true,
            searchSpan: 4,
            search: true,
            overHidden: true,
            type: "tree",
            rules: [
              {
                required: true,
                message: "请输入派遣单位",
                trigger: "blur",
              },
            ],
          },
          {
            label: "保安员",
            prop: "userIds",
            type: "select",
            type: "tree",
            width: 70,
            labelWidth: 120,
            searchSpan: 3,
            search: true,
            // cell: true,
            hide: true,
            props: {
              label: "realName",
              value: "id",
            },
            dicUrl: `/api/blade-user/page-security-units?deptId={{key}}`,
            dicData: [],
            rules: [
              {
                required: true,
                message: "请选择保安",
                trigger: "blur",
              },
            ],
          },
          {
            label: "保安员",
            prop: "securityName",
            type: "tree",
            width: 70,
            labelWidth: 120,
            addDisplay: false,
            editDisplay: false,
            // hide: true,
            props: {
              label: "realName",
              value: "id",
            },
            dicUrl: `/api/blade-user/page-security-units?deptId={{key}}`,
            dicData: [],
            rules: [
              {
                required: true,
@@ -142,7 +166,7 @@
          {
            label: "身份证",
            prop: "cardid",
            prop: "idCardNo",
            labelWidth: 120,
            overHidden: true,
            addDisplay: false,
@@ -167,7 +191,7 @@
          // },
          {
            label: "派遣时间",
            label: "开始时间",
            prop: "dispatchertime",
            type: "date",
            format: "yyyy-MM-dd",
@@ -207,12 +231,12 @@
          {
            label: "派遣时间",
            prop: "releaseTimeRange",
            type: "datetime",
            type: "date",
            format: "yyyy-MM-dd",
            valueFormat: "yyyy-MM-dd",
            searchValue: [this.getStartTime(), this.getEndTime()],
            searchRange: true,
            searchSpan: 4,
            searchSpan: 5,
            hide: true,
            addDisplay: false,
            editDisplay: false,
@@ -245,6 +269,16 @@
      },
    };
  },
  created () {
     if(this.userInfo.role_name=="保安公司管理员"){
        const deptColumn = this.findObject(this.option1.column, "deptId");
        deptColumn.search = false;
      }
  },
  computed: {
    // },
    ids1() {
@@ -254,7 +288,11 @@
      });
      return ids1.join(",");
    },
    ...mapState({
      userInfo: (state) => state.user.userInfo,
    }),
  },
  methods: {
    handleChangeTABS(column) {
      this.typeTABS = column;
@@ -275,15 +313,18 @@
      this.page1.pageSize = val;
      // this.getData();
      this.onLoad1(this.page1, this.query1);
      //   this.$message.success("行数" + val);
    },
    currentChange1(val) {
      this.page1.currentPage = val;
      // this.getData();
      this.onLoad1(this.page1, this.query1);
      //   this.$message.success("页码" + val);
    },
    rowSave1(form, done, loading) {
      // if(this.userInfo.role_name=="保安公司管理员"){
      //   const userColumn = this.findObject(this.option1.column, "userIds");
      //   userColumn.dicUrl = "/api/blade-user/page-security-units?deptId="+this.userInfo.dept_id;
      // }
      adddata1(form).then(
        (res) => {
          this.onLoad1(this.page1);
@@ -311,6 +352,10 @@
      this.onLoad1(this.page1);
    },
    rowUpdate1(row, index, done, loading) {
      // if(this.userInfo.role_name=="保安公司管理员"){
      //   const userColumn = this.findObject(this.option1.column, "userIds");
      //   userColumn.dicUrl = "/api/blade-user/page-security-units?deptId="+this.userInfo.dept_id;
      // }
      update1(row).then(
        () => {
          this.onLoad1(this.page1);
@@ -375,6 +420,20 @@
      this.onLoad1(this.page1, this.query1);
    },
    beforeOpen(done, type) {
      var that = this;
      if (["add","edit", "view"].includes(type)) {
        if(this.userInfo.role_name=="保安公司管理员"){
          getListByDeptId(that.userInfo.dept_id).then((res)=>{
            const userColumn = that.findObject(this.option1.column, "userIds");
            userColumn.dicData = res.data.data;
          })
        }
      }
      this.initFlag = true;
      done();
    },
    getStartTime() {
      if (
        this.$route.query.startTime != undefined &&
@@ -398,6 +457,7 @@
    //
    onLoad1(page, params = {}) {
      this.loading1 = true;
      var that = this;
      var values;
      const { releaseTimeRange } = this.query1;
      if (releaseTimeRange) {
@@ -415,59 +475,54 @@
        };
      }
      console.log(values);
      if(this.userInfo.role_name=="保安公司管理员"){
        const deptColumn = this.findObject(this.option1.column, "deptId");
        deptColumn.disabled = true;
        // deptColumn.search = false; //会报错
        deptColumn.value = this.userInfo.dept_id;
        this.initData(2);
      }else{
        this.initData(1);
      }
      getdata1(
        page.currentPage,
        page.pageSize,
        // Object.assign(params, this.query)
        values
      ).then((res) => {
        // console.log(res);
        const data = res.data.data;
        this.page1.total = data.total;
        this.data1 = data.records;
        console.log(this.data1, 1111111111111111111111111);
        this.loading1 = false;
        this.$nextTick(() => this.$refs.crudrec1.dicInit("cascader"));
        // this.$nextTick(() => this.$refs.crudrec1.dicInit("cascader"));
        console.log(this.form,111111);
      });
    },
    //派遣记录
    initData(type){
      var that = this;
      if(type==1){
          getDispatcherUnitByDeptId(null).then((res)=>{
            const dispatcherUnitIdColumn = that.findObject(this.option1.column, "dispatcherUnitId");
            dispatcherUnitIdColumn.dicData = res.data.data;
        })
      }
      if(type==2){
          getDispatcherUnitByDeptId(that.userInfo.dept_id).then((res)=>{
            const dispatcherUnitIdColumn = that.findObject(this.option1.column, "dispatcherUnitId");
            dispatcherUnitIdColumn.dicData = res.data.data;
        })
      }
    }
  },
  //  watch: {
  //   "form.deptId"() {
  //     this.initData();
  //   }
  // },
  mounted() {
    this.onLoad1(this.page1, this.query1);
    //去掉缓存
    // this.typeTABS = this.optionTABS.column[0];
    // var row = {};
    // if (this.readLock("paqiandata") != null) {
    //   row = JSON.parse(this.readLock("paqiandata"));
    //   this.obj0.name = row.name;
    //   for (var k in row) {
    //     this.obj0[k] = row[k];
    //   }
    //   console.log(this.obj0, 11111111);
    //   this.id = row.id;
    //   if (this.readLock("paqiandataS") != null) {
    //     var b = JSON.parse(this.readLock("paqiandataS"));
    //     var i = 0;
    //     for (var k in b) {
    //       if (b[k].name == row.name) {
    //         i = 1;
    //       }
    //     }
    //     if (i == 1) {
    //       // console.log("存在");
    //     } else {
    //       // console.log("已删除");
    //       this.obj0 = {};
    //       this.obj0.name = row.name + " 该派遣单位已删除";
    //       window.localStorage.removeItem("paqiandata");
    //       this.id = 1244241;
    //     }
    //   }
    // } else {
    //   // console.log("no");
    //   this.obj0.name = " 未选择派遣单位";
    // }
  },
};
</script>