保安服务企业管理-验收版本
Administrator
2021-09-11 1db657f93de8e2902d7a2456b9c7806972a0b928
Merge branch 'master' of http://192.168.0.105:10010/r/zhba_enterprises_ys
20 files modified
1 files renamed
5 files added
1 files deleted
6077 ■■■■■ changed files
public/img/table.png patch | view | raw | blame | history
src/api/desk/notice.js 13 ●●●●● patch | view | raw | blame | history
src/router/axios.js 2 ●●● patch | view | raw | blame | history
src/router/views/index.js 14 ●●●●● patch | view | raw | blame | history
src/views/desk/notice.vue 841 ●●●● patch | view | raw | blame | history
src/views/licenseApproval/branchOffice.vue 4 ●●●● patch | view | raw | blame | history
src/views/licenseApproval/cancellationOfFiling.vue 4 ●●●● patch | view | raw | blame | history
src/views/licenseApproval/crossRegion.vue 4 ●●●● patch | view | raw | blame | history
src/views/licenseApproval/securityGuard.vue 4 ●●●● patch | view | raw | blame | history
src/views/licenseApproval/securityTraining.vue 4 ●●●● patch | view | raw | blame | history
src/views/resource/attachCopyzb.vue 418 ●●●●● patch | view | raw | blame | history
src/views/securityAnalysis/certificate.vue 103 ●●●●● patch | view | raw | blame | history
src/views/securityAnalysis/child/assignment.vue 326 ●●●●● patch | view | raw | blame | history
src/views/securityAnalysis/child/certificate.vue 210 ●●●●● patch | view | raw | blame | history
src/views/securityAnalysis/child/dispatch.vue 326 ●●●●● patch | view | raw | blame | history
src/views/securityAnalysis/child/examination.vue patch | view | raw | blame | history
src/views/securityAnalysis/child/situation.vue 206 ●●●●● patch | view | raw | blame | history
src/views/securityAnalysis/index.vue 242 ●●●●● patch | view | raw | blame | history
src/views/securityEquipment/car.js 308 ●●●● patch | view | raw | blame | history
src/views/securityEquipment/equipments.js 64 ●●●●● patch | view | raw | blame | history
src/views/securityUnit/armedEscort.vue 344 ●●●● patch | view | raw | blame | history
src/views/securityUnit/data.js 1250 ●●●● patch | view | raw | blame | history
src/views/securityUnit/localCompany.vue 368 ●●●●● patch | view | raw | blame | history
src/views/securityUnit/securityTraining.vue 344 ●●●● patch | view | raw | blame | history
src/views/securityUnit/selfRecruitedSecurityGuard.vue 344 ●●●● patch | view | raw | blame | history
src/views/securityUnit/transRegionalcompany.vue 333 ●●●● patch | view | raw | blame | history
src/views/workreport/data.js 1 ●●●● patch | view | raw | blame | history
public/img/table.png

src/api/desk/notice.js
@@ -12,6 +12,17 @@
    })
}
export const getPeopleList = (params) => {
  return request({
      url: '/api/blade-system/dept/lazy-tree-users',
      method: 'get',
      params: {
          ...params,
          type: 4,
      }
  })
}
export const getListPage = (current, size, params) => {
    return request({
        url: '/api/blade-desk/notice/page',
@@ -58,4 +69,4 @@
            id
        }
    })
}
}
src/router/axios.js
@@ -17,7 +17,7 @@
import 'nprogress/nprogress.css';
//默认超时时间
axios.defaults.timeout = 10000;
axios.defaults.timeout = 300000;
//返回其他状态码
axios.defaults.validateStatus = function (status) {
  return status >= 200 && status <= 500;
src/router/views/index.js
@@ -304,6 +304,20 @@
            import( /* webpackChunkName: "views" */ '@/views/resource/attachCopy')
    }]
},
{
    path: '/resource',
    component: Layout,
    redirect: '/resource/attachCopyzb',
    children: [{
        path: 'attachCopyzb',
        name: '单位装备清单附件上传',
        meta: {
            i18n: 'attachCopyzb'
        },
        component: () =>
            import( /* webpackChunkName: "views" */ '@/views/resource/attachCopyzb')
    }]
},
// {
//     path: '/dispatch',
//     component: Layout,
src/views/desk/notice.vue
@@ -1,421 +1,464 @@
<template>
  <basic-container class="desk1">
    <avue-crud
      :option="option"
      :table-loading="loading"
      :data="data"
      :page.sync="page"
      ref="crud"
      @row-del="rowDel"
      v-model="form"
      :permission="permissionList"
      @row-update="rowUpdate"
      @row-save="rowSave"
      :before-open="beforeOpen"
      @filter="filterChange"
      @search-change="searchChange"
      @search-reset="searchReset"
      @selection-change="selectionChange"
      @current-change="currentChange"
      @size-change="sizeChange"
      @refresh-change="refreshChange"
      @on-load="onLoad"
    >
      <template slot="menuLeft">
        <el-button
          type="danger"
          size="small"
          icon="el-icon-delete"
          v-if="permission.notice_delete"
          plain
          @click="handleDelete"
          >删 除
        </el-button>
        <!-- v-if="permission.notice_delete" -->
      </template>
      <template slot-scope="{ row }" slot="category">
        <el-tag>{{ row.categoryName }}</el-tag>
      </template>
      <template slot-scope="{ type, size, row }" slot="menu">
        <el-button
        :size="size"
        :type="type"
        v-if="permission.notice_upload"
        @click="handleUploadPage(row)"
          >附件上传
        </el-button>
        <!-- <el-button
    <basic-container class="desk1">
        <avue-crud :option="option"
                   :table-loading="loading"
                   :data="data"
                   :page.sync="page"
                   ref="crud"
                   @row-del="rowDel"
                   v-model="form"
                   :permission="permissionList"
                   @row-update="rowUpdate"
                   @row-save="rowSave"
                   :before-open="beforeOpen"
                   @filter="filterChange"
                   @search-change="searchChange"
                   @search-reset="searchReset"
                   @selection-change="selectionChange"
                   @current-change="currentChange"
                   @size-change="sizeChange"
                   @refresh-change="refreshChange"
                   @on-load="onLoad">
            <template slot="menuLeft">
                <el-button type="danger"
                           size="small"
                           icon="el-icon-delete"
                           v-if="permission.notice_delete"
                           plain
                           @click="handleDelete">删 除
                </el-button>
                <!-- v-if="permission.notice_delete" -->
            </template>
            <template slot-scope="{ row }"
                      slot="category">
                <el-tag>{{ row.categoryName }}</el-tag>
            </template>
            <template slot-scope="{ type, size, row }"
                      slot="menu">
                <el-button :size="size"
                           :type="type"
                           v-if="permission.notice_upload"
                           @click="handleUploadPage(row)">附件上传
                </el-button>
                <!-- <el-button
          v-if="!deptCategory"
          :size="size"
          :type="type"
          @click="handleUploadPage(row)"
          >附件查看
        </el-button> -->
      </template>
    </avue-crud>
  </basic-container>
            </template>
        </avue-crud>
    </basic-container>
</template>
<script>
import { getListPage, remove, update, add, getNotice } from "@/api/desk/notice";
import { getListPage, remove, update, add, getNotice, getPeopleList } from "@/api/desk/notice";
import { getDept } from "@/api/system/dept";
import { mapGetters } from "vuex";
import { mapState } from 'vuex';
export default {
  data() {
    return {
      form: {},
      query: {},
      loading: true,
      deptCategory: "",
      deptId: "",
      permissionAdd: "",
      permissionDelete: "",
      permissionView: "",
      permissionEdit: "",
      page: {
        pageSize: 10,
        currentPage: 1,
        total: 0,
      },
      selectionList: [],
      option: {
        height: "auto",
        filterBtn: true,
        calcHeight: 30,
        dialogWidth: 950,
        tip: false,
        searchShow: true,
        searchMenuSpan: 6,
        border: true,
        index: true,
        stripe: true,
        viewBtn: true,
        selection: true,
        excelBtn: false,
        addBtnText: "发布",
        addTitle: "发布",
        saveBtnText: "发布",
        menuWidth: 320,
        dialogClickModal: false,
        column: [
          {
            label: "通知标题",
            prop: "title",
            span: 24,
            searchSpan: 4,
            row: true,
            search: true,
            rules: [
              {
                required: true,
                message: "请输入通知标题",
                trigger: "blur",
              },
            ],
          },
          {
            label: "通知类型",
            type: "select",
            dicUrl: "/api/blade-system/dict/dictionary?code=notice",
            props: {
              label: "dictValue",
              value: "dictKey",
    data () {
        return {
            form: {},
            query: {},
            loading: true,
            deptCategory: "",
            deptId: "",
            permissionAdd: "",
            permissionDelete: "",
            permissionView: "",
            permissionEdit: "",
            page: {
                pageSize: 10,
                currentPage: 1,
                total: 0,
            },
            dataType: "number",
            slot: true,
            addDisplay: false,
            editDisplay: false,
            defaultValue: "1",
            prop: "category",
            search: true,
            searchSpan: 4,
            rules: [
              {
                required: true,
                message: "请输入通知类型",
                trigger: "blur",
              },
            ],
          },
          {
            label: "发布单位",
            prop: "deptId",
            type: "tree",
            dicUrl: "/api/blade-system/dept/lazy-tree",
            props: {
              label: "title",
              value: "id",
            selectionList: [],
            option: {
                height: "auto",
                filterBtn: true,
                calcHeight: 30,
                dialogWidth: 950,
                tip: false,
                searchShow: true,
                searchMenuSpan: 6,
                border: true,
                index: true,
                stripe: true,
                viewBtn: true,
                selection: true,
                excelBtn: false,
                addBtnText: "发布",
                addTitle: "发布",
                saveBtnText: "发布",
                menuWidth: 320,
                dialogClickModal: false,
                column: [
                    {
                        label: "通知标题",
                        prop: "title",
                        span: 24,
                        searchSpan: 4,
                        row: true,
                        search: true,
                        rules: [
                            {
                                required: true,
                                message: "请输入通知标题",
                                trigger: "blur",
                            },
                        ],
                    },
                    {
                        label: "通知类型",
                        type: "select",
                        dicUrl: "/api/blade-system/dict/dictionary?code=notice",
                        props: {
                            label: "dictValue",
                            value: "dictKey",
                        },
                        dataType: "number",
                        slot: true,
                        addDisplay: false,
                        editDisplay: false,
                        defaultValue: "1",
                        prop: "category",
                        search: true,
                        searchSpan: 4,
                        rules: [
                            {
                                required: true,
                                message: "请输入通知类型",
                                trigger: "blur",
                            },
                        ],
                    },
                    {
                        label: "接收人",
                        prop: "receivedIds",
                        span: 24,
                        type: "tree",
                        // lazy: true,
                        // dicUrl: "/api/blade-system/dept/lazy-tree-user-app?type={{key}}",
                        hide: true,
                        leafOnly: true,
                        props: {
                            label: "title",
                            value: "id",
                        },
                        multiple: true,
                        // dataType: "number",
                        rules: [{
                            required: true,
                            message: "请选择接收人",
                            trigger: "blur"
                        }]
                    },
                    {
                        label: "接收人",
                        prop: "receivedName",
                        addDisplay: false,
                        editDisplay: false,
                        viewDisplay: false,
                    },
                    {
                        label: "发布单位",
                        prop: "deptId",
                        type: "tree",
                        dicUrl: "/api/blade-system/dept/lazy-tree",
                        props: {
                            label: "title",
                            value: "id",
                        },
                        addDisplay: false,
                        editDisplay: false,
                        rules: [
                            {
                                required: true,
                                message: "所属组织机构",
                                trigger: "click",
                            },
                        ],
                    },
                    {
                        label: "通知时间",
                        prop: "releaseTimeRange",
                        type: "datetime",
                        format: "yyyy-MM-dd",
                        valueFormat: "yyyy-MM-dd",
                        searchRange: true,
                        hide: true,
                        addDisplay: false,
                        editDisplay: false,
                        viewDisplay: false,
                        search: true,
                        searchSpan: 6,
                        rules: [
                            {
                                required: true,
                                message: "请输入通知时间",
                                trigger: "blur",
                            },
                        ],
                    },
                    {
                        label: "通知日期",
                        prop: "releaseTime",
                        type: "date",
                        format: "yyyy-MM-dd hh:mm:ss",
                        valueFormat: "yyyy-MM-dd hh:mm:ss",
                        rules: [
                            {
                                required: true,
                                message: "请输入通知日期",
                                trigger: "click",
                            },
                        ],
                    },
                    {
                        label: "通知内容",
                        prop: "content",
                        component: "AvueUeditor",
                        options: {
                            action: "/api/blade-resource/oss/endpoint/put-file",
                            props: {
                                res: "data",
                                url: "link",
                            },
                        },
                        hide: true,
                        minRows: 6,
                        span: 24,
                    },
                ],
            },
            addDisplay: false,
            editDisplay: false,
            rules: [
              {
                required: true,
                message: "所属组织机构",
                trigger: "click",
              },
            ],
          },
          {
            label: "通知时间",
            prop: "releaseTimeRange",
            type: "datetime",
            format: "yyyy-MM-dd",
            valueFormat: "yyyy-MM-dd",
            searchRange: true,
            hide: true,
            addDisplay: false,
            editDisplay: false,
            viewDisplay: false,
            search: true,
            searchSpan:6,
            rules: [
              {
                required: true,
                message: "请输入通知时间",
                trigger: "blur",
              },
            ],
          },
          {
            label: "通知日期",
            prop: "releaseTime",
            type: "date",
            format: "yyyy-MM-dd hh:mm:ss",
            valueFormat: "yyyy-MM-dd hh:mm:ss",
            rules: [
              {
                required: true,
                message: "请输入通知日期",
                trigger: "click",
              },
            ],
          },
          {
            label: "通知内容",
            prop: "content",
            component: "AvueUeditor",
            options: {
              action: "/api/blade-resource/oss/endpoint/put-file",
              props: {
                res: "data",
                url: "link",
              },
            },
            hide: true,
            minRows: 6,
            span: 24,
          },
        ],
      },
      data: [],
    };
  },
  computed: {
    ...mapGetters(["userInfo", "permission"]),
    permissionList() {
      return {
        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),
      };
    },
    ids() {
      let ids = [];
      this.selectionList.forEach((ele) => {
        ids.push(ele.id);
      });
      return ids.join(",");
    },
    ...mapState({
        userInfo: state => state.user.userInfo
    })
  },
  mounted() {
    this.getDeptInfo(this.userInfo.dept_id);
  },
  methods: {
    //获取当前用户部门信息
    getDeptInfo(deptId) {
      var that = this;
      getDept(deptId).then((res) => {
        var deptCategory = res.data.data.deptCategory;
        deptCategory == 1
          ? (that.deptCategory = true)
          : (that.deptCategory = false);
      });
    },
    //跳转到附件列表页面
    handleUploadPage(row) {
      this.$router.push({
        path: `/resource/uploadNotice`,
        query: {
          deptId: row.deptId,
          noticeId: row.id,
        },
      });
    },
    rowSave(row, done, loading) {
      if (this.deptCategory) {
        row.category = 1;
      }else{
        row.category = 2;
      }
      row['type'] = 1;
      row.deptId = this.deptId;
      add(row).then(
        () => {
          this.onLoad(this.page);
          this.$message({
            type: "success",
            message: "操作成功!",
          });
          done();
        },
        (error) => {
          window.console.log(error);
          loading();
        }
      );
    },
    rowUpdate(row, index, done, loading) {
      // if (this.deptCategory) {
      //   row.category = 1;
      // }else{
      //   row.category = 2;
      // }
      row.deptId = this.deptId;
      update(row).then(
        () => {
          this.onLoad(this.page);
          this.$message({
            type: "success",
            message: "操作成功!",
          });
          done();
        },
        (error) => {
          window.console.log(error);
          loading();
        }
      );
    },
    rowDel(row) {
      this.$confirm("确定将选择数据删除?", {
        confirmButtonText: "确定",
        cancelButtonText: "取消",
        type: "warning",
      })
        .then(() => {
          return remove(row.id);
        })
        .then(() => {
          this.onLoad(this.page);
          this.$message({
            type: "success",
            message: "操作成功!",
          });
        });
    },
    searchReset() {
      this.query = {};
      this.onLoad(this.page);
    },
    searchChange(params, done) {
      this.query = params;
      this.page.currentPage = 1;
      this.onLoad(this.page, params);
      done();
    },
    selectionChange(list) {
      this.selectionList = list;
    },
    selectionClear() {
      this.selectionList = [];
      this.$refs.crud.toggleSelection();
    },
    handleDelete() {
      if (this.selectionList.length === 0) {
        this.$message.warning("请选择至少一条数据");
        return;
      }
      this.$confirm("确定将选择数据删除?", {
        confirmButtonText: "确定",
        cancelButtonText: "取消",
        type: "warning",
      })
        .then(() => {
          return remove(this.ids);
        })
        .then(() => {
          this.onLoad(this.page);
          this.$message({
            type: "success",
            message: "操作成功!",
          });
          this.$refs.crud.toggleSelection();
        });
    },
    beforeOpen(done, type) {
      if (["edit", "view"].includes(type)) {
        getNotice(this.form.id).then((res) => {
          this.form = res.data.data;
        });
      }
      done();
    },
    currentChange(currentPage) {
      this.page.currentPage = currentPage;
    },
    sizeChange(pageSize) {
      this.page.pageSize = pageSize;
    },
    refreshChange() {
      this.onLoad(this.page, this.query);
    },
    onLoad(page, params = {}) {
      this.deptId = JSON.parse(
        window.localStorage.getItem("saber-userInfo")
      ).content.dept_id;
      //获取当前用户部门信息,判断是否为公安,如果是公安,则只能查看公告信息
      var that = this;
      getDept(this.deptId).then((res) => {
        var deptCategory = res.data.data.deptCategory;
        deptCategory == 1
          ? (that.deptCategory = true)
          : (that.deptCategory = false);
        const { releaseTimeRange } = this.query;
        params["jurisdiction"] = this.jurisdiction;
        params["type"] = 1;
        let values = {
          ...params,
            data: [],
        };
        if (releaseTimeRange) {
          values = {
            ...params,
            startTime: releaseTimeRange[0],
            endTime: releaseTimeRange[1],
            ...this.query,
          };
          values.releaseTimeRange = null;
        }
        this.loading = true;
        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.selectionClear();
        });
      });
    },
  },
    computed: {
        ...mapGetters(["userInfo", "permission"]),
        permissionList () {
            return {
                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),
            };
        },
        ids () {
            let ids = [];
            this.selectionList.forEach((ele) => {
                ids.push(ele.id);
            });
            return ids.join(",");
        },
        ...mapState({
            userInfo: state => state.user.userInfo
        })
    },
    mounted () {
        this.getDeptInfo(this.userInfo.dept_id);
        getPeopleList({ deptId: this.userInfo.dept_id }).then(res => {
            const columnReceivedIds = this.findObject(
                this.option.column,
                "receivedIds"
            );
            console.log(columnReceivedIds, res.data.data, 6456)
            columnReceivedIds.dicData = res.data.data
        })
    },
    methods: {
        //获取当前用户部门信息
        getDeptInfo (deptId) {
            var that = this;
            getDept(deptId).then((res) => {
                var deptCategory = res.data.data.deptCategory;
                deptCategory == 1
                    ? (that.deptCategory = true)
                    : (that.deptCategory = false);
            });
        },
        //跳转到附件列表页面
        handleUploadPage (row) {
            this.$router.push({
                path: `/resource/uploadNotice`,
                query: {
                    deptId: row.deptId,
                    noticeId: row.id,
                },
            });
        },
        rowSave (row, done, loading) {
            if (this.deptCategory) {
                row.category = 1;
            } else {
                row.category = 2;
            }
            row['type'] = 1;
            row.deptId = this.deptId;
            row.receivedIds = row.receivedIds.toString()
            add(row).then(
                () => {
                    this.onLoad(this.page);
                    this.$message({
                        type: "success",
                        message: "操作成功!",
                    });
                    done();
                },
                (error) => {
                    window.console.log(error);
                    loading();
                }
            );
        },
        rowUpdate (row, index, done, loading) {
            // if (this.deptCategory) {
            //   row.category = 1;
            // }else{
            //   row.category = 2;
            // }
            row.deptId = this.deptId;
            row.receivedIds = row.receivedIds.toString()
            update(row).then(
                () => {
                    this.onLoad(this.page);
                    this.$message({
                        type: "success",
                        message: "操作成功!",
                    });
                    done();
                },
                (error) => {
                    window.console.log(error);
                    loading();
                }
            );
        },
        rowDel (row) {
            this.$confirm("确定将选择数据删除?", {
                confirmButtonText: "确定",
                cancelButtonText: "取消",
                type: "warning",
            })
                .then(() => {
                    return remove(row.id);
                })
                .then(() => {
                    this.onLoad(this.page);
                    this.$message({
                        type: "success",
                        message: "操作成功!",
                    });
                });
        },
        searchReset () {
            this.query = {};
            this.onLoad(this.page);
        },
        searchChange (params, done) {
            this.query = params;
            this.page.currentPage = 1;
            this.onLoad(this.page, params);
            done();
        },
        selectionChange (list) {
            this.selectionList = list;
        },
        selectionClear () {
            this.selectionList = [];
            this.$refs.crud.toggleSelection();
        },
        handleDelete () {
            if (this.selectionList.length === 0) {
                this.$message.warning("请选择至少一条数据");
                return;
            }
            this.$confirm("确定将选择数据删除?", {
                confirmButtonText: "确定",
                cancelButtonText: "取消",
                type: "warning",
            })
                .then(() => {
                    return remove(this.ids);
                })
                .then(() => {
                    this.onLoad(this.page);
                    this.$message({
                        type: "success",
                        message: "操作成功!",
                    });
                    this.$refs.crud.toggleSelection();
                });
        },
        beforeOpen (done, type) {
            if (["edit", "view"].includes(type)) {
                getNotice(this.form.id).then((res) => {
                    this.form = res.data.data;
                });
            }
            done();
        },
        currentChange (currentPage) {
            this.page.currentPage = currentPage;
        },
        sizeChange (pageSize) {
            this.page.pageSize = pageSize;
        },
        refreshChange () {
            this.onLoad(this.page, this.query);
        },
        onLoad (page, params = {}) {
            this.deptId = JSON.parse(
                window.localStorage.getItem("saber-userInfo")
            ).content.dept_id;
            //获取当前用户部门信息,判断是否为公安,如果是公安,则只能查看公告信息
            var that = this;
            getDept(this.deptId).then((res) => {
                var deptCategory = res.data.data.deptCategory;
                deptCategory == 1
                    ? (that.deptCategory = true)
                    : (that.deptCategory = false);
                const { releaseTimeRange } = this.query;
                params["jurisdiction"] = this.jurisdiction;
                params["type"] = 1;
                let values = {
                    ...params,
                };
                if (releaseTimeRange) {
                    values = {
                        ...params,
                        startTime: releaseTimeRange[0],
                        endTime: releaseTimeRange[1],
                        ...this.query,
                    };
                    values.releaseTimeRange = null;
                }
                this.loading = true;
                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.selectionClear();
                });
            });
        },
    },
};
</script>
src/views/licenseApproval/branchOffice.vue
@@ -2,7 +2,7 @@
 * @Author: liu
 * @Date: 2021-08-26 17:00:55 
 * @Last Modified by: liu
 * @Last Modified time: 2021-09-06 08:52:18
 * @Last Modified time: 2021-09-11 16:36:08
 */
@@ -569,7 +569,7 @@
        path: "/attachOnce/index",
        // redirect: { name: "foo" },
        // query: { row: row },
        query: { deptid: row.cardid, type: "0" },
        query: { deptid: row.cardid, type: "2" },
        // params: { row: row.identificationnumber },
      });
    },
src/views/licenseApproval/cancellationOfFiling.vue
@@ -2,7 +2,7 @@
 * @Author: liu
 * @Date: 2021-08-26 17:00:04 
 * @Last Modified by: liu
 * @Last Modified time: 2021-08-27 19:21:31
 * @Last Modified time: 2021-09-11 16:37:11
 */
@@ -484,7 +484,7 @@
        path: "/attachOnce/index",
        // redirect: { name: "foo" },
        // query: { row: row },
        query: { deptid: row.cardid, type: "0" },
        query: { deptid: row.cardid, type: "6" },
        // params: { row: row.identificationnumber },
      });
    },
src/views/licenseApproval/crossRegion.vue
@@ -2,7 +2,7 @@
 * @Author:liu
 * @Date: 2021-08-26 16:59:35 
 * @Last Modified by: liu
 * @Last Modified time: 2021-09-06 09:19:32
 * @Last Modified time: 2021-09-11 16:37:07
 */
@@ -566,7 +566,7 @@
        path: "/attachOnce/index",
        // redirect: { name: "foo" },
        // query: { row: row },
        query: { deptid: row.cardid, type: "0" },
        query: { deptid: row.cardid, type: "7" },
        // params: { row: row.identificationnumber },
      });
    },
src/views/licenseApproval/securityGuard.vue
@@ -2,7 +2,7 @@
 * @Author: liu
 * @Date: 2021-08-26 16:57:58 
 * @Last Modified by: liu
 * @Last Modified time: 2021-09-06 09:10:46
 * @Last Modified time: 2021-09-11 16:36:19
 */
@@ -622,7 +622,7 @@
        path: "/attachOnce/index",
        // redirect: { name: "foo" },
        // query: { row: row },
        query: { deptid: row.cardid, type: "0" },
        query: { deptid: row.cardid, type: "3" },
        // params: { row: row.identificationnumber },
      });
    },
src/views/licenseApproval/securityTraining.vue
@@ -2,7 +2,7 @@
 * @Author: liu
 * @Date: 2021-08-26 16:55:25 
 * @Last Modified by: liu
 * @Last Modified time: 2021-09-06 09:27:21
 * @Last Modified time: 2021-09-11 16:35:54
 */
@@ -581,7 +581,7 @@
        path: "/attachOnce/index",
        // redirect: { name: "foo" },
        // query: { row: row },
        query: { deptid: row.cardid, type: "0" },
        query: { deptid: row.cardid, type: "1" },
        // params: { row: row.identificationnumber },
      });
    },
src/views/resource/attachCopyzb.vue
New file
@@ -0,0 +1,418 @@
<template>
  <basic-container class="hasButTwo">
    <avue-crud
      :option="option"
      :table-loading="loading"
      :data="data"
      :page.sync="page"
      :permission="permissionList"
      :before-open="beforeOpen"
      v-model="form"
      ref="crud"
      @row-del="rowDel"
      @search-change="searchChange"
      @search-reset="searchReset"
      @selection-change="selectionChange"
      @current-change="currentChange"
      @size-change="sizeChange"
      @refresh-change="refreshChange"
      @on-load="onLoad"
    >
      <template slot="menuLeft">
        <el-button
          type="primary"
          size="small"
          plain
          v-if="permission.attach_upload"
          icon="el-icon-upload2"
          @click="handleUpload"
          >上 传
        </el-button>
        <el-button
          type="danger"
          size="small"
          icon="el-icon-delete"
          plain
          v-if="permission.attach_delete"
          @click="handleDelete"
          >删 除
        </el-button>
      </template>
      <template slot-scope="scope" slot="menu">
        <el-button
          type="text"
          icon="el-icon-download"
          size="small"
          v-if="permission.attach_download"
          @click="handleDownload(scope.row)"
          >下载
        </el-button>
        <el-button
          type="text"
          icon="el-icon-picture-outline-round"
          size="small"
          v-show="!fileFormat(scope.row)"
          @click="seeImages(scope.row)"
          >预览
        </el-button>
      </template>
      <template slot-scope="{ row }" slot="attachSize">
        <el-tag>{{ `${row.attachSize} KB` }}</el-tag>
      </template>
    </avue-crud>
    <el-dialog
      title="附件管理"
      append-to-body
      :visible.sync="attachBox"
      width="555px"
    >
      <avue-form
        ref="form"
        :option="attachOption"
        v-model="attachForm"
        :upload-after="uploadAfter"
      >
      </avue-form>
    </el-dialog>
    <el-dialog
      title="预览"
      append-to-body
      :visible.sync="imgSee"
      class="see-img-box"
    >
      <div class="img" :style="{ background: imgUrl }"></div>
    </el-dialog>
  </basic-container>
</template>
<script>
import { getList, getDetail, remove } from "@/api/resource/attach";
import { mapGetters } from "vuex";
export default {
  data() {
    var type = 5;
    var deptid = this.$route.query.deptId;
    return {
      form: {},
      query: {},
      putParam: "",
      loading: true,
      page: {
        pageSize: 10,
        currentPage: 1,
        total: 0,
      },
      attachBox: false,
      selectionList: [],
      option: {
        height: "auto",
        calcHeight: 30,
        tip: false,
        searchShow: true,
        searchMenuSpan: 6,
        border: true, //liu
        index: true,
        stripe: true,
        viewBtn: true,
        selection: true,
        dialogClickModal: false,
        column: [
          {
            label: "附件地址",
            prop: "link",
            rules: [
              {
                required: true,
                message: "请输入附件地址",
                trigger: "blur",
              },
            ],
          },
          {
            label: "附件域名",
            prop: "domain",
            search: true,
            rules: [
              {
                required: true,
                message: "请输入附件域名",
                trigger: "blur",
              },
            ],
          },
          {
            label: "附件名称",
            prop: "name",
            search: true,
            rules: [
              {
                required: true,
                message: "请输入附件名称",
                trigger: "blur",
              },
            ],
          },
          {
            label: "附件原名",
            prop: "originalName",
            search: true,
            rules: [
              {
                required: true,
                message: "请输入附件原名",
                trigger: "blur",
              },
            ],
          },
          {
            label: "附件拓展名",
            prop: "extension",
            rules: [
              {
                required: true,
                message: "请输入附件拓展名",
                trigger: "blur",
              },
            ],
          },
          {
            label: "所属公司",
            prop: "enterprisename",
            rules: [
              {
                required: true,
                message: "请输入所属公司",
                trigger: "blur",
              },
            ],
          },
          {
            label: "附件预览",
            prop: "link",
            type: "img",
            // rules: [
            //   {
            //     required: true,
            //     message: "请输入附件拓展名",
            //     trigger: "blur",
            //   },
            // ],
          },
          {
            label: "附件大小",
            prop: "attachSize",
            slot: true,
            rules: [
              {
                required: true,
                message: "请输入附件大小",
                trigger: "blur",
              },
            ],
          },
        ],
      },
      data: [],
      attachForm: {},
      attachOption: {
        submitBtn: false,
        emptyBtn: false,
        column: [
          {
            label: "附件上传",
            prop: "attachFile",
            type: "upload",
            drag: true,
            loadText: "模板上传中,请稍等",
            span: 24,
            propsHttp: {
              res: "data",
            },
            action:
              "/api/blade-resource/oss/endpoint/put-file-attach?type=" +
              type +
              "&deptid=" +
              deptid,
          },
        ],
      },
      imgSee: false,
      imgUrl: "",
    };
  },
  computed: {
    ...mapGetters(["permission"]),
    permissionList() {
      return {
        addBtn: false,
        editBtn: false,
        viewBtn: false,
        delBtn: this.vaildData(this.permission.attach_delete, false),
      };
    },
    ids() {
      let ids = [];
      this.selectionList.forEach((ele) => {
        ids.push(ele.id);
      });
      return ids.join(",");
    },
  },
  mounted() {
    var flag = false,
      i = 0,
      ind = null;
    this.$store.state.tags.tagList.forEach((item, index) => {
      if (item.label == "单位装备清单附件上传") {
        if (flag == false) {
          ind = index;
          flag = true;
        }
        i++;
      }
    });
    if (i > 1) {
      this.$store.state.tags.tagList.splice(ind, 1);
    }
  },
  methods: {
    handleUpload() {
      this.attachBox = true;
    },
    uploadAfter(res, done, loading, column) {
      window.console.log(column);
      this.attachBox = false;
      this.refreshChange();
      done();
    },
    handleDownload(row) {
      window.open(`${row.link}`);
    },
    rowDel(row) {
      this.$confirm("确定将选择数据删除?", {
        confirmButtonText: "确定",
        cancelButtonText: "取消",
        type: "warning",
      })
        .then(() => {
          return remove(row.id);
        })
        .then(() => {
          this.onLoad(this.page);
          this.$message({
            type: "success",
            message: "操作成功!",
          });
        });
    },
    handleDelete() {
      if (this.selectionList.length === 0) {
        this.$message.warning("请选择至少一条数据");
        return;
      }
      this.$confirm("确定将选择数据删除?", {
        confirmButtonText: "确定",
        cancelButtonText: "取消",
        type: "warning",
      })
        .then(() => {
          return remove(this.ids);
        })
        .then(() => {
          this.onLoad(this.page);
          this.$message({
            type: "success",
            message: "操作成功!",
          });
          this.$refs.crud.toggleSelection();
        });
    },
    beforeOpen(done, type) {
      if (["edit", "view"].includes(type)) {
        getDetail(this.form.id).then((res) => {
          this.form = res.data.data;
        });
      }
      done();
    },
    searchReset() {
      this.query = {};
      this.onLoad(this.page);
    },
    searchChange(params, done) {
      this.query = params;
      this.page.currentPage = 1;
      this.onLoad(this.page, params);
      done();
    },
    selectionChange(list) {
      this.selectionList = list;
    },
    selectionClear() {
      this.selectionList = [];
      this.$refs.crud.toggleSelection();
    },
    currentChange(currentPage) {
      this.page.currentPage = currentPage;
    },
    sizeChange(pageSize) {
      this.page.pageSize = pageSize;
    },
    refreshChange() {
      this.onLoad(this.page, this.query);
    },
    onLoad(page, params = {}) {
      params.type = 5;
      params.deptid = this.$route.query.deptId;
      console.log(params.deptid);
      this.loading = true;
      getList(
        page.currentPage,
        page.pageSize,
        Object.assign(params, this.query)
      ).then((res) => {
        const data = res.data.data;
        this.page.total = data.total;
        this.data = data.records;
        for (var k in this.data) {
          this.data[k]["enterprisename"] = this.$route.query.enterprisename;
        }
        console.log(this.data);
        this.loading = false;
        this.selectionClear();
      });
    },
    seeImages(row) {
      this.imgUrl = "";
      this.imgUrl = "url(" + row.link + ") center center / contain no-repeat";
      this.imgSee = true;
    },
    fileFormat(row) {
      var index = row.link.lastIndexOf(".");
      var ext = row.link.substr(index + 1);
      return (
        [
          "png",
          "jpg",
          "jpeg",
          "bmp",
          "gif",
          "webp",
          "psd",
          "svg",
          "tiff",
        ].indexOf(ext.toLowerCase()) == -1
      );
    },
  },
};
</script>
<style>
</style>
src/views/securityAnalysis/certificate.vue
File was deleted
src/views/securityAnalysis/child/assignment.vue
New file
@@ -0,0 +1,326 @@
<template>
  <div class="certificateTJ">
    <avue-crud
      :option="option1"
      :data="data1"
      :page.sync="page1"
      :table-loading="loading1"
      @on-load="getPractitionersPageInfo(page1)"
      @search-change="searchChange"
      @search-reset="searchReset"
      @refresh-change="refreshChange"
    >
    </avue-crud>
  </div>
</template>
<script>
import { getdata1 } from "@/api/dispatch/dispatch";
export default {
  props: ["card"],
  data() {
    var jurisdiction =
      this.card.jurisdiction == "1123598813738675201"
        ? "1372091709474910209"
        : this.card.jurisdiction;
    return {
      securityid1: "",
      ExperienceVisible: false,
      loading1: true,
      page1: {
        pageSize: 10,
        currentPage: 1,
        total: 0,
      },
      query1: {},
      data1: [],
      option1: {
        addBtn: false,
        searchShowBtn: false,
        columnBtn: false,
        // refreshBtn: false,
        // card: true,
        menu: false,
        height: 450,
        widtd: "auto",
        // calcHeight: 54,
        border: true, //liu
        stripe: true,
        // tip: false,
        index: true,
        // dialogClickModal: false,
        // headerAlign: "center",
        align: "center",
        column: [
          //派遣服务公司登记
          {
            label: "派遣单位名称",
            prop: "name",
            search: true,
            searchLabelWidth: 110,
            overHidden: true,
            searchSpan: 4,
            width: 210,
            // span: 12,
            labelWidth: 118,
          },
          {
            label: "派遣单位地址",
            prop: "address",
            search: false,
            searchLabelWidth: 110,
            overHidden: true,
            searchSpan: 4,
            width: 210,
            // span: 12,
            labelWidth: 118,
          },
          {
            label: "保安公司",
            prop: "deptId",
            type: "tree",
            overHidden: true,
            dicUrl:
              "/api/blade-system/dept/security_lazy-tree?jurisdiction=" +
              jurisdiction,
            props: {
              label: "title",
              value: "id",
            },
            // hide: true,
            // hide: !website.tenantMode,
            // addDisplay: website.tenantMode,
            // editDisplay: website.tenantMode,
            // viewDisplay: website.tenantMode,
            rules: [
              {
                required: true,
                message: "请选择保安公司",
                trigger: "click",
              },
            ],
            labelWidth: 118,
            width: 230,
            searchLabelWidth: 80,
            search: true,
            searchSpan: 4,
            // editDisplay: false,
            // addDisplay: false,
            // hide: true,
            // span: 11,
          },
          {
            label: "保安服务类型",
            prop: "serveType",
            // search: true,
            searchLabelWidth: 110,
            searchSpan: 4,
            overHidden: true,
            // span: 12,
            labelWidth: 118,
          },
          {
            label: "合同生效时间",
            prop: "releaseTimeRange",
            type: "date",
            format: "yyyy-MM-dd",
            valueFormat: "yyyy-MM-dd",
            searchValue: [this.getStartTime(), this.getEndTime()],
            searchRange: true,
            searchSpan: 5,
            searchLabelWidth: 110,
            hide: true,
            addDisplay: false,
            editDisplay: false,
            viewDisplay: false,
            search: true,
            rules: [
              {
                required: true,
                message: "请输入时间",
                trigger: "blur",
              },
            ],
          },
          // {
          //   label: " 派遣人数",
          //   prop: "num",
          //   labelWidth: 118,
          // },
          {
            label: "合同开始时间",
            prop: "startTime",
            labelWidth: 118,
            type: "date",
            format: "yyyy-MM-dd",
            valueFormat: "yyyy-MM-dd",
            // search: true,
            // searchSpan: 4,
            // overHidden: true
          },
          {
            label: "合同结束时间",
            prop: "endTime",
            labelWidth: 118,
            type: "date",
            format: "yyyy-MM-dd",
            valueFormat: "yyyy-MM-dd",
            // search: true,
            // searchSpan: 4,
            // overHidden: true
          },
          {
            label: " 负责人",
            prop: "linkman",
            labelWidth: 118,
          },
          {
            label: "负责人联系方式",
            prop: "phone",
            labelWidth: 118,
            width: 110,
          },
          {
            label: "所属辖区",
            prop: "jurisdiction",
            hide: true,
            searchLabelWidth: 80,
            search: true,
            searchSpan: 4,
            overHidden: true,
            labelWidth: 118,
            type: "tree",
            dicUrl: "/api/jurisdiction/lazy-tree",
            props: {
              label: "title",
              value: "id",
            },
            checkStrictly: true,
            slot: true,
            rules: [
              {
                required: true,
                message: "请选择所属辖区",
                trigger: "click",
              },
            ],
          },
          {
            label: "所属辖区",
            prop: "jurisdictionName",
            // multiple: true,
            searchLabelWidth: 80,
            addDisplay: false,
            editDisplay: false,
            viewDisplay: false,
            overHidden: true,
            labelWidth: 118,
            type: "tree",
            dicUrl: "/api/jurisdiction/lazy-tree",
            props: {
              label: "title",
              value: "id",
            },
            checkStrictly: true,
            slot: true,
            rules: [
              {
                required: true,
                message: "请选择所属辖区",
                trigger: "click",
              },
            ],
          },
        ],
      },
    };
  },
  methods: {
    getStartTime() {
      if (
        this.$route.query.startTime != undefined &&
        this.$route.query.startTime != null &&
        this.$route.query.startTime != ""
      ) {
        return this.$route.query.startTime;
      }
      return "";
    },
    getEndTime() {
      if (
        this.$route.query.endTime != undefined &&
        this.$route.query.endTime != null &&
        this.$route.query.endTime != ""
      ) {
        return this.$route.query.endTime;
      }
      return "";
    },
    getPractitionersPageInfo(page, params = {}) {
      // this.card.jurisdiction = "130";
      // this.card.this.card = "1425365571343515649";
      // if (params.hold == undefined) {
      //   params.hold = 1;
      // }
      if (this.card.jurisdiction != "" || this.card.jurisdiction != undefined) {
        if (this.query1.deptId != "" || this.query1.deptId != undefined) {
          this.card.deptId = this.query1.deptId;
        }
        this.option1.column[2].search = true;
      } else {
        this.option1.column[2].search = false;
      }
      if (this.card.jurisdiction == 1123598813738675201) {
        this.card.jurisdiction = "";
      }
      console.log(this.query1);
      const releaseTimeRange = this.query1.releaseTimeRange;
      if (releaseTimeRange) {
        params = {
          ...params,
          beginTime: releaseTimeRange[0],
          overTime: releaseTimeRange[1],
          status: 1,
          ...this.query1,
          ...this.card,
        };
        // values.releaseTimeRange = null;
      } else {
        params = {
          ...params,
          ...this.query1,
          status: 1,
          ...this.card,
        };
      }
      console.log(params);
      getdata1(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.loading1 = false;
      });
    },
    refreshChange() {
      this.getPractitionersPageInfo(this.page1, this.query1);
    },
    searchChange(params, done) {
      this.query1 = params;
      this.page1.currentPage = 1;
      this.refreshChange();
      done();
    },
    searchReset() {
      this.query1 = {};
      this.page1.currentPage = 1;
      this.refreshChange();
      console.log(212);
    },
  },
};
</script>
<style scoped>
</style>
src/views/securityAnalysis/child/certificate.vue
New file
@@ -0,0 +1,210 @@
<template>
  <div class="certificateTJ">
    <avue-crud
      :option="option1"
      :data="data1"
      :page.sync="page1"
      :table-loading="loading1"
      @on-load="getPractitionersPageInfo(page1)"
      @search-change="searchChange"
      @search-reset="searchReset"
      @refresh-change="refreshChange"
    >
    </avue-crud>
  </div>
</template>
<script>
import { getList } from "@/api/securityGuard/securityGuard"; // 保安员
export default {
  props: ["card"],
  data() {
    return {
      securityid1: "",
      ExperienceVisible: false,
      loading1: true,
      page1: {
        pageSize: 10,
        currentPage: 1,
        total: 0,
      },
      query1: {},
      data1: [],
      option1: {
        addBtn: false,
        searchShowBtn: false,
        columnBtn: false,
        // refreshBtn: false,
        // card: true,
        menu: false,
        height: 450,
        widtd: "auto",
        // calcHeight: 54,
        border: true, //liu
        stripe: true,
        // tip: false,
        index: true,
        // dialogClickModal: false,
        // headerAlign: "center",
        align: "center",
        column: [
          {
            label: "姓名",
            prop: "realName",
            disabled: true,
            searchLabelWidth: "50",
            width: 80,
            overHidden: true,
            searchSpan: 3,
            search: true,
          },
          {
            label: "所属保安公司",
            searchLabelWidth: "110",
            // 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: 220,
          },
          {
            label: "性别",
            prop: "sex",
            width: 55,
            type: "select",
            dicData: [
              {
                label: "男",
                value: 1,
              },
              {
                label: "女",
                value: 2,
              },
              {
                label: "未知",
                value: 3,
              },
            ],
            display: false,
          },
          {
            label: "身份证号码",
            prop: "cardid",
            search: true,
            searchLabelWidth: 90,
            searchSpan: 5,
            minWidth: 140,
            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: 100,
            display: false,
          },
          {
            label: "是否持证",
            prop: "hold",
            search: true,
            disabled: false,
            type: "select",
            searchSpan: 4,
            // searchValue: "1",
            dicData: [
              {
                label: "持证",
                value: "1",
              },
              {
                label: "未持证",
                value: "2",
              },
              {
                label: "已吊销",
                value: "3",
              },
            ],
          },
          {
            label: "发证时间",
            prop: "paperTime",
            disabled: true,
          },
        ],
      },
    };
  },
  methods: {
    getPractitionersPageInfo(page, params = {}) {
      if (this.card.jurisdiction == 1123598813738675201) {
        this.card.jurisdiction = "";
      }
      // if (params.hold == undefined) {
      //   params.hold = 1;
      // }
      params = {
        ...params,
        ...this.query1,
        status: 1,
        ...this.card,
      };
      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.loading1 = false;
      });
    },
    refreshChange() {
      this.getPractitionersPageInfo(this.page1, this.query1);
    },
    searchChange(params, done) {
      this.query1 = params;
      this.page1.currentPage = 1;
      this.refreshChange();
      done();
    },
    searchReset() {
      this.query1 = {};
      this.page1.currentPage = 1;
      this.refreshChange();
      console.log(212);
    },
  },
};
</script>
<style scoped>
</style>
src/views/securityAnalysis/child/dispatch.vue
New file
@@ -0,0 +1,326 @@
<template>
  <div class="certificateTJ">
    <avue-crud
      :option="option1"
      :data="data1"
      :page.sync="page1"
      :table-loading="loading1"
      @on-load="getPractitionersPageInfo(page1)"
      @search-change="searchChange"
      @search-reset="searchReset"
      @refresh-change="refreshChange"
    >
    </avue-crud>
  </div>
</template>
<script>
import { getdata } from "@/api/dispatch/dispatch";
export default {
  props: ["card"],
  data() {
    var jurisdiction =
      this.card.jurisdiction == "1123598813738675201"
        ? "1372091709474910209"
        : this.card.jurisdiction;
    return {
      securityid1: "",
      ExperienceVisible: false,
      loading1: true,
      page1: {
        pageSize: 10,
        currentPage: 1,
        total: 0,
      },
      query1: {},
      data1: [],
      option1: {
        addBtn: false,
        searchShowBtn: false,
        columnBtn: false,
        // refreshBtn: false,
        // card: true,
        menu: false,
        height: 450,
        widtd: "auto",
        // calcHeight: 54,
        border: true, //liu
        stripe: true,
        // tip: false,
        index: true,
        // dialogClickModal: false,
        // headerAlign: "center",
        align: "center",
        column: [
          //派遣服务公司登记
          {
            label: "派遣单位名称",
            prop: "name",
            search: true,
            searchLabelWidth: 110,
            overHidden: true,
            searchSpan: 4,
            width: 210,
            // span: 12,
            labelWidth: 118,
          },
          {
            label: "派遣单位地址",
            prop: "address",
            search: false,
            searchLabelWidth: 110,
            overHidden: true,
            searchSpan: 4,
            width: 210,
            // span: 12,
            labelWidth: 118,
          },
          {
            label: "保安公司",
            prop: "deptId",
            type: "tree",
            overHidden: true,
            dicUrl:
              "/api/blade-system/dept/security_lazy-tree?jurisdiction=" +
              jurisdiction,
            props: {
              label: "title",
              value: "id",
            },
            // hide: true,
            // hide: !website.tenantMode,
            // addDisplay: website.tenantMode,
            // editDisplay: website.tenantMode,
            // viewDisplay: website.tenantMode,
            rules: [
              {
                required: true,
                message: "请选择保安公司",
                trigger: "click",
              },
            ],
            labelWidth: 118,
            width: 230,
            searchLabelWidth: 80,
            search: true,
            searchSpan: 4,
            // editDisplay: false,
            // addDisplay: false,
            // hide: true,
            // span: 11,
          },
          {
            label: "保安服务类型",
            prop: "serveType",
            // search: true,
            searchLabelWidth: 110,
            searchSpan: 4,
            overHidden: true,
            // span: 12,
            labelWidth: 118,
          },
          {
            label: "合同生效时间",
            prop: "releaseTimeRange",
            type: "date",
            format: "yyyy-MM-dd",
            valueFormat: "yyyy-MM-dd",
            searchValue: [this.getStartTime(), this.getEndTime()],
            searchRange: true,
            searchSpan: 5,
            searchLabelWidth: 110,
            hide: true,
            addDisplay: false,
            editDisplay: false,
            viewDisplay: false,
            search: true,
            rules: [
              {
                required: true,
                message: "请输入时间",
                trigger: "blur",
              },
            ],
          },
          // {
          //   label: " 派遣人数",
          //   prop: "num",
          //   labelWidth: 118,
          // },
          {
            label: "合同开始时间",
            prop: "startTime",
            labelWidth: 118,
            type: "date",
            format: "yyyy-MM-dd",
            valueFormat: "yyyy-MM-dd",
            // search: true,
            // searchSpan: 4,
            // overHidden: true
          },
          {
            label: "合同结束时间",
            prop: "endTime",
            labelWidth: 118,
            type: "date",
            format: "yyyy-MM-dd",
            valueFormat: "yyyy-MM-dd",
            // search: true,
            // searchSpan: 4,
            // overHidden: true
          },
          {
            label: " 负责人",
            prop: "linkman",
            labelWidth: 118,
          },
          {
            label: "负责人联系方式",
            prop: "phone",
            labelWidth: 118,
            width: 110,
          },
          {
            label: "所属辖区",
            prop: "jurisdiction",
            hide: true,
            searchLabelWidth: 80,
            search: true,
            searchSpan: 4,
            overHidden: true,
            labelWidth: 118,
            type: "tree",
            dicUrl: "/api/jurisdiction/lazy-tree",
            props: {
              label: "title",
              value: "id",
            },
            checkStrictly: true,
            slot: true,
            rules: [
              {
                required: true,
                message: "请选择所属辖区",
                trigger: "click",
              },
            ],
          },
          {
            label: "所属辖区",
            prop: "jurisdictionName",
            // multiple: true,
            searchLabelWidth: 80,
            addDisplay: false,
            editDisplay: false,
            viewDisplay: false,
            overHidden: true,
            labelWidth: 118,
            type: "tree",
            dicUrl: "/api/jurisdiction/lazy-tree",
            props: {
              label: "title",
              value: "id",
            },
            checkStrictly: true,
            slot: true,
            rules: [
              {
                required: true,
                message: "请选择所属辖区",
                trigger: "click",
              },
            ],
          },
        ],
      },
    };
  },
  methods: {
    getStartTime() {
      if (
        this.$route.query.startTime != undefined &&
        this.$route.query.startTime != null &&
        this.$route.query.startTime != ""
      ) {
        return this.$route.query.startTime;
      }
      return "";
    },
    getEndTime() {
      if (
        this.$route.query.endTime != undefined &&
        this.$route.query.endTime != null &&
        this.$route.query.endTime != ""
      ) {
        return this.$route.query.endTime;
      }
      return "";
    },
    getPractitionersPageInfo(page, params = {}) {
      // this.card.jurisdiction = "130";
      // this.card.this.card = "1425365571343515649";
      // if (params.hold == undefined) {
      //   params.hold = 1;
      // }
      if (this.card.jurisdiction != "" || this.card.jurisdiction != undefined) {
        if (this.query1.deptId != "" || this.query1.deptId != undefined) {
          this.card.deptId = this.query1.deptId;
        }
        this.option1.column[2].search = true;
      } else {
        this.option1.column[2].search = false;
      }
      if (this.card.jurisdiction == 1123598813738675201) {
        this.card.jurisdiction = "";
      }
      console.log(this.query1);
      const releaseTimeRange = this.query1.releaseTimeRange;
      if (releaseTimeRange) {
        params = {
          ...params,
          beginTime: releaseTimeRange[0],
          overTime: releaseTimeRange[1],
          status: 1,
          ...this.query1,
          ...this.card,
        };
        // values.releaseTimeRange = null;
      } else {
        params = {
          ...params,
          ...this.query1,
          status: 1,
          ...this.card,
        };
      }
      console.log(params);
      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.loading1 = false;
      });
    },
    refreshChange() {
      this.getPractitionersPageInfo(this.page1, this.query1);
    },
    searchChange(params, done) {
      this.query1 = params;
      this.page1.currentPage = 1;
      this.refreshChange();
      done();
    },
    searchReset() {
      this.query1 = {};
      this.page1.currentPage = 1;
      this.refreshChange();
      console.log(212);
    },
  },
};
</script>
<style scoped>
</style>
src/views/securityAnalysis/child/examination.vue
src/views/securityAnalysis/child/situation.vue
New file
@@ -0,0 +1,206 @@
<template>
  <div class="certificateTJ">
    <avue-crud
      :option="option1"
      :data="data1"
      :page.sync="page1"
      :table-loading="loading1"
      @on-load="getPractitionersPageInfo(page1)"
      @search-change="searchChange"
      @search-reset="searchReset"
      @refresh-change="refreshChange"
    >
    </avue-crud>
  </div>
</template>
<script>
import { getList } from "@/api/securityGuard/securityGuard"; // 保安员
export default {
  props: ["card"],
  data() {
    return {
      securityid1: "",
      ExperienceVisible: false,
      loading1: true,
      page1: {
        pageSize: 10,
        currentPage: 1,
        total: 0,
      },
      query1: {},
      data1: [],
      option1: {
        addBtn: false,
        searchShowBtn: false,
        columnBtn: false,
        // refreshBtn: false,
        // card: true,
        menu: false,
        height: 450,
        widtd: "auto",
        // calcHeight: 54,
        border: true, //liu
        stripe: true,
        // tip: false,
        index: true,
        // dialogClickModal: false,
        // headerAlign: "center",
        align: "center",
        column: [
          {
            label: "姓名",
            prop: "realName",
            disabled: true,
            searchLabelWidth: "50",
            width: 80,
            overHidden: true,
            searchSpan: 3,
            search: true,
          },
          {
            label: "所属保安公司",
            searchLabelWidth: "110",
            // 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: 220,
          },
          {
            label: "性别",
            prop: "sex",
            width: 55,
            type: "select",
            dicData: [
              {
                label: "男",
                value: 1,
              },
              {
                label: "女",
                value: 2,
              },
              {
                label: "未知",
                value: 3,
              },
            ],
            display: false,
          },
          {
            label: "身份证号码",
            prop: "cardid",
            search: true,
            searchLabelWidth: 90,
            searchSpan: 5,
            minWidth: 140,
            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: 100,
            display: false,
          },
          {
            label: "审查状态",
            prop: "examinationType",
            search: true,
            disabled: false,
            type: "select",
            searchSpan: 4,
            // searchValue: "1",
            dicData: [
              {
                label: "正常",
                value: "0",
              },
              {
                label: "异常",
                value: "1",
              },
            ],
          },
          {
            label: "审查明细",
            prop: "examinationMx",
            disabled: true,
          },
        ],
      },
    };
  },
  methods: {
    getPractitionersPageInfo(page, params = {}) {
      if (this.card.jurisdiction == 1123598813738675201) {
        this.card.jurisdiction = "";
      }
      // if (params.hold == undefined) {
      //   params.hold = 1;
      // }
      params = {
        ...params,
        ...this.query1,
        status: 1,
        ...this.card,
      };
      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.loading1 = false;
      });
    },
    refreshChange() {
      this.getPractitionersPageInfo(this.page1, this.query1);
    },
    searchChange(params, done) {
      this.query1 = params;
      this.page1.currentPage = 1;
      this.refreshChange();
      done();
    },
    searchReset() {
      this.query1 = {};
      this.page1.currentPage = 1;
      this.refreshChange();
      console.log(212);
    },
  },
};
</script>
<style scoped>
</style>
src/views/securityAnalysis/index.vue
@@ -2,19 +2,23 @@
  <div class="securityAnalysis">
    <!-- securityAnalysis -->
    <div class="securityAnalysisleft">
      <div class="examines">
        <div class="examine" ref="ech1"></div>
        <div class="examine1">
          <!-- <div>审查时间:</div>
      <!-- <div class="examines"> -->
      <!-- <div class="examine" ref="ech1"></div> -->
      <!-- <div class="examine1"> -->
      <!-- <div>审查时间:</div>
          <div>审查时间:</div>
          <div>问题保安员人数:</div>
          <div>问题保安员人数:</div>
          <div>问题保安员比例:</div>
          <div>问题保安员比例:</div> -->
          <div v-for="(item, index) in examine1" :key="index">
      <!-- <div v-for="(item, index) in examine1" :key="index">
            {{ item.title }}<br />{{ item.value }}
          </div>
        </div>
        </div> -->
      <!-- 保安员审查情况统计
        <div>饼图</div> -->
      <!-- </div> -->
      <div class="examines" ref="ech1">
        <!-- 保安员审查情况统计
        <div>饼图</div> -->
      </div>
@@ -46,17 +50,42 @@
    </div>
    <div>
      <el-dialog
        width="1111px"
        width="90%"
        :title="titles"
        append-to-body
        :visible.sync="dialogVisible"
        top="10vh"
      >
        <certificate :czdata="czdata" v-if="sees == 1"></certificate>
        <certificate
          :card="{ deptid: deptid, jurisdiction: jurisdiction }"
          v-if="sees == 1"
        >
          <!-- 保安员审查情况统计 -->
        </certificate>
        <examination
          :card="{ deptid: deptid, jurisdiction: jurisdiction }"
          v-if="sees == 2"
        ></examination>
        >
          <!-- 保安员考试情况统计 -->
        </examination>
        <situation
          :card="{ deptid: deptid, jurisdiction: jurisdiction }"
          v-if="sees == 3"
        >
          <!-- 保安员审查情况统计 -->
        </situation>
        <dispatch
          :card="{ deptId: deptid, jurisdiction: jurisdiction }"
          v-if="sees == 4"
        >
          <!-- 派遣服务单位 注意deptId  I为大写 -->
        </dispatch>
        <assignment
          :card="{ deptid: deptid, jurisdiction: jurisdiction }"
          v-if="sees == 5"
        >
          <!-- 保安派遣情况 -->
        </assignment>
      </el-dialog>
    </div>
  </div>
@@ -68,17 +97,23 @@
  getinformationselectHold, //保安员持证
  getinformationselectDis, //派遣服务单位
  getinformationstatistics, //保安员考试情况统计
  getinformationselectDisp, //保安派遣数量
  getinformationselectDisp, //保安派遣情况
  getinformationselectSoil, //社保缴纳情况统计
} from "@/api/securityAnalysis/securityAnalysis";
import { mapState } from "vuex";
import { getRoleDetail } from "@/api/system/role";
import certificate from "./certificate.vue";
import examination from "./examination.vue";
import certificate from "./child/certificate.vue";
import examination from "./child/examination.vue";
import situation from "./child/situation.vue";
import dispatch from "./child/dispatch.vue";
import assignment from "./child/assignment.vue";
export default {
  components: {
    certificate,
    examination,
    situation,
    dispatch,
    assignment,
  },
  data() {
    return {
@@ -96,7 +131,7 @@
      dialogVisible: false,
      titles: "",
      czdata: [],
      // czdata: [],
      sees: "",
    };
  },
@@ -178,6 +213,27 @@
        ? "0%"
        : Math.round((num / total) * 10000) / 100.0 + "%";
    },
    gettoolbox(title, titles, id) {
      var that = this;
      return {
        show: true,
        itemSize: 25,
        top: 20,
        right: 20,
        feature: {
          myTool1: {
            show: true,
            title: title,
            icon: "image://img/table.png",
            onclick: function () {
              that.dialogVisible = true;
              that.sees = id;
              that.titles = titles;
            },
          },
        },
      };
    },
    getEC1() {
      var that = this;
      getinformationselectExtype(this.deptid, this.jurisdiction)
@@ -236,6 +292,7 @@
          x: "center",
          y: "90%",
        },
        toolbox: this.gettoolbox("审查情况查询", "保安员审查情况明细", 3),
        // grid: {
        //   // left: "3%",
        //   right: "5%",
@@ -287,50 +344,50 @@
      getinformationselectHold(this.deptid, this.jurisdiction)
        .then((res) => {
          var a = res.data.data;
          console.log(a, "持证");
          // console.log(a, "持证");
          var b = that.changedata(a, "cz", "wcz", "持证", "未持证");
          that.setEC2(b);
          var datas = [];
          for (var k in a) {
            let b = "";
            let c = [];
            if (a[k].cz >= 1) {
              b = {
                czname: a[k].czname.split(","),
                czptime: a[k].czptime.split(","),
              };
              // datas.push(a[k]);
              // console.log(b, 123);
              if (b.czname.length > 1) {
                for (var n in b.czname) {
                  c.push({
                    czname: b.czname[n],
                    czptime: b.czptime[n] == 0 ? "" : b.czptime[n],
                    tpye: "持证",
                  });
                }
              } else {
                c = [
                  {
                    czname: b.czname[0],
                    czptime: b.czptime[0] == 0 ? "" : b.czptime[0],
                    tpye: "持证",
                  },
                ];
              }
              // console.log(c, 132456);
              datas.push(...c);
            }
            if (a[k].wcz >= 1) {
              b = {
                wczname: a[k].wczname.split(","),
                wczptime: a[k].wczptime.split(","),
              };
              console.log(b, 123);
            }
          }
          // that.czdata = [...datas, ...datas];
          that.czdata = datas;
          // var datas = [];
          // for (var k in a) {
          //   let b = "";
          //   let c = [];
          //   if (a[k].cz >= 1) {
          //     b = {
          //       czname: a[k].czname.split(","),
          //       czptime: a[k].czptime.split(","),
          //     };
          //     // datas.push(a[k]);
          //     // console.log(b, 123);
          //     if (b.czname.length > 1) {
          //       for (var n in b.czname) {
          //         c.push({
          //           czname: b.czname[n],
          //           czptime: b.czptime[n] == 0 ? "" : b.czptime[n],
          //           tpye: "持证",
          //         });
          //       }
          //     } else {
          //       c = [
          //         {
          //           czname: b.czname[0],
          //           czptime: b.czptime[0] == 0 ? "" : b.czptime[0],
          //           tpye: "持证",
          //         },
          //       ];
          //     }
          //     // console.log(c, 132456);
          //     datas.push(...c);
          //   }
          //   if (a[k].wcz >= 1) {
          //     b = {
          //       wczname: a[k].wczname.split(","),
          //       wczptime: a[k].wczptime.split(","),
          //     };
          //     console.log(b, 123);
          //   }
          // }
          // // that.czdata = [...datas, ...datas];
          // that.czdata = datas;
        })
        .catch((res) => {
          var b = that.changedata([], "cz", "wcz", "持证", "未持证");
@@ -357,24 +414,7 @@
          x: "center",
          y: "83%",
        },
        toolbox: {
          show: true,
          itemSize: 25,
          top: 20,
          right: 20,
          feature: {
            myTool1: {
              show: true,
              title: "持证情况查询",
              icon: "path://M137 66l37 63h-74zM921 921l-63 37v-74zM287 381h66c17.1 0 31 13.9 31 31v354c0 17.1-13.9 31-31 31h-66c-17.1 0-31-13.9-31-31V412c0-17.1 13.9-31 31-31zM491 193h66c17.1 0 31 13.9 31 31v542c0 17.1-13.9 31-31 31h-66c-17.1 0-31-13.9-31-31V224c0-17.1 13.9-31 31-31zM695 469h66c17.1 0 31 13.9 31 31v266c0 17.1-13.9 31-31 31h-66c-17.1 0-31-13.9-31-31V500c0-17.1 13.9-31 31-31z",
              onclick: function () {
                that.dialogVisible = true;
                that.sees = 1;
                that.titles = "保安员持证情况统计";
              },
            },
          },
        },
        toolbox: this.gettoolbox("持证情况查询", "保安员持证情况明细", 1),
        series: [
          {
            // name: "访问来源",
@@ -459,24 +499,7 @@
          formatter:
            "<span>实操成绩</span>({b0}) :  {c0}<span>人</span><br /><span>理论成绩</span>({b1}) :  {c1}<span>人</span>",
        },
        toolbox: {
          show: true,
          itemSize: 25,
          top: 20,
          right: 20,
          feature: {
            myTool1: {
              show: true,
              title: "考试情况查询",
              icon: "path://M137 66l37 63h-74zM921 921l-63 37v-74zM287 381h66c17.1 0 31 13.9 31 31v354c0 17.1-13.9 31-31 31h-66c-17.1 0-31-13.9-31-31V412c0-17.1 13.9-31 31-31zM491 193h66c17.1 0 31 13.9 31 31v542c0 17.1-13.9 31-31 31h-66c-17.1 0-31-13.9-31-31V224c0-17.1 13.9-31 31-31zM695 469h66c17.1 0 31 13.9 31 31v266c0 17.1-13.9 31-31 31h-66c-17.1 0-31-13.9-31-31V500c0-17.1 13.9-31 31-31z",
              onclick: function () {
                that.dialogVisible = true;
                that.sees = 2;
                that.titles = "保安员考试情况统计";
              },
            },
          },
        },
        toolbox: this.gettoolbox("考试情况查询", "保安员考试情况明细", 2),
        legend: {
          data: ["实操成绩", "理论成绩"],
        },
@@ -619,6 +642,7 @@
          data: xxd,
          // data: xd,
        },
        toolbox: this.gettoolbox("派遣单位查询", "派遣服务单位明细", 4),
        yAxis: {
          type: "value",
        },
@@ -663,6 +687,7 @@
        tooltip: {
          trigger: "item",
        },
        toolbox: this.gettoolbox("派遣情况查询", "保安员派遣情况明细", 5),
        legend: {
          // orient: "vertical",
          // left: "left",
@@ -837,6 +862,7 @@
  .securityAnalysiscenter {
    width: 40% !important;
  }
  .examines,
  .certificate,
  .examination,
  .dispatchUnit,
@@ -848,23 +874,23 @@
    box-sizing: border-box;
    background-color: #fff;
  }
  .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;
    }
  }
  // .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;
  // }
src/views/securityEquipment/car.js
@@ -1,150 +1,178 @@
var DIC = [{
    label: '招聘中',
    value: 1,
  label: '招聘中',
  value: 1,
}, {
    label: '停止招聘',
    value: 2,
  label: '停止招聘',
  value: 2,
}]
export var column = [
    // {
    //     label: "id",
    //     prop: "id",
    //     hide: true,
    //     editDisplay: false,
    //     addDisplay: false
    // },
    {
        label: "车牌号码",
        prop: "carNumber",
        searchSpan: 3,
        search: true,
        rules: [{
            required: true,
            message: "请输入车牌号码",
            trigger: "blur"
        }]
  // {
  //     label: "id",
  //     prop: "id",
  //     hide: true,
  //     editDisplay: false,
  //     addDisplay: false
  // },
  {
    label: "车牌号码",
    prop: "carNumber",
    searchSpan: 3,
    search: true,
    rules: [{
      required: true,
      message: "请输入车牌号码",
      trigger: "blur"
    }]
  },
  {
    label: "号码种类",
    prop: "numberType",
    dicUrl: "/api/blade-system/dict-biz/dictionary?code=carNumberType",
    search: true,
    type: "select",
    props: {
      label: "dictValue",
      value: "dictKey"
    },
    {
        label: "号码种类",
        prop: "numberType",
        dicUrl: "/api/blade-system/dict-biz/dictionary?code=carNumberType",
        search: true,
        type: "select",
        props: {
            label: "dictValue",
            value: "dictKey"
        },
        dataType: "number",
        searchSpan: 3,
        rules: [{
            required: true,
            message: "请输入号码种类",
            trigger: "blur"
        }],
    }, //上面不显示
    {
        label: "车辆类型",
        prop: "carType",
        rules: [{
            required: true,
            message: "请输入车辆类型",
            trigger: "blur"
        }],
        dicUrl: "/api/blade-system/dict-biz/dictionary?code=carType",
        search: true,
        searchSpan: 3,
        type: "select",
        props: {
            label: "dictValue",
            value: "dictKey"
        },
        dataType: "number",
    }, {
        label: "车辆型号",
        prop: "mode",
        // search: true,
        width: 110,
        overHidden: true,
        // search: true,
        rules: [{
            required: true,
            message: "请输入车辆型号",
            trigger: "blur"
        }]
    dataType: "number",
    searchSpan: 3,
    rules: [{
      required: true,
      message: "请输入号码种类",
      trigger: "blur"
    }],
  }, //上面不显示
  {
    label: "车辆类型",
    prop: "carType",
    rules: [{
      required: true,
      message: "请输入车辆类型",
      trigger: "blur"
    }],
    dicUrl: "/api/blade-system/dict-biz/dictionary?code=carType",
    search: true,
    searchSpan: 3,
    type: "select",
    props: {
      label: "dictValue",
      value: "dictKey"
    },
    {
        label: "所属保安公司",
        prop: "deptId",
        rules: [{
            required: true,
            message: "请输入保安公司",
            trigger: "blur"
        }],
        search: true,
        // addDisplay: true,
        // editDisplay: true,
        // viewDisplay: true,
        searchSpan: 4,
        searchLabelWidth: 110,
        overHidden: true,
        // searchSpan: 4,
        dicUrl: "/api/blade-system/dept/security_lazy-tree?parentId=1413470343230877697",
        props: {
            label: "title",
            value: "id"
        },
        type: "select",
    dataType: "number",
  }, {
    label: "车辆型号",
    prop: "mode",
    // search: true,
    width: 110,
    overHidden: true,
    // search: true,
    rules: [{
      required: true,
      message: "请输入车辆型号",
      trigger: "blur"
    }]
  },
  {
    label: "所属保安公司",
    prop: "deptId",
    rules: [{
      required: true,
      message: "请输入保安公司",
      trigger: "blur"
    }],
    search: true,
    // addDisplay: true,
    // editDisplay: true,
    // viewDisplay: true,
    searchSpan: 4,
    searchLabelWidth: 110,
    overHidden: true,
    // searchSpan: 4,
    dicUrl: "/api/blade-system/dept/security_lazy-tree?parentId=1413470343230877697",
    props: {
      label: "title",
      value: "id"
    },
    {
        label: "责任人",
        prop: "personInCharge",
        rules: [{
            required: true,
            message: "请输入责任人",
            trigger: "blur"
        }]
    type: "select",
  },
  {
    label: "责任人",
    prop: "personInCharge",
    rules: [{
      required: true,
      message: "请输入责任人",
      trigger: "blur"
    }]
  },
  {
    label: "厂商",
    prop: "brand",
    // search: true,
    width: 110,
    overHidden: true,
    search: true,
    rules: [{
      required: true,
      message: "请输入厂商",
      trigger: "blur"
    }],
    searchSpan: 4,
  },
  {
    label: "出厂日期",
    prop: "dateForProduction",
    type: "date",
    format: "yyyy-MM-dd",
    valueFormat: "yyyy-MM-dd",
    searchSpan: 4,
    overHidden: true,
    rules: [{
      required: true,
      message: "请输入出厂日期",
      trigger: "blur"
    }]
  },
  {
    label: "环保标志",
    prop: "umweltsatz",
    // search: true,
    width: 110,
    overHidden: true,
    // search: true,
    rules: [{
      required: true,
      message: "请输入环保标志(如:国IV)",
      trigger: "blur"
    }],
    searchSpan: 4,
  },
  {
    label: "行驶情况",
    prop: "drivingConditions",
    // search: true,
    width: 110,
    hide: true,
    // search: true,
    searchSpan: 4,
  },
  {
    label: "车辆图片",
    type: "upload",
    listType: "picture-img",
    propsHttp: {
      res: "data",
      url: "link",
    },
    {
        label: "厂商",
        prop: "brand",
        // search: true,
        width: 110,
        overHidden: true,
        search: true,
        rules: [{
            required: true,
            message: "请输入厂商",
            trigger: "blur"
        }],
        searchSpan: 4,
    canvasOption: {
      text: " ",
      ratio: 0.1,
    },
    {
        label: "出厂日期",
        prop: "dateForProduction",
        type: "date",
        format: "yyyy-MM-dd",
        valueFormat: "yyyy-MM-dd",
        searchSpan: 4,
        overHidden: true,
        rules: [{
            required: true,
            message: "请输入出厂日期",
            trigger: "blur"
        }]
    },
    {
        label: "环保标志",
        prop: "umweltsatz",
        // search: true,
        width: 110,
        overHidden: true,
        // search: true,
        rules: [{
            required: true,
            message: "请输入环保标志(如:国IV)",
            trigger: "blur"
        }],
        searchSpan: 4,
    }
]
    action: "/api/blade-resource/oss/endpoint/put-file",
    tip: "只能上传单张车辆图片,且不超过500kb",
    span: 10,
    // row: true,
    prop: "picture",
  },
]
src/views/securityEquipment/equipments.js
@@ -47,6 +47,51 @@
        width: 70,
    },
    {
      label: "装备类型",
      search: true,
      searchSpan: 4,
      prop: "type",
      slot: true,
      type: "select",
      rules: [
        {
          required: true,
          message: "请选择装备类型",
          trigger: "blur",
        },
      ],
      dicData: [
        {
          label: "交通工具",
          value: 1,
        },
        {
          label: "通讯设备",
          value: 2,
        },
        {
          label: "非杀伤性防卫器材",
          value: 3,
        },
        {
          label: "人体安全防护器材",
          value: 4,
        },
        {
          label: "救生器材",
          value: 5,
        },
        {
          label: "训练器材",
          value: 6,
        },
        {
          label: "其他器材",
          value: 7,
        },
      ],
    },
    {
        label: "所属保安公司",
        prop: "deptId",
        searchSpan: 6,
@@ -67,6 +112,8 @@
        type: "select",
        width: 250,
    },
    {
        label: "负责人",
        prop: "personInCharge",
@@ -104,5 +151,20 @@
            message: "请输入出厂日期",
            trigger: "blur"
        }]
    },
    {
        label: "采购时间",
        prop: "purchaseTime",
        type: "date",
        format: 'yyyy-MM-dd',
        searchSpan: 4,
        // span:8,
        valueFormat: 'yyyy-MM-dd',
        overHidden: true,
        rules: [{
            required: true,
            message: "请输入采购时间",
            trigger: "blur"
        }]
    }
]
]
src/views/securityUnit/armedEscort.vue
@@ -41,6 +41,13 @@
            icon="el-icon-circle-check"
            >附件上传
          </el-button>
          <el-button
            :size="size"
            :type="type"
            @click="Uploads(row)"
            icon="el-icon-circle-check"
            >单位装备清单
          </el-button>
        </template>
        <template slot="menuLeft">
          <el-button
@@ -49,7 +56,7 @@
            size="small"
            plain
            @click.stop="rowSave"
            >新增</el-button
            >信息登记</el-button
          >
          <el-button
            type="danger"
@@ -69,58 +76,43 @@
          </el-button>
        </template>
      </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"
            :option="option0"
            v-if="forms == 0"
          >
            <template slot="menuForm">
              <el-button type="primary" @click="tip0">下一页</el-button>
              <el-button type="info" @click="tipover">取消</el-button>
            </template>
          </avue-form>
          <avue-form
            ref="form1"
            v-model="obj1"
            :option="option1"
            v-else-if="forms == 1"
          >
            <template slot="menuForm">
              <el-button type="primary" @click="tip1up1">上一页</el-button>
              <el-button type="primary" @click="tip1">下一页</el-button>
              <el-button type="info" @click="tipover">取消</el-button>
            </template>
          </avue-form>
          <avue-form
            ref="form2"
            v-model="obj2"
            :option="option2"
            v-else-if="forms == 2"
          >
            <template slot="menuForm">
              <el-button type="primary" @click="tip2up2">上一页</el-button>
              <el-button type="primary" @click="tip2">提交</el-button>
              <el-button type="info" @click="tipover">取消</el-button>
            </template>
          </avue-form>
        </div>
      </div>
      <el-dialog
        title="信息登记"
        append-to-body
        :visible.sync="forms"
        :close-on-click-modal="false"
        @close="tipover"
        class="information-box"
        width="60%"
      >
        <el-tabs v-model="activeName" @tab-click="handleClick">
          <el-tab-pane label="保安单位基本信息" name="first">
            <avue-form ref="form" v-model="obj0" :option="option0">
              <template slot="menuForm" align="center">
                <el-button type="primary" @click="submitAdd">提交</el-button>
                <el-button type="info" @click="tipover">取消</el-button>
              </template>
            </avue-form>
          </el-tab-pane>
          <el-tab-pane label="保安单位出资人员" name="second">
            <avue-form ref="form1" v-model="obj1" :option="option1">
              <template slot="menuForm">
                <el-button type="primary" @click="submitAdd">提交</el-button>
                <el-button type="info" @click="tipover">取消</el-button>
              </template>
            </avue-form>
          </el-tab-pane>
          <el-tab-pane label="主要管理人员信息" name="third">
            <avue-form ref="form2" v-model="obj2" :option="option2">
              <template slot="menuForm">
                <el-button type="primary" @click="submitAdd">提交</el-button>
                <el-button type="info" @click="tipover">取消</el-button>
              </template>
            </avue-form>
          </el-tab-pane>
        </el-tabs>
      </el-dialog>
    </div>
    <el-dialog
      title="保安单位导入"
@@ -222,7 +214,39 @@
      },
      obj0: {
        title0: "保安单位基本信息",
        creditcode: "",
        jurisdiction: "",
        stats: "",
        enterprisename: "",
        representative: "",
        establishtime: "",
        registeredcapital: "",
        capital: "",
        organizationcode: "",
        registrationnumber: "",
        identificationnumber: "",
        enterprises: "",
        address: "",
        business: "",
        region: "",
        registration: "",
        industry: "",
      },
      obj1: {
        creditcode: "",
        shareholder: "",
        shareholdingratio: "",
        capital2: "",
        capitaltime: "",
        cardid: "",
        cell: "",
      },
      obj2: {
        creditcode: "",
        name: "",
        post: "",
        cardid2: "",
        cell2: "",
      },
      option0: {
        emptyBtn: false,
@@ -230,18 +254,14 @@
        gutter: 30,
        column: column0,
      },
      obj1: {
        title1: "保安单位出资人员",
      },
      option1: {
        emptyBtn: false,
        submitBtn: false,
        gutter: 30,
        column: column1,
      },
      obj2: {
        title2: "主要管理人员信息",
      },
      option2: {
        emptyBtn: false,
        submitBtn: false,
@@ -249,7 +269,7 @@
        column: column2,
      },
      forms: -1,
      forms: false,
      data0: {},
      data1: {},
      data2: {},
@@ -269,12 +289,14 @@
        searchSize: "mini",
        searchMenuSpan: 6,
        height: 583,
        menuWidth: 275,
        menuWidth: 369,
        border: true,
        align: "center",
        selection: true,
        column: column,
      },
      activeName: "first",
    };
  },
  computed: {
@@ -305,6 +327,16 @@
    },
  },
  methods: {
    Uploads(row) {
      // console.log(val.departmentid);
      this.$router.push({
        path: `/resource/attachCopyzb`,
        query: {
          deptId: row.departmentid,
          enterprisename: row.enterprisename,
        },
      });
    },
    rowClickSelf(val) {
      // console.log(val.departmentid);
      this.$router.push({
@@ -358,7 +390,8 @@
    },
    rowSave(form, done, loading) {
      // console.log("save1");
      this.forms = 0;
      this.forms = true;
      this.activeName = "first";
      var that = this;
      //先获取部门接口
      getDeptLazyTree().then((res) => {
@@ -497,84 +530,80 @@
    //   this.obj2["useid"] = data.id;
    //   this.nobumen = 1;
    // },
    tip0() {
    submitAdd() {
      if (this.panduanmeiyouziduan()) {
        return;
      }
      var d = {};
      var oneObj = {};
      for (var k in this.obj0) {
        for (var i in column0) {
          if (k == column0[i].prop && k != "title0") {
            d[k] = this.obj0[k];
            oneObj[k] = this.obj0[k];
          }
          if (column0[i].prop == "creditcode") {
            column1[1].value = column0[i].value;
          }
        }
      }
      console.log(d);
      for (var k in d) {
        if (d[k] == "" || d[k] == undefined) {
          console.log(k);
          this.$message.warning("请检查表单是否填写完整!");
      for (var key in oneObj) {
        if (oneObj[key] == "" || oneObj[key] == undefined) {
          console.log(key);
          this.$message.warning("请检查表单是否填写完整!1");
          return;
        }
      }
      console.log(d, 0);
      this.data0 = d;
      this.forms = 1;
    },
    tip1() {
      if (this.panduanmeiyouziduan()) {
        return;
      }
      var d = {};
      for (var k in this.obj1) {
        for (var i in column1) {
          if (k == column1[i].prop && k != "title1") {
            d[k] = this.obj1[k];
      this.data0 = oneObj;
      var twoObj = {};
      for (var twok in this.obj1) {
        for (var twoi in column1) {
          if (twok == column1[twoi].prop && twok != "title1") {
            twoObj[twok] = this.obj1[twok];
          }
        }
      }
      d["capital"] = d["capital2"];
      delete d["capital2"];
      twoObj["capital"] = twoObj["capital2"];
      delete twoObj["capital2"];
      // console.log(d);
      for (var k in d) {
        if (d[k] == "" || d[k] == undefined) {
          console.log(k);
          this.$message.warning("请检查表单是否填写完整!");
      for (var twokey in twoObj) {
        if (twoObj[twokey] == "" || twoObj[twokey] == undefined) {
          console.log(twokey);
          this.$message.warning("请检查表单是否填写完整!2");
          return;
        }
      }
      console.log(d, 1);
      this.data1 = d;
      this.forms = 2;
    },
    tip2() {
      if (this.panduanmeiyouziduan()) {
        return;
      }
      var d = {};
      for (var k in this.obj2) {
        for (var i in column2) {
          if (k == column2[i].prop && k != "title2") {
            d[k] = this.obj2[k];
      this.data1 = twoObj;
      var threeObj = {};
      for (var threek in this.obj2) {
        for (var threei in column2) {
          if (threek == column2[threei].prop && threek != "title2") {
            threeObj[threek] = this.obj2[threek];
          }
        }
      }
      console.log(d);
      d["cardid"] = d["cardid2"];
      delete d["cardid2"];
      d["cell"] = d["cell2"];
      delete d["cell2"];
      threeObj["cardid"] = threeObj["cardid2"];
      delete threeObj["cardid2"];
      threeObj["cell"] = threeObj["cell2"];
      delete threeObj["cell2"];
      // d["shareholdingratio"] = d["shareholdingratio2"];
      // delete d["shareholdingratio2"];
      for (var k in d) {
        if (d[k] == "" || d[k] == undefined) {
          console.log(k);
          this.$message.warning("请检查表单是否填写完整!");
      for (var threekey in threeObj) {
        if (threeObj[threekey] == "" || threeObj[threekey] == undefined) {
          console.log(threekey);
          this.$message.warning("请检查表单是否填写完整!3");
          return;
        }
      }
      console.log(d, 2);
      this.data2 = d;
      this.data2 = threeObj;
      // this.data0.departmentid = this.data0.useid;
      // this.data1.departmentid = this.data1.useid;
@@ -598,22 +627,44 @@
      }, 500);
      this.tipover();
    },
    tip1up1() {
      this.forms = 0;
    },
    tip2up2() {
      this.forms = 1;
    },
    tipover() {
      this.forms = -1;
      this.forms = false;
      this.obj0 = {
        title0: "保安单位基本信息",
        creditcode: "",
        jurisdiction: "",
        stats: "",
        enterprisename: "",
        representative: "",
        establishtime: "",
        registeredcapital: "",
        capital: "",
        organizationcode: "",
        registrationnumber: "",
        identificationnumber: "",
        enterprises: "",
        address: "",
        business: "",
        region: "",
        registration: "",
        industry: "",
      };
      this.obj1 = {
        title1: "保安单位出资人员",
        creditcode: "",
        shareholder: "",
        shareholdingratio: "",
        capital2: "",
        capitaltime: "",
        cardid: "",
        cell: "",
      };
      this.obj2 = {
        title2: "主要管理人员信息",
        creditcode: "",
        name: "",
        post: "",
        cardid2: "",
        cell2: "",
      };
      this.data0 = {};
      this.data1 = {};
@@ -649,7 +700,18 @@
      console.log(this.havedata, "qqqqq");
    },
  },
  mounted() {},
  mounted() {
    var that = this;
    this.option0.column.forEach((item) => {
      if (item.prop == "creditcode") {
        item.change = function (e) {
          that.obj1.creditcode = e.value;
          that.obj2.creditcode = e.value;
        };
      }
    });
  },
};
</script>
@@ -669,38 +731,6 @@
//   padding: 0 !important;
// }
.lod {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: rgba($color: #000000, $alpha: 0.5);
  padding: 100px 0 0 0;
  z-index: 500 !important;
  display: flex;
  // align-items: center;
  justify-content: center;
  .trees {
    z-index: 501 !important;
    position: absolute;
    width: 15%;
    top: 100px;
    left: 0;
    // display: none;
  }
  .lod-in {
    width: 70%;
    height: auto;
    background-color: transparent;
    // padding: 10px 0 0 0;
  }
  .el-collapse-item {
    padding-top: 15px !important;
  }
}
.el-collapse {
  border-top: 1px solid transparent !important;
}
src/views/securityUnit/data.js
@@ -1,638 +1,634 @@
var DIC = [
    {
        label: '招聘中',
        value: 1,
    }, {
        label: '停止招聘',
        value: 2,
    }
var DIC = [{
  label: '招聘中',
  value: 1,
}, {
  label: '停止招聘',
  value: 2,
}]
export var column = [{
  label: "统一社会信用代码",
  prop: "creditcode",
  width: 140,
  hide: true,
  labelWidth: 160,
  // hide: true,
  // editDisplay: false,
  // addDisplay: false
},
{
  label: "企业名称",
  prop: "enterprisename",
  search: true,
  width: 260,
  searchSpan: 4,
  labelWidth: 160,
  // width: 130,
  overHidden: true
},
{
  label: "企业类型",
  prop: "stats",
  type: "tree",
  hide: true,
  labelWidth: 160,
  dicUrl: "/api/blade-system/dict-biz/dictionary?code=stats",
  props: {
    label: "dictValue",
    value: "dictKey"
  },
  width: 130,
  rules: [{
    required: true,
    message: "请选择企业类型",
    trigger: "click",
  },],
},
{
  label: "法定代表人",
  labelWidth: 160,
  prop: "representative",
  width: 90,
  search: true,
  searchSpan: 4,
  searchLabelWidth: 100
},
{
  label: "法定代表人电话",
  labelWidth: 160,
  prop: "representativecell",
  width: 110,
  // search: true,
  searchSpan: 4,
  searchLabelWidth: 100
},
{
  label: "保安人数",
  labelWidth: 160,
  prop: "znum",
  width: 69,
  // search: true,
  searchSpan: 4,
  searchLabelWidth: 100
},
{
  label: "派遣人数",
  labelWidth: 160,
  prop: "pnum",
  width: 69,
  // search: true,
  searchSpan: 4,
  searchLabelWidth: 100
},
{
  label: "持证人数",
  labelWidth: 160,
  prop: "cnum",
  width: 69,
  // search: true,
  searchSpan: 4,
  searchLabelWidth: 100
},
{
  label: "注册时间",
  prop: "establishtime",
  labelWidth: 160,
  width: 100,
  overHidden: true,
  type: "date",
  format: "yyyy-MM-dd",
  valueFormat: "timestamp",
},
{
  label: "注册资本",
  prop: "registeredcapital",
  hide: true,
  labelWidth: 160,
  // search: true,
  width: 80,
},
{
  label: "联系人",
  prop: "contacts",
  labelWidth: 160,
  width: 60,
}, {
  label: "联系电话",
  prop: "contactscell",
  labelWidth: 160,
  width: 95,
},
{
  label: "注册地址",
  prop: "address",
  labelWidth: 160,
  // search: true,
  hide: true,
},
{
  label: "经营范围",
  prop: "business",
  // search: true,
  labelWidth: 160,
  hide: true,
  // width: 110,
  overHidden: true
},
{
  label: "所属辖区",
  prop: "region",
  labelWidth: 160,
  // width: 110,
  // search: true,
  overHidden: true
},
{
  label: "登记机关",
  prop: "registration",
  // search: true,
  labelWidth: 160,
  // width: 88,
  overHidden: true,
  hide: true,
},
{
  label: "所属行业",
  prop: "industry",
  labelWidth: 160,
  hide: true,
  // search: true,
  // width: 88,
},
]
export var column = [
    {
        label: "统一社会信用代码",
        prop: "creditcode",
        width: 140,
        hide: true,
var w = 160,
  s = 12;
export var column0 = [{
  label: "",
  labelWidth: 20,
  type: 'title',
  prop: "title0",
  span: 24,
  styles: {
    fontSize: '24px'
  }
},
{
  label: "统一社会信用代码",
  prop: "creditcode",
  labelWidth: w,
  span: s,
  rules: [{
    required: true,
    message: "请输入社会信用代码",
    trigger: "blur"
  }]
},
{
  label: "辖区",
  prop: "jurisdiction",
  // type: "tree",
  // disabled: true,
  type: "tree",
  dicUrl: "/api//jurisdiction/lazy-trees",
  props: {
    label: "title",
    value: "id"
  },
  labelWidth: w,
  span: s,
  rules: [{
    required: true,
    message: "请选择所属辖区",
    trigger: "click",
  },],
},
// {
//     label: "机构",
//     prop: "departmentids",
//     // type: "tree",
//     // disabled: true,
//     type: "tree",
//     dicUrl: "/api/blade-system/dept/lazy-tree?parentId=0",
//     props: {
//         label: "title",
//         value: "id"
//     },
//     labelWidth: w,
//     span: s,
//     rules: [
//         {
//             required: true,
//             message: "请选择所属部门",
//             trigger: "click",
//         },
//     ],
// },
{
  label: "企业类型",
  prop: "stats",
  type: "tree",
  dicUrl: "/api/blade-system/dict-biz/dictionary?code=stats",
  props: {
    label: "dictValue",
    value: "dictKey"
  },
  labelWidth: w,
  span: s,
  rules: [{
    required: true,
    message: "请选择企业类型",
    trigger: "click",
  },],
},
{
  label: "企业名称",
  prop: "enterprisename",
  labelWidth: w,
  span: s,
  rules: [{
    required: true,
    message: "请输入企业名称",
    trigger: "blur"
  }]
},
{
  label: "法定代表人",
  prop: "representative",
  labelWidth: w,
  span: s,
  rules: [{
    required: true,
    message: "请输入法定代表人",
    trigger: "blur"
  }]
},
{
  label: "法定代表人电话",
  prop: "representativecell",
  labelWidth: w,
  span: s,
},
        labelWidth: 160,
        // hide: true,
        // editDisplay: false,
        // addDisplay: false
    },
    {
        label: "企业名称",
        prop: "enterprisename",
        search: true,
        width: 260,
        searchSpan: 4,
        labelWidth: 160,
        // width: 130,
        overHidden: true
    },
// {
//     label: "企业类型",
//     prop: "stats",
//     labelWidth: w,
//     span: s,
//     rules: [{
//         required: true,
//         message: "请输入企业类型",
//         trigger: "blur"
//     }]
// },
{
  label: "注册时间",
  prop: "establishtime",
  labelWidth: w,
  span: s,
  type: "date",
  format: "yyyy-MM-dd",
  valueFormat: "timestamp",
  rules: [{
    required: true,
    message: "请输入注册时间",
    trigger: "blur"
  }]
},
{
  label: "注册资本(万元人民币)",
  prop: "registeredcapital",
  labelWidth: w,
  span: s,
  rules: [{
    required: true,
    message: "请输入注册资本",
    trigger: "blur"
  }]
},
{
  label: "实缴资本(万元人民币)",
  prop: "capital",
  labelWidth: w,
  span: s,
  rules: [{
    required: true,
    message: "请输入实缴资本",
    trigger: "blur"
  }]
},
{
  label: "组织机构代码",
  prop: "organizationcode",
  labelWidth: w,
  span: s,
  rules: [{
    required: true,
    message: "请输入组织机构代码",
    trigger: "blur"
  }]
},
{
  label: "工商注册号",
  prop: "registrationnumber",
    {
        label: "企业类型",
        prop: "stats",
        type: "tree",
        hide: true,
        labelWidth: 160,
        dicUrl: "/api/blade-system/dict-biz/dictionary?code=stats",
        props: {
            label: "dictValue",
            value: "dictKey"
        },
        width: 130,
        rules: [
            {
                required: true,
                message: "请选择企业类型",
                trigger: "click",
            },
        ],
    },
    {
        label: "法定代表人",
        labelWidth: 160,
        prop: "representative",
        width: 110,
        search: true,
        searchSpan: 4,
        searchLabelWidth: 100
    },
    {
        label: "法定代表人电话",
        labelWidth: 160,
        prop: "representativecell",
        width: 120,
        // search: true,
        searchSpan: 4,
        searchLabelWidth: 100
    },
  labelWidth: w,
  span: s,
  rules: [{
    required: true,
    message: "请输入工商注册号",
    trigger: "blur"
  }]
},
{
  label: "纳税人识别号",
  prop: "identificationnumber",
  labelWidth: w,
  span: s,
  rules: [{
    required: true,
    message: "请输入纳税人识别号",
    trigger: "blur"
  }]
},
{
  label: "企业类型",
  prop: "enterprises",
  labelWidth: w,
  span: s,
  rules: [{
    required: true,
    message: "请输入企业类型",
    trigger: "blur"
  }]
},
{
  label: "注册地址",
  prop: "address",
  labelWidth: w,
  span: s,
  rules: [{
    required: true,
    message: "请输入注册地址",
    trigger: "blur"
  }]
},
{
  label: "经营范围",
  prop: "business",
  labelWidth: w,
  span: s,
  rules: [{
    required: true,
    message: "请输入经营范围",
    trigger: "blur"
  }]
},
{
  label: "所属地区",
  prop: "region",
  labelWidth: w,
  span: s,
  rules: [{
    required: true,
    message: "请输入所属地区",
    trigger: "blur"
  }]
},
{
  label: "登记机关",
  prop: "registration",
  labelWidth: w,
  span: s,
  rules: [{
    required: true,
    message: "请输入登记机关",
    trigger: "blur"
  }]
  // overHidden: true,
},
    {
        label: "保安人数",
        labelWidth: 160,
        prop: "znum",
        width: 69,
        // search: true,
        searchSpan: 4,
        searchLabelWidth: 100
    },
    {
        label: "派遣人数",
        labelWidth: 160,
        prop: "pnum",
        width: 69,
        // search: true,
        searchSpan: 4,
        searchLabelWidth: 100
    },
    {
        label: "持证人数",
        labelWidth: 160,
        prop: "cnum",
        width: 69,
        // search: true,
        searchSpan: 4,
        searchLabelWidth: 100
    },
    {
        label: "注册时间",
        prop: "establishtime",
        labelWidth: 160,
        width: 130,
        overHidden: true,
        type: "date",
        format: "yyyy-MM-dd",
        valueFormat: "timestamp",
    },
    {
        label: "注册资本",
        prop: "registeredcapital",
        hide: true,
        labelWidth: 160,
        // search: true,
        width: 80,
    },
    {
        label: "联系人",
        prop: "contacts",
        labelWidth: 160,
        width: 85,
    }, {
        label: "联系电话",
        prop: "contactscell",
        labelWidth: 160,
        width: 95,
    },
    {
        label: "注册地址",
        prop: "address",
        labelWidth: 160,
        // search: true,
        hide: true,
    },
    {
        label: "经营范围",
        prop: "business",
        // search: true,
        labelWidth: 160,
        hide: true,
        // width: 110,
        overHidden: true
    },
    {
        label: "所属辖区",
        prop: "region",
        labelWidth: 160,
        // width: 110,
        // search: true,
        overHidden: true
    },
    {
        label: "登记机关",
        prop: "registration",
        // search: true,
        labelWidth: 160,
        // width: 88,
        overHidden: true,
        hide: true,
    },
    {
        label: "所属行业",
        prop: "industry",
        labelWidth: 160,
        hide: true,
        // search: true,
        // width: 88,
    },
{
  label: "所属行业",
  prop: "industry",
  labelWidth: w,
  span: s,
  rules: [{
    required: true,
    message: "请输入所属行业",
    trigger: "blur"
  }]
}
]
var w = 160
    , s = 12;
export var column0 = [
    {
        label: "",
        labelWidth: 20,
        type: 'title',
        prop: "title0",
        span: 24,
        styles: {
            fontSize: '24px'
        }
    },
    {
        label: "统一社会信用代码",
        prop: "creditcode",
        labelWidth: w,
        span: s,
        rules: [{
            required: true,
            message: "请输入社会信用代码",
            trigger: "blur"
        }]
    },
    {
        label: "辖区",
        prop: "jurisdiction",
        // type: "tree",
        // disabled: true,
        type: "tree",
        dicUrl: "/api//jurisdiction/lazy-trees",
        props: {
            label: "title",
            value: "id"
        },
        labelWidth: w,
        span: s,
        rules: [
            {
                required: true,
                message: "请选择所属辖区",
                trigger: "click",
            },
        ],
    },
    // {
    //     label: "机构",
    //     prop: "departmentids",
    //     // type: "tree",
    //     // disabled: true,
    //     type: "tree",
    //     dicUrl: "/api/blade-system/dept/lazy-tree?parentId=0",
    //     props: {
    //         label: "title",
    //         value: "id"
    //     },
    //     labelWidth: w,
    //     span: s,
    //     rules: [
    //         {
    //             required: true,
    //             message: "请选择所属部门",
    //             trigger: "click",
    //         },
    //     ],
    // },
    {
        label: "企业类型",
        prop: "stats",
        type: "tree",
        dicUrl: "/api/blade-system/dict-biz/dictionary?code=stats",
        props: {
            label: "dictValue",
            value: "dictKey"
        },
        labelWidth: w,
        span: s,
        rules: [
            {
                required: true,
                message: "请选择企业类型",
                trigger: "click",
            },
        ],
    },
    {
        label: "企业名称",
        prop: "enterprisename",
        labelWidth: w,
        span: s,
        rules: [{
            required: true,
            message: "请输入企业名称",
            trigger: "blur"
        }]
    },
    {
        label: "法定代表人",
        prop: "representative",
        labelWidth: w,
        span: s,
        rules: [{
            required: true,
            message: "请输入法定代表人",
            trigger: "blur"
        }]
    },
    // {
    //     label: "企业类型",
    //     prop: "stats",
    //     labelWidth: w,
    //     span: s,
    //     rules: [{
    //         required: true,
    //         message: "请输入企业类型",
    //         trigger: "blur"
    //     }]
    // },
    {
        label: "注册时间",
        prop: "establishtime",
        labelWidth: w,
        span: s,
        type: "date",
        format: "yyyy-MM-dd",
        valueFormat: "timestamp",
        rules: [{
            required: true,
            message: "请输入注册时间",
            trigger: "blur"
        }]
    },
    {
        label: "注册资本(万元人民币)",
        prop: "registeredcapital",
        labelWidth: w,
        span: s,
        rules: [{
            required: true,
            message: "请输入注册资本",
            trigger: "blur"
        }]
    },
    {
        label: "实缴资本(万元人民币)",
        prop: "capital",
        labelWidth: w,
        span: s,
        rules: [{
            required: true,
            message: "请输入实缴资本",
            trigger: "blur"
        }]
    },
    {
        label: "组织机构代码",
        prop: "organizationcode",
        labelWidth: w,
        span: s,
        rules: [{
            required: true,
            message: "请输入组织机构代码",
            trigger: "blur"
        }]
    },
    {
        label: "工商注册号",
        prop: "registrationnumber",
        labelWidth: w,
        span: s,
        rules: [{
            required: true,
            message: "请输入工商注册号",
            trigger: "blur"
        }]
    },
    {
        label: "纳税人识别号",
        prop: "identificationnumber",
        labelWidth: w,
        span: s,
        rules: [{
            required: true,
            message: "请输入纳税人识别号",
            trigger: "blur"
        }]
    },
    {
        label: "企业类型",
        prop: "enterprises",
        labelWidth: w,
        span: s,
        rules: [{
            required: true,
            message: "请输入企业类型",
            trigger: "blur"
        }]
    },
    {
        label: "注册地址",
        prop: "address",
        labelWidth: w,
        span: s,
        rules: [{
            required: true,
            message: "请输入注册地址",
            trigger: "blur"
        }]
    },
    {
        label: "经营范围",
        prop: "business",
        labelWidth: w,
        span: s,
        rules: [{
            required: true,
            message: "请输入经营范围",
            trigger: "blur"
        }]
    },
    {
        label: "所属地区",
        prop: "region",
        labelWidth: w,
        span: s,
        rules: [{
            required: true,
            message: "请输入所属地区",
            trigger: "blur"
        }]
    },
    {
        label: "登记机关",
        prop: "registration",
        labelWidth: w,
        span: s,
        rules: [{
            required: true,
            message: "请输入登记机关",
            trigger: "blur"
        }]
        // overHidden: true,
    },
    {
        label: "所属行业",
        prop: "industry",
        labelWidth: w,
        span: s,
        rules: [{
            required: true,
            message: "请输入所属行业",
            trigger: "blur"
        }]
    }
export var column1 = [{
  label: "",
  labelWidth: 20,
  type: 'title',
  prop: "title1",
  span: 24,
  styles: {
    fontSize: '24px'
  }
},
{
  label: "统一社会信用代码",
  prop: "creditcode",
  disabled: true,
  labelWidth: w,
  span: s,
  rules: [{
    required: true,
    message: "请输入统一社会信用代码",
    trigger: "blur"
  }]
},
// {
//     label: "部门",
//     prop: "departmentid",
//     // type: "tree",
//     disabled: true,
//     dicData: [],
//     labelWidth: w,
//     span: s,
//     props: {
//         label: "title",
//     },
//     rules: [
//         {
//             required: true,
//             message: "请选择所属部门",
//             trigger: "click",
//         },
//     ],
// },
{
  label: "股东",
  prop: "shareholder",
  labelWidth: w,
  span: s,
  rules: [{
    required: true,
    message: "请输入法定代表人",
    trigger: "blur"
  }]
}, {
  label: "持股比例(%)",
  prop: "shareholdingratio",
  labelWidth: w,
  span: s,
  rules: [{
    required: true,
    message: "请输入持股比例",
    trigger: "blur"
  }]
},
// {
//     label: "最终受益股份",
//     prop: "beneficial",
//     labelWidth: w,
//     span: s
// },
{
  label: "出资金额",
  prop: "capital2",
  labelWidth: w,
  span: s,
  rules: [{
    required: true,
    message: "请输入出资金额",
    trigger: "blur"
  }]
}, {
  label: "出资时间",
  prop: "capitaltime",
  type: "date",
  format: "yyyy-MM-dd",
  valueFormat: "timestamp",
  labelWidth: w,
  span: s,
  rules: [{
    required: true,
    message: "请输入法定代表人",
    trigger: "blur"
  }]
}, {
  label: "身份证",
  prop: "cardid",
  labelWidth: w,
  span: s,
  rules: [{
    required: true,
    message: "请输入身份证",
    trigger: "blur"
  }]
}, {
  label: "联系电话",
  prop: "cell",
  labelWidth: w,
  span: s,
  rules: [{
    required: true,
    message: "请输入联系电话",
    trigger: "blur"
  }]
},
]
export var column1 = [
    {
        label: "",
        labelWidth: 20,
        type: 'title',
        prop: "title1",
        span: 24,
        styles: {
            fontSize: '24px'
        }
    },
    {
        label: "统一社会信用代码",
        prop: "creditcode",
        disabled: true,
        labelWidth: w,
        span: s,
        rules: [{
            required: true,
            message: "请输入统一社会信用代码",
            trigger: "blur"
        }]
    },
    // {
    //     label: "部门",
    //     prop: "departmentid",
    //     // type: "tree",
    //     disabled: true,
    //     dicData: [],
    //     labelWidth: w,
    //     span: s,
    //     props: {
    //         label: "title",
    //     },
    //     rules: [
    //         {
    //             required: true,
    //             message: "请选择所属部门",
    //             trigger: "click",
    //         },
    //     ],
    // },
    {
        label: "股东",
        prop: "shareholder",
        labelWidth: w,
        span: s,
        rules: [{
            required: true,
            message: "请输入法定代表人",
            trigger: "blur"
        }]
    }, {
        label: "持股比例(%)",
        prop: "shareholdingratio",
        labelWidth: w,
        span: s,
        rules: [{
            required: true,
            message: "请输入持股比例",
            trigger: "blur"
        }]
    },
    // {
    //     label: "最终受益股份",
    //     prop: "beneficial",
    //     labelWidth: w,
    //     span: s
    // },
    {
        label: "出资金额",
        prop: "capital2",
        labelWidth: w,
        span: s,
        rules: [{
            required: true,
            message: "请输入出资金额",
            trigger: "blur"
        }]
    }, {
        label: "出资时间",
        prop: "capitaltime",
        type: "date",
        format: "yyyy-MM-dd",
        valueFormat: "timestamp",
        labelWidth: w,
        span: s,
        rules: [{
            required: true,
            message: "请输入法定代表人",
            trigger: "blur"
        }]
    }, {
        label: "身份证",
        prop: "cardid",
        labelWidth: w,
        span: s,
        rules: [{
            required: true,
            message: "请输入身份证",
            trigger: "blur"
        }]
    }, {
        label: "联系电话",
        prop: "cell",
        labelWidth: w,
        span: s,
        rules: [{
            required: true,
            message: "请输入联系电话",
            trigger: "blur"
        }]
    },
]
export var column2 = [
    {
        label: "",
        labelWidth: 20,
        type: 'title',
        prop: "title2",
        span: 24,
        styles: {
            fontSize: '24px'
        }
    },
    {
        label: "统一社会信用代码",
        prop: "creditcode",
        disabled: true,
        labelWidth: w,
        span: s,
        rules: [{
            required: true,
            message: "请输入统一社会信用代码",
            trigger: "blur"
        }]
    },
    // {
    //     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,
        span: s,
        rules: [{
            required: true,
            message: "请输入姓名",
            trigger: "blur"
        }]
    }, {
        label: "职务",
        prop: "post",
        labelWidth: w,
        span: s,
        rules: [{
            required: true,
            message: "请输入职务",
            trigger: "blur"
        }]
    }, {
        label: "身份证",
        prop: "cardid2",
        labelWidth: w,
        span: s,
        rules: [{
            required: true,
            message: "请输入身份证",
            trigger: "blur"
        }]
    }, {
        label: "联系电话",
        prop: "cell2",
        labelWidth: w,
        span: s,
        rules: [{
            required: true,
            message: "请输入联系电话",
            trigger: "blur"
        }]
    }
    // , {
    //     label: "持股比例(%)",
    //     prop: "shareholdingratio2",
    //     labelWidth: w,
    //     span: s
    // }
export var column2 = [{
  label: "",
  labelWidth: 20,
  type: 'title',
  prop: "title2",
  span: 24,
  styles: {
    fontSize: '24px'
  }
},
{
  label: "统一社会信用代码",
  prop: "creditcode",
  disabled: true,
  labelWidth: w,
  span: s,
  rules: [{
    required: true,
    message: "请输入统一社会信用代码",
    trigger: "blur"
  }]
},
// {
//     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,
  span: s,
  rules: [{
    required: true,
    message: "请输入姓名",
    trigger: "blur"
  }]
}, {
  label: "职务",
  prop: "post",
  labelWidth: w,
  span: s,
  rules: [{
    required: true,
    message: "请输入职务",
    trigger: "blur"
  }]
}, {
  label: "身份证",
  prop: "cardid2",
  labelWidth: w,
  span: s,
  rules: [{
    required: true,
    message: "请输入身份证",
    trigger: "blur"
  }]
}, {
  label: "联系电话",
  prop: "cell2",
  labelWidth: w,
  span: s,
  rules: [{
    required: true,
    message: "请输入联系电话",
    trigger: "blur"
  }]
}
  // , {
  //     label: "持股比例(%)",
  //     prop: "shareholdingratio2",
  //     labelWidth: w,
  //     span: s
  // }
]
src/views/securityUnit/localCompany.vue
@@ -41,6 +41,13 @@
            icon="el-icon-circle-check"
            >附件上传
          </el-button>
          <el-button
            :size="size"
            :type="type"
            @click="Uploads(row)"
            icon="el-icon-circle-check"
            >单位装备清单
          </el-button>
        </template>
        <template slot="menuLeft">
          <el-button
@@ -49,7 +56,7 @@
            size="small"
            plain
            @click.stop="rowSave"
            >新增</el-button
            >信息登记</el-button
          >
          <el-button
            type="danger"
@@ -69,59 +76,45 @@
          </el-button>
        </template>
      </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"
            :option="option0"
            v-if="forms == 0"
          >
            <template slot="menuForm">
              <el-button type="primary" @click="tip0">下一页</el-button>
              <el-button type="info" @click="tipover">取消</el-button>
            </template>
          </avue-form>
          <avue-form
            ref="form1"
            v-model="obj1"
            :option="option1"
            v-else-if="forms == 1"
          >
            <template slot="menuForm">
              <el-button type="primary" @click="tip1up1">上一页</el-button>
              <el-button type="primary" @click="tip1">下一页</el-button>
              <el-button type="info" @click="tipover">取消</el-button>
            </template>
          </avue-form>
          <avue-form
            ref="form2"
            v-model="obj2"
            :option="option2"
            v-else-if="forms == 2"
          >
            <template slot="menuForm">
              <el-button type="primary" @click="tip2up2">上一页</el-button>
              <el-button type="primary" @click="tip2">提交</el-button>
              <el-button type="info" @click="tipover">取消</el-button>
            </template>
          </avue-form>
        </div>
      </div>
      <el-dialog
        title="信息登记"
        append-to-body
        :visible.sync="forms"
        :close-on-click-modal="false"
        @close="tipover"
        class="information-box"
        width="60%"
      >
        <el-tabs v-model="activeName" @tab-click="handleClick">
          <el-tab-pane label="保安单位基本信息" name="first">
            <avue-form ref="form" v-model="obj0" :option="option0">
              <template slot="menuForm" align="center">
                <el-button type="primary" @click="submitAdd">提交</el-button>
                <el-button type="info" @click="tipover">取消</el-button>
              </template>
            </avue-form>
          </el-tab-pane>
          <el-tab-pane label="保安单位出资人员" name="second">
            <avue-form ref="form1" v-model="obj1" :option="option1">
              <template slot="menuForm">
                <el-button type="primary" @click="submitAdd">提交</el-button>
                <el-button type="info" @click="tipover">取消</el-button>
              </template>
            </avue-form>
          </el-tab-pane>
          <el-tab-pane label="主要管理人员信息" name="third">
            <avue-form ref="form2" v-model="obj2" :option="option2">
              <template slot="menuForm">
                <el-button type="primary" @click="submitAdd">提交</el-button>
                <el-button type="info" @click="tipover">取消</el-button>
              </template>
            </avue-form>
          </el-tab-pane>
        </el-tabs>
      </el-dialog>
    </div>
    <el-dialog
      title="保安单位导入"
      append-to-body
@@ -222,26 +215,55 @@
      },
      obj0: {
        title0: "保安单位基本信息",
        creditcode: "",
        jurisdiction: "",
        stats: "",
        enterprisename: "",
        representative: "",
        establishtime: "",
        registeredcapital: "",
        capital: "",
        organizationcode: "",
        registrationnumber: "",
        identificationnumber: "",
        enterprises: "",
        address: "",
        business: "",
        region: "",
        registration: "",
        industry: "",
      },
      obj1: {
        creditcode: "",
        shareholder: "",
        shareholdingratio: "",
        capital2: "",
        capitaltime: "",
        cardid: "",
        cell: "",
      },
      obj2: {
        creditcode: "",
        name: "",
        post: "",
        cardid2: "",
        cell2: "",
      },
      option0: {
        emptyBtn: false,
        submitBtn: false,
        gutter: 30,
        column: column0,
      },
      obj1: {
        title1: "保安单位出资人员",
      },
      option1: {
        emptyBtn: false,
        submitBtn: false,
        gutter: 30,
        column: column1,
      },
      obj2: {
        title2: "主要管理人员信息",
      },
      option2: {
        emptyBtn: false,
        submitBtn: false,
@@ -249,7 +271,7 @@
        column: column2,
      },
      forms: -1,
      forms: false,
      data0: {},
      data1: {},
      data2: {},
@@ -269,12 +291,16 @@
        searchSize: "mini",
        searchMenuSpan: 6,
        height: 583,
        menuWidth: 275,
        menuWidth: 369,
        border: true,
        align: "center",
        selection: true,
        column: column,
        addTitle: "信息登记",
        addBtnText: "信息登记",
      },
      activeName: "first",
    };
  },
  computed: {
@@ -305,6 +331,19 @@
    },
  },
  methods: {
    Uploads(row) {
      // console.log(val.departmentid);
      this.$router.push({
        path: `/resource/attachCopyzb`,
        query: {
          deptId: row.departmentid,
          enterprisename: row.enterprisename,
        },
      });
    },
    handleClick(tab, event) {
      console.log(tab, event);
    },
    rowClickSelf(val) {
      // console.log(val.departmentid);
      this.$router.push({
@@ -358,7 +397,8 @@
    },
    rowSave(form, done, loading) {
      // console.log("save1");
      this.forms = 0;
      this.forms = true;
      this.activeName = "first";
      var that = this;
      //先获取部门接口
      getDeptLazyTree().then((res) => {
@@ -497,84 +537,81 @@
    //   this.obj2["useid"] = data.id;
    //   this.nobumen = 1;
    // },
    tip0() {
    submitAdd() {
      if (this.panduanmeiyouziduan()) {
        return;
      }
      var d = {};
      var oneObj = {};
      for (var k in this.obj0) {
        for (var i in column0) {
          if (k == column0[i].prop && k != "title0") {
            d[k] = this.obj0[k];
            oneObj[k] = this.obj0[k];
          }
          if (column0[i].prop == "creditcode") {
            column1[1].value = column0[i].value;
          }
        }
      }
      console.log(d);
      for (var k in d) {
        if (d[k] == "" || d[k] == undefined) {
          console.log(k);
          this.$message.warning("请检查表单是否填写完整!");
      for (var key in oneObj) {
        if (oneObj[key] == "" || oneObj[key] == undefined) {
          console.log(key);
          this.$message.warning("请检查表单是否填写完整!1");
          return;
        }
      }
      console.log(d, 0);
      this.data0 = d;
      this.forms = 1;
    },
    tip1() {
      if (this.panduanmeiyouziduan()) {
        return;
      }
      var d = {};
      for (var k in this.obj1) {
        for (var i in column1) {
          if (k == column1[i].prop && k != "title1") {
            d[k] = this.obj1[k];
      this.data0 = oneObj;
      var twoObj = {};
      for (var twok in this.obj1) {
        for (var twoi in column1) {
          if (twok == column1[twoi].prop && twok != "title1") {
            twoObj[twok] = this.obj1[twok];
          }
        }
      }
      d["capital"] = d["capital2"];
      delete d["capital2"];
      twoObj["capital"] = twoObj["capital2"];
      delete twoObj["capital2"];
      // console.log(d);
      for (var k in d) {
        if (d[k] == "" || d[k] == undefined) {
          console.log(k);
          this.$message.warning("请检查表单是否填写完整!");
      for (var twokey in twoObj) {
        if (twoObj[twokey] == "" || twoObj[twokey] == undefined) {
          console.log(twokey);
          this.$message.warning("请检查表单是否填写完整!2");
          return;
        }
      }
      console.log(d, 1);
      this.data1 = d;
      this.forms = 2;
    },
    tip2() {
      if (this.panduanmeiyouziduan()) {
        return;
      }
      var d = {};
      for (var k in this.obj2) {
        for (var i in column2) {
          if (k == column2[i].prop && k != "title2") {
            d[k] = this.obj2[k];
      this.data1 = twoObj;
      var threeObj = {};
      for (var threek in this.obj2) {
        for (var threei in column2) {
          if (threek == column2[threei].prop && threek != "title2") {
            threeObj[threek] = this.obj2[threek];
          }
        }
      }
      console.log(d);
      d["cardid"] = d["cardid2"];
      delete d["cardid2"];
      d["cell"] = d["cell2"];
      delete d["cell2"];
      threeObj["cardid"] = threeObj["cardid2"];
      delete threeObj["cardid2"];
      threeObj["cell"] = threeObj["cell2"];
      delete threeObj["cell2"];
      // d["shareholdingratio"] = d["shareholdingratio2"];
      // delete d["shareholdingratio2"];
      for (var k in d) {
        if (d[k] == "" || d[k] == undefined) {
          console.log(k);
          this.$message.warning("请检查表单是否填写完整!");
      for (var threekey in threeObj) {
        if (threeObj[threekey] == "" || threeObj[threekey] == undefined) {
          console.log(threekey);
          this.$message.warning("请检查表单是否填写完整!3");
          return;
        }
      }
      console.log(d, 2);
      this.data2 = d;
      this.data2 = threeObj;
      // this.data0.departmentid = this.data0.useid;
      // this.data1.departmentid = this.data1.useid;
@@ -598,22 +635,44 @@
      }, 500);
      this.tipover();
    },
    tip1up1() {
      this.forms = 0;
    },
    tip2up2() {
      this.forms = 1;
    },
    tipover() {
      this.forms = -1;
      this.forms = false;
      this.obj0 = {
        title0: "保安单位基本信息",
        creditcode: "",
        jurisdiction: "",
        stats: "",
        enterprisename: "",
        representative: "",
        establishtime: "",
        registeredcapital: "",
        capital: "",
        organizationcode: "",
        registrationnumber: "",
        identificationnumber: "",
        enterprises: "",
        address: "",
        business: "",
        region: "",
        registration: "",
        industry: "",
      };
      this.obj1 = {
        title1: "保安单位出资人员",
        creditcode: "",
        shareholder: "",
        shareholdingratio: "",
        capital2: "",
        capitaltime: "",
        cardid: "",
        cell: "",
      };
      this.obj2 = {
        title2: "主要管理人员信息",
        creditcode: "",
        name: "",
        post: "",
        cardid2: "",
        cell2: "",
      };
      this.data0 = {};
      this.data1 = {};
@@ -649,7 +708,18 @@
      console.log(this.havedata, "qqqqq");
    },
  },
  mounted() {},
  mounted() {
    var that = this;
    this.option0.column.forEach((item) => {
      if (item.prop == "creditcode") {
        item.change = function (e) {
          that.obj1.creditcode = e.value;
          that.obj2.creditcode = e.value;
        };
      }
    });
  },
};
</script>
@@ -669,38 +739,6 @@
//   padding: 0 !important;
// }
.lod {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: rgba($color: #000000, $alpha: 0.5);
  padding: 100px 0 0 0;
  z-index: 500 !important;
  display: flex;
  // align-items: center;
  justify-content: center;
  .trees {
    z-index: 501 !important;
    position: absolute;
    width: 15%;
    top: 100px;
    left: 0;
    // display: none;
  }
  .lod-in {
    width: 70%;
    height: auto;
    background-color: transparent;
    // padding: 10px 0 0 0;
  }
  .el-collapse-item {
    padding-top: 15px !important;
  }
}
.el-collapse {
  border-top: 1px solid transparent !important;
}
@@ -709,4 +747,20 @@
    cursor: pointer;
  }
}
.information-box {
  .el-dialog {
    position: fixed !important;
    top: 0 !important;
    left: 0 !important;
    right: 0 !important;
    bottom: 0 !important;
    margin: auto !important;
    height: 86% !important;
    .el-dialog__body {
      padding: 10px 20px !important;
    }
  }
}
</style>
src/views/securityUnit/securityTraining.vue
@@ -41,6 +41,13 @@
            icon="el-icon-circle-check"
            >附件上传
          </el-button>
          <el-button
            :size="size"
            :type="type"
            @click="Uploads(row)"
            icon="el-icon-circle-check"
            >单位装备清单
          </el-button>
        </template>
        <template slot="menuLeft">
          <el-button
@@ -49,7 +56,7 @@
            size="small"
            plain
            @click.stop="rowSave"
            >新增</el-button
            >信息登记</el-button
          >
          <el-button
            type="danger"
@@ -69,58 +76,43 @@
          </el-button>
        </template>
      </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"
            :option="option0"
            v-if="forms == 0"
          >
            <template slot="menuForm">
              <el-button type="primary" @click="tip0">下一页</el-button>
              <el-button type="info" @click="tipover">取消</el-button>
            </template>
          </avue-form>
          <avue-form
            ref="form1"
            v-model="obj1"
            :option="option1"
            v-else-if="forms == 1"
          >
            <template slot="menuForm">
              <el-button type="primary" @click="tip1up1">上一页</el-button>
              <el-button type="primary" @click="tip1">下一页</el-button>
              <el-button type="info" @click="tipover">取消</el-button>
            </template>
          </avue-form>
          <avue-form
            ref="form2"
            v-model="obj2"
            :option="option2"
            v-else-if="forms == 2"
          >
            <template slot="menuForm">
              <el-button type="primary" @click="tip2up2">上一页</el-button>
              <el-button type="primary" @click="tip2">提交</el-button>
              <el-button type="info" @click="tipover">取消</el-button>
            </template>
          </avue-form>
        </div>
      </div>
      <el-dialog
        title="信息登记"
        append-to-body
        :visible.sync="forms"
        :close-on-click-modal="false"
        @close="tipover"
        class="information-box"
        width="60%"
      >
        <el-tabs v-model="activeName" @tab-click="handleClick">
          <el-tab-pane label="保安单位基本信息" name="first">
            <avue-form ref="form" v-model="obj0" :option="option0">
              <template slot="menuForm" align="center">
                <el-button type="primary" @click="submitAdd">提交</el-button>
                <el-button type="info" @click="tipover">取消</el-button>
              </template>
            </avue-form>
          </el-tab-pane>
          <el-tab-pane label="保安单位出资人员" name="second">
            <avue-form ref="form1" v-model="obj1" :option="option1">
              <template slot="menuForm">
                <el-button type="primary" @click="submitAdd">提交</el-button>
                <el-button type="info" @click="tipover">取消</el-button>
              </template>
            </avue-form>
          </el-tab-pane>
          <el-tab-pane label="主要管理人员信息" name="third">
            <avue-form ref="form2" v-model="obj2" :option="option2">
              <template slot="menuForm">
                <el-button type="primary" @click="submitAdd">提交</el-button>
                <el-button type="info" @click="tipover">取消</el-button>
              </template>
            </avue-form>
          </el-tab-pane>
        </el-tabs>
      </el-dialog>
    </div>
    <el-dialog
      title="保安单位导入"
@@ -252,7 +244,39 @@
      // },
      obj0: {
        title0: "保安单位基本信息",
        creditcode: "",
        jurisdiction: "",
        stats: "",
        enterprisename: "",
        representative: "",
        establishtime: "",
        registeredcapital: "",
        capital: "",
        organizationcode: "",
        registrationnumber: "",
        identificationnumber: "",
        enterprises: "",
        address: "",
        business: "",
        region: "",
        registration: "",
        industry: "",
      },
      obj1: {
        creditcode: "",
        shareholder: "",
        shareholdingratio: "",
        capital2: "",
        capitaltime: "",
        cardid: "",
        cell: "",
      },
      obj2: {
        creditcode: "",
        name: "",
        post: "",
        cardid2: "",
        cell2: "",
      },
      option0: {
        emptyBtn: false,
@@ -260,18 +284,14 @@
        gutter: 30,
        column: column0,
      },
      obj1: {
        title1: "保安单位出资人员",
      },
      option1: {
        emptyBtn: false,
        submitBtn: false,
        gutter: 30,
        column: column1,
      },
      obj2: {
        title2: "主要管理人员信息",
      },
      option2: {
        emptyBtn: false,
        submitBtn: false,
@@ -279,7 +299,7 @@
        column: column2,
      },
      forms: -1,
      forms: false,
      data0: {},
      data1: {},
      data2: {},
@@ -301,11 +321,13 @@
        searchMenuSpan: 6,
        height: 583,
        menuWidth: 275,
        menuWidth: 369,
        align: "center",
        selection: true,
        column: column,
      },
      activeName: "first",
    };
  },
  computed: {
@@ -336,6 +358,16 @@
    },
  },
  methods: {
    Uploads(row) {
      // console.log(val.departmentid);
      this.$router.push({
        path: `/resource/attachCopyzb`,
        query: {
          deptId: row.departmentid,
          enterprisename: row.enterprisename,
        },
      });
    },
    rowClickSelf(val) {
      // console.log(val.departmentid);
      this.$router.push({
@@ -389,7 +421,8 @@
    },
    rowSave(form, done, loading) {
      // console.log("save1");
      this.forms = 0;
      this.forms = true;
      this.activeName = "first";
      var that = this;
      //先获取部门接口
      getDeptLazyTree().then((res) => {
@@ -528,84 +561,80 @@
    //   this.obj2["useid"] = data.id;
    //   this.nobumen = 1;
    // },
    tip0() {
    submitAdd() {
      if (this.panduanmeiyouziduan()) {
        return;
      }
      var d = {};
      var oneObj = {};
      for (var k in this.obj0) {
        for (var i in column0) {
          if (k == column0[i].prop && k != "title0") {
            d[k] = this.obj0[k];
            oneObj[k] = this.obj0[k];
          }
          if (column0[i].prop == "creditcode") {
            column1[1].value = column0[i].value;
          }
        }
      }
      console.log(d);
      for (var k in d) {
        if (d[k] == "" || d[k] == undefined) {
          console.log(k);
          this.$message.warning("请检查表单是否填写完整!");
      for (var key in oneObj) {
        if (oneObj[key] == "" || oneObj[key] == undefined) {
          console.log(key);
          this.$message.warning("请检查表单是否填写完整!1");
          return;
        }
      }
      console.log(d, 0);
      this.data0 = d;
      this.forms = 1;
    },
    tip1() {
      if (this.panduanmeiyouziduan()) {
        return;
      }
      var d = {};
      for (var k in this.obj1) {
        for (var i in column1) {
          if (k == column1[i].prop && k != "title1") {
            d[k] = this.obj1[k];
      this.data0 = oneObj;
      var twoObj = {};
      for (var twok in this.obj1) {
        for (var twoi in column1) {
          if (twok == column1[twoi].prop && twok != "title1") {
            twoObj[twok] = this.obj1[twok];
          }
        }
      }
      d["capital"] = d["capital2"];
      delete d["capital2"];
      twoObj["capital"] = twoObj["capital2"];
      delete twoObj["capital2"];
      // console.log(d);
      for (var k in d) {
        if (d[k] == "" || d[k] == undefined) {
          console.log(k);
          this.$message.warning("请检查表单是否填写完整!");
      for (var twokey in twoObj) {
        if (twoObj[twokey] == "" || twoObj[twokey] == undefined) {
          console.log(twokey);
          this.$message.warning("请检查表单是否填写完整!2");
          return;
        }
      }
      console.log(d, 1);
      this.data1 = d;
      this.forms = 2;
    },
    tip2() {
      if (this.panduanmeiyouziduan()) {
        return;
      }
      var d = {};
      for (var k in this.obj2) {
        for (var i in column2) {
          if (k == column2[i].prop && k != "title2") {
            d[k] = this.obj2[k];
      this.data1 = twoObj;
      var threeObj = {};
      for (var threek in this.obj2) {
        for (var threei in column2) {
          if (threek == column2[threei].prop && threek != "title2") {
            threeObj[threek] = this.obj2[threek];
          }
        }
      }
      console.log(d);
      d["cardid"] = d["cardid2"];
      delete d["cardid2"];
      d["cell"] = d["cell2"];
      delete d["cell2"];
      threeObj["cardid"] = threeObj["cardid2"];
      delete threeObj["cardid2"];
      threeObj["cell"] = threeObj["cell2"];
      delete threeObj["cell2"];
      // d["shareholdingratio"] = d["shareholdingratio2"];
      // delete d["shareholdingratio2"];
      for (var k in d) {
        if (d[k] == "" || d[k] == undefined) {
          console.log(k);
          this.$message.warning("请检查表单是否填写完整!");
      for (var threekey in threeObj) {
        if (threeObj[threekey] == "" || threeObj[threekey] == undefined) {
          console.log(threekey);
          this.$message.warning("请检查表单是否填写完整!3");
          return;
        }
      }
      console.log(d, 2);
      this.data2 = d;
      this.data2 = threeObj;
      // this.data0.departmentid = this.data0.useid;
      // this.data1.departmentid = this.data1.useid;
@@ -629,22 +658,44 @@
      }, 500);
      this.tipover();
    },
    tip1up1() {
      this.forms = 0;
    },
    tip2up2() {
      this.forms = 1;
    },
    tipover() {
      this.forms = -1;
      this.forms = false;
      this.obj0 = {
        title0: "保安单位基本信息",
        creditcode: "",
        jurisdiction: "",
        stats: "",
        enterprisename: "",
        representative: "",
        establishtime: "",
        registeredcapital: "",
        capital: "",
        organizationcode: "",
        registrationnumber: "",
        identificationnumber: "",
        enterprises: "",
        address: "",
        business: "",
        region: "",
        registration: "",
        industry: "",
      };
      this.obj1 = {
        title1: "保安单位出资人员",
        creditcode: "",
        shareholder: "",
        shareholdingratio: "",
        capital2: "",
        capitaltime: "",
        cardid: "",
        cell: "",
      };
      this.obj2 = {
        title2: "主要管理人员信息",
        creditcode: "",
        name: "",
        post: "",
        cardid2: "",
        cell2: "",
      };
      this.data0 = {};
      this.data1 = {};
@@ -680,7 +731,18 @@
      console.log(this.havedata, "qqqqq");
    },
  },
  mounted() {},
  mounted() {
    var that = this;
    this.option0.column.forEach((item) => {
      if (item.prop == "creditcode") {
        item.change = function (e) {
          that.obj1.creditcode = e.value;
          that.obj2.creditcode = e.value;
        };
      }
    });
  },
};
</script>
@@ -700,38 +762,6 @@
//   padding: 0 !important;
// }
.lod {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: rgba($color: #000000, $alpha: 0.5);
  padding: 100px 0 0 0;
  z-index: 500 !important;
  display: flex;
  // align-items: center;
  justify-content: center;
  .trees {
    z-index: 501 !important;
    position: absolute;
    width: 15%;
    top: 100px;
    left: 0;
    // display: none;
  }
  .lod-in {
    width: 70%;
    height: auto;
    background-color: transparent;
    // padding: 10px 0 0 0;
  }
  .el-collapse-item {
    padding-top: 15px !important;
  }
}
.el-collapse {
  border-top: 1px solid transparent !important;
}
src/views/securityUnit/selfRecruitedSecurityGuard.vue
@@ -41,6 +41,13 @@
            icon="el-icon-circle-check"
            >附件上传
          </el-button>
          <el-button
            :size="size"
            :type="type"
            @click="Uploads(row)"
            icon="el-icon-circle-check"
            >单位装备清单
          </el-button>
        </template>
        <template slot="menuLeft">
          <el-button
@@ -49,7 +56,7 @@
            size="small"
            plain
            @click.stop="rowSave"
            >新增</el-button
            >信息登记</el-button
          >
          <el-button
            type="danger"
@@ -69,58 +76,43 @@
          </el-button>
        </template>
      </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"
            :option="option0"
            v-if="forms == 0"
          >
            <template slot="menuForm">
              <el-button type="primary" @click="tip0">下一页</el-button>
              <el-button type="info" @click="tipover">取消</el-button>
            </template>
          </avue-form>
          <avue-form
            ref="form1"
            v-model="obj1"
            :option="option1"
            v-else-if="forms == 1"
          >
            <template slot="menuForm">
              <el-button type="primary" @click="tip1up1">上一页</el-button>
              <el-button type="primary" @click="tip1">下一页</el-button>
              <el-button type="info" @click="tipover">取消</el-button>
            </template>
          </avue-form>
          <avue-form
            ref="form2"
            v-model="obj2"
            :option="option2"
            v-else-if="forms == 2"
          >
            <template slot="menuForm">
              <el-button type="primary" @click="tip2up2">上一页</el-button>
              <el-button type="primary" @click="tip2">提交</el-button>
              <el-button type="info" @click="tipover">取消</el-button>
            </template>
          </avue-form>
        </div>
      </div>
      <el-dialog
        title="信息登记"
        append-to-body
        :visible.sync="forms"
        :close-on-click-modal="false"
        @close="tipover"
        class="information-box"
        width="60%"
      >
        <el-tabs v-model="activeName" @tab-click="handleClick">
          <el-tab-pane label="保安单位基本信息" name="first">
            <avue-form ref="form" v-model="obj0" :option="option0">
              <template slot="menuForm" align="center">
                <el-button type="primary" @click="submitAdd">提交</el-button>
                <el-button type="info" @click="tipover">取消</el-button>
              </template>
            </avue-form>
          </el-tab-pane>
          <el-tab-pane label="保安单位出资人员" name="second">
            <avue-form ref="form1" v-model="obj1" :option="option1">
              <template slot="menuForm">
                <el-button type="primary" @click="submitAdd">提交</el-button>
                <el-button type="info" @click="tipover">取消</el-button>
              </template>
            </avue-form>
          </el-tab-pane>
          <el-tab-pane label="主要管理人员信息" name="third">
            <avue-form ref="form2" v-model="obj2" :option="option2">
              <template slot="menuForm">
                <el-button type="primary" @click="submitAdd">提交</el-button>
                <el-button type="info" @click="tipover">取消</el-button>
              </template>
            </avue-form>
          </el-tab-pane>
        </el-tabs>
      </el-dialog>
    </div>
    <el-dialog
      title="保安单位导入"
@@ -252,7 +244,39 @@
      // },
      obj0: {
        title0: "保安单位基本信息",
        creditcode: "",
        jurisdiction: "",
        stats: "",
        enterprisename: "",
        representative: "",
        establishtime: "",
        registeredcapital: "",
        capital: "",
        organizationcode: "",
        registrationnumber: "",
        identificationnumber: "",
        enterprises: "",
        address: "",
        business: "",
        region: "",
        registration: "",
        industry: "",
      },
      obj1: {
        creditcode: "",
        shareholder: "",
        shareholdingratio: "",
        capital2: "",
        capitaltime: "",
        cardid: "",
        cell: "",
      },
      obj2: {
        creditcode: "",
        name: "",
        post: "",
        cardid2: "",
        cell2: "",
      },
      option0: {
        emptyBtn: false,
@@ -260,18 +284,14 @@
        gutter: 30,
        column: column0,
      },
      obj1: {
        title1: "保安单位出资人员",
      },
      option1: {
        emptyBtn: false,
        submitBtn: false,
        gutter: 30,
        column: column1,
      },
      obj2: {
        title2: "主要管理人员信息",
      },
      option2: {
        emptyBtn: false,
        submitBtn: false,
@@ -279,7 +299,7 @@
        column: column2,
      },
      forms: -1,
      forms: false,
      data0: {},
      data1: {},
      data2: {},
@@ -299,7 +319,7 @@
        searchSize: "mini",
        searchMenuSpan: 6,
        height: 583,
        menuWidth: 275,
        menuWidth: 369,
        align: "center",
        border: true,
@@ -323,6 +343,8 @@
          },
        ],
      },
      activeName: "first",
    };
  },
  computed: {
@@ -353,6 +375,16 @@
    },
  },
  methods: {
    Uploads(row) {
      // console.log(val.departmentid);
      this.$router.push({
        path: `/resource/attachCopyzb`,
        query: {
          deptId: row.departmentid,
          enterprisename: row.enterprisename,
        },
      });
    },
    rowClickSelf(val) {
      // console.log(val.departmentid);
      this.$router.push({
@@ -406,7 +438,8 @@
    },
    rowSave(form, done, loading) {
      // console.log("save1");
      this.forms = 0;
      this.forms = true;
      this.activeName = "first";
      var that = this;
      //先获取部门接口
      getDeptLazyTree().then((res) => {
@@ -545,84 +578,80 @@
    //   this.obj2["useid"] = data.id;
    //   this.nobumen = 1;
    // },
    tip0() {
    submitAdd() {
      if (this.panduanmeiyouziduan()) {
        return;
      }
      var d = {};
      var oneObj = {};
      for (var k in this.obj0) {
        for (var i in column0) {
          if (k == column0[i].prop && k != "title0") {
            d[k] = this.obj0[k];
            oneObj[k] = this.obj0[k];
          }
          if (column0[i].prop == "creditcode") {
            column1[1].value = column0[i].value;
          }
        }
      }
      console.log(d);
      for (var k in d) {
        if (d[k] == "" || d[k] == undefined) {
          console.log(k);
          this.$message.warning("请检查表单是否填写完整!");
      for (var key in oneObj) {
        if (oneObj[key] == "" || oneObj[key] == undefined) {
          console.log(key);
          this.$message.warning("请检查表单是否填写完整!1");
          return;
        }
      }
      console.log(d, 0);
      this.data0 = d;
      this.forms = 1;
    },
    tip1() {
      if (this.panduanmeiyouziduan()) {
        return;
      }
      var d = {};
      for (var k in this.obj1) {
        for (var i in column1) {
          if (k == column1[i].prop && k != "title1") {
            d[k] = this.obj1[k];
      this.data0 = oneObj;
      var twoObj = {};
      for (var twok in this.obj1) {
        for (var twoi in column1) {
          if (twok == column1[twoi].prop && twok != "title1") {
            twoObj[twok] = this.obj1[twok];
          }
        }
      }
      d["capital"] = d["capital2"];
      delete d["capital2"];
      twoObj["capital"] = twoObj["capital2"];
      delete twoObj["capital2"];
      // console.log(d);
      for (var k in d) {
        if (d[k] == "" || d[k] == undefined) {
          console.log(k);
          this.$message.warning("请检查表单是否填写完整!");
      for (var twokey in twoObj) {
        if (twoObj[twokey] == "" || twoObj[twokey] == undefined) {
          console.log(twokey);
          this.$message.warning("请检查表单是否填写完整!2");
          return;
        }
      }
      console.log(d, 1);
      this.data1 = d;
      this.forms = 2;
    },
    tip2() {
      if (this.panduanmeiyouziduan()) {
        return;
      }
      var d = {};
      for (var k in this.obj2) {
        for (var i in column2) {
          if (k == column2[i].prop && k != "title2") {
            d[k] = this.obj2[k];
      this.data1 = twoObj;
      var threeObj = {};
      for (var threek in this.obj2) {
        for (var threei in column2) {
          if (threek == column2[threei].prop && threek != "title2") {
            threeObj[threek] = this.obj2[threek];
          }
        }
      }
      console.log(d);
      d["cardid"] = d["cardid2"];
      delete d["cardid2"];
      d["cell"] = d["cell2"];
      delete d["cell2"];
      threeObj["cardid"] = threeObj["cardid2"];
      delete threeObj["cardid2"];
      threeObj["cell"] = threeObj["cell2"];
      delete threeObj["cell2"];
      // d["shareholdingratio"] = d["shareholdingratio2"];
      // delete d["shareholdingratio2"];
      for (var k in d) {
        if (d[k] == "" || d[k] == undefined) {
          console.log(k);
          this.$message.warning("请检查表单是否填写完整!");
      for (var threekey in threeObj) {
        if (threeObj[threekey] == "" || threeObj[threekey] == undefined) {
          console.log(threekey);
          this.$message.warning("请检查表单是否填写完整!3");
          return;
        }
      }
      console.log(d, 2);
      this.data2 = d;
      this.data2 = threeObj;
      // this.data0.departmentid = this.data0.useid;
      // this.data1.departmentid = this.data1.useid;
@@ -646,22 +675,44 @@
      }, 500);
      this.tipover();
    },
    tip1up1() {
      this.forms = 0;
    },
    tip2up2() {
      this.forms = 1;
    },
    tipover() {
      this.forms = -1;
      this.forms = false;
      this.obj0 = {
        title0: "保安单位基本信息",
        creditcode: "",
        jurisdiction: "",
        stats: "",
        enterprisename: "",
        representative: "",
        establishtime: "",
        registeredcapital: "",
        capital: "",
        organizationcode: "",
        registrationnumber: "",
        identificationnumber: "",
        enterprises: "",
        address: "",
        business: "",
        region: "",
        registration: "",
        industry: "",
      };
      this.obj1 = {
        title1: "保安单位出资人员",
        creditcode: "",
        shareholder: "",
        shareholdingratio: "",
        capital2: "",
        capitaltime: "",
        cardid: "",
        cell: "",
      };
      this.obj2 = {
        title2: "主要管理人员信息",
        creditcode: "",
        name: "",
        post: "",
        cardid2: "",
        cell2: "",
      };
      this.data0 = {};
      this.data1 = {};
@@ -697,7 +748,18 @@
      console.log(this.havedata, "qqqqq");
    },
  },
  mounted() {},
  mounted() {
    var that = this;
    this.option0.column.forEach((item) => {
      if (item.prop == "creditcode") {
        item.change = function (e) {
          that.obj1.creditcode = e.value;
          that.obj2.creditcode = e.value;
        };
      }
    });
  },
};
</script>
@@ -717,38 +779,6 @@
//   padding: 0 !important;
// }
.lod {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: rgba($color: #000000, $alpha: 0.5);
  padding: 100px 0 0 0;
  z-index: 500 !important;
  display: flex;
  // align-items: center;
  justify-content: center;
  .trees {
    z-index: 501 !important;
    position: absolute;
    width: 15%;
    top: 100px;
    left: 0;
    // display: none;
  }
  .lod-in {
    width: 70%;
    height: auto;
    background-color: transparent;
    // padding: 10px 0 0 0;
  }
  .el-collapse-item {
    padding-top: 15px !important;
  }
}
.el-collapse {
  border-top: 1px solid transparent !important;
}
src/views/securityUnit/transRegionalcompany.vue
@@ -42,6 +42,13 @@
            icon="el-icon-circle-check"
            >附件上传
          </el-button>
          <el-button
            :size="size"
            :type="type"
            @click="Uploads(row)"
            icon="el-icon-circle-check"
            >单位装备清单
          </el-button>
        </template>
        <template slot="menuLeft">
          <el-button
@@ -50,7 +57,7 @@
            size="small"
            plain
            @click.stop="rowSave"
            >新增</el-button
            >信息登记</el-button
          >
          <el-button
@@ -71,58 +78,43 @@
          </el-button>
        </template>
      </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"
            :option="option0"
            v-if="forms == 0"
          >
            <template slot="menuForm">
              <el-button type="primary" @click="tip0">下一页</el-button>
              <el-button type="info" @click="tipover">取消</el-button>
            </template>
          </avue-form>
          <avue-form
            ref="form1"
            v-model="obj1"
            :option="option1"
            v-else-if="forms == 1"
          >
            <template slot="menuForm">
              <el-button type="primary" @click="tip1up1">上一页</el-button>
              <el-button type="primary" @click="tip1">下一页</el-button>
              <el-button type="info" @click="tipover">取消</el-button>
            </template>
          </avue-form>
          <avue-form
            ref="form2"
            v-model="obj2"
            :option="option2"
            v-else-if="forms == 2"
          >
            <template slot="menuForm">
              <el-button type="primary" @click="tip2up2">上一页</el-button>
              <el-button type="primary" @click="tip2">提交</el-button>
              <el-button type="info" @click="tipover">取消</el-button>
            </template>
          </avue-form>
        </div>
      </div>
      <el-dialog
        title="信息登记"
        append-to-body
        :visible.sync="forms"
        :close-on-click-modal="false"
        @close="tipover"
        class="information-box"
        width="60%"
      >
        <el-tabs v-model="activeName" @tab-click="handleClick">
          <el-tab-pane label="保安单位基本信息" name="first">
            <avue-form ref="form" v-model="obj0" :option="option0">
              <template slot="menuForm" align="center">
                <el-button type="primary" @click="submitAdd">提交</el-button>
                <el-button type="info" @click="tipover">取消</el-button>
              </template>
            </avue-form>
          </el-tab-pane>
          <el-tab-pane label="保安单位出资人员" name="second">
            <avue-form ref="form1" v-model="obj1" :option="option1">
              <template slot="menuForm">
                <el-button type="primary" @click="submitAdd">提交</el-button>
                <el-button type="info" @click="tipover">取消</el-button>
              </template>
            </avue-form>
          </el-tab-pane>
          <el-tab-pane label="主要管理人员信息" name="third">
            <avue-form ref="form2" v-model="obj2" :option="option2">
              <template slot="menuForm">
                <el-button type="primary" @click="submitAdd">提交</el-button>
                <el-button type="info" @click="tipover">取消</el-button>
              </template>
            </avue-form>
          </el-tab-pane>
        </el-tabs>
      </el-dialog>
    </div>
    <el-dialog
      title="保安单位导入"
@@ -254,7 +246,23 @@
      // },
      obj0: {
        title0: "保安单位基本信息",
        creditcode: "",
        jurisdiction: "",
        stats: "",
        enterprisename: "",
        representative: "",
        establishtime: "",
        registeredcapital: "",
        capital: "",
        organizationcode: "",
        registrationnumber: "",
        identificationnumber: "",
        enterprises: "",
        address: "",
        business: "",
        region: "",
        registration: "",
        industry: "",
      },
      option0: {
        emptyBtn: false,
@@ -263,7 +271,13 @@
        column: column0,
      },
      obj1: {
        title1: "保安单位出资人员",
        creditcode: "",
        shareholder: "",
        shareholdingratio: "",
        capital2: "",
        capitaltime: "",
        cardid: "",
        cell: "",
      },
      option1: {
        emptyBtn: false,
@@ -272,7 +286,11 @@
        column: column1,
      },
      obj2: {
        title2: "主要管理人员信息",
        creditcode: "",
        name: "",
        post: "",
        cardid2: "",
        cell2: "",
      },
      option2: {
        emptyBtn: false,
@@ -281,7 +299,7 @@
        column: column2,
      },
      forms: -1,
      forms: false,
      data0: {},
      data1: {},
      data2: {},
@@ -301,13 +319,15 @@
        searchSize: "mini",
        searchMenuSpan: 6,
        height: 583,
        menuWidth: 275,
        menuWidth: 369,
        align: "center",
        border: true,
        selection: true,
        column: column,
      },
      activeName: "first",
    };
  },
  computed: {
@@ -338,6 +358,16 @@
    },
  },
  methods: {
    Uploads(row) {
      // console.log(val.departmentid);
      this.$router.push({
        path: `/resource/attachCopyzb`,
        query: {
          deptId: row.departmentid,
          enterprisename: row.enterprisename,
        },
      });
    },
    rowClickSelf(val) {
      // console.log(val.departmentid);
      this.$router.push({
@@ -391,7 +421,8 @@
    },
    rowSave(form, done, loading) {
      // console.log("save1");
      this.forms = 0;
      this.forms = true;
      this.activeName = "first";
      var that = this;
      //先获取部门接口
      getDeptLazyTree().then((res) => {
@@ -530,84 +561,80 @@
    //   this.obj2["useid"] = data.id;
    //   this.nobumen = 1;
    // },
    tip0() {
    submitAdd() {
      if (this.panduanmeiyouziduan()) {
        return;
      }
      var d = {};
      var oneObj = {};
      for (var k in this.obj0) {
        for (var i in column0) {
          if (k == column0[i].prop && k != "title0") {
            d[k] = this.obj0[k];
            oneObj[k] = this.obj0[k];
          }
          if (column0[i].prop == "creditcode") {
            column1[1].value = column0[i].value;
          }
        }
      }
      console.log(d);
      for (var k in d) {
        if (d[k] == "" || d[k] == undefined) {
          console.log(k);
          this.$message.warning("请检查表单是否填写完整!");
      for (var key in oneObj) {
        if (oneObj[key] == "" || oneObj[key] == undefined) {
          console.log(key);
          this.$message.warning("请检查表单是否填写完整!1");
          return;
        }
      }
      console.log(d, 0);
      this.data0 = d;
      this.forms = 1;
    },
    tip1() {
      if (this.panduanmeiyouziduan()) {
        return;
      }
      var d = {};
      for (var k in this.obj1) {
        for (var i in column1) {
          if (k == column1[i].prop && k != "title1") {
            d[k] = this.obj1[k];
      this.data0 = oneObj;
      var twoObj = {};
      for (var twok in this.obj1) {
        for (var twoi in column1) {
          if (twok == column1[twoi].prop && twok != "title1") {
            twoObj[twok] = this.obj1[twok];
          }
        }
      }
      d["capital"] = d["capital2"];
      delete d["capital2"];
      twoObj["capital"] = twoObj["capital2"];
      delete twoObj["capital2"];
      // console.log(d);
      for (var k in d) {
        if (d[k] == "" || d[k] == undefined) {
          console.log(k);
          this.$message.warning("请检查表单是否填写完整!");
      for (var twokey in twoObj) {
        if (twoObj[twokey] == "" || twoObj[twokey] == undefined) {
          console.log(twokey);
          this.$message.warning("请检查表单是否填写完整!2");
          return;
        }
      }
      console.log(d, 1);
      this.data1 = d;
      this.forms = 2;
    },
    tip2() {
      if (this.panduanmeiyouziduan()) {
        return;
      }
      var d = {};
      for (var k in this.obj2) {
        for (var i in column2) {
          if (k == column2[i].prop && k != "title2") {
            d[k] = this.obj2[k];
      this.data1 = twoObj;
      var threeObj = {};
      for (var threek in this.obj2) {
        for (var threei in column2) {
          if (threek == column2[threei].prop && threek != "title2") {
            threeObj[threek] = this.obj2[threek];
          }
        }
      }
      console.log(d);
      d["cardid"] = d["cardid2"];
      delete d["cardid2"];
      d["cell"] = d["cell2"];
      delete d["cell2"];
      threeObj["cardid"] = threeObj["cardid2"];
      delete threeObj["cardid2"];
      threeObj["cell"] = threeObj["cell2"];
      delete threeObj["cell2"];
      // d["shareholdingratio"] = d["shareholdingratio2"];
      // delete d["shareholdingratio2"];
      for (var k in d) {
        if (d[k] == "" || d[k] == undefined) {
          console.log(k);
          this.$message.warning("请检查表单是否填写完整!");
      for (var threekey in threeObj) {
        if (threeObj[threekey] == "" || threeObj[threekey] == undefined) {
          console.log(threekey);
          this.$message.warning("请检查表单是否填写完整!3");
          return;
        }
      }
      console.log(d, 2);
      this.data2 = d;
      this.data2 = threeObj;
      // this.data0.departmentid = this.data0.useid;
      // this.data1.departmentid = this.data1.useid;
@@ -631,22 +658,43 @@
      }, 500);
      this.tipover();
    },
    tip1up1() {
      this.forms = 0;
    },
    tip2up2() {
      this.forms = 1;
    },
    tipover() {
      this.forms = -1;
      this.forms = false;
      this.obj0 = {
        title0: "保安单位基本信息",
        creditcode: "",
        jurisdiction: "",
        stats: "",
        enterprisename: "",
        representative: "",
        establishtime: "",
        registeredcapital: "",
        capital: "",
        organizationcode: "",
        registrationnumber: "",
        identificationnumber: "",
        enterprises: "",
        address: "",
        business: "",
        region: "",
        registration: "",
        industry: "",
      };
      this.obj1 = {
        title1: "保安单位出资人员",
        creditcode: "",
        shareholder: "",
        shareholdingratio: "",
        capital2: "",
        capitaltime: "",
        cardid: "",
        cell: "",
      };
      this.obj2 = {
        title2: "主要管理人员信息",
        creditcode: "",
        name: "",
        post: "",
        cardid2: "",
        cell2: "",
      };
      this.data0 = {};
      this.data1 = {};
@@ -682,7 +730,18 @@
      console.log(this.havedata, "qqqqq");
    },
  },
  mounted() {},
  mounted() {
    var that = this;
    this.option0.column.forEach((item) => {
      if (item.prop == "creditcode") {
        item.change = function (e) {
          that.obj1.creditcode = e.value;
          that.obj2.creditcode = e.value;
        };
      }
    });
  },
};
</script>
@@ -702,38 +761,6 @@
//   padding: 0 !important;
// }
.lod {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: rgba($color: #000000, $alpha: 0.5);
  padding: 100px 0 0 0;
  z-index: 500 !important;
  display: flex;
  // align-items: center;
  justify-content: center;
  .trees {
    z-index: 501 !important;
    position: absolute;
    width: 15%;
    top: 100px;
    left: 0;
    // display: none;
  }
  .lod-in {
    width: 70%;
    height: auto;
    background-color: transparent;
    // padding: 10px 0 0 0;
  }
  .el-collapse-item {
    padding-top: 15px !important;
  }
}
.el-collapse {
  border-top: 1px solid transparent !important;
}
src/views/workreport/data.js
@@ -80,6 +80,7 @@
    // lazy: true,
    // dicUrl: "/api/blade-system/dept/lazy-tree-user-app?type={{key}}",
    hide: true,
    leafOnly:true,
    props: {
        label: "title",
        value: "id",