ソースを参照

🐞 fix(回传数据): 修复type=2的联动select

dodo hold 1 年間 前
コミット
0e6203738c
2 ファイル変更63 行追加42 行削除
  1. 1 0
      src/views/jd/list.vue
  2. 62 42
      src/views/site/pushReport.vue

+ 1 - 0
src/views/jd/list.vue

@@ -118,6 +118,7 @@
                             {{ record.company }}
                             <a-tag color="blue" v-if="record.work_mode == 1">网站推广</a-tag>
                             <a-tag color="orange" v-else-if="record.work_mode == 2">媒体导购</a-tag>
+                            <a-tag color="blue" v-else-if="record.work_mode == 4">订单侠</a-tag>
                             <a-tag color="purple" v-else>爬虫</a-tag>
                         </template>
                         <template #description>

+ 62 - 42
src/views/site/pushReport.vue

@@ -146,9 +146,8 @@
 
             <a-table row-key="id" :loading="loading" :pagination="pagination"
                 :columns="(cloneColumns as TableColumnData[])" :data="renderData" :bordered="{ headerCell: true }"
-                :size="size" @page-change="onPageChange" :scroll="{ x: 1700, y: tableHeight }" 
-                v-model:selectedKeys="selectedRowKeys"
-                :row-selection="{
+                :size="size" @page-change="onPageChange" :scroll="{ x: 1700, y: tableHeight }"
+                v-model:selectedKeys="selectedRowKeys" :row-selection="{
                     type: 'checkbox',
                     showCheckedAll: true
                 }">
@@ -190,29 +189,51 @@
                     </div>
                 </template>
                 <template #request_metrics="{ record }">
-                    <div>请求量: <template v-if="record.req_count == 0 || record.req_count == null">-</template><a-tag v-else color="green">{{ record.req_count }}</a-tag></div>
-                    <div>DP转链: <template v-if="record.dp_transition_succ_count == 0 || record.dp_transition_succ_count == null">-</template><a-tag v-else color="green">{{ record.dp_transition_succ_count }}</a-tag></div>
-                    <div>商业转链: <template v-if="record.transition_succ_count == 0 || record.transition_succ_count == null">-</template><a-tag v-else color="green">{{ record.transition_succ_count }}</a-tag></div>
+                    <div>请求量: <template v-if="record.req_count == 0 || record.req_count == null">-</template><a-tag
+                            v-else color="green">{{ record.req_count }}</a-tag></div>
+                    <div>DP转链: <template
+                            v-if="record.dp_transition_succ_count == 0 || record.dp_transition_succ_count == null">-</template><a-tag
+                            v-else color="green">{{ record.dp_transition_succ_count }}</a-tag></div>
+                    <div>商业转链: <template
+                            v-if="record.transition_succ_count == 0 || record.transition_succ_count == null">-</template><a-tag
+                            v-else color="green">{{ record.transition_succ_count }}</a-tag></div>
                 </template>
                 <template #expose_metrics="{ record }">
-                    <div>曝光PV: <template v-if="record.expose_count == 0 || record.expose_count == null">-</template><a-tag v-else color="green">{{ record.expose_count }}</a-tag></div>
-                    <div>曝光UV: <template v-if="record.expose_user_count == 0 || record.expose_user_count == null">-</template><a-tag v-else color="green">{{ record.expose_user_count }}</a-tag></div>
+                    <div>曝光PV: <template
+                            v-if="record.expose_count == 0 || record.expose_count == null">-</template><a-tag v-else
+                            color="green">{{ record.expose_count }}</a-tag></div>
+                    <div>曝光UV: <template
+                            v-if="record.expose_user_count == 0 || record.expose_user_count == null">-</template><a-tag
+                            v-else color="green">{{ record.expose_user_count }}</a-tag></div>
                 </template>
                 <template #click_metrics="{ record }">
-                    <div>点击PV: <template v-if="record.click_count == 0 || record.click_count == null">-</template><a-tag v-else color="green">{{ record.click_count }}</a-tag></div>
-                    <div>点击UV: <template v-if="record.click_user_count == 0 || record.click_user_count == null">-</template><a-tag v-else color="green">{{ record.click_user_count }}</a-tag></div>
+                    <div>点击PV: <template v-if="record.click_count == 0 || record.click_count == null">-</template><a-tag
+                            v-else color="green">{{ record.click_count }}</a-tag></div>
+                    <div>点击UV: <template
+                            v-if="record.click_user_count == 0 || record.click_user_count == null">-</template><a-tag
+                            v-else color="green">{{ record.click_user_count }}</a-tag></div>
                 </template>
                 <template #app_metrics="{ record }">
-                    <div>唤端PV: <template v-if="record.app_open_count == 0 || record.app_open_count == null">-</template><a-tag v-else color="green">{{ record.app_open_count }}</a-tag></div>
-                    <div>唤端UV: <template v-if="record.app_open_user_count == 0 || record.app_open_user_count == null">-</template><a-tag v-else color="green">{{ record.app_open_user_count }}</a-tag></div>
+                    <div>唤端PV: <template
+                            v-if="record.app_open_count == 0 || record.app_open_count == null">-</template><a-tag v-else
+                            color="green">{{ record.app_open_count }}</a-tag></div>
+                    <div>唤端UV: <template
+                            v-if="record.app_open_user_count == 0 || record.app_open_user_count == null">-</template><a-tag
+                            v-else color="green">{{ record.app_open_user_count }}</a-tag></div>
                 </template>
                 <template #order_metrics="{ record }">
-                    <div>订单PV: <template v-if="record.order_count == 0 || record.order_count == null">-</template><a-tag v-else color="green">{{ record.order_count }}</a-tag></div>
-                    <div>订单UV: <template v-if="record.order_user_count == 0 || record.order_user_count == null">-</template><a-tag v-else color="green">{{ record.order_user_count }}</a-tag></div>
+                    <div>订单PV: <template v-if="record.order_count == 0 || record.order_count == null">-</template><a-tag
+                            v-else color="green">{{ record.order_count }}</a-tag></div>
+                    <div>订单UV: <template
+                            v-if="record.order_user_count == 0 || record.order_user_count == null">-</template><a-tag
+                            v-else color="green">{{ record.order_user_count }}</a-tag></div>
                 </template>
                 <template #income_metrics="{ record }">
-                    <div>GMV: <template v-if="record.gmv == 0 || record.gmv == null">-</template><a-tag v-else color="green">{{ record.gmv }}元</a-tag></div>
-                    <div>预估收入: <template v-if="record.income == 0 || record.income == null">-</template><a-tag v-else color="green">{{ record.income }}元</a-tag></div>
+                    <div>GMV: <template v-if="record.gmv == 0 || record.gmv == null">-</template><a-tag v-else
+                            color="green">{{ record.gmv }}元</a-tag></div>
+                    <div>预估收入: <template v-if="record.income == 0 || record.income == null">-</template><a-tag v-else
+                            color="green">{{
+                            record.income }}元</a-tag></div>
                 </template>
                 <template #settlement="{ record }">
                     <a-tag :color="record.is_settlement ? 'green' : 'orange'" bordered>
@@ -364,15 +385,9 @@
             </a-form>
         </a-modal>
 
-        <a-modal 
-            v-model:visible="batchPushModalVisible"
-            :title="batchPushModalLoading ? '推送中' : '推送完成'"
-            :mask-closable="false"
-            :closable="!batchPushModalLoading"
-            @before-ok="handleBatchPushComplete"
-            ok-text="完成"
-            :ok-button-props="{ disabled: batchPushModalLoading }"
-            :cancel-button-props="{ disabled: true }">
+        <a-modal v-model:visible="batchPushModalVisible" :title="batchPushModalLoading ? '推送中' : '推送完成'"
+            :mask-closable="false" :closable="!batchPushModalLoading" @before-ok="handleBatchPushComplete" ok-text="完成"
+            :ok-button-props="{ disabled: batchPushModalLoading }" :cancel-button-props="{ disabled: true }">
             <div style="text-align: center; padding: 20px 0;">
                 <div v-if="batchPushModalLoading">
                     <a-spin />
@@ -595,6 +610,9 @@ const subTypeOptions = computed(() => {
         case 1:
             baseOptions.push({ label: '口令', value: 100000 });
             break;
+        case 2:
+            baseOptions.push({ label: '应用内优惠券', value: 100001 });
+            break;
         case 3:
             baseOptions.push({ label: '应用建议卡', value: 300001 });
             break;
@@ -715,7 +733,7 @@ const fetchData = async (
         renderData.value = data.list;
         pagination.current = data.page;
         pagination.total = data.count;
-        
+
         // Clear selection when data is refreshed
         selectedRowKeys.value = [];
         selectedRows.value = [];
@@ -1002,6 +1020,8 @@ watch(
     (newType) => {
         if (newType === 1) {
             editForm.value.sub_type = 100000;
+        } else if (newType === 2) {
+            editForm.value.sub_type = 100001;
         } else if (newType === 3) {
             editForm.value.sub_type = 300001;
         } else if (newType === 7) {
@@ -1125,7 +1145,7 @@ const onBatchPush = async () => {
             batchPushFail.value = 0;
             batchPushModalLoading.value = true;
             batchPushModalVisible.value = true;
-            
+
             // 处理每条数据
             for (let i = 0; i < selectedRowKeys.value.length; i += 1) {
                 const id = Number(selectedRowKeys.value[i]);
@@ -1140,15 +1160,15 @@ const onBatchPush = async () => {
                 } catch (error) {
                     batchPushFail.value += 1;
                 }
-                
+
                 // 更新进度
                 batchPushProgress.value = i + 1;
-                
+
                 // 使用 nextTick 确保界面刷新
                 // eslint-disable-next-line no-await-in-loop
                 await nextTick();
             }
-            
+
             // 任务完成
             batchPushModalLoading.value = false;
         },
@@ -1208,7 +1228,7 @@ const onBatchDelete = () => {
         onOk: async () => {
             let successCount = 0;
             let failCount = 0;
-            
+
             // 创建进度弹窗
             const progressModal = Modal.info({
                 title: '删除中',
@@ -1219,7 +1239,7 @@ const onBatchDelete = () => {
                 closable: false,
                 maskClosable: false
             });
-            
+
             // 依次删除每条数据
             for (let i = 0; i < selectedRowKeys.value.length; i += 1) {
                 const id = Number(selectedRowKeys.value[i]);
@@ -1234,16 +1254,16 @@ const onBatchDelete = () => {
                 } catch (error) {
                     failCount += 1;
                 }
-                
+
                 // 更新进度信息
                 progressModal.update({
                     content: `${i + 1}/${selectedRowKeys.value.length}条数据已处理,成功:${successCount},失败:${failCount},请稍候...`
                 });
             }
-            
+
             // 关闭进度弹窗
             progressModal.close();
-            
+
             // 显示结果
             Modal.success({
                 title: '删除完成',
@@ -1338,22 +1358,22 @@ export default {
 }
 
 :deep(.arco-checkbox) {
-  z-index: 1;
-  pointer-events: auto !important;
+    z-index: 1;
+    pointer-events: auto !important;
 }
 
 :deep(.arco-table-th-item .arco-checkbox),
 :deep(.arco-table-td .arco-checkbox) {
-  pointer-events: auto !important;
+    pointer-events: auto !important;
 }
 
 :deep(.arco-modal-body) {
-  font-size: 14px;
-  line-height: 1.5;
+    font-size: 14px;
+    line-height: 1.5;
 }
 
 :deep(.arco-modal-title) {
-  font-weight: bold;
-  color: var(--color-text-1);
+    font-weight: bold;
+    color: var(--color-text-1);
 }
 </style>