Skip to content
This repository was archived by the owner on May 27, 2025. It is now read-only.

Commit e081372

Browse files
committed
update search component, multiple language
1 parent 0229fe7 commit e081372

File tree

20 files changed

+152
-317
lines changed

20 files changed

+152
-317
lines changed

Dockerfile

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@ FROM alpine:latest
22

33
LABEL maintainer="skyler.w.yang"
44

5-
RUN mkdir -p /workspace/config
5+
RUN mkdir -p /workspace/config && mkdir -p /workspace/data
66

77
COPY ./backend/config/*.yaml /workspace/config
88

@@ -12,6 +12,4 @@ COPY ./backend/humpback /workspace/
1212

1313
WORKDIR /workspace
1414

15-
RUN mkdir data
16-
1715
CMD ["./humpback"]

backend/common/locales/zh_cn.go

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -113,8 +113,8 @@ var zhCnMsg = map[string]string{
113113
CodeServicePlacementLabelNotEmpty: "约束标签不能为空。",
114114
CodeServicePlacementValueNotEmpty: "约束值不能为空。",
115115
CodeServiceScheduleCronNotEmpty: "调度计划cron不能为空。",
116-
CodeServiceScheduleCronInvalid: "执行计划cron无效。",
117-
CodeServiceScheduleTimeoutInvalid: "执行计划超时控制时间无效。",
116+
CodeServiceScheduleCronInvalid: "定时任务cron无效。",
117+
CodeServiceScheduleTimeoutInvalid: "定时任务超时控制时间无效。",
118118
CodeServiceProtocolInvalid: "协议无效,仅支持TCP、UDP。",
119119
CodeServiceOperateInvalid: "无效的操作。",
120120
CodeServiceIsNotEnable: "服务未启用。",
Lines changed: 37 additions & 45 deletions
Original file line numberDiff line numberDiff line change
@@ -1,68 +1,60 @@
11
<script lang="ts" setup>
2-
const props = defineProps<{ keywords?: string; showAddBtn?: boolean; keywordsPlaceholder?: string }>()
2+
const props = defineProps<{ addLabel?: string; inputLabel?: string; placeholder?: string }>()
33
const emits = defineEmits<{
4-
(e: "update:keywords", keywords: string): void
54
(e: "search"): void
65
(e: "add"): void
76
}>()
87
98
const { t } = useI18n()
109
const slots = useSlots()
1110
12-
function handleKeywordsChange(v: string) {
13-
emits("update:keywords", v)
14-
}
15-
16-
function search() {
17-
emits("search")
18-
}
19-
20-
function add() {
21-
emits("add")
22-
}
11+
const keywords = defineModel<string>()
2312
</script>
2413

2514
<template>
26-
<el-form @submit.prevent="search">
27-
<el-form-item class="search">
15+
<el-form @submit.prevent="emits('search')">
16+
<el-form-item>
2817
<div class="d-flex w-100 flex-wrap gap-3">
2918
<slot v-if="!!slots.prefix" name="prefix" />
19+
3020
<slot v-if="!!slots.input" name="input" />
31-
<v-input v-else :model-value="props.keywords" :placeholder="props.keywordsPlaceholder" class="search-input" @update:model-value="handleKeywordsChange">
32-
<template #prepend>
33-
<slot v-if="!!slots.keywordsPrepend" name="keywordsPrepend"></slot>
34-
<span v-else style="color: var(--el-text-color-regular)">
35-
{{ t("label.keywords") }}
36-
</span>
37-
</template>
38-
</v-input>
39-
<el-button native-type="submit" type="primary">
40-
<el-icon :size="16">
41-
<IconMdiSearch />
42-
</el-icon>
43-
{{ t("btn.search") }}
44-
</el-button>
45-
<slot v-if="!!slots.append" name="append" />
46-
<el-button v-if="props.showAddBtn" type="primary" @click="add()">
47-
<el-icon :size="18">
48-
<IconMdiAdd />
49-
</el-icon>
50-
{{ t("btn.add") }}
51-
</el-button>
21+
<div v-else class="search-input">
22+
<v-input v-model="keywords" :placeholder="props.placeholder">
23+
<template #prepend>
24+
<slot v-if="!!slots.inputPrepend" name="inputPrepend"></slot>
25+
<span v-else style="color: var(--el-text-color-regular)">
26+
{{ props.inputLabel || t("label.keywords") }}
27+
</span>
28+
</template>
29+
</v-input>
30+
</div>
31+
32+
<div>
33+
<el-button native-type="submit" type="primary">
34+
<template #icon>
35+
<el-icon :size="20">
36+
<IconMdiSearch />
37+
</el-icon>
38+
</template>
39+
{{ t("btn.search") }}
40+
</el-button>
41+
<el-button v-if="props.addLabel" plain type="primary" @click="emits('add')">
42+
<template #icon>
43+
<el-icon :size="20">
44+
<IconMdiAdd />
45+
</el-icon>
46+
</template>
47+
{{ props.addLabel }}
48+
</el-button>
49+
</div>
5250
</div>
5351
</el-form-item>
5452
</el-form>
5553
</template>
5654

5755
<style lang="scss" scoped>
58-
.search {
59-
.search-input {
60-
flex: 1;
61-
min-width: 200px;
62-
}
63-
64-
.el-button {
65-
margin: 0;
66-
}
56+
.search-input {
57+
flex: 1;
58+
min-width: 300px;
6759
}
6860
</style>

front/projects/web/src/components/common/v-monaco/VMonacoEdit.vue

Lines changed: 0 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,6 @@ import screenfull from "screenfull"
33
import * as monaco from "monaco-editor"
44
import EditorWorker from "monaco-editor/esm/vs/editor/editor.worker?worker"
55
import JsonWorker from "monaco-editor/esm/vs/language/json/json.worker?worker"
6-
import CssWorker from "monaco-editor/esm/vs/language/css/css.worker?worker"
76
import HtmlWorker from "monaco-editor/esm/vs/language/html/html.worker?worker"
87
import TSWorker from "monaco-editor/esm/vs/language/typescript/ts.worker?worker"
98
import YamlWorker from "./yaml.worker.js?worker"
@@ -38,10 +37,6 @@ self.MonacoEnvironment = {
3837
switch (label) {
3938
case "json":
4039
return new JsonWorker()
41-
case "css":
42-
case "scss":
43-
case "less":
44-
return new CssWorker()
4540
case "html":
4641
case "handlebars":
4742
case "razor":

front/projects/web/src/components/common/v-table/VTable.vue

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -94,6 +94,7 @@ defineExpose({ clearSelection, toggleRowExpansion })
9494
<el-table
9595
ref="tableRef"
9696
class-name="v-table"
97+
style="min-height: 396px"
9798
v-bind="tableAttrs"
9899
@select="selectionChangeEvent"
99100
@sort-change="sortChangeEvent"
@@ -106,7 +107,7 @@ defineExpose({ clearSelection, toggleRowExpansion })
106107
</template>
107108
<template #empty>
108109
<slot v-if="!!slots.empty" name="empty" />
109-
<el-empty v-else :image-size="200" />
110+
<el-empty v-else :image-size="180" />
110111
</template>
111112
</el-table>
112113
<div v-if="props.pageInfo" class="mt-5 pagination">

front/projects/web/src/locales/zh-CN/btn.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -48,7 +48,7 @@ export default {
4848
"addEnvironment": "添加环境变量",
4949
"addOption": "添加选项",
5050
"addPlacementConstraint": "添加约束",
51-
"addSchedule": "添加执行计划",
51+
"addSchedule": "添加定时任务",
5252
"viewMonitor": "查看性能指标"
5353
}
5454
}

front/projects/web/src/locales/zh-CN/header.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,7 @@ export default {
3232
"addService": "添加服务",
3333
"deleteService": "删除服务",
3434
"cloneService": "克隆服务",
35-
"addSchedule": "添加执行计划",
36-
"editSchedule": "编辑执行计划"
35+
"addSchedule": "添加定时任务",
36+
"editSchedule": "编辑定时任务"
3737
}
3838
}

front/projects/web/src/locales/zh-CN/label.ts

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -64,7 +64,7 @@ export default {
6464
"serviceName": "服务名称",
6565
"running": "正在运行",
6666
"failed": "失败",
67-
"schedule": "执行计划",
67+
"schedule": "定时任务",
6868
"yes": "是",
6969
"no": "否",
7070
"setting": "设置",
@@ -113,13 +113,13 @@ export default {
113113
"dockerDocumentation": "Docker文档",
114114
"dispatchMode": "调度模式",
115115
"global": "全局模式",
116-
"replicated": "复制模式",
116+
"replicated": "副本模式",
117117
"instanceNum": "实例数",
118118
"placementConstraints": "约束",
119119
"schedulesInfo": "执行计划信息",
120120
"enableTimeout": "启用超时控制",
121-
"setSchedules": "设置执行计划",
122-
"cron": "cron",
121+
"setSchedules": "设置定时任务",
122+
"cron": "Cron",
123123
"text": "文本",
124124
"form": "表单",
125125
"incomplete": "待完善",

front/projects/web/src/locales/zh-CN/tips.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@ export default {
2020
"logDriverTips": "日志驱动程序设置将覆盖docker守护程序日志驱动程序。若未设置,将使用默认驱动程序,请前往{document}获取驱动程序说明。",
2121
"globalTips": "在全局模式下,将向符合条件的机器上的每个节点分配一个实例。",
2222
"replicatedTips":
23-
"在复制模式下,机器下线后,服务会迁移到其他可用节点,实例数代表当前服务中部署的实例总数,实例数将根据资源(cpu/内存)情况调度到符合条件的机器上。",
23+
"在副本模式下,机器下线后,服务会迁移到其他可用节点,实例数代表当前服务中部署的实例总数,实例数将根据资源(cpu/内存)情况调度到符合条件的机器上。",
2424
"invalidCorn": "无效Corn",
2525
"scheduleTips": "采用Linux Crontab表达式。",
2626
"cloneServiceTips": "选择不同的分组将清除约束规则。",

front/projects/web/src/styles/font.scss

Lines changed: 21 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -8,14 +8,13 @@
88
}
99

1010
/* 引入 Roboto Medium */
11-
@font-face {
12-
font-family: 'Roboto';
13-
src: url('../assets/fonts/Roboto/Roboto-Medium.ttf') format('truetype');
14-
font-weight: 500;
15-
font-style: normal;
16-
font-display: swap;
17-
}
18-
11+
//@font-face {
12+
// font-family: 'Roboto';
13+
// src: url('../assets/fonts/Roboto/Roboto-Medium.ttf') format('truetype');
14+
// font-weight: 500;
15+
// font-style: normal;
16+
// font-display: swap;
17+
//}
1918
/* 引入 Roboto SemiBold */
2019
@font-face {
2120
font-family: 'Roboto';
@@ -44,14 +43,13 @@
4443
}
4544

4645
/* 引入 Roboto Medium Italic*/
47-
@font-face {
48-
font-family: 'Roboto';
49-
src: url('../assets/fonts/Roboto/Roboto-MediumItalic.ttf') format('truetype');
50-
font-weight: 500;
51-
font-style: italic;
52-
font-display: swap;
53-
}
54-
46+
//@font-face {
47+
// font-family: 'Roboto';
48+
// src: url('../assets/fonts/Roboto/Roboto-MediumItalic.ttf') format('truetype');
49+
// font-weight: 500;
50+
// font-style: italic;
51+
// font-display: swap;
52+
//}
5553
/* 引入 Roboto SemiBoldItalic */
5654
@font-face {
5755
font-family: 'Roboto';
@@ -80,14 +78,13 @@
8078
}
8179

8280
/* 引入 Noto-Sans-SC Medium */
83-
@font-face {
84-
font-family: 'Noto Sans SC';
85-
src: url('../assets/fonts/Noto-Sans-SC/NotoSansSC-Medium.ttf') format('truetype');
86-
font-weight: 500;
87-
font-style: normal;
88-
font-display: swap;
89-
}
90-
81+
//@font-face {
82+
// font-family: 'Noto Sans SC';
83+
// src: url('../assets/fonts/Noto-Sans-SC/NotoSansSC-Medium.ttf') format('truetype');
84+
// font-weight: 500;
85+
// font-style: normal;
86+
// font-display: swap;
87+
//}
9188
/* 引入 Noto-Sans-SC SemiBold */
9289
@font-face {
9390
font-family: 'Noto Sans SC';

0 commit comments

Comments
 (0)