shuishen
2021-08-07 54c5b27c8dc82f856af0a00f1fb59fe36d032f58
Merge branch 'master' of http://s16s652780.51mypc.cn:49896/r/zhba_enterprises
4 files modified
10 files added
1277 ■■■■■ changed files
public/img/anjian.jpg patch | view | raw | blame | history
public/img/big-img-close.png patch | view | raw | blame | history
public/img/bjkeji.png patch | view | raw | blame | history
public/img/bjkeji2.jpg patch | view | raw | blame | history
public/img/fangyi.jpg patch | view | raw | blame | history
public/img/tiwen.jpg patch | view | raw | blame | history
public/img/tongji.jpg patch | view | raw | blame | history
public/img/yijianbaoj.jpg patch | view | raw | blame | history
src/api/securityCompany/train.js 73 ●●●●● patch | view | raw | blame | history
src/router/views/index.js 54 ●●●●● patch | view | raw | blame | history
src/views/dispatch/dispatchChildoperableSee.vue 10 ●●●●● patch | view | raw | blame | history
src/views/traincompany/index.vue 971 ●●●● patch | view | raw | blame | history
src/views/wel/index.vue 168 ●●●● patch | view | raw | blame | history
vue.config.js 1 ●●●● patch | view | raw | blame | history
public/img/anjian.jpg
public/img/big-img-close.png
public/img/bjkeji.png
public/img/bjkeji2.jpg
public/img/fangyi.jpg
public/img/tiwen.jpg
public/img/tongji.jpg
public/img/yijianbaoj.jpg
src/api/securityCompany/train.js
New file
@@ -0,0 +1,73 @@
import request from '@/router/axios';
export const getList = (current, size, params, stats) => {
    return request({
        url: '/api/information/list',
        method: 'get',
        params: {
            ...params,
            current,
            size,
            stats
        }
    })
}
export const getTrainList = (current, size, params) => {
    return request({
        url: '/api/information/security-page',
        method: 'get',
        params: {
            ...params,
            current,
            size
        }
    })
}
export const getPostList = (tenantId) => {
    return request({
        url: '/api/blade-system/post/select',
        method: 'get',
        params: {
            tenantId
        }
    })
}
export const getDetail = (id) => {
    return request({
        url: '/api/blade-system/post/detail',
        method: 'get',
        params: {
            id
        }
    })
}
export const remove = (ids) => {
    return request({
        url: '/api/blade-system/post/remove',
        method: 'post',
        params: {
            ids,
        }
    })
}
export const add = (row) => {
    return request({
        url: '/api/blade-system/post/submit',
        method: 'post',
        data: row
    })
}
export const update = (row) => {
    return request({
        url: '/api/blade-system/post/submit',
        method: 'post',
        data: row
    })
}
src/router/views/index.js
@@ -759,4 +759,58 @@
        noCache: true
    }]
},
{
    path: '/traincompany',
    component: Layout,
    redirect: '/traincompany/index',
    children: [{
        path: 'index',
        name: '培训公司查询',
        meta: {
            i18n: 'dict'
        },
        component: () =>
            import( /* webpackChunkName: "views" */ '@/views/traincompany/index')
    }]
}, , {
    path: '/dispatch',
    component: Layout,
    redirect: '/dispatch/dispatchChildoperableSee',
    children: [{
        path: 'dispatchChildoperableSee',
        name: '派遣记录查看',
        meta: {
            i18n: 'dispatchChildoperableSee'
        },
        component: () =>
            import( /* webpackChunkName: "views" */ '@/views/dispatch/dispatchChildoperableSee')
    }]
},
    // {
    //     path: '/people',
    //     component: Layout,
    //     redirect: '/people/expression',
    //     children: [{
    //         path: 'expression',
    //         name: '表现记录查看',
    //         meta: {
    //             i18n: 'expression'
    //         },
    //         component: () =>
    //             import( /* webpackChunkName: "views" */ '@/views/people/expression')
    //     }]
    // }, {
    //     path: '/people',
    //     component: Layout,
    //     redirect: '/people/job',
    //     children: [{
    //         path: 'job',
    //         name: '从业记录查看',
    //         meta: {
    //             i18n: 'job'
    //         },
    //         component: () =>
    //             import( /* webpackChunkName: "views" */ '@/views/people/job')
    //     }]
    // },
]
src/views/dispatch/dispatchChildoperableSee.vue
New file
@@ -0,0 +1,10 @@
<template>
  <div>543435</div>
</template>
<script>
export default {};
</script>
<style>
</style>
src/views/traincompany/index.vue
@@ -1,732 +1,291 @@
/*
 * @Author: Morpheus
 * @Date: 2021-07-05 16:31:54
 * @Date: 2021-07-07 17:30:05
 * @Last Modified by: Morpheus
 * @Last Modified time: 2021-07-19 19:39:45
 * menu-name 报名考试
 * @Last Modified time: 2021-07-10 16:06:14
 * menu-name 保安培训单位查询
 */
<template>
    <el-row class="morpheus-box-apply-exam">
        <el-col :span="24" class="hasButOne">
            <el-card>
                <div class="exam-card-body">
                    <avue-crud v-model="obj"
                               class="company-box"
                               :option="questionBankOption"
                               :search.sync="questionBankSearch"
                               :table-loading="questionBankLoading"
                               :data="questionBankData"
                               ref="questionBankCrud"
                               :page.sync="questionBankPage"
                               @on-load="questionBankOnLoad"
                               @selection-change="questionBankSelectionChange"
                               @search-change="questionBankSearchChange"
                               @search-reset="questionBankSearchReset"
                               @current-change="questionBankCurrentChange"
                               @size-change="questionBankSizeChange"
                               @row-save="questionBankRowSave"
                               @row-del="questionBankRowDel">
                        <!-- 自定义按钮 -->
                        <!-- <template slot="menuLeft">
                            <el-button type="danger"
                                       size="mini"
                                       icon="el-icon-delete"
                                       plain
                                       @click="handleDelete">新增
                            </el-button>
                            <el-button type="danger"
                                       size="mini"
                                       icon="el-icon-delete"
                                       plain
                                       @click="handleDelete">删除
                            </el-button>
                            <el-button type="danger"
                                       size="mini"
                                       icon="el-icon-delete"
                                       plain
                                       @click="handleDelete">导出
                            </el-button>
                        </template> -->
                        <!-- <template slot="menuLeft">
                            <el-button type="danger"
                                       size="small"
                                       icon="el-icon-delete"
                                       @click="questionBankHandleDelete">删 除
                            </el-button>
                        </template> -->
                        <template slot-scope="{ type,row }" slot="menu">
                            <el-button
                            :type="type"
                            size="small"
                            icon="el-icon-refresh-left"
                            :disabled="row.applyStatus==4"
                            @click="handleCancel(row)"
                            >取消报名
                            </el-button>
                            <el-button
                            style="display:none"
                            :type="type"
                            size="small"
                            icon="el-icon-folder-checked"
                            :disabled="row.applyStatus==4"
                            @click="handleAudit(row)"
                            >审核
                            </el-button>
                            <el-button
                            :type="type"
                            size="small"
                            icon="el-icon-receiving"
                            :disabled="row.applyStatus==4"
                            @click="handlePrint(row)"
                            >准考证打印
                            </el-button>
                        </template>
                    </avue-crud>
                    <el-dialog title="考试资格审核"
                                :visible.sync="dialogFormVisible"
                                modal-append-to-body='false'
                                append-to-body='true'
                                :close-on-click-model="true">
                        <avue-form ref="formAudit" v-model="Audit" :option="optionAudit" @reset-change="emptytChange" @submit="submit"></avue-form>
                    </el-dialog>
                </div>
            </el-card>
        </el-col>
    </el-row>
  <basic-container>
    <avue-crud
      :option="option"
      :table-loading="loading"
      :data="data"
      :page.sync="page"
      :permission="permissionList"
      :before-open="beforeOpen"
      v-model="form"
      ref="crud"
      @row-update="rowUpdate"
      @row-save="rowSave"
      @row-del="rowDel"
      @search-change="searchChange"
      @search-reset="searchReset"
      @selection-change="selectionChange"
      @current-change="currentChange"
      @size-change="sizeChange"
      @refresh-change="refreshChange"
      @row-click="handleRowClick"
      @on-load="onLoad"
    >
    </avue-crud>
  </basic-container>
</template>
<script>
import {
    getApplyList,
    addApply,
    updateApply,
    remove
} from "@/api/examapi/applyexam";
import { mapState } from 'vuex'
var DIC = {
    applyStatus: [{
        label: '已报名',
        value: 2
    }, {
        label: '已取消',
        value: 4
    }]
}
  getTrainList,
  getDetail,
  add,
  update,
  remove,
} from "@/api/securityCompany/train";
import { mapGetters } from "vuex";
export default {
    data () {
  data() {
    return {
      form: {},
      query: {},
      loading: true,
      page: {
        pageSize: 10,
        currentPage: 1,
        total: 0,
      },
      selectionList: [],
      option: {
        // 操作栏多余按钮去除
        delBtn: false,
        editBtn: false,
        addBtn: false,
        selection: true,
        menu: false,
        return {
            dialogFormVisible:false,
            Audit:{},
            optionAudit:{
                height: "auto",
                calcHeight: 30,
                dialogWidth: 1000,
                tip: false,
                searchShow: true,
                searchMenuSpan: 6,
                border: false,
                index: true,
                stripe: true,
                viewBtn: true,
                addBtn: true,
                selection: true,
                excelBtn: false,
                menuWidth: 230,
                dialogClickModal: false,
                column: [
                    {
                        label: "审核状态",
                        search: true,
                        searchSpan: 5,
                        span: 24,
                        prop: "auditStatus",
                        slot: true,
                        editDisplay: false,
                        addDisplay: false,
                        type: "select",
                        rules: [{
                            required: true,
                            message: "请选择审核类型",
                            trigger: "blur"
                        }],
                        dicData: [{
                                label: "审核通过",
                                value: 2
                            },
                            {
                                label: "不通过",
                                value: 3
                            }
                        ]
                    },
                    {
                        label: "审核明细",
                        span: 24,
                        type: "textarea",
                        prop: "auditDetail"
                    }
                ],
        align: "center",
        height: "auto",
        calcHeight: 30,
        searchShowBtn: false,
        tip: false,
        searchShow: true,
        searchMenuSpan: 6,
        index: true,
        viewBtn: true,
        dialogClickModal: false,
        column: [
          {
            label: "公司名称",
            prop: "deptName",
            search: true,
            searchSpan: 4,
            display: false,
          },
          {
            label: "法定代表人",
            prop: "representative",
            display: false,
            search: true,
            searchSpan: 4,
            width: 120,
          },
          {
            label: "成立日期",
            prop: "establishtime",
            type: "date",
            format: "yyyy-MM-dd",
            valueFormat: "yyyy-MM-dd",
            mock: {
              type: "datetime",
              format: "yyyy-MM-dd",
            },
            questionBankOption: {
                // 操作栏多余按钮去除
                delBtn: false,
                editBtn: false,
                addBtn: true,
                selection: true,
                menu: true,
                // 导出按钮
                // excelBtn: true,
                viewBtn: false,
                // title: '题库',
                align: 'center',
                height: 'auto',
                calcHeight: 80,
                tip: false,
                searchShow: true,
                searchMenuSpan: 4,
                index: true,
                indexLabel: '#',
                //dialogType: 'drawer',
                dialogClickModal: false,
                //tree 默认展开
                defaultExpandAll:true,
                // 操作栏宽度
                menuWidth: 200,
                column: [
                    {
                        label: "保安姓名",
                        prop: "userId",
                        type: 'tree',
                        dicUrl: '',
                        search: true,
                        hide:true,
                        slot: true,
                        searchSpan:5,
                        // 表单新增时是否禁止
                        addDisabled: false,
                        // 表单新增时是否可见
                        addDisplay: true,
                        // 表单新增时是否为查看模式
                        addDetail: false,
                        // 表单编辑时是否禁止
                        editDisabled: true,
                        // 表单编辑时是否可见
                        editDisplay: true,
                        // 表单编辑时是否为查看模式
                        editDetail: false,
                        props: {
                            label: "title",
                            value: "id",
                        },
                        rules: [{
                            required: true,
                            message: "请选择保安姓名",
                            trigger: "blur"
                        }],
                        width:80
                    },
                    {
                        label: "保安姓名",
                        prop: "name",
                        // 表单新增时是否禁止
                        addDisabled: false,
                        // 表单新增时是否可见
                        addDisplay: false,
                        // 表单新增时是否为查看模式
                        addDetail: false,
                        // 表单编辑时是否禁止
                        editDisabled: false,
                        // 表单编辑时是否可见
                        editDisplay: false,
                        // 表单编辑时是否为查看模式
                        editDetail: false,
                        viewDisplay:true,
                        props: {
                            label: "title",
                            value: "id",
                        },
                        rules: [{
                            required: true,
                            message: "请选择保安姓名",
                            trigger: "blur"
                        }]
                    },
                    {
                        label: "考试名称",
                        prop: "examName",
                        type: 'tree',
                        dicUrl: '/api/exampaper/page-tree?examType=1',
                        // search: true,
                        slot: true,
                        // 表单新增时是否禁止
                        addDisabled: false,
                        // 表单新增时是否可见
                        addDisplay: true,
                        // 表单新增时是否为查看模式
                        addDetail: false,
                        // 表单编辑时是否禁止
                        editDisabled: true,
                        // 表单编辑时是否可见
                        editDisplay: true,
                        // 表单编辑时是否为查看模式
                        editDetail: false,
                        props: {
                            label: "examName",
                            value: "id",
                        },
                        rules: [{
                            required: true,
                            message: "请选择试卷名称",
                            trigger: "blur"
                        }],
                        width: 220
                    },
                    {
                        label: "所属公司",
                        prop: "deptName",
                        search: true,
                        slot: true,
                        searchSpan:5,
                        // 表单新增时是否禁止
                        addDisabled: false,
                        // 表单新增时是否可见
                        addDisplay: false,
                        // 表单新增时是否为查看模式
                        addDetail: false,
                        // 表单编辑时是否禁止
                        editDisabled: true,
                        // 表单编辑时是否可见
                        editDisplay: true,
                        // 表单编辑时是否为查看模式
                        editDetail: false,
                        rules: [{
                            required: true,
                            message: "请选择所属公司",
                            trigger: "blur"
                        }],
                        width: 220
                    },
                    {
                        label: "准考证号",
                        prop: "candidateNo",
                        slot: true,
                        // 表单新增时是否禁止
                        addDisabled: false,
                        // 表单新增时是否可见
                        addDisplay: false,
                        // 表单新增时是否为查看模式
                        addDetail: false,
                        // 表单编辑时是否禁止
                        editDisabled: false,
                        // 表单编辑时是否可见
                        editDisplay: true,
                        // 表单编辑时是否为查看模式
                        editDetail: false,
                        rules: [{
                            required: true,
                            message: "请选择准考证号",
                            trigger: "blur"
                        }],
                        width: 100
                    },
                    {
                        label: "身份证号",
                        prop: "idCardNo",
                        slot: true,
                        // 表单新增时是否禁止
                        addDisabled: false,
                        // 表单新增时是否可见
                        addDisplay: false,
                        // 表单新增时是否为查看模式
                        addDetail: false,
                        // 表单编辑时是否禁止
                        editDisabled: false,
                        // 表单编辑时是否可见
                        editDisplay: true,
                        // 表单编辑时是否为查看模式
                        editDetail: false,
                        rules: [{
                            required: true,
                            message: "请选择准考证号",
                            trigger: "blur"
                        }],
                        width: 150
                    },
                    {
                        label: "报考证件",
                        prop: "applyCard",
                        slot: true,
                        // 表单新增时是否禁止
                        addDisabled: false,
                        // 表单新增时是否可见
                        addDisplay: false,
                        // 表单新增时是否为查看模式
                        addDetail: false,
                        // 表单编辑时是否禁止
                        editDisabled: false,
                        // 表单编辑时是否可见
                        editDisplay: true,
                        // 表单编辑时是否为查看模式
                        editDetail: false,
                        rules: [{
                            required: true,
                            message: "请选择准考证号",
                            trigger: "blur"
                        }],
                    },
                    // {
                    //     label: "试卷分数",
                    //     prop: "paperScore",
                    //     slot: true,
                    //     // 表单新增时是否禁止
                    //     addDisabled: false,
                    //     // 表单新增时是否可见
                    //     addDisplay: false,
                    //     // 表单新增时是否为查看模式
                    //     addDetail: false,
                    //     // 表单编辑时是否禁止
                    //     editDisabled: true,
                    //     // 表单编辑时是否可见
                    //     editDisplay: true,
                    //     // 表单编辑时是否为查看模式
                    //     editDetail: false
                    // },
                    {
                        label: "报名时间",
                        prop: "applyTime",
                        type: "datetime",
                        // span: 24,
                        format: 'yyyy-MM-dd HH:mm:ss',
                        valueFormat: 'yyyy-MM-dd HH:mm:ss',
                        // 表单新增时是否禁止
                        addDisabled: true,
                        // 表单新增时是否可见
                        addDisplay: false,
                        // 表单新增时是否为查看模式
                        addDetail: false,
                        // 表单编辑时是否禁止
                        editDisabled: true,
                        // 表单编辑时是否可见
                        editDisplay: true,
                        // 表单编辑时是否为查看模式
                        editDetail: false,
                        value: (new Date().getFullYear() + '-' + (new Date().getMonth() + 1 < 10
                            ? "0" + (new Date().getMonth() + 1)
                            : new Date().getMonth() + 1) + '-' + (new Date().getDate() < 10
                                ? "0" + new Date().getDate()
                                : new Date().getDate()) + ' ' + (new Date().getHours() < 10
                                    ? "0" + new Date().getHours()
                                    : new Date().getHours()) + ':' + (new Date().getMinutes() < 10
                                        ? "0" + new Date().getMinutes()
                                        : new Date().getMinutes()) + ':' + (new Date().getSeconds() < 10
                                            ? "0" + new Date().getSeconds()
                                            : new Date().getSeconds())),
                        width: 150
                    },
                    {
                        label: "考试时间",
                        prop: "examTime",
                        type: "datetime",
                        // span: 24,
                        format: 'yyyy-MM-dd HH:mm:ss',
                        valueFormat: 'yyyy-MM-dd HH:mm:ss',
                        // 表单新增时是否禁止
                        addDisabled: false,
                        // 表单新增时是否可见
                        addDisplay: false,
                        // 表单新增时是否为查看模式
                        addDetail: false,
                        // 表单编辑时是否禁止
                        editDisabled: false,
                        // 表单编辑时是否可见
                        editDisplay: true,
                        // 表单编辑时是否为查看模式
                        editDetail: false,
                        width: 150
                    },{
                        label: "报名状态",
                        prop: "applyStatus",
                        slot: true,
                        searchSpan:5,
                        // 表单新增时是否禁止
                        addDisabled: false,
                        // 表单新增时是否可见
                        addDisplay: false,
                        // 表单新增时是否为查看模式
                        addDetail: false,
                        // 表单编辑时是否禁止
                        editDisabled: false,
                        // 表单编辑时是否可见
                        editDisplay: true,
                        // 表单编辑时是否为查看模式
                        editDetail: false,
                        dicData:DIC.applyStatus,
                        search:true,
                        type:"select"
                    },
                    // {
                    //     label: "审核状态",
                    //     prop: "examinationType",
                    //     slot: true,
                    //     searchSpan:5,
                    //     // 表单新增时是否禁止
                    //     addDisabled: false,
                    //     // 表单新增时是否可见
                    //     addDisplay: false,
                    //     // 表单新增时是否为查看模式
                    //     addDetail: false,
                    //     // 表单编辑时是否禁止
                    //     editDisabled: false,
                    //     // 表单编辑时是否可见
                    //     editDisplay: true,
                    //     // 表单编辑时是否为查看模式
                    //     editDetail: false,
                    //     dicData:[
                    //         {
                    //             label: '待审核',
                    //             value: "1"
                    //         },
                    //         {
                    //             label: '审核通过',
                    //             value: "2"
                    //         },
                    //         {
                    //             label: '审核不通过',
                    //             value: "3"
                    //         }
                    //         ],
                    //     search:true,
                    //     type:"select"
                    // },
                ]
            },
            questionBankSearch: {},
            questionBankLoading: true,
            questionBankData: [
            display: false,
            width: 180,
          },
          {
            label: "注册资金",
            prop: "registeredcapital",
            display: false,
            width: 130,
          },
          {
            label: "实缴资金",
            prop: "capital",
            display: false,
            width: 130,
          },
          {
            label: "公司类型",
            prop: "enterprises",
            display: false,
          },
          {
            label: "注册地址",
            prop: "address",
            display: false,
            width: 280,
          },
        ],
        group: [
          {
            label: "详细信息",
            prop: "baseInfo",
            icon: "el-icon-user-solid",
            column: [
              {
                label: "公司名称",
                prop: "enterprisename",
                display: false,
              },
            ],
            questionBankPage: {
                pageSize: 10,
                currentPage: 1,
                total: 16
            },
            questionBankQuery: {},
            questionBankSelectionList: [],
          },
          {
            label: "详细信息",
            prop: "detailInfo",
            icon: "el-icon-s-order",
            column: [],
          },
          {
            label: "职责信息",
            prop: "dutyInfo",
            icon: "el-icon-s-custom",
            column: [],
          },
        ],
      },
      data: [],
    };
  },
  computed: {
    ...mapGetters(["permission"]),
    permissionList() {
      return {
        addBtn: this.vaildData(this.permission.post_add, false),
        viewBtn: this.vaildData(this.permission.post_view, false),
        delBtn: this.vaildData(this.permission.post_delete, false),
        editBtn: this.vaildData(this.permission.post_edit, false),
      };
    },
    ids() {
      let ids = [];
      this.selectionList.forEach((ele) => {
        ids.push(ele.id);
      });
      return ids.join(",");
    },
  },
  methods: {
    rowSave(row, done, loading) {
      add(row).then(
        () => {
          this.onLoad(this.page);
          this.$message({
            type: "success",
            message: "操作成功!",
          });
          done();
        },
        (error) => {
          window.console.log(error);
          loading();
        }
      );
    },
    watch: {
        "form.examname": {
            // form是表单或者表格绑定的数据集,v-model='form'
            handler (val) {
                if (val) {
                    //地址截取,从县/区开始截取,并且取从县区第一个出现的位置开始
                    var address = val.formattedAddress.toString();
                    if (address.search("县") != -1) {
                        this.form.address = address.substring(
                            address.indexOf("县") + 1,
                            address.length
                        );
                    }
                    if (address.search("区") != -1) {
                        this.form.address = address.substring(
                            address.indexOf("区") + 1,
                            address.length
                        );
                    }
                }
            },
            immediate: true,
    rowUpdate(row, index, done, loading) {
      update(row).then(
        () => {
          this.onLoad(this.page);
          this.$message({
            type: "success",
            message: "操作成功!",
          });
          done();
        },
        (error) => {
          window.console.log(error);
          loading();
        }
      );
    },
    created () {
      console.log(this.userInfo)
      if (this.userInfo.role_name.indexOf('ksxtadmin') != -1) {
        this.questionBankOption.column[0].dicUrl = "/api/blade-system/dept/lazy-tree-user?parentId="
      } else {
        this.questionBankOption.column[0].dicUrl = "/api/blade-system/dept/lazy-tree-user?parentId=" + this.userInfo.dept_id
    rowDel(row) {
      this.$confirm("确定将选择数据删除?", {
        confirmButtonText: "确定",
        cancelButtonText: "取消",
        type: "warning",
      })
        .then(() => {
          return remove(row.id);
        })
        .then(() => {
          this.onLoad(this.page);
          this.$message({
            type: "success",
            message: "操作成功!",
          });
        });
    },
    beforeOpen(done, type) {
      if (["edit", "view"].includes(type)) {
        getDetail(this.form.id).then((res) => {
          this.form = res.data.data;
        });
      }
      done();
    },
    mounted () {
    searchReset() {
      this.query = {};
      this.onLoad(this.page);
    },
    computed: {
        ...mapState({
            userInfo: state => state.user.userInfo
        }),
        ids () {
            let ids = [];
            this.questionBankSelectionList.forEach(ele => {
                ids.push(ele.id);
            });
            return ids.join(",");
        },
    searchChange(params, done) {
      this.query = params;
      this.page.currentPage = 1;
      this.onLoad(this.page, params);
      done();
    },
    methods: {
        //准考证查看
        handlePrint(row) {
            var obj = row;
            obj["name"] = "准考证信息";
            this.$router.push({
                path: `/applyexam/papers`,
                query: obj,
            });
        },
        questionBankOnLoad (page, params = {}) {
            this.questionBankLoading = false;
            getApplyList(page.currentPage, page.pageSize, Object.assign(params, this.questionBankQuery)).then(res => {
                const data = res.data.data;
                this.questionBankPage.total = data.total;
                this.questionBankData = data.records;
                this.questionBankLoading = false;
                this.questionBankSelectionClear();
            });
        },
        questionBankSelectionClear () {
            this.questionBankSelectionList = [];
            this.$refs.questionBankCrud.toggleSelection();
        },
        questionBankSelectionChange (list) {
            this.questionBankSelectionList = list;
        },
        questionBankSearchChange (params, done) {
            this.questionBankQuery = params;
            this.questionBankPage.currentPage = 1;
            this.questionBankOnLoad(this.questionBankPage, params);
            done();
        },
        questionBankSearchReset () {
            this.questionBankQuery = {};
            this.questionBankOnLoad(this.questionBankPage);
        },
        questionBankCurrentChange (currentPage) {
            this.questionBankPage.currentPage = currentPage;
        },
        questionBankSizeChange (pageSize) {
            this.questionBankPage.pageSize = pageSize;
        },
    selectionChange(list) {
      this.selectionList = list;
    },
    selectionClear() {
      this.selectionList = [];
      this.$refs.crud.toggleSelection();
    },
    currentChange(currentPage) {
      this.page.currentPage = currentPage;
    },
    sizeChange(pageSize) {
      this.page.pageSize = pageSize;
    },
    refreshChange() {
      this.onLoad(this.page, this.query);
    },
    onLoad(page, params = {}) {
      this.loading = true;
      getTrainList(
        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;
        this.loading = false;
        this.selectionClear();
      });
    },
        // 新增
        questionBankRowSave (row, done, loading) {
            // debugger;
            addApply({ userId: row.userId, examId: row.examName, applyTime: row.applyTime }).then((res) => {
                this.questionBankOnLoad(this.questionBankPage);
                if(res.data.data==201){
                    this.$message({
                    type: "warning",
                    message:"已报名,不能重复报名",
                    });
                }else if(res.data.data==201){
                    this.$message({
                    type: "warning",
                    message:"报名失败",
                    });
                }else{
                    this.$message({
                    type: "success",
                    message:"报名成功",
                    });
                }
                done();
            }, error => {
                window.console.log(error);
                loading();
            });
        },
        questionBankRowDel (row) {
            this.$confirm("确定将选择数据删除?", {
                confirmButtonText: "确定",
                cancelButtonText: "取消",
                type: "warning"
            })
                .then(() => {
                    return remove(row.id);
                })
                .then(() => {
                    this.questionBankOnLoad(this.questionBankPage);
                    this.$message({
                        type: "success",
                        message: "操作成功!"
                    });
                });
        },
        //取消报名
        handleCancel(row){
            this.$confirm("确定取消报名?", {
                confirmButtonText: "确定",
                cancelButtonText: "取消",
                type: "warning"
            })
                .then(() => {
                    row.applyStatus = 4;
                    return updateApply(row);
                })
                .then(() => {
                    this.questionBankOnLoad(this.questionBankPage);
                    this.$message({
                        type: "success",
                        message: "操作成功!"
                    });
                });
        },
        questionBankHandleDelete () {
            if (this.questionBankSelectionList.length === 0) {
                this.$message.warning("请选择至少一条数据");
                return;
            }
            this.$confirm("确定将选择数据删除?", {
                confirmButtonText: "确定",
                cancelButtonText: "取消",
                type: "warning"
            })
                .then(() => {
                    return remove(this.ids);
                })
                .then(() => {
                    this.questionBankOnLoad(this.questionBankPage);
                    this.$message({
                        type: "success",
                        message: "操作成功!"
                    });
                    this.$refs.questionBankCrud.toggleSelection();
                });
        },
        handleAudit(row){
            this.dialogFormVisible = true;
            this.Audit = row;
        },
    }
}
    // // 行单击
    // handleRowClick(row) {
    //   // delete (row["name"]);
    //   var obj = row;
    //   obj["name"] = "保安公司详细资料";
    //   this.$router.push({
    //     path: `/securityCompany/index`,
    //     query: obj,
    //   });
    // },
  },
};
</script>
<style lang="scss" scoped>
<style>
</style>
src/views/wel/index.vue
@@ -1,40 +1,150 @@
<template>
  <div>
    <el-row>
      <el-col :span="24">
        <third-register></third-register>
      </el-col>
    </el-row>
  <div id="homeL">
    <div class="homeL-up">
      <span class="h1">保安服务企业管理平台</span>
      <span class="h2">Security service enterprise management platform</span>
    </div>
    <div class="homeL-bar">
      <div class="outS" @click="down1">
        <div class="down1"><span>保安员管理</span></div>
      </div>
      <div class="outS" @click="down2">
        <div class="down2"><span>保安单位</span></div>
      </div>
      <div class="outS" @click="down3">
        <div class="down3"><span>派遣管理</span></div>
      </div>
      <div class="outS" @click="down4">
        <div class="down4"><span>培训公司</span></div>
      </div>
      <div class="outS" @click="down5">
        <div class="down5"><span>通知公告</span></div>
      </div>
    </div>
  </div>
</template>
<script>
  import {mapGetters} from "vuex";
  export default {
    name: "wel",
    data() {
      return {
        activeNames: ['1', '2', '3', '5'],
        logActiveNames: ['23']
      };
export default {
  data() {
    return {
      a: 1,
    };
  },
  methods: {
    down1() {
      this.$router.push({ path: "/securityGuard/index" });
    },
    computed: {
      ...mapGetters(["userInfo"]),
    down2() {
      this.$router.push({ path: "/securityUnit/index" });
    },
    methods: {
      handleChange(val) {
        window.console.log(val);
      }
    down3() {
      this.$router.push({ path: "/dispatch/dispatch" });
    },
  };
    down4() {
      this.$router.push({ path: "/traincompany/index" });
    },
    down5() {
      this.$router.push({ path: "/desk/index" });
    },
  },
  mouted() {},
};
</script>
<style>
  .el-font-size {
    font-size: 14px;
<style lang="scss">
#homeL {
  width: 100%;
  height: 96%;
  //   border: 1px solid #000;
  .homeL-up {
    width: 100%;
    height: 70%;
    // border: 1px solid rgb(39, 164, 185);
    display: flex;
    align-items: center;
    justify-content: center;
    flex-direction: column;
    background-image: url("../../../public/img/bjkeji.png");
    background-color: #fff;
    background-repeat: no-repeat;
    background-size: 100% 100%;
    -moz-background-size: 100% 100%;
    color: #4ba3fe;
    .h1,
    .h2 {
      position: relative;
      left: 18%;
    }
    .h1 {
      font-size: 54px;
    }
    .h2 {
      font-size: 28px;
    }
  }
</style>
  .homeL-bar {
    width: 100%;
    height: 30%;
    position: relative;
    top: 2.5px;
    // border: 1px solid rgb(51, 22, 180);
    display: flex;
    align-items: center;
    justify-content: center;
    .outS {
      width: 20%;
      height: 100%;
      //   border: 1px solid rgb(180, 22, 75);
      display: flex;
      align-items: center;
      justify-content: center;
    }
    .down1,
    .down2,
    .down3,
    .down4,
    .down5 {
      width: 96%;
      height: 96%;
      background-repeat: no-repeat;
      background-size: 100% 100%;
      cursor: pointer;
      display: flex;
      align-items: center;
      justify-content: center;
      border-radius: 5px;
      &:hover {
        width: 99%;
        height: 99%;
        transition: all 0.3s ease;
      }
      span {
        position: relative;
        top: -30px;
        left: -50px;
        font-weight: 600;
        font-size: 30px;
        color: #fff;
        display: inline-block;
        // border: 1px solid rgb(180, 22, 75);
      }
    }
    .down1 {
      background-image: url("../../../public/img/yijianbaoj.jpg");
    }
    .down2 {
      background-image: url("../../../public/img/fangyi.jpg");
    }
    .down3 {
      background-image: url("../../../public/img/anjian.jpg");
    }
    .down4 {
      background-image: url("../../../public/img/tiwen.jpg");
    }
    .down5 {
      background-image: url("../../../public/img/tongji.jpg");
    }
  }
}
</style>
vue.config.js
@@ -29,6 +29,7 @@
        //本地服务接口地址
        // target: 'http://localhost',
        // target: 'http://192.168.0.114:81',//钟W
        // target: 'http://localhost:81',//原W
        target: 'http://192.168.0.108:81',//原W
        // target: 'http://192.168.0.104:80',//唐N
        //远程演示服务地址,可用于直接启动项目