From 5292a401bc26ad177ff5005787429ce036e6457f Mon Sep 17 00:00:00 2001
From: ZengTao <2773468879@qq.com>
Date: 星期五, 31 十月 2025 13:35:50 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/master'
---
UI-Project/src/views/User/rolelist.vue | 24 ++++++++++++++++--------
1 files changed, 16 insertions(+), 8 deletions(-)
diff --git a/UI-Project/src/views/User/rolelist.vue b/UI-Project/src/views/User/rolelist.vue
index 156a1a3..830ec41 100644
--- a/UI-Project/src/views/User/rolelist.vue
+++ b/UI-Project/src/views/User/rolelist.vue
@@ -1,6 +1,6 @@
<script setup>
import {Search} from "@element-plus/icons-vue";
-import {reactive} from "vue";
+import {reactive, computed} from "vue";
import {useRouter} from "vue-router"
import { useI18n } from 'vue-i18n'
const { t } = useI18n()
@@ -45,6 +45,12 @@
console.error('Error fetching options:', error);
}
};
+// 璁$畻灞炴�ф鏌ヨ〃鍗曟槸鍚︽湁鏁�
+const isFormValid = computed(() => {
+ return name.value.trim() !== '' &&
+ selectedOptions.value &&
+ selectedOptions.value.length > 0;
+});
// 娣诲姞
const getTableRow = async () => {
try {
@@ -72,11 +78,11 @@
});
}
}
- });
+ });
const dataToSend = {
name: name.value,
menuList: menuList
- };
+ };
const response = await request.post('/loadGlass/sys/role/saveRole', dataToSend);
if (response.code == 200) {
ElMessage.success(response.message);
@@ -91,7 +97,7 @@
console.error(error);
}
};
-function handleEdit(row) {
+function handleEdit(row) {
name.value = row.name;
adda.value = true;
window.localStorage.setItem('ids', row.id);
@@ -267,7 +273,7 @@
<div id="dt" style="font-size: 15px;">
<div>
<el-form-item :label="$t('delivery.rolea')" :required="true" style="width: 25vw">
- <el-input :placeholder="$t('delivery.inrole')" v-model="name" autocomplete="off" style="width: 350px"/>
+ <el-input :placeholder="$t('delivery.inrole')" v-model="name" autocomplete="off" :class="{ 'is-required': !name }" style="width: 350px"/>
</el-form-item></div></div>
</el-col>
</el-row>
@@ -278,6 +284,7 @@
<el-form-item :label="$t('delivery.choice')" :required="true" style="width: 25vw;">
<el-cascader
v-model="selectedOptions"
+ :class="{ 'is-required': !selectedOptions || selectedOptions.length === 0 }"
:placeholder="$t('delivery.inchoice')"
:props="cascaderProps"
:options="options"
@@ -291,7 +298,7 @@
</div>
<template #footer>
<div id="dialog-footer">
- <el-button type="primary" @click="getTableRow">
+ <el-button type="primary" @click="getTableRow" :disabled="!isFormValid">
{{ $t('delivery.sure') }}
</el-button>
<el-button @click="closeDialog"> {{ $t('delivery.cancel') }}</el-button>
@@ -307,7 +314,7 @@
<div id="dt" style="font-size: 15px;">
<div>
<el-form-item :label="$t('delivery.rolea')" :required="true" style="width: 25vw">
- <el-input :placeholder="$t('delivery.inrole')" v-model="name" autocomplete="off" style="width: 350px"/>
+ <el-input :placeholder="$t('delivery.inrole')" v-model="name" autocomplete="off" :class="{ 'is-required': !name }" style="width: 350px"/>
</el-form-item></div></div>
</el-col>
</el-row>
@@ -318,6 +325,7 @@
<el-form-item :label="$t('delivery.choice')" :required="true" style="width: 25vw;">
<el-cascader
v-model="selectedOptions"
+ :class="{ 'is-required': !selectedOptions || selectedOptions.length === 0 }"
:placeholder="$t('delivery.inchoice')"
:props="cascaderProps"
:options="options"
@@ -331,7 +339,7 @@
</div>
<template #footer>
<div id="dialog-footer">
- <el-button type="primary" @click="getTableRowa">
+ <el-button type="primary" @click="getTableRowa" :disabled="!isFormValid">
{{ $t('delivery.sure') }}
</el-button>
<el-button @click="closeDialoga">{{ $t('delivery.cancel') }}</el-button>
--
Gitblit v1.8.0