- {{ formData.xm }}
- {{ formData.sfzh }}
- {{ formData.lxdh }}
- {{ formData.jzdz }}
- {{ formData.rzsj }}
- {{ formData.ssbmdm }}
+ {{ formData.xmmc }}
+ {{ formData.kssj }}
+ {{ formData.ksxq }}
+ {{ formData.ksdz }}
+ {{ formData.jkmj }}
+ {{ formData.ksfs }}
diff --git a/src/views/securityManagement/examManagement/index.vue b/src/views/securityManagement/examManagement/index.vue
index abc83c8..f82ebce 100644
--- a/src/views/securityManagement/examManagement/index.vue
+++ b/src/views/securityManagement/examManagement/index.vue
@@ -48,13 +48,13 @@ const D_BZ_BXDLX = ref([]);
const searchConfiger = ref([
{
label: "培训项目名称",
- prop: "xm",
+ prop: "xmmc",
placeholder: "请输入培训项目名称",
showType: "input"
},
{
label: "考试时间",
- prop: "sfzh",
+ prop: "kssj",
placeholder: "请选择考试时间",
showType: "date"
},
@@ -75,11 +75,11 @@ const pageData = reactive({
},
controlsWidth: 180,
tableColumn: [
- { label: "培训项目名称", prop: "xm" },
- { label: "考试时间", prop: "sfzh" },
- { label: "监考民警", prop: "sfzh" },
- { label: "考试地址", prop: "sfzh" },
- { label: "考试方式", prop: "lxdh" },
+ { label: "培训项目名称", prop: "xmmc" },
+ { label: "考试时间", prop: "kssj" },
+ { label: "监考民警", prop: "jkmj" },
+ { label: "考试地址", prop: "ksdz" },
+ { label: "考试方式", prop: "ksfs" },
]
});
@@ -108,7 +108,7 @@ const getList = async () => {
const res = await qcckPost({
...pageData.pageConfiger,
...queryFrom.value
- }, `/mosty-base/baxx/pxry/page`)
+ }, `/mosty-base/baxx/ksgl/page`)
if(res) {
pageData.tableData = res.records || [];
diff --git a/src/views/securityManagement/personnelManagement/applicantPersonnel/components/addTrainerDialog.vue b/src/views/securityManagement/personnelManagement/applicantPersonnel/components/addTrainerDialog.vue
index bb8cd4e..cb615ed 100644
--- a/src/views/securityManagement/personnelManagement/applicantPersonnel/components/addTrainerDialog.vue
+++ b/src/views/securityManagement/personnelManagement/applicantPersonnel/components/addTrainerDialog.vue
@@ -55,32 +55,66 @@ const dialogVisible = computed({
const formList = reactive([
[
{ label: "姓名", prop: "xm", type: "input" },
- { label: "证件号码", prop: "sfzh", type: "input"},
+ { label: "证件号码", prop: "zjhm", type: "input"},
{ label: "联系电话", prop: "lxdh", type: "input" },
],
[
{ label: "居住地址", prop: "jzdz", type: "input" },
- { label: "申请时间", prop: "rzsj", type: "date" },
- { label: "岗位", prop: "ssbmdm", type: "select" },
+ { label: "申请时间", prop: "xtCjsj", type: "date" },
+ { label: "岗位", prop: "gw", type: "input" },
],
[
- { label: "身份证正反面", prop: "ssbmdm", type: "upload", limit: 2 },
+ { label: "身份证正面", prop: "ryzpzm", type: "upload", limit: 1 },
+ { label: "身份证反面", prop: "ryzpfm", type: "upload", limit: 1 },
],
[
- { label: "体检报告", prop: "ssbmdm", type: "upload", limit: 1 },
+ { label: "体检报告", prop: "", type: "upload", limit: 1 },
],
[
- { label: "无犯罪记录证明", prop: "ssbmdm", type: "upload", limit: 1 },
+ { label: "无犯罪记录证明", prop: "wfzzmjl", type: "upload", limit: 1 },
]
])
const rules = {
xm: [{ required: true, message: "请输入姓名", trigger: "change" }],
- sfzh: [{ required: true, message: "请输入证件号码", trigger: "change" }],
- lxdh: [{ required: true, message: "请输入联系电话", trigger: "change" }],
+ zjhm: [
+ { required: true, message: "请输入证件号码", trigger: "change" },
+ {
+ validator: (rule, value, callback) => {
+ if (!value) {
+ callback()
+ } else {
+ const reg = /^(\d{15}|\d{17}[\dXx])$/;
+ if (!reg.test(value)) {
+ callback(new Error("请输入正确的身份证号码"))
+ } else {
+ callback()
+ }
+ }
+ }
+ }
+ ],
+ lxdh: [
+ { required: true, message: "请输入联系电话", trigger: "change" },
+ {
+ validator: (rule, value, callback) => {
+ if (!value) {
+ callback()
+ } else {
+ const reg = /^1[34578]\d{9}$/
+ if (!reg.test(value)) {
+ callback(new Error("请输入正确的手机号"))
+ } else {
+ callback()
+ }
+ }
+ }
+ }
+ ],
jzdz: [{ required: true, message: "请输入居住地址", trigger: "change" }],
rzsj: [{ required: true, message: "请选择入职时间", trigger: "change" }],
pxgs: [{ required: true, message: "请选择所属保安公司", trigger: "change" }],
+ gw: [{ required: true, message: "请输入岗位", trigger: "change" }],
}
const formData = ref({})
@@ -103,10 +137,11 @@ const open = (row = {}, type = 'add') => {
}
}
+// 新增、编辑
const save = () => {
FormRef.value.submit(() => {
loading.value = true;
- const url = !formData.value?.id ? `/mosty-base/baxx/cyry/add` : `/mosty-base/baxx/cyry/edit`;
+ const url = !formData.value?.id ? `/mosty-base/baxx/basq/add` : `/mosty-base/baxx/basq/edit`;
qcckPost(formData.value, url).then(() => {
loading.value = false;
proxy.$message.success("保存成功");
diff --git a/src/views/securityManagement/personnelManagement/applicantPersonnel/index.vue b/src/views/securityManagement/personnelManagement/applicantPersonnel/index.vue
index bd0fe38..14b853e 100644
--- a/src/views/securityManagement/personnelManagement/applicantPersonnel/index.vue
+++ b/src/views/securityManagement/personnelManagement/applicantPersonnel/index.vue
@@ -1,7 +1,7 @@
@@ -12,12 +12,12 @@
-
-
+
+ {{ row?.sfpx === '01' ? `否` : `是` }}
- 上传资料
+ 上传资料
删除
详情
提交培训公司
@@ -36,7 +36,7 @@
diff --git a/src/views/securityManagement/personnelManagement/practitioner/components/addPractitionerDialog.vue b/src/views/securityManagement/personnelManagement/practitioner/components/addPractitionerDialog.vue
index 534ab7a..9304900 100644
--- a/src/views/securityManagement/personnelManagement/practitioner/components/addPractitionerDialog.vue
+++ b/src/views/securityManagement/personnelManagement/practitioner/components/addPractitionerDialog.vue
@@ -9,11 +9,9 @@
-
+
+
+
@@ -25,6 +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 title = ref('新增从业人员')
const loading = ref(false)
const disabled = ref(false)
@@ -35,10 +34,6 @@ const props = defineProps({
type: Boolean,
default: false
},
- dic: {
- type: Object,
- default: () => ({})
- }
})
const emits = defineEmits(['update:modelValue'])
@@ -61,39 +56,74 @@ const formList = reactive([
],
[
{ label: "入职时间", prop: "rzsj", type: "date" },
- { label: "离职时间", prop: "lzsj", type: "input" },
- { label: "文化程度", prop: "ssbmdm", type: "select" },
+ { label: "离职时间", prop: "lzsj", type: "slot" },
+ { label: "文化程度", prop: "whcd", type: "select", options: D_BZ_WHCD },
{ label: "资格证编号", prop: "zgzbh", type: "input" },
],
[
{ label: "资格证类型", prop: "zgzlx", type: "input" },
{ label: "资格证起始日期", prop: "zgzKssj", type: "date" },
{ label: "资格证截至日期", prop: "zgzJssj", type: "date" },
- { label: "岗位", prop: "ssbmdm", type: "input" },
+ { label: "岗位", prop: "gw", type: "input" },
],
[
- { label: "外派单位", prop: "ssbmdm", type: "input" },
+ { label: "外派单位", prop: "wpdw", type: "input" },
],
- { label: "从业人员照片", prop: "ssbmdm", type: "upload" },
+ { label: "从业人员照片", prop: "", type: "upload", limit: 2 },
{ label: "保安证件", prop: "bazzp", type: "upload", limit: 1 },
])
const rules = {
xm: [{ required: true, message: "请输入姓名", trigger: "change" }],
- sfzh: [{ required: true, message: "请输入证件号码", trigger: "change" }],
- lxdh: [{ required: true, message: "请输入联系电话", trigger: "change" }],
+ sfzh: [
+ { required: true, message: "请输入证件号码", trigger: "change" },
+ {
+ validator: (rule, value, callback) => {
+ if (!value) {
+ callback()
+ } else {
+ const reg = /^(\d{15}|\d{17}[\dXx])$/;
+ if (!reg.test(value)) {
+ callback(new Error("请输入正确的身份证号码"))
+ } else {
+ callback()
+ }
+ }
+ }
+ }
+ ],
+ lxdh: [
+ { required: true, message: "请输入联系电话", trigger: "change" },
+ {
+ validator: (rule, value, callback) => {
+ if (!value) {
+ callback()
+ } else {
+ const reg = /^1[34578]\d{9}$/
+ if (!reg.test(value)) {
+ callback(new Error("请输入正确的手机号"))
+ } else {
+ callback()
+ }
+ }
+ }
+ }
+ ],
jzdz: [{ required: true, message: "请输入居住地址", trigger: "change" }],
rzsj: [{ required: true, message: "请选择入职时间", trigger: "change" }],
zgzbh: [{ required: true, message: "请输入资格证编号", trigger: "change" }],
-
+ gw: [{ required: true, message: "请输入岗位", trigger: "change" }],
+ wpdw: [{ required: true, message: "请输入外派单位", trigger: "change" }],
zgzlx: [{ required: true, message: "请输入资格证类型", trigger: "change" }],
zgzKssj: [{ required: true, message: "请选择资格证起始日期", trigger: "change" }],
zgzJssj: [{ required: true, message: "请选择资格证截至日期", trigger: "blur" }],
+ whcd: [{ required: true, message: "请选择文化程度", trigger: "change" }],
}
const formData = ref({})
const close = () => {
+ FormRef.value?.reset();
dialogVisible.value = false
}
diff --git a/src/views/securityManagement/personnelManagement/practitioner/index.vue b/src/views/securityManagement/personnelManagement/practitioner/index.vue
index 4e35b2f..3b2254f 100644
--- a/src/views/securityManagement/personnelManagement/practitioner/index.vue
+++ b/src/views/securityManagement/personnelManagement/practitioner/index.vue
@@ -12,18 +12,15 @@
-
-
-
-
- {{ row.bxds?.length }}
+
+
编辑
删除
详情
- 离职
+ 离职
{
getList();
}
+// 离职
+const handleResignation = async ({ xm = '', id = "" }) => {
+ await proxy.$modal.confirm(`是否确认处理${xm}离职吗?`)
+
+ try {
+ await qcckPost({ id, sflz: 1 }, "/mosty-base/baxx/cyry/szlzzt")
+ proxy.$modal.msgSuccess("离职成功");
+ await getList();
+ } catch (error) {
+ console.log(error)
+ }
+}
+
+// 删除
+const handleDelete = async (ids) => {
+ await proxy.$modal.confirm("是否确认删除该从业人员?")
+
+ try {
+ await qcckPost({ ids }, "/mosty-base/baxx/cyry/remove")
+ proxy.$modal.msgSuccess("删除成功");
+ getList();
+ } catch (error) {
+ console.log(error)
+ }
+};
+
const getList = async () => {
try {
pageData.tableConfiger.loading = true;
diff --git a/src/views/securityManagement/trainingManagement/personnelTraining/components/viewInfoDialog.vue b/src/views/securityManagement/trainingManagement/personnelTraining/components/viewInfoDialog.vue
index 727660a..11f94a5 100644
--- a/src/views/securityManagement/trainingManagement/personnelTraining/components/viewInfoDialog.vue
+++ b/src/views/securityManagement/trainingManagement/personnelTraining/components/viewInfoDialog.vue
@@ -12,9 +12,9 @@
{{ formData.xm }}
{{ formData.sfzh }}
{{ formData.lxdh }}
- {{ formData.jzdz }}
- {{ formData.rzsj }}
- {{ formData.ssbmdm }}
+
+ {{ formData.pxsc }}
+
diff --git a/src/views/securityManagement/trainingManagement/personnelTraining/index.vue b/src/views/securityManagement/trainingManagement/personnelTraining/index.vue
index 9f99b98..af02c60 100644
--- a/src/views/securityManagement/trainingManagement/personnelTraining/index.vue
+++ b/src/views/securityManagement/trainingManagement/personnelTraining/index.vue
@@ -59,13 +59,13 @@ const searchConfiger = ref([
},
{
label: "所属保安公司",
- prop: "sfzh",
+ prop: "",
placeholder: "请选择所属保安公司",
showType: "select"
},
{
label: "提交日期",
- prop: "sfzh",
+ prop: "",
placeholder: "请选择提交日期",
showType: "date"
}
@@ -81,6 +81,7 @@ const pageData = reactive({
},
total: 0,
pageConfiger: {
+ sfcjpx: 0, // 是否参加培训
pageSize: 10,
pageCurrent: 1
},
@@ -89,9 +90,9 @@ const pageData = reactive({
{ label: "姓名", prop: "xm" },
{ label: "身份证号", prop: "sfzh" },
{ label: "联系方式", prop: "lxdh" },
- { label: "所属保安公司", prop: "pxgs" },
- { label: "线上培训时长", prop: "pxgs" },
- { label: "提交日期", prop: "pxgs" },
+ { label: "所属保安公司", prop: "" },
+ { label: "线上培训时长", prop: "pxsc" },
+ { label: "提交日期", prop: "" },
]
});
@@ -114,6 +115,20 @@ const onSearch = (value) => {
getList();
}
+// 删除
+const handleDelete = async (ids) => {
+ await proxy.$modal.confirm("是否确认删除该培训人员?")
+
+ try {
+ await qcckPost({ ids }, "/mosty-base/baxx/pxry/remove")
+ proxy.$modal.msgSuccess("删除成功");
+ await getList();
+ } catch (error) {
+ proxy.$modal.msgError("删除失败");
+ console.log(error)
+ }
+};
+
const getList = async () => {
try {
pageData.tableConfiger.loading = true;
diff --git a/src/views/securityManagement/trainingManagement/trainer/components/addTrainerDialog.vue b/src/views/securityManagement/trainingManagement/trainer/components/addTrainerDialog.vue
index a7bc065..f7f983f 100644
--- a/src/views/securityManagement/trainingManagement/trainer/components/addTrainerDialog.vue
+++ b/src/views/securityManagement/trainingManagement/trainer/components/addTrainerDialog.vue
@@ -59,21 +59,21 @@ const formList = reactive([
{ label: "联系电话", prop: "lxdh", type: "input" },
],
[
- { label: "居住地址", prop: "jzdz", type: "input" },
- { label: "申请时间", prop: "rzsj", type: "date" },
- { label: "岗位", prop: "ssbmdm", type: "select" },
+ { label: "居住地址", prop: "", type: "input" },
+ { label: "申请时间", prop: "", type: "date" },
+ { label: "岗位", prop: "", type: "select" },
],
[
- { label: "所属保安公司", prop: "pxgs", type: "select" },
+ { label: "所属保安公司", prop: "", type: "select" },
],
[
- { label: "身份证正反面", prop: "ssbmdm", type: "upload", limit: 2 },
+ { label: "身份证正反面", prop: "", type: "upload", limit: 2 },
],
[
- { label: "体检报告", prop: "ssbmdm", type: "upload", limit: 1 },
+ { label: "体检报告", prop: "", type: "upload", limit: 1 },
],
[
- { label: "无犯罪记录证明", prop: "ssbmdm", type: "upload", limit: 1 },
+ { label: "无犯罪记录证明", prop: "", type: "upload", limit: 1 },
]
])
diff --git a/src/views/securityManagement/trainingManagement/trainer/index.vue b/src/views/securityManagement/trainingManagement/trainer/index.vue
index e0a3bc5..fbee0b1 100644
--- a/src/views/securityManagement/trainingManagement/trainer/index.vue
+++ b/src/views/securityManagement/trainingManagement/trainer/index.vue
@@ -1,8 +1,8 @@