Administrator
2021-08-26 9918f47a263c14a3c5109757707a4e3d9208576e
新增保安员信息页面
2 files modified
2 files added
3035 ■■■■ changed files
src/router/views/index.js 1819 ●●●● patch | view | raw | blame | history
src/views/securityGuard/securityGuardDetail.vue 2 ●●● patch | view | raw | blame | history
src/views/securityMan/data.js 671 ●●●●● patch | view | raw | blame | history
src/views/securityMan/index.vue 543 ●●●●● patch | view | raw | blame | history
src/router/views/index.js
@@ -1,912 +1,925 @@
import Layout from '@/page/index/'
export default [{
    path: '/wel',
    component: Layout,
    redirect: '/wel/index',
    children: [{
        path: 'index',
        name: '首页',
        meta: {
            i18n: 'dashboard'
        },
        component: () =>
            import( /* webpackChunkName: "views" */ '@/views/wel/index')
        path: '/wel',
        component: Layout,
        redirect: '/wel/index',
        children: [{
            path: 'index',
            name: '首页',
            meta: {
                i18n: 'dashboard'
            },
            component: () =>
                import ( /* webpackChunkName: "views" */ '@/views/wel/index')
        }, {
            path: 'dashboard',
            name: '控制台',
            meta: {
                i18n: 'dashboard',
                menu: false,
            },
            component: () =>
                import ( /* webpackChunkName: "views" */ '@/views/wel/dashboard')
        }]
    }, {
        path: 'dashboard',
        name: '控制台',
        meta: {
            i18n: 'dashboard',
            menu: false,
        },
        component: () =>
            import( /* webpackChunkName: "views" */ '@/views/wel/dashboard')
    }]
}, {
    path: '/test',
    component: Layout,
    redirect: '/test/index',
    children: [{
        path: 'index',
        name: '测试页',
        meta: {
            i18n: 'test'
        },
        component: () =>
            import( /* webpackChunkName: "views" */ '@/views/util/test')
    }]
}, {
    path: '/dict-horizontal',
    component: Layout,
    redirect: '/dict-horizontal/index',
    children: [{
        path: 'index',
        name: '字典管理',
        meta: {
            i18n: 'dict'
        },
        component: () =>
            import( /* webpackChunkName: "views" */ '@/views/util/demo/dict-horizontal')
    }]
}, {
    path: '/dict-vertical',
    component: Layout,
    redirect: '/dict-vertical/index',
    children: [{
        path: 'index',
        name: '字典管理',
        meta: {
            i18n: 'dict'
        },
        component: () =>
            import( /* webpackChunkName: "views" */ '@/views/util/demo/dict-vertical')
    }]
}, {
    path: '/info',
    component: Layout,
    redirect: '/info/index',
    children: [{
        path: 'index',
        name: '个人信息',
        meta: {
            i18n: 'info'
        },
        component: () =>
            import( /* webpackChunkName: "views" */ '@/views/system/userinfo')
    }]
}, {
    path: '/work/process/leave',
    component: Layout,
    redirect: '/work/process/leave/form',
    children: [{
        path: 'form/:processDefinitionId',
        name: '请假流程',
        meta: {
            i18n: 'work'
        },
        component: () =>
            import( /* webpackChunkName: "views" */ '@/views/work/process/leave/form')
        path: '/test',
        component: Layout,
        redirect: '/test/index',
        children: [{
            path: 'index',
            name: '测试页',
            meta: {
                i18n: 'test'
            },
            component: () =>
                import ( /* webpackChunkName: "views" */ '@/views/util/test')
        }]
    }, {
        path: 'handle/:taskId/:processInstanceId/:businessId',
        name: '处理请假流程',
        meta: {
            i18n: 'work'
        },
        component: () =>
            import( /* webpackChunkName: "views" */ '@/views/work/process/leave/handle')
        path: '/dict-horizontal',
        component: Layout,
        redirect: '/dict-horizontal/index',
        children: [{
            path: 'index',
            name: '字典管理',
            meta: {
                i18n: 'dict'
            },
            component: () =>
                import ( /* webpackChunkName: "views" */ '@/views/util/demo/dict-horizontal')
        }]
    }, {
        path: 'detail/:processInstanceId/:businessId',
        name: '请假流程详情',
        meta: {
            i18n: 'work'
        },
        component: () =>
            import( /* webpackChunkName: "views" */ '@/views/work/process/leave/detail')
    }]
}, {
    path: '/securityAnalysis',
    component: Layout,
    redirect: '/securityAnalysis/index',
    children: [{
        path: 'index',
        name: '保安单位情况智能分析',
        meta: {
            i18n: 'dict'
        },
        component: () =>
            import( /* webpackChunkName: "views" */ '@/views/securityAnalysis/index')
    }]
}, {
    path: '/recruitmentManagement',
    component: Layout,
    redirect: '/recruitmentManagement/index',
    children: [{
        path: 'index',
        name: '招聘管理',
        meta: {
            i18n: 'dict'
        },
        component: () =>
            import( /* webpackChunkName: "views" */ '@/views/recruitmentManagement/index')
    }]
}, {
    path: '/securityUnit',
    component: Layout,
    redirect: '/securityUnit/index',
    children: [{
        path: 'index',
        name: '保安单位信息',
        meta: {
            i18n: 'dict'
        },
        component: () =>
            import( /* webpackChunkName: "views" */ '@/views/securityUnit/index')
    }]
}, {
    path: '/securityGuard',
    component: Layout,
    redirect: '/securityGuard/securityGuard',
    children: [{
        path: 'index',
        name: '保安员管理',
        meta: {
            i18n: 'dict'
        },
        component: () =>
            import( /* webpackChunkName: "views" */ '@/views/securityGuard/securityGuard')
    }]
}, {
    path: '/securityGuardOnce',
    component: Layout,
    redirect: '/securityGuard/securityGuardOnce',
    children: [{
        path: 'index',
        name: '保安员查询',
        meta: {
            i18n: 'dict'
        },
        component: () =>
            import( /* webpackChunkName: "views" */ '@/views/securityGuard/securityGuardOnce')
    }]
}, {
    path: '/securityGuardDetail',
    component: Layout,
    redirect: '/securityGuardDetail/index',
    children: [{
        path: 'index',
        name: '保安员详情',
        meta: {
            i18n: 'dict'
        },
        component: () =>
            import( /* webpackChunkName: "views" */ '@/views/securityGuard/securityGuardDetail')
    }]
}, {
    path: '/resource',
    component: Layout,
    redirect: '/resource/attach',
    children: [{
        path: 'attach',
        name: '附件上传',
        meta: {
            i18n: 'dict'
        },
        component: () =>
            import( /* webpackChunkName: "views" */ '@/views/resource/attach')
    }]
}, {
    path: '/securityUnitChild',
    component: Layout,
    redirect: '/securityUnitChild/index',
    children: [{
        path: 'index',
        name: '保安单位详情',
        meta: {
            i18n: 'dict'
        },
        component: () =>
            import( /* webpackChunkName: "views" */ '@/views/securityUnitChild/index')
    }]
}, {
    path: '/securityGuard',
    component: Layout,
    redirect: '/securityGuard/securityGuard',
    children: [{
        path: 'index',
        name: '保安员管理',
        meta: {
            i18n: 'dict'
        },
        component: () =>
            import( /* webpackChunkName: "views" */ '@/views/securityGuard/securityGuard')
    }]
},
// {
//     path: '/dispatch/dispatch',
//     component: Layout,
//     redirect: '/dispatch/dispatch',
//     children: [{
//         path: 'index',
//         name: '派遣服务管理',
//         meta: {
//             i18n: 'dict'
//         },
//         component: () =>
//             import( /* webpackChunkName: "views" */ '@/views/dispatch/dispatch')
//     }]
// },
{
    path: '/desk',
    component: Layout,
    redirect: '/desk/notice',
    children: [{
        path: 'index',
        name: '通知公告',
        meta: {
            i18n: 'dict'
        },
        component: () =>
            import( /* webpackChunkName: "views" */ '@/views/desk/notice')
    }]
},
{
    path: '/talk',
    component: Layout,
    redirect: '/talk/talk',
    children: [{
        path: 'index',
        name: '心里咨询',
        meta: {
            i18n: 'dict'
        },
        component: () =>
            import( /* webpackChunkName: "views" */ '@/views/talk/talk')
    }]
},
{
    path: '/workreport',
    component: Layout,
    redirect: '/workreport/workreport',
    children: [{
        path: 'workreport',
        name: '发起的汇报',
        meta: {
            i18n: 'dict'
        },
        component: () =>
            import( /* webpackChunkName: "views" */ '@/views/workreport/workreport')
    }]
},
{
    path: '/workreport',
    component: Layout,
    redirect: '/workreport/workreply',
    children: [{
        path: 'workreply',
        name: '接收的汇报',
        meta: {
            i18n: 'dict'
        },
        component: () =>
            import( /* webpackChunkName: "views" */ '@/views/workreport/workreply')
    }]
}, {
    path: '/resource',
    component: Layout,
    redirect: '/resource/attachCopy',
    children: [{
        path: 'attachCopy',
        name: '保安单位附件上传',
        meta: {
            i18n: 'dict'
        },
        component: () =>
            import( /* webpackChunkName: "views" */ '@/views/resource/attachCopy')
    }]
},
// {
//     path: '/dispatch',
//     component: Layout,
//     redirect: '/dispatch/dispatch',
//     children: [{
//         path: 'dispatch',
//         name: '派遣单位管理',
//         meta: {
//             i18n: 'dispatch'
//         },
//         component: () =>
//             import( /* webpackChunkName: "views" */ '@/views/dispatch/dispatch')
//     }, {
//         path: 'dispatchChildoperable',
//         name: '派遣记录管理',
//         meta: {
//             i18n: 'dispatch'
//         },
//         component: () =>
//             import( /* webpackChunkName: "views" */ '@/views/dispatch/dispatchChildoperable')
//     }]
// },
// {
//     path: '/dispatchChild',
//     component: Layout,
//     redirect: '/dispatchChild/index',
//     children: [{
//         path: 'index',
//         name: '派遣服务记录',
//         meta: {
//             i18n: 'dict'
//         },
//         component: () =>
//             import( /* webpackChunkName: "views" */ '@/views/dispatchChild/index')
//     }]
// },
// {
//     path: '/equipments',
//     component: Layout,
//     redirect: '/equipments/index',
//     children: [{
//         path: 'index',
//         name: '保安公司装备管理',
//         meta: {
//             i18n: 'dict'
//         },
//         component: () =>
//             import( /* webpackChunkName: "views" */ '@/views/equipments/index')
//     }]
// }, {
//     path: '/car',
//     component: Layout,
//     redirect: '/car/index',
//     children: [{
//         path: 'index',
//         name: '保安公司车辆管理',
//         meta: {
//             i18n: 'dict'
//         },
//         component: () =>
//             import( /* webpackChunkName: "views" */ '@/views/car/index')
//     }]
// }, {
//     path: '/gun',
//     component: Layout,
//     redirect: '/gun/index',
//     children: [{
//         path: 'index',
//         name: '保安公司枪支管理',
//         meta: {
//             i18n: 'dict'
//         },
//         component: () =>
//             import( /* webpackChunkName: "views" */ '@/views/gun/index')
//     }]
// },
// {
//     path: '/securityEquipment',
//     component: Layout,
//     redirect: '/securityEquipment',
//     children: [{
//         path: 'equipments',
//         name: '装备管理',
//         meta: {
//             i18n: 'securityEquipment'
//         },
//         component: () =>
//             import( /* webpackChunkName: "views" */ '@/views/securityEquipment/equipments')
//     }, {
//         path: 'car',
//         name: '车辆管理',
//         meta: {
//             i18n: 'car'
//         },
//         component: () =>
//             import( /* webpackChunkName: "views" */ '@/views/securityEquipment/car')
//     }, {
//         path: 'gun',
//         name: '车辆管理',
//         meta: {
//             i18n: 'gun'
//         },
//         component: () =>
//             import( /* webpackChunkName: "views" */ '@/views/securityEquipment/gun')
//     }]
// },
// {
//     path: '/trainingRegistration',
//     component: Layout,
//     redirect: '/trainingRegistration/index',
//     children: [{
//         path: 'index',
//         name: '保安培训报名管理',
//         meta: {
//             i18n: 'dict'
//         },
//         component: () =>
//             import ( /* webpackChunkName: "views" */ '@/views/trainingRegistration/index')
//     }]
// },
{
    path: '/securityAnalysis',
    component: Layout,
    redirect: '/securityAnalysis/index',
    children: [{
        path: 'index',
        name: '保安单位情况智能分析',
        meta: {
            i18n: 'dict'
        },
        component: () =>
            import( /* webpackChunkName: "views" */ '@/views/securityAnalysis/index')
    }]
}, {
    path: '/recruitmentManagement',
    component: Layout,
    redirect: '/recruitmentManagement/index',
    children: [{
        path: 'index',
        name: '招聘管理',
        meta: {
            i18n: 'dict'
        },
        component: () =>
            import( /* webpackChunkName: "views" */ '@/views/recruitmentManagement/index')
    }]
}, {
    path: '/ownerFeedback',
    component: Layout,
    redirect: '/ownerFeedback/index',
    children: [{
        path: 'index',
        name: '业主反馈',
        meta: {
            i18n: 'dict'
        },
        component: () =>
            import( /* webpackChunkName: "views" */ '@/views/ownerFeedback/owner')
    }]
}, {
    path: '/securityUnit',
    component: Layout,
    redirect: '/securityUnit/index',
    children: [{
        path: 'index',
        name: '保安单位信息',
        meta: {
            i18n: 'dict'
        },
        component: () =>
            import( /* webpackChunkName: "views" */ '@/views/securityUnit/index')
    }]
}, {
    path: '/securityGuard',
    component: Layout,
    redirect: '/securityGuard/securityGuard',
    children: [{
        path: 'index',
        name: '保安员查询',
        meta: {
            i18n: 'dict'
        },
        component: () =>
            import( /* webpackChunkName: "views" */ '@/views/securityGuard/securityGuard')
    }]
}, {
    path: '/securityGuardDetail',
    component: Layout,
    redirect: '/securityGuardDetail/index',
    children: [{
        path: 'index',
        name: '保安员详情',
        meta: {
            i18n: 'dict'
        },
        component: () =>
            import( /* webpackChunkName: "views" */ '@/views/securityGuard/securityGuardDetail')
    }]
}, {
    path: '/resource',
    component: Layout,
    redirect: '/resource/attach',
    children: [{
        path: 'attach',
        name: '附件上传',
        meta: {
            i18n: 'dict'
        },
        component: () =>
            import( /* webpackChunkName: "views" */ '@/views/resource/attach')
    }]
}, {
    path: '/securityUnitChild',
    component: Layout,
    redirect: '/securityUnitChild/index',
    children: [{
        path: 'index',
        name: '保安单位详情',
        meta: {
            i18n: 'dict'
        },
        component: () =>
            import( /* webpackChunkName: "views" */ '@/views/securityUnitChild/index')
    }]
}, {
    path: '/securityGuard',
    component: Layout,
    redirect: '/securityGuard/securityGuard',
    children: [{
        path: 'index',
        name: '保安员管理',
        meta: {
            i18n: 'dict'
        },
        component: () =>
            import( /* webpackChunkName: "views" */ '@/views/securityGuard/securityGuard')
    }]
},
// {
//     path: '/dispatch/dispatch',
//     component: Layout,
//     redirect: '/dispatch/dispatch',
//     children: [{
//         path: 'index',
//         name: '派遣服务管理',
//         meta: {
//             i18n: 'dict'
//         },
//         component: () =>
//             import( /* webpackChunkName: "views" */ '@/views/dispatch/dispatch')
//     }]
// },
{
    path: '/desk',
    component: Layout,
    redirect: '/desk/notice',
    children: [{
        path: 'index',
        name: '通知公告',
        meta: {
            i18n: 'dict'
        },
        component: () =>
            import( /* webpackChunkName: "views" */ '@/views/desk/notice')
    }]
}, {
    path: '/dispatch',
    component: Layout,
    redirect: '/dispatch/dispatch',
    children: [{
        path: 'dispatch',
        name: '派遣单位管理',
        meta: {
            i18n: 'dispatch'
        },
        component: () =>
            import( /* webpackChunkName: "views" */ '@/views/dispatch/dispatch')
        path: '/dict-vertical',
        component: Layout,
        redirect: '/dict-vertical/index',
        children: [{
            path: 'index',
            name: '字典管理',
            meta: {
                i18n: 'dict'
            },
            component: () =>
                import ( /* webpackChunkName: "views" */ '@/views/util/demo/dict-vertical')
        }]
    }, {
        path: 'dispatchChildoperable',
        name: '派遣记录管理',
        meta: {
            i18n: 'dispatch'
        },
        path: '/info',
        component: Layout,
        redirect: '/info/index',
        children: [{
            path: 'index',
            name: '个人信息',
            meta: {
                i18n: 'info'
            },
            component: () =>
                import ( /* webpackChunkName: "views" */ '@/views/system/userinfo')
        }]
    }, {
        path: '/work/process/leave',
        component: Layout,
        redirect: '/work/process/leave/form',
        children: [{
            path: 'form/:processDefinitionId',
            name: '请假流程',
            meta: {
                i18n: 'work'
            },
            component: () =>
                import ( /* webpackChunkName: "views" */ '@/views/work/process/leave/form')
        }, {
            path: 'handle/:taskId/:processInstanceId/:businessId',
            name: '处理请假流程',
            meta: {
                i18n: 'work'
            },
            component: () =>
                import ( /* webpackChunkName: "views" */ '@/views/work/process/leave/handle')
        }, {
            path: 'detail/:processInstanceId/:businessId',
            name: '请假流程详情',
            meta: {
                i18n: 'work'
            },
            component: () =>
                import ( /* webpackChunkName: "views" */ '@/views/work/process/leave/detail')
        }]
    }, {
        path: '/securityAnalysis',
        component: Layout,
        redirect: '/securityAnalysis/index',
        children: [{
            path: 'index',
            name: '保安单位情况智能分析',
            meta: {
                i18n: 'dict'
            },
            component: () =>
                import ( /* webpackChunkName: "views" */ '@/views/securityAnalysis/index')
        }]
    }, {
        path: '/recruitmentManagement',
        component: Layout,
        redirect: '/recruitmentManagement/index',
        children: [{
            path: 'index',
            name: '招聘管理',
            meta: {
                i18n: 'dict'
            },
            component: () =>
                import ( /* webpackChunkName: "views" */ '@/views/recruitmentManagement/index')
        }]
    }, {
        path: '/securityUnit',
        component: Layout,
        redirect: '/securityUnit/index',
        children: [{
            path: 'index',
            name: '保安单位信息',
            meta: {
                i18n: 'dict'
            },
            component: () =>
                import ( /* webpackChunkName: "views" */ '@/views/securityUnit/index')
        }]
    }, {
        path: '/securityGuard',
        component: Layout,
        redirect: '/securityGuard/securityGuard',
        children: [{
            path: 'index',
            name: '保安员管理',
            meta: {
                i18n: 'dict'
            },
            component: () =>
                import ( /* webpackChunkName: "views" */ '@/views/securityGuard/securityGuard')
        }]
    }, {
        path: '/securityGuardOnce',
        component: Layout,
        redirect: '/securityGuard/securityGuardOnce',
        children: [{
            path: 'index',
            name: '保安员查询',
            meta: {
                i18n: 'dict'
            },
            component: () =>
                import ( /* webpackChunkName: "views" */ '@/views/securityGuard/securityGuardOnce')
        }]
    }, {
        path: '/securityGuardDetail',
        component: Layout,
        redirect: '/securityGuardDetail/index',
        children: [{
            path: 'index',
            name: '保安员详情',
            meta: {
                i18n: 'dict'
            },
            component: () =>
                import ( /* webpackChunkName: "views" */ '@/views/securityGuard/securityGuardDetail')
        }]
    }, {
        path: '/resource',
        component: Layout,
        redirect: '/resource/attach',
        children: [{
            path: 'attach',
            name: '附件上传',
            meta: {
                i18n: 'dict'
            },
            component: () =>
                import ( /* webpackChunkName: "views" */ '@/views/resource/attach')
        }]
    }, {
        path: '/securityUnitChild',
        component: Layout,
        redirect: '/securityUnitChild/index',
        children: [{
            path: 'index',
            name: '保安单位详情',
            meta: {
                i18n: 'dict'
            },
            component: () =>
                import ( /* webpackChunkName: "views" */ '@/views/securityUnitChild/index')
        }]
    }, {
        path: '/securityGuard',
        component: Layout,
        redirect: '/securityGuard/securityGuard',
        children: [{
            path: 'index',
            name: '保安员管理',
            meta: {
                i18n: 'dict'
            },
            component: () =>
                import ( /* webpackChunkName: "views" */ '@/views/securityGuard/securityGuard')
        }]
    },
    // {
    //     path: '/dispatch/dispatch',
    //     component: Layout,
    //     redirect: '/dispatch/dispatch',
    //     children: [{
    //         path: 'index',
    //         name: '派遣服务管理',
    //         meta: {
    //             i18n: 'dict'
    //         },
    //         component: () =>
    //             import( /* webpackChunkName: "views" */ '@/views/dispatch/dispatch')
    //     }]
    // },
    {
        path: '/desk',
        component: Layout,
        redirect: '/desk/notice',
        children: [{
            path: 'index',
            name: '通知公告',
            meta: {
                i18n: 'dict'
            },
            component: () =>
                import ( /* webpackChunkName: "views" */ '@/views/desk/notice')
        }]
    },
    {
        path: '/talk',
        component: Layout,
        redirect: '/talk/talk',
        children: [{
            path: 'index',
            name: '心里咨询',
            meta: {
                i18n: 'dict'
            },
            component: () =>
                import ( /* webpackChunkName: "views" */ '@/views/talk/talk')
        }]
    },
    {
        path: '/workreport',
        component: Layout,
        redirect: '/workreport/workreport',
        children: [{
            path: 'workreport',
            name: '发起的汇报',
            meta: {
                i18n: 'dict'
            },
            component: () =>
                import ( /* webpackChunkName: "views" */ '@/views/workreport/workreport')
        }]
    },
    {
        path: '/workreport',
        component: Layout,
        redirect: '/workreport/workreply',
        children: [{
            path: 'workreply',
            name: '接收的汇报',
            meta: {
                i18n: 'dict'
            },
            component: () =>
                import ( /* webpackChunkName: "views" */ '@/views/workreport/workreply')
        }]
    }, {
        path: '/resource',
        component: Layout,
        redirect: '/resource/attachCopy',
        children: [{
            path: 'attachCopy',
            name: '保安单位附件上传',
            meta: {
                i18n: 'dict'
            },
            component: () =>
                import ( /* webpackChunkName: "views" */ '@/views/resource/attachCopy')
        }]
    },
    // {
    //     path: '/dispatch',
    //     component: Layout,
    //     redirect: '/dispatch/dispatch',
    //     children: [{
    //         path: 'dispatch',
    //         name: '派遣单位管理',
    //         meta: {
    //             i18n: 'dispatch'
    //         },
    //         component: () =>
    //             import( /* webpackChunkName: "views" */ '@/views/dispatch/dispatch')
    //     }, {
    //         path: 'dispatchChildoperable',
    //         name: '派遣记录管理',
    //         meta: {
    //             i18n: 'dispatch'
    //         },
    //         component: () =>
    //             import( /* webpackChunkName: "views" */ '@/views/dispatch/dispatchChildoperable')
    //     }]
    // },
    // {
    //     path: '/dispatchChild',
    //     component: Layout,
    //     redirect: '/dispatchChild/index',
    //     children: [{
    //         path: 'index',
    //         name: '派遣服务记录',
    //         meta: {
    //             i18n: 'dict'
    //         },
    //         component: () =>
    //             import( /* webpackChunkName: "views" */ '@/views/dispatchChild/index')
    //     }]
    // },
    // {
    //     path: '/equipments',
    //     component: Layout,
    //     redirect: '/equipments/index',
    //     children: [{
    //         path: 'index',
    //         name: '保安公司装备管理',
    //         meta: {
    //             i18n: 'dict'
    //         },
    //         component: () =>
    //             import( /* webpackChunkName: "views" */ '@/views/equipments/index')
    //     }]
    // }, {
    //     path: '/car',
    //     component: Layout,
    //     redirect: '/car/index',
    //     children: [{
    //         path: 'index',
    //         name: '保安公司车辆管理',
    //         meta: {
    //             i18n: 'dict'
    //         },
    //         component: () =>
    //             import( /* webpackChunkName: "views" */ '@/views/car/index')
    //     }]
    // }, {
    //     path: '/gun',
    //     component: Layout,
    //     redirect: '/gun/index',
    //     children: [{
    //         path: 'index',
    //         name: '保安公司枪支管理',
    //         meta: {
    //             i18n: 'dict'
    //         },
    //         component: () =>
    //             import( /* webpackChunkName: "views" */ '@/views/gun/index')
    //     }]
    // },
    // {
    //     path: '/securityEquipment',
    //     component: Layout,
    //     redirect: '/securityEquipment',
    //     children: [{
    //         path: 'equipments',
    //         name: '装备管理',
    //         meta: {
    //             i18n: 'securityEquipment'
    //         },
    //         component: () =>
    //             import( /* webpackChunkName: "views" */ '@/views/securityEquipment/equipments')
    //     }, {
    //         path: 'car',
    //         name: '车辆管理',
    //         meta: {
    //             i18n: 'car'
    //         },
    //         component: () =>
    //             import( /* webpackChunkName: "views" */ '@/views/securityEquipment/car')
    //     }, {
    //         path: 'gun',
    //         name: '车辆管理',
    //         meta: {
    //             i18n: 'gun'
    //         },
    //         component: () =>
    //             import( /* webpackChunkName: "views" */ '@/views/securityEquipment/gun')
    //     }]
    // },
    // {
    //     path: '/trainingRegistration',
    //     component: Layout,
    //     redirect: '/trainingRegistration/index',
    //     children: [{
    //         path: 'index',
    //         name: '保安培训报名管理',
    //         meta: {
    //             i18n: 'dict'
    //         },
    //         component: () =>
    //             import ( /* webpackChunkName: "views" */ '@/views/trainingRegistration/index')
    //     }]
    // },
    {
        path: '/securityAnalysis',
        component: Layout,
        redirect: '/securityAnalysis/index',
        children: [{
            path: 'index',
            name: '保安单位情况智能分析',
            meta: {
                i18n: 'dict'
            },
            component: () =>
                import ( /* webpackChunkName: "views" */ '@/views/securityAnalysis/index')
        }]
    }, {
        path: '/recruitmentManagement',
        component: Layout,
        redirect: '/recruitmentManagement/index',
        children: [{
            path: 'index',
            name: '招聘管理',
            meta: {
                i18n: 'dict'
            },
            component: () =>
                import ( /* webpackChunkName: "views" */ '@/views/recruitmentManagement/index')
        }]
    }, {
        path: '/ownerFeedback',
        component: Layout,
        redirect: '/ownerFeedback/index',
        children: [{
            path: 'index',
            name: '业主反馈',
            meta: {
                i18n: 'dict'
            },
            component: () =>
                import ( /* webpackChunkName: "views" */ '@/views/ownerFeedback/owner')
        }]
    }, {
        path: '/securityUnit',
        component: Layout,
        redirect: '/securityUnit/index',
        children: [{
            path: 'index',
            name: '保安单位信息',
            meta: {
                i18n: 'dict'
            },
            component: () =>
                import ( /* webpackChunkName: "views" */ '@/views/securityUnit/index')
        }]
    }, {
        path: '/securityGuard',
        component: Layout,
        redirect: '/securityGuard/securityGuard',
        children: [{
            path: 'index',
            name: '保安员查询',
            meta: {
                i18n: 'dict'
            },
            component: () =>
                import ( /* webpackChunkName: "views" */ '@/views/securityGuard/securityGuard')
        }]
    }, {
        path: '/securityGuardDetail',
        component: Layout,
        redirect: '/securityGuardDetail/index',
        children: [{
            path: 'index',
            name: '保安员详情',
            meta: {
                i18n: 'dict'
            },
            component: () =>
                import ( /* webpackChunkName: "views" */ '@/views/securityGuard/securityGuardDetail')
        }]
    }, {
        path: '/resource',
        component: Layout,
        redirect: '/resource/attach',
        children: [{
            path: 'attach',
            name: '附件上传',
            meta: {
                i18n: 'dict'
            },
            component: () =>
                import ( /* webpackChunkName: "views" */ '@/views/resource/attach')
        }]
    }, {
        path: '/securityUnitChild',
        component: Layout,
        redirect: '/securityUnitChild/index',
        children: [{
            path: 'index',
            name: '保安单位详情',
            meta: {
                i18n: 'dict'
            },
            component: () =>
                import ( /* webpackChunkName: "views" */ '@/views/securityUnitChild/index')
        }]
    }, {
        path: '/securityGuard',
        component: Layout,
        redirect: '/securityGuard/securityGuard',
        children: [{
            path: 'index',
            name: '保安员管理',
            meta: {
                i18n: 'dict'
            },
            component: () =>
                import ( /* webpackChunkName: "views" */ '@/views/securityGuard/securityGuard')
        }]
    },
    // {
    //     path: '/dispatch/dispatch',
    //     component: Layout,
    //     redirect: '/dispatch/dispatch',
    //     children: [{
    //         path: 'index',
    //         name: '派遣服务管理',
    //         meta: {
    //             i18n: 'dict'
    //         },
    //         component: () =>
    //             import( /* webpackChunkName: "views" */ '@/views/dispatch/dispatch')
    //     }]
    // },
    {
        path: '/desk',
        component: Layout,
        redirect: '/desk/notice',
        children: [{
            path: 'index',
            name: '通知公告',
            meta: {
                i18n: 'dict'
            },
            component: () =>
                import ( /* webpackChunkName: "views" */ '@/views/desk/notice')
        }]
    }, {
        path: '/dispatch',
        component: Layout,
        redirect: '/dispatch/dispatch',
        children: [{
            path: 'dispatch',
            name: '派遣单位管理',
            meta: {
                i18n: 'dispatch'
            },
            component: () =>
                import ( /* webpackChunkName: "views" */ '@/views/dispatch/dispatch')
        }, {
            path: 'dispatchChildoperable',
            name: '派遣记录管理',
            meta: {
                i18n: 'dispatch'
            },
            component: () =>
                import ( /* webpackChunkName: "views" */ '@/views/dispatch/dispatchChildoperable')
        }]
    }, {
        path: '/dispatchChild',
        component: Layout,
        redirect: '/dispatchChild/index',
        children: [{
            path: 'index',
            name: '派遣服务记录',
            meta: {
                i18n: 'dict'
            },
            component: () =>
                import ( /* webpackChunkName: "views" */ '@/views/dispatchChild/index')
        }]
    }, {
        path: '/applyexam',
        redirect: '/applyexam/papers',
        component: Layout,
        children: [{
            path: 'papers',
            name: '准考证信息',
            meta: {
                i18n: 'index',
            },
            component: () =>
                import ( /* webpackChunkName: "views" */ '@/views/applyexam/papers')
        }]
    },
    // {
    //     path: '/equipments',
    //     component: Layout,
    //     redirect: '/equipments/index',
    //     children: [{
    //         path: 'index',
    //         name: '保安公司装备管理',
    //         meta: {
    //             i18n: 'dict'
    //         },
    //         component: () =>
    //             import( /* webpackChunkName: "views" */ '@/views/equipments/index')
    //     }]
    // }, {
    //     path: '/car',
    //     component: Layout,
    //     redirect: '/car/index',
    //     children: [{
    //         path: 'index',
    //         name: '保安公司车辆管理',
    //         meta: {
    //             i18n: 'dict'
    //         },
    //         component: () =>
    //             import( /* webpackChunkName: "views" */ '@/views/car/index')
    //     }]
    // }, {
    //     path: '/gun',
    //     component: Layout,
    //     redirect: '/gun/index',
    //     children: [{
    //         path: 'index',
    //         name: '保安公司枪支管理',
    //         meta: {
    //             i18n: 'dict'
    //         },
    //         component: () =>
    //             import( /* webpackChunkName: "views" */ '@/views/gun/index')
    //     }]
    // },
    // {
    //     path: '/securityEquipment',
    //     component: Layout,
    //     redirect: '/securityEquipment',
    //     children: [{
    //         path: 'equipments',
    //         name: '装备管理',
    //         meta: {
    //             i18n: 'securityEquipment'
    //         },
    //         component: () =>
    //             import( /* webpackChunkName: "views" */ '@/views/securityEquipment/equipments')
    //     }, {
    //         path: 'car',
    //         name: '车辆管理',
    //         meta: {
    //             i18n: 'car'
    //         },
    //         component: () =>
    //             import( /* webpackChunkName: "views" */ '@/views/securityEquipment/car')
    //     }, {
    //         path: 'gun',
    //         name: '车辆管理',
    //         meta: {
    //             i18n: 'gun'
    //         },
    //         component: () =>
    //             import( /* webpackChunkName: "views" */ '@/views/securityEquipment/gun')
    //     }]
    // },
    // {
    //     path: '/trainingRegistration',
    //     component: Layout,
    //     redirect: '/trainingRegistration/index',
    //     children: [{
    //         path: 'index',
    //         name: '保安培训报名',
    //         meta: {
    //             i18n: 'dict'
    //         },
    //         component: () =>
    //             import ( /* webpackChunkName: "views" */ '@/views/trainingRegistration/index')
    //     }]
    // },
    // {
    //     path: '/trainExam',
    //     component: Layout,
    //     redirect: '/trainExam/index',
    //     children: [{
    //         path: 'index',
    //         name: '考试申请',
    //         meta: {
    //             i18n: 'dict'
    //         },
    //         component: () =>
    //             import ( /* webpackChunkName: "views" */ '@/views/trainExam/index')
    //     }]
    // },
    // {
    //     path: '/applyexam',
    //     redirect: '/applyexam/index',
    //     component: Layout,
    //     children: [{
    //         path: 'index',
    //         name: '报名考试',
    //         meta: {
    //             i18n: 'index',
    //         },
    //         component: () =>
    //             import( /* webpackChunkName: "views" */ '@/views/applyexam/index')
    //     }]
    // },
    {
        path: '/applydetailed',
        redirect: '/applydetailed/index',
        component: Layout,
        children: [{
            path: 'index',
            name: '报名清册',
            meta: {
                i18n: 'index',
            },
            component: () =>
                import ( /* webpackChunkName: "views" */ '@/views/applydetailed/index')
        }]
    },
    {
        path: '/trainApply',
        redirect: '/trainApply/index',
        component: Layout,
        children: [{
            path: 'index',
            name: '报名清册',
            meta: {
                i18n: 'index',
            },
            component: () =>
                import ( /* webpackChunkName: "views" */ '@/views/trainApply/index')
        }]
    },
    {
        path: '/startexam',
        redirect: '/startexam/index',
        component: Layout,
        children: [{
            path: 'index',
            name: '开始考试',
            meta: {
                i18n: 'index',
            },
            component: () =>
                import ( /* webpackChunkName: "views" */ '@/views/startexam/index')
        }]
    },
    {
        path: '/titleDetails',
        component: () =>
            import( /* webpackChunkName: "views" */ '@/views/dispatch/dispatchChildoperable')
    }]
}, {
    path: '/dispatchChild',
    component: Layout,
    redirect: '/dispatchChild/index',
    children: [{
        path: 'index',
        name: '派遣服务记录',
        meta: {
            i18n: 'dict'
        },
        component: () =>
            import( /* webpackChunkName: "views" */ '@/views/dispatchChild/index')
    }]
}, {
    path: '/applyexam',
    redirect: '/applyexam/papers',
    component: Layout,
    children: [{
        path: 'papers',
        name: '准考证信息',
        meta: {
            i18n: 'index',
        },
        component: () =>
            import( /* webpackChunkName: "views" */ '@/views/applyexam/papers')
    }]
},
// {
//     path: '/equipments',
//     component: Layout,
//     redirect: '/equipments/index',
//     children: [{
//         path: 'index',
//         name: '保安公司装备管理',
//         meta: {
//             i18n: 'dict'
//         },
//         component: () =>
//             import( /* webpackChunkName: "views" */ '@/views/equipments/index')
//     }]
// }, {
//     path: '/car',
//     component: Layout,
//     redirect: '/car/index',
//     children: [{
//         path: 'index',
//         name: '保安公司车辆管理',
//         meta: {
//             i18n: 'dict'
//         },
//         component: () =>
//             import( /* webpackChunkName: "views" */ '@/views/car/index')
//     }]
// }, {
//     path: '/gun',
//     component: Layout,
//     redirect: '/gun/index',
//     children: [{
//         path: 'index',
//         name: '保安公司枪支管理',
//         meta: {
//             i18n: 'dict'
//         },
//         component: () =>
//             import( /* webpackChunkName: "views" */ '@/views/gun/index')
//     }]
// },
// {
//     path: '/securityEquipment',
//     component: Layout,
//     redirect: '/securityEquipment',
//     children: [{
//         path: 'equipments',
//         name: '装备管理',
//         meta: {
//             i18n: 'securityEquipment'
//         },
//         component: () =>
//             import( /* webpackChunkName: "views" */ '@/views/securityEquipment/equipments')
//     }, {
//         path: 'car',
//         name: '车辆管理',
//         meta: {
//             i18n: 'car'
//         },
//         component: () =>
//             import( /* webpackChunkName: "views" */ '@/views/securityEquipment/car')
//     }, {
//         path: 'gun',
//         name: '车辆管理',
//         meta: {
//             i18n: 'gun'
//         },
//         component: () =>
//             import( /* webpackChunkName: "views" */ '@/views/securityEquipment/gun')
//     }]
// },
// {
//     path: '/trainingRegistration',
//     component: Layout,
//     redirect: '/trainingRegistration/index',
//     children: [{
//         path: 'index',
//         name: '保安培训报名',
//         meta: {
//             i18n: 'dict'
//         },
//         component: () =>
//             import ( /* webpackChunkName: "views" */ '@/views/trainingRegistration/index')
//     }]
// },
// {
//     path: '/trainExam',
//     component: Layout,
//     redirect: '/trainExam/index',
//     children: [{
//         path: 'index',
//         name: '考试申请',
//         meta: {
//             i18n: 'dict'
//         },
//         component: () =>
//             import ( /* webpackChunkName: "views" */ '@/views/trainExam/index')
//     }]
// },
// {
//     path: '/applyexam',
//     redirect: '/applyexam/index',
//     component: Layout,
//     children: [{
//         path: 'index',
//         name: '报名考试',
//         meta: {
//             i18n: 'index',
//         },
//         component: () =>
//             import( /* webpackChunkName: "views" */ '@/views/applyexam/index')
//     }]
// },
{
    path: '/applydetailed',
    redirect: '/applydetailed/index',
    component: Layout,
    children: [{
        path: 'index',
        name: '报名清册',
        meta: {
            i18n: 'index',
        },
        component: () =>
            import( /* webpackChunkName: "views" */ '@/views/applydetailed/index')
    }]
},
{
    path: '/trainApply',
    redirect: '/trainApply/index',
    component: Layout,
    children: [{
        path: 'index',
        name: '报名清册',
        meta: {
            i18n: 'index',
        },
        component: () =>
            import( /* webpackChunkName: "views" */ '@/views/trainApply/index')
    }]
},
{
    path: '/startexam',
    redirect: '/startexam/index',
    component: Layout,
    children: [{
        path: 'index',
        name: '开始考试',
        meta: {
            i18n: 'index',
        },
        component: () =>
            import( /* webpackChunkName: "views" */ '@/views/startexam/index')
    }]
},
{
    path: '/titleDetails',
    component: () =>
        import( /* webpackChunkName: "views" */ '@/views/exam/topicDetails')
},
{
    path: '',
    component: Layout,
    children: [{
        path: '/exam/subjects/:id',
        component: () =>
            import('@/views/exam/examSubjects'),
        name: '题目管理',
        title: '题目管理',
        noCache: true
    }]
},
{
    path: '',
    component: Layout,
    children: [{
        path: '/startexam/:id',
        component: () =>
            import('@/views/startexam/index'),
        name: '开始考试',
        title: '开始考试',
        noCache: true
    }]
},
// {
//     path: '/traincompany',
//     component: Layout,
//     redirect: '/traincompany/index',
//     children: [{
//         path: 'index',
//         name: '培训公司查询',
//         meta: {
//             i18n: 'dict'
//         },
//         component: () =>
//             import ( /* webpackChunkName: "views" */ '@/views/traincompany/index')
//     }]
// },
{
    path: '/dispatchChildoperableSee',
    component: Layout,
    redirect: '/dispatchChildoperableSee/index',
    children: [{
        path: 'index',
        name: '派遣记录',
        meta: {
            i18n: 'index'
        },
        component: () =>
            import( /* webpackChunkName: "views" */ '@/views/dispatch/dispatchChildoperableSee')
    }]
},
{
    path: '/expression',
    component: Layout,
    redirect: '/expression/index',
    children: [{
        path: 'index',
        name: '表现记录',
        meta: {
            i18n: 'index'
        },
        component: () =>
            import( /* webpackChunkName: "views" */ '@/views/people/expression')
    }]
}, {
    path: '/job',
    component: Layout,
    redirect: '/job/index',
    children: [{
        path: 'index',
        name: '从业记录',
        meta: {
            i18n: 'index'
        },
        component: () =>
            import( /* webpackChunkName: "views" */ '@/views/people/job')
    }]
}, {
    path: '/resource',
    redirect: '/resource/uploadNotice',
    component: Layout,
    children: [{
        path: 'uploadNotice',
        name: '通知公告>附件上传',
        meta: {
            i18n: 'index',
        },
        component: () =>
            import( /* webpackChunkName: "views" */ '@/views/resource/uploadNotice')
    }]
},
{
    path: '/applydetailed',
    redirect: '/applydetailed/papers',
    component: Layout,
    children: [{
        path: 'papers',
        name: '报名清册信息',
        meta: {
            i18n: 'index',
        },
        component: () =>
            import( /* webpackChunkName: "views" */ '@/views/applydetailed/papers')
    }]
},
{
    path: '/exam',
    redirect: '/exam/papers',
    component: Layout,
    children: [{
        path: 'papers',
        name: '保安证',
        meta: {
            i18n: 'index',
        },
        component: () =>
            import( /* webpackChunkName: "views" */ '@/views/exam/papers')
    }]
}, {
    path: '/resource',
    redirect: '/resource/uploadPolicyRelease',
    component: Layout,
    children: [{
        path: 'uploadPolicyRelease',
        name: '政策发布>附件上传',
        meta: {
            i18n: 'index',
        },
        component: () =>
            import( /* webpackChunkName: "views" */ '@/views/resource/uploadPolicyRelease')
    }]
}
            import ( /* webpackChunkName: "views" */ '@/views/exam/topicDetails')
    },
    {
        path: '',
        component: Layout,
        children: [{
            path: '/exam/subjects/:id',
            component: () =>
                import ('@/views/exam/examSubjects'),
            name: '题目管理',
            title: '题目管理',
            noCache: true
        }]
    },
    {
        path: '',
        component: Layout,
        children: [{
            path: '/startexam/:id',
            component: () =>
                import ('@/views/startexam/index'),
            name: '开始考试',
            title: '开始考试',
            noCache: true
        }]
    },
    // {
    //     path: '/traincompany',
    //     component: Layout,
    //     redirect: '/traincompany/index',
    //     children: [{
    //         path: 'index',
    //         name: '培训公司查询',
    //         meta: {
    //             i18n: 'dict'
    //         },
    //         component: () =>
    //             import ( /* webpackChunkName: "views" */ '@/views/traincompany/index')
    //     }]
    // },
    {
        path: '/dispatchChildoperableSee',
        component: Layout,
        redirect: '/dispatchChildoperableSee/index',
        children: [{
            path: 'index',
            name: '派遣记录',
            meta: {
                i18n: 'index'
            },
            component: () =>
                import ( /* webpackChunkName: "views" */ '@/views/dispatch/dispatchChildoperableSee')
        }]
    },
    {
        path: '/expression',
        component: Layout,
        redirect: '/expression/index',
        children: [{
            path: 'index',
            name: '表现记录',
            meta: {
                i18n: 'index'
            },
            component: () =>
                import ( /* webpackChunkName: "views" */ '@/views/people/expression')
        }]
    }, {
        path: '/job',
        component: Layout,
        redirect: '/job/index',
        children: [{
            path: 'index',
            name: '从业记录',
            meta: {
                i18n: 'index'
            },
            component: () =>
                import ( /* webpackChunkName: "views" */ '@/views/people/job')
        }]
    }, {
        path: '/resource',
        redirect: '/resource/uploadNotice',
        component: Layout,
        children: [{
            path: 'uploadNotice',
            name: '通知公告>附件上传',
            meta: {
                i18n: 'index',
            },
            component: () =>
                import ( /* webpackChunkName: "views" */ '@/views/resource/uploadNotice')
        }]
    },
    {
        path: '/applydetailed',
        redirect: '/applydetailed/papers',
        component: Layout,
        children: [{
            path: 'papers',
            name: '报名清册信息',
            meta: {
                i18n: 'index',
            },
            component: () =>
                import ( /* webpackChunkName: "views" */ '@/views/applydetailed/papers')
        }]
    },
    {
        path: '/exam',
        redirect: '/exam/papers',
        component: Layout,
        children: [{
            path: 'papers',
            name: '保安证',
            meta: {
                i18n: 'index',
            },
            component: () =>
                import ( /* webpackChunkName: "views" */ '@/views/exam/papers')
        }]
    }, {
        path: '/resource',
        redirect: '/resource/uploadPolicyRelease',
        component: Layout,
        children: [{
            path: 'uploadPolicyRelease',
            name: '政策发布>附件上传',
            meta: {
                i18n: 'index',
            },
            component: () =>
                import ( /* webpackChunkName: "views" */ '@/views/resource/uploadPolicyRelease')
        }]
    }, {
        path: '/securityMan',
        redirect: '/securityMan/index',
        component: Layout,
        children: [{
            path: 'index',
            name: '保安员信息',
            meta: {
                i18n: 'index',
            },
            component: () =>
                import ( /* webpackChunkName: "views" */ '@/views/securityMan/index')
        }]
    }
]
src/views/securityGuard/securityGuardDetail.vue
@@ -118,7 +118,7 @@
        column: [
          {
            // icon: "el-icon-info",
            label: "保安员入职登记基本信息",
            label: "保安员基本信息",
            prop: "tab1",
          },
          {
src/views/securityMan/data.js
New file
@@ -0,0 +1,671 @@
//保安员基本信息
export var securityBaseInfoColumn = [{
        label: "",
        labelWidth: "20",
        type: 'title',
        prop: "title",
        span: 24,
        styles: {
            fontSize: '24px'
        }
    },
    {
        label: "所属保安公司",
        prop: "deptId",
        type: "tree",
        dicUrl: "/api/blade-system/dept/security_lazy-tree?parentId=1413470343230877697",
        // dicUrl: "/api/blade-system/dept/lazy-tree?parentId=0",
        props: {
            label: "title",
            value: "id",
        },
        disabled: true,
        span: 24,
    },
    {
        label: "登录账号",
        prop: "account",
        disabled: true
    },
    {
        label: "用户姓名",
        prop: "realName",
        disabled: true,
    },
    {
        label: "用户昵称",
        prop: "name",
        disabled: true
    },
    {
        label: "手机号码",
        prop: "phone",
        disabled: true
    },
    {
        label: "电子邮箱",
        prop: "email",
        disabled: true
    },
    {
        label: "身份证号",
        prop: "cardid",
        disabled: true
    },
    {
        label: "籍贯",
        prop: "nativeplace",
        disabled: true
    },
    {
        label: "民族",
        prop: "nation",
        disabled: true
    },
    {
        label: "是否持证",
        prop: "hold",
        dicUrl: "/api/blade-system/dict-biz/dictionary?code=equipage",
        props: {
            label: "dictValue",
            value: "dictKey",
        },
        type: "select",
        disabled: true
    },
    {
        label: "保安员证编号",
        prop: "securitynumber",
        disabled: true
    },
    {
        label: "所属辖区",
        prop: "jurisdiction",
        // multiple: true,
        type: "tree",
        dicUrl: "/api/jurisdiction/lazy-tree?parentId=0",
        props: {
            label: "title",
            value: "id",
        },
        disabled: true
    },
    {
        label: "最高学历",
        prop: "education",
        type: "select",
        dicUrl: "/api/blade-system/dict-biz/dictionary?code=educationType",
        props: {
            label: "dictValue",
            value: "dictKey"
        },
        dataType: "number",
        slot: true,
        disabled: true
    },
    {
        label: "政治面貌",
        prop: "politicaloutlook",
        disabled: true
    },
    {
        label: "身高",
        prop: "height",
        disabled: true
    },
    {
        label: "联系地址",
        prop: "address",
        disabled: true
    },
    {
        label: "户口所在地",
        prop: "registered",
        disabled: true
    },
    {
        label: "入职时间",
        prop: "rtime",
        type: 'date',
        format: "yyyy-MM-dd",
        valueFormat: "yyyy-MM-dd",
        disabled: true
    },
    {
        label: "用户性别",
        prop: "sex",
        type: "select",
        dicData: [{
                label: "男",
                value: 1
            },
            {
                label: "女",
                value: 2
            },
            {
                label: "未知",
                value: 3
            }
        ],
        disabled: true
    },
    {
        label: "用户生日",
        type: "date",
        prop: "birthday",
        disabled: true
    }
]
export var securityBaseInfoColumns = [{
        label: "所属保安单位",
        prop: "tenantId",
        type: "tree",
        dicUrl: "/api/blade-system/tenant/select",
        props: {
            label: "tenantName",
            value: "tenantId"
        },
        disabled: true,
        span: 24,
    },
    {
        label: "登录账号",
        prop: "account",
        disabled: true
    },
    {
        label: "用户姓名",
        prop: "realName",
        rules: [{
            required: true,
            message: "请输入用户姓名",
            trigger: "blur"
        }, {
            min: 2,
            max: 5,
            message: '姓名长度在2到5个字符'
        }]
    },
    {
        label: "用户昵称",
        prop: "name"
    },
    {
        label: "手机号码",
        prop: "phone",
        overHidden: true,
        rules: [{
            required: true,
            message: "请输入手机号",
            trigger: "blur"
        }]
    },
    {
        label: "电子邮箱",
        prop: "email",
        hide: true,
        overHidden: true
    },
    {
        label: "身份证号",
        prop: "cardid",
        hide: true,
        overHidden: true,
        rules: [{
            required: true,
            message: "请输入身份证号",
            trigger: "blur"
        }]
    },
    {
        label: "籍贯",
        prop: "nativeplace",
        hide: true,
        overHidden: true
    },
    {
        label: "民族",
        prop: "nation",
        hide: true,
        overHidden: true
    },
    {
        label: "最高学历",
        prop: "education",
        type: "select",
        dicUrl: "/api/blade-system/dict-biz/dictionary?code=educationType",
        props: {
            label: "dictValue",
            value: "dictKey"
        },
        dataType: "number",
        slot: true,
        rules: [{
            required: true,
            message: "请选择学历",
            trigger: "blur"
        }]
    },
    {
        label: "政治面貌",
        prop: "politicaloutlook",
        hide: true,
        overHidden: true
    },
    {
        label: "身高",
        prop: "height",
        hide: true,
        overHidden: true
    },
    {
        label: "联系地址",
        prop: "address",
        hide: true,
        overHidden: true
    },
    {
        label: "户口所在地",
        prop: "registered",
        hide: true,
        overHidden: true
    },
    {
        label: "入职时间",
        prop: "rtime",
        type: 'date',
        format: "yyyy-MM-dd",
        valueFormat: "yyyy-MM-dd",
        hide: true,
        overHidden: true
    },
    {
        label: "用户性别",
        prop: "sex",
        type: "select",
        dicData: [{
                label: "男",
                value: 1
            },
            {
                label: "女",
                value: 2
            },
            {
                label: "未知",
                value: 3
            }
        ],
        hide: true
    },
    {
        label: "用户生日",
        type: "date",
        prop: "birthday",
        hide: true
    }
]
//从业记录
export var practitionersColumn = [{
    label: "id",
    prop: "id",
    hide: true,
    editDisplay: false,
    addDisplay: false
}, {
    label: '单位名称',
    prop: "companyname",
    formslot: true,
}, {
    label: '部门',
    prop: "department",
    formslot: true,
}, {
    label: '岗位',
    prop: "post",
    formslot: true,
}, {
    label: '岗位职责',
    prop: "responsibilities",
    formslot: true,
}, {
    label: '入职时间',
    type: 'date',
    format: "yyyy-MM-dd",
    valueFormat: "yyyy-MM-dd",
    prop: "entrytime",
    formslot: true,
}, {
    label: '离职时间',
    type: 'date',
    format: "yyyy-MM-dd",
    valueFormat: "yyyy-MM-dd",
    prop: "departuretime",
    formslot: true,
}, {
    label: '离职原因',
    prop: "leaving",
    formslot: true,
}]
export var practitionersColumns = [{
    width: 200,
    label: '单位名称',
    prop: "companyname",
    formslot: true,
}, {
    width: 200,
    label: '部门',
    prop: "department",
    formslot: true,
}, {
    width: 200,
    label: '岗位',
    prop: "post",
    formslot: true,
}, {
    width: 200,
    label: '岗位职责',
    prop: "responsibilities",
    formslot: true,
}, {
    width: 200,
    label: '入职时间',
    type: 'date',
    format: "yyyy-MM-dd",
    valueFormat: "yyyy-MM-dd",
    prop: "entryTime",
    formslot: true,
}, {
    width: 200,
    label: '离职时间',
    type: 'date',
    format: "yyyy-MM-dd",
    valueFormat: "yyyy-MM-dd",
    prop: "departureTime",
    formslot: true,
}, {
    width: 200,
    label: '离职原因',
    prop: "leaving",
    formslot: true,
}]
//表现
export var trackRecordColumn = [{
    label: "id",
    prop: "id",
    hide: true,
    editDisplay: false,
    addDisplay: false
}, {
    label: '工作态度',
    prop: "workingattitude",
    formslot: true,
}, {
    label: '工作成效',
    prop: "achievements",
    formslot: true,
}, {
    label: '表现',
    prop: "score",
    type: "select",
    dicUrl: "/api/blade-system/dict-biz/dictionary?code=scoreType",
    props: {
        label: "dictValue",
        value: "dictKey"
    },
    dataType: "number",
    slot: true,
    rules: [{
        required: true,
        message: "请选择表现",
        trigger: "blur"
    }]
}, {
    label: '时间',
    type: 'date',
    format: "yyyy-MM-dd",
    valueFormat: "yyyy-MM-dd",
    prop: "time",
    formslot: true,
}, {
    label: '服务公司',
    prop: "departmentName",
    formslot: true,
}]
export var securityFormPageColumn = [{
        label: "姓名",
        prop: "realName",
        search: true,
        searchSpan: 3,
        width: 60,
        searchLabelWidth: 50,
        display: false
    },
    {
        label: "所属保安公司",
        searchLabelWidth: "110",
        // prop: "deptName",
        prop: "deptId",
        type: "tree",
        dicUrl: "/api/blade-system/dept/security_lazy-tree?parentId=1413470343230877697",
        props: {
            label: "title",
            value: "id",
        },
        slot: true,
        searchSpan: 5,
        display: false,
        search: true,
        minWidth: 260
    },
    {
        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: "nativeplace",
        hide: true,
        display: false
    },
    {
        label: "民族",
        prop: "nation",
        hide: true,
        width: 55,
        display: false
    },
    {
        label: "出生日期",
        prop: "birthday",
        type: "date",
        format: "yyyy-MM-dd",
        valueFormat: "yyyy-MM-dd",
        display: false,
        hide: true,
    },
    {
        label: "年龄",
        prop: "age",
        width: 55,
        display: false
    },
    {
        label: "学历",
        prop: "education",
        display: false,
        width: 90,
        dicUrl: "/api/blade-system/dict-biz/dictionary?code=educationType",
        props: {
            label: "dictValue",
            value: "dictKey"
        },
        type: "select",
        // hide: true,
        rules: [{
            required: true,
            message: "请选择学历",
            trigger: "blur"
        }],
    },
    {
        label: "联系电话",
        prop: "phone",
        minWidth: 100,
        display: false
    },
    {
        label: "健康状态",
        prop: "healstats",
        hide: true,
        display: false
    },
    {
        label: "保安证编号",
        prop: "securitynumber",
        search: true,
        searchLabelWidth: 90,
        minWidth: 105,
        searchSpan: 4,
        addDisplay: false,
        editDisplay: false,
        // hide: true,
    },
    {
        label: "入职时间",
        prop: "rtime",
        hide: true,
        display: false
    },
    // {
    //     label: "是否派遣",
    //     prop: "dispatch",
    //     // hide: true,
    //     type: 'select',
    //     // display: false,
    //     dicData: [
    //         {
    //             label: '未派遣',
    //             value: 1
    //         }, {
    //             label: '已派遣',
    //             value: 0
    //         }
    //     ]
    // },
    {
        label: '是否派遣',
        prop: 'dispatch',
        type: 'select',
        editDisplay: false,
        addDisplay: false,
        dicData: [{
            label: '未派遣',
            value: '1'
        }, {
            label: '已派遣',
            value: '0'
        }]
    },
    {
        label: "是否持证",
        prop: "hold",
        slot: true,
        search: true,
        searchSpan: 3,
        width: 69,
        display: false,
        dicUrl: "/api/blade-system/dict-biz/dictionary?code=equipage",
        props: {
            label: "dictValue",
            value: "dictKey"
        },
        type: "select",
        rules: [{
            required: true,
            message: "请选择",
            trigger: "blur"
        }],
    },
    // {
    //     label: "入职时间",
    //     prop: "rtime",
    //     type: "datetime",
    //     format: "yyyy-MM-dd",
    //     valueFormat: "yyyy-MM-dd",
    //     searchRange: true,
    //     searchSpan: 6,
    //     hide: true,
    //     addDisplay: false,
    //     editDisplay: false,
    //     viewDisplay: false,
    //     search: true,
    //     rules: [{
    //         required: true,
    //         message: "请输入时间",
    //         trigger: "blur"
    //     }]
    // },
    {
        label: "在职状态",
        prop: "status",
        type: "select",
        dicUrl: "/api/blade-system/dict-biz/dictionary?code=workerState",
        props: {
            label: "dictValue",
            value: "dictKey"
        },
        dataType: "number",
        searchValue: 1,
        display: false,
        hide: true,
        searchSpan: 3,
        width: 80,
        search: true,
        rules: [{
            required: true,
            message: "请选择在职状态",
            trigger: "blur"
        }]
    },
]
src/views/securityMan/index.vue
New file
@@ -0,0 +1,543 @@
<template>
  <div class="dispatch">
    <avue-tabs :option="optionTABS" @change="handleChangeTABS"></avue-tabs>
    <span v-if="typeTABS.prop === 'tab1'">
      <avue-form ref="form" v-model="obj0" :option="option0"> </avue-form>
    </span>
    <span v-else-if="typeTABS.prop === 'tab2'">
      <avue-crud
        :option="option1"
        :data="data1"
        :page.sync="page1"
        :table-loading="loading1"
        @row-save="rowSave1"
        @row-update="rowUpdate1"
        @row-del="rowDel1"
        @refresh-change="refreshChange1"
      >
      </avue-crud>
    </span>
    <span v-else-if="typeTABS.prop === 'tab3'">
      <avue-crud
        :option="option2"
        :data="data2"
        :page.sync="page2"
        @row-save="rowSave2"
        @row-update="rowUpdate2"
        @row-del="rowDel2"
        :table-loading="loading2"
        @refresh-change="refreshChange2"
      >
      </avue-crud>
    </span>
    <span v-else-if="typeTABS.prop === 'tab4'">
      <!-- 保安员证 -->
      <div class="baoanzheng" id="baoanzheng">
        <div class="baz-main">
          <div class="baz-m-body" ref="baoanzheng">
            <div class="bmb-heard">保安员证</div>
            <div class="img">
              <div v-if="!obj0.myPicture">暂无照片</div>
              <img :src="obj0.myPicture" alt="" v-else />
            </div>
            <div class="imgs">
              <div v-if="erweima == ''">暂无二维码</div>
              <img :src="erweima" alt="" v-else />
              <!-- <img src="/img/register/ewm.png" alt="" /> -->
              <!-- logoSrc="/img/register/ewm.png" -->
              <!-- <vue-qr :text="goToUrl" :size="200"></vue-qr> -->
            </div>
            <!-- <img src="/img/mock/card/card-1.jpg" alt="" /> -->
            <div class="bmb-b">
              姓名:<span class="bmb-b-s">{{ obj0.realName }}</span>
            </div>
            <div class="bmb-b">
              性别:<span class="bmb-b-s">{{ obj0.$sex }}</span>
            </div>
            <div class="bmb-b">
              编号:<span class="bmb-b-s">{{ obj0.securitynumber }}</span>
            </div>
            <div class="bmb-b">
              发证机关:<span class="bmb-b-s">南昌市公安局</span>
            </div>
            <div class="bmb-b">
              发证日期:<span class="bmb-b-s">{{
                obj0.paperTime.slice(0, 10)
              }}</span>
            </div>
            <!-- <div class="bmb-b">
              发证机关:<span class="bmb-b-s" style="margin-right: 15px"
                >南昌市公安局</span
              >发证日期:<span class="bmb-b-s">{{
                obj0.createTime.slice(0, 10)
              }}</span>
            </div> -->
          </div>
          <span slot="footer" class="dialog-footer no-print PrintBut">
            <el-button type="primary" @click="Print">打 印</el-button>
            <!-- <el-button type="primary" @click="closePrint"> 取 消 </el-button> -->
          </span>
        </div>
      </div>
    </span>
  </div>
</template>
<script>
import {
  securityBaseInfoColumn,
  practitionersColumn,
  trackRecordColumn,
} from "./data";
import {
  addExperience,
  updateExperience,
  getExperienceDetail,
  experienceRemove,
  getExperienceList
} from "@/api/experience/experience";
import {
  getPerformanceInfo,
  add,
  update,
  page,
  remove,
  getER,
} from "@/api/performance/performance";
// import vueQr from "vue-qr";
export default {
  data() {
    return {
      typeTABS: {}, //标签页
      row: {}, //数据
      optionTABS: {
        column: [
          {
            // icon: "el-icon-info",
            label: "保安员基本信息",
            prop: "tab1",
          },
          {
            // icon: "el-icon-info",
            label: "从业记录",
            prop: "tab2",
          },
          {
            // icon: "el-icon-info",
            label: "现实表现记录",
            prop: "tab3",
          },
          {
            // icon: "el-icon-info",
            label: "保安员证",
            prop: "tab4",
          },
        ],
      },
      current: 1,
      size: 10,
      cardid: "",
      name: "",
      dispatcherCompany: "",
      id: "",
      obj0: {
        title: "我是头部标题",
      },
      option0: {
        emptyBtn: false,
        submitBtn: false,
        labelWidth: "110",
        gutter: 30,
        column: securityBaseInfoColumn,
      },
      loading1: true,
      loading2: true,
      selectionList1: [],
      page1: {
        pageSize: 10,
        currentPage: 1,
        total: 0,
      },
      page2: {
        pageSize: 10,
        currentPage: 1,
        total: 0,
      },
      query1: {},
      query2: {},
      data1: [],
      data2: [],
      option1: {
        card: true,
        menu: true,
        height: "auto",
        widtd: "auto",
        calcHeight: 54,
        border: true, //liu
        stripe: true,
        tip: false,
        index: true,
        dialogClickModal: false,
        headerAlign: "center",
        align: "center",
        column: practitionersColumn,
      },
      option2: {
        card: true,
        menu: true,
        height: "auto",
        widtd: "auto",
        calcHeight: 54,
        border: true, //liu
        stripe: true,
        tip: false,
        index: true,
        dialogClickModal: false,
        headerAlign: "center",
        align: "center",
        column: trackRecordColumn,
      },
      erweima: "",
    };
  },
  // components: {
  //   vueQr,
  // },
  computed: {
    ids1() {
      let ids1 = [];
      this.selectionList1.forEach((ele) => {
        ids1.push(ele.id);
      });
      return ids1.join(",");
    },
    // goToUrl() {
    //   var url =
    //     "http://s16s652780.51mypc.cn/securityInfo/securityInfo.html?securityNumber=" +
    //     this.obj0.securitynumber;
    //   return url;
    // },
  },
  methods: {
    Print() {
      var printDom = document.getElementById("baoanzheng");
      printDom.style.position = "fixed";
      printDom.style.left = "-10%";
      printDom.style.width = "120%";
      printDom.style.height = "100%";
      this.$Print(this.$refs.baoanzheng);
      printDom.style.position = "relative";
      printDom.style.left = "0";
      printDom.style.width = "100%";
      printDom.style.height = "calc(100% - 100px)";
    },
    handleChangeTABS(column) {
      this.typeTABS = column;
      if (column.prop == "tab1") {
        this.loading1 = false;
      } else if (column.prop == "tab2") {
        //查询当前保安员的从业记录信息
        this.getPractitionersPageInfo();
        this.loading1 = false;
      } else if (column.prop == "tab3") {
        //查询当前保安员的现实表现记录
        this.getPerformancePageInfo();
        this.loading2 = false;
      } else if (column.prop == "tab4") {
        getER(this.obj0.securitynumber).then((res) => {
          this.erweima = res.data;
          // console.log(res.data);
        });
      }
    },
    //查询当前保安员的从业记录信息
    getPractitionersPageInfo() {
      var param = {
        securityid: this.id,
      };
      //获取用户从业信息
      console.log(this.id, "cid");
      getExperienceList(this.current, this.size,param).then((res1) => {
        const data = res1.data.data;
        this.page1.total = data.total;
        this.data1 = data.records;
        this.loading1 = false;
      });
    },
    //查询当前保安员的现实表现记录信息
    getPerformancePageInfo() {
      //获取现实表现信息
      var param = {
        securityid: this.id,
      };
      page(this.current, this.size, param).then((res2) => {
        const data = res2.data.data;
        this.page2.total = data.total;
        this.data2 = data.records;
        console.log(this.data2, 1);
        this.loading2 = false;
      });
    },
    rowSave2(form, done, loading) {
      form.securityid = this.id;
      add(form).then(
        (res) => {
          this.getPerformancePageInfo(this.page2);
          this.$message({
            type: "success",
            message: "操作成功!",
          });
          done();
        },
        (error) => {
          window.console.log(error);
          loading();
        }
      );
      // }
    },
    //从业记录新增
    rowSave1(form, done, loading) {
      form.securityid = this.id;
      addExperience(form).then(
        (res) => {
          this.getPractitionersPageInfo(this.page1);
          this.$message({
            type: "success",
            message: "操作成功!",
          });
          done();
        },
        (error) => {
          window.console.log(error);
          loading();
        }
      );
      // }
    },
    rowUpdate2(row, index, done, loading) {
      row.securityid = this.id;
      update(row).then(
        () => {
          this.getPerformancePageInfo(this.page2);
          this.$message({
            type: "success",
            message: "操作成功!",
          });
          done();
        },
        (error) => {
          window.console.log(error);
          loading();
        }
      );
    },
    rowUpdate1(row, index, done, loading) {
      row.securityid = this.id;
      updateExperience(row).then(
        () => {
          this.getPractitionersPageInfo(this.page1);
          this.$message({
            type: "success",
            message: "操作成功!",
          });
          done();
        },
        (error) => {
          window.console.log(error);
          loading();
        }
      );
    },
    rowDel2(row) {
      this.$confirm("确定将选择数据删除?", {
        confirmButtonText: "确定",
        cancelButtonText: "取消",
        type: "warning",
      })
        .then(() => {
          return remove(row.id);
        })
        .then(() => {
          this.getPerformancePageInfo(this.page2);
          this.$message({
            type: "success",
            message: "操作成功!",
          });
        });
    },
    rowDel1(row) {
      this.$confirm("确定将选择数据删除?", {
        confirmButtonText: "确定",
        cancelButtonText: "取消",
        type: "warning",
      })
        .then(() => {
          return experienceRemove(row.id);
        })
        .then(() => {
          this.getPractitionersPageInfo(this.page1);
          this.$message({
            type: "success",
            message: "操作成功!",
          });
        });
    },
  },
  mounted() {
    this.typeTABS = this.optionTABS.column[0];
    var data = JSON.parse(this.$route.query.row);
    // console.log(data);
    if (data) {
      var row = data;
      // var row = this.$route.query.row;
      for (var k in row) {
        this.obj0[k] = row[k];
      }
      this.obj0.title = "";
      this.cardid = row.id;
      this.name = row.name;
      this.dispatcherCompany = row.dispatcherCompany;
      this.id = row.id;
      console.log(this.obj0);
    }
    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);
    }
  },
};
</script>
<style lang="scss">
.dispatch {
  width: 100%;
  height: 100%;
  //   border: 1px solid #000;
  box-sizing: border-box;
}
// .el-card__body {
//   padding-bottom: 5px !important;
// }
// .avue-crud__tip,
// .el-tag,
// .el-tag--light {
//   padding: 0 !important;
// }
.baoanzheng {
  // position: fixed;
  position: relative;
  // top: 0;
  top: 0;
  // left: -10%;
  left: 0;
  // height: 0;
  width: 100%;
  height: calc(100% - 100px);
  // background-color: rgba(0, 0, 0, 0.5);
  background-color: #fff;
  z-index: 9000;
  display: flex;
  align-items: center;
  justify-content: center;
}
.baz-main {
  position: relative;
  top: 15px;
  // width: 441px;
  // height: 358px;
  width: 750px;
  height: 550px;
  // background-color: #004ca7;
  background-color: #fff;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: column;
}
.baz-m-body {
  width: 750px;
  height: 550px;
  background-image: url("/img/register/bazbj.png");
  background-size: 100% 100%;
  .bmb-heard {
    font-size: 4rem;
    width: 100%;
    text-align: center;
    letter-spacing: 1.4rem;
    margin-bottom: 40px;
    padding-left: 10px;
    position: relative;
    top: 20px;
  }
  .img {
    width: 152px;
    height: 205px;
    border-radius: 10px;
    position: absolute;
    // border: 1px solid rgba($color: #888888, $alpha: 0.5);
    top: 110px;
    right: 80px;
    display: flex;
    align-items: center;
    justify-content: center;
    img {
      width: 100%;
      height: 100%;
    }
  }
  .imgs {
    width: 110px;
    height: 110px;
    border-radius: 10px;
    position: absolute;
    // border: 1px solid rgba($color: #888888, $alpha: 0.5);
    top: 330px;
    right: 103px;
    display: flex;
    align-items: center;
    justify-content: center;
    img {
      width: 100%;
      height: 100%;
    }
  }
  .bmb-b {
    padding-left: 20px;
    box-sizing: border-box;
    height: 3.9rem;
    margin-left: 3rem;
    width: 100%;
    font-size: 2rem;
    font-weight: 300;
    .bmb-b-s {
      display: inline-block;
      width: 20rem;
      font-size: 2rem;
      font-weight: 300;
    }
  }
}
.PrintBut {
  margin-top: 15px;
}
</style>