Administrator
2022-01-20 110682b80a5de00394ebef0ee66ef7ab73c6b5e3
考试统计查询修改,成绩查询修改,成绩修改调整
8 files modified
1959 ■■■■ changed files
src/api/examapi/examination.js 23 ●●●●● patch | view | raw | blame | history
src/views/securityGuard/data.js 1316 ●●●● patch | view | raw | blame | history
src/views/securityGuard/securityGuard.vue 3 ●●●● patch | view | raw | blame | history
src/views/trainExam/examStatistics.vue 592 ●●●●● patch | view | raw | blame | history
src/views/trainExam/index.vue 9 ●●●● patch | view | raw | blame | history
src/views/trainExam/modifiedGrades.vue 8 ●●●●● patch | view | raw | blame | history
src/views/trainExam/performance.vue 4 ●●●● patch | view | raw | blame | history
src/views/trainExam/singleperformance.vue 4 ●●●● patch | view | raw | blame | history
src/api/examapi/examination.js
@@ -53,4 +53,27 @@
        method: 'post',
        data: row
    })
}
export const getExamStatistics = (current, size, params) => {
    return request({
        url: '/api/exampaper/getExamStatistics',
        method: 'get',
        params: {
            ...params,
            current,
            size
        }
    })
}
export const getExamInfoByExamId = (current, size, params) => {
    return request({
        url: '/api/exampaper/getExamInfoByExamId',
        method: 'get',
        params: {
            ...params,
            current,
            size
        }
    })
}
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",
    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",
        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
}
]
@@ -415,62 +415,62 @@
//表现
export var trackRecordColumn = [{
    label: "id",
    prop: "id",
    hide: true,
    editDisplay: false,
    addDisplay: false
}, {
    label: '时间',
    type: 'date',
    format: "yyyy-MM-dd",
    valueFormat: "yyyy-MM-dd",
    prop: "time",
    formslot: true,
},
// {
//     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"
        label: "id",
        prop: "id",
        hide: true,
        editDisplay: false,
        addDisplay: false
    }, {
        label: '时间',
        type: 'date',
        format: "yyyy-MM-dd",
        valueFormat: "yyyy-MM-dd",
        prop: "time",
        formslot: true,
    },
    // {
    //     label: '工作态度',
    //     prop: "workingattitude",
    //     formslot: true,
    // },
    dicData: [{
        label: "优秀",
        value: 0
    },
    {
        label: "良好",
        value: 1
    },
    {
        label: "一般",
        value: 2
    },
    {
        label: "差",
        value: 3
    },
    ],
    dataType: "number",
    slot: true,
    rules: [{
        required: true,
        message: "请选择表现",
        trigger: "blur"
    }]
}
        label: '工作表现',
        prop: "achievements",
        formslot: true,
    }, {
        label: '表现评定',
        prop: "score",
        type: "select",
        // dicUrl: "/api/blade-system/dict-biz/dictionary?code=scoreType",
        // props: {
        //     label: "dictValue",
        //     value: "dictKey"
        // },
        dicData: [{
                label: "优秀",
                value: 0
            },
            {
                label: "良好",
                value: 1
            },
            {
                label: "一般",
                value: 2
            },
            {
                label: "差",
                value: 3
            },
        ],
        dataType: "number",
        slot: true,
        rules: [{
            required: true,
            message: "请选择表现",
            trigger: "blur"
        }]
    }
    // {
    //     label: '服务公司',
    //     prop: "departmentName",
@@ -480,338 +480,338 @@
export var securityFormPageColumn = [{
    label: "姓名",
    prop: "realName",
    search: true,
    searchSpan: 3,
    width: 65,
    searchLabelWidth: 50,
    display: false
},
{
    label: "企业名称",
    searchLabelWidth: "80",
    // prop: "deptName",
    prop: "deptId",
    type: "tree",
    // dicUrl: "/api/blade-system/dept/security_lazy-tree?parentId=1413470343230877697",
    props: {
        label: "title",
        value: "id",
    },
    // hide: true,
    slot: true,
    searchSpan: 5,
    display: false,
    search: true,
    minWidth: 160
},
{
    label: "性别",
    prop: "sexs",
    sortable: true,
    width: 75,
    type: "select",
    dicData: [{
        label: "男",
        value: 1,
        label: "姓名",
        prop: "realName",
        search: true,
        searchSpan: 3,
        width: 65,
        searchLabelWidth: 50,
        display: false
    },
    {
        label: "女",
        value: 2,
        label: "企业名称",
        searchLabelWidth: "80",
        // prop: "deptName",
        prop: "deptId",
        type: "tree",
        // dicUrl: "/api/blade-system/dept/security_lazy-tree?parentId=1413470343230877697",
        props: {
            label: "title",
            value: "id",
        },
        // hide: true,
        slot: true,
        searchSpan: 5,
        display: false,
        search: true,
        minWidth: 160
    },
        // {
        //     label: "未知",
        //     value: 3,
        // },
    ],
    display: false
},
{
    label: "身份证号码",
    prop: "cardid",
    search: true,
    searchLabelWidth: 90,
    searchSpan: 5,
    width: 140,
    display: false
},
{
    label: "照片",
    prop: "avatar",
    type: "upload",
    listType: "picture-img",
    width: 60,
    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,
    {
        label: "性别",
        prop: "sexs",
        sortable: true,
        width: 75,
        type: "select",
        dicData: [{
                label: "男",
                value: 1,
            },
            {
                label: "女",
                value: 2,
            },
            // {
            //     label: "未知",
            //     value: 3,
            // },
        ],
        display: false
    },
    {
        label: "身份证号码",
        prop: "cardid",
        search: true,
        searchLabelWidth: 90,
        searchSpan: 4,
        width: 140,
        display: false
    },
    {
        label: "照片",
        prop: "avatar",
        type: "upload",
        listType: "picture-img",
        width: 60,
        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: 80,
    display: false
},
{
    label: "健康状态",
    prop: "healstats",
    hide: true,
    display: false
},
{
    label: "保安证编号",
    prop: "securitynumber",
    search: true,
    searchLabelWidth: 90,
    sortable: true,
    width: 118,
    searchSpan: 5,
    addDisplay: false,
    editDisplay: false,
    // hide: true,
},
{
    label: "入职时间",
    prop: "rtime",
    hide: true,
    display: false
},
{
    label: '是否派遣',
    prop: 'dispatch',
    type: 'select',
    sortable: true,
    editDisplay: false,
    search: true,
    width: 110,
    searchSpan: 4,
    addDisplay: false,
    dicData: [{
        label: '全部',
        value: '2'
        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: 80,
        display: false
    },
    {
        label: '已派遣',
        value: '0'
        label: "健康状态",
        prop: "healstats",
        hide: true,
        display: false
    },
    {
        label: '未派遣',
        value: '1'
    }
    ]
},
{
    label: "是否持证",
    prop: "hold",
    slot: true,
    sortable: true,
    search: true,
    searchSpan: 4,
    width: 110,
    type: "select",
    dicData: [{
        label: "是",
        value: "1",
        label: "保安证编号",
        prop: "securitynumber",
        search: true,
        searchLabelWidth: 90,
        sortable: true,
        width: 118,
        searchSpan: 4,
        addDisplay: false,
        editDisplay: false,
        // hide: true,
    },
    {
        label: "否",
        value: "2",
        label: "入职时间",
        prop: "rtime",
        hide: true,
        display: false
    },
    {
        label: "已吊销",
        value: "3",
        label: '是否派遣',
        prop: 'dispatch',
        type: 'select',
        sortable: true,
        editDisplay: false,
        search: true,
        width: 110,
        searchSpan: 3,
        addDisplay: false,
        dicData: [{
                label: '全部',
                value: '2'
            },
            {
                label: '已派遣',
                value: '0'
            },
            {
                label: '未派遣',
                value: '1'
            }
        ]
    },
    ],
    display: false,
    rules: [{
        required: true,
        message: "请选择",
        trigger: "blur"
    }],
},
    {
        label: "是否持证",
        prop: "hold",
        slot: true,
        sortable: true,
        search: true,
        searchSpan: 3,
        width: 110,
        type: "select",
        dicData: [{
                label: "是",
                value: "1",
            },
            {
                label: "否",
                value: "2",
            },
            {
                label: "已吊销",
                value: "3",
            },
        ],
        display: false,
        rules: [{
            required: true,
            message: "请选择",
            trigger: "blur"
        }],
    },
{
    label: "是否制证",
    prop: "userType",
    type: "select",
    sortable: true,
    slot: true,
    search: true,
    // searchValue: 7,
    editDisplay: false,
    addDisplay: false,
    searchSpan: 3,
    width: 110,
    dicData: [{
        label: "已制证",
        value: 6,
    },
    {
        label: "未制证",
        value: 7,
    }
    ],
},
        label: "是否制证",
        prop: "userType",
        type: "select",
        sortable: true,
        slot: true,
        search: true,
        // searchValue: 7,
        editDisplay: false,
        addDisplay: false,
        searchSpan: 3,
        width: 110,
        dicData: [{
                label: "已制证",
                value: 6,
            },
            {
                label: "未制证",
                value: 7,
            }
        ],
    },
// {
//     label: "发证日期",
//     prop: "papertime",
//     type: "date",
//     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: "isAvatar",
    type: "select",
    search: true,
    minWidth: 105,
    searchSpan: 3,
    addDisplay: false,
    editDisplay: false,
    hide: true,
    display: false,
    dicData: [{
        label: "全部",
        value: 3,
    // {
    //     label: "发证日期",
    //     prop: "papertime",
    //     type: "date",
    //     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: "isAvatar",
        type: "select",
        search: true,
        minWidth: 105,
        searchSpan: 3,
        addDisplay: false,
        editDisplay: false,
        hide: true,
        display: false,
        dicData: [{
                label: "全部",
                value: 3,
            },
            {
                label: "有",
                value: 1,
            },
            {
                label: "无",
                value: 2,
            },
        ],
    },
    {
        label: "有",
        value: 1,
        label: "是否采集指纹",
        prop: "isFingerprint",
        type: "select",
        search: true,
        searchLabelWidth: 110,
        minWidth: 105,
        searchSpan: 4,
        addDisplay: false,
        editDisplay: false,
        hide: true,
        display: false,
        dicData: [{
                label: "全部",
                value: 3,
            },
            {
                label: "是",
                value: 1,
            },
            {
                label: "否",
                value: 2,
            },
        ],
    },
    {
        label: "无",
        value: 2,
    },
    ],
},
{
    label: "是否采集指纹",
    prop: "isFingerprint",
    type: "select",
    search: true,
    searchLabelWidth: 110,
    minWidth: 105,
    searchSpan: 4,
    addDisplay: false,
    editDisplay: false,
    hide: true,
    display: false,
    dicData: [{
        label: "全部",
        value: 3,
        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"
        }]
    },
    {
        label: "是",
        value: 1,
        label: "审查状态",
        prop: "examinationType",
        type: "select",
        sortable: true,
        display: false,
        searchSpan: 3,
        search: true,
        hide: true,
        width: 110,
        dicData: [{
                label: "全部",
                value: 6,
            },
            {
                label: "正常",
                value: "0",
            },
            {
                label: "异常",
                value: "1",
            }
        ],
    },
    {
        label: "否",
        value: 2,
    },
    ],
},
{
    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"
    }]
},
{
    label: "审查状态",
    prop: "examinationType",
    type: "select",
    sortable: true,
    display: false,
    searchSpan: 3,
    search: false,
    hide: true,
    width: 110,
    dicData: [{
        label: "全部",
        value: 6,
    },
    {
        label: "正常",
        value: "0",
    },
    {
        label: "异常",
        value: "1",
    }
    ],
},
]
src/views/securityGuard/securityGuard.vue
@@ -799,7 +799,7 @@
      choiceList: [],
      deptIdss: "",
      option: {
        searchIndex: 5, //收缩展示数量
        searchIndex: 6, //收缩展示数量
        searchIcon: true, //搜索是否收缩
        height: "auto",
        calcHeight: 80,
@@ -819,7 +819,6 @@
        },
        indexWidth: 55,
        searchMenuSpan: 6,
        stripe: true,
        border: true,
        delBtn: true,
src/views/trainExam/examStatistics.vue
@@ -32,8 +32,9 @@
            @row-save="questionBankRowSave"
            @row-update="questionBankRowUpdate"
            @row-del="questionBankRowDel"
            @row-click="handleRowClick"
          >
            <template slot-scope="{ row }" slot="auditStatus">
            <!-- <template slot-scope="{ row }" slot="auditStatus">
              <el-tag class="dtype">
                {{
                  row.auditStatus == 1
@@ -46,12 +47,12 @@
                <i class="yj" v-if="row.auditStatus == 2"></i>
                <i class="gz" v-if="row.auditStatus == 3"></i>
              </el-tag>
            </template>
            </template> -->
            <template slot="menuLeft">
              <!--图例 components-->
              <span>
              <!-- <span>
                <Legend :datas="datalistLIU"></Legend>
              </span>
              </span> -->
            </template>
            <template slot-scope="{ row }" slot="menu">
@@ -61,34 +62,59 @@
                icon="el-icon-collection"
                class="start-kaoshi"
                v-if="permission.trainExam_trainPapers"
                @click="startExam(row)"
                >报名清册
              </el-button>
              <el-button
                type="text"
                size="mini"
                icon="el-icon-search"
                v-if="permission.trainExam_index_examScoreViews"
                @click="examScoreViews(row)"
                >成绩查看
                @click="getExamDetail(row)"
                >详情
              </el-button>
            </template>
          </avue-crud>
        </div>
      </el-card>
    </el-col>
    <el-drawer
      :title="title"
      :visible.sync="dialog"
      :modal="true"
      :modal-append-to-body="true"
      :append-to-body="true"
      direction="rtl"
      size="60%">
      <avue-crud
            v-model="formDetail"
            :option="option"
            v-if="dialog"
            :search.sync="search"
            :table-loading="loading"
            :data="data"
            ref="crud"
            :page.sync="page"
            @on-load="onLoad"
            :before-open="beforeOpen"
            @selection-change="selectionChange"
            @search-change="searchChange"
            @search-reset="searchReset"
            @current-change="currentChange"
            @size-change="sizeChange"
          >
            <template slot-scope="{ row }" slot="menu">
              <el-button
                type="text"
                size="mini"
                icon="el-icon-collection"
                class="start-kaoshi"
                v-if="permission.trainExam_trainPapers"
                @click="getExamDetail(row)"
                >详情
              </el-button>
            </template>
          </avue-crud>
    </el-drawer>
  </el-row>
</template>
<script>
import {
  getList,
  add,
  remove,
  update,
  updateAudit,
  applyConfirm,
} from "@/api/examapi/examination";
import {getExamStatistics,getExamInfoByExamId} from "@/api/examapi/examination";
import { mapGetters } from "vuex";
import Legend from "@/components/liu-legend/Legend";
export default {
@@ -97,26 +123,16 @@
  },
  data() {
    return {
      startTime:"",
      title:"",
      trainUnitId:null,
      dialog: false,
      form: {},
      //legend-liu数据
      datalistLIU: [
        {
          color: "#29C093",
          text: "审核通过",
        },
        {
          color: "#F34A4A",
          text: "审核不通过",
        },
        {
          color: "#F48F57",
          text: "待审核",
        },
      ],
      formDetail: {},
      questionBankOption: {
        // 操作栏多余按钮去除
        delBtn: false,
        editBtn: true,
        editBtn: false,
        addBtn: false,
        menu: true,
        // 导出按钮
@@ -133,32 +149,19 @@
        indexLabel: "序号",
        dialogClickModal: false,
        // 操作栏宽度
        menuWidth: 320,
        menuWidth: 120,
        labelWidth: 140,
        ...this.$store.state.control.clearOtherBut,
        column: [
          {
            label: "培训学校名称",
            prop: "deptName",
            prop: "schoolName",
            slot: true,
            search:true,
            searchSpan:5,
            searchLabelWidth:110,
            // 表单新增时是否禁止
            addDisabled: true,
            // 表单新增时是否可见
            addDisplay: false,
            // 表单新增时是否为查看模式
            addDetail: false,
            // 表单编辑时是否禁止
            editDisabled: true,
            // 表单编辑时是否可见
            editDisplay: false,
            // 表单编辑时是否为查看模式
            editDetail: false,
            // hide: true,
            display: false,
            overHidden: true,
            // width:180,
          },
          {
            label: "考试时间",
@@ -169,18 +172,6 @@
            search:true,
            searchSpan:4,
            hide: true,
            // 表单新增时是否禁止
            addDisabled: false,
            // 表单新增时是否可见
            addDisplay: true,
            // 表单新增时是否为查看模式
            addDetail: false,
            // 表单编辑时是否禁止
            editDisabled: false,
            // 表单编辑时是否可见
            editDisplay: false,
            // 表单编辑时是否为查看模式
            editDetail: false,
            rules: [
              {
                required: true,
@@ -193,155 +184,144 @@
            label: "考试时间",
            prop: "startTime",
            type: "datetime",
            format: "yyyy-MM-dd HH:mm",
            valueFormat: "yyyy-MM-dd HH:mm",
            hide: true,
            // 表单新增时是否禁止
            addDisabled: false,
            // 表单新增时是否可见
            addDisplay: true,
            // 表单新增时是否为查看模式
            addDetail: false,
            // 表单编辑时是否禁止
            editDisabled: false,
            // 表单编辑时是否可见
            editDisplay: true,
            // 表单编辑时是否为查看模式
            editDetail: false,
            rules: [
              {
                required: true,
                message: "请选择考试时间",
                trigger: "blur",
              },
            ],
          },
          {
            label: "考试开始时间",
            prop: "startTime",
            type: "datetime",
            format: "yyyy-MM-dd HH:mm",
            valueFormat: "yyyy-MM-dd HH:mm",
            // 表单新增时是否禁止
            addDisabled: false,
            // 表单新增时是否可见
            addDisplay: false,
            // 表单新增时是否为查看模式
            addDetail: false,
            // 表单编辑时是否禁止
            editDisabled: false,
            // 表单编辑时是否可见
            editDisplay: false,
            // 表单编辑时是否为查看模式
            editDetail: false,
            width: 120,
          },
          {
            label: "考试开始截止时间",
            prop: "endTime",
            type: "datetime",
            // span: 24,
            format: "yyyy-MM-dd HH:mm",
            valueFormat: "yyyy-MM-dd HH:mm",
            // 表单新增时是否禁止
            addDisabled: false,
            // 表单新增时是否可见
            addDisplay: false,
            // 表单新增时是否为查看模式
            addDetail: false,
            // 表单编辑时是否禁止
            editDisabled: false,
            // 表单编辑时是否可见
            editDisplay: true,
            // 表单编辑时是否为查看模式
            editDetail: false,
            width: 120,
            format: "yyyy-MM-dd",
            valueFormat: "yyyy-MM-dd",
          },
          {
            label: "报名人数",
            prop: "num",
            type: "textarea",
            span: 24,
            slot: true,
            // 表单新增时是否禁止
            addDisabled: false,
            // 表单新增时是否可见
            addDisplay: true,
            // 表单新增时是否为查看模式
            addDetail: false,
            // 表单编辑时是否禁止
            editDisabled: false,
            // 表单编辑时是否可见
            editDisplay: false,
            // 表单编辑时是否为查看模式
            editDetail: false,
            width: 70,
            prop: "znum",
          },
          {
            label: "考试人数",
            prop: "examNum",
            type: "textarea",
            span: 24,
            slot: true,
            // 表单新增时是否禁止
            addDisabled: false,
            // 表单新增时是否可见
            addDisplay: true,
            // 表单新增时是否为查看模式
            addDetail: false,
            // 表单编辑时是否禁止
            editDisabled: false,
            // 表单编辑时是否可见
            editDisplay: false,
            // 表单编辑时是否为查看模式
            editDetail: false,
            width: 70,
            label: "机考人数",
            prop: "yknum",
          },
          {
            label: "审核状态",
            search: true,
            searchSpan: 4,
            prop: "auditStatus",
            slot: true,
            editDisplay: false,
            addDisplay: false,
            type: "select",
            rules: [
              {
                required: true,
                message: "请选择审核类型",
                trigger: "blur",
              },
            ],
            dicData: [
              {
                label: "审核通过",
                value: 1,
              },
              {
                label: "不通过",
                value: 2,
              },
              {
                label: "待审核",
                value: 3,
              },
            ],
            width: 110,
            label: "纸质考试人数",
            prop: "zznum",
          },
          {
            label: "缺考人数",
            prop: "qknum",
          },
          {
            label: "审查异常人数",
            prop: "ycnum",
          },
          {
            label: "已取消考试人数",
            prop: "qxnum",
          },
        ],
      },
      option: {
        // 操作栏多余按钮去除
        delBtn: false,
        editBtn: false,
        addBtn: false,
        menu: false,
        //合计
        showSummary: true,
        viewBtn: false,
        align: "center",
        height: "auto",
        calcHeight: 80,
        tip: false,
        searchMenuSpan: 4,
        index: true,
        indexLabel: "序号",
        ...this.$store.state.control.clearOtherBut,
        column: [
          {
            label: "企业名称",
            prop: "deptName",
            slot: true,
            // search:true,
            // searchSpan:5,
            searchLabelWidth:110,
            overHidden: true,
          },
          {
            label: "报名人数",
            prop: "znum",
          },
          {
            label: "审查异常人数",
            prop: "ycnum",
          },
          {
            label: "缺考/纸质考试人数",
            prop: "qknum",
          },
          {
            label: "缺考/纸质占比(%)",
            prop: "absentProportion",
          },
          {
            label: "及格人数",
            prop: "yknum",
          },
          {
            label: "及格人数占比(%)",
            prop: "qualifiedProportion",
          },
        ],
        sumColumnList: [
            {
              label:'合计:',
              name: 'deptName',
            },
            {
              name: 'znum',
              type: 'sum'
            },
            {
              name: 'ycnum',
              type: 'sum'
            },
            {
              name: 'qknum',
              type: 'sum'
            },
            {
              name: 'absentProportion',
              type: 'avg'
            },
            {
              name: 'yknum',
              type: 'sum'
            },
            {
              name: 'qualifiedProportion',
              type: 'avg'
            },
            {
              name: 'znum',
              type: 'sum'
            },
          ],
      },
      questionBankSearch: {},
      search: {},
      questionBankLoading: true,
      loading: true,
      questionBankData: [],
      data: [],
      questionBankPage: {
        pageSize: 10,
        currentPage: 1,
        total: 16,
        ...this.$store.state.control.changePageSize,
      },
      page: {
        pageSize: 10,
        currentPage: 1,
        total: 16,
        ...this.$store.state.control.changePageSize,
      },
      questionBankQuery: {},
      query: {},
      questionBankSelectionList: [],
      selectionList: [],
    };
  },
  mounted() {},
@@ -357,7 +337,7 @@
    permissionList() {
      return {
        addBtn: this.vaildData(null, false),
        viewBtn: this.vaildData(this.permission.trainExam_edit, false),
        viewBtn: this.vaildData(null, false),
        delBtn: this.vaildData(null, false),
        editBtn: this.vaildData(null, false),
      };
@@ -365,14 +345,28 @@
  },
  watch: {},
  methods: {
    //合计
    summaryMethod({ columns, data }){
      const sums = [];
      if (columns.length > 0) {
        columns.forEach((column, index) => {
          if ([0,1,6].includes(index) ) {
            sums[index] = '-'
          } else {
            let values = this.selectList.map(item => Number(item[column.property]));
            sums[index] = values;
          }
        });
      }
      return sums;
    },
    questionBankOnLoad(page, params = {}) {
      this.questionBankLoading = false;
      params["examType"] = 2;
      //如果是培训公司管理员,则只能看到当前培训公司申请的考试
      if (this.userInfo.role_name == "培训公司管理员") {
        params["deptId"] = this.userInfo.dept_id;
      }
      getList(
      getExamStatistics(
        page.currentPage,
        page.pageSize,
        Object.assign(params, this.questionBankQuery)
@@ -384,9 +378,33 @@
        this.questionBankSelectionClear();
      });
    },
    onLoad(page, params = {}) {
      this.loading = false;
      //如果是培训公司管理员,则只能看到当前培训公司申请的考试
      if (this.userInfo.role_name == "培训公司管理员") {
        params["deptId"] = this.userInfo.dept_id;
      }
      params['startTime'] = this.startTime;
      params['trainUnitId'] = this.trainUnitId;
      getExamInfoByExamId(
        page.currentPage,
        page.pageSize,
        Object.assign(params, this.query)
      ).then((res) => {
        const data = res.data.data;
        this.page.total = data.total;
        this.data = data.records;
        this.loading = false;
        this.selectionClear();
      });
    },
    questionBankSelectionClear() {
      this.questionBankSelectionList = [];
      this.$refs.questionBankCrud.toggleSelection();
    },
    selectionClear() {
      this.selectionList = [];
      this.$refs.crud.toggleSelection();
    },
    questionBankSelectionChange(list) {
      this.questionBankSelectionList = list;
@@ -407,173 +425,21 @@
    questionBankSizeChange(pageSize) {
      this.questionBankPage.pageSize = pageSize;
    },
    //审核
    submit(row, done, loading) {
      updateAudit(row).then(
        () => {
          this.dialogFormVisible = false;
          this.questionBankOnLoad(this.questionBankPage);
          this.$message({
            type: "success",
            message: "操作成功!",
          });
          done();
        },
        (error) => {
          window.console.log(error);
          loading();
        }
      );
    //详情弹窗
    getExamDetail(row) {
      this.dialog = true;
      this.trainUnitId = row.trainUnitId;
      this.startTime = row.startTime;
      this.title = row.schoolName+row.startTime+"考试明细";
      this.onLoad(this.page);
    },
     beforeOpen(done, type) {
      if(this.userInfo.role_name=="培训公司管理员"){
         if (["edit"].includes(type)) {
            if(this.form.auditStatus==1){
              this.$message({
                type: "warning",
                message: "当前考试申请已审核通过,无法再修改考试申请信息!",
              });
              return;
            }
          }
      }
      done();
    },
    startExam(row) {
      //正式考试
      if (row.examType == 1) {
        this.$router.push({
          path: `/applydetailed`,
          query: row,
        });
      }
      //模拟考试
      if (row.examType == 2) {
        this.$router.push({
          path: `/trainApply`,
          query: row,
        });
      }
    },
    examScoreViews(row) {
      //模拟考试
      if (row.examType == 2) {
        this.$router.push({
          path: `/trainExam/singleperformance`,
          query: row,
        });
      }
    },
    // 新增
    questionBankRowSave(row, done, loading) {
      row.startTime = row.startTime + ":00";
      row["examType"] = 2;
      // row.endTime = row.examTime[1];
      // row.examTime = JSON.stringify(row.examTime);
      add(row).then(
        () => {
          this.questionBankOnLoad(this.questionBankPage);
          this.$message({
            type: "success",
            message: "操作成功!",
          });
          done();
        },
        (error) => {
          window.console.log(error);
          loading();
        }
      );
    },
    questionBankRowUpdate(row, index, done, loading) {
      // if (Array.isArray(row.examTime) != true) {
      //   row.examTime = row.examTime.split(",");
      // }
      const data = {
        id: row.id,
        startTime: row.startTime + ":00",
        endTime: row.endTime + ":00",
      };
      // row.startTime = row.startTime + ":00";
      // row.endTime = row.endTime + ":00";
      // row.endTime = row.examTime[1];
      // row.examTime = JSON.stringify(row.examTime);
      update(data).then(
        () => {
          this.questionBankOnLoad(this.questionBankPage);
          this.$message({
            type: "success",
            message: "操作成功!",
          });
          done();
        },
        (error) => {
          window.console.log(error);
          loading();
        }
      );
    },
    questionBankRowDel(row) {
      this.$confirm("确定将选择数据删除?", {
        confirmButtonText: "确定",
        cancelButtonText: "取消",
        type: "warning",
      })
        .then(() => {
          return remove(row.id);
        })
        .then(() => {
          this.questionBankOnLoad(this.questionBankPage);
          this.$message({
            type: "success",
            message: "操作成功!",
          });
        });
    },
    handleConfirm(row) {
      this.$confirm("已确认当前考试申请人员名单无误?", {
        confirmButtonText: "确定",
        cancelButtonText: "取消",
        type: "warning",
      })
        .then(() => {
          row["confirmUser"] = this.userInfo.Id;
          return applyConfirm(row);
        })
        .then(() => {
          this.questionBankOnLoad(this.questionBankPage);
          this.$message({
            type: "success",
            message: "操作成功!",
          });
        });
    },
    questionBankHandleDelete() {
      if (this.questionBankSelectionList.length === 0) {
        this.$message.warning("请选择至少一条数据");
        return;
      }
      this.$confirm("确定将选择数据删除?", {
        confirmButtonText: "确定",
        cancelButtonText: "取消",
        type: "warning",
      })
        .then(() => {
          return remove(this.ids);
        })
        .then(() => {
          this.questionBankOnLoad(this.questionBankPage);
          this.$message({
            type: "success",
            message: "操作成功!",
          });
          this.$refs.questionBankCrud.toggleSelection();
        });
    },
    handleAudit(row) {
      this.dialogFormVisible = true;
      this.Audit = row;
    //行单击详情弹窗
    handleRowClick(row) {
      this.dialog = true;
      this.trainUnitId = row.trainUnitId;
      this.startTime = row.startTime;
      this.title = row.schoolName+row.startTime+"考试明细";
      this.onLoad(this.page);
    },
  },
};
src/views/trainExam/index.vue
@@ -694,6 +694,13 @@
    },
    //审核
    submit(row, done, loading) {
      // console.log(row,123456);
      // var data = {
      //   id:row.id,
      //   auditStatus:this.Audit.auditStatus,
      //   auditDetail:this.Audit.auditDetail,
      // }
      // console.log(data,654321);
      updateAudit(row).then(
        () => {
          this.dialogFormVisible = false;
@@ -706,7 +713,7 @@
        },
        (error) => {
          window.console.log(error);
          loading();
           done();
        }
      );
    },
src/views/trainExam/modifiedGrades.vue
@@ -454,6 +454,7 @@
            // 表单编辑时是否为查看模式
            editDetail: false,
            width: 88,
          },
          {
@@ -473,6 +474,13 @@
            editDisplay: true,
            // 表单编辑时是否为查看模式
            editDetail: false,
            rules: [
              {
                required: true,
                message: "请输入修改后理论成绩",
                trigger: "blur",
              },
            ],
          },
          {
src/views/trainExam/performance.vue
@@ -844,6 +844,10 @@
                value: 3,
              },
              {
                label: "纸质考试",
                value: 5,
              },
              {
                label: "缺考",
                value: 4,
              },
src/views/trainExam/singleperformance.vue
@@ -402,6 +402,10 @@
                value: 3,
              },
              {
                label: "纸质考试",
                value: 5,
              },
              {
                label: "缺考",
                value: 4,
              },