|
|
@@ -1,10 +1,32 @@
|
|
|
<template>
|
|
|
<div>
|
|
|
- <ElButton type="primary" @click="onEdit" :icon="Plus"> 新增 </ElButton>
|
|
|
+ <ElButton type="primary" @click="onEdit" :icon="Plus"> 新增</ElButton>
|
|
|
<div v-for="item in channels" :key="item.id" class="p-4 rounded-lg mt-4 bg-white dark:bg-neutral-800">
|
|
|
<div class="flex items-center">
|
|
|
<div class="font-bold text-md w-[100px]">{{ item.source }}</div>
|
|
|
<ElButton :icon="Edit" @click="onEdit(item)" circle class="ml-4" type="primary" size="small"></ElButton>
|
|
|
+ <div class="ml-10">
|
|
|
+ <ElButton
|
|
|
+ type="primary"
|
|
|
+ text
|
|
|
+ bg
|
|
|
+ round
|
|
|
+ size="small"
|
|
|
+ @click="openAll(item,0)"
|
|
|
+ >
|
|
|
+ 全开
|
|
|
+ </ElButton>
|
|
|
+ <ElButton
|
|
|
+ type="info"
|
|
|
+ text
|
|
|
+ bg
|
|
|
+ round
|
|
|
+ size="small"
|
|
|
+ @click="openAll(item,1)"
|
|
|
+ >
|
|
|
+ 全关
|
|
|
+ </ElButton>
|
|
|
+ </div>
|
|
|
</div>
|
|
|
<div class="flex flex-wrap mt-4">
|
|
|
<div v-for="(countryConfig, i) in item.countryConfig" :key="i" class="flex items-center">
|
|
|
@@ -19,15 +41,15 @@
|
|
|
<EditDialog v-model="showEditDialog" :model="model" :rules="rules" :on-submit="submit" @success="getData">
|
|
|
<ElFormItem prop="source" label="平台">
|
|
|
<ElInput v-model="model.source" placeholder="请输入平台名称" />
|
|
|
-<!-- <ElSelect v-model="model.source" placeholder="请选择平台">-->
|
|
|
-<!-- <ElOption lable="mwze167" value="mwze167"></ElOption>-->
|
|
|
-<!-- <ElOption lable="durian" value="durian"></ElOption>-->
|
|
|
-<!-- <ElOption lable="i18nvc" value="i18nvc"></ElOption>-->
|
|
|
-<!-- <ElOption lable="firefox" value="firefox"></ElOption>-->
|
|
|
-<!-- <ElOption lable="d38" value="d38"></ElOption>-->
|
|
|
-<!-- <ElOption lable="cloud214" value="cloud214"></ElOption>-->
|
|
|
-<!-- <ElOption lable="xyz" value="xyz"></ElOption>-->
|
|
|
-<!-- </ElSelect>-->
|
|
|
+ <!-- <ElSelect v-model="model.source" placeholder="请选择平台">-->
|
|
|
+ <!-- <ElOption lable="mwze167" value="mwze167"></ElOption>-->
|
|
|
+ <!-- <ElOption lable="durian" value="durian"></ElOption>-->
|
|
|
+ <!-- <ElOption lable="i18nvc" value="i18nvc"></ElOption>-->
|
|
|
+ <!-- <ElOption lable="firefox" value="firefox"></ElOption>-->
|
|
|
+ <!-- <ElOption lable="d38" value="d38"></ElOption>-->
|
|
|
+ <!-- <ElOption lable="cloud214" value="cloud214"></ElOption>-->
|
|
|
+ <!-- <ElOption lable="xyz" value="xyz"></ElOption>-->
|
|
|
+ <!-- </ElSelect>-->
|
|
|
</ElFormItem>
|
|
|
<ElFormItem prop="remark" label="备注">
|
|
|
<ElInput v-model="model.remark" placeholder="请输入备注" />
|
|
|
@@ -63,11 +85,13 @@ import { ElMessage, ElMessageBox } from 'element-plus'
|
|
|
import { useClipboard } from '@vueuse/core'
|
|
|
|
|
|
const channels = ref([])
|
|
|
+
|
|
|
function getData() {
|
|
|
http.post('/channel').then((res) => {
|
|
|
channels.value = res.items
|
|
|
})
|
|
|
}
|
|
|
+
|
|
|
onMounted(async () => {
|
|
|
getData()
|
|
|
})
|
|
|
@@ -79,10 +103,12 @@ const { showEditDialog, onEdit } = setupEditDialog(model)
|
|
|
const rules = {
|
|
|
source: [{ required: true, message: '请输入平台名称', trigger: 'blur' }]
|
|
|
}
|
|
|
+
|
|
|
async function submit() {
|
|
|
await http.put('/channel', model.value)
|
|
|
ElMessage.success('保存成功')
|
|
|
}
|
|
|
+
|
|
|
function addCountryConfig() {
|
|
|
model.value.countryConfig = model.value.countryConfig || []
|
|
|
model.value.countryConfig.push({
|
|
|
@@ -90,10 +116,25 @@ function addCountryConfig() {
|
|
|
enabled: true
|
|
|
})
|
|
|
}
|
|
|
+
|
|
|
function removeCountryConfig(index) {
|
|
|
model.value.countryConfig.splice(index, 1)
|
|
|
}
|
|
|
+
|
|
|
function saveCountryConfig(item) {
|
|
|
http.put('/channel', item)
|
|
|
}
|
|
|
+
|
|
|
+function openAll(item, flag) {
|
|
|
+ http.get(`/channel/${item.id}/open/${flag}`)
|
|
|
+ .then(() => {
|
|
|
+ ElMessage.success(flag === 0 ? '全开成功' : '全关成功')
|
|
|
+ this.getData()
|
|
|
+ })
|
|
|
+ .catch((e) => {
|
|
|
+ console.log(e.message)
|
|
|
+ ElMessage.error(flag === 0 ? '全开失败' : '全关失败')
|
|
|
+ })
|
|
|
+}
|
|
|
+
|
|
|
</script>
|