Browse Source

回传的优化

pansl 1 year ago
parent
commit
7bd53f3e70

+ 6 - 0
src/api/backConfig/index.ts

@@ -36,3 +36,9 @@ export function callbackJuliangAccountLogCallbackAgain(params: object) {
 export function callbackJuliangAccountTurnCallbackState(params: object) {
   return http.post(`/callback/juliangAccount/turnCallbackState`, params);
 }
+/**
+ * 巨量账户级回传-取消推广回传关联
+ */
+export function callbackJuliangAccountUnbindPromotion(params: object) {
+  return http.post(`/callback/juliangAccount/unbindPromotion`, params);
+}

+ 28 - 2
src/views/payBack/juliangAccount/tabs/advertiserList/index.vue

@@ -28,10 +28,17 @@
           </div>
         </template>
       </el-table-column>
+      <el-table-column label="关联推广名称" width="260" prop="promotion_name">
+      </el-table-column>
+      <el-table-column label="关联推广ID" width="260" prop="promotion_id">
+      </el-table-column>
       <el-table-column label="操作">
         <template #default="scope">
-          <el-button link type="primary" size="default" @click="handleEdit(scope.$index, scope.row)"
+          <el-button link type="primary" size="small" @click="handleEdit(scope.$index, scope.row)"
             v-action="'callback.JuliangAccount.updateCallbackConfig'">回传配置</el-button>
+          <br />
+          <el-button link type="primary" size="small" @click="handleCancel(scope.row)"
+            v-action="'callback.JuliangAccount.unbindPromotion'">取消推广回传关联</el-button>
         </template>
       </el-table-column>
     </el-table>
@@ -53,7 +60,7 @@ import { computed, onMounted, ref } from 'vue';
 import create from './form/create.vue';
 import paybackConfig from './form/paybackConfig.vue';
 import { useGetList } from '@/hook/curd/useGetList';
-import { callbackJuliangAccountTurnCallbackState } from '@/api/backConfig/index'
+import { callbackJuliangAccountTurnCallbackState, callbackJuliangAccountUnbindPromotion } from '@/api/backConfig/index'
 
 const api = 'callback/juliangAccount/list';
 
@@ -84,7 +91,26 @@ const switchStatus = (data: object) => {
     search()
   })
 }
+const handleCancel = (row: object) => {
+  ElMessageBox.confirm(
+    `解绑后此回传账户所有数据重新计算(包括比例/保护数),确定要取消 ${row.adv_account_name} 推广回传关联吗?`,
+    '提示',
+    {
+      confirmButtonText: '确定',
+      cancelButtonText: '取消',
+      type: 'warning',
+    }
+  )
+    .then(() => {
+      callbackJuliangAccountUnbindPromotion({ id: row.id }).then(res => {
+        ElMessage.success(res.message)
+        search()
+      })
+    })
+    .catch(() => {
 
+    })
+}
 // 批量设置
 const mulSet = () => {
   if (multipleSelection.value.length <= 0) {

+ 1 - 1
src/views/promotion/promotionList/form/backConfig.vue

@@ -49,7 +49,7 @@ const formDataForm = ref({ videos: [] })
 const callbackTypeList = ref([{ id: 1, value: 1, name: '巨量账户级回传' }])
 const emit = defineEmits(['close']);
 const init = (params?: object) => {
-  callbackJuliangAccountList({ limit: 30, ...params }).then(res => {
+  callbackJuliangAccountList({ limit: 666, unbind: 1, ...params }).then(res => {
     callbackConfigList.value = res.data
   })
 }

+ 24 - 3
src/views/promotion/promotionList/index.vue

@@ -101,6 +101,15 @@
               </el-table-column>
               <el-table-column prop="callback_type_str" label="回传类型" />
               <el-table-column prop="callback_config_id" label="回传配置ID" />
+              <el-table-column prop="status_str" label="状态">
+                <template #default="scope">
+                  <div class="wrapper">
+                    <span class="text-lg font-bold content">
+                      <el-text class="mx-1" :type="colorType(scope.row)">{{ scope.row.status_str }}</el-text>
+                    </span>
+                  </div>
+                </template>
+              </el-table-column>
               <el-table-column prop="callback_config_id" label="备注">
                 <template #default="scope">
                   <div class="wrapper">
@@ -199,7 +208,15 @@ const backConfigVisible = ref(false)
 const backConfigData = ref({})
 const current = ref({})
 const titleBack = computed(() => activeName.value ? '更新回传配置' : '回传配置')
-
+const colorType = (data: object) => {
+  const type = data.status
+  switch (type) {
+    case 1:
+      return 'success'
+    case 0:
+      return 'danger'
+  }
+}
 const timeChange = (e) => {
   if (query.value.time) {
     const timeArr = toRaw(e);
@@ -271,9 +288,13 @@ const closeType = (type: string) => {
       ElMessageBox.alert('去复制推广链接', '配置完成', {
         draggable: true,
         confirmButtonText: '确认',
+        closeOnClickModal: true,
         callback: (action: any) => {
-          router.push({ path: '/promotion/promotionList', query: { tab: 1 } })
-          activeName.value = 1
+          console.log(action);
+          if (action == 'confirm') {
+            router.push({ path: '/promotion/promotionList', query: { tab: 1 } })
+            activeName.value = 1
+          }
         },
       })
       break;