Explorar el Código

Merge branch 'master' of http://47.101.159.18:3000/Muchinfo/MTP20_WEB_GLOBAL

deng.yinping hace 2 años
padre
commit
ee4b1c25da
Se han modificado 100 ficheros con 798 adiciones y 121 borrados
  1. 5 0
      .env.qdhs
  2. 5 0
      .env.qdhs@pc
  3. 11 23
      oem/gstj/config/router.json
  4. 27 0
      oem/qdhs/androidPrivacy.json
  5. BIN
      oem/qdhs/app/icons/1024x1024.png
  6. BIN
      oem/qdhs/app/icons/120x120.png
  7. BIN
      oem/qdhs/app/icons/144x144.png
  8. BIN
      oem/qdhs/app/icons/152x152.png
  9. BIN
      oem/qdhs/app/icons/167x167.png
  10. BIN
      oem/qdhs/app/icons/180x180.png
  11. BIN
      oem/qdhs/app/icons/192x192.png
  12. BIN
      oem/qdhs/app/icons/20x20.png
  13. BIN
      oem/qdhs/app/icons/29x29.png
  14. BIN
      oem/qdhs/app/icons/40x40.png
  15. BIN
      oem/qdhs/app/icons/58x58.png
  16. BIN
      oem/qdhs/app/icons/60x60.png
  17. BIN
      oem/qdhs/app/icons/72x72.png
  18. BIN
      oem/qdhs/app/icons/76x76.png
  19. BIN
      oem/qdhs/app/icons/80x80.png
  20. BIN
      oem/qdhs/app/icons/87x87.png
  21. BIN
      oem/qdhs/app/icons/96x96.png
  22. BIN
      oem/qdhs/app/splashscreen/1080x1920.png
  23. BIN
      oem/qdhs/app/splashscreen/480x853.png
  24. BIN
      oem/qdhs/app/splashscreen/720x1280.png
  25. 5 0
      oem/qdhs/config/appconfig.json
  26. 0 0
      oem/qdhs/config/router.json
  27. BIN
      oem/qdhs/favicon.ico
  28. BIN
      oem/qdhs/logo/logo-horizontal.png
  29. 303 0
      oem/qdhs/manifest.json
  30. 76 0
      package copy.json
  31. 3 0
      package.json
  32. 17 0
      src/constants/order.ts
  33. 11 0
      src/filters/index.ts
  34. BIN
      src/packages/gstj/assets/icons/cart.png
  35. 0 0
      src/packages/gstj/assets/icons/ccwl.svg
  36. 0 0
      src/packages/gstj/assets/icons/cpjg.svg
  37. 0 1
      src/packages/gstj/assets/icons/cpjs.svg
  38. BIN
      src/packages/gstj/assets/icons/friend.png
  39. BIN
      src/packages/gstj/assets/icons/futures.png
  40. 0 0
      src/packages/gstj/assets/icons/generalize.svg
  41. BIN
      src/packages/gstj/assets/icons/gold.png
  42. BIN
      src/packages/gstj/assets/icons/goods.png
  43. 0 1
      src/packages/gstj/assets/icons/htzr.svg
  44. 0 0
      src/packages/gstj/assets/icons/order.svg
  45. 0 0
      src/packages/gstj/assets/icons/ptgz.svg
  46. 0 0
      src/packages/gstj/assets/icons/red-envelope.svg
  47. 0 0
      src/packages/gstj/assets/icons/schedule.svg
  48. BIN
      src/packages/gstj/assets/icons/signin.png
  49. BIN
      src/packages/gstj/assets/icons/spot.png
  50. 0 0
      src/packages/gstj/assets/icons/statement.svg
  51. BIN
      src/packages/gstj/assets/icons/useradd.png
  52. 0 0
      src/packages/gstj/assets/icons/wareorder.svg
  53. 0 0
      src/packages/gstj/assets/icons/wddj.svg
  54. 0 0
      src/packages/gstj/assets/icons/wdrw.svg
  55. BIN
      src/packages/gstj/assets/logo.png
  56. 0 0
      src/packages/gstj/assets/logo.svg
  57. 2 0
      src/packages/gstj/router/index.ts
  58. 7 7
      src/packages/gstj/views/home/Index.vue
  59. BIN
      src/packages/mobile/assets/icons/cart.png
  60. 0 0
      src/packages/mobile/assets/icons/ccwl.svg
  61. 0 0
      src/packages/mobile/assets/icons/cpjg.svg
  62. 0 1
      src/packages/mobile/assets/icons/cpjs.svg
  63. BIN
      src/packages/mobile/assets/icons/friend.png
  64. BIN
      src/packages/mobile/assets/icons/futures.png
  65. 0 0
      src/packages/mobile/assets/icons/generalize.svg
  66. BIN
      src/packages/mobile/assets/icons/gold.png
  67. BIN
      src/packages/mobile/assets/icons/goods.png
  68. 0 1
      src/packages/mobile/assets/icons/htzr.svg
  69. 0 0
      src/packages/mobile/assets/icons/order.svg
  70. 0 0
      src/packages/mobile/assets/icons/ptgz.svg
  71. 0 0
      src/packages/mobile/assets/icons/red-envelope.svg
  72. 0 0
      src/packages/mobile/assets/icons/schedule.svg
  73. BIN
      src/packages/mobile/assets/icons/signin.png
  74. BIN
      src/packages/mobile/assets/icons/spot.png
  75. 0 0
      src/packages/mobile/assets/icons/statement.svg
  76. BIN
      src/packages/mobile/assets/icons/useradd.png
  77. 0 0
      src/packages/mobile/assets/icons/wareorder.svg
  78. 0 0
      src/packages/mobile/assets/icons/wddj.svg
  79. 0 0
      src/packages/mobile/assets/icons/wdrw.svg
  80. BIN
      src/packages/mobile/assets/logo.png
  81. 0 0
      src/packages/mobile/assets/logo.svg
  82. 40 34
      src/packages/mobile/router/index.ts
  83. 1 1
      src/packages/mobile/views/bank/wallet/components/deposit/Index.vue
  84. 1 1
      src/packages/mobile/views/bank/wallet/components/withdraw/Index.vue
  85. 2 1
      src/packages/mobile/views/goods/list/Index.vue
  86. 2 2
      src/packages/mobile/views/home/Index.vue
  87. 20 15
      src/packages/mobile/views/home/main/Index.vue
  88. 7 0
      src/packages/pc/assets/themes/default/default.less
  89. 193 5
      src/packages/pc/components/layouts/header/components/report/index.vue
  90. 12 9
      src/packages/pc/components/layouts/header/components/setting/index.vue
  91. 7 2
      src/packages/pc/components/layouts/header/index.vue
  92. 4 0
      src/packages/pc/components/layouts/page/index.vue
  93. 2 2
      src/packages/pc/views/footer/capital/summary/deposit/index.vue
  94. 2 2
      src/packages/pc/views/footer/capital/summary/withdraw/index.vue
  95. 2 2
      src/packages/pc/views/footer/goods/order/clear/index.vue
  96. 4 2
      src/packages/pc/views/market/trade/goods/list/listing/index.vue
  97. 2 5
      src/packages/pc/views/market/trade/presell/ballot/index.vue
  98. 1 1
      src/packages/pc/views/query/capital/history/index.vue
  99. 12 0
      src/packages/pc/views/query/order/spot/history/index.vue
  100. 12 3
      src/packages/pc/views/query/performance/buy/all/index.vue

+ 5 - 0
.env.qdhs

@@ -0,0 +1,5 @@
+VUE_APP_ENV = 'qdhs'
+VUE_APP_TITLE = 青岛海商
+VUE_APP_ROOT = src/packages/qdhs/
+VUE_APP_OEM = oem/qdhs/
+VUE_APP_HOST = localhost

+ 5 - 0
.env.qdhs@pc

@@ -0,0 +1,5 @@
+VUE_APP_ENV = 'pc'
+VUE_APP_TITLE = 青岛海商
+VUE_APP_ROOT = src/packages/pc/
+VUE_APP_OEM = oem/qdhs/
+VUE_APP_HOST = localhost

+ 11 - 23
oem/gstj/config/router.json

@@ -230,7 +230,7 @@
                     {
                         "authType": 1,
                         "sort": 1,
-                        "title": "订单交易",
+                        "title": "交易市场",
                         "code": "market_trade_goods",
                         "url": "goods",
                         "urlType": 1,
@@ -240,36 +240,24 @@
                                 "authType": 2,
                                 "sort": 1,
                                 "title": "订单挂牌",
-                                "code": "market_trade_goods_50101",
+                                "code": "market_trade_goods_50102",
                                 "component": "views/market/trade/goods/list/index.vue"
                             },
                             {
                                 "authType": 2,
                                 "sort": 2,
-                                "title": "中远期挂牌",
-                                "code": "market_trade_goods_50102",
+                                "title": "协议转让",
+                                "code": "market_trade_goods_50101",
                                 "component": "views/market/trade/goods/list/index.vue"
+                            },
+                            {
+                                "authType": 2,
+                                "sort": 3,
+                                "title": "现货挂牌",
+                                "code": "market_trade_spot",
+                                "component": "views/market/trade/spot/index.vue"
                             }
                         ]
-                    },
-                    {
-                        "authType": 1,
-                        "sort": 2,
-                        "title": "预售转让",
-                        "code": "market_trade_presell",
-                        "url": "presell",
-                        "urlType": 1,
-                        "component": "views/market/trade/presell/index.vue",
-                        "hidden": true
-                    },
-                    {
-                        "authType": 1,
-                        "sort": 3,
-                        "title": "仓单交易",
-                        "code": "market_trade_spot",
-                        "url": "spot",
-                        "urlType": 1,
-                        "component": "views/market/trade/spot/index.vue"
                     }
                 ]
             }

+ 27 - 0
oem/qdhs/androidPrivacy.json

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

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


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


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


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


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


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


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


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


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


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


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


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


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


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


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


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


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


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


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


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


+ 5 - 0
oem/qdhs/config/appconfig.json

@@ -0,0 +1,5 @@
+{
+  "version": "1.0.0",
+  "versionCode": "100000",
+  "apiUrl": "http://192.168.31.204:8080/cfg?key=test_204"
+}

+ 0 - 0
oem/qdsp/config/router.json → oem/qdhs/config/router.json


BIN
oem/qdhs/favicon.ico


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


+ 303 - 0
oem/qdhs/manifest.json

@@ -0,0 +1,303 @@
+{
+    "@platforms" : [ "android", "iPhone", "iPad" ],
+    "id" : "H5E4A9458",
+    /*应用的标识*/
+    "name" : "甘肃碳交",
+    /*应用名称,程序桌面图标名称*/
+    "version" : {
+        "name" : "1.0.0",
+        /*应用版本名称*/
+        "code" : 100000
+    },
+    "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" ]
+}

+ 76 - 0
package copy.json

@@ -0,0 +1,76 @@
+{
+  "name": "muchinfo",
+  "version": "0.1.0",
+  "private": true,
+  "scripts": {
+    "dev:pc": "vue-cli-service serve --mode pc",
+    "dev:mobile": "vue-cli-service serve --mode mobile",
+    "dev:gstj": "vue-cli-service serve --mode gstj",
+    "dev:sbyj": "vue-cli-service serve --mode sbyj",
+    "dev:qxst": "vue-cli-service serve --mode qxst",
+    "dev:zrwyt": "vue-cli-service serve --mode zrwyt",
+    "dev:qdhs": "vue-cli-service serve --mode qdhs",
+    "build:pc": "vue-cli-service build --mode pc",
+    "build:mobile": "vue-cli-service build --mode mobile",
+    "build:gstj": "vue-cli-service build --mode gstj",
+    "build:gstj@pc": "vue-cli-service build --mode gstj@pc",
+    "build:sbyj": "vue-cli-service build --mode sbyj",
+    "build:qxst": "vue-cli-service build --mode qxst",
+    "build:qxst@pc": "vue-cli-service build --mode qxst@pc",
+    "build:zrwyt": "vue-cli-service build --mode zrwyt",
+    "build:zrwyt@pc": "vue-cli-service build --mode zrwyt@pc",
+    "build:qdhs": "vue-cli-service build --mode qdhs",
+    "build:qdhs@pc": "vue-cli-service build --mode qdhs@pc",
+    "lint": "vue-cli-service lint"
+  },
+  "dependencies": {
+    "@tinymce/tinymce-vue": "^5.0.0",
+    "@vant/compat": "^1.0.0",
+    "axios": "^0.26.1",
+    "clipboard": "^2.0.11",
+    "core-js": "^3.8.3",
+    "crypto-js": "^4.1.1",
+    "default-passive-events": "^2.0.0",
+    "echarts": "^5.4.3",
+    "element-plus": "^2.3.8",
+    "html5-qrcode": "^2.2.5",
+    "long": "^5.2.0",
+    "moment": "^2.29.3",
+    "photoswipe": "^5.3.6",
+    "qrcode": "^1.5.1",
+    "sortablejs": "^1.15.0",
+    "uuid": "^8.3.2",
+    "vant": "^4.5.0",
+    "vue": "^3.2.13",
+    "vue-class-component": "^8.0.0-0",
+    "vue-i18n": "^9.2.2",
+    "vue-router": "^4.0.3",
+    "vuedraggable": "^4.1.0"
+  },
+  "devDependencies": {
+    "@types/crypto-js": "^4.1.1",
+    "@types/qrcode": "^1.5.0",
+    "@types/sortablejs": "^1.13.0",
+    "@types/uuid": "^8.3.4",
+    "@typescript-eslint/eslint-plugin": "^5.4.0",
+    "@typescript-eslint/parser": "^5.4.0",
+    "@vue/cli-plugin-babel": "~5.0.0",
+    "@vue/cli-plugin-eslint": "~5.0.0",
+    "@vue/cli-plugin-router": "~5.0.0",
+    "@vue/cli-plugin-typescript": "~5.0.0",
+    "@vue/cli-service": "~5.0.0",
+    "@vue/eslint-config-typescript": "^9.1.0",
+    "compression-webpack-plugin": "^10.0.0",
+    "copy-webpack-plugin": "^11.0.0",
+    "eslint": "^7.32.0",
+    "eslint-plugin-vue": "^8.0.3",
+    "less": "^4.0.0",
+    "less-loader": "^8.0.0",
+    "postcss": "7.0.32",
+    "postcss-px-to-viewport": "^1.1.1",
+    "resize-observer-polyfill": "^1.5.1",
+    "typescript": "~4.5.5",
+    "vconsole": "^3.14.6",
+    "worker-loader": "^3.0.8"
+  }
+}

+ 3 - 0
package.json

@@ -9,6 +9,7 @@
     "dev:sbyj": "vue-cli-service serve --mode sbyj",
     "dev:qxst": "vue-cli-service serve --mode qxst",
     "dev:zrwyt": "vue-cli-service serve --mode zrwyt",
+    "dev:qdhs": "vue-cli-service serve --mode qdhs",
     "build:pc": "vue-cli-service build --mode pc",
     "build:mobile": "vue-cli-service build --mode mobile",
     "build:gstj": "vue-cli-service build --mode gstj",
@@ -18,6 +19,8 @@
     "build:qxst@pc": "vue-cli-service build --mode qxst@pc",
     "build:zrwyt": "vue-cli-service build --mode zrwyt",
     "build:zrwyt@pc": "vue-cli-service build --mode zrwyt@pc",
+    "build:qdhs": "vue-cli-service build --mode qdhs",
+    "build:qdhs@pc": "vue-cli-service build --mode qdhs@pc",
     "lint": "vue-cli-service lint"
   },
   "dependencies": {

+ 17 - 0
src/constants/order.ts

@@ -478,4 +478,21 @@ export function getWRPresaleStatusList() {
 export function getWRPresaleStatusName(value: number) {
     const enums = getWRPresaleStatusList()
     return getEnumTypeName(enums, value)
+}
+
+/**
+ * 获取操作类型列表
+ * @returns 
+ */
+export function getOperateTypeList() {
+    return getEnumTypeList('operateType')
+}
+
+/**
+ * 获取操作类型名称
+ * @returns 
+ */
+export function getOperateTypeName(value: number) {
+    const enums = getOperateTypeList()
+    return getEnumTypeName(enums, value)
 }

+ 11 - 0
src/filters/index.ts

@@ -192,6 +192,17 @@ export function formatDate(value?: string, format = 'YYYY-MM-DD HH:mm:ss') {
 }
 
 /**
+ * 计算两者之间的天数
+ * @param value 
+ * @returns 
+ */
+export function diffDays(value?: string) {
+    const end = moment(new Date().toISOString())
+    const start = moment(value)
+    return end.diff(start, 'days')
+}
+
+/**
  * 更换数字单位
  * @param value
  * @returns

BIN
src/packages/gstj/assets/icons/cart.png


La diferencia del archivo ha sido suprimido porque es demasiado grande
+ 0 - 0
src/packages/gstj/assets/icons/ccwl.svg


La diferencia del archivo ha sido suprimido porque es demasiado grande
+ 0 - 0
src/packages/gstj/assets/icons/cpjg.svg


+ 0 - 1
src/packages/gstj/assets/icons/cpjs.svg

@@ -1 +0,0 @@
-<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" viewBox="0 0 204.49 205.39"><defs><style>.cls-1,.cls-2,.cls-3{fill-rule:evenodd;}.cls-1{fill:url(#未命名的渐变_2);}.cls-2{opacity:0.5;fill:url(#未命名的渐变_5);}.cls-2,.cls-3{isolation:isolate;}.cls-3,.cls-4{fill:#fff;}.cls-3{opacity:0.2;}.cls-5{fill:#c30d23;}</style><linearGradient id="未命名的渐变_2" x1="-948.92" y1="1698.32" x2="-948.31" y2="1699.33" gradientTransform="matrix(174.47, 0, 0, -174.47, 165599.73, 296506.15)" gradientUnits="userSpaceOnUse"><stop offset="0" stop-color="#c30d23"/><stop offset="1" stop-color="#dd364a"/></linearGradient><linearGradient id="未命名的渐变_5" x1="131.37" y1="115.54" x2="177.6" y2="174.65" gradientUnits="userSpaceOnUse"><stop offset="0" stop-color="#ffc6cd"/><stop offset="1" stop-color="#e83a4f"/></linearGradient></defs><title>1-产品介绍</title><g id="图层_2" data-name="图层 2"><g id="图层_1-2" data-name="图层 1"><path class="cls-1" d="M102.24,0c137.31,6.2,135.34,200.13,0,205.39C-35.07,199.19-33.09,5.26,102.24,0Z"/><path class="cls-2" d="M110,204.86C34.91,173.61,47.38,51.24,143.18,47.6c24,1.1,42.66,9.34,56.06,21.59C217.65,125.73,187.49,197.43,110,204.86Z"/><path class="cls-3" d="M.15,108.59C-2.09,65.72,20.91,21.49,68.66,5.83,79.64,49,56.45,100.76.15,108.59Z"/><path class="cls-4" d="M145,43.73A66.72,66.72,0,0,0,37.76,109.6c2.59,12.15,1.3,30.1-2,45.2a7,7,0,0,0,6.82,8.65c.08,0,1.43-.22,1.43-.22,15.63-3.11,35.1-5.24,44.87-2.39A50.49,50.49,0,0,0,103,162.35,66.72,66.72,0,0,0,145,43.73Zm-35.29,73H74.54a5.27,5.27,0,1,1,0-10.53h35.12a5.27,5.27,0,1,1,0,10.53ZM130.73,88.6H74.54a5.27,5.27,0,0,1,0-10.54h56.19a5.27,5.27,0,1,1,0,10.54Z"/><path class="cls-5" d="M114.93,111.43a5.26,5.26,0,0,1-5.27,5.26H74.54a5.27,5.27,0,1,1,0-10.53h35.12A5.27,5.27,0,0,1,114.93,111.43Z"/><path class="cls-5" d="M136,83.33a5.27,5.27,0,0,1-5.27,5.27H74.54a5.27,5.27,0,0,1,0-10.54h56.19A5.27,5.27,0,0,1,136,83.33Z"/></g></g></svg>

BIN
src/packages/gstj/assets/icons/friend.png


BIN
src/packages/gstj/assets/icons/futures.png


La diferencia del archivo ha sido suprimido porque es demasiado grande
+ 0 - 0
src/packages/gstj/assets/icons/generalize.svg


BIN
src/packages/gstj/assets/icons/gold.png


BIN
src/packages/gstj/assets/icons/goods.png


+ 0 - 1
src/packages/gstj/assets/icons/htzr.svg

@@ -1 +0,0 @@
-<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" viewBox="0 0 204.49 205.39"><defs><style>.cls-1,.cls-2,.cls-3{fill-rule:evenodd;}.cls-1{fill:url(#未命名的渐变_2);}.cls-2{opacity:0.5;fill:url(#未命名的渐变_5);}.cls-2,.cls-3{isolation:isolate;}.cls-3,.cls-4{fill:#fff;}.cls-3{opacity:0.2;}</style><linearGradient id="未命名的渐变_2" x1="-1233.09" y1="1692.07" x2="-1232.49" y2="1693.08" gradientTransform="matrix(174.47, 0, 0, -174.47, 215179.21, 295416.49)" gradientUnits="userSpaceOnUse"><stop offset="0" stop-color="#c30d23"/><stop offset="1" stop-color="#dd364a"/></linearGradient><linearGradient id="未命名的渐变_5" x1="131.37" y1="115.54" x2="177.6" y2="174.65" gradientUnits="userSpaceOnUse"><stop offset="0" stop-color="#ffc6cd"/><stop offset="1" stop-color="#e83a4f"/></linearGradient></defs><title>1-合同转让</title><g id="图层_2" data-name="图层 2"><g id="图层_1-2" data-name="图层 1"><path class="cls-1" d="M102.24,0c137.31,6.2,135.34,200.13,0,205.39C-35.07,199.19-33.09,5.26,102.24,0Z"/><path class="cls-2" d="M110,204.86C34.91,173.61,47.38,51.24,143.18,47.6c24,1.1,42.66,9.34,56.06,21.59C217.65,125.73,187.49,197.43,110,204.86Z"/><path class="cls-3" d="M.15,108.59C-2.09,65.72,20.91,21.49,68.66,5.83,79.64,49,56.45,100.76.15,108.59Z"/><rect class="cls-4" x="66.42" y="42.99" width="71.65" height="119.41" rx="13.32"/><path class="cls-4" d="M160.11,62.28h0A10.41,10.41,0,0,0,149.7,72.69V135a10.41,10.41,0,0,0,10.41,10.41h0A10.41,10.41,0,0,0,170.52,135V72.69A10.41,10.41,0,0,0,160.11,62.28Z"/><path class="cls-4" d="M44.37,62.28A10.41,10.41,0,0,0,34,72.69V135a10.41,10.41,0,0,0,20.82,0V72.69A10.41,10.41,0,0,0,44.37,62.28Z"/></g></g></svg>

La diferencia del archivo ha sido suprimido porque es demasiado grande
+ 0 - 0
src/packages/gstj/assets/icons/order.svg


La diferencia del archivo ha sido suprimido porque es demasiado grande
+ 0 - 0
src/packages/gstj/assets/icons/ptgz.svg


La diferencia del archivo ha sido suprimido porque es demasiado grande
+ 0 - 0
src/packages/gstj/assets/icons/red-envelope.svg


La diferencia del archivo ha sido suprimido porque es demasiado grande
+ 0 - 0
src/packages/gstj/assets/icons/schedule.svg


BIN
src/packages/gstj/assets/icons/signin.png


BIN
src/packages/gstj/assets/icons/spot.png


La diferencia del archivo ha sido suprimido porque es demasiado grande
+ 0 - 0
src/packages/gstj/assets/icons/statement.svg


BIN
src/packages/gstj/assets/icons/useradd.png


La diferencia del archivo ha sido suprimido porque es demasiado grande
+ 0 - 0
src/packages/gstj/assets/icons/wareorder.svg


La diferencia del archivo ha sido suprimido porque es demasiado grande
+ 0 - 0
src/packages/gstj/assets/icons/wddj.svg


La diferencia del archivo ha sido suprimido porque es demasiado grande
+ 0 - 0
src/packages/gstj/assets/icons/wdrw.svg


BIN
src/packages/gstj/assets/logo.png


La diferencia del archivo ha sido suprimido porque es demasiado grande
+ 0 - 0
src/packages/gstj/assets/logo.svg


+ 2 - 0
src/packages/gstj/router/index.ts

@@ -46,6 +46,7 @@ const routes: Array<RouteRecordRaw> = [
             name: 'home-goods',
             component: () => import('@mobile/views/goods/list/Index.vue'),
             props: {
+              title: '协议转让',
               marketId: 50101
             }
           },
@@ -54,6 +55,7 @@ const routes: Array<RouteRecordRaw> = [
             name: 'home-forward',
             component: () => import('@mobile/views/goods/list/Index.vue'),
             props: {
+              title: '订单挂牌',
               marketId: 50102
             }
           },

+ 7 - 7
src/packages/gstj/views/home/Index.vue

@@ -39,14 +39,8 @@ const tabList: Tabbar[] = [
     activeIcon: 'icon-a-zu753',
   },
   {
-    name: 'home-goods',
-    label: '订单挂牌',
-    icon: 'icon-a-zu821',
-    activeIcon: 'icon-a-zu818',
-  },
-  {
     name: 'home-forward',
-    label: '中远期挂牌',
+    label: '订单挂牌',
     icon: 'icon-a-zu820',
     activeIcon: 'icon-a-zu825',
   },
@@ -57,6 +51,12 @@ const tabList: Tabbar[] = [
     activeIcon: 'icon-a-zu824',
   },
   {
+    name: 'home-goods',
+    label: '协议转让',
+    icon: 'icon-a-zu821',
+    activeIcon: 'icon-a-zu818',
+  },
+  {
     name: 'home-mine',
     label: '我的',
     icon: 'icon-a-zu823',

BIN
src/packages/mobile/assets/icons/cart.png


La diferencia del archivo ha sido suprimido porque es demasiado grande
+ 0 - 0
src/packages/mobile/assets/icons/ccwl.svg


La diferencia del archivo ha sido suprimido porque es demasiado grande
+ 0 - 0
src/packages/mobile/assets/icons/cpjg.svg


+ 0 - 1
src/packages/mobile/assets/icons/cpjs.svg

@@ -1 +0,0 @@
-<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" viewBox="0 0 204.49 205.39"><defs><style>.cls-1,.cls-2,.cls-3{fill-rule:evenodd;}.cls-1{fill:url(#未命名的渐变_2);}.cls-2{opacity:0.5;fill:url(#未命名的渐变_5);}.cls-2,.cls-3{isolation:isolate;}.cls-3,.cls-4{fill:#fff;}.cls-3{opacity:0.2;}.cls-5{fill:#c30d23;}</style><linearGradient id="未命名的渐变_2" x1="-948.92" y1="1698.32" x2="-948.31" y2="1699.33" gradientTransform="matrix(174.47, 0, 0, -174.47, 165599.73, 296506.15)" gradientUnits="userSpaceOnUse"><stop offset="0" stop-color="#c30d23"/><stop offset="1" stop-color="#dd364a"/></linearGradient><linearGradient id="未命名的渐变_5" x1="131.37" y1="115.54" x2="177.6" y2="174.65" gradientUnits="userSpaceOnUse"><stop offset="0" stop-color="#ffc6cd"/><stop offset="1" stop-color="#e83a4f"/></linearGradient></defs><title>1-产品介绍</title><g id="图层_2" data-name="图层 2"><g id="图层_1-2" data-name="图层 1"><path class="cls-1" d="M102.24,0c137.31,6.2,135.34,200.13,0,205.39C-35.07,199.19-33.09,5.26,102.24,0Z"/><path class="cls-2" d="M110,204.86C34.91,173.61,47.38,51.24,143.18,47.6c24,1.1,42.66,9.34,56.06,21.59C217.65,125.73,187.49,197.43,110,204.86Z"/><path class="cls-3" d="M.15,108.59C-2.09,65.72,20.91,21.49,68.66,5.83,79.64,49,56.45,100.76.15,108.59Z"/><path class="cls-4" d="M145,43.73A66.72,66.72,0,0,0,37.76,109.6c2.59,12.15,1.3,30.1-2,45.2a7,7,0,0,0,6.82,8.65c.08,0,1.43-.22,1.43-.22,15.63-3.11,35.1-5.24,44.87-2.39A50.49,50.49,0,0,0,103,162.35,66.72,66.72,0,0,0,145,43.73Zm-35.29,73H74.54a5.27,5.27,0,1,1,0-10.53h35.12a5.27,5.27,0,1,1,0,10.53ZM130.73,88.6H74.54a5.27,5.27,0,0,1,0-10.54h56.19a5.27,5.27,0,1,1,0,10.54Z"/><path class="cls-5" d="M114.93,111.43a5.26,5.26,0,0,1-5.27,5.26H74.54a5.27,5.27,0,1,1,0-10.53h35.12A5.27,5.27,0,0,1,114.93,111.43Z"/><path class="cls-5" d="M136,83.33a5.27,5.27,0,0,1-5.27,5.27H74.54a5.27,5.27,0,0,1,0-10.54h56.19A5.27,5.27,0,0,1,136,83.33Z"/></g></g></svg>

BIN
src/packages/mobile/assets/icons/friend.png


BIN
src/packages/mobile/assets/icons/futures.png


La diferencia del archivo ha sido suprimido porque es demasiado grande
+ 0 - 0
src/packages/mobile/assets/icons/generalize.svg


BIN
src/packages/mobile/assets/icons/gold.png


BIN
src/packages/mobile/assets/icons/goods.png


+ 0 - 1
src/packages/mobile/assets/icons/htzr.svg

@@ -1 +0,0 @@
-<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" viewBox="0 0 204.49 205.39"><defs><style>.cls-1,.cls-2,.cls-3{fill-rule:evenodd;}.cls-1{fill:url(#未命名的渐变_2);}.cls-2{opacity:0.5;fill:url(#未命名的渐变_5);}.cls-2,.cls-3{isolation:isolate;}.cls-3,.cls-4{fill:#fff;}.cls-3{opacity:0.2;}</style><linearGradient id="未命名的渐变_2" x1="-1233.09" y1="1692.07" x2="-1232.49" y2="1693.08" gradientTransform="matrix(174.47, 0, 0, -174.47, 215179.21, 295416.49)" gradientUnits="userSpaceOnUse"><stop offset="0" stop-color="#c30d23"/><stop offset="1" stop-color="#dd364a"/></linearGradient><linearGradient id="未命名的渐变_5" x1="131.37" y1="115.54" x2="177.6" y2="174.65" gradientUnits="userSpaceOnUse"><stop offset="0" stop-color="#ffc6cd"/><stop offset="1" stop-color="#e83a4f"/></linearGradient></defs><title>1-合同转让</title><g id="图层_2" data-name="图层 2"><g id="图层_1-2" data-name="图层 1"><path class="cls-1" d="M102.24,0c137.31,6.2,135.34,200.13,0,205.39C-35.07,199.19-33.09,5.26,102.24,0Z"/><path class="cls-2" d="M110,204.86C34.91,173.61,47.38,51.24,143.18,47.6c24,1.1,42.66,9.34,56.06,21.59C217.65,125.73,187.49,197.43,110,204.86Z"/><path class="cls-3" d="M.15,108.59C-2.09,65.72,20.91,21.49,68.66,5.83,79.64,49,56.45,100.76.15,108.59Z"/><rect class="cls-4" x="66.42" y="42.99" width="71.65" height="119.41" rx="13.32"/><path class="cls-4" d="M160.11,62.28h0A10.41,10.41,0,0,0,149.7,72.69V135a10.41,10.41,0,0,0,10.41,10.41h0A10.41,10.41,0,0,0,170.52,135V72.69A10.41,10.41,0,0,0,160.11,62.28Z"/><path class="cls-4" d="M44.37,62.28A10.41,10.41,0,0,0,34,72.69V135a10.41,10.41,0,0,0,20.82,0V72.69A10.41,10.41,0,0,0,44.37,62.28Z"/></g></g></svg>

La diferencia del archivo ha sido suprimido porque es demasiado grande
+ 0 - 0
src/packages/mobile/assets/icons/order.svg


La diferencia del archivo ha sido suprimido porque es demasiado grande
+ 0 - 0
src/packages/mobile/assets/icons/ptgz.svg


La diferencia del archivo ha sido suprimido porque es demasiado grande
+ 0 - 0
src/packages/mobile/assets/icons/red-envelope.svg


La diferencia del archivo ha sido suprimido porque es demasiado grande
+ 0 - 0
src/packages/mobile/assets/icons/schedule.svg


BIN
src/packages/mobile/assets/icons/signin.png


BIN
src/packages/mobile/assets/icons/spot.png


La diferencia del archivo ha sido suprimido porque es demasiado grande
+ 0 - 0
src/packages/mobile/assets/icons/statement.svg


BIN
src/packages/mobile/assets/icons/useradd.png


La diferencia del archivo ha sido suprimido porque es demasiado grande
+ 0 - 0
src/packages/mobile/assets/icons/wareorder.svg


La diferencia del archivo ha sido suprimido porque es demasiado grande
+ 0 - 0
src/packages/mobile/assets/icons/wddj.svg


La diferencia del archivo ha sido suprimido porque es demasiado grande
+ 0 - 0
src/packages/mobile/assets/icons/wdrw.svg


BIN
src/packages/mobile/assets/logo.png


La diferencia del archivo ha sido suprimido porque es demasiado grande
+ 0 - 0
src/packages/mobile/assets/logo.svg


+ 40 - 34
src/packages/mobile/router/index.ts

@@ -48,10 +48,11 @@ const routes: Array<RouteRecordRaw> = [
           },
           {
             path: 'goods',
-            name: 'home-goods',
+            name: 'home-16201',
             component: () => import('../views/goods/list/Index.vue'),
             props: {
-              marketId: 50101
+              title: '全款挂牌',
+              marketId: 16201
             }
           },
           // {
@@ -177,9 +178,44 @@ const routes: Array<RouteRecordRaw> = [
     component: Page,
     children: [
       {
-        path: '',
-        name: 'goods-list',
+        path: '50101',
+        name: 'goods-50101',
+        component: () => import('../views/goods/list/Index.vue'),
+        props: {
+          title: '日清挂牌',
+          marketId: 50101,
+          showBackButton: true
+        }
+      },
+      {
+        path: '50102',
+        name: 'goods-50102',
+        component: () => import('../views/goods/list/Index.vue'),
+        props: {
+          title: '中远期挂牌',
+          marketId: 50102,
+          showBackButton: true
+        }
+      },
+      {
+        path: '50103',
+        name: 'goods-50103',
+        component: () => import('../views/goods/list/Index.vue'),
+        props: {
+          title: '周清挂牌',
+          marketId: 50103,
+          showBackButton: true
+        }
+      },
+      {
+        path: '50104',
+        name: 'goods-50104',
         component: () => import('../views/goods/list/Index.vue'),
+        props: {
+          title: '月清挂牌',
+          marketId: 50104,
+          showBackButton: true
+        }
       },
       {
         path: 'detail',
@@ -350,36 +386,6 @@ const routes: Array<RouteRecordRaw> = [
     ],
   },
   {
-    path: '/forward',
-    component: Page,
-    children: [
-      {
-        path: '',
-        name: 'forward-list',
-        component: () => import('../views/goods/list/Index.vue'),
-        props: {
-          marketId: 50102,
-          showBackButton: true
-        }
-      },
-    ],
-  },
-  {
-    path: '/fullpayment',
-    component: Page,
-    children: [
-      {
-        path: '',
-        name: 'fullpayment-list',
-        component: () => import('../views/goods/list/Index.vue'),
-        props: {
-          marketId: 16201,
-          showBackButton: true
-        }
-      },
-    ],
-  },
-  {
     path: '/mine',
     component: Page,
     children: [

+ 1 - 1
src/packages/mobile/views/bank/wallet/components/deposit/Index.vue

@@ -16,7 +16,7 @@
                 </template>
             </CellGroup>
         </Form>
-        <div class="g-form__bank" v-else>
+        <div class="g-form__bank" v-if="cusBank.caninamount === 0">
             <span>{{ msg }}</span>
         </div>
         <div class="g-form__time">

+ 1 - 1
src/packages/mobile/views/bank/wallet/components/withdraw/Index.vue

@@ -30,7 +30,7 @@
                 </template>
             </CellGroup>
         </Form>
-        <div class="g-form__bank" v-else>
+        <div class="g-form__bank" v-if="cusBank.canoutamount === 0">
             <span>{{ msg }}</span>
         </div>
         <div class="g-form__time">

+ 2 - 1
src/packages/mobile/views/goods/list/Index.vue

@@ -1,7 +1,7 @@
 <template>
     <app-view>
         <template #header>
-            <app-navbar title="订单挂牌" :show-back-button="showBackButton" />
+            <app-navbar :title="title ?? '订单挂牌'" :show-back-button="showBackButton" />
         </template>
         <app-list :columns="columns" :data-list="futuresStore.marketGoodsList" @row-click="rowClick">
             <!-- 商品名称/代码 -->
@@ -74,6 +74,7 @@ import quoteSocket from '@/services/websocket/quote'
 import AppList from '@mobile/components/base/list/index.vue'
 
 const props = defineProps({
+    title: String,
     marketId: {
         type: Number,
         required: true

+ 2 - 2
src/packages/mobile/views/home/Index.vue

@@ -51,8 +51,8 @@ const tabList: Tabbar[] = [
     activeIcon: 'icon-a-zu824',
   },
   {
-    name: 'home-goods',
-    label: '订单挂牌',
+    name: 'home-16201',
+    label: '全款挂牌',
     icon: 'icon-a-zu821',
     activeIcon: 'icon-a-zu818',
   },

+ 20 - 15
src/packages/mobile/views/home/main/Index.vue

@@ -10,14 +10,17 @@
       </app-block>
       <app-block class="home-main__iconbar bg">
         <ul>
-          <li @click="routerTo('presale-list')">
-            <Iconfont label-direction="bottom" icon="icon-yushoujingpai">预售竞拍</Iconfont>
+          <li @click="routerTo('goods-50101')">
+            <Iconfont label-direction="bottom" icon="icon-a-zu771">日清挂牌</Iconfont>
           </li>
-          <li @click="routerTo('forward-list')">
-            <Iconfont label-direction="bottom" icon="icon-dingjinzhuanrang">中远期挂牌</Iconfont>
+          <li @click="routerTo('goods-50103')">
+            <Iconfont label-direction="bottom" icon="icon-a-zu771">周清挂牌</Iconfont>
           </li>
-          <li @click="routerTo('fullpayment-list')">
-            <Iconfont label-direction="bottom" icon="icon-a-zu771">全款挂牌</Iconfont>
+          <li @click="routerTo('goods-50104')">
+            <Iconfont label-direction="bottom" icon="icon-a-zu771">月清挂牌</Iconfont>
+          </li>
+          <li @click="routerTo('goods-50102')">
+            <Iconfont label-direction="bottom" icon="icon-dingjinzhuanrang">中远期挂牌</Iconfont>
           </li>
           <!-- <li @click="switchTab(1)">
             <Iconfont label-direction="bottom" icon="icon-zhongqian">预售中签</Iconfont>
@@ -25,20 +28,22 @@
           <!-- <li @click="switchTab(2)">
             <Iconfont label-direction="bottom" icon="icon-dingjinzhuanrang">定金转让</Iconfont>
           </li> -->
-          <li @click="routerTo('swap-list')">
-            <Iconfont label-direction="bottom" icon="icon-diaoqimaoyi">掉期贸易</Iconfont>
-          </li>
         </ul>
         <ul>
-          <!-- <li @click="switchTab(3)">
-            <Iconfont label-direction="bottom" icon="icon-a-zu771">订单挂牌</Iconfont>
-          </li> -->
-          <li @click="routerTo('pricing-list')">
-            <Iconfont label-direction="bottom" icon="icon-guapaidianjia">挂牌点价</Iconfont>
+          <li @click="routerTo('presale-list')">
+            <Iconfont label-direction="bottom" icon="icon-yushoujingpai">预售竞拍</Iconfont>
           </li>
           <li @click="routerTo('spot-list')">
             <Iconfont label-direction="bottom" icon="icon-xianhuomaoyi">现货贸易</Iconfont>
           </li>
+          <li @click="routerTo('pricing-list')">
+            <Iconfont label-direction="bottom" icon="icon-guapaidianjia">挂牌点价</Iconfont>
+          </li>
+          <li @click="routerTo('swap-list')">
+            <Iconfont label-direction="bottom" icon="icon-diaoqimaoyi">掉期贸易</Iconfont>
+          </li>
+        </ul>
+        <ul>
           <li @click="routerTo('market-list')">
             <Iconfont label-direction="bottom" icon="icon-cankaohangqing">参考行情</Iconfont>
           </li>
@@ -92,7 +97,7 @@ const switchTab = (tabIndex: number) => {
         routerTo('home-transfer', true)
         break
       case 3:
-        routerTo('home-goods', true)
+        routerTo('home-50101', true)
         break
     }
   } else {

+ 7 - 0
src/packages/pc/assets/themes/default/default.less

@@ -157,6 +157,13 @@
             --el-disabled-border-color: var(--el-input-border-color);
         }
 
+        .el-checkbox {
+            --el-checkbox-text-color: #7a8a94;
+            --el-checkbox-checked-text-color: #3a87f7;
+            --el-checkbox-checked-bg-color: var(--el-checkbox-checked-text-color);
+            --el-checkbox-checked-input-border-color: var(--el-checkbox-checked-text-color);
+        }
+
         .el-radio {
             --el-radio-text-color: #7a8a94;
             --el-color-primary: #3a87f7;

+ 193 - 5
src/packages/pc/components/layouts/header/components/report/index.vue

@@ -1,31 +1,219 @@
 <!-- 交易商结算单 -->
 <template>
-    <app-drawer title="交易商结算单" width="80%" v-model:show="show" :refresh="refresh">
+    <app-drawer title="交易商结算单" :width="1000" v-model:show="show" :refresh="refresh">
+        <el-select placeholder="请选择" v-model="reporttype" @change="onChange">
+            <el-option v-for="option in selectList" :key="option.value" :value="option.value" :label="option.label" />
+        </el-select>
+        <el-date-picker :type="reporttype === 1 ? 'date' : 'month'" placeholder="查询日期" :value-format="reporttype === 1 ? 'YYYYMMDD' : 'YYYYMM'" v-model="cycletime" />
+        <el-button type="danger" @click="reloadData">查询</el-button>
+        <app-table-details title="账户信息" :data="ta" :label-width="180" :cell-props="accountDetailProps" :column="2" >
+            <!-- 名称 -->
+            <template #accountname>
+                {{ userinfo?.customername }}
+            </template>
+            <!-- 结算时间 -->
+            <template #currencyid>
+                {{ 'RMB' }}
+            </template>
+            <!-- 结算时间 -->
+            <template #tradestatuschangetime="{ value }">
+                {{ formatDate(value) }}
+            </template>
+        </app-table-details>
+        <app-table-details v-if="reporttype === 1 && dtaaccounts.length != 0" title="资金信息" :data="dtaaccounts[0]" :label-width="180" :cell-props="taDetailProps" :column="2" ></app-table-details>
+        <app-table-details v-if="reporttype === 2 && mtaaccounts.length != 0" title="资金信息" :data="mtaaccounts[0]" :label-width="180" :cell-props="taDetailProps" :column="2" ></app-table-details>
+        <span>出入金明细</span>
+        <app-table :data="logs" v-model:columns="logsTableColumns" />
+        <span>持仓汇总</span>
+        <app-table :data="dpostions" v-model:columns="dpostionsTableColumns" />
+        <span>成交明细</span>
+        <app-table :data="tradedetails" v-model:columns="tradeDetailsTableColumns" />
         <template #footer>
-            <el-button type="info" @click="onAgree(false)">同意进入系统</el-button>
+            <el-button type="info" @click="onAgree">同意进入系统</el-button>
             <el-button type="danger" @click="onDisAgree">不同意,退出系统</el-button>
         </template>
     </app-drawer>
 </template>
 
 <script lang="ts" setup>
-import { ref } from 'vue'
+import { ref, shallowRef } from 'vue'
 import { useRouter } from 'vue-router'
 import eventBus from '@/services/bus'
+import { useAccountStore, useUserStore } from '@/stores'
+import { formatDate } from '@/filters'
+import { localData } from '@/stores/storage'
+import { onMounted } from 'vue'
+import { queryReportBankAccountOutInLog, queryReportMonthTaaccount, queryReportReckonDayPosition, queryReportReckonDayTaaccount, queryReportTradeDetail } from '@/services/api/report'
 import AppDrawer from '@pc/components/base/drawer/index.vue'
+import AppTable from '@pc/components/base/table/index.vue'
+import AppTableDetails from '@pc/components/base/table-details/index.vue'
 
 const show = ref(true)
 const refresh = ref(false)
 const router = useRouter()
+/// 报表类型 日报表-1 月报表-2
+const reporttype = ref(1)
+/// 查询时间
+const cycletime = shallowRef(formatDate(new Date().toISOString(), 'YYYYMMDD'))
 
-const onAgree = (isRefresh = false) => {
+const ta = useAccountStore().currentAccount
+const userinfo = useUserStore().userInfo
+
+const logs = shallowRef<Model.ReportBankAccountOutInLogRsp[]>([])
+const mtaaccounts = shallowRef<Model.ReportMonthTaaccountRsp[]>([])
+const dpostions = shallowRef<Model.ReportReckonDayPositionRsp[]>([])
+const dtaaccounts = shallowRef<Model.ReportReckonDayTaaccountRsp[]>([])
+const tradedetails = shallowRef<Model.ReportTradeDetailRsp[]>([])
+
+const onAgree = () => {
+    /// 记录时间和是否同意
+    localData.setValue('isReportAgree', true) 
+    localData.setValue('reportTime', new Date().toISOString())
     show.value = false
-    refresh.value = isRefresh
+    refresh.value = false
 }
 
 const onDisAgree = () => {
+    /// 记录时间和是否同意
+    localData.setValue('isReportAgree', false) 
     eventBus.$emit('LogoutNotify')
     router.replace({ name: 'login' })
 }
 
+const reloadData = () => {
+    /// 报表 - 交易商结算单 - 出入金明细
+    queryReportBankAccountOutInLog({
+        data: {
+            tradedate: cycletime.value,
+            reporttype: reporttype.value,
+        }
+    }).then(res => {
+        /// 查询成功
+        if (res.data.length) {
+            logs.value = res.data
+        }
+    })
+
+    if (reporttype.value === 2) {
+        /// 表 - 交易商结算单 - 资金信息(月)
+        queryReportMonthTaaccount({
+            data: {
+                cycletime: cycletime.value,
+            }
+        }).then(res => {
+            /// 查询成功
+            if (res.data.length) {
+                mtaaccounts.value = res.data
+            }
+        })
+    } else {
+        /// 报表 - 交易商结算单 - 资金信息(日)
+        queryReportReckonDayTaaccount({
+            data: {
+                reckondate: cycletime.value,
+            }
+        }).then(res => {
+            /// 查询成功
+            if (res.data.length) {
+                dtaaccounts.value = res.data
+            }
+        })
+    }
+
+    /// 报表 - 交易商结算单 - 持仓汇总
+    queryReportReckonDayPosition({
+        data: {
+            reckondate: cycletime.value,
+            reporttype: reporttype.value
+        }
+    }).then(res => {
+        /// 查询成功
+        if (res.data.length) {
+            dpostions.value = res.data
+        }
+    })
+
+    /// 报表 - 交易商结算单 - 成交明细
+    queryReportTradeDetail({
+        data: {
+            histradedate: cycletime.value,
+            reporttype: reporttype.value
+        }
+    }).then(res => {
+        /// 查询成功
+        if (res.data.length) {
+            tradedetails.value = res.data
+        }
+    })
+}
+
+const onChange = () => {
+    cycletime.value = formatDate(cycletime.value, reporttype.value === 1 ? 'YYYYMMDD' : 'YYYYMM')
+}
+
+/// 账户信息
+const accountDetailProps = [
+    { prop: 'currencyid', label: '币种:' },
+    { prop: 'accountid', label: '账号:' },
+    { prop: 'accountname', label: '名称:' },
+    { prop: 'tradestatuschangetime', label: '结算日期:' },
+]
+
+/// 资金信息
+const taDetailProps = [
+    { prop: 'balance', label: '期初余额:' },
+    { prop: '', label: '' },
+    { prop: 'inamount', label: '银行入金:' },
+    { prop: 'closepl', label: '平仓损益:' },
+    { prop: 'outamount', label: '银行出金:' },
+    { prop: 'reckonpl', label: '结算损益:' },
+    { prop: 'freezecharge', label: '服务费:' },
+    { prop: '', label: '' },
+    { prop: 'currentbalance', label: '期末余额:' },
+    { prop: '', label: '' },
+    { prop: 'oriusedmargin', label: '占用资金:' },
+    { prop: 'orioutamountfreeze', label: '冻结资金:' },
+    { prop: 'avaiablemoney', label: '可用资金:' },
+    { prop: 'avaiableoutmoney', label: '可出资金:' },
+]
+
+/// 出入金明细
+const logsTableColumns = shallowRef<Model.TableColumn[]>([
+    { prop: 'updatetime', label: '时间' },
+    { prop: 'executetypedisplay', label: '资金类型' },
+    { prop: 'amount', label: '金额' },
+    { prop: 'applystatusdisplay', label: '状态' },
+])
+
+/// 持仓汇总
+const dpostionsTableColumns = shallowRef<Model.TableColumn[]>([
+    { prop: 'goodsdisplay', label: '商品' },
+    { prop: 'buyorselldisplay', label: '方向' },
+    { prop: 'curpositionqty', label: '持有数量' },
+    { prop: 'frozenqty', label: '冻结数量' },
+    { prop: 'curholderamount', label: '持仓金额' },
+    { prop: 'avagepricedisplay', label: '均价' },
+])
+
+/// 成交明细
+const tradeDetailsTableColumns = shallowRef<Model.TableColumn[]>([
+    { prop: 'goodsdisplay', label: '商品' },
+    { prop: 'buyorselldisplay', label: '类型/方向', width: 100 },
+    { prop: 'tradeqty', label: '数量', width: 80 },
+    { prop: 'tradeprice', label: '价格', width: 80 },
+    { prop: 'tradeamount', label: '成交金额', width: 100 },
+    { prop: 'charge', label: '服务费', width: 80 },
+    { prop: 'tradetime', label: '时间' },
+])
+
+const selectList = [
+    { label: '日报表', value: 1 },
+    { label: '月报表', value: 2 },
+]
+
+/// 请求数据
+onMounted(() => {
+    reloadData()
+})
+
 </script>

+ 12 - 9
src/packages/pc/components/layouts/header/components/setting/index.vue

@@ -1,14 +1,8 @@
 <!-- 快捷设置 -->
 <template>
-    <app-drawer title="快捷设置" width="400" v-model:show="show">
-        <el-form ref="formRef" class="el-form--vertical" label-width="80px" :model="formData">
-            <el-form-item prop="orderFocusType" label="订单焦点">
-                <el-select placeholder="请选择" v-model="formData.orderFocusType">
-                    <el-option label="价格" :value="1" />
-                    <el-option label="数量" :value="2" />
-                </el-select>
-            </el-form-item>
-            <el-form-item prop="orderFocusType" label="价格类型">
+    <app-drawer title="快捷设置" width="420" v-model:show="show">
+        <el-form ref="formRef" class="el-form--vertical" label-width="120px" :model="formData">
+            <el-form-item prop="orderFocusType" label="下单价格类型">
                 <el-select placeholder="请选择" v-model="formData.orderPriceType">
                     <el-option label="现价" :value="1" />
                     <el-option label="对手价" :value="2" />
@@ -16,6 +10,15 @@
                     <el-option label="实时对手价" :value="4" />
                 </el-select>
             </el-form-item>
+            <el-form-item prop="orderFocusType" label="下单后默认焦点">
+                <el-select placeholder="请选择" v-model="formData.orderFocusType">
+                    <el-option label="价格" :value="1" />
+                    <el-option label="数量" :value="2" />
+                </el-select>
+            </el-form-item>
+            <el-form-item prop="orderQtyIsEmpty">
+                <el-checkbox v-model="formData.orderQtyIsEmpty" label="下单后清空数量" />
+            </el-form-item>
         </el-form>
         <template #footer>
             <el-button type="info" @click="resetSettings">恢复默认</el-button>

+ 7 - 2
src/packages/pc/components/layouts/header/index.vue

@@ -10,7 +10,7 @@
                 <el-badge type="danger" :is-dot="noticeStore.unreadList.length > 0">
                     <app-icon icon="g-icon--notice" @click="openComponent('notice')" />
                 </el-badge>
-                <!-- <app-icon icon="Tickets" @click="openComponent('report')" /> -->
+                <app-icon icon="Tickets" @click="openComponent('report')" />
                 <app-icon icon="Setting" @click="openComponent('setting')" />
                 <span class="g-icon--minimize" @click="exitFullSreen" v-if="fullScreen"></span>
                 <span class="g-icon--maximize" @click="setFullSreen" v-else></span>
@@ -39,11 +39,12 @@
 <script lang="ts" setup>
 import { ref, onMounted, computed, defineAsyncComponent } from 'vue'
 import { SwitchButton, Unlock, Delete, Avatar } from '@element-plus/icons-vue'
-import { getFileUrl } from '@/filters'
+import { getFileUrl, diffDays } from '@/filters'
 import { useComponent } from '@/hooks/component'
 import { useUserStore, useGlobalStore, useNoticeStore } from '@/stores'
 import eventBus from '@/services/bus'
 import AppIcon from '@pc/components/base/icon/index.vue'
+import { localData } from '@/stores/storage'
 
 const componentMap = new Map<string, unknown>([
     ['notice', defineAsyncComponent(() => import('./components/notice/index.vue'))],
@@ -77,6 +78,10 @@ const exitFullSreen = () => {
 }
 
 onMounted(() => {
+    /// 如果未同意 或者跨天
+    if (!localData.getValue('isReportAgree') || diffDays(localData.getValue('reportTime')) > 0) {
+        openComponent('report')
+    }
     // 监听全屏变化
     window.addEventListener('fullscreenchange', () => {
         if (document.fullscreenElement) {

+ 4 - 0
src/packages/pc/components/layouts/page/index.vue

@@ -31,6 +31,7 @@
     </div>
     <div class="app-page__statusbar">
       <div class="statusbar-left">
+        <span style="font-size: 12px;color: #444f57;padding: 0 5px;">v1.0.{{ version }}</span>
       </div>
       <div class="statusbar-right">
         <ul>
@@ -70,6 +71,9 @@ const loginStore = useLoginStore()
 const isCollapse = ref(globalStore.isMobile)
 const serverTime = ref<Moment>()
 
+const meta = document.getElementsByTagName('meta')
+const version = meta.namedItem('revised')?.content ?? '0'
+
 // 手动给组件添加 name 属性,处理缓存 exclude 无效的问题
 const handleComponent = (component: Record<'type', { name: RouteRecordName | undefined }>, route: RouteRecordNormalized) => {
   if (component) {

+ 2 - 2
src/packages/pc/views/footer/capital/summary/deposit/index.vue

@@ -1,7 +1,7 @@
 <!-- 资金信息-资金汇总-充值 -->
 <template>
     <app-drawer title="充值" :width="500" v-model:show="show" :loading="loading" :refresh="refresh">
-        <el-form ref="formRef" v-if="cusBank.caninamount === 1" class="el-form--vertical" label-width="100px" :model="formData"
+        <el-form ref="formRef" v-if="cusBank.caninamount === 1" class="el-form--vertical" label-width="120px" :model="formData"
             :rules="formRules">
             <el-form-item prop="Amount" label="充值金额">
                 <el-input-number placeholder="请输入" :max="9999999999" :precision="2" v-model="formData.Amount"
@@ -16,7 +16,7 @@
                 </el-form-item>
             </template>
         </el-form>
-        <span v-else>{{ msg }}</span>
+        <span v-if="cusBank.caninamount === 0">{{ msg }}</span>
         <template #footer>
             <el-button type="info" @click="onCancel(false)">取消</el-button>
             <el-button type="primary" @click="formSubmit">提交</el-button>

+ 2 - 2
src/packages/pc/views/footer/capital/summary/withdraw/index.vue

@@ -1,7 +1,7 @@
 <!-- 资金信息-资金汇总-出金申请 -->
 <template>
     <app-drawer title="提现申请" :width="500" v-model:show="show" :loading="loading" :refresh="refresh">
-        <el-form ref="formRef" v-if="cusBank.canoutamount === 1" class="el-form--vertical" label-width="100px" :model="formData" :rules="formRules">
+        <el-form ref="formRef" v-if="cusBank.canoutamount === 1" class="el-form--vertical" label-width="120px" :model="formData" :rules="formRules">
             <el-form-item label="资金账号">
                 <span>{{ accountStore.currentAccountId }}</span>
             </el-form-item>
@@ -21,7 +21,7 @@
                 <el-input type="textarea" :maxlength="50" :rows="3" v-model="formData.Remark" />
             </el-form-item>
             </el-form>
-        <span v-else>{{ msg }}</span>
+        <span v-if="cusBank.canoutamount === 0">{{ msg }}</span>
         <template #footer>
             <el-button type="info" @click="onCancel(false)">取消</el-button>
             <el-button type="primary" @click="formSubmit">提交</el-button>

+ 2 - 2
src/packages/pc/views/footer/goods/order/clear/index.vue

@@ -58,7 +58,7 @@ const goodsList = computed(() => props.dataList.filter((e, i, arr) => arr.findIn
 const formRules: FormRules = {
     goodsId: [{
         required: true,
-        message: '请选择商品'
+        message: '请选择委托商品'
     }],
     price: [{
         required: true,
@@ -84,7 +84,7 @@ const onCancelSumit = () => {
             const errMessage: string[] = []
             const selectedRows = props.dataList.filter((e) => {
                 if (formModel.price) {
-                    const flag = e.goodsid === formModel.goodsId && e.buyorsell === BuyOrSell.Buy
+                    const flag = e.goodsid === formModel.goodsId && e.buyorsell === formModel.buyOrSell
                     switch (formModel.buyOrSell) {
                         case BuyOrSell.Buy:
                             return flag && e.orderprice <= formModel.price

+ 4 - 2
src/packages/pc/views/market/trade/goods/list/listing/index.vue

@@ -193,8 +193,10 @@ const onSubmit = (buildType: number) => {
                 formData.BuildType = buildType
 
                 formSubmit().then(() => {
-                    formData.OrderQty = undefined
-                    qtyStep.value = 0
+                    if (settingStore.getSettingValue('orderQtyIsEmpty')) {
+                        formData.OrderQty = undefined
+                        qtyStep.value = 0
+                    }
                     ElMessage.success('挂牌成功')
                 }).catch((err) => {
                     ElMessage.error('挂牌失败:' + err)

+ 2 - 5
src/packages/pc/views/market/trade/presell/ballot/index.vue

@@ -23,7 +23,7 @@ import { getFileUrl } from '@/filters'
 import { useComponent } from '@/hooks/component'
 import { useRequest } from '@/hooks/request'
 import { useDataFilter } from '@/hooks/datatable'
-import { getWRPresaleStatusName } from '@/constants/order'
+import { getWRPresaleStatusList, getWRPresaleStatusName } from '@/constants/order'
 import { queryPresaleAuctions } from '@/services/api/presale'
 import AppTable from '@pc/components/base/table/index.vue'
 import AppFilter from '@pc/components/base/table-filter/index.vue'
@@ -57,10 +57,7 @@ filterOptons.selectList = [
     {
         key: 'presalestatus',
         selectedValue: 2,
-        options: [
-            { label: getWRPresaleStatusName(1), value: 1 },
-            { label: getWRPresaleStatusName(2), value: 2 },
-        ],
+        options: getWRPresaleStatusList(),
         locked: true,
     }
 ]

+ 1 - 1
src/packages/pc/views/query/capital/history/index.vue

@@ -37,7 +37,7 @@ import { queryHisAmountLog } from '@/services/api/bank'
 import AppTable from '@pc/components/base/table/index.vue'
 import AppFilter from '@pc/components/base/table-filter/index.vue'
 
-const { filterOptons, getQueryParams } = useDataFilter<Model.HisTradeOrderDetailReq>()
+const { filterOptons, getQueryParams } = useDataFilter<Model.HisAmountLogReq>()
 const filterDate = shallowRef<string[]>([])
 
 const { loading, dataList, run } = useRequest(queryHisAmountLog, { manual: true })

+ 12 - 0
src/packages/pc/views/query/order/spot/history/index.vue

@@ -69,6 +69,18 @@ const tableColumns = shallowRef<Model.TableColumn[]>([
     { prop: 'wrtradeorderstatus', label: '状态' },
 ])
 
+filterOptons.selectList = [
+    {
+        key: 'wrtradetype',
+        selectedValue: 1,
+        options: [
+            { label: getWrTradeTypeName(1), value: 1 },
+            { label: getWrTradeTypeName(2), value: 2 },
+        ],
+        locked: true,
+    }
+]
+
 filterOptons.buttonList = [
     { lable: '查询', className: 'el-button--info', onClick: () => onSearch() },
     { lable: '重置', className: 'el-button--info', onClick: () => onSearch(true) }

+ 12 - 3
src/packages/pc/views/query/performance/buy/all/index.vue

@@ -3,7 +3,7 @@
     <app-table :data="dataList" v-model:columns="tableColumns" :loading="loading">
         <template #headerLeft>
             <app-filter :options="filterOptons">
-                <template #before>
+                <template #after>
                     <el-date-picker type="daterange" start-placeholder="开始日期" end-placeholder="结束日期" value-format="YYYYMMDD"
                         v-model="filterDate" />
                 </template>
@@ -34,11 +34,11 @@ import { formatDate } from '@/filters'
 import { useDataFilter } from '@/hooks/datatable'
 import { useRequest } from '@/hooks/request'
 import { queryPerformancePlan } from '@/services/api/performance'
-import { BuyOrSell, getPaymentTypeName, getPerformanceStatusName, getPerformanceTypeName } from '@/constants/order'
+import { BuyOrSell, getPaymentTypeName, getPerformanceStatusName, getPerformanceStatusList, getPerformanceTypeName } from '@/constants/order'
 import AppTable from '@pc/components/base/table/index.vue'
 import AppFilter from '@pc/components/base/table-filter/index.vue'
 
-const { filterOptons, getQueryParams } = useDataFilter<Model.WrOrderDetailRsp>()
+const { filterOptons, getQueryParams } = useDataFilter<Model.PerformancePlanReq>()
 const filterDate = shallowRef<string[]>([])
 
 const { loading, dataList, run } = useRequest(queryPerformancePlan, {
@@ -64,6 +64,15 @@ const tableColumns = shallowRef<Model.TableColumn[]>([
     { prop: 'starttime', label: '开始时间' },
 ])
 
+filterOptons.selectList = [
+    {
+        key: 'status',
+        selectedValue: 2,
+        options: getPerformanceStatusList(),
+        locked: true,
+    }
+]
+
 filterOptons.buttonList = [
     { lable: '查询', className: 'el-button--info', onClick: () => onSearch() },
     { lable: '重置', className: 'el-button--info', onClick: () => onSearch(true) }

Algunos archivos no se mostraron porque demasiados archivos cambiaron en este cambio