对接接口和更新新增表单组件
This commit is contained in:
parent
95d84c3b06
commit
6c694b52d3
|
@ -165,7 +165,7 @@ header {
|
||||||
}
|
}
|
||||||
|
|
||||||
.searchBox {
|
.searchBox {
|
||||||
padding: 15px 15px 0 15px;
|
padding: 15px;
|
||||||
border-radius: 1px;
|
border-radius: 1px;
|
||||||
position: relative;
|
position: relative;
|
||||||
background: #fff;
|
background: #fff;
|
||||||
|
@ -210,7 +210,7 @@ header {
|
||||||
position: relative;
|
position: relative;
|
||||||
background: #fff;
|
background: #fff;
|
||||||
border-radius: 4px;
|
border-radius: 4px;
|
||||||
height: calc(100vh - 124px);
|
height: calc(100vh - 327px);
|
||||||
.el-table--fit {
|
.el-table--fit {
|
||||||
width: calc(100% - 20px) !important;
|
width: calc(100% - 20px) !important;
|
||||||
position: absolute;
|
position: absolute;
|
||||||
|
|
|
@ -1,127 +1,82 @@
|
||||||
<template>
|
<template>
|
||||||
<el-form
|
<el-form ref="elform" :model="listQuery" :label-width="140" :rules="props.rules" :inline="true" label-position="right">
|
||||||
ref="elform"
|
<el-form-item v-for="item in props.formData" :style="{ width: item.width }" :prop="item.prop" :label="item.label" :label-width="item.labelWidth" :key="item">
|
||||||
:model="listQuery"
|
<!-- input表单 -->
|
||||||
:label-width="140"
|
<MOSTY.Other v-if="item.type == 'input'" width="100%" clearable v-model="listQuery[item.prop]" :placeholder="`请输入${item.label}`"/>
|
||||||
:rules="props.rules"
|
<el-input v-model="listQuery[item.prop]" v-else-if="item.type == 'textarea'" :placeholder="`请输入${item.label}`" />
|
||||||
:inline="true"
|
<!-- Select选择 -->
|
||||||
label-position="right"
|
<MOSTY.Select
|
||||||
>
|
v-else-if="item.type == 'select'"
|
||||||
<el-form-item v-for="item in props.formData" :style="{ width: item.width }" :prop="item.prop" :label="item.text" :label-width="item.labelWidth" :key="item">
|
width="100%"
|
||||||
<!-- input表单 -->
|
clearable
|
||||||
<MOSTY.Other v-if="item.type == 'input'" width="100%" clearable v-model="listQuery[item.prop]" :placeholder="`请输入${item.text}`"/>
|
v-model="listQuery[item.prop]"
|
||||||
<el-input v-model="listQuery[item.prop]" v-else-if="item.type == 'textarea'" :placeholder="`请输入${item.text}`" />
|
:dictEnum="item.options"
|
||||||
<!-- Select选择 -->
|
:placeholder="`请选择${item.label}`"/>
|
||||||
<MOSTY.Select
|
<template v-else-if="item.showType === 'department'">
|
||||||
v-else-if="item.type == 'select'"
|
<MOSTY.Department clearable v-model="listQuery[item.prop]" />
|
||||||
width="100%"
|
</template>
|
||||||
clearable
|
<!-- Upload选择 -->
|
||||||
v-model="listQuery[item.prop]"
|
<MOSTY.Upload v-else-if="item.type == 'upload'" width="100%" v-model="listQuery[item.prop]"/>
|
||||||
:dictEnum="item.optionList"
|
<!-- CheckBox选择 -->
|
||||||
:placeholder="`请选择${item.text}`"
|
<MOSTY.CheckBox v-else-if="item.type == 'checkbox'" width="100%" clearable v-model="listQuery[item.prop]" :checkList="item.options" :placeholder="`请选择${item.label}`"/>
|
||||||
/>
|
|
||||||
|
|
||||||
<template v-else-if="item.showType === 'department'">
|
<!-- 单选 -->
|
||||||
<MOSTY.Department clearable v-model="listQuery[item.prop]" />
|
<el-radio-group v-model="listQuery[item.prop]" v-else-if="item.type == 'radio'">
|
||||||
</template>
|
<el-radio v-for="obj in item.options" :key="obj.value" :label="obj.value" >{{ obj.label }}</el-radio>
|
||||||
|
</el-radio-group>
|
||||||
|
|
||||||
<!-- Upload选择 -->
|
<!-- 时间选择 -->
|
||||||
<MOSTY.Upload
|
<el-time-picker v-else-if="item.type == 'time'" v-model="listQuery[item.prop]" placeholder="选择时间"/>
|
||||||
v-else-if="item.type == 'upload'"
|
<el-date-picker v-else-if="item.type == 'date'" v-model="listQuery[item.prop]" type="date" value-format="YYYY-MM-DD" :placeholder="请选择时间"/>
|
||||||
width="100%"
|
<el-date-picker v-else-if="item.type == 'datetime'" v-model="listQuery[item.prop]" type="datetime" value-format="YYYY-MM-DD HH:mm:ss" :placeholder="请选择时间"/>
|
||||||
v-model="listQuery[item.prop]"
|
<el-date-picker v-else-if="item.type == 'datetimerange'" v-model="listQuery[item.prop]" type="datetimerange" :shortcuts="shortcuts" range-separator="To" value-format="YYYY-MM-DD HH:mm:ss" start-placeholder="选择开始时间" end-placeholder="选择结束时间"/>
|
||||||
/>
|
<el-date-picker v-else-if="item.type == 'daterange'" v-model="listQuery[item.prop]" type="daterange" range-separator="To" value-format="YYYY-MM-DD" start-placeholder="选择开始日期" end-placeholder="选择开始日期" />
|
||||||
<!-- CheckBox选择 -->
|
|
||||||
<MOSTY.CheckBox
|
<el-switch v-else-if="item.type == 'switch'" v-model="listQuery[item.prop]" class="ml-2" style="--el-switch-on-color: #13ce66; --el-switch-off-color: #ff4949"/>
|
||||||
v-else-if="item.type == 'checkbox'"
|
|
||||||
width="100%"
|
<template v-else-if="item.type === 'slot'">
|
||||||
clearable
|
<slot :name="item.prop"></slot>
|
||||||
v-model="listQuery[item.prop]"
|
</template>
|
||||||
:checkList="item.optionList"
|
</el-form-item>
|
||||||
:placeholder="`请选择${item.text}`"
|
</el-form>
|
||||||
/>
|
</template>
|
||||||
<el-radio-group v-model="listQuery[item.prop]" v-else-if="item.type == 'radio'">
|
|
||||||
<el-radio
|
|
||||||
v-for="obj in item.optionList"
|
|
||||||
:key="obj.value"
|
|
||||||
:label="obj.value"
|
|
||||||
>{{ obj.label }}</el-radio
|
|
||||||
>
|
|
||||||
</el-radio-group>
|
|
||||||
<el-date-picker
|
|
||||||
v-else-if="item.type == 'date'"
|
|
||||||
v-model="listQuery[item.prop]"
|
|
||||||
type="date"
|
|
||||||
value-format="YYYY-MM-DD"
|
|
||||||
:placeholder="请选择时间"
|
|
||||||
/>
|
|
||||||
<el-date-picker
|
|
||||||
v-else-if="item.type == 'datetime'"
|
|
||||||
v-model="listQuery[item.prop]"
|
|
||||||
type="datetime"
|
|
||||||
value-format="YYYY-MM-DD HH:mm:ss"
|
|
||||||
:placeholder="请选择时间"
|
|
||||||
/>
|
|
||||||
<el-date-picker
|
|
||||||
v-else-if="item.type == 'datetimerange'"
|
|
||||||
v-model="listQuery[item.prop]"
|
|
||||||
type="datetimerange"
|
|
||||||
:shortcuts="shortcuts"
|
|
||||||
range-separator="To"
|
|
||||||
value-format="YYYY-MM-DD HH:mm:ss"
|
|
||||||
start-placeholder="选择开始时间"
|
|
||||||
end-placeholder="选择结束时间"
|
|
||||||
/>
|
|
||||||
<el-date-picker
|
|
||||||
v-else-if="item.type == 'daterange'"
|
|
||||||
v-model="listQuery[item.prop]"
|
|
||||||
type="daterange"
|
|
||||||
range-separator="To"
|
|
||||||
value-format="YYYY-MM-DD"
|
|
||||||
start-placeholder="选择开始日期"
|
|
||||||
end-placeholder="选择开始日期"
|
|
||||||
/>
|
|
||||||
<el-switch
|
|
||||||
v-else-if="item.type == 'switch'"
|
|
||||||
v-model="listQuery[item.prop]"
|
|
||||||
class="ml-2"
|
|
||||||
style="--el-switch-on-color: #13ce66; --el-switch-off-color: #ff4949"
|
|
||||||
/>
|
|
||||||
<template v-else-if="item.type === 'slot'">
|
|
||||||
<slot :name="item.prop"></slot>
|
|
||||||
</template>
|
|
||||||
</el-form-item>
|
|
||||||
</el-form>
|
|
||||||
</template>
|
|
||||||
<script setup>
|
<script setup>
|
||||||
import { qcckGet, qcckPost, qcckPut } from "@/api/qcckApi.js";
|
import * as MOSTY from "@/components/MyComponents/index";
|
||||||
import * as MOSTY from "@/components/MyComponents/index";
|
import { ref, defineProps, defineEmits, defineExpose, watch } from "vue";
|
||||||
import { ref, defineProps, defineEmits, defineExpose } from "vue";
|
const props = defineProps({
|
||||||
const props = defineProps({
|
//循环的值
|
||||||
//循环的值
|
formData: {
|
||||||
formData: {
|
default: [],
|
||||||
default: [],
|
type: Array
|
||||||
type: Array
|
},
|
||||||
},
|
propName: {
|
||||||
propName: {
|
default: "",
|
||||||
default: "",
|
type: String
|
||||||
type: String
|
},
|
||||||
},
|
rules: {
|
||||||
rules: {
|
default: {},
|
||||||
default: {},
|
type: Object
|
||||||
type: Object
|
},
|
||||||
}
|
modelValue: {
|
||||||
|
type: Object,
|
||||||
|
default: {}
|
||||||
|
},
|
||||||
|
});
|
||||||
|
const elform = ref();
|
||||||
|
const listQuery = ref({});
|
||||||
|
const emits = defineEmits(["update:modelValue"]);
|
||||||
|
// 提交
|
||||||
|
const submit = (resfun) => {
|
||||||
|
elform.value.validate((valid) => {
|
||||||
|
if (!valid) return false;
|
||||||
|
resfun(listQuery.value);
|
||||||
});
|
});
|
||||||
const elform = ref();
|
};
|
||||||
const listQuery = ref({});
|
|
||||||
const emits = defineEmits(["update:modelValue"]);
|
watch(() => listQuery.value,(newVal) => {
|
||||||
|
emits('update:modelValue', newVal)
|
||||||
const submit = (resfun) => {
|
},{ immediate: true, deep: true }
|
||||||
elform.value.validate((valid) => {
|
);
|
||||||
if (!valid) return false;
|
defineExpose({ submit });
|
||||||
resfun(listQuery.value);
|
</script>
|
||||||
});
|
|
||||||
};
|
|
||||||
defineExpose({ submit });
|
|
||||||
</script>
|
|
||||||
|
|
|
@ -5,6 +5,9 @@
|
||||||
<li :class=" idx == active ? 'hedBtn':''" @click="handleBtn(it,idx)" class="pointer ml10 mr10" v-for="(it,idx) in title" :key="it">{{ it }}</li>
|
<li :class=" idx == active ? 'hedBtn':''" @click="handleBtn(it,idx)" class="pointer ml10 mr10" v-for="(it,idx) in title" :key="it">{{ it }}</li>
|
||||||
</ul>
|
</ul>
|
||||||
<div class="font" v-else>{{ title }}</div>
|
<div class="font" v-else>{{ title }}</div>
|
||||||
|
<div class="ml30">
|
||||||
|
<slot name="left"></slot>
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="cnetr">
|
<div class="cnetr">
|
||||||
<slot name="center"></slot>
|
<slot name="center"></slot>
|
||||||
|
|
|
@ -576,7 +576,7 @@ watchEffect(() => {
|
||||||
flex-wrap: wrap;
|
flex-wrap: wrap;
|
||||||
.item {
|
.item {
|
||||||
display: flex;
|
display: flex;
|
||||||
margin-right: 20px;
|
margin-right: 12px;
|
||||||
margin-bottom: 15px;
|
margin-bottom: 15px;
|
||||||
}
|
}
|
||||||
.label {
|
.label {
|
||||||
|
|
|
@ -49,13 +49,8 @@ import installFilter from "@/filters";
|
||||||
//事件总线
|
//事件总线
|
||||||
import mitt from "mitt";
|
import mitt from "mitt";
|
||||||
|
|
||||||
import {
|
import { resetForm } from "@/utils/validate";
|
||||||
resetForm
|
import { getDict, setCascader } from '@/utils/dict';
|
||||||
} from "@/utils/validate";
|
|
||||||
import {
|
|
||||||
getDict,
|
|
||||||
setCascader
|
|
||||||
} from '@/utils/dict';
|
|
||||||
import axios from "axios";
|
import axios from "axios";
|
||||||
|
|
||||||
//挂载全局方法
|
//挂载全局方法
|
||||||
|
|
|
@ -6,7 +6,7 @@ import {
|
||||||
removeAllItem
|
removeAllItem
|
||||||
} from "@/utils/storage";
|
} from "@/utils/storage";
|
||||||
// 白名单
|
// 白名单
|
||||||
const whiteList = ['/login','/','/KeyPopulations', '/FourColorWarning','/oatuh_login','/editPassword', '/404', '/401']
|
const whiteList = ['/login','/oatuh_login','/404', '/401']
|
||||||
/**
|
/**
|
||||||
* 路由前置守卫
|
* 路由前置守卫
|
||||||
* to 去哪里
|
* to 去哪里
|
||||||
|
|
|
@ -16,7 +16,103 @@ import store from "@/store";
|
||||||
*/
|
*/
|
||||||
|
|
||||||
export const privateRoutes = [
|
export const privateRoutes = [
|
||||||
|
{
|
||||||
|
path: "/systemConfig",
|
||||||
|
component: layout,
|
||||||
|
name: "systemConfigModel",
|
||||||
|
redirect: "/dict/index",
|
||||||
|
meta: {
|
||||||
|
title: "系统管理",
|
||||||
|
icon: "article"
|
||||||
|
},
|
||||||
|
children: [
|
||||||
|
{
|
||||||
|
path: "/user/department-ist",
|
||||||
|
name: "departmentList",
|
||||||
|
component: () => import("@/views/backOfficeSystem/systemConfig/department-list/index"),
|
||||||
|
meta: {
|
||||||
|
title: "部门管理",
|
||||||
|
icon: "article-ranking"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
|
||||||
|
{
|
||||||
|
path: "/user/userList",
|
||||||
|
name: "userList",
|
||||||
|
component: () => import("@/views/backOfficeSystem/systemConfig/user-list/index"),
|
||||||
|
meta: {
|
||||||
|
title: "用户管理",
|
||||||
|
icon: "article-ranking"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
path: "/user/role",
|
||||||
|
name: "userRoleIndex",
|
||||||
|
component: () => import("@/views/backOfficeSystem/systemConfig/role-list/index"),
|
||||||
|
meta: {
|
||||||
|
title: "角色列表",
|
||||||
|
icon: "article-ranking"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
path: "/user/menuList",
|
||||||
|
name: "menuList",
|
||||||
|
component: () => import("@/views/backOfficeSystem/systemConfig/menu-list/index"),
|
||||||
|
meta: {
|
||||||
|
title: "菜单管理",
|
||||||
|
icon: "article-ranking"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
|
||||||
|
{
|
||||||
|
path: "/dict/detail",
|
||||||
|
name: "dictDetail",
|
||||||
|
component: () => import("@/views/backOfficeSystem/systemConfig/dict/detail"),
|
||||||
|
meta: {
|
||||||
|
title: "字典数据"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
path: "/dict/index",
|
||||||
|
name: "dictIndex",
|
||||||
|
component: () => import("@/views/backOfficeSystem/systemConfig/dict/index"),
|
||||||
|
meta: {
|
||||||
|
title: "字典列表",
|
||||||
|
icon: "article-ranking"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
|
||||||
|
{
|
||||||
|
path: "/user/deptAllocationUser/:id",
|
||||||
|
name: "deptAllocationUser",
|
||||||
|
component: () =>
|
||||||
|
import("@/views/backOfficeSystem/systemConfig/department-list/deptAllocationUser"),
|
||||||
|
meta: {
|
||||||
|
title: "管理用户"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
path: "/user/allocationUser/:id",
|
||||||
|
name: "allocationUser",
|
||||||
|
component: () =>
|
||||||
|
import("@/views/backOfficeSystem/systemConfig/role-list/allocationUser"),
|
||||||
|
meta: {
|
||||||
|
title: "分配用户"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
|
||||||
|
{
|
||||||
|
path: "/user/systemConfig",
|
||||||
|
name: "systemConfig",
|
||||||
|
component: () =>
|
||||||
|
import("@/views/backOfficeSystem/systemConfig/system-config-list/index"),
|
||||||
|
meta: {
|
||||||
|
title: "系统配置",
|
||||||
|
icon: "article-ranking"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
]
|
||||||
|
},
|
||||||
];
|
];
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -44,103 +140,7 @@ export const publicRoutes = [
|
||||||
component: layout,
|
component: layout,
|
||||||
redirect: "/IdentityManage",
|
redirect: "/IdentityManage",
|
||||||
children: [
|
children: [
|
||||||
{
|
|
||||||
path: "/systemConfig",
|
|
||||||
// component: layout,
|
|
||||||
name: "systemConfigModel",
|
|
||||||
redirect: "/dict/index",
|
|
||||||
meta: {
|
|
||||||
title: "系统管理",
|
|
||||||
icon: "article"
|
|
||||||
},
|
|
||||||
children: [
|
|
||||||
{
|
|
||||||
path: "/user/department-ist",
|
|
||||||
name: "departmentList",
|
|
||||||
component: () => import("@/views/backOfficeSystem/systemConfig/department-list/index"),
|
|
||||||
meta: {
|
|
||||||
title: "部门管理",
|
|
||||||
icon: "article-ranking"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
|
|
||||||
{
|
|
||||||
path: "/user/userList",
|
|
||||||
name: "userList",
|
|
||||||
component: () => import("@/views/backOfficeSystem/systemConfig/user-list/index"),
|
|
||||||
meta: {
|
|
||||||
title: "用户管理",
|
|
||||||
icon: "article-ranking"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
path: "/user/role",
|
|
||||||
name: "userRoleIndex",
|
|
||||||
component: () => import("@/views/backOfficeSystem/systemConfig/role-list/index"),
|
|
||||||
meta: {
|
|
||||||
title: "角色列表",
|
|
||||||
icon: "article-ranking"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
path: "/user/menuList",
|
|
||||||
name: "menuList",
|
|
||||||
component: () => import("@/views/backOfficeSystem/systemConfig/menu-list/index"),
|
|
||||||
meta: {
|
|
||||||
title: "菜单管理",
|
|
||||||
icon: "article-ranking"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
|
|
||||||
{
|
|
||||||
path: "/dict/detail",
|
|
||||||
name: "dictDetail",
|
|
||||||
component: () => import("@/views/backOfficeSystem/systemConfig/dict/detail"),
|
|
||||||
meta: {
|
|
||||||
title: "字典数据"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
path: "/dict/index",
|
|
||||||
name: "dictIndex",
|
|
||||||
component: () => import("@/views/backOfficeSystem/systemConfig/dict/index"),
|
|
||||||
meta: {
|
|
||||||
title: "字典列表",
|
|
||||||
icon: "article-ranking"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
|
|
||||||
{
|
|
||||||
path: "/user/deptAllocationUser/:id",
|
|
||||||
name: "deptAllocationUser",
|
|
||||||
component: () =>
|
|
||||||
import("@/views/backOfficeSystem/systemConfig/department-list/deptAllocationUser"),
|
|
||||||
meta: {
|
|
||||||
title: "管理用户"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
path: "/user/allocationUser/:id",
|
|
||||||
name: "allocationUser",
|
|
||||||
component: () =>
|
|
||||||
import("@/views/backOfficeSystem/systemConfig/role-list/allocationUser"),
|
|
||||||
meta: {
|
|
||||||
title: "分配用户"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
|
|
||||||
{
|
|
||||||
path: "/user/systemConfig",
|
|
||||||
name: "systemConfig",
|
|
||||||
component: () =>
|
|
||||||
import("@/views/backOfficeSystem/systemConfig/system-config-list/index"),
|
|
||||||
meta: {
|
|
||||||
title: "系统配置",
|
|
||||||
icon: "article-ranking"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
]
|
|
||||||
},
|
|
||||||
{
|
{
|
||||||
path: "/FourColorWarning",
|
path: "/FourColorWarning",
|
||||||
name: "FourColorWarning",
|
name: "FourColorWarning",
|
||||||
|
|
|
@ -1,8 +1,5 @@
|
||||||
// 专门处理权限路由的模块
|
// 专门处理权限路由的模块
|
||||||
import {
|
import { publicRoutes, privateRoutes } from '@/router'
|
||||||
publicRoutes,
|
|
||||||
privateRoutes
|
|
||||||
} from '@/router'
|
|
||||||
|
|
||||||
function filter(data, menus) {
|
function filter(data, menus) {
|
||||||
var newData = data.filter(x => menus ?.includes(x.name))
|
var newData = data.filter(x => menus ?.includes(x.name))
|
||||||
|
@ -12,8 +9,7 @@ function filter(data, menus) {
|
||||||
export default {
|
export default {
|
||||||
namespaced: true,
|
namespaced: true,
|
||||||
state: {
|
state: {
|
||||||
// 路由表:初始拥有静态路由权限
|
routes: [],// 路由表:初始拥有静态路由权限
|
||||||
routes: [],
|
|
||||||
routeReady: 0
|
routeReady: 0
|
||||||
},
|
},
|
||||||
mutations: {
|
mutations: {
|
||||||
|
|
|
@ -1,10 +1,5 @@
|
||||||
import {
|
import { ref, toRefs } from 'vue';
|
||||||
ref,
|
import { getSysDictByCode } from '@/api/sysDict' //引入封装数字字典接口
|
||||||
toRefs
|
|
||||||
} from 'vue';
|
|
||||||
import {
|
|
||||||
getSysDictByCode
|
|
||||||
} from '@/api/sysDict' //引入封装数字字典接口
|
|
||||||
/**
|
/**
|
||||||
* 获取字典数据
|
* 获取字典数据
|
||||||
*/
|
*/
|
||||||
|
|
|
@ -8,24 +8,16 @@
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="form_cnt">
|
<div class="form_cnt">
|
||||||
<FormMessage :formData="formData" ref="elform" :rules="rules"></FormMessage>
|
<FormMessage v-model="listQuery" :formData="formData" ref="elform" :rules="rules"></FormMessage>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script setup>
|
<script setup>
|
||||||
|
import * as rule from "@/utils/rules.js";
|
||||||
import FormMessage from '@/components/aboutTable/FormMessage.vue'
|
import FormMessage from '@/components/aboutTable/FormMessage.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 { ref, defineExpose, reactive, onMounted, defineEmits, getCurrentInstance, nextTick } from "vue";
|
||||||
import {
|
|
||||||
ref,
|
|
||||||
defineExpose,
|
|
||||||
reactive,
|
|
||||||
onMounted,
|
|
||||||
defineEmits,
|
|
||||||
getCurrentInstance,
|
|
||||||
nextTick
|
|
||||||
} from "vue";
|
|
||||||
const emit = defineEmits(["updateDate"]);
|
const emit = defineEmits(["updateDate"]);
|
||||||
const props = defineProps({
|
const props = defineProps({
|
||||||
dic: Object
|
dic: Object
|
||||||
|
@ -33,147 +25,51 @@ const props = defineProps({
|
||||||
const { proxy } = getCurrentInstance();
|
const { proxy } = getCurrentInstance();
|
||||||
const dialogForm = ref(false); //弹窗
|
const dialogForm = ref(false); //弹窗
|
||||||
const formData = ref([
|
const formData = ref([
|
||||||
{
|
{ label: "标签名称", prop: "bqMc", type: "input", required: true },
|
||||||
text: "组合标签名称",
|
{ label: "标签代码", prop: "bqDm", type: "input", required: true },
|
||||||
prop: "bqmc",
|
{ label: "标签说明", prop: "bqSm", type: "input", required: true },
|
||||||
type: "input",
|
{ label: "组合标签名称", prop: "bqmc", type: "input", required: true },
|
||||||
required: true
|
{ label: "标签大类", prop: "bqLb", type: "select", options: props.dic.D_GS_BQ_LB },
|
||||||
},
|
{ label: "标签细类", prop: "bqLx", type: "select", options: props.dic.D_GS_BQ_LX },
|
||||||
{
|
{ label: "标签等级", prop: "bqDj", type: "select", options: props.dic.D_GS_BQ_DJ },
|
||||||
text: "身份标签大类",
|
{ label: "标签颜色", prop: "bqYs", type: "select", options: props.dic.D_GS_SSYJ },
|
||||||
prop: "sfbqdl",
|
{ label: "标签分值", prop: "bqFz", type: "input" },
|
||||||
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({
|
const rules = reactive({
|
||||||
bqmc: [{ required: true, message: "请输入标签名称", trigger: "blur" }]
|
bqmc: [{ required: true, message: "请输入标签名称", trigger: "blur" }]
|
||||||
});
|
});
|
||||||
const editpeo = ref();
|
|
||||||
|
const listQuery = ref({}); //表单
|
||||||
|
const loading = ref(false);
|
||||||
|
const elform = ref();
|
||||||
|
const title = ref("");
|
||||||
|
|
||||||
onMounted(() => {});
|
onMounted(() => {});
|
||||||
// 初始化数据
|
// 初始化数据
|
||||||
const init = (type, row, lx) => {
|
const init = (type, row,) => {
|
||||||
dialogForm.value = true;
|
dialogForm.value = true;
|
||||||
title.value = row ? "编辑" : "新增";
|
title.value = row ? "编辑" : "新增";
|
||||||
if (row) getDataById(row.id);
|
if (row) getDataById(row.id);
|
||||||
};
|
};
|
||||||
|
|
||||||
// 根据id查询详情
|
// 根据id查询详情
|
||||||
const getDataById = (id) => {
|
const getDataById = (id) => {
|
||||||
let url = "";
|
qcckGet({}, '/mosty-gsxt/tbGsxtBqgl/'+id).then((res) => {
|
||||||
qcckGet({ id }, url).then((res) => {
|
|
||||||
listQuery.value = 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 = () => {
|
const submit = () => {
|
||||||
elform.value.submit(handleInfoFn);
|
elform.value.submit((data)=>{
|
||||||
};
|
let url = title.value == "新增" ? '/mosty-gsxt/tbGsxtBqgl/save':'/mosty-gsxt/tbGsxtBqgl/update';
|
||||||
const handleInfoFn = (val) => {
|
qcckPost(data, url).then((res) => {
|
||||||
qcckPost(val, "url")
|
|
||||||
.then((res) => {
|
|
||||||
proxy.$message({ type: "success", message: title.value + "成功" });
|
proxy.$message({ type: "success", message: title.value + "成功" });
|
||||||
close();
|
close();
|
||||||
})
|
}).catch(() => {});
|
||||||
.catch(() => {});
|
});
|
||||||
};
|
};
|
||||||
|
|
||||||
// 关闭
|
// 关闭
|
||||||
const close = () => {
|
const close = () => {
|
||||||
listQuery.value = {};
|
listQuery.value = {};
|
||||||
|
|
|
@ -2,6 +2,14 @@
|
||||||
<div>
|
<div>
|
||||||
<div class="titleBox">
|
<div class="titleBox">
|
||||||
<PageTitle title="身份标签管理">
|
<PageTitle title="身份标签管理">
|
||||||
|
<template #left>
|
||||||
|
<el-button :type="type == '标签大类'? 'success':''" @click="chooseListType('标签大类')">
|
||||||
|
<span style="vertical-align: middle">标签大类</span>
|
||||||
|
</el-button>
|
||||||
|
<el-button :type="type == '标签细类'? 'success':''" @click="chooseListType('标签细类')">
|
||||||
|
<span style="vertical-align: middle">标签细类</span>
|
||||||
|
</el-button>
|
||||||
|
</template>
|
||||||
<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>
|
||||||
|
@ -10,16 +18,10 @@
|
||||||
</div>
|
</div>
|
||||||
<!-- 搜索 -->
|
<!-- 搜索 -->
|
||||||
<div ref="searchBox">
|
<div ref="searchBox">
|
||||||
<Search :searchArr="searchConfiger" @submit="onSearch" :key="pageData.keyCount">
|
<Search :searchArr="searchConfiger" @submit="onSearch" :key="pageData.keyCount"></Search>
|
||||||
<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>
|
||||||
<!-- 表格 -->
|
<!-- 表格 -->
|
||||||
<div class="tabBox">
|
<div class="tabBox" :style="{height:pageData.tableHeight+20+'px'}">
|
||||||
<MyTable
|
<MyTable
|
||||||
:tableData="pageData.tableData"
|
:tableData="pageData.tableData"
|
||||||
:tableColumn="pageData.tableColumn"
|
:tableColumn="pageData.tableColumn"
|
||||||
|
@ -29,16 +31,22 @@
|
||||||
:controlsWidth="pageData.controlsWidth"
|
:controlsWidth="pageData.controlsWidth"
|
||||||
@chooseData="chooseData"
|
@chooseData="chooseData"
|
||||||
>
|
>
|
||||||
<template #sfjs="{ row }">
|
<template #bqLx="{ row }">
|
||||||
<DictTag :value="row.sfjs" :options="list.sf" />
|
<DictTag :value="row.bqLx" :options="D_GS_BQ_LX" />
|
||||||
</template>
|
</template>
|
||||||
<template #xxlx="{ row }">
|
<template #bqLb="{ row }">
|
||||||
<DictTag :value="row.xxlx" :options="list.xxlx" />
|
<DictTag :value="row.bqLb" :options=" D_GS_BQ_LB" />
|
||||||
|
</template>
|
||||||
|
<template #bqYs="{ row }">
|
||||||
|
<DictTag :value="row.bqYs" :options=" D_GS_SSYJ" />
|
||||||
|
</template>
|
||||||
|
<template #bqDj="{ row }">
|
||||||
|
<DictTag :value="row.bqDj" :options=" D_GS_BQ_DJ" />
|
||||||
</template>
|
</template>
|
||||||
<!-- 操作 -->
|
<!-- 操作 -->
|
||||||
<template #controls="{ row }">
|
<template #controls="{ row }">
|
||||||
<el-button size="small" @click="addEdit('edit', row)">编辑</el-button>
|
<el-button size="small" @click="addEdit('edit', row)">编辑</el-button>
|
||||||
<el-button size="small" @click="delDictItem([row.id])" type="danger">删除</el-button>
|
<el-button size="small" @click="delDictItem(row.id)" type="danger">删除</el-button>
|
||||||
</template>
|
</template>
|
||||||
</MyTable>
|
</MyTable>
|
||||||
<Pages
|
<Pages
|
||||||
|
@ -52,7 +60,7 @@
|
||||||
></Pages>
|
></Pages>
|
||||||
</div>
|
</div>
|
||||||
<!-- 编辑详情 -->
|
<!-- 编辑详情 -->
|
||||||
<EditAddForm ref="detailDiloag" :dic="{xxlx:list.xxlx,sf:list.sf}" @updateDate="getList" />
|
<EditAddForm ref="detailDiloag" :dic="{D_GS_BQ_DJ,D_GS_SSYJ,D_GS_BQ_LB,D_GS_BQ_LX}" @updateDate="getList" />
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
|
@ -65,30 +73,16 @@ import EditAddForm from "./components/editAddForm.vue";
|
||||||
import { qcckGet, qcckPost, qcckDelete } from "@/api/qcckApi.js";
|
import { qcckGet, qcckPost, qcckDelete } from "@/api/qcckApi.js";
|
||||||
import { reactive, ref, onMounted, getCurrentInstance } from "vue";
|
import { reactive, ref, onMounted, getCurrentInstance } from "vue";
|
||||||
const { proxy } = getCurrentInstance();
|
const { proxy } = getCurrentInstance();
|
||||||
const qypzDialog = ref();
|
const { D_GS_BQ_DJ,D_GS_SSYJ,D_GS_BQ_LB,D_GS_BQ_LX } = proxy.$dict("D_GS_BQ_DJ","D_GS_SSYJ","D_GS_BQ_LB","D_GS_BQ_LX"); //获取字典数据
|
||||||
const detailDiloag = ref();
|
const detailDiloag = ref();
|
||||||
const searchBox = ref(); //搜索框
|
const searchBox = ref(); //搜索框
|
||||||
const chooseType = ref('学校') //选择的类型
|
const type = 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([
|
const searchConfiger = ref([
|
||||||
{ label: "标签名称",prop:'bqmc',placeholder: "请输入学校名称", showType: "input",},
|
{ label: "标签大类",prop:'sfbqdl' ,placeholder: "请输入标签大类", showType: "input"},
|
||||||
{ label: "标签大类",prop:'sfbqdl' ,placeholder: "请选择标签大类", showType: "select",options:list.xxlx },
|
{ label: "标签名称",prop:'bqmc',placeholder: "请输入学校名称", showType: "input"},
|
||||||
{ label: "标签细类",prop:'sfbqdl' ,placeholder: "请选择标签细类", showType: "select",options:list.xxlx },
|
{ label: "标签等级",prop:'sfbqdl' ,placeholder: "请选择标签等级", showType: "select",options:D_GS_BQ_DJ },
|
||||||
{ label: "标签等级",prop:'sfbqdl' ,placeholder: "请选择标签等级", showType: "select",options:list.xxlx },
|
{ label: "标签颜色",prop:'sfbqdl' ,placeholder: "请选择标签颜色", showType: "select",options:D_GS_SSYJ },
|
||||||
{ label: "标签颜色",prop:'sfbqdl' ,placeholder: "请选择标签颜色", showType: "select",options:list.xxlx },
|
|
||||||
{ label: "积分分值",prop:'bqmc',placeholder: "请输入积分分值", showType: "input",},
|
{ label: "积分分值",prop:'bqmc',placeholder: "请输入积分分值", showType: "input",},
|
||||||
]);
|
]);
|
||||||
const queryFrom = ref({});
|
const queryFrom = ref({});
|
||||||
|
@ -107,166 +101,84 @@ const pageData = reactive({
|
||||||
}, //分页
|
}, //分页
|
||||||
controlsWidth: 160, //操作栏宽度
|
controlsWidth: 160, //操作栏宽度
|
||||||
tableColumn: [
|
tableColumn: [
|
||||||
{ label: "标签名称", prop: "name" },
|
{ label: "标签名称", prop: "bqMc" },
|
||||||
{ label: "标签大类", prop: "xxrs" },
|
{ label: "标签代码", prop: "bqDm" },
|
||||||
{ label: "标签细类", prop: "sfjs",showSolt:true},
|
{ label: "标签类型", prop: "bqLx",howSolt:true },
|
||||||
{ label: "标签等级", prop: "xxlx",showSolt:true},
|
{ label: "标签类别", prop: "bqLb",howSolt:true },
|
||||||
{ label: "标签颜色", prop: "xzxm"},
|
{ label: "标签等级", prop: "bqDj",showSolt:true},
|
||||||
{ label: "积分分值", prop: "lxfs" },
|
{ label: "标签颜色", prop: "bqYs",showSolt:true},
|
||||||
]
|
]
|
||||||
});
|
});
|
||||||
onMounted(() => {
|
onMounted(() => {
|
||||||
getList(chooseType.value)
|
getList()
|
||||||
tabHeightFn();
|
tabHeightFn();
|
||||||
});
|
});
|
||||||
|
|
||||||
//选择类型
|
// 选择列表的大类和细类
|
||||||
const handleType = (val) => {
|
const chooseListType = (val) => {
|
||||||
|
type.value = val;
|
||||||
pageData.keyCount++;
|
pageData.keyCount++;
|
||||||
pageData.pageConfiger.pageCurrent = 1;
|
|
||||||
searchConfiger.value = searchConfiger.value.slice(0,1);
|
|
||||||
let arr = [],tableColumn = [];
|
|
||||||
switch(val){
|
switch(val){
|
||||||
case '学校':
|
case '标签大类':
|
||||||
arr = [
|
let obj1 = { label: "标签大类",prop:'sfbqdl' ,placeholder: "请输入标签大类", showType: "input"}
|
||||||
{ label: "学校名称" ,prop:'name', placeholder: "请输入学校名称", showType: "input" },
|
searchConfiger.value.splice(0, 1, obj1);
|
||||||
{ label: "学校类型" ,prop:'xxlx', placeholder: "请选择学校类型", showType: "select",options:list.xxlx },
|
break;
|
||||||
]
|
case '标签细类':
|
||||||
tableColumn = [
|
let obj2 = { label: "标签细类",prop:'sfbqdl' ,placeholder: "请输入标签细类", showType: "input"}
|
||||||
{ label: "学校名称", prop: "name" },
|
searchConfiger.value.splice(0, 1, obj2);
|
||||||
{ label: "学校人数", prop: "xxrs" },
|
break;
|
||||||
{ 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.pageConfiger.pageCurrent = 1;
|
||||||
pageData.tableColumn = tableColumn;
|
getList()
|
||||||
getList(chooseType.value)
|
};
|
||||||
}
|
|
||||||
// 搜索
|
// 搜索
|
||||||
const onSearch = (val) =>{
|
const onSearch = (val) =>{
|
||||||
queryFrom.value = {...val}
|
queryFrom.value = {...val}
|
||||||
pageData.pageConfiger.pageCurrent = 1;
|
pageData.pageConfiger.pageCurrent = 1;
|
||||||
getList(chooseType.value)
|
getList()
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// 分页
|
||||||
const changeNo = (val) =>{
|
const changeNo = (val) =>{
|
||||||
pageData.pageConfiger.pageNum = val;
|
pageData.pageConfiger.pageNum = val;
|
||||||
getList(chooseType.value)
|
getList()
|
||||||
}
|
}
|
||||||
|
// 页数
|
||||||
const changeSize = (val) =>{
|
const changeSize = (val) =>{
|
||||||
pageData.pageConfiger.pageSize = val;
|
pageData.pageConfiger.pageSize = val;
|
||||||
getList(chooseType.value)
|
getList()
|
||||||
}
|
}
|
||||||
|
|
||||||
// 获取列表
|
// 获取列表
|
||||||
const getList = (val) =>{
|
const getList = (val) =>{
|
||||||
let url = ''
|
// pageData.tableConfiger.loading = true;
|
||||||
switch(val){
|
// let data = { ...pageData.pageConfiger,...queryFrom.value };
|
||||||
case '学校':
|
// qcckPost(data,'/mosty-gsxt/tbGsxtBqgl/selectPage').then(res=>{
|
||||||
url = '/mosty-lzcj/tbDwXx/queryList';
|
// pageData.tableData = res.records || [];
|
||||||
break;
|
// pageData.total = res.total;
|
||||||
case '医院':
|
// pageData.tableConfiger.loading = false;
|
||||||
url = '/mosty-lzcj/tbDwYy/queryList';
|
// }).catch(()=>{ pageData.tableConfiger.loading = false; })
|
||||||
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) =>{
|
const delDictItem = (id) =>{
|
||||||
let url = ''
|
proxy.$confirm("确定要删除", "警告", {type: "warning"}).then(() => {
|
||||||
switch(chooseType.value){
|
qcckPost({},'/mosty-gsxt/tbGsxtBqgl/'+id).then(()=>{
|
||||||
case '学校':
|
proxy.$message({ type: "success", message: "删除成功" });
|
||||||
url = '/mosty-lzcj/tbDwXx/delete';
|
getList();
|
||||||
break;
|
})
|
||||||
case '医院':
|
}).catch(() => {});
|
||||||
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) => {
|
const addEdit = (type, row) => {
|
||||||
detailDiloag.value.init(type, row,chooseType.value);
|
detailDiloag.value.init(type, row);
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
// 表格高度计算
|
// 表格高度计算
|
||||||
const tabHeightFn = () => {
|
const tabHeightFn = () => {
|
||||||
pageData.tableHeight = window.innerHeight - searchBox.value.offsetHeight - 250;
|
pageData.tableHeight = window.innerHeight - searchBox.value.offsetHeight - 250;
|
||||||
window.onresize = function () {
|
window.onresize = function () { tabHeightFn(); };
|
||||||
tabHeightFn();
|
|
||||||
};
|
|
||||||
};
|
};
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
|
|
|
@ -66,8 +66,8 @@ const store = useStore();
|
||||||
const kaptchaUrl = ref("");
|
const kaptchaUrl = ref("");
|
||||||
// 数据源
|
// 数据源
|
||||||
const loginForm = ref({
|
const loginForm = ref({
|
||||||
userName: "admin",
|
userName: "",
|
||||||
password: "111111",
|
password: "",
|
||||||
kaptcha: ""
|
kaptcha: ""
|
||||||
});
|
});
|
||||||
const loginDialog = ref(false);
|
const loginDialog = ref(false);
|
||||||
|
@ -111,24 +111,21 @@ const router = useRouter();
|
||||||
const handleLogin = () => {
|
const handleLogin = () => {
|
||||||
loginFromRef.value.validate((valid) => {
|
loginFromRef.value.validate((valid) => {
|
||||||
if (!valid) return false;
|
if (!valid) return false;
|
||||||
setItem('token', '1255555888');
|
loading.value = true;
|
||||||
setItem('isOatuh', 0)
|
store.dispatch("user/login", loginForm.value).then((res) => {
|
||||||
router.push("/");
|
loading.value = false;
|
||||||
// loading.value = true;
|
// 登录后操作
|
||||||
// store.dispatch("user/login", loginForm.value).then((res) => {
|
if (res.deptList.length === 1) {
|
||||||
// loading.value = false;
|
window.location.href = '/'
|
||||||
// // 登录后操作
|
} else {
|
||||||
// if (res.deptList.length === 1) {
|
deptList.value = [...res.deptList];
|
||||||
// window.location.href = '/'
|
loginDialog.value = true;
|
||||||
// } else {
|
authorization.value = res.jwtToken;
|
||||||
// deptList.value = [...res.deptList];
|
ElNotification({title: "提示",message: "请选择部门",duration: 3000});
|
||||||
// loginDialog.value = true;
|
}
|
||||||
// authorization.value = res.jwtToken;
|
}).catch(() => {
|
||||||
// ElNotification({title: "提示",message: "请选择部门",duration: 3000});
|
loading.value = false;
|
||||||
// }
|
});
|
||||||
// }).catch(() => {
|
|
||||||
// loading.value = false;
|
|
||||||
// });
|
|
||||||
});
|
});
|
||||||
};
|
};
|
||||||
const logout = () => {
|
const logout = () => {
|
||||||
|
|
|
@ -4,7 +4,7 @@ function resolve(dir) {
|
||||||
return path.join(__dirname, dir);
|
return path.join(__dirname, dir);
|
||||||
}
|
}
|
||||||
|
|
||||||
const serverHost = "http://127.0.0.1:8006"
|
const serverHost = "http://192.168.4.29:8006"
|
||||||
module.exports = {
|
module.exports = {
|
||||||
publicPath: "./",
|
publicPath: "./",
|
||||||
outputDir: "ylth",
|
outputDir: "ylth",
|
||||||
|
|
Loading…
Reference in New Issue
Block a user