Commit 68c3e50e4785ac1098843c66c0b4bb8ff85448f6
Merge branch 'fix/views/10-29-11/2024' into 'main_dev'
perf(src/packages): 大屏3d模型编辑名称 回车保存 重复调用接口 See merge request yunteng/thingskit-view!305
Showing
4 changed files
with
131 additions
and
75 deletions
... | ... | @@ -12,7 +12,7 @@ export default { |
12 | 12 | SCATTER: 'Scatter plot', |
13 | 13 | MAP: 'Map', |
14 | 14 | COMBINATION: 'Combination diagram', |
15 | - MORE: 'More', | |
15 | + MORE: 'More' | |
16 | 16 | }, |
17 | 17 | information: { |
18 | 18 | TEXT: 'Text', |
... | ... | @@ -26,7 +26,7 @@ export default { |
26 | 26 | THREE: '3D', |
27 | 27 | HEADLINE: 'Headline', |
28 | 28 | SUBTITLE: 'Subtitle', |
29 | - MORE: 'More', | |
29 | + MORE: 'More' | |
30 | 30 | }, |
31 | 31 | image: { |
32 | 32 | PRIVATE: 'Private image', |
... | ... | @@ -53,22 +53,23 @@ export default { |
53 | 53 | clearClipboard: 'CLear clipboard', |
54 | 54 | delete: 'Delete', |
55 | 55 | group: 'Group', |
56 | - unGroup: 'UnGroup', | |
56 | + unGroup: 'UnGroup' | |
57 | 57 | }, |
58 | 58 | layerMode: { |
59 | 59 | thumbnail: 'Thumbnail', |
60 | - textList: 'Text list', | |
60 | + textList: 'Text list' | |
61 | 61 | }, |
62 | 62 | chartMode: { |
63 | 63 | singleRow: 'Single-row', |
64 | - biserial: 'Biserial', | |
64 | + biserial: 'Biserial' | |
65 | 65 | }, |
66 | 66 | notComponent: 'Component not found', |
67 | 67 | noLayer: 'There are currently no layers available', |
68 | 68 | saveContent: 'Save content', |
69 | 69 | saveThumImage: 'Save Thumbnail Image', |
70 | 70 | placeEntercorner: 'Please enter the name in the bottom left corner!', |
71 | - savingContentContinue: 'Saving the content will synchronize and modify all components that use this interface. Do you want to continue?', | |
71 | + savingContentContinue: | |
72 | + 'Saving the content will synchronize and modify all components that use this interface. Do you want to continue?', | |
72 | 73 | chartComponent: 'Charting Components', |
73 | 74 | layerControl: 'Layer control', |
74 | 75 | detailSetting: 'Details Settings', |
... | ... | @@ -81,30 +82,53 @@ export default { |
81 | 82 | initDataRefresh: 'Data initialization successful, please refresh the page!', |
82 | 83 | components: 'Components', |
83 | 84 | layer: 'Layer', |
84 | - iconToolTipChart:'Charting components', | |
85 | - iconToolTipLayer:'Layer control', | |
86 | - iconToolTipDetail:'Details settings', | |
87 | - actionForward:'Forward', | |
88 | - actionBack:'Retreat', | |
89 | - closeAndExit:'Close on exit', | |
90 | - animationTimingText:{ | |
91 | - linear:'Linear', | |
92 | - ease:'Ease', | |
93 | - easein:'Easein', | |
94 | - easeout:'Easeout', | |
95 | - easeinout:'Easeinout', | |
85 | + iconToolTipChart: 'Charting components', | |
86 | + iconToolTipLayer: 'Layer control', | |
87 | + iconToolTipDetail: 'Details settings', | |
88 | + actionForward: 'Forward', | |
89 | + actionBack: 'Retreat', | |
90 | + closeAndExit: 'Close on exit', | |
91 | + animationTimingText: { | |
92 | + linear: 'Linear', | |
93 | + ease: 'Ease', | |
94 | + easein: 'Easein', | |
95 | + easeout: 'Easeout', | |
96 | + easeinout: 'Easeinout' | |
96 | 97 | }, |
97 | - animationPlayStateText:{ | |
98 | - paused:'Paused', | |
99 | - running:'Running', | |
98 | + animationPlayStateText: { | |
99 | + paused: 'Paused', | |
100 | + running: 'Running' | |
100 | 101 | }, |
101 | - animationIterationCountNameText:{ | |
102 | - unlimitedTimes:'Unlimited times', | |
102 | + animationIterationCountNameText: { | |
103 | + unlimitedTimes: 'Unlimited times' | |
103 | 104 | }, |
104 | - requestType:{ | |
105 | - customRequest:'Custom request', | |
106 | - publicInterface:'Public interface', | |
105 | + requestType: { | |
106 | + customRequest: 'Custom request', | |
107 | + publicInterface: 'Public interface' | |
107 | 108 | }, |
108 | - color:'Color', | |
109 | - threeDModel:'3D model', | |
109 | + color: 'Color', | |
110 | + threeDModel: '3D model', | |
111 | + threeFormSearch: { | |
112 | + name: 'Name', | |
113 | + placeholderName: 'Input name', | |
114 | + state: 'State', | |
115 | + placeholderState: 'Select state', | |
116 | + search: 'Search', | |
117 | + reset: 'Reset', | |
118 | + add: 'Add', | |
119 | + selectAll: 'Select all', | |
120 | + selectUnAll: 'Select unAll', | |
121 | + batchOperate: 'Batch operate', | |
122 | + noData: 'No data', | |
123 | + all: 'All', | |
124 | + count: 'Count', | |
125 | + release:'Release', | |
126 | + unRelease:'Un release', | |
127 | + batchDelete:'Bulk delete', | |
128 | + batchRelease:'Bulk release', | |
129 | + batchUnRelease:'Bulk un release', | |
130 | + m1:'Do you want to delete the selected data in bulk?', | |
131 | + m2:'Do you want to publish the selected data in bulk?', | |
132 | + m3:'Do you want to cancel the publication of the selected data in bulk?', | |
133 | + } | |
110 | 134 | } | ... | ... |
... | ... | @@ -26,7 +26,7 @@ export default { |
26 | 26 | THREE: '三维', |
27 | 27 | HEADLINE: '大标题', |
28 | 28 | SUBTITLE: '小标题', |
29 | - MORE: '更多', | |
29 | + MORE: '更多' | |
30 | 30 | }, |
31 | 31 | image: { |
32 | 32 | PRIVATE: '私有图', |
... | ... | @@ -53,15 +53,15 @@ export default { |
53 | 53 | clearClipboard: '清空剪贴板', |
54 | 54 | delete: '删除', |
55 | 55 | group: '创建分组', |
56 | - unGroup: '解除分组', | |
56 | + unGroup: '解除分组' | |
57 | 57 | }, |
58 | 58 | layerMode: { |
59 | 59 | thumbnail: '缩略图', |
60 | - textList: '文本列表', | |
60 | + textList: '文本列表' | |
61 | 61 | }, |
62 | 62 | chartMode: { |
63 | 63 | singleRow: '单列', |
64 | - biserial: '双列', | |
64 | + biserial: '双列' | |
65 | 65 | }, |
66 | 66 | notComponent: '没有找到组件', |
67 | 67 | noLayer: '暂无图层', |
... | ... | @@ -81,30 +81,53 @@ export default { |
81 | 81 | initDataRefresh: '数据初未始化成功,请刷新页面!', |
82 | 82 | components: '组件', |
83 | 83 | layer: '图层', |
84 | - iconToolTipChart:'图表组件', | |
85 | - iconToolTipLayer:'图层控制', | |
86 | - iconToolTipDetail:'详情设置', | |
87 | - actionForward:'前进', | |
88 | - actionBack:'后退', | |
89 | - closeAndExit:'关闭并退出', | |
90 | - animationTimingText:{ | |
91 | - linear:'匀速', | |
92 | - ease:'缓速', | |
93 | - easein:'低速开始', | |
94 | - easeout:'低速结束', | |
95 | - easeinout:'低速开始和结束', | |
84 | + iconToolTipChart: '图表组件', | |
85 | + iconToolTipLayer: '图层控制', | |
86 | + iconToolTipDetail: '详情设置', | |
87 | + actionForward: '前进', | |
88 | + actionBack: '后退', | |
89 | + closeAndExit: '关闭并退出', | |
90 | + animationTimingText: { | |
91 | + linear: '匀速', | |
92 | + ease: '缓速', | |
93 | + easein: '低速开始', | |
94 | + easeout: '低速结束', | |
95 | + easeinout: '低速开始和结束' | |
96 | 96 | }, |
97 | - animationPlayStateText:{ | |
98 | - paused:'暂停', | |
99 | - running:'播放', | |
97 | + animationPlayStateText: { | |
98 | + paused: '暂停', | |
99 | + running: '播放' | |
100 | 100 | }, |
101 | - animationIterationCountNameText:{ | |
102 | - unlimitedTimes:'无限次', | |
101 | + animationIterationCountNameText: { | |
102 | + unlimitedTimes: '无限次' | |
103 | 103 | }, |
104 | - requestType:{ | |
105 | - customRequest:'自定义请求', | |
106 | - publicInterface:'公共接口', | |
104 | + requestType: { | |
105 | + customRequest: '自定义请求', | |
106 | + publicInterface: '公共接口' | |
107 | 107 | }, |
108 | - color:'颜色', | |
109 | - threeDModel:'3D 模型', | |
108 | + color: '颜色', | |
109 | + threeDModel: '3D 模型', | |
110 | + threeFormSearch: { | |
111 | + name: '名称', | |
112 | + placeholderName: '输入名称', | |
113 | + state: '状态', | |
114 | + placeholderState: '选择状态', | |
115 | + search: '查询', | |
116 | + reset: '重置', | |
117 | + add: '新增', | |
118 | + selectAll: '全选', | |
119 | + selectUnAll: '反选', | |
120 | + batchOperate: '批量操作', | |
121 | + noData: '暂无数据', | |
122 | + all: '共', | |
123 | + count: '条', | |
124 | + release:'已发布', | |
125 | + unRelease:'未发布', | |
126 | + batchDelete:'批量删除', | |
127 | + batchRelease:'批量发布', | |
128 | + batchUnRelease:'批量取消发布', | |
129 | + m1:'是否批量删除所选数据?', | |
130 | + m2:'是否批量发布所选数据?', | |
131 | + m3:'是否批量取消发布所选数据?', | |
132 | + } | |
110 | 133 | } | ... | ... |
... | ... | @@ -4,13 +4,17 @@ |
4 | 4 | <n-form ref="formRef" label-placement="left" label-width="auto" :model="formValue" :size="formSize"> |
5 | 5 | <n-grid :cols="24" :x-gap="24"> |
6 | 6 | <n-grid-item :span="6" label="Input" path="name"> |
7 | - <n-form-item label="名称" path="name"> | |
8 | - <n-input v-model:value="formValue.name" placeholder="输入名称" /> | |
7 | + <n-form-item :label="t('business.threeFormSearch.name')" path="name"> | |
8 | + <n-input v-model:value="formValue.name" :placeholder="t('business.threeFormSearch.placeholderName')" /> | |
9 | 9 | </n-form-item> |
10 | 10 | </n-grid-item> |
11 | 11 | <n-grid-item :span="6" label="Select" path="state"> |
12 | - <n-form-item label="状态" path="state"> | |
13 | - <n-select v-model:value="formValue.state" placeholder="选择状态" :options="statusOptions" /> | |
12 | + <n-form-item :label="t('business.threeFormSearch.state')" path="state"> | |
13 | + <n-select | |
14 | + v-model:value="formValue.state" | |
15 | + :placeholder="t('business.threeFormSearch.placeholderState')" | |
16 | + :options="statusOptions" | |
17 | + /> | |
14 | 18 | </n-form-item> |
15 | 19 | </n-grid-item> |
16 | 20 | <n-grid-item :span="8"> |
... | ... | @@ -20,7 +24,7 @@ |
20 | 24 | <SearchIcon /> |
21 | 25 | </n-icon> |
22 | 26 | </template> |
23 | - 查询 | |
27 | + {{ t('business.threeFormSearch.search') }} | |
24 | 28 | </n-button> |
25 | 29 | <n-button style="margin-left: 20px" @click="handleResetClick"> |
26 | 30 | <template #icon> |
... | ... | @@ -28,7 +32,7 @@ |
28 | 32 | <ReloadSearch /> |
29 | 33 | </n-icon> |
30 | 34 | </template> |
31 | - 重置 | |
35 | + {{ t('business.threeFormSearch.reset') }} | |
32 | 36 | </n-button> |
33 | 37 | </n-grid-item> |
34 | 38 | </n-grid> |
... | ... | @@ -39,9 +43,11 @@ |
39 | 43 | <div v-show="!loading"> |
40 | 44 | <div style="display: flex; flex-direction: row-reverse"> |
41 | 45 | <n-space> |
42 | - <n-button type="primary" @click="handleOpenThreeEditor"> 新增 </n-button> | |
46 | + <n-button type="primary" @click="handleOpenThreeEditor"> {{ t('business.threeFormSearch.add') }} </n-button> | |
43 | 47 | <n-button v-if="list.length" @click="handleSelectAll" type="info"> |
44 | - {{ selectAllTextFlag ? '全选' : '反选' }} | |
48 | + {{ | |
49 | + selectAllTextFlag ? t('business.threeFormSearch.selectAll') : t('business.threeFormSearch.selectUnAll') | |
50 | + }} | |
45 | 51 | </n-button> |
46 | 52 | <n-dropdown |
47 | 53 | v-if="list.length" |
... | ... | @@ -50,7 +56,7 @@ |
50 | 56 | :options="operationOptions" |
51 | 57 | @select="handleOperationSelect" |
52 | 58 | > |
53 | - <n-button :disabled="isBulkOperationFlag"> 批量操作 </n-button> | |
59 | + <n-button :disabled="isBulkOperationFlag"> {{ t('business.threeFormSearch.batchOperate') }} </n-button> | |
54 | 60 | </n-dropdown> |
55 | 61 | </n-space> |
56 | 62 | </div> |
... | ... | @@ -75,8 +81,8 @@ |
75 | 81 | ></project-items-card> |
76 | 82 | </n-grid-item> |
77 | 83 | </n-grid> |
78 | - <div v-else style="height: calc(100vh - 40vh);display: flex;align-items: center;justify-content: center"> | |
79 | - <n-empty description="暂无数据"> | |
84 | + <div v-else style="height: calc(100vh - 40vh); display: flex; align-items: center; justify-content: center"> | |
85 | + <n-empty :description="t('business.threeFormSearch.noData')"> | |
80 | 86 | <template #extra> </template> |
81 | 87 | </n-empty> |
82 | 88 | </div> |
... | ... | @@ -91,7 +97,9 @@ |
91 | 97 | @update:page-size="changeSize" |
92 | 98 | show-size-picker |
93 | 99 | > |
94 | - <template #prefix> 共 {{ pagination.count }} 条 </template> | |
100 | + <template #prefix> | |
101 | + {{ t('business.threeFormSearch.all') }} {{ pagination.count }} {{ t('business.threeFormSearch.count') }} | |
102 | + </template> | |
95 | 103 | </n-pagination> |
96 | 104 | </div> |
97 | 105 | </div> |
... | ... | @@ -120,6 +128,8 @@ import { goDialog } from '@/utils' |
120 | 128 | |
121 | 129 | const { SearchIcon, ReloadSearch } = icon.ionicons5 |
122 | 130 | |
131 | +const t = window['$t'] | |
132 | + | |
123 | 133 | const { modalData, modalShow, closeModal, resizeHandle, editHandle } = useModalDataInit() |
124 | 134 | |
125 | 135 | const formRef = ref<FormInst | null>(null) |
... | ... | @@ -133,11 +143,11 @@ const formValue = ref({ |
133 | 143 | |
134 | 144 | const statusOptions = ref([ |
135 | 145 | { |
136 | - label: '已发布', | |
146 | + label: t('business.threeFormSearch.release'), | |
137 | 147 | value: 'yes' |
138 | 148 | }, |
139 | 149 | { |
140 | - label: '未发布', | |
150 | + label: t('business.threeFormSearch.unRelease'), | |
141 | 151 | value: 'no' |
142 | 152 | } |
143 | 153 | ]) |
... | ... | @@ -146,15 +156,15 @@ const operationKey = ref('') |
146 | 156 | |
147 | 157 | const operationOptions = [ |
148 | 158 | { |
149 | - label: '批量删除', | |
159 | + label: t('business.threeFormSearch.batchDelete'), | |
150 | 160 | key: 'Bulk delete' |
151 | 161 | }, |
152 | 162 | { |
153 | - label: '批量发布', | |
163 | + label: t('business.threeFormSearch.batchRelease'), | |
154 | 164 | key: 'Bulk release' |
155 | 165 | }, |
156 | 166 | { |
157 | - label: '批量取消发布', | |
167 | + label: t('business.threeFormSearch.batchUnRelease'), | |
158 | 168 | key: 'Bulk un release' |
159 | 169 | } |
160 | 170 | ] |
... | ... | @@ -197,7 +207,7 @@ const handleOperationSelect = async (key: string) => { |
197 | 207 | goDialog({ |
198 | 208 | type: DialogEnum.DELETE, |
199 | 209 | promise: true, |
200 | - message: '是否批量删除所选数据?', | |
210 | + message: t('business.threeFormSearch.m1'), | |
201 | 211 | // eslint-disable-next-line @typescript-eslint/no-empty-function |
202 | 212 | onPositiveCallback: () => {}, |
203 | 213 | promiseResCallback: async () => { |
... | ... | @@ -218,10 +228,10 @@ const handleOperationSelect = async (key: string) => { |
218 | 228 | }) |
219 | 229 | break |
220 | 230 | case 'Bulk release': |
221 | - releaseGoDialog('是否批量发布所选数据?', 1, 'common.releaseSuccessText') | |
231 | + releaseGoDialog(t('business.threeFormSearch.m2'), 1, 'common.releaseSuccessText') | |
222 | 232 | break |
223 | 233 | case 'Bulk un release': |
224 | - releaseGoDialog('是否批量取消发布所选数据?', 0, 'common.cancelReleaseSuccessText') | |
234 | + releaseGoDialog(t('business.threeFormSearch.m3'), 0, 'common.cancelReleaseSuccessText') | |
225 | 235 | break |
226 | 236 | } |
227 | 237 | } | ... | ... |