'新增页面'

This commit is contained in:
esacpe
2025-09-22 18:11:34 +08:00
parent 1c0f313d9e
commit 811fd41070
11 changed files with 80 additions and 53 deletions

View File

@ -316,24 +316,34 @@ export const publicRoutes = [
}, },
}, },
{ {
path: "/practitioner", path: "/personnelManagement",
name: "practitioner", name: "personnelManagement",
component: () =>
import("@/views/securityManagement/practitioner/index"),
meta: { meta: {
title: "从业人员管理", title: "人员管理",
icon: "personnel" icon: "personnel"
}, },
}, children: [
{ {
path: "/trainingManagement/applicantPersonnel", path: "/personnelManagement/practitioner",
name: "applicantPersonnel", name: "practitioner",
component: () => component: () =>
import("@/views/securityManagement/applicantPersonnel/index"), import("@/views/securityManagement/personnelManagement/practitioner/index"),
meta: { meta: {
title: "申请人员", title: "从业人员管理",
icon: "personnel" icon: "personnel"
} },
},
{
path: "/personnelManagement/applicantPersonnel",
name: "applicantPersonnel",
component: () =>
import("@/views/securityManagement/personnelManagement/applicantPersonnel/index"),
meta: {
title: "申请人员",
icon: "personnel"
}
},
]
}, },
{ {
path: "/trainingManagement", path: "/trainingManagement",

View File

@ -99,7 +99,7 @@ div:focus {
::v-deep { ::v-deep {
.el-input__inner, .el-input__inner:hover, .el-input__inner:focus { .el-input__inner, .el-input__inner:hover, .el-input__inner:focus {
// border: none; border: none !important;
box-shadow: none; box-shadow: none;
background-color: transparent; background-color: transparent;
} }

View File

@ -40,7 +40,6 @@ import DetailForm from "./components/detailForm.vue";
import Pxgs from "./components/pxgs.vue"; import Pxgs from "./components/pxgs.vue";
import { qcckGet, qcckPost, qcckDelete } from "@/api/qcckApi.js"; import { qcckGet, qcckPost, qcckDelete } from "@/api/qcckApi.js";
import { reactive, ref, onMounted, getCurrentInstance, nextTick } from "vue"; import { reactive, ref, onMounted, getCurrentInstance, nextTick } from "vue";
import { el } from "element-plus/es/locale.mjs";
const { proxy } = getCurrentInstance(); const { proxy } = getCurrentInstance();
const activeTab = ref(2) const activeTab = ref(2)
const detailDiloag = ref(); const detailDiloag = ref();

View File

@ -5,20 +5,32 @@
<h3 class="title">用户登录</h3> <h3 class="title">用户登录</h3>
</div> </div>
<el-form-item prop="userName"> <el-form-item prop="userName">
<span class="svg-container"> <el-input placeholder="请输入账号" name="userName" type="text" v-model="loginForm.userName">
<svg-icon icon="user" /> <template #prepend>
</span> <span class="svg-container">
<el-input placeholder="请输入账号" name="userName" type="text" v-model="loginForm.userName" /> <svg-icon icon="user" />
</span>
</template>
</el-input>
</el-form-item> </el-form-item>
<el-form-item prop="password1"> <el-form-item prop="password1">
<span class="svg-container"> <!-- <span class="svg-container">
<svg-icon icon="password" /> <svg-icon icon="password" />
</span> </span> -->
<el-input placeholder="请输入密码" name="password" :type="passwordType" v-model="loginForm.password" /> <el-input placeholder="请输入密码" name="password" :type="passwordType" v-model="loginForm.password">
<span class="show-pwd"> <template #prepend>
<svg-icon @click="onChangePwdType" :icon="passwordType === 'password' ? 'eye' : 'eye-open'" /> <span class="svg-container">
</span> <svg-icon icon="password" />
</span>
</template>
<template #append>
<span class="show-pwd">
<svg-icon @click="onChangePwdType" :icon="passwordType === 'password' ? 'eye' : 'eye-open'" />
</span>
</template>
</el-input>
</el-form-item> </el-form-item>
<el-form-item v-if="isShowKaptCha" prop="kaptcha"> <el-form-item v-if="isShowKaptCha" prop="kaptcha">
@ -191,22 +203,15 @@ $cursor: #fff;
color: #454545; color: #454545;
} }
&::v-deep .el-input { ::v-deep {
display: inline-block; .el-input__wrapper, .el-input-group__append, .el-input-group__prepend {
height: 47px; background-color: transparent !important;
width: 85%; box-shadow: none !important;
input {
background: transparent;
border: 0px;
-webkit-appearance: none;
border-radius: 0px;
padding: 12px 5px 12px 15px;
color: $light_gray;
height: 47px;
caret-color: $cursor;
} }
} }
&::v-deep .el-input {
height: 44px;
}
} }
.tips { .tips {

View File

@ -101,12 +101,14 @@ const close = () => {
const open = (row = {}, type = 'add') => { const open = (row = {}, type = 'add') => {
dialogVisible.value = true dialogVisible.value = true
disabled.value = false
formData.value = { ...row } formData.value = { ...row }
if (type === 'add') { if (type === 'add') {
title.value = '新增从业人员' title.value = '新增从业人员'
} else if (type === 'edit') { } else if (type === 'edit') {
title.value = '编辑从业人员' title.value = '编辑从业人员'
} else { } else {
disabled.value = true
title.value = '查看详情' title.value = '查看详情'
} }
} }

View File

@ -78,7 +78,7 @@ const searchConfiger = ref([
]); ]);
const pageData = reactive({ const pageData = reactive({
tableData: [], tableData: [{}],
keyCount: 0, keyCount: 0,
tableConfiger: { tableConfiger: {
rowHieght: 61, rowHieght: 61,

View File

@ -3,7 +3,7 @@
<div class="head_box"> <div class="head_box">
<span class="title">{{ title }}</span> <span class="title">{{ title }}</span>
<div> <div>
<el-button size="small" @click="save" type="primary" :loading="loading">保存</el-button> <!-- <el-button size="small" @click="save" type="primary" :loading="loading">保存</el-button> -->
<el-button size="small" @click="close">关闭</el-button> <el-button size="small" @click="close">关闭</el-button>
</div> </div>
</div> </div>
@ -28,6 +28,18 @@
<el-descriptions-item label="场所负责人联系方式">{{ formData.ssbmdm }}</el-descriptions-item> <el-descriptions-item label="场所负责人联系方式">{{ formData.ssbmdm }}</el-descriptions-item>
<el-descriptions-item label="场所负责人居住地址">{{ formData.ssbmdm }}</el-descriptions-item> <el-descriptions-item label="场所负责人居住地址">{{ formData.ssbmdm }}</el-descriptions-item>
<el-descriptions-item label="场所负责人身份证号">{{ formData.ssbmdm }}</el-descriptions-item> <el-descriptions-item label="场所负责人身份证号">{{ formData.ssbmdm }}</el-descriptions-item>
<el-descriptions-item label="保安服务公司名称" :span="2">{{ formData.ssbmdm }}</el-descriptions-item>
<el-descriptions-item label="保安负责人">{{ formData.ssbmdm }}</el-descriptions-item>
<el-descriptions-item label="保安负责人身份证号码">{{ formData.ssbmdm }}</el-descriptions-item>
<el-descriptions-item label="保安负责人联系方式">{{ formData.ssbmdm }}</el-descriptions-item>
<el-descriptions-item label="保安人员数量">{{ formData.ssbmdm }}</el-descriptions-item>
<el-descriptions-item label="场所面积" :span="2">{{ formData.ssbmdm }}</el-descriptions-item>
<el-descriptions-item label="营业执照照片">{{ formData.ssbmdm }}</el-descriptions-item>
<el-descriptions-item label="武装押运证书">{{ formData.ssbmdm }}</el-descriptions-item>
<el-descriptions-item label="备案编号">{{ formData.ssbmdm }}</el-descriptions-item>
<el-descriptions-item label="备案机构名称">{{ formData.ssbmdm }}</el-descriptions-item>
<el-descriptions-item label="经营许可证号码">{{ formData.ssbmdm }}</el-descriptions-item>
<el-descriptions-item label="经营许可证发证机构">{{ formData.ssbmdm }}</el-descriptions-item>
</el-descriptions> </el-descriptions>
</div> </div>
</div> </div>
@ -37,7 +49,6 @@
import { ref, computed, reactive, getCurrentInstance } from 'vue' import { ref, computed, reactive, getCurrentInstance } from 'vue'
import { qcckPost } from "@/api/qcckApi.js"; import { qcckPost } from "@/api/qcckApi.js";
import MyTable from '@/components/aboutTable/MyTable.vue'; import MyTable from '@/components/aboutTable/MyTable.vue';
// import viewAndUploadDialog from './viewAndUploadDialog.vue';
const { proxy } = getCurrentInstance() const { proxy } = getCurrentInstance()
const title = ref('保安培训项目新增') const title = ref('保安培训项目新增')
@ -104,7 +115,7 @@ const open = (row = {}, type = 'add') => {
dialogVisible.value = true dialogVisible.value = true
formData.value = { ...row } formData.value = { ...row }
if (type === 'view') { if (type === 'view') {
title.value = '保安线下考试详情' title.value = '查看详情'
visible.value = true visible.value = true
} else if (type === 'edit') { } else if (type === 'edit') {
title.value = '保安证申请' title.value = '保安证申请'
@ -144,8 +155,7 @@ defineExpose({ open })
.cntinfo { .cntinfo {
padding: 2rem 12rem 0rem 12rem; padding: 2rem 12rem 0rem 12rem;
height: calc(100% - 70px); height: calc(100% - 270px);
overflow: hidden;
overflow-y: auto; overflow-y: auto;
} }

View File

@ -2,7 +2,6 @@
<div> <div>
<div class="titleBox"> <div class="titleBox">
<page-title title="单位管理" /> <page-title title="单位管理" />
<el-button type="primary" @click="addEdit('add', row)">新增</el-button>
</div> </div>
<!-- 搜索 --> <!-- 搜索 -->
<div ref="searchBox"> <div ref="searchBox">
@ -20,9 +19,7 @@
</template> </template>
<!-- 操作 --> <!-- 操作 -->
<template #controls="{ row }"> <template #controls="{ row }">
<el-link type="primary" @click="addEdit('edit', row)">编辑</el-link> <el-link type="primary" @click="addEdit('view', row)">详情</el-link>
<el-link type="danger" @click="handleDelete([row.id])">删除</el-link>
<el-link type="warning" @click="handleXfrw(row)">下发任务</el-link>
</template> </template>
</MyTable> </MyTable>
@ -31,7 +28,7 @@
total: pageData.total total: pageData.total
}"></Pages> }"></Pages>
<ViewDetailsDialog v-model="visible" /> <ViewDetailsDialog ref="detailsRef" v-model="visible" />
</div> </div>
</div> </div>
</template> </template>
@ -47,6 +44,7 @@ import { qcckGet, qcckPost, qcckDelete } from "@/api/qcckApi.js";
const visible = ref(false); const visible = ref(false);
const searchBox = ref(null); const searchBox = ref(null);
const detailsRef = ref(null);
const D_BZ_BXDLX = ref([]); const D_BZ_BXDLX = ref([]);
const searchConfiger = ref([ const searchConfiger = ref([
{ {
@ -110,6 +108,9 @@ const getList = async () => {
} }
}; };
const addEdit = (type, row) => {
detailsRef.value.open(row, type);
}
onMounted(() => { onMounted(() => {
tabHeightFn(); tabHeightFn();