Browse Source

Merge branch 'main' of https://github.com/omnia96/designer-hub into main

EvilDragon 5 months ago
parent
commit
05bd1f23f3

+ 0 - 17
.vscode/extensions.json

@@ -1,17 +0,0 @@
-{
-  "recommendations": [
-    "vue.volar",
-    "stylelint.vscode-stylelint",
-    "esbenp.prettier-vscode",
-    "dbaeumer.vscode-eslint",
-    "antfu.unocss",
-    "antfu.iconify",
-    "evils.uniapp-vscode",
-    "uni-helper.uni-helper-vscode",
-    "uni-helper.uni-app-schemas-vscode",
-    "uni-helper.uni-highlight-vscode",
-    "uni-helper.uni-ui-snippets-vscode",
-    "uni-helper.uni-app-snippets-vscode",
-    "mrmlnc.vscode-json5"
-  ]
-}

+ 0 - 63
.vscode/settings.json

@@ -1,63 +0,0 @@
-{
-  // 默认格式化工具选择prettier
-  "editor.defaultFormatter": "esbenp.prettier-vscode",
-  // 保存的时候自动格式化
-  "editor.formatOnSave": true,
-  //开启自动修复
-  "editor.codeActionsOnSave": {
-    "source.fixAll": "explicit",
-    "source.fixAll.eslint": "explicit",
-    "source.fixAll.stylelint": "explicit"
-  },
-  // 配置stylelint检查的文件类型范围
-  "stylelint.validate": ["css", "scss", "vue", "html"], // 与package.json的scripts对应
-  "stylelint.enable": true,
-  "css.validate": false,
-  "less.validate": false,
-  "scss.validate": false,
-  "[shellscript]": {
-    "editor.defaultFormatter": "foxundermoon.shell-format"
-  },
-  "[dotenv]": {
-    "editor.defaultFormatter": "foxundermoon.shell-format"
-  },
-  "[vue]": {
-    "editor.defaultFormatter": "esbenp.prettier-vscode"
-  },
-  "[typescript]": {
-    "editor.defaultFormatter": "esbenp.prettier-vscode"
-  },
-  "[jsonc]": {
-    "editor.defaultFormatter": "esbenp.prettier-vscode"
-  },
-  // 配置语言的文件关联
-  "files.associations": {
-    "pages.json": "jsonc", // pages.json 可以写注释
-    "manifest.json": "jsonc" // manifest.json 可以写注释
-  },
-  "cSpell.words": [
-    "climblee",
-    "commitlint",
-    "dcloudio",
-    "iconfont",
-    "qrcode",
-    "refresherrefresh",
-    "scrolltolower",
-    "tabbar",
-    "unibest",
-    "uvui",
-    "WechatMiniprogram"
-  ],
-  "typescript.tsdk": "node_modules\\typescript\\lib",
-  // 控制相关文件嵌套展示
-  "explorer.fileNesting.enabled": true,
-  "explorer.fileNesting.expand": false,
-  "explorer.fileNesting.patterns": {
-    "*.ts": "$(capture).test.ts, $(capture).test.tsx",
-    "*.tsx": "$(capture).test.ts, $(capture).test.tsx",
-    // "*.env": "$(capture).env.*",
-    "CHANGELOG.md": "CHANGELOG*",
-    "package.json": "pnpm-lock.yaml,pnpm-workspace.yaml,LICENSE,.gitattributes,.gitignore,.gitpod.yml,CNAME,.npmrc,.browserslistrc",
-    ".eslintrc.cjs": ".eslintignore,.prettierignore,.stylelintignore,.commitlintrc.*,.prettierrc.*,.stylelintrc.*,.eslintrc-auto-import.json,.editorconfig,.commitlint.cjs"
-  }
-}

+ 0 - 56
.vscode/vue3.code-snippets

@@ -1,56 +0,0 @@
-{
-  // Place your unibest 工作区 snippets here. Each snippet is defined under a snippet name and has a scope, prefix, body and
-  // description. Add comma separated ids of the languages where the snippet is applicable in the scope field. If scope
-  // is left empty or omitted, the snippet gets applied to all languages. The prefix is what is
-  // used to trigger the snippet and the body will be expanded and inserted. Possible variables are:
-  // $1, $2 for tab stops, $0 for the final cursor position, and ${1:label}, ${2:another} for placeholders.
-  // Placeholders with the same ids are connected.
-  // Example:
-  // "Print to console": {
-  // 	"scope": "javascript,typescript",
-  // 	"prefix": "log",
-  // 	"body": [
-  // 		"console.log('$1');",
-  // 		"$2"
-  // 	],
-  // 	"description": "Log output to console"
-  // }
-  "Print unibest Vue3 SFC": {
-    "scope": "vue",
-    "prefix": "v3",
-    "body": [
-      "<route lang=\"json5\" type=\"page\">",
-      "{",
-      "  layout: 'default',",
-      "  style: {",
-      "    navigationBarTitleText: '$1',",
-      "  },",
-      "}",
-      "</route>\n",
-      "<template>",
-      "  <view class=\"\">$2</view>",
-      "</template>\n",
-      "<script lang=\"ts\" setup>",
-      "//$3",
-      "</script>\n",
-      "<style lang=\"scss\" scoped>",
-      "//$4",
-      "</style>\n",
-    ],
-  },
-  "Print unibest style": {
-    "scope": "vue",
-    "prefix": "st",
-    "body": ["<style lang=\"scss\" scoped>", "//", "</style>\n"],
-  },
-  "Print unibest script": {
-    "scope": "vue",
-    "prefix": "sc",
-    "body": ["<script lang=\"ts\" setup>", "//$3", "</script>\n"],
-  },
-  "Print unibest template": {
-    "scope": "vue",
-    "prefix": "te",
-    "body": ["<template>", "  <view class=\"\">$1</view>", "</template>\n"],
-  },
-}

+ 4 - 0
packages/assets/src/assets/svgs/book_icon.svg

@@ -0,0 +1,4 @@
+<svg width="38" height="38" viewBox="0 0 38 38" fill="none" xmlns="http://www.w3.org/2000/svg">
+<path d="M28.5707 34.9678H9.87129C7.66328 34.9678 5.86719 33.1791 5.86719 30.9822V6.89082C5.86719 4.69395 7.66328 2.90527 9.87129 2.90527H25.0564C25.5092 2.90527 25.9434 3.06855 26.2811 3.36914L26.3553 3.43223L31.6137 10.5498C32.226 11.1324 32.5785 11.9414 32.5785 12.7912V30.9822C32.5748 33.1791 30.7787 34.9678 28.5707 34.9678ZM9.87129 4.76074C8.6875 4.76074 7.72266 5.71816 7.72266 6.89082V30.9822C7.72266 32.1586 8.6875 33.1123 9.87129 33.1123H28.5707C29.7545 33.1123 30.7193 32.1549 30.7193 30.9822V12.7912C30.7193 12.4387 30.5672 12.101 30.3037 11.8672L30.2295 11.8041L25.0268 4.76074H9.87129Z" fill="white"/>
+<path d="M31.6465 13.192H26.6033C25.2674 13.192 24.1764 12.1047 24.1764 10.765V3.83301H25.9354V10.765C25.9354 11.1324 26.2359 11.4293 26.5996 11.4293H31.6428V13.192H31.6465ZM23.3377 15.233H10.791C10.2789 15.233 9.86328 14.8174 9.86328 14.3053C9.86328 13.7932 10.2789 13.3775 10.791 13.3775H23.3414C23.8535 13.3775 24.2691 13.7932 24.2691 14.3053C24.2691 14.8174 23.8498 15.233 23.3377 15.233ZM23.3377 19.9236H10.791C10.2789 19.9236 9.86328 19.508 9.86328 18.9959C9.86328 18.4838 10.2789 18.0682 10.791 18.0682H23.3414C23.8535 18.0682 24.2691 18.4838 24.2691 18.9959C24.2654 19.508 23.8498 19.9236 23.3377 19.9236ZM23.3377 24.733H10.791C10.2789 24.733 9.86328 24.3174 9.86328 23.8053C9.86328 23.2932 10.2789 22.8775 10.791 22.8775H23.3414C23.8535 22.8775 24.2691 23.2932 24.2691 23.8053C24.2691 24.3174 23.8498 24.733 23.3377 24.733Z" fill="white"/>
+</svg>

File diff suppressed because it is too large
+ 1 - 0
packages/assets/src/assets/svgs/scan_icon.svg


+ 4 - 0
packages/assets/src/svgs.ts

@@ -16,6 +16,8 @@ import videoEyeIcon from "./assets/svgs/video_eye_icon.svg";
 import videoPlayIcon from "./assets/svgs/video_play_icon.svg";
 import router from "./assets/svgs/router";
 import pageHeaderBg from "./assets/svgs/pageHeaderBg";
+import scanIcon from "./assets/svgs/scan_icon.svg";
+import bookIcon from "./assets/svgs/book_icon.svg";
 import pageHeaderFilter from "./assets/svgs/pageHeaderFilter";
 export {
   ts,
@@ -37,4 +39,6 @@ export {
   videoEyeIcon,
   videoPlayIcon,
   router,
+  scanIcon,
+  bookIcon,
 };

+ 1 - 1
packages/merchant/src/layouts/default.vue

@@ -4,7 +4,7 @@ import { defaultThemeVars } from '../core/themes/default'
 <template>
   <wd-config-provider
     class="flex-grow flex flex-col"
-    custom-class="flex-grow"
+    custom-class="flex-grow "
     :themeVars="defaultThemeVars"
   >
     <view class="bg-[#f6f6f6] flex-grow flex flex-col">

+ 42 - 2
packages/merchant/src/pages.json

@@ -75,7 +75,6 @@
     {
       "path": "pages/designer/detail",
       "type": "page",
-      "layout": "tabbar",
       "style": {
         "navigationBarTitleText": "全部设计师",
         "navigationBarBackgroundColor": "#fff"
@@ -93,7 +92,6 @@
     {
       "path": "pages/designer/index",
       "type": "page",
-      "layout": "tabbar",
       "style": {
         "navigationBarTitleText": "全部设计师",
         "navigationBarBackgroundColor": "#fff"
@@ -134,6 +132,48 @@
       }
     },
     {
+      "path": "pages/scan_code/index",
+      "type": "page",
+      "style": {
+        "navigationBarTitleText": "扫码",
+        "navigationBarBackgroundColor": "#fff"
+      }
+    },
+    {
+      "path": "pages/scan_code/merchant_settings",
+      "type": "page",
+      "style": {
+        "navigationBarTitleText": "商家设置",
+        "navigationBarBackgroundColor": "#fff"
+      }
+    },
+    {
+      "path": "pages/scan_code/mine",
+      "type": "page",
+      "layout": "tabbar",
+      "style": {
+        "navigationBarTitleText": "我的",
+        "navigationBarBackgroundColor": "transparent"
+      }
+    },
+    {
+      "path": "pages/scan_code/order_detail",
+      "type": "page",
+      "sstyle": {
+        "navigationBarTitleText": "订单详情",
+        "navigationBarBackgroundColor": "#fff"
+      }
+    },
+    {
+      "path": "pages/scan_code/settlement",
+      "type": "page",
+      "layout": "tabbar",
+      "style": {
+        "navigationBarTitleText": "积分结账",
+        "navigationBarBackgroundColor": "#fff"
+      }
+    },
+    {
       "path": "pages/home/tasks/index",
       "type": "page",
       "style": {

+ 2 - 8
packages/merchant/src/pages/designer/detail.vue

@@ -1,5 +1,4 @@
 <route lang="yaml">
-layout: tabbar
 style:
   navigationBarTitleText: 全部设计师
   navigationBarBackgroundColor: '#fff'
@@ -27,13 +26,8 @@ const tabs = ref([
 
 <template>
   <view>
-    <div class="aspect-[0.96/1] absolute left-0 right-0 top-0">
-      <wd-img
-        width="100%"
-        height="100%"
-        :src="merchantPageHeaderBg"
-        custom-class="vertical-top"
-      ></wd-img>
+    <div class="aspect-[1.575/1] absolute left-0 right-0 top-0">
+      <wd-img width="100%" height="100%" :src="desinTopBg" custom-class="vertical-top"></wd-img>
     </div>
     <div class="p-4 flex flex-col gap-4 relative">
       <div class="bg-white rounded-2xl shadow flex items-center p-4">

+ 0 - 1
packages/merchant/src/pages/designer/index.vue

@@ -1,5 +1,4 @@
 <route lang="yaml">
-layout: tabbar
 style:
   navigationBarTitleText: 全部设计师
   navigationBarBackgroundColor: '#fff'

+ 80 - 0
packages/merchant/src/pages/scan_code/index.vue

@@ -0,0 +1,80 @@
+<route lang="yaml">
+style:
+  navigationBarTitleText: 扫码
+  navigationBarBackgroundColor: '#fff'
+</route>
+<script lang="ts" setup>
+import { bookIcon, scanIcon } from '@designer-hub/assets/src/svgs'
+</script>
+
+<template>
+  <view>
+    <div
+      class="bg-white backdrop-blur-[60px] my-[16px] flex flex-col justify-center items-center p-[16px] mt-[20px]"
+    >
+      <div
+        class="w-[68px] h-[68px] bg-[#2357e9] rounded-full mt-[37px] flex items-center justify-center"
+      >
+        <wd-img width="36px" height="36px" :src="scanIcon"></wd-img>
+      </div>
+      <div class="w-full mt-[45px]">
+        <wd-button block :round="false">
+          <div
+            class="text-center text-white text-base font-normal font-['PingFang SC'] leading-normal"
+          >
+            扫码验券
+          </div>
+        </wd-button>
+      </div>
+    </div>
+    <div
+      class="bg-white backdrop-blur-[60px] flex flex-col justify-center items-center p-[16px] mt-[20px]"
+    >
+      <div
+        class="w-[68px] h-[68px] bg-[#2357e9] rounded-full mt-[34px] flex items-center justify-center"
+      >
+        <wd-img width="36px" height="36px" :src="bookIcon"></wd-img>
+      </div>
+      <div class="w-full flex items-center mt-[40px]">
+        <div
+          class="text-black/90 text-base font-normal font-['PingFang SC'] leading-relaxed width-[96px]"
+        >
+          输入订单金额
+        </div>
+        <div class="bg-[#f5f7f9] rounded-lg flex items-center flex-1 ml-[16px]">
+          <wd-input type="number" placeholder="请输金额" />
+        </div>
+      </div>
+      <div class="w-full flex items-center mt-[20px]">
+        <div
+          class="text-black/90 text-base font-normal font-['PingFang SC'] leading-relaxed width-[96px]"
+        >
+          需支付积分
+        </div>
+        <div
+          class="text-[#ff2d2d] text-base font-normal font-['PingFang SC'] leading-relaxed ml-[20px]"
+        >
+          3400 积分
+        </div>
+      </div>
+      <div class="w-full mt-[45px]">
+        <wd-button block :round="false">
+          <div
+            class="text-center text-white text-base font-normal font-['PingFang SC'] leading-normal"
+          >
+            积分结账
+          </div>
+        </wd-button>
+      </div>
+    </div>
+  </view>
+</template>
+
+<style lang="scss" scoped>
+:deep(.wd-input) {
+  background: transparent;
+  height: 100%;
+  border: none;
+  width: 100%;
+}
+</style>

+ 73 - 0
packages/merchant/src/pages/scan_code/merchant_settings.vue

@@ -0,0 +1,73 @@
+<route lang="yaml">
+style:
+  navigationBarTitleText: 商家设置
+  navigationBarBackgroundColor: '#fff'
+</route>
+<script lang="ts" setup>
+import { desinTopBg, rightArrowIcon } from '@designer-hub/assets/src/svgs'
+const collapseValue = ref<string[]>(['item1'])
+</script>
+
+<template>
+  <view class="bg-white p-[16px] flex-grow flex flex-col">
+    <div class="flex-1">
+      <div class="flex justify-between items-center mb-[30px]">
+        <div class="text-black/40 text-sm font-normal font-['PingFang SC'] leading-none">头像</div>
+        <img class="w-7 h-7 rounded-full" src="https://via.placeholder.com/28x28" />
+      </div>
+      <div class="flex justify-between items-center mb-[30px]">
+        <div class="text-black/40 text-sm font-normal font-['PingFang SC'] leading-none">名称</div>
+        <div
+          class="text-right text-[#999999] text-sm font-normal font-['PingFang SC'] leading-none"
+        >
+          GELATO
+        </div>
+      </div>
+      <div class="flex justify-between items-center mb-[30px]">
+        <div class="text-black/40 text-sm font-normal font-['PingFang SC'] leading-none">ID</div>
+        <div
+          class="text-right text-[#999999] text-sm font-normal font-['PingFang SC'] leading-none"
+        >
+          1254022
+        </div>
+      </div>
+      <div class="flex justify-between items-center mb-[30px]">
+        <div class="text-black/40 text-sm font-normal font-['PingFang SC'] leading-none">
+          登录用户
+        </div>
+        <div
+          class="text-right text-[#999999] text-sm font-normal font-['PingFang SC'] leading-none"
+        >
+          李晓东
+        </div>
+      </div>
+      <div class="flex justify-between items-center mb-[30px]">
+        <div class="text-black/40 text-sm font-normal font-['PingFang SC'] leading-none">
+          登录用户手机
+        </div>
+        <div
+          class="text-right text-[#999999] text-sm font-normal font-['PingFang SC'] leading-none"
+        >
+          132****1452
+        </div>
+      </div>
+      <div class="flex justify-between items-center">
+        <div class="text-black/40 text-sm font-normal font-['PingFang SC'] leading-none">
+          修改密码
+        </div>
+        <wd-img width="15px" height="15px" :src="rightArrowIcon"></wd-img>
+      </div>
+    </div>
+    <div class="w-full mt-[50px]">
+      <wd-button block :round="false">
+        <div
+          class="text-center text-white text-base font-normal font-['PingFang SC'] leading-normal"
+        >
+          退出登录
+        </div>
+      </wd-button>
+    </div>
+  </view>
+</template>
+
+<style lang="scss" scoped></style>

+ 68 - 0
packages/merchant/src/pages/scan_code/mine.vue

@@ -0,0 +1,68 @@
+<route lang="yaml">
+layout: tabbar
+style:
+  navigationBarTitleText: 我的
+  navigationBarBackgroundColor: 'transparent'
+</route>
+<script lang="ts" setup>
+import { desinTopBg } from '@designer-hub/assets/src/svgs'
+</script>
+
+<template>
+  <view class="p-[16px]">
+    <div class="aspect-[1.575/1] absolute left-0 right-0 top-0">
+      <wd-img width="100%" height="100%" :src="desinTopBg" custom-class="vertical-top"></wd-img>
+    </div>
+    <div
+      class="bg-white rounded-2xl shadow relative mt-[28px] py-[29px] px-[14px] flex items-center"
+    >
+      <div><img class="w-16 h-16 rounded-full" src="https://via.placeholder.com/64x64" /></div>
+      <div class="ml-[10px]">
+        <div class="text-black/90 text-lg font-normal font-['PingFang SC'] leading-[10.18px]">
+          商家:GELATO
+        </div>
+        <div
+          class="h-6 px-1.5 py-1 bg-[#f5f6fa] rounded justify-center items-center gap-2.5 inline-flex mt-[17px]"
+        >
+          <div class="text-[#8b8b8b] text-xs font-normal font-['PingFang SC'] leading-none">
+            ID:1201451200
+          </div>
+        </div>
+      </div>
+    </div>
+    <div class="flex items-center mt-[20px]">
+      <div class="w-1 h-[19px] bg-[#2357e9] rounded-md"></div>
+      <div class="text-black text-lg font-normal font-['PingFang SC'] leading-normal ml-[8px]">
+        记录
+      </div>
+    </div>
+    <div class="mt-[16px]">
+      <div class="bg-white rounded-2xl p-[16px] flex flex-col">
+        <div class="text-black/90 text-sm font-normal font-['PingFang SC'] leading-normal">
+          完成时间:2024-10-20 10:00
+        </div>
+
+        <div class="flex mt-[19px] items-center">
+          <div class="w-[86px] h-[86px] bg-[#f6f6f6] rounded-[10px]"></div>
+          <div class="ml-[16px]">
+            <div class="text-black text-base font-normal font-['PingFang SC'] leading-normal">
+              阿芙佳朵
+            </div>
+            <div
+              class="text-left text-black/30 text-sm font-normal font-['PingFang SC'] leading-normal"
+            >
+              数量x2
+            </div>
+            <div
+              class="text-left text-black/30 text-sm font-normal font-['PingFang SC'] leading-normal"
+            >
+              600积分
+            </div>
+          </div>
+        </div>
+      </div>
+    </div>
+  </view>
+</template>
+
+<style lang="scss" scoped></style>

+ 121 - 0
packages/merchant/src/pages/scan_code/order_detail.vue

@@ -0,0 +1,121 @@
+<route lang="yaml">
+sstyle:
+  navigationBarTitleText: 订单详情
+  navigationBarBackgroundColor: '#fff'
+</route>
+<script lang="ts" setup>
+import { desinTopBg } from '@designer-hub/assets/src/svgs'
+const collapseValue = ref<string[]>(['item1'])
+</script>
+
+<template>
+  <view>
+    <div class="bg-white p-[20px]">
+      <div class="flex mt-[19px] items-center">
+        <div class="w-[86px] h-[86px] bg-[#f6f6f6] rounded-[10px]"></div>
+        <div class="ml-[16px]">
+          <div class="text-black text-base font-normal font-['PingFang SC'] leading-normal">
+            阿芙佳朵
+          </div>
+          <div
+            class="text-left text-black/30 text-sm font-normal font-['PingFang SC'] leading-normal"
+          >
+            数量x2
+          </div>
+          <div
+            class="text-left text-black/30 text-sm font-normal font-['PingFang SC'] leading-normal"
+          >
+            600积分
+          </div>
+        </div>
+      </div>
+      <div style="height: 1px; background-color: #f2f2f2" class="mt-[16px]"></div>
+      <div class="flex mt-[24px] items-center justify-between">
+        <div class="text-black/60 text-sm font-normal font-['PingFang SC'] leading-normal">
+          总积分
+        </div>
+        <div class="text-black/90 text-sm font-normal font-['PingFang SC'] leading-normal">
+          600积分
+        </div>
+      </div>
+      <div class="flex mt-[20px] items-center justify-between">
+        <div class="text-black/60 text-sm font-normal font-['PingFang SC'] leading-normal">
+          优惠券
+        </div>
+        <div class="text-black/90 text-sm font-normal font-['PingFang SC'] leading-normal">
+          -600积分
+        </div>
+      </div>
+      <div class="bg-[#f8f8f8] rounded-lg flex items-center p-[16px] mt-[12px]">
+        <img class="w-[43px] h-[34px]" src="https://via.placeholder.com/43x34" />
+
+        <div class="ml-[20px]">
+          <div class="text-black text-sm font-normal font-['PingFang SC'] leading-normal">
+            GELATO咖啡兑换券
+          </div>
+          <div
+            class="text-center text-black/40 text-xs font-normal font-['PingFang SC'] leading-normal mt-[5px]"
+          >
+            2024/04/01-2024/05/30
+          </div>
+        </div>
+      </div>
+      <div class="flex mt-[20px] items-center justify-between">
+        <div class="text-black/60 text-sm font-normal font-['PingFang SC'] leading-normal">
+          实际支付积分
+        </div>
+        <div class="text-black/90 text-sm font-normal font-['PingFang SC'] leading-normal">
+          0积分
+        </div>
+      </div>
+      <div class="flex mt-[20px] items-center justify-between">
+        <div class="text-black/60 text-sm font-normal font-['PingFang SC'] leading-normal">
+          订单号
+        </div>
+        <div class="text-black/90 text-sm font-normal font-['PingFang SC'] leading-normal">
+          1245100000012
+        </div>
+      </div>
+      <div class="flex mt-[20px] items-center justify-between">
+        <div class="text-black/60 text-sm font-normal font-['PingFang SC'] leading-normal">
+          支付时间
+        </div>
+        <div class="text-black/90 text-sm font-normal font-['PingFang SC'] leading-normal">
+          2024-10-10 10:02
+        </div>
+      </div>
+      <div class="flex mt-[20px] items-center justify-between">
+        <div class="text-black/60 text-sm font-normal font-['PingFang SC'] leading-normal">
+          支付方式
+        </div>
+        <div class="text-black/90 text-sm font-normal font-['PingFang SC'] leading-normal">
+          积分支付
+        </div>
+      </div>
+      <div style="height: 1px; background-color: #f2f2f2" class="mt-[16px]"></div>
+      <div
+        class="text-left text-black text-base font-normal font-['PingFang SC'] leading-normal mt-[24px]"
+      >
+        完成记录
+      </div>
+      <div class="flex mt-[20px] items-center justify-between">
+        <div class="text-black/60 text-sm font-normal font-['PingFang SC'] leading-normal">
+          核销时间
+        </div>
+        <div class="text-black/90 text-sm font-normal font-['PingFang SC'] leading-normal">
+          2024-10-10 10:02
+        </div>
+      </div>
+      <div class="flex mt-[20px] items-center justify-between">
+        <div class="text-black/60 text-sm font-normal font-['PingFang SC'] leading-normal">
+          核销人
+        </div>
+        <div class="text-black/90 text-sm font-normal font-['PingFang SC'] leading-normal">
+          李书福
+        </div>
+      </div>
+    </div>
+  </view>
+</template>
+
+<style lang="scss" scoped></style>

+ 54 - 0
packages/merchant/src/pages/scan_code/settlement.vue

@@ -0,0 +1,54 @@
+<route lang="yaml">
+layout: tabbar
+style:
+  navigationBarTitleText: 积分结账
+  navigationBarBackgroundColor: '#fff'
+</route>
+<script lang="ts" setup>
+import { bookIcon, scanIcon } from '@designer-hub/assets/src/svgs'
+</script>
+
+<template>
+  <view>
+    <div class="bg-white pb-[17px]">
+      <div class="flex items-center justify-center py-[30px]">
+        <img class="w-[199px] h-[199px]" src="https://via.placeholder.com/199x199" />
+      </div>
+      <div class="flex items-center justify-between px-[16px] mb-[15px]">
+        <div class="text-black/60 text-base font-normal font-['PingFang SC'] leading-normal">
+          订单金额
+        </div>
+        <div class="text-black/90 text-base font-normal font-['PingFang SC'] leading-normal">
+          ¥326
+        </div>
+      </div>
+      <div class="flex items-center justify-between px-[16px]">
+        <div class="text-black/60 text-base font-normal font-['PingFang SC'] leading-normal">
+          积分
+        </div>
+        <div class="text-black/90 text-base font-normal font-['PingFang SC'] leading-normal">
+          1250
+        </div>
+      </div>
+    </div>
+    <div class="bg-white mt-[15px]">
+      <div class="flex items-center justify-between px-[16px] py-[15px]">
+        <div class="flex items-center">
+          <img class="w-[29px] h-[29px] rounded-full" src="https://via.placeholder.com/29x29" />
+          <div
+            class="text-black/90 text-sm font-normal font-['PingFang SC'] leading-normal ml-[10px]"
+          >
+            李梦诗
+          </div>
+        </div>
+        <div
+          class="text-center text-black/60 text-sm font-normal font-['PingFang SC'] leading-normal"
+        >
+          扫码支付中...
+        </div>
+      </div>
+    </div>
+  </view>
+</template>
+
+<style lang="scss" scoped></style>

+ 5 - 0
packages/merchant/src/types/uni-pages.d.ts

@@ -13,6 +13,11 @@ interface NavigateToOptions {
        "/pages/material/index" |
        "/pages/messages/index" |
        "/pages/mine/index" |
+       "/pages/scan_code/index" |
+       "/pages/scan_code/merchant_settings" |
+       "/pages/scan_code/mine" |
+       "/pages/scan_code/order_detail" |
+       "/pages/scan_code/settlement" |
        "/pages/home/tasks/index" |
        "/pages/material/calculator/index" |
        "/pages/material/detail/index" |

Some files were not shown because too many files changed in this diff