diff --git a/d/gold_vue/gold-vue/src/views/language/languageTranslate.vue b/d/gold_vue/gold-vue/src/views/language/languageTranslate.vue
new file mode 100644
index 0000000..e69de29
diff --git a/src/views/language/languageTranslate.vue b/src/views/language/languageTranslate.vue
index 924993d..e3af635 100644
--- a/src/views/language/languageTranslate.vue
+++ b/src/views/language/languageTranslate.vue
@@ -18,7 +18,8 @@
添加
- 批量导入
+
+
@@ -188,7 +189,9 @@
取消
- 保存
+
+ {{ saveLoading ? '保存中...' : '保存' }}
+
@@ -246,6 +249,9 @@ const showImportDialog = ref(false)
const showDeleteDialog = ref(false)
const currentDeleteRow = ref(null) // 当前要删除的行数据
+// 添加保存按钮加载状态
+const saveLoading = ref(false)
+
const editForm = ref({
id: '',
chineseSimplified: '',
@@ -357,17 +363,15 @@ const getMenuTree = async function () {
// 保存翻译
const handleSave = async () => {
- // 原文必填校验
- if (!editForm.value.chineseSimplified || editForm.value.chineseSimplified.trim() === '') {
- ElMessage.error('原文为必填项')
- return
- }
+ // 设置保存按钮为加载状态
+ saveLoading.value = true
// 纯文本校验
const fields = ['english', 'thai', 'chineseTraditional', 'malay', 'vietnamese']
for (const field of fields) {
if (editForm.value[field] && /<[^>]*>/.test(editForm.value[field])) {
ElMessage.error('译文仅支持纯文本,不支持HTML标签')
+ saveLoading.value = false // 校验失败,恢复按钮状态
return
}
}
@@ -379,10 +383,18 @@ const handleSave = async () => {
data: editForm.value
})
+ // 点击保存后,刷新菜单树
+ await getMenuTree()
+
if (res.code === 200) {
ElMessage.success(editForm.value.id ? '编辑成功' : '添加成功')
showEditDialog.value = false
- getTranslationList()
+ // getTranslationList()
+
+ // 触发页面刷新以重新加载数据
+ setTimeout(() => {
+ window.location.reload()
+ }, 500)
} else if (res.code === 0) {
// 处理后端返回的错误信息
ElMessage.error(res.msg || '操作失败')
@@ -393,9 +405,10 @@ const handleSave = async () => {
} catch (error) {
console.error('保存失败:', error)
ElMessage.error('保存失败')
+ } finally {
+ // 无论成功还是失败,都恢复按钮状态
+ saveLoading.value = false
}
- // 点击保存后,刷新菜单树
- await getMenuTree()
}
// 删除翻译 - 打开确认对话框
@@ -412,9 +425,15 @@ const handleDeleteConfirm = async () => {
data: { id: currentDeleteRow.value.id }
})
+ // 点击删除后,刷新菜单树
+ await getMenuTree()
if (res.code === 200) {
ElMessage.success('删除成功')
- getTranslationList()
+ // getTranslationList()
+ // 触发页面刷新以重新加载数据
+ setTimeout(() => {
+ window.location.reload()
+ }, 500)
}
} catch (error) {
console.error('删除失败:', error)
diff --git a/src/views/refund/gold/addCoinRefund.vue b/src/views/refund/gold/addCoinRefund.vue
index b50c922..8382f67 100644
--- a/src/views/refund/gold/addCoinRefund.vue
+++ b/src/views/refund/gold/addCoinRefund.vue
@@ -73,7 +73,7 @@ const getRefund = async function () {
addRefund.value.freeGold = ''
addRefund.value.taskGold = ''
let type = null
- if (addRefund.value.refundType === t('refund.refundTypeOptions.商品退款')) {
+ if (addRefund.value.refundType === '商品退款') {
type = 1
} else {
type = 0
@@ -121,7 +121,7 @@ const add = async function () {
return
}
try {
- if (addRefund.value.refundType === t('refund.refundTypeOptions.商品退款')) {
+ if (addRefund.value.refundType === '商品退款') {
addRefund.value.type = 1
} else {
addRefund.value.type = 0
@@ -296,7 +296,7 @@ const handleOrderChange = (orderCode) => {
const order = tableData.value.find(item => item.orderCode === orderCode)
if (order) {
addRefund.value.goodsName = order.goodsName
- if (addRefund.value.refundType === t('refund.refundTypeOptions.金币退款')) {
+ if (addRefund.value.refundType === '金币退款') {
selectedGoodsGold.value = {
permanentGold: Number(order.permanentGold) || 0,
freeGold: Number(order.freeGold) || 0,
@@ -395,7 +395,7 @@ const handleGoldInput = (type, value) => {
// 修正为最大值并设置回输入框
const correctedValue = maxValue.toFixed(2);
addRefund.value[type] = correctedValue;
- ElMessage.warning(t('elmessage.limitBalance'));
+ // ElMessage.warning(t('elmessage.limitBalance'));
}
if (inputValue < 0) {
@@ -464,8 +464,8 @@ onMounted(() =>{
- {{ $t('common_add.refundModelAll') }}
- {{ $t('common_add.refundModelPart') }}
+ {{ $t('refund.refundMethods.allRefund') }}
+ {{ $t('refund.refundMethods.partialRefund') }}