This commit is contained in:
lcw
2026-01-13 22:17:31 +08:00
parent fab9c4f9fc
commit 81d81d8454
75 changed files with 159 additions and 82 deletions

BIN
ab/ab.zip

Binary file not shown.

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@ -119,7 +119,7 @@ export const zlZqtjxx = (data) => {
//文件下载
export function downFiles(id) {
return request({
url: `/mosty-api/mosty-base/minio/file/download/${id}`,
url: `/bagl/mosty-base/minio/file/download/${id}`,
method: "get"
})
}
}

View File

@ -160,7 +160,7 @@ const handleNum = (val) => {
};
watch(() => props.modelValue, (newVal) => {
listQuery.value = newVal; //赋值
listQuery.value = newVal || {}; //赋值,确保 newVal 为 undefined 时设置为空对象
}, { immediate: true, deep: true });
watch(() => listQuery.value, (newVal) => {

View File

@ -6,7 +6,7 @@ import {
removeAllItem
} from "@/utils/storage";
// 白名单
const whiteList = ['/login', '/', '/oatuh_login', '/sso_redirect', '/editPassword', '/404', '/401']
const whiteList = ['/login','/', '/oatuh_login', '/sso_redirect', '/editPassword', '/404', '/401']
/**
* 路由前置守卫
* to 去哪里

View File

@ -35,6 +35,7 @@
<!-- 详情 -->
<DetailForm ref="detailDiloag" @refresh="getList" />
</div>
<VideoDisplay v-model="showVideoDisplay" :videoTitle="videoTitle" :listQuery="videoDisplayData"/>
</template>
@ -75,7 +76,7 @@ const pageData = reactive({
pageSize: 20,
pageCurrent: 1
},
controlsWidth: 180,
controlsWidth: 240,
tableColumn: [
{ label: "视频标题", prop: "spbt" },
]

View File

@ -8,7 +8,8 @@
</div>
</div>
<div class="cntinfo">
<FormMessage ref="FormRef" :disabled="disabled" v-model="formData" :rules="rules" :formList="formList" :labelWidth='120'>
<FormMessage ref="FormRef" :disabled="disabled" v-model="formData" :rules="rules" :formList="formList"
:labelWidth='120'>
<template #pxgs>
<el-input v-model="formData.pxgs" @click="selectPxgs" readonly placeholder="请选择培训公司"></el-input>
</template>
@ -24,12 +25,13 @@
<script setup>
import ChooseCompany from './chooseCompany.vue'
import { ref, reactive, getCurrentInstance } from 'vue'
import { ref, reactive, getCurrentInstance, watch,onMounted } from 'vue'
import { qcckPost } from "@/api/qcckApi.js";
import FormMessage from '@/components/aboutTable/FormMessage.vue'
import { getItem } from '@/utils/storage'
import * as rule from "@/utils/rules.js";
const { proxy } = getCurrentInstance()
const { D_BZ_WHCD, D_BAXX_GWLX } = proxy.$dict("D_BZ_WHCD", "D_BAXX_GWLX");
const { D_BAXX_GWLX, B_BZ_ZYLB, D_BAXX_SSHY, D_BAXX_DWLX } = proxy.$dict("D_BAXX_GWLX", "B_BZ_ZYLB", "D_BAXX_SSHY", "D_BAXX_DWLX");
const title = ref('新增从业人员')
const loading = ref(false)
const disabled = ref(false)
@ -42,40 +44,94 @@ const props = defineProps({
},
})
const emits = defineEmits(['update:modelValue', 'refresh'])
const companyList = ref([])
// 获取我的公司
const myCompany = () => {
const cjrsfzh = getItem("userInfo")
const params = { cjrsfzh: cjrsfzh.sfzh }
qcckPost(params, "/mosty-base/baxx/baba/list").then(res => {
companyList.value = res.map(item => {
return {
zdmc: item.dwmc,
dm: item.csdm
}
}) || [];
});
}
onMounted(() => {
myCompany()
})
const dicDefault = {
B_BZ_BAZGZ: [
{ zdmc: "保安员上岗证", value: "01" },
{ zdmc: "保安员职业资格证", value: "02" },
],
// 职业类别
B_BZ_ZYLB: [
{ zdmc: "国家机关", value: "01" },
{ zdmc: "党群组织", value: "02" },
{ zdmc: "事业单位负责人", value: "03" },
{ zdmc: "专业技术人员", value: "04" },
{ zdmc: "办事人员和有关人员", value: "05" },
{ zdmc: "商业、服务业人员", value: "06" },
{ zdmc: "农、林、牧、渔、水利业生产人员", value: "07" },
{ zdmc: "生产、运输设备操作人员及有关人员", value: "08" },
{ zdmc: "军人", value: "09" },
{ zdmc: "其他从业人员 ", value: "10" },
]
}
const pxgsidList = ref([])
const dialogVisible = ref(false)
const formList = reactive([
[
{ label: "单位名称", prop: "code", type: "select", options: companyList.value },
{ label: "姓名", prop: "xm", type: "input" },
{ label: "证件号码", prop: "sfzh", type: "input"},
{ label: "证件号码", prop: "sfzh", type: "input" },
{ label: "联系电话", prop: "lxdh", type: "input" },
],
[
{ label: "居住地址", prop: "jzdz", type: "input" },
],
[
{ label: "职业类别", prop: "zydm", type: "select", options: dicDefault.B_BZ_ZYLB },
{ label: "入职时间", prop: "rzsj", type: "date" },
{ 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: "sshy", type: "select", options: D_BAXX_SSHY },
{ label: "岗位", prop: "gw", type: "select", options: D_BAXX_GWLX },
],
{ label: "单位类型", prop: "dwlx", type: "select", options: D_BAXX_DWLX },
], [
{ label: "资格证类型", prop: "zgzlx", type: "select", options: dicDefault.B_BZ_BAZGZ },
{ label: "资格证编号", prop: "zgzbh", type: "input" },
{ label: "资格证起始日期", prop: "zgzKssj", type: "date" },
], [{ label: "资格证截止日期", prop: "zgzJssj", type: "date" },
{ label: "外派单位", prop: "wpdw", type: "input" },
{ label: "培训公司", prop: "pxgs", type: "select", options: pxgsidList.value }],
[
{ label: "培训公司", prop: "pxgs", type: "slot" },
],
[
{ label: "外派单位", prop: "wpdw", type: "input" },
],
{ label: "从业人员照片", prop: "tp", type: "upload", limit: 2 },
{ label: "保安证件", prop: "bazzp", type: "upload", limit: 1 },
{ label: "从业人员照片", prop: "tp", type: "upload" },
]
// [
// { label: "离职时间", prop: "lzsj", type: "slot" },
// { label: "文化程度", prop: "whcd", type: "select", options: D_BZ_WHCD },
// { label: "资格证类型", prop: "zgzlx", type: "input" },
// { label: "资格证起始日期", prop: "zgzKssj", type: "date" },
// { label: "资格证截至日期", prop: "zgzJssj", type: "date" },
// { label: "岗位", prop: "gw", type: "select", options: D_BAXX_GWLX },
// ],
// [
// { label: "培训公司", prop: "pxgs", type: "slot" },
// ],
// [
// { label: "外派单位", prop: "wpdw", type: "input" },
// ],
// { label: "从业人员照片", prop: "tp", type: "upload", limit: 2 },
// { label: "保安证件", prop: "bazzp", type: "upload", limit: 1 },
])
const rules = {
xm: [{ required: true, message: "请输入姓名", trigger: "change" }],
...rule.phoneRule({ validator: true,message: "请输入联系电话",require: true }, "lxdh"), // 是否必填 是否进行校验`
...rule.identityCardRule({ validator: true,message: "请输入身份证号" ,require: true}, "sfzh"), // 是否必填 是否进行校验
...rule.phoneRule({ validator: true, message: "请输入联系电话", require: true }, "lxdh"), // 是否必填 是否进行校验`
...rule.identityCardRule({ validator: true, message: "请输入身份证号", require: true }, "sfzh"), // 是否必填 是否进行校验
jzdz: [{ required: true, message: "请输入居住地址", trigger: "change" }],
rzsj: [{ required: true, message: "请选择入职时间", trigger: "change" }],
zgzbh: [{ required: true, message: "请输入资格证编号", trigger: "change" }],
@ -85,11 +141,29 @@ const rules = {
zgzKssj: [{ required: true, message: "请选择资格证起始日期", trigger: "change" }],
zgzJssj: [{ required: true, message: "请选择资格证截至日期", trigger: "blur" }],
whcd: [{ required: true, message: "请选择文化程度", trigger: "change" }],
pxgs: [{ required: true, message: "请选择培训公司", trigger: "change" }],
// pxgs: [{ required: true, message: "请选择培训公司", trigger: "change" }],
}
const formData = ref({})
const getPxgsidList = () => {
const params = { dwlx: formData.value.dwlx, state: '1' }
qcckPost(params, "/mosty-base/baxx/baba/list").then(res => {
pxgsidList.value = res.map(item => {
return {
dm: item.id,
zdmc: item.yyzddjmc
}
}) || [];
});
}
const formData = ref({})
watch(() => formData.value.dwlx, (newVal, oldVal) => {
if (newVal !== oldVal) {
getPxgsidList()
}
}, { deep: true })
const selectPxgs = () => {
RefConmay.value.open()
}
@ -110,7 +184,7 @@ const open = (row = {}, type = 'add') => {
disabled.value = false
const fieldsToSplit = ['tp', 'bazzp'];
fieldsToSplit.forEach(field => {
row[field] = typeof row[field] === 'string' ? row[field].split(',') : row[field];
row[field] = typeof row[field] === 'string' ? row[field].split(',') : row[field];
});
formData.value = { ...row }
if (type === 'add') {
@ -128,8 +202,8 @@ const save = () => {
loading.value = true;
const url = !formData.value?.id ? `/mosty-base/baxx/cyry/add` : `/mosty-base/baxx/cyry/edit`;
let params = { ...formData.value }
params.tp = params.tp ? params.tp.join(','):''
params.bazzp =params.bazzp ? params.bazzp.join(','):''
params.tp = params.tp ? params.tp.join(',') : ''
params.bazzp = params.bazzp ? params.bazzp.join(',') : ''
qcckPost(params, url).then(() => {
loading.value = false;
proxy.$message.success("保存成功");
@ -147,7 +221,7 @@ defineExpose({ open })
<style lang="scss" scoped>
@import "@/assets/css/layout.scss";
.cntinfo{
.cntinfo {
height: calc(100% - 70px);
overflow: hidden;
overflow-y: auto;

View File

@ -3,7 +3,7 @@
<div class="dialog" v-if="dialogForm">
<div class="head_box" style="">
<span class="title">年检培训申请</span>
<span class="title">单位信息</span>
<div>
<el-button size="small" @click="editBabaEditList" type="primary" :loading="loading" v-if="!disabled">保存</el-button>
<el-button size="small" @click="close">关闭</el-button>
@ -41,8 +41,6 @@ const emit = defineEmits(["refresh"]);
const dialogForm = ref(false);
const FormRef = ref(null);
const listQuery = ref({});
const formList = ref()
const rules = ref({
csmc: [{ required: true, message: "请输入单位名称", trigger: "blur" }],

View File

@ -75,9 +75,9 @@ const pageData = reactive({
{ label: "是否有武装资质", prop: "sfyyzz",showSolt:'sfyyzz' },
{ label: "枪支情况", prop: "qzqk" },
{ label: "是否有培训资质", prop: "sfpxzz",showSolt:'sfpxzz' },
{ label: "负责人姓名", prop: "dwfzrxm" },
{ label: "负责人电话", prop: "dwfzrlxdh" },
{ label: "保安人数", prop: "bars" },
{ label: "负责人姓名", prop: "fzrXm" },
{ label: "负责人电话", prop: "fzrLxdh" },
{ label: "保安人数", prop: "bagsRysl" },
{ label: "是否成立党组织", prop: "sfdzz",showSolt:'sfdzz' },
{ label: "党员人数", prop: "dyrs" },
]