diff --git a/src/layout/components/Header.vue b/src/layout/components/Header.vue
index bb96c72..97af757 100644
--- a/src/layout/components/Header.vue
+++ b/src/layout/components/Header.vue
@@ -1,6 +1,6 @@
@@ -41,12 +38,6 @@ onMounted(() => {
deptName.value = localStorage.getItem("deptId") ? JSON.parse(localStorage.getItem("deptId"))[0].deptName : ''
})
-// 路由跳转
-function goToHome() {
- router.push(`/unitInformation`);
- // window.location.href = "/";
-}
-
const active = ref("");
onMounted(() => {
//登陆用户信息
diff --git a/src/router/index.js b/src/router/index.js
index 8d59637..249512b 100644
--- a/src/router/index.js
+++ b/src/router/index.js
@@ -42,7 +42,7 @@ export const publicRoutes = [
component: () => import("@/views/login/index")
},
{
- path: "/",
+ path: "/homeMy",
name: "homeMy",
component: () => import("@/views/homeMy/index") //街面巡防
},
@@ -56,6 +56,161 @@ export const publicRoutes = [
component: layout,
redirect: "/user/department-ist",
children: [
+
+ {
+ path: "/",
+ name: "unitInformation",
+ component: () =>
+ import("@/views/securityManagement/unitInformation/index"),
+ meta: {
+ title: "单位信息",
+ icon: "personnel"
+ },
+ },
+ {
+ path: "/personnelManagement",
+ name: "personnelManagement",
+ meta: {
+ title: "人员管理",
+ icon: "personnel"
+ },
+ children: [
+ {
+ path: "/personnelManagement/practitioner",
+ name: "practitioner",
+ component: () =>
+ import("@/views/securityManagement/personnelManagement/practitioner/index"),
+ meta: {
+ title: "从业人员管理",
+ icon: "personnel"
+ },
+ },
+ {
+ path: "/personnelManagement/applicantPersonnel",
+ name: "applicantPersonnel",
+ component: () =>
+ import("@/views/securityManagement/personnelManagement/applicantPersonnel/index"),
+ meta: {
+ title: "申请人员",
+ icon: "personnel"
+ }
+ },
+ ]
+ },
+ {
+ path: "/trainingManagement",
+ name: "/trainingManagement",
+ meta: {
+ title: "培训管理",
+ icon: "personnel"
+ },
+ children: [
+ {
+ path: "/trainingManagement/trainer",
+ name: "trainer",
+ component: () =>
+ import("@/views/securityManagement/trainingManagement/trainer/index"),
+ meta: {
+ title: "培训人员",
+ icon: "personnel"
+ },
+ },
+ {
+ path: "/trainingManagement/personnelTraining",
+ name: "personnelTraining",
+ component: () =>
+ import("@/views/securityManagement/trainingManagement/personnelTraining/index"),
+ meta: {
+ title: "保安待培训人员管理",
+ icon: "personnel"
+ },
+ },
+ {
+ path: "/trainingManagement/trainingProject",
+ name: "trainingProject",
+ component: () =>
+ import("@/views/securityManagement/trainingManagement/trainingProject/index"),
+ meta: {
+ title: "保安培训项目管理",
+ icon: "personnel"
+ }
+ },
+ ]
+ },
+ {
+ path: "/examManagement",
+ name: "examManagement",
+ component: () =>
+ import("@/views/securityManagement/examManagement/index"),
+ meta: {
+ title: "保安考试管理",
+ icon: "personnel"
+ },
+ },
+ {
+ path: "/training",
+ name: "training",
+ meta: {
+ title: "培训中心",
+ icon: "personnel"
+ },
+ children: [
+ {
+ path: "/training/securityTrainingVideo",
+ name: "securityTrainingVideo",
+ component: () => import("@/views/Training/SecurityTrainingVideo/index"),
+ meta: {
+ title: "保安培训视频",
+ icon: "personnel"
+ }
+ },
+ {
+ path: "/training/securityQuestionBank",
+ name: "securityQuestionBank",
+ component: () => import("@/views/Training/SecurityQuestionBank/index"),
+ meta: {
+ title: "保安题库",
+ icon: "personnel"
+ }
+ },
+ {
+ path: "/training/securityTrainingSyllabus",
+ name: "securityTrainingSyllabus",
+ component: () => import("@/views/Training/SecurityTrainingSyllabus/index"),
+ meta: {
+ title: "保安培训教学大纲",
+ icon: "personnel"
+ }
+ },
+ {
+ path: "/training/annualInspectionTraining",
+ name: "annualInspectionTraining",
+ component: () => import("@/views/Training/AnnualInspectionTraining/index"),
+ meta: {
+ title: "年检培训",
+ icon: "personnel"
+ }
+ },
+ {
+ path: "/training/annualInspectionApplicants",
+ name: "annualInspectionApplicants",
+ component: () => import("@/views/Training/AnnualInspectionApplicants/index"),
+ meta: {
+ title: "年检申请人员",
+ icon: "personnel"
+ }
+ },
+ {
+ path: "/training/annualInspection",
+ name: "annualInspection",
+ component: () => import("@/views/Training/AnnualInspection/index"),
+ meta: {
+ title: "年检",
+ icon: "personnel"
+ }
+ },
+ ]
+ },
{
path: "/systemConfig",
name: "systemConfigModel",
@@ -305,160 +460,6 @@ export const publicRoutes = [
}
]
},
- {
- path: "/unitInformation",
- name: "unitInformation",
- component: () =>
- import("@/views/securityManagement/unitInformation/index"),
- meta: {
- title: "单位信息",
- icon: "personnel"
- },
- },
- {
- path: "/personnelManagement",
- name: "personnelManagement",
- meta: {
- title: "人员管理",
- icon: "personnel"
- },
- children: [
- {
- path: "/personnelManagement/practitioner",
- name: "practitioner",
- component: () =>
- import("@/views/securityManagement/personnelManagement/practitioner/index"),
- meta: {
- title: "从业人员管理",
- icon: "personnel"
- },
- },
- {
- path: "/personnelManagement/applicantPersonnel",
- name: "applicantPersonnel",
- component: () =>
- import("@/views/securityManagement/personnelManagement/applicantPersonnel/index"),
- meta: {
- title: "申请人员",
- icon: "personnel"
- }
- },
- ]
- },
- {
- path: "/trainingManagement",
- name: "/trainingManagement",
- meta: {
- title: "培训管理",
- icon: "personnel"
- },
- children: [
- {
- path: "/trainingManagement/trainer",
- name: "trainer",
- component: () =>
- import("@/views/securityManagement/trainingManagement/trainer/index"),
- meta: {
- title: "培训人员",
- icon: "personnel"
- },
- },
- {
- path: "/trainingManagement/personnelTraining",
- name: "personnelTraining",
- component: () =>
- import("@/views/securityManagement/trainingManagement/personnelTraining/index"),
- meta: {
- title: "保安待培训人员管理",
- icon: "personnel"
- },
- },
- {
- path: "/trainingManagement/trainingProject",
- name: "trainingProject",
- component: () =>
- import("@/views/securityManagement/trainingManagement/trainingProject/index"),
- meta: {
- title: "保安培训项目管理",
- icon: "personnel"
- }
- },
- ]
- },
- {
- path: "/examManagement",
- name: "examManagement",
- component: () =>
- import("@/views/securityManagement/examManagement/index"),
- meta: {
- title: "保安考试管理",
- icon: "personnel"
- },
- },
- {
- path: "/training",
- name: "training",
- meta: {
- title: "培训中心",
- icon: "personnel"
- },
- children: [
- {
- path: "/training/securityTrainingVideo",
- name: "securityTrainingVideo",
- component: () => import("@/views/Training/SecurityTrainingVideo/index"),
- meta: {
- title: "保安培训视频",
- icon: "personnel"
- }
- },
- {
- path: "/training/securityQuestionBank",
- name: "securityQuestionBank",
- component: () => import("@/views/Training/SecurityQuestionBank/index"),
- meta: {
- title: "保安题库",
- icon: "personnel"
- }
- },
- {
- path: "/training/securityTrainingSyllabus",
- name: "securityTrainingSyllabus",
- component: () => import("@/views/Training/SecurityTrainingSyllabus/index"),
- meta: {
- title: "保安培训教学大纲",
- icon: "personnel"
- }
- },
- {
- path: "/training/annualInspectionTraining",
- name: "annualInspectionTraining",
- component: () => import("@/views/Training/AnnualInspectionTraining/index"),
- meta: {
- title: "年检培训",
- icon: "personnel"
- }
- },
- {
- path: "/training/annualInspectionApplicants",
- name: "annualInspectionApplicants",
- component: () => import("@/views/Training/AnnualInspectionApplicants/index"),
- meta: {
- title: "年检申请人员",
- icon: "personnel"
- }
- },
- {
- path: "/training/annualInspection",
- name: "annualInspection",
- component: () => import("@/views/Training/AnnualInspection/index"),
- meta: {
- title: "年检",
- icon: "personnel"
- }
- },
- ]
- }
// {
// path: "/basicsmanage",
// name: "/basicsmanage",
diff --git a/src/views/Training/SecurityQuestionBank/components/detailForm.vue b/src/views/Training/SecurityQuestionBank/components/detailForm.vue
index 5be5d6d..e62704f 100644
--- a/src/views/Training/SecurityQuestionBank/components/detailForm.vue
+++ b/src/views/Training/SecurityQuestionBank/components/detailForm.vue
@@ -3,79 +3,131 @@
保安题库{{ title }}
- 保存
+ 保存
关闭
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/views/securityManagement/personnelManagement/applicantPersonnel/index.vue b/src/views/securityManagement/personnelManagement/applicantPersonnel/index.vue
index fcc830a..c1ed401 100644
--- a/src/views/securityManagement/personnelManagement/applicantPersonnel/index.vue
+++ b/src/views/securityManagement/personnelManagement/applicantPersonnel/index.vue
@@ -13,14 +13,17 @@
- {{ row?.pxgs === '01' ? `是` : `否` }}
+ {{ row?.ryzpzm && row?.ryzpfm && row?.tjbg && row?.wfzzmjl ? `是` : `否` }}
{{ row?.sfpx === '01' ? `否` : `是` }}
+
+
+
- 上传资料
+ 上传资料
删除
详情
提交培训公司
@@ -35,7 +38,6 @@
-
@@ -47,16 +49,14 @@ import Search from '@/components/aboutTable/Search.vue';
import { qcckGet, qcckPost, qcckDelete } from "@/api/qcckApi.js";
import PageTitle from "@/components/aboutTable/PageTitle.vue";
import AddTrainerDialog from "./components/addTrainerDialog.vue";
-import UploadDataDialog from "./components/uploadDataDialog.vue";
import selectTtaningDialog from "./components/selectTtaningDialog.vue";
const { proxy } = getCurrentInstance();
+const { D_BAXX_GWLX } = proxy.$dict("D_BAXX_GWLX")
const trainerRef = ref(null);
const selectTtaningRef = ref(null);
-const uploadDataRef = ref(null);
const queryFrom = ref({});
const isVisible = ref(false);
-const uploadVisible = ref(false);
const dialogVisible = ref(false);
const searchBox = ref(null);
const searchConfiger = ref([
@@ -98,7 +98,7 @@ const pageData = reactive({
{ label: "姓名", prop: "xm" },
{ label: "证件号码", prop: "zjhm" },
{ label: "联系方式", prop: "lxdh" },
- { label: "岗位", prop: "gw" },
+ { label: "岗位", prop: "gw", showSolt: true },
{ label: "申请时间", prop: "xtCjsj" },
{ label: "是否上传资料", prop: "pxgs", showSolt: true },
{ label: "是否线上培训", prop: "sfpx", showSolt: true },
@@ -117,8 +117,6 @@ const tabHeightFn = () => {
const addEdit = (type, row) => {
if (type === 'select') {
selectTtaningRef.value.open(row, type);
- } else if (type === 'upload') {
- uploadDataRef.value.open(row, type);
} else {
trainerRef.value.open(row, type);
}
@@ -151,7 +149,7 @@ const handleDelete = async (ids) => {
await proxy.$modal.confirm("是否确认删除该培训人员?")
try {
- await qcckPost({ ids }, `/mosty-base/baxx/basq/remove`)
+ await qcckPost({ idList: ids }, `/mosty-base/baxx/basq/remove`)
proxy.$modal.msgSuccess("删除成功");
await getList();
} catch (error) {
diff --git a/src/views/securityManagement/personnelManagement/practitioner/components/addPractitionerDialog.vue b/src/views/securityManagement/personnelManagement/practitioner/components/addPractitionerDialog.vue
index 46a0c74..eadd662 100644
--- a/src/views/securityManagement/personnelManagement/practitioner/components/addPractitionerDialog.vue
+++ b/src/views/securityManagement/personnelManagement/practitioner/components/addPractitionerDialog.vue
@@ -23,7 +23,7 @@ import { qcckPost } from "@/api/qcckApi.js";
import FormMessage from '@/components/aboutTable/FormMessage.vue'
const { proxy } = getCurrentInstance()
-const { D_BZ_WHCD } = proxy.$dict("D_BZ_WHCD");
+const { D_BZ_WHCD, D_BAXX_GWLX } = proxy.$dict("D_BZ_WHCD", "D_BAXX_GWLX");
const title = ref('新增从业人员')
const loading = ref(false)
const disabled = ref(false)
@@ -64,7 +64,7 @@ const formList = reactive([
{ label: "资格证类型", prop: "zgzlx", type: "input" },
{ label: "资格证起始日期", prop: "zgzKssj", type: "date" },
{ label: "资格证截至日期", prop: "zgzJssj", type: "date" },
- { label: "岗位", prop: "gw", type: "input" },
+ { label: "岗位", prop: "gw", type: "select", options: D_BAXX_GWLX },
],
[
{ label: "外派单位", prop: "wpdw", type: "input" },
diff --git a/src/views/securityManagement/personnelManagement/practitioner/index.vue b/src/views/securityManagement/personnelManagement/practitioner/index.vue
index 3b2254f..9db36c9 100644
--- a/src/views/securityManagement/personnelManagement/practitioner/index.vue
+++ b/src/views/securityManagement/personnelManagement/practitioner/index.vue
@@ -13,7 +13,10 @@
-
+
+
+
+
@@ -43,7 +46,7 @@ import { qcckGet, qcckPost, qcckDelete } from "@/api/qcckApi.js";
import AddPractitionerDialog from "./components/addPractitionerDialog.vue";
const { proxy } = getCurrentInstance();
-const { D_BZ_SF } = proxy.$dict("D_BZ_SF");
+const { D_BZ_SF, D_BAXX_GWLX } = proxy.$dict("D_BZ_SF", "D_BAXX_GWLX");
const addPractitionerRef = ref(null);
const queryFrom = ref({});
const isVisible = ref(false);
@@ -94,7 +97,7 @@ const pageData = reactive({
{ label: "姓名", prop: "xm" },
{ label: "证件号码", prop: "sfzh" },
{ label: "联系方式", prop: "lxdh" },
- { label: "岗位", prop: "gw" },
+ { label: "岗位", prop: "gw", showSolt: true },
{ label: "入职时间", prop: "rzsj" },
{ label: "外派单位", prop: "wpdw", },
{ label: "是否在职", prop: "sflz", showSolt: true },
@@ -138,7 +141,7 @@ const handleDelete = async (ids) => {
await proxy.$modal.confirm("是否确认删除该从业人员?")
try {
- await qcckPost({ ids }, "/mosty-base/baxx/cyry/remove")
+ await qcckPost({ idList: ids }, "/mosty-base/baxx/cyry/remove")
proxy.$modal.msgSuccess("删除成功");
getList();
} catch (error) {
@@ -155,7 +158,8 @@ const getList = async () => {
}, `/mosty-base/baxx/cyry/page`)
if(res) {
- pageData.tableData = res.records || [];
+ // 处理sflz为null默认为0
+ pageData.tableData = res.records?.map(i => ({ ...i, newSflz: i?.sflz === null ? 0 : i.sflz })) || [];
pageData.total = res.total;
}
} finally {
diff --git a/src/views/securityManagement/trainingManagement/personnelTraining/components/viewInfoDialog.vue b/src/views/securityManagement/trainingManagement/personnelTraining/components/viewInfoDialog.vue
index 221623d..0de551d 100644
--- a/src/views/securityManagement/trainingManagement/personnelTraining/components/viewInfoDialog.vue
+++ b/src/views/securityManagement/trainingManagement/personnelTraining/components/viewInfoDialog.vue
@@ -12,7 +12,9 @@
{{ formData.xm }}
{{ formData.sfzh }}
{{ formData.lxdh }}
- {{ formData.ssbags }}
+
+
+
{{ formData.pxsc }}
{{ formData.tjrq }}
@@ -25,6 +27,8 @@ import { ref, computed, getCurrentInstance } from 'vue'
import { qcckPost } from "@/api/qcckApi.js";
const { proxy } = getCurrentInstance()
+const { D_BAXX_DWLX } = proxy.$dict("D_BAXX_DWLX")
+
const title = ref('保安考试申请')
const loading = ref(false)
const disabled = ref(false)
@@ -35,10 +39,6 @@ const props = defineProps({
type: Boolean,
default: false
},
- dic: {
- type: Object,
- default: () => ({})
- }
})
const emits = defineEmits(['update:modelValue'])
diff --git a/src/views/securityManagement/trainingManagement/personnelTraining/index.vue b/src/views/securityManagement/trainingManagement/personnelTraining/index.vue
index 51672a6..9d4c29e 100644
--- a/src/views/securityManagement/trainingManagement/personnelTraining/index.vue
+++ b/src/views/securityManagement/trainingManagement/personnelTraining/index.vue
@@ -11,8 +11,8 @@
-
-
+
+
@@ -49,7 +49,6 @@ const trainerRef = ref(null);
const queryFrom = ref({});
const isVisible = ref(false);
const searchBox = ref(null);
-const D_BZ_BXDLX = ref([]);
const searchConfiger = ref([
{
label: "姓名",
@@ -127,7 +126,7 @@ const handleDelete = async (ids) => {
await proxy.$modal.confirm("是否确认删除该培训人员?")
try {
- await qcckPost({ ids }, "/mosty-base/baxx/pxry/remove")
+ await qcckPost({ idList: ids }, "/mosty-base/baxx/pxry/remove")
proxy.$modal.msgSuccess("删除成功");
await getList();
} catch (error) {
diff --git a/src/views/securityManagement/trainingManagement/trainer/components/addTrainerDialog.vue b/src/views/securityManagement/trainingManagement/trainer/components/addTrainerDialog.vue
index fb4a82d..16483df 100644
--- a/src/views/securityManagement/trainingManagement/trainer/components/addTrainerDialog.vue
+++ b/src/views/securityManagement/trainingManagement/trainer/components/addTrainerDialog.vue
@@ -25,6 +25,8 @@ import { qcckPost } from "@/api/qcckApi.js";
import FormMessage from '@/components/aboutTable/FormMessage.vue'
const { proxy } = getCurrentInstance()
+const { D_BAXX_GWLX, D_BAXX_DWLX } = proxy.$dict("D_BAXX_GWLX", "D_BAXX_DWLX")
+
const title = ref('新增培训人员')
const loading = ref(false)
const disabled = ref(false)
@@ -61,10 +63,10 @@ const formList = reactive([
[
{ label: "居住地址", prop: "jzdz", type: "input" },
{ label: "申请时间", prop: "sqsj", type: "date" },
- { label: "岗位", prop: "gw", type: "select" },
+ { label: "岗位", prop: "gw", type: "select", options: D_BAXX_GWLX },
],
[
- { label: "所属保安公司", prop: "ssbags", type: "select" },
+ { label: "所属保安公司", prop: "ssbags", type: "select", options: D_BAXX_DWLX },
],
[
{ label: "身份证正面", prop: "ryzpzm", type: "upload", limit: 1 },
diff --git a/src/views/securityManagement/trainingManagement/trainer/index.vue b/src/views/securityManagement/trainingManagement/trainer/index.vue
index eb85710..e74d1ba 100644
--- a/src/views/securityManagement/trainingManagement/trainer/index.vue
+++ b/src/views/securityManagement/trainingManagement/trainer/index.vue
@@ -12,8 +12,11 @@
-
-
+
+
+
+
+
@@ -42,11 +45,12 @@ import PageTitle from "@/components/aboutTable/PageTitle.vue";
import AddTrainerDialog from "./components/addTrainerDialog.vue";
const { proxy } = getCurrentInstance()
+const { D_BAXX_GWLX, D_BAXX_DWLX } = proxy.$dict("D_BAXX_GWLX", "D_BAXX_DWLX")
+
const trainerRef = ref(null);
const queryFrom = ref({});
const isVisible = ref(false);
const searchBox = ref(null);
-const D_BZ_BXDLX = ref([]);
const searchConfiger = ref([
{
label: "人员姓名",
@@ -86,8 +90,8 @@ const pageData = reactive({
{ label: "姓名", prop: "xm" },
{ label: "证件号码", prop: "sfzh" },
{ label: "联系方式", prop: "lxdh" },
- { label: "岗位", prop: "gw" },
- { label: "所属保安公司", prop: "ssbags" },
+ { label: "岗位", prop: "gw", showSolt: true },
+ { label: "所属保安公司", prop: "ssbags", showSolt: true },
]
});
@@ -132,7 +136,7 @@ const handleDelete = async (ids) => {
await proxy.$modal.confirm("是否确认删除该培训人员?")
try {
- await qcckPost({ ids }, "/mosty-base/baxx/pxry/remove")
+ await qcckPost({ idList: ids }, "/mosty-base/baxx/pxry/remove")
proxy.$modal.msgSuccess("删除成功");
await getList();
} catch (error) {
diff --git a/src/views/securityManagement/trainingManagement/trainingProject/index.vue b/src/views/securityManagement/trainingManagement/trainingProject/index.vue
index f6cb7be..9eabbc1 100644
--- a/src/views/securityManagement/trainingManagement/trainingProject/index.vue
+++ b/src/views/securityManagement/trainingManagement/trainingProject/index.vue
@@ -12,8 +12,8 @@
-
-
+
+
@@ -35,7 +35,7 @@