li.shaoyi 1 年間 前
コミット
3248fe9152
63 ファイル変更509 行追加104 行削除
  1. 2 2
      app/package.json
  2. BIN
      file/水贝亿爵/market-title-bg.psd
  3. 0 0
      file/水贝亿爵/sbyj.psd
  4. 0 0
      file/水贝亿爵/水贝亿爵.svg
  5. 27 0
      oem/mobile52101/androidPrivacy.json
  6. BIN
      oem/mobile52101/app/icons/1024x1024.png
  7. BIN
      oem/mobile52101/app/icons/120x120.png
  8. BIN
      oem/mobile52101/app/icons/144x144.png
  9. BIN
      oem/mobile52101/app/icons/152x152.png
  10. BIN
      oem/mobile52101/app/icons/167x167.png
  11. BIN
      oem/mobile52101/app/icons/180x180.png
  12. BIN
      oem/mobile52101/app/icons/192x192.png
  13. BIN
      oem/mobile52101/app/icons/20x20.png
  14. BIN
      oem/mobile52101/app/icons/29x29.png
  15. BIN
      oem/mobile52101/app/icons/40x40.png
  16. BIN
      oem/mobile52101/app/icons/58x58.png
  17. BIN
      oem/mobile52101/app/icons/60x60.png
  18. BIN
      oem/mobile52101/app/icons/72x72.png
  19. BIN
      oem/mobile52101/app/icons/76x76.png
  20. BIN
      oem/mobile52101/app/icons/80x80.png
  21. BIN
      oem/mobile52101/app/icons/87x87.png
  22. BIN
      oem/mobile52101/app/icons/96x96.png
  23. BIN
      oem/mobile52101/app/splashscreen/1080x1920.png
  24. BIN
      oem/mobile52101/app/splashscreen/480x853.png
  25. BIN
      oem/mobile52101/app/splashscreen/720x1280.png
  26. 16 0
      oem/mobile52101/config/appconfig.json
  27. 1 0
      oem/mobile52101/config/columns.json
  28. BIN
      oem/mobile52101/favicon.ico
  29. BIN
      oem/mobile52101/img/login-logo.png
  30. BIN
      oem/mobile52101/img/market-title-bg.jpg
  31. 303 0
      oem/mobile52101/manifest.json
  32. 0 0
      oem/sbyj/img/login-logo.png
  33. 0 0
      oem/sbyj/img/market-title-bg.jpg
  34. 1 13
      oem/thj/config/columns.json
  35. 2 2
      oem/zrwyt/config/appconfig.json
  36. 8 1
      oem/zrwyt/config/router.json
  37. 2 1
      public/config/appconfig.json
  38. 7 0
      script/oem.env.json
  39. 1 1
      src/packages/mobile/views/order/list/components/swaptrade/detail/Index.vue
  40. 1 1
      src/packages/mobile/views/order/list/components/swaptrade/history/Index.vue
  41. 1 1
      src/packages/mobile/views/order/list/components/swaptrade/list/Index.vue
  42. 3 4
      src/packages/mobile/views/order/performance/Index.vue
  43. 2 1
      src/packages/mobile/views/order/position/components/swap/list/Index.vue
  44. 15 3
      src/packages/mobile/views/user/register/Index.vue
  45. 1 2
      src/packages/pc/views/footer/performance/buy/index.vue
  46. 1 2
      src/packages/pc/views/footer/performance/sell/index.vue
  47. 7 5
      src/packages/sbyj/views/home/main/index.vue
  48. 3 1
      src/packages/sbyj/views/market/list/index.less
  49. 2 1
      src/packages/sbyj/views/market/list/index.vue
  50. 1 1
      src/packages/sbyj/views/user/login/Index.vue
  51. 1 1
      src/packages/sbyj/views/user/login/index.less
  52. 3 3
      src/packages/thj/assets/themes/global/global.less
  53. 14 8
      src/packages/thj/components/quote/index.less
  54. 14 10
      src/packages/thj/components/quote/index.vue
  55. 40 10
      src/packages/thj/views/home/main/Index.vue
  56. 2 2
      src/packages/thj/views/market/detail/index.vue
  57. 1 1
      src/packages/thj/views/market/list/index.vue
  58. 15 17
      src/packages/thj/views/swap/detail/index.vue
  59. 4 4
      src/packages/thj/views/swap/list/index.vue
  60. 2 2
      src/packages/zrwyt/views/order/delivery/Index.vue
  61. 2 2
      src/packages/zrwyt2/views/order/delivery/Index.vue
  62. 3 1
      src/stores/modules/global.ts
  63. 1 1
      src/types/model/common.d.ts

+ 2 - 2
app/package.json

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

BIN
file/水贝亿爵/market-title-bg.psd


+ 0 - 0
file/sbyj.psd → file/水贝亿爵/sbyj.psd


+ 0 - 0
file/水贝亿爵.svg → file/水贝亿爵/水贝亿爵.svg


+ 27 - 0
oem/mobile52101/androidPrivacy.json

@@ -0,0 +1,27 @@
+{
+    "version" : "1",
+    "prompt" : "template",
+    "title" : "隐私政策",
+    "message" : "  请你务必审慎阅读、充分理解“隐私政策”各条款,包括但不限于:为了更好的向你提供服务,我们需要收集你的设备标识、操作日志等信息用于分析、优化应用性能。<br/>  你可阅读<a href=\"html/yszc.htm\">《隐私政策》</a>了解详细信息。如果你同意,请点击下面按钮开始接受我们的服务。",
+    "buttonAccept" : "同意并接受",
+    "buttonRefuse" : "拒绝",
+    "hrefLoader" : "system|default",
+    "second" : {
+        "title" : "确认提示",
+        "message" : "  进入应用前,你需先同意<a href=\"html/yszc.htm\">《隐私政策》</a>,否则将退出应用。",
+        "buttonAccept" : "同意并继续",
+        "buttonRefuse" : "退出应用"
+    },
+    "disagreeMode" : {
+        "support" : false,
+        "loadNativePlugins" : false,
+        "visitorEntry" : true,
+        "showAlways" : true
+    },
+    "styles" : {
+        "borderRadius" : "5px",
+        "buttonAccept" : {
+            "color" : "#ee0a24"
+        }
+    }
+}

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


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


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


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


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


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


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


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


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


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


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


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


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


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


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


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


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


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


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


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


+ 16 - 0
oem/mobile52101/config/appconfig.json

@@ -0,0 +1,16 @@
+{
+  "appId": "com.muchinfo.52101",
+  "appName": "多元世纪",
+  "version": "1.0.0",
+  "versionCode": "100000",
+  "apiUrl": "http://192.168.31.171:8080/cfg?key=test_171",
+  "tradeChannel": "ws",
+  "modules": [
+    "register",
+    "delivery"
+  ],
+  "quotationPropertys": [
+    "holdvolume"
+  ],
+  "forcedPasswordChange": false
+}

+ 1 - 0
oem/mobile52101/config/columns.json

@@ -0,0 +1 @@
+[]

BIN
oem/mobile52101/favicon.ico


BIN
oem/mobile52101/img/login-logo.png


BIN
oem/mobile52101/img/market-title-bg.jpg


+ 303 - 0
oem/mobile52101/manifest.json

@@ -0,0 +1,303 @@
+{
+    "@platforms" : [ "android", "iPhone", "iPad" ],
+    "id" : "H5E4A9458",
+    /*应用的标识*/
+    "name" : "水贝亿爵",
+    /*应用名称,程序桌面图标名称*/
+    "version" : {
+        "name" : "1.0.2",
+        /*应用版本名称*/
+        "code" : 100002
+    },
+    "description" : "",
+    /*应用描述信息*/
+    "icons" : {
+        "72" : "icon.png"
+    },
+    "launch_path" : "index.html",
+    /*应用的入口页面,默认为根目录下的index.html;支持网络地址,必须以http://或https://开头*/
+    "developer" : {
+        "name" : "",
+        /*开发者名称*/
+        "email" : "",
+        /*开发者邮箱地址*/
+        "url" : "" /*开发者个人主页地址*/
+    },
+    "permissions" : {
+        "Accelerometer" : {
+            "description" : "访问加速度感应器"
+        },
+        "Audio" : {
+            "description" : "访问麦克风"
+        },
+        "Cache" : {
+            "description" : "管理应用缓存"
+        },
+        "Camera" : {
+            "description" : "访问摄像头"
+        },
+        "Console" : {
+            "description" : "跟踪调试输出日志"
+        },
+        "Device" : {
+            "description" : "访问设备信息"
+        },
+        "Downloader" : {
+            "description" : "文件下载管理"
+        },
+        "Events" : {
+            "description" : "应用扩展事件"
+        },
+        "File" : {
+            "description" : "访问本地文件系统"
+        },
+        "Gallery" : {
+            "description" : "访问系统相册"
+        },
+        "Invocation" : {
+            "description" : "使用Native.js能力"
+        },
+        "Orientation" : {
+            "description" : "访问方向感应器"
+        },
+        "Proximity" : {
+            "description" : "访问距离感应器"
+        },
+        "Storage" : {
+            "description" : "管理应用本地数据"
+        },
+        "Uploader" : {
+            "description" : "管理文件上传任务"
+        },
+        "Runtime" : {
+            "description" : "访问运行期环境"
+        },
+        "XMLHttpRequest" : {
+            "description" : "跨域网络访问"
+        },
+        "Zip" : {
+            "description" : "文件压缩与解压缩"
+        },
+        "Barcode" : {
+            "description" : "管理二维码扫描插件"
+        },
+        "Webview" : {
+            "description" : "窗口管理"
+        },
+        "NativeUI" : {
+            "description" : "原生UI控件"
+        },
+        "Navigator" : {
+            "description" : "浏览器信息"
+        },
+        "NativeObj" : {
+            "description" : "原生对象"
+        },
+        "Share" : {}
+    },
+    "plus" : {
+        "modules" : {
+            "Barcode" : {},
+            "Camera" : {},
+            "Gallery" : {},
+            "Share" : {}
+        },
+        "statusbar" : {
+            "immersed" : true /*沉浸式状态栏。*/
+        },
+        "splashscreen" : {
+            "autoclose" : true,
+            /*是否自动关闭程序启动界面,true表示应用加载应用入口页面后自动关闭;false则需调plus.navigator.closeSplashscreen()关闭*/
+            "waiting" : true /*是否在程序启动界面显示等待雪花,true表示显示,false表示不显示。*/
+        },
+        "popGesture" : "close",
+        /*设置应用默认侧滑返回关闭Webview窗口,"none"为无侧滑返回功能,"hide"为侧滑隐藏Webview窗口。参考http://ask.dcloud.net.cn/article/102*/
+        "runmode" : "liberate",
+        /*应用的首次启动运行模式,可取liberate或normal,liberate模式在第一次启动时将解压应用资源(Android平台File API才可正常访问_www目录)*/
+        "signature" : "Sk9JTiBVUyBtYWlsdG86aHIyMDEzQGRjbG91ZC5pbw==",
+        /*可选,保留给应用签名,暂不使用*/
+        "distribute" : {
+            "apple" : {
+                "appid" : "",
+                /*iOS应用标识,苹果开发网站申请的appid,如io.dcloud.HelloH5*/
+                "mobileprovision" : "",
+                /*iOS应用打包配置文件*/
+                "password" : "",
+                /*iOS应用打包个人证书导入密码*/
+                "p12" : "",
+                /*iOS应用打包个人证书,打包配置文件关联的个人证书*/
+                "devices" : "universal",
+                /*iOS应用支持的设备类型,可取值iphone/ipad/universal*/
+                "frameworks" : [], /*调用Native.js调用原生Objective-c API需要引用的FrameWork,如需调用GameCenter,则添加"GameKit.framework"*/
+                "idfa" : false,
+                "privacyDescription" : {
+                    "NSCameraUsageDescription" : "访问您的摄像头用来拍照上传您的图像!",
+                    "NSPhotoLibraryAddUsageDescription" : "访问您的相册用来保存图像信息!",
+                    "NSPhotoLibraryUsageDescription" : "访问您的相册用来上传您的图像!"
+                }
+            },
+            "google" : {
+                "packagename" : "",
+                /*Android应用包名,如io.dcloud.HelloH5*/
+                "keystore" : "",
+                /*Android应用打包使用的密钥库文件*/
+                "password" : "",
+                /*Android应用打包使用密钥库中证书的密码*/
+                "aliasname" : "",
+                /*Android应用打包使用密钥库中证书的别名*/
+                "permissions" : [
+                    "<uses-feature android:name=\"android.hardware.camera\"/>",
+                    "<uses-feature android:name=\"android.hardware.camera.autofocus\"/>",
+                    "<uses-permission android:name=\"android.permission.BIND_INPUT_METHOD\"/>",
+                    "<uses-permission android:name=\"android.permission.CAMERA\"/>",
+                    "<uses-permission android:name=\"android.permission.MODIFY_AUDIO_SETTINGS\"/>",
+                    "<uses-permission android:name=\"android.permission.RECORD_AUDIO\"/>"
+                ],
+                "abiFilters" : [ "armeabi-v7a", "arm64-v8a" ],
+                "autoSdkPermissions" : false,
+                "minSdkVersion" : 26
+            },
+            /*使用Native.js调用原生安卓API需要使用到的系统权限*/
+            "orientation" : [ "portrait-primary" ],
+            /*应用支持的方向,portrait-primary:竖屏正方向;portrait-secondary:竖屏反方向;landscape-primary:横屏正方向;landscape-secondary:横屏反方向*/
+            "icons" : {
+                "ios" : {
+                    "prerendered" : true,
+                    /*应用图标是否已经高亮处理,在iOS6及以下设备上有效*/
+                    "auto" : "",
+                    /*应用图标,分辨率:512x512,用于自动生成各种尺寸程序图标*/
+                    "iphone" : {
+                        "normal" : "",
+                        /*iPhone3/3GS程序图标,分辨率:57x57*/
+                        "retina" : "",
+                        /*iPhone4程序图标,分辨率:114x114*/
+                        "retina7" : "",
+                        /*iPhone4S/5/6程序图标,分辨率:120x120*/
+                        "retina8" : "",
+                        /*iPhone6 Plus程序图标,分辨率:180x180*/
+                        "spotlight-normal" : "",
+                        /*iPhone3/3GS Spotlight搜索程序图标,分辨率:29x29*/
+                        "spotlight-retina" : "",
+                        /*iPhone4 Spotlight搜索程序图标,分辨率:58x58*/
+                        "spotlight-retina7" : "",
+                        /*iPhone4S/5/6 Spotlight搜索程序图标,分辨率:80x80*/
+                        "settings-normal" : "",
+                        /*iPhone4设置页面程序图标,分辨率:29x29*/
+                        "settings-retina" : "",
+                        /*iPhone4S/5/6设置页面程序图标,分辨率:58x58*/
+                        "settings-retina8" : "", /*iPhone6Plus设置页面程序图标,分辨率:87x87*/
+                        "app@2x" : "app/icons/120x120.png",
+                        "app@3x" : "app/icons/180x180.png",
+                        "notification@2x" : "app/icons/40x40.png",
+                        "notification@3x" : "app/icons/60x60.png",
+                        "settings@2x" : "app/icons/58x58.png",
+                        "settings@3x" : "app/icons/87x87.png",
+                        "spotlight@2x" : "app/icons/80x80.png",
+                        "spotlight@3x" : "app/icons/120x120.png"
+                    },
+                    "ipad" : {
+                        "normal" : "",
+                        /*iPad普通屏幕程序图标,分辨率:72x72*/
+                        "retina" : "",
+                        /*iPad高分屏程序图标,分辨率:144x144*/
+                        "normal7" : "",
+                        /*iPad iOS7程序图标,分辨率:76x76*/
+                        "retina7" : "",
+                        /*iPad iOS7高分屏程序图标,分辨率:152x152*/
+                        "spotlight-normal" : "",
+                        /*iPad Spotlight搜索程序图标,分辨率:50x50*/
+                        "spotlight-retina" : "",
+                        /*iPad高分屏Spotlight搜索程序图标,分辨率:100x100*/
+                        "spotlight-normal7" : "",
+                        /*iPad iOS7 Spotlight搜索程序图标,分辨率:40x40*/
+                        "spotlight-retina7" : "",
+                        /*iPad iOS7高分屏Spotlight搜索程序图标,分辨率:80x80*/
+                        "settings-normal" : "",
+                        /*iPad设置页面程序图标,分辨率:29x29*/
+                        "settings-retina" : "", /*iPad高分屏设置页面程序图标,分辨率:58x58*/
+                        "app" : "app/icons/76x76.png",
+                        "app@2x" : "app/icons/152x152.png",
+                        "notification" : "app/icons/20x20.png",
+                        "notification@2x" : "app/icons/40x40.png",
+                        "proapp@2x" : "app/icons/167x167.png",
+                        "settings" : "app/icons/29x29.png",
+                        "settings@2x" : "app/icons/58x58.png",
+                        "spotlight" : "app/icons/40x40.png",
+                        "spotlight@2x" : "app/icons/80x80.png"
+                    },
+                    "appstore" : "app/icons/1024x1024.png"
+                },
+                "android" : {
+                    "mdpi" : "",
+                    /*普通屏程序图标,分辨率:48x48*/
+                    "ldpi" : "",
+                    /*大屏程序图标,分辨率:48x48*/
+                    "hdpi" : "app/icons/72x72.png",
+                    /*高分屏程序图标,分辨率:72x72*/
+                    "xhdpi" : "app/icons/96x96.png",
+                    /*720P高分屏程序图标,分辨率:96x96*/
+                    "xxhdpi" : "app/icons/144x144.png", /*1080P 高分屏程序图标,分辨率:144x144*/
+                    "xxxhdpi" : "app/icons/192x192.png"
+                }
+            },
+            "splashscreen" : {
+                "ios" : {
+                    "iphone" : {
+                        "default" : "",
+                        /*iPhone3启动图片选,分辨率:320x480*/
+                        "retina35" : "",
+                        /*3.5英寸设备(iPhone4)启动图片,分辨率:640x960*/
+                        "retina40" : "",
+                        /*4.0 英寸设备(iPhone5/iPhone5s)启动图片,分辨率:640x1136*/
+                        "retina47" : "",
+                        /*4.7 英寸设备(iPhone6)启动图片,分辨率:750x1334*/
+                        "retina55" : "",
+                        /*5.5 英寸设备(iPhone6 Plus)启动图片,分辨率:1242x2208*/
+                        "retina55l" : "" /*5.5 英寸设备(iPhone6 Plus)横屏启动图片,分辨率:2208x1242*/
+                    },
+                    "ipad" : {
+                        "portrait" : "",
+                        /*iPad竖屏启动图片,分辨率:768x1004*/
+                        "portrait-retina" : "",
+                        /*iPad高分屏竖屏图片,分辨率:1536x2008*/
+                        "landscape" : "",
+                        /*iPad横屏启动图片,分辨率:1024x748*/
+                        "landscape-retina" : "",
+                        /*iPad高分屏横屏启动图片,分辨率:2048x1496*/
+                        "portrait7" : "",
+                        /*iPad iOS7竖屏启动图片,分辨率:768x1024*/
+                        "portrait-retina7" : "",
+                        /*iPad iOS7高分屏竖屏图片,分辨率:1536x2048*/
+                        "landscape7" : "",
+                        /*iPad iOS7横屏启动图片,分辨率:1024x768*/
+                        "landscape-retina7" : "" /*iPad iOS7高分屏横屏启动图片,分辨率:2048x1536*/
+                    },
+                    "storyboard" : "../ios/CustomStoryborad.zip"
+                },
+                "android" : {
+                    "mdpi" : "",
+                    /*普通屏启动图片,分辨率:240x282*/
+                    "ldpi" : "",
+                    /*大屏启动图片,分辨率:320x442*/
+                    "hdpi" : "app/splashscreen/480x853.png",
+                    /*高分屏启动图片,分辨率:480x762*/
+                    "xhdpi" : "app/splashscreen/720x1280.png",
+                    /*720P高分屏启动图片,分辨率:720x1242*/
+                    "xxhdpi" : "app/splashscreen/1080x1920.png" /*1080P高分屏启动图片,分辨率:1080x1882*/
+                },
+                "androidStyle" : "default",
+                "iosStyle" : "common",
+                "useOriginalMsgbox" : true
+            },
+            "plugins" : {
+                "ad" : {},
+                "geolocation" : {},
+                "share" : {}
+            },
+            "ios" : {
+                "dSYMs" : false
+            }
+        }
+    },
+    "screenOrientation" : [ "portrait-primary" ]
+}

+ 0 - 0
src/packages/sbyj/assets/images/login-logo.png → oem/sbyj/img/login-logo.png


+ 0 - 0
src/packages/sbyj/assets/images/market-title-bg.jpg → oem/sbyj/img/market-title-bg.jpg


+ 1 - 13
oem/thj/config/columns.json

@@ -1,13 +1 @@
-[
-    {
-        "tableKey": "order-detail",
-        "columns": [
-            {
-                "field": "marketname",
-                "label": "市场名称",
-                "align": "left",
-                "show": false
-            }
-        ]
-    }
-]
+[]

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

@@ -1,8 +1,8 @@
 {
   "appId": "com.muchinfo.zrwyt",
   "appName": "中融文遗通",
-  "version": "1.0.28",
-  "versionCode": "100028",
+  "version": "1.0.29",
+  "versionCode": "100029",
   "apiUrl": "http://192.168.31.204:8080/cfg?key=test_204",
   "tradeChannel": "ws",
   "modules": [

+ 8 - 1
oem/zrwyt/config/router.json

@@ -66,9 +66,16 @@
                     {
                         "authType": 2,
                         "sort": 5,
-                        "title": "交收",
+                        "title": "线下交收",
                         "code": "bottom_goods_delivery",
                         "component": "views/footer/goods/delivery/index.vue"
+                    },
+                    {
+                        "authType": 2,
+                        "sort": 5,
+                        "title": "点选交收",
+                        "code": "bottom_goods_onlinedelivery",
+                        "component": "views/footer/presell/onlinedelivery/index.vue"
                     }
                 ]
             },

+ 2 - 1
public/config/appconfig.json

@@ -14,5 +14,6 @@
     "holdvolume"
   ],
   "forcedPasswordChange": false,
-  "tradeChannel": "ws"
+  "tradeChannel": "ws",
+  "slogan": "数字化交易平台\r\n现代化综合服务"
 }

+ 7 - 0
script/oem.env.json

@@ -94,6 +94,13 @@
         "VUE_APP_TRADE_CHANNEL": "ws"
     },
     {
+        "VUE_APP_ENV": "mobile52101",
+        "VUE_APP_NAME": "多元世纪",
+        "VUE_APP_ROOT": "src/packages/sbyj/",
+        "VUE_APP_OEM": "oem/mobile52101/",
+        "VUE_APP_TRADE_CHANNEL": "ws"
+    },
+    {
         "VUE_APP_ENV": "tc",
         "VUE_APP_NAME": "探茶",
         "VUE_APP_ROOT": "src/packages/tc/",

+ 1 - 1
src/packages/mobile/views/order/list/components/swaptrade/detail/Index.vue

@@ -14,7 +14,7 @@
                     <Cell title="成交价格" :value="formatDecimal(selectedRow.tradeprice)" />
                     <Cell title="成交金额" :value="formatDecimal(selectedRow.tradeamount)" />
                     <Cell title="手续费" :value="formatDecimal(selectedRow.charge)" />
-                    <Cell title="转让损益" :value="formatDecimal(selectedRow.closepl)" />
+                    <Cell title="交收盈亏" :value="formatDecimal(selectedRow.closepl)" />
                     <Cell title="贸易对方" :value="tmMatchAccountID(selectedRow.matchaccountid)" />
                     <Cell title="成交时间" :value="formatDate(selectedRow.tradetime)" />
                     <Cell title="成交单号" :value="selectedRow.tradeid" />

+ 1 - 1
src/packages/mobile/views/order/list/components/swaptrade/history/Index.vue

@@ -38,7 +38,7 @@
                                     <span>{{ item.tradeqty }}</span>
                                 </li>
                                 <li>
-                                    <span>平仓盈亏</span>
+                                    <span>交收盈亏</span>
                                     <span>{{ item.closepl }}</span>
                                 </li>
                                 <li>

+ 1 - 1
src/packages/mobile/views/order/list/components/swaptrade/list/Index.vue

@@ -28,7 +28,7 @@
                             <span>{{ formatDecimal(item.tradeqty) }}</span>
                         </li>
                         <li>
-                            <span>平仓盈亏</span>
+                            <span>交收盈亏</span>
                             <span>{{ formatDecimal(item.closepl) }}</span>
                         </li>
                         <li>

+ 3 - 4
src/packages/mobile/views/order/performance/Index.vue

@@ -10,8 +10,8 @@
                 </template>
             </app-navbar>
         </template>
-        <app-pull-refresh ref="pullRefreshRef" v-model:loading="loading" v-model:error="error" v-model:pageIndex="pageIndex"
-            :page-count="pageCount" @refresh="onRefresh">
+        <app-pull-refresh ref="pullRefreshRef" v-model:loading="loading" v-model:error="error"
+            v-model:pageIndex="pageIndex" :page-count="pageCount" @refresh="onRefresh">
             <div class="g-order-list">
                 <div class="g-order-list__box" v-for="(item, index) in dataList" :key="index">
                     <div class="g-order-list__titlebar">
@@ -61,8 +61,7 @@
                     <div class="g-order-list__btnbar">
                         <Button size="small" v-if="![6, 7].includes(item.performancestatus)"
                             @click="showComponent('breach', item)" round>违约</Button>
-                        <Button size="small" v-if="![6, 7].includes(item.performancestatus)"
-                            @click="showComponent('modify', item)" round>修改</Button>
+                        <Button size="small" @click="showComponent('modify', item)" round>修改</Button>
                         <Button size="small" @click="showComponent('detail', item)" round>详情</Button>
                     </div>
                 </div>

+ 2 - 1
src/packages/mobile/views/order/position/components/swap/list/Index.vue

@@ -8,7 +8,7 @@
                         <h4>{{ item.goodscode }}/{{ item.goodsname }}</h4>
                     </div>
                     <div class="right">
-                        <span>{{ getBuyOrSellName(item.buyorsell) }}</span>
+                        <span :class="item.buyorsell === BuyOrSell.Buy ? 'g-price-up' : 'g-price-down'">{{ getBuyOrSellName(item.buyorsell) }}</span>
                     </div>
                 </div>
                 <div class="g-order-list__content">
@@ -58,6 +58,7 @@
 <script lang="ts" setup>
 import { shallowRef, computed, defineAsyncComponent } from 'vue'
 import { Button } from 'vant'
+import { BuyOrSell } from '@/constants/order'
 import { useComponent } from '@/hooks/component'
 import AppPullRefresh from '@mobile/components/base/pull-refresh/index.vue'
 import { getBuyOrSellName } from '@/constants/order'

+ 15 - 3
src/packages/mobile/views/user/register/Index.vue

@@ -7,7 +7,8 @@
       <CellGroup inset>
         <Field v-model="formData.mobilephone" type="tel" name="mobilephone" label="手机号码" placeholder="请输入"
           :rules="formRules.mobilephone" />
-        <Field v-model="formData.vcode" type="digit" name="vcode" label="短信验证码" placeholder="请输入" :rules="formRules.vcode">
+        <Field v-model="formData.vcode" type="digit" name="vcode" label="短信验证码" placeholder="请输入"
+          :rules="formRules.vcode">
           <template #button>
             <Button size="small" type="danger" :disabled="isCountdown" @click="sendVerifyCode">
               <span v-if="isCountdown">重新发送({{ currentTime.seconds }})</span>
@@ -51,7 +52,7 @@
 </template>
 
 <script lang="ts" setup>
-import { reactive, ref, computed } from 'vue'
+import { reactive, ref, computed, onMounted } from 'vue'
 import { CellGroup, Cell, Button, Field, Form, FormInstance, Checkbox, showFailToast, showToast, FieldRule } from 'vant'
 import { useCountDown } from '@vant/use'
 import { fullloading, dialog } from '@/utils/vant'
@@ -59,6 +60,7 @@ import { validateRules } from '@/constants/regex'
 import { useNavigation } from '@mobile/router/navigation'
 import { userRegister, sendRegisterVerifyCode, queryMyRegisterMoney } from '@/services/api/common'
 import cryptojs from 'crypto-js'
+import plus from '@/utils/h5plus'
 import AppReward from '@mobile/components/modules/reward/index.vue'
 // import AppQrcodeScan from '@mobile/components/base/qrcode-scan/index.vue'
 
@@ -92,7 +94,7 @@ const formData = reactive<Model.RegisterReq>({
   isaudit: 1,
   userinfotype: 1,
   usertype: 5,
-  openmode: 5,
+  openmode: 4,
   lsitAgreementID: []
 })
 
@@ -217,6 +219,16 @@ const formSubmit = () => {
     showToast('请先同意注册条款')
   }
 }
+
+onMounted(() => {
+  const os = plus.getSystemInfo('os')
+  if (os === 'Android') {
+    formData.openmode = 5
+  }
+  if (os === 'iOS') {
+    formData.openmode = 6
+  }
+})
 </script>
 
 <style lang="less" scoped>

+ 1 - 2
src/packages/pc/views/footer/performance/buy/index.vue

@@ -27,8 +27,7 @@
                     @click="showComponent('delay', row)">延期</el-button>
                 <el-button type="danger" size="small" v-if="![6, 7].includes(row.performancestatus)"
                     @click="showComponent('contracted', row)">违约</el-button>
-                <el-button type="info" v-if="![6, 7].includes(row.performancestatus)" size="small"
-                    @click="showComponent('edit', row)">修改</el-button>
+                <el-button type="info" size="small" @click="showComponent('edit', row)">修改</el-button>
                 <el-button type="success" size="small" @click="showComponent('details', row)">详细</el-button>
             </div>
         </template>

+ 1 - 2
src/packages/pc/views/footer/performance/sell/index.vue

@@ -27,8 +27,7 @@
                     @click="showComponent('delay', row)">延期</el-button>
                 <el-button type="danger" size="small" v-if="![6, 7].includes(row.performancestatus)"
                     @click="showComponent('contracted', row)">违约</el-button>
-                <el-button type="info" v-if="![6, 7].includes(row.performancestatus)" size="small"
-                    @click="showComponent('edit', row)">修改</el-button>
+                <el-button type="info" size="small" @click="showComponent('edit', row)">修改</el-button>
                 <el-button type="success" size="small" @click="showComponent('details', row)">详细</el-button>
             </div>
         </template>

+ 7 - 5
src/packages/sbyj/views/home/main/index.vue

@@ -1,7 +1,7 @@
 <template>
   <app-view class="home-main">
     <template #header>
-      <app-navbar title="水贝亿爵" :show-back-button="false" />
+      <app-navbar :title="globalStore.getSystemInfo('appName')" :show-back-button="false" />
     </template>
     <div class="home-main__banner">
       <Banner :data-list="topBanners" />
@@ -46,13 +46,15 @@ import { Cell, CellGroup, PullRefresh } from "vant";
 import { formatDate } from "@/filters";
 import { useNavigation } from '@mobile/router/navigation';
 import { queryImageConfigs, getJ10News } from "@/services/api/common";
+import { useGlobalStore } from '@/stores'
 import Banner from '@mobile/components/base/banner/index.vue'
 import Iconfont from '@/components/base/iconfont/index.vue'
 
-const { routerTo } = useNavigation();
-const refreshing = shallowRef(false); // 是否处于加载中状态
-const topBanners = shallowRef<string[]>([]); // 轮播图列表
-const newsList = shallowRef<Model.J10NewsRsp[]>([]); // 资讯列表
+const { routerTo } = useNavigation()
+const globalStore = useGlobalStore()
+const refreshing = shallowRef(false) // 是否处于加载中状态
+const topBanners = shallowRef<string[]>([]) // 轮播图列表
+const newsList = shallowRef<Model.J10NewsRsp[]>([]) // 资讯列表
 
 // 下拉刷新
 const onRefresh = () => {

+ 3 - 1
src/packages/sbyj/views/market/list/index.less

@@ -2,7 +2,9 @@
     &-header {
         .app-statusbar {
             height: 147px;
-            background: url('../../../assets/images/market-title-bg.jpg') no-repeat center top;
+            background-image: var(--header-bg);
+            background-repeat: no-repeat;
+            background-position: center top;
             background-size: 100% auto;
         }
     }

+ 2 - 1
src/packages/sbyj/views/market/list/index.vue

@@ -1,7 +1,8 @@
 <template>
     <app-view class="market">
         <template #header>
-            <app-navbar class="market-header" :show-back-button="false" />
+            <app-navbar class="market-header" :show-back-button="false"
+                :style="'--header-bg:url(\'../img/market-title-bg.jpg\')'" />
         </template>
         <table class="market-table" cellspacing="0" cellpadding="0">
             <thead>

+ 1 - 1
src/packages/sbyj/views/user/login/Index.vue

@@ -2,7 +2,7 @@
   <app-statusbar class="login">
     <app-navback class="login-navback" />
     <div class="login-logo">
-      <img src="../../../assets/images/login-logo.png" />
+      <img :src="'./img/login-logo.png'" />
     </div>
     <Form ref="formRef" class="login-form" @submit="formSubmit">
       <CellGroup inset>

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

@@ -22,7 +22,7 @@
         padding: 50px 0;
 
         img {
-            height: 24px;
+            width: 140px;
         }
     }
 

+ 3 - 3
src/packages/thj/assets/themes/global/global.less

@@ -17,15 +17,15 @@
 
 .g-price {
     &-normal {
-        color: #333333;
+        color: #333333 !important;
     }
 
     &-up {
-        color: #ff3333;
+        color: #ff3333 !important;
     }
 
     &-down {
-        color: #0baf1f;
+        color: #0baf1f !important;
     }
 }
 

+ 14 - 8
src/packages/thj/components/quote/index.less

@@ -4,17 +4,23 @@
     align-items: baseline;
     color: #333;
     background-color: #fff;
-    padding: 10px 0;
 
-    .block-left {
-        font-size: 36px;
-    }
+    ul {
+        display: flex;
+        align-items: end;
+
+        li {
+            display: flex;
+            flex-direction: column;
+            padding: 16px;
 
-    .block-right {
-        font-size: 16px;
+            span {
+                color: #999;
 
-        span {
-            margin-left: 10px;
+                &:last-child {
+                    font-size: 12px;
+                }
+            }
         }
     }
 }

+ 14 - 10
src/packages/thj/components/quote/index.vue

@@ -1,15 +1,19 @@
 <template>
     <div class="app-quote-price">
-        <template v-if="quote">
-            <div class="block-left">
-                <span :class="quote.lastColor">{{ handleNumberValue(quote.last.toFixed(quote.decimalplace))
-                    }}</span>
-            </div>
-            <div class="block-right">
-                <span :class="quote.lastColor">{{ quote.rise.toFixed(quote.decimalplace) }}</span>
-                <span :class="quote.lastColor">{{ parsePercent(quote.change) }}</span>
-            </div>
-        </template>
+        <ul v-if="quote">
+            <li>
+                <span :class="quote.lastColor" style="font-size: 24px;">{{ handleNumberValue(quote.last.toFixed(quote.decimalplace)) }}</span>
+                <span>富宝资讯今日价</span>
+            </li>
+            <li>
+                <span :class="quote.lastColor" style="font-size: 16px;">{{ quote.rise.toFixed(quote.decimalplace) }}</span>
+                <span>涨跌</span>
+            </li>
+            <li>
+                <span :class="quote.lastColor" style="font-size: 16px;">{{ parsePercent(quote.change) }}</span>
+                <span>幅度</span>
+            </li>
+        </ul>
     </div>
 </template>
 

+ 40 - 10
src/packages/thj/views/home/main/Index.vue

@@ -4,7 +4,7 @@
       <app-navbar :title="globalStore.getSystemInfo('appName')" :show-back-button="false" />
     </template>
     <Banner :data-list="topBanners" />
-    <div class="home-main__container">
+    <PullRefresh class="home-main__container" v-model="refreshing" @refresh="onRefresh">
       <app-block>
         <Cell title="通知公告" value="更多" :to="{ name: 'notice-list' }" icon="volume" is-link />
       </app-block>
@@ -32,16 +32,26 @@
         </Swipe>
         <component :is="LineChart" :goodscode="selectedGoods.refgoodscode" v-if="showChart && selectedGoods" />
       </app-block>
-    </div>
+      <app-block class="home-main__news">
+        <CellGroup class="article">
+          <Cell class="home-main__titlebar" title="市场资讯" value="更多" icon="fire" :to="{ name: 'news-list' }" is-link />
+          <template v-for="(item, index) in newsList" :key="index">
+            <Cell class="article-item" :title="item.title" :value="formatDate(item.publishdate, 'MM/DD')"
+              :to="{ name: 'news-detail', query: { id: item.id } }" />
+          </template>
+        </CellGroup>
+      </app-block>
+    </PullRefresh>
   </app-view>
 </template>
 
 <script lang="ts" setup>
 import { shallowRef, defineAsyncComponent, computed, nextTick, watch } from 'vue'
-import { Cell, Swipe, SwipeItem } from 'vant'
-import { parsePercent, handleNumberValue, formatDecimal } from '@/filters'
+import { CellGroup, Cell, Swipe, SwipeItem, PullRefresh } from 'vant'
+import { parsePercent, handleNumberValue, formatDecimal, formatDate } from '@/filters'
 import { queryQuoteGoodsList } from '@/services/api/swap'
 import { queryImageConfigs } from '@/services/api/common'
+import { queryNewTitles } from '@/services/api/news'
 import { useGlobalStore, useUserStore, useFuturesStore } from '@/stores'
 import quoteSocket from '@/services/websocket/quote'
 import Banner from '@mobile/components/base/banner/index.vue'
@@ -52,7 +62,9 @@ const subscribe = quoteSocket.createSubscribe()
 const globalStore = useGlobalStore()
 const userStore = useUserStore()
 const futuresStore = useFuturesStore()
+const refreshing = shallowRef(false) // 是否处于加载中状态
 const topBanners = shallowRef<string[]>([]) // 轮播图列表
+const newsList = shallowRef<Model.NewTitlesRsp[]>([]) // 资讯列表
 const goodsList = shallowRef<Model.QuoteGoodsListRsp[]>([]) // 掉期商品列表
 const selectedGoods = shallowRef<Model.QuoteGoodsListRsp>() // 选中的掉期商品
 const showChart = shallowRef(false)
@@ -90,13 +102,29 @@ const onTabChange = (item: unknown) => {
   })
 }
 
-queryImageConfigs({
-  data: {
-    imageType: 1,
+// 下拉刷新
+const onRefresh = () => {
+  if (!topBanners.value.length) {
+    queryImageConfigs({
+      data: {
+        imageType: 1,
+      }
+    }).then((res) => {
+      topBanners.value = res.data.map((e) => e.imagepath)
+    })
   }
-}).then((res) => {
-  topBanners.value = res.data.map((e) => e.imagepath)
-})
+  // 市场资讯
+  queryNewTitles({
+    data: {
+      page: 1,
+      pagesize: 10,
+    }
+  }).then((res) => {
+    newsList.value = res.data
+  }).finally(() => {
+    refreshing.value = false
+  })
+}
 
 watch(() => userStore.accountName, (accountName) => {
   if (accountName) {
@@ -124,6 +152,8 @@ watch(() => userStore.accountName, (accountName) => {
 }, {
   immediate: true
 })
+
+onRefresh()
 </script>
 
 <style lang="less">

+ 2 - 2
src/packages/thj/views/market/detail/index.vue

@@ -4,7 +4,7 @@
             <app-navbar :title="futuresStore.getGoodsName(goodsCode) ?? '商品详情'" />
         </template>
         <component :is="Price" v-bind="{ goodsCode }" />
-        <component :is="Chart" v-bind="{ goodsCode }" />
+        <component :is="Chart" :goodscode="goodsCode" style="background-color: #fff;margin-top: 10px;" />
     </app-view>
 </template>
 
@@ -14,7 +14,7 @@ import { useNavigation } from '@mobile/router/navigation'
 import { useFuturesStore } from '@/stores'
 
 const Price = defineAsyncComponent(() => import('../../../components/quote/index.vue'))
-const Chart = defineAsyncComponent(() => import('../../../components/hqchart/index.vue'))
+const Chart = defineAsyncComponent(() => import('@mobile/components/modules/echarts/line/index.vue'))
 
 const { getQueryString } = useNavigation()
 const goodsCode = getQueryString('goodscode') ?? ''

+ 1 - 1
src/packages/thj/views/market/list/index.vue

@@ -60,7 +60,7 @@ const subscribe = quoteSocket.createSubscribe()
 
 const columns: Model.TableColumn[] = [
     { field: 'goodsname', label: '商品/代码', fixed: 'left', width: 120 },
-    { field: 'last', label: '最新价' },
+    { field: 'last', label: '富宝价格' },
     { field: 'rise', label: '涨跌' },
     { field: 'change', label: '幅度' },
 ]

+ 15 - 17
src/packages/thj/views/swap/detail/index.vue

@@ -10,27 +10,25 @@
             </app-navbar>
         </template>
         <component :is="Price" v-bind="{ goodsCode }" />
-        <component :is="Chart" v-bind="{ goodsCode }" />
+        <component :is="Chart" :goodscode="goodsCode" style="background-color: #fff;margin-top: 10px;" />
         <Tabs v-model:active="tabIndex" @click="onRefresh" style="margin-top: 10px;">
             <Tab title="买货大厅" :name="BuyOrSell.Buy" />
             <Tab title="卖货大厅" :name="BuyOrSell.Sell" />
         </Tabs>
-        <div class="trade-section sell" v-if="dataList.length">
-            <app-list :columns="columns" :data-list="dataList">
-                <template #orderprice="{ row }">
-                    <span :class="quote?.lastColor">{{ row.pricemode === 3 ? estimateprice(row) : row.orderprice
+        <app-list :columns="columns" :data-list="dataList" v-if="dataList.length">
+            <template #orderprice="{ row }">
+                <span :class="quote?.lastColor">{{ row.pricemode === 3 ? estimateprice(row) : row.orderprice
                     }}</span>
-                </template>
-                <template #username="{ row }">
-                    <span>{{ row.userid }}/{{ row.username }}</span>
-                </template>
-                <template #operate="{ row }">
-                    <Button size="small" type="primary" :disabled="isDisable(row)" @click="onDelisting(row)">
-                        {{ getDelistingButtonTitles(tabIndex, row) }}
-                    </Button>
-                </template>
-            </app-list>
-        </div>
+            </template>
+            <template #username="{ row }">
+                <span>{{ row.userid }}/{{ row.username }}</span>
+            </template>
+            <template #operate="{ row }">
+                <Button size="small" type="primary" :disabled="isDisable(row)" @click="onDelisting(row)">
+                    {{ getDelistingButtonTitles(tabIndex, row) }}
+                </Button>
+            </template>
+        </app-list>
         <Empty description="暂无数据" v-else />
         <component ref="componentRef" :is="componentMap.get(componentId)" v-bind="{ selectedRow, tabIndex, item }"
             @closed="closeComponent" v-if="componentId" />
@@ -53,7 +51,7 @@ import { formatDecimal } from '@/filters'
 import { onActivated } from 'vue'
 
 const Price = defineAsyncComponent(() => import('../../../components/quote/index.vue'))
-const Chart = defineAsyncComponent(() => import('../../../components/hqchart/index.vue'))
+const Chart = defineAsyncComponent(() => import('@mobile/components/modules/echarts/line/index.vue'))
 
 const componentMap = new Map<string, unknown>([
     ['delisting', defineAsyncComponent(() => import('@mobile/views/swap/detail/components/delisting/Index.vue'))],

+ 4 - 4
src/packages/thj/views/swap/list/index.vue

@@ -116,15 +116,15 @@ const tableList = computed(() => {
                 enumerable: true
             },
             last: {
-                get: () => getValue('last'),
+                get: () => getValue('last', 0),
                 enumerable: true
             },
             rise: {
-                get: () => getValue('rise'),
+                get: () => getValue('rise', 0),
                 enumerable: true
             },
             change: {
-                get: () => getValue('change'),
+                get: () => getValue('change', 0),
                 enumerable: true
             },
         })
@@ -133,7 +133,7 @@ const tableList = computed(() => {
 
 const columns: Model.TableColumn[] = [
     { field: 'goodsname', label: '商品/代码', fixed: 'left', width: 120 },
-    { field: 'last', label: '当前价' },
+    { field: 'last', label: '富宝价格' },
     { field: 'rise', label: '涨跌' },
     { field: 'change', label: '幅度' }
 ]

+ 2 - 2
src/packages/zrwyt/views/order/delivery/Index.vue

@@ -7,9 +7,9 @@
             <Tab title="点选交收单">
                 <component :is="componentMap.get('online')" />
             </Tab>
-            <!-- <Tab title="线下交收单">
+            <Tab title="线下交收单">
                 <component :is="componentMap.get('offline')" />
-            </Tab> -->
+            </Tab>
             <Tab title="现货提货单">
                 <component :is="componentMap.get('spot')" />
             </Tab>

+ 2 - 2
src/packages/zrwyt2/views/order/delivery/Index.vue

@@ -7,9 +7,9 @@
             <Tab title="点选交收单">
                 <component :is="componentMap.get('online')" />
             </Tab>
-            <!-- <Tab title="线下交收单">
+            <Tab title="线下交收单">
                 <component :is="componentMap.get('offline')" />
-            </Tab> -->
+            </Tab>
             <Tab title="现货提货单">
                 <component :is="componentMap.get('spot')" />
             </Tab>

+ 3 - 1
src/stores/modules/global.ts

@@ -14,6 +14,7 @@ export interface SystemInfo {
     modules: ('register' | 'delivery')[]; // 应用包含的模块
     quotationPropertys: (keyof Model.QuoteDayRsp)[]; // 盘面可显示的属性
     forcedPasswordChange: boolean; // 首次登录是否强制修改密码
+    slogan: string;
 }
 
 export const useGlobalStore = defineStore(() => {
@@ -33,7 +34,8 @@ export const useGlobalStore = defineStore(() => {
             tradeChannel: 'ws',
             modules: [],
             quotationPropertys: [],
-            forcedPasswordChange: false
+            forcedPasswordChange: false,
+            slogan: ''
         }
     })
 

+ 1 - 1
src/types/model/common.d.ts

@@ -37,7 +37,7 @@ declare global {
             isaudit: number; // 是否审核: isaudit 0 - 否,1 - 是
             userinfotype: number; // 客户类型: userinfotype 1-个人,2-企业
             usertype: number;
-            openmode: number;
+            openmode: number; // 开户方式 -  1:管理端开户 2:网上开户注册(会员官网-手机号) 3:微信开户 4:网页交易端注册 5:安卓手机端注册 6:苹果手机端注册 7:PC交易端注册 8:微信快速开户 9:支付宝快速开户 10:手机号快速开户 11:网上开户注册(会员官网-微信认证) 12:网上开户注册(会员官网-支付宝认证)
             logincode?: string; // 登录账号
             cardfrontphotourl?: string; // 企业营业执照
             sid?: number; // 获取图形验证码时传的当前时间戳:sid