chenpm hai 6 meses
pai
achega
109c6d6f2f
Modificáronse 100 ficheiros con 1787 adicións e 742 borrados
  1. 18 14
      .hbuilderx/launch.json
  2. 6 1
      components/codecook-carnumber/codecook-carnumber.vue
  3. 43 1
      js_sdk/chooseCarApi.js
  4. 13 6
      js_sdk/http.js
  5. 34 1
      js_sdk/sjTools.js
  6. 2 2
      manifest.json
  7. 11 20
      package.json
  8. 148 0
      pages.json
  9. 31 13
      pages/chooseIdentity/index.vue
  10. 114 31
      pages/index/index.vue
  11. 1 1
      pages/login/login.vue
  12. 16 69
      pages/mine/mine.vue
  13. 53 64
      pages/subPackages/carmange/add.vue
  14. 53 6
      pages/subPackages/carmange/index.vue
  15. 12 14
      pages/subPackages/choosecar/index.vue
  16. 67 18
      pages/subPackages/password/index.vue
  17. 303 123
      pages/subPackages/qy_yy/index.vue
  18. 24 35
      pages/subPackages/sj_history/edit.vue
  19. 111 14
      pages/subPackages/sj_history/index.vue
  20. 48 10
      pages/subPackages/sj_yy/index.vue
  21. 71 19
      pages/subPackages/yy_history/code.vue
  22. 348 174
      pages/subPackages/yy_history/edit.vue
  23. 173 21
      pages/subPackages/yy_history/index.vue
  24. 2 2
      pages/utils/constant.js
  25. 4 0
      unpackage/dist/build/mp-weixin/app.json
  26. 1 1
      unpackage/dist/build/mp-weixin/common/runtime.js
  27. 4 4
      unpackage/dist/build/mp-weixin/common/vendor.js
  28. 1 1
      unpackage/dist/build/mp-weixin/components/codecook-carnumber/codecook-carnumber.js
  29. 1 1
      unpackage/dist/build/mp-weixin/components/codecook-carnumber/codecook-carnumber.wxml
  30. 1 1
      unpackage/dist/build/mp-weixin/components/codecook-carnumber/codecook-carnumber.wxss
  31. 1 1
      unpackage/dist/build/mp-weixin/pages/chooseIdentity/index.js
  32. 1 1
      unpackage/dist/build/mp-weixin/pages/chooseIdentity/index.wxml
  33. 1 1
      unpackage/dist/build/mp-weixin/pages/chooseIdentity/index.wxss
  34. 1 1
      unpackage/dist/build/mp-weixin/pages/index/index.js
  35. 1 1
      unpackage/dist/build/mp-weixin/pages/index/index.wxml
  36. 1 1
      unpackage/dist/build/mp-weixin/pages/index/index.wxss
  37. 1 1
      unpackage/dist/build/mp-weixin/pages/login/login.js
  38. 1 1
      unpackage/dist/build/mp-weixin/pages/login/login.wxml
  39. 1 1
      unpackage/dist/build/mp-weixin/pages/mine/mine.js
  40. 1 1
      unpackage/dist/build/mp-weixin/pages/mine/mine.wxml
  41. 1 1
      unpackage/dist/build/mp-weixin/pages/mine/mine.wxss
  42. 1 1
      unpackage/dist/build/mp-weixin/pages/subPackages/carmange/add.js
  43. 1 1
      unpackage/dist/build/mp-weixin/pages/subPackages/carmange/add.wxml
  44. 1 1
      unpackage/dist/build/mp-weixin/pages/subPackages/carmange/add.wxss
  45. 1 1
      unpackage/dist/build/mp-weixin/pages/subPackages/carmange/index.js
  46. 1 1
      unpackage/dist/build/mp-weixin/pages/subPackages/carmange/index.wxml
  47. 1 1
      unpackage/dist/build/mp-weixin/pages/subPackages/choosecar/index.js
  48. 1 1
      unpackage/dist/build/mp-weixin/pages/subPackages/choosecar/index.wxml
  49. 1 1
      unpackage/dist/build/mp-weixin/pages/subPackages/choosecar/index.wxss
  50. 1 1
      unpackage/dist/build/mp-weixin/pages/subPackages/common/vendor.js
  51. 1 1
      unpackage/dist/build/mp-weixin/pages/subPackages/password/index.js
  52. 1 1
      unpackage/dist/build/mp-weixin/pages/subPackages/password/index.wxml
  53. 1 1
      unpackage/dist/build/mp-weixin/pages/subPackages/password/index.wxss
  54. 1 1
      unpackage/dist/build/mp-weixin/pages/subPackages/qy_yy/index.js
  55. 1 1
      unpackage/dist/build/mp-weixin/pages/subPackages/qy_yy/index.wxml
  56. 1 1
      unpackage/dist/build/mp-weixin/pages/subPackages/qy_yy/index.wxss
  57. 1 1
      unpackage/dist/build/mp-weixin/pages/subPackages/sj_history/edit.js
  58. 1 1
      unpackage/dist/build/mp-weixin/pages/subPackages/sj_history/edit.wxml
  59. 1 1
      unpackage/dist/build/mp-weixin/pages/subPackages/sj_history/edit.wxss
  60. 1 1
      unpackage/dist/build/mp-weixin/pages/subPackages/sj_history/index.js
  61. 1 1
      unpackage/dist/build/mp-weixin/pages/subPackages/sj_history/index.wxml
  62. 1 1
      unpackage/dist/build/mp-weixin/pages/subPackages/sj_yy/index.js
  63. 1 1
      unpackage/dist/build/mp-weixin/pages/subPackages/sj_yy/index.wxml
  64. 1 1
      unpackage/dist/build/mp-weixin/pages/subPackages/sj_yy/index.wxss
  65. 1 1
      unpackage/dist/build/mp-weixin/pages/subPackages/yy_history/code.js
  66. 2 1
      unpackage/dist/build/mp-weixin/pages/subPackages/yy_history/code.json
  67. 1 1
      unpackage/dist/build/mp-weixin/pages/subPackages/yy_history/code.wxml
  68. 1 1
      unpackage/dist/build/mp-weixin/pages/subPackages/yy_history/code.wxss
  69. 1 1
      unpackage/dist/build/mp-weixin/pages/subPackages/yy_history/edit.js
  70. 1 1
      unpackage/dist/build/mp-weixin/pages/subPackages/yy_history/edit.wxml
  71. 1 1
      unpackage/dist/build/mp-weixin/pages/subPackages/yy_history/edit.wxss
  72. 1 1
      unpackage/dist/build/mp-weixin/pages/subPackages/yy_history/index.js
  73. 1 1
      unpackage/dist/build/mp-weixin/pages/subPackages/yy_history/index.wxml
  74. 1 1
      unpackage/dist/build/mp-weixin/pages/subPackages/yy_history/index.wxss
  75. 2 2
      unpackage/dist/build/mp-weixin/project.config.json
  76. 0 7
      unpackage/dist/build/mp-weixin/project.private.config.json
  77. 1 1
      unpackage/dist/dev/.sourcemap/mp-weixin/common/main.js.map
  78. 1 1
      unpackage/dist/dev/.sourcemap/mp-weixin/common/runtime.js.map
  79. 1 1
      unpackage/dist/dev/.sourcemap/mp-weixin/common/vendor.js.map
  80. 1 1
      unpackage/dist/dev/.sourcemap/mp-weixin/components/codecook-carnumber/codecook-carnumber.js.map
  81. 1 1
      unpackage/dist/dev/.sourcemap/mp-weixin/components/codecook-keyboard/codecook-keyboard.js.map
  82. 1 1
      unpackage/dist/dev/.sourcemap/mp-weixin/pages/chooseIdentity/index.js.map
  83. 1 1
      unpackage/dist/dev/.sourcemap/mp-weixin/pages/index/index.js.map
  84. 1 1
      unpackage/dist/dev/.sourcemap/mp-weixin/pages/login/login.js.map
  85. 1 1
      unpackage/dist/dev/.sourcemap/mp-weixin/pages/mine/mine.js.map
  86. 1 1
      unpackage/dist/dev/.sourcemap/mp-weixin/pages/subPackages/carmange/add.js.map
  87. 1 1
      unpackage/dist/dev/.sourcemap/mp-weixin/pages/subPackages/carmange/index.js.map
  88. 1 1
      unpackage/dist/dev/.sourcemap/mp-weixin/pages/subPackages/choosecar/index.js.map
  89. 1 1
      unpackage/dist/dev/.sourcemap/mp-weixin/pages/subPackages/common/vendor.js.map
  90. 1 1
      unpackage/dist/dev/.sourcemap/mp-weixin/pages/subPackages/password/index.js.map
  91. 1 1
      unpackage/dist/dev/.sourcemap/mp-weixin/pages/subPackages/phoneRegister/index.js.map
  92. 1 1
      unpackage/dist/dev/.sourcemap/mp-weixin/pages/subPackages/qy_yy/index.js.map
  93. 1 1
      unpackage/dist/dev/.sourcemap/mp-weixin/pages/subPackages/sj_history/edit.js.map
  94. 1 1
      unpackage/dist/dev/.sourcemap/mp-weixin/pages/subPackages/sj_history/index.js.map
  95. 1 1
      unpackage/dist/dev/.sourcemap/mp-weixin/pages/subPackages/sj_yy/index.js.map
  96. 1 1
      unpackage/dist/dev/.sourcemap/mp-weixin/pages/subPackages/yy_history/code.js.map
  97. 1 1
      unpackage/dist/dev/.sourcemap/mp-weixin/pages/subPackages/yy_history/edit.js.map
  98. 1 1
      unpackage/dist/dev/.sourcemap/mp-weixin/pages/subPackages/yy_history/index.js.map
  99. 4 0
      unpackage/dist/dev/mp-weixin/app.json
  100. 0 0
      unpackage/dist/dev/mp-weixin/common/runtime.js

+ 18 - 14
.hbuilderx/launch.json

@@ -1,16 +1,20 @@
-{ // launch.json 配置了启动调试时相关设置,configurations下节点名称可为 app-plus/h5/mp-weixin/mp-baidu/mp-alipay/mp-qq/mp-toutiao/mp-360/
-  // launchtype项可配置值为local或remote, local代表前端连本地云函数,remote代表前端连云端云函数
-    "version": "0.0",
-    "configurations": [{
-     	"default" : 
-     	{
-     		"launchtype" : "local"
-     	},
-     	"mp-weixin" : 
-     	{
-     		"launchtype" : "local"
-     	},
-     	"type" : "uniCloud"
-     }
+{
+    // launch.json 配置了启动调试时相关设置,configurations下节点名称可为 app-plus/h5/mp-weixin/mp-baidu/mp-alipay/mp-qq/mp-toutiao/mp-360/
+    // launchtype项可配置值为local或remote, local代表前端连本地云函数,remote代表前端连云端云函数
+    "version" : "0.0",
+    "configurations" : [
+        {
+            "default" : {
+                "launchtype" : "local"
+            },
+            "mp-weixin" : {
+                "launchtype" : "local"
+            },
+            "type" : "uniCloud"
+        },
+        {
+            "openVueDevtools" : true,
+            "type" : "uni-app:miniProgram"
+        }
     ]
 }

+ 6 - 1
components/codecook-carnumber/codecook-carnumber.vue

@@ -73,7 +73,12 @@ export default {
   },
   methods: {
     setCarNumValue(e) {
-      this.fill = e.split("");
+      let fill = e.split("");
+      // 如果是7位数的非新能源车辆则不足空位
+      if (e.split("").length == 7) {
+        fill.push("");
+      }
+      this.fill = fill;
     },
     focusHandler(index = 0) {
       this.focus = true;

+ 43 - 1
js_sdk/chooseCarApi.js

@@ -72,6 +72,19 @@ export function submitReservation(data) {
         data, {}
     )
 }
+export function submitReservationByBiz(data) {
+    return $http.post(
+        baseUri + dock + 'submitReservationByBiz',
+        data, {}
+    )
+}
+export function updateReservationByBiz(data) {
+    return $http.post(
+        baseUri + dock + 'updateReservationByBiz',
+        data, {}
+    )
+}
+// /wx/dock/submitReservationByBiz
 export function getHistoryContactPhoneByUserId(data) {
     return $http.post(
         baseUri + dock + 'getHistoryContactPhoneByUserId',
@@ -84,4 +97,33 @@ export function updateReservation(data) {
         baseUri + dock + 'updateReservation',
         data, {}
     )
-}
+}
+export function getCarDataByBiz(data) {
+
+    return $http.post(
+        '/wx/dock/getCarDataByBiz',
+        data, {}
+    )
+}
+// /wx/dock/bizCarListPage
+export function bizCarListPage(data) {
+    return $http.post(
+        '/wx/dock/bizCarListPage',
+        data, {}
+    )
+}
+// /wx/dock/addCar
+export function addCar(data) {
+    return $http.post(
+        '/wx/dock/addCar',
+        data, {}
+    )
+}
+
+// /wx/dock/deleteCar
+export function deleteCar(data) {
+    return $http.post(
+        '/wx/dock/deleteCar',
+        data, {}
+    )
+}

+ 13 - 6
js_sdk/http.js

@@ -19,6 +19,8 @@ export function addRectificationManagement(data) {
         data, {}
     )
 }
+// /wx/dock/getCarDataByBiz
+
 export function bindWxOpenId(data) {
 
     return $http.post(
@@ -460,21 +462,28 @@ export function getActivityById(id, signInCode, userId) {
         '/wx/parkActivity/getBySignInCode?id=' + id + '&userId=' + userId + "&signInCode=" + signInCode, {}, {})
 }
 export function getActivityById1(id, signInCode, userId) {
-    // /wx/parkActivity/getActivityById?id=1183797041860444160&userId=SCNjNSP7LJ9aarv1cNw
 
     return $http.get(
         '/wx/parkActivity/getActivityById?id=' + id + '&userId=' + userId, {}, {})
 }
-// /wx/userPower/getUserPower?userId=1088765543780974592
 export function getUserPower(e) {
     return $http.post(
         '/wx/userPower/getUserPower', {
         userId: e
     }, {})
 }
-export function editPassword(e) {
+export function editBizPassword(e) {
+    return $http.post(
+        '/wx/handleUser/editBizPassword', e, {})
+}
+export function editFramePassword(e) {
     return $http.post(
-        '/wx/frameUser/editPassword', e, {})
+        '/wx/handleUser/editFramePassword', e, {})
+}
+// /wx/handleUser/editDriverPassword
+export function editDriverPassword(e) {
+    return $http.post(
+        '/wx/handleUser/editDriverPassword', e, {})
 }
 
 export function updateListRectificationManagement(e) {
@@ -492,7 +501,6 @@ export function findSuccessListBySaleManagementId(e) {
     return $http.post(
         '/wx/SaleController/findSuccessListBySaleManagementId', e, {})
 }
-// /wx/RectificationController/findUserListByRoleWuye
 export function findUserListByRoleWuye() {
     // 用园区ID查询楼盘列表
     return $http.post(
@@ -508,7 +516,6 @@ export function listAllUserMain() {
         {}, {})
 }
 export function userList(e) {
-    // http://192.168.2.112:9011/wx/frameUser/userList
     return $http.post(
         '/wx/frameUser/userList',
         e

+ 34 - 1
js_sdk/sjTools.js

@@ -29,4 +29,37 @@ export function getReservationVoById(data) {
     )
 }
 
-// ​/wx​/dock​/getReservationById
+// /wx/dock/reservationBizListPage
+export function reservationBizListPage(data) {
+    return $http.post(
+        baseUri + dock + 'reservationBizListPage',
+        data, {}
+    )
+}
+// cancelReservation
+export function cancelReservation(data) {
+    return $http.post(
+        baseUri + dock + 'cancelReservation',
+        data, {}
+    )
+}
+// /wx/dock/doReservationSign
+export function doReservationSign(data) {
+    return $http.post(
+        baseUri + dock + 'doReservationSign',
+        data, {}
+    )
+}
+// /wx/dock/doReservationFinish
+export function doReservationFinish(data) {
+    return $http.post(
+        baseUri + dock + 'doReservationFinish',
+        data, {}
+    )
+}
+// export function getReservationVoById(data) {
+//     return $http.post(
+//         baseUri + dock + 'getReservationVoById',
+//         data, {}
+//     )
+// }

+ 2 - 2
manifest.json

@@ -1,5 +1,5 @@
 {
-    "name" : "红沙湾管理端",
+    "name" : "阿斯利康码头管理",
     "appid" : "__UNI__8C5F0F6",
     "description" : "应用描述",
     "versionName" : "1.0.0",
@@ -69,7 +69,7 @@
     },
     "mp-weixin" : {
         "libVersion" : "latest",
-        "appid" : "wx44a0d2f4a1220d3d",
+        "appid" : "wxcce76742bc3de81d",
         "optimization" : {
             "subPackages" : true
         },

+ 11 - 20
package.json

@@ -1,22 +1,13 @@
 {
-    "id": "ba-tree-picker",
-    "displayName": "ba-tree-picker树形层级选择器(支持单选、多选、父级选择、映射)",
-    "version": "1.2",
-    "description": "树形层级选择器,支持单选、多选、父级选择 、Object对象属性自定义映射、自定义样式等,采用弹窗形式,样式和比例参照uniapp官方的picker和uni-data-picker组件",
+    "id": "ay-qrcode",
+    "name": "生成二维码。传入链接,即可使用,可快速扫出链接",
+    "version": "1.0.7",
+    "description": "生成二维码。传入链接,即可使用,可快速扫出链接,可自定义宽高,适用于APP与H5、微信小程序",
     "keywords": [
-        "选择器",
-        "树形",
-        "层级",
-        "多选",
-        "ba-tree-picker"
-    ],
-    "dcloudext": {
-        "category": [
-            "前端组件",
-            "通用组件"
-        ]
-    },
-    "dependencies": {
-        "js-md5": "^0.8.3"
-    }
-}
+        "生成二维码",
+        "二维码",
+        "即可使用",
+        "可快速扫出链接",
+        "已解决部分华为荣耀手机缺角问题"
+    ]
+}

+ 148 - 0
pages.json

@@ -167,6 +167,117 @@
                         }
                     }
                 },
+                {
+                    "path": "scanCode/index",
+                    "style": {
+                        "navigationBarTitleText": "扫码核验",
+                        "enablePullDownRefresh": true,
+                        "onReachBottomDistance": 100,
+                        "app-plus": {
+                            "bounce": "vertical",
+                            "titleNView": {
+                                "buttons": [
+                                    {
+                                        "text": "\ue534",
+                                        "fontSrc": "/static/uni.ttf",
+                                        "fontSize": "22px",
+                                        "color": "#FFFFFF"
+                                    }
+                                ]
+                            }
+                        },
+                        "component": true,
+                        "usingComponents": {
+                            "van-button": "/wxcomponents/weapp/dist/button/index",
+                            "van-toast": "/wxcomponents/weapp/dist/toast/index",
+                            "van-field": "/wxcomponents/weapp/dist/field/index",
+                            "van-popup": "/wxcomponents/weapp/dist/popup/index",
+                            "van-picker": "/wxcomponents/weapp/dist/picker/index",
+                            "van-dialog": "/wxcomponents/weapp/dist/dialog/index",
+                            "van-icon": "/wxcomponents/weapp/dist/icon/index",
+                            "van-tab": "/wxcomponents/weapp/dist/tab/index",
+                            "van-tabs": "/wxcomponents/weapp/dist/tabs/index",
+                            "van-datetime-picker": "/wxcomponents/weapp/dist/datetime-picker/index",
+                            "van-uploader": "/wxcomponents/weapp/dist/uploader/index",
+                            "van-checkbox": "/wxcomponents/weapp/dist/checkbox/index",
+                            "van-checkbox-group": "/wxcomponents/weapp/dist/checkbox-group/index"
+                        }
+                    }
+                },
+                {
+                    "path": "noticeList/qy",
+                    "style": {
+                        "navigationBarTitleText": "企业消息",
+                        "enablePullDownRefresh": true,
+                        "onReachBottomDistance": 100,
+                        "app-plus": {
+                            "bounce": "vertical",
+                            "titleNView": {
+                                "buttons": [
+                                    {
+                                        "text": "\ue534",
+                                        "fontSrc": "/static/uni.ttf",
+                                        "fontSize": "22px",
+                                        "color": "#FFFFFF"
+                                    }
+                                ]
+                            }
+                        },
+                        "component": true,
+                        "usingComponents": {
+                            "van-button": "/wxcomponents/weapp/dist/button/index",
+                            "van-toast": "/wxcomponents/weapp/dist/toast/index",
+                            "van-field": "/wxcomponents/weapp/dist/field/index",
+                            "van-popup": "/wxcomponents/weapp/dist/popup/index",
+                            "van-picker": "/wxcomponents/weapp/dist/picker/index",
+                            "van-dialog": "/wxcomponents/weapp/dist/dialog/index",
+                            "van-icon": "/wxcomponents/weapp/dist/icon/index",
+                            "van-tab": "/wxcomponents/weapp/dist/tab/index",
+                            "van-tabs": "/wxcomponents/weapp/dist/tabs/index",
+                            "van-datetime-picker": "/wxcomponents/weapp/dist/datetime-picker/index",
+                            "van-uploader": "/wxcomponents/weapp/dist/uploader/index",
+                            "van-checkbox": "/wxcomponents/weapp/dist/checkbox/index",
+                            "van-checkbox-group": "/wxcomponents/weapp/dist/checkbox-group/index"
+                        }
+                    }
+                },
+                {
+                    "path": "noticeList/sj",
+                    "style": {
+                        "navigationBarTitleText": "司机消息",
+                        "enablePullDownRefresh": true,
+                        "onReachBottomDistance": 100,
+                        "app-plus": {
+                            "bounce": "vertical",
+                            "titleNView": {
+                                "buttons": [
+                                    {
+                                        "text": "\ue534",
+                                        "fontSrc": "/static/uni.ttf",
+                                        "fontSize": "22px",
+                                        "color": "#FFFFFF"
+                                    }
+                                ]
+                            }
+                        },
+                        "component": true,
+                        "usingComponents": {
+                            "van-button": "/wxcomponents/weapp/dist/button/index",
+                            "van-toast": "/wxcomponents/weapp/dist/toast/index",
+                            "van-field": "/wxcomponents/weapp/dist/field/index",
+                            "van-popup": "/wxcomponents/weapp/dist/popup/index",
+                            "van-picker": "/wxcomponents/weapp/dist/picker/index",
+                            "van-dialog": "/wxcomponents/weapp/dist/dialog/index",
+                            "van-icon": "/wxcomponents/weapp/dist/icon/index",
+                            "van-tab": "/wxcomponents/weapp/dist/tab/index",
+                            "van-tabs": "/wxcomponents/weapp/dist/tabs/index",
+                            "van-datetime-picker": "/wxcomponents/weapp/dist/datetime-picker/index",
+                            "van-uploader": "/wxcomponents/weapp/dist/uploader/index",
+                            "van-checkbox": "/wxcomponents/weapp/dist/checkbox/index",
+                            "van-checkbox-group": "/wxcomponents/weapp/dist/checkbox-group/index"
+                        }
+                    }
+                },
                 {
                     "path": "yy_history/code",
                     "style": {
@@ -241,6 +352,43 @@
                         }
                     }
                 },
+                {
+                    "path": "sj_history/detail",
+                    "style": {
+                        "navigationBarTitleText": "司机预约详情",
+                        "enablePullDownRefresh": true,
+                        "onReachBottomDistance": 100,
+                        "app-plus": {
+                            "bounce": "vertical",
+                            "titleNView": {
+                                "buttons": [
+                                    {
+                                        "text": "\ue534",
+                                        "fontSrc": "/static/uni.ttf",
+                                        "fontSize": "22px",
+                                        "color": "#FFFFFF"
+                                    }
+                                ]
+                            }
+                        },
+                        "component": true,
+                        "usingComponents": {
+                            "van-button": "/wxcomponents/weapp/dist/button/index",
+                            "van-toast": "/wxcomponents/weapp/dist/toast/index",
+                            "van-field": "/wxcomponents/weapp/dist/field/index",
+                            "van-popup": "/wxcomponents/weapp/dist/popup/index",
+                            "van-picker": "/wxcomponents/weapp/dist/picker/index",
+                            "van-dialog": "/wxcomponents/weapp/dist/dialog/index",
+                            "van-icon": "/wxcomponents/weapp/dist/icon/index",
+                            "van-tab": "/wxcomponents/weapp/dist/tab/index",
+                            "van-tabs": "/wxcomponents/weapp/dist/tabs/index",
+                            "van-datetime-picker": "/wxcomponents/weapp/dist/datetime-picker/index",
+                            "van-uploader": "/wxcomponents/weapp/dist/uploader/index",
+                            "van-checkbox": "/wxcomponents/weapp/dist/checkbox/index",
+                            "van-checkbox-group": "/wxcomponents/weapp/dist/checkbox-group/index"
+                        }
+                    }
+                },
                 {
                     "path": "sj_history/edit",
                     "style": {

+ 31 - 13
pages/chooseIdentity/index.vue

@@ -5,17 +5,34 @@
     <div class="title1">方便我们为您提供更准确的服务</div>
 
     <div class="choose">
-      <div @click="chooseIdentity(1)" :class="isSelect === 1 ? 'select isselect' : 'select'">
+      <div
+        @click="chooseIdentity(1)"
+        :class="isSelect === 1 ? 'select isselect' : 'select'"
+      >
         <div><img class="headerImg" src="./sj.png" alt="" /></div>
         <div class="name">我是司机</div>
         <div class="huan"><van-icon name="success" /></div>
       </div>
-      <div @click="chooseIdentity(2)" :class="isSelect === 2 ? 'select isselect' : 'select'" class="select"
-        style="margin-top: 20px">
+      <div
+        @click="chooseIdentity(2)"
+        :class="isSelect === 2 ? 'select isselect' : 'select'"
+        class="select"
+        style="margin-top: 20rpx"
+      >
         <div><img class="headerImg" src="./qy.png" alt="" /></div>
         <div class="name">我是企业</div>
         <div class="huan"><van-icon name="success" /></div>
       </div>
+      <div
+        @click="chooseIdentity(3)"
+        :class="isSelect === 3 ? 'select isselect' : 'select'"
+        class="select"
+        style="margin-top: 20rpx"
+      >
+        <div><img class="headerImg" src="./qy.png" alt="" /></div>
+        <div class="name">我要核验</div>
+        <div class="huan"><van-icon name="success" /></div>
+      </div>
     </div>
     <div class="btnbox">
       <van-button class="btn" @click="goLogin">去登陆</van-button>
@@ -30,15 +47,15 @@ export default {
       isSelect: 1,
     };
   },
-  mounted() { },
+  mounted() {},
   methods: {
     chooseIdentity(e) {
       this.isSelect = e;
     },
     goLogin() {
-
-      let type = this.isSelect === 1 ? 'USER' : 'BIZ'
-      console.log(type)
+      let type =
+        this.isSelect === 1 ? "USER" : this.isSelect === 2 ? "BIZ" : "FRAME";
+      console.log(type);
       uni.navigateTo({
         url: "/pages/login/login?type=" + type,
       });
@@ -99,14 +116,14 @@ export default {
     font-size: 52rpx;
     color: #222222;
     position: absolute;
-    top: 342px;
-    left: 52px;
+    top: 342rpx;
+    left: 52rpx;
   }
 
   .title1 {
     position: absolute;
-    top: 381px;
-    left: 52px;
+    top: 400rpx;
+    left: 52rpx;
     font-weight: 400;
     font-size: 28rpx;
     color: #666666;
@@ -125,7 +142,7 @@ export default {
 
   .choose {
     position: absolute;
-    top: 800rpx;
+    top: 40vh;
     width: 100%;
 
     .headerImg {
@@ -147,7 +164,8 @@ export default {
     }
 
     .name {
-      margin-right: 160px;
+      // margin-right: 160rpx;
+      width: 400rpx;
     }
   }
 

+ 114 - 31
pages/index/index.vue

@@ -1,11 +1,26 @@
 <template>
   <view class="indexpage" style="width: 100%">
     <div class="indextop">
+      <div class="topbox">
+        <div class="pagetitle">阿斯利康码头预约</div>
+        <div
+          @click="
+            jumpPage(
+              userType == 'USER'
+                ? '/pages/subPackages/noticeList/sj'
+                : '/pages/subPackages/noticeList/qy'
+            )
+          "
+        >
+          <div class="sub" v-if="noticeNum != 0">{{ noticeNum }}</div>
+          <img src="./image.png" style="width: 40rpx; height: 39rpx" alt="" />
+        </div>
+      </div>
       <image src="../../static/index/banner.png" class="banner"></image>
       <div class="bz">
         <div>
           <img
-            src="https://www.idea-co-sf.com/dockPic/1.png"
+            src="https://www.idea-sf.com/dockPic/image/1.png"
             class="yyicon"
             alt=""
           />
@@ -14,7 +29,7 @@
         <div class="jiantou">---></div>
         <div>
           <img
-            src="https://www.idea-co-sf.com/dockPic/2.png"
+            src="https://www.idea-sf.com/dockPic/image/2.png"
             class="yyicon"
             alt=""
           />
@@ -23,7 +38,7 @@
         <div class="jiantou">---></div>
         <div>
           <img
-            src="https://www.idea-co-sf.com/dockPic/3.png"
+            src="https://www.idea-sf.com/dockPic/image/3.png"
             class="yyicon"
             alt=""
           />
@@ -32,7 +47,7 @@
         <div class="jiantou">---></div>
         <div>
           <img
-            src="https://www.idea-co-sf.com/dockPic/4.png"
+            src="https://www.idea-sf.com/dockPic/image/4.png"
             class="yyicon"
             alt=""
           />
@@ -41,7 +56,7 @@
         <div class="jiantou">---></div>
         <div>
           <img
-            src="https://www.idea-co-sf.com/dockPic/5.png"
+            src="https://www.idea-sf.com/dockPic/image/5.png"
             class="yyicon"
             alt=""
           />
@@ -51,17 +66,21 @@
     </div>
     <div class="report">
       <div class="left">
-        <img src="https://www.idea-co-sf.com/dockPic/6.png" alt="" />
+        <img src="https://www.idea-sf.com/dockPic/image/6.png" alt="" />
         <div class="line"></div>
       </div>
       <div class="right">
         <div>
           <div class="info">
-            <div>受暴雨天气影响,2024-07-13 8:00...</div>
+            <div class="label chaochuyincang">
+              受暴雨天气影响,2024-07-13 8:00...
+            </div>
             <div class="day">1天前</div>
           </div>
           <div class="info">
-            <div>受暴雨天气影响,2024-07-13 8:00...</div>
+            <div class="label chaochuyincang">
+              受暴雨天气影响,2024-07-13 8:00...
+            </div>
             <div class="day">1天前</div>
           </div>
         </div>
@@ -74,12 +93,12 @@
       >
         <div class="text">送货预约</div>
         <img
-          src="https://www.idea-co-sf.com/dockPic/7.png"
+          src="https://www.idea-sf.com/dockPic/image/7.png"
           class="back"
           alt=""
         />
         <img
-          src="https://www.idea-co-sf.com/dockPic/7-1.png"
+          src="https://www.idea-sf.com/dockPic/image/7-1.png"
           class="icon"
           alt=""
         />
@@ -90,12 +109,12 @@
       >
         <div class="text">取货预约</div>
         <img
-          src="https://www.idea-co-sf.com/dockPic/8.png"
+          src="https://www.idea-sf.com/dockPic/image/8.png"
           class="back"
           alt=""
         />
         <img
-          src="https://www.idea-co-sf.com/dockPic/8-1.png"
+          src="https://www.idea-sf.com/dockPic/image/8-1.png"
           class="icon"
           alt=""
         />
@@ -107,12 +126,30 @@
       >
         <div class="text">预约历史</div>
         <img
-          src="https://www.idea-co-sf.com/dockPic/9.png"
+          src="https://www.idea-sf.com/dockPic/image/9.png"
+          class="back"
+          alt=""
+        />
+        <img
+          src="https://www.idea-sf.com/dockPic/image/9-1.png"
+          class="icon"
+          alt=""
+        />
+      </div>
+    </div>
+    <div class="menu-list" v-else-if="userType == 'FRAME'">
+      <div
+        class="menu-row"
+        @click="jumpPage('/pages/subPackages/scanCode/index')"
+      >
+        <div class="text">扫码核验</div>
+        <img
+          src="https://www.idea-sf.com/dockPic/image/7.png"
           class="back"
           alt=""
         />
         <img
-          src="https://www.idea-co-sf.com/dockPic/9-1.png"
+          src="https://www.idea-sf.com/dockPic/image/7-1.png"
           class="icon"
           alt=""
         />
@@ -123,30 +160,30 @@
         class="menu-row"
         @click="jumpPage('/pages/subPackages/choosecar/index?zxtype=取货预约')"
       >
-        <div class="text">货预约</div>
+        <div class="text">货预约</div>
         <img
-          src="https://www.idea-co-sf.com/dockPic/7.png"
+          src="https://www.idea-sf.com/dockPic/image/7.png"
           class="back"
           alt=""
         />
         <img
-          src="https://www.idea-co-sf.com/dockPic/7-1.png"
+          src="https://www.idea-sf.com/dockPic/image/7-1.png"
           class="icon"
           alt=""
         />
       </div>
       <div
         class="menu-row"
-        @click="jumpPage('/pages/subPackages/choosecar/index?zxtype=货预约')"
+        @click="jumpPage('/pages/subPackages/choosecar/index?zxtype=货预约')"
       >
-        <div class="text">货预约</div>
+        <div class="text">货预约</div>
         <img
-          src="https://www.idea-co-sf.com/dockPic/8.png"
+          src="https://www.idea-sf.com/dockPic/image/8.png"
           class="back"
           alt=""
         />
         <img
-          src="https://www.idea-co-sf.com/dockPic/8-1.png"
+          src="https://www.idea-sf.com/dockPic/image/8-1.png"
           class="icon"
           alt=""
         />
@@ -157,12 +194,12 @@
       >
         <div class="text">预约历史</div>
         <img
-          src="https://www.idea-co-sf.com/dockPic/9.png"
+          src="https://www.idea-sf.com/dockPic/image/9.png"
           class="back"
           alt=""
         />
         <img
-          src="https://www.idea-co-sf.com/dockPic/9-1.png"
+          src="https://www.idea-sf.com/dockPic/image/9-1.png"
           class="icon"
           alt=""
         />
@@ -173,12 +210,12 @@
       >
         <div class="text">车辆管理</div>
         <img
-          src="https://www.idea-co-sf.com/dockPic/10.png"
+          src="https://www.idea-sf.com/dockPic/image/10.png"
           class="back"
           alt=""
         />
         <img
-          src="https://www.idea-co-sf.com/dockPic/10-1.png"
+          src="https://www.idea-sf.com/dockPic/image/10-1.png"
           class="icon"
           alt=""
         />
@@ -188,11 +225,8 @@
 </template>
 <script>
 // import {demo} from "@/js_sdk/http"
-import {
-  getUserPower,
-  getVenueAppointListAppCount,
-  getMeetingAppointListAppCount,
-} from "@/js_sdk/http";
+
+import { driverMessageCount, bizMessageCount } from "@/js_sdk/noticeList.js";
 import { getUserLocalStorageInfo } from "@/js_sdk/localUserInfo.js";
 export default {
   data() {
@@ -201,6 +235,7 @@ export default {
       MeetingNum: 0,
       VenueNum: 0,
       userType: "",
+      noticeNum: 0,
     };
   },
   onShareAppMessage() {},
@@ -208,11 +243,30 @@ export default {
     // demo();
   },
   onLoad() {
-    console.log(getUserLocalStorageInfo().userType);
     this.userType = getUserLocalStorageInfo().userType;
+    if (this.userType == "USER") {
+      this.driverMessageCount();
+    } else {
+      this.bizMessageCount();
+    }
   },
   onShow() {},
   methods: {
+    // /wx/dock/driverMessageCount
+    async bizMessageCount() {
+      let { data } = await bizMessageCount({
+        bizId: getUserLocalStorageInfo().biz.id,
+      });
+      this.noticeNum = data;
+      console.log(data);
+    },
+    async driverMessageCount() {
+      let { data } = await driverMessageCount({
+        userId: getUserLocalStorageInfo().user.id,
+      });
+      this.noticeNum = data;
+      console.log(data);
+    },
     jumpPage(path) {
       console.log(path);
       uni.navigateTo({
@@ -226,6 +280,32 @@ export default {
 
 <style lang="scss">
 .indexpage {
+  .pagetitle {
+    font-weight: 400;
+    font-size: 32rpx;
+    color: #333333;
+  }
+  .sub {
+    width: 28rpx;
+    height: 28rpx;
+    background: #f21912;
+    border-radius: 50%;
+    display: flex;
+    font-size: 26rpx;
+    align-items: center;
+    justify-content: center;
+    color: white;
+    position: absolute;
+    top: 0rpx;
+    right: 25rpx;
+  }
+  .topbox {
+    display: flex;
+    padding: 8rpx 32rpx 18rpx 32rpx;
+    justify-content: space-between;
+    font-size: 32rpx;
+    color: #333333;
+  }
   .menu-list {
     margin-top: 24rpx;
     display: flex;
@@ -289,6 +369,9 @@ export default {
       margin-bottom: 12rpx;
       display: flex;
       color: rgba(24, 23, 42, 1);
+      .label {
+        width: 500rpx;
+      }
     }
 
     .left {

+ 1 - 1
pages/login/login.vue

@@ -38,7 +38,7 @@
           />
         </div>
 
-        <div style="margin-top: 80rpx">
+        <div style="margin-top: 2vh">
           <van-button
             type="default"
             class="loginbtn"

+ 16 - 69
pages/mine/mine.vue

@@ -8,7 +8,7 @@
         <div class="welcome">
           <div class="title">欢迎您!</div>
           <div class="weltxt">
-            189*******12345
+            {{ phone }}
             <!-- {{ getUserLocalStorageInfo.user.phone }} -->
           </div>
         </div>
@@ -23,29 +23,14 @@
             <div class="labelpage_value">v1.0.1</div>
           </div>
         </div>
-        <div v-if="!bindFlag" class="labelpage_row" @click="bindWxId()">
-          <img height="44rpx" src="../../static/mine/versionicon.png" alt="" />
-          <div class="labelpage_text">
-            <div class="labelpage_name">绑定微信账号</div>
-            <!-- <div class="labelpage_value">v1.0.1</div> -->
-          </div>
-        </div>
-        <div v-if="bindFlag" class="labelpage_row" @click="unbindWxId()">
-          <img height="44rpx" src="../../static/mine/versionicon.png" alt="" />
 
-          <div class="labelpage_text">
-            <div class="labelpage_name">解绑微信账号</div>
-            <!-- <div class="labelpage_value">v1.0.1</div> -->
-          </div>
-        </div>
-        <div class="labelpage_row" @click="bindPush()">
+        <!-- <div class="labelpage_row" @click="bindPush()">
           <img src="../../static/mine/versionicon.png" alt="" />
 
           <div class="labelpage_text">
             <div class="labelpage_name">绑定消息推送</div>
-            <!-- <div class="labelpage_value">v1.0.1</div> -->
           </div>
-        </div>
+        </div> -->
         <div class="labelpage_row" @click="editPassWord()">
           <img height="44rpx" src="../../static/mine/editpassword.png" alt="" />
 
@@ -81,23 +66,31 @@
 <script>
 import {
   getUserInfo,
-  getUserLocalStorageInfo,
   bindWxOpenId,
   getWxUserById,
   unbindWxId,
 } from "@/js_sdk/http";
+import { getUserLocalStorageInfo } from "@/js_sdk/localUserInfo.js";
+
 export default {
   data() {
     return {
       userInfo: {},
       bindFlag: 1,
+      phone: "",
       getUserLocalStorageInfo: getUserLocalStorageInfo(),
     };
   },
   onLoad() {
-    this.getWxUserById();
-    //option为object类型,会序列化上个页面传递的参数
-    // this.getUserInfo(); //打印出上个页面传递的参数。
+    let key = getUserLocalStorageInfo().userType == "USER" ? "user" : "biz";
+    let key1 =
+      getUserLocalStorageInfo().userType == "USER"
+        ? "username"
+        : "userNameDefault";
+    console.log(getUserLocalStorageInfo()["biz"]);
+    let phone = getUserLocalStorageInfo()[key][key1];
+    this.phone =
+      key == "biz" ? phone : phone.replace(/(\d{3})\d{4}(\d{4})/, "$1****$2");
   },
 
   methods: {
@@ -159,53 +152,7 @@ export default {
         },
       });
     },
-    async getWxUserById() {
-      let { data } = await getWxUserById(getUserLocalStorageInfo().user.id);
-      console.log("data.bindFlag", data.bindFlag);
-      this.bindFlag = data.bindFlag ? true : false;
 
-      console.log(data);
-    },
-    async unbindWxId() {
-      let data = await unbindWxId({
-        userId: getUserLocalStorageInfo().user.id,
-      });
-      this.getWxUserById();
-      this.$showToast("解绑成功");
-    },
-    bindWxId() {
-      let _this = this;
-      wx.login({
-        success: async function (res) {
-          if (res.code) {
-            var code = res.code; // 获取到用户的临时登录凭证 code
-            // 发送 code 到服务器端
-            let data = await bindWxOpenId({
-              code: res.code,
-              userId: getUserLocalStorageInfo().user.id,
-            });
-            console.log(data.errmsg);
-            if (data.errmsg == "成功") {
-              // _this.$showToast("绑定成功");
-              uni.showToast({
-                title: "绑定成功",
-                duration: 500,
-              });
-              _this.getWxUserById();
-            } else {
-              uni.showToast({
-                title: data.errMsg,
-                duration: 500,
-              });
-            }
-            console.log(data);
-            // ...
-          } else {
-            console.log("登录失败!" + res.errMsg);
-          }
-        },
-      });
-    },
     outLogin() {
       wx.showModal({
         title: "提示!",
@@ -214,7 +161,7 @@ export default {
           if (res.confirm) {
             uni.clearStorageSync();
             uni.reLaunch({
-              url: "/pages/login/login",
+              url: "/pages/chooseIdentity/index",
             });
           }
         },

+ 53 - 64
pages/subPackages/carmange/add.vue

@@ -6,33 +6,7 @@
         <span>车牌号</span>
       </div>
       <div>
-        <car-number v-model="carNumber"></car-number>
-      </div>
-      <div class="historyList">
-        <div class="historyList-item mt32">
-          <div>苏B51WK7</div>
-          <div class="btn">
-            <van-icon name="clear" color="rgba(138, 5, 84, 1)" />
-          </div>
-        </div>
-        <div class="historyList-item mt32">
-          <div>苏B51WK7</div>
-          <div class="btn">
-            <van-icon name="clear" color="rgba(138, 5, 84, 1)" />
-          </div>
-        </div>
-        <div class="historyList-item mt32">
-          <div>苏B51WK7</div>
-          <div class="btn">
-            <van-icon name="clear" color="rgba(138, 5, 84, 1)" />
-          </div>
-        </div>
-        <div class="historyList-item mt32">
-          <div>苏B51WK7</div>
-          <div class="btn">
-            <van-icon name="clear" color="rgba(138, 5, 84, 1)" />
-          </div>
-        </div>
+        <car-number v-model="carNo"></car-number>
       </div>
     </div>
 
@@ -47,36 +21,10 @@
             type="text"
             readonly
             placeholder="请选择"
-            v-model="formData.userName"
+            v-model="formData.driverName"
           />
         </div>
       </div>
-      <div class="historyList">
-        <div class="historyList-item mt32">
-          <div>宣师傅</div>
-          <div class="btn">
-            <van-icon name="clear" color="rgba(138, 5, 84, 1)" />
-          </div>
-        </div>
-        <div class="historyList-item mt32">
-          <div>陈师傅</div>
-          <div class="btn">
-            <van-icon name="clear" color="rgba(138, 5, 84, 1)" />
-          </div>
-        </div>
-        <div class="historyList-item mt32">
-          <div>刘师傅</div>
-          <div class="btn">
-            <van-icon name="clear" color="rgba(138, 5, 84, 1)" />
-          </div>
-        </div>
-        <div class="historyList-item mt32">
-          <div>于师傅</div>
-          <div class="btn">
-            <van-icon name="clear" color="rgba(138, 5, 84, 1)" />
-          </div>
-        </div>
-      </div>
     </div>
     <div class="form bd_bottom" style="display: block">
       <div style="display: flex">
@@ -86,10 +34,9 @@
         </div>
         <div class="form-value">
           <input
-            type="text"
-            readonly
+            type="number"
             placeholder="请选择"
-            v-model="formData.userName"
+            v-model="formData.driverUsername"
           />
         </div>
       </div>
@@ -105,12 +52,12 @@
             type="text"
             readonly
             placeholder="请选择"
-            v-model="formData.userName"
+            v-model="formData.qy"
           />
         </div>
       </div>
     </div>
-    <div class="form bd_bottom" style="display: block">
+    <!-- <div class="form bd_bottom" style="display: block">
       <div style="display: flex">
         <div class="form-label">
           <span class="form-requird">*</span>
@@ -125,31 +72,72 @@
           />
         </div>
       </div>
-    </div>
+    </div> -->
 
     <div class="foot-btn">
-      <van-button color="rgba(138, 5, 84, 1)" type="primary"> 提交 </van-button>
+      <van-button color="rgba(138, 5, 84, 1)" type="primary" @click="addCar()">
+        提交
+      </van-button>
     </div>
   </div>
 </template>
   
   <script>
 import CarNumber from "@/components/codecook-carnumber/codecook-carnumber.vue";
+import { getUserLocalStorageInfo } from "@/js_sdk/localUserInfo.js";
+import { addCar } from "@/js_sdk/chooseCarApi.js";
 
 export default {
   data() {
     return {
       formData: {},
-      carNumber: "",
+      carNo: "",
     };
   },
   components: {
     CarNumber,
   },
-  mounted() {
+  onLoad() {
     // demo();
+    this.formData.qy = getUserLocalStorageInfo().user.dispName;
+    this.formData.bizMainId = getUserLocalStorageInfo().biz.id;
+    this.formData.userId = getUserLocalStorageInfo().user.id;
+    this.againGetData();
+  },
+  methods: {
+    againGetData() {
+      let formData = { ...this.formData };
+      this.formData = {};
+      this.formData = formData;
+    },
+    async addCar() {
+      if (!this.carNo || this.carNo.length == 0) {
+        this.$showToast("请填写车牌号");
+        return;
+      }
+      if (!this.formData.driverName || this.formData.driverName.length == 0) {
+        this.$showToast("请填写司机姓名");
+        return;
+      }
+      if (
+        !this.formData.driverUsername ||
+        this.formData.driverUsername.length == 0
+      ) {
+        this.$showToast("请填写手机号");
+        return;
+      }
+      // if (this.formData.driverUsername) {
+      //   this.$showToast('请填写手机号')
+      // }
+      console.log(this.carNo);
+      this.formData.carNo = this.carNo;
+      let data = await addCar(this.formData);
+      if (data.errmsg == "成功") {
+        this.$showToast("提交成功");
+        uni.navigateBack({ delta: 1 });
+      }
+    },
   },
-  methods: {},
 };
 </script>
   
@@ -199,6 +187,7 @@ export default {
     }
   }
   .sj-select-title {
+    flex-wrap: wrap;
     display: flex;
     align-items: center;
     .legend {

+ 53 - 6
pages/subPackages/carmange/index.vue

@@ -9,14 +9,19 @@
       </div>
     </div>
     <div class="list">
-      <div class="list-row">
+      <div class="list-row" v-for="item in carList">
         <div class="left">
-          <div class="info">车牌号:苏B51WK7</div>
-          <div class="info1">司机姓名:苏B51WK7</div>
-          <div class="info1">手机号:苏B51WK7</div>
+          <div class="info">车牌号:{{ item.carNo }}</div>
+          <div class="info1">司机姓名:{{ item.driverName }}</div>
+          <div class="info1">手机号:{{ item.driverUsername }}</div>
         </div>
         <div class="right">
-          <van-icon size="48rpx" color="rgba(138, 5, 84, 1)" name="delete" />
+          <van-icon
+            @click="deteleRow(item)"
+            size="48rpx"
+            color="rgba(138, 5, 84, 1)"
+            name="delete"
+          />
         </div>
       </div>
     </div>
@@ -24,11 +29,53 @@
 </template>
 
 <script>
+import { bizCarListPage, deleteCar } from "@/js_sdk/chooseCarApi.js";
+import { getUserLocalStorageInfo } from "@/js_sdk/localUserInfo.js";
+import { dateCompare } from "../../../uni_modules/uni-datetime-picker/components/uni-datetime-picker/util";
+
 export default {
   data() {
-    return {};
+    return {
+      searchData: {
+        pageNum: 1,
+        pageSize: 10,
+      },
+      carList: [],
+    };
+  },
+  onShow() {
+    this.carList = [];
+    this.searchData.bizId = getUserLocalStorageInfo().biz.id;
+    this.bizCarListPage();
   },
   methods: {
+    async deteleRow(item) {
+      let that = this;
+      that.$showToast("删除成功");
+      wx.showModal({
+        title: "提示",
+        content: "是否确认删除该车辆记录",
+        async success(res) {
+          if (res.confirm) {
+            let data = await deleteCar({ id: item.id });
+            console.log(data);
+            if (data.errmsg == "成功") {
+              that.searchData.pageNum = 1;
+              that.carList = [];
+              that.bizCarListPage();
+            }
+            console.log(data);
+          } else if (res.cancel) {
+            console.log("用户点击取消");
+          }
+        },
+      });
+    },
+    async bizCarListPage() {
+      let { data } = await bizCarListPage(this.searchData);
+      console.log(data);
+      this.carList.push(...data.list);
+    },
     jumpPage(path) {
       console.log(path);
       uni.navigateTo({

+ 12 - 14
pages/subPackages/choosecar/index.vue

@@ -2,59 +2,57 @@
   <div class="choosecar">
     <img
       class="banner"
-      src="https://www.idea-co-sf.com/dockPic/choosecar/banner.png"
+      src="https://www.idea-sf.com/dockPic/choosecar/banner.png"
       alt=""
     />
     <div class="carlist">
       <div class="list-row1" @click="jummPage(item)" v-for="item in list">
         <img
-          src="https://www.idea-co-sf.com/dockPic/choosecar/car1.png"
+          src="https://www.idea-sf.com/dockPic/choosecar/car1.png"
           class="carimg"
           alt=""
         />
         <div style="margin-left: 28rpx">
           <div class="row-title">{{ item.label }}</div>
-          <div class="row-tip">
-            适用{{ item.label }}预约 工作时间为 暂无数据
-          </div>
+          <div class="row-tip">适用{{ item.label }}预约</div>
         </div>
         <img
-          src="https://www.idea-co-sf.com/dockPic/choosecar/jiantou.png"
+          src="https://www.idea-sf.com/dockPic/choosecar/jiantou.png"
           alt=""
           class="jiantou"
         />
       </div>
       <!-- <div class="list-row1" @click="jummPage()">
-        <img src="https://www.idea-co-sf.com/dockPic/choosecar/car2.png" class="carimg" alt="" />
+        <img src="https://www.idea-sf.com/dockPic/choosecar/car2.png" class="carimg" alt="" />
         <div style="margin-left: 28rpx">
           <div class="row-title">大型箱车</div>
           <div class="row-tip">适用普通车辆预约 工作时间为 8:30~16:30</div>
         </div>
-        <img src="https://www.idea-co-sf.com/dockPic/choosecar/jiantou.png" alt="" class="jiantou" />
+        <img src="https://www.idea-sf.com/dockPic/choosecar/jiantou.png" alt="" class="jiantou" />
       </div>
       <div class="list-row1" @click="jummPage()">
-        <img src="https://www.idea-co-sf.com/dockPic/choosecar/car3.png" class="carimg" alt="" />
+        <img src="https://www.idea-sf.com/dockPic/choosecar/car3.png" class="carimg" alt="" />
         <div style="margin-left: 28rpx">
           <div class="row-title">集装箱车辆</div>
           <div class="row-tip">适用集装箱车辆预约 工作时间为 8:00~17:00</div>
         </div>
-        <img src="https://www.idea-co-sf.com/dockPic/choosecar/jiantou.png" alt="" class="jiantou" />
+        <img src="https://www.idea-sf.com/dockPic/choosecar/jiantou.png" alt="" class="jiantou" />
       </div>
       <div class="list-row1" @click="jummPage()">
-        <img src="https://www.idea-co-sf.com/dockPic/choosecar/car4.png" class="carimg" alt="" />
+        <img src="https://www.idea-sf.com/dockPic/choosecar/car4.png" class="carimg" alt="" />
         <div style="margin-left: 28rpx">
           <div class="row-title">航空箱</div>
           <div class="row-tip">适用普通车辆预约 工作时间为 8:30~16:30</div>
         </div>
-        <img src="https://www.idea-co-sf.com/dockPic/choosecar/jiantou.png" alt="" class="jiantou" />
+        <img src="https://www.idea-sf.com/dockPic/choosecar/jiantou.png" alt="" class="jiantou" />
       </div>
       <div class="list-row1" @click="jummPage()">
-        <img src="https://www.idea-co-sf.com/dockPic/choosecar/car5.png" class="carimg" alt="" />
+        <img src="https://www.idea-sf.com/dockPic/choosecar/car5.png" class="carimg" alt="" />
         <div style="margin-left: 28rpx">
           <div class="row-title">海运柜</div>
           <div class="row-tip">适用普通车辆预约 工作时间为 8:30~16:30</div>
         </div>
-        <img src="https://www.idea-co-sf.com/dockPic/choosecar/jiantou.png" alt="" class="jiantou" />
+        <img src="https://www.idea-sf.com/dockPic/choosecar/jiantou.png" alt="" class="jiantou" />
       </div> -->
     </div>
   </div>

+ 67 - 18
pages/subPackages/password/index.vue

@@ -48,7 +48,7 @@
         </div>
 
         <div class="foot-box">
-          <div class="but" @click="editPassword">保存</div>
+          <div class="but" @click="editBizPassword">保存</div>
         </div>
       </div>
     </div>
@@ -56,7 +56,14 @@
 </template>
   
   <script>
-import { editPassword, getUserLocalStorageInfo } from "@/js_sdk/http";
+import {
+  editBizPassword,
+  editFramePassword,
+  editDriverPassword,
+  getUserLocalStorageInfo,
+} from "@/js_sdk/http";
+import w_md5 from "@/js_sdk/zww-md5/w_md5.js";
+
 // import auth from "@/service/auth";
 export default {
   name: "PasswordEdit",
@@ -76,7 +83,7 @@ export default {
     getShow(type) {
       this["show" + type] = !this["show" + type];
     },
-    editPassword() {
+    editBizPassword() {
       if (this.password === "") {
         this.$showToast("请填写密码");
         return false;
@@ -100,21 +107,63 @@ export default {
         );
         return false;
       }
-      editPassword({
-        userId: getUserLocalStorageInfo().user.id,
-        newPassword: this.password,
-        oldPassword: this.lastPassword,
-      }).then((res) => {
-        if (res.errno === 0 && res.data) {
-          uni.clearStorageSync();
-          uni.reLaunch({
-            url: "/pages/login/login",
-          });
-          this.$showToast("修改成功,请重新登陆");
-        } else {
-          this.$showToast(res.errmsg);
-        }
-      });
+      if (getUserLocalStorageInfo().userType == "BIZ") {
+        console.log(getUserLocalStorageInfo().userType);
+        editBizPassword({
+          // w_md5.hex_md5_32
+          id: getUserLocalStorageInfo().user.id,
+          newPassword: w_md5.hex_md5_32(this.password),
+          oldPassword: w_md5.hex_md5_32(this.lastPassword),
+        }).then((res) => {
+          if (res.errno === 0 && res.data) {
+            uni.clearStorageSync();
+            uni.reLaunch({
+              url: "/pages/login/login",
+            });
+            this.$showToast("修改成功,请重新登陆");
+          } else {
+            this.$showToast(res.errmsg);
+          }
+        });
+      }
+      if (getUserLocalStorageInfo().userType == "FRAME") {
+        console.log(getUserLocalStorageInfo().userType);
+        editFramePassword({
+          // w_md5.hex_md5_32
+          id: getUserLocalStorageInfo().user.id,
+          newPassword: w_md5.hex_md5_32(this.password),
+          oldPassword: w_md5.hex_md5_32(this.lastPassword),
+        }).then((res) => {
+          if (res.errno === 0 && res.data) {
+            uni.clearStorageSync();
+            uni.reLaunch({
+              url: "/pages/login/login",
+            });
+            this.$showToast("修改成功,请重新登陆");
+          } else {
+            this.$showToast(res.errmsg);
+          }
+        });
+      }
+      if (getUserLocalStorageInfo().userType == "USER") {
+        console.log(getUserLocalStorageInfo().userType);
+        editDriverPassword({
+          // w_md5.hex_md5_32
+          id: getUserLocalStorageInfo().user.id,
+          newPassword: w_md5.hex_md5_32(this.password),
+          oldPassword: w_md5.hex_md5_32(this.lastPassword),
+        }).then((res) => {
+          if (res.errno === 0 && res.data) {
+            uni.clearStorageSync();
+            uni.reLaunch({
+              url: "/pages/login/login",
+            });
+            this.$showToast("修改成功,请重新登陆");
+          } else {
+            this.$showToast(res.errmsg);
+          }
+        });
+      }
     },
   },
 };

+ 303 - 123
pages/subPackages/qy_yy/index.vue

@@ -5,8 +5,8 @@
         <span class="form-requird">*</span>
         <span>供应商</span>
       </div>
-      <div>
-        <input type="text" placeholder="请输入" v-model="formData.userName" />
+      <div @click="oepnGysPopup()">
+        {{ form.gysName ? form.gysName : "请选择" }}
       </div>
     </div>
     <div class="form bd_bottom pdt32 pdb32" style="display: block">
@@ -15,34 +15,26 @@
         <span>车牌号</span>
       </div>
       <div>
-        <car-number v-model="carNumber"></car-number>
+        <car-number ref="carNum" v-model="carNumber"></car-number>
       </div>
-      <div class="historyList">
-        <div class="historyList-item mt32">
-          <div>苏B51WK7</div>
-          <div class="btn">
-            <van-icon name="clear" color="rgba(138, 5, 84, 1)" />
-          </div>
-        </div>
-        <div class="historyList-item mt32">
-          <div>苏B51WK7</div>
-          <div class="btn">
-            <van-icon name="clear" color="rgba(138, 5, 84, 1)" />
-          </div>
-        </div>
-        <div class="historyList-item mt32">
-          <div>苏B51WK7</div>
-          <div class="btn">
-            <van-icon name="clear" color="rgba(138, 5, 84, 1)" />
-          </div>
-        </div>
-        <div class="historyList-item mt32">
-          <div>苏B51WK7</div>
-          <div class="btn">
-            <van-icon name="clear" color="rgba(138, 5, 84, 1)" />
-          </div>
-        </div>
+    </div>
+    <div class="form bd_bottom">
+      <div class="form-label">
+        <span class="form-requird">*</span>
+        <span>常用车辆</span>
+      </div>
+      <div class="form-value" style="min-width: 435rpx; width: auto">
+        <picker
+          @change="selectUsedCar"
+          :value="index"
+          :range="usedCarList"
+          range-key="label"
+        >
+          <!-- <view class="uni-input">{{ array[index] }}</view> -->
+          {{ usedCar ? usedCar : "请选择" }}
+        </picker>
       </div>
+      <van-icon name="arrow" />
     </div>
     <div class="form bd_bottom">
       <div class="form-label">
@@ -50,7 +42,15 @@
         <span>车辆类型</span>
       </div>
       <div class="form-value">
-        <input type="text" :readonly="true" placeholder="请选择" v-model="formData.userName" />
+        <picker
+          @change="selectCarType"
+          :value="index"
+          :range="dockCarTypeList"
+          range-key="label"
+        >
+          <!-- <view class="uni-input">{{ array[index] }}</view> -->
+          {{ form.carType ? form.carType : "请选择" }}
+        </picker>
       </div>
       <van-icon name="arrow" />
     </div>
@@ -61,33 +61,12 @@
           <span>司机姓名</span>
         </div>
         <div class="form-value">
-          <input type="text" readonly placeholder="请选择" v-model="formData.userName" />
-        </div>
-      </div>
-      <div class="historyList">
-        <div class="historyList-item mt32">
-          <div>宣师傅</div>
-          <div class="btn">
-            <van-icon name="clear" color="rgba(138, 5, 84, 1)" />
-          </div>
-        </div>
-        <div class="historyList-item mt32">
-          <div>陈师傅</div>
-          <div class="btn">
-            <van-icon name="clear" color="rgba(138, 5, 84, 1)" />
-          </div>
-        </div>
-        <div class="historyList-item mt32">
-          <div>刘师傅</div>
-          <div class="btn">
-            <van-icon name="clear" color="rgba(138, 5, 84, 1)" />
-          </div>
-        </div>
-        <div class="historyList-item mt32">
-          <div>于师傅</div>
-          <div class="btn">
-            <van-icon name="clear" color="rgba(138, 5, 84, 1)" />
-          </div>
+          <input
+            type="text"
+            readonly
+            placeholder="请选择"
+            v-model="form.driverName"
+          />
         </div>
       </div>
     </div>
@@ -98,33 +77,12 @@
           <span>手机号</span>
         </div>
         <div class="form-value">
-          <input type="text" readonly placeholder="请选择" v-model="formData.userName" />
-        </div>
-      </div>
-      <div class="historyList">
-        <div class="historyList-item mt32">
-          <div>13921516068</div>
-          <div class="btn">
-            <van-icon name="clear" color="rgba(138, 5, 84, 1)" />
-          </div>
-        </div>
-        <div class="historyList-item mt32">
-          <div>13921516068</div>
-          <div class="btn">
-            <van-icon name="clear" color="rgba(138, 5, 84, 1)" />
-          </div>
-        </div>
-        <div class="historyList-item mt32">
-          <div>13921516068</div>
-          <div class="btn">
-            <van-icon name="clear" color="rgba(138, 5, 84, 1)" />
-          </div>
-        </div>
-        <div class="historyList-item mt32">
-          <div>13921516068</div>
-          <div class="btn">
-            <van-icon name="clear" color="rgba(138, 5, 84, 1)" />
-          </div>
+          <input
+            type="text"
+            readonly
+            placeholder="请选择"
+            v-model="form.driverUsername"
+          />
         </div>
       </div>
     </div>
@@ -134,7 +92,7 @@
         <span>装卸类型:</span>
       </div>
       <div>
-        <input type="text" placeholder="请输入" v-model="formData.userName" />
+        {{ form.loadType }}
       </div>
     </div>
     <div class="form bd_bottom">
@@ -143,30 +101,38 @@
         <span>件数/托盘数:</span>
       </div>
       <div>
-        <input type="text" placeholder="请输入" v-model="formData.userName" />
+        <input type="text" placeholder="请输入" v-model="form.loadNum" />
       </div>
     </div>
-    <div class="form bd_bottom">
+    <div class="form bd_bottom" v-if="mtId">
       <div class="form-label">
         <span class="form-requird">*</span>
         <span>预约日期:</span>
       </div>
-      <div>
-        <input style="width: 400rpx" type="text" placeholder="请输入" v-model="formData.userName" />
+      <div class="uni-input">
+        <picker @change="selectYYDate" :value="index" :range="yydateList">
+          <!-- <view class="uni-input">{{ array[index] }}</view> -->
+          {{ form.reservationDate ? form.reservationDate : "请选择" }}
+        </picker>
+        <!--           {{form.reservationDate?form.reservationDate:''}} -->
       </div>
       <van-icon name="arrow" />
     </div>
 
     <div class="bottom-form mt32">
       <div class="mt-select">
-        <div class="select-item">1号码头</div>
-        <div class="select-item">1号码头</div>
-        <div class="select-item">1号码头</div>
-        <div class="select-item">1号码头</div>
-        <div class="select-item">1号码头</div>
-        <div class="select-item">1号码头</div>
-        <div class="select-item">1号码头</div>
-        <div class="select-item">1号码头</div>
+        <div
+          class="select-item"
+          :style="{
+            background: item.value == mtId ? '#8A0554' : '#f5f7fa',
+            color: item.value == mtId ? 'white' : 'black',
+          }"
+          v-for="item in mtList"
+          @click="getMtId(item)"
+          :key="item.value"
+        >
+          {{ item.label }}
+        </div>
       </div>
       <div class="sj-select-title">
         <div class="sj-label">
@@ -181,28 +147,50 @@
           <div class="purple-legend"></div>
           <div>已占用</div>
         </div>
+        <div class="legend">
+          <div class="ysd-legend"></div>
+          <div>已锁定</div>
+        </div>
       </div>
       <div class="sj-select">
-        <div class="select-item">9:00</div>
-        <div class="select-item">9:00</div>
-        <div class="select-item">9:00</div>
-        <div class="select-item">9:00</div>
-        <div class="select-item">9:00</div>
-        <div class="select-item">9:00</div>
-        <div class="select-item">9:00</div>
-        <div class="select-item">9:00</div>
-        <div class="select-item">9:00</div>
-        <div class="select-item">9:00</div>
-        <div class="select-item">9:00</div>
-        <div class="select-item">9:00</div>
-        <div class="select-item">9:00</div>
+        <div
+          :class="
+            item.statusStr == '已预约'
+              ? 'select-item yyyStatus'
+              : item.statusStr == '已锁定'
+              ? 'select-item ysdStatus'
+              : 'select-item '
+          "
+          @click="timeSelect(item)"
+          v-for="item in kxTimeList"
+        >
+          {{ item.timeStart }}~{{ item.timeEnd }}
+          <van-icon
+            name="success"
+            v-if="
+              form.dockSettingDetailId == item.dockSettingDetailId &&
+              form.dockSettingId == item.dockSettingId &&
+              form.timeEnd == item.timeEnd &&
+              form.timeStart == item.timeStart
+            "
+          />
+        </div>
       </div>
 
       <div class="foot-btn">
-        <van-button color="rgba(0, 0, 0, 0.05)" type="default" class="cancel">
-          取消
+        <van-button
+          color="rgba(0, 0, 0, 0.05)"
+          type="default"
+          class="cancel"
+          @click="cancelYY"
+        >
+          返回
         </van-button>
-        <van-button color="rgba(138, 5, 84, 1)" type="primary">
+        <van-button
+          color="rgba(138, 5, 84, 1)"
+          type="primary"
+          @click="submitReservationByBiz()"
+        >
           提交
         </van-button>
       </div>
@@ -212,32 +200,217 @@
 
 <script>
 import CarNumber from "@/components/codecook-carnumber/codecook-carnumber.vue";
-import { getDockCarType, getCarNoByBizAndUser } from "@/js_sdk/chooseCarApi.js";
-import { getUserLocalStorageInfo } from "@/js_sdk/localUserInfo.js"
+import {
+  getDockCarType,
+  getCarNoByBizAndUser,
+  getBizByUsername,
+  getDockSelectList,
+  getDockLoadType,
+  getAvailableDateList,
+  getDockTimeList,
+  submitReservationByBiz,
+  getHistoryContactPhoneByUserId,
+  getCarDataByBiz,
+} from "@/js_sdk/chooseCarApi.js";
+import { getUserLocalStorageInfo } from "@/js_sdk/localUserInfo.js";
 export default {
   data() {
     return {
       formData: {},
       carNumber: "",
+      gysList: [],
+      dockCarTypeList: [],
+      form: {},
+      mtList: [],
+      yydateList: [],
+      mtId: "",
+      yydateList: [],
+      usedCarList: [],
+      kxTimeList: [],
+      usedCar: "",
     };
   },
   components: {
     CarNumber,
   },
-  onLoad() {
-    // demo();
-    console.log(getUserLocalStorageInfo().user.id)
-    getCarNoByBizAndUser({
-      bizId: getUserLocalStorageInfo().biz.id,
-      userId: getUserLocalStorageInfo().user.id
-    })
+  onLoad(e) {
+    this.getDockCarType();
+    this.form.bizId = getUserLocalStorageInfo().biz.id;
+    this.form.loadType = e.zxtype.replace("预约", "");
+    console.log(e.zxtype);
+    this.form.carType = e.carTypeLabel;
+    this.form.gysName = getUserLocalStorageInfo().user.dispName;
+    this.getDockSelectList();
+    this.againRenderData();
+    this.getCarDataByBiz();
+  },
+  methods: {
+    cancelYY() {
+      uni.navigateBack();
+    },
+    async submitReservationByBiz() {
+      if (!this.form.bizId) {
+        this.$showToast("请选择供应商");
+        return;
+      }
+      if (!this.carNumber) {
+        this.$showToast("请输入车牌号");
+        return;
+      }
+      if (!this.form.carType) {
+        this.$showToast("请选择车辆类型");
+        return;
+      }
+      if (!this.form.driverName) {
+        this.$showToast("请输入司机姓名");
+        return;
+      }
+      if (!this.form.driverName) {
+        this.$showToast("请输入司机姓名");
+        return;
+      }
+      if (!this.form.driverUsername) {
+        this.$showToast("请输入手机号/账号");
+        return;
+      }
+      if (!this.form.timeStart || !this.form.timeEnd) {
+        this.$showToast("请选择预约时间段");
+        return;
+      }
+      if (!this.form.loadNum) {
+        this.$showToast("请填写托盘数");
+        return;
+      }
+      // if (!this.form.driverContactPhone) {
+      //   this.$showToast("联系电话");
+      //   return;
+      // }
+      let res = await submitReservationByBiz({
+        ...this.form,
+        userId: getUserLocalStorageInfo().user.id,
+        carNo: this.carNumber,
+      });
+      if (res.errmsg == "成功") {
+        this.$showToast("预约成功");
+        uni.navigateBack({ delta: 2 });
+      }
+      console.log(res);
+    },
+    timeSelect(item) {
+      console.log(item);
+      if (item.statusStr == "已锁定") {
+        this.$showToast("该时段已被锁定,请勿选择");
+        return;
+      }
+      if (item.statusStr == "已预约") {
+        this.$showToast("该时段已被预约,请勿选择");
+        return;
+      }
+      console.log(item);
+      this.form.dockSettingDetailId = item.dockSettingDetailId;
+      this.form.dockSettingId = item.dockSettingId;
+      this.form.timeEnd = item.timeEnd;
+      this.form.dockId = item.dockId;
+      this.form.timeStart = item.timeStart;
+      let form = { ...this.form };
+      this.form = {};
+      this.form = form;
+    },
+    selectUsedCar({ detail }) {
+      console.log(detail.value);
+      let usedCarList = JSON.parse(
+        JSON.stringify(this.usedCarList[detail.value])
+      );
+      console.log(usedCarList);
+      this.form.driverName = usedCarList.driver_name;
+      this.form.driverId = usedCarList.driver_id;
+      this.form.driverUsername = usedCarList.driver_username;
+      // this.form.driverUsername = usedCarList.driver_username0
+      this.usedCar = usedCarList.label;
+      this.$refs.carNum.setCarNumValue(usedCarList.car_no);
+      console.log(this.usedCarList[detail.value]);
+    },
+    async getCarDataByBiz() {
+      let { data } = await getCarDataByBiz({
+        bizId: getUserLocalStorageInfo().biz.id,
+      });
+      this.usedCarList = data.map((e) => {
+        return {
+          label: `${e.car_no}-${e.driver_name}-${e.driver_username}`,
+          car_no: e.car_no,
+          driver_name: e.driver_name,
+          driver_username: e.driver_username,
+          driver_id: e.driver_id,
+        };
+      });
+      console.log("getCarDataByBiz", data);
+    },
+    async getDockCarType() {
+      let { data } = await getDockCarType();
+      this.dockCarTypeList = data;
+      console.log(data);
+    },
+    async selectYYDate({ detail }) {
+      console.log(this.yydateList[detail.value]);
+      this.form.reservationDate = this.yydateList[detail.value];
+      let form = { ...this.form };
+      this.form = {};
+      this.form = form;
+      let { data } = await getDockTimeList({
+        dateStr: this.form.reservationDate,
+        dockId: this.mtId,
+        bizId: this.form.bizId,
+      });
+      this.kxTimeList = data;
+      this.form.dockSettingDetailId = "";
+      this.form.dockSettingId = "";
+      this.form.timeEnd = "";
+      this.form.dockId = "";
+      this.form.timeStart = "";
+    },
+    async getMtId(item) {
+      this.kxTimeList = [];
+      this.form.reservationDate = "";
+      console.log(item);
+      let { data } = await getAvailableDateList({ dockId: item.value });
+      this.mtId = item.value;
+      this.yydateList = data;
+    },
+    selectCarType({ detail }) {
+      console.log(detail);
+      this.form.carType = this.dockCarTypeList[detail.value].label;
+      console.log(this.dockCarTypeList[detail.value]);
+      let form = { ...this.form };
+      this.form = {};
+      this.form = form;
+      this.getDockSelectList();
+    },
+    async getDockSelectList() {
+      let { data } = await getDockSelectList({
+        carType: this.form.carType,
+        loadType: this.form.loadType.replace("预约", ""),
+      });
+      this.mtList = data;
+    },
+    againRenderData() {
+      let form = { ...this.form };
+      this.form = {};
+      this.form = form;
+    },
   },
-  methods: {},
 };
 </script>
 
 <style lang="scss">
 .qy_yy {
+  .yyyStatus {
+    background: #8e8be4 !important;
+    color: white;
+  }
+  .ysdStatus {
+    background: #ededed !important;
+    color: #333333;
+  }
   .foot-btn {
     margin-top: 32rpx;
     margin-bottom: 32rpx;
@@ -284,6 +457,7 @@ export default {
   }
 
   .sj-select-title {
+    flex-wrap: wrap;
     display: flex;
     align-items: center;
 
@@ -305,7 +479,13 @@ export default {
       border-radius: 0rpx 0rpx 0rpx 0rpx;
       border: 2rpx solid #e9e9e9;
     }
-
+    .ysd-legend {
+      margin-right: 16rpx;
+      width: 28rpx;
+      height: 28rpx;
+      background: #ededed;
+      border-radius: 0rpx 0rpx 0rpx 0rpx;
+    }
     .purple-legend {
       margin-right: 16rpx;
       width: 28rpx;

+ 24 - 35
pages/subPackages/sj_history/edit.vue

@@ -35,9 +35,6 @@
           @click="selectCarNumber(item)"
         >
           <div>{{ item }}</div>
-          <div class="btn">
-            <van-icon name="clear" color="rgba(138, 5, 84, 1)" />
-          </div>
         </div>
       </div>
     </div>
@@ -81,9 +78,6 @@
           @click="selectName(item)"
         >
           <div>{{ item }}</div>
-          <div class="btn">
-            <van-icon name="clear" color="rgba(138, 5, 84, 1)" />
-          </div>
         </div>
       </div>
     </div>
@@ -105,27 +99,19 @@
       <!-- <div class="historyList">
         <div class="historyList-item mt32">
           <div>13921516068</div>
-          <div class="btn">
-            <van-icon name="clear" color="rgba(138, 5, 84, 1)" />
-          </div>
+ 
         </div>
         <div class="historyList-item mt32">
           <div>13921516068</div>
-          <div class="btn">
-            <van-icon name="clear" color="rgba(138, 5, 84, 1)" />
-          </div>
+ 
         </div>
         <div class="historyList-item mt32">
           <div>13921516068</div>
-          <div class="btn">
-            <van-icon name="clear" color="rgba(138, 5, 84, 1)" />
-          </div>
+ 
         </div>
         <div class="historyList-item mt32">
           <div>13921516068</div>
-          <div class="btn">
-            <van-icon name="clear" color="rgba(138, 5, 84, 1)" />
-          </div>
+ 
         </div>
       </div> -->
     </div>
@@ -151,9 +137,6 @@
           v-for="item in telList"
         >
           <div>{{ item }}</div>
-          <div class="btn">
-            <van-icon name="clear" color="rgba(138, 5, 84, 1)" />
-          </div>
         </div>
       </div>
     </div>
@@ -224,6 +207,8 @@
           :class="
             item.statusStr == '已预约'
               ? 'select-item yyyStatus'
+              : item.statusStr == '已锁定'
+              ? 'select-item ysdStatus'
               : 'select-item '
           "
           :key="item.timeEnd"
@@ -245,7 +230,7 @@
 
       <div class="foot-btn">
         <van-button color="rgba(0, 0, 0, 0.05)" type="default" class="cancel">
-          取消
+          返回
         </van-button>
         <van-button
           color="rgba(138, 5, 84, 1)"
@@ -293,7 +278,9 @@ export default {
   data() {
     return {
       gysPopupStatus: false,
-      formData: {},
+      formData: {
+        carType: "",
+      },
       carNumber: "",
       gysList: [],
       form: {},
@@ -312,6 +299,7 @@ export default {
     CarNumber,
   },
   onLoad(e) {
+    this.form.id = e.id;
     console.log(e);
     this.getReservationVoById(e.id);
     this.getHistoryDriverNameByUserId();
@@ -321,17 +309,11 @@ export default {
   },
   methods: {
     timeSelect(item) {
-      console.log(item);
-      console.log(item.dockId);
-      console.log(this.checkTimeData.dockId);
-      console.log(
-        item.statusStr == "已预约" &&
-          item.dockSettingDetailId != this.checkTimeData.dockSettingDetailId &&
-          item.dockSettingId != this.checkTimeData.dockSettingId &&
-          item.timeEnd != this.checkTimeData.timeEnd &&
-          item.timeStart != this.checkTimeData.timeStart &&
-          item.dockId != this.checkTimeData.dockId
-      );
+      if (item.statusStr == "已锁定") {
+        this.$showToast("该时段已被锁定,请勿选择");
+        return;
+      }
+
       if (item.statusStr == "已预约") {
         if (
           item.dockSettingDetailId == this.checkTimeData.dockSettingDetailId &&
@@ -425,6 +407,8 @@ export default {
       this.form.loadType = data.loadType;
       this.form.reservationDate = data.reservationDate;
       this.dockId = data.dockId;
+      this.form.dockId = data.dockId;
+
       this.mtId = data.dockId;
       this.form.loadType = data.loadType;
       this.form.driverUsername = data.driverUsername;
@@ -444,7 +428,9 @@ export default {
       this.form.dockSettingId = data.dockSettingId;
       this.form.timeEnd = data.timeEnd;
       this.form.timeStart = data.timeStart;
-      this.$refs.carNum.setCarNumValue(data.carNo);
+      this.$refs.carNum.setCarNumValue(
+        data.carNo.length == 7 ? data.carNo + " " : data.carNo
+      );
       this.getDockSelectList();
       this.getAvailableDateList();
       this.getCarNoByBizAndUser();
@@ -573,6 +559,7 @@ export default {
     padding: 20rpx;
     box-sizing: border-box;
     .popupListBox-row {
+      margin-bottom: 15rpx;
       display: flex;
       align-items: center;
       justify-content: space-between;
@@ -612,6 +599,7 @@ export default {
     }
   }
   .sj-select-title {
+    flex-wrap: wrap;
     display: flex;
     align-items: center;
     .legend {
@@ -700,6 +688,7 @@ export default {
     }
   }
   .sj-select-title {
+    flex-wrap: wrap;
     display: flex;
     align-items: center;
     .legend {

+ 111 - 14
pages/subPackages/sj_history/index.vue

@@ -2,7 +2,7 @@
   <div class="sj_history">
     <van-tabs :active="active" color="rgba(138, 5, 84, 1)" @change="onChange">
       <van-tab title="待签到"></van-tab>
-      <van-tab title="待入"></van-tab>
+      <van-tab title="待入"></van-tab>
       <van-tab title="装卸中"></van-tab>
       <van-tab title="已完成"></van-tab>
       <van-tab title="已过期"></van-tab>
@@ -12,7 +12,7 @@
     <div class="list">
       <div class="list-item" v-for="item in list" :key="item.id">
         <div class="status qd" v-if="item.status == 0">待签到</div>
-        <div class="status rz" v-if="item.status == 1">待入厂</div>
+        <div class="status rc" v-if="item.status == 1">待入厂</div>
         <div class="status zx" v-if="item.status == 2">装卸中</div>
         <div class="status wc" v-if="item.status == 3">已完成</div>
         <div class="status gq" v-if="item.status == 4">已过期</div>
@@ -20,24 +20,65 @@
 
         <div
           class="time"
-          @click="jumpPage('/pages/subPackages/sj_history/edit?id=' + item.id)"
+          @click="
+            jumpPage('/pages/subPackages/sj_history/detail?id=' + item.id)
+          "
         >
           {{ item.reservationDate }}
-          {{ item.timeStart + "~" + item.timeEnd }} 装货
+          {{ item.timeStart + "~" + item.timeEnd }} {{ item.loadType }}
         </div>
-        <div class="info">{{ item.loadNum }}个托盘</div>
-        <div class="info1">车辆:{{ item.carNo }}/{{ item.carType }}</div>
-        <div class="info1">司机:{{ item.driverName }}</div>
-        <div v-if="item.status == 5" class="info1 qxrq">
-          取消日期:2024-07-31 15:00
+        <div
+          @click="
+            jumpPage('/pages/subPackages/sj_history/detail?id=' + item.id)
+          "
+          class="info"
+        >
+          {{ item.loadNum }}个托盘
+        </div>
+        <div
+          @click="
+            jumpPage('/pages/subPackages/sj_history/detail?id=' + item.id)
+          "
+          class="info1"
+        >
+          车辆:{{ item.carNo }}/{{ item.carType }}
+        </div>
+        <div
+          @click="
+            jumpPage('/pages/subPackages/sj_history/detail?id=' + item.id)
+          "
+          class="info1"
+        >
+          司机:{{ item.driverName }}
+        </div>
+        <div
+          @click="
+            jumpPage('/pages/subPackages/sj_history/detail?id=' + item.id)
+          "
+          class="info1"
+          v-if="item.createUser"
+        >
+          预约账号:{{ item.createUser }}
+        </div>
+
+        <div
+          @click="
+            jumpPage('/pages/subPackages/sj_history/detail?id=' + item.id)
+          "
+          v-if="item.status == 5"
+          class="info1 qxrq"
+        >
+          取消日期:{{ item.cancelTime }}
         </div>
 
         <div class="bottborder"></div>
-        <div class="foot-btn">
+        <!--  -->
+        <div class="foot-btn" v-if="item.status == 0">
           <van-button
             color="rgba(138, 5, 84, 1)"
             plain
             type="default"
+            v-if="nowTimeCheck(item.reservationDate, item.status)"
             size="small"
             @click="cancelRow(item)"
             >取消</van-button
@@ -47,11 +88,34 @@
             color="rgba(138, 5, 84, 1)"
             type="default"
             size="small"
+            v-if="nowTimeCheck(item.reservationDate, item.status)"
             @click="
               jumpPage('/pages/subPackages/sj_history/edit?id=' + item.id)
             "
             >修改</van-button
           >
+          <van-button
+            style="margin-left: 24rpx"
+            color="rgba(138, 5, 84, 1)"
+            type="default"
+            size="small"
+            @click="
+              jumpPage('/pages/subPackages/yy_history/code?id=' + item.id)
+            "
+            >签到码</van-button
+          >
+        </div>
+        <div class="foot-btn" v-if="item.status == 2">
+          <van-button
+            style="margin-left: 24rpx"
+            color="rgba(138, 5, 84, 1)"
+            type="default"
+            size="small"
+            @click="
+              jumpPage('/pages/subPackages/yy_history/code?id=' + item.id)
+            "
+            >签退码</van-button
+          >
         </div>
       </div>
     </div>
@@ -59,7 +123,7 @@
 </template>
 
 <script>
-import { reservationListPage } from "@/js_sdk/sjTools.js";
+import { reservationListPage, cancelReservation } from "@/js_sdk/sjTools.js";
 import { getUserLocalStorageInfo } from "@/js_sdk/localUserInfo.js";
 
 export default {
@@ -70,6 +134,7 @@ export default {
         pageSize: 10,
         status: 0,
       },
+      active: 0,
       total: 0,
       list: [],
     };
@@ -77,7 +142,6 @@ export default {
   onLoad() {
     console.log(getUserLocalStorageInfo().user.id);
     this.searchData.userId = getUserLocalStorageInfo().user.id;
-
     this.reservationListPage();
   },
   onReachBottom() {
@@ -86,8 +150,41 @@ export default {
     this.reservationListPage();
   },
   methods: {
-    cancelRow(e) {
+    nowTimeCheck(yyTime, status) {
+      const timeString = `${yyTime} 08`.replaceAll("-", "/");
+
+      const fullTimeString = `${timeString}:00:00`;
+      console.log(fullTimeString);
+      const date = new Date(fullTimeString);
+      const timestamp = date.getTime();
+      // 预约日期的当天八点时间戳
+      // console.log(timestamp);
+      if (Date.now() < timestamp && status == 0) {
+        return true;
+      }
+    },
+    async cancelRow(e) {
+      let that = this;
       console.log(e);
+      // cancelReservation
+      wx.showModal({
+        title: "提示!",
+        content: "是否取消该预约",
+        success: async function (res) {
+          if (res.confirm) {
+            let data = await cancelReservation({
+              id: e.id,
+              userId: getUserLocalStorageInfo().user.id,
+            });
+            if (data.errmsg == "成功") {
+              that.$showToast("取消成功");
+              that.searchData.pageNum = 1;
+              that.list = [];
+              that.reservationListPage();
+            }
+          }
+        },
+      });
     },
     onChange(e) {
       console.log(e);
@@ -99,7 +196,7 @@ export default {
         3: 3,
         4: 4,
         5: 5,
-        6: null,
+        6: "",
       };
       this.searchData.status = statusList[e.detail.index];
       this.reservationListPage();

+ 48 - 10
pages/subPackages/sj_yy/index.vue

@@ -25,9 +25,9 @@
           @click="selectCarNumber(item)"
         >
           <div>{{ item }}</div>
-          <div class="btn">
+          <!-- <div class="btn">
             <van-icon name="clear" color="rgba(138, 5, 84, 1)" />
-          </div>
+          </div> -->
         </div>
       </div>
     </div>
@@ -71,9 +71,9 @@
           @click="selectName(item)"
         >
           <div>{{ item }}</div>
-          <div class="btn">
+          <!-- <div class="btn">
             <van-icon name="clear" color="rgba(138, 5, 84, 1)" />
-          </div>
+          </div> -->
         </div>
       </div>
     </div>
@@ -123,9 +123,9 @@
           v-for="item in telList"
         >
           <div>{{ item }}</div>
-          <div class="btn">
+          <!-- <div class="btn">
             <van-icon name="clear" color="rgba(138, 5, 84, 1)" />
-          </div>
+          </div> -->
         </div>
       </div>
     </div>
@@ -190,12 +190,18 @@
           <div class="purple-legend"></div>
           <div>已占用</div>
         </div>
+        <div class="legend">
+          <div class="ysd-legend"></div>
+          <div>已锁定</div>
+        </div>
       </div>
       <div class="sj-select">
         <div
           :class="
             item.statusStr == '已预约'
               ? 'select-item yyyStatus'
+              : item.statusStr == '已锁定'
+              ? 'select-item ysdStatus'
               : 'select-item '
           "
           @click="timeSelect(item)"
@@ -215,8 +221,13 @@
       </div>
 
       <div class="foot-btn">
-        <van-button color="rgba(0, 0, 0, 0.05)" type="default" class="cancel">
-          取消
+        <van-button
+          color="rgba(0, 0, 0, 0.05)"
+          type="default"
+          class="cancel"
+          @click="cancelYY"
+        >
+          返回
         </van-button>
         <van-button
           color="rgba(138, 5, 84, 1)"
@@ -298,6 +309,9 @@ export default {
     this.getHistoryContactPhoneByUserId();
   },
   methods: {
+    cancelYY() {
+      uni.navigateBack();
+    },
     selectDriverContactPhone(e) {
       this.form.driverContactPhone = e;
       let form = { ...this.form };
@@ -340,7 +354,14 @@ export default {
         this.$showToast("联系电话");
         return;
       }
-
+      if (!this.form.timeStart || !this.form.timeEnd) {
+        this.$showToast("请选择预约时间段");
+        return;
+      }
+      if (!this.form.loadNum) {
+        this.$showToast("请填写托盘数");
+        return;
+      }
       let res = await submitReservation({
         ...this.form,
         userId: getUserLocalStorageInfo().user.id,
@@ -354,6 +375,10 @@ export default {
       console.log(res);
     },
     timeSelect(item) {
+      if (item.statusStr == "已锁定") {
+        this.$showToast("该时段已被锁定,请勿选择");
+        return;
+      }
       if (item.statusStr == "已预约") {
         this.$showToast("该时段已被预约,请重新选择");
         return;
@@ -437,7 +462,6 @@ export default {
       this.$refs.carNum.setCarNumValue(e);
       // this.carNumber = e;
     },
-    oepnGysPopup() {},
     oepnGysPopup() {
       this.gysPopupStatus = true;
     },
@@ -473,11 +497,16 @@ export default {
     background: #8e8be4 !important;
     color: white;
   }
+  .ysdStatus {
+    background: #ededed !important;
+    color: #333333;
+  }
   .popupListBox {
     height: 800rpx;
     padding: 20rpx;
     box-sizing: border-box;
     .popupListBox-row {
+      margin-bottom: 15rpx;
       display: flex;
       align-items: center;
       justify-content: space-between;
@@ -522,8 +551,10 @@ export default {
     }
   }
   .sj-select-title {
+    flex-wrap: wrap;
     display: flex;
     align-items: center;
+
     .legend {
       display: flex;
       align-items: center;
@@ -540,6 +571,13 @@ export default {
       border-radius: 0rpx 0rpx 0rpx 0rpx;
       border: 2rpx solid #e9e9e9;
     }
+    .ysd-legend {
+      margin-right: 16rpx;
+      width: 28rpx;
+      height: 28rpx;
+      background: #ededed;
+      border-radius: 0rpx 0rpx 0rpx 0rpx;
+    }
     .purple-legend {
       margin-right: 16rpx;
       width: 28rpx;

+ 71 - 19
pages/subPackages/yy_history/code.vue

@@ -4,61 +4,76 @@
       <div class="title-box">
         <div class="status" style="color: white">已预约</div>
         <div class="title">预约码</div>
-        <div class="status">已预约</div>
+        <div class="status">{{ info.statusStr }}</div>
       </div>
       <div class="form-data">
-        <div class="code"></div>
+        <div class="code">
+          <ayQrcode
+            ref="qrcode"
+            :modal="modal_qr"
+            :url="url"
+            @hideQrcode="hideQrcode"
+            :height="160"
+            :width="160"
+          />
+        </div>
         <div class="form-item">
           <div class="item-label">对应码头</div>
-          <div class="item-value">4号码头</div>
+          <div class="item-value">{{ info.dockCode }}</div>
         </div>
         <div class="form-item">
           <div class="item-label">预约目的</div>
-          <div class="item-value">4号码头</div>
+          <div class="item-value">{{ info.loadType }}</div>
         </div>
         <div class="form-item">
-          <div class="item-label">集装箱车辆</div>
-          <div class="item-value">4号码头</div>
+          <div class="item-label">车辆类型</div>
+          <div class="item-value">{{ info.carType }}</div>
         </div>
         <div class="form-item">
           <div class="item-label">预约日期</div>
-          <div class="item-value">4号码头</div>
+          <div class="item-value">{{ info.reservationDate }}</div>
         </div>
         <div class="form-item">
           <div class="item-label">所属企业</div>
-          <div class="item-value">4号码头</div>
+          <div class="item-value">{{ info.businessName }}</div>
         </div>
         <div class="form-item">
           <div class="item-label">司机姓名</div>
-          <div class="item-value">4号码头</div>
+          <div class="item-value">{{ info.driverName }}</div>
         </div>
         <div class="form-item">
           <div class="item-label">车牌号</div>
-          <div class="item-value">4号码头</div>
+          <div class="item-value">{{ info.carNo }}</div>
         </div>
         <div class="form-item">
           <div class="item-label">件数/托盘数</div>
-          <div class="item-value">4号码头</div>
+          <div class="item-value">{{ info.loadNum }}</div>
         </div>
       </div>
     </div>
     <div class="form" style="margin-top: 24rpx; padding-top: 32rpx">
       <div class="form-data" style="padding-bottom: 32rpx; padding-top: 32rpx">
         <div class="form-item">
-          <div class="item-label">约日期</div>
-          <div class="item-value">4号码头</div>
+          <div class="item-label">约日期</div>
+          <div class="item-value">{{ info.reservationDate }}</div>
         </div>
         <div class="form-item">
           <div class="item-label">签到日期</div>
-          <div class="item-value">4号码头</div>
+          <div class="item-value">
+            {{ info.signTime ? info.signTime : "暂无数据" }}
+          </div>
         </div>
         <div class="form-item">
           <div class="item-label">卸货日期</div>
-          <div class="item-value">4号码头</div>
+          <div class="item-value">
+            {{ info.loadTime ? info.loadTime : "暂无数据" }}
+          </div>
         </div>
         <div class="form-item">
           <div class="item-label">完成日期</div>
-          <div class="item-value">4号码头</div>
+          <div class="item-value">
+            {{ info.finishTime ? info.finishTime : "暂无数据" }}
+          </div>
         </div>
       </div>
     </div>
@@ -72,17 +87,54 @@
 </template>
 
 <script>
+// /wx/dock/getReservationVoById
+
+import { getReservationVoById, cancelReservation } from "@/js_sdk/sjTools.js";
+import ayQrcode from "@/components/ay-qrcode/ay-qrcode.vue";
+
 export default {
+  data() {
+    return {
+      url: "",
+      modal_qr: false,
+      info: {},
+    };
+  },
+  components: { ayQrcode },
   created() {
     wx.showShareMenu({
       withShareTicket: true,
       menus: ["shareAppMessage", "shareTimeline"],
     });
   },
+  onLoad(e) {
+    console.log(e);
+
+    this.getReservationVoById(e.id);
+  },
   methods: {
+    async getReservationVoById(id) {
+      let { data } = await getReservationVoById({ id });
+      console.log(data);
+      this.info = data;
+      this.url = data.id;
+      this.showQrcode();
+    },
     wxShare(e) {
       console.log(e);
     },
+    hideQrcode() {
+      this.modal_qr = false;
+    },
+    showQrcode() {
+      let _this = this;
+      this.modal_qr = true;
+      // uni.showLoading()
+      setTimeout(function () {
+        // uni.hideLoading()
+        _this.$refs.qrcode.crtQrCode();
+      }, 50);
+    },
     onShareAppMessage(res) {
       //发送给朋友
       console.log(`分享到朋友圈`, res);
@@ -129,9 +181,9 @@ export default {
     padding: 0 80rpx;
     .code {
       margin-top: 16rpx;
-      width: 320rpx;
-      height: 320rpx;
-      background: #5c5c5c;
+      width: auto;
+      height: auto;
+      // background: #5c5c5c;
       margin: 16rpx auto;
     }
     .form-item {

+ 348 - 174
pages/subPackages/yy_history/edit.vue

@@ -1,22 +1,12 @@
 <template>
-  <div class="edityy">
-    <div
-      style="width: 100%; height: 0rpx; position: relative; background: white"
-    >
-      <div class="status qd">待签到</div>
-      <!-- <div class="status rz">待入厂</div>
-        <div class="status zx">装卸中</div>
-        <div class="status wc">已完成</div>
-        <div class="status gq">已过期</div>
-        <div class="status qx">已取消</div> -->
-    </div>
+  <div class="qy_yy_edit">
     <div class="form bd_bottom">
       <div class="form-label">
         <span class="form-requird">*</span>
         <span>供应商</span>
       </div>
-      <div>
-        <input type="text" placeholder="请输入" v-model="formData.userName" />
+      <div @click="oepnGysPopup()">
+        {{ form.gysName ? form.gysName : "请选择" }}
       </div>
     </div>
     <div class="form bd_bottom pdt32 pdb32" style="display: block">
@@ -25,47 +15,42 @@
         <span>车牌号</span>
       </div>
       <div>
-        <car-number v-model="carNumber"></car-number>
+        <car-number ref="carNum" v-model="carNumber"></car-number>
       </div>
-      <div class="historyList">
-        <div class="historyList-item mt32">
-          <div>苏B51WK7</div>
-          <div class="btn">
-            <van-icon name="clear" color="rgba(138, 5, 84, 1)" />
-          </div>
-        </div>
-        <div class="historyList-item mt32">
-          <div>苏B51WK7</div>
-          <div class="btn">
-            <van-icon name="clear" color="rgba(138, 5, 84, 1)" />
-          </div>
-        </div>
-        <div class="historyList-item mt32">
-          <div>苏B51WK7</div>
-          <div class="btn">
-            <van-icon name="clear" color="rgba(138, 5, 84, 1)" />
-          </div>
-        </div>
-        <div class="historyList-item mt32">
-          <div>苏B51WK7</div>
-          <div class="btn">
-            <van-icon name="clear" color="rgba(138, 5, 84, 1)" />
-          </div>
-        </div>
+    </div>
+    <div class="form bd_bottom">
+      <div class="form-label">
+        <span class="form-requird">*</span>
+        <span>常用车辆</span>
       </div>
+      <div class="form-value width435px">
+        <picker
+          @change="selectUsedCar"
+          :value="index"
+          :range="usedCarList"
+          range-key="label"
+        >
+          <!-- <view class="uni-input">{{ array[index] }}</view> -->
+          {{ usedCar ? usedCar : "请选择" }}
+        </picker>
+      </div>
+      <van-icon name="arrow" />
     </div>
     <div class="form bd_bottom">
       <div class="form-label">
         <span class="form-requird">*</span>
         <span>车辆类型</span>
       </div>
-      <div class="form-value">
-        <input
-          type="text"
-          :readonly="true"
-          placeholder="请选择"
-          v-model="formData.userName"
-        />
+      <div class="form-value width435px">
+        <picker
+          @change="selectCarType"
+          :value="index"
+          :range="dockCarTypeList"
+          range-key="label"
+        >
+          <!-- <view class="uni-input">{{ array[index] }}</view> -->
+          {{ form.carType ? form.carType : "请选择" }}
+        </picker>
       </div>
       <van-icon name="arrow" />
     </div>
@@ -80,36 +65,10 @@
             type="text"
             readonly
             placeholder="请选择"
-            v-model="formData.userName"
+            v-model="form.driverName"
           />
         </div>
       </div>
-      <div class="historyList">
-        <div class="historyList-item mt32">
-          <div>宣师傅</div>
-          <div class="btn">
-            <van-icon name="clear" color="rgba(138, 5, 84, 1)" />
-          </div>
-        </div>
-        <div class="historyList-item mt32">
-          <div>陈师傅</div>
-          <div class="btn">
-            <van-icon name="clear" color="rgba(138, 5, 84, 1)" />
-          </div>
-        </div>
-        <div class="historyList-item mt32">
-          <div>刘师傅</div>
-          <div class="btn">
-            <van-icon name="clear" color="rgba(138, 5, 84, 1)" />
-          </div>
-        </div>
-        <div class="historyList-item mt32">
-          <div>于师傅</div>
-          <div class="btn">
-            <van-icon name="clear" color="rgba(138, 5, 84, 1)" />
-          </div>
-        </div>
-      </div>
     </div>
     <div class="form bd_bottom" style="display: block">
       <div style="display: flex">
@@ -122,36 +81,10 @@
             type="text"
             readonly
             placeholder="请选择"
-            v-model="formData.userName"
+            v-model="form.driverUsername"
           />
         </div>
       </div>
-      <div class="historyList">
-        <div class="historyList-item mt32">
-          <div>13921516068</div>
-          <div class="btn">
-            <van-icon name="clear" color="rgba(138, 5, 84, 1)" />
-          </div>
-        </div>
-        <div class="historyList-item mt32">
-          <div>13921516068</div>
-          <div class="btn">
-            <van-icon name="clear" color="rgba(138, 5, 84, 1)" />
-          </div>
-        </div>
-        <div class="historyList-item mt32">
-          <div>13921516068</div>
-          <div class="btn">
-            <van-icon name="clear" color="rgba(138, 5, 84, 1)" />
-          </div>
-        </div>
-        <div class="historyList-item mt32">
-          <div>13921516068</div>
-          <div class="btn">
-            <van-icon name="clear" color="rgba(138, 5, 84, 1)" />
-          </div>
-        </div>
-      </div>
     </div>
     <div class="form bd_bottom mt32">
       <div class="form-label">
@@ -159,7 +92,7 @@
         <span>装卸类型:</span>
       </div>
       <div>
-        <input type="text" placeholder="请输入" v-model="formData.userName" />
+        {{ form.loadType }}
       </div>
     </div>
     <div class="form bd_bottom">
@@ -168,35 +101,38 @@
         <span>件数/托盘数:</span>
       </div>
       <div>
-        <input type="text" placeholder="请输入" v-model="formData.userName" />
+        <input type="text" placeholder="请输入" v-model="form.loadNum" />
       </div>
     </div>
-    <div class="form bd_bottom">
+    <div class="form bd_bottom" v-if="mtId">
       <div class="form-label">
         <span class="form-requird">*</span>
         <span>预约日期:</span>
       </div>
-      <div>
-        <input
-          style="width: 400rpx"
-          type="text"
-          placeholder="请输入"
-          v-model="formData.userName"
-        />
+      <div class="uni-input">
+        <picker @change="selectYYDate" :value="index" :range="yydateList">
+          <!-- <view class="uni-input">{{ array[index] }}</view> -->
+          {{ form.reservationDate ? form.reservationDate : "请选择" }}
+        </picker>
+        <!--           {{form.reservationDate?form.reservationDate:''}} -->
       </div>
       <van-icon name="arrow" />
     </div>
 
     <div class="bottom-form mt32">
       <div class="mt-select">
-        <div class="select-item">1号码头</div>
-        <div class="select-item">1号码头</div>
-        <div class="select-item">1号码头</div>
-        <div class="select-item">1号码头</div>
-        <div class="select-item">1号码头</div>
-        <div class="select-item">1号码头</div>
-        <div class="select-item">1号码头</div>
-        <div class="select-item">1号码头</div>
+        <div
+          class="select-item"
+          :style="{
+            background: item.value == mtId ? '#8A0554' : '#f5f7fa',
+            color: item.value == mtId ? 'white' : 'black',
+          }"
+          v-for="item in mtList"
+          @click="getMtId(item)"
+          :key="item.value"
+        >
+          {{ item.label }}
+        </div>
       </div>
       <div class="sj-select-title">
         <div class="sj-label">
@@ -211,115 +147,325 @@
           <div class="purple-legend"></div>
           <div>已占用</div>
         </div>
+        <div class="legend">
+          <div class="ysd-legend"></div>
+          <div>已锁定</div>
+        </div>
       </div>
       <div class="sj-select">
-        <div class="select-item">9:00</div>
-        <div class="select-item">9:00</div>
-        <div class="select-item">9:00</div>
-        <div class="select-item">9:00</div>
-        <div class="select-item">9:00</div>
-        <div class="select-item">9:00</div>
-        <div class="select-item">9:00</div>
-        <div class="select-item">9:00</div>
-        <div class="select-item">9:00</div>
-        <div class="select-item">9:00</div>
-        <div class="select-item">9:00</div>
-        <div class="select-item">9:00</div>
-        <div class="select-item">9:00</div>
+        <div
+          :class="
+            item.statusStr == '已预约'
+              ? 'select-item yyyStatus'
+              : item.statusStr == '已锁定'
+              ? 'select-item ysdStatus'
+              : 'select-item '
+          "
+          @click="timeSelect(item)"
+          v-for="item in kxTimeList"
+        >
+          {{ item.timeStart }}~{{ item.timeEnd }}
+          <van-icon
+            name="success"
+            v-if="
+              form.dockSettingDetailId == item.dockSettingDetailId &&
+              form.dockSettingId == item.dockSettingId &&
+              form.timeEnd == item.timeEnd &&
+              form.timeStart == item.timeStart
+            "
+          />
+        </div>
       </div>
 
       <div class="foot-btn">
         <van-button color="rgba(0, 0, 0, 0.05)" type="default" class="cancel">
           取消
         </van-button>
-        <van-button color="rgba(138, 5, 84, 1)" type="primary">
+        <van-button
+          color="rgba(138, 5, 84, 1)"
+          type="primary"
+          @click="updateReservationByBiz()"
+        >
           提交
         </van-button>
       </div>
     </div>
   </div>
 </template>
-  
-  <script>
+
+<script>
 import CarNumber from "@/components/codecook-carnumber/codecook-carnumber.vue";
+import {
+  getDockCarType,
+  getCarNoByBizAndUser,
+  getBizByUsername,
+  getDockSelectList,
+  getDockLoadType,
+  getAvailableDateList,
+  getDockTimeList,
+  updateReservationByBiz,
+  getHistoryContactPhoneByUserId,
+  getCarDataByBiz,
+} from "@/js_sdk/chooseCarApi.js";
+import { getReservationVoById } from "@/js_sdk/sjTools.js";
 
+import { getUserLocalStorageInfo } from "@/js_sdk/localUserInfo.js";
 export default {
   data() {
     return {
       formData: {},
       carNumber: "",
+      gysList: [],
+      dockCarTypeList: [],
+      form: {},
+      mtList: [],
+      yydateList: [],
+      mtId: "",
+      yydateList: [],
+      usedCarList: [],
+      kxTimeList: [],
+      usedCar: "",
     };
   },
   components: {
     CarNumber,
   },
-  mounted() {
-    // demo();
+  onLoad(e) {
+    console.log(e);
+    this.getReservationVoById(e.id);
+    this.getDockCarType();
+    // this.form.bizId = getUserLocalStorageInfo().biz.id;
+    // this.form.loadType = e.zxtype.replace("预约", "");
+    // this.form.carType = e.carTypeLabel;
+    // this.form.gysName = getUserLocalStorageInfo().user.dispName;
+    this.getDockSelectList();
+    this.againRenderData();
+    this.getCarDataByBiz();
+  },
+  methods: {
+    async getReservationVoById(id) {
+      this.form.id = id;
+      let { data } = await getReservationVoById({ id: id });
+      console.log(data);
+      // this.carNumber = data.carNo;
+      this.form.carType = data.carType;
+      this.form.driverName = data.driverName;
+      this.form.bizId = data.bizId;
+      this.form.carType = data.carType;
+      this.form.loadType = data.loadType;
+      this.form.reservationDate = data.reservationDate;
+      this.form.dockId = data.dockId;
+      this.mtId = data.dockId;
+      this.form.driverUsername = data.driverUsername;
+      this.form.loadNum = data.loadNum;
+      // this.form.driverContactPhone = data.driverContactPhone;
+      this.form.dockId = data.dockId;
+      this.form.gysName = data.businessName;
+      this.usedCar = `${data.carNo}-${data.driverName}-${data.driverUsername}`;
+      this.$refs.carNum.setCarNumValue(data.carNo);
+      //           label: `${e.car_no}-${e.driver_name}-${e.driver_username}`,
+      this.checkTimeData = {
+        ...{
+          dockSettingDetailId: data.dockSettingDetailId,
+          dockSettingId: data.dockSettingId,
+          timeEnd: data.timeEnd,
+          timeStart: data.timeStart,
+          dockId: data.dockId,
+        },
+      };
+      this.form.dockSettingDetailId = data.dockSettingDetailId;
+      this.form.dockSettingId = data.dockSettingId;
+      this.form.timeEnd = data.timeEnd;
+      this.form.timeStart = data.timeStart;
+      this.$refs.carNum.setCarNumValue(data.carNo);
+      this.getDockSelectList();
+      this.getAvailableDateList();
+      // this.getCarNoByBizAndUser();
+      this.getDockTimeList();
+    },
+    async getDockTimeList() {
+      let { data } = await getDockTimeList({
+        dateStr: this.form.reservationDate,
+        dockId: this.mtId,
+        bizId: this.form.bizId,
+      });
+      this.kxTimeList = data;
+    },
+    async updateReservationByBiz() {
+      let res = await updateReservationByBiz({
+        ...this.form,
+        userId: getUserLocalStorageInfo().user.id,
+        driverId: getUserLocalStorageInfo().user.id,
+        carNo: this.carNumber,
+      });
+      if (res.errmsg == "成功") {
+        this.$showToast("预约成功");
+        uni.navigateBack({ delta: 2 });
+      }
+      console.log(res);
+    },
+    timeSelect(item) {
+      if (item.statusStr == "已锁定") {
+        this.$showToast("该时段已被锁定,请勿选择");
+        return;
+      }
+      if (item.statusStr == "已预约") {
+        if (
+          item.dockSettingDetailId == this.checkTimeData.dockSettingDetailId &&
+          item.dockSettingId == this.checkTimeData.dockSettingId &&
+          item.timeEnd == this.checkTimeData.timeEnd &&
+          item.timeStart == this.checkTimeData.timeStart &&
+          item.dockId == this.checkTimeData.dockId
+        ) {
+        } else {
+          this.$showToast("该时段已被预约,请重新选择");
+          return;
+        }
+      }
+
+      console.log(item);
+      this.form.dockSettingDetailId = item.dockSettingDetailId;
+      this.form.dockSettingId = item.dockSettingId;
+      this.form.timeEnd = item.timeEnd;
+      this.form.dockId = item.dockId;
+      this.form.timeStart = item.timeStart;
+      let form = { ...this.form };
+      this.form = {};
+      this.form = form;
+    },
+    selectUsedCar({ detail }) {
+      console.log(detail.value);
+      let usedCarList = JSON.parse(
+        JSON.stringify(this.usedCarList[detail.value])
+      );
+      this.form.driverName = usedCarList.driver_name;
+      this.form.driverUsername = usedCarList.driver_username;
+      // this.form.driverUsername = usedCarList.driver_username0
+      this.usedCar = usedCarList.label;
+      this.$refs.carNum.setCarNumValue(usedCarList.car_no);
+      console.log(this.usedCarList[detail.value]);
+    },
+    async getCarDataByBiz() {
+      let { data } = await getCarDataByBiz({
+        bizId: getUserLocalStorageInfo().biz.id,
+      });
+      this.usedCarList = data.map((e) => {
+        return {
+          label: `${e.car_no}-${e.driver_name}-${e.driver_username}`,
+          car_no: e.car_no,
+          driver_name: e.driver_name,
+          driver_username: e.driver_username,
+        };
+      });
+      console.log("getCarDataByBiz", data);
+    },
+    async getDockCarType() {
+      let { data } = await getDockCarType();
+      this.dockCarTypeList = data;
+      console.log(data);
+    },
+    async selectYYDate({ detail }) {
+      console.log(this.yydateList[detail.value]);
+      this.form.reservationDate = this.yydateList[detail.value];
+      let form = { ...this.form };
+      this.form = {};
+      this.form = form;
+      let { data } = await getDockTimeList({
+        dateStr: this.form.reservationDate,
+        dockId: this.mtId,
+        bizId: this.form.bizId,
+      });
+      this.kxTimeList = data;
+      this.form.dockSettingDetailId = "";
+      this.form.dockSettingId = "";
+      this.form.timeEnd = "";
+      this.form.dockId = "";
+      this.form.timeStart = "";
+    },
+    async getMtId(item) {
+      this.kxTimeList = [];
+      this.form.reservationDate = "";
+      console.log(item);
+      let { data } = await getAvailableDateList({ dockId: item.value });
+      this.mtId = item.value;
+      this.yydateList = data;
+    },
+    async getAvailableDateList() {
+      let { data } = await getAvailableDateList({ dockId: this.form.dockId });
+      this.yydateList = data;
+    },
+    selectCarType({ detail }) {
+      console.log(detail);
+      this.form.carType = this.dockCarTypeList[detail.value].label;
+      console.log(this.dockCarTypeList[detail.value]);
+      let form = { ...this.form };
+      this.form = {};
+      this.form = form;
+      this.getDockSelectList();
+    },
+    async getDockSelectList() {
+      let { data } = await getDockSelectList({
+        carType: this.form.carType,
+        loadType: this.form.loadType,
+      });
+      this.mtList = data;
+    },
+    againRenderData() {
+      let form = { ...this.form };
+      this.form = {};
+      this.form = form;
+    },
   },
-  methods: {},
 };
 </script>
-  
-  <style lang="scss">
-.edityy {
-  .status {
-    width: 144rpx;
-    height: 56rpx;
-    text-align: center;
-    line-height: 56rpx;
-    border-top-right-radius: 5%;
-    border-bottom-left-radius: 50%;
-    position: absolute;
-    top: -1rpx;
-    right: 0;
-    font-weight: 400;
-    font-size: 28rpx;
-  }
-  .qd {
-    background: rgba(3, 101, 249, 0.2);
-    color: #0365f9;
-  }
-  .rc {
-    background: rgba(255, 184, 0, 0.3);
-    color: #d99f00;
-  }
-  .zx {
-    background: rgba(138, 5, 84, 0.2);
-    color: #8a0554;
-  }
-  .wc {
-    background: rgba(34, 181, 101, 0.2);
-    color: #22b565;
+
+<style lang="scss">
+.qy_yy_edit {
+  .ysd-legend {
+    margin-right: 16rpx;
+    width: 28rpx;
+    height: 28rpx;
+    background: #ededed;
+    border-radius: 0rpx 0rpx 0rpx 0rpx;
   }
-  .gq {
-    color: #c7191f;
-    background: rgba(199, 25, 31, 0.2);
+  .ysdStatus {
+    background: #ededed !important;
+    color: #333333;
   }
-  .qx {
-    color: #888888;
-    background: rgba(136, 136, 136, 0.3);
+  .yyyStatus {
+    background: #8e8be4 !important;
+    color: white;
   }
   .foot-btn {
     margin-top: 32rpx;
     margin-bottom: 32rpx;
     display: flex;
     justify-content: space-around;
+
     .cancel {
       button {
         color: rgba(138, 5, 84, 1) !important;
       }
     }
   }
+  .width435px {
+    max-width: 435rpx;
+    width: 435rpx;
+  }
+
   .form-value {
     width: 435rpx;
+
     input {
       width: 100%;
     }
   }
+
   .sj-select {
     display: flex;
     flex-wrap: wrap;
     margin-top: 32rpx;
+
     .select-item {
       text-align: center;
       line-height: 80rpx;
@@ -329,24 +475,31 @@ export default {
       border-radius: 0rpx 0rpx 0rpx 0rpx;
       border: 2rpx solid #eaeff6;
     }
+
     .iselected {
       background: #ededed;
     }
+
     .isuse {
       background: rgba(142, 139, 228, 1);
     }
   }
+
   .sj-select-title {
+    flex-wrap: wrap;
     display: flex;
     align-items: center;
+
     .legend {
       display: flex;
       align-items: center;
       margin-right: 32rpx;
     }
+
     .sj-label {
       margin-right: 64rpx;
     }
+
     .white-legend {
       margin-right: 16rpx;
       width: 28rpx;
@@ -355,6 +508,7 @@ export default {
       border-radius: 0rpx 0rpx 0rpx 0rpx;
       border: 2rpx solid #e9e9e9;
     }
+
     .purple-legend {
       margin-right: 16rpx;
       width: 28rpx;
@@ -362,14 +516,24 @@ export default {
       background: #8e8be4;
       border-radius: 0rpx 0rpx 0rpx 0rpx;
     }
+    .ysd-legend {
+      margin-right: 16rpx;
+      width: 28rpx;
+      height: 28rpx;
+      background: #ededed;
+      border-radius: 0rpx 0rpx 0rpx 0rpx;
+    }
   }
+
   .bottom-form {
     background: #ffffff;
     padding: 32rpx;
     box-sizing: border-box;
+
     .mt-select {
       display: flex;
       flex-wrap: wrap;
+
       .select-item {
         border-radius: 8rpx 8rpx 8rpx 8rpx;
         padding: 12rpx 30rpx;
@@ -380,10 +544,12 @@ export default {
       }
     }
   }
+
   .historyList {
     display: flex;
     justify-content: flex-start;
     flex-wrap: wrap;
+
     .historyList-item {
       padding: 10rpx 15rpx;
       display: flex;
@@ -394,6 +560,7 @@ export default {
       border-radius: 8rpx 8rpx 8rpx 8rpx;
       margin-left: 5rpx;
       margin-right: 5rpx;
+
       .btn {
         margin-left: 15rpx;
       }
@@ -407,28 +574,35 @@ export default {
     min-height: 112rpx;
     align-items: center;
     box-sizing: border-box;
+
     .form-label {
       font-weight: 400;
       font-size: 32rpx;
       color: #333333;
       margin-right: 64rpx;
+      white-space: nowrap;
       .form-requird {
         color: red;
       }
     }
   }
+
   .pdt32 {
     padding-top: 32rpx;
   }
+
   .pdb32 {
     padding-bottom: 32rpx;
   }
+
   .mb32 {
     margin-bottom: 32rpx;
   }
+
   .mt32 {
     margin-top: 32rpx;
   }
+
   .bd_bottom {
     border-bottom: 2rpx #e6e6e6 solid;
   }

+ 173 - 21
pages/subPackages/yy_history/index.vue

@@ -1,43 +1,85 @@
 <template>
   <div class="yy_history">
-    <van-tabs
-      :active="active"
-      color="rgba(138, 5, 84, 1)"
-      bind:change="onChange"
-    >
+    <van-tabs :active="active" color="rgba(138, 5, 84, 1)" @change="onChange">
       <van-tab title="待签到"></van-tab>
-      <van-tab title="待入"></van-tab>
+      <van-tab title="待入厂"></van-tab>
       <van-tab title="装卸中"></van-tab>
       <van-tab title="已完成"></van-tab>
+      <van-tab title="已过期"></van-tab>
+      <van-tab title="已取消"></van-tab>
       <van-tab title="全部"></van-tab>
     </van-tabs>
     <div class="list">
-      <div class="list-item">
-        <div class="status qd">待签到</div>
-        <!-- <div class="status rz">待入厂</div>
-        <div class="status zx">装卸中</div>
-        <div class="status wc">已完成</div>
-        <div class="status gq">已过期</div>
-        <div class="status qx">已取消</div> -->
+      <div class="list-item" v-for="item in list" :key="item.id">
+        <div class="status qd" v-if="item.status == 0">待签到</div>
+        <div class="status rc" v-if="item.status == 1">待入厂</div>
+        <div class="status zx" v-if="item.status == 2">装卸中</div>
+        <div class="status wc" v-if="item.status == 3">已完成</div>
+        <div class="status gq" v-if="item.status == 4">已过期</div>
+        <div class="status qx" v-if="item.status == 5">已取消</div>
 
         <div
           class="time"
-          @click="jumpPage('/pages/subPackages/yy_history/edit')"
+          @click="
+            jumpPage('/pages/subPackages/sj_history/detail?id=' + item.id)
+          "
         >
-          2024-04-15 11:00 装货
+          {{ item.reservationDate }}
+          {{ item.timeStart + "~" + item.timeEnd }} {{ item.loadType }}
+        </div>
+        <div
+          @click="
+            jumpPage('/pages/subPackages/sj_history/detail?id=' + item.id)
+          "
+          class="info"
+        >
+          {{ item.loadNum }}个托盘
+        </div>
+        <div
+          @click="
+            jumpPage('/pages/subPackages/sj_history/detail?id=' + item.id)
+          "
+          class="info1"
+        >
+          车辆:{{ item.carNo }}/{{ item.carType }}
+        </div>
+        <div
+          @click="
+            jumpPage('/pages/subPackages/sj_history/detail?id=' + item.id)
+          "
+          class="info1"
+        >
+          司机:{{ item.driverName }}
+        </div>
+        <div
+          @click="
+            jumpPage('/pages/subPackages/sj_history/detail?id=' + item.id)
+          "
+          class="info1"
+          v-if="item.createUser"
+        >
+          预约账号:{{ item.createUser }}
+        </div>
+
+        <div
+          @click="
+            jumpPage('/pages/subPackages/sj_history/detail?id=' + item.id)
+          "
+          v-if="item.status == 5"
+          class="info1 qxrq"
+        >
+          取消日期:{{ item.cancelTime }}
         </div>
-        <div class="info">10个托盘</div>
-        <div class="info1">车辆:车牌号/胡装箱</div>
-        <div class="info1">司机:李靠谱</div>
-        <div class="info1 qxrq">取消日期:2024-07-31 15:00</div>
 
         <div class="bottborder"></div>
-        <div class="foot-btn">
+        <div class="foot-btn" v-if="item.status == 0">
           <van-button
             color="rgba(138, 5, 84, 1)"
             plain
             type="default"
             size="small"
+            @click="cancelRow(item)"
+            v-if="nowTimeCheck(item.reservationDate, item.status)"
             >取消</van-button
           >
           <van-button
@@ -45,9 +87,34 @@
             color="rgba(138, 5, 84, 1)"
             type="default"
             size="small"
-            @click="jumpPage('/pages/subPackages/yy_history/edit')"
+            v-if="nowTimeCheck(item.reservationDate, item.status)"
+            @click="
+              jumpPage('/pages/subPackages/yy_history/edit?id=' + item.id)
+            "
             >修改</van-button
           >
+          <van-button
+            style="margin-left: 24rpx"
+            color="rgba(138, 5, 84, 1)"
+            type="default"
+            size="small"
+            @click="
+              jumpPage('/pages/subPackages/yy_history/code?id=' + item.id)
+            "
+            >签到码</van-button
+          >
+        </div>
+        <div class="foot-btn" v-if="item.status == 2">
+          <van-button
+            style="margin-left: 24rpx"
+            color="rgba(138, 5, 84, 1)"
+            type="default"
+            size="small"
+            @click="
+              jumpPage('/pages/subPackages/yy_history/code?id=' + item.id)
+            "
+            >签退码</van-button
+          >
         </div>
       </div>
     </div>
@@ -55,8 +122,92 @@
 </template>
 
 <script>
+import { reservationBizListPage, cancelReservation } from "@/js_sdk/sjTools.js";
+import { getUserLocalStorageInfo } from "@/js_sdk/localUserInfo.js";
+
 export default {
+  data() {
+    return {
+      searchData: {
+        pageNum: 1,
+        pageSize: 10,
+        status: 0,
+      },
+      total: 0,
+      list: [],
+    };
+  },
+  onLoad() {
+    // console.log(getUserLocalStorageInfo().user.id);
+    this.searchData.bizId = getUserLocalStorageInfo().biz.id;
+
+    this.reservationBizListPage();
+  },
+  onReachBottom() {
+    // 触底加载更多
+    this.searchData.pageNum += 1;
+    this.reservationBizListPage();
+  },
   methods: {
+    async cancelRow(e) {
+      let that = this;
+      console.log(e);
+      // cancelReservation
+      wx.showModal({
+        title: "提示!",
+        content: "是否取消该预约",
+        success: async function (res) {
+          if (res.confirm) {
+            let data = await cancelReservation({
+              id: e.id,
+              userId: getUserLocalStorageInfo().user.id,
+            });
+            if (data.errmsg == "成功") {
+              that.$showToast("取消成功");
+              that.searchData.pageNum = 1;
+              that.list = [];
+              that.reservationBizListPage();
+            }
+          }
+        },
+      });
+    },
+    onChange(e) {
+      console.log(e);
+      this.list = [];
+      let statusList = {
+        0: 0,
+        1: 1,
+        2: 2,
+        3: 3,
+        4: 4,
+        5: 5,
+        6: "",
+      };
+      this.searchData.status = statusList[e.detail.index];
+      this.reservationBizListPage();
+    },
+    async reservationBizListPage() {
+      let { data } = await reservationBizListPage(this.searchData);
+      console.log(data);
+      if (this.list.length != data.total) {
+        this.list.push(...data.list);
+      }
+    },
+    nowTimeCheck(yyTime, status) {
+      const timeString = `${yyTime} 08`.replaceAll("-", "/");
+
+      const fullTimeString = `${timeString}:00:00`;
+      // console.log(fullTimeString);
+      const date = new Date(fullTimeString);
+      const timestamp = date.getTime();
+      // 预约日期的当天八点时间戳
+      // console.log(Date.now() < timestamp && status == 0);
+      // console.log(timestamp);
+      if (Date.now() < timestamp && status == 0) {
+        return true;
+      }
+    },
     jumpPage(path) {
       console.log(path);
       uni.navigateTo({
@@ -75,6 +226,7 @@ export default {
       padding: 24rpx 32rpx;
       background: #ffffff;
       position: relative;
+      margin-top: 24rpx;
       .foot-btn {
         display: flex;
         justify-content: flex-end;

+ 2 - 2
pages/utils/constant.js

@@ -1,6 +1,6 @@
 // 系统常量
-export const BASE_URI = "https://www.idea-co-sf.com/dockApi"; // 测试
-// export const BASE_URI = "http://192.168.2.107:9011"; // 许峰本地
+// export const BASE_URI = "https://www.idea-sf.com/dockApi"; // 测试
+export const BASE_URI = "http://192.168.2.108:9001"; // 许峰本地
 
 // export const BASE_URI = "https://hswkxc.idea-sf.com/gardenApi"; // 正式
 // export const BASE_URI = "http://192.168.3.94:9010"; // 老潘本地

+ 4 - 0
unpackage/dist/build/mp-weixin/app.json

@@ -11,8 +11,12 @@
       "pages": [
         "carmange/add",
         "carmange/index",
+        "scanCode/index",
+        "noticeList/qy",
+        "noticeList/sj",
         "yy_history/code",
         "yy_history/edit",
+        "sj_history/detail",
         "sj_history/edit",
         "yy_history/index",
         "sj_history/index",

A diferenza do arquivo foi suprimida porque é demasiado grande
+ 1 - 1
unpackage/dist/build/mp-weixin/common/runtime.js


A diferenza do arquivo foi suprimida porque é demasiado grande
+ 4 - 4
unpackage/dist/build/mp-weixin/common/vendor.js


A diferenza do arquivo foi suprimida porque é demasiado grande
+ 1 - 1
unpackage/dist/build/mp-weixin/components/codecook-carnumber/codecook-carnumber.js


A diferenza do arquivo foi suprimida porque é demasiado grande
+ 1 - 1
unpackage/dist/build/mp-weixin/components/codecook-carnumber/codecook-carnumber.wxml


A diferenza do arquivo foi suprimida porque é demasiado grande
+ 1 - 1
unpackage/dist/build/mp-weixin/components/codecook-carnumber/codecook-carnumber.wxss


A diferenza do arquivo foi suprimida porque é demasiado grande
+ 1 - 1
unpackage/dist/build/mp-weixin/pages/chooseIdentity/index.js


A diferenza do arquivo foi suprimida porque é demasiado grande
+ 1 - 1
unpackage/dist/build/mp-weixin/pages/chooseIdentity/index.wxml


A diferenza do arquivo foi suprimida porque é demasiado grande
+ 1 - 1
unpackage/dist/build/mp-weixin/pages/chooseIdentity/index.wxss


A diferenza do arquivo foi suprimida porque é demasiado grande
+ 1 - 1
unpackage/dist/build/mp-weixin/pages/index/index.js


A diferenza do arquivo foi suprimida porque é demasiado grande
+ 1 - 1
unpackage/dist/build/mp-weixin/pages/index/index.wxml


A diferenza do arquivo foi suprimida porque é demasiado grande
+ 1 - 1
unpackage/dist/build/mp-weixin/pages/index/index.wxss


A diferenza do arquivo foi suprimida porque é demasiado grande
+ 1 - 1
unpackage/dist/build/mp-weixin/pages/login/login.js


A diferenza do arquivo foi suprimida porque é demasiado grande
+ 1 - 1
unpackage/dist/build/mp-weixin/pages/login/login.wxml


A diferenza do arquivo foi suprimida porque é demasiado grande
+ 1 - 1
unpackage/dist/build/mp-weixin/pages/mine/mine.js


A diferenza do arquivo foi suprimida porque é demasiado grande
+ 1 - 1
unpackage/dist/build/mp-weixin/pages/mine/mine.wxml


A diferenza do arquivo foi suprimida porque é demasiado grande
+ 1 - 1
unpackage/dist/build/mp-weixin/pages/mine/mine.wxss


A diferenza do arquivo foi suprimida porque é demasiado grande
+ 1 - 1
unpackage/dist/build/mp-weixin/pages/subPackages/carmange/add.js


A diferenza do arquivo foi suprimida porque é demasiado grande
+ 1 - 1
unpackage/dist/build/mp-weixin/pages/subPackages/carmange/add.wxml


A diferenza do arquivo foi suprimida porque é demasiado grande
+ 1 - 1
unpackage/dist/build/mp-weixin/pages/subPackages/carmange/add.wxss


A diferenza do arquivo foi suprimida porque é demasiado grande
+ 1 - 1
unpackage/dist/build/mp-weixin/pages/subPackages/carmange/index.js


A diferenza do arquivo foi suprimida porque é demasiado grande
+ 1 - 1
unpackage/dist/build/mp-weixin/pages/subPackages/carmange/index.wxml


A diferenza do arquivo foi suprimida porque é demasiado grande
+ 1 - 1
unpackage/dist/build/mp-weixin/pages/subPackages/choosecar/index.js


A diferenza do arquivo foi suprimida porque é demasiado grande
+ 1 - 1
unpackage/dist/build/mp-weixin/pages/subPackages/choosecar/index.wxml


A diferenza do arquivo foi suprimida porque é demasiado grande
+ 1 - 1
unpackage/dist/build/mp-weixin/pages/subPackages/choosecar/index.wxss


A diferenza do arquivo foi suprimida porque é demasiado grande
+ 1 - 1
unpackage/dist/build/mp-weixin/pages/subPackages/common/vendor.js


A diferenza do arquivo foi suprimida porque é demasiado grande
+ 1 - 1
unpackage/dist/build/mp-weixin/pages/subPackages/password/index.js


A diferenza do arquivo foi suprimida porque é demasiado grande
+ 1 - 1
unpackage/dist/build/mp-weixin/pages/subPackages/password/index.wxml


A diferenza do arquivo foi suprimida porque é demasiado grande
+ 1 - 1
unpackage/dist/build/mp-weixin/pages/subPackages/password/index.wxss


A diferenza do arquivo foi suprimida porque é demasiado grande
+ 1 - 1
unpackage/dist/build/mp-weixin/pages/subPackages/qy_yy/index.js


A diferenza do arquivo foi suprimida porque é demasiado grande
+ 1 - 1
unpackage/dist/build/mp-weixin/pages/subPackages/qy_yy/index.wxml


A diferenza do arquivo foi suprimida porque é demasiado grande
+ 1 - 1
unpackage/dist/build/mp-weixin/pages/subPackages/qy_yy/index.wxss


A diferenza do arquivo foi suprimida porque é demasiado grande
+ 1 - 1
unpackage/dist/build/mp-weixin/pages/subPackages/sj_history/edit.js


A diferenza do arquivo foi suprimida porque é demasiado grande
+ 1 - 1
unpackage/dist/build/mp-weixin/pages/subPackages/sj_history/edit.wxml


A diferenza do arquivo foi suprimida porque é demasiado grande
+ 1 - 1
unpackage/dist/build/mp-weixin/pages/subPackages/sj_history/edit.wxss


A diferenza do arquivo foi suprimida porque é demasiado grande
+ 1 - 1
unpackage/dist/build/mp-weixin/pages/subPackages/sj_history/index.js


A diferenza do arquivo foi suprimida porque é demasiado grande
+ 1 - 1
unpackage/dist/build/mp-weixin/pages/subPackages/sj_history/index.wxml


A diferenza do arquivo foi suprimida porque é demasiado grande
+ 1 - 1
unpackage/dist/build/mp-weixin/pages/subPackages/sj_yy/index.js


A diferenza do arquivo foi suprimida porque é demasiado grande
+ 1 - 1
unpackage/dist/build/mp-weixin/pages/subPackages/sj_yy/index.wxml


A diferenza do arquivo foi suprimida porque é demasiado grande
+ 1 - 1
unpackage/dist/build/mp-weixin/pages/subPackages/sj_yy/index.wxss


A diferenza do arquivo foi suprimida porque é demasiado grande
+ 1 - 1
unpackage/dist/build/mp-weixin/pages/subPackages/yy_history/code.js


+ 2 - 1
unpackage/dist/build/mp-weixin/pages/subPackages/yy_history/code.json

@@ -16,6 +16,7 @@
     "van-datetime-picker": "/wxcomponents/weapp/dist/datetime-picker/index",
     "van-uploader": "/wxcomponents/weapp/dist/uploader/index",
     "van-checkbox": "/wxcomponents/weapp/dist/checkbox/index",
-    "van-checkbox-group": "/wxcomponents/weapp/dist/checkbox-group/index"
+    "van-checkbox-group": "/wxcomponents/weapp/dist/checkbox-group/index",
+    "ay-qrcode": "/components/ay-qrcode/ay-qrcode"
   }
 }

A diferenza do arquivo foi suprimida porque é demasiado grande
+ 1 - 1
unpackage/dist/build/mp-weixin/pages/subPackages/yy_history/code.wxml


A diferenza do arquivo foi suprimida porque é demasiado grande
+ 1 - 1
unpackage/dist/build/mp-weixin/pages/subPackages/yy_history/code.wxss


A diferenza do arquivo foi suprimida porque é demasiado grande
+ 1 - 1
unpackage/dist/build/mp-weixin/pages/subPackages/yy_history/edit.js


A diferenza do arquivo foi suprimida porque é demasiado grande
+ 1 - 1
unpackage/dist/build/mp-weixin/pages/subPackages/yy_history/edit.wxml


A diferenza do arquivo foi suprimida porque é demasiado grande
+ 1 - 1
unpackage/dist/build/mp-weixin/pages/subPackages/yy_history/edit.wxss


A diferenza do arquivo foi suprimida porque é demasiado grande
+ 1 - 1
unpackage/dist/build/mp-weixin/pages/subPackages/yy_history/index.js


A diferenza do arquivo foi suprimida porque é demasiado grande
+ 1 - 1
unpackage/dist/build/mp-weixin/pages/subPackages/yy_history/index.wxml


A diferenza do arquivo foi suprimida porque é demasiado grande
+ 1 - 1
unpackage/dist/build/mp-weixin/pages/subPackages/yy_history/index.wxss


+ 2 - 2
unpackage/dist/build/mp-weixin/project.config.json

@@ -19,8 +19,8 @@
   },
   "compileType": "miniprogram",
   "libVersion": "latest",
-  "appid": "wx44a0d2f4a1220d3d",
-  "projectname": "红沙湾管理端",
+  "appid": "wxcce76742bc3de81d",
+  "projectname": "阿斯利康码头管理",
   "condition": {},
   "editorSetting": {
     "tabIndent": "insertSpaces",

+ 0 - 7
unpackage/dist/build/mp-weixin/project.private.config.json

@@ -1,7 +0,0 @@
-{
-  "description": "项目私有配置文件。此文件中的内容将覆盖 project.config.json 中的相同字段。项目的改动优先同步到此文件中。详见文档:https://developers.weixin.qq.com/miniprogram/dev/devtools/projectconfig.html",
-  "projectname": "红沙湾管理端",
-  "setting": {
-    "compileHotReLoad": true
-  }
-}

A diferenza do arquivo foi suprimida porque é demasiado grande
+ 1 - 1
unpackage/dist/dev/.sourcemap/mp-weixin/common/main.js.map


A diferenza do arquivo foi suprimida porque é demasiado grande
+ 1 - 1
unpackage/dist/dev/.sourcemap/mp-weixin/common/runtime.js.map


A diferenza do arquivo foi suprimida porque é demasiado grande
+ 1 - 1
unpackage/dist/dev/.sourcemap/mp-weixin/common/vendor.js.map


A diferenza do arquivo foi suprimida porque é demasiado grande
+ 1 - 1
unpackage/dist/dev/.sourcemap/mp-weixin/components/codecook-carnumber/codecook-carnumber.js.map


A diferenza do arquivo foi suprimida porque é demasiado grande
+ 1 - 1
unpackage/dist/dev/.sourcemap/mp-weixin/components/codecook-keyboard/codecook-keyboard.js.map


A diferenza do arquivo foi suprimida porque é demasiado grande
+ 1 - 1
unpackage/dist/dev/.sourcemap/mp-weixin/pages/chooseIdentity/index.js.map


A diferenza do arquivo foi suprimida porque é demasiado grande
+ 1 - 1
unpackage/dist/dev/.sourcemap/mp-weixin/pages/index/index.js.map


A diferenza do arquivo foi suprimida porque é demasiado grande
+ 1 - 1
unpackage/dist/dev/.sourcemap/mp-weixin/pages/login/login.js.map


A diferenza do arquivo foi suprimida porque é demasiado grande
+ 1 - 1
unpackage/dist/dev/.sourcemap/mp-weixin/pages/mine/mine.js.map


A diferenza do arquivo foi suprimida porque é demasiado grande
+ 1 - 1
unpackage/dist/dev/.sourcemap/mp-weixin/pages/subPackages/carmange/add.js.map


A diferenza do arquivo foi suprimida porque é demasiado grande
+ 1 - 1
unpackage/dist/dev/.sourcemap/mp-weixin/pages/subPackages/carmange/index.js.map


A diferenza do arquivo foi suprimida porque é demasiado grande
+ 1 - 1
unpackage/dist/dev/.sourcemap/mp-weixin/pages/subPackages/choosecar/index.js.map


A diferenza do arquivo foi suprimida porque é demasiado grande
+ 1 - 1
unpackage/dist/dev/.sourcemap/mp-weixin/pages/subPackages/common/vendor.js.map


A diferenza do arquivo foi suprimida porque é demasiado grande
+ 1 - 1
unpackage/dist/dev/.sourcemap/mp-weixin/pages/subPackages/password/index.js.map


A diferenza do arquivo foi suprimida porque é demasiado grande
+ 1 - 1
unpackage/dist/dev/.sourcemap/mp-weixin/pages/subPackages/phoneRegister/index.js.map


A diferenza do arquivo foi suprimida porque é demasiado grande
+ 1 - 1
unpackage/dist/dev/.sourcemap/mp-weixin/pages/subPackages/qy_yy/index.js.map


A diferenza do arquivo foi suprimida porque é demasiado grande
+ 1 - 1
unpackage/dist/dev/.sourcemap/mp-weixin/pages/subPackages/sj_history/edit.js.map


A diferenza do arquivo foi suprimida porque é demasiado grande
+ 1 - 1
unpackage/dist/dev/.sourcemap/mp-weixin/pages/subPackages/sj_history/index.js.map


A diferenza do arquivo foi suprimida porque é demasiado grande
+ 1 - 1
unpackage/dist/dev/.sourcemap/mp-weixin/pages/subPackages/sj_yy/index.js.map


A diferenza do arquivo foi suprimida porque é demasiado grande
+ 1 - 1
unpackage/dist/dev/.sourcemap/mp-weixin/pages/subPackages/yy_history/code.js.map


A diferenza do arquivo foi suprimida porque é demasiado grande
+ 1 - 1
unpackage/dist/dev/.sourcemap/mp-weixin/pages/subPackages/yy_history/edit.js.map


A diferenza do arquivo foi suprimida porque é demasiado grande
+ 1 - 1
unpackage/dist/dev/.sourcemap/mp-weixin/pages/subPackages/yy_history/index.js.map


+ 4 - 0
unpackage/dist/dev/mp-weixin/app.json

@@ -11,8 +11,12 @@
       "pages": [
         "carmange/add",
         "carmange/index",
+        "scanCode/index",
+        "noticeList/qy",
+        "noticeList/sj",
         "yy_history/code",
         "yy_history/edit",
+        "sj_history/detail",
         "sj_history/edit",
         "yy_history/index",
         "sj_history/index",

+ 0 - 0
unpackage/dist/dev/mp-weixin/common/runtime.js


Algúns arquivos non se mostraron porque demasiados arquivos cambiaron neste cambio