li.shaoyi 1 year ago
parent
commit
ab74c66e52
51 changed files with 686 additions and 352 deletions
  1. 2 2
      app/package.json
  2. BIN
      file/aff7ceb15a3261db6b5043846076be1.png
  3. 2 2
      file/android/fxgl.txt
  4. BIN
      file/中融2.png
  5. 3 3
      oem/zrwyt/config/appconfig.json
  6. 17 79
      oem/zrwyt/config/router.json
  7. BIN
      oem/zrwyt/logo/logo-horizontal.png
  8. 3 3
      oem/zrwyt/manifest.json
  9. BIN
      oem/zrwyt2/app/icons/1024x1024.png
  10. BIN
      oem/zrwyt2/app/icons/120x120.png
  11. BIN
      oem/zrwyt2/app/icons/144x144.png
  12. BIN
      oem/zrwyt2/app/icons/152x152.png
  13. BIN
      oem/zrwyt2/app/icons/167x167.png
  14. BIN
      oem/zrwyt2/app/icons/180x180.png
  15. BIN
      oem/zrwyt2/app/icons/192x192.png
  16. BIN
      oem/zrwyt2/app/icons/20x20.png
  17. BIN
      oem/zrwyt2/app/icons/29x29.png
  18. BIN
      oem/zrwyt2/app/icons/40x40.png
  19. BIN
      oem/zrwyt2/app/icons/58x58.png
  20. BIN
      oem/zrwyt2/app/icons/60x60.png
  21. BIN
      oem/zrwyt2/app/icons/72x72.png
  22. BIN
      oem/zrwyt2/app/icons/76x76.png
  23. BIN
      oem/zrwyt2/app/icons/80x80.png
  24. BIN
      oem/zrwyt2/app/icons/87x87.png
  25. BIN
      oem/zrwyt2/app/icons/96x96.png
  26. BIN
      oem/zrwyt2/app/splashscreen/1080x1920.png
  27. BIN
      oem/zrwyt2/app/splashscreen/480x853.png
  28. BIN
      oem/zrwyt2/app/splashscreen/720x1280.png
  29. 4 4
      oem/zrwyt2/config/appconfig.json
  30. BIN
      oem/zrwyt2/favicon.ico
  31. BIN
      oem/zrwyt2/logo/logo-horizontal.png
  32. 4 4
      script/oem.env.json
  33. 49 18
      src/packages/gcszt/assets/themes/global/global.less
  34. 49 18
      src/packages/gstj/assets/themes/global/global.less
  35. 49 18
      src/packages/gzcj/assets/themes/global/global.less
  36. 49 18
      src/packages/mobile/assets/themes/global/global.less
  37. 12 7
      src/packages/mobile/views/ballot/list/Index.vue
  38. 5 2
      src/packages/mobile/views/presale/detail/components/delisting/index.vue
  39. 13 5
      src/packages/mobile/views/presale/list/Index.vue
  40. 49 18
      src/packages/nhgj/assets/themes/global/global.less
  41. 49 18
      src/packages/qdhs/assets/themes/global/global.less
  42. 49 18
      src/packages/qxst/assets/themes/global/global.less
  43. 49 18
      src/packages/tc/assets/themes/global/global.less
  44. 49 18
      src/packages/thj/assets/themes/global/global.less
  45. 49 18
      src/packages/tjmd/assets/themes/global/global.less
  46. 49 18
      src/packages/zrwyt/assets/themes/global/global.less
  47. 12 18
      src/packages/zrwyt/views/order/list/Index.vue
  48. 20 6
      src/packages/zrwyt/views/order/position/Index.vue
  49. BIN
      src/packages/zrwyt2/assets/images/login-logo.png
  50. 49 18
      src/packages/zrwyt2/assets/themes/global/global.less
  51. 1 1
      src/packages/zrwyt2/views/user/login/index.less

+ 2 - 2
app/package.json

@@ -1,6 +1,6 @@
 {
-  "name": "trading",
-  "version": "1.0.33",
+  "name": "trading-beta",
+  "version": "1.0.27",
   "main": "main.js",
   "dependencies": {
     "electron-updater": "^6.1.4",

BIN
file/aff7ceb15a3261db6b5043846076be1.png


+ 2 - 2
file/android/fxgl.txt

@@ -44,9 +44,9 @@ cn.muchinfo.zrwyt_release_v1.0.0.apk
 http://122.5.68.230:53005/cfg?key=zrwyt_sp
 
 
-中融文遗通2
+中融生态(中融文遗通2)
 实盘
-cn.muchinfo.zrwyt2_release_v1.0.0.apk
+cn.muchinfo.zrst_release_v1.0.0.apk
 http://122.5.68.230:53005/cfg?key=zrwyt_sp2
 
 

BIN
file/中融2.png


+ 3 - 3
oem/zrwyt/config/appconfig.json

@@ -1,9 +1,9 @@
 {
   "appId": "com.muchinfo.zrwyt",
   "appName": "中融文遗通",
-  "version": "1.0.26",
-  "versionCode": "100026",
-  "apiUrl": "http://192.168.31.134:8080/cfg?key=test_134",
+  "version": "1.0.27",
+  "versionCode": "100027",
+  "apiUrl": "http://192.168.31.204:8080/cfg?key=test_204",
   "tradeChannel": "ws",
   "modules": [
     "register",

+ 17 - 79
oem/zrwyt/config/router.json

@@ -74,56 +74,10 @@
             },
             {
                 "authType": 2,
-                "sort": 2,
-                "title": "预售转让",
-                "code": "bottom_presell",
-                "component": "views/footer/index.vue",
-                "hidden": true,
-                "children": [
-                    {
-                        "authType": 2,
-                        "sort": 1,
-                        "title": "预售认购",
-                        "code": "bottom_presell_presellposition",
-                        "component": "views/footer/presell/presellposition/index.vue"
-                    },
-                    {
-                        "authType": 2,
-                        "sort": 2,
-                        "title": "转让持仓",
-                        "code": "bottom_presell_transferposition",
-                        "component": "views/footer/presell/transferposition/index.vue"
-                    },
-                    {
-                        "authType": 2,
-                        "sort": 3,
-                        "title": "转让委托",
-                        "code": "bottom_presell_transferorder",
-                        "component": "views/footer/presell/transferorder/index.vue"
-                    },
-                    {
-                        "authType": 2,
-                        "sort": 4,
-                        "title": "转让成交",
-                        "code": "bottom_presell_transfertrader",
-                        "component": "views/footer/presell/transfertrader/index.vue"
-                    },
-                    {
-                        "authType": 2,
-                        "sort": 5,
-                        "title": "点选交收",
-                        "code": "bottom_presell_onlinedelivery",
-                        "component": "views/footer/presell/onlinedelivery/index.vue"
-                    }
-                ]
-            },
-            {
-                "authType": 2,
                 "sort": 3,
                 "title": "现货仓单",
                 "code": "bottom_spot",
                 "component": "views/footer/index.vue",
-                "hidden": true,
                 "children": [
                     {
                         "authType": 2,
@@ -301,40 +255,25 @@
                     {
                         "authType": 1,
                         "sort": 3,
-                        "title": "预售转让",
-                        "code": "query_order_presell",
+                        "title": "现货仓单",
+                        "code": "query_order_spot",
                         "url": "spot",
                         "urlType": 1,
-                        "hidden": true,
-                        "component": "views/query/order/presell/index.vue",
+                        "component": "views/query/order/spot/index.vue",
                         "children": [
                             {
                                 "authType": 2,
                                 "sort": 1,
-                                "title": "当前认购",
-                                "code": "query_order_presell__list",
-                                "component": "views/query/order/presell/list/index.vue"
+                                "title": "当前记录",
+                                "code": "query_order_spot_list",
+                                "component": "views/query/order/spot/list/index.vue"
                             },
                             {
                                 "authType": 2,
                                 "sort": 2,
-                                "title": "历史认购",
-                                "code": "query_order_presell_history",
-                                "component": "views/query/order/presell/history/index.vue"
-                            },
-                            {
-                                "authType": 2,
-                                "sort": 3,
-                                "title": "当前转让",
-                                "code": "query_order_presell_transferlist",
-                                "component": "views/query/order/presell/transferlist/index.vue"
-                            },
-                            {
-                                "authType": 2,
-                                "sort": 4,
-                                "title": "历史转让",
-                                "code": "query_order_presell_transferhistory",
-                                "component": "views/query/order/presell/transferhistory/index.vue"
+                                "title": "历史记录",
+                                "code": "query_order_spot_history",
+                                "component": "views/query/order/spot/history/index.vue"
                             }
                         ]
                     }
@@ -376,27 +315,26 @@
                     },
                     {
                         "authType": 1,
-                        "sort": 2,
-                        "title": "预售转让",
-                        "code": "query_trade_presell",
+                        "sort": 3,
+                        "title": "现货仓单",
+                        "code": "query_trade_spot",
                         "url": "spot",
                         "urlType": 1,
-                        "hidden": true,
-                        "component": "views/query/trade/presell/index.vue",
+                        "component": "views/query/trade/spot/index.vue",
                         "children": [
                             {
                                 "authType": 2,
                                 "sort": 1,
                                 "title": "当前记录",
-                                "code": "query_trade_presell_list",
-                                "component": "views/query/trade/presell/list/index.vue"
+                                "code": "query_trade_spot_list",
+                                "component": "views/query/trade/spot/list/index.vue"
                             },
                             {
                                 "authType": 2,
                                 "sort": 2,
                                 "title": "历史记录",
-                                "code": "query_trade_presell_history",
-                                "component": "views/query/trade/presell/history/index.vue"
+                                "code": "query_trade_spot_history",
+                                "component": "views/query/trade/spot/history/index.vue"
                             }
                         ]
                     }

BIN
oem/zrwyt/logo/logo-horizontal.png


+ 3 - 3
oem/zrwyt/manifest.json

@@ -5,9 +5,9 @@
     "name" : "中融文遗通",
     /*应用名称,程序桌面图标名称*/
     "version" : {
-        "name" : "1.0.15",
+        "name" : "1.0.0",
         /*应用版本名称*/
-        "code" : 100015
+        "code" : 100000
     },
     "description" : "",
     /*应用描述信息*/
@@ -153,7 +153,7 @@
                     "<uses-permission android:name=\"android.permission.MODIFY_AUDIO_SETTINGS\"/>",
                     "<uses-permission android:name=\"android.permission.RECORD_AUDIO\"/>"
                 ],
-                "abiFilters" : [ "armeabi-v7a", "arm64-v8a" ],
+                "abiFilters" : [ "arm64-v8a" ],
                 "autoSdkPermissions" : false,
                 "minSdkVersion" : 26
             },

BIN
oem/zrwyt2/app/icons/1024x1024.png


BIN
oem/zrwyt2/app/icons/120x120.png


BIN
oem/zrwyt2/app/icons/144x144.png


BIN
oem/zrwyt2/app/icons/152x152.png


BIN
oem/zrwyt2/app/icons/167x167.png


BIN
oem/zrwyt2/app/icons/180x180.png


BIN
oem/zrwyt2/app/icons/192x192.png


BIN
oem/zrwyt2/app/icons/20x20.png


BIN
oem/zrwyt2/app/icons/29x29.png


BIN
oem/zrwyt2/app/icons/40x40.png


BIN
oem/zrwyt2/app/icons/58x58.png


BIN
oem/zrwyt2/app/icons/60x60.png


BIN
oem/zrwyt2/app/icons/72x72.png


BIN
oem/zrwyt2/app/icons/76x76.png


BIN
oem/zrwyt2/app/icons/80x80.png


BIN
oem/zrwyt2/app/icons/87x87.png


BIN
oem/zrwyt2/app/icons/96x96.png


BIN
oem/zrwyt2/app/splashscreen/1080x1920.png


BIN
oem/zrwyt2/app/splashscreen/480x853.png


BIN
oem/zrwyt2/app/splashscreen/720x1280.png


+ 4 - 4
oem/zrwyt2/config/appconfig.json

@@ -1,8 +1,8 @@
 {
-  "appId": "com.muchinfo.zrwyt2",
-  "appName": "中融文遗通",
-  "version": "1.0.0",
-  "versionCode": "100000",
+  "appId": "cn.muchinfo.zrst",
+  "appName": "中融生态",
+  "version": "1.0.1",
+  "versionCode": "100001",
   "apiUrl": "http://192.168.31.204:8080/cfg?key=test_204",
   "tradeChannel": "ws",
   "modules": [

BIN
oem/zrwyt2/favicon.ico


BIN
oem/zrwyt2/logo/logo-horizontal.png


+ 4 - 4
script/oem.env.json

@@ -150,15 +150,15 @@
         "VUE_APP_TRADE_CHANNEL": "ws"
     },
     {
-        "VUE_APP_ENV": "zrwyt2",
-        "VUE_APP_NAME": "中融文遗通",
+        "VUE_APP_ENV": "zrst",
+        "VUE_APP_NAME": "中融生态",
         "VUE_APP_ROOT": "src/packages/zrwyt2/",
         "VUE_APP_OEM": "oem/zrwyt2/",
         "VUE_APP_TRADE_CHANNEL": "ws"
     },
     {
-        "VUE_APP_ENV": "zrwyt2@pc",
-        "VUE_APP_NAME": "中融文遗通",
+        "VUE_APP_ENV": "zrst@pc",
+        "VUE_APP_NAME": "中融生态",
         "VUE_APP_ROOT": "src/packages/pc/",
         "VUE_APP_OEM": "oem/zrwyt2/",
         "VUE_APP_TRADE_CHANNEL": "ws"

+ 49 - 18
src/packages/gcszt/assets/themes/global/global.less

@@ -159,9 +159,10 @@
 
         &-item {
             display: flex;
-            align-items: center;
-            border-radius: 5px;
+            border-radius: 10px;
+            height: 110px;
             overflow: hidden;
+            background-color: #fff;
             padding: 10px;
 
             &:not(:last-child) {
@@ -169,29 +170,37 @@
             }
 
             .img {
-                &:first-child {
+                position: relative;
+                border-radius: 8px;
+                overflow: hidden;
+
+                &.mask::after {
+                    content: '已结束';
+                    position: absolute;
+                    top: 0;
+                    left: 0;
                     display: flex;
+                    justify-content: center;
                     align-items: center;
-
-                    img {
-                        width: 90px;
-                        height: 90px;
-                        object-fit: cover;
-                        border-radius: 8px;
-                        margin-right: 15px;
-                    }
+                    width: 100%;
+                    height: 100%;
+                    font-size: 12px;
+                    color: #fff;
+                    background-color: rgba(0, 0, 0, .5);
                 }
 
-                &:last-child {
-                    .van-button {
-                        width: 65px;
-                        height: 25px;
-                    }
+                img {
+                    width: 90px;
+                    height: 90px;
+                    object-fit: cover;
                 }
             }
 
             .info {
                 flex: 1;
+                display: flex;
+                flex-direction: column;
+                margin-left: 15px;
 
                 .title {
                     color: #333;
@@ -199,12 +208,16 @@
                 }
 
                 .desc {
+                    display: flex;
+                    flex-direction: column;
                     color: #666;
                     font-size: 12px;
-                    padding: 5px 0;
+                    margin-top: auto;
                 }
 
                 .price {
+                    color: var(--van-tag-danger-color);
+                    margin-top: 8px;
 
                     .buyprice,
                     .sellprice {
@@ -221,15 +234,33 @@
 
     .goods {
         background-color: #fff;
-        border-radius: 6px;
+        border-radius: 8px;
         overflow: hidden;
 
         &-image {
+            position: relative;
             display: flex;
             justify-content: center;
             align-items: center;
             min-height: 120px;
             font-size: 0;
+            border-radius: 8px;
+            overflow: hidden;
+
+            &.mask::after {
+                content: '已结束';
+                position: absolute;
+                top: 0;
+                left: 0;
+                display: flex;
+                justify-content: center;
+                align-items: center;
+                width: 100%;
+                height: 100%;
+                font-size: 14px;
+                color: #fff;
+                background-color: rgba(0, 0, 0, .5);
+            }
         }
 
         &-info {

+ 49 - 18
src/packages/gstj/assets/themes/global/global.less

@@ -159,9 +159,10 @@
 
         &-item {
             display: flex;
-            align-items: center;
-            border-radius: 5px;
+            border-radius: 10px;
+            height: 110px;
             overflow: hidden;
+            background-color: #fff;
             padding: 10px;
 
             &:not(:last-child) {
@@ -169,29 +170,37 @@
             }
 
             .img {
-                &:first-child {
+                position: relative;
+                border-radius: 8px;
+                overflow: hidden;
+
+                &.mask::after {
+                    content: '已结束';
+                    position: absolute;
+                    top: 0;
+                    left: 0;
                     display: flex;
+                    justify-content: center;
                     align-items: center;
-
-                    img {
-                        width: 90px;
-                        height: 90px;
-                        object-fit: cover;
-                        border-radius: 8px;
-                        margin-right: 15px;
-                    }
+                    width: 100%;
+                    height: 100%;
+                    font-size: 12px;
+                    color: #fff;
+                    background-color: rgba(0, 0, 0, .5);
                 }
 
-                &:last-child {
-                    .van-button {
-                        width: 65px;
-                        height: 25px;
-                    }
+                img {
+                    width: 90px;
+                    height: 90px;
+                    object-fit: cover;
                 }
             }
 
             .info {
                 flex: 1;
+                display: flex;
+                flex-direction: column;
+                margin-left: 15px;
 
                 .title {
                     color: #333;
@@ -199,12 +208,16 @@
                 }
 
                 .desc {
+                    display: flex;
+                    flex-direction: column;
                     color: #666;
                     font-size: 12px;
-                    padding: 5px 0;
+                    margin-top: auto;
                 }
 
                 .price {
+                    color: var(--van-tag-danger-color);
+                    margin-top: 8px;
 
                     .buyprice,
                     .sellprice {
@@ -221,15 +234,33 @@
 
     .goods {
         background-color: #fff;
-        border-radius: 6px;
+        border-radius: 8px;
         overflow: hidden;
 
         &-image {
+            position: relative;
             display: flex;
             justify-content: center;
             align-items: center;
             min-height: 120px;
             font-size: 0;
+            border-radius: 8px;
+            overflow: hidden;
+
+            &.mask::after {
+                content: '已结束';
+                position: absolute;
+                top: 0;
+                left: 0;
+                display: flex;
+                justify-content: center;
+                align-items: center;
+                width: 100%;
+                height: 100%;
+                font-size: 14px;
+                color: #fff;
+                background-color: rgba(0, 0, 0, .5);
+            }
         }
 
         &-info {

+ 49 - 18
src/packages/gzcj/assets/themes/global/global.less

@@ -159,9 +159,10 @@
 
         &-item {
             display: flex;
-            align-items: center;
-            border-radius: 5px;
+            border-radius: 10px;
+            height: 110px;
             overflow: hidden;
+            background-color: #fff;
             padding: 10px;
 
             &:not(:last-child) {
@@ -169,29 +170,37 @@
             }
 
             .img {
-                &:first-child {
+                position: relative;
+                border-radius: 8px;
+                overflow: hidden;
+
+                &.mask::after {
+                    content: '已结束';
+                    position: absolute;
+                    top: 0;
+                    left: 0;
                     display: flex;
+                    justify-content: center;
                     align-items: center;
-
-                    img {
-                        width: 90px;
-                        height: 90px;
-                        object-fit: cover;
-                        border-radius: 8px;
-                        margin-right: 15px;
-                    }
+                    width: 100%;
+                    height: 100%;
+                    font-size: 12px;
+                    color: #fff;
+                    background-color: rgba(0, 0, 0, .5);
                 }
 
-                &:last-child {
-                    .van-button {
-                        width: 65px;
-                        height: 25px;
-                    }
+                img {
+                    width: 90px;
+                    height: 90px;
+                    object-fit: cover;
                 }
             }
 
             .info {
                 flex: 1;
+                display: flex;
+                flex-direction: column;
+                margin-left: 15px;
 
                 .title {
                     color: #333;
@@ -199,12 +208,16 @@
                 }
 
                 .desc {
+                    display: flex;
+                    flex-direction: column;
                     color: #666;
                     font-size: 12px;
-                    padding: 5px 0;
+                    margin-top: auto;
                 }
 
                 .price {
+                    color: var(--van-tag-danger-color);
+                    margin-top: 8px;
 
                     .buyprice,
                     .sellprice {
@@ -221,15 +234,33 @@
 
     .goods {
         background-color: #fff;
-        border-radius: 6px;
+        border-radius: 8px;
         overflow: hidden;
 
         &-image {
+            position: relative;
             display: flex;
             justify-content: center;
             align-items: center;
             min-height: 120px;
             font-size: 0;
+            border-radius: 8px;
+            overflow: hidden;
+
+            &.mask::after {
+                content: '已结束';
+                position: absolute;
+                top: 0;
+                left: 0;
+                display: flex;
+                justify-content: center;
+                align-items: center;
+                width: 100%;
+                height: 100%;
+                font-size: 14px;
+                color: #fff;
+                background-color: rgba(0, 0, 0, .5);
+            }
         }
 
         &-info {

+ 49 - 18
src/packages/mobile/assets/themes/global/global.less

@@ -159,9 +159,10 @@
 
         &-item {
             display: flex;
-            align-items: center;
-            border-radius: 5px;
+            border-radius: 10px;
+            height: 110px;
             overflow: hidden;
+            background-color: #fff;
             padding: 10px;
 
             &:not(:last-child) {
@@ -169,29 +170,37 @@
             }
 
             .img {
-                &:first-child {
+                position: relative;
+                border-radius: 8px;
+                overflow: hidden;
+
+                &.mask::after {
+                    content: '已结束';
+                    position: absolute;
+                    top: 0;
+                    left: 0;
                     display: flex;
+                    justify-content: center;
                     align-items: center;
-
-                    img {
-                        width: 90px;
-                        height: 90px;
-                        object-fit: cover;
-                        border-radius: 8px;
-                        margin-right: 15px;
-                    }
+                    width: 100%;
+                    height: 100%;
+                    font-size: 12px;
+                    color: #fff;
+                    background-color: rgba(0, 0, 0, .5);
                 }
 
-                &:last-child {
-                    .van-button {
-                        width: 65px;
-                        height: 25px;
-                    }
+                img {
+                    width: 90px;
+                    height: 90px;
+                    object-fit: cover;
                 }
             }
 
             .info {
                 flex: 1;
+                display: flex;
+                flex-direction: column;
+                margin-left: 15px;
 
                 .title {
                     color: #333;
@@ -199,12 +208,16 @@
                 }
 
                 .desc {
+                    display: flex;
+                    flex-direction: column;
                     color: #666;
                     font-size: 12px;
-                    padding: 5px 0;
+                    margin-top: auto;
                 }
 
                 .price {
+                    color: var(--van-tag-danger-color);
+                    margin-top: 8px;
 
                     .buyprice,
                     .sellprice {
@@ -221,15 +234,33 @@
 
     .goods {
         background-color: #fff;
-        border-radius: 6px;
+        border-radius: 8px;
         overflow: hidden;
 
         &-image {
+            position: relative;
             display: flex;
             justify-content: center;
             align-items: center;
             min-height: 120px;
             font-size: 0;
+            border-radius: 8px;
+            overflow: hidden;
+
+            &.mask::after {
+                content: '已结束';
+                position: absolute;
+                top: 0;
+                left: 0;
+                display: flex;
+                justify-content: center;
+                align-items: center;
+                width: 100%;
+                height: 100%;
+                font-size: 14px;
+                color: #fff;
+                background-color: rgba(0, 0, 0, .5);
+            }
         }
 
         &-info {

+ 12 - 7
src/packages/mobile/views/ballot/list/Index.vue

@@ -8,7 +8,6 @@
             </app-navbar>
         </template>
         <Banner :data-list="bannerList" @click="onBannerClick" v-if="bannerList.length" />
-        <Divider v-if="startList.length != 0">正在抢购</Divider>
         <template v-if="isWaterfall">
             <Waterfall class="g-goods-waterfall" :data-list="startList">
                 <template #default="{ item }">
@@ -31,7 +30,7 @@
             <Waterfall class="g-goods-waterfall" :data-list="endList">
                 <template #default="{ item }">
                     <div class="goods" @click="toDetail(item)">
-                        <div class="goods-image">
+                        <div class="goods-image mask">
                             <img :src="getFileUrl(item.attachmenturl)" />
                         </div>
                         <div class="goods-info">
@@ -48,31 +47,37 @@
         </template>
         <template v-else>
             <ul class="g-goods-list">
-                <li class="list-item g-block--bg" v-for="(item, index) in startList" :key="index" @click="toDetail(item)">
+                <li class="list-item" v-for="(item, index) in startList" :key="index" @click="toDetail(item)">
                     <div class="img"><img :src="getFirstImage(item.attachmenturl)" /></div>
                     <div class="info">
                         <div class="title"><span>{{ item.goodscode }}/{{ item.goodsname }}</span></div>
-                        <div class="desc"><span>{{ item.starttime }} - {{ item.endtime }}</span></div>
                         <div class="price">
                             <Tag type="danger" plain>预售价</Tag>
                             <span class="unit">¥</span>
                             <span class="integer">{{ item.refprice }}</span>
                         </div>
+                        <div class="desc">
+                            <span>开始:{{ item.starttime }}</span>
+                            <span>结束:{{ item.endtime }}</span>
+                        </div>
                     </div>
                 </li>
             </ul>
             <Divider>发售历史</Divider>
             <ul class="g-goods-list">
-                <li class="list-item g-block--bg" v-for="(item, index) in endList" :key="index" @click="toDetail(item)">
-                    <div class="img"><img :src="getFirstImage(item.attachmenturl)" /></div>
+                <li class="list-item" v-for="(item, index) in endList" :key="index" @click="toDetail(item)">
+                    <div class="img mask"><img :src="getFirstImage(item.attachmenturl)" /></div>
                     <div class="info">
                         <div class="title"><span>{{ item.goodscode }}/{{ item.goodsname }}</span></div>
-                        <div class="desc"><span>{{ item.starttime }} - {{ item.endtime }}</span></div>
                         <div class="price">
                             <Tag type="danger" plain>预售价</Tag>
                             <span class="unit">¥</span>
                             <span class="integer">{{ item.refprice }}</span>
                         </div>
+                        <div class="desc">
+                            <span>开始:{{ item.starttime }}</span>
+                            <span>结束:{{ item.endtime }}</span>
+                        </div>
                     </div>
                 </li>
             </ul>

+ 5 - 2
src/packages/mobile/views/presale/detail/components/delisting/index.vue

@@ -8,7 +8,7 @@
             </Field>
             <Field name="OrderPrice" :rules="formRules.OrderPrice" label="认购价">
                 <template #input>
-                    <Stepper v-model="formData.OrderPrice" theme="round" :min="detail.startprice" :decimal-length="2"
+                    <Stepper v-model="formData.OrderPrice" theme="round" :min="detail.startprice" :decimal-length="quote?.decimalplace"
                         :auto-fixed="false" button-size="22" />
                 </template>
             </Field>
@@ -40,7 +40,7 @@ import { shallowRef, PropType, onMounted, computed } from 'vue'
 import { Form, Field, Stepper, Button, FieldRule, FormInstance } from 'vant'
 import { fullloading, dialog } from '@/utils/vant'
 import { parsePercent, handleRequestBigNumber } from '@/filters'
-import { useAccountStore } from '@/stores'
+import { useAccountStore, useFuturesStore } from '@/stores'
 import { useOrder } from '@/business/trade'
 import AppPopup from '@mobile/components/base/popup/index.vue'
 import { BuyOrSell } from '@/constants/order'
@@ -56,10 +56,13 @@ const props = defineProps({
 
 const { formData, formSubmit } = useOrder()
 const accountStore = useAccountStore()
+const futuresStore = useFuturesStore()
 const formRef = shallowRef<FormInstance>()
 const refresh = shallowRef(false) // 是否刷新父组件数据
 const showModal = shallowRef(true)
 
+const quote = futuresStore.getGoodsQuote(props.detail.goodsid)
+
 // 表单验证规则
 const formRules: { [key in keyof Proto.OrderReq]?: FieldRule[] } = {
     OrderPrice: [{

+ 13 - 5
src/packages/mobile/views/presale/list/Index.vue

@@ -30,7 +30,7 @@
             <Waterfall class="g-goods-waterfall" :data-list="endList">
                 <template #default="{ item }">
                     <div class="goods" @click="toDetail(item)">
-                        <div class="goods-image">
+                        <div class="goods-image mask">
                             <img :src="getFileUrl(item.attachmenturl)" />
                         </div>
                         <div class="goods-info">
@@ -47,23 +47,27 @@
         </template>
         <template v-else>
             <ul class="g-goods-list">
-                <li class="list-item g-block--bg" v-for="(item, index) in startList" :key="index" @click="toDetail(item)">
+                <li class="list-item" v-for="(item, index) in startList" :key="index"
+                    @click="toDetail(item)">
                     <div class="img"><img :src="getFirstImage(item.attachmenturl)" /></div>
                     <div class="info">
                         <div class="title">{{ item.goodscode }}/{{ item.goodsname }}</div>
-                        <div class="desc">开始:{{ formatDate(item.starttime) }}-结束:{{ formatDate(item.endtime) }}</div>
                         <div class="price">
                             <Tag type="danger" plain>起拍价</Tag>
                             <span class="unit">¥</span>
                             <span class="integer">{{ item.startprice }}</span>
                         </div>
+                        <div class="desc">
+                            <span>开始:{{ item.starttime }}</span>
+                            <span>结束:{{ item.endtime }}</span>
+                        </div>
                     </div>
                 </li>
             </ul>
             <Divider>发售历史</Divider>
             <ul class="g-goods-list">
-                <li class="list-item g-block--bg" v-for="(item, index) in endList" :key="index" @click="toDetail(item)">
-                    <div class="img"><img :src="getFirstImage(item.attachmenturl)" /></div>
+                <li class="list-item" v-for="(item, index) in endList" :key="index" @click="toDetail(item)">
+                    <div class="img mask"><img :src="getFirstImage(item.attachmenturl)" /></div>
                     <div class="info">
                         <div class="title">{{ item.goodscode }}/{{ item.goodsname }}</div>
                         <div class="price">
@@ -71,6 +75,10 @@
                             <span class="unit">¥</span>
                             <span class="integer">{{ item.tradeprice }}</span>
                         </div>
+                        <div class="desc">
+                            <span>开始:{{ item.starttime }}</span>
+                            <span>结束:{{ item.endtime }}</span>
+                        </div>
                     </div>
                 </li>
             </ul>

+ 49 - 18
src/packages/nhgj/assets/themes/global/global.less

@@ -159,9 +159,10 @@
 
         &-item {
             display: flex;
-            align-items: center;
-            border-radius: 5px;
+            border-radius: 10px;
+            height: 110px;
             overflow: hidden;
+            background-color: #fff;
             padding: 10px;
 
             &:not(:last-child) {
@@ -169,29 +170,37 @@
             }
 
             .img {
-                &:first-child {
+                position: relative;
+                border-radius: 8px;
+                overflow: hidden;
+
+                &.mask::after {
+                    content: '已结束';
+                    position: absolute;
+                    top: 0;
+                    left: 0;
                     display: flex;
+                    justify-content: center;
                     align-items: center;
-
-                    img {
-                        width: 90px;
-                        height: 90px;
-                        object-fit: cover;
-                        border-radius: 8px;
-                        margin-right: 15px;
-                    }
+                    width: 100%;
+                    height: 100%;
+                    font-size: 12px;
+                    color: #fff;
+                    background-color: rgba(0, 0, 0, .5);
                 }
 
-                &:last-child {
-                    .van-button {
-                        width: 65px;
-                        height: 25px;
-                    }
+                img {
+                    width: 90px;
+                    height: 90px;
+                    object-fit: cover;
                 }
             }
 
             .info {
                 flex: 1;
+                display: flex;
+                flex-direction: column;
+                margin-left: 15px;
 
                 .title {
                     color: #333;
@@ -199,12 +208,16 @@
                 }
 
                 .desc {
+                    display: flex;
+                    flex-direction: column;
                     color: #666;
                     font-size: 12px;
-                    padding: 5px 0;
+                    margin-top: auto;
                 }
 
                 .price {
+                    color: var(--van-tag-danger-color);
+                    margin-top: 8px;
 
                     .buyprice,
                     .sellprice {
@@ -221,15 +234,33 @@
 
     .goods {
         background-color: #fff;
-        border-radius: 6px;
+        border-radius: 8px;
         overflow: hidden;
 
         &-image {
+            position: relative;
             display: flex;
             justify-content: center;
             align-items: center;
             min-height: 120px;
             font-size: 0;
+            border-radius: 8px;
+            overflow: hidden;
+
+            &.mask::after {
+                content: '已结束';
+                position: absolute;
+                top: 0;
+                left: 0;
+                display: flex;
+                justify-content: center;
+                align-items: center;
+                width: 100%;
+                height: 100%;
+                font-size: 14px;
+                color: #fff;
+                background-color: rgba(0, 0, 0, .5);
+            }
         }
 
         &-info {

+ 49 - 18
src/packages/qdhs/assets/themes/global/global.less

@@ -159,9 +159,10 @@
 
         &-item {
             display: flex;
-            align-items: center;
-            border-radius: 5px;
+            border-radius: 10px;
+            height: 110px;
             overflow: hidden;
+            background-color: #fff;
             padding: 10px;
 
             &:not(:last-child) {
@@ -169,29 +170,37 @@
             }
 
             .img {
-                &:first-child {
+                position: relative;
+                border-radius: 8px;
+                overflow: hidden;
+
+                &.mask::after {
+                    content: '已结束';
+                    position: absolute;
+                    top: 0;
+                    left: 0;
                     display: flex;
+                    justify-content: center;
                     align-items: center;
-
-                    img {
-                        width: 90px;
-                        height: 90px;
-                        object-fit: cover;
-                        border-radius: 8px;
-                        margin-right: 15px;
-                    }
+                    width: 100%;
+                    height: 100%;
+                    font-size: 12px;
+                    color: #fff;
+                    background-color: rgba(0, 0, 0, .5);
                 }
 
-                &:last-child {
-                    .van-button {
-                        width: 115px;
-                        height: 25px;
-                    }
+                img {
+                    width: 90px;
+                    height: 90px;
+                    object-fit: cover;
                 }
             }
 
             .info {
                 flex: 1;
+                display: flex;
+                flex-direction: column;
+                margin-left: 15px;
 
                 .title {
                     color: #333;
@@ -199,12 +208,16 @@
                 }
 
                 .desc {
+                    display: flex;
+                    flex-direction: column;
                     color: #666;
                     font-size: 12px;
-                    padding: 5px 0;
+                    margin-top: auto;
                 }
 
                 .price {
+                    color: var(--van-tag-danger-color);
+                    margin-top: 8px;
 
                     .buyprice,
                     .sellprice {
@@ -221,15 +234,33 @@
 
     .goods {
         background-color: #fff;
-        border-radius: 6px;
+        border-radius: 8px;
         overflow: hidden;
 
         &-image {
+            position: relative;
             display: flex;
             justify-content: center;
             align-items: center;
             min-height: 120px;
             font-size: 0;
+            border-radius: 8px;
+            overflow: hidden;
+
+            &.mask::after {
+                content: '已结束';
+                position: absolute;
+                top: 0;
+                left: 0;
+                display: flex;
+                justify-content: center;
+                align-items: center;
+                width: 100%;
+                height: 100%;
+                font-size: 14px;
+                color: #fff;
+                background-color: rgba(0, 0, 0, .5);
+            }
         }
 
         &-info {

+ 49 - 18
src/packages/qxst/assets/themes/global/global.less

@@ -159,9 +159,10 @@
 
         &-item {
             display: flex;
-            align-items: center;
-            border-radius: 5px;
+            border-radius: 10px;
+            height: 110px;
             overflow: hidden;
+            background-color: #fff;
             padding: 10px;
 
             &:not(:last-child) {
@@ -169,29 +170,37 @@
             }
 
             .img {
-                &:first-child {
+                position: relative;
+                border-radius: 8px;
+                overflow: hidden;
+
+                &.mask::after {
+                    content: '已结束';
+                    position: absolute;
+                    top: 0;
+                    left: 0;
                     display: flex;
+                    justify-content: center;
                     align-items: center;
-
-                    img {
-                        width: 90px;
-                        height: 90px;
-                        object-fit: cover;
-                        border-radius: 8px;
-                        margin-right: 15px;
-                    }
+                    width: 100%;
+                    height: 100%;
+                    font-size: 12px;
+                    color: #fff;
+                    background-color: rgba(0, 0, 0, .5);
                 }
 
-                &:last-child {
-                    .van-button {
-                        width: 65px;
-                        height: 25px;
-                    }
+                img {
+                    width: 90px;
+                    height: 90px;
+                    object-fit: cover;
                 }
             }
 
             .info {
                 flex: 1;
+                display: flex;
+                flex-direction: column;
+                margin-left: 15px;
 
                 .title {
                     color: #333;
@@ -199,12 +208,16 @@
                 }
 
                 .desc {
+                    display: flex;
+                    flex-direction: column;
                     color: #666;
                     font-size: 12px;
-                    padding: 5px 0;
+                    margin-top: auto;
                 }
 
                 .price {
+                    color: var(--van-tag-danger-color);
+                    margin-top: 8px;
 
                     .buyprice,
                     .sellprice {
@@ -221,15 +234,33 @@
 
     .goods {
         background-color: #fff;
-        border-radius: 6px;
+        border-radius: 8px;
         overflow: hidden;
 
         &-image {
+            position: relative;
             display: flex;
             justify-content: center;
             align-items: center;
             min-height: 120px;
             font-size: 0;
+            border-radius: 8px;
+            overflow: hidden;
+
+            &.mask::after {
+                content: '已结束';
+                position: absolute;
+                top: 0;
+                left: 0;
+                display: flex;
+                justify-content: center;
+                align-items: center;
+                width: 100%;
+                height: 100%;
+                font-size: 14px;
+                color: #fff;
+                background-color: rgba(0, 0, 0, .5);
+            }
         }
 
         &-info {

+ 49 - 18
src/packages/tc/assets/themes/global/global.less

@@ -159,9 +159,10 @@
 
         &-item {
             display: flex;
-            align-items: center;
-            border-radius: 5px;
+            border-radius: 10px;
+            height: 110px;
             overflow: hidden;
+            background-color: #fff;
             padding: 10px;
 
             &:not(:last-child) {
@@ -169,29 +170,37 @@
             }
 
             .img {
-                &:first-child {
+                position: relative;
+                border-radius: 8px;
+                overflow: hidden;
+
+                &.mask::after {
+                    content: '已结束';
+                    position: absolute;
+                    top: 0;
+                    left: 0;
                     display: flex;
+                    justify-content: center;
                     align-items: center;
-
-                    img {
-                        width: 90px;
-                        height: 90px;
-                        object-fit: cover;
-                        border-radius: 8px;
-                        margin-right: 15px;
-                    }
+                    width: 100%;
+                    height: 100%;
+                    font-size: 12px;
+                    color: #fff;
+                    background-color: rgba(0, 0, 0, .5);
                 }
 
-                &:last-child {
-                    .van-button {
-                        width: 65px;
-                        height: 25px;
-                    }
+                img {
+                    width: 90px;
+                    height: 90px;
+                    object-fit: cover;
                 }
             }
 
             .info {
                 flex: 1;
+                display: flex;
+                flex-direction: column;
+                margin-left: 15px;
 
                 .title {
                     color: #333;
@@ -199,12 +208,16 @@
                 }
 
                 .desc {
+                    display: flex;
+                    flex-direction: column;
                     color: #666;
                     font-size: 12px;
-                    padding: 5px 0;
+                    margin-top: auto;
                 }
 
                 .price {
+                    color: var(--van-tag-danger-color);
+                    margin-top: 8px;
 
                     .buyprice,
                     .sellprice {
@@ -221,15 +234,33 @@
 
     .goods {
         background-color: #fff;
-        border-radius: 6px;
+        border-radius: 8px;
         overflow: hidden;
 
         &-image {
+            position: relative;
             display: flex;
             justify-content: center;
             align-items: center;
             min-height: 120px;
             font-size: 0;
+            border-radius: 8px;
+            overflow: hidden;
+
+            &.mask::after {
+                content: '已结束';
+                position: absolute;
+                top: 0;
+                left: 0;
+                display: flex;
+                justify-content: center;
+                align-items: center;
+                width: 100%;
+                height: 100%;
+                font-size: 14px;
+                color: #fff;
+                background-color: rgba(0, 0, 0, .5);
+            }
         }
 
         &-info {

+ 49 - 18
src/packages/thj/assets/themes/global/global.less

@@ -159,9 +159,10 @@
 
         &-item {
             display: flex;
-            align-items: center;
-            border-radius: 5px;
+            border-radius: 10px;
+            height: 110px;
             overflow: hidden;
+            background-color: #fff;
             padding: 10px;
 
             &:not(:last-child) {
@@ -169,29 +170,37 @@
             }
 
             .img {
-                &:first-child {
+                position: relative;
+                border-radius: 8px;
+                overflow: hidden;
+
+                &.mask::after {
+                    content: '已结束';
+                    position: absolute;
+                    top: 0;
+                    left: 0;
                     display: flex;
+                    justify-content: center;
                     align-items: center;
-
-                    img {
-                        width: 90px;
-                        height: 90px;
-                        object-fit: cover;
-                        border-radius: 8px;
-                        margin-right: 15px;
-                    }
+                    width: 100%;
+                    height: 100%;
+                    font-size: 12px;
+                    color: #fff;
+                    background-color: rgba(0, 0, 0, .5);
                 }
 
-                &:last-child {
-                    .van-button {
-                        width: 65px;
-                        height: 25px;
-                    }
+                img {
+                    width: 90px;
+                    height: 90px;
+                    object-fit: cover;
                 }
             }
 
             .info {
                 flex: 1;
+                display: flex;
+                flex-direction: column;
+                margin-left: 15px;
 
                 .title {
                     color: #333;
@@ -199,12 +208,16 @@
                 }
 
                 .desc {
+                    display: flex;
+                    flex-direction: column;
                     color: #666;
                     font-size: 12px;
-                    padding: 5px 0;
+                    margin-top: auto;
                 }
 
                 .price {
+                    color: var(--van-tag-danger-color);
+                    margin-top: 8px;
 
                     .buyprice,
                     .sellprice {
@@ -221,15 +234,33 @@
 
     .goods {
         background-color: #fff;
-        border-radius: 6px;
+        border-radius: 8px;
         overflow: hidden;
 
         &-image {
+            position: relative;
             display: flex;
             justify-content: center;
             align-items: center;
             min-height: 120px;
             font-size: 0;
+            border-radius: 8px;
+            overflow: hidden;
+
+            &.mask::after {
+                content: '已结束';
+                position: absolute;
+                top: 0;
+                left: 0;
+                display: flex;
+                justify-content: center;
+                align-items: center;
+                width: 100%;
+                height: 100%;
+                font-size: 14px;
+                color: #fff;
+                background-color: rgba(0, 0, 0, .5);
+            }
         }
 
         &-info {

+ 49 - 18
src/packages/tjmd/assets/themes/global/global.less

@@ -159,9 +159,10 @@
 
         &-item {
             display: flex;
-            align-items: center;
-            border-radius: 5px;
+            border-radius: 10px;
+            height: 110px;
             overflow: hidden;
+            background-color: #fff;
             padding: 10px;
 
             &:not(:last-child) {
@@ -169,29 +170,37 @@
             }
 
             .img {
-                &:first-child {
+                position: relative;
+                border-radius: 8px;
+                overflow: hidden;
+
+                &.mask::after {
+                    content: '已结束';
+                    position: absolute;
+                    top: 0;
+                    left: 0;
                     display: flex;
+                    justify-content: center;
                     align-items: center;
-
-                    img {
-                        width: 90px;
-                        height: 90px;
-                        object-fit: cover;
-                        border-radius: 8px;
-                        margin-right: 15px;
-                    }
+                    width: 100%;
+                    height: 100%;
+                    font-size: 12px;
+                    color: #fff;
+                    background-color: rgba(0, 0, 0, .5);
                 }
 
-                &:last-child {
-                    .van-button {
-                        width: 65px;
-                        height: 25px;
-                    }
+                img {
+                    width: 90px;
+                    height: 90px;
+                    object-fit: cover;
                 }
             }
 
             .info {
                 flex: 1;
+                display: flex;
+                flex-direction: column;
+                margin-left: 15px;
 
                 .title {
                     color: #333;
@@ -199,12 +208,16 @@
                 }
 
                 .desc {
+                    display: flex;
+                    flex-direction: column;
                     color: #666;
                     font-size: 12px;
-                    padding: 5px 0;
+                    margin-top: auto;
                 }
 
                 .price {
+                    color: var(--van-tag-danger-color);
+                    margin-top: 8px;
 
                     .buyprice,
                     .sellprice {
@@ -221,15 +234,33 @@
 
     .goods {
         background-color: #fff;
-        border-radius: 6px;
+        border-radius: 8px;
         overflow: hidden;
 
         &-image {
+            position: relative;
             display: flex;
             justify-content: center;
             align-items: center;
             min-height: 120px;
             font-size: 0;
+            border-radius: 8px;
+            overflow: hidden;
+
+            &.mask::after {
+                content: '已结束';
+                position: absolute;
+                top: 0;
+                left: 0;
+                display: flex;
+                justify-content: center;
+                align-items: center;
+                width: 100%;
+                height: 100%;
+                font-size: 14px;
+                color: #fff;
+                background-color: rgba(0, 0, 0, .5);
+            }
         }
 
         &-info {

+ 49 - 18
src/packages/zrwyt/assets/themes/global/global.less

@@ -159,9 +159,10 @@
 
         &-item {
             display: flex;
-            align-items: center;
-            border-radius: 5px;
+            border-radius: 10px;
+            height: 110px;
             overflow: hidden;
+            background-color: #fff;
             padding: 10px;
 
             &:not(:last-child) {
@@ -169,29 +170,37 @@
             }
 
             .img {
-                &:first-child {
+                position: relative;
+                border-radius: 8px;
+                overflow: hidden;
+
+                &.mask::after {
+                    content: '已结束';
+                    position: absolute;
+                    top: 0;
+                    left: 0;
                     display: flex;
+                    justify-content: center;
                     align-items: center;
-
-                    img {
-                        width: 90px;
-                        height: 90px;
-                        object-fit: cover;
-                        border-radius: 8px;
-                        margin-right: 15px;
-                    }
+                    width: 100%;
+                    height: 100%;
+                    font-size: 12px;
+                    color: #fff;
+                    background-color: rgba(0, 0, 0, .5);
                 }
 
-                &:last-child {
-                    .van-button {
-                        width: 65px;
-                        height: 25px;
-                    }
+                img {
+                    width: 90px;
+                    height: 90px;
+                    object-fit: cover;
                 }
             }
 
             .info {
                 flex: 1;
+                display: flex;
+                flex-direction: column;
+                margin-left: 15px;
 
                 .title {
                     color: #333;
@@ -199,12 +208,16 @@
                 }
 
                 .desc {
+                    display: flex;
+                    flex-direction: column;
                     color: #666;
                     font-size: 12px;
-                    padding: 5px 0;
+                    margin-top: auto;
                 }
 
                 .price {
+                    color: var(--van-tag-danger-color);
+                    margin-top: 8px;
 
                     .buyprice,
                     .sellprice {
@@ -221,15 +234,33 @@
 
     .goods {
         background-color: #fff;
-        border-radius: 6px;
+        border-radius: 8px;
         overflow: hidden;
 
         &-image {
+            position: relative;
             display: flex;
             justify-content: center;
             align-items: center;
             min-height: 120px;
             font-size: 0;
+            border-radius: 8px;
+            overflow: hidden;
+
+            &.mask::after {
+                content: '已结束';
+                position: absolute;
+                top: 0;
+                left: 0;
+                display: flex;
+                justify-content: center;
+                align-items: center;
+                width: 100%;
+                height: 100%;
+                font-size: 14px;
+                color: #fff;
+                background-color: rgba(0, 0, 0, .5);
+            }
         }
 
         &-info {

+ 12 - 18
src/packages/zrwyt/views/order/list/Index.vue

@@ -39,24 +39,18 @@ const components = [
         component: defineAsyncComponent(() => import('@mobile/views/order/list/components/goodstrade/list/Index.vue')),
         history: defineAsyncComponent(() => import('@mobile/views/order/list/components/goodstrade/history/Index.vue')),
     },
-    // {
-    //     name: 'presale',
-    //     title: '预售认购',
-    //     component: defineAsyncComponent(() => import('@mobile/views/order/list/components/presale/list/Index.vue')),
-    //     history: defineAsyncComponent(() => import('@mobile/views/order/list/components/presale/history/index.vue')),
-    // },
-    // {
-    //     name: 'transferorder',
-    //     title: '转让委托',
-    //     component: defineAsyncComponent(() => import('@mobile/views/order/list/components/transferorder/list/Index.vue')),
-    //     history: defineAsyncComponent(() => import('@mobile/views/order/list/components/transferorder/history/index.vue')),
-    // },
-    // {
-    //     name: 'transfertrade',
-    //     title: '转让成交',
-    //     component: defineAsyncComponent(() => import('@mobile/views/order/list/components/transfertrade/list/Index.vue')),
-    //     history: defineAsyncComponent(() => import('@mobile/views/order/list/components/transfertrade/history/index.vue')),
-    // }
+    {
+        name: 'listingorder',
+        title: '挂牌委托',
+        component: defineAsyncComponent(() => import('@mobile/views/order/list/components/listingorder/list/Index.vue')),
+        history: defineAsyncComponent(() => import('@mobile/views/order/list/components/listingorder/history/Index.vue')),
+    },
+    {
+        name: 'listingtrade',
+        title: '挂牌成交',
+        component: defineAsyncComponent(() => import('@mobile/views/order/list/components/listingtrade/list/Index.vue')),
+        history: defineAsyncComponent(() => import('@mobile/views/order/list/components/listingtrade/history/Index.vue')),
+    }
 ]
 
 const active = shallowRef(0)

+ 20 - 6
src/packages/zrwyt/views/order/position/Index.vue

@@ -2,21 +2,28 @@
     <app-view>
         <template #header>
             <app-navbar title="我的持仓">
-                <template #right>
-                    <div class="button-more" @click="openComponent('detail')">
+                <template #right v-if="selectedComponent.detail">
+                    <div class="button-more" @click="openComponent(selectedComponent.name)">
                         <span>明细</span>
                     </div>
                 </template>
             </app-navbar>
         </template>
-        <component :is="components[0].component" />
-        <component ref="componentRef" :is="components[0].detail" @closed="closeComponent"
-            v-if="componentId" />
+        <Tabs class="van-tabs--list" v-model:active="active" :swipe-threshold="4">
+            <template v-for="(item, index) in components" :key="index">
+                <Tab :title="item.title" :name="index">
+                    <component :is="item.component" />
+                </Tab>
+            </template>
+        </Tabs>
+        <component ref="componentRef" :is="selectedComponent.detail" @closed="closeComponent"
+            v-if="componentId && selectedComponent.detail" />
     </app-view>
 </template>
 
 <script lang="ts" setup>
-import { defineAsyncComponent } from 'vue'
+import { shallowRef, computed, defineAsyncComponent } from 'vue'
+import { Tab, Tabs } from 'vant'
 import { useComponent } from '@/hooks/component'
 
 const components = [
@@ -26,7 +33,14 @@ const components = [
         component: defineAsyncComponent(() => import('@mobile/views/order/position/components/goods/list/Index.vue')),
         detail: defineAsyncComponent(() => import('@mobile/views/order/position/components/goods/detail/Index.vue')),
     },
+    {
+        name: 'spot',
+        title: '现货持仓',
+        component: defineAsyncComponent(() => import('@mobile/views/order/position/components/spot/list/Index.vue')),
+    },
 ]
 
+const active = shallowRef(0)
+const selectedComponent = computed(() => components[active.value])
 const { componentRef, componentId, openComponent, closeComponent } = useComponent()
 </script>

BIN
src/packages/zrwyt2/assets/images/login-logo.png


+ 49 - 18
src/packages/zrwyt2/assets/themes/global/global.less

@@ -159,9 +159,10 @@
 
         &-item {
             display: flex;
-            align-items: center;
-            border-radius: 5px;
+            border-radius: 10px;
+            height: 110px;
             overflow: hidden;
+            background-color: #fff;
             padding: 10px;
 
             &:not(:last-child) {
@@ -169,29 +170,37 @@
             }
 
             .img {
-                &:first-child {
+                position: relative;
+                border-radius: 8px;
+                overflow: hidden;
+
+                &.mask::after {
+                    content: '已结束';
+                    position: absolute;
+                    top: 0;
+                    left: 0;
                     display: flex;
+                    justify-content: center;
                     align-items: center;
-
-                    img {
-                        width: 90px;
-                        height: 90px;
-                        object-fit: cover;
-                        border-radius: 8px;
-                        margin-right: 15px;
-                    }
+                    width: 100%;
+                    height: 100%;
+                    font-size: 12px;
+                    color: #fff;
+                    background-color: rgba(0, 0, 0, .5);
                 }
 
-                &:last-child {
-                    .van-button {
-                        width: 65px;
-                        height: 25px;
-                    }
+                img {
+                    width: 90px;
+                    height: 90px;
+                    object-fit: cover;
                 }
             }
 
             .info {
                 flex: 1;
+                display: flex;
+                flex-direction: column;
+                margin-left: 15px;
 
                 .title {
                     color: #333;
@@ -199,12 +208,16 @@
                 }
 
                 .desc {
+                    display: flex;
+                    flex-direction: column;
                     color: #666;
                     font-size: 12px;
-                    padding: 5px 0;
+                    margin-top: auto;
                 }
 
                 .price {
+                    color: var(--van-tag-danger-color);
+                    margin-top: 8px;
 
                     .buyprice,
                     .sellprice {
@@ -221,15 +234,33 @@
 
     .goods {
         background-color: #fff;
-        border-radius: 6px;
+        border-radius: 8px;
         overflow: hidden;
 
         &-image {
+            position: relative;
             display: flex;
             justify-content: center;
             align-items: center;
             min-height: 120px;
             font-size: 0;
+            border-radius: 8px;
+            overflow: hidden;
+
+            &.mask::after {
+                content: '已结束';
+                position: absolute;
+                top: 0;
+                left: 0;
+                display: flex;
+                justify-content: center;
+                align-items: center;
+                width: 100%;
+                height: 100%;
+                font-size: 14px;
+                color: #fff;
+                background-color: rgba(0, 0, 0, .5);
+            }
         }
 
         &-info {

+ 1 - 1
src/packages/zrwyt2/views/user/login/index.less

@@ -1,7 +1,7 @@
 .login {
     &-logo {
         img {
-            height: 90px;
+            height: 80px;
         }
     }
 }