孙旺 před 1 rokem
rodič
revize
b5a8b61155
100 změnil soubory, kde provedl 18792 přidání a 0 odebrání
  1. 96 0
      dist/dev/mp-weixin/app.js
  2. 37 0
      dist/dev/mp-weixin/app.json
  3. 3642 0
      dist/dev/mp-weixin/app.wxss
  4. 10141 0
      dist/dev/mp-weixin/common/vendor.js
  5. 361 0
      dist/dev/mp-weixin/components/ba-tree-picker/ba-tree-picker.js
  6. 4 0
      dist/dev/mp-weixin/components/ba-tree-picker/ba-tree-picker.json
  7. 0 0
      dist/dev/mp-weixin/components/ba-tree-picker/ba-tree-picker.wxml
  8. 206 0
      dist/dev/mp-weixin/components/ba-tree-picker/ba-tree-picker.wxss
  9. 44 0
      dist/dev/mp-weixin/components/xy-svg/xy-svg.js
  10. 4 0
      dist/dev/mp-weixin/components/xy-svg/xy-svg.json
  11. 1 0
      dist/dev/mp-weixin/components/xy-svg/xy-svg.wxml
  12. 4 0
      dist/dev/mp-weixin/components/xy-svg/xy-svg.wxss
  13. 22 0
      dist/dev/mp-weixin/config.js
  14. 60 0
      dist/dev/mp-weixin/node-modules/uview-plus/components/u--form/u--form.js
  15. 6 0
      dist/dev/mp-weixin/node-modules/uview-plus/components/u--form/u--form.json
  16. 1 0
      dist/dev/mp-weixin/node-modules/uview-plus/components/u--form/u--form.wxml
  17. 0 0
      dist/dev/mp-weixin/node-modules/uview-plus/components/u--form/u--form.wxss
  18. 43 0
      dist/dev/mp-weixin/node-modules/uview-plus/components/u--image/u--image.js
  19. 6 0
      dist/dev/mp-weixin/node-modules/uview-plus/components/u--image/u--image.json
  20. 1 0
      dist/dev/mp-weixin/node-modules/uview-plus/components/u--image/u--image.wxml
  21. 0 0
      dist/dev/mp-weixin/node-modules/uview-plus/components/u--image/u--image.wxss
  22. 59 0
      dist/dev/mp-weixin/node-modules/uview-plus/components/u--input/u--input.js
  23. 6 0
      dist/dev/mp-weixin/node-modules/uview-plus/components/u--input/u--input.json
  24. 1 0
      dist/dev/mp-weixin/node-modules/uview-plus/components/u--input/u--input.wxml
  25. 0 0
      dist/dev/mp-weixin/node-modules/uview-plus/components/u--input/u--input.wxss
  26. 79 0
      dist/dev/mp-weixin/node-modules/uview-plus/components/u-back-top/u-back-top.js
  27. 7 0
      dist/dev/mp-weixin/node-modules/uview-plus/components/u-back-top/u-back-top.json
  28. 1 0
      dist/dev/mp-weixin/node-modules/uview-plus/components/u-back-top/u-back-top.wxml
  29. 50 0
      dist/dev/mp-weixin/node-modules/uview-plus/components/u-back-top/u-back-top.wxss
  30. 60 0
      dist/dev/mp-weixin/node-modules/uview-plus/components/u-badge/u-badge.js
  31. 4 0
      dist/dev/mp-weixin/node-modules/uview-plus/components/u-badge/u-badge.json
  32. 1 0
      dist/dev/mp-weixin/node-modules/uview-plus/components/u-badge/u-badge.wxml
  33. 91 0
      dist/dev/mp-weixin/node-modules/uview-plus/components/u-badge/u-badge.wxss
  34. 193 0
      dist/dev/mp-weixin/node-modules/uview-plus/components/u-button/u-button.js
  35. 7 0
      dist/dev/mp-weixin/node-modules/uview-plus/components/u-button/u-button.json
  36. 1 0
      dist/dev/mp-weixin/node-modules/uview-plus/components/u-button/u-button.wxml
  37. 184 0
      dist/dev/mp-weixin/node-modules/uview-plus/components/u-button/u-button.wxss
  38. 68 0
      dist/dev/mp-weixin/node-modules/uview-plus/components/u-checkbox-group/u-checkbox-group.js
  39. 4 0
      dist/dev/mp-weixin/node-modules/uview-plus/components/u-checkbox-group/u-checkbox-group.json
  40. 1 0
      dist/dev/mp-weixin/node-modules/uview-plus/components/u-checkbox-group/u-checkbox-group.wxml
  41. 44 0
      dist/dev/mp-weixin/node-modules/uview-plus/components/u-checkbox-group/u-checkbox-group.wxss
  42. 195 0
      dist/dev/mp-weixin/node-modules/uview-plus/components/u-checkbox/u-checkbox.js
  43. 6 0
      dist/dev/mp-weixin/node-modules/uview-plus/components/u-checkbox/u-checkbox.json
  44. 1 0
      dist/dev/mp-weixin/node-modules/uview-plus/components/u-checkbox/u-checkbox.wxml
  45. 98 0
      dist/dev/mp-weixin/node-modules/uview-plus/components/u-checkbox/u-checkbox.wxss
  46. 305 0
      dist/dev/mp-weixin/node-modules/uview-plus/components/u-datetime-picker/u-datetime-picker.js
  47. 6 0
      dist/dev/mp-weixin/node-modules/uview-plus/components/u-datetime-picker/u-datetime-picker.json
  48. 1 0
      dist/dev/mp-weixin/node-modules/uview-plus/components/u-datetime-picker/u-datetime-picker.wxml
  49. 34 0
      dist/dev/mp-weixin/node-modules/uview-plus/components/u-datetime-picker/u-datetime-picker.wxss
  50. 80 0
      dist/dev/mp-weixin/node-modules/uview-plus/components/u-empty/u-empty.js
  51. 6 0
      dist/dev/mp-weixin/node-modules/uview-plus/components/u-empty/u-empty.json
  52. 1 0
      dist/dev/mp-weixin/node-modules/uview-plus/components/u-empty/u-empty.wxml
  53. 61 0
      dist/dev/mp-weixin/node-modules/uview-plus/components/u-empty/u-empty.wxss
  54. 112 0
      dist/dev/mp-weixin/node-modules/uview-plus/components/u-form-item/u-form-item.js
  55. 7 0
      dist/dev/mp-weixin/node-modules/uview-plus/components/u-form-item/u-form-item.json
  56. 1 0
      dist/dev/mp-weixin/node-modules/uview-plus/components/u-form-item/u-form-item.wxml
  57. 111 0
      dist/dev/mp-weixin/node-modules/uview-plus/components/u-form-item/u-form-item.wxss
  58. 170 0
      dist/dev/mp-weixin/node-modules/uview-plus/components/u-form/u-form.js
  59. 4 0
      dist/dev/mp-weixin/node-modules/uview-plus/components/u-form/u-form.json
  60. 1 0
      dist/dev/mp-weixin/node-modules/uview-plus/components/u-form/u-form.wxml
  61. 0 0
      dist/dev/mp-weixin/node-modules/uview-plus/components/u-form/u-form.wxss
  62. 83 0
      dist/dev/mp-weixin/node-modules/uview-plus/components/u-icon/u-icon.js
  63. 4 0
      dist/dev/mp-weixin/node-modules/uview-plus/components/u-icon/u-icon.json
  64. 1 0
      dist/dev/mp-weixin/node-modules/uview-plus/components/u-icon/u-icon.wxml
  65. 89 0
      dist/dev/mp-weixin/node-modules/uview-plus/components/u-icon/u-icon.wxss
  66. 133 0
      dist/dev/mp-weixin/node-modules/uview-plus/components/u-image/u-image.js
  67. 7 0
      dist/dev/mp-weixin/node-modules/uview-plus/components/u-image/u-image.json
  68. 1 0
      dist/dev/mp-weixin/node-modules/uview-plus/components/u-image/u-image.wxml
  69. 58 0
      dist/dev/mp-weixin/node-modules/uview-plus/components/u-image/u-image.wxss
  70. 206 0
      dist/dev/mp-weixin/node-modules/uview-plus/components/u-input/u-input.js
  71. 6 0
      dist/dev/mp-weixin/node-modules/uview-plus/components/u-input/u-input.json
  72. 1 0
      dist/dev/mp-weixin/node-modules/uview-plus/components/u-input/u-input.wxml
  73. 98 0
      dist/dev/mp-weixin/node-modules/uview-plus/components/u-input/u-input.wxss
  74. 34 0
      dist/dev/mp-weixin/node-modules/uview-plus/components/u-line/u-line.js
  75. 4 0
      dist/dev/mp-weixin/node-modules/uview-plus/components/u-line/u-line.json
  76. 1 0
      dist/dev/mp-weixin/node-modules/uview-plus/components/u-line/u-line.wxml
  77. 37 0
      dist/dev/mp-weixin/node-modules/uview-plus/components/u-line/u-line.wxss
  78. 98 0
      dist/dev/mp-weixin/node-modules/uview-plus/components/u-loading-icon/u-loading-icon.js
  79. 4 0
      dist/dev/mp-weixin/node-modules/uview-plus/components/u-loading-icon/u-loading-icon.json
  80. 1 0
      dist/dev/mp-weixin/node-modules/uview-plus/components/u-loading-icon/u-loading-icon.wxml
  81. 165 0
      dist/dev/mp-weixin/node-modules/uview-plus/components/u-loading-icon/u-loading-icon.wxss
  82. 96 0
      dist/dev/mp-weixin/node-modules/uview-plus/components/u-loadmore/u-loadmore.js
  83. 7 0
      dist/dev/mp-weixin/node-modules/uview-plus/components/u-loadmore/u-loadmore.json
  84. 1 0
      dist/dev/mp-weixin/node-modules/uview-plus/components/u-loadmore/u-loadmore.wxml
  85. 63 0
      dist/dev/mp-weixin/node-modules/uview-plus/components/u-loadmore/u-loadmore.wxss
  86. 86 0
      dist/dev/mp-weixin/node-modules/uview-plus/components/u-navbar/u-navbar.js
  87. 7 0
      dist/dev/mp-weixin/node-modules/uview-plus/components/u-navbar/u-navbar.json
  88. 1 0
      dist/dev/mp-weixin/node-modules/uview-plus/components/u-navbar/u-navbar.wxml
  89. 85 0
      dist/dev/mp-weixin/node-modules/uview-plus/components/u-navbar/u-navbar.wxss
  90. 277 0
      dist/dev/mp-weixin/node-modules/uview-plus/components/u-number-box/u-number-box.js
  91. 6 0
      dist/dev/mp-weixin/node-modules/uview-plus/components/u-number-box/u-number-box.json
  92. 1 0
      dist/dev/mp-weixin/node-modules/uview-plus/components/u-number-box/u-number-box.wxml
  93. 86 0
      dist/dev/mp-weixin/node-modules/uview-plus/components/u-number-box/u-number-box.wxss
  94. 46 0
      dist/dev/mp-weixin/node-modules/uview-plus/components/u-overlay/u-overlay.js
  95. 6 0
      dist/dev/mp-weixin/node-modules/uview-plus/components/u-overlay/u-overlay.json
  96. 1 0
      dist/dev/mp-weixin/node-modules/uview-plus/components/u-overlay/u-overlay.wxml
  97. 42 0
      dist/dev/mp-weixin/node-modules/uview-plus/components/u-overlay/u-overlay.wxss
  98. 201 0
      dist/dev/mp-weixin/node-modules/uview-plus/components/u-picker/u-picker.js
  99. 8 0
      dist/dev/mp-weixin/node-modules/uview-plus/components/u-picker/u-picker.json
  100. 1 0
      dist/dev/mp-weixin/node-modules/uview-plus/components/u-picker/u-picker.wxml

+ 96 - 0
dist/dev/mp-weixin/app.js

@@ -0,0 +1,96 @@
+"use strict";
+Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
+const common_vendor = require("./common/vendor.js");
+const utils_auth = require("./utils/auth.js");
+const stores_permission = require("./stores/permission.js");
+const plugins_index = require("./plugins/index.js");
+require("./utils/storage.js");
+require("./utils/constant.js");
+require("./utils/request.js");
+require("./stores/user.js");
+require("./config.js");
+require("./utils/errorCode.js");
+require("./utils/common.js");
+require("./plugins/tab.js");
+require("./plugins/auth.js");
+require("./plugins/modal.js");
+require("./plugins/xy.js");
+require("./plugins/request.js");
+require("./plugins/dict.js");
+require("./stores/dict.js");
+if (!Math) {
+  "./pages/login.js";
+  "./pages/globalPages/home.js";
+  "./pages/xy_system/devices/deviceList.js";
+  "./pages/xy_system/devices/deviceDetail.js";
+  "./pages/xy_system/devices/deviceNetHistory.js";
+  "./pages/xy_system/devices/deviceEvents.js";
+  "./pages/xy_system/logs/deviceLogs.js";
+  "./pages/xy_system/logs/logFile.js";
+  "./pages/xy_merc_be/mercManager/merc.js";
+}
+const _sfc_main = {
+  __name: "App",
+  setup(__props) {
+    const { proxy } = common_vendor.getCurrentInstance();
+    common_vendor.onLaunch(() => {
+      initApp();
+    });
+    function initApp() {
+      console.log("初始化应用开始~");
+      isUpdate();
+      checkLogin();
+    }
+    async function checkLogin() {
+      console.log("检测是否登录开始!");
+      if (utils_auth.getToken()) {
+        console.log("已登录!");
+        await stores_permission.usePermissionStore().GetPermis();
+        if (stores_permission.usePermissionStore().permissions_menu && stores_permission.usePermissionStore().permissions_menu.length > 0) {
+          {
+            proxy.$tab.reLaunch("/pages/globalPages/home");
+          }
+        } else {
+          proxy.$modal.msg("该用户无权限~");
+        }
+      } else {
+        console.log("未登录!");
+      }
+    }
+    function isUpdate() {
+      console.log("检测更新开始~");
+      const updateManager = common_vendor.index.getUpdateManager();
+      updateManager.onCheckForUpdate(function(res) {
+        console.log(res.hasUpdate);
+      });
+      updateManager.onUpdateReady(function() {
+        common_vendor.index.showModal({
+          title: "更新提示",
+          content: "新版本已经准备好,是否重启应用?",
+          success(res) {
+            if (res.confirm) {
+              updateManager.applyUpdate();
+            }
+          }
+        });
+      });
+      updateManager.onUpdateFailed(function() {
+      });
+    }
+    return () => {
+    };
+  }
+};
+const App = /* @__PURE__ */ common_vendor._export_sfc(_sfc_main, [["__file", "F:/兴元/开门柜项目/平台端管理系统小程序/src/App.vue"]]);
+function createApp() {
+  const app = common_vendor.createSSRApp(App);
+  app.use(common_vendor.uviewPlus);
+  app.use(common_vendor.createPinia());
+  app.use(plugins_index.installPlugins);
+  return {
+    app,
+    Pinia: common_vendor.Pinia
+  };
+}
+createApp().app.mount("#app");
+exports.createApp = createApp;

+ 37 - 0
dist/dev/mp-weixin/app.json

@@ -0,0 +1,37 @@
+{
+  "pages": [
+    "pages/login"
+  ],
+  "subPackages": [
+    {
+      "root": "pages/globalPages",
+      "pages": [
+        "home"
+      ]
+    },
+    {
+      "root": "pages/xy_system",
+      "pages": [
+        "devices/deviceList",
+        "devices/deviceDetail",
+        "devices/deviceNetHistory",
+        "devices/deviceEvents",
+        "logs/deviceLogs",
+        "logs/logFile"
+      ]
+    },
+    {
+      "root": "pages/xy_merc_be",
+      "pages": [
+        "mercManager/merc"
+      ]
+    }
+  ],
+  "window": {
+    "navigationBarTextStyle": "black",
+    "navigationBarTitleText": "uni-app",
+    "navigationBarBackgroundColor": "#F8F8F8",
+    "backgroundColor": "#F8F8F8"
+  },
+  "usingComponents": {}
+}

+ 3642 - 0
dist/dev/mp-weixin/app.wxss

@@ -0,0 +1,3642 @@
+/**
+ * 这里是uni-app内置的常用样式变量
+ *
+ * uni-app 官方扩展插件及插件市场(https://ext.dcloud.net.cn)上很多三方插件均使用了这些样式变量
+ * 如果你是插件开发者,建议你使用scss预处理,并在插件代码中直接使用这些变量(无需 import 这个文件),方便用户通过搭积木的方式开发整体风格一致的App
+ *
+ */
+/**
+ * 如果你是App开发者(插件使用者),你可以通过修改这些变量来定制自己的插件主题,实现自定义主题功能
+ *
+ * 如果你的项目同样使用了scss预处理,你也可以直接在你的 scss 代码中使用如下变量,同时无需 import 这个文件
+ */
+/* 颜色变量 */
+/* 行为相关颜色 */
+/* 文字基本颜色 */
+/* 背景颜色 */
+/* 边框颜色 */
+/* 尺寸变量 */
+/* 文字尺寸 */
+/* 图片尺寸 */
+/* Border Radius */
+/* 水平间距 */
+/* 垂直间距 */
+/* 透明度 */
+/* 文章场景相关 */
+/*每个页面公共css */
+/*
+  ColorUi for uniApp  v2.1.6 | by 文晓港 2019-05-31 10:44:24
+  仅供学习交流,如作它用所承受的法律责任一概与作者无关  
+  
+  *使用ColorUi开发扩展与插件时,请注明基于ColorUi开发 
+  
+  (QQ交流群:240787041)
+*/
+/* ==================
+        初始化
+ ==================== */
+body {
+	background-color: #EEEEEE;
+	font-size: 28rpx;
+	color: #333333;
+	font-family: Helvetica Neue, Helvetica, sans-serif;
+}
+view,
+scroll-view,
+swiper,
+button,
+input,
+textarea,
+label,
+navigator,
+image {
+	box-sizing: border-box;
+}
+.round {
+	border-radius: 5000rpx;
+}
+.radius {
+	border-radius: 6rpx;
+}
+/* ==================
+          图片
+ ==================== */
+image {
+	max-width: 100%;
+	display: inline-block;
+	position: relative;
+	z-index: 0;
+}
+image.loading::before {
+	content: "";
+	background-color: #f5f5f5;
+	display: block;
+	position: absolute;
+	width: 100%;
+	height: 100%;
+	z-index: -2;
+}
+image.loading::after {
+	content: "\e7f1";
+	font-family: "cuIcon";
+	position: absolute;
+	top: 0;
+	left: 0;
+	width: 32rpx;
+	height: 32rpx;
+	line-height: 32rpx;
+	right: 0;
+	bottom: 0;
+	z-index: -1;
+	font-size: 32rpx;
+	margin: auto;
+	color: #ccc;
+	animation: cuIcon-spin 2s infinite linear;
+	display: block;
+}
+.response {
+	width: 100%;
+}
+/* ==================
+         开关
+ ==================== */
+switch,
+checkbox,
+radio {
+	position: relative;
+}
+switch::after,
+switch::before {
+	font-family: "cuIcon";
+	content: "\e645";
+	position: absolute;
+	color: #ffffff !important;
+	top: 0%;
+	left: 0rpx;
+	font-size: 26rpx;
+	line-height: 26px;
+	width: 50%;
+	text-align: center;
+	pointer-events: none;
+	transform: scale(0, 0);
+	transition: all 0.3s ease-in-out 0s;
+	z-index: 9;
+	bottom: 0;
+	height: 26px;
+	margin: auto;
+}
+switch::before {
+	content: "\e646";
+	right: 0;
+	transform: scale(1, 1);
+	left: auto;
+}
+switch[checked]::after,
+switch.checked::after {
+	transform: scale(1, 1);
+}
+switch[checked]::before,
+switch.checked::before {
+	transform: scale(0, 0);
+}
+radio::before,
+checkbox::before {
+	font-family: "cuIcon";
+	content: "\e645";
+	position: absolute;
+	color: #ffffff !important;
+	top: 50%;
+	margin-top: -8px;
+	right: 5px;
+	font-size: 32rpx;
+	line-height: 16px;
+	pointer-events: none;
+	transform: scale(1, 1);
+	transition: all 0.3s ease-in-out 0s;
+	z-index: 9;
+}
+radio .wx-radio-input,
+checkbox .wx-checkbox-input,
+radio .uni-radio-input,
+checkbox .uni-checkbox-input {
+	margin: 0;
+	width: 24px;
+	height: 24px;
+}
+checkbox.round .wx-checkbox-input,
+checkbox.round .uni-checkbox-input {
+	border-radius: 100rpx;
+}
+switch[checked]::before {
+	transform: scale(0, 0);
+}
+switch .wx-switch-input,
+switch .uni-switch-input {
+	border: none;
+	padding: 0 24px;
+	width: 48px;
+	height: 26px;
+	margin: 0;
+	border-radius: 100rpx;
+}
+switch .wx-switch-input:not([class*="bg-"]),
+switch .uni-switch-input:not([class*="bg-"]) {
+	background: #8799a3 !important;
+}
+switch .wx-switch-input::after,
+switch .uni-switch-input::after {
+	margin: auto;
+	width: 26px;
+	height: 26px;
+	border-radius: 100rpx;
+	left: 0rpx;
+	top: 0rpx;
+	bottom: 0rpx;
+	position: absolute;
+	transform: scale(0.9, 0.9);
+	transition: all 0.1s ease-in-out 0s;
+}
+switch .wx-switch-input.wx-switch-input-checked::after,
+switch .uni-switch-input.uni-switch-input-checked::after {
+	margin: auto;
+	left: 22px;
+	box-shadow: none;
+	transform: scale(0.9, 0.9);
+}
+radio-group {
+	display: inline-block;
+}
+switch.radius .wx-switch-input::after,
+switch.radius .wx-switch-input,
+switch.radius .wx-switch-input::before,
+switch.radius .uni-switch-input::after,
+switch.radius .uni-switch-input,
+switch.radius .uni-switch-input::before {
+	border-radius: 10rpx;
+}
+switch .wx-switch-input::before,
+radio.radio::before,
+checkbox .wx-checkbox-input::before,
+radio .wx-radio-input::before,
+switch .uni-switch-input::before,
+radio.radio::before,
+checkbox .uni-checkbox-input::before,
+radio .uni-radio-input::before {
+	display: none;
+}
+radio.radio[checked]::after,
+radio.radio .uni-radio-input-checked::after {
+	content: "";
+	background-color: transparent;
+	display: block;
+	position: absolute;
+	width: 8px;
+	height: 8px;
+	z-index: 999;
+	top: 0rpx;
+	left: 0rpx;
+	right: 0;
+	bottom: 0;
+	margin: auto;
+	border-radius: 200rpx;
+
+
+
+
+
+	border: 8px solid #ffffff !important;
+}
+.switch-sex::after {
+	content: "\e71c";
+}
+.switch-sex::before {
+	content: "\e71a";
+}
+.switch-sex .wx-switch-input,
+.switch-sex .uni-switch-input {
+	background: #e54d42 !important;
+	border-color: #e54d42 !important;
+}
+.switch-sex[checked] .wx-switch-input,
+.switch-sex.checked .uni-switch-input {
+	background: #0081ff !important;
+	border-color: #0081ff !important;
+}
+switch.red[checked] .wx-switch-input.wx-switch-input-checked,
+checkbox.red[checked] .wx-checkbox-input,
+radio.red[checked] .wx-radio-input,
+switch.red.checked .uni-switch-input.uni-switch-input-checked,
+checkbox.red.checked .uni-checkbox-input,
+radio.red.checked .uni-radio-input {
+	background-color: #e54d42 !important;
+	border-color: #e54d42 !important;
+	color: #ffffff !important;
+}
+switch.orange[checked] .wx-switch-input,
+checkbox.orange[checked] .wx-checkbox-input,
+radio.orange[checked] .wx-radio-input,
+switch.orange.checked .uni-switch-input,
+checkbox.orange.checked .uni-checkbox-input,
+radio.orange.checked .uni-radio-input {
+	background-color: #f37b1d !important;
+	border-color: #f37b1d !important;
+	color: #ffffff !important;
+}
+switch.yellow[checked] .wx-switch-input,
+checkbox.yellow[checked] .wx-checkbox-input,
+radio.yellow[checked] .wx-radio-input,
+switch.yellow.checked .uni-switch-input,
+checkbox.yellow.checked .uni-checkbox-input,
+radio.yellow.checked .uni-radio-input {
+	background-color: #fbbd08 !important;
+	border-color: #fbbd08 !important;
+	color: #333333 !important;
+}
+switch.olive[checked] .wx-switch-input,
+checkbox.olive[checked] .wx-checkbox-input,
+radio.olive[checked] .wx-radio-input,
+switch.olive.checked .uni-switch-input,
+checkbox.olive.checked .uni-checkbox-input,
+radio.olive.checked .uni-radio-input {
+	background-color: #8dc63f !important;
+	border-color: #8dc63f !important;
+	color: #ffffff !important;
+}
+switch.green[checked] .wx-switch-input,
+switch[checked] .wx-switch-input,
+checkbox.green[checked] .wx-checkbox-input,
+checkbox[checked] .wx-checkbox-input,
+radio.green[checked] .wx-radio-input,
+radio[checked] .wx-radio-input,
+switch.green.checked .uni-switch-input,
+switch.checked .uni-switch-input,
+checkbox.green.checked .uni-checkbox-input,
+checkbox.checked .uni-checkbox-input,
+radio.green.checked .uni-radio-input,
+radio.checked .uni-radio-input {
+	background-color: #39b54a !important;
+	border-color: #39b54a !important;
+	color: #ffffff !important;
+	border-color: #39B54A !important;
+}
+switch.cyan[checked] .wx-switch-input,
+checkbox.cyan[checked] .wx-checkbox-input,
+radio.cyan[checked] .wx-radio-input,
+switch.cyan.checked .uni-switch-input,
+checkbox.cyan.checked .uni-checkbox-input,
+radio.cyan.checked .uni-radio-input {
+	background-color: #1cbbb4 !important;
+	border-color: #1cbbb4 !important;
+	color: #ffffff !important;
+}
+switch.blue[checked] .wx-switch-input,
+checkbox.blue[checked] .wx-checkbox-input,
+radio.blue[checked] .wx-radio-input,
+switch.blue.checked .uni-switch-input,
+checkbox.blue.checked .uni-checkbox-input,
+radio.blue.checked .uni-radio-input {
+	background-color: #0081ff !important;
+	border-color: #0081ff !important;
+	color: #ffffff !important;
+}
+switch.purple[checked] .wx-switch-input,
+checkbox.purple[checked] .wx-checkbox-input,
+radio.purple[checked] .wx-radio-input,
+switch.purple.checked .uni-switch-input,
+checkbox.purple.checked .uni-checkbox-input,
+radio.purple.checked .uni-radio-input {
+	background-color: #6739b6 !important;
+	border-color: #6739b6 !important;
+	color: #ffffff !important;
+}
+switch.mauve[checked] .wx-switch-input,
+checkbox.mauve[checked] .wx-checkbox-input,
+radio.mauve[checked] .wx-radio-input,
+switch.mauve.checked .uni-switch-input,
+checkbox.mauve.checked .uni-checkbox-input,
+radio.mauve.checked .uni-radio-input {
+	background-color: #9c26b0 !important;
+	border-color: #9c26b0 !important;
+	color: #ffffff !important;
+}
+switch.pink[checked] .wx-switch-input,
+checkbox.pink[checked] .wx-checkbox-input,
+radio.pink[checked] .wx-radio-input,
+switch.pink.checked .uni-switch-input,
+checkbox.pink.checked .uni-checkbox-input,
+radio.pink.checked .uni-radio-input {
+	background-color: #e03997 !important;
+	border-color: #e03997 !important;
+	color: #ffffff !important;
+}
+switch.brown[checked] .wx-switch-input,
+checkbox.brown[checked] .wx-checkbox-input,
+radio.brown[checked] .wx-radio-input,
+switch.brown.checked .uni-switch-input,
+checkbox.brown.checked .uni-checkbox-input,
+radio.brown.checked .uni-radio-input {
+	background-color: #a5673f !important;
+	border-color: #a5673f !important;
+	color: #ffffff !important;
+}
+switch.grey[checked] .wx-switch-input,
+checkbox.grey[checked] .wx-checkbox-input,
+radio.grey[checked] .wx-radio-input,
+switch.grey.checked .uni-switch-input,
+checkbox.grey.checked .uni-checkbox-input,
+radio.grey.checked .uni-radio-input {
+	background-color: #8799a3 !important;
+	border-color: #8799a3 !important;
+	color: #ffffff !important;
+}
+switch.gray[checked] .wx-switch-input,
+checkbox.gray[checked] .wx-checkbox-input,
+radio.gray[checked] .wx-radio-input,
+switch.gray.checked .uni-switch-input,
+checkbox.gray.checked .uni-checkbox-input,
+radio.gray.checked .uni-radio-input {
+	background-color: #f0f0f0 !important;
+	border-color: #f0f0f0 !important;
+	color: #333333 !important;
+}
+switch.black[checked] .wx-switch-input,
+checkbox.black[checked] .wx-checkbox-input,
+radio.black[checked] .wx-radio-input,
+switch.black.checked .uni-switch-input,
+checkbox.black.checked .uni-checkbox-input,
+radio.black.checked .uni-radio-input {
+	background-color: #333333 !important;
+	border-color: #333333 !important;
+	color: #ffffff !important;
+}
+switch.white[checked] .wx-switch-input,
+checkbox.white[checked] .wx-checkbox-input,
+radio.white[checked] .wx-radio-input,
+switch.white.checked .uni-switch-input,
+checkbox.white.checked .uni-checkbox-input,
+radio.white.checked .uni-radio-input {
+	background-color: #ffffff !important;
+	border-color: #ffffff !important;
+	color: #333333 !important;
+}
+/* ==================
+          边框
+ ==================== */
+/* -- 实线 -- */
+.solid,
+.solid-top,
+.solid-right,
+.solid-bottom,
+.solid-left,
+.solids,
+.solids-top,
+.solids-right,
+.solids-bottom,
+.solids-left,
+.dashed,
+.dashed-top,
+.dashed-right,
+.dashed-bottom,
+.dashed-left {
+	position: relative;
+}
+.solid::after,
+.solid-top::after,
+.solid-right::after,
+.solid-bottom::after,
+.solid-left::after,
+.solids::after,
+.solids-top::after,
+.solids-right::after,
+.solids-bottom::after,
+.solids-left::after,
+.dashed::after,
+.dashed-top::after,
+.dashed-right::after,
+.dashed-bottom::after,
+.dashed-left::after {
+	content: " ";
+	width: 200%;
+	height: 200%;
+	position: absolute;
+	top: 0;
+	left: 0;
+	border-radius: inherit;
+	transform: scale(0.5);
+	transform-origin: 0 0;
+	pointer-events: none;
+	box-sizing: border-box;
+}
+.solid::after {
+	border: 1rpx solid rgba(0, 0, 0, 0.1);
+}
+.solid-top::after {
+	border-top: 1rpx solid rgba(0, 0, 0, 0.1);
+}
+.solid-right::after {
+	border-right: 1rpx solid rgba(0, 0, 0, 0.1);
+}
+.solid-bottom::after {
+	border-bottom: 1rpx solid rgba(0, 0, 0, 0.1);
+}
+.solid-left::after {
+	border-left: 1rpx solid rgba(0, 0, 0, 0.1);
+}
+.solids::after {
+	border: 8rpx solid #eee;
+}
+.solids-top::after {
+	border-top: 8rpx solid #eee;
+}
+.solids-right::after {
+	border-right: 8rpx solid #eee;
+}
+.solids-bottom::after {
+	border-bottom: 8rpx solid #eee;
+}
+.solids-left::after {
+	border-left: 8rpx solid #eee;
+}
+/* -- 虚线 -- */
+.dashed::after {
+	border: 1rpx dashed #ddd;
+}
+.dashed-top::after {
+	border-top: 1rpx dashed #ddd;
+}
+.dashed-right::after {
+	border-right: 1rpx dashed #ddd;
+}
+.dashed-bottom::after {
+	border-bottom: 1rpx dashed #ddd;
+}
+.dashed-left::after {
+	border-left: 1rpx dashed #ddd;
+}
+/* -- 阴影 -- */
+.shadow[class*='white'] {
+	--ShadowSize: 0 1rpx 6rpx;
+}
+.shadow-lg {
+	--ShadowSize: 0rpx 40rpx 100rpx 0rpx;
+}
+.shadow-warp {
+	position: relative;
+	box-shadow: 0 0 10rpx rgba(0, 0, 0, 0.1);
+}
+.shadow-warp:before,
+.shadow-warp:after {
+	position: absolute;
+	content: "";
+	top: 20rpx;
+	bottom: 30rpx;
+	left: 20rpx;
+	width: 50%;
+	box-shadow: 0 30rpx 20rpx rgba(0, 0, 0, 0.2);
+	transform: rotate(-3deg);
+	z-index: -1;
+}
+.shadow-warp:after {
+	right: 20rpx;
+	left: auto;
+	transform: rotate(3deg);
+}
+.shadow-blur {
+	position: relative;
+}
+.shadow-blur::before {
+	content: "";
+	display: block;
+	background: inherit;
+	filter: blur(10rpx);
+	position: absolute;
+	width: 100%;
+	height: 100%;
+	top: 10rpx;
+	left: 10rpx;
+	z-index: -1;
+	opacity: 0.4;
+	transform-origin: 0 0;
+	border-radius: inherit;
+	transform: scale(1, 1);
+}
+/* ==================
+          按钮
+ ==================== */
+.cu-btn {
+	position: relative;
+	border: 0rpx;
+	display: inline-flex;
+	align-items: center;
+	justify-content: center;
+	box-sizing: border-box;
+	padding: 0 30rpx;
+	font-size: 28rpx;
+	height: 64rpx;
+	line-height: 1;
+	text-align: center;
+	text-decoration: none;
+	overflow: visible;
+	margin-left: initial;
+	transform: translate(0rpx, 0rpx);
+	margin-right: initial;
+}
+.cu-btn::after {
+	display: none;
+}
+.cu-btn:not([class*="bg-"]) {
+	background-color: #f0f0f0;
+}
+.cu-btn[class*="line"] {
+	background-color: transparent;
+}
+.cu-btn[class*="line"]::after {
+	content: " ";
+	display: block;
+	width: 200%;
+	height: 200%;
+	position: absolute;
+	top: 0;
+	left: 0;
+	border: 1rpx solid currentColor;
+	transform: scale(0.5);
+	transform-origin: 0 0;
+	box-sizing: border-box;
+	border-radius: 12rpx;
+	z-index: 1;
+	pointer-events: none;
+}
+.cu-btn.round[class*="line"]::after {
+	border-radius: 1000rpx;
+}
+.cu-btn[class*="lines"]::after {
+	border: 6rpx solid currentColor;
+}
+.cu-btn[class*="bg-"]::after {
+	display: none;
+}
+.cu-btn.sm {
+	padding: 0 20rpx;
+	font-size: 20rpx;
+	height: 48rpx;
+}
+.cu-btn.lg {
+	padding: 0 40rpx;
+	font-size: 32rpx;
+	height: 80rpx;
+}
+.cu-btn.cuIcon.sm {
+	width: 48rpx;
+	height: 48rpx;
+}
+.cu-btn.cuIcon {
+	width: 64rpx;
+	height: 64rpx;
+	border-radius: 500rpx;
+	padding: 0;
+}
+button.cuIcon.lg {
+	width: 80rpx;
+	height: 80rpx;
+}
+.cu-btn.shadow-blur::before {
+	top: 4rpx;
+	left: 4rpx;
+	filter: blur(6rpx);
+	opacity: 0.6;
+}
+.cu-btn.button-hover {
+	transform: translate(1rpx, 1rpx);
+}
+.block {
+	display: block;
+}
+.cu-btn.block {
+	display: flex;
+}
+.cu-btn[disabled] {
+	opacity: 0.6;
+	color: #ffffff;
+}
+/* ==================
+          徽章
+ ==================== */
+.cu-tag {
+	font-size: 24rpx;
+	vertical-align: middle;
+	position: relative;
+	display: inline-flex;
+	align-items: center;
+	justify-content: center;
+	box-sizing: border-box;
+	padding: 0rpx 16rpx;
+	height: 48rpx;
+	font-family: Helvetica Neue, Helvetica, sans-serif;
+	white-space: nowrap;
+}
+.cu-tag:not([class*="bg"]):not([class*="line"]) {
+	background-color: #f1f1f1;
+}
+.cu-tag[class*="line-"]::after {
+	content: " ";
+	width: 200%;
+	height: 200%;
+	position: absolute;
+	top: 0;
+	left: 0;
+	border: 1rpx solid currentColor;
+	transform: scale(0.5);
+	transform-origin: 0 0;
+	box-sizing: border-box;
+	border-radius: inherit;
+	z-index: 1;
+	pointer-events: none;
+}
+.cu-tag.radius[class*="line"]::after {
+	border-radius: 12rpx;
+}
+.cu-tag.round[class*="line"]::after {
+	border-radius: 1000rpx;
+}
+.cu-tag[class*="line-"]::after {
+	border-radius: 0;
+}
+.cu-tag+.cu-tag {
+	margin-left: 10rpx;
+}
+.cu-tag.sm {
+	font-size: 20rpx;
+	padding: 0rpx 12rpx;
+	height: 32rpx;
+}
+.cu-capsule {
+	display: inline-flex;
+	vertical-align: middle;
+}
+.cu-capsule+.cu-capsule {
+	margin-left: 10rpx;
+}
+.cu-capsule .cu-tag {
+	margin: 0;
+}
+.cu-capsule .cu-tag[class*="line-"]:last-child::after {
+	border-left: 0rpx solid transparent;
+}
+.cu-capsule .cu-tag[class*="line-"]:first-child::after {
+	border-right: 0rpx solid transparent;
+}
+.cu-capsule.radius .cu-tag:first-child {
+	border-top-left-radius: 6rpx;
+	border-bottom-left-radius: 6rpx;
+}
+.cu-capsule.radius .cu-tag:last-child::after,
+.cu-capsule.radius .cu-tag[class*="line-"] {
+	border-top-right-radius: 12rpx;
+	border-bottom-right-radius: 12rpx;
+}
+.cu-capsule.round .cu-tag:first-child {
+	border-top-left-radius: 200rpx;
+	border-bottom-left-radius: 200rpx;
+	text-indent: 4rpx;
+}
+.cu-capsule.round .cu-tag:last-child::after,
+.cu-capsule.round .cu-tag:last-child {
+	border-top-right-radius: 200rpx;
+	border-bottom-right-radius: 200rpx;
+	text-indent: -4rpx;
+}
+.cu-tag.badge {
+	border-radius: 200rpx;
+	position: absolute;
+	top: -10rpx;
+	right: -10rpx;
+	font-size: 20rpx;
+	padding: 0rpx 10rpx;
+	height: 28rpx;
+	color: #ffffff;
+}
+.cu-tag.badge:not([class*="bg-"]) {
+	background-color: #dd514c;
+}
+.cu-tag:empty:not([class*="cuIcon-"]) {
+	padding: 0rpx;
+	width: 16rpx;
+	height: 16rpx;
+	top: -4rpx;
+	right: -4rpx;
+}
+.cu-tag[class*="cuIcon-"] {
+	width: 32rpx;
+	height: 32rpx;
+	top: -4rpx;
+	right: -4rpx;
+}
+/* ==================
+          头像
+ ==================== */
+.cu-avatar {
+	font-variant: small-caps;
+	margin: 0;
+	padding: 0;
+	display: inline-flex;
+	text-align: center;
+	justify-content: center;
+	align-items: center;
+	background-color: #ccc;
+	color: #ffffff;
+	white-space: nowrap;
+	position: relative;
+	width: 64rpx;
+	height: 64rpx;
+	background-size: cover;
+	background-position: center;
+	vertical-align: middle;
+	font-size: 1.5em;
+}
+.cu-avatar.sm {
+	width: 48rpx;
+	height: 48rpx;
+	font-size: 1em;
+}
+.cu-avatar.lg {
+	width: 96rpx;
+	height: 96rpx;
+	font-size: 2em;
+}
+.cu-avatar.xl {
+	width: 128rpx;
+	height: 128rpx;
+	font-size: 2.5em;
+}
+.cu-avatar .avatar-text {
+	font-size: 0.4em;
+}
+.cu-avatar-group {
+	direction: rtl;
+	unicode-bidi: bidi-override;
+	padding: 0 10rpx 0 40rpx;
+	display: inline-block;
+}
+.cu-avatar-group .cu-avatar {
+	margin-left: -30rpx;
+	border: 4rpx solid #f1f1f1;
+	vertical-align: middle;
+}
+.cu-avatar-group .cu-avatar.sm {
+	margin-left: -20rpx;
+	border: 1rpx solid #f1f1f1;
+}
+/* ==================
+         进度条
+ ==================== */
+.cu-progress {
+	overflow: hidden;
+	height: 28rpx;
+	background-color: #ebeef5;
+	display: inline-flex;
+	align-items: center;
+	width: 100%;
+}
+.cu-progress+view,
+.cu-progress+text {
+	line-height: 1;
+}
+.cu-progress.xs {
+	height: 10rpx;
+}
+.cu-progress.sm {
+	height: 20rpx;
+}
+.cu-progress view {
+	width: 0;
+	height: 100%;
+	align-items: center;
+	display: flex;
+	justify-items: flex-end;
+	justify-content: space-around;
+	font-size: 20rpx;
+	color: #ffffff;
+	transition: width 0.6s ease;
+}
+.cu-progress text {
+	align-items: center;
+	display: flex;
+	font-size: 20rpx;
+	color: #333333;
+	text-indent: 10rpx;
+}
+.cu-progress.text-progress {
+	padding-right: 60rpx;
+}
+.cu-progress.striped view {
+	background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
+	background-size: 72rpx 72rpx;
+}
+.cu-progress.active view {
+	animation: progress-stripes 2s linear infinite;
+}
+@keyframes progress-stripes {
+from {
+		background-position: 72rpx 0;
+}
+to {
+		background-position: 0 0;
+}
+}
+/* ==================
+          加载
+ ==================== */
+.cu-load {
+	display: block;
+	line-height: 3em;
+	text-align: center;
+}
+.cu-load::before {
+	font-family: "cuIcon";
+	display: inline-block;
+	margin-right: 6rpx;
+}
+.cu-load.loading::before {
+	content: "\e67a";
+	animation: cuIcon-spin 2s infinite linear;
+}
+.cu-load.loading::after {
+	content: "加载中...";
+}
+.cu-load.over::before {
+	content: "\e64a";
+}
+.cu-load.over::after {
+	content: "没有更多了";
+}
+.cu-load.erro::before {
+	content: "\e658";
+}
+.cu-load.erro::after {
+	content: "加载失败";
+}
+.cu-load.load-cuIcon::before {
+	font-size: 32rpx;
+}
+.cu-load.load-cuIcon::after {
+	display: none;
+}
+.cu-load.load-cuIcon.over {
+	display: none;
+}
+.cu-load.load-modal {
+	position: fixed;
+	top: 0;
+	right: 0;
+	bottom: 140rpx;
+	left: 0;
+	margin: auto;
+	width: 260rpx;
+	height: 260rpx;
+	background-color: #ffffff;
+	border-radius: 10rpx;
+	box-shadow: 0 0 0rpx 2000rpx rgba(0, 0, 0, 0.5);
+	display: flex;
+	align-items: center;
+	flex-direction: column;
+	justify-content: center;
+	font-size: 28rpx;
+	z-index: 9999;
+	line-height: 2.4em;
+}
+.cu-load.load-modal [class*="cuIcon-"] {
+	font-size: 60rpx;
+}
+.cu-load.load-modal image {
+	width: 70rpx;
+	height: 70rpx;
+}
+.cu-load.load-modal::after {
+	content: "";
+	position: absolute;
+	background-color: #ffffff;
+	border-radius: 50%;
+	width: 200rpx;
+	height: 200rpx;
+	font-size: 10px;
+	border-top: 6rpx solid rgba(0, 0, 0, 0.05);
+	border-right: 6rpx solid rgba(0, 0, 0, 0.05);
+	border-bottom: 6rpx solid rgba(0, 0, 0, 0.05);
+	border-left: 6rpx solid #f37b1d;
+	animation: cuIcon-spin 1s infinite linear;
+	z-index: -1;
+}
+.load-progress {
+	pointer-events: none;
+	top: 0;
+	position: fixed;
+	width: 100%;
+	left: 0;
+	z-index: 2000;
+}
+.load-progress.hide {
+	display: none;
+}
+.load-progress .load-progress-bar {
+	position: relative;
+	width: 100%;
+	height: 4rpx;
+	overflow: hidden;
+	transition: all 200ms ease 0s;
+}
+.load-progress .load-progress-spinner {
+	position: absolute;
+	top: 10rpx;
+	right: 10rpx;
+	z-index: 2000;
+	display: block;
+}
+.load-progress .load-progress-spinner::after {
+	content: "";
+	display: block;
+	width: 24rpx;
+	height: 24rpx;
+	box-sizing: border-box;
+	border: solid 4rpx transparent;
+	border-top-color: inherit;
+	border-left-color: inherit;
+	border-radius: 50%;
+	animation: load-progress-spinner 0.4s linear infinite;
+}
+@keyframes load-progress-spinner {
+0% {
+		transform: rotate(0);
+}
+100% {
+		transform: rotate(360deg);
+}
+}
+/* ==================
+          列表
+ ==================== */
+.grayscale {
+	filter: grayscale(1);
+}
+.cu-list+.cu-list {
+	margin-top: 30rpx
+}
+.cu-list>.cu-item {
+	transition: all .6s ease-in-out 0s;
+	transform: translateX(0rpx)
+}
+.cu-list>.cu-item.move-cur {
+	transform: translateX(-260rpx)
+}
+.cu-list>.cu-item .move {
+	position: absolute;
+	right: 0;
+	display: flex;
+	width: 260rpx;
+	height: 100%;
+	transform: translateX(100%)
+}
+.cu-list>.cu-item .move view {
+	display: flex;
+	flex: 1;
+	justify-content: center;
+	align-items: center
+}
+.cu-list.menu-avatar {
+	overflow: hidden;
+}
+.cu-list.menu-avatar>.cu-item {
+	position: relative;
+	display: flex;
+	padding-right: 10rpx;
+	height: 140rpx;
+	background-color: #ffffff;
+	justify-content: flex-end;
+	align-items: center
+}
+.cu-list.menu-avatar>.cu-item>.cu-avatar {
+	position: absolute;
+	left: 30rpx
+}
+.cu-list.menu-avatar>.cu-item .flex .text-cut {
+	max-width: 510rpx
+}
+.cu-list.menu-avatar>.cu-item .content {
+	position: absolute;
+	left: 146rpx;
+	width: calc(100% - 96rpx - 60rpx - 120rpx - 20rpx);
+	line-height: 1.6em;
+}
+.cu-list.menu-avatar>.cu-item .content.flex-sub {
+	width: calc(100% - 96rpx - 60rpx - 20rpx);
+}
+.cu-list.menu-avatar>.cu-item .content>view:first-child {
+	font-size: 30rpx;
+	display: flex;
+	align-items: center
+}
+.cu-list.menu-avatar>.cu-item .content .cu-tag.sm {
+	display: inline-block;
+	margin-left: 10rpx;
+	height: 28rpx;
+	font-size: 16rpx;
+	line-height: 32rpx
+}
+.cu-list.menu-avatar>.cu-item .action {
+	width: 100rpx;
+	text-align: center
+}
+.cu-list.menu-avatar>.cu-item .action view+view {
+	margin-top: 10rpx
+}
+.cu-list.menu-avatar.comment>.cu-item .content {
+	position: relative;
+	left: 0;
+	width: auto;
+	flex: 1;
+}
+.cu-list.menu-avatar.comment>.cu-item {
+	padding: 30rpx 30rpx 30rpx 120rpx;
+	height: auto
+}
+.cu-list.menu-avatar.comment .cu-avatar {
+	align-self: flex-start
+}
+.cu-list.menu>.cu-item {
+	position: relative;
+	display: flex;
+	padding: 0 30rpx;
+	min-height: 100rpx;
+	background-color: #ffffff;
+	justify-content: space-between;
+	align-items: center
+}
+.cu-list.menu>.cu-item:last-child:after {
+	border: none
+}
+.cu-list.menu-avatar>.cu-item:after,
+.cu-list.menu>.cu-item:after {
+	position: absolute;
+	top: 0;
+	left: 0;
+	box-sizing: border-box;
+	width: 200%;
+	height: 200%;
+	border-bottom: 1rpx solid #ddd;
+	border-radius: inherit;
+	content: " ";
+	transform: scale(.5);
+	transform-origin: 0 0;
+	pointer-events: none
+}
+.cu-list.menu>.cu-item.grayscale {
+	background-color: #f5f5f5
+}
+.cu-list.menu>.cu-item.cur {
+	background-color: #fcf7e9
+}
+.cu-list.menu>.cu-item.arrow {
+	padding-right: 90rpx
+}
+.cu-list.menu>.cu-item.arrow:before {
+	position: absolute;
+	top: 0;
+	right: 30rpx;
+	bottom: 0;
+	display: block;
+	margin: auto;
+	width: 30rpx;
+	height: 30rpx;
+	color: #8799a3;
+	content: "\e6a3";
+	text-align: center;
+	font-size: 34rpx;
+	font-family: cuIcon;
+	line-height: 30rpx
+}
+.cu-list.menu>.cu-item button.content {
+	padding: 0;
+	background-color: transparent;
+	justify-content: flex-start
+}
+.cu-list.menu>.cu-item button.content:after {
+	display: none
+}
+.cu-list.menu>.cu-item .cu-avatar-group .cu-avatar {
+	border-color: #ffffff
+}
+.cu-list.menu>.cu-item .content>view:first-child {
+	display: flex;
+	align-items: center
+}
+.cu-list.menu>.cu-item .content>text[class*=cuIcon] {
+	display: inline-block;
+	margin-right: 10rpx;
+	width: 1.6em;
+	text-align: center
+}
+.cu-list.menu>.cu-item .content>image {
+	display: inline-block;
+	margin-right: 10rpx;
+	width: 1.6em;
+	height: 1.6em;
+	vertical-align: middle
+}
+.cu-list.menu>.cu-item .content {
+	font-size: 30rpx;
+	line-height: 1.6em;
+	flex: 1
+}
+.cu-list.menu>.cu-item .content .cu-tag.sm {
+	display: inline-block;
+	margin-left: 10rpx;
+	height: 28rpx;
+	font-size: 16rpx;
+	line-height: 32rpx
+}
+.cu-list.menu>.cu-item .action .cu-tag:empty {
+	right: 10rpx
+}
+.cu-list.menu {
+	display: block;
+	overflow: hidden
+}
+.cu-list.menu.sm-border>.cu-item:after {
+	left: 30rpx;
+	width: calc(200% - 120rpx)
+}
+.cu-list.grid>.cu-item {
+	position: relative;
+	display: flex;
+	padding: 20rpx 0 30rpx;
+	transition-duration: 0s;
+	flex-direction: column
+}
+.cu-list.grid>.cu-item:after {
+	position: absolute;
+	top: 0;
+	left: 0;
+	box-sizing: border-box;
+	width: 200%;
+	height: 200%;
+	border-right: 1px solid rgba(0, 0, 0, .1);
+	border-bottom: 1px solid rgba(0, 0, 0, .1);
+	border-radius: inherit;
+	content: " ";
+	transform: scale(.5);
+	transform-origin: 0 0;
+	pointer-events: none
+}
+.cu-list.grid>.cu-item text {
+	display: block;
+	margin-top: 10rpx;
+	color: #888;
+	font-size: 26rpx;
+	line-height: 40rpx
+}
+.cu-list.grid>.cu-item [class*=cuIcon] {
+	position: relative;
+	display: block;
+	margin-top: 20rpx;
+	width: 100%;
+	font-size: 48rpx
+}
+.cu-list.grid>.cu-item .cu-tag {
+	right: auto;
+	left: 50%;
+	margin-left: 20rpx
+}
+.cu-list.grid {
+	background-color: #ffffff;
+	text-align: center
+}
+.cu-list.grid.no-border>.cu-item {
+	padding-top: 10rpx;
+	padding-bottom: 20rpx
+}
+.cu-list.grid.no-border>.cu-item:after {
+	border: none
+}
+.cu-list.grid.no-border {
+	padding: 20rpx 10rpx
+}
+.cu-list.grid.col-3>.cu-item:nth-child(3n):after,
+.cu-list.grid.col-4>.cu-item:nth-child(4n):after,
+.cu-list.grid.col-5>.cu-item:nth-child(5n):after {
+	border-right-width: 0
+}
+.cu-list.card-menu {
+	overflow: hidden;
+	margin-right: 30rpx;
+	margin-left: 30rpx;
+	border-radius: 20rpx
+}
+/* ==================
+          操作条
+ ==================== */
+.cu-bar {
+	display: flex;
+	position: relative;
+	align-items: center;
+	min-height: 100rpx;
+	justify-content: space-between;
+}
+.cu-bar .action {
+	display: flex;
+	align-items: center;
+	height: 100%;
+	justify-content: center;
+	max-width: 100%;
+}
+.cu-bar .action.border-title {
+	position: relative;
+	top: -10rpx;
+}
+.cu-bar .action.border-title text[class*="bg-"]:last-child {
+	position: absolute;
+	bottom: -0.5rem;
+	min-width: 2rem;
+	height: 6rpx;
+	left: 0;
+}
+.cu-bar .action.sub-title {
+	position: relative;
+	top: -0.2rem;
+}
+.cu-bar .action.sub-title text {
+	position: relative;
+	z-index: 1;
+}
+.cu-bar .action.sub-title text[class*="bg-"]:last-child {
+	position: absolute;
+	display: inline-block;
+	bottom: -0.2rem;
+	border-radius: 6rpx;
+	width: 100%;
+	height: 0.6rem;
+	left: 0.6rem;
+	opacity: 0.3;
+	z-index: 0;
+}
+.cu-bar .action.sub-title text[class*="text-"]:last-child {
+	position: absolute;
+	display: inline-block;
+	bottom: -0.7rem;
+	left: 0.5rem;
+	opacity: 0.2;
+	z-index: 0;
+	text-align: right;
+	font-weight: 900;
+	font-size: 36rpx;
+}
+.cu-bar.justify-center .action.border-title text:last-child,
+.cu-bar.justify-center .action.sub-title text:last-child {
+	left: 0;
+	right: 0;
+	margin: auto;
+	text-align: center;
+}
+.cu-bar .action:first-child {
+	margin-left: 30rpx;
+	font-size: 30rpx;
+}
+.cu-bar .action text.text-cut {
+	text-align: left;
+	width: 100%;
+}
+.cu-bar .cu-avatar:first-child {
+	margin-left: 20rpx;
+}
+.cu-bar .action:first-child>text[class*="cuIcon-"] {
+	margin-left: -0.3em;
+	margin-right: 0.3em;
+}
+.cu-bar .action:last-child {
+	margin-right: 30rpx;
+}
+.cu-bar .action>text[class*="cuIcon-"],
+.cu-bar .action>view[class*="cuIcon-"] {
+	font-size: 36rpx;
+}
+.cu-bar .action>text[class*="cuIcon-"]+text[class*="cuIcon-"] {
+	margin-left: 0.5em;
+}
+.cu-bar .content {
+	position: absolute;
+	text-align: center;
+	width: calc(100% - 340rpx);
+	left: 0;
+	right: 0;
+	bottom: 0;
+	top: 0;
+	margin: auto;
+	height: 60rpx;
+	font-size: 32rpx;
+	line-height: 60rpx;
+	cursor: none;
+	pointer-events: none;
+	text-overflow: ellipsis;
+	white-space: nowrap;
+	overflow: hidden;
+}
+.cu-bar.ios .content {
+	bottom: 7px;
+	height: 30px;
+	font-size: 32rpx;
+	line-height: 30px;
+}
+.cu-bar.btn-group {
+	justify-content: space-around;
+}
+.cu-bar.btn-group button {
+	padding: 20rpx 32rpx;
+}
+.cu-bar.btn-group button {
+	flex: 1;
+	margin: 0 20rpx;
+	max-width: 50%;
+}
+.cu-bar .search-form {
+	background-color: #f5f5f5;
+	line-height: 64rpx;
+	height: 64rpx;
+	font-size: 24rpx;
+	color: #333333;
+	flex: 1;
+	display: flex;
+	align-items: center;
+	margin: 0 30rpx;
+}
+.cu-bar .search-form+.action {
+	margin-right: 30rpx;
+}
+.cu-bar .search-form input {
+	flex: 1;
+	padding-right: 30rpx;
+	height: 64rpx;
+	line-height: 64rpx;
+	font-size: 26rpx;
+	background-color: transparent;
+}
+.cu-bar .search-form [class*="cuIcon-"] {
+	margin: 0 0.5em 0 0.8em;
+}
+.cu-bar .search-form [class*="cuIcon-"]::before {
+	top: 0rpx;
+}
+.cu-bar.fixed,
+.nav.fixed {
+	position: fixed;
+	width: 100%;
+	top: 0;
+	z-index: 1024;
+	box-shadow: 0 1rpx 6rpx rgba(0, 0, 0, 0.1);
+}
+.cu-bar.foot {
+	position: fixed;
+	width: 100%;
+	bottom: 0;
+	z-index: 1024;
+	box-shadow: 0 -1rpx 6rpx rgba(0, 0, 0, 0.1);
+}
+.cu-bar.tabbar {
+	padding: 0;
+	height: calc(100rpx + env(safe-area-inset-bottom) / 2);
+	padding-bottom: calc(env(safe-area-inset-bottom) / 2);
+}
+.cu-tabbar-height {
+	min-height: 100rpx;
+	height: calc(100rpx + env(safe-area-inset-bottom) / 2);
+}
+.cu-bar.tabbar.shadow {
+	box-shadow: 0 -1rpx 6rpx rgba(0, 0, 0, 0.1);
+}
+.cu-bar.tabbar .action {
+	font-size: 22rpx;
+	position: relative;
+	flex: 1;
+	text-align: center;
+	padding: 0;
+	display: block;
+	height: auto;
+	line-height: 1;
+	margin: 0;
+	background-color: inherit;
+	overflow: initial;
+}
+.cu-bar.tabbar.shop .action {
+	width: 140rpx;
+	flex: initial;
+}
+.cu-bar.tabbar .action.add-action {
+	position: relative;
+	z-index: 2;
+	padding-top: 50rpx;
+}
+.cu-bar.tabbar .action.add-action [class*="cuIcon-"] {
+	position: absolute;
+	width: 70rpx;
+	z-index: 2;
+	height: 70rpx;
+	border-radius: 50%;
+	line-height: 70rpx;
+	font-size: 50rpx;
+	top: -35rpx;
+	left: 0;
+	right: 0;
+	margin: auto;
+	padding: 0;
+}
+.cu-bar.tabbar .action.add-action::after {
+	content: "";
+	position: absolute;
+	width: 100rpx;
+	height: 100rpx;
+	top: -50rpx;
+	left: 0;
+	right: 0;
+	margin: auto;
+	box-shadow: 0 -3rpx 8rpx rgba(0, 0, 0, 0.08);
+	border-radius: 50rpx;
+	background-color: inherit;
+	z-index: 0;
+}
+.cu-bar.tabbar .action.add-action::before {
+	content: "";
+	position: absolute;
+	width: 100rpx;
+	height: 30rpx;
+	bottom: 30rpx;
+	left: 0;
+	right: 0;
+	margin: auto;
+	background-color: inherit;
+	z-index: 1;
+}
+.cu-bar.tabbar .btn-group {
+	flex: 1;
+	display: flex;
+	justify-content: space-around;
+	align-items: center;
+	padding: 0 10rpx;
+}
+.cu-bar.tabbar button.action::after {
+	border: 0;
+}
+.cu-bar.tabbar .action [class*="cuIcon-"] {
+	width: 100rpx;
+	position: relative;
+	display: block;
+	height: auto;
+	margin: 0 auto 10rpx;
+	text-align: center;
+	font-size: 40rpx;
+}
+.cu-bar.tabbar .action .cuIcon-cu-image {
+	margin: 0 auto;
+}
+.cu-bar.tabbar .action .cuIcon-cu-image image {
+	width: 50rpx;
+	height: 50rpx;
+	display: inline-block;
+}
+.cu-bar.tabbar .submit {
+	align-items: center;
+	display: flex;
+	justify-content: center;
+	text-align: center;
+	position: relative;
+	flex: 2;
+	align-self: stretch;
+}
+.cu-bar.tabbar .submit:last-child {
+	flex: 2.6;
+}
+.cu-bar.tabbar .submit+.submit {
+	flex: 2;
+}
+.cu-bar.tabbar.border .action::before {
+	content: " ";
+	width: 200%;
+	height: 200%;
+	position: absolute;
+	top: 0;
+	left: 0;
+	transform: scale(0.5);
+	transform-origin: 0 0;
+	border-right: 1rpx solid rgba(0, 0, 0, 0.1);
+	z-index: 3;
+}
+.cu-bar.tabbar.border .action:last-child:before {
+	display: none;
+}
+.cu-bar.input {
+	padding-right: 20rpx;
+	background-color: #ffffff;
+}
+.cu-bar.input input {
+	overflow: initial;
+	line-height: 64rpx;
+	height: 64rpx;
+	min-height: 64rpx;
+	flex: 1;
+	font-size: 30rpx;
+	margin: 0 20rpx;
+}
+.cu-bar.input .action {
+	margin-left: 20rpx;
+}
+.cu-bar.input .action [class*="cuIcon-"] {
+	font-size: 48rpx;
+}
+.cu-bar.input input+.action {
+	margin-right: 20rpx;
+	margin-left: 0rpx;
+}
+.cu-bar.input .action:first-child [class*="cuIcon-"] {
+	margin-left: 0rpx;
+}
+.cu-custom {
+	display: block;
+	position: relative;
+}
+.cu-custom .cu-bar .content {
+	width: calc(100% - 440rpx);
+}
+.cu-custom .cu-bar .content image {
+	height: 60rpx;
+	width: 240rpx;
+}
+.cu-custom .cu-bar {
+	min-height: 0px;
+
+	padding-right: 220rpx;
+
+
+
+
+	box-shadow: 0rpx 0rpx 0rpx;
+	z-index: 9999;
+}
+.cu-custom .cu-bar .border-custom {
+	position: relative;
+	background: rgba(0, 0, 0, 0.15);
+	border-radius: 1000rpx;
+	height: 30px;
+}
+.cu-custom .cu-bar .border-custom::after {
+	content: " ";
+	width: 200%;
+	height: 200%;
+	position: absolute;
+	top: 0;
+	left: 0;
+	border-radius: inherit;
+	transform: scale(0.5);
+	transform-origin: 0 0;
+	pointer-events: none;
+	box-sizing: border-box;
+	border: 1rpx solid #ffffff;
+	opacity: 0.5;
+}
+.cu-custom .cu-bar .border-custom::before {
+	content: " ";
+	width: 1rpx;
+	height: 110%;
+	position: absolute;
+	top: 22.5%;
+	left: 0;
+	right: 0;
+	margin: auto;
+	transform: scale(0.5);
+	transform-origin: 0 0;
+	pointer-events: none;
+	box-sizing: border-box;
+	opacity: 0.6;
+	background-color: #ffffff;
+}
+.cu-custom .cu-bar .border-custom text {
+	display: block;
+	flex: 1;
+	margin: auto !important;
+	text-align: center;
+	font-size: 34rpx;
+}
+/* ==================
+         导航栏
+ ==================== */
+.nav {
+	white-space: nowrap;
+}
+::-webkit-scrollbar {
+	display: none;
+}
+.nav .cu-item {
+	height: 90rpx;
+	display: inline-block;
+	line-height: 90rpx;
+	margin: 0 10rpx;
+	padding: 0 20rpx;
+}
+.nav .cu-item.cur {
+	border-bottom: 4rpx solid;
+}
+/* ==================
+         时间轴
+ ==================== */
+.cu-timeline {
+	display: block;
+	background-color: #ffffff;
+}
+.cu-timeline .cu-time {
+	width: 120rpx;
+	text-align: center;
+	padding: 20rpx 0;
+	font-size: 26rpx;
+	color: #888;
+	display: block;
+}
+.cu-timeline>.cu-item {
+	padding: 30rpx 30rpx 30rpx 120rpx;
+	position: relative;
+	display: block;
+	z-index: 0;
+}
+.cu-timeline>.cu-item:not([class*="text-"]) {
+	color: #ccc;
+}
+.cu-timeline>.cu-item::after {
+	content: "";
+	display: block;
+	position: absolute;
+	width: 1rpx;
+	background-color: #ddd;
+	left: 60rpx;
+	height: 100%;
+	top: 0;
+	z-index: 8;
+}
+.cu-timeline>.cu-item::before {
+	font-family: "cuIcon";
+	display: block;
+	position: absolute;
+	top: 36rpx;
+	z-index: 9;
+	background-color: #ffffff;
+	width: 50rpx;
+	height: 50rpx;
+	text-align: center;
+	border: none;
+	line-height: 50rpx;
+	left: 36rpx;
+}
+.cu-timeline>.cu-item:not([class*="cuIcon-"])::before {
+	content: "\e763";
+}
+.cu-timeline>.cu-item[class*="cuIcon-"]::before {
+	background-color: #ffffff;
+	width: 50rpx;
+	height: 50rpx;
+	text-align: center;
+	border: none;
+	line-height: 50rpx;
+	left: 36rpx;
+}
+.cu-timeline>.cu-item>.content {
+	padding: 30rpx;
+	border-radius: 6rpx;
+	display: block;
+	line-height: 1.6;
+}
+.cu-timeline>.cu-item>.content:not([class*="bg-"]) {
+	background-color: #f1f1f1;
+	color: #333333;
+}
+.cu-timeline>.cu-item>.content+.content {
+	margin-top: 20rpx;
+}
+/* ==================
+         聊天
+ ==================== */
+.cu-chat {
+	display: flex;
+	flex-direction: column;
+}
+.cu-chat .cu-item {
+	display: flex;
+	padding: 30rpx 30rpx 70rpx;
+	position: relative;
+}
+.cu-chat .cu-item>.cu-avatar {
+	width: 80rpx;
+	height: 80rpx;
+}
+.cu-chat .cu-item>.main {
+	max-width: calc(100% - 260rpx);
+	margin: 0 40rpx;
+	display: flex;
+	align-items: center;
+}
+.cu-chat .cu-item>image {
+	height: 320rpx;
+}
+.cu-chat .cu-item>.main .content {
+	padding: 20rpx;
+	border-radius: 6rpx;
+	display: inline-flex;
+	max-width: 100%;
+	align-items: center;
+	font-size: 30rpx;
+	position: relative;
+	min-height: 80rpx;
+	line-height: 40rpx;
+	text-align: left;
+}
+.cu-chat .cu-item>.main .content:not([class*="bg-"]) {
+	background-color: #ffffff;
+	color: #333333;
+}
+.cu-chat .cu-item .date {
+	position: absolute;
+	font-size: 24rpx;
+	color: #8799a3;
+	width: calc(100% - 320rpx);
+	bottom: 20rpx;
+	left: 160rpx;
+}
+.cu-chat .cu-item .action {
+	padding: 0 30rpx;
+	display: flex;
+	align-items: center;
+}
+.cu-chat .cu-item>.main .content::after {
+	content: "";
+	top: 27rpx;
+	transform: rotate(45deg);
+	position: absolute;
+	z-index: 100;
+	display: inline-block;
+	overflow: hidden;
+	width: 24rpx;
+	height: 24rpx;
+	left: -12rpx;
+	right: initial;
+	background-color: inherit;
+}
+.cu-chat .cu-item.self>.main .content::after {
+	left: auto;
+	right: -12rpx;
+}
+.cu-chat .cu-item>.main .content::before {
+	content: "";
+	top: 30rpx;
+	transform: rotate(45deg);
+	position: absolute;
+	z-index: -1;
+	display: inline-block;
+	overflow: hidden;
+	width: 24rpx;
+	height: 24rpx;
+	left: -12rpx;
+	right: initial;
+	background-color: inherit;
+	filter: blur(5rpx);
+	opacity: 0.3;
+}
+.cu-chat .cu-item>.main .content:not([class*="bg-"])::before {
+	background-color: #333333;
+	opacity: 0.1;
+}
+.cu-chat .cu-item.self>.main .content::before {
+	left: auto;
+	right: -12rpx;
+}
+.cu-chat .cu-item.self {
+	justify-content: flex-end;
+	text-align: right;
+}
+.cu-chat .cu-info {
+	display: inline-block;
+	margin: 20rpx auto;
+	font-size: 24rpx;
+	padding: 8rpx 12rpx;
+	background-color: rgba(0, 0, 0, 0.2);
+	border-radius: 6rpx;
+	color: #ffffff;
+	max-width: 400rpx;
+	line-height: 1.4;
+}
+/* ==================
+         卡片
+ ==================== */
+.cu-card {
+	display: block;
+	overflow: hidden;
+}
+.cu-card>.cu-item {
+	display: block;
+	background-color: #ffffff;
+	overflow: hidden;
+	border-radius: 10rpx;
+	margin: 30rpx;
+}
+.cu-card>.cu-item.shadow-blur {
+	overflow: initial;
+}
+.cu-card.no-card>.cu-item {
+	margin: 0rpx;
+	border-radius: 0rpx;
+}
+.cu-card .grid.grid-square {
+	margin-bottom: -20rpx;
+}
+.cu-card.case .image {
+	position: relative;
+}
+.cu-card.case .image image {
+	width: 100%;
+}
+.cu-card.case .image .cu-tag {
+	position: absolute;
+	right: 0;
+	top: 0;
+}
+.cu-card.case .image .cu-bar {
+	position: absolute;
+	bottom: 0;
+	width: 100%;
+	background-color: transparent;
+	padding: 0rpx 30rpx;
+}
+.cu-card.case.no-card .image {
+	margin: 30rpx 30rpx 0;
+	overflow: hidden;
+	border-radius: 10rpx;
+}
+.cu-card.dynamic {
+	display: block;
+}
+.cu-card.dynamic>.cu-item {
+	display: block;
+	background-color: #ffffff;
+	overflow: hidden;
+}
+.cu-card.dynamic>.cu-item>.text-content {
+	padding: 0 30rpx 0;
+	max-height: 6.4em;
+	overflow: hidden;
+	font-size: 30rpx;
+	margin-bottom: 20rpx;
+}
+.cu-card.dynamic>.cu-item .square-img {
+	width: 100%;
+	height: 200rpx;
+	border-radius: 6rpx;
+}
+.cu-card.dynamic>.cu-item .only-img {
+	width: 100%;
+	height: 320rpx;
+	border-radius: 6rpx;
+}
+/* card.dynamic>.cu-item .comment {
+  padding: 20upx;
+  background-color: #f1f1f1;
+  margin: 0 30upx 30upx;
+  border-radius: 6upx;
+} */
+.cu-card.article {
+	display: block;
+}
+.cu-card.article>.cu-item {
+	padding-bottom: 30rpx;
+}
+.cu-card.article>.cu-item .title {
+	font-size: 30rpx;
+	font-weight: 900;
+	color: #333333;
+	line-height: 100rpx;
+	padding: 0 30rpx;
+}
+.cu-card.article>.cu-item .content {
+	display: flex;
+	padding: 0 30rpx;
+}
+.cu-card.article>.cu-item .content>image {
+	width: 240rpx;
+	height: 6.4em;
+	margin-right: 20rpx;
+	border-radius: 6rpx;
+}
+.cu-card.article>.cu-item .content .desc {
+	flex: 1;
+	display: flex;
+	flex-direction: column;
+	justify-content: space-between;
+}
+.cu-card.article>.cu-item .content .text-content {
+	font-size: 28rpx;
+	color: #888;
+	height: 4.8em;
+	overflow: hidden;
+}
+/* ==================
+         表单
+ ==================== */
+.cu-form-group {
+	background-color: #ffffff;
+	padding: 1rpx 30rpx;
+	display: flex;
+	align-items: center;
+	min-height: 100rpx;
+	justify-content: space-between;
+}
+.cu-form-group+.cu-form-group {
+	border-top: 1rpx solid #eee;
+}
+.cu-form-group .title {
+	text-align: justify;
+	padding-right: 30rpx;
+	font-size: 30rpx;
+	position: relative;
+	height: 60rpx;
+	line-height: 60rpx;
+}
+.cu-form-group input {
+	flex: 1;
+	font-size: 30rpx;
+	color: #555;
+	padding-right: 20rpx;
+}
+.cu-form-group>text[class*="cuIcon-"] {
+	font-size: 36rpx;
+	padding: 0;
+	box-sizing: border-box;
+}
+.cu-form-group textarea {
+	margin: 32rpx 0 30rpx;
+	height: 4.6em;
+	width: 100%;
+	line-height: 1.2em;
+	flex: 1;
+	font-size: 28rpx;
+	padding: 0;
+}
+.cu-form-group.align-start .title {
+	height: 1em;
+	margin-top: 32rpx;
+	line-height: 1em;
+}
+.cu-form-group picker {
+	flex: 1;
+	padding-right: 40rpx;
+	overflow: hidden;
+	position: relative;
+}
+.cu-form-group picker .picker {
+	line-height: 100rpx;
+	font-size: 28rpx;
+	text-overflow: ellipsis;
+	white-space: nowrap;
+	overflow: hidden;
+	width: 100%;
+	text-align: right;
+}
+.cu-form-group picker::after {
+	font-family: cuIcon;
+	display: block;
+	content: "\e6a3";
+	position: absolute;
+	font-size: 34rpx;
+	color: #8799a3;
+	line-height: 100rpx;
+	width: 60rpx;
+	text-align: center;
+	top: 0;
+	bottom: 0;
+	right: -20rpx;
+	margin: auto;
+}
+.cu-form-group textarea[disabled],
+.cu-form-group textarea[disabled] .placeholder {
+	color: transparent;
+}
+/* ==================
+         模态窗口
+ ==================== */
+.cu-modal {
+	position: fixed;
+	top: 0;
+	right: 0;
+	bottom: 0;
+	left: 0;
+	z-index: 1110;
+	opacity: 0;
+	outline: 0;
+	text-align: center;
+	transform: scale(1.185);
+	backface-visibility: hidden;
+	perspective: 2000rpx;
+	background: rgba(0, 0, 0, 0.6);
+	transition: all 0.3s ease-in-out 0s;
+	pointer-events: none;
+}
+.cu-modal::before {
+	content: "\200B";
+	display: inline-block;
+	height: 100%;
+	vertical-align: middle;
+}
+.cu-modal.show {
+	opacity: 1;
+	transition-duration: 0.3s;
+	transform: scale(1);
+	overflow-x: hidden;
+	overflow-y: auto;
+	pointer-events: auto;
+}
+.cu-dialog {
+	position: relative;
+	display: inline-block;
+	vertical-align: middle;
+	margin-left: auto;
+	margin-right: auto;
+	width: 680rpx;
+	max-width: 100%;
+	background-color: #f8f8f8;
+	border-radius: 10rpx;
+	overflow: hidden;
+}
+.cu-modal.bottom-modal::before {
+	vertical-align: bottom;
+}
+.cu-modal.bottom-modal .cu-dialog {
+	width: 100%;
+	border-radius: 0;
+}
+.cu-modal.bottom-modal {
+	margin-bottom: -1000rpx;
+}
+.cu-modal.bottom-modal.show {
+	margin-bottom: 0;
+}
+.cu-modal.drawer-modal {
+	transform: scale(1);
+	display: flex;
+}
+.cu-modal.drawer-modal .cu-dialog {
+	height: 100%;
+	min-width: 200rpx;
+	border-radius: 0;
+	margin: initial;
+	transition-duration: 0.3s;
+}
+.cu-modal.drawer-modal.justify-start .cu-dialog {
+	transform: translateX(-100%);
+}
+.cu-modal.drawer-modal.justify-end .cu-dialog {
+	transform: translateX(100%);
+}
+.cu-modal.drawer-modal.show .cu-dialog {
+	transform: translateX(0%);
+}
+.cu-modal .cu-dialog>.cu-bar:first-child .action{
+  min-width: 100rpx;
+  margin-right: 0;
+  min-height: 100rpx;
+}
+/* ==================
+         轮播
+ ==================== */
+swiper .a-swiper-dot {
+	display: inline-block;
+	width: 16rpx;
+	height: 16rpx;
+	background: rgba(0, 0, 0, .3);
+	border-radius: 50%;
+	vertical-align: middle;
+}
+swiper[class*="-dot"] .wx-swiper-dots,
+swiper[class*="-dot"] .a-swiper-dots,
+swiper[class*="-dot"] .uni-swiper-dots {
+	display: flex;
+	align-items: center;
+	width: 100%;
+	justify-content: center;
+}
+swiper.square-dot .wx-swiper-dot,
+swiper.square-dot .a-swiper-dot,
+swiper.square-dot .uni-swiper-dot {
+	background-color: #ffffff;
+	opacity: 0.4;
+	width: 10rpx;
+	height: 10rpx;
+	border-radius: 20rpx;
+	margin: 0 8rpx !important;
+}
+swiper.square-dot .wx-swiper-dot.wx-swiper-dot-active,
+swiper.square-dot .a-swiper-dot.a-swiper-dot-active,
+swiper.square-dot .uni-swiper-dot.uni-swiper-dot-active {
+	opacity: 1;
+	width: 30rpx;
+}
+swiper.round-dot .wx-swiper-dot,
+swiper.round-dot .a-swiper-dot,
+swiper.round-dot .uni-swiper-dot {
+	width: 10rpx;
+	height: 10rpx;
+	position: relative;
+	margin: 4rpx 8rpx !important;
+}
+swiper.round-dot .wx-swiper-dot.wx-swiper-dot-active::after,
+swiper.round-dot .a-swiper-dot.a-swiper-dot-active::after,
+swiper.round-dot .uni-swiper-dot.uni-swiper-dot-active::after {
+	content: "";
+	position: absolute;
+	width: 10rpx;
+	height: 10rpx;
+	top: 0rpx;
+	left: 0rpx;
+	right: 0;
+	bottom: 0;
+	margin: auto;
+	background-color: #ffffff;
+	border-radius: 20rpx;
+}
+swiper.round-dot .wx-swiper-dot.wx-swiper-dot-active,
+swiper.round-dot .a-swiper-dot.a-swiper-dot-active,
+swiper.round-dot .uni-swiper-dot.uni-swiper-dot-active {
+	width: 18rpx;
+	height: 18rpx;
+}
+.screen-swiper {
+	min-height: 375rpx;
+}
+.screen-swiper image,
+.screen-swiper video,
+.swiper-item image,
+.swiper-item video {
+	width: 100%;
+	display: block;
+	height: 100%;
+	margin: 0;
+	pointer-events: none;
+}
+.card-swiper {
+	height: 420rpx !important;
+}
+.card-swiper swiper-item {
+	width: 610rpx !important;
+	left: 70rpx;
+	box-sizing: border-box;
+	padding: 40rpx 0rpx 70rpx;
+	overflow: initial;
+}
+.card-swiper swiper-item .swiper-item {
+	width: 100%;
+	display: block;
+	height: 100%;
+	border-radius: 10rpx;
+	transform: scale(0.9);
+	transition: all 0.2s ease-in 0s;
+	overflow: hidden;
+}
+.card-swiper swiper-item.cur .swiper-item {
+	transform: none;
+	transition: all 0.2s ease-in 0s;
+}
+.tower-swiper {
+	height: 420rpx;
+	position: relative;
+	max-width: 750rpx;
+	overflow: hidden;
+}
+.tower-swiper .tower-item {
+	position: absolute;
+	width: 300rpx;
+	height: 380rpx;
+	top: 0;
+	bottom: 0;
+	left: 50%;
+	margin: auto;
+	transition: all 0.2s ease-in 0s;
+	opacity: 1;
+}
+.tower-swiper .tower-item.none {
+	opacity: 0;
+}
+.tower-swiper .tower-item .swiper-item {
+	width: 100%;
+	height: 100%;
+	border-radius: 6rpx;
+	overflow: hidden;
+}
+/* ==================
+          步骤条
+ ==================== */
+.cu-steps {
+	display: flex;
+}
+scroll-view.cu-steps {
+	display: block;
+	white-space: nowrap;
+}
+scroll-view.cu-steps .cu-item {
+	display: inline-block;
+}
+.cu-steps .cu-item {
+	flex: 1;
+	text-align: center;
+	position: relative;
+	min-width: 100rpx;
+}
+.cu-steps .cu-item:not([class*="text-"]) {
+	color: #8799a3;
+}
+.cu-steps .cu-item [class*="cuIcon-"],
+.cu-steps .cu-item .num {
+	display: block;
+	font-size: 40rpx;
+	line-height: 80rpx;
+}
+.cu-steps .cu-item::before,
+.cu-steps .cu-item::after,
+.cu-steps.steps-arrow .cu-item::before,
+.cu-steps.steps-arrow .cu-item::after {
+	content: "";
+	display: block;
+	position: absolute;
+	height: 0px;
+	width: calc(100% - 80rpx);
+	border-bottom: 1px solid #ccc;
+	left: calc(0px - (100% - 80rpx) / 2);
+	top: 40rpx;
+	z-index: 0;
+}
+.cu-steps.steps-arrow .cu-item::before,
+.cu-steps.steps-arrow .cu-item::after {
+	content: "\e6a3";
+	font-family: 'cuIcon';
+	height: 30rpx;
+	border-bottom-width: 0px;
+	line-height: 30rpx;
+	top: 0;
+	bottom: 0;
+	margin: auto;
+	color: #ccc;
+}
+.cu-steps.steps-bottom .cu-item::before,
+.cu-steps.steps-bottom .cu-item::after {
+	bottom: 40rpx;
+	top: initial;
+}
+.cu-steps .cu-item::after {
+	border-bottom: 1px solid currentColor;
+	width: 0px;
+	transition: all 0.3s ease-in-out 0s;
+}
+.cu-steps .cu-item[class*="text-"]::after {
+	width: calc(100% - 80rpx);
+	color: currentColor;
+}
+.cu-steps .cu-item:first-child::before,
+.cu-steps .cu-item:first-child::after {
+	display: none;
+}
+.cu-steps .cu-item .num {
+	width: 40rpx;
+	height: 40rpx;
+	border-radius: 50%;
+	line-height: 40rpx;
+	margin: 20rpx auto;
+	font-size: 24rpx;
+	border: 1px solid currentColor;
+	position: relative;
+	overflow: hidden;
+}
+.cu-steps .cu-item[class*="text-"] .num {
+	background-color: currentColor;
+}
+.cu-steps .cu-item .num::before,
+.cu-steps .cu-item .num::after {
+	content: attr(data-index);
+	position: absolute;
+	left: 0;
+	right: 0;
+	top: 0;
+	bottom: 0;
+	margin: auto;
+	transition: all 0.3s ease-in-out 0s;
+	transform: translateY(0rpx);
+}
+.cu-steps .cu-item[class*="text-"] .num::before {
+	transform: translateY(-40rpx);
+	color: #ffffff;
+}
+.cu-steps .cu-item .num::after {
+	transform: translateY(40rpx);
+	color: #ffffff;
+	transition: all 0.3s ease-in-out 0s;
+}
+.cu-steps .cu-item[class*="text-"] .num::after {
+	content: "\e645";
+	font-family: 'cuIcon';
+	color: #ffffff;
+	transform: translateY(0rpx);
+}
+.cu-steps .cu-item[class*="text-"] .num.err::after {
+	content: "\e646";
+}
+/* ==================
+          布局
+ ==================== */
+/*  -- flex弹性布局 -- */
+.flex {
+	display: flex;
+}
+.basis-xs {
+	flex-basis: 20%;
+}
+.basis-sm {
+	flex-basis: 40%;
+}
+.basis-df {
+	flex-basis: 50%;
+}
+.basis-lg {
+	flex-basis: 60%;
+}
+.basis-xl {
+	flex-basis: 80%;
+}
+.flex-sub {
+	flex: 1;
+}
+.flex-twice {
+	flex: 2;
+}
+.flex-treble {
+	flex: 3;
+}
+.flex-direction {
+	flex-direction: column;
+}
+.flex-wrap {
+	flex-wrap: wrap;
+}
+.align-start {
+	align-items: flex-start;
+}
+.align-end {
+	align-items: flex-end;
+}
+.align-center {
+	align-items: center;
+}
+.align-stretch {
+	align-items: stretch;
+}
+.self-start {
+	align-self: flex-start;
+}
+.self-center {
+	align-self: flex-center;
+}
+.self-end {
+	align-self: flex-end;
+}
+.self-stretch {
+	align-self: stretch;
+}
+.align-stretch {
+	align-items: stretch;
+}
+.justify-start {
+	justify-content: flex-start;
+}
+.justify-end {
+	justify-content: flex-end;
+}
+.justify-center {
+	justify-content: center;
+}
+.justify-between {
+	justify-content: space-between;
+}
+.justify-around {
+	justify-content: space-around;
+}
+.flex-center{
+	display: flex;
+	align-items: center;
+	justify-content: center;
+}
+/* grid布局 */
+.grid {
+	display: flex;
+	flex-wrap: wrap;
+}
+.grid.grid-square {
+	overflow: hidden;
+}
+.grid.grid-square .cu-tag {
+	position: absolute;
+	right: 0;
+	top: 0;
+	border-bottom-left-radius: 6rpx;
+	padding: 6rpx 12rpx;
+	height: auto;
+	background-color: rgba(0, 0, 0, 0.5);
+}
+.grid.grid-square>view>text[class*="cuIcon-"] {
+	font-size: 52rpx;
+	position: absolute;
+	color: #8799a3;
+	margin: auto;
+	top: 0;
+	bottom: 0;
+	left: 0;
+	right: 0;
+	display: flex;
+	justify-content: center;
+	align-items: center;
+	flex-direction: column;
+}
+.grid.grid-square>view {
+	margin-right: 20rpx;
+	margin-bottom: 20rpx;
+	border-radius: 6rpx;
+	position: relative;
+	overflow: hidden;
+}
+.grid.grid-square>view.bg-img image {
+	width: 100%;
+	height: 100%;
+	position: absolute;
+}
+.grid.col-1.grid-square>view {
+	padding-bottom: 100%;
+	height: 0;
+	margin-right: 0;
+}
+.grid.col-2.grid-square>view {
+	padding-bottom: calc((100% - 20rpx)/2);
+	height: 0;
+	width: calc((100% - 20rpx)/2);
+}
+.grid.col-3.grid-square>view {
+	padding-bottom: calc((100% - 40rpx)/3);
+	height: 0;
+	width: calc((100% - 40rpx)/3);
+}
+.grid.col-4.grid-square>view {
+	padding-bottom: calc((100% - 60rpx)/4);
+	height: 0;
+	width: calc((100% - 60rpx)/4);
+}
+.grid.col-5.grid-square>view {
+	padding-bottom: calc((100% - 80rpx)/5);
+	height: 0;
+	width: calc((100% - 80rpx)/5);
+}
+.grid.col-2.grid-square>view:nth-child(2n),
+.grid.col-3.grid-square>view:nth-child(3n),
+.grid.col-4.grid-square>view:nth-child(4n),
+.grid.col-5.grid-square>view:nth-child(5n) {
+	margin-right: 0;
+}
+.grid.col-1>view {
+	width: 100%;
+}
+.grid.col-2>view {
+	width: 50%;
+}
+.grid.col-3>view {
+	width: 33.33%;
+}
+.grid.col-4>view {
+	width: 25%;
+}
+.grid.col-5>view {
+	width: 20%;
+}
+/*  -- 内外边距 -- */
+.margin-0 {
+	margin: 0;
+}
+.margin-xs {
+	margin: 10rpx;
+}
+.margin-sm {
+	margin: 20rpx;
+}
+.margin {
+	margin: 30rpx;
+}
+.margin-lg {
+	margin: 40rpx;
+}
+.margin-xl {
+	margin: 50rpx;
+}
+.margin-top-xs {
+	margin-top: 10rpx;
+}
+.margin-top-sm {
+	margin-top: 20rpx;
+}
+.margin-top {
+	margin-top: 30rpx;
+}
+.margin-top-lg {
+	margin-top: 40rpx;
+}
+.margin-top-xl {
+	margin-top: 50rpx;
+}
+.margin-right-xs {
+	margin-right: 10rpx;
+}
+.margin-right-sm {
+	margin-right: 20rpx;
+}
+.margin-right {
+	margin-right: 30rpx;
+}
+.margin-right-lg {
+	margin-right: 40rpx;
+}
+.margin-right-xl {
+	margin-right: 50rpx;
+}
+.margin-bottom-xs {
+	margin-bottom: 10rpx;
+}
+.margin-bottom-sm {
+	margin-bottom: 20rpx;
+}
+.margin-bottom {
+	margin-bottom: 30rpx;
+}
+.margin-bottom-lg {
+	margin-bottom: 40rpx;
+}
+.margin-bottom-xl {
+	margin-bottom: 50rpx;
+}
+.margin-left-xs {
+	margin-left: 10rpx;
+}
+.margin-left-sm {
+	margin-left: 20rpx;
+}
+.margin-left {
+	margin-left: 30rpx;
+}
+.margin-left-lg {
+	margin-left: 40rpx;
+}
+.margin-left-xl {
+	margin-left: 50rpx;
+}
+.margin-lr-xs {
+	margin-left: 10rpx;
+	margin-right: 10rpx;
+}
+.margin-lr-sm {
+	margin-left: 20rpx;
+	margin-right: 20rpx;
+}
+.margin-lr {
+	margin-left: 30rpx;
+	margin-right: 30rpx;
+}
+.margin-lr-lg {
+	margin-left: 40rpx;
+	margin-right: 40rpx;
+}
+.margin-lr-xl {
+	margin-left: 50rpx;
+	margin-right: 50rpx;
+}
+.margin-tb-xs {
+	margin-top: 10rpx;
+	margin-bottom: 10rpx;
+}
+.margin-tb-sm {
+	margin-top: 20rpx;
+	margin-bottom: 20rpx;
+}
+.margin-tb {
+	margin-top: 30rpx;
+	margin-bottom: 30rpx;
+}
+.margin-tb-lg {
+	margin-top: 40rpx;
+	margin-bottom: 40rpx;
+}
+.margin-tb-xl {
+	margin-top: 50rpx;
+	margin-bottom: 50rpx;
+}
+.padding-0 {
+	padding: 0;
+}
+.padding-xs {
+	padding: 10rpx;
+}
+.padding-sm {
+	padding: 20rpx;
+}
+.padding {
+	padding: 30rpx;
+}
+.padding-lg {
+	padding: 40rpx;
+}
+.padding-xl {
+	padding: 50rpx;
+}
+.padding-top-xs {
+	padding-top: 10rpx;
+}
+.padding-top-sm {
+	padding-top: 20rpx;
+}
+.padding-top {
+	padding-top: 30rpx;
+}
+.padding-top-lg {
+	padding-top: 40rpx;
+}
+.padding-top-xl {
+	padding-top: 50rpx;
+}
+.padding-right-xs {
+	padding-right: 10rpx;
+}
+.padding-right-sm {
+	padding-right: 20rpx;
+}
+.padding-right {
+	padding-right: 30rpx;
+}
+.padding-right-lg {
+	padding-right: 40rpx;
+}
+.padding-right-xl {
+	padding-right: 50rpx;
+}
+.padding-bottom-xs {
+	padding-bottom: 10rpx;
+}
+.padding-bottom-sm {
+	padding-bottom: 20rpx;
+}
+.padding-bottom {
+	padding-bottom: 30rpx;
+}
+.padding-bottom-lg {
+	padding-bottom: 40rpx;
+}
+.padding-bottom-xl {
+	padding-bottom: 50rpx;
+}
+.padding-left-xs {
+	padding-left: 10rpx;
+}
+.padding-left-sm {
+	padding-left: 20rpx;
+}
+.padding-left {
+	padding-left: 30rpx;
+}
+.padding-left-lg {
+	padding-left: 40rpx;
+}
+.padding-left-xl {
+	padding-left: 50rpx;
+}
+.padding-lr-xs {
+	padding-left: 10rpx;
+	padding-right: 10rpx;
+}
+.padding-lr-sm {
+	padding-left: 20rpx;
+	padding-right: 20rpx;
+}
+.padding-lr {
+	padding-left: 30rpx;
+	padding-right: 30rpx;
+}
+.padding-lr-lg {
+	padding-left: 40rpx;
+	padding-right: 40rpx;
+}
+.padding-lr-xl {
+	padding-left: 50rpx;
+	padding-right: 50rpx;
+}
+.padding-tb-xs {
+	padding-top: 10rpx;
+	padding-bottom: 10rpx;
+}
+.padding-tb-sm {
+	padding-top: 20rpx;
+	padding-bottom: 20rpx;
+}
+.padding-tb {
+	padding-top: 30rpx;
+	padding-bottom: 30rpx;
+}
+.padding-tb-lg {
+	padding-top: 40rpx;
+	padding-bottom: 40rpx;
+}
+.padding-tb-xl {
+	padding-top: 50rpx;
+	padding-bottom: 50rpx;
+}
+/* -- 浮动 --  */
+.cf::after,
+.cf::before {
+	content: " ";
+	display: table;
+}
+.cf::after {
+	clear: both;
+}
+.fl {
+	float: left;
+}
+.fr {
+	float: right;
+}
+/* ==================
+          背景
+ ==================== */
+.line-red::after,
+.lines-red::after {
+	border-color: #e54d42;
+}
+.line-orange::after,
+.lines-orange::after {
+	border-color: #f37b1d;
+}
+.line-yellow::after,
+.lines-yellow::after {
+	border-color: #fbbd08;
+}
+.line-olive::after,
+.lines-olive::after {
+	border-color: #8dc63f;
+}
+.line-green::after,
+.lines-green::after {
+	border-color: #39b54a;
+}
+.line-cyan::after,
+.lines-cyan::after {
+	border-color: #1cbbb4;
+}
+.line-blue::after,
+.lines-blue::after {
+	border-color: #0081ff;
+}
+.line-purple::after,
+.lines-purple::after {
+	border-color: #6739b6;
+}
+.line-mauve::after,
+.lines-mauve::after {
+	border-color: #9c26b0;
+}
+.line-pink::after,
+.lines-pink::after {
+	border-color: #e03997;
+}
+.line-brown::after,
+.lines-brown::after {
+	border-color: #a5673f;
+}
+.line-grey::after,
+.lines-grey::after {
+	border-color: #8799a3;
+}
+.line-gray::after,
+.lines-gray::after {
+	border-color: #aaaaaa;
+}
+.line-black::after,
+.lines-black::after {
+	border-color: #333333;
+}
+.line-white::after,
+.lines-white::after {
+	border-color: #ffffff;
+}
+.bg-red {
+	background-color: #e54d42;
+	color: #ffffff;
+}
+.bg-orange {
+	background-color: #f37b1d;
+	color: #ffffff;
+}
+.bg-yellow {
+	background-color: #fbbd08;
+	color: #333333;
+}
+.bg-olive {
+	background-color: #8dc63f;
+	color: #ffffff;
+}
+.bg-green {
+	background-color: #39b54a;
+	color: #ffffff;
+}
+.bg-cyan {
+	background-color: #1cbbb4;
+	color: #ffffff;
+}
+.bg-blue {
+	background-color: #0081ff;
+	color: #ffffff;
+}
+.bg-purple {
+	background-color: #6739b6;
+	color: #ffffff;
+}
+.bg-mauve {
+	background-color: #9c26b0;
+	color: #ffffff;
+}
+.bg-pink {
+	background-color: #e03997;
+	color: #ffffff;
+}
+.bg-brown {
+	background-color: #a5673f;
+	color: #ffffff;
+}
+.bg-grey {
+	background-color: #8799a3;
+	color: #ffffff;
+}
+.bg-gray {
+	background-color: #f0f0f0;
+	color: #333333;
+}
+.bg-black {
+	background-color: #333333;
+	color: #ffffff;
+}
+.bg-white {
+	background-color: #ffffff;
+	color: #666666;
+}
+.bg-shadeTop {
+	background-image: linear-gradient(rgba(0, 0, 0, 1), rgba(0, 0, 0, 0.01));
+	color: #ffffff;
+}
+.bg-shadeBottom {
+	background-image: linear-gradient(rgba(0, 0, 0, 0.01), rgba(0, 0, 0, 1));
+	color: #ffffff;
+}
+.bg-red.light {
+	color: #e54d42;
+	background-color: #fadbd9;
+}
+.bg-orange.light {
+	color: #f37b1d;
+	background-color: #fde6d2;
+}
+.bg-yellow.light {
+	color: #fbbd08;
+	background-color: #fef2ced2;
+}
+.bg-olive.light {
+	color: #8dc63f;
+	background-color: #e8f4d9;
+}
+.bg-green.light {
+	color: #39b54a;
+	background-color: #d7f0dbff;
+}
+.bg-cyan.light {
+	color: #1cbbb4;
+	background-color: #d2f1f0;
+}
+.bg-blue.light {
+	color: #0081ff;
+	background-color: #cce6ff;
+}
+.bg-purple.light {
+	color: #6739b6;
+	background-color: #e1d7f0;
+}
+.bg-mauve.light {
+	color: #9c26b0;
+	background-color: #ebd4ef;
+}
+.bg-pink.light {
+	color: #e03997;
+	background-color: #f9d7ea;
+}
+.bg-brown.light {
+	color: #a5673f;
+	background-color: #ede1d9;
+}
+.bg-grey.light {
+	color: #8799a3;
+	background-color: #e7ebed;
+}
+.bg-gradual-red {
+	background-image: linear-gradient(45deg, #f43f3b, #ec008c);
+	color: #ffffff;
+}
+.bg-gradual-orange {
+	background-image: linear-gradient(45deg, #ff9700, #ed1c24);
+	color: #ffffff;
+}
+.bg-gradual-green {
+	background-image: linear-gradient(45deg, #39b54a, #8dc63f);
+	color: #ffffff;
+}
+.bg-gradual-purple {
+	background-image: linear-gradient(45deg, #9000ff, #5e00ff);
+	color: #ffffff;
+}
+.bg-gradual-pink {
+	background-image: linear-gradient(45deg, #ec008c, #6739b6);
+	color: #ffffff;
+}
+.bg-gradual-blue {
+	background-image: linear-gradient(45deg, #0081ff, #1cbbb4);
+	color: #ffffff;
+}
+.shadow[class*="-red"] {
+	box-shadow: 6rpx 6rpx 8rpx rgba(204, 69, 59, 0.2);
+}
+.shadow[class*="-orange"] {
+	box-shadow: 6rpx 6rpx 8rpx rgba(217, 109, 26, 0.2);
+}
+.shadow[class*="-yellow"] {
+	box-shadow: 6rpx 6rpx 8rpx rgba(224, 170, 7, 0.2);
+}
+.shadow[class*="-olive"] {
+	box-shadow: 6rpx 6rpx 8rpx rgba(124, 173, 55, 0.2);
+}
+.shadow[class*="-green"] {
+	box-shadow: 6rpx 6rpx 8rpx rgba(48, 156, 63, 0.2);
+}
+.shadow[class*="-cyan"] {
+	box-shadow: 6rpx 6rpx 8rpx rgba(28, 187, 180, 0.2);
+}
+.shadow[class*="-blue"] {
+	box-shadow: 6rpx 6rpx 8rpx rgba(0, 102, 204, 0.2);
+}
+.shadow[class*="-purple"] {
+	box-shadow: 6rpx 6rpx 8rpx rgba(88, 48, 156, 0.2);
+}
+.shadow[class*="-mauve"] {
+	box-shadow: 6rpx 6rpx 8rpx rgba(133, 33, 150, 0.2);
+}
+.shadow[class*="-pink"] {
+	box-shadow: 6rpx 6rpx 8rpx rgba(199, 50, 134, 0.2);
+}
+.shadow[class*="-brown"] {
+	box-shadow: 6rpx 6rpx 8rpx rgba(140, 88, 53, 0.2);
+}
+.shadow[class*="-grey"] {
+	box-shadow: 6rpx 6rpx 8rpx rgba(114, 130, 138, 0.2);
+}
+.shadow[class*="-gray"] {
+	box-shadow: 6rpx 6rpx 8rpx rgba(114, 130, 138, 0.2);
+}
+.shadow[class*="-black"] {
+	box-shadow: 6rpx 6rpx 8rpx rgba(26, 26, 26, 0.2);
+}
+.shadow[class*="-white"] {
+	box-shadow: 6rpx 6rpx 8rpx rgba(26, 26, 26, 0.2);
+}
+.text-shadow[class*="-red"] {
+	text-shadow: 6rpx 6rpx 8rpx rgba(204, 69, 59, 0.2);
+}
+.text-shadow[class*="-orange"] {
+	text-shadow: 6rpx 6rpx 8rpx rgba(217, 109, 26, 0.2);
+}
+.text-shadow[class*="-yellow"] {
+	text-shadow: 6rpx 6rpx 8rpx rgba(224, 170, 7, 0.2);
+}
+.text-shadow[class*="-olive"] {
+	text-shadow: 6rpx 6rpx 8rpx rgba(124, 173, 55, 0.2);
+}
+.text-shadow[class*="-green"] {
+	text-shadow: 6rpx 6rpx 8rpx rgba(48, 156, 63, 0.2);
+}
+.text-shadow[class*="-cyan"] {
+	text-shadow: 6rpx 6rpx 8rpx rgba(28, 187, 180, 0.2);
+}
+.text-shadow[class*="-blue"] {
+	text-shadow: 6rpx 6rpx 8rpx rgba(0, 102, 204, 0.2);
+}
+.text-shadow[class*="-purple"] {
+	text-shadow: 6rpx 6rpx 8rpx rgba(88, 48, 156, 0.2);
+}
+.text-shadow[class*="-mauve"] {
+	text-shadow: 6rpx 6rpx 8rpx rgba(133, 33, 150, 0.2);
+}
+.text-shadow[class*="-pink"] {
+	text-shadow: 6rpx 6rpx 8rpx rgba(199, 50, 134, 0.2);
+}
+.text-shadow[class*="-brown"] {
+	text-shadow: 6rpx 6rpx 8rpx rgba(140, 88, 53, 0.2);
+}
+.text-shadow[class*="-grey"] {
+	text-shadow: 6rpx 6rpx 8rpx rgba(114, 130, 138, 0.2);
+}
+.text-shadow[class*="-gray"] {
+	text-shadow: 6rpx 6rpx 8rpx rgba(114, 130, 138, 0.2);
+}
+.text-shadow[class*="-black"] {
+	text-shadow: 6rpx 6rpx 8rpx rgba(26, 26, 26, 0.2);
+}
+.bg-img {
+	background-size: cover;
+	background-position: center;
+	background-repeat: no-repeat;
+}
+.bg-mask {
+	background-color: #333333;
+	position: relative;
+}
+.bg-mask::after {
+	content: "";
+	border-radius: inherit;
+	width: 100%;
+	height: 100%;
+	display: block;
+	background-color: rgba(0, 0, 0, 0.4);
+	position: absolute;
+	left: 0;
+	right: 0;
+	bottom: 0;
+	top: 0;
+}
+.bg-mask view,
+.bg-mask cover-view {
+	z-index: 5;
+	position: relative;
+}
+.bg-video {
+	position: relative;
+}
+.bg-video video {
+	display: block;
+	height: 100%;
+	width: 100%;
+	-o-object-fit: cover;
+	object-fit: cover;
+	position: absolute;
+	top: 0;
+	z-index: 0;
+	pointer-events: none;
+}
+/* ==================
+          文本
+ ==================== */
+.text-xs {
+	font-size: 20rpx;
+}
+.text-sm {
+	font-size: 24rpx;
+}
+.text-df {
+	font-size: 28rpx;
+}
+.text-lg {
+	font-size: 32rpx;
+}
+.text-xl {
+	font-size: 36rpx;
+}
+.text-xxl {
+	font-size: 44rpx;
+}
+.text-sl {
+	font-size: 80rpx;
+}
+.text-xsl {
+	font-size: 120rpx;
+}
+.text-Abc {
+	text-transform: Capitalize;
+}
+.text-ABC {
+	text-transform: Uppercase;
+}
+.text-abc {
+	text-transform: Lowercase;
+}
+.text-price::before {
+	content: "¥";
+	font-size: 80%;
+	margin-right: 4rpx;
+}
+.text-cut {
+	text-overflow: ellipsis;
+	white-space: nowrap;
+	overflow: hidden;
+}
+.text-bold {
+	font-weight: bold;
+}
+.text-center {
+	text-align: center;
+}
+.text-content {
+	line-height: 1.6;
+}
+.text-left {
+	text-align: left;
+}
+.text-right {
+	text-align: right;
+}
+.text-red,
+.line-red,
+.lines-red {
+	color: #e54d42;
+}
+.text-orange,
+.line-orange,
+.lines-orange {
+	color: #f37b1d;
+}
+.text-yellow,
+.line-yellow,
+.lines-yellow {
+	color: #fbbd08;
+}
+.text-olive,
+.line-olive,
+.lines-olive {
+	color: #8dc63f;
+}
+.text-green,
+.line-green,
+.lines-green {
+	color: #39b54a;
+}
+.text-cyan,
+.line-cyan,
+.lines-cyan {
+	color: #1cbbb4;
+}
+.text-blue,
+.line-blue,
+.lines-blue {
+	color: #0081ff;
+}
+.text-purple,
+.line-purple,
+.lines-purple {
+	color: #6739b6;
+}
+.text-mauve,
+.line-mauve,
+.lines-mauve {
+	color: #9c26b0;
+}
+.text-pink,
+.line-pink,
+.lines-pink {
+	color: #e03997;
+}
+.text-brown,
+.line-brown,
+.lines-brown {
+	color: #a5673f;
+}
+.text-grey,
+.line-grey,
+.lines-grey {
+	color: #8799a3;
+}
+.text-gray,
+.line-gray,
+.lines-gray {
+	color: #aaaaaa;
+}
+.text-black,
+.line-black,
+.lines-black {
+	color: #333333;
+}
+.text-white,
+.line-white,
+.lines-white {
+	color: #ffffff;
+}
+.text-center {
+  text-align: center;
+}
+.font-13 {
+  font-size: 13px;
+}
+.font-12 {
+  font-size: 12px;
+}
+.font-11 {
+  font-size: 11px;
+}
+.text-grey1 {
+  color: #888;
+}
+.text-grey2 {
+  color: #aaa;
+}
+.list-cell-arrow::before {
+  content: " ";
+  height: 10px;
+  width: 10px;
+  border-width: 2px 2px 0 0;
+  border-color: #c0c0c0;
+  border-style: solid;
+  transform: matrix(0.5, 0.5, -0.5, 0.5, 0, 0);
+  position: absolute;
+  top: 50%;
+  margin-top: -6px;
+  right: 30rpx;
+}
+.list-cell {
+  position: relative;
+  width: 100%;
+  box-sizing: border-box;
+  background-color: #fff;
+  color: #333;
+  padding: 26rpx 30rpx;
+}
+.list-cell:first-child {
+  border-radius: 8rpx 8rpx 0 0;
+}
+.list-cell:last-child {
+  border-radius: 0 0 8rpx 8rpx;
+}
+.list-cell::after {
+  content: "";
+  position: absolute;
+  border-bottom: 1px solid #eaeef1;
+  transform: scaleY(0.5) translateZ(0);
+  transform-origin: 0 100%;
+  bottom: 0;
+  right: 0;
+  left: 0;
+  pointer-events: none;
+}
+.menu-list {
+  margin: 15px 15px;
+}
+.menu-list .menu-item-box {
+  width: 100%;
+  display: flex;
+  align-items: center;
+}
+.menu-list .menu-item-box .menu-icon {
+  color: #007AFF;
+  font-size: 16px;
+  margin-right: 5px;
+}
+.menu-list .menu-item-box .text-right {
+  margin-left: auto;
+  margin-right: 34rpx;
+  color: #999;
+}
+.xy-card {
+  background-color: #fff;
+  border-radius: 12rpx;
+  box-sizing: border-box;
+  padding: 24rpx;
+}
+.require {
+  position: relative;
+}
+.require::before {
+  content: "*";
+  position: absolute;
+  left: -16rpx;
+  color: #f56c6c;
+  line-height: 40rpx;
+  font-size: 40rpx;
+  top: 6rpx;
+}
+.safe-bottom {
+  bottom: calc(24rpx + env(safe-area-inset-bottom) / 2) !important;
+}
+.u-line-1 {
+
+
+
+
+
+
+
+  display: -webkit-box !important;
+  overflow: hidden;
+  text-overflow: ellipsis;
+  word-break: break-all;
+  -webkit-line-clamp: 1;
+  -webkit-box-orient: vertical !important;
+}
+.u-line-2 {
+
+
+
+
+
+
+
+  display: -webkit-box !important;
+  overflow: hidden;
+  text-overflow: ellipsis;
+  word-break: break-all;
+  -webkit-line-clamp: 2;
+  -webkit-box-orient: vertical !important;
+}
+.u-line-3 {
+
+
+
+
+
+
+
+  display: -webkit-box !important;
+  overflow: hidden;
+  text-overflow: ellipsis;
+  word-break: break-all;
+  -webkit-line-clamp: 3;
+  -webkit-box-orient: vertical !important;
+}
+.u-line-4 {
+
+
+
+
+
+
+
+  display: -webkit-box !important;
+  overflow: hidden;
+  text-overflow: ellipsis;
+  word-break: break-all;
+  -webkit-line-clamp: 4;
+  -webkit-box-orient: vertical !important;
+}
+.u-line-5 {
+
+
+
+
+
+
+
+  display: -webkit-box !important;
+  overflow: hidden;
+  text-overflow: ellipsis;
+  word-break: break-all;
+  -webkit-line-clamp: 5;
+  -webkit-box-orient: vertical !important;
+}
+.u-border {
+  border-width: 0.5px !important;
+  border-color: #dadbde !important;
+  border-style: solid;
+}
+.u-border-top {
+  border-top-width: 0.5px !important;
+  border-color: #dadbde !important;
+  border-top-style: solid;
+}
+.u-border-left {
+  border-left-width: 0.5px !important;
+  border-color: #dadbde !important;
+  border-left-style: solid;
+}
+.u-border-right {
+  border-right-width: 0.5px !important;
+  border-color: #dadbde !important;
+  border-right-style: solid;
+}
+.u-border-bottom {
+  border-bottom-width: 0.5px !important;
+  border-color: #dadbde !important;
+  border-bottom-style: solid;
+}
+.u-border-top-bottom {
+  border-top-width: 0.5px !important;
+  border-bottom-width: 0.5px !important;
+  border-color: #dadbde !important;
+  border-top-style: solid;
+  border-bottom-style: solid;
+}
+.u-reset-button {
+  padding: 0;
+  background-color: transparent;
+
+  font-size: inherit;
+  line-height: inherit;
+  color: inherit;
+}
+.u-reset-button::after {
+  border: none;
+}
+.u-hover-class {
+  opacity: 0.7;
+}
+.u-primary-light {
+  color: #ecf5ff;
+}
+.u-warning-light {
+  color: #fdf6ec;
+}
+.u-success-light {
+  color: #f5fff0;
+}
+.u-error-light {
+  color: #fef0f0;
+}
+.u-info-light {
+  color: #f4f4f5;
+}
+.u-primary-light-bg {
+  background-color: #ecf5ff;
+}
+.u-warning-light-bg {
+  background-color: #fdf6ec;
+}
+.u-success-light-bg {
+  background-color: #f5fff0;
+}
+.u-error-light-bg {
+  background-color: #fef0f0;
+}
+.u-info-light-bg {
+  background-color: #f4f4f5;
+}
+.u-primary-dark {
+  color: #398ade;
+}
+.u-warning-dark {
+  color: #f1a532;
+}
+.u-success-dark {
+  color: #53c21d;
+}
+.u-error-dark {
+  color: #e45656;
+}
+.u-info-dark {
+  color: #767a82;
+}
+.u-primary-dark-bg {
+  background-color: #398ade;
+}
+.u-warning-dark-bg {
+  background-color: #f1a532;
+}
+.u-success-dark-bg {
+  background-color: #53c21d;
+}
+.u-error-dark-bg {
+  background-color: #e45656;
+}
+.u-info-dark-bg {
+  background-color: #767a82;
+}
+.u-primary-disabled {
+  color: #9acafc;
+}
+.u-warning-disabled {
+  color: #f9d39b;
+}
+.u-success-disabled {
+  color: #a9e08f;
+}
+.u-error-disabled {
+  color: #f7b2b2;
+}
+.u-info-disabled {
+  color: #c4c6c9;
+}
+.u-primary {
+  color: #3c9cff;
+}
+.u-warning {
+  color: #f9ae3d;
+}
+.u-success {
+  color: #5ac725;
+}
+.u-error {
+  color: #f56c6c;
+}
+.u-info {
+  color: #909399;
+}
+.u-primary-bg {
+  background-color: #3c9cff;
+}
+.u-warning-bg {
+  background-color: #f9ae3d;
+}
+.u-success-bg {
+  background-color: #5ac725;
+}
+.u-error-bg {
+  background-color: #f56c6c;
+}
+.u-info-bg {
+  background-color: #909399;
+}
+.u-main-color {
+  color: #303133;
+}
+.u-content-color {
+  color: #606266;
+}
+.u-tips-color {
+  color: #909193;
+}
+.u-light-color {
+  color: #c0c4cc;
+}
+.u-safe-area-inset-top {
+  padding-top: 0;
+  padding-top: constant(safe-area-inset-top);
+  padding-top: env(safe-area-inset-top);
+}
+.u-safe-area-inset-right {
+  padding-right: 0;
+  padding-right: constant(safe-area-inset-right);
+  padding-right: env(safe-area-inset-right);
+}
+.u-safe-area-inset-bottom {
+  padding-bottom: 0;
+  padding-bottom: constant(safe-area-inset-bottom);
+  padding-bottom: env(safe-area-inset-bottom);
+}
+.u-safe-area-inset-left {
+  padding-left: 0;
+  padding-left: constant(safe-area-inset-left);
+  padding-left: env(safe-area-inset-left);
+}
+::-webkit-scrollbar {
+  display: none;
+  width: 0 !important;
+  height: 0 !important;
+  -webkit-appearance: none;
+  background: transparent;
+}
+page {
+  background-color: #dcdcdc;
+}page{--status-bar-height:25px;--top-window-height:0px;--window-top:0px;--window-bottom:0px;--window-left:0px;--window-right:0px;--window-magin:0px}[data-c-h="true"]{display: none !important;}

Rozdílová data souboru nebyla zobrazena, protože soubor je příliš velký
+ 10141 - 0
dist/dev/mp-weixin/common/vendor.js


+ 361 - 0
dist/dev/mp-weixin/components/ba-tree-picker/ba-tree-picker.js

@@ -0,0 +1,361 @@
+"use strict";
+const common_vendor = require("../../common/vendor.js");
+const _sfc_main = {
+  emits: ["select-change"],
+  name: "ba-tree-picker",
+  props: {
+    valueKey: {
+      type: String,
+      default: "id"
+    },
+    textKey: {
+      type: String,
+      default: "name"
+    },
+    childrenKey: {
+      type: String,
+      default: "children"
+    },
+    localdata: {
+      type: Array,
+      default: function() {
+        return [];
+      }
+    },
+    localTreeList: {
+      //在已经格式化好的数据
+      type: Array,
+      default: function() {
+        return [];
+      }
+    },
+    selectedData: {
+      type: Array,
+      default: function() {
+        return [];
+      }
+    },
+    title: {
+      type: String,
+      default: ""
+    },
+    multiple: {
+      // 是否可以多选
+      type: Boolean,
+      default: true
+    },
+    selectParent: {
+      //是否可以选父级
+      type: Boolean,
+      default: true
+    },
+    confirmColor: {
+      // 确定按钮颜色
+      type: String,
+      default: ""
+      // #0055ff
+    },
+    cancelColor: {
+      // 取消按钮颜色
+      type: String,
+      default: ""
+      // #757575
+    },
+    titleColor: {
+      // 标题颜色
+      type: String,
+      default: ""
+      //
+    },
+    switchColor: {
+      // 节点切换图标颜色
+      type: String,
+      default: ""
+      // #666
+    },
+    border: {
+      // 是否有分割线
+      type: Boolean,
+      default: false
+    }
+  },
+  data() {
+    return {
+      showDialog: false,
+      treeList: []
+    };
+  },
+  computed: {},
+  methods: {
+    _show() {
+      this.showDialog = true;
+    },
+    _hide() {
+      this.showDialog = false;
+    },
+    _cancel() {
+      this._hide();
+      this.$emit("cancel", "");
+    },
+    _confirm() {
+      let selectedList = [];
+      let selectedNames;
+      let currentLevel = -1;
+      this.treeList.forEach((item, index) => {
+        if (currentLevel >= 0 && item.level > currentLevel)
+          ;
+        else {
+          if (item.checkStatus === 2) {
+            currentLevel = item.level;
+            selectedList.push(item.id);
+            selectedNames = selectedNames ? selectedNames + " / " + item.name : item.name;
+          } else {
+            currentLevel = -1;
+          }
+        }
+      });
+      this._hide();
+      this.$emit("select-change", selectedList, selectedNames);
+    },
+    //格式化原数据(原数据为tree结构)
+    _formatTreeData(list = [], level = 0, parentItem, isShowChild = true) {
+      let nextIndex = 0;
+      let parentId = -1;
+      let initCheckStatus = 0;
+      if (parentItem) {
+        nextIndex = this.treeList.findIndex((item) => item.id === parentItem.id) + 1;
+        parentId = parentItem.id;
+        if (!this.multiple) {
+          initCheckStatus = 0;
+        } else
+          initCheckStatus = parentItem.checkStatus == 2 ? 2 : 0;
+      }
+      list.forEach((item) => {
+        let isLastLevel = true;
+        if (item && item[this.childrenKey]) {
+          let children = item[this.childrenKey];
+          if (Array.isArray(children) && children.length > 0) {
+            isLastLevel = false;
+          }
+        }
+        let itemT = {
+          id: item[this.valueKey],
+          name: item[this.textKey],
+          level,
+          isLastLevel,
+          isShow: isShowChild,
+          isShowChild: false,
+          checkStatus: initCheckStatus,
+          orCheckStatus: 0,
+          parentId,
+          children: item[this.childrenKey],
+          childCount: item[this.childrenKey] ? item[this.childrenKey].length : 0,
+          childCheckCount: 0,
+          childCheckPCount: 0
+        };
+        if (this.selectedData.indexOf(itemT.id) >= 0) {
+          itemT.checkStatus = 2;
+          itemT.orCheckStatus = 2;
+          itemT.childCheckCount = itemT.children ? itemT.children.length : 0;
+          this._onItemParentSelect(itemT, nextIndex);
+        }
+        this.treeList.splice(nextIndex, 0, itemT);
+        nextIndex++;
+      });
+    },
+    // 节点打开、关闭切换
+    _onItemSwitch(item, index) {
+      if (item.isLastLevel === true) {
+        return;
+      }
+      item.isShowChild = !item.isShowChild;
+      if (item.children) {
+        this._formatTreeData(item.children, item.level + 1, item);
+        item.children = void 0;
+      } else {
+        this._onItemChildSwitch(item, index);
+      }
+    },
+    _onItemChildSwitch(item, index) {
+      const firstChildIndex = index + 1;
+      if (firstChildIndex > 0)
+        for (var i = firstChildIndex; i < this.treeList.length; i++) {
+          let itemChild = this.treeList[i];
+          if (itemChild.level > item.level) {
+            if (item.isShowChild) {
+              if (itemChild.parentId === item.id) {
+                itemChild.isShow = item.isShowChild;
+                if (!itemChild.isShow) {
+                  itemChild.isShowChild = false;
+                }
+              }
+            } else {
+              itemChild.isShow = item.isShowChild;
+              itemChild.isShowChild = false;
+            }
+          } else {
+            return;
+          }
+        }
+    },
+    // 节点选中、取消选中
+    _onItemSelect(item, index) {
+      if (!this.multiple) {
+        item.checkStatus = item.checkStatus == 0 ? 2 : 0;
+        this.treeList.forEach((v, i) => {
+          if (i != index) {
+            this.treeList[i].checkStatus = 0;
+          } else {
+            this.treeList[i].checkStatus = 2;
+          }
+        });
+        let selectedList = [];
+        let selectedNames;
+        selectedList.push(item.id);
+        selectedNames = item.name;
+        this._hide();
+        this.$emit("select-change", selectedList, selectedNames);
+        return;
+      }
+      let oldCheckStatus = item.checkStatus;
+      switch (oldCheckStatus) {
+        case 0:
+          item.checkStatus = 2;
+          item.childCheckCount = item.childCount;
+          item.childCheckPCount = 0;
+          break;
+        case 1:
+        case 2:
+          item.checkStatus = 0;
+          item.childCheckCount = 0;
+          item.childCheckPCount = 0;
+          break;
+      }
+      this._onItemChildSelect(item, index);
+      this._onItemParentSelect(item, index, oldCheckStatus);
+    },
+    _onItemChildSelect(item, index) {
+      if (item.childCount && item.childCount > 0) {
+        index++;
+        while (index < this.treeList.length && this.treeList[index].level > item.level) {
+          let itemChild = this.treeList[index];
+          itemChild.checkStatus = item.checkStatus;
+          if (itemChild.checkStatus == 2) {
+            itemChild.childCheckCount = itemChild.childCount;
+            itemChild.childCheckPCount = 0;
+          } else if (itemChild.checkStatus == 0) {
+            itemChild.childCheckCount = 0;
+            itemChild.childCheckPCount = 0;
+          }
+          index++;
+        }
+      }
+    },
+    _onItemParentSelect(item, index, oldCheckStatus) {
+      const parentIndex = this.treeList.findIndex((itemP) => itemP.id == item.parentId);
+      if (parentIndex >= 0) {
+        let itemParent = this.treeList[parentIndex];
+        itemParent.childCheckCount;
+        let oldCheckStatusParent = itemParent.checkStatus;
+        if (oldCheckStatus == 1) {
+          itemParent.childCheckPCount -= 1;
+        } else if (oldCheckStatus == 2) {
+          itemParent.childCheckCount -= 1;
+        }
+        if (item.checkStatus == 1) {
+          itemParent.childCheckPCount += 1;
+        } else if (item.checkStatus == 2) {
+          itemParent.childCheckCount += 1;
+        }
+        if (itemParent.childCheckCount <= 0 && itemParent.childCheckPCount <= 0) {
+          itemParent.childCheckCount = 0;
+          itemParent.childCheckPCount = 0;
+          itemParent.checkStatus = 0;
+        } else if (itemParent.childCheckCount >= itemParent.childCount) {
+          itemParent.childCheckCount = itemParent.childCount;
+          itemParent.childCheckPCount = 0;
+          itemParent.checkStatus = 2;
+        } else {
+          itemParent.checkStatus = 1;
+        }
+        this._onItemParentSelect(itemParent, parentIndex, oldCheckStatusParent);
+      }
+    },
+    // 重置数据
+    _reTreeList() {
+      this.treeList.forEach((v, i) => {
+        this.treeList[i].checkStatus = v.orCheckStatus;
+      });
+    },
+    _initTree() {
+      this.treeList = [];
+      this._formatTreeData(this.localdata);
+    }
+  },
+  watch: {
+    localdata() {
+      this._initTree();
+    },
+    localTreeList() {
+      this.treeList = this.localTreeList;
+    }
+  },
+  mounted() {
+    this._initTree();
+  }
+};
+function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
+  return {
+    a: $data.showDialog ? 1 : "",
+    b: common_vendor.o((...args) => $options._cancel && $options._cancel(...args)),
+    c: $props.cancelColor,
+    d: common_vendor.o((...args) => $options._cancel && $options._cancel(...args)),
+    e: common_vendor.t($props.title),
+    f: $props.titleColor,
+    g: common_vendor.t($props.multiple ? "确定" : ""),
+    h: $props.confirmColor,
+    i: common_vendor.o((...args) => $options._confirm && $options._confirm(...args)),
+    j: common_vendor.f($data.treeList, (item, index, i0) => {
+      return common_vendor.e({
+        a: !item.isLastLevel && item.isShowChild
+      }, !item.isLastLevel && item.isShowChild ? {
+        b: $props.switchColor
+      } : !item.isLastLevel && !item.isShowChild ? {
+        d: $props.switchColor
+      } : {
+        e: $props.switchColor
+      }, {
+        c: !item.isLastLevel && !item.isShowChild,
+        f: common_vendor.o(($event) => $options._onItemSwitch(item, index), index),
+        g: common_vendor.t(item.name + (item.childCount ? "(" + item.childCount + ")" : "")),
+        h: $props.selectParent ? true : item.isLastLevel
+      }, ($props.selectParent ? true : item.isLastLevel) ? common_vendor.e({
+        i: item.checkStatus == 1
+      }, item.checkStatus == 1 ? {
+        j: $props.confirmColor,
+        k: !$props.multiple ? 1 : "",
+        l: $props.confirmColor
+      } : item.checkStatus == 2 ? {
+        n: $props.confirmColor,
+        o: !$props.multiple ? 1 : "",
+        p: $props.confirmColor
+      } : {
+        q: !$props.multiple ? 1 : "",
+        r: $props.confirmColor
+      }, {
+        m: item.checkStatus == 2
+      }) : {}, {
+        s: common_vendor.o(($event) => $options._onItemSelect(item, index), index),
+        t: common_vendor.s({
+          paddingLeft: item.level * 30 + "rpx"
+        }),
+        v: item.isShow ? 1 : "",
+        w: index
+      });
+    }),
+    k: $props.border === true ? 1 : "",
+    l: $data.showDialog ? 1 : ""
+  };
+}
+const Component = /* @__PURE__ */ common_vendor._export_sfc(_sfc_main, [["render", _sfc_render], ["__scopeId", "data-v-6e9e5013"], ["__file", "F:/兴元/开门柜项目/平台端管理系统小程序/src/components/ba-tree-picker/ba-tree-picker.vue"]]);
+wx.createComponent(Component);

+ 4 - 0
dist/dev/mp-weixin/components/ba-tree-picker/ba-tree-picker.json

@@ -0,0 +1,4 @@
+{
+  "component": true,
+  "usingComponents": {}
+}

Rozdílová data souboru nebyla zobrazena, protože soubor je příliš velký
+ 0 - 0
dist/dev/mp-weixin/components/ba-tree-picker/ba-tree-picker.wxml


+ 206 - 0
dist/dev/mp-weixin/components/ba-tree-picker/ba-tree-picker.wxss

@@ -0,0 +1,206 @@
+
+.tree-cover.data-v-6e9e5013 {
+		position: fixed;
+		top: 0rpx;
+		right: 0rpx;
+		bottom: 0rpx;
+		left: 0rpx;
+		z-index: 100;
+		background-color: rgba(0, 0, 0, .4);
+		opacity: 0;
+		transition: all 0.3s ease;
+		visibility: hidden;
+}
+.tree-cover.show.data-v-6e9e5013 {
+		visibility: visible;
+		opacity: 1;
+}
+.tree-dialog.data-v-6e9e5013 {
+		position: fixed;
+		top: 0rpx;
+		right: 0rpx;
+		bottom: 0rpx;
+		left: 0rpx;
+		background-color: #fff;
+		border-top-left-radius: 10px;
+		border-top-right-radius: 10px;
+
+		display: flex;
+
+		flex-direction: column;
+		z-index: 102;
+		top: 20%;
+		transition: all 0.3s ease;
+		transform: translateY(100%);
+}
+.tree-dialog.show.data-v-6e9e5013 {
+		transform: translateY(0);
+}
+.tree-bar.data-v-6e9e5013 {
+		/* background-color: #fff; */
+		height: 90rpx;
+		padding-left: 25rpx;
+		padding-right: 25rpx;
+		display: flex;
+		justify-content: space-between;
+		align-items: center;
+		box-sizing: border-box;
+		border-bottom-width: 1rpx !important;
+		border-bottom-style: solid;
+		border-bottom-color: #f5f5f5;
+		font-size: 32rpx;
+		color: #757575;
+		line-height: 1;
+}
+.tree-bar-confirm.data-v-6e9e5013 {
+		color: #0055ff;
+		padding: 15rpx;
+}
+.tree-bar-title.data-v-6e9e5013 {}
+.tree-bar-cancel.data-v-6e9e5013 {
+		color: #757575;
+		padding: 15rpx;
+}
+.tree-view.data-v-6e9e5013 {
+		flex: 1;
+		padding: 20rpx;
+
+		display: flex;
+
+		flex-direction: column;
+		overflow: hidden;
+		height: 100%;
+}
+.tree-list.data-v-6e9e5013 {
+		flex: 1;
+		height: 100%;
+		overflow: hidden;
+}
+.tree-item.data-v-6e9e5013 {
+		display: flex;
+		justify-content: space-between;
+		align-items: center;
+		line-height: 1;
+		height: 0;
+		opacity: 0;
+		transition: 0.2s;
+		overflow: hidden;
+}
+.tree-item.show.data-v-6e9e5013 {
+		height: 90rpx;
+		opacity: 1;
+}
+.tree-item.showchild.data-v-6e9e5013:before {
+		transform: rotate(90deg);
+}
+.tree-item.last.data-v-6e9e5013:before {
+		opacity: 0;
+}
+.switch-on.data-v-6e9e5013 {
+		width: 0;
+		height: 0;
+		border-left: 10rpx solid transparent;
+		border-right: 10rpx solid transparent;
+		border-top: 15rpx solid #666;
+}
+.switch-off.data-v-6e9e5013 {
+		width: 0;
+		height: 0;
+		border-bottom: 10rpx solid transparent;
+		border-top: 10rpx solid transparent;
+		border-left: 15rpx solid #666;
+}
+.item-last-dot.data-v-6e9e5013 {
+		position: absolute;
+		width: 10rpx;
+		height: 10rpx;
+		border-radius: 100%;
+		background: #666;
+}
+.item-icon.data-v-6e9e5013 {
+		width: 26rpx;
+		height: 26rpx;
+		margin-right: 8rpx;
+		padding-right: 20rpx;
+		padding-left: 20rpx;
+}
+.item-label.data-v-6e9e5013 {
+		flex: 1;
+		display: flex;
+		align-items: center;
+		height: 100%;
+		line-height: 1.2;
+}
+.item-name.data-v-6e9e5013 {
+		flex: 1;
+		overflow: hidden;
+		text-overflow: ellipsis;
+		white-space: nowrap;
+		/*width: 450rpx;*/
+}
+.item-check.data-v-6e9e5013 {
+		width: 40px;
+		height: 40px;
+		display: flex;
+		justify-content: center;
+		align-items: center;
+}
+.item-check-yes.data-v-6e9e5013,
+	.item-check-no.data-v-6e9e5013 {
+		width: 20px;
+		height: 20px;
+		border-top-left-radius: 20%;
+		border-top-right-radius: 20%;
+		border-bottom-right-radius: 20%;
+		border-bottom-left-radius: 20%;
+		border-top-width: 1rpx;
+		border-left-width: 1rpx;
+		border-bottom-width: 1rpx;
+		border-right-width: 1rpx;
+		border-style: solid;
+		border-color: #0055ff;
+		display: flex;
+		justify-content: center;
+		align-items: center;
+		box-sizing: border-box;
+}
+.item-check-yes-part.data-v-6e9e5013 {
+		width: 12px;
+		height: 12px;
+		border-top-left-radius: 20%;
+		border-top-right-radius: 20%;
+		border-bottom-right-radius: 20%;
+		border-bottom-left-radius: 20%;
+		background-color: #0055ff;
+}
+.item-check-yes-all.data-v-6e9e5013 {
+		margin-bottom: 5px;
+		border: 2px solid #007aff;
+		border-left: 0;
+		border-top: 0;
+		height: 12px;
+		width: 6px;
+		transform-origin: center;
+
+		transition: all 0.3s;
+
+		transform: rotate(45deg);
+}
+.item-check .radio.data-v-6e9e5013 {
+		border-top-left-radius: 50%;
+		border-top-right-radius: 50%;
+		border-bottom-right-radius: 50%;
+		border-bottom-left-radius: 50%;
+}
+.item-check .radio .item-check-yes-b.data-v-6e9e5013 {
+		border-top-left-radius: 50%;
+		border-top-right-radius: 50%;
+		border-bottom-right-radius: 50%;
+		border-bottom-left-radius: 50%;
+}
+.hover-c.data-v-6e9e5013 {
+		opacity: 0.6;
+}
+.itemBorder.data-v-6e9e5013 {
+		border-bottom: 1px solid #e5e5e5;
+}

+ 44 - 0
dist/dev/mp-weixin/components/xy-svg/xy-svg.js

@@ -0,0 +1,44 @@
+"use strict";
+const common_vendor = require("../../common/vendor.js");
+const _sfc_main = {
+  __name: "xy-svg",
+  props: {
+    url: {
+      type: String,
+      require: true
+    },
+    width: {
+      type: String,
+      default: "30"
+    },
+    height: {
+      type: String,
+      default: "30"
+    },
+    color: {
+      type: String,
+      default: "skyblue"
+    }
+  },
+  setup(__props) {
+    const props = __props;
+    let style = common_vendor.computed(() => {
+      return {
+        width: `${props.width}rpx`,
+        height: `${props.height}rpx`,
+        transform: `translateX(${props.width}rpx)`,
+        filter: `drop-shadow(${props.color} -${props.width}rpx 0px 0px)`
+      };
+    });
+    return (_ctx, _cache) => {
+      return {
+        a: __props.url,
+        b: common_vendor.s(common_vendor.unref(style)),
+        c: __props.width + "rpx",
+        d: __props.height + "rpx"
+      };
+    };
+  }
+};
+const Component = /* @__PURE__ */ common_vendor._export_sfc(_sfc_main, [["__scopeId", "data-v-bd0a7296"], ["__file", "F:/兴元/开门柜项目/平台端管理系统小程序/src/components/xy-svg/xy-svg.vue"]]);
+wx.createComponent(Component);

+ 4 - 0
dist/dev/mp-weixin/components/xy-svg/xy-svg.json

@@ -0,0 +1,4 @@
+{
+  "component": true,
+  "usingComponents": {}
+}

+ 1 - 0
dist/dev/mp-weixin/components/xy-svg/xy-svg.wxml

@@ -0,0 +1 @@
+<view class="svg data-v-bd0a7296" style="{{'width:' + c + ';' + ('height:' + d)}}"><image class="svg-color data-v-bd0a7296" src="{{a}}" mode="widthFix" style="{{b}}"></image></view>

+ 4 - 0
dist/dev/mp-weixin/components/xy-svg/xy-svg.wxss

@@ -0,0 +1,4 @@
+
+.svg.data-v-bd0a7296 {
+  overflow: hidden;
+}

+ 22 - 0
dist/dev/mp-weixin/config.js

@@ -0,0 +1,22 @@
+"use strict";
+const config = {
+  // baseUrl: "development" == 'production' ?
+  baseUrl: "https://api.mxrvending.com:9050",
+  // 	'https://ai.tanbin.vip',
+  //baseUrl: 'https://api.mxrvending.com:9050',
+  //baseUrl:'http://119.96.194.20:9050',
+  //mock数据
+  // baseUrl: 'http://119.96.213.127:9010/mock',
+  // 应用信息
+  appInfo: {
+    // 应用名称
+    name: "MXR-app",
+    // 应用版本
+    version: "1.0.0",
+    // 应用logo
+    logo: "/static/logo.png",
+    // 官方网站
+    site_url: "http://www.xyvending.com/"
+  }
+};
+exports.config = config;

+ 60 - 0
dist/dev/mp-weixin/node-modules/uview-plus/components/u--form/u--form.js

@@ -0,0 +1,60 @@
+"use strict";
+const common_vendor = require("../../../../common/vendor.js");
+const uvForm = () => "../u-form/u-form.js";
+const _sfc_main = {
+  name: "u-form",
+  mixins: [common_vendor.mpMixin, common_vendor.props$15, common_vendor.mixin],
+  components: {
+    uvForm
+  },
+  created() {
+    this.children = [];
+  },
+  methods: {
+    // 手动设置校验的规则,如果规则中有函数的话,微信小程序中会过滤掉,所以只能手动调用设置规则
+    setRules(rules) {
+      this.$refs.uForm.setRules(rules);
+    },
+    validate() {
+      this.setMpData();
+      return this.$refs.uForm.validate();
+    },
+    validateField(value, callback) {
+      this.setMpData();
+      return this.$refs.uForm.validateField(value, callback);
+    },
+    resetFields() {
+      this.setMpData();
+      return this.$refs.uForm.resetFields();
+    },
+    clearValidate(props) {
+      this.setMpData();
+      return this.$refs.uForm.clearValidate(props);
+    },
+    setMpData() {
+      this.$refs.uForm.children = this.children;
+    }
+  }
+};
+if (!Array) {
+  const _component_uvForm = common_vendor.resolveComponent("uvForm");
+  _component_uvForm();
+}
+function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
+  return {
+    a: common_vendor.sr("uForm", "2e0e98b5-0"),
+    b: common_vendor.p({
+      model: _ctx.model,
+      rules: _ctx.rules,
+      errorType: _ctx.errorType,
+      borderBottom: _ctx.borderBottom,
+      labelPosition: _ctx.labelPosition,
+      labelWidth: _ctx.labelWidth,
+      labelAlign: _ctx.labelAlign,
+      labelStyle: _ctx.labelStyle,
+      customStyle: _ctx.customStyle
+    })
+  };
+}
+const Component = /* @__PURE__ */ common_vendor._export_sfc(_sfc_main, [["render", _sfc_render], ["__file", "F:/兴元/开门柜项目/平台端管理系统小程序/node_modules/uview-plus/components/u--form/u--form.vue"]]);
+wx.createComponent(Component);

+ 6 - 0
dist/dev/mp-weixin/node-modules/uview-plus/components/u--form/u--form.json

@@ -0,0 +1,6 @@
+{
+  "component": true,
+  "usingComponents": {
+    "uv-form": "../u-form/u-form"
+  }
+}

+ 1 - 0
dist/dev/mp-weixin/node-modules/uview-plus/components/u--form/u--form.wxml

@@ -0,0 +1 @@
+<uv-form wx:if="{{b}}" class="r" u-s="{{['d']}}" u-r="uForm" u-i="2e0e98b5-0" bind:__l="__l" u-p="{{b}}"><slot/></uv-form>

+ 0 - 0
dist/dev/mp-weixin/node-modules/uview-plus/components/u--form/u--form.wxss


+ 43 - 0
dist/dev/mp-weixin/node-modules/uview-plus/components/u--image/u--image.js

@@ -0,0 +1,43 @@
+"use strict";
+const common_vendor = require("../../../../common/vendor.js");
+const uvImage = () => "../u-image/u-image.js";
+const _sfc_main = {
+  name: "u--image",
+  mixins: [common_vendor.mpMixin, common_vendor.props$13, common_vendor.mixin],
+  components: {
+    uvImage
+  },
+  emits: ["click", "error", "load"]
+};
+if (!Array) {
+  const _component_uvImage = common_vendor.resolveComponent("uvImage");
+  _component_uvImage();
+}
+function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
+  return {
+    a: common_vendor.o(($event) => _ctx.$emit("click")),
+    b: common_vendor.o(($event) => _ctx.$emit("error")),
+    c: common_vendor.o(($event) => _ctx.$emit("load")),
+    d: common_vendor.p({
+      src: _ctx.src,
+      mode: _ctx.mode,
+      width: _ctx.width,
+      height: _ctx.height,
+      shape: _ctx.shape,
+      radius: _ctx.radius,
+      lazyLoad: _ctx.lazyLoad,
+      showMenuByLongpress: _ctx.showMenuByLongpress,
+      loadingIcon: _ctx.loadingIcon,
+      errorIcon: _ctx.errorIcon,
+      showLoading: _ctx.showLoading,
+      showError: _ctx.showError,
+      fade: _ctx.fade,
+      webp: _ctx.webp,
+      duration: _ctx.duration,
+      bgColor: _ctx.bgColor,
+      customStyle: _ctx.customStyle
+    })
+  };
+}
+const Component = /* @__PURE__ */ common_vendor._export_sfc(_sfc_main, [["render", _sfc_render], ["__file", "F:/兴元/开门柜项目/平台端管理系统小程序/node_modules/uview-plus/components/u--image/u--image.vue"]]);
+wx.createComponent(Component);

+ 6 - 0
dist/dev/mp-weixin/node-modules/uview-plus/components/u--image/u--image.json

@@ -0,0 +1,6 @@
+{
+  "component": true,
+  "usingComponents": {
+    "uv-image": "../u-image/u-image"
+  }
+}

+ 1 - 0
dist/dev/mp-weixin/node-modules/uview-plus/components/u--image/u--image.wxml

@@ -0,0 +1 @@
+<uv-image wx:if="{{d}}" u-s="{{['loading','error']}}" bindclick="{{a}}" binderror="{{b}}" bindload="{{c}}" u-i="12537601-0" bind:__l="__l" u-p="{{d}}"><view slot="loading"><slot name="loading"></slot></view><view slot="error"><slot name="error"></slot></view></uv-image>

+ 0 - 0
dist/dev/mp-weixin/node-modules/uview-plus/components/u--image/u--image.wxss


+ 59 - 0
dist/dev/mp-weixin/node-modules/uview-plus/components/u--input/u--input.js

@@ -0,0 +1,59 @@
+"use strict";
+const common_vendor = require("../../../../common/vendor.js");
+const uvInput = () => "../u-input/u-input.js";
+const _sfc_main = {
+  name: "u--input",
+  mixins: [common_vendor.mpMixin, common_vendor.props$10, common_vendor.mixin],
+  components: {
+    uvInput
+  }
+};
+if (!Array) {
+  const _component_uvInput = common_vendor.resolveComponent("uvInput");
+  _component_uvInput();
+}
+function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
+  return {
+    a: common_vendor.o((e) => _ctx.$emit("update:modelValue", e)),
+    b: common_vendor.p({
+      modelValue: _ctx.modelValue,
+      type: _ctx.type,
+      fixed: _ctx.fixed,
+      disabled: _ctx.disabled,
+      disabledColor: _ctx.disabledColor,
+      clearable: _ctx.clearable,
+      password: _ctx.password,
+      maxlength: _ctx.maxlength,
+      placeholder: _ctx.placeholder,
+      placeholderClass: _ctx.placeholderClass,
+      placeholderStyle: _ctx.placeholderStyle,
+      showWordLimit: _ctx.showWordLimit,
+      confirmType: _ctx.confirmType,
+      confirmHold: _ctx.confirmHold,
+      holdKeyboard: _ctx.holdKeyboard,
+      focus: _ctx.focus,
+      autoBlur: _ctx.autoBlur,
+      disableDefaultPadding: _ctx.disableDefaultPadding,
+      cursor: _ctx.cursor,
+      cursorSpacing: _ctx.cursorSpacing,
+      selectionStart: _ctx.selectionStart,
+      selectionEnd: _ctx.selectionEnd,
+      adjustPosition: _ctx.adjustPosition,
+      inputAlign: _ctx.inputAlign,
+      fontSize: _ctx.fontSize,
+      color: _ctx.color,
+      prefixIcon: _ctx.prefixIcon,
+      suffixIcon: _ctx.suffixIcon,
+      suffixIconStyle: _ctx.suffixIconStyle,
+      prefixIconStyle: _ctx.prefixIconStyle,
+      border: _ctx.border,
+      readonly: _ctx.readonly,
+      shape: _ctx.shape,
+      customStyle: _ctx.customStyle,
+      formatter: _ctx.formatter,
+      ignoreCompositionEvent: _ctx.ignoreCompositionEvent
+    })
+  };
+}
+const Component = /* @__PURE__ */ common_vendor._export_sfc(_sfc_main, [["render", _sfc_render], ["__file", "F:/兴元/开门柜项目/平台端管理系统小程序/node_modules/uview-plus/components/u--input/u--input.vue"]]);
+wx.createComponent(Component);

+ 6 - 0
dist/dev/mp-weixin/node-modules/uview-plus/components/u--input/u--input.json

@@ -0,0 +1,6 @@
+{
+  "component": true,
+  "usingComponents": {
+    "uv-input": "../u-input/u-input"
+  }
+}

+ 1 - 0
dist/dev/mp-weixin/node-modules/uview-plus/components/u--input/u--input.wxml

@@ -0,0 +1 @@
+<uv-input wx:if="{{b}}" u-s="{{['d']}}" bindupdateModelValue="{{a}}" u-i="5a9dd2e1-0" bind:__l="__l" u-p="{{b}}"><slot name="prefix"></slot><slot name="suffix"></slot></uv-input>

+ 0 - 0
dist/dev/mp-weixin/node-modules/uview-plus/components/u--input/u--input.wxss


+ 79 - 0
dist/dev/mp-weixin/node-modules/uview-plus/components/u-back-top/u-back-top.js

@@ -0,0 +1,79 @@
+"use strict";
+const common_vendor = require("../../../../common/vendor.js");
+const _sfc_main = {
+  name: "u-back-top",
+  mixins: [common_vendor.index.$u.mpMixin, common_vendor.index.$u.mixin, common_vendor.props$21],
+  computed: {
+    backTopStyle() {
+      const style = {
+        bottom: common_vendor.index.$u.addUnit(this.bottom),
+        right: common_vendor.index.$u.addUnit(this.right),
+        width: "40px",
+        height: "40px",
+        position: "fixed",
+        zIndex: 10
+      };
+      return style;
+    },
+    show() {
+      return common_vendor.index.$u.getPx(this.scrollTop) > common_vendor.index.$u.getPx(this.top);
+    },
+    contentStyle() {
+      const style = {};
+      let radius = 0;
+      if (this.mode === "circle") {
+        radius = "100px";
+      } else {
+        radius = "4px";
+      }
+      style.borderTopLeftRadius = radius;
+      style.borderTopRightRadius = radius;
+      style.borderBottomLeftRadius = radius;
+      style.borderBottomRightRadius = radius;
+      return common_vendor.index.$u.deepMerge(style, common_vendor.index.$u.addStyle(this.customStyle));
+    }
+  },
+  methods: {
+    backToTop() {
+      common_vendor.index.pageScrollTo({
+        scrollTop: 0,
+        duration: this.duration
+      });
+      this.$emit("click");
+    }
+  }
+};
+if (!Array) {
+  const _easycom_u_icon2 = common_vendor.resolveComponent("u-icon");
+  const _easycom_u_transition2 = common_vendor.resolveComponent("u-transition");
+  (_easycom_u_icon2 + _easycom_u_transition2)();
+}
+const _easycom_u_icon = () => "../u-icon/u-icon.js";
+const _easycom_u_transition = () => "../u-transition/u-transition.js";
+if (!Math) {
+  (_easycom_u_icon + _easycom_u_transition)();
+}
+function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
+  return common_vendor.e({
+    a: !_ctx.$slots.default && !_ctx.$slots.$default
+  }, !_ctx.$slots.default && !_ctx.$slots.$default ? common_vendor.e({
+    b: common_vendor.p({
+      name: _ctx.icon,
+      ["custom-style"]: _ctx.iconStyle
+    }),
+    c: _ctx.text
+  }, _ctx.text ? {
+    d: common_vendor.t(_ctx.text)
+  } : {}, {
+    e: common_vendor.s($options.contentStyle),
+    f: common_vendor.o((...args) => $options.backToTop && $options.backToTop(...args))
+  }) : {}, {
+    g: common_vendor.p({
+      mode: "fade",
+      customStyle: $options.backTopStyle,
+      show: $options.show
+    })
+  });
+}
+const Component = /* @__PURE__ */ common_vendor._export_sfc(_sfc_main, [["render", _sfc_render], ["__scopeId", "data-v-bf56b0c2"], ["__file", "F:/兴元/开门柜项目/平台端管理系统小程序/node_modules/uview-plus/components/u-back-top/u-back-top.vue"]]);
+wx.createComponent(Component);

+ 7 - 0
dist/dev/mp-weixin/node-modules/uview-plus/components/u-back-top/u-back-top.json

@@ -0,0 +1,7 @@
+{
+  "component": true,
+  "usingComponents": {
+    "u-icon": "../u-icon/u-icon",
+    "u-transition": "../u-transition/u-transition"
+  }
+}

+ 1 - 0
dist/dev/mp-weixin/node-modules/uview-plus/components/u-back-top/u-back-top.wxml

@@ -0,0 +1 @@
+<u-transition wx:if="{{g}}" class="data-v-bf56b0c2" u-s="{{['d']}}" u-i="bf56b0c2-0" bind:__l="__l" u-p="{{g}}"><view wx:if="{{a}}" class="u-back-top data-v-bf56b0c2" style="{{e}}" bindtap="{{f}}"><u-icon wx:if="{{b}}" class="data-v-bf56b0c2" u-i="bf56b0c2-1,bf56b0c2-0" bind:__l="__l" u-p="{{b}}"></u-icon><text wx:if="{{c}}" class="u-back-top__text data-v-bf56b0c2">{{d}}</text></view><slot wx:else/></u-transition>

+ 50 - 0
dist/dev/mp-weixin/node-modules/uview-plus/components/u-back-top/u-back-top.wxss

@@ -0,0 +1,50 @@
+/**
+ * 这里是uni-app内置的常用样式变量
+ *
+ * uni-app 官方扩展插件及插件市场(https://ext.dcloud.net.cn)上很多三方插件均使用了这些样式变量
+ * 如果你是插件开发者,建议你使用scss预处理,并在插件代码中直接使用这些变量(无需 import 这个文件),方便用户通过搭积木的方式开发整体风格一致的App
+ *
+ */
+/**
+ * 如果你是App开发者(插件使用者),你可以通过修改这些变量来定制自己的插件主题,实现自定义主题功能
+ *
+ * 如果你的项目同样使用了scss预处理,你也可以直接在你的 scss 代码中使用如下变量,同时无需 import 这个文件
+ */
+/* 颜色变量 */
+/* 行为相关颜色 */
+/* 文字基本颜色 */
+/* 背景颜色 */
+/* 边框颜色 */
+/* 尺寸变量 */
+/* 文字尺寸 */
+/* 图片尺寸 */
+/* Border Radius */
+/* 水平间距 */
+/* 垂直间距 */
+/* 透明度 */
+/* 文章场景相关 */
+view.data-v-bf56b0c2, scroll-view.data-v-bf56b0c2, swiper-item.data-v-bf56b0c2 {
+  display: flex;
+  flex-direction: column;
+  flex-shrink: 0;
+  flex-grow: 0;
+  flex-basis: auto;
+  align-items: stretch;
+  align-content: flex-start;
+}
+.u-back-top.data-v-bf56b0c2 {
+
+  display: flex;
+
+  flex-direction: row;
+  flex-direction: column;
+  align-items: center;
+  flex: 1;
+  height: 100%;
+  justify-content: center;
+  background-color: #E1E1E1;
+}
+.u-back-top__tips.data-v-bf56b0c2 {
+  font-size: 12px;
+  transform: scale(0.8);
+}

+ 60 - 0
dist/dev/mp-weixin/node-modules/uview-plus/components/u-badge/u-badge.js

@@ -0,0 +1,60 @@
+"use strict";
+const common_vendor = require("../../../../common/vendor.js");
+const _sfc_main = {
+  name: "u-badge",
+  mixins: [common_vendor.mpMixin, common_vendor.props$23, common_vendor.mixin],
+  computed: {
+    // 是否将badge中心与父组件右上角重合
+    boxStyle() {
+      let style = {};
+      return style;
+    },
+    // 整个组件的样式
+    badgeStyle() {
+      const style = {};
+      if (this.color) {
+        style.color = this.color;
+      }
+      if (this.bgColor && !this.inverted) {
+        style.backgroundColor = this.bgColor;
+      }
+      if (this.absolute) {
+        style.position = "absolute";
+        if (this.offset.length) {
+          const top = this.offset[0];
+          const right = this.offset[1] || top;
+          style.top = common_vendor.index.$u.addUnit(top);
+          style.right = common_vendor.index.$u.addUnit(right);
+        }
+      }
+      return style;
+    },
+    showValue() {
+      switch (this.numberType) {
+        case "overflow":
+          return Number(this.value) > Number(this.max) ? this.max + "+" : this.value;
+        case "ellipsis":
+          return Number(this.value) > Number(this.max) ? "..." : this.value;
+        case "limit":
+          return Number(this.value) > 999 ? Number(this.value) >= 9999 ? Math.floor(this.value / 1e4 * 100) / 100 + "w" : Math.floor(this.value / 1e3 * 100) / 100 + "k" : this.value;
+        default:
+          return Number(this.value);
+      }
+    }
+  }
+};
+function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
+  return common_vendor.e({
+    a: _ctx.show && ((Number(_ctx.value) === 0 ? _ctx.showZero : true) || _ctx.isDot)
+  }, _ctx.show && ((Number(_ctx.value) === 0 ? _ctx.showZero : true) || _ctx.isDot) ? {
+    b: common_vendor.t(_ctx.isDot ? "" : $options.showValue),
+    c: common_vendor.n(_ctx.isDot ? "u-badge--dot" : "u-badge--not-dot"),
+    d: common_vendor.n(_ctx.inverted && "u-badge--inverted"),
+    e: common_vendor.n(_ctx.shape === "horn" && "u-badge--horn"),
+    f: common_vendor.n(`u-badge--${_ctx.type}${_ctx.inverted ? "--inverted" : ""}`),
+    g: common_vendor.s(_ctx.$u.addStyle(_ctx.customStyle)),
+    h: common_vendor.s($options.badgeStyle)
+  } : {});
+}
+const Component = /* @__PURE__ */ common_vendor._export_sfc(_sfc_main, [["render", _sfc_render], ["__scopeId", "data-v-aa9883b1"], ["__file", "F:/兴元/开门柜项目/平台端管理系统小程序/node_modules/uview-plus/components/u-badge/u-badge.vue"]]);
+wx.createComponent(Component);

+ 4 - 0
dist/dev/mp-weixin/node-modules/uview-plus/components/u-badge/u-badge.json

@@ -0,0 +1,4 @@
+{
+  "component": true,
+  "usingComponents": {}
+}

+ 1 - 0
dist/dev/mp-weixin/node-modules/uview-plus/components/u-badge/u-badge.wxml

@@ -0,0 +1 @@
+<text wx:if="{{a}}" class="{{[c, d, e, f, 'u-badge', 'data-v-aa9883b1']}}" style="{{g + ';' + h}}">{{b}}</text>

+ 91 - 0
dist/dev/mp-weixin/node-modules/uview-plus/components/u-badge/u-badge.wxss

@@ -0,0 +1,91 @@
+/**
+ * 这里是uni-app内置的常用样式变量
+ *
+ * uni-app 官方扩展插件及插件市场(https://ext.dcloud.net.cn)上很多三方插件均使用了这些样式变量
+ * 如果你是插件开发者,建议你使用scss预处理,并在插件代码中直接使用这些变量(无需 import 这个文件),方便用户通过搭积木的方式开发整体风格一致的App
+ *
+ */
+/**
+ * 如果你是App开发者(插件使用者),你可以通过修改这些变量来定制自己的插件主题,实现自定义主题功能
+ *
+ * 如果你的项目同样使用了scss预处理,你也可以直接在你的 scss 代码中使用如下变量,同时无需 import 这个文件
+ */
+/* 颜色变量 */
+/* 行为相关颜色 */
+/* 文字基本颜色 */
+/* 背景颜色 */
+/* 边框颜色 */
+/* 尺寸变量 */
+/* 文字尺寸 */
+/* 图片尺寸 */
+/* Border Radius */
+/* 水平间距 */
+/* 垂直间距 */
+/* 透明度 */
+/* 文章场景相关 */
+view.data-v-aa9883b1, scroll-view.data-v-aa9883b1, swiper-item.data-v-aa9883b1 {
+  display: flex;
+  flex-direction: column;
+  flex-shrink: 0;
+  flex-grow: 0;
+  flex-basis: auto;
+  align-items: stretch;
+  align-content: flex-start;
+}
+.u-badge.data-v-aa9883b1 {
+  border-top-right-radius: 100px;
+  border-top-left-radius: 100px;
+  border-bottom-left-radius: 100px;
+  border-bottom-right-radius: 100px;
+
+  display: flex;
+
+  flex-direction: row;
+  line-height: 11px;
+  text-align: center;
+  font-size: 11px;
+  color: #FFFFFF;
+}
+.u-badge--dot.data-v-aa9883b1 {
+  height: 8px;
+  width: 8px;
+}
+.u-badge--inverted.data-v-aa9883b1 {
+  font-size: 13px;
+}
+.u-badge--not-dot.data-v-aa9883b1 {
+  padding: 2px 5px;
+}
+.u-badge--horn.data-v-aa9883b1 {
+  border-bottom-left-radius: 0;
+}
+.u-badge--primary.data-v-aa9883b1 {
+  background-color: #3c9cff;
+}
+.u-badge--primary--inverted.data-v-aa9883b1 {
+  color: #3c9cff;
+}
+.u-badge--error.data-v-aa9883b1 {
+  background-color: #f56c6c;
+}
+.u-badge--error--inverted.data-v-aa9883b1 {
+  color: #f56c6c;
+}
+.u-badge--success.data-v-aa9883b1 {
+  background-color: #5ac725;
+}
+.u-badge--success--inverted.data-v-aa9883b1 {
+  color: #5ac725;
+}
+.u-badge--info.data-v-aa9883b1 {
+  background-color: #909399;
+}
+.u-badge--info--inverted.data-v-aa9883b1 {
+  color: #909399;
+}
+.u-badge--warning.data-v-aa9883b1 {
+  background-color: #f9ae3d;
+}
+.u-badge--warning--inverted.data-v-aa9883b1 {
+  color: #f9ae3d;
+}

+ 193 - 0
dist/dev/mp-weixin/node-modules/uview-plus/components/u-button/u-button.js

@@ -0,0 +1,193 @@
+"use strict";
+const common_vendor = require("../../../../common/vendor.js");
+const _sfc_main = {
+  name: "u-button",
+  mixins: [common_vendor.mpMixin, common_vendor.mixin, common_vendor.button, common_vendor.openType, common_vendor.props$11],
+  data() {
+    return {};
+  },
+  computed: {
+    // 生成bem风格的类名
+    bemClass() {
+      if (!this.color) {
+        return this.bem(
+          "button",
+          ["type", "shape", "size"],
+          ["disabled", "plain", "hairline"]
+        );
+      } else {
+        return this.bem(
+          "button",
+          ["shape", "size"],
+          ["disabled", "plain", "hairline"]
+        );
+      }
+    },
+    loadingColor() {
+      if (this.plain) {
+        return this.color ? this.color : common_vendor.index.$u.config.color[`u-${this.type}`];
+      }
+      if (this.type === "info") {
+        return "#c9c9c9";
+      }
+      return "rgb(200, 200, 200)";
+    },
+    iconColorCom() {
+      if (this.iconColor)
+        return this.iconColor;
+      if (this.plain) {
+        return this.color ? this.color : this.type;
+      } else {
+        return this.type === "info" ? "#000000" : "#ffffff";
+      }
+    },
+    baseColor() {
+      let style = {};
+      if (this.color) {
+        style.color = this.plain ? this.color : "white";
+        if (!this.plain) {
+          style["background-color"] = this.color;
+        }
+        if (this.color.indexOf("gradient") !== -1) {
+          style.borderTopWidth = 0;
+          style.borderRightWidth = 0;
+          style.borderBottomWidth = 0;
+          style.borderLeftWidth = 0;
+          if (!this.plain) {
+            style.backgroundImage = this.color;
+          }
+        } else {
+          style.borderColor = this.color;
+          style.borderWidth = "1px";
+          style.borderStyle = "solid";
+        }
+      }
+      return style;
+    },
+    // nvue版本按钮的字体不会继承父组件的颜色,需要对每一个text组件进行单独的设置
+    nvueTextStyle() {
+      let style = {};
+      if (this.type === "info") {
+        style.color = "#323233";
+      }
+      if (this.color) {
+        style.color = this.plain ? this.color : "white";
+      }
+      style.fontSize = this.textSize + "px";
+      return style;
+    },
+    // 字体大小
+    textSize() {
+      let fontSize = 14, { size } = this;
+      if (size === "large")
+        fontSize = 16;
+      if (size === "normal")
+        fontSize = 14;
+      if (size === "small")
+        fontSize = 12;
+      if (size === "mini")
+        fontSize = 10;
+      return fontSize;
+    }
+  },
+  emits: [
+    "click",
+    "getphonenumber",
+    "getuserinfo",
+    "error",
+    "opensetting",
+    "launchapp"
+  ],
+  methods: {
+    clickHandler() {
+      if (!this.disabled && !this.loading) {
+        common_vendor.index.$u.throttle(() => {
+          this.$emit("click");
+        }, this.throttleTime);
+      }
+    },
+    // 下面为对接uniapp官方按钮开放能力事件回调的对接
+    getphonenumber(res) {
+      this.$emit("getphonenumber", res);
+    },
+    getuserinfo(res) {
+      this.$emit("getuserinfo", res);
+    },
+    error(res) {
+      this.$emit("error", res);
+    },
+    opensetting(res) {
+      this.$emit("opensetting", res);
+    },
+    launchapp(res) {
+      this.$emit("launchapp", res);
+    }
+  }
+};
+if (!Array) {
+  const _easycom_u_loading_icon2 = common_vendor.resolveComponent("u-loading-icon");
+  const _easycom_u_icon2 = common_vendor.resolveComponent("u-icon");
+  (_easycom_u_loading_icon2 + _easycom_u_icon2)();
+}
+const _easycom_u_loading_icon = () => "../u-loading-icon/u-loading-icon.js";
+const _easycom_u_icon = () => "../u-icon/u-icon.js";
+if (!Math) {
+  (_easycom_u_loading_icon + _easycom_u_icon)();
+}
+function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
+  return common_vendor.e({
+    a: _ctx.loading
+  }, _ctx.loading ? {
+    b: common_vendor.p({
+      mode: _ctx.loadingMode,
+      size: _ctx.loadingSize * 1.15,
+      color: $options.loadingColor
+    }),
+    c: common_vendor.t(_ctx.loadingText || _ctx.text),
+    d: common_vendor.s({
+      fontSize: $options.textSize + "px"
+    })
+  } : common_vendor.e({
+    e: _ctx.icon
+  }, _ctx.icon ? {
+    f: common_vendor.p({
+      name: _ctx.icon,
+      color: $options.iconColorCom,
+      size: $options.textSize * 1.35,
+      customStyle: {
+        marginRight: "2px"
+      }
+    })
+  } : {}, {
+    g: common_vendor.t(_ctx.text),
+    h: common_vendor.s({
+      fontSize: $options.textSize + "px"
+    })
+  }), {
+    i: Number(_ctx.hoverStartTime),
+    j: Number(_ctx.hoverStayTime),
+    k: _ctx.formType,
+    l: _ctx.openType,
+    m: _ctx.appParameter,
+    n: _ctx.hoverStopPropagation,
+    o: _ctx.sendMessageTitle,
+    p: _ctx.sendMessagePath,
+    q: _ctx.lang,
+    r: _ctx.dataName,
+    s: _ctx.sessionFrom,
+    t: _ctx.sendMessageImg,
+    v: _ctx.showMessageCard,
+    w: common_vendor.o((...args) => $options.getphonenumber && $options.getphonenumber(...args)),
+    x: common_vendor.o((...args) => $options.getuserinfo && $options.getuserinfo(...args)),
+    y: common_vendor.o((...args) => $options.error && $options.error(...args)),
+    z: common_vendor.o((...args) => $options.opensetting && $options.opensetting(...args)),
+    A: common_vendor.o((...args) => $options.launchapp && $options.launchapp(...args)),
+    B: !_ctx.disabled && !_ctx.loading ? "u-button--active" : "",
+    C: common_vendor.s($options.baseColor),
+    D: common_vendor.s(_ctx.$u.addStyle(_ctx.customStyle)),
+    E: common_vendor.o((...args) => $options.clickHandler && $options.clickHandler(...args)),
+    F: common_vendor.n($options.bemClass)
+  });
+}
+const Component = /* @__PURE__ */ common_vendor._export_sfc(_sfc_main, [["render", _sfc_render], ["__scopeId", "data-v-461e713c"], ["__file", "F:/兴元/开门柜项目/平台端管理系统小程序/node_modules/uview-plus/components/u-button/u-button.vue"]]);
+wx.createComponent(Component);

+ 7 - 0
dist/dev/mp-weixin/node-modules/uview-plus/components/u-button/u-button.json

@@ -0,0 +1,7 @@
+{
+  "component": true,
+  "usingComponents": {
+    "u-loading-icon": "../u-loading-icon/u-loading-icon",
+    "u-icon": "../u-icon/u-icon"
+  }
+}

+ 1 - 0
dist/dev/mp-weixin/node-modules/uview-plus/components/u-button/u-button.wxml

@@ -0,0 +1 @@
+<button hover-start-time="{{i}}" hover-stay-time="{{j}}" form-type="{{k}}" open-type="{{l}}" app-parameter="{{m}}" hover-stop-propagation="{{n}}" send-message-title="{{o}}" send-message-path="{{p}}" lang="{{q}}" data-name="{{r}}" session-from="{{s}}" send-message-img="{{t}}" show-message-card="{{v}}" bindgetphonenumber="{{w}}" bindgetuserinfo="{{x}}" binderror="{{y}}" bindopensetting="{{z}}" bindlaunchapp="{{A}}" hover-class="{{B}}" style="{{C + ';' + D}}" bindtap="{{E}}" class="{{['u-button', 'u-reset-button', 'data-v-461e713c', F]}}"><block wx:if="{{a}}"><u-loading-icon wx:if="{{b}}" class="data-v-461e713c" u-i="461e713c-0" bind:__l="__l" u-p="{{b}}"></u-loading-icon><text class="u-button__loading-text data-v-461e713c" style="{{d}}">{{c}}</text></block><block wx:else><u-icon wx:if="{{e}}" class="data-v-461e713c" u-i="461e713c-1" bind:__l="__l" u-p="{{f}}"></u-icon><block wx:if="{{$slots.d}}"><slot></slot></block><block wx:else><text class="u-button__text data-v-461e713c" style="{{h}}">{{g}}</text></block></block></button>

+ 184 - 0
dist/dev/mp-weixin/node-modules/uview-plus/components/u-button/u-button.wxss

@@ -0,0 +1,184 @@
+/**
+ * 这里是uni-app内置的常用样式变量
+ *
+ * uni-app 官方扩展插件及插件市场(https://ext.dcloud.net.cn)上很多三方插件均使用了这些样式变量
+ * 如果你是插件开发者,建议你使用scss预处理,并在插件代码中直接使用这些变量(无需 import 这个文件),方便用户通过搭积木的方式开发整体风格一致的App
+ *
+ */
+/**
+ * 如果你是App开发者(插件使用者),你可以通过修改这些变量来定制自己的插件主题,实现自定义主题功能
+ *
+ * 如果你的项目同样使用了scss预处理,你也可以直接在你的 scss 代码中使用如下变量,同时无需 import 这个文件
+ */
+/* 颜色变量 */
+/* 行为相关颜色 */
+/* 文字基本颜色 */
+/* 背景颜色 */
+/* 边框颜色 */
+/* 尺寸变量 */
+/* 文字尺寸 */
+/* 图片尺寸 */
+/* Border Radius */
+/* 水平间距 */
+/* 垂直间距 */
+/* 透明度 */
+/* 文章场景相关 */
+view.data-v-461e713c, scroll-view.data-v-461e713c, swiper-item.data-v-461e713c {
+  display: flex;
+  flex-direction: column;
+  flex-shrink: 0;
+  flex-grow: 0;
+  flex-basis: auto;
+  align-items: stretch;
+  align-content: flex-start;
+}
+.u-button.data-v-461e713c {
+  width: 100%;
+}
+.u-button__text.data-v-461e713c {
+  white-space: nowrap;
+  line-height: 1;
+}
+.u-button.data-v-461e713c:before {
+  position: absolute;
+  top: 50%;
+  left: 50%;
+  width: 100%;
+  height: 100%;
+  border: inherit;
+  border-radius: inherit;
+  transform: translate(-50%, -50%);
+  opacity: 0;
+  content: " ";
+  background-color: #000;
+  border-color: #000;
+}
+.u-button--active.data-v-461e713c:before {
+  opacity: 0.15;
+}
+.u-button__icon + .u-button__text.data-v-461e713c:not(:empty), .u-button__loading-text.data-v-461e713c {
+  margin-left: 4px;
+}
+.u-button--plain.u-button--primary.data-v-461e713c {
+  color: #3c9cff;
+}
+.u-button--plain.u-button--info.data-v-461e713c {
+  color: #909399;
+}
+.u-button--plain.u-button--success.data-v-461e713c {
+  color: #5ac725;
+}
+.u-button--plain.u-button--error.data-v-461e713c {
+  color: #f56c6c;
+}
+.u-button--plain.u-button--warning.data-v-461e713c {
+  color: #f56c6c;
+}
+.u-button.data-v-461e713c {
+  height: 40px;
+  position: relative;
+  align-items: center;
+  justify-content: center;
+
+  display: flex;
+
+  flex-direction: row;
+  box-sizing: border-box;
+  flex-direction: row;
+}
+.u-button__text.data-v-461e713c {
+  font-size: 15px;
+}
+.u-button__loading-text.data-v-461e713c {
+  font-size: 15px;
+  margin-left: 4px;
+}
+.u-button--large.data-v-461e713c {
+  width: 100%;
+  height: 50px;
+  padding: 0 15px;
+}
+.u-button--normal.data-v-461e713c {
+  padding: 0 12px;
+  font-size: 14px;
+}
+.u-button--small.data-v-461e713c {
+  min-width: 60px;
+  height: 30px;
+  padding: 0px 8px;
+  font-size: 12px;
+}
+.u-button--mini.data-v-461e713c {
+  height: 22px;
+  font-size: 10px;
+  min-width: 50px;
+  padding: 0px 8px;
+}
+.u-button--disabled.data-v-461e713c {
+  opacity: 0.5;
+}
+.u-button--info.data-v-461e713c {
+  color: #323233;
+  background-color: #fff;
+  border-color: #ebedf0;
+  border-width: 1px;
+  border-style: solid;
+}
+.u-button--success.data-v-461e713c {
+  color: #fff;
+  background-color: #5ac725;
+  border-color: #5ac725;
+  border-width: 1px;
+  border-style: solid;
+}
+.u-button--primary.data-v-461e713c {
+  color: #fff;
+  background-color: #3c9cff;
+  border-color: #3c9cff;
+  border-width: 1px;
+  border-style: solid;
+}
+.u-button--error.data-v-461e713c {
+  color: #fff;
+  background-color: #f56c6c;
+  border-color: #f56c6c;
+  border-width: 1px;
+  border-style: solid;
+}
+.u-button--warning.data-v-461e713c {
+  color: #fff;
+  background-color: #f9ae3d;
+  border-color: #f9ae3d;
+  border-width: 1px;
+  border-style: solid;
+}
+.u-button--block.data-v-461e713c {
+
+  display: flex;
+
+  flex-direction: row;
+  width: 100%;
+}
+.u-button--circle.data-v-461e713c {
+  border-top-right-radius: 100px;
+  border-top-left-radius: 100px;
+  border-bottom-left-radius: 100px;
+  border-bottom-right-radius: 100px;
+}
+.u-button--square.data-v-461e713c {
+  border-bottom-left-radius: 3px;
+  border-bottom-right-radius: 3px;
+  border-top-left-radius: 3px;
+  border-top-right-radius: 3px;
+}
+.u-button__icon.data-v-461e713c {
+  min-width: 1em;
+  line-height: inherit !important;
+  vertical-align: top;
+}
+.u-button--plain.data-v-461e713c {
+  background-color: #fff;
+}
+.u-button--hairline.data-v-461e713c {
+  border-width: 0.5px !important;
+}

+ 68 - 0
dist/dev/mp-weixin/node-modules/uview-plus/components/u-checkbox-group/u-checkbox-group.js

@@ -0,0 +1,68 @@
+"use strict";
+const common_vendor = require("../../../../common/vendor.js");
+const _sfc_main = {
+  name: "u-checkbox-group",
+  mixins: [common_vendor.mpMixin, common_vendor.mixin, common_vendor.props$1],
+  computed: {
+    // 这里computed的变量,都是子组件u-checkbox需要用到的,由于头条小程序的兼容性差异,子组件无法实时监听父组件参数的变化
+    // 所以需要手动通知子组件,这里返回一个parentData变量,供watch监听,在其中去通知每一个子组件重新从父组件(u-checkbox-group)
+    // 拉取父组件新的变化后的参数
+    parentData() {
+      return [
+        this.modelValue,
+        this.disabled,
+        this.inactiveColor,
+        this.activeColor,
+        this.size,
+        this.labelDisabled,
+        this.shape,
+        this.iconSize,
+        this.borderBottom,
+        this.placement
+      ];
+    },
+    bemClass() {
+      return this.bem("checkbox-group", ["placement"]);
+    }
+  },
+  watch: {
+    // 当父组件需要子组件需要共享的参数发生了变化,手动通知子组件
+    parentData: {
+      handler() {
+        if (this.children.length) {
+          this.children.map((child) => {
+            typeof child.init === "function" && child.init();
+          });
+        }
+      },
+      deep: true
+    }
+  },
+  data() {
+    return {};
+  },
+  created() {
+    this.children = [];
+  },
+  emits: ["update:modelValue", "change"],
+  methods: {
+    // 将其他的checkbox设置为未选中的状态
+    unCheckedOther(childInstance) {
+      const values = [];
+      this.children.map((child) => {
+        if (child.isChecked) {
+          values.push(child.name);
+        }
+      });
+      this.$emit("change", values);
+      this.$emit("update:modelValue", values);
+    }
+  }
+};
+function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
+  return {
+    a: common_vendor.n($options.bemClass)
+  };
+}
+const Component = /* @__PURE__ */ common_vendor._export_sfc(_sfc_main, [["render", _sfc_render], ["__scopeId", "data-v-504cd728"], ["__file", "F:/兴元/开门柜项目/平台端管理系统小程序/node_modules/uview-plus/components/u-checkbox-group/u-checkbox-group.vue"]]);
+wx.createComponent(Component);

+ 4 - 0
dist/dev/mp-weixin/node-modules/uview-plus/components/u-checkbox-group/u-checkbox-group.json

@@ -0,0 +1,4 @@
+{
+  "component": true,
+  "usingComponents": {}
+}

+ 1 - 0
dist/dev/mp-weixin/node-modules/uview-plus/components/u-checkbox-group/u-checkbox-group.wxml

@@ -0,0 +1 @@
+<view class="{{['u-checkbox-group', 'data-v-504cd728', a]}}"><slot></slot></view>

+ 44 - 0
dist/dev/mp-weixin/node-modules/uview-plus/components/u-checkbox-group/u-checkbox-group.wxss

@@ -0,0 +1,44 @@
+/**
+ * 这里是uni-app内置的常用样式变量
+ *
+ * uni-app 官方扩展插件及插件市场(https://ext.dcloud.net.cn)上很多三方插件均使用了这些样式变量
+ * 如果你是插件开发者,建议你使用scss预处理,并在插件代码中直接使用这些变量(无需 import 这个文件),方便用户通过搭积木的方式开发整体风格一致的App
+ *
+ */
+/**
+ * 如果你是App开发者(插件使用者),你可以通过修改这些变量来定制自己的插件主题,实现自定义主题功能
+ *
+ * 如果你的项目同样使用了scss预处理,你也可以直接在你的 scss 代码中使用如下变量,同时无需 import 这个文件
+ */
+/* 颜色变量 */
+/* 行为相关颜色 */
+/* 文字基本颜色 */
+/* 背景颜色 */
+/* 边框颜色 */
+/* 尺寸变量 */
+/* 文字尺寸 */
+/* 图片尺寸 */
+/* Border Radius */
+/* 水平间距 */
+/* 垂直间距 */
+/* 透明度 */
+/* 文章场景相关 */
+view.data-v-504cd728, scroll-view.data-v-504cd728, swiper-item.data-v-504cd728 {
+  display: flex;
+  flex-direction: column;
+  flex-shrink: 0;
+  flex-grow: 0;
+  flex-basis: auto;
+  align-items: stretch;
+  align-content: flex-start;
+}
+.u-checkbox-group--row.data-v-504cd728 {
+  display: flex;
+  flex-flow: row wrap;
+}
+.u-checkbox-group--column.data-v-504cd728 {
+
+  display: flex;
+
+  flex-direction: column;
+}

+ 195 - 0
dist/dev/mp-weixin/node-modules/uview-plus/components/u-checkbox/u-checkbox.js

@@ -0,0 +1,195 @@
+"use strict";
+const common_vendor = require("../../../../common/vendor.js");
+const _sfc_main = {
+  name: "u-checkbox",
+  mixins: [common_vendor.mpMixin, common_vendor.mixin, common_vendor.props],
+  data() {
+    return {
+      isChecked: false,
+      // 父组件的默认值,因为头条小程序不支持在computed中使用this.parent.shape的形式
+      // 故只能使用如此方法
+      parentData: {
+        iconSize: 12,
+        labelDisabled: null,
+        disabled: null,
+        shape: "square",
+        activeColor: null,
+        inactiveColor: null,
+        size: 18,
+        modelValue: null,
+        iconColor: null,
+        placement: "row",
+        borderBottom: false,
+        iconPlacement: "left"
+      }
+    };
+  },
+  computed: {
+    // 是否禁用,如果父组件u-raios-group禁用的话,将会忽略子组件的配置
+    elDisabled() {
+      return this.disabled !== "" ? this.disabled : this.parentData.disabled !== null ? this.parentData.disabled : false;
+    },
+    // 是否禁用label点击
+    elLabelDisabled() {
+      return this.labelDisabled !== "" ? this.labelDisabled : this.parentData.labelDisabled !== null ? this.parentData.labelDisabled : false;
+    },
+    // 组件尺寸,对应size的值,默认值为21px
+    elSize() {
+      return this.size ? this.size : this.parentData.size ? this.parentData.size : 21;
+    },
+    // 组件的勾选图标的尺寸,默认12px
+    elIconSize() {
+      return this.iconSize ? this.iconSize : this.parentData.iconSize ? this.parentData.iconSize : 12;
+    },
+    // 组件选中激活时的颜色
+    elActiveColor() {
+      return this.activeColor ? this.activeColor : this.parentData.activeColor ? this.parentData.activeColor : "#2979ff";
+    },
+    // 组件选未中激活时的颜色
+    elInactiveColor() {
+      return this.inactiveColor ? this.inactiveColor : this.parentData.inactiveColor ? this.parentData.inactiveColor : "#c8c9cc";
+    },
+    // label的颜色
+    elLabelColor() {
+      return this.labelColor ? this.labelColor : this.parentData.labelColor ? this.parentData.labelColor : "#606266";
+    },
+    // 组件的形状
+    elShape() {
+      return this.shape ? this.shape : this.parentData.shape ? this.parentData.shape : "circle";
+    },
+    // label大小
+    elLabelSize() {
+      return common_vendor.index.$u.addUnit(this.labelSize ? this.labelSize : this.parentData.labelSize ? this.parentData.labelSize : "15");
+    },
+    elIconColor() {
+      const iconColor = this.iconColor ? this.iconColor : this.parentData.iconColor ? this.parentData.iconColor : "#ffffff";
+      if (this.elDisabled) {
+        return this.isChecked ? this.elInactiveColor : "transparent";
+      } else {
+        return this.isChecked ? iconColor : "transparent";
+      }
+    },
+    iconClasses() {
+      let classes = [];
+      classes.push("u-checkbox__icon-wrap--" + this.elShape);
+      if (this.elDisabled) {
+        classes.push("u-checkbox__icon-wrap--disabled");
+      }
+      if (this.isChecked && this.elDisabled) {
+        classes.push("u-checkbox__icon-wrap--disabled--checked");
+      }
+      return classes;
+    },
+    iconWrapStyle() {
+      const style = {};
+      style.backgroundColor = this.isChecked && !this.elDisabled ? this.elActiveColor : "#ffffff";
+      style.borderColor = this.isChecked && !this.elDisabled ? this.elActiveColor : this.elInactiveColor;
+      style.width = common_vendor.index.$u.addUnit(this.elSize);
+      style.height = common_vendor.index.$u.addUnit(this.elSize);
+      if (this.parentData.iconPlacement === "right") {
+        style.marginRight = 0;
+      }
+      return style;
+    },
+    checkboxStyle() {
+      const style = {};
+      if (this.parentData.borderBottom && this.parentData.placement === "row") {
+        common_vendor.index.$u.error("检测到您将borderBottom设置为true,需要同时将u-checkbox-group的placement设置为column才有效");
+      }
+      if (this.parentData.borderBottom && this.parentData.placement === "column") {
+        style.paddingBottom = "8px";
+      }
+      return common_vendor.index.$u.deepMerge(style, common_vendor.index.$u.addStyle(this.customStyle));
+    }
+  },
+  mounted() {
+    this.init();
+  },
+  methods: {
+    init() {
+      this.updateParentData();
+      if (!this.parent) {
+        common_vendor.index.$u.error("u-checkbox必须搭配u-checkbox-group组件使用");
+      }
+      const value = this.parentData.modelValue;
+      if (this.checked) {
+        this.isChecked = true;
+      } else if (common_vendor.index.$u.test.array(value)) {
+        this.isChecked = value.some((item) => {
+          return item === this.name;
+        });
+      }
+    },
+    updateParentData() {
+      this.getParentData("u-checkbox-group");
+    },
+    // 横向两端排列时,点击组件即可触发选中事件
+    wrapperClickHandler(e) {
+      this.parentData.iconPlacement === "right" && this.iconClickHandler(e);
+    },
+    // 点击图标
+    iconClickHandler(e) {
+      this.preventEvent(e);
+      if (!this.elDisabled) {
+        this.setRadioCheckedStatus();
+      }
+    },
+    // 点击label
+    labelClickHandler(e) {
+      this.preventEvent(e);
+      if (!this.elLabelDisabled && !this.elDisabled) {
+        this.setRadioCheckedStatus();
+      }
+    },
+    emitEvent() {
+      this.$emit("change", this.isChecked);
+      this.$nextTick(() => {
+        common_vendor.index.$u.formValidate(this, "change");
+      });
+    },
+    // 改变组件选中状态
+    // 这里的改变的依据是,更改本组件的checked值为true,同时通过父组件遍历所有u-checkbox实例
+    // 将本组件外的其他u-checkbox的checked都设置为false(都被取消选中状态),因而只剩下一个为选中状态
+    setRadioCheckedStatus() {
+      this.isChecked = !this.isChecked;
+      this.emitEvent();
+      typeof this.parent.unCheckedOther === "function" && this.parent.unCheckedOther(this);
+    }
+  },
+  watch: {
+    checked() {
+      this.isChecked = this.checked;
+    }
+  }
+};
+if (!Array) {
+  const _easycom_u_icon2 = common_vendor.resolveComponent("u-icon");
+  _easycom_u_icon2();
+}
+const _easycom_u_icon = () => "../u-icon/u-icon.js";
+if (!Math) {
+  _easycom_u_icon();
+}
+function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
+  return {
+    a: common_vendor.p({
+      name: "checkbox-mark",
+      size: $options.elIconSize,
+      color: $options.elIconColor
+    }),
+    b: common_vendor.o((...args) => $options.iconClickHandler && $options.iconClickHandler(...args)),
+    c: common_vendor.n($options.iconClasses),
+    d: common_vendor.s($options.iconWrapStyle),
+    e: common_vendor.t(_ctx.label),
+    f: common_vendor.o((...args) => $options.labelClickHandler && $options.labelClickHandler(...args)),
+    g: $options.elDisabled ? $options.elInactiveColor : $options.elLabelColor,
+    h: $options.elLabelSize,
+    i: $options.elLabelSize,
+    j: common_vendor.s($options.checkboxStyle),
+    k: common_vendor.o((...args) => $options.wrapperClickHandler && $options.wrapperClickHandler(...args)),
+    l: common_vendor.n(`u-checkbox-label--${$data.parentData.iconPlacement}`),
+    m: common_vendor.n($data.parentData.borderBottom && $data.parentData.placement === "column" && "u-border-bottom")
+  };
+}
+const Component = /* @__PURE__ */ common_vendor._export_sfc(_sfc_main, [["render", _sfc_render], ["__scopeId", "data-v-abd63d8e"], ["__file", "F:/兴元/开门柜项目/平台端管理系统小程序/node_modules/uview-plus/components/u-checkbox/u-checkbox.vue"]]);
+wx.createComponent(Component);

+ 6 - 0
dist/dev/mp-weixin/node-modules/uview-plus/components/u-checkbox/u-checkbox.json

@@ -0,0 +1,6 @@
+{
+  "component": true,
+  "usingComponents": {
+    "u-icon": "../u-icon/u-icon"
+  }
+}

+ 1 - 0
dist/dev/mp-weixin/node-modules/uview-plus/components/u-checkbox/u-checkbox.wxml

@@ -0,0 +1 @@
+<view style="{{j}}" catchtap="{{k}}" class="{{['u-checkbox', 'data-v-abd63d8e', l, m]}}"><view catchtap="{{b}}" class="{{['u-checkbox__icon-wrap', 'data-v-abd63d8e', c]}}" style="{{d}}"><block wx:if="{{$slots.icon}}"><slot name="icon"></slot></block><block wx:else><u-icon wx:if="{{a}}" class="u-checkbox__icon-wrap__icon data-v-abd63d8e" u-i="abd63d8e-0" bind:__l="__l" u-p="{{a}}"/></block></view><text class="data-v-abd63d8e" catchtap="{{f}}" style="{{'color:' + g + ';' + ('font-size:' + h) + ';' + ('line-height:' + i)}}">{{e}}</text></view>

+ 98 - 0
dist/dev/mp-weixin/node-modules/uview-plus/components/u-checkbox/u-checkbox.wxss

@@ -0,0 +1,98 @@
+/**
+ * 这里是uni-app内置的常用样式变量
+ *
+ * uni-app 官方扩展插件及插件市场(https://ext.dcloud.net.cn)上很多三方插件均使用了这些样式变量
+ * 如果你是插件开发者,建议你使用scss预处理,并在插件代码中直接使用这些变量(无需 import 这个文件),方便用户通过搭积木的方式开发整体风格一致的App
+ *
+ */
+/**
+ * 如果你是App开发者(插件使用者),你可以通过修改这些变量来定制自己的插件主题,实现自定义主题功能
+ *
+ * 如果你的项目同样使用了scss预处理,你也可以直接在你的 scss 代码中使用如下变量,同时无需 import 这个文件
+ */
+/* 颜色变量 */
+/* 行为相关颜色 */
+/* 文字基本颜色 */
+/* 背景颜色 */
+/* 边框颜色 */
+/* 尺寸变量 */
+/* 文字尺寸 */
+/* 图片尺寸 */
+/* Border Radius */
+/* 水平间距 */
+/* 垂直间距 */
+/* 透明度 */
+/* 文章场景相关 */
+view.data-v-abd63d8e, scroll-view.data-v-abd63d8e, swiper-item.data-v-abd63d8e {
+  display: flex;
+  flex-direction: column;
+  flex-shrink: 0;
+  flex-grow: 0;
+  flex-basis: auto;
+  align-items: stretch;
+  align-content: flex-start;
+}
+.u-checkbox.data-v-abd63d8e {
+
+  display: flex;
+
+  flex-direction: row;
+  overflow: hidden;
+  flex-direction: row;
+  align-items: center;
+  margin-bottom: 5px;
+  margin-top: 5px;
+}
+.u-checkbox-label--left.data-v-abd63d8e {
+  flex-direction: row;
+}
+.u-checkbox-label--right.data-v-abd63d8e {
+  flex-direction: row-reverse;
+  justify-content: space-between;
+}
+.u-checkbox__icon-wrap.data-v-abd63d8e {
+  box-sizing: border-box;
+  transition-property: border-color, background-color, color;
+  transition-duration: 0.2s;
+  color: #606266;
+
+  display: flex;
+
+  flex-direction: row;
+  align-items: center;
+  justify-content: center;
+  color: transparent;
+  text-align: center;
+  margin-right: 6px;
+  font-size: 6px;
+  border-width: 1px;
+  border-color: #c8c9cc;
+  border-style: solid;
+}
+.u-checkbox__icon-wrap--circle.data-v-abd63d8e {
+  border-radius: 100%;
+}
+.u-checkbox__icon-wrap--square.data-v-abd63d8e {
+  border-radius: 3px;
+}
+.u-checkbox__icon-wrap--checked.data-v-abd63d8e {
+  color: #fff;
+  background-color: red;
+  border-color: #2979ff;
+}
+.u-checkbox__icon-wrap--disabled.data-v-abd63d8e {
+  background-color: #ebedf0 !important;
+}
+.u-checkbox__icon-wrap--disabled--checked.data-v-abd63d8e {
+  color: #c8c9cc !important;
+}
+.u-checkbox__label.data-v-abd63d8e {
+  word-wrap: break-word;
+  margin-left: 5px;
+  margin-right: 12px;
+  color: #606266;
+  font-size: 15px;
+}
+.u-checkbox__label--disabled.data-v-abd63d8e {
+  color: #c8c9cc;
+}

+ 305 - 0
dist/dev/mp-weixin/node-modules/uview-plus/components/u-datetime-picker/u-datetime-picker.js

@@ -0,0 +1,305 @@
+"use strict";
+const common_vendor = require("../../../../common/vendor.js");
+function times(n, iteratee) {
+  let index = -1;
+  const result = Array(n < 0 ? 0 : n);
+  while (++index < n) {
+    result[index] = iteratee(index);
+  }
+  return result;
+}
+const _sfc_main = {
+  name: "datetime-picker",
+  mixins: [common_vendor.mpMixin, common_vendor.mixin, common_vendor.props$22],
+  data() {
+    return {
+      columns: [],
+      innerDefaultIndex: [],
+      innerFormatter: (type, value) => value
+    };
+  },
+  watch: {
+    show(newValue, oldValue) {
+      if (newValue) {
+        this.updateColumnValue(this.innerValue);
+        this.init();
+      }
+    },
+    propsChange() {
+      this.init();
+    }
+  },
+  computed: {
+    // 如果以下这些变量发生了变化,意味着需要重新初始化各列的值
+    propsChange() {
+      return [this.mode, this.maxDate, this.minDate, this.minHour, this.maxHour, this.minMinute, this.maxMinute, this.filter];
+    }
+  },
+  mounted() {
+    this.init();
+  },
+  emits: ["close", "cancel", "confirm", "change", "update:modelValue"],
+  methods: {
+    init() {
+      console.log("初始化开始");
+      this.innerValue = this.correctValue(this.modelValue);
+      this.updateColumnValue(this.innerValue);
+    },
+    // 在微信小程序中,不支持将函数当做props参数,故只能通过ref形式调用
+    setFormatter(e) {
+      this.innerFormatter = e;
+    },
+    // 关闭选择器
+    close() {
+      if (this.closeOnClickOverlay) {
+        this.$emit("close");
+      }
+    },
+    // 点击工具栏的取消按钮
+    cancel() {
+      this.$emit("cancel");
+    },
+    // 点击工具栏的确定按钮
+    confirm() {
+      this.$emit("confirm", {
+        value: this.innerValue,
+        mode: this.mode
+      });
+      this.$emit("update:modelValue", this.innerValue);
+    },
+    //用正则截取输出值,当出现多组数字时,抛出错误
+    intercept(e, type) {
+      let judge = e.match(/\d+/g);
+      if (judge.length > 1) {
+        common_vendor.index.$u.error("请勿在过滤或格式化函数时添加数字");
+        return 0;
+      } else if (type && judge[0].length == 4) {
+        return judge[0];
+      } else if (judge[0].length > 2) {
+        common_vendor.index.$u.error("请勿在过滤或格式化函数时添加数字");
+        return 0;
+      } else {
+        return judge[0];
+      }
+    },
+    // 列发生变化时触发
+    change(e) {
+      const { indexs, values } = e;
+      let selectValue = "";
+      if (this.mode === "time") {
+        selectValue = `${this.intercept(values[0][indexs[0]])}:${this.intercept(values[1][indexs[1]])}`;
+      } else {
+        const year = parseInt(this.intercept(values[0][indexs[0]], "year"));
+        const month = parseInt(this.intercept(values[1][indexs[1]]));
+        let date = parseInt(values[2] ? this.intercept(values[2][indexs[2]]) : 1);
+        let hour = 0, minute = 0;
+        const maxDate = common_vendor.dayjs(`${year}-${month}`).daysInMonth();
+        if (this.mode === "year-month") {
+          date = 1;
+        }
+        date = Math.min(maxDate, date);
+        if (this.mode === "datetime") {
+          hour = parseInt(this.intercept(values[3][indexs[3]]));
+          minute = parseInt(this.intercept(values[4][indexs[4]]));
+        }
+        selectValue = Number(new Date(year, month - 1, date, hour, minute));
+      }
+      selectValue = this.correctValue(selectValue);
+      this.innerValue = selectValue;
+      this.updateColumnValue(selectValue);
+      this.$emit("change", {
+        value: selectValue,
+        mode: this.mode
+      });
+    },
+    // 更新各列的值,进行补0、格式化等操作
+    updateColumnValue(value) {
+      this.innerValue = value;
+      this.updateColumns();
+      this.updateIndexs(value);
+    },
+    // 更新索引
+    updateIndexs(value) {
+      let values = [];
+      const formatter = this.formatter || this.innerFormatter;
+      const padZero = common_vendor.index.$u.padZero;
+      if (this.mode === "time") {
+        const timeArr = value.split(":");
+        values = [formatter("hour", timeArr[0]), formatter("minute", timeArr[1])];
+      } else {
+        values = [
+          formatter("year", `${common_vendor.dayjs(value).year()}`),
+          // 月份补0
+          formatter("month", padZero(common_vendor.dayjs(value).month() + 1))
+        ];
+        if (this.mode === "date") {
+          values.push(formatter("day", padZero(common_vendor.dayjs(value).date())));
+        }
+        if (this.mode === "datetime") {
+          values.push(formatter("day", padZero(common_vendor.dayjs(value).date())), formatter("hour", padZero(common_vendor.dayjs(value).hour())), formatter("minute", padZero(common_vendor.dayjs(value).minute())));
+        }
+      }
+      const indexs = this.columns.map((column, index) => {
+        return Math.max(0, column.findIndex((item) => item === values[index]));
+      });
+      this.innerDefaultIndex = indexs;
+    },
+    // 更新各列的值
+    updateColumns() {
+      const formatter = this.formatter || this.innerFormatter;
+      const results = this.getOriginColumns().map((column) => column.values.map((value) => formatter(column.type, value)));
+      this.columns = results;
+    },
+    getOriginColumns() {
+      const results = this.getRanges().map(({ type, range }) => {
+        let values = times(range[1] - range[0] + 1, (index) => {
+          let value = range[0] + index;
+          value = type === "year" ? `${value}` : common_vendor.index.$u.padZero(value);
+          return value;
+        });
+        if (this.filter) {
+          values = this.filter(type, values);
+        }
+        return { type, values };
+      });
+      return results;
+    },
+    // 通过最大值和最小值生成数组
+    generateArray(start, end) {
+      return Array.from(new Array(end + 1).keys()).slice(start);
+    },
+    // 得出合法的时间
+    correctValue(value) {
+      const isDateMode = this.mode !== "time";
+      if (isDateMode && !common_vendor.index.$u.test.date(value)) {
+        value = this.minDate;
+      } else if (!isDateMode && !value) {
+        value = `${common_vendor.index.$u.padZero(this.minHour)}:${common_vendor.index.$u.padZero(this.minMinute)}`;
+      }
+      if (!isDateMode) {
+        if (String(value).indexOf(":") === -1)
+          return common_vendor.index.$u.error("时间错误,请传递如12:24的格式");
+        let [hour, minute] = value.split(":");
+        hour = common_vendor.index.$u.padZero(common_vendor.index.$u.range(this.minHour, this.maxHour, Number(hour)));
+        minute = common_vendor.index.$u.padZero(common_vendor.index.$u.range(this.minMinute, this.maxMinute, Number(minute)));
+        return `${hour}:${minute}`;
+      } else {
+        value = common_vendor.dayjs(value).isBefore(common_vendor.dayjs(this.minDate)) ? this.minDate : value;
+        value = common_vendor.dayjs(value).isAfter(common_vendor.dayjs(this.maxDate)) ? this.maxDate : value;
+        return value;
+      }
+    },
+    // 获取每列的最大和最小值
+    getRanges() {
+      if (this.mode === "time") {
+        return [
+          {
+            type: "hour",
+            range: [this.minHour, this.maxHour]
+          },
+          {
+            type: "minute",
+            range: [this.minMinute, this.maxMinute]
+          }
+        ];
+      }
+      const { maxYear, maxDate, maxMonth, maxHour, maxMinute } = this.getBoundary("max", this.innerValue);
+      const { minYear, minDate, minMonth, minHour, minMinute } = this.getBoundary("min", this.innerValue);
+      const result = [
+        {
+          type: "year",
+          range: [minYear, maxYear]
+        },
+        {
+          type: "month",
+          range: [minMonth, maxMonth]
+        },
+        {
+          type: "day",
+          range: [minDate, maxDate]
+        },
+        {
+          type: "hour",
+          range: [minHour, maxHour]
+        },
+        {
+          type: "minute",
+          range: [minMinute, maxMinute]
+        }
+      ];
+      if (this.mode === "date")
+        result.splice(3, 2);
+      if (this.mode === "year-month")
+        result.splice(2, 3);
+      return result;
+    },
+    // 根据minDate、maxDate、minHour、maxHour等边界值,判断各列的开始和结束边界值
+    getBoundary(type, innerValue) {
+      const value = new Date(innerValue);
+      const boundary = new Date(this[`${type}Date`]);
+      const year = common_vendor.dayjs(boundary).year();
+      let month = 1;
+      let date = 1;
+      let hour = 0;
+      let minute = 0;
+      if (type === "max") {
+        month = 12;
+        date = common_vendor.dayjs(value).daysInMonth();
+        hour = 23;
+        minute = 59;
+      }
+      if (common_vendor.dayjs(value).year() === year) {
+        month = common_vendor.dayjs(boundary).month() + 1;
+        if (common_vendor.dayjs(value).month() + 1 === month) {
+          date = common_vendor.dayjs(boundary).date();
+          if (common_vendor.dayjs(value).date() === date) {
+            hour = common_vendor.dayjs(boundary).hour();
+            if (common_vendor.dayjs(value).hour() === hour) {
+              minute = common_vendor.dayjs(boundary).minute();
+            }
+          }
+        }
+      }
+      return {
+        [`${type}Year`]: year,
+        [`${type}Month`]: month,
+        [`${type}Date`]: date,
+        [`${type}Hour`]: hour,
+        [`${type}Minute`]: minute
+      };
+    }
+  }
+};
+if (!Array) {
+  const _easycom_u_picker2 = common_vendor.resolveComponent("u-picker");
+  _easycom_u_picker2();
+}
+const _easycom_u_picker = () => "../u-picker/u-picker.js";
+if (!Math) {
+  _easycom_u_picker();
+}
+function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
+  return {
+    a: common_vendor.sr("picker", "e39cc2d0-0"),
+    b: common_vendor.o($options.close),
+    c: common_vendor.o($options.cancel),
+    d: common_vendor.o($options.confirm),
+    e: common_vendor.o($options.change),
+    f: common_vendor.p({
+      show: _ctx.show,
+      closeOnClickOverlay: _ctx.closeOnClickOverlay,
+      columns: $data.columns,
+      title: _ctx.title,
+      itemHeight: _ctx.itemHeight,
+      showToolbar: _ctx.showToolbar,
+      visibleItemCount: _ctx.visibleItemCount,
+      defaultIndex: $data.innerDefaultIndex,
+      cancelText: _ctx.cancelText,
+      confirmText: _ctx.confirmText,
+      cancelColor: _ctx.cancelColor,
+      confirmColor: _ctx.confirmColor
+    })
+  };
+}
+const Component = /* @__PURE__ */ common_vendor._export_sfc(_sfc_main, [["render", _sfc_render], ["__scopeId", "data-v-e39cc2d0"], ["__file", "F:/兴元/开门柜项目/平台端管理系统小程序/node_modules/uview-plus/components/u-datetime-picker/u-datetime-picker.vue"]]);
+wx.createComponent(Component);

+ 6 - 0
dist/dev/mp-weixin/node-modules/uview-plus/components/u-datetime-picker/u-datetime-picker.json

@@ -0,0 +1,6 @@
+{
+  "component": true,
+  "usingComponents": {
+    "u-picker": "../u-picker/u-picker"
+  }
+}

+ 1 - 0
dist/dev/mp-weixin/node-modules/uview-plus/components/u-datetime-picker/u-datetime-picker.wxml

@@ -0,0 +1 @@
+<u-picker wx:if="{{f}}" class="r data-v-e39cc2d0" u-r="picker" bindclose="{{b}}" bindcancel="{{c}}" bindconfirm="{{d}}" bindchange="{{e}}" u-i="e39cc2d0-0" bind:__l="__l" u-p="{{f}}"></u-picker>

+ 34 - 0
dist/dev/mp-weixin/node-modules/uview-plus/components/u-datetime-picker/u-datetime-picker.wxss

@@ -0,0 +1,34 @@
+/**
+ * 这里是uni-app内置的常用样式变量
+ *
+ * uni-app 官方扩展插件及插件市场(https://ext.dcloud.net.cn)上很多三方插件均使用了这些样式变量
+ * 如果你是插件开发者,建议你使用scss预处理,并在插件代码中直接使用这些变量(无需 import 这个文件),方便用户通过搭积木的方式开发整体风格一致的App
+ *
+ */
+/**
+ * 如果你是App开发者(插件使用者),你可以通过修改这些变量来定制自己的插件主题,实现自定义主题功能
+ *
+ * 如果你的项目同样使用了scss预处理,你也可以直接在你的 scss 代码中使用如下变量,同时无需 import 这个文件
+ */
+/* 颜色变量 */
+/* 行为相关颜色 */
+/* 文字基本颜色 */
+/* 背景颜色 */
+/* 边框颜色 */
+/* 尺寸变量 */
+/* 文字尺寸 */
+/* 图片尺寸 */
+/* Border Radius */
+/* 水平间距 */
+/* 垂直间距 */
+/* 透明度 */
+/* 文章场景相关 */
+view.data-v-e39cc2d0, scroll-view.data-v-e39cc2d0, swiper-item.data-v-e39cc2d0 {
+  display: flex;
+  flex-direction: column;
+  flex-shrink: 0;
+  flex-grow: 0;
+  flex-basis: auto;
+  align-items: stretch;
+  align-content: flex-start;
+}

+ 80 - 0
dist/dev/mp-weixin/node-modules/uview-plus/components/u-empty/u-empty.js

@@ -0,0 +1,80 @@
+"use strict";
+const common_vendor = require("../../../../common/vendor.js");
+const _sfc_main = {
+  name: "u-empty",
+  mixins: [common_vendor.mpMixin, common_vendor.mixin, common_vendor.props$7],
+  data() {
+    return {
+      icons: {
+        car: "购物车为空",
+        page: "页面不存在",
+        search: "没有搜索结果",
+        address: "没有收货地址",
+        wifi: "没有WiFi",
+        order: "订单为空",
+        coupon: "没有优惠券",
+        favor: "暂无收藏",
+        permission: "无权限",
+        history: "无历史记录",
+        news: "无新闻列表",
+        message: "消息列表为空",
+        list: "列表为空",
+        data: "数据为空",
+        comment: "暂无评论"
+      }
+    };
+  },
+  computed: {
+    // 组件样式
+    emptyStyle() {
+      const style = {};
+      style.marginTop = common_vendor.index.$u.addUnit(this.marginTop);
+      return common_vendor.index.$u.deepMerge(common_vendor.index.$u.addStyle(this.customStyle), style);
+    },
+    // 文本样式
+    textStyle() {
+      const style = {};
+      style.color = this.textColor;
+      style.fontSize = common_vendor.index.$u.addUnit(this.textSize);
+      return style;
+    },
+    // 判断icon是否图片路径
+    isSrc() {
+      return this.icon.indexOf("/") >= 0;
+    }
+  }
+};
+if (!Array) {
+  const _easycom_u_icon2 = common_vendor.resolveComponent("u-icon");
+  _easycom_u_icon2();
+}
+const _easycom_u_icon = () => "../u-icon/u-icon.js";
+if (!Math) {
+  _easycom_u_icon();
+}
+function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
+  return common_vendor.e({
+    a: _ctx.show
+  }, _ctx.show ? common_vendor.e({
+    b: !$options.isSrc
+  }, !$options.isSrc ? {
+    c: common_vendor.p({
+      name: _ctx.mode === "message" ? "chat" : `empty-${_ctx.mode}`,
+      size: _ctx.iconSize,
+      color: _ctx.iconColor,
+      ["margin-top"]: "14"
+    })
+  } : {
+    d: _ctx.$u.addUnit(_ctx.width),
+    e: _ctx.$u.addUnit(_ctx.height),
+    f: _ctx.icon
+  }, {
+    g: common_vendor.t(_ctx.text ? _ctx.text : $data.icons[_ctx.mode]),
+    h: common_vendor.s($options.textStyle),
+    i: _ctx.$slots.default || _ctx.$slots.$default
+  }, _ctx.$slots.default || _ctx.$slots.$default ? {} : {}, {
+    j: common_vendor.s($options.emptyStyle)
+  }) : {});
+}
+const Component = /* @__PURE__ */ common_vendor._export_sfc(_sfc_main, [["render", _sfc_render], ["__scopeId", "data-v-bd84101d"], ["__file", "F:/兴元/开门柜项目/平台端管理系统小程序/node_modules/uview-plus/components/u-empty/u-empty.vue"]]);
+wx.createComponent(Component);

+ 6 - 0
dist/dev/mp-weixin/node-modules/uview-plus/components/u-empty/u-empty.json

@@ -0,0 +1,6 @@
+{
+  "component": true,
+  "usingComponents": {
+    "u-icon": "../u-icon/u-icon"
+  }
+}

+ 1 - 0
dist/dev/mp-weixin/node-modules/uview-plus/components/u-empty/u-empty.wxml

@@ -0,0 +1 @@
+<view wx:if="{{a}}" class="u-empty data-v-bd84101d" style="{{j}}"><u-icon wx:if="{{b}}" class="data-v-bd84101d" u-i="bd84101d-0" bind:__l="__l" u-p="{{c}}"></u-icon><image wx:else class="data-v-bd84101d" style="{{'width:' + d + ';' + ('height:' + e)}}" src="{{f}}" mode="widthFix"></image><text class="u-empty__text data-v-bd84101d" style="{{h}}">{{g}}</text><view wx:if="{{i}}" class="u-empty__wrap data-v-bd84101d"><slot/></view></view>

+ 61 - 0
dist/dev/mp-weixin/node-modules/uview-plus/components/u-empty/u-empty.wxss

@@ -0,0 +1,61 @@
+/**
+ * 这里是uni-app内置的常用样式变量
+ *
+ * uni-app 官方扩展插件及插件市场(https://ext.dcloud.net.cn)上很多三方插件均使用了这些样式变量
+ * 如果你是插件开发者,建议你使用scss预处理,并在插件代码中直接使用这些变量(无需 import 这个文件),方便用户通过搭积木的方式开发整体风格一致的App
+ *
+ */
+/**
+ * 如果你是App开发者(插件使用者),你可以通过修改这些变量来定制自己的插件主题,实现自定义主题功能
+ *
+ * 如果你的项目同样使用了scss预处理,你也可以直接在你的 scss 代码中使用如下变量,同时无需 import 这个文件
+ */
+/* 颜色变量 */
+/* 行为相关颜色 */
+/* 文字基本颜色 */
+/* 背景颜色 */
+/* 边框颜色 */
+/* 尺寸变量 */
+/* 文字尺寸 */
+/* 图片尺寸 */
+/* Border Radius */
+/* 水平间距 */
+/* 垂直间距 */
+/* 透明度 */
+/* 文章场景相关 */
+view.data-v-bd84101d, scroll-view.data-v-bd84101d, swiper-item.data-v-bd84101d {
+  display: flex;
+  flex-direction: column;
+  flex-shrink: 0;
+  flex-grow: 0;
+  flex-basis: auto;
+  align-items: stretch;
+  align-content: flex-start;
+}
+.u-empty.data-v-bd84101d {
+
+  display: flex;
+
+  flex-direction: row;
+  flex-direction: column;
+  justify-content: center;
+  align-items: center;
+}
+.u-empty__text.data-v-bd84101d {
+
+  display: flex;
+
+  flex-direction: row;
+  justify-content: center;
+  align-items: center;
+  margin-top: 20rpx;
+}
+.u-slot-wrap.data-v-bd84101d {
+
+  display: flex;
+
+  flex-direction: row;
+  justify-content: center;
+  align-items: center;
+  margin-top: 20rpx;
+}

+ 112 - 0
dist/dev/mp-weixin/node-modules/uview-plus/components/u-form-item/u-form-item.js

@@ -0,0 +1,112 @@
+"use strict";
+const common_vendor = require("../../../../common/vendor.js");
+const _sfc_main = {
+  name: "u-form-item",
+  mixins: [common_vendor.mpMixin, common_vendor.mixin, common_vendor.props$14],
+  data() {
+    return {
+      // 错误提示语
+      message: "",
+      parentData: {
+        // 提示文本的位置
+        labelPosition: "left",
+        // 提示文本对齐方式
+        labelAlign: "left",
+        // 提示文本的样式
+        labelStyle: {},
+        // 提示文本的宽度
+        labelWidth: 45,
+        // 错误提示方式
+        errorType: "message"
+      }
+    };
+  },
+  // 组件创建完成时,将当前实例保存到u-form中
+  computed: {
+    propsLine() {
+      return common_vendor.index.$u.props.line;
+    }
+  },
+  mounted() {
+    this.init();
+  },
+  methods: {
+    init() {
+      this.updateParentData();
+      if (!this.parent) {
+        common_vendor.index.$u.error("u-form-item需要结合u-form组件使用");
+      }
+    },
+    // 获取父组件的参数
+    updateParentData() {
+      this.getParentData("u-form");
+    },
+    // 移除u-form-item的校验结果
+    clearValidate() {
+      this.message = null;
+    },
+    // 清空当前的组件的校验结果,并重置为初始值
+    resetField() {
+      const value = common_vendor.index.$u.getProperty(this.parent.originalModel, this.prop);
+      common_vendor.index.$u.setProperty(this.parent.model, this.prop, value);
+      this.message = null;
+    },
+    // 点击组件
+    clickHandler() {
+      this.$emit("click");
+    }
+  }
+};
+if (!Array) {
+  const _easycom_u_icon2 = common_vendor.resolveComponent("u-icon");
+  const _easycom_u_line2 = common_vendor.resolveComponent("u-line");
+  (_easycom_u_icon2 + _easycom_u_line2)();
+}
+const _easycom_u_icon = () => "../u-icon/u-icon.js";
+const _easycom_u_line = () => "../u-line/u-line.js";
+if (!Math) {
+  (_easycom_u_icon + _easycom_u_line)();
+}
+function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
+  return common_vendor.e({
+    a: _ctx.required || _ctx.leftIcon || _ctx.label
+  }, _ctx.required || _ctx.leftIcon || _ctx.label ? common_vendor.e({
+    b: _ctx.required
+  }, _ctx.required ? {} : {}, {
+    c: _ctx.leftIcon
+  }, _ctx.leftIcon ? {
+    d: common_vendor.p({
+      name: _ctx.leftIcon,
+      ["custom-style"]: _ctx.leftIconStyle
+    })
+  } : {}, {
+    e: common_vendor.t(_ctx.label),
+    f: common_vendor.s($data.parentData.labelStyle),
+    g: common_vendor.s({
+      justifyContent: $data.parentData.labelAlign === "left" ? "flex-start" : $data.parentData.labelAlign === "center" ? "center" : "flex-end"
+    }),
+    h: _ctx.$u.addUnit(_ctx.labelWidth || $data.parentData.labelWidth),
+    i: $data.parentData.labelPosition === "left" ? 0 : "5px"
+  }) : {}, {
+    j: _ctx.$slots.right
+  }, _ctx.$slots.right ? {} : {}, {
+    k: common_vendor.o((...args) => $options.clickHandler && $options.clickHandler(...args)),
+    l: common_vendor.s(_ctx.$u.addStyle(_ctx.customStyle)),
+    m: common_vendor.s({
+      flexDirection: $data.parentData.labelPosition === "left" ? "row" : "column"
+    }),
+    n: !!$data.message && $data.parentData.errorType === "message"
+  }, !!$data.message && $data.parentData.errorType === "message" ? {
+    o: common_vendor.t($data.message),
+    p: _ctx.$u.addUnit($data.parentData.labelPosition === "top" ? 0 : _ctx.labelWidth || $data.parentData.labelWidth)
+  } : {}, {
+    q: _ctx.borderBottom
+  }, _ctx.borderBottom ? {
+    r: common_vendor.p({
+      color: $data.message && $data.parentData.errorType === "border-bottom" ? _ctx.$u.color.error : $options.propsLine.color,
+      customStyle: `margin-top: ${$data.message && $data.parentData.errorType === "message" ? "5px" : 0}`
+    })
+  } : {});
+}
+const Component = /* @__PURE__ */ common_vendor._export_sfc(_sfc_main, [["render", _sfc_render], ["__scopeId", "data-v-b4fd400b"], ["__file", "F:/兴元/开门柜项目/平台端管理系统小程序/node_modules/uview-plus/components/u-form-item/u-form-item.vue"]]);
+wx.createComponent(Component);

+ 7 - 0
dist/dev/mp-weixin/node-modules/uview-plus/components/u-form-item/u-form-item.json

@@ -0,0 +1,7 @@
+{
+  "component": true,
+  "usingComponents": {
+    "u-icon": "../u-icon/u-icon",
+    "u-line": "../u-line/u-line"
+  }
+}

+ 1 - 0
dist/dev/mp-weixin/node-modules/uview-plus/components/u-form-item/u-form-item.wxml

@@ -0,0 +1 @@
+<view class="u-form-item data-v-b4fd400b"><view class="u-form-item__body data-v-b4fd400b" bindtap="{{k}}" style="{{l + ';' + m}}"><block wx:if="{{$slots.label}}"><slot name="label"></slot></block><block wx:else><view wx:if="{{a}}" class="u-form-item__body__left data-v-b4fd400b" style="{{'width:' + h + ';' + ('margin-bottom:' + i)}}"><view class="u-form-item__body__left__content data-v-b4fd400b"><text wx:if="{{b}}" class="u-form-item__body__left__content__required data-v-b4fd400b">*</text><view wx:if="{{c}}" class="u-form-item__body__left__content__icon data-v-b4fd400b"><u-icon wx:if="{{d}}" class="data-v-b4fd400b" u-i="b4fd400b-0" bind:__l="__l" u-p="{{d}}"></u-icon></view><text class="u-form-item__body__left__content__label data-v-b4fd400b" style="{{f + ';' + g}}">{{e}}</text></view></view></block><view class="u-form-item__body__right data-v-b4fd400b"><view class="u-form-item__body__right__content data-v-b4fd400b"><view class="u-form-item__body__right__content__slot data-v-b4fd400b"><slot/></view><view wx:if="{{j}}" class="item__body__right__content__icon data-v-b4fd400b"><slot name="right"/></view></view></view></view><block wx:if="{{$slots.error}}"><slot name="error"></slot></block><block wx:else><text wx:if="{{n}}" class="u-form-item__body__right__message data-v-b4fd400b" style="{{'margin-left:' + p}}">{{o}}</text></block><u-line wx:if="{{q}}" class="data-v-b4fd400b" u-i="b4fd400b-1" bind:__l="__l" u-p="{{r}}"></u-line></view>

+ 111 - 0
dist/dev/mp-weixin/node-modules/uview-plus/components/u-form-item/u-form-item.wxss

@@ -0,0 +1,111 @@
+/**
+ * 这里是uni-app内置的常用样式变量
+ *
+ * uni-app 官方扩展插件及插件市场(https://ext.dcloud.net.cn)上很多三方插件均使用了这些样式变量
+ * 如果你是插件开发者,建议你使用scss预处理,并在插件代码中直接使用这些变量(无需 import 这个文件),方便用户通过搭积木的方式开发整体风格一致的App
+ *
+ */
+/**
+ * 如果你是App开发者(插件使用者),你可以通过修改这些变量来定制自己的插件主题,实现自定义主题功能
+ *
+ * 如果你的项目同样使用了scss预处理,你也可以直接在你的 scss 代码中使用如下变量,同时无需 import 这个文件
+ */
+/* 颜色变量 */
+/* 行为相关颜色 */
+/* 文字基本颜色 */
+/* 背景颜色 */
+/* 边框颜色 */
+/* 尺寸变量 */
+/* 文字尺寸 */
+/* 图片尺寸 */
+/* Border Radius */
+/* 水平间距 */
+/* 垂直间距 */
+/* 透明度 */
+/* 文章场景相关 */
+view.data-v-b4fd400b, scroll-view.data-v-b4fd400b, swiper-item.data-v-b4fd400b {
+  display: flex;
+  flex-direction: column;
+  flex-shrink: 0;
+  flex-grow: 0;
+  flex-basis: auto;
+  align-items: stretch;
+  align-content: flex-start;
+}
+.u-form-item.data-v-b4fd400b {
+
+  display: flex;
+
+  flex-direction: column;
+  font-size: 14px;
+  color: #303133;
+}
+.u-form-item__body.data-v-b4fd400b {
+
+  display: flex;
+
+  flex-direction: row;
+  padding: 10px 0;
+}
+.u-form-item__body__left.data-v-b4fd400b {
+
+  display: flex;
+
+  flex-direction: row;
+  align-items: center;
+}
+.u-form-item__body__left__content.data-v-b4fd400b {
+  position: relative;
+
+  display: flex;
+
+  flex-direction: row;
+  align-items: center;
+  padding-right: 10rpx;
+  flex: 1;
+}
+.u-form-item__body__left__content__icon.data-v-b4fd400b {
+  margin-right: 8rpx;
+}
+.u-form-item__body__left__content__required.data-v-b4fd400b {
+  position: absolute;
+  left: -9px;
+  color: #f56c6c;
+  line-height: 20px;
+  font-size: 20px;
+  top: 3px;
+}
+.u-form-item__body__left__content__label.data-v-b4fd400b {
+
+  display: flex;
+
+  flex-direction: row;
+  align-items: center;
+  flex: 1;
+  color: #303133;
+  font-size: 15px;
+}
+.u-form-item__body__right.data-v-b4fd400b {
+  flex: 1;
+}
+.u-form-item__body__right__content.data-v-b4fd400b {
+
+  display: flex;
+
+  flex-direction: row;
+  align-items: center;
+  flex: 1;
+}
+.u-form-item__body__right__content__slot.data-v-b4fd400b {
+  flex: 1;
+}
+.u-form-item__body__right__content__icon.data-v-b4fd400b {
+  margin-left: 10rpx;
+  color: #c0c4cc;
+  font-size: 30rpx;
+}
+.u-form-item__body__right__message.data-v-b4fd400b {
+  font-size: 12px;
+  line-height: 12px;
+  color: #f56c6c;
+}

+ 170 - 0
dist/dev/mp-weixin/node-modules/uview-plus/components/u-form/u-form.js

@@ -0,0 +1,170 @@
+"use strict";
+const common_vendor = require("../../../../common/vendor.js");
+common_vendor.Schema.warning = function() {
+};
+const _sfc_main = {
+  name: "u-form",
+  mixins: [common_vendor.mpMixin, common_vendor.mixin, common_vendor.props$15],
+  provide() {
+    return {
+      uForm: this
+    };
+  },
+  data() {
+    return {
+      formRules: {},
+      // 规则校验器
+      validator: {},
+      // 原始的model快照,用于resetFields方法重置表单时使用
+      originalModel: null
+    };
+  },
+  watch: {
+    // 监听规则的变化
+    rules: {
+      immediate: true,
+      handler(n) {
+        this.setRules(n);
+      }
+    },
+    // 监听属性的变化,通知子组件u-form-item重新获取信息
+    propsChange(n) {
+      var _a;
+      if ((_a = this.children) == null ? void 0 : _a.length) {
+        this.children.map((child) => {
+          typeof child.updateParentData == "function" && child.updateParentData();
+        });
+      }
+    },
+    // 监听model的初始值作为重置表单的快照
+    model: {
+      immediate: true,
+      handler(n) {
+        if (!this.originalModel) {
+          this.originalModel = common_vendor.index.$u.deepClone(n);
+        }
+      }
+    }
+  },
+  computed: {
+    propsChange() {
+      return [
+        this.errorType,
+        this.borderBottom,
+        this.labelPosition,
+        this.labelWidth,
+        this.labelAlign,
+        this.labelStyle
+      ];
+    }
+  },
+  created() {
+    this.children = [];
+  },
+  methods: {
+    // 手动设置校验的规则,如果规则中有函数的话,微信小程序中会过滤掉,所以只能手动调用设置规则
+    setRules(rules) {
+      if (Object.keys(rules).length === 0)
+        return;
+      if (Object.keys(this.model).length === 0) {
+        common_vendor.index.$u.error("设置rules,model必须设置!如果已经设置,请刷新页面。");
+        return;
+      }
+      this.formRules = rules;
+      this.validator = new common_vendor.Schema(rules);
+    },
+    // 清空所有u-form-item组件的内容,本质上是调用了u-form-item组件中的resetField()方法
+    resetFields() {
+      this.resetModel();
+    },
+    // 重置model为初始值的快照
+    resetModel(obj) {
+      this.children.map((child) => {
+        const prop = child == null ? void 0 : child.prop;
+        const value = common_vendor.index.$u.getProperty(this.originalModel, prop);
+        common_vendor.index.$u.setProperty(this.model, prop, value);
+      });
+    },
+    // 清空校验结果
+    clearValidate(props) {
+      props = [].concat(props);
+      this.children.map((child) => {
+        if (props[0] === void 0 || props.includes(child.prop)) {
+          child.message = null;
+        }
+      });
+    },
+    // 对部分表单字段进行校验
+    async validateField(value, callback, event = null) {
+      this.$nextTick(() => {
+        const errorsRes = [];
+        value = [].concat(value);
+        this.children.map((child) => {
+          const childErrors = [];
+          if (value.includes(child.prop)) {
+            const propertyVal = common_vendor.index.$u.getProperty(
+              this.model,
+              child.prop
+            );
+            const propertyChain = child.prop.split(".");
+            const propertyName = propertyChain[propertyChain.length - 1];
+            const rule = this.formRules[child.prop];
+            if (!rule)
+              return;
+            const rules = [].concat(rule);
+            for (let i = 0; i < rules.length; i++) {
+              const ruleItem = rules[i];
+              const trigger = [].concat(ruleItem == null ? void 0 : ruleItem.trigger);
+              if (event && !trigger.includes(event))
+                continue;
+              const validator = new common_vendor.Schema({
+                [propertyName]: ruleItem
+              });
+              validator.validate(
+                {
+                  [propertyName]: propertyVal
+                },
+                (errors, fields) => {
+                  var _a;
+                  if (common_vendor.index.$u.test.array(errors)) {
+                    errorsRes.push(...errors);
+                    childErrors.push(...errors);
+                  }
+                  child.message = ((_a = childErrors[0]) == null ? void 0 : _a.message) ?? null;
+                }
+              );
+            }
+          }
+        });
+        typeof callback === "function" && callback(errorsRes);
+      });
+    },
+    // 校验全部数据
+    validate(callback) {
+      if (Object.keys(this.formRules).length === 0) {
+        common_vendor.index.$u.error("未设置rules,请看文档说明!如果已经设置,请刷新页面。");
+        return;
+      }
+      return new Promise((resolve, reject) => {
+        this.$nextTick(() => {
+          const formItemProps = this.children.map(
+            (item) => item.prop
+          );
+          this.validateField(formItemProps, (errors) => {
+            if (errors.length) {
+              this.errorType === "toast" && common_vendor.index.$u.toast(errors[0].message);
+              reject(errors);
+            } else {
+              resolve(true);
+            }
+          });
+        });
+      });
+    }
+  }
+};
+function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
+  return {};
+}
+const Component = /* @__PURE__ */ common_vendor._export_sfc(_sfc_main, [["render", _sfc_render], ["__file", "F:/兴元/开门柜项目/平台端管理系统小程序/node_modules/uview-plus/components/u-form/u-form.vue"]]);
+wx.createComponent(Component);

+ 4 - 0
dist/dev/mp-weixin/node-modules/uview-plus/components/u-form/u-form.json

@@ -0,0 +1,4 @@
+{
+  "component": true,
+  "usingComponents": {}
+}

+ 1 - 0
dist/dev/mp-weixin/node-modules/uview-plus/components/u-form/u-form.wxml

@@ -0,0 +1 @@
+<view class="u-form"><slot/></view>

+ 0 - 0
dist/dev/mp-weixin/node-modules/uview-plus/components/u-form/u-form.wxss


+ 83 - 0
dist/dev/mp-weixin/node-modules/uview-plus/components/u-icon/u-icon.js

@@ -0,0 +1,83 @@
+"use strict";
+const common_vendor = require("../../../../common/vendor.js");
+const _sfc_main = {
+  name: "u-icon",
+  data() {
+    return {};
+  },
+  emits: ["click"],
+  mixins: [common_vendor.mpMixin, common_vendor.mixin, common_vendor.props$5],
+  computed: {
+    uClasses() {
+      let classes = [];
+      classes.push(this.customPrefix + "-" + this.name);
+      if (this.color && common_vendor.index.$u.config.type.includes(this.color))
+        classes.push("u-icon__icon--" + this.color);
+      return classes;
+    },
+    iconStyle() {
+      let style = {};
+      style = {
+        fontSize: common_vendor.index.$u.addUnit(this.size),
+        lineHeight: common_vendor.index.$u.addUnit(this.size),
+        fontWeight: this.bold ? "bold" : "normal",
+        // 某些特殊情况需要设置一个到顶部的距离,才能更好的垂直居中
+        top: common_vendor.index.$u.addUnit(this.top)
+      };
+      if (this.color && !common_vendor.index.$u.config.type.includes(this.color))
+        style.color = this.color;
+      return style;
+    },
+    // 判断传入的name属性,是否图片路径,只要带有"/"均认为是图片形式
+    isImg() {
+      return this.name.indexOf("/") !== -1;
+    },
+    imgStyle() {
+      let style = {};
+      style.width = this.width ? common_vendor.index.$u.addUnit(this.width) : common_vendor.index.$u.addUnit(this.size);
+      style.height = this.height ? common_vendor.index.$u.addUnit(this.height) : common_vendor.index.$u.addUnit(this.size);
+      return style;
+    },
+    // 通过图标名,查找对应的图标
+    icon() {
+      return common_vendor.icons["uicon-" + this.name] || this.name;
+    }
+  },
+  methods: {
+    clickHandler(e) {
+      this.$emit("click", this.index);
+      this.stop && this.preventEvent(e);
+    }
+  }
+};
+function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
+  return common_vendor.e({
+    a: $options.isImg
+  }, $options.isImg ? {
+    b: _ctx.name,
+    c: _ctx.imgMode,
+    d: common_vendor.s($options.imgStyle),
+    e: common_vendor.s(_ctx.$u.addStyle(_ctx.customStyle))
+  } : {
+    f: common_vendor.t($options.icon),
+    g: common_vendor.n($options.uClasses),
+    h: common_vendor.s($options.iconStyle),
+    i: common_vendor.s(_ctx.$u.addStyle(_ctx.customStyle)),
+    j: _ctx.hoverClass
+  }, {
+    k: _ctx.label !== ""
+  }, _ctx.label !== "" ? {
+    l: common_vendor.t(_ctx.label),
+    m: _ctx.labelColor,
+    n: _ctx.$u.addUnit(_ctx.labelSize),
+    o: _ctx.labelPos == "right" ? _ctx.$u.addUnit(_ctx.space) : 0,
+    p: _ctx.labelPos == "bottom" ? _ctx.$u.addUnit(_ctx.space) : 0,
+    q: _ctx.labelPos == "left" ? _ctx.$u.addUnit(_ctx.space) : 0,
+    r: _ctx.labelPos == "top" ? _ctx.$u.addUnit(_ctx.space) : 0
+  } : {}, {
+    s: common_vendor.o((...args) => $options.clickHandler && $options.clickHandler(...args)),
+    t: common_vendor.n("u-icon--" + _ctx.labelPos)
+  });
+}
+const Component = /* @__PURE__ */ common_vendor._export_sfc(_sfc_main, [["render", _sfc_render], ["__scopeId", "data-v-1c933a9a"], ["__file", "F:/兴元/开门柜项目/平台端管理系统小程序/node_modules/uview-plus/components/u-icon/u-icon.vue"]]);
+wx.createComponent(Component);

+ 4 - 0
dist/dev/mp-weixin/node-modules/uview-plus/components/u-icon/u-icon.json

@@ -0,0 +1,4 @@
+{
+  "component": true,
+  "usingComponents": {}
+}

+ 1 - 0
dist/dev/mp-weixin/node-modules/uview-plus/components/u-icon/u-icon.wxml

@@ -0,0 +1 @@
+<view bindtap="{{s}}" class="{{['u-icon', 'data-v-1c933a9a', t]}}"><image wx:if="{{a}}" class="u-icon__img data-v-1c933a9a" src="{{b}}" mode="{{c}}" style="{{d + ';' + e}}"></image><text wx:else class="{{['u-icon__icon', 'data-v-1c933a9a', g]}}" style="{{h + ';' + i}}" hover-class="{{j}}">{{f}}</text><text wx:if="{{k}}" class="u-icon__label data-v-1c933a9a" style="{{'color:' + m + ';' + ('font-size:' + n) + ';' + ('margin-left:' + o) + ';' + ('margin-top:' + p) + ';' + ('margin-right:' + q) + ';' + ('margin-bottom:' + r)}}">{{l}}</text></view>

+ 89 - 0
dist/dev/mp-weixin/node-modules/uview-plus/components/u-icon/u-icon.wxss

@@ -0,0 +1,89 @@
+/**
+ * 这里是uni-app内置的常用样式变量
+ *
+ * uni-app 官方扩展插件及插件市场(https://ext.dcloud.net.cn)上很多三方插件均使用了这些样式变量
+ * 如果你是插件开发者,建议你使用scss预处理,并在插件代码中直接使用这些变量(无需 import 这个文件),方便用户通过搭积木的方式开发整体风格一致的App
+ *
+ */
+/**
+ * 如果你是App开发者(插件使用者),你可以通过修改这些变量来定制自己的插件主题,实现自定义主题功能
+ *
+ * 如果你的项目同样使用了scss预处理,你也可以直接在你的 scss 代码中使用如下变量,同时无需 import 这个文件
+ */
+/* 颜色变量 */
+/* 行为相关颜色 */
+/* 文字基本颜色 */
+/* 背景颜色 */
+/* 边框颜色 */
+/* 尺寸变量 */
+/* 文字尺寸 */
+/* 图片尺寸 */
+/* Border Radius */
+/* 水平间距 */
+/* 垂直间距 */
+/* 透明度 */
+/* 文章场景相关 */
+view.data-v-1c933a9a, scroll-view.data-v-1c933a9a, swiper-item.data-v-1c933a9a {
+  display: flex;
+  flex-direction: column;
+  flex-shrink: 0;
+  flex-grow: 0;
+  flex-basis: auto;
+  align-items: stretch;
+  align-content: flex-start;
+}
+@font-face {
+  font-family: "uicon-iconfont";
+  src: url("https://at.alicdn.com/t/font_2225171_8kdcwk4po24.ttf") format("truetype");
+}
+.u-icon.data-v-1c933a9a {
+  display: flex;
+  align-items: center;
+}
+.u-icon--left.data-v-1c933a9a {
+  flex-direction: row-reverse;
+  align-items: center;
+}
+.u-icon--right.data-v-1c933a9a {
+  flex-direction: row;
+  align-items: center;
+}
+.u-icon--top.data-v-1c933a9a {
+  flex-direction: column-reverse;
+  justify-content: center;
+}
+.u-icon--bottom.data-v-1c933a9a {
+  flex-direction: column;
+  justify-content: center;
+}
+.u-icon__icon.data-v-1c933a9a {
+  font-family: uicon-iconfont;
+  position: relative;
+
+  display: flex;
+
+  flex-direction: row;
+  align-items: center;
+}
+.u-icon__icon--primary.data-v-1c933a9a {
+  color: #3c9cff;
+}
+.u-icon__icon--success.data-v-1c933a9a {
+  color: #5ac725;
+}
+.u-icon__icon--error.data-v-1c933a9a {
+  color: #f56c6c;
+}
+.u-icon__icon--warning.data-v-1c933a9a {
+  color: #f9ae3d;
+}
+.u-icon__icon--info.data-v-1c933a9a {
+  color: #909399;
+}
+.u-icon__img.data-v-1c933a9a {
+  height: auto;
+  will-change: transform;
+}
+.u-icon__label.data-v-1c933a9a {
+  line-height: 1;
+}

+ 133 - 0
dist/dev/mp-weixin/node-modules/uview-plus/components/u-image/u-image.js

@@ -0,0 +1,133 @@
+"use strict";
+const common_vendor = require("../../../../common/vendor.js");
+const _sfc_main = {
+  name: "u-image",
+  mixins: [common_vendor.mpMixin, common_vendor.mixin, common_vendor.props$13],
+  data() {
+    return {
+      // 图片是否加载错误,如果是,则显示错误占位图
+      isError: false,
+      // 初始化组件时,默认为加载中状态
+      loading: true,
+      // 不透明度,为了实现淡入淡出的效果
+      opacity: 1,
+      // 过渡时间,因为props的值无法修改,故需要一个中间值
+      durationTime: this.duration,
+      // 图片加载完成时,去掉背景颜色,因为如果是png图片,就会显示灰色的背景
+      backgroundStyle: {},
+      // 用于fade模式的控制组件显示与否
+      show: false
+    };
+  },
+  watch: {
+    src: {
+      immediate: true,
+      handler(n) {
+        if (!n) {
+          this.isError = true;
+        } else {
+          this.isError = false;
+          this.loading = true;
+        }
+      }
+    }
+  },
+  computed: {
+    wrapStyle() {
+      let style = {};
+      style.width = this.$u.addUnit(this.width);
+      style.height = this.$u.addUnit(this.height);
+      style.borderRadius = this.shape == "circle" ? "10000px" : common_vendor.index.$u.addUnit(this.radius);
+      style.overflow = this.radius > 0 ? "hidden" : "visible";
+      return common_vendor.index.$u.deepMerge(style, common_vendor.index.$u.addStyle(this.customStyle));
+    }
+  },
+  mounted() {
+    this.show = true;
+  },
+  emits: ["click", "error", "load"],
+  methods: {
+    // 点击图片
+    onClick() {
+      this.$emit("click");
+    },
+    // 图片加载失败
+    onErrorHandler(err) {
+      this.loading = false;
+      this.isError = true;
+      this.$emit("error", err);
+    },
+    // 图片加载完成,标记loading结束
+    onLoadHandler(event) {
+      this.loading = false;
+      this.isError = false;
+      this.$emit("load", event);
+      this.removeBgColor();
+    },
+    // 移除图片的背景色
+    removeBgColor() {
+      this.backgroundStyle = {
+        backgroundColor: "transparent"
+      };
+    }
+  }
+};
+if (!Array) {
+  const _easycom_u_icon2 = common_vendor.resolveComponent("u-icon");
+  const _easycom_u_transition2 = common_vendor.resolveComponent("u-transition");
+  (_easycom_u_icon2 + _easycom_u_transition2)();
+}
+const _easycom_u_icon = () => "../u-icon/u-icon.js";
+const _easycom_u_transition = () => "../u-transition/u-transition.js";
+if (!Math) {
+  (_easycom_u_icon + _easycom_u_transition)();
+}
+function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
+  return common_vendor.e({
+    a: !$data.isError
+  }, !$data.isError ? {
+    b: _ctx.src,
+    c: _ctx.mode,
+    d: common_vendor.o((...args) => $options.onErrorHandler && $options.onErrorHandler(...args)),
+    e: common_vendor.o((...args) => $options.onLoadHandler && $options.onLoadHandler(...args)),
+    f: _ctx.showMenuByLongpress,
+    g: _ctx.lazyLoad,
+    h: _ctx.shape == "circle" ? "10000px" : _ctx.$u.addUnit(_ctx.radius),
+    i: _ctx.$u.addUnit(_ctx.width),
+    j: _ctx.$u.addUnit(_ctx.height)
+  } : {}, {
+    k: _ctx.showLoading && $data.loading
+  }, _ctx.showLoading && $data.loading ? {
+    l: common_vendor.p({
+      name: _ctx.loadingIcon,
+      width: _ctx.width,
+      height: _ctx.height
+    }),
+    m: _ctx.shape == "circle" ? "50%" : _ctx.$u.addUnit(_ctx.radius),
+    n: this.bgColor,
+    o: _ctx.$u.addUnit(_ctx.width),
+    p: _ctx.$u.addUnit(_ctx.height)
+  } : {}, {
+    q: _ctx.showError && $data.isError && !$data.loading
+  }, _ctx.showError && $data.isError && !$data.loading ? {
+    r: common_vendor.p({
+      name: _ctx.errorIcon,
+      width: _ctx.width,
+      height: _ctx.height
+    }),
+    s: _ctx.shape == "circle" ? "50%" : _ctx.$u.addUnit(_ctx.radius),
+    t: _ctx.$u.addUnit(_ctx.width),
+    v: _ctx.$u.addUnit(_ctx.height)
+  } : {}, {
+    w: common_vendor.o((...args) => $options.onClick && $options.onClick(...args)),
+    x: common_vendor.s($options.wrapStyle),
+    y: common_vendor.s($data.backgroundStyle),
+    z: common_vendor.p({
+      mode: "fade",
+      show: $data.show,
+      duration: _ctx.fade ? 1e3 : 0
+    })
+  });
+}
+const Component = /* @__PURE__ */ common_vendor._export_sfc(_sfc_main, [["render", _sfc_render], ["__scopeId", "data-v-9d58ba7c"], ["__file", "F:/兴元/开门柜项目/平台端管理系统小程序/node_modules/uview-plus/components/u-image/u-image.vue"]]);
+wx.createComponent(Component);

+ 7 - 0
dist/dev/mp-weixin/node-modules/uview-plus/components/u-image/u-image.json

@@ -0,0 +1,7 @@
+{
+  "component": true,
+  "usingComponents": {
+    "u-icon": "../u-icon/u-icon",
+    "u-transition": "../u-transition/u-transition"
+  }
+}

+ 1 - 0
dist/dev/mp-weixin/node-modules/uview-plus/components/u-image/u-image.wxml

@@ -0,0 +1 @@
+<u-transition wx:if="{{z}}" class="data-v-9d58ba7c" u-s="{{['d']}}" u-i="9d58ba7c-0" bind:__l="__l" u-p="{{z}}"><view class="u-image data-v-9d58ba7c" bindtap="{{w}}" style="{{x + ';' + y}}"><image wx:if="{{a}}" src="{{b}}" mode="{{c}}" binderror="{{d}}" bindload="{{e}}" show-menu-by-longpress="{{f}}" lazy-load="{{g}}" class="u-image__image data-v-9d58ba7c" style="{{'border-radius:' + h + ';' + ('width:' + i) + ';' + ('height:' + j)}}"></image><view wx:if="{{k}}" class="u-image__loading data-v-9d58ba7c" style="{{'border-radius:' + m + ';' + ('background-color:' + n) + ';' + ('width:' + o) + ';' + ('height:' + p)}}"><block wx:if="{{$slots.loading}}"><slot name="loading"></slot></block><block wx:else><u-icon wx:if="{{l}}" class="data-v-9d58ba7c" u-i="9d58ba7c-1,9d58ba7c-0" bind:__l="__l" u-p="{{l}}"></u-icon></block></view><view wx:if="{{q}}" class="u-image__error data-v-9d58ba7c" style="{{'border-radius:' + s + ';' + ('width:' + t) + ';' + ('height:' + v)}}"><block wx:if="{{$slots.error}}"><slot name="error"></slot></block><block wx:else><u-icon wx:if="{{r}}" class="data-v-9d58ba7c" u-i="9d58ba7c-2,9d58ba7c-0" bind:__l="__l" u-p="{{r}}"></u-icon></block></view></view></u-transition>

+ 58 - 0
dist/dev/mp-weixin/node-modules/uview-plus/components/u-image/u-image.wxss

@@ -0,0 +1,58 @@
+/**
+ * 这里是uni-app内置的常用样式变量
+ *
+ * uni-app 官方扩展插件及插件市场(https://ext.dcloud.net.cn)上很多三方插件均使用了这些样式变量
+ * 如果你是插件开发者,建议你使用scss预处理,并在插件代码中直接使用这些变量(无需 import 这个文件),方便用户通过搭积木的方式开发整体风格一致的App
+ *
+ */
+/**
+ * 如果你是App开发者(插件使用者),你可以通过修改这些变量来定制自己的插件主题,实现自定义主题功能
+ *
+ * 如果你的项目同样使用了scss预处理,你也可以直接在你的 scss 代码中使用如下变量,同时无需 import 这个文件
+ */
+/* 颜色变量 */
+/* 行为相关颜色 */
+/* 文字基本颜色 */
+/* 背景颜色 */
+/* 边框颜色 */
+/* 尺寸变量 */
+/* 文字尺寸 */
+/* 图片尺寸 */
+/* Border Radius */
+/* 水平间距 */
+/* 垂直间距 */
+/* 透明度 */
+/* 文章场景相关 */
+view.data-v-9d58ba7c, scroll-view.data-v-9d58ba7c, swiper-item.data-v-9d58ba7c {
+  display: flex;
+  flex-direction: column;
+  flex-shrink: 0;
+  flex-grow: 0;
+  flex-basis: auto;
+  align-items: stretch;
+  align-content: flex-start;
+}
+.u-image.data-v-9d58ba7c {
+  position: relative;
+  transition: opacity 0.5s ease-in-out;
+}
+.u-image__image.data-v-9d58ba7c {
+  width: 100%;
+  height: 100%;
+}
+.u-image__loading.data-v-9d58ba7c, .u-image__error.data-v-9d58ba7c {
+  position: absolute;
+  top: 0px;
+  left: 0px;
+  width: 100%;
+  height: 100%;
+
+  display: flex;
+
+  flex-direction: row;
+  align-items: center;
+  justify-content: center;
+  background-color: #f3f4f6;
+  color: #909193;
+  font-size: 46rpx;
+}

+ 206 - 0
dist/dev/mp-weixin/node-modules/uview-plus/components/u-input/u-input.js

@@ -0,0 +1,206 @@
+"use strict";
+const common_vendor = require("../../../../common/vendor.js");
+const _sfc_main = {
+  name: "u-input",
+  mixins: [common_vendor.mpMixin, common_vendor.mixin, common_vendor.props$10],
+  data() {
+    return {
+      // 输入框的值
+      innerValue: "",
+      // 是否处于获得焦点状态
+      focused: false,
+      // value是否第一次变化,在watch中,由于加入immediate属性,会在第一次触发,此时不应该认为value发生了变化
+      firstChange: true,
+      // value绑定值的变化是由内部还是外部引起的
+      changeFromInner: false,
+      // 过滤处理方法
+      innerFormatter: (value) => value
+    };
+  },
+  watch: {
+    modelValue: {
+      immediate: true,
+      handler(newVal, oldVal) {
+        this.innerValue = newVal;
+        this.firstChange = false;
+        this.changeFromInner = false;
+      }
+    }
+  },
+  computed: {
+    // 是否显示清除控件
+    isShowClear() {
+      const { clearable, readonly, focused, innerValue } = this;
+      return !!clearable && !readonly && !!focused && innerValue !== "";
+    },
+    // 组件的类名
+    inputClass() {
+      let classes = [], { border, disabled, shape } = this;
+      border === "surround" && (classes = classes.concat(["u-border", "u-input--radius"]));
+      classes.push(`u-input--${shape}`);
+      border === "bottom" && (classes = classes.concat([
+        "u-border-bottom",
+        "u-input--no-radius"
+      ]));
+      return classes.join(" ");
+    },
+    // 组件的样式
+    wrapperStyle() {
+      const style = {};
+      if (this.disabled) {
+        style.backgroundColor = this.disabledColor;
+      }
+      if (this.border === "none") {
+        style.padding = "0";
+      } else {
+        style.paddingTop = "6px";
+        style.paddingBottom = "6px";
+        style.paddingLeft = "9px";
+        style.paddingRight = "9px";
+      }
+      return common_vendor.index.$u.deepMerge(style, common_vendor.index.$u.addStyle(this.customStyle));
+    },
+    // 输入框的样式
+    inputStyle() {
+      const style = {
+        color: this.color,
+        fontSize: common_vendor.index.$u.addUnit(this.fontSize),
+        textAlign: this.inputAlign
+      };
+      return style;
+    }
+  },
+  emits: ["update:modelValue", "focus", "blur", "change", "confirm", "clear", "keyboardheightchange"],
+  methods: {
+    // 在微信小程序中,不支持将函数当做props参数,故只能通过ref形式调用
+    setFormatter(e) {
+      this.innerFormatter = e;
+    },
+    // 当键盘输入时,触发input事件
+    onInput(e) {
+      let { value = "" } = e.detail || {};
+      const formatter = this.formatter || this.innerFormatter;
+      const formatValue = formatter(value);
+      this.innerValue = value;
+      this.$nextTick(() => {
+        this.innerValue = formatValue;
+        this.valueChange();
+      });
+    },
+    // 输入框失去焦点时触发
+    onBlur(event) {
+      this.$emit("blur", event.detail.value);
+      common_vendor.index.$u.sleep(50).then(() => {
+        this.focused = false;
+      });
+      common_vendor.index.$u.formValidate(this, "blur");
+    },
+    // 输入框聚焦时触发
+    onFocus(event) {
+      this.focused = true;
+      this.$emit("focus");
+    },
+    // 点击完成按钮时触发
+    onConfirm(event) {
+      this.$emit("confirm", this.innerValue);
+    },
+    // 键盘高度发生变化的时候触发此事件
+    // 兼容性:微信小程序2.7.0+、App 3.1.0+
+    onkeyboardheightchange() {
+      this.$emit("keyboardheightchange");
+    },
+    // 内容发生变化,进行处理
+    valueChange() {
+      const value = this.innerValue;
+      this.$nextTick(() => {
+        this.$emit("update:modelValue", value);
+        this.changeFromInner = true;
+        this.$emit("change", value);
+        common_vendor.index.$u.formValidate(this, "change");
+      });
+    },
+    // 点击清除控件
+    onClear() {
+      this.innerValue = "";
+      this.$nextTick(() => {
+        this.valueChange();
+        this.$emit("clear");
+      });
+    },
+    /**
+     * 在安卓nvue上,事件无法冒泡
+     * 在某些时间,我们希望监听u-from-item的点击事件,此时会导致点击u-form-item内的u-input后
+     * 无法触发u-form-item的点击事件,这里通过手动调用u-form-item的方法进行触发
+     */
+    clickHandler() {
+    }
+  }
+};
+if (!Array) {
+  const _easycom_u_icon2 = common_vendor.resolveComponent("u-icon");
+  _easycom_u_icon2();
+}
+const _easycom_u_icon = () => "../u-icon/u-icon.js";
+if (!Math) {
+  _easycom_u_icon();
+}
+function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
+  return common_vendor.e({
+    a: _ctx.prefixIcon || _ctx.$slots.prefix
+  }, _ctx.prefixIcon || _ctx.$slots.prefix ? {
+    b: common_vendor.p({
+      name: _ctx.prefixIcon,
+      size: "18",
+      customStyle: _ctx.prefixIconStyle
+    })
+  } : {}, {
+    c: common_vendor.s($options.inputStyle),
+    d: _ctx.type,
+    e: _ctx.focus,
+    f: _ctx.cursor,
+    g: $data.innerValue,
+    h: _ctx.autoBlur,
+    i: _ctx.disabled || _ctx.readonly,
+    j: _ctx.maxlength,
+    k: _ctx.placeholder,
+    l: _ctx.placeholderStyle,
+    m: _ctx.placeholderClass,
+    n: _ctx.confirmType,
+    o: _ctx.confirmHold,
+    p: _ctx.holdKeyboard,
+    q: _ctx.cursorSpacing,
+    r: _ctx.adjustPosition,
+    s: _ctx.selectionEnd,
+    t: _ctx.selectionStart,
+    v: _ctx.password || _ctx.type === "password" || void 0,
+    w: _ctx.ignoreCompositionEvent,
+    x: common_vendor.o((...args) => $options.onInput && $options.onInput(...args)),
+    y: common_vendor.o((...args) => $options.onBlur && $options.onBlur(...args)),
+    z: common_vendor.o((...args) => $options.onFocus && $options.onFocus(...args)),
+    A: common_vendor.o((...args) => $options.onConfirm && $options.onConfirm(...args)),
+    B: common_vendor.o((...args) => $options.onkeyboardheightchange && $options.onkeyboardheightchange(...args)),
+    C: common_vendor.o((...args) => $options.clickHandler && $options.clickHandler(...args)),
+    D: $options.isShowClear
+  }, $options.isShowClear ? {
+    E: common_vendor.p({
+      name: "close",
+      size: "11",
+      color: "#ffffff",
+      customStyle: "line-height: 12px"
+    }),
+    F: common_vendor.o((...args) => $options.onClear && $options.onClear(...args))
+  } : {}, {
+    G: _ctx.suffixIcon || _ctx.$slots.suffix
+  }, _ctx.suffixIcon || _ctx.$slots.suffix ? {
+    H: common_vendor.p({
+      name: _ctx.suffixIcon,
+      size: "18",
+      customStyle: _ctx.suffixIconStyle
+    })
+  } : {}, {
+    I: common_vendor.n($options.inputClass),
+    J: common_vendor.s($options.wrapperStyle)
+  });
+}
+const Component = /* @__PURE__ */ common_vendor._export_sfc(_sfc_main, [["render", _sfc_render], ["__scopeId", "data-v-5904192e"], ["__file", "F:/兴元/开门柜项目/平台端管理系统小程序/node_modules/uview-plus/components/u-input/u-input.vue"]]);
+wx.createComponent(Component);

+ 6 - 0
dist/dev/mp-weixin/node-modules/uview-plus/components/u-input/u-input.json

@@ -0,0 +1,6 @@
+{
+  "component": true,
+  "usingComponents": {
+    "u-icon": "../u-icon/u-icon"
+  }
+}

+ 1 - 0
dist/dev/mp-weixin/node-modules/uview-plus/components/u-input/u-input.wxml

@@ -0,0 +1 @@
+<view class="{{['u-input', 'data-v-5904192e', I]}}" style="{{J}}"><view class="u-input__content data-v-5904192e"><view wx:if="{{a}}" class="u-input__content__prefix-icon data-v-5904192e"><block wx:if="{{$slots.prefix}}"><slot name="prefix"></slot></block><block wx:else><u-icon wx:if="{{b}}" class="data-v-5904192e" u-i="5904192e-0" bind:__l="__l" u-p="{{b}}"></u-icon></block></view><view class="u-input__content__field-wrapper data-v-5904192e" bindtap="{{C}}"><block wx:if="{{r0}}"><input class="u-input__content__field-wrapper__field data-v-5904192e" style="{{c}}" type="{{d}}" focus="{{e}}" cursor="{{f}}" value="{{g}}" auto-blur="{{h}}" disabled="{{i}}" maxlength="{{j}}" placeholder="{{k}}" placeholder-style="{{l}}" placeholder-class="{{m}}" confirm-type="{{n}}" confirm-hold="{{o}}" hold-keyboard="{{p}}" cursor-spacing="{{q}}" adjust-position="{{r}}" selection-end="{{s}}" selection-start="{{t}}" password="{{v}}" ignoreCompositionEvent="{{w}}" bindinput="{{x}}" bindblur="{{y}}" bindfocus="{{z}}" bindconfirm="{{A}}" bindkeyboardheightchange="{{B}}"/></block></view><view wx:if="{{D}}" class="u-input__content__clear data-v-5904192e" bindtap="{{F}}"><u-icon wx:if="{{E}}" class="data-v-5904192e" u-i="5904192e-1" bind:__l="__l" u-p="{{E}}"></u-icon></view><view wx:if="{{G}}" class="u-input__content__subfix-icon data-v-5904192e"><block wx:if="{{$slots.suffix}}"><slot name="suffix"></slot></block><block wx:else><u-icon wx:if="{{H}}" class="data-v-5904192e" u-i="5904192e-2" bind:__l="__l" u-p="{{H}}"></u-icon></block></view></view></view>

+ 98 - 0
dist/dev/mp-weixin/node-modules/uview-plus/components/u-input/u-input.wxss

@@ -0,0 +1,98 @@
+/**
+ * 这里是uni-app内置的常用样式变量
+ *
+ * uni-app 官方扩展插件及插件市场(https://ext.dcloud.net.cn)上很多三方插件均使用了这些样式变量
+ * 如果你是插件开发者,建议你使用scss预处理,并在插件代码中直接使用这些变量(无需 import 这个文件),方便用户通过搭积木的方式开发整体风格一致的App
+ *
+ */
+/**
+ * 如果你是App开发者(插件使用者),你可以通过修改这些变量来定制自己的插件主题,实现自定义主题功能
+ *
+ * 如果你的项目同样使用了scss预处理,你也可以直接在你的 scss 代码中使用如下变量,同时无需 import 这个文件
+ */
+/* 颜色变量 */
+/* 行为相关颜色 */
+/* 文字基本颜色 */
+/* 背景颜色 */
+/* 边框颜色 */
+/* 尺寸变量 */
+/* 文字尺寸 */
+/* 图片尺寸 */
+/* Border Radius */
+/* 水平间距 */
+/* 垂直间距 */
+/* 透明度 */
+/* 文章场景相关 */
+view.data-v-5904192e, scroll-view.data-v-5904192e, swiper-item.data-v-5904192e {
+  display: flex;
+  flex-direction: column;
+  flex-shrink: 0;
+  flex-grow: 0;
+  flex-basis: auto;
+  align-items: stretch;
+  align-content: flex-start;
+}
+.u-input.data-v-5904192e {
+
+  display: flex;
+
+  flex-direction: row;
+  align-items: center;
+  justify-content: space-between;
+  flex: 1;
+}
+.u-input--radius.data-v-5904192e, .u-input--square.data-v-5904192e {
+  border-radius: 4px;
+}
+.u-input--no-radius.data-v-5904192e {
+  border-radius: 0;
+}
+.u-input--circle.data-v-5904192e {
+  border-radius: 100px;
+}
+.u-input__content.data-v-5904192e {
+  flex: 1;
+
+  display: flex;
+
+  flex-direction: row;
+  align-items: center;
+  justify-content: space-between;
+}
+.u-input__content__field-wrapper.data-v-5904192e {
+  position: relative;
+
+  display: flex;
+
+  flex-direction: row;
+  margin: 0;
+  flex: 1;
+}
+.u-input__content__field-wrapper__field.data-v-5904192e {
+  line-height: 26px;
+  text-align: left;
+  color: #303133;
+  height: 24px;
+  font-size: 15px;
+  flex: 1;
+}
+.u-input__content__clear.data-v-5904192e {
+  width: 20px;
+  height: 20px;
+  border-radius: 100px;
+  background-color: #c6c7cb;
+
+  display: flex;
+
+  flex-direction: row;
+  align-items: center;
+  justify-content: center;
+  transform: scale(0.82);
+  margin-left: 4px;
+}
+.u-input__content__subfix-icon.data-v-5904192e {
+  margin-left: 4px;
+}
+.u-input__content__prefix-icon.data-v-5904192e {
+  margin-right: 4px;
+}

+ 34 - 0
dist/dev/mp-weixin/node-modules/uview-plus/components/u-line/u-line.js

@@ -0,0 +1,34 @@
+"use strict";
+const common_vendor = require("../../../../common/vendor.js");
+const _sfc_main = {
+  name: "u-line",
+  mixins: [common_vendor.mpMixin, common_vendor.mixin, common_vendor.props$27],
+  computed: {
+    lineStyle() {
+      const style = {};
+      style.margin = this.margin;
+      if (this.direction === "row") {
+        style.borderBottomWidth = "1px";
+        style.borderBottomStyle = this.dashed ? "dashed" : "solid";
+        style.width = common_vendor.index.$u.addUnit(this.length);
+        if (this.hairline)
+          style.transform = "scaleY(0.5)";
+      } else {
+        style.borderLeftWidth = "1px";
+        style.borderLeftStyle = this.dashed ? "dashed" : "solid";
+        style.height = common_vendor.index.$u.addUnit(this.length);
+        if (this.hairline)
+          style.transform = "scaleX(0.5)";
+      }
+      style.borderColor = this.color;
+      return common_vendor.index.$u.deepMerge(style, common_vendor.index.$u.addStyle(this.customStyle));
+    }
+  }
+};
+function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
+  return {
+    a: common_vendor.s($options.lineStyle)
+  };
+}
+const Component = /* @__PURE__ */ common_vendor._export_sfc(_sfc_main, [["render", _sfc_render], ["__scopeId", "data-v-bbd9963c"], ["__file", "F:/兴元/开门柜项目/平台端管理系统小程序/node_modules/uview-plus/components/u-line/u-line.vue"]]);
+wx.createComponent(Component);

+ 4 - 0
dist/dev/mp-weixin/node-modules/uview-plus/components/u-line/u-line.json

@@ -0,0 +1,4 @@
+{
+  "component": true,
+  "usingComponents": {}
+}

+ 1 - 0
dist/dev/mp-weixin/node-modules/uview-plus/components/u-line/u-line.wxml

@@ -0,0 +1 @@
+<view class="u-line data-v-bbd9963c" style="{{a}}"></view>

+ 37 - 0
dist/dev/mp-weixin/node-modules/uview-plus/components/u-line/u-line.wxss

@@ -0,0 +1,37 @@
+/**
+ * 这里是uni-app内置的常用样式变量
+ *
+ * uni-app 官方扩展插件及插件市场(https://ext.dcloud.net.cn)上很多三方插件均使用了这些样式变量
+ * 如果你是插件开发者,建议你使用scss预处理,并在插件代码中直接使用这些变量(无需 import 这个文件),方便用户通过搭积木的方式开发整体风格一致的App
+ *
+ */
+/**
+ * 如果你是App开发者(插件使用者),你可以通过修改这些变量来定制自己的插件主题,实现自定义主题功能
+ *
+ * 如果你的项目同样使用了scss预处理,你也可以直接在你的 scss 代码中使用如下变量,同时无需 import 这个文件
+ */
+/* 颜色变量 */
+/* 行为相关颜色 */
+/* 文字基本颜色 */
+/* 背景颜色 */
+/* 边框颜色 */
+/* 尺寸变量 */
+/* 文字尺寸 */
+/* 图片尺寸 */
+/* Border Radius */
+/* 水平间距 */
+/* 垂直间距 */
+/* 透明度 */
+/* 文章场景相关 */
+view.data-v-bbd9963c, scroll-view.data-v-bbd9963c, swiper-item.data-v-bbd9963c {
+  display: flex;
+  flex-direction: column;
+  flex-shrink: 0;
+  flex-grow: 0;
+  flex-basis: auto;
+  align-items: stretch;
+  align-content: flex-start;
+}
+.u-line.data-v-bbd9963c {
+  vertical-align: middle;
+}

+ 98 - 0
dist/dev/mp-weixin/node-modules/uview-plus/components/u-loading-icon/u-loading-icon.js

@@ -0,0 +1,98 @@
+"use strict";
+const common_vendor = require("../../../../common/vendor.js");
+const _sfc_main = {
+  name: "u-loading-icon",
+  mixins: [common_vendor.mpMixin, common_vendor.mixin, common_vendor.props$28],
+  data() {
+    return {
+      // Array.form可以通过一个伪数组对象创建指定长度的数组
+      // https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Reference/Global_Objects/Array/from
+      array12: Array.from({
+        length: 12
+      }),
+      // 这里需要设置默认值为360,否则在安卓nvue上,会延迟一个duration周期后才执行
+      // 在iOS nvue上,则会一开始默认执行两个周期的动画
+      aniAngel: 360,
+      // 动画旋转角度
+      webviewHide: false,
+      // 监听webview的状态,如果隐藏了页面,则停止动画,以免性能消耗
+      loading: false
+      // 是否运行中,针对nvue使用
+    };
+  },
+  computed: {
+    // 当为circle类型时,给其另外三边设置一个更轻一些的颜色
+    // 之所以需要这么做的原因是,比如父组件传了color为红色,那么需要另外的三个边为浅红色
+    // 而不能是固定的某一个其他颜色(因为这个固定的颜色可能浅蓝,导致效果没有那么细腻良好)
+    otherBorderColor() {
+      const lightColor = common_vendor.index.$u.colorGradient(this.color, "#ffffff", 100)[80];
+      if (this.mode === "circle") {
+        return this.inactiveColor ? this.inactiveColor : lightColor;
+      } else {
+        return "transparent";
+      }
+    }
+  },
+  watch: {
+    show(n) {
+    }
+  },
+  mounted() {
+    this.init();
+  },
+  methods: {
+    init() {
+      setTimeout(() => {
+      }, 20);
+    },
+    // 监听webview的显示与隐藏
+    addEventListenerToWebview() {
+      const pages = getCurrentPages();
+      const page = pages[pages.length - 1];
+      const currentWebview = page.$getAppWebview();
+      currentWebview.addEventListener("hide", () => {
+        this.webviewHide = true;
+      });
+      currentWebview.addEventListener("show", () => {
+        this.webviewHide = false;
+      });
+    }
+  }
+};
+function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
+  return common_vendor.e({
+    a: _ctx.show
+  }, _ctx.show ? common_vendor.e({
+    b: !$data.webviewHide
+  }, !$data.webviewHide ? common_vendor.e({
+    c: _ctx.mode === "spinner"
+  }, _ctx.mode === "spinner" ? {
+    d: common_vendor.f($data.array12, (item, index, i0) => {
+      return {
+        a: index
+      };
+    })
+  } : {}, {
+    e: common_vendor.n(`u-loading-icon__spinner--${_ctx.mode}`),
+    f: _ctx.color,
+    g: _ctx.$u.addUnit(_ctx.size),
+    h: _ctx.$u.addUnit(_ctx.size),
+    i: _ctx.color,
+    j: $options.otherBorderColor,
+    k: $options.otherBorderColor,
+    l: $options.otherBorderColor,
+    m: `${_ctx.duration}ms`,
+    n: _ctx.mode === "semicircle" || _ctx.mode === "circle" ? _ctx.timingFunction : ""
+  }) : {}, {
+    o: _ctx.text
+  }, _ctx.text ? {
+    p: common_vendor.t(_ctx.text),
+    q: _ctx.$u.addUnit(_ctx.textSize),
+    r: _ctx.textColor
+  } : {}, {
+    s: common_vendor.s(_ctx.$u.addStyle(_ctx.customStyle)),
+    t: common_vendor.n(_ctx.vertical && "u-loading-icon--vertical")
+  }) : {});
+}
+const Component = /* @__PURE__ */ common_vendor._export_sfc(_sfc_main, [["render", _sfc_render], ["__scopeId", "data-v-00752c6d"], ["__file", "F:/兴元/开门柜项目/平台端管理系统小程序/node_modules/uview-plus/components/u-loading-icon/u-loading-icon.vue"]]);
+wx.createComponent(Component);

+ 4 - 0
dist/dev/mp-weixin/node-modules/uview-plus/components/u-loading-icon/u-loading-icon.json

@@ -0,0 +1,4 @@
+{
+  "component": true,
+  "usingComponents": {}
+}

+ 1 - 0
dist/dev/mp-weixin/node-modules/uview-plus/components/u-loading-icon/u-loading-icon.wxml

@@ -0,0 +1 @@
+<view wx:if="{{a}}" style="{{s}}" class="{{['u-loading-icon', 'data-v-00752c6d', t]}}"><view wx:if="{{b}}" class="{{['u-loading-icon__spinner', 'data-v-00752c6d', e]}}" ref="ani" style="{{'color:' + f + ';' + ('width:' + g) + ';' + ('height:' + h) + ';' + ('border-top-color:' + i) + ';' + ('border-bottom-color:' + j) + ';' + ('border-left-color:' + k) + ';' + ('border-right-color:' + l) + ';' + ('animation-duration:' + m) + ';' + ('animation-timing-function:' + n)}}"><block wx:if="{{c}}"><view wx:for="{{d}}" wx:for-item="item" wx:key="a" class="u-loading-icon__dot data-v-00752c6d"></view></block></view><text wx:if="{{o}}" class="u-loading-icon__text data-v-00752c6d" style="{{'font-size:' + q + ';' + ('color:' + r)}}">{{p}}</text></view>

+ 165 - 0
dist/dev/mp-weixin/node-modules/uview-plus/components/u-loading-icon/u-loading-icon.wxss

@@ -0,0 +1,165 @@
+/**
+ * 这里是uni-app内置的常用样式变量
+ *
+ * uni-app 官方扩展插件及插件市场(https://ext.dcloud.net.cn)上很多三方插件均使用了这些样式变量
+ * 如果你是插件开发者,建议你使用scss预处理,并在插件代码中直接使用这些变量(无需 import 这个文件),方便用户通过搭积木的方式开发整体风格一致的App
+ *
+ */
+/**
+ * 如果你是App开发者(插件使用者),你可以通过修改这些变量来定制自己的插件主题,实现自定义主题功能
+ *
+ * 如果你的项目同样使用了scss预处理,你也可以直接在你的 scss 代码中使用如下变量,同时无需 import 这个文件
+ */
+/* 颜色变量 */
+/* 行为相关颜色 */
+/* 文字基本颜色 */
+/* 背景颜色 */
+/* 边框颜色 */
+/* 尺寸变量 */
+/* 文字尺寸 */
+/* 图片尺寸 */
+/* Border Radius */
+/* 水平间距 */
+/* 垂直间距 */
+/* 透明度 */
+/* 文章场景相关 */
+view.data-v-00752c6d, scroll-view.data-v-00752c6d, swiper-item.data-v-00752c6d {
+  display: flex;
+  flex-direction: column;
+  flex-shrink: 0;
+  flex-grow: 0;
+  flex-basis: auto;
+  align-items: stretch;
+  align-content: flex-start;
+}
+.u-loading-icon.data-v-00752c6d {
+  flex-direction: row;
+  align-items: center;
+  justify-content: center;
+  color: #c8c9cc;
+}
+.u-loading-icon__text.data-v-00752c6d {
+  margin-left: 4px;
+  color: #606266;
+  font-size: 14px;
+  line-height: 20px;
+}
+.u-loading-icon__spinner.data-v-00752c6d {
+  width: 30px;
+  height: 30px;
+  position: relative;
+  box-sizing: border-box;
+  max-width: 100%;
+  max-height: 100%;
+  animation: u-rotate-00752c6d 1s linear infinite;
+}
+.u-loading-icon__spinner--semicircle.data-v-00752c6d {
+  border-width: 2px;
+  border-color: transparent;
+  border-top-right-radius: 100px;
+  border-top-left-radius: 100px;
+  border-bottom-left-radius: 100px;
+  border-bottom-right-radius: 100px;
+  border-style: solid;
+}
+.u-loading-icon__spinner--circle.data-v-00752c6d {
+  border-top-right-radius: 100px;
+  border-top-left-radius: 100px;
+  border-bottom-left-radius: 100px;
+  border-bottom-right-radius: 100px;
+  border-width: 2px;
+  border-top-color: #e5e5e5;
+  border-right-color: #e5e5e5;
+  border-bottom-color: #e5e5e5;
+  border-left-color: #e5e5e5;
+  border-style: solid;
+}
+.u-loading-icon--vertical.data-v-00752c6d {
+  flex-direction: column;
+}
+.data-v-00752c6d:host {
+  font-size: 0px;
+  line-height: 1;
+}
+.u-loading-icon__spinner--spinner.data-v-00752c6d {
+  animation-timing-function: steps(12);
+}
+.u-loading-icon__text.data-v-00752c6d:empty {
+  display: none;
+}
+.u-loading-icon--vertical .u-loading-icon__text.data-v-00752c6d {
+  margin: 6px 0 0;
+  color: #606266;
+}
+.u-loading-icon__dot.data-v-00752c6d {
+  position: absolute;
+  top: 0;
+  left: 0;
+  width: 100%;
+  height: 100%;
+}
+.u-loading-icon__dot.data-v-00752c6d:before {
+  display: block;
+  width: 2px;
+  height: 25%;
+  margin: 0 auto;
+  background-color: currentColor;
+  border-radius: 40%;
+  content: " ";
+}
+.u-loading-icon__dot.data-v-00752c6d:nth-of-type(1) {
+  transform: rotate(30deg);
+  opacity: 1;
+}
+.u-loading-icon__dot.data-v-00752c6d:nth-of-type(2) {
+  transform: rotate(60deg);
+  opacity: 0.9375;
+}
+.u-loading-icon__dot.data-v-00752c6d:nth-of-type(3) {
+  transform: rotate(90deg);
+  opacity: 0.875;
+}
+.u-loading-icon__dot.data-v-00752c6d:nth-of-type(4) {
+  transform: rotate(120deg);
+  opacity: 0.8125;
+}
+.u-loading-icon__dot.data-v-00752c6d:nth-of-type(5) {
+  transform: rotate(150deg);
+  opacity: 0.75;
+}
+.u-loading-icon__dot.data-v-00752c6d:nth-of-type(6) {
+  transform: rotate(180deg);
+  opacity: 0.6875;
+}
+.u-loading-icon__dot.data-v-00752c6d:nth-of-type(7) {
+  transform: rotate(210deg);
+  opacity: 0.625;
+}
+.u-loading-icon__dot.data-v-00752c6d:nth-of-type(8) {
+  transform: rotate(240deg);
+  opacity: 0.5625;
+}
+.u-loading-icon__dot.data-v-00752c6d:nth-of-type(9) {
+  transform: rotate(270deg);
+  opacity: 0.5;
+}
+.u-loading-icon__dot.data-v-00752c6d:nth-of-type(10) {
+  transform: rotate(300deg);
+  opacity: 0.4375;
+}
+.u-loading-icon__dot.data-v-00752c6d:nth-of-type(11) {
+  transform: rotate(330deg);
+  opacity: 0.375;
+}
+.u-loading-icon__dot.data-v-00752c6d:nth-of-type(12) {
+  transform: rotate(360deg);
+  opacity: 0.3125;
+}
+@keyframes u-rotate-00752c6d {
+0% {
+    transform: rotate(0deg);
+}
+to {
+    transform: rotate(1turn);
+}
+}

+ 96 - 0
dist/dev/mp-weixin/node-modules/uview-plus/components/u-loadmore/u-loadmore.js

@@ -0,0 +1,96 @@
+"use strict";
+const common_vendor = require("../../../../common/vendor.js");
+const _sfc_main = {
+  name: "u-loadmore",
+  mixins: [common_vendor.mpMixin, common_vendor.mixin, common_vendor.props$6],
+  data() {
+    return {
+      // 粗点
+      dotText: "●"
+    };
+  },
+  computed: {
+    // 加载的文字显示的样式
+    loadTextStyle() {
+      return {
+        color: this.color,
+        fontSize: common_vendor.index.$u.addUnit(this.fontSize),
+        lineHeight: common_vendor.index.$u.addUnit(this.fontSize),
+        backgroundColor: this.bgColor
+      };
+    },
+    // 显示的提示文字
+    showText() {
+      let text = "";
+      if (this.status == "loadmore")
+        text = this.loadmoreText;
+      else if (this.status == "loading")
+        text = this.loadingText;
+      else if (this.status == "nomore" && this.isDot)
+        text = this.dotText;
+      else
+        text = this.nomoreText;
+      return text;
+    }
+  },
+  methods: {
+    loadMore() {
+      if (this.status == "loadmore")
+        this.$emit("loadmore");
+    }
+  }
+};
+if (!Array) {
+  const _easycom_u_line2 = common_vendor.resolveComponent("u-line");
+  const _easycom_u_loading_icon2 = common_vendor.resolveComponent("u-loading-icon");
+  (_easycom_u_line2 + _easycom_u_loading_icon2)();
+}
+const _easycom_u_line = () => "../u-line/u-line.js";
+const _easycom_u_loading_icon = () => "../u-loading-icon/u-loading-icon.js";
+if (!Math) {
+  (_easycom_u_line + _easycom_u_loading_icon)();
+}
+function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
+  return common_vendor.e({
+    a: _ctx.line
+  }, _ctx.line ? {
+    b: common_vendor.p({
+      length: "140rpx",
+      color: _ctx.lineColor,
+      hairline: false,
+      dashed: _ctx.dashed
+    })
+  } : {}, {
+    c: _ctx.status === "loading" && _ctx.icon
+  }, _ctx.status === "loading" && _ctx.icon ? {
+    d: common_vendor.p({
+      color: _ctx.iconColor,
+      size: _ctx.iconSize,
+      mode: _ctx.loadingIcon
+    })
+  } : {}, {
+    e: common_vendor.t($options.showText),
+    f: common_vendor.s($options.loadTextStyle),
+    g: common_vendor.n(_ctx.status == "nomore" && _ctx.isDot == true ? "u-loadmore__content__dot-text" : "u-loadmore__content__text"),
+    h: common_vendor.o((...args) => $options.loadMore && $options.loadMore(...args)),
+    i: common_vendor.n(_ctx.status == "loadmore" || _ctx.status == "nomore" ? "u-more" : ""),
+    j: _ctx.line
+  }, _ctx.line ? {
+    k: common_vendor.p({
+      length: "140rpx",
+      color: _ctx.lineColor,
+      hairline: false,
+      dashed: _ctx.dashed
+    })
+  } : {}, {
+    l: common_vendor.s(_ctx.$u.addStyle(_ctx.customStyle)),
+    m: common_vendor.s({
+      backgroundColor: _ctx.bgColor,
+      marginBottom: _ctx.$u.addUnit(_ctx.marginBottom),
+      marginTop: _ctx.$u.addUnit(_ctx.marginTop),
+      height: _ctx.$u.addUnit(_ctx.height)
+    })
+  });
+}
+const Component = /* @__PURE__ */ common_vendor._export_sfc(_sfc_main, [["render", _sfc_render], ["__scopeId", "data-v-5817e4cf"], ["__file", "F:/兴元/开门柜项目/平台端管理系统小程序/node_modules/uview-plus/components/u-loadmore/u-loadmore.vue"]]);
+wx.createComponent(Component);

+ 7 - 0
dist/dev/mp-weixin/node-modules/uview-plus/components/u-loadmore/u-loadmore.json

@@ -0,0 +1,7 @@
+{
+  "component": true,
+  "usingComponents": {
+    "u-line": "../u-line/u-line",
+    "u-loading-icon": "../u-loading-icon/u-loading-icon"
+  }
+}

+ 1 - 0
dist/dev/mp-weixin/node-modules/uview-plus/components/u-loadmore/u-loadmore.wxml

@@ -0,0 +1 @@
+<view class="u-loadmore data-v-5817e4cf" style="{{l + ';' + m}}"><u-line wx:if="{{a}}" class="data-v-5817e4cf" u-i="5817e4cf-0" bind:__l="__l" u-p="{{b}}"></u-line><view class="{{[i, 'u-loadmore__content', 'data-v-5817e4cf']}}"><view wx:if="{{c}}" class="u-loadmore__content__icon-wrap data-v-5817e4cf"><u-loading-icon wx:if="{{d}}" class="data-v-5817e4cf" u-i="5817e4cf-1" bind:__l="__l" u-p="{{d}}"></u-loading-icon></view><text style="{{f}}" class="{{['u-line-1', 'data-v-5817e4cf', g]}}" bindtap="{{h}}">{{e}}</text></view><u-line wx:if="{{j}}" class="data-v-5817e4cf" u-i="5817e4cf-2" bind:__l="__l" u-p="{{k}}"></u-line></view>

+ 63 - 0
dist/dev/mp-weixin/node-modules/uview-plus/components/u-loadmore/u-loadmore.wxss

@@ -0,0 +1,63 @@
+/**
+ * 这里是uni-app内置的常用样式变量
+ *
+ * uni-app 官方扩展插件及插件市场(https://ext.dcloud.net.cn)上很多三方插件均使用了这些样式变量
+ * 如果你是插件开发者,建议你使用scss预处理,并在插件代码中直接使用这些变量(无需 import 这个文件),方便用户通过搭积木的方式开发整体风格一致的App
+ *
+ */
+/**
+ * 如果你是App开发者(插件使用者),你可以通过修改这些变量来定制自己的插件主题,实现自定义主题功能
+ *
+ * 如果你的项目同样使用了scss预处理,你也可以直接在你的 scss 代码中使用如下变量,同时无需 import 这个文件
+ */
+/* 颜色变量 */
+/* 行为相关颜色 */
+/* 文字基本颜色 */
+/* 背景颜色 */
+/* 边框颜色 */
+/* 尺寸变量 */
+/* 文字尺寸 */
+/* 图片尺寸 */
+/* Border Radius */
+/* 水平间距 */
+/* 垂直间距 */
+/* 透明度 */
+/* 文章场景相关 */
+view.data-v-5817e4cf, scroll-view.data-v-5817e4cf, swiper-item.data-v-5817e4cf {
+  display: flex;
+  flex-direction: column;
+  flex-shrink: 0;
+  flex-grow: 0;
+  flex-basis: auto;
+  align-items: stretch;
+  align-content: flex-start;
+}
+.u-loadmore.data-v-5817e4cf {
+
+  display: flex;
+
+  flex-direction: row;
+  align-items: center;
+  justify-content: center;
+  flex: 1;
+}
+.u-loadmore__content.data-v-5817e4cf {
+  margin: 0 15px;
+
+  display: flex;
+
+  flex-direction: row;
+  align-items: center;
+  justify-content: center;
+}
+.u-loadmore__content__icon-wrap.data-v-5817e4cf {
+  margin-right: 8px;
+}
+.u-loadmore__content__text.data-v-5817e4cf {
+  font-size: 14px;
+  color: #606266;
+}
+.u-loadmore__content__dot-text.data-v-5817e4cf {
+  font-size: 15px;
+  color: #909193;
+}

+ 86 - 0
dist/dev/mp-weixin/node-modules/uview-plus/components/u-navbar/u-navbar.js

@@ -0,0 +1,86 @@
+"use strict";
+const common_vendor = require("../../../../common/vendor.js");
+const _sfc_main = {
+  name: "u-navbar",
+  mixins: [common_vendor.mpMixin, common_vendor.mixin, common_vendor.props$4],
+  data() {
+    return {};
+  },
+  methods: {
+    // 点击左侧区域
+    leftClick() {
+      this.$emit("leftClick");
+      if (this.autoBack) {
+        common_vendor.index.navigateBack();
+      }
+    },
+    // 点击右侧区域
+    rightClick() {
+      this.$emit("rightClick");
+    }
+  }
+};
+if (!Array) {
+  const _easycom_u_status_bar2 = common_vendor.resolveComponent("u-status-bar");
+  const _easycom_u_icon2 = common_vendor.resolveComponent("u-icon");
+  (_easycom_u_status_bar2 + _easycom_u_icon2)();
+}
+const _easycom_u_status_bar = () => "../u-status-bar/u-status-bar.js";
+const _easycom_u_icon = () => "../u-icon/u-icon.js";
+if (!Math) {
+  (_easycom_u_status_bar + _easycom_u_icon)();
+}
+function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
+  return common_vendor.e({
+    a: _ctx.fixed && _ctx.placeholder
+  }, _ctx.fixed && _ctx.placeholder ? {
+    b: _ctx.$u.addUnit(_ctx.$u.getPx(_ctx.height) + _ctx.$u.sys().statusBarHeight, "px")
+  } : {}, {
+    c: _ctx.safeAreaInsetTop
+  }, _ctx.safeAreaInsetTop ? {
+    d: common_vendor.p({
+      bgColor: _ctx.bgColor
+    })
+  } : {}, {
+    e: _ctx.leftIcon
+  }, _ctx.leftIcon ? {
+    f: common_vendor.p({
+      name: _ctx.leftIcon,
+      size: _ctx.leftIconSize,
+      color: _ctx.leftIconColor
+    })
+  } : {}, {
+    g: _ctx.leftText
+  }, _ctx.leftText ? {
+    h: common_vendor.t(_ctx.leftText),
+    i: _ctx.leftIconColor
+  } : {}, {
+    j: common_vendor.o((...args) => $options.leftClick && $options.leftClick(...args)),
+    k: common_vendor.t(_ctx.title),
+    l: common_vendor.s({
+      width: _ctx.$u.addUnit(_ctx.titleWidth)
+    }),
+    m: common_vendor.s(_ctx.$u.addStyle(_ctx.titleStyle)),
+    n: _ctx.$slots.right || _ctx.rightIcon || _ctx.rightText
+  }, _ctx.$slots.right || _ctx.rightIcon || _ctx.rightText ? common_vendor.e({
+    o: _ctx.rightIcon
+  }, _ctx.rightIcon ? {
+    p: common_vendor.p({
+      name: _ctx.rightIcon,
+      size: "20"
+    })
+  } : {}, {
+    q: _ctx.rightText
+  }, _ctx.rightText ? {
+    r: common_vendor.t(_ctx.rightText)
+  } : {}, {
+    s: common_vendor.o((...args) => $options.rightClick && $options.rightClick(...args))
+  }) : {}, {
+    t: common_vendor.n(_ctx.border && "u-border-bottom"),
+    v: _ctx.$u.addUnit(_ctx.height),
+    w: _ctx.bgColor,
+    x: common_vendor.n(_ctx.fixed && "u-navbar--fixed")
+  });
+}
+const Component = /* @__PURE__ */ common_vendor._export_sfc(_sfc_main, [["render", _sfc_render], ["__scopeId", "data-v-9d9e7ee2"], ["__file", "F:/兴元/开门柜项目/平台端管理系统小程序/node_modules/uview-plus/components/u-navbar/u-navbar.vue"]]);
+wx.createComponent(Component);

+ 7 - 0
dist/dev/mp-weixin/node-modules/uview-plus/components/u-navbar/u-navbar.json

@@ -0,0 +1,7 @@
+{
+  "component": true,
+  "usingComponents": {
+    "u-status-bar": "../u-status-bar/u-status-bar",
+    "u-icon": "../u-icon/u-icon"
+  }
+}

+ 1 - 0
dist/dev/mp-weixin/node-modules/uview-plus/components/u-navbar/u-navbar.wxml

@@ -0,0 +1 @@
+<view class="u-navbar data-v-9d9e7ee2"><view wx:if="{{a}}" class="u-navbar__placeholder data-v-9d9e7ee2" style="{{'height:' + b}}"></view><view class="{{['data-v-9d9e7ee2', x]}}"><u-status-bar wx:if="{{c}}" class="data-v-9d9e7ee2" u-i="9d9e7ee2-0" bind:__l="__l" u-p="{{d}}"></u-status-bar><view class="{{['u-navbar__content', 'data-v-9d9e7ee2', t]}}" style="{{'height:' + v + ';' + ('background-color:' + w)}}"><view class="u-navbar__content__left data-v-9d9e7ee2" hover-class="u-navbar__content__left--hover" hover-start-time="150" bindtap="{{j}}"><block wx:if="{{$slots.left}}"><slot name="left"></slot></block><block wx:else><u-icon wx:if="{{e}}" class="data-v-9d9e7ee2" u-i="9d9e7ee2-1" bind:__l="__l" u-p="{{f}}"></u-icon><text wx:if="{{g}}" style="{{'color:' + i}}" class="u-navbar__content__left__text data-v-9d9e7ee2">{{h}}</text></block></view><block wx:if="{{$slots.center}}"><slot name="center"></slot></block><block wx:else><text class="u-line-1 u-navbar__content__title data-v-9d9e7ee2" style="{{l + ';' + m}}">{{k}}</text></block><view wx:if="{{n}}" class="u-navbar__content__right data-v-9d9e7ee2" bindtap="{{s}}"><block wx:if="{{$slots.right}}"><slot name="right"></slot></block><block wx:else><u-icon wx:if="{{o}}" class="data-v-9d9e7ee2" u-i="9d9e7ee2-2" bind:__l="__l" u-p="{{p}}"></u-icon><text wx:if="{{q}}" class="u-navbar__content__right__text data-v-9d9e7ee2">{{r}}</text></block></view></view></view></view>

+ 85 - 0
dist/dev/mp-weixin/node-modules/uview-plus/components/u-navbar/u-navbar.wxss

@@ -0,0 +1,85 @@
+/**
+ * 这里是uni-app内置的常用样式变量
+ *
+ * uni-app 官方扩展插件及插件市场(https://ext.dcloud.net.cn)上很多三方插件均使用了这些样式变量
+ * 如果你是插件开发者,建议你使用scss预处理,并在插件代码中直接使用这些变量(无需 import 这个文件),方便用户通过搭积木的方式开发整体风格一致的App
+ *
+ */
+/**
+ * 如果你是App开发者(插件使用者),你可以通过修改这些变量来定制自己的插件主题,实现自定义主题功能
+ *
+ * 如果你的项目同样使用了scss预处理,你也可以直接在你的 scss 代码中使用如下变量,同时无需 import 这个文件
+ */
+/* 颜色变量 */
+/* 行为相关颜色 */
+/* 文字基本颜色 */
+/* 背景颜色 */
+/* 边框颜色 */
+/* 尺寸变量 */
+/* 文字尺寸 */
+/* 图片尺寸 */
+/* Border Radius */
+/* 水平间距 */
+/* 垂直间距 */
+/* 透明度 */
+/* 文章场景相关 */
+view.data-v-9d9e7ee2, scroll-view.data-v-9d9e7ee2, swiper-item.data-v-9d9e7ee2 {
+  display: flex;
+  flex-direction: column;
+  flex-shrink: 0;
+  flex-grow: 0;
+  flex-basis: auto;
+  align-items: stretch;
+  align-content: flex-start;
+}
+.u-navbar--fixed.data-v-9d9e7ee2 {
+  position: fixed;
+  left: 0;
+  right: 0;
+  top: 0;
+  z-index: 11;
+}
+.u-navbar__content.data-v-9d9e7ee2 {
+
+  display: flex;
+
+  flex-direction: row;
+  align-items: center;
+  height: 44px;
+  background-color: #9acafc;
+  position: relative;
+  justify-content: center;
+}
+.u-navbar__content__left.data-v-9d9e7ee2, .u-navbar__content__right.data-v-9d9e7ee2 {
+  padding: 0 13px;
+  position: absolute;
+  top: 0;
+  bottom: 0;
+
+  display: flex;
+
+  flex-direction: row;
+  align-items: center;
+}
+.u-navbar__content__left.data-v-9d9e7ee2 {
+  left: 0;
+}
+.u-navbar__content__left--hover.data-v-9d9e7ee2 {
+  opacity: 0.7;
+}
+.u-navbar__content__left__text.data-v-9d9e7ee2 {
+  font-size: 15px;
+  margin-left: 3px;
+}
+.u-navbar__content__title.data-v-9d9e7ee2 {
+  text-align: center;
+  font-size: 16px;
+  color: #303133;
+}
+.u-navbar__content__right.data-v-9d9e7ee2 {
+  right: 0;
+}
+.u-navbar__content__right__text.data-v-9d9e7ee2 {
+  font-size: 15px;
+  margin-left: 3px;
+}

+ 277 - 0
dist/dev/mp-weixin/node-modules/uview-plus/components/u-number-box/u-number-box.js

@@ -0,0 +1,277 @@
+"use strict";
+const common_vendor = require("../../../../common/vendor.js");
+const _sfc_main = {
+  name: "u-number-box",
+  mixins: [common_vendor.mpMixin, common_vendor.mixin, common_vendor.props$19],
+  data() {
+    return {
+      // 输入框实际操作的值
+      currentValue: "",
+      // 定时器
+      longPressTimer: null
+    };
+  },
+  watch: {
+    // 多个值之间,只要一个值发生变化,都要重新检查check()函数
+    watchChange(n) {
+      this.check();
+    },
+    // 监听v-mode的变化,重新初始化内部的值
+    modelValue(n) {
+      if (n !== this.currentValue) {
+        this.currentValue = this.format(this.modelValue);
+      }
+    }
+  },
+  computed: {
+    getCursorSpacing() {
+      return common_vendor.index.$u.getPx(this.cursorSpacing);
+    },
+    // 按钮的样式
+    buttonStyle() {
+      return (type) => {
+        const style = {
+          backgroundColor: this.bgColor,
+          height: common_vendor.index.$u.addUnit(this.buttonSize),
+          color: this.color
+        };
+        if (this.isDisabled(type)) {
+          style.backgroundColor = "#f7f8fa";
+        }
+        return style;
+      };
+    },
+    // 输入框的样式
+    inputStyle() {
+      this.disabled || this.disabledInput;
+      const style = {
+        color: this.color,
+        backgroundColor: this.bgColor,
+        height: common_vendor.index.$u.addUnit(this.buttonSize),
+        width: common_vendor.index.$u.addUnit(this.inputWidth)
+      };
+      return style;
+    },
+    // 用于监听多个值发生变化
+    watchChange() {
+      return [this.integer, this.decimalLength, this.min, this.max];
+    },
+    isDisabled() {
+      return (type) => {
+        if (type === "plus") {
+          return this.disabled || this.disablePlus || this.currentValue >= this.max;
+        }
+        return this.disabled || this.disableMinus || this.currentValue <= this.min;
+      };
+    }
+  },
+  mounted() {
+    this.init();
+  },
+  emits: ["update:modelValue", "focus", "blur", "overlimit", "change", "plus", "minus"],
+  methods: {
+    init() {
+      this.currentValue = this.format(this.modelValue);
+    },
+    // 格式化整理数据,限制范围
+    format(value) {
+      value = this.filter(value);
+      value = value === "" ? 0 : +value;
+      value = Math.max(Math.min(this.max, value), this.min);
+      if (this.decimalLength !== null) {
+        value = value.toFixed(this.decimalLength);
+      }
+      return value;
+    },
+    // 过滤非法的字符
+    filter(value) {
+      value = String(value).replace(/[^0-9.-]/g, "");
+      if (this.integer && value.indexOf(".") !== -1) {
+        value = value.split(".")[0];
+      }
+      return value;
+    },
+    check() {
+      const val = this.format(this.currentValue);
+      if (val !== this.currentValue) {
+        this.currentValue = val;
+      }
+    },
+    // 判断是否出于禁止操作状态
+    // isDisabled(type) {
+    // 	if (type === 'plus') {
+    // 		// 在点击增加按钮情况下,判断整体的disabled,是否单独禁用增加按钮,以及当前值是否大于最大的允许值
+    // 		return (
+    // 			this.disabled ||
+    // 			this.disablePlus ||
+    // 			this.currentValue >= this.max
+    // 		)
+    // 	}
+    // 	// 点击减少按钮同理
+    // 	return (
+    // 		this.disabled ||
+    // 		this.disableMinus ||
+    // 		this.currentValue <= this.min
+    // 	)
+    // },
+    // 输入框活动焦点
+    onFocus(event) {
+      this.$emit("focus", {
+        ...event.detail,
+        name: this.name
+      });
+    },
+    // 输入框失去焦点
+    onBlur(event) {
+      this.format(event.detail.value);
+      this.$emit(
+        "blur",
+        {
+          ...event.detail,
+          name: this.name
+        }
+      );
+    },
+    // 输入框值发生变化
+    onInput(e) {
+      const {
+        value = ""
+      } = e.detail || {};
+      if (value === "")
+        return;
+      let formatted = this.filter(value);
+      if (this.decimalLength !== null && formatted.indexOf(".") !== -1) {
+        const pair = formatted.split(".");
+        formatted = `${pair[0]}.${pair[1].slice(0, this.decimalLength)}`;
+      }
+      formatted = this.format(formatted);
+      this.emitChange(formatted);
+    },
+    // 发出change事件
+    emitChange(value) {
+      if (!this.asyncChange) {
+        this.$nextTick(() => {
+          this.$emit("update:modelValue", value);
+          this.currentValue = value;
+          this.$forceUpdate();
+        });
+      }
+      this.$emit("change", {
+        value,
+        name: this.name
+      });
+    },
+    onChange() {
+      const {
+        type
+      } = this;
+      if (this.isDisabled(type)) {
+        return this.$emit("overlimit", type);
+      }
+      const diff = type === "minus" ? -this.step : +this.step;
+      const value = this.format(this.add(+this.currentValue, diff));
+      this.emitChange(value);
+      this.$emit(type);
+    },
+    // 对值扩大后进行四舍五入,再除以扩大因子,避免出现浮点数操作的精度问题
+    add(num1, num2) {
+      const cardinal = Math.pow(10, 10);
+      return Math.round((num1 + num2) * cardinal) / cardinal;
+    },
+    // 点击加减按钮
+    clickHandler(type) {
+      this.type = type;
+      this.onChange();
+    },
+    longPressStep() {
+      this.clearTimeout();
+      this.longPressTimer = setTimeout(() => {
+        this.onChange();
+        this.longPressStep();
+      }, 250);
+    },
+    onTouchStart(type) {
+      if (!this.longPress)
+        return;
+      this.clearTimeout();
+      this.type = type;
+      this.longPressTimer = setTimeout(() => {
+        this.onChange();
+        this.longPressStep();
+      }, 600);
+    },
+    // 触摸结束,清除定时器,停止长按加减
+    onTouchEnd() {
+      if (!this.longPress)
+        return;
+      this.clearTimeout();
+    },
+    // 清除定时器
+    clearTimeout() {
+      clearTimeout(this.longPressTimer);
+      this.longPressTimer = null;
+    }
+  }
+};
+if (!Array) {
+  const _easycom_u_icon2 = common_vendor.resolveComponent("u-icon");
+  _easycom_u_icon2();
+}
+const _easycom_u_icon = () => "../u-icon/u-icon.js";
+if (!Math) {
+  _easycom_u_icon();
+}
+function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
+  return common_vendor.e({
+    a: _ctx.showMinus && _ctx.$slots.minus
+  }, _ctx.showMinus && _ctx.$slots.minus ? {
+    b: common_vendor.o(($event) => $options.clickHandler("minus")),
+    c: common_vendor.o(($event) => $options.onTouchStart("minus")),
+    d: common_vendor.o((...args) => $options.clearTimeout && $options.clearTimeout(...args))
+  } : _ctx.showMinus ? {
+    f: common_vendor.p({
+      name: "minus",
+      color: $options.isDisabled("minus") ? "#c8c9cc" : "#323233",
+      size: "15",
+      bold: true,
+      customStyle: _ctx.iconStyle
+    }),
+    g: common_vendor.o(($event) => $options.clickHandler("minus")),
+    h: common_vendor.o(($event) => $options.onTouchStart("minus")),
+    i: common_vendor.o((...args) => $options.clearTimeout && $options.clearTimeout(...args)),
+    j: $options.isDisabled("minus") ? 1 : "",
+    k: common_vendor.s($options.buttonStyle("minus"))
+  } : {}, {
+    e: _ctx.showMinus,
+    l: _ctx.disabledInput || _ctx.disabled,
+    m: $options.getCursorSpacing,
+    n: _ctx.disabled || _ctx.disabledInput ? 1 : "",
+    o: common_vendor.o((...args) => $options.onBlur && $options.onBlur(...args)),
+    p: common_vendor.o((...args) => $options.onFocus && $options.onFocus(...args)),
+    q: common_vendor.o([($event) => $data.currentValue = $event.detail.value, (...args) => $options.onInput && $options.onInput(...args)]),
+    r: common_vendor.s($options.inputStyle),
+    s: $data.currentValue,
+    t: _ctx.showPlus && _ctx.$slots.plus
+  }, _ctx.showPlus && _ctx.$slots.plus ? {
+    v: common_vendor.o(($event) => $options.clickHandler("plus")),
+    w: common_vendor.o(($event) => $options.onTouchStart("plus")),
+    x: common_vendor.o((...args) => $options.clearTimeout && $options.clearTimeout(...args))
+  } : _ctx.showPlus ? {
+    z: common_vendor.p({
+      name: "plus",
+      color: $options.isDisabled("plus") ? "#c8c9cc" : "#323233",
+      size: "15",
+      bold: true,
+      customStyle: _ctx.iconStyle
+    }),
+    A: common_vendor.o(($event) => $options.clickHandler("plus")),
+    B: common_vendor.o(($event) => $options.onTouchStart("plus")),
+    C: common_vendor.o((...args) => $options.clearTimeout && $options.clearTimeout(...args)),
+    D: $options.isDisabled("plus") ? 1 : "",
+    E: common_vendor.s($options.buttonStyle("plus"))
+  } : {}, {
+    y: _ctx.showPlus
+  });
+}
+const Component = /* @__PURE__ */ common_vendor._export_sfc(_sfc_main, [["render", _sfc_render], ["__scopeId", "data-v-a83780b3"], ["__file", "F:/兴元/开门柜项目/平台端管理系统小程序/node_modules/uview-plus/components/u-number-box/u-number-box.vue"]]);
+wx.createComponent(Component);

+ 6 - 0
dist/dev/mp-weixin/node-modules/uview-plus/components/u-number-box/u-number-box.json

@@ -0,0 +1,6 @@
+{
+  "component": true,
+  "usingComponents": {
+    "u-icon": "../u-icon/u-icon"
+  }
+}

+ 1 - 0
dist/dev/mp-weixin/node-modules/uview-plus/components/u-number-box/u-number-box.wxml

@@ -0,0 +1 @@
+<view class="u-number-box data-v-a83780b3"><view wx:if="{{a}}" class="u-number-box__slot data-v-a83780b3" catchtap="{{b}}" bindtouchstart="{{c}}" catchtouchend="{{d}}"><slot name="minus"/></view><view wx:elif="{{e}}" catchtap="{{g}}" bindtouchstart="{{h}}" catchtouchend="{{i}}" hover-class="u-number-box__minus--hover" hover-stay-time="150" class="{{['u-number-box__minus', 'data-v-a83780b3', j && 'u-number-box__minus--disabled']}}" style="{{k}}"><u-icon wx:if="{{f}}" class="data-v-a83780b3" u-i="a83780b3-0" bind:__l="__l" u-p="{{f}}"></u-icon></view><block wx:if="{{$slots.input}}"><slot name="input"></slot></block><block wx:else><input disabled="{{l}}" cursor-spacing="{{m}}" class="{{[n && 'u-number-box__input--disabled', 'u-number-box__input', 'data-v-a83780b3']}}" bindblur="{{o}}" bindfocus="{{p}}" bindinput="{{q}}" type="number" style="{{r}}" value="{{s}}"/></block><view wx:if="{{t}}" class="u-number-box__slot data-v-a83780b3" catchtap="{{v}}" bindtouchstart="{{w}}" catchtouchend="{{x}}"><slot name="plus"/></view><view wx:elif="{{y}}" catchtap="{{A}}" bindtouchstart="{{B}}" catchtouchend="{{C}}" hover-class="u-number-box__plus--hover" hover-stay-time="150" class="{{['u-number-box__plus', 'data-v-a83780b3', D && 'u-number-box__minus--disabled']}}" style="{{E}}"><u-icon wx:if="{{z}}" class="data-v-a83780b3" u-i="a83780b3-1" bind:__l="__l" u-p="{{z}}"></u-icon></view></view>

+ 86 - 0
dist/dev/mp-weixin/node-modules/uview-plus/components/u-number-box/u-number-box.wxss

@@ -0,0 +1,86 @@
+/**
+ * 这里是uni-app内置的常用样式变量
+ *
+ * uni-app 官方扩展插件及插件市场(https://ext.dcloud.net.cn)上很多三方插件均使用了这些样式变量
+ * 如果你是插件开发者,建议你使用scss预处理,并在插件代码中直接使用这些变量(无需 import 这个文件),方便用户通过搭积木的方式开发整体风格一致的App
+ *
+ */
+/**
+ * 如果你是App开发者(插件使用者),你可以通过修改这些变量来定制自己的插件主题,实现自定义主题功能
+ *
+ * 如果你的项目同样使用了scss预处理,你也可以直接在你的 scss 代码中使用如下变量,同时无需 import 这个文件
+ */
+/* 颜色变量 */
+/* 行为相关颜色 */
+/* 文字基本颜色 */
+/* 背景颜色 */
+/* 边框颜色 */
+/* 尺寸变量 */
+/* 文字尺寸 */
+/* 图片尺寸 */
+/* Border Radius */
+/* 水平间距 */
+/* 垂直间距 */
+/* 透明度 */
+/* 文章场景相关 */
+view.data-v-a83780b3, scroll-view.data-v-a83780b3, swiper-item.data-v-a83780b3 {
+  display: flex;
+  flex-direction: column;
+  flex-shrink: 0;
+  flex-grow: 0;
+  flex-basis: auto;
+  align-items: stretch;
+  align-content: flex-start;
+}
+.u-number-box.data-v-a83780b3 {
+
+  display: flex;
+
+  flex-direction: row;
+  align-items: center;
+}
+.u-number-box__slot.data-v-a83780b3 {
+  touch-action: none;
+}
+.u-number-box__plus.data-v-a83780b3, .u-number-box__minus.data-v-a83780b3 {
+  width: 35px;
+
+  display: flex;
+
+  flex-direction: row;
+  justify-content: center;
+  align-items: center;
+  touch-action: none;
+}
+.u-number-box__plus--hover.data-v-a83780b3, .u-number-box__minus--hover.data-v-a83780b3 {
+  background-color: #E6E6E6 !important;
+}
+.u-number-box__plus--disabled.data-v-a83780b3, .u-number-box__minus--disabled.data-v-a83780b3 {
+  color: #c8c9cc;
+  background-color: #f7f8fa;
+}
+.u-number-box__plus.data-v-a83780b3 {
+  border-top-right-radius: 4px;
+  border-bottom-right-radius: 4px;
+}
+.u-number-box__minus.data-v-a83780b3 {
+  border-top-left-radius: 4px;
+  border-bottom-left-radius: 4px;
+}
+.u-number-box__input.data-v-a83780b3 {
+  position: relative;
+  text-align: center;
+  font-size: 15px;
+  padding: 0;
+  margin: 0 2px;
+
+  display: flex;
+
+  flex-direction: row;
+  align-items: center;
+  justify-content: center;
+}
+.u-number-box__input--disabled.data-v-a83780b3 {
+  color: #c8c9cc;
+  background-color: #f2f3f5;
+}

+ 46 - 0
dist/dev/mp-weixin/node-modules/uview-plus/components/u-overlay/u-overlay.js

@@ -0,0 +1,46 @@
+"use strict";
+const common_vendor = require("../../../../common/vendor.js");
+const _sfc_main = {
+  name: "u-overlay",
+  mixins: [common_vendor.mpMixin, common_vendor.mixin, common_vendor.props$29],
+  computed: {
+    overlayStyle() {
+      const style = {
+        position: "fixed",
+        top: 0,
+        left: 0,
+        right: 0,
+        zIndex: this.zIndex,
+        bottom: 0,
+        "background-color": `rgba(0, 0, 0, ${this.opacity})`
+      };
+      return common_vendor.index.$u.deepMerge(style, common_vendor.index.$u.addStyle(this.customStyle));
+    }
+  },
+  methods: {
+    clickHandler() {
+      this.$emit("click");
+    }
+  }
+};
+if (!Array) {
+  const _easycom_u_transition2 = common_vendor.resolveComponent("u-transition");
+  _easycom_u_transition2();
+}
+const _easycom_u_transition = () => "../u-transition/u-transition.js";
+if (!Math) {
+  _easycom_u_transition();
+}
+function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
+  return {
+    a: common_vendor.o($options.clickHandler),
+    b: common_vendor.p({
+      show: _ctx.show,
+      ["custom-class"]: "u-overlay",
+      duration: _ctx.duration,
+      ["custom-style"]: $options.overlayStyle
+    })
+  };
+}
+const Component = /* @__PURE__ */ common_vendor._export_sfc(_sfc_main, [["render", _sfc_render], ["__scopeId", "data-v-35f7c3e5"], ["__file", "F:/兴元/开门柜项目/平台端管理系统小程序/node_modules/uview-plus/components/u-overlay/u-overlay.vue"]]);
+wx.createComponent(Component);

+ 6 - 0
dist/dev/mp-weixin/node-modules/uview-plus/components/u-overlay/u-overlay.json

@@ -0,0 +1,6 @@
+{
+  "component": true,
+  "usingComponents": {
+    "u-transition": "../u-transition/u-transition"
+  }
+}

+ 1 - 0
dist/dev/mp-weixin/node-modules/uview-plus/components/u-overlay/u-overlay.wxml

@@ -0,0 +1 @@
+<u-transition wx:if="{{b}}" class="data-v-35f7c3e5" u-s="{{['d']}}" bindclick="{{a}}" u-i="35f7c3e5-0" bind:__l="__l" u-p="{{b}}"><slot/></u-transition>

+ 42 - 0
dist/dev/mp-weixin/node-modules/uview-plus/components/u-overlay/u-overlay.wxss

@@ -0,0 +1,42 @@
+/**
+ * 这里是uni-app内置的常用样式变量
+ *
+ * uni-app 官方扩展插件及插件市场(https://ext.dcloud.net.cn)上很多三方插件均使用了这些样式变量
+ * 如果你是插件开发者,建议你使用scss预处理,并在插件代码中直接使用这些变量(无需 import 这个文件),方便用户通过搭积木的方式开发整体风格一致的App
+ *
+ */
+/**
+ * 如果你是App开发者(插件使用者),你可以通过修改这些变量来定制自己的插件主题,实现自定义主题功能
+ *
+ * 如果你的项目同样使用了scss预处理,你也可以直接在你的 scss 代码中使用如下变量,同时无需 import 这个文件
+ */
+/* 颜色变量 */
+/* 行为相关颜色 */
+/* 文字基本颜色 */
+/* 背景颜色 */
+/* 边框颜色 */
+/* 尺寸变量 */
+/* 文字尺寸 */
+/* 图片尺寸 */
+/* Border Radius */
+/* 水平间距 */
+/* 垂直间距 */
+/* 透明度 */
+/* 文章场景相关 */
+view.data-v-35f7c3e5, scroll-view.data-v-35f7c3e5, swiper-item.data-v-35f7c3e5 {
+  display: flex;
+  flex-direction: column;
+  flex-shrink: 0;
+  flex-grow: 0;
+  flex-basis: auto;
+  align-items: stretch;
+  align-content: flex-start;
+}
+.u-overlay.data-v-35f7c3e5 {
+  position: fixed;
+  top: 0;
+  left: 0;
+  width: 100%;
+  height: 100%;
+  background-color: rgba(0, 0, 0, 0.7);
+}

+ 201 - 0
dist/dev/mp-weixin/node-modules/uview-plus/components/u-picker/u-picker.js

@@ -0,0 +1,201 @@
+"use strict";
+const common_vendor = require("../../../../common/vendor.js");
+const _sfc_main = {
+  name: "u-picker",
+  mixins: [common_vendor.mpMixin, common_vendor.mixin, common_vendor.props$20],
+  data() {
+    return {
+      // 上一次选择的列索引
+      lastIndex: [],
+      // 索引值 ,对应picker-view的value
+      innerIndex: [],
+      // 各列的值
+      innerColumns: [],
+      // 上一次的变化列索引
+      columnIndex: 0
+    };
+  },
+  watch: {
+    // 监听默认索引的变化,重新设置对应的值
+    defaultIndex: {
+      immediate: true,
+      handler(n) {
+        this.setIndexs(n, true);
+      }
+    },
+    // 监听columns参数的变化
+    columns: {
+      immediate: true,
+      deep: true,
+      handler(n) {
+        this.setColumns(n);
+      }
+    }
+  },
+  emits: ["close", "cancel", "confirm", "change"],
+  methods: {
+    // 获取item需要显示的文字,判别为对象还是文本
+    getItemText(item) {
+      if (common_vendor.index.$u.test.object(item)) {
+        return item[this.keyName];
+      } else {
+        return item;
+      }
+    },
+    // 关闭选择器
+    closeHandler() {
+      if (this.closeOnClickOverlay) {
+        this.$emit("close");
+      }
+    },
+    // 点击工具栏的取消按钮
+    cancel() {
+      this.$emit("cancel");
+    },
+    // 点击工具栏的确定按钮
+    confirm() {
+      this.$emit("confirm", {
+        indexs: this.innerIndex,
+        value: this.innerColumns.map((item, index) => item[this.innerIndex[index]]),
+        values: this.innerColumns
+      });
+    },
+    // 选择器某一列的数据发生变化时触发
+    changeHandler(e) {
+      const {
+        value
+      } = e.detail;
+      let index = 0, columnIndex = 0;
+      for (let i = 0; i < value.length; i++) {
+        let item = value[i];
+        if (item !== (this.lastIndex[i] || 0)) {
+          columnIndex = i;
+          index = item;
+          break;
+        }
+      }
+      this.columnIndex = columnIndex;
+      const values = this.innerColumns;
+      this.setLastIndex(value);
+      this.setIndexs(value);
+      this.$emit("change", {
+        value: this.innerColumns.map((item, index2) => item[value[index2]]),
+        index,
+        indexs: value,
+        // values为当前变化列的数组内容
+        values,
+        columnIndex
+      });
+    },
+    // 设置index索引,此方法可被外部调用设置
+    setIndexs(index, setLastIndex) {
+      this.innerIndex = common_vendor.index.$u.deepClone(index);
+      if (setLastIndex) {
+        this.setLastIndex(index);
+      }
+    },
+    // 记录上一次的各列索引位置
+    setLastIndex(index) {
+      this.lastIndex = common_vendor.index.$u.deepClone(index);
+    },
+    // 设置对应列选项的所有值
+    setColumnValues(columnIndex, values) {
+      this.innerColumns.splice(columnIndex, 1, values);
+      let tmpIndex = common_vendor.index.$u.deepClone(this.innerIndex);
+      for (let i = 0; i < this.innerColumns.length; i++) {
+        if (i > this.columnIndex) {
+          tmpIndex[i] = 0;
+        }
+      }
+      this.setIndexs(tmpIndex);
+    },
+    // 获取对应列的所有选项
+    getColumnValues(columnIndex) {
+      (async () => {
+        await common_vendor.index.$u.sleep();
+      })();
+      return this.innerColumns[columnIndex];
+    },
+    // 设置整体各列的columns的值
+    setColumns(columns) {
+      console.log(columns);
+      this.innerColumns = common_vendor.index.$u.deepClone(columns);
+      if (this.innerIndex.length === 0) {
+        this.innerIndex = new Array(columns.length).fill(0);
+      }
+    },
+    // 获取各列选中值对应的索引
+    getIndexs() {
+      return this.innerIndex;
+    },
+    // 获取各列选中的值
+    getValues() {
+      (async () => {
+        await common_vendor.index.$u.sleep();
+      })();
+      return this.innerColumns.map((item, index) => item[this.innerIndex[index]]);
+    }
+  }
+};
+if (!Array) {
+  const _easycom_u_toolbar2 = common_vendor.resolveComponent("u-toolbar");
+  const _easycom_u_loading_icon2 = common_vendor.resolveComponent("u-loading-icon");
+  const _easycom_u_popup2 = common_vendor.resolveComponent("u-popup");
+  (_easycom_u_toolbar2 + _easycom_u_loading_icon2 + _easycom_u_popup2)();
+}
+const _easycom_u_toolbar = () => "../u-toolbar/u-toolbar.js";
+const _easycom_u_loading_icon = () => "../u-loading-icon/u-loading-icon.js";
+const _easycom_u_popup = () => "../u-popup/u-popup.js";
+if (!Math) {
+  (_easycom_u_toolbar + _easycom_u_loading_icon + _easycom_u_popup)();
+}
+function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
+  return common_vendor.e({
+    a: _ctx.showToolbar
+  }, _ctx.showToolbar ? {
+    b: common_vendor.o($options.cancel),
+    c: common_vendor.o($options.confirm),
+    d: common_vendor.p({
+      cancelColor: _ctx.cancelColor,
+      confirmColor: _ctx.confirmColor,
+      cancelText: _ctx.cancelText,
+      confirmText: _ctx.confirmText,
+      title: _ctx.title
+    })
+  } : {}, {
+    e: common_vendor.f($data.innerColumns, (item, index, i0) => {
+      return common_vendor.e({
+        a: _ctx.$u.test.array(item)
+      }, _ctx.$u.test.array(item) ? {
+        b: common_vendor.f(item, (item1, index1, i1) => {
+          return {
+            a: common_vendor.t($options.getItemText(item1)),
+            b: index1,
+            c: index1 === $data.innerIndex[index] ? "bold" : "normal"
+          };
+        }),
+        c: _ctx.$u.addUnit(_ctx.itemHeight),
+        d: _ctx.$u.addUnit(_ctx.itemHeight)
+      } : {}, {
+        e: index
+      });
+    }),
+    f: `height: ${_ctx.$u.addUnit(_ctx.itemHeight)}`,
+    g: $data.innerIndex,
+    h: _ctx.immediateChange,
+    i: `${_ctx.$u.addUnit(_ctx.visibleItemCount * _ctx.itemHeight)}`,
+    j: common_vendor.o((...args) => $options.changeHandler && $options.changeHandler(...args)),
+    k: _ctx.loading
+  }, _ctx.loading ? {
+    l: common_vendor.p({
+      mode: "circle"
+    })
+  } : {}, {
+    m: common_vendor.o($options.closeHandler),
+    n: common_vendor.p({
+      show: _ctx.show
+    })
+  });
+}
+const Component = /* @__PURE__ */ common_vendor._export_sfc(_sfc_main, [["render", _sfc_render], ["__scopeId", "data-v-1500ce68"], ["__file", "F:/兴元/开门柜项目/平台端管理系统小程序/node_modules/uview-plus/components/u-picker/u-picker.vue"]]);
+wx.createComponent(Component);

+ 8 - 0
dist/dev/mp-weixin/node-modules/uview-plus/components/u-picker/u-picker.json

@@ -0,0 +1,8 @@
+{
+  "component": true,
+  "usingComponents": {
+    "u-toolbar": "../u-toolbar/u-toolbar",
+    "u-loading-icon": "../u-loading-icon/u-loading-icon",
+    "u-popup": "../u-popup/u-popup"
+  }
+}

+ 1 - 0
dist/dev/mp-weixin/node-modules/uview-plus/components/u-picker/u-picker.wxml

@@ -0,0 +1 @@
+<u-popup wx:if="{{n}}" class="data-v-1500ce68" u-s="{{['d']}}" bindclose="{{m}}" u-i="1500ce68-0" bind:__l="__l" u-p="{{n}}"><view class="u-picker data-v-1500ce68"><u-toolbar wx:if="{{a}}" class="data-v-1500ce68" bindcancel="{{b}}" bindconfirm="{{c}}" u-i="1500ce68-1,1500ce68-0" bind:__l="__l" u-p="{{d}}"></u-toolbar><picker-view class="u-picker__view data-v-1500ce68" indicatorStyle="{{f}}" value="{{g}}" immediateChange="{{h}}" style="{{'height:' + i}}" bindchange="{{j}}"><picker-view-column wx:for="{{e}}" wx:for-item="item" wx:key="e" class="u-picker__view__column data-v-1500ce68"><block wx:if="{{item.a}}"><text wx:for="{{item.b}}" wx:for-item="item1" wx:key="b" class="u-picker__view__column__item u-line-1 data-v-1500ce68" style="{{'height:' + item.c + ';' + ('line-height:' + item.d) + ';' + ('font-weight:' + item1.c)}}">{{item1.a}}</text></block></picker-view-column></picker-view><view wx:if="{{k}}" class="u-picker--loading data-v-1500ce68"><u-loading-icon wx:if="{{l}}" class="data-v-1500ce68" u-i="1500ce68-2,1500ce68-0" bind:__l="__l" u-p="{{l}}"></u-loading-icon></view></view></u-popup>

Některé soubory nejsou zobrazeny, neboť je v těchto rozdílových datech změněno mnoho souborů