From cc03d2d54e4cd3991930a7bbcaa67691a79e1304 Mon Sep 17 00:00:00 2001
From: liuyg <376836862@qq.com>
Date: Fri, 06 Aug 2021 17:09:09 +0800
Subject: [PATCH] 派遣时间范围搜索,单位附件上传 ++

---
 src/views/resource/attachCopy.vue            |  361 ++++++++++
 src/views/securityUnit/index.vue             |   27 
 src/router/views/index.js                    | 1501 ++++++++++++++++++++++---------------------
 src/views/securityGuard/securityGuard.vue    |   24 
 src/views/dispatch/data.js                   |   24 
 src/views/securityUnit/data.js               |    1 
 src/views/securityAnalysis/index.vue         |    2 
 src/views/dispatch/dispatch.vue              |   17 
 src/views/dispatch/dispatchChildoperable.vue |   68 +
 9 files changed, 1,249 insertions(+), 776 deletions(-)

diff --git a/src/router/views/index.js b/src/router/views/index.js
index 390b2eb..bcdb714 100644
--- a/src/router/views/index.js
+++ b/src/router/views/index.js
@@ -1,749 +1,762 @@
 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: '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: '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: '/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: '/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: '/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: '/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',
+    path: '/wel',
+    component: Layout,
+    redirect: '/wel/index',
+    children: [{
+        path: 'index',
+        name: '首页',
+        meta: {
+            i18n: 'dashboard'
+        },
         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
-        }]
-    },
+            import( /* webpackChunkName: "views" */ '@/views/wel/index')
+    }, {
+        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: '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: '/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: '/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: '/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/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
+    }]
+},
 ]
\ No newline at end of file
diff --git a/src/views/dispatch/data.js b/src/views/dispatch/data.js
index c821fae..606e4f3 100644
--- a/src/views/dispatch/data.js
+++ b/src/views/dispatch/data.js
@@ -20,26 +20,26 @@
     {
         label: "保安公司",
         prop: "tenantName",
-        type: "tree",
-        dicUrl: "/api/blade-system/dept/security_lazy-tree?parentId=0",
-        props: {
-            label: "title",
-            value: "id"
-        },
+        // type: "tree",
+        // dicUrl: "/api/blade-system/dept/security_lazy-tree?parentId=0",
+        // props: {
+        //     label: "title",
+        //     value: "id"
+        // },
         // hide: !website.tenantMode,
         // addDisplay: website.tenantMode,
         // editDisplay: website.tenantMode,
         // viewDisplay: website.tenantMode,
-        rules: [{
-            required: true,
-            message: "请输入所属保安单位",
-            trigger: "click"
-        }],
+        // rules: [{
+        //     required: true,
+        //     message: "请输入所属保安单位",
+        //     trigger: "click"
+        // }],
         labelWidth: 110,
         width: 200,
         editDisplay: false,
         addDisplay: false,
-        hide: true,
+        // hide: true,
         // span: 11,
     },
     {
diff --git a/src/views/dispatch/dispatch.vue b/src/views/dispatch/dispatch.vue
index e8f66ec..1148a09 100644
--- a/src/views/dispatch/dispatch.vue
+++ b/src/views/dispatch/dispatch.vue
@@ -74,12 +74,13 @@
   update1,
   remove1,
 } from "@/api/dispatch/dispatch";
-import { getDeptTree, getDeptLazyTree } from "@/api/system/dept";
+import { mapGetters } from "vuex";
 
 export default {
   data() {
     return {
       typeTABS: {}, //标签页
+      deptId: "",
       optionTABS: {
         column: [
           {
@@ -174,6 +175,7 @@
     };
   },
   computed: {
+    ...mapGetters(["userInfo"]),
     ids() {
       let ids = [];
       this.selectionList.forEach((ele) => {
@@ -220,10 +222,9 @@
       // var form = this.data[0];
       // delete form.id;
       // for (var k = 0; k < 13; k++) {
-      form["deptId"] = form.tenantName;
-      form["tenantName"] = form.$tenantName;
-      // delete form.tenantName;
-      // console.log(form);
+      form["deptId"] = this.userInfo.dept_id;
+      // form["tenantName"] = form.this.userInfo.user_name;
+
       adddata(form).then(
         (res) => {
           this.onLoad(this.page);
@@ -324,6 +325,7 @@
       });
     },
     onLoad(page, params = {}) {
+      var that = this;
       this.loading = true;
       getdata(
         page.currentPage,
@@ -334,8 +336,11 @@
         const data = res.data.data;
         this.page.total = data.total;
         this.data = data.records;
+        for (var k in this.data) {
+          this.data[k]["deptId"] = that.userInfo.dept_id;
+          this.data[k]["tenantName"] = that.userInfo.user_name;
+        }
         window.localStorage.setItem("paqiandataS", JSON.stringify(this.data));
-        console.log(this.data);
         this.loading = false;
       });
     },
diff --git a/src/views/dispatch/dispatchChildoperable.vue b/src/views/dispatch/dispatchChildoperable.vue
index fd346fc..d42a35b 100644
--- a/src/views/dispatch/dispatchChildoperable.vue
+++ b/src/views/dispatch/dispatchChildoperable.vue
@@ -232,6 +232,7 @@
             search: true,
             overHidden: true,
             type: "tree",
+            searchSpan: 5,
             cascaderItem: ["name"],
             // cascaderItem: ["city", "area"],
             props: {
@@ -253,6 +254,8 @@
             prop: "name",
             labelWidth: 120,
             type: "tree",
+            search: true,
+            searchSpan: 5,
             cell: true,
             props: {
               label: "realName",
@@ -340,7 +343,7 @@
             valueFormat: "yyyy-MM-dd hh:mm:ss",
             labelWidth: 120,
             searchSpan: 4,
-            search: true,
+            // search: true,
             overHidden: true,
             rules: [
               {
@@ -369,6 +372,28 @@
             // search: true,
             // searchSpan: 5,
             // overHidden: true
+          },
+          {
+            label: "派遣时间",
+            prop: "releaseTimeRange",
+            type: "datetime",
+            format: "yyyy-MM-dd",
+            valueFormat: "yyyy-MM-dd",
+            searchValue: [this.getStartTime(), this.getEndTime()],
+            searchRange: true,
+            searchSpan: 5,
+            hide: true,
+            addDisplay: false,
+            editDisplay: false,
+            viewDisplay: false,
+            search: true,
+            rules: [
+              {
+                required: true,
+                message: "请输入时间",
+                trigger: "blur",
+              },
+            ],
           },
           {
             label: "派遣地址",
@@ -684,6 +709,26 @@
       this.onLoad1(this.page1, this.query1);
     },
 
+    getStartTime() {
+      if (
+        this.$route.query.startTime != undefined &&
+        this.$route.query.startTime != null &&
+        this.$route.query.startTime != ""
+      ) {
+        return this.$route.query.startTime;
+      }
+      return "";
+    },
+    getEndTime() {
+      if (
+        this.$route.query.endTime != undefined &&
+        this.$route.query.endTime != null &&
+        this.$route.query.endTime != ""
+      ) {
+        return this.$route.query.endTime;
+      }
+      return "";
+    },
     //
     onLoad1(page, params = {}) {
       this.loading1 = true;
@@ -693,10 +738,29 @@
       // params["dispatcherUnitId"] = this.id;
       // console.log(params, "get");
       // console.log(page);
+      var values;
+      const { releaseTimeRange } = this.query1;
+      if (releaseTimeRange) {
+        values = {
+          ...params,
+          beginTime: releaseTimeRange[0],
+          overTime: releaseTimeRange[1],
+          ...this.query,
+        };
+        values.releaseTimeRange = null;
+      } else {
+        values = {
+          ...params,
+          ...this.query,
+        };
+      }
+
+      console.log(values);
       getdata1(
         page.currentPage,
         page.pageSize,
-        Object.assign(params, this.query)
+        // Object.assign(params, this.query)
+        values
       ).then((res) => {
         // console.log(res);
         const data = res.data.data;
diff --git a/src/views/resource/attachCopy.vue b/src/views/resource/attachCopy.vue
new file mode 100644
index 0000000..1bc1fde
--- /dev/null
+++ b/src/views/resource/attachCopy.vue
@@ -0,0 +1,361 @@
+<template>
+  <basic-container class="hasButTwo">
+    <avue-crud
+      :option="option"
+      :table-loading="loading"
+      :data="data"
+      :page.sync="page"
+      :permission="permissionList"
+      :before-open="beforeOpen"
+      v-model="form"
+      ref="crud"
+      @row-del="rowDel"
+      @search-change="searchChange"
+      @search-reset="searchReset"
+      @selection-change="selectionChange"
+      @current-change="currentChange"
+      @size-change="sizeChange"
+      @refresh-change="refreshChange"
+      @on-load="onLoad"
+    >
+      <template slot="menuLeft">
+        <el-button
+          type="primary"
+          size="small"
+          plain
+          v-if="permission.attach_upload"
+          icon="el-icon-upload2"
+          @click="handleUpload"
+          >上 传
+        </el-button>
+        <el-button
+          type="danger"
+          size="small"
+          icon="el-icon-delete"
+          plain
+          v-if="permission.attach_delete"
+          @click="handleDelete"
+          >删 除
+        </el-button>
+      </template>
+      <template slot-scope="scope" slot="menu">
+        <el-button
+          type="text"
+          icon="el-icon-download"
+          size="small"
+          v-if="permission.attach_download"
+          @click="handleDownload(scope.row)"
+          >下载
+        </el-button>
+      </template>
+      <template slot-scope="{ row }" slot="attachSize">
+        <el-tag>{{ `${row.attachSize} KB` }}</el-tag>
+      </template>
+    </avue-crud>
+    <el-dialog
+      title="附件管理"
+      append-to-body
+      :visible.sync="attachBox"
+      width="555px"
+    >
+      <avue-form
+        ref="form"
+        :option="attachOption"
+        v-model="attachForm"
+        :upload-after="uploadAfter"
+      >
+      </avue-form>
+    </el-dialog>
+  </basic-container>
+</template>
+
+<script>
+import { getList, getDetail, remove } from "@/api/resource/attach";
+import { mapGetters } from "vuex";
+
+export default {
+  data() {
+    var type = 4;
+    var deptid = this.$route.query.deptId;
+    return {
+      form: {},
+      query: {},
+      putParam: "",
+      loading: true,
+      page: {
+        pageSize: 10,
+        currentPage: 1,
+        total: 0,
+      },
+      attachBox: false,
+      selectionList: [],
+      option: {
+        height: "auto",
+        calcHeight: 30,
+        tip: false,
+        searchShow: true,
+        searchMenuSpan: 6,
+        border: false,
+        index: true,
+        stripe: true,
+        viewBtn: true,
+        selection: true,
+        dialogClickModal: false,
+        column: [
+          {
+            label: "附件地址",
+            prop: "link",
+            rules: [
+              {
+                required: true,
+                message: "请输入附件地址",
+                trigger: "blur",
+              },
+            ],
+          },
+          {
+            label: "附件域名",
+            prop: "domain",
+            search: true,
+            rules: [
+              {
+                required: true,
+                message: "请输入附件域名",
+                trigger: "blur",
+              },
+            ],
+          },
+          {
+            label: "附件名称",
+            prop: "name",
+            search: true,
+            rules: [
+              {
+                required: true,
+                message: "请输入附件名称",
+                trigger: "blur",
+              },
+            ],
+          },
+          {
+            label: "附件原名",
+            prop: "originalName",
+            search: true,
+            rules: [
+              {
+                required: true,
+                message: "请输入附件原名",
+                trigger: "blur",
+              },
+            ],
+          },
+          {
+            label: "附件拓展名",
+            prop: "extension",
+            rules: [
+              {
+                required: true,
+                message: "请输入附件拓展名",
+                trigger: "blur",
+              },
+            ],
+          },
+          {
+            label: "所属公司",
+            prop: "enterprisename",
+            rules: [
+              {
+                required: true,
+                message: "请输入所属公司",
+                trigger: "blur",
+              },
+            ],
+          },
+          {
+            label: "附件大小",
+            prop: "attachSize",
+            slot: true,
+            rules: [
+              {
+                required: true,
+                message: "请输入附件大小",
+                trigger: "blur",
+              },
+            ],
+          },
+        ],
+      },
+      data: [],
+      attachForm: {},
+      attachOption: {
+        submitBtn: false,
+        emptyBtn: false,
+        column: [
+          {
+            label: "附件上传",
+            prop: "attachFile",
+            type: "upload",
+            drag: true,
+            loadText: "模板上传中,请稍等",
+            span: 24,
+            propsHttp: {
+              res: "data",
+            },
+            action:
+              "/api/blade-resource/oss/endpoint/put-file-attach?type=" +
+              type +
+              "&deptid=" +
+              deptid,
+          },
+        ],
+      },
+    };
+  },
+  computed: {
+    ...mapGetters(["permission"]),
+    permissionList() {
+      return {
+        addBtn: false,
+        editBtn: false,
+        viewBtn: false,
+        delBtn: this.vaildData(this.permission.attach_delete, false),
+      };
+    },
+    ids() {
+      let ids = [];
+      this.selectionList.forEach((ele) => {
+        ids.push(ele.id);
+      });
+      return ids.join(",");
+    },
+  },
+  mounted() {
+    var flag = false,
+      i = 0,
+      ind = null;
+    this.$store.state.tags.tagList.forEach((item, index) => {
+      if (item.label == "保安单位附件上传") {
+        if (flag == false) {
+          ind = index;
+          flag = true;
+        }
+        i++;
+      }
+    });
+    if (i > 1) {
+      this.$store.state.tags.tagList.splice(ind, 1);
+    }
+  },
+  methods: {
+    handleUpload() {
+      this.attachBox = true;
+    },
+    uploadAfter(res, done, loading, column) {
+      window.console.log(column);
+      this.attachBox = false;
+      this.refreshChange();
+      done();
+    },
+    handleDownload(row) {
+      window.open(`${row.link}`);
+    },
+    rowDel(row) {
+      this.$confirm("确定将选择数据删除?", {
+        confirmButtonText: "确定",
+        cancelButtonText: "取消",
+        type: "warning",
+      })
+        .then(() => {
+          return remove(row.id);
+        })
+        .then(() => {
+          this.onLoad(this.page);
+          this.$message({
+            type: "success",
+            message: "操作成功!",
+          });
+        });
+    },
+    handleDelete() {
+      if (this.selectionList.length === 0) {
+        this.$message.warning("请选择至少一条数据");
+        return;
+      }
+      this.$confirm("确定将选择数据删除?", {
+        confirmButtonText: "确定",
+        cancelButtonText: "取消",
+        type: "warning",
+      })
+        .then(() => {
+          return remove(this.ids);
+        })
+        .then(() => {
+          this.onLoad(this.page);
+          this.$message({
+            type: "success",
+            message: "操作成功!",
+          });
+          this.$refs.crud.toggleSelection();
+        });
+    },
+    beforeOpen(done, type) {
+      if (["edit", "view"].includes(type)) {
+        getDetail(this.form.id).then((res) => {
+          this.form = res.data.data;
+        });
+      }
+      done();
+    },
+    searchReset() {
+      this.query = {};
+      this.onLoad(this.page);
+    },
+    searchChange(params, done) {
+      this.query = params;
+      this.page.currentPage = 1;
+      this.onLoad(this.page, params);
+      done();
+    },
+    selectionChange(list) {
+      this.selectionList = list;
+    },
+    selectionClear() {
+      this.selectionList = [];
+      this.$refs.crud.toggleSelection();
+    },
+    currentChange(currentPage) {
+      this.page.currentPage = currentPage;
+    },
+    sizeChange(pageSize) {
+      this.page.pageSize = pageSize;
+    },
+    refreshChange() {
+      this.onLoad(this.page, this.query);
+    },
+    onLoad(page, params = {}) {
+      params.type = 4;
+      params.deptid = this.$route.query.deptId;
+      console.log(params.deptid);
+      this.loading = true;
+      getList(
+        page.currentPage,
+        page.pageSize,
+        Object.assign(params, this.query)
+      ).then((res) => {
+        const data = res.data.data;
+        this.page.total = data.total;
+        this.data = data.records;
+        for (var k in this.data) {
+          this.data[k]["enterprisename"] = this.$route.query.enterprisename;
+        }
+        console.log(this.data);
+        this.loading = false;
+        this.selectionClear();
+      });
+    },
+  },
+};
+</script>
+
+<style>
+</style>
diff --git a/src/views/securityAnalysis/index.vue b/src/views/securityAnalysis/index.vue
index 45523cc..6589e25 100644
--- a/src/views/securityAnalysis/index.vue
+++ b/src/views/securityAnalysis/index.vue
@@ -143,7 +143,7 @@
       var that = this;
       getinformationselectHold(this.deptid).then((res) => {
         var a = res.data.data[0];
-        // console.log(a);
+        console.log(res);
         var d = [
           {
             value: a.wcz,
diff --git a/src/views/securityGuard/securityGuard.vue b/src/views/securityGuard/securityGuard.vue
index c0a1274..5a1b00b 100644
--- a/src/views/securityGuard/securityGuard.vue
+++ b/src/views/securityGuard/securityGuard.vue
@@ -408,22 +408,22 @@
                 ],
               },
               {
-                label: '个人照片',
-                type: 'upload',
-                listType: 'picture-img',
+                label: "个人照片",
+                type: "upload",
+                listType: "picture-img",
                 propsHttp: {
-                  res: 'data',
-                  url: 'link',
+                  res: "data",
+                  url: "link",
                 },
                 canvasOption: {
-                  text: ' ',
-                  ratio: 0.1
+                  text: " ",
+                  ratio: 0.1,
                 },
-                action: '/api/blade-resource/oss/endpoint/put-file',
-                tip: '只能上传jpg/png个人头像,且不超过500kb',
+                action: "/api/blade-resource/oss/endpoint/put-file",
+                tip: "只能上传jpg/png个人头像,且不超过500kb",
                 span: 12,
                 row: true,
-                prop: 'myPicture'
+                prop: "myPicture",
               },
               {
                 label: "编号",
@@ -1194,6 +1194,10 @@
         roleId: this.roleId,
         ...this.query,
       };
+      if (this.userInfo.role_id == "1414840172333842433") {
+        console.log("是公安add jurisdiction");
+        values["jurisdiction"] = this.userInfo.jurisdiction;
+      }
       this.loading = true;
       getList(page.currentPage, page.pageSize, values, this.treeDeptId).then(
         (res) => {
diff --git a/src/views/securityUnit/data.js b/src/views/securityUnit/data.js
index b2ed258..af3813f 100644
--- a/src/views/securityUnit/data.js
+++ b/src/views/securityUnit/data.js
@@ -60,6 +60,7 @@
         searchSpan: 6,
         labelWidth: 160,
         // width: 130,
+        overHidden: true
     },
     {
         label: "企业类型",
diff --git a/src/views/securityUnit/index.vue b/src/views/securityUnit/index.vue
index 23fb637..840671b 100644
--- a/src/views/securityUnit/index.vue
+++ b/src/views/securityUnit/index.vue
@@ -16,6 +16,15 @@
       @refresh-change="refreshChange"
       @row-click="rowClick"
     >
+      <template slot-scope="{ type, size, row }" slot="menu">
+        <el-button
+          :size="size"
+          :type="type"
+          @click="handleUploadPage(row)"
+          icon="el-icon-circle-check"
+          >单位装备清单附件上传
+        </el-button>
+      </template>
       <template slot="menuLeft">
         <el-button
           type="primary"
@@ -103,6 +112,7 @@
   adddata2,
   getDeptLazyTree,
 } from "@/api/securityUnit/securityUnit";
+import { mapGetters } from "vuex";
 export default {
   data() {
     var w = 160,
@@ -219,7 +229,7 @@
         searchSize: "mini",
         searchMenuSpan: 6,
         height: 693,
-        menuWidth: 160,
+        menuWidth: 290,
         align: "center",
         selection: true,
         column: column,
@@ -227,6 +237,7 @@
     };
   },
   computed: {
+    ...mapGetters(["userInfo"]),
     ids() {
       let ids = [];
       this.selectionList.forEach((ele) => {
@@ -382,7 +393,21 @@
         // params: { row: row.identificationnumber },
       });
     },
+    //跳转到附近列表页面
+    handleUploadPage(row) {
+      this.$router.push({
+        path: `/resource/attachCopy`,
+        query: {
+          deptId: row.departmentid,
+          enterprisename: row.enterprisename,
+        },
+      });
+    },
     onLoad(page, params = {}) {
+      if (this.userInfo.role_id == "1414840172333842433") {
+        console.log("是公安add jurisdiction");
+        params["jurisdiction"] = this.userInfo.jurisdiction;
+      }
       this.loading = true;
       getdata(
         page.currentPage,

--
Gitblit v1.9.3