更新文件
This commit is contained in:
parent
3754b9c5ed
commit
49cfd7e64f
|
@ -125,6 +125,14 @@ header {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.form_cnt{
|
||||||
|
padding-top: 10px;
|
||||||
|
box-sizing: border-box;
|
||||||
|
height: calc(100vh - 223px);
|
||||||
|
overflow: hidden;
|
||||||
|
overflow-y: auto;
|
||||||
|
}
|
||||||
|
|
||||||
&::v-deep .el-form--inline {
|
&::v-deep .el-form--inline {
|
||||||
display: flex;
|
display: flex;
|
||||||
flex-wrap: wrap;
|
flex-wrap: wrap;
|
||||||
|
|
|
@ -5,7 +5,6 @@ import Phone from "./Phone/index.vue";
|
||||||
import IdentityCard from "./IdentityCard/index.vue";
|
import IdentityCard from "./IdentityCard/index.vue";
|
||||||
import Email from "./Email/index.vue";
|
import Email from "./Email/index.vue";
|
||||||
import Other from "./Other/index.vue";
|
import Other from "./Other/index.vue";
|
||||||
import FormItem from "./FormItem/index.vue";
|
|
||||||
import Sex from "./Sex/index.vue";
|
import Sex from "./Sex/index.vue";
|
||||||
import Select from "./Select/index.vue";
|
import Select from "./Select/index.vue";
|
||||||
import CheckBox from "./CheckBox/index.vue";
|
import CheckBox from "./CheckBox/index.vue";
|
||||||
|
@ -30,7 +29,6 @@ export {
|
||||||
Select,
|
Select,
|
||||||
CheckBox,
|
CheckBox,
|
||||||
Upload,
|
Upload,
|
||||||
FormItem,
|
|
||||||
FrameWork2,
|
FrameWork2,
|
||||||
Department,
|
Department,
|
||||||
DepartmentTree,
|
DepartmentTree,
|
||||||
|
|
|
@ -6,7 +6,7 @@ import {
|
||||||
removeAllItem
|
removeAllItem
|
||||||
} from "@/utils/storage";
|
} from "@/utils/storage";
|
||||||
// 白名单
|
// 白名单
|
||||||
const whiteList = ['/login','/', '/oatuh_login','/editPassword', '/404', '/401']
|
const whiteList = ['/login','/', './FourColorWarning','/oatuh_login','/editPassword', '/404', '/401']
|
||||||
/**
|
/**
|
||||||
* 路由前置守卫
|
* 路由前置守卫
|
||||||
* to 去哪里
|
* to 去哪里
|
||||||
|
|
|
@ -37,26 +37,26 @@ export const publicRoutes = [
|
||||||
{
|
{
|
||||||
path: "/editPassword",// 注意:带有路径“/”的记录中的组件“默认”是一个不返回 Promise 的函数
|
path: "/editPassword",// 注意:带有路径“/”的记录中的组件“默认”是一个不返回 Promise 的函数
|
||||||
component: layout,
|
component: layout,
|
||||||
redirect: "/securityInformation",
|
redirect: "/FourColorWarning",
|
||||||
children: [
|
children: [
|
||||||
{
|
{
|
||||||
path: "/securityInformation",
|
path: "/",
|
||||||
name: "securityInformation",
|
name:'home',
|
||||||
component: () => import("@/views/backOfficeSystem/SecurityInformation/index"),
|
component: () => import("@/views/home/index"), //系统登录
|
||||||
meta: {
|
meta: {
|
||||||
title: "单位保安信息",
|
title: "首页",
|
||||||
icon: "article"
|
icon: "article"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
path: "/EntertainmentManagemnet",
|
path: "/FourColorWarning",
|
||||||
name: "EntertainmentManagemnet",
|
name: "FourColorWarning",
|
||||||
meta: { title: "四色预警管理", icon: "article" },
|
meta: { title: "四色预警管理", icon: "article" },
|
||||||
children: [
|
children: [
|
||||||
{
|
{
|
||||||
path: "/IdentityManage",
|
path: "/IdentityManage",
|
||||||
name: "IdentityManage",
|
name: "IdentityManage",
|
||||||
component: () => import("@/views/backOfficeManage/fourColorManage/IdentityManage/index"),
|
component: () => import("@/views/backOfficeSystem/fourColorManage/IdentityManage/index"),
|
||||||
meta: {
|
meta: {
|
||||||
title: "身份标签管理",
|
title: "身份标签管理",
|
||||||
icon: "article"
|
icon: "article"
|
||||||
|
@ -65,7 +65,7 @@ export const publicRoutes = [
|
||||||
{
|
{
|
||||||
path: "/tagManage",
|
path: "/tagManage",
|
||||||
name: "tagManage",
|
name: "tagManage",
|
||||||
component: () => import("@/views/backOfficeManage/fourColorManage/tagManage/index"),
|
component: () => import("@/views/backOfficeSystem/fourColorManage/tagManage/index"),
|
||||||
meta: {
|
meta: {
|
||||||
title: "标签组合管理",
|
title: "标签组合管理",
|
||||||
icon: "article"
|
icon: "article"
|
||||||
|
@ -73,84 +73,84 @@ export const publicRoutes = [
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
},
|
},
|
||||||
{
|
// {
|
||||||
path: "/Mechanics",
|
// path: "/Mechanics",
|
||||||
name: "Mechanics",
|
// name: "Mechanics",
|
||||||
meta: { title: "智能布控", icon: "article" },
|
// meta: { title: "智能布控", icon: "article" },
|
||||||
children: [
|
// children: [
|
||||||
{
|
// {
|
||||||
path: "/yjControl",
|
// path: "/yjControl",
|
||||||
name: "yjControl",
|
// name: "yjControl",
|
||||||
component: () => import("@/views/backOfficeManage/ControlManage/yjControl/index"),
|
// component: () => import("@/views/backOfficeManage/ControlManage/yjControl/index"),
|
||||||
meta: {
|
// meta: {
|
||||||
title: "预警布控",
|
// title: "预警布控",
|
||||||
icon: "article"
|
// icon: "article"
|
||||||
}
|
// }
|
||||||
},
|
// },
|
||||||
{
|
// {
|
||||||
path: "/myControl",
|
// path: "/myControl",
|
||||||
name: "myControl",
|
// name: "myControl",
|
||||||
component: () => import("@/views/backOfficeManage/ControlManage/myControl/index"),
|
// component: () => import("@/views/backOfficeManage/ControlManage/myControl/index"),
|
||||||
meta: {
|
// meta: {
|
||||||
title: "我的布控",
|
// title: "我的布控",
|
||||||
icon: "article"
|
// icon: "article"
|
||||||
}
|
// }
|
||||||
},
|
// },
|
||||||
{
|
// {
|
||||||
path: "/VehicleAccessories",
|
// path: "/VehicleAccessories",
|
||||||
name: "VehicleAccessories",
|
// name: "VehicleAccessories",
|
||||||
component: () => import("@/views/backOfficeSystem/Mechanics/VehicleAccessories/index"),
|
// component: () => import("@/views/backOfficeSystem/Mechanics/VehicleAccessories/index"),
|
||||||
meta: {
|
// meta: {
|
||||||
title: "车辆配件业务登记信息",
|
// title: "车辆配件业务登记信息",
|
||||||
icon: "article"
|
// icon: "article"
|
||||||
}
|
// }
|
||||||
},
|
// },
|
||||||
{
|
// {
|
||||||
path: "/VehicleRepairs",
|
// path: "/VehicleRepairs",
|
||||||
name: "VehicleRepairs",
|
// name: "VehicleRepairs",
|
||||||
component: () => import("@/views/backOfficeSystem/Mechanics/VehicleRepairs/index"),
|
// component: () => import("@/views/backOfficeSystem/Mechanics/VehicleRepairs/index"),
|
||||||
meta: {
|
// meta: {
|
||||||
title: "机动车修理业务信息",
|
// title: "机动车修理业务信息",
|
||||||
icon: "article"
|
// icon: "article"
|
||||||
}
|
// }
|
||||||
},
|
// },
|
||||||
|
|
||||||
{
|
// {
|
||||||
path: "/CarIntersectionInfo",
|
// path: "/CarIntersectionInfo",
|
||||||
name: "CarIntersectionInfo",
|
// name: "CarIntersectionInfo",
|
||||||
component: () => import("@/views/backOfficeSystem/Mechanics/CarIntersectionInfo/index"),
|
// component: () => import("@/views/backOfficeSystem/Mechanics/CarIntersectionInfo/index"),
|
||||||
meta: {
|
// meta: {
|
||||||
title: "承接车辆交接信息",
|
// title: "承接车辆交接信息",
|
||||||
icon: "article"
|
// icon: "article"
|
||||||
}
|
// }
|
||||||
},
|
// },
|
||||||
{
|
// {
|
||||||
path: "/CarBasicInfo",
|
// path: "/CarBasicInfo",
|
||||||
name: "CarBasicInfo",
|
// name: "CarBasicInfo",
|
||||||
component: () => import("@/views/backOfficeSystem/Mechanics/CarBasicInfo/index"),
|
// component: () => import("@/views/backOfficeSystem/Mechanics/CarBasicInfo/index"),
|
||||||
meta: {
|
// meta: {
|
||||||
title: "承接车辆基本信息",
|
// title: "承接车辆基本信息",
|
||||||
icon: "article"
|
// icon: "article"
|
||||||
}
|
// }
|
||||||
},
|
// },
|
||||||
{
|
// {
|
||||||
path: "/Practitioners",
|
// path: "/Practitioners",
|
||||||
name: "Practitioners",
|
// name: "Practitioners",
|
||||||
component: () => import("@/views/backOfficeSystem/EntertainmentManagemnet/Practitioners/index"),
|
// component: () => import("@/views/backOfficeSystem/EntertainmentManagemnet/Practitioners/index"),
|
||||||
meta: {
|
// meta: {
|
||||||
title: "从业人员",
|
// title: "从业人员",
|
||||||
icon: "article"
|
// icon: "article"
|
||||||
}
|
// }
|
||||||
},
|
// },
|
||||||
{
|
// {
|
||||||
path: "/MachineRepair",
|
// path: "/MachineRepair",
|
||||||
name: "MachineRepair",
|
// name: "MachineRepair",
|
||||||
component: () => import("@/views/backOfficeSystem/Mechanics/MachineRepair/index"),
|
// component: () => import("@/views/backOfficeSystem/Mechanics/MachineRepair/index"),
|
||||||
meta: { title: "机修场所信息管理",icon: "article" }
|
// meta: { title: "机修场所信息管理",icon: "article" }
|
||||||
},
|
// },
|
||||||
|
|
||||||
],
|
// ],
|
||||||
},
|
// },
|
||||||
{
|
{
|
||||||
path: "/LockSmith",
|
path: "/LockSmith",
|
||||||
name: "LockSmith",
|
name: "LockSmith",
|
||||||
|
|
|
@ -1,13 +0,0 @@
|
||||||
<template>
|
|
||||||
<div>灵芝岗哨</div>
|
|
||||||
</template>
|
|
||||||
|
|
||||||
<script>
|
|
||||||
export default {
|
|
||||||
|
|
||||||
}
|
|
||||||
</script>
|
|
||||||
|
|
||||||
<style>
|
|
||||||
|
|
||||||
</style>
|
|
|
@ -1,17 +1,6 @@
|
||||||
<template>
|
<template>
|
||||||
<el-dialog
|
<el-dialog :title="title" width="600px" v-model="dialogVisible" @close="closed" >
|
||||||
:title="title"
|
<FormMessage :formData="formData" ref="elform" :modelKey="listQuery" :rules="rules"></FormMessage>
|
||||||
width="600px"
|
|
||||||
v-model="dialogVisible"
|
|
||||||
@close="closed"
|
|
||||||
>
|
|
||||||
<MOSTY.FormItem
|
|
||||||
:formData="formData"
|
|
||||||
ref="elform"
|
|
||||||
:modelKey="listQuery"
|
|
||||||
:rules="rules"
|
|
||||||
>
|
|
||||||
</MOSTY.FormItem>
|
|
||||||
<template #footer>
|
<template #footer>
|
||||||
<div class="dialog-footer">
|
<div class="dialog-footer">
|
||||||
<el-button @click="dialogVisible = false">取消</el-button>
|
<el-button @click="dialogVisible = false">取消</el-button>
|
||||||
|
@ -22,6 +11,7 @@
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script setup>
|
<script setup>
|
||||||
|
import FormMessage from '@/components/aboutTable/FormMessage/index.vue'
|
||||||
import { useStore } from "vuex";
|
import { useStore } from "vuex";
|
||||||
import { ElMessage } from "element-plus";
|
import { ElMessage } from "element-plus";
|
||||||
import { editPassword } from "@/api/sys";
|
import { editPassword } from "@/api/sys";
|
||||||
|
|
|
@ -7,13 +7,7 @@
|
||||||
:before-close="handleClose"
|
:before-close="handleClose"
|
||||||
custom-class="bk_drawer_box"
|
custom-class="bk_drawer_box"
|
||||||
>
|
>
|
||||||
<MOSTY.FormItem
|
<FormMessage :formData="formData" ref="elform" :modelKey="listQuery" :rules="rules"></FormMessage>
|
||||||
:formData="formData"
|
|
||||||
ref="elform"
|
|
||||||
:modelKey="listQuery"
|
|
||||||
:rules="rules"
|
|
||||||
>
|
|
||||||
</MOSTY.FormItem>
|
|
||||||
<el-button type="primary" @click="addEdit('add', '')">
|
<el-button type="primary" @click="addEdit('add', '')">
|
||||||
<el-icon style="vertical-align: middle"><Search /></el-icon>
|
<el-icon style="vertical-align: middle"><Search /></el-icon>
|
||||||
<span style="vertical-align: middle">查询</span>
|
<span style="vertical-align: middle">查询</span>
|
||||||
|
@ -39,6 +33,7 @@
|
||||||
</el-drawer>
|
</el-drawer>
|
||||||
</template>
|
</template>
|
||||||
<script setup>
|
<script setup>
|
||||||
|
import FormMessage from '@/components/aboutTable/FormMessage/index.vue'
|
||||||
import { ref, reactive, onMounted, defineProps } from "vue";
|
import { ref, reactive, onMounted, defineProps } from "vue";
|
||||||
import * as MOSTY from "@/components/MyComponents/index";
|
import * as MOSTY from "@/components/MyComponents/index";
|
||||||
const props = defineProps({
|
const props = defineProps({
|
||||||
|
|
|
@ -7,11 +7,12 @@
|
||||||
<el-button size="small" @click="close">关闭</el-button>
|
<el-button size="small" @click="close">关闭</el-button>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<MOSTY.FormItem :formData="formData" ref="elform" :modelKey="listQuery" :rules="rules">
|
<FormMessage :formData="formData" ref="elform" :modelKey="listQuery" :rules="rules">
|
||||||
<template #bkfw>
|
<template #bkfw>
|
||||||
<div>布控范围</div>
|
<div>布控范围</div>
|
||||||
</template>
|
</template>
|
||||||
</MOSTY.FormItem>
|
</FormMessage>
|
||||||
|
|
||||||
<div class="bkry_box">
|
<div class="bkry_box">
|
||||||
<div class="title_text">布控人员</div>
|
<div class="title_text">布控人员</div>
|
||||||
<div class="title_text">
|
<div class="title_text">
|
||||||
|
@ -47,13 +48,8 @@
|
||||||
<div class="bkry_box mt4">
|
<div class="bkry_box mt4">
|
||||||
<div class="title_text">审批信息</div>
|
<div class="title_text">审批信息</div>
|
||||||
</div>
|
</div>
|
||||||
<MOSTY.FormItem
|
<FormMessage :formData="formDataSp" ref="elform" :modelKey="spForm" :rules="rules">
|
||||||
:formData="formDataSp"
|
<template #czjsdw>
|
||||||
ref="elform"
|
|
||||||
:modelKey="spForm"
|
|
||||||
:rules="rules"
|
|
||||||
>
|
|
||||||
<template #czjsdw class="flex">
|
|
||||||
<div class="flex">
|
<div class="flex">
|
||||||
<el-select v-model="spForm.czjsdw" placeholder="Select">
|
<el-select v-model="spForm.czjsdw" placeholder="Select">
|
||||||
<el-option label="123" value="1" />
|
<el-option label="123" value="1" />
|
||||||
|
@ -65,7 +61,8 @@
|
||||||
</el-checkbox-group>
|
</el-checkbox-group>
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
</MOSTY.FormItem>
|
</FormMessage>
|
||||||
|
|
||||||
<div style="height: 200px; max-width: 600px">
|
<div style="height: 200px; max-width: 600px">
|
||||||
<el-steps direction="vertical" :active="1">
|
<el-steps direction="vertical" :active="1">
|
||||||
<el-step>
|
<el-step>
|
||||||
|
@ -95,6 +92,7 @@
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script setup>
|
<script setup>
|
||||||
|
import FormMessage from '@/components/aboutTable/FormMessage/index.vue'
|
||||||
import { qcckGet, qcckPost, qcckPut } from "@/api/qcckApi.js";
|
import { qcckGet, qcckPost, qcckPut } from "@/api/qcckApi.js";
|
||||||
import * as rule from "@/utils/rules.js";
|
import * as rule from "@/utils/rules.js";
|
||||||
import MyTable from "@/components/aboutTable/MyTable.vue";
|
import MyTable from "@/components/aboutTable/MyTable.vue";
|
||||||
|
|
|
@ -13,16 +13,14 @@
|
||||||
<el-button size="small" @click="close">关闭</el-button>
|
<el-button size="small" @click="close">关闭</el-button>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<MOSTY.FormItem
|
<FormMessage :formData="formData" ref="elform" :modelKey="listQuery" :rules="rules">
|
||||||
:formData="formData"
|
</FormMessage>
|
||||||
ref="elform"
|
|
||||||
:modelKey="listQuery"
|
|
||||||
:rules="rules"
|
|
||||||
/>
|
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script setup>
|
<script setup>
|
||||||
|
import FormMessage from '@/components/aboutTable/FormMessage/index.vue'
|
||||||
import { qcckGet, qcckPost, qcckPut } from "@/api/qcckApi.js";
|
import { qcckGet, qcckPost, qcckPut } from "@/api/qcckApi.js";
|
||||||
import * as rule from "@/utils/rules.js";
|
import * as rule from "@/utils/rules.js";
|
||||||
import * as MOSTY from "@/components/MyComponents/index";
|
import * as MOSTY from "@/components/MyComponents/index";
|
||||||
|
|
|
@ -13,16 +13,13 @@
|
||||||
<el-button size="small" @click="close">关闭</el-button>
|
<el-button size="small" @click="close">关闭</el-button>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<MOSTY.FormItem
|
<FormMessage :formData="formData" ref="elform" :modelKey="listQuery" :rules="rules">
|
||||||
:formData="formData"
|
</FormMessage>
|
||||||
ref="elform"
|
|
||||||
:modelKey="listQuery"
|
|
||||||
:rules="rules"
|
|
||||||
/>
|
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script setup>
|
<script setup>
|
||||||
|
import FormMessage from '@/components/aboutTable/FormMessage/index.vue'
|
||||||
import { qcckGet, qcckPost, qcckPut } from "@/api/qcckApi.js";
|
import { qcckGet, qcckPost, qcckPut } from "@/api/qcckApi.js";
|
||||||
import * as rule from "@/utils/rules.js";
|
import * as rule from "@/utils/rules.js";
|
||||||
import * as MOSTY from "@/components/MyComponents/index";
|
import * as MOSTY from "@/components/MyComponents/index";
|
||||||
|
|
|
@ -1,206 +0,0 @@
|
||||||
<template>
|
|
||||||
<div class="baxx-cnt">
|
|
||||||
<div class="flex just-between align-center h24">
|
|
||||||
<div class="texttext">保安信息</div>
|
|
||||||
<el-button size="small" @click="handleDate('add',null)">新增</el-button>
|
|
||||||
</div>
|
|
||||||
<div >
|
|
||||||
<MyTable
|
|
||||||
:tableData="data.tableData"
|
|
||||||
:tableColumn="data.tableColumn"
|
|
||||||
:tableHeight="data.tableHeight"
|
|
||||||
:key="data.keyCount"
|
|
||||||
:tableConfiger="data.tableConfiger"
|
|
||||||
:controlsWidth="data.controlsWidth"
|
|
||||||
>
|
|
||||||
<!-- 操作 -->
|
|
||||||
<template #controls="{ row }">
|
|
||||||
<el-button size="small" @click="handleDate('edit',row)">编辑</el-button>
|
|
||||||
<el-button size="small" @click="delDictItem([row.id])" type="danger">删除</el-button >
|
|
||||||
</template>
|
|
||||||
</MyTable>
|
|
||||||
<Pages
|
|
||||||
@changeNo="changeNo"
|
|
||||||
@changeSize="changeSize"
|
|
||||||
:tableHeight="data.tableHeight"
|
|
||||||
:pageConfiger="{
|
|
||||||
...data.pageConfiger,
|
|
||||||
total: data.total
|
|
||||||
}"
|
|
||||||
></Pages>
|
|
||||||
</div>
|
|
||||||
<!-- 弹窗 -->
|
|
||||||
<el-dialog :title="title" width="700px" custom-class="zdy-bainfo" :model-value="visibleDialog" @close="closed">
|
|
||||||
<el-form ref="baform" :model="dataQuery" :label-width="120" :rules="rules" :inline="true" label-position="right">
|
|
||||||
<el-form-item style="width: 48%" prop="xm" label="姓名">
|
|
||||||
<MOSTY.Other width="100%" clearable v-model="dataQuery.xm" placeholder="请输入姓名"/>
|
|
||||||
</el-form-item>
|
|
||||||
<el-form-item style="width: 48%" prop="csrq" label="出生年月">
|
|
||||||
<MOSTY.Date width="100%" v-model="dataQuery.csrq" :disabled-date="disabledDate" placeholder="选择出生年月"/>
|
|
||||||
</el-form-item>
|
|
||||||
<el-form-item style="width: 48%" prop="sfzh" label="身份证号">
|
|
||||||
<MOSTY.Other width="100%" clearable v-model="dataQuery.sfzh" placeholder="请输入身份证号"/>
|
|
||||||
</el-form-item>
|
|
||||||
<el-form-item style="width: 48%" prop="lxfs" label="联系方式">
|
|
||||||
<MOSTY.Other width="100%" clearable v-model="dataQuery.lxfs" placeholder="请输入联系方式"/>
|
|
||||||
</el-form-item>
|
|
||||||
<el-form-item style="width: 100%" prop="bags" label="所属保安公司">
|
|
||||||
<MOSTY.Other width="100%" clearable v-model="dataQuery.bags" placeholder="请输入所属保安公司"/>
|
|
||||||
</el-form-item>
|
|
||||||
</el-form>
|
|
||||||
<template #footer>
|
|
||||||
<div class="tc">
|
|
||||||
<el-button type="primary" @click="submitOk" v-loading="loading">保存</el-button>
|
|
||||||
</div>
|
|
||||||
</template>
|
|
||||||
</el-dialog>
|
|
||||||
</div>
|
|
||||||
</template>
|
|
||||||
|
|
||||||
<script setup>
|
|
||||||
import { qcckGet, qcckPost, qcckDelete } from "@/api/qcckApi.js";
|
|
||||||
import * as MOSTY from "@/components/MyComponents/index";
|
|
||||||
import * as rule from "@/utils/rules.js";
|
|
||||||
import MyTable from "@/components/aboutTable/MyTable.vue";
|
|
||||||
import Pages from "@/components/aboutTable/Pages.vue";
|
|
||||||
import { reactive, ref, onMounted,defineExpose,getCurrentInstance } from "vue";
|
|
||||||
const { proxy } = getCurrentInstance();
|
|
||||||
const props = defineProps({
|
|
||||||
dwid:String
|
|
||||||
})
|
|
||||||
const loading = ref(false)
|
|
||||||
const visibleDialog = ref(false);
|
|
||||||
// 设置不可选的日期
|
|
||||||
const disabledDate = (time) => {
|
|
||||||
return time.getTime() > Date.now();
|
|
||||||
};
|
|
||||||
const dataQuery = ref({})
|
|
||||||
const rules = reactive({
|
|
||||||
xm: [{ required: true, message: "请输入姓名", trigger: "blur" }],
|
|
||||||
csrq: [{ required: true, message: "请选择出生年月", trigger: ['change','blur'] }],
|
|
||||||
bags: [{ required: true, message: "请输入所属保安公司", trigger: "blur" }],
|
|
||||||
...rule.phoneRule({ validator: true ,require: true }, "lxfs"), // 是否必填 是否进行校验
|
|
||||||
...rule.identityCardRule({ validator: true ,require: true },'sfzh'), //身份证校验
|
|
||||||
})
|
|
||||||
const baform = ref()
|
|
||||||
const data = reactive({
|
|
||||||
tableData: [], //表格数据
|
|
||||||
tableHeight: 380,
|
|
||||||
keyCount: 0,
|
|
||||||
tableConfiger: {
|
|
||||||
rowHieght: 61,
|
|
||||||
showSelectType: "null",
|
|
||||||
loading: false
|
|
||||||
},
|
|
||||||
total: 0,
|
|
||||||
pageConfiger: {
|
|
||||||
pageSize: 20,
|
|
||||||
pageNum: 1
|
|
||||||
}, //分页
|
|
||||||
controlsWidth: 140, //操作栏宽度
|
|
||||||
tableColumn: [
|
|
||||||
{ label: "姓名", prop: "xm", showOverflowTooltip: true },
|
|
||||||
{ label: "出生年月", prop: "csrq", showOverflowTooltip: true },
|
|
||||||
{ label: "身份证号", prop: "sfzh", showOverflowTooltip: true },
|
|
||||||
{ label: "联系方式", prop: "lxfs", showOverflowTooltip: true },
|
|
||||||
{ label: "所属保安公司", prop: "bags", showOverflowTooltip: true }
|
|
||||||
]
|
|
||||||
});
|
|
||||||
|
|
||||||
const title = ref('')
|
|
||||||
// 获取列表
|
|
||||||
const getList = () =>{
|
|
||||||
data.tableConfiger.loading = true;
|
|
||||||
let params = { ...data.pageConfiger };
|
|
||||||
params.dwid = props.dwid;
|
|
||||||
qcckPost(params,'/mosty-lzcj/tbDwBary/queryList').then(res=>{
|
|
||||||
data.tableData = res.records || [];
|
|
||||||
data.total = res.total;
|
|
||||||
data.tableConfiger.loading = false;
|
|
||||||
}).catch(()=>{ data.tableConfiger.loading = false; })
|
|
||||||
}
|
|
||||||
|
|
||||||
// 新增 - 编辑
|
|
||||||
const handleDate = (type,row) =>{
|
|
||||||
title.value = type == 'add' ? '新增保安人员' :'编辑保安人员'
|
|
||||||
visibleDialog .value = true;
|
|
||||||
if(type == 'edit') dataQuery.value = JSON.parse(JSON.stringify(row))
|
|
||||||
}
|
|
||||||
// 删除
|
|
||||||
const delDictItem = (id) =>{
|
|
||||||
proxy.$confirm("确定要删除", "警告", {type: "warning"}).then(() => {
|
|
||||||
qcckPost(id,'/mosty-lzcj/tbDwBary/delete').then(()=>{
|
|
||||||
proxy.$message({ type: "success", message: "删除成功" });
|
|
||||||
getList();
|
|
||||||
})
|
|
||||||
}).catch(() => {});
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
// 提交
|
|
||||||
const submitOk = () =>{
|
|
||||||
baform.value.validate(valid=>{
|
|
||||||
if(!valid) return;
|
|
||||||
loading.value = true;
|
|
||||||
let url = title.value == '新增保安人员' ? '/mosty-lzcj/tbDwBary/insert' :'/mosty-lzcj/tbDwBary/update'
|
|
||||||
let text = title.value == '新增保安人员' ? '新增':'编辑';
|
|
||||||
let params = {...dataQuery.value};
|
|
||||||
params.dwid = props.dwid;
|
|
||||||
qcckPost(params, url).then((res) => {
|
|
||||||
proxy.$message({ type: "success", message: title.value+'成功'});
|
|
||||||
closed()
|
|
||||||
loading.value = false;
|
|
||||||
getList()
|
|
||||||
}).catch(()=>{
|
|
||||||
loading.value = false;
|
|
||||||
});
|
|
||||||
})
|
|
||||||
};
|
|
||||||
|
|
||||||
const closed = () =>{
|
|
||||||
visibleDialog.value = false;
|
|
||||||
dataQuery.value = {}
|
|
||||||
};
|
|
||||||
const changeNo = (val) =>{
|
|
||||||
data.pageConfiger.pageNum = val;
|
|
||||||
getList()
|
|
||||||
}
|
|
||||||
const changeSize = (val) =>{
|
|
||||||
data.pageConfiger.pageSize = val;
|
|
||||||
getList()
|
|
||||||
}
|
|
||||||
defineExpose({getList});
|
|
||||||
|
|
||||||
</script>
|
|
||||||
|
|
||||||
<style lang="scss" scoped>
|
|
||||||
.baxx-cnt {
|
|
||||||
width: 100%;
|
|
||||||
height: 100%;
|
|
||||||
border: 1px solid #133466;
|
|
||||||
padding: 10px;
|
|
||||||
box-sizing: border-box;
|
|
||||||
.texttext {
|
|
||||||
height: 100%;
|
|
||||||
box-sizing: border-box;
|
|
||||||
position: relative;
|
|
||||||
&::before {
|
|
||||||
position: absolute;
|
|
||||||
content: "";
|
|
||||||
left: 0;
|
|
||||||
bottom: -2px;
|
|
||||||
width: 70px;
|
|
||||||
height: 4px;
|
|
||||||
background: linear-gradient(to right, rgb(10, 103, 126) 0%, blue 100%);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
</style>
|
|
||||||
<style lang="scss">
|
|
||||||
.zdy-bainfo{
|
|
||||||
.el-form--inline{
|
|
||||||
padding: 20px 0 !important;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
</style>
|
|
|
@ -1,151 +0,0 @@
|
||||||
|
|
||||||
<template>
|
|
||||||
<div class="dialog" v-if="dialogForm">
|
|
||||||
<div class="head_box">
|
|
||||||
<span class="title">{{ title }} — {{modelLx}} </span>
|
|
||||||
<div>
|
|
||||||
<el-button type="primary" size="small" :loading="loading" @click="submit">保存</el-button>
|
|
||||||
<el-button size="small" @click="close">关闭</el-button>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<el-form ref="elform" :model="listQuery" :label-width="140" :rules="rules" :inline="true" label-position="right">
|
|
||||||
<!-- 学校 -->
|
|
||||||
<School v-model:listQuery="listQuery" v-if="modelLx == '学校'" :dic="props.dic"></School>
|
|
||||||
<!-- 医院 -->
|
|
||||||
<Hospital v-model:listQuery="listQuery" v-if="modelLx == '医院'" :dic="props.dic"></Hospital>
|
|
||||||
<!-- 娱乐场所 -->
|
|
||||||
<Ylcs v-model:listQuery="listQuery" v-if="modelLx == '娱乐场所'" :dic="props.dic"></Ylcs>
|
|
||||||
<!-- 民爆库房 -->
|
|
||||||
<Mbkf v-model:listQuery="listQuery" v-if="modelLx == '民爆库房'" :dic="props.dic"></Mbkf>
|
|
||||||
<!-- 保安信息 -->
|
|
||||||
<Baxx v-if="title == '编辑'" ref="editpeo" :dwid="listQuery.id"></Baxx>
|
|
||||||
</el-form>
|
|
||||||
</div>
|
|
||||||
</template>
|
|
||||||
|
|
||||||
<script setup>
|
|
||||||
import { qcckGet, qcckPost ,qcckPut} from "@/api/qcckApi.js";
|
|
||||||
import emitter from "@/utils/eventBus.js";
|
|
||||||
import * as rule from "@/utils/rules.js";
|
|
||||||
import * as MOSTY from "@/components/MyComponents/index";
|
|
||||||
import School from './school.vue'
|
|
||||||
import Hospital from './hospital.vue'
|
|
||||||
import Ylcs from './ylcs.vue'
|
|
||||||
import Baxx from './baxx.vue'
|
|
||||||
import Mbkf from './mbkf.vue'
|
|
||||||
import { ref,defineExpose, reactive, onMounted,defineEmits,getCurrentInstance, nextTick } from 'vue';
|
|
||||||
const emit = defineEmits(["updateDate"]);
|
|
||||||
const props = defineProps({
|
|
||||||
dic:Object
|
|
||||||
})
|
|
||||||
const { proxy } = getCurrentInstance();
|
|
||||||
const dialogForm = ref(false) //弹窗
|
|
||||||
const listQuery = ref({}) //表单
|
|
||||||
const loading = ref(false)
|
|
||||||
const elform = ref()
|
|
||||||
const title = ref('')
|
|
||||||
const rules = reactive({
|
|
||||||
name: [{ required: true, message: "请输入名称", trigger: "blur" }],
|
|
||||||
xxlx: [{ required: true, message: "请选择学校类型", trigger: ['change','blur'] }],
|
|
||||||
xxrs: [{ required: true, message: "请输入学校人数", trigger: ['change','blur'] }],
|
|
||||||
pbbbs: [{ required: true, message: "请输入要求配置保安人数", trigger: ['change','blur'] }],
|
|
||||||
zpbbs: [{ required: true, message: "请输入自聘保安数", trigger: ['change','blur'] }],
|
|
||||||
sfbbs: [{ required: true, message: "请输三方保安数", trigger: ['change','blur'] }],
|
|
||||||
sfjs: [{ required: true, message: "是否寄宿制学校", trigger: "change" }],
|
|
||||||
xzxm: [{ required: true, message: "请输入校长姓名", trigger: "blur" }],
|
|
||||||
frxm: [{ required: true, message: "请输入法人姓名", trigger: "blur" }],
|
|
||||||
cws: [{ required: true, message: "请输入床位数", trigger: ['change','blur'] }],
|
|
||||||
yyrs: [{ required: true, message: "请输入医院人数", trigger: ['change','blur'] }],
|
|
||||||
yyrll: [{ required: true, message: "请输入医院人流量", trigger: ['change','blur'] }],
|
|
||||||
mj: [{ required: true, message: "请输入面积", trigger: ['change','blur'] }],
|
|
||||||
kfsyr: [{ required: true, message: "请输入库房所有人", trigger: ['change','blur'] }],
|
|
||||||
kfUser: [{ required: true, message: "请输入库房使用人", trigger: ['change','blur'] }],
|
|
||||||
kry: [{ required: true, message: "请输入库容量", trigger: ['change','blur'] }],
|
|
||||||
sfdbs: [{ required: true, message: "请输入是否导爆索", trigger: ['change','blur'] }],
|
|
||||||
...rule.phoneRule({ validator: true ,require: true }, "lxfs"), // 是否必填 是否进行校验
|
|
||||||
...rule.phoneRule({ validator: true ,require: true }, "syrLxfs"), // 是否必填 是否进行校验
|
|
||||||
...rule.phoneRule({ validator: true ,require: true }, "userLxfs"), // 是否必填 是否进行校验
|
|
||||||
...rule.phoneRule({ validator: true ,require: true }, "lxdh"), // 是否必填 是否进行校验
|
|
||||||
...rule.identityCardRule({ validator: true ,require: true },'sfzh'), //身份证校验
|
|
||||||
...rule.phoneRule({ validator: true }, "mjlxdh"), // 是否必填 是否进行校验
|
|
||||||
})
|
|
||||||
const modelLx = ref('学校')
|
|
||||||
const editpeo = ref()
|
|
||||||
onMounted(()=>{})
|
|
||||||
|
|
||||||
// 初始化数据
|
|
||||||
const init = (type,row,lx)=> {
|
|
||||||
dialogForm.value = true;
|
|
||||||
modelLx.value = lx;
|
|
||||||
title.value = row ? '编辑':'新增'
|
|
||||||
if(row) getDataById(row.id)
|
|
||||||
}
|
|
||||||
// 根据id查询详情
|
|
||||||
const getDataById = (id)=>{
|
|
||||||
let url = ''
|
|
||||||
switch(modelLx.value){
|
|
||||||
case '学校':
|
|
||||||
url = '/mosty-lzcj/tbDwXx/selectById/'
|
|
||||||
break;
|
|
||||||
case '医院':
|
|
||||||
url = '/mosty-lzcj/tbDwYy/selectById'
|
|
||||||
break;
|
|
||||||
case '娱乐场所':
|
|
||||||
url = '/mosty-lzcj/TbDwYlth/selectById'
|
|
||||||
break;
|
|
||||||
case '民爆库房':
|
|
||||||
url = '/mosty-lzcj/tbDwMbkf/selectById';
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
qcckGet({id}, url).then(res=> {
|
|
||||||
listQuery.value = res;
|
|
||||||
nextTick(()=>{editpeo.value.getList()})
|
|
||||||
});
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
// 提交
|
|
||||||
const submit = ()=>{
|
|
||||||
elform.value.validate((valid) => {
|
|
||||||
if (!valid) return false;
|
|
||||||
loading.value = true;
|
|
||||||
let params = { ...listQuery.value}
|
|
||||||
let url = ''
|
|
||||||
params.type = modelLx.value;
|
|
||||||
switch(modelLx.value){
|
|
||||||
case '学校':
|
|
||||||
url = title.value == '新增' ? '/mosty-lzcj/tbDwXx/insert' :'/mosty-lzcj/tbDwXx/update'
|
|
||||||
break;
|
|
||||||
case '医院':
|
|
||||||
url = title.value == '新增' ? '/mosty-lzcj/tbDwYy/insert' :'/mosty-lzcj/tbDwYy/update'
|
|
||||||
break;
|
|
||||||
case '娱乐场所':
|
|
||||||
url = title.value == '新增' ? '/mosty-lzcj/TbDwYlth/insert' :'/mosty-lzcj/TbDwYlth/update'
|
|
||||||
break;
|
|
||||||
case '民爆库房':
|
|
||||||
url = title.value == '新增' ? '/mosty-lzcj/tbDwMbkf/insert' :'/mosty-lzcj/tbDwMbkf/update'
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
qcckPost(params, url).then((res) => {
|
|
||||||
proxy.$message({ type: "success", message: title.value+'成功'});
|
|
||||||
close()
|
|
||||||
emit("updateDate",modelLx.value);
|
|
||||||
}).catch(()=>{
|
|
||||||
loading.value = false;
|
|
||||||
});
|
|
||||||
});
|
|
||||||
}
|
|
||||||
// 关闭
|
|
||||||
const close = ()=>{
|
|
||||||
listQuery.value = {}
|
|
||||||
dialogForm.value = false;
|
|
||||||
loading.value = false;
|
|
||||||
}
|
|
||||||
defineExpose({init});
|
|
||||||
</script>
|
|
||||||
|
|
||||||
<style lang='scss' scoped>
|
|
||||||
@import "~@/assets/css/layout.scss";
|
|
||||||
@import "~@/assets/css/element-plus.scss";
|
|
||||||
|
|
||||||
</style>
|
|
|
@ -1,59 +0,0 @@
|
||||||
<!--
|
|
||||||
* @Author: your name
|
|
||||||
* @Date: 2025-03-20 17:57:11
|
|
||||||
* @LastEditTime: 2025-03-21 09:30:23
|
|
||||||
* @LastEditors: Please set LastEditors
|
|
||||||
* @Description: In User Settings Edit
|
|
||||||
* @FilePath: \lz\src\views\backOfficeSystem\editPassword\components\hospital.vue
|
|
||||||
-->
|
|
||||||
<template>
|
|
||||||
|
|
||||||
<el-form-item style="width: 48%" prop="name" label="医院名称">
|
|
||||||
<MOSTY.Other width="100%" clearable v-model="listQuery.name" placeholder="请输入医院名称"/>
|
|
||||||
</el-form-item>
|
|
||||||
<el-form-item style="width: 48%" prop="frxm" label="法人姓名">
|
|
||||||
<MOSTY.Other width="100%" clearable v-model="listQuery.frxm" placeholder="请输入法人姓名"/>
|
|
||||||
</el-form-item>
|
|
||||||
<el-form-item style="width: 48%" prop="lxfs" label="法联系方式">
|
|
||||||
<MOSTY.Other width="100%" clearable v-model="listQuery.lxfs" placeholder="请输入法人法联系方式"/>
|
|
||||||
</el-form-item>
|
|
||||||
<el-form-item style="width: 48%" prop="cws" label="床位数">
|
|
||||||
<MOSTY.Other width="100%" clearable v-model="listQuery.cws" placeholder="请输入床位数" type="Number" />
|
|
||||||
</el-form-item>
|
|
||||||
<el-form-item style="width: 48%" prop="yyrs" label="医院人数">
|
|
||||||
<MOSTY.Other width="100%" clearable v-model="listQuery.yyrs" placeholder="请输入医院人数" type="Number" />
|
|
||||||
</el-form-item>
|
|
||||||
<el-form-item style="width: 48%" prop="yyrll" label="医院人流量">
|
|
||||||
<MOSTY.Other width="100%" clearable v-model="listQuery.yyrll" placeholder="请输入医院人流量" type="Number" />
|
|
||||||
</el-form-item>
|
|
||||||
|
|
||||||
<el-form-item style="width: 48%" prop="pbbbs" label="要求配备保安数">
|
|
||||||
<MOSTY.Other width="100%" clearable v-model="listQuery.pbbbs" placeholder="请输入要求配备保安数" type="Number" />
|
|
||||||
</el-form-item>
|
|
||||||
<el-form-item style="width: 48%" prop="zpbbs" label="自聘保安数">
|
|
||||||
<MOSTY.Other width="100%" clearable v-model="listQuery.zpbbs" placeholder="请输入自聘保安数" type="Number" />
|
|
||||||
</el-form-item>
|
|
||||||
<el-form-item style="width: 48%" prop="sfbbs" label="第三方保安数">
|
|
||||||
<MOSTY.Other width="100%" clearable v-model="listQuery.sfbbs" placeholder="请输入第三方保安数" type="Number" />
|
|
||||||
</el-form-item>
|
|
||||||
</template>
|
|
||||||
|
|
||||||
<script setup>
|
|
||||||
import { qcckGet, qcckPost ,qcckPut} from "@/api/qcckApi.js";
|
|
||||||
import * as MOSTY from "@/components/MyComponents/index";
|
|
||||||
import * as rule from "@/utils/rules.js";
|
|
||||||
const props = defineProps({
|
|
||||||
listQuery:{
|
|
||||||
type:Object,
|
|
||||||
default:{}
|
|
||||||
},
|
|
||||||
dic:{
|
|
||||||
type:Object,
|
|
||||||
default:{}
|
|
||||||
},
|
|
||||||
});
|
|
||||||
</script>
|
|
||||||
|
|
||||||
<style>
|
|
||||||
|
|
||||||
</style>
|
|
|
@ -1,60 +0,0 @@
|
||||||
<!--
|
|
||||||
* @Author: your name
|
|
||||||
* @Date: 2025-03-21 09:35:01
|
|
||||||
* @LastEditTime: 2025-03-21 09:40:46
|
|
||||||
* @LastEditors: Please set LastEditors
|
|
||||||
* @Description: In User Settings Edit
|
|
||||||
* @FilePath: \lz\src\views\backOfficeSystem\editPassword\components\mbkf.vue
|
|
||||||
-->
|
|
||||||
<template>
|
|
||||||
<el-form-item style="width: 48%" prop="name" label="库房名称">
|
|
||||||
<MOSTY.Other width="100%" clearable v-model="listQuery.name" placeholder="请输入库房名称"/>
|
|
||||||
</el-form-item>
|
|
||||||
<el-form-item style="width: 48%" prop="kfsyr" label="库房所有人">
|
|
||||||
<MOSTY.Other width="100%" clearable v-model="listQuery.kfsyr" placeholder="请输入库房所有人"/>
|
|
||||||
</el-form-item>
|
|
||||||
<el-form-item style="width: 48%" prop="syrLxfs" label="所有人联系方式">
|
|
||||||
<MOSTY.Other width="100%" clearable v-model="listQuery.syrLxfs" placeholder="请输入所有人联系方式" />
|
|
||||||
</el-form-item>
|
|
||||||
<el-form-item style="width: 48%" prop="kfUser" label="库房使用人">
|
|
||||||
<MOSTY.Other width="100%" clearable v-model="listQuery.kfUser" placeholder="请输入库房使用人" />
|
|
||||||
</el-form-item>
|
|
||||||
<el-form-item style="width: 48%" prop="userLxfs" label="使用人联系方式">
|
|
||||||
<MOSTY.Other width="100%" clearable v-model="listQuery.userLxfs" placeholder="请输入使用人联系方式" />
|
|
||||||
</el-form-item>
|
|
||||||
<el-form-item style="width: 48%" prop="kry" label="库容量">
|
|
||||||
<MOSTY.Other width="100%" clearable v-model="listQuery.kry" type="Number" placeholder="请输入库容量" />
|
|
||||||
</el-form-item>
|
|
||||||
<el-form-item style="width: 48%" prop="sfdbs" label="是否导爆索">
|
|
||||||
<MOSTY.Select width="100%" clearable v-model="listQuery.sfdbs" :dictEnum="props.dic.sf" placeholder="请选择是否寄宿制学校"/>
|
|
||||||
</el-form-item>
|
|
||||||
<el-form-item style="width: 48%" prop="pbbbs" label="要求配置保安人数">
|
|
||||||
<MOSTY.Other width="100%" clearable v-model="listQuery.pbbbs" placeholder="请输入要求配置保安人数" type="Number" />
|
|
||||||
</el-form-item>
|
|
||||||
<el-form-item style="width: 48%" prop="zpbbs" label="自聘保安数">
|
|
||||||
<MOSTY.Other width="100%" clearable v-model="listQuery.zpbbs" placeholder="请输入自聘保安数" type="Number" />
|
|
||||||
</el-form-item>
|
|
||||||
<el-form-item style="width: 48%" prop="sfbbs" label="第三方保安数">
|
|
||||||
<MOSTY.Other width="100%" clearable v-model="listQuery.sfbbs" placeholder="请输入第三方保安数" type="Number" />
|
|
||||||
</el-form-item>
|
|
||||||
</template>
|
|
||||||
|
|
||||||
<script setup>
|
|
||||||
import { qcckGet, qcckPost ,qcckPut} from "@/api/qcckApi.js";
|
|
||||||
import * as MOSTY from "@/components/MyComponents/index";
|
|
||||||
import * as rule from "@/utils/rules.js";
|
|
||||||
const props = defineProps({
|
|
||||||
listQuery:{
|
|
||||||
type:Object,
|
|
||||||
default:{}
|
|
||||||
},
|
|
||||||
dic:{
|
|
||||||
type:Object,
|
|
||||||
default:{}
|
|
||||||
},
|
|
||||||
});
|
|
||||||
</script>
|
|
||||||
|
|
||||||
<style>
|
|
||||||
|
|
||||||
</style>
|
|
|
@ -1,52 +0,0 @@
|
||||||
<template>
|
|
||||||
<el-form-item style="width: 48%" prop="xxlx" label="学校类型">
|
|
||||||
<MOSTY.Select width="100%" clearable v-model="listQuery.xxlx" :dictEnum="props.dic.xxlx" placeholder="请选择学校类型"/>
|
|
||||||
</el-form-item>
|
|
||||||
<el-form-item style="width: 48%" prop="name" label="学校名称">
|
|
||||||
<MOSTY.Other width="100%" clearable v-model="listQuery.name" placeholder="请输入学校名称"/>
|
|
||||||
</el-form-item>
|
|
||||||
<el-form-item style="width: 48%" prop="xxrs" label="学校人数">
|
|
||||||
<MOSTY.Other width="100%" clearable v-model="listQuery.xxrs" placeholder="请输入学校人数" type="Number" />
|
|
||||||
</el-form-item>
|
|
||||||
<el-form-item style="width: 48%" prop="sfjs" label="寄宿制学校">
|
|
||||||
<MOSTY.Select width="100%" clearable v-model="listQuery.sfjs" :dictEnum="props.dic.sf" placeholder="请选择是否寄宿制学校"/>
|
|
||||||
</el-form-item>
|
|
||||||
<el-form-item style="width: 48%" prop="jsrs" label="寄宿人数">
|
|
||||||
<MOSTY.Other width="100%" clearable v-model="listQuery.jsrs" placeholder="请输入寄宿人数" type="Number" />
|
|
||||||
</el-form-item>
|
|
||||||
<el-form-item style="width: 48%" prop="xzxm" label="校长姓名">
|
|
||||||
<MOSTY.Other width="100%" clearable v-model="listQuery.xzxm" placeholder="请输入校长姓名"/>
|
|
||||||
</el-form-item>
|
|
||||||
<el-form-item style="width: 48%" prop="lxfs" label="校长联系方式">
|
|
||||||
<MOSTY.Other width="100%" clearable v-model="listQuery.lxfs" placeholder="请输入校长联系方式"/>
|
|
||||||
</el-form-item>
|
|
||||||
<el-form-item style="width: 48%" prop="pbbbs" label="要求配置保安人数">
|
|
||||||
<MOSTY.Other width="100%" clearable v-model="listQuery.pbbbs" placeholder="请输入要求配置保安人数" type="Number" />
|
|
||||||
</el-form-item>
|
|
||||||
<el-form-item style="width: 48%" prop="zpbbs" label="自聘保安数">
|
|
||||||
<MOSTY.Other width="100%" clearable v-model="listQuery.zpbbs" placeholder="请输入自聘保安数" type="Number" />
|
|
||||||
</el-form-item>
|
|
||||||
<el-form-item style="width: 48%" prop="sfbbs" label="第三方保安数">
|
|
||||||
<MOSTY.Other width="100%" clearable v-model="listQuery.sfbbs" placeholder="请输入第三方保安数" type="Number" />
|
|
||||||
</el-form-item>
|
|
||||||
</template>
|
|
||||||
|
|
||||||
<script setup>
|
|
||||||
import { qcckGet, qcckPost ,qcckPut} from "@/api/qcckApi.js";
|
|
||||||
import * as MOSTY from "@/components/MyComponents/index";
|
|
||||||
import * as rule from "@/utils/rules.js";
|
|
||||||
const props = defineProps({
|
|
||||||
listQuery:{
|
|
||||||
type:Object,
|
|
||||||
default:{}
|
|
||||||
},
|
|
||||||
dic:{
|
|
||||||
type:Object,
|
|
||||||
default:{}
|
|
||||||
},
|
|
||||||
});
|
|
||||||
</script>
|
|
||||||
|
|
||||||
<style>
|
|
||||||
|
|
||||||
</style>
|
|
|
@ -1,52 +0,0 @@
|
||||||
<!--
|
|
||||||
* @Author: your name
|
|
||||||
* @Date: 2025-03-20 17:57:11
|
|
||||||
* @LastEditTime: 2025-03-21 09:34:27
|
|
||||||
* @LastEditors: Please set LastEditors
|
|
||||||
* @Description: In User Settings Edit
|
|
||||||
* @FilePath: \lz\src\views\backOfficeSystem\editPassword\components\hospital.vue
|
|
||||||
-->
|
|
||||||
<template>
|
|
||||||
|
|
||||||
<el-form-item style="width: 48%" prop="name" label="场所名称">
|
|
||||||
<MOSTY.Other width="100%" clearable v-model="listQuery.name" placeholder="请输入场所名称"/>
|
|
||||||
</el-form-item>
|
|
||||||
<el-form-item style="width: 48%" prop="frxm" label="法人姓名">
|
|
||||||
<MOSTY.Other width="100%" clearable v-model="listQuery.frxm" placeholder="请输入法人姓名"/>
|
|
||||||
</el-form-item>
|
|
||||||
<el-form-item style="width: 48%" prop="lxfs" label="法联系方式">
|
|
||||||
<MOSTY.Other width="100%" clearable v-model="listQuery.lxfs" placeholder="请输入法人法联系方式"/>
|
|
||||||
</el-form-item>
|
|
||||||
<el-form-item style="width: 48%" prop="mj" label="面积">
|
|
||||||
<MOSTY.Other width="100%" clearable v-model="listQuery.mj" type="Number" />
|
|
||||||
</el-form-item>
|
|
||||||
<el-form-item style="width: 48%" prop="pbbbs" label="要求配备保安数">
|
|
||||||
<MOSTY.Other width="100%" clearable v-model="listQuery.pbbbs" placeholder="请输入要求配备保安数" type="Number" />
|
|
||||||
</el-form-item>
|
|
||||||
<el-form-item style="width: 48%" prop="zpbbs" label="自聘保安数">
|
|
||||||
<MOSTY.Other width="100%" clearable v-model="listQuery.zpbbs" placeholder="请输入自聘保安数" type="Number" />
|
|
||||||
</el-form-item>
|
|
||||||
<el-form-item style="width: 48%" prop="sfbbs" label="第三方保安数">
|
|
||||||
<MOSTY.Other width="100%" clearable v-model="listQuery.sfbbs" placeholder="请输入第三方保安数" type="Number" />
|
|
||||||
</el-form-item>
|
|
||||||
</template>
|
|
||||||
|
|
||||||
<script setup>
|
|
||||||
import { qcckGet, qcckPost ,qcckPut} from "@/api/qcckApi.js";
|
|
||||||
import * as MOSTY from "@/components/MyComponents/index";
|
|
||||||
import * as rule from "@/utils/rules.js";
|
|
||||||
const props = defineProps({
|
|
||||||
listQuery:{
|
|
||||||
type:Object,
|
|
||||||
default:{}
|
|
||||||
},
|
|
||||||
dic:{
|
|
||||||
type:Object,
|
|
||||||
default:{}
|
|
||||||
},
|
|
||||||
});
|
|
||||||
</script>
|
|
||||||
|
|
||||||
<style>
|
|
||||||
|
|
||||||
</style>
|
|
|
@ -0,0 +1,189 @@
|
||||||
|
<template>
|
||||||
|
<div class="dialog" v-if="dialogForm">
|
||||||
|
<div class="head_box">
|
||||||
|
<span class="title">{{ title }} </span>
|
||||||
|
<div>
|
||||||
|
<el-button type="primary" size="small" :loading="loading" @click="submit" >保存</el-button>
|
||||||
|
<el-button size="small" @click="close">关闭</el-button>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="form_cnt">
|
||||||
|
<FormMessage :formData="formData" ref="elform" :modelKey="listQuery" :rules="rules"></FormMessage>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</template>
|
||||||
|
|
||||||
|
<script setup>
|
||||||
|
import FormMessage from '@/components/aboutTable/FormMessage/index.vue'
|
||||||
|
import { qcckGet, qcckPost, qcckPut } from "@/api/qcckApi.js";
|
||||||
|
import * as rule from "@/utils/rules.js";
|
||||||
|
import {
|
||||||
|
ref,
|
||||||
|
defineExpose,
|
||||||
|
reactive,
|
||||||
|
onMounted,
|
||||||
|
defineEmits,
|
||||||
|
getCurrentInstance,
|
||||||
|
nextTick
|
||||||
|
} from "vue";
|
||||||
|
const emit = defineEmits(["updateDate"]);
|
||||||
|
const props = defineProps({
|
||||||
|
dic: Object
|
||||||
|
});
|
||||||
|
const { proxy } = getCurrentInstance();
|
||||||
|
const dialogForm = ref(false); //弹窗
|
||||||
|
const formData = ref([
|
||||||
|
{
|
||||||
|
text: "组合标签名称",
|
||||||
|
prop: "bqmc",
|
||||||
|
type: "input",
|
||||||
|
required: true
|
||||||
|
},
|
||||||
|
{
|
||||||
|
text: "身份标签大类",
|
||||||
|
prop: "sfbqdl",
|
||||||
|
type: "select",
|
||||||
|
optionList: [
|
||||||
|
{ label: "是", value: "1" },
|
||||||
|
{ label: "否", value: "0" }
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
text: "身份标签细类",
|
||||||
|
prop: "sfbqxl",
|
||||||
|
type: "select",
|
||||||
|
optionList: [
|
||||||
|
{ label: "是", value: "1" },
|
||||||
|
{ label: "否", value: "0" }
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
text: "身份标签等级",
|
||||||
|
prop: "sfbqdj",
|
||||||
|
type: "select",
|
||||||
|
optionList: [
|
||||||
|
{ label: "是", value: "1" },
|
||||||
|
{ label: "否", value: "0" }
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
text: "身份标签颜色",
|
||||||
|
prop: "sfbqys",
|
||||||
|
type: "select",
|
||||||
|
optionList: [
|
||||||
|
{ label: "是", value: "1" },
|
||||||
|
{ label: "否", value: "0" }
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
text: "行为标签大类",
|
||||||
|
prop: "xwbqdl",
|
||||||
|
type: "select",
|
||||||
|
optionList: [
|
||||||
|
{ label: "是", value: "1" },
|
||||||
|
{ label: "否", value: "0" }
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
text: "行为标签细类",
|
||||||
|
prop: "xwbqdl",
|
||||||
|
type: "select",
|
||||||
|
optionList: [
|
||||||
|
{ label: "是", value: "1" },
|
||||||
|
{ label: "否", value: "0" }
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
text: "行为标签等级",
|
||||||
|
prop: "sfbqdj",
|
||||||
|
type: "select",
|
||||||
|
value: "",
|
||||||
|
optionList: [
|
||||||
|
{ label: "是", value: "1" },
|
||||||
|
{ label: "否", value: "0" }
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
text: "行为标签颜色",
|
||||||
|
prop: "xwbqys",
|
||||||
|
type: "select",
|
||||||
|
optionList: [
|
||||||
|
{ label: "是", value: "1" },
|
||||||
|
{ label: "否", value: "0" }
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
text: "身份标签积分",
|
||||||
|
prop: "sfbqjf",
|
||||||
|
type: "input"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
text: "行为标签积分",
|
||||||
|
prop: "xwbqjf",
|
||||||
|
type: "input"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
text: "组合标签积分",
|
||||||
|
prop: "zhbqjf",
|
||||||
|
type: "input"
|
||||||
|
}
|
||||||
|
]);
|
||||||
|
const listQuery = ref({
|
||||||
|
sfbqdj: []
|
||||||
|
}); //表单
|
||||||
|
const loading = ref(false);
|
||||||
|
const elform = ref();
|
||||||
|
const title = ref("");
|
||||||
|
const rules = reactive({
|
||||||
|
bqmc: [{ required: true, message: "请输入标签名称", trigger: "blur" }]
|
||||||
|
});
|
||||||
|
const editpeo = ref();
|
||||||
|
onMounted(() => {});
|
||||||
|
// 初始化数据
|
||||||
|
const init = (type, row, lx) => {
|
||||||
|
dialogForm.value = true;
|
||||||
|
title.value = row ? "编辑" : "新增";
|
||||||
|
if (row) getDataById(row.id);
|
||||||
|
};
|
||||||
|
// 根据id查询详情
|
||||||
|
const getDataById = (id) => {
|
||||||
|
let url = "";
|
||||||
|
qcckGet({ id }, url).then((res) => {
|
||||||
|
listQuery.value = res;
|
||||||
|
nextTick(() => {
|
||||||
|
editpeo.value.getList();
|
||||||
|
});
|
||||||
|
});
|
||||||
|
};
|
||||||
|
const changeInput = (val) => {
|
||||||
|
listQuery.value = {
|
||||||
|
[Object.keys(val)]: val[Object.keys(val)],
|
||||||
|
...listQuery.value
|
||||||
|
};
|
||||||
|
console.log(listQuery.value, "formData.value");
|
||||||
|
};
|
||||||
|
// 提交
|
||||||
|
const submit = () => {
|
||||||
|
elform.value.submit(handleInfoFn);
|
||||||
|
};
|
||||||
|
const handleInfoFn = (val) => {
|
||||||
|
qcckPost(val, "url")
|
||||||
|
.then((res) => {
|
||||||
|
proxy.$message({ type: "success", message: title.value + "成功" });
|
||||||
|
close();
|
||||||
|
})
|
||||||
|
.catch(() => {});
|
||||||
|
};
|
||||||
|
// 关闭
|
||||||
|
const close = () => {
|
||||||
|
listQuery.value = {};
|
||||||
|
dialogForm.value = false;
|
||||||
|
loading.value = false;
|
||||||
|
};
|
||||||
|
defineExpose({ init });
|
||||||
|
</script>
|
||||||
|
|
||||||
|
<style lang="scss" scoped>
|
||||||
|
@import "~@/assets/css/layout.scss";
|
||||||
|
@import "~@/assets/css/element-plus.scss";
|
||||||
|
</style>
|
|
@ -1,7 +1,7 @@
|
||||||
<template>
|
<template>
|
||||||
<div>
|
<div>
|
||||||
<div class="titleBox">
|
<div class="titleBox">
|
||||||
<PageTitle title="单位保安信息">
|
<PageTitle title="身份标签管理">
|
||||||
<el-button type="primary" @click="addEdit('add', '')">
|
<el-button type="primary" @click="addEdit('add', '')">
|
||||||
<el-icon style="vertical-align: middle"><CirclePlus /></el-icon>
|
<el-icon style="vertical-align: middle"><CirclePlus /></el-icon>
|
||||||
<span style="vertical-align: middle">新增</span>
|
<span style="vertical-align: middle">新增</span>
|
||||||
|
@ -84,9 +84,12 @@ const list = reactive({
|
||||||
],
|
],
|
||||||
})
|
})
|
||||||
const searchConfiger = ref([
|
const searchConfiger = ref([
|
||||||
{ label: "场所" ,placeholder: "请输入姓名", showType: "defaultSlot" },
|
{ label: "标签名称",prop:'bqmc',placeholder: "请输入学校名称", showType: "input",},
|
||||||
{ label: "学校名称",prop:'name',placeholder: "请输入学校名称", showType: "input",},
|
{ label: "标签大类",prop:'sfbqdl' ,placeholder: "请选择标签大类", showType: "select",options:list.xxlx },
|
||||||
{ label: "学校类型",prop:'xxlx' ,placeholder: "请选择学校类型", showType: "select",options:list.xxlx },
|
{ label: "标签细类",prop:'sfbqdl' ,placeholder: "请选择标签细类", showType: "select",options:list.xxlx },
|
||||||
|
{ label: "标签等级",prop:'sfbqdl' ,placeholder: "请选择标签等级", showType: "select",options:list.xxlx },
|
||||||
|
{ label: "标签颜色",prop:'sfbqdl' ,placeholder: "请选择标签颜色", showType: "select",options:list.xxlx },
|
||||||
|
{ label: "积分分值",prop:'bqmc',placeholder: "请输入积分分值", showType: "input",},
|
||||||
]);
|
]);
|
||||||
const queryFrom = ref({});
|
const queryFrom = ref({});
|
||||||
const pageData = reactive({
|
const pageData = reactive({
|
||||||
|
@ -104,12 +107,12 @@ const pageData = reactive({
|
||||||
}, //分页
|
}, //分页
|
||||||
controlsWidth: 160, //操作栏宽度
|
controlsWidth: 160, //操作栏宽度
|
||||||
tableColumn: [
|
tableColumn: [
|
||||||
{ label: "学校名称", prop: "name" },
|
{ label: "标签名称", prop: "name" },
|
||||||
{ label: "学校人数", prop: "xxrs" },
|
{ label: "标签大类", prop: "xxrs" },
|
||||||
{ label: "是否寄宿学校", prop: "sfjs",showSolt:true},
|
{ label: "标签细类", prop: "sfjs",showSolt:true},
|
||||||
{ label: "学校类型", prop: "xxlx",showSolt:true},
|
{ label: "标签等级", prop: "xxlx",showSolt:true},
|
||||||
{ label: "校长", prop: "xzxm"},
|
{ label: "标签颜色", prop: "xzxm"},
|
||||||
{ label: "校长联系方式", prop: "lxfs" },
|
{ label: "积分分值", prop: "lxfs" },
|
||||||
]
|
]
|
||||||
});
|
});
|
||||||
onMounted(() => {
|
onMounted(() => {
|
|
@ -0,0 +1,195 @@
|
||||||
|
<template>
|
||||||
|
<div class="dialog" v-if="dialogForm">
|
||||||
|
<div class="head_box">
|
||||||
|
<span class="title">{{ title }} </span>
|
||||||
|
<div>
|
||||||
|
<el-button
|
||||||
|
type="primary"
|
||||||
|
size="small"
|
||||||
|
:loading="loading"
|
||||||
|
@click="submit"
|
||||||
|
>保存</el-button
|
||||||
|
>
|
||||||
|
<el-button size="small" @click="close">关闭</el-button>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="form_cnt">
|
||||||
|
<FormMessage :formData="formData" ref="elform" :modelKey="listQuery" :rules="rules"></FormMessage>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</template>
|
||||||
|
|
||||||
|
<script setup>
|
||||||
|
import FormMessage from '@/components/aboutTable/FormMessage/index.vue'
|
||||||
|
import { qcckGet, qcckPost, qcckPut } from "@/api/qcckApi.js";
|
||||||
|
import * as rule from "@/utils/rules.js";
|
||||||
|
import {
|
||||||
|
ref,
|
||||||
|
defineExpose,
|
||||||
|
reactive,
|
||||||
|
onMounted,
|
||||||
|
defineEmits,
|
||||||
|
getCurrentInstance,
|
||||||
|
nextTick
|
||||||
|
} from "vue";
|
||||||
|
const emit = defineEmits(["updateDate"]);
|
||||||
|
const props = defineProps({
|
||||||
|
dic: Object
|
||||||
|
});
|
||||||
|
const { proxy } = getCurrentInstance();
|
||||||
|
const dialogForm = ref(false); //弹窗
|
||||||
|
const formData = ref([
|
||||||
|
{
|
||||||
|
text: "组合标签名称",
|
||||||
|
prop: "bqmc",
|
||||||
|
type: "input",
|
||||||
|
required: true
|
||||||
|
},
|
||||||
|
{
|
||||||
|
text: "身份标签大类",
|
||||||
|
prop: "sfbqdl",
|
||||||
|
type: "select",
|
||||||
|
optionList: [
|
||||||
|
{ label: "是", value: "1" },
|
||||||
|
{ label: "否", value: "0" }
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
text: "身份标签细类",
|
||||||
|
prop: "sfbqxl",
|
||||||
|
type: "select",
|
||||||
|
optionList: [
|
||||||
|
{ label: "是", value: "1" },
|
||||||
|
{ label: "否", value: "0" }
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
text: "身份标签等级",
|
||||||
|
prop: "sfbqdj",
|
||||||
|
type: "select",
|
||||||
|
optionList: [
|
||||||
|
{ label: "是", value: "1" },
|
||||||
|
{ label: "否", value: "0" }
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
text: "身份标签颜色",
|
||||||
|
prop: "sfbqys",
|
||||||
|
type: "select",
|
||||||
|
optionList: [
|
||||||
|
{ label: "是", value: "1" },
|
||||||
|
{ label: "否", value: "0" }
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
text: "行为标签大类",
|
||||||
|
prop: "xwbqdl",
|
||||||
|
type: "select",
|
||||||
|
optionList: [
|
||||||
|
{ label: "是", value: "1" },
|
||||||
|
{ label: "否", value: "0" }
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
text: "行为标签细类",
|
||||||
|
prop: "xwbqdl",
|
||||||
|
type: "select",
|
||||||
|
optionList: [
|
||||||
|
{ label: "是", value: "1" },
|
||||||
|
{ label: "否", value: "0" }
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
text: "行为标签等级",
|
||||||
|
prop: "sfbqdj",
|
||||||
|
type: "select",
|
||||||
|
value: "",
|
||||||
|
optionList: [
|
||||||
|
{ label: "是", value: "1" },
|
||||||
|
{ label: "否", value: "0" }
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
text: "行为标签颜色",
|
||||||
|
prop: "xwbqys",
|
||||||
|
type: "select",
|
||||||
|
optionList: [
|
||||||
|
{ label: "是", value: "1" },
|
||||||
|
{ label: "否", value: "0" }
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
text: "身份标签积分",
|
||||||
|
prop: "sfbqjf",
|
||||||
|
type: "input"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
text: "行为标签积分",
|
||||||
|
prop: "xwbqjf",
|
||||||
|
type: "input"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
text: "组合标签积分",
|
||||||
|
prop: "zhbqjf",
|
||||||
|
type: "input"
|
||||||
|
}
|
||||||
|
]);
|
||||||
|
const listQuery = ref({
|
||||||
|
sfbqdj: []
|
||||||
|
}); //表单
|
||||||
|
const loading = ref(false);
|
||||||
|
const elform = ref();
|
||||||
|
const title = ref("");
|
||||||
|
const rules = reactive({
|
||||||
|
bqmc: [{ required: true, message: "请输入标签名称", trigger: "blur" }]
|
||||||
|
});
|
||||||
|
const editpeo = ref();
|
||||||
|
onMounted(() => {});
|
||||||
|
// 初始化数据
|
||||||
|
const init = (type, row, lx) => {
|
||||||
|
dialogForm.value = true;
|
||||||
|
title.value = row ? "编辑" : "新增";
|
||||||
|
if (row) getDataById(row.id);
|
||||||
|
};
|
||||||
|
// 根据id查询详情
|
||||||
|
const getDataById = (id) => {
|
||||||
|
let url = "";
|
||||||
|
qcckGet({ id }, url).then((res) => {
|
||||||
|
listQuery.value = res;
|
||||||
|
nextTick(() => {
|
||||||
|
editpeo.value.getList();
|
||||||
|
});
|
||||||
|
});
|
||||||
|
};
|
||||||
|
const changeInput = (val) => {
|
||||||
|
listQuery.value = {
|
||||||
|
[Object.keys(val)]: val[Object.keys(val)],
|
||||||
|
...listQuery.value
|
||||||
|
};
|
||||||
|
console.log(listQuery.value, "formData.value");
|
||||||
|
};
|
||||||
|
// 提交
|
||||||
|
const submit = () => {
|
||||||
|
elform.value.submit(handleInfoFn);
|
||||||
|
};
|
||||||
|
const handleInfoFn = (val) => {
|
||||||
|
qcckPost(val, "url")
|
||||||
|
.then((res) => {
|
||||||
|
proxy.$message({ type: "success", message: title.value + "成功" });
|
||||||
|
close();
|
||||||
|
})
|
||||||
|
.catch(() => {});
|
||||||
|
};
|
||||||
|
// 关闭
|
||||||
|
const close = () => {
|
||||||
|
listQuery.value = {};
|
||||||
|
dialogForm.value = false;
|
||||||
|
loading.value = false;
|
||||||
|
};
|
||||||
|
defineExpose({ init });
|
||||||
|
</script>
|
||||||
|
|
||||||
|
<style lang="scss" scoped>
|
||||||
|
@import "~@/assets/css/layout.scss";
|
||||||
|
@import "~@/assets/css/element-plus.scss";
|
||||||
|
</style>
|
284
src/views/backOfficeSystem/fourColorManage/tagManage/index.vue
Normal file
284
src/views/backOfficeSystem/fourColorManage/tagManage/index.vue
Normal file
|
@ -0,0 +1,284 @@
|
||||||
|
<template>
|
||||||
|
<div>
|
||||||
|
<div class="titleBox">
|
||||||
|
<PageTitle title="标签组合管理">
|
||||||
|
<el-button type="primary" @click="addEdit('add', '')">
|
||||||
|
<el-icon style="vertical-align: middle"><CirclePlus /></el-icon>
|
||||||
|
<span style="vertical-align: middle">新增</span>
|
||||||
|
</el-button>
|
||||||
|
</PageTitle>
|
||||||
|
</div>
|
||||||
|
<!-- 搜索 -->
|
||||||
|
<div ref="searchBox">
|
||||||
|
<Search :searchArr="searchConfiger" @submit="onSearch" :key="pageData.keyCount">
|
||||||
|
<template #defaultSlot>
|
||||||
|
<el-select placeholder="请选择类型" v-model="chooseType" @change="handleType">
|
||||||
|
<el-option v-for="it in list.chooseList" :key="it" :value="it" :label="it"></el-option>
|
||||||
|
</el-select>
|
||||||
|
</template>
|
||||||
|
</Search>
|
||||||
|
</div>
|
||||||
|
<!-- 表格 -->
|
||||||
|
<div class="tabBox">
|
||||||
|
<MyTable
|
||||||
|
:tableData="pageData.tableData"
|
||||||
|
:tableColumn="pageData.tableColumn"
|
||||||
|
:tableHeight="pageData.tableHeight"
|
||||||
|
:key="pageData.keyCount"
|
||||||
|
:tableConfiger="pageData.tableConfiger"
|
||||||
|
:controlsWidth="pageData.controlsWidth"
|
||||||
|
@chooseData="chooseData"
|
||||||
|
>
|
||||||
|
<template #sfjs="{ row }">
|
||||||
|
<DictTag :value="row.sfjs" :options="list.sf" />
|
||||||
|
</template>
|
||||||
|
<template #xxlx="{ row }">
|
||||||
|
<DictTag :value="row.xxlx" :options="list.xxlx" />
|
||||||
|
</template>
|
||||||
|
<!-- 操作 -->
|
||||||
|
<template #controls="{ row }">
|
||||||
|
<el-button size="small" @click="addEdit('edit', row)">编辑</el-button>
|
||||||
|
<el-button size="small" @click="delDictItem([row.id])" type="danger">删除</el-button>
|
||||||
|
</template>
|
||||||
|
</MyTable>
|
||||||
|
<Pages
|
||||||
|
@changeNo="changeNo"
|
||||||
|
@changeSize="changeSize"
|
||||||
|
:tableHeight="pageData.tableHeight"
|
||||||
|
:pageConfiger="{
|
||||||
|
...pageData.pageConfiger,
|
||||||
|
total: pageData.total
|
||||||
|
}"
|
||||||
|
></Pages>
|
||||||
|
</div>
|
||||||
|
<!-- 编辑详情 -->
|
||||||
|
<EditAddForm ref="detailDiloag" :dic="{xxlx:list.xxlx,sf:list.sf}" @updateDate="getList" />
|
||||||
|
</div>
|
||||||
|
</template>
|
||||||
|
|
||||||
|
<script setup>
|
||||||
|
import PageTitle from "@/components/aboutTable/PageTitle.vue";
|
||||||
|
import MyTable from "@/components/aboutTable/MyTable.vue";
|
||||||
|
import Pages from "@/components/aboutTable/Pages.vue";
|
||||||
|
import Search from "@/components/aboutTable/Search.vue";
|
||||||
|
import EditAddForm from "./components/editAddForm.vue";
|
||||||
|
import { qcckGet, qcckPost, qcckDelete } from "@/api/qcckApi.js";
|
||||||
|
import { reactive, ref, onMounted, getCurrentInstance } from "vue";
|
||||||
|
const { proxy } = getCurrentInstance();
|
||||||
|
const qypzDialog = ref();
|
||||||
|
const detailDiloag = ref();
|
||||||
|
const searchBox = ref(); //搜索框
|
||||||
|
const chooseType = ref('学校') //选择的类型
|
||||||
|
const list = reactive({
|
||||||
|
chooseList :['学校','医院','娱乐场所','民爆库房'],
|
||||||
|
xxlx:[
|
||||||
|
{label:'职业学校',value:'01'},
|
||||||
|
{label:'大专',value:'02'},
|
||||||
|
{label:'本科',value:'03'},
|
||||||
|
{label:'研究生',value:'04'},
|
||||||
|
{label:'博士',value:'05'},
|
||||||
|
],
|
||||||
|
sf:[
|
||||||
|
{label:'是',value:'1'},
|
||||||
|
{label:'否',value:'0'},
|
||||||
|
],
|
||||||
|
})
|
||||||
|
const searchConfiger = ref([
|
||||||
|
{ label: "标签名称",prop:'bqmc',placeholder: "请输入学校名称", showType: "input",},
|
||||||
|
{ label: "标签大类",prop:'sfbqdl' ,placeholder: "请选择标签大类", showType: "select",options:list.xxlx },
|
||||||
|
{ label: "标签细类",prop:'sfbqdl' ,placeholder: "请选择标签细类", showType: "select",options:list.xxlx },
|
||||||
|
{ label: "标签等级",prop:'sfbqdl' ,placeholder: "请选择标签等级", showType: "select",options:list.xxlx },
|
||||||
|
{ label: "标签颜色",prop:'sfbqdl' ,placeholder: "请选择标签颜色", showType: "select",options:list.xxlx },
|
||||||
|
{ label: "积分分值",prop:'bqmc',placeholder: "请输入积分分值", showType: "input",},
|
||||||
|
]);
|
||||||
|
const queryFrom = ref({});
|
||||||
|
const pageData = reactive({
|
||||||
|
tableData: [], //表格数据
|
||||||
|
keyCount: 0,
|
||||||
|
tableConfiger: {
|
||||||
|
rowHieght: 61,
|
||||||
|
showSelectType: "null",
|
||||||
|
loading: false
|
||||||
|
},
|
||||||
|
total: 0,
|
||||||
|
pageConfiger: {
|
||||||
|
pageSize: 20,
|
||||||
|
pageCurrent: 1
|
||||||
|
}, //分页
|
||||||
|
controlsWidth: 160, //操作栏宽度
|
||||||
|
tableColumn: [
|
||||||
|
{ label: "组合标签名称", prop: "name" },
|
||||||
|
{ label: "组合标签等级", prop: "xxrs" },
|
||||||
|
{ label: "身份标签大类", prop: "sfjs",showSolt:true},
|
||||||
|
{ label: "身份标签细类", prop: "xxlx",showSolt:true},
|
||||||
|
{ label: "身份标签等级", prop: "xzxm"},
|
||||||
|
{ label: "身份标签颜色", prop: "lxfs" },
|
||||||
|
{ label: "行为标签大类", prop: "xxlx",showSolt:true},
|
||||||
|
{ label: "行为标签细类", prop: "xxlx",showSolt:true},
|
||||||
|
{ label: " 行为标签等级", prop: "xxlx",showSolt:true},
|
||||||
|
{ label: " 行为标签颜色", prop: "xxlx",showSolt:true},
|
||||||
|
{ label: " 身份标签积分", prop: "xxlx",showSolt:true},
|
||||||
|
{ label: " 行为标签积分", prop: "xxlx",showSolt:true},
|
||||||
|
{ label: " 组合标签积分", prop: "xxlx",showSolt:true},
|
||||||
|
]
|
||||||
|
});
|
||||||
|
onMounted(() => {
|
||||||
|
getList(chooseType.value)
|
||||||
|
tabHeightFn();
|
||||||
|
});
|
||||||
|
|
||||||
|
//选择类型
|
||||||
|
const handleType = (val) => {
|
||||||
|
pageData.keyCount++;
|
||||||
|
pageData.pageConfiger.pageCurrent = 1;
|
||||||
|
searchConfiger.value = searchConfiger.value.slice(0,1);
|
||||||
|
let arr = [],tableColumn = [];
|
||||||
|
switch(val){
|
||||||
|
case '学校':
|
||||||
|
arr = [
|
||||||
|
{ label: "学校名称" ,prop:'name', placeholder: "请输入学校名称", showType: "input" },
|
||||||
|
{ label: "学校类型" ,prop:'xxlx', placeholder: "请选择学校类型", showType: "select",options:list.xxlx },
|
||||||
|
]
|
||||||
|
tableColumn = [
|
||||||
|
{ label: "学校名称", prop: "name" },
|
||||||
|
{ label: "学校人数", prop: "xxrs" },
|
||||||
|
{ label: "是否寄宿学校", prop: "sfjs",showSolt:true},
|
||||||
|
{ label: "学校类型", prop: "xxlx",showSolt:true},
|
||||||
|
{ label: "校长", prop: "xzxm"},
|
||||||
|
{ label: "校长联系方式", prop: "lxfs" },
|
||||||
|
{ label: "要求配备保安数", prop: "pbbbs" },
|
||||||
|
{ label: "自聘保安数", prop: "zpbbs" },
|
||||||
|
{ label: "第三方保安数", prop: "sfbbs" },
|
||||||
|
]
|
||||||
|
break;
|
||||||
|
case '医院':
|
||||||
|
arr = [{ label: "医院名称" ,prop:'name',placeholder: "请输入医院名称", showType: "input" }];
|
||||||
|
tableColumn = [
|
||||||
|
{ label: "医院名称", prop: "name" },
|
||||||
|
{ label: "医院法人", prop: "frxm" },
|
||||||
|
{ label: "法人联系方式", prop: "lxfs" },
|
||||||
|
{ label: "床位数", prop: "cws" },
|
||||||
|
{ label: "医院人数", prop: "yyrs" },
|
||||||
|
{ label: "医院人流量", prop: "yyrll" },
|
||||||
|
{ label: "要求配备保安数", prop: "pbbbs" },
|
||||||
|
{ label: "自聘保安数", prop: "zpbbs" },
|
||||||
|
{ label: "第三方保安数", prop: "sfbbs" },
|
||||||
|
]
|
||||||
|
break;
|
||||||
|
case '娱乐场所':
|
||||||
|
arr = [{ label: "娱乐场所" ,prop:'name',placeholder: "请输娱乐场所名称", showType: "input" }]
|
||||||
|
tableColumn = [
|
||||||
|
{ label: "场所名称", prop: "name" },
|
||||||
|
{ label: "法人", prop: "frxm" },
|
||||||
|
{ label: "法人联系方式", prop: "lxfs" },
|
||||||
|
{ label: "面积", prop: "mj" },
|
||||||
|
{ label: "要求配备保安数", prop: "pbbbs" },
|
||||||
|
{ label: "自聘保安数", prop: "zpbbs" },
|
||||||
|
{ label: "第三方保安数", prop: "sfbbs" },
|
||||||
|
]
|
||||||
|
break;
|
||||||
|
case '民爆库房':
|
||||||
|
arr = [{ label: "民爆库房" ,prop:'bmkf',placeholder: "请输民爆库房名称", showType: "input" }]
|
||||||
|
tableColumn = [
|
||||||
|
{ label: "库房名称", prop: "name" },
|
||||||
|
{ label: "库房所有人", prop: "kfsyr" },
|
||||||
|
{ label: "所有人联系方式", prop: "syrLxfs" },
|
||||||
|
{ label: "库房使用人", prop: "kfUser" },
|
||||||
|
{ label: "使用人联系方式", prop: "userLxfs" },
|
||||||
|
{ label: "库容量", prop: "kry" },
|
||||||
|
{ label: "要求配备保安数", prop: "pbbbs" },
|
||||||
|
{ label: "自聘保安数", prop: "zpbbs" },
|
||||||
|
{ label: "第三方保安数", prop: "sfbbs" },
|
||||||
|
]
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
searchConfiger.value = searchConfiger.value.concat(arr);
|
||||||
|
pageData.tableColumn = tableColumn;
|
||||||
|
getList(chooseType.value)
|
||||||
|
}
|
||||||
|
// 搜索
|
||||||
|
const onSearch = (val) =>{
|
||||||
|
queryFrom.value = {...val}
|
||||||
|
pageData.pageConfiger.pageCurrent = 1;
|
||||||
|
getList(chooseType.value)
|
||||||
|
}
|
||||||
|
|
||||||
|
const changeNo = (val) =>{
|
||||||
|
pageData.pageConfiger.pageNum = val;
|
||||||
|
getList(chooseType.value)
|
||||||
|
}
|
||||||
|
const changeSize = (val) =>{
|
||||||
|
pageData.pageConfiger.pageSize = val;
|
||||||
|
getList(chooseType.value)
|
||||||
|
}
|
||||||
|
|
||||||
|
// 获取列表
|
||||||
|
const getList = (val) =>{
|
||||||
|
let url = ''
|
||||||
|
switch(val){
|
||||||
|
case '学校':
|
||||||
|
url = '/mosty-lzcj/tbDwXx/queryList';
|
||||||
|
break;
|
||||||
|
case '医院':
|
||||||
|
url = '/mosty-lzcj/tbDwYy/queryList';
|
||||||
|
break;
|
||||||
|
case '娱乐场所':
|
||||||
|
url = '/mosty-lzcj/TbDwYlth/queryList';
|
||||||
|
break;
|
||||||
|
case '民爆库房':
|
||||||
|
url = '/mosty-lzcj/tbDwMbkf/queryList';
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
pageData.tableConfiger.loading = true;
|
||||||
|
let data = { ...pageData.pageConfiger,...queryFrom.value };
|
||||||
|
qcckPost(data,url).then(res=>{
|
||||||
|
pageData.tableData = res.records || [];
|
||||||
|
pageData.total = res.total;
|
||||||
|
pageData.tableConfiger.loading = false;
|
||||||
|
}).catch(()=>{ pageData.tableConfiger.loading = false; })
|
||||||
|
}
|
||||||
|
// 删除
|
||||||
|
const delDictItem = (ids) =>{
|
||||||
|
let url = ''
|
||||||
|
switch(chooseType.value){
|
||||||
|
case '学校':
|
||||||
|
url = '/mosty-lzcj/tbDwXx/delete';
|
||||||
|
break;
|
||||||
|
case '医院':
|
||||||
|
url = '/mosty-lzcj/tbDwYy/delete';
|
||||||
|
break;
|
||||||
|
case '娱乐场所':
|
||||||
|
url = '/mosty-lzcj/TbDwYlth/delete';
|
||||||
|
break;
|
||||||
|
case '民爆库房':
|
||||||
|
url = '/mosty-lzcj/tbDwMbkf/delete';
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
// proxy.$confirm("确定要删除", "警告", {type: "warning"}).then(() => {
|
||||||
|
// qcckPost(ids,url).then(()=>{
|
||||||
|
// proxy.$message({ type: "success", message: "删除成功" });
|
||||||
|
// getList(chooseType.value);
|
||||||
|
// })
|
||||||
|
// }).catch(() => {});
|
||||||
|
}
|
||||||
|
|
||||||
|
// 新增
|
||||||
|
const addEdit = (type, row) => {
|
||||||
|
detailDiloag.value.init(type, row,chooseType.value);
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
|
// 表格高度计算
|
||||||
|
const tabHeightFn = () => {
|
||||||
|
pageData.tableHeight = window.innerHeight - searchBox.value.offsetHeight - 250;
|
||||||
|
window.onresize = function () {
|
||||||
|
tabHeightFn();
|
||||||
|
};
|
||||||
|
};
|
||||||
|
</script>
|
||||||
|
|
||||||
|
<style>
|
||||||
|
.el-loading-mask {
|
||||||
|
background: rgba(0, 0, 0, 0.5) !important;
|
||||||
|
}
|
||||||
|
</style>
|
Loading…
Reference in New Issue
Block a user