wangfei
7 天以前 d090edfef3884837b55263cc11e1c9462f724cbc
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>