liuyg
2021-07-09 56baf4c1dc7930d12d50f81e19dcea4a1de7f5f6
公司信息 新增 加树形
5 files modified
1 files added
235 ■■■■■ changed files
src/api/securityUnit/securityUnit.js 14 ●●●●● patch | view | raw | blame | history
src/views/dispatch/data.js 8 ●●●●● patch | view | raw | blame | history
src/views/dispatchChild/data.js 18 ●●●●● patch | view | raw | blame | history
src/views/securityUnit/data.js 92 ●●●●● patch | view | raw | blame | history
src/views/securityUnit/index.vue 103 ●●●●● patch | view | raw | blame | history
保安服务企业管理.zip patch | view | raw | blame | history
src/api/securityUnit/securityUnit.js
@@ -153,4 +153,16 @@
      ids,
    }
  })
}
}
export const getDeptLazyTree = (parentId) => {
  return request({
    // url: '/api/blade-system/dept/lazy-trees',
    url: 'http://192.168.0.104:80/blade-system/dept/lazy-trees',
    method: 'get',
    // params: {
    //   parentId
    // }
  })
}
src/views/dispatch/data.js
@@ -35,6 +35,8 @@
        prop: "name",
        search: true,
        searchLabelWidth: 110,
        // span: 12,
        labelWidth: 110,
    },
    {
        label: "保安公司",
@@ -55,11 +57,14 @@
            message: "请输入所属保安单位",
            trigger: "click"
        }],
        labelWidth: 110,
        width: 200,
        // span: 11,
    },
    {
        label: " 联系人",
        prop: "linkman",
        labelWidth: 110,
        // addDisplay: true,
        // editDisplay: true,
        // viewDisplay: true,
@@ -80,6 +85,7 @@
    {
        label: "联系电话",
        prop: "phone",
        labelWidth: 110,
        // addDisplay: true,
        // editDisplay: true,
        // viewDisplay: true,
@@ -100,6 +106,7 @@
    {
        label: "详细地址",
        prop: "address",
        labelWidth: 110,
        // search: true,
        // width: 110,
        // overHidden: true
@@ -107,6 +114,7 @@
    {
        label: "创建时间",
        prop: "createTime",
        labelWidth: 110,
        // search: true,
        // searchSpan: 4,
        // overHidden: true
src/views/dispatchChild/data.js
@@ -29,6 +29,22 @@
    {
        label: "保安公司",
        prop: "tenantId",
        type: "tree",
        search: true,
        dicUrl: "/api/blade-system/tenant/select",
        props: {
            label: "tenantName",
            value: "tenantId"
        },
        // hide: !website.tenantMode,
        // addDisplay: website.tenantMode,
        // editDisplay: website.tenantMode,
        // viewDisplay: website.tenantMode,
        rules: [{
            required: true,
            message: "请输入所属保安单位",
            trigger: "click"
        }],
        span: 11,
        labelWidth: 130,
        disabled: true,
@@ -107,7 +123,7 @@
        // overHidden: true
    }, {
        label: "派遣单位",
        prop: "dispatcherUnitId",
        prop: "dispatcherCompany",
        // search: true,
        // searchSpan: 4,
        // overHidden: true
src/views/securityUnit/data.js
@@ -32,10 +32,35 @@
    //     addDisplay: false
    // },//上面不显示
    {
        label: "部门",
        prop: "departmentid",
        // type: "tree",
        disabled: true,
        dicData: [],
        labelWidth: w,
        span: s,
        props: {
            label: "title",
        },
        rules: [
            {
                required: true,
                message: "请选择所属部门",
                trigger: "click",
            },
        ],
    },
    {
        label: "企业名称",
        prop: "enterprisename",
        search: true,
        width: 130,
    },
    {
        label: "企业类型",
        prop: "stats",
        labelWidth: w,
        span: s
    },
    {
        label: "法定代表人",
@@ -180,6 +205,7 @@
        prop: "registration",
        // search: true,
        // width: 88,
        overHidden: true,
    },
    {
@@ -230,6 +256,25 @@
        }]
    },
    {
        label: "部门",
        prop: "departmentid",
        // type: "tree",
        disabled: true,
        dicData: [],
        labelWidth: w,
        span: s,
        props: {
            label: "title",
        },
        rules: [
            {
                required: true,
                message: "请选择所属部门",
                trigger: "click",
            },
        ],
    },
    {
        label: "企业名称",
        prop: "enterprisename",
        labelWidth: w,
@@ -238,6 +283,12 @@
    {
        label: "法定代表人",
        prop: "representative",
        labelWidth: w,
        span: s
    },
    {
        label: "企业类型",
        prop: "stats",
        labelWidth: w,
        span: s
    },
@@ -305,7 +356,8 @@
        label: "登记机关",
        prop: "registration",
        labelWidth: w,
        span: s
        span: s,
        // overHidden: true,
    },
    {
@@ -333,6 +385,25 @@
        disabled: true,
        labelWidth: w,
        span: s
    },
    {
        label: "部门",
        prop: "departmentid",
        // type: "tree",
        disabled: true,
        dicData: [],
        labelWidth: w,
        span: s,
        props: {
            label: "title",
        },
        rules: [
            {
                required: true,
                message: "请选择所属部门",
                trigger: "click",
            },
        ],
    },
    {
        label: "股东",
@@ -396,6 +467,25 @@
        span: s
    },
    {
        label: "部门",
        prop: "departmentid",
        // type: "tree",
        disabled: true,
        dicData: [],
        labelWidth: w,
        span: s,
        props: {
            label: "title",
        },
        rules: [
            {
                required: true,
                message: "请选择所属部门",
                trigger: "click",
            },
        ],
    },
    {
        label: "姓名",
        prop: "name",
        labelWidth: w,
src/views/securityUnit/index.vue
@@ -39,6 +39,19 @@
    </avue-crud>
    <div class="lod" v-show="forms != -1">
      <div class="lod-in">
        <el-col class="trees" v-if="forms == 0">
          <div class="box">
            <el-scrollbar>
              <basic-container>
                <avue-tree
                  :option="treeOption"
                  :data="treeData"
                  @node-click="nodeClick"
                />
              </basic-container>
            </el-scrollbar>
          </div>
        </el-col>
        <avue-form
          ref="form"
          v-model="obj0"
@@ -88,10 +101,12 @@
  remove,
  adddata1,
  adddata2,
  getDeptLazyTree,
} from "@/api/securityUnit/securityUnit";
export default {
  data() {
    var w = 160,
      s = 12;
    return {
      loading: true, //保安单位基本信息
      selectionList: [],
@@ -99,6 +114,38 @@
        pageSize: 10,
        currentPage: 1,
        total: 0,
      },
      treeData: [],
      treeOption: {
        nodeKey: "id",
        lazy: true,
        treeLoad: function (node, resolve) {
          // const parentId = node.level === 0 ? 0 : node.data.id;
          getDeptLazyTree().then((res) => {
            resolve(
              res.data.data.map((item) => {
                console.log({
                  ...item,
                  leaf: !item.hasChildren,
                });
                return {
                  ...item,
                  leaf: !item.hasChildren,
                };
              })
            );
          });
        },
        addBtn: false,
        menu: false,
        size: "small",
        props: {
          labelText: "标题",
          label: "title",
          value: "value",
          children: "children",
        },
      },
      obj0: {
@@ -133,6 +180,8 @@
      data0: {},
      data1: {},
      data2: {},
      noshehuibianma: 0,
      nobumen: 0,
      query: {},
      data: [],
@@ -311,7 +360,20 @@
        this.loading = false;
      });
    },
    nodeClick(data) {
      // this.treeDeptId = data.id;
      // this.page.currentPage = 1;
      // this.onLoad(this.page);
      // this.$message.success(JSON.stringify(data));
      this.obj0["departmentid"] = data.title;
      this.obj1["departmentid"] = data.title;
      this.obj2["departmentid"] = data.title;
      this.nobumen = 1;
    },
    tip0() {
      if (this.panduanmeiyouziduan()) {
        return;
      }
      var b = {};
      for (var k in this.obj0) {
        if (k != "title") {
@@ -322,6 +384,9 @@
      this.forms = 1;
    },
    tip1() {
      if (this.panduanmeiyouziduan()) {
        return;
      }
      var b = {};
      for (var k in this.obj1) {
        if (k != "title") {
@@ -332,6 +397,9 @@
      this.forms = 2;
    },
    tip2() {
      if (this.panduanmeiyouziduan()) {
        return;
      }
      var b = {};
      for (var k in this.obj2) {
        if (k != "title") {
@@ -355,7 +423,7 @@
    tip1up1() {
      this.forms = 0;
    },
    tip1up2() {
    tip2up2() {
      this.forms = 1;
    },
    tipover() {
@@ -372,11 +440,29 @@
      this.data0 = {};
      this.data1 = {};
      this.data2 = {};
      this.noshehuibianma = 0;
      this.nobumen = 0;
    },
    panduanmeiyouziduan() {
      if (this.noshehuibianma == 0) {
        this.$message.warning("请输入统一社会信用代码");
        return true;
      }
      if (this.nobumen == 0) {
        this.$message.warning("请选则部门");
        return true;
      }
      return false;
    },
  },
  watch: {
    haveID() {
      // console.log(this.haveID);
      if (this.haveID > 9000) {
        //统一社会信用代码判断
        this.noshehuibianma = 1;
      } else {
        this.noshehuibianma = 0;
      }
    },
  },
  mounted() {},
@@ -407,12 +493,19 @@
  height: 100%;
  background-color: rgba($color: #000000, $alpha: 0.5);
  padding: 100px 0 0 0;
  z-index: 10000 !important;
  z-index: 50 !important;
  display: flex;
  // align-items: center;
  justify-content: center;
  .trees {
    z-index: 51 !important;
    position: absolute;
    width: 15%;
    top: 100px;
    left: 0;
  }
  .lod-in {
    width: 80%;
    width: 70%;
    height: auto;
    // padding: 10px 0 0 0;
  }
保安服务企业管理.zip
Binary files differ