UI-Project/package-lock.json | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
UI-Project/package.json | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
UI-Project/src/lang/zh.js | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
UI-Project/src/main.js | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
UI-Project/src/views/User/menu.vue | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
UI-Project/src/views/User/page.vue | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
UI-Project/src/views/User/permissions.vue | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
UI-Project/src/views/User/userlist.vue | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 |
UI-Project/package-lock.json
@@ -13,7 +13,7 @@ "axios": "^1.6.8", "chart.js": "^4.4.3", "echarts": "^5.5.1", "element-plus": "^2.4.0", "element-plus": "^2.8.2", "moment": "^2.30.1", "pinia": "^2.1.6", "pinia-plugin-persistedstate": "^3.2.0", @@ -847,12 +847,12 @@ } }, "node_modules/element-plus": { "version": "2.4.0", "resolved": "https://registry.npmjs.org/element-plus/-/element-plus-2.4.0.tgz", "integrity": "sha512-yJEa8LXkGOOgkfkeqMMEdeX/Dc8EH9qPcRuX91dlhSXxgCKKbp9tH3QFTOG99ibZsrN/Em62nh7ddvbc7I1frw==", "version": "2.8.2", "resolved": "https://registry.npmmirror.com/element-plus/-/element-plus-2.8.2.tgz", "integrity": "sha512-pqoQlaUmzUFCjjTHyxGO7Cd0CizsQpIaad1ozV9PCaYjh2T4MIMnjfifqiYs2lWoZ/8GVwrRG1WTCfnZEjwfcg==", "dependencies": { "@ctrl/tinycolor": "^3.4.1", "@element-plus/icons-vue": "^2.0.6", "@element-plus/icons-vue": "^2.3.1", "@floating-ui/dom": "^1.0.1", "@popperjs/core": "npm:@sxzz/popperjs-es@^2.11.7", "@types/lodash": "^4.14.182", @@ -2779,12 +2779,12 @@ } }, "element-plus": { "version": "2.4.0", "resolved": "https://registry.npmjs.org/element-plus/-/element-plus-2.4.0.tgz", "integrity": "sha512-yJEa8LXkGOOgkfkeqMMEdeX/Dc8EH9qPcRuX91dlhSXxgCKKbp9tH3QFTOG99ibZsrN/Em62nh7ddvbc7I1frw==", "version": "2.8.2", "resolved": "https://registry.npmmirror.com/element-plus/-/element-plus-2.8.2.tgz", "integrity": "sha512-pqoQlaUmzUFCjjTHyxGO7Cd0CizsQpIaad1ozV9PCaYjh2T4MIMnjfifqiYs2lWoZ/8GVwrRG1WTCfnZEjwfcg==", "requires": { "@ctrl/tinycolor": "^3.4.1", "@element-plus/icons-vue": "^2.0.6", "@element-plus/icons-vue": "^2.3.1", "@floating-ui/dom": "^1.0.1", "@popperjs/core": "npm:@sxzz/popperjs-es@^2.11.7", "@types/lodash": "^4.14.182", UI-Project/package.json
@@ -13,7 +13,7 @@ "axios": "^1.6.8", "chart.js": "^4.4.3", "echarts": "^5.5.1", "element-plus": "^2.4.0", "element-plus": "^2.8.2", "moment": "^2.30.1", "pinia": "^2.1.6", "pinia-plugin-persistedstate": "^3.2.0", UI-Project/src/lang/zh.js
@@ -67,7 +67,9 @@ editmenu:'修改菜单', firstmenu:'菜单', firstmenua:'菜单:', remark:'备注:', infirstmenu:'请输入菜单', inremark:'请输入备注', sure :'确认', cancel :'取消', edit :'编辑', UI-Project/src/main.js
@@ -1,5 +1,4 @@ import './assets/main.css' import { createApp } from 'vue' import { createPinia } from 'pinia' import piniaPluginPersistedstate from 'pinia-plugin-persistedstate' @@ -33,4 +32,4 @@ locale: zhCn, }) app.use(i18n) app.mount('#app') app.mount('#app') UI-Project/src/views/User/menu.vue
@@ -12,48 +12,20 @@ import { useI18n } from 'vue-i18n' const { t } = useI18n() let language = ref(localStorage.getItem('lang') || 'zh') // import LanguageMixin from './lang/LanguageMixin' const selectedProjectNoa = ref(null); // 当前选中的角色 // const options = ref<any[]>([]); // 下拉选项列表 const userName = ref(''); const account = ref(''); const password = ref(''); const menuNumber = ref(''); const remark = ref(''); const menuName = ref(''); const tableData = ref([]) const slot = ref('') request.post("/deviceInteraction/menu/findMenusAll").then((res) => { if (res.code == 200) { console.log(res.data); tableData.value = res.data } else { ElMessage.warning(res.msg) } }); const titleSelectJsona = ref({ processType: [], }) // const handleInputChangea = async (value: string) => { // if (value) { // await fetchOptionsa(value); // } else { // options.value = []; // 清空选项列表 // } // }; onMounted(() => { // 在组件挂载后调用 fetchOptions('') 来加载初始数据(如果需要) fetchOptionsa(''); }); // 角色下拉选 const fetchOptionsa = async () => { list(''); }); const list = async () => { try { // 发送请求到后端接口 const response = await request.post('/deviceInteraction/role/findRolesAll'); const response = await request.post('/deviceInteraction/menu/findMenusAll'); if (response.code === 200) { titleSelectJsona.value.processTypea = response.data; console.log(response.data); tableData.value = response.data } else { ElMessage.warning(response.data); } @@ -63,42 +35,40 @@ }; // 处理编辑按钮点击 function handleEdit(row) { menuName.value = row.menuName; menuNumber.value = row.menuNumber; remark.value = row.remark; window.localStorage.setItem('ids', row.id); userName.value = row.userName; if (row.roleList && row.roleList.length > 0) { const firstRole = row.roleList[0]; selectedProjectNoa.value = firstRole.id; // 设置为ID,而不是name } adda.value = true; // 显示对话框 } function closeDialog(row) { add.value = false; userName.value = ''; nickName.value = ''; password.value = ''; selectedProjectNoa.value = ''; menuName.value = ''; menuNumber.value = ''; remark.value = ''; } function closeDialoga(row) { adda.value = false; userName.value = ''; nickName.value = ''; password.value = ''; menuName.value = ''; menuNumber.value = ''; remark.value = ''; } // 添加 const getTableRow = async () => { try { const response = await request.post('/deviceInteraction/account/addAccount', { const response = await request.post('/deviceInteraction/menu/addMenu', { id: 0, menuName: menuName.value, menuNumber: menuNumber.value, remark: passwremarkord.value, menuNumber: '', remark: remark.value }); if (response.code === 200) { // 绑定成功,处理逻辑 ElMessage.success(response.message); add.value = false; tableData.value = response.data; list() // tableData.value = response.data; } else { // 请求失败,显示错误消息 ElMessage.error(response.message); @@ -113,17 +83,18 @@ let ids = window.localStorage.getItem('ids') try { const response = await request.post('/deviceInteraction/menu/updateMenu', { account: account.value, roleId: selectedProjectNoa.value, userName: userName.value, password: password.value, id: ids, menuName: menuName.value, menuNumber: menuNumber.value, remark: remark.value, } ); if (response.code === 200) { // 绑定成功,处理逻辑 ElMessage.success(response.message); adda.value = false; tableData.value = response.data; list() // tableData.value = response.data; } else { // 请求失败,显示错误消息 ElMessage.error(response.message); @@ -152,6 +123,7 @@ }) if (response.code === 200) { ElMessage.success(response.message); list() } else { // 删除失败,您可以处理错误或显示错误信息给用户 ElMessage.error(response.msg); @@ -195,7 +167,17 @@ <div id="dt" style="font-size: 15px;"> <div> <el-form-item :label="$t('customer.firstmenua')" :required="true" style="width: 25vw"> <el-input v-model="userName" autocomplete="off" :placeholder="$t('customer.infirstmenu')" /> <el-input v-model="menuName" autocomplete="off" :placeholder="$t('customer.infirstmenu')" /> </el-form-item></div></div> </el-col> </el-row> <el-row style="margin-top: 10px;"> <el-col :span="6"> <div id="dt" style="font-size: 15px;"> <div> <el-form-item :label="$t('customer.remark')" style="width: 25vw"> <el-input v-model="remark" autocomplete="off" :placeholder="$t('customer.inremark')" /> </el-form-item></div></div> </el-col> @@ -221,7 +203,17 @@ <div id="dt" style="font-size: 15px;"> <div> <el-form-item :label="$t('customer.firstmenua')" :required="true" style="width: 25vw"> <el-input v-model="userName" autocomplete="off" :placeholder="$t('customer.infirstmenu')" /> <el-input v-model="menuName" autocomplete="off" :placeholder="$t('customer.infirstmenu')" /> </el-form-item></div></div> </el-col> </el-row> <el-row style="margin-top: 10px;"> <el-col :span="6"> <div id="dt" style="font-size: 15px;"> <div> <el-form-item :label="$t('customer.remark')" style="width: 25vw"> <el-input v-model="remark" autocomplete="off" :placeholder="$t('customer.inremark')" /> </el-form-item></div></div> </el-col> @@ -231,10 +223,10 @@ </div> <template #footer> <div id="dialog-footer"> <el-button type="primary" @click="getTableRow"> <el-button type="primary" @click="getTableRowa"> {{ $t('customer.sure') }} </el-button> <el-button @click="closeDialog">{{ $t('customer.cancel') }}</el-button> <el-button @click="closeDialoga">{{ $t('customer.cancel') }}</el-button> </div> </template> </el-dialog> UI-Project/src/views/User/page.vue
@@ -12,47 +12,20 @@ import { useI18n } from 'vue-i18n' const { t } = useI18n() let language = ref(localStorage.getItem('lang') || 'zh') // import LanguageMixin from './lang/LanguageMixin' const selectedProjectNoa = ref(null); // 当前选中的角色 // const options = ref<any[]>([]); // 下拉选项列表 const selectedProjectNoa = ref(null); const pageName = ref(''); const pageUrl = ref(''); const pageNumber = ref(''); const tableData = ref([]) const slot = ref('') request.post("/deviceInteraction/page/findPagesAll").then((res) => { if (res.code == 200) { console.log(res.data); tableData.value = res.data } else { ElMessage.warning(res.msg) } }); const titleSelectJsona = ref({ processType: [], }) // const handleInputChangea = async (value: string) => { // if (value) { // await fetchOptionsa(value); // } else { // options.value = []; // 清空选项列表 // } // }; onMounted(() => { // 在组件挂载后调用 fetchOptions('') 来加载初始数据(如果需要) fetchOptionsa(''); list(''); }); // 角色下拉选 const fetchOptionsa = async () => { const list = async () => { try { // 发送请求到后端接口 const response = await request.post('/deviceInteraction/role/findRolesAll'); const response = await request.post('/deviceInteraction/page/findPagesAll'); if (response.code === 200) { titleSelectJsona.value.processTypea = response.data; console.log(response.data); tableData.value = response.data } else { ElMessage.warning(response.data); } @@ -62,7 +35,9 @@ }; // 处理编辑按钮点击 function handleEdit(row) { userName.value = row.userName; pageName.value = row.pageName; pageUrl.value = row.pageUrl; pageNumber.value = row.pageNumber; window.localStorage.setItem('ids', row.id); window.localStorage.setItem('pageNumber', row.pageNumber); if (row.roleList && row.roleList.length > 0) { @@ -71,19 +46,17 @@ } adda.value = true; // 显示对话框 } function closeDialog(row) { add.value = false; userName.value = ''; nickName.value = ''; password.value = ''; selectedProjectNoa.value = ''; pageNumber.value = ''; pageUrl.value = ''; pageName.value = ''; } function closeDialoga(row) { adda.value = false; userName.value = ''; nickName.value = ''; password.value = ''; pageNumber.value = ''; pageUrl.value = ''; pageName.value = ''; } // 添加 const getTableRow = async () => { @@ -95,38 +68,32 @@ pageUrl: pageUrl.value, }); if (response.code === 200) { // 绑定成功,处理逻辑 ElMessage.success(response.message); add.value = false; tableData.value = response.data; } else { // 请求失败,显示错误消息 list() } else { ElMessage.error(response.message); } } catch (error) { // 处理错误 console.error(error); } }; // 编辑 const getTable = async () => { let ids = window.localStorage.getItem('ids') let pageNumber = window.localStorage.getItem('pageNumber') try { const response = await request.post('/deviceInteraction/page/updatePage', { id: ids, pageName: pageName.value, pageNumber: pageNumber, pageNumber: pageNumber.value, pageUrl: pageUrl.value, } ); if (response.code === 200) { // 绑定成功,处理逻辑 ElMessage.success(response.message); adda.value = false; tableData.value = response.data; list() } else { // 请求失败,显示错误消息 ElMessage.error(response.message); } } catch (error) { @@ -153,6 +120,7 @@ }) if (response.code === 200) { ElMessage.success(response.message); list() } else { // 删除失败,您可以处理错误或显示错误信息给用户 ElMessage.error(response.msg); @@ -256,7 +224,7 @@ <el-button type="primary" @click="getTable"> {{ $t('pagemenu.sure') }} </el-button> <el-button @click="closeDialog">{{ $t('pagemenu.cancel') }}</el-button> <el-button @click="closeDialoga">{{ $t('pagemenu.cancel') }}</el-button> </div> </template> </el-dialog> UI-Project/src/views/User/permissions.vue
@@ -24,14 +24,6 @@ const tableData = ref([]) const slot = ref('') request.post("/deviceInteraction/roleMenu/findRoleMenusAll").then((res) => { if (res.code == 200) { console.log(res.data); tableData.value = res.data } else { ElMessage.warning(res.msg) } }); const titleSelectJsona = ref({ processType: [], }) @@ -42,10 +34,23 @@ processType2: [], }) onMounted(() => { list(''); fetchOptionsa(''); fetchOptionsa1(''); fetchOptionsa2(''); }); const list = async () => { try { const response = await request.post('/deviceInteraction/roleMenu/findRoleMenusAll'); if (response.code === 200) { tableData.value = response.data } else { ElMessage.warning(response.data); } } catch (error) { console.error('Error fetching options:', error); } }; // 角色下拉选 const fetchOptionsa = async () => { try { @@ -90,6 +95,9 @@ }; // 处理编辑按钮点击 function handleEdit(row) { selectedProjectNoa.value = row.role_name; selectedProjectNoa1.value = row.menu_name; selectedProjectNoa2.value = row.page_name; userName.value = row.userName; if (row.roleList && row.roleList.length > 0) { const firstRole = row.roleList[0]; @@ -126,7 +134,8 @@ if (response.code === 200) { ElMessage.success(response.message); add.value = false; tableData.value = response.data; list() // tableData.value = response.data; } else { // 请求失败,显示错误消息 ElMessage.error(response.message); @@ -147,8 +156,9 @@ }); if (response.code === 200) { ElMessage.success(response.message); add.value = false; tableData.value = response.data; add1.value = false; list() // tableData.value = response.data; } else { // 请求失败,显示错误消息 ElMessage.error(response.message); @@ -162,21 +172,19 @@ const getTableRowa = async () => { let id = window.localStorage.getItem('id') try { const response = await request.post('/loadGlass/sys/user/updateUser', { const response = await request.post('/deviceInteraction/role/updateRole', { id: id, userName: userName.value, roleList: [ { id: selectedProjectNoa.value, // roleKey: selectedProjectNoa.value.id, }] remark: selectedProjectNoa.value, roleName: selectedProjectNoa1.value, roleNumber: selectedProjectNoa2.value, } ); if (response.code === 200) { // 绑定成功,处理逻辑 ElMessage.success(response.message); adda.value = false; tableData.value = response.data; list() // tableData.value = response.data; } else { // 请求失败,显示错误消息 ElMessage.error(response.message); @@ -205,6 +213,7 @@ }) if (response.code === 200) { ElMessage.success(response.message); list() } else { // 删除失败,您可以处理错误或显示错误信息给用户 ElMessage.error(response.msg); @@ -379,7 +388,7 @@ <div> <el-form-item :label="$t('delivery.menu')" :required="true" style="width: 25vw;"> <el-select v-model="selectedProjectNoa" v-model="selectedProjectNoa1" filterable clearable :placeholder="$t('delivery.menuchoice')" @@ -401,7 +410,7 @@ <div> <el-form-item :label="$t('delivery.page')" :required="true" style="width: 25vw;"> <el-select v-model="selectedProjectNoa" v-model="selectedProjectNoa2" filterable clearable :placeholder="$t('delivery.pagechoice')" UI-Project/src/views/User/userlist.vue
@@ -1,50 +1,41 @@ <script setup> import {Search} from "@element-plus/icons-vue"; import {reactive} from "vue"; import {useRouter} from "vue-router" const router = useRouter() const add = ref(false) const adda = ref(false) import request from "@/utils/request" import { ref, onMounted } from "vue"; // import { ref } from 'vue' import { ref, onMounted,reactive } from "vue"; import { ElMessage, ElMessageBox } from 'element-plus' import { useI18n } from 'vue-i18n' const { t } = useI18n() let language = ref(localStorage.getItem('lang') || 'zh') // import LanguageMixin from './lang/LanguageMixin' const selectedProjectNoa = ref(null); // 当前选中的角色 // const options = ref<any[]>([]); // 下拉选项列表 const userName = ref(''); const account = ref(''); const password = ref(''); import { useI18n } from 'vue-i18n' const { t } = useI18n() let language = ref(localStorage.getItem('lang') || 'zh') const selectedProjectNoa = ref(null); const userName = ref(''); const account = ref(''); const password = ref(''); const tableData = ref([]) const slot = ref('') request.post("/deviceInteraction/account/findAccounts").then((res) => { if (res.code == 200) { console.log(res.data); tableData.value = res.data } else { ElMessage.warning(res.msg) } }); onMounted(() => { list(''); fetchOptionsa(''); }); const list = async () => { try { const response = await request.post('/deviceInteraction/account/findAccounts'); if (response.code === 200) { tableData.value = response.data } else { ElMessage.warning(response.data); } } catch (error) { console.error('Error fetching options:', error); } }; const titleSelectJsona = ref({ processType: [], }) // const handleInputChangea = async (value: string) => { // if (value) { // await fetchOptionsa(value); // } else { // options.value = []; // 清空选项列表 // } // }; onMounted(() => { // 在组件挂载后调用 fetchOptions('') 来加载初始数据(如果需要) fetchOptionsa(''); }); // 角色下拉选 const fetchOptionsa = async () => { try { @@ -63,31 +54,30 @@ }; // 处理编辑按钮点击 function handleEdit(row) { account.value = row.account; selectedProjectNoa.value = row.role_name; userName.value = row.user_name; password.value = row.password; window.localStorage.setItem('ids', row.id); userName.value = row.userName; if (row.roleList && row.roleList.length > 0) { const firstRole = row.roleList[0]; selectedProjectNoa.value = firstRole.id; // 设置为ID,而不是name } adda.value = true; // 显示对话框 } function closeDialog(row) { add.value = false; userName.value = ''; nickName.value = ''; password.value = ''; selectedProjectNoa.value = ''; account.value = ''; selectedProjectNoa.value = ''; userName.value = ''; password.value = ''; } function closeDialoga(row) { adda.value = false; userName.value = ''; nickName.value = ''; password.value = ''; account.value = ''; selectedProjectNoa.value = ''; userName.value = ''; password.value = ''; } // 添加 const getTableRow = async () => { try { try { const response = await request.post('/deviceInteraction/account/addAccount', { account: account.value, roleId: selectedProjectNoa.value, @@ -95,19 +85,21 @@ password: password.value, }); if (response.code === 200) { // 绑定成功,处理逻辑 ElMessage.success(response.message); add.value = false; tableData.value = response.data; account.value = ''; selectedProjectNoa.value = ''; userName.value = ''; password.value = ''; list() } else { // 请求失败,显示错误消息 ElMessage.error(response.message); } } catch (error) { // 处理错误 console.error(error); } }; } catch (error) { // 处理请求错误 } }; // 编辑 const getTableRowa = async () => { let ids = window.localStorage.getItem('ids') @@ -124,8 +116,9 @@ // 绑定成功,处理逻辑 ElMessage.success(response.message); adda.value = false; tableData.value = response.data; } else { // tableData.value = response.data; list() } else { // 请求失败,显示错误消息 ElMessage.error(response.message); } @@ -153,6 +146,7 @@ }) if (response.code === 200) { ElMessage.success(response.message); list() } else { // 删除失败,您可以处理错误或显示错误信息给用户 ElMessage.error(response.msg); @@ -164,7 +158,6 @@ console.error('发生错误:', error); } }; </script> <template>