提交代码

This commit is contained in:
wangchengming 2025-08-04 18:02:05 +08:00
parent 64e11d42ba
commit ed10676fb4
29 changed files with 727 additions and 218 deletions

View File

@ -0,0 +1,11 @@
<svg xmlns="http://www.w3.org/2000/svg" width="10" height="5" viewBox="0 0 10 5">
<defs>
<style>
.cls-1 {
fill: #fff;
fill-rule: evenodd;
}
</style>
</defs>
<path id="icon-折叠-收起" class="cls-1" d="M1782,105l-5-5-5,5h10Z" transform="translate(-1772 -100)"/>
</svg>

After

Width:  |  Height:  |  Size: 313 B

View File

@ -0,0 +1,11 @@
<svg xmlns="http://www.w3.org/2000/svg" width="10" height="5" viewBox="0 0 10 5">
<defs>
<style>
.cls-1 {
fill: #fff;
fill-rule: evenodd;
}
</style>
</defs>
<path id="icon-折叠-展开" class="cls-1" d="M1782,107l-5,5-5-5h10Z" transform="translate(-1772 -107)"/>
</svg>

After

Width:  |  Height:  |  Size: 313 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 786 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 13 KiB

View File

@ -122,7 +122,7 @@ aside {
//main-container全局样式
.app-container {
width: 1840px;
width: 100%;
margin: 0 auto;
padding: 0 !important;
}

View File

@ -90,10 +90,6 @@ h6 {
font-weight: 700;
}
.el-dialog:not(.is-fullscreen) {
margin-top: 6vh !important;
}
.el-dialog.scrollbar .el-dialog__body {
overflow: auto;
overflow-x: hidden;
@ -345,6 +341,109 @@ h6 {
}
// 按钮样式
.el-message-box__btns .el-button--primary {
/* 修改确认按钮样式 */
border-radius: 4px 4px 4px 4px;
background: #1a75e6 !important;
font-family: Microsoft YaHei;
font-weight: 400;
font-size: 16px;
text-align: center;
color: #FFFFFF !important;
}
.el-message-box__btns .el-button--primary:hover {
/* 修改确认按钮样式 */
background: #1a75e6 !important;
color: #FFFFFF !important;
}
.el-message-box__btns .el-button--default {
/* 修改取消按钮样式 */
border-radius: 4px 4px 4px 4px;
background: #ffc63d;
font-family: Microsoft YaHei;
font-weight: 400;
font-size: 16px;
text-align: center;
color: #000000;
}
.el-message-box__btns .el-button--default:hover {
/* 修改取消按钮样式 */
background: #ffc63d;
color: #000000;
}
.custom-confirm-btn {
// width: 100px;
// height: 34px;
border-radius: 4px 4px 4px 4px;
background: #1a75e6;
font-family: Microsoft YaHei;
font-weight: 400;
font-size: 16px;
text-align: center;
color: #FFFFFF;
}
.custom-confirm-btn:hover {
background: #1a75e6;
color: #FFFFFF;
}
.custom-cancel-btn {
// width: 100px;
// height: 34px;
border-radius: 4px 4px 4px 4px;
background: #ffc63d;
font-family: Microsoft YaHei;
font-weight: 400;
font-size: 16px;
text-align: center;
color: #000000;
}
.custom-cancel-btn:hover {
background: #ffc63d;
color: #000000;
}
.my-confirm-btn {
width: 100px;
height: 34px;
border-radius: 4px 4px 4px 4px;
background: #1a75e6;
font-family: Microsoft YaHei;
font-weight: 400;
font-size: 16px;
text-align: center;
color: #FFFFFF;
}
.my-confirm-btn:hover {
background: #1a75e6;
color: #FFFFFF;
}
.my-cancel-btn {
width: 100px;
height: 34px;
border-radius: 4px 4px 4px 4px;
background: #ffc63d;
font-family: Microsoft YaHei;
font-weight: 400;
font-size: 16px;
text-align: center;
color: #000000;
}
.my-cancel-btn:hover {
background: #ffc63d;
color: #000000;
}
.primaryBtn {
height: 30px;
border-radius: 15px 15px 15px 15px;
@ -382,22 +481,64 @@ h6 {
}
// 查询条件表单样式覆盖
.more-search-pane {
display: flex;
justify-content: space-between;
align-items: center;
}
.search-where-container {
flex: 1;
}
.search-more-button {
width: 100px;
text-align: right;
display: flex;
align-items: center;
justify-content: flex-end;
}
.searchPanel {
width: 1840px;
width: 100%;
height: 45px;
line-height: 45px;
background: rgba(255, 255, 255, 0.06);
border-top: 1px solid rgba(255, 255, 255, 0.3);
border-bottom: 1px solid rgba(255, 255, 255, 0.3);
margin-bottom: 20px;
padding: 0 20px;
}
.searchPanelForm .el-form-item--default {
.searchSmallPanel {
width: 100%;
height: 34px;
line-height: 34px;
background: rgba(255, 255, 255, 0.06);
border-top: 1px solid rgba(255, 255, 255, 0.3);
border-bottom: 1px solid rgba(255, 255, 255, 0.3);
padding: 0 20px;
}
.el-button.is-text {
background-color: transparent;
border: 0 solid transparent;
color: #ffffff;
padding: 0 !important;
}
.el-button.is-text:not(.is-disabled):hover {
background-color: transparent;
border: 0 solid transparent;
color: #ffffff;
}
.searchPanelForm .el-form-item--default,
.searchSmallPanelForm .el-form-item--default {
margin-bottom: 6px;
}
.searchPanelForm .el-form--inline .el-form-item {
.searchPanelForm .el-form--inline .el-form-item,
.searchSmallPanelForm .el-form--inline .el-form-item {
display: inline-flex;
margin-right: 26px;
vertical-align: middle;
@ -411,94 +552,127 @@ h6 {
min-width: 34px;
}
.searchSmallPanelForm .el-form-item__label {
font-family: Microsoft YaHei;
font-weight: 400;
font-size: 16px;
color: #FFFFFF;
min-width: 34px;
line-height: 34px;
}
// 文本输入框样式
.searchPanelForm .el-input__inner {
.searchPanelForm .el-input__inner,
.searchSmallPanelForm .el-input__inner {
font-family: Microsoft YaHei;
font-weight: 400;
font-size: 16px;
color: #FFFFFF;
}
.searchPanelForm .el-input__clear {
.searchPanelForm .el-input__clear,
.searchSmallPanelForm .el-input__clear {
color: #FFFFFF;
}
.searchPanelForm .el-input__clear:hover {
.searchPanelForm .el-input__clear:hover,
.searchSmallPanelForm .el-input__clear:hover {
color: #FFFFFF;
}
.searchPanelForm .el-input__inner::placeholder {
.searchPanelForm .el-input__inner::placeholder,
.searchSmallPanelForm .el-input__inner::placeholder {
font-family: Microsoft YaHei;
font-weight: 400;
font-size: 16px;
color: #FFFFFF;
}
.searchPanelForm .el-input__wrapper {
.searchPanelForm .el-input__wrapper,
.searchSmallPanelForm .el-input__wrapper {
background-color: transparent;
border-radius: 0;
box-shadow: none;
padding: 0;
}
// 选择框样式
.searchPanelForm .el-select__wrapper {
// 选择框样式
.searchPanelForm .el-select__wrapper,
.searchSmallPanelForm .el-select__wrapper {
background-color: transparent;
border-radius: 0;
box-shadow: none;
padding: 0;
}
.searchPanelForm .el-select__wrapper.is-hovering:not(.is-focused) {
.searchPanelForm .el-select__wrapper.is-hovering:not(.is-focused),
.searchSmallPanelForm .el-select__wrapper.is-hovering:not(.is-focused) {
box-shadow: none;
}
.searchPanelForm .el-select__placeholder {
.searchPanelForm .el-select__placeholder,
.searchSmallPanelForm .el-select__placeholder {
font-family: Microsoft YaHei;
font-weight: 400;
font-size: 16px;
color: #FFFFFF;
// 添加这三行select中设置最小宽度可以依据选择内容自适应
position: relative;
top: none;
transform: none;
}
.searchPanelForm .el-select__caret {
.searchPanelForm .el-select__caret,
.searchSmallPanelForm .el-select__caret {
color: #FFFFFF;
}
// 查询日期框样式
.searchPanelForm .el-date-editor .el-range__icon {
.searchPanelForm .el-date-editor .el-range__icon,
.searchSmallPanelForm .el-date-editor .el-range__icon {
color: #FFFFFF;
}
.searchPanelForm .el-date-editor .el-range-separator {
.searchPanelForm .el-date-editor .el-range-separator,
.searchSmallPanelForm .el-date-editor .el-range-separator {
color: #FFFFFF;
}
.searchPanelForm .el-date-editor .el-range-input {
.searchPanelForm .el-date-editor .el-range-input,
.searchSmallPanelForm .el-date-editor .el-range-input {
font-family: Microsoft YaHei;
font-weight: 400;
font-size: 16px;
color: #FFFFFF;
}
.searchPanelForm .el-date-editor .el-range-input::placeholder {
.searchPanelForm .el-date-editor .el-range-input::placeholder,
.searchSmallPanelForm .el-date-editor .el-range-input::placeholder {
font-family: Microsoft YaHei;
font-weight: 400;
font-size: 16px;
color: #FFFFFF;
}
.searchPanelForm .el-date-editor .el-range__close-icon {
.searchPanelForm .el-date-editor .el-range__close-icon,
.searchSmallPanelForm .el-date-editor .el-range__close-icon {
color: #FFFFFF;
}
.searchPanelForm .el-date-editor.el-input__wrapper:hover {
.searchPanelForm .el-date-editor.el-input__wrapper:hover,
.searchSmallPanelForm .el-date-editor.el-input__wrapper:hover {
background-color: transparent;
border-radius: 0;
box-shadow: none !important;
padding: 0;
}
// 独立查询输入框样式
// 独立查询输入框样式
.searchInputForm .el-form-item--default {
margin-bottom: 0px;
}
.searchInputForm .el-input__inner {
font-family: Microsoft YaHei;
font-weight: 400;
@ -635,7 +809,7 @@ h6 {
}
.my_dialog .el-dialog__header {
border-bottom: 1px solid #D4DAE1 !important;
border-bottom: 1px solid #58585820 !important;
padding: 16px;
font-family: Microsoft YaHei;
font-weight: 700;
@ -652,18 +826,14 @@ h6 {
}
.my_dialog .el-dialog__body {
// font-family: Microsoft YaHei;
// font-weight: 400;
// font-size: 16px;
// color: #3B3B3B;
padding: 20px;
}
.my_dialog .el-dialog__footer {
box-sizing: border-box;
padding: 16px;
text-align: right;
border-top: 1px solid #D4DAE1 !important;
text-align: center;
border-top: 1px solid #58585830 !important;
}
// 表单录入样式
@ -792,4 +962,25 @@ h6 {
font-weight: 400;
font-size: 16px;
color: #B8B8B8;
}
.myFeedBackForm .el-form-item__label {
font-family: Microsoft YaHei;
font-weight: 600;
font-size: 16px;
color: #000000;
// min-width: 34px;
}
.myFeedBackForm .el-textarea__inner {
font-family: Microsoft YaHei;
font-weight: 400;
font-size: 16px;
color: #525252;
}
.myFeedBackForm .el-textarea__inner::placeholder {
font-family: Microsoft YaHei;
font-weight: 400;
font-size: 16px;
color: #87898E !important;
}

View File

@ -113,11 +113,11 @@
.hideSidebar {
.sidebar-container {
width: 54px !important;
width: 0px !important;
}
.main-container {
margin-left: 54px;
margin: 0 36px;
}
.sub-menu-title-noDropdown {

View File

@ -13,19 +13,40 @@
<div class="right-menu">
<div class="el-dropdown avatar-container right-menu-item hover-effect">
<div class="avatar-wrapper">
<div class="feedback_icon">
<img :src="icon_feedback" class="custom-icon" @click="handleFeedBack" />
</div>
<img :src="userStore.avatar ? userStore.avatar : avatar_icon" class="user-avatar" />
<span class="user-nickname"> {{ userStore.nickName }} admin </span>
<div class="logout_icon">
<img :src="logout_icon" class="custom-icon" @click="logout" />
</div>
</div>
</div>
</div>
<div class="right-menu-item hover-effect setting" @click="setLayout" v-if="settingsStore.showSettings">
<svg-icon icon-class="more-up" />
</div>
</div>
</div>
</div>
<!-- 添加反馈对话框 -->
<el-dialog title="问题反馈" v-model="openFeedBack" width="800px" align-center class="my_dialog" append-to-body
:destroy-on-close="true" :close-on-click-modal="false">
<el-form ref="feedBackRef" :model="form" :rules="rules" label-width="120px" label-position="top"
class="myFeedBackForm">
<el-form-item label="输入反馈内容" prop="menuName">
<el-input v-model="form.menuName" style="width: 100%" :rows="12" type="textarea"
placeholder="欢迎提出您在使用过程中遇到的问题或宝贵建议" />
</el-form-item>
</el-form>
<template #footer>
<div class="dialog-footer">
<el-button class="my-cancel-btn" @click="cancel"> </el-button>
<el-button class="my-confirm-btn" type="primary" @click="submitForm"> </el-button>
</div>
</template>
</el-dialog>
</template>
<script setup>
@ -34,6 +55,7 @@ import Breadcrumb from '@/components/Breadcrumb'
import homeLogo from '@/assets/logo/homeLogo.png'
import avatar_icon from '@/assets/images/avatar_icon.png'
import logout_icon from '@/assets/images/logout_icon.png'
import icon_feedback from '@/assets/images/icon_feedback.png'
import TopNav from '@/components/TopNav'
import useAppStore from '@/store/modules/app'
import useUserStore from '@/store/modules/user'
@ -42,7 +64,7 @@ import useSettingsStore from '@/store/modules/settings'
const appStore = useAppStore()
const userStore = useUserStore()
const settingsStore = useSettingsStore()
const { proxy } = getCurrentInstance()
console.log('settingsStore.topNav', settingsStore.topNav)
function toggleSideBar() {
@ -54,6 +76,8 @@ const logout = () => {
ElMessageBox.confirm('确定注销并退出系统吗?', '提示', {
confirmButtonText: '确定',
cancelButtonText: '取消',
confirmButtonClass: 'custom-confirm-btn',
cancelButtonClass: 'custom-cancel-btn',
closeOnClickModal: false, //
type: 'warning'
}).then(() => {
@ -71,6 +95,35 @@ function setLayout() {
function toggleTheme() {
settingsStore.toggleTheme()
}
const openFeedBack = ref(false)
const data = reactive({
form: {},
rules: {
menuName: [{ required: true, message: "反馈内容不能为空", trigger: "blur" }]
},
})
const { queryParams, form, rules } = toRefs(data)
const handleFeedBack = () => {
openFeedBack.value = true
}
const cancel = () => {
openFeedBack.value = false
form.value = {}
}
const submitForm = () => {
proxy.$refs["feedBackRef"].validate(valid => {
if (valid) {
openFeedBack.value = false
// addMenu(form.value).then(response => {
// proxy.$modal.msgSuccess("")
// open.value = false
// getList()
// })
}
})
}
</script>
<style lang='scss' scoped>
@ -81,31 +134,33 @@ function toggleTheme() {
.navbar {
height: 80px;
width: 100%;
overflow: hidden;
position: relative;
position: fixed;
background: transparent;
box-shadow: none;
padding: 0 36px;
.navContent {
height: 43px;
margin: 19px 40px 18px 40px;
height: 43px;
margin: 19px 0px 18px 0px;
display: flex; // flex
justify-content: space-between; // 使
align-items: center; //
}
.systemLogoContent {
width: 220px;
width: 220px;
}
.topmenu-container {
.topmenu-container {
flex: 1; //
padding-left: 284px; // padding-left
}
.right-menu {
height: 100%;
width: 220px;
width: 220px;
text-align: right;
line-height: normal; // line-height
display: flex; // 使flex
@ -116,13 +171,13 @@ function toggleTheme() {
outline: none;
}
.right-menu-item {
.right-menu-item {
height: 100%;
font-size: 18px;
color: #5a5e66;
vertical-align: text-bottom;
&.hover-effect {
&.hover-effect {
transition: background 0.3s;
&:hover {
@ -148,7 +203,7 @@ function toggleTheme() {
margin-right: 0px;
padding-right: 0px;
.avatar-wrapper {
.avatar-wrapper {
display: flex;
align-items: center;
@ -158,7 +213,7 @@ function toggleTheme() {
border-radius: 50%;
}
.user-nickname {
.user-nickname {
bottom: 0 !important; // bottom
margin-left: 8px;
font-family: Microsoft YaHei;
@ -178,12 +233,17 @@ function toggleTheme() {
}
}
.logout_icon {
.feedback_icon {
margin-right: 34px;
cursor: pointer;
}
.logout_icon {
margin-left: 30px;
cursor: pointer;
}
}
.hamburger-container {
line-height: 46px;
height: 100%;

View File

@ -110,7 +110,7 @@ function setLayout() {
}
.hideSidebar .fixed-header {
width: calc(100% - 54px);
width: 100%;
}
.sidebarHide .fixed-header {

View File

@ -47,11 +47,15 @@
<img :src="notic_icon" class="custom-icon" /><span>系统通知</span>
</div>
</div>
<ul class="resource-list">
<ul class="resource-list" v-if="notices.length > 0">
<li v-for="(notice, index) in notices" :key="index" class="resource-link">
{{ notice.content }}
</li>
</ul>
<div class="no_result" v-else>
<img :src="no_notice" />
<div class="no_notice_title">暂无通知</div>
</div>
</div>
</div>
</template>
@ -63,7 +67,8 @@ import supplierManage from '@/assets/images/supplierManage.png'
import mediaLibary from '@/assets/images/mediaLibary.png'
import outdoorMediaMap from '@/assets/images/outdoorMediaMap.png'
import notic_icon from '@/assets/images/notic-icon.png'
import {useBackgroundStore} from '@/store/modules/background'
import no_notice from '@/assets/images/no_notice.png'
import { useBackgroundStore } from '@/store/modules/background'
import bigBackgroud from '@/assets/images/bigBackgroud.png'
const bgStore = useBackgroundStore()
@ -73,32 +78,32 @@ onMounted(() => {
});
const notices = ref([
{ date: 'XXXXX供应商信息记不全请完善', content: 'XXXXX供应商信息记不全请完善' },
{ date: 'XXXXX供应商信息记不全请完善', content: 'XXXXX供应商信息记不全请完善' },
{ date: 'XXXXX供应商信息记不全请完善', content: 'XXXXX供应商信息记不全请完善' },
{ date: 'XXXXX供应商信息记不全请完善', content: 'XXXXX供应商信息记不全请完善' },
{ date: 'XXXXX供应商信息记不全请完善', content: 'XXXXX供应商信息记不全请完善' },
{ date: 'XXXXX供应商信息记不全请完善', content: 'XXXXX供应商信息记不全请完善' },
{ date: 'XXXXX供应商信息记不全请完善', content: 'XXXXX供应商信息记不全请完善' },
{ date: 'XXXXX供应商信息记不全请完善', content: 'XXXXX供应商信息记不全请完善' },
{ date: 'XXXXX供应商信息记不全请完善', content: 'XXXXX供应商信息记不全请完善' },
{ date: 'XXXXX供应商信息记不全请完善', content: 'XXXXX供应商信息记不全请完善' },
{ date: 'XXXXX供应商信息记不全请完善', content: 'XXXXX供应商信息记不全请完善' },
{ date: 'XXXXX供应商信息记不全请完善', content: 'XXXXX供应商信息记不全请完善' },
{ date: 'XXXXX供应商信息记不全请完善', content: 'XXXXX供应商信息记不全请完善' },
{ date: 'XXXXX供应商信息记不全请完善', content: 'XXXXX供应商信息记不全请完善' },
{ date: 'XXXXX供应商信息记不全请完善', content: 'XXXXX供应商信息记不全请完善' },
{ date: 'XXXXX供应商信息记不全请完善', content: 'XXXXX供应商信息记不全请完善' },
{ date: 'XXXXX供应商信息记不全请完善', content: 'XXXXX供应商信息记不全请完善' },
{ date: 'XXXXX供应商信息记不全请完善', content: 'XXXXX供应商信息记不全请完善' },
{ date: 'XXXXX供应商信息记不全请完善', content: 'XXXXX供应商信息记不全请完善' },
{ date: 'XXXXX供应商信息记不全请完善', content: 'XXXXX供应商信息记不全请完善' },
{ date: 'XXXXX供应商信息记不全请完善', content: 'XXXXX供应商信息记不全请完善' },
{ date: 'XXXXX供应商信息记不全请完善', content: 'XXXXX供应商信息记不全请完善' },
{ date: 'XXXXX供应商信息记不全请完善', content: 'XXXXX供应商信息记不全请完善' },
{ date: 'XXXXX供应商信息记不全请完善', content: 'XXXXX供应商信息记不全请完善' },
// { date: 'XXXXX', content: 'XXXXX' },
// { date: 'XXXXX', content: 'XXXXX' },
// { date: 'XXXXX', content: 'XXXXX' },
// { date: 'XXXXX', content: 'XXXXX' },
// { date: 'XXXXX', content: 'XXXXX' },
// { date: 'XXXXX', content: 'XXXXX' },
// { date: 'XXXXX', content: 'XXXXX' },
// { date: 'XXXXX', content: 'XXXXX' },
// { date: 'XXXXX', content: 'XXXXX' },
// { date: 'XXXXX', content: 'XXXXX' },
// { date: 'XXXXX', content: 'XXXXX' },
// { date: 'XXXXX', content: 'XXXXX' },
// { date: 'XXXXX', content: 'XXXXX' },
// { date: 'XXXXX', content: 'XXXXX' },
// { date: 'XXXXX', content: 'XXXXX' },
// { date: 'XXXXX', content: 'XXXXX' },
// { date: 'XXXXX', content: 'XXXXX' },
// { date: 'XXXXX', content: 'XXXXX' },
// { date: 'XXXXX', content: 'XXXXX' },
// { date: 'XXXXX', content: 'XXXXX' },
// { date: 'XXXXX', content: 'XXXXX' },
// { date: 'XXXXX', content: 'XXXXX' },
// { date: 'XXXXX', content: 'XXXXX' },
// { date: 'XXXXX', content: 'XXXXX' },
]);
</script>
</script>
<style scoped lang="scss">
.flex-container {
display: flex;
@ -246,6 +251,20 @@ const notices = ref([
margin-bottom: 20px;
}
.no_result {
height: 416px;
text-align: center;
margin-bottom: 22px;
padding: 110px 0;
}
.no_notice_title {
font-family: Microsoft YaHei;
font-weight: 400;
font-size: 16px;
color: #FFFFFF60;
}
.resource-list {
font-family: Microsoft YaHei;
font-weight: 400;

View File

@ -15,12 +15,12 @@
@keyup.enter="handleQuery" />
</el-form-item>
<el-form-item label="类型:" prop="businessType">
<el-select v-model="queryParams.businessType" placeholder="操作类型" clearable style="min-width: 86px">
<el-select v-model="queryParams.businessType" placeholder="操作类型" clearable style="min-width: 30px">
<el-option v-for="dict in sys_oper_type" :key="dict.value" :label="dict.label" :value="dict.value" />
</el-select>
</el-form-item>
<el-form-item label="状态:" prop="status">
<el-select v-model="queryParams.status" placeholder="操作状态" clearable style="min-width: 86px">
<el-select v-model="queryParams.status" placeholder="操作状态" clearable style="min-width: 30px">
<el-option v-for="dict in sys_common_status" :key="dict.value" :label="dict.label"
:value="dict.value" />
</el-select>
@ -32,7 +32,7 @@
</el-form-item>
</el-form>
</div>
<el-card>
<el-card class="mt20">
<template #header>
<div class="card-header">
<span>系统管理</span> <span class="subHeaderTitle">- 日志查看与管理</span>
@ -41,7 +41,7 @@
<el-row :gutter="10" class="my_row">
<el-col :span="24">
<el-button type="primary" class="primaryBtn" @click="handleQuery">搜索</el-button>
<el-button type="primary" class="primaryBtn" @click="handleQuery">查询</el-button>
<el-button type="primary" class="primaryBtn" @click="resetQuery">重置</el-button>
<el-button type="primary" class="primaryBtn" :disabled="multiple" @click="handleDelete"
v-hasPermi="['monitor:operlog:remove']">删除</el-button>
@ -95,14 +95,14 @@
</el-card>
<!-- 操作日志详细 -->
<el-dialog title="操作日志详细" v-model="open" width="800px" class="my_dialog" append-to-body :destroy-on-close="true"
<el-dialog title="操作日志详细" v-model="open" width="800px" class="my_dialog" align-center :destroy-on-close="true"
:close-on-click-modal="false">
<el-form :model="form" label-width="100px" class="myInsertForm">
<el-row>
<el-col :span="12">
<el-form-item label="操作模块:">{{ form.title }} / {{ typeFormat(form) }}</el-form-item>
<el-form-item label="登录信息:">{{ form.operName }} / {{ form.operIp }} / {{ form.operLocation
}}</el-form-item>
}}</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="请求地址:">{{ form.operUrl }}</el-form-item>
@ -136,7 +136,7 @@
</el-form>
<template #footer>
<div class="dialog-footer">
<el-button @click="open = false"> </el-button>
<el-button class="my-cancel-btn" @click="open = false"> </el-button>
</div>
</template>
</el-dialog>
@ -144,6 +144,10 @@
</template>
<script setup name="Operlog">
import { onMounted, ref } from 'vue';
import { useBackgroundStore } from '@/store/modules/background'
import otherbg from '@/assets/images/otherbg.png'
const bgStore = useBackgroundStore()
import { list, delOperlog, cleanOperlog } from "@/api/monitor/operlog"
const { proxy } = getCurrentInstance()
@ -252,5 +256,9 @@ function handleExport() {
}, `config_${new Date().getTime()}.xlsx`)
}
getList()
//
onMounted(() => {
bgStore.setBgImage(otherbg)
getList()
});
</script>

View File

@ -11,10 +11,10 @@
</el-form-item>
</el-form>
</div>
<el-card>
<el-card class="mt20">
<el-row :gutter="10" class="my_row">
<el-col :span="24">
<el-button type="primary" class="primaryBtn" @click="handleQuery">搜索</el-button>
<el-button type="primary" class="primaryBtn" @click="handleQuery">查询</el-button>
<el-button type="primary" class="primaryBtn" @click="resetQuery">重置</el-button>
</el-col>
</el-row>
@ -96,21 +96,7 @@ function getList() {
loading.value = false
})
}
/** 表单重置 */
function reset() {
form.value = {
postId: undefined,
postCode: undefined,
postName: undefined,
postSort: 0,
status: "0",
remark: undefined
}
proxy.resetForm("postRef")
}
/** 搜索按钮操作 */
function handleQuery() {
queryParams.value.pageNum = 1

View File

@ -0,0 +1,222 @@
<template>
<div class="app-container">
<div class="searchPanel">
<div class="more-search-pane">
<div class="search-where-container">
<el-form :model="queryParams" ref="queryRef" :inline="true" class="searchPanelForm">
<el-form-item label="发票类型:">
<el-select v-model="queryParams.invoice_type" placeholder="请选择" style="min-width: 30px;"
clearable>
<el-option v-for="dict in invoice_type" :key="dict.value" :label="dict.label"
:value="dict.value" />
</el-select>
</el-form-item>
<el-form-item label="媒体归属:">
<el-select v-model="queryParams.media_ownership" placeholder="请选择" style="min-width: 30px;" clearable>
<el-option v-for="dict in media_ownership" :key="dict.value" :label="dict.label"
:value="dict.value" />
</el-select>
</el-form-item>
<el-form-item label="人员规模:">
<el-select v-model="queryParams.personnel_size" placeholder="请选择" style="min-width: 30px;" clearable>
<el-option v-for="dict in personnel_size" :key="dict.value" :label="dict.label"
:value="dict.value" />
</el-select>
</el-form-item>
<el-form-item label="主营媒体类型:">
<el-select v-model="queryParams.main_media_types" placeholder="请选择" style="min-width: 30px;" clearable>
<el-option v-for="dict in main_media_types" :key="dict.value" :label="dict.label"
:value="dict.value" />
</el-select>
</el-form-item>
<el-form-item label="媒体质量:">
<el-select v-model="queryParams.media_quality" placeholder="请选择" style="min-width: 30px;" clearable>
<el-option v-for="dict in media_quality" :key="dict.value" :label="dict.label"
:value="dict.value" />
</el-select>
</el-form-item>
<el-form-item label="有无合作历史:">
<el-select v-model="queryParams.history_cooperation" placeholder="请选择" style="min-width: 30px;" clearable>
<el-option v-for="dict in history_cooperation" :key="dict.value" :label="dict.label"
:value="dict.value" />
</el-select>
</el-form-item>
<el-form-item label="供应商级别:">
<el-select v-model="queryParams.supplier_level" placeholder="请选择" style="min-width: 30px;" clearable>
<el-option v-for="dict in supplier_level" :key="dict.value" :label="dict.label"
:value="dict.value" />
</el-select>
</el-form-item>
</el-form>
</div>
<div class="search-more-button">
<el-button v-if="!unfoldFlag" text class="foladText" @click="handleFlod">展开
<svg-icon icon-class="unfold" class="ml10" />
</el-button>
<el-button v-else text class="foladText" @click="handleFlod">收起
<svg-icon icon-class="packUp" class="ml10" />
</el-button>
</div>
</div>
</div>
<div class="searchSmallPanel" v-show="unfoldFlag">
<el-form :model="queryParams" ref="queryRef" :inline="true" class="searchSmallPanelForm">
<el-form-item label="供应商配合度:">
<el-select v-model="queryParams.supplier_cooperation_degree" placeholder="请选择" style="min-width: 30px;" clearable >
<el-option v-for="dict in supplier_cooperation_degree" :key="dict.value" :label="dict.label"
:value="dict.value" />
</el-select>
</el-form-item>
<el-form-item label="主营业务:">
<el-select v-model="queryParams.main_business" placeholder="请选择" clearable style="min-width: 30px;">
<el-option v-for="dict in main_business" :key="dict.value" :label="dict.label"
:value="dict.value" />
</el-select>
</el-form-item>
<el-form-item label="业务部门:">
</el-form-item>
<el-form-item label="城市:">
</el-form-item>
<el-form-item label="">
</el-form-item>
<el-form-item label="">
</el-form-item>
</el-form>
</div>
<el-card class="mt20">
<el-row :gutter="10" class="my_row"><el-col :span="12">
<el-form :model="queryParams" ref="queryRef" :inline="true" class="searchInputForm">
<el-form-item label="">
<el-input v-model="form.postCode" placeholder="请输入供应商名称/集团公司名称/联系人/联系人电话"
:prefix-icon="Search" style="width: 500px;" />
</el-form-item>
</el-form>
</el-col>
<el-col :span="12" style="text-align: right;">
<el-button type="primary" class="primaryBtn" @click="handleQuery">查询</el-button>
<el-button type="primary" class="primaryBtn" @click="resetQuery">重置</el-button>
</el-col>
</el-row>
<el-table v-loading="loading" :data="supplierList" :height="unfoldFlag ? 'calc(100vh - 342px)' : 'calc(100vh - 308px)'">
<el-table-column label="序号" align="center" width="80">
<template #default="scope">
{{ scope.$index + 1 }}
</template>
</el-table-column>
<el-table-column label="供应商名称" align="center" prop="postId" width="230" />
<el-table-column label="城市" align="center" prop="postCode" width="150"/>
<el-table-column label="主营业务" align="center" prop="postCode" width="150"/>
<el-table-column label="主营媒体类型" align="center" prop="postCode" width="150"/>
<el-table-column label="媒体质量" align="center" prop="postCode" width="150"/>
<el-table-column label="供应商配合度" align="center" prop="postCode" width="150"/>
<el-table-column label="人员规模" align="center" prop="postCode" width="150"/>
<el-table-column label="公司类型" align="center" prop="postCode" width="150"/>
<el-table-column label="年营收金额" align="center" prop="postCode" width="150"/>
<el-table-column label="媒体归属" align="center" prop="postCode" width="150"/>
<el-table-column label="媒体年限" align="center" prop="postCode" width="150"/>
<el-table-column label="有无合作历史" align="center" prop="postCode" width="150"/>
<el-table-column label="合作折扣力度" align="center" prop="postCode" width="150"/>
<el-table-column label="供应商联系人" align="center" prop="postCode" width="150"/>
<el-table-column label="供应商联系电话" align="center" prop="postCode" width="150"/>
<!-- <el-table-column label="反馈时间" align="center" prop="createTime" width="210">
<template #default="scope">
<span>{{ parseTime(scope.row.createTime) }}</span>
</template>
</el-table-column> -->
<el-table-column label="操作" width="160" align="center" fixed="right" >
<template #default="scope">
<el-button link type="primary" @click="handleUpdate(scope.row)"
v-hasPermi="['problemFeedback:edit']">修改</el-button>
<el-button link type="primary" @click="handleDelete(scope.row)"
v-hasPermi="['problemFeedback:remove']">删除</el-button>
<el-button link type="primary" @click="handleDelete(scope.row)"
v-hasPermi="['problemFeedback:remove']">日志</el-button>
</template>
</el-table-column>
</el-table>
<pagination :total="total" v-model:page="queryParams.pageNum" v-model:limit="queryParams.pageSize"
@pagination="getList" />
</el-card>
</div>
</template>
<script setup name="Post">
import { onMounted, ref } from 'vue';
import { Search } from '@element-plus/icons-vue'
import { useBackgroundStore } from '@/store/modules/background'
import otherbg from '@/assets/images/otherbg.png'
const bgStore = useBackgroundStore()
const { proxy } = getCurrentInstance()
const { invoice_type, media_ownership, personnel_size, main_media_types, media_quality, history_cooperation, supplier_level, supplier_cooperation_degree, main_business } = proxy.useDict("invoice_type", "media_ownership", "personnel_size", "main_media_types", "media_quality", "history_cooperation", "supplier_level", "supplier_cooperation_degree", "main_business")
const supplierList = ref([])
const loading = ref(true)
const total = ref(0)
const data = reactive({
form: {},
queryParams: {
pageNum: 1,
pageSize: 10,
},
rules: {
postName: [{ required: true, message: "岗位名称不能为空", trigger: "blur" }],
postCode: [{ required: true, message: "岗位编码不能为空", trigger: "blur" }],
postSort: [{ required: true, message: "岗位顺序不能为空", trigger: "blur" }],
}
})
const { queryParams, form, rules } = toRefs(data)
//
const unfoldFlag = ref(false)
const handleFlod = () => {
unfoldFlag.value = !unfoldFlag.value
}
/** 查询岗位列表 */
const getList = () => {
loading.value = false
// listPost(proxy.addDateRange(queryParams.value, dateRange.value)).then(response => {
// postList.value = response.rows
// total.value = response.total
// loading.value = false
// })
}
/** 搜索按钮操作 */
const handleQuery = () => {
queryParams.value.pageNum = 1
getList()
}
/** 重置按钮操作 */
const resetQuery = () => {
proxy.resetForm("queryRef")
handleQuery()
}
/** 删除按钮操作 */
const handleDelete = (row) => {
const postIds = row.postId || ids.value
proxy.$modal.confirm('是否确认删除岗位编号为"' + postIds + '"的数据项?').then(function () {
return delPost(postIds)
}).then(() => {
getList()
proxy.$modal.msgSuccess("删除成功")
}).catch(() => { })
}
//
onMounted(() => {
bgStore.setBgImage(otherbg)
getList()
});
</script>

View File

@ -1,5 +1,5 @@
<template>
<div class="app-container">
<div class="app-container">
<el-card>
<template #header>
<div class="card-header">
@ -39,7 +39,7 @@
</el-card>
<!-- 添加或修改部门对话框 -->
<el-dialog :title="title" v-model="open" width="800px" class="my_dialog" append-to-body :destroy-on-close="true"
<el-dialog :title="title" v-model="open" width="800px" class="my_dialog" align-center :destroy-on-close="true"
:close-on-click-modal="false">
<el-form ref="deptRef" :model="form" :rules="rules" label-width="100px" class="myInsertForm">
<el-form-item label="上级节点" prop="parentId">
@ -52,12 +52,12 @@
</el-form-item>
<el-form-item label="地区标识" prop="orderNum">
<el-input-number v-model="form.orderNum" controls-position="right" :min="0" />
</el-form-item>
</el-form-item>
</el-form>
<template #footer>
<div class="dialog-footer">
<el-button type="primary" @click="submitForm"> </el-button>
<el-button @click="cancel"> </el-button>
<el-button class="my-cancel-btn" @click="cancel"> </el-button>
<el-button class="my-confirm-btn" type="primary" @click="submitForm"> </el-button>
</div>
</template>
</el-dialog>

View File

@ -3,31 +3,31 @@
<div class="searchPanel">
<el-form :model="queryParams" ref="queryRef" :inline="true" v-show="showSearch" class="searchPanelForm">
<el-form-item label="城市:">
<el-select v-model="queryParams.status" placeholder="请选择" clearable style="width: 86px">
<el-select v-model="queryParams.status" placeholder="请选择" clearable style="min-width: 30px">
<el-option v-for="dict in sys_normal_disable" :key="dict.value" :label="dict.label"
:value="dict.value" />
</el-select>
</el-form-item>
<el-form-item label="">
<el-select v-model="queryParams.status" placeholder="请选择" clearable style="width: 86px">
<el-select v-model="queryParams.status" placeholder="请选择" clearable style="min-width: 30px">
<el-option v-for="dict in sys_normal_disable" :key="dict.value" :label="dict.label"
:value="dict.value" />
</el-select>
</el-form-item>
<el-form-item label="">
<el-select v-model="queryParams.status" placeholder="请选择" clearable style="width: 86px">
<el-select v-model="queryParams.status" placeholder="请选择" clearable style="min-width: 30px">
<el-option v-for="dict in sys_normal_disable" :key="dict.value" :label="dict.label"
:value="dict.value" />
</el-select>
</el-form-item>
<el-form-item label="">
<el-select v-model="queryParams.status" placeholder="请选择" clearable style="width: 86px">
<el-select v-model="queryParams.status" placeholder="请选择" clearable style="min-width: 30px">
<el-option v-for="dict in sys_normal_disable" :key="dict.value" :label="dict.label"
:value="dict.value" />
</el-select>
</el-form-item>
<el-form-item label="商圈:">
<el-select v-model="queryParams.status" placeholder="请选择" clearable style="width: 86px">
<el-select v-model="queryParams.status" placeholder="请选择" clearable style="min-width: 30px">
<el-option v-for="dict in sys_normal_disable" :key="dict.value" :label="dict.label"
:value="dict.value" />
</el-select>
@ -36,7 +36,7 @@
</div>
<el-card>
<el-card class="mt20">
<template #header>
<div class="card-header">
<span>系统管理</span> <span class="subHeaderTitle">- 商圈管理</span>
@ -44,10 +44,10 @@
</template>
<el-row :gutter="10" class="my_row">
<el-col :span="24">
<el-button type="primary" class="primaryBtn" @click="handleQuery">查询</el-button>
<el-button type="primary" class="primaryBtn" @click="resetQuery">重置</el-button>
<el-button type="primary" class="primaryBtn" @click="handleAdd"
v-hasPermi="['system:businessArea:add']">新增</el-button>
<el-button type="primary" class="primaryBtn" @click="handleQuery">搜索</el-button>
<el-button type="primary" class="primaryBtn" @click="resetQuery">重置</el-button>
</el-col>
</el-row>
@ -72,13 +72,13 @@
</el-table-column>
</el-table>
<pagination :total="total" v-model:page="queryParams.pageNum"
v-model:limit="queryParams.pageSize" @pagination="getList" />
<pagination :total="total" v-model:page="queryParams.pageNum" v-model:limit="queryParams.pageSize"
@pagination="getList" />
</el-card>
<!-- 添加或修改岗位对话框 -->
<el-dialog :title="title" v-model="open" width="800px" class="my_dialog" append-to-body :destroy-on-close="true"
<el-dialog :title="title" v-model="open" width="800px" class="my_dialog" align-center :destroy-on-close="true"
:close-on-click-modal="false">
<el-form ref="postRef" :model="form" :rules="rules" label-width="120px" class="myInsertForm">
<el-form-item label="省/直辖市" prop="postName">
@ -111,8 +111,8 @@
</el-form>
<template #footer>
<div class="dialog-footer">
<el-button type="primary" @click="submitForm"> </el-button>
<el-button @click="cancel"> </el-button>
<el-button class="my-cancel-btn" @click="cancel"> </el-button>
<el-button class="my-confirm-btn" type="primary" @click="submitForm"> </el-button>
</div>
</template>
</el-dialog>

View File

@ -130,7 +130,7 @@
/>
<!-- 添加或修改参数配置对话框 -->
<el-dialog :title="title" v-model="open" width="500px" append-to-body>
<el-dialog :title="title" v-model="open" width="500px" align-center>
<el-form ref="configRef" :model="form" :rules="rules" label-width="80px">
<el-form-item label="参数名称" prop="configName">
<el-input v-model="form.configName" placeholder="请输入参数名称" />

View File

@ -7,14 +7,14 @@
@keyup.enter="handleQuery" />
</el-form-item>
<el-form-item label="状态:" prop="status">
<el-select v-model="queryParams.status" placeholder="部门状态" clearable style="min-width: 86px">
<el-select v-model="queryParams.status" placeholder="部门状态" clearable style="min-width: 30px">
<el-option v-for="dict in sys_normal_disable" :key="dict.value" :label="dict.label"
:value="dict.value" />
</el-select>
</el-form-item>
</el-form>
</div>
<el-card>
<el-card class="mt20">
<template #header>
<div class="card-header">
<span>系统管理</span> <span class="subHeaderTitle">- 部门管理</span>
@ -23,11 +23,11 @@
<el-row :gutter="10" class="my_row">
<el-col :span="24">
<el-button type="primary" class="primaryBtn" @click="handleQuery">查询</el-button>
<el-button type="primary" class="primaryBtn" @click="resetQuery">重置</el-button>
<el-button type="primary" class="primaryBtn" @click="handleAdd"
v-hasPermi="['system:dept:add']">新增</el-button>
<el-button type="primary" class="primaryBtn" @click="toggleExpandAll">展开/折叠</el-button>
<el-button type="primary" class="primaryBtn" @click="handleQuery">搜索</el-button>
<el-button type="primary" class="primaryBtn" @click="resetQuery">重置</el-button>
</el-col>
</el-row>
@ -60,7 +60,7 @@
</el-card>
<!-- 添加或修改部门对话框 -->
<el-dialog :title="title" v-model="open" width="800px" class="my_dialog" append-to-body :destroy-on-close="true"
<el-dialog :title="title" v-model="open" width="800px" class="my_dialog" align-center :destroy-on-close="true"
:close-on-click-modal="false">
<el-form ref="deptRef" :model="form" :rules="rules" label-width="100px" class="myInsertForm">
<el-row>
@ -100,7 +100,7 @@
<el-form-item label="部门状态">
<el-radio-group v-model="form.status">
<el-radio v-for="dict in sys_normal_disable" :key="dict.value" :value="dict.value">{{ dict.label
}}</el-radio>
}}</el-radio>
</el-radio-group>
</el-form-item>
</el-col>
@ -108,8 +108,8 @@
</el-form>
<template #footer>
<div class="dialog-footer">
<el-button type="primary" @click="submitForm"> </el-button>
<el-button @click="cancel"> </el-button>
<el-button class="my-cancel-btn" @click="cancel"> </el-button>
<el-button class="my-confirm-btn" type="primary" @click="submitForm"> </el-button>
</div>
</template>
</el-dialog>

View File

@ -3,7 +3,7 @@
<div class="searchPanel">
<el-form :model="queryParams" ref="queryRef" :inline="true" v-show="showSearch" class="searchPanelForm">
<el-form-item label="字典名称:" prop="dictType">
<el-select v-model="queryParams.dictType" style="width: 140px">
<el-select v-model="queryParams.dictType" style="min-width: 30px">
<el-option v-for="item in typeOptions" :key="item.dictId" :label="item.dictName"
:value="item.dictType" />
</el-select>
@ -13,14 +13,14 @@
@keyup.enter="handleQuery" />
</el-form-item>
<el-form-item label="状态:" prop="status">
<el-select v-model="queryParams.status" placeholder="数据状态" clearable style="min-width: 86px">
<el-select v-model="queryParams.status" placeholder="数据状态" clearable style="min-width: 30px">
<el-option v-for="dict in sys_normal_disable" :key="dict.value" :label="dict.label"
:value="dict.value" />
</el-select>
</el-form-item>
</el-form>
</div>
<el-card>
<el-card class="mt20">
<template #header>
<div class="card-header">
<span>系统管理</span> <span class="subHeaderTitle">- 字典管理 - 字典明细</span>
@ -29,6 +29,8 @@
<el-row :gutter="10" class="my_row">
<el-col :span="24">
<el-button type="primary" class="primaryBtn" @click="handleQuery">查询</el-button>
<el-button type="primary" class="primaryBtn" @click="resetQuery">重置</el-button>
<el-button type="primary" class="primaryBtn" @click="handleAdd"
v-hasPermi="['system:dict:add']">新增</el-button>
<el-button type="primary" class="primaryBtn" :disabled="single" @click="handleUpdate"
@ -38,8 +40,6 @@
<el-button type="primary" class="primaryBtn" @click="handleExport"
v-hasPermi="['system:dict:export']">导出</el-button>
<el-button type="primary" class="primaryBtn" @click="handleClose">关闭</el-button>
<el-button type="primary" class="primaryBtn" @click="handleQuery">搜索</el-button>
<el-button type="primary" class="primaryBtn" @click="resetQuery">重置</el-button>
</el-col>
</el-row>
@ -79,8 +79,8 @@
</el-table-column>
</el-table>
<pagination :total="total" v-model:page="queryParams.pageNum"
v-model:limit="queryParams.pageSize" @pagination="getList" />
<pagination :total="total" v-model:page="queryParams.pageNum" v-model:limit="queryParams.pageSize"
@pagination="getList" />
</el-card>
@ -88,7 +88,7 @@
<!-- 添加或修改参数配置对话框 -->
<el-dialog :title="title" v-model="open" width="800px" class="my_dialog" append-to-body :destroy-on-close="true"
<el-dialog :title="title" v-model="open" width="800px" class="my_dialog" align-center :destroy-on-close="true"
:close-on-click-modal="false">
<el-form ref="dataRef" :model="form" :rules="rules" label-width="120px" class="myInsertForm">
<el-form-item label="字典类型">
@ -115,7 +115,7 @@
<el-form-item label="状态" prop="status">
<el-radio-group v-model="form.status">
<el-radio v-for="dict in sys_normal_disable" :key="dict.value" :value="dict.value">{{ dict.label
}}</el-radio>
}}</el-radio>
</el-radio-group>
</el-form-item>
<el-form-item label="备注" prop="remark">
@ -124,8 +124,8 @@
</el-form>
<template #footer>
<div class="dialog-footer">
<el-button type="primary" @click="submitForm"> </el-button>
<el-button @click="cancel"> </el-button>
<el-button class="my-cancel-btn" @click="cancel"> </el-button>
<el-button class="my-confirm-btn" type="primary" @click="submitForm"> </el-button>
</div>
</template>
</el-dialog>

View File

@ -11,7 +11,7 @@
@keyup.enter="handleQuery" />
</el-form-item>
<el-form-item label="状态:" prop="status">
<el-select v-model="queryParams.status" placeholder="字典状态" clearable style="min-width: 86px">
<el-select v-model="queryParams.status" placeholder="字典状态" clearable style="min-width: 30px">
<el-option v-for="dict in sys_normal_disable" :key="dict.value" :label="dict.label"
:value="dict.value" />
</el-select>
@ -23,7 +23,7 @@
</el-form>
</div>
<el-card>
<el-card class="mt20">
<template #header>
<div class="card-header">
<span>系统管理</span> <span class="subHeaderTitle">- 字典管理</span>
@ -32,6 +32,8 @@
<el-row :gutter="10" class="my_row">
<el-col :span="24">
<el-button type="primary" class="primaryBtn" @click="handleQuery">查询</el-button>
<el-button type="primary" class="primaryBtn" @click="resetQuery">重置</el-button>
<el-button type="primary" class="primaryBtn" @click="handleAdd"
v-hasPermi="['system:dict:add']">新增</el-button>
<el-button type="primary" class="primaryBtn" :disabled="single" @click="handleUpdate"
@ -42,8 +44,6 @@
v-hasPermi="['system:dict:export']">导出</el-button>
<el-button type="primary" class="primaryBtn" @click="handleRefreshCache"
v-hasPermi="['system:dict:remove']">刷新缓存</el-button>
<el-button type="primary" class="primaryBtn" @click="handleQuery">搜索</el-button>
<el-button type="primary" class="primaryBtn" @click="resetQuery">重置</el-button>
</el-col>
</el-row>
@ -80,12 +80,12 @@
</el-table-column>
</el-table>
<pagination :total="total" v-model:page="queryParams.pageNum"
v-model:limit="queryParams.pageSize" @pagination="getList" />
<pagination :total="total" v-model:page="queryParams.pageNum" v-model:limit="queryParams.pageSize"
@pagination="getList" />
</el-card>
<!-- 添加或修改参数配置对话框 -->
<el-dialog :title="title" v-model="open" width="800px" class="my_dialog" append-to-body :destroy-on-close="true"
<el-dialog :title="title" v-model="open" width="800px" class="my_dialog" align-center :destroy-on-close="true"
:close-on-click-modal="false">
<el-form ref="dictRef" :model="form" :rules="rules" label-width="120px" class="myInsertForm">
<el-form-item label="字典名称" prop="dictName">
@ -97,7 +97,7 @@
<el-form-item label="状态" prop="status">
<el-radio-group v-model="form.status">
<el-radio v-for="dict in sys_normal_disable" :key="dict.value" :value="dict.value">{{ dict.label
}}</el-radio>
}}</el-radio>
</el-radio-group>
</el-form-item>
<el-form-item label="备注" prop="remark">
@ -106,8 +106,8 @@
</el-form>
<template #footer>
<div class="dialog-footer">
<el-button type="primary" @click="submitForm"> </el-button>
<el-button @click="cancel"> </el-button>
<el-button class="my-cancel-btn" @click="cancel"> </el-button>
<el-button class="my-confirm-btn" type="primary" @click="submitForm"> </el-button>
</div>
</template>
</el-dialog>

View File

@ -1,5 +1,5 @@
<template>
<div class="app-container">
<div class="app-container">
<el-card>
<template #header>
<div class="card-header">
@ -39,7 +39,7 @@
</el-card>
<!-- 添加或修改部门对话框 -->
<el-dialog :title="title" v-model="open" width="800px" class="my_dialog" append-to-body :destroy-on-close="true"
<el-dialog :title="title" v-model="open" width="800px" class="my_dialog" align-center :destroy-on-close="true"
:close-on-click-modal="false">
<el-form ref="deptRef" :model="form" :rules="rules" label-width="100px" class="myInsertForm">
<el-form-item label="上级类型" prop="parentId">
@ -56,7 +56,7 @@
<el-form-item label="是否可用">
<el-radio-group v-model="form.status">
<el-radio v-for="dict in sys_normal_disable" :key="dict.value" :value="dict.value">{{ dict.label
}}</el-radio>
}}</el-radio>
</el-radio-group>
</el-form-item>
<el-form-item label="备注">
@ -65,8 +65,8 @@
</el-form>
<template #footer>
<div class="dialog-footer">
<el-button type="primary" @click="submitForm"> </el-button>
<el-button @click="cancel"> </el-button>
<el-button class="my-cancel-btn" @click="cancel"> </el-button>
<el-button class="my-confirm-btn" type="primary" @click="submitForm"> </el-button>
</div>
</template>
</el-dialog>

View File

@ -7,7 +7,7 @@
@keyup.enter="handleQuery" />
</el-form-item>
<el-form-item label="状态:" prop="status">
<el-select v-model="queryParams.status" placeholder="请选择" clearable style="min-width: 70px">
<el-select v-model="queryParams.status" placeholder="请选择" clearable style="min-width: 30px;">
<el-option v-for="dict in sys_normal_disable" :key="dict.value" :label="dict.label"
:value="dict.value" />
</el-select>
@ -15,7 +15,7 @@
</el-form>
</div>
<el-card>
<el-card class="mt20">
<template #header>
<div class="card-header">
<span>系统管理</span> <span class="subHeaderTitle">- 菜单管理</span>
@ -24,11 +24,11 @@
<el-row :gutter="10" class="my_row">
<el-col :span="24">
<el-button type="primary" class="primaryBtn" @click="handleQuery">查询</el-button>
<el-button type="primary" class="primaryBtn" @click="resetQuery">重置</el-button>
<el-button type="primary" class="primaryBtn" @click="handleAdd"
v-hasPermi="['system:menu:add']">新增</el-button>
<el-button type="primary" class="primaryBtn" @click="toggleExpandAll">展开/折叠</el-button>
<el-button type="primary" class="primaryBtn" @click="handleQuery">搜索</el-button>
<el-button type="primary" class="primaryBtn" @click="resetQuery">重置</el-button>
</el-col>
</el-row>
@ -70,7 +70,7 @@
<!-- 添加或修改菜单对话框 -->
<el-dialog :title="title" v-model="open" width="800px" class="my_dialog" append-to-body :destroy-on-close="true"
<el-dialog :title="title" v-model="open" width="800px" class="my_dialog" align-center :destroy-on-close="true"
:close-on-click-modal="false">
<el-form ref="menuRef" :model="form" :rules="rules" label-width="120px" class="myInsertForm">
<el-row>
@ -253,8 +253,8 @@
</el-form>
<template #footer>
<div class="dialog-footer">
<el-button type="primary" @click="submitForm"> </el-button>
<el-button @click="cancel"> </el-button>
<el-button class="my-cancel-btn" @click="cancel"> </el-button>
<el-button class="my-confirm-btn" type="primary" @click="submitForm"> </el-button>
</div>
</template>
</el-dialog>
@ -425,10 +425,11 @@ function handleDelete(row) {
}).catch(() => { })
}
//
onMounted(() => {
bgStore.setBgImage(otherbg)
getList()
});
</script>
</script>

View File

@ -110,7 +110,7 @@
/>
<!-- 添加或修改公告对话框 -->
<el-dialog :title="title" v-model="open" width="780px" append-to-body>
<el-dialog :title="title" v-model="open" width="780px" align-center>
<el-form ref="noticeRef" :model="form" :rules="rules" label-width="80px">
<el-row>
<el-col :span="12">

View File

@ -11,14 +11,14 @@
@keyup.enter="handleQuery" />
</el-form-item>
<el-form-item label="状态:" prop="status">
<el-select v-model="queryParams.status" placeholder="岗位状态" clearable style="width: 86px">
<el-select v-model="queryParams.status" placeholder="岗位状态" clearable style="min-width: 30px">
<el-option v-for="dict in sys_normal_disable" :key="dict.value" :label="dict.label"
:value="dict.value" />
</el-select>
</el-form-item>
</el-form>
</div>
<el-card>
<el-card class="mt20">
<template #header>
<div class="card-header">
<span>系统管理</span> <span class="subHeaderTitle">- 岗位管理</span>
@ -27,6 +27,8 @@
<el-row :gutter="10" class="my_row">
<el-col :span="24">
<el-button type="primary" class="primaryBtn" @click="handleQuery">查询</el-button>
<el-button type="primary" class="primaryBtn" @click="resetQuery">重置</el-button>
<el-button type="primary" class="primaryBtn" @click="handleAdd"
v-hasPermi="['system:post:add']">新增</el-button>
<el-button type="primary" class="primaryBtn" :disabled="single" @click="handleUpdate"
@ -35,8 +37,6 @@
v-hasPermi="['system:post:remove']">删除</el-button>
<el-button type="primary" class="primaryBtn" @click="handleExport"
v-hasPermi="['system:post:export']">导出</el-button>
<el-button type="primary" class="primaryBtn" @click="handleQuery">搜索</el-button>
<el-button type="primary" class="primaryBtn" @click="resetQuery">重置</el-button>
</el-col>
</el-row>
@ -67,14 +67,14 @@
</el-table-column>
</el-table>
<pagination :total="total" v-model:page="queryParams.pageNum"
v-model:limit="queryParams.pageSize" @pagination="getList" />
<pagination :total="total" v-model:page="queryParams.pageNum" v-model:limit="queryParams.pageSize"
@pagination="getList" />
</el-card>
<!-- 添加或修改岗位对话框 -->
<el-dialog :title="title" v-model="open" width="800px" class="my_dialog" append-to-body :destroy-on-close="true"
<el-dialog :title="title" v-model="open" width="800px" class="my_dialog" align-center :destroy-on-close="true"
:close-on-click-modal="false">
<el-form ref="postRef" :model="form" :rules="rules" label-width="120px" class="myInsertForm">
<el-form-item label="岗位名称" prop="postName">
@ -89,7 +89,7 @@
<el-form-item label="岗位状态" prop="status">
<el-radio-group v-model="form.status">
<el-radio v-for="dict in sys_normal_disable" :key="dict.value" :value="dict.value">{{ dict.label
}}</el-radio>
}}</el-radio>
</el-radio-group>
</el-form-item>
<el-form-item label="备注" prop="remark">
@ -98,8 +98,8 @@
</el-form>
<template #footer>
<div class="dialog-footer">
<el-button type="primary" @click="submitForm"> </el-button>
<el-button @click="cancel"> </el-button>
<el-button class="my-cancel-btn" @click="cancel"> </el-button>
<el-button class="my-confirm-btn" type="primary" @click="submitForm"> </el-button>
</div>
</template>
</el-dialog>

View File

@ -1,5 +1,5 @@
<template>
<div class="app-container">
<div class="app-container">
<el-card>
<template #header>
<div class="card-header">
@ -16,7 +16,7 @@
</el-form>
</el-col>
<el-col :span="12" style="text-align: right;">
<el-button type="primary" class="primaryBtn" @click="handleQuery">搜索</el-button>
<el-button type="primary" class="primaryBtn" @click="handleQuery">查询</el-button>
<el-button type="primary" class="primaryBtn" @click="resetQuery">重置</el-button>
<el-button type="primary" class="primaryBtn" @click="handleAdd"
v-hasPermi="['system:pptTemplate:add']">新增</el-button>
@ -42,13 +42,13 @@
</el-table-column>
</el-table>
<pagination :total="total" v-model:page="queryParams.pageNum"
v-model:limit="queryParams.pageSize" @pagination="getList" />
<pagination :total="total" v-model:page="queryParams.pageNum" v-model:limit="queryParams.pageSize"
@pagination="getList" />
</el-card>
<!-- 添加或修改岗位对话框 -->
<el-dialog :title="title" v-model="open" width="800px" class="my_dialog" append-to-body :destroy-on-close="true"
<el-dialog :title="title" v-model="open" width="800px" class="my_dialog" align-center :destroy-on-close="true"
:close-on-click-modal="false">
<el-form ref="postRef" :model="form" :rules="rules" label-width="120px" class="myInsertForm">
<el-form-item label="模板名称" prop="postName">
@ -72,8 +72,8 @@
</el-form>
<template #footer>
<div class="dialog-footer">
<el-button type="primary" @click="submitForm"> </el-button>
<el-button @click="cancel"> </el-button>
<el-button class="my-cancel-btn" @click="cancel"> </el-button>
<el-button class="my-confirm-btn" type="primary" @click="submitForm"> </el-button>
</div>
</template>
</el-dialog>
@ -90,7 +90,7 @@ const bgStore = useBackgroundStore()
const { proxy } = getCurrentInstance()
const { sys_normal_disable } = proxy.useDict("sys_normal_disable")
const loading = ref(true)
const businessAreaList = ref([])
const total = ref(0)

View File

@ -13,7 +13,7 @@
</el-form>
</div>
<el-card>
<el-card class="mt20">
<template #header>
<div class="card-header">
<span>系统管理</span> <span class="subHeaderTitle">- 角色管理 - 分配用户</span>
@ -22,13 +22,13 @@
<el-row :gutter="10" class="my_row">
<el-col :span="24">
<el-button type="primary" class="primaryBtn" @click="handleQuery">查询</el-button>
<el-button type="primary" class="primaryBtn" @click="resetQuery">重置</el-button>
<el-button type="primary" class="primaryBtn" @click="openSelectUser"
v-hasPermi="['system:role:add']">添加用户</el-button>
<el-button type="primary" class="primaryBtn" :disabled="multiple" @click="cancelAuthUserAll"
v-hasPermi="['system:role:remove']">批量取消授权</el-button>
<el-button type="primary" class="primaryBtn" @click="handleClose">关闭</el-button>
<el-button type="primary" class="primaryBtn" @click="handleQuery">搜索</el-button>
<el-button type="primary" class="primaryBtn" @click="resetQuery">重置</el-button>
</el-col>
</el-row>

View File

@ -11,7 +11,7 @@
@keyup.enter="handleQuery" />
</el-form-item>
<el-form-item label="状态:" prop="status">
<el-select v-model="queryParams.status" placeholder="角色状态" clearable style="min-width: 86px">
<el-select v-model="queryParams.status" placeholder="角色状态" clearable style="min-width: 30px">
<el-option v-for="dict in sys_normal_disable" :key="dict.value" :label="dict.label" :value="dict.value" />
</el-select>
</el-form-item>
@ -22,7 +22,7 @@
</el-form>
</div>
<el-card>
<el-card class="mt20">
<template #header>
<div class="card-header">
<span>系统管理</span> <span class="subHeaderTitle">- 角色管理</span>
@ -31,6 +31,8 @@
<el-row :gutter="10" class="my_row">
<el-col :span="24">
<el-button type="primary" class="primaryBtn" @click="handleQuery">查询</el-button>
<el-button type="primary" class="primaryBtn" @click="resetQuery">重置</el-button>
<el-button type="primary" class="primaryBtn" @click="handleAdd"
v-hasPermi="['system:role:add']">新增</el-button>
<el-button type="primary" class="primaryBtn" :disabled="single" @click="handleUpdate"
@ -39,8 +41,6 @@
v-hasPermi="['system:role:remove']">删除</el-button>
<el-button type="primary" class="primaryBtn" @click="handleExport"
v-hasPermi="['system:role:export']">导出</el-button>
<el-button type="primary" class="primaryBtn" @click="handleQuery">搜索</el-button>
<el-button type="primary" class="primaryBtn" @click="resetQuery">重置</el-button>
</el-col>
</el-row>
@ -77,12 +77,12 @@
</el-table-column>
</el-table>
<pagination :total="total" v-model:page="queryParams.pageNum"
v-model:limit="queryParams.pageSize" @pagination="getList" />
<pagination :total="total" v-model:page="queryParams.pageNum" v-model:limit="queryParams.pageSize"
@pagination="getList" />
</el-card>
<!-- 添加或修改角色配置对话框 -->
<el-dialog :title="title" v-model="open" width="800px" class="my_dialog" append-to-body :destroy-on-close="true"
<el-dialog :title="title" v-model="open" width="800px" class="my_dialog" align-center :destroy-on-close="true"
:close-on-click-modal="false">
<el-form ref="roleRef" :model="form" :rules="rules" label-width="120px" class="myInsertForm">
<el-form-item label="角色名称" prop="roleName">
@ -123,14 +123,14 @@
</el-form>
<template #footer>
<div class="dialog-footer">
<el-button type="primary" @click="submitForm"> </el-button>
<el-button @click="cancel"> </el-button>
<el-button class="my-cancel-btn" @click="cancel"> </el-button>
<el-button class="my-confirm-btn" type="primary" @click="submitForm"> </el-button>
</div>
</template>
</el-dialog>
<!-- 分配角色数据权限对话框 -->
<el-dialog :title="title" v-model="openDataScope" width="650px" class="my_dialog" append-to-body
<el-dialog :title="title" v-model="openDataScope" width="650px" class="my_dialog" align-center
:destroy-on-close="true" :close-on-click-modal="false">
<el-form :model="form" label-width="80px" class="myInsertForm">
<el-form-item label="角色名称">
@ -156,9 +156,9 @@
</el-form-item>
</el-form>
<template #footer>
<div class="dialog-footer">
<el-button type="primary" @click="submitDataScope"> </el-button>
<el-button @click="cancelDataScope"> </el-button>
<div class="dialog-footer">
<el-button class="my-cancel-btn" @click="cancelDataScope"> </el-button>
<el-button class="my-confirm-btn" type="primary" @click="submitDataScope"> </el-button>
</div>
</template>
</el-dialog>

View File

@ -1,6 +1,6 @@
<template>
<!-- 授权用户 -->
<el-dialog title="选择用户" v-model="visible" width="900px" top="5vh" class="my_dialog" append-to-body
<el-dialog title="选择用户" v-model="visible" width="900px" align-center class="my_dialog"
:destroy-on-close="true" :close-on-click-modal="false">
<el-form :model="queryParams" ref="queryRef" :inline="true" class="myInsertForm">
<el-form-item label="用户名称" prop="userName">
@ -12,7 +12,7 @@
@keyup.enter="handleQuery" />
</el-form-item>
<el-form-item>
<el-button type="primary" class="primaryBtn" @click="handleQuery">搜索</el-button>
<el-button type="primary" class="primaryBtn" @click="handleQuery">查询</el-button>
<el-button type="primary" class="primaryBtn" @click="resetQuery">重置</el-button>
</el-form-item>
</el-form>
@ -40,8 +40,8 @@
</el-row>
<template #footer>
<div class="dialog-footer">
<el-button type="primary" @click="handleSelectUser"> </el-button>
<el-button @click="visible = false"> </el-button>
<el-button class="my-cancel-btn" @click="visible = false"> </el-button>
<el-button class="my-confirm-btn" type="primary" @click="handleSelectUser"> </el-button>
</div>
</template>
</el-dialog>

View File

@ -5,7 +5,7 @@
<el-form-item label="部门:">
<el-tree-select v-model="queryParams.deptId" :data="deptOptions" clearable
:props="{ value: 'id', label: 'label', children: 'children' }" value-key="id" placeholder="请选择部门"
check-strictly style="width: 140px" />
check-strictly style="min-width: 30px" />
</el-form-item>
<el-form-item label="用户名称:" prop="userName">
<el-input v-model="queryParams.userName" placeholder="请输入用户名称" clearable style="width: 140px"
@ -16,7 +16,7 @@
@keyup.enter="handleQuery" />
</el-form-item>
<el-form-item label="状态:" prop="status">
<el-select v-model="queryParams.status" placeholder="用户状态" clearable style="min-width: 86px">
<el-select v-model="queryParams.status" placeholder="用户状态" clearable style="min-width: 30px">
<el-option v-for="dict in sys_normal_disable" :key="dict.value" :label="dict.label" :value="dict.value" />
</el-select>
</el-form-item>
@ -27,7 +27,7 @@
</el-form>
</div>
<el-card>
<el-card class="mt20">
<template #header>
<div class="card-header">
<span>系统管理</span> <span class="subHeaderTitle">- 用户管理</span>
@ -36,6 +36,8 @@
<el-row :gutter="10" class="my_row">
<el-col :span="24">
<el-button type="primary" class="primaryBtn" @click="handleQuery">查询</el-button>
<el-button type="primary" class="primaryBtn" @click="resetQuery">重置</el-button>
<el-button type="primary" class="primaryBtn" @click="handleAdd"
v-hasPermi="['system:user:add']">新增</el-button>
<el-button type="primary" class="primaryBtn" :disabled="single" @click="handleUpdate"
@ -46,8 +48,6 @@
v-hasPermi="['system:user:import']">导入</el-button>
<el-button type="primary" class="primaryBtn" @click="handleExport"
v-hasPermi="['system:user:export']">导出</el-button>
<el-button type="primary" class="primaryBtn" @click="handleQuery">搜索</el-button>
<el-button type="primary" class="primaryBtn" @click="resetQuery">重置</el-button>
</el-col>
</el-row>
@ -87,14 +87,14 @@
</template>
</el-table-column>
</el-table>
<pagination :total="total" v-model:page="queryParams.pageNum"
v-model:limit="queryParams.pageSize" @pagination="getList" />
<pagination :total="total" v-model:page="queryParams.pageNum" v-model:limit="queryParams.pageSize"
@pagination="getList" />
</el-card>
<!-- 添加或修改用户配置对话框 -->
<el-dialog :title="title" v-model="open" width="800px" class="my_dialog" append-to-body :destroy-on-close="true"
<el-dialog :title="title" v-model="open" width="800px" class="my_dialog" align-center :destroy-on-close="true"
:close-on-click-modal="false">
<el-form :model="form" :rules="rules" ref="userRef" label-width="120px" class="myInsertForm">
<el-row>
@ -181,14 +181,14 @@
</el-form>
<template #footer>
<div class="dialog-footer">
<el-button type="primary" @click="submitForm"> </el-button>
<el-button @click="cancel"> </el-button>
<el-button class="my-cancel-btn" @click="cancel"> </el-button>
<el-button class="my-confirm-btn" type="primary" @click="submitForm"> </el-button>
</div>
</template>
</el-dialog>
<!-- 用户导入对话框 -->
<el-dialog :title="upload.title" v-model="upload.open" width="650px" class="my_dialog" append-to-body
<el-dialog :title="upload.title" v-model="upload.open" width="650px" class="my_dialog" align-center
:destroy-on-close="true" :close-on-click-modal="false">
<el-upload ref="uploadRef" :limit="1" accept=".xlsx, .xls" :headers="upload.headers"
:action="upload.url + '?updateSupport=' + upload.updateSupport" :disabled="upload.isUploading"
@ -207,9 +207,9 @@
</template>
</el-upload>
<template #footer>
<div class="dialog-footer">
<el-button type="primary" @click="submitFileForm"> </el-button>
<el-button @click="upload.open = false"> </el-button>
<div class="dialog-footer">
<el-button class="my-cancel-btn" @click="upload.open = false"> </el-button>
<el-button class="my-confirm-btn" type="primary" @click="submitFileForm"> </el-button>
</div>
</template>
</el-dialog>

View File

@ -1,7 +1,7 @@
<template>
<div class="user-info-head" @click="editCropper()">
<img :src="options.img" title="点击上传头像" class="img-circle img-lg" />
<el-dialog :title="title" v-model="open" width="800px" append-to-body @opened="modalOpened" @close="closeDialog">
<el-dialog :title="title" v-model="open" width="800px" align-center @opened="modalOpened" @close="closeDialog">
<el-row>
<el-col :xs="24" :md="12" :style="{ height: '350px' }">
<vue-cropper