|
|
@@ -31,16 +31,26 @@ interface Params {
|
|
|
pageIndex?: number
|
|
|
pageSize?: number
|
|
|
channel?: string
|
|
|
+ envVersion?: string
|
|
|
}
|
|
|
|
|
|
const { t } = useI18n()
|
|
|
|
|
|
const getChannelLabel = (code: string) => {
|
|
|
- console.log(code)
|
|
|
const c = channelOptions.value.find((x) => x.code === code)
|
|
|
return c ? c.name : code
|
|
|
}
|
|
|
|
|
|
+const envVersionOptions = [
|
|
|
+ { label: '正式服', value: 'release' },
|
|
|
+ { label: '体验版', value: 'trial' }
|
|
|
+]
|
|
|
+
|
|
|
+const getEnvVersionLabel = (envVersion: string) => {
|
|
|
+ const item = envVersionOptions.find((x) => x.value === envVersion)
|
|
|
+ return item ? item.label : '正式服'
|
|
|
+}
|
|
|
+
|
|
|
const columns: TableColumn[] = [
|
|
|
{
|
|
|
field: 'name',
|
|
|
@@ -51,6 +61,11 @@ const columns: TableColumn[] = [
|
|
|
label: t('version_server.channel'),
|
|
|
formatter: (row) => getChannelLabel(row.channel)
|
|
|
},
|
|
|
+ {
|
|
|
+ field: 'envVersion',
|
|
|
+ label: t('version_server.envVersion'),
|
|
|
+ formatter: (row) => getEnvVersionLabel(row.envVersion)
|
|
|
+ },
|
|
|
{
|
|
|
field: 'version',
|
|
|
label: t('version_server.number')
|
|
|
@@ -104,6 +119,7 @@ const drawerText = ref('')
|
|
|
|
|
|
const versionDataList = ref<VersionData[]>([])
|
|
|
const selectedChannel = ref<string>('')
|
|
|
+const selectedEnvVersion = ref<string>('')
|
|
|
|
|
|
// 渠道选项:从后端获取
|
|
|
const channelOptions = ref<ChannelData[]>([])
|
|
|
@@ -123,7 +139,8 @@ const applyChannelFilter = () => {
|
|
|
getVersionList({
|
|
|
pageIndex: 1,
|
|
|
pageSize: 10,
|
|
|
- channel: selectedChannel.value
|
|
|
+ channel: selectedChannel.value,
|
|
|
+ envVersion: selectedEnvVersion.value
|
|
|
})
|
|
|
}
|
|
|
|
|
|
@@ -132,6 +149,7 @@ const form = reactive({
|
|
|
data: {
|
|
|
id: '',
|
|
|
channel: '',
|
|
|
+ envVersion: 'release',
|
|
|
version: '',
|
|
|
name: '',
|
|
|
cdn: '',
|
|
|
@@ -143,6 +161,7 @@ const form = reactive({
|
|
|
const formReset = () => {
|
|
|
form.data.id = ''
|
|
|
form.data.channel = ''
|
|
|
+ form.data.envVersion = 'release'
|
|
|
form.data.version = ''
|
|
|
form.data.name = ''
|
|
|
form.data.cdn = ''
|
|
|
@@ -244,6 +263,7 @@ const actionFn = (type: string, data: any) => {
|
|
|
form.type = 'edit'
|
|
|
drawerText.value = t('version_server.edit')
|
|
|
form.data.channel = data.channel
|
|
|
+ form.data.envVersion = data.envVersion || 'release'
|
|
|
form.data.id = data.id.id
|
|
|
form.data.cdn = data.cdn
|
|
|
form.data.url = data.url
|
|
|
@@ -291,6 +311,24 @@ const closeDrawer = () => {
|
|
|
{{ t('version_server.confirm') }}
|
|
|
</ElButton>
|
|
|
</div>
|
|
|
+ <div style="display: flex; align-items: center; gap: 8px">
|
|
|
+ <span style="font-size: 14px; color: var(--el-text-color-regular)">
|
|
|
+ {{ t('version_server.envVersion') }}:
|
|
|
+ </span>
|
|
|
+ <ElSelect
|
|
|
+ v-model="selectedEnvVersion"
|
|
|
+ :placeholder="t('version_server.envVersionSelect')"
|
|
|
+ style="width: 140px"
|
|
|
+ >
|
|
|
+ <ElOption :label="t('version_server.allEnvVersions')" value="" />
|
|
|
+ <ElOption
|
|
|
+ v-for="item in envVersionOptions"
|
|
|
+ :key="item.value"
|
|
|
+ :label="item.label"
|
|
|
+ :value="item.value"
|
|
|
+ />
|
|
|
+ </ElSelect>
|
|
|
+ </div>
|
|
|
</div>
|
|
|
<ElTooltip content="同步版本列表" placement="top">
|
|
|
<ElButton type="primary" circle @click="() => syncVersion()">
|
|
|
@@ -338,6 +376,16 @@ const closeDrawer = () => {
|
|
|
<ElFormItem :label="t('version_server.title')">
|
|
|
<ElInput v-model="form.data.name" />
|
|
|
</ElFormItem>
|
|
|
+ <ElFormItem :label="t('version_server.envVersion')" required>
|
|
|
+ <ElSelect v-model="form.data.envVersion" style="width: 100%">
|
|
|
+ <ElOption
|
|
|
+ v-for="item in envVersionOptions"
|
|
|
+ :key="item.value"
|
|
|
+ :label="item.label"
|
|
|
+ :value="item.value"
|
|
|
+ />
|
|
|
+ </ElSelect>
|
|
|
+ </ElFormItem>
|
|
|
<ElFormItem :label="t('version_server.number')">
|
|
|
<el-input v-model="form.data.version" />
|
|
|
</ElFormItem>
|