mirror of
https://github.com/1Panel-dev/1Panel.git
synced 2025-03-14 01:34:47 +08:00
feat: 限制数字输入的最大长度
This commit is contained in:
parent
e52ddd3f39
commit
c54451c733
@ -747,6 +747,7 @@ export default {
|
||||
type: 'Type',
|
||||
list: 'File List',
|
||||
sub: 'Include subdirectory',
|
||||
downlodSuccess: 'Download Success',
|
||||
},
|
||||
setting: {
|
||||
all: 'All',
|
||||
|
@ -754,6 +754,7 @@ export default {
|
||||
root: '根目录',
|
||||
list: '文件列表',
|
||||
sub: '包含子目录',
|
||||
downlodSuccess: '下载完成',
|
||||
},
|
||||
setting: {
|
||||
all: '全部',
|
||||
|
@ -1,7 +1,7 @@
|
||||
<template>
|
||||
<LayoutContent :title="$t('app.detail')" :back-name="'App'" :v-loading="loadingDetail" :divider="true">
|
||||
<LayoutContent :title="$t('app.detail')" :back-name="'App'" :divider="true">
|
||||
<template #main>
|
||||
<div class="brief">
|
||||
<div class="brief" v-loading="loadingApp">
|
||||
<el-row :gutter="20">
|
||||
<div>
|
||||
<el-col :span="3">
|
||||
@ -34,7 +34,7 @@
|
||||
</div>
|
||||
|
||||
<br />
|
||||
<div>
|
||||
<div v-if="!loadingDetail">
|
||||
<el-alert
|
||||
style="width: 300px"
|
||||
v-if="!appDetail.enable"
|
||||
@ -112,26 +112,30 @@ let app = ref<any>({});
|
||||
let appDetail = ref<any>({});
|
||||
let version = ref('');
|
||||
let loadingDetail = ref(false);
|
||||
let loadingApp = ref(false);
|
||||
// let appKey = ref();
|
||||
const installRef = ref();
|
||||
|
||||
const getApp = () => {
|
||||
GetApp(props.appKey).then((res) => {
|
||||
const getApp = async () => {
|
||||
loadingApp.value = true;
|
||||
try {
|
||||
const res = await GetApp(props.appKey);
|
||||
app.value = res.data;
|
||||
version.value = app.value.versions[0];
|
||||
getDetail(app.value.id, version.value);
|
||||
});
|
||||
} finally {
|
||||
loadingApp.value = false;
|
||||
}
|
||||
};
|
||||
|
||||
const getDetail = (id: number, version: string) => {
|
||||
const getDetail = async (id: number, version: string) => {
|
||||
loadingDetail.value = true;
|
||||
GetAppDetail(id, version)
|
||||
.then((res) => {
|
||||
try {
|
||||
const res = await GetAppDetail(id, version);
|
||||
appDetail.value = res.data;
|
||||
})
|
||||
.finally(() => {
|
||||
} finally {
|
||||
loadingDetail.value = false;
|
||||
});
|
||||
}
|
||||
};
|
||||
|
||||
const toLink = (link: string) => {
|
||||
|
@ -9,10 +9,10 @@
|
||||
:disabled="p.disabled"
|
||||
></el-input>
|
||||
<el-input
|
||||
v-model="form[p.envKey]"
|
||||
v-model.number="form[p.envKey]"
|
||||
@blur="form[p.envKey] = Number(form[p.envKey])"
|
||||
v-if="p.type == 'number'"
|
||||
:type="p.type"
|
||||
maxlength="15"
|
||||
@change="updateParam"
|
||||
:disabled="p.disabled"
|
||||
></el-input>
|
||||
|
@ -7,7 +7,9 @@
|
||||
:title="$t('file.downloadProcess')"
|
||||
>
|
||||
<div v-for="(value, index) in res" :key="index">
|
||||
<span>{{ $t('file.downloading') }} {{ value['name'] }}</span>
|
||||
<span>
|
||||
{{ value['percent'] === 100 ? $t('file.downlodSuccess') : $t('file.downloading') }} {{ value['name'] }}
|
||||
</span>
|
||||
<el-progress v-if="value['total'] == 0" :percentage="100" :indeterminate="true" :duration="1" />
|
||||
<el-progress v-else :text-inside="true" :stroke-width="15" :percentage="value['percent']"></el-progress>
|
||||
<span>
|
||||
@ -60,7 +62,7 @@ const onClose = () => {};
|
||||
|
||||
const initProcess = () => {
|
||||
let href = window.location.href;
|
||||
let protocol = href.split('//')[0] === 'http' ? 'ws' : 'wss';
|
||||
let protocol = href.split('//')[0] === 'http:' ? 'ws' : 'wss';
|
||||
let ipLocal = href.split('//')[1].split('/')[0];
|
||||
processSocket = new WebSocket(`${protocol}://${ipLocal}/api/v1/files/ws`);
|
||||
processSocket.onopen = onOpenProcess;
|
||||
|
@ -16,15 +16,15 @@
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
<el-form-item :label="$t('website.perserver')" prop="perserver">
|
||||
<el-input v-model.number="form.perserver" min="1" max="65535" type="number"></el-input>
|
||||
<el-input v-model.number="form.perserver" maxlength="10"></el-input>
|
||||
<span class="input-help">{{ $t('website.perserverHelper') }}</span>
|
||||
</el-form-item>
|
||||
<el-form-item :label="$t('website.perip')" prop="perip">
|
||||
<el-input v-model.number="form.perip" type="number"></el-input>
|
||||
<el-input v-model.number="form.perip" maxlength="10"></el-input>
|
||||
<span class="input-help">{{ $t('website.peripHelper') }}</span>
|
||||
</el-form-item>
|
||||
<el-form-item :label="$t('website.rate')" prop="rate">
|
||||
<el-input v-model.number="form.rate" type="number"></el-input>
|
||||
<el-input v-model.number="form.rate" maxlength="10"></el-input>
|
||||
<span class="input-help">{{ $t('website.rateHelper') }}</span>
|
||||
</el-form-item>
|
||||
</el-form>
|
||||
@ -103,10 +103,10 @@ const search = (scopeReq: Website.NginxScopeReq) => {
|
||||
for (const param of res.data.params) {
|
||||
if (param.name === 'limit_conn') {
|
||||
if (param.params[0] === 'perserver') {
|
||||
form.perserver = Number(param.params[1]);
|
||||
form.perserver = Number(param.params[1].match(/\d+/g));
|
||||
}
|
||||
if (param.params[0] === 'perip') {
|
||||
form.perip = Number(param.params[1]);
|
||||
form.perip = Number(param.params[1].match(/\d+/g));
|
||||
}
|
||||
}
|
||||
if (param.name === 'limit_rate') {
|
||||
|
@ -6,12 +6,12 @@
|
||||
<el-switch v-model="form.enable" @change="updateEnable"></el-switch>
|
||||
</el-form-item>
|
||||
<el-form-item prop="cycle" :label="$t('website.cycle')">
|
||||
<el-input v-model="form.cycle" type="number">
|
||||
<el-input v-model="form.cycle" maxlength="10">
|
||||
<template #append>{{ $t('website.seconds') }}</template>
|
||||
</el-input>
|
||||
</el-form-item>
|
||||
<el-form-item prop="frequency" :label="$t('website.frequency')">
|
||||
<el-input v-model="form.frequency" type="number">
|
||||
<el-input v-model="form.frequency" maxlength="10">
|
||||
<template #append>{{ $t('website.count') }}</template>
|
||||
</el-input>
|
||||
</el-form-item>
|
||||
|
@ -82,7 +82,7 @@
|
||||
</span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column :label="$t('commons.table.type')" fix prop="type">
|
||||
<el-table-column :label="$t('commons.table.type')" fix show-overflow-tooltip prop="type">
|
||||
<template #default="{ row }">
|
||||
{{ $t('website.' + row.type) }}
|
||||
<span v-if="row.type === 'deployment'">[{{ row.appName }}]</span>
|
||||
@ -414,4 +414,10 @@ onMounted(() => {
|
||||
float: right;
|
||||
display: inline;
|
||||
}
|
||||
|
||||
.tooltip {
|
||||
white-space: pre-wrap; /* 自动换行 */
|
||||
word-break: break-all; /* 单词内换行 */
|
||||
max-width: 200px; /* 控制最大宽度 */
|
||||
}
|
||||
</style>
|
||||
|
Loading…
x
Reference in New Issue
Block a user