MrShi
13 小时以前 ee24d5d1cf9025f6c15f3b4a435fd0ac7ccc8054
Merge branch 'master' of http://139.186.142.91:10010/r/productDev/dingyuannongji
已删除9个文件
已修改13个文件
1807 ■■■■ 文件已修改
mini-program/pages/distributor/distributor.vue 65 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
mini-program/pages/mine/mine.vue 22 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
mini-program/pagesA/pages/order-details/order-details.vue 354 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
mini-program/pagesA/pages/order/order.vue 364 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
mini-program/pagesA/pages/write-off-a/write-off-a.vue 154 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
mini-program/pagesA/pages/write-off/write-off.vue 122 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
mini-program/static/icon/default2.png 补丁 | 查看 | 原始文档 | blame | 历史
mini-program/unpackage/dist/dev/mp-weixin/common/main.js 56 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
mini-program/utils/http.api.js 19 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
mini-program/utils/http.interceptor.js 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/dmmall_admin/src/main/java/com/doumee/config/shiro/ShiroConfig.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/dmmall_service/src/main/java/com/doumee/config/Jwt/WebMvcConfig.java 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/dmmall_web/src/main/java/com/doumee/InterfaceApplication.java 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/dmmall_web/src/main/java/com/doumee/config/shiro/ShiroAuthFilter.java 30 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/dmmall_web/src/main/java/com/doumee/config/shiro/ShiroCache.java 113 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/dmmall_web/src/main/java/com/doumee/config/shiro/ShiroCacheManager.java 44 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/dmmall_web/src/main/java/com/doumee/config/shiro/ShiroConfig.java 110 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/dmmall_web/src/main/java/com/doumee/config/shiro/ShiroCredentialsMatcher.java 41 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/dmmall_web/src/main/java/com/doumee/config/shiro/ShiroRealm.java 84 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/dmmall_web/src/main/java/com/doumee/config/shiro/ShiroSessionDAO.java 113 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/dmmall_web/src/main/java/com/doumee/config/shiro/ShiroSessionManager.java 86 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/dmmall_web/src/main/java/com/doumee/config/shiro/ShiroTokenManager.java 25 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
mini-program/pages/distributor/distributor.vue
@@ -86,7 +86,7 @@
                    <image src="/static/icon/ic_xunizhanghu@2x.png" mode="widthFix"></image>
                    <text>虚拟账号</text>
                </view>
                <view class="func-item" style="margin-bottom: 30rpx;">
                <view class="func-item" style="margin-bottom: 30rpx;" @click="jumpWriteoff">
                    <image src="/static/icon/ic_zitihexiao@2x.png" mode="widthFix"></image>
                    <text>自提核销</text>
                </view>
@@ -107,11 +107,11 @@
            </view>
            <view class="title"  v-if="!show">待处理订单 ({{total}})</view>
            <view class="list"  v-if="!show">
                <view class="list-item" v-for="(item, index) in dataList" :key="index"  @click="jumpOrderDetail(item.id)">
                    <view class="a">
                <view class="list-item" v-for="(item, index) in dataList" :key="index">
                    <view class="a"   @click="jumpOrderDetail(item.id)">
                        <view class="a-left">
                            <view class="a-left-tips">{{item.receiveType==1?'自提':'快递配送'}}</view>
                            <text>订单号:{{item.id}}</text>
                            <view :class="'a-left-tips '+(item.receiveType==1?'shop-top-tips-a':'shop-top-tips-b')">{{item.receiveType==1?'自提':'配送'}}</view>
                            <text>订单号:{{item.code}}</text>
                        </view>
                        <text v-if="item.status ==0" class="a-right">待支付</text>
                        <text  v-if="item.status ==1" class="a-right">{{item.receiveType==1?'待自提':'待发货'}}</text>
@@ -120,17 +120,7 @@
                        <text  v-if="item.status ==4"class="a-right">已取消</text>
                        <text  v-if="item.status ==6" class="a-right">已退款</text>
                    </view>
                    <view class="b">
                        <view class="b-item" v-for="(item1, index1) in (item.goodsorderDetailList||[])">
                            <view class="b-item-image">
                                <image :src="item1.imgurl||'/static/logo.png'" mode="widthFix"></image>
                            </view>
                            <view class="b-item-title">{{item1.name||''}}</view>
                            <view class="b-item-jia">
                                <text>Â¥{{(item1.price||0).toFixed(2)}}</text>
                                <text>x{{item1.goodsNum||0}}</text>
                            </view>
                        </view>
                    <view class="b"   @click="jumpOrderDetail(item.id)">
                        <view class="b-item" v-for="(item1, index1) in (item.goodsorderDetailList||[])">
                            <view class="b-item-image">
                                <image :src="item1.imgurl||'/static/logo.png'" mode="widthFix"></image>
@@ -152,14 +142,14 @@
                        </view>
                        <view class="c-btns">
                            <view class="c-btns-item blue" @click="contactPhone(item)">联系客户</view>
                            <view class="c-btns-item bg">自提核销</view>
                            <view class="c-btns-item bg" v-if="item.status == 1 && item.receiveType ==1" @click="hexiaoOrder(item)">自提核销</view>
                        </view>
                    </view>
                    <view class="d" v-if="item.memberInfo">
                    <view class="d" v-if="item.memberInfo"   @click="jumpOrderDetail(item.id)">
                        è®¢å•备注:{{item.memberInfo||''}}
                    </view>
                </view>
                <view v-if="!hasNext" class="nomore">已加载全部</view>
                <view v-if="!hasNext" class="nomore">{{total>0?'已加载全部数据':'暂无待处理订单'}}</view>
            </view>
        </view>
        <!-- ç¡®è®¤é€€å‡ºç™»é™† -->
@@ -245,13 +235,34 @@
             this.active=0
             this.shop = this.shopInfo || {}
             this.getCountData()
             this.total=0
             this.hasNext=true
             this.currentPage = 0
             this.getOrderList()
        },
        onReachBottom(){ 
            this.getOrderList( );
        },
        onLoad() {
             var that =this
            uni.$on('updateOrder',function(data){
                if(data.info!=null && data.info.orderId!=null && data.info.orderStatus ==3){
                     if(data.info.orderStatus ==3){
                         that.getCountData()
                     }
                     that.total=0
                     that.hasNext=true
                     that.currentPage = 0
                     that.getOrderList()
                 }
             })
        },
        methods:{ 
            hexiaoOrder(item){
                uni.navigateTo({
                    url:'/pagesA/pages/write-off-a/write-off-a?id='+item.id
                })
            },
            openQrcode(){
                if(this.shop.programCode){
                    this.showQrcode = !this.showQrcode
@@ -372,12 +383,17 @@
            },
            jumpOrderList() {
                uni.navigateTo({
                    url: '/pagesA/pages/order/order'
                    url: '/pagesA/pages/order/order?userType=1'
                })
            },
            jumpAccount() {
                uni.navigateTo({
                    url: '/pagesA/pages/virtual-account/virtual-account'
                })
            },
            jumpWriteoff() {
                uni.navigateTo({
                    url: '/pagesA/pages/write-off/write-off'
                })
            },
            jumpMemberList() {
@@ -472,13 +488,20 @@
                                padding: 0 6rpx;
                                height: 40rpx;
                                line-height: 40rpx;
                                background: #00B775;
                                border-radius: 8rpx;
                                font-weight: 400;
                                font-size: 22rpx;
                                color: #FFFFFF;
                                margin-right: 16rpx;
                            }
                            .shop-top-tips-a {
                                background: #00B775;
                                border: 1rpx solid #00B775;
                            }
                            .shop-top-tips-b {
                                background: #004096;
                                border: 1rpx solid #004096;
                            }
                            text {
                                font-weight: 400;
                                font-size: 26rpx;
mini-program/pages/mine/mine.vue
@@ -46,24 +46,24 @@
            <view class="func">
                <view class="func-top">
                    <view class="func-top-title">我的订单</view>
                    <view class="func-top-to" @click="jumpOrder">
                    <view class="func-top-to" @click="jumpOrder(0)">
                        å…¨éƒ¨è®¢å•
                        <image src="/static/icon/ic_ar2@2x.png" mode="widthFix"></image>
                    </view>
                </view>
                <view class="func-list">
                    <view class="func-list-item" @click="jumpOrder(0)">
                    <view class="func-list-item" @click="jumpOrder(1)">
                        <view class="func-list-item-num" v-if="orderNum && orderNum.waitPayOrders > 0">{{orderNum.waitPayOrders}}</view>
                        <image src="/static/icon/mine_ic_daifukuan@2x.png" mode="widthFix"></image>
                        <text>待支付</text>
                    </view>
                    <view class="func-list-item" @click="jumpOrder(1)">
                    <view class="func-list-item" @click="jumpOrder(2)">
                        <view class="func-list-item-num" v-if="orderNum && orderNum.waitOrders > 0">{{orderNum.waitOrders}}</view>
                        <image src="/static/icon/mine_ic_daifahuo@2x.png" mode="widthFix"></image>
                        <text>待发货/自提</text>
                    </view>
                    <view class="func-list-item" @click="jumpOrder(2)">
                        <view class="func-list-item-num" v-if="orderNum && orderNum.waitOrders > 0">{{orderNum.waitReceivedOrders}}</view>
                    <view class="func-list-item" @click="jumpOrder(3)">
                        <view class="func-list-item-num" v-if="orderNum && orderNum.waitReceivedOrders > 0">{{orderNum.waitReceivedOrders}}</view>
                        <image src="/static/icon/mine_ic_daishouhuo@2x.png" mode="widthFix"></image>
                        <text>待收货</text>
                    </view>
@@ -157,15 +157,9 @@
            },
            // è·³è½¬è®¢å•列表
            jumpOrder(status) {
                if (status >= 0) {
                    uni.navigateTo({
                        url: '/pages/order/order?status=' + status
                    })
                } else {
                    uni.navigateTo({
                        url: '/pages/order/order'
                    })
                }
                uni.navigateTo({
                    url: '/pagesA/pages/order/order?userType=0&status=' + status
                })
            }
        }
    }
mini-program/pagesA/pages/order-details/order-details.vue
@@ -57,23 +57,22 @@
                    </view>
                </view>
            </view>
            <view class="user">
            <view class="user"  v-if="userType!=1">
                <view class="user-jxa">
                    <view class="user-jxa-title">
                        <image src="/static/icon/ic_address@2x1.png" mode="widthFix"></image>
                        <text>{{info.shopInfo.name||''}}</text>
                    </view>
                    <view class="user-jxa-lx">
                    <view class="user-jxa-lx"  @click="contact( info.shopInfo.phone)">
                        <image src="/static/icon/ic_call@2x.png" mode="widthFix"></image>
                        <text v-if="userType==1" @click="contact(info.linkphone)">联系客户</text>
                        <text v-if="info.orderStatus!=0 && userType==0" @click="contact(info.shopInfo.phone || '')">联系经销商</text>
                        <text  > è”系经销商</text>
                    </view>
                </view>
                <view class="user-jxtime">
                    <image class="user-jxtime-icon" src="/static/icon/ic_openinghours@2x.png" mode="widthFix"></image>
                    <text>营业时间:{{info.shopInfo.startTime || ''}}</text>
                </view>
                <view class="user-jxtime">
                <view class="user-jxtime" @click="jumpMap()">
                    <image class="user-jxtime-icon" src="/static/icon/ic_shopaddress@2x.png" mode="widthFix"></image>
                    <text>{{info.shopInfo.addr || ''}}</text>
                    <image class="user-jxtime-to" src="/static/icon/ic_ar2@2x.png" mode="widthFix"></image>
@@ -86,29 +85,48 @@
                    <view class="user-qrcode-btn" @click="copyText(info.exchangeCode)">复制自提码</view>
                </view>
            </view>
            <view class="user"   v-if="info.receiveType!=1">
            <view class="user" v-if="userType==1">
                <view class="user-top">
                    <view class="user-icon">
                        <image src="/static/icon/ic_location@2x.png" mode="widthFix"></image>
                        <image :src="info.member && info.member.imgFullUrl? info.member.imgFullUrl:'/static/icon/default.png'" mode="widthFix"></image>
                    </view>
                    <view class="user-info">
                        <view class="user-info-a">
                            <text>{{info.linkename || ''}}</text>
                            <text>{{info.linkephone || ''}}</text>
                            <text>{{info.linkName || ''}}</text>
                            <view class="user-jxa-lx"  @click="contact( info.linkPhone )">
                                <image src="/static/icon/ic_call@2x.png" mode="widthFix"></image>
                                <text > è”系客户</text>
                            </view>
                        </view>
                        <view class="user-info-b">
                            {{info.addr||''}}
                            <!-- <image src="/static/icon/ic_call@2x.png" mode="widthFix"></image> -->
                            <text>{{info.linkPhone || ''}}</text>
                        </view>
                    </view>
                </view>
                <view class="user-xian"></view>
                <view class="user-kd">
                <view class="user-remark"  v-if="info.memberInfo">
                    <text>订单备注:</text>
                    <text>{{info.memberInfo || ''}}</text>
                </view>
                <view class="user-xian" v-if="info.receiveType!=1"></view>
                <view class="user-kd" v-if="info.receiveType!=1">
                    <image src="/static/icon/ic_location@2x.png" mode="widthFix"></image>
                    <text>{{info.linkAddress || ''}}</text>
                </view>
                <view class="user-kd" v-if="info.receiveType!=1&& info.kdName && info.kdCode">
                    <image src="/static/icon/ic_wuliu@2x.png" mode="widthFix"></image>
                    <text>{{info.kdName || ''}}|{{info.kdCode || ''}}</text>
                    <image class="image2" src="/static/icon/ic_cppy@2x.png"  @click="copyText(info.kdCode )" mode="widthFix"></image>
                </view>
            </view>  
            <view class="shop">
                <view class="shop-info" style="margin: 0;"  v-if="info.status ==6">
            <view class="user" v-if="userType!=1 &&info.memberInfo" >
                <view class="user-kd" >
                    <text>订单备注:</text>
                    <text>{{info.memberInfo || ''}}</text>
                </view>
            </view>
            <view class="shop"  v-if="info.orderStatus ==6">
                <view class="shop-info" style="margin: 0;" >
                    <view class="shop-info-item" style="margin-bottom: 12rpx;">
                        <view class="shop-info-item-label" style="color: #222222; font-size: 30rpx; font-weight: 600;">退款金额</view>
                        <view class="shop-info-item-price xfk">
@@ -135,13 +153,12 @@
                    <view :class="'shop-top-tips '+(info.receiveType==1?'shop-top-tips-a':'shop-top-tips-b' )">{{info.receiveType==1?'自提':'配送'}}</view>
                    <text>{{info.shopInfo.name || ''}}</text>
                </view>
                <view class="b">
                    <view class="b-item" v-for="(item, index) in (info.goodsorderDetailList||[])" :key="index">
                        <view class="b-item-image">
<!--                             <image v-if="item.imgurl!=null" :src="item.imgurl" mode="widthFix"></image>
 -->                             <image src="/static/icon/default2.png" mode="widthFix"></image>
                <view class="b" v-if="info.goodsorderDetailList && info.goodsorderDetailList.length">
                    <view class="b-item" v-for="(item, index) in info.goodsorderDetailList" :key="index"  @click="jumpGoodsDetail(item,index)" >
                        <view class="b-item-image" >
                             <image :src="item.imgurl?item.imgurl:'/static/icon/default2.png'" mode="widthFix"></image>
                        </view>
                        <view class="b-item-title">
                        <view class="b-item-title" >
                            <view class="b-item-title-val">{{item.name || ''}}</view>
                            <view class="b-item-jia">
                                <text>Â¥{{(item.price || 0).toFixed(2)}}</text>
@@ -204,7 +221,49 @@
                            <text>{{info.createDate || ''}}</text>
                        </view>
                    </view>
                    <view class="xinxi-list-item">
                    <view class="xinxi-list-item" v-if="info.shopInfo!=null && info.shopInfo.id!=null">
                        <view class="xinxi-list-item-label">经 é”€ å•†ï¼š</view>
                        <view class="xinxi-list-item-right">
                            <text>{{info.shopInfo.name || ''}}</text>
                        </view>
                    </view>
                    <view class="xinxi-list-item" v-if="info.shopInfo!=null && info.shopInfo.id!=null">
                        <view class="xinxi-list-item-label">联系电话:</view>
                        <view class="xinxi-list-item-right">
                            <text>{{info.shopInfo.phone || ''}}</text>
                        </view>
                    </view>
                    <view class="xinxi-list-item" v-if="info.payDate!=null">
                        <view class="xinxi-list-item-label">支付时间:</view>
                        <view class="xinxi-list-item-right">
                            <text>{{info.payDate || ''}}</text>
                        </view>
                    </view>
                    <view class="xinxi-list-item" v-if="info.payStatus != 0">
                        <view class="xinxi-list-item-label">支付方式:</view>
                        <view class="xinxi-list-item-right">
                            <text>{{info.payMethod==0?'微信支付':'积分抵扣'}}</text>
                        </view>
                    </view>
                    <view class="xinxi-list-item" v-if="info.payOrderId">
                        <view class="xinxi-list-item-label">交易流水号:</view>
                        <view class="xinxi-list-item-right">
                            <text>{{info.payOrderId || ''}}</text>
                        </view>
                    </view>
                    <view class="xinxi-list-item" v-if="info.cancelDate!=null">
                        <view class="xinxi-list-item-label">取消时间:</view>
                        <view class="xinxi-list-item-right">
                            <text>{{info.cancelDate || ''}}</text>
                        </view>
                    </view>
                    <view class="xinxi-list-item" v-if="info.doneDate!=null">
                        <view class="xinxi-list-item-label">完成时间:</view>
                        <view class="xinxi-list-item-right">
                            <text>{{info.doneDate || ''}}</text>
                        </view>
                    </view>
                    <view class="xinxi-list-item" v-if="1==2">
                        <view class="xinxi-list-item-label">订单备注:</view>
                        <view class="xinxi-list-item-right">
                            <text>{{info.memberInfo||'-'}}</text>
@@ -215,14 +274,19 @@
            <view style="width: 100%; height: calc(100rpx + env(safe-area-inset-bottom));"></view>
        </view>
        <view class="footer">
            <view class="caozuo">
                <view class="caozuo-item">取消订单</view>
                <view class="caozuo-item" style="border: 1rpx solid #004096; color: #004096;">继续支付</view>
            <view class="caozuo" v-if="userType!=1">
                <view class="caozuo-item" v-if="info.orderStatus==0 || info.orderStatus ==1"  @click="cancelOrder()"> å–消订单</view>
                <view class="caozuo-item"  @click="deleteOrder()" v-if="info.orderStatus==4"> åˆ é™¤è®¢å•</view>
                <view class="caozuo-item"  @click="payOrder()" v-if=" info.orderStatus==0" style="border: 1rpx solid #004096; color: #004096;">继续支付</view>
                <view class="caozuo-item" @click="doneOrder()"  v-if=" info.orderStatus==2" style="border: 1rpx solid #004096; color: #004096;">确认收货</view>
            </view>
            <view class="caozuo" v-if="userType==1">
                <view class="caozuo-item" @click="hexiaoOrder()"  v-if=" info.orderStatus==1 && info.receiveType ==1" style="border: 1rpx solid #004096; color: #004096;">自提核销</view>
            </view>
            <view style="width: 100%; height: env(safe-area-inset-bottom);"></view>
        </view>
        <!-- ç¡®è®¤æ”¶è´§ -->
        <u-popup :show="show" round="15" :safeAreaInsetBottom="false" mode="center">
        <u-popup :show="showDone" round="15" :safeAreaInsetBottom="false" mode="center">
            <view class="tc">
                <view class="tc-contemt">
                    <view class="tc-contemt-title">确认收货提醒</view>
@@ -231,8 +295,38 @@
                    </view>
                </view>
                <view class="tc-btn">
                    <view class="tc-btn-item" @click="show = false">取消</view>
                    <view class="tc-btn-item" style="color: #004096;">确认收货</view>
                    <view class="tc-btn-item" @click="showDone = false; ">取消</view>
                    <view class="tc-btn-item" style="color: #004096;" @click="doneOrderDo()">确认收货</view>
                </view>
            </view>
        </u-popup>
        <!-- å–消订单 -->
        <u-popup :show="showCancel" round="15" :safeAreaInsetBottom="false" mode="center">
            <view class="tc">
                <view class="tc-contemt">
                    <view class="tc-contemt-title">确定取消提醒</view>
                    <view class="tc-contemt-nr">
                        æ‚¨ç¡®è®¤å–消该订单吗?
                    </view>
                </view>
                <view class="tc-btn">
                    <view class="tc-btn-item" @click="showCancel = false; ">我再想想</view>
                    <view class="tc-btn-item" style="color: red;" @click="cancelOrderDo">确认取消</view>
                </view>
            </view>
        </u-popup>
        <!-- åˆ é™¤è®¢å• -->
        <u-popup :show="showDelete" round="15" :safeAreaInsetBottom="false" mode="center">
            <view class="tc">
                <view class="tc-contemt">
                    <view class="tc-contemt-title">确认删除提醒</view>
                    <view class="tc-contemt-nr">
                        æ‚¨ç¡®è®¤åˆ é™¤è¯¥è®¢å•吗?
                    </view>
                </view>
                <view class="tc-btn">
                    <view class="tc-btn-item" @click="showDelete = false; ">我再想想</view>
                    <view class="tc-btn-item" style="color: red;" @click="deleteOrderDo">确认删除</view>
                </view>
            </view>
        </u-popup>
@@ -249,6 +343,10 @@
        data() {
            return {
                show: false,
                showDone:false,
                showCancel:false,
                showDelete:false,
                showPay:false,
                qrCodeBase64:'',
                id:null,
                userType:0,
@@ -267,6 +365,10 @@
            }else{
                this.getUserDetail()
            }
            this.showDone=false
            this.showCancel=false
            this.showDelete=false
            this.showPay=false
        },
        onLoad(options) {
            this.id = options.id
@@ -274,61 +376,135 @@
            this.qrCodeUrl=''
        },
        methods:{
              copyText(text) {
                  try {
                       wx.setClipboardData({
                          data: text||' ',
                          success: function () {
                            uni.showToast({ title: '复制成功' });
                          },
                          fail: function () {
                            uni.showToast({ title: '复制失败', icon: 'none' });
                          }
                        });
                  } catch (err) {
                    console.error('复制失败', err);
                    uni.showToast({ title: '复制失败', icon: 'none' });
                  }
                },
            hexiaoOrder(item){
                uni.navigateTo({
                    url:'/pagesA/pages/write-off-a/write-off-a?id='+this.id
                })
            },
            cancelOrder(item){
                this.showCancel = !this.showCancel
            },
            deleteOrder(item){
                this.showDelete = !this.showDelete
            },
            payOrder(item){
            },
            doneOrder(item){
                this.showDone = !this.showDone
            },
            async  doneOrderDo(){
                if(this.userType == 1 ) {
                    return
                }
                var that =this
                let res = await this.$u.api.affirmOrder({ orderId: this.info.orderId  });
                if (res.code === 200 ) {
                    //修改订单状态
                    this.info.orderStatus = 3
                     uni.$emit('updateOrder',{info:this.info,delete:0})
                    await this.getUserDetail()
                    this.doneOrder()
                }else{
                    /* uni.showToast({
                        title:res.message||'确定收货失败!',
                        icon:'error'
                    }) */
                }
            },
            async cancelOrderDo(){
                if(this.userType == 1 ) {
                    return
                }
                var that =this
                let res = await that.$u.api.cancelOrder({ orderId: this.info.orderId  });
                if (res.code === 200 ) {
                    this.info.orderStatus = 4
                    uni.$emit('updateOrder',{info:this.info,delete:0})
                    await  this.getUserDetail()
                    this.cancelOrder()
                }else{
                /*     uni.showToast({
                        title:res.message||'取消订单失败!',
                        icon:'error'
                    }) */
                }
            },
            async deleteOrderDo(){
                if(this.userType == 1 ) {
                    return
                }
                var that =this
                let res = await that.$u.api.delOrder({ orderId: this.info.orderId  });
                if (res.code === 200 ) {
                    uni.$emit('updateOrder',{info:this.info,delete:1})
                    uni.navigateBack({delta:1})
                }else{
                    /* uni.showToast({
                        title:res.message||'删除订单失败!',
                        icon:'error'
                    }) */
                }
            },
            jumpMap(){
            },
            copyText(text) {
                try {
                   wx.setClipboardData({
                      data: text||' ',
                      success: function () {
                        uni.showToast({ title: '复制成功' });
                      },
                      fail: function () {
                        uni.showToast({ title: '复制失败', icon: 'none' });
                      }
                    });
                } catch (err) {
                    console.error('复制失败', err);
                    uni.showToast({ title: '复制失败', icon: 'none' });
                }
            },
            async getQrcodeByStr(){
                    try {
                  const ocanvas = uni.createOffscreenCanvas({ type: "2d" });
                        const qrCodeBase64 = await QRCode.toDataURL(ocanvas,this.info.exchangeCode, {
                                                    scale: 1, // äºŒç»´ç çš„缩放比例,可以根据需要调整
                                                    width: 300, // äºŒç»´ç çš„宽度,可以根据需要调整
                                                    margin: 1 // äºŒç»´ç å‘¨å›´çš„空白边距,可以根据需要调整
                                                });
                        this.qrCodeBase64 =qrCodeBase64
                        console.log("==================this.info.exchangeCode1:",qrCodeBase64)
                      } catch (err) {
                          uni.showToast({
                              title:'创建二维码失败',
                            icon:'error'
                          })
                      }
                try {
                    const ocanvas = uni.createOffscreenCanvas({ type: "2d" });
                    const qrCodeBase64 = await QRCode.toDataURL(ocanvas,this.info.exchangeCode, {
                        scale: 1, // äºŒç»´ç çš„缩放比例,可以根据需要调整
                        width: 300, // äºŒç»´ç çš„宽度,可以根据需要调整
                        margin: 1 // äºŒç»´ç å‘¨å›´çš„空白边距,可以根据需要调整
                    });
                    this.qrCodeBase64 =qrCodeBase64
                  } catch (err) {
                    uni.showToast({
                        title:'生成自提码失败',
                        icon:'error'
                    })
                }
            },
            contact(phone){
                if(phone !=null && phonee!=''){
                console.log(phone)
                if(phone !=null && phone!=''){
                    uni.makePhoneCall({
                       phoneNumber: phone 
                    })
                }
            },
            async  getShopDetail(index){
            async  getShopDetail(){
                var that =this 
                let res = await that.$u.api.shopOrderDetail({orderId:this.id,tokenType:1  })
                if (res.code === 200) { 
                    this.info = res.data 
                    this.info.shopInfo = this.info.shopInfo||{}
                    this.getQrcodeByStr()
                    uni.$emit('updateOrder',{info:this.info,delete:0})
                } 
            },
            async  getUserDetail(index){
            async  getUserDetail(){
                var that =this 
                let res = await that.$u.api.shopOrderDetail({orderId:this.id,tokenType:1  })
                let res = await this.$u.api.orderDetail({orderId:this.id  })
                if (res.code === 200) { 
                    this.info = res.data 
                    this.getQrcodeByStr()
                    uni.$emit('updateOrder',{info:this.info,delete:0})
                } 
            },
            checkShopLogin(){
@@ -342,6 +518,11 @@
            jumpBack(){
                uni.navigateBack({ delta: 1 });
            },
            jumpGoodsDetail(item){
                uni.navigateTo({
                    url: '/pages/details/details?id='+item.id
                })
            }
        }
    }
</script>
@@ -841,12 +1022,14 @@
                    align-items: flex-start;
                    .user-icon {
                        flex-shrink: 0;
                        width: 48rpx;
                        height: 48rpx;
                        width: 80rpx;
                        height: 80rpx;
                        border-radius: 50%;
                        margin-right: 22rpx;
                        image {
                            width: 100%;
                        }
                    }
                    .user-info {
                        flex: 1;
@@ -856,6 +1039,7 @@
                            width: 100%;
                            display: flex;
                            align-items: center;
                            justify-content: space-between;
                            text {
                                &:nth-child(1) {
                                    font-weight: 500;
@@ -869,6 +1053,22 @@
                                    margin-left: 14rpx;
                                }
                            }
                            .user-jxa-lx {
                                  right:0;
                                display: flex;
                                align-items: center;
                                image {
                                    width: 26rpx;
                                    height: 26rpx;
                                    margin-right: 10rpx;
                                }
                                text {
                                    font-weight: 400;
                                    font-size: 26rpx;
                                    color: #222222;
                                }
                            }
                        }
                        .user-info-b {
                            width: 100%;
@@ -876,6 +1076,11 @@
                            font-size: 26rpx;
                            color: #666666;
                            margin-top: 18rpx;
                            image {
                                width: 30rpx;
                                height: 30rpx;
                                margin-right: 10rpx;
                            }
                        }
                    }
                }
@@ -884,6 +1089,18 @@
                    height: 1rpx;
                    margin: 30rpx 0;
                    background-color: #E5E5E5;
                }
                .user-remark{
                    width: 100%;
                    padding: 20rpx 10rpx;
                    margin: 30rpx 30rpx;
                    background: #F8F9FB;
                    border-radius: 8rpx;
                    text {
                        font-weight: 400;
                        font-size: 26rpx;
                        color: #333333;
                    }
                }
                .user-kd {
                    width: 100%;
@@ -897,7 +1114,12 @@
                    text {
                        font-weight: 400;
                        font-size: 26rpx;
                        color: #333333;
                        color: #333333;
                    }
                    .image2 {
                        width: 24rpx;
                        height: 24rpx;
                        margin-left: 12rpx;
                    }
                }
            }
mini-program/pagesA/pages/order/order.vue
@@ -1,17 +1,17 @@
<template>
    <view class="box">
        <view class="cate">
            <view @click="changeRow(index)" :class="active === index ? 'cate-item active' : 'cate-item'" v-for="(item, index) in cate" :key="index">
            <view @click="changeRow(item)" :class="active === index ? 'cate-item active' : 'cate-item'" v-for="(item, index) in cate" :key="index">
                {{item.name}}
                <view class="cate-item-xiab" v-if="active === index"></view>
            </view>
        </view>
        <view class="list">
            <view class="list-item" v-for="(item, index) in dataList" :key="index" @click="jumpOrderDetail(item.id)">
                <view class="a">
            <view class="list-item" v-for="(item, index) in dataList" :key="index">
                <view class="a"  @click="jumpOrderDetail(item.id)">
                    <view class="a-left">
                        <view class="a-left-tips">{{item.receiveType==1?'自提':'快递配送'}}</view>
                        <text>订单号:{{item.id}}</text>
                        <view :class="'a-left-tips '+(item.receiveType==1?'shop-top-tips-a':'shop-top-tips-b')">{{item.receiveType==1?'自提':'配送'}}</view>
                        <text>订单号:{{item.code}}</text>
                    </view>
                    <text v-if="item.status ==0" class="a-right">待支付</text>
                    <text  v-if="item.status ==1" class="a-right">{{item.receiveType==1?'待自提':'待发货'}}</text>
@@ -20,20 +20,10 @@
                    <text  v-if="item.status ==4" class="a-right grey">已取消</text>
                    <text  v-if="item.status ==6" class="a-right grey">已退款</text>
                </view>
                <view class="b">
                    <view class="b-item" v-for="(item1, index1) in (item.goodsorderDetailList||[])">
                <view class="b"  @click="jumpOrderDetail(item.id)">
                    <view class="b-item" v-for="(item1, index1) in (item.goodsorderDetailList||[])"  >
                        <view class="b-item-image">
                            <image :src="item1.imgurl||'/static/logo.png'" mode="widthFix"></image>
                        </view>
                        <view class="b-item-title">{{item1.name||''}}</view>
                        <view class="b-item-jia">
                            <text>Â¥{{(item1.price||0).toFixed(2)}}</text>
                            <text>x{{item1.goodsNum||0}}</text>
                        </view>
                    </view>
                    <view class="b-item" v-for="(item1, index1) in (item.goodsorderDetailList||[])">
                        <view class="b-item-image">
                            <image :src="item1.imgurl||'/static/logo.png'" mode="widthFix"></image>
                            <image :src="item1.imgurl||'/static/static/default2.png'" mode="widthFix"></image>
                        </view>
                        <view class="b-item-title">{{item1.name||''}}</view>
                        <view class="b-item-jia">
@@ -50,12 +40,19 @@
                            <text></text>
                        </view>
                    </view>
                    <view class="c-btns">
                    <view class="c-btns" v-if="userType ==1">
                        <view class="c-btns-item blue" @click="contactPhone(item)">联系客户</view>
                        <view class="c-btns-item bg" v-if="item.status==1 && item.receiveType==1">自提核销</view>
                        <view class="c-btns-item bg" v-if="item.status==1 && item.receiveType==1" @click="hexiaoOrder(item)">自提核销</view>
                    </view>
                    <view class="c-btns" v-if="userType !=1">
                        <view class="c-btns-item grey" @click="cancelOrder(item)" v-if="item.status==0 || item.status==1">取消订单</view>
                        <view class="c-btns-item grey" @click="deleteOrder(item)" v-if="item.status==4">删除订单</view>
                        <view class="c-btns-item blue" @click="openQrcode(item)"  v-if="item.status==1 && item.receiveType==1">自提码</view>
                        <view class="c-btns-item blue" @click="payOrder(item)" v-if="item.status==0">去支付</view>
                        <view class="c-btns-item blue" @click="doneOrder(item)" v-if="item.status==2">确认收货</view>
                    </view>
                </view>
                <view class="d" v-if="item.memberInfo">
                <view class="d" v-if="item.memberInfo"  @click="jumpOrderDetail(item.id)">
                    è®¢å•备注:{{item.memberInfo||''}}
                </view>
            </view>
@@ -85,11 +82,68 @@
                <!-- <view class="phone-botton"  @click="contactPhone()" >关闭</view> -->
            </view>
        </u-popup>
        <!-- ç¡®è®¤æ”¶è´§ -->
        <u-popup :show="showDone" round="15" :safeAreaInsetBottom="false" mode="center">
            <view class="tc">
                <view class="tc-contemt">
                    <view class="tc-contemt-title">确认收货提醒</view>
                    <view class="tc-contemt-nr">
                        æ‚¨ç¡®è®¤å·²ç»æ”¶åˆ°å•†å“äº†å—?
                    </view>
                </view>
                <view class="tc-btn">
                    <view class="tc-btn-item" @click="showDone = false;currentOrder=null;">取消</view>
                    <view class="tc-btn-item" style="color: #004096;" @click="doneOrderDo()">确认收货</view>
                </view>
            </view>
        </u-popup>
        <!-- å–消订单 -->
        <u-popup :show="showCancel" round="15" :safeAreaInsetBottom="false" mode="center">
            <view class="tc">
                <view class="tc-contemt">
                    <view class="tc-contemt-title">确定取消提醒</view>
                    <view class="tc-contemt-nr">
                        æ‚¨ç¡®è®¤å–消该订单吗?
                    </view>
                </view>
                <view class="tc-btn">
                    <view class="tc-btn-item" @click="showCancel = false;currentOrder=null;">我再想想</view>
                    <view class="tc-btn-item" style="color: red;" @click="cancelOrderDo">确认取消</view>
                </view>
            </view>
        </u-popup>
        <!-- åˆ é™¤è®¢å• -->
        <u-popup :show="showDelete" round="15" :safeAreaInsetBottom="false" mode="center">
            <view class="tc">
                <view class="tc-contemt">
                    <view class="tc-contemt-title">确认删除提醒</view>
                    <view class="tc-contemt-nr">
                        æ‚¨ç¡®è®¤åˆ é™¤è¯¥è®¢å•吗?
                    </view>
                </view>
                <view class="tc-btn">
                    <view class="tc-btn-item" @click="showDelete = false;currentOrder=null;">我再想想</view>
                    <view class="tc-btn-item" style="color: red;" @click="deleteOrderDo">确认删除</view>
                </view>
            </view>
        </u-popup>
        <u-popup :show="showQrcode" round="15" @close="openQrcode()"   :safeAreaInsetBottom="false" mode="bottom"  :closeable="true" :closeOnClickOverlay="false">
            <view class="tc" style="width: 100%;">
                <view class="tc-contemt">
                    <view class="tc-contemt-title" style="text-align: center;">自提码</view>
                    <view class="tc-contemt-nr" style="border: 1rpx solid #f2f2f2;width: 150px;height: 150px;">
                        <image style="border: 1rpx solid #f2f2f2;width: 150px;height: 150px;" v-if="currentOrder && currentOrder.qrCodeBase64" :src="currentOrder.qrCodeBase64"  model="widthFix" ></image>
                    </view>
                     <view class="tc-contemt-title" style="text-align: center;">{{currentOrder.exchangeCode|| ''}}</view>
                </view>
            </view>
        </u-popup>
    </view>
</template>
<script>
    import { mapState } from 'vuex'
    import QRCode from 'qrcode';
    export default {
        computed: {
            ...mapState(['navHeight', 'statusbarHeight','shopInfo', 'shopToken'])
@@ -97,37 +151,210 @@
        data() {
            return {
                i: '',
                active:0,
                currentOrder:null,
                showDone:false,
                showCancel:false,
                showDelete:false,
                showQrcode:false,
                showPay:false,
                showPhone:false,
                loading:false,
                active:0,
                currentPage:1,
                total:0,
                hasNext:true,
                userType:null,
                dataList:[],
                shop:{}, 
                linkItem:{},
                cate: [
                    { name: '全部', id: '' },
                    { name: '待支付', id: 0 },
                    { name: '待发货/自提', id: 1 }
                cate:[],
                cate1: [
                    { name: '全部', id: '' ,index:0},
                    { name: '待支付', id: 0 ,index:1},
                    { name: '待发货/自提', id: 1,index:2 }
                ],
                cate0: [
                    { name: '全部', id: '' ,index:0},
                    { name: '待支付', id: 0 ,index:1},
                    { name: '待发货/自提', id: 1,index:2 },
                    { name: '待收货', id: 2 ,index:3},
                ]
            };
        },
        onLoad(options) {
            if (options.status) {
                this.i = Number(options.status)
            console.log(options )
            this.active = 0
            this.cate =[]
            this.userType = Number(options.userType)
            if(this.userType == 1){
                this.shop  ={}
                this.checkShopLogin()
                this.shop = this.shopInfo || {}
                this.cate =this.cate1;
            }else{
                 this.cate =this.cate0;
            }
            if (options.status) {
                this.active =  Number(options.status)
                this.i = this.cate[this.active].id
            }
            this.getFirstPageData()
            var that =this
            uni.$on('updateOrder',function(data){
                console.log('监听到事件来自 update ï¼Œæºå¸¦å‚æ•° msg ä¸ºï¼š' ,data);
                if(data.delete == 1){
                    //删除订单,强制刷新数据
                    that.getFirstPageData()
                }else if(data.info!=null && data.info.orderId!=null){
                      console.log('监听到事件来自 update 01:' ,data);
                    that.dataList.forEach((item,index)=>{
                        if(item.id==data.info.orderId){
                             console.log('监听到事件来自 update 02:' ,data);
                            item.status = data.info.orderStatus
                        }
                    })
                }
             })
        },
        onShow() {
            this.shop  ={}
            this.checkShopLogin()
            this.shop = this.shopInfo || {}
            this.getFirstPageData()
            this.showDone=false
            this.showCancel=false
            this.showDelete=false
            this.showQrcode=false
            this.showPay=false
            this.showPhone=false
            this.loading=false,
            this.currentOrder=null
        },
        onReachBottom(){
            this.getDataList();
        },
        methods: {
            async openQrcode(item){
                this.currentOrder = null
                var that =this
                if(!this.showQrcode){
                    this.currentOrder = item
                    if(this.currentOrder.qrCodeBase64 == undefined && this.currentOrder.qrCodeBase64==null){
                        try {
                            const ocanvas = uni.createOffscreenCanvas({ type: "2d" });
                            const qrCodeBase64 = await QRCode.toDataURL(ocanvas,this.currentOrder.exchangeCode, {
                                scale: 1, // äºŒç»´ç çš„缩放比例,可以根据需要调整
                                width: 150, // äºŒç»´ç çš„宽度,可以根据需要调整
                                margin: 1 // äºŒç»´ç å‘¨å›´çš„空白边距,可以根据需要调整
                            });
                            this.currentOrder.qrCodeBase64 =qrCodeBase64
                            that.showQrcode = true
                        } catch (err) {
                            uni.showToast({
                                title:'生成自提码失败',
                                icon:'error'
                            })
                        }
                    }else{
                        that.showQrcode = true
                    }
                }else{
                    this.showQrcode = false
                }
            },
            hexiaoOrder(item){
                uni.navigateTo({
                    url:'/pagesA/pages/write-off-a/write-off-a?id='+item.id
                })
            },
            cancelOrder(item){
                this.currentOrder = null
                this.showCancel = !this.showCancel
                if(this.showCancel){
                    this.currentOrder = item
                }
            },
            deleteOrder(item){
                this.currentOrder = null
                this.showDelete = !this.showDelete
                if(this.showDelete){
                    this.currentOrder = item
                }
            },
            payOrder(item){
            },
            doneOrder(item){
                this.currentOrder = null
                this.showDone = !this.showDone
                if(this.showDone){
                    this.currentOrder = item
                }
            },
            async  doneOrderDo(){
                if(this.userType == 1 || this.currentOrder==null || this.currentOrder.id == null) {
                    return
                }
                var that =this
                let res = await this.$u.api.affirmOrder({ orderId: this.currentOrder.id  });
                if (res.code === 200 ) {
                    //修改订单状态
                    this.dataList.forEach(item=>{
                        if(item.id==this.currentOrder.id){
                            item.status =3
                        }
                    })
                    this.doneOrder()
                }else{
                    /* uni.showToast({
                        title:res.message||'确定收货失败!',
                        icon:'error'
                    }) */
                }
            },
            async cancelOrderDo(){
                if(this.userType == 1 || this.currentOrder==null || this.currentOrder.id == null) {
                    return
                }
                    var that =this
                let res = await that.$u.api.cancelOrder({ orderId: this.currentOrder.id  });
                if (res.code === 200 ) {
                    //修改订单状态
                    this.dataList.forEach(item=>{
                        if(item.id==this.currentOrder.id){
                            item.status = 4
                        }
                    })
                    this.cancelOrder()
                }else{
                    /* uni.showToast({
                        title:res.message||'取消订单失败!',
                        icon:'error'
                    }) */
                }
            },
            async deleteOrderDo(){
                if(this.userType == 1 || this.currentOrder==null || this.currentOrder.id == null) {
                    return
                }
                var that =this
                let res = await that.$u.api.delOrder({ orderId: this.currentOrder.id  });
                if (res.code === 200 ) {
                    //修改订单状态
                    /* var tindex = -1;
                    this.dataList.forEach((item,index)=>{
                        if(item.id==this.currentOrder.id){
                            tindex = index
                        }
                    })
                    if(tindex>=0){
                        this.dataList.splice(tindex,1)
                    } */
                    this.getFirstPageData()
                }else{
                    /* uni.showToast({
                        title:res.message||'删除订单失败!',
                        icon:'error'
                    }) */
                }
            },
            contactPhone(item){
                 this.showPhone = !this.showPhone
                 this.linkItem = item ||{}
@@ -140,9 +367,9 @@
                    })
                }
            },
            changeRow(index) {
                this.active=index
                this.i = this.cate[index].id
            changeRow( item) {
                 this.active=item.index
                 this.i = item.id
                this.getFirstPageData()
            },
            getFirstPageData(){
@@ -163,15 +390,27 @@
                        this.dataList=[]
                    }
                    var that =this 
                    let res = await that.$u.api.shopOrderPage({
                            capacity:10,
                            model: {
                                receiveType: 1,
                                status: this.i
                            },
                            page:this.currentPage
                        });
                        console.log(res)
                    let res ={};
                    if(this.userType == 1){
                        res = await that.$u.api.shopOrderPage({
                                capacity:10,
                                model: {
                                    receiveType: 1,
                                    status: this.i
                                },
                                page:this.currentPage
                            });
                    }else{
                        res = await that.$u.api.orderPage({
                                capacity:10,
                                model: {
                                    receiveType: 1,
                                    status: this.i
                                },
                                page:this.currentPage
                            });
                    }
                    console.log(res)
                    if (res.code === 200 ) { 
                        if ( res.data && res.data.page ===this.currentPage) { 
                            res.data.records = res.data.records||[]
@@ -188,9 +427,9 @@
            },
            jumpOrderDetail(id){
                uni.navigateTo({
                    url: '/pagesA/pages/order-details/order-details?userType=1&id='+id
                    url: '/pagesA/pages/order-details/order-details?userType='+this.userType+'&id='+id
                })
            },
            },
            checkShopLogin(){
                var that =this
                if( this.shopInfo ==null || this.shopInfo.id==null ||  this.shopToken==null || this.shopToken==''){
@@ -236,14 +475,20 @@
                        .a-left-tips {
                            padding: 0 6rpx;
                            height: 40rpx;
                            line-height: 40rpx;
                            // background: #00B775;
                            background: #00B775;
                            line-height: 40rpx;
                            border-radius: 8rpx;
                            font-weight: 400;
                            font-size: 22rpx;
                            color: #FFFFFF;
                            margin-right: 16rpx;
                        }
                        .shop-top-tips-a {
                            background: #00B775;
                            border: 1rpx solid #00B775;
                        }
                        .shop-top-tips-b {
                            background: #004096;
                            border: 1rpx solid #004096;
                        }
                        text {
                            font-weight: 400;
@@ -259,6 +504,19 @@
                    .grey{
                        color: #999999 !important;
                    }
                }
                .d{
                    width: 100%;
                    padding:20rpx 20rpx;
                    margin-top: 22rpx;
                    background: #F8F9FB;
                    border-radius: 8rpx;
                    font-weight: 400;
                    font-size: 26rpx;
                    color: #666666;
                    line-height: 36rpx;
                    text-align: left;
                    font-style: normal;
                }
                .b {
                    width: 100%;
@@ -363,6 +621,10 @@
                            border: 1rpx solid #004096;
                            color: #004096 !important;
                        }
                        .grey {
                            border: 1rpx solid #666666;
                            color: #666666 !important;
                        }
                        .bg{
                            background: #004096;
                            border-radius: 34rpx;
@@ -383,10 +645,10 @@
                            align-items: center;
                            justify-content: center;
                            border-radius: 34rpx;
                            border: 1rpx solid #B2B2B2;
                            // border: 1rpx solid #B2B2B2;
                            font-weight: 400;
                            font-size: 28rpx;
                            color: #666666;
                            // color: #666666;
                            margin-right: 20rpx;
                            &:last-child {
                                margin: 0 !important;
mini-program/pagesA/pages/write-off-a/write-off-a.vue
@@ -1,44 +1,144 @@
<template>
    <view class="box">
        <view class="title">核销订单</view>
        <view class="title">核销订单
        <text v-if="info.orderStatus ==0" class="status status-b">待支付</text>
        <text  v-if="info.orderStatus ==1"class="status  status-a" >{{info.receiveType==1?'待自提':'待发货'}}</text>
        <text  v-if="info.orderStatus ==2" class="status  status-b">待收货</text>
        <text  v-if="info.orderStatus ==3" class="status  status-b" >交易完成</text>
        <text  v-if="info.orderStatus ==4" class="status  status-b">已取消</text>
        <text  v-if="info.orderStatus ==6"class="status  status-b" >已退款</text>
        </view>
        <view class="item">
            <view class="item-user">
                <view class="item-user-image">
                    <image src="/static/logo.png" mode="widthFix"></image>
                    <image :src="info.member && info.member.imgFullUrl? info.member.imgFullUrl:'/static/icon/default.png'" mode="widthFix"></image>
                </view>
                <view class="item-user-info">
                    <text>张海涛</text>
                    <text>18155665556</text>
                    <text>{{info.linkName || ''}}</text>
                    <text>{{info.linkPhone || ''}}</text>
                </view>
            </view>
            <view class="item-info">订单备注:11月22日来拿</view>
            <view class="item-info">订单备注:{{info.memberInfo || ''}}</view>
        </view>
        <view class="item">
            <view class="item-title">商品列表</view>
            <view class="row">
                <view class="row-image">
                    <image src="/static/logo.png" mode="widthFix"></image>
            <template v-if="info.goodsorderDetailList && info.goodsorderDetailList.length">
                <view class="row" v-for="(item, index) in info.goodsorderDetailList" :key="index"  >
                    <view class="row-image">
                        <image :src="item.imgurl?item.imgurl:'/static/icon/default2.png'"  mode="widthFix"></image>
                    </view>
                    <view class="row-info">
                        {{info.name || ''}}
                    </view>
                    <view class="row-price">
                        <textÂ¥{{(info.price || 0).toFixed(2)}}</text>
                        <text>x{{info.goodsNum || 1}}</text>
                    </view>
                </view>
                <view class="row-info">
                    ä¸­è”艾禾宽齿 é€‚用雷沃/中联/久保田
                </view>
                <view class="row-price">
                    <text>Â¥499.00</text>
                    <text>x1</text>
                </view>
            </view>
            </template>
        </view>
        <view style="width: 100%; height: calc(env(safe-area-inset-bottom) + 108rpx);"></view>
        <view class="button">确认核销</view>
        <view class="button" @click="confirm" v-if="info.orderStatus==1 && info.receiveType ==1">确认核销</view>
        <u-popup :show="show" round="15" :safeAreaInsetBottom="false" mode="center">
            <view class="tc">
                <view class="tc-contemt">
                    <view class="tc-contemt-title">操作提醒</view>
                    <view class="tc-contemt-nr">
                        æ‚¨ç¡®è®¤æ ¸é”€è¯¥è®¢å•吗?
                    </view>
                </view>
                <view class="tc-btn">
                    <view class="tc-btn-item" @click="show = false; ">我再想想</view>
                    <view class="tc-btn-item" style="color: #004096;" @click="confirmDo">确认核销</view>
                </view>
            </view>
        </u-popup>
        <u-popup :show="show1" round="15" :safeAreaInsetBottom="false" mode="center">
            <view class="tc">
                <view class="tc-contemt">
                    <view class="tc-contemt-title">操作结果</view>
                    <view class="tc-contemt-nr">
                        æ ¸é”€æˆåŠŸï¼Œæ˜¯å¦ç»§ç»­æ ¸é”€å…¶ä»–è®¢å•ï¼Ÿ
                    </view>
                </view>
                <view class="tc-btn">
                    <view class="tc-btn-item" @click="jumpBack ">返回</view>
                    <view class="tc-btn-item" style="color: #004096;" @click="jumpWriteoff()">继续核销</view>
                </view>
            </view>
        </u-popup>
    </view>
</template>
<script>
    import QRCode from 'qrcode';
    import { mapState } from 'vuex'
    export default {
        computed: {
            ...mapState(['navHeight', 'statusbarHeight','shopInfo', 'shopToken'])
        },
        data() {
            return {
                show:false,
                show1:false,
                shop:{},
                id:null,
                info:{}
            };
        },
        onShow() {
            this.show1 =false
            this.show =false
            this.info={}
            this.shop  ={}
            this.checkShopLogin()
            this.shop = this.shopInfo || {}
            this.getShopDetail()
        },
        onLoad(options) {
            this.id = options.id
        },
        methods:{
            async confirmDo(){
                this.show = !this.show
                var that =this
                var that =this
                let res = await that.$u.api.writeOffOrder({ orderId: this.info.orderId  });
                if (res.code === 200 ) {
                    this.info.orderStatus = 3
                    this.show = false
                    this.show1 = true
                    uni.$emit('updateOrder',{info:this.info,delete:0})
                }else{
                }
            },
            jumpWriteoff(){
                uni.navigateTo({
                    url: '/pagesA/pages/write-off/write-off'
                })
            },
            jumpBack(){
                uni.navigateBack({delta:1})
            },
            confirm(){
                this.show = !this.show
            },
            async  getShopDetail(){
                var that =this
                let res = await that.$u.api.shopOrderDetail({orderId:this.id,tokenType:1  })
                if (res.code === 200) {
                    this.info = res.data
                }
            },
            checkShopLogin(){
                var that =this
                if( this.shopInfo ==null || this.shopInfo.id==null ||  this.shopToken==null || this.shopToken==''){
                    uni.navigateTo({
                        url: '/pages/login/login'
                    })
                }
            },
        }
    }
</script>
@@ -71,6 +171,24 @@
            font-weight: 600;
            font-size: 32rpx;
            color: #111111;
            .status{
                padding: 0 6rpx;
                height: 40rpx;
                line-height: 40rpx;
                border-radius: 8rpx;
                font-weight: 400;
                font-size: 22rpx;
                color: #FFFFFF;
                margin-right: 16rpx;
            }
            .status-a {
                background: #00B775;
                border: 1rpx solid #00B775;
            }
            .status-b {
                background: #666666;
                border: 1rpx solid #004096;
            }
        }
        .item {
            width: 100%;
mini-program/pagesA/pages/write-off/write-off.vue
@@ -2,22 +2,122 @@
    <view class="box">
        <view class="title">输入自提码</view>
        <view class="input">
            <input type="number" placeholder="请输入6位自提码" />
            <input type="number" v-model="code" placeholder="请输入6位自提码" />
        </view>
        <view class="btn">确认</view>
        <view class="footer">
            <image src="/pagesA/images/ic_saoma@2x.png" mode="widthFix"></image>
        <view class="btn" v-if="!loading" @click="confirmDo">确认</view>
        <view class="btn1" v-if="loading" >正在查询</view>
        <view class="footer" @click="scanCodeDo">
            <image src="/pagesA/static/ic_saoma@2x.png" mode="widthFix"></image>
            <text>扫码核销</text>
        </view>
        <u-popup :show="show1" round="15" :safeAreaInsetBottom="false" mode="center">
            <view class="tc">
                <view class="tc-contemt">
                    <view class="tc-contemt-title">订单查询结果</view>
                    <view class="tc-contemt-nr">
                        è®¢å•【{{info.code}}】不满足核销条件!
                    </view>
                </view>
                <view class="tc-btn">
                    <view class="tc-btn-item" @click="show1=false ">确认</view>
                </view>
            </view>
        </u-popup>
    </view>
</template>
<script>
    import QRCode from 'qrcode';
    import { mapState } from 'vuex'
    export default {
        computed: {
            ...mapState(['navHeight', 'statusbarHeight','shopInfo', 'shopToken'])
        },
        data() {
            return {
                code:null,
                show1:false,
                loading:false,
                id:null,
                info:{}
            };
        },
        onShow() {
            this.loading =false
            this.show1 =false
            this.info={}
            this.code =''
            this.checkShopLogin()
        },
        onLoad(options) {
        },
        methods:{
            scanCodeDo(){
                this.code = ''
                var that =this
                uni.scanCode({
                    success: function (res) {
                        console.log('条码类型:' + res.scanType);
                        console.log('条码内容:' + res.result);
                        // å¤„理扫描结果
                        that.code = res.result
                        that.confirmDo()
                    },
                    fail: function (err) {
                        uni.showToast({
                            title:'扫码失败',
                            icon:'error'
                        })
                    }
                });
            },
            async confirmDo(){
                if(this.code ){
                    this.getShopDetail()
                }
            },
            jumpWriteoffA(){
                if(this.info && this.info.orderId){
                    uni.navigateTo({
                        url: '/pagesA/pages/write-off-a/write-off-a?id='+this.info.orderId
                    })
                }
            },
            jumpBack(){
                uni.navigateBack({delta:1})
            },
             getShopDetail(){
                if(this.loading){
                    return
                }
                this.loading =true
                var that =this
                that.$u.api.getOrderDetailByCode({exchangeCode:this.code,tokenType:1  })
                .then(res=>{
                    console.log(res)
                    if (res.code === 200) {
                        that.info = res.data
                        if(res.data.orderStatus == 1 && res.data.receiveType ==1){
                            that.jumpWriteoffA()
                        }else{
                            this.show1 = !this.show1
                            this.loading =false
                        }
                    }
                }).catch(e=>{
                    this.loading =false
                }).finally(e=>{
                    // this.loading =false
                })
            },
            checkShopLogin(){
                var that =this
                if( this.shopInfo ==null || this.shopInfo.id==null ||  this.shopToken==null || this.shopToken==''){
                    uni.navigateTo({
                        url: '/pages/login/login'
                    })
                }
            },
        }
    }
</script>
@@ -55,6 +155,18 @@
                text-align: center;
            }
        }
        .btn1{
            width: 630rpx;
            height: 88rpx;
            line-height: 88rpx;
            text-align: center;
            background: #666666;
            border-radius: 44rpx;
            font-weight: 600;
            font-size: 32rpx;
            color: #FFFFFF;
            margin-top: 40rpx;
        }
        .btn {
            width: 630rpx;
            height: 88rpx;
mini-program/static/icon/default2.png

mini-program/unpackage/dist/dev/mp-weixin/common/main.js
@@ -1,9 +1,9 @@
(global["webpackJsonp"] = global["webpackJsonp"] || []).push([["common/main"],{
/***/ 0:
/*!*************************************************!*\
  !*** D:/豆米/dingyuannongji/mini-program/main.js ***!
  \*************************************************/
/*!****************************************************************!*\
  !*** D:/code/idea2023/git/dingyuannongji/mini-program/main.js ***!
  \****************************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {
@@ -50,9 +50,9 @@
/***/ }),
/***/ 27:
/*!*************************************************!*\
  !*** D:/豆米/dingyuannongji/mini-program/App.vue ***!
  \*************************************************/
/*!****************************************************************!*\
  !*** D:/code/idea2023/git/dingyuannongji/mini-program/App.vue ***!
  \****************************************************************/
/*! no static exports found */
/***/ (function(module, __webpack_exports__, __webpack_require__) {
@@ -61,7 +61,7 @@
/* harmony import */ var _App_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./App.vue?vue&type=script&lang=js& */ 28);
/* harmony reexport (unknown) */ for(var __WEBPACK_IMPORT_KEY__ in _App_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__) if(["default"].indexOf(__WEBPACK_IMPORT_KEY__) < 0) (function(key) { __webpack_require__.d(__webpack_exports__, key, function() { return _App_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__[key]; }) }(__WEBPACK_IMPORT_KEY__));
/* harmony import */ var _App_vue_vue_type_style_index_0_lang_scss___WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./App.vue?vue&type=style&index=0&lang=scss& */ 35);
/* harmony import */ var _HBuilderX_3_8_12_20230817_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_runtime_componentNormalizer_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../../办公/HBuilderX.3.8.12.20230817/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib/runtime/componentNormalizer.js */ 37);
/* harmony import */ var _soft_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_runtime_componentNormalizer_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../../../../soft/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib/runtime/componentNormalizer.js */ 37);
var render, staticRenderFns, recyclableRender, components
var renderjs
@@ -71,7 +71,7 @@
/* normalize component */
var component = Object(_HBuilderX_3_8_12_20230817_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_runtime_componentNormalizer_js__WEBPACK_IMPORTED_MODULE_2__["default"])(
var component = Object(_soft_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_runtime_componentNormalizer_js__WEBPACK_IMPORTED_MODULE_2__["default"])(
  _App_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__["default"],
  render,
  staticRenderFns,
@@ -90,25 +90,25 @@
/***/ }),
/***/ 28:
/*!**************************************************************************!*\
  !*** D:/豆米/dingyuannongji/mini-program/App.vue?vue&type=script&lang=js& ***!
  \**************************************************************************/
/*!*****************************************************************************************!*\
  !*** D:/code/idea2023/git/dingyuannongji/mini-program/App.vue?vue&type=script&lang=js& ***!
  \*****************************************************************************************/
/*! no static exports found */
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
__webpack_require__.r(__webpack_exports__);
/* harmony import */ var _HBuilderX_3_8_12_20230817_HBuilderX_plugins_uniapp_cli_node_modules_babel_loader_lib_index_js_HBuilderX_3_8_12_20230817_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_13_1_HBuilderX_3_8_12_20230817_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_script_js_HBuilderX_3_8_12_20230817_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_HBuilderX_3_8_12_20230817_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_style_js_App_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../../../办公/HBuilderX.3.8.12.20230817/HBuilderX/plugins/uniapp-cli/node_modules/babel-loader/lib!../../../办公/HBuilderX.3.8.12.20230817/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-preprocess-loader??ref--13-1!../../../办公/HBuilderX.3.8.12.20230817/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/webpack-uni-mp-loader/lib/script.js!../../../办公/HBuilderX.3.8.12.20230817/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib??vue-loader-options!../../../办公/HBuilderX.3.8.12.20230817/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/webpack-uni-mp-loader/lib/style.js!./App.vue?vue&type=script&lang=js& */ 29);
/* harmony import */ var _HBuilderX_3_8_12_20230817_HBuilderX_plugins_uniapp_cli_node_modules_babel_loader_lib_index_js_HBuilderX_3_8_12_20230817_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_13_1_HBuilderX_3_8_12_20230817_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_script_js_HBuilderX_3_8_12_20230817_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_HBuilderX_3_8_12_20230817_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_style_js_App_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_HBuilderX_3_8_12_20230817_HBuilderX_plugins_uniapp_cli_node_modules_babel_loader_lib_index_js_HBuilderX_3_8_12_20230817_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_13_1_HBuilderX_3_8_12_20230817_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_script_js_HBuilderX_3_8_12_20230817_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_HBuilderX_3_8_12_20230817_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_style_js_App_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__);
/* harmony reexport (unknown) */ for(var __WEBPACK_IMPORT_KEY__ in _HBuilderX_3_8_12_20230817_HBuilderX_plugins_uniapp_cli_node_modules_babel_loader_lib_index_js_HBuilderX_3_8_12_20230817_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_13_1_HBuilderX_3_8_12_20230817_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_script_js_HBuilderX_3_8_12_20230817_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_HBuilderX_3_8_12_20230817_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_style_js_App_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__) if(["default"].indexOf(__WEBPACK_IMPORT_KEY__) < 0) (function(key) { __webpack_require__.d(__webpack_exports__, key, function() { return _HBuilderX_3_8_12_20230817_HBuilderX_plugins_uniapp_cli_node_modules_babel_loader_lib_index_js_HBuilderX_3_8_12_20230817_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_13_1_HBuilderX_3_8_12_20230817_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_script_js_HBuilderX_3_8_12_20230817_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_HBuilderX_3_8_12_20230817_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_style_js_App_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__[key]; }) }(__WEBPACK_IMPORT_KEY__));
 /* harmony default export */ __webpack_exports__["default"] = (_HBuilderX_3_8_12_20230817_HBuilderX_plugins_uniapp_cli_node_modules_babel_loader_lib_index_js_HBuilderX_3_8_12_20230817_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_13_1_HBuilderX_3_8_12_20230817_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_script_js_HBuilderX_3_8_12_20230817_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_HBuilderX_3_8_12_20230817_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_style_js_App_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0___default.a);
/* harmony import */ var _soft_HBuilderX_plugins_uniapp_cli_node_modules_babel_loader_lib_index_js_soft_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_13_1_soft_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_script_js_soft_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_soft_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_style_js_App_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../../../../../soft/HBuilderX/plugins/uniapp-cli/node_modules/babel-loader/lib!../../../../../soft/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-preprocess-loader??ref--13-1!../../../../../soft/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/webpack-uni-mp-loader/lib/script.js!../../../../../soft/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib??vue-loader-options!../../../../../soft/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/webpack-uni-mp-loader/lib/style.js!./App.vue?vue&type=script&lang=js& */ 29);
/* harmony import */ var _soft_HBuilderX_plugins_uniapp_cli_node_modules_babel_loader_lib_index_js_soft_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_13_1_soft_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_script_js_soft_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_soft_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_style_js_App_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_soft_HBuilderX_plugins_uniapp_cli_node_modules_babel_loader_lib_index_js_soft_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_13_1_soft_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_script_js_soft_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_soft_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_style_js_App_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__);
/* harmony reexport (unknown) */ for(var __WEBPACK_IMPORT_KEY__ in _soft_HBuilderX_plugins_uniapp_cli_node_modules_babel_loader_lib_index_js_soft_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_13_1_soft_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_script_js_soft_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_soft_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_style_js_App_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__) if(["default"].indexOf(__WEBPACK_IMPORT_KEY__) < 0) (function(key) { __webpack_require__.d(__webpack_exports__, key, function() { return _soft_HBuilderX_plugins_uniapp_cli_node_modules_babel_loader_lib_index_js_soft_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_13_1_soft_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_script_js_soft_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_soft_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_style_js_App_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__[key]; }) }(__WEBPACK_IMPORT_KEY__));
 /* harmony default export */ __webpack_exports__["default"] = (_soft_HBuilderX_plugins_uniapp_cli_node_modules_babel_loader_lib_index_js_soft_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_13_1_soft_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_script_js_soft_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_soft_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_style_js_App_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0___default.a);
/***/ }),
/***/ 29:
/*!*********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** ./node_modules/babel-loader/lib!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-preprocess-loader??ref--13-1!./node_modules/@dcloudio/webpack-uni-mp-loader/lib/script.js!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib??vue-loader-options!./node_modules/@dcloudio/webpack-uni-mp-loader/lib/style.js!D:/豆米/dingyuannongji/mini-program/App.vue?vue&type=script&lang=js& ***!
  \*********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
/*!************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** ./node_modules/babel-loader/lib!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-preprocess-loader??ref--13-1!./node_modules/@dcloudio/webpack-uni-mp-loader/lib/script.js!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib??vue-loader-options!./node_modules/@dcloudio/webpack-uni-mp-loader/lib/style.js!D:/code/idea2023/git/dingyuannongji/mini-program/App.vue?vue&type=script&lang=js& ***!
  \************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {
@@ -319,25 +319,25 @@
/***/ }),
/***/ 35:
/*!***********************************************************************************!*\
  !*** D:/豆米/dingyuannongji/mini-program/App.vue?vue&type=style&index=0&lang=scss& ***!
  \***********************************************************************************/
/*!**************************************************************************************************!*\
  !*** D:/code/idea2023/git/dingyuannongji/mini-program/App.vue?vue&type=style&index=0&lang=scss& ***!
  \**************************************************************************************************/
/*! no static exports found */
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
__webpack_require__.r(__webpack_exports__);
/* harmony import */ var _HBuilderX_3_8_12_20230817_HBuilderX_plugins_uniapp_cli_node_modules_mini_css_extract_plugin_dist_loader_js_ref_8_oneOf_1_0_HBuilderX_3_8_12_20230817_HBuilderX_plugins_uniapp_cli_node_modules_css_loader_dist_cjs_js_ref_8_oneOf_1_1_HBuilderX_3_8_12_20230817_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_loaders_stylePostLoader_js_HBuilderX_3_8_12_20230817_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_8_oneOf_1_2_HBuilderX_3_8_12_20230817_HBuilderX_plugins_uniapp_cli_node_modules_postcss_loader_src_index_js_ref_8_oneOf_1_3_HBuilderX_3_8_12_20230817_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_sass_loader_dist_cjs_js_ref_8_oneOf_1_4_HBuilderX_3_8_12_20230817_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_8_oneOf_1_5_HBuilderX_3_8_12_20230817_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_HBuilderX_3_8_12_20230817_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_style_js_App_vue_vue_type_style_index_0_lang_scss___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../../../办公/HBuilderX.3.8.12.20230817/HBuilderX/plugins/uniapp-cli/node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../办公/HBuilderX.3.8.12.20230817/HBuilderX/plugins/uniapp-cli/node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../../办公/HBuilderX.3.8.12.20230817/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib/loaders/stylePostLoader.js!../../../办公/HBuilderX.3.8.12.20230817/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-preprocess-loader??ref--8-oneOf-1-2!../../../办公/HBuilderX.3.8.12.20230817/HBuilderX/plugins/uniapp-cli/node_modules/postcss-loader/src??ref--8-oneOf-1-3!../../../办公/HBuilderX.3.8.12.20230817/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/sass-loader/dist/cjs.js??ref--8-oneOf-1-4!../../../办公/HBuilderX.3.8.12.20230817/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-preprocess-loader??ref--8-oneOf-1-5!../../../办公/HBuilderX.3.8.12.20230817/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib??vue-loader-options!../../../办公/HBuilderX.3.8.12.20230817/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/webpack-uni-mp-loader/lib/style.js!./App.vue?vue&type=style&index=0&lang=scss& */ 36);
/* harmony import */ var _HBuilderX_3_8_12_20230817_HBuilderX_plugins_uniapp_cli_node_modules_mini_css_extract_plugin_dist_loader_js_ref_8_oneOf_1_0_HBuilderX_3_8_12_20230817_HBuilderX_plugins_uniapp_cli_node_modules_css_loader_dist_cjs_js_ref_8_oneOf_1_1_HBuilderX_3_8_12_20230817_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_loaders_stylePostLoader_js_HBuilderX_3_8_12_20230817_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_8_oneOf_1_2_HBuilderX_3_8_12_20230817_HBuilderX_plugins_uniapp_cli_node_modules_postcss_loader_src_index_js_ref_8_oneOf_1_3_HBuilderX_3_8_12_20230817_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_sass_loader_dist_cjs_js_ref_8_oneOf_1_4_HBuilderX_3_8_12_20230817_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_8_oneOf_1_5_HBuilderX_3_8_12_20230817_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_HBuilderX_3_8_12_20230817_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_style_js_App_vue_vue_type_style_index_0_lang_scss___WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_HBuilderX_3_8_12_20230817_HBuilderX_plugins_uniapp_cli_node_modules_mini_css_extract_plugin_dist_loader_js_ref_8_oneOf_1_0_HBuilderX_3_8_12_20230817_HBuilderX_plugins_uniapp_cli_node_modules_css_loader_dist_cjs_js_ref_8_oneOf_1_1_HBuilderX_3_8_12_20230817_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_loaders_stylePostLoader_js_HBuilderX_3_8_12_20230817_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_8_oneOf_1_2_HBuilderX_3_8_12_20230817_HBuilderX_plugins_uniapp_cli_node_modules_postcss_loader_src_index_js_ref_8_oneOf_1_3_HBuilderX_3_8_12_20230817_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_sass_loader_dist_cjs_js_ref_8_oneOf_1_4_HBuilderX_3_8_12_20230817_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_8_oneOf_1_5_HBuilderX_3_8_12_20230817_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_HBuilderX_3_8_12_20230817_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_style_js_App_vue_vue_type_style_index_0_lang_scss___WEBPACK_IMPORTED_MODULE_0__);
/* harmony reexport (unknown) */ for(var __WEBPACK_IMPORT_KEY__ in _HBuilderX_3_8_12_20230817_HBuilderX_plugins_uniapp_cli_node_modules_mini_css_extract_plugin_dist_loader_js_ref_8_oneOf_1_0_HBuilderX_3_8_12_20230817_HBuilderX_plugins_uniapp_cli_node_modules_css_loader_dist_cjs_js_ref_8_oneOf_1_1_HBuilderX_3_8_12_20230817_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_loaders_stylePostLoader_js_HBuilderX_3_8_12_20230817_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_8_oneOf_1_2_HBuilderX_3_8_12_20230817_HBuilderX_plugins_uniapp_cli_node_modules_postcss_loader_src_index_js_ref_8_oneOf_1_3_HBuilderX_3_8_12_20230817_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_sass_loader_dist_cjs_js_ref_8_oneOf_1_4_HBuilderX_3_8_12_20230817_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_8_oneOf_1_5_HBuilderX_3_8_12_20230817_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_HBuilderX_3_8_12_20230817_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_style_js_App_vue_vue_type_style_index_0_lang_scss___WEBPACK_IMPORTED_MODULE_0__) if(["default"].indexOf(__WEBPACK_IMPORT_KEY__) < 0) (function(key) { __webpack_require__.d(__webpack_exports__, key, function() { return _HBuilderX_3_8_12_20230817_HBuilderX_plugins_uniapp_cli_node_modules_mini_css_extract_plugin_dist_loader_js_ref_8_oneOf_1_0_HBuilderX_3_8_12_20230817_HBuilderX_plugins_uniapp_cli_node_modules_css_loader_dist_cjs_js_ref_8_oneOf_1_1_HBuilderX_3_8_12_20230817_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_loaders_stylePostLoader_js_HBuilderX_3_8_12_20230817_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_8_oneOf_1_2_HBuilderX_3_8_12_20230817_HBuilderX_plugins_uniapp_cli_node_modules_postcss_loader_src_index_js_ref_8_oneOf_1_3_HBuilderX_3_8_12_20230817_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_sass_loader_dist_cjs_js_ref_8_oneOf_1_4_HBuilderX_3_8_12_20230817_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_8_oneOf_1_5_HBuilderX_3_8_12_20230817_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_HBuilderX_3_8_12_20230817_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_style_js_App_vue_vue_type_style_index_0_lang_scss___WEBPACK_IMPORTED_MODULE_0__[key]; }) }(__WEBPACK_IMPORT_KEY__));
 /* harmony default export */ __webpack_exports__["default"] = (_HBuilderX_3_8_12_20230817_HBuilderX_plugins_uniapp_cli_node_modules_mini_css_extract_plugin_dist_loader_js_ref_8_oneOf_1_0_HBuilderX_3_8_12_20230817_HBuilderX_plugins_uniapp_cli_node_modules_css_loader_dist_cjs_js_ref_8_oneOf_1_1_HBuilderX_3_8_12_20230817_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_loaders_stylePostLoader_js_HBuilderX_3_8_12_20230817_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_8_oneOf_1_2_HBuilderX_3_8_12_20230817_HBuilderX_plugins_uniapp_cli_node_modules_postcss_loader_src_index_js_ref_8_oneOf_1_3_HBuilderX_3_8_12_20230817_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_sass_loader_dist_cjs_js_ref_8_oneOf_1_4_HBuilderX_3_8_12_20230817_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_8_oneOf_1_5_HBuilderX_3_8_12_20230817_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_HBuilderX_3_8_12_20230817_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_style_js_App_vue_vue_type_style_index_0_lang_scss___WEBPACK_IMPORTED_MODULE_0___default.a);
/* harmony import */ var _soft_HBuilderX_plugins_uniapp_cli_node_modules_mini_css_extract_plugin_dist_loader_js_ref_8_oneOf_1_0_soft_HBuilderX_plugins_uniapp_cli_node_modules_css_loader_dist_cjs_js_ref_8_oneOf_1_1_soft_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_loaders_stylePostLoader_js_soft_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_8_oneOf_1_2_soft_HBuilderX_plugins_uniapp_cli_node_modules_postcss_loader_src_index_js_ref_8_oneOf_1_3_soft_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_sass_loader_dist_cjs_js_ref_8_oneOf_1_4_soft_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_8_oneOf_1_5_soft_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_soft_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_style_js_App_vue_vue_type_style_index_0_lang_scss___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../../../../../soft/HBuilderX/plugins/uniapp-cli/node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../../../soft/HBuilderX/plugins/uniapp-cli/node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../../../../soft/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib/loaders/stylePostLoader.js!../../../../../soft/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-preprocess-loader??ref--8-oneOf-1-2!../../../../../soft/HBuilderX/plugins/uniapp-cli/node_modules/postcss-loader/src??ref--8-oneOf-1-3!../../../../../soft/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/sass-loader/dist/cjs.js??ref--8-oneOf-1-4!../../../../../soft/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-preprocess-loader??ref--8-oneOf-1-5!../../../../../soft/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib??vue-loader-options!../../../../../soft/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/webpack-uni-mp-loader/lib/style.js!./App.vue?vue&type=style&index=0&lang=scss& */ 36);
/* harmony import */ var _soft_HBuilderX_plugins_uniapp_cli_node_modules_mini_css_extract_plugin_dist_loader_js_ref_8_oneOf_1_0_soft_HBuilderX_plugins_uniapp_cli_node_modules_css_loader_dist_cjs_js_ref_8_oneOf_1_1_soft_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_loaders_stylePostLoader_js_soft_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_8_oneOf_1_2_soft_HBuilderX_plugins_uniapp_cli_node_modules_postcss_loader_src_index_js_ref_8_oneOf_1_3_soft_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_sass_loader_dist_cjs_js_ref_8_oneOf_1_4_soft_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_8_oneOf_1_5_soft_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_soft_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_style_js_App_vue_vue_type_style_index_0_lang_scss___WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_soft_HBuilderX_plugins_uniapp_cli_node_modules_mini_css_extract_plugin_dist_loader_js_ref_8_oneOf_1_0_soft_HBuilderX_plugins_uniapp_cli_node_modules_css_loader_dist_cjs_js_ref_8_oneOf_1_1_soft_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_loaders_stylePostLoader_js_soft_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_8_oneOf_1_2_soft_HBuilderX_plugins_uniapp_cli_node_modules_postcss_loader_src_index_js_ref_8_oneOf_1_3_soft_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_sass_loader_dist_cjs_js_ref_8_oneOf_1_4_soft_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_8_oneOf_1_5_soft_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_soft_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_style_js_App_vue_vue_type_style_index_0_lang_scss___WEBPACK_IMPORTED_MODULE_0__);
/* harmony reexport (unknown) */ for(var __WEBPACK_IMPORT_KEY__ in _soft_HBuilderX_plugins_uniapp_cli_node_modules_mini_css_extract_plugin_dist_loader_js_ref_8_oneOf_1_0_soft_HBuilderX_plugins_uniapp_cli_node_modules_css_loader_dist_cjs_js_ref_8_oneOf_1_1_soft_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_loaders_stylePostLoader_js_soft_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_8_oneOf_1_2_soft_HBuilderX_plugins_uniapp_cli_node_modules_postcss_loader_src_index_js_ref_8_oneOf_1_3_soft_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_sass_loader_dist_cjs_js_ref_8_oneOf_1_4_soft_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_8_oneOf_1_5_soft_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_soft_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_style_js_App_vue_vue_type_style_index_0_lang_scss___WEBPACK_IMPORTED_MODULE_0__) if(["default"].indexOf(__WEBPACK_IMPORT_KEY__) < 0) (function(key) { __webpack_require__.d(__webpack_exports__, key, function() { return _soft_HBuilderX_plugins_uniapp_cli_node_modules_mini_css_extract_plugin_dist_loader_js_ref_8_oneOf_1_0_soft_HBuilderX_plugins_uniapp_cli_node_modules_css_loader_dist_cjs_js_ref_8_oneOf_1_1_soft_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_loaders_stylePostLoader_js_soft_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_8_oneOf_1_2_soft_HBuilderX_plugins_uniapp_cli_node_modules_postcss_loader_src_index_js_ref_8_oneOf_1_3_soft_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_sass_loader_dist_cjs_js_ref_8_oneOf_1_4_soft_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_8_oneOf_1_5_soft_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_soft_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_style_js_App_vue_vue_type_style_index_0_lang_scss___WEBPACK_IMPORTED_MODULE_0__[key]; }) }(__WEBPACK_IMPORT_KEY__));
 /* harmony default export */ __webpack_exports__["default"] = (_soft_HBuilderX_plugins_uniapp_cli_node_modules_mini_css_extract_plugin_dist_loader_js_ref_8_oneOf_1_0_soft_HBuilderX_plugins_uniapp_cli_node_modules_css_loader_dist_cjs_js_ref_8_oneOf_1_1_soft_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_loaders_stylePostLoader_js_soft_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_8_oneOf_1_2_soft_HBuilderX_plugins_uniapp_cli_node_modules_postcss_loader_src_index_js_ref_8_oneOf_1_3_soft_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_sass_loader_dist_cjs_js_ref_8_oneOf_1_4_soft_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_8_oneOf_1_5_soft_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_soft_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_style_js_App_vue_vue_type_style_index_0_lang_scss___WEBPACK_IMPORTED_MODULE_0___default.a);
/***/ }),
/***/ 36:
/*!***************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** ./node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!./node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-preprocess-loader??ref--8-oneOf-1-2!./node_modules/postcss-loader/src??ref--8-oneOf-1-3!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/sass-loader/dist/cjs.js??ref--8-oneOf-1-4!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-preprocess-loader??ref--8-oneOf-1-5!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib??vue-loader-options!./node_modules/@dcloudio/webpack-uni-mp-loader/lib/style.js!D:/豆米/dingyuannongji/mini-program/App.vue?vue&type=style&index=0&lang=scss& ***!
  \***************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
/*!******************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** ./node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!./node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-preprocess-loader??ref--8-oneOf-1-2!./node_modules/postcss-loader/src??ref--8-oneOf-1-3!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/sass-loader/dist/cjs.js??ref--8-oneOf-1-4!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-preprocess-loader??ref--8-oneOf-1-5!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib??vue-loader-options!./node_modules/@dcloudio/webpack-uni-mp-loader/lib/style.js!D:/code/idea2023/git/dingyuannongji/mini-program/App.vue?vue&type=style&index=0&lang=scss& ***!
  \******************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {
mini-program/utils/http.api.js
@@ -54,8 +54,15 @@
    let getPlatformAboutUs = (params = {}) => vm.$u.http.get('web/account/getPlatformAboutUs', { params });    // èŽ·å–ç³»ç»Ÿé…ç½®
    let findIntegralRecordPage = (data = {}) => vm.$u.http.post('web/integral/findIntegralRecordPage', {...data,tokenType:1});    //经销商 - èŽ·å–ç»é”€å•†çš„ç§¯åˆ†è®°å½•
    let myCustomer = (data = {}) => vm.$u.http.post('web/shop/myCustomer', {...data,tokenType:1});    //经销商 - æˆ‘的客户信息 
    let shopOrderDetail = (params = {}) => vm.$u.http.get('web/orders/shopOrderDetail', { params });    //经销商 - è®¢å•详情
    let shopOrderDetail = (params = {}) => vm.$u.http.get('web/orders/shopOrderDetail', { params });    //经销商 - è®¢å•详情
    let orderDetail = (params = {}) => vm.$u.http.get('web/orders/orderDetail', { params });    //客户 - è®¢å•详情
    let delOrder = (data = {}) => vm.$u.http.post('web/orders/delOrder',data );    //订单删除
    let cancelOrder = (data = {}) => vm.$u.http.post('web/orders/cancelOrder', data );    //取消订单
    let affirmOrder = (data = {}) => vm.$u.http.post('web/orders/affirmOrder',data );    //确认收货
    let writeOffOrder = (data = {}) => vm.$u.http.post('web/orders/writeOffOrder',{...data,tokenType:1} );    //订单核销
    let getOrderDetailByCode = (data = {}) => vm.$u.http.post('web/orders/getOrderDetailByCode',{...data,tokenType:1});    //经销商 - è®¢å•详情
    vm.$u.api = {
        commentApply,
        findActivityReplyCommentDTOPage,
@@ -105,7 +112,13 @@
        getPlatformAboutUs,
        findIntegralRecordPage,
        myCustomer,
        shopOrderDetail
        shopOrderDetail,
        orderDetail,
        delOrder,
        cancelOrder,
        affirmOrder,
        writeOffOrder,
        getOrderDetailByCode
    };
}
mini-program/utils/http.interceptor.js
@@ -6,6 +6,7 @@
    
    // è¯·æ±‚拦截器
    uni.$u.http.interceptors.request.use((config) => {
        console.log(config)
        if(config.data && config.data.tokenType===1){
            config.header['tokenType'] = config.data.tokenType;
            const HeadShoptoken = vm.$store.state.shopToken 
server/dmmall_admin/src/main/java/com/doumee/config/shiro/ShiroConfig.java
@@ -66,7 +66,7 @@
    public ShiroFilterFactoryBean shiroFilterFactoryBean(SecurityManager securityManager) {
        ShiroFilterFactoryBean shiroFilterFactoryBean = new ShiroFilterFactoryBean();
        shiroFilterFactoryBean.setSecurityManager(securityManager);
        Map<String, String> map = new HashMap<>();
        Map<String, String> map = new LinkedHashMap<>();
        // è·¯å¾„拦截配置
        map.put("/system/login", "anon");
        map.put("/system/logout", "anon");
server/dmmall_service/src/main/java/com/doumee/config/Jwt/WebMvcConfig.java
@@ -156,7 +156,6 @@
        }
    }
    public Integer getTokenId(String token){
        try {
            Integer lastIndex = token.lastIndexOf("_")+1;
server/dmmall_web/src/main/java/com/doumee/InterfaceApplication.java
@@ -17,7 +17,6 @@
@EnableAsync
@MapperScan("com.doumee.dao")
public class InterfaceApplication {
    public static void main(String[] args) {
        ApplicationContext context = SpringApplication.run(InterfaceApplication.class);
        context.getEnvironment();
server/dmmall_web/src/main/java/com/doumee/config/shiro/ShiroAuthFilter.java
ÎļþÒÑɾ³ý
server/dmmall_web/src/main/java/com/doumee/config/shiro/ShiroCache.java
ÎļþÒÑɾ³ý
server/dmmall_web/src/main/java/com/doumee/config/shiro/ShiroCacheManager.java
ÎļþÒÑɾ³ý
server/dmmall_web/src/main/java/com/doumee/config/shiro/ShiroConfig.java
ÎļþÒÑɾ³ý
server/dmmall_web/src/main/java/com/doumee/config/shiro/ShiroCredentialsMatcher.java
ÎļþÒÑɾ³ý
server/dmmall_web/src/main/java/com/doumee/config/shiro/ShiroRealm.java
ÎļþÒÑɾ³ý
server/dmmall_web/src/main/java/com/doumee/config/shiro/ShiroSessionDAO.java
ÎļþÒÑɾ³ý
server/dmmall_web/src/main/java/com/doumee/config/shiro/ShiroSessionManager.java
ÎļþÒÑɾ³ý
server/dmmall_web/src/main/java/com/doumee/config/shiro/ShiroTokenManager.java
ÎļþÒÑɾ³ý