瀏覽代碼

feat: 数据看板 - 订单数据统计 - "列表"接口联调

zhengxy 2 年之前
父節點
當前提交
5d8593113b

+ 1 - 0
project/src/assets/config/interface_api.js

297
   dataBoard_loseUser_summary: "/api/customerLossTrend/summary", // 用户流失数据 - 汇总
297
   dataBoard_loseUser_summary: "/api/customerLossTrend/summary", // 用户流失数据 - 汇总
298
   dataBoard_loseUser_curve: "/api/customerLossTrend/curve", // 用户流失数据 - 折线图
298
   dataBoard_loseUser_curve: "/api/customerLossTrend/curve", // 用户流失数据 - 折线图
299
   dataBoard_uptime: "/api/dataCube/uptime", // 数据更新时间
299
   dataBoard_uptime: "/api/dataCube/uptime", // 数据更新时间
300
+  dataBoard_orderData_orderList: "/api/order/orderList", // 订单数据统计 - 列表
300
 
301
 
301
   getPlatformOptions: "/api/intelligentMassSending/platformIndex", // 平台筛选选项
302
   getPlatformOptions: "/api/intelligentMassSending/platformIndex", // 平台筛选选项
302
   accountManage_accountIndex: "/api/intelligentMassSending/accountIndex", // 平台账号管理 - 账号列表
303
   accountManage_accountIndex: "/api/intelligentMassSending/accountIndex", // 平台账号管理 - 账号列表

+ 5 - 2
project/src/components/assembly/screen/input.vue

3
     <label class="common-screen-label" :style="labelWidth ? 'width:auto;margin-left:20px' : ''"
3
     <label class="common-screen-label" :style="labelWidth ? 'width:auto;margin-left:20px' : ''"
4
       v-if="hasLabel">{{ label_name }}</label>
4
       v-if="hasLabel">{{ label_name }}</label>
5
     <el-input :style="width ? 'width:' + width : ''" :placeholder="`请输入${label_name}`" v-model="input_keyword" clearable
5
     <el-input :style="width ? 'width:' + width : ''" :placeholder="`请输入${label_name}`" v-model="input_keyword" clearable
6
-      size="small" class="common-input-select" @keydown.enter.native="init" @clear="init" @input="init('input')">
6
+      size="small" class="common-input-select" @keydown.enter.native="init" @clear="init" @input="init('input')" @change="onChange">
7
       <el-button slot="append" icon="el-icon-search" @click="init"></el-button>
7
       <el-button slot="append" icon="el-icon-search" @click="init"></el-button>
8
     </el-input>
8
     </el-input>
9
   </div>
9
   </div>
50
     init (type) {
50
     init (type) {
51
       if (type == 'input' && !this.inputFlag) return;//是否input输入,就搜索
51
       if (type == 'input' && !this.inputFlag) return;//是否input输入,就搜索
52
       this.$emit('inputChange', this.input_keyword)
52
       this.$emit('inputChange', this.input_keyword)
53
-    }
53
+    },
54
+    onChange() {
55
+      this.$emit('onChange', this.input_keyword)
56
+    },
54
   }
57
   }
55
 }
58
 }
56
 </script>
59
 </script>

+ 12 - 10
project/src/components/dataBoard/orderData.vue

18
         <self-channel style="margin-right: 10px;" title="" type='paySource' :reset="resetFlag" :labelWidth="true"
18
         <self-channel style="margin-right: 10px;" title="" type='paySource' :reset="resetFlag" :labelWidth="true"
19
           @channelDefine="(val) => { filter.order_source = val; init_predata(); init(1) }"></self-channel>
19
           @channelDefine="(val) => { filter.order_source = val; init_predata(); init(1) }"></self-channel>
20
         <self-input style="margin-right: 10px;" width="220px" :hasLabel="false" :reset="resetFlag" label_name="订单ID"
20
         <self-input style="margin-right: 10px;" width="220px" :hasLabel="false" :reset="resetFlag" label_name="订单ID"
21
-          @inputChange='(val) => { filter.order_id = val; init(1) }'></self-input>
21
+          @inputChange='(val) => { filter.order_id = val; init(1) }' @onChange="(val) => { filter.order_id = val; }"></self-input>
22
         <self-channel style="margin-right: 10px;" title="" type='thePublic' :reset="resetFlag" :labelWidth="true"
22
         <self-channel style="margin-right: 10px;" title="" type='thePublic' :reset="resetFlag" :labelWidth="true"
23
           @channelDefine="(val) => { filter.appid = val; init(1); init_predata() }"></self-channel>
23
           @channelDefine="(val) => { filter.appid = val; init(1); init_predata() }"></self-channel>
24
         <self-channel style="margin-right: 10px;" title="" type='promotionType' :reset="resetFlag" :labelWidth="true"
24
         <self-channel style="margin-right: 10px;" title="" type='promotionType' :reset="resetFlag" :labelWidth="true"
103
             <span v-if="item.prop == 'order_id'">
103
             <span v-if="item.prop == 'order_id'">
104
               {{ row[item.prop] || row[item.prop] == 0 ? row[item.prop] : '-' }}
104
               {{ row[item.prop] || row[item.prop] == 0 ? row[item.prop] : '-' }}
105
             </span>
105
             </span>
106
+            <span v-else-if="item.prop == 'user_id'">
107
+              {{ row[item.prop] || row[item.prop] == 0 ? row[item.prop] : '-' }}
108
+            </span>
106
             <!-- 推广类型 -->
109
             <!-- 推广类型 -->
107
             <!-- <span v-else-if="item.prop == 'plat_order_type'">
110
             <!-- <span v-else-if="item.prop == 'plat_order_type'">
108
               {{ getPromotionTypeDesc(row[item.prop]) }}
111
               {{ getPromotionTypeDesc(row[item.prop]) }}
154
         { prop: "corp_name", label: "企微主体" },
157
         { prop: "corp_name", label: "企微主体" },
155
         { prop: "wx_account", label: "公众号", },
158
         { prop: "wx_account", label: "公众号", },
156
         { prop: "user_id", label: "用户ID", min_width: 180 },
159
         { prop: "user_id", label: "用户ID", min_width: 180 },
157
-        { prop: "mp_user_register_time", label: "用户注册时间", min_width: 160 },
158
-        { prop: "is_first", label: "是否首充", },
160
+        { prop: "ma_user_register_time", label: "用户注册时间", min_width: 160 },
161
+        { prop: "first_order_status", label: "是否首充", },
159
         { prop: "order_pay_time", label: "支付完成时间", min_width: 160 },
162
         { prop: "order_pay_time", label: "支付完成时间", min_width: 160 },
160
         { prop: "pay_money", label: "支付金额(元)" },
163
         { prop: "pay_money", label: "支付金额(元)" },
161
         { prop: "order_source", label: "订单来源", },
164
         { prop: "order_source", label: "订单来源", },
289
       }
292
       }
290
     },
293
     },
291
     async init (page, type) {
294
     async init (page, type) {
292
-      console.log('this.filter.corpid => ', this.filter.corpid)
293
       this.page = page ? page : this.page;
295
       this.page = page ? page : this.page;
294
       this.loading = true
296
       this.loading = true
295
-      const url = this.URL.BASEURL + this.URL.charge_list
297
+      const url = `${this.URL.BASEURL}${this.URL.dataBoard_orderData_orderList}`
296
       const params = {
298
       const params = {
299
+        corpid: this.filter.corpid,
300
+        order_id: this.filter.order_id,
301
+        order_source: this.filter.order_source,
297
         start_date: this.filter.time[0],
302
         start_date: this.filter.time[0],
298
         end_date: this.filter.time[1],
303
         end_date: this.filter.time[1],
299
-        order_source: this.filter.order_source,
300
-        order_id: this.filter.order_id,
301
         appid: this.filter.appid,
304
         appid: this.filter.appid,
302
         plat_order_type: this.filter.plat_order_type,
305
         plat_order_type: this.filter.plat_order_type,
303
         is_ad_user: this.filter.is_ad_user,
306
         is_ad_user: this.filter.is_ad_user,
307
+        sys_group_id: this.$cookie.getCookie('isSuperManage') == 1 ? sessionStorage.getItem('company_session_defaultCorp_level_1').toString() : '',
304
         page: this.page,
308
         page: this.page,
305
         page_size: this.page_size,
309
         page_size: this.page_size,
306
       }
310
       }
307
       console.log('init => params ', JSON.parse(JSON.stringify(params)))
311
       console.log('init => params ', JSON.parse(JSON.stringify(params)))
308
       try {
312
       try {
309
-        const { data: res = {} } = await this.$axios.post(url, params)
313
+        const { data: res = {} } = await this.$axios.get(url, { params })
310
         if (res && res.errno == 0) {
314
         if (res && res.errno == 0) {
311
           this.datas = res.rst.data // 知道为啥datas不在 data()方法里面定义吗?嘻嘻
315
           this.datas = res.rst.data // 知道为啥datas不在 data()方法里面定义吗?嘻嘻
312
           this.$refs.plxTable.reloadData(this.datas)
316
           this.$refs.plxTable.reloadData(this.datas)
367
       } else {
371
       } else {
368
         this.enterpriseList = this.$store.state.authorize_corpList;
372
         this.enterpriseList = this.$store.state.authorize_corpList;
369
       }
373
       }
370
-
371
-      console.log('enterpriseList => ', this.enterpriseList)
372
     },
374
     },
373
     // E 企微主体数据
375
     // E 企微主体数据
374
 
376