diff --git a/template/nestJs/locales.json b/template/nestJs/locales.json
index 52ca77c2..72b14080 100644
--- a/template/nestJs/locales.json
+++ b/template/nestJs/locales.json
@@ -1053,6 +1053,7 @@
"menu.user.setting": "用户设置",
"userSetting.save": "保存",
"userSetting.cancel": "取消",
+ "userSetting.reset": "重置",
"userSetting.department": "所属部门:",
"userSetting.position": "职位:",
"userSetting.type": "招聘类型:",
diff --git a/template/springboot/src/main/resources/locales.json b/template/springboot/src/main/resources/locales.json
index 9056881d..ae885aab 100644
--- a/template/springboot/src/main/resources/locales.json
+++ b/template/springboot/src/main/resources/locales.json
@@ -987,6 +987,7 @@
"menu.user.setting": "用户设置",
"userSetting.save": "保存",
"userSetting.cancel": "取消",
+ "userSetting.reset": "重置",
"userSetting.department": "所属部门:",
"userSetting.position": "职位:",
"userSetting.type": "招聘类型:",
diff --git a/template/tinyvue/src/components/navbar/index.vue b/template/tinyvue/src/components/navbar/index.vue
index af730c81..80401a83 100644
--- a/template/tinyvue/src/components/navbar/index.vue
+++ b/template/tinyvue/src/components/navbar/index.vue
@@ -5,6 +5,7 @@ import {
Form as TinyForm,
FormItem as TinyFormItem,
Input as TinyInput,
+ Layout as TinyLayout,
Modal as TinyModal,
Row as TinyRow,
UserHead as TinyUserHead,
@@ -240,11 +241,11 @@ async function handlePwdUpdateSubmit() {
-
+
@@ -278,7 +279,7 @@ async function handlePwdUpdateSubmit() {
-
+
diff --git a/template/tinyvue/src/layout/default-layout.vue b/template/tinyvue/src/layout/default-layout.vue
index 31c959e7..d32b633e 100644
--- a/template/tinyvue/src/layout/default-layout.vue
+++ b/template/tinyvue/src/layout/default-layout.vue
@@ -242,7 +242,7 @@ watch(appStore.$state, (newValue) => {
diff --git a/template/tinyvue/src/locales.json b/template/tinyvue/src/locales.json
index f313033c..57a06b87 100644
--- a/template/tinyvue/src/locales.json
+++ b/template/tinyvue/src/locales.json
@@ -600,6 +600,7 @@
"menuInfo.modal.title.info": "Menu Detail",
"menuInfo.modal.title.update": "Update Menu",
"menuInfo.modal.title.add": "Add Menu",
+ "menuInfo.modal.title.confirm": "Are you sure you want to delete this data?",
"menuInfo.modal.message.error": "ParentId is not as same as id",
"menuInfo.modal.message.notNull": "Not Null",
"menu.add.demo": "Menu Demo Page",
@@ -993,6 +994,7 @@
"menu.user.setting": "用户设置",
"userSetting.save": "保存",
"userSetting.cancel": "取消",
+ "userSetting.reset": "重置",
"userSetting.department": "所属部门:",
"userSetting.position": "职位:",
"userSetting.type": "招聘类型:",
@@ -1219,6 +1221,7 @@
"menuInfo.modal.title.info": "查看菜单",
"menuInfo.modal.title.update": "修改菜单",
"menuInfo.modal.title.add": "添加菜单",
+ "menuInfo.modal.title.confirm": "你确认要删除该数据吗?",
"menuInfo.modal.message.error": "parentId不能和id相同",
"menuInfo.modal.message.notNull": "不能为空",
"menu.add.demo": "菜单Demo页",
diff --git a/template/tinyvue/src/views/board/home/components/curve.vue b/template/tinyvue/src/views/board/home/components/curve.vue
index 97b5d945..9545f3e0 100644
--- a/template/tinyvue/src/views/board/home/components/curve.vue
+++ b/template/tinyvue/src/views/board/home/components/curve.vue
@@ -65,6 +65,7 @@ const options = ref({
min: 0,
max: 50,
interval: 5,
+ boundaryGap: ['0%', '0%'],
axisLabel: {
formatter: '{value} s',
},
@@ -74,6 +75,7 @@ const options = ref({
min: 0,
max: 30,
interval: 5,
+ boundaryGap: ['0%', '0%'],
axisLabel: {
formatter: '{value}',
},
@@ -82,6 +84,22 @@ const options = ref({
})
const chartExtend = ref({
legend: getLegendConfig(),
+ xAxis: [
+ {
+ type: 'category',
+ boundaryGap: true,
+ },
+ ],
+ yAxis: [
+ {
+ type: 'value',
+ boundaryGap: ['0%', '0%'],
+ },
+ {
+ type: 'value',
+ boundaryGap: ['0%', '0%'],
+ },
+ ],
tooltip: {
trigger: 'axis',
axisPointer: {
@@ -101,7 +119,7 @@ const chartExtend = ref({
barWidth: 12,
itemStyle: {
color: '#4e85f4',
- barBorderRadius: [5, 5, 0, 0],
+ borderRadius: [5, 5, 0, 0],
},
tooltip: {
valueFormatter(value: any) {
@@ -154,9 +172,7 @@ const chartExtend = ref({
showSymbol: false,
yAxisIndex: 1,
lineStyle: {
- normal: {
- color: '#5f45ff',
- },
+ color: '#5f45ff',
},
// 区域填充样式
areaStyle: {
@@ -230,9 +246,7 @@ const chartExtend = ref({
showSymbol: false,
yAxisIndex: 1,
lineStyle: {
- normal: {
- color: '#ff9e03',
- },
+ color: '#ff9e03',
},
areaStyle: {
color: {
diff --git a/template/tinyvue/src/views/board/home/components/falls.vue b/template/tinyvue/src/views/board/home/components/falls.vue
index e0aca5a6..bc275b43 100644
--- a/template/tinyvue/src/views/board/home/components/falls.vue
+++ b/template/tinyvue/src/views/board/home/components/falls.vue
@@ -70,6 +70,7 @@ const options = ref({
xAxis: {
type: 'value',
show: false,
+ boundaryGap: ['0%', '0%'],
},
yAxis: {
type: 'category',
@@ -101,6 +102,10 @@ const options = ref({
},
})
const chartExtend = ref({
+ xAxis: {
+ type: 'value',
+ boundaryGap: ['0%', '0%'],
+ },
tooltip: {
trigger: 'axis',
axisPointer: {
@@ -141,7 +146,7 @@ const chartExtend = ref({
stack: 'Total',
itemStyle: {
color: '#4e85f4',
- barBorderRadius: [2, 2, 2, 2],
+ borderRadius: [2, 2, 2, 2],
},
label: {
show: false,
@@ -154,7 +159,7 @@ const chartExtend = ref({
stack: 'Total',
itemStyle: {
color: '#5f45ff',
- barBorderRadius: [5, 5, 5, 5],
+ borderRadius: [5, 5, 5, 5],
},
label: {
show: false,
@@ -167,7 +172,7 @@ const chartExtend = ref({
stack: 'Total',
itemStyle: {
color: '#e2b525 ',
- barBorderRadius: [5, 5, 5, 5],
+ borderRadius: [5, 5, 5, 5],
},
label: {
show: false,
diff --git a/template/tinyvue/src/views/board/home/components/region.vue b/template/tinyvue/src/views/board/home/components/region.vue
index f0f9abf8..6f58ac3b 100644
--- a/template/tinyvue/src/views/board/home/components/region.vue
+++ b/template/tinyvue/src/views/board/home/components/region.vue
@@ -54,13 +54,11 @@ const chartSettings = ref({
zoom: 1.2,
top: '30px',
itemStyle: {
- normal: {
- borderColor: 'skyblue',
- borderWidth: 1,
- shadowColor: '#ccc',
- shadowBlur: 30,
- opacity: 1,
- },
+ borderColor: 'skyblue',
+ borderWidth: 1,
+ shadowColor: '#ccc',
+ shadowBlur: 30,
+ opacity: 1,
},
label: {
show: true,
diff --git a/template/tinyvue/src/views/locale/components/add-locale.vue b/template/tinyvue/src/views/locale/components/add-locale.vue
index 14421dbb..4b88a72d 100644
--- a/template/tinyvue/src/views/locale/components/add-locale.vue
+++ b/template/tinyvue/src/views/locale/components/add-locale.vue
@@ -128,6 +128,8 @@ watch(open, (value) => {
}
})
+const toolAbortController = new AbortController()
+
onMounted(async () => {
navigator.modelContext.registerTool({
name: 'add-i18n-entry',
@@ -166,12 +168,12 @@ onMounted(async () => {
}],
}
},
- })
+ }, { signal: toolAbortController.signal })
})
// 页面卸载时取消注册,避免内存泄漏和消息串扰
onUnmounted(() => {
- navigator.modelContext.unregisterTool('add-i18n-entry')
+ toolAbortController.abort()
})
diff --git a/template/tinyvue/src/views/menu/info/components/info-tab.vue b/template/tinyvue/src/views/menu/info/components/info-tab.vue
index c617eaf6..87501c81 100644
--- a/template/tinyvue/src/views/menu/info/components/info-tab.vue
+++ b/template/tinyvue/src/views/menu/info/components/info-tab.vue
@@ -27,7 +27,7 @@ import UpdateForm from './update-form.vue'
const { modalSize } = useResponsiveSize()
-const { t } = useI18n()
+const { t, te } = useI18n()
const vLoading = Loading.directive
const rawMenuData = ref([])
const localeData = ref<{ value: string, label: string }[]>([])
@@ -221,7 +221,7 @@ function fetchLocalItems() {
localeData.value = data.items.map((item) => {
return {
value: item.key,
- label: t(item.key),
+ label: te(item.key) ? t(item.key) : item.key,
}
})
})
@@ -233,6 +233,8 @@ watch(locale, () => {
})
+const toolAbortController = new AbortController()
+
onMounted(async () => {
Promise.all([fetchMenu(), fetchLocalItems()]).finally(() => {
treeLoading.value = false
@@ -280,11 +282,11 @@ onMounted(async () => {
await onClickAdd()
return { content: [{ type: 'text', text: `收到: ${name}` }] }
},
- })
+ }, { signal: toolAbortController.signal })
})
onUnmounted(() => {
- navigator.modelContext.unregisterTool('add-menu')
+ toolAbortController.abort()
})
diff --git a/template/tinyvue/src/views/menu/info/components/menu-tree.vue b/template/tinyvue/src/views/menu/info/components/menu-tree.vue
index 2ba18ba2..397a7ea4 100644
--- a/template/tinyvue/src/views/menu/info/components/menu-tree.vue
+++ b/template/tinyvue/src/views/menu/info/components/menu-tree.vue
@@ -51,8 +51,8 @@ watch(
:title="$t('menuInfo.table.name')"
tree-node
>
-
- {{ $t(row.locale) }}
+
+ {{ $t(row.locale) }}
@@ -62,34 +62,36 @@ watch(
/>
-
- {{ row.customIcon }}
+
+ {{ row.customIcon }}
-
-
-
- {{ $t('menuInfo.table.operations.update') }}
-
-
-
-
-
- {{ $t('menuInfo.table.operations.delete') }}
-
-
-
+
+
+
+
+ {{ $t('menuInfo.table.operations.update') }}
+
+
+
+
+
+ {{ $t('menuInfo.table.operations.delete') }}
+
+
+
+
diff --git a/template/tinyvue/src/views/permission/info/components/info-tab.vue b/template/tinyvue/src/views/permission/info/components/info-tab.vue
index f097b9c2..bbfb9f76 100644
--- a/template/tinyvue/src/views/permission/info/components/info-tab.vue
+++ b/template/tinyvue/src/views/permission/info/components/info-tab.vue
@@ -195,6 +195,8 @@ async function handlePermissionAddCancel() {
state.permissionAddData = {}
}
+const toolAbortController = new AbortController()
+
onMounted(async () => {
navigator.modelContext.registerTool({
name: 'add-permission',
@@ -217,11 +219,11 @@ onMounted(async () => {
await handlePermissionAddSubmit()
return { content: [{ type: 'text', text: `收到: ${name}` }] }
},
- })
+ }, { signal: toolAbortController.signal })
})
onUnmounted(() => {
- navigator.modelContext.unregisterTool('add-permission')
+ toolAbortController.abort()
})
@@ -249,7 +251,7 @@ onUnmounted(() => {
>
- {{ $t(`${data.row.id}`) }}
+ {{ data.row.id }}
{
:editor="{ component: 'input', autoselect: true }"
>
- {{ $t(`${data.row.name}`) }}
+ {{ data.row.name }}
{
:editor="{ component: 'input', autoselect: true }"
>
- {{ $t(`${data.row.desc}`) }}
+ {{ data.row.desc }}
diff --git a/template/tinyvue/src/views/role/info/components/add-role.vue b/template/tinyvue/src/views/role/info/components/add-role.vue
index 0c0c13e1..5f75a00f 100644
--- a/template/tinyvue/src/views/role/info/components/add-role.vue
+++ b/template/tinyvue/src/views/role/info/components/add-role.vue
@@ -105,7 +105,7 @@ defineExpose({
diff --git a/template/tinyvue/src/views/role/info/components/info-tab.vue b/template/tinyvue/src/views/role/info/components/info-tab.vue
index 0f62da48..a2a7c62a 100644
--- a/template/tinyvue/src/views/role/info/components/info-tab.vue
+++ b/template/tinyvue/src/views/role/info/components/info-tab.vue
@@ -200,6 +200,8 @@ function onRoleDelete() {
roleTableRef.value.reload()
}
+const toolAbortController = new AbortController()
+
onMounted(async () => {
navigator.modelContext.registerTool({
name: 'add-role',
@@ -224,7 +226,7 @@ onMounted(async () => {
await addRoleFormRef.value.onConfirm()
return { content: [{ type: 'text', text: `收到: ${name}` }] }
},
- })
+ }, { signal: toolAbortController.signal })
navigator.modelContext.registerTool({
name: 'bind-menu-for-role',
@@ -255,12 +257,11 @@ onMounted(async () => {
await menuDrawerRef.value.onConfirm()
return { content: [{ type: 'text', text: `收到: ${role}` }] }
},
- })
+ }, { signal: toolAbortController.signal })
})
onUnmounted(() => {
- navigator.modelContext.unregisterTool('add-role')
- navigator.modelContext.unregisterTool('bind-menu-for-role')
+ toolAbortController.abort()
})
diff --git a/template/tinyvue/src/views/role/info/components/role-table.vue b/template/tinyvue/src/views/role/info/components/role-table.vue
index 90e4a542..8616ca9e 100644
--- a/template/tinyvue/src/views/role/info/components/role-table.vue
+++ b/template/tinyvue/src/views/role/info/components/role-table.vue
@@ -77,9 +77,9 @@ function onRoleDelete(id: number, row) {
}
function getPermission(row: any) {
let permissionDate = ''
- if (row?.permission.length) {
- row?.permission.forEach((item, index) => {
- permissionDate = `${permissionDate} ${row?.permission[index].name}`
+ if (row?.permission?.length) {
+ row.permission.forEach((item, index) => {
+ permissionDate = `${permissionDate} ${row.permission[index].name}`
})
}
return permissionDate
@@ -132,8 +132,8 @@ defineExpose({
@edit-closed="onUpdate"
>
-
-
+
+
@@ -159,34 +159,36 @@ defineExpose({
},
}"
>
-
- {{ getPermission(data.row) }}
+
+ {{ getPermission(row) }}
-
-
-
- {{ $t('roleInfo.table.bind') }}
-
-
-
-
+
+
+
+
+ {{ $t('roleInfo.table.bind') }}
+
+
+
+
-
- {{ $t('roleInfo.table.operations.delete') }}
-
-
-
+
+ {{ $t('roleInfo.table.operations.delete') }}
+
+
+
+
diff --git a/template/tinyvue/src/views/userManager/info/components/info-tab.vue b/template/tinyvue/src/views/userManager/info/components/info-tab.vue
index 72199240..92e3b2a8 100644
--- a/template/tinyvue/src/views/userManager/info/components/info-tab.vue
+++ b/template/tinyvue/src/views/userManager/info/components/info-tab.vue
@@ -10,6 +10,7 @@ import {
Grid as TinyGrid,
GridColumn as TinyGridColumn,
Input as TinyInput,
+ Layout as TinyLayout,
Modal as TinyModal,
Pager as TinyPager,
Popconfirm as TinyPopconfirm,
@@ -353,6 +354,8 @@ async function handleUpdate({ row, column }, { target: { value } }) {
// 请求职位类型
fetchRole()
+const toolAbortController = new AbortController()
+
onMounted(async () => {
navigator.modelContext.registerTool({
name: 'add-user',
@@ -392,10 +395,10 @@ onMounted(async () => {
await addUserFormRef.value.handleSubmit()
return { content: [{ type: 'text', text: `收到: ${email}` }] }
},
- })
+ }, { signal: toolAbortController.signal })
})
-onUnmounted(() => navigator.modelContext.unregisterTool('add-user'))
+onUnmounted(() => toolAbortController.abort())
@@ -432,8 +435,9 @@ onUnmounted(() => navigator.modelContext.unregisterTool('add-user'))
>
-
+
row[props] = value"
@@ -445,8 +449,8 @@ onUnmounted(() => navigator.modelContext.unregisterTool('add-user'))
:title="$t('userInfo.table.id')"
show-overflow="tooltip"
>
-
- {{ $t(`${data.row.id}`) }}
+
+ {{ row.id }}
navigator.modelContext.unregisterTool('add-user'))
},
}"
>
-
- {{ $t(`${data.row.name}`) }}
+
+ {{ row.name }}
navigator.modelContext.unregisterTool('add-user'))
:title="$t('userInfo.table.email')"
show-overflow="tooltip"
>
-
- {{ $t(`${data.row.email}`) }}
+
+ {{ row.email }}
navigator.modelContext.unregisterTool('add-user'))
},
}"
>
-
- {{
- $t(`${data.row.department}`)
+
+ {{
+ row.department
}}
@@ -513,9 +517,9 @@ onUnmounted(() => navigator.modelContext.unregisterTool('add-user'))
},
}"
>
-
- {{
- $t(`${data.row.employeeType}`)
+
+ {{
+ row.employeeType
}}
@@ -543,8 +547,8 @@ onUnmounted(() => navigator.modelContext.unregisterTool('add-user'))
},
}"
>
-
- {{ $t(`${data.row.role[0]?.name}`) }}
+
+ {{ row.role[0]?.name }}
navigator.modelContext.unregisterTool('add-user'))
},
}"
>
-
- {{
- $t(`${data.row.probationStart}`)
+
+ {{
+ row.probationStart
}}
@@ -581,9 +585,9 @@ onUnmounted(() => navigator.modelContext.unregisterTool('add-user'))
},
}"
>
-
- {{
- $t(`${data.row.probationEnd}`)
+
+ {{
+ row.probationEnd
}}
@@ -600,8 +604,8 @@ onUnmounted(() => navigator.modelContext.unregisterTool('add-user'))
},
}"
>
-
- {{ $t(`${data.row.probationDuration}`)
+
+ {{ row.probationDuration
}}{{ $t('userInfo.day') }}
@@ -618,9 +622,9 @@ onUnmounted(() => navigator.modelContext.unregisterTool('add-user'))
},
}"
>
-
- {{
- $t(`${data.row.address}`)
+
+ {{
+ row.address
}}
@@ -641,24 +645,24 @@ onUnmounted(() => navigator.modelContext.unregisterTool('add-user'))
},
}"
>
-
-
+
+

-
{{ statusMap[data.row.status] }}
+
{{ statusMap[row.status] }}
@@ -666,31 +670,33 @@ onUnmounted(() => navigator.modelContext.unregisterTool('add-user'))
:title="$t('userInfo.table.operations')"
show-overflow="tooltip"
>
-
-
-
- {{ $t('userInfo.table.operations.pwdUpdate') }}
-
-
-
-
-
- {{ $t('userInfo.table.operations.delete') }}
-
-
-
+
+
+
+
+ {{ $t('userInfo.table.operations.pwdUpdate') }}
+
+
+
+
+
+ {{ $t('userInfo.table.operations.delete') }}
+
+
+
+
@@ -718,13 +724,13 @@ onUnmounted(() => navigator.modelContext.unregisterTool('add-user'))
:lock-scroll="true"
show-header
show-footer
- mask-closable="true"
+ :mask-closable="true"
height="auto"
:width="modalSize"
:title="$t('userInfo.modal.title.pwdUpdate')"
>
-
+
navigator.modelContext.unregisterTool('add-user'))
-
+
diff --git a/template/tinyvue/src/views/userManager/user-detail/index.vue b/template/tinyvue/src/views/userManager/user-detail/index.vue
index f8d0f941..985123c4 100644
--- a/template/tinyvue/src/views/userManager/user-detail/index.vue
+++ b/template/tinyvue/src/views/userManager/user-detail/index.vue
@@ -40,23 +40,23 @@ async function fetchData(email: string) {
{{ $t('userInfo.table.name') }}:
- {{ $t(`${state.userData.name}`) }}
+ {{ state.userData.name }}
{{ $t('userInfo.table.email') }}:
- {{ $t(`${state.userData.email}`) }}
+ {{ state.userData.email }}
{{ $t('userInfo.table.department') }}:
- {{ $t(`${state.userData.department}`) }}
+ {{ state.userData.department }}
{{ $t('userInfo.table.employeeType') }}:
- {{ $t(`${state.userData.employeeType}`) }}
+ {{ state.userData.employeeType }}
{{ $t('userInfo.table.job') }}:
- {{ $t(`${state.userData.role[0].name}`) }}
+ {{ state.userData.role[0].name }}
{{ $t('userInfo.table.probationStart') }}:
@@ -68,11 +68,11 @@ async function fetchData(email: string) {
{{ $t('userInfo.table.probationDuration') }}:
- {{ $t(`${state.userData.probationDuration}`) }}{{ $t('userInfo.day') }}
+ {{ state.userData.probationDuration }}{{ $t('userInfo.day') }}
{{ $t('userInfo.table.address') }}:
- {{ $t(`${state.userData.address}`) }}
+ {{ state.userData.address }}
{{ $t('userInfo.table.status') }}: