3b53aacc by 任超

feat:测试

2 parents bf12ec7e d19b4277
Showing 61 changed files with 1044 additions and 490 deletions
{
"TITLE": "汉中市数据上报系统"
}
\ No newline at end of file
"TITLE": "汉中市数据上报系统",
"THEME": "sb"
}
......
......@@ -26,8 +26,6 @@
<script>
window.baseUrl = location.origin || location.protocol + '//' + location.host
// window.authorization = 'bearer AT-14-h4UlUGjPvgmrIgnDO-3QgMP0m4YJGQTR';
// window.authorization = 'bearer AT-223-c-Q86EHx75m7ig3EDf-SwMWl4U0AKn0b';
window.timeout = 5000
window.authorization = "bearer AT-4-MxSrO29Coe7VTazx8uuixtqqgO-hvCB6"
</script>
\ No newline at end of file
......
/*
* @Author: xiaomiao 1158771342@qq.com
* @Date: 2023-03-09 15:24:53
* @LastEditors: xiaomiao 1158771342@qq.com
* @LastEditTime: 2023-03-20 09:21:04
* @FilePath: \上报\bdcjg-web\src\api\personnelManage.js
* @Description: 这是默认设置,请设置`customMade`, 打开koroFileHeader查看配置 进行设置: https://github.com/OBKoro1/koro1FileHeader/wiki/%E9%85%8D%E7%BD%AE
*/
import {
api,
......@@ -5,7 +13,7 @@ import {
deleteAction,
putAction
} from './manageApi'
import { getParams } from './util'
export const updateUserPassword = (data) => {
return putAction(`${api.users}/update-password`, data)
......@@ -15,9 +23,41 @@ export const updateUserPassword = (data) => {
export const getUserList = (params) => {
return getAction(api.users, params)
}
export const getUserLists = (queryParam) => {
const conditionGroup = {
conditions: [{
property: 'code',
value: queryParam.code ? queryParam.code : null,
operator: 'LIKE'
},
{
property: 'name',
value: queryParam.name ? queryParam.name : null,
operator: 'LIKE'
}
,
{
property: 'loginName',
value: queryParam.loginName ? queryParam.loginName : null,
operator: 'LIKE'
},
{
property: 'organizationId',
value: queryParam.organizationId,
operator: 'IN'
}
,
{
property: 'departmentId',
value: queryParam.departmentId,
operator: 'IN'
}
],
queryRelation: 'AND',
}
const params = getParams(conditionGroup)
return getAction(api.users, params)
}
// 重置用户密码
// export const resetPassword = id => {
// return putAction(`${api.users}/${id}/reset-password`)
......
import Vue from 'vue'
import request from '@/utils/request'
console.log(Vue.prototype, Vue.prototype.$BASE_API);
console.log(Vue.prototype, Vue.prototype.BASE_API);
import SERVER from './config'
// 获取用户信息
export function getUserInfo () {
......
<!--
* @Description:
* @Autor: renchao
* @LastEditTime: 2023-03-20 16:36:51
-->
<template>
<el-breadcrumb class="breadcrumb" separator-class="el-icon-arrow-right">
<span class="fl">当前页面:</span>
......@@ -52,60 +57,4 @@ export default {
}
}
}
</script>
<style lang="scss" scoped>
.breadcrumb {
width: 80%;
text-indent: 10px;
background: url("~@/image/breadcrumb.png") no-repeat;
background-size: 100% 100%;
line-height: 32px;
height: 32px;
padding-left: 35px;
margin: 8px 0 10px 6px;
color: #CEF8FF;
}
/deep/.el-icon-arrow-right {
width: 2px;
position: relative;
left: -10px;
color: #FFFFFF;
// background-color: rgb(155, 200, 200);
}
/deep/.el-breadcrumb__inner {
color: #CEF8FF !important;
}
.breadcrumb1366 {
padding: 10px 0 !important;
}
.isFullScreen {
width: calc(100% - 20px);
margin: 0 auto;
padding: 10px !important;
}
.cur-location {
font-size: 16px;
color: white;
line-height: 40px;
float: left;
img {
position: relative;
top: 3px;
margin-right: 4px;
}
}
.el-breadcrumb__inner a,
.el-breadcrumb__inner.is-link {
color: white;
cursor: text;
font-weight: normal;
}
</style>
</script>
\ No newline at end of file
......
<template>
<button class="button" :class="nativeType" @click.prevent="handleClick" :type="nativeType">
<el-button class="button" :class="nativeType" @click.prevent="handleClick" :type="nativeType">
<slot></slot>
</button>
</el-button>
</template>
<script>
export default {
name: 'Button',
props: {
nativeType: {
type: String,
default: 'cx'
export default {
name: 'Button',
props: {
nativeType: {
type: String,
default: 'cx'
},
},
},
methods: {
handleClick (evt) {
this.$emit('click', evt);
methods: {
handleClick (evt) {
this.$emit('click', evt);
}
}
}
};
};
</script>
<style scoped lang="scss">
.button {
width: 76px;
height: 32px;
color: #ffffff;
margin: 0 5px;
cursor: pointer;
border: 0;
font-size: 14px;
}
.cx {
background: url('../image/btn.png') no-repeat 0 -34px;
background-size: cover;
}
.cz {
background: url('../image/btn.png') no-repeat 0 0;
background-size: cover;
}
</style>
......
......@@ -144,7 +144,6 @@ export default {
}
.el-form-item__content {
// height: 32px;
line-height: 32px;
// date 组件有图标
......
......@@ -43,9 +43,6 @@ export default {
}
</script>
<style scoped lang='scss'>
@import '~@/styles/public.scss';
.result {
padding: 15px;
height: 100%;
......
<!--
* @Description:
* @Autor: renchao
* @LastEditTime: 2023-03-16 11:15:48
* @LastEditTime: 2023-03-20 14:22:35
-->
<template>
<div class="app-wrapper jgWrapper">
......@@ -12,60 +12,61 @@
</div>
</template>
<script>
import { AppMain, Navbar, Sidebar, TagsView } from './components'
import ResizeMixin from './mixin/ResizeHandler'
import { mapState } from 'vuex'
export default {
name: 'Layout',
components: {
AppMain,
Navbar,
Sidebar,
TagsView
},
created () {
this.$store.dispatch("products/setData", "BDCJGPT");
},
mixins: [ResizeMixin],
computed: {
...mapState({
sidebar: state => state.app.sidebar,
needTagsView: state => state.settings.tagsView,
fixedHeader: state => state.settings.fixedHeader
})
import { AppMain, Navbar, Sidebar, TagsView } from './components'
import ResizeMixin from './mixin/ResizeHandler'
import { mapState } from 'vuex'
export default {
name: 'Layout',
components: {
AppMain,
Navbar,
Sidebar,
TagsView
},
created () {
console.log("hhh");
this.$store.dispatch("products/setData", "BDCJGPT");
},
mixins: [ResizeMixin],
computed: {
...mapState({
sidebar: state => state.app.sidebar,
needTagsView: state => state.settings.tagsView,
fixedHeader: state => state.settings.fixedHeader
})
}
}
}
</script>
<style lang="scss">
@import "~@/styles/jgSidebar.scss";
@import "~@/styles/jgSidebar.scss";
</style>
<style lang="scss" scoped>
@import "~@/styles/mixin.scss";
@import "~@/styles/mixin.scss";
.app-wrapper {
@include clearfix;
position: relative;
height: 100%;
width: 100%;
min-width: 1280px;
background: url("~@/image/bg.png") no-repeat;
background-size: 100% 100%;
padding: 12px;
box-sizing: border-box;
.app-wrapper {
@include clearfix;
position: relative;
height: 100%;
width: 100%;
min-width: 1280px;
background: url("~@/image/bg.png") no-repeat;
background-size: 100% 100%;
padding: 12px;
box-sizing: border-box;
&.mobile.openSidebar {
position: fixed;
top: 0;
&.mobile.openSidebar {
position: fixed;
top: 0;
}
}
}
.appMain {
// min-width: 1280px;
height: calc(100vh - 101px) !important;
box-sizing: border-box;
.appMain {
// min-width: 1280px;
height: calc(100vh - 101px) !important;
box-sizing: border-box;
.app-main {
height: 100%;
.app-main {
height: 100%;
}
}
}
</style>
......
<!--
* @Description:
* @Autor: renchao
* @LastEditTime: 2023-03-20 16:35:09
-->
<template>
<section class="app-main">
<transition name="fade-transform" mode="out-in">
......@@ -17,11 +22,12 @@ export default {
</script>
<style lang="scss" scoped>
.app-main {
height: calc(100vh - 84px);
height: calc(100vh - 74px);
overflow-x: hidden;
box-sizing: border-box;
flex: 1;
width: 100%;
// background-color: #ffffff;
background: #EFF0F4;
padding: 15px;
}
</style>
......
......@@ -21,224 +21,229 @@
</div>
</template>
<script>
import { mapGetters } from 'vuex'
import Breadcrumb from './Breadcrumb'
import defaultSettings from '@/settings'
export default {
components: {
Breadcrumb
},
computed: {
...mapGetters(['sidebar', 'avatar', 'name'])
import { mapGetters } from 'vuex'
import Breadcrumb from './Breadcrumb'
import defaultSettings from '@/settings'
export default {
components: {
Breadcrumb
},
computed: {
...mapGetters(['sidebar', 'avatar', 'name'])
},
data () {
return {
title: defaultSettings.title
}
},
methods: {
handleDataView () {
const { href } = this.$router.resolve('/dataView');
window.open(href, '_blank');
},
data () {
return {
title: defaultSettings.title
}
themeChange (val) {
this.$store.dispatch('app/updateTheme', val)
},
methods: {
handleDataView () {
const { href } = this.$router.resolve('/dataView');
window.open(href, '_blank');
},
themeChange (val) {
this.$store.dispatch('app/updateTheme', val)
},
handleCommand (command) {
if (command == 'a') {
} else {
handleCommand (command) {
if (command == 'a') {
} else {
}
}
}
}
}
</script>
<style lang="scss" scoped>
.navbar-con {
position: relative;
@import "~@/styles/_handle.scss";
.logo {
color: #fff;
font-size: 26px;
font-weight: 700;
display: flex;
img {
width: 47px;
height: 47px;
}
h4 {
margin-left: 20px;
height: 50px;
line-height: 50px;
}
.navbar-con {
position: relative;
.logo {
color: #fff;
font-size: 26px;
font-weight: 700;
display: flex;
img {
width: 47px;
height: 47px;
}
h4 {
margin-left: 20px;
height: 50px;
line-height: 50px;
}
}
}
.NoticeBar {
position: absolute;
bottom: 0;
}
.el-dropdown-menu {
padding: 0 !important;
border: 1px solid #ebeef5;
box-shadow: 0 2px 10px 0 rgba(0, 0, 0, 0.12);
border-radius: 4px 0 0 4px 4px;
.el-dropdown-menu__item {
text-align: center;
margin-top: 0 !important;
font-size: 14px;
font-weight: 400;
color: #4a4a4a;
width: 140px;
height: 36px;
line-height: 36px;
}
.NoticeBar {
position: absolute;
bottom: 0;
.el-dropdown-menu__item:nth-child(6) {
border-top: 1px solid #ebeef5;
}
.el-dropdown-menu {
padding: 0 !important;
border: 1px solid #ebeef5;
box-shadow: 0 2px 10px 0 rgba(0, 0, 0, 0.12);
border-radius: 4px 0 0 4px 4px;
.el-dropdown-menu__item {
text-align: center;
margin-top: 0 !important;
font-size: 14px;
font-family: PingFangSC-Regular, PingFang SC;
font-weight: 400;
color: #4a4a4a;
width: 140px;
height: 36px;
line-height: 36px;
}
.popper__arrow {
top: -11px !important;
left: 110px !important;
transform: rotate(0deg) scale(2);
}
.el-dropdown-menu__item:nth-child(6) {
border-top: 1px solid #ebeef5;
}
.el-dropdown-menu__item:not(.is-disabled):hover,
.el-dropdown-menu__item:focus {
background: #f6f7f9;
color: #4a4a4a;
}
}
.popper__arrow {
top: -11px !important;
left: 110px !important;
transform: rotate(0deg) scale(2);
}
.navbar {
height: $headerHeight;
overflow: hidden;
position: relative;
@include background_color("navbg");
.el-dropdown-menu__item:not(.is-disabled):hover,
.el-dropdown-menu__item:focus {
background: #f6f7f9;
color: #4a4a4a;
}
display: flex;
align-items: center;
padding-right: 20px;
justify-content: space-between;
.header-logo {
width: 300px;
}
.navbar {
.backdrop {
flex: 1;
width: 60%;
background-size: 100% 100%;
height: $headerHeight;
overflow: hidden;
position: relative;
background: linear-gradient(270deg, #ebf1ff 0%, #3d59c4 100%);
display: flex;
align-items: center;
padding-right: 20px;
justify-content: space-between;
.header-logo {
width: 300px;
}
}
.backdrop {
flex: 1;
width: 60%;
background-size: 100% 100%;
height: $headerHeight;
display: flex;
align-items: center;
.hamburger-container {
line-height: 43px;
height: 100%;
float: left;
cursor: pointer;
transition: background 0.3s;
-webkit-tap-highlight-color: transparent;
&:hover {
background: rgba(0, 0, 0, 0.025);
}
}
.hamburger-container {
line-height: 43px;
height: 100%;
float: left;
cursor: pointer;
transition: background 0.3s;
-webkit-tap-highlight-color: transparent;
.breadcrumb-container {
float: left;
}
&:hover {
background: rgba(0, 0, 0, 0.025);
}
.right-menu {
float: right;
height: 100%;
line-height: 50px;
display: flex;
align-items: center;
.function {
margin: 0 15px;
cursor: pointer;
}
.breadcrumb-container {
float: left;
.shutdown {
font-size: 20px;
margin-left: 15px;
cursor: pointer;
}
.right-menu {
float: right;
height: 100%;
line-height: 50px;
display: flex;
align-items: center;
.organization-item {
margin-right: 40px;
margin-top: -40px !important;
}
.function {
margin: 0 15px;
.item {
margin-right: 40px;
margin-top: -20px;
line-height: 18.4px;
cursor: pointer;
position: relative;
.item-box {
position: absolute;
top: -5px;
left: 3px;
width: 100%;
min-width: 25px;
height: 25px;
cursor: pointer;
z-index: 100;
}
}
.shutdown {
font-size: 20px;
margin-left: 15px;
cursor: pointer;
}
&:focus {
outline: none;
}
.organization-item {
margin-right: 40px;
margin-top: -40px !important;
}
.right-menu-item {
display: inline-block;
height: 100%;
font-size: 18px;
color: #fff;
vertical-align: text-bottom;
.item {
margin-right: 40px;
margin-top: -20px;
line-height: 18.4px;
&.hover-effect {
cursor: pointer;
position: relative;
.item-box {
position: absolute;
top: -5px;
left: 3px;
width: 100%;
min-width: 25px;
height: 25px;
cursor: pointer;
z-index: 100;
}
}
&:focus {
outline: none;
}
transition: background 0.3s;
display: flex;
align-items: center;
.right-menu-item {
display: inline-block;
height: 100%;
font-size: 18px;
color: #fff;
vertical-align: text-bottom;
&.hover-effect {
cursor: pointer;
transition: background 0.3s;
display: flex;
align-items: center;
&:hover {
background: rgba(0, 0, 0, 0.025);
}
&:hover {
background: rgba(0, 0, 0, 0.025);
}
}
}
.avatar-wrapper {
position: relative;
display: flex;
height: 40px;
align-items: center;
.avatar-wrapper {
position: relative;
display: flex;
height: 40px;
align-items: center;
.user-avatar {
cursor: pointer;
width: 35px;
height: 35px;
border-radius: 50%;
}
.user-avatar {
cursor: pointer;
width: 35px;
height: 35px;
border-radius: 50%;
}
.el-icon-caret-bottom {
cursor: pointer;
position: absolute;
right: -15px;
top: 17px;
font-size: 12px;
}
.el-icon-caret-bottom {
cursor: pointer;
position: absolute;
right: -15px;
top: 17px;
font-size: 12px;
}
}
}
}
</style>
......
<!--
* @Description:
* @Autor: renchao
* @LastEditTime: 2023-03-10 15:00:56
* @LastEditTime: 2023-03-20 16:05:15
-->
<template>
<div class="app-wrapper scWrapper">
<div class="app-wrapper">
<navbar />
<div class="main-container">
<sidebar class="sidebar-container" />
......
/*
* @Author: yangwei
* @Date: 2023-01-16 09:10:12
* @LastEditors: yangwei
* @LastEditTime: 2023-03-16 09:33:27
* @LastEditors: Please set LastEditors
* @LastEditTime: 2023-03-21 14:15:40
* @FilePath: \bdcjg-web\src\main.js
* @Description:
*
......@@ -51,7 +51,7 @@ Vue.directive('fo', {
import './image/icons' // icon
import store from './store'
import router from './router'
import _ from 'lodash'
import _, { set } from 'lodash'
Vue.use(Element, { size: 'small', zIndex: 1000 })
Vue.use(Base)
Vue.component('icon', Icon);
......@@ -61,12 +61,15 @@ axios.get("./config.json")
.then((res) => {
Vue.prototype.BASE_API = res.data
require('./permission')
new Vue({
el: '#app',
router,
store,
render: h => h(App)
})
setTimeout(() => {
new Vue({
el: '#app',
router,
store,
render: h => h(App)
})
}, 20)
})
......
/*
* @Description:
* @Autor: renchao
* @LastEditTime: 2023-03-15 11:17:28
* @LastEditTime: 2023-03-21 13:52:58
*/
import router from "./router";
import store from "./store";
......@@ -9,10 +9,14 @@ import { getMenuInfo } from "@/api/user";
import NProgress from "nprogress"; // progress bar
import "nprogress/nprogress.css"; // progress bar style
import getPageTitle from "@/utils/get-page-title";
import getTheme from "@/utils/theme";
import Cookies from "js-cookie";
NProgress.configure({ showSpinner: false }); // NProgress Configuration
NProgress.configure({ showSpinner: false });
router.beforeEach(async (to, from, next) => {
getTheme()
NProgress.start();
window.document.documentElement.setAttribute("data-theme", 'blue');
document.title = getPageTitle(to.meta.title);
let hasAddDict = store.state.dict.addDict;
let hasUser = store.state.user.hasUser;
......@@ -29,7 +33,7 @@ router.beforeEach(async (to, from, next) => {
//请求用户信息
if (!hasUser) {
store.dispatch("user/getUserInfo");
import("@/styles/public.scss");
// import("@/styles/public.scss");
}
if (hasAddRoute) {
next();
......
/*
* @Author: xiaomiao 1158771342@qq.com
* @Date: 2023-03-09 15:24:53
* @LastEditors: xiaomiao 1158771342@qq.com
* @LastEditTime: 2023-03-13 09:03:16
* @LastEditors: Please set LastEditors
* @LastEditTime: 2023-03-21 14:05:43
* @FilePath: \上报\bdcjg-web\src\store\modules\permission.js
* @Description: 这是默认设置,请设置`customMade`, 打开koroFileHeader查看配置 进行设置: https://github.com/OBKoro1/koro1FileHeader/wiki/%E9%85%8D%E7%BD%AE
*/
import Vue from 'vue'
import { constantRoutes } from '@/router'
import asyncRouter from '@/utils/asyncRouter.js'
const state = {
......
@import "./_themes.scss";
//遍历主题map
@mixin themeify {
@each $theme-name,
$theme-map in $themes {
//!global 把局部变量强升为全局变量
$theme-map: $theme-map !global;
//判断html的data-theme的属性值 #{}是sass的插值表达式
//& sass嵌套里的父容器标识 @content是混合器插槽,像vue的slot
[data-theme="#{$theme-name}"] & {
@content;
}
}
}
//声明一个根据Key获取颜色的function
@function themed($key) {
@return map-get($theme-map, $key);
}
//获取渐变背景
@mixin background($color) {
@include themeify {
background: themed($color) !important;
}
}
//获取背景颜色
@mixin background_color($color) {
@include themeify {
background-color: themed($color) !important;
}
}
//获取字体颜色
@mixin font_color($color) {
@include themeify {
color: themed($color)!important;
}
}
\ No newline at end of file
$themes: (blue: ( //背景
navbg: #3D59C4,
menuBg: #121F41,
menuActive: linear-gradient(90deg, rgba(61,90,198,0.7) 0%, rgba(61,90,198,0) 100%),
//字体
menuText: #A1A7C2,
menuActiveText: #FFFFFF
),
green: (
navbg: #0F8B80,
menuBg:#121A2E,
menuActive: linear-gradient(90deg, rgba(61,90,198,0.7) 0%, rgba(61,90,198,0) 100%),
//字体
menuText: #A1A7C2,
menuActiveText: #FFFFFF
)
)
\ No newline at end of file
@import './variables.scss';
@import './mixin.scss';
@import './transition.scss';
@import './element-ui.scss';
// @import './sidebar.scss';
// @import './element-ui.scss';
/* CSS 初始化 */
html,
body,
......@@ -137,8 +135,8 @@ ul li {
}
.mb-5 {
margin-bottom: 10px!important;
margin-top: 10px!important;
margin-bottom: 10px !important;
margin-top: 10px !important;
}
.pr-5 {
......@@ -150,8 +148,8 @@ ul li {
}
.mt-10 {
margin-top: 20px!important;
margin-bottom: 5px!important;
margin-top: 20px !important;
margin-bottom: 5px !important;
}
//flex 公共样式
......@@ -362,6 +360,7 @@ aside {
border-radius: 16px;
color: #0097FF;
}
.successColor:hover {
width: 64px;
height: 28px;
......@@ -369,6 +368,7 @@ aside {
border-radius: 16px;
color: #0097FF;
}
.configurationbtnColor {
width: 64px;
height: 28px;
......@@ -376,13 +376,15 @@ aside {
border-radius: 16px;
color: #b0e4dd;
}
.configurationbtnColor:hover {
.configurationbtnColor:hover {
width: 64px;
height: 28px;
background: rgba(255, 255, 255, 0.2);
border-radius: 16px;
color: #b0e4dd;
}
.resetbtnColor {
width: 64px;
height: 28px;
......@@ -390,13 +392,15 @@ aside {
border-radius: 16px;
color: #A5CBDA;
}
.resetbtnColor:hover {
.resetbtnColor:hover {
width: 64px;
height: 28px;
background: rgba(255, 255, 255, 0.2);
border-radius: 16px;
color: #A5CBDA;
}
.movebtnColor {
width: 64px;
height: 28px;
......@@ -404,6 +408,7 @@ aside {
border-radius: 16px;
color: #0097FF;
}
.movebtnColor:hover {
background: rgba(255, 255, 255, 0.2);
border-radius: 16px;
......@@ -513,4 +518,4 @@ aside {
@font-face {
font-family: AliBold;
src: url('../image/font/Alibaba_PuHuiTi_2.0_55_Regular_85_Bold.ttf')
}
}
\ No newline at end of file
......
@import '~@/styles/jgElement-ui.scss';
.tableClass {
.el-table {
border: none !important;
......@@ -445,3 +447,108 @@
}
}
}
// 面包屑
.breadcrumb {
width: 80%;
text-indent: 10px;
background: url("~@/image/breadcrumb.png") no-repeat;
background-size: 100% 100%;
line-height: 32px;
height: 32px;
padding-left: 35px;
margin: 8px 0 10px 6px;
color: #CEF8FF;
}
.el-icon-arrow-right {
width: 2px;
position: relative;
left: 10px;
color: #FFFFFF;
}
.el-breadcrumb__inner {
color: #CEF8FF !important;
}
.breadcrumb1366 {
padding: 10px 0 !important;
}
.cur-location {
font-size: 16px;
color: white;
line-height: 40px;
float: left;
img {
position: relative;
top: 3px;
margin-right: 4px;
}
}
.el-breadcrumb__inner a,
.el-breadcrumb__inner.is-link {
color: white;
cursor: text;
font-weight: normal;
}
.button {
width: 76px;
height: 32px;
color: #ffffff;
cursor: pointer;
border: 0;
font-size: 12px;
}
.button:hover {
// width: 76px;
// height: 32px;
// color: #ffffff;
// cursor: pointer;
// border: 0;
// font-size: 12px;
// background: none;
}
.cx {
background: url("../image/btn.png") no-repeat 0 -34px;
background-size: cover;
}
.cx:hover {
background: url("../image/btn.png") no-repeat 0 -34px;
background-size: cover;
color: white;
}
.cz {
background: url("../image/btn.png") no-repeat 0 0;
background-size: cover;
}
.cz:hover {
background: url("../image/btn.png") no-repeat 0 0;
background-size: cover;
color: white;
}
.el-button:focus {
background: none;
}
.cx:focus {
background: url("../image/btn.png") no-repeat 0 -34px;
background-size: cover;
color: white;
}
.cz:focus {
background: url("../image/btn.png") no-repeat 0 0;
background-size: cover;
color: white;
}
......
......@@ -340,5 +340,4 @@
word-break: break-all;
line-height: 20px;
flex: 1;
}
\ No newline at end of file
}
......
// cover some element-ui styles
.el-breadcrumb__inner,
.el-breadcrumb__inner a {
font-weight: 400 !important;
color: #686666;
}
.el-table .cell {
line-height: 16px;
}
//input
.el-input__inner {
color: #FFFFFF !important;
padding: 0 7px !important;
}
// input 样式
// 全局css 加上以下代码,可以隐藏上下箭头
// 取消input的上下箭头
input::-webkit-inner-spin-button {
-webkit-appearance: none !important;
}
input::-webkit-outer-spin-button {
-webkit-appearance: none !important;
}
input[type="number"] {
-moz-appearance: textfield;
}
.el-upload {
input[type="file"] {
display: none !important;
}
}
.el-upload__input {
display: none;
}
.cell {
.el-tag {
margin-right: 0px;
}
}
.small-padding {
.cell {
padding-left: 5px;
padding-right: 5px;
}
}
.fixed-width {
.el-button--mini {
padding: 7px 10px;
min-width: 60px;
}
}
.status-col {
.cell {
padding: 0 10px;
text-align: center;
.el-tag {
margin-right: 0px;
}
}
}
.el-icon-date,
.el-icon-time {
display: none;
}
// to fixed https://github.com/ElemeFE/element/issues/2461
// refine element ui upload
.el-input.is-disabled .el-input__inner {
color: #FFFFFF !important;
background-color: transparent !important;
border: 1px solid #224C7C !important;
}
.upload-container {
.el-upload {
width: 100%;
.el-upload-dragger {
width: 100%;
height: 200px;
}
}
}
// dropdown
.el-dropdown-menu {
a {
display: block
}
}
// fix date-picker ui bug in filter-item
.el-range-editor.el-input__inner {
display: inline-flex !important;
}
// to fix el-date-picker css style
.el-range-separator {
box-sizing: content-box;
}
.el-submenu__icon-arrow {
margin-top: -5px;
}
// element 样式补丁
.el-menu--horizontal {
border-bottom: none !important;
}
.el-radio-group {
.el-radio-button__inner {
height: 36px;
line-height: 36px;
padding: 0 20px;
font-size: 14px;
}
.el-radio-button:first-child {
border-radius: 4px 0 0 4px;
}
.el-radio-button:last-child {
border-radius: 0 4px 4px 0;
}
}
.el-tabs__item:focus.is-active.is-focus:not(:active) {
box-shadow: none !important;
}
// Divider 分割线 样式的修改
.el-divider--horizontal {
margin: 10px 0 !important;
}
.el-row {
margin-bottom: 0 !important;
}
// form
.el-form-item__content {
margin-left: 0 !important;
}
.el-icon-full-screen,
.el-icon-rank {
cursor: pointer;
}
// 表格样式
.el-table th {
height: 48px !important;
font-size: 14px;
color: #4A4A4A;
}
.el-table tr td {
font-size: 14px;
color: #7A7A7A;
}
.lb-table .el-table {
border-bottom: none;
border-radius: 4px 4px 0 0;
}
.el-upload-list__item.is-success:focus:not(:hover) .el-icon-close-tip {
display: none !important
}
.el-message-box__btns {
display: flex;
flex-direction: row-reverse;
}
.el-message-box__btns .el-button--primary {
margin-right: 10px;
}
.el-form-item__content {
flex: 1;
}
.el-submenu__title {
.svg-icon {
position: relative;
top: 2px;
}
}
\ No newline at end of file
@import '~@/styles/sbElement-ui.scss';
.from-clues {
height: 100%;
width: 100%;
min-width: 1280px;
box-sizing: border-box;
overflow-x: hidden;
padding: 2px;
&-header {
width: 100%;
padding: 5px 30px 20px 24px;
box-sizing: border-box;
background-size: 100% 100%;
background: #FFFFFF;
border-radius: 4px;
}
&-content {
width: 100%;
box-sizing: border-box;
margin-top: 15px;
background: #FFFFFF;
border-radius: 4px;
background-size: 100% 100%;
padding: 22px 42px 20px;
}
.el-form--inline .el-form-item {
width: auto;
margin-right: 0px;
.el-form-item__content {
width: auto;
}
}
.el-form-item--small.el-form-item {
margin-bottom: 0px;
}
}
/* --------------进度条美化---------------- */
::-webkit-scrollbar {
width: 7px;
height: 7px;
}
::-webkit-scrollbar-track {
width: 7px;
background-color: rgba(255, 255, 255, 0);
-webkit-border-radius: 6px;
-moz-border-radius: 6px;
border-radius: 6px;
}
::-webkit-scrollbar-thumb {
background-color: rgb(207, 208, 209);
background-clip: padding-box;
min-height: 28px;
-webkit-border-radius: 6px;
-moz-border-radius: 6px;
border-radius: 6px;
}
::-webkit-scrollbar-thumb:hover {
background-color: rgb(162, 164, 167);
}
// 搜索框按钮的位置
.btnColRight {
box-sizing: border-box;
text-align: right;
}
// 按钮样式
.button:hover {
width: 86px;
height: 32px;
color: #ffffff;
cursor: pointer;
border: 0;
font-size: 12px;
background: none;
}
.cx {
width: 86px;
height: 32px;
background-color: #4162D8;
color: white;
border: none;
}
.cx:hover {
width: 86px;
height: 32px;
background-color: #4162D8;
color: white;
border: none;
}
.cz {
width: 86px;
height: 32px;
background-color: white;
color: #4162D8;
border: 1px solid rgba(65, 98, 216, 0.3);
}
.cz:hover {
width: 86px;
height: 32px;
background-color: white;
color: #4162D8;
border: 1px solid rgba(65, 98, 216, 0.3);
}
.el-button:focus {
// background: none;
}
.cx:focus {
color: white;
background-color: #4162D8;
background-size: cover;
}
.cz:focus {
color: #4162D8;
background-color: white;
;
background-size: cover;
}
/*
* @Description:
* @Autor: renchao
* @LastEditTime: 2023-03-07 09:35:10
* @LastEditTime: 2023-03-21 14:16:48
*/
import Layout from '@/layout'
import Vue from 'vue'
import Layout from '@/layout1'
const config = require('/public/config.json')
console.log(config, 'Vue.2222222222222.BASE_API');
export default function filterAsyncRouter (routers) {
routers.forEach(item => {
if (!item.children) {
......
/*
* @Description:
* @Autor: renchao
* @LastEditTime: 2023-03-14 14:39:24
* @LastEditTime: 2023-03-21 13:46:56
*/
/**
* 此文件主要创建 axios 实例,然后添加请求拦截器和响应拦截器
......@@ -10,7 +10,6 @@ import axios from "axios";
import { Message } from "element-ui";
import { endLoadingSubCount } from "./requestLoading";
import router from "../router";
// create an axios instance
const service = axios.create({
baseURL: process.env.VUE_APP_BASE_API,
......
/*
* @Description:
* @Autor: renchao
* @LastEditTime: 2023-03-21 13:42:13
*/
import Vue from 'vue'
export default function getTheme (theme = Vue.prototype.BASE_API.THEME) {
const resultMap = {
'jg': function () {
import("@/styles/jgPublic.scss")
},
'sb': function () {
import("@/styles/sbPublic.scss")
},
default: function () {
},
}
return resultMap[theme]() || resultMap.default()
}
......@@ -22,16 +22,6 @@
</el-select>
</el-form-item>
</el-col>
<!-- <el-col :span="5">
<el-form-item label="坐落">
<el-input v-model="form.ZL" placeholder="坐落"></el-input>
</el-form-item>
</el-col> -->
<!-- <el-col :span="5">
<el-form-item label="不动产权证号">
<el-input v-model="form.BDCQZH" placeholder="不动产权证号"></el-input>
</el-form-item>
</el-col> -->
<el-col :span="5">
<el-form-item label="权利人" label-width="80px">
<el-input v-model="form.QLR" clearable placeholder="权利人"></el-input>
......@@ -159,7 +149,4 @@ export default {
}
}
}
</script>
<style scoped lang="scss">
// @import "~@/styles/public.scss";
</style>
</script>
\ No newline at end of file
......
......@@ -150,8 +150,3 @@ export default {
}
}
</script>
<style scoped lang="scss">
// 引入表单整体样式
// @import "~@/styles/public.scss";
</style>
......
......@@ -158,7 +158,4 @@
}
}
}
</script>
<style scoped lang="scss">
// @import "~@/styles/public.scss";
</style>
</script>
\ No newline at end of file
......
......@@ -169,6 +169,3 @@ export default {
}
}
</script>
<style scoped lang="scss">
// @import "~@/styles/public.scss";
</style>
......
......@@ -135,6 +135,3 @@ export default {
}
}
</script>
<style scoped lang="scss">
// @import "~@/styles/public.scss";
</style>
......
......@@ -201,6 +201,3 @@ export default {
}
}
</script>
<style scoped lang="scss">
// @import "~@/styles/public.scss";
</style>
......
......@@ -151,6 +151,3 @@ export default {
}
}
</script>
<style scoped lang="scss">
// @import "~@/styles/public.scss";
</style>
......
......@@ -157,7 +157,4 @@ export default {
}
}
</script>
<style scoped lang="scss">
// @import "~@/styles/public.scss";
</style>
......
......@@ -164,6 +164,5 @@ export default {
}
</script>
<style scoped lang="scss">
// @import "~@/styles/public.scss";
@import "./index.scss";
</style>
......
......@@ -143,6 +143,3 @@ export default {
}
}
</script>
<style scoped lang="scss">
// @import "~@/styles/public.scss";
</style>
......
......@@ -148,6 +148,3 @@ export default {
}
}
</script>
<style scoped lang="scss">
// @import "~@/styles/public.scss";
</style>
......
......@@ -145,6 +145,3 @@ export default {
}
}
</script>
<style scoped lang="scss">
// @import "~@/styles/public.scss";
</style>
......
......@@ -158,7 +158,3 @@ export default {
}
}
</script>
<style scoped lang="scss">
// 引入表单整体样式
// @import "~@/styles/public.scss";
</style>
......
......@@ -150,6 +150,3 @@ export default {
}
}
</script>
<style scoped lang="scss">
// @import "~@/styles/public.scss";
</style>
......
......@@ -143,6 +143,3 @@ export default {
}
}
</script>
<style scoped lang="scss">
// @import "~@/styles/public.scss";
</style>
......
......@@ -321,8 +321,6 @@
};
</script>
<style scoped lang="scss">
// @import "~@/styles/public.scss";
.jktjDetail {
height: 100%;
display: flex;
......@@ -359,6 +357,4 @@
}
}
</style>
<style scoped lang="scss">
// @import "~@/styles/public.scss";
</style>
......
......@@ -286,8 +286,6 @@
};
</script>
<style scoped lang="scss">
// @import "~@/styles/public.scss";
.jktjDetail {
height: 100%;
display: flex;
......@@ -320,6 +318,3 @@
}
}
</style>
<style scoped lang="scss">
// @import "~@/styles/public.scss";
</style>
......
......@@ -214,8 +214,6 @@
};
</script>
<style scoped lang="scss">
// @import "~@/styles/public.scss";
.jktjDetail {
height: 100%;
display: flex;
......@@ -248,6 +246,3 @@
}
}
</style>
<style scoped lang="scss">
// @import "~@/styles/public.scss";
</style>
......
<!--
* @Description:
* @Autor: renchao
* @LastEditTime: 2023-03-20 14:45:57
-->
<!--
功能:结果
作者:calliope
-->
......@@ -38,8 +43,6 @@ export default {
}
</script>
<style scoped lang='scss'>
@import '~@/styles/public.scss';
.result {
padding: 15px;
......
......@@ -170,10 +170,7 @@ export default {
}
</script>
<style scoped lang="scss">
// 引入表单整体样式
// @import "~@/styles/public.scss";
@import "../css/index.scss";
/deep/th.el-table__cell {
height: 0 !important;
}
......
......@@ -155,7 +155,6 @@ export default {
</script>
<style scoped lang="scss">
// 引入表单整体样式
// @import "~@/styles/public.scss";
@import "../css/index.scss";
/deep/.el-table thead.is-group th.el-table__cell {
......
......@@ -192,7 +192,6 @@ export default {
</script>
<style scoped lang="scss">
// 引入表单整体样式
// @import "~@/styles/public.scss";
@import "../css/index.scss";
/deep/.el-table thead.is-group th.el-table__cell {
......
......@@ -459,7 +459,6 @@ export default {
</script>
<style scoped lang="scss">
@import "~@/styles/mixin.scss";
// @import "~@/styles/public.scss";
@import "~@/styles/dialogBox.scss";
......
......@@ -358,7 +358,6 @@ export default {
};
</script>
<style rel="stylesheet/scss" lang="scss" scoped>
// @import "~@/styles/public.scss";
/deep/.el-radio {
margin-right: 5px !important;
......
......@@ -129,7 +129,6 @@ export default {
};
</script>
<style scoped lang="scss">
// @import "~@/styles/public.scss";
/deep/.dialogBox .dialog_title {
top: 0;
margin-left: 5px;
......
......@@ -68,7 +68,6 @@
<style scoped lang="scss">
@import "~@/styles/mixin.scss";
@import "~@/styles/public.scss";
.information {
display: flex;
flex-direction: column;
......
......@@ -6,7 +6,13 @@
<Breadcrumb />
</el-form-item>
<el-row class="mb-5">
<el-col :span="2" class="btnColRight">
<el-col :span="4">
<el-form-item label="菜单名称" prop="menuName">
<el-input v-model.trim="form.menuName" class="width100" clearable placeholder="菜单名称"></el-input>
</el-form-item>
</el-col>
<el-col :span="3" class="btnColRight">
<btn nativeType="cx" @click="searchQuery">查询</btn>
<btn nativeType="cx" @click="handleAdd()">新增菜单</btn>
</el-col>
</el-row>
......@@ -45,11 +51,11 @@
return {
isDialog: false,
tablelistData: [],
listData: [],
resourceCategoryId: "",
taskData: null,
form: {
job_name: "",
currentPage: 1,
menuName: "",
},
title: "",
queryParam: {},
......@@ -96,11 +102,6 @@
]),
data: [],
},
pageData: {
total: 5,
pageSize: 15,
current: 1,
},
tableUrl: api.menus, // 菜单接口地址
meumurlid: api.subsystem,// 项目id接口地址
productId: ""//项目id
......@@ -113,11 +114,48 @@
...mapGetters(["products"])
},
methods: {
//查询
searchQuery () {
if (this.form.menuName) {
this.tablelistData = this.childrenFn(this.listData, this.form.menuName);
} else {
this.getTableList()
}
},
childrenFn (arr, key) {
const that = this;
let searchTree = [];
arr.forEach((item, index) => {
if (item.children != undefined && item.children.length != 0) {
let leaf = that.childrenFn(item.children, key);
if (leaf != undefined) {
let { name, code, resourceCategoryId, id, iproductId, operations, metadata } = item;
let parentObj = {
code, name, resourceCategoryId, id, iproductId, operations, metadata, children: leaf
};
searchTree.push(parentObj);
} else {
if (item.name.indexOf(key) != -1) {
searchTree.push(item);
}
}
} else {
if (item.name.indexOf(key) != -1) {
searchTree.push(item);
}
}
});
if (searchTree != undefined && searchTree.length != 0) {
return searchTree;
}
},
// 加载表格数据
getTableList () {
getMenuInfo(sessionStorage.getItem("products")).then((res) => {
if (res.code === 200) {
this.tablelistData = judgeSort(res.result)
this.listData = this.tablelistData
} else {
this.$message.error({ message: res.message, showClose: true })
}
......@@ -213,13 +251,7 @@
@import "~@/styles/mixin.scss";
// @import "~@/styles/public.scss";
.btnColRight {
height: 30px;
.button {
position: absolute;
left: 30px;
}
}
/deep/.el-table__expand-icon {
color: #fff;
}
......
......@@ -6,7 +6,13 @@
<Breadcrumb />
</el-form-item>
<el-row class="mb-5">
<el-col :span="2" class="btnColRight">
<el-col :span="4">
<el-form-item label="菜单名称" prop="rolesName">
<el-input v-model.trim="form.rolesName" class="width100" clearable placeholder="角色名称"></el-input>
</el-form-item>
</el-col>
<el-col :span="3" class="btnColRight">
<btn nativeType="cx" @click="searchQuery">查询</btn>
<btn nativeType="cx" @click="handleAddEdit">增加角色</btn>
</el-col>
</el-row>
......@@ -53,10 +59,10 @@
waitMemberList: [],
keyList: [],
listdata: [],
setlistdata: [],
tableUrlroles: api.roles,
form: {
job_name: "",
currentPage: 1,
rolesName: "",
},
// 当前所选角色id
roleId: "",
......@@ -247,12 +253,33 @@
},
mounted () { },
methods: {
//查询
searchQuery () {
if (this.form.rolesName) {
this.listdata = this.childrenFn(this.setlistdata, this.form.rolesName);
} else {
this.getTableData()
}
},
childrenFn (arr, key) {
let searchTree = [];
arr.forEach((item, index) => {
if (item.name.indexOf(key) != -1) {
searchTree.push(item);
}
});
if (searchTree != undefined && searchTree.length != 0) {
return judgeSort(searchTree);
}
},
// 获取角色列表
getTableData () {
getRolesById([1, 2])
.then((res) => {
this.listdata = res.content;
this.listdata = judgeSort(this.listdata);
this.setlistdata = res.content;
})
.catch((e) => console.error(e));
},
......@@ -479,15 +506,8 @@
</script>
<style scoped lang="scss">
@import "~@/styles/mixin.scss";
// @import "~@/styles/public.scss";
.btnColRight {
height: 30px;
.button {
position: absolute;
left: 30px;
}
}
/deep/.el-button.is-disabled.el-button--text {
width: 64px;
height: 28px;
......
......@@ -252,5 +252,4 @@ export default {
</script>
<style scoped lang="scss">
@import "~@/styles/mixin.scss";
// @import "~@/styles/public.scss";
</style>
......
......@@ -5,13 +5,27 @@
<el-form-item>
<Breadcrumb />
</el-form-item>
<el-row class="mb-5">
<!-- 按钮操作 -->
<el-col :span="2" class="btnColRight">
<el-form-item>
<btn nativeType="cx" @click="handleAdd">添加人员</btn>
<el-row class="mt-10">
<el-col :span="4">
<el-form-item label="用户名" prop="loginName">
<el-input v-model.trim="form.loginName" class="width100" clearable placeholder="用户名"></el-input>
</el-form-item>
</el-col>
<el-col :span="4">
<el-form-item label="姓名" prop="name">
<el-input v-model.trim="form.name" class="width100" clearable placeholder="姓名"></el-input>
</el-form-item>
</el-col>
<el-col :span="4">
<el-form-item label="工号" prop="code">
<el-input v-model.trim="form.code" class="width100" clearable placeholder="工号"></el-input>
</el-form-item>
</el-col>
<!-- 操作按钮 -->
<el-col :span="3" class="btnColRight">
<btn nativeType="cx" @click="searchQuery">查询</btn>
<btn nativeType="cx" @click="handleAdd">添加人员</btn>
</el-col>
</el-row>
</el-form>
</div>
......@@ -33,7 +47,7 @@
} from "@/utils/operation";
import {
resetPassword,
getUserList,
getUserList, getUserLists
} from "@/api/personnelManage";
import { api, deleteAction } from '@/api/manageApi'
import data from "./data";
......@@ -53,8 +67,9 @@
taskData: null,
keyList: [],
form: {
job_name: "",
currentPage: 1,
loginName: "",
name: "",
code: "",
},
queryParam: {},
selectType: "0",
......@@ -141,6 +156,7 @@
</el-button>
<el-button
type="text"
size="mini"
class='movebtnColor'
disabled={scope.row.isBottom}
onClick={() => {
......@@ -163,7 +179,6 @@
type="text"
size="mini"
class='resetbtnColor'
icon="el-icon-video-pause"
onClick={() => {
this.resetPassword(scope.row.id);
}}
......@@ -174,7 +189,6 @@
type="text"
size="mini"
class='successColor'
icon="el-icon-edit"
onClick={() => {
this.handleEdit(scope.row);
}}
......@@ -185,7 +199,6 @@
type="text"
size="mini"
class='delColor'
icon="el-icon-delete"
onClick={() => {
this.handleDelete(scope.row.id, scope.row.name);
}}
......@@ -215,14 +228,34 @@
this.$refs.dialogForm.adds();
this.$refs.dialogForm.title = "添加";
},
getTableList () {
this.loading = true;
// 查询
searchQuery () {
console.log(" console.log(this.form);", this.form);
this.queryParam = {
organizationId: this.departmentid.organizationId,
departmentId: this.departmentid.departmentId,
name: this.form.name,
code: this.form.code,
loginName: this.form.loginName,
};
getUserList(this.queryParam).then((res) => {
console.log("this.queryParam", this.queryParam);
getUserLists(this.queryParam).then((res) => {
if (res.status === 1) {
this.loading = false;
this.tableData.data = res.content;
this.tableData.data = judgeSort(this.tableData.data);
console.log("this.tableData.data111111111111111", this.tableData.data);
} else {
this.$message.error({ message: res.message, showClose: true })
}
})
},
getTableList () {
this.loading = true;
getUserList().then((res) => {
if (res.status === 1) {
console.log("res人员列表", res);
this.loading = false;
this.tableData.data = res.content;
this.tableData.data = judgeSort(this.tableData.data);
......@@ -295,6 +328,32 @@
}
})
},
getDepts (deptIdArr) {
let params = {
queryOptions: {
conditionGroup: {
conditions: [
{
property: "id",
value: deptIdArr,
operator: "IN",
},
],
queryRelation: "AND",
},
orderBys: [],
},
};
getAction(api.departments, params).then(
(res) => {
let deptsList = res.content;
console.log(deptsList);
},
(err) => {
console.log("err :", err);
}
);
},
// 修改人员信息
handleEdit (row) {
this.isDialog = true
......@@ -331,13 +390,13 @@
</script>
<style scoped lang="scss">
@import "~@/styles/mixin.scss";
.btnColRight {
height: 30px;
.button {
position: absolute;
left: 30px;
}
}
// .btnColRight {
// height: 30px;
// .button {
// position: absolute;
// left: 30px;
// }
// }
/deep/.el-button.is-disabled.el-button--text {
width: 64px;
height: 28px;
......
......@@ -199,6 +199,5 @@ export default {
};
</script>
<style scoped lang="scss">
// @import "~@/styles/public.scss";
@import "./index.scss";
</style>
......
'use strict'
const path = require('path')
const defaultSettings = require('./src/settings.js')
function resolve (dir) {
return path.join(__dirname, dir)
}
......