MrShi
11 小时以前 297734ace4c05848b28a792fa89f38bee67be3c1
合并
已删除6个文件
已修改74个文件
1687 ■■■■ 文件已修改
admin/.env.development 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
admin/package-lock.json 165 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
admin/package.json 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
admin/src/api/business/banner.js 3 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
admin/src/components/base/BaseTable.vue 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
admin/src/components/business/OperaBannerWindow.vue 42 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
admin/src/components/business/OperaChangeIntegralWindow.vue 14 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
admin/src/components/business/OperaChangeShopRecordWindow.vue 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
admin/src/components/business/OperaCouponGoodsWindow.vue 27 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
admin/src/components/business/OperaCouponUsedDetail.vue 18 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
admin/src/components/business/OperaCouponWindow.vue 137 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
admin/src/components/business/OperaGoodsWindow.vue 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
admin/src/components/business/OperaIntegralShopMoneyWindow.vue 36 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
admin/src/components/business/OperaLabelExpressWindow.vue 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
admin/src/components/business/OperaLabelsAreaWindow.vue 11 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
admin/src/components/business/OperaLabelsFeeAreaWindow.vue 8 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
admin/src/components/business/OperaMemberDetail.vue 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
admin/src/components/business/OperaNoticeWindow.vue 10 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
admin/src/components/business/OperaShopGoodsWindow.vue 9 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
admin/src/components/business/OperaShopInfoWindow.vue 56 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
admin/src/components/business/OperaWithdrawRecordWindow.vue 26 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
admin/src/components/business/ResetPwdShopWindow.vue 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
admin/src/components/common/UploadFile.vue 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
admin/src/views/business/banner.vue 61 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
admin/src/views/business/coupon.vue 16 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
admin/src/views/business/goodsorder.vue 17 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
admin/src/views/business/information.vue 10 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
admin/src/views/business/labelsKnowledge.vue 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
admin/src/views/business/member.vue 29 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
admin/src/views/business/memberCoupon.vue 30 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
admin/src/views/business/notice.vue 6 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
admin/src/views/business/platformGoods.vue 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
admin/src/views/business/shop.vue 101 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
mini-program/unpackage/dist/dev/.sourcemap/mp-weixin/pages/confirm-order/confirm-order.js.map 6 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
mini-program/unpackage/dist/dev/.sourcemap/mp-weixin/pages/select-city/select-city.js.map 6 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/dmmall_admin/src/main/java/com/doumee/AdminApplication.java 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/dmmall_admin/src/main/java/com/doumee/api/business/BannerController.java 9 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/dmmall_admin/src/main/resources/application.yml 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/dmmall_service/src/main/java/com/doumee/config/listener/IntegralApplicationListener.java 159 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/dmmall_service/src/main/java/com/doumee/config/listener/NoticeApplicationListener.java 27 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/dmmall_service/src/main/java/com/doumee/config/listener/VisitApplicationListener.java 27 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/dmmall_service/src/main/java/com/doumee/config/listener/event/IntegralEvent.java 32 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/dmmall_service/src/main/java/com/doumee/config/listener/event/NoticeEvent.java 21 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/dmmall_service/src/main/java/com/doumee/config/listener/event/VisitEvent.java 22 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/dmmall_service/src/main/java/com/doumee/core/utils/Constants.java 8 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/dmmall_service/src/main/java/com/doumee/core/wx/WxMiniUtilService.java 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/dmmall_service/src/main/java/com/doumee/dao/business/GoodsorderMapper.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/dmmall_service/src/main/java/com/doumee/dao/business/MemberMapper.java 10 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/dmmall_service/src/main/java/com/doumee/dao/business/ShopMapper.java 34 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/dmmall_service/src/main/java/com/doumee/dao/business/ShopcartMapper.java 3 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/dmmall_service/src/main/java/com/doumee/dao/business/model/Coupon.java 10 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/dmmall_service/src/main/java/com/doumee/dao/business/model/Integral.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/dmmall_service/src/main/java/com/doumee/dao/business/model/Member.java 16 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/dmmall_service/src/main/java/com/doumee/dao/business/model/MemberCoupon.java 8 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/dmmall_service/src/main/java/com/doumee/dao/business/model/Shop.java 8 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/dmmall_service/src/main/java/com/doumee/dao/web/dto/UserCenterVO.java 18 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/dmmall_service/src/main/java/com/doumee/dao/web/request/DealIntegralRequest.java 3 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/dmmall_service/src/main/java/com/doumee/dao/web/response/HomeInfoResponse.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/dmmall_service/src/main/java/com/doumee/dao/web/response/goods/MemberOrderResponse.java 3 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/dmmall_service/src/main/java/com/doumee/service/business/BannerService.java 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/dmmall_service/src/main/java/com/doumee/service/business/IntegralService.java 6 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/dmmall_service/src/main/java/com/doumee/service/business/impl/ActivityServiceImpl.java 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/dmmall_service/src/main/java/com/doumee/service/business/impl/AftersaleServiceImpl.java 8 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/dmmall_service/src/main/java/com/doumee/service/business/impl/BannerServiceImpl.java 15 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/dmmall_service/src/main/java/com/doumee/service/business/impl/CardServiceImpl.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/dmmall_service/src/main/java/com/doumee/service/business/impl/CommentServiceImpl.java 14 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/dmmall_service/src/main/java/com/doumee/service/business/impl/CouponServiceImpl.java 21 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/dmmall_service/src/main/java/com/doumee/service/business/impl/GoodsServiceImpl.java 18 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/dmmall_service/src/main/java/com/doumee/service/business/impl/GoodsorderServiceImpl.java 19 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/dmmall_service/src/main/java/com/doumee/service/business/impl/IntegralServiceImpl.java 123 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/dmmall_service/src/main/java/com/doumee/service/business/impl/MemberCouponServiceImpl.java 36 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/dmmall_service/src/main/java/com/doumee/service/business/impl/MemberServiceImpl.java 16 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/dmmall_service/src/main/java/com/doumee/service/business/impl/NoticeServiceImpl.java 3 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/dmmall_service/src/main/java/com/doumee/service/business/impl/SharesServiceImpl.java 26 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/dmmall_service/src/main/java/com/doumee/service/business/impl/ShopServiceImpl.java 17 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/dmmall_service/src/main/java/com/doumee/service/business/impl/ShopcartServiceImpl.java 10 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/dmmall_service/src/main/java/com/doumee/service/business/impl/SignupServiceImpl.java 3 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/dmmall_service/src/main/java/com/doumee/service/business/impl/WithdrawRecordServiceImpl.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/dmmall_service/src/main/resources/application-dev.yml 3 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/dmmall_web/pom.xml 33 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
admin/.env.development
@@ -5,6 +5,6 @@
VUE_APP_CONTEXT_PATH = '/'
#江萍本地
#VUE_APP_API_BASE_URL='http://localhost:10014'
VUE_APP_API_BASE_URL='http://localhost:12014'
VUE_APP_API_BASE_URL='http://192.168.0.7/dmmall_admin_api/'
#VUE_APP_API_BASE_URL='http://192.168.0.7/dmmall_admin_api/'
admin/package-lock.json
@@ -1870,63 +1870,6 @@
          "integrity": "sha1-/q7SVZc9LndVW4PbwIhRpsY1IPo=",
          "dev": true
        },
        "ansi-styles": {
          "version": "4.3.0",
          "resolved": "https://registry.npmmirror.com/ansi-styles/-/ansi-styles-4.3.0.tgz",
          "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==",
          "dev": true,
          "optional": true,
          "requires": {
            "color-convert": "^2.0.1"
          }
        },
        "chalk": {
          "version": "4.1.2",
          "resolved": "https://registry.npmmirror.com/chalk/-/chalk-4.1.2.tgz",
          "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==",
          "dev": true,
          "optional": true,
          "requires": {
            "ansi-styles": "^4.1.0",
            "supports-color": "^7.1.0"
          }
        },
        "color-convert": {
          "version": "2.0.1",
          "resolved": "https://registry.npmmirror.com/color-convert/-/color-convert-2.0.1.tgz",
          "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
          "dev": true,
          "optional": true,
          "requires": {
            "color-name": "~1.1.4"
          }
        },
        "color-name": {
          "version": "1.1.4",
          "resolved": "https://registry.npmmirror.com/color-name/-/color-name-1.1.4.tgz",
          "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==",
          "dev": true,
          "optional": true
        },
        "has-flag": {
          "version": "4.0.0",
          "resolved": "https://registry.npmmirror.com/has-flag/-/has-flag-4.0.0.tgz",
          "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==",
          "dev": true,
          "optional": true
        },
        "loader-utils": {
          "version": "2.0.4",
          "resolved": "https://registry.npmmirror.com/loader-utils/-/loader-utils-2.0.4.tgz",
          "integrity": "sha512-xXqpXoINfFhgua9xiqD8fPFHgkoq1mmmpE92WlDbm9rNRd/EbRb+Gqf908T2DMfuHjjJlksiK2RbHVOdD/MqSw==",
          "dev": true,
          "optional": true,
          "requires": {
            "big.js": "^5.2.2",
            "emojis-list": "^3.0.0",
            "json5": "^2.1.2"
          }
        },
        "ssri": {
          "version": "8.0.1",
          "resolved": "https://registry.npm.taobao.org/ssri/download/ssri-8.0.1.tgz?cache=0&sync_timestamp=1617826515595&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fssri%2Fdownload%2Fssri-8.0.1.tgz",
@@ -1934,28 +1877,6 @@
          "dev": true,
          "requires": {
            "minipass": "^3.1.1"
          }
        },
        "supports-color": {
          "version": "7.2.0",
          "resolved": "https://registry.npmmirror.com/supports-color/-/supports-color-7.2.0.tgz",
          "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==",
          "dev": true,
          "optional": true,
          "requires": {
            "has-flag": "^4.0.0"
          }
        },
        "vue-loader-v16": {
          "version": "npm:vue-loader@16.8.3",
          "resolved": "https://registry.npmmirror.com/vue-loader/-/vue-loader-16.8.3.tgz",
          "integrity": "sha512-7vKN45IxsKxe5GcVCbc2qFU5aWzyiLrYJyUuMz4BQLKctCj/fmCa0w6fGiiQ2cLFetNcek1ppGJQDCup0c1hpA==",
          "dev": true,
          "optional": true,
          "requires": {
            "chalk": "^4.1.0",
            "hash-sum": "^2.0.0",
            "loader-utils": "^2.0.0"
          }
        }
      }
@@ -9326,6 +9247,11 @@
        "minimist": "^1.2.5"
      }
    },
    "moment": {
      "version": "2.30.1",
      "resolved": "https://registry.npmmirror.com/moment/-/moment-2.30.1.tgz",
      "integrity": "sha512-uEmtNhbDOrWPFS+hdjFCBfy9f2YoyzRpwcl+DqpC6taX21FzsTLQVbMV/W7PzNSX6x/bhC1zA3c2UQ5NzH6how=="
    },
    "move-concurrently": {
      "version": "1.0.1",
      "resolved": "https://registry.npm.taobao.org/move-concurrently/download/move-concurrently-1.0.1.tgz",
@@ -13753,6 +13679,87 @@
        }
      }
    },
    "vue-loader-v16": {
      "version": "npm:vue-loader@16.8.3",
      "resolved": "https://registry.npmmirror.com/vue-loader/-/vue-loader-16.8.3.tgz",
      "integrity": "sha512-7vKN45IxsKxe5GcVCbc2qFU5aWzyiLrYJyUuMz4BQLKctCj/fmCa0w6fGiiQ2cLFetNcek1ppGJQDCup0c1hpA==",
      "dev": true,
      "optional": true,
      "requires": {
        "chalk": "^4.1.0",
        "hash-sum": "^2.0.0",
        "loader-utils": "^2.0.0"
      },
      "dependencies": {
        "ansi-styles": {
          "version": "4.3.0",
          "resolved": "https://registry.npmmirror.com/ansi-styles/-/ansi-styles-4.3.0.tgz",
          "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==",
          "dev": true,
          "optional": true,
          "requires": {
            "color-convert": "^2.0.1"
          }
        },
        "chalk": {
          "version": "4.1.2",
          "resolved": "https://registry.npmmirror.com/chalk/-/chalk-4.1.2.tgz",
          "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==",
          "dev": true,
          "optional": true,
          "requires": {
            "ansi-styles": "^4.1.0",
            "supports-color": "^7.1.0"
          }
        },
        "color-convert": {
          "version": "2.0.1",
          "resolved": "https://registry.npmmirror.com/color-convert/-/color-convert-2.0.1.tgz",
          "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
          "dev": true,
          "optional": true,
          "requires": {
            "color-name": "~1.1.4"
          }
        },
        "color-name": {
          "version": "1.1.4",
          "resolved": "https://registry.npmmirror.com/color-name/-/color-name-1.1.4.tgz",
          "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==",
          "dev": true,
          "optional": true
        },
        "has-flag": {
          "version": "4.0.0",
          "resolved": "https://registry.npmmirror.com/has-flag/-/has-flag-4.0.0.tgz",
          "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==",
          "dev": true,
          "optional": true
        },
        "loader-utils": {
          "version": "2.0.4",
          "resolved": "https://registry.npmmirror.com/loader-utils/-/loader-utils-2.0.4.tgz",
          "integrity": "sha512-xXqpXoINfFhgua9xiqD8fPFHgkoq1mmmpE92WlDbm9rNRd/EbRb+Gqf908T2DMfuHjjJlksiK2RbHVOdD/MqSw==",
          "dev": true,
          "optional": true,
          "requires": {
            "big.js": "^5.2.2",
            "emojis-list": "^3.0.0",
            "json5": "^2.1.2"
          }
        },
        "supports-color": {
          "version": "7.2.0",
          "resolved": "https://registry.npmmirror.com/supports-color/-/supports-color-7.2.0.tgz",
          "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==",
          "dev": true,
          "optional": true,
          "requires": {
            "has-flag": "^4.0.0"
          }
        }
      }
    },
    "vue-router": {
      "version": "3.5.1",
      "resolved": "https://registry.nlark.com/vue-router/download/vue-router-3.5.1.tgz?cache=0&sync_timestamp=1620899536020&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fvue-router%2Fdownload%2Fvue-router-3.5.1.tgz",
admin/package.json
@@ -19,6 +19,7 @@
    "element-ui": "^2.15.13",
    "js-cookie": "^2.2.1",
    "js-file-download": "^0.4.12",
    "moment": "^2.30.1",
    "uview-ui": "^1.8.4",
    "vue": "^2.6.11",
    "vue-clipboard2": "^0.3.1",
admin/src/api/business/banner.js
@@ -16,6 +16,9 @@
export function updateById (data) {
  return request.post('/business/banner/updateById', data)
}
export function updateStatus (data) {
  return request.post('/business/banner/updateStatus', data)
}
// åˆ é™¤
export function deleteById (id) {
admin/src/components/base/BaseTable.vue
@@ -172,7 +172,7 @@
        this.$tip.warning('请至少选择一条数据')
        return
      }
      let message = `确认删除已选中的 ${this.tableData.selectedRows.length} æ¡${this.module}记录吗?`
      let message = `确认删除已选中的 ${this.tableData.selectedRows.length} æ¡è®°å½•吗?`
      if (childConfirm) {
        const containChildrenRows = []
        for (const row of this.tableData.selectedRows) {
admin/src/components/business/OperaBannerWindow.vue
@@ -1,7 +1,8 @@
<template>
  <GlobalAlertWindow
  <GlobalWindow
    v-loading="isUploading"
    :title="title"
    width="60%"
    :visible.sync="visible"
    :confirm-working="isWorking"
    @confirm="confirm"
@@ -31,7 +32,7 @@
          @uploadBegin="isUploading = true"
        />
      </el-form-item>
      <el-form-item label="展示城市" prop="cityId">
      <el-form-item label="展示城市" prop="cityId" v-if="1==2">
        <div class="address">
          <el-select v-model="form.provinceId" placeholder="请选择省份" filterable @change="selectProvince">
            <el-option
@@ -51,11 +52,24 @@
          </el-select>
        </div>
      </el-form-item>
      <el-form-item label="排序码(升序)" prop="sortnum">
        <el-input v-model="form.sortnum" type="number"  placeholder="请输入排序码" v-trim/>
      </el-form-item>
      <el-form-item label="状态" prop="status">
        <el-switch
            v-model="form.status"
            active-color="#13ce66"
            inactive-color="#999"
            :active-value="0"
            :inactive-value="1"
        ></el-switch>
      </el-form-item>
      <el-form-item label="跳转类型" prop="type">
        <el-select
          v-model="form.type"
          placeholder="请选择跳转类型"
          @change="selectType"
          clearable
        >
          <el-option
            v-for="item in types()"
@@ -67,10 +81,15 @@
      </el-form-item>
      <!-- //  0富文本 1外链 2活动 3商家 -->
      <el-form-item v-if="form.type==0" label="富文本内容" prop="content">
        <RichEditor :content="{ content : form.content}"  @edit="form.content=$event" />
        <RichEditor  :richData="form.content" :styleEditor="'border: 1px solid #ccc;display: inline-block;height:500px;'" @getWangedditor="getWangedditor" :readonly="false"/>
<!--
        <RichEditor :styleEditor="'border: 1px solid #ccc;display: inline-block;height:500px;'"  :content="{ content : form.content}"  @edit="form.content=$event" />
-->
      </el-form-item>
      <el-form-item v-if="form.type==1" label="链接" prop="content">
        <el-input v-model="form.content" placeholder="请输入链接" v-trim/>
        <p class="tip-warn" style="margin-bottom: 1px;"><i class="el-icon-warning"></i>提醒:如果配置公众号链接,跳转的公众号需要先跟小程序进行绑定,方可实现跳转</p>
      </el-form-item>
      <el-form-item v-if="form.type==2" label="活动名称" prop="content">
        <el-select
@@ -110,16 +129,13 @@
          </el-option>
        </el-select>
      </el-form-item>
      <el-form-item label="排序码" prop="sortnum">
        <el-input v-model="form.sortnum" type="number"  placeholder="请输入排序码" v-trim/>
      </el-form-item>
    </el-form>
  </GlobalAlertWindow>
  </GlobalWindow>
</template>
<script>
import BaseOpera from '@/components/base/BaseOpera'
import GlobalAlertWindow from '@/components/common/GlobalAlertWindow'
import GlobalWindow from '@/components/common/GlobalWindow'
import RichEditor from '@/components/common/RichEditor'
import UploadAvatarImage from '@/components/common/UploadAvatarImage'
import { listByParentId } from '@/api/business/areas'
@@ -128,7 +144,7 @@
export default {
  name: 'OperaBannerWindow',
  extends: BaseOpera,
  components: { GlobalAlertWindow, RichEditor, UploadAvatarImage },
  components: { GlobalWindow, RichEditor, UploadAvatarImage },
  data () {
    let positionRule = (rule, value, callBack) => {
      // debugger
@@ -155,10 +171,10 @@
        info: '',
        title: '',
        sortnum: '',
        status: '',
        status: 0,
        imgurl: '',
        imgFullUrl: '',
        type: 0,
        type: '',
        position: '',
        provinceId: '',
        cityId: '',
@@ -182,6 +198,7 @@
  },
  inject: ['postions', 'types'],
  created () {
    this.config({
      api: '/business/banner',
      'field.id': 'id'
@@ -192,6 +209,9 @@
      })
  },
  methods: {
    getWangedditor (val) {
      this.form.content = val
    },
    open (title, target) {
      this.title = title
admin/src/components/business/OperaChangeIntegralWindow.vue
@@ -8,8 +8,8 @@
  >
    <p class="tip-warn" style="margin: 30px;"><i class="el-icon-warning"></i>操作说明:积分增加或减少后会在消费者端展示,请谨慎操作!</p>
    <el-form :model="form" ref="form" :rules="rules" label-width="100px"  label-suffix=":" inline>
      <el-form-item label="当前余额"   >
        <span class="green" ><b>{{info.integral}}</b></span>
      <el-form-item label="积分余额"   >
        <span class="green" ><b>{{info.integral || 0}}</b></span>
      </el-form-item>
      <el-form-item label="调整方式"   prop="type"   >
        <el-radio-group v-model="form.type">
@@ -17,8 +17,8 @@
          <el-radio :value="1" :label="1">减少</el-radio>
        </el-radio-group>
      </el-form-item>
      <el-form-item label="数量"   prop="num"   >
        <el-input v-model="form.num" type="number"   placeholder="请输入数量"  ></el-input>
      <el-form-item label="积分"   prop="num"   >
        <el-input v-model="form.num" type="number"   placeholder="请输入积分数量"  ></el-input>
      </el-form-item>
      <el-form-item label="备注"   prop="remark"   >
        <el-input v-model="form.remark" type="textarea"   placeholder="请输入备注"  ></el-input>
@@ -102,4 +102,10 @@
::v-deep .el-form-item__content {
  flex: 0.6;
}
::v-deep .el-select {
  width: 100%;
  .el-input__inner {
    width: 100%;
  }
}
</style>
admin/src/components/business/OperaChangeShopRecordWindow.vue
@@ -2,6 +2,7 @@
  <GlobalWindow
      :title="title"
      width="80%"
      :withFooter="false"
      :visible.sync="visible"
  >
    <div style="display: block;">
@@ -76,10 +77,10 @@
}
</script>
<style scoped>
.table-pagination{
/*.table-pagination{
  position: fixed !important;
  bottom: 50px;
}
  bottom: 0px;
}*/
.header-b{
  display: inline-block;
  font-size: 16px;
admin/src/components/business/OperaCouponGoodsWindow.vue
@@ -2,12 +2,13 @@
  <GlobalWindow
    :title="title"
    width="100%"
    :with-footer="false"
    :visible.sync="visible"
    @confirm="confirm"
  >
    <TableLayout>
      <!-- æœç´¢è¡¨å• -->
      <el-form ref="searchForm" slot="search-form" :model="searchForm" label-width="100px" style="display: block;" >
      <el-form ref="searchForm" slot="search-form" id="curSearchForm" :model="searchForm" label-width="100px" style="display: block;" >
        <el-form-item label="" prop="name" label-width="5px" style="display: inline-block;margin-right: 30px;">
          <el-input v-model="searchForm.name" style="width: 150px;" placeholder="商品名称" clearable @keypress.enter.native="search"></el-input>
        </el-form-item>
@@ -24,18 +25,19 @@
        <section>
          <el-button type="primary" @click="search">搜索</el-button>
          <el-button @click="reset">重置</el-button>
          <el-button type="primary" style="margin-left: 30px;font-weight: bold"  @click="confirm">确认商品配置</el-button>
        </section>
      </el-form>
      <!-- è¡¨æ ¼å’Œåˆ†é¡µ -->
      <template v-slot:table-wrap>
        <div :style="'display: flex;height:'+tabelHeight+'px;'">
        <div :style="'display: flex;height:'+tableHeight+'px;'">
          <div style="flex: 6;">
            <ul class="toolbar">
              <li><el-button type="primary"  icon="el-icon-plus"  @click="addAll()" :disabled="!(tableData.selectedRows &&  tableData.selectedRows.length)">批量添加</el-button></li>
            </ul>
          <el-table
              ref="singleTable"
              :height="tabelHeight-80"
              :height="tableHeight-80"
              v-loading="isWorking.search"
              :data="tableData.list"
              stripe
@@ -73,7 +75,7 @@
                <div style="flex: 6"> <span>已选择<i class="blue" style="margin: 0 10px">{{selectGoods.length||0}}</i>件商品</span></div>
                <div style="flex: 1;text-align: right"> <el-button size="mini" type="danger" class="blue" @click="cleanAll">清空</el-button></div>
              </div>
              <div :style="`display: flex;flex-direction: column;max-height: ${tabelHeight-80}px;overflow: auto`">
              <div :style="`display: flex;flex-direction: column;max-height: ${tableHeight-80}px;overflow: auto`">
                <div  v-for="(item,index) in selectGoods" style="display: flex;margin: 10px 0;" :key="'selGoods'+item.id">
                  <div style="flex: 6">{{item.name}}<br><span class="red">ï¿¥{{item.skuPrice || 0}}</span></div>
                  <div style="flex: 1;text-align: right;">
@@ -102,12 +104,15 @@
    return {
      title: '',
      visible: false,
      selectGoods:[],
      // æœç´¢
      searchForm: {
        id: '',
        bindShopId: ''
      },
      shops: []
      shops: [],
      brands:[],
      labels:[]
    }
  },
  created () {
@@ -128,11 +133,17 @@
      .then(res => {
        this.brands = res
      })
    window.addEventListener('resize', () => {
      this.handleResize()
    })
    this.handleResize()
  },
  methods: {
    handleResize(){
      this.tabelHeight = window.innerHeight - 300
    handleResize () {
      this.tableHeight = window.innerHeight - 260
      if (document.getElementById('curSearchForm')) {
        this.tableHeight = this.tableHeight - document.getElementById('curSearchForm').clientHeight
      }
    },
    checkSelectable (row) {
      return row.tabStatus !== 2
@@ -243,6 +254,6 @@
<style scoped>
.table-pagination{
  position: fixed !important;
  bottom: 50px;
  bottom: 10px;
}
</style>
admin/src/components/business/OperaCouponUsedDetail.vue
@@ -1,6 +1,7 @@
<template>
  <GlobalWindow
    :title="title"
    :with-footer="false"
    :visible.sync="visible"
    @confirm="confirm"
  >
@@ -28,7 +29,7 @@
      </el-form>
      <!-- è¡¨æ ¼å’Œåˆ†é¡µ -->
      <template v-slot:table-wrap>
        <el-table
          v-loading="isWorking.search"
          :data="tableData.list"
@@ -49,11 +50,11 @@
              {{ row.type==0?'领取':'兑换' }}
            </template>
          </el-table-column>
          <el-table-column prop="num" label="咖豆数量" align="center" min-width="100px">
<!--          <el-table-column prop="num" label="数量" align="center" min-width="100px">
            <template slot-scope="{row}">
              {{ row.num || '-' }}
            </template>
          </el-table-column>
          </el-table-column>-->
          <el-table-column label="状态" align="center" min-width="100px">
            <template slot-scope="{row}">
              {{ row.status==0 ? '未使用' : row.status==1 ? '已使用' : '已过期' }}
@@ -83,18 +84,19 @@
  extends: BaseTable,
  components: { GlobalWindow, TableLayout, Pagination },
  data () {
    return {
      visible: false,
      title: '',
      getDate: [],
      // è¡¨å•数据
      searchForm: {
        id: null,
        couponId: null,
        member: '',
        methodList:[0,1],
        status: '',
      },
    }
  },
  created () {
@@ -109,10 +111,10 @@
      this.visible = true
      this.$nextTick(() => {
        this.$refs.searchForm.resetFields()
        this.searchForm.id = target
        this.searchForm.couponId = target
        this.search()
      })
    },
    handlePageChange (pageIndex) {
      // debugger
admin/src/components/business/OperaCouponWindow.vue
@@ -28,20 +28,22 @@
          <el-input  v-model="form.price"     placeholder="请输入"    @input="inputAction(form, 'price')"  >
            <template slot="append" >{{form.couponType ===1?'折':'元'}}</template>
          </el-input>
          <div class="discrep"  v-if="form.couponType === 1" >,折扣优惠金额上限</div>
          <el-input  v-model="form.maxPrice"     v-if="form.couponType === 1"  placeholder="请输入"    @input="inputAction(form, 'maxPrice')"  >
            <template slot="append" >元</template>
          </el-input>
        </div>
      </el-form-item>
      <el-form-item label="优惠券说明" prop="info">
        <el-input type="textarea" v-model="form.info" placeholder="请输入优惠券说明"  v-trim/>
        <el-input type="textarea" v-model="form.info" placeholder="请输入优惠券说明" maxlength="500"  v-trim/>
      </el-form-item>
      <p class="tip-header" >使用限制</p>
      <el-form-item label="有效期" prop="useType">
        <el-radio-group v-model="form.useType">
      <el-form-item label="有效期" prop="getDate">
        <el-radio-group v-model="form.useType" @change="changeApplyType">
          <el-radio :label="0">固定时段</el-radio>
          <el-radio :label="1">固定时长</el-radio>
        </el-radio-group>
      </el-form-item>
      <el-form-item label="使用时段" prop="getDate" v-if="form.useType===0">
        <div class="date-style">
        <div class="date-style" v-if="form.useType===0">
          <el-date-picker
              v-model="getDate"
              type="datetimerange"
@@ -53,9 +55,7 @@
              @change="selectDate"
          ></el-date-picker>
        </div>
      </el-form-item>
      <el-form-item label="固定时长" prop="validDays" v-if="form.useType===1">
        <div class="coupon-rule">
        <div class="coupon-rule" v-if="form.useType===1">
          <div class="discrep">领劵后</div>
          <el-input
              v-model="form.validDays"
@@ -68,26 +68,36 @@
        </div>
      </el-form-item>
      <el-form-item label="适用对象" prop="applyType">
        <el-radio-group v-model="form.applyType">
        <el-radio-group v-model="form.applyType" @change="changeApplyType">
          <el-radio :label="0">全场通用</el-radio>
          <el-radio :label="1">按品类</el-radio>
          <el-radio :label="2">指定商品</el-radio>
        </el-radio-group>
      </el-form-item>
      <el-form-item v-if="form.applyType===1" label="选择品类" prop="applyCateIdList" >
        <el-select v-model="form.applyCateIdList"  placeholder="请选择,支持多选" filterable multiple clearable >
      <el-form-item label="选择品类"   prop="applyTypeRule" v-if="form.applyType===1">
          <el-select style="margin-left:10px;width: 300px;" v-model="form.applyCateIdList"  placeholder="请选择商品分类,支持多选" filterable multiple clearable >
            <el-option  v-for="item in categorys" :key="'optCate'+item.id"  :label="item.name"  :value="item.id">  </el-option>
          </el-select>
      </el-form-item>
      <el-form-item label="选中商品" prop="applyTypeRule"  v-if="form.applyType===2">
          <span style="font-size: 12px;color: #216EEE"   @click="selectGoods">已指定【 {{applyDataList.length}} ã€‘件商品</span>
          <el-button style="margin-left:30px;display: inline-block;width: 80px;" type="primary"  @click="selectGoods">去选择 </el-button>
      </el-form-item>
<!--      <el-form-item v-if="form.applyType===1" label="选择品类" prop="applyCateIdList" >
        <el-select v-model="form.applyCateIdList"  placeholder="请选择商品分类,支持多选" filterable multiple clearable >
          <el-option  v-for="item in categorys" :key="'optCate'+item.id"  :label="item.name"  :value="item.id">  </el-option>
        </el-select>
      </el-form-item>
      <el-form-item v-if="form.applyType===2" label="选择商品" prop="applyIdList" style="display: flex">
          <span style="font-size: 12px;color: #216EEE"   @click="selectGoods">已指定【 {{applyDataList.length}} ã€‘件商品</span>
        <el-button style="margin-left:30px;display: inline-block;width: 80px;" type="primary"  @click="selectGoods">去选择 </el-button>
      </el-form-item>
      </el-form-item>-->
      <p class="tip-header" >发放规则</p>
      <el-form-item label="发放总量" prop="num">
        <div class="num-style">
          <el-input-number  v-model="form.num" :controls="false" :min="1" :max="99999" placeholder="请输入发放总量(1~99999)" v-trim></el-input-number>
          <el-input-number  v-model="form.num" :controls="false" :min="0" :max="99999" placeholder="请输入发放总量(0~99999)" v-trim></el-input-number>
        </div>
        <p class="tip-warn" style="margin-bottom: 1px;"><i class="el-icon-warning"></i>提醒:发放总量为0表示不限制</p>
      </el-form-item>
    </el-form>
    <OperaCouponGoodsWindow ref="OperaCouponGoodsWindow" @success="doSelect"/>
@@ -99,27 +109,44 @@
import { fetchList as shopList } from '@/api/business/shop'
import GlobalWindow from '@/components/common/GlobalWindow'
import { findAll as labelList } from '@/api/business/labels'
import { allList as goodsList} from '@/api/business/goods'
import { allList as goodsList } from '@/api/business/goods'
import OperaCouponGoodsWindow from '@/components/business/OperaCouponGoodsWindow'
export default {
  name: 'OperaCouponWindow',
  extends: BaseOpera,
  components: { GlobalWindow,OperaCouponGoodsWindow },
  components: { GlobalWindow, OperaCouponGoodsWindow },
  data () {
    const couponRules = (rule, value, callback) => {
      if (!this.form.limitPrice) {
        callback(new Error('请输入满额'))
      } else if (!this.form.price) {
        callback(new Error('请完善优惠规则'))
      } else if (this.form.couponType == 1 && (this.form.price <= 0 || this.form.price >= 10)) {
        callback(new Error('优惠折扣只能为 (0,10)范围内'))
      } else {
        callback()
      }
    }
    const getDateRules = (rule, value, callback) => {
      if (!this.form.startDate) {
      if (!this.form.useType < 0) {
        callback(new Error('请选择有效期'))
      } else if (this.form.useType == 1 && !this.form.validDays) {
        callback(new Error('请输入固定时长天数'))
      } else if (this.form.useType == 0 && !this.form.startDate) {
        callback(new Error('请选择开始时间'))
      } else if (!this.form.endDate) {
      } else if (this.form.useType == 0 && !this.form.endDate) {
        callback(new Error('请输入结束时间'))
      } else {
        callback()
      }
    }
    const getApplyTypeRule = (rule, value, callback) => {
      if (!this.form.applyType < 0) {
        callback(new Error('请选择适用范围'))
      } else if (this.form.applyType == 1 && (!this.form.applyCateIdList  || !this.form.applyCateIdList.length)) {
        callback(new Error('请选择使用品类'))
      } else if (this.form.applyType == 2 && (!this.form.applyIdList  || !this.form.applyIdList.length)) {
        callback(new Error('请选择指定商品'))
      } else {
        callback()
      }
@@ -134,8 +161,8 @@
    return {
      searchLoading: false,
      getDate: [],
      applyDataList:[],
      showGoods:false,
      applyDataList: [],
      showGoods: false,
      // è¡¨å•数据
      form: {
        id: null,
@@ -181,15 +208,15 @@
        num: [
          { required: true, validator: numRule, message: '请输入发放总数', tigger: 'blur' }
        ],
        /*integral: [
        /* integral: [
          { required: true, validator: numRule, message: '请输入兑换条件', tigger: 'blur' }
        ],*/
        // validDays: [
        //   { required: true, message: '请输入可用时间', tigger: 'blur' }
        // ],
        // getDate: [
        //   { required: true, validator: getDateRules, tigger: 'change' }
        // ],
        ], */
        getDate: [
          { required: true, validator: getDateRules }
        ],
        applyTypeRule: [
          { required: true, validator: getApplyTypeRule }
        ]
        // shopId: [
        //   { required: true, validator: numRule, message: '请选择关联店铺', tigger: 'change' }
        // ]
@@ -203,19 +230,19 @@
    })
  },
  methods: {
    selectGoods(){
    selectGoods () {
      this.$refs.OperaCouponGoodsWindow.open('选择商品', this.applyDataList)
    },
    loadLabels(){
    loadLabels () {
      labelList({
        type: 0 // å•†å“åˆ†ç±»
      }).then(res => {
        this.categorys = res || []
      })
    },
    loadSelectGoods(){
    loadSelectGoods () {
      console.log(this.form.applyIdList)
      if(!this.form.applyIdList || !this.form.applyIdList.length){
      if (!this.form.applyIdList || !this.form.applyIdList.length) {
        return
      }
      goodsList({
@@ -224,34 +251,38 @@
        this.applyDataList = res || []
      })
    },
    doSelect(rows){
      console.log(rows,this.applyDataList)
      this.applyDataList =[]
      this.form.applyIdList=[]
      if(rows && rows.length){
    changeApplyType(){
      this.$refs.form.clearValidate()
    },
    doSelect (rows) {
      console.log(rows, this.applyDataList)
      this.applyDataList = []
      this.form.applyIdList = []
      if (rows && rows.length) {
        rows.forEach(item => {
          this.applyDataList.push(item)
          this.form.applyIdList.push(item.id)
        })
      }
      this.$refs.form.clearValidate();
    },
    open (title, target, type) {
      this.showGoods=false
      this.showGoods = false
      this.title = title
      this.visible = true
      this.form.type = type
      this.getDate = []
      this.form.startDate = ''
      this.form.endDate = ''
      this.applyDataList=[]
      this.form.applyIdList=[]
      this.form.applyCateIdList=[]
      this.applyDataList = []
      this.form.applyIdList = []
      this.form.applyCateIdList = []
      this.loadLabels()
      this.form.limitPrice=null
      this.form.price=null
      this.form.startDate=null
      this.form.endDate=null
      this.form.num=1
      this.form.limitPrice = null
      this.form.price = null
      this.form.startDate = null
      this.form.endDate = null
      this.form.num = 1
      // æ–°å»º
      if (target == null) {
        this.$nextTick(() => {
@@ -266,17 +297,19 @@
        for (const key in this.form) {
          this.form[key] = target[key]
        }
        this.getDate = [target.startDate, target.endDate]
        if(this.form.applyType === 1){
          this.form.applyCateIdList =[]
        if (target.startDate && target.endDate) {
          this.getDate = [target.startDate, target.endDate]
        }
        if (this.form.applyType === 1) {
          this.form.applyCateIdList = []
          var ta = this.form.applyIds.split(',')
          if(ta && ta.length){
            ta.forEach(tt =>{
          if (ta && ta.length) {
            ta.forEach(tt => {
              this.form.applyCateIdList.push(parseInt(tt))
            })
          }
        }
        if(this.form.applyType === 2){
        if (this.form.applyType === 2) {
          this.form.applyIdList = this.form.applyIds.split(',')
          this.loadSelectGoods()
        }
admin/src/components/business/OperaGoodsWindow.vue
@@ -92,7 +92,7 @@
          <el-radio :value="0" :label="0" >下架</el-radio>
        </el-radio-group>
      </el-form-item>
      <el-form-item label="使用商品品牌" prop="brandIdList">
      <el-form-item label="适用商品品牌" prop="brandIdList">
        <el-select v-model="form.brandIdList"   placeholder="请选择商品品牌" clearable multiple @change="changeBrand">
          <el-option
              v-for="item in applyBrands"
admin/src/components/business/OperaIntegralShopMoneyWindow.vue
@@ -1,12 +1,13 @@
<template>
  <GlobalWindow
      :title="title"
      width="80%"
      width="100%"
      :withFooter="false"
      :visible.sync="visible"
  >
    <TableLayout :permissions="['business:integral:query']">
      <!-- æœç´¢è¡¨å• -->
      <el-form ref="searchForm" slot="search-form" :model="searchForm" label-width="100px" inline>
      <el-form ref="searchForm" slot="search-form" id='curSearchForm' :model="searchForm" label-width="100px" inline>
        <el-form-item label="" prop="type">
          <el-select v-model="searchForm.type"    placeholder="请选择收支类型"   @change="search" >
            <el-option :key="0" :value="0" label="收入"></el-option>
@@ -21,24 +22,26 @@
            <el-option :key="16" :value="16" label="订单结算"></el-option>
            <el-option :key="17" :value="17" label="余额提现"></el-option>
            <el-option :key="19" :value="19" label="提现退回"></el-option>
            <el-option :key="20" :value="20" label="订单结算退回"></el-option>
            <el-option :key="20" :value="25" label="订单结算退回"></el-option>
          </el-select>
        </el-form-item>
        <div class="date-style" style="display: inline">
          <el-form-item label="交易时间" prop="starttime" >
            <el-date-picker
                style="width: 160px"
                style="width: 190px"
                v-model="searchForm.starttime"
                type="datetime"
                value-format="yyyy-MM-dd HH:mm:ss"
                format="yyyy-MM-dd HH:mm:ss"
                range-separator="至"
                placeholder="开始时间"
                @change="search"
            ></el-date-picker>
          </el-form-item>
          <el-form-item label="-" label-width="10px" prop="endtime" >
            <el-date-picker
                style="width: 160px"
                style="width: 190px"
                @change="search"
                v-model="searchForm.endtime"
                type="datetime"
                value-format="yyyy-MM-dd HH:mm:ss"
@@ -94,6 +97,9 @@
import BaseTable from '@/components/base/BaseTable'
import TableLayout from '@/layouts/TableLayout'
import Pagination from '@/components/common/Pagination'
import moment from 'moment' // å¼•å…¥moment库
moment.locale('zh-cn')
export default {
  name: 'OperaIntegralShopMoneyWindow',
  extends: BaseTable,
@@ -102,7 +108,7 @@
    return {
      title: '',
      visible: false,
      tabelHeight: null,
      tableHeight: null,
      info: {},
      // æœç´¢
      searchForm: {
@@ -124,9 +130,21 @@
      'field.id': 'id',
      'field.main': 'id'
    })
    window.addEventListener('resize', () => {
      this.handleResize()
    })
    this.handleResize()
  },
  methods: {
    handleResize () {
      this.tableHeight = window.innerHeight - 300
      if (document.getElementById('curSearchForm')) {
        this.tableHeight = this.tableHeight - document.getElementById('curSearchForm').clientHeight
      }
    },
    open (title, info) {
      this.searchForm.starttime = moment(this.date).format('YYYY-MM-DD') + ' 00:00:00'
      this.title = title
      this.visible = true
      this.info = info
@@ -137,10 +155,10 @@
}
</script>
<style scoped>
.table-pagination{
/*.table-pagination{
  position: fixed !important;
  bottom: 50px;
}
  bottom: 0px;
}*/
.header-b{
  display: inline-block;
  font-size: 16px;
admin/src/components/business/OperaLabelExpressWindow.vue
@@ -1,6 +1,7 @@
<template>
  <GlobalAlertWindow
    :title="title"
    width="500px"
    :visible.sync="visible"
    :confirm-working="isWorking"
    @confirm="confirm"
admin/src/components/business/OperaLabelsAreaWindow.vue
@@ -2,15 +2,16 @@
  <GlobalAlertWindow
    v-loading="isUploading"
    :title="title"
    width="500px"
    :visible.sync="visible"
    :confirm-working="isWorking"
    @confirm="confirm"
  >
    <el-form :model="form" ref="form" :rules="rules" label-width="120px" label-suffix=":"  inline>
      <el-form-item label="区域名称" prop="name">
        <el-input v-model="form.name" placeholder="请输入分类名称"  v-trim/>
        <el-input v-model="form.name" placeholder="请输入区域名称"  v-trim/>
      </el-form-item>
      <el-form-item label="选择省份" prop="name">
      <el-form-item label="选择省份" prop="areaIdList">
        <el-select v-model="form.areaIdList" placeholder="请选择省份" multiple filterable>
          <el-option
              v-for="item in province"
@@ -53,6 +54,12 @@
      province: [],
      // éªŒè¯è§„则
      rules: {
        name: [
          { required: true, message: '请输入大区名称' }
        ],
        areaIdList: [
          { required: true, message: '请选择省份' }
        ],
      }
    }
  },
admin/src/components/business/OperaLabelsFeeAreaWindow.vue
@@ -23,18 +23,18 @@
      </el-form-item>
      <div style="display: flex">
        <el-form-item label="首重" prop="weight0" style="display: inline-block;flex: 1;">
          <el-input  v-model="form.weight0"    style="width: 150px" placeholder="请输入首重"    type="number">    <template slot="append" >kg</template>  </el-input>
          <el-input  v-model="form.weight0"    style="width: 200px" placeholder="请输入首重"    type="number">    <template slot="append" >kg</template>  </el-input>
        </el-form-item>
        <el-form-item label="首重运费" prop="fee0" style="display: inline-block;flex: 1;">
          <el-input  v-model="form.fee0"  style="width: 150px"    placeholder="请输入金额"  > <template slot="append" >元</template> </el-input>
          <el-input  v-model="form.fee0"  style="width: 200px"    placeholder="请输入金额"  > <template slot="append" >元</template> </el-input>
        </el-form-item>
      </div>
      <div style="display: flex">
      <el-form-item label="续重" prop="weight1" style="display: inline-block;flex:1">
        <el-input  v-model="form.weight1" style="width: 150px"    placeholder="请输入续重"    type="number">    <template slot="append" >kg</template>  </el-input>
        <el-input  v-model="form.weight1" style="width: 200px"    placeholder="请输入续重"    type="number">    <template slot="append" >kg</template>  </el-input>
      </el-form-item>
      <el-form-item label="续重运费增加" prop="fee1" style="display: inline-block;flex: 1;">
        <el-input  v-model="form.fee1" style="width: 150px"    placeholder="请输入金额"  > <template slot="append" >元</template> </el-input>
        <el-input  v-model="form.fee1" style="width: 200px"    placeholder="请输入金额"  > <template slot="append" >元</template> </el-input>
      </el-form-item>
    </div>
      <el-form-item label="排序码" prop="sortnum">
admin/src/components/business/OperaMemberDetail.vue
@@ -2,6 +2,7 @@
  <GlobalWindow
      :title="title"
      width="100%"
      :withFooter="false"
      :visible.sync="visible"
  >
    <div  class="detail-box">
@@ -153,10 +154,10 @@
}
</script>
<style scoped>
.table-pagination{
/*.table-pagination{
  position: fixed !important;
  bottom: 50px;
}
  bottom: 0px;
}*/
.header-b{
  display: inline-block;
  font-size: 16px;
admin/src/components/business/OperaNoticeWindow.vue
@@ -6,7 +6,7 @@
    @confirm="confirm"
  >
    <el-form :model="form" ref="form" :rules="rules" label-width="100px" label-suffix=":" inline>
      <el-form-item label="标题" prop="title">
        <el-input v-model="form.title" placeholder="请输入标题" v-trim/>
      </el-form-item>
@@ -19,12 +19,12 @@
          v-trim
        />
      </el-form-item>
      <el-form-item label="通知对象" prop="notifyObject">
<!--      <el-form-item label="通知对象" prop="notifyObject">
        <el-radio-group v-model="form.notifyObject">
          <el-radio label="0">用户</el-radio>
          <el-radio label="1">商家</el-radio>
        </el-radio-group>
      </el-form-item>
      </el-form-item>-->
    </el-form>
  </GlobalAlertWindow>
</template>
@@ -38,7 +38,6 @@
  components: { GlobalAlertWindow },
  data () {
    let rule = (rule, value, callBack) => {
      debugger
      console.log(rule, value);
      callBack()
    }
@@ -46,11 +45,10 @@
      // è¡¨å•数据
      form: {
        id: null,
        title: '',
        content: '',
        notifyObject: '0',
      },
      // éªŒè¯è§„则
      rules: {
admin/src/components/business/OperaShopGoodsWindow.vue
@@ -2,6 +2,7 @@
  <GlobalWindow
    :title="title"
    width="80%"
    :with-footer="false"
    :visible.sync="visible"
  >
    <TableLayout >
@@ -34,7 +35,7 @@
      </el-form>
      <!-- è¡¨æ ¼å’Œåˆ†é¡µ -->
      <template v-slot:table-wrap>
        <div :style="'display: flex;height:'+tabelHeight+'px;'">
<!--        <div :style="'display: flex;height:'+tabelHeight+'px;'">-->
          <el-table
              v-loading="isWorking.search"
              :data="tableData.list"
@@ -79,7 +80,7 @@
              :pagination="tableData.pagination"
          >
          </pagination>
          </div>
<!--          </div>-->
      </template>
    </TableLayout>
    <template  v-slot:footer>
@@ -210,8 +211,8 @@
}
</script>
<style scoped>
.table-pagination{
/*.table-pagination{
  position: fixed !important;
  bottom: 50px;
}
}*/
</style>
admin/src/components/business/OperaShopInfoWindow.vue
@@ -2,6 +2,7 @@
  <GlobalWindow
      :title="title"
      width="100%"
      :with-footer="false"
      :visible.sync="visible"
  >
    <div class="detail-box">
@@ -20,7 +21,7 @@
          <div v-if="info.status ==1" class="header-red">禁用</div>
        </div>
        <div class="info-item">
          <div class="info-item-a">经销商名称:<span>{{info.name || ''}}</span><span class="blue header-blue">{{ info.saleType == 1?'自由采购':'平台铺货'}}</span></div>
          <div class="info-item-a">经销商名称:<span>{{info.name || ''}}</span><span class="blue header-blue">{{ info.saleType == 1?'自主采购':'平台铺货'}}</span></div>
          <div class="info-item-a">门店ID:<span>{{info.code || ''}}</span></div>
          <div class="info-item-a">登录账号:<span>{{info.username || ''}}</span></div>
        </div>
@@ -112,15 +113,14 @@
    <template v-if="activeGroup === 1">
      <div class="detail-box">
        <el-form ref="searchForm1"   :model="searchForm1"    style="display: block;" >
          <el-form-item label="" prop="code" style="display: inline-block;margin-right: 30px;">
            <el-input v-model="searchForm1.code" placeholder="请输入订单号" @keypress.enter.native="handlePageChange1(1)"></el-input>
          <el-form-item label="" prop="code" style="display: inline-block;margin-right: 20px;">
            <el-input v-model="searchForm1.code" style="width: 130px;" placeholder="订单编号" @keypress.enter.native="handlePageChange1(1)"></el-input>
          </el-form-item>
          <el-form-item label="" prop="goodsName" style="display: inline-block;margin-right: 30px;">
            <el-input v-model="searchForm1.goodsName" placeholder="请输入商品名称/编码" @keypress.enter.native="handlePageChange1(1)"></el-input>
          <el-form-item label="" prop="goodsName" style="display: inline-block;margin-right: 20px;">
            <el-input v-model="searchForm1.goodsName" style="width: 130px;" placeholder="商品名称/编码" @keypress.enter.native="handlePageChange1(1)"></el-input>
          </el-form-item>
          <el-form-item label="" prop="status" style="display: inline-block;margin-right: 30px;">
            <!-- 0正常 1禁用 -->
            <el-select     v-model="searchForm1.status"  placeholder="请选择订单状态"  @change="handlePageChange1(1)"  >
          <el-form-item label="" prop="status" style="display: inline-block;margin-right: 20px;">
            <el-select     v-model="searchForm1.status"  placeholder="订单状态"  style="width: 130px;"  @change="handlePageChange1(1)"  >
              <el-option  :key="0" :value="0"  label="待支付"  ></el-option>
              <el-option   :key="1" :value="1" label="待发货/待自提"  ></el-option>
              <el-option   :key="2" :value="2" label="待收货"  ></el-option>
@@ -128,7 +128,13 @@
              <el-option   :key="4" :value="4" label="已关闭"  ></el-option>
            </el-select>
          </el-form-item>
          <div class="date-style" style="display: inline-block;font-size: 14px;margin-right: 20px;">订单时间:
          <el-form-item label="" prop="receiveType" style="display: inline-block;margin-right: 20px;">
            <el-select v-model="searchForm1.receiveType"   style="width: 130px; "  placeholder="取货方式" clearable   @change="handlePageChange1(1)" >
              <el-option :key="0" :value="0" label="快递配送"></el-option>
              <el-option :key="1" :value="1" label="自提"></el-option>
            </el-select>
          </el-form-item>
          <div class="date-style" style="display: inline-block;font-size: 14px;margin-right: 20px;font-size: 12px;">订单时间:
            <el-form-item label="" prop="starttime" style="display: inline-block" >
              <el-date-picker
                  style="width: 160px; "
@@ -148,7 +154,7 @@
                  value-format="yyyy-MM-dd HH:mm:ss"
                  format="yyyy-MM-dd HH:mm:ss"
                  range-separator="至"
                  placeholder="截止时间"
                  placeholder="结束时间"
              ></el-date-picker>
            </el-form-item>
          </div>
@@ -175,7 +181,12 @@
                stripe
                border
            >
              <el-table-column prop="code" label="订单编号"   align="center" min-width="120px" show-overflow-tooltip>  </el-table-column>
              <el-table-column prop="code" label="订单编号"  fixed align="center" min-width="120px" show-overflow-tooltip>
                <template slot-scope="{row}">
                <span    style="color: #216EEE; "   @click="$refs.operaGoodsOrderDetail.open('订单详情', row, 'first')">{{row.code}}</span>
                </template>
              </el-table-column>
              <el-table-column prop="details" label="商品信息"   align="center" min-width="250px" show-overflow-tooltip>
                <template slot-scope="{row}">
                  <div v-if="row.goodsorderDetailList && row.goodsorderDetailList.length"  style="width: 220px">
@@ -195,6 +206,16 @@
              <el-table-column prop="couponPrice" label="优惠金额(元)" align="center" min-width="100px">
                <template slot-scope="{row}">
                  {{(row.couponPrice || 0) + (row.integral||0)}}
                </template>
              </el-table-column>
              <el-table-column prop="status" label="订单状态" align="center" min-width="100px">
                <template slot-scope="{row}">
                  <span v-if="row.status ==0" class="orange">待支付</span>
                  <span  v-if="row.status ==1" class="orange">{{ (row.receiveType||0)==1?'待自提':'待发货'}}</span>
                  <span  v-if="row.status ==2" class="orange">待收货</span>
                  <span  v-if="row.status ==3" class="grey">交易完成</span>
                  <span  v-if="row.status ==4" class="grey">已取消</span>
                  <span  v-if="row.status ==6" class="grey">已退款</span>
                </template>
              </el-table-column>
              <el-table-column prop="price" label="实付价格(元)" align="center" min-width="200px"></el-table-column>
@@ -260,8 +281,8 @@
                  <span v-else class="red">扣除</span>
                </template>
              </el-table-column>
              <el-table-column prop="num" label="数量" fixed align="center" min-width="100px">  </el-table-column>
              <el-table-column prop="totalNum" label="余额" fixed align="center" min-width="100px">  </el-table-column>
              <el-table-column prop="num" label="数量"   align="center" min-width="100px">  </el-table-column>
              <el-table-column prop="totalNum" label="余额"   align="center" min-width="100px">  </el-table-column>
              <el-table-column prop="strObjType" label="消费类型" align="center" min-width="100px"></el-table-column>
              <el-table-column prop="content" label="来源" align="center" min-width="150px" show-overflow-tooltip></el-table-column>
              <el-table-column prop="remark" label="备注" align="center" min-width="200px"></el-table-column>
@@ -283,6 +304,7 @@
    </template>
    <OperaChangeShopRecordWindow ref="OperaChangeShopRecordWindow"/>
    <OperaChangeIntegralWindow ref="OperaChangeIntegralWindow" @success="successBiz"/>
    <OperaGoodsOrderDetail ref="operaGoodsOrderDetail" @success="handlePageChange"/>
  </GlobalWindow>
</template>
<script>
@@ -291,6 +313,7 @@
import TableLayout from '@/layouts/TableLayout'
import Pagination from '@/components/common/Pagination'
import OperaChangeShopRecordWindow from '@/components/business/OperaChangeShopRecordWindow'
import OperaGoodsOrderDetail from '@/components/business/OperaGoodsOrderDetail'
import OperaChangeIntegralWindow from '@/components/business/OperaChangeIntegralWindow'
import { shopDetail as detail } from '@/api/business/shop'
import { fetchList as actionList } from '@/api/business/userAction'
@@ -299,7 +322,7 @@
export default {
  name: 'OperaShopInfoWindow',
  extends: BaseTable,
  components: { GlobalWindow, TableLayout, Pagination, OperaChangeShopRecordWindow, OperaChangeIntegralWindow },
  components: { GlobalWindow, TableLayout, Pagination, OperaChangeShopRecordWindow, OperaChangeIntegralWindow,OperaGoodsOrderDetail },
  data () {
    return {
      title: '',
@@ -312,6 +335,7 @@
      searchForm1: {
        distributionShopId: '',
        goodsName: null,
        receiveType:'',
        code: null,
        status: null,
        starttime: null,
@@ -535,10 +559,10 @@
    border-bottom: 2px solid #216EEE;
  }
}
.table-pagination{
/*.table-pagination{
  position: fixed !important;
  bottom: 50px;
}
}*/
.header-b{
  display: inline-block;
  font-size: 16px;
admin/src/components/business/OperaWithdrawRecordWindow.vue
@@ -78,7 +78,7 @@
      <p class="tip-header" >申请审批</p>
      <el-form :model="checkForm" ref="checkForm" :rules="rules" label-width="110px" label-suffix=":"  style="margin-left: 20px;width: 500px;" inline >
        <el-form-item label="审核结果" prop="status">
          <el-radio-group v-model="checkForm.status">
          <el-radio-group v-model="checkForm.status" @change="changeStatuus">
            <el-radio :label="1">通过</el-radio>
            <el-radio  :label="2">驳回</el-radio>
          </el-radio-group>
@@ -99,7 +99,7 @@
        <el-form-item label="打款银行" prop="payBank" v-if="checkForm.status ==1">
          <el-input v-model="checkForm.payBank" placeholder="请输入打款银行"  style="width: 350px"  v-trim/>
        </el-form-item>
        <el-form-item label="审核备注" prop="auditRemark">
        <el-form-item label="审核备注" prop="auditRemark" >
          <el-input v-model="checkForm.auditRemark" placeholder="请输入审核备注" type="textarea"  style="width: 350px; " rows="6" v-trim/>
        </el-form-item>
      </el-form>
@@ -134,10 +134,12 @@
        payBank: '',
        payFileList: null
      },
      isRemarkRequired: false,
      rules: {
        status: [
          { required: true, message: '请选择审核结果' }
        ]
        ],
        auditRemark: []
      }
    }
  },
@@ -149,7 +151,25 @@
      'field.main': 'id'
    })
  },
  watch: {
    isRemarkRequired(newVal) {
      this.updateRules();
    }
  },
  methods: {
    changeStatuus(){
      this.isRemarkRequired = this.checkForm.status ==2
    },
    updateRules() {
      if (this.isRemarkRequired) {
        this.rules.auditRemark = [
          { required: true, message: '请填写审核备注', trigger: 'blur' }
        ]
      } else {
        this.rules.auditRemark = []; // ä¸å¿…填时,清空规则数组
      }
      this.$refs.checkForm.clearValidate(); // æ¸…除之前的验证状态,避免出现不必要的提示
    },
    confirmDo () {
      this.$refs.checkForm.validate((valid) => {
        if (!valid) {
admin/src/components/business/ResetPwdShopWindow.vue
@@ -6,7 +6,7 @@
    title="重置密码"
    @confirm="confirm"
  >
    <p class="tip" v-if="user != null">为经销商 <em>{{shop.realname}}</em> é‡ç½®å¯†ç </p>
    <p class="tip" v-if="shop != null">为经销商 <em>{{shop.realname}}</em> é‡ç½®å¯†ç </p>
    <el-form :model="form" ref="form" :rules="rules">
      <el-form-item label="新密码" prop="password" required>
        <el-input v-model="form.password" type="password" placeholder="请输入新密码" maxlength="30" show-password></el-input>
@@ -55,7 +55,7 @@
        }
        this.isWorking = true
        resetPwd({
          id: this.user.id,
          id: this.shop.id,
          password: this.form.password
        })
          .then(() => {
admin/src/components/common/UploadFile.vue
@@ -43,7 +43,7 @@
  data() {
    return {
      fileList: [],
      uploadImgUrl: process.env.VUE_APP_API_PREFIX + '/visitsAdmin/cloudService/public/upload?folder='+this.uploadData.folder
      uploadImgUrl: process.env.VUE_APP_API_PREFIX + '/public/upload?folder='+this.uploadData.folder
    }
  },
admin/src/views/business/banner.vue
@@ -52,10 +52,21 @@
        </el-table-column>
        <el-table-column prop="imgurlfull" label="展示图" align="center" min-width="100px">
          <template slot-scope="{row}">
            <el-image :scr="row.imgFullUrl" :preview-src-list="[row.imgFullUrl]"></el-image>
            <el-image :src="row.imgFullUrl" :preview-src-list="[row.imgFullUrl]"></el-image>
          </template>
        </el-table-column>
        <el-table-column prop="cityName" label="展示城市" align="center" min-width="100px"></el-table-column>
        <el-table-column prop="status" label="状态" align="center" min-width="100px">
          <template slot-scope="{row}">
            <el-switch
                v-model="row.status"
                active-color="#13ce66"
                inactive-color="#999"
                :active-value="0"
                :inactive-value="1"
                @change="statusChange(row)"
            ></el-switch>
          </template>
        </el-table-column>
        <el-table-column prop="type" label="跳转功能" align="center" min-width="100px">
           <template slot-scope="{row}">
            {{ typeToStr(row.type) }}
@@ -64,9 +75,10 @@
        <el-table-column prop="content" label="内容" align="center" min-width="100px">
          <template slot-scope="{row}">
            <el-button v-if="row.type==0" type="text" @click="$refs.showRich.open('详情',row)">查看详情</el-button>
            <template v-else>
            <el-button v-if="row.type==1 && row.content" type="text"  @click="goLink(row)" :title="row.content">跳转外链</el-button>
<!--            <template v-else>
              {{ row.content }}
            </template>
            </template>-->
          </template>
        </el-table-column>
        <el-table-column prop="sortnum" label="排序码" align="center" min-width="100px"></el-table-column>
@@ -113,27 +125,27 @@
      // æœç´¢
      searchForm: {
        position: '',
        type: '',
        type: ''
      },
      postions: [
        // 0首页 1推荐店铺 2商城首页
        { label: '首页', id: 0 },
        { label: '推荐店铺', id: 1 },
        { label: '商城首页', id: 2 },
        { label: '商城首页', id: 2 }
      ],
      types: [
        //  0富文本 1外链 2活动 3商家
        { label: '富文本', id: 0 },
        { label: '外链', id: 1 },
        { label: '活动', id: 2 },
        { label: '商家', id: 3 },
        { label: '外链', id: 1 }
      /*  { label: '活动', id: 2 },
        { label: '商家', id: 3 }, */
      ]
    }
  },
  provide() {
  provide () {
    return {
      postions: () => this.postions,
      types: () => this.types,
      types: () => this.types
    }
  },
  created () {
@@ -146,15 +158,30 @@
    this.search()
  },
  methods: {
    postionToStr(postion) {
    statusChange (row) {
      this.api.updateStatus(row)
        .then(() => {
          this.$tip.success('操作成功')
        })
        .catch(e => {
          this.$tip.error(e)
        })
        .finally(() => {
          this.handlePageChange()
        })
    },
    goLink(row){
      window.open(row.content)
    },
    postionToStr (postion) {
      // console.log(postion);
      let temp = this.postions.find(item => item.id == postion)
      const temp = this.postions.find(item => item.id == postion)
      return temp ? temp.label : '-'
    },
    typeToStr(type) {
      let temp = this.types.find(item => item.id == type)
    typeToStr (type) {
      const temp = this.types.find(item => item.id == type)
      return temp ? temp.label : '-'
    },
  },
    }
  }
}
</script>
admin/src/views/business/coupon.vue
@@ -38,21 +38,28 @@
            <span v-if="row.couponType ===1"> æŠ˜æ‰£åˆ¸</span>
          </template>
        </el-table-column>
        <el-table-column label="优惠规则" align="center" min-width="150px" show-overflow-tooltip>
        <el-table-column label="优惠规则" align="center" min-width="200px" show-overflow-tooltip>
          <template slot-scope="{row}">
            <span v-if="row.couponType ===0"> {{ `订单满${row.limitPrice||0}元,减${row.price||0}` }}元</span>
            <span v-if="row.couponType ===1"> {{ `订单满${row.limitPrice||0}元,享${row.price||0}折` }}</span>
            <span v-if="row.couponType ===1"> {{ `订单满${row.limitPrice||0}元,享${row.price||0}折,`}}</span><br>
            <span v-if="row.couponType ===1"> {{ `优惠金额上限${row.maxPrice||0}元 `}}</span>
          </template>
        </el-table-column>
        <el-table-column prop="num" label="发放总量" align="center" min-width="100px"></el-table-column>
        <el-table-column  label="已发送数量" align="center" min-width="100px">
          <template slot-scope="{row}">
            <el-button type="text" @click="showCouponUse(row.id)">{{ row.received||0 }}</el-button>
          </template>
        </el-table-column>
        <el-table-column prop="num" label="发放总量" align="center" min-width="100px">
          <template slot-scope="{row}">
            <span v-if="row.num "> {{ row.num}}</span>
            <span v-if="!row.num ||row.num<=0 ">不限</span><br>
          </template>
        </el-table-column>
        <el-table-column label="剩余数量" align="center" min-width="100px">
          <template slot-scope="{row}">
            {{ (row.num||0) - (row.received||0) }}
              <span v-if="row.num ">  {{ (row.num||0) - (row.received||0) }}</span>
              <span v-if="!row.num ||row.num<=0 ">不限</span><br>
          </template>
        </el-table-column>
<!--
@@ -145,7 +152,6 @@
      this.$refs.operaCouponDetail.open('优惠券详情', row)
    },
    showCouponUse(id) {
      this.$refs.operaCouponUsedDetail.open('优惠券领取详情', id)
    },
    statusChange(row) {
admin/src/views/business/goodsorder.vue
@@ -31,6 +31,9 @@
          <el-option :key="1" :value="1" label="自提"></el-option>
        </el-select>
      </el-form-item>
      <el-form-item label="商品名称" prop="shopName">
        <el-input v-model="searchForm.goodsName" placeholder="请输入商品名称" clearable @keypress.enter.native="search"></el-input>
      </el-form-item>
      <el-form-item label="归属经销商" prop="shopName">
        <el-input v-model="searchForm.shopName" placeholder="请输入经销商名称" clearable @keypress.enter.native="search"></el-input>
      </el-form-item>
@@ -40,7 +43,7 @@
      <div class="date-style" style="display: inline">
        <el-form-item label="订单时间" prop="starttime" >
          <el-date-picker
              style="width: 160px"
              style="width: 180px"
              clearable
              @change="search"
              v-model="searchForm.starttime"
@@ -53,7 +56,7 @@
        </el-form-item>
        <el-form-item label="-" label-width="10px" prop="endtime" >
          <el-date-picker
              style="width: 160px"
              style="width: 180px"
              clearable
              v-model="searchForm.endtime"
              type="datetime"
@@ -67,8 +70,8 @@
      </div>
      <section>
        <el-button type="primary" @click="search">搜索</el-button>
        <el-button type="primary" :loading="isWorking.export" v-permissions="['business:goodsorder:exportExcel']" @click="exportExcel">导出</el-button>
        <el-button @click="reset">重置</el-button>
        <el-button type="primary" :loading="isWorking.export" v-permissions="['business:goodsorder:exportExcel']" @click="exportExcel">导出</el-button>
      </section>
    </el-form>
    <!-- è¡¨æ ¼å’Œåˆ†é¡µ -->
@@ -101,7 +104,7 @@
              </div>
              <div class="message" style="">
                <div class="name">{{ goods.name }}</div>
                <div class="attr">ï¿¥{{ goods.goodsNum }}</div>
                <div class="attr">x{{ goods.goodsNum }}</div>
              </div>
            </div>
            <div class="mark" v-if="item.sysInfo&& item.sysInfo.length" >备注:{{item.sysInfo}}</div>
@@ -111,7 +114,7 @@
            <div class="el-icon-phone-outline" style="padding: 10px 5px;width: 100%;color: #777;font-size: 13px;">{{ item.linkphone }}</div>
          </div>
          <div class="address-message right-border right-border" style="padding-top: 15px;" >
            <div class="underway el-icon-sell" >{{item.receiveType==1?'到店自提':'快递配送'}} </div>
            <div class="underway el-icon-sell" >{{item.receiveType==1?'门店自提':'快递配送'}} </div>
            <div class=" el-icon-add-location" v-if="item.receiveType!=1">{{ item.linkaddr }}</div>
          </div>
          <div class="price-message right-border">
@@ -190,7 +193,7 @@
        status: '',
        nickName: '',
        starttime: null,
        enttime: null
        endtime: null
      }
    }
  },
@@ -238,7 +241,7 @@
    reset () {
      this.createDate = []
      this.searchForm.starttime = ''
      this.searchForm.enttime = ''
      this.searchForm.endtime = ''
      this.$refs.searchForm.resetFields()
      this.search()
    },
admin/src/views/business/information.vue
@@ -40,7 +40,12 @@
          ></el-option>
        </el-select>
      </el-form-item>
      <el-form-item label="状态" prop="status"  >
        <el-select   v-model="searchForm.status"  style="width: 150px" placeholder="状态"  clearable @change="search">
          <el-option :key="0" :value="0" label="启用"></el-option>
          <el-option :key="1" :value="1" label="禁用"></el-option>
        </el-select>
      </el-form-item>
      <section>
        <el-button type="primary" @click="search">搜索</el-button>
        <el-button @click="reset">重置</el-button>
@@ -68,7 +73,7 @@
        <el-table-column prop="name" label="标题" align="center" min-width="100px"></el-table-column>
        <el-table-column prop="lablesName" label="所属分类" align="center" min-width="100px"></el-table-column>
        <el-table-column prop="brandName" label="所属品牌" align="center" min-width="100px"></el-table-column>
        <el-table-column prop="content" label="数据值" min-width="100px">
        <el-table-column prop="content" label="详情" min-width="100px">
          <template slot-scope="{row}">
            <div v-if="row.content">
              <el-button v-if="row.contentType == 1" title="点击跳转外链查看" type="text" @click="openUrl(row)" >点击跳转</el-button>
@@ -150,6 +155,7 @@
        name: '',
        realName: '',
        brandId: null,
        status: null,
        labelId: null,
        contentType: '',
        type: 3 // ç±»åž‹0商家活动 1平台活动 2探店 3资讯
admin/src/views/business/labelsKnowledge.vue
@@ -14,7 +14,7 @@
    <template v-slot:table-wrap>
      <ul class="toolbar" v-permissions="['business:labels:create', 'business:labels:delete']">
        <li><el-button type="primary" @click="$refs.operaLabelsWindow.open('新建知识库分类')" icon="el-icon-plus" v-permissions="['business:labels:create']">新建</el-button></li>
        <li><el-button @click="deleteByIdInBatch" icon="el-icon-delete" v-permissions="['business:labels:delete']">删除</el-button></li>
        <li><el-button type="danger" @click="deleteByIdInBatch" icon="el-icon-delete" v-permissions="['business:labels:delete']">删除</el-button></li>
      </ul>
      <el-table
        v-loading="isWorking.search"
admin/src/views/business/member.vue
@@ -2,7 +2,7 @@
  <TableLayout :permissions="['business:member:query']">
    <!-- æœç´¢è¡¨å• -->
    <el-form ref="searchForm" slot="search-form" :model="searchForm" label-width="100px" inline>
      <el-form-item label="用户" prop="nickname ">
      <el-form-item label="用户" prop="nickname">
        <el-input v-model="searchForm.nickname"  style="width: 160px" placeholder="昵称/手机号/真实姓名" @keypress.enter.native="search"></el-input>
      </el-form-item>
      <el-form-item label="状态" prop="status"  >
@@ -12,11 +12,11 @@
          <el-option :key="2" :value="2" label="已注销"></el-option>
        </el-select>
      </el-form-item>
      <el-form-item label="关联经销商" prop="shopName ">
      <el-form-item label="关联经销商" prop="shopName">
        <el-input v-model="searchForm.shopName"  style="width: 160px" placeholder="经销商名称" @keypress.enter.native="search"></el-input>
      </el-form-item>
      <div class="date-style" style="display: inline">
        <el-form-item label="创建时间" prop="queryStartDate" >
        <el-form-item label="创建时间" prop="starttime" >
          <el-date-picker
              style="width: 160px"
            v-model="searchForm.starttime"
@@ -27,7 +27,7 @@
            placeholder="开始时间"
        ></el-date-picker>
        </el-form-item>
        <el-form-item label="-" label-width="10px" prop="queryEndDate" >
        <el-form-item label="-" label-width="10px" prop="endtime" >
          <el-date-picker
              style="width: 160px"
              v-model="searchForm.endtime"
@@ -56,14 +56,27 @@
        stripe
        border
      >
        <el-table-column prop="openid" label="微信openid" align="center"  min-width="100px"></el-table-column>
        <el-table-column prop="nickname" label="昵称" align="center"  min-width="100px"></el-table-column>
        <el-table-column prop="nickname" label="昵称" fixed align="center"  min-width="100px">
          <template slot-scope="{row}">
            <span style="cursor: pointer" title="点击查看详情" class="blue" @click="showMemberDetail(row)">{{row.nickname}}</span>
          </template>
        </el-table-column>
        <el-table-column prop="imgurl" label="头像" align="center" min-width="70px">
          <template slot-scope="{row}">
            <el-image style="width: 60px;height: 60px;"  v-if="row.imgurl" :src="row.imgFullUrl+row.imgurl" :preview-src-list="[row.imgFullUrl+row.imgurl]"></el-image>
          </template>
        </el-table-column>
        <el-table-column prop="openId" label="微信openid" align="center"  min-width="150px"  >
          <template slot-scope="{row}">
            <span >{{row.openId}}</span>
          </template>
        </el-table-column>
        <el-table-column prop="name" label="客户姓名" align="center"  min-width="100px"></el-table-column>
        <el-table-column prop="phone" label="授权手机号" align="center"  min-width="100px"></el-table-column>
        <el-table-column prop="idcard" label="身份证号" align="center"  min-width="100px"></el-table-column>
        <el-table-column prop="integral" label="现有积分" align="center"  min-width="100px"></el-table-column>
        <el-table-column prop="totalIntegral" label="累计积分" align="center"  min-width="100px"></el-table-column>
        <el-table-column prop="totalIntegral" label="累计扣除" align="center"  min-width="100px"></el-table-column>
        <el-table-column prop="totalReduceIntegral" label="累计扣除" align="center"  min-width="100px"></el-table-column>
        <el-table-column prop="shopName" label="关联经销商" align="center"  min-width="100px"></el-table-column>
        <el-table-column prop="createDate" label="创建时间" align="center"  min-width="140px"></el-table-column>
        <el-table-column label="状态" align="center"  min-width="100px">
@@ -79,7 +92,7 @@
            <span v-if="row.status==2" class="grey">已注销</span>
          </template>
        </el-table-column>
        <el-table-column label="操作" align="center"  min-width="200px">
        <el-table-column label="操作" align="center"  min-width="100px">
          <template slot-scope="{row}">
            <el-button type="text" @click="showMemberDetail(row)">详情</el-button>
            <el-button type="text" v-if="row.bindShopId !=null && row.status!=2" @click="changeShop(row)">更换经销商</el-button>
admin/src/views/business/memberCoupon.vue
@@ -14,11 +14,16 @@
            <el-option :key="1" :value="1" label="折扣券"></el-option>
          </el-select>
      </el-form-item>
      <el-form-item label="状态" prop="status">
        <el-select  v-model="searchForm.status"  placeholder="状态"  clearable @change="search" >
      <el-form-item label="状态" prop="status" >
        <el-select  v-model="searchForm.status"  placeholder="状态"  clearable @change="changeStatus" >
          <el-option  :value="0" label="未使用"></el-option>
          <el-option  :value="1" label="已使用"></el-option>
          <el-option  :value="2" label="已过期"></el-option>
        </el-select>
      </el-form-item>
      <el-form-item label="是否过期" prop="isexpire" v-if="searchForm.status ===0">
        <el-select  v-model="searchForm.isexpire"  placeholder="状态"  clearable @change="search" >
          <el-option  :value="0" label="未过期"></el-option>
          <el-option  :value="1" label="已过期"></el-option>
        </el-select>
      </el-form-item>
      <el-form-item label="发放类型" prop="getMethod">
@@ -74,9 +79,12 @@
        </el-table-column>
        <el-table-column prop="status" label="状态" min-width="100px">
          <template slot-scope="{row}">
            <span v-if="row.status ===0" class="green"> æœªä½¿ç”¨</span>
            <div v-if="row.status ===0" >
              <span class="grey"  v-if="row.isexpire ===1" >已过期</span>
              <span class="green" v-else> æœªä½¿ç”¨</span>
            </div>
            <span v-else-if="row.status ===1" class="blue"> å·²ä½¿ç”¨</span>
            <span v-else class="grey">已过期</span>
          </template>
        </el-table-column>
        <el-table-column prop="useDate" label="使用时间" min-width="100px"></el-table-column>
@@ -112,10 +120,12 @@
        nikeName: '',
        name: '',
        couponType: '',
        status: '',
        status: null,
        isexpire: '',
        getMethod: '',
        orderCode: ''
      }
      },
      hiddenexpire: false
    }
  },
  created () {
@@ -126,6 +136,12 @@
      'field.main': 'id'
    })
    this.search()
  },
  methods:{
    changeStatus(){
      this.searchForm.isexpire=''
      this.search()
    }
  }
}
</script>
admin/src/views/business/notice.vue
@@ -26,16 +26,16 @@
        <el-table-column type="selection" width="55"></el-table-column>
        <!-- <el-table-column prop="id" label="主键" align="center" min-width="100px"></el-table-column> -->
        <el-table-column prop="title" label="标题" align="center" min-width="120px"></el-table-column>
        <el-table-column prop="content" label="内容" align="center" min-width="180px"></el-table-column>
        <el-table-column prop="content" label="内容" align="center" min-width="380px"></el-table-column>
        <!-- <el-table-column prop="objMemberId" label="关联用户编码(关联member表)" min-width="100px"></el-table-column> -->
        <!-- <el-table-column prop="objMemberImg" label="关联用户头像" min-width="100px"></el-table-column> -->
        <!-- <el-table-column prop="imgurl" label="列表图" min-width="100px"></el-table-column>
        <el-table-column prop="objId" label="对象编码" min-width="100px"></el-table-column> -->
        <el-table-column prop="notifyObject" label="通知对象" align="center" min-width="100px">
<!--        <el-table-column prop="notifyObject" label="通知对象" align="center" min-width="100px">
          <template slot-scope="{row}">
            {{ row.notifyObject==0 ? '用户' : '商家' }}
          </template>
        </el-table-column>
        </el-table-column>-->
        <!-- <el-table-column prop="type" label="消息类型 0订单通知 1系统消息 2互动消息 3优惠券提醒 4官方客服  5活动推荐 6我的关注" min-width="100px"></el-table-column> -->
        <el-table-column prop="createDate" label="创建时间" align="center" min-width="140px"></el-table-column>
        <el-table-column prop="creatorName" label="创建人" align="center" min-width="100px"></el-table-column>
admin/src/views/business/platformGoods.vue
@@ -72,7 +72,7 @@
        @selection-change="handleSelectionChange"
      >
        <el-table-column type="selection" width="55"></el-table-column>
        <el-table-column prop="imgurl" label="商品信息" min-width="80px">
        <el-table-column prop="imgurl" label="商品主图" min-width="80px">
          <template slot-scope="{row}">
            <el-image style="width: 50px;height: 50px;" v-if="row.imgurl && row.imgurl!=''" :src="row.resourcePath+row.imgurl" :preview-src-list="[row.resourcePath+row.imgurl]"></el-image>
          </template>
admin/src/views/business/shop.vue
@@ -5,19 +5,52 @@
      <el-form-item label="名称" prop="name">
        <el-input v-model="searchForm.name" placeholder="请输入名称" @keypress.enter.native="search"></el-input>
      </el-form-item>
      <el-form-item label="门店ID" prop="code">
        <el-input v-model="searchForm.code" placeholder="请输入门店ID" @keypress.enter.native="search"></el-input>
      </el-form-item>
      <el-form-item label="登录账号" prop="name">
        <el-input v-model="searchForm.username" placeholder="请输入登录账号" @keypress.enter.native="search"></el-input>
      </el-form-item>
      <el-form-item label="销售模式" prop="saleType" >
        <!-- 0正常 1禁用 -->
        <el-select     v-model="searchForm.saleType"  placeholder="销售模式"  @change="search"  >
        <el-select     v-model="searchForm.saleType"  placeholder="销售模式"  style="width: 100px"  @change="search"  >
          <el-option  :key="0" :value="0"  label="平台铺货"  ></el-option>
          <el-option   :key="1" :value="1" label="自主采购"  ></el-option>
        </el-select>
      </el-form-item>
      <el-form-item label="省市区" prop="provinceId" >
      <el-select v-model="searchForm.provinceId" placeholder="省份" style="width: 100px" filterable @change="selectProvince">
        <el-option
            v-for="item in provinces"
            :key="item.id"
            :value="item.id"
            :label="item.name"
        ></el-option>
      </el-select>
      </el-form-item>
      <el-form-item label="" prop="cityId" >
      <el-select v-model="searchForm.cityId" filterable placeholder="城市"  @change="selectCity" style="width: 100px" >
        <el-option
            v-for="item in cities"
            :key="item.id"
            :value="item.id"
            :label="item.name"
        ></el-option>
      </el-select>
      </el-form-item>
      <el-form-item label="" prop="areaId" >
      <el-select v-model="searchForm.areaId" filterable placeholder="区域"  style="width: 100px" >
        <el-option
            v-for="item in areas"
            :key="item.id"
            :value="item.id"
            :label="item.name"
        ></el-option>
      </el-select>
      </el-form-item>
      <el-form-item label="状态" prop="status">
        <!-- 0正常 1禁用 -->
        <el-select     v-model="searchForm.status"  placeholder="请选择状态"    @change="search"   >
        <el-select     v-model="searchForm.status"  placeholder="请选择状态"  style="width: 100px"    @change="search"   >
          <el-option  :key="0" :value="0"  label="正常"  ></el-option>
          <el-option   :key="1" :value="1" label="禁用"  ></el-option>
        </el-select>
@@ -135,21 +168,29 @@
import OperaGoodsShopWindow from '@/components/business/OperaGoodsShopWindow'
import { resetPwd, updateIsRecById } from '@/api/business/shop'
import ResetPwdShopWindow from '@/components/business/ResetPwdShopWindow'
import { listByParentId } from '@/api/business/areas'
export default {
  name: 'Shop',
  extends: BaseTable,
  components: { TableLayout, Pagination, OperaShopWindow, OperaShopInfoWindow, ResetPwdShopWindow,OperaGoodsShopWindow },
  components: { TableLayout, Pagination, OperaShopWindow, OperaShopInfoWindow, ResetPwdShopWindow, OperaGoodsShopWindow },
  data () {
    return {
      // æœç´¢
      searchForm: {
        name: '',
        code: '',
        username: '',
        status: '',
        saleType: '',
        isrec: ''
      }
        isrec: '',
        provinceId: '',
        cityId: '',
        areaId: ''
      },
      provinces: [],
      cities: [],
      areas: []
    }
  },
  created () {
@@ -159,11 +200,55 @@
      'field.id': 'id',
      'field.main': 'id'
    })
    listByParentId({ type: 0, parentId: '' })
      .then(data => {
        this.provinces = data
      })
    this.search()
  },
  methods: {
    goPriceSet(row){
      this.$refs.OperaGoodsShopWindow.open('设置供货价 - '+row.name, row )
    selectProvince (val) {
      this.searchForm.cityId = null
      this.searchForm.areaId = null
      this.cities = []
      this.areas = []
      listByParentId({ type: 1, parentId: val })
        .then(data => {
          this.cities = data
        })
        .catch(e => {
          this.$tip.error(e)
        })
    },
    selectCity (val) {
      this.searchForm.areaId = null
      this.areas = []
      listByParentId({ type: 2, parentId: val })
        .then(data => {
          this.areas = data
        })
        .catch(e => {
          this.$tip.error(e)
        })
    },
    initCityArea (proid, cityid) {
      listByParentId({ type: 1, parentId: proid })
        .then(data => {
          this.cities = data
        })
        .catch(e => {
          this.$tip.error(e)
        })
      listByParentId({ type: 2, parentId: cityid })
        .then(data => {
          this.areas = data
        })
        .catch(e => {
          this.$tip.error(e)
        })
    },
    goPriceSet (row) {
      this.$refs.OperaGoodsShopWindow.open('设置供货价 - ' + row.name, row)
    },
    resetPwd (row) {
      this.$dialog.messageWaring('确认重置该经销商【' + row.name + '】的登录密码吗?')
@@ -195,7 +280,7 @@
        })
    },
    showDetail (row) {
      this.$refs.OperaShopInfoWindow.open('经销商详情【'+row.name+'】', row)
      this.$refs.OperaShopInfoWindow.open('经销商详情【' + row.name + '】', row)
    }
  }
}
mini-program/unpackage/dist/dev/.sourcemap/mp-weixin/pages/confirm-order/confirm-order.js.map
@@ -1 +1,5 @@
{"version":3,"sources":["uni-app:///main.js","webpack:///D:/豆米/dingyuannongji/mini-program/pages/confirm-order/confirm-order.vue?33f7","webpack:///D:/豆米/dingyuannongji/mini-program/pages/confirm-order/confirm-order.vue?2b60","webpack:///D:/豆米/dingyuannongji/mini-program/pages/confirm-order/confirm-order.vue?8ed7","webpack:///D:/豆米/dingyuannongji/mini-program/pages/confirm-order/confirm-order.vue?866c","uni-app:///pages/confirm-order/confirm-order.vue","webpack:///D:/豆米/dingyuannongji/mini-program/pages/confirm-order/confirm-order.vue?b1c7","webpack:///D:/豆米/dingyuannongji/mini-program/pages/confirm-order/confirm-order.vue?1d91"],"names":["wx","__webpack_require_UNI_MP_PLUGIN__","__webpack_require__","createPage","Page","renderjs","component","options","__file","components","uPopup","uIcon","uSearch","e","message","indexOf","console","error","render","_vm","this","_h","$createElement","l0","_self","_c","orderInfo","__map","memberCouponList","item","index","$orig","__get_orig","g0","endDate","substring","_isMounted","e0","$event","show3","e1","show","e2","show1","e3","e4","e5","useIntegralCopy","e6","show2","e7","$mp","data","Object","assign","$root","recyclableRender","staticRenderFns","_withStripped","computed","shopName","addr","remark","cityName","useIntegral","receiveType","couponId","shopId","payDetailRequestList","shopList","isPosition","lat","lgt","onLoad","uni","methods","goToAppSetting","success","that","positioning","type","highAccuracyExpireTime","isHighAccuracy","latitude","longitude","key","qqmapsdk","locParam","fail","jumpCity","url","openShop","dianhua","phoneNumber","openLoation","name","address","seleShop","confirmMD","title","icon","getShopLists","res","payment","addressId","titlePrice","timeStamp","nonceStr","package","signType","paySign","confirmJF","confirmCoupon","selectCoupon","getOrderInfo","changeOrderType","jumpAddr","getDefaultAddr","then"],"mappings":"4JAAA,MAGA,aACA,YAFAA,EAAGC,kCAAoCC,EAGvCC,EAAWC,a,gFCLX,2IACIC,EADJ,QAUIC,EAAY,qBACd,aACA,YACA,sBACA,EACA,KACA,WACA,MACA,EACA,gBACAD,GAGFC,EAAUC,QAAQC,OAAS,wCACZ,aAAAF,E,0CCxBf,uQ,iCCAA,IAAIG,EAAJ,0LACA,IACEA,EAAa,CACXC,OAAQ,WACN,OAAO,oHAITC,MAAO,WACL,OAAO,kHAITC,QAAS,WACP,OAAO,uHAKX,MAAOC,GACP,IAC+C,IAA7CA,EAAEC,QAAQC,QAAQ,wBACa,IAA/BF,EAAEC,QAAQC,QAAQ,QAWlB,MAAMF,EATNG,QAAQC,MAAMJ,EAAEC,SAChBE,QAAQC,MAAM,mBACdD,QAAQC,MACN,uFAEFD,QAAQC,MACN,mDAMN,IAAIC,EAAS,WACX,IAAIC,EAAMC,KACNC,EAAKF,EAAIG,eAETC,GADKJ,EAAIK,MAAMC,GACVN,EAAIO,UACTP,EAAIQ,MAAMR,EAAIO,UAAUE,kBAAkB,SAAUC,EAAMC,GACxD,IAAIC,EAAQZ,EAAIa,WAAWH,GACvBI,EAAKJ,EAAKK,QAAQC,UAAU,EAAG,IACnC,MAAO,CACLJ,MAAOA,EACPE,GAAIA,MAGR,MACCd,EAAIiB,aACPjB,EAAIkB,GAAK,SAAUC,GACjBnB,EAAIoB,OAAQ,GAEdpB,EAAIqB,GAAK,SAAUF,GACjBnB,EAAIsB,MAAO,GAEbtB,EAAIuB,GAAK,SAAUJ,GACjBnB,EAAIwB,OAAQ,GAEdxB,EAAIyB,GAAK,SAAUN,GACjBnB,EAAIsB,MAAO,GAEbtB,EAAI0B,GAAK,SAAUP,GACjBnB,EAAIwB,OAAQ,GAEdxB,EAAI2B,GAAK,SAAUR,GACjBnB,EAAI4B,gBAA0C,IAAxB5B,EAAI4B,gBAAwB,EAAI,GAExD5B,EAAI6B,GAAK,SAAUV,GACjBnB,EAAI8B,OAAQ,GAEd9B,EAAI+B,GAAK,SAAUZ,GACjBnB,EAAIoB,OAAQ,IAGhBpB,EAAIgC,IAAIC,KAAOC,OAAOC,OACpB,GACA,CACEC,MAAO,CACLhC,GAAIA,MAKRiC,GAAmB,EACnBC,EAAkB,GACtBvC,EAAOwC,eAAgB,G,iCCvFvB,yHAA0xB,eAAG,G,4ICoP7xB,mlBADA,cAEA,CACAC,eACA,6BAEAP,gBACA,OACAX,QACAE,SACAM,SACAV,SACAqB,YACAlC,eACAmC,UACAC,UACAC,YACAhB,kBACAiB,cACAC,cACAC,cACAC,YACAC,wBACAC,YACAC,cACAC,OACAC,SAGAC,mBAAA,WACA,2BACA,IACA,4BACAC,6BAEAA,4BACA,SACA,oBAEAA,0BACA,aACA,oBAEA,uBAEAC,SACAC,0BAAA,WACA,OACAF,eACAG,oBACA,sCACA,gBACAC,qBAMAC,uBACA,WACAL,eACAM,aACAC,2BACAC,kBACAL,oBACA,OAAAM,oBAAAC,uBACA,SACAC,4CAEAC,mBACAC,WACAV,oBACAC,iCACAA,4BACAA,4BACAA,mBAEAU,iBACAxE,4CAOAyE,oBACAf,cACAgB,wCAGAC,oBAAA,WAEAjB,cACAG,oBACA,qCAEA,gBACA,kBAGA,gBACA,gBAOAe,oBACAlB,iBACAmB,iBAIAC,wBACApB,gBACAS,oBACAC,sBACAW,YACAC,kBAGAC,qBACA,qCACApE,mBAGAqE,qBACA,uFACAC,cACAC,cAEA,oEACA,eAGAC,yBAAA,WACA,yBACAtC,uBACAQ,aACAC,aACAZ,yBACA,kBACA,eACA0C,4BACAzE,eAEA,kBACA,QACA,iBAMA0E,mBACA,WACA,iCAIA,iCAIA,sBACAC,sCACAtC,uBACAE,+CACAH,6BACAD,6BACAF,mBACA2C,oCACAtC,yCACA,kBACA,eAEA,mBACAO,cACAgB,2FAGA1F,kBACA0G,oCACAC,kCACAC,qCACAC,kCACAC,gCACAjC,oBACA,+BACAH,cACAgB,2FAGAhB,aAAAyB,eAAAC,qBAjCA,aACAD,cACAC,cANA,aACAD,gBACAC,eA4CAW,qBACA,sCACA,cACA,qBAGAC,yBACA,6EACA,aACA,uBAEA,aACA,qBAGAC,yBACA,uDACApF,mBAIAqF,wBAAA,WACA,6BACAV,sCACAtC,uBACAE,+CACAH,6BACAD,+BACA,kBACA,eACA,wBAGAsC,6CACAzE,eAHAyE,2BAMA,wBAIAa,4BACA,mBACA,qBAEAC,oBACA1C,cACAgB,uCAGA2B,0BAAA,WACA,0BACAC,kBACA,eACA,cACA,wBAKA,c,6EC1fA,yHAA6mC,eAAG,G,uDCAhnC,yHAA69C,eAAG,G","file":"pages/confirm-order/confirm-order.js","sourcesContent":["import 'uni-pages';\n// @ts-ignore\nwx.__webpack_require_UNI_MP_PLUGIN__ = __webpack_require__;\nimport Vue from 'vue'\nimport Page from './pages/confirm-order/confirm-order.vue'\ncreatePage(Page)","import { render, staticRenderFns, recyclableRender, components } from \"./confirm-order.vue?vue&type=template&id=2f2cf9ec&scoped=true&\"\nvar renderjs\nimport script from \"./confirm-order.vue?vue&type=script&lang=js&\"\nexport * from \"./confirm-order.vue?vue&type=script&lang=js&\"\nimport style0 from \"./confirm-order.vue?vue&type=style&index=0&lang=css&\"\nimport style1 from \"./confirm-order.vue?vue&type=style&index=1&id=2f2cf9ec&lang=scss&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../办公/HBuilderX.3.8.12.20230817/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  \"2f2cf9ec\",\n  null,\n  false,\n  components,\n  renderjs\n)\n\ncomponent.options.__file = \"pages/confirm-order/confirm-order.vue\"\nexport default component.exports","export * from \"-!../../../../../办公/HBuilderX.3.8.12.20230817/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!../../../../../办公/HBuilderX.3.8.12.20230817/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-preprocess-loader/index.js??ref--17-0!../../../../../办公/HBuilderX.3.8.12.20230817/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/webpack-uni-mp-loader/lib/template.js!../../../../../办公/HBuilderX.3.8.12.20230817/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-uni-app-loader/page-meta.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!./confirm-order.vue?vue&type=template&id=2f2cf9ec&scoped=true&\"","var components\ntry {\n  components = {\n    uPopup: function () {\n      return import(\n        /* webpackChunkName: \"node-modules/uview-ui/components/u-popup/u-popup\" */ \"uview-ui/components/u-popup/u-popup.vue\"\n      )\n    },\n    uIcon: function () {\n      return import(\n        /* webpackChunkName: \"node-modules/uview-ui/components/u-icon/u-icon\" */ \"uview-ui/components/u-icon/u-icon.vue\"\n      )\n    },\n    uSearch: function () {\n      return import(\n        /* webpackChunkName: \"node-modules/uview-ui/components/u-search/u-search\" */ \"uview-ui/components/u-search/u-search.vue\"\n      )\n    },\n  }\n} catch (e) {\n  if (\n    e.message.indexOf(\"Cannot find module\") !== -1 &&\n    e.message.indexOf(\".vue\") !== -1\n  ) {\n    console.error(e.message)\n    console.error(\"1. æŽ’查组件名称拼写是否正确\")\n    console.error(\n      \"2. æŽ’查组件是否符合 easycom è§„范,文档:https://uniapp.dcloud.net.cn/collocation/pages?id=easycom\"\n    )\n    console.error(\n      \"3. è‹¥ç»„件不符合 easycom è§„范,需手动引入,并在 components ä¸­æ³¨å†Œè¯¥ç»„ä»¶\"\n    )\n  } else {\n    throw e\n  }\n}\nvar render = function () {\n  var _vm = this\n  var _h = _vm.$createElement\n  var _c = _vm._self._c || _h\n  var l0 = _vm.orderInfo\n    ? _vm.__map(_vm.orderInfo.memberCouponList, function (item, index) {\n        var $orig = _vm.__get_orig(item)\n        var g0 = item.endDate.substring(0, 10)\n        return {\n          $orig: $orig,\n          g0: g0,\n        }\n      })\n    : null\n  if (!_vm._isMounted) {\n    _vm.e0 = function ($event) {\n      _vm.show3 = true\n    }\n    _vm.e1 = function ($event) {\n      _vm.show = true\n    }\n    _vm.e2 = function ($event) {\n      _vm.show1 = true\n    }\n    _vm.e3 = function ($event) {\n      _vm.show = false\n    }\n    _vm.e4 = function ($event) {\n      _vm.show1 = false\n    }\n    _vm.e5 = function ($event) {\n      _vm.useIntegralCopy = _vm.useIntegralCopy === 1 ? 0 : 1\n    }\n    _vm.e6 = function ($event) {\n      _vm.show2 = false\n    }\n    _vm.e7 = function ($event) {\n      _vm.show3 = false\n    }\n  }\n  _vm.$mp.data = Object.assign(\n    {},\n    {\n      $root: {\n        l0: l0,\n      },\n    }\n  )\n}\nvar recyclableRender = false\nvar staticRenderFns = []\nrender._withStripped = true\n\nexport { render, staticRenderFns, recyclableRender, components }","import mod from \"-!../../../../../办公/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!./confirm-order.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../../办公/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!./confirm-order.vue?vue&type=script&lang=js&\"","<template>\n\t<view class=\"box\" v-if=\"orderInfo\">\n\t\t<view class=\"box-addr\">\r\n\t\t\t<view class=\"box-addr-list\">\r\n\t\t\t\t<view @click=\"changeOrderType(0)\" :class=\"receiveType === 0 ? 'box-addr-list-row active' : 'box-addr-list-row'\">\r\n\t\t\t\t\t<image src=\"/static/icon/ic_wuliu_sel@2x.png\" mode=\"widthFix\"></image>\r\n\t\t\t\t\t<text>物流配送</text>\r\n\t\t\t\t</view>\r\n\t\t\t\t<view @click=\"changeOrderType(1)\" :class=\"receiveType === 1 ? 'box-addr-list-row active' : 'box-addr-list-row'\">\r\n\t\t\t\t\t<image src=\"/static/icon/ic_daodian@2x.png\" mode=\"widthFix\"></image>\r\n\t\t\t\t\t<text>门店自提</text>\r\n\t\t\t\t</view>\r\n\t\t\t</view>\r\n\t\t\t<!-- ç‰©æµé…é€ -->\r\n\t\t\t<view class=\"box-addr-val\" v-if=\"receiveType === 0\">\r\n\t\t\t\t<image class=\"icon1\" src=\"/static/icon/ic_location@2x.png\" mode=\"widthFix\"></image>\r\n\t\t\t\t<view class=\"info\" @click=\"jumpAddr\">\r\n\t\t\t\t\t<template v-if=\"addr\">\r\n\t\t\t\t\t\t<view class=\"info-top\">\r\n\t\t\t\t\t\t\t<text>{{addr.name}}</text>\r\n\t\t\t\t\t\t\t<text>{{addr.phone}}</text>\r\n\t\t\t\t\t\t</view>\r\n\t\t\t\t\t\t<view class=\"info-bottom\">\r\n\t\t\t\t\t\t\t{{addr.areaDetail}}{{addr.addr}}\r\n\t\t\t\t\t\t</view>\r\n\t\t\t\t\t</template>\r\n\t\t\t\t\t<view class=\"info-wu\" v-else>\r\n\t\t\t\t\t\t<text>选择地址</text>\r\n\t\t\t\t\t\t<image class=\"icon2\" src=\"/static/icon/ic_ar2@2x.png\" mode=\"widthFix\"></image>\r\n\t\t\t\t\t</view>\r\n\t\t\t\t</view>\r\n\t\t\t\t<image class=\"icon2\" src=\"/static/icon/ic_ar2@2x.png\" mode=\"widthFix\" v-if=\"addr\"></image>\r\n\t\t\t</view>\r\n\t\t\t<!-- é—¨åº—自提 -->\r\n\t\t\t<template v-if=\"receiveType === 1\">\r\n\t\t\t\t<view class=\"box-addr-val\" @click=\"openShop\">\r\n\t\t\t\t\t<image class=\"icon1\" src=\"/static/icon/ic_address@2x1.png\" mode=\"widthFix\"></image>\r\n\t\t\t\t\t<template v-if=\"shopId\">\r\n\t\t\t\t\t\t<view class=\"info\">\r\n\t\t\t\t\t\t\t<view class=\"info-top\">\r\n\t\t\t\t\t\t\t\t<text>{{shopId.name}}</text>\r\n\t\t\t\t\t\t\t</view>\r\n\t\t\t\t\t\t\t<view class=\"info-bottom\">\r\n\t\t\t\t\t\t\t\t{{shopId.addr}}\r\n\t\t\t\t\t\t\t</view>\r\n\t\t\t\t\t\t</view>\r\n\t\t\t\t\t\t<image class=\"icon2\" src=\"/static/icon/ic_ar2@2x.png\" mode=\"widthFix\"></image>\r\n\t\t\t\t\t</template>\r\n\t\t\t\t\t<view class=\"info-wu\" v-else>\r\n\t\t\t\t\t\t<text>选择门店</text>\r\n\t\t\t\t\t\t<image class=\"icon2\" src=\"/static/icon/ic_ar2@2x.png\" mode=\"widthFix\"></image>\r\n\t\t\t\t\t</view>\r\n\t\t\t\t</view>\r\n\t\t\t\t<view class=\"box-addr-time\" v-if=\"shopId\">\r\n\t\t\t\t\t<text>营业时间:</text>\r\n\t\t\t\t\t<text>{{shopId.startTime}}</text>\r\n\t\t\t\t</view>\r\n\t\t\t\t<view class=\"box-addr-dz\" v-if=\"shopId\">\r\n\t\t\t\t\t<view class=\"box-addr-dz-left\" @click=\"show3 = true\">\r\n\t\t\t\t\t\t<text>联系电话:</text>\r\n\t\t\t\t\t\t<text>{{shopId.phone}}</text>\r\n\t\t\t\t\t</view>\r\n\t\t\t\t\t<view class=\"box-addr-dz-r\">\r\n\t\t\t\t\t\t<image src=\"/static/icon/ic_address@2x.png\" mode=\"widthFix\"></image>\r\n\t\t\t\t\t\t<text>{{shopId.distance}}km</text>\r\n\t\t\t\t\t</view>\r\n\t\t\t\t</view>\r\n\t\t\t</template>\r\n\t\t</view>\r\n\t\t<view class=\"box-shop\">\r\n\t\t\t<view class=\"item\" v-for=\"(item, index) in orderInfo.goodsCalculateList\" :key=\"index\">\r\n\t\t\t\t<view class=\"item-image\">\r\n\t\t\t\t\t<image :src=\"item.skuImg\" mode=\"widthFix\"></image>\r\n\t\t\t\t</view>\r\n\t\t\t\t<view class=\"item-info\">\r\n\t\t\t\t\t<view class=\"item-info-title\">{{item.name}}</view>\r\n\t\t\t\t\t<view class=\"item-info-bottom\">\r\n\t\t\t\t\t\t<view class=\"price\">Â¥{{item.skuAmount}}</view>\r\n\t\t\t\t\t\t<view class=\"num\">\r\n\t\t\t\t\t\t\t<!-- <view class=\"num-add\">-</view> -->\r\n\t\t\t\t\t\t\t<view class=\"num-total\">数量:{{item.goodsNum}}</view>\r\n\t\t\t\t\t\t\t<!-- <view class=\"num-add\">+</view> -->\r\n\t\t\t\t\t\t</view>\r\n\t\t\t\t\t</view>\r\n\t\t\t\t</view>\r\n\t\t\t</view>\r\n\t\t\t<view class=\"xian\"></view>\r\n\t\t\t<view class=\"info\">\r\n\t\t\t\t<view class=\"info-item\">\r\n\t\t\t\t\t<view class=\"info-item-label\">商品总价</view>\r\n\t\t\t\t\t<view class=\"info-item-price\">\r\n\t\t\t\t\t\t<text>{{orderInfo.amount}}</text>\r\n\t\t\t\t\t</view>\r\n\t\t\t\t</view>\r\n\t\t\t\t<view class=\"info-item\">\r\n\t\t\t\t\t<view class=\"info-item-label\">运费</view>\r\n\t\t\t\t\t<view class=\"info-item-price1\">Â¥{{orderInfo.mailAmount}}</view>\r\n\t\t\t\t</view>\r\n\t\t\t\t<view class=\"info-item\">\r\n\t\t\t\t\t<view class=\"info-item-label\">优惠券</view>\r\n\t\t\t\t\t<view class=\"info-item-price1\" @click=\"show = true\">\r\n\t\t\t\t\t\t-Â¥{{orderInfo.couponAmount}}\r\n\t\t\t\t\t\t<image src=\"/static/icon/ic_ar2@2x.png\" mode=\"widthFix\"></image>\r\n\t\t\t\t\t</view>\r\n\t\t\t\t</view>\r\n\t\t\t\t<view class=\"info-item\">\r\n\t\t\t\t\t<view class=\"info-item-label\">积分抵扣</view>\r\n\t\t\t\t\t<view class=\"info-item-price1\" @click=\"show1 = true\">\r\n\t\t\t\t\t\t-Â¥{{orderInfo.integralAmount}}\r\n\t\t\t\t\t\t<image src=\"/static/icon/ic_ar2@2x.png\" mode=\"widthFix\"></image>\r\n\t\t\t\t\t</view>\r\n\t\t\t\t</view>\r\n\t\t\t\t<view class=\"info-item\">\r\n\t\t\t\t\t<view class=\"info-item-label\" style=\"color: #222222; font-size: 30rpx; font-weight: 600;\">应付款</view>\r\n\t\t\t\t\t<view class=\"info-item-price2\">\r\n\t\t\t\t\t\t<text>{{orderInfo.payAmount}}</text>\r\n\t\t\t\t\t</view>\r\n\t\t\t\t</view>\r\n\t\t\t</view>\r\n\t\t</view>\r\n\t\t<view class=\"remark\">\r\n\t\t\t<view class=\"remark-label\">订单备注</view>\r\n\t\t\t<input type=\"text\" v-model=\"remark\" placeholder=\"请输入备注\" />\r\n\t\t</view>\r\n\t\t<view class=\"play\">\r\n\t\t\t<view class=\"play-info\">\r\n\t\t\t\t<image src=\"/static/icon/order_ic_wepay@2x.png\" mode=\"widthFix\"></image>\r\n\t\t\t\t<text>微信支付</text>\r\n\t\t\t</view>\r\n\t\t\t<image src=\"/static/icon/cart_ic_sel@2x.png\" mode=\"widthFix\"></image>\r\n\t\t</view>\r\n\t\t<view class=\"footer\">\r\n\t\t\t<view class=\"edit\">\r\n\t\t\t\t<view class=\"edit-btn\" @click=\"payment\">立即支付 Â¥{{orderInfo.payAmount}}</view>\r\n\t\t\t</view>\r\n\t\t\t<view style=\"width: 100%; height: env(safe-area-inset-bottom);\"></view>\r\n\t\t</view>\r\n\t\t<!-- ä¼˜æƒ åˆ¸ -->\r\n\t\t<u-popup :show=\"show\" round=\"15\" :closeable=\"true\" @close=\"show = false\" mode=\"bottom\">\r\n\t\t\t<view class=\"coupon\">\r\n\t\t\t\t<view class=\"coupon-title\">选择优惠券</view>\r\n\t\t\t\t<scroll-view scroll-y class=\"coupon-list\">\r\n\t\t\t\t\t<view class=\"coupon-list-item\" v-for=\"(item, index) in orderInfo.memberCouponList\" :key=\"index\" @click=\"selectCoupon(index)\">\r\n\t\t\t\t\t\t<view class=\"jiage\" v-if=\"item.couponType === 0\">\r\n\t\t\t\t\t\t\t<text>{{item.price}}</text>\r\n\t\t\t\t\t\t\t<text>满{{item.limitPrice}}可用</text>\r\n\t\t\t\t\t\t</view>\r\n\t\t\t\t\t\t<view class=\"jiage1\" v-if=\"item.couponType === 1\">\r\n\t\t\t\t\t\t\t<text>{{item.price}}</text>\r\n\t\t\t\t\t\t\t<text>满{{item.limitPrice}}可用</text>\r\n\t\t\t\t\t\t</view>\r\n\t\t\t\t\t\t<view class=\"juaninfo\">\r\n\t\t\t\t\t\t\t<view class=\"juaninfo-info\">\r\n\t\t\t\t\t\t\t\t<text>{{item.name}}</text>\r\n\t\t\t\t\t\t\t\t<text>{{item.endDate.substring(0, 10)}} æ—¥åˆ°æœŸ</text>\r\n\t\t\t\t\t\t\t</view>\r\n\t\t\t\t\t\t\t<image src=\"/static/icon/ic_agree@2x.png\" mode=\"widthFix\" v-if=\"!item.active\"></image>\r\n\t\t\t\t\t\t\t<image src=\"/static/icon/cart_ic_sel@2x.png\" mode=\"widthFix\" v-else></image>\r\n\t\t\t\t\t\t</view>\r\n\t\t\t\t\t</view>\r\n\t\t\t\t</scroll-view>\r\n\t\t\t\t<view class=\"coupon-btn\" @click=\"confirmCoupon\">确定</view>\r\n\t\t\t</view>\r\n\t\t</u-popup>\n\t\t<!-- ç§¯åˆ† -->\r\n\t\t<u-popup :show=\"show1\" round=\"15\" @close=\"show1 = false\" :closeable=\"true\" mode=\"bottom\">\r\n\t\t\t<view class=\"coupon\">\r\n\t\t\t\t<view class=\"coupon-title\">使用积分</view>\r\n\t\t\t\t<view class=\"coupon-content\">\r\n\t\t\t\t\t<view class=\"coupon-content-a\">\r\n\t\t\t\t\t\t<text>当前积分:</text>\r\n\t\t\t\t\t\t<text>{{orderInfo.surplusIntegral || 0}}</text>\r\n\t\t\t\t\t</view>\r\n\t\t\t\t\t<view class=\"coupon-content-b\" @click=\"useIntegralCopy = useIntegralCopy === 1 ? 0 : 1\">\r\n\t\t\t\t\t\t<text>本单可用积分:{{orderInfo.deductIntegral}}</text>\r\n\t\t\t\t\t\t<image src=\"/static/icon/ic_agree_sel@2x.png\" mode=\"widthFix\" v-if=\"useIntegralCopy === 1\"></image>\r\n\t\t\t\t\t\t<image src=\"/static/icon/ic_agree@2x.png\" mode=\"widthFix\" v-else></image>\r\n\t\t\t\t\t</view>\r\n\t\t\t\t</view>\r\n\t\t\t\t<view class=\"coupon-btn\" @click=\"confirmJF\">确定</view>\r\n\t\t\t</view>\r\n\t\t</u-popup>\r\n\t\t<!-- é—¨åº— -->\r\n\t\t<u-popup :show=\"show2\" round=\"15\" @close=\"show2 = false\" :closeable=\"true\" mode=\"bottom\">\r\n\t\t\t<view class=\"coupon\">\r\n\t\t\t\t<view class=\"coupon-title\">选择门店</view>\r\n\t\t\t\t<view class=\"coupon-search\" v-if=\"isPosition\">\r\n\t\t\t\t\t<view class=\"coupon-search-city\" @click=\"jumpCity\">\r\n\t\t\t\t\t\t<text>{{cityName}}</text>\r\n\t\t\t\t\t\t<u-icon name=\"arrow-down\" color=\"#999999\" size=\"13\"></u-icon>\r\n\t\t\t\t\t</view>\r\n\t\t\t\t\t<view class=\"coupon-search-input\">\r\n\t\t\t\t\t\t<u-search placeholder=\"输入门店名称\" height=\"35\" searchIconColor=\"#999999\" borderColor=\"#eeeeee\"\r\n\t\t\t\t\t\t\tbgColor=\"#F9F9FB\" :showAction=\"false\" v-model=\"shopName\" @search=\"getShopLists\" />\t\r\n\t\t\t\t\t</view>\r\n\t\t\t\t</view>\r\n\t\t\t\t<scroll-view scroll-y>\r\n\t\t\t\t\t<template v-if=\"isPosition\">\r\n\t\t\t\t\t\t<view :class=\"item.active ? 'dian active' : 'dian'\" @click=\"seleShop(index)\" v-for=\"(item, index) in shopList\" :key=\"index\">\r\n\t\t\t\t\t\t\t<view class=\"dian-top\">\r\n\t\t\t\t\t\t\t\t<view class=\"dian-top-image\">\r\n\t\t\t\t\t\t\t\t\t<image :src=\"item.imgFullUrl\" mode=\"widthFix\"></image>\r\n\t\t\t\t\t\t\t\t</view>\r\n\t\t\t\t\t\t\t\t<view class=\"dian-top-info\">\r\n\t\t\t\t\t\t\t\t\t<view class=\"dian-top-info-title\">\r\n\t\t\t\t\t\t\t\t\t\t<text>{{item.name}}</text>\r\n\t\t\t\t\t\t\t\t\t\t<text>距离{{item.distance}}km</text>\r\n\t\t\t\t\t\t\t\t\t</view>\r\n\t\t\t\t\t\t\t\t\t<view class=\"dian-top-info-val\">{{item.addr}}</view>\r\n\t\t\t\t\t\t\t\t</view>\r\n\t\t\t\t\t\t\t</view>\r\n\t\t\t\t\t\t\t<view class=\"dian-bottom\">\r\n\t\t\t\t\t\t\t\t<text>营业时间:{{item.startTime}}</text>\r\n\t\t\t\t\t\t\t\t<view class=\"dian-bottom-icon\">\r\n\t\t\t\t\t\t\t\t\t<image src=\"/static/icon/ic_phonecall@2x.png\" mode=\"widthFix\" @click=\"dianhua(item.phone)\"></image>\r\n\t\t\t\t\t\t\t\t\t<image src=\"/static/icon/ic_distance@2x.png\" mode=\"widthFix\" @click=\"openLoation(item)\"></image>\r\n\t\t\t\t\t\t\t\t</view>\r\n\t\t\t\t\t\t\t</view>\r\n\t\t\t\t\t\t</view>\r\n\t\t\t\t\t</template>\r\n\t\t\t\t\t<template v-else>\r\n\t\t\t\t\t\t<view class=\"wushuju\">\r\n\t\t\t\t\t\t\t<image src=\"/static/images/img_dingwei@2x.png\" mode=\"widthFix\"></image>\r\n\t\t\t\t\t\t\t<view class=\"wushuju-a\">定位失败</view>\r\n\t\t\t\t\t\t\t<view class=\"wushuju-b\">请开启定位获取位置信息</view>\r\n\t\t\t\t\t\t\t<view class=\"wushuju-c\" @click=\"goToAppSetting\">开启定位</view>\r\n\t\t\t\t\t\t</view>\r\n\t\t\t\t\t</template>\r\n\t\t\t\t</scroll-view>\r\n\t\t\t\t<view class=\"coupon-btn\" v-if=\"isPosition\" @click=\"confirmMD\">确定选择</view>\r\n\t\t\t</view>\r\n\t\t</u-popup>\r\n\t\t<!-- è”系电话 -->\r\n\t\t<u-popup :show=\"show3\" round=\"15\" @close=\"show3 = false\" :closeable=\"true\" mode=\"bottom\">\r\n\t\t\t<view class=\"coupon\">\r\n\t\t\t\t<view class=\"coupon-title\">联系电话</view>\r\n\t\t\t\t<view class=\"coupon-phone\" @click=\"dianhua(shopId.phone)\">{{shopId.phone}}</view>\r\n\t\t\t</view>\r\n\t\t</u-popup>\r\n\t</view>\n</template>\n\n<script>\r\n\tvar QQMapWX = require('@/utils/qqmap-wx-jssdk.js')\r\n\timport { mapState } from 'vuex'\n\texport default {\r\n\t\tcomputed: {\r\n\t\t\t...mapState(['position'])\r\n\t\t},\n\t\tdata() {\n\t\t\treturn {\n\t\t\t\tshow: false,\r\n\t\t\t\tshow1: false,\r\n\t\t\t\tshow2: false,\r\n\t\t\t\tshow3: false,\r\n\t\t\t\tshopName: '',\r\n\t\t\t\torderInfo: null,\r\n\t\t\t\taddr: null,\r\n\t\t\t\tremark: '',\r\n\t\t\t\tcityName: '',\r\n\t\t\t\tuseIntegralCopy: 0,\r\n\t\t\t\tuseIntegral: 0,\r\n\t\t\t\treceiveType: 0,\r\n\t\t\t\tcouponId: null,\r\n\t\t\t\tshopId: null,\r\n\t\t\t\tpayDetailRequestList: [],\r\n\t\t\t\tshopList: [],\r\n\t\t\t\tisPosition: true,\r\n\t\t\t\tlat: '',\r\n\t\t\t\tlgt: '',\n\t\t\t};\n\t\t},\r\n\t\tonLoad(option) {\r\n\t\t\tconst shop = uni.getStorageSync('shop');\r\n\t\t\tif (shop) {\r\n\t\t\t\tthis.payDetailRequestList = shop\r\n\t\t\t\tuni.removeStorageSync('shop');\r\n\t\t\t}\r\n\t\t\tuni.$on('update', (data) => {\r\n\t\t\t\tthis.addr = data\r\n\t\t\t\tthis.getOrderInfo()\r\n\t\t\t})\r\n\t\t\tuni.$on('city', (data) => {\r\n\t\t\t\tthis.cityName = data\r\n\t\t\t\tthis.getShopLists()\r\n\t\t\t})\r\n\t\t\tthis.getDefaultAddr()\r\n\t\t},\r\n\t\tmethods: {\r\n\t\t\tgoToAppSetting() {\r\n\t\t\t\tvar that = this;\r\n\t\t\t    uni.openSetting({\r\n\t\t\t        success: (res) => {\r\n\t\t\t\t\t\tif (res.authSetting['scope.userLocation']) {\r\n\t\t\t\t\t\t\tthis.isPosition = true\r\n\t\t\t\t\t\t\tthat.positioning()\r\n\t\t\t\t\t\t}\r\n\t\t\t        }\r\n\t\t\t    });\r\n\t\t\t},\r\n\t\t\t// å®šä½\r\n\t\t\tpositioning() {\r\n\t\t\t\tvar that = this;\r\n\t\t\t\tuni.getLocation({\r\n\t\t\t\t\ttype: 'gcj02',\r\n\t\t\t\t\thighAccuracyExpireTime: 3000,\r\n\t\t\t\t\tisHighAccuracy: true,\r\n\t\t\t\t\tsuccess: function (addr) {\r\n\t\t\t\t\t\tconst locParam = { latitude: addr.latitude, longitude: addr.longitude };\r\n\t\t\t\t\t\tconst qqmapsdk = new QQMapWX({\r\n\t\t\t\t\t\t\tkey: 'HEIBZ-QJLLM-SZ36X-6ZBHI-S6Y2J-S6FND'\r\n\t\t\t\t\t\t});\r\n\t\t\t\t\t\tqqmapsdk.reverseGeocoder({\r\n\t\t\t\t\t\t\tlocParam,\r\n\t\t\t\t\t\t\tsuccess: function(res) {\r\n\t\t\t\t\t\t\t\tthat.cityName = res.result.ad_info.city\r\n\t\t\t\t\t\t\t\tthat.lat = res.result.location.lat\r\n\t\t\t\t\t\t\t\tthat.lgt = res.result.location.lng\r\n\t\t\t\t\t\t\t\tthat.getShopLists(1)\r\n\t\t\t\t\t\t\t},\r\n\t\t\t\t\t\t\tfail: (err) => {\r\n\t\t\t\t\t\t\t\tconsole.error('获取位置失败===========', err);\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t});\r\n\t\t\t\t\t}\r\n\t\t\t\t});\r\n\t\t\t},\r\n\t\t\t\r\n\t\t\tjumpCity() {\r\n\t\t\t\tuni.navigateTo({\r\n\t\t\t\t\turl: '/pages/select-city/select-city'\r\n\t\t\t\t})\r\n\t\t\t},\r\n\t\t\topenShop() {\r\n\t\t\t\t// æ£€æŸ¥ç”¨æˆ·æ˜¯å¦å·²ç»æŽˆæƒä½ç½®æƒé™\r\n\t\t\t\tuni.getSetting({\r\n\t\t\t\t\tsuccess: (res) => {\r\n\t\t\t\t\t\tif (res.authSetting['scope.userLocation']) {\r\n\t\t\t\t\t\t\t// ç”¨æˆ·å·²æŽˆæƒä½ç½®æƒé™\r\n\t\t\t\t\t\t\tthis.isPosition = true\r\n\t\t\t\t\t\t\tthis.positioning()\r\n\t\t\t\t\t\t} else {\r\n\t\t\t\t\t\t\t// ç”¨æˆ·æœªæŽˆæƒä½ç½®æƒé™\r\n\t\t\t\t\t\t\tthis.isPosition = false\r\n\t\t\t\t\t\t\tthis.show2 = true\r\n\t\t\t\t\t\t\t// this.getShopLists(1)\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\t\t\t\t});\r\n\t\t\t},\r\n\t\t\t// æ‰“电话\r\n\t\t\tdianhua(phoneNumber) {\r\n\t\t\t\tuni.makePhoneCall({\r\n\t\t\t\t\tphoneNumber\r\n\t\t\t\t})\r\n\t\t\t},\r\n\t\t\t// æ‰“开位置\r\n\t\t\topenLoation(item) {\r\n\t\t\t\tuni.openLocation({\r\n\t\t\t\t\tlatitude: item.latitude,\r\n\t\t\t\t\tlongitude: item.longitude,\r\n\t\t\t\t\tname: item.name,\r\n\t\t\t\t\taddress: item.addr\r\n\t\t\t\t})\r\n\t\t\t},\r\n\t\t\tseleShop(index) {\r\n\t\t\t\tthis.shopList.forEach((item, i) => {\r\n\t\t\t\t\titem.active = index === i\r\n\t\t\t\t})\r\n\t\t\t},\r\n\t\t\tconfirmMD() {\r\n\t\t\t\tif (this.shopList.filter(item => item.active).length === 0) return uni.showToast({\r\n\t\t\t\t\ttitle: '请选择门店',\r\n\t\t\t\t\ticon: 'none'\r\n\t\t\t\t})\r\n\t\t\t\tthis.shopId = this.shopList.filter(item => item.active)[0]\r\n\t\t\t\tthis.show2 = false\r\n\t\t\t},\r\n\t\t\t// èŽ·å–é™„è¿‘é—¨åº—\r\n\t\t\tgetShopLists(type) {\r\n\t\t\t\tthis.$u.api.getShopList({\r\n\t\t\t\t\tcityName: this.cityName,\r\n\t\t\t\t\tlat: this.lat,\r\n\t\t\t\t\tlgt: this.lng,\r\n\t\t\t\t\tshopName: this.shopName\r\n\t\t\t\t}).then(res => {\r\n\t\t\t\t\tif (res.code === 200) {\r\n\t\t\t\t\t\tres.data.forEach(item => {\r\n\t\t\t\t\t\t\titem.active = false\r\n\t\t\t\t\t\t})\r\n\t\t\t\t\t\tthis.shopList = res.data\r\n\t\t\t\t\t\tif (type === 1) {\r\n\t\t\t\t\t\t\tthis.show2 = true\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\t\t\t\t})\r\n\t\t\t},\r\n\t\t\t// æ”¯ä»˜\r\n\t\t\tpayment() {\r\n\t\t\t\tvar that = this;\r\n\t\t\t\tif (that.receiveType === 0 && !that.addr) return uni.showToast({\r\n\t\t\t\t\ttitle: '请选择收货地址',\r\n\t\t\t\t\ticon: 'none'\r\n\t\t\t\t})\r\n\t\t\t\tif (that.receiveType === 1 && !that.shopId) return uni.showToast({\r\n\t\t\t\t\ttitle: '请选择门店',\r\n\t\t\t\t\ticon: 'none'\r\n\t\t\t\t})\r\n\t\t\t\tthis.$u.api.orderPay({\r\n\t\t\t\t\taddressId: this.addr ? this.addr.id : null,\r\n\t\t\t\t\tcouponId: this.couponId,\r\n\t\t\t\t\tpayDetailRequestList: this.payDetailRequestList,\r\n\t\t\t\t\treceiveType: this.receiveType,\r\n\t\t\t\t\tuseIntegral: this.useIntegral,\r\n\t\t\t\t\tremark: this.remark,\r\n\t\t\t\t\ttitlePrice: this.orderInfo.payAmount,\r\n\t\t\t\t\tshopId: this.shopId ? this.shopId.id : null\r\n\t\t\t\t}).then(res => {\r\n\t\t\t\t\tif (res.code === 200) {\r\n\t\t\t\t\t\t// ç§¯åˆ†æŠµæ‰£\r\n\t\t\t\t\t\tif (res.data.payType === 1) {\r\n\t\t\t\t\t\t\tuni.redirectTo({\r\n\t\t\t\t\t\t\t\turl: `/pagesA/pages/order-details/order-details?id=${res.data.orderId}&userType=0`\r\n\t\t\t\t\t\t\t})\r\n\t\t\t\t\t\t} else {\r\n\t\t\t\t\t\t\twx.requestPayment({\r\n\t\t\t\t\t\t\t\ttimeStamp: res.data.response.timeStamp,\r\n\t\t\t\t\t\t\t\tnonceStr: res.data.response.nonceStr,\r\n\t\t\t\t\t\t\t\tpackage: res.data.response.packageValue,\r\n\t\t\t\t\t\t\t\tsignType: res.data.response.signType,\r\n\t\t\t\t\t\t\t\tpaySign: res.data.response.paySign,\r\n\t\t\t\t\t\t\t\tsuccess (pay) {\r\n\t\t\t\t\t\t\t\t\tif (pay.errMsg === \"requestPayment:ok\") {\r\n\t\t\t\t\t\t\t\t\t\tuni.redirectTo({\r\n\t\t\t\t\t\t\t\t\t\t\turl: `/pagesA/pages/order-details/order-details?id=${res.data.orderId}&userType=0`\r\n\t\t\t\t\t\t\t\t\t\t})\r\n\t\t\t\t\t\t\t\t\t} else {\r\n\t\t\t\t\t\t\t\t\t\tuni.showToast({ title: '订单取消支付', icon: 'none' })\r\n\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t})\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\t\t\t\t})\r\n\t\t\t},\r\n\t\t\t// ç¡®å®šä½¿ç”¨ç§¯åˆ†\r\n\t\t\tconfirmJF() {\r\n\t\t\t\tthis.useIntegral = this.useIntegralCopy\r\n\t\t\t\tthis.show1 = false\r\n\t\t\t\tthis.getOrderInfo()\r\n\t\t\t},\r\n\t\t\t// ç¡®å®šé€‰æ‹©ä¼˜æƒ åˆ¸\r\n\t\t\tconfirmCoupon() {\r\n\t\t\t\tlet arr = this.orderInfo.memberCouponList.filter(item => item.active)\r\n\t\t\t\tif (arr.length > 0) {\r\n\t\t\t\t\tthis.couponId = arr[0].id\r\n\t\t\t\t}\r\n\t\t\t\tthis.show = false\r\n\t\t\t\tthis.getOrderInfo()\r\n\t\t\t},\r\n\t\t\t// é€‰æ‹©ä¼˜æƒ åˆ¸\r\n\t\t\tselectCoupon(i) {\r\n\t\t\t\tthis.orderInfo.memberCouponList.forEach((item, index) => {\r\n\t\t\t\t\titem.active = index === i\r\n\t\t\t\t})\r\n\t\t\t},\r\n\t\t\t// èŽ·å–è®¢å•è¯¦ç»†ä¿¡æ¯\r\n\t\t\tgetOrderInfo() {\r\n\t\t\t\tthis.$u.api.orderPayConfirm({\r\n\t\t\t\t\taddressId: this.addr ? this.addr.id : null,\r\n\t\t\t\t\tcouponId: this.couponId,\r\n\t\t\t\t\tpayDetailRequestList: this.payDetailRequestList,\r\n\t\t\t\t\treceiveType: this.receiveType,\r\n\t\t\t\t\tuseIntegral: this.useIntegral\r\n\t\t\t\t}).then(res => {\r\n\t\t\t\t\tif (res.code === 200) {\r\n\t\t\t\t\t\tif (!res.data.memberCouponList) {\r\n\t\t\t\t\t\t\tres.data.memberCouponList = []\r\n\t\t\t\t\t\t} else {\r\n\t\t\t\t\t\t\tres.data.memberCouponList.forEach(item => {\r\n\t\t\t\t\t\t\t\titem.active = false\r\n\t\t\t\t\t\t\t})\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\tthis.orderInfo = res.data\r\n\t\t\t\t\t}\r\n\t\t\t\t})\r\n\t\t\t},\r\n\t\t\tchangeOrderType(type) {\r\n\t\t\t\tthis.receiveType = type\r\n\t\t\t\tthis.getOrderInfo()\r\n\t\t\t},\r\n\t\t\tjumpAddr() {\r\n\t\t\t\tuni.navigateTo({\r\n\t\t\t\t\turl: '/pages/address/address?type=1'\r\n\t\t\t\t})\r\n\t\t\t},\r\n\t\t\tgetDefaultAddr() {\r\n\t\t\t\tthis.$u.api.findDefault()\r\n\t\t\t\t\t.then(res => {\r\n\t\t\t\t\t\tif (res.code === 200) {\r\n\t\t\t\t\t\t\tthis.addr = res.data\r\n\t\t\t\t\t\t\tthis.getOrderInfo()\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t})\r\n\t\t\t}\r\n\t\t}\n\t}\n</script>\n<style>\r\n\tpage {\r\n\t\tbackground-color: #F8F9FB;\r\n\t}\r\n</style>\n<style lang=\"scss\" scoped>\n\t.box {\r\n\t\twidth: 100%;\r\n\t\t.coupon {\r\n\t\t\twidth: 100%;\r\n\t\t\tpadding: 0 30rpx;\r\n\t\t\tbox-sizing: border-box;\r\n\t\t\tscroll-view {\r\n\t\t\t\twidth: 100%;\r\n\t\t\t\theight: 65vh;\r\n\t\t\t\t.wushuju {\r\n\t\t\t\t\twidth: 100%;\r\n\t\t\t\t\theight: 100%;\r\n\t\t\t\t\tdisplay: flex;\r\n\t\t\t\t\tflex-direction: column;\r\n\t\t\t\t\talign-items: center;\r\n\t\t\t\t\tjustify-content: center;\r\n\t\t\t\t\timage {\r\n\t\t\t\t\t\twidth: 140rpx;\r\n\t\t\t\t\t\theight: 140rpx;\r\n\t\t\t\t\t}\r\n\t\t\t\t\t.wushuju-a {\r\n\t\t\t\t\t\tfont-weight: 600;\r\n\t\t\t\t\t\tfont-size: 30rpx;\r\n\t\t\t\t\t\tcolor: #111111;\r\n\t\t\t\t\t\tmargin-top: 20rpx;\r\n\t\t\t\t\t}\r\n\t\t\t\t\t.wushuju-b {\r\n\t\t\t\t\t\tfont-weight: 400;\r\n\t\t\t\t\t\tfont-size: 26rpx;\r\n\t\t\t\t\t\tcolor: #999999;\r\n\t\t\t\t\t\tmargin-top: 20rpx;\r\n\t\t\t\t\t}\r\n\t\t\t\t\t.wushuju-c {\r\n\t\t\t\t\t\twidth: 168rpx;\r\n\t\t\t\t\t\theight: 72rpx;\r\n\t\t\t\t\t\tline-height: 72rpx;\r\n\t\t\t\t\t\tfont-weight: 500;\r\n\t\t\t\t\t\tfont-size: 26rpx;\r\n\t\t\t\t\t\tcolor: #FFFFFF;\r\n\t\t\t\t\t\ttext-align: center;\r\n\t\t\t\t\t\tbackground: #004096;\r\n\t\t\t\t\t\tborder-radius: 44rpx;\r\n\t\t\t\t\t\tmargin-top: 40rpx;\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t\t.active {\r\n\t\t\t\t\tborder: 2rpx solid #004096 !important;\r\n\t\t\t\t\tbackground: #E8F2FF !important;\r\n\t\t\t\t}\r\n\t\t\t\t.dian {\r\n\t\t\t\t\twidth: 100%;\r\n\t\t\t\t\tpadding: 30rpx;\r\n\t\t\t\t\tbox-sizing: border-box;\r\n\t\t\t\t\tborder-radius: 6rpx;\r\n\t\t\t\t\tborder: 1rpx solid #CCCCCC;\r\n\t\t\t\t\tdisplay: flex;\r\n\t\t\t\t\tflex-direction: column;\r\n\t\t\t\t\tmargin-bottom: 30rpx;\r\n\t\t\t\t\t&:last-child {\r\n\t\t\t\t\t\tmargin: 0 !important;\r\n\t\t\t\t\t}\r\n\t\t\t\t\t.dian-top {\r\n\t\t\t\t\t\twidth: 100%;\r\n\t\t\t\t\t\tdisplay: flex;\r\n\t\t\t\t\t\talign-items: center;\r\n\t\t\t\t\t\t.dian-top-image {\r\n\t\t\t\t\t\t\tflex-shrink: 0;\r\n\t\t\t\t\t\t\twidth: 144rpx;\r\n\t\t\t\t\t\t\theight: 144rpx;\r\n\t\t\t\t\t\t\tborder-radius: 8rpx;\r\n\t\t\t\t\t\t\tmargin-right: 24rpx;\r\n\t\t\t\t\t\t\timage {\r\n\t\t\t\t\t\t\t\twidth: 100%;\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\t.dian-top-info {\r\n\t\t\t\t\t\t\tflex: 1;\r\n\t\t\t\t\t\t\tdisplay: flex;\r\n\t\t\t\t\t\t\tflex-direction: column;\r\n\t\t\t\t\t\t\t.dian-top-info-title {\r\n\t\t\t\t\t\t\t\twidth: 100%;\r\n\t\t\t\t\t\t\t\tdisplay: flex;\r\n\t\t\t\t\t\t\t\talign-items: center;\r\n\t\t\t\t\t\t\t\tjustify-content: space-between;\r\n\t\t\t\t\t\t\t\ttext {\r\n\t\t\t\t\t\t\t\t\t&:nth-child(1) {\r\n\t\t\t\t\t\t\t\t\t\tfont-weight: 500;\r\n\t\t\t\t\t\t\t\t\t\tfont-size: 32rpx;\r\n\t\t\t\t\t\t\t\t\t\tcolor: #111111;\r\n\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t\t&:nth-child(2) {\r\n\t\t\t\t\t\t\t\t\t\tfont-weight: 400;\r\n\t\t\t\t\t\t\t\t\t\tfont-size: 24rpx;\r\n\t\t\t\t\t\t\t\t\t\tcolor: #999999;\r\n\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t.dian-top-info-val {\r\n\t\t\t\t\t\t\t\twidth: 100%;\r\n\t\t\t\t\t\t\t\tmargin-top: 20rpx;\r\n\t\t\t\t\t\t\t\tfont-weight: 400;\r\n\t\t\t\t\t\t\t\tfont-size: 26rpx;\r\n\t\t\t\t\t\t\t\tcolor: #777777;\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\t\t\t\t\t.dian-bottom {\r\n\t\t\t\t\t\twidth: 100%;\r\n\t\t\t\t\t\tmargin-top: 30rpx;\r\n\t\t\t\t\t\tdisplay: flex;\r\n\t\t\t\t\t\talign-items: center;\r\n\t\t\t\t\t\tjustify-content: space-between;\r\n\t\t\t\t\t\ttext {\r\n\t\t\t\t\t\t\tfont-weight: 400;\r\n\t\t\t\t\t\t\tfont-size: 24rpx;\r\n\t\t\t\t\t\t\tcolor: #777777;\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\t.dian-bottom-icon {\r\n\t\t\t\t\t\t\tdisplay: flex;\r\n\t\t\t\t\t\t\talign-items: center;\r\n\t\t\t\t\t\t\timage {\r\n\t\t\t\t\t\t\t\twidth: 56rpx;\r\n\t\t\t\t\t\t\t\theight: 56rpx;\r\n\t\t\t\t\t\t\t\tmargin-left: 30rpx;\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t\t.coupon-search {\r\n\t\t\t\twidth: 100%;\r\n\t\t\t\theight: 72rpx;\r\n\t\t\t\tdisplay: flex;\r\n\t\t\t\talign-items: center;\r\n\t\t\t\tjustify-content: center;\r\n\t\t\t\tmargin-bottom: 30rpx;\r\n\t\t\t\t.coupon-search-city {\r\n\t\t\t\t\tflex-shrink: 0;\r\n\t\t\t\t\twidth: 180rpx;\r\n\t\t\t\t\theight: 72rpx;\r\n\t\t\t\t\tdisplay: flex;\r\n\t\t\t\t\talign-items: center;\r\n\t\t\t\t\tjustify-content: center;\r\n\t\t\t\t\tbackground: #F9F9FB;\r\n\t\t\t\t\tborder-radius: 36rpx;\r\n\t\t\t\t\tborder: 1rpx solid #EEEEEE;\r\n\t\t\t\t\ttext {\r\n\t\t\t\t\t\tfont-weight: 400;\r\n\t\t\t\t\t\tfont-size: 28rpx;\r\n\t\t\t\t\t\tcolor: #222222;\r\n\t\t\t\t\t\tmargin-right: 4rpx;\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t\t.coupon-search-input {\r\n\t\t\t\t\tflex: 1;\r\n\t\t\t\t\theight: 100%;\r\n\t\t\t\t\tmargin-left: 30rpx;\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t\t.coupon-phone {\r\n\t\t\t\twidth: 100%;\r\n\t\t\t\theight: 152rpx;\r\n\t\t\t\tline-height: 152rpx;\r\n\t\t\t\ttext-align: center;\r\n\t\t\t\tfont-weight: 400;\r\n\t\t\t\tfont-size: 32rpx;\r\n\t\t\t\tcolor: #004096;\r\n\t\t\t}\r\n\t\t\t.coupon-title {\r\n\t\t\t\twidth: 100%;\r\n\t\t\t\theight: 100rpx;\r\n\t\t\t\tline-height: 100rpx;\r\n\t\t\t\ttext-align: center;\r\n\t\t\t\tfont-weight: 500;\r\n\t\t\t\tfont-size: 32rpx;\r\n\t\t\t\tcolor: #111111;\r\n\t\t\t}\r\n\t\t\t.coupon-btn {\r\n\t\t\t\twidth: 100%;\r\n\t\t\t\theight: 88rpx;\r\n\t\t\t\tline-height: 88rpx;\r\n\t\t\t\ttext-align: center;\r\n\t\t\t\tbackground: #004096;\r\n\t\t\t\tborder-radius: 44rpx;\r\n\t\t\t\tfont-weight: 500;\r\n\t\t\t\tfont-size: 32rpx;\r\n\t\t\t\tcolor: #FFFFFF;\r\n\t\t\t\tmargin-top: 60rpx;\r\n\t\t\t}\r\n\t\t\t.coupon-content {\r\n\t\t\t\twidth: 100%;\r\n\t\t\t\t.coupon-content-a {\r\n\t\t\t\t\twidth: 100%;\r\n\t\t\t\t\tmargin-top: 40rpx;\r\n\t\t\t\t\ttext {\r\n\t\t\t\t\t\t&:nth-child(1) {\r\n\t\t\t\t\t\t\tfont-weight: 600;\r\n\t\t\t\t\t\t\tfont-size: 28rpx;\r\n\t\t\t\t\t\t\tcolor: #222222;\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\t&:nth-child(2) {\r\n\t\t\t\t\t\t\tfont-weight: 600;\r\n\t\t\t\t\t\t\tfont-size: 28rpx;\r\n\t\t\t\t\t\t\tcolor: #E4001D;\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t\t.coupon-content-b {\r\n\t\t\t\t\twidth: 100%;\r\n\t\t\t\t\tdisplay: flex;\r\n\t\t\t\t\talign-items: center;\r\n\t\t\t\t\tjustify-content: space-between;\r\n\t\t\t\t\tmargin-top: 40rpx;\r\n\t\t\t\t\ttext {\r\n\t\t\t\t\t\tfont-weight: 400;\r\n\t\t\t\t\t\tfont-size: 28rpx;\r\n\t\t\t\t\t\tcolor: #333333;\r\n\t\t\t\t\t}\r\n\t\t\t\t\timage {\r\n\t\t\t\t\t\twidth: 40rpx;\r\n\t\t\t\t\t\theight: 40rpx;\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t\t.coupon-list {\r\n\t\t\t\twidth: 100%;\r\n\t\t\t\tmax-height: 600rpx;\r\n\t\t\t\tdisplay: flex;\r\n\t\t\t\tflex-direction: column;\r\n\t\t\t\t.disable {\r\n\t\t\t\t\tbackground: #EFEFEF !important;\r\n\t\t\t\t\t.jiage {\r\n\t\t\t\t\t\ttext {\r\n\t\t\t\t\t\t\tcolor: #999999 !important;\r\n\t\t\t\t\t\t\t&::before {\r\n\t\t\t\t\t\t\t\tcolor: #999999 !important;\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\t\t\t\t\t.juaninfo {\r\n\t\t\t\t\t\t.juaninfo-info {\r\n\t\t\t\t\t\t\ttext {\r\n\t\t\t\t\t\t\t\tcolor: #999999 !important;\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t\t.coupon-list-item {\r\n\t\t\t\t\twidth: 100%;\r\n\t\t\t\t\theight: 170rpx;\r\n\t\t\t\t\tbackground: #FFEFEF;\r\n\t\t\t\t\tborder-radius: 16rpx;\r\n\t\t\t\t\tdisplay: flex;\r\n\t\t\t\t\talign-items: center;\r\n\t\t\t\t\tmargin-bottom: 20rpx;\r\n\t\t\t\t\t&:last-child {\r\n\t\t\t\t\t\tmargin: 0 !important;\r\n\t\t\t\t\t}\r\n\t\t\t\t\t.jiage {\r\n\t\t\t\t\t\tflex-shrink: 0;\r\n\t\t\t\t\t\twidth: 208rpx;\r\n\t\t\t\t\t\theight: 100%;\r\n\t\t\t\t\t\tdisplay: flex;\r\n\t\t\t\t\t\tflex-direction: column;\r\n\t\t\t\t\t\talign-items: center;\r\n\t\t\t\t\t\tjustify-content: center;\r\n\t\t\t\t\t\tborder-right: 1rpx dashed #E3C1C1;\r\n\t\t\t\t\t\ttext {\r\n\t\t\t\t\t\t\t&:nth-child(1) {\r\n\t\t\t\t\t\t\t\tfont-weight: 600;\r\n\t\t\t\t\t\t\t\tfont-size: 44rpx;\r\n\t\t\t\t\t\t\t\tcolor: #E4001D;\r\n\t\t\t\t\t\t\t\t&::before {\r\n\t\t\t\t\t\t\t\t\tcontent: 'ï¿¥';\r\n\t\t\t\t\t\t\t\t\tfont-weight: 600;\r\n\t\t\t\t\t\t\t\t\tfont-size: 24rpx;\r\n\t\t\t\t\t\t\t\t\tcolor: #E4001D;\r\n\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t&:nth-child(2) {\r\n\t\t\t\t\t\t\t\tfont-weight: 400;\r\n\t\t\t\t\t\t\t\tfont-size: 24rpx;\r\n\t\t\t\t\t\t\t\tcolor: #E93047;\r\n\t\t\t\t\t\t\t\tmargin-top: 8rpx;\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\t\t\t\t\t.jiage1 {\r\n\t\t\t\t\t\tflex-shrink: 0;\r\n\t\t\t\t\t\twidth: 208rpx;\r\n\t\t\t\t\t\theight: 100%;\r\n\t\t\t\t\t\tdisplay: flex;\r\n\t\t\t\t\t\tflex-direction: column;\r\n\t\t\t\t\t\talign-items: center;\r\n\t\t\t\t\t\tjustify-content: center;\r\n\t\t\t\t\t\tborder-right: 1rpx dashed #E3C1C1;\r\n\t\t\t\t\t\ttext {\r\n\t\t\t\t\t\t\t&:nth-child(1) {\r\n\t\t\t\t\t\t\t\tfont-weight: 600;\r\n\t\t\t\t\t\t\t\tfont-size: 44rpx;\r\n\t\t\t\t\t\t\t\tcolor: #E4001D;\r\n\t\t\t\t\t\t\t\t&::after {\r\n\t\t\t\t\t\t\t\t\tcontent: '折';\r\n\t\t\t\t\t\t\t\t\tfont-weight: 600;\r\n\t\t\t\t\t\t\t\t\tfont-size: 24rpx;\r\n\t\t\t\t\t\t\t\t\tcolor: #E4001D;\r\n\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t&:nth-child(2) {\r\n\t\t\t\t\t\t\t\tfont-weight: 400;\r\n\t\t\t\t\t\t\t\tfont-size: 24rpx;\r\n\t\t\t\t\t\t\t\tcolor: #E93047;\r\n\t\t\t\t\t\t\t\tmargin-top: 8rpx;\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\t\t\t\t\t.juaninfo {\r\n\t\t\t\t\t\tflex: 1;\r\n\t\t\t\t\t\theight: 100%;\r\n\t\t\t\t\t\tpadding: 0 30rpx;\r\n\t\t\t\t\t\tbox-sizing: border-box;\r\n\t\t\t\t\t\tdisplay: flex;\r\n\t\t\t\t\t\talign-items: center;\r\n\t\t\t\t\t\timage {\r\n\t\t\t\t\t\t\tflex-shrink: 0;\r\n\t\t\t\t\t\t\twidth: 40rpx;\r\n\t\t\t\t\t\t\theight: 40rpx;\r\n\t\t\t\t\t\t\tmargin-left: 30rpx;\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\t.juaninfo-info {\r\n\t\t\t\t\t\t\tflex: 1;\r\n\t\t\t\t\t\t\theight: 100%;\r\n\t\t\t\t\t\t\tdisplay: flex;\r\n\t\t\t\t\t\t\tjustify-content: center;\r\n\t\t\t\t\t\t\tflex-direction: column;\r\n\t\t\t\t\t\t\ttext {\r\n\t\t\t\t\t\t\t\t&:nth-child(1) {\r\n\t\t\t\t\t\t\t\t\tfont-weight: 500;\r\n\t\t\t\t\t\t\t\t\tfont-size: 32rpx;\r\n\t\t\t\t\t\t\t\t\tcolor: #222222;\r\n\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t&:nth-child(2) {\r\n\t\t\t\t\t\t\t\t\tfont-weight: 400;\r\n\t\t\t\t\t\t\t\t\tfont-size: 24rpx;\r\n\t\t\t\t\t\t\t\t\tcolor: #777777;\r\n\t\t\t\t\t\t\t\t\tmargin-top: 12rpx;\r\n\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}\r\n\t\t.footer {\r\n\t\t\twidth: 100%;\r\n\t\t\tposition: fixed;\r\n\t\t\tbottom: 0;\r\n\t\t\tleft: 0;\r\n\t\t\tpadding: 0 30rpx;\r\n\t\t\tbox-sizing: border-box;\r\n\t\t\tbox-shadow: 0rpx -2rpx 4rpx 0rpx rgba(0,0,0,0.06);\r\n\t\t\tbackground-color: #ffffff;\r\n\t\t\theight: calc(env(safe-area-inset-bottom) + 108rpx);\r\n\t\t\t.edit {\r\n\t\t\t\twidth: 100%;\r\n\t\t\t\theight: 108rpx;\r\n\t\t\t\tdisplay: flex;\r\n\t\t\t\talign-items: center;\r\n\t\t\t\t.edit-btn {\r\n\t\t\t\t\twidth: 100%;\r\n\t\t\t\t\theight: 88rpx;\r\n\t\t\t\t\tline-height: 88rpx;\r\n\t\t\t\t\ttext-align: center;\r\n\t\t\t\t\tbackground: #004096;\r\n\t\t\t\t\tborder-radius: 44rpx;\r\n\t\t\t\t\tfont-weight: 500;\r\n\t\t\t\t\tfont-size: 32rpx;\r\n\t\t\t\t\tcolor: #FFFFFF;\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}\r\n\t\t.play {\r\n\t\t\twidth: 100%;\r\n\t\t\theight: 108rpx;\r\n\t\t\tbackground: #FFFFFF;\r\n\t\t\tpadding: 0 26rpx;\r\n\t\t\tbox-sizing: border-box;\r\n\t\t\tdisplay: flex;\r\n\t\t\talign-items: center;\r\n\t\t\tjustify-content: space-between;\r\n\t\t\tmargin-top: 20rpx;\r\n\t\t\timage {\r\n\t\t\t\twidth: 40rpx;\r\n\t\t\t\theight: 40rpx;\r\n\t\t\t}\r\n\t\t\t.play-info {\r\n\t\t\t\tdisplay: flex;\r\n\t\t\t\talign-items: center;\r\n\t\t\t\timage {\r\n\t\t\t\t\twidth: 48rpx;\r\n\t\t\t\t\theight: 48rpx;\r\n\t\t\t\t\tmargin-right: 16rpx;\r\n\t\t\t\t}\r\n\t\t\t\ttext {\r\n\t\t\t\t\tfont-weight: 400;\r\n\t\t\t\t\tfont-size: 30rpx;\r\n\t\t\t\t\tcolor: #111111;\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}\r\n\t\t.remark {\r\n\t\t\twidth: 100%;\r\n\t\t\theight: 100rpx;\r\n\t\t\tdisplay: flex;\r\n\t\t\talign-items: center;\r\n\t\t\tbackground: #FFFFFF;\r\n\t\t\tmargin-top: 20rpx;\r\n\t\t\tpadding: 0 26rpx;\r\n\t\t\tbox-sizing: border-box;\r\n\t\t\t.remark-label {\r\n\t\t\t\tfont-weight: 400;\r\n\t\t\t\tfont-size: 28rpx;\r\n\t\t\t\tcolor: #333333;\r\n\t\t\t\tflex-shrink: 0;\r\n\t\t\t\tmargin-right: 60rpx;\r\n\t\t\t}\r\n\t\t\tinput {\r\n\t\t\t\tflex: 1;\r\n\t\t\t\theight: 100%;\r\n\t\t\t\tfont-weight: 400;\r\n\t\t\t\tfont-size: 28rpx;\r\n\t\t\t\tcolor: #111111;\r\n\t\t\t\ttext-align: right;\r\n\t\t\t}\r\n\t\t}\r\n\t\t.box-shop {\r\n\t\t\twidth: 100%;\r\n\t\t\tpadding: 30rpx;\r\n\t\t\tbox-sizing: border-box;\r\n\t\t\tmargin-top: 20rpx;\r\n\t\t\tbackground-color: #ffffff;\r\n\t\t\t.xian {\r\n\t\t\t\twidth: 100%;\r\n\t\t\t\theight: 1rpx;\r\n\t\t\t\tbackground-color: #ECF0F4;\r\n\t\t\t\tmargin-top: 30rpx;\r\n\t\t\t}\r\n\t\t\t.info {\r\n\t\t\t\twidth: 100%;\r\n\t\t\t\tdisplay: flex;\r\n\t\t\t\tflex-direction: column;\r\n\t\t\t\t.info-item {\r\n\t\t\t\t\twidth: 100%;\r\n\t\t\t\t\tdisplay: flex;\r\n\t\t\t\t\talign-items: center;\r\n\t\t\t\t\tjustify-content: space-between;\r\n\t\t\t\t\tmargin-top: 30rpx;\r\n\t\t\t\t\t.info-item-label {\r\n\t\t\t\t\t\tfont-weight: 400;\r\n\t\t\t\t\t\tfont-size: 28rpx;\r\n\t\t\t\t\t\tcolor: #333333;\r\n\t\t\t\t\t}\r\n\t\t\t\t\t.info-item-price1 {\r\n\t\t\t\t\t\tfont-weight: 500;\r\n\t\t\t\t\t\tfont-size: 28rpx;\r\n\t\t\t\t\t\tcolor: #E4001D;\r\n\t\t\t\t\t\tdisplay: flex;\r\n\t\t\t\t\t\talign-items: center;\r\n\t\t\t\t\t\timage {\r\n\t\t\t\t\t\t\twidth: 8rpx;\r\n\t\t\t\t\t\t\theight: 16rpx;\r\n\t\t\t\t\t\t\tmargin-left: 10rpx;\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\t\t\t\t\t.info-item-price2 {\r\n\t\t\t\t\t\tdisplay: flex;\r\n\t\t\t\t\t\talign-items: baseline;\r\n\t\t\t\t\t\ttext {\r\n\t\t\t\t\t\t\t&:nth-child(1) {\r\n\t\t\t\t\t\t\t\tfont-weight: 600;\r\n\t\t\t\t\t\t\t\tfont-size: 36rpx;\r\n\t\t\t\t\t\t\t\tcolor: #222222;\r\n\t\t\t\t\t\t\t\t&::before {\r\n\t\t\t\t\t\t\t\t\tcontent: 'ï¿¥';\r\n\t\t\t\t\t\t\t\t\tfont-weight: 600;\r\n\t\t\t\t\t\t\t\t\tfont-size: 28rpx;\r\n\t\t\t\t\t\t\t\t\tcolor: #222222;\r\n\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t&:nth-child(2) {\r\n\t\t\t\t\t\t\t\tfont-weight: 600;\r\n\t\t\t\t\t\t\t\tfont-size: 28rpx;\r\n\t\t\t\t\t\t\t\tcolor: #222222;\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\t\t\t\t\t.info-item-price {\r\n\t\t\t\t\t\tdisplay: flex;\r\n\t\t\t\t\t\talign-items: baseline;\r\n\t\t\t\t\t\ttext {\r\n\t\t\t\t\t\t\t&:nth-child(1) {\r\n\t\t\t\t\t\t\t\tfont-weight: 500;\r\n\t\t\t\t\t\t\t\tfont-size: 32rpx;\r\n\t\t\t\t\t\t\t\tcolor: #222222;\r\n\t\t\t\t\t\t\t\t&::before {\r\n\t\t\t\t\t\t\t\t\tcontent: 'ï¿¥';\r\n\t\t\t\t\t\t\t\t\tfont-weight: 500;\r\n\t\t\t\t\t\t\t\t\tfont-size: 28rpx;\r\n\t\t\t\t\t\t\t\t\tcolor: #222222;\r\n\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t&:nth-child(2) {\r\n\t\t\t\t\t\t\t\tfont-weight: 500;\r\n\t\t\t\t\t\t\t\tfont-size: 28rpx;\r\n\t\t\t\t\t\t\t\tcolor: #222222;\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t\t.item {\r\n\t\t\t\twidth: 100%;\r\n\t\t\t\theight: 144rpx;\r\n\t\t\t\tdisplay: flex;\r\n\t\t\t\talign-items: center;\r\n\t\t\t\tmargin-bottom: 20rpx;\r\n\t\t\t\t&:last-child {\r\n\t\t\t\t\tmargin: 0 !important;\r\n\t\t\t\t}\r\n\t\t\t\t.item-image {\r\n\t\t\t\t\tflex-shrink: 0;\r\n\t\t\t\t\twidth: 144rpx;\r\n\t\t\t\t\theight: 144rpx;\r\n\t\t\t\t\tbackground: #FFFFFF;\r\n\t\t\t\t\tborder-radius: 8rpx;\r\n\t\t\t\t\tborder: 1rpx solid #EEEEEE;\r\n\t\t\t\t\tmargin-right: 30rpx;\r\n\t\t\t\t\timage {\r\n\t\t\t\t\t\twidth: 100%;\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t\t.item-info {\r\n\t\t\t\t\tflex: 1;\r\n\t\t\t\t\theight: 144rpx;\r\n\t\t\t\t\tdisplay: flex;\r\n\t\t\t\t\tflex-direction: column;\r\n\t\t\t\t\tjustify-content: space-between;\r\n\t\t\t\t\t.item-info-title {\r\n\t\t\t\t\t\tfont-weight: 400;\r\n\t\t\t\t\t\tfont-size: 30rpx;\r\n\t\t\t\t\t\tcolor: #222222;\r\n\t\t\t\t\t}\r\n\t\t\t\t\t.item-info-bottom {\r\n\t\t\t\t\t\tdisplay: flex;\r\n\t\t\t\t\t\talign-items: center;\r\n\t\t\t\t\t\tjustify-content: space-between;\r\n\t\t\t\t\t\t.price {\r\n\t\t\t\t\t\t\tfont-weight: 600;\r\n\t\t\t\t\t\t\tfont-size: 30rpx;\r\n\t\t\t\t\t\t\tcolor: #222222;\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\t.num {\r\n\t\t\t\t\t\t\tdisplay: flex;\r\n\t\t\t\t\t\t\talign-items: center;\r\n\t\t\t\t\t\t\t.num-total {\r\n\t\t\t\t\t\t\t\tmargin: 0 32rpx;\r\n\t\t\t\t\t\t\t\tfont-weight: 400;\r\n\t\t\t\t\t\t\t\tfont-size: 28rpx;\r\n\t\t\t\t\t\t\t\tcolor: #222222;\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t.num-add {\r\n\t\t\t\t\t\t\t\twidth: 44rpx;\r\n\t\t\t\t\t\t\t\theight: 44rpx;\r\n\t\t\t\t\t\t\t\tline-height: 44rpx;\r\n\t\t\t\t\t\t\t\ttext-align: center;\r\n\t\t\t\t\t\t\t\tbackground: #FFFFFF;\r\n\t\t\t\t\t\t\t\tborder-radius: 22rpx;\r\n\t\t\t\t\t\t\t\tborder: 1rpx solid #CCCCCC;\r\n\t\t\t\t\t\t\t\tfont-size: 40rpx;\r\n\t\t\t\t\t\t\t\tcolor: #979797;\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}\r\n\t\t.box-addr {\r\n\t\t\twidth: 100%;\r\n\t\t\tpadding: 20rpx 0;\r\n\t\t\tbox-sizing: border-box;\r\n\t\t\t.box-addr-list {\r\n\t\t\t\twidth: 100%;\r\n\t\t\t\theight: 88rpx;\r\n\t\t\t\tbackground: #F8F9FB;\r\n\t\t\t\tdisplay: flex;\r\n\t\t\t\talign-items: center;\r\n\t\t\t\t.active {\r\n\t\t\t\t\tbackground-color: #ffffff !important;\r\n\t\t\t\t}\r\n\t\t\t\t.box-addr-list-row {\r\n\t\t\t\t\tflex: 1;\r\n\t\t\t\t\theight: 100%;\r\n\t\t\t\t\tdisplay: flex;\r\n\t\t\t\t\talign-items: center;\r\n\t\t\t\t\tjustify-content: center;\r\n\t\t\t\t\tborder-radius: 20rpx 20rpx 0rpx 0rpx;\r\n\t\t\t\t\timage {\r\n\t\t\t\t\t\twidth: 30rpx;\r\n\t\t\t\t\t\theight: 30rpx;\r\n\t\t\t\t\t\tmargin-right: 10rpx;\r\n\t\t\t\t\t}\r\n\t\t\t\t\ttext {\r\n\t\t\t\t\t\tfont-weight: 500;\r\n\t\t\t\t\t\tfont-size: 30rpx;\r\n\t\t\t\t\t\tcolor: #222222;\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t\t.box-addr-time {\r\n\t\t\t\twidth: 100%;\r\n\t\t\t\tdisplay: flex;\r\n\t\t\t\talign-items: center;\r\n\t\t\t\tpadding: 0 20rpx;\r\n\t\t\t\tbox-sizing: border-box;\r\n\t\t\t\tbackground-color: #ffffff;\r\n\t\t\t\ttext {\r\n\t\t\t\t\t&:nth-child(1) {\r\n\t\t\t\t\t\tfont-weight: 400;\r\n\t\t\t\t\t\tfont-size: 26rpx;\r\n\t\t\t\t\t\tcolor: #666666;\r\n\t\t\t\t\t}\r\n\t\t\t\t\t&:nth-child(2) {\r\n\t\t\t\t\t\tfont-weight: 400;\r\n\t\t\t\t\t\tfont-size: 26rpx;\r\n\t\t\t\t\t\tcolor: #333333;\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t\t.box-addr-dz {\r\n\t\t\t\twidth: 100%;\r\n\t\t\t\theight: 80rpx;\r\n\t\t\t\tdisplay: flex;\r\n\t\t\t\talign-items: center;\r\n\t\t\t\tjustify-content: space-between;\r\n\t\t\t\tpadding: 0 20rpx;\r\n\t\t\t\tbox-sizing: border-box;\r\n\t\t\t\tbackground-color: #ffffff;\r\n\t\t\t\t.box-addr-dz-left {\r\n\t\t\t\t\tdisplay: flex;\r\n\t\t\t\t\talign-items: center;\r\n\t\t\t\t\ttext {\r\n\t\t\t\t\t\t&:nth-child(1) {\r\n\t\t\t\t\t\t\tfont-weight: 400;\r\n\t\t\t\t\t\t\tfont-size: 26rpx;\r\n\t\t\t\t\t\t\tcolor: #666666;\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\t&:nth-child(2) {\r\n\t\t\t\t\t\t\tfont-weight: 400;\r\n\t\t\t\t\t\t\tfont-size: 26rpx;\r\n\t\t\t\t\t\t\tcolor: #004096;\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t\t.box-addr-dz-r {\r\n\t\t\t\t\tdisplay: flex;\r\n\t\t\t\t\talign-items: center;\r\n\t\t\t\t\timage {\r\n\t\t\t\t\t\twidth: 48rpx;\r\n\t\t\t\t\t\theight: 48rpx;\r\n\t\t\t\t\t\tmargin-right: 12rpx;\r\n\t\t\t\t\t}\r\n\t\t\t\t\ttext {\r\n\t\t\t\t\t\tfont-weight: 400;\r\n\t\t\t\t\t\tfont-size: 24rpx;\r\n\t\t\t\t\t\tcolor: #222222;\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t\t.box-addr-val {\r\n\t\t\t\twidth: 100%;\r\n\t\t\t\tpadding: 30rpx;\r\n\t\t\t\tdisplay: flex;\r\n\t\t\t\talign-items: flex-start;\r\n\t\t\t\tjustify-content: space-between;\r\n\t\t\t\tbox-sizing: border-box;\r\n\t\t\t\tbackground-color: #ffffff;\r\n\t\t\t\t.icon1 {\r\n\t\t\t\t\tflex-shrink: 0;\r\n\t\t\t\t\twidth: 48rpx;\r\n\t\t\t\t\theight: 48rpx;\r\n\t\t\t\t\tmargin-right: 22rpx;\r\n\t\t\t\t}\r\n\t\t\t\t.info {\r\n\t\t\t\t\tflex: 1;\r\n\t\t\t\t\tmin-height: 48rpx;\r\n\t\t\t\t\tdisplay: flex;\r\n\t\t\t\t\tflex-direction: column;\r\n\t\t\t\t\t.info-top {\r\n\t\t\t\t\t\tdisplay: flex;\r\n\t\t\t\t\t\talign-items: center;\r\n\t\t\t\t\t\ttext {\r\n\t\t\t\t\t\t\t&:nth-child(1) {\r\n\t\t\t\t\t\t\t\tfont-weight: 500;\r\n\t\t\t\t\t\t\t\tfont-size: 30rpx;\r\n\t\t\t\t\t\t\t\tcolor: #222222;\r\n\t\t\t\t\t\t\t\tmargin-right: 14rpx;\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t&:nth-child(2) {\r\n\t\t\t\t\t\t\t\tfont-weight: 400;\r\n\t\t\t\t\t\t\t\tfont-size: 26rpx;\r\n\t\t\t\t\t\t\t\tcolor: #666666;\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\t\t\t\t\t.info-bottom {\r\n\t\t\t\t\t\tfont-weight: 400;\r\n\t\t\t\t\t\tfont-size: 26rpx;\r\n\t\t\t\t\t\tcolor: #333333;\r\n\t\t\t\t\t\tmargin-top: 14rpx;\r\n\t\t\t\t\t}\r\n\t\t\t\t\t.info-wu {\r\n\t\t\t\t\t\tflex: 1;\r\n\t\t\t\t\t\theight: 100%;\r\n\t\t\t\t\t\tdisplay: flex;\r\n\t\t\t\t\t\talign-items: center;\r\n\t\t\t\t\t\tjustify-content: space-between;\r\n\t\t\t\t\t\ttext {\r\n\t\t\t\t\t\t\tfont-weight: 400;\r\n\t\t\t\t\t\t\tfont-size: 30rpx;\r\n\t\t\t\t\t\t\tcolor: #333333;\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\timage {\r\n\t\t\t\t\t\t\twidth: 16rpx;\r\n\t\t\t\t\t\t\tmargin: 0 !important;\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t\t.icon2 {\r\n\t\t\t\t\tflex-shrink: 0;\r\n\t\t\t\t\twidth: 12rpx;\r\n\t\t\t\t\theight: 24rpx;\r\n\t\t\t\t\tmargin-left: 40rpx;\r\n\t\t\t\t\tmargin-top: 55rpx;\r\n\t\t\t\t}\r\n\t\t\t\t.info-wu {\r\n\t\t\t\t\tflex: 1;\r\n\t\t\t\t\theight: 48rpx;\r\n\t\t\t\t\tdisplay: flex;\r\n\t\t\t\t\talign-items: center;\r\n\t\t\t\t\tjustify-content: space-between;\r\n\t\t\t\t\ttext {\r\n\t\t\t\t\t\tfont-weight: 400;\r\n\t\t\t\t\t\tfont-size: 30rpx;\r\n\t\t\t\t\t\tcolor: #333333;\r\n\t\t\t\t\t}\r\n\t\t\t\t\timage {\r\n\t\t\t\t\t\twidth: 16rpx;\r\n\t\t\t\t\t\tmargin: 0 !important;\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}\r\n\t}\n</style>","import mod from \"-!../../../../../办公/HBuilderX.3.8.12.20230817/HBuilderX/plugins/uniapp-cli/node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../../../../办公/HBuilderX.3.8.12.20230817/HBuilderX/plugins/uniapp-cli/node_modules/css-loader/dist/cjs.js??ref--6-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--6-oneOf-1-2!../../../../../办公/HBuilderX.3.8.12.20230817/HBuilderX/plugins/uniapp-cli/node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-3!../../../../../办公/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!./confirm-order.vue?vue&type=style&index=0&lang=css&\"; export default mod; export * from \"-!../../../../../办公/HBuilderX.3.8.12.20230817/HBuilderX/plugins/uniapp-cli/node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../../../../办公/HBuilderX.3.8.12.20230817/HBuilderX/plugins/uniapp-cli/node_modules/css-loader/dist/cjs.js??ref--6-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--6-oneOf-1-2!../../../../../办公/HBuilderX.3.8.12.20230817/HBuilderX/plugins/uniapp-cli/node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-3!../../../../../办公/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!./confirm-order.vue?vue&type=style&index=0&lang=css&\"","import mod from \"-!../../../../../办公/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!./confirm-order.vue?vue&type=style&index=1&id=2f2cf9ec&lang=scss&scoped=true&\"; export default mod; export * from \"-!../../../../../办公/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!./confirm-order.vue?vue&type=style&index=1&id=2f2cf9ec&lang=scss&scoped=true&\""],"sourceRoot":""}
<<<<<<< HEAD
{"version":3,"sources":["uni-app:///main.js","webpack:///D:/豆米/dingyuannongji/mini-program/pages/confirm-order/confirm-order.vue?33f7","webpack:///D:/豆米/dingyuannongji/mini-program/pages/confirm-order/confirm-order.vue?2b60","webpack:///D:/豆米/dingyuannongji/mini-program/pages/confirm-order/confirm-order.vue?8ed7","webpack:///D:/豆米/dingyuannongji/mini-program/pages/confirm-order/confirm-order.vue?866c","uni-app:///pages/confirm-order/confirm-order.vue","webpack:///D:/豆米/dingyuannongji/mini-program/pages/confirm-order/confirm-order.vue?b1c7","webpack:///D:/豆米/dingyuannongji/mini-program/pages/confirm-order/confirm-order.vue?1d91"],"names":["wx","__webpack_require_UNI_MP_PLUGIN__","__webpack_require__","createPage","Page","renderjs","component","options","__file","components","uPopup","uIcon","uSearch","e","message","indexOf","console","error","render","_vm","this","_h","$createElement","l0","_self","_c","orderInfo","__map","memberCouponList","item","index","$orig","__get_orig","g0","endDate","substring","_isMounted","e0","$event","show3","e1","show","e2","show1","e3","e4","e5","useIntegralCopy","e6","show2","e7","$mp","data","Object","assign","$root","recyclableRender","staticRenderFns","_withStripped","computed","shopName","addr","remark","cityName","useIntegral","receiveType","couponId","shopId","payDetailRequestList","shopList","isPosition","lat","lgt","onLoad","uni","methods","goToAppSetting","success","that","positioning","type","highAccuracyExpireTime","isHighAccuracy","latitude","longitude","key","qqmapsdk","locParam","fail","jumpCity","url","openShop","dianhua","phoneNumber","openLoation","name","address","seleShop","confirmMD","title","icon","getShopLists","res","payment","addressId","titlePrice","timeStamp","nonceStr","package","signType","paySign","confirmJF","confirmCoupon","selectCoupon","getOrderInfo","changeOrderType","jumpAddr","getDefaultAddr","then"],"mappings":"4JAAA,MAGA,aACA,YAFAA,EAAGC,kCAAoCC,EAGvCC,EAAWC,a,gFCLX,2IACIC,EADJ,QAUIC,EAAY,qBACd,aACA,YACA,sBACA,EACA,KACA,WACA,MACA,EACA,gBACAD,GAGFC,EAAUC,QAAQC,OAAS,wCACZ,aAAAF,E,0CCxBf,uQ,iCCAA,IAAIG,EAAJ,0LACA,IACEA,EAAa,CACXC,OAAQ,WACN,OAAO,oHAITC,MAAO,WACL,OAAO,kHAITC,QAAS,WACP,OAAO,uHAKX,MAAOC,GACP,IAC+C,IAA7CA,EAAEC,QAAQC,QAAQ,wBACa,IAA/BF,EAAEC,QAAQC,QAAQ,QAWlB,MAAMF,EATNG,QAAQC,MAAMJ,EAAEC,SAChBE,QAAQC,MAAM,mBACdD,QAAQC,MACN,uFAEFD,QAAQC,MACN,mDAMN,IAAIC,EAAS,WACX,IAAIC,EAAMC,KACNC,EAAKF,EAAIG,eAETC,GADKJ,EAAIK,MAAMC,GACVN,EAAIO,UACTP,EAAIQ,MAAMR,EAAIO,UAAUE,kBAAkB,SAAUC,EAAMC,GACxD,IAAIC,EAAQZ,EAAIa,WAAWH,GACvBI,EAAKJ,EAAKK,QAAQC,UAAU,EAAG,IACnC,MAAO,CACLJ,MAAOA,EACPE,GAAIA,MAGR,MACCd,EAAIiB,aACPjB,EAAIkB,GAAK,SAAUC,GACjBnB,EAAIoB,OAAQ,GAEdpB,EAAIqB,GAAK,SAAUF,GACjBnB,EAAIsB,MAAO,GAEbtB,EAAIuB,GAAK,SAAUJ,GACjBnB,EAAIwB,OAAQ,GAEdxB,EAAIyB,GAAK,SAAUN,GACjBnB,EAAIsB,MAAO,GAEbtB,EAAI0B,GAAK,SAAUP,GACjBnB,EAAIwB,OAAQ,GAEdxB,EAAI2B,GAAK,SAAUR,GACjBnB,EAAI4B,gBAA0C,IAAxB5B,EAAI4B,gBAAwB,EAAI,GAExD5B,EAAI6B,GAAK,SAAUV,GACjBnB,EAAI8B,OAAQ,GAEd9B,EAAI+B,GAAK,SAAUZ,GACjBnB,EAAIoB,OAAQ,IAGhBpB,EAAIgC,IAAIC,KAAOC,OAAOC,OACpB,GACA,CACEC,MAAO,CACLhC,GAAIA,MAKRiC,GAAmB,EACnBC,EAAkB,GACtBvC,EAAOwC,eAAgB,G,iCCvFvB,yHAA0xB,eAAG,G,4ICoP7xB,mlBADA,cAEA,CACAC,eACA,6BAEAP,gBACA,OACAX,QACAE,SACAM,SACAV,SACAqB,YACAlC,eACAmC,UACAC,UACAC,YACAhB,kBACAiB,cACAC,cACAC,cACAC,YACAC,wBACAC,YACAC,cACAC,OACAC,SAGAC,mBAAA,WACA,2BACA,IACA,4BACAC,6BAEAA,4BACA,SACA,oBAEAA,0BACA,aACA,oBAEA,uBAEAC,SACAC,0BAAA,WACA,OACAF,eACAG,oBACA,sCACA,gBACAC,qBAMAC,uBACA,WACAL,eACAM,aACAC,2BACAC,kBACAL,oBACA,OAAAM,oBAAAC,uBACA,SACAC,4CAEAC,mBACAC,WACAV,oBACAC,iCACAA,4BACAA,4BACAA,mBAEAU,iBACAxE,4CAOAyE,oBACAf,cACAgB,wCAGAC,oBAAA,WAEAjB,cACAG,oBACA,qCAEA,gBACA,kBAGA,gBACA,gBAOAe,oBACAlB,iBACAmB,iBAIAC,wBACApB,gBACAS,oBACAC,sBACAW,YACAC,kBAGAC,qBACA,qCACApE,mBAGAqE,qBACA,uFACAC,cACAC,cAEA,oEACA,eAGAC,yBAAA,WACA,yBACAtC,uBACAQ,aACAC,aACAZ,yBACA,kBACA,eACA0C,4BACAzE,eAEA,kBACA,QACA,iBAMA0E,mBACA,WACA,iCAIA,iCAIA,sBACAC,sCACAtC,uBACAE,+CACAH,6BACAD,6BACAF,mBACA2C,oCACAtC,yCACA,kBACA,eAEA,mBACAO,cACAgB,2FAGA1F,kBACA0G,oCACAC,kCACAC,qCACAC,kCACAC,gCACAjC,oBACA,+BACAH,cACAgB,2FAGAhB,aAAAyB,eAAAC,qBAjCA,aACAD,cACAC,cANA,aACAD,gBACAC,eA4CAW,qBACA,sCACA,cACA,qBAGAC,yBACA,6EACA,aACA,uBAEA,aACA,qBAGAC,yBACA,uDACApF,mBAIAqF,wBAAA,WACA,6BACAV,sCACAtC,uBACAE,+CACAH,6BACAD,+BACA,kBACA,eACA,wBAGAsC,6CACAzE,eAHAyE,2BAMA,wBAIAa,4BACA,mBACA,qBAEAC,oBACA1C,cACAgB,uCAGA2B,0BAAA,WACA,0BACAC,kBACA,eACA,cACA,wBAKA,c,6EC1fA,yHAA6mC,eAAG,G,uDCAhnC,yHAA69C,eAAG,G","file":"pages/confirm-order/confirm-order.js","sourcesContent":["import 'uni-pages';\n// @ts-ignore\nwx.__webpack_require_UNI_MP_PLUGIN__ = __webpack_require__;\nimport Vue from 'vue'\nimport Page from './pages/confirm-order/confirm-order.vue'\ncreatePage(Page)","import { render, staticRenderFns, recyclableRender, components } from \"./confirm-order.vue?vue&type=template&id=2f2cf9ec&scoped=true&\"\nvar renderjs\nimport script from \"./confirm-order.vue?vue&type=script&lang=js&\"\nexport * from \"./confirm-order.vue?vue&type=script&lang=js&\"\nimport style0 from \"./confirm-order.vue?vue&type=style&index=0&lang=css&\"\nimport style1 from \"./confirm-order.vue?vue&type=style&index=1&id=2f2cf9ec&lang=scss&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../办公/HBuilderX.3.8.12.20230817/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  \"2f2cf9ec\",\n  null,\n  false,\n  components,\n  renderjs\n)\n\ncomponent.options.__file = \"pages/confirm-order/confirm-order.vue\"\nexport default component.exports","export * from \"-!../../../../../办公/HBuilderX.3.8.12.20230817/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!../../../../../办公/HBuilderX.3.8.12.20230817/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-preprocess-loader/index.js??ref--17-0!../../../../../办公/HBuilderX.3.8.12.20230817/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/webpack-uni-mp-loader/lib/template.js!../../../../../办公/HBuilderX.3.8.12.20230817/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-uni-app-loader/page-meta.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!./confirm-order.vue?vue&type=template&id=2f2cf9ec&scoped=true&\"","var components\ntry {\n  components = {\n    uPopup: function () {\n      return import(\n        /* webpackChunkName: \"node-modules/uview-ui/components/u-popup/u-popup\" */ \"uview-ui/components/u-popup/u-popup.vue\"\n      )\n    },\n    uIcon: function () {\n      return import(\n        /* webpackChunkName: \"node-modules/uview-ui/components/u-icon/u-icon\" */ \"uview-ui/components/u-icon/u-icon.vue\"\n      )\n    },\n    uSearch: function () {\n      return import(\n        /* webpackChunkName: \"node-modules/uview-ui/components/u-search/u-search\" */ \"uview-ui/components/u-search/u-search.vue\"\n      )\n    },\n  }\n} catch (e) {\n  if (\n    e.message.indexOf(\"Cannot find module\") !== -1 &&\n    e.message.indexOf(\".vue\") !== -1\n  ) {\n    console.error(e.message)\n    console.error(\"1. æŽ’查组件名称拼写是否正确\")\n    console.error(\n      \"2. æŽ’查组件是否符合 easycom è§„范,文档:https://uniapp.dcloud.net.cn/collocation/pages?id=easycom\"\n    )\n    console.error(\n      \"3. è‹¥ç»„件不符合 easycom è§„范,需手动引入,并在 components ä¸­æ³¨å†Œè¯¥ç»„ä»¶\"\n    )\n  } else {\n    throw e\n  }\n}\nvar render = function () {\n  var _vm = this\n  var _h = _vm.$createElement\n  var _c = _vm._self._c || _h\n  var l0 = _vm.orderInfo\n    ? _vm.__map(_vm.orderInfo.memberCouponList, function (item, index) {\n        var $orig = _vm.__get_orig(item)\n        var g0 = item.endDate.substring(0, 10)\n        return {\n          $orig: $orig,\n          g0: g0,\n        }\n      })\n    : null\n  if (!_vm._isMounted) {\n    _vm.e0 = function ($event) {\n      _vm.show3 = true\n    }\n    _vm.e1 = function ($event) {\n      _vm.show = true\n    }\n    _vm.e2 = function ($event) {\n      _vm.show1 = true\n    }\n    _vm.e3 = function ($event) {\n      _vm.show = false\n    }\n    _vm.e4 = function ($event) {\n      _vm.show1 = false\n    }\n    _vm.e5 = function ($event) {\n      _vm.useIntegralCopy = _vm.useIntegralCopy === 1 ? 0 : 1\n    }\n    _vm.e6 = function ($event) {\n      _vm.show2 = false\n    }\n    _vm.e7 = function ($event) {\n      _vm.show3 = false\n    }\n  }\n  _vm.$mp.data = Object.assign(\n    {},\n    {\n      $root: {\n        l0: l0,\n      },\n    }\n  )\n}\nvar recyclableRender = false\nvar staticRenderFns = []\nrender._withStripped = true\n\nexport { render, staticRenderFns, recyclableRender, components }","import mod from \"-!../../../../../办公/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!./confirm-order.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../../办公/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!./confirm-order.vue?vue&type=script&lang=js&\"","<template>\n\t<view class=\"box\" v-if=\"orderInfo\">\n\t\t<view class=\"box-addr\">\r\n\t\t\t<view class=\"box-addr-list\">\r\n\t\t\t\t<view @click=\"changeOrderType(0)\" :class=\"receiveType === 0 ? 'box-addr-list-row active' : 'box-addr-list-row'\">\r\n\t\t\t\t\t<image src=\"/static/icon/ic_wuliu_sel@2x.png\" mode=\"widthFix\"></image>\r\n\t\t\t\t\t<text>物流配送</text>\r\n\t\t\t\t</view>\r\n\t\t\t\t<view @click=\"changeOrderType(1)\" :class=\"receiveType === 1 ? 'box-addr-list-row active' : 'box-addr-list-row'\">\r\n\t\t\t\t\t<image src=\"/static/icon/ic_daodian@2x.png\" mode=\"widthFix\"></image>\r\n\t\t\t\t\t<text>门店自提</text>\r\n\t\t\t\t</view>\r\n\t\t\t</view>\r\n\t\t\t<!-- ç‰©æµé…é€ -->\r\n\t\t\t<view class=\"box-addr-val\" v-if=\"receiveType === 0\">\r\n\t\t\t\t<image class=\"icon1\" src=\"/static/icon/ic_location@2x.png\" mode=\"widthFix\"></image>\r\n\t\t\t\t<view class=\"info\" @click=\"jumpAddr\">\r\n\t\t\t\t\t<template v-if=\"addr\">\r\n\t\t\t\t\t\t<view class=\"info-top\">\r\n\t\t\t\t\t\t\t<text>{{addr.name}}</text>\r\n\t\t\t\t\t\t\t<text>{{addr.phone}}</text>\r\n\t\t\t\t\t\t</view>\r\n\t\t\t\t\t\t<view class=\"info-bottom\">\r\n\t\t\t\t\t\t\t{{addr.areaDetail}}{{addr.addr}}\r\n\t\t\t\t\t\t</view>\r\n\t\t\t\t\t</template>\r\n\t\t\t\t\t<view class=\"info-wu\" v-else>\r\n\t\t\t\t\t\t<text>选择地址</text>\r\n\t\t\t\t\t\t<image class=\"icon2\" src=\"/static/icon/ic_ar2@2x.png\" mode=\"widthFix\"></image>\r\n\t\t\t\t\t</view>\r\n\t\t\t\t</view>\r\n\t\t\t\t<image class=\"icon2\" src=\"/static/icon/ic_ar2@2x.png\" mode=\"widthFix\" v-if=\"addr\"></image>\r\n\t\t\t</view>\r\n\t\t\t<!-- é—¨åº—自提 -->\r\n\t\t\t<template v-if=\"receiveType === 1\">\r\n\t\t\t\t<view class=\"box-addr-val\" @click=\"openShop\">\r\n\t\t\t\t\t<image class=\"icon1\" src=\"/static/icon/ic_address@2x1.png\" mode=\"widthFix\"></image>\r\n\t\t\t\t\t<template v-if=\"shopId\">\r\n\t\t\t\t\t\t<view class=\"info\">\r\n\t\t\t\t\t\t\t<view class=\"info-top\">\r\n\t\t\t\t\t\t\t\t<text>{{shopId.name}}</text>\r\n\t\t\t\t\t\t\t</view>\r\n\t\t\t\t\t\t\t<view class=\"info-bottom\">\r\n\t\t\t\t\t\t\t\t{{shopId.addr}}\r\n\t\t\t\t\t\t\t</view>\r\n\t\t\t\t\t\t</view>\r\n\t\t\t\t\t\t<image class=\"icon2\" src=\"/static/icon/ic_ar2@2x.png\" mode=\"widthFix\"></image>\r\n\t\t\t\t\t</template>\r\n\t\t\t\t\t<view class=\"info-wu\" v-else>\r\n\t\t\t\t\t\t<text>选择门店</text>\r\n\t\t\t\t\t\t<image class=\"icon2\" src=\"/static/icon/ic_ar2@2x.png\" mode=\"widthFix\"></image>\r\n\t\t\t\t\t</view>\r\n\t\t\t\t</view>\r\n\t\t\t\t<view class=\"box-addr-time\" v-if=\"shopId\">\r\n\t\t\t\t\t<text>营业时间:</text>\r\n\t\t\t\t\t<text>{{shopId.startTime}}</text>\r\n\t\t\t\t</view>\r\n\t\t\t\t<view class=\"box-addr-dz\" v-if=\"shopId\">\r\n\t\t\t\t\t<view class=\"box-addr-dz-left\" @click=\"show3 = true\">\r\n\t\t\t\t\t\t<text>联系电话:</text>\r\n\t\t\t\t\t\t<text>{{shopId.phone}}</text>\r\n\t\t\t\t\t</view>\r\n\t\t\t\t\t<view class=\"box-addr-dz-r\">\r\n\t\t\t\t\t\t<image src=\"/static/icon/ic_address@2x.png\" mode=\"widthFix\"></image>\r\n\t\t\t\t\t\t<text>{{shopId.distance}}km</text>\r\n\t\t\t\t\t</view>\r\n\t\t\t\t</view>\r\n\t\t\t</template>\r\n\t\t</view>\r\n\t\t<view class=\"box-shop\">\r\n\t\t\t<view class=\"item\" v-for=\"(item, index) in orderInfo.goodsCalculateList\" :key=\"index\">\r\n\t\t\t\t<view class=\"item-image\">\r\n\t\t\t\t\t<image :src=\"item.skuImg\" mode=\"widthFix\"></image>\r\n\t\t\t\t</view>\r\n\t\t\t\t<view class=\"item-info\">\r\n\t\t\t\t\t<view class=\"item-info-title\">{{item.name}}</view>\r\n\t\t\t\t\t<view class=\"item-info-bottom\">\r\n\t\t\t\t\t\t<view class=\"price\">Â¥{{item.skuAmount}}</view>\r\n\t\t\t\t\t\t<view class=\"num\">\r\n\t\t\t\t\t\t\t<!-- <view class=\"num-add\">-</view> -->\r\n\t\t\t\t\t\t\t<view class=\"num-total\">数量:{{item.goodsNum}}</view>\r\n\t\t\t\t\t\t\t<!-- <view class=\"num-add\">+</view> -->\r\n\t\t\t\t\t\t</view>\r\n\t\t\t\t\t</view>\r\n\t\t\t\t</view>\r\n\t\t\t</view>\r\n\t\t\t<view class=\"xian\"></view>\r\n\t\t\t<view class=\"info\">\r\n\t\t\t\t<view class=\"info-item\">\r\n\t\t\t\t\t<view class=\"info-item-label\">商品总价</view>\r\n\t\t\t\t\t<view class=\"info-item-price\">\r\n\t\t\t\t\t\t<text>{{orderInfo.amount}}</text>\r\n\t\t\t\t\t</view>\r\n\t\t\t\t</view>\r\n\t\t\t\t<view class=\"info-item\">\r\n\t\t\t\t\t<view class=\"info-item-label\">运费</view>\r\n\t\t\t\t\t<view class=\"info-item-price1\">Â¥{{orderInfo.mailAmount}}</view>\r\n\t\t\t\t</view>\r\n\t\t\t\t<view class=\"info-item\">\r\n\t\t\t\t\t<view class=\"info-item-label\">优惠券</view>\r\n\t\t\t\t\t<view class=\"info-item-price1\" @click=\"show = true\">\r\n\t\t\t\t\t\t-Â¥{{orderInfo.couponAmount}}\r\n\t\t\t\t\t\t<image src=\"/static/icon/ic_ar2@2x.png\" mode=\"widthFix\"></image>\r\n\t\t\t\t\t</view>\r\n\t\t\t\t</view>\r\n\t\t\t\t<view class=\"info-item\">\r\n\t\t\t\t\t<view class=\"info-item-label\">积分抵扣</view>\r\n\t\t\t\t\t<view class=\"info-item-price1\" @click=\"show1 = true\">\r\n\t\t\t\t\t\t-Â¥{{orderInfo.integralAmount}}\r\n\t\t\t\t\t\t<image src=\"/static/icon/ic_ar2@2x.png\" mode=\"widthFix\"></image>\r\n\t\t\t\t\t</view>\r\n\t\t\t\t</view>\r\n\t\t\t\t<view class=\"info-item\">\r\n\t\t\t\t\t<view class=\"info-item-label\" style=\"color: #222222; font-size: 30rpx; font-weight: 600;\">应付款</view>\r\n\t\t\t\t\t<view class=\"info-item-price2\">\r\n\t\t\t\t\t\t<text>{{orderInfo.payAmount}}</text>\r\n\t\t\t\t\t</view>\r\n\t\t\t\t</view>\r\n\t\t\t</view>\r\n\t\t</view>\r\n\t\t<view class=\"remark\">\r\n\t\t\t<view class=\"remark-label\">订单备注</view>\r\n\t\t\t<input type=\"text\" v-model=\"remark\" placeholder=\"请输入备注\" />\r\n\t\t</view>\r\n\t\t<view class=\"play\">\r\n\t\t\t<view class=\"play-info\">\r\n\t\t\t\t<image src=\"/static/icon/order_ic_wepay@2x.png\" mode=\"widthFix\"></image>\r\n\t\t\t\t<text>微信支付</text>\r\n\t\t\t</view>\r\n\t\t\t<image src=\"/static/icon/cart_ic_sel@2x.png\" mode=\"widthFix\"></image>\r\n\t\t</view>\r\n\t\t<view class=\"footer\">\r\n\t\t\t<view class=\"edit\">\r\n\t\t\t\t<view class=\"edit-btn\" @click=\"payment\">立即支付 Â¥{{orderInfo.payAmount}}</view>\r\n\t\t\t</view>\r\n\t\t\t<view style=\"width: 100%; height: env(safe-area-inset-bottom);\"></view>\r\n\t\t</view>\r\n\t\t<!-- ä¼˜æƒ åˆ¸ -->\r\n\t\t<u-popup :show=\"show\" round=\"15\" :closeable=\"true\" @close=\"show = false\" mode=\"bottom\">\r\n\t\t\t<view class=\"coupon\">\r\n\t\t\t\t<view class=\"coupon-title\">选择优惠券</view>\r\n\t\t\t\t<scroll-view scroll-y class=\"coupon-list\">\r\n\t\t\t\t\t<view class=\"coupon-list-item\" v-for=\"(item, index) in orderInfo.memberCouponList\" :key=\"index\" @click=\"selectCoupon(index)\">\r\n\t\t\t\t\t\t<view class=\"jiage\" v-if=\"item.couponType === 0\">\r\n\t\t\t\t\t\t\t<text>{{item.price}}</text>\r\n\t\t\t\t\t\t\t<text>满{{item.limitPrice}}可用</text>\r\n\t\t\t\t\t\t</view>\r\n\t\t\t\t\t\t<view class=\"jiage1\" v-if=\"item.couponType === 1\">\r\n\t\t\t\t\t\t\t<text>{{item.price}}</text>\r\n\t\t\t\t\t\t\t<text>满{{item.limitPrice}}可用</text>\r\n\t\t\t\t\t\t</view>\r\n\t\t\t\t\t\t<view class=\"juaninfo\">\r\n\t\t\t\t\t\t\t<view class=\"juaninfo-info\">\r\n\t\t\t\t\t\t\t\t<text>{{item.name}}</text>\r\n\t\t\t\t\t\t\t\t<text>{{item.endDate.substring(0, 10)}} æ—¥åˆ°æœŸ</text>\r\n\t\t\t\t\t\t\t</view>\r\n\t\t\t\t\t\t\t<image src=\"/static/icon/ic_agree@2x.png\" mode=\"widthFix\" v-if=\"!item.active\"></image>\r\n\t\t\t\t\t\t\t<image src=\"/static/icon/cart_ic_sel@2x.png\" mode=\"widthFix\" v-else></image>\r\n\t\t\t\t\t\t</view>\r\n\t\t\t\t\t</view>\r\n\t\t\t\t</scroll-view>\r\n\t\t\t\t<view class=\"coupon-btn\" @click=\"confirmCoupon\">确定</view>\r\n\t\t\t</view>\r\n\t\t</u-popup>\n\t\t<!-- ç§¯åˆ† -->\r\n\t\t<u-popup :show=\"show1\" round=\"15\" @close=\"show1 = false\" :closeable=\"true\" mode=\"bottom\">\r\n\t\t\t<view class=\"coupon\">\r\n\t\t\t\t<view class=\"coupon-title\">使用积分</view>\r\n\t\t\t\t<view class=\"coupon-content\">\r\n\t\t\t\t\t<view class=\"coupon-content-a\">\r\n\t\t\t\t\t\t<text>当前积分:</text>\r\n\t\t\t\t\t\t<text>{{orderInfo.surplusIntegral || 0}}</text>\r\n\t\t\t\t\t</view>\r\n\t\t\t\t\t<view class=\"coupon-content-b\" @click=\"useIntegralCopy = useIntegralCopy === 1 ? 0 : 1\">\r\n\t\t\t\t\t\t<text>本单可用积分:{{orderInfo.deductIntegral}}</text>\r\n\t\t\t\t\t\t<image src=\"/static/icon/ic_agree_sel@2x.png\" mode=\"widthFix\" v-if=\"useIntegralCopy === 1\"></image>\r\n\t\t\t\t\t\t<image src=\"/static/icon/ic_agree@2x.png\" mode=\"widthFix\" v-else></image>\r\n\t\t\t\t\t</view>\r\n\t\t\t\t</view>\r\n\t\t\t\t<view class=\"coupon-btn\" @click=\"confirmJF\">确定</view>\r\n\t\t\t</view>\r\n\t\t</u-popup>\r\n\t\t<!-- é—¨åº— -->\r\n\t\t<u-popup :show=\"show2\" round=\"15\" @close=\"show2 = false\" :closeable=\"true\" mode=\"bottom\">\r\n\t\t\t<view class=\"coupon\">\r\n\t\t\t\t<view class=\"coupon-title\">选择门店</view>\r\n\t\t\t\t<view class=\"coupon-search\" v-if=\"isPosition\">\r\n\t\t\t\t\t<view class=\"coupon-search-city\" @click=\"jumpCity\">\r\n\t\t\t\t\t\t<text>{{cityName}}</text>\r\n\t\t\t\t\t\t<u-icon name=\"arrow-down\" color=\"#999999\" size=\"13\"></u-icon>\r\n\t\t\t\t\t</view>\r\n\t\t\t\t\t<view class=\"coupon-search-input\">\r\n\t\t\t\t\t\t<u-search placeholder=\"输入门店名称\" height=\"35\" searchIconColor=\"#999999\" borderColor=\"#eeeeee\"\r\n\t\t\t\t\t\t\tbgColor=\"#F9F9FB\" :showAction=\"false\" v-model=\"shopName\" @search=\"getShopLists\" />\t\r\n\t\t\t\t\t</view>\r\n\t\t\t\t</view>\r\n\t\t\t\t<scroll-view scroll-y>\r\n\t\t\t\t\t<template v-if=\"isPosition\">\r\n\t\t\t\t\t\t<view :class=\"item.active ? 'dian active' : 'dian'\" @click=\"seleShop(index)\" v-for=\"(item, index) in shopList\" :key=\"index\">\r\n\t\t\t\t\t\t\t<view class=\"dian-top\">\r\n\t\t\t\t\t\t\t\t<view class=\"dian-top-image\">\r\n\t\t\t\t\t\t\t\t\t<image :src=\"item.imgFullUrl\" mode=\"widthFix\"></image>\r\n\t\t\t\t\t\t\t\t</view>\r\n\t\t\t\t\t\t\t\t<view class=\"dian-top-info\">\r\n\t\t\t\t\t\t\t\t\t<view class=\"dian-top-info-title\">\r\n\t\t\t\t\t\t\t\t\t\t<text>{{item.name}}</text>\r\n\t\t\t\t\t\t\t\t\t\t<text>距离{{item.distance}}km</text>\r\n\t\t\t\t\t\t\t\t\t</view>\r\n\t\t\t\t\t\t\t\t\t<view class=\"dian-top-info-val\">{{item.addr}}</view>\r\n\t\t\t\t\t\t\t\t</view>\r\n\t\t\t\t\t\t\t</view>\r\n\t\t\t\t\t\t\t<view class=\"dian-bottom\">\r\n\t\t\t\t\t\t\t\t<text>营业时间:{{item.startTime}}</text>\r\n\t\t\t\t\t\t\t\t<view class=\"dian-bottom-icon\">\r\n\t\t\t\t\t\t\t\t\t<image src=\"/static/icon/ic_phonecall@2x.png\" mode=\"widthFix\" @click=\"dianhua(item.phone)\"></image>\r\n\t\t\t\t\t\t\t\t\t<image src=\"/static/icon/ic_distance@2x.png\" mode=\"widthFix\" @click=\"openLoation(item)\"></image>\r\n\t\t\t\t\t\t\t\t</view>\r\n\t\t\t\t\t\t\t</view>\r\n\t\t\t\t\t\t</view>\r\n\t\t\t\t\t</template>\r\n\t\t\t\t\t<template v-else>\r\n\t\t\t\t\t\t<view class=\"wushuju\">\r\n\t\t\t\t\t\t\t<image src=\"/static/images/img_dingwei@2x.png\" mode=\"widthFix\"></image>\r\n\t\t\t\t\t\t\t<view class=\"wushuju-a\">定位失败</view>\r\n\t\t\t\t\t\t\t<view class=\"wushuju-b\">请开启定位获取位置信息</view>\r\n\t\t\t\t\t\t\t<view class=\"wushuju-c\" @click=\"goToAppSetting\">开启定位</view>\r\n\t\t\t\t\t\t</view>\r\n\t\t\t\t\t</template>\r\n\t\t\t\t</scroll-view>\r\n\t\t\t\t<view class=\"coupon-btn\" v-if=\"isPosition\" @click=\"confirmMD\">确定选择</view>\r\n\t\t\t</view>\r\n\t\t</u-popup>\r\n\t\t<!-- è”系电话 -->\r\n\t\t<u-popup :show=\"show3\" round=\"15\" @close=\"show3 = false\" :closeable=\"true\" mode=\"bottom\">\r\n\t\t\t<view class=\"coupon\">\r\n\t\t\t\t<view class=\"coupon-title\">联系电话</view>\r\n\t\t\t\t<view class=\"coupon-phone\" @click=\"dianhua(shopId.phone)\">{{shopId.phone}}</view>\r\n\t\t\t</view>\r\n\t\t</u-popup>\r\n\t</view>\n</template>\n\n<script>\r\n\tvar QQMapWX = require('@/utils/qqmap-wx-jssdk.js')\r\n\timport { mapState } from 'vuex'\n\texport default {\r\n\t\tcomputed: {\r\n\t\t\t...mapState(['position'])\r\n\t\t},\n\t\tdata() {\n\t\t\treturn {\n\t\t\t\tshow: false,\r\n\t\t\t\tshow1: false,\r\n\t\t\t\tshow2: false,\r\n\t\t\t\tshow3: false,\r\n\t\t\t\tshopName: '',\r\n\t\t\t\torderInfo: null,\r\n\t\t\t\taddr: null,\r\n\t\t\t\tremark: '',\r\n\t\t\t\tcityName: '',\r\n\t\t\t\tuseIntegralCopy: 0,\r\n\t\t\t\tuseIntegral: 0,\r\n\t\t\t\treceiveType: 0,\r\n\t\t\t\tcouponId: null,\r\n\t\t\t\tshopId: null,\r\n\t\t\t\tpayDetailRequestList: [],\r\n\t\t\t\tshopList: [],\r\n\t\t\t\tisPosition: true,\r\n\t\t\t\tlat: '',\r\n\t\t\t\tlgt: '',\n\t\t\t};\n\t\t},\r\n\t\tonLoad(option) {\r\n\t\t\tconst shop = uni.getStorageSync('shop');\r\n\t\t\tif (shop) {\r\n\t\t\t\tthis.payDetailRequestList = shop\r\n\t\t\t\tuni.removeStorageSync('shop');\r\n\t\t\t}\r\n\t\t\tuni.$on('update', (data) => {\r\n\t\t\t\tthis.addr = data\r\n\t\t\t\tthis.getOrderInfo()\r\n\t\t\t})\r\n\t\t\tuni.$on('city', (data) => {\r\n\t\t\t\tthis.cityName = data\r\n\t\t\t\tthis.getShopLists()\r\n\t\t\t})\r\n\t\t\tthis.getDefaultAddr()\r\n\t\t},\r\n\t\tmethods: {\r\n\t\t\tgoToAppSetting() {\r\n\t\t\t\tvar that = this;\r\n\t\t\t    uni.openSetting({\r\n\t\t\t        success: (res) => {\r\n\t\t\t\t\t\tif (res.authSetting['scope.userLocation']) {\r\n\t\t\t\t\t\t\tthis.isPosition = true\r\n\t\t\t\t\t\t\tthat.positioning()\r\n\t\t\t\t\t\t}\r\n\t\t\t        }\r\n\t\t\t    });\r\n\t\t\t},\r\n\t\t\t// å®šä½\r\n\t\t\tpositioning() {\r\n\t\t\t\tvar that = this;\r\n\t\t\t\tuni.getLocation({\r\n\t\t\t\t\ttype: 'gcj02',\r\n\t\t\t\t\thighAccuracyExpireTime: 3000,\r\n\t\t\t\t\tisHighAccuracy: true,\r\n\t\t\t\t\tsuccess: function (addr) {\r\n\t\t\t\t\t\tconst locParam = { latitude: addr.latitude, longitude: addr.longitude };\r\n\t\t\t\t\t\tconst qqmapsdk = new QQMapWX({\r\n\t\t\t\t\t\t\tkey: 'HEIBZ-QJLLM-SZ36X-6ZBHI-S6Y2J-S6FND'\r\n\t\t\t\t\t\t});\r\n\t\t\t\t\t\tqqmapsdk.reverseGeocoder({\r\n\t\t\t\t\t\t\tlocParam,\r\n\t\t\t\t\t\t\tsuccess: function(res) {\r\n\t\t\t\t\t\t\t\tthat.cityName = res.result.ad_info.city\r\n\t\t\t\t\t\t\t\tthat.lat = res.result.location.lat\r\n\t\t\t\t\t\t\t\tthat.lgt = res.result.location.lng\r\n\t\t\t\t\t\t\t\tthat.getShopLists(1)\r\n\t\t\t\t\t\t\t},\r\n\t\t\t\t\t\t\tfail: (err) => {\r\n\t\t\t\t\t\t\t\tconsole.error('获取位置失败===========', err);\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t});\r\n\t\t\t\t\t}\r\n\t\t\t\t});\r\n\t\t\t},\r\n\t\t\t\r\n\t\t\tjumpCity() {\r\n\t\t\t\tuni.navigateTo({\r\n\t\t\t\t\turl: '/pages/select-city/select-city'\r\n\t\t\t\t})\r\n\t\t\t},\r\n\t\t\topenShop() {\r\n\t\t\t\t// æ£€æŸ¥ç”¨æˆ·æ˜¯å¦å·²ç»æŽˆæƒä½ç½®æƒé™\r\n\t\t\t\tuni.getSetting({\r\n\t\t\t\t\tsuccess: (res) => {\r\n\t\t\t\t\t\tif (res.authSetting['scope.userLocation']) {\r\n\t\t\t\t\t\t\t// ç”¨æˆ·å·²æŽˆæƒä½ç½®æƒé™\r\n\t\t\t\t\t\t\tthis.isPosition = true\r\n\t\t\t\t\t\t\tthis.positioning()\r\n\t\t\t\t\t\t} else {\r\n\t\t\t\t\t\t\t// ç”¨æˆ·æœªæŽˆæƒä½ç½®æƒé™\r\n\t\t\t\t\t\t\tthis.isPosition = false\r\n\t\t\t\t\t\t\tthis.show2 = true\r\n\t\t\t\t\t\t\t// this.getShopLists(1)\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\t\t\t\t});\r\n\t\t\t},\r\n\t\t\t// æ‰“电话\r\n\t\t\tdianhua(phoneNumber) {\r\n\t\t\t\tuni.makePhoneCall({\r\n\t\t\t\t\tphoneNumber\r\n\t\t\t\t})\r\n\t\t\t},\r\n\t\t\t// æ‰“开位置\r\n\t\t\topenLoation(item) {\r\n\t\t\t\tuni.openLocation({\r\n\t\t\t\t\tlatitude: item.latitude,\r\n\t\t\t\t\tlongitude: item.longitude,\r\n\t\t\t\t\tname: item.name,\r\n\t\t\t\t\taddress: item.addr\r\n\t\t\t\t})\r\n\t\t\t},\r\n\t\t\tseleShop(index) {\r\n\t\t\t\tthis.shopList.forEach((item, i) => {\r\n\t\t\t\t\titem.active = index === i\r\n\t\t\t\t})\r\n\t\t\t},\r\n\t\t\tconfirmMD() {\r\n\t\t\t\tif (this.shopList.filter(item => item.active).length === 0) return uni.showToast({\r\n\t\t\t\t\ttitle: '请选择门店',\r\n\t\t\t\t\ticon: 'none'\r\n\t\t\t\t})\r\n\t\t\t\tthis.shopId = this.shopList.filter(item => item.active)[0]\r\n\t\t\t\tthis.show2 = false\r\n\t\t\t},\r\n\t\t\t// èŽ·å–é™„è¿‘é—¨åº—\r\n\t\t\tgetShopLists(type) {\r\n\t\t\t\tthis.$u.api.getShopList({\r\n\t\t\t\t\tcityName: this.cityName,\r\n\t\t\t\t\tlat: this.lat,\r\n\t\t\t\t\tlgt: this.lng,\r\n\t\t\t\t\tshopName: this.shopName\r\n\t\t\t\t}).then(res => {\r\n\t\t\t\t\tif (res.code === 200) {\r\n\t\t\t\t\t\tres.data.forEach(item => {\r\n\t\t\t\t\t\t\titem.active = false\r\n\t\t\t\t\t\t})\r\n\t\t\t\t\t\tthis.shopList = res.data\r\n\t\t\t\t\t\tif (type === 1) {\r\n\t\t\t\t\t\t\tthis.show2 = true\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\t\t\t\t})\r\n\t\t\t},\r\n\t\t\t// æ”¯ä»˜\r\n\t\t\tpayment() {\r\n\t\t\t\tvar that = this;\r\n\t\t\t\tif (that.receiveType === 0 && !that.addr) return uni.showToast({\r\n\t\t\t\t\ttitle: '请选择收货地址',\r\n\t\t\t\t\ticon: 'none'\r\n\t\t\t\t})\r\n\t\t\t\tif (that.receiveType === 1 && !that.shopId) return uni.showToast({\r\n\t\t\t\t\ttitle: '请选择门店',\r\n\t\t\t\t\ticon: 'none'\r\n\t\t\t\t})\r\n\t\t\t\tthis.$u.api.orderPay({\r\n\t\t\t\t\taddressId: this.addr ? this.addr.id : null,\r\n\t\t\t\t\tcouponId: this.couponId,\r\n\t\t\t\t\tpayDetailRequestList: this.payDetailRequestList,\r\n\t\t\t\t\treceiveType: this.receiveType,\r\n\t\t\t\t\tuseIntegral: this.useIntegral,\r\n\t\t\t\t\tremark: this.remark,\r\n\t\t\t\t\ttitlePrice: this.orderInfo.payAmount,\r\n\t\t\t\t\tshopId: this.shopId ? this.shopId.id : null\r\n\t\t\t\t}).then(res => {\r\n\t\t\t\t\tif (res.code === 200) {\r\n\t\t\t\t\t\t// ç§¯åˆ†æŠµæ‰£\r\n\t\t\t\t\t\tif (res.data.payType === 1) {\r\n\t\t\t\t\t\t\tuni.redirectTo({\r\n\t\t\t\t\t\t\t\turl: `/pagesA/pages/order-details/order-details?id=${res.data.orderId}&userType=0`\r\n\t\t\t\t\t\t\t})\r\n\t\t\t\t\t\t} else {\r\n\t\t\t\t\t\t\twx.requestPayment({\r\n\t\t\t\t\t\t\t\ttimeStamp: res.data.response.timeStamp,\r\n\t\t\t\t\t\t\t\tnonceStr: res.data.response.nonceStr,\r\n\t\t\t\t\t\t\t\tpackage: res.data.response.packageValue,\r\n\t\t\t\t\t\t\t\tsignType: res.data.response.signType,\r\n\t\t\t\t\t\t\t\tpaySign: res.data.response.paySign,\r\n\t\t\t\t\t\t\t\tsuccess (pay) {\r\n\t\t\t\t\t\t\t\t\tif (pay.errMsg === \"requestPayment:ok\") {\r\n\t\t\t\t\t\t\t\t\t\tuni.redirectTo({\r\n\t\t\t\t\t\t\t\t\t\t\turl: `/pagesA/pages/order-details/order-details?id=${res.data.orderId}&userType=0`\r\n\t\t\t\t\t\t\t\t\t\t})\r\n\t\t\t\t\t\t\t\t\t} else {\r\n\t\t\t\t\t\t\t\t\t\tuni.showToast({ title: '订单取消支付', icon: 'none' })\r\n\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t})\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\t\t\t\t})\r\n\t\t\t},\r\n\t\t\t// ç¡®å®šä½¿ç”¨ç§¯åˆ†\r\n\t\t\tconfirmJF() {\r\n\t\t\t\tthis.useIntegral = this.useIntegralCopy\r\n\t\t\t\tthis.show1 = false\r\n\t\t\t\tthis.getOrderInfo()\r\n\t\t\t},\r\n\t\t\t// ç¡®å®šé€‰æ‹©ä¼˜æƒ åˆ¸\r\n\t\t\tconfirmCoupon() {\r\n\t\t\t\tlet arr = this.orderInfo.memberCouponList.filter(item => item.active)\r\n\t\t\t\tif (arr.length > 0) {\r\n\t\t\t\t\tthis.couponId = arr[0].id\r\n\t\t\t\t}\r\n\t\t\t\tthis.show = false\r\n\t\t\t\tthis.getOrderInfo()\r\n\t\t\t},\r\n\t\t\t// é€‰æ‹©ä¼˜æƒ åˆ¸\r\n\t\t\tselectCoupon(i) {\r\n\t\t\t\tthis.orderInfo.memberCouponList.forEach((item, index) => {\r\n\t\t\t\t\titem.active = index === i\r\n\t\t\t\t})\r\n\t\t\t},\r\n\t\t\t// èŽ·å–è®¢å•è¯¦ç»†ä¿¡æ¯\r\n\t\t\tgetOrderInfo() {\r\n\t\t\t\tthis.$u.api.orderPayConfirm({\r\n\t\t\t\t\taddressId: this.addr ? this.addr.id : null,\r\n\t\t\t\t\tcouponId: this.couponId,\r\n\t\t\t\t\tpayDetailRequestList: this.payDetailRequestList,\r\n\t\t\t\t\treceiveType: this.receiveType,\r\n\t\t\t\t\tuseIntegral: this.useIntegral\r\n\t\t\t\t}).then(res => {\r\n\t\t\t\t\tif (res.code === 200) {\r\n\t\t\t\t\t\tif (!res.data.memberCouponList) {\r\n\t\t\t\t\t\t\tres.data.memberCouponList = []\r\n\t\t\t\t\t\t} else {\r\n\t\t\t\t\t\t\tres.data.memberCouponList.forEach(item => {\r\n\t\t\t\t\t\t\t\titem.active = false\r\n\t\t\t\t\t\t\t})\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\tthis.orderInfo = res.data\r\n\t\t\t\t\t}\r\n\t\t\t\t})\r\n\t\t\t},\r\n\t\t\tchangeOrderType(type) {\r\n\t\t\t\tthis.receiveType = type\r\n\t\t\t\tthis.getOrderInfo()\r\n\t\t\t},\r\n\t\t\tjumpAddr() {\r\n\t\t\t\tuni.navigateTo({\r\n\t\t\t\t\turl: '/pages/address/address?type=1'\r\n\t\t\t\t})\r\n\t\t\t},\r\n\t\t\tgetDefaultAddr() {\r\n\t\t\t\tthis.$u.api.findDefault()\r\n\t\t\t\t\t.then(res => {\r\n\t\t\t\t\t\tif (res.code === 200) {\r\n\t\t\t\t\t\t\tthis.addr = res.data\r\n\t\t\t\t\t\t\tthis.getOrderInfo()\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t})\r\n\t\t\t}\r\n\t\t}\n\t}\n</script>\n<style>\r\n\tpage {\r\n\t\tbackground-color: #F8F9FB;\r\n\t}\r\n</style>\n<style lang=\"scss\" scoped>\n\t.box {\r\n\t\twidth: 100%;\r\n\t\t.coupon {\r\n\t\t\twidth: 100%;\r\n\t\t\tpadding: 0 30rpx;\r\n\t\t\tbox-sizing: border-box;\r\n\t\t\tscroll-view {\r\n\t\t\t\twidth: 100%;\r\n\t\t\t\theight: 65vh;\r\n\t\t\t\t.wushuju {\r\n\t\t\t\t\twidth: 100%;\r\n\t\t\t\t\theight: 100%;\r\n\t\t\t\t\tdisplay: flex;\r\n\t\t\t\t\tflex-direction: column;\r\n\t\t\t\t\talign-items: center;\r\n\t\t\t\t\tjustify-content: center;\r\n\t\t\t\t\timage {\r\n\t\t\t\t\t\twidth: 140rpx;\r\n\t\t\t\t\t\theight: 140rpx;\r\n\t\t\t\t\t}\r\n\t\t\t\t\t.wushuju-a {\r\n\t\t\t\t\t\tfont-weight: 600;\r\n\t\t\t\t\t\tfont-size: 30rpx;\r\n\t\t\t\t\t\tcolor: #111111;\r\n\t\t\t\t\t\tmargin-top: 20rpx;\r\n\t\t\t\t\t}\r\n\t\t\t\t\t.wushuju-b {\r\n\t\t\t\t\t\tfont-weight: 400;\r\n\t\t\t\t\t\tfont-size: 26rpx;\r\n\t\t\t\t\t\tcolor: #999999;\r\n\t\t\t\t\t\tmargin-top: 20rpx;\r\n\t\t\t\t\t}\r\n\t\t\t\t\t.wushuju-c {\r\n\t\t\t\t\t\twidth: 168rpx;\r\n\t\t\t\t\t\theight: 72rpx;\r\n\t\t\t\t\t\tline-height: 72rpx;\r\n\t\t\t\t\t\tfont-weight: 500;\r\n\t\t\t\t\t\tfont-size: 26rpx;\r\n\t\t\t\t\t\tcolor: #FFFFFF;\r\n\t\t\t\t\t\ttext-align: center;\r\n\t\t\t\t\t\tbackground: #004096;\r\n\t\t\t\t\t\tborder-radius: 44rpx;\r\n\t\t\t\t\t\tmargin-top: 40rpx;\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t\t.active {\r\n\t\t\t\t\tborder: 2rpx solid #004096 !important;\r\n\t\t\t\t\tbackground: #E8F2FF !important;\r\n\t\t\t\t}\r\n\t\t\t\t.dian {\r\n\t\t\t\t\twidth: 100%;\r\n\t\t\t\t\tpadding: 30rpx;\r\n\t\t\t\t\tbox-sizing: border-box;\r\n\t\t\t\t\tborder-radius: 6rpx;\r\n\t\t\t\t\tborder: 1rpx solid #CCCCCC;\r\n\t\t\t\t\tdisplay: flex;\r\n\t\t\t\t\tflex-direction: column;\r\n\t\t\t\t\tmargin-bottom: 30rpx;\r\n\t\t\t\t\t&:last-child {\r\n\t\t\t\t\t\tmargin: 0 !important;\r\n\t\t\t\t\t}\r\n\t\t\t\t\t.dian-top {\r\n\t\t\t\t\t\twidth: 100%;\r\n\t\t\t\t\t\tdisplay: flex;\r\n\t\t\t\t\t\talign-items: center;\r\n\t\t\t\t\t\t.dian-top-image {\r\n\t\t\t\t\t\t\tflex-shrink: 0;\r\n\t\t\t\t\t\t\twidth: 144rpx;\r\n\t\t\t\t\t\t\theight: 144rpx;\r\n\t\t\t\t\t\t\tborder-radius: 8rpx;\r\n\t\t\t\t\t\t\tmargin-right: 24rpx;\r\n\t\t\t\t\t\t\timage {\r\n\t\t\t\t\t\t\t\twidth: 100%;\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\t.dian-top-info {\r\n\t\t\t\t\t\t\tflex: 1;\r\n\t\t\t\t\t\t\tdisplay: flex;\r\n\t\t\t\t\t\t\tflex-direction: column;\r\n\t\t\t\t\t\t\t.dian-top-info-title {\r\n\t\t\t\t\t\t\t\twidth: 100%;\r\n\t\t\t\t\t\t\t\tdisplay: flex;\r\n\t\t\t\t\t\t\t\talign-items: center;\r\n\t\t\t\t\t\t\t\tjustify-content: space-between;\r\n\t\t\t\t\t\t\t\ttext {\r\n\t\t\t\t\t\t\t\t\t&:nth-child(1) {\r\n\t\t\t\t\t\t\t\t\t\tfont-weight: 500;\r\n\t\t\t\t\t\t\t\t\t\tfont-size: 32rpx;\r\n\t\t\t\t\t\t\t\t\t\tcolor: #111111;\r\n\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t\t&:nth-child(2) {\r\n\t\t\t\t\t\t\t\t\t\tfont-weight: 400;\r\n\t\t\t\t\t\t\t\t\t\tfont-size: 24rpx;\r\n\t\t\t\t\t\t\t\t\t\tcolor: #999999;\r\n\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t.dian-top-info-val {\r\n\t\t\t\t\t\t\t\twidth: 100%;\r\n\t\t\t\t\t\t\t\tmargin-top: 20rpx;\r\n\t\t\t\t\t\t\t\tfont-weight: 400;\r\n\t\t\t\t\t\t\t\tfont-size: 26rpx;\r\n\t\t\t\t\t\t\t\tcolor: #777777;\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\t\t\t\t\t.dian-bottom {\r\n\t\t\t\t\t\twidth: 100%;\r\n\t\t\t\t\t\tmargin-top: 30rpx;\r\n\t\t\t\t\t\tdisplay: flex;\r\n\t\t\t\t\t\talign-items: center;\r\n\t\t\t\t\t\tjustify-content: space-between;\r\n\t\t\t\t\t\ttext {\r\n\t\t\t\t\t\t\tfont-weight: 400;\r\n\t\t\t\t\t\t\tfont-size: 24rpx;\r\n\t\t\t\t\t\t\tcolor: #777777;\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\t.dian-bottom-icon {\r\n\t\t\t\t\t\t\tdisplay: flex;\r\n\t\t\t\t\t\t\talign-items: center;\r\n\t\t\t\t\t\t\timage {\r\n\t\t\t\t\t\t\t\twidth: 56rpx;\r\n\t\t\t\t\t\t\t\theight: 56rpx;\r\n\t\t\t\t\t\t\t\tmargin-left: 30rpx;\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t\t.coupon-search {\r\n\t\t\t\twidth: 100%;\r\n\t\t\t\theight: 72rpx;\r\n\t\t\t\tdisplay: flex;\r\n\t\t\t\talign-items: center;\r\n\t\t\t\tjustify-content: center;\r\n\t\t\t\tmargin-bottom: 30rpx;\r\n\t\t\t\t.coupon-search-city {\r\n\t\t\t\t\tflex-shrink: 0;\r\n\t\t\t\t\twidth: 180rpx;\r\n\t\t\t\t\theight: 72rpx;\r\n\t\t\t\t\tdisplay: flex;\r\n\t\t\t\t\talign-items: center;\r\n\t\t\t\t\tjustify-content: center;\r\n\t\t\t\t\tbackground: #F9F9FB;\r\n\t\t\t\t\tborder-radius: 36rpx;\r\n\t\t\t\t\tborder: 1rpx solid #EEEEEE;\r\n\t\t\t\t\ttext {\r\n\t\t\t\t\t\tfont-weight: 400;\r\n\t\t\t\t\t\tfont-size: 28rpx;\r\n\t\t\t\t\t\tcolor: #222222;\r\n\t\t\t\t\t\tmargin-right: 4rpx;\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t\t.coupon-search-input {\r\n\t\t\t\t\tflex: 1;\r\n\t\t\t\t\theight: 100%;\r\n\t\t\t\t\tmargin-left: 30rpx;\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t\t.coupon-phone {\r\n\t\t\t\twidth: 100%;\r\n\t\t\t\theight: 152rpx;\r\n\t\t\t\tline-height: 152rpx;\r\n\t\t\t\ttext-align: center;\r\n\t\t\t\tfont-weight: 400;\r\n\t\t\t\tfont-size: 32rpx;\r\n\t\t\t\tcolor: #004096;\r\n\t\t\t}\r\n\t\t\t.coupon-title {\r\n\t\t\t\twidth: 100%;\r\n\t\t\t\theight: 100rpx;\r\n\t\t\t\tline-height: 100rpx;\r\n\t\t\t\ttext-align: center;\r\n\t\t\t\tfont-weight: 500;\r\n\t\t\t\tfont-size: 32rpx;\r\n\t\t\t\tcolor: #111111;\r\n\t\t\t}\r\n\t\t\t.coupon-btn {\r\n\t\t\t\twidth: 100%;\r\n\t\t\t\theight: 88rpx;\r\n\t\t\t\tline-height: 88rpx;\r\n\t\t\t\ttext-align: center;\r\n\t\t\t\tbackground: #004096;\r\n\t\t\t\tborder-radius: 44rpx;\r\n\t\t\t\tfont-weight: 500;\r\n\t\t\t\tfont-size: 32rpx;\r\n\t\t\t\tcolor: #FFFFFF;\r\n\t\t\t\tmargin-top: 60rpx;\r\n\t\t\t}\r\n\t\t\t.coupon-content {\r\n\t\t\t\twidth: 100%;\r\n\t\t\t\t.coupon-content-a {\r\n\t\t\t\t\twidth: 100%;\r\n\t\t\t\t\tmargin-top: 40rpx;\r\n\t\t\t\t\ttext {\r\n\t\t\t\t\t\t&:nth-child(1) {\r\n\t\t\t\t\t\t\tfont-weight: 600;\r\n\t\t\t\t\t\t\tfont-size: 28rpx;\r\n\t\t\t\t\t\t\tcolor: #222222;\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\t&:nth-child(2) {\r\n\t\t\t\t\t\t\tfont-weight: 600;\r\n\t\t\t\t\t\t\tfont-size: 28rpx;\r\n\t\t\t\t\t\t\tcolor: #E4001D;\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t\t.coupon-content-b {\r\n\t\t\t\t\twidth: 100%;\r\n\t\t\t\t\tdisplay: flex;\r\n\t\t\t\t\talign-items: center;\r\n\t\t\t\t\tjustify-content: space-between;\r\n\t\t\t\t\tmargin-top: 40rpx;\r\n\t\t\t\t\ttext {\r\n\t\t\t\t\t\tfont-weight: 400;\r\n\t\t\t\t\t\tfont-size: 28rpx;\r\n\t\t\t\t\t\tcolor: #333333;\r\n\t\t\t\t\t}\r\n\t\t\t\t\timage {\r\n\t\t\t\t\t\twidth: 40rpx;\r\n\t\t\t\t\t\theight: 40rpx;\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t\t.coupon-list {\r\n\t\t\t\twidth: 100%;\r\n\t\t\t\tmax-height: 600rpx;\r\n\t\t\t\tdisplay: flex;\r\n\t\t\t\tflex-direction: column;\r\n\t\t\t\t.disable {\r\n\t\t\t\t\tbackground: #EFEFEF !important;\r\n\t\t\t\t\t.jiage {\r\n\t\t\t\t\t\ttext {\r\n\t\t\t\t\t\t\tcolor: #999999 !important;\r\n\t\t\t\t\t\t\t&::before {\r\n\t\t\t\t\t\t\t\tcolor: #999999 !important;\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\t\t\t\t\t.juaninfo {\r\n\t\t\t\t\t\t.juaninfo-info {\r\n\t\t\t\t\t\t\ttext {\r\n\t\t\t\t\t\t\t\tcolor: #999999 !important;\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t\t.coupon-list-item {\r\n\t\t\t\t\twidth: 100%;\r\n\t\t\t\t\theight: 170rpx;\r\n\t\t\t\t\tbackground: #FFEFEF;\r\n\t\t\t\t\tborder-radius: 16rpx;\r\n\t\t\t\t\tdisplay: flex;\r\n\t\t\t\t\talign-items: center;\r\n\t\t\t\t\tmargin-bottom: 20rpx;\r\n\t\t\t\t\t&:last-child {\r\n\t\t\t\t\t\tmargin: 0 !important;\r\n\t\t\t\t\t}\r\n\t\t\t\t\t.jiage {\r\n\t\t\t\t\t\tflex-shrink: 0;\r\n\t\t\t\t\t\twidth: 208rpx;\r\n\t\t\t\t\t\theight: 100%;\r\n\t\t\t\t\t\tdisplay: flex;\r\n\t\t\t\t\t\tflex-direction: column;\r\n\t\t\t\t\t\talign-items: center;\r\n\t\t\t\t\t\tjustify-content: center;\r\n\t\t\t\t\t\tborder-right: 1rpx dashed #E3C1C1;\r\n\t\t\t\t\t\ttext {\r\n\t\t\t\t\t\t\t&:nth-child(1) {\r\n\t\t\t\t\t\t\t\tfont-weight: 600;\r\n\t\t\t\t\t\t\t\tfont-size: 44rpx;\r\n\t\t\t\t\t\t\t\tcolor: #E4001D;\r\n\t\t\t\t\t\t\t\t&::before {\r\n\t\t\t\t\t\t\t\t\tcontent: 'ï¿¥';\r\n\t\t\t\t\t\t\t\t\tfont-weight: 600;\r\n\t\t\t\t\t\t\t\t\tfont-size: 24rpx;\r\n\t\t\t\t\t\t\t\t\tcolor: #E4001D;\r\n\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t&:nth-child(2) {\r\n\t\t\t\t\t\t\t\tfont-weight: 400;\r\n\t\t\t\t\t\t\t\tfont-size: 24rpx;\r\n\t\t\t\t\t\t\t\tcolor: #E93047;\r\n\t\t\t\t\t\t\t\tmargin-top: 8rpx;\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\t\t\t\t\t.jiage1 {\r\n\t\t\t\t\t\tflex-shrink: 0;\r\n\t\t\t\t\t\twidth: 208rpx;\r\n\t\t\t\t\t\theight: 100%;\r\n\t\t\t\t\t\tdisplay: flex;\r\n\t\t\t\t\t\tflex-direction: column;\r\n\t\t\t\t\t\talign-items: center;\r\n\t\t\t\t\t\tjustify-content: center;\r\n\t\t\t\t\t\tborder-right: 1rpx dashed #E3C1C1;\r\n\t\t\t\t\t\ttext {\r\n\t\t\t\t\t\t\t&:nth-child(1) {\r\n\t\t\t\t\t\t\t\tfont-weight: 600;\r\n\t\t\t\t\t\t\t\tfont-size: 44rpx;\r\n\t\t\t\t\t\t\t\tcolor: #E4001D;\r\n\t\t\t\t\t\t\t\t&::after {\r\n\t\t\t\t\t\t\t\t\tcontent: '折';\r\n\t\t\t\t\t\t\t\t\tfont-weight: 600;\r\n\t\t\t\t\t\t\t\t\tfont-size: 24rpx;\r\n\t\t\t\t\t\t\t\t\tcolor: #E4001D;\r\n\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t&:nth-child(2) {\r\n\t\t\t\t\t\t\t\tfont-weight: 400;\r\n\t\t\t\t\t\t\t\tfont-size: 24rpx;\r\n\t\t\t\t\t\t\t\tcolor: #E93047;\r\n\t\t\t\t\t\t\t\tmargin-top: 8rpx;\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\t\t\t\t\t.juaninfo {\r\n\t\t\t\t\t\tflex: 1;\r\n\t\t\t\t\t\theight: 100%;\r\n\t\t\t\t\t\tpadding: 0 30rpx;\r\n\t\t\t\t\t\tbox-sizing: border-box;\r\n\t\t\t\t\t\tdisplay: flex;\r\n\t\t\t\t\t\talign-items: center;\r\n\t\t\t\t\t\timage {\r\n\t\t\t\t\t\t\tflex-shrink: 0;\r\n\t\t\t\t\t\t\twidth: 40rpx;\r\n\t\t\t\t\t\t\theight: 40rpx;\r\n\t\t\t\t\t\t\tmargin-left: 30rpx;\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\t.juaninfo-info {\r\n\t\t\t\t\t\t\tflex: 1;\r\n\t\t\t\t\t\t\theight: 100%;\r\n\t\t\t\t\t\t\tdisplay: flex;\r\n\t\t\t\t\t\t\tjustify-content: center;\r\n\t\t\t\t\t\t\tflex-direction: column;\r\n\t\t\t\t\t\t\ttext {\r\n\t\t\t\t\t\t\t\t&:nth-child(1) {\r\n\t\t\t\t\t\t\t\t\tfont-weight: 500;\r\n\t\t\t\t\t\t\t\t\tfont-size: 32rpx;\r\n\t\t\t\t\t\t\t\t\tcolor: #222222;\r\n\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t&:nth-child(2) {\r\n\t\t\t\t\t\t\t\t\tfont-weight: 400;\r\n\t\t\t\t\t\t\t\t\tfont-size: 24rpx;\r\n\t\t\t\t\t\t\t\t\tcolor: #777777;\r\n\t\t\t\t\t\t\t\t\tmargin-top: 12rpx;\r\n\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}\r\n\t\t.footer {\r\n\t\t\twidth: 100%;\r\n\t\t\tposition: fixed;\r\n\t\t\tbottom: 0;\r\n\t\t\tleft: 0;\r\n\t\t\tpadding: 0 30rpx;\r\n\t\t\tbox-sizing: border-box;\r\n\t\t\tbox-shadow: 0rpx -2rpx 4rpx 0rpx rgba(0,0,0,0.06);\r\n\t\t\tbackground-color: #ffffff;\r\n\t\t\theight: calc(env(safe-area-inset-bottom) + 108rpx);\r\n\t\t\t.edit {\r\n\t\t\t\twidth: 100%;\r\n\t\t\t\theight: 108rpx;\r\n\t\t\t\tdisplay: flex;\r\n\t\t\t\talign-items: center;\r\n\t\t\t\t.edit-btn {\r\n\t\t\t\t\twidth: 100%;\r\n\t\t\t\t\theight: 88rpx;\r\n\t\t\t\t\tline-height: 88rpx;\r\n\t\t\t\t\ttext-align: center;\r\n\t\t\t\t\tbackground: #004096;\r\n\t\t\t\t\tborder-radius: 44rpx;\r\n\t\t\t\t\tfont-weight: 500;\r\n\t\t\t\t\tfont-size: 32rpx;\r\n\t\t\t\t\tcolor: #FFFFFF;\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}\r\n\t\t.play {\r\n\t\t\twidth: 100%;\r\n\t\t\theight: 108rpx;\r\n\t\t\tbackground: #FFFFFF;\r\n\t\t\tpadding: 0 26rpx;\r\n\t\t\tbox-sizing: border-box;\r\n\t\t\tdisplay: flex;\r\n\t\t\talign-items: center;\r\n\t\t\tjustify-content: space-between;\r\n\t\t\tmargin-top: 20rpx;\r\n\t\t\timage {\r\n\t\t\t\twidth: 40rpx;\r\n\t\t\t\theight: 40rpx;\r\n\t\t\t}\r\n\t\t\t.play-info {\r\n\t\t\t\tdisplay: flex;\r\n\t\t\t\talign-items: center;\r\n\t\t\t\timage {\r\n\t\t\t\t\twidth: 48rpx;\r\n\t\t\t\t\theight: 48rpx;\r\n\t\t\t\t\tmargin-right: 16rpx;\r\n\t\t\t\t}\r\n\t\t\t\ttext {\r\n\t\t\t\t\tfont-weight: 400;\r\n\t\t\t\t\tfont-size: 30rpx;\r\n\t\t\t\t\tcolor: #111111;\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}\r\n\t\t.remark {\r\n\t\t\twidth: 100%;\r\n\t\t\theight: 100rpx;\r\n\t\t\tdisplay: flex;\r\n\t\t\talign-items: center;\r\n\t\t\tbackground: #FFFFFF;\r\n\t\t\tmargin-top: 20rpx;\r\n\t\t\tpadding: 0 26rpx;\r\n\t\t\tbox-sizing: border-box;\r\n\t\t\t.remark-label {\r\n\t\t\t\tfont-weight: 400;\r\n\t\t\t\tfont-size: 28rpx;\r\n\t\t\t\tcolor: #333333;\r\n\t\t\t\tflex-shrink: 0;\r\n\t\t\t\tmargin-right: 60rpx;\r\n\t\t\t}\r\n\t\t\tinput {\r\n\t\t\t\tflex: 1;\r\n\t\t\t\theight: 100%;\r\n\t\t\t\tfont-weight: 400;\r\n\t\t\t\tfont-size: 28rpx;\r\n\t\t\t\tcolor: #111111;\r\n\t\t\t\ttext-align: right;\r\n\t\t\t}\r\n\t\t}\r\n\t\t.box-shop {\r\n\t\t\twidth: 100%;\r\n\t\t\tpadding: 30rpx;\r\n\t\t\tbox-sizing: border-box;\r\n\t\t\tmargin-top: 20rpx;\r\n\t\t\tbackground-color: #ffffff;\r\n\t\t\t.xian {\r\n\t\t\t\twidth: 100%;\r\n\t\t\t\theight: 1rpx;\r\n\t\t\t\tbackground-color: #ECF0F4;\r\n\t\t\t\tmargin-top: 30rpx;\r\n\t\t\t}\r\n\t\t\t.info {\r\n\t\t\t\twidth: 100%;\r\n\t\t\t\tdisplay: flex;\r\n\t\t\t\tflex-direction: column;\r\n\t\t\t\t.info-item {\r\n\t\t\t\t\twidth: 100%;\r\n\t\t\t\t\tdisplay: flex;\r\n\t\t\t\t\talign-items: center;\r\n\t\t\t\t\tjustify-content: space-between;\r\n\t\t\t\t\tmargin-top: 30rpx;\r\n\t\t\t\t\t.info-item-label {\r\n\t\t\t\t\t\tfont-weight: 400;\r\n\t\t\t\t\t\tfont-size: 28rpx;\r\n\t\t\t\t\t\tcolor: #333333;\r\n\t\t\t\t\t}\r\n\t\t\t\t\t.info-item-price1 {\r\n\t\t\t\t\t\tfont-weight: 500;\r\n\t\t\t\t\t\tfont-size: 28rpx;\r\n\t\t\t\t\t\tcolor: #E4001D;\r\n\t\t\t\t\t\tdisplay: flex;\r\n\t\t\t\t\t\talign-items: center;\r\n\t\t\t\t\t\timage {\r\n\t\t\t\t\t\t\twidth: 8rpx;\r\n\t\t\t\t\t\t\theight: 16rpx;\r\n\t\t\t\t\t\t\tmargin-left: 10rpx;\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\t\t\t\t\t.info-item-price2 {\r\n\t\t\t\t\t\tdisplay: flex;\r\n\t\t\t\t\t\talign-items: baseline;\r\n\t\t\t\t\t\ttext {\r\n\t\t\t\t\t\t\t&:nth-child(1) {\r\n\t\t\t\t\t\t\t\tfont-weight: 600;\r\n\t\t\t\t\t\t\t\tfont-size: 36rpx;\r\n\t\t\t\t\t\t\t\tcolor: #222222;\r\n\t\t\t\t\t\t\t\t&::before {\r\n\t\t\t\t\t\t\t\t\tcontent: 'ï¿¥';\r\n\t\t\t\t\t\t\t\t\tfont-weight: 600;\r\n\t\t\t\t\t\t\t\t\tfont-size: 28rpx;\r\n\t\t\t\t\t\t\t\t\tcolor: #222222;\r\n\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t&:nth-child(2) {\r\n\t\t\t\t\t\t\t\tfont-weight: 600;\r\n\t\t\t\t\t\t\t\tfont-size: 28rpx;\r\n\t\t\t\t\t\t\t\tcolor: #222222;\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\t\t\t\t\t.info-item-price {\r\n\t\t\t\t\t\tdisplay: flex;\r\n\t\t\t\t\t\talign-items: baseline;\r\n\t\t\t\t\t\ttext {\r\n\t\t\t\t\t\t\t&:nth-child(1) {\r\n\t\t\t\t\t\t\t\tfont-weight: 500;\r\n\t\t\t\t\t\t\t\tfont-size: 32rpx;\r\n\t\t\t\t\t\t\t\tcolor: #222222;\r\n\t\t\t\t\t\t\t\t&::before {\r\n\t\t\t\t\t\t\t\t\tcontent: 'ï¿¥';\r\n\t\t\t\t\t\t\t\t\tfont-weight: 500;\r\n\t\t\t\t\t\t\t\t\tfont-size: 28rpx;\r\n\t\t\t\t\t\t\t\t\tcolor: #222222;\r\n\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t&:nth-child(2) {\r\n\t\t\t\t\t\t\t\tfont-weight: 500;\r\n\t\t\t\t\t\t\t\tfont-size: 28rpx;\r\n\t\t\t\t\t\t\t\tcolor: #222222;\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t\t.item {\r\n\t\t\t\twidth: 100%;\r\n\t\t\t\theight: 144rpx;\r\n\t\t\t\tdisplay: flex;\r\n\t\t\t\talign-items: center;\r\n\t\t\t\tmargin-bottom: 20rpx;\r\n\t\t\t\t&:last-child {\r\n\t\t\t\t\tmargin: 0 !important;\r\n\t\t\t\t}\r\n\t\t\t\t.item-image {\r\n\t\t\t\t\tflex-shrink: 0;\r\n\t\t\t\t\twidth: 144rpx;\r\n\t\t\t\t\theight: 144rpx;\r\n\t\t\t\t\tbackground: #FFFFFF;\r\n\t\t\t\t\tborder-radius: 8rpx;\r\n\t\t\t\t\tborder: 1rpx solid #EEEEEE;\r\n\t\t\t\t\tmargin-right: 30rpx;\r\n\t\t\t\t\timage {\r\n\t\t\t\t\t\twidth: 100%;\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t\t.item-info {\r\n\t\t\t\t\tflex: 1;\r\n\t\t\t\t\theight: 144rpx;\r\n\t\t\t\t\tdisplay: flex;\r\n\t\t\t\t\tflex-direction: column;\r\n\t\t\t\t\tjustify-content: space-between;\r\n\t\t\t\t\t.item-info-title {\r\n\t\t\t\t\t\tfont-weight: 400;\r\n\t\t\t\t\t\tfont-size: 30rpx;\r\n\t\t\t\t\t\tcolor: #222222;\r\n\t\t\t\t\t}\r\n\t\t\t\t\t.item-info-bottom {\r\n\t\t\t\t\t\tdisplay: flex;\r\n\t\t\t\t\t\talign-items: center;\r\n\t\t\t\t\t\tjustify-content: space-between;\r\n\t\t\t\t\t\t.price {\r\n\t\t\t\t\t\t\tfont-weight: 600;\r\n\t\t\t\t\t\t\tfont-size: 30rpx;\r\n\t\t\t\t\t\t\tcolor: #222222;\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\t.num {\r\n\t\t\t\t\t\t\tdisplay: flex;\r\n\t\t\t\t\t\t\talign-items: center;\r\n\t\t\t\t\t\t\t.num-total {\r\n\t\t\t\t\t\t\t\tmargin: 0 32rpx;\r\n\t\t\t\t\t\t\t\tfont-weight: 400;\r\n\t\t\t\t\t\t\t\tfont-size: 28rpx;\r\n\t\t\t\t\t\t\t\tcolor: #222222;\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t.num-add {\r\n\t\t\t\t\t\t\t\twidth: 44rpx;\r\n\t\t\t\t\t\t\t\theight: 44rpx;\r\n\t\t\t\t\t\t\t\tline-height: 44rpx;\r\n\t\t\t\t\t\t\t\ttext-align: center;\r\n\t\t\t\t\t\t\t\tbackground: #FFFFFF;\r\n\t\t\t\t\t\t\t\tborder-radius: 22rpx;\r\n\t\t\t\t\t\t\t\tborder: 1rpx solid #CCCCCC;\r\n\t\t\t\t\t\t\t\tfont-size: 40rpx;\r\n\t\t\t\t\t\t\t\tcolor: #979797;\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}\r\n\t\t.box-addr {\r\n\t\t\twidth: 100%;\r\n\t\t\tpadding: 20rpx 0;\r\n\t\t\tbox-sizing: border-box;\r\n\t\t\t.box-addr-list {\r\n\t\t\t\twidth: 100%;\r\n\t\t\t\theight: 88rpx;\r\n\t\t\t\tbackground: #F8F9FB;\r\n\t\t\t\tdisplay: flex;\r\n\t\t\t\talign-items: center;\r\n\t\t\t\t.active {\r\n\t\t\t\t\tbackground-color: #ffffff !important;\r\n\t\t\t\t}\r\n\t\t\t\t.box-addr-list-row {\r\n\t\t\t\t\tflex: 1;\r\n\t\t\t\t\theight: 100%;\r\n\t\t\t\t\tdisplay: flex;\r\n\t\t\t\t\talign-items: center;\r\n\t\t\t\t\tjustify-content: center;\r\n\t\t\t\t\tborder-radius: 20rpx 20rpx 0rpx 0rpx;\r\n\t\t\t\t\timage {\r\n\t\t\t\t\t\twidth: 30rpx;\r\n\t\t\t\t\t\theight: 30rpx;\r\n\t\t\t\t\t\tmargin-right: 10rpx;\r\n\t\t\t\t\t}\r\n\t\t\t\t\ttext {\r\n\t\t\t\t\t\tfont-weight: 500;\r\n\t\t\t\t\t\tfont-size: 30rpx;\r\n\t\t\t\t\t\tcolor: #222222;\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t\t.box-addr-time {\r\n\t\t\t\twidth: 100%;\r\n\t\t\t\tdisplay: flex;\r\n\t\t\t\talign-items: center;\r\n\t\t\t\tpadding: 0 20rpx;\r\n\t\t\t\tbox-sizing: border-box;\r\n\t\t\t\tbackground-color: #ffffff;\r\n\t\t\t\ttext {\r\n\t\t\t\t\t&:nth-child(1) {\r\n\t\t\t\t\t\tfont-weight: 400;\r\n\t\t\t\t\t\tfont-size: 26rpx;\r\n\t\t\t\t\t\tcolor: #666666;\r\n\t\t\t\t\t}\r\n\t\t\t\t\t&:nth-child(2) {\r\n\t\t\t\t\t\tfont-weight: 400;\r\n\t\t\t\t\t\tfont-size: 26rpx;\r\n\t\t\t\t\t\tcolor: #333333;\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t\t.box-addr-dz {\r\n\t\t\t\twidth: 100%;\r\n\t\t\t\theight: 80rpx;\r\n\t\t\t\tdisplay: flex;\r\n\t\t\t\talign-items: center;\r\n\t\t\t\tjustify-content: space-between;\r\n\t\t\t\tpadding: 0 20rpx;\r\n\t\t\t\tbox-sizing: border-box;\r\n\t\t\t\tbackground-color: #ffffff;\r\n\t\t\t\t.box-addr-dz-left {\r\n\t\t\t\t\tdisplay: flex;\r\n\t\t\t\t\talign-items: center;\r\n\t\t\t\t\ttext {\r\n\t\t\t\t\t\t&:nth-child(1) {\r\n\t\t\t\t\t\t\tfont-weight: 400;\r\n\t\t\t\t\t\t\tfont-size: 26rpx;\r\n\t\t\t\t\t\t\tcolor: #666666;\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\t&:nth-child(2) {\r\n\t\t\t\t\t\t\tfont-weight: 400;\r\n\t\t\t\t\t\t\tfont-size: 26rpx;\r\n\t\t\t\t\t\t\tcolor: #004096;\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t\t.box-addr-dz-r {\r\n\t\t\t\t\tdisplay: flex;\r\n\t\t\t\t\talign-items: center;\r\n\t\t\t\t\timage {\r\n\t\t\t\t\t\twidth: 48rpx;\r\n\t\t\t\t\t\theight: 48rpx;\r\n\t\t\t\t\t\tmargin-right: 12rpx;\r\n\t\t\t\t\t}\r\n\t\t\t\t\ttext {\r\n\t\t\t\t\t\tfont-weight: 400;\r\n\t\t\t\t\t\tfont-size: 24rpx;\r\n\t\t\t\t\t\tcolor: #222222;\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t\t.box-addr-val {\r\n\t\t\t\twidth: 100%;\r\n\t\t\t\tpadding: 30rpx;\r\n\t\t\t\tdisplay: flex;\r\n\t\t\t\talign-items: flex-start;\r\n\t\t\t\tjustify-content: space-between;\r\n\t\t\t\tbox-sizing: border-box;\r\n\t\t\t\tbackground-color: #ffffff;\r\n\t\t\t\t.icon1 {\r\n\t\t\t\t\tflex-shrink: 0;\r\n\t\t\t\t\twidth: 48rpx;\r\n\t\t\t\t\theight: 48rpx;\r\n\t\t\t\t\tmargin-right: 22rpx;\r\n\t\t\t\t}\r\n\t\t\t\t.info {\r\n\t\t\t\t\tflex: 1;\r\n\t\t\t\t\tmin-height: 48rpx;\r\n\t\t\t\t\tdisplay: flex;\r\n\t\t\t\t\tflex-direction: column;\r\n\t\t\t\t\t.info-top {\r\n\t\t\t\t\t\tdisplay: flex;\r\n\t\t\t\t\t\talign-items: center;\r\n\t\t\t\t\t\ttext {\r\n\t\t\t\t\t\t\t&:nth-child(1) {\r\n\t\t\t\t\t\t\t\tfont-weight: 500;\r\n\t\t\t\t\t\t\t\tfont-size: 30rpx;\r\n\t\t\t\t\t\t\t\tcolor: #222222;\r\n\t\t\t\t\t\t\t\tmargin-right: 14rpx;\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t&:nth-child(2) {\r\n\t\t\t\t\t\t\t\tfont-weight: 400;\r\n\t\t\t\t\t\t\t\tfont-size: 26rpx;\r\n\t\t\t\t\t\t\t\tcolor: #666666;\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\t\t\t\t\t.info-bottom {\r\n\t\t\t\t\t\tfont-weight: 400;\r\n\t\t\t\t\t\tfont-size: 26rpx;\r\n\t\t\t\t\t\tcolor: #333333;\r\n\t\t\t\t\t\tmargin-top: 14rpx;\r\n\t\t\t\t\t}\r\n\t\t\t\t\t.info-wu {\r\n\t\t\t\t\t\tflex: 1;\r\n\t\t\t\t\t\theight: 100%;\r\n\t\t\t\t\t\tdisplay: flex;\r\n\t\t\t\t\t\talign-items: center;\r\n\t\t\t\t\t\tjustify-content: space-between;\r\n\t\t\t\t\t\ttext {\r\n\t\t\t\t\t\t\tfont-weight: 400;\r\n\t\t\t\t\t\t\tfont-size: 30rpx;\r\n\t\t\t\t\t\t\tcolor: #333333;\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\timage {\r\n\t\t\t\t\t\t\twidth: 16rpx;\r\n\t\t\t\t\t\t\tmargin: 0 !important;\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t\t.icon2 {\r\n\t\t\t\t\tflex-shrink: 0;\r\n\t\t\t\t\twidth: 12rpx;\r\n\t\t\t\t\theight: 24rpx;\r\n\t\t\t\t\tmargin-left: 40rpx;\r\n\t\t\t\t\tmargin-top: 55rpx;\r\n\t\t\t\t}\r\n\t\t\t\t.info-wu {\r\n\t\t\t\t\tflex: 1;\r\n\t\t\t\t\theight: 48rpx;\r\n\t\t\t\t\tdisplay: flex;\r\n\t\t\t\t\talign-items: center;\r\n\t\t\t\t\tjustify-content: space-between;\r\n\t\t\t\t\ttext {\r\n\t\t\t\t\t\tfont-weight: 400;\r\n\t\t\t\t\t\tfont-size: 30rpx;\r\n\t\t\t\t\t\tcolor: #333333;\r\n\t\t\t\t\t}\r\n\t\t\t\t\timage {\r\n\t\t\t\t\t\twidth: 16rpx;\r\n\t\t\t\t\t\tmargin: 0 !important;\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}\r\n\t}\n</style>","import mod from \"-!../../../../../办公/HBuilderX.3.8.12.20230817/HBuilderX/plugins/uniapp-cli/node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../../../../办公/HBuilderX.3.8.12.20230817/HBuilderX/plugins/uniapp-cli/node_modules/css-loader/dist/cjs.js??ref--6-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--6-oneOf-1-2!../../../../../办公/HBuilderX.3.8.12.20230817/HBuilderX/plugins/uniapp-cli/node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-3!../../../../../办公/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!./confirm-order.vue?vue&type=style&index=0&lang=css&\"; export default mod; export * from \"-!../../../../../办公/HBuilderX.3.8.12.20230817/HBuilderX/plugins/uniapp-cli/node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../../../../办公/HBuilderX.3.8.12.20230817/HBuilderX/plugins/uniapp-cli/node_modules/css-loader/dist/cjs.js??ref--6-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--6-oneOf-1-2!../../../../../办公/HBuilderX.3.8.12.20230817/HBuilderX/plugins/uniapp-cli/node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-3!../../../../../办公/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!./confirm-order.vue?vue&type=style&index=0&lang=css&\"","import mod from \"-!../../../../../办公/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!./confirm-order.vue?vue&type=style&index=1&id=2f2cf9ec&lang=scss&scoped=true&\"; export default mod; export * from \"-!../../../../../办公/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!./confirm-order.vue?vue&type=style&index=1&id=2f2cf9ec&lang=scss&scoped=true&\""],"sourceRoot":""}
=======
{"version":3,"sources":["uni-app:///main.js","webpack:///D:/code/idea2023/git/dingyuannongji/mini-program/pages/confirm-order/confirm-order.vue?4549","webpack:///D:/code/idea2023/git/dingyuannongji/mini-program/pages/confirm-order/confirm-order.vue?1ac1","webpack:///D:/code/idea2023/git/dingyuannongji/mini-program/pages/confirm-order/confirm-order.vue?82cf","webpack:///D:/code/idea2023/git/dingyuannongji/mini-program/pages/confirm-order/confirm-order.vue?27ee","uni-app:///pages/confirm-order/confirm-order.vue","webpack:///D:/code/idea2023/git/dingyuannongji/mini-program/pages/confirm-order/confirm-order.vue?8d9e","webpack:///D:/code/idea2023/git/dingyuannongji/mini-program/pages/confirm-order/confirm-order.vue?0dfd","webpack:///D:/code/idea2023/git/dingyuannongji/mini-program/pages/confirm-order/confirm-order.vue?bebe","webpack:///D:/code/idea2023/git/dingyuannongji/mini-program/pages/confirm-order/confirm-order.vue?be99"],"names":["wx","__webpack_require_UNI_MP_PLUGIN__","__webpack_require__","createPage","Page","computed","data","show","show1","show2","show3","shopName","orderInfo","addr","remark","cityName","useIntegralCopy","useIntegral","receiveType","couponId","shopId","payDetailRequestList","shopList","isPosition","lat","lgt","onLoad","uni","methods","goToAppSetting","success","that","positioning","type","highAccuracyExpireTime","isHighAccuracy","latitude","longitude","key","qqmapsdk","locParam","fail","console","jumpCity","url","openShop","dianhua","phoneNumber","openLoation","name","address","seleShop","item","confirmMD","title","icon","getShopLists","res","payment","addressId","titlePrice","timeStamp","nonceStr","package","signType","paySign","confirmJF","confirmCoupon","selectCoupon","getOrderInfo","changeOrderType","jumpAddr","getDefaultAddr","then"],"mappings":";;;;;;;;;;;;;AAAA;AAGA;AACA;AAHA;AACAA,EAAE,CAACC,iCAAiC,GAAGC,mBAAmB;AAG1DC,UAAU,CAACC,qBAAI,CAAC,C;;;;;;;;;;;;;ACLhB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAsI;AACtI;AACiE;AACL;AACa;AACyB;;;AAGlG;AACiL;AACjL,gBAAgB,kLAAU;AAC1B,EAAE,mFAAM;AACR,EAAE,oGAAM;AACR,EAAE,6GAAe;AACjB;AACA;AACA;AACA;AACA;AACA,EAAE,wGAAU;AACZ;AACA;;AAEA;AACe,gF;;;;;;;;;;;;ACxBf;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;;;;;;;;;;;;ACAA;AAAA;AAAA;AAAA;AAAA;AAAA;AACA;AACA;AACA;AACA,aAAa,2RAEN;AACP,KAAK;AACL;AACA,aAAa,qRAEN;AACP,KAAK;AACL;AACA,aAAa,iSAEN;AACP,KAAK;AACL;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM;AACN;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;;;ACvFA;AAAA;AAAA;AAAA;AAAgrB,CAAgB,gpBAAG,EAAC,C;;;;;;;;;;;;;;;;;;;;ACoPpsB;AAAA;AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AADA;AAAA,eAEA;EACAC,4BACA,kCACA;EACAC;IACA;MACAC;MACAC;MACAC;MACAC;MACAC;MACAC;MACAC;MACAC;MACAC;MACAC;MACAC;MACAC;MACAC;MACAC;MACAC;MACAC;MACAC;MACAC;MACAC;IACA;EACA;EACAC;IAAA;IACA;IACA;MACA;MACAC;IACA;IACAA;MACA;MACA;IACA;IACAA;MACA;MACA;IACA;IACA;EACA;EACAC;IACAC;MAAA;MACA;MACAF;QACAG;UACA;YACA;YACAC;UACA;QACA;MACA;IACA;IACA;IACAC;MACA;MACAL;QACAM;QACAC;QACAC;QACAL;UACA;YAAAM;YAAAC;UAAA;UACA;YACAC;UACA;UACAC;YACAC;YACAV;cACAC;cACAA;cACAA;cACAA;YACA;YACAU;cACAC;YACA;UACA;QACA;MACA;IACA;IAEAC;MACAhB;QACAiB;MACA;IACA;IACAC;MAAA;MACA;MACAlB;QACAG;UACA;YACA;YACA;YACA;UACA;YACA;YACA;YACA;YACA;UACA;QACA;MACA;IACA;IACA;IACAgB;MACAnB;QACAoB;MACA;IACA;IACA;IACAC;MACArB;QACAS;QACAC;QACAY;QACAC;MACA;IACA;IACAC;MACA;QACAC;MACA;IACA;IACAC;MACA;QAAA;MAAA;QACAC;QACAC;MACA;MACA;QAAA;MAAA;MACA;IACA;IACA;IACAC;MAAA;MACA;QACAzC;QACAS;QACAC;QACAd;MACA;QACA;UACA8C;YACAL;UACA;UACA;UACA;YACA;UACA;QACA;MACA;IACA;IACA;IACAM;MACA;MACA;QACAC;QACAxC;QACAE;QACAH;QACAD;QACAH;QACA8C;QACAxC;MACA;QACA;UACA;UACA;YACA;YACAO;cACAiB;YACA;YACA;YACA;YACA;YACA;YACA;UACA;YACA5C;cACA6D;cACAC;cACAC;cACAC;cACAC;cACAnC;gBACA;kBACA;kBACAH;oBACAiB;kBACA;kBACA;kBACA;kBACA;kBACA;kBACA;gBACA;kBACAjB;oBAAA2B;oBAAAC;kBAAA;gBACA;cACA;YACA;UACA;QACA;MACA;IACA;IACA;IACAW;MACA;MACA;MACA;IACA;IACA;IACAC;MACA;QAAA;MAAA;MACA;QACA;MACA;MACA;MACA;IACA;IACA;IACAC;MACA;QACAhB;MACA;IACA;IACA;IACAiB;MAAA;MACA;QACAV;QACAxC;QACAE;QACAH;QACAD;MACA;QACA;UACA;YACAwC;UACA;YACAA;cACAL;YACA;UACA;UACA;QACA;MACA;IACA;IACAkB;MACA;MACA;IACA;IACAC;MACA5C;QACAiB;MACA;IACA;IACA4B;MAAA;MACA,0BACAC;QACA;UACA;UACA;QACA;MACA;IACA;EACA;AACA;AAAA,2B;;;;;;;;;;;;;AC9fA;AAAA;AAAA;AAAA;AAA+9B,CAAgB,+4BAAG,EAAC,C;;;;;;;;;;;ACAn/B;AACA,OAAO,KAAU,EAAE,kBAKd;;;;;;;;;;;;;ACNL;AAAA;AAAA;AAAA;AAA2yC,CAAgB,2qCAAG,EAAC,C;;;;;;;;;;;ACA/zC;AACA,OAAO,KAAU,EAAE,kBAKd","file":"pages/confirm-order/confirm-order.js","sourcesContent":["import 'uni-pages';\n// @ts-ignore\nwx.__webpack_require_UNI_MP_PLUGIN__ = __webpack_require__;\nimport Vue from 'vue'\nimport Page from './pages/confirm-order/confirm-order.vue'\ncreatePage(Page)","import { render, staticRenderFns, recyclableRender, components } from \"./confirm-order.vue?vue&type=template&id=2f2cf9ec&scoped=true&\"\nvar renderjs\nimport script from \"./confirm-order.vue?vue&type=script&lang=js&\"\nexport * from \"./confirm-order.vue?vue&type=script&lang=js&\"\nimport style0 from \"./confirm-order.vue?vue&type=style&index=0&lang=css&\"\nimport style1 from \"./confirm-order.vue?vue&type=style&index=1&id=2f2cf9ec&lang=scss&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../../../soft/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  \"2f2cf9ec\",\n  null,\n  false,\n  components,\n  renderjs\n)\n\ncomponent.options.__file = \"pages/confirm-order/confirm-order.vue\"\nexport default component.exports","export * from \"-!../../../../../../../soft/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!../../../../../../../soft/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-preprocess-loader/index.js??ref--17-0!../../../../../../../soft/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/webpack-uni-mp-loader/lib/template.js!../../../../../../../soft/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-uni-app-loader/page-meta.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!./confirm-order.vue?vue&type=template&id=2f2cf9ec&scoped=true&\"","var components\ntry {\n  components = {\n    uPopup: function () {\n      return import(\n        /* webpackChunkName: \"node-modules/uview-ui/components/u-popup/u-popup\" */ \"uview-ui/components/u-popup/u-popup.vue\"\n      )\n    },\n    uIcon: function () {\n      return import(\n        /* webpackChunkName: \"node-modules/uview-ui/components/u-icon/u-icon\" */ \"uview-ui/components/u-icon/u-icon.vue\"\n      )\n    },\n    uSearch: function () {\n      return import(\n        /* webpackChunkName: \"node-modules/uview-ui/components/u-search/u-search\" */ \"uview-ui/components/u-search/u-search.vue\"\n      )\n    },\n  }\n} catch (e) {\n  if (\n    e.message.indexOf(\"Cannot find module\") !== -1 &&\n    e.message.indexOf(\".vue\") !== -1\n  ) {\n    console.error(e.message)\n    console.error(\"1. æŽ’查组件名称拼写是否正确\")\n    console.error(\n      \"2. æŽ’查组件是否符合 easycom è§„范,文档:https://uniapp.dcloud.net.cn/collocation/pages?id=easycom\"\n    )\n    console.error(\n      \"3. è‹¥ç»„件不符合 easycom è§„范,需手动引入,并在 components ä¸­æ³¨å†Œè¯¥ç»„ä»¶\"\n    )\n  } else {\n    throw e\n  }\n}\nvar render = function () {\n  var _vm = this\n  var _h = _vm.$createElement\n  var _c = _vm._self._c || _h\n  var l0 = _vm.orderInfo\n    ? _vm.__map(_vm.orderInfo.memberCouponList, function (item, index) {\n        var $orig = _vm.__get_orig(item)\n        var g0 = item.endDate.substring(0, 10)\n        return {\n          $orig: $orig,\n          g0: g0,\n        }\n      })\n    : null\n  if (!_vm._isMounted) {\n    _vm.e0 = function ($event) {\n      _vm.show3 = true\n    }\n    _vm.e1 = function ($event) {\n      _vm.show = true\n    }\n    _vm.e2 = function ($event) {\n      _vm.show1 = true\n    }\n    _vm.e3 = function ($event) {\n      _vm.show = false\n    }\n    _vm.e4 = function ($event) {\n      _vm.show1 = false\n    }\n    _vm.e5 = function ($event) {\n      _vm.useIntegralCopy = _vm.useIntegralCopy === 1 ? 0 : 1\n    }\n    _vm.e6 = function ($event) {\n      _vm.show2 = false\n    }\n    _vm.e7 = function ($event) {\n      _vm.show3 = false\n    }\n  }\n  _vm.$mp.data = Object.assign(\n    {},\n    {\n      $root: {\n        l0: l0,\n      },\n    }\n  )\n}\nvar recyclableRender = false\nvar staticRenderFns = []\nrender._withStripped = true\n\nexport { render, staticRenderFns, recyclableRender, components }","import mod from \"-!../../../../../../../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!./confirm-order.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../../../../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!./confirm-order.vue?vue&type=script&lang=js&\"","<template>\r\n\t<view class=\"box\" v-if=\"orderInfo\">\r\n\t\t<view class=\"box-addr\">\r\n\t\t\t<view class=\"box-addr-list\">\r\n\t\t\t\t<view @click=\"changeOrderType(0)\" :class=\"receiveType === 0 ? 'box-addr-list-row active' : 'box-addr-list-row'\">\r\n\t\t\t\t\t<image src=\"/static/icon/ic_wuliu_sel@2x.png\" mode=\"widthFix\"></image>\r\n\t\t\t\t\t<text>物流配送</text>\r\n\t\t\t\t</view>\r\n\t\t\t\t<view @click=\"changeOrderType(1)\" :class=\"receiveType === 1 ? 'box-addr-list-row active' : 'box-addr-list-row'\">\r\n\t\t\t\t\t<image src=\"/static/icon/ic_daodian@2x.png\" mode=\"widthFix\"></image>\r\n\t\t\t\t\t<text>门店自提</text>\r\n\t\t\t\t</view>\r\n\t\t\t</view>\r\n\t\t\t<!-- ç‰©æµé…é€ -->\r\n\t\t\t<view class=\"box-addr-val\" v-if=\"receiveType === 0\">\r\n\t\t\t\t<image class=\"icon1\" src=\"/static/icon/ic_location@2x.png\" mode=\"widthFix\"></image>\r\n\t\t\t\t<view class=\"info\" @click=\"jumpAddr\">\r\n\t\t\t\t\t<template v-if=\"addr\">\r\n\t\t\t\t\t\t<view class=\"info-top\">\r\n\t\t\t\t\t\t\t<text>{{addr.name}}</text>\r\n\t\t\t\t\t\t\t<text>{{addr.phone}}</text>\r\n\t\t\t\t\t\t</view>\r\n\t\t\t\t\t\t<view class=\"info-bottom\">\r\n\t\t\t\t\t\t\t{{addr.areaDetail}}{{addr.addr}}\r\n\t\t\t\t\t\t</view>\r\n\t\t\t\t\t</template>\r\n\t\t\t\t\t<view class=\"info-wu\" v-else>\r\n\t\t\t\t\t\t<text>选择地址</text>\r\n\t\t\t\t\t\t<image class=\"icon2\" src=\"/static/icon/ic_ar2@2x.png\" mode=\"widthFix\"></image>\r\n\t\t\t\t\t</view>\r\n\t\t\t\t</view>\r\n\t\t\t\t<image class=\"icon2\" src=\"/static/icon/ic_ar2@2x.png\" mode=\"widthFix\" v-if=\"addr\"></image>\r\n\t\t\t</view>\r\n\t\t\t<!-- é—¨åº—自提 -->\r\n\t\t\t<template v-if=\"receiveType === 1\">\r\n\t\t\t\t<view class=\"box-addr-val\" @click=\"openShop\">\r\n\t\t\t\t\t<image class=\"icon1\" src=\"/static/icon/ic_address@2x1.png\" mode=\"widthFix\"></image>\r\n\t\t\t\t\t<template v-if=\"shopId\">\r\n\t\t\t\t\t\t<view class=\"info\">\r\n\t\t\t\t\t\t\t<view class=\"info-top\">\r\n\t\t\t\t\t\t\t\t<text>{{shopId.name}}</text>\r\n\t\t\t\t\t\t\t</view>\r\n\t\t\t\t\t\t\t<view class=\"info-bottom\">\r\n\t\t\t\t\t\t\t\t{{shopId.addr}}\r\n\t\t\t\t\t\t\t</view>\r\n\t\t\t\t\t\t</view>\r\n\t\t\t\t\t\t<image class=\"icon2\" src=\"/static/icon/ic_ar2@2x.png\" mode=\"widthFix\"></image>\r\n\t\t\t\t\t</template>\r\n\t\t\t\t\t<view class=\"info-wu\" v-else>\r\n\t\t\t\t\t\t<text>选择门店</text>\r\n\t\t\t\t\t\t<image class=\"icon2\" src=\"/static/icon/ic_ar2@2x.png\" mode=\"widthFix\"></image>\r\n\t\t\t\t\t</view>\r\n\t\t\t\t</view>\r\n\t\t\t\t<view class=\"box-addr-time\" v-if=\"shopId\">\r\n\t\t\t\t\t<text>营业时间:</text>\r\n\t\t\t\t\t<text>{{shopId.startTime}}</text>\r\n\t\t\t\t</view>\r\n\t\t\t\t<view class=\"box-addr-dz\" v-if=\"shopId\">\r\n\t\t\t\t\t<view class=\"box-addr-dz-left\" @click=\"show3 = true\">\r\n\t\t\t\t\t\t<text>联系电话:</text>\r\n\t\t\t\t\t\t<text>{{shopId.phone}}</text>\r\n\t\t\t\t\t</view>\r\n\t\t\t\t\t<view class=\"box-addr-dz-r\">\r\n\t\t\t\t\t\t<image src=\"/static/icon/ic_address@2x.png\" mode=\"widthFix\"></image>\r\n\t\t\t\t\t\t<text>{{shopId.distance}}km</text>\r\n\t\t\t\t\t</view>\r\n\t\t\t\t</view>\r\n\t\t\t</template>\r\n\t\t</view>\r\n\t\t<view class=\"box-shop\">\r\n\t\t\t<view class=\"item\" v-for=\"(item, index) in orderInfo.goodsCalculateList\" :key=\"index\">\r\n\t\t\t\t<view class=\"item-image\">\r\n\t\t\t\t\t<image :src=\"item.skuImg\" mode=\"widthFix\"></image>\r\n\t\t\t\t</view>\r\n\t\t\t\t<view class=\"item-info\">\r\n\t\t\t\t\t<view class=\"item-info-title\">{{item.name}}</view>\r\n\t\t\t\t\t<view class=\"item-info-bottom\">\r\n\t\t\t\t\t\t<view class=\"price\">Â¥{{item.skuAmount}}</view>\r\n\t\t\t\t\t\t<view class=\"num\">\r\n\t\t\t\t\t\t\t<!-- <view class=\"num-add\">-</view> -->\r\n\t\t\t\t\t\t\t<view class=\"num-total\">数量:{{item.goodsNum}}</view>\r\n\t\t\t\t\t\t\t<!-- <view class=\"num-add\">+</view> -->\r\n\t\t\t\t\t\t</view>\r\n\t\t\t\t\t</view>\r\n\t\t\t\t</view>\r\n\t\t\t</view>\r\n\t\t\t<view class=\"xian\"></view>\r\n\t\t\t<view class=\"info\">\r\n\t\t\t\t<view class=\"info-item\">\r\n\t\t\t\t\t<view class=\"info-item-label\">商品总价</view>\r\n\t\t\t\t\t<view class=\"info-item-price\">\r\n\t\t\t\t\t\t<text>{{orderInfo.amount}}</text>\r\n\t\t\t\t\t</view>\r\n\t\t\t\t</view>\r\n\t\t\t\t<view class=\"info-item\">\r\n\t\t\t\t\t<view class=\"info-item-label\">运费</view>\r\n\t\t\t\t\t<view class=\"info-item-price1\">Â¥{{orderInfo.mailAmount}}</view>\r\n\t\t\t\t</view>\r\n\t\t\t\t<view class=\"info-item\">\r\n\t\t\t\t\t<view class=\"info-item-label\">优惠券</view>\r\n\t\t\t\t\t<view class=\"info-item-price1\" @click=\"show = true\">\r\n\t\t\t\t\t\t-Â¥{{orderInfo.couponAmount}}\r\n\t\t\t\t\t\t<image src=\"/static/icon/ic_ar2@2x.png\" mode=\"widthFix\"></image>\r\n\t\t\t\t\t</view>\r\n\t\t\t\t</view>\r\n\t\t\t\t<view class=\"info-item\">\r\n\t\t\t\t\t<view class=\"info-item-label\">积分抵扣</view>\r\n\t\t\t\t\t<view class=\"info-item-price1\" @click=\"show1 = true\">\r\n\t\t\t\t\t\t-Â¥{{orderInfo.integralAmount}}\r\n\t\t\t\t\t\t<image src=\"/static/icon/ic_ar2@2x.png\" mode=\"widthFix\"></image>\r\n\t\t\t\t\t</view>\r\n\t\t\t\t</view>\r\n\t\t\t\t<view class=\"info-item\">\r\n\t\t\t\t\t<view class=\"info-item-label\" style=\"color: #222222; font-size: 30rpx; font-weight: 600;\">应付款</view>\r\n\t\t\t\t\t<view class=\"info-item-price2\">\r\n\t\t\t\t\t\t<text>{{orderInfo.payAmount}}</text>\r\n\t\t\t\t\t</view>\r\n\t\t\t\t</view>\r\n\t\t\t</view>\r\n\t\t</view>\r\n\t\t<view class=\"remark\">\r\n\t\t\t<view class=\"remark-label\">订单备注</view>\r\n\t\t\t<input type=\"text\" v-model=\"remark\" placeholder=\"请输入备注\" />\r\n\t\t</view>\r\n\t\t<view class=\"play\">\r\n\t\t\t<view class=\"play-info\">\r\n\t\t\t\t<image src=\"/static/icon/order_ic_wepay@2x.png\" mode=\"widthFix\"></image>\r\n\t\t\t\t<text>微信支付</text>\r\n\t\t\t</view>\r\n\t\t\t<image src=\"/static/icon/cart_ic_sel@2x.png\" mode=\"widthFix\"></image>\r\n\t\t</view>\r\n\t\t<view class=\"footer\">\r\n\t\t\t<view class=\"edit\">\r\n\t\t\t\t<view class=\"edit-btn\" @click=\"payment\">立即支付 Â¥{{orderInfo.payAmount}}</view>\r\n\t\t\t</view>\r\n\t\t\t<view style=\"width: 100%; height: env(safe-area-inset-bottom);\"></view>\r\n\t\t</view>\r\n\t\t<!-- ä¼˜æƒ åˆ¸ -->\r\n\t\t<u-popup :show=\"show\" round=\"15\" :closeable=\"true\" @close=\"show = false\" mode=\"bottom\">\r\n\t\t\t<view class=\"coupon\">\r\n\t\t\t\t<view class=\"coupon-title\">选择优惠券</view>\r\n\t\t\t\t<scroll-view scroll-y class=\"coupon-list\">\r\n\t\t\t\t\t<view class=\"coupon-list-item\" v-for=\"(item, index) in orderInfo.memberCouponList\" :key=\"index\" @click=\"selectCoupon(index)\">\r\n\t\t\t\t\t\t<view class=\"jiage\" v-if=\"item.couponType === 0\">\r\n\t\t\t\t\t\t\t<text>{{item.price}}</text>\r\n\t\t\t\t\t\t\t<text>满{{item.limitPrice}}可用</text>\r\n\t\t\t\t\t\t</view>\r\n\t\t\t\t\t\t<view class=\"jiage1\" v-if=\"item.couponType === 1\">\r\n\t\t\t\t\t\t\t<text>{{item.price}}</text>\r\n\t\t\t\t\t\t\t<text>满{{item.limitPrice}}可用</text>\r\n\t\t\t\t\t\t</view>\r\n\t\t\t\t\t\t<view class=\"juaninfo\">\r\n\t\t\t\t\t\t\t<view class=\"juaninfo-info\">\r\n\t\t\t\t\t\t\t\t<text>{{item.name}}</text>\r\n\t\t\t\t\t\t\t\t<text>{{item.endDate.substring(0, 10)}} æ—¥åˆ°æœŸ</text>\r\n\t\t\t\t\t\t\t</view>\r\n\t\t\t\t\t\t\t<image src=\"/static/icon/ic_agree@2x.png\" mode=\"widthFix\" v-if=\"!item.active\"></image>\r\n\t\t\t\t\t\t\t<image src=\"/static/icon/cart_ic_sel@2x.png\" mode=\"widthFix\" v-else></image>\r\n\t\t\t\t\t\t</view>\r\n\t\t\t\t\t</view>\r\n\t\t\t\t</scroll-view>\r\n\t\t\t\t<view class=\"coupon-btn\" @click=\"confirmCoupon\">确定</view>\r\n\t\t\t</view>\r\n\t\t</u-popup>\r\n\t\t<!-- ç§¯åˆ† -->\r\n\t\t<u-popup :show=\"show1\" round=\"15\" @close=\"show1 = false\" :closeable=\"true\" mode=\"bottom\">\r\n\t\t\t<view class=\"coupon\">\r\n\t\t\t\t<view class=\"coupon-title\">使用积分</view>\r\n\t\t\t\t<view class=\"coupon-content\">\r\n\t\t\t\t\t<view class=\"coupon-content-a\">\r\n\t\t\t\t\t\t<text>当前积分:</text>\r\n\t\t\t\t\t\t<text>{{orderInfo.surplusIntegral || 0}}</text>\r\n\t\t\t\t\t</view>\r\n\t\t\t\t\t<view class=\"coupon-content-b\" @click=\"useIntegralCopy = useIntegralCopy === 1 ? 0 : 1\">\r\n\t\t\t\t\t\t<text>本单可用积分:{{orderInfo.deductIntegral}}</text>\r\n\t\t\t\t\t\t<image src=\"/static/icon/ic_agree_sel@2x.png\" mode=\"widthFix\" v-if=\"useIntegralCopy === 1\"></image>\r\n\t\t\t\t\t\t<image src=\"/static/icon/ic_agree@2x.png\" mode=\"widthFix\" v-else></image>\r\n\t\t\t\t\t</view>\r\n\t\t\t\t</view>\r\n\t\t\t\t<view class=\"coupon-btn\" @click=\"confirmJF\">确定</view>\r\n\t\t\t</view>\r\n\t\t</u-popup>\r\n\t\t<!-- é—¨åº— -->\r\n\t\t<u-popup :show=\"show2\" round=\"15\" @close=\"show2 = false\" :closeable=\"true\" mode=\"bottom\">\r\n\t\t\t<view class=\"coupon\">\r\n\t\t\t\t<view class=\"coupon-title\">选择门店</view>\r\n\t\t\t\t<view class=\"coupon-search\" v-if=\"isPosition\">\r\n\t\t\t\t\t<view class=\"coupon-search-city\" @click=\"jumpCity\">\r\n\t\t\t\t\t\t<text>{{cityName}}</text>\r\n\t\t\t\t\t\t<u-icon name=\"arrow-down\" color=\"#999999\" size=\"13\"></u-icon>\r\n\t\t\t\t\t</view>\r\n\t\t\t\t\t<view class=\"coupon-search-input\">\r\n\t\t\t\t\t\t<u-search placeholder=\"输入门店名称\" height=\"35\" searchIconColor=\"#999999\" borderColor=\"#eeeeee\"\r\n\t\t\t\t\t\t\tbgColor=\"#F9F9FB\" :showAction=\"false\" v-model=\"shopName\" @search=\"getShopLists\" />\t\r\n\t\t\t\t\t</view>\r\n\t\t\t\t</view>\r\n\t\t\t\t<scroll-view scroll-y>\r\n\t\t\t\t\t<template v-if=\"isPosition\">\r\n\t\t\t\t\t\t<view :class=\"item.active ? 'dian active' : 'dian'\" @click=\"seleShop(index)\" v-for=\"(item, index) in shopList\" :key=\"index\">\r\n\t\t\t\t\t\t\t<view class=\"dian-top\">\r\n\t\t\t\t\t\t\t\t<view class=\"dian-top-image\">\r\n\t\t\t\t\t\t\t\t\t<image :src=\"item.imgFullUrl\" mode=\"widthFix\"></image>\r\n\t\t\t\t\t\t\t\t</view>\r\n\t\t\t\t\t\t\t\t<view class=\"dian-top-info\">\r\n\t\t\t\t\t\t\t\t\t<view class=\"dian-top-info-title\">\r\n\t\t\t\t\t\t\t\t\t\t<text>{{item.name}}</text>\r\n\t\t\t\t\t\t\t\t\t\t<text>距离{{item.distance}}km</text>\r\n\t\t\t\t\t\t\t\t\t</view>\r\n\t\t\t\t\t\t\t\t\t<view class=\"dian-top-info-val\">{{item.addr}}</view>\r\n\t\t\t\t\t\t\t\t</view>\r\n\t\t\t\t\t\t\t</view>\r\n\t\t\t\t\t\t\t<view class=\"dian-bottom\">\r\n\t\t\t\t\t\t\t\t<text>营业时间:{{item.startTime}}</text>\r\n\t\t\t\t\t\t\t\t<view class=\"dian-bottom-icon\">\r\n\t\t\t\t\t\t\t\t\t<image src=\"/static/icon/ic_phonecall@2x.png\" mode=\"widthFix\" @click=\"dianhua(item.phone)\"></image>\r\n\t\t\t\t\t\t\t\t\t<image src=\"/static/icon/ic_distance@2x.png\" mode=\"widthFix\" @click=\"openLoation(item)\"></image>\r\n\t\t\t\t\t\t\t\t</view>\r\n\t\t\t\t\t\t\t</view>\r\n\t\t\t\t\t\t</view>\r\n\t\t\t\t\t</template>\r\n\t\t\t\t\t<template v-else>\r\n\t\t\t\t\t\t<view class=\"wushuju\">\r\n\t\t\t\t\t\t\t<image src=\"/static/images/img_dingwei@2x.png\" mode=\"widthFix\"></image>\r\n\t\t\t\t\t\t\t<view class=\"wushuju-a\">定位失败</view>\r\n\t\t\t\t\t\t\t<view class=\"wushuju-b\">请开启定位获取位置信息</view>\r\n\t\t\t\t\t\t\t<view class=\"wushuju-c\" @click=\"goToAppSetting\">开启定位</view>\r\n\t\t\t\t\t\t</view>\r\n\t\t\t\t\t</template>\r\n\t\t\t\t</scroll-view>\r\n\t\t\t\t<view class=\"coupon-btn\" v-if=\"isPosition\" @click=\"confirmMD\">确定选择</view>\r\n\t\t\t</view>\r\n\t\t</u-popup>\r\n\t\t<!-- è”系电话 -->\r\n\t\t<u-popup :show=\"show3\" round=\"15\" @close=\"show3 = false\" :closeable=\"true\" mode=\"bottom\">\r\n\t\t\t<view class=\"coupon\">\r\n\t\t\t\t<view class=\"coupon-title\">联系电话</view>\r\n\t\t\t\t<view class=\"coupon-phone\" @click=\"dianhua(shopId.phone)\">{{shopId.phone}}</view>\r\n\t\t\t</view>\r\n\t\t</u-popup>\r\n\t</view>\r\n</template>\r\n\r\n<script>\r\n\tvar QQMapWX = require('@/utils/qqmap-wx-jssdk.js')\r\n\timport { mapState } from 'vuex'\r\n\texport default {\r\n\t\tcomputed: {\r\n\t\t\t...mapState(['position'])\r\n\t\t},\r\n\t\tdata() {\r\n\t\t\treturn {\r\n\t\t\t\tshow: false,\r\n\t\t\t\tshow1: false,\r\n\t\t\t\tshow2: false,\r\n\t\t\t\tshow3: false,\r\n\t\t\t\tshopName: '',\r\n\t\t\t\torderInfo: null,\r\n\t\t\t\taddr: null,\r\n\t\t\t\tremark: '',\r\n\t\t\t\tcityName: '',\r\n\t\t\t\tuseIntegralCopy: 0,\r\n\t\t\t\tuseIntegral: 0,\r\n\t\t\t\treceiveType: 0,\r\n\t\t\t\tcouponId: null,\r\n\t\t\t\tshopId: null,\r\n\t\t\t\tpayDetailRequestList: [],\r\n\t\t\t\tshopList: [],\r\n\t\t\t\tisPosition: true,\r\n\t\t\t\tlat: '',\r\n\t\t\t\tlgt: '',\r\n\t\t\t};\r\n\t\t},\r\n\t\tonLoad(option) {\r\n\t\t\tconst shop = uni.getStorageSync('shop');\r\n\t\t\tif (shop) {\r\n\t\t\t\tthis.payDetailRequestList = shop\r\n\t\t\t\tuni.removeStorageSync('shop');\r\n\t\t\t}\r\n\t\t\tuni.$on('update', (data) => {\r\n\t\t\t\tthis.addr = data\r\n\t\t\t\tthis.getOrderInfo()\r\n\t\t\t})\r\n\t\t\tuni.$on('city', (data) => {\r\n\t\t\t\tthis.cityName = data\r\n\t\t\t\tthis.getShopLists()\r\n\t\t\t})\r\n\t\t\tthis.getDefaultAddr()\r\n\t\t},\r\n\t\tmethods: {\r\n\t\t\tgoToAppSetting() {\r\n\t\t\t\tvar that = this;\r\n\t\t\t    uni.openSetting({\r\n\t\t\t        success: (res) => {\r\n\t\t\t\t\t\tif (res.authSetting['scope.userLocation']) {\r\n\t\t\t\t\t\t\tthis.isPosition = true\r\n\t\t\t\t\t\t\tthat.positioning()\r\n\t\t\t\t\t\t}\r\n\t\t\t        }\r\n\t\t\t    });\r\n\t\t\t},\r\n\t\t\t// å®šä½\r\n\t\t\tpositioning() {\r\n\t\t\t\tvar that = this;\r\n\t\t\t\tuni.getLocation({\r\n\t\t\t\t\ttype: 'gcj02',\r\n\t\t\t\t\thighAccuracyExpireTime: 3000,\r\n\t\t\t\t\tisHighAccuracy: true,\r\n\t\t\t\t\tsuccess: function (addr) {\r\n\t\t\t\t\t\tconst locParam = { latitude: addr.latitude, longitude: addr.longitude };\r\n\t\t\t\t\t\tconst qqmapsdk = new QQMapWX({\r\n\t\t\t\t\t\t\tkey: 'HEIBZ-QJLLM-SZ36X-6ZBHI-S6Y2J-S6FND'\r\n\t\t\t\t\t\t});\r\n\t\t\t\t\t\tqqmapsdk.reverseGeocoder({\r\n\t\t\t\t\t\t\tlocParam,\r\n\t\t\t\t\t\t\tsuccess: function(res) {\r\n\t\t\t\t\t\t\t\tthat.cityName = res.result.ad_info.city\r\n\t\t\t\t\t\t\t\tthat.lat = res.result.location.lat\r\n\t\t\t\t\t\t\t\tthat.lgt = res.result.location.lng\r\n\t\t\t\t\t\t\t\tthat.getShopLists(1)\r\n\t\t\t\t\t\t\t},\r\n\t\t\t\t\t\t\tfail: (err) => {\r\n\t\t\t\t\t\t\t\tconsole.error('获取位置失败===========', err);\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t});\r\n\t\t\t\t\t}\r\n\t\t\t\t});\r\n\t\t\t},\r\n\t\t\t\r\n\t\t\tjumpCity() {\r\n\t\t\t\tuni.navigateTo({\r\n\t\t\t\t\turl: '/pages/select-city/select-city'\r\n\t\t\t\t})\r\n\t\t\t},\r\n\t\t\topenShop() {\r\n\t\t\t\t// æ£€æŸ¥ç”¨æˆ·æ˜¯å¦å·²ç»æŽˆæƒä½ç½®æƒé™\r\n\t\t\t\tuni.getSetting({\r\n\t\t\t\t\tsuccess: (res) => {\r\n\t\t\t\t\t\tif (res.authSetting['scope.userLocation']) {\r\n\t\t\t\t\t\t\t// ç”¨æˆ·å·²æŽˆæƒä½ç½®æƒé™\r\n\t\t\t\t\t\t\tthis.isPosition = true\r\n\t\t\t\t\t\t\tthis.positioning()\r\n\t\t\t\t\t\t} else {\r\n\t\t\t\t\t\t\t// ç”¨æˆ·æœªæŽˆæƒä½ç½®æƒé™\r\n\t\t\t\t\t\t\tthis.isPosition = false\r\n\t\t\t\t\t\t\tthis.show2 = true\r\n\t\t\t\t\t\t\t// this.getShopLists(1)\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\t\t\t\t});\r\n\t\t\t},\r\n\t\t\t// æ‰“电话\r\n\t\t\tdianhua(phoneNumber) {\r\n\t\t\t\tuni.makePhoneCall({\r\n\t\t\t\t\tphoneNumber\r\n\t\t\t\t})\r\n\t\t\t},\r\n\t\t\t// æ‰“开位置\r\n\t\t\topenLoation(item) {\r\n\t\t\t\tuni.openLocation({\r\n\t\t\t\t\tlatitude: item.latitude,\r\n\t\t\t\t\tlongitude: item.longitude,\r\n\t\t\t\t\tname: item.name,\r\n\t\t\t\t\taddress: item.addr\r\n\t\t\t\t})\r\n\t\t\t},\r\n\t\t\tseleShop(index) {\r\n\t\t\t\tthis.shopList.forEach((item, i) => {\r\n\t\t\t\t\titem.active = index === i\r\n\t\t\t\t})\r\n\t\t\t},\r\n\t\t\tconfirmMD() {\r\n\t\t\t\tif (this.shopList.filter(item => item.active).length === 0) return uni.showToast({\r\n\t\t\t\t\ttitle: '请选择门店',\r\n\t\t\t\t\ticon: 'none'\r\n\t\t\t\t})\r\n\t\t\t\tthis.shopId = this.shopList.filter(item => item.active)[0]\r\n\t\t\t\tthis.show2 = false\r\n\t\t\t},\r\n\t\t\t// èŽ·å–é™„è¿‘é—¨åº—\r\n\t\t\tgetShopLists(type) {\r\n\t\t\t\tthis.$u.api.getShopList({\r\n\t\t\t\t\tcityName: this.cityName,\r\n\t\t\t\t\tlat: this.lat,\r\n\t\t\t\t\tlgt: this.lng,\r\n\t\t\t\t\tshopName: this.shopName\r\n\t\t\t\t}).then(res => {\r\n\t\t\t\t\tif (res.code === 200) {\r\n\t\t\t\t\t\tres.data.forEach(item => {\r\n\t\t\t\t\t\t\titem.active = false\r\n\t\t\t\t\t\t})\r\n\t\t\t\t\t\tthis.shopList = res.data\r\n\t\t\t\t\t\tif (type === 1) {\r\n\t\t\t\t\t\t\tthis.show2 = true\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\t\t\t\t})\r\n\t\t\t},\r\n\t\t\t// æ”¯ä»˜\r\n\t\t\tpayment() {\r\n\t\t\t\tvar that = this;\r\n\t\t\t\tthis.$u.api.orderPay({\r\n\t\t\t\t\taddressId: this.addr ? this.addr.id : null,\r\n\t\t\t\t\tcouponId: this.couponId,\r\n\t\t\t\t\tpayDetailRequestList: this.payDetailRequestList,\r\n\t\t\t\t\treceiveType: this.receiveType,\r\n\t\t\t\t\tuseIntegral: this.useIntegral,\r\n\t\t\t\t\tremark: this.remark,\r\n\t\t\t\t\ttitlePrice: this.orderInfo.payAmount,\r\n\t\t\t\t\tshopId: this.shopId ? this.shopId.id : null\r\n\t\t\t\t}).then(res => {\r\n\t\t\t\t\tif (res.code === 200) {\r\n\t\t\t\t\t\t// ç§¯åˆ†æŠµæ‰£\r\n\t\t\t\t\t\tif (res.data.payType === 1) {\r\n\t\t\t\t\t\t\t// if (this.receiveType === 0) {\r\n\t\t\t\t\t\t\t\tuni.redirectTo({\r\n\t\t\t\t\t\t\t\t\turl: `/pagesA/pages/order-details/order-details?id=${res.data.orderId}&userType=0`\r\n\t\t\t\t\t\t\t\t})\r\n\t\t\t\t\t\t\t// } else {\r\n\t\t\t\t\t\t\t// \tuni.reLaunch({\r\n\t\t\t\t\t\t\t// \t\turl: `/pages/payment-successful/payment-successful?id=${res.data.orderId}&userType=0`\r\n\t\t\t\t\t\t\t// \t})\r\n\t\t\t\t\t\t\t// }\r\n\t\t\t\t\t\t} else {\r\n\t\t\t\t\t\t\twx.requestPayment({\r\n\t\t\t\t\t\t\t\ttimeStamp: res.data.response.timeStamp,\r\n\t\t\t\t\t\t\t\tnonceStr: res.data.response.nonceStr,\r\n\t\t\t\t\t\t\t\tpackage: res.data.response.packageValue,\r\n\t\t\t\t\t\t\t\tsignType: res.data.response.signType,\r\n\t\t\t\t\t\t\t\tpaySign: res.data.response.paySign,\r\n\t\t\t\t\t\t\t\tsuccess (pay) {\r\n\t\t\t\t\t\t\t\t\tif (pay.errMsg === \"requestPayment:ok\") {\r\n\t\t\t\t\t\t\t\t\t\t// if (that.receiveType === 0) {\r\n\t\t\t\t\t\t\t\t\t\t\tuni.redirectTo({\r\n\t\t\t\t\t\t\t\t\t\t\t\turl: `/pagesA/pages/order-details/order-details?id=${res.data.orderId}&userType=0`\r\n\t\t\t\t\t\t\t\t\t\t\t})\r\n\t\t\t\t\t\t\t\t\t\t// } else {\r\n\t\t\t\t\t\t\t\t\t\t// \tuni.reLaunch({\r\n\t\t\t\t\t\t\t\t\t\t// \t\turl: `/pages/payment-successful/payment-successful?id=${res.data.orderId}&userType=0`\r\n\t\t\t\t\t\t\t\t\t\t// \t})\r\n\t\t\t\t\t\t\t\t\t\t// }\r\n\t\t\t\t\t\t\t\t\t} else {\r\n\t\t\t\t\t\t\t\t\t\tuni.showToast({ title: '订单取消支付', icon: 'none' })\r\n\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t})\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\t\t\t\t})\r\n\t\t\t},\r\n\t\t\t// ç¡®å®šä½¿ç”¨ç§¯åˆ†\r\n\t\t\tconfirmJF() {\r\n\t\t\t\tthis.useIntegral = this.useIntegralCopy\r\n\t\t\t\tthis.show1 = false\r\n\t\t\t\tthis.getOrderInfo()\r\n\t\t\t},\r\n\t\t\t// ç¡®å®šé€‰æ‹©ä¼˜æƒ åˆ¸\r\n\t\t\tconfirmCoupon() {\r\n\t\t\t\tlet arr = this.orderInfo.memberCouponList.filter(item => item.active)\r\n\t\t\t\tif (arr.length > 0) {\r\n\t\t\t\t\tthis.couponId = arr[0].id\r\n\t\t\t\t}\r\n\t\t\t\tthis.show = false\r\n\t\t\t\tthis.getOrderInfo()\r\n\t\t\t},\r\n\t\t\t// é€‰æ‹©ä¼˜æƒ åˆ¸\r\n\t\t\tselectCoupon(i) {\r\n\t\t\t\tthis.orderInfo.memberCouponList.forEach((item, index) => {\r\n\t\t\t\t\titem.active = index === i\r\n\t\t\t\t})\r\n\t\t\t},\r\n\t\t\t// èŽ·å–è®¢å•è¯¦ç»†ä¿¡æ¯\r\n\t\t\tgetOrderInfo() {\r\n\t\t\t\tthis.$u.api.orderPayConfirm({\r\n\t\t\t\t\taddressId: this.addr ? this.addr.id : null,\r\n\t\t\t\t\tcouponId: this.couponId,\r\n\t\t\t\t\tpayDetailRequestList: this.payDetailRequestList,\r\n\t\t\t\t\treceiveType: this.receiveType,\r\n\t\t\t\t\tuseIntegral: this.useIntegral\r\n\t\t\t\t}).then(res => {\r\n\t\t\t\t\tif (res.code === 200) {\r\n\t\t\t\t\t\tif (!res.data.memberCouponList) {\r\n\t\t\t\t\t\t\tres.data.memberCouponList = []\r\n\t\t\t\t\t\t} else {\r\n\t\t\t\t\t\t\tres.data.memberCouponList.forEach(item => {\r\n\t\t\t\t\t\t\t\titem.active = false\r\n\t\t\t\t\t\t\t})\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\tthis.orderInfo = res.data\r\n\t\t\t\t\t}\r\n\t\t\t\t})\r\n\t\t\t},\r\n\t\t\tchangeOrderType(type) {\r\n\t\t\t\tthis.receiveType = type\r\n\t\t\t\tthis.getOrderInfo()\r\n\t\t\t},\r\n\t\t\tjumpAddr() {\r\n\t\t\t\tuni.navigateTo({\r\n\t\t\t\t\turl: '/pages/address/address?type=1'\r\n\t\t\t\t})\r\n\t\t\t},\r\n\t\t\tgetDefaultAddr() {\r\n\t\t\t\tthis.$u.api.findDefault()\r\n\t\t\t\t\t.then(res => {\r\n\t\t\t\t\t\tif (res.code === 200) {\r\n\t\t\t\t\t\t\tthis.addr = res.data\r\n\t\t\t\t\t\t\tthis.getOrderInfo()\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t})\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n</script>\r\n<style>\r\n\tpage {\r\n\t\tbackground-color: #F8F9FB;\r\n\t}\r\n</style>\r\n<style lang=\"scss\" scoped>\r\n\t.box {\r\n\t\twidth: 100%;\r\n\t\t.coupon {\r\n\t\t\twidth: 100%;\r\n\t\t\tpadding: 0 30rpx;\r\n\t\t\tbox-sizing: border-box;\r\n\t\t\tscroll-view {\r\n\t\t\t\twidth: 100%;\r\n\t\t\t\theight: 65vh;\r\n\t\t\t\t.wushuju {\r\n\t\t\t\t\twidth: 100%;\r\n\t\t\t\t\theight: 100%;\r\n\t\t\t\t\tdisplay: flex;\r\n\t\t\t\t\tflex-direction: column;\r\n\t\t\t\t\talign-items: center;\r\n\t\t\t\t\tjustify-content: center;\r\n\t\t\t\t\timage {\r\n\t\t\t\t\t\twidth: 140rpx;\r\n\t\t\t\t\t\theight: 140rpx;\r\n\t\t\t\t\t}\r\n\t\t\t\t\t.wushuju-a {\r\n\t\t\t\t\t\tfont-weight: 600;\r\n\t\t\t\t\t\tfont-size: 30rpx;\r\n\t\t\t\t\t\tcolor: #111111;\r\n\t\t\t\t\t\tmargin-top: 20rpx;\r\n\t\t\t\t\t}\r\n\t\t\t\t\t.wushuju-b {\r\n\t\t\t\t\t\tfont-weight: 400;\r\n\t\t\t\t\t\tfont-size: 26rpx;\r\n\t\t\t\t\t\tcolor: #999999;\r\n\t\t\t\t\t\tmargin-top: 20rpx;\r\n\t\t\t\t\t}\r\n\t\t\t\t\t.wushuju-c {\r\n\t\t\t\t\t\twidth: 168rpx;\r\n\t\t\t\t\t\theight: 72rpx;\r\n\t\t\t\t\t\tline-height: 72rpx;\r\n\t\t\t\t\t\tfont-weight: 500;\r\n\t\t\t\t\t\tfont-size: 26rpx;\r\n\t\t\t\t\t\tcolor: #FFFFFF;\r\n\t\t\t\t\t\ttext-align: center;\r\n\t\t\t\t\t\tbackground: #004096;\r\n\t\t\t\t\t\tborder-radius: 44rpx;\r\n\t\t\t\t\t\tmargin-top: 40rpx;\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t\t.active {\r\n\t\t\t\t\tborder: 2rpx solid #004096 !important;\r\n\t\t\t\t\tbackground: #E8F2FF !important;\r\n\t\t\t\t}\r\n\t\t\t\t.dian {\r\n\t\t\t\t\twidth: 100%;\r\n\t\t\t\t\tpadding: 30rpx;\r\n\t\t\t\t\tbox-sizing: border-box;\r\n\t\t\t\t\tborder-radius: 6rpx;\r\n\t\t\t\t\tborder: 1rpx solid #CCCCCC;\r\n\t\t\t\t\tdisplay: flex;\r\n\t\t\t\t\tflex-direction: column;\r\n\t\t\t\t\tmargin-bottom: 30rpx;\r\n\t\t\t\t\t&:last-child {\r\n\t\t\t\t\t\tmargin: 0 !important;\r\n\t\t\t\t\t}\r\n\t\t\t\t\t.dian-top {\r\n\t\t\t\t\t\twidth: 100%;\r\n\t\t\t\t\t\tdisplay: flex;\r\n\t\t\t\t\t\talign-items: center;\r\n\t\t\t\t\t\t.dian-top-image {\r\n\t\t\t\t\t\t\tflex-shrink: 0;\r\n\t\t\t\t\t\t\twidth: 144rpx;\r\n\t\t\t\t\t\t\theight: 144rpx;\r\n\t\t\t\t\t\t\tborder-radius: 8rpx;\r\n\t\t\t\t\t\t\tmargin-right: 24rpx;\r\n\t\t\t\t\t\t\timage {\r\n\t\t\t\t\t\t\t\twidth: 100%;\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\t.dian-top-info {\r\n\t\t\t\t\t\t\tflex: 1;\r\n\t\t\t\t\t\t\tdisplay: flex;\r\n\t\t\t\t\t\t\tflex-direction: column;\r\n\t\t\t\t\t\t\t.dian-top-info-title {\r\n\t\t\t\t\t\t\t\twidth: 100%;\r\n\t\t\t\t\t\t\t\tdisplay: flex;\r\n\t\t\t\t\t\t\t\talign-items: center;\r\n\t\t\t\t\t\t\t\tjustify-content: space-between;\r\n\t\t\t\t\t\t\t\ttext {\r\n\t\t\t\t\t\t\t\t\t&:nth-child(1) {\r\n\t\t\t\t\t\t\t\t\t\tfont-weight: 500;\r\n\t\t\t\t\t\t\t\t\t\tfont-size: 32rpx;\r\n\t\t\t\t\t\t\t\t\t\tcolor: #111111;\r\n\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t\t&:nth-child(2) {\r\n\t\t\t\t\t\t\t\t\t\tfont-weight: 400;\r\n\t\t\t\t\t\t\t\t\t\tfont-size: 24rpx;\r\n\t\t\t\t\t\t\t\t\t\tcolor: #999999;\r\n\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t.dian-top-info-val {\r\n\t\t\t\t\t\t\t\twidth: 100%;\r\n\t\t\t\t\t\t\t\tmargin-top: 20rpx;\r\n\t\t\t\t\t\t\t\tfont-weight: 400;\r\n\t\t\t\t\t\t\t\tfont-size: 26rpx;\r\n\t\t\t\t\t\t\t\tcolor: #777777;\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\t\t\t\t\t.dian-bottom {\r\n\t\t\t\t\t\twidth: 100%;\r\n\t\t\t\t\t\tmargin-top: 30rpx;\r\n\t\t\t\t\t\tdisplay: flex;\r\n\t\t\t\t\t\talign-items: center;\r\n\t\t\t\t\t\tjustify-content: space-between;\r\n\t\t\t\t\t\ttext {\r\n\t\t\t\t\t\t\tfont-weight: 400;\r\n\t\t\t\t\t\t\tfont-size: 24rpx;\r\n\t\t\t\t\t\t\tcolor: #777777;\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\t.dian-bottom-icon {\r\n\t\t\t\t\t\t\tdisplay: flex;\r\n\t\t\t\t\t\t\talign-items: center;\r\n\t\t\t\t\t\t\timage {\r\n\t\t\t\t\t\t\t\twidth: 56rpx;\r\n\t\t\t\t\t\t\t\theight: 56rpx;\r\n\t\t\t\t\t\t\t\tmargin-left: 30rpx;\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t\t.coupon-search {\r\n\t\t\t\twidth: 100%;\r\n\t\t\t\theight: 72rpx;\r\n\t\t\t\tdisplay: flex;\r\n\t\t\t\talign-items: center;\r\n\t\t\t\tjustify-content: center;\r\n\t\t\t\tmargin-bottom: 30rpx;\r\n\t\t\t\t.coupon-search-city {\r\n\t\t\t\t\tflex-shrink: 0;\r\n\t\t\t\t\twidth: 180rpx;\r\n\t\t\t\t\theight: 72rpx;\r\n\t\t\t\t\tdisplay: flex;\r\n\t\t\t\t\talign-items: center;\r\n\t\t\t\t\tjustify-content: center;\r\n\t\t\t\t\tbackground: #F9F9FB;\r\n\t\t\t\t\tborder-radius: 36rpx;\r\n\t\t\t\t\tborder: 1rpx solid #EEEEEE;\r\n\t\t\t\t\ttext {\r\n\t\t\t\t\t\tfont-weight: 400;\r\n\t\t\t\t\t\tfont-size: 28rpx;\r\n\t\t\t\t\t\tcolor: #222222;\r\n\t\t\t\t\t\tmargin-right: 4rpx;\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t\t.coupon-search-input {\r\n\t\t\t\t\tflex: 1;\r\n\t\t\t\t\theight: 100%;\r\n\t\t\t\t\tmargin-left: 30rpx;\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t\t.coupon-phone {\r\n\t\t\t\twidth: 100%;\r\n\t\t\t\theight: 152rpx;\r\n\t\t\t\tline-height: 152rpx;\r\n\t\t\t\ttext-align: center;\r\n\t\t\t\tfont-weight: 400;\r\n\t\t\t\tfont-size: 32rpx;\r\n\t\t\t\tcolor: #004096;\r\n\t\t\t}\r\n\t\t\t.coupon-title {\r\n\t\t\t\twidth: 100%;\r\n\t\t\t\theight: 100rpx;\r\n\t\t\t\tline-height: 100rpx;\r\n\t\t\t\ttext-align: center;\r\n\t\t\t\tfont-weight: 500;\r\n\t\t\t\tfont-size: 32rpx;\r\n\t\t\t\tcolor: #111111;\r\n\t\t\t}\r\n\t\t\t.coupon-btn {\r\n\t\t\t\twidth: 100%;\r\n\t\t\t\theight: 88rpx;\r\n\t\t\t\tline-height: 88rpx;\r\n\t\t\t\ttext-align: center;\r\n\t\t\t\tbackground: #004096;\r\n\t\t\t\tborder-radius: 44rpx;\r\n\t\t\t\tfont-weight: 500;\r\n\t\t\t\tfont-size: 32rpx;\r\n\t\t\t\tcolor: #FFFFFF;\r\n\t\t\t\tmargin-top: 60rpx;\r\n\t\t\t}\r\n\t\t\t.coupon-content {\r\n\t\t\t\twidth: 100%;\r\n\t\t\t\t.coupon-content-a {\r\n\t\t\t\t\twidth: 100%;\r\n\t\t\t\t\tmargin-top: 40rpx;\r\n\t\t\t\t\ttext {\r\n\t\t\t\t\t\t&:nth-child(1) {\r\n\t\t\t\t\t\t\tfont-weight: 600;\r\n\t\t\t\t\t\t\tfont-size: 28rpx;\r\n\t\t\t\t\t\t\tcolor: #222222;\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\t&:nth-child(2) {\r\n\t\t\t\t\t\t\tfont-weight: 600;\r\n\t\t\t\t\t\t\tfont-size: 28rpx;\r\n\t\t\t\t\t\t\tcolor: #E4001D;\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t\t.coupon-content-b {\r\n\t\t\t\t\twidth: 100%;\r\n\t\t\t\t\tdisplay: flex;\r\n\t\t\t\t\talign-items: center;\r\n\t\t\t\t\tjustify-content: space-between;\r\n\t\t\t\t\tmargin-top: 40rpx;\r\n\t\t\t\t\ttext {\r\n\t\t\t\t\t\tfont-weight: 400;\r\n\t\t\t\t\t\tfont-size: 28rpx;\r\n\t\t\t\t\t\tcolor: #333333;\r\n\t\t\t\t\t}\r\n\t\t\t\t\timage {\r\n\t\t\t\t\t\twidth: 40rpx;\r\n\t\t\t\t\t\theight: 40rpx;\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t\t.coupon-list {\r\n\t\t\t\twidth: 100%;\r\n\t\t\t\tmax-height: 600rpx;\r\n\t\t\t\tdisplay: flex;\r\n\t\t\t\tflex-direction: column;\r\n\t\t\t\t.disable {\r\n\t\t\t\t\tbackground: #EFEFEF !important;\r\n\t\t\t\t\t.jiage {\r\n\t\t\t\t\t\ttext {\r\n\t\t\t\t\t\t\tcolor: #999999 !important;\r\n\t\t\t\t\t\t\t&::before {\r\n\t\t\t\t\t\t\t\tcolor: #999999 !important;\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\t\t\t\t\t.juaninfo {\r\n\t\t\t\t\t\t.juaninfo-info {\r\n\t\t\t\t\t\t\ttext {\r\n\t\t\t\t\t\t\t\tcolor: #999999 !important;\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t\t.coupon-list-item {\r\n\t\t\t\t\twidth: 100%;\r\n\t\t\t\t\theight: 170rpx;\r\n\t\t\t\t\tbackground: #FFEFEF;\r\n\t\t\t\t\tborder-radius: 16rpx;\r\n\t\t\t\t\tdisplay: flex;\r\n\t\t\t\t\talign-items: center;\r\n\t\t\t\t\tmargin-bottom: 20rpx;\r\n\t\t\t\t\t&:last-child {\r\n\t\t\t\t\t\tmargin: 0 !important;\r\n\t\t\t\t\t}\r\n\t\t\t\t\t.jiage {\r\n\t\t\t\t\t\tflex-shrink: 0;\r\n\t\t\t\t\t\twidth: 208rpx;\r\n\t\t\t\t\t\theight: 100%;\r\n\t\t\t\t\t\tdisplay: flex;\r\n\t\t\t\t\t\tflex-direction: column;\r\n\t\t\t\t\t\talign-items: center;\r\n\t\t\t\t\t\tjustify-content: center;\r\n\t\t\t\t\t\tborder-right: 1rpx dashed #E3C1C1;\r\n\t\t\t\t\t\ttext {\r\n\t\t\t\t\t\t\t&:nth-child(1) {\r\n\t\t\t\t\t\t\t\tfont-weight: 600;\r\n\t\t\t\t\t\t\t\tfont-size: 44rpx;\r\n\t\t\t\t\t\t\t\tcolor: #E4001D;\r\n\t\t\t\t\t\t\t\t&::before {\r\n\t\t\t\t\t\t\t\t\tcontent: 'ï¿¥';\r\n\t\t\t\t\t\t\t\t\tfont-weight: 600;\r\n\t\t\t\t\t\t\t\t\tfont-size: 24rpx;\r\n\t\t\t\t\t\t\t\t\tcolor: #E4001D;\r\n\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t&:nth-child(2) {\r\n\t\t\t\t\t\t\t\tfont-weight: 400;\r\n\t\t\t\t\t\t\t\tfont-size: 24rpx;\r\n\t\t\t\t\t\t\t\tcolor: #E93047;\r\n\t\t\t\t\t\t\t\tmargin-top: 8rpx;\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\t\t\t\t\t.jiage1 {\r\n\t\t\t\t\t\tflex-shrink: 0;\r\n\t\t\t\t\t\twidth: 208rpx;\r\n\t\t\t\t\t\theight: 100%;\r\n\t\t\t\t\t\tdisplay: flex;\r\n\t\t\t\t\t\tflex-direction: column;\r\n\t\t\t\t\t\talign-items: center;\r\n\t\t\t\t\t\tjustify-content: center;\r\n\t\t\t\t\t\tborder-right: 1rpx dashed #E3C1C1;\r\n\t\t\t\t\t\ttext {\r\n\t\t\t\t\t\t\t&:nth-child(1) {\r\n\t\t\t\t\t\t\t\tfont-weight: 600;\r\n\t\t\t\t\t\t\t\tfont-size: 44rpx;\r\n\t\t\t\t\t\t\t\tcolor: #E4001D;\r\n\t\t\t\t\t\t\t\t&::after {\r\n\t\t\t\t\t\t\t\t\tcontent: '折';\r\n\t\t\t\t\t\t\t\t\tfont-weight: 600;\r\n\t\t\t\t\t\t\t\t\tfont-size: 24rpx;\r\n\t\t\t\t\t\t\t\t\tcolor: #E4001D;\r\n\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t&:nth-child(2) {\r\n\t\t\t\t\t\t\t\tfont-weight: 400;\r\n\t\t\t\t\t\t\t\tfont-size: 24rpx;\r\n\t\t\t\t\t\t\t\tcolor: #E93047;\r\n\t\t\t\t\t\t\t\tmargin-top: 8rpx;\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\t\t\t\t\t.juaninfo {\r\n\t\t\t\t\t\tflex: 1;\r\n\t\t\t\t\t\theight: 100%;\r\n\t\t\t\t\t\tpadding: 0 30rpx;\r\n\t\t\t\t\t\tbox-sizing: border-box;\r\n\t\t\t\t\t\tdisplay: flex;\r\n\t\t\t\t\t\talign-items: center;\r\n\t\t\t\t\t\timage {\r\n\t\t\t\t\t\t\tflex-shrink: 0;\r\n\t\t\t\t\t\t\twidth: 40rpx;\r\n\t\t\t\t\t\t\theight: 40rpx;\r\n\t\t\t\t\t\t\tmargin-left: 30rpx;\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\t.juaninfo-info {\r\n\t\t\t\t\t\t\tflex: 1;\r\n\t\t\t\t\t\t\theight: 100%;\r\n\t\t\t\t\t\t\tdisplay: flex;\r\n\t\t\t\t\t\t\tjustify-content: center;\r\n\t\t\t\t\t\t\tflex-direction: column;\r\n\t\t\t\t\t\t\ttext {\r\n\t\t\t\t\t\t\t\t&:nth-child(1) {\r\n\t\t\t\t\t\t\t\t\tfont-weight: 500;\r\n\t\t\t\t\t\t\t\t\tfont-size: 32rpx;\r\n\t\t\t\t\t\t\t\t\tcolor: #222222;\r\n\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t&:nth-child(2) {\r\n\t\t\t\t\t\t\t\t\tfont-weight: 400;\r\n\t\t\t\t\t\t\t\t\tfont-size: 24rpx;\r\n\t\t\t\t\t\t\t\t\tcolor: #777777;\r\n\t\t\t\t\t\t\t\t\tmargin-top: 12rpx;\r\n\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}\r\n\t\t.footer {\r\n\t\t\twidth: 100%;\r\n\t\t\tposition: fixed;\r\n\t\t\tbottom: 0;\r\n\t\t\tleft: 0;\r\n\t\t\tpadding: 0 30rpx;\r\n\t\t\tbox-sizing: border-box;\r\n\t\t\tbox-shadow: 0rpx -2rpx 4rpx 0rpx rgba(0,0,0,0.06);\r\n\t\t\tbackground-color: #ffffff;\r\n\t\t\theight: calc(env(safe-area-inset-bottom) + 108rpx);\r\n\t\t\t.edit {\r\n\t\t\t\twidth: 100%;\r\n\t\t\t\theight: 108rpx;\r\n\t\t\t\tdisplay: flex;\r\n\t\t\t\talign-items: center;\r\n\t\t\t\t.edit-btn {\r\n\t\t\t\t\twidth: 100%;\r\n\t\t\t\t\theight: 88rpx;\r\n\t\t\t\t\tline-height: 88rpx;\r\n\t\t\t\t\ttext-align: center;\r\n\t\t\t\t\tbackground: #004096;\r\n\t\t\t\t\tborder-radius: 44rpx;\r\n\t\t\t\t\tfont-weight: 500;\r\n\t\t\t\t\tfont-size: 32rpx;\r\n\t\t\t\t\tcolor: #FFFFFF;\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}\r\n\t\t.play {\r\n\t\t\twidth: 100%;\r\n\t\t\theight: 108rpx;\r\n\t\t\tbackground: #FFFFFF;\r\n\t\t\tpadding: 0 26rpx;\r\n\t\t\tbox-sizing: border-box;\r\n\t\t\tdisplay: flex;\r\n\t\t\talign-items: center;\r\n\t\t\tjustify-content: space-between;\r\n\t\t\tmargin-top: 20rpx;\r\n\t\t\timage {\r\n\t\t\t\twidth: 40rpx;\r\n\t\t\t\theight: 40rpx;\r\n\t\t\t}\r\n\t\t\t.play-info {\r\n\t\t\t\tdisplay: flex;\r\n\t\t\t\talign-items: center;\r\n\t\t\t\timage {\r\n\t\t\t\t\twidth: 48rpx;\r\n\t\t\t\t\theight: 48rpx;\r\n\t\t\t\t\tmargin-right: 16rpx;\r\n\t\t\t\t}\r\n\t\t\t\ttext {\r\n\t\t\t\t\tfont-weight: 400;\r\n\t\t\t\t\tfont-size: 30rpx;\r\n\t\t\t\t\tcolor: #111111;\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}\r\n\t\t.remark {\r\n\t\t\twidth: 100%;\r\n\t\t\theight: 100rpx;\r\n\t\t\tdisplay: flex;\r\n\t\t\talign-items: center;\r\n\t\t\tbackground: #FFFFFF;\r\n\t\t\tmargin-top: 20rpx;\r\n\t\t\tpadding: 0 26rpx;\r\n\t\t\tbox-sizing: border-box;\r\n\t\t\t.remark-label {\r\n\t\t\t\tfont-weight: 400;\r\n\t\t\t\tfont-size: 28rpx;\r\n\t\t\t\tcolor: #333333;\r\n\t\t\t\tflex-shrink: 0;\r\n\t\t\t\tmargin-right: 60rpx;\r\n\t\t\t}\r\n\t\t\tinput {\r\n\t\t\t\tflex: 1;\r\n\t\t\t\theight: 100%;\r\n\t\t\t\tfont-weight: 400;\r\n\t\t\t\tfont-size: 28rpx;\r\n\t\t\t\tcolor: #111111;\r\n\t\t\t\ttext-align: right;\r\n\t\t\t}\r\n\t\t}\r\n\t\t.box-shop {\r\n\t\t\twidth: 100%;\r\n\t\t\tpadding: 30rpx;\r\n\t\t\tbox-sizing: border-box;\r\n\t\t\tmargin-top: 20rpx;\r\n\t\t\tbackground-color: #ffffff;\r\n\t\t\t.xian {\r\n\t\t\t\twidth: 100%;\r\n\t\t\t\theight: 1rpx;\r\n\t\t\t\tbackground-color: #ECF0F4;\r\n\t\t\t\tmargin-top: 30rpx;\r\n\t\t\t}\r\n\t\t\t.info {\r\n\t\t\t\twidth: 100%;\r\n\t\t\t\tdisplay: flex;\r\n\t\t\t\tflex-direction: column;\r\n\t\t\t\t.info-item {\r\n\t\t\t\t\twidth: 100%;\r\n\t\t\t\t\tdisplay: flex;\r\n\t\t\t\t\talign-items: center;\r\n\t\t\t\t\tjustify-content: space-between;\r\n\t\t\t\t\tmargin-top: 30rpx;\r\n\t\t\t\t\t.info-item-label {\r\n\t\t\t\t\t\tfont-weight: 400;\r\n\t\t\t\t\t\tfont-size: 28rpx;\r\n\t\t\t\t\t\tcolor: #333333;\r\n\t\t\t\t\t}\r\n\t\t\t\t\t.info-item-price1 {\r\n\t\t\t\t\t\tfont-weight: 500;\r\n\t\t\t\t\t\tfont-size: 28rpx;\r\n\t\t\t\t\t\tcolor: #E4001D;\r\n\t\t\t\t\t\tdisplay: flex;\r\n\t\t\t\t\t\talign-items: center;\r\n\t\t\t\t\t\timage {\r\n\t\t\t\t\t\t\twidth: 8rpx;\r\n\t\t\t\t\t\t\theight: 16rpx;\r\n\t\t\t\t\t\t\tmargin-left: 10rpx;\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\t\t\t\t\t.info-item-price2 {\r\n\t\t\t\t\t\tdisplay: flex;\r\n\t\t\t\t\t\talign-items: baseline;\r\n\t\t\t\t\t\ttext {\r\n\t\t\t\t\t\t\t&:nth-child(1) {\r\n\t\t\t\t\t\t\t\tfont-weight: 600;\r\n\t\t\t\t\t\t\t\tfont-size: 36rpx;\r\n\t\t\t\t\t\t\t\tcolor: #222222;\r\n\t\t\t\t\t\t\t\t&::before {\r\n\t\t\t\t\t\t\t\t\tcontent: 'ï¿¥';\r\n\t\t\t\t\t\t\t\t\tfont-weight: 600;\r\n\t\t\t\t\t\t\t\t\tfont-size: 28rpx;\r\n\t\t\t\t\t\t\t\t\tcolor: #222222;\r\n\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t&:nth-child(2) {\r\n\t\t\t\t\t\t\t\tfont-weight: 600;\r\n\t\t\t\t\t\t\t\tfont-size: 28rpx;\r\n\t\t\t\t\t\t\t\tcolor: #222222;\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\t\t\t\t\t.info-item-price {\r\n\t\t\t\t\t\tdisplay: flex;\r\n\t\t\t\t\t\talign-items: baseline;\r\n\t\t\t\t\t\ttext {\r\n\t\t\t\t\t\t\t&:nth-child(1) {\r\n\t\t\t\t\t\t\t\tfont-weight: 500;\r\n\t\t\t\t\t\t\t\tfont-size: 32rpx;\r\n\t\t\t\t\t\t\t\tcolor: #222222;\r\n\t\t\t\t\t\t\t\t&::before {\r\n\t\t\t\t\t\t\t\t\tcontent: 'ï¿¥';\r\n\t\t\t\t\t\t\t\t\tfont-weight: 500;\r\n\t\t\t\t\t\t\t\t\tfont-size: 28rpx;\r\n\t\t\t\t\t\t\t\t\tcolor: #222222;\r\n\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t&:nth-child(2) {\r\n\t\t\t\t\t\t\t\tfont-weight: 500;\r\n\t\t\t\t\t\t\t\tfont-size: 28rpx;\r\n\t\t\t\t\t\t\t\tcolor: #222222;\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t\t.item {\r\n\t\t\t\twidth: 100%;\r\n\t\t\t\theight: 144rpx;\r\n\t\t\t\tdisplay: flex;\r\n\t\t\t\talign-items: center;\r\n\t\t\t\t.item-image {\r\n\t\t\t\t\tflex-shrink: 0;\r\n\t\t\t\t\twidth: 144rpx;\r\n\t\t\t\t\theight: 144rpx;\r\n\t\t\t\t\tbackground: #FFFFFF;\r\n\t\t\t\t\tborder-radius: 8rpx;\r\n\t\t\t\t\tborder: 1rpx solid #EEEEEE;\r\n\t\t\t\t\tmargin-right: 30rpx;\r\n\t\t\t\t\timage {\r\n\t\t\t\t\t\twidth: 100%;\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t\t.item-info {\r\n\t\t\t\t\tflex: 1;\r\n\t\t\t\t\theight: 144rpx;\r\n\t\t\t\t\tdisplay: flex;\r\n\t\t\t\t\tflex-direction: column;\r\n\t\t\t\t\tjustify-content: space-between;\r\n\t\t\t\t\t.item-info-title {\r\n\t\t\t\t\t\tfont-weight: 400;\r\n\t\t\t\t\t\tfont-size: 30rpx;\r\n\t\t\t\t\t\tcolor: #222222;\r\n\t\t\t\t\t}\r\n\t\t\t\t\t.item-info-bottom {\r\n\t\t\t\t\t\tdisplay: flex;\r\n\t\t\t\t\t\talign-items: center;\r\n\t\t\t\t\t\tjustify-content: space-between;\r\n\t\t\t\t\t\t.price {\r\n\t\t\t\t\t\t\tfont-weight: 600;\r\n\t\t\t\t\t\t\tfont-size: 30rpx;\r\n\t\t\t\t\t\t\tcolor: #222222;\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\t.num {\r\n\t\t\t\t\t\t\tdisplay: flex;\r\n\t\t\t\t\t\t\talign-items: center;\r\n\t\t\t\t\t\t\t.num-total {\r\n\t\t\t\t\t\t\t\tmargin: 0 32rpx;\r\n\t\t\t\t\t\t\t\tfont-weight: 400;\r\n\t\t\t\t\t\t\t\tfont-size: 28rpx;\r\n\t\t\t\t\t\t\t\tcolor: #222222;\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t.num-add {\r\n\t\t\t\t\t\t\t\twidth: 44rpx;\r\n\t\t\t\t\t\t\t\theight: 44rpx;\r\n\t\t\t\t\t\t\t\tline-height: 44rpx;\r\n\t\t\t\t\t\t\t\ttext-align: center;\r\n\t\t\t\t\t\t\t\tbackground: #FFFFFF;\r\n\t\t\t\t\t\t\t\tborder-radius: 22rpx;\r\n\t\t\t\t\t\t\t\tborder: 1rpx solid #CCCCCC;\r\n\t\t\t\t\t\t\t\tfont-size: 40rpx;\r\n\t\t\t\t\t\t\t\tcolor: #979797;\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}\r\n\t\t.box-addr {\r\n\t\t\twidth: 100%;\r\n\t\t\tpadding: 20rpx 0;\r\n\t\t\tbox-sizing: border-box;\r\n\t\t\t.box-addr-list {\r\n\t\t\t\twidth: 100%;\r\n\t\t\t\theight: 88rpx;\r\n\t\t\t\tbackground: #F8F9FB;\r\n\t\t\t\tdisplay: flex;\r\n\t\t\t\talign-items: center;\r\n\t\t\t\t.active {\r\n\t\t\t\t\tbackground-color: #ffffff !important;\r\n\t\t\t\t}\r\n\t\t\t\t.box-addr-list-row {\r\n\t\t\t\t\tflex: 1;\r\n\t\t\t\t\theight: 100%;\r\n\t\t\t\t\tdisplay: flex;\r\n\t\t\t\t\talign-items: center;\r\n\t\t\t\t\tjustify-content: center;\r\n\t\t\t\t\tborder-radius: 20rpx 20rpx 0rpx 0rpx;\r\n\t\t\t\t\timage {\r\n\t\t\t\t\t\twidth: 30rpx;\r\n\t\t\t\t\t\theight: 30rpx;\r\n\t\t\t\t\t\tmargin-right: 10rpx;\r\n\t\t\t\t\t}\r\n\t\t\t\t\ttext {\r\n\t\t\t\t\t\tfont-weight: 500;\r\n\t\t\t\t\t\tfont-size: 30rpx;\r\n\t\t\t\t\t\tcolor: #222222;\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t\t.box-addr-time {\r\n\t\t\t\twidth: 100%;\r\n\t\t\t\tdisplay: flex;\r\n\t\t\t\talign-items: center;\r\n\t\t\t\tpadding: 0 20rpx;\r\n\t\t\t\tbox-sizing: border-box;\r\n\t\t\t\tbackground-color: #ffffff;\r\n\t\t\t\ttext {\r\n\t\t\t\t\t&:nth-child(1) {\r\n\t\t\t\t\t\tfont-weight: 400;\r\n\t\t\t\t\t\tfont-size: 26rpx;\r\n\t\t\t\t\t\tcolor: #666666;\r\n\t\t\t\t\t}\r\n\t\t\t\t\t&:nth-child(2) {\r\n\t\t\t\t\t\tfont-weight: 400;\r\n\t\t\t\t\t\tfont-size: 26rpx;\r\n\t\t\t\t\t\tcolor: #333333;\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t\t.box-addr-dz {\r\n\t\t\t\twidth: 100%;\r\n\t\t\t\theight: 80rpx;\r\n\t\t\t\tdisplay: flex;\r\n\t\t\t\talign-items: center;\r\n\t\t\t\tjustify-content: space-between;\r\n\t\t\t\tpadding: 0 20rpx;\r\n\t\t\t\tbox-sizing: border-box;\r\n\t\t\t\tbackground-color: #ffffff;\r\n\t\t\t\t.box-addr-dz-left {\r\n\t\t\t\t\tdisplay: flex;\r\n\t\t\t\t\talign-items: center;\r\n\t\t\t\t\ttext {\r\n\t\t\t\t\t\t&:nth-child(1) {\r\n\t\t\t\t\t\t\tfont-weight: 400;\r\n\t\t\t\t\t\t\tfont-size: 26rpx;\r\n\t\t\t\t\t\t\tcolor: #666666;\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\t&:nth-child(2) {\r\n\t\t\t\t\t\t\tfont-weight: 400;\r\n\t\t\t\t\t\t\tfont-size: 26rpx;\r\n\t\t\t\t\t\t\tcolor: #004096;\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t\t.box-addr-dz-r {\r\n\t\t\t\t\tdisplay: flex;\r\n\t\t\t\t\talign-items: center;\r\n\t\t\t\t\timage {\r\n\t\t\t\t\t\twidth: 48rpx;\r\n\t\t\t\t\t\theight: 48rpx;\r\n\t\t\t\t\t\tmargin-right: 12rpx;\r\n\t\t\t\t\t}\r\n\t\t\t\t\ttext {\r\n\t\t\t\t\t\tfont-weight: 400;\r\n\t\t\t\t\t\tfont-size: 24rpx;\r\n\t\t\t\t\t\tcolor: #222222;\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t\t.box-addr-val {\r\n\t\t\t\twidth: 100%;\r\n\t\t\t\tpadding: 30rpx;\r\n\t\t\t\tdisplay: flex;\r\n\t\t\t\talign-items: flex-start;\r\n\t\t\t\tjustify-content: space-between;\r\n\t\t\t\tbox-sizing: border-box;\r\n\t\t\t\tbackground-color: #ffffff;\r\n\t\t\t\t.icon1 {\r\n\t\t\t\t\tflex-shrink: 0;\r\n\t\t\t\t\twidth: 48rpx;\r\n\t\t\t\t\theight: 48rpx;\r\n\t\t\t\t\tmargin-right: 22rpx;\r\n\t\t\t\t}\r\n\t\t\t\t.info {\r\n\t\t\t\t\tflex: 1;\r\n\t\t\t\t\tmin-height: 48rpx;\r\n\t\t\t\t\tdisplay: flex;\r\n\t\t\t\t\tflex-direction: column;\r\n\t\t\t\t\t.info-top {\r\n\t\t\t\t\t\tdisplay: flex;\r\n\t\t\t\t\t\talign-items: center;\r\n\t\t\t\t\t\ttext {\r\n\t\t\t\t\t\t\t&:nth-child(1) {\r\n\t\t\t\t\t\t\t\tfont-weight: 500;\r\n\t\t\t\t\t\t\t\tfont-size: 30rpx;\r\n\t\t\t\t\t\t\t\tcolor: #222222;\r\n\t\t\t\t\t\t\t\tmargin-right: 14rpx;\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t&:nth-child(2) {\r\n\t\t\t\t\t\t\t\tfont-weight: 400;\r\n\t\t\t\t\t\t\t\tfont-size: 26rpx;\r\n\t\t\t\t\t\t\t\tcolor: #666666;\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\t\t\t\t\t.info-bottom {\r\n\t\t\t\t\t\tfont-weight: 400;\r\n\t\t\t\t\t\tfont-size: 26rpx;\r\n\t\t\t\t\t\tcolor: #333333;\r\n\t\t\t\t\t\tmargin-top: 14rpx;\r\n\t\t\t\t\t}\r\n\t\t\t\t\t.info-wu {\r\n\t\t\t\t\t\tflex: 1;\r\n\t\t\t\t\t\theight: 100%;\r\n\t\t\t\t\t\tdisplay: flex;\r\n\t\t\t\t\t\talign-items: center;\r\n\t\t\t\t\t\tjustify-content: space-between;\r\n\t\t\t\t\t\ttext {\r\n\t\t\t\t\t\t\tfont-weight: 400;\r\n\t\t\t\t\t\t\tfont-size: 30rpx;\r\n\t\t\t\t\t\t\tcolor: #333333;\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\timage {\r\n\t\t\t\t\t\t\twidth: 16rpx;\r\n\t\t\t\t\t\t\tmargin: 0 !important;\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t\t.icon2 {\r\n\t\t\t\t\tflex-shrink: 0;\r\n\t\t\t\t\twidth: 12rpx;\r\n\t\t\t\t\theight: 24rpx;\r\n\t\t\t\t\tmargin-left: 40rpx;\r\n\t\t\t\t\tmargin-top: 55rpx;\r\n\t\t\t\t}\r\n\t\t\t\t.info-wu {\r\n\t\t\t\t\tflex: 1;\r\n\t\t\t\t\theight: 48rpx;\r\n\t\t\t\t\tdisplay: flex;\r\n\t\t\t\t\talign-items: center;\r\n\t\t\t\t\tjustify-content: space-between;\r\n\t\t\t\t\ttext {\r\n\t\t\t\t\t\tfont-weight: 400;\r\n\t\t\t\t\t\tfont-size: 30rpx;\r\n\t\t\t\t\t\tcolor: #333333;\r\n\t\t\t\t\t}\r\n\t\t\t\t\timage {\r\n\t\t\t\t\t\twidth: 16rpx;\r\n\t\t\t\t\t\tmargin: 0 !important;\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n</style>","import mod from \"-!../../../../../../../soft/HBuilderX/plugins/uniapp-cli/node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../../../../../../soft/HBuilderX/plugins/uniapp-cli/node_modules/css-loader/dist/cjs.js??ref--6-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--6-oneOf-1-2!../../../../../../../soft/HBuilderX/plugins/uniapp-cli/node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-3!../../../../../../../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!./confirm-order.vue?vue&type=style&index=0&lang=css&\"; export default mod; export * from \"-!../../../../../../../soft/HBuilderX/plugins/uniapp-cli/node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../../../../../../soft/HBuilderX/plugins/uniapp-cli/node_modules/css-loader/dist/cjs.js??ref--6-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--6-oneOf-1-2!../../../../../../../soft/HBuilderX/plugins/uniapp-cli/node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-3!../../../../../../../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!./confirm-order.vue?vue&type=style&index=0&lang=css&\"","// extracted by mini-css-extract-plugin\n    if(module.hot) {\n      // 1772099318509\n      var cssReload = require(\"D:/soft/HBuilderX/plugins/uniapp-cli/node_modules/mini-css-extract-plugin/dist/hmr/hotModuleReplacement.js\")(module.id, {\"hmr\":true,\"publicPath\":\"/\",\"locals\":false});\n      module.hot.dispose(cssReload);\n      module.hot.accept(undefined, cssReload);\n    }\n  ","import mod from \"-!../../../../../../../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!./confirm-order.vue?vue&type=style&index=1&id=2f2cf9ec&lang=scss&scoped=true&\"; export default mod; export * from \"-!../../../../../../../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!./confirm-order.vue?vue&type=style&index=1&id=2f2cf9ec&lang=scss&scoped=true&\"","// extracted by mini-css-extract-plugin\n    if(module.hot) {\n      // 1772099318885\n      var cssReload = require(\"D:/soft/HBuilderX/plugins/uniapp-cli/node_modules/mini-css-extract-plugin/dist/hmr/hotModuleReplacement.js\")(module.id, {\"hmr\":true,\"publicPath\":\"/\",\"locals\":false});\n      module.hot.dispose(cssReload);\n      module.hot.accept(undefined, cssReload);\n    }\n  "],"sourceRoot":""}
>>>>>>> 0360073c44987036d9850c0a310567f662a16df2
mini-program/unpackage/dist/dev/.sourcemap/mp-weixin/pages/select-city/select-city.js.map
@@ -1 +1,5 @@
{"version":3,"sources":["uni-app:///main.js","webpack:///D:/豆米/dingyuannongji/mini-program/pages/select-city/select-city.vue?3918","webpack:///D:/豆米/dingyuannongji/mini-program/pages/select-city/select-city.vue?f524","webpack:///D:/豆米/dingyuannongji/mini-program/pages/select-city/select-city.vue?6d43","webpack:///D:/豆米/dingyuannongji/mini-program/pages/select-city/select-city.vue?b604","uni-app:///pages/select-city/select-city.vue","webpack:///D:/豆米/dingyuannongji/mini-program/pages/select-city/select-city.vue?5269"],"names":["wx","__webpack_require_UNI_MP_PLUGIN__","__webpack_require__","createPage","Page","renderjs","component","options","__file","components","uSearch","e","message","indexOf","console","error","render","_vm","this","_h","$createElement","_self","_c","recyclableRender","staticRenderFns","_withStripped","data","name","index","list","cityName","onLoad","methods","checkLocationAuth","uni","success","scope","fail","title","content","confirmText","goToAppSetting","that","positioning","type","highAccuracyExpireTime","isHighAccuracy","latitude","longitude","key","qqmapsdk","locParam","seleCity","delta","gundong","selector","duration","offsetTop","getCity","groupByFirstSpell","arr","map","children","result","letter"],"mappings":"wJAAA,MAGA,aACA,YAFAA,EAAGC,kCAAoCC,EAGvCC,EAAWC,a,gFCLX,oIACIC,EADJ,QASIC,EAAY,qBACd,aACA,YACA,sBACA,EACA,KACA,WACA,MACA,EACA,gBACAD,GAGFC,EAAUC,QAAQC,OAAS,oCACZ,aAAAF,E,0CCvBf,uQ,iCCAA,IAAIG,EAAJ,0LACA,IACEA,EAAa,CACXC,QAAS,WACP,OAAO,uHAKX,MAAOC,GACP,IAC+C,IAA7CA,EAAEC,QAAQC,QAAQ,wBACa,IAA/BF,EAAEC,QAAQC,QAAQ,QAWlB,MAAMF,EATNG,QAAQC,MAAMJ,EAAEC,SAChBE,QAAQC,MAAM,mBACdD,QAAQC,MACN,uFAEFD,QAAQC,MACN,mDAMN,IAAIC,EAAS,WACX,IAAIC,EAAMC,KACNC,EAAKF,EAAIG,eACJH,EAAII,MAAMC,IAEjBC,GAAmB,EACnBC,EAAkB,GACtBR,EAAOS,eAAgB,G,iCCjCvB,yHAAwxB,eAAG,G,spCC+B3xB,cACA,CACAC,gBACA,OACAC,QACAC,QACAC,QACAC,cAGAC,kBACA,eACA,0BAEAC,SACAC,6BAAA,WACAC,cACAC,oBACA,oCAoBA,gBAnBAD,aACAE,2BACAD,mBACA,iBAEAE,gBACAH,aACAI,WACAC,iCACAC,kBACAL,oBACA,WACA,6BAYAM,0BACA,WACAP,eACAC,oBACA,qCACAO,oBAMAC,uBACA,WACAT,eACAU,aACAC,2BACAC,kBACAX,oBACA,OAAAY,oBAAAC,uBACA,SACAC,4CAEAC,mBACAC,WACAhB,oBACArB,mCACA4B,kCAEAL,iBACAvB,4CAMAsC,qBACAlB,kBACAA,gBAAAmB,WAEAC,oBACA,aACApB,gBACAqB,wCACAC,aACAC,kBAGAC,mBAAA,WACA,6BACAd,OACAd,qBACA,kBACA,eACA,wCAIA6B,8BAEA,cAEAC,uBACA,mBACA,UACAC,YAEAA,oBAIA,IACA,EADA,SACAA,aAAA,+DAAAZ,OAAAa,OACAC,QACAC,SACAF,cAEA,8BAEA,YAGA,c,6DC3JA,yHAA29C,eAAG,G","file":"pages/select-city/select-city.js","sourcesContent":["import 'uni-pages';\n// @ts-ignore\nwx.__webpack_require_UNI_MP_PLUGIN__ = __webpack_require__;\nimport Vue from 'vue'\nimport Page from './pages/select-city/select-city.vue'\ncreatePage(Page)","import { render, staticRenderFns, recyclableRender, components } from \"./select-city.vue?vue&type=template&id=1eab16c0&scoped=true&\"\nvar renderjs\nimport script from \"./select-city.vue?vue&type=script&lang=js&\"\nexport * from \"./select-city.vue?vue&type=script&lang=js&\"\nimport style0 from \"./select-city.vue?vue&type=style&index=0&id=1eab16c0&lang=scss&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../办公/HBuilderX.3.8.12.20230817/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  \"1eab16c0\",\n  null,\n  false,\n  components,\n  renderjs\n)\n\ncomponent.options.__file = \"pages/select-city/select-city.vue\"\nexport default component.exports","export * from \"-!../../../../../办公/HBuilderX.3.8.12.20230817/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!../../../../../办公/HBuilderX.3.8.12.20230817/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-preprocess-loader/index.js??ref--17-0!../../../../../办公/HBuilderX.3.8.12.20230817/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/webpack-uni-mp-loader/lib/template.js!../../../../../办公/HBuilderX.3.8.12.20230817/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-uni-app-loader/page-meta.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!./select-city.vue?vue&type=template&id=1eab16c0&scoped=true&\"","var components\ntry {\n  components = {\n    uSearch: function () {\n      return import(\n        /* webpackChunkName: \"node-modules/uview-ui/components/u-search/u-search\" */ \"uview-ui/components/u-search/u-search.vue\"\n      )\n    },\n  }\n} catch (e) {\n  if (\n    e.message.indexOf(\"Cannot find module\") !== -1 &&\n    e.message.indexOf(\".vue\") !== -1\n  ) {\n    console.error(e.message)\n    console.error(\"1. æŽ’查组件名称拼写是否正确\")\n    console.error(\n      \"2. æŽ’查组件是否符合 easycom è§„范,文档:https://uniapp.dcloud.net.cn/collocation/pages?id=easycom\"\n    )\n    console.error(\n      \"3. è‹¥ç»„件不符合 easycom è§„范,需手动引入,并在 components ä¸­æ³¨å†Œè¯¥ç»„ä»¶\"\n    )\n  } else {\n    throw e\n  }\n}\nvar render = function () {\n  var _vm = this\n  var _h = _vm.$createElement\n  var _c = _vm._self._c || _h\n}\nvar recyclableRender = false\nvar staticRenderFns = []\nrender._withStripped = true\n\nexport { render, staticRenderFns, recyclableRender, components }","import mod from \"-!../../../../../办公/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!./select-city.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../../办公/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!./select-city.vue?vue&type=script&lang=js&\"","<template>\r\n\t<view class=\"box\">\r\n\t\t<view class=\"head\">\r\n\t\t\t<view class=\"box-search\">\r\n\t\t\t\t<u-search placeholder=\"输入城市名称或拼音\" height=\"30\" searchIconColor=\"#999999\" borderColor=\"#eeeeee\" bgColor=\"#F9F9FB\"\r\n\t\t\t\t\t:showAction=\"false\" v-model=\"name\" @search=\"getCity\" />\r\n\t\t\t</view>\r\n\t\t\t<view class=\"box-city\">\r\n\t\t\t\t<view class=\"box-city-left\">\r\n\t\t\t\t\t<image src=\"/static/icon/ic_city@2x.png\" mode=\"widthFix\"></image>\r\n\t\t\t\t\t<text>{{cityName}}</text>\r\n\t\t\t\t</view>\r\n\t\t\t\t<view class=\"box-city-right\" @click=\"checkLocationAuth\">重新定位</view>\r\n\t\t\t</view>\r\n\t\t</view>\r\n\t\t\r\n\t\t<view class=\"list\">\r\n\t\t\t<view class=\"list-item\" :id=\"'jiedan-' + item.letter\" v-for=\"(item, index) in list\" :key=\"index\">\r\n\t\t\t\t<view class=\"list-item-val\" style=\"color: #999;\">{{item.letter}}</view>\r\n\t\t\t\t<view class=\"list-item1\" v-for=\"(child, i) in item.children\" :key=\"i\" @click=\"seleCity(child.name)\">\r\n\t\t\t\t\t<view class=\"list-item-val1\">{{child.name}}</view>\r\n\t\t\t\t</view>\r\n\t\t\t</view>\r\n\t\t</view>\r\n\t\t<view class=\"tips\">\r\n\t\t\t<view :class=\"index === a ? 'tips-row active' : 'tips-row'\" v-for=\"(item, a) in list\" :key=\"a\" @click=\"gundong(a)\">{{item.letter}}</view>\r\n\t\t</view>\r\n\t</view>\r\n</template>\r\n\r\n<script>\r\n\tvar QQMapWX = require('@/utils/qqmap-wx-jssdk.js')\r\n\texport default {\r\n\t\tdata() {\r\n\t\t\treturn {\r\n\t\t\t\tname: '',\r\n\t\t\t\tindex: 0,\r\n\t\t\t\tlist: [],\r\n\t\t\t\tcityName: ''\r\n\t\t\t};\r\n\t\t},\r\n\t\tonLoad() {\r\n\t\t\tthis.getCity()\r\n\t\t\tthis.checkLocationAuth()\r\n\t\t},\r\n\t\tmethods: {\r\n\t\t\tcheckLocationAuth() {\r\n\t\t\t    uni.getSetting({\r\n\t\t\t        success: (res) => {\r\n\t\t\t            if (!res.authSetting['scope.userLocation']) {\r\n\t\t\t                uni.authorize({\r\n\t\t\t                    scope: 'scope.userLocation',\r\n\t\t\t                    success: () => {\r\n\t\t\t                        this.positioning()\r\n\t\t\t                    },\r\n\t\t\t                    fail: () => {\r\n\t\t\t                        uni.showModal({\r\n\t\t\t                            title: '提示',\r\n\t\t\t                            content: '需要获取您的位置信息,请在设置中开启位置权限',\r\n\t\t\t                            confirmText: '去设置',\r\n\t\t\t                            success: (res) => {\r\n\t\t\t                                if (res.confirm) {\r\n\t\t\t                                    this.goToAppSetting();\r\n\t\t\t                                }\r\n\t\t\t                            }\r\n\t\t\t                        });\r\n\t\t\t                    }\r\n\t\t\t                });\r\n\t\t\t            } else {\r\n\t\t\t                this.positioning()\r\n\t\t\t            }\r\n\t\t\t        }\r\n\t\t\t    });\r\n\t\t\t},\r\n\t\t\tgoToAppSetting() {\r\n\t\t\t\tvar that = this;\r\n\t\t\t    uni.openSetting({\r\n\t\t\t        success: (res) => {\r\n\t\t\t\t\t\tif (res.authSetting['scope.userLocation']) {\r\n\t\t\t\t\t\t\tthat.positioning()\r\n\t\t\t\t\t\t}\r\n\t\t\t        }\r\n\t\t\t    });\r\n\t\t\t},\r\n\t\t\t// å®šä½\r\n\t\t\tpositioning() {\r\n\t\t\t\tvar that = this;\r\n\t\t\t\tuni.getLocation({\r\n\t\t\t\t\ttype: 'gcj02',\r\n\t\t\t\t\thighAccuracyExpireTime: 3000,\r\n\t\t\t\t\tisHighAccuracy: true,\r\n\t\t\t\t\tsuccess: function (addr) {\r\n\t\t\t\t\t\tconst locParam = { latitude: addr.latitude, longitude: addr.longitude };\r\n\t\t\t\t\t\tconst qqmapsdk = new QQMapWX({\r\n\t\t\t\t\t\t\tkey: 'HEIBZ-QJLLM-SZ36X-6ZBHI-S6Y2J-S6FND'\r\n\t\t\t\t\t\t});\r\n\t\t\t\t\t\tqqmapsdk.reverseGeocoder({\r\n\t\t\t\t\t\t\tlocParam,\r\n\t\t\t\t\t\t\tsuccess: function(res) {\r\n\t\t\t\t\t\t\t\tconsole.log(res.result.ad_info.city);\r\n\t\t\t\t\t\t\t\tthat.cityName = res.result.ad_info.city\r\n\t\t\t\t\t\t\t},\r\n\t\t\t\t\t\t\tfail: (err) => {\r\n\t\t\t\t\t\t\t\tconsole.error('获取位置失败===========', err);\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t});\r\n\t\t\t\t\t}\r\n\t\t\t\t});\r\n\t\t\t},\r\n\t\t\tseleCity(city) {\r\n\t\t\t\tuni.$emit('city', city)\r\n\t\t\t\tuni.navigateBack({ delta: 1 });\r\n\t\t\t},\r\n\t\t\tgundong(index) {\r\n\t\t\t\tthis.index = index\r\n\t\t\t\tuni.pageScrollTo({\r\n\t\t\t\t\tselector: '#jiedan-' + this.list[index].letter, // æ”¯æŒ ID é€‰æ‹©å™¨ã€Class é€‰æ‹©å™¨ç­‰ [citation:1]\r\n\t\t\t\t\tduration: 300, // åŠ¨ç”»æ—¶é•¿ï¼Œå•ä½æ¯«ç§’ï¼Œé»˜è®¤300ms\r\n\t\t\t\t\toffsetTop: -100, // åç§»è·ç¦»ï¼Œå¯ä»¥è®©æ»šåŠ¨åŽå…ƒç´ è·ç¦»é¡¶éƒ¨æœ‰ä¸€æ®µè·ç¦» [citation:2]\r\n\t\t\t\t});\r\n\t\t\t},\r\n\t\t\tgetCity() {\r\n\t\t\t\tthis.$u.api.getCityInfoList({\r\n\t\t\t\t\ttype: 1,\r\n\t\t\t\t\tcityName: this.name\r\n\t\t\t\t}).then(res => {\r\n\t\t\t\t\tif (res.code === 200) {\r\n\t\t\t\t\t\tthis.list = this.groupByFirstSpell(res.data)\r\n\t\t\t\t\t}\r\n\t\t\t\t})\r\n\t\t\t},\r\n\t\t\tgroupByFirstSpell(arr) {\r\n\t\t\t\t// ä½¿ç”¨ Map æ¥æš‚存分组结果,键为 firstSpell,值为对象数组\r\n\t\t\t\tconst map = new Map();\r\n\r\n\t\t\t\tarr.forEach(item => {\r\n\t\t\t\t\tconst key = item.firstSpell;\r\n\t\t\t\t\tif (!map.has(key)) {\r\n\t\t\t\t\t\tmap.set(key, []);\r\n\t\t\t\t\t}\r\n\t\t\t\t\tmap.get(key).push(item);\r\n\t\t\t\t});\r\n\r\n\t\t\t\t// å°† Map è½¬æ¢ä¸ºçˆ¶å­ç»“构的数组\r\n\t\t\t\tconst result = [];\r\n\t\t\t\tfor (let [key, children] of map.entries()) {\r\n\t\t\t\t\tresult.push({\r\n\t\t\t\t\t\tletter: key, // åˆ†ç»„字段,可根据实际需求改名\r\n\t\t\t\t\t\tchildren: children\r\n\t\t\t\t\t});\r\n\t\t\t\t}\r\n\r\n\t\t\t\treturn result;\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n</script>\r\n\r\n<style lang=\"scss\" scoped>\r\n\t.box {\r\n\t\twidth: 100%;\r\n\t\tpadding: 0 30rpx 30rpx 30rpx;\r\n\t\tbox-sizing: border-box;\r\n\r\n\t\t.tips {\r\n\t\t\tposition: fixed;\r\n\t\t\tright: 20rpx;\r\n\t\t\ttop: 50%;\r\n\t\t\ttransform: translate(0, -50%);\r\n\t\t\tdisplay: flex;\r\n\t\t\tflex-direction: column;\r\n\r\n\t\t\t.active {\r\n\t\t\t\tcolor: #004096 !important;\r\n\t\t\t}\r\n\r\n\t\t\t.tips-row {\r\n\t\t\t\tfont-weight: 400;\r\n\t\t\t\tfont-size: 22rpx;\r\n\t\t\t\tcolor: #333333;\r\n\t\t\t\tmargin-bottom: 10rpx;\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\t.list {\r\n\t\t\twidth: 100%;\r\n\t\t\tmargin-top: 20rpx;\r\n\r\n\t\t\t.list-item {\r\n\t\t\t\twidth: 100%;\r\n\t\t\t\tdisplay: flex;\r\n\t\t\t\tflex-direction: column;\r\n\r\n\t\t\t\t.list-item-val {\r\n\t\t\t\t\tfont-weight: 400;\r\n\t\t\t\t\tfont-size: 30rpx;\r\n\t\t\t\t\tcolor: #333333;\r\n\t\t\t\t\theight: 100rpx;\r\n\t\t\t\t\tline-height: 100rpx;\r\n\t\t\t\t\tborder-bottom: 1rpx solid #E5E5E5;\r\n\t\t\t\t}\r\n\t\t\t\t\r\n\t\t\t\t.list-item1 {\r\n\t\t\t\t\twidth: 100%;\r\n\t\t\t\t\theight: 100rpx;\r\n\t\t\t\t\tline-height: 100rpx;\r\n\t\t\t\t\tdisplay: flex;\r\n\t\t\t\t\tflex-direction: column;\r\n\t\t\t\t\tborder-bottom: 1rpx solid #E5E5E5;\r\n\t\t\t\t\r\n\t\t\t\t\t.list-item-val1 {\r\n\t\t\t\t\t\tfont-weight: 400;\r\n\t\t\t\t\t\tfont-size: 30rpx;\r\n\t\t\t\t\t\tcolor: #333333;\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}\r\n\t\t\r\n\t\t.head {\r\n\t\t\twidth: 100%;\r\n\t\t\tpadding: 30rpx 0;\r\n\t\t\tbox-sizing: border-box;\r\n\t\t\tposition: sticky;\r\n\t\t\ttop: 0;\r\n\t\t\tleft: 0;\r\n\t\t\tz-index: 999;\r\n\t\t\tbackground-color: #ffffff;\r\n\t\t\t\r\n\t\t\t.box-search {\r\n\t\t\t\twidth: 100%;\r\n\t\t\t}\r\n\t\t\t\r\n\t\t\t.box-city {\r\n\t\t\t\twidth: 100%;\r\n\t\t\t\tdisplay: flex;\r\n\t\t\t\talign-items: center;\r\n\t\t\t\tjustify-content: space-between;\r\n\t\t\t\tmargin-top: 40rpx;\r\n\t\t\t\r\n\t\t\t\t.box-city-left {\r\n\t\t\t\t\tdisplay: flex;\r\n\t\t\t\t\talign-items: center;\r\n\t\t\t\r\n\t\t\t\t\timage {\r\n\t\t\t\t\t\twidth: 36rpx;\r\n\t\t\t\t\t\theight: 36rpx;\r\n\t\t\t\t\t\tmargin-right: 20rpx;\r\n\t\t\t\t\t}\r\n\t\t\t\r\n\t\t\t\t\ttext {\r\n\t\t\t\t\t\tfont-weight: 500;\r\n\t\t\t\t\t\tfont-size: 30rpx;\r\n\t\t\t\t\t\tcolor: #222222;\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t\r\n\t\t\t\t.box-city-right {\r\n\t\t\t\t\tfont-weight: 400;\r\n\t\t\t\t\tfont-size: 28rpx;\r\n\t\t\t\t\tcolor: #004096;\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n</style>","import mod from \"-!../../../../../办公/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!./select-city.vue?vue&type=style&index=0&id=1eab16c0&lang=scss&scoped=true&\"; export default mod; export * from \"-!../../../../../办公/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!./select-city.vue?vue&type=style&index=0&id=1eab16c0&lang=scss&scoped=true&\""],"sourceRoot":""}
<<<<<<< HEAD
{"version":3,"sources":["uni-app:///main.js","webpack:///D:/豆米/dingyuannongji/mini-program/pages/select-city/select-city.vue?3918","webpack:///D:/豆米/dingyuannongji/mini-program/pages/select-city/select-city.vue?f524","webpack:///D:/豆米/dingyuannongji/mini-program/pages/select-city/select-city.vue?6d43","webpack:///D:/豆米/dingyuannongji/mini-program/pages/select-city/select-city.vue?b604","uni-app:///pages/select-city/select-city.vue","webpack:///D:/豆米/dingyuannongji/mini-program/pages/select-city/select-city.vue?5269"],"names":["wx","__webpack_require_UNI_MP_PLUGIN__","__webpack_require__","createPage","Page","renderjs","component","options","__file","components","uSearch","e","message","indexOf","console","error","render","_vm","this","_h","$createElement","_self","_c","recyclableRender","staticRenderFns","_withStripped","data","name","index","list","cityName","onLoad","methods","checkLocationAuth","uni","success","scope","fail","title","content","confirmText","goToAppSetting","that","positioning","type","highAccuracyExpireTime","isHighAccuracy","latitude","longitude","key","qqmapsdk","locParam","seleCity","delta","gundong","selector","duration","offsetTop","getCity","groupByFirstSpell","arr","map","children","result","letter"],"mappings":"wJAAA,MAGA,aACA,YAFAA,EAAGC,kCAAoCC,EAGvCC,EAAWC,a,gFCLX,oIACIC,EADJ,QASIC,EAAY,qBACd,aACA,YACA,sBACA,EACA,KACA,WACA,MACA,EACA,gBACAD,GAGFC,EAAUC,QAAQC,OAAS,oCACZ,aAAAF,E,0CCvBf,uQ,iCCAA,IAAIG,EAAJ,0LACA,IACEA,EAAa,CACXC,QAAS,WACP,OAAO,uHAKX,MAAOC,GACP,IAC+C,IAA7CA,EAAEC,QAAQC,QAAQ,wBACa,IAA/BF,EAAEC,QAAQC,QAAQ,QAWlB,MAAMF,EATNG,QAAQC,MAAMJ,EAAEC,SAChBE,QAAQC,MAAM,mBACdD,QAAQC,MACN,uFAEFD,QAAQC,MACN,mDAMN,IAAIC,EAAS,WACX,IAAIC,EAAMC,KACNC,EAAKF,EAAIG,eACJH,EAAII,MAAMC,IAEjBC,GAAmB,EACnBC,EAAkB,GACtBR,EAAOS,eAAgB,G,iCCjCvB,yHAAwxB,eAAG,G,spCC+B3xB,cACA,CACAC,gBACA,OACAC,QACAC,QACAC,QACAC,cAGAC,kBACA,eACA,0BAEAC,SACAC,6BAAA,WACAC,cACAC,oBACA,oCAoBA,gBAnBAD,aACAE,2BACAD,mBACA,iBAEAE,gBACAH,aACAI,WACAC,iCACAC,kBACAL,oBACA,WACA,6BAYAM,0BACA,WACAP,eACAC,oBACA,qCACAO,oBAMAC,uBACA,WACAT,eACAU,aACAC,2BACAC,kBACAX,oBACA,OAAAY,oBAAAC,uBACA,SACAC,4CAEAC,mBACAC,WACAhB,oBACArB,mCACA4B,kCAEAL,iBACAvB,4CAMAsC,qBACAlB,kBACAA,gBAAAmB,WAEAC,oBACA,aACApB,gBACAqB,wCACAC,aACAC,kBAGAC,mBAAA,WACA,6BACAd,OACAd,qBACA,kBACA,eACA,wCAIA6B,8BAEA,cAEAC,uBACA,mBACA,UACAC,YAEAA,oBAIA,IACA,EADA,SACAA,aAAA,+DAAAZ,OAAAa,OACAC,QACAC,SACAF,cAEA,8BAEA,YAGA,c,6DC3JA,yHAA29C,eAAG,G","file":"pages/select-city/select-city.js","sourcesContent":["import 'uni-pages';\n// @ts-ignore\nwx.__webpack_require_UNI_MP_PLUGIN__ = __webpack_require__;\nimport Vue from 'vue'\nimport Page from './pages/select-city/select-city.vue'\ncreatePage(Page)","import { render, staticRenderFns, recyclableRender, components } from \"./select-city.vue?vue&type=template&id=1eab16c0&scoped=true&\"\nvar renderjs\nimport script from \"./select-city.vue?vue&type=script&lang=js&\"\nexport * from \"./select-city.vue?vue&type=script&lang=js&\"\nimport style0 from \"./select-city.vue?vue&type=style&index=0&id=1eab16c0&lang=scss&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../办公/HBuilderX.3.8.12.20230817/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  \"1eab16c0\",\n  null,\n  false,\n  components,\n  renderjs\n)\n\ncomponent.options.__file = \"pages/select-city/select-city.vue\"\nexport default component.exports","export * from \"-!../../../../../办公/HBuilderX.3.8.12.20230817/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!../../../../../办公/HBuilderX.3.8.12.20230817/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-preprocess-loader/index.js??ref--17-0!../../../../../办公/HBuilderX.3.8.12.20230817/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/webpack-uni-mp-loader/lib/template.js!../../../../../办公/HBuilderX.3.8.12.20230817/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-uni-app-loader/page-meta.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!./select-city.vue?vue&type=template&id=1eab16c0&scoped=true&\"","var components\ntry {\n  components = {\n    uSearch: function () {\n      return import(\n        /* webpackChunkName: \"node-modules/uview-ui/components/u-search/u-search\" */ \"uview-ui/components/u-search/u-search.vue\"\n      )\n    },\n  }\n} catch (e) {\n  if (\n    e.message.indexOf(\"Cannot find module\") !== -1 &&\n    e.message.indexOf(\".vue\") !== -1\n  ) {\n    console.error(e.message)\n    console.error(\"1. æŽ’查组件名称拼写是否正确\")\n    console.error(\n      \"2. æŽ’查组件是否符合 easycom è§„范,文档:https://uniapp.dcloud.net.cn/collocation/pages?id=easycom\"\n    )\n    console.error(\n      \"3. è‹¥ç»„件不符合 easycom è§„范,需手动引入,并在 components ä¸­æ³¨å†Œè¯¥ç»„ä»¶\"\n    )\n  } else {\n    throw e\n  }\n}\nvar render = function () {\n  var _vm = this\n  var _h = _vm.$createElement\n  var _c = _vm._self._c || _h\n}\nvar recyclableRender = false\nvar staticRenderFns = []\nrender._withStripped = true\n\nexport { render, staticRenderFns, recyclableRender, components }","import mod from \"-!../../../../../办公/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!./select-city.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../../办公/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!./select-city.vue?vue&type=script&lang=js&\"","<template>\r\n\t<view class=\"box\">\r\n\t\t<view class=\"head\">\r\n\t\t\t<view class=\"box-search\">\r\n\t\t\t\t<u-search placeholder=\"输入城市名称或拼音\" height=\"30\" searchIconColor=\"#999999\" borderColor=\"#eeeeee\" bgColor=\"#F9F9FB\"\r\n\t\t\t\t\t:showAction=\"false\" v-model=\"name\" @search=\"getCity\" />\r\n\t\t\t</view>\r\n\t\t\t<view class=\"box-city\">\r\n\t\t\t\t<view class=\"box-city-left\">\r\n\t\t\t\t\t<image src=\"/static/icon/ic_city@2x.png\" mode=\"widthFix\"></image>\r\n\t\t\t\t\t<text>{{cityName}}</text>\r\n\t\t\t\t</view>\r\n\t\t\t\t<view class=\"box-city-right\" @click=\"checkLocationAuth\">重新定位</view>\r\n\t\t\t</view>\r\n\t\t</view>\r\n\t\t\r\n\t\t<view class=\"list\">\r\n\t\t\t<view class=\"list-item\" :id=\"'jiedan-' + item.letter\" v-for=\"(item, index) in list\" :key=\"index\">\r\n\t\t\t\t<view class=\"list-item-val\" style=\"color: #999;\">{{item.letter}}</view>\r\n\t\t\t\t<view class=\"list-item1\" v-for=\"(child, i) in item.children\" :key=\"i\" @click=\"seleCity(child.name)\">\r\n\t\t\t\t\t<view class=\"list-item-val1\">{{child.name}}</view>\r\n\t\t\t\t</view>\r\n\t\t\t</view>\r\n\t\t</view>\r\n\t\t<view class=\"tips\">\r\n\t\t\t<view :class=\"index === a ? 'tips-row active' : 'tips-row'\" v-for=\"(item, a) in list\" :key=\"a\" @click=\"gundong(a)\">{{item.letter}}</view>\r\n\t\t</view>\r\n\t</view>\r\n</template>\r\n\r\n<script>\r\n\tvar QQMapWX = require('@/utils/qqmap-wx-jssdk.js')\r\n\texport default {\r\n\t\tdata() {\r\n\t\t\treturn {\r\n\t\t\t\tname: '',\r\n\t\t\t\tindex: 0,\r\n\t\t\t\tlist: [],\r\n\t\t\t\tcityName: ''\r\n\t\t\t};\r\n\t\t},\r\n\t\tonLoad() {\r\n\t\t\tthis.getCity()\r\n\t\t\tthis.checkLocationAuth()\r\n\t\t},\r\n\t\tmethods: {\r\n\t\t\tcheckLocationAuth() {\r\n\t\t\t    uni.getSetting({\r\n\t\t\t        success: (res) => {\r\n\t\t\t            if (!res.authSetting['scope.userLocation']) {\r\n\t\t\t                uni.authorize({\r\n\t\t\t                    scope: 'scope.userLocation',\r\n\t\t\t                    success: () => {\r\n\t\t\t                        this.positioning()\r\n\t\t\t                    },\r\n\t\t\t                    fail: () => {\r\n\t\t\t                        uni.showModal({\r\n\t\t\t                            title: '提示',\r\n\t\t\t                            content: '需要获取您的位置信息,请在设置中开启位置权限',\r\n\t\t\t                            confirmText: '去设置',\r\n\t\t\t                            success: (res) => {\r\n\t\t\t                                if (res.confirm) {\r\n\t\t\t                                    this.goToAppSetting();\r\n\t\t\t                                }\r\n\t\t\t                            }\r\n\t\t\t                        });\r\n\t\t\t                    }\r\n\t\t\t                });\r\n\t\t\t            } else {\r\n\t\t\t                this.positioning()\r\n\t\t\t            }\r\n\t\t\t        }\r\n\t\t\t    });\r\n\t\t\t},\r\n\t\t\tgoToAppSetting() {\r\n\t\t\t\tvar that = this;\r\n\t\t\t    uni.openSetting({\r\n\t\t\t        success: (res) => {\r\n\t\t\t\t\t\tif (res.authSetting['scope.userLocation']) {\r\n\t\t\t\t\t\t\tthat.positioning()\r\n\t\t\t\t\t\t}\r\n\t\t\t        }\r\n\t\t\t    });\r\n\t\t\t},\r\n\t\t\t// å®šä½\r\n\t\t\tpositioning() {\r\n\t\t\t\tvar that = this;\r\n\t\t\t\tuni.getLocation({\r\n\t\t\t\t\ttype: 'gcj02',\r\n\t\t\t\t\thighAccuracyExpireTime: 3000,\r\n\t\t\t\t\tisHighAccuracy: true,\r\n\t\t\t\t\tsuccess: function (addr) {\r\n\t\t\t\t\t\tconst locParam = { latitude: addr.latitude, longitude: addr.longitude };\r\n\t\t\t\t\t\tconst qqmapsdk = new QQMapWX({\r\n\t\t\t\t\t\t\tkey: 'HEIBZ-QJLLM-SZ36X-6ZBHI-S6Y2J-S6FND'\r\n\t\t\t\t\t\t});\r\n\t\t\t\t\t\tqqmapsdk.reverseGeocoder({\r\n\t\t\t\t\t\t\tlocParam,\r\n\t\t\t\t\t\t\tsuccess: function(res) {\r\n\t\t\t\t\t\t\t\tconsole.log(res.result.ad_info.city);\r\n\t\t\t\t\t\t\t\tthat.cityName = res.result.ad_info.city\r\n\t\t\t\t\t\t\t},\r\n\t\t\t\t\t\t\tfail: (err) => {\r\n\t\t\t\t\t\t\t\tconsole.error('获取位置失败===========', err);\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t});\r\n\t\t\t\t\t}\r\n\t\t\t\t});\r\n\t\t\t},\r\n\t\t\tseleCity(city) {\r\n\t\t\t\tuni.$emit('city', city)\r\n\t\t\t\tuni.navigateBack({ delta: 1 });\r\n\t\t\t},\r\n\t\t\tgundong(index) {\r\n\t\t\t\tthis.index = index\r\n\t\t\t\tuni.pageScrollTo({\r\n\t\t\t\t\tselector: '#jiedan-' + this.list[index].letter, // æ”¯æŒ ID é€‰æ‹©å™¨ã€Class é€‰æ‹©å™¨ç­‰ [citation:1]\r\n\t\t\t\t\tduration: 300, // åŠ¨ç”»æ—¶é•¿ï¼Œå•ä½æ¯«ç§’ï¼Œé»˜è®¤300ms\r\n\t\t\t\t\toffsetTop: -100, // åç§»è·ç¦»ï¼Œå¯ä»¥è®©æ»šåŠ¨åŽå…ƒç´ è·ç¦»é¡¶éƒ¨æœ‰ä¸€æ®µè·ç¦» [citation:2]\r\n\t\t\t\t});\r\n\t\t\t},\r\n\t\t\tgetCity() {\r\n\t\t\t\tthis.$u.api.getCityInfoList({\r\n\t\t\t\t\ttype: 1,\r\n\t\t\t\t\tcityName: this.name\r\n\t\t\t\t}).then(res => {\r\n\t\t\t\t\tif (res.code === 200) {\r\n\t\t\t\t\t\tthis.list = this.groupByFirstSpell(res.data)\r\n\t\t\t\t\t}\r\n\t\t\t\t})\r\n\t\t\t},\r\n\t\t\tgroupByFirstSpell(arr) {\r\n\t\t\t\t// ä½¿ç”¨ Map æ¥æš‚存分组结果,键为 firstSpell,值为对象数组\r\n\t\t\t\tconst map = new Map();\r\n\r\n\t\t\t\tarr.forEach(item => {\r\n\t\t\t\t\tconst key = item.firstSpell;\r\n\t\t\t\t\tif (!map.has(key)) {\r\n\t\t\t\t\t\tmap.set(key, []);\r\n\t\t\t\t\t}\r\n\t\t\t\t\tmap.get(key).push(item);\r\n\t\t\t\t});\r\n\r\n\t\t\t\t// å°† Map è½¬æ¢ä¸ºçˆ¶å­ç»“构的数组\r\n\t\t\t\tconst result = [];\r\n\t\t\t\tfor (let [key, children] of map.entries()) {\r\n\t\t\t\t\tresult.push({\r\n\t\t\t\t\t\tletter: key, // åˆ†ç»„字段,可根据实际需求改名\r\n\t\t\t\t\t\tchildren: children\r\n\t\t\t\t\t});\r\n\t\t\t\t}\r\n\r\n\t\t\t\treturn result;\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n</script>\r\n\r\n<style lang=\"scss\" scoped>\r\n\t.box {\r\n\t\twidth: 100%;\r\n\t\tpadding: 0 30rpx 30rpx 30rpx;\r\n\t\tbox-sizing: border-box;\r\n\r\n\t\t.tips {\r\n\t\t\tposition: fixed;\r\n\t\t\tright: 20rpx;\r\n\t\t\ttop: 50%;\r\n\t\t\ttransform: translate(0, -50%);\r\n\t\t\tdisplay: flex;\r\n\t\t\tflex-direction: column;\r\n\r\n\t\t\t.active {\r\n\t\t\t\tcolor: #004096 !important;\r\n\t\t\t}\r\n\r\n\t\t\t.tips-row {\r\n\t\t\t\tfont-weight: 400;\r\n\t\t\t\tfont-size: 22rpx;\r\n\t\t\t\tcolor: #333333;\r\n\t\t\t\tmargin-bottom: 10rpx;\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\t.list {\r\n\t\t\twidth: 100%;\r\n\t\t\tmargin-top: 20rpx;\r\n\r\n\t\t\t.list-item {\r\n\t\t\t\twidth: 100%;\r\n\t\t\t\tdisplay: flex;\r\n\t\t\t\tflex-direction: column;\r\n\r\n\t\t\t\t.list-item-val {\r\n\t\t\t\t\tfont-weight: 400;\r\n\t\t\t\t\tfont-size: 30rpx;\r\n\t\t\t\t\tcolor: #333333;\r\n\t\t\t\t\theight: 100rpx;\r\n\t\t\t\t\tline-height: 100rpx;\r\n\t\t\t\t\tborder-bottom: 1rpx solid #E5E5E5;\r\n\t\t\t\t}\r\n\t\t\t\t\r\n\t\t\t\t.list-item1 {\r\n\t\t\t\t\twidth: 100%;\r\n\t\t\t\t\theight: 100rpx;\r\n\t\t\t\t\tline-height: 100rpx;\r\n\t\t\t\t\tdisplay: flex;\r\n\t\t\t\t\tflex-direction: column;\r\n\t\t\t\t\tborder-bottom: 1rpx solid #E5E5E5;\r\n\t\t\t\t\r\n\t\t\t\t\t.list-item-val1 {\r\n\t\t\t\t\t\tfont-weight: 400;\r\n\t\t\t\t\t\tfont-size: 30rpx;\r\n\t\t\t\t\t\tcolor: #333333;\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}\r\n\t\t\r\n\t\t.head {\r\n\t\t\twidth: 100%;\r\n\t\t\tpadding: 30rpx 0;\r\n\t\t\tbox-sizing: border-box;\r\n\t\t\tposition: sticky;\r\n\t\t\ttop: 0;\r\n\t\t\tleft: 0;\r\n\t\t\tz-index: 999;\r\n\t\t\tbackground-color: #ffffff;\r\n\t\t\t\r\n\t\t\t.box-search {\r\n\t\t\t\twidth: 100%;\r\n\t\t\t}\r\n\t\t\t\r\n\t\t\t.box-city {\r\n\t\t\t\twidth: 100%;\r\n\t\t\t\tdisplay: flex;\r\n\t\t\t\talign-items: center;\r\n\t\t\t\tjustify-content: space-between;\r\n\t\t\t\tmargin-top: 40rpx;\r\n\t\t\t\r\n\t\t\t\t.box-city-left {\r\n\t\t\t\t\tdisplay: flex;\r\n\t\t\t\t\talign-items: center;\r\n\t\t\t\r\n\t\t\t\t\timage {\r\n\t\t\t\t\t\twidth: 36rpx;\r\n\t\t\t\t\t\theight: 36rpx;\r\n\t\t\t\t\t\tmargin-right: 20rpx;\r\n\t\t\t\t\t}\r\n\t\t\t\r\n\t\t\t\t\ttext {\r\n\t\t\t\t\t\tfont-weight: 500;\r\n\t\t\t\t\t\tfont-size: 30rpx;\r\n\t\t\t\t\t\tcolor: #222222;\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t\r\n\t\t\t\t.box-city-right {\r\n\t\t\t\t\tfont-weight: 400;\r\n\t\t\t\t\tfont-size: 28rpx;\r\n\t\t\t\t\tcolor: #004096;\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n</style>","import mod from \"-!../../../../../办公/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!./select-city.vue?vue&type=style&index=0&id=1eab16c0&lang=scss&scoped=true&\"; export default mod; export * from \"-!../../../../../办公/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!./select-city.vue?vue&type=style&index=0&id=1eab16c0&lang=scss&scoped=true&\""],"sourceRoot":""}
=======
{"version":3,"sources":["uni-app:///main.js","webpack:///D:/code/idea2023/git/dingyuannongji/mini-program/pages/select-city/select-city.vue?8c4b","webpack:///D:/code/idea2023/git/dingyuannongji/mini-program/pages/select-city/select-city.vue?7d65","webpack:///D:/code/idea2023/git/dingyuannongji/mini-program/pages/select-city/select-city.vue?1695","webpack:///D:/code/idea2023/git/dingyuannongji/mini-program/pages/select-city/select-city.vue?c8f8","uni-app:///pages/select-city/select-city.vue","webpack:///D:/code/idea2023/git/dingyuannongji/mini-program/pages/select-city/select-city.vue?586b","webpack:///D:/code/idea2023/git/dingyuannongji/mini-program/pages/select-city/select-city.vue?aa3b"],"names":["wx","__webpack_require_UNI_MP_PLUGIN__","__webpack_require__","createPage","Page","data","name","index","list","cityName","onLoad","methods","checkLocationAuth","uni","success","scope","fail","title","content","confirmText","goToAppSetting","that","positioning","type","highAccuracyExpireTime","isHighAccuracy","latitude","longitude","key","qqmapsdk","locParam","console","seleCity","delta","gundong","selector","duration","offsetTop","getCity","groupByFirstSpell","arr","map","children","result","letter"],"mappings":";;;;;;;;;;;;;AAAA;AAGA;AACA;AAHA;AACAA,EAAE,CAACC,iCAAiC,GAAGC,mBAAmB;AAG1DC,UAAU,CAACC,mBAAI,CAAC,C;;;;;;;;;;;;;ACLhB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAoI;AACpI;AAC+D;AACL;AACsC;;;AAGhG;AACiL;AACjL,gBAAgB,kLAAU;AAC1B,EAAE,iFAAM;AACR,EAAE,kGAAM;AACR,EAAE,2GAAe;AACjB;AACA;AACA;AACA;AACA;AACA,EAAE,sGAAU;AACZ;AACA;;AAEA;AACe,gF;;;;;;;;;;;;ACvBf;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;;;;;;;;;;;;ACAA;AAAA;AAAA;AAAA;AAAA;AAAA;AACA;AACA;AACA;AACA,aAAa,iSAEN;AACP,KAAK;AACL;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;;;ACjCA;AAAA;AAAA;AAAA;AAA8qB,CAAgB,8oBAAG,EAAC,C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AC+BlsB;AAAA,eACA;EACAC;IACA;MACAC;MACAC;MACAC;MACAC;IACA;EACA;EACAC;IACA;IACA;EACA;EACAC;IACAC;MAAA;MACAC;QACAC;UACA;YACAD;cACAE;cACAD;gBACA;cACA;cACAE;gBACAH;kBACAI;kBACAC;kBACAC;kBACAL;oBACA;sBACA;oBACA;kBACA;gBACA;cACA;YACA;UACA;YACA;UACA;QACA;MACA;IACA;IACAM;MACA;MACAP;QACAC;UACA;YACAO;UACA;QACA;MACA;IACA;IACA;IACAC;MACA;MACAT;QACAU;QACAC;QACAC;QACAX;UACA;YAAAY;YAAAC;UAAA;UACA;YACAC;UACA;UACAC;YACAC;YACAhB;cACAiB;cACAV;YACA;YACAL;cACAe;YACA;UACA;QACA;MACA;IACA;IACAC;MACAnB;MACAA;QAAAoB;MAAA;IACA;IACAC;MACA;MACArB;QACAsB;QAAA;QACAC;QAAA;QACAC;MACA;IACA;IACAC;MAAA;MACA;QACAf;QACAd;MACA;QACA;UACA;QACA;MACA;IACA;IACA8B;MACA;MACA;MAEAC;QACA;QACA;UACAC;QACA;QACAA;MACA;;MAEA;MACA;MAAA,2CACAA;QAAA;MAAA;QAAA;UAAA;YAAAb;YAAAc;UACAC;YACAC;YAAA;YACAF;UACA;QACA;MAAA;QAAA;MAAA;QAAA;MAAA;MAEA;IACA;EACA;AACA;AAAA,2B;;;;;;;;;;;;;AC3JA;AAAA;AAAA;AAAA;AAAyyC,CAAgB,yqCAAG,EAAC,C;;;;;;;;;;;ACA7zC;AACA,OAAO,KAAU,EAAE,kBAKd","file":"pages/select-city/select-city.js","sourcesContent":["import 'uni-pages';\n// @ts-ignore\nwx.__webpack_require_UNI_MP_PLUGIN__ = __webpack_require__;\nimport Vue from 'vue'\nimport Page from './pages/select-city/select-city.vue'\ncreatePage(Page)","import { render, staticRenderFns, recyclableRender, components } from \"./select-city.vue?vue&type=template&id=1eab16c0&scoped=true&\"\nvar renderjs\nimport script from \"./select-city.vue?vue&type=script&lang=js&\"\nexport * from \"./select-city.vue?vue&type=script&lang=js&\"\nimport style0 from \"./select-city.vue?vue&type=style&index=0&id=1eab16c0&lang=scss&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../../../soft/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  \"1eab16c0\",\n  null,\n  false,\n  components,\n  renderjs\n)\n\ncomponent.options.__file = \"pages/select-city/select-city.vue\"\nexport default component.exports","export * from \"-!../../../../../../../soft/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!../../../../../../../soft/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-preprocess-loader/index.js??ref--17-0!../../../../../../../soft/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/webpack-uni-mp-loader/lib/template.js!../../../../../../../soft/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-uni-app-loader/page-meta.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!./select-city.vue?vue&type=template&id=1eab16c0&scoped=true&\"","var components\ntry {\n  components = {\n    uSearch: function () {\n      return import(\n        /* webpackChunkName: \"node-modules/uview-ui/components/u-search/u-search\" */ \"uview-ui/components/u-search/u-search.vue\"\n      )\n    },\n  }\n} catch (e) {\n  if (\n    e.message.indexOf(\"Cannot find module\") !== -1 &&\n    e.message.indexOf(\".vue\") !== -1\n  ) {\n    console.error(e.message)\n    console.error(\"1. æŽ’查组件名称拼写是否正确\")\n    console.error(\n      \"2. æŽ’查组件是否符合 easycom è§„范,文档:https://uniapp.dcloud.net.cn/collocation/pages?id=easycom\"\n    )\n    console.error(\n      \"3. è‹¥ç»„件不符合 easycom è§„范,需手动引入,并在 components ä¸­æ³¨å†Œè¯¥ç»„ä»¶\"\n    )\n  } else {\n    throw e\n  }\n}\nvar render = function () {\n  var _vm = this\n  var _h = _vm.$createElement\n  var _c = _vm._self._c || _h\n}\nvar recyclableRender = false\nvar staticRenderFns = []\nrender._withStripped = true\n\nexport { render, staticRenderFns, recyclableRender, components }","import mod from \"-!../../../../../../../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!./select-city.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../../../../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!./select-city.vue?vue&type=script&lang=js&\"","<template>\r\n\t<view class=\"box\">\r\n\t\t<view class=\"head\">\r\n\t\t\t<view class=\"box-search\">\r\n\t\t\t\t<u-search placeholder=\"输入城市名称或拼音\" height=\"30\" searchIconColor=\"#999999\" borderColor=\"#eeeeee\" bgColor=\"#F9F9FB\"\r\n\t\t\t\t\t:showAction=\"false\" v-model=\"name\" @search=\"getCity\" />\r\n\t\t\t</view>\r\n\t\t\t<view class=\"box-city\">\r\n\t\t\t\t<view class=\"box-city-left\">\r\n\t\t\t\t\t<image src=\"/static/icon/ic_city@2x.png\" mode=\"widthFix\"></image>\r\n\t\t\t\t\t<text>{{cityName}}</text>\r\n\t\t\t\t</view>\r\n\t\t\t\t<view class=\"box-city-right\" @click=\"checkLocationAuth\">重新定位</view>\r\n\t\t\t</view>\r\n\t\t</view>\r\n\t\t\r\n\t\t<view class=\"list\">\r\n\t\t\t<view class=\"list-item\" :id=\"'jiedan-' + item.letter\" v-for=\"(item, index) in list\" :key=\"index\">\r\n\t\t\t\t<view class=\"list-item-val\" style=\"color: #999;\">{{item.letter}}</view>\r\n\t\t\t\t<view class=\"list-item1\" v-for=\"(child, i) in item.children\" :key=\"i\" @click=\"seleCity(child.name)\">\r\n\t\t\t\t\t<view class=\"list-item-val1\">{{child.name}}</view>\r\n\t\t\t\t</view>\r\n\t\t\t</view>\r\n\t\t</view>\r\n\t\t<view class=\"tips\">\r\n\t\t\t<view :class=\"index === a ? 'tips-row active' : 'tips-row'\" v-for=\"(item, a) in list\" :key=\"a\" @click=\"gundong(a)\">{{item.letter}}</view>\r\n\t\t</view>\r\n\t</view>\r\n</template>\r\n\r\n<script>\r\n\tvar QQMapWX = require('@/utils/qqmap-wx-jssdk.js')\r\n\texport default {\r\n\t\tdata() {\r\n\t\t\treturn {\r\n\t\t\t\tname: '',\r\n\t\t\t\tindex: 0,\r\n\t\t\t\tlist: [],\r\n\t\t\t\tcityName: ''\r\n\t\t\t};\r\n\t\t},\r\n\t\tonLoad() {\r\n\t\t\tthis.getCity()\r\n\t\t\tthis.checkLocationAuth()\r\n\t\t},\r\n\t\tmethods: {\r\n\t\t\tcheckLocationAuth() {\r\n\t\t\t    uni.getSetting({\r\n\t\t\t        success: (res) => {\r\n\t\t\t            if (!res.authSetting['scope.userLocation']) {\r\n\t\t\t                uni.authorize({\r\n\t\t\t                    scope: 'scope.userLocation',\r\n\t\t\t                    success: () => {\r\n\t\t\t                        this.positioning()\r\n\t\t\t                    },\r\n\t\t\t                    fail: () => {\r\n\t\t\t                        uni.showModal({\r\n\t\t\t                            title: '提示',\r\n\t\t\t                            content: '需要获取您的位置信息,请在设置中开启位置权限',\r\n\t\t\t                            confirmText: '去设置',\r\n\t\t\t                            success: (res) => {\r\n\t\t\t                                if (res.confirm) {\r\n\t\t\t                                    this.goToAppSetting();\r\n\t\t\t                                }\r\n\t\t\t                            }\r\n\t\t\t                        });\r\n\t\t\t                    }\r\n\t\t\t                });\r\n\t\t\t            } else {\r\n\t\t\t                this.positioning()\r\n\t\t\t            }\r\n\t\t\t        }\r\n\t\t\t    });\r\n\t\t\t},\r\n\t\t\tgoToAppSetting() {\r\n\t\t\t\tvar that = this;\r\n\t\t\t    uni.openSetting({\r\n\t\t\t        success: (res) => {\r\n\t\t\t\t\t\tif (res.authSetting['scope.userLocation']) {\r\n\t\t\t\t\t\t\tthat.positioning()\r\n\t\t\t\t\t\t}\r\n\t\t\t        }\r\n\t\t\t    });\r\n\t\t\t},\r\n\t\t\t// å®šä½\r\n\t\t\tpositioning() {\r\n\t\t\t\tvar that = this;\r\n\t\t\t\tuni.getLocation({\r\n\t\t\t\t\ttype: 'gcj02',\r\n\t\t\t\t\thighAccuracyExpireTime: 3000,\r\n\t\t\t\t\tisHighAccuracy: true,\r\n\t\t\t\t\tsuccess: function (addr) {\r\n\t\t\t\t\t\tconst locParam = { latitude: addr.latitude, longitude: addr.longitude };\r\n\t\t\t\t\t\tconst qqmapsdk = new QQMapWX({\r\n\t\t\t\t\t\t\tkey: 'HEIBZ-QJLLM-SZ36X-6ZBHI-S6Y2J-S6FND'\r\n\t\t\t\t\t\t});\r\n\t\t\t\t\t\tqqmapsdk.reverseGeocoder({\r\n\t\t\t\t\t\t\tlocParam,\r\n\t\t\t\t\t\t\tsuccess: function(res) {\r\n\t\t\t\t\t\t\t\tconsole.log(res.result.ad_info.city);\r\n\t\t\t\t\t\t\t\tthat.cityName = res.result.ad_info.city\r\n\t\t\t\t\t\t\t},\r\n\t\t\t\t\t\t\tfail: (err) => {\r\n\t\t\t\t\t\t\t\tconsole.error('获取位置失败===========', err);\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t});\r\n\t\t\t\t\t}\r\n\t\t\t\t});\r\n\t\t\t},\r\n\t\t\tseleCity(city) {\r\n\t\t\t\tuni.$emit('city', city)\r\n\t\t\t\tuni.navigateBack({ delta: 1 });\r\n\t\t\t},\r\n\t\t\tgundong(index) {\r\n\t\t\t\tthis.index = index\r\n\t\t\t\tuni.pageScrollTo({\r\n\t\t\t\t\tselector: '#jiedan-' + this.list[index].letter, // æ”¯æŒ ID é€‰æ‹©å™¨ã€Class é€‰æ‹©å™¨ç­‰ [citation:1]\r\n\t\t\t\t\tduration: 300, // åŠ¨ç”»æ—¶é•¿ï¼Œå•ä½æ¯«ç§’ï¼Œé»˜è®¤300ms\r\n\t\t\t\t\toffsetTop: -100, // åç§»è·ç¦»ï¼Œå¯ä»¥è®©æ»šåŠ¨åŽå…ƒç´ è·ç¦»é¡¶éƒ¨æœ‰ä¸€æ®µè·ç¦» [citation:2]\r\n\t\t\t\t});\r\n\t\t\t},\r\n\t\t\tgetCity() {\r\n\t\t\t\tthis.$u.api.getCityInfoList({\r\n\t\t\t\t\ttype: 1,\r\n\t\t\t\t\tcityName: this.name\r\n\t\t\t\t}).then(res => {\r\n\t\t\t\t\tif (res.code === 200) {\r\n\t\t\t\t\t\tthis.list = this.groupByFirstSpell(res.data)\r\n\t\t\t\t\t}\r\n\t\t\t\t})\r\n\t\t\t},\r\n\t\t\tgroupByFirstSpell(arr) {\r\n\t\t\t\t// ä½¿ç”¨ Map æ¥æš‚存分组结果,键为 firstSpell,值为对象数组\r\n\t\t\t\tconst map = new Map();\r\n\r\n\t\t\t\tarr.forEach(item => {\r\n\t\t\t\t\tconst key = item.firstSpell;\r\n\t\t\t\t\tif (!map.has(key)) {\r\n\t\t\t\t\t\tmap.set(key, []);\r\n\t\t\t\t\t}\r\n\t\t\t\t\tmap.get(key).push(item);\r\n\t\t\t\t});\r\n\r\n\t\t\t\t// å°† Map è½¬æ¢ä¸ºçˆ¶å­ç»“构的数组\r\n\t\t\t\tconst result = [];\r\n\t\t\t\tfor (let [key, children] of map.entries()) {\r\n\t\t\t\t\tresult.push({\r\n\t\t\t\t\t\tletter: key, // åˆ†ç»„字段,可根据实际需求改名\r\n\t\t\t\t\t\tchildren: children\r\n\t\t\t\t\t});\r\n\t\t\t\t}\r\n\r\n\t\t\t\treturn result;\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n</script>\r\n\r\n<style lang=\"scss\" scoped>\r\n\t.box {\r\n\t\twidth: 100%;\r\n\t\tpadding: 0 30rpx 30rpx 30rpx;\r\n\t\tbox-sizing: border-box;\r\n\r\n\t\t.tips {\r\n\t\t\tposition: fixed;\r\n\t\t\tright: 20rpx;\r\n\t\t\ttop: 50%;\r\n\t\t\ttransform: translate(0, -50%);\r\n\t\t\tdisplay: flex;\r\n\t\t\tflex-direction: column;\r\n\r\n\t\t\t.active {\r\n\t\t\t\tcolor: #004096 !important;\r\n\t\t\t}\r\n\r\n\t\t\t.tips-row {\r\n\t\t\t\tfont-weight: 400;\r\n\t\t\t\tfont-size: 22rpx;\r\n\t\t\t\tcolor: #333333;\r\n\t\t\t\tmargin-bottom: 10rpx;\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\t.list {\r\n\t\t\twidth: 100%;\r\n\t\t\tmargin-top: 20rpx;\r\n\r\n\t\t\t.list-item {\r\n\t\t\t\twidth: 100%;\r\n\t\t\t\tdisplay: flex;\r\n\t\t\t\tflex-direction: column;\r\n\r\n\t\t\t\t.list-item-val {\r\n\t\t\t\t\tfont-weight: 400;\r\n\t\t\t\t\tfont-size: 30rpx;\r\n\t\t\t\t\tcolor: #333333;\r\n\t\t\t\t\theight: 100rpx;\r\n\t\t\t\t\tline-height: 100rpx;\r\n\t\t\t\t\tborder-bottom: 1rpx solid #E5E5E5;\r\n\t\t\t\t}\r\n\t\t\t\t\r\n\t\t\t\t.list-item1 {\r\n\t\t\t\t\twidth: 100%;\r\n\t\t\t\t\theight: 100rpx;\r\n\t\t\t\t\tline-height: 100rpx;\r\n\t\t\t\t\tdisplay: flex;\r\n\t\t\t\t\tflex-direction: column;\r\n\t\t\t\t\tborder-bottom: 1rpx solid #E5E5E5;\r\n\t\t\t\t\r\n\t\t\t\t\t.list-item-val1 {\r\n\t\t\t\t\t\tfont-weight: 400;\r\n\t\t\t\t\t\tfont-size: 30rpx;\r\n\t\t\t\t\t\tcolor: #333333;\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}\r\n\t\t\r\n\t\t.head {\r\n\t\t\twidth: 100%;\r\n\t\t\tpadding: 30rpx 0;\r\n\t\t\tbox-sizing: border-box;\r\n\t\t\tposition: sticky;\r\n\t\t\ttop: 0;\r\n\t\t\tleft: 0;\r\n\t\t\tz-index: 999;\r\n\t\t\tbackground-color: #ffffff;\r\n\t\t\t\r\n\t\t\t.box-search {\r\n\t\t\t\twidth: 100%;\r\n\t\t\t}\r\n\t\t\t\r\n\t\t\t.box-city {\r\n\t\t\t\twidth: 100%;\r\n\t\t\t\tdisplay: flex;\r\n\t\t\t\talign-items: center;\r\n\t\t\t\tjustify-content: space-between;\r\n\t\t\t\tmargin-top: 40rpx;\r\n\t\t\t\r\n\t\t\t\t.box-city-left {\r\n\t\t\t\t\tdisplay: flex;\r\n\t\t\t\t\talign-items: center;\r\n\t\t\t\r\n\t\t\t\t\timage {\r\n\t\t\t\t\t\twidth: 36rpx;\r\n\t\t\t\t\t\theight: 36rpx;\r\n\t\t\t\t\t\tmargin-right: 20rpx;\r\n\t\t\t\t\t}\r\n\t\t\t\r\n\t\t\t\t\ttext {\r\n\t\t\t\t\t\tfont-weight: 500;\r\n\t\t\t\t\t\tfont-size: 30rpx;\r\n\t\t\t\t\t\tcolor: #222222;\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t\r\n\t\t\t\t.box-city-right {\r\n\t\t\t\t\tfont-weight: 400;\r\n\t\t\t\t\tfont-size: 28rpx;\r\n\t\t\t\t\tcolor: #004096;\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n</style>","import mod from \"-!../../../../../../../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!./select-city.vue?vue&type=style&index=0&id=1eab16c0&lang=scss&scoped=true&\"; export default mod; export * from \"-!../../../../../../../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!./select-city.vue?vue&type=style&index=0&id=1eab16c0&lang=scss&scoped=true&\"","// extracted by mini-css-extract-plugin\n    if(module.hot) {\n      // 1772099318765\n      var cssReload = require(\"D:/soft/HBuilderX/plugins/uniapp-cli/node_modules/mini-css-extract-plugin/dist/hmr/hotModuleReplacement.js\")(module.id, {\"hmr\":true,\"publicPath\":\"/\",\"locals\":false});\n      module.hot.dispose(cssReload);\n      module.hot.accept(undefined, cssReload);\n    }\n  "],"sourceRoot":""}
>>>>>>> 0360073c44987036d9850c0a310567f662a16df2
server/dmmall_admin/src/main/java/com/doumee/AdminApplication.java
@@ -5,6 +5,7 @@
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.context.ApplicationContext;
import org.springframework.scheduling.annotation.EnableAsync;
/**
 * å¯åŠ¨ç±»
@@ -13,6 +14,7 @@
 */
@Slf4j
@SpringBootApplication
@EnableAsync
@MapperScan("com.doumee.dao")
public class AdminApplication {
server/dmmall_admin/src/main/java/com/doumee/api/business/BannerController.java
@@ -7,6 +7,7 @@
import com.doumee.core.model.PageWrap;
import com.doumee.core.model.PageData;
import com.doumee.dao.business.model.Banner;
import com.doumee.dao.business.model.Coupon;
import com.doumee.service.business.BannerService;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
@@ -37,7 +38,13 @@
    public ApiResponse create(@RequestBody Banner banner) {
        return ApiResponse.success(bannerService.create(banner));
    }
    @ApiOperation("根据ID修改状态")
    @PostMapping("/updateStatus")
    @RequiresPermissions("business:banner:update")
    public ApiResponse updateStatus(@RequestBody Banner coupon) {
        bannerService.updateStatus(coupon);
        return ApiResponse.success(null);
    }
    @ApiOperation("根据ID删除")
    @GetMapping("/delete/{id}")
    @RequiresPermissions("business:banner:delete")
server/dmmall_admin/src/main/resources/application.yml
@@ -4,8 +4,6 @@
  version: 1.0.0
  env: development
#  env: production
spring:
  #  application:
  #    name: doumeemes
server/dmmall_service/src/main/java/com/doumee/config/listener/IntegralApplicationListener.java
ÎļþÒÑɾ³ý
server/dmmall_service/src/main/java/com/doumee/config/listener/NoticeApplicationListener.java
ÎļþÒÑɾ³ý
server/dmmall_service/src/main/java/com/doumee/config/listener/VisitApplicationListener.java
ÎļþÒÑɾ³ý
server/dmmall_service/src/main/java/com/doumee/config/listener/event/IntegralEvent.java
ÎļþÒÑɾ³ý
server/dmmall_service/src/main/java/com/doumee/config/listener/event/NoticeEvent.java
ÎļþÒÑɾ³ý
server/dmmall_service/src/main/java/com/doumee/config/listener/event/VisitEvent.java
ÎļþÒÑɾ³ý
server/dmmall_service/src/main/java/com/doumee/core/utils/Constants.java
@@ -50,6 +50,12 @@
    public static final String ABOUT_US = "ABOUT_US";
    public static final String SERVER_INTRODUCE = "SERVER_INTRODUCE";
    public static final String SERVER_PHONE ="SERVER_PHONE" ;
    public static final String SHOP_INTEGRAL_BG ="SHOP_INTEGRAL_BG" ;
    public static final String USER_INVITE_BG ="USER_INVITE_BG" ;
    public static final String CENTER_INVITE_BG ="CENTER_INVITE_BG" ;
    public static final String USER_SHARE_BG ="USER_SHARE_BG" ;
    /**
     * mq tag
@@ -894,7 +900,7 @@
        ORDER_DONE_AMOUNT(16,"订单结算","${param1}订单结算成功,获得¥${param}",0,1),//${param}订单编号,${param1}金额
        WITHDRAW_APPLY(17,"余额提现","余额提现已提交,消耗¥${param}",0,1),
        WITHDRAW_APPLY_BACK(19,"提现退回","余额提现失败,获得¥${param}",0,1),
        SHOP_ORDER_REFUND_CASH(25,"订单退款","${param1}订单退款,扣除结算金额¥${param}",0,0),
        SHOP_ORDER_REFUND_CASH(25,"订单结算退回","${param1}订单退款,扣除结算金额¥${param}",0,0),
        SHOP_ORDER(21,"消费返积分","会员${param1}交易成功,获得${param}积分",0,0),//${param}昵称-手机号
server/dmmall_service/src/main/java/com/doumee/core/wx/WxMiniUtilService.java
@@ -46,8 +46,8 @@
            request.setOutRefundNo(refNum);
           // request.setTotalFee(2);
          //  request.setRefundFee(1);
            request.setTotalFee(BaseWxPayRequest.yuanToFen(totalPrice.toString()));
            request.setRefundFee(BaseWxPayRequest.yuanToFen(refundPrice.toString()));
            request.setTotalFee(1);//BaseWxPayRequest.yuanToFen(totalPrice.toString()));
            request.setRefundFee(1);//BaseWxPayRequest.yuanToFen(refundPrice.toString()));
            WxPayRefundResult response = WxMiniConfig.wxPayService.refund(request);
            if ("SUCCESS".equals(response.getReturnCode()) && "SUCCESS".equals(response.getResultCode())) {
                return refNum;
server/dmmall_service/src/main/java/com/doumee/dao/business/GoodsorderMapper.java
@@ -32,7 +32,7 @@
    IPage<MemberOrderResponse> goodsOrderPage(IPage<MemberOrderResponse> page, @Param(Constants.WRAPPER) Wrapper wrapper);
    @Select(" select g.CODE AS code , g.MEMBER_INFO as memberInfo , g.PAY_ORDER_ID as payOrderId , g.REFUND_MONEY refundMoney , g.REFUND_TIME as refundTime, g.REFUND_INFO as refundInfo,  g.id as orderId , g.MEMBER_ID as memberId , g.CREATE_DATE as createDate    , g.TYPE as orderType , g.STATUS as orderStatus , g.IS_COMMENT as isComment , g.PAY_STATUS as  payStatus ," +
    @Select(" select g.CODE AS code , g.payMethod , g.MEMBER_INFO as memberInfo , g.PAY_ORDER_ID as payOrderId , g.REFUND_MONEY refundMoney , g.REFUND_TIME as refundTime, g.REFUND_INFO as refundInfo,  g.id as orderId , g.MEMBER_ID as memberId , g.CREATE_DATE as createDate    , g.TYPE as orderType , g.STATUS as orderStatus , g.IS_COMMENT as isComment , g.PAY_STATUS as  payStatus ," +
            " g.COUPON_PRICE as couponPrice , g.price , g.LINKNAME  as linkName , g.LINKPHONE as linkPhone , g.LINKADDR as linkAddress , " +
            "g.KD_DATE as kdDate , g.KD_NAME as kdName  , g.KD_CODE as kdCode , g.INTEGRAL as integral , SUBDATE(g.CREATE_DATE,interval - 15 minute) as cancelDate , g.PAY_DATE AS payDate , g.DONE_DATE as doneDate " +
            " , g.MEMBER_INFO , g.RECEIVE_TYPE as receiveType, s.name as shopName,s.phone as shopPhone ,s.id as shopId,g.exchange_code as exchangeCode , g.mail_price as mailPrice , g.TOTAL_PRICE as totalPrice " +
server/dmmall_service/src/main/java/com/doumee/dao/business/MemberMapper.java
@@ -15,20 +15,20 @@
public interface MemberMapper extends MPJBaseMapper<Member> {
    /**
/*    *//**
     * æ·»åŠ ç§¯åˆ†
     * @param memberId
     * @param integral
     */
     *//*
    @Select(" update member set INTEGRAL = ifNull( INTEGRAL,0) + #{integral} , TOTAL_INTEGRAL = ifNull(TOTAL_INTEGRAL,0) +  #{titleIntegral}   , EDIT_DATE = now() , EDITOR = #{memberId} where id = #{memberId}  ")
    void addIntegral(@Param("memberId") Integer memberId , @Param("integral")BigDecimal integral , @Param("titleIntegral")BigDecimal titleIntegral);
    /**
    *//**
     * å‡å°‘积分
     * @param memberId
     * @param integral
     */
     *//*
    @Select(" update member set INTEGRAL = ifNull( INTEGRAL,0) - #{integral} , EDIT_DATE = now() , EDITOR = #{memberId} where id = #{memberId}  ")
    void subtractIntegral(@Param("memberId") Integer memberId , @Param("integral")BigDecimal integral);
    void subtractIntegral(@Param("memberId") Integer memberId , @Param("integral")BigDecimal integral);*/
}
server/dmmall_service/src/main/java/com/doumee/dao/business/ShopMapper.java
@@ -13,38 +13,4 @@
 */
public interface ShopMapper extends BaseMapper<Shop> {
    /**
     * æ·»åŠ ç§¯åˆ†
     * @param shopId
     * @param integral
     */
    @Select(" update shop set INTEGRAL = ifNull( INTEGRAL,0) + #{integral} , TOTAL_INTEGRAL = ifNull(TOTAL_INTEGRAL,0) +  #{titleIntegral}   , EDIT_DATE = now()  where id = #{shopId}  ")
    void addIntegral(@Param("shopId") Integer shopId , @Param("integral") BigDecimal integral , @Param("titleIntegral")BigDecimal titleIntegral);
    /**
     * å‡å°‘积分
     * @param shopId
     * @param integral
     */
    @Select(" update shop set INTEGRAL = ifNull( INTEGRAL,0) - #{integral} , EDIT_DATE = now()   where id = #{shopId}  ")
    void subtractIntegral(@Param("shopId") Integer shopId , @Param("integral")BigDecimal integral);
    /**
     * æ·»åŠ ä½™é¢
     * @param shopId
     * @param amount
     */
    @Select(" update shop set AMOUNT = ifNull(AMOUNT,0) + #{amount} , TOTAL_AMOUNT = ifNull(TOTAL_AMOUNT,0) + #{titleAmount}   , EDIT_DATE = now()  where id = #{shopId}  ")
    void addAmount(@Param("shopId") Integer shopId , @Param("amount") BigDecimal amount , @Param("titleAmount")BigDecimal titleAmount);
    /**
     * å‡å°‘余额
     * @param shopId
     * @param amount
     */
    @Select(" update shop set AMOUNT = ifNull( AMOUNT,0) - #{amount} , EDIT_DATE = now()   where id = #{shopId}  ")
    void subtractAmount(@Param("shopId") Integer shopId , @Param("amount")BigDecimal amount);
}
server/dmmall_service/src/main/java/com/doumee/dao/business/ShopcartMapper.java
@@ -13,7 +13,8 @@
 */
public interface ShopcartMapper extends BaseMapper<Shopcart> {
    @Select(" select s.id as shopCartId , s.GOODS_SKU_ID  as goodsSkuId  , s.PRODUCT_ID as goodsId , g.name as goodsName , gs.`NAME` as skuName , s.num , gs.PRICE  , ifnull(gs.STATUS,1) as status ," +
    @Select(" select s.id as shopCartId , s.GOODS_SKU_ID  as goodsSkuId  , s.PRODUCT_ID as goodsId , g.name as goodsName , gs.`NAME` as skuName , s.num , gs.PRICE  ," +
            " CASE WHEN ( g.ISDELETED = 1 || g.`STATUS` = 1 || gs.ISDELETED = 1  ) THEN 1 ELSE 0 END status," +
            "case when gs.IMGURL = ''  then g.IMGURL  when gs.IMGURL is null then  g.IMGURL  else gs.IMGURL end imgUrl  " +
            " from shopcart s left join goods g on s.PRODUCT_ID = g.ID left join goods_sku gs ON s.GOODS_SKU_ID = gs.id " +
            "  where 1 = 1 and s.member_id = #{memberId} order by s.CREATE_DATE desc ")
server/dmmall_service/src/main/java/com/doumee/dao/business/model/Coupon.java
@@ -1,12 +1,9 @@
package com.doumee.dao.business.model;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.*;
import com.doumee.core.annotation.excel.ExcelColumn;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;
import com.fasterxml.jackson.annotation.JsonFormat;
import java.util.Date;
@@ -72,16 +69,17 @@
    @ApiModelProperty(value = "开始时间")
    @ExcelColumn(name="开始时间")
    @TableField(fill = FieldFill.UPDATE)
    private Date startDate;
    @ApiModelProperty(value = "结束时间")
    @ExcelColumn(name="结束时间")
    @TableField(fill = FieldFill.UPDATE)
    private Date endDate;
    @ApiModelProperty(value = "领取后有效天数", example = "1")
    @ExcelColumn(name="领取后有效天数")
    @TableField(fill = FieldFill.UPDATE)
    private Integer validDays;
    @ApiModelProperty(value = "领取方式 0领取 1兑换", example = "1")
server/dmmall_service/src/main/java/com/doumee/dao/business/model/Integral.java
@@ -31,7 +31,7 @@
    private Integer creator;
    @ApiModelProperty(value = "创建时间")
    @ExcelColumn(name="交易时间" ,index =1,width = 10)
    @ExcelColumn(name="交易时间" ,index =1,width = 10,dateFormat = "yyyy-MM-dd HH:mm:ss")
    private Date createDate;
    @ApiModelProperty(value = "更新人编码", example = "1")
server/dmmall_service/src/main/java/com/doumee/dao/business/model/Member.java
@@ -32,7 +32,7 @@
    private Integer creator;
    @ApiModelProperty(value = "创建时间")
    @ExcelColumn(name="创建时间",width = 10,index = 8,dateFormat = "yyyy-MM-dd HH:mm:ss")
    @ExcelColumn(name="创建时间",width = 10,index = 10,dateFormat = "yyyy-MM-dd HH:mm:ss")
    private Date createDate;
    @ApiModelProperty(value = "更新人编码", example = "1")
@@ -69,7 +69,7 @@
    private String phone;
    @ApiModelProperty(value = "身份证号")
   // @ExcelColumn(name="身份证号")
    @ExcelColumn(name="身份证号" ,width = 10,index = 5)
    private String idcard;
    @ApiModelProperty(value = "身份证正面照")
@@ -81,15 +81,19 @@
    private String idcardImgBack;
    @ApiModelProperty(value = "积分余额", example = "1")
    @ExcelColumn(name="积分余额",width = 10,index = 5)
    @ExcelColumn(name="积分余额",width = 10,index = 6)
    private BigDecimal integral;
    @ApiModelProperty(value = "积分累计", example = "1")
    @ExcelColumn(name="积分累计获得",width = 10,index = 6)
    @ExcelColumn(name="积分累计获得",width = 10,index = 7)
    private BigDecimal totalIntegral;
    @ApiModelProperty(value = "积分扣除累计", example = "1")
    @ExcelColumn(name="积分累计扣除",width = 10,index =8)
    @TableField(exist = false)
    private BigDecimal totalReduceIntegral;
    @ApiModelProperty(value = "状态0正常 1异常 2注销", example = "1")
    @ExcelColumn(name="状态",width = 10,index =9,valueMapping = "0=启用;1=禁用")
    @ExcelColumn(name="状态",width = 10,index =11,valueMapping = "0=启用;1=禁用;2=已注销;")
    private Integer status;
    @ApiModelProperty(value = "性别 0男 1女 2未知", example = "1")
@@ -163,7 +167,7 @@
    private String cityName;
    @ApiModelProperty(value = "经销商名称")
    @TableField(exist = false)
    @ExcelColumn(name = "关联经销商",width = 10,index = 7)
    @ExcelColumn(name = "关联经销商",width = 10,index = 9)
    private String shopName;
    @ApiModelProperty(value = "开始时间 ")
    @TableField(exist = false)
server/dmmall_service/src/main/java/com/doumee/dao/business/model/MemberCoupon.java
@@ -14,6 +14,7 @@
import com.fasterxml.jackson.annotation.JsonFormat;
import java.util.Date;
import java.math.BigDecimal;
import java.util.List;
import java.util.Objects;
/**
@@ -137,11 +138,18 @@
    @ApiModelProperty(value = "用户手机号")
    @TableField(exist = false)
    private String memberPhone;
    @ApiModelProperty(value = "领取方式集合")
    @TableField(exist = false)
    private List<Integer> methodList;
    @ApiModelProperty(value = "优惠金额(元)", example = "1")
    @ExcelColumn(name="优惠金额(元)",width = 10,index = 7)
    @TableField(exist = false)
    private BigDecimal   couponPrice     ;
    @ApiModelProperty(value = "是否过期 0未过期 1已过期", example = "1")
    @ExcelColumn(name="是否过期",width = 10,index = 14,valueMapping = "0=未过期;1=已过期;")
    @TableField(exist = false)
    private Integer isexpire;
    public static MemberCoupon couponToBean(Coupon coupon, Member member , Date now, Integer getMethod, LoginUserInfo loginUserInfo){
server/dmmall_service/src/main/java/com/doumee/dao/business/model/Shop.java
@@ -302,4 +302,12 @@
    @TableField(exist = false)
    private   List<ProductLabel> productList;
    @ApiModelProperty(value = "所属城市编码(关联areas)", example = "1")
    @TableField(exist = false)
    private Integer cityId;
    @ApiModelProperty(value = "所属省份编码(关联areas)", example = "1")
    @TableField(exist = false)
    private Integer provinceId;
}
server/dmmall_service/src/main/java/com/doumee/dao/web/dto/UserCenterVO.java
@@ -31,4 +31,22 @@
    @ApiModelProperty(value = "客服电话 å¤šä¸ªä»¥,分割")
    private String serverPhone;
    @ApiModelProperty(value = "商户积分页面背景图")
    private String shopIntegralBg;//SHOP_INTEGRAL_BG
    @ApiModelProperty(value = "用户邀请页面背景图")
    private String userInviteBg;//USER_INVITE_BG
    @ApiModelProperty(value = "个人中心邀请背景图")
    private String centerInviteBg;//CENTER_INVITE_BG
    @ApiModelProperty(value = "用户分享邀请背景图")
    private String userShareBg;//USER_SHARE_BG
}
server/dmmall_service/src/main/java/com/doumee/dao/web/request/DealIntegralRequest.java
@@ -38,5 +38,8 @@
    @ApiModelProperty(value = "消息参数")
    private String param1;
    @ApiModelProperty(value = "备注")
    private String remark;
}
server/dmmall_service/src/main/java/com/doumee/dao/web/response/HomeInfoResponse.java
@@ -32,7 +32,7 @@
    @ApiModelProperty(value = "待收货数量")
    private Long waitReceiveNum;
    @ApiModelProperty(value = "是否存在未读:0=无;1=存在")
    @ApiModelProperty(value = "是否存在未读:0=存在;1=不存在")
    private Integer unRead;
server/dmmall_service/src/main/java/com/doumee/dao/web/response/goods/MemberOrderResponse.java
@@ -122,6 +122,9 @@
    @ApiModelProperty(value = "支付单号", example = "1")
    private String payOrderId;
    @ApiModelProperty(value = "支付方式 0微信支付 1线下支付", example = "1")
    private Integer payMethod;
    @ApiModelProperty(value = "快递单号", example = "1")
    private String kdCode;
server/dmmall_service/src/main/java/com/doumee/service/business/BannerService.java
@@ -138,4 +138,5 @@
    PageData<ShopSimpleDTO> findRecommendShopPage(PageWrap<Banner> pageWrap);
    void updateStatus(Banner coupon);
}
server/dmmall_service/src/main/java/com/doumee/service/business/IntegralService.java
@@ -3,6 +3,8 @@
import com.doumee.core.model.PageData;
import com.doumee.core.model.PageWrap;
import com.doumee.dao.business.model.Integral;
import com.doumee.dao.business.model.Member;
import com.doumee.dao.business.model.Shop;
import com.doumee.dao.web.dto.IntegralDTO;
import com.doumee.dao.web.dto.IntegralRecordDTO;
import com.doumee.dao.web.request.DealIntegralRequest;
@@ -122,14 +124,14 @@
     * @param dealIntegralRequest å®žä½“对象
     * @return Integer
     */
    Integer dealIntegral(DealIntegralRequest dealIntegralRequest);
    Integer dealIntegral(DealIntegralRequest dealIntegralRequest, Member member);
    /**
     * æ›´æ–°ç»é”€å•†ç§¯åˆ†
     * @param dealIntegralRequest
     * @return
     */
    Integer dealShopIntegral(DealIntegralRequest dealIntegralRequest);
    Integer dealShopIntegral(DealIntegralRequest dealIntegralRequest, Shop shop);
    /**
     * æ›´æ–°ç»é”€å•†é‡‘额
server/dmmall_service/src/main/java/com/doumee/service/business/impl/ActivityServiceImpl.java
@@ -429,6 +429,7 @@
        }*/
        queryWrapper.eq(Activity::getIsdeleted, Constants.ZERO);
        queryWrapper.eq(pageWrap.getModel().getStatus() !=null, Activity::getStatus, pageWrap.getModel().getStatus());
        queryWrapper.eq(pageWrap.getModel().getLabelId() !=null, Activity::getLabelId, pageWrap.getModel().getLabelId());
        queryWrapper.eq(pageWrap.getModel().getBrandId() !=null, Activity::getBrandId, pageWrap.getModel().getBrandId());
        queryWrapper.like(StringUtils.isNotBlank(pageWrap.getModel().getName()), Activity::getName, pageWrap.getModel().getName());
server/dmmall_service/src/main/java/com/doumee/service/business/impl/AftersaleServiceImpl.java
@@ -318,7 +318,7 @@
        param.setDealType(Constants.ZERO);
        param.setIntegralNum(integral);
        param.setIntegralObjType(Constants.IntegralObjType.AFTERSALE_BACK);
        integralService.dealIntegral(param);
        integralService.dealIntegral(param,null);
    }
    private void isBackMoneyValid(BigDecimal actmoney, BigDecimal perPrice, Integer goodsNum, BigDecimal orderPrice,BigDecimal orderIntegral, BigDecimal orderCouponPrice) {
@@ -1064,7 +1064,7 @@
                    dealIntegralRequest.setObjId(goodsorder.getId());
                    dealIntegralRequest.setOrderCode(goodsorder.getCode().toString());
                    dealIntegralRequest.setIntegralObjType(Constants.IntegralObjType.SHOP_ORDER_REFUND_INTEGRAL);
                    integralService.dealShopIntegral(dealIntegralRequest);
                    integralService.dealShopIntegral(dealIntegralRequest,null);
                }
            }
        }
@@ -1109,7 +1109,7 @@
                    dealIntegralRequest.setObjId(goodsorder.getId());
                    dealIntegralRequest.setOrderCode(goodsorder.getCode().toString());
                    dealIntegralRequest.setIntegralObjType(Constants.IntegralObjType.MEMBER_ORDER_REFUND_RETURN);
                    integralService.dealIntegral(dealIntegralRequest);
                    integralService.dealIntegral(dealIntegralRequest,null);
                }
            }
        }
@@ -1125,7 +1125,7 @@
            dealIntegralRequest.setOrderCode(goodsorder.getCode().toString());
            dealIntegralRequest.setIntegralObjType(Constants.IntegralObjType.MEMBER_ORDER_REFUND);
            dealIntegralRequest.setParam1(goodsorder.getCode().toString());
            integralService.dealIntegral(dealIntegralRequest);
            integralService.dealIntegral(dealIntegralRequest,null);
        }
        //订单退款 é€€å›žå®¢æˆ·ä½¿ç”¨çš„优惠券
server/dmmall_service/src/main/java/com/doumee/service/business/impl/BannerServiceImpl.java
@@ -11,10 +11,7 @@
import com.doumee.dao.business.BannerMapper;
import com.doumee.dao.business.LabelsMapper;
import com.doumee.dao.business.join.BannerJoinMapper;
import com.doumee.dao.business.model.Areas;
import com.doumee.dao.business.model.Banner;
import com.doumee.dao.business.model.Goods;
import com.doumee.dao.business.model.Labels;
import com.doumee.dao.business.model.*;
import com.doumee.dao.web.dto.ArticleDTO;
import com.doumee.dao.web.dto.BannerDTO;
import com.doumee.dao.web.dto.LabelsBannerDTO;
@@ -290,6 +287,16 @@
    @Override
    public void updateStatus(Banner coupon) {
        LoginUserInfo user = (LoginUserInfo) SecurityUtils.getSubject().getPrincipal();
        if(coupon.getId()==null||coupon.getStatus()==null){
            throw new BusinessException(ResponseStatus.BAD_REQUEST.getCode(), ResponseStatus.BAD_REQUEST.getMessage());
        }
        coupon.setEditor(user.getId());
        coupon.setEditDate(new Date());
        bannerMapper.updateById(coupon);
    }
    @Override
    public PageData<ShopSimpleDTO> findRecommendShopPage(PageWrap<Banner> pageWrap) {
        IPage<Banner> page = new Page<>(pageWrap.getPage(), pageWrap.getCapacity());
        QueryWrapper<Banner> queryWrapper = new QueryWrapper<>();
server/dmmall_service/src/main/java/com/doumee/service/business/impl/CardServiceImpl.java
@@ -254,6 +254,6 @@
        dealIntegralRequest.setMemberId(memberId);
        dealIntegralRequest.setObjId(card.getId());
        dealIntegralRequest.setDealType(Constants.ZERO);
        integralService.dealIntegral(dealIntegralRequest);
        integralService.dealIntegral(dealIntegralRequest,null);
    }
}
server/dmmall_service/src/main/java/com/doumee/service/business/impl/CommentServiceImpl.java
@@ -1,7 +1,10 @@
package com.doumee.service.business.impl;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.doumee.biz.system.SystemDictDataBiz;
import com.doumee.config.listener.event.IntegralEvent;
import com.doumee.core.constants.ResponseStatus;
import com.doumee.core.exception.BusinessException;
import com.doumee.core.model.LoginUserInfo;
@@ -23,11 +26,6 @@
import com.doumee.dao.web.dto.activity.ActivityReplyCommentDTO;
import com.doumee.dao.web.request.CommentApplyRequest;
import com.doumee.service.business.CommentService;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.doumee.service.business.MemberService;
import com.doumee.service.business.ZanService;
import com.github.yulichang.wrapper.MPJLambdaWrapper;
import org.apache.commons.collections4.MapUtils;
@@ -124,8 +122,6 @@
                target.setMemberImgUrl(memberFile + member.getImgurl());
            }
        }
        IntegralEvent<Comment> integralEvent = new IntegralEvent(this,target, Constants.CoffeeBeanTask.POST_COMMENTS,memberId);
        applicationEventPublisher.publishEvent(integralEvent);
        target.setZanCount(Constants.ZERO);
        target.setZanStatus(Constants.ZERO);
        return target;
@@ -189,7 +185,7 @@
        QueryWrapper<Comment> wrapper = new QueryWrapper<>(comment);
        return commentMapper.selectList(wrapper);
    }
    @Override
    public PageData<Comment> findPage(PageWrap<Comment> pageWrap) {
        IPage<Comment> page = new Page<>(pageWrap.getPage(), pageWrap.getCapacity());
server/dmmall_service/src/main/java/com/doumee/service/business/impl/CouponServiceImpl.java
@@ -76,10 +76,19 @@
                || coupon.getType()==null
                ||coupon.getLimitPrice()==null
                ||coupon.getPrice()==null
                ||coupon.getUseType() ==null
                ||coupon.getNum()==null
                ||(coupon.getUseType() ==0 &&(
                    coupon.getStartDate()==null
                    ||coupon.getEndDate()==null
                  ))
                ||(coupon.getUseType() ==1 &&(
                    coupon.getValidDays()==null
                    || coupon.getValidDays()<=0
                  ))
              /*  ||coupon.getIntegral()==null*/
                ||coupon.getStartDate()==null
                ||coupon.getEndDate()==null
//                ||coupon.getStartDate()==null
//                ||coupon.getEndDate()==null
//                ||coupon.getValidDays()==null
        ){
@@ -96,6 +105,12 @@
            if(Objects.isNull(shop)){
                throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(), "关联的店铺不存在!");
            }
        }
        if(coupon.getUseType() ==0){
            coupon.setValidDays(null);
        }else{
            coupon.setStartDate(null);
            coupon.setEndDate(null);
        }
        coupon.setApplyIds("");
        if(Constants.equalsInteger(coupon.getApplyType(),Constants.TWO) && coupon.getApplyIdList()!=null){
@@ -139,7 +154,7 @@
        isCreateParamValid(coupon);
        Coupon query= couponMapper.selectById(coupon.getId());
        initCouponStatus(query);
     /*   if(!Constants.equalsInteger(query.getCouponStatus(),Constants.ZERO)){
       /* if(!Constants.equalsInteger(query.getCouponStatus(),Constants.ZERO)){
            throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(), "活动已开始/已结束状态,不支持编辑操作");
        }*/
        coupon.setEditor(user.getId());
server/dmmall_service/src/main/java/com/doumee/service/business/impl/GoodsServiceImpl.java
@@ -354,7 +354,23 @@
                    .set(Goods::getEditor,user.getId())
                    .set(Goods::getStatus,Constants.ONE )
                    .in(Goods::getId,idList));
            //批量下架 sku数据
            goodsSkuMapper.update(null,new UpdateWrapper<GoodsSku>().lambda()
                    .set(GoodsSku::getEditDate,new Date() )
                    .set(GoodsSku::getEditor,user.getId())
                    .set(GoodsSku::getStatus,Constants.ONE )
                    .eq(GoodsSku::getIsdeleted,Constants.ZERO)
                    .in(GoodsSku::getGoodsId,idList));
            return;
        }else{
            //批量上架 sku数据
            goodsSkuMapper.update(null,new UpdateWrapper<GoodsSku>().lambda()
                    .set(GoodsSku::getEditDate,new Date() )
                    .set(GoodsSku::getEditor,user.getId())
                    .set(GoodsSku::getStatus,Constants.ZERO )
                    .eq(GoodsSku::getIsdeleted,Constants.ZERO)
                    .in(GoodsSku::getGoodsId,idList));
        }
        long shopNum   = shopMapper.selectCount(new QueryWrapper<Shop>().lambda()
                .eq(Shop::getIsdeleted,Constants.ZERO)
@@ -658,6 +674,7 @@
        }
        Multifile find = new Multifile();
        find.setObjId(id);
        find.setObjType(Constants.MultiFile.PLATFORM_GOOD_ROTATION.getKey());
        find.setIsdeleted(Constants.ZERO);
        List<Multifile> fileList=  multifileMapper.selectList(new QueryWrapper<>(find));
        goods.setFileList(fileList);
@@ -860,6 +877,7 @@
                    " INNER JOIN goods g on  g.id=gs.GOODS_ID " +
                    " where gs.STOCK<=0 and gs.ISDELETED=0 and g.id=t.id ");
        }
        queryWrapper.eq(!Constants.equalsInteger(pageWrap.getModel().getTabStatus(), 3), Goods::getIsdeleted, Constants.ZERO);
        queryWrapper.eq(Constants.equalsInteger(pageWrap.getModel().getTabStatus(), 3), Goods::getIsdeleted, Constants.ONE);
server/dmmall_service/src/main/java/com/doumee/service/business/impl/GoodsorderServiceImpl.java
@@ -507,6 +507,9 @@
        queryWrapper.le(pageWrap.getModel().getEndtime()!=null,Goodsorder::getCreateDate, pageWrap.getModel().getEndtime());
        queryWrapper.eq(pageWrap.getModel().getReceiveType()!=null,Goodsorder::getReceiveType,pageWrap.getModel().getReceiveType());
        queryWrapper.eq(pageWrap.getModel().getPayOrderId()!=null,Goodsorder::getPayOrderId,pageWrap.getModel().getPayOrderId());
        if (StringUtils.isNotBlank(pageWrap.getModel().getGoodsName())) {
            queryWrapper.exists("select gs.id  from goodsorder_detail gs  where gs.order_id=t.id and gs.isdeleted=0 and gs.NAME like '%"+pageWrap.getModel().getGoodsName()+"%' ");
        }
    }
@@ -586,6 +589,7 @@
        Utils.MP.blankToNull(pageWrap.getModel());
        queryWrapper.selectAll(Goodsorder.class)
         .eq(pageWrap.getModel().getReceiveType()!=null,Goodsorder::getReceiveType,pageWrap.getModel().getReceiveType())
         .eq(pageWrap.getModel().getDistributionShopId()!=null,Goodsorder::getDistributionShopId,pageWrap.getModel().getDistributionShopId())
         .eq(pageWrap.getModel().getStatus()!=null,Goodsorder::getStatus,pageWrap.getModel().getStatus())
         .eq(pageWrap.getModel().getCode()!=null,Goodsorder::getCode,pageWrap.getModel().getCode())
@@ -766,6 +770,8 @@
            }
            goodsorder.setPickUpShopId(shop.getId());
            goodsorder.setDistributionShopId(shop.getId());
            goodsorder.setLinkname(member.getName());
            goodsorder.setLinkphone(member.getPhone());
            if(Objects.isNull(member.getBindShopId())){
                member.setBindShopId(shop.getId());
                member.setBindShopDate(new Date());
@@ -905,7 +911,7 @@
            dealIntegralRequest.setObjId(goodsorder.getId());
            dealIntegralRequest.setOrderCode(goodsorder.getCode().toString());
            dealIntegralRequest.setIntegralObjType(Constants.IntegralObjType.MEMBER_ORDER);
            integralService.dealIntegral(dealIntegralRequest);
            integralService.dealIntegral(dealIntegralRequest,null);
        }
        if(goodsorder.getPrice().compareTo(orderPayRequest.getTitlePrice())!=Constants.ZERO){
@@ -1191,7 +1197,7 @@
            dealIntegralRequest.setObjId(goodsorder.getId());
            dealIntegralRequest.setOrderCode(goodsorder.getCode().toString());
            dealIntegralRequest.setIntegralObjType(Constants.IntegralObjType.MEMBER_ORDER_CANCEL);
            integralService.dealIntegral(dealIntegralRequest);
            integralService.dealIntegral(dealIntegralRequest,null);
        }
        //订单信息取消
        goodsorder.setStatus(Constants.OrderStatus.CLOSE.getKey());
@@ -1268,7 +1274,7 @@
            dealIntegralRequest.setObjId(goodsorder.getId());
            dealIntegralRequest.setOrderCode(goodsorder.getCode().toString());
            dealIntegralRequest.setIntegralObjType(Constants.IntegralObjType.MEMBER_ORDER_CANCEL);
            integralService.dealIntegral(dealIntegralRequest);
            integralService.dealIntegral(dealIntegralRequest,null);
        }
        //订单信息取消
        goodsorder.setStatus(Constants.OrderStatus.CLOSE.getKey());
@@ -1653,7 +1659,7 @@
        this.orderAddShopIntegral(goodsorder);
        //下单完成 æ ¹æ®ä¿¡æ¯ç¡®è®¤æ˜¯å¦éœ€è¦èµ é€é‚€è¯·è€…优惠券
        this.orderDoneRewardInviteCoupon(goodsorder);
        //消费者确认收货
        //赠送消费者下单积分
        this.orderAddMemberIntegral(goodsorder);
        //经销商 ç»“算金额
        this.orderAddShopCash(goodsorder);
@@ -1707,7 +1713,6 @@
                }
                couponIds = couponIds + (StringUtils.isBlank(couponIds)? ",":"" )+ couponId ;
                couponNames = couponNames + (StringUtils.isBlank(couponNames)? ",":"" )+ coupon.getName() ;
                CouponNoticeRequest couponNoticeRequest = new CouponNoticeRequest();
                couponNoticeRequest.setMemberCoupon(memberCoupon);
@@ -1801,7 +1806,7 @@
            if(Objects.nonNull(member)){
                dealIntegralRequest.setParam1(member.getNickname());
            }
            integralService.dealShopIntegral(dealIntegralRequest);
            integralService.dealShopIntegral(dealIntegralRequest,null);
        }
    }
@@ -1846,7 +1851,7 @@
            dealIntegralRequest.setObjId(goodsorder.getId());
            dealIntegralRequest.setOrderCode(goodsorder.getCode().toString());
            dealIntegralRequest.setIntegralObjType(Constants.IntegralObjType.ORDER_DONATE);
            integralService.dealIntegral(dealIntegralRequest);
            integralService.dealIntegral(dealIntegralRequest,null);
        }
    }
server/dmmall_service/src/main/java/com/doumee/service/business/impl/IntegralServiceImpl.java
@@ -146,8 +146,10 @@
    @Override
    @Transactional(rollbackFor = {Exception.class, BusinessException.class})
    public Integer dealIntegral(DealIntegralRequest dealIntegralRequest) {
        Member member = memberMapper.selectById(dealIntegralRequest.getMemberId());
    public Integer dealIntegral(DealIntegralRequest dealIntegralRequest,Member member) {
        if(member == null){
              member = memberMapper.selectById(dealIntegralRequest.getMemberId());
        }
        if(Objects.isNull(member)){
            throw new BusinessException(ResponseStatus.DATA_EMPTY.getCode(),"未查询到用户信息");
        }
@@ -163,6 +165,7 @@
            info = info .replace("${param1}",dealIntegralRequest.getParam1());
        }
        integral.setContent(info);
        integral.setRemark(dealIntegralRequest.getRemark());
        integral.setObjId(dealIntegralRequest.getObjId());
        integral.setObjType(dealIntegralRequest.getIntegralObjType().getKey());
        integral.setType(dealIntegralRequest.getDealType());
@@ -171,27 +174,29 @@
        integral.setOrderCode(dealIntegralRequest.getOrderCode());
        integral.setUserType(Constants.ZERO);
        integralMapper.insert(integral);
        if(dealIntegralRequest.getDealType().equals(Constants.ZERO)){
            memberMapper.addIntegral(member.getId(),dealIntegralRequest.getIntegralNum(),
                    dealIntegralRequest.getIntegralObjType().getAddTitle()==Constants.ZERO?dealIntegralRequest.getIntegralNum():BigDecimal.ZERO);
        }else{
            memberMapper.subtractIntegral(member.getId(),dealIntegralRequest.getIntegralNum());
        }
        LoginUserInfo user =(LoginUserInfo) SecurityUtils.getSubject().getPrincipal();
        memberMapper.update(null,new UpdateWrapper<Member>().lambda()
                .eq(Member::getId,member.getId())
                .set(Member::getEditDate,new Date())
                .set(Member::getEditor,user!=null ? user.getId():null)
                .setSql(dealIntegralRequest.getDealType().equals(Constants.ZERO),"total_integral = ifnull(total_integral,0)+" + dealIntegralRequest.getIntegralNum())//累计增加
                .setSql(dealIntegralRequest.getDealType().equals(Constants.ZERO),"integral = ifnull(integral,0)+" +  dealIntegralRequest.getIntegralNum())
                .setSql(dealIntegralRequest.getDealType().equals(Constants.ONE),"integral = ifnull(integral,0)-" + dealIntegralRequest.getIntegralNum()));
        //站内信
        noticeService.saveMemberIntegralNotice(
                dealIntegralRequest.getIntegralObjType(),Constants.ZERO,member.getId(),dealIntegralRequest.getIntegralNum(),
                integral.getId(), info
        );
        return integral.getId();
    }
    @Override
    @Transactional(rollbackFor = {Exception.class, BusinessException.class})
    public Integer dealShopIntegral(DealIntegralRequest dealIntegralRequest) {
        Shop shop = shopMapper.selectById(dealIntegralRequest.getMemberId());
    public Integer dealShopIntegral(DealIntegralRequest dealIntegralRequest,Shop shop) {
        LoginUserInfo user = (LoginUserInfo) SecurityUtils.getSubject().getPrincipal();
        if(shop ==null){
            shop = shopMapper.selectById(dealIntegralRequest.getMemberId());
        }
        if(Objects.isNull(shop)){
            throw new BusinessException(ResponseStatus.DATA_EMPTY.getCode(),"未查询到商户信息");
        }
@@ -199,7 +204,7 @@
        integral.setMemberId(shop.getId());
        integral.setCreateDate(new Date());
        integral.setIsdeleted(Constants.ZERO);
        integral.setTitle(dealIntegralRequest.getIntegralObjType().getName());
        integral.setTitle( dealIntegralRequest.getIntegralObjType()!=null?dealIntegralRequest.getIntegralObjType().getName():"");
        String info = dealIntegralRequest.getIntegralObjType().getNoteinfo();
        info = info.replace("${param}",dealIntegralRequest.getIntegralNum().toString());
        if(StringUtils.isNotBlank(dealIntegralRequest.getParam1())){
@@ -209,19 +214,28 @@
        integral.setObjId(dealIntegralRequest.getObjId());
        integral.setObjType(dealIntegralRequest.getIntegralObjType().getKey());
        integral.setType(dealIntegralRequest.getDealType());
        integral.setRemark(dealIntegralRequest.getRemark());
        integral.setNum(dealIntegralRequest.getIntegralNum());
        shop.setIntegral(Constants.formatBigdecimal(shop.getIntegral()));
        integral.setTotalNum(dealIntegralRequest.getDealType().equals(Constants.ZERO)? shop.getIntegral().add(integral.getNum()):shop.getIntegral().subtract(integral.getNum()));
        integral.setOrderCode(dealIntegralRequest.getOrderCode());
        integral.setUserType(Constants.ONE);
        integralMapper.insert(integral);
        if(dealIntegralRequest.getDealType().equals(Constants.ZERO)){
        shopMapper.update(null,new UpdateWrapper<Shop>().lambda()
                    .eq(Shop::getId,shop.getId())
                    .set(Shop::getEditDate,new Date())
                    .set(Shop::getEditor,user!=null ? user.getId():null)
                    .setSql(dealIntegralRequest.getDealType().equals(Constants.ZERO),"total_integral = ifnull(total_integral,0)+" + dealIntegralRequest.getIntegralNum())//累计增加
                    .setSql(dealIntegralRequest.getDealType().equals(Constants.ZERO),"integral = ifnull(integral,0)+" +  dealIntegralRequest.getIntegralNum())
                    .setSql(dealIntegralRequest.getDealType().equals(Constants.ONE),"integral = ifnull(integral,0)-" + dealIntegralRequest.getIntegralNum()));
     /* if(dealIntegralRequest.getDealType().equals(Constants.ZERO)){
            shopMapper.addIntegral(shop.getId(),dealIntegralRequest.getIntegralNum(),
                    dealIntegralRequest.getIntegralObjType().getAddTitle()==Constants.ZERO?dealIntegralRequest.getIntegralNum():BigDecimal.ZERO);
        }else{
            shopMapper.subtractIntegral(shop.getId(),dealIntegralRequest.getIntegralNum());
        }
        }*/
        //站内信
        noticeService.saveMemberIntegralNotice(
@@ -258,12 +272,23 @@
        integral.setOrderCode(dealIntegralRequest.getOrderCode());
        integral.setUserType(Constants.TWO);
        integralMapper.insert(integral);
        if(dealIntegralRequest.getDealType().equals(Constants.ZERO)){
        LoginUserInfo user =(LoginUserInfo) SecurityUtils.getSubject().getPrincipal();
        shopMapper.update(null,new UpdateWrapper<Shop>().lambda()
                .eq(Shop::getId,shop.getId())
                .set(Shop::getEditDate,new Date())
                .set(Shop::getEditor,user!=null ? user.getId():null)
                .setSql(dealIntegralRequest.getDealType().equals(Constants.ZERO),"total_integral = ifnull(total_integral,0)+" + dealIntegralRequest.getIntegralNum())//累计增加
                .setSql(dealIntegralRequest.getDealType().equals(Constants.ZERO),"integral = ifnull(integral,0)+" +  dealIntegralRequest.getIntegralNum())
                .setSql(dealIntegralRequest.getDealType().equals(Constants.ONE),"integral = ifnull(integral,0)-" + dealIntegralRequest.getIntegralNum()));
      /*  if(dealIntegralRequest.getDealType().equals(Constants.ZERO)){
            shopMapper.addAmount(shop.getId(),dealIntegralRequest.getIntegralNum(),
                    dealIntegralRequest.getIntegralObjType().getAddTitle()==Constants.ZERO?dealIntegralRequest.getIntegralNum():BigDecimal.ZERO);
        }else{
            shopMapper.subtractAmount(shop.getId(),dealIntegralRequest.getIntegralNum());
        }
        }*/
        return integral.getId();
    }
@@ -511,9 +536,13 @@
        }
        LoginUserInfo user = (LoginUserInfo) SecurityUtils.getSubject().getPrincipal();
        Date date = new Date();
        Integral integral = new Integral();
//        Date date = new Date();
//        Integral integral = new Integral();
        Constants.IntegralObjType integralObjType =null;
        DealIntegralRequest dealIntegralRequest = new DealIntegralRequest();
        dealIntegralRequest.setIntegralNum(param.getNum());
        dealIntegralRequest.setRemark(param.getRemark());
        dealIntegralRequest.setDealType(param.getType());
        if(Constants.equalsInteger(param.getUserType(), Constants.ZERO)){//用户账号
            MPJLambdaWrapper<Member> queryWrapper =new MPJLambdaWrapper<>();
            queryWrapper.selectAll(Member.class);
@@ -532,28 +561,11 @@
                throw new BusinessException(ResponseStatus.BAD_REQUEST.getCode(),"用户账户余额不足!");
            }
            integralObjType = param.getType()==0?Constants.IntegralObjType.SYSTEM_RECHARGE:Constants.IntegralObjType.SYSTEM_DEDUCT;
            DealIntegralRequest dealIntegralRequest = new DealIntegralRequest();
            dealIntegralRequest.setIntegralNum(num);
            dealIntegralRequest.setDealType(param.getType());
            dealIntegralRequest.setMemberId(model.getId());
            dealIntegralRequest.setObjId(null);
            dealIntegralRequest.setOrderCode(null);
            dealIntegralRequest.setRemark(param.getRemark());
            dealIntegralRequest.setIntegralObjType(integralObjType);
            this.dealIntegral(dealIntegralRequest);
            this.dealIntegral(dealIntegralRequest,model);
            //账户余额
//            memberMapper.update(null,new UpdateWrapper<Member>().lambda()
//                    .eq(Member::getId,model.getId())
//                    .set(Member::getEditDate,date)
//                    .set(Member::getEditor,user.getId())
//                    .setSql(param.getType() == 0,"total_integral = ifnull(total_integral,0)+" + num)//累计增加
//                    .setSql(param.getType() == 0,"integral = ifnull(integral,0)+" + param.getNum())
//                    .setSql(param.getType() == 1,"integral = ifnull(integral,0)-" + param.getNum()));
//
//            integralObjType = param.getType()==0?Constants.IntegralObjType.SYSTEM_RECHARGE:Constants.IntegralObjType.SYSTEM_DEDUCT;
//            integral.setTotalNum(param.getType() == 0? Constants.formatBigdecimal(model.getIntegral()).add(param.getNum()):Constants.formatBigdecimal(model.getIntegral()).subtract(param.getNum()));
//            integral.setUserType(Constants.ZERO);
        }else{//经销商账户
            Shop model = shopMapper.selectById(param.getMemberId());
            if(model == null ||Constants.equalsObject(model.getIsdeleted(),Constants.ONE)){
@@ -565,42 +577,15 @@
//                num = num.multiply(new BigDecimal(-1));//减少
                throw new BusinessException(ResponseStatus.BAD_REQUEST.getCode(),"经销商账户积分余额不足!");
            }
            //账户余额
//            shopMapper.update(null,new UpdateWrapper<Shop>().lambda()
//                    .eq(Shop::getId,model.getId())
//                    .set(Shop::getEditDate,date)
//                    .set(Shop::getEditor,user.getId())
//                    .setSql(param.getType() == 0,"total_integral = ifnull(total_integral,0)+" + num)//累计增加
//                    .setSql(param.getType() == 0,"integral = ifnull(integral,0)+" + param.getNum())
//                    .setSql(param.getType() == 1,"integral = ifnull(integral,0)-" + param.getNum()));
//            integralObjType = param.getType()==0?Constants.IntegralObjType.SHOP_SYSTEM_RECHARGE:Constants.IntegralObjType.SHOP_SYSTEM_DEDUCT;
//            integral.setTotalNum(param.getType() == 0? Constants.formatBigdecimal(model.getIntegral()).add(param.getNum()):Constants.formatBigdecimal(model.getIntegral()).subtract(param.getNum()));
//            integral.setUserType(Constants.ONE);
            DealIntegralRequest dealIntegralRequest = new DealIntegralRequest();
            dealIntegralRequest.setIntegralNum(num);
            dealIntegralRequest.setDealType(param.getType());
            integralObjType = param.getType()==0?Constants.IntegralObjType.SHOP_SYSTEM_RECHARGE:Constants.IntegralObjType.SHOP_SYSTEM_DEDUCT;
            dealIntegralRequest.setMemberId(model.getId());
            dealIntegralRequest.setObjId(null);
            dealIntegralRequest.setOrderCode(null);
            dealIntegralRequest.setIntegralObjType(integralObjType);
            this.dealShopIntegral(dealIntegralRequest);
            this.dealShopIntegral(dealIntegralRequest,model);
        }
//        integral.setCreateDate(new Date());
//        integral.setCreator(user.getId());
//        integral.setIsdeleted(Constants.ZERO);
//        integral.setNum(param.getNum());
//        integral.setTitle(integralObjType.getName());
//        integral.setContent(integralObjType.getNoteinfo().replace("${param}",integral.getNum().toString()));
//        integral.setMemberId(param.getMemberId());
//        integral.setObjId(param.getMemberId());
//        integral.setObjType(integralObjType.getKey());
//        integral.setType(param.getType());
//        integral.setRemark(param.getRemark());
//        integral.setOrderCode(null);
//        integralMapper.insert(integral);
    }
    @Override
    public IntegralDataResponse getIntegralData(IntegralRecordDTO model){
server/dmmall_service/src/main/java/com/doumee/service/business/impl/MemberCouponServiceImpl.java
@@ -70,24 +70,25 @@
    @Override
    @Transactional(rollbackFor = {BusinessException.class,Exception.class})
    public    String addBatch(MemberCouponAddDTO memberCoupon){
        checkAddBatchParamValid(memberCoupon);
    public    String addBatch(MemberCouponAddDTO memberCouponAddDTO){
        checkAddBatchParamValid(memberCouponAddDTO);
        List<Coupon> couponList = getCouponListByParam(memberCoupon);
        List<Member> memberList = getMemberListByParam(memberCoupon);
        List<Coupon> couponList = getCouponListByParam(memberCouponAddDTO);
        List<Member> memberList = getMemberListByParam(memberCouponAddDTO);
        List<MemberCoupon>  addList = new ArrayList<>();
        int index =1;
        LoginUserInfo loginUserInfo = (LoginUserInfo)SecurityUtils.getSubject().getPrincipal();
        Date now = new Date();
        for(Coupon param  : memberCoupon.getAddCouponList()){
        for(Coupon param  : memberCouponAddDTO.getAddCouponList()){
            Coupon  coupon = getCouponFromListById(param.getId(),couponList);
            if(coupon == null){
                throw  new BusinessException(ResponseStatus.BAD_REQUEST.getCode(),"对不起,第【"+index+"】个优惠券查询无效,请刷新页面重新!");
            }
            for(Member member : memberList){
                for (int i = 0; i < Constants.formatLongNum(param.getNum()); i++) {
                    MemberCoupon memberCoupon = MemberCoupon.couponToBean(coupon,member,now,Constants.TWO,loginUserInfo);
                    //挨个送
                    addList.add(MemberCoupon.couponToBean(coupon,member,now,Constants.TWO,loginUserInfo));
                    addList.add(memberCoupon);
                }
            }
            index++;
@@ -97,7 +98,6 @@
            memberCouponMapper.insert(addList);
        }
        return "操作成功,成功人员数量:"+memberList.size()+",共发放优惠券数量:"+addList.size();
    }
/*
@@ -325,13 +325,16 @@
        queryWrapper.leftJoin(Goodsorder.class,Goodsorder::getId,MemberCoupon::getOrderId);
        queryWrapper.leftJoin(SystemUser.class,SystemUser::getId,MemberCoupon::getCreator);
        queryWrapper.eq(MemberCoupon::getIsdeleted, Constants.ZERO);
        if(pageWrap.getModel().getStatus()!=null && pageWrap.getModel().getStatus()!=2){
            queryWrapper.eq(pageWrap.getModel().getStatus()!=null,MemberCoupon::getStatus, pageWrap.getModel().getStatus());
        } else if (pageWrap.getModel().getStatus()!=null && pageWrap.getModel().getStatus()==2) {
            //查询已过期(未使用,切已过了使用期限)
            queryWrapper.eq( MemberCoupon::getStatus, Constants.ZERO);
            queryWrapper.lt( MemberCoupon::getEndDate, new Date());
        if(Constants.equalsInteger(pageWrap.getModel().getStatus(),0)&&pageWrap.getModel().getIsexpire()!=null && pageWrap.getModel().getIsexpire()== 0){
            queryWrapper.gt( MemberCoupon::getEndDate, new Date());
        } else if (Constants.equalsInteger(pageWrap.getModel().getStatus(),0)&&pageWrap.getModel().getIsexpire()!=null && pageWrap.getModel().getIsexpire()== 1) {
            queryWrapper.le( MemberCoupon::getEndDate, new Date());
        }
        queryWrapper.in(pageWrap.getModel().getMethodList()!=null,MemberCoupon::getGetMethod, pageWrap.getModel().getMethodList());
        queryWrapper.eq(pageWrap.getModel().getStatus()!=null,MemberCoupon::getStatus, pageWrap.getModel().getStatus());
        queryWrapper.eq(pageWrap.getModel().getCouponType()!=null,MemberCoupon::getCouponType, pageWrap.getModel().getCouponType());
        queryWrapper.eq(pageWrap.getModel().getCouponId()!=null,MemberCoupon::getCouponId, pageWrap.getModel().getCouponId());
        queryWrapper.like(pageWrap.getModel().getName()!=null,MemberCoupon::getName, pageWrap.getModel().getName());
        queryWrapper.eq(pageWrap.getModel().getOrderCode()!=null,Goodsorder::getCode, pageWrap.getModel().getOrderCode());
        queryWrapper.eq(pageWrap.getModel().getGetMethod()!=null,MemberCoupon::getGetMethod, pageWrap.getModel().getGetMethod());
        queryWrapper.and(StringUtils.isNotBlank(pageWrap.getModel().getNikeName()),ms -> ms.like( Member::getNickname,  pageWrap.getModel().getNikeName()).
@@ -346,7 +349,9 @@
                        && model.getEndDate()!=null
                        && model.getEndDate().before(new Date())){
                    //已过期
                    model.setStatus(Constants.TWO);
                    model.setIsexpire(Constants.ONE);
                }else if(Constants.equalsInteger(model.getStatus(),Constants.ZERO)){
                    model.setIsexpire(Constants.ZERO);
                }
            }
        }
@@ -520,10 +525,7 @@
        memberCoupon.setBackIntegral(BigDecimal.ZERO);
        memberCoupon.setName(coupon.getName());
        memberCouponMapper.insert(memberCoupon);
        //TODO æ·»åŠ ç§¯åˆ†å˜åŠ¨è®°å½•
        //更新用户积分
        memberMapper.subtractIntegral(memberId,memberCoupon.getIntegral());
    }
server/dmmall_service/src/main/java/com/doumee/service/business/impl/MemberServiceImpl.java
@@ -253,13 +253,13 @@
                 .or().like(Member::getName,pageWrap.getModel().getNickname())
                .or().like(Member::getPhone,pageWrap.getModel().getNickname())
        );
        queryWrapper.like(StringUtils.isNotBlank(pageWrap.getModel().getShopName()),Shop::getStatus,pageWrap.getModel().getShopName());
        queryWrapper.like(StringUtils.isNotBlank(pageWrap.getModel().getShopName()),Shop::getName,pageWrap.getModel().getShopName());
        queryWrapper.eq(pageWrap.getModel().getStatus()!=null,Member::getStatus,pageWrap.getModel().getStatus());
        queryWrapper.eq(Member::getIsdeleted,Constants.ZERO);
        queryWrapper.ge(pageWrap.getModel().getStarttime()!=null, Member::getCreateDate,pageWrap.getModel().getStarttime());
        queryWrapper.le(pageWrap.getModel().getEndtime()!=null,Member::getCreateDate, pageWrap.getModel().getEndtime());
        queryWrapper.orderByDesc(Member::getCreateDate);
        queryWrapper.orderByDesc(Member::getId);
        IPage<Member> result = memberJoinMapper.selectJoinPage(page, Member.class, queryWrapper);
@@ -269,6 +269,10 @@
            for(Member model:result.getRecords()){
                if(StringUtils.isNotBlank(model.getImgurl())){
                    model.setImgFullUrl(path);
                }
                model.setTotalReduceIntegral(Constants.formatBigdecimal(model.getTotalIntegral()).subtract(Constants.formatBigdecimal(model.getIntegral())));
                if(model.getTotalReduceIntegral().compareTo(new BigDecimal(0)) <=0){
                    model.setTotalReduceIntegral(new BigDecimal(0));
                }
            }
        }
@@ -425,7 +429,7 @@
            dealIntegralRequest.setDealType(Constants.ZERO);
            dealIntegralRequest.setMemberId(member.getId());
            dealIntegralRequest.setIntegralObjType(Constants.IntegralObjType.REGISTER);
            integralService.dealIntegral(dealIntegralRequest);
            integralService.dealIntegral(dealIntegralRequest,null);
        }
        //开启注册送优惠券
        if(Constants.equalsInteger(platformConfigDTO.getRegCouponRewardStatus(),Constants.ZERO)){
@@ -480,7 +484,7 @@
            dealIntegralRequest.setMemberId(member.getRecId());
            dealIntegralRequest.setIntegralObjType(Constants.IntegralObjType.INVITENEWUSER);
            dealIntegralRequest.setParam1(member.getNickname());
            integralService.dealIntegral(dealIntegralRequest);
            integralService.dealIntegral(dealIntegralRequest,null);
        }
    }
@@ -735,7 +739,7 @@
                dealIntegralRequest.setObjId(s.getId());
                dealIntegralRequest.setOrderCode(null);
                dealIntegralRequest.setDealType(memberRechargeDTO.getIntegralType());
                integralService.dealIntegral(dealIntegralRequest);
                integralService.dealIntegral(dealIntegralRequest,null);
            });
//            integralService.dealIntegral()
        } catch (Exception e) {
@@ -769,7 +773,7 @@
        dealIntegralRequest.setObjId(memberRechargeDTO.getMemberId());
        dealIntegralRequest.setOrderCode(null);
        dealIntegralRequest.setDealType(memberRechargeDTO.getIntegralType());
        Integer integer = integralService.dealIntegral(dealIntegralRequest);
        Integer integer = integralService.dealIntegral(dealIntegralRequest,null);
        return integer;
    }
server/dmmall_service/src/main/java/com/doumee/service/business/impl/NoticeServiceImpl.java
@@ -233,12 +233,11 @@
        ;
        IPage<Notice> noticeIPage = noticeMapper.selectPage(page, queryWrapper);
        List<NoticeCardDTO> noticeCardDTOs = new ArrayList<>();
        if (CollectionUtils.isEmpty(noticeIPage.getRecords())){
        if (com.github.xiaoymin.knife4j.core.util.CollectionUtils.isNotEmpty(noticeIPage.getRecords())){
            noticeCardDTOs = noticeIPage.getRecords().stream().map(s -> {
                NoticeCardDTO noticeCardDTO = new NoticeCardDTO();
                BeanUtils.copyProperties(s, noticeCardDTO);
                return noticeCardDTO;
            }).collect(Collectors.toList());
        }
        PageData<NoticeCardDTO> pageData = new PageData<>();
server/dmmall_service/src/main/java/com/doumee/service/business/impl/SharesServiceImpl.java
@@ -1,20 +1,16 @@
package com.doumee.service.business.impl;
import com.doumee.config.listener.event.IntegralEvent;
import com.doumee.core.model.LoginUserInfo;
import com.doumee.core.model.PageData;
import com.doumee.core.model.PageWrap;
import com.doumee.core.utils.Constants;
import com.doumee.core.utils.DateUtil;
import com.doumee.core.utils.Utils;
import com.doumee.dao.business.SharesMapper;
import com.doumee.dao.business.model.Shares;
import com.doumee.service.business.SharesService;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import org.apache.shiro.SecurityUtils;
import com.doumee.core.model.PageData;
import com.doumee.core.model.PageWrap;
import com.doumee.core.utils.Constants;
import com.doumee.core.utils.Utils;
import com.doumee.dao.business.SharesMapper;
import com.doumee.dao.business.model.Shares;
import com.doumee.service.business.SharesService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.ApplicationEventPublisher;
import org.springframework.stereotype.Service;
@@ -22,10 +18,8 @@
import javax.annotation.Resource;
import java.math.BigDecimal;
import java.util.Arrays;
import java.util.Date;
import java.util.List;
import java.util.Objects;
/**
 * ç”¨æˆ·åˆ†äº«ä¿¡æ¯è¡¨Service实现
@@ -43,10 +37,7 @@
    @Override
    public Integer create(Shares shares,Integer memberId) {
//        LoginUserInfo userInfo = (LoginUserInfo) SecurityUtils.getSubject().getPrincipal();
        Shares target = new Shares();
//        target.setCreator(userInfo.getId());
//        target.setEditor(userInfo.getId());
        target.setMemberId(memberId);
        target.setObjId(shares.getObjId());
        target.setObjType(shares.getObjType());
@@ -54,8 +45,7 @@
        target.setTitle(shares.getTitle());
        target.setIntegral(new BigDecimal("0"));
        sharesMapper.insert(target);
        IntegralEvent<Shares> event = new IntegralEvent<>(this,target, Constants.CoffeeBeanTask.SHARE_INFO,memberId);
        applicationEventPublisher.publishEvent(event);
        return shares.getId();
    }
server/dmmall_service/src/main/java/com/doumee/service/business/impl/ShopServiceImpl.java
@@ -4,7 +4,6 @@
import com.doumee.biz.system.SystemDictDataBiz;
import com.doumee.config.Jwt.JwtPayLoad;
import com.doumee.config.Jwt.JwtTokenUtil;
import com.doumee.config.listener.event.VisitEvent;
import com.doumee.core.model.LoginUserInfo;
import com.doumee.core.constants.ResponseStatus;
import com.doumee.core.exception.BusinessException;
@@ -424,7 +423,18 @@
        queryWrapper.leftJoin(Member.class,Member::getId,Shop::getMemberId);
        queryWrapper.leftJoin(Labels.class,Labels::getId,Shop::getBigAreaId);
        if(pageWrap.getModel().getAreaId()!=null){
            queryWrapper.eq(  Shop::getAreaId, pageWrap.getModel().getAreaId());
        }else  if(pageWrap.getModel().getCityId()!=null){
            queryWrapper.leftJoin("areas a1 on a1.id=t.area_id");
            queryWrapper.leftJoin("areas a2 on a2.id=a1.parent_id");
            queryWrapper.apply("a2.id ="+pageWrap.getModel().getCityId());
        } else if (pageWrap.getModel().getProvinceId()!=null){
            queryWrapper.leftJoin("areas a1 on a1.id=t.area_id");
            queryWrapper.leftJoin("areas a2 on a2.id=a1.parent_id");
            queryWrapper.leftJoin("areas a3 on a3.id=a2.parent_id");
            queryWrapper.apply("a3.id ="+pageWrap.getModel().getProvinceId());
        }
        queryWrapper.eq(Shop::getIsdeleted, Constants.ZERO);
        queryWrapper.like(StringUtils.isNotBlank(pageWrap.getModel().getCode()) ,Shop::getCode,pageWrap.getModel().getCode());
        queryWrapper.like(StringUtils.isNotBlank(pageWrap.getModel().getUsername()) ,Shop::getName,pageWrap.getModel().getUsername());
@@ -569,9 +579,6 @@
        dto.setLabels(labels.stream().map(s->s.getName()).collect(Collectors.toList()));
        List<ShopMenuDTO> shopMenuDTO = shopMenuService.findShopMenuDTO(shopId);
        dto.setShopMenuDTOList(shopMenuDTO);
        //访问操作
        VisitEvent<Shop> shopVisitEvent = new VisitEvent<>(this,shop);
        applicationEventPublisher.publishEvent(shopVisitEvent);
        return dto;
    }
server/dmmall_service/src/main/java/com/doumee/service/business/impl/ShopcartServiceImpl.java
@@ -21,6 +21,7 @@
import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import io.swagger.annotations.ApiModelProperty;
import org.apache.commons.lang3.StringUtils;
import org.checkerframework.checker.units.qual.A;
import org.springframework.beans.factory.annotation.Autowired;
@@ -271,6 +272,15 @@
        userCenterVO.setServerPhone(StringUtils.trimToNull(systemDictDataBiz.queryByCode(Constants.SYSTEM,Constants.SERVER_PHONE).getCode()));
        userCenterVO.setUserAgreement(StringUtils.trimToNull(systemDictDataBiz.queryByCode(Constants.SYSTEM,Constants.USER_AGREEMENT).getCode()));
        userCenterVO.setPrivacyAgreement(StringUtils.trimToNull(systemDictDataBiz.queryByCode(Constants.SYSTEM,Constants.PRIVACY_AGREEMENT).getCode()));
        userCenterVO.setShopIntegralBg(StringUtils.trimToNull(systemDictDataBiz.queryByCode(Constants.SYSTEM,Constants.SHOP_INTEGRAL_BG).getCode()));
        userCenterVO.setUserInviteBg(StringUtils.trimToNull(systemDictDataBiz.queryByCode(Constants.SYSTEM,Constants.USER_INVITE_BG).getCode()));
        userCenterVO.setCenterInviteBg(StringUtils.trimToNull(systemDictDataBiz.queryByCode(Constants.SYSTEM,Constants.CENTER_INVITE_BG).getCode()));
        userCenterVO.setUserShareBg(StringUtils.trimToNull(systemDictDataBiz.queryByCode(Constants.SYSTEM,Constants.USER_SHARE_BG).getCode()));
        return userCenterVO;
    }
server/dmmall_service/src/main/java/com/doumee/service/business/impl/SignupServiceImpl.java
@@ -1,7 +1,6 @@
package com.doumee.service.business.impl;
import com.doumee.biz.system.SystemDictDataBiz;
import com.doumee.config.listener.event.IntegralEvent;
import com.doumee.core.constants.ResponseStatus;
import com.doumee.core.exception.BusinessException;
import com.doumee.core.model.LoginUserInfo;
@@ -83,8 +82,6 @@
        signup.setIntegral(new BigDecimal(dictData.getCode()));
        signup.setDays(LocalDate.now().compareTo(dateTime) == 1 ? one.getDays() + 1 : 1 );
        signupMapper.insert(signup);
        IntegralEvent<Signup> event = new IntegralEvent<>(this,signup,Constants.CoffeeBeanTask.SIGN_BOARD,memberId);
        applicationEventPublisher.publishEvent(event);
        return signup.getId();
    }
server/dmmall_service/src/main/java/com/doumee/service/business/impl/WithdrawRecordServiceImpl.java
@@ -134,7 +134,7 @@
            dealIntegralRequest.setIntegralObjType(Constants.IntegralObjType.WITHDRAW_APPLY_BACK);
            dealIntegralRequest.setIntegralNum(model.getAmount());
            dealIntegralRequest.setObjId(withdrawRecord.getId());
            dealIntegralRequest.setOrderCode(withdrawRecord.getCode().toString());
            dealIntegralRequest.setOrderCode(withdrawRecord.getCode()!=null?withdrawRecord.getCode().toString():"");
            dealIntegralRequest.setMemberId(model.getMemberId());
            dealIntegralRequest.setDealType(Constants.ZERO);
            integralService.dealShopAmount(dealIntegralRequest);
server/dmmall_service/src/main/resources/application-dev.yml
@@ -1,4 +1,3 @@
spring:
  # æ•°æ®æºé…ç½®
  datasource:
@@ -53,7 +52,7 @@
    appSecret: 3462fa186da7cb06c544df8d8664b63a
    mchId: 1229817002
    mchKey: u4TSNtv0wFP7WRfnxBgijYOtRhS9FvlM
    notifyUrl: http://xiaopiqiu2.natapp1.cc/web/api/wxPayNotify #https://dmtest.ahapp.net/dmmall_interface/web/api/wxPayNotify
    notifyUrl: https://test.doumee.cn/dmmall_web_api/web/api/wxPayNotify
    keyPath: /usr/local/apiclient_cert.p12
tencent:
server/dmmall_web/pom.xml
@@ -8,9 +8,7 @@
        <artifactId>dmmall</artifactId>
        <version>1.0.0-SNAPSHOT</version>
    </parent>
    <artifactId>dmmall_web</artifactId>
    <properties>
        <maven.compiler.source>8</maven.compiler.source>
        <maven.compiler.target>8</maven.compiler.target>
@@ -24,4 +22,35 @@
            <version>1.0.0-SNAPSHOT</version>
        </dependency>
    </dependencies>
    <build>
        <finalName>dmmall_web_api</finalName>
        <resources>
            <resource>
                <directory>src/main/resources</directory>
            </resource>
        </resources>
        <plugins>
            <plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
                <configuration>
                    <fork>true</fork>
                    <mainClass>com.doumee.InterfaceApplication</mainClass>
                    <layout>ZIP</layout>
                </configuration>
                <executions>
                    <execution>
                        <goals>
                            <goal>repackage</goal>
                        </goals>
                    </execution>
                </executions>
            </plugin>
            <!--<plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-war-plugin</artifactId>
            <version>2.6</version>
            </plugin>-->
        </plugins>
    </build>
</project>