wuyi 1 rok pred
rodič
commit
f36acddb08
1 zmenil súbory, kde vykonal 51 pridanie a 10 odobranie
  1. 51 10
      src/views/ChannelView.vue

+ 51 - 10
src/views/ChannelView.vue

@@ -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>