修复bug

This commit is contained in:
952581343@qq.com 2025-06-10 15:30:22 +08:00
parent 43c2280238
commit fb00b75dba
14 changed files with 78 additions and 26 deletions

View File

@ -1,6 +1,6 @@
NODE_ENV=development NODE_ENV=development
VITE_APP_TITLE='数字乡村云平台' VITE_APP_TITLE='数字乡村云平台'
# VITE_APP_API_URL='http://192.168.34.155:1024' VITE_APP_API_URL='http://192.168.34.155:1024/village'
VITE_APP_API_URL='http://jxjzw.zhgdyun.com:10248/village' # VITE_APP_API_URL='http://jxjzw.zhgdyun.com:10248/village'
# VITE_APP_API_URL='http://jxjzw.zhgdyun.com:11026' # VITE_APP_API_URL='http://jxjzw.zhgdyun.com:11026'
VITE_MQTT_URL='ws://jxj.zhgdyun.com:8083/mqtt' VITE_MQTT_URL='ws://jxj.zhgdyun.com:8083/mqtt'

View File

@ -20,7 +20,8 @@
<script src="/lib/jquery-1.12.4.min.js"></script> <script src="/lib/jquery-1.12.4.min.js"></script>
<script src="/lib/jsencrypt.min.js"></script> <script src="/lib/jsencrypt.min.js"></script>
<script src="/lib/jsWebControl-1.0.0.min.js"></script> <script src="/lib/jsWebControl-1.0.0.min.js"></script>
<script src="https://cdn.jsdelivr.net/npm/hls.js@latest"></script> <script src="/lib/hls.min.js"></script>
<!-- <script src="https://cdn.jsdelivr.net/npm/hls.js@latest"></script> -->
</head> </head>
<body> <body>
<div id="app"></div> <div id="app"></div>

2
public/lib/hls.min.js vendored Normal file

File diff suppressed because one or more lines are too long

View File

@ -93,7 +93,8 @@
onMounted(() => { onMounted(() => {
let menu = useUserStore().findRouteByMenuId(route.name); let menu = useUserStore().findRouteByMenuId(route.name);
if (menu) { if (menu) {
useUserStore().setModuleCurrentId(menu.moduleId); console.log('onMounted', menu);
useUserStore().setModuleCurrentId(menu.moduleId, false);
selectedKeys.value = [menu.moduleId]; selectedKeys.value = [menu.moduleId];
} }
}); });

View File

@ -17,8 +17,8 @@
<template #tab> <template #tab>
<span> <span>
{{ item.menuTitle }} {{ item.menuTitle }}
<close-outlined @click.stop="closeTag(item, false)" v-if="item.menuName !== HOME_PAGE_NAME" class="smart-page-tag-close" /> <close-outlined @click.stop="closeTag(item, false)" v-if="tagNav.length > 1" class="smart-page-tag-close" />
<home-outlined style="font-size: 12px" v-if="item.menuName === HOME_PAGE_NAME" class="smart-page-tag-close" /> <!-- <home-outlined style="font-size: 12px" v-if="item.menuName === HOME_PAGE_NAME" class="smart-page-tag-close" /> -->
</span> </span>
</template> </template>
</a-tab-pane> </a-tab-pane>
@ -94,7 +94,9 @@
function closeByMenu(closeAll) { function closeByMenu(closeAll) {
let find = tagNav.value.find((e) => e.menuName === selectedKey.value); let find = tagNav.value.find((e) => e.menuName === selectedKey.value);
if (!find || closeAll) { if (!find || closeAll) {
closeTag(null, true); let firstTag = tagNav.value[0];
selectTab(firstTag.menuName);
closeTag(firstTag, true);
} else { } else {
closeTag(find, true); closeTag(find, true);
} }

View File

@ -1,6 +1,6 @@
<template> <template>
<div class="textarea-wrap"> <div class="textarea-wrap">
<a-textarea v-model:value="taskContent" :auto-size="{ minRows: 3 }" placeholder="请输入任务内容" ref="textareaRef" /> <a-textarea v-model:value="taskContent" @keydown="handleKeyCode($event)" :auto-size="{ minRows: 3 }" placeholder="请输入任务内容" ref="textareaRef" />
<div class="textarea-toolbar"> <div class="textarea-toolbar">
<div class="textarea-toolbar-item"> <div class="textarea-toolbar-item">
<a-space> <a-space>
@ -160,6 +160,14 @@
} }
}; };
const handleKeyCode = (e) => {
console.log(e);
if (e.key === 'Enter') {
e.preventDefault();
handleConfirm();
}
};
// //
const handleAddLabel = async () => { const handleAddLabel = async () => {
form.label = form.tempLabel; form.label = form.tempLabel;

View File

@ -98,7 +98,7 @@
const router = useRouter(); const router = useRouter();
function onGoHome() { function onGoHome() {
router.push({ name: HOME_PAGE_NAME }); // router.push({ name: HOME_PAGE_NAME });
} }
</script> </script>

View File

@ -199,7 +199,7 @@
const router = useRouter(); const router = useRouter();
function goHome() { function goHome() {
router.push({ name: HOME_PAGE_NAME }); // router.push({ name: HOME_PAGE_NAME });
} }
window.addEventListener('resize', function () { window.addEventListener('resize', function () {

View File

@ -178,10 +178,10 @@ export const useUserStore = defineStore({
state.tagNav = localTagNav ? JSON.parse(localTagNav) : []; state.tagNav = localTagNav ? JSON.parse(localTagNav) : [];
} }
let tagNavList = _.cloneDeep(state.tagNav) || []; let tagNavList = _.cloneDeep(state.tagNav) || [];
tagNavList.unshift({ // tagNavList.unshift({
menuName: HOME_PAGE_NAME, // menuName: HOME_PAGE_NAME,
menuTitle: '首页', // menuTitle: '首页',
}); // });
return tagNavList; return tagNavList;
}, },
}, },
@ -191,9 +191,11 @@ export const useUserStore = defineStore({
return this.allMenuList.find((e) => e.menuId == menuId); return this.allMenuList.find((e) => e.menuId == menuId);
}, },
// 设置模块当前模块 // 设置模块当前模块
setModuleCurrentId(id) { setModuleCurrentId(id, closeAll = true) {
this.moduleCurrentId = id; this.moduleCurrentId = id;
this.closeTagNav(null, true); if (closeAll) {
this.closeTagNav(null, true);
}
}, },
logout() { logout() {
this.token = ''; this.token = '';

View File

@ -2,7 +2,7 @@
<a-form class="smart-query-form"> <a-form class="smart-query-form">
<a-row class="smart-query-form-row"> <a-row class="smart-query-form-row">
<a-form-item label="关键字" class="smart-query-form-item"> <a-form-item label="关键字" class="smart-query-form-item">
<a-input style="width: 300px" v-model:value="queryForm.keywords" placeholder="标题、作者" /> <a-input style="width: 300px" v-model:value="queryForm.keywords" placeholder="请输入" />
</a-form-item> </a-form-item>
<a-form-item class="smart-query-form-item smart-margin-left10" v-privilege="'eventQuestion:query'"> <a-form-item class="smart-query-form-item smart-margin-left10" v-privilege="'eventQuestion:query'">
@ -172,6 +172,7 @@
// //
function onReload() { function onReload() {
Object.assign(queryForm, queryFormState); Object.assign(queryForm, queryFormState);
queryForm.eventTypeId = props.eventTypeId;
queryList(); queryList();
} }

View File

@ -47,6 +47,7 @@
import { SmartLoading } from '/@/components/framework/smart-loading'; import { SmartLoading } from '/@/components/framework/smart-loading';
import { LOGIN_DEVICE_ENUM } from '/@/constants/system/login-device-const'; import { LOGIN_DEVICE_ENUM } from '/@/constants/system/login-device-const';
import { useUserStore } from '/@/store/modules/system/user'; import { useUserStore } from '/@/store/modules/system/user';
import { MENU_TYPE_ENUM } from '/@/constants/system/menu-const';
import { setLoginInfo } from '/@/utils/user'; import { setLoginInfo } from '/@/utils/user';
@ -113,7 +114,10 @@
// //
buildRoutes(); buildRoutes();
if (useUserStore().administratorFlag || useUserStore().backAdministratorFlag) { if (useUserStore().administratorFlag || useUserStore().backAdministratorFlag) {
router.push('/home'); // router.push('/home');
let menuTree = useUserStore().getMenuTree;
let firstMenu = findFirstMenu(menuTree);
router.push(firstMenu.path);
} else { } else {
await getVillageList(); await getVillageList();
} }
@ -129,6 +133,14 @@
}); });
} }
const findFirstMenu = (menuTree) => {
if (menuTree[0].menuType === MENU_TYPE_ENUM.CATALOG.value) {
return findFirstMenu(menuTree[0].children);
} else {
return menuTree[0];
}
};
// //
async function getVillageList() { async function getVillageList() {
try { try {

View File

@ -103,7 +103,14 @@ function isMenuExistMenuFlag(menu, queryForm) {
disabledFlagCondition = true; disabledFlagCondition = true;
} }
return frameFlagCondition && cacheFlagCondition && visibleFlagCondition && disabledFlagCondition; let platformTypeCondition = false;
if (!_.isNil(queryForm.platformType)) {
platformTypeCondition = !_.isNil(menu.platformType) && menu.platformType === queryForm.platformType;
} else {
platformTypeCondition = true;
}
return frameFlagCondition && cacheFlagCondition && visibleFlagCondition && disabledFlagCondition && platformTypeCondition;
} }
/** /**

View File

@ -36,15 +36,20 @@ export const columns = ref([
ellipsis: true, ellipsis: true,
}, },
{ {
title: '后端权限', title: '平台类型',
dataIndex: 'apiPerms', dataIndex: 'platformTypeName',
ellipsis: true,
},
{
title: '前端权限',
dataIndex: 'webPerms',
ellipsis: true, ellipsis: true,
}, },
// {
// title: '后端权限',
// dataIndex: 'apiPerms',
// ellipsis: true,
// },
// {
// title: '前端权限',
// dataIndex: 'webPerms',
// ellipsis: true,
// },
{ {
title: '顺序', title: '顺序',
dataIndex: 'sort', dataIndex: 'sort',

View File

@ -60,6 +60,10 @@
<a-form-item label="显示" class="smart-query-form-item"> <a-form-item label="显示" class="smart-query-form-item">
<SmartEnumSelect width="120px" enum-name="FLAG_NUMBER_ENUM" v-model:value="queryForm.visibleFlag" /> <SmartEnumSelect width="120px" enum-name="FLAG_NUMBER_ENUM" v-model:value="queryForm.visibleFlag" />
</a-form-item> </a-form-item>
<a-form-item label="平台类型" class="smart-query-form-item">
<DictSelect key-code="PLATFORM_TYPE" v-model:value="queryForm.platformType" width="120px" @change="handleChangePlatformType" />
</a-form-item>
</a-row> </a-row>
</a-form> </a-form>
@ -152,6 +156,7 @@
import { columns } from './menu-list-table-columns'; import { columns } from './menu-list-table-columns';
import { menuApi } from '/@/api/system/menu-api'; import { menuApi } from '/@/api/system/menu-api';
import SmartEnumSelect from '/@/components/framework/smart-enum-select/index.vue'; import SmartEnumSelect from '/@/components/framework/smart-enum-select/index.vue';
import DictSelect from '/@/components/support/dict-select/index.vue';
import { SmartLoading } from '/@/components/framework/smart-loading'; import { SmartLoading } from '/@/components/framework/smart-loading';
import { smartSentry } from '/@/lib/smart-sentry'; import { smartSentry } from '/@/lib/smart-sentry';
import TableOperator from '/@/components/support/table-operator/index.vue'; import TableOperator from '/@/components/support/table-operator/index.vue';
@ -169,6 +174,7 @@
cacheFlag: undefined, cacheFlag: undefined,
visibleFlag: undefined, visibleFlag: undefined,
disabledFlag: undefined, disabledFlag: undefined,
platformType: undefined,
}; };
const queryForm = reactive({ ...queryFormState }); const queryForm = reactive({ ...queryFormState });
// //
@ -257,4 +263,9 @@
function showDrawer(rowData) { function showDrawer(rowData) {
menuOperateModal.value.showDrawer(rowData); menuOperateModal.value.showDrawer(rowData);
} }
function handleChangePlatformType(value) {
console.log('value', value);
queryForm.platformType = value[0] || undefined;
}
</script> </script>