From 5a8bc481870caa1bb54f0ab48849db932102db71 Mon Sep 17 00:00:00 2001
From: Administrator <admin>
Date: Thu, 26 Aug 2021 19:07:40 +0800
Subject: [PATCH] 保安员修改

---
 src/views/securityGuard/securityGuardDetail.vue |   86 +++
 src/api/experience/experience.js                |   56 ++
 src/views/securityGuard/securityGuard.vue       |  291 ++--------
 src/views/securityGuard/data.js                 | 1010 ++++++++++++++++++++--------------------
 src/views/system/user.vue                       |    5 
 5 files changed, 711 insertions(+), 737 deletions(-)

diff --git a/src/api/experience/experience.js b/src/api/experience/experience.js
new file mode 100644
index 0000000..57ee295
--- /dev/null
+++ b/src/api/experience/experience.js
@@ -0,0 +1,56 @@
+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,
+        }
+    })
+}
\ No newline at end of file
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 a5857bb..997a155 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,
@@ -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/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