Jelajahi Sumber

同步分销商订单

逆水行舟 3 minggu lalu
induk
melakukan
650650598e

+ 18 - 0
src/api/omsOrder.ts

@@ -377,6 +377,24 @@ export function syncOrder(data: any) {
   });
 }
 
+//获得分销商订单
+export function getDistributorOrder(params: any) {
+  return request({
+    url: "/omsOrder/orderDistributor/list",
+    method: "GET",
+    params,
+  });
+}
+
+//同步分销商订单
+export function syncDistributorOrder(data: any) {
+  return request({
+    url: "/omsOrder/customOrder/queryOutboundOrder",
+    method: "POST",
+    data: data,
+  });
+}
+
 export interface IResponeData<T> {
   msg: string;
   code: number;

+ 1 - 1
src/benyun/utils/auth.ts

@@ -6,7 +6,7 @@ const ExpiresInKey = "AdminOMS-Expires-In";
 
 export function getToken() {
   if (process.env.NODE_ENV === "development") {
-    return "eyJhbGciOiJIUzUxMiJ9.eyJ1c2VyX2lkIjoxLCJ1c2VyX2tleSI6ImMzOTk2NWVkLWI4OTMtNDVjYS05NjRmLTdhZDk0YTViOWJjYyIsInVzZXJuYW1lIjoiYWRtaW4ifQ.y4FuV47qKKMPl08OhimIaJNhSftxD2YsNC2F3ccxZIgaP18TtJlgULeZjCi7M52rcPSjKQxnv7IyvxunEU16tg";
+    return "eyJhbGciOiJIUzUxMiJ9.eyJ1c2VyX2lkIjoxLCJ1c2VyX2tleSI6IjRiZmVmZWE1LTA5MTYtNDMzMS04MmY0LWIxMWU3YmM1NmU4MSIsInVzZXJuYW1lIjoiYWRtaW4ifQ.uKZ3FC-wOdWi-sWUwncp_ItS1iOnnJ1QyHVeezLAm07qno56p03WMlO9BS_BMSniBwE7LPnbhMfisq2yDQ3okA";
   } else {
     return Cookies.get(TokenKey);
   }

+ 84 - 0
src/views/distributor/distributor/index.vue

@@ -0,0 +1,84 @@
+<template>
+    <div class="view" id="labelPage" v-loading="load">
+        <by-table :propConfig="tableConfig" ref="table">
+            <template v-slot:ordered="{ row }">
+                <span>{{ row.ordered }}</span>
+            </template>
+        </by-table>
+    </div>
+
+</template>
+
+<script lang="ts">
+import { Component, Prop, Vue, Watch } from "vue-property-decorator";
+import { IResponeData, getDistributorOrder, syncDistributorOrder } from "@/api/omsOrder";
+@Component({ components: {} })
+export default class Distributor extends Vue {
+    timer: any = null
+    isHasOne = false;//是否有一条数据
+    userInfo: any = {};
+    tool = {
+        tools: {
+            add: true,
+            refresh: true
+        },
+        audit: {}
+    }
+    tableConfig: any = {
+        attr: {
+            size: 'mini',
+            seq: true
+        },
+        columns: [{
+            title: '名称',
+            field: 'companyName'
+        }, {
+            title: '创建于',
+            field: 'createTime',
+            width: 250,
+        }]
+    }
+    time: any;
+    timeNum = 0;
+    data: Array<any> = []
+    load = false;
+
+
+    async getList() {
+        this.load = true;
+        const res = await getDistributorOrder({ pageNum: 1, pageSize: 1000 }) as unknown as IResponeData<any>;
+        this.load = false;
+        if (res.code != 200) {
+            return;
+        }
+        this.isHasOne = res.rows.length > 0;
+        (this.$refs.table as any).setValue(res.rows);
+    }
+
+
+    created() {
+        this.userInfo = this.$store.getters.userInfo;
+    }
+    mounted() {
+        this.$nextTick(() => {
+            this.getList()
+        })
+    }
+    unmounted() {
+        clearTimeout(this.timer);
+    }
+}
+</script>
+
+<style lang="scss" scoped>
+.view {
+    width: 100%;
+    height: 100%;
+    padding: 16px;
+    box-sizing: border-box;
+
+    .tool {
+        padding-bottom: 16px;
+    }
+}
+</style>

+ 1 - 0
src/views/oms/B2COrder/components/orderTable.vue

@@ -14,6 +14,7 @@
       </template>
     </vxe-column>
     <vxe-column field="innerId" title="内部订单号(聚水潭)" width="140"> </vxe-column>
+    <vxe-column field="distributorNo" title="分销商订单号" width="140"> </vxe-column>
     <vxe-column field="rawSourceId" title="线上订单号" width="140"> </vxe-column>
     <vxe-column field="isSubmitted" title="审核状态" width="100">
       <template #default="{ row }">

+ 12 - 13
src/views/oms/B2COrder/components/syncOrder.vue

@@ -1,11 +1,10 @@
 <template>
     <vxe-modal v-model="value" id="syncOrder" width="500" v-loading="load" @hide="hide" height="300" show-footer
-        title="同步订单">
+        title="同步分销商订单">
         <el-form ref="form" :model="form" label-width="100px">
             <el-form-item label="店铺" prop="shopId">
-                <el-select v-model="form.shopId" placeholder="请选择店铺">
-                    <el-option v-for="(item, index) in shopList" :label="item.shopName"
-                        :value="item.shopId"></el-option>
+                <el-select v-model="form.channelCompanyId" placeholder="请选择店铺">
+                    <el-option v-for="(item, index) in shopList" :label="item.companyName" :value="item.id"></el-option>
                 </el-select>
             </el-form-item>
             <el-form-item label="起始时间" prop="modifiedBegin">
@@ -28,14 +27,14 @@
 
 <script lang="ts">
 import { Component, Prop, Vue, Watch } from "vue-property-decorator";
-import { IResponeData, waterShop, syncOrder } from "@/api/omsOrder";
+import { IResponeData, getDistributorOrder, syncDistributorOrder } from "@/api/omsOrder";
 @Component({ components: {} })
 export default class AddConfig extends Vue {
     value = false;
     load = false;
-    shopList: { shopId: number, shopName: string }[] = [];
+    shopList: { id: number, companyName: string }[] = [];
     form = {
-        shopId: 0,
+        channelCompanyId: null,
         modifiedBegin: '',
         modifiedEnd: ''
     }
@@ -44,7 +43,7 @@ export default class AddConfig extends Vue {
     }
     async loadShop() {
         this.load = true;
-        const res = await waterShop() as unknown as IResponeData<any>;
+        const res = await getDistributorOrder({ pageNum: 1, pageSize: 1000 }) as unknown as IResponeData<any>;
         this.load = false;
         if (res.code != 200) {
             return;
@@ -63,8 +62,8 @@ export default class AddConfig extends Vue {
     }
 
     btn() {
-        if (this.form.shopId == 0) {
-            this.$message.error('请选择店铺');
+        if (!this.form.channelCompanyId) {
+            this.$message.error('请选择分销商');
             return;
         }
         if (this.form.modifiedBegin == '') {
@@ -79,8 +78,8 @@ export default class AddConfig extends Vue {
         const begin = new Date(this.form.modifiedBegin);
         const end = new Date(this.form.modifiedEnd);
         const diff = end.getTime() - begin.getTime();
-        if (diff > 7 * 24 * 60 * 60 * 1000) {
-            this.$message.error('时间范围不能大于7天');
+        if (diff > 1 * 24 * 60 * 60 * 1000) {
+            this.$message.error('时间范围不能大于1天');
             return;
         }
         if (begin.getTime() > end.getTime()) {
@@ -92,7 +91,7 @@ export default class AddConfig extends Vue {
             cancelButtonText: '取消',
             type: 'warning'
         }).then(() => {
-            syncOrder(this.form).then(res => {
+            syncDistributorOrder(this.form).then(res => {
                 this.$message.success('同步成功');
             }).catch((err) => {
                 console.error(err);

+ 9 - 4
src/views/order/orderTimeLog/index.vue

@@ -28,11 +28,15 @@ export default class BackCallLog extends Vue {
                 triggerRowCheck: 'row'
             },
             columns: [{
-                title: '上游订单时间',
+                title: '订单编号',
+                field: 'waterOrderNo', //未知,问全工。2025-8-12
+                ellipsis: true,
+            }, {
+                title: '订单创建时间',
                 field: 'orderTime',
                 ellipsis: true,
             }, {
-                title: '接收时间',
+                title: '聚水潭拉取时间',
                 field: 'getOrderTime',
                 ellipsis: true,
             }, {
@@ -68,14 +72,15 @@ export default class BackCallLog extends Vue {
             return
         }
         let query: any = (this.$refs.view as any).getQuery();
+        query.pageNum = query.pageNo;
+        delete query.pageNo;
         this.load = true;
         orderTimeList(query).then((res: any) => {
             this.load = false;
-            console.info(res.rows, 'sdsfs');
             (this.$refs.view as any).setTableValue(this.checkFinishTime(res.rows as ICallbackLog[]));
             //(this.$refs.view as any).setTableValue(res.rows);
             let page = {
-                pageNo: 1,// res.data.current, //当前页
+                pageNum: 1,// res.data.current, //当前页
                 pageSize: 20,//res.data.size, //每页条数
                 total: res.total //总条数
             };