From 6e85937b4ed360b6ba0451128c4a90b325c38e7a Mon Sep 17 00:00:00 2001
From: liuyg <376836862@qq.com>
Date: Fri, 27 Aug 2021 09:27:09 +0800
Subject: [PATCH] 冲突
---
src/views/securityMan/index.vue | 577 ++++++++++++
src/views/securityGuard/securityGuardDetail.vue | 88 +
src/views/securityMan/data.js | 664 ++++++++++++++
src/api/experience/experience.js | 67 +
src/router/views/index.js | 13
src/views/securityGuard/securityGuard.vue | 291 +----
src/views/securityGuard/data.js | 1010 ++++++++++-----------
src/views/system/user.vue | 5
8 files changed, 1,977 insertions(+), 738 deletions(-)
diff --git a/src/api/experience/experience.js b/src/api/experience/experience.js
new file mode 100644
index 0000000..87fee8a
--- /dev/null
+++ b/src/api/experience/experience.js
@@ -0,0 +1,67 @@
+import request from '@/router/axios';
+
+
+export const getExperienceList = (current, size, params) => {
+ return request({
+ url: '/api/experience/page',
+ method: 'get',
+ params: {
+ ...params,
+ current,
+ size
+ }
+ })
+}
+
+export const addExperience = (row) => {
+ return request({
+ url: '/api/experience/submit',
+ method: 'post',
+ data: row
+ })
+}
+
+
+
+export const updateExperience = (row) => {
+ return request({
+ url: '/api/experience/submit',
+ method: 'post',
+ data: row
+ })
+}
+
+
+
+export const experienceRemove = (ids) => {
+ return request({
+ url: '/api/experience/remove',
+ method: 'post',
+ params: {
+ ids,
+ }
+ })
+}
+
+
+
+export const getExperienceDetail = (id) => {
+ return request({
+ url: '/api/experience/detail',
+ method: 'get',
+ params: {
+ id,
+ }
+ })
+}
+
+
+export const getUserDetails = (id) => {
+ return request({
+ url: '/api/blade-user/getUserDetails',
+ method: 'get',
+ params: {
+ id,
+ }
+ })
+}
\ No newline at end of file
diff --git a/src/router/views/index.js b/src/router/views/index.js
index 49c1598..fd1ba52 100644
--- a/src/router/views/index.js
+++ b/src/router/views/index.js
@@ -909,6 +909,19 @@
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')
+ }]
+}, {
path: '/attachOnce',
redirect: '/resource/attachOnce',
component: Layout,
diff --git a/src/views/securityGuard/data.js b/src/views/securityGuard/data.js
index e67ca1c..e3ac2a2 100644
--- a/src/views/securityGuard/data.js
+++ b/src/views/securityGuard/data.js
@@ -1,314 +1,314 @@
//保安员基本信息
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: "",
+ labelWidth: "20",
+ type: 'title',
+ prop: "title",
+ span: 24,
+ styles: {
+ fontSize: '24px'
+ }
},
{
- label: "女",
- value: 2
+ 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: "未知",
- value: 3
+ 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
}
- ],
- 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: "所属保安单位",
+ prop: "tenantId",
+ type: "tree",
+ dicUrl: "/api/blade-system/tenant/select",
+ props: {
+ label: "tenantName",
+ value: "tenantId"
+ },
+ disabled: true,
+ span: 24,
},
{
- label: "女",
- value: 2
+ label: "登录账号",
+ prop: "account",
+ disabled: true
},
{
- label: "未知",
- value: 3
+ 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
}
- ],
- hide: true
-},
-{
- label: "用户生日",
- type: "date",
- prop: "birthday",
- hide: true
-}
]
@@ -340,14 +340,14 @@
type: 'date',
format: "yyyy-MM-dd",
valueFormat: "yyyy-MM-dd",
- prop: "entryTime",
+ prop: "entrytime",
formslot: true,
}, {
label: '离职时间',
type: 'date',
format: "yyyy-MM-dd",
valueFormat: "yyyy-MM-dd",
- prop: "departureTime",
+ prop: "departuretime",
formslot: true,
}, {
label: '离职原因',
@@ -445,229 +445,227 @@
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: "姓名",
+ prop: "realName",
+ search: true,
+ searchSpan: 3,
+ width: 60,
+ searchLabelWidth: 50,
+ display: false
},
{
- label: "女",
- value: 2,
+ 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: "未知",
- value: 3,
+ label: "性别",
+ prop: "sex",
+ width: 55,
+ type: "select",
+ dicData: [{
+ label: "男",
+ value: 1,
+ },
+ {
+ label: "女",
+ value: 2,
+ },
+ {
+ label: "未知",
+ value: 3,
+ },
+ ],
+ display: false
},
- ],
- display: false
-},
-{
- label: "身份证号码",
- prop: "cardid",
- search: true,
- searchLabelWidth: 90,
- searchSpan: 4,
- 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"
+ {
+ label: "身份证号码",
+ prop: "cardid",
+ search: true,
+ searchLabelWidth: 90,
+ searchSpan: 5,
+ minWidth: 140,
+ display: false
},
- 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: "籍贯",
+ 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: "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"
+ // {
+ // 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"
+ }]
},
- dataType: "number",
- display: false,
- hide: true,
- searchSpan: 3,
- width: 80,
- search: true,
- rules: [{
- required: true,
- message: "请选择在职状态",
- trigger: "blur"
- }]
-},
]
\ No newline at end of file
diff --git a/src/views/securityGuard/securityGuard.vue b/src/views/securityGuard/securityGuard.vue
index ddb6260..ff04663 100644
--- a/src/views/securityGuard/securityGuard.vue
+++ b/src/views/securityGuard/securityGuard.vue
@@ -1,5 +1,5 @@
<template>
- <el-row class="securityGuard">
+ <el-row :class="{securityGuard : isSecurity}">
<el-col :span="0" style="display: none">
<div class="box">
<el-scrollbar>
@@ -26,6 +26,7 @@
@row-del="rowDel"
:row-style="rowStyle"
@row-save="rowSave"
+ @row-update="rowUpdate"
:before-open="beforeOpen"
:page.sync="page"
@search-change="searchChange"
@@ -299,7 +300,7 @@
return {
securityid: "",
excelBox1: false,
- isSecurity: false,
+ isSecurity: true,
excelForm1: {},
excelOption1: {
submitBtn: false,
@@ -327,7 +328,8 @@
],
},
- form: {},
+ form: {
+ },
search: {},
roleBox: false,
excelBox: false,
@@ -439,6 +441,7 @@
{
label: "登录账号",
prop: "account",
+ editDisabled:true,
rules: [
{
required: true,
@@ -451,6 +454,7 @@
{
label: "密码",
prop: "password",
+ type:'password',
hide: true,
editDisplay: false,
viewDisplay: false,
@@ -461,6 +465,7 @@
{
label: "确认密码",
prop: "password2",
+ type:'password',
hide: true,
editDisplay: false,
viewDisplay: false,
@@ -468,6 +473,15 @@
{ required: true, validator: validatePass2, trigger: "blur" },
],
},
+
+ ],
+ },
+ {
+ label: "详细信息",
+ prop: "detailInfo",
+ labelWidth: "110",
+ icon: "el-icon-s-order",
+ column: [
{
label: "姓名",
prop: "realName",
@@ -506,69 +520,6 @@
row: true,
prop: "myPicture",
},
-
- // {
- // label: "编号",
- // prop: "code",
- // },
-
- {
- label: "所属辖区",
- prop: "jurisdiction",
- // multiple: true,
- type: "tree",
- dicUrl: "/api/jurisdiction/lazy-tree?parentId=0",
- props: {
- label: "title",
- value: "id",
- },
- checkStrictly: true,
- slot: true,
- rules: [
- {
- required: false,
- message: "请选择所属辖区",
- trigger: "click",
- },
- ],
- },
- // {
- // label: "所属角色",
- // prop: "roleId",
- // multiple: true,
- // type: "tree",
- // dicData: [],
- // props: {
- // label: "title",
- // },
- // checkStrictly: true,
- // slot: true,
- // rules: [
- // {
- // required: true,
- // message: "请选择所属角色",
- // trigger: "click",
- // },
- // ],
- // },
- // {
- // label: "所属岗位",
- // prop: "postId",
- // type: "tree",
- // multiple: true,
- // dicData: [],
- // props: {
- // label: "postName",
- // value: "id",
- // },
- // rules: [
- // {
- // required: false,
- // message: "请选择所属岗位",
- // trigger: "click",
- // },
- // ],
- // },
{
label: "是否持证",
prop: "hold",
@@ -592,6 +543,19 @@
hide: true,
},
{
+ label: "身份证号",
+ prop: "cardid",
+ hide: true,
+ overHidden: true,
+ rules: [
+ {
+ required: true,
+ message: "请输入身份证号",
+ trigger: "blur",
+ },
+ ],
+ },
+ {
label: "手机号码",
prop: "phone",
overHidden: true,
@@ -606,19 +570,6 @@
{
label: "电子邮箱",
prop: "email",
- },
- {
- label: "身份证号",
- prop: "cardid",
- hide: true,
- overHidden: true,
- rules: [
- {
- required: true,
- message: "请输入身份证号",
- trigger: "blur",
- },
- ],
},
{
label: "籍贯",
@@ -662,6 +613,26 @@
prop: "registered",
},
{
+ label: "所属辖区",
+ prop: "jurisdiction",
+ // multiple: true,
+ type: "tree",
+ dicUrl: "/api/jurisdiction/lazy-tree?parentId=0",
+ props: {
+ label: "title",
+ value: "id",
+ },
+ checkStrictly: true,
+ slot: true,
+ rules: [
+ {
+ required: false,
+ message: "请选择所属辖区",
+ trigger: "click",
+ },
+ ],
+ },
+ {
label: "入职时间",
prop: "rtime",
type: "date",
@@ -688,91 +659,13 @@
// },
],
},
- {
- label: "生日",
- type: "date",
- prop: "birthday",
- format: "yyyy-MM-dd",
- valueFormat: "yyyy-MM-dd",
- },
- ],
- },
- {
- label: "从业信息",
- prop: "detailInfo",
- icon: "el-icon-s-order",
- column: [
- {
- prop: "UserPractitionersInfo",
- type: "dynamic",
- border: false,
- span: 24,
- children: {
- align: "left",
- headerAlign: "center",
- type: "form",
- rowAdd: (done) => {
- console.log(done, 111);
- done({
- input: "默认值",
- });
- },
- rowDel: (row, done) => {
- console.log(row, 222);
- done();
- },
- column: [
- {
- 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,
- },
- ],
- },
- },
+ // {
+ // label: "生日",
+ // type: "date",
+ // prop: "birthday",
+ // format: "yyyy-MM-dd",
+ // valueFormat: "yyyy-MM-dd",
+ // },
],
},
],
@@ -958,6 +851,8 @@
if (!website.tenantMode) {
this.initData(website.tenantId);
}
+ console.log(this.search,111);
+ this.search['status'] = 1;
},
methods: {
handleImport1() {
@@ -1028,24 +923,7 @@
if (row.postId) {
row.postId = row.postId.join(",");
}
- const userPractitionersList = [];
- var userPractitionersInfo = row.UserPractitionersInfo;
- if (userPractitionersInfo.length > 0) {
- userPractitionersInfo.forEach((item) => {
- const info = {
- companyname: item.companyname,
- department: item.department,
- departureTime: item.departureTime,
- entryTime: item.entryTime,
- name: row.realName,
- leaving: item.leaving,
- securityid: row.id,
- post: item.post,
- responsibilities: item.responsibilities,
- };
- userPractitionersList.push(info);
- });
- }
+
const user = {
account: row.account,
address: row.address,
@@ -1072,17 +950,16 @@
sex: row.sex,
};
const userMap = {
- user: user,
- userPractitionersInfo: userPractitionersList,
+ user: user
};
securitySave(userMap).then(
() => {
+ this.initFlag = false;
+ this.onLoad(this.page);
this.$message({
type: "success",
message: "操作成功!",
});
- this.initFlag = false;
- this.onLoad(this.page);
done();
},
(error) => {
@@ -1095,42 +972,15 @@
row.deptId = row.deptId;
row.roleId = row.roleId.join(",");
row.postId = row.postId.join(",");
- const userPractitionersList = [];
- var userPractitionersInfo = row.UserPractitionersInfo;
- if (userPractitionersInfo.length > 0) {
- userPractitionersInfo.forEach((item) => {
- const info = {
- companyname: item.companyname,
- department: item.department,
- departureTime: item.departureTime,
- entryTime: item.entryTime,
- name: row.realName,
- leaving: item.leaving,
- securityid: row.id,
- post: item.post,
- responsibilities: item.responsibilities,
- };
- userPractitionersList.push(info);
- });
- }
- var IdCardNo = row.id;
//值替换,education 放在页面会卡死
row.education = row.education1;
- update(row).then(
- () => {
- const experience = {
- securityid: IdCardNo,
- userPractitionersInfo: userPractitionersList,
- };
- //更新从业信息
- saveOrUpdateUserPractitionersInfo(experience).then(() => {
- this.$message({
- type: "success",
- message: "操作成功!",
- });
- });
+ update(row).then(() => {
this.initFlag = false;
this.onLoad(this.page);
+ this.$message({
+ type: "success",
+ message: "操作成功!",
+ });
done();
},
(error) => {
@@ -1146,7 +996,7 @@
type: "warning",
})
.then(() => {
- row.status = "0";
+ row.status = "2";
return update(row);
})
.then(() => {
@@ -1334,6 +1184,7 @@
this.onLoad(this.page, this.query);
},
onLoad(page, params = {}) {
+ params = this.search;
var that = this;
//获取当前登录人员的角色信息
var roleIds = this.userInfo.role_id.split(",");
@@ -1354,7 +1205,7 @@
//禁止编辑
deptColumn.disabled = true;
deptColumn.value = that.userInfo.dept_id;
- that.isSecurity = true;
+ that.isSecurity = false;
//如果是保安公司管理员
params["deptId"] = that.userInfo.dept_id;
} else if (roleAlias == "公安管理员") {
diff --git a/src/views/securityGuard/securityGuardDetail.vue b/src/views/securityGuard/securityGuardDetail.vue
index 534670d..b388b1a 100644
--- a/src/views/securityGuard/securityGuardDetail.vue
+++ b/src/views/securityGuard/securityGuardDetail.vue
@@ -10,6 +10,9 @@
:data="data1"
:page.sync="page1"
:table-loading="loading1"
+ @row-save="rowSave1"
+ @row-update="rowUpdate1"
+ @row-del="rowDel1"
@refresh-change="refreshChange1"
>
</avue-crud>
@@ -87,7 +90,14 @@
practitionersColumn,
trackRecordColumn,
} from "./data";
-import { getUserPractitionersInfo } from "@/api/system/user";
+import {
+ addExperience,
+ updateExperience,
+ getExperienceDetail,
+ experienceRemove,
+ getExperienceList
+} from "@/api/experience/experience";
+
import {
getPerformanceInfo,
add,
@@ -108,7 +118,7 @@
column: [
{
// icon: "el-icon-info",
- label: "保安员入职登记基本信息",
+ label: "保安员基本信息",
prop: "tab1",
},
{
@@ -158,12 +168,12 @@
total: 0,
},
query1: {},
+ query2: {},
data1: [],
data2: [],
option1: {
card: true,
- menu: false,
- addBtn: false,
+ menu: true,
height: "auto",
widtd: "auto",
calcHeight: 54,
@@ -246,20 +256,21 @@
},
//查询当前保安员的从业记录信息
getPractitionersPageInfo() {
- var that = this;
+ var param = {
+ securityid: this.id,
+ };
//获取用户从业信息
console.log(this.id, "cid");
- getUserPractitionersInfo(this.id).then((res1) => {
- that.data1 = res1.data.data;
+ 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() {
//获取现实表现信息
- // getPerformanceInfo(this.id).then((res) => {
- // that.data2 = res1.data.data;
- // console.log(that.data2, 1);
- // });
var param = {
securityid: this.id,
};
@@ -271,11 +282,32 @@
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: "操作成功!",
@@ -306,6 +338,23 @@
}
);
},
+ 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: "确定",
@@ -323,6 +372,23 @@
});
});
},
+ 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];
diff --git a/src/views/securityMan/data.js b/src/views/securityMan/data.js
new file mode 100644
index 0000000..030cab0
--- /dev/null
+++ b/src/views/securityMan/data.js
@@ -0,0 +1,664 @@
+//保安员基本信息
+export var securityBaseInfoColumn = [{
+ label: "",
+ labelWidth: "20",
+ type: 'title',
+ prop: "title",
+ span: 24,
+ styles: {
+ fontSize: '24px'
+ }
+ },
+ {
+ label: "所属保安公司",
+ prop: "deptName",
+ disabled: true,
+ span: 24,
+ },
+ {
+ label: "登录账号",
+ prop: "account",
+ disabled: true
+ },
+ {
+ label: "用户姓名",
+ prop: "realName",
+ disabled: false,
+ },
+ {
+ label: "用户昵称",
+ prop: "name",
+ disabled: false
+ },
+ {
+ label: "手机号码",
+ prop: "phone",
+ disabled: false
+ },
+ {
+ label: "电子邮箱",
+ prop: "email",
+ disabled: false
+ },
+ {
+ label: "身份证号",
+ prop: "cardid",
+ disabled: false
+ },
+ {
+ label: "籍贯",
+ prop: "nativeplace",
+ disabled: false
+ },
+ {
+ label: "民族",
+ prop: "nation",
+ disabled: false
+ },
+ {
+ 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: false
+ },
+ {
+ label: "最高学历",
+ prop: "education",
+ type: "select",
+ dicUrl: "/api/blade-system/dict-biz/dictionary?code=educationType",
+ props: {
+ label: "dictValue",
+ value: "dictKey"
+ },
+ dataType: "number",
+ slot: true,
+ disabled: false
+ },
+ {
+ label: "政治面貌",
+ prop: "politicaloutlook",
+ disabled: false
+ },
+ {
+ label: "身高",
+ prop: "height",
+ disabled: false
+ },
+ {
+ label: "联系地址",
+ prop: "address",
+ disabled: false
+ },
+ {
+ label: "户口所在地",
+ prop: "registered",
+ disabled: false
+ },
+ {
+ label: "入职时间",
+ prop: "rtime",
+ type: 'date',
+ format: "yyyy-MM-dd",
+ valueFormat: "yyyy-MM-dd",
+ disabled: false
+ },
+ {
+ label: "用户性别",
+ prop: "sex",
+ type: "select",
+ dicData: [{
+ label: "男",
+ value: 1
+ },
+ {
+ label: "女",
+ value: 2
+ },
+ {
+ label: "未知",
+ value: 3
+ }
+ ],
+ disabled: false
+ },
+ // {
+ // 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"
+ }]
+ },
+]
\ No newline at end of file
diff --git a/src/views/securityMan/index.vue b/src/views/securityMan/index.vue
new file mode 100644
index 0000000..0c476a8
--- /dev/null
+++ b/src/views/securityMan/index.vue
@@ -0,0 +1,577 @@
+<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" @submit="submit"> </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' && isSecurity">
+ <!-- 保安员证 -->
+ <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,
+ getUserDetails,
+ experienceRemove,
+ getExperienceList
+} from "@/api/experience/experience";
+
+import {
+ getPerformanceInfo,
+ add,
+ update,
+ page,
+ remove,
+ getER,
+} from "@/api/performance/performance";
+
+import {update as updateUserInfo} from "@/api/system/user";
+
+import { mapState } from "vuex";
+
+export default {
+ data() {
+ return {
+ typeTABS: {}, //标签页
+ row: {}, //数据
+ isSecurity:false,
+ 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: true,
+ 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: false,
+ addBtn:false,
+ 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(",");
+ },
+ ...mapState({
+ userInfo: (state) => state.user.userInfo,
+ }),
+
+ },
+ 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,
+ };
+ //获取用户从业信息
+ 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: "操作成功!",
+ });
+ });
+ },
+ //信息修改
+ submit(){
+
+ updateUserInfo(this.obj0).then(()=>{
+ this.$message({
+ type: "success",
+ message: "操作成功!",
+ });
+ })
+ }
+ },
+ mounted() {
+ this.typeTABS = this.optionTABS.column[0];
+ // var data = JSON.parse(this.$route.query.row);
+ //查询保安员信息
+ console.log(this.userInfo,456);
+ this.id = this.userInfo.Id;
+ var roleName = this.userInfo.role_name;
+ debugger;
+ //如果保安,才能看保安证
+ if(roleName=="保安"){
+ this.isSecurity= true;
+ this.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",
+ },
+ ]
+ }
+ getUserDetails(this.id).then((res)=>{
+ console.log(res.data.data,123);
+ var data = res.data.data;
+ this.obj0 = data;
+ })
+
+
+ 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>
\ No newline at end of file
diff --git a/src/views/system/user.vue b/src/views/system/user.vue
index ccfbd2a..1a726da 100644
--- a/src/views/system/user.vue
+++ b/src/views/system/user.vue
@@ -220,7 +220,8 @@
}
};
return {
- form: {},
+ form: {
+ },
search: {},
roleBox: false,
excelBox: false,
@@ -414,6 +415,7 @@
{
label: "密码",
prop: "password",
+ type:'password',
hide: true,
editDisplay: false,
viewDisplay: false,
@@ -424,6 +426,7 @@
{
label: "确认密码",
prop: "password2",
+ type:'password',
hide: true,
editDisplay: false,
viewDisplay: false,
--
Gitblit v1.9.3