From ebf95587133f0ea858d5be6abbdd5182a9bee4f5 Mon Sep 17 00:00:00 2001 From: zhouyanli <593579392@qq.com> Date: Mon, 20 Apr 2026 10:29:06 +0800 Subject: [PATCH] first commit --- wuye-manager-uniapp/.gitignore | 4 + wuye-manager-uniapp/App.vue | 17 + wuye-manager-uniapp/index.html | 20 + wuye-manager-uniapp/main.js | 22 + wuye-manager-uniapp/manifest.json | 72 ++ wuye-manager-uniapp/pages.json | 70 ++ wuye-manager-uniapp/pages/index/index.vue | 26 + wuye-manager-uniapp/pages/my/my.vue | 22 + .../pages/notice-list/notice-list.vue | 153 +++ .../pages/notice-list/select-community.vue | 530 ++++++++ wuye-manager-uniapp/static/bannar1.png | Bin 0 -> 423324 bytes wuye-manager-uniapp/static/bannar2.png | Bin 0 -> 273026 bytes wuye-manager-uniapp/static/imgs/index-lan.png | Bin 0 -> 924 bytes wuye-manager-uniapp/static/imgs/index.png | Bin 0 -> 1330 bytes wuye-manager-uniapp/static/imgs/my-lan.png | Bin 0 -> 1341 bytes wuye-manager-uniapp/static/imgs/my.png | Bin 0 -> 1969 bytes wuye-manager-uniapp/static/logo.png | Bin 0 -> 4023 bytes .../static/tabbar/工作台灰.png | Bin 0 -> 5417 bytes .../static/tabbar/工作台蓝.png | Bin 0 -> 5611 bytes wuye-manager-uniapp/static/tabbar/我的灰.png | Bin 0 -> 9175 bytes wuye-manager-uniapp/static/tabbar/我的蓝.png | Bin 0 -> 9040 bytes wuye-manager-uniapp/static/一键开门.png | Bin 0 -> 3575 bytes wuye-manager-uniapp/static/一键开门1.png | Bin 0 -> 32339 bytes wuye-manager-uniapp/static/在线保修.png | Bin 0 -> 13984 bytes wuye-manager-uniapp/static/地点.png | Bin 0 -> 5861 bytes wuye-manager-uniapp/static/工单大厅.png | Bin 0 -> 34677 bytes wuye-manager-uniapp/static/投诉处理.png | Bin 0 -> 31355 bytes wuye-manager-uniapp/static/缴费工单.png | Bin 0 -> 33442 bytes wuye-manager-uniapp/uni.promisify.adaptor.js | 13 + wuye-manager-uniapp/uni.scss | 76 ++ .../uni_modules/uni-badge/changelog.md | 33 + .../components/uni-badge/uni-badge.vue | 268 +++++ .../uni_modules/uni-badge/package.json | 85 ++ .../uni_modules/uni-badge/readme.md | 10 + .../uni_modules/uni-calendar/changelog.md | 30 + .../components/uni-calendar/calendar.js | 544 +++++++++ .../components/uni-calendar/i18n/en.json | 12 + .../components/uni-calendar/i18n/index.js | 8 + .../components/uni-calendar/i18n/zh-Hans.json | 12 + .../components/uni-calendar/i18n/zh-Hant.json | 12 + .../uni-calendar/uni-calendar-item.vue | 187 +++ .../components/uni-calendar/uni-calendar.vue | 567 +++++++++ .../components/uni-calendar/util.js | 360 ++++++ .../uni_modules/uni-calendar/package.json | 86 ++ .../uni_modules/uni-calendar/readme.md | 103 ++ .../uni_modules/uni-card/changelog.md | 26 + .../uni-card/components/uni-card/uni-card.vue | 270 +++++ .../uni_modules/uni-card/package.json | 90 ++ .../uni_modules/uni-card/readme.md | 12 + .../uni_modules/uni-collapse/changelog.md | 48 + .../uni-collapse-item/uni-collapse-item.vue | 402 +++++++ .../components/uni-collapse/uni-collapse.vue | 147 +++ .../uni_modules/uni-collapse/package.json | 106 ++ .../uni_modules/uni-collapse/readme.md | 12 + .../uni_modules/uni-combox/changelog.md | 17 + .../components/uni-combox/uni-combox.vue | 284 +++++ .../uni_modules/uni-combox/package.json | 88 ++ .../uni_modules/uni-combox/readme.md | 11 + .../uni_modules/uni-countdown/changelog.md | 30 + .../components/uni-countdown/i18n/en.json | 6 + .../components/uni-countdown/i18n/index.js | 8 + .../uni-countdown/i18n/zh-Hans.json | 6 + .../uni-countdown/i18n/zh-Hant.json | 6 + .../uni-countdown/uni-countdown.vue | 278 +++++ .../uni_modules/uni-countdown/package.json | 86 ++ .../uni_modules/uni-countdown/readme.md | 10 + .../uni-data-checkbox/changelog.md | 51 + .../components/uni-data-checkbox/clientdb.js | 316 +++++ .../uni-data-checkbox/uni-data-checkbox.vue | 853 +++++++++++++ .../uni-data-checkbox/package.json | 87 ++ .../uni_modules/uni-data-checkbox/readme.md | 18 + .../uni_modules/uni-data-picker/changelog.md | 79 ++ .../components/uni-data-picker/keypress.js | 45 + .../uni-data-picker/uni-data-picker.uvue | 380 ++++++ .../uni-data-picker/uni-data-picker.vue | 560 +++++++++ .../uni-data-pickerview/loading.uts | 1 + .../uni-data-pickerview/uni-data-picker.js | 622 ++++++++++ .../uni-data-pickerview/uni-data-picker.uts | 693 +++++++++++ .../uni-data-pickerview.css | 76 ++ .../uni-data-pickerview.uvue | 69 ++ .../uni-data-pickerview.vue | 323 +++++ .../uni_modules/uni-data-picker/package.json | 93 ++ .../uni_modules/uni-data-picker/readme.md | 22 + .../uni_modules/uni-data-select/changelog.md | 51 + .../uni-data-select/uni-data-select.vue | 837 +++++++++++++ .../uni_modules/uni-data-select/package.json | 106 ++ .../uni_modules/uni-data-select/readme.md | 8 + .../uni_modules/uni-dateformat/changelog.md | 10 + .../components/uni-dateformat/date-format.js | 200 +++ .../uni-dateformat/uni-dateformat.vue | 88 ++ .../uni_modules/uni-dateformat/package.json | 88 ++ .../uni_modules/uni-dateformat/readme.md | 11 + .../uni-datetime-picker/changelog.md | 173 +++ .../uni-datetime-picker/calendar-item.vue | 177 +++ .../uni-datetime-picker/calendar.vue | 947 +++++++++++++++ .../uni-datetime-picker/i18n/en.json | 22 + .../uni-datetime-picker/i18n/index.js | 8 + .../uni-datetime-picker/i18n/zh-Hans.json | 22 + .../uni-datetime-picker/i18n/zh-Hant.json | 22 + .../uni-datetime-picker/time-picker.vue | 940 +++++++++++++++ .../uni-datetime-picker.vue | 1068 +++++++++++++++++ .../components/uni-datetime-picker/util.js | 421 +++++++ .../uni-datetime-picker/package.json | 107 ++ .../uni_modules/uni-datetime-picker/readme.md | 21 + .../uni_modules/uni-drawer/changelog.md | 13 + .../components/uni-drawer/keypress.js | 45 + .../components/uni-drawer/uni-drawer.vue | 183 +++ .../uni_modules/uni-drawer/package.json | 87 ++ .../uni_modules/uni-drawer/readme.md | 10 + .../uni_modules/uni-easyinput/changelog.md | 121 ++ .../components/uni-easyinput/common.js | 54 + .../uni-easyinput/uni-easyinput.vue | 662 ++++++++++ .../uni_modules/uni-easyinput/package.json | 107 ++ .../uni_modules/uni-easyinput/readme.md | 11 + .../uni_modules/uni-fab/changelog.md | 25 + .../uni-fab/components/uni-fab/uni-fab.vue | 491 ++++++++ .../uni_modules/uni-fab/package.json | 85 ++ .../uni_modules/uni-fab/readme.md | 9 + .../uni_modules/uni-fav/changelog.md | 19 + .../uni-fav/components/uni-fav/i18n/en.json | 4 + .../uni-fav/components/uni-fav/i18n/index.js | 8 + .../components/uni-fav/i18n/zh-Hans.json | 4 + .../components/uni-fav/i18n/zh-Hant.json | 4 + .../uni-fav/components/uni-fav/uni-fav.vue | 161 +++ .../uni_modules/uni-fav/package.json | 89 ++ .../uni_modules/uni-fav/readme.md | 10 + .../uni_modules/uni-file-picker/changelog.md | 91 ++ .../uni-file-picker/choose-and-upload-file.js | 287 +++++ .../uni-file-picker/uni-file-picker.vue | 680 +++++++++++ .../uni-file-picker/upload-file.vue | 323 +++++ .../uni-file-picker/upload-image.vue | 285 +++++ .../components/uni-file-picker/utils.js | 110 ++ .../uni_modules/uni-file-picker/package.json | 105 ++ .../uni_modules/uni-file-picker/readme.md | 10 + .../uni_modules/uni-forms/changelog.md | 100 ++ .../uni-forms-item/uni-forms-item.vue | 632 ++++++++++ .../components/uni-forms/uni-forms.vue | 404 +++++++ .../uni-forms/components/uni-forms/utils.js | 293 +++++ .../components/uni-forms/validate.js | 486 ++++++++ .../uni_modules/uni-forms/package.json | 89 ++ .../uni_modules/uni-forms/readme.md | 23 + .../uni_modules/uni-goods-nav/changelog.md | 18 + .../components/uni-goods-nav/i18n/en.json | 6 + .../components/uni-goods-nav/i18n/index.js | 8 + .../uni-goods-nav/i18n/zh-Hans.json | 6 + .../uni-goods-nav/i18n/zh-Hant.json | 6 + .../uni-goods-nav/uni-goods-nav.vue | 229 ++++ .../uni_modules/uni-goods-nav/package.json | 88 ++ .../uni_modules/uni-goods-nav/readme.md | 10 + .../uni_modules/uni-grid/changelog.md | 13 + .../uni-grid-item/uni-grid-item.vue | 127 ++ .../uni-grid/components/uni-grid/uni-grid.vue | 142 +++ .../uni_modules/uni-grid/package.json | 86 ++ .../uni_modules/uni-grid/readme.md | 11 + .../uni_modules/uni-group/changelog.md | 16 + .../components/uni-group/uni-group.vue | 134 +++ .../uni_modules/uni-group/package.json | 87 ++ .../uni_modules/uni-group/readme.md | 9 + .../uni_modules/uni-icons/changelog.md | 44 + .../components/uni-icons/uni-icons.uvue | 91 ++ .../components/uni-icons/uni-icons.vue | 110 ++ .../components/uni-icons/uniicons.css | 664 ++++++++++ .../components/uni-icons/uniicons.ttf | Bin 0 -> 35824 bytes .../components/uni-icons/uniicons_file.ts | 664 ++++++++++ .../components/uni-icons/uniicons_file_vue.js | 649 ++++++++++ .../uni_modules/uni-icons/package.json | 111 ++ .../uni_modules/uni-icons/readme.md | 8 + .../uni_modules/uni-indexed-list/changelog.md | 19 + .../uni-indexed-list-item.vue | 144 +++ .../uni-indexed-list/uni-indexed-list.vue | 376 ++++++ .../uni_modules/uni-indexed-list/package.json | 107 ++ .../uni_modules/uni-indexed-list/readme.md | 10 + .../uni_modules/uni-link/changelog.md | 17 + .../uni-link/components/uni-link/uni-link.vue | 128 ++ .../uni_modules/uni-link/package.json | 87 ++ .../uni_modules/uni-link/readme.md | 11 + .../uni_modules/uni-list/changelog.md | 52 + .../components/uni-list-ad/uni-list-ad.vue | 107 ++ .../uni-list-chat/uni-list-chat.scss | 58 + .../uni-list-chat/uni-list-chat.vue | 593 +++++++++ .../uni-list-item/uni-list-item.vue | 542 +++++++++ .../uni-list/components/uni-list/uni-list.vue | 123 ++ .../components/uni-list/uni-refresh.vue | 65 + .../components/uni-list/uni-refresh.wxs | 87 ++ .../uni_modules/uni-list/package.json | 108 ++ .../uni_modules/uni-list/readme.md | 46 + .../uni_modules/uni-load-more/changelog.md | 23 + .../components/uni-load-more/i18n/en.json | 5 + .../components/uni-load-more/i18n/index.js | 8 + .../uni-load-more/i18n/zh-Hans.json | 5 + .../uni-load-more/i18n/zh-Hant.json | 5 + .../uni-load-more/uni-load-more.vue | 404 +++++++ .../uni_modules/uni-load-more/package.json | 105 ++ .../uni_modules/uni-load-more/readme.md | 14 + .../uni_modules/uni-nav-bar/changelog.md | 60 + .../components/uni-nav-bar/uni-nav-bar.vue | 383 ++++++ .../components/uni-nav-bar/uni-status-bar.vue | 30 + .../uni_modules/uni-nav-bar/package.json | 106 ++ .../uni_modules/uni-nav-bar/readme.md | 15 + .../uni_modules/uni-notice-bar/changelog.md | 22 + .../uni-notice-bar/uni-notice-bar.vue | 423 +++++++ .../uni_modules/uni-notice-bar/package.json | 90 ++ .../uni_modules/uni-notice-bar/readme.md | 13 + .../uni_modules/uni-number-box/changelog.md | 39 + .../uni-number-box/uni-number-box.vue | 232 ++++ .../uni_modules/uni-number-box/package.json | 83 ++ .../uni_modules/uni-number-box/readme.md | 13 + .../uni_modules/uni-pagination/changelog.md | 27 + .../components/uni-pagination/i18n/en.json | 5 + .../components/uni-pagination/i18n/es.json | 5 + .../components/uni-pagination/i18n/fr.json | 5 + .../components/uni-pagination/i18n/index.js | 12 + .../uni-pagination/i18n/zh-Hans.json | 5 + .../uni-pagination/i18n/zh-Hant.json | 5 + .../uni-pagination/uni-pagination.vue | 465 +++++++ .../uni_modules/uni-pagination/package.json | 83 ++ .../uni_modules/uni-pagination/readme.md | 11 + .../uni_modules/uni-popup/changelog.md | 104 ++ .../components/uni-popup-dialog/keypress.js | 45 + .../uni-popup-dialog/uni-popup-dialog.vue | 330 +++++ .../uni-popup-message/uni-popup-message.vue | 143 +++ .../uni-popup-share/uni-popup-share.vue | 188 +++ .../components/uni-popup/i18n/en.json | 7 + .../components/uni-popup/i18n/index.js | 8 + .../components/uni-popup/i18n/zh-Hans.json | 7 + .../components/uni-popup/i18n/zh-Hant.json | 7 + .../components/uni-popup/keypress.js | 45 + .../uni-popup/components/uni-popup/popup.js | 26 + .../components/uni-popup/uni-popup.uvue | 90 ++ .../components/uni-popup/uni-popup.vue | 518 ++++++++ .../uni_modules/uni-popup/package.json | 108 ++ .../uni_modules/uni-popup/readme.md | 15 + .../uni_modules/uni-rate/changelog.md | 27 + .../uni-rate/components/uni-rate/uni-rate.vue | 371 ++++++ .../uni_modules/uni-rate/package.json | 106 ++ .../uni_modules/uni-rate/readme.md | 11 + .../uni_modules/uni-row/changelog.md | 10 + .../uni-row/components/uni-col/uni-col.vue | 317 +++++ .../uni-row/components/uni-row/uni-row.vue | 190 +++ .../uni_modules/uni-row/package.json | 87 ++ .../uni_modules/uni-row/readme.md | 10 + .../uni_modules/uni-scss/changelog.md | 8 + .../uni_modules/uni-scss/index.scss | 1 + .../uni_modules/uni-scss/package.json | 82 ++ .../uni_modules/uni-scss/readme.md | 4 + .../uni_modules/uni-scss/styles/index.scss | 7 + .../uni-scss/styles/setting/_border.scss | 3 + .../uni-scss/styles/setting/_color.scss | 66 + .../uni-scss/styles/setting/_radius.scss | 55 + .../uni-scss/styles/setting/_space.scss | 56 + .../uni-scss/styles/setting/_styles.scss | 167 +++ .../uni-scss/styles/setting/_text.scss | 24 + .../uni-scss/styles/setting/_variables.scss | 146 +++ .../uni-scss/styles/tools/functions.scss | 19 + .../uni_modules/uni-scss/theme.scss | 31 + .../uni_modules/uni-scss/variables.scss | 62 + .../uni_modules/uni-search-bar/changelog.md | 47 + .../components/uni-search-bar/i18n/en.json | 4 + .../components/uni-search-bar/i18n/index.js | 8 + .../uni-search-bar/i18n/zh-Hans.json | 4 + .../uni-search-bar/i18n/zh-Hant.json | 4 + .../uni-search-bar/uni-search-bar.vue | 309 +++++ .../uni_modules/uni-search-bar/package.json | 87 ++ .../uni_modules/uni-search-bar/readme.md | 14 + .../uni_modules/uni-section/changelog.md | 2 + .../components/uni-section/uni-section.vue | 167 +++ .../uni_modules/uni-section/package.json | 87 ++ .../uni_modules/uni-section/readme.md | 8 + .../uni-segmented-control/changelog.md | 15 + .../uni-segmented-control.vue | 146 +++ .../uni-segmented-control/package.json | 85 ++ .../uni-segmented-control/readme.md | 13 + .../uni_modules/uni-steps/changelog.md | 18 + .../components/uni-steps/uni-steps.vue | 280 +++++ .../uni_modules/uni-steps/package.json | 87 ++ .../uni_modules/uni-steps/readme.md | 13 + .../uni_modules/uni-swipe-action/changelog.md | 60 + .../uni-swipe-action-item/bindingx.js | 302 +++++ .../components/uni-swipe-action-item/isPC.js | 22 + .../uni-swipe-action-item/mpalipay.js | 195 +++ .../uni-swipe-action-item/mpother.js | 260 ++++ .../components/uni-swipe-action-item/mpwxs.js | 84 ++ .../uni-swipe-action-item/render.js | 277 +++++ .../uni-swipe-action-item.vue | 354 ++++++ .../components/uni-swipe-action-item/wx.wxs | 346 ++++++ .../uni-swipe-action/uni-swipe-action.vue | 60 + .../uni_modules/uni-swipe-action/package.json | 113 ++ .../uni_modules/uni-swipe-action/readme.md | 10 + .../uni_modules/uni-swiper-dot/changelog.md | 12 + .../uni-swiper-dot/uni-swiper-dot.vue | 218 ++++ .../uni_modules/uni-swiper-dot/package.json | 87 ++ .../uni_modules/uni-swiper-dot/readme.md | 11 + .../uni_modules/uni-table/changelog.md | 35 + .../components/uni-table/uni-table.vue | 460 +++++++ .../components/uni-tbody/uni-tbody.vue | 34 + .../uni-table/components/uni-td/uni-td.vue | 95 ++ .../components/uni-th/filter-dropdown.vue | 511 ++++++++ .../uni-table/components/uni-th/uni-th.vue | 295 +++++ .../components/uni-thead/uni-thead.vue | 137 +++ .../components/uni-tr/table-checkbox.vue | 179 +++ .../uni-table/components/uni-tr/uni-tr.vue | 184 +++ .../uni_modules/uni-table/i18n/en.json | 9 + .../uni_modules/uni-table/i18n/es.json | 9 + .../uni_modules/uni-table/i18n/fr.json | 9 + .../uni_modules/uni-table/i18n/index.js | 12 + .../uni_modules/uni-table/i18n/zh-Hans.json | 9 + .../uni_modules/uni-table/i18n/zh-Hant.json | 9 + .../uni_modules/uni-table/package.json | 86 ++ .../uni_modules/uni-table/readme.md | 13 + .../uni_modules/uni-tag/changelog.md | 25 + .../uni-tag/components/uni-tag/uni-tag.vue | 255 ++++ .../uni_modules/uni-tag/package.json | 106 ++ .../uni_modules/uni-tag/readme.md | 13 + .../uni_modules/uni-title/changelog.md | 10 + .../components/uni-title/uni-title.vue | 171 +++ .../uni_modules/uni-title/package.json | 88 ++ .../uni_modules/uni-title/readme.md | 14 + .../uni_modules/uni-tooltip/changelog.md | 16 + .../components/uni-tooltip/uni-tooltip.vue | 108 ++ .../uni_modules/uni-tooltip/package.json | 86 ++ .../uni_modules/uni-tooltip/readme.md | 8 + .../uni_modules/uni-transition/changelog.md | 31 + .../uni-transition/createAnimation.js | 131 ++ .../uni-transition/uni-transition.vue | 292 +++++ .../uni_modules/uni-transition/package.json | 112 ++ .../uni_modules/uni-transition/readme.md | 11 + .../uni_modules/uni-ui/changelog.md | 661 ++++++++++ .../uni-ui/components/uni-ui/uni-ui.vue | 7 + .../uni_modules/uni-ui/package.json | 149 +++ .../uni_modules/uni-ui/readme.md | 247 ++++ 330 files changed, 41675 insertions(+) create mode 100644 wuye-manager-uniapp/.gitignore create mode 100644 wuye-manager-uniapp/App.vue create mode 100644 wuye-manager-uniapp/index.html create mode 100644 wuye-manager-uniapp/main.js create mode 100644 wuye-manager-uniapp/manifest.json create mode 100644 wuye-manager-uniapp/pages.json create mode 100644 wuye-manager-uniapp/pages/index/index.vue create mode 100644 wuye-manager-uniapp/pages/my/my.vue create mode 100644 wuye-manager-uniapp/pages/notice-list/notice-list.vue create mode 100644 wuye-manager-uniapp/pages/notice-list/select-community.vue create mode 100644 wuye-manager-uniapp/static/bannar1.png create mode 100644 wuye-manager-uniapp/static/bannar2.png create mode 100644 wuye-manager-uniapp/static/imgs/index-lan.png create mode 100644 wuye-manager-uniapp/static/imgs/index.png create mode 100644 wuye-manager-uniapp/static/imgs/my-lan.png create mode 100644 wuye-manager-uniapp/static/imgs/my.png create mode 100644 wuye-manager-uniapp/static/logo.png create mode 100644 wuye-manager-uniapp/static/tabbar/工作台灰.png create mode 100644 wuye-manager-uniapp/static/tabbar/工作台蓝.png create mode 100644 wuye-manager-uniapp/static/tabbar/我的灰.png create mode 100644 wuye-manager-uniapp/static/tabbar/我的蓝.png create mode 100644 wuye-manager-uniapp/static/一键开门.png create mode 100644 wuye-manager-uniapp/static/一键开门1.png create mode 100644 wuye-manager-uniapp/static/在线保修.png create mode 100644 wuye-manager-uniapp/static/地点.png create mode 100644 wuye-manager-uniapp/static/工单大厅.png create mode 100644 wuye-manager-uniapp/static/投诉处理.png create mode 100644 wuye-manager-uniapp/static/缴费工单.png create mode 100644 wuye-manager-uniapp/uni.promisify.adaptor.js create mode 100644 wuye-manager-uniapp/uni.scss create mode 100644 wuye-manager-uniapp/uni_modules/uni-badge/changelog.md create mode 100644 wuye-manager-uniapp/uni_modules/uni-badge/components/uni-badge/uni-badge.vue create mode 100644 wuye-manager-uniapp/uni_modules/uni-badge/package.json create mode 100644 wuye-manager-uniapp/uni_modules/uni-badge/readme.md create mode 100644 wuye-manager-uniapp/uni_modules/uni-calendar/changelog.md create mode 100644 wuye-manager-uniapp/uni_modules/uni-calendar/components/uni-calendar/calendar.js create mode 100644 wuye-manager-uniapp/uni_modules/uni-calendar/components/uni-calendar/i18n/en.json create mode 100644 wuye-manager-uniapp/uni_modules/uni-calendar/components/uni-calendar/i18n/index.js create mode 100644 wuye-manager-uniapp/uni_modules/uni-calendar/components/uni-calendar/i18n/zh-Hans.json create mode 100644 wuye-manager-uniapp/uni_modules/uni-calendar/components/uni-calendar/i18n/zh-Hant.json create mode 100644 wuye-manager-uniapp/uni_modules/uni-calendar/components/uni-calendar/uni-calendar-item.vue create mode 100644 wuye-manager-uniapp/uni_modules/uni-calendar/components/uni-calendar/uni-calendar.vue create mode 100644 wuye-manager-uniapp/uni_modules/uni-calendar/components/uni-calendar/util.js create mode 100644 wuye-manager-uniapp/uni_modules/uni-calendar/package.json create mode 100644 wuye-manager-uniapp/uni_modules/uni-calendar/readme.md create mode 100644 wuye-manager-uniapp/uni_modules/uni-card/changelog.md create mode 100644 wuye-manager-uniapp/uni_modules/uni-card/components/uni-card/uni-card.vue create mode 100644 wuye-manager-uniapp/uni_modules/uni-card/package.json create mode 100644 wuye-manager-uniapp/uni_modules/uni-card/readme.md create mode 100644 wuye-manager-uniapp/uni_modules/uni-collapse/changelog.md create mode 100644 wuye-manager-uniapp/uni_modules/uni-collapse/components/uni-collapse-item/uni-collapse-item.vue create mode 100644 wuye-manager-uniapp/uni_modules/uni-collapse/components/uni-collapse/uni-collapse.vue create mode 100644 wuye-manager-uniapp/uni_modules/uni-collapse/package.json create mode 100644 wuye-manager-uniapp/uni_modules/uni-collapse/readme.md create mode 100644 wuye-manager-uniapp/uni_modules/uni-combox/changelog.md create mode 100644 wuye-manager-uniapp/uni_modules/uni-combox/components/uni-combox/uni-combox.vue create mode 100644 wuye-manager-uniapp/uni_modules/uni-combox/package.json create mode 100644 wuye-manager-uniapp/uni_modules/uni-combox/readme.md create mode 100644 wuye-manager-uniapp/uni_modules/uni-countdown/changelog.md create mode 100644 wuye-manager-uniapp/uni_modules/uni-countdown/components/uni-countdown/i18n/en.json create mode 100644 wuye-manager-uniapp/uni_modules/uni-countdown/components/uni-countdown/i18n/index.js create mode 100644 wuye-manager-uniapp/uni_modules/uni-countdown/components/uni-countdown/i18n/zh-Hans.json create mode 100644 wuye-manager-uniapp/uni_modules/uni-countdown/components/uni-countdown/i18n/zh-Hant.json create mode 100644 wuye-manager-uniapp/uni_modules/uni-countdown/components/uni-countdown/uni-countdown.vue create mode 100644 wuye-manager-uniapp/uni_modules/uni-countdown/package.json create mode 100644 wuye-manager-uniapp/uni_modules/uni-countdown/readme.md create mode 100644 wuye-manager-uniapp/uni_modules/uni-data-checkbox/changelog.md create mode 100644 wuye-manager-uniapp/uni_modules/uni-data-checkbox/components/uni-data-checkbox/clientdb.js create mode 100644 wuye-manager-uniapp/uni_modules/uni-data-checkbox/components/uni-data-checkbox/uni-data-checkbox.vue create mode 100644 wuye-manager-uniapp/uni_modules/uni-data-checkbox/package.json create mode 100644 wuye-manager-uniapp/uni_modules/uni-data-checkbox/readme.md create mode 100644 wuye-manager-uniapp/uni_modules/uni-data-picker/changelog.md create mode 100644 wuye-manager-uniapp/uni_modules/uni-data-picker/components/uni-data-picker/keypress.js create mode 100644 wuye-manager-uniapp/uni_modules/uni-data-picker/components/uni-data-picker/uni-data-picker.uvue create mode 100644 wuye-manager-uniapp/uni_modules/uni-data-picker/components/uni-data-picker/uni-data-picker.vue create mode 100644 wuye-manager-uniapp/uni_modules/uni-data-picker/components/uni-data-pickerview/loading.uts create mode 100644 wuye-manager-uniapp/uni_modules/uni-data-picker/components/uni-data-pickerview/uni-data-picker.js create mode 100644 wuye-manager-uniapp/uni_modules/uni-data-picker/components/uni-data-pickerview/uni-data-picker.uts create mode 100644 wuye-manager-uniapp/uni_modules/uni-data-picker/components/uni-data-pickerview/uni-data-pickerview.css create mode 100644 wuye-manager-uniapp/uni_modules/uni-data-picker/components/uni-data-pickerview/uni-data-pickerview.uvue create mode 100644 wuye-manager-uniapp/uni_modules/uni-data-picker/components/uni-data-pickerview/uni-data-pickerview.vue create mode 100644 wuye-manager-uniapp/uni_modules/uni-data-picker/package.json create mode 100644 wuye-manager-uniapp/uni_modules/uni-data-picker/readme.md create mode 100644 wuye-manager-uniapp/uni_modules/uni-data-select/changelog.md create mode 100644 wuye-manager-uniapp/uni_modules/uni-data-select/components/uni-data-select/uni-data-select.vue create mode 100644 wuye-manager-uniapp/uni_modules/uni-data-select/package.json create mode 100644 wuye-manager-uniapp/uni_modules/uni-data-select/readme.md create mode 100644 wuye-manager-uniapp/uni_modules/uni-dateformat/changelog.md create mode 100644 wuye-manager-uniapp/uni_modules/uni-dateformat/components/uni-dateformat/date-format.js create mode 100644 wuye-manager-uniapp/uni_modules/uni-dateformat/components/uni-dateformat/uni-dateformat.vue create mode 100644 wuye-manager-uniapp/uni_modules/uni-dateformat/package.json create mode 100644 wuye-manager-uniapp/uni_modules/uni-dateformat/readme.md create mode 100644 wuye-manager-uniapp/uni_modules/uni-datetime-picker/changelog.md create mode 100644 wuye-manager-uniapp/uni_modules/uni-datetime-picker/components/uni-datetime-picker/calendar-item.vue create mode 100644 wuye-manager-uniapp/uni_modules/uni-datetime-picker/components/uni-datetime-picker/calendar.vue create mode 100644 wuye-manager-uniapp/uni_modules/uni-datetime-picker/components/uni-datetime-picker/i18n/en.json create mode 100644 wuye-manager-uniapp/uni_modules/uni-datetime-picker/components/uni-datetime-picker/i18n/index.js create mode 100644 wuye-manager-uniapp/uni_modules/uni-datetime-picker/components/uni-datetime-picker/i18n/zh-Hans.json create mode 100644 wuye-manager-uniapp/uni_modules/uni-datetime-picker/components/uni-datetime-picker/i18n/zh-Hant.json create mode 100644 wuye-manager-uniapp/uni_modules/uni-datetime-picker/components/uni-datetime-picker/time-picker.vue create mode 100644 wuye-manager-uniapp/uni_modules/uni-datetime-picker/components/uni-datetime-picker/uni-datetime-picker.vue create mode 100644 wuye-manager-uniapp/uni_modules/uni-datetime-picker/components/uni-datetime-picker/util.js create mode 100644 wuye-manager-uniapp/uni_modules/uni-datetime-picker/package.json create mode 100644 wuye-manager-uniapp/uni_modules/uni-datetime-picker/readme.md create mode 100644 wuye-manager-uniapp/uni_modules/uni-drawer/changelog.md create mode 100644 wuye-manager-uniapp/uni_modules/uni-drawer/components/uni-drawer/keypress.js create mode 100644 wuye-manager-uniapp/uni_modules/uni-drawer/components/uni-drawer/uni-drawer.vue create mode 100644 wuye-manager-uniapp/uni_modules/uni-drawer/package.json create mode 100644 wuye-manager-uniapp/uni_modules/uni-drawer/readme.md create mode 100644 wuye-manager-uniapp/uni_modules/uni-easyinput/changelog.md create mode 100644 wuye-manager-uniapp/uni_modules/uni-easyinput/components/uni-easyinput/common.js create mode 100644 wuye-manager-uniapp/uni_modules/uni-easyinput/components/uni-easyinput/uni-easyinput.vue create mode 100644 wuye-manager-uniapp/uni_modules/uni-easyinput/package.json create mode 100644 wuye-manager-uniapp/uni_modules/uni-easyinput/readme.md create mode 100644 wuye-manager-uniapp/uni_modules/uni-fab/changelog.md create mode 100644 wuye-manager-uniapp/uni_modules/uni-fab/components/uni-fab/uni-fab.vue create mode 100644 wuye-manager-uniapp/uni_modules/uni-fab/package.json create mode 100644 wuye-manager-uniapp/uni_modules/uni-fab/readme.md create mode 100644 wuye-manager-uniapp/uni_modules/uni-fav/changelog.md create mode 100644 wuye-manager-uniapp/uni_modules/uni-fav/components/uni-fav/i18n/en.json create mode 100644 wuye-manager-uniapp/uni_modules/uni-fav/components/uni-fav/i18n/index.js create mode 100644 wuye-manager-uniapp/uni_modules/uni-fav/components/uni-fav/i18n/zh-Hans.json create mode 100644 wuye-manager-uniapp/uni_modules/uni-fav/components/uni-fav/i18n/zh-Hant.json create mode 100644 wuye-manager-uniapp/uni_modules/uni-fav/components/uni-fav/uni-fav.vue create mode 100644 wuye-manager-uniapp/uni_modules/uni-fav/package.json create mode 100644 wuye-manager-uniapp/uni_modules/uni-fav/readme.md create mode 100644 wuye-manager-uniapp/uni_modules/uni-file-picker/changelog.md create mode 100644 wuye-manager-uniapp/uni_modules/uni-file-picker/components/uni-file-picker/choose-and-upload-file.js create mode 100644 wuye-manager-uniapp/uni_modules/uni-file-picker/components/uni-file-picker/uni-file-picker.vue create mode 100644 wuye-manager-uniapp/uni_modules/uni-file-picker/components/uni-file-picker/upload-file.vue create mode 100644 wuye-manager-uniapp/uni_modules/uni-file-picker/components/uni-file-picker/upload-image.vue create mode 100644 wuye-manager-uniapp/uni_modules/uni-file-picker/components/uni-file-picker/utils.js create mode 100644 wuye-manager-uniapp/uni_modules/uni-file-picker/package.json create mode 100644 wuye-manager-uniapp/uni_modules/uni-file-picker/readme.md create mode 100644 wuye-manager-uniapp/uni_modules/uni-forms/changelog.md create mode 100644 wuye-manager-uniapp/uni_modules/uni-forms/components/uni-forms-item/uni-forms-item.vue create mode 100644 wuye-manager-uniapp/uni_modules/uni-forms/components/uni-forms/uni-forms.vue create mode 100644 wuye-manager-uniapp/uni_modules/uni-forms/components/uni-forms/utils.js create mode 100644 wuye-manager-uniapp/uni_modules/uni-forms/components/uni-forms/validate.js create mode 100644 wuye-manager-uniapp/uni_modules/uni-forms/package.json create mode 100644 wuye-manager-uniapp/uni_modules/uni-forms/readme.md create mode 100644 wuye-manager-uniapp/uni_modules/uni-goods-nav/changelog.md create mode 100644 wuye-manager-uniapp/uni_modules/uni-goods-nav/components/uni-goods-nav/i18n/en.json create mode 100644 wuye-manager-uniapp/uni_modules/uni-goods-nav/components/uni-goods-nav/i18n/index.js create mode 100644 wuye-manager-uniapp/uni_modules/uni-goods-nav/components/uni-goods-nav/i18n/zh-Hans.json create mode 100644 wuye-manager-uniapp/uni_modules/uni-goods-nav/components/uni-goods-nav/i18n/zh-Hant.json create mode 100644 wuye-manager-uniapp/uni_modules/uni-goods-nav/components/uni-goods-nav/uni-goods-nav.vue create mode 100644 wuye-manager-uniapp/uni_modules/uni-goods-nav/package.json create mode 100644 wuye-manager-uniapp/uni_modules/uni-goods-nav/readme.md create mode 100644 wuye-manager-uniapp/uni_modules/uni-grid/changelog.md create mode 100644 wuye-manager-uniapp/uni_modules/uni-grid/components/uni-grid-item/uni-grid-item.vue create mode 100644 wuye-manager-uniapp/uni_modules/uni-grid/components/uni-grid/uni-grid.vue create mode 100644 wuye-manager-uniapp/uni_modules/uni-grid/package.json create mode 100644 wuye-manager-uniapp/uni_modules/uni-grid/readme.md create mode 100644 wuye-manager-uniapp/uni_modules/uni-group/changelog.md create mode 100644 wuye-manager-uniapp/uni_modules/uni-group/components/uni-group/uni-group.vue create mode 100644 wuye-manager-uniapp/uni_modules/uni-group/package.json create mode 100644 wuye-manager-uniapp/uni_modules/uni-group/readme.md create mode 100644 wuye-manager-uniapp/uni_modules/uni-icons/changelog.md create mode 100644 wuye-manager-uniapp/uni_modules/uni-icons/components/uni-icons/uni-icons.uvue create mode 100644 wuye-manager-uniapp/uni_modules/uni-icons/components/uni-icons/uni-icons.vue create mode 100644 wuye-manager-uniapp/uni_modules/uni-icons/components/uni-icons/uniicons.css create mode 100644 wuye-manager-uniapp/uni_modules/uni-icons/components/uni-icons/uniicons.ttf create mode 100644 wuye-manager-uniapp/uni_modules/uni-icons/components/uni-icons/uniicons_file.ts create mode 100644 wuye-manager-uniapp/uni_modules/uni-icons/components/uni-icons/uniicons_file_vue.js create mode 100644 wuye-manager-uniapp/uni_modules/uni-icons/package.json create mode 100644 wuye-manager-uniapp/uni_modules/uni-icons/readme.md create mode 100644 wuye-manager-uniapp/uni_modules/uni-indexed-list/changelog.md create mode 100644 wuye-manager-uniapp/uni_modules/uni-indexed-list/components/uni-indexed-list/uni-indexed-list-item.vue create mode 100644 wuye-manager-uniapp/uni_modules/uni-indexed-list/components/uni-indexed-list/uni-indexed-list.vue create mode 100644 wuye-manager-uniapp/uni_modules/uni-indexed-list/package.json create mode 100644 wuye-manager-uniapp/uni_modules/uni-indexed-list/readme.md create mode 100644 wuye-manager-uniapp/uni_modules/uni-link/changelog.md create mode 100644 wuye-manager-uniapp/uni_modules/uni-link/components/uni-link/uni-link.vue create mode 100644 wuye-manager-uniapp/uni_modules/uni-link/package.json create mode 100644 wuye-manager-uniapp/uni_modules/uni-link/readme.md create mode 100644 wuye-manager-uniapp/uni_modules/uni-list/changelog.md create mode 100644 wuye-manager-uniapp/uni_modules/uni-list/components/uni-list-ad/uni-list-ad.vue create mode 100644 wuye-manager-uniapp/uni_modules/uni-list/components/uni-list-chat/uni-list-chat.scss create mode 100644 wuye-manager-uniapp/uni_modules/uni-list/components/uni-list-chat/uni-list-chat.vue create mode 100644 wuye-manager-uniapp/uni_modules/uni-list/components/uni-list-item/uni-list-item.vue create mode 100644 wuye-manager-uniapp/uni_modules/uni-list/components/uni-list/uni-list.vue create mode 100644 wuye-manager-uniapp/uni_modules/uni-list/components/uni-list/uni-refresh.vue create mode 100644 wuye-manager-uniapp/uni_modules/uni-list/components/uni-list/uni-refresh.wxs create mode 100644 wuye-manager-uniapp/uni_modules/uni-list/package.json create mode 100644 wuye-manager-uniapp/uni_modules/uni-list/readme.md create mode 100644 wuye-manager-uniapp/uni_modules/uni-load-more/changelog.md create mode 100644 wuye-manager-uniapp/uni_modules/uni-load-more/components/uni-load-more/i18n/en.json create mode 100644 wuye-manager-uniapp/uni_modules/uni-load-more/components/uni-load-more/i18n/index.js create mode 100644 wuye-manager-uniapp/uni_modules/uni-load-more/components/uni-load-more/i18n/zh-Hans.json create mode 100644 wuye-manager-uniapp/uni_modules/uni-load-more/components/uni-load-more/i18n/zh-Hant.json create mode 100644 wuye-manager-uniapp/uni_modules/uni-load-more/components/uni-load-more/uni-load-more.vue create mode 100644 wuye-manager-uniapp/uni_modules/uni-load-more/package.json create mode 100644 wuye-manager-uniapp/uni_modules/uni-load-more/readme.md create mode 100644 wuye-manager-uniapp/uni_modules/uni-nav-bar/changelog.md create mode 100644 wuye-manager-uniapp/uni_modules/uni-nav-bar/components/uni-nav-bar/uni-nav-bar.vue create mode 100644 wuye-manager-uniapp/uni_modules/uni-nav-bar/components/uni-nav-bar/uni-status-bar.vue create mode 100644 wuye-manager-uniapp/uni_modules/uni-nav-bar/package.json create mode 100644 wuye-manager-uniapp/uni_modules/uni-nav-bar/readme.md create mode 100644 wuye-manager-uniapp/uni_modules/uni-notice-bar/changelog.md create mode 100644 wuye-manager-uniapp/uni_modules/uni-notice-bar/components/uni-notice-bar/uni-notice-bar.vue create mode 100644 wuye-manager-uniapp/uni_modules/uni-notice-bar/package.json create mode 100644 wuye-manager-uniapp/uni_modules/uni-notice-bar/readme.md create mode 100644 wuye-manager-uniapp/uni_modules/uni-number-box/changelog.md create mode 100644 wuye-manager-uniapp/uni_modules/uni-number-box/components/uni-number-box/uni-number-box.vue create mode 100644 wuye-manager-uniapp/uni_modules/uni-number-box/package.json create mode 100644 wuye-manager-uniapp/uni_modules/uni-number-box/readme.md create mode 100644 wuye-manager-uniapp/uni_modules/uni-pagination/changelog.md create mode 100644 wuye-manager-uniapp/uni_modules/uni-pagination/components/uni-pagination/i18n/en.json create mode 100644 wuye-manager-uniapp/uni_modules/uni-pagination/components/uni-pagination/i18n/es.json create mode 100644 wuye-manager-uniapp/uni_modules/uni-pagination/components/uni-pagination/i18n/fr.json create mode 100644 wuye-manager-uniapp/uni_modules/uni-pagination/components/uni-pagination/i18n/index.js create mode 100644 wuye-manager-uniapp/uni_modules/uni-pagination/components/uni-pagination/i18n/zh-Hans.json create mode 100644 wuye-manager-uniapp/uni_modules/uni-pagination/components/uni-pagination/i18n/zh-Hant.json create mode 100644 wuye-manager-uniapp/uni_modules/uni-pagination/components/uni-pagination/uni-pagination.vue create mode 100644 wuye-manager-uniapp/uni_modules/uni-pagination/package.json create mode 100644 wuye-manager-uniapp/uni_modules/uni-pagination/readme.md create mode 100644 wuye-manager-uniapp/uni_modules/uni-popup/changelog.md create mode 100644 wuye-manager-uniapp/uni_modules/uni-popup/components/uni-popup-dialog/keypress.js create mode 100644 wuye-manager-uniapp/uni_modules/uni-popup/components/uni-popup-dialog/uni-popup-dialog.vue create mode 100644 wuye-manager-uniapp/uni_modules/uni-popup/components/uni-popup-message/uni-popup-message.vue create mode 100644 wuye-manager-uniapp/uni_modules/uni-popup/components/uni-popup-share/uni-popup-share.vue create mode 100644 wuye-manager-uniapp/uni_modules/uni-popup/components/uni-popup/i18n/en.json create mode 100644 wuye-manager-uniapp/uni_modules/uni-popup/components/uni-popup/i18n/index.js create mode 100644 wuye-manager-uniapp/uni_modules/uni-popup/components/uni-popup/i18n/zh-Hans.json create mode 100644 wuye-manager-uniapp/uni_modules/uni-popup/components/uni-popup/i18n/zh-Hant.json create mode 100644 wuye-manager-uniapp/uni_modules/uni-popup/components/uni-popup/keypress.js create mode 100644 wuye-manager-uniapp/uni_modules/uni-popup/components/uni-popup/popup.js create mode 100644 wuye-manager-uniapp/uni_modules/uni-popup/components/uni-popup/uni-popup.uvue create mode 100644 wuye-manager-uniapp/uni_modules/uni-popup/components/uni-popup/uni-popup.vue create mode 100644 wuye-manager-uniapp/uni_modules/uni-popup/package.json create mode 100644 wuye-manager-uniapp/uni_modules/uni-popup/readme.md create mode 100644 wuye-manager-uniapp/uni_modules/uni-rate/changelog.md create mode 100644 wuye-manager-uniapp/uni_modules/uni-rate/components/uni-rate/uni-rate.vue create mode 100644 wuye-manager-uniapp/uni_modules/uni-rate/package.json create mode 100644 wuye-manager-uniapp/uni_modules/uni-rate/readme.md create mode 100644 wuye-manager-uniapp/uni_modules/uni-row/changelog.md create mode 100644 wuye-manager-uniapp/uni_modules/uni-row/components/uni-col/uni-col.vue create mode 100644 wuye-manager-uniapp/uni_modules/uni-row/components/uni-row/uni-row.vue create mode 100644 wuye-manager-uniapp/uni_modules/uni-row/package.json create mode 100644 wuye-manager-uniapp/uni_modules/uni-row/readme.md create mode 100644 wuye-manager-uniapp/uni_modules/uni-scss/changelog.md create mode 100644 wuye-manager-uniapp/uni_modules/uni-scss/index.scss create mode 100644 wuye-manager-uniapp/uni_modules/uni-scss/package.json create mode 100644 wuye-manager-uniapp/uni_modules/uni-scss/readme.md create mode 100644 wuye-manager-uniapp/uni_modules/uni-scss/styles/index.scss create mode 100644 wuye-manager-uniapp/uni_modules/uni-scss/styles/setting/_border.scss create mode 100644 wuye-manager-uniapp/uni_modules/uni-scss/styles/setting/_color.scss create mode 100644 wuye-manager-uniapp/uni_modules/uni-scss/styles/setting/_radius.scss create mode 100644 wuye-manager-uniapp/uni_modules/uni-scss/styles/setting/_space.scss create mode 100644 wuye-manager-uniapp/uni_modules/uni-scss/styles/setting/_styles.scss create mode 100644 wuye-manager-uniapp/uni_modules/uni-scss/styles/setting/_text.scss create mode 100644 wuye-manager-uniapp/uni_modules/uni-scss/styles/setting/_variables.scss create mode 100644 wuye-manager-uniapp/uni_modules/uni-scss/styles/tools/functions.scss create mode 100644 wuye-manager-uniapp/uni_modules/uni-scss/theme.scss create mode 100644 wuye-manager-uniapp/uni_modules/uni-scss/variables.scss create mode 100644 wuye-manager-uniapp/uni_modules/uni-search-bar/changelog.md create mode 100644 wuye-manager-uniapp/uni_modules/uni-search-bar/components/uni-search-bar/i18n/en.json create mode 100644 wuye-manager-uniapp/uni_modules/uni-search-bar/components/uni-search-bar/i18n/index.js create mode 100644 wuye-manager-uniapp/uni_modules/uni-search-bar/components/uni-search-bar/i18n/zh-Hans.json create mode 100644 wuye-manager-uniapp/uni_modules/uni-search-bar/components/uni-search-bar/i18n/zh-Hant.json create mode 100644 wuye-manager-uniapp/uni_modules/uni-search-bar/components/uni-search-bar/uni-search-bar.vue create mode 100644 wuye-manager-uniapp/uni_modules/uni-search-bar/package.json create mode 100644 wuye-manager-uniapp/uni_modules/uni-search-bar/readme.md create mode 100644 wuye-manager-uniapp/uni_modules/uni-section/changelog.md create mode 100644 wuye-manager-uniapp/uni_modules/uni-section/components/uni-section/uni-section.vue create mode 100644 wuye-manager-uniapp/uni_modules/uni-section/package.json create mode 100644 wuye-manager-uniapp/uni_modules/uni-section/readme.md create mode 100644 wuye-manager-uniapp/uni_modules/uni-segmented-control/changelog.md create mode 100644 wuye-manager-uniapp/uni_modules/uni-segmented-control/components/uni-segmented-control/uni-segmented-control.vue create mode 100644 wuye-manager-uniapp/uni_modules/uni-segmented-control/package.json create mode 100644 wuye-manager-uniapp/uni_modules/uni-segmented-control/readme.md create mode 100644 wuye-manager-uniapp/uni_modules/uni-steps/changelog.md create mode 100644 wuye-manager-uniapp/uni_modules/uni-steps/components/uni-steps/uni-steps.vue create mode 100644 wuye-manager-uniapp/uni_modules/uni-steps/package.json create mode 100644 wuye-manager-uniapp/uni_modules/uni-steps/readme.md create mode 100644 wuye-manager-uniapp/uni_modules/uni-swipe-action/changelog.md create mode 100644 wuye-manager-uniapp/uni_modules/uni-swipe-action/components/uni-swipe-action-item/bindingx.js create mode 100644 wuye-manager-uniapp/uni_modules/uni-swipe-action/components/uni-swipe-action-item/isPC.js create mode 100644 wuye-manager-uniapp/uni_modules/uni-swipe-action/components/uni-swipe-action-item/mpalipay.js create mode 100644 wuye-manager-uniapp/uni_modules/uni-swipe-action/components/uni-swipe-action-item/mpother.js create mode 100644 wuye-manager-uniapp/uni_modules/uni-swipe-action/components/uni-swipe-action-item/mpwxs.js create mode 100644 wuye-manager-uniapp/uni_modules/uni-swipe-action/components/uni-swipe-action-item/render.js create mode 100644 wuye-manager-uniapp/uni_modules/uni-swipe-action/components/uni-swipe-action-item/uni-swipe-action-item.vue create mode 100644 wuye-manager-uniapp/uni_modules/uni-swipe-action/components/uni-swipe-action-item/wx.wxs create mode 100644 wuye-manager-uniapp/uni_modules/uni-swipe-action/components/uni-swipe-action/uni-swipe-action.vue create mode 100644 wuye-manager-uniapp/uni_modules/uni-swipe-action/package.json create mode 100644 wuye-manager-uniapp/uni_modules/uni-swipe-action/readme.md create mode 100644 wuye-manager-uniapp/uni_modules/uni-swiper-dot/changelog.md create mode 100644 wuye-manager-uniapp/uni_modules/uni-swiper-dot/components/uni-swiper-dot/uni-swiper-dot.vue create mode 100644 wuye-manager-uniapp/uni_modules/uni-swiper-dot/package.json create mode 100644 wuye-manager-uniapp/uni_modules/uni-swiper-dot/readme.md create mode 100644 wuye-manager-uniapp/uni_modules/uni-table/changelog.md create mode 100644 wuye-manager-uniapp/uni_modules/uni-table/components/uni-table/uni-table.vue create mode 100644 wuye-manager-uniapp/uni_modules/uni-table/components/uni-tbody/uni-tbody.vue create mode 100644 wuye-manager-uniapp/uni_modules/uni-table/components/uni-td/uni-td.vue create mode 100644 wuye-manager-uniapp/uni_modules/uni-table/components/uni-th/filter-dropdown.vue create mode 100644 wuye-manager-uniapp/uni_modules/uni-table/components/uni-th/uni-th.vue create mode 100644 wuye-manager-uniapp/uni_modules/uni-table/components/uni-thead/uni-thead.vue create mode 100644 wuye-manager-uniapp/uni_modules/uni-table/components/uni-tr/table-checkbox.vue create mode 100644 wuye-manager-uniapp/uni_modules/uni-table/components/uni-tr/uni-tr.vue create mode 100644 wuye-manager-uniapp/uni_modules/uni-table/i18n/en.json create mode 100644 wuye-manager-uniapp/uni_modules/uni-table/i18n/es.json create mode 100644 wuye-manager-uniapp/uni_modules/uni-table/i18n/fr.json create mode 100644 wuye-manager-uniapp/uni_modules/uni-table/i18n/index.js create mode 100644 wuye-manager-uniapp/uni_modules/uni-table/i18n/zh-Hans.json create mode 100644 wuye-manager-uniapp/uni_modules/uni-table/i18n/zh-Hant.json create mode 100644 wuye-manager-uniapp/uni_modules/uni-table/package.json create mode 100644 wuye-manager-uniapp/uni_modules/uni-table/readme.md create mode 100644 wuye-manager-uniapp/uni_modules/uni-tag/changelog.md create mode 100644 wuye-manager-uniapp/uni_modules/uni-tag/components/uni-tag/uni-tag.vue create mode 100644 wuye-manager-uniapp/uni_modules/uni-tag/package.json create mode 100644 wuye-manager-uniapp/uni_modules/uni-tag/readme.md create mode 100644 wuye-manager-uniapp/uni_modules/uni-title/changelog.md create mode 100644 wuye-manager-uniapp/uni_modules/uni-title/components/uni-title/uni-title.vue create mode 100644 wuye-manager-uniapp/uni_modules/uni-title/package.json create mode 100644 wuye-manager-uniapp/uni_modules/uni-title/readme.md create mode 100644 wuye-manager-uniapp/uni_modules/uni-tooltip/changelog.md create mode 100644 wuye-manager-uniapp/uni_modules/uni-tooltip/components/uni-tooltip/uni-tooltip.vue create mode 100644 wuye-manager-uniapp/uni_modules/uni-tooltip/package.json create mode 100644 wuye-manager-uniapp/uni_modules/uni-tooltip/readme.md create mode 100644 wuye-manager-uniapp/uni_modules/uni-transition/changelog.md create mode 100644 wuye-manager-uniapp/uni_modules/uni-transition/components/uni-transition/createAnimation.js create mode 100644 wuye-manager-uniapp/uni_modules/uni-transition/components/uni-transition/uni-transition.vue create mode 100644 wuye-manager-uniapp/uni_modules/uni-transition/package.json create mode 100644 wuye-manager-uniapp/uni_modules/uni-transition/readme.md create mode 100644 wuye-manager-uniapp/uni_modules/uni-ui/changelog.md create mode 100644 wuye-manager-uniapp/uni_modules/uni-ui/components/uni-ui/uni-ui.vue create mode 100644 wuye-manager-uniapp/uni_modules/uni-ui/package.json create mode 100644 wuye-manager-uniapp/uni_modules/uni-ui/readme.md diff --git a/wuye-manager-uniapp/.gitignore b/wuye-manager-uniapp/.gitignore new file mode 100644 index 0000000..2370852 --- /dev/null +++ b/wuye-manager-uniapp/.gitignore @@ -0,0 +1,4 @@ +node_modules/ +unpackage/ +.hbuilderx/ +.DS_Store diff --git a/wuye-manager-uniapp/App.vue b/wuye-manager-uniapp/App.vue new file mode 100644 index 0000000..8c2b732 --- /dev/null +++ b/wuye-manager-uniapp/App.vue @@ -0,0 +1,17 @@ + + + diff --git a/wuye-manager-uniapp/index.html b/wuye-manager-uniapp/index.html new file mode 100644 index 0000000..b5d330d --- /dev/null +++ b/wuye-manager-uniapp/index.html @@ -0,0 +1,20 @@ + + + + + + + + + + +
+ + + diff --git a/wuye-manager-uniapp/main.js b/wuye-manager-uniapp/main.js new file mode 100644 index 0000000..c1caf36 --- /dev/null +++ b/wuye-manager-uniapp/main.js @@ -0,0 +1,22 @@ +import App from './App' + +// #ifndef VUE3 +import Vue from 'vue' +import './uni.promisify.adaptor' +Vue.config.productionTip = false +App.mpType = 'app' +const app = new Vue({ + ...App +}) +app.$mount() +// #endif + +// #ifdef VUE3 +import { createSSRApp } from 'vue' +export function createApp() { + const app = createSSRApp(App) + return { + app + } +} +// #endif \ No newline at end of file diff --git a/wuye-manager-uniapp/manifest.json b/wuye-manager-uniapp/manifest.json new file mode 100644 index 0000000..e30c89f --- /dev/null +++ b/wuye-manager-uniapp/manifest.json @@ -0,0 +1,72 @@ +{ + "name" : "wuye-uniapp-project", + "appid" : "__UNI__E4ECDAB", + "description" : "", + "versionName" : "1.0.0", + "versionCode" : "100", + "transformPx" : false, + /* 5+App特有相关 */ + "app-plus" : { + "usingComponents" : true, + "nvueStyleCompiler" : "uni-app", + "compilerVersion" : 3, + "splashscreen" : { + "alwaysShowBeforeRender" : true, + "waiting" : true, + "autoclose" : true, + "delay" : 0 + }, + /* 模块配置 */ + "modules" : {}, + /* 应用发布信息 */ + "distribute" : { + /* android打包配置 */ + "android" : { + "permissions" : [ + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "" + ] + }, + /* ios打包配置 */ + "ios" : {}, + /* SDK配置 */ + "sdkConfigs" : {} + } + }, + /* 快应用特有相关 */ + "quickapp" : {}, + /* 小程序特有相关 */ + "mp-weixin" : { + "appid" : "wx4a49ad94e2b25927", + "setting" : { + "urlCheck" : false + }, + "usingComponents" : true + }, + "mp-alipay" : { + "usingComponents" : true + }, + "mp-baidu" : { + "usingComponents" : true + }, + "mp-toutiao" : { + "usingComponents" : true + }, + "uniStatistics" : { + "enable" : false + }, + "vueVersion" : "3" +} diff --git a/wuye-manager-uniapp/pages.json b/wuye-manager-uniapp/pages.json new file mode 100644 index 0000000..f41b325 --- /dev/null +++ b/wuye-manager-uniapp/pages.json @@ -0,0 +1,70 @@ +{ + "pages": [ + { + "path": "pages/index/index", + "style": { + "navigationBarTitleText": "工作台", + "navigationStyle": "custom" + } + }, + { + "path": "pages/my/my", + "style": { + "navigationBarTitleText": "我的", + "navigationStyle": "custom" + } + } + ], + "subPackages": [ + { + "root": "pages/notice-list", + "pages": [ + { + "path": "select-community", + "style": { + "navigationBarTitleText": "选择小区" + } + }, + { + "path": "notice-list", + "style": { + "navigationBarTitleText": "通知" + } + } + ] + } + ], + "easycom": { + "autoscan": true, + "custom": { + "^uni-(.*)": "@/components/uni-$1.vue" + } + }, + "tabBar": { + "color": "#333333", + "backgroundColor": "#F5F6F6", + "borderStyle": "white", + "selectedColor": "#666666", + "list": [ + { + "pagePath": "pages/index/index", + "iconPath": "/static/imgs/index.png", + "selectedIconPath": "/static/imgs/index-lan.png", + "text": "工作台" + }, + { + "pagePath": "pages/my/my", + "iconPath": "/static/imgs/my.png", + "selectedIconPath": "/static/imgs/my-lan.png", + "text": "我的" + } + ] + }, + "globalStyle": { + "navigationBarTextStyle": "black", + "navigationBarTitleText": "uni-app", + "navigationBarBackgroundColor": "#F8F8F8", + "backgroundColor": "#F8F8F8" + }, + "uniIdRouter": {} +} diff --git a/wuye-manager-uniapp/pages/index/index.vue b/wuye-manager-uniapp/pages/index/index.vue new file mode 100644 index 0000000..8416e52 --- /dev/null +++ b/wuye-manager-uniapp/pages/index/index.vue @@ -0,0 +1,26 @@ + + + \ No newline at end of file diff --git a/wuye-manager-uniapp/pages/my/my.vue b/wuye-manager-uniapp/pages/my/my.vue new file mode 100644 index 0000000..fd20815 --- /dev/null +++ b/wuye-manager-uniapp/pages/my/my.vue @@ -0,0 +1,22 @@ + + + + + \ No newline at end of file diff --git a/wuye-manager-uniapp/pages/notice-list/notice-list.vue b/wuye-manager-uniapp/pages/notice-list/notice-list.vue new file mode 100644 index 0000000..f7675aa --- /dev/null +++ b/wuye-manager-uniapp/pages/notice-list/notice-list.vue @@ -0,0 +1,153 @@ + + + + + \ No newline at end of file diff --git a/wuye-manager-uniapp/pages/notice-list/select-community.vue b/wuye-manager-uniapp/pages/notice-list/select-community.vue new file mode 100644 index 0000000..a431adc --- /dev/null +++ b/wuye-manager-uniapp/pages/notice-list/select-community.vue @@ -0,0 +1,530 @@ + + + + + diff --git a/wuye-manager-uniapp/static/bannar1.png b/wuye-manager-uniapp/static/bannar1.png new file mode 100644 index 0000000000000000000000000000000000000000..be2a3da85082476c9b4356c4df94580003a1e7a3 GIT binary patch literal 423324 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%0D3mC^+6 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

F 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≠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≫I7rgz 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
6GWue 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 M07*qoM6N<$f>>5+`~Uy| literal 0 HcmV?d00001 diff --git a/wuye-manager-uniapp/static/imgs/index-lan.png b/wuye-manager-uniapp/static/imgs/index-lan.png new file mode 100644 index 0000000000000000000000000000000000000000..de31ad16e7a288a2f7605bd90c136577a36ee1ce GIT binary patch literal 924 zcmV;N17rM&P)eLmms_r0VN9Puk5 z(Cq{!8F0%$KL2e%R_phaVtqwX>zi`1{+Ig|rD)DtGB=yBbFpXO<`kXD@EicH z0YVx92DpC}facP<;V;SzUE*;pcdP{DY4duIWL6m&gXO2ojer+v+pH?8aoa`Q_Ec;H z3PtliAT4vmPxzrgD#-z3k*v5Ff&ru@)Lgs zy+C@&A`!6aJw1~B#1XygwTPz-aV(QQR=K6p1y4PJFf@VPdgrKL5%>;1jd-5GtQOR* zLU5yoW+(!RYCZ^B?~P>wJo&Vea9fvE<52+ZJ(acy*!8ZOOAP)gN4~9k-&@hAgNTpi zqM_v{f2Dm?ZE;`%cD?7a6-2sYTXyh)fO2}^cx8Ns&iO49h(KY=9JS7O1i0+yFfKXr z`=XcM7koUAdinGvpm4pTM0$|(-D{zcvOy%$m7*~#vKJCKh!N#F#f3HCVHdKHWfRDC;cSl^IRIgKq#* z)71Gz;`dN4CK<}-HA&aCw6t`$wY5DJ<~)i`Bm5p#>Z07P;G;?vex)w}jNnSCX%d&j zOl*>$oSmKhi=^)uh2;Q<%QV+v^AxF6S6W(nH|V;^833dHKN(0OtB^_qiA18Iv$ON9 zD$*q&USU%Mi1T`l0a(F|1zH!L0Z7e~{2_u~AOX3%Ac|&4U@OT*xh}OYI#(8(*4EaI z80-c}5-FtX;yBk$DT>l7djdeo{6x)OB>Da7m;_$aUPsBCQk_=`;G@{q<0FAo+F4aq zbuHI*kre==zLr1_h*A$LT_yRN=H}*Ss>oF`6E|2hQd0M{FFtEoTMu$s7a0M_JsYR@ z;1wDKFg;UKQ~xoF?^Nek%9>$a{7wIHSSdnT-e%UfsUnkf1VAlTF!D#_o=s;{?%`g}{@X`wFI+BOz(H zj^nTvw%*CIt_vH0^78U?IH`k`E>JRSnwpy4sNzdWK-^CzlQsCi4jZC;Yx%#pW*QC$ z8vr`2S3AmPFHSeeG^_4Q%Z`qY1OwJUoYWSCoL19zBpU#$74?4D+RoQG1D0eVAM+9~ zBLFWBmfI!=0Lz`KbNm7T=W)rOwlD+v8*ArCg&A-jm;7l9GoWKFdwAJ?vxD5`#O!W2 ziH+KaB?HfZJVBA%P5$~HE^fakNY2LWXU>QX;6iyDK@3BI0kF+JL2|MUHV!=;>e*eM z_F(79BoF{fMs|tjQInmkJmknWSRVRq%=N3V*c1t1W^Jvf46_&o0ze|aS^QsT>-`VB z!HL<~Hef%g_RK=+F;#VbWKaO|=x5@RoIVbkw#z{tOI0%BIvI-?pNvE<2lI9!b%U_xl%9*z45Z%6L?V&UKMAEL;MV5#&Pu(;9nSg=RnTQ^&96+GhX& o0RR8uiNquT000I_L_t&o0Hu>;fAXnD{r~^~07*qoM6N<$f_YqK=l}o! literal 0 HcmV?d00001 diff --git a/wuye-manager-uniapp/static/imgs/my-lan.png b/wuye-manager-uniapp/static/imgs/my-lan.png new file mode 100644 index 0000000000000000000000000000000000000000..6793d418646dad270cd1a4ca607e0b0ae4225c43 GIT binary patch literal 1341 zcmV-D1;YA?P)~^q6e6aGQ1L{iHodJ8TcpXYM5v%3*wPdf38oOJV8nir zQdFw!1`1Ic*sW3MhZ8C-w2+SxEToY52fyUtV#)1YcbvJ)=F@F<_x9pZ$g;zG``*m_ z=J)1hH}ft5_xQC89m*+&6=UR5hCU7WEk0&vC z4G|9qMuqsQ=!#9CZb*e#1Y|W`aISFhnUHuOx?(dpOpk=M*-S4MfsRD-oCLHPK%+Ua zNhB)YHkyk%)--|oA0_6Z0($z0kUgkZ_IuCGwoMZNaL1Yj_3RSl9{2jqwoMVpW~qY! zUv3uEvm?Z8HoMsAJvY-vA~2{s&*t>k-|$3wIeaoToqnKhC88 zE|u;)%_Kf$mqnJXx{JJ3CrZnIJ~cOe|8iK6Kmy{ZFuSv88R|!+(!ae7k_Q5l+t485 zqp{F!BKR68ak#Yf$HTU%o-P!6*Ba|K9t}mHZVDho7-ZTq72PdY_7XrOFwf6=Ta?V& zrt*$ucKi@E@O2*$iGXJ$t!ynMX!=X)x^P?;1Y%xI6A)a^#QEA5kcVh;_VTpyT{M%% z+OY_T%hl!7dq6ZL{V+lB8+Yro!A5l1*}@8dI|vL-F+4OE`sY-7x&rI>bRdu zGvl!dc%YV%`h{2ad57G`ch+@AXj`vrOf=x#`reJlE2@Wdyvael|OAF_CX< zBQXh+L^T$rEaL#<0JOI=+LtR$1lJpbcY0CHz*!UtM1CUZHx{FkPeFCEe=C->*q z9&H7o$ONQ@1fC5c;4T0hBDPU5@w@mCUvaV%nt%kZ>6MSW zGJBQ~;Vb|Qu*AIw#2060ku&&7_Q*f!s18FB$c(*3-XXwU7b5_NDM*1z66q;${DC1lS6wh>`SQ17eUy*1lVwhrQLVn>7OqFBB-`IdO!+{ z!IuCcm~AHjI2#m$FM-lpah$VI2y)PHz6FB>aAkF^$c578&U^_JW*%DQ6N49lD=imr zjJQAn0QrFN4-+&?3;+N(3FtTeKJf7f$uWzZ8x?tO87 z@zDxR5f?zL|2{CLZ78ou3=nYn67cM#(zT83zZWrZ(D}?y3GKVq3pE{^$E*R zdu>zgu?%IWh;1nMaf>4B{o1(2dLp*iaD`@>>H+Q_wQEN!>M1FJY(x1{Fg^UBHjqG& zgLcnv6KHn^{sRC2|NmH(BOU+%00v1!K~w_(Q-0KNgyjEU00000NkvXXu0mjfyyttV literal 0 HcmV?d00001 diff --git a/wuye-manager-uniapp/static/imgs/my.png b/wuye-manager-uniapp/static/imgs/my.png new file mode 100644 index 0000000000000000000000000000000000000000..2083c65402e5a97d03f339ccedc1f417f9e5896b GIT binary patch literal 1969 zcmV;i2Tu5jP)BjtkFhBjRrXiDsp7h(6Q?qI;Ujl*kV^`lwhbV@pW{i z#*`H~)<{_}gT?|K`NzfriyVjw_J?4g$W{0Go}R~^P4B(WeQ7dK&i9_*Ip=qNFX!d= zoO4X@{LlZE9a!oKT%LjD8HjNNUda+_YHB*%*w}cLe1LpHfc}&GYIAe*p%`ucNB6io zfRTH^Lp0o8v0_Cw`Bw5I0eU-m_T1cDmw3P)>S9iDa{z<#u%-v>1SVl@0OB$EAP`N_ zB=PiEeN08PKXGw@WpM%nuVBO~pw!Q3XUxpZtj){I+m@f7pDLOL&B|kPCGoPV8jq?F zEn;?{wY7Eg?Ch)`gA-*0j`&ALM&8cN&AnMzSomCZf@qv+qiqM}R$vnS+9ksjqWFo~ zfj}T|1tXFy-JPSOqd7jGZ^|k!$kc`t1vq-!YFx$a)LL}JSxgSFhF?QtI#3$NnaY%u zl$|W8L$qaC$RjTVSq%*hr^yeC2cyr^=^0Qu##(w^M5Kt?fts3{HH_ltjJ{bqC|;A8 znD~%#FZErN{T3R@wLkm`2?^Js6`^{?3%w4QM8Bfy>gxHjsdVuZu>&nFEpIT2w^pxS zJ%UngN*8Kev3Qe`l17mIEqh|Gs~#{#L@pXdeN!_=O~{7;@zaal3_V!hghkpuyl$J3fB%GAp_Vc9|KZl42E@= zm6d7q?Y4+=^_2|CLgqFc@j3)JbvmkFlCB*ywB?A2A#A zv-~fei%NIx0D>kH^DW z{e!RQ4kFPRq;@eQ0dkWtB%2S|ep7Jq!xG#}AIY(~$C2kpb~=Xd0#EFQP=C%oI*=W zOUF6;=t!V%gNG5_q8QGeIOyba(wZglP^abRVF3D=)k?}yrI;L$MrLG+wVZ(=gDQiK zIC2*!er9v#$zVY=xC390cz}!_Wb^z=TAd!Vv_69>o} zsp}C$1N-17;~!xB0rjOm>J%3Tq`kPfc!=e+54s40?b)EXAPwPM3B2#bYP=-J%>fBx zDFoPz^%%DeBM;z+K1w?4>oi)XI@WtC(X0;Mpmzqza*Mb+U@OJA07l*;s#M`nDfk#% zR-M{xzIfzucR*))ZCc{IE-z=?%2 zNRL{oYo)yph!=K~Bty~b5l*y#b*9$EPecwNIE#n=8L z0ni3+W8>b;$;tVi`ZlXBhx|?P(npS|uW<&sT1vVP3`my?`#r84VAOS1{|_&cd1olr%!wC_5F8 zuc!n%A(_m|`_yT_*q5g?HhDR9i>9y+(94|J8JPf^F%9F}sC%VJI+zWerEERM2D{+Q z-8f*5y>xoUX8eu(KS`D@a}Q_mQi3TB>j0h2QwMt>h42~loF7aEZ-?S;S%p>i{8a z3IWIItTRohb3QCqichBh>{Lj%YzQVYtOM#O0YrvMkjjTEnNd`}i&0XfIKn7r!e`z; z$>pdHZyH(M1)MN#@aR>$gnnL-iJWv~rUAWpNOm&1^q-w7>4raOa^--tHy@qnyc`UY z_j63RhoT>e-5uoS{gYgdR#JB!T6X~_OdIuI(zgztuR#ZNH!^<#zXQp(zX49wi_#H0 zu&9(JtXy_r2?yV({u=-Q|No$bl)wN000v1!K~w_(rJmZ3N{y5e00000NkvXXu0mjf D&Q74r literal 0 HcmV?d00001 diff --git a/wuye-manager-uniapp/static/logo.png b/wuye-manager-uniapp/static/logo.png new file mode 100644 index 0000000000000000000000000000000000000000..b5771e209bb677e2ebd5ff766ad5ee11790f305a GIT binary patch literal 4023 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%0AhJIS3_lIlVT{> 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 Mz+AuTB01`R00l9MumAu6 literal 0 HcmV?d00001 diff --git a/wuye-manager-uniapp/static/tabbar/工作台蓝.png b/wuye-manager-uniapp/static/tabbar/工作台蓝.png new file mode 100644 index 0000000000000000000000000000000000000000..08286581d7cbaee43939b6f63c8c0e23a24e25a4 GIT binary patch literal 5611 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 MdZxP7SBT{Q0a5cTi~s-t literal 0 HcmV?d00001 diff --git a/wuye-manager-uniapp/static/tabbar/我的灰.png b/wuye-manager-uniapp/static/tabbar/我的灰.png new file mode 100644 index 0000000000000000000000000000000000000000..b2ad9f64e6e4cab2dc2d1cdd1e85f8f0e363330e GIT binary patch literal 9175 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 KMNUMnLSTX?18hhD literal 0 HcmV?d00001 diff --git a/wuye-manager-uniapp/static/在线保修.png b/wuye-manager-uniapp/static/在线保修.png new file mode 100644 index 0000000000000000000000000000000000000000..33ea713bac97baa15aff3c4c00cefbd60793f1e5 GIT binary patch literal 13984 zcmV;RHebn!P)#+>W>_CAmM;N`u1T#_OwO0p!2)`N0n z*^+EGZfwPm#s*?1HR>RajkHAoqsX74fE^SF3bZH?1T9>&Mp7g}qqMdgIBD#}u5Gz` z_#xA@Ej}%hB6UgL_v<|O-rrht^v7J^xsoo(%X`i}XYcjRHRqUPj5!ZK|KI-=NPyI$Z2*e~ zsEP(yi?v_~Ynl|2Oxl10CyCYsa~0SyEtDok?010@7WVu6YfLY@D5Aqz+l zG?4{#uu_d^AW2emFFs|9QxYf>Kn5ril?N{;8bE{*MFJ_QNk$(-6%d4wNmPW;BmpES4U!GE zSr*?}_`=&b)WJj&LW^ikM^o$_VgGnM+SCRCl_;czHqZbSG8B{snj@+KQllI(0ZkBT z2m^%tm-1Z-VaQ110;qsdpaQ4}XE6yDR0#AUkgS482Sp74q^Ta=Jihvk-N!#95)2^% zWREy7A~+ExLiyKWVg%uV3WzcZp#Xw1BL~+owrw7tvCSzzIBkbpIJ9Y>>lKgI*sRd1 zL;^C+Rc{@u-eRD@|1`44e!GNvIJZTv}5G$T&o7nD4GZ zBw%8NKyD<508FxhY={YsG8#9E1tTZ{4P+q*04xB3CIn~z(N^nguWUW^ZY~y-E8rFp zVP+vC@?nESh>$@603hUoq!5hM&M=)@tj_87&g$Cs(UtM|CXe>GI?`rht%wZ*fRINC z2SJ1sqyq+U%Wdhyg~gV(cc<<9j>iY~&pddG7cL)+SMS8SN(xg62m)Co0Rc@kQy8Ox z5CRnBQZOhA5TlWf76J%B5*%tk6&*n;ue4Pt-(3F93K*cecWrg;>h`1W0>ccFi9keV zAHtaNYOTo#wGbdO0J_EQsCS>*KX?4HUwRSOF5zg8o0VjchgDM209NF+mIL`p2pD8S z1q4zxAjIJ<+_EB`=5Tt%#WUwV_}F`opML+V`{!PHQ+unR2v!AXp)e^xBP&8cVF2bp zAf~J!fRQ!YF=^~?JwTU;Fqq^9q7We&A;APEnm~gK6>+$_{FTM|3%1x20muvuK#

A>Aw*CB0$H&bf?3wg%xNU^ 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 literal 0 HcmV?d00001 diff --git a/wuye-manager-uniapp/static/地点.png b/wuye-manager-uniapp/static/地点.png new file mode 100644 index 0000000000000000000000000000000000000000..260d47bf3d512e1b0a14308cb665fdcdd1be5f3d GIT binary patch literal 5861 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 literal 0 HcmV?d00001 diff --git a/wuye-manager-uniapp/static/工单大厅.png b/wuye-manager-uniapp/static/工单大厅.png new file mode 100644 index 0000000000000000000000000000000000000000..2d212b23f87270ee88bb2c7d4f91dab3f1f40df3 GIT binary patch literal 34677 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

`组件,用于提交表单内容。 + +然而几乎每个表单都需要做表单验证,为了方便做表单验证,减少重复开发,`uni ui` 又基于 ``组件封装了 ``组件,内置了表单验证功能。 + +`` 提供了 `rules`属性来描述校验规则、``子组件来包裹具体的表单项,以及给原生或三方组件提供了 `binddata()` 来设置表单值。 + +每个要校验的表单项,不管input还是checkbox,都必须放在``组件中,且一个``组件只能放置一个表单项。 + +``组件内部预留了显示error message的区域,默认是在表单项的底部。 + +另外,``组件下面的各个表单项,可以通过``包裹为不同的分组。同一``下的不同表单项目将聚拢在一起,同其他group保持垂直间距。``仅影响视觉效果。 + +### [查看文档](https://uniapp.dcloud.io/component/uniui/uni-forms) +#### 如使用过程中有任何问题,或者您对uni-ui有一些好的建议,欢迎加入 uni-ui 交流群:871950839 \ No newline at end of file diff --git a/wuye-manager-uniapp/uni_modules/uni-goods-nav/changelog.md b/wuye-manager-uniapp/uni_modules/uni-goods-nav/changelog.md new file mode 100644 index 0000000..c6264c6 --- /dev/null +++ b/wuye-manager-uniapp/uni_modules/uni-goods-nav/changelog.md @@ -0,0 +1,18 @@ +## 1.2.1(2022-05-30) +- 新增 stat属性,是否开启uni统计功能 +## 1.2.0(2021-11-19) +- 优化 组件UI,并提供设计资源,详见:[https://uniapp.dcloud.io/component/uniui/resource](https://uniapp.dcloud.io/component/uniui/resource) +- 文档迁移,详见:[https://uniapp.dcloud.io/component/uniui/uni-goods-nav](https://uniapp.dcloud.io/component/uniui/uni-goods-nav) +## 1.1.1(2021-08-24) +- 新增 支持国际化 +## 1.1.0(2021-07-13) +- 组件兼容 vue3,如何创建vue3项目,详见 [uni-app 项目支持 vue3 介绍](https://ask.dcloud.net.cn/article/37834) +## 1.0.7(2021-05-12) +- 新增 组件示例地址 +## 1.0.6(2021-04-21) +- 优化 添加依赖 uni-icons, 导入后自动下载依赖 +## 1.0.5(2021-02-05) +- 优化 组件引用关系,通过uni_modules引用组件 + +## 1.0.4(2021-02-05) +- 调整为uni_modules目录规范 diff --git a/wuye-manager-uniapp/uni_modules/uni-goods-nav/components/uni-goods-nav/i18n/en.json b/wuye-manager-uniapp/uni_modules/uni-goods-nav/components/uni-goods-nav/i18n/en.json new file mode 100644 index 0000000..dcdba41 --- /dev/null +++ b/wuye-manager-uniapp/uni_modules/uni-goods-nav/components/uni-goods-nav/i18n/en.json @@ -0,0 +1,6 @@ +{ + "uni-goods-nav.options.shop": "shop", + "uni-goods-nav.options.cart": "cart", + "uni-goods-nav.buttonGroup.addToCart": "add to cart", + "uni-goods-nav.buttonGroup.buyNow": "buy now" +} diff --git a/wuye-manager-uniapp/uni_modules/uni-goods-nav/components/uni-goods-nav/i18n/index.js b/wuye-manager-uniapp/uni_modules/uni-goods-nav/components/uni-goods-nav/i18n/index.js new file mode 100644 index 0000000..de7509c --- /dev/null +++ b/wuye-manager-uniapp/uni_modules/uni-goods-nav/components/uni-goods-nav/i18n/index.js @@ -0,0 +1,8 @@ +import en from './en.json' +import zhHans from './zh-Hans.json' +import zhHant from './zh-Hant.json' +export default { + en, + 'zh-Hans': zhHans, + 'zh-Hant': zhHant +} diff --git a/wuye-manager-uniapp/uni_modules/uni-goods-nav/components/uni-goods-nav/i18n/zh-Hans.json b/wuye-manager-uniapp/uni_modules/uni-goods-nav/components/uni-goods-nav/i18n/zh-Hans.json new file mode 100644 index 0000000..48ee344 --- /dev/null +++ b/wuye-manager-uniapp/uni_modules/uni-goods-nav/components/uni-goods-nav/i18n/zh-Hans.json @@ -0,0 +1,6 @@ +{ + "uni-goods-nav.options.shop": "店铺", + "uni-goods-nav.options.cart": "购物车", + "uni-goods-nav.buttonGroup.addToCart": "加入购物车", + "uni-goods-nav.buttonGroup.buyNow": "立即购买" +} diff --git a/wuye-manager-uniapp/uni_modules/uni-goods-nav/components/uni-goods-nav/i18n/zh-Hant.json b/wuye-manager-uniapp/uni_modules/uni-goods-nav/components/uni-goods-nav/i18n/zh-Hant.json new file mode 100644 index 0000000..d0a0255 --- /dev/null +++ b/wuye-manager-uniapp/uni_modules/uni-goods-nav/components/uni-goods-nav/i18n/zh-Hant.json @@ -0,0 +1,6 @@ +{ + "uni-goods-nav.options.shop": "店鋪", + "uni-goods-nav.options.cart": "購物車", + "uni-goods-nav.buttonGroup.addToCart": "加入購物車", + "uni-goods-nav.buttonGroup.buyNow": "立即購買" +} diff --git a/wuye-manager-uniapp/uni_modules/uni-goods-nav/components/uni-goods-nav/uni-goods-nav.vue b/wuye-manager-uniapp/uni_modules/uni-goods-nav/components/uni-goods-nav/uni-goods-nav.vue new file mode 100644 index 0000000..8a16b17 --- /dev/null +++ b/wuye-manager-uniapp/uni_modules/uni-goods-nav/components/uni-goods-nav/uni-goods-nav.vue @@ -0,0 +1,229 @@ + + + + + diff --git a/wuye-manager-uniapp/uni_modules/uni-goods-nav/package.json b/wuye-manager-uniapp/uni_modules/uni-goods-nav/package.json new file mode 100644 index 0000000..636e45e --- /dev/null +++ b/wuye-manager-uniapp/uni_modules/uni-goods-nav/package.json @@ -0,0 +1,88 @@ +{ + "id": "uni-goods-nav", + "displayName": "uni-goods-nav 商品导航", + "version": "1.2.1", + "description": "商品导航组件主要用于电商类应用底部导航,可自定义加入购物车,购买等操作", + "keywords": [ + "uni-ui", + "uniui", + "商品导航" +], + "repository": "https://github.com/dcloudio/uni-ui", + "engines": { + "HBuilderX": "" + }, + "directories": { + "example": "../../temps/example_temps" + }, + "dcloudext": { + "category": [ + "前端组件", + "通用组件" + ], + "sale": { + "regular": { + "price": "0.00" + }, + "sourcecode": { + "price": "0.00" + } + }, + "contact": { + "qq": "" + }, + "declaration": { + "ads": "无", + "data": "无", + "permissions": "无" + }, + "npmurl": "https://www.npmjs.com/package/@dcloudio/uni-ui" + }, + "uni_modules": { + "dependencies": [ + "uni-scss", + "uni-icons" + ], + "encrypt": [], + "platforms": { + "cloud": { + "tcb": "y", + "aliyun": "y" + }, + "client": { + "App": { + "app-vue": "y", + "app-nvue": "y" + }, + "H5-mobile": { + "Safari": "y", + "Android Browser": "y", + "微信浏览器(Android)": "y", + "QQ浏览器(Android)": "y" + }, + "H5-pc": { + "Chrome": "y", + "IE": "y", + "Edge": "y", + "Firefox": "y", + "Safari": "y" + }, + "小程序": { + "微信": "y", + "阿里": "y", + "百度": "y", + "字节跳动": "y", + "QQ": "y" + }, + "快应用": { + "华为": "u", + "联盟": "u" + }, + "Vue": { + "vue2": "y", + "vue3": "y" + } + } + } + } +} diff --git a/wuye-manager-uniapp/uni_modules/uni-goods-nav/readme.md b/wuye-manager-uniapp/uni_modules/uni-goods-nav/readme.md new file mode 100644 index 0000000..07df93f --- /dev/null +++ b/wuye-manager-uniapp/uni_modules/uni-goods-nav/readme.md @@ -0,0 +1,10 @@ + + +## GoodsNav 商品导航 +> **组件名:uni-goods-nav** +> 代码块: `uGoodsNav` + +商品加入购物车,立即购买等。 + +### [查看文档](https://uniapp.dcloud.io/component/uniui/uni-goods-nav) +#### 如使用过程中有任何问题,或者您对uni-ui有一些好的建议,欢迎加入 uni-ui 交流群:871950839 \ No newline at end of file diff --git a/wuye-manager-uniapp/uni_modules/uni-grid/changelog.md b/wuye-manager-uniapp/uni_modules/uni-grid/changelog.md new file mode 100644 index 0000000..d301166 --- /dev/null +++ b/wuye-manager-uniapp/uni_modules/uni-grid/changelog.md @@ -0,0 +1,13 @@ +## 1.4.0(2021-11-19) +- 优化 组件UI,并提供设计资源,详见:[https://uniapp.dcloud.io/component/uniui/resource](https://uniapp.dcloud.io/component/uniui/resource) +- 文档迁移,详见:[https://uniapp.dcloud.io/component/uniui/uni-grid](https://uniapp.dcloud.io/component/uniui/uni-grid) +## 1.3.2(2021-11-09) +- 新增 提供组件设计资源,组件样式调整 +## 1.3.1(2021-07-30) +- 优化 vue3下事件警告的问题 +## 1.3.0(2021-07-13) +- 组件兼容 vue3,如何创建vue3项目,详见 [uni-app 项目支持 vue3 介绍](https://ask.dcloud.net.cn/article/37834) +## 1.2.4(2021-05-12) +- 新增 组件示例地址 +## 1.2.3(2021-02-05) +- 调整为uni_modules目录规范 diff --git a/wuye-manager-uniapp/uni_modules/uni-grid/components/uni-grid-item/uni-grid-item.vue b/wuye-manager-uniapp/uni_modules/uni-grid/components/uni-grid-item/uni-grid-item.vue new file mode 100644 index 0000000..19c08d7 --- /dev/null +++ b/wuye-manager-uniapp/uni_modules/uni-grid/components/uni-grid-item/uni-grid-item.vue @@ -0,0 +1,127 @@ + + + + + diff --git a/wuye-manager-uniapp/uni_modules/uni-grid/components/uni-grid/uni-grid.vue b/wuye-manager-uniapp/uni_modules/uni-grid/components/uni-grid/uni-grid.vue new file mode 100644 index 0000000..0edc7ff --- /dev/null +++ b/wuye-manager-uniapp/uni_modules/uni-grid/components/uni-grid/uni-grid.vue @@ -0,0 +1,142 @@ + + + + + diff --git a/wuye-manager-uniapp/uni_modules/uni-grid/package.json b/wuye-manager-uniapp/uni_modules/uni-grid/package.json new file mode 100644 index 0000000..ccb2c91 --- /dev/null +++ b/wuye-manager-uniapp/uni_modules/uni-grid/package.json @@ -0,0 +1,86 @@ +{ + "id": "uni-grid", + "displayName": "uni-grid 宫格", + "version": "1.4.0", + "description": "Grid 宫格组件,提供移动端常见的宫格布局,如九宫格。", + "keywords": [ + "uni-ui", + "uniui", + "九宫格", + "表格" +], + "repository": "https://github.com/dcloudio/uni-ui", + "engines": { + "HBuilderX": "" + }, + "directories": { + "example": "../../temps/example_temps" + }, + "dcloudext": { + "category": [ + "前端组件", + "通用组件" + ], + "sale": { + "regular": { + "price": "0.00" + }, + "sourcecode": { + "price": "0.00" + } + }, + "contact": { + "qq": "" + }, + "declaration": { + "ads": "无", + "data": "无", + "permissions": "无" + }, + "npmurl": "https://www.npmjs.com/package/@dcloudio/uni-ui" + }, + "uni_modules": { + "dependencies": ["uni-scss","uni-icons"], + "encrypt": [], + "platforms": { + "cloud": { + "tcb": "y", + "aliyun": "y" + }, + "client": { + "App": { + "app-vue": "y", + "app-nvue": "y" + }, + "H5-mobile": { + "Safari": "y", + "Android Browser": "y", + "微信浏览器(Android)": "y", + "QQ浏览器(Android)": "y" + }, + "H5-pc": { + "Chrome": "y", + "IE": "y", + "Edge": "y", + "Firefox": "y", + "Safari": "y" + }, + "小程序": { + "微信": "y", + "阿里": "y", + "百度": "y", + "字节跳动": "y", + "QQ": "y" + }, + "快应用": { + "华为": "u", + "联盟": "u" + }, + "Vue": { + "vue2": "y", + "vue3": "y" + } + } + } + } +} diff --git a/wuye-manager-uniapp/uni_modules/uni-grid/readme.md b/wuye-manager-uniapp/uni_modules/uni-grid/readme.md new file mode 100644 index 0000000..0aa44cc --- /dev/null +++ b/wuye-manager-uniapp/uni_modules/uni-grid/readme.md @@ -0,0 +1,11 @@ + + +## Grid 宫格 +> **组件名:uni-grid** +> 代码块: `uGrid` + + +宫格组件。 + +### [查看文档](https://uniapp.dcloud.io/component/uniui/uni-grid) +#### 如使用过程中有任何问题,或者您对uni-ui有一些好的建议,欢迎加入 uni-ui 交流群:871950839 \ No newline at end of file diff --git a/wuye-manager-uniapp/uni_modules/uni-group/changelog.md b/wuye-manager-uniapp/uni_modules/uni-group/changelog.md new file mode 100644 index 0000000..a7024fd --- /dev/null +++ b/wuye-manager-uniapp/uni_modules/uni-group/changelog.md @@ -0,0 +1,16 @@ +## 1.2.2(2022-05-30) +- 新增 stat属性,是否开启uni统计功能 +## 1.2.1(2021-11-22) +- 修复 vue3中某些scss变量无法找到的问题 +## 1.2.0(2021-11-19) +- 优化 组件UI,并提供设计资源,详见:[https://uniapp.dcloud.io/component/uniui/resource](https://uniapp.dcloud.io/component/uniui/resource) +- 文档迁移,详见:[https://uniapp.dcloud.io/component/uniui/uni-group](https://uniapp.dcloud.io/component/uniui/uni-group) +## 1.1.7(2021-11-08) +## 1.1.0(2021-07-30) +- 组件兼容 vue3,如何创建vue3项目,详见 [uni-app 项目支持 vue3 介绍](https://ask.dcloud.net.cn/article/37834) +- 优化 组件文档 +## 1.0.3(2021-05-12) +- 新增 组件示例地址 +## 1.0.2(2021-02-05) +- 调整为uni_modules目录规范 +- 优化 兼容 nvue 页面 diff --git a/wuye-manager-uniapp/uni_modules/uni-group/components/uni-group/uni-group.vue b/wuye-manager-uniapp/uni_modules/uni-group/components/uni-group/uni-group.vue new file mode 100644 index 0000000..3425ecd --- /dev/null +++ b/wuye-manager-uniapp/uni_modules/uni-group/components/uni-group/uni-group.vue @@ -0,0 +1,134 @@ + + + + diff --git a/wuye-manager-uniapp/uni_modules/uni-group/package.json b/wuye-manager-uniapp/uni_modules/uni-group/package.json new file mode 100644 index 0000000..ea00a08 --- /dev/null +++ b/wuye-manager-uniapp/uni_modules/uni-group/package.json @@ -0,0 +1,87 @@ +{ + "id": "uni-group", + "displayName": "uni-group 分组", + "version": "1.2.2", + "description": "分组组件可用于将组件用于分组,添加间隔,以产生明显的区块", + "keywords": [ + "uni-ui", + "uniui", + "group", + "分组", + "" +], + "repository": "https://github.com/dcloudio/uni-ui", + "engines": { + "HBuilderX": "" + }, + "directories": { + "example": "../../temps/example_temps" + }, + "dcloudext": { + "category": [ + "前端组件", + "通用组件" + ], + "sale": { + "regular": { + "price": "0.00" + }, + "sourcecode": { + "price": "0.00" + } + }, + "contact": { + "qq": "" + }, + "declaration": { + "ads": "无", + "data": "无", + "permissions": "无" + }, + "npmurl": "https://www.npmjs.com/package/@dcloudio/uni-ui" + }, + "uni_modules": { + "dependencies": ["uni-scss"], + "encrypt": [], + "platforms": { + "cloud": { + "tcb": "y", + "aliyun": "y" + }, + "client": { + "App": { + "app-vue": "y", + "app-nvue": "y" + }, + "H5-mobile": { + "Safari": "y", + "Android Browser": "y", + "微信浏览器(Android)": "y", + "QQ浏览器(Android)": "y" + }, + "H5-pc": { + "Chrome": "y", + "IE": "y", + "Edge": "y", + "Firefox": "y", + "Safari": "y" + }, + "小程序": { + "微信": "y", + "阿里": "y", + "百度": "y", + "字节跳动": "y", + "QQ": "y" + }, + "快应用": { + "华为": "u", + "联盟": "u" + }, + "Vue": { + "vue2": "y", + "vue3": "y" + } + } + } + } +} \ No newline at end of file diff --git a/wuye-manager-uniapp/uni_modules/uni-group/readme.md b/wuye-manager-uniapp/uni_modules/uni-group/readme.md new file mode 100644 index 0000000..bae67f4 --- /dev/null +++ b/wuye-manager-uniapp/uni_modules/uni-group/readme.md @@ -0,0 +1,9 @@ + +## Group 分组 +> **组件名:uni-group** +> 代码块: `uGroup` + +分组组件可用于将组件分组,添加间隔,以产生明显的区块。 + +### [查看文档](https://uniapp.dcloud.io/component/uniui/uni-group) +#### 如使用过程中有任何问题,或者您对uni-ui有一些好的建议,欢迎加入 uni-ui 交流群:871950839 \ No newline at end of file diff --git a/wuye-manager-uniapp/uni_modules/uni-icons/changelog.md b/wuye-manager-uniapp/uni_modules/uni-icons/changelog.md new file mode 100644 index 0000000..62e7682 --- /dev/null +++ b/wuye-manager-uniapp/uni_modules/uni-icons/changelog.md @@ -0,0 +1,44 @@ +## 2.0.12(2025-08-26) +- 优化 uni-app x 下 size 类型问题 +## 2.0.11(2025-08-18) +- 修复 图标点击事件返回 +## 2.0.9(2024-01-12) +fix: 修复图标大小默认值错误的问题 +## 2.0.8(2023-12-14) +- 修复 项目未使用 ts 情况下,打包报错的bug +## 2.0.7(2023-12-14) +- 修复 size 属性为 string 时,不加单位导致尺寸异常的bug +## 2.0.6(2023-12-11) +- 优化 兼容老版本icon类型,如 top ,bottom 等 +## 2.0.5(2023-12-11) +- 优化 兼容老版本icon类型,如 top ,bottom 等 +## 2.0.4(2023-12-06) +- 优化 uni-app x 下示例项目图标排序 +## 2.0.3(2023-12-06) +- 修复 nvue下引入组件报错的bug +## 2.0.2(2023-12-05) +-优化 size 属性支持单位 +## 2.0.1(2023-12-05) +- 新增 uni-app x 支持定义图标 +## 1.3.5(2022-01-24) +- 优化 size 属性可以传入不带单位的字符串数值 +## 1.3.4(2022-01-24) +- 优化 size 支持其他单位 +## 1.3.3(2022-01-17) +- 修复 nvue 有些图标不显示的bug,兼容老版本图标 +## 1.3.2(2021-12-01) +- 优化 示例可复制图标名称 +## 1.3.1(2021-11-23) +- 优化 兼容旧组件 type 值 +## 1.3.0(2021-11-19) +- 新增 更多图标 +- 优化 自定义图标使用方式 +- 优化 组件UI,并提供设计资源,详见:[https://uniapp.dcloud.io/component/uniui/resource](https://uniapp.dcloud.io/component/uniui/resource) +- 文档迁移,详见:[https://uniapp.dcloud.io/component/uniui/uni-icons](https://uniapp.dcloud.io/component/uniui/uni-icons) +## 1.1.7(2021-11-08) +## 1.2.0(2021-07-30) +- 组件兼容 vue3,如何创建vue3项目,详见 [uni-app 项目支持 vue3 介绍](https://ask.dcloud.net.cn/article/37834) +## 1.1.5(2021-05-12) +- 新增 组件示例地址 +## 1.1.4(2021-02-05) +- 调整为uni_modules目录规范 diff --git a/wuye-manager-uniapp/uni_modules/uni-icons/components/uni-icons/uni-icons.uvue b/wuye-manager-uniapp/uni_modules/uni-icons/components/uni-icons/uni-icons.uvue new file mode 100644 index 0000000..53eb2ea --- /dev/null +++ b/wuye-manager-uniapp/uni_modules/uni-icons/components/uni-icons/uni-icons.uvue @@ -0,0 +1,91 @@ + + + + + diff --git a/wuye-manager-uniapp/uni_modules/uni-icons/components/uni-icons/uni-icons.vue b/wuye-manager-uniapp/uni_modules/uni-icons/components/uni-icons/uni-icons.vue new file mode 100644 index 0000000..1bd3d5e --- /dev/null +++ b/wuye-manager-uniapp/uni_modules/uni-icons/components/uni-icons/uni-icons.vue @@ -0,0 +1,110 @@ + + + + + \ No newline at end of file diff --git a/wuye-manager-uniapp/uni_modules/uni-icons/components/uni-icons/uniicons.css b/wuye-manager-uniapp/uni_modules/uni-icons/components/uni-icons/uniicons.css new file mode 100644 index 0000000..0a6b6fe --- /dev/null +++ b/wuye-manager-uniapp/uni_modules/uni-icons/components/uni-icons/uniicons.css @@ -0,0 +1,664 @@ + +.uniui-cart-filled:before { + content: "\e6d0"; +} + +.uniui-gift-filled:before { + content: "\e6c4"; +} + +.uniui-color:before { + content: "\e6cf"; +} + +.uniui-wallet:before { + content: "\e6b1"; +} + +.uniui-settings-filled:before { + content: "\e6ce"; +} + +.uniui-auth-filled:before { + content: "\e6cc"; +} + +.uniui-shop-filled:before { + content: "\e6cd"; +} + +.uniui-staff-filled:before { + content: "\e6cb"; +} + +.uniui-vip-filled:before { + content: "\e6c6"; +} + +.uniui-plus-filled:before { + content: "\e6c7"; +} + +.uniui-folder-add-filled:before { + content: "\e6c8"; +} + +.uniui-color-filled:before { + content: "\e6c9"; +} + +.uniui-tune-filled:before { + content: "\e6ca"; +} + +.uniui-calendar-filled:before { + content: "\e6c0"; +} + +.uniui-notification-filled:before { + content: "\e6c1"; +} + +.uniui-wallet-filled:before { + content: "\e6c2"; +} + +.uniui-medal-filled:before { + content: "\e6c3"; +} + +.uniui-fire-filled:before { + content: "\e6c5"; +} + +.uniui-refreshempty:before { + content: "\e6bf"; +} + +.uniui-location-filled:before { + content: "\e6af"; +} + +.uniui-person-filled:before { + content: "\e69d"; +} + +.uniui-personadd-filled:before { + content: "\e698"; +} + +.uniui-arrowthinleft:before { + content: "\e6d2"; +} + +.uniui-arrowthinup:before { + content: "\e6d3"; +} + +.uniui-arrowthindown:before { + content: "\e6d4"; +} + +.uniui-back:before { + content: "\e6b9"; +} + +.uniui-forward:before { + content: "\e6ba"; +} + +.uniui-arrow-right:before { + content: "\e6bb"; +} + +.uniui-arrow-left:before { + content: "\e6bc"; +} + +.uniui-arrow-up:before { + content: "\e6bd"; +} + +.uniui-arrow-down:before { + content: "\e6be"; +} + +.uniui-arrowthinright:before { + content: "\e6d1"; +} + +.uniui-down:before { + content: "\e6b8"; +} + +.uniui-bottom:before { + content: "\e6b8"; +} + +.uniui-arrowright:before { + content: "\e6d5"; +} + +.uniui-right:before { + content: "\e6b5"; +} + +.uniui-up:before { + content: "\e6b6"; +} + +.uniui-top:before { + content: "\e6b6"; +} + +.uniui-left:before { + content: "\e6b7"; +} + +.uniui-arrowup:before { + content: "\e6d6"; +} + +.uniui-eye:before { + content: "\e651"; +} + +.uniui-eye-filled:before { + content: "\e66a"; +} + +.uniui-eye-slash:before { + content: "\e6b3"; +} + +.uniui-eye-slash-filled:before { + content: "\e6b4"; +} + +.uniui-info-filled:before { + content: "\e649"; +} + +.uniui-reload:before { + content: "\e6b2"; +} + +.uniui-micoff-filled:before { + content: "\e6b0"; +} + +.uniui-map-pin-ellipse:before { + content: "\e6ac"; +} + +.uniui-map-pin:before { + content: "\e6ad"; +} + +.uniui-location:before { + content: "\e6ae"; +} + +.uniui-starhalf:before { + content: "\e683"; +} + +.uniui-star:before { + content: "\e688"; +} + +.uniui-star-filled:before { + content: "\e68f"; +} + +.uniui-calendar:before { + content: "\e6a0"; +} + +.uniui-fire:before { + content: "\e6a1"; +} + +.uniui-medal:before { + content: "\e6a2"; +} + +.uniui-font:before { + content: "\e6a3"; +} + +.uniui-gift:before { + content: "\e6a4"; +} + +.uniui-link:before { + content: "\e6a5"; +} + +.uniui-notification:before { + content: "\e6a6"; +} + +.uniui-staff:before { + content: "\e6a7"; +} + +.uniui-vip:before { + content: "\e6a8"; +} + +.uniui-folder-add:before { + content: "\e6a9"; +} + +.uniui-tune:before { + content: "\e6aa"; +} + +.uniui-auth:before { + content: "\e6ab"; +} + +.uniui-person:before { + content: "\e699"; +} + +.uniui-email-filled:before { + content: "\e69a"; +} + +.uniui-phone-filled:before { + content: "\e69b"; +} + +.uniui-phone:before { + content: "\e69c"; +} + +.uniui-email:before { + content: "\e69e"; +} + +.uniui-personadd:before { + content: "\e69f"; +} + +.uniui-chatboxes-filled:before { + content: "\e692"; +} + +.uniui-contact:before { + content: "\e693"; +} + +.uniui-chatbubble-filled:before { + content: "\e694"; +} + +.uniui-contact-filled:before { + content: "\e695"; +} + +.uniui-chatboxes:before { + content: "\e696"; +} + +.uniui-chatbubble:before { + content: "\e697"; +} + +.uniui-upload-filled:before { + content: "\e68e"; +} + +.uniui-upload:before { + content: "\e690"; +} + +.uniui-weixin:before { + content: "\e691"; +} + +.uniui-compose:before { + content: "\e67f"; +} + +.uniui-qq:before { + content: "\e680"; +} + +.uniui-download-filled:before { + content: "\e681"; +} + +.uniui-pyq:before { + content: "\e682"; +} + +.uniui-sound:before { + content: "\e684"; +} + +.uniui-trash-filled:before { + content: "\e685"; +} + +.uniui-sound-filled:before { + content: "\e686"; +} + +.uniui-trash:before { + content: "\e687"; +} + +.uniui-videocam-filled:before { + content: "\e689"; +} + +.uniui-spinner-cycle:before { + content: "\e68a"; +} + +.uniui-weibo:before { + content: "\e68b"; +} + +.uniui-videocam:before { + content: "\e68c"; +} + +.uniui-download:before { + content: "\e68d"; +} + +.uniui-help:before { + content: "\e679"; +} + +.uniui-navigate-filled:before { + content: "\e67a"; +} + +.uniui-plusempty:before { + content: "\e67b"; +} + +.uniui-smallcircle:before { + content: "\e67c"; +} + +.uniui-minus-filled:before { + content: "\e67d"; +} + +.uniui-micoff:before { + content: "\e67e"; +} + +.uniui-closeempty:before { + content: "\e66c"; +} + +.uniui-clear:before { + content: "\e66d"; +} + +.uniui-navigate:before { + content: "\e66e"; +} + +.uniui-minus:before { + content: "\e66f"; +} + +.uniui-image:before { + content: "\e670"; +} + +.uniui-mic:before { + content: "\e671"; +} + +.uniui-paperplane:before { + content: "\e672"; +} + +.uniui-close:before { + content: "\e673"; +} + +.uniui-help-filled:before { + content: "\e674"; +} + +.uniui-paperplane-filled:before { + content: "\e675"; +} + +.uniui-plus:before { + content: "\e676"; +} + +.uniui-mic-filled:before { + content: "\e677"; +} + +.uniui-image-filled:before { + content: "\e678"; +} + +.uniui-locked-filled:before { + content: "\e668"; +} + +.uniui-info:before { + content: "\e669"; +} + +.uniui-locked:before { + content: "\e66b"; +} + +.uniui-camera-filled:before { + content: "\e658"; +} + +.uniui-chat-filled:before { + content: "\e659"; +} + +.uniui-camera:before { + content: "\e65a"; +} + +.uniui-circle:before { + content: "\e65b"; +} + +.uniui-checkmarkempty:before { + content: "\e65c"; +} + +.uniui-chat:before { + content: "\e65d"; +} + +.uniui-circle-filled:before { + content: "\e65e"; +} + +.uniui-flag:before { + content: "\e65f"; +} + +.uniui-flag-filled:before { + content: "\e660"; +} + +.uniui-gear-filled:before { + content: "\e661"; +} + +.uniui-home:before { + content: "\e662"; +} + +.uniui-home-filled:before { + content: "\e663"; +} + +.uniui-gear:before { + content: "\e664"; +} + +.uniui-smallcircle-filled:before { + content: "\e665"; +} + +.uniui-map-filled:before { + content: "\e666"; +} + +.uniui-map:before { + content: "\e667"; +} + +.uniui-refresh-filled:before { + content: "\e656"; +} + +.uniui-refresh:before { + content: "\e657"; +} + +.uniui-cloud-upload:before { + content: "\e645"; +} + +.uniui-cloud-download-filled:before { + content: "\e646"; +} + +.uniui-cloud-download:before { + content: "\e647"; +} + +.uniui-cloud-upload-filled:before { + content: "\e648"; +} + +.uniui-redo:before { + content: "\e64a"; +} + +.uniui-images-filled:before { + content: "\e64b"; +} + +.uniui-undo-filled:before { + content: "\e64c"; +} + +.uniui-more:before { + content: "\e64d"; +} + +.uniui-more-filled:before { + content: "\e64e"; +} + +.uniui-undo:before { + content: "\e64f"; +} + +.uniui-images:before { + content: "\e650"; +} + +.uniui-paperclip:before { + content: "\e652"; +} + +.uniui-settings:before { + content: "\e653"; +} + +.uniui-search:before { + content: "\e654"; +} + +.uniui-redo-filled:before { + content: "\e655"; +} + +.uniui-list:before { + content: "\e644"; +} + +.uniui-mail-open-filled:before { + content: "\e63a"; +} + +.uniui-hand-down-filled:before { + content: "\e63c"; +} + +.uniui-hand-down:before { + content: "\e63d"; +} + +.uniui-hand-up-filled:before { + content: "\e63e"; +} + +.uniui-hand-up:before { + content: "\e63f"; +} + +.uniui-heart-filled:before { + content: "\e641"; +} + +.uniui-mail-open:before { + content: "\e643"; +} + +.uniui-heart:before { + content: "\e639"; +} + +.uniui-loop:before { + content: "\e633"; +} + +.uniui-pulldown:before { + content: "\e632"; +} + +.uniui-scan:before { + content: "\e62a"; +} + +.uniui-bars:before { + content: "\e627"; +} + +.uniui-checkbox:before { + content: "\e62b"; +} + +.uniui-checkbox-filled:before { + content: "\e62c"; +} + +.uniui-shop:before { + content: "\e62f"; +} + +.uniui-headphones:before { + content: "\e630"; +} + +.uniui-cart:before { + content: "\e631"; +} diff --git a/wuye-manager-uniapp/uni_modules/uni-icons/components/uni-icons/uniicons.ttf b/wuye-manager-uniapp/uni_modules/uni-icons/components/uni-icons/uniicons.ttf new file mode 100644 index 0000000000000000000000000000000000000000..14696d038d828073edac09ea4e5ba1dec2f58115 GIT binary patch literal 35824 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 F{2S@rCxHL} literal 0 HcmV?d00001 diff --git a/wuye-manager-uniapp/uni_modules/uni-icons/components/uni-icons/uniicons_file.ts b/wuye-manager-uniapp/uni_modules/uni-icons/components/uni-icons/uniicons_file.ts new file mode 100644 index 0000000..98e93aa --- /dev/null +++ b/wuye-manager-uniapp/uni_modules/uni-icons/components/uni-icons/uniicons_file.ts @@ -0,0 +1,664 @@ + +export type IconsData = { + id : string + name : string + font_family : string + css_prefix_text : string + description : string + glyphs : Array +} + +export type IconsDataItem = { + font_class : string + unicode : string +} + + +export const fontData = [ + { + "font_class": "arrow-down", + "unicode": "\ue6be" + }, + { + "font_class": "arrow-left", + "unicode": "\ue6bc" + }, + { + "font_class": "arrow-right", + "unicode": "\ue6bb" + }, + { + "font_class": "arrow-up", + "unicode": "\ue6bd" + }, + { + "font_class": "auth", + "unicode": "\ue6ab" + }, + { + "font_class": "auth-filled", + "unicode": "\ue6cc" + }, + { + "font_class": "back", + "unicode": "\ue6b9" + }, + { + "font_class": "bars", + "unicode": "\ue627" + }, + { + "font_class": "calendar", + "unicode": "\ue6a0" + }, + { + "font_class": "calendar-filled", + "unicode": "\ue6c0" + }, + { + "font_class": "camera", + "unicode": "\ue65a" + }, + { + "font_class": "camera-filled", + "unicode": "\ue658" + }, + { + "font_class": "cart", + "unicode": "\ue631" + }, + { + "font_class": "cart-filled", + "unicode": "\ue6d0" + }, + { + "font_class": "chat", + "unicode": "\ue65d" + }, + { + "font_class": "chat-filled", + "unicode": "\ue659" + }, + { + "font_class": "chatboxes", + "unicode": "\ue696" + }, + { + "font_class": "chatboxes-filled", + "unicode": "\ue692" + }, + { + "font_class": "chatbubble", + "unicode": "\ue697" + }, + { + "font_class": "chatbubble-filled", + "unicode": "\ue694" + }, + { + "font_class": "checkbox", + "unicode": "\ue62b" + }, + { + "font_class": "checkbox-filled", + "unicode": "\ue62c" + }, + { + "font_class": "checkmarkempty", + "unicode": "\ue65c" + }, + { + "font_class": "circle", + "unicode": "\ue65b" + }, + { + "font_class": "circle-filled", + "unicode": "\ue65e" + }, + { + "font_class": "clear", + "unicode": "\ue66d" + }, + { + "font_class": "close", + "unicode": "\ue673" + }, + { + "font_class": "closeempty", + "unicode": "\ue66c" + }, + { + "font_class": "cloud-download", + "unicode": "\ue647" + }, + { + "font_class": "cloud-download-filled", + "unicode": "\ue646" + }, + { + "font_class": "cloud-upload", + "unicode": "\ue645" + }, + { + "font_class": "cloud-upload-filled", + "unicode": "\ue648" + }, + { + "font_class": "color", + "unicode": "\ue6cf" + }, + { + "font_class": "color-filled", + "unicode": "\ue6c9" + }, + { + "font_class": "compose", + "unicode": "\ue67f" + }, + { + "font_class": "contact", + "unicode": "\ue693" + }, + { + "font_class": "contact-filled", + "unicode": "\ue695" + }, + { + "font_class": "down", + "unicode": "\ue6b8" + }, + { + "font_class": "bottom", + "unicode": "\ue6b8" + }, + { + "font_class": "download", + "unicode": "\ue68d" + }, + { + "font_class": "download-filled", + "unicode": "\ue681" + }, + { + "font_class": "email", + "unicode": "\ue69e" + }, + { + "font_class": "email-filled", + "unicode": "\ue69a" + }, + { + "font_class": "eye", + "unicode": "\ue651" + }, + { + "font_class": "eye-filled", + "unicode": "\ue66a" + }, + { + "font_class": "eye-slash", + "unicode": "\ue6b3" + }, + { + "font_class": "eye-slash-filled", + "unicode": "\ue6b4" + }, + { + "font_class": "fire", + "unicode": "\ue6a1" + }, + { + "font_class": "fire-filled", + "unicode": "\ue6c5" + }, + { + "font_class": "flag", + "unicode": "\ue65f" + }, + { + "font_class": "flag-filled", + "unicode": "\ue660" + }, + { + "font_class": "folder-add", + "unicode": "\ue6a9" + }, + { + "font_class": "folder-add-filled", + "unicode": "\ue6c8" + }, + { + "font_class": "font", + "unicode": "\ue6a3" + }, + { + "font_class": "forward", + "unicode": "\ue6ba" + }, + { + "font_class": "gear", + "unicode": "\ue664" + }, + { + "font_class": "gear-filled", + "unicode": "\ue661" + }, + { + "font_class": "gift", + "unicode": "\ue6a4" + }, + { + "font_class": "gift-filled", + "unicode": "\ue6c4" + }, + { + "font_class": "hand-down", + "unicode": "\ue63d" + }, + { + "font_class": "hand-down-filled", + "unicode": "\ue63c" + }, + { + "font_class": "hand-up", + "unicode": "\ue63f" + }, + { + "font_class": "hand-up-filled", + "unicode": "\ue63e" + }, + { + "font_class": "headphones", + "unicode": "\ue630" + }, + { + "font_class": "heart", + "unicode": "\ue639" + }, + { + "font_class": "heart-filled", + "unicode": "\ue641" + }, + { + "font_class": "help", + "unicode": "\ue679" + }, + { + "font_class": "help-filled", + "unicode": "\ue674" + }, + { + "font_class": "home", + "unicode": "\ue662" + }, + { + "font_class": "home-filled", + "unicode": "\ue663" + }, + { + "font_class": "image", + "unicode": "\ue670" + }, + { + "font_class": "image-filled", + "unicode": "\ue678" + }, + { + "font_class": "images", + "unicode": "\ue650" + }, + { + "font_class": "images-filled", + "unicode": "\ue64b" + }, + { + "font_class": "info", + "unicode": "\ue669" + }, + { + "font_class": "info-filled", + "unicode": "\ue649" + }, + { + "font_class": "left", + "unicode": "\ue6b7" + }, + { + "font_class": "link", + "unicode": "\ue6a5" + }, + { + "font_class": "list", + "unicode": "\ue644" + }, + { + "font_class": "location", + "unicode": "\ue6ae" + }, + { + "font_class": "location-filled", + "unicode": "\ue6af" + }, + { + "font_class": "locked", + "unicode": "\ue66b" + }, + { + "font_class": "locked-filled", + "unicode": "\ue668" + }, + { + "font_class": "loop", + "unicode": "\ue633" + }, + { + "font_class": "mail-open", + "unicode": "\ue643" + }, + { + "font_class": "mail-open-filled", + "unicode": "\ue63a" + }, + { + "font_class": "map", + "unicode": "\ue667" + }, + { + "font_class": "map-filled", + "unicode": "\ue666" + }, + { + "font_class": "map-pin", + "unicode": "\ue6ad" + }, + { + "font_class": "map-pin-ellipse", + "unicode": "\ue6ac" + }, + { + "font_class": "medal", + "unicode": "\ue6a2" + }, + { + "font_class": "medal-filled", + "unicode": "\ue6c3" + }, + { + "font_class": "mic", + "unicode": "\ue671" + }, + { + "font_class": "mic-filled", + "unicode": "\ue677" + }, + { + "font_class": "micoff", + "unicode": "\ue67e" + }, + { + "font_class": "micoff-filled", + "unicode": "\ue6b0" + }, + { + "font_class": "minus", + "unicode": "\ue66f" + }, + { + "font_class": "minus-filled", + "unicode": "\ue67d" + }, + { + "font_class": "more", + "unicode": "\ue64d" + }, + { + "font_class": "more-filled", + "unicode": "\ue64e" + }, + { + "font_class": "navigate", + "unicode": "\ue66e" + }, + { + "font_class": "navigate-filled", + "unicode": "\ue67a" + }, + { + "font_class": "notification", + "unicode": "\ue6a6" + }, + { + "font_class": "notification-filled", + "unicode": "\ue6c1" + }, + { + "font_class": "paperclip", + "unicode": "\ue652" + }, + { + "font_class": "paperplane", + "unicode": "\ue672" + }, + { + "font_class": "paperplane-filled", + "unicode": "\ue675" + }, + { + "font_class": "person", + "unicode": "\ue699" + }, + { + "font_class": "person-filled", + "unicode": "\ue69d" + }, + { + "font_class": "personadd", + "unicode": "\ue69f" + }, + { + "font_class": "personadd-filled", + "unicode": "\ue698" + }, + { + "font_class": "personadd-filled-copy", + "unicode": "\ue6d1" + }, + { + "font_class": "phone", + "unicode": "\ue69c" + }, + { + "font_class": "phone-filled", + "unicode": "\ue69b" + }, + { + "font_class": "plus", + "unicode": "\ue676" + }, + { + "font_class": "plus-filled", + "unicode": "\ue6c7" + }, + { + "font_class": "plusempty", + "unicode": "\ue67b" + }, + { + "font_class": "pulldown", + "unicode": "\ue632" + }, + { + "font_class": "pyq", + "unicode": "\ue682" + }, + { + "font_class": "qq", + "unicode": "\ue680" + }, + { + "font_class": "redo", + "unicode": "\ue64a" + }, + { + "font_class": "redo-filled", + "unicode": "\ue655" + }, + { + "font_class": "refresh", + "unicode": "\ue657" + }, + { + "font_class": "refresh-filled", + "unicode": "\ue656" + }, + { + "font_class": "refreshempty", + "unicode": "\ue6bf" + }, + { + "font_class": "reload", + "unicode": "\ue6b2" + }, + { + "font_class": "right", + "unicode": "\ue6b5" + }, + { + "font_class": "scan", + "unicode": "\ue62a" + }, + { + "font_class": "search", + "unicode": "\ue654" + }, + { + "font_class": "settings", + "unicode": "\ue653" + }, + { + "font_class": "settings-filled", + "unicode": "\ue6ce" + }, + { + "font_class": "shop", + "unicode": "\ue62f" + }, + { + "font_class": "shop-filled", + "unicode": "\ue6cd" + }, + { + "font_class": "smallcircle", + "unicode": "\ue67c" + }, + { + "font_class": "smallcircle-filled", + "unicode": "\ue665" + }, + { + "font_class": "sound", + "unicode": "\ue684" + }, + { + "font_class": "sound-filled", + "unicode": "\ue686" + }, + { + "font_class": "spinner-cycle", + "unicode": "\ue68a" + }, + { + "font_class": "staff", + "unicode": "\ue6a7" + }, + { + "font_class": "staff-filled", + "unicode": "\ue6cb" + }, + { + "font_class": "star", + "unicode": "\ue688" + }, + { + "font_class": "star-filled", + "unicode": "\ue68f" + }, + { + "font_class": "starhalf", + "unicode": "\ue683" + }, + { + "font_class": "trash", + "unicode": "\ue687" + }, + { + "font_class": "trash-filled", + "unicode": "\ue685" + }, + { + "font_class": "tune", + "unicode": "\ue6aa" + }, + { + "font_class": "tune-filled", + "unicode": "\ue6ca" + }, + { + "font_class": "undo", + "unicode": "\ue64f" + }, + { + "font_class": "undo-filled", + "unicode": "\ue64c" + }, + { + "font_class": "up", + "unicode": "\ue6b6" + }, + { + "font_class": "top", + "unicode": "\ue6b6" + }, + { + "font_class": "upload", + "unicode": "\ue690" + }, + { + "font_class": "upload-filled", + "unicode": "\ue68e" + }, + { + "font_class": "videocam", + "unicode": "\ue68c" + }, + { + "font_class": "videocam-filled", + "unicode": "\ue689" + }, + { + "font_class": "vip", + "unicode": "\ue6a8" + }, + { + "font_class": "vip-filled", + "unicode": "\ue6c6" + }, + { + "font_class": "wallet", + "unicode": "\ue6b1" + }, + { + "font_class": "wallet-filled", + "unicode": "\ue6c2" + }, + { + "font_class": "weibo", + "unicode": "\ue68b" + }, + { + "font_class": "weixin", + "unicode": "\ue691" + } +] as IconsDataItem[] + +// export const fontData = JSON.parse(fontDataJson) diff --git a/wuye-manager-uniapp/uni_modules/uni-icons/components/uni-icons/uniicons_file_vue.js b/wuye-manager-uniapp/uni_modules/uni-icons/components/uni-icons/uniicons_file_vue.js new file mode 100644 index 0000000..1cd11e1 --- /dev/null +++ b/wuye-manager-uniapp/uni_modules/uni-icons/components/uni-icons/uniicons_file_vue.js @@ -0,0 +1,649 @@ + +export const fontData = [ + { + "font_class": "arrow-down", + "unicode": "\ue6be" + }, + { + "font_class": "arrow-left", + "unicode": "\ue6bc" + }, + { + "font_class": "arrow-right", + "unicode": "\ue6bb" + }, + { + "font_class": "arrow-up", + "unicode": "\ue6bd" + }, + { + "font_class": "auth", + "unicode": "\ue6ab" + }, + { + "font_class": "auth-filled", + "unicode": "\ue6cc" + }, + { + "font_class": "back", + "unicode": "\ue6b9" + }, + { + "font_class": "bars", + "unicode": "\ue627" + }, + { + "font_class": "calendar", + "unicode": "\ue6a0" + }, + { + "font_class": "calendar-filled", + "unicode": "\ue6c0" + }, + { + "font_class": "camera", + "unicode": "\ue65a" + }, + { + "font_class": "camera-filled", + "unicode": "\ue658" + }, + { + "font_class": "cart", + "unicode": "\ue631" + }, + { + "font_class": "cart-filled", + "unicode": "\ue6d0" + }, + { + "font_class": "chat", + "unicode": "\ue65d" + }, + { + "font_class": "chat-filled", + "unicode": "\ue659" + }, + { + "font_class": "chatboxes", + "unicode": "\ue696" + }, + { + "font_class": "chatboxes-filled", + "unicode": "\ue692" + }, + { + "font_class": "chatbubble", + "unicode": "\ue697" + }, + { + "font_class": "chatbubble-filled", + "unicode": "\ue694" + }, + { + "font_class": "checkbox", + "unicode": "\ue62b" + }, + { + "font_class": "checkbox-filled", + "unicode": "\ue62c" + }, + { + "font_class": "checkmarkempty", + "unicode": "\ue65c" + }, + { + "font_class": "circle", + "unicode": "\ue65b" + }, + { + "font_class": "circle-filled", + "unicode": "\ue65e" + }, + { + "font_class": "clear", + "unicode": "\ue66d" + }, + { + "font_class": "close", + "unicode": "\ue673" + }, + { + "font_class": "closeempty", + "unicode": "\ue66c" + }, + { + "font_class": "cloud-download", + "unicode": "\ue647" + }, + { + "font_class": "cloud-download-filled", + "unicode": "\ue646" + }, + { + "font_class": "cloud-upload", + "unicode": "\ue645" + }, + { + "font_class": "cloud-upload-filled", + "unicode": "\ue648" + }, + { + "font_class": "color", + "unicode": "\ue6cf" + }, + { + "font_class": "color-filled", + "unicode": "\ue6c9" + }, + { + "font_class": "compose", + "unicode": "\ue67f" + }, + { + "font_class": "contact", + "unicode": "\ue693" + }, + { + "font_class": "contact-filled", + "unicode": "\ue695" + }, + { + "font_class": "down", + "unicode": "\ue6b8" + }, + { + "font_class": "bottom", + "unicode": "\ue6b8" + }, + { + "font_class": "download", + "unicode": "\ue68d" + }, + { + "font_class": "download-filled", + "unicode": "\ue681" + }, + { + "font_class": "email", + "unicode": "\ue69e" + }, + { + "font_class": "email-filled", + "unicode": "\ue69a" + }, + { + "font_class": "eye", + "unicode": "\ue651" + }, + { + "font_class": "eye-filled", + "unicode": "\ue66a" + }, + { + "font_class": "eye-slash", + "unicode": "\ue6b3" + }, + { + "font_class": "eye-slash-filled", + "unicode": "\ue6b4" + }, + { + "font_class": "fire", + "unicode": "\ue6a1" + }, + { + "font_class": "fire-filled", + "unicode": "\ue6c5" + }, + { + "font_class": "flag", + "unicode": "\ue65f" + }, + { + "font_class": "flag-filled", + "unicode": "\ue660" + }, + { + "font_class": "folder-add", + "unicode": "\ue6a9" + }, + { + "font_class": "folder-add-filled", + "unicode": "\ue6c8" + }, + { + "font_class": "font", + "unicode": "\ue6a3" + }, + { + "font_class": "forward", + "unicode": "\ue6ba" + }, + { + "font_class": "gear", + "unicode": "\ue664" + }, + { + "font_class": "gear-filled", + "unicode": "\ue661" + }, + { + "font_class": "gift", + "unicode": "\ue6a4" + }, + { + "font_class": "gift-filled", + "unicode": "\ue6c4" + }, + { + "font_class": "hand-down", + "unicode": "\ue63d" + }, + { + "font_class": "hand-down-filled", + "unicode": "\ue63c" + }, + { + "font_class": "hand-up", + "unicode": "\ue63f" + }, + { + "font_class": "hand-up-filled", + "unicode": "\ue63e" + }, + { + "font_class": "headphones", + "unicode": "\ue630" + }, + { + "font_class": "heart", + "unicode": "\ue639" + }, + { + "font_class": "heart-filled", + "unicode": "\ue641" + }, + { + "font_class": "help", + "unicode": "\ue679" + }, + { + "font_class": "help-filled", + "unicode": "\ue674" + }, + { + "font_class": "home", + "unicode": "\ue662" + }, + { + "font_class": "home-filled", + "unicode": "\ue663" + }, + { + "font_class": "image", + "unicode": "\ue670" + }, + { + "font_class": "image-filled", + "unicode": "\ue678" + }, + { + "font_class": "images", + "unicode": "\ue650" + }, + { + "font_class": "images-filled", + "unicode": "\ue64b" + }, + { + "font_class": "info", + "unicode": "\ue669" + }, + { + "font_class": "info-filled", + "unicode": "\ue649" + }, + { + "font_class": "left", + "unicode": "\ue6b7" + }, + { + "font_class": "link", + "unicode": "\ue6a5" + }, + { + "font_class": "list", + "unicode": "\ue644" + }, + { + "font_class": "location", + "unicode": "\ue6ae" + }, + { + "font_class": "location-filled", + "unicode": "\ue6af" + }, + { + "font_class": "locked", + "unicode": "\ue66b" + }, + { + "font_class": "locked-filled", + "unicode": "\ue668" + }, + { + "font_class": "loop", + "unicode": "\ue633" + }, + { + "font_class": "mail-open", + "unicode": "\ue643" + }, + { + "font_class": "mail-open-filled", + "unicode": "\ue63a" + }, + { + "font_class": "map", + "unicode": "\ue667" + }, + { + "font_class": "map-filled", + "unicode": "\ue666" + }, + { + "font_class": "map-pin", + "unicode": "\ue6ad" + }, + { + "font_class": "map-pin-ellipse", + "unicode": "\ue6ac" + }, + { + "font_class": "medal", + "unicode": "\ue6a2" + }, + { + "font_class": "medal-filled", + "unicode": "\ue6c3" + }, + { + "font_class": "mic", + "unicode": "\ue671" + }, + { + "font_class": "mic-filled", + "unicode": "\ue677" + }, + { + "font_class": "micoff", + "unicode": "\ue67e" + }, + { + "font_class": "micoff-filled", + "unicode": "\ue6b0" + }, + { + "font_class": "minus", + "unicode": "\ue66f" + }, + { + "font_class": "minus-filled", + "unicode": "\ue67d" + }, + { + "font_class": "more", + "unicode": "\ue64d" + }, + { + "font_class": "more-filled", + "unicode": "\ue64e" + }, + { + "font_class": "navigate", + "unicode": "\ue66e" + }, + { + "font_class": "navigate-filled", + "unicode": "\ue67a" + }, + { + "font_class": "notification", + "unicode": "\ue6a6" + }, + { + "font_class": "notification-filled", + "unicode": "\ue6c1" + }, + { + "font_class": "paperclip", + "unicode": "\ue652" + }, + { + "font_class": "paperplane", + "unicode": "\ue672" + }, + { + "font_class": "paperplane-filled", + "unicode": "\ue675" + }, + { + "font_class": "person", + "unicode": "\ue699" + }, + { + "font_class": "person-filled", + "unicode": "\ue69d" + }, + { + "font_class": "personadd", + "unicode": "\ue69f" + }, + { + "font_class": "personadd-filled", + "unicode": "\ue698" + }, + { + "font_class": "personadd-filled-copy", + "unicode": "\ue6d1" + }, + { + "font_class": "phone", + "unicode": "\ue69c" + }, + { + "font_class": "phone-filled", + "unicode": "\ue69b" + }, + { + "font_class": "plus", + "unicode": "\ue676" + }, + { + "font_class": "plus-filled", + "unicode": "\ue6c7" + }, + { + "font_class": "plusempty", + "unicode": "\ue67b" + }, + { + "font_class": "pulldown", + "unicode": "\ue632" + }, + { + "font_class": "pyq", + "unicode": "\ue682" + }, + { + "font_class": "qq", + "unicode": "\ue680" + }, + { + "font_class": "redo", + "unicode": "\ue64a" + }, + { + "font_class": "redo-filled", + "unicode": "\ue655" + }, + { + "font_class": "refresh", + "unicode": "\ue657" + }, + { + "font_class": "refresh-filled", + "unicode": "\ue656" + }, + { + "font_class": "refreshempty", + "unicode": "\ue6bf" + }, + { + "font_class": "reload", + "unicode": "\ue6b2" + }, + { + "font_class": "right", + "unicode": "\ue6b5" + }, + { + "font_class": "scan", + "unicode": "\ue62a" + }, + { + "font_class": "search", + "unicode": "\ue654" + }, + { + "font_class": "settings", + "unicode": "\ue653" + }, + { + "font_class": "settings-filled", + "unicode": "\ue6ce" + }, + { + "font_class": "shop", + "unicode": "\ue62f" + }, + { + "font_class": "shop-filled", + "unicode": "\ue6cd" + }, + { + "font_class": "smallcircle", + "unicode": "\ue67c" + }, + { + "font_class": "smallcircle-filled", + "unicode": "\ue665" + }, + { + "font_class": "sound", + "unicode": "\ue684" + }, + { + "font_class": "sound-filled", + "unicode": "\ue686" + }, + { + "font_class": "spinner-cycle", + "unicode": "\ue68a" + }, + { + "font_class": "staff", + "unicode": "\ue6a7" + }, + { + "font_class": "staff-filled", + "unicode": "\ue6cb" + }, + { + "font_class": "star", + "unicode": "\ue688" + }, + { + "font_class": "star-filled", + "unicode": "\ue68f" + }, + { + "font_class": "starhalf", + "unicode": "\ue683" + }, + { + "font_class": "trash", + "unicode": "\ue687" + }, + { + "font_class": "trash-filled", + "unicode": "\ue685" + }, + { + "font_class": "tune", + "unicode": "\ue6aa" + }, + { + "font_class": "tune-filled", + "unicode": "\ue6ca" + }, + { + "font_class": "undo", + "unicode": "\ue64f" + }, + { + "font_class": "undo-filled", + "unicode": "\ue64c" + }, + { + "font_class": "up", + "unicode": "\ue6b6" + }, + { + "font_class": "top", + "unicode": "\ue6b6" + }, + { + "font_class": "upload", + "unicode": "\ue690" + }, + { + "font_class": "upload-filled", + "unicode": "\ue68e" + }, + { + "font_class": "videocam", + "unicode": "\ue68c" + }, + { + "font_class": "videocam-filled", + "unicode": "\ue689" + }, + { + "font_class": "vip", + "unicode": "\ue6a8" + }, + { + "font_class": "vip-filled", + "unicode": "\ue6c6" + }, + { + "font_class": "wallet", + "unicode": "\ue6b1" + }, + { + "font_class": "wallet-filled", + "unicode": "\ue6c2" + }, + { + "font_class": "weibo", + "unicode": "\ue68b" + }, + { + "font_class": "weixin", + "unicode": "\ue691" + } +] + +// export const fontData = JSON.parse(fontDataJson) diff --git a/wuye-manager-uniapp/uni_modules/uni-icons/package.json b/wuye-manager-uniapp/uni_modules/uni-icons/package.json new file mode 100644 index 0000000..60e45f0 --- /dev/null +++ b/wuye-manager-uniapp/uni_modules/uni-icons/package.json @@ -0,0 +1,111 @@ +{ + "id": "uni-icons", + "displayName": "uni-icons 图标", + "version": "2.0.12", + "description": "图标组件,用于展示移动端常见的图标,可自定义颜色、大小。", + "keywords": [ + "uni-ui", + "uniui", + "icon", + "图标" +], + "repository": "https://github.com/dcloudio/uni-ui", + "engines": { + "HBuilderX": "^3.2.14", + "uni-app": "^4.08", + "uni-app-x": "^4.61" + }, + "directories": { + "example": "../../temps/example_temps" + }, + "dcloudext": { + "sale": { + "regular": { + "price": "0.00" + }, + "sourcecode": { + "price": "0.00" + } + }, + "contact": { + "qq": "" + }, + "declaration": { + "ads": "无", + "data": "无", + "permissions": "无" + }, + "npmurl": "https://www.npmjs.com/package/@dcloudio/uni-ui", + "type": "component-vue", + "darkmode": "x", + "i18n": "x", + "widescreen": "x" + }, + "uni_modules": { + "dependencies": [ + "uni-scss" + ], + "encrypt": [], + "platforms": { + "cloud": { + "tcb": "x", + "aliyun": "x", + "alipay": "x" + }, + "client": { + "uni-app": { + "vue": { + "vue2": "√", + "vue3": "√" + }, + "web": { + "safari": "√", + "chrome": "√" + }, + "app": { + "vue": "√", + "nvue": "-", + "android": { + "extVersion": "", + "minVersion": "29" + }, + "ios": "√", + "harmony": "√" + }, + "mp": { + "weixin": "√", + "alipay": "√", + "toutiao": "√", + "baidu": "√", + "kuaishou": "-", + "jd": "-", + "harmony": "-", + "qq": "√", + "lark": "-" + }, + "quickapp": { + "huawei": "√", + "union": "√" + } + }, + "uni-app-x": { + "web": { + "safari": "√", + "chrome": "√" + }, + "app": { + "android": { + "extVersion": "", + "minVersion": "29" + }, + "ios": "√", + "harmony": "√" + }, + "mp": { + "weixin": "√" + } + } + } + } + } +} \ No newline at end of file diff --git a/wuye-manager-uniapp/uni_modules/uni-icons/readme.md b/wuye-manager-uniapp/uni_modules/uni-icons/readme.md new file mode 100644 index 0000000..86234ba --- /dev/null +++ b/wuye-manager-uniapp/uni_modules/uni-icons/readme.md @@ -0,0 +1,8 @@ +## Icons 图标 +> **组件名:uni-icons** +> 代码块: `uIcons` + +用于展示 icons 图标 。 + +### [查看文档](https://uniapp.dcloud.io/component/uniui/uni-icons) +#### 如使用过程中有任何问题,或者您对uni-ui有一些好的建议,欢迎加入 uni-ui 交流群:871950839 diff --git a/wuye-manager-uniapp/uni_modules/uni-indexed-list/changelog.md b/wuye-manager-uniapp/uni_modules/uni-indexed-list/changelog.md new file mode 100644 index 0000000..546e753 --- /dev/null +++ b/wuye-manager-uniapp/uni_modules/uni-indexed-list/changelog.md @@ -0,0 +1,19 @@ +## 1.2.2(2026-02-09) +- 修复 pc 触屏问题 +## 1.2.1(2021-11-22) +- 修复 vue3中某些scss变量无法找到的问题 +## 1.2.0(2021-11-19) +- 优化 组件UI,并提供设计资源,详见:[https://uniapp.dcloud.io/component/uniui/resource](https://uniapp.dcloud.io/component/uniui/resource) +- 文档迁移,详见:[https://uniapp.dcloud.io/component/uniui/uni-indexed-list](https://uniapp.dcloud.io/component/uniui/uni-indexed-list) +## 1.1.0(2021-07-30) +- 组件兼容 vue3,如何创建vue3项目,详见 [uni-app 项目支持 vue3 介绍](https://ask.dcloud.net.cn/article/37834) +## 1.0.11(2021-05-12) +- 新增 组件示例地址 +## 1.0.10(2021-04-21) +- 优化 添加依赖 uni-icons, 导入后自动下载依赖 +## 1.0.9(2021-02-05) +- 优化 组件引用关系,通过uni_modules引用组件 + +## 1.0.8(2021-02-05) +- 调整为uni_modules目录规范 +- 新增 支持 PC 端 diff --git a/wuye-manager-uniapp/uni_modules/uni-indexed-list/components/uni-indexed-list/uni-indexed-list-item.vue b/wuye-manager-uniapp/uni_modules/uni-indexed-list/components/uni-indexed-list/uni-indexed-list-item.vue new file mode 100644 index 0000000..19284bd --- /dev/null +++ b/wuye-manager-uniapp/uni_modules/uni-indexed-list/components/uni-indexed-list/uni-indexed-list-item.vue @@ -0,0 +1,144 @@ + + + + + diff --git a/wuye-manager-uniapp/uni_modules/uni-indexed-list/components/uni-indexed-list/uni-indexed-list.vue b/wuye-manager-uniapp/uni_modules/uni-indexed-list/components/uni-indexed-list/uni-indexed-list.vue new file mode 100644 index 0000000..c07ffd1 --- /dev/null +++ b/wuye-manager-uniapp/uni_modules/uni-indexed-list/components/uni-indexed-list/uni-indexed-list.vue @@ -0,0 +1,376 @@ + + + diff --git a/wuye-manager-uniapp/uni_modules/uni-indexed-list/package.json b/wuye-manager-uniapp/uni_modules/uni-indexed-list/package.json new file mode 100644 index 0000000..83e0005 --- /dev/null +++ b/wuye-manager-uniapp/uni_modules/uni-indexed-list/package.json @@ -0,0 +1,107 @@ +{ + "id": "uni-indexed-list", + "displayName": "uni-indexed-list 索引列表", + "version": "1.2.2", + "description": "索引列表组件,右侧带索引的列表,方便快速定位到具体内容,通常用于城市/机场选择等场景", + "keywords": [ + "uni-ui", + "索引列表", + "索引", + "列表" +], + "repository": "https://github.com/dcloudio/uni-ui", + "engines": { + "HBuilderX": "", + "uni-app": "^4.05", + "uni-app-x": "" + }, + "directories": { + "example": "../../temps/example_temps" + }, + "dcloudext": { + "sale": { + "regular": { + "price": "0.00" + }, + "sourcecode": { + "price": "0.00" + } + }, + "contact": { + "qq": "" + }, + "declaration": { + "ads": "无", + "data": "无", + "permissions": "无" + }, + "npmurl": "https://www.npmjs.com/package/@dcloudio/uni-ui", + "type": "component-vue", + "darkmode": "x", + "i18n": "x", + "widescreen": "x" + }, + "uni_modules": { + "dependencies": [ + "uni-scss", + "uni-icons" + ], + "encrypt": [], + "platforms": { + "cloud": { + "tcb": "x", + "aliyun": "x", + "alipay": "x" + }, + "client": { + "uni-app": { + "vue": { + "vue2": "√", + "vue3": "√" + }, + "web": { + "safari": "√", + "chrome": "√" + }, + "app": { + "vue": "√", + "nvue": "√", + "android": "√", + "ios": "√", + "harmony": "√" + }, + "mp": { + "weixin": "√", + "alipay": "√", + "toutiao": "√", + "baidu": "√", + "kuaishou": "-", + "jd": "-", + "harmony": "-", + "qq": "√", + "lark": "-", + "xhs": "-" + }, + "quickapp": { + "huawei": "√", + "union": "√" + } + }, + "uni-app-x": { + "web": { + "safari": "-", + "chrome": "-" + }, + "app": { + "android": "-", + "ios": "-", + "harmony": "-" + }, + "mp": { + "weixin": "-" + } + } + } + } + } +} \ No newline at end of file diff --git a/wuye-manager-uniapp/uni_modules/uni-indexed-list/readme.md b/wuye-manager-uniapp/uni_modules/uni-indexed-list/readme.md new file mode 100644 index 0000000..f3913d7 --- /dev/null +++ b/wuye-manager-uniapp/uni_modules/uni-indexed-list/readme.md @@ -0,0 +1,10 @@ + + +## IndexedList 索引列表 +> **组件名:uni-indexed-list** +> 代码块: `uIndexedList` + + +用于展示索引列表。 + +### [查看文档](https://uniapp.dcloud.io/component/uniui/uni-indexed-list) \ No newline at end of file diff --git a/wuye-manager-uniapp/uni_modules/uni-link/changelog.md b/wuye-manager-uniapp/uni_modules/uni-link/changelog.md new file mode 100644 index 0000000..2cfbf59 --- /dev/null +++ b/wuye-manager-uniapp/uni_modules/uni-link/changelog.md @@ -0,0 +1,17 @@ +## 1.0.0(2021-11-19) +- 优化 组件UI,并提供设计资源,详见:[https://uniapp.dcloud.io/component/uniui/resource](https://uniapp.dcloud.io/component/uniui/resource) +- 文档迁移,详见:[https://uniapp.dcloud.io/component/uniui/uni-link](https://uniapp.dcloud.io/component/uniui/uni-link) +## 1.1.7(2021-11-08) +## 0.0.7(2021-09-03) +- 修复 在 nvue 下不显示的 bug +## 0.0.6(2021-07-30) +- 新增 支持自定义插槽 +## 0.0.5(2021-06-21) +- 新增 download 属性,H5平台下载文件名 +## 0.0.4(2021-05-12) +- 新增 组件示例地址 +## 0.0.3(2021-03-09) +- 新增 href 属性支持 tel:|mailto: + +## 0.0.2(2021-02-05) +- 调整为uni_modules目录规范 diff --git a/wuye-manager-uniapp/uni_modules/uni-link/components/uni-link/uni-link.vue b/wuye-manager-uniapp/uni_modules/uni-link/components/uni-link/uni-link.vue new file mode 100644 index 0000000..27c5468 --- /dev/null +++ b/wuye-manager-uniapp/uni_modules/uni-link/components/uni-link/uni-link.vue @@ -0,0 +1,128 @@ + + + + + diff --git a/wuye-manager-uniapp/uni_modules/uni-link/package.json b/wuye-manager-uniapp/uni_modules/uni-link/package.json new file mode 100644 index 0000000..77b1986 --- /dev/null +++ b/wuye-manager-uniapp/uni_modules/uni-link/package.json @@ -0,0 +1,87 @@ +{ + "id": "uni-link", + "displayName": "uni-link 超链接", + "version": "1.0.0", + "description": "uni-link是一个外部网页超链接组件,在小程序内复制url,在app内打开外部浏览器,在h5端打", + "keywords": [ + "uni-ui", + "uniui", + "link", + "超链接", + "" +], + "repository": "https://github.com/dcloudio/uni-ui", + "engines": { + "HBuilderX": "" + }, + "directories": { + "example": "../../temps/example_temps" + }, + "dcloudext": { + "category": [ + "前端组件", + "通用组件" + ], + "sale": { + "regular": { + "price": "0.00" + }, + "sourcecode": { + "price": "0.00" + } + }, + "contact": { + "qq": "" + }, + "declaration": { + "ads": "无", + "data": "无", + "permissions": "无" + }, + "npmurl": "https://www.npmjs.com/package/@dcloudio/uni-ui" + }, + "uni_modules": { + "dependencies": ["uni-scss"], + "encrypt": [], + "platforms": { + "cloud": { + "tcb": "y", + "aliyun": "y" + }, + "client": { + "App": { + "app-vue": "y", + "app-nvue": "y" + }, + "H5-mobile": { + "Safari": "y", + "Android Browser": "y", + "微信浏览器(Android)": "y", + "QQ浏览器(Android)": "y" + }, + "H5-pc": { + "Chrome": "y", + "IE": "y", + "Edge": "y", + "Firefox": "y", + "Safari": "y" + }, + "小程序": { + "微信": "y", + "阿里": "y", + "百度": "y", + "字节跳动": "y", + "QQ": "y" + }, + "快应用": { + "华为": "y", + "联盟": "y" + }, + "Vue": { + "vue2": "y", + "vue3": "y" + } + } + } + } +} \ No newline at end of file diff --git a/wuye-manager-uniapp/uni_modules/uni-link/readme.md b/wuye-manager-uniapp/uni_modules/uni-link/readme.md new file mode 100644 index 0000000..7f09e94 --- /dev/null +++ b/wuye-manager-uniapp/uni_modules/uni-link/readme.md @@ -0,0 +1,11 @@ + + +## Link 链接 +> **组件名:uni-link** +> 代码块: `uLink` + + +uni-link是一个外部网页超链接组件,在小程序内复制url,在app内打开外部浏览器,在h5端打开新网页。 + +### [查看文档](https://uniapp.dcloud.io/component/uniui/uni-link) +#### 如使用过程中有任何问题,或者您对uni-ui有一些好的建议,欢迎加入 uni-ui 交流群:871950839 \ No newline at end of file diff --git a/wuye-manager-uniapp/uni_modules/uni-list/changelog.md b/wuye-manager-uniapp/uni_modules/uni-list/changelog.md new file mode 100644 index 0000000..c5eb981 --- /dev/null +++ b/wuye-manager-uniapp/uni_modules/uni-list/changelog.md @@ -0,0 +1,52 @@ +## 1.2.17(2025-08-20) +- 修复 右侧箭头类型错误的问题 +## 1.2.16(2025-04-14) +- 修复 可触发点击反馈的 uni-list-item 没有hover效果的问题 +## 1.2.15(2025-01-08) +- 修复 示例中过期图片地址 +## 1.2.14(2023-04-14) +- 优化 uni-list-chat 具名插槽`header` 非app端套一层元素,方便使用时通过外层元素定位实现样式修改 +## 1.2.13(2023-03-03) +- uni-list-chat 新增 支持具名插槽`header` +## 1.2.12(2023-02-01) +- 新增 列表图标新增 customPrefix 属性 ,用法 [详见](https://uniapp.dcloud.net.cn/component/uniui/uni-icons.html#icons-props) +## 1.2.11(2023-01-31) +- 修复 无反馈效果呈现的bug +## 1.2.9(2022-11-22) +- 修复 uni-list-chat 在vue3下跳转报错的bug +## 1.2.8(2022-11-21) +- 修复 uni-list-chat avatar属性 值为本地路径时错误的问题 +## 1.2.7(2022-11-21) +- 修复 uni-list-chat avatar属性 在腾讯云版uniCloud下错误的问题 +## 1.2.6(2022-11-18) +- 修复 uni-list-chat note属性 支持:“草稿”字样功能 文本少1位的问题 +## 1.2.5(2022-11-15) +- 修复 uni-list-item 的 customStyle 属性 padding值在 H5端 无效的bug +## 1.2.4(2022-11-15) +- 修复 uni-list-item 的 customStyle 属性 padding值在nvue(vue2)下无效的bug +## 1.2.3(2022-11-14) +- uni-list-chat 新增 avatar 支持 fileId +## 1.2.2(2022-11-11) +- uni-list 新增属性 render-reverse 详情参考:[https://uniapp.dcloud.net.cn/component/list.html](https://uniapp.dcloud.net.cn/component/list.html) +- uni-list-chat note属性 支持:“草稿”字样 加红显示 详情参考uni-im:[https://ext.dcloud.net.cn/plugin?name=uni-im](https://ext.dcloud.net.cn/plugin?name=uni-im) +- uni-list-item 新增属性 customStyle 支持设置padding、backgroundColor +## 1.2.1(2022-03-30) +- 删除无用文件 +## 1.2.0(2021-11-23) +- 优化 组件UI,并提供设计资源,详见:[https://uniapp.dcloud.io/component/uniui/resource](https://uniapp.dcloud.io/component/uniui/resource) +- 文档迁移,详见:[https://uniapp.dcloud.io/component/uniui/uni-list](https://uniapp.dcloud.io/component/uniui/uni-list) +## 1.1.3(2021-08-30) +- 修复 在vue3中to属性在发行应用的时候报错的bug +## 1.1.2(2021-07-30) +- 优化 vue3下事件警告的问题 +## 1.1.1(2021-07-21) +- 修复 与其他组件嵌套使用时,点击失效的Bug +## 1.1.0(2021-07-13) +- 组件兼容 vue3,如何创建vue3项目,详见 [uni-app 项目支持 vue3 介绍](https://ask.dcloud.net.cn/article/37834) +## 1.0.17(2021-05-12) +- 新增 组件示例地址 +## 1.0.16(2021-02-05) +- 优化 组件引用关系,通过uni_modules引用组件 +## 1.0.15(2021-02-05) +- 调整为uni_modules目录规范 +- 修复 uni-list-chat 角标显示不正常的问题 diff --git a/wuye-manager-uniapp/uni_modules/uni-list/components/uni-list-ad/uni-list-ad.vue b/wuye-manager-uniapp/uni_modules/uni-list/components/uni-list-ad/uni-list-ad.vue new file mode 100644 index 0000000..b9349c2 --- /dev/null +++ b/wuye-manager-uniapp/uni_modules/uni-list/components/uni-list-ad/uni-list-ad.vue @@ -0,0 +1,107 @@ + + + + + diff --git a/wuye-manager-uniapp/uni_modules/uni-list/components/uni-list-chat/uni-list-chat.scss b/wuye-manager-uniapp/uni_modules/uni-list/components/uni-list-chat/uni-list-chat.scss new file mode 100644 index 0000000..311f8d9 --- /dev/null +++ b/wuye-manager-uniapp/uni_modules/uni-list/components/uni-list-chat/uni-list-chat.scss @@ -0,0 +1,58 @@ +/** + * 这里是 uni-list 组件内置的常用样式变量 + * 如果需要覆盖样式,这里提供了基本的组件样式变量,您可以尝试修改这里的变量,去完成样式替换,而不用去修改源码 + * + */ + +// 背景色 +$background-color : #fff; +// 分割线颜色 +$divide-line-color : #e5e5e5; + +// 默认头像大小,如需要修改此值,注意同步修改 js 中的值 const avatarWidth = xx ,目前只支持方形头像 +// nvue 页面不支持修改头像大小 +$avatar-width : 45px ; + +// 头像边框 +$avatar-border-radius: 5px; +$avatar-border-color: #eee; +$avatar-border-width: 1px; + +// 标题文字样式 +$title-size : 16px; +$title-color : #3b4144; +$title-weight : normal; + +// 描述文字样式 +$note-size : 12px; +$note-color : #999; +$note-weight : normal; + +// 右侧额外内容默认样式 +$right-text-size : 12px; +$right-text-color : #999; +$right-text-weight : normal; + +// 角标样式 +// nvue 页面不支持修改圆点位置以及大小 +// 角标在左侧时,角标的位置,默认为 0 ,负数左/下移动,正数右/上移动 +$badge-left: 0px; +$badge-top: 0px; + +// 显示圆点时,圆点大小 +$dot-width: 10px; +$dot-height: 10px; + +// 显示角标时,角标大小和字体大小 +$badge-size : 18px; +$badge-font : 12px; +// 显示角标时,角标前景色 +$badge-color : #fff; +// 显示角标时,角标背景色 +$badge-background-color : #ff5a5f; +// 显示角标时,角标左右间距 +$badge-space : 6px; + +// 状态样式 +// 选中颜色 +$hover : #f5f5f5; diff --git a/wuye-manager-uniapp/uni_modules/uni-list/components/uni-list-chat/uni-list-chat.vue b/wuye-manager-uniapp/uni_modules/uni-list/components/uni-list-chat/uni-list-chat.vue new file mode 100644 index 0000000..d49fd7c --- /dev/null +++ b/wuye-manager-uniapp/uni_modules/uni-list/components/uni-list-chat/uni-list-chat.vue @@ -0,0 +1,593 @@ + + + + + diff --git a/wuye-manager-uniapp/uni_modules/uni-list/components/uni-list-item/uni-list-item.vue b/wuye-manager-uniapp/uni_modules/uni-list/components/uni-list-item/uni-list-item.vue new file mode 100644 index 0000000..57b188d --- /dev/null +++ b/wuye-manager-uniapp/uni_modules/uni-list/components/uni-list-item/uni-list-item.vue @@ -0,0 +1,542 @@ + + + + + diff --git a/wuye-manager-uniapp/uni_modules/uni-list/components/uni-list/uni-list.vue b/wuye-manager-uniapp/uni_modules/uni-list/components/uni-list/uni-list.vue new file mode 100644 index 0000000..6ef5972 --- /dev/null +++ b/wuye-manager-uniapp/uni_modules/uni-list/components/uni-list/uni-list.vue @@ -0,0 +1,123 @@ + + + + diff --git a/wuye-manager-uniapp/uni_modules/uni-list/components/uni-list/uni-refresh.vue b/wuye-manager-uniapp/uni_modules/uni-list/components/uni-list/uni-refresh.vue new file mode 100644 index 0000000..3b4c5a2 --- /dev/null +++ b/wuye-manager-uniapp/uni_modules/uni-list/components/uni-list/uni-refresh.vue @@ -0,0 +1,65 @@ + + + + + diff --git a/wuye-manager-uniapp/uni_modules/uni-list/components/uni-list/uni-refresh.wxs b/wuye-manager-uniapp/uni_modules/uni-list/components/uni-list/uni-refresh.wxs new file mode 100644 index 0000000..818a6b7 --- /dev/null +++ b/wuye-manager-uniapp/uni_modules/uni-list/components/uni-list/uni-refresh.wxs @@ -0,0 +1,87 @@ +var pullDown = { + threshold: 95, + maxHeight: 200, + callRefresh: 'onrefresh', + callPullingDown: 'onpullingdown', + refreshSelector: '.uni-refresh' +}; + +function ready(newValue, oldValue, ownerInstance, instance) { + var state = instance.getState() + state.canPullDown = newValue; + // console.log(newValue); +} + +function touchStart(e, instance) { + var state = instance.getState(); + state.refreshInstance = instance.selectComponent(pullDown.refreshSelector); + state.canPullDown = (state.refreshInstance != null && state.refreshInstance != undefined); + if (!state.canPullDown) { + return + } + + // console.log("touchStart"); + + state.height = 0; + state.touchStartY = e.touches[0].pageY || e.changedTouches[0].pageY; + state.refreshInstance.setStyle({ + 'height': 0 + }); + state.refreshInstance.callMethod("onchange", true); +} + +function touchMove(e, ownerInstance) { + var instance = e.instance; + var state = instance.getState(); + if (!state.canPullDown) { + return + } + + var oldHeight = state.height; + var endY = e.touches[0].pageY || e.changedTouches[0].pageY; + var height = endY - state.touchStartY; + if (height > pullDown.maxHeight) { + return; + } + + var refreshInstance = state.refreshInstance; + refreshInstance.setStyle({ + 'height': height + 'px' + }); + + height = height < pullDown.maxHeight ? height : pullDown.maxHeight; + state.height = height; + refreshInstance.callMethod(pullDown.callPullingDown, { + height: height + }); +} + +function touchEnd(e, ownerInstance) { + var state = e.instance.getState(); + if (!state.canPullDown) { + return + } + + state.refreshInstance.callMethod("onchange", false); + + var refreshInstance = state.refreshInstance; + if (state.height > pullDown.threshold) { + refreshInstance.callMethod(pullDown.callRefresh); + return; + } + + refreshInstance.setStyle({ + 'height': 0 + }); +} + +function propObserver(newValue, oldValue, instance) { + pullDown = newValue; +} + +module.exports = { + touchmove: touchMove, + touchstart: touchStart, + touchend: touchEnd, + propObserver: propObserver +} diff --git a/wuye-manager-uniapp/uni_modules/uni-list/package.json b/wuye-manager-uniapp/uni_modules/uni-list/package.json new file mode 100644 index 0000000..4512c76 --- /dev/null +++ b/wuye-manager-uniapp/uni_modules/uni-list/package.json @@ -0,0 +1,108 @@ +{ + "id": "uni-list", + "displayName": "uni-list 列表", + "version": "1.2.17", + "description": "List 组件 ,帮助使用者快速构建列表。", + "keywords": [ + "", + "uni-ui", + "uniui", + "列表", + "", + "list" +], + "repository": "https://github.com/dcloudio/uni-ui", + "engines": { + "HBuilderX": "", + "uni-app": "^4.08", + "uni-app-x": "" + }, + "directories": { + "example": "../../temps/example_temps" + }, + "dcloudext": { + "sale": { + "regular": { + "price": "0.00" + }, + "sourcecode": { + "price": "0.00" + } + }, + "contact": { + "qq": "" + }, + "declaration": { + "ads": "无", + "data": "无", + "permissions": "无" + }, + "npmurl": "https://www.npmjs.com/package/@dcloudio/uni-ui", + "type": "component-vue", + "darkmode": "x", + "i18n": "x", + "widescreen": "x" + }, + "uni_modules": { + "dependencies": [ + "uni-badge", + "uni-icons" + ], + "encrypt": [], + "platforms": { + "cloud": { + "tcb": "x", + "aliyun": "x", + "alipay": "x" + }, + "client": { + "uni-app": { + "vue": { + "vue2": "√", + "vue3": "√" + }, + "web": { + "safari": "√", + "chrome": "√" + }, + "app": { + "vue": "√", + "nvue": "-", + "android": "√", + "ios": "√", + "harmony": "√" + }, + "mp": { + "weixin": "√", + "alipay": "√", + "toutiao": "√", + "baidu": "√", + "kuaishou": "-", + "jd": "-", + "harmony": "-", + "qq": "√", + "lark": "-" + }, + "quickapp": { + "huawei": "√", + "union": "√" + } + }, + "uni-app-x": { + "web": { + "safari": "-", + "chrome": "-" + }, + "app": { + "android": "-", + "ios": "-", + "harmony": "-" + }, + "mp": { + "weixin": "-" + } + } + } + } + } +} \ No newline at end of file diff --git a/wuye-manager-uniapp/uni_modules/uni-list/readme.md b/wuye-manager-uniapp/uni_modules/uni-list/readme.md new file mode 100644 index 0000000..ae499e6 --- /dev/null +++ b/wuye-manager-uniapp/uni_modules/uni-list/readme.md @@ -0,0 +1,46 @@ +## List 列表 +> **组件名:uni-list** +> 代码块: `uList`、`uListItem` +> 关联组件:`uni-list-item`、`uni-badge`、`uni-icons`、`uni-list-chat`、`uni-list-ad` + + +List 列表组件,包含基本列表样式、可扩展插槽机制、长列表性能优化、多端兼容。 + +在vue页面里,它默认使用页面级滚动。在app-nvue页面里,它默认使用原生list组件滚动。这样的长列表,在滚动出屏幕外后,系统会回收不可见区域的渲染内存资源,不会造成滚动越长手机越卡的问题。 + +uni-list组件是父容器,里面的核心是uni-list-item子组件,它代表列表中的一个可重复行,子组件可以无限循环。 + +uni-list-item有很多风格,uni-list-item组件通过内置的属性,满足一些常用的场景。当内置属性不满足需求时,可以通过扩展插槽来自定义列表内容。 + +内置属性可以覆盖的场景包括:导航列表、设置列表、小图标列表、通信录列表、聊天记录列表。 + +涉及很多大图或丰富内容的列表,比如类今日头条的新闻列表、类淘宝的电商列表,需要通过扩展插槽实现。 + +下文均有样例给出。 + +uni-list不包含下拉刷新和上拉翻页。上拉翻页另见组件:[uni-load-more](https://ext.dcloud.net.cn/plugin?id=29) + +### [点击查看详细文档](https://uniapp.dcloud.io/component/uniui/uni-indexed-list) +#### 如使用过程中有任何问题,或者您对uni-ui有一些好的建议,欢迎加入 uni-ui 交流群:871950839 + + + +## 基于uni-list扩展的页面模板 + +通过扩展插槽,可实现多种常见样式的列表 + +**新闻列表类** + +1. 云端一体混合布局:[https://ext.dcloud.net.cn/plugin?id=2546](https://ext.dcloud.net.cn/plugin?id=2546) +2. 云端一体垂直布局,大图模式:[https://ext.dcloud.net.cn/plugin?id=2583](https://ext.dcloud.net.cn/plugin?id=2583) +3. 云端一体垂直布局,多行图文混排:[https://ext.dcloud.net.cn/plugin?id=2584](https://ext.dcloud.net.cn/plugin?id=2584) +4. 云端一体垂直布局,多图模式:[https://ext.dcloud.net.cn/plugin?id=2585](https://ext.dcloud.net.cn/plugin?id=2585) +5. 云端一体水平布局,左图右文:[https://ext.dcloud.net.cn/plugin?id=2586](https://ext.dcloud.net.cn/plugin?id=2586) +6. 云端一体水平布局,左文右图:[https://ext.dcloud.net.cn/plugin?id=2587](https://ext.dcloud.net.cn/plugin?id=2587) +7. 云端一体垂直布局,无图模式,主标题+副标题:[https://ext.dcloud.net.cn/plugin?id=2588](https://ext.dcloud.net.cn/plugin?id=2588) + +**商品列表类** + +1. 云端一体列表/宫格视图互切:[https://ext.dcloud.net.cn/plugin?id=2651](https://ext.dcloud.net.cn/plugin?id=2651) +2. 云端一体列表(宫格模式):[https://ext.dcloud.net.cn/plugin?id=2671](https://ext.dcloud.net.cn/plugin?id=2671) +3. 云端一体列表(列表模式):[https://ext.dcloud.net.cn/plugin?id=2672](https://ext.dcloud.net.cn/plugin?id=2672) \ No newline at end of file diff --git a/wuye-manager-uniapp/uni_modules/uni-load-more/changelog.md b/wuye-manager-uniapp/uni_modules/uni-load-more/changelog.md new file mode 100644 index 0000000..c5750ac --- /dev/null +++ b/wuye-manager-uniapp/uni_modules/uni-load-more/changelog.md @@ -0,0 +1,23 @@ +## 1.3.7(2025-08-20) +- 修复 微信小程序css警告问题 +## 1.3.6(2024-10-15) +- 修复 微信小程序中的getSystemInfo警告 +## 1.3.3(2022-01-20) +- 新增 showText属性 ,是否显示文本 +## 1.3.2(2022-01-19) +- 修复 nvue 平台下不显示文本的bug +## 1.3.1(2022-01-19) +- 修复 微信小程序平台样式选择器报警告的问题 +## 1.3.0(2021-11-19) +- 优化 组件UI,并提供设计资源,详见:[https://uniapp.dcloud.io/component/uniui/resource](https://uniapp.dcloud.io/component/uniui/resource) +- 文档迁移,详见:[https://uniapp.dcloud.io/component/uniui/uni-load-more](https://uniapp.dcloud.io/component/uniui/uni-load-more) +## 1.2.1(2021-08-24) +- 新增 支持国际化 +## 1.2.0(2021-07-30) +- 组件兼容 vue3,如何创建vue3项目,详见 [uni-app 项目支持 vue3 介绍](https://ask.dcloud.net.cn/article/37834) +## 1.1.8(2021-05-12) +- 新增 组件示例地址 +## 1.1.7(2021-03-30) +- 修复 uni-load-more 在首页使用时,h5 平台报 'uni is not defined' 的 bug +## 1.1.6(2021-02-05) +- 调整为uni_modules目录规范 diff --git a/wuye-manager-uniapp/uni_modules/uni-load-more/components/uni-load-more/i18n/en.json b/wuye-manager-uniapp/uni_modules/uni-load-more/components/uni-load-more/i18n/en.json new file mode 100644 index 0000000..a4f14a5 --- /dev/null +++ b/wuye-manager-uniapp/uni_modules/uni-load-more/components/uni-load-more/i18n/en.json @@ -0,0 +1,5 @@ +{ + "uni-load-more.contentdown": "Pull up to show more", + "uni-load-more.contentrefresh": "loading...", + "uni-load-more.contentnomore": "No more data" +} diff --git a/wuye-manager-uniapp/uni_modules/uni-load-more/components/uni-load-more/i18n/index.js b/wuye-manager-uniapp/uni_modules/uni-load-more/components/uni-load-more/i18n/index.js new file mode 100644 index 0000000..de7509c --- /dev/null +++ b/wuye-manager-uniapp/uni_modules/uni-load-more/components/uni-load-more/i18n/index.js @@ -0,0 +1,8 @@ +import en from './en.json' +import zhHans from './zh-Hans.json' +import zhHant from './zh-Hant.json' +export default { + en, + 'zh-Hans': zhHans, + 'zh-Hant': zhHant +} diff --git a/wuye-manager-uniapp/uni_modules/uni-load-more/components/uni-load-more/i18n/zh-Hans.json b/wuye-manager-uniapp/uni_modules/uni-load-more/components/uni-load-more/i18n/zh-Hans.json new file mode 100644 index 0000000..f15d510 --- /dev/null +++ b/wuye-manager-uniapp/uni_modules/uni-load-more/components/uni-load-more/i18n/zh-Hans.json @@ -0,0 +1,5 @@ +{ + "uni-load-more.contentdown": "上拉显示更多", + "uni-load-more.contentrefresh": "正在加载...", + "uni-load-more.contentnomore": "没有更多数据了" +} diff --git a/wuye-manager-uniapp/uni_modules/uni-load-more/components/uni-load-more/i18n/zh-Hant.json b/wuye-manager-uniapp/uni_modules/uni-load-more/components/uni-load-more/i18n/zh-Hant.json new file mode 100644 index 0000000..a255c6d --- /dev/null +++ b/wuye-manager-uniapp/uni_modules/uni-load-more/components/uni-load-more/i18n/zh-Hant.json @@ -0,0 +1,5 @@ +{ + "uni-load-more.contentdown": "上拉顯示更多", + "uni-load-more.contentrefresh": "正在加載...", + "uni-load-more.contentnomore": "沒有更多數據了" +} diff --git a/wuye-manager-uniapp/uni_modules/uni-load-more/components/uni-load-more/uni-load-more.vue b/wuye-manager-uniapp/uni_modules/uni-load-more/components/uni-load-more/uni-load-more.vue new file mode 100644 index 0000000..0fa17e8 --- /dev/null +++ b/wuye-manager-uniapp/uni_modules/uni-load-more/components/uni-load-more/uni-load-more.vue @@ -0,0 +1,404 @@ + + + + + diff --git a/wuye-manager-uniapp/uni_modules/uni-load-more/package.json b/wuye-manager-uniapp/uni_modules/uni-load-more/package.json new file mode 100644 index 0000000..3397e8a --- /dev/null +++ b/wuye-manager-uniapp/uni_modules/uni-load-more/package.json @@ -0,0 +1,105 @@ +{ + "id": "uni-load-more", + "displayName": "uni-load-more 加载更多", + "version": "1.3.7", + "description": "LoadMore 组件,常用在列表里面,做滚动加载使用。", + "keywords": [ + "uni-ui", + "uniui", + "加载更多", + "load-more" +], + "repository": "https://github.com/dcloudio/uni-ui", + "engines": { + "HBuilderX": "", + "uni-app": "^4.07", + "uni-app-x": "" + }, + "directories": { + "example": "../../temps/example_temps" + }, + "dcloudext": { + "sale": { + "regular": { + "price": "0.00" + }, + "sourcecode": { + "price": "0.00" + } + }, + "contact": { + "qq": "" + }, + "declaration": { + "ads": "无", + "data": "无", + "permissions": "无" + }, + "npmurl": "https://www.npmjs.com/package/@dcloudio/uni-ui", + "type": "component-vue", + "darkmode": "x", + "i18n": "x", + "widescreen": "x" + }, + "uni_modules": { + "dependencies": [ + "uni-scss" + ], + "encrypt": [], + "platforms": { + "cloud": { + "tcb": "x", + "aliyun": "x", + "alipay": "x" + }, + "client": { + "uni-app": { + "vue": { + "vue2": "√", + "vue3": "√" + }, + "web": { + "safari": "√", + "chrome": "√" + }, + "app": { + "vue": "√", + "nvue": "-", + "android": "√", + "ios": "√", + "harmony": "√" + }, + "mp": { + "weixin": "√", + "alipay": "√", + "toutiao": "√", + "baidu": "√", + "kuaishou": "-", + "jd": "-", + "harmony": "-", + "qq": "√", + "lark": "-" + }, + "quickapp": { + "huawei": "√", + "union": "√" + } + }, + "uni-app-x": { + "web": { + "safari": "-", + "chrome": "-" + }, + "app": { + "android": "-", + "ios": "-", + "harmony": "-" + }, + "mp": { + "weixin": "-" + } + } + } + } + } +} \ No newline at end of file diff --git a/wuye-manager-uniapp/uni_modules/uni-load-more/readme.md b/wuye-manager-uniapp/uni_modules/uni-load-more/readme.md new file mode 100644 index 0000000..54dc1fa --- /dev/null +++ b/wuye-manager-uniapp/uni_modules/uni-load-more/readme.md @@ -0,0 +1,14 @@ + + +### LoadMore 加载更多 +> **组件名:uni-load-more** +> 代码块: `uLoadMore` + + +用于列表中,做滚动加载使用,展示 loading 的各种状态。 + + +### [查看文档](https://uniapp.dcloud.io/component/uniui/uni-load-more) +#### 如使用过程中有任何问题,或者您对uni-ui有一些好的建议,欢迎加入 uni-ui 交流群:871950839 + + diff --git a/wuye-manager-uniapp/uni_modules/uni-nav-bar/changelog.md b/wuye-manager-uniapp/uni_modules/uni-nav-bar/changelog.md new file mode 100644 index 0000000..ebe3473 --- /dev/null +++ b/wuye-manager-uniapp/uni_modules/uni-nav-bar/changelog.md @@ -0,0 +1,60 @@ +## 1.3.17(2025-09-03) +- 修复 内部样式问题 +## 1.3.16(2025-08-18) +- 修复 微信小程序 fixed 下避让胶囊,优化标题居中,默认showMenuButtonWidth 不开启下,右侧插槽会被 胶囊覆盖 +- 新增 showMenuButtonWidth 右侧是否避让胶囊,即 显示区域为胶囊左侧,默认不开启,开启后会导致标题不在页面水平居中 +## 1.3.15(2025-06-24) +- 适配微信小程序固定导航栏时,右侧插槽避让胶囊按钮 +## 1.3.14(2024-10-15) +- 修复 微信小程序中的getSystemInfo警告 +## 1.3.11(2023-03-29) +- 修复 自定义状态栏高度闪动BUG +## 1.3.10(2023-03-29) +- 修复 暗黑模式下边线颜色错误的bug +## 1.3.9(2022-10-13) +- 修复 条件编译错误的bug +## 1.3.8(2022-10-12) +- 修复 nvue 环境 fixed 为 true 的情况下,无法置顶的 bug +## 1.3.7(2022-08-11) +- 修复 nvue 环境下 fixed 为 true 的情况下,无法置顶的 bug +## 1.3.6(2022-06-30) +- 修复 组件示例中插槽用法无法显示内容的bug +## 1.3.5(2022-05-24) +- 新增 stat 属性 ,可开启统计title 上报 ,仅使用了title 属性且项目开启了uni统计生效 +## 1.3.4(2022-01-24) +- 更新 组件示例 +## 1.3.3(2022-01-24) +- 新增 left-width/right-width属性 ,可修改左右两侧的宽度 +## 1.3.2(2022-01-18) +- 修复 在vue下,标题不垂直居中的bug +## 1.3.1(2022-01-18) +- 修复 height 属性类型错误 +## 1.3.0(2022-01-18) +- 新增 height 属性,可修改组件高度 +- 新增 dark 属性可可开启暗黑模式 +- 优化 标题字数过多显示省略号 +- 优化 插槽,插入内容可完全覆盖 +## 1.2.1(2022-01-10) +- 修复 color 属性不生效的bug +## 1.2.0(2021-11-19) +- 优化 组件UI,并提供设计资源,详见:[https://uniapp.dcloud.io/component/uniui/resource](https://uniapp.dcloud.io/component/uniui/resource) +- 文档迁移,详见:[https://uniapp.dcloud.io/component/uniui/uni-nav-bar](https://uniapp.dcloud.io/component/uniui/uni-nav-bar) +## 1.1.0(2021-07-30) +- 组件兼容 vue3,如何创建vue3项目,详见 [uni-app 项目支持 vue3 介绍](https://ask.dcloud.net.cn/article/37834) +## 1.0.11(2021-05-12) +- 新增 组件示例地址 +## 1.0.10(2021-04-30) +- 修复 在nvue下fixed为true,宽度不能撑满的Bug +## 1.0.9(2021-04-21) +- 优化 添加依赖 uni-icons, 导入后自动下载依赖 +## 1.0.8(2021-04-14) +- uni-ui 修复 uni-nav-bar 当 fixed 属性为 true 时铺不满屏幕的 bug + +## 1.0.7(2021-02-25) +- 修复 easycom 下,找不到 uni-status-bar 的bug + +## 1.0.6(2021-02-05) +- 优化 组件引用关系,通过uni_modules引用组件 + +## 1.0.5(2021-02-05) +- 调整为uni_modules目录规范 diff --git a/wuye-manager-uniapp/uni_modules/uni-nav-bar/components/uni-nav-bar/uni-nav-bar.vue b/wuye-manager-uniapp/uni_modules/uni-nav-bar/components/uni-nav-bar/uni-nav-bar.vue new file mode 100644 index 0000000..2e0ec96 --- /dev/null +++ b/wuye-manager-uniapp/uni_modules/uni-nav-bar/components/uni-nav-bar/uni-nav-bar.vue @@ -0,0 +1,383 @@ + + + + + diff --git a/wuye-manager-uniapp/uni_modules/uni-nav-bar/components/uni-nav-bar/uni-status-bar.vue b/wuye-manager-uniapp/uni_modules/uni-nav-bar/components/uni-nav-bar/uni-status-bar.vue new file mode 100644 index 0000000..6185446 --- /dev/null +++ b/wuye-manager-uniapp/uni_modules/uni-nav-bar/components/uni-nav-bar/uni-status-bar.vue @@ -0,0 +1,30 @@ + + + + + diff --git a/wuye-manager-uniapp/uni_modules/uni-nav-bar/package.json b/wuye-manager-uniapp/uni_modules/uni-nav-bar/package.json new file mode 100644 index 0000000..f9ede85 --- /dev/null +++ b/wuye-manager-uniapp/uni_modules/uni-nav-bar/package.json @@ -0,0 +1,106 @@ +{ + "id": "uni-nav-bar", + "displayName": "uni-nav-bar 自定义导航栏", + "version": "1.3.17", + "description": "自定义导航栏组件,主要用于头部导航。", + "keywords": [ + "uni-ui", + "导航", + "导航栏", + "自定义导航栏" +], + "repository": "https://github.com/dcloudio/uni-ui", + "engines": { + "HBuilderX": "", + "uni-app": "^4.07", + "uni-app-x": "" + }, + "directories": { + "example": "../../temps/example_temps" + }, + "dcloudext": { + "sale": { + "regular": { + "price": "0.00" + }, + "sourcecode": { + "price": "0.00" + } + }, + "contact": { + "qq": "" + }, + "declaration": { + "ads": "无", + "data": "无", + "permissions": "无" + }, + "npmurl": "https://www.npmjs.com/package/@dcloudio/uni-ui", + "type": "component-vue", + "darkmode": "x", + "i18n": "x", + "widescreen": "x" + }, + "uni_modules": { + "dependencies": [ + "uni-scss", + "uni-icons" + ], + "encrypt": [], + "platforms": { + "cloud": { + "tcb": "x", + "aliyun": "x", + "alipay": "x" + }, + "client": { + "uni-app": { + "vue": { + "vue2": "√", + "vue3": "√" + }, + "web": { + "safari": "√", + "chrome": "√" + }, + "app": { + "vue": "√", + "nvue": "√", + "android": "√", + "ios": "√", + "harmony": "√" + }, + "mp": { + "weixin": "√", + "alipay": "√", + "toutiao": "√", + "baidu": "√", + "kuaishou": "-", + "jd": "-", + "harmony": "-", + "qq": "√", + "lark": "-" + }, + "quickapp": { + "huawei": "√", + "union": "√" + } + }, + "uni-app-x": { + "web": { + "safari": "-", + "chrome": "-" + }, + "app": { + "android": "-", + "ios": "-", + "harmony": "-" + }, + "mp": { + "weixin": "-" + } + } + } + } + } +} \ No newline at end of file diff --git a/wuye-manager-uniapp/uni_modules/uni-nav-bar/readme.md b/wuye-manager-uniapp/uni_modules/uni-nav-bar/readme.md new file mode 100644 index 0000000..3934b32 --- /dev/null +++ b/wuye-manager-uniapp/uni_modules/uni-nav-bar/readme.md @@ -0,0 +1,15 @@ + + +## NavBar 导航栏 +> **组件名:uni-nav-bar** +> 代码块: `uNavBar` + +导航栏组件,主要用于头部导航。 + +### [查看文档](https://uniapp.dcloud.io/component/uniui/uni-nav-bar) +#### 如使用过程中有任何问题,或者您对uni-ui有一些好的建议,欢迎加入 uni-ui 交流群:871950839 + + + + + diff --git a/wuye-manager-uniapp/uni_modules/uni-notice-bar/changelog.md b/wuye-manager-uniapp/uni_modules/uni-notice-bar/changelog.md new file mode 100644 index 0000000..aa1d627 --- /dev/null +++ b/wuye-manager-uniapp/uni_modules/uni-notice-bar/changelog.md @@ -0,0 +1,22 @@ +## 1.2.3(2025-04-14) +- 新增 左侧自定义插槽,可自定义文字或图标 +## 1.2.2(2023-12-20) +- 修复动态绑定title时,滚动速度不一致的问题 +## 1.2.1(2022-09-05) +- 新增 属性 fontSize,可修改文字大小。 +## 1.2.0(2021-11-19) +- 优化 组件UI,并提供设计资源,详见:[https://uniapp.dcloud.io/component/uniui/resource](https://uniapp.dcloud.io/component/uniui/resource) +- 文档迁移,详见:[https://uniapp.dcloud.io/component/uniui/uni-notice-bar](https://uniapp.dcloud.io/component/uniui/uni-notice-bar) +## 1.1.1(2021-11-09) +- 新增 提供组件设计资源,组件样式调整 +## 1.1.0(2021-07-30) +- 组件兼容 vue3,如何创建vue3项目,详见 [uni-app 项目支持 vue3 介绍](https://ask.dcloud.net.cn/article/37834) +## 1.0.9(2021-05-12) +- 新增 组件示例地址 +## 1.0.8(2021-04-21) +- 优化 添加依赖 uni-icons, 导入后自动下载依赖 +## 1.0.7(2021-02-05) +- 优化 组件引用关系,通过uni_modules引用组件 + +## 1.0.6(2021-02-05) +- 调整为uni_modules目录规范 diff --git a/wuye-manager-uniapp/uni_modules/uni-notice-bar/components/uni-notice-bar/uni-notice-bar.vue b/wuye-manager-uniapp/uni_modules/uni-notice-bar/components/uni-notice-bar/uni-notice-bar.vue new file mode 100644 index 0000000..81416d9 --- /dev/null +++ b/wuye-manager-uniapp/uni_modules/uni-notice-bar/components/uni-notice-bar/uni-notice-bar.vue @@ -0,0 +1,423 @@ + + + + + diff --git a/wuye-manager-uniapp/uni_modules/uni-notice-bar/package.json b/wuye-manager-uniapp/uni_modules/uni-notice-bar/package.json new file mode 100644 index 0000000..1c9135b --- /dev/null +++ b/wuye-manager-uniapp/uni_modules/uni-notice-bar/package.json @@ -0,0 +1,90 @@ +{ + "id": "uni-notice-bar", + "displayName": "uni-notice-bar 通告栏", + "version": "1.2.3", + "description": "NoticeBar 通告栏组件,常用于展示公告信息,可设为滚动公告", + "keywords": [ + "uni-ui", + "uniui", + "通告栏", + "公告", + "跑马灯" +], + "repository": "https://github.com/dcloudio/uni-ui", + "engines": { + "HBuilderX": "" + }, + "directories": { + "example": "../../temps/example_temps" + }, +"dcloudext": { + "sale": { + "regular": { + "price": "0.00" + }, + "sourcecode": { + "price": "0.00" + } + }, + "contact": { + "qq": "" + }, + "declaration": { + "ads": "无", + "data": "无", + "permissions": "无" + }, + "npmurl": "https://www.npmjs.com/package/@dcloudio/uni-ui", + "type": "component-vue" + }, + "uni_modules": { + "dependencies": [ + "uni-scss", + "uni-icons" + ], + "encrypt": [], + "platforms": { + "cloud": { + "tcb": "y", + "aliyun": "y", + "alipay": "n" + }, + "client": { + "App": { + "app-vue": "y", + "app-nvue": "y", + "app-harmony": "u", + "app-uvue": "u" + }, + "H5-mobile": { + "Safari": "y", + "Android Browser": "y", + "微信浏览器(Android)": "y", + "QQ浏览器(Android)": "y" + }, + "H5-pc": { + "Chrome": "y", + "IE": "y", + "Edge": "y", + "Firefox": "y", + "Safari": "y" + }, + "小程序": { + "微信": "y", + "阿里": "y", + "百度": "y", + "字节跳动": "y", + "QQ": "y" + }, + "快应用": { + "华为": "u", + "联盟": "u" + }, + "Vue": { + "vue2": "y", + "vue3": "y" + } + } + } + } +} diff --git a/wuye-manager-uniapp/uni_modules/uni-notice-bar/readme.md b/wuye-manager-uniapp/uni_modules/uni-notice-bar/readme.md new file mode 100644 index 0000000..fb2ede2 --- /dev/null +++ b/wuye-manager-uniapp/uni_modules/uni-notice-bar/readme.md @@ -0,0 +1,13 @@ + + +## NoticeBar 通告栏 +> **组件名:uni-notice-bar** +> 代码块: `uNoticeBar` + + +通告栏组件 。 + +### [查看文档](https://uniapp.dcloud.io/component/uniui/uni-notice-bar) +#### 如使用过程中有任何问题,或者您对uni-ui有一些好的建议,欢迎加入 uni-ui 交流群:871950839 + + diff --git a/wuye-manager-uniapp/uni_modules/uni-number-box/changelog.md b/wuye-manager-uniapp/uni_modules/uni-number-box/changelog.md new file mode 100644 index 0000000..adf9221 --- /dev/null +++ b/wuye-manager-uniapp/uni_modules/uni-number-box/changelog.md @@ -0,0 +1,39 @@ +## 1.2.8(2024-04-26) +- 修复 在vue2下H5黑边的bug +## 1.2.7(2024-04-26) +- 修复 在vue2手动输入后失焦导致清空数值的严重bug +## 1.2.6(2024-02-22) +- 新增 设置宽度属性width(单位:px) +## 1.2.5(2024-02-21) +- 修复 step步长小于1时,键盘类型为number的bug +## 1.2.4(2024-02-02) +- 修复 加减号垂直位置偏移样式问题 +## 1.2.3(2023-05-23) +- 更新示例工程 +## 1.2.2(2023-05-08) +- 修复 change 事件执行顺序错误的问题 +## 1.2.1(2021-11-22) +- 修复 vue3中某些scss变量无法找到的问题 +## 1.2.0(2021-11-19) +- 优化 组件UI,并提供设计资源,详见:[https://uniapp.dcloud.io/component/uniui/resource](https://uniapp.dcloud.io/component/uniui/resource) +- 文档迁移,详见:[https://uniapp.dcloud.io/component/uniui/uni-number-box](https://uniapp.dcloud.io/component/uniui/uni-number-box) +## 1.1.2(2021-11-09) +- 新增 提供组件设计资源,组件样式调整 +## 1.1.1(2021-07-30) +- 优化 vue3下事件警告的问题 +## 1.1.0(2021-07-13) +- 组件兼容 vue3,如何创建vue3项目,详见 [uni-app 项目支持 vue3 介绍](https://ask.dcloud.net.cn/article/37834) +## 1.0.7(2021-05-12) +- 新增 组件示例地址 +## 1.0.6(2021-04-20) +- 修复 uni-number-box 浮点数运算不精确的 bug +- 修复 uni-number-box change 事件触发不正确的 bug +- 新增 uni-number-box v-model 双向绑定 +## 1.0.5(2021-02-05) +- 调整为uni_modules目录规范 + +## 1.0.7(2021-02-05) +- 调整为uni_modules目录规范 +- 新增 支持 v-model +- 新增 支持 focus、blur 事件 +- 新增 支持 PC 端 diff --git a/wuye-manager-uniapp/uni_modules/uni-number-box/components/uni-number-box/uni-number-box.vue b/wuye-manager-uniapp/uni_modules/uni-number-box/components/uni-number-box/uni-number-box.vue new file mode 100644 index 0000000..4e203cc --- /dev/null +++ b/wuye-manager-uniapp/uni_modules/uni-number-box/components/uni-number-box/uni-number-box.vue @@ -0,0 +1,232 @@ + + + diff --git a/wuye-manager-uniapp/uni_modules/uni-number-box/package.json b/wuye-manager-uniapp/uni_modules/uni-number-box/package.json new file mode 100644 index 0000000..4ac9047 --- /dev/null +++ b/wuye-manager-uniapp/uni_modules/uni-number-box/package.json @@ -0,0 +1,83 @@ +{ + "id": "uni-number-box", + "displayName": "uni-number-box 数字输入框", + "version": "1.2.8", + "description": "NumberBox 带加减按钮的数字输入框组件,用户可以控制每次点击增加的数值,支持小数。", + "keywords": [ + "uni-ui", + "uniui", + "数字输入框" +], + "repository": "https://github.com/dcloudio/uni-ui", + "engines": { + "HBuilderX": "" + }, + "directories": { + "example": "../../temps/example_temps" + }, +"dcloudext": { + "sale": { + "regular": { + "price": "0.00" + }, + "sourcecode": { + "price": "0.00" + } + }, + "contact": { + "qq": "" + }, + "declaration": { + "ads": "无", + "data": "无", + "permissions": "无" + }, + "npmurl": "https://www.npmjs.com/package/@dcloudio/uni-ui", + "type": "component-vue" + }, + "uni_modules": { + "dependencies": ["uni-scss"], + "encrypt": [], + "platforms": { + "cloud": { + "tcb": "y", + "aliyun": "y", + "alipay": "n" + }, + "client": { + "App": { + "app-vue": "y", + "app-nvue": "y" + }, + "H5-mobile": { + "Safari": "y", + "Android Browser": "y", + "微信浏览器(Android)": "y", + "QQ浏览器(Android)": "y" + }, + "H5-pc": { + "Chrome": "y", + "IE": "y", + "Edge": "y", + "Firefox": "y", + "Safari": "y" + }, + "小程序": { + "微信": "y", + "阿里": "y", + "百度": "y", + "字节跳动": "y", + "QQ": "y" + }, + "快应用": { + "华为": "u", + "联盟": "u" + }, + "Vue": { + "vue2": "y", + "vue3": "y" + } + } + } + } +} \ No newline at end of file diff --git a/wuye-manager-uniapp/uni_modules/uni-number-box/readme.md b/wuye-manager-uniapp/uni_modules/uni-number-box/readme.md new file mode 100644 index 0000000..affc56f --- /dev/null +++ b/wuye-manager-uniapp/uni_modules/uni-number-box/readme.md @@ -0,0 +1,13 @@ + + +## NumberBox 数字输入框 +> **组件名:uni-number-box** +> 代码块: `uNumberBox` + + +带加减按钮的数字输入框。 + +### [查看文档](https://uniapp.dcloud.io/component/uniui/uni-number-box) +#### 如使用过程中有任何问题,或者您对uni-ui有一些好的建议,欢迎加入 uni-ui 交流群:871950839 + + diff --git a/wuye-manager-uniapp/uni_modules/uni-pagination/changelog.md b/wuye-manager-uniapp/uni_modules/uni-pagination/changelog.md new file mode 100644 index 0000000..2e94adc --- /dev/null +++ b/wuye-manager-uniapp/uni_modules/uni-pagination/changelog.md @@ -0,0 +1,27 @@ +## 1.2.4(2022-09-19) +- 修复,未对主题色设置默认色,导致未引入 uni-scss 变量文件报错。 +- 修复,未对移动端当前页文字做主题色适配。 +## 1.2.3(2022-09-15) +- 修复未使用 uni-scss 主题色的 bug。 +## 1.2.2(2022-07-06) +- 修复 es 语言 i18n 错误 +## 1.2.1(2021-11-22) +- 修复 vue3中某些scss变量无法找到的问题 +## 1.2.0(2021-11-19) +- 优化 组件UI,并提供设计资源,详见:[https://uniapp.dcloud.io/component/uniui/resource](https://uniapp.dcloud.io/component/uniui/resource) +- 文档迁移,详见:[https://uniapp.dcloud.io/component/uniui/uni-pagination](https://uniapp.dcloud.io/component/uniui/uni-pagination) +## 1.1.2(2021-10-08) +- 修复 current 、value 属性未监听,导致高亮样式失效的 bug +## 1.1.1(2021-08-20) +- 新增 支持国际化 +## 1.1.0(2021-07-30) +- 组件兼容 vue3,如何创建vue3项目,详见 [uni-app 项目支持 vue3 介绍](https://ask.dcloud.net.cn/article/37834) +## 1.0.7(2021-05-12) +- 新增 组件示例地址 +## 1.0.6(2021-04-12) +- 新增 PC 和 移动端适配不同的 ui +## 1.0.5(2021-02-05) +- 优化 组件引用关系,通过uni_modules引用组件 + +## 1.0.4(2021-02-05) +- 调整为uni_modules目录规范 diff --git a/wuye-manager-uniapp/uni_modules/uni-pagination/components/uni-pagination/i18n/en.json b/wuye-manager-uniapp/uni_modules/uni-pagination/components/uni-pagination/i18n/en.json new file mode 100644 index 0000000..d6e2897 --- /dev/null +++ b/wuye-manager-uniapp/uni_modules/uni-pagination/components/uni-pagination/i18n/en.json @@ -0,0 +1,5 @@ +{ + "uni-pagination.prevText": "prev", + "uni-pagination.nextText": "next", + "uni-pagination.piecePerPage": "piece/page" +} diff --git a/wuye-manager-uniapp/uni_modules/uni-pagination/components/uni-pagination/i18n/es.json b/wuye-manager-uniapp/uni_modules/uni-pagination/components/uni-pagination/i18n/es.json new file mode 100644 index 0000000..604a113 --- /dev/null +++ b/wuye-manager-uniapp/uni_modules/uni-pagination/components/uni-pagination/i18n/es.json @@ -0,0 +1,5 @@ +{ + "uni-pagination.prevText": "anterior", + "uni-pagination.nextText": "prxima", + "uni-pagination.piecePerPage": "Art¨ªculo/P¨¢gina" +} diff --git a/wuye-manager-uniapp/uni_modules/uni-pagination/components/uni-pagination/i18n/fr.json b/wuye-manager-uniapp/uni_modules/uni-pagination/components/uni-pagination/i18n/fr.json new file mode 100644 index 0000000..a7a0c77 --- /dev/null +++ b/wuye-manager-uniapp/uni_modules/uni-pagination/components/uni-pagination/i18n/fr.json @@ -0,0 +1,5 @@ +{ + "uni-pagination.prevText": "précédente", + "uni-pagination.nextText": "suivante", + "uni-pagination.piecePerPage": "Articles/Pages" +} diff --git a/wuye-manager-uniapp/uni_modules/uni-pagination/components/uni-pagination/i18n/index.js b/wuye-manager-uniapp/uni_modules/uni-pagination/components/uni-pagination/i18n/index.js new file mode 100644 index 0000000..2469dd0 --- /dev/null +++ b/wuye-manager-uniapp/uni_modules/uni-pagination/components/uni-pagination/i18n/index.js @@ -0,0 +1,12 @@ +import en from './en.json' +import es from './es.json' +import fr from './fr.json' +import zhHans from './zh-Hans.json' +import zhHant from './zh-Hant.json' +export default { + en, + es, + fr, + 'zh-Hans': zhHans, + 'zh-Hant': zhHant +} diff --git a/wuye-manager-uniapp/uni_modules/uni-pagination/components/uni-pagination/i18n/zh-Hans.json b/wuye-manager-uniapp/uni_modules/uni-pagination/components/uni-pagination/i18n/zh-Hans.json new file mode 100644 index 0000000..782bbe4 --- /dev/null +++ b/wuye-manager-uniapp/uni_modules/uni-pagination/components/uni-pagination/i18n/zh-Hans.json @@ -0,0 +1,5 @@ +{ + "uni-pagination.prevText": "上一页", + "uni-pagination.nextText": "下一页", + "uni-pagination.piecePerPage": "条/页" +} diff --git a/wuye-manager-uniapp/uni_modules/uni-pagination/components/uni-pagination/i18n/zh-Hant.json b/wuye-manager-uniapp/uni_modules/uni-pagination/components/uni-pagination/i18n/zh-Hant.json new file mode 100644 index 0000000..180fddb --- /dev/null +++ b/wuye-manager-uniapp/uni_modules/uni-pagination/components/uni-pagination/i18n/zh-Hant.json @@ -0,0 +1,5 @@ +{ + "uni-pagination.prevText": "上一頁", + "uni-pagination.nextText": "下一頁", + "uni-pagination.piecePerPage": "條/頁" +} diff --git a/wuye-manager-uniapp/uni_modules/uni-pagination/components/uni-pagination/uni-pagination.vue b/wuye-manager-uniapp/uni_modules/uni-pagination/components/uni-pagination/uni-pagination.vue new file mode 100644 index 0000000..5305b5f --- /dev/null +++ b/wuye-manager-uniapp/uni_modules/uni-pagination/components/uni-pagination/uni-pagination.vue @@ -0,0 +1,465 @@ + + + + + diff --git a/wuye-manager-uniapp/uni_modules/uni-pagination/package.json b/wuye-manager-uniapp/uni_modules/uni-pagination/package.json new file mode 100644 index 0000000..862d5ab --- /dev/null +++ b/wuye-manager-uniapp/uni_modules/uni-pagination/package.json @@ -0,0 +1,83 @@ +{ + "id": "uni-pagination", + "displayName": "uni-pagination 分页器", + "version": "1.2.4", + "description": "Pagination 分页器组件,用于展示页码、请求数据等。", + "keywords": [ + "uni-ui", + "uniui", + "分页器", + "页码" +], + "repository": "https://github.com/dcloudio/uni-ui", + "engines": { + "HBuilderX": "" + }, + "directories": { + "example": "../../temps/example_temps" + }, +"dcloudext": { + "sale": { + "regular": { + "price": "0.00" + }, + "sourcecode": { + "price": "0.00" + } + }, + "contact": { + "qq": "" + }, + "declaration": { + "ads": "无", + "data": "无", + "permissions": "无" + }, + "npmurl": "https://www.npmjs.com/package/@dcloudio/uni-ui", + "type": "component-vue" + }, + "uni_modules": { + "dependencies": ["uni-scss","uni-icons"], + "encrypt": [], + "platforms": { + "cloud": { + "tcb": "y", + "aliyun": "y" + }, + "client": { + "App": { + "app-vue": "y", + "app-nvue": "y" + }, + "H5-mobile": { + "Safari": "y", + "Android Browser": "y", + "微信浏览器(Android)": "y", + "QQ浏览器(Android)": "y" + }, + "H5-pc": { + "Chrome": "y", + "IE": "y", + "Edge": "y", + "Firefox": "y", + "Safari": "y" + }, + "小程序": { + "微信": "y", + "阿里": "y", + "百度": "y", + "字节跳动": "y", + "QQ": "y" + }, + "快应用": { + "华为": "u", + "联盟": "u" + }, + "Vue": { + "vue2": "y", + "vue3": "y" + } + } + } + } +} \ No newline at end of file diff --git a/wuye-manager-uniapp/uni_modules/uni-pagination/readme.md b/wuye-manager-uniapp/uni_modules/uni-pagination/readme.md new file mode 100644 index 0000000..97ea1d6 --- /dev/null +++ b/wuye-manager-uniapp/uni_modules/uni-pagination/readme.md @@ -0,0 +1,11 @@ + + +## Pagination 分页器 +> **组件名:uni-pagination** +> 代码块: `uPagination` + + +分页器组件,用于展示页码、请求数据等。 + +### [查看文档](https://uniapp.dcloud.io/component/uniui/uni-pagination) +#### 如使用过程中有任何问题,或者您对uni-ui有一些好的建议,欢迎加入 uni-ui 交流群:871950839 diff --git a/wuye-manager-uniapp/uni_modules/uni-popup/changelog.md b/wuye-manager-uniapp/uni_modules/uni-popup/changelog.md new file mode 100644 index 0000000..3483ba9 --- /dev/null +++ b/wuye-manager-uniapp/uni_modules/uni-popup/changelog.md @@ -0,0 +1,104 @@ +## 1.9.12(2026-03-26) +- 修复 uni-app x 下类型错误导致的编译问题 +## 1.9.11(2025-08-20) +- 修复 uni-popup-dialog组件设置 borderRadius 不生效的 Bug +## 1.9.10(2025-07-18) +- 修复 nvue 下弹窗样式错乱的问题 ,更新依赖 uni-transition 组件 +- 更新 示例取消 borderRadius 属性 ,如需内容圆角,用户应该直接在内容插槽中实现 +## 1.9.9(2025-06-11) +- 修复 uni-popup-dialog 中 setVal 方法报错的问题 +- 修复 uni-popup-dialog 数据双向绑定问题。 +## 1.9.8(2025-04-16) +- 修复 更新组件示例 ,解决更新数据或保存项目导致弹窗消失的问题 +## 1.9.7(2025-04-14) +- 修复 uni-popup-dialog 弹出框在vue3中双向绑定问题 +## 1.9.6(2025-01-08) +- 修复 示例中过期图片地址 +## 1.9.5(2024-10-15) +- 修复 微信小程序中的getSystemInfo警告 +## 1.9.2(2024-09-21) +- 修复 uni-popup在android上的重复点击弹出位置不正确的bug +## 1.9.1(2024-04-02) +- 修复 uni-popup-dialog vue3下使用value无法进行绑定的bug(双向绑定兼容旧写法) +## 1.9.0(2024-03-28) +- 修复 uni-popup-dialog 双向绑定时初始化逻辑修正 +## 1.8.9(2024-03-20) +- 修复 uni-popup-dialog 数据输入时修正为双向绑定 +## 1.8.8(2024-02-20) +- 修复 uni-popup 在微信小程序下出现文字向上闪动的bug +## 1.8.7(2024-02-02) +- 新增 uni-popup-dialog 新增属性focus:input模式下,是否自动自动聚焦 +## 1.8.6(2024-01-30) +- 新增 uni-popup-dialog 新增属性maxLength:限制输入框字数 +## 1.8.5(2024-01-26) +- 新增 uni-popup-dialog 新增属性showClose:控制关闭按钮的显示 +## 1.8.4(2023-11-15) +- 新增 uni-popup 支持uni-app-x 注意暂时仅支持 `maskClick` `@open` `@close` +## 1.8.3(2023-04-17) +- 修复 uni-popup 重复打开时的 bug +## 1.8.2(2023-02-02) +- uni-popup-dialog 组件新增 inputType 属性 +## 1.8.1(2022-12-01) +- 修复 nvue 下 v-show 报错 +## 1.8.0(2022-11-29) +- 优化 主题样式 +## 1.7.9(2022-04-02) +- 修复 弹出层内部无法滚动的bug +## 1.7.8(2022-03-28) +- 修复 小程序中高度错误的bug +## 1.7.7(2022-03-17) +- 修复 快速调用open出现问题的Bug +## 1.7.6(2022-02-14) +- 修复 safeArea 属性不能设置为false的bug +## 1.7.5(2022-01-19) +- 修复 isMaskClick 失效的bug +## 1.7.4(2022-01-19) +- 新增 cancelText \ confirmText 属性 ,可自定义文本 +- 新增 maskBackgroundColor 属性 ,可以修改蒙版颜色 +- 优化 maskClick属性 更新为 isMaskClick ,解决微信小程序警告的问题 +## 1.7.3(2022-01-13) +- 修复 设置 safeArea 属性不生效的bug +## 1.7.2(2021-11-26) +- 优化 组件示例 +## 1.7.1(2021-11-26) +- 修复 vuedoc 文字错误 +## 1.7.0(2021-11-19) +- 优化 组件UI,并提供设计资源,详见:[https://uniapp.dcloud.io/component/uniui/resource](https://uniapp.dcloud.io/component/uniui/resource) +- 文档迁移,详见:[https://uniapp.dcloud.io/component/uniui/uni-popup](https://uniapp.dcloud.io/component/uniui/uni-popup) +## 1.6.2(2021-08-24) +- 新增 支持国际化 +## 1.6.1(2021-07-30) +- 优化 vue3下事件警告的问题 +## 1.6.0(2021-07-13) +- 组件兼容 vue3,如何创建vue3项目,详见 [uni-app 项目支持 vue3 介绍](https://ask.dcloud.net.cn/article/37834) +## 1.5.0(2021-06-23) +- 新增 mask-click 遮罩层点击事件 +## 1.4.5(2021-06-22) +- 修复 nvue 平台中间弹出后,点击内容,再点击遮罩无法关闭的Bug +## 1.4.4(2021-06-18) +- 修复 H5平台中间弹出后,点击内容,再点击遮罩无法关闭的Bug +## 1.4.3(2021-06-08) +- 修复 错误的 watch 字段 +- 修复 safeArea 属性不生效的问题 +- 修复 点击内容,再点击遮罩无法关闭的Bug +## 1.4.2(2021-05-12) +- 新增 组件示例地址 +## 1.4.1(2021-04-29) +- 修复 组件内放置 input 、textarea 组件,无法聚焦的问题 +## 1.4.0 (2021-04-29) +- 新增 type 属性的 left\right 值,支持左右弹出 +- 新增 open(String:type) 方法参数 ,可以省略 type 属性 ,直接传入类型打开指定弹窗 +- 新增 backgroundColor 属性,可定义主窗口背景色,默认不显示背景色 +- 新增 safeArea 属性,是否适配底部安全区 +- 修复 App\h5\微信小程序底部安全区占位不对的Bug +- 修复 App 端弹出等待的Bug +- 优化 提升低配设备性能,优化动画卡顿问题 +- 优化 更简单的组件自定义方式 +## 1.2.9(2021-02-05) +- 优化 组件引用关系,通过uni_modules引用组件 +## 1.2.8(2021-02-05) +- 调整为uni_modules目录规范 +## 1.2.7(2021-02-05) +- 调整为uni_modules目录规范 +- 新增 支持 PC 端 +- 新增 uni-popup-message 、uni-popup-dialog扩展组件支持 PC 端 diff --git a/wuye-manager-uniapp/uni_modules/uni-popup/components/uni-popup-dialog/keypress.js b/wuye-manager-uniapp/uni_modules/uni-popup/components/uni-popup-dialog/keypress.js new file mode 100644 index 0000000..6ef26a2 --- /dev/null +++ b/wuye-manager-uniapp/uni_modules/uni-popup/components/uni-popup-dialog/keypress.js @@ -0,0 +1,45 @@ +// #ifdef H5 +export default { + name: 'Keypress', + props: { + disable: { + type: Boolean, + default: false + } + }, + mounted () { + const keyNames = { + esc: ['Esc', 'Escape'], + tab: 'Tab', + enter: 'Enter', + space: [' ', 'Spacebar'], + up: ['Up', 'ArrowUp'], + left: ['Left', 'ArrowLeft'], + right: ['Right', 'ArrowRight'], + down: ['Down', 'ArrowDown'], + delete: ['Backspace', 'Delete', 'Del'] + } + const listener = ($event) => { + if (this.disable) { + return + } + const keyName = Object.keys(keyNames).find(key => { + const keyName = $event.key + const value = keyNames[key] + return value === keyName || (Array.isArray(value) && value.includes(keyName)) + }) + if (keyName) { + // 避免和其他按键事件冲突 + setTimeout(() => { + this.$emit(keyName, {}) + }, 0) + } + } + document.addEventListener('keyup', listener) + this.$once('hook:beforeDestroy', () => { + document.removeEventListener('keyup', listener) + }) + }, + render: () => {} +} +// #endif diff --git a/wuye-manager-uniapp/uni_modules/uni-popup/components/uni-popup-dialog/uni-popup-dialog.vue b/wuye-manager-uniapp/uni_modules/uni-popup/components/uni-popup-dialog/uni-popup-dialog.vue new file mode 100644 index 0000000..ea93ea5 --- /dev/null +++ b/wuye-manager-uniapp/uni_modules/uni-popup/components/uni-popup-dialog/uni-popup-dialog.vue @@ -0,0 +1,330 @@ + + + + + diff --git a/wuye-manager-uniapp/uni_modules/uni-popup/components/uni-popup-message/uni-popup-message.vue b/wuye-manager-uniapp/uni_modules/uni-popup/components/uni-popup-message/uni-popup-message.vue new file mode 100644 index 0000000..91370a8 --- /dev/null +++ b/wuye-manager-uniapp/uni_modules/uni-popup/components/uni-popup-message/uni-popup-message.vue @@ -0,0 +1,143 @@ + + + + diff --git a/wuye-manager-uniapp/uni_modules/uni-popup/components/uni-popup-share/uni-popup-share.vue b/wuye-manager-uniapp/uni_modules/uni-popup/components/uni-popup-share/uni-popup-share.vue new file mode 100644 index 0000000..c8945d5 --- /dev/null +++ b/wuye-manager-uniapp/uni_modules/uni-popup/components/uni-popup-share/uni-popup-share.vue @@ -0,0 +1,188 @@ + + + + diff --git a/wuye-manager-uniapp/uni_modules/uni-popup/components/uni-popup/i18n/en.json b/wuye-manager-uniapp/uni_modules/uni-popup/components/uni-popup/i18n/en.json new file mode 100644 index 0000000..7f1bd06 --- /dev/null +++ b/wuye-manager-uniapp/uni_modules/uni-popup/components/uni-popup/i18n/en.json @@ -0,0 +1,7 @@ +{ + "uni-popup.cancel": "cancel", + "uni-popup.ok": "ok", + "uni-popup.placeholder": "pleace enter", + "uni-popup.title": "Hint", + "uni-popup.shareTitle": "Share to" +} diff --git a/wuye-manager-uniapp/uni_modules/uni-popup/components/uni-popup/i18n/index.js b/wuye-manager-uniapp/uni_modules/uni-popup/components/uni-popup/i18n/index.js new file mode 100644 index 0000000..de7509c --- /dev/null +++ b/wuye-manager-uniapp/uni_modules/uni-popup/components/uni-popup/i18n/index.js @@ -0,0 +1,8 @@ +import en from './en.json' +import zhHans from './zh-Hans.json' +import zhHant from './zh-Hant.json' +export default { + en, + 'zh-Hans': zhHans, + 'zh-Hant': zhHant +} diff --git a/wuye-manager-uniapp/uni_modules/uni-popup/components/uni-popup/i18n/zh-Hans.json b/wuye-manager-uniapp/uni_modules/uni-popup/components/uni-popup/i18n/zh-Hans.json new file mode 100644 index 0000000..5e3003c --- /dev/null +++ b/wuye-manager-uniapp/uni_modules/uni-popup/components/uni-popup/i18n/zh-Hans.json @@ -0,0 +1,7 @@ +{ + "uni-popup.cancel": "取消", + "uni-popup.ok": "确定", + "uni-popup.placeholder": "请输入", + "uni-popup.title": "提示", + "uni-popup.shareTitle": "分享到" +} diff --git a/wuye-manager-uniapp/uni_modules/uni-popup/components/uni-popup/i18n/zh-Hant.json b/wuye-manager-uniapp/uni_modules/uni-popup/components/uni-popup/i18n/zh-Hant.json new file mode 100644 index 0000000..13e39eb --- /dev/null +++ b/wuye-manager-uniapp/uni_modules/uni-popup/components/uni-popup/i18n/zh-Hant.json @@ -0,0 +1,7 @@ +{ + "uni-popup.cancel": "取消", + "uni-popup.ok": "確定", + "uni-popup.placeholder": "請輸入", + "uni-popup.title": "提示", + "uni-popup.shareTitle": "分享到" +} diff --git a/wuye-manager-uniapp/uni_modules/uni-popup/components/uni-popup/keypress.js b/wuye-manager-uniapp/uni_modules/uni-popup/components/uni-popup/keypress.js new file mode 100644 index 0000000..62dda46 --- /dev/null +++ b/wuye-manager-uniapp/uni_modules/uni-popup/components/uni-popup/keypress.js @@ -0,0 +1,45 @@ +// #ifdef H5 +export default { + name: 'Keypress', + props: { + disable: { + type: Boolean, + default: false + } + }, + mounted () { + const keyNames = { + esc: ['Esc', 'Escape'], + tab: 'Tab', + enter: 'Enter', + space: [' ', 'Spacebar'], + up: ['Up', 'ArrowUp'], + left: ['Left', 'ArrowLeft'], + right: ['Right', 'ArrowRight'], + down: ['Down', 'ArrowDown'], + delete: ['Backspace', 'Delete', 'Del'] + } + const listener = ($event) => { + if (this.disable) { + return + } + const keyName = Object.keys(keyNames).find(key => { + const keyName = $event.key + const value = keyNames[key] + return value === keyName || (Array.isArray(value) && value.includes(keyName)) + }) + if (keyName) { + // 避免和其他按键事件冲突 + setTimeout(() => { + this.$emit(keyName, {}) + }, 0) + } + } + document.addEventListener('keyup', listener) + // this.$once('hook:beforeDestroy', () => { + // document.removeEventListener('keyup', listener) + // }) + }, + render: () => {} +} +// #endif diff --git a/wuye-manager-uniapp/uni_modules/uni-popup/components/uni-popup/popup.js b/wuye-manager-uniapp/uni_modules/uni-popup/components/uni-popup/popup.js new file mode 100644 index 0000000..c4e5781 --- /dev/null +++ b/wuye-manager-uniapp/uni_modules/uni-popup/components/uni-popup/popup.js @@ -0,0 +1,26 @@ + +export default { + data() { + return { + + } + }, + created(){ + this.popup = this.getParent() + }, + methods:{ + /** + * 获取父元素实例 + */ + getParent(name = 'uniPopup') { + let parent = this.$parent; + let parentName = parent.$options.name; + while (parentName !== name) { + parent = parent.$parent; + if (!parent) return false + parentName = parent.$options.name; + } + return parent; + }, + } +} diff --git a/wuye-manager-uniapp/uni_modules/uni-popup/components/uni-popup/uni-popup.uvue b/wuye-manager-uniapp/uni_modules/uni-popup/components/uni-popup/uni-popup.uvue new file mode 100644 index 0000000..bef2f62 --- /dev/null +++ b/wuye-manager-uniapp/uni_modules/uni-popup/components/uni-popup/uni-popup.uvue @@ -0,0 +1,90 @@ + + + + + diff --git a/wuye-manager-uniapp/uni_modules/uni-popup/components/uni-popup/uni-popup.vue b/wuye-manager-uniapp/uni_modules/uni-popup/components/uni-popup/uni-popup.vue new file mode 100644 index 0000000..5af55e0 --- /dev/null +++ b/wuye-manager-uniapp/uni_modules/uni-popup/components/uni-popup/uni-popup.vue @@ -0,0 +1,518 @@ + + + + diff --git a/wuye-manager-uniapp/uni_modules/uni-popup/package.json b/wuye-manager-uniapp/uni_modules/uni-popup/package.json new file mode 100644 index 0000000..99d6eee --- /dev/null +++ b/wuye-manager-uniapp/uni_modules/uni-popup/package.json @@ -0,0 +1,108 @@ +{ + "id": "uni-popup", + "displayName": "uni-popup 弹出层", + "version": "1.9.12", + "description": " Popup 组件,提供常用的弹层", + "keywords": [ + "uni-ui", + "弹出层", + "弹窗", + "popup", + "弹框" +], + "repository": "https://github.com/dcloudio/uni-ui", + "engines": { + "HBuilderX": "", + "uni-app": "^4.07", + "uni-app-x": "^5.0" + }, + "directories": { + "example": "../../temps/example_temps" + }, + "dcloudext": { + "sale": { + "regular": { + "price": "0.00" + }, + "sourcecode": { + "price": "0.00" + } + }, + "contact": { + "qq": "" + }, + "declaration": { + "ads": "无", + "data": "无", + "permissions": "无" + }, + "npmurl": "https://www.npmjs.com/package/@dcloudio/uni-ui", + "type": "component-vue", + "darkmode": "x", + "i18n": "x", + "widescreen": "x" + }, + "uni_modules": { + "dependencies": [ + "uni-scss", + "uni-transition" + ], + "encrypt": [], + "platforms": { + "cloud": { + "tcb": "x", + "aliyun": "x", + "alipay": "x" + }, + "client": { + "uni-app": { + "vue": { + "vue2": "√", + "vue3": "√" + }, + "web": { + "safari": "√", + "chrome": "√" + }, + "app": { + "vue": "√", + "nvue": "√", + "android": "√", + "ios": "√", + "harmony": "√" + }, + "mp": { + "weixin": "√", + "alipay": "√", + "toutiao": "√", + "baidu": "√", + "kuaishou": "-", + "jd": "-", + "harmony": "-", + "qq": "√", + "lark": "-", + "xhs": "-" + }, + "quickapp": { + "huawei": "-", + "union": "-" + } + }, + "uni-app-x": { + "web": { + "safari": "√", + "chrome": "√" + }, + "app": { + "android": "√", + "ios": "√", + "harmony": "√" + }, + "mp": { + "weixin": "√" + } + } + } + } + } +} \ No newline at end of file diff --git a/wuye-manager-uniapp/uni_modules/uni-popup/readme.md b/wuye-manager-uniapp/uni_modules/uni-popup/readme.md new file mode 100644 index 0000000..ca9fd1d --- /dev/null +++ b/wuye-manager-uniapp/uni_modules/uni-popup/readme.md @@ -0,0 +1,15 @@ + + +## Popup 弹出层 +> **组件名:uni-popup** +> 代码块: `uPopup` +> 关联组件:`uni-transition` + + +弹出层组件,在应用中弹出一个消息提示窗口、提示框等 + +### [查看文档](https://uniapp.dcloud.io/component/uniui/uni-popup) + + + + diff --git a/wuye-manager-uniapp/uni_modules/uni-rate/changelog.md b/wuye-manager-uniapp/uni_modules/uni-rate/changelog.md new file mode 100644 index 0000000..6c00171 --- /dev/null +++ b/wuye-manager-uniapp/uni_modules/uni-rate/changelog.md @@ -0,0 +1,27 @@ +## 1.3.2(2026-02-09) +- 修复 pc 触屏问题 +## 1.3.1(2022-02-25) +- 修复 条件判断 `NaN` 错误的 bug +## 1.3.0(2021-11-19) +- 优化 组件UI,并提供设计资源,详见:[https://uniapp.dcloud.io/component/uniui/resource](https://uniapp.dcloud.io/component/uniui/resource) +- 文档迁移,详见:[https://uniapp.dcloud.io/component/uniui/uni-rate](https://uniapp.dcloud.io/component/uniui/uni-rate) +## 1.2.2(2021-09-10) +- 优化 默认值修改为 0 颗星 +## 1.2.1(2021-07-30) +- 优化 vue3下事件警告的问题 +## 1.2.0(2021-07-13) +- 组件兼容 vue3,如何创建vue3项目,详见 [uni-app 项目支持 vue3 介绍](https://ask.dcloud.net.cn/article/37834) +## 1.1.2(2021-05-12) +- 新增 组件示例地址 +## 1.1.1(2021-04-21) +- 修复 布局变化后 uni-rate 星星计算不准确的 bug +- 优化 添加依赖 uni-icons, 导入 uni-rate 自动下载依赖 +## 1.1.0(2021-04-16) +- 修复 uni-rate 属性 margin 值为 string 组件失效的 bug + +## 1.0.9(2021-02-05) +- 优化 组件引用关系,通过uni_modules引用组件 + +## 1.0.8(2021-02-05) +- 调整为uni_modules目录规范 +- 支持 pc 端 diff --git a/wuye-manager-uniapp/uni_modules/uni-rate/components/uni-rate/uni-rate.vue b/wuye-manager-uniapp/uni_modules/uni-rate/components/uni-rate/uni-rate.vue new file mode 100644 index 0000000..34ddf18 --- /dev/null +++ b/wuye-manager-uniapp/uni_modules/uni-rate/components/uni-rate/uni-rate.vue @@ -0,0 +1,371 @@ + + + + + diff --git a/wuye-manager-uniapp/uni_modules/uni-rate/package.json b/wuye-manager-uniapp/uni_modules/uni-rate/package.json new file mode 100644 index 0000000..bad3bbe --- /dev/null +++ b/wuye-manager-uniapp/uni_modules/uni-rate/package.json @@ -0,0 +1,106 @@ +{ + "id": "uni-rate", + "displayName": "uni-rate 评分", + "version": "1.3.2", + "description": "Rate 评分组件,可自定义评分星星图标的大小、间隔、评分数。", + "keywords": [ + "uni-ui", + "uniui", + "评分" +], + "repository": "https://github.com/dcloudio/uni-ui", + "engines": { + "HBuilderX": "", + "uni-app": "^4.05", + "uni-app-x": "" + }, + "directories": { + "example": "../../temps/example_temps" + }, + "dcloudext": { + "sale": { + "regular": { + "price": "0.00" + }, + "sourcecode": { + "price": "0.00" + } + }, + "contact": { + "qq": "" + }, + "declaration": { + "ads": "无", + "data": "无", + "permissions": "无" + }, + "npmurl": "https://www.npmjs.com/package/@dcloudio/uni-ui", + "type": "component-vue", + "darkmode": "x", + "i18n": "x", + "widescreen": "x" + }, + "uni_modules": { + "dependencies": [ + "uni-scss", + "uni-icons" + ], + "encrypt": [], + "platforms": { + "cloud": { + "tcb": "x", + "aliyun": "x", + "alipay": "x" + }, + "client": { + "uni-app": { + "vue": { + "vue2": "√", + "vue3": "√" + }, + "web": { + "safari": "√", + "chrome": "√" + }, + "app": { + "vue": "√", + "nvue": "√", + "android": "√", + "ios": "√", + "harmony": "√" + }, + "mp": { + "weixin": "√", + "alipay": "√", + "toutiao": "√", + "baidu": "√", + "kuaishou": "-", + "jd": "-", + "harmony": "-", + "qq": "√", + "lark": "-", + "xhs": "-" + }, + "quickapp": { + "huawei": "√", + "union": "√" + } + }, + "uni-app-x": { + "web": { + "safari": "-", + "chrome": "-" + }, + "app": { + "android": "-", + "ios": "-", + "harmony": "-" + }, + "mp": { + "weixin": "-" + } + } + } + } + } +} \ No newline at end of file diff --git a/wuye-manager-uniapp/uni_modules/uni-rate/readme.md b/wuye-manager-uniapp/uni_modules/uni-rate/readme.md new file mode 100644 index 0000000..49f4ae2 --- /dev/null +++ b/wuye-manager-uniapp/uni_modules/uni-rate/readme.md @@ -0,0 +1,11 @@ + + +## Rate 评分 +> **组件名:uni-rate** +> 代码块: `uRate` +> 关联组件:`uni-icons` + + +评分组件,多用于购买商品后,对商品进行评价等场景 + +### [查看文档](https://uniapp.dcloud.io/component/uniui/uni-rate) \ No newline at end of file diff --git a/wuye-manager-uniapp/uni_modules/uni-row/changelog.md b/wuye-manager-uniapp/uni_modules/uni-row/changelog.md new file mode 100644 index 0000000..5b465bc --- /dev/null +++ b/wuye-manager-uniapp/uni_modules/uni-row/changelog.md @@ -0,0 +1,10 @@ +## 1.0.0(2021-11-19) +- 优化 组件UI,并提供设计资源,详见:[https://uniapp.dcloud.io/component/uniui/resource](https://uniapp.dcloud.io/component/uniui/resource) +- 文档迁移,详见:[https://uniapp.dcloud.io/component/uniui/uni-row](https://uniapp.dcloud.io/component/uniui/uni-row) +## 0.1.0(2021-07-13) +- 组件兼容 vue3,如何创建vue3项目,详见 [uni-app 项目支持 vue3 介绍](https://ask.dcloud.net.cn/article/37834) +## 0.0.4(2021-05-12) +- 新增 组件示例地址 +## 0.0.3(2021-02-05) +- 调整为uni_modules目录规范 +- 新增uni-row组件 diff --git a/wuye-manager-uniapp/uni_modules/uni-row/components/uni-col/uni-col.vue b/wuye-manager-uniapp/uni_modules/uni-row/components/uni-col/uni-col.vue new file mode 100644 index 0000000..84e2deb --- /dev/null +++ b/wuye-manager-uniapp/uni_modules/uni-row/components/uni-col/uni-col.vue @@ -0,0 +1,317 @@ + + + + + diff --git a/wuye-manager-uniapp/uni_modules/uni-row/components/uni-row/uni-row.vue b/wuye-manager-uniapp/uni_modules/uni-row/components/uni-row/uni-row.vue new file mode 100644 index 0000000..f8e8542 --- /dev/null +++ b/wuye-manager-uniapp/uni_modules/uni-row/components/uni-row/uni-row.vue @@ -0,0 +1,190 @@ + + + + + diff --git a/wuye-manager-uniapp/uni_modules/uni-row/package.json b/wuye-manager-uniapp/uni_modules/uni-row/package.json new file mode 100644 index 0000000..3f52fa6 --- /dev/null +++ b/wuye-manager-uniapp/uni_modules/uni-row/package.json @@ -0,0 +1,87 @@ +{ + "id": "uni-row", + "displayName": "uni-row 布局-行", + "version": "1.0.0", + "description": "流式栅格系统,随着屏幕或视口分为 24 份,可以迅速简便地创建布局。", + "keywords": [ + "uni-ui", + "uniui", + "栅格", + "布局", + "layout" +], + "repository": "https://github.com/dcloudio/uni-ui", + "engines": { + "HBuilderX": "" + }, + "directories": { + "example": "../../temps/example_temps" + }, + "dcloudext": { + "category": [ + "前端组件", + "通用组件" + ], + "sale": { + "regular": { + "price": "0.00" + }, + "sourcecode": { + "price": "0.00" + } + }, + "contact": { + "qq": "" + }, + "declaration": { + "ads": "无", + "data": "无", + "permissions": "无" + }, + "npmurl": "https://www.npmjs.com/package/@dcloudio/uni-ui" + }, + "uni_modules": { + "dependencies": ["uni-scss"], + "encrypt": [], + "platforms": { + "cloud": { + "tcb": "y", + "aliyun": "y" + }, + "client": { + "App": { + "app-vue": "y", + "app-nvue": "y" + }, + "H5-mobile": { + "Safari": "y", + "Android Browser": "y", + "微信浏览器(Android)": "y", + "QQ浏览器(Android)": "y" + }, + "H5-pc": { + "Chrome": "y", + "IE": "y", + "Edge": "y", + "Firefox": "y", + "Safari": "y" + }, + "小程序": { + "微信": "y", + "阿里": "y", + "百度": "y", + "字节跳动": "y", + "QQ": "y" + }, + "快应用": { + "华为": "u", + "联盟": "u" + }, + "Vue": { + "vue2": "y", + "vue3": "u" + } + } + } + } +} \ No newline at end of file diff --git a/wuye-manager-uniapp/uni_modules/uni-row/readme.md b/wuye-manager-uniapp/uni_modules/uni-row/readme.md new file mode 100644 index 0000000..3c9c8b9 --- /dev/null +++ b/wuye-manager-uniapp/uni_modules/uni-row/readme.md @@ -0,0 +1,10 @@ +## Layout 布局 + +> **组件名 uni-row、uni-col** +> 代码块: `uRow`、`uCol` + + +流式栅格系统,随着屏幕或视口分为 24 份,可以迅速简便地创建布局。 + +### [查看文档](https://uniapp.dcloud.io/component/uniui/uni-row) +#### 如使用过程中有任何问题,或者您对uni-ui有一些好的建议,欢迎加入 uni-ui 交流群:871950839 \ No newline at end of file diff --git a/wuye-manager-uniapp/uni_modules/uni-scss/changelog.md b/wuye-manager-uniapp/uni_modules/uni-scss/changelog.md new file mode 100644 index 0000000..b863bb0 --- /dev/null +++ b/wuye-manager-uniapp/uni_modules/uni-scss/changelog.md @@ -0,0 +1,8 @@ +## 1.0.3(2022-01-21) +- 优化 组件示例 +## 1.0.2(2021-11-22) +- 修复 / 符号在 vue 不同版本兼容问题引起的报错问题 +## 1.0.1(2021-11-22) +- 修复 vue3中scss语法兼容问题 +## 1.0.0(2021-11-18) +- init diff --git a/wuye-manager-uniapp/uni_modules/uni-scss/index.scss b/wuye-manager-uniapp/uni_modules/uni-scss/index.scss new file mode 100644 index 0000000..1744a5f --- /dev/null +++ b/wuye-manager-uniapp/uni_modules/uni-scss/index.scss @@ -0,0 +1 @@ +@import './styles/index.scss'; diff --git a/wuye-manager-uniapp/uni_modules/uni-scss/package.json b/wuye-manager-uniapp/uni_modules/uni-scss/package.json new file mode 100644 index 0000000..7cc0ccb --- /dev/null +++ b/wuye-manager-uniapp/uni_modules/uni-scss/package.json @@ -0,0 +1,82 @@ +{ + "id": "uni-scss", + "displayName": "uni-scss 辅助样式", + "version": "1.0.3", + "description": "uni-sass是uni-ui提供的一套全局样式 ,通过一些简单的类名和sass变量,实现简单的页面布局操作,比如颜色、边距、圆角等。", + "keywords": [ + "uni-scss", + "uni-ui", + "辅助样式" +], + "repository": "https://github.com/dcloudio/uni-ui", + "engines": { + "HBuilderX": "^3.1.0" + }, + "dcloudext": { + "category": [ + "JS SDK", + "通用 SDK" + ], + "sale": { + "regular": { + "price": "0.00" + }, + "sourcecode": { + "price": "0.00" + } + }, + "contact": { + "qq": "" + }, + "declaration": { + "ads": "无", + "data": "无", + "permissions": "无" + }, + "npmurl": "https://www.npmjs.com/package/@dcloudio/uni-ui" + }, + "uni_modules": { + "dependencies": [], + "encrypt": [], + "platforms": { + "cloud": { + "tcb": "y", + "aliyun": "y" + }, + "client": { + "App": { + "app-vue": "y", + "app-nvue": "u" + }, + "H5-mobile": { + "Safari": "y", + "Android Browser": "y", + "微信浏览器(Android)": "y", + "QQ浏览器(Android)": "y" + }, + "H5-pc": { + "Chrome": "y", + "IE": "y", + "Edge": "y", + "Firefox": "y", + "Safari": "y" + }, + "小程序": { + "微信": "y", + "阿里": "y", + "百度": "y", + "字节跳动": "y", + "QQ": "y" + }, + "快应用": { + "华为": "n", + "联盟": "n" + }, + "Vue": { + "vue2": "y", + "vue3": "y" + } + } + } + } +} diff --git a/wuye-manager-uniapp/uni_modules/uni-scss/readme.md b/wuye-manager-uniapp/uni_modules/uni-scss/readme.md new file mode 100644 index 0000000..b7d1c25 --- /dev/null +++ b/wuye-manager-uniapp/uni_modules/uni-scss/readme.md @@ -0,0 +1,4 @@ +`uni-sass` 是 `uni-ui`提供的一套全局样式 ,通过一些简单的类名和`sass`变量,实现简单的页面布局操作,比如颜色、边距、圆角等。 + +### [查看文档](https://uniapp.dcloud.io/component/uniui/uni-sass) +#### 如使用过程中有任何问题,或者您对uni-ui有一些好的建议,欢迎加入 uni-ui 交流群:871950839 \ No newline at end of file diff --git a/wuye-manager-uniapp/uni_modules/uni-scss/styles/index.scss b/wuye-manager-uniapp/uni_modules/uni-scss/styles/index.scss new file mode 100644 index 0000000..ffac4fe --- /dev/null +++ b/wuye-manager-uniapp/uni_modules/uni-scss/styles/index.scss @@ -0,0 +1,7 @@ +@import './setting/_variables.scss'; +@import './setting/_border.scss'; +@import './setting/_color.scss'; +@import './setting/_space.scss'; +@import './setting/_radius.scss'; +@import './setting/_text.scss'; +@import './setting/_styles.scss'; diff --git a/wuye-manager-uniapp/uni_modules/uni-scss/styles/setting/_border.scss b/wuye-manager-uniapp/uni_modules/uni-scss/styles/setting/_border.scss new file mode 100644 index 0000000..12a11c3 --- /dev/null +++ b/wuye-manager-uniapp/uni_modules/uni-scss/styles/setting/_border.scss @@ -0,0 +1,3 @@ +.uni-border { + border: 1px $uni-border-1 solid; +} \ No newline at end of file diff --git a/wuye-manager-uniapp/uni_modules/uni-scss/styles/setting/_color.scss b/wuye-manager-uniapp/uni_modules/uni-scss/styles/setting/_color.scss new file mode 100644 index 0000000..1ededd9 --- /dev/null +++ b/wuye-manager-uniapp/uni_modules/uni-scss/styles/setting/_color.scss @@ -0,0 +1,66 @@ + +// TODO 暂时不需要 class ,需要用户使用变量实现 ,如果使用类名其实并不推荐 +// @mixin get-styles($k,$c) { +// @if $k == size or $k == weight{ +// font-#{$k}:#{$c} +// }@else{ +// #{$k}:#{$c} +// } +// } +$uni-ui-color:( + // 主色 + primary: $uni-primary, + primary-disable: $uni-primary-disable, + primary-light: $uni-primary-light, + // 辅助色 + success: $uni-success, + success-disable: $uni-success-disable, + success-light: $uni-success-light, + warning: $uni-warning, + warning-disable: $uni-warning-disable, + warning-light: $uni-warning-light, + error: $uni-error, + error-disable: $uni-error-disable, + error-light: $uni-error-light, + info: $uni-info, + info-disable: $uni-info-disable, + info-light: $uni-info-light, + // 中性色 + main-color: $uni-main-color, + base-color: $uni-base-color, + secondary-color: $uni-secondary-color, + extra-color: $uni-extra-color, + // 背景色 + bg-color: $uni-bg-color, + // 边框颜色 + border-1: $uni-border-1, + border-2: $uni-border-2, + border-3: $uni-border-3, + border-4: $uni-border-4, + // 黑色 + black:$uni-black, + // 白色 + white:$uni-white, + // 透明 + transparent:$uni-transparent +) !default; +@each $key, $child in $uni-ui-color { + .uni-#{"" + $key} { + color: $child; + } + .uni-#{"" + $key}-bg { + background-color: $child; + } +} +.uni-shadow-sm { + box-shadow: $uni-shadow-sm; +} +.uni-shadow-base { + box-shadow: $uni-shadow-base; +} +.uni-shadow-lg { + box-shadow: $uni-shadow-lg; +} +.uni-mask { + background-color:$uni-mask; +} diff --git a/wuye-manager-uniapp/uni_modules/uni-scss/styles/setting/_radius.scss b/wuye-manager-uniapp/uni_modules/uni-scss/styles/setting/_radius.scss new file mode 100644 index 0000000..9a0428b --- /dev/null +++ b/wuye-manager-uniapp/uni_modules/uni-scss/styles/setting/_radius.scss @@ -0,0 +1,55 @@ +@mixin radius($r,$d:null ,$important: false){ + $radius-value:map-get($uni-radius, $r) if($important, !important, null); + // Key exists within the $uni-radius variable + @if (map-has-key($uni-radius, $r) and $d){ + @if $d == t { + border-top-left-radius:$radius-value; + border-top-right-radius:$radius-value; + }@else if $d == r { + border-top-right-radius:$radius-value; + border-bottom-right-radius:$radius-value; + }@else if $d == b { + border-bottom-left-radius:$radius-value; + border-bottom-right-radius:$radius-value; + }@else if $d == l { + border-top-left-radius:$radius-value; + border-bottom-left-radius:$radius-value; + }@else if $d == tl { + border-top-left-radius:$radius-value; + }@else if $d == tr { + border-top-right-radius:$radius-value; + }@else if $d == br { + border-bottom-right-radius:$radius-value; + }@else if $d == bl { + border-bottom-left-radius:$radius-value; + } + }@else{ + border-radius:$radius-value; + } +} + +@each $key, $child in $uni-radius { + @if($key){ + .uni-radius-#{"" + $key} { + @include radius($key) + } + }@else{ + .uni-radius { + @include radius($key) + } + } +} + +@each $direction in t, r, b, l,tl, tr, br, bl { + @each $key, $child in $uni-radius { + @if($key){ + .uni-radius-#{"" + $direction}-#{"" + $key} { + @include radius($key,$direction,false) + } + }@else{ + .uni-radius-#{$direction} { + @include radius($key,$direction,false) + } + } + } +} diff --git a/wuye-manager-uniapp/uni_modules/uni-scss/styles/setting/_space.scss b/wuye-manager-uniapp/uni_modules/uni-scss/styles/setting/_space.scss new file mode 100644 index 0000000..3c89528 --- /dev/null +++ b/wuye-manager-uniapp/uni_modules/uni-scss/styles/setting/_space.scss @@ -0,0 +1,56 @@ + +@mixin fn($space,$direction,$size,$n) { + @if $n { + #{$space}-#{$direction}: #{$size*$uni-space-root}px + } @else { + #{$space}-#{$direction}: #{-$size*$uni-space-root}px + } +} +@mixin get-styles($direction,$i,$space,$n){ + @if $direction == t { + @include fn($space, top,$i,$n); + } + @if $direction == r { + @include fn($space, right,$i,$n); + } + @if $direction == b { + @include fn($space, bottom,$i,$n); + } + @if $direction == l { + @include fn($space, left,$i,$n); + } + @if $direction == x { + @include fn($space, left,$i,$n); + @include fn($space, right,$i,$n); + } + @if $direction == y { + @include fn($space, top,$i,$n); + @include fn($space, bottom,$i,$n); + } + @if $direction == a { + @if $n { + #{$space}:#{$i*$uni-space-root}px; + } @else { + #{$space}:#{-$i*$uni-space-root}px; + } + } +} + +@each $orientation in m,p { + $space: margin; + @if $orientation == m { + $space: margin; + } @else { + $space: padding; + } + @for $i from 0 through 16 { + @each $direction in t, r, b, l, x, y, a { + .uni-#{$orientation}#{$direction}-#{$i} { + @include get-styles($direction,$i,$space,true); + } + .uni-#{$orientation}#{$direction}-n#{$i} { + @include get-styles($direction,$i,$space,false); + } + } + } +} \ No newline at end of file diff --git a/wuye-manager-uniapp/uni_modules/uni-scss/styles/setting/_styles.scss b/wuye-manager-uniapp/uni_modules/uni-scss/styles/setting/_styles.scss new file mode 100644 index 0000000..689afec --- /dev/null +++ b/wuye-manager-uniapp/uni_modules/uni-scss/styles/setting/_styles.scss @@ -0,0 +1,167 @@ +/* #ifndef APP-NVUE */ + +$-color-white:#fff; +$-color-black:#000; +@mixin base-style($color) { + color: #fff; + background-color: $color; + border-color: mix($-color-black, $color, 8%); + &:not([hover-class]):active { + background: mix($-color-black, $color, 10%); + border-color: mix($-color-black, $color, 20%); + color: $-color-white; + outline: none; + } +} +@mixin is-color($color) { + @include base-style($color); + &[loading] { + @include base-style($color); + &::before { + margin-right:5px; + } + } + &[disabled] { + &, + &[loading], + &:not([hover-class]):active { + color: $-color-white; + border-color: mix(darken($color,10%), $-color-white); + background-color: mix($color, $-color-white); + } + } + +} +@mixin base-plain-style($color) { + color:$color; + background-color: mix($-color-white, $color, 90%); + border-color: mix($-color-white, $color, 70%); + &:not([hover-class]):active { + background: mix($-color-white, $color, 80%); + color: $color; + outline: none; + border-color: mix($-color-white, $color, 50%); + } +} +@mixin is-plain($color){ + &[plain] { + @include base-plain-style($color); + &[loading] { + @include base-plain-style($color); + &::before { + margin-right:5px; + } + } + &[disabled] { + &, + &:active { + color: mix($-color-white, $color, 40%); + background-color: mix($-color-white, $color, 90%); + border-color: mix($-color-white, $color, 80%); + } + } + } +} + + +.uni-btn { + margin: 5px; + color: #393939; + border:1px solid #ccc; + font-size: 16px; + font-weight: 200; + background-color: #F9F9F9; + // TODO 暂时处理边框隐藏一边的问题 + overflow: visible; + &::after{ + border: none; + } + + &:not([type]),&[type=default] { + color: #999; + &[loading] { + background: none; + &::before { + margin-right:5px; + } + } + + + + &[disabled]{ + color: mix($-color-white, #999, 60%); + &, + &[loading], + &:active { + color: mix($-color-white, #999, 60%); + background-color: mix($-color-white,$-color-black , 98%); + border-color: mix($-color-white, #999, 85%); + } + } + + &[plain] { + color: #999; + background: none; + border-color: $uni-border-1; + &:not([hover-class]):active { + background: none; + color: mix($-color-white, $-color-black, 80%); + border-color: mix($-color-white, $-color-black, 90%); + outline: none; + } + &[disabled]{ + &, + &[loading], + &:active { + background: none; + color: mix($-color-white, #999, 60%); + border-color: mix($-color-white, #999, 85%); + } + } + } + } + + &:not([hover-class]):active { + color: mix($-color-white, $-color-black, 50%); + } + + &[size=mini] { + font-size: 16px; + font-weight: 200; + border-radius: 8px; + } + + + + &.uni-btn-small { + font-size: 14px; + } + &.uni-btn-mini { + font-size: 12px; + } + + &.uni-btn-radius { + border-radius: 999px; + } + &[type=primary] { + @include is-color($uni-primary); + @include is-plain($uni-primary) + } + &[type=success] { + @include is-color($uni-success); + @include is-plain($uni-success) + } + &[type=error] { + @include is-color($uni-error); + @include is-plain($uni-error) + } + &[type=warning] { + @include is-color($uni-warning); + @include is-plain($uni-warning) + } + &[type=info] { + @include is-color($uni-info); + @include is-plain($uni-info) + } +} +/* #endif */ diff --git a/wuye-manager-uniapp/uni_modules/uni-scss/styles/setting/_text.scss b/wuye-manager-uniapp/uni_modules/uni-scss/styles/setting/_text.scss new file mode 100644 index 0000000..a34d08f --- /dev/null +++ b/wuye-manager-uniapp/uni_modules/uni-scss/styles/setting/_text.scss @@ -0,0 +1,24 @@ +@mixin get-styles($k,$c) { + @if $k == size or $k == weight{ + font-#{$k}:#{$c} + }@else{ + #{$k}:#{$c} + } +} + +@each $key, $child in $uni-headings { + /* #ifndef APP-NVUE */ + .uni-#{$key} { + @each $k, $c in $child { + @include get-styles($k,$c) + } + } + /* #endif */ + /* #ifdef APP-NVUE */ + .container .uni-#{$key} { + @each $k, $c in $child { + @include get-styles($k,$c) + } + } + /* #endif */ +} diff --git a/wuye-manager-uniapp/uni_modules/uni-scss/styles/setting/_variables.scss b/wuye-manager-uniapp/uni_modules/uni-scss/styles/setting/_variables.scss new file mode 100644 index 0000000..557d3d7 --- /dev/null +++ b/wuye-manager-uniapp/uni_modules/uni-scss/styles/setting/_variables.scss @@ -0,0 +1,146 @@ +// @use "sass:math"; +@import '../tools/functions.scss'; +// 间距基础倍数 +$uni-space-root: 2 !default; +// 边框半径默认值 +$uni-radius-root:5px !default; +$uni-radius: () !default; +// 边框半径断点 +$uni-radius: map-deep-merge( + ( + 0: 0, + // TODO 当前版本暂时不支持 sm 属性 + // 'sm': math.div($uni-radius-root, 2), + null: $uni-radius-root, + 'lg': $uni-radius-root * 2, + 'xl': $uni-radius-root * 6, + 'pill': 9999px, + 'circle': 50% + ), + $uni-radius +); +// 字体家族 +$body-font-family: 'Roboto', sans-serif !default; +// 文本 +$heading-font-family: $body-font-family !default; +$uni-headings: () !default; +$letterSpacing: -0.01562em; +$uni-headings: map-deep-merge( + ( + 'h1': ( + size: 32px, + weight: 300, + line-height: 50px, + // letter-spacing:-0.01562em + ), + 'h2': ( + size: 28px, + weight: 300, + line-height: 40px, + // letter-spacing: -0.00833em + ), + 'h3': ( + size: 24px, + weight: 400, + line-height: 32px, + // letter-spacing: normal + ), + 'h4': ( + size: 20px, + weight: 400, + line-height: 30px, + // letter-spacing: 0.00735em + ), + 'h5': ( + size: 16px, + weight: 400, + line-height: 24px, + // letter-spacing: normal + ), + 'h6': ( + size: 14px, + weight: 500, + line-height: 18px, + // letter-spacing: 0.0125em + ), + 'subtitle': ( + size: 12px, + weight: 400, + line-height: 20px, + // letter-spacing: 0.00937em + ), + 'body': ( + font-size: 14px, + font-weight: 400, + line-height: 22px, + // letter-spacing: 0.03125em + ), + 'caption': ( + 'size': 12px, + 'weight': 400, + 'line-height': 20px, + // 'letter-spacing': 0.03333em, + // 'text-transform': false + ) + ), + $uni-headings +); + + + +// 主色 +$uni-primary: #2979ff !default; +$uni-primary-disable:lighten($uni-primary,20%) !default; +$uni-primary-light: lighten($uni-primary,25%) !default; + +// 辅助色 +// 除了主色外的场景色,需要在不同的场景中使用(例如危险色表示危险的操作)。 +$uni-success: #18bc37 !default; +$uni-success-disable:lighten($uni-success,20%) !default; +$uni-success-light: lighten($uni-success,25%) !default; + +$uni-warning: #f3a73f !default; +$uni-warning-disable:lighten($uni-warning,20%) !default; +$uni-warning-light: lighten($uni-warning,25%) !default; + +$uni-error: #e43d33 !default; +$uni-error-disable:lighten($uni-error,20%) !default; +$uni-error-light: lighten($uni-error,25%) !default; + +$uni-info: #8f939c !default; +$uni-info-disable:lighten($uni-info,20%) !default; +$uni-info-light: lighten($uni-info,25%) !default; + +// 中性色 +// 中性色用于文本、背景和边框颜色。通过运用不同的中性色,来表现层次结构。 +$uni-main-color: #3a3a3a !default; // 主要文字 +$uni-base-color: #6a6a6a !default; // 常规文字 +$uni-secondary-color: #909399 !default; // 次要文字 +$uni-extra-color: #c7c7c7 !default; // 辅助说明 + +// 边框颜色 +$uni-border-1: #F0F0F0 !default; +$uni-border-2: #EDEDED !default; +$uni-border-3: #DCDCDC !default; +$uni-border-4: #B9B9B9 !default; + +// 常规色 +$uni-black: #000000 !default; +$uni-white: #ffffff !default; +$uni-transparent: rgba($color: #000000, $alpha: 0) !default; + +// 背景色 +$uni-bg-color: #f7f7f7 !default; + +/* 水平间距 */ +$uni-spacing-sm: 8px !default; +$uni-spacing-base: 15px !default; +$uni-spacing-lg: 30px !default; + +// 阴影 +$uni-shadow-sm:0 0 5px rgba($color: #d8d8d8, $alpha: 0.5) !default; +$uni-shadow-base:0 1px 8px 1px rgba($color: #a5a5a5, $alpha: 0.2) !default; +$uni-shadow-lg:0px 1px 10px 2px rgba($color: #a5a4a4, $alpha: 0.5) !default; + +// 蒙版 +$uni-mask: rgba($color: #000000, $alpha: 0.4) !default; diff --git a/wuye-manager-uniapp/uni_modules/uni-scss/styles/tools/functions.scss b/wuye-manager-uniapp/uni_modules/uni-scss/styles/tools/functions.scss new file mode 100644 index 0000000..ac6f63e --- /dev/null +++ b/wuye-manager-uniapp/uni_modules/uni-scss/styles/tools/functions.scss @@ -0,0 +1,19 @@ +// 合并 map +@function map-deep-merge($parent-map, $child-map){ + $result: $parent-map; + @each $key, $child in $child-map { + $parent-has-key: map-has-key($result, $key); + $parent-value: map-get($result, $key); + $parent-type: type-of($parent-value); + $child-type: type-of($child); + $parent-is-map: $parent-type == map; + $child-is-map: $child-type == map; + + @if (not $parent-has-key) or ($parent-type != $child-type) or (not ($parent-is-map and $child-is-map)){ + $result: map-merge($result, ( $key: $child )); + }@else { + $result: map-merge($result, ( $key: map-deep-merge($parent-value, $child) )); + } + } + @return $result; +}; diff --git a/wuye-manager-uniapp/uni_modules/uni-scss/theme.scss b/wuye-manager-uniapp/uni_modules/uni-scss/theme.scss new file mode 100644 index 0000000..80ee62f --- /dev/null +++ b/wuye-manager-uniapp/uni_modules/uni-scss/theme.scss @@ -0,0 +1,31 @@ +// 间距基础倍数 +$uni-space-root: 2; +// 边框半径默认值 +$uni-radius-root:5px; +// 主色 +$uni-primary: #2979ff; +// 辅助色 +$uni-success: #4cd964; +// 警告色 +$uni-warning: #f0ad4e; +// 错误色 +$uni-error: #dd524d; +// 描述色 +$uni-info: #909399; +// 中性色 +$uni-main-color: #303133; +$uni-base-color: #606266; +$uni-secondary-color: #909399; +$uni-extra-color: #C0C4CC; +// 背景色 +$uni-bg-color: #f5f5f5; +// 边框颜色 +$uni-border-1: #DCDFE6; +$uni-border-2: #E4E7ED; +$uni-border-3: #EBEEF5; +$uni-border-4: #F2F6FC; + +// 常规色 +$uni-black: #000000; +$uni-white: #ffffff; +$uni-transparent: rgba($color: #000000, $alpha: 0); diff --git a/wuye-manager-uniapp/uni_modules/uni-scss/variables.scss b/wuye-manager-uniapp/uni_modules/uni-scss/variables.scss new file mode 100644 index 0000000..1c062d4 --- /dev/null +++ b/wuye-manager-uniapp/uni_modules/uni-scss/variables.scss @@ -0,0 +1,62 @@ +@import './styles/setting/_variables.scss'; +// 间距基础倍数 +$uni-space-root: 2; +// 边框半径默认值 +$uni-radius-root:5px; + +// 主色 +$uni-primary: #2979ff; +$uni-primary-disable:mix(#fff,$uni-primary,50%); +$uni-primary-light: mix(#fff,$uni-primary,80%); + +// 辅助色 +// 除了主色外的场景色,需要在不同的场景中使用(例如危险色表示危险的操作)。 +$uni-success: #18bc37; +$uni-success-disable:mix(#fff,$uni-success,50%); +$uni-success-light: mix(#fff,$uni-success,80%); + +$uni-warning: #f3a73f; +$uni-warning-disable:mix(#fff,$uni-warning,50%); +$uni-warning-light: mix(#fff,$uni-warning,80%); + +$uni-error: #e43d33; +$uni-error-disable:mix(#fff,$uni-error,50%); +$uni-error-light: mix(#fff,$uni-error,80%); + +$uni-info: #8f939c; +$uni-info-disable:mix(#fff,$uni-info,50%); +$uni-info-light: mix(#fff,$uni-info,80%); + +// 中性色 +// 中性色用于文本、背景和边框颜色。通过运用不同的中性色,来表现层次结构。 +$uni-main-color: #3a3a3a; // 主要文字 +$uni-base-color: #6a6a6a; // 常规文字 +$uni-secondary-color: #909399; // 次要文字 +$uni-extra-color: #c7c7c7; // 辅助说明 + +// 边框颜色 +$uni-border-1: #F0F0F0; +$uni-border-2: #EDEDED; +$uni-border-3: #DCDCDC; +$uni-border-4: #B9B9B9; + +// 常规色 +$uni-black: #000000; +$uni-white: #ffffff; +$uni-transparent: rgba($color: #000000, $alpha: 0); + +// 背景色 +$uni-bg-color: #f7f7f7; + +/* 水平间距 */ +$uni-spacing-sm: 8px; +$uni-spacing-base: 15px; +$uni-spacing-lg: 30px; + +// 阴影 +$uni-shadow-sm:0 0 5px rgba($color: #d8d8d8, $alpha: 0.5); +$uni-shadow-base:0 1px 8px 1px rgba($color: #a5a5a5, $alpha: 0.2); +$uni-shadow-lg:0px 1px 10px 2px rgba($color: #a5a4a4, $alpha: 0.5); + +// 蒙版 +$uni-mask: rgba($color: #000000, $alpha: 0.4); diff --git a/wuye-manager-uniapp/uni_modules/uni-search-bar/changelog.md b/wuye-manager-uniapp/uni_modules/uni-search-bar/changelog.md new file mode 100644 index 0000000..2c6571c --- /dev/null +++ b/wuye-manager-uniapp/uni_modules/uni-search-bar/changelog.md @@ -0,0 +1,47 @@ +## 1.3.0(2024-04-22) +- 修复 textColor默认值导致的文字不显示的bug +## 1.2.9(2024-04-17) +- 修复 textColor不生效的bug +## 1.2.8(2024-02-22) +- 修复 清空按钮emit值错误的bug +## 1.2.7(2024-02-21) +- 新增 设置输入框字体颜色:textColor +## 1.2.6(2024-02-20) +- 修复 uni-search-bar在支付宝小程序下样式兼容问题 +## 1.2.5(2024-01-31) +- 修复 uni-search-bar居中问题,现在默认居左,并修复样式偏移问题 +## 1.2.4(2023-05-09) +- 修复 i18n 国际化不正确的 Bug +## 1.2.3(2022-05-24) +- 新增 readonly 属性,组件只读 +## 1.2.2(2022-05-06) +- 修复 vue3 input 事件不生效的bug +## 1.2.1(2022-05-06) +- 修复 多余代码导致的bug +## 1.2.0(2021-11-19) +- 优化 组件UI,并提供设计资源,详见:[https://uniapp.dcloud.io/component/uniui/resource](https://uniapp.dcloud.io/component/uniui/resource) +- 文档迁移,详见:[https://uniapp.dcloud.io/component/uniui/uni-search-bar](https://uniapp.dcloud.io/component/uniui/uni-search-bar) +## 1.1.2(2021-08-30) +- 修复 value 属性与 modelValue 属性不兼容的Bug +## 1.1.1(2021-08-24) +- 新增 支持国际化 +## 1.1.0(2021-07-30) +- 组件兼容 vue3,如何创建vue3项目,详见 [uni-app 项目支持 vue3 介绍](https://ask.dcloud.net.cn/article/37834) +## 1.0.9(2021-05-12) +- 新增 项目示例地址 +## 1.0.8(2021-04-21) +- 优化 添加依赖 uni-icons, 导入后自动下载依赖 +## 1.0.7(2021-04-15) +- uni-ui 新增 uni-search-bar 的 focus 事件 + +## 1.0.6(2021-02-05) +- 优化 组件引用关系,通过uni_modules引用组件 + +## 1.0.5(2021-02-05) +- 调整为uni_modules目录规范 +- 新增 支持双向绑定 +- 更改 input 事件的返回值,e={value:Number} --> e=value +- 新增 支持图标插槽 +- 新增 支持 clear、blur 事件 +- 新增 支持 focus 属性 +- 去掉组件背景色 diff --git a/wuye-manager-uniapp/uni_modules/uni-search-bar/components/uni-search-bar/i18n/en.json b/wuye-manager-uniapp/uni_modules/uni-search-bar/components/uni-search-bar/i18n/en.json new file mode 100644 index 0000000..dd083a5 --- /dev/null +++ b/wuye-manager-uniapp/uni_modules/uni-search-bar/components/uni-search-bar/i18n/en.json @@ -0,0 +1,4 @@ +{ + "uni-search-bar.cancel": "cancel", + "uni-search-bar.placeholder": "Search enter content" +} \ No newline at end of file diff --git a/wuye-manager-uniapp/uni_modules/uni-search-bar/components/uni-search-bar/i18n/index.js b/wuye-manager-uniapp/uni_modules/uni-search-bar/components/uni-search-bar/i18n/index.js new file mode 100644 index 0000000..de7509c --- /dev/null +++ b/wuye-manager-uniapp/uni_modules/uni-search-bar/components/uni-search-bar/i18n/index.js @@ -0,0 +1,8 @@ +import en from './en.json' +import zhHans from './zh-Hans.json' +import zhHant from './zh-Hant.json' +export default { + en, + 'zh-Hans': zhHans, + 'zh-Hant': zhHant +} diff --git a/wuye-manager-uniapp/uni_modules/uni-search-bar/components/uni-search-bar/i18n/zh-Hans.json b/wuye-manager-uniapp/uni_modules/uni-search-bar/components/uni-search-bar/i18n/zh-Hans.json new file mode 100644 index 0000000..d2a1ced --- /dev/null +++ b/wuye-manager-uniapp/uni_modules/uni-search-bar/components/uni-search-bar/i18n/zh-Hans.json @@ -0,0 +1,4 @@ +{ + "uni-search-bar.cancel": "取消", + "uni-search-bar.placeholder": "请输入搜索内容" +} diff --git a/wuye-manager-uniapp/uni_modules/uni-search-bar/components/uni-search-bar/i18n/zh-Hant.json b/wuye-manager-uniapp/uni_modules/uni-search-bar/components/uni-search-bar/i18n/zh-Hant.json new file mode 100644 index 0000000..f1c96bc --- /dev/null +++ b/wuye-manager-uniapp/uni_modules/uni-search-bar/components/uni-search-bar/i18n/zh-Hant.json @@ -0,0 +1,4 @@ +{ + "uni-search-bar.cancel": "取消", + "uni-search-bar.placeholder": "請輸入搜索內容" +} diff --git a/wuye-manager-uniapp/uni_modules/uni-search-bar/components/uni-search-bar/uni-search-bar.vue b/wuye-manager-uniapp/uni_modules/uni-search-bar/components/uni-search-bar/uni-search-bar.vue new file mode 100644 index 0000000..6b9b9c1 --- /dev/null +++ b/wuye-manager-uniapp/uni_modules/uni-search-bar/components/uni-search-bar/uni-search-bar.vue @@ -0,0 +1,309 @@ + + + + + diff --git a/wuye-manager-uniapp/uni_modules/uni-search-bar/package.json b/wuye-manager-uniapp/uni_modules/uni-search-bar/package.json new file mode 100644 index 0000000..1730d9d --- /dev/null +++ b/wuye-manager-uniapp/uni_modules/uni-search-bar/package.json @@ -0,0 +1,87 @@ +{ + "id": "uni-search-bar", + "displayName": "uni-search-bar 搜索栏", + "version": "1.3.0", + "description": "搜索栏组件,通常用于搜索商品、文章等", + "keywords": [ + "uni-ui", + "uniui", + "搜索框", + "搜索栏" +], + "repository": "https://github.com/dcloudio/uni-ui", + "engines": { + "HBuilderX": "" + }, + "directories": { + "example": "../../temps/example_temps" + }, +"dcloudext": { + "sale": { + "regular": { + "price": "0.00" + }, + "sourcecode": { + "price": "0.00" + } + }, + "contact": { + "qq": "" + }, + "declaration": { + "ads": "无", + "data": "无", + "permissions": "无" + }, + "npmurl": "https://www.npmjs.com/package/@dcloudio/uni-ui", + "type": "component-vue" + }, + "uni_modules": { + "dependencies": [ + "uni-scss", + "uni-icons" + ], + "encrypt": [], + "platforms": { + "cloud": { + "tcb": "y", + "aliyun": "y", + "alipay": "n" + }, + "client": { + "App": { + "app-vue": "y", + "app-nvue": "y" + }, + "H5-mobile": { + "Safari": "y", + "Android Browser": "y", + "微信浏览器(Android)": "y", + "QQ浏览器(Android)": "y" + }, + "H5-pc": { + "Chrome": "y", + "IE": "y", + "Edge": "y", + "Firefox": "y", + "Safari": "y" + }, + "小程序": { + "微信": "y", + "阿里": "y", + "百度": "y", + "字节跳动": "y", + "QQ": "y" + }, + "快应用": { + "华为": "u", + "联盟": "u" + }, + "Vue": { + "vue2": "y", + "vue3": "y" + } + } + } + } +} \ No newline at end of file diff --git a/wuye-manager-uniapp/uni_modules/uni-search-bar/readme.md b/wuye-manager-uniapp/uni_modules/uni-search-bar/readme.md new file mode 100644 index 0000000..253092f --- /dev/null +++ b/wuye-manager-uniapp/uni_modules/uni-search-bar/readme.md @@ -0,0 +1,14 @@ + + +## SearchBar 搜索栏 + +> **组件名:uni-search-bar** +> 代码块: `uSearchBar` + + +搜索栏组件 + +### [查看文档](https://uniapp.dcloud.io/component/uniui/uni-search-bar) +#### 如使用过程中有任何问题,或者您对uni-ui有一些好的建议,欢迎加入 uni-ui 交流群:871950839 + + diff --git a/wuye-manager-uniapp/uni_modules/uni-section/changelog.md b/wuye-manager-uniapp/uni_modules/uni-section/changelog.md new file mode 100644 index 0000000..738f2b3 --- /dev/null +++ b/wuye-manager-uniapp/uni_modules/uni-section/changelog.md @@ -0,0 +1,2 @@ +## 0.0.1(2022-07-22) +- 初始化 diff --git a/wuye-manager-uniapp/uni_modules/uni-section/components/uni-section/uni-section.vue b/wuye-manager-uniapp/uni_modules/uni-section/components/uni-section/uni-section.vue new file mode 100644 index 0000000..9a52e0b --- /dev/null +++ b/wuye-manager-uniapp/uni_modules/uni-section/components/uni-section/uni-section.vue @@ -0,0 +1,167 @@ + + + + diff --git a/wuye-manager-uniapp/uni_modules/uni-section/package.json b/wuye-manager-uniapp/uni_modules/uni-section/package.json new file mode 100644 index 0000000..0a31fb5 --- /dev/null +++ b/wuye-manager-uniapp/uni_modules/uni-section/package.json @@ -0,0 +1,87 @@ +{ + "id": "uni-section", + "displayName": "uni-section 标题栏", + "version": "0.0.1", + "description": "标题栏组件", + "keywords": [ + "uni-ui", + "uniui", + "标题栏" +], + "repository": "https://github.com/dcloudio/uni-ui", + "engines": { + "HBuilderX": "" + }, + "directories": { + "example": "../../temps/example_temps" + }, + "dcloudext": { + "category": [ + "前端组件", + "通用组件" + ], + "sale": { + "regular": { + "price": "0.00" + }, + "sourcecode": { + "price": "0.00" + } + }, + "contact": { + "qq": "" + }, + "declaration": { + "ads": "无", + "data": "无", + "permissions": "无" + }, + "npmurl": "https://www.npmjs.com/package/@dcloudio/uni-ui" + }, + "uni_modules": { + "dependencies": [ + "uni-scss" + ], + "encrypt": [], + "platforms": { + "cloud": { + "tcb": "y", + "aliyun": "y" + }, + "client": { + "App": { + "app-vue": "y", + "app-nvue": "y" + }, + "H5-mobile": { + "Safari": "y", + "Android Browser": "y", + "微信浏览器(Android)": "y", + "QQ浏览器(Android)": "y" + }, + "H5-pc": { + "Chrome": "y", + "IE": "y", + "Edge": "y", + "Firefox": "y", + "Safari": "y" + }, + "小程序": { + "微信": "y", + "阿里": "y", + "百度": "y", + "字节跳动": "y", + "QQ": "y" + }, + "快应用": { + "华为": "u", + "联盟": "u" + }, + "Vue": { + "vue2": "y", + "vue3": "y" + } + } + } + } +} \ No newline at end of file diff --git a/wuye-manager-uniapp/uni_modules/uni-section/readme.md b/wuye-manager-uniapp/uni_modules/uni-section/readme.md new file mode 100644 index 0000000..d47faab --- /dev/null +++ b/wuye-manager-uniapp/uni_modules/uni-section/readme.md @@ -0,0 +1,8 @@ +## Section 标题栏 +> **组件名:uni-section** +> 代码块: `uSection` + +uni-section 组件主要用于文章、列表详情等标题展示 + +### [查看文档](https://uniapp.dcloud.io/component/uniui/uni-section) +#### 如使用过程中有任何问题,或者您对uni-ui有一些好的建议,欢迎加入 uni-ui 交流群:871950839 diff --git a/wuye-manager-uniapp/uni_modules/uni-segmented-control/changelog.md b/wuye-manager-uniapp/uni_modules/uni-segmented-control/changelog.md new file mode 100644 index 0000000..02d0c8a --- /dev/null +++ b/wuye-manager-uniapp/uni_modules/uni-segmented-control/changelog.md @@ -0,0 +1,15 @@ +## 1.2.3(2024-04-02) +- 修复 修复在微信小程序下inactiveColor失效bug +## 1.2.2(2024-03-28) +- 修复 在vue2下:style动态绑定导致编译失败的bug +## 1.2.1(2024-03-20) +- 新增 inActiveColor属性,可供配置未激活时的颜色 +## 1.2.0(2021-11-19) +- 优化 组件UI,并提供设计资源,详见:[https://uniapp.dcloud.io/component/uniui/resource](https://uniapp.dcloud.io/component/uniui/resource) +- 文档迁移,详见:[https://uniapp.dcloud.io/component/uniui/uni-segmented-control](https://uniapp.dcloud.io/component/uniui/uni-segmented-control) +## 1.1.0(2021-07-30) +- 组件兼容 vue3,如何创建vue3项目,详见 [uni-app 项目支持 vue3 介绍](https://ask.dcloud.net.cn/article/37834) +## 1.0.5(2021-05-12) +- 新增 项目示例地址 +## 1.0.4(2021-02-05) +- 调整为uni_modules目录规范 diff --git a/wuye-manager-uniapp/uni_modules/uni-segmented-control/components/uni-segmented-control/uni-segmented-control.vue b/wuye-manager-uniapp/uni_modules/uni-segmented-control/components/uni-segmented-control/uni-segmented-control.vue new file mode 100644 index 0000000..a69366a --- /dev/null +++ b/wuye-manager-uniapp/uni_modules/uni-segmented-control/components/uni-segmented-control/uni-segmented-control.vue @@ -0,0 +1,146 @@ + + + + + diff --git a/wuye-manager-uniapp/uni_modules/uni-segmented-control/package.json b/wuye-manager-uniapp/uni_modules/uni-segmented-control/package.json new file mode 100644 index 0000000..49f9eff --- /dev/null +++ b/wuye-manager-uniapp/uni_modules/uni-segmented-control/package.json @@ -0,0 +1,85 @@ +{ + "id": "uni-segmented-control", + "displayName": "uni-segmented-control 分段器", + "version": "1.2.3", + "description": "分段器由至少 2 个分段控件组成,用作不同视图的显示", + "keywords": [ + "uni-ui", + "uniui", + "分段器", + "segement", + "顶部选择" +], + "repository": "https://github.com/dcloudio/uni-ui", + "engines": { + "HBuilderX": "" + }, + "directories": { + "example": "../../temps/example_temps" + }, +"dcloudext": { + "sale": { + "regular": { + "price": "0.00" + }, + "sourcecode": { + "price": "0.00" + } + }, + "contact": { + "qq": "" + }, + "declaration": { + "ads": "无", + "data": "无", + "permissions": "无" + }, + "npmurl": "https://www.npmjs.com/package/@dcloudio/uni-ui", + "type": "component-vue" + }, + "uni_modules": { + "dependencies": ["uni-scss"], + "encrypt": [], + "platforms": { + "cloud": { + "tcb": "y", + "aliyun": "y", + "alipay": "n" + }, + "client": { + "App": { + "app-vue": "y", + "app-nvue": "y" + }, + "H5-mobile": { + "Safari": "y", + "Android Browser": "y", + "微信浏览器(Android)": "y", + "QQ浏览器(Android)": "y" + }, + "H5-pc": { + "Chrome": "y", + "IE": "y", + "Edge": "y", + "Firefox": "y", + "Safari": "y" + }, + "小程序": { + "微信": "y", + "阿里": "y", + "百度": "y", + "字节跳动": "y", + "QQ": "y" + }, + "快应用": { + "华为": "u", + "联盟": "u" + }, + "Vue": { + "vue2": "y", + "vue3": "y" + } + } + } + } +} \ No newline at end of file diff --git a/wuye-manager-uniapp/uni_modules/uni-segmented-control/readme.md b/wuye-manager-uniapp/uni_modules/uni-segmented-control/readme.md new file mode 100644 index 0000000..3527b03 --- /dev/null +++ b/wuye-manager-uniapp/uni_modules/uni-segmented-control/readme.md @@ -0,0 +1,13 @@ + + +## SegmentedControl 分段器 +> **组件名:uni-segmented-control** +> 代码块: `uSegmentedControl` + + +用作不同视图的显示 + +### [查看文档](https://uniapp.dcloud.io/component/uniui/uni-segmented-control) +#### 如使用过程中有任何问题,或者您对uni-ui有一些好的建议,欢迎加入 uni-ui 交流群:871950839 + + diff --git a/wuye-manager-uniapp/uni_modules/uni-steps/changelog.md b/wuye-manager-uniapp/uni_modules/uni-steps/changelog.md new file mode 100644 index 0000000..04367d8 --- /dev/null +++ b/wuye-manager-uniapp/uni_modules/uni-steps/changelog.md @@ -0,0 +1,18 @@ +## 1.1.2(2024-03-28) +- 修复 uni-steps为竖排列时,文本长度过长引起点错乱的bug +## 1.1.1(2021-11-22) +- 修复 vue3中某些scss变量无法找到的问题 +## 1.1.0(2021-11-19) +- 优化 组件UI,并提供设计资源,详见:[https://uniapp.dcloud.io/component/uniui/resource](https://uniapp.dcloud.io/component/uniui/resource) +- 文档迁移,详见:[https://uniapp.dcloud.io/component/uniui/uni-steps](https://uniapp.dcloud.io/component/uniui/uni-steps) +## 1.0.8(2021-05-12) +- 新增 项目示例地址 +## 1.0.7(2021-05-06) +- 修复 uni-steps 横向布局时,多行文字高度不合理的 bug +## 1.0.6(2021-04-21) +- 优化 添加依赖 uni-icons, 导入后自动下载依赖 +## 1.0.5(2021-02-05) +- 优化 组件引用关系,通过uni_modules引用组件 + +## 1.0.4(2021-02-05) +- 调整为uni_modules目录规范 diff --git a/wuye-manager-uniapp/uni_modules/uni-steps/components/uni-steps/uni-steps.vue b/wuye-manager-uniapp/uni_modules/uni-steps/components/uni-steps/uni-steps.vue new file mode 100644 index 0000000..81017fc --- /dev/null +++ b/wuye-manager-uniapp/uni_modules/uni-steps/components/uni-steps/uni-steps.vue @@ -0,0 +1,280 @@ + + + + + diff --git a/wuye-manager-uniapp/uni_modules/uni-steps/package.json b/wuye-manager-uniapp/uni_modules/uni-steps/package.json new file mode 100644 index 0000000..4145ce9 --- /dev/null +++ b/wuye-manager-uniapp/uni_modules/uni-steps/package.json @@ -0,0 +1,87 @@ +{ + "id": "uni-steps", + "displayName": "uni-steps 步骤条", + "version": "1.1.2", + "description": "步骤条组件,提供横向和纵向两种布局格式。", + "keywords": [ + "uni-ui", + "uniui", + "步骤条", + "时间轴" +], + "repository": "https://github.com/dcloudio/uni-ui", + "engines": { + "HBuilderX": "" + }, + "directories": { + "example": "../../temps/example_temps" + }, +"dcloudext": { + "sale": { + "regular": { + "price": "0.00" + }, + "sourcecode": { + "price": "0.00" + } + }, + "contact": { + "qq": "" + }, + "declaration": { + "ads": "无", + "data": "无", + "permissions": "无" + }, + "npmurl": "https://www.npmjs.com/package/@dcloudio/uni-ui", + "type": "component-vue" + }, + "uni_modules": { + "dependencies": [ + "uni-scss", + "uni-icons" + ], + "encrypt": [], + "platforms": { + "cloud": { + "tcb": "y", + "aliyun": "y", + "alipay": "n" + }, + "client": { + "App": { + "app-vue": "y", + "app-nvue": "y" + }, + "H5-mobile": { + "Safari": "y", + "Android Browser": "y", + "微信浏览器(Android)": "y", + "QQ浏览器(Android)": "y" + }, + "H5-pc": { + "Chrome": "y", + "IE": "y", + "Edge": "y", + "Firefox": "y", + "Safari": "y" + }, + "小程序": { + "微信": "y", + "阿里": "y", + "百度": "y", + "字节跳动": "y", + "QQ": "y" + }, + "快应用": { + "华为": "u", + "联盟": "u" + }, + "Vue": { + "vue2": "y", + "vue3": "y" + } + } + } + } +} \ No newline at end of file diff --git a/wuye-manager-uniapp/uni_modules/uni-steps/readme.md b/wuye-manager-uniapp/uni_modules/uni-steps/readme.md new file mode 100644 index 0000000..da7a4bf --- /dev/null +++ b/wuye-manager-uniapp/uni_modules/uni-steps/readme.md @@ -0,0 +1,13 @@ + + +## Steps 步骤条 +> **组件名:uni-steps** +> 代码块: `uSteps` + + +步骤条,常用于显示进度 + +### [查看文档](https://uniapp.dcloud.io/component/uniui/uni-steps) +#### 如使用过程中有任何问题,或者您对uni-ui有一些好的建议,欢迎加入 uni-ui 交流群:871950839 + + diff --git a/wuye-manager-uniapp/uni_modules/uni-swipe-action/changelog.md b/wuye-manager-uniapp/uni_modules/uni-swipe-action/changelog.md new file mode 100644 index 0000000..23d7e4d --- /dev/null +++ b/wuye-manager-uniapp/uni_modules/uni-swipe-action/changelog.md @@ -0,0 +1,60 @@ +## 1.3.17(2026-02-09) +- 修复 pc 触屏问题 +## 1.3.16(2025-06-11) +- 修复 鸿蒙 next 浏览器上无法滑动的问题 +## 1.3.14(2025-06-09) +- 优化 更新示例项目 +## 1.3.13(2025-04-15) +- 修复 app 端 缺少leftOptions 或 rightOptions 时无法滑动的问题 +## 1.3.12(2025-04-14) +- 修复 由上一个兼容版本引发的 安卓运行报错且无法回弹的问题 +## 1.3.11(2025-04-08) +- 优化 兼容鸿蒙平台 +- 修复 WEB 平台控制台报错 +## 1.3.10(2024-01-17) +- 修复 点击按钮时,按钮会被点击穿透导致自动收缩的 bug(兼容阿里/百度/抖音小程序) +## 1.3.9(2024-01-17) +- 修复 点击按钮时,按钮会被点击穿透导致自动收缩的 bug +## 1.3.8(2023-04-13) +- 修复`uni-swipe-action`和`uni-swipe-action-item`不同时使用导致 closeOther 方法报错的 bug +## 1.3.7(2022-06-06) +- 修复 vue3 下使用组件不能正常运行的Bug +## 1.3.6(2022-05-31) +- 修复 h5端点击click触发两次的Bug +## 1.3.5(2022-05-23) +- 修复 isPC 找不到的Bug +## 1.3.4(2022-05-19) +- 修复 在 nvue 下 disabled 失效的bug +## 1.3.3(2022-03-31) +- 修复 按钮字体大小不能设置的bug +## 1.3.2(2022-03-16) +- 修复 h5和app端下报el错误的bug +## 1.3.1(2022-03-07) +- 修复 HBuilderX 1.4.X 版本中,h5和app端下报错的bug +## 1.3.0(2021-11-19) +- 优化 组件UI,并提供设计资源,详见:[https://uniapp.dcloud.io/component/uniui/resource](https://uniapp.dcloud.io/component/uniui/resource) +- 文档迁移,详见:[https://uniapp.dcloud.io/component/uniui/uni-swipe-action](https://uniapp.dcloud.io/component/uniui/uni-swipe-action) +## 1.2.4(2021-08-20) +- 优化 close-all 方法 +## 1.2.3(2021-08-20) +- 新增 close-all 方法,关闭所有已打开的组件 +## 1.2.2(2021-08-17) +- 新增 resize() 方法,在非微信小程序、h5、app-vue端出现不能滑动的问题的时候,重置组件 +- 修复 app 端偶尔出现类似 Page[x][-x,xx;-x,xx,x,x-x] 的问题 +- 优化 微信小程序、h5、app-vue 滑动逻辑,避免出现动态新增组件后不能滑动的问题 +## 1.2.1(2021-07-30) +- 组件兼容 vue3,如何创建vue3项目,详见 [uni-app 项目支持 vue3 介绍](https://ask.dcloud.net.cn/article/37834) +- 修复 跨页面修改组件数据 ,导致不能滑动的问题 +## 1.1.10(2021-06-17) +- 修复 按钮点击执行两次的bug +## 1.1.9(2021-05-12) +- 新增 项目示例地址 +## 1.1.8(2021-03-26) +- 修复 微信小程序 nv_navigator is not defined 报错的bug +## 1.1.7(2021-02-05) +- 调整为uni_modules目录规范 +- 新增 左侧滑动 +- 新增 插槽使用方式 +- 新增 threshold 属性,可以控制滑动缺省值 +- 优化 长列表滚动性能 +- 修复 滚动页面时触发组件滑动的Bug diff --git a/wuye-manager-uniapp/uni_modules/uni-swipe-action/components/uni-swipe-action-item/bindingx.js b/wuye-manager-uniapp/uni_modules/uni-swipe-action/components/uni-swipe-action-item/bindingx.js new file mode 100644 index 0000000..707e432 --- /dev/null +++ b/wuye-manager-uniapp/uni_modules/uni-swipe-action/components/uni-swipe-action-item/bindingx.js @@ -0,0 +1,302 @@ +let bindIngXMixins = {} + +// #ifdef APP-NVUE +const BindingX = uni.requireNativePlugin('bindingx'); +const dom = uni.requireNativePlugin('dom'); +const animation = uni.requireNativePlugin('animation'); + +bindIngXMixins = { + data() { + return {} + }, + + watch: { + show(newVal) { + if (this.autoClose) return + if (this.stop) return + this.stop = true + if (newVal) { + this.open(newVal) + } else { + this.close() + } + }, + leftOptions() { + this.getSelectorQuery() + this.init() + }, + rightOptions(newVal) { + this.init() + } + }, + created() { + this.swipeaction = this.getSwipeAction() + if (this.swipeaction && Array.isArray(this.swipeaction.children)) { + this.swipeaction.children.push(this) + } + }, + mounted() { + this.box = this.getEl(this.$refs['selector-box--hock']) + this.selector = this.getEl(this.$refs['selector-content--hock']); + this.leftButton = this.getEl(this.$refs['selector-left-button--hock']); + this.rightButton = this.getEl(this.$refs['selector-right-button--hock']); + this.init() + }, + // beforeDestroy() { + // this.swipeaction.children.forEach((item, index) => { + // if (item === this) { + // this.swipeaction.children.splice(index, 1) + // } + // }) + // }, + methods: { + init() { + this.$nextTick(() => { + this.x = 0 + this.button = { + show: false + } + setTimeout(() => { + this.getSelectorQuery() + }, 200) + }) + }, + onClick(index, item, position) { + this.$emit('click', { + content: item, + index, + position + }) + }, + touchstart(e) { + // fix by mehaotian 禁止滑动 + if (this.disabled) return + // 每次只触发一次,避免多次监听造成闪烁 + if (this.stop) return + this.stop = true + if (this.autoClose && this.swipeaction) { + this.swipeaction.closeOther(this) + } + + const leftWidth = this.button.left.width + const rightWidth = this.button.right.width + let expression = this.range(this.x, -rightWidth, leftWidth) + let leftExpression = this.range(this.x - leftWidth, -leftWidth, 0) + let rightExpression = this.range(this.x + rightWidth, 0, rightWidth) + + this.eventpan = BindingX.bind({ + anchor: this.box, + eventType: 'pan', + props: [{ + element: this.selector, + property: 'transform.translateX', + expression + }, { + element: this.leftButton, + property: 'transform.translateX', + expression: leftExpression + }, { + element: this.rightButton, + property: 'transform.translateX', + expression: rightExpression + }, ] + }, (e) => { + // nope + if (e.state === 'end') { + this.x = e.deltaX + this.x; + this.isclick = true + this.bindTiming(e.deltaX) + } + }); + }, + touchend(e) { + if (this.isopen !== 'none' && !this.isclick) { + this.open('none') + } + }, + bindTiming(x) { + const left = this.x + const leftWidth = this.button.left.width + const rightWidth = this.button.right.width + const threshold = this.threshold + if (!this.isopen || this.isopen === 'none') { + if (left > threshold) { + this.open('left') + } else if (left < -threshold) { + this.open('right') + } else { + this.open('none') + } + } else { + if ((x > -leftWidth && x < 0) || x > rightWidth) { + if ((x > -threshold && x < 0) || (x - rightWidth > threshold)) { + this.open('left') + } else { + this.open('none') + } + } else { + if ((x < threshold && x > 0) || (x + leftWidth < -threshold)) { + this.open('right') + } else { + this.open('none') + } + } + } + }, + + /** + * 移动范围 + * @param {Object} num + * @param {Object} mix + * @param {Object} max + */ + range(num, mix, max) { + return `min(max(x+${num}, ${mix}), ${max})` + }, + + /** + * 开启swipe + */ + open(type) { + this.animation(type) + }, + + /** + * 关闭swipe + */ + close() { + this.animation('none') + }, + + /** + * 开启关闭动画 + * @param {Object} type + */ + animation(type) { + const time = 300 + const leftWidth = this.button.left.width + const rightWidth = this.button.right.width + if (this.eventpan && this.eventpan.token) { + BindingX.unbind({ + token: this.eventpan.token, + eventType: 'pan' + }) + } + + switch (type) { + case 'left': + Promise.all([ + this.move(this.selector, leftWidth), + this.move(this.leftButton, 0), + this.move(this.rightButton, rightWidth * 2) + ]).then(() => { + this.setEmit(leftWidth, type) + }) + break + case 'right': + Promise.all([ + this.move(this.selector, -rightWidth), + this.move(this.leftButton, -leftWidth * 2), + this.move(this.rightButton, 0) + ]).then(() => { + this.setEmit(-rightWidth, type) + }) + break + default: + Promise.all([ + this.move(this.selector, 0), + this.move(this.leftButton, -leftWidth), + this.move(this.rightButton, rightWidth) + ]).then(() => { + this.setEmit(0, type) + }) + + } + }, + setEmit(x, type) { + const leftWidth = this.button.left.width + const rightWidth = this.button.right.width + this.isopen = this.isopen || 'none' + this.stop = false + this.isclick = false + // 只有状态不一致才会返回结果 + if (this.isopen !== type && this.x !== x) { + if (type === 'left' && leftWidth > 0) { + this.$emit('change', 'left') + } + if (type === 'right' && rightWidth > 0) { + this.$emit('change', 'right') + } + if (type === 'none') { + this.$emit('change', 'none') + } + } + this.x = x + this.isopen = type + }, + move(ref, value) { + return new Promise((resolve, reject) => { + animation.transition(ref, { + styles: { + transform: `translateX(${value})`, + }, + duration: 150, //ms + timingFunction: 'linear', + needLayout: false, + delay: 0 //ms + }, function(res) { + resolve(res) + }) + }) + + }, + + /** + * 获取ref + * @param {Object} el + */ + getEl(el) { + return el.ref + }, + /** + * 获取节点信息 + */ + getSelectorQuery() { + Promise.all([ + this.getDom('left'), + this.getDom('right'), + ]).then((data) => { + let show = 'none' + if (this.autoClose) { + show = 'none' + } else { + show = this.show + } + + if (show === 'none') { + // this.close() + } else { + this.open(show) + } + + }) + + }, + getDom(str) { + return new Promise((resolve, reject) => { + dom.getComponentRect(this.$refs[`selector-${str}-button--hock`], (data) => { + if (data) { + this.button[str] = data.size + resolve(data) + } else { + reject() + } + }) + }) + } + } +} + +// #endif + +export default bindIngXMixins diff --git a/wuye-manager-uniapp/uni_modules/uni-swipe-action/components/uni-swipe-action-item/isPC.js b/wuye-manager-uniapp/uni_modules/uni-swipe-action/components/uni-swipe-action-item/isPC.js new file mode 100644 index 0000000..e3945d6 --- /dev/null +++ b/wuye-manager-uniapp/uni_modules/uni-swipe-action/components/uni-swipe-action-item/isPC.js @@ -0,0 +1,22 @@ +export function isPC() { + var userAgentInfo = navigator.userAgent || ''; + var info = typeof uni !== 'undefined' && uni.getSystemInfoSync ? uni.getSystemInfoSync() : null; + if (info && info.deviceType) { + if (info.deviceType === 'pc') return true; + if (info.deviceType === 'phone' || info.deviceType === 'pad') return false; + } + var isMobileUA = /Android|iPhone|SymbianOS|Windows Phone|iPad|iPod|Mobile|Harmony|HarmonyOS/i.test(userAgentInfo); + if (isMobileUA) return false; + var hasTouch = false; + if (typeof navigator.maxTouchPoints === 'number') { + hasTouch = navigator.maxTouchPoints > 0; + } else if (typeof window !== 'undefined') { + hasTouch = 'ontouchstart' in window; + } + if (hasTouch && typeof window !== 'undefined' && window.matchMedia) { + var finePointer = window.matchMedia('(pointer: fine)').matches; + var canHover = window.matchMedia('(hover: hover)').matches; + return finePointer || canHover; + } + return !hasTouch; +} diff --git a/wuye-manager-uniapp/uni_modules/uni-swipe-action/components/uni-swipe-action-item/mpalipay.js b/wuye-manager-uniapp/uni_modules/uni-swipe-action/components/uni-swipe-action-item/mpalipay.js new file mode 100644 index 0000000..35c796b --- /dev/null +++ b/wuye-manager-uniapp/uni_modules/uni-swipe-action/components/uni-swipe-action-item/mpalipay.js @@ -0,0 +1,195 @@ +export default { + data() { + return { + x: 0, + transition: false, + width: 0, + viewWidth: 0, + swipeShow: 0 + } + }, + watch: { + show(newVal) { + if (this.autoClose) return + if (newVal && newVal !== 'none') { + this.transition = true + this.open(newVal) + } else { + this.close() + } + } + }, + created() { + this.swipeaction = this.getSwipeAction() + if (this.swipeaction && Array.isArray(this.swipeaction.children)) { + this.swipeaction.children.push(this) + } + }, + mounted() { + this.isopen = false + setTimeout(() => { + this.getQuerySelect() + }, 50) + }, + methods: { + appTouchStart(e) { + const { + clientX + } = e.changedTouches[0] + this.clientX = clientX + this.timestamp = new Date().getTime() + }, + appTouchEnd(e, index, item, position) { + const { + clientX + } = e.changedTouches[0] + // fixed by xxxx 模拟点击事件,解决 ios 13 点击区域错位的问题 + let diff = Math.abs(this.clientX - clientX) + let time = (new Date().getTime()) - this.timestamp + if (diff < 40 && time < 300) { + this.$emit('click', { + content: item, + index, + position + }) + } + }, + /** + * 移动触发 + * @param {Object} e + */ + onChange(e) { + this.moveX = e.detail.x + this.isclose = false + }, + touchstart(e) { + this.transition = false + this.isclose = true + if (this.autoClose && this.swipeaction) { + this.swipeaction.closeOther(this) + } + }, + touchmove(e) {}, + touchend(e) { + // 0的位置什么都不执行 + if (this.isclose && this.isopen === 'none') return + if (this.isclose && this.isopen !== 'none') { + this.transition = true + this.close() + } else { + this.move(this.moveX + this.leftWidth) + } + }, + + /** + * 移动 + * @param {Object} moveX + */ + move(moveX) { + // 打开关闭的处理逻辑不太一样 + this.transition = true + // 未打开状态 + if (!this.isopen || this.isopen === 'none') { + if (moveX > this.threshold) { + this.open('left') + } else if (moveX < -this.threshold) { + this.open('right') + } else { + this.close() + } + } else { + if (moveX < 0 && moveX < this.rightWidth) { + const rightX = this.rightWidth + moveX + if (rightX < this.threshold) { + this.open('right') + } else { + this.close() + } + } else if (moveX > 0 && moveX < this.leftWidth) { + const leftX = this.leftWidth - moveX + if (leftX < this.threshold) { + this.open('left') + } else { + this.close() + } + } + + } + + }, + + /** + * 打开 + */ + open(type) { + this.x = this.moveX + this.animation(type) + }, + + /** + * 关闭 + */ + close() { + this.x = this.moveX + // TODO 解决 x 值不更新的问题,所以会多触发一次 nextTick ,待优化 + this.$nextTick(() => { + this.x = -this.leftWidth + if (this.isopen !== 'none') { + this.$emit('change', 'none') + } + this.isopen = 'none' + }) + }, + + /** + * 执行结束动画 + * @param {Object} type + */ + animation(type) { + this.$nextTick(() => { + if (type === 'left') { + this.x = 0 + } else { + this.x = -this.rightWidth - this.leftWidth + } + + if (this.isopen !== type) { + this.$emit('change', type) + } + this.isopen = type + }) + + }, + getSlide(x) {}, + getQuerySelect() { + const query = uni.createSelectorQuery().in(this); + query.selectAll('.movable-view--hock').boundingClientRect(data => { + this.leftWidth = data[1].width + this.rightWidth = data[2].width + this.width = data[0].width + this.viewWidth = this.width + this.rightWidth + this.leftWidth + if (this.leftWidth === 0) { + // TODO 疑似bug ,初始化的时候如果x 是0,会导致移动位置错误,所以让元素超出一点 + this.x = -0.1 + } else { + this.x = -this.leftWidth + } + this.moveX = this.x + this.$nextTick(() => { + this.swipeShow = 1 + }) + + if (!this.buttonWidth) { + this.disabledView = true + } + + if (this.autoClose) return + if (this.show !== 'none') { + this.transition = true + this.open(this.shows) + } + }).exec(); + + } + } +} diff --git a/wuye-manager-uniapp/uni_modules/uni-swipe-action/components/uni-swipe-action-item/mpother.js b/wuye-manager-uniapp/uni_modules/uni-swipe-action/components/uni-swipe-action-item/mpother.js new file mode 100644 index 0000000..d389bce --- /dev/null +++ b/wuye-manager-uniapp/uni_modules/uni-swipe-action/components/uni-swipe-action-item/mpother.js @@ -0,0 +1,260 @@ +let otherMixins = {} + +// #ifndef APP-PLUS|| MP-WEIXIN || H5 +const MIN_DISTANCE = 10; +otherMixins = { + data() { + // TODO 随机生生元素ID,解决百度小程序获取同一个元素位置信息的bug + const elClass = `Uni_${Math.ceil(Math.random() * 10e5).toString(36)}` + return { + uniShow: false, + left: 0, + buttonShow: 'none', + ani: false, + moveLeft: '', + elClass + } + }, + watch: { + show(newVal) { + if (this.autoClose) return + this.openState(newVal) + }, + left() { + this.moveLeft = `translateX(${this.left}px)` + }, + buttonShow(newVal) { + if (this.autoClose) return + this.openState(newVal) + }, + leftOptions() { + this.init() + }, + rightOptions() { + this.init() + } + }, + mounted() { + this.swipeaction = this.getSwipeAction() + if (this.swipeaction && Array.isArray(this.swipeaction.children)) { + this.swipeaction.children.push(this) + } + this.init() + }, + methods: { + init() { + clearTimeout(this.timer) + this.timer = setTimeout(() => { + this.getSelectorQuery() + }, 100) + // 移动距离 + this.left = 0 + this.x = 0 + }, + + closeSwipe(e) { + if (this.autoClose && this.swipeaction) { + this.swipeaction.closeOther(this) + } + }, + appTouchStart(e) { + const { + clientX + } = e.changedTouches[0] + this.clientX = clientX + this.timestamp = new Date().getTime() + }, + appTouchEnd(e, index, item, position) { + const { + clientX + } = e.changedTouches[0] + // fixed by xxxx 模拟点击事件,解决 ios 13 点击区域错位的问题 + let diff = Math.abs(this.clientX - clientX) + let time = (new Date().getTime()) - this.timestamp + if (diff < 40 && time < 300) { + this.$emit('click', { + content: item, + index, + position + }) + } + }, + touchstart(e) { + if (this.disabled) return + this.ani = false + this.x = this.left || 0 + this.stopTouchStart(e) + this.autoClose && this.closeSwipe() + }, + touchmove(e) { + if (this.disabled) return + // 是否可以滑动页面 + this.stopTouchMove(e); + if (this.direction !== 'horizontal') { + return; + } + this.move(this.x + this.deltaX) + return false + }, + touchend() { + if (this.disabled) return + this.moveDirection(this.left) + }, + /** + * 设置移动距离 + * @param {Object} value + */ + move(value) { + value = value || 0 + const leftWidth = this.leftWidth + const rightWidth = this.rightWidth + // 获取可滑动范围 + this.left = this.range(value, -rightWidth, leftWidth); + }, + + /** + * 获取范围 + * @param {Object} num + * @param {Object} min + * @param {Object} max + */ + range(num, min, max) { + return Math.min(Math.max(num, min), max); + }, + /** + * 移动方向判断 + * @param {Object} left + * @param {Object} value + */ + moveDirection(left) { + const threshold = this.threshold + const isopen = this.isopen || 'none' + const leftWidth = this.leftWidth + const rightWidth = this.rightWidth + if (this.deltaX === 0) { + this.openState('none') + return + } + if ((isopen === 'none' && rightWidth > 0 && -left > threshold) || (isopen !== 'none' && rightWidth > + 0 && rightWidth + + left < threshold)) { + // right + this.openState('right') + } else if ((isopen === 'none' && leftWidth > 0 && left > threshold) || (isopen !== 'none' && leftWidth > + 0 && + leftWidth - left < threshold)) { + // left + this.openState('left') + } else { + // default + this.openState('none') + } + }, + + /** + * 开启状态 + * @param {Boolean} type + */ + openState(type) { + const leftWidth = this.leftWidth + const rightWidth = this.rightWidth + let left = '' + this.isopen = this.isopen ? this.isopen : 'none' + switch (type) { + case "left": + left = leftWidth + break + case "right": + left = -rightWidth + break + default: + left = 0 + } + + + if (this.isopen !== type) { + this.throttle = true + this.$emit('change', type) + } + + this.isopen = type + // 添加动画类 + this.ani = true + this.$nextTick(() => { + this.move(left) + }) + // 设置最终移动位置,理论上只要进入到这个函数,肯定是要打开的 + }, + close() { + this.openState('none') + }, + getDirection(x, y) { + if (x > y && x > MIN_DISTANCE) { + return 'horizontal'; + } + if (y > x && y > MIN_DISTANCE) { + return 'vertical'; + } + return ''; + }, + + /** + * 重置滑动状态 + * @param {Object} event + */ + resetTouchStatus() { + this.direction = ''; + this.deltaX = 0; + this.deltaY = 0; + this.offsetX = 0; + this.offsetY = 0; + }, + + /** + * 设置滑动开始位置 + * @param {Object} event + */ + stopTouchStart(event) { + this.resetTouchStatus(); + const touch = event.touches[0]; + this.startX = touch.clientX; + this.startY = touch.clientY; + }, + + /** + * 滑动中,是否禁止打开 + * @param {Object} event + */ + stopTouchMove(event) { + const touch = event.touches[0]; + this.deltaX = touch.clientX - this.startX; + this.deltaY = touch.clientY - this.startY; + this.offsetX = Math.abs(this.deltaX); + this.offsetY = Math.abs(this.deltaY); + this.direction = this.direction || this.getDirection(this.offsetX, this.offsetY); + }, + + getSelectorQuery() { + const views = uni.createSelectorQuery().in(this) + views + .selectAll('.' + this.elClass) + .boundingClientRect(data => { + if (data.length === 0) return + let show = 'none' + if (this.autoClose) { + show = 'none' + } else { + show = this.show + } + this.leftWidth = data[0].width || 0 + this.rightWidth = data[1].width || 0 + this.buttonShow = show + }) + .exec() + } + } +} + +// #endif + +export default otherMixins diff --git a/wuye-manager-uniapp/uni_modules/uni-swipe-action/components/uni-swipe-action-item/mpwxs.js b/wuye-manager-uniapp/uni_modules/uni-swipe-action/components/uni-swipe-action-item/mpwxs.js new file mode 100644 index 0000000..0b5de88 --- /dev/null +++ b/wuye-manager-uniapp/uni_modules/uni-swipe-action/components/uni-swipe-action-item/mpwxs.js @@ -0,0 +1,84 @@ +let mpMixins = {} +let is_pc = null +// #ifdef H5 +import { + isPC +} from "./isPC" +is_pc = isPC() +// #endif +// #ifdef APP-VUE || APP-HARMONY || MP-WEIXIN || H5 + +mpMixins = { + data() { + return { + is_show: 'none' + } + }, + watch: { + show(newVal) { + this.is_show = this.show + } + }, + created() { + this.swipeaction = this.getSwipeAction() + if (this.swipeaction && Array.isArray(this.swipeaction.children)) { + this.swipeaction.children.push(this) + } + }, + mounted() { + this.is_show = this.show + }, + methods: { + // wxs 中调用 + closeSwipe(e) { + if (this.autoClose && this.swipeaction) { + this.swipeaction.closeOther(this) + } + }, + + change(e) { + this.$emit('change', e.open) + if (this.is_show !== e.open) { + this.is_show = e.open + } + }, + + appTouchStart(e) { + if (is_pc) return + const { + clientX + } = e.changedTouches[0] + this.clientX = clientX + this.timestamp = new Date().getTime() + }, + appTouchEnd(e, index, item, position) { + if (is_pc) return + const { + clientX + } = e.changedTouches[0] + // fixed by xxxx 模拟点击事件,解决 ios 13 点击区域错位的问题 + let diff = Math.abs(this.clientX - clientX) + let time = (new Date().getTime()) - this.timestamp + if (diff < 40 && time < 300) { + this.$emit('click', { + content: item, + index, + position + }) + } + }, + onClickForPC(index, item, position) { + if (!is_pc) return + // #ifdef H5 + this.$emit('click', { + content: item, + index, + position + }) + // #endif + } + } +} + +// #endif +export default mpMixins diff --git a/wuye-manager-uniapp/uni_modules/uni-swipe-action/components/uni-swipe-action-item/render.js b/wuye-manager-uniapp/uni_modules/uni-swipe-action/components/uni-swipe-action-item/render.js new file mode 100644 index 0000000..218cb41 --- /dev/null +++ b/wuye-manager-uniapp/uni_modules/uni-swipe-action/components/uni-swipe-action-item/render.js @@ -0,0 +1,277 @@ +const MIN_DISTANCE = 10; +export default { + showWatch(newVal, oldVal, ownerInstance, instance, self) { + var state = self.state || {} + var $el = ownerInstance.$el || ownerInstance.$vm && ownerInstance.$vm.$el + if (!$el) return + this.getDom(instance, ownerInstance, self) + if (newVal && newVal !== 'none') { + this.openState(newVal, instance, ownerInstance, self) + return + } + + if (state.left) { + this.openState('none', instance, ownerInstance, self) + } + this.resetTouchStatus(instance, self) + }, + + /** + * 开始触摸操作 + * @param {Object} e + * @param {Object} ins + */ + touchstart(e, ownerInstance, self) { + let instance = e.instance; + let disabled = instance.getDataset().disabled + let state = self.state || {}; + this.getDom(instance, ownerInstance, self) + // fix by mehaotian, TODO 兼容 app-vue 获取dataset为字符串 , h5 获取 为 undefined 的问题,待框架修复 + disabled = this.getDisabledType(disabled) + if (disabled) return + // 开始触摸时移除动画类 + instance.requestAnimationFrame(function() { + instance.removeClass('ani'); + ownerInstance.callMethod('closeSwipe'); + }) + + // 记录上次的位置 + state.x = state.left || 0 + // 计算滑动开始位置 + this.stopTouchStart(e, ownerInstance, self) + }, + + /** + * 开始滑动操作 + * @param {Object} e + * @param {Object} ownerInstance + */ + touchmove(e, ownerInstance, self) { + let instance = e.instance; + // 删除之后已经那不到实例了 + if (!instance) return; + let disabled = instance.getDataset().disabled + let state = self.state || {} + // fix by mehaotian, TODO 兼容 app-vue 获取dataset为字符串 , h5 获取 为 undefined 的问题,待框架修复 + disabled = this.getDisabledType(disabled) + if (disabled) return + // 是否可以滑动页面 + this.stopTouchMove(e, self); + if (state.direction !== 'horizontal') { + return; + } + if (e.preventDefault) { + // 阻止页面滚动 + e.preventDefault() + } + let x = state.x + state.deltaX + this.move(x, instance, ownerInstance, self) + }, + + /** + * 结束触摸操作 + * @param {Object} e + * @param {Object} ownerInstance + */ + touchend(e, ownerInstance, self) { + let instance = e.instance; + let disabled = instance.getDataset().disabled + let state = self.state || {} + // fix by mehaotian, TODO 兼容 app-vue 获取dataset为字符串 , h5 获取 为 undefined 的问题,待框架修复 + disabled = this.getDisabledType(disabled) + + if (disabled) return + // 滑动过程中触摸结束,通过阙值判断是开启还是关闭 + // fixed by mehaotian 定时器解决点击按钮,touchend 触发比 click 事件时机早的问题 ,主要是 ios13 + this.moveDirection(state.left, instance, ownerInstance, self) + + }, + + /** + * 设置移动距离 + * @param {Object} value + * @param {Object} instance + * @param {Object} ownerInstance + */ + move(value, instance, ownerInstance, self) { + value = value || 0 + let state = self.state || {} + let leftWidth = state.leftWidth + let rightWidth = state.rightWidth + // 获取可滑动范围 + state.left = this.range(value, -rightWidth, leftWidth); + instance.requestAnimationFrame(function() { + instance.setStyle({ + transform: 'translateX(' + state.left + 'px)', + '-webkit-transform': 'translateX(' + state.left + 'px)' + }) + }) + + }, + + /** + * 获取元素信息 + * @param {Object} instance + * @param {Object} ownerInstance + */ + getDom(instance, ownerInstance, self) { + var state = self.state || {} + var $el = ownerInstance.$el || ownerInstance.$vm && ownerInstance.$vm.$el + var leftDom = $el.querySelector('.button-group--left') + var rightDom = $el.querySelector('.button-group--right') + if (leftDom && leftDom.offsetWidth) { + state.leftWidth = leftDom.offsetWidth || 0 + } else { + state.leftWidth = 0 + } + if (rightDom && rightDom.offsetWidth) { + state.rightWidth = rightDom.offsetWidth || 0 + } else { + state.rightWidth = 0 + } + state.threshold = instance.getDataset().threshold + }, + + getDisabledType(value) { + return (typeof(value) === 'string' ? JSON.parse(value) : value) || false; + }, + + /** + * 获取范围 + * @param {Object} num + * @param {Object} min + * @param {Object} max + */ + range(num, min, max) { + return Math.min(Math.max(num, min), max); + }, + + + /** + * 移动方向判断 + * @param {Object} left + * @param {Object} value + * @param {Object} ownerInstance + * @param {Object} ins + */ + moveDirection(left, ins, ownerInstance, self) { + var state = self.state || {} + var threshold = state.threshold + var position = state.position + var isopen = state.isopen || 'none' + var leftWidth = state.leftWidth + var rightWidth = state.rightWidth + if (state.deltaX === 0) { + this.openState('none', ins, ownerInstance, self) + return + } + if ((isopen === 'none' && rightWidth > 0 && -left > threshold) || (isopen !== 'none' && rightWidth > 0 && + rightWidth + + left < threshold)) { + // right + this.openState('right', ins, ownerInstance, self) + } else if ((isopen === 'none' && leftWidth > 0 && left > threshold) || (isopen !== 'none' && leftWidth > 0 && + leftWidth - left < threshold)) { + // left + this.openState('left', ins, ownerInstance, self) + } else { + // default + this.openState('none', ins, ownerInstance, self) + } + }, + + + /** + * 开启状态 + * @param {Boolean} type + * @param {Object} ins + * @param {Object} ownerInstance + */ + openState(type, ins, ownerInstance, self) { + let state = self.state || {} + let leftWidth = state.leftWidth + let rightWidth = state.rightWidth + let left = '' + state.isopen = state.isopen ? state.isopen : 'none' + switch (type) { + case "left": + left = leftWidth + break + case "right": + left = -rightWidth + break + default: + left = 0 + } + + // && !state.throttle + + if (state.isopen !== type) { + state.throttle = true + ownerInstance.callMethod('change', { + open: type + }) + + } + + state.isopen = type + // 添加动画类 + ins.requestAnimationFrame(() => { + ins.addClass('ani'); + this.move(left, ins, ownerInstance, self) + }) + }, + + + getDirection(x, y) { + if (x > y && x > MIN_DISTANCE) { + return 'horizontal'; + } + if (y > x && y > MIN_DISTANCE) { + return 'vertical'; + } + return ''; + }, + + /** + * 重置滑动状态 + * @param {Object} event + */ + resetTouchStatus(instance, self) { + let state = self.state || {}; + state.direction = ''; + state.deltaX = 0; + state.deltaY = 0; + state.offsetX = 0; + state.offsetY = 0; + }, + + /** + * 设置滑动开始位置 + * @param {Object} event + */ + stopTouchStart(event, ownerInstance, self) { + let instance = event.instance; + let state = self.state || {} + this.resetTouchStatus(instance, self); + var touch = event.touches[0]; + state.startX = touch.clientX; + state.startY = touch.clientY; + }, + + /** + * 滑动中,是否禁止打开 + * @param {Object} event + */ + stopTouchMove(event, self) { + let instance = event.instance; + let state = self.state || {}; + let touch = event.touches[0]; + + state.deltaX = touch.clientX - state.startX; + state.deltaY = touch.clientY - state.startY; + state.offsetY = Math.abs(state.deltaY); + state.offsetX = Math.abs(state.deltaX); + state.direction = state.direction || this.getDirection(state.offsetX, state.offsetY); + } +} diff --git a/wuye-manager-uniapp/uni_modules/uni-swipe-action/components/uni-swipe-action-item/uni-swipe-action-item.vue b/wuye-manager-uniapp/uni_modules/uni-swipe-action/components/uni-swipe-action-item/uni-swipe-action-item.vue new file mode 100644 index 0000000..851918c --- /dev/null +++ b/wuye-manager-uniapp/uni_modules/uni-swipe-action/components/uni-swipe-action-item/uni-swipe-action-item.vue @@ -0,0 +1,354 @@ + + + + + + diff --git a/wuye-manager-uniapp/uni_modules/uni-swipe-action/components/uni-swipe-action-item/wx.wxs b/wuye-manager-uniapp/uni_modules/uni-swipe-action/components/uni-swipe-action-item/wx.wxs new file mode 100644 index 0000000..87db8d5 --- /dev/null +++ b/wuye-manager-uniapp/uni_modules/uni-swipe-action/components/uni-swipe-action-item/wx.wxs @@ -0,0 +1,346 @@ +var MIN_DISTANCE = 10; + +/** + * 判断当前是否为H5、app-vue + */ +var IS_HTML5 = false +if (typeof window === 'object') IS_HTML5 = true + +/** + * 监听页面内值的变化,主要用于动态开关swipe-action + * @param {Object} newValue + * @param {Object} oldValue + * @param {Object} ownerInstance + * @param {Object} instance + */ +function showWatch(newVal, oldVal, ownerInstance, instance) { + var state = instance.getState() + getDom(instance, ownerInstance) + if (newVal && newVal !== 'none') { + openState(newVal, instance, ownerInstance) + return + } + + if (state.left) { + openState('none', instance, ownerInstance) + } + resetTouchStatus(instance) +} + +/** + * 开始触摸操作 + * @param {Object} e + * @param {Object} ins + */ +function touchstart(e, ownerInstance) { + var instance = e.instance; + var disabled = instance.getDataset().disabled + var state = instance.getState(); + getDom(instance, ownerInstance) + // fix by mehaotian, TODO 兼容 app-vue 获取dataset为字符串 , h5 获取 为 undefined 的问题,待框架修复 + disabled = (typeof(disabled) === 'string' ? JSON.parse(disabled) : disabled) || false; + if (disabled) return + // 开始触摸时移除动画类 + instance.requestAnimationFrame(function() { + instance.removeClass('ani'); + ownerInstance.callMethod('closeSwipe'); + }) + + // 记录上次的位置 + state.x = state.left || 0 + // 计算滑动开始位置 + stopTouchStart(e, ownerInstance) +} + +/** + * 开始滑动操作 + * @param {Object} e + * @param {Object} ownerInstance + */ +function touchmove(e, ownerInstance) { + var instance = e.instance; + var disabled = instance.getDataset().disabled + var state = instance.getState() + // fix by mehaotian, TODO 兼容 app-vue 获取dataset为字符串 , h5 获取 为 undefined 的问题,待框架修复 + disabled = (typeof(disabled) === 'string' ? JSON.parse(disabled) : disabled) || false; + if (disabled) return + // 是否可以滑动页面 + stopTouchMove(e); + if (state.direction !== 'horizontal') { + return; + } + + if (e.preventDefault) { + // 阻止页面滚动 + e.preventDefault() + } + + move(state.x + state.deltaX, instance, ownerInstance) +} + +/** + * 结束触摸操作 + * @param {Object} e + * @param {Object} ownerInstance + */ +function touchend(e, ownerInstance) { + var instance = e.instance; + var disabled = instance.getDataset().disabled + var state = instance.getState() + // fix by mehaotian, TODO 兼容 app-vue 获取dataset为字符串 , h5 获取 为 undefined 的问题,待框架修复 + disabled = (typeof(disabled) === 'string' ? JSON.parse(disabled) : disabled) || false; + + if (disabled) return + // 滑动过程中触摸结束,通过阙值判断是开启还是关闭 + // fixed by mehaotian 定时器解决点击按钮,touchend 触发比 click 事件时机早的问题 ,主要是 ios13 + moveDirection(state.left, instance, ownerInstance) + +} + +/** + * 设置移动距离 + * @param {Object} value + * @param {Object} instance + * @param {Object} ownerInstance + */ +function move(value, instance, ownerInstance) { + value = value || 0 + var state = instance.getState() + var leftWidth = state.leftWidth + var rightWidth = state.rightWidth + // 获取可滑动范围 + state.left = range(value, -rightWidth, leftWidth); + instance.requestAnimationFrame(function() { + instance.setStyle({ + transform: 'translateX(' + state.left + 'px)', + '-webkit-transform': 'translateX(' + state.left + 'px)' + }) + }) + +} + +/** + * 获取元素信息 + * @param {Object} instance + * @param {Object} ownerInstance + */ +function getDom(instance, ownerInstance) { + var state = instance.getState() + var leftDom = ownerInstance.selectComponent('.button-group--left') + var rightDom = ownerInstance.selectComponent('.button-group--right') + var leftStyles = { + width: 0 + } + var rightStyles = { + width: 0 + } + + if (leftDom) { + leftStyles = leftDom.getBoundingClientRect() + } + + if (rightDom) { + rightStyles = rightDom.getBoundingClientRect() + } + state.leftWidth = leftStyles.width || 0 + state.rightWidth = rightStyles.width || 0 + state.threshold = instance.getDataset().threshold +} + +/** + * 获取范围 + * @param {Object} num + * @param {Object} min + * @param {Object} max + */ +function range(num, min, max) { + return Math.min(Math.max(num, min), max); +} + + +/** + * 移动方向判断 + * @param {Object} left + * @param {Object} value + * @param {Object} ownerInstance + * @param {Object} ins + */ +function moveDirection(left, ins, ownerInstance) { + var state = ins.getState() + var threshold = state.threshold + var position = state.position + var isopen = state.isopen || 'none' + var leftWidth = state.leftWidth + var rightWidth = state.rightWidth + if (state.deltaX === 0) { + openState('none', ins, ownerInstance) + return + } + if ((isopen === 'none' && rightWidth > 0 && -left > threshold) || (isopen !== 'none' && rightWidth > 0 && + rightWidth + + left < threshold)) { + // right + openState('right', ins, ownerInstance) + } else if ((isopen === 'none' && leftWidth > 0 && left > threshold) || (isopen !== 'none' && leftWidth > 0 && + leftWidth - left < threshold)) { + // left + openState('left', ins, ownerInstance) + } else { + // default + openState('none', ins, ownerInstance) + } +} + + +/** + * 开启状态 + * @param {Boolean} type + * @param {Object} ins + * @param {Object} ownerInstance + */ +function openState(type, ins, ownerInstance) { + var state = ins.getState() + var leftWidth = state.leftWidth + var rightWidth = state.rightWidth + var left = '' + state.isopen = state.isopen ? state.isopen : 'none' + switch (type) { + case "left": + left = leftWidth + break + case "right": + left = -rightWidth + break + default: + left = 0 + } + + // && !state.throttle + + if (state.isopen !== type) { + state.throttle = true + ownerInstance.callMethod('change', { + open: type + }) + + } + + state.isopen = type + // 添加动画类 + ins.requestAnimationFrame(function() { + ins.addClass('ani'); + move(left, ins, ownerInstance) + }) + // 设置最终移动位置,理论上只要进入到这个函数,肯定是要打开的 +} + + +function getDirection(x, y) { + if (x > y && x > MIN_DISTANCE) { + return 'horizontal'; + } + if (y > x && y > MIN_DISTANCE) { + return 'vertical'; + } + return ''; +} + +/** + * 重置滑动状态 + * @param {Object} event + */ +function resetTouchStatus(instance) { + var state = instance.getState(); + state.direction = ''; + state.deltaX = 0; + state.deltaY = 0; + state.offsetX = 0; + state.offsetY = 0; +} + +/** + * 设置滑动开始位置 + * @param {Object} event + */ +function stopTouchStart(event) { + var instance = event.instance; + var state = instance.getState(); + resetTouchStatus(instance); + var touch = event.touches[0]; + if (IS_HTML5 && isPC()) { + touch = event; + } + state.startX = touch.clientX; + state.startY = touch.clientY; +} + +/** + * 滑动中,是否禁止打开 + * @param {Object} event + */ +function stopTouchMove(event) { + var instance = event.instance; + var state = instance.getState(); + var touch = event.touches[0]; + if (IS_HTML5 && isPC()) { + touch = event; + } + state.deltaX = touch.clientX - state.startX; + state.deltaY = touch.clientY - state.startY; + state.offsetY = Math.abs(state.deltaY); + state.offsetX = Math.abs(state.deltaX); + state.direction = state.direction || getDirection(state.offsetX, state.offsetY); +} + +function isPC() { + var userAgentInfo = navigator.userAgent; + var Agents = ["Android", "iPhone", "SymbianOS", "Windows Phone", "iPad", "iPod", "Mobile", "Harmony", "HarmonyOS"]; + var flag = true; + for (var v = 0; v < Agents.length; v++) { + if (userAgentInfo.indexOf(Agents[v]) > 0) { + flag = false; + break; + } + } + return flag; +} + +var movable = false + +function mousedown(e, ins) { + if (!IS_HTML5) return + if (!isPC()) return + touchstart(e, ins) + movable = true +} + +function mousemove(e, ins) { + if (!IS_HTML5) return + if (!isPC()) return + if (!movable) return + touchmove(e, ins) +} + +function mouseup(e, ins) { + if (!IS_HTML5) return + if (!isPC()) return + touchend(e, ins) + movable = false +} + +function mouseleave(e, ins) { + if (!IS_HTML5) return + if (!isPC()) return + movable = false +} + +module.exports = { + showWatch: showWatch, + touchstart: touchstart, + touchmove: touchmove, + touchend: touchend, + mousedown: mousedown, + mousemove: mousemove, + mouseup: mouseup, + mouseleave: mouseleave +} diff --git a/wuye-manager-uniapp/uni_modules/uni-swipe-action/components/uni-swipe-action/uni-swipe-action.vue b/wuye-manager-uniapp/uni_modules/uni-swipe-action/components/uni-swipe-action/uni-swipe-action.vue new file mode 100644 index 0000000..9b32b3d --- /dev/null +++ b/wuye-manager-uniapp/uni_modules/uni-swipe-action/components/uni-swipe-action/uni-swipe-action.vue @@ -0,0 +1,60 @@ + + + + + diff --git a/wuye-manager-uniapp/uni_modules/uni-swipe-action/package.json b/wuye-manager-uniapp/uni_modules/uni-swipe-action/package.json new file mode 100644 index 0000000..2165ae1 --- /dev/null +++ b/wuye-manager-uniapp/uni_modules/uni-swipe-action/package.json @@ -0,0 +1,113 @@ +{ + "id": "uni-swipe-action", + "displayName": "uni-swipe-action 滑动操作", + "version": "1.3.17", + "description": "SwipeAction 滑动操作操作组件", + "keywords": [ + "", + "uni-ui", + "uniui", + "滑动删除", + "侧滑删除" +], + "repository": "https://github.com/dcloudio/uni-ui", + "engines": { + "HBuilderX": "", + "uni-app": "^4.27", + "uni-app-x": "" + }, + "directories": { + "example": "../../temps/example_temps" + }, + "dcloudext": { + "sale": { + "regular": { + "price": "0.00" + }, + "sourcecode": { + "price": "0.00" + } + }, + "contact": { + "qq": "" + }, + "declaration": { + "ads": "无", + "data": "无", + "permissions": "无" + }, + "npmurl": "https://www.npmjs.com/package/@dcloudio/uni-ui", + "type": "component-vue", + "darkmode": "x", + "i18n": "x", + "widescreen": "x" + }, + "uni_modules": { + "dependencies": [ + "uni-scss" + ], + "encrypt": [], + "platforms": { + "cloud": { + "tcb": "x", + "aliyun": "x", + "alipay": "x" + }, + "client": { + "uni-app": { + "vue": { + "vue2": { + "extVersion": "1.3.14", + "minVersion": "" + }, + "vue3": { + "extVersion": "1.3.14", + "minVersion": "" + } + }, + "web": { + "safari": "√", + "chrome": "√" + }, + "app": { + "vue": "√", + "nvue": "√", + "android": "√", + "ios": "√", + "harmony": "√" + }, + "mp": { + "weixin": "√", + "alipay": "√", + "toutiao": "√", + "baidu": "√", + "kuaishou": "-", + "jd": "-", + "harmony": "-", + "qq": "√", + "lark": "-", + "xhs": "-" + }, + "quickapp": { + "huawei": "√", + "union": "√" + } + }, + "uni-app-x": { + "web": { + "safari": "-", + "chrome": "-" + }, + "app": { + "android": "-", + "ios": "-", + "harmony": "-" + }, + "mp": { + "weixin": "-" + } + } + } + } + } +} \ No newline at end of file diff --git a/wuye-manager-uniapp/uni_modules/uni-swipe-action/readme.md b/wuye-manager-uniapp/uni_modules/uni-swipe-action/readme.md new file mode 100644 index 0000000..035efb0 --- /dev/null +++ b/wuye-manager-uniapp/uni_modules/uni-swipe-action/readme.md @@ -0,0 +1,10 @@ + + +## SwipeAction 滑动操作 +> **组件名:uni-swipe-action** +> 代码块: `uSwipeAction`、`uSwipeActionItem` + + +通过滑动触发选项的容器 + +### [查看文档](https://uniapp.dcloud.io/component/uniui/uni-swipe-action) \ No newline at end of file diff --git a/wuye-manager-uniapp/uni_modules/uni-swiper-dot/changelog.md b/wuye-manager-uniapp/uni_modules/uni-swiper-dot/changelog.md new file mode 100644 index 0000000..85cf54d --- /dev/null +++ b/wuye-manager-uniapp/uni_modules/uni-swiper-dot/changelog.md @@ -0,0 +1,12 @@ +## 1.2.0(2021-11-19) +- 优化 组件UI,并提供设计资源,详见:[https://uniapp.dcloud.io/component/uniui/resource](https://uniapp.dcloud.io/component/uniui/resource) +- 文档迁移,详见:[https://uniapp.dcloud.io/component/uniui/uni-swiper-dot](https://uniapp.dcloud.io/component/uniui/uni-swiper-dot) +## 1.1.0(2021-07-30) +- 组件兼容 vue3,如何创建vue3项目,详见 [uni-app 项目支持 vue3 介绍](https://ask.dcloud.net.cn/article/37834) +## 1.0.6(2021-05-12) +- 新增 示例地址 +- 修复 示例项目缺少组件的Bug +## 1.0.5(2021-02-05) +- 调整为uni_modules目录规范 +- 新增 clickItem 事件,支持指示点控制轮播 +- 新增 支持 pc 可用 diff --git a/wuye-manager-uniapp/uni_modules/uni-swiper-dot/components/uni-swiper-dot/uni-swiper-dot.vue b/wuye-manager-uniapp/uni_modules/uni-swiper-dot/components/uni-swiper-dot/uni-swiper-dot.vue new file mode 100644 index 0000000..e66b6c7 --- /dev/null +++ b/wuye-manager-uniapp/uni_modules/uni-swiper-dot/components/uni-swiper-dot/uni-swiper-dot.vue @@ -0,0 +1,218 @@ + + + + + diff --git a/wuye-manager-uniapp/uni_modules/uni-swiper-dot/package.json b/wuye-manager-uniapp/uni_modules/uni-swiper-dot/package.json new file mode 100644 index 0000000..f2dd8d2 --- /dev/null +++ b/wuye-manager-uniapp/uni_modules/uni-swiper-dot/package.json @@ -0,0 +1,87 @@ +{ + "id": "uni-swiper-dot", + "displayName": "uni-swiper-dot 轮播图指示点", + "version": "1.2.0", + "description": "自定义轮播图指示点组件", + "keywords": [ + "uni-ui", + "uniui", + "轮播图指示点", + "dot", + "swiper" +], + "repository": "https://github.com/dcloudio/uni-ui", + "engines": { + "HBuilderX": "" + }, + "directories": { + "example": "../../temps/example_temps" + }, + "dcloudext": { + "category": [ + "前端组件", + "通用组件" + ], + "sale": { + "regular": { + "price": "0.00" + }, + "sourcecode": { + "price": "0.00" + } + }, + "contact": { + "qq": "" + }, + "declaration": { + "ads": "无", + "data": "无", + "permissions": "无" + }, + "npmurl": "https://www.npmjs.com/package/@dcloudio/uni-ui" + }, + "uni_modules": { + "dependencies": ["uni-scss"], + "encrypt": [], + "platforms": { + "cloud": { + "tcb": "y", + "aliyun": "y" + }, + "client": { + "App": { + "app-vue": "y", + "app-nvue": "y" + }, + "H5-mobile": { + "Safari": "y", + "Android Browser": "y", + "微信浏览器(Android)": "y", + "QQ浏览器(Android)": "y" + }, + "H5-pc": { + "Chrome": "y", + "IE": "y", + "Edge": "y", + "Firefox": "y", + "Safari": "y" + }, + "小程序": { + "微信": "y", + "阿里": "y", + "百度": "y", + "字节跳动": "y", + "QQ": "y" + }, + "快应用": { + "华为": "u", + "联盟": "u" + }, + "Vue": { + "vue2": "y", + "vue3": "y" + } + } + } + } +} \ No newline at end of file diff --git a/wuye-manager-uniapp/uni_modules/uni-swiper-dot/readme.md b/wuye-manager-uniapp/uni_modules/uni-swiper-dot/readme.md new file mode 100644 index 0000000..7d397e2 --- /dev/null +++ b/wuye-manager-uniapp/uni_modules/uni-swiper-dot/readme.md @@ -0,0 +1,11 @@ + + +## SwiperDot 轮播图指示点 +> **组件名:uni-swiper-dot** +> 代码块: `uSwiperDot` + + +自定义轮播图指示点 + +### [查看文档](https://uniapp.dcloud.io/component/uniui/uni-swiper-dot) +#### 如使用过程中有任何问题,或者您对uni-ui有一些好的建议,欢迎加入 uni-ui 交流群:871950839 \ No newline at end of file diff --git a/wuye-manager-uniapp/uni_modules/uni-table/changelog.md b/wuye-manager-uniapp/uni_modules/uni-table/changelog.md new file mode 100644 index 0000000..811250e --- /dev/null +++ b/wuye-manager-uniapp/uni_modules/uni-table/changelog.md @@ -0,0 +1,35 @@ +## 1.2.9(2025-04-14) +- 修复: 下拉筛选中 toISOString() 引发的时区问题 +## 1.2.8(2024-10-15) +- 修复 运行到抖音小程序上出现的问题 +## 1.2.7(2024-10-15) +- 修复 微信小程序中的getSystemInfo警告 +## 1.2.4(2023-12-19) +- 修复 uni-tr只有一列时minWidth计算错误,列变化实时计算更新 +## 1.2.3(2023-03-28) +- 修复 在vue3模式下可能会出现错误的问题 +## 1.2.2(2022-11-29) +- 优化 主题样式 +## 1.2.1(2022-06-06) +- 修复 微信小程序存在无使用组件的问题 +## 1.2.0(2021-11-19) +- 优化 组件UI,并提供设计资源,详见:[https://uniapp.dcloud.io/component/uniui/resource](https://uniapp.dcloud.io/component/uniui/resource) +- 文档迁移,详见:[https://uniapp.dcloud.io/component/uniui/uni-table](https://uniapp.dcloud.io/component/uniui/uni-table) +## 1.1.0(2021-07-30) +- 组件兼容 vue3,如何创建vue3项目,详见 [uni-app 项目支持 vue3 介绍](https://ask.dcloud.net.cn/article/37834) +## 1.0.7(2021-07-08) +- 新增 uni-th 支持 date 日期筛选范围 +## 1.0.6(2021-07-05) +- 新增 uni-th 支持 range 筛选范围 +## 1.0.5(2021-06-28) +- 新增 uni-th 筛选功能 +## 1.0.4(2021-05-12) +- 新增 示例地址 +- 修复 示例项目缺少组件的Bug +## 1.0.3(2021-04-16) +- 新增 sortable 属性,是否开启单列排序 +- 优化 表格多选逻辑 +## 1.0.2(2021-03-22) +- uni-tr 添加 disabled 属性,用于 type=selection 时,设置某行是否可由全选按钮控制 +## 1.0.1(2021-02-05) +- 调整为uni_modules目录规范 diff --git a/wuye-manager-uniapp/uni_modules/uni-table/components/uni-table/uni-table.vue b/wuye-manager-uniapp/uni_modules/uni-table/components/uni-table/uni-table.vue new file mode 100644 index 0000000..3ab0496 --- /dev/null +++ b/wuye-manager-uniapp/uni_modules/uni-table/components/uni-table/uni-table.vue @@ -0,0 +1,460 @@ + + + + + diff --git a/wuye-manager-uniapp/uni_modules/uni-table/components/uni-tbody/uni-tbody.vue b/wuye-manager-uniapp/uni_modules/uni-table/components/uni-tbody/uni-tbody.vue new file mode 100644 index 0000000..130f626 --- /dev/null +++ b/wuye-manager-uniapp/uni_modules/uni-table/components/uni-tbody/uni-tbody.vue @@ -0,0 +1,34 @@ + + + + + diff --git a/wuye-manager-uniapp/uni_modules/uni-table/components/uni-td/uni-td.vue b/wuye-manager-uniapp/uni_modules/uni-table/components/uni-td/uni-td.vue new file mode 100644 index 0000000..69e5e8a --- /dev/null +++ b/wuye-manager-uniapp/uni_modules/uni-table/components/uni-td/uni-td.vue @@ -0,0 +1,95 @@ + + + + + diff --git a/wuye-manager-uniapp/uni_modules/uni-table/components/uni-th/filter-dropdown.vue b/wuye-manager-uniapp/uni_modules/uni-table/components/uni-th/filter-dropdown.vue new file mode 100644 index 0000000..6f29b3b --- /dev/null +++ b/wuye-manager-uniapp/uni_modules/uni-table/components/uni-th/filter-dropdown.vue @@ -0,0 +1,511 @@ + + + + + diff --git a/wuye-manager-uniapp/uni_modules/uni-table/components/uni-th/uni-th.vue b/wuye-manager-uniapp/uni_modules/uni-table/components/uni-th/uni-th.vue new file mode 100644 index 0000000..a39ae6c --- /dev/null +++ b/wuye-manager-uniapp/uni_modules/uni-table/components/uni-th/uni-th.vue @@ -0,0 +1,295 @@ + + + + + diff --git a/wuye-manager-uniapp/uni_modules/uni-table/components/uni-thead/uni-thead.vue b/wuye-manager-uniapp/uni_modules/uni-table/components/uni-thead/uni-thead.vue new file mode 100644 index 0000000..53b5c4c --- /dev/null +++ b/wuye-manager-uniapp/uni_modules/uni-table/components/uni-thead/uni-thead.vue @@ -0,0 +1,137 @@ + + + + + diff --git a/wuye-manager-uniapp/uni_modules/uni-table/components/uni-tr/table-checkbox.vue b/wuye-manager-uniapp/uni_modules/uni-table/components/uni-tr/table-checkbox.vue new file mode 100644 index 0000000..1089187 --- /dev/null +++ b/wuye-manager-uniapp/uni_modules/uni-table/components/uni-tr/table-checkbox.vue @@ -0,0 +1,179 @@ + + + + + diff --git a/wuye-manager-uniapp/uni_modules/uni-table/components/uni-tr/uni-tr.vue b/wuye-manager-uniapp/uni_modules/uni-table/components/uni-tr/uni-tr.vue new file mode 100644 index 0000000..3fb76f4 --- /dev/null +++ b/wuye-manager-uniapp/uni_modules/uni-table/components/uni-tr/uni-tr.vue @@ -0,0 +1,184 @@ + + + + + diff --git a/wuye-manager-uniapp/uni_modules/uni-table/i18n/en.json b/wuye-manager-uniapp/uni_modules/uni-table/i18n/en.json new file mode 100644 index 0000000..e32023c --- /dev/null +++ b/wuye-manager-uniapp/uni_modules/uni-table/i18n/en.json @@ -0,0 +1,9 @@ +{ + "filter-dropdown.reset": "Reset", + "filter-dropdown.search": "Search", + "filter-dropdown.submit": "Submit", + "filter-dropdown.filter": "Filter", + "filter-dropdown.gt": "Greater or equal to", + "filter-dropdown.lt": "Less than or equal to", + "filter-dropdown.date": "Date" +} diff --git a/wuye-manager-uniapp/uni_modules/uni-table/i18n/es.json b/wuye-manager-uniapp/uni_modules/uni-table/i18n/es.json new file mode 100644 index 0000000..9afd04b --- /dev/null +++ b/wuye-manager-uniapp/uni_modules/uni-table/i18n/es.json @@ -0,0 +1,9 @@ +{ + "filter-dropdown.reset": "Reiniciar", + "filter-dropdown.search": "Búsqueda", + "filter-dropdown.submit": "Entregar", + "filter-dropdown.filter": "Filtrar", + "filter-dropdown.gt": "Mayor o igual a", + "filter-dropdown.lt": "Menos que o igual a", + "filter-dropdown.date": "Fecha" +} diff --git a/wuye-manager-uniapp/uni_modules/uni-table/i18n/fr.json b/wuye-manager-uniapp/uni_modules/uni-table/i18n/fr.json new file mode 100644 index 0000000..b006237 --- /dev/null +++ b/wuye-manager-uniapp/uni_modules/uni-table/i18n/fr.json @@ -0,0 +1,9 @@ +{ + "filter-dropdown.reset": "Réinitialiser", + "filter-dropdown.search": "Chercher", + "filter-dropdown.submit": "Soumettre", + "filter-dropdown.filter": "Filtre", + "filter-dropdown.gt": "Supérieur ou égal à", + "filter-dropdown.lt": "Inférieur ou égal à", + "filter-dropdown.date": "Date" +} diff --git a/wuye-manager-uniapp/uni_modules/uni-table/i18n/index.js b/wuye-manager-uniapp/uni_modules/uni-table/i18n/index.js new file mode 100644 index 0000000..2469dd0 --- /dev/null +++ b/wuye-manager-uniapp/uni_modules/uni-table/i18n/index.js @@ -0,0 +1,12 @@ +import en from './en.json' +import es from './es.json' +import fr from './fr.json' +import zhHans from './zh-Hans.json' +import zhHant from './zh-Hant.json' +export default { + en, + es, + fr, + 'zh-Hans': zhHans, + 'zh-Hant': zhHant +} diff --git a/wuye-manager-uniapp/uni_modules/uni-table/i18n/zh-Hans.json b/wuye-manager-uniapp/uni_modules/uni-table/i18n/zh-Hans.json new file mode 100644 index 0000000..862af17 --- /dev/null +++ b/wuye-manager-uniapp/uni_modules/uni-table/i18n/zh-Hans.json @@ -0,0 +1,9 @@ +{ + "filter-dropdown.reset": "重置", + "filter-dropdown.search": "搜索", + "filter-dropdown.submit": "确定", + "filter-dropdown.filter": "筛选", + "filter-dropdown.gt": "大于等于", + "filter-dropdown.lt": "小于等于", + "filter-dropdown.date": "日期范围" +} diff --git a/wuye-manager-uniapp/uni_modules/uni-table/i18n/zh-Hant.json b/wuye-manager-uniapp/uni_modules/uni-table/i18n/zh-Hant.json new file mode 100644 index 0000000..64f8061 --- /dev/null +++ b/wuye-manager-uniapp/uni_modules/uni-table/i18n/zh-Hant.json @@ -0,0 +1,9 @@ +{ + "filter-dropdown.reset": "重置", + "filter-dropdown.search": "搜索", + "filter-dropdown.submit": "確定", + "filter-dropdown.filter": "篩選", + "filter-dropdown.gt": "大於等於", + "filter-dropdown.lt": "小於等於", + "filter-dropdown.date": "日期範圍" +} diff --git a/wuye-manager-uniapp/uni_modules/uni-table/package.json b/wuye-manager-uniapp/uni_modules/uni-table/package.json new file mode 100644 index 0000000..f581f43 --- /dev/null +++ b/wuye-manager-uniapp/uni_modules/uni-table/package.json @@ -0,0 +1,86 @@ +{ + "id": "uni-table", + "displayName": "uni-table 表格", + "version": "1.2.9", + "description": "表格组件,多用于展示多条结构类似的数据,如", + "keywords": [ + "uni-ui", + "uniui", + "table", + "表格" +], + "repository": "https://github.com/dcloudio/uni-ui", + "engines": { + "HBuilderX": "" + }, + "directories": { + "example": "../../temps/example_temps" + }, +"dcloudext": { + "sale": { + "regular": { + "price": "0.00" + }, + "sourcecode": { + "price": "0.00" + } + }, + "contact": { + "qq": "" + }, + "declaration": { + "ads": "无", + "data": "无", + "permissions": "无" + }, + "npmurl": "https://www.npmjs.com/package/@dcloudio/uni-ui", + "type": "component-vue" + }, + "uni_modules": { + "dependencies": ["uni-scss","uni-datetime-picker"], + "encrypt": [], + "platforms": { + "cloud": { + "tcb": "y", + "aliyun": "y", + "alipay": "n" + }, + "client": { + "App": { + "app-vue": "y", + "app-nvue": "n", + "app-harmony": "u", + "app-uvue": "u" + }, + "H5-mobile": { + "Safari": "y", + "Android Browser": "y", + "微信浏览器(Android)": "y", + "QQ浏览器(Android)": "y" + }, + "H5-pc": { + "Chrome": "y", + "IE": "y", + "Edge": "y", + "Firefox": "y", + "Safari": "y" + }, + "小程序": { + "微信": "y", + "阿里": "y", + "百度": "y", + "字节跳动": "n", + "QQ": "y" + }, + "快应用": { + "华为": "n", + "联盟": "n" + }, + "Vue": { + "vue2": "y", + "vue3": "y" + } + } + } + } +} diff --git a/wuye-manager-uniapp/uni_modules/uni-table/readme.md b/wuye-manager-uniapp/uni_modules/uni-table/readme.md new file mode 100644 index 0000000..bb08c79 --- /dev/null +++ b/wuye-manager-uniapp/uni_modules/uni-table/readme.md @@ -0,0 +1,13 @@ + + +## Table 表单 +> 组件名:``uni-table``,代码块: `uTable`。 + +用于展示多条结构类似的数据 + +### [查看文档](https://uniapp.dcloud.io/component/uniui/uni-table) +#### 如使用过程中有任何问题,或者您对uni-ui有一些好的建议,欢迎加入 uni-ui 交流群:871950839 + + + + diff --git a/wuye-manager-uniapp/uni_modules/uni-tag/changelog.md b/wuye-manager-uniapp/uni_modules/uni-tag/changelog.md new file mode 100644 index 0000000..8c5ed5f --- /dev/null +++ b/wuye-manager-uniapp/uni_modules/uni-tag/changelog.md @@ -0,0 +1,25 @@ +## 2.1.2(2025-08-19) +- 修复 传入数字 0 不显示的问题 +## 2.1.1(2024-03-20) +- 优化 app下边框过窄导致不显示的bug +## 2.1.0(2021-11-19) +- 优化 组件UI,并提供设计资源,详见:[https://uniapp.dcloud.io/component/uniui/resource](https://uniapp.dcloud.io/component/uniui/resource) +- 文档迁移,详见:[https://uniapp.dcloud.io/component/uniui/uni-tag](https://uniapp.dcloud.io/component/uniui/uni-tag) +## 2.0.0(2021-11-09) +- 新增 提供组件设计资源,组件样式调整 +- 移除 插槽 +- 移除 type 属性的 royal 选项 +## 1.1.1(2021-08-11) +- type 不是 default 时,size 为 small 字体大小显示不正确 +## 1.1.0(2021-07-30) +- 组件兼容 vue3,如何创建vue3项目,详见 [uni-app 项目支持 vue3 介绍](https://ask.dcloud.net.cn/article/37834) +## 1.0.7(2021-06-18) +- 修复 uni-tag 在字节跳动小程序上 css 类名编译错误的 bug +## 1.0.6(2021-06-04) +- 修复 未定义 sass 变量 "$uni-color-royal" 的bug +## 1.0.5(2021-05-10) +- 修复 royal 类型无效的bug +- 修复 uni-tag 宽度不自适应的bug +- 新增 uni-tag 支持属性 custom-style 自定义样式 +## 1.0.4(2021-02-05) +- 调整为uni_modules目录规范 diff --git a/wuye-manager-uniapp/uni_modules/uni-tag/components/uni-tag/uni-tag.vue b/wuye-manager-uniapp/uni_modules/uni-tag/components/uni-tag/uni-tag.vue new file mode 100644 index 0000000..57d8e0a --- /dev/null +++ b/wuye-manager-uniapp/uni_modules/uni-tag/components/uni-tag/uni-tag.vue @@ -0,0 +1,255 @@ + + + + + \ No newline at end of file diff --git a/wuye-manager-uniapp/uni_modules/uni-tag/package.json b/wuye-manager-uniapp/uni_modules/uni-tag/package.json new file mode 100644 index 0000000..1c8f1fa --- /dev/null +++ b/wuye-manager-uniapp/uni_modules/uni-tag/package.json @@ -0,0 +1,106 @@ +{ + "id": "uni-tag", + "displayName": "uni-tag 标签", + "version": "2.1.2", + "description": "Tag 组件,用于展示1个或多个文字标签,可点击切换选中、不选中的状态。", + "keywords": [ + "uni-ui", + "uniui", + "", + "tag", + "标签" +], + "repository": "https://github.com/dcloudio/uni-ui", + "engines": { + "HBuilderX": "", + "uni-app": "^4.07", + "uni-app-x": "" + }, + "directories": { + "example": "../../temps/example_temps" + }, + "dcloudext": { + "sale": { + "regular": { + "price": "0.00" + }, + "sourcecode": { + "price": "0.00" + } + }, + "contact": { + "qq": "" + }, + "declaration": { + "ads": "无", + "data": "无", + "permissions": "无" + }, + "npmurl": "https://www.npmjs.com/package/@dcloudio/uni-ui", + "type": "component-vue", + "darkmode": "x", + "i18n": "x", + "widescreen": "x" + }, + "uni_modules": { + "dependencies": [ + "uni-scss" + ], + "encrypt": [], + "platforms": { + "cloud": { + "tcb": "x", + "aliyun": "x", + "alipay": "x" + }, + "client": { + "uni-app": { + "vue": { + "vue2": "√", + "vue3": "√" + }, + "web": { + "safari": "√", + "chrome": "√" + }, + "app": { + "vue": "√", + "nvue": "√", + "android": "√", + "ios": "√", + "harmony": "√" + }, + "mp": { + "weixin": "√", + "alipay": "√", + "toutiao": "√", + "baidu": "√", + "kuaishou": "-", + "jd": "-", + "harmony": "-", + "qq": "√", + "lark": "-" + }, + "quickapp": { + "huawei": "√", + "union": "√" + } + }, + "uni-app-x": { + "web": { + "safari": "-", + "chrome": "-" + }, + "app": { + "android": "-", + "ios": "-", + "harmony": "-" + }, + "mp": { + "weixin": "-" + } + } + } + } + } +} \ No newline at end of file diff --git a/wuye-manager-uniapp/uni_modules/uni-tag/readme.md b/wuye-manager-uniapp/uni_modules/uni-tag/readme.md new file mode 100644 index 0000000..6e78ff5 --- /dev/null +++ b/wuye-manager-uniapp/uni_modules/uni-tag/readme.md @@ -0,0 +1,13 @@ + + +## Tag 标签 +> **组件名:uni-tag** +> 代码块: `uTag` + + +用于展示1个或多个文字标签,可点击切换选中、不选中的状态 。 + +### [查看文档](https://uniapp.dcloud.io/component/uniui/uni-tag) +#### 如使用过程中有任何问题,或者您对uni-ui有一些好的建议,欢迎加入 uni-ui 交流群:871950839 + + diff --git a/wuye-manager-uniapp/uni_modules/uni-title/changelog.md b/wuye-manager-uniapp/uni_modules/uni-title/changelog.md new file mode 100644 index 0000000..7626216 --- /dev/null +++ b/wuye-manager-uniapp/uni_modules/uni-title/changelog.md @@ -0,0 +1,10 @@ +## 1.1.1(2022-05-19) +- 修改组件描述 +## 1.1.0(2021-11-19) +- 优化 组件UI,并提供设计资源,详见:[https://uniapp.dcloud.io/component/uniui/resource](https://uniapp.dcloud.io/component/uniui/resource) +- 文档迁移,详见:[https://uniapp.dcloud.io/component/uniui/uni-title](https://uniapp.dcloud.io/component/uniui/uni-title) +## 1.0.2(2021-05-12) +- 新增 示例地址 +- 修复 示例项目缺少组件的Bug +## 1.0.1(2021-02-05) +- 调整为uni_modules目录规范 diff --git a/wuye-manager-uniapp/uni_modules/uni-title/components/uni-title/uni-title.vue b/wuye-manager-uniapp/uni_modules/uni-title/components/uni-title/uni-title.vue new file mode 100644 index 0000000..bf4f926 --- /dev/null +++ b/wuye-manager-uniapp/uni_modules/uni-title/components/uni-title/uni-title.vue @@ -0,0 +1,171 @@ + + + + + diff --git a/wuye-manager-uniapp/uni_modules/uni-title/package.json b/wuye-manager-uniapp/uni_modules/uni-title/package.json new file mode 100644 index 0000000..2249f5a --- /dev/null +++ b/wuye-manager-uniapp/uni_modules/uni-title/package.json @@ -0,0 +1,88 @@ +{ + "id": "uni-title", + "displayName": "uni-title 章节标题", + "version": "1.1.1", + "description": "章节标题,通常用于记录页面标题,使用当前组件,uni-app 如果开启统计,将会自动统计页面标题", + "keywords": [ + "uni-ui", + "uniui", + "标题", + "章节", + "章节标题", + "" +], + "repository": "https://github.com/dcloudio/uni-ui", + "engines": { + "HBuilderX": "" + }, + "directories": { + "example": "../../temps/example_temps" + }, + "dcloudext": { + "category": [ + "前端组件", + "通用组件" + ], + "sale": { + "regular": { + "price": "0.00" + }, + "sourcecode": { + "price": "0.00" + } + }, + "contact": { + "qq": "" + }, + "declaration": { + "ads": "无", + "data": "无", + "permissions": "无" + }, + "npmurl": "https://www.npmjs.com/package/@dcloudio/uni-ui" + }, + "uni_modules": { + "dependencies": ["uni-scss"], + "encrypt": [], + "platforms": { + "cloud": { + "tcb": "y", + "aliyun": "y" + }, + "client": { + "App": { + "app-vue": "y", + "app-nvue": "y" + }, + "H5-mobile": { + "Safari": "y", + "Android Browser": "y", + "微信浏览器(Android)": "y", + "QQ浏览器(Android)": "y" + }, + "H5-pc": { + "Chrome": "y", + "IE": "y", + "Edge": "y", + "Firefox": "y", + "Safari": "y" + }, + "小程序": { + "微信": "y", + "阿里": "y", + "百度": "y", + "字节跳动": "y", + "QQ": "y" + }, + "快应用": { + "华为": "u", + "联盟": "u" + }, + "Vue": { + "vue2": "y", + "vue3": "y" + } + } + } + } +} \ No newline at end of file diff --git a/wuye-manager-uniapp/uni_modules/uni-title/readme.md b/wuye-manager-uniapp/uni_modules/uni-title/readme.md new file mode 100644 index 0000000..0e60b1b --- /dev/null +++ b/wuye-manager-uniapp/uni_modules/uni-title/readme.md @@ -0,0 +1,14 @@ + + +## Title 标题 +> **组件名:uni-title** +> 代码块: `uTitle` + + +章节标题,通常用于记录页面标题,使用当前组件,uni-app 如果开启统计,将会自动统计页面标题 。 + +### [查看文档](https://uniapp.dcloud.io/component/uniui/uni-title) +#### 如使用过程中有任何问题,或者您对uni-ui有一些好的建议,欢迎加入 uni-ui 交流群:871950839 + + + diff --git a/wuye-manager-uniapp/uni_modules/uni-tooltip/changelog.md b/wuye-manager-uniapp/uni_modules/uni-tooltip/changelog.md new file mode 100644 index 0000000..285b676 --- /dev/null +++ b/wuye-manager-uniapp/uni_modules/uni-tooltip/changelog.md @@ -0,0 +1,16 @@ +## 0.2.4(2024-04-23) +- 修复 弹出位置默认值不一致导致的错位 +## 0.2.3(2024-03-20) +- 修复 弹出位置修正 +## 0.2.2(2024-01-15) +- 新增 placement支持设置四个方向:top bottom left right +## 0.2.1(2022-05-09) +- 修复 content 为空时仍然弹出的bug +## 0.2.0(2022-05-07) +**注意:破坏性更新** +- 更新 text 属性变更为 content +- 更新 移除 width 属性 +## 0.1.1(2022-04-27) +- 修复 组件根 text 嵌套组件 warning +## 0.1.0(2022-04-21) +- 初始化 diff --git a/wuye-manager-uniapp/uni_modules/uni-tooltip/components/uni-tooltip/uni-tooltip.vue b/wuye-manager-uniapp/uni_modules/uni-tooltip/components/uni-tooltip/uni-tooltip.vue new file mode 100644 index 0000000..476a7dd --- /dev/null +++ b/wuye-manager-uniapp/uni_modules/uni-tooltip/components/uni-tooltip/uni-tooltip.vue @@ -0,0 +1,108 @@ + + + + + + diff --git a/wuye-manager-uniapp/uni_modules/uni-tooltip/package.json b/wuye-manager-uniapp/uni_modules/uni-tooltip/package.json new file mode 100644 index 0000000..44158e1 --- /dev/null +++ b/wuye-manager-uniapp/uni_modules/uni-tooltip/package.json @@ -0,0 +1,86 @@ +{ + "id": "uni-tooltip", + "displayName": "uni-tooltip 提示文字", + "version": "0.2.4", + "description": "Tooltip 提示文字", + "keywords": [ + "uni-tooltip", + "uni-ui", + "tooltip", + "tip", + "文字提示" +], + "repository": "https://github.com/dcloudio/uni-ui", + "engines": { + "HBuilderX": "" + }, + "directories": { + "example": "../../temps/example_temps" + }, +"dcloudext": { + "sale": { + "regular": { + "price": "0.00" + }, + "sourcecode": { + "price": "0.00" + } + }, + "contact": { + "qq": "" + }, + "declaration": { + "ads": "无 ", + "data": "无", + "permissions": "无" + }, + "npmurl": "", + "type": "component-vue" + }, + "uni_modules": { + "dependencies": [], + "encrypt": [], + "platforms": { + "cloud": { + "tcb": "y", + "aliyun": "y", + "alipay": "n" + }, + "client": { + "Vue": { + "vue2": "y", + "vue3": "y" + }, + "App": { + "app-vue": "y", + "app-nvue": "u" + }, + "H5-mobile": { + "Safari": "y", + "Android Browser": "y", + "微信浏览器(Android)": "y", + "QQ浏览器(Android)": "y" + }, + "H5-pc": { + "Chrome": "y", + "IE": "y", + "Edge": "y", + "Firefox": "y", + "Safari": "y" + }, + "小程序": { + "微信": "y", + "阿里": "u", + "百度": "u", + "字节跳动": "u", + "QQ": "u", + "京东": "u" + }, + "快应用": { + "华为": "u", + "联盟": "u" + } + } + } + } +} \ No newline at end of file diff --git a/wuye-manager-uniapp/uni_modules/uni-tooltip/readme.md b/wuye-manager-uniapp/uni_modules/uni-tooltip/readme.md new file mode 100644 index 0000000..faafa2e --- /dev/null +++ b/wuye-manager-uniapp/uni_modules/uni-tooltip/readme.md @@ -0,0 +1,8 @@ +## Badge 数字角标 +> **组件名:uni-tooltip** +> 代码块: `uTooltip` + +数字角标一般和其它控件(列表、9宫格等)配合使用,用于进行数量提示,默认为实心灰色背景, + +### [查看文档](https://uniapp.dcloud.io/component/uniui/uni-tooltip) +#### 如使用过程中有任何问题,或者您对uni-ui有一些好的建议,欢迎加入 uni-ui 交流群:871950839 diff --git a/wuye-manager-uniapp/uni_modules/uni-transition/changelog.md b/wuye-manager-uniapp/uni_modules/uni-transition/changelog.md new file mode 100644 index 0000000..01bfb58 --- /dev/null +++ b/wuye-manager-uniapp/uni_modules/uni-transition/changelog.md @@ -0,0 +1,31 @@ +## 1.3.6(2025-07-18) +- 修复 nvue 页面,样式错误问题 +## 1.3.5(2025-06-11) +- 修复 第一次执行不显示动画的问题 +## 1.3.4(2025-04-16) +- 修复 页面数据更新到底动画复原的问题 +- 修复 示例页面打开报错的问题 +## 1.3.3(2024-04-23) +- 修复 当元素会受变量影响自动隐藏的bug +## 1.3.2(2023-05-04) +- 修复 NVUE 平台报错的问题 +## 1.3.1(2021-11-23) +- 修复 init 方法初始化问题 +## 1.3.0(2021-11-19) +- 优化 组件UI,并提供设计资源,详见:[https://uniapp.dcloud.io/component/uniui/resource](https://uniapp.dcloud.io/component/uniui/resource) +- 文档迁移,详见:[https://uniapp.dcloud.io/component/uniui/uni-transition](https://uniapp.dcloud.io/component/uniui/uni-transition) +## 1.2.1(2021-09-27) +- 修复 init 方法不生效的 Bug +## 1.2.0(2021-07-30) +- 组件兼容 vue3,如何创建 vue3 项目,详见 [uni-app 项目支持 vue3 介绍](https://ask.dcloud.net.cn/article/37834) +## 1.1.1(2021-05-12) +- 新增 示例地址 +- 修复 示例项目缺少组件的 Bug +## 1.1.0(2021-04-22) +- 新增 通过方法自定义动画 +- 新增 custom-class 非 NVUE 平台支持自定义 class 定制样式 +- 优化 动画触发逻辑,使动画更流畅 +- 优化 支持单独的动画类型 +- 优化 文档示例 +## 1.0.2(2021-02-05) +- 调整为 uni_modules 目录规范 diff --git a/wuye-manager-uniapp/uni_modules/uni-transition/components/uni-transition/createAnimation.js b/wuye-manager-uniapp/uni_modules/uni-transition/components/uni-transition/createAnimation.js new file mode 100644 index 0000000..8f89b18 --- /dev/null +++ b/wuye-manager-uniapp/uni_modules/uni-transition/components/uni-transition/createAnimation.js @@ -0,0 +1,131 @@ +// const defaultOption = { +// duration: 300, +// timingFunction: 'linear', +// delay: 0, +// transformOrigin: '50% 50% 0' +// } +// #ifdef APP-NVUE +const nvueAnimation = uni.requireNativePlugin('animation') +// #endif +class MPAnimation { + constructor(options, _this) { + this.options = options + // 在iOS10+QQ小程序平台下,传给原生的对象一定是个普通对象而不是Proxy对象,否则会报parameter should be Object instead of ProxyObject的错误 + this.animation = uni.createAnimation({ + ...options + }) + this.currentStepAnimates = {} + this.next = 0 + this.$ = _this + + } + + _nvuePushAnimates(type, args) { + let aniObj = this.currentStepAnimates[this.next] + let styles = {} + if (!aniObj) { + styles = { + styles: {}, + config: {} + } + } else { + styles = aniObj + } + if (animateTypes1.includes(type)) { + if (!styles.styles.transform) { + styles.styles.transform = '' + } + let unit = '' + if(type === 'rotate'){ + unit = 'deg' + } + styles.styles.transform += `${type}(${args+unit}) ` + } else { + styles.styles[type] = `${args}` + } + this.currentStepAnimates[this.next] = styles + } + _animateRun(styles = {}, config = {}) { + let ref = this.$.$refs['ani'].ref + if (!ref) return + return new Promise((resolve, reject) => { + nvueAnimation.transition(ref, { + styles, + ...config + }, res => { + resolve() + }) + }) + } + + _nvueNextAnimate(animates, step = 0, fn) { + let obj = animates[step] + if (obj) { + let { + styles, + config + } = obj + this._animateRun(styles, config).then(() => { + step += 1 + this._nvueNextAnimate(animates, step, fn) + }) + } else { + this.currentStepAnimates = {} + typeof fn === 'function' && fn() + this.isEnd = true + } + } + + step(config = {}) { + // #ifndef APP-NVUE + this.animation.step(config) + // #endif + // #ifdef APP-NVUE + this.currentStepAnimates[this.next].config = Object.assign({}, this.options, config) + this.currentStepAnimates[this.next].styles.transformOrigin = this.currentStepAnimates[this.next].config.transformOrigin + this.next++ + // #endif + return this + } + + run(fn) { + // #ifndef APP-NVUE + this.$.animationData = this.animation.export() + this.$.timer = setTimeout(() => { + typeof fn === 'function' && fn() + }, this.$.durationTime) + // #endif + // #ifdef APP-NVUE + this.isEnd = false + let ref = this.$.$refs['ani'] && this.$.$refs['ani'].ref + if(!ref) return + this._nvueNextAnimate(this.currentStepAnimates, 0, fn) + this.next = 0 + // #endif + } +} + + +const animateTypes1 = ['matrix', 'matrix3d', 'rotate', 'rotate3d', 'rotateX', 'rotateY', 'rotateZ', 'scale', 'scale3d', + 'scaleX', 'scaleY', 'scaleZ', 'skew', 'skewX', 'skewY', 'translate', 'translate3d', 'translateX', 'translateY', + 'translateZ' +] +const animateTypes2 = ['opacity', 'backgroundColor'] +const animateTypes3 = ['width', 'height', 'left', 'right', 'top', 'bottom'] +animateTypes1.concat(animateTypes2, animateTypes3).forEach(type => { + MPAnimation.prototype[type] = function(...args) { + // #ifndef APP-NVUE + this.animation[type](...args) + // #endif + // #ifdef APP-NVUE + this._nvuePushAnimates(type, args) + // #endif + return this + } +}) + +export function createAnimation(option, _this) { + if(!_this) return + clearTimeout(_this.timer) + return new MPAnimation(option, _this) +} diff --git a/wuye-manager-uniapp/uni_modules/uni-transition/components/uni-transition/uni-transition.vue b/wuye-manager-uniapp/uni_modules/uni-transition/components/uni-transition/uni-transition.vue new file mode 100644 index 0000000..7677553 --- /dev/null +++ b/wuye-manager-uniapp/uni_modules/uni-transition/components/uni-transition/uni-transition.vue @@ -0,0 +1,292 @@ + + + + + diff --git a/wuye-manager-uniapp/uni_modules/uni-transition/package.json b/wuye-manager-uniapp/uni_modules/uni-transition/package.json new file mode 100644 index 0000000..0542c52 --- /dev/null +++ b/wuye-manager-uniapp/uni_modules/uni-transition/package.json @@ -0,0 +1,112 @@ +{ + "id": "uni-transition", + "displayName": "uni-transition 过渡动画", + "version": "1.3.6", + "description": "元素的简单过渡动画", + "keywords": [ + "uni-ui", + "uniui", + "动画", + "过渡", + "过渡动画" +], + "repository": "https://github.com/dcloudio/uni-ui", + "engines": { + "HBuilderX": "", + "uni-app": "^4.12", + "uni-app-x": "" + }, + "directories": { + "example": "../../temps/example_temps" + }, + "dcloudext": { + "sale": { + "regular": { + "price": "0.00" + }, + "sourcecode": { + "price": "0.00" + } + }, + "contact": { + "qq": "" + }, + "declaration": { + "ads": "无", + "data": "无", + "permissions": "无" + }, + "npmurl": "https://www.npmjs.com/package/@dcloudio/uni-ui", + "type": "component-vue", + "darkmode": "x", + "i18n": "x", + "widescreen": "x" + }, + "uni_modules": { + "dependencies": [ + "uni-scss" + ], + "encrypt": [], + "platforms": { + "cloud": { + "tcb": "x", + "aliyun": "x", + "alipay": "x" + }, + "client": { + "uni-app": { + "vue": { + "vue2": "√", + "vue3": "√" + }, + "web": { + "safari": "√", + "chrome": "√" + }, + "app": { + "vue": "√", + "nvue": "√", + "android": "√", + "ios": "√", + "harmony": "√" + }, + "mp": { + "weixin": { + }, + "alipay": { + }, + "toutiao": { + }, + "baidu": { + }, + "kuaishou": { + }, + "jd": { + }, + "harmony": "-", + "qq": "√", + "lark": "-" + }, + "quickapp": { + "huawei": "√", + "union": "√" + } + }, + "uni-app-x": { + "web": { + "safari": "-", + "chrome": "-" + }, + "app": { + "android": "-", + "ios": "-", + "harmony": "-" + }, + "mp": { + "weixin": "-" + } + } + } + } + } +} \ No newline at end of file diff --git a/wuye-manager-uniapp/uni_modules/uni-transition/readme.md b/wuye-manager-uniapp/uni_modules/uni-transition/readme.md new file mode 100644 index 0000000..2f8a77e --- /dev/null +++ b/wuye-manager-uniapp/uni_modules/uni-transition/readme.md @@ -0,0 +1,11 @@ + + +## Transition 过渡动画 +> **组件名:uni-transition** +> 代码块: `uTransition` + + +元素过渡动画 + +### [查看文档](https://uniapp.dcloud.io/component/uniui/uni-transition) +#### 如使用过程中有任何问题,或者您对uni-ui有一些好的建议,欢迎加入 uni-ui 交流群:871950839 \ No newline at end of file diff --git a/wuye-manager-uniapp/uni_modules/uni-ui/changelog.md b/wuye-manager-uniapp/uni_modules/uni-ui/changelog.md new file mode 100644 index 0000000..a200a21 --- /dev/null +++ b/wuye-manager-uniapp/uni_modules/uni-ui/changelog.md @@ -0,0 +1,661 @@ +## 1.5.12(2026-03-26) +- uni-collapse 修复 modelValue 修改会两次触发 change 事件的 Bug +- uni-collapse 修复 modelValue 修改不会触发更新的 Bug +- uni-collapse 修复 modelValue 修改不会触发 change 事件的 Bug +- uni-collapse 修复 非手风琴模式 不能设置 modeValue 为 [] 的 Bug (question/205130) +- uni-datetime-picker 修复 datetime-picker 小程序样式警告 +- uni-datetime-picker 修复 uni-datetime-picker组件时间对比报错问题 +- uni-easyinput 修复 禁用状态下背景不生效的问题 +- uni-easyinput 修复 在 @input 中修改 v-model 不生效的问题 +- uni-file-picker 修复: 腾讯云目录错误导致的上传错误问题 +- uni-file-picker 修复 设置readonly属性后内容插槽失效的问题。 +- uni-file-picker 修复 动态dir目录,不生效的问题 +- uni-file-picker 新增 dir 属性,可以选择上传目录 +- uni-icons 优化 uni-app x 下 size 类型问题 +- uni-indexed-list 修复 pc 触屏问题 +- uni-list 修复 右侧箭头类型错误的问题 +- uni-load-more 修复 微信小程序css警告问题 +- uni-nav-bar 修复 内部样式问题 +- uni-popup 修复 uni-app x 下类型错误导致的编译问题 +- uni-popup 修复 uni-popup-dialog组件设置 borderRadius 不生效的 Bug +- uni-rate 修复 pc 触屏问题 +- uni-swipe-action 修复 pc 触屏问题 +## 1.5.11(2025-08-19) +- uni-data-select 新增 插槽 selected empty option +- uni-data-select 新增 mutiple 属性,支持多选功能 +- uni-data-select 新增 wrap 属性,支持选中的文字超过一行显示 +- uni-data-select 新增 align 属性,支持修改选中的文字显示的位置 +- uni-data-select 新增 hideRight 属性,支持隐藏右侧所有按钮 +- uni-data-select 新增 mode 属性,支持修改边框样式 +- uni-data-select 新增 事件 open close clear +- uni-easyinput 修复 微信小程序平台样式警告问题 +- uni-file-picker 修复 删除文件后,返回信息不包含file对象的问题 +- uni-icons 修复 图标点击事件返回 +- uni-nav-bar 修复 微信小程序 fixed 下避让胶囊,优化标题居中,默认showMenuButtonWidth 不开启下,右侧插槽会被 胶囊覆盖 +- uni-nav-bar 新增 showMenuButtonWidth 右侧是否避让胶囊,即 显示区域为胶囊左侧,默认不开启,开启后会导致标题不在页面水平居中 +- uni-tag 修复 传入数字 0 不显示的问题 +## 1.5.9(2025-07-18) +- uni-popup 修复 nvue 下弹窗样式错乱的问题 ,更新依赖 uni-transition 组件 +- uni-popup 更新 示例取消 borderRadius 属性 ,如需内容圆角,用户应该直接在内容插槽中实现 +- uni-transition 修复 nvue 页面,样式错误问题 +## 1.5.8(2025-06-24) +- uni-countdown 修复 filterShow 导致的运行报错 +- uni-data-picker 修复 在readonly属性为true时选项匹配错误的问题 +- uni-data-select 修复 清除按钮不展示问题 +- uni-data-select 优化 默认背景为白色与整体组件保持风格统一 +- uni-datetime-picker 修复 绑定字符串值的时,日历面板选中状态未重置到默认值的问题 +- uni-datetime-picker 修复 在 iOS 微信小程序上type='daterange'时,传入'YYYY-MM-DD'格式不生效的问题 +- uni-file-picker 修复 支付宝小程序 上传样式问题 +- uni-list 修复 可触发点击反馈的 uni-list-item 没有hover效果的问题 +- uni-list 修复 示例中过期图片地址 +- uni-nav-bar 适配微信小程序固定导航栏时,右侧插槽避让胶囊按钮 +- uni-notice-bar 新增 左侧自定义插槽,可自定义文字或图标 +- uni-popup 修复 uni-popup-dialog 中 setVal 方法报错的问题 +- uni-popup 修复 uni-popup-dialog 数据双向绑定问题。 +- uni-popup 修复 更新组件示例 ,解决更新数据或保存项目导致弹窗消失的问题 +- uni-popup 修复 uni-popup-dialog 弹出框在vue3中双向绑定问题 +- uni-popup 修复 示例中过期图片地址 +- uni-swipe-action 修复 鸿蒙 next 浏览器上无法滑动的问题 +- uni-swipe-action 优化 更新示例项目 +- uni-swipe-action 修复 app 端 缺少leftOptions 或 rightOptions 时无法滑动的问题 +- uni-swipe-action 修复 由上一个兼容版本引发的 安卓运行报错且无法回弹的问题 +- uni-swipe-action 优化 兼容鸿蒙平台 +- uni-swipe-action 修复 WEB 平台控制台报错 +- uni-table 修复: 下拉筛选中 toISOString() 引发的时区问题 +- uni-transition 修复 第一次执行不显示动画的问题 +- uni-transition 修复 页面数据更新到底动画复原的问题 +- uni-transition 修复 示例页面打开报错的问题 +## 1.5.7(2024-10-31) +- uni-calendar 修复 calendar 在选择日期范围后重新选择日期需要点两次的 Bug +- uni-combox 新增 clearAble 属性 +- uni-countdown 新增 支持控制显示位数 默认显示 2 位 +- uni-datetime-picker 修复 没有选中日期时点击确定直接报错的 Bug [详情](https://ask.dcloud.net.cn/question/198168) +- uni-easyinput 修复 初始值传入 null 导致 input 报错的 Bug +- uni-fab 修复 微信小程序中的 getSystemInfo 警告 +- uni-file-picker 优化 vue3 兼容性 +- uni-file-picker 修复 value 属性不兼容 vue3 的 Bug +- uni-forms 修复 校验规则在抖音开发者工具上不生效的 Bug [详情](https://ask.dcloud.net.cn/question/191933) +- uni-forms 修复 form 上次修改的问题 +- uni-forms 修复 binddata 的兼容性问题 +- uni-popup 修复 uni-popup 在 android 上的重复点击弹出位置不正确的 Bug +- uni-table 修复 运行到抖音小程序上出现的问题 +- 修复 uni-load-more uni-nav-bar uni-popup uni-table uni-datetime-picker 在微信小程序中的 getSystemInfo 警告 + +## 1.5.6(2024-07-08) +- uni-datetime-picker 新增 日期点击事件,在点击日期时会触发该事件。 +- uni-datetime-picker 修复 抖音小程序事件传递失效bug +- uni-easyinput 修复 easyinput组件双向绑定问题 +- uni-number-box 修复 在vue2下H5黑边的bug +- uni-number-box 修复 在vue2手动输入后失焦导致清空数值的严重bug +- uni-popup 修复 uni-popup-dialog vue3下使用value无法进行绑定的bug(双向绑定兼容旧写法) +- uni-search-bar 修复 textColor默认值导致的文字不显示的bug +- uni-search-bar 修复 textColor不生效的bug +- uni-segmented-control 修复 修复在微信小程序下inactiveColor失效bug +- uni-tooltip 修复 弹出位置默认值不一致导致的错位 +- uni-transition 修复 当元素会受变量影响自动隐藏的bug +## 1.5.0(2024-01-13) +- 修复 npm包结构目录错误的问题 +- uni-calendar 修复 回到今天时,月份显示不一致问题 +- uni-data-picker 新增 支持 uni-app-x +- uni-datetime-picker 优化 增加noChange事件,当进行日期范围选择时,若有空值,则触发该事件 [详情](https://github.com/dcloudio/uni-ui/issues/815) +- uni-datetime-picker 修复 字节小程序时间选择范围器失效问题 [详情](https://github.com/dcloudio/uni-ui/issues/834) +- uni-datetime-picker 修复 PC端初次修改时间,开始时间未更新的Bug [详情](https://github.com/dcloudio/uni-ui/issues/737) +- uni-datetime-picker 修复 部分情况修改时间,开始、结束时间显示异常的Bug [详情](https://ask.dcloud.net.cn/question/171146) +- uni-datetime-picker 优化 当前月可以选择上月、下月的日期的Bug +- uni-file-picker 新增 微信小程序不再调用chooseImage,而是调用chooseMedia +- uni-file-picker 新增 上传文件至云存储携带本地文件名称 +- uni-forms 优化 labelWidth 描述错误 +fix: 修复图标大小默认值错误的问题 +- uni-icons 修复 项目未使用 ts 情况下,打包报错的bug +- uni-icons 修复 size 属性为 string 时,不加单位导致尺寸异常的bug +- uni-icons 优化 兼容老版本icon类型,如 top ,bottom 等 +- uni-icons 优化 兼容老版本icon类型,如 top ,bottom 等 +- uni-icons 优化 uni-app x 下示例项目图标排序 +- uni-icons 修复 nvue下引入组件报错的bug +-优化 size 属性支持单位 +- uni-icons 新增 uni-app x 支持定义图标 +- uni-notice-bar 修复动态绑定title时,滚动速度不一致的问题 +更新示例工程 +- uni-popup 新增 uni-popup 支持uni-app-x 注意暂时仅支持 `maskClick` `@open` `@close` +- uni-table 修复 uni-tr只有一列时minWidth计算错误,列变化实时计算更新 +## 1.4.27(2023-04-21) +- uni-calendar 修复 某些情况 monthSwitch 未触发的Bug +- uni-calendar 修复 某些情况切换月份错误的Bug +- uni-data-picker 修复 更改 modelValue 报错的 bug +- uni-data-picker 修复 v-for 未使用 key 值控制台 warning +- uni-data-picker 修复代码合并时引发 value 属性为空时不渲染数据的问题 +- uni-data-picker 修复 localdata 不支持动态更新的bug +- uni-data-select 修复 微信小程序点击时会改变背景颜色的 bug +- uni-data-select 修复 禁用时会显示清空按钮 +- uni-data-select 优化 查询条件短期内多次变更只查询最后一次变更后的结果 +- uni-data-select 调整 内部缓存键名调整为 uni-data-select-lastSelectedValue +- uni-datetime-picker 修复 日历 picker 修改年月后,自动选中当月1日 [详情](https://ask.dcloud.net.cn/question/165937) +- uni-datetime-picker 修复 小程序端 低版本 ios NaN [详情](https://ask.dcloud.net.cn/question/162979) +- uni-datetime-picker 修复 firefox 浏览器显示区域点击无法拉起日历弹框的Bug [详情](https://ask.dcloud.net.cn/question/163362) +- uni-datetime-picker 优化 值为空依然选中当天问题 +- uni-datetime-picker 优化 提供 default-value 属性支持配置选择器打开时默认显示的时间 +- uni-datetime-picker 优化 非范围选择未选择日期时间,点击确认按钮选中当前日期时间 +- uni-datetime-picker 优化 字节小程序日期时间范围选择,底部日期换行问题 +- uni-datetime-picker 修复 2.2.18 引起范围选择配置 end 选择无效的Bug [详情](https://github.com/dcloudio/uni-ui/issues/686) +- uni-datetime-picker 修复 移动端范围选择change事件触发异常的Bug [详情](https://github.com/dcloudio/uni-ui/issues/684) +- uni-datetime-picker 优化 PC端输入日期格式错误时返回当前日期时间 +- uni-datetime-picker 优化 PC端输入日期时间超出 start、end 限制的Bug +- uni-datetime-picker 优化 移动端日期时间范围用法时间展示不完整问题 +- uni-datetime-picker 修复 小程序端绑定 Date 类型报错的Bug [详情](https://github.com/dcloudio/uni-ui/issues/679) +- uni-datetime-picker 修复 vue3 time-picker 无法显示绑定时分秒的Bug +- uni-datetime-picker 修复 字节小程序报错的Bug +- uni-datetime-picker 修复 某些情况切换月份错误的Bug +- uni-easyinput 修复 vue3 下 keyboardheightchange 事件报错的bug +- uni-easyinput 优化 trim 属性默认值 +- uni-easyinput 新增 cursor-spacing 属性 +- uni-fab 新增 pattern.icon 属性,可自定义图标 +- uni-file-picker 修复 手动上传删除一个文件后不能再上传的bug +- uni-forms 修复 required 参数无法动态绑定 +- uni-list 优化 uni-list-chat 具名插槽`header` 非app端套一层元素,方便使用时通过外层元素定位实现样式修改 +- uni-list uni-list-chat 新增 支持具名插槽`header` +- uni-list 新增 列表图标新增 customPrefix 属性 ,用法 [详见](https://uniapp.dcloud.net.cn/component/uniui/uni-icons.html#icons-props) +- uni-nav-bar 修复 自定义状态栏高度闪动BUG +- uni-nav-bar 修复 暗黑模式下边线颜色错误的bug +- uni-popup 修复 uni-popup 重复打开时的 bug +- uni-popup uni-popup-dialog 组件新增 inputType 属性 +- uni-swipe-action 修复`uni-swipe-action`和`uni-swipe-action-item`不同时使用导致 closeOther 方法报错的 bug +- uni-table 修复 在vue3模式下可能会出现错误的问题 +## 1.4.26(2023-01-31) +- uni-badge 修复 运行/打包 控制台警告问题 +- uni-calendar 修复 某些情况切换月份错误问题 +- uni-data-select 修复 不关联服务空间报错的问题 +- uni-data-select 新增 属性 `format` 可用于格式化显示选项内容 +- uni-datetime-picker 修复 某些情况切换月份错误问题 +- uni-easyinput 新增 keyboardheightchange 事件,可监听键盘高度变化 +- uni-list 修复 无反馈效果呈现的bug +## 1.4.25(2023-01-11) +- uni-file-picker 新增 sourceType 属性, 可以自定义图片和视频选择的来源 +## 1.4.24(2023-01-11) +- uni-data-select 修复 当where变化时,数据不会自动更新的问题 +- uni-datetime-picker 修复 多次加载组件造成内存占用的 bug +- uni-datetime-picker 修复 vue3 下 i18n 国际化初始值不正确的 bug +- uni-easyinput 修复 props 中背景颜色无默认值的bug +- uni-list 修复 uni-list-chat 在vue3下跳转报错的bug +- uni-list 修复 uni-list-chat avatar属性 值为本地路径时错误的问题 +- uni-list 修复 uni-list-chat avatar属性 在腾讯云版uniCloud下错误的问题 +- uni-list 修复 uni-list-chat note属性 支持:“草稿”字样功能 文本少1位的问题 +- uni-list 修复 uni-list-item 的 customStyle 属性 padding值在 H5端 无效的bug +- uni-list 修复 uni-list-item 的 customStyle 属性 padding值在nvue(vue2)下无效的bug +- uni-list uni-list-chat 新增 avatar 支持 fileId +- uni-list uni-list 新增属性 render-reverse 详情参考:[https://uniapp.dcloud.net.cn/component/list.html](https://uniapp.dcloud.net.cn/component/list.html) +- uni-list uni-list-chat note属性 支持:“草稿”字样 加红显示 详情参考uni-im:[https://ext.dcloud.net.cn/plugin?name=uni-im](https://ext.dcloud.net.cn/plugin?name=uni-im) +- uni-list uni-list-item 新增属性 customStyle 支持设置padding、backgroundColor +- uni-popup 修复 nvue 下 v-show 报错 +## 1.4.23(2022-10-25) +- uni-datetime-picker 修复,支付宝小程序样式错乱,[详情](https://github.com/dcloudio/uni-app/issues/3861) + +- uni-nav-bar 修复 条件编译错误的bug +- uni-nav-bar 修复 nvue 环境 fixed 为 true 的情况下,无法置顶的 bug +## 1.4.22(2022-09-19) +- 优化 部分组件适配 uni-scss 主题色 +- uni-badge 修复 当 text 超过 max-num 时,badge 的宽度计算是根据 text 的长度计算,更改为 css 计算实际展示宽度,详见:[https://ask.dcloud.net.cn/question/150473](https://ask.dcloud.net.cn/question/150473) +- uni-calendar 修复 表头年月切换,导致改变当前日期为选择月1号,且未触发change事件 +- uni-data-select 修复 微信小程序下拉框出现后选择会点击到蒙板后面的输入框 +- uni-data-select 修复 点击的位置不准确 +- uni-data-select 新增 支持 disabled 属性 +- uni-datetime-picker 修复,反向选择日期范围,日期显示异常,[详情](https://ask.dcloud.net.cn/question/153401?item_id=212892&rf=false) +- uni-datetime-picker 修复 close事件无效的 bug +- uni-datetime-picker 修复 移动端 maskClick 无效的 bug,详见:[https://ask.dcloud.net.cn/question/140824?item_id=209458&rf=false](https://ask.dcloud.net.cn/question/140824?item_id=209458&rf=false) +- uni-fab 修复 小程序端由于 style 使用了对象导致报错,[详情](https://ask.dcloud.net.cn/question/152790?item_id=211778&rf=false) +- uni-fab 修复 nvue 环境下,具有 tabBar 时,fab 组件下部位置无法正常获取 --window-bottom 的bug,详见:[https://ask.dcloud.net.cn/question/110638?notification_id=826310](https://ask.dcloud.net.cn/question/110638?notification_id=826310) +- uni-forms 优化 根据 rules 自动添加 required 的问题 +- uni-forms 修复 item 未设置 require 属性,rules 设置 require 后,星号也显示的 bug,详见:[https://ask.dcloud.net.cn/question/151540](https://ask.dcloud.net.cn/question/151540) +- uni-nav-bar 修复 nvue 环境下 fixed 为 true 的情况下,无法置顶的 bug +- uni-notice-bar 新增 属性 fontSize,可修改文字大小。 +- uni-pagination 修复,未对主题色设置默认色,导致未引入 uni-scss 变量文件报错。 +- uni-pagination 修复,未对移动端当前页文字做主题色适配。 +- uni-pagination 修复 es 语言 i18n 错误 +## 1.4.21(2022-09-19) +- 修复,安装时未导入 uni-data-select 和 uni-tooltip 的问题。 +## 1.4.20(2022-07-25) +- uni-section 新增组件 +- uni-forms 修复 model 需要校验的值没有声明对应字段时,导致第一次不触发校验的bug + +## 1.4.19(2022-07-07) +- uni-data-picker 优化 pc端图标位置不正确的问题 +- uni-data-select 修复 pc端宽度异常的bug +## 1.4.18(2022-07-06) +- uni-forms 【重要】组件逻辑重构,部分用法旧版本不兼容,请注意兼容问题 +- uni-forms 【重要】组件使用 Provide/Inject 方式注入依赖,提供了自定义表单组件调用 uni-forms 校验表单的能力 +- uni-forms 新增 更多表单示例 +- uni-forms 新增 model 属性,等同于原 value/modelValue 属性,旧属性即将废弃 +- uni-forms 新增 validateTrigger 属性的 blur 值,仅 uni-easyinput 生效 +- uni-forms 新增 onFieldChange 方法,可以对子表单进行校验,可替代binddata方法 +- uni-forms 新增 子表单的 setRules 方法,配合自定义校验函数使用 +- uni-forms 新增 uni-forms-item 的 setRules 方法,配置动态表单使用可动态更新校验规则 +- uni-forms 修复 由 1.4.0 引发的 label 插槽不生效的bug +- uni-forms 修复 子组件找不到 setValue 报错的bug +- uni-forms 修复 uni-data-picker 在 uni-forms-item 中报错的bug +- uni-forms 修复 uni-data-picker 在 uni-forms-item 中宽度不正确的bug +- uni-forms 修复 表单校验顺序无序问题 +- uni-forms 优化 子表单组件uni-datetime-picker、uni-data-select、uni-data-picker的显示样式 +- uni-forms 优化 动态表单校验方式,废弃拼接name的方式 +- uni-breadcrumb 修复 微信小程序 separator 不显示问题 +- uni-data-checkbox 优化 在 uni-forms 中的依赖注入方式 +- uni-data-picker 修复 uni-data-picker 在 uni-forms-item 中宽度不正确的bug +- uni-data-picker 优化 显示样式 +- uni-data-select 优化 显示样式 +- uni-datetime-picker 修复 日历顶部年月及底部确认未国际化 bug +- uni-datetime-picker 优化 组件样式,调整了组件图标大小、高度、颜色等,与uni-ui风格保持一致 +- uni-easyinput 新增 在 uni-forms 1.4.0 中使用可以在 blur 时校验内容 +- uni-easyinput 新增 clear 事件,点击右侧叉号图标触发 +- uni-easyinput 新增 change 事件 ,仅在输入框失去焦点或用户按下回车时触发 +- uni-easyinput 优化 组件样式,组件获取焦点时高亮显示,图标颜色调整等 +- uni-easyinput 优化 clearable 显示策略 +- uni-file-picker 修复 在uni-forms下样式不生效的bug +- uni-nav-bar 修复 组件示例中插槽用法无法显示内容的bug +- uni-swipe-action 修复 vue3 下使用组件不能正常运行的Bug +- uni-swipe-action 修复 h5端点击click触发两次的Bug +- uni-table 修复 微信小程序存在无使用组件的问题 +## 1.4.17(2022-06-30) +- 支持 ios 安全区 +## 1.4.16(2022-06-06) +- uni-breadcrumb 新增 支持 uni.scss 修改颜色 +- uni-data-select 修复 localdata 赋值不生效的 bug +- uni-data-select 新增 支持选项禁用(数据选项设置 disabled: true 即禁用) +- uni-data-select 修复 当 value 为 0 时选择不生效的 bug +- uni-easyinput 修复 关闭图标某些情况下无法取消的bug +- uni-fav 新增 stat 属性 ,是否开启uni统计功能 +- uni-goods-nav 新增 stat属性,是否开启uni统计功能 +- uni-group 新增 stat属性,是否开启uni统计功能 +- uni-nav-bar 新增 stat 属性 ,可开启统计 title 上报 ,仅使用了title 属性且项目开启了uni统计生效 +- uni-search-bar 新增 readonly 属性,组件只读 +- uni-swipe-action 修复 isPC 找不到的Bug +- uni-swipe-action 修复 在 nvue 下 disabled 失效的bug +- uni-tooltip 修复 content 为空时仍然弹出的bug +## 1.4.15(2022-05-07) +- uni-data-picker 修复 字节小程序 本地数据无法选择下一级的Bug +- uni-data-select 新增 记住上次的选项(仅 collection 存在时有效) +- uni-search-bar 修复 vue3 input 事件不生效的bug +- uni-search-bar 修复 多余代码导致的bug +- uni-tooltip 更新 text 属性变更为 content +- uni-tooltip 更新 移除 width 属性 +- uni-tooltip 修复 组件根 text 嵌套组件 warning +## 1.4.14(2022-04-18) +- uni-datetime-picker 修复 Vue3 下动态赋值,单选类型未响应的 bug +- uni-easyinput 修复 默认值不生效的bug +## 1.4.13(2022-04-02) +- uni-calendar 修复 条件编译 nvue 不支持的 css 样式 +- uni-calendar 修复 startDate、 endDate 属性失效的 bug +- uni-data-picker 修复 nvue 不支持的 v-show 的 bug +- uni-data-picker 修复 条件编译 nvue 不支持的 css 样式 +- uni-datetime-picker 修复 Vue3 下动态赋值未响应的 bug +- uni-easyinput 修复 value不能为0的bug +- uni-popup 修复 弹出层内部无法滚动的bug +- uni-popup 修复 小程序中高度错误的bug +- uni-popup 修复 快速调用open出现问题的Bug +- uni-rate 修复 条件判断 `NaN` 错误的 bug +- uni-swipe-action 修复 按钮字体大小不能设置的bug +- uni-swipe-action 修复 h5和app端下报el错误的bug +- uni-swipe-action 修复 HBuilderX 1.4.X 版本中,h5和app端下报错的bug +## 1.4.12(2022-02-19) +- uni-collapse 修复 初始化的时候 ,open 属性失效的bug +- uni-data-checkbox 修复 multiple 为 true 时,v-model 的值为 null 报错的 bug +- uni-icons 优化 size 属性可以传入不带单位的字符串数值 +- uni-icons 优化 size 支持其他单位 +- uni-nav-bar 新增 left-width/right-width属性 ,可修改左右两侧的宽度 +- uni-popup 修复 safeArea 属性不能设置为false的bug +## 1.4.11(2022-01-21) +- uni-collapse 修复 微信小程序resize后组件收起的bug +- uni-countdown 修复 在微信小程序中样式不生效的bug +- uni-countdown 新增 update 方法 ,在动态更新时间后,刷新组件 +- uni-load-more 新增 showText属性 ,是否显示文本 +- uni-load-more 修复 nvue 平台下不显示文本的bug +- uni-load-more 修复 微信小程序平台样式选择器报警告的问题 +- uni-nav-bar 修复 在vue下,标题不垂直居中的bug +- uni-nav-bar 修复 height 属性类型错误 +- uni-nav-bar 新增 height 属性,可修改组件高度 +- uni-nav-bar 新增 dark 属性可可开启暗黑模式 +- uni-nav-bar 优化 标题字数过多显示省略号 +- uni-nav-bar 优化 插槽,插入内容可完全覆盖 +- uni-popup 修复 isMaskClick 失效的bug +- uni-popup 新增 cancelText \ confirmText 属性 ,可自定义文本 +- uni-popup 新增 maskBackgroundColor 属性 ,可以修改蒙版颜色 +- uni-popup 优化 maskClick属性 更新为 isMaskClick ,解决微信小程序警告的问题 + +## 1.4.10(2022-01-17) +- uni-card 修复 在vue页面下略缩图显示不正常的bug +- uni-datetime-picker 修复 clear-icon 属性在小程序平台不生效的 bug +- uni-datetime-picker 修复 日期范围选在小程序平台,必须多点击一次才能取消选中状态的 bug +- uni-fab 更新 组件依赖 +- +- uni-icons 修复 nvue 有些图标不显示的bug,兼容老版本图标 +- uni-icons 优化 示例可复制图标名称 +- uni-nav-bar 修复 color 属性不生效的bug +- uni-popup 修复 设置 safeArea 属性不生效的bug +- uni-popup 优化 组件示例 +- uni-popup 修复 vuedoc 文字错误 +## 1.4.9(2021-11-23) +- uni-ui 修复 vue3中某些scss变量无法找到的问题 +- uni-combox 优化 label、label-width 属性 +- uni-data-picker 修复 由上个版本引发的map、v-model等属性不生效的bug +- uni-file-picker 修复 参数为对象的情况下,url在某些情况显示错误的bug +- uni-icons 优化 兼容旧组件 type 值 +- uni-list 修复 在vue3中to属性在发行应用的时候报错的bug +- uni-scss 修复 vue3中scss语法兼容问题 +- uni-transition 修复 init 方法初始化问题 +## 1.4.8(2021-11-19) +- uni-fab 修复 阴影颜色不正确的bug +## 1.4.7(2021-11-19) +- uni-ui 新增 支持国际化 +- uni-ui 优化 组件UI,并提供设计资源,详见:[https://uniapp.dcloud.io/component/uniui/resource](https://uniapp.dcloud.io/component/uniui/resource) +- uni-ui 文档迁移,详见:[https://uniapp.dcloud.io/component/uniui/uni-ui](https://uniapp.dcloud.io/component/uniui/uni-ui) +- uni-badge 修改 size 属性默认值调整为 small +- uni-badge 修改 type 属性,默认值调整为 error,info 替换 default +- uni-badge 修复 在字节小程序上样式不生效的 bug +- uni-calendar 修复 弹出层被 tabbar 遮盖 bug +- uni-card 重构插槽的用法 ,header 替换为 title +- uni-card 新增 actions 插槽 +- uni-card 新增 cover 封面图属性和插槽 +- uni-card 新增 padding 内容默认内边距离 +- uni-card 新增 margin 卡片默认外边距离 +- uni-card 新增 spacing 卡片默认内边距 +- uni-card 新增 shadow 卡片阴影属性 +- uni-card 取消 mode 属性,可使用组合插槽代替 +- uni-card 取消 note 属性 ,使用actions插槽代替 +- uni-collapse 优化 show-arrow 属性默认为true +- uni-collapse 新增 show-arrow 属性,控制是否显示右侧箭头 +- uni-countdown 新增 font-size 支持自定义字体大小 +- uni-data-checkbox 修复 在uni-forms中 modelValue 中不存在当前字段,当前字段必填写也不参与校验的问题 +- uni-data-checkbox 修复 单选 list 模式下 ,icon 为 left 时,选中图标不显示的问题 +- uni-data-checkbox 修复 在 uni-forms 中重置表单,错误信息无法清除的问题 +- uni-dateformat 优化 默认时间不再是当前时间,而是显示'-'字符 +- uni-datetime-picker 修复 hide-second 在移动端的 bug +- uni-datetime-picker 修复 单选赋默认值时,赋值日期未高亮的 bug +- uni-datetime-picker 修复 赋默认值时,移动端未正确显示时间的 bug +- uni-datetime-picker 新增 hide-second 属性,支持只使用时分,隐藏秒 +- uni-datetime-picker 优化 取消选中时(范围选)直接开始下一次选择, 避免多点一次 +- uni-datetime-picker 优化 移动端支持清除按钮,同时支持通过 ref 调用组件的 clear 方法 +- uni-datetime-picker 优化 调整字号大小,美化日历界面 +- uni-datetime-picker 优化 范围选择器在 pc 端过宽的问题 +- uni-datetime-picker 新增 支持作为 uni-forms 子组件相关功能 +- uni-datetime-picker 修复 在 uni-forms 中使用时,选择时间报 NAN 错误的 bug +- uni-datetime-picker 修复 type 属性动态赋值无效的 bug +- uni-datetime-picker 修复 ‘确认’按钮被 tabbar 遮盖 bug +- uni-datetime-picker 修复 组件未赋值时范围选左、右日历相同的 bug +- uni-datetime-picker 修复 范围选未正确显示当前值的 bug +- uni-datetime-picker 修复 h5 平台(移动端)报错 'cale' of undefined 的 bug +- uni-easyinput 修复 在 uni-forms 的动态表单中默认值校验不通过的 bug +- uni-easyinput 修复 在 uni-forms 中重置表单,错误信息无法清除的问题 +- uni-file-picker 新增 参数中返回 fileID 字段 +- uni-file-picker 修复 腾讯云传入fileID 不能回显的bug +- uni-file-picker 修复 选择图片后,不能放大的问题 +- uni-file-picker 修复 由于 0.2.11 版本引起的不能回显图片的Bug +- uni-file-picker 新增 clearFiles(index) 方法,可以手动删除指定文件 +- uni-file-picker 修复 v-model 值设为 null 报错的Bug +- uni-file-picker 修复 return-type="object" 时,无法删除文件的Bug +- uni-file-picker 修复 auto-upload 属性失效的Bug +- uni-forms 修复 label 插槽不生效的bug +- uni-forms 修复 没有添加校验规则的字段依然报错的Bug +- uni-forms 修复 重置表单错误信息无法清除的问题 +- uni-forms 修复 表单验证只生效一次的问题 +- uni-icons 新增 更多图标 +- uni-icons 优化 自定义图标使用方式 +- uni-link 修复 在 nvue 下不显示的 bug +- uni-pagination 修复 current 、value 属性未监听,导致高亮样式失效的 bug +- uni-rate 优化 默认值修改为 0 颗星 +- uni-search-bar 修复 value 属性与 modelValue 属性不兼容的Bug +- uni-swipe-action 新增 close-all 方法,关闭所有已打开的组件 +- uni-swipe-action 新增 resize() 方法,在非微信小程序、h5、app-vue端出现不能滑动的问题的时候,重置组件 +- uni-swipe-action 修复 app 端偶尔出现类似 Page[x][-x,xx;-x,xx,x,x-x] 的问题 +- uni-swipe-action 优化 微信小程序、h5、app-vue 滑动逻辑,避免出现动态新增组件后不能滑动的问题 +- uni-tag 新增 提供组件设计资源,组件样式调整 +- uni-tag 移除 插槽 +- uni-tag 移除 type 属性的 royal 选项 +- uni-tag type 不是 default 时,size 为 small 字体大小显示不正确 +## 1.4.2(2021-08-20) +- 新增 uni-ui 组件支持国际化 i18n +- uni-collapse 优化 show-arrow 属性默认为true +- uni-collapse 新增 show-arrow 属性,控制是否显示右侧箭头 +- uni-data-checkbox 修复 单选 list 模式下 ,icon 为 left 时,选中图标不显示的问题 +- uni-easyinput 修复 在 uni-forms 的动态表单中默认值校验不通过的 bug +- uni-file-picker 修复 由于 0.2.11 版本引起的不能回显图片的Bug +- uni-file-picker 新增 clearFiles(index) 方法,可以手动删除指定文件 +- uni-file-picker 修复 v-model 值设为 null 报错的Bug +- uni-swipe-action 新增 close-all 方法,关闭所有已打开的组件 +- uni-swipe-action 新增 resize() 方法,在非微信小程序、h5、app-vue端出现不能滑动的问题的时候,重置组件 +- uni-swipe-action 修复 app 端偶尔出现类似 Page[x][-x,xx;-x,xx,x,x-x] 的问题 +- uni-swipe-action 优化 微信小程序、h5、app-vue 滑动逻辑,避免出现动态新增组件后不能滑动的问题 +## 1.4.0(2021-08-13) +- uni-calendar 修复 弹出层被 tabbar 遮盖 bug +- uni-data-checkbox 修复 在 uni-forms 中重置表单,错误信息无法清除的问题 +- uni-dateformat 调整 默认时间不再是当前时间,而是显示'-'字符 +- uni-datetime-picker 新增 适配 vue3 +- uni-datetime-picker 新增 支持作为 uni-forms 子组件相关功能 +- uni-datetime-picker 修复 在 uni-forms 中使用时,选择时间报 NAN 错误的 bug +- uni-datetime-picker 修复 type 属性动态赋值无效的 bug +- uni-datetime-picker 修复 ‘确认’按钮被 tabbar 遮盖 bug +- uni-datetime-picker 修复 组件未赋值时范围选左、右日历相同的 bug +- uni-datetime-picker 修复 范围选未正确显示当前值的 bug +- uni-datetime-picker 修复 h5 平台(移动端)报错 'cale' of undefined 的 bug +- uni-easyinput 修复 在 uni-forms 中重置表单,错误信息无法清除的问题 +- uni-file-picker 修复 return-type="object" 时,无法删除文件的Bug +- uni-file-picker 修复 auto-upload 属性失效的Bug +- uni-forms 修复 没有添加校验规则的字段依然报错的Bug +- uni-forms 修复 重置表单错误信息无法清除的问题 +- uni-forms 优化 组件文档 +- uni-forms 修复 表单验证只生效一次的问题 +- uni-tag type 不是 default 时,size 为 small 字体大小显示不正确 +## 1.3.9(2021-08-02) +- uni-datetime-picker 新增 return-type 属性支持返回 date 日期对象 +- uni-file-picker 修复 fileExtname属性不指定值报错的Bug +- uni-file-picker 修复 在某种场景下图片不回显的Bug +- uni-link 支持自定义插槽 +## 1.3.8(2021-07-31) +- uni-ui 组件兼容 vue3 +- uni-collapse 修复 由1.2.0版本引起的 change 事件返回 undefined 的Bug +- uni-collapse 优化 组件示例 +- uni-collapse 新增 组件折叠动画 +- uni-collapse 新增 value\v-model 属性 ,动态修改面板折叠状态 +- uni-collapse 新增 title 插槽 ,可定义面板标题 +- uni-collapse 新增 border 属性 ,显示隐藏面板内容分隔线 +- uni-collapse 新增 title-border 属性 ,显示隐藏面板标题分隔线 +- uni-collapse 修复 resize 方法失效的Bug +- uni-collapse 修复 change 事件返回参数不正确的Bug +- uni-collapse 优化 H5、App 平台自动更具内容更新高度,无需调用 reszie() 方法 +- uni-data-checkbox 优化 在uni-forms组件,与label不对齐的问题 +- uni-data-checkbox 修复 单选默认值为0不能选中的Bug +- uni-easyinput 优化 errorMessage 属性支持 Boolean 类型 +- uni-file-picker 修复 return-type为object下,返回值不正确的Bug +- uni-file-picker 修复(重要) H5 平台下如果和uni-forms组件一同使用导致页面卡死的问题 +- uni-file-picker 优化 h5平台下上传文件导致页面卡死的问题 +- uni-forms 修复 vue2 下条件编译导致destroyed生命周期失效的Bug +- uni-forms 修复 1.2.1 引起的示例在小程序平台报错的Bug +- uni-forms 修复 动态校验表单,默认值为空的情况下校验失效的Bug +- uni-forms 修复 不指定name属性时,运行报错的Bug +- uni-forms 优化 label默认宽度从65调整至70,使required为true且四字时不换行 +- uni-forms 优化 组件示例,新增动态校验示例代码 +- uni-forms 优化 组件文档,使用方式更清晰 +- uni-list 修复 与其他组件嵌套使用时,点击失效的Bug +- uni-swipe-action 修复 跨页面修改组件数据 ,导致不能滑动的问题 +## 1.3.7(2021-07-16) +- uni-ui 兼容 vue3,如何创建vue3项目,详见 [uni-app 项目支持 vue3 介绍](https://ask.dcloud.net.cn/article/37834) +- uni-datetime-picker 修复 单选日期类型,初始赋值后不在当前日历的 bug +- uni-datetime-picker 新增 clearIcon 属性,显示框的清空按钮可配置显示隐藏(仅 pc 有效) +- uni-datetime-picker 优化 移动端移除显示框的清空按钮,无实际用途 +- uni-datetime-picker 修复 组件赋值为空,界面未更新的 bug +- uni-datetime-picker 修复 start 和 end 不能动态赋值的 bug +- uni-datetime-picker 修复 范围选类型,用户选择后再次选择右侧日历(结束日期)显示不正确的 bug +## 1.3.6(2021-07-09) +- uni-data-checkbox 优化 删除无用日志 +- uni-data-checkbox 修复 由 0.1.9 引起的非 nvue 端图标不显示的问题 +- uni-data-checkbox 修复 nvue 黑框样式问题 +- uni-datetime-picker 修复 范围选择不能动态赋值的 bug +- uni-datetime-picker 修复 范围选择的初始时间在一个月内时,造成无法选择的bug +- uni-datetime-picker 优化 弹出层在超出视窗边缘定位不准确的问题 +- uni-datetime-picker 修复 范围起始点样式的背景色与今日样式的字体前景色融合,导致日期字体看不清的 bug +- uni-datetime-picker 优化 弹出层在超出视窗边缘被遮盖的问题 +- uni-datetime-picker 新增 maskClick 事件 +- uni-datetime-picker 修复 特殊情况日历 rpx 布局错误的 bug,rpx -> px +- uni-datetime-picker 修复 范围选择时清空返回值不合理的bug,['', ''] -> [] +- uni-datetime-picker 新增 日期时间显示框支持插槽 +- uni-file-picker 修复 sourceType 缺少默认值导致 ios 无法选择文件 +- uni-file-picker 优化 解耦与uniCloud的强绑定关系 ,如不绑定服务空间,默认autoUpload为false且不可更改 +- uni-table 新增 uni-th 支持 date 日期筛选范围 +- uni-table 新增 uni-th 支持 range 筛选范围 +- uni-table 新增 uni-th 筛选功能 +## 1.3.5(2021-07-02) +- uni-card 优化 图文卡片无图片加载时,提供占位图标 +- uni-card 新增 header 插槽,自定义卡片头部( 图文卡片 mode="style" 时,不支持) +- uni-card 修复 thumbnail 不存在仍然占位的 bug +- uni-data-checkbox 修复 selectedTextColor 属性不生效的Bug +- uni-datetime-picker 优化 添加 uni-icons 依赖 +- uni-easyinput 修复 confirmType 属性(仅 type="text" 生效)导致多行文本框无法换行的 bug +- uni-file-picker 修复 由 0.0.10 版本引发的 returnType 属性失效的问题 +- uni-file-picker 优化 文件上传后进度条消失时机 +- uni-file-picker 修复 在uni-forms 中,删除文件 ,获取的值不对的Bug +- uni-forms 修复 pattern 属性在微信小程序平台无效的问题 +## 1.3.4(2021-06-25) +- uni-badge 优化 示例项目 +- uni-countdown 修复 uni-countdown 重复赋值跳两秒的 bug +- uni-easyinput 修复 passwordIcon 属性拼写错误的 bug +- uni-forms 修复 validate-trigger属性为submit且err-show-type属性为toast时不能弹出的Bug +- uni-forms 修复 只写setRules方法而导致校验不生效的Bug +- uni-forms 修复 由上个办法引发的错误提示文字错位的Bug +- uni-forms 修复 不设置 label 属性 ,无法设置label插槽的问题 +- uni-forms 修复 不设置label属性,label-width属性不生效的bug +- uni-forms 修复 setRules 方法与rules属性冲突的问题 +- uni-link 新增 download 属性,H5平台下载文件名 +- uni-popup 新增 mask-click 遮罩层点击事件 +- uni-popup 修复 nvue 平台中间弹出后,点击内容,再点击遮罩无法关闭的Bug +- uni-tag 修复 uni-tag 在字节跳动小程序上 css 类名编译错误的 bug +## 1.3.3(2021-06-18) +- uni-easyinput 新增 passwordIcon 属性,当type=password时是否显示小眼睛图标 +- uni-easyinput 修复 confirmType 属性不生效的问题 +- uni-easyinput 修复 disabled 状态可清出内容的 bug +- uni-file-picker 修复 删除文件时无法触发 v-model 的Bug +- uni-popup 修复 H5平台中间弹出后,点击内容,再点击遮罩无法关闭的Bug +- uni-popup 修复 错误的 watch 字段 +- uni-popup 修复 safeArea 属性不生效的问题 +- uni-popup 修复 点击内容,再点击遮罩无法关闭的Bug +## 1.3.2(2021-06-04) +- uni-data-checkbox 新增 map 属性,可以方便映射text/value属性 +- uni-data-checkbox 修复 不关联服务空间的情况下组件报错的Bug +- uni-data-picker 修复 上个版本引出的本地数据无法选择带有children的2级节点 +- uni-forms 修复 动态删减数据导致报错的问题 +- uni-forms 新增 modelValue 属性 ,value 即将废弃 +- uni-forms 新增 uni-forms-item 可以设置单独的 rules +- uni-forms 新增 validate 事件增加 keepitem 参数,可以选择那些字段不过滤 +- uni-forms 优化 submit 事件重命名为 validate +- uni-data-picker 修复 无法加载云端数据的问题 +- uni-data-picker 修复 v-model无效问题 +- uni-data-picker 修复 loaddata 为空数据组时加载时间过长问题 +- uni-datetime-picker 修复 图标在小程序上不显示的 bug +- uni-datetime-picker 优化 重命名引用组件,避免潜在组件命名冲突 +- uni-datetime-picker 优化 代码目录扁平化 +- uni-tag 修复 未定义 sass 变量 "$uni-color-royal" 的bug +## 1.3.1(2021-05-14) +- uni-badge 新增 uni-badge 的 absolute 属性,支持定位 +- uni-badge 新增 uni-badge 的 offset 属性,支持定位偏移 +- uni-badge 新增 uni-badge 的 is-dot 属性,支持仅显示有一个小点 +- uni-badge 新增 uni-badge 的 max-num 属性,支持自定义封顶的数字值,超过 99 显示99+ +- uni-badge 优化 uni-badge 属性 custom-style, 支持以对象形式自定义样式 +- uni-badge 修复 uni-badge 在 App 端,数字小于10时不是圆形的bug +- uni-badge 修复 uni-badge 在父元素不是 flex 布局时,宽度缩小的bug +- uni-badge 新增 uni-badge 属性 custom-style, 支持自定义样式 +- uni-datetime-picker 修复 ios 下不识别 '-' 日期格式的 bug +- uni-datetime-picker 优化 pc 下弹出层添加边框和阴影 +- uni-datetime-picker 修复 在 admin 中获取弹出层定位错误的bug +- uni-datetime-picker 修复 type 属性向下兼容,默认值从 date 变更为 datetime +- uni-datetime-picker 支持日历形式的日期+时间的范围选择 +- uni-steps 修复 uni-steps 横向布局时,多行文字高度不合理的 bug +- uni-countdown 修复 uni-countdown 不能控制倒计时的 bug +- uni-tag 修复 royal 类型无效的bug +- uni-tag 修复 uni-tag 宽度不自适应的bug +- uni-tag 新增 uni-tag 支持属性 custom-style 自定义样式 +- uni-link 新增 href 属性支持 tel:|mailto: +- uni-popup 修复 组件内放置 input 、textarea 组件,无法聚焦的问题 +- uni-popup 新增 type 属性的 left\right 值,支持左右弹出 +- uni-popup 新增 open(String:type) 方法参数 ,可以省略 type 属性 ,直接传入类型打开指定弹窗 +- uni-popup 新增 backgroundColor 属性,可定义主窗口背景色,默认不显示背景色 +- uni-popup 新增 safeArea 属性,是否适配底部安全区 +- uni-popup 修复 App\h5\微信小程序底部安全区占位不对的Bug +- uni-popup 修复 App 端弹出等待的Bug +- uni-popup 优化 提升低配设备性能,优化动画卡顿问题 +- uni-popup 优化 更简单的组件自定义方式 +- uni-table 修复 示例项目缺少组件的Bug +- uni-forms 修复 自定义检验器失效的问题 +- uni-title 修复 示例项目缺少组件的Bug +- uni-transition 修复 示例项目缺少组件的Bug +- uni-swiper-dot 修复 示例项目缺少组件的Bug +- uni-ui 新增 组件示例地址 +## 1.3.0(2021-04-23) +- uni-combox 优化 添加依赖 uni-icons, 导入后自动下载依赖 +- uni-data-picker 修复 非树形数据有 where 属性查询报错的问题 +- uni-fav 优化 添加依赖 uni-icons, 导入后自动下载依赖 +- uni-goods-nav 优化 添加依赖 uni-icons, 导入后自动下载依赖 +- uni-nav-bar 优化 添加依赖 uni-icons, 导入后自动下载依赖 +- uni-notice-bar 优化 添加依赖 uni-icons, 导入后自动下载依赖 +- uni-number-box 修复 uni-number-box 浮点数运算不精确的 bug +- uni-number-box 修复 uni-number-box change 事件触发不正确的 bug +- uni-number-box 新增 uni-number-box v-model 双向绑定 +- uni-rate 修复 布局变化后 uni-rate 星星计算不准确的 bug +- uni-rate 优化 添加依赖 uni-icons, 导入 uni-rate 自动下载依赖 +- uni-search-bar 优化 添加依赖 uni-icons, 导入后自动下载依赖 +- uni-steps 优化 添加依赖 uni-icons, 导入后自动下载依赖 +- uni-transition 新增 通过方法自定义动画 +- uni-transition 新增 custom-class 非 NVUE 平台支持自定义 class 定制样式 +- uni-transition 优化 动画触发逻辑,使动画更流畅 +- uni-transition 优化 支持单独的动画类型 +- uni-transition 优化 文档示例 +## 1.2.13(2021-04-16) +- uni-ui 新增 uni-data-picker 支持云端非树形表结构数据 +- uni-ui 修复 uni-data-checkbox nvue 下无法选中的问题 +- uni-ui 修复 uni-data-picker 根节点 parent_field 字段等于null时选择界面错乱问题 +- uni-ui 修复 uni-file-picker 选择的文件非 file-extname 字段指定的扩展名报错的Bug +- uni-ui 修复 uni-swipe-action 报错 nv_navigator is not defined 的bug +- uni-ui 修复 uni-load-more 在首页使用时,h5 平台报 'uni is not defined' 的 bug +- uni-ui 优化 uni-file-picker file-extname 字段支持字符串写法,多个扩展名需要用逗号分隔 +- uni-ui 优化 uni-pagination PC 和 移动端适配不同的 ui +- uni-ui 更新 uni-file-picker 组件示例 +- uni-ui 修复 uni-nav-bar 当 fixed 属性为 true 时铺不满屏幕的 bug +- uni-ui 新增 uni-search-bar 的 focus 事件 +- uni-ui 修复 uni-rate 属性 margin 值为 string 组件失效的 bug +- uni-data-picker 修复 本地数据概率无法回显时问题 +- uni-table 新增 sortable 属性,是否开启单列排序 +- uni-table 优化 表格多选逻辑 +## 1.2.12(2021-03-23) +- uni-ui 新增 uni-datetime-picker 的 hide-second 属性、border 属性; +- uni-ui 修复 uni-datetime-picker 选择跟显示的日期不一样的 bug, +- uni-ui 修复 uni-datetime-picker change事件触发2次的 bug +- uni-ui 修复 uni-datetime-picker 分、秒 end 范围错误的 bug +- uni-ui 新增 uni-tr selectable 属性,用于 type=selection 时,设置某行是否可由全选按钮控制 +- uni-ui 新增 uni-data-checkbox 新增 disabled属性,支持nvue +- uni-ui 优化 uni-data-checkbox 无选项时提示“暂无数据” +- uni-ui 优化 uni-data-checkbox 默认颜色显示 +- uni-ui 新增 uni-link href 属性支持 tel:|mailto: +- uni-ui 新增 uni-table 示例demo +- uni-ui 修复 uni-data-picker 微信小程序某些情况下无法选择的问题,事件无法触发的问题 +- uni-ui 修复 uni-nav-bar easycom 下,找不到 uni-status-bar 的bug +- uni-ui 修复 uni-easyinput 示例在 qq 小程序上的bug +- uni-ui 修复 uni-forms 动态显示uni-forms-item的情况下,submit 方法获取值错误的Bug +- uni-ui 调整 cli 项目 建议使用 easycom 方式引用组件,如使用按需引用,需手动维护组件内部引用 + +## 1.2.11(2021-02-24) +- 调整为uni_modules目录规范 +- uni-data-picker 新增 数据驱动的picker选择器 +- uni-file-picker 新增 文件选择上传 +- uni-row 新增 栅格系统 +- uni-data-checkbox 优化 支持 nvue +- uni-forms 修复 偶发性获取表单值错误的Bug +- uni-forms 修复 校验 uni-data-picker value 为 0 时,返回值错误的Bug +- uni-forms 修复 uni-forms-item 组件隐藏时依然触发校验的bug +- uni-forms 优化 实时校验 +- uni-forms 优化 兼容nvue页面 +- uni-easyinput 优化 兼容nvue页面 +- uni-group 优化 兼容nvue页面 +- uni-popup 优化 组件适配 PC +- uni-fab 优化 适配 PC +- uni-swiper-dot 优化 适配 PC +- uni-rate 优化 适配 PC +- uni-notice-bar 优化 适配 PC +- uni-indexed-list 优化 适配 PC +- uni-combox 优化 适配 PC +- uni-transition 优化 适配 PC +- uni-nav-bar 优化 适配 PC +- uni-swipe-action 优化 适配 PC diff --git a/wuye-manager-uniapp/uni_modules/uni-ui/components/uni-ui/uni-ui.vue b/wuye-manager-uniapp/uni_modules/uni-ui/components/uni-ui/uni-ui.vue new file mode 100644 index 0000000..0970892 --- /dev/null +++ b/wuye-manager-uniapp/uni_modules/uni-ui/components/uni-ui/uni-ui.vue @@ -0,0 +1,7 @@ + + + diff --git a/wuye-manager-uniapp/uni_modules/uni-ui/package.json b/wuye-manager-uniapp/uni_modules/uni-ui/package.json new file mode 100644 index 0000000..a735f18 --- /dev/null +++ b/wuye-manager-uniapp/uni_modules/uni-ui/package.json @@ -0,0 +1,149 @@ +{ + "id": "uni-ui", + "displayName": "uni-ui", + "version": "1.5.12", + "description": "uni-ui 是基于uni-app的、全端兼容的、高性能UI框架", + "keywords": [ + "uni-ui", + "uniui", + "UI组件库", + "ui框架", + "ui库" +], + "repository": "https://github.com/dcloudio/uni-ui", + "engines": { + "HBuilderX": "^3.2.10", + "uni-app": "^4.07", + "uni-app-x": "" + }, + "directories": { + "example": "../../temps/example_temps" + }, + "dcloudext": { + "sale": { + "regular": { + "price": "0.00" + }, + "sourcecode": { + "price": "0.00" + } + }, + "contact": { + "qq": "" + }, + "declaration": { + "ads": "无", + "data": "无", + "permissions": "无" + }, + "npmurl": "https://www.npmjs.com/package/@dcloudio/uni-ui", + "type": "component-vue", + "darkmode": "x", + "i18n": "x", + "widescreen": "x" + }, + "uni_modules": { + "dependencies": [ + "uni-badge", + "uni-calendar", + "uni-card", + "uni-collapse", + "uni-combox", + "uni-countdown", + "uni-data-checkbox", + "uni-data-picker", + "uni-data-select", + "uni-dateformat", + "uni-datetime-picker", + "uni-drawer", + "uni-easyinput", + "uni-fab", + "uni-fav", + "uni-file-picker", + "uni-forms", + "uni-goods-nav", + "uni-grid", + "uni-group", + "uni-icons", + "uni-indexed-list", + "uni-link", + "uni-list", + "uni-load-more", + "uni-nav-bar", + "uni-notice-bar", + "uni-number-box", + "uni-pagination", + "uni-popup", + "uni-rate", + "uni-row", + "uni-search-bar", + "uni-section", + "uni-segmented-control", + "uni-steps", + "uni-swipe-action", + "uni-swiper-dot", + "uni-table", + "uni-tag", + "uni-title", + "uni-tooltip", + "uni-transition" + ], + "encrypt": [], + "platforms": { + "cloud": { + "tcb": "x", + "aliyun": "x", + "alipay": "x" + }, + "client": { + "uni-app": { + "vue": { + "vue2": "√", + "vue3": "√" + }, + "web": { + "safari": "√", + "chrome": "√" + }, + "app": { + "vue": "√", + "nvue": "√", + "android": "√", + "ios": "√", + "harmony": "√" + }, + "mp": { + "weixin": "√", + "alipay": "√", + "toutiao": "√", + "baidu": "√", + "kuaishou": "√", + "jd": "-", + "harmony": "√", + "qq": "√", + "lark": "-", + "xhs": "-" + }, + "quickapp": { + "huawei": "-", + "union": "-" + } + }, + "uni-app-x": { + "web": { + "safari": "-", + "chrome": "-" + }, + "app": { + "android": "-", + "ios": "-", + "harmony": "-" + }, + "mp": { + "weixin": "-" + } + } + } + } + } +} \ No newline at end of file diff --git a/wuye-manager-uniapp/uni_modules/uni-ui/readme.md b/wuye-manager-uniapp/uni_modules/uni-ui/readme.md new file mode 100644 index 0000000..23f8456 --- /dev/null +++ b/wuye-manager-uniapp/uni_modules/uni-ui/readme.md @@ -0,0 +1,247 @@ +> 当前插件不包含示例页面 ,如需示例请在 HBuiderX 中新建 `hello uni-app > 扩展组件` 中查看 +> +> 代码示例地址 :[https://ext.dcloud.net.cn/plugin?id=4941](https://ext.dcloud.net.cn/plugin?id=4941) +> +> 组件演示地址:[https://hellouniapp.dcloud.net.cn](https://hellouniapp.dcloud.net.cn/pages/extUI/badge/badge) +> +> 组件文档地址:[https://uniapp.dcloud.io/component/uniui/uni-ui](https://uniapp.dcloud.io/component/uniui/uni-ui) + +# uni-ui 介绍 + +## uni-ui产品特点 + +### 1. 高性能 + +目前为止,在小程序和混合app领域,暂时还没有比 `uni-ui` 更高性能的框架。 +- 自动差量更新数据 + +虽然uni-app支持小程序自定义组件,所有小程序的ui库都可以用。但小程序自定义组件的ui库都需要使用setData手动更新数据,在大数据量时、或高频更新数据时,很容易产生性能问题。 + +而 `uni-ui` 属于vue组件,uni-app引擎底层自动diff更新数据。当然其实插件市场里众多vue组件都具备这个特点。 +- 优化逻辑层和视图层通讯折损 + +非H5,不管是小程序还是App,不管是app的webview渲染还是原生渲染,全都是逻辑层和视图层分离的。这里就有一个逻辑层和视图层通讯的折损问题。 +比如在视图层拖动一个可跟手的组件,由于通讯的损耗,用js监听很难做到实时跟手。 + +这时就需要使用css动画以及平台底层提供的wxs、bindingx等技术。不过这些技术都比较复杂,所以 `uni-ui` 里做了封装,在需要跟手式操作的ui组件,比如swiperaction列表项左滑菜单,就在底层使用了这些技术,实现了高性能的交互体验 +- 背景停止 + +很多ui组件是会一直动的,比如轮播图、跑马灯。即便这个窗体被新窗体挡住,它在背景层仍然在消耗着硬件资源。在Android的webview版本为chrome66以上,背景操作ui会引发很严重的性能问题,造成前台界面明显卡顿。 + +而 `uni-ui` 的组件,会自动判断自己的显示状态,在组件不再可见时,不会再消耗硬件资源。 + +### 2. 全端 + + `uni-ui` 的组件都是多端自适应的,底层会抹平很多小程序平台的差异或bug。 + +比如导航栏navbar组件,会自动处理不同端的状态栏。 +比如swiperaction组件,在app和微信小程序上会使用交互体验更好的wxs技术,但在不支持wxs的其他小程序端会使用js模拟类似效果。 + + `uni-ui` 还支持nvue原生渲染,[详见](https://github.com/dcloudio/uni-ui/tree/nvue-uni-ui) + +未来 `uni-ui` 还会支持pc等大屏设备。 + +### 3. 与uni统计自动集成实现免打点 + +uni统计是优秀的多端统计平台,见[tongji.dcloud.net.cn](https://tongji.dcloud.net.cn)。 + +除了一张报表看全端,它的另一个重要特点是免打点。 +比如使用 `uni-ui` 的navbar标题栏、收藏、购物车等组件,均可实现自动打点,统计页面标题等各种行为数据。 +当然你也可以关闭uni统计,这不是强制的。 + +### 4. 主题扩展 + + `uni-ui` 支持[uni.scss](https://uniapp.dcloud.io/collocation/uni-scss),可以方便的切换App的风格。 + +ui是一种需求非常发散的产品,DCloud官方也无意用 `uni-ui` 压制第三方ui插件的空间,但官方有义务在性能和多端方面提供一个开源的标杆给大家。 + +我们欢迎更多优秀的ui组件出现,也欢迎更多人贡献 `uni-ui` 的主题风格,满足更多用户的需求。 + + +## 快速开始 + +uni-ui支持 HBuilderX直接新建项目模板、npm安装和单独导入个别组件等多种使用方式 + +### 在HBuilderX 新建uni-app项目的模板中,选择uni-ui模板 +![HBuilderX内创建uni-ui项目](https://img.cdn.aliyun.dcloud.net.cn/uni-app/doc/create-uni-ui-project.jpg) + +由于uni-app独特的[easycom](https://uniapp.dcloud.io/collocation/pages?id=easycom)技术,可以免引用、注册,直接使用各种符合规则的vue组件。 + +在代码区键入`u`,拉出各种内置或uni-ui的组件列表,选择其中一个,即可使用该组件。 + +光标放在组件名称上,按F1,可以查阅组件的文档。 + +![uni-ui代码块](https://img.cdn.aliyun.dcloud.net.cn/uni-app/doc/uni-ui-snippet.jpg) + +### 通过 uni_modules 单独安装组件 +如果你没有创建uni-ui项目模板,也可以在你的工程里,通过 uni_modules 单独安装需要的某个组件。下表为uni-ui的扩展组件清单,点击每个组件在详情页面可以导入组件到项目下,导入后直接使用即可,无需import和注册。 + +|组件名|组件说明| +|---|---| +|uni-badge|[数字角标](https://ext.dcloud.net.cn/plugin?name=uni-badge)| +|uni-calendar|[日历](https://ext.dcloud.net.cn/plugin?name=uni-calendar)| +|uni-card|[卡片](https://ext.dcloud.net.cn/plugin?name=uni-card)| +|uni-collapse|[折叠面板](https://ext.dcloud.net.cn/plugin?name=uni-collapse)| +|uni-combox|[组合框](https://ext.dcloud.net.cn/plugin?name=uni-combox)| +|uni-countdown|[倒计时](https://ext.dcloud.net.cn/plugin?name=uni-countdown)| +|uni-data-checkbox|[数据选择器](https://ext.dcloud.net.cn/plugin?name=uni-data-checkbox)| +|uni-data-picker|[数据驱动的picker选择器](https://ext.dcloud.net.cn/plugin?name=uni-data-picker)| +|uni-dateformat|[日期格式化](https://ext.dcloud.net.cn/plugin?name=uni-dateformat)| +|uni-datetime-picker|[日期选择器](https://ext.dcloud.net.cn/plugin?name=uni-datetime-picker)| +|uni-drawer|[抽屉](https://ext.dcloud.net.cn/plugin?name=uni-drawer)| +|uni-easyinput|[增强输入框](https://ext.dcloud.net.cn/plugin?name=uni-easyinput)| +|uni-fab|[悬浮按钮](https://ext.dcloud.net.cn/plugin?name=uni-fab)| +|uni-fav|[收藏按钮](https://ext.dcloud.net.cn/plugin?name=uni-fav)| +|uni-file-picker|[文件选择上传](https://ext.dcloud.net.cn/plugin?name=uni-file-picker)| +|uni-forms|[表单](https://ext.dcloud.net.cn/plugin?name=uni-forms)| +|uni-goods-nav|[商品导航](https://ext.dcloud.net.cn/plugin?name=uni-goods-nav)| +|uni-grid|[宫格](https://ext.dcloud.net.cn/plugin?name=uni-grid)| +|uni-group|[分组](https://ext.dcloud.net.cn/plugin?name=uni-group)| +|uni-icons|[图标](https://ext.dcloud.net.cn/plugin?name=uni-icons)| +|uni-indexed-list|[索引列表](https://ext.dcloud.net.cn/plugin?name=uni-indexed-list)| +|uni-link|[超链接](https://ext.dcloud.net.cn/plugin?name=uni-link)| +|uni-list|[列表](https://ext.dcloud.net.cn/plugin?name=uni-list)| +|uni-load-more|[加载更多](https://ext.dcloud.net.cn/plugin?name=uni-load-more)| +|uni-nav-bar|[自定义导航栏](https://ext.dcloud.net.cn/plugin?name=uni-nav-bar)| +|uni-notice-bar|[通告栏](https://ext.dcloud.net.cn/plugin?name=uni-notice-bar)| +|uni-number-box|[数字输入框](https://ext.dcloud.net.cn/plugin?name=uni-number-box)| +|uni-pagination|[分页器](https://ext.dcloud.net.cn/plugin?name=uni-pagination)| +|uni-popup|[弹出层](https://ext.dcloud.net.cn/plugin?name=uni-popup)| +|uni-rate|[评分](https://ext.dcloud.net.cn/plugin?name=uni-rate)| +|uni-row|[布局-行](https://ext.dcloud.net.cn/plugin?name=uni-row)| +|uni-search-bar|[搜索栏](https://ext.dcloud.net.cn/plugin?name=uni-search-bar)| +|uni-segmented-control|[分段器](https://ext.dcloud.net.cn/plugin?name=uni-segmented-control)| +|uni-steps|[步骤条](https://ext.dcloud.net.cn/plugin?name=uni-steps)| +|uni-swipe-action|[滑动操作](https://ext.dcloud.net.cn/plugin?name=uni-swipe-action)| +|uni-swiper-dot|[轮播图指示点](https://ext.dcloud.net.cn/plugin?name=uni-swiper-dot)| +|uni-table|[表格](https://ext.dcloud.net.cn/plugin?name=uni-table)| +|uni-tag|[标签](https://ext.dcloud.net.cn/plugin?name=uni-tag)| +|uni-title|[章节标题](https://ext.dcloud.net.cn/plugin?name=uni-title)| +|uni-transition|[过渡动画](https://ext.dcloud.net.cn/plugin?name=uni-transition)| + + +使用 `uni_modules` 方式安装组件库,可以直接通过插件市场导入,通过右键菜单快速更新组件,不需要引用、注册,直接在页面中使用 `uni-ui` 组件。[点击安装 uni-ui 组件库](https://ext.dcloud.net.cn/plugin?id=55) + +**注意:下载最新的组件目前仅支持 uni_modules ,非 uni_modules 版本最高支持到组件的1.2.10版本** + +如不能升级到 `uni_modules` 版本,可以使用 `uni_modules` 安装好对应组件,将组件拷贝到对应目录。 + +例如需更新 `uni-list`和`uni-badge` ,将 `uni_modules>uni-list>components`和`uni_modules>uni-badege>components`下所有目录拷贝到如下目录即可: + + +**目录示例** + +```json +┌─components 组件目录 +│ ├─uni-list list 列表目录 +│ │ └─uni-list.vue list 组件文件 +│ ├─uni-list-item list-item 列表目录 +│ │ └─uni-list-item.vue list 组件文件 +│ ├─uni-badge badge 角标目录 +│ │ └─uni-badge.vue badge 组件文件 +│ └─ //.... 更多组件文件 +├─pages 业务页面文件存放的目录 +│ ├─index +│ │ └─index.vue index示例页面 +├─main.js Vue初始化入口文件 +├─App.vue 应用配置,用来配置App全局样式以及监听 应用生命周期 +├─manifest.json 配置应用名称、appid、logo、版本等打包信息,详见 +└─pages.json 配置页 + +``` + +### 通过 `uni_modules` 导入全部组件 +如果想一次把所有uni-ui组件导入到项目中,只需要导入一个 `uni-ui` 组件即可 [点击去导入](https://ext.dcloud.net.cn/plugin?id=55)。 + +如果没有自动导入其他组件,可以在 uni-ui 组件目录上右键选择 `安装三方插件依赖` 即可。 + + + +### npm安装 +在 `vue-cli` 项目中可以使用 `npm` 安装 `uni-ui` 库 ,或者直接在 `HBuilderX` 项目中使用 `npm` 。 + +> **注意** +> cli 项目默认是不编译 `node_modules` 下的组件的,导致条件编译等功能失效 ,导致组件异常 +> 需要在根目录创建 `vue.config.js` 文件 ,增加 `@dcloudio/uni-ui` 包的编译即可正常 +> ```javascript +> // vue.config.js +> module.exports = { +> transpileDependencies:['@dcloudio/uni-ui'] +> } +> ``` + + + +**准备 sass** + +`vue-cli` 项目请先安装 sass 及 sass-loader,如在 HBuliderX 中使用,可跳过此步。 + +- 安装 sass +``` + npm i sass -D 或 yarn add sass -D +``` + +- 安装 sass-loader +``` +npm i sass-loader@10.1.1 -D 或 yarn add sass-loader@10.1.1 -D +``` + +> 如果 `node` 版本小于 16 ,sass-loader 请使用低于 @11.0.0 的版本,[sass-loader@11.0.0 不支持 vue@2.6.12 ](https://stackoverflow.com/questions/66082397/typeerror-this-getoptions-is-not-a-function) +> 如果 `node` 版本大于 16 , `sass-loader` 建议使用 `v8.x` 版本 + +**安装 uni-ui** + +``` +npm i @dcloudio/uni-ui 或 yarn add @dcloudio/uni-ui +``` + + + +**配置easycom** + +使用 `npm` 安装好 `uni-ui` 之后,需要配置 `easycom` 规则,让 `npm` 安装的组件支持 `easycom` + +打开项目根目录下的 `pages.json` 并添加 `easycom` 节点: + +```javascript +// pages.json +{ + "easycom": { + "autoscan": true, + "custom": { + // uni-ui 规则如下配置 + "^uni-(.*)": "@dcloudio/uni-ui/lib/uni-$1/uni-$1.vue" + } + }, + + // 其他内容 + pages:[ + // ... + ] +} + +``` + +在 ``template`` 中使用组件: + +```html + + + +``` + + **注意** + - uni-ui 现在只推荐使用 `easycom` ,如自己引用组件,可能会出现组件找不到的问题 + - 使用 npm 安装的组件,默认情况下 babel-loader 会忽略所有 node_modules 中的文件 ,导致条件编译失效,需要通过配置 `vue.config.js` 解决: + ```javascript + // 在根目录创建 vue.config.js 文件,并配置如下 + module.exports = { + transpileDependencies: ['@dcloudio/uni-ui'] + } + ``` + - uni-ui 是uni-app内置组件的扩展。注意与web开发不同,uni-ui不包括基础组件,它是基础组件的补充。web开发中有的开发者习惯用一个ui库完成所有开发,但在uni-app体系中,推荐开发者首先使用性能更高的基础组件,然后按需引入必要的扩展组件。 + - `uni-ui` 不支持使用 `Vue.use()` 的方式安装 + + +### 贡献代码 +在使用 `uni-ui` 中,如遇到无法解决的问题,请提 [Issues](https://github.com/dcloudio/uni-ui/issues) 给我们,假如您有更好的点子或更好的实现方式,也欢迎给我们提交 [PR](https://github.com/dcloudio/uni-ui/pulls) \ No newline at end of file

Ltcw!}T2?{L_)Gnq(bmeT( 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 N002ovPDHLkV1mg2F~$G@ literal 0 HcmV?d00001 diff --git a/wuye-manager-uniapp/static/投诉处理.png b/wuye-manager-uniapp/static/投诉处理.png new file mode 100644 index 0000000000000000000000000000000000000000..62e06f0641690d77ff028f99b8b5139e6ef8260f GIT binary patch literal 31355 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 O0000#`_QDKN(doU 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 a>HiPb#EcBR=r6GV0000 { + res.then((res) => { + if (!res) return resolve(res) + return res[0] ? reject(res[0]) : resolve(res[1]) + }); + }); + }, +}); \ No newline at end of file diff --git a/wuye-manager-uniapp/uni.scss b/wuye-manager-uniapp/uni.scss new file mode 100644 index 0000000..b9249e9 --- /dev/null +++ b/wuye-manager-uniapp/uni.scss @@ -0,0 +1,76 @@ +/** + * 这里是uni-app内置的常用样式变量 + * + * uni-app 官方扩展插件及插件市场(https://ext.dcloud.net.cn)上很多三方插件均使用了这些样式变量 + * 如果你是插件开发者,建议你使用scss预处理,并在插件代码中直接使用这些变量(无需 import 这个文件),方便用户通过搭积木的方式开发整体风格一致的App + * + */ + +/** + * 如果你是App开发者(插件使用者),你可以通过修改这些变量来定制自己的插件主题,实现自定义主题功能 + * + * 如果你的项目同样使用了scss预处理,你也可以直接在你的 scss 代码中使用如下变量,同时无需 import 这个文件 + */ + +/* 颜色变量 */ + +/* 行为相关颜色 */ +$uni-color-primary: #007aff; +$uni-color-success: #4cd964; +$uni-color-warning: #f0ad4e; +$uni-color-error: #dd524d; + +/* 文字基本颜色 */ +$uni-text-color:#333;//基本色 +$uni-text-color-inverse:#fff;//反色 +$uni-text-color-grey:#999;//辅助灰色,如加载更多的提示信息 +$uni-text-color-placeholder: #808080; +$uni-text-color-disable:#c0c0c0; + +/* 背景颜色 */ +$uni-bg-color:#ffffff; +$uni-bg-color-grey:#f8f8f8; +$uni-bg-color-hover:#f1f1f1;//点击状态颜色 +$uni-bg-color-mask:rgba(0, 0, 0, 0.4);//遮罩颜色 + +/* 边框颜色 */ +$uni-border-color:#c8c7cc; + +/* 尺寸变量 */ + +/* 文字尺寸 */ +$uni-font-size-sm:12px; +$uni-font-size-base:14px; +$uni-font-size-lg:16px; + +/* 图片尺寸 */ +$uni-img-size-sm:20px; +$uni-img-size-base:26px; +$uni-img-size-lg:40px; + +/* Border Radius */ +$uni-border-radius-sm: 2px; +$uni-border-radius-base: 3px; +$uni-border-radius-lg: 6px; +$uni-border-radius-circle: 50%; + +/* 水平间距 */ +$uni-spacing-row-sm: 5px; +$uni-spacing-row-base: 10px; +$uni-spacing-row-lg: 15px; + +/* 垂直间距 */ +$uni-spacing-col-sm: 4px; +$uni-spacing-col-base: 8px; +$uni-spacing-col-lg: 12px; + +/* 透明度 */ +$uni-opacity-disabled: 0.3; // 组件禁用态的透明度 + +/* 文章场景相关 */ +$uni-color-title: #2C405A; // 文章标题颜色 +$uni-font-size-title:20px; +$uni-color-subtitle: #555555; // 二级标题颜色 +$uni-font-size-subtitle:26px; +$uni-color-paragraph: #3F536E; // 文章段落颜色 +$uni-font-size-paragraph:15px; diff --git a/wuye-manager-uniapp/uni_modules/uni-badge/changelog.md b/wuye-manager-uniapp/uni_modules/uni-badge/changelog.md new file mode 100644 index 0000000..e352c60 --- /dev/null +++ b/wuye-manager-uniapp/uni_modules/uni-badge/changelog.md @@ -0,0 +1,33 @@ +## 1.2.2(2023-01-28) +- 修复 运行/打包 控制台警告问题 +## 1.2.1(2022-09-05) +- 修复 当 text 超过 max-num 时,badge 的宽度计算是根据 text 的长度计算,更改为 css 计算实际展示宽度,详见:[https://ask.dcloud.net.cn/question/150473](https://ask.dcloud.net.cn/question/150473) +## 1.2.0(2021-11-19) +- 优化 组件UI,并提供设计资源,详见:[https://uniapp.dcloud.io/component/uniui/resource](https://uniapp.dcloud.io/component/uniui/resource) +- 文档迁移,详见:[https://uniapp.dcloud.io/component/uniui/uni-badge](https://uniapp.dcloud.io/component/uniui/uni-badge) +## 1.1.7(2021-11-08) +- 优化 升级ui +- 修改 size 属性默认值调整为 small +- 修改 type 属性,默认值调整为 error,info 替换 default +## 1.1.6(2021-09-22) +- 修复 在字节小程序上样式不生效的 bug +## 1.1.5(2021-07-30) +- 组件兼容 vue3,如何创建vue3项目,详见 [uni-app 项目支持 vue3 介绍](https://ask.dcloud.net.cn/article/37834) +## 1.1.4(2021-07-29) +- 修复 去掉 nvue 不支持css 的 align-self 属性,nvue 下不暂支持 absolute 属性 +## 1.1.3(2021-06-24) +- 优化 示例项目 +## 1.1.1(2021-05-12) +- 新增 组件示例地址 +## 1.1.0(2021-05-12) +- 新增 uni-badge 的 absolute 属性,支持定位 +- 新增 uni-badge 的 offset 属性,支持定位偏移 +- 新增 uni-badge 的 is-dot 属性,支持仅显示有一个小点 +- 新增 uni-badge 的 max-num 属性,支持自定义封顶的数字值,超过 99 显示99+ +- 优化 uni-badge 属性 custom-style, 支持以对象形式自定义样式 +## 1.0.7(2021-05-07) +- 修复 uni-badge 在 App 端,数字小于10时不是圆形的bug +- 修复 uni-badge 在父元素不是 flex 布局时,宽度缩小的bug +- 新增 uni-badge 属性 custom-style, 支持自定义样式 +## 1.0.6(2021-02-04) +- 调整为uni_modules目录规范 diff --git a/wuye-manager-uniapp/uni_modules/uni-badge/components/uni-badge/uni-badge.vue b/wuye-manager-uniapp/uni_modules/uni-badge/components/uni-badge/uni-badge.vue new file mode 100644 index 0000000..956354b --- /dev/null +++ b/wuye-manager-uniapp/uni_modules/uni-badge/components/uni-badge/uni-badge.vue @@ -0,0 +1,268 @@ + + + + + diff --git a/wuye-manager-uniapp/uni_modules/uni-badge/package.json b/wuye-manager-uniapp/uni_modules/uni-badge/package.json new file mode 100644 index 0000000..b0bac93 --- /dev/null +++ b/wuye-manager-uniapp/uni_modules/uni-badge/package.json @@ -0,0 +1,85 @@ +{ + "id": "uni-badge", + "displayName": "uni-badge 数字角标", + "version": "1.2.2", + "description": "数字角标(徽章)组件,在元素周围展示消息提醒,一般用于列表、九宫格、按钮等地方。", + "keywords": [ + "", + "badge", + "uni-ui", + "uniui", + "数字角标", + "徽章" +], + "repository": "https://github.com/dcloudio/uni-ui", + "engines": { + "HBuilderX": "" + }, + "directories": { + "example": "../../temps/example_temps" + }, +"dcloudext": { + "sale": { + "regular": { + "price": "0.00" + }, + "sourcecode": { + "price": "0.00" + } + }, + "contact": { + "qq": "" + }, + "declaration": { + "ads": "无", + "data": "无", + "permissions": "无" + }, + "npmurl": "https://www.npmjs.com/package/@dcloudio/uni-ui", + "type": "component-vue" + }, + "uni_modules": { + "dependencies": ["uni-scss"], + "encrypt": [], + "platforms": { + "cloud": { + "tcb": "y", + "aliyun": "y" + }, + "client": { + "App": { + "app-vue": "y", + "app-nvue": "y" + }, + "H5-mobile": { + "Safari": "y", + "Android Browser": "y", + "微信浏览器(Android)": "y", + "QQ浏览器(Android)": "y" + }, + "H5-pc": { + "Chrome": "y", + "IE": "y", + "Edge": "y", + "Firefox": "y", + "Safari": "y" + }, + "小程序": { + "微信": "y", + "阿里": "y", + "百度": "y", + "字节跳动": "y", + "QQ": "y" + }, + "快应用": { + "华为": "y", + "联盟": "y" + }, + "Vue": { + "vue2": "y", + "vue3": "y" + } + } + } + } +} \ No newline at end of file diff --git a/wuye-manager-uniapp/uni_modules/uni-badge/readme.md b/wuye-manager-uniapp/uni_modules/uni-badge/readme.md new file mode 100644 index 0000000..bdf175d --- /dev/null +++ b/wuye-manager-uniapp/uni_modules/uni-badge/readme.md @@ -0,0 +1,10 @@ +## Badge 数字角标 +> **组件名:uni-badge** +> 代码块: `uBadge` + +数字角标一般和其它控件(列表、9宫格等)配合使用,用于进行数量提示,默认为实心灰色背景, + +### [查看文档](https://uniapp.dcloud.io/component/uniui/uni-badge) +#### 如使用过程中有任何问题,或者您对uni-ui有一些好的建议,欢迎加入 uni-ui 交流群:871950839 + + diff --git a/wuye-manager-uniapp/uni_modules/uni-calendar/changelog.md b/wuye-manager-uniapp/uni_modules/uni-calendar/changelog.md new file mode 100644 index 0000000..30ca0df --- /dev/null +++ b/wuye-manager-uniapp/uni_modules/uni-calendar/changelog.md @@ -0,0 +1,30 @@ +## 1.4.12(2024-09-21) +- 修复 calendar在选择日期范围后重新选择日期需要点两次的Bug +## 1.4.11(2024-01-10) +- 修复 回到今天时,月份显示不一致问题 +## 1.4.10(2023-04-10) +- 修复 某些情况 monthSwitch 未触发的Bug +## 1.4.9(2023-02-02) +- 修复 某些情况切换月份错误的Bug +## 1.4.8(2023-01-30) +- 修复 某些情况切换月份错误的Bug [详情](https://ask.dcloud.net.cn/question/161964) +## 1.4.7(2022-09-16) +- 优化 支持使用 uni-scss 控制主题色 +## 1.4.6(2022-09-08) +- 修复 表头年月切换,导致改变当前日期为选择月1号,且未触发change事件的Bug +## 1.4.5(2022-02-25) +- 修复 条件编译 nvue 不支持的 css 样式的Bug +## 1.4.4(2022-02-25) +- 修复 条件编译 nvue 不支持的 css 样式的Bug +## 1.4.3(2021-09-22) +- 修复 startDate、 endDate 属性失效的Bug +## 1.4.2(2021-08-24) +- 新增 支持国际化 +## 1.4.1(2021-08-05) +- 修复 弹出层被 tabbar 遮盖的Bug +## 1.4.0(2021-07-30) +- 组件兼容 vue3,如何创建vue3项目,详见 [uni-app 项目支持 vue3 介绍](https://ask.dcloud.net.cn/article/37834) +## 1.3.16(2021-05-12) +- 新增 组件示例地址 +## 1.3.15(2021-02-04) +- 调整为uni_modules目录规范 diff --git a/wuye-manager-uniapp/uni_modules/uni-calendar/components/uni-calendar/calendar.js b/wuye-manager-uniapp/uni_modules/uni-calendar/components/uni-calendar/calendar.js new file mode 100644 index 0000000..55eed81 --- /dev/null +++ b/wuye-manager-uniapp/uni_modules/uni-calendar/components/uni-calendar/calendar.js @@ -0,0 +1,544 @@ +/** +* @1900-2100区间内的公历、农历互转 +* @charset UTF-8 +* @github https://github.com/jjonline/calendar.js +* @Author Jea杨(JJonline@JJonline.Cn) +* @Time 2014-7-21 +* @Time 2016-8-13 Fixed 2033hex、Attribution Annals +* @Time 2016-9-25 Fixed lunar LeapMonth Param Bug +* @Time 2017-7-24 Fixed use getTerm Func Param Error.use solar year,NOT lunar year +* @Version 1.0.3 +* @公历转农历:calendar.solar2lunar(1987,11,01); //[you can ignore params of prefix 0] +* @农历转公历:calendar.lunar2solar(1987,09,10); //[you can ignore params of prefix 0] +*/ +/* eslint-disable */ +var calendar = { + + /** + * 农历1900-2100的润大小信息表 + * @Array Of Property + * @return Hex + */ + lunarInfo: [0x04bd8, 0x04ae0, 0x0a570, 0x054d5, 0x0d260, 0x0d950, 0x16554, 0x056a0, 0x09ad0, 0x055d2, // 1900-1909 + 0x04ae0, 0x0a5b6, 0x0a4d0, 0x0d250, 0x1d255, 0x0b540, 0x0d6a0, 0x0ada2, 0x095b0, 0x14977, // 1910-1919 + 0x04970, 0x0a4b0, 0x0b4b5, 0x06a50, 0x06d40, 0x1ab54, 0x02b60, 0x09570, 0x052f2, 0x04970, // 1920-1929 + 0x06566, 0x0d4a0, 0x0ea50, 0x06e95, 0x05ad0, 0x02b60, 0x186e3, 0x092e0, 0x1c8d7, 0x0c950, // 1930-1939 + 0x0d4a0, 0x1d8a6, 0x0b550, 0x056a0, 0x1a5b4, 0x025d0, 0x092d0, 0x0d2b2, 0x0a950, 0x0b557, // 1940-1949 + 0x06ca0, 0x0b550, 0x15355, 0x04da0, 0x0a5b0, 0x14573, 0x052b0, 0x0a9a8, 0x0e950, 0x06aa0, // 1950-1959 + 0x0aea6, 0x0ab50, 0x04b60, 0x0aae4, 0x0a570, 0x05260, 0x0f263, 0x0d950, 0x05b57, 0x056a0, // 1960-1969 + 0x096d0, 0x04dd5, 0x04ad0, 0x0a4d0, 0x0d4d4, 0x0d250, 0x0d558, 0x0b540, 0x0b6a0, 0x195a6, // 1970-1979 + 0x095b0, 0x049b0, 0x0a974, 0x0a4b0, 0x0b27a, 0x06a50, 0x06d40, 0x0af46, 0x0ab60, 0x09570, // 1980-1989 + 0x04af5, 0x04970, 0x064b0, 0x074a3, 0x0ea50, 0x06b58, 0x05ac0, 0x0ab60, 0x096d5, 0x092e0, // 1990-1999 + 0x0c960, 0x0d954, 0x0d4a0, 0x0da50, 0x07552, 0x056a0, 0x0abb7, 0x025d0, 0x092d0, 0x0cab5, // 2000-2009 + 0x0a950, 0x0b4a0, 0x0baa4, 0x0ad50, 0x055d9, 0x04ba0, 0x0a5b0, 0x15176, 0x052b0, 0x0a930, // 2010-2019 + 0x07954, 0x06aa0, 0x0ad50, 0x05b52, 0x04b60, 0x0a6e6, 0x0a4e0, 0x0d260, 0x0ea65, 0x0d530, // 2020-2029 + 0x05aa0, 0x076a3, 0x096d0, 0x04afb, 0x04ad0, 0x0a4d0, 0x1d0b6, 0x0d250, 0x0d520, 0x0dd45, // 2030-2039 + 0x0b5a0, 0x056d0, 0x055b2, 0x049b0, 0x0a577, 0x0a4b0, 0x0aa50, 0x1b255, 0x06d20, 0x0ada0, // 2040-2049 + /** Add By JJonline@JJonline.Cn**/ + 0x14b63, 0x09370, 0x049f8, 0x04970, 0x064b0, 0x168a6, 0x0ea50, 0x06b20, 0x1a6c4, 0x0aae0, // 2050-2059 + 0x0a2e0, 0x0d2e3, 0x0c960, 0x0d557, 0x0d4a0, 0x0da50, 0x05d55, 0x056a0, 0x0a6d0, 0x055d4, // 2060-2069 + 0x052d0, 0x0a9b8, 0x0a950, 0x0b4a0, 0x0b6a6, 0x0ad50, 0x055a0, 0x0aba4, 0x0a5b0, 0x052b0, // 2070-2079 + 0x0b273, 0x06930, 0x07337, 0x06aa0, 0x0ad50, 0x14b55, 0x04b60, 0x0a570, 0x054e4, 0x0d160, // 2080-2089 + 0x0e968, 0x0d520, 0x0daa0, 0x16aa6, 0x056d0, 0x04ae0, 0x0a9d4, 0x0a2d0, 0x0d150, 0x0f252, // 2090-2099 + 0x0d520], // 2100 + + /** + * 公历每个月份的天数普通表 + * @Array Of Property + * @return Number + */ + solarMonth: [31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31], + + /** + * 天干地支之天干速查表 + * @Array Of Property trans["甲","乙","丙","丁","戊","己","庚","辛","壬","癸"] + * @return Cn string + */ + Gan: ['\u7532', '\u4e59', '\u4e19', '\u4e01', '\u620a', '\u5df1', '\u5e9a', '\u8f9b', '\u58ec', '\u7678'], + + /** + * 天干地支之地支速查表 + * @Array Of Property + * @trans["子","丑","寅","卯","辰","巳","午","未","申","酉","戌","亥"] + * @return Cn string + */ + Zhi: ['\u5b50', '\u4e11', '\u5bc5', '\u536f', '\u8fb0', '\u5df3', '\u5348', '\u672a', '\u7533', '\u9149', '\u620c', '\u4ea5'], + + /** + * 天干地支之地支速查表<=>生肖 + * @Array Of Property + * @trans["鼠","牛","虎","兔","龙","蛇","马","羊","猴","鸡","狗","猪"] + * @return Cn string + */ + Animals: ['\u9f20', '\u725b', '\u864e', '\u5154', '\u9f99', '\u86c7', '\u9a6c', '\u7f8a', '\u7334', '\u9e21', '\u72d7', '\u732a'], + + /** + * 24节气速查表 + * @Array Of Property + * @trans["小寒","大寒","立春","雨水","惊蛰","春分","清明","谷雨","立夏","小满","芒种","夏至","小暑","大暑","立秋","处暑","白露","秋分","寒露","霜降","立冬","小雪","大雪","冬至"] + * @return Cn string + */ + solarTerm: ['\u5c0f\u5bd2', '\u5927\u5bd2', '\u7acb\u6625', '\u96e8\u6c34', '\u60ca\u86f0', '\u6625\u5206', '\u6e05\u660e', '\u8c37\u96e8', '\u7acb\u590f', '\u5c0f\u6ee1', '\u8292\u79cd', '\u590f\u81f3', '\u5c0f\u6691', '\u5927\u6691', '\u7acb\u79cb', '\u5904\u6691', '\u767d\u9732', '\u79cb\u5206', '\u5bd2\u9732', '\u971c\u964d', '\u7acb\u51ac', '\u5c0f\u96ea', '\u5927\u96ea', '\u51ac\u81f3'], + + /** + * 1900-2100各年的24节气日期速查表 + * @Array Of Property + * @return 0x string For splice + */ + sTermInfo: ['9778397bd097c36b0b6fc9274c91aa', '97b6b97bd19801ec9210c965cc920e', '97bcf97c3598082c95f8c965cc920f', + '97bd0b06bdb0722c965ce1cfcc920f', 'b027097bd097c36b0b6fc9274c91aa', '97b6b97bd19801ec9210c965cc920e', + '97bcf97c359801ec95f8c965cc920f', '97bd0b06bdb0722c965ce1cfcc920f', 'b027097bd097c36b0b6fc9274c91aa', + '97b6b97bd19801ec9210c965cc920e', '97bcf97c359801ec95f8c965cc920f', '97bd0b06bdb0722c965ce1cfcc920f', + 'b027097bd097c36b0b6fc9274c91aa', '9778397bd19801ec9210c965cc920e', '97b6b97bd19801ec95f8c965cc920f', + '97bd09801d98082c95f8e1cfcc920f', '97bd097bd097c36b0b6fc9210c8dc2', '9778397bd197c36c9210c9274c91aa', + '97b6b97bd19801ec95f8c965cc920e', '97bd09801d98082c95f8e1cfcc920f', '97bd097bd097c36b0b6fc9210c8dc2', + '9778397bd097c36c9210c9274c91aa', '97b6b97bd19801ec95f8c965cc920e', '97bcf97c3598082c95f8e1cfcc920f', + '97bd097bd097c36b0b6fc9210c8dc2', '9778397bd097c36c9210c9274c91aa', '97b6b97bd19801ec9210c965cc920e', + '97bcf97c3598082c95f8c965cc920f', '97bd097bd097c35b0b6fc920fb0722', '9778397bd097c36b0b6fc9274c91aa', + '97b6b97bd19801ec9210c965cc920e', '97bcf97c3598082c95f8c965cc920f', '97bd097bd097c35b0b6fc920fb0722', + '9778397bd097c36b0b6fc9274c91aa', '97b6b97bd19801ec9210c965cc920e', '97bcf97c359801ec95f8c965cc920f', + '97bd097bd097c35b0b6fc920fb0722', '9778397bd097c36b0b6fc9274c91aa', '97b6b97bd19801ec9210c965cc920e', + '97bcf97c359801ec95f8c965cc920f', '97bd097bd097c35b0b6fc920fb0722', '9778397bd097c36b0b6fc9274c91aa', + '97b6b97bd19801ec9210c965cc920e', '97bcf97c359801ec95f8c965cc920f', '97bd097bd07f595b0b6fc920fb0722', + '9778397bd097c36b0b6fc9210c8dc2', '9778397bd19801ec9210c9274c920e', '97b6b97bd19801ec95f8c965cc920f', + '97bd07f5307f595b0b0bc920fb0722', '7f0e397bd097c36b0b6fc9210c8dc2', '9778397bd097c36c9210c9274c920e', + '97b6b97bd19801ec95f8c965cc920f', '97bd07f5307f595b0b0bc920fb0722', '7f0e397bd097c36b0b6fc9210c8dc2', + '9778397bd097c36c9210c9274c91aa', '97b6b97bd19801ec9210c965cc920e', '97bd07f1487f595b0b0bc920fb0722', + '7f0e397bd097c36b0b6fc9210c8dc2', '9778397bd097c36b0b6fc9274c91aa', '97b6b97bd19801ec9210c965cc920e', + '97bcf7f1487f595b0b0bb0b6fb0722', '7f0e397bd097c35b0b6fc920fb0722', '9778397bd097c36b0b6fc9274c91aa', + '97b6b97bd19801ec9210c965cc920e', '97bcf7f1487f595b0b0bb0b6fb0722', '7f0e397bd097c35b0b6fc920fb0722', + '9778397bd097c36b0b6fc9274c91aa', '97b6b97bd19801ec9210c965cc920e', '97bcf7f1487f531b0b0bb0b6fb0722', + '7f0e397bd097c35b0b6fc920fb0722', '9778397bd097c36b0b6fc9274c91aa', '97b6b97bd19801ec9210c965cc920e', + '97bcf7f1487f531b0b0bb0b6fb0722', '7f0e397bd07f595b0b6fc920fb0722', '9778397bd097c36b0b6fc9274c91aa', + '97b6b97bd19801ec9210c9274c920e', '97bcf7f0e47f531b0b0bb0b6fb0722', '7f0e397bd07f595b0b0bc920fb0722', + '9778397bd097c36b0b6fc9210c91aa', '97b6b97bd197c36c9210c9274c920e', '97bcf7f0e47f531b0b0bb0b6fb0722', + '7f0e397bd07f595b0b0bc920fb0722', '9778397bd097c36b0b6fc9210c8dc2', '9778397bd097c36c9210c9274c920e', + '97b6b7f0e47f531b0723b0b6fb0722', '7f0e37f5307f595b0b0bc920fb0722', '7f0e397bd097c36b0b6fc9210c8dc2', + '9778397bd097c36b0b70c9274c91aa', '97b6b7f0e47f531b0723b0b6fb0721', '7f0e37f1487f595b0b0bb0b6fb0722', + '7f0e397bd097c35b0b6fc9210c8dc2', '9778397bd097c36b0b6fc9274c91aa', '97b6b7f0e47f531b0723b0b6fb0721', + '7f0e27f1487f595b0b0bb0b6fb0722', '7f0e397bd097c35b0b6fc920fb0722', '9778397bd097c36b0b6fc9274c91aa', + '97b6b7f0e47f531b0723b0b6fb0721', '7f0e27f1487f531b0b0bb0b6fb0722', '7f0e397bd097c35b0b6fc920fb0722', + '9778397bd097c36b0b6fc9274c91aa', '97b6b7f0e47f531b0723b0b6fb0721', '7f0e27f1487f531b0b0bb0b6fb0722', + '7f0e397bd097c35b0b6fc920fb0722', '9778397bd097c36b0b6fc9274c91aa', '97b6b7f0e47f531b0723b0b6fb0721', + '7f0e27f1487f531b0b0bb0b6fb0722', '7f0e397bd07f595b0b0bc920fb0722', '9778397bd097c36b0b6fc9274c91aa', + '97b6b7f0e47f531b0723b0787b0721', '7f0e27f0e47f531b0b0bb0b6fb0722', '7f0e397bd07f595b0b0bc920fb0722', + '9778397bd097c36b0b6fc9210c91aa', '97b6b7f0e47f149b0723b0787b0721', '7f0e27f0e47f531b0723b0b6fb0722', + '7f0e397bd07f595b0b0bc920fb0722', '9778397bd097c36b0b6fc9210c8dc2', '977837f0e37f149b0723b0787b0721', + '7f07e7f0e47f531b0723b0b6fb0722', '7f0e37f5307f595b0b0bc920fb0722', '7f0e397bd097c35b0b6fc9210c8dc2', + '977837f0e37f14998082b0787b0721', '7f07e7f0e47f531b0723b0b6fb0721', '7f0e37f1487f595b0b0bb0b6fb0722', + '7f0e397bd097c35b0b6fc9210c8dc2', '977837f0e37f14998082b0787b06bd', '7f07e7f0e47f531b0723b0b6fb0721', + '7f0e27f1487f531b0b0bb0b6fb0722', '7f0e397bd097c35b0b6fc920fb0722', '977837f0e37f14998082b0787b06bd', + '7f07e7f0e47f531b0723b0b6fb0721', '7f0e27f1487f531b0b0bb0b6fb0722', '7f0e397bd097c35b0b6fc920fb0722', + '977837f0e37f14998082b0787b06bd', '7f07e7f0e47f531b0723b0b6fb0721', '7f0e27f1487f531b0b0bb0b6fb0722', + '7f0e397bd07f595b0b0bc920fb0722', '977837f0e37f14998082b0787b06bd', '7f07e7f0e47f531b0723b0b6fb0721', + '7f0e27f1487f531b0b0bb0b6fb0722', '7f0e397bd07f595b0b0bc920fb0722', '977837f0e37f14998082b0787b06bd', + '7f07e7f0e47f149b0723b0787b0721', '7f0e27f0e47f531b0b0bb0b6fb0722', '7f0e397bd07f595b0b0bc920fb0722', + '977837f0e37f14998082b0723b06bd', '7f07e7f0e37f149b0723b0787b0721', '7f0e27f0e47f531b0723b0b6fb0722', + '7f0e397bd07f595b0b0bc920fb0722', '977837f0e37f14898082b0723b02d5', '7ec967f0e37f14998082b0787b0721', + '7f07e7f0e47f531b0723b0b6fb0722', '7f0e37f1487f595b0b0bb0b6fb0722', '7f0e37f0e37f14898082b0723b02d5', + '7ec967f0e37f14998082b0787b0721', '7f07e7f0e47f531b0723b0b6fb0722', '7f0e37f1487f531b0b0bb0b6fb0722', + '7f0e37f0e37f14898082b0723b02d5', '7ec967f0e37f14998082b0787b06bd', '7f07e7f0e47f531b0723b0b6fb0721', + '7f0e37f1487f531b0b0bb0b6fb0722', '7f0e37f0e37f14898082b072297c35', '7ec967f0e37f14998082b0787b06bd', + '7f07e7f0e47f531b0723b0b6fb0721', '7f0e27f1487f531b0b0bb0b6fb0722', '7f0e37f0e37f14898082b072297c35', + '7ec967f0e37f14998082b0787b06bd', '7f07e7f0e47f531b0723b0b6fb0721', '7f0e27f1487f531b0b0bb0b6fb0722', + '7f0e37f0e366aa89801eb072297c35', '7ec967f0e37f14998082b0787b06bd', '7f07e7f0e47f149b0723b0787b0721', + '7f0e27f1487f531b0b0bb0b6fb0722', '7f0e37f0e366aa89801eb072297c35', '7ec967f0e37f14998082b0723b06bd', + '7f07e7f0e47f149b0723b0787b0721', '7f0e27f0e47f531b0723b0b6fb0722', '7f0e37f0e366aa89801eb072297c35', + '7ec967f0e37f14998082b0723b06bd', '7f07e7f0e37f14998083b0787b0721', '7f0e27f0e47f531b0723b0b6fb0722', + '7f0e37f0e366aa89801eb072297c35', '7ec967f0e37f14898082b0723b02d5', '7f07e7f0e37f14998082b0787b0721', + '7f07e7f0e47f531b0723b0b6fb0722', '7f0e36665b66aa89801e9808297c35', '665f67f0e37f14898082b0723b02d5', + '7ec967f0e37f14998082b0787b0721', '7f07e7f0e47f531b0723b0b6fb0722', '7f0e36665b66a449801e9808297c35', + '665f67f0e37f14898082b0723b02d5', '7ec967f0e37f14998082b0787b06bd', '7f07e7f0e47f531b0723b0b6fb0721', + '7f0e36665b66a449801e9808297c35', '665f67f0e37f14898082b072297c35', '7ec967f0e37f14998082b0787b06bd', + '7f07e7f0e47f531b0723b0b6fb0721', '7f0e26665b66a449801e9808297c35', '665f67f0e37f1489801eb072297c35', + '7ec967f0e37f14998082b0787b06bd', '7f07e7f0e47f531b0723b0b6fb0721', '7f0e27f1487f531b0b0bb0b6fb0722'], + + /** + * 数字转中文速查表 + * @Array Of Property + * @trans ['日','一','二','三','四','五','六','七','八','九','十'] + * @return Cn string + */ + nStr1: ['\u65e5', '\u4e00', '\u4e8c', '\u4e09', '\u56db', '\u4e94', '\u516d', '\u4e03', '\u516b', '\u4e5d', '\u5341'], + + /** + * 日期转农历称呼速查表 + * @Array Of Property + * @trans ['初','十','廿','卅'] + * @return Cn string + */ + nStr2: ['\u521d', '\u5341', '\u5eff', '\u5345'], + + /** + * 月份转农历称呼速查表 + * @Array Of Property + * @trans ['正','一','二','三','四','五','六','七','八','九','十','冬','腊'] + * @return Cn string + */ + nStr3: ['\u6b63', '\u4e8c', '\u4e09', '\u56db', '\u4e94', '\u516d', '\u4e03', '\u516b', '\u4e5d', '\u5341', '\u51ac', '\u814a'], + + /** + * 返回农历y年一整年的总天数 + * @param lunar Year + * @return Number + * @eg:var count = calendar.lYearDays(1987) ;//count=387 + */ + lYearDays: function (y) { + var i; var sum = 348 + for (i = 0x8000; i > 0x8; i >>= 1) { sum += (this.lunarInfo[y - 1900] & i) ? 1 : 0 } + return (sum + this.leapDays(y)) + }, + + /** + * 返回农历y年闰月是哪个月;若y年没有闰月 则返回0 + * @param lunar Year + * @return Number (0-12) + * @eg:var leapMonth = calendar.leapMonth(1987) ;//leapMonth=6 + */ + leapMonth: function (y) { // 闰字编码 \u95f0 + return (this.lunarInfo[y - 1900] & 0xf) + }, + + /** + * 返回农历y年闰月的天数 若该年没有闰月则返回0 + * @param lunar Year + * @return Number (0、29、30) + * @eg:var leapMonthDay = calendar.leapDays(1987) ;//leapMonthDay=29 + */ + leapDays: function (y) { + if (this.leapMonth(y)) { + return ((this.lunarInfo[y - 1900] & 0x10000) ? 30 : 29) + } + return (0) + }, + + /** + * 返回农历y年m月(非闰月)的总天数,计算m为闰月时的天数请使用leapDays方法 + * @param lunar Year + * @return Number (-1、29、30) + * @eg:var MonthDay = calendar.monthDays(1987,9) ;//MonthDay=29 + */ + monthDays: function (y, m) { + if (m > 12 || m < 1) { return -1 }// 月份参数从1至12,参数错误返回-1 + return ((this.lunarInfo[y - 1900] & (0x10000 >> m)) ? 30 : 29) + }, + + /** + * 返回公历(!)y年m月的天数 + * @param solar Year + * @return Number (-1、28、29、30、31) + * @eg:var solarMonthDay = calendar.leapDays(1987) ;//solarMonthDay=30 + */ + solarDays: function (y, m) { + if (m > 12 || m < 1) { return -1 } // 若参数错误 返回-1 + var ms = m - 1 + if (ms == 1) { // 2月份的闰平规律测算后确认返回28或29 + return (((y % 4 == 0) && (y % 100 != 0) || (y % 400 == 0)) ? 29 : 28) + } else { + return (this.solarMonth[ms]) + } + }, + + /** + * 农历年份转换为干支纪年 + * @param lYear 农历年的年份数 + * @return Cn string + */ + toGanZhiYear: function (lYear) { + var ganKey = (lYear - 3) % 10 + var zhiKey = (lYear - 3) % 12 + if (ganKey == 0) ganKey = 10// 如果余数为0则为最后一个天干 + if (zhiKey == 0) zhiKey = 12// 如果余数为0则为最后一个地支 + return this.Gan[ganKey - 1] + this.Zhi[zhiKey - 1] + }, + + /** + * 公历月、日判断所属星座 + * @param cMonth [description] + * @param cDay [description] + * @return Cn string + */ + toAstro: function (cMonth, cDay) { + var s = '\u9b54\u7faf\u6c34\u74f6\u53cc\u9c7c\u767d\u7f8a\u91d1\u725b\u53cc\u5b50\u5de8\u87f9\u72ee\u5b50\u5904\u5973\u5929\u79e4\u5929\u874e\u5c04\u624b\u9b54\u7faf' + var arr = [20, 19, 21, 21, 21, 22, 23, 23, 23, 23, 22, 22] + return s.substr(cMonth * 2 - (cDay < arr[cMonth - 1] ? 2 : 0), 2) + '\u5ea7'// 座 + }, + + /** + * 传入offset偏移量返回干支 + * @param offset 相对甲子的偏移量 + * @return Cn string + */ + toGanZhi: function (offset) { + return this.Gan[offset % 10] + this.Zhi[offset % 12] + }, + + /** + * 传入公历(!)y年获得该年第n个节气的公历日期 + * @param y公历年(1900-2100);n二十四节气中的第几个节气(1~24);从n=1(小寒)算起 + * @return day Number + * @eg:var _24 = calendar.getTerm(1987,3) ;//_24=4;意即1987年2月4日立春 + */ + getTerm: function (y, n) { + if (y < 1900 || y > 2100) { return -1 } + if (n < 1 || n > 24) { return -1 } + var _table = this.sTermInfo[y - 1900] + var _info = [ + parseInt('0x' + _table.substr(0, 5)).toString(), + parseInt('0x' + _table.substr(5, 5)).toString(), + parseInt('0x' + _table.substr(10, 5)).toString(), + parseInt('0x' + _table.substr(15, 5)).toString(), + parseInt('0x' + _table.substr(20, 5)).toString(), + parseInt('0x' + _table.substr(25, 5)).toString() + ] + var _calday = [ + _info[0].substr(0, 1), + _info[0].substr(1, 2), + _info[0].substr(3, 1), + _info[0].substr(4, 2), + + _info[1].substr(0, 1), + _info[1].substr(1, 2), + _info[1].substr(3, 1), + _info[1].substr(4, 2), + + _info[2].substr(0, 1), + _info[2].substr(1, 2), + _info[2].substr(3, 1), + _info[2].substr(4, 2), + + _info[3].substr(0, 1), + _info[3].substr(1, 2), + _info[3].substr(3, 1), + _info[3].substr(4, 2), + + _info[4].substr(0, 1), + _info[4].substr(1, 2), + _info[4].substr(3, 1), + _info[4].substr(4, 2), + + _info[5].substr(0, 1), + _info[5].substr(1, 2), + _info[5].substr(3, 1), + _info[5].substr(4, 2) + ] + return parseInt(_calday[n - 1]) + }, + + /** + * 传入农历数字月份返回汉语通俗表示法 + * @param lunar month + * @return Cn string + * @eg:var cnMonth = calendar.toChinaMonth(12) ;//cnMonth='腊月' + */ + toChinaMonth: function (m) { // 月 => \u6708 + if (m > 12 || m < 1) { return -1 } // 若参数错误 返回-1 + var s = this.nStr3[m - 1] + s += '\u6708'// 加上月字 + return s + }, + + /** + * 传入农历日期数字返回汉字表示法 + * @param lunar day + * @return Cn string + * @eg:var cnDay = calendar.toChinaDay(21) ;//cnMonth='廿一' + */ + toChinaDay: function (d) { // 日 => \u65e5 + var s + switch (d) { + case 10: + s = '\u521d\u5341'; break + case 20: + s = '\u4e8c\u5341'; break + case 30: + s = '\u4e09\u5341'; break + default : + s = this.nStr2[Math.floor(d / 10)] + s += this.nStr1[d % 10] + } + return (s) + }, + + /** + * 年份转生肖[!仅能大致转换] => 精确划分生肖分界线是“立春” + * @param y year + * @return Cn string + * @eg:var animal = calendar.getAnimal(1987) ;//animal='兔' + */ + getAnimal: function (y) { + return this.Animals[(y - 4) % 12] + }, + + /** + * 传入阳历年月日获得详细的公历、农历object信息 <=>JSON + * @param y solar year + * @param m solar month + * @param d solar day + * @return JSON object + * @eg:console.log(calendar.solar2lunar(1987,11,01)); + */ + solar2lunar: function (y, m, d) { // 参数区间1900.1.31~2100.12.31 + // 年份限定、上限 + if (y < 1900 || y > 2100) { + return -1// undefined转换为数字变为NaN + } + // 公历传参最下限 + if (y == 1900 && m == 1 && d < 31) { + return -1 + } + // 未传参 获得当天 + if (!y) { + var objDate = new Date() + } else { + var objDate = new Date(y, parseInt(m) - 1, d) + } + var i; var leap = 0; var temp = 0 + // 修正ymd参数 + var y = objDate.getFullYear() + var m = objDate.getMonth() + 1 + var d = objDate.getDate() + var offset = (Date.UTC(objDate.getFullYear(), objDate.getMonth(), objDate.getDate()) - Date.UTC(1900, 0, 31)) / 86400000 + for (i = 1900; i < 2101 && offset > 0; i++) { + temp = this.lYearDays(i) + offset -= temp + } + if (offset < 0) { + offset += temp; i-- + } + + // 是否今天 + var isTodayObj = new Date() + var isToday = false + if (isTodayObj.getFullYear() == y && isTodayObj.getMonth() + 1 == m && isTodayObj.getDate() == d) { + isToday = true + } + // 星期几 + var nWeek = objDate.getDay() + var cWeek = this.nStr1[nWeek] + // 数字表示周几顺应天朝周一开始的惯例 + if (nWeek == 0) { + nWeek = 7 + } + // 农历年 + var year = i + var leap = this.leapMonth(i) // 闰哪个月 + var isLeap = false + + // 效验闰月 + for (i = 1; i < 13 && offset > 0; i++) { + // 闰月 + if (leap > 0 && i == (leap + 1) && isLeap == false) { + --i + isLeap = true; temp = this.leapDays(year) // 计算农历闰月天数 + } else { + temp = this.monthDays(year, i)// 计算农历普通月天数 + } + // 解除闰月 + if (isLeap == true && i == (leap + 1)) { isLeap = false } + offset -= temp + } + // 闰月导致数组下标重叠取反 + if (offset == 0 && leap > 0 && i == leap + 1) { + if (isLeap) { + isLeap = false + } else { + isLeap = true; --i + } + } + if (offset < 0) { + offset += temp; --i + } + // 农历月 + var month = i + // 农历日 + var day = offset + 1 + // 天干地支处理 + var sm = m - 1 + var gzY = this.toGanZhiYear(year) + + // 当月的两个节气 + // bugfix-2017-7-24 11:03:38 use lunar Year Param `y` Not `year` + var firstNode = this.getTerm(y, (m * 2 - 1))// 返回当月「节」为几日开始 + var secondNode = this.getTerm(y, (m * 2))// 返回当月「节」为几日开始 + + // 依据12节气修正干支月 + var gzM = this.toGanZhi((y - 1900) * 12 + m + 11) + if (d >= firstNode) { + gzM = this.toGanZhi((y - 1900) * 12 + m + 12) + } + + // 传入的日期的节气与否 + var isTerm = false + var Term = null + if (firstNode == d) { + isTerm = true + Term = this.solarTerm[m * 2 - 2] + } + if (secondNode == d) { + isTerm = true + Term = this.solarTerm[m * 2 - 1] + } + // 日柱 当月一日与 1900/1/1 相差天数 + var dayCyclical = Date.UTC(y, sm, 1, 0, 0, 0, 0) / 86400000 + 25567 + 10 + var gzD = this.toGanZhi(dayCyclical + d - 1) + // 该日期所属的星座 + var astro = this.toAstro(m, d) + + return { 'lYear': year, 'lMonth': month, 'lDay': day, 'Animal': this.getAnimal(year), 'IMonthCn': (isLeap ? '\u95f0' : '') + this.toChinaMonth(month), 'IDayCn': this.toChinaDay(day), 'cYear': y, 'cMonth': m, 'cDay': d, 'gzYear': gzY, 'gzMonth': gzM, 'gzDay': gzD, 'isToday': isToday, 'isLeap': isLeap, 'nWeek': nWeek, 'ncWeek': '\u661f\u671f' + cWeek, 'isTerm': isTerm, 'Term': Term, 'astro': astro } + }, + + /** + * 传入农历年月日以及传入的月份是否闰月获得详细的公历、农历object信息 <=>JSON + * @param y lunar year + * @param m lunar month + * @param d lunar day + * @param isLeapMonth lunar month is leap or not.[如果是农历闰月第四个参数赋值true即可] + * @return JSON object + * @eg:console.log(calendar.lunar2solar(1987,9,10)); + */ + lunar2solar: function (y, m, d, isLeapMonth) { // 参数区间1900.1.31~2100.12.1 + var isLeapMonth = !!isLeapMonth + var leapOffset = 0 + var leapMonth = this.leapMonth(y) + var leapDay = this.leapDays(y) + if (isLeapMonth && (leapMonth != m)) { return -1 }// 传参要求计算该闰月公历 但该年得出的闰月与传参的月份并不同 + if (y == 2100 && m == 12 && d > 1 || y == 1900 && m == 1 && d < 31) { return -1 }// 超出了最大极限值 + var day = this.monthDays(y, m) + var _day = day + // bugFix 2016-9-25 + // if month is leap, _day use leapDays method + if (isLeapMonth) { + _day = this.leapDays(y, m) + } + if (y < 1900 || y > 2100 || d > _day) { return -1 }// 参数合法性效验 + + // 计算农历的时间差 + var offset = 0 + for (var i = 1900; i < y; i++) { + offset += this.lYearDays(i) + } + var leap = 0; var isAdd = false + for (var i = 1; i < m; i++) { + leap = this.leapMonth(y) + if (!isAdd) { // 处理闰月 + if (leap <= i && leap > 0) { + offset += this.leapDays(y); isAdd = true + } + } + offset += this.monthDays(y, i) + } + // 转换闰月农历 需补充该年闰月的前一个月的时差 + if (isLeapMonth) { offset += day } + // 1900年农历正月一日的公历时间为1900年1月30日0时0分0秒(该时间也是本农历的最开始起始点) + var stmap = Date.UTC(1900, 1, 30, 0, 0, 0) + var calObj = new Date((offset + d - 31) * 86400000 + stmap) + var cY = calObj.getUTCFullYear() + var cM = calObj.getUTCMonth() + 1 + var cD = calObj.getUTCDate() + + return this.solar2lunar(cY, cM, cD) + } +} + +export default calendar diff --git a/wuye-manager-uniapp/uni_modules/uni-calendar/components/uni-calendar/i18n/en.json b/wuye-manager-uniapp/uni_modules/uni-calendar/components/uni-calendar/i18n/en.json new file mode 100644 index 0000000..fcbd13c --- /dev/null +++ b/wuye-manager-uniapp/uni_modules/uni-calendar/components/uni-calendar/i18n/en.json @@ -0,0 +1,12 @@ +{ + "uni-calender.ok": "ok", + "uni-calender.cancel": "cancel", + "uni-calender.today": "today", + "uni-calender.MON": "MON", + "uni-calender.TUE": "TUE", + "uni-calender.WED": "WED", + "uni-calender.THU": "THU", + "uni-calender.FRI": "FRI", + "uni-calender.SAT": "SAT", + "uni-calender.SUN": "SUN" +} diff --git a/wuye-manager-uniapp/uni_modules/uni-calendar/components/uni-calendar/i18n/index.js b/wuye-manager-uniapp/uni_modules/uni-calendar/components/uni-calendar/i18n/index.js new file mode 100644 index 0000000..de7509c --- /dev/null +++ b/wuye-manager-uniapp/uni_modules/uni-calendar/components/uni-calendar/i18n/index.js @@ -0,0 +1,8 @@ +import en from './en.json' +import zhHans from './zh-Hans.json' +import zhHant from './zh-Hant.json' +export default { + en, + 'zh-Hans': zhHans, + 'zh-Hant': zhHant +} diff --git a/wuye-manager-uniapp/uni_modules/uni-calendar/components/uni-calendar/i18n/zh-Hans.json b/wuye-manager-uniapp/uni_modules/uni-calendar/components/uni-calendar/i18n/zh-Hans.json new file mode 100644 index 0000000..1ca43de --- /dev/null +++ b/wuye-manager-uniapp/uni_modules/uni-calendar/components/uni-calendar/i18n/zh-Hans.json @@ -0,0 +1,12 @@ +{ + "uni-calender.ok": "确定", + "uni-calender.cancel": "取消", + "uni-calender.today": "今日", + "uni-calender.SUN": "日", + "uni-calender.MON": "一", + "uni-calender.TUE": "二", + "uni-calender.WED": "三", + "uni-calender.THU": "四", + "uni-calender.FRI": "五", + "uni-calender.SAT": "六" +} diff --git a/wuye-manager-uniapp/uni_modules/uni-calendar/components/uni-calendar/i18n/zh-Hant.json b/wuye-manager-uniapp/uni_modules/uni-calendar/components/uni-calendar/i18n/zh-Hant.json new file mode 100644 index 0000000..e0fe33b --- /dev/null +++ b/wuye-manager-uniapp/uni_modules/uni-calendar/components/uni-calendar/i18n/zh-Hant.json @@ -0,0 +1,12 @@ +{ + "uni-calender.ok": "確定", + "uni-calender.cancel": "取消", + "uni-calender.today": "今日", + "uni-calender.SUN": "日", + "uni-calender.MON": "一", + "uni-calender.TUE": "二", + "uni-calender.WED": "三", + "uni-calender.THU": "四", + "uni-calender.FRI": "五", + "uni-calender.SAT": "六" +} diff --git a/wuye-manager-uniapp/uni_modules/uni-calendar/components/uni-calendar/uni-calendar-item.vue b/wuye-manager-uniapp/uni_modules/uni-calendar/components/uni-calendar/uni-calendar-item.vue new file mode 100644 index 0000000..a54135e --- /dev/null +++ b/wuye-manager-uniapp/uni_modules/uni-calendar/components/uni-calendar/uni-calendar-item.vue @@ -0,0 +1,187 @@ + + + + + diff --git a/wuye-manager-uniapp/uni_modules/uni-calendar/components/uni-calendar/uni-calendar.vue b/wuye-manager-uniapp/uni_modules/uni-calendar/components/uni-calendar/uni-calendar.vue new file mode 100644 index 0000000..0beebfb --- /dev/null +++ b/wuye-manager-uniapp/uni_modules/uni-calendar/components/uni-calendar/uni-calendar.vue @@ -0,0 +1,567 @@ + + + + + diff --git a/wuye-manager-uniapp/uni_modules/uni-calendar/components/uni-calendar/util.js b/wuye-manager-uniapp/uni_modules/uni-calendar/components/uni-calendar/util.js new file mode 100644 index 0000000..e0c5103 --- /dev/null +++ b/wuye-manager-uniapp/uni_modules/uni-calendar/components/uni-calendar/util.js @@ -0,0 +1,360 @@ +import CALENDAR from './calendar.js' + +class Calendar { + constructor({ + date, + selected, + startDate, + endDate, + range + } = {}) { + // 当前日期 + this.date = this.getDate(new Date()) // 当前初入日期 + // 打点信息 + this.selected = selected || []; + // 范围开始 + this.startDate = startDate + // 范围结束 + this.endDate = endDate + this.range = range + // 多选状态 + this.cleanMultipleStatus() + // 每周日期 + this.weeks = {} + // this._getWeek(this.date.fullDate) + } + /** + * 设置日期 + * @param {Object} date + */ + setDate(date) { + this.selectDate = this.getDate(date) + this._getWeek(this.selectDate.fullDate) + } + + /** + * 清理多选状态 + */ + cleanMultipleStatus() { + this.multipleStatus = { + before: '', + after: '', + data: [] + } + } + + /** + * 重置开始日期 + */ + resetSatrtDate(startDate) { + // 范围开始 + this.startDate = startDate + + } + + /** + * 重置结束日期 + */ + resetEndDate(endDate) { + // 范围结束 + this.endDate = endDate + } + + /** + * 获取任意时间 + */ + getDate(date, AddDayCount = 0, str = 'day') { + if (!date) { + date = new Date() + } + if (typeof date !== 'object') { + date = date.replace(/-/g, '/') + } + const dd = new Date(date) + switch (str) { + case 'day': + dd.setDate(dd.getDate() + AddDayCount) // 获取AddDayCount天后的日期 + break + case 'month': + if (dd.getDate() === 31 && AddDayCount>0) { + dd.setDate(dd.getDate() + AddDayCount) + } else { + const preMonth = dd.getMonth() + dd.setMonth(preMonth + AddDayCount) // 获取AddDayCount天后的日期 + const nextMonth = dd.getMonth() + // 处理 pre 切换月份目标月份为2月没有当前日(30 31) 切换错误问题 + if(AddDayCount<0 && preMonth!==0 && nextMonth-preMonth>AddDayCount){ + dd.setMonth(nextMonth+(nextMonth-preMonth+AddDayCount)) + } + // 处理 next 切换月份目标月份为2月没有当前日(30 31) 切换错误问题 + if(AddDayCount>0 && nextMonth-preMonth>AddDayCount){ + dd.setMonth(nextMonth-(nextMonth-preMonth-AddDayCount)) + } + } + break + case 'year': + dd.setFullYear(dd.getFullYear() + AddDayCount) // 获取AddDayCount天后的日期 + break + } + const y = dd.getFullYear() + const m = dd.getMonth() + 1 < 10 ? '0' + (dd.getMonth() + 1) : dd.getMonth() + 1 // 获取当前月份的日期,不足10补0 + const d = dd.getDate() < 10 ? '0' + dd.getDate() : dd.getDate() // 获取当前几号,不足10补0 + return { + fullDate: y + '-' + m + '-' + d, + year: y, + month: m, + date: d, + day: dd.getDay() + } + } + + + /** + * 获取上月剩余天数 + */ + _getLastMonthDays(firstDay, full) { + let dateArr = [] + for (let i = firstDay; i > 0; i--) { + const beforeDate = new Date(full.year, full.month - 1, -i + 1).getDate() + dateArr.push({ + date: beforeDate, + month: full.month - 1, + lunar: this.getlunar(full.year, full.month - 1, beforeDate), + disable: true + }) + } + return dateArr + } + /** + * 获取本月天数 + */ + _currentMonthDys(dateData, full) { + let dateArr = [] + let fullDate = this.date.fullDate + for (let i = 1; i <= dateData; i++) { + let nowDate = full.year + '-' + (full.month < 10 ? + full.month : full.month) + '-' + (i < 10 ? + '0' + i : i) + // 是否今天 + let isDay = fullDate === nowDate + // 获取打点信息 + let info = this.selected && this.selected.find((item) => { + if (this.dateEqual(nowDate, item.date)) { + return item + } + }) + + // 日期禁用 + let disableBefore = true + let disableAfter = true + if (this.startDate) { + // let dateCompBefore = this.dateCompare(this.startDate, fullDate) + // disableBefore = this.dateCompare(dateCompBefore ? this.startDate : fullDate, nowDate) + disableBefore = this.dateCompare(this.startDate, nowDate) + } + + if (this.endDate) { + // let dateCompAfter = this.dateCompare(fullDate, this.endDate) + // disableAfter = this.dateCompare(nowDate, dateCompAfter ? this.endDate : fullDate) + disableAfter = this.dateCompare(nowDate, this.endDate) + } + let multiples = this.multipleStatus.data + let checked = false + let multiplesStatus = -1 + if (this.range) { + if (multiples) { + multiplesStatus = multiples.findIndex((item) => { + return this.dateEqual(item, nowDate) + }) + } + if (multiplesStatus !== -1) { + checked = true + } + } + let data = { + fullDate: nowDate, + year: full.year, + date: i, + multiple: this.range ? checked : false, + beforeMultiple: this.dateEqual(this.multipleStatus.before, nowDate), + afterMultiple: this.dateEqual(this.multipleStatus.after, nowDate), + month: full.month, + lunar: this.getlunar(full.year, full.month, i), + disable: !(disableBefore && disableAfter), + isDay + } + if (info) { + data.extraInfo = info + } + + dateArr.push(data) + } + return dateArr + } + /** + * 获取下月天数 + */ + _getNextMonthDays(surplus, full) { + let dateArr = [] + for (let i = 1; i < surplus + 1; i++) { + dateArr.push({ + date: i, + month: Number(full.month) + 1, + lunar: this.getlunar(full.year, Number(full.month) + 1, i), + disable: true + }) + } + return dateArr + } + + /** + * 获取当前日期详情 + * @param {Object} date + */ + getInfo(date) { + if (!date) { + date = new Date() + } + const dateInfo = this.canlender.find(item => item.fullDate === this.getDate(date).fullDate) + return dateInfo + } + + /** + * 比较时间大小 + */ + dateCompare(startDate, endDate) { + // 计算截止时间 + startDate = new Date(startDate.replace('-', '/').replace('-', '/')) + // 计算详细项的截止时间 + endDate = new Date(endDate.replace('-', '/').replace('-', '/')) + if (startDate <= endDate) { + return true + } else { + return false + } + } + + /** + * 比较时间是否相等 + */ + dateEqual(before, after) { + // 计算截止时间 + before = new Date(before.replace('-', '/').replace('-', '/')) + // 计算详细项的截止时间 + after = new Date(after.replace('-', '/').replace('-', '/')) + if (before.getTime() - after.getTime() === 0) { + return true + } else { + return false + } + } + + + /** + * 获取日期范围内所有日期 + * @param {Object} begin + * @param {Object} end + */ + geDateAll(begin, end) { + var arr = [] + var ab = begin.split('-') + var ae = end.split('-') + var db = new Date() + db.setFullYear(ab[0], ab[1] - 1, ab[2]) + var de = new Date() + de.setFullYear(ae[0], ae[1] - 1, ae[2]) + var unixDb = db.getTime() - 24 * 60 * 60 * 1000 + var unixDe = de.getTime() - 24 * 60 * 60 * 1000 + for (var k = unixDb; k <= unixDe;) { + k = k + 24 * 60 * 60 * 1000 + arr.push(this.getDate(new Date(parseInt(k))).fullDate) + } + return arr + } + /** + * 计算阴历日期显示 + */ + getlunar(year, month, date) { + return CALENDAR.solar2lunar(year, month, date) + } + /** + * 设置打点 + */ + setSelectInfo(data, value) { + this.selected = value + this._getWeek(data) + } + + /** + * 获取多选状态 + */ + setMultiple(fullDate) { + let { + before, + after + } = this.multipleStatus + + if (!this.range) return + if (before && after) { + this.multipleStatus.before = fullDate + this.multipleStatus.after = '' + this.multipleStatus.data = [] + } else { + if (!before) { + this.multipleStatus.before = fullDate + } else { + this.multipleStatus.after = fullDate + if (this.dateCompare(this.multipleStatus.before, this.multipleStatus.after)) { + this.multipleStatus.data = this.geDateAll(this.multipleStatus.before, this.multipleStatus.after); + } else { + this.multipleStatus.data = this.geDateAll(this.multipleStatus.after, this.multipleStatus.before); + } + } + } + this._getWeek(fullDate) + } + + /** + * 获取每周数据 + * @param {Object} dateData + */ + _getWeek(dateData) { + const { + year, + month + } = this.getDate(dateData) + let firstDay = new Date(year, month - 1, 1).getDay() + let currentDay = new Date(year, month, 0).getDate() + let dates = { + lastMonthDays: this._getLastMonthDays(firstDay, this.getDate(dateData)), // 上个月末尾几天 + currentMonthDys: this._currentMonthDys(currentDay, this.getDate(dateData)), // 本月天数 + nextMonthDays: [], // 下个月开始几天 + weeks: [] + } + let canlender = [] + const surplus = 42 - (dates.lastMonthDays.length + dates.currentMonthDys.length) + dates.nextMonthDays = this._getNextMonthDays(surplus, this.getDate(dateData)) + canlender = canlender.concat(dates.lastMonthDays, dates.currentMonthDys, dates.nextMonthDays) + let weeks = {} + // 拼接数组 上个月开始几天 + 本月天数+ 下个月开始几天 + for (let i = 0; i < canlender.length; i++) { + if (i % 7 === 0) { + weeks[parseInt(i / 7)] = new Array(7) + } + weeks[parseInt(i / 7)][i % 7] = canlender[i] + } + this.canlender = canlender + this.weeks = weeks + } + + //静态方法 + // static init(date) { + // if (!this.instance) { + // this.instance = new Calendar(date); + // } + // return this.instance; + // } +} + + +export default Calendar diff --git a/wuye-manager-uniapp/uni_modules/uni-calendar/package.json b/wuye-manager-uniapp/uni_modules/uni-calendar/package.json new file mode 100644 index 0000000..ec924e9 --- /dev/null +++ b/wuye-manager-uniapp/uni_modules/uni-calendar/package.json @@ -0,0 +1,86 @@ +{ + "id": "uni-calendar", + "displayName": "uni-calendar 日历", + "version": "1.4.12", + "description": "日历组件", + "keywords": [ + "uni-ui", + "uniui", + "日历", + "", + "打卡", + "日历选择" +], + "repository": "https://github.com/dcloudio/uni-ui", + "engines": { + "HBuilderX": "" + }, + "directories": { + "example": "../../temps/example_temps" + }, +"dcloudext": { + "sale": { + "regular": { + "price": "0.00" + }, + "sourcecode": { + "price": "0.00" + } + }, + "contact": { + "qq": "" + }, + "declaration": { + "ads": "无", + "data": "无", + "permissions": "无" + }, + "npmurl": "https://www.npmjs.com/package/@dcloudio/uni-ui", + "type": "component-vue" + }, + "uni_modules": { + "dependencies": [], + "encrypt": [], + "platforms": { + "cloud": { + "tcb": "y", + "aliyun": "y", + "alipay": "n" + }, + "client": { + "App": { + "app-vue": "y", + "app-nvue": "y" + }, + "H5-mobile": { + "Safari": "y", + "Android Browser": "y", + "微信浏览器(Android)": "y", + "QQ浏览器(Android)": "y" + }, + "H5-pc": { + "Chrome": "y", + "IE": "y", + "Edge": "y", + "Firefox": "y", + "Safari": "y" + }, + "小程序": { + "微信": "y", + "阿里": "y", + "百度": "y", + "字节跳动": "y", + "QQ": "y" + }, + "快应用": { + "华为": "u", + "联盟": "u" + }, + "Vue": { + "vue2": "y", + "vue3": "y" + } + } + } + } +} diff --git a/wuye-manager-uniapp/uni_modules/uni-calendar/readme.md b/wuye-manager-uniapp/uni_modules/uni-calendar/readme.md new file mode 100644 index 0000000..4e1748c --- /dev/null +++ b/wuye-manager-uniapp/uni_modules/uni-calendar/readme.md @@ -0,0 +1,103 @@ + + +## Calendar 日历 +> **组件名:uni-calendar** +> 代码块: `uCalendar` + + +日历组件 + +> **注意事项** +> 为了避免错误使用,给大家带来不好的开发体验,请在使用组件前仔细阅读下面的注意事项,可以帮你避免一些错误。 +> - 本组件农历转换使用的js是 [@1900-2100区间内的公历、农历互转](https://github.com/jjonline/calendar.js) +> - 仅支持自定义组件模式 +> - `date`属性传入的应该是一个 String ,如: 2019-06-27 ,而不是 new Date() +> - 通过 `insert` 属性来确定当前的事件是 @change 还是 @confirm 。理应合并为一个事件,但是为了区分模式,现使用两个事件,这里需要注意 +> - 弹窗模式下无法阻止后面的元素滚动,如有需要阻止,请在弹窗弹出后,手动设置滚动元素为不可滚动 + + +### 安装方式 + +本组件符合[easycom](https://uniapp.dcloud.io/collocation/pages?id=easycom)规范,`HBuilderX 2.5.5`起,只需将本组件导入项目,在页面`template`中即可直接使用,无需在页面中`import`和注册`components`。 + +如需通过`npm`方式使用`uni-ui`组件,另见文档:[https://ext.dcloud.net.cn/plugin?id=55](https://ext.dcloud.net.cn/plugin?id=55) + +### 基本用法 + +在 ``template`` 中使用组件 + +```html + + + +``` + +### 通过方法打开日历 + +需要设置 `insert` 为 `false` + +```html + + + + +``` + +```javascript + +export default { + data() { + return {}; + }, + methods: { + open(){ + this.$refs.calendar.open(); + }, + confirm(e) { + console.log(e); + } + } +}; + +``` + + +## API + +### Calendar Props + +| 属性名 | 类型 | 默认值| 说明 | +| - | - | - | - | +| date | String |- | 自定义当前时间,默认为今天 | +| lunar | Boolean | false | 显示农历 | +| startDate | String |- | 日期选择范围-开始日期 | +| endDate | String |- | 日期选择范围-结束日期 | +| range | Boolean | false | 范围选择 | +| insert | Boolean | false | 插入模式,可选值,ture:插入模式;false:弹窗模式;默认为插入模式 | +|clearDate |Boolean |true |弹窗模式是否清空上次选择内容 | +| selected | Array |- | 打点,期待格式[{date: '2019-06-27', info: '签到', data: { custom: '自定义信息', name: '自定义消息头',xxx:xxx... }}] | +|showMonth | Boolean | true | 是否显示月份为背景 | + +### Calendar Events + +| 事件名 | 说明 |返回值| +| - | - | - | +| open | 弹出日历组件,`insert :false` 时生效|- | + + + + + +## 组件示例 + +点击查看:[https://hellouniapp.dcloud.net.cn/pages/extUI/calendar/calendar](https://hellouniapp.dcloud.net.cn/pages/extUI/calendar/calendar) diff --git a/wuye-manager-uniapp/uni_modules/uni-card/changelog.md b/wuye-manager-uniapp/uni_modules/uni-card/changelog.md new file mode 100644 index 0000000..c3cd8c4 --- /dev/null +++ b/wuye-manager-uniapp/uni_modules/uni-card/changelog.md @@ -0,0 +1,26 @@ +## 1.3.1(2021-12-20) +- 修复 在vue页面下略缩图显示不正常的bug +## 1.3.0(2021-11-19) +- 重构插槽的用法 ,header 替换为 title +- 新增 actions 插槽 +- 新增 cover 封面图属性和插槽 +- 新增 padding 内容默认内边距离 +- 新增 margin 卡片默认外边距离 +- 新增 spacing 卡片默认内边距 +- 新增 shadow 卡片阴影属性 +- 取消 mode 属性,可使用组合插槽代替 +- 取消 note 属性 ,使用actions插槽代替 +- 优化 组件UI,并提供设计资源,详见:[https://uniapp.dcloud.io/component/uniui/resource](https://uniapp.dcloud.io/component/uniui/resource) +- 文档迁移,详见:[https://uniapp.dcloud.io/component/uniui/uni-card](https://uniapp.dcloud.io/component/uniui/uni-card) +## 1.2.1(2021-07-30) +- 优化 vue3下事件警告的问题 +## 1.2.0(2021-07-13) +- 组件兼容 vue3,如何创建vue3项目详见 [uni-app 项目支持 vue3 介绍](https://ask.dcloud.net.cn/article/37834) +## 1.1.8(2021-07-01) +- 优化 图文卡片无图片加载时,提供占位图标 +- 新增 header 插槽,自定义卡片头部( 图文卡片 mode="style" 时,不支持) +- 修复 thumbnail 不存在仍然占位的 bug +## 1.1.7(2021-05-12) +- 新增 组件示例地址 +## 1.1.6(2021-02-04) +- 调整为uni_modules目录规范 diff --git a/wuye-manager-uniapp/uni_modules/uni-card/components/uni-card/uni-card.vue b/wuye-manager-uniapp/uni_modules/uni-card/components/uni-card/uni-card.vue new file mode 100644 index 0000000..38cf594 --- /dev/null +++ b/wuye-manager-uniapp/uni_modules/uni-card/components/uni-card/uni-card.vue @@ -0,0 +1,270 @@ + + + + + diff --git a/wuye-manager-uniapp/uni_modules/uni-card/package.json b/wuye-manager-uniapp/uni_modules/uni-card/package.json new file mode 100644 index 0000000..f16224d --- /dev/null +++ b/wuye-manager-uniapp/uni_modules/uni-card/package.json @@ -0,0 +1,90 @@ +{ + "id": "uni-card", + "displayName": "uni-card 卡片", + "version": "1.3.1", + "description": "Card 组件,提供常见的卡片样式。", + "keywords": [ + "uni-ui", + "uniui", + "card", + "", + "卡片" +], + "repository": "https://github.com/dcloudio/uni-ui", + "engines": { + "HBuilderX": "" + }, + "directories": { + "example": "../../temps/example_temps" + }, + "dcloudext": { + "category": [ + "前端组件", + "通用组件" + ], + "sale": { + "regular": { + "price": "0.00" + }, + "sourcecode": { + "price": "0.00" + } + }, + "contact": { + "qq": "" + }, + "declaration": { + "ads": "无", + "data": "无", + "permissions": "无" + }, + "npmurl": "https://www.npmjs.com/package/@dcloudio/uni-ui" + }, + "uni_modules": { + "dependencies": [ + "uni-icons", + "uni-scss" + ], + "encrypt": [], + "platforms": { + "cloud": { + "tcb": "y", + "aliyun": "y" + }, + "client": { + "App": { + "app-vue": "y", + "app-nvue": "y" + }, + "H5-mobile": { + "Safari": "y", + "Android Browser": "y", + "微信浏览器(Android)": "y", + "QQ浏览器(Android)": "y" + }, + "H5-pc": { + "Chrome": "y", + "IE": "y", + "Edge": "y", + "Firefox": "y", + "Safari": "y" + }, + "小程序": { + "微信": "y", + "阿里": "y", + "百度": "y", + "字节跳动": "y", + "QQ": "y" + }, + "快应用": { + "华为": "u", + "联盟": "u" + }, + "Vue": { + "vue2": "y", + "vue3": "y" + } + } + } + } +} diff --git a/wuye-manager-uniapp/uni_modules/uni-card/readme.md b/wuye-manager-uniapp/uni_modules/uni-card/readme.md new file mode 100644 index 0000000..7434e71 --- /dev/null +++ b/wuye-manager-uniapp/uni_modules/uni-card/readme.md @@ -0,0 +1,12 @@ + + +## Card 卡片 +> **组件名:uni-card** +> 代码块: `uCard` + +卡片视图组件。 + +### [查看文档](https://uniapp.dcloud.io/component/uniui/uni-card) +#### 如使用过程中有任何问题,或者您对uni-ui有一些好的建议,欢迎加入 uni-ui 交流群:871950839 + + diff --git a/wuye-manager-uniapp/uni_modules/uni-collapse/changelog.md b/wuye-manager-uniapp/uni_modules/uni-collapse/changelog.md new file mode 100644 index 0000000..310821e --- /dev/null +++ b/wuye-manager-uniapp/uni_modules/uni-collapse/changelog.md @@ -0,0 +1,48 @@ +## 1.4.8(2025-09-16) +- 修复 modelValue 修改会两次触发 change 事件的 Bug +## 1.4.7(2025-09-11) +- 修复 modelValue 修改不会触发更新的 Bug +## 1.4.6(2025-09-02) +- 修复 modelValue 修改不会触发 change 事件的 Bug + +## 1.4.5(2025-09-02) +- 修复 非手风琴模式 不能设置 modeValue 为 [] 的 Bug (question/205130) + +## 1.4.4(2024-03-20) +- 修复 titleBorder类型修正 +## 1.4.3(2022-01-25) +- 修复 初始化的时候 ,open 属性失效的bug +## 1.4.2(2022-01-21) +- 修复 微信小程序resize后组件收起的bug +## 1.4.1(2021-11-22) +- 修复 vue3中个别scss变量无法找到的问题 +## 1.4.0(2021-11-19) +- 优化 组件UI,并提供设计资源,详见:[https://uniapp.dcloud.io/component/uniui/resource](https://uniapp.dcloud.io/component/uniui/resource) +- 文档迁移,详见:[https://uniapp.dcloud.io/component/uniui/uni-collapse](https://uniapp.dcloud.io/component/uniui/uni-collapse) +## 1.3.3(2021-08-17) +- 优化 show-arrow 属性默认为true +## 1.3.2(2021-08-17) +- 新增 show-arrow 属性,控制是否显示右侧箭头 +## 1.3.1(2021-07-30) +- 优化 vue3下小程序事件警告的问题 +## 1.3.0(2021-07-30) +- 组件兼容 vue3,如何创建vue3项目,详见 [uni-app 项目支持 vue3 介绍](https://ask.dcloud.net.cn/article/37834) +## 1.2.2(2021-07-21) +- 修复 由1.2.0版本引起的 change 事件返回 undefined 的Bug +## 1.2.1(2021-07-21) +- 优化 组件示例 +## 1.2.0(2021-07-21) +- 新增 组件折叠动画 +- 新增 value\v-model 属性 ,动态修改面板折叠状态 +- 新增 title 插槽 ,可定义面板标题 +- 新增 border 属性 ,显示隐藏面板内容分隔线 +- 新增 title-border 属性 ,显示隐藏面板标题分隔线 +- 修复 resize 方法失效的Bug +- 修复 change 事件返回参数不正确的Bug +- 优化 H5、App 平台自动更具内容更新高度,无需调用 reszie() 方法 +## 1.1.7(2021-05-12) +- 新增 组件示例地址 +## 1.1.6(2021-02-05) +- 优化 组件引用关系,通过uni_modules引用组件 +## 1.1.5(2021-02-05) +- 调整为uni_modules目录规范 \ No newline at end of file diff --git a/wuye-manager-uniapp/uni_modules/uni-collapse/components/uni-collapse-item/uni-collapse-item.vue b/wuye-manager-uniapp/uni_modules/uni-collapse/components/uni-collapse-item/uni-collapse-item.vue new file mode 100644 index 0000000..2f0862e --- /dev/null +++ b/wuye-manager-uniapp/uni_modules/uni-collapse/components/uni-collapse-item/uni-collapse-item.vue @@ -0,0 +1,402 @@ + + + + + diff --git a/wuye-manager-uniapp/uni_modules/uni-collapse/components/uni-collapse/uni-collapse.vue b/wuye-manager-uniapp/uni_modules/uni-collapse/components/uni-collapse/uni-collapse.vue new file mode 100644 index 0000000..f42690f --- /dev/null +++ b/wuye-manager-uniapp/uni_modules/uni-collapse/components/uni-collapse/uni-collapse.vue @@ -0,0 +1,147 @@ + + + diff --git a/wuye-manager-uniapp/uni_modules/uni-collapse/package.json b/wuye-manager-uniapp/uni_modules/uni-collapse/package.json new file mode 100644 index 0000000..cc9ccac --- /dev/null +++ b/wuye-manager-uniapp/uni_modules/uni-collapse/package.json @@ -0,0 +1,106 @@ +{ + "id": "uni-collapse", + "displayName": "uni-collapse 折叠面板", + "version": "1.4.8", + "description": "Collapse 组件,可以折叠 / 展开的内容区域。", + "keywords": [ + "uni-ui", + "折叠", + "折叠面板", + "手风琴" +], + "repository": "https://github.com/dcloudio/uni-ui", + "engines": { + "HBuilderX": "", + "uni-app": "^4.07", + "uni-app-x": "" + }, + "directories": { + "example": "../../temps/example_temps" + }, + "dcloudext": { + "sale": { + "regular": { + "price": "0.00" + }, + "sourcecode": { + "price": "0.00" + } + }, + "contact": { + "qq": "" + }, + "declaration": { + "ads": "无", + "data": "无", + "permissions": "无" + }, + "npmurl": "https://www.npmjs.com/package/@dcloudio/uni-ui", + "type": "component-vue", + "darkmode": "x", + "i18n": "x", + "widescreen": "x" + }, + "uni_modules": { + "dependencies": [ + "uni-scss", + "uni-icons" + ], + "encrypt": [], + "platforms": { + "cloud": { + "tcb": "x", + "aliyun": "x", + "alipay": "x" + }, + "client": { + "uni-app": { + "vue": { + "vue2": "√", + "vue3": "√" + }, + "web": { + "safari": "√", + "chrome": "√" + }, + "app": { + "vue": "√", + "nvue": "√", + "android": "√", + "ios": "√", + "harmony": "√" + }, + "mp": { + "weixin": "√", + "alipay": "√", + "toutiao": "√", + "baidu": "√", + "kuaishou": "-", + "jd": "-", + "harmony": "-", + "qq": "√", + "lark": "-" + }, + "quickapp": { + "huawei": "√", + "union": "√" + } + }, + "uni-app-x": { + "web": { + "safari": "-", + "chrome": "-" + }, + "app": { + "android": "-", + "ios": "-", + "harmony": "-" + }, + "mp": { + "weixin": "-" + } + } + } + } + } +} \ No newline at end of file diff --git a/wuye-manager-uniapp/uni_modules/uni-collapse/readme.md b/wuye-manager-uniapp/uni_modules/uni-collapse/readme.md new file mode 100644 index 0000000..bc758eb --- /dev/null +++ b/wuye-manager-uniapp/uni_modules/uni-collapse/readme.md @@ -0,0 +1,12 @@ + + +## Collapse 折叠面板 +> **组件名:uni-collapse** +> 代码块: `uCollapse` +> 关联组件:`uni-collapse-item`、`uni-icons`。 + + +折叠面板用来折叠/显示过长的内容或者是列表。通常是在多内容分类项使用,折叠不重要的内容,显示重要内容。点击可以展开折叠部分。 + +### [查看文档](https://uniapp.dcloud.io/component/uniui/uni-collapse) +#### 如使用过程中有任何问题,或者您对uni-ui有一些好的建议,欢迎加入 uni-ui 交流群:871950839 \ No newline at end of file diff --git a/wuye-manager-uniapp/uni_modules/uni-combox/changelog.md b/wuye-manager-uniapp/uni_modules/uni-combox/changelog.md new file mode 100644 index 0000000..a9c0f2c --- /dev/null +++ b/wuye-manager-uniapp/uni_modules/uni-combox/changelog.md @@ -0,0 +1,17 @@ +## 1.0.2(2024-09-21) +- 新增 clearAble属性 +## 1.0.1(2021-11-23) +- 优化 label、label-width 属性 +## 1.0.0(2021-11-19) +- 优化 组件UI,并提供设计资源,详见:[https://uniapp.dcloud.io/component/uniui/resource](https://uniapp.dcloud.io/component/uniui/resource) +- 文档迁移,详见:[https://uniapp.dcloud.io/component/uniui/uni-combox](https://uniapp.dcloud.io/component/uniui/uni-combox) +## 0.1.0(2021-07-30) +- 组件兼容 vue3,如何创建vue3项目,详见 [uni-app 项目支持 vue3 介绍](https://ask.dcloud.net.cn/article/37834) +## 0.0.6(2021-05-12) +- 新增 组件示例地址 +## 0.0.5(2021-04-21) +- 优化 添加依赖 uni-icons, 导入后自动下载依赖 +## 0.0.4(2021-02-05) +- 优化 组件引用关系,通过uni_modules引用组件 +## 0.0.3(2021-02-04) +- 调整为uni_modules目录规范 diff --git a/wuye-manager-uniapp/uni_modules/uni-combox/components/uni-combox/uni-combox.vue b/wuye-manager-uniapp/uni_modules/uni-combox/components/uni-combox/uni-combox.vue new file mode 100644 index 0000000..cc702c2 --- /dev/null +++ b/wuye-manager-uniapp/uni_modules/uni-combox/components/uni-combox/uni-combox.vue @@ -0,0 +1,284 @@ + + + + + diff --git a/wuye-manager-uniapp/uni_modules/uni-combox/package.json b/wuye-manager-uniapp/uni_modules/uni-combox/package.json new file mode 100644 index 0000000..7af24fc --- /dev/null +++ b/wuye-manager-uniapp/uni_modules/uni-combox/package.json @@ -0,0 +1,88 @@ +{ + "id": "uni-combox", + "displayName": "uni-combox 组合框", + "version": "1.0.2", + "description": "可以选择也可以输入的表单项 ", + "keywords": [ + "uni-ui", + "uniui", + "combox", + "组合框", + "select" +], + "repository": "https://github.com/dcloudio/uni-ui", + "engines": { + "HBuilderX": "" + }, + "directories": { + "example": "../../temps/example_temps" + }, +"dcloudext": { + "sale": { + "regular": { + "price": "0.00" + }, + "sourcecode": { + "price": "0.00" + } + }, + "contact": { + "qq": "" + }, + "declaration": { + "ads": "无", + "data": "无", + "permissions": "无" + }, + "npmurl": "https://www.npmjs.com/package/@dcloudio/uni-ui", + "type": "component-vue" + }, + "uni_modules": { + "dependencies": [ + "uni-scss", + "uni-icons" + ], + "encrypt": [], + "platforms": { + "cloud": { + "tcb": "y", + "aliyun": "y", + "alipay": "n" + }, + "client": { + "App": { + "app-vue": "y", + "app-nvue": "n" + }, + "H5-mobile": { + "Safari": "y", + "Android Browser": "y", + "微信浏览器(Android)": "y", + "QQ浏览器(Android)": "y" + }, + "H5-pc": { + "Chrome": "y", + "IE": "y", + "Edge": "y", + "Firefox": "y", + "Safari": "y" + }, + "小程序": { + "微信": "y", + "阿里": "y", + "百度": "y", + "字节跳动": "y", + "QQ": "y" + }, + "快应用": { + "华为": "u", + "联盟": "u" + }, + "Vue": { + "vue2": "y", + "vue3": "y" + } + } + } + } +} diff --git a/wuye-manager-uniapp/uni_modules/uni-combox/readme.md b/wuye-manager-uniapp/uni_modules/uni-combox/readme.md new file mode 100644 index 0000000..ffa2cc8 --- /dev/null +++ b/wuye-manager-uniapp/uni_modules/uni-combox/readme.md @@ -0,0 +1,11 @@ + + +## Combox 组合框 +> **组件名:uni-combox** +> 代码块: `uCombox` + + +组合框组件。 + +### [查看文档](https://uniapp.dcloud.io/component/uniui/uni-combox) +#### 如使用过程中有任何问题,或者您对uni-ui有一些好的建议,欢迎加入 uni-ui 交流群:871950839 \ No newline at end of file diff --git a/wuye-manager-uniapp/uni_modules/uni-countdown/changelog.md b/wuye-manager-uniapp/uni_modules/uni-countdown/changelog.md new file mode 100644 index 0000000..baed0ad --- /dev/null +++ b/wuye-manager-uniapp/uni_modules/uni-countdown/changelog.md @@ -0,0 +1,30 @@ +## 1.2.5(2025-04-14) +- 修复 filterShow 导致的运行报错 +## 1.2.4(2024-09-21) +- 新增 支持控制显示位数 默认显示2位 +## 1.2.3(2024-02-20) +- 新增 支持控制小时,分钟的显隐:showHour showMinute +## 1.2.2(2022-01-19) +- 修复 在微信小程序中样式不生效的bug +## 1.2.1(2022-01-18) +- 新增 update 方法 ,在动态更新时间后,刷新组件 +## 1.2.0(2021-11-19) +- 优化 组件UI,并提供设计资源,详见:[https://uniapp.dcloud.io/component/uniui/resource](https://uniapp.dcloud.io/component/uniui/resource) +- 文档迁移,详见:[https://uniapp.dcloud.io/component/uniui/uni-countdown](https://uniapp.dcloud.io/component/uniui/uni-countdown) +## 1.1.3(2021-10-18) +- 重构 +- 新增 font-size 支持自定义字体大小 +## 1.1.2(2021-08-24) +- 新增 支持国际化 +## 1.1.1(2021-07-30) +- 优化 vue3下小程序事件警告的问题 +## 1.1.0(2021-07-30) +- 组件兼容 vue3,如何创建vue3项目,详见 [uni-app 项目支持 vue3 介绍](https://ask.dcloud.net.cn/article/37834) +## 1.0.5(2021-06-18) +- 修复 uni-countdown 重复赋值跳两秒的 bug +## 1.0.4(2021-05-12) +- 新增 组件示例地址 +## 1.0.3(2021-05-08) +- 修复 uni-countdown 不能控制倒计时的 bug +## 1.0.2(2021-02-04) +- 调整为uni_modules目录规范 diff --git a/wuye-manager-uniapp/uni_modules/uni-countdown/components/uni-countdown/i18n/en.json b/wuye-manager-uniapp/uni_modules/uni-countdown/components/uni-countdown/i18n/en.json new file mode 100644 index 0000000..06309cb --- /dev/null +++ b/wuye-manager-uniapp/uni_modules/uni-countdown/components/uni-countdown/i18n/en.json @@ -0,0 +1,6 @@ +{ + "uni-countdown.day": "day", + "uni-countdown.h": "h", + "uni-countdown.m": "m", + "uni-countdown.s": "s" +} diff --git a/wuye-manager-uniapp/uni_modules/uni-countdown/components/uni-countdown/i18n/index.js b/wuye-manager-uniapp/uni_modules/uni-countdown/components/uni-countdown/i18n/index.js new file mode 100644 index 0000000..de7509c --- /dev/null +++ b/wuye-manager-uniapp/uni_modules/uni-countdown/components/uni-countdown/i18n/index.js @@ -0,0 +1,8 @@ +import en from './en.json' +import zhHans from './zh-Hans.json' +import zhHant from './zh-Hant.json' +export default { + en, + 'zh-Hans': zhHans, + 'zh-Hant': zhHant +} diff --git a/wuye-manager-uniapp/uni_modules/uni-countdown/components/uni-countdown/i18n/zh-Hans.json b/wuye-manager-uniapp/uni_modules/uni-countdown/components/uni-countdown/i18n/zh-Hans.json new file mode 100644 index 0000000..358cdd1 --- /dev/null +++ b/wuye-manager-uniapp/uni_modules/uni-countdown/components/uni-countdown/i18n/zh-Hans.json @@ -0,0 +1,6 @@ +{ + "uni-countdown.day": "天", + "uni-countdown.h": "时", + "uni-countdown.m": "分", + "uni-countdown.s": "秒" +} diff --git a/wuye-manager-uniapp/uni_modules/uni-countdown/components/uni-countdown/i18n/zh-Hant.json b/wuye-manager-uniapp/uni_modules/uni-countdown/components/uni-countdown/i18n/zh-Hant.json new file mode 100644 index 0000000..e5a63de --- /dev/null +++ b/wuye-manager-uniapp/uni_modules/uni-countdown/components/uni-countdown/i18n/zh-Hant.json @@ -0,0 +1,6 @@ +{ + "uni-countdown.day": "天", + "uni-countdown.h": "時", + "uni-countdown.m": "分", + "uni-countdown.s": "秒" +} diff --git a/wuye-manager-uniapp/uni_modules/uni-countdown/components/uni-countdown/uni-countdown.vue b/wuye-manager-uniapp/uni_modules/uni-countdown/components/uni-countdown/uni-countdown.vue new file mode 100644 index 0000000..d9c2939 --- /dev/null +++ b/wuye-manager-uniapp/uni_modules/uni-countdown/components/uni-countdown/uni-countdown.vue @@ -0,0 +1,278 @@ + + + diff --git a/wuye-manager-uniapp/uni_modules/uni-countdown/package.json b/wuye-manager-uniapp/uni_modules/uni-countdown/package.json new file mode 100644 index 0000000..73c35f5 --- /dev/null +++ b/wuye-manager-uniapp/uni_modules/uni-countdown/package.json @@ -0,0 +1,86 @@ +{ + "id": "uni-countdown", + "displayName": "uni-countdown 倒计时", + "version": "1.2.5", + "description": "CountDown 倒计时组件", + "keywords": [ + "uni-ui", + "uniui", + "countdown", + "倒计时" +], + "repository": "https://github.com/dcloudio/uni-ui", + "engines": { + "HBuilderX": "" + }, + "directories": { + "example": "../../temps/example_temps" + }, +"dcloudext": { + "sale": { + "regular": { + "price": "0.00" + }, + "sourcecode": { + "price": "0.00" + } + }, + "contact": { + "qq": "" + }, + "declaration": { + "ads": "无", + "data": "无", + "permissions": "无" + }, + "npmurl": "https://www.npmjs.com/package/@dcloudio/uni-ui", + "type": "component-vue" + }, + "uni_modules": { + "dependencies": ["uni-scss"], + "encrypt": [], + "platforms": { + "cloud": { + "tcb": "y", + "aliyun": "y", + "alipay": "n" + }, + "client": { + "App": { + "app-vue": "y", + "app-nvue": "y", + "app-harmony": "u", + "app-uvue": "u" + }, + "H5-mobile": { + "Safari": "y", + "Android Browser": "y", + "微信浏览器(Android)": "y", + "QQ浏览器(Android)": "y" + }, + "H5-pc": { + "Chrome": "y", + "IE": "y", + "Edge": "y", + "Firefox": "y", + "Safari": "y" + }, + "小程序": { + "微信": "y", + "阿里": "y", + "百度": "y", + "字节跳动": "y", + "QQ": "y" + }, + "快应用": { + "华为": "u", + "联盟": "u" + }, + "Vue": { + "vue2": "y", + "vue3": "y" + } + } + } + } +} diff --git a/wuye-manager-uniapp/uni_modules/uni-countdown/readme.md b/wuye-manager-uniapp/uni_modules/uni-countdown/readme.md new file mode 100644 index 0000000..4bcb1aa --- /dev/null +++ b/wuye-manager-uniapp/uni_modules/uni-countdown/readme.md @@ -0,0 +1,10 @@ + + +## CountDown 倒计时 +> **组件名:uni-countdown** +> 代码块: `uCountDown` + +倒计时组件。 + +### [查看文档](https://uniapp.dcloud.io/component/uniui/uni-countdown) +#### 如使用过程中有任何问题,或者您对uni-ui有一些好的建议,欢迎加入 uni-ui 交流群:871950839 \ No newline at end of file diff --git a/wuye-manager-uniapp/uni_modules/uni-data-checkbox/changelog.md b/wuye-manager-uniapp/uni_modules/uni-data-checkbox/changelog.md new file mode 100644 index 0000000..7c99f6c --- /dev/null +++ b/wuye-manager-uniapp/uni_modules/uni-data-checkbox/changelog.md @@ -0,0 +1,51 @@ +## 1.0.6(2024-10-22) +- 新增 当 multiple 为 false 且传递的 value 为 数组时,使用数组第一项用作反显 +## 1.0.5(2024-03-20) +- 修复 单选模式下选中样式不生效的bug +## 1.0.4(2024-01-27) +- 修复 修复错别字chagne为change +## 1.0.3(2022-09-16) +- 可以使用 uni-scss 控制主题色 +## 1.0.2(2022-06-30) +- 优化 在 uni-forms 中的依赖注入方式 +## 1.0.1(2022-02-07) +- 修复 multiple 为 true 时,v-model 的值为 null 报错的 bug +## 1.0.0(2021-11-19) +- 优化 组件UI,并提供设计资源,详见:[https://uniapp.dcloud.io/component/uniui/resource](https://uniapp.dcloud.io/component/uniui/resource) +- 文档迁移,详见:[https://uniapp.dcloud.io/component/uniui/uni-data-checkbox](https://uniapp.dcloud.io/component/uniui/uni-data-checkbox) +## 0.2.5(2021-08-23) +- 修复 在uni-forms中 modelValue 中不存在当前字段,当前字段必填写也不参与校验的问题 +## 0.2.4(2021-08-17) +- 修复 单选 list 模式下 ,icon 为 left 时,选中图标不显示的问题 +## 0.2.3(2021-08-11) +- 修复 在 uni-forms 中重置表单,错误信息无法清除的问题 +## 0.2.2(2021-07-30) +- 优化 在uni-forms组件,与label不对齐的问题 +## 0.2.1(2021-07-27) +- 修复 单选默认值为0不能选中的Bug +## 0.2.0(2021-07-13) +- 组件兼容 vue3,如何创建vue3项目,详见 [uni-app 项目支持 vue3 介绍](https://ask.dcloud.net.cn/article/37834) +## 0.1.11(2021-07-06) +- 优化 删除无用日志 +## 0.1.10(2021-07-05) +- 修复 由 0.1.9 引起的非 nvue 端图标不显示的问题 +## 0.1.9(2021-07-05) +- 修复 nvue 黑框样式问题 +## 0.1.8(2021-06-28) +- 修复 selectedTextColor 属性不生效的Bug +## 0.1.7(2021-06-02) +- 新增 map 属性,可以方便映射text/value属性 +## 0.1.6(2021-05-26) +- 修复 不关联服务空间的情况下组件报错的Bug +## 0.1.5(2021-05-12) +- 新增 组件示例地址 +## 0.1.4(2021-04-09) +- 修复 nvue 下无法选中的问题 +## 0.1.3(2021-03-22) +- 新增 disabled属性 +## 0.1.2(2021-02-24) +- 优化 默认颜色显示 +## 0.1.1(2021-02-24) +- 新增 支持nvue +## 0.1.0(2021-02-18) +- “暂无数据”显示居中 diff --git a/wuye-manager-uniapp/uni_modules/uni-data-checkbox/components/uni-data-checkbox/clientdb.js b/wuye-manager-uniapp/uni_modules/uni-data-checkbox/components/uni-data-checkbox/clientdb.js new file mode 100644 index 0000000..9a44a9e --- /dev/null +++ b/wuye-manager-uniapp/uni_modules/uni-data-checkbox/components/uni-data-checkbox/clientdb.js @@ -0,0 +1,316 @@ + +const events = { + load: 'load', + error: 'error' +} +const pageMode = { + add: 'add', + replace: 'replace' +} + +const attrs = [ + 'pageCurrent', + 'pageSize', + 'collection', + 'action', + 'field', + 'getcount', + 'orderby', + 'where' +] + +export default { + data() { + return { + loading: false, + listData: this.getone ? {} : [], + paginationInternal: { + current: this.pageCurrent, + size: this.pageSize, + count: 0 + }, + errorMessage: '' + } + }, + created() { + let db = null; + let dbCmd = null; + + if(this.collection){ + this.db = uniCloud.database(); + this.dbCmd = this.db.command; + } + + this._isEnded = false + + this.$watch(() => { + let al = [] + attrs.forEach(key => { + al.push(this[key]) + }) + return al + }, (newValue, oldValue) => { + this.paginationInternal.pageSize = this.pageSize + + let needReset = false + for (let i = 2; i < newValue.length; i++) { + if (newValue[i] != oldValue[i]) { + needReset = true + break + } + } + if (needReset) { + this.clear() + this.reset() + } + if (newValue[0] != oldValue[0]) { + this.paginationInternal.current = this.pageCurrent + } + + this._execLoadData() + }) + + // #ifdef H5 + if (process.env.NODE_ENV === 'development') { + this._debugDataList = [] + if (!window.unidev) { + window.unidev = { + clientDB: { + data: [] + } + } + } + unidev.clientDB.data.push(this._debugDataList) + } + // #endif + + // #ifdef MP-TOUTIAO + let changeName + let events = this.$scope.dataset.eventOpts + for (let i = 0; i < events.length; i++) { + let event = events[i] + if (event[0].includes('^load')) { + changeName = event[1][0][0] + } + } + if (changeName) { + let parent = this.$parent + let maxDepth = 16 + this._changeDataFunction = null + while (parent && maxDepth > 0) { + let fun = parent[changeName] + if (fun && typeof fun === 'function') { + this._changeDataFunction = fun + maxDepth = 0 + break + } + parent = parent.$parent + maxDepth--; + } + } + // #endif + + // if (!this.manual) { + // this.loadData() + // } + }, + // #ifdef H5 + beforeDestroy() { + if (process.env.NODE_ENV === 'development' && window.unidev) { + let cd = this._debugDataList + let dl = unidev.clientDB.data + for (let i = dl.length - 1; i >= 0; i--) { + if (dl[i] === cd) { + dl.splice(i, 1) + break + } + } + } + }, + // #endif + methods: { + loadData(args1, args2) { + let callback = null + if (typeof args1 === 'object') { + if (args1.clear) { + this.clear() + this.reset() + } + if (args1.current !== undefined) { + this.paginationInternal.current = args1.current + } + if (typeof args2 === 'function') { + callback = args2 + } + } else if (typeof args1 === 'function') { + callback = args1 + } + + this._execLoadData(callback) + }, + loadMore() { + if (this._isEnded) { + return + } + this._execLoadData() + }, + refresh() { + this.clear() + this._execLoadData() + }, + clear() { + this._isEnded = false + this.listData = [] + }, + reset() { + this.paginationInternal.current = 1 + }, + remove(id, { + action, + callback, + confirmTitle, + confirmContent + } = {}) { + if (!id || !id.length) { + return + } + uni.showModal({ + title: confirmTitle || '提示', + content: confirmContent || '是否删除该数据', + showCancel: true, + success: (res) => { + if (!res.confirm) { + return + } + this._execRemove(id, action, callback) + } + }) + }, + _execLoadData(callback) { + if (this.loading) { + return + } + this.loading = true + this.errorMessage = '' + + this._getExec().then((res) => { + this.loading = false + const { + data, + count + } = res.result + this._isEnded = data.length < this.pageSize + + callback && callback(data, this._isEnded) + this._dispatchEvent(events.load, data) + + if (this.getone) { + this.listData = data.length ? data[0] : undefined + } else if (this.pageData === pageMode.add) { + this.listData.push(...data) + if (this.listData.length) { + this.paginationInternal.current++ + } + } else if (this.pageData === pageMode.replace) { + this.listData = data + this.paginationInternal.count = count + } + + // #ifdef H5 + if (process.env.NODE_ENV === 'development') { + this._debugDataList.length = 0 + this._debugDataList.push(...JSON.parse(JSON.stringify(this.listData))) + } + // #endif + }).catch((err) => { + this.loading = false + this.errorMessage = err + callback && callback() + this.$emit(events.error, err) + }) + }, + _getExec() { + let exec = this.db + if (this.action) { + exec = exec.action(this.action) + } + + exec = exec.collection(this.collection) + + if (!(!this.where || !Object.keys(this.where).length)) { + exec = exec.where(this.where) + } + if (this.field) { + exec = exec.field(this.field) + } + if (this.orderby) { + exec = exec.orderBy(this.orderby) + } + + const { + current, + size + } = this.paginationInternal + exec = exec.skip(size * (current - 1)).limit(size).get({ + getCount: this.getcount + }) + + return exec + }, + _execRemove(id, action, callback) { + if (!this.collection || !id) { + return + } + + const ids = Array.isArray(id) ? id : [id] + if (!ids.length) { + return + } + + uni.showLoading({ + mask: true + }) + + let exec = this.db + if (action) { + exec = exec.action(action) + } + + exec.collection(this.collection).where({ + _id: dbCmd.in(ids) + }).remove().then((res) => { + callback && callback(res.result) + if (this.pageData === pageMode.replace) { + this.refresh() + } else { + this.removeData(ids) + } + }).catch((err) => { + uni.showModal({ + content: err.message, + showCancel: false + }) + }).finally(() => { + uni.hideLoading() + }) + }, + removeData(ids) { + let il = ids.slice(0) + let dl = this.listData + for (let i = dl.length - 1; i >= 0; i--) { + let index = il.indexOf(dl[i]._id) + if (index >= 0) { + dl.splice(i, 1) + il.splice(index, 1) + } + } + }, + _dispatchEvent(type, data) { + if (this._changeDataFunction) { + this._changeDataFunction(data, this._isEnded) + } else { + this.$emit(type, data, this._isEnded) + } + } + } +} diff --git a/wuye-manager-uniapp/uni_modules/uni-data-checkbox/components/uni-data-checkbox/uni-data-checkbox.vue b/wuye-manager-uniapp/uni_modules/uni-data-checkbox/components/uni-data-checkbox/uni-data-checkbox.vue new file mode 100644 index 0000000..4da7bbe --- /dev/null +++ b/wuye-manager-uniapp/uni_modules/uni-data-checkbox/components/uni-data-checkbox/uni-data-checkbox.vue @@ -0,0 +1,853 @@ + + + + + diff --git a/wuye-manager-uniapp/uni_modules/uni-data-checkbox/package.json b/wuye-manager-uniapp/uni_modules/uni-data-checkbox/package.json new file mode 100644 index 0000000..f823e8b --- /dev/null +++ b/wuye-manager-uniapp/uni_modules/uni-data-checkbox/package.json @@ -0,0 +1,87 @@ +{ + "id": "uni-data-checkbox", + "displayName": "uni-data-checkbox 数据选择器", + "version": "1.0.6", + "description": "通过数据驱动的单选框和复选框", + "keywords": [ + "uni-ui", + "checkbox", + "单选", + "多选", + "单选多选" +], + "repository": "https://github.com/dcloudio/uni-ui", + "engines": { + "HBuilderX": "^3.1.1" + }, + "directories": { + "example": "../../temps/example_temps" + }, +"dcloudext": { + "sale": { + "regular": { + "price": "0.00" + }, + "sourcecode": { + "price": "0.00" + } + }, + "contact": { + "qq": "" + }, + "declaration": { + "ads": "无", + "data": "无", + "permissions": "无" + }, + "npmurl": "https://www.npmjs.com/package/@dcloudio/uni-ui", + "type": "component-vue" + }, + "uni_modules": { + "dependencies": ["uni-load-more","uni-scss"], + "encrypt": [], + "platforms": { + "cloud": { + "tcb": "y", + "aliyun": "y", + "alipay": "n" + }, + "client": { + "App": { + "app-vue": "y", + "app-nvue": "y", + "app-harmony": "u", + "app-uvue": "u" + }, + "H5-mobile": { + "Safari": "y", + "Android Browser": "y", + "微信浏览器(Android)": "y", + "QQ浏览器(Android)": "y" + }, + "H5-pc": { + "Chrome": "y", + "IE": "y", + "Edge": "y", + "Firefox": "y", + "Safari": "y" + }, + "小程序": { + "微信": "y", + "阿里": "y", + "百度": "y", + "字节跳动": "y", + "QQ": "y" + }, + "快应用": { + "华为": "u", + "联盟": "u" + }, + "Vue": { + "vue2": "y", + "vue3": "y" + } + } + } + } +} diff --git a/wuye-manager-uniapp/uni_modules/uni-data-checkbox/readme.md b/wuye-manager-uniapp/uni_modules/uni-data-checkbox/readme.md new file mode 100644 index 0000000..6eb253d --- /dev/null +++ b/wuye-manager-uniapp/uni_modules/uni-data-checkbox/readme.md @@ -0,0 +1,18 @@ + + +## DataCheckbox 数据驱动的单选复选框 +> **组件名:uni-data-checkbox** +> 代码块: `uDataCheckbox` + + +本组件是基于uni-app基础组件checkbox的封装。本组件要解决问题包括: + +1. 数据绑定型组件:给本组件绑定一个data,会自动渲染一组候选内容。再以往,开发者需要编写不少代码实现类似功能 +2. 自动的表单校验:组件绑定了data,且符合[uni-forms](https://ext.dcloud.net.cn/plugin?id=2773)组件的表单校验规范,搭配使用会自动实现表单校验 +3. 本组件合并了单选多选 +4. 本组件有若干风格选择,如普通的单选多选框、并列button风格、tag风格。开发者可以快速选择需要的风格。但作为一个封装组件,样式代码虽然不用自己写了,却会牺牲一定的样式自定义性 + +在uniCloud开发中,`DB Schema`中配置了enum枚举等类型后,在web控制台的[自动生成表单](https://uniapp.dcloud.io/uniCloud/schema?id=autocode)功能中,会自动生成``uni-data-checkbox``组件并绑定好data + +### [查看文档](https://uniapp.dcloud.io/component/uniui/uni-data-checkbox) +#### 如使用过程中有任何问题,或者您对uni-ui有一些好的建议,欢迎加入 uni-ui 交流群:871950839 \ No newline at end of file diff --git a/wuye-manager-uniapp/uni_modules/uni-data-picker/changelog.md b/wuye-manager-uniapp/uni_modules/uni-data-picker/changelog.md new file mode 100644 index 0000000..10dd088 --- /dev/null +++ b/wuye-manager-uniapp/uni_modules/uni-data-picker/changelog.md @@ -0,0 +1,79 @@ +## 2.0.2(2025-04-14) +- 修复 在readonly属性为true时选项匹配错误的问题 +## 2.0.0(2023-12-14) +- 新增 支持 uni-app-x +## 1.1.2(2023-04-11) +- 修复 更改 modelValue 报错的 bug +- 修复 v-for 未使用 key 值控制台 warning +## 1.1.1(2023-02-21) +- 修复代码合并时引发 value 属性为空时不渲染数据的问题 +## 1.1.0(2023-02-15) +- 修复 localdata 不支持动态更新的bug +## 1.0.9(2023-02-15) +- 修复 localdata 不支持动态更新的bug +## 1.0.8(2022-09-16) +- 可以使用 uni-scss 控制主题色 +## 1.0.7(2022-07-06) +- 优化 pc端图标位置不正确的问题 +## 1.0.6(2022-07-05) +- 优化 显示样式 +## 1.0.5(2022-07-04) +- 修复 uni-data-picker 在 uni-forms-item 中宽度不正确的bug +## 1.0.4(2022-04-19) +- 修复 字节小程序 本地数据无法选择下一级的Bug +## 1.0.3(2022-02-25) +- 修复 nvue 不支持的 v-show 的 bug +## 1.0.2(2022-02-25) +- 修复 条件编译 nvue 不支持的 css 样式 +## 1.0.1(2021-11-23) +- 修复 由上个版本引发的map、v-model等属性不生效的bug +## 1.0.0(2021-11-19) +- 优化 组件 UI,并提供设计资源,详见:[https://uniapp.dcloud.io/component/uniui/resource](https://uniapp.dcloud.io/component/uniui/resource) +- 文档迁移,详见:[https://uniapp.dcloud.io/component/uniui/uni-data-picker](https://uniapp.dcloud.io/component/uniui/uni-data-picker) +## 0.4.9(2021-10-28) +- 修复 VUE2 v-model 概率无效的 bug +## 0.4.8(2021-10-27) +- 修复 v-model 概率无效的 bug +## 0.4.7(2021-10-25) +- 新增 属性 spaceInfo 服务空间配置 HBuilderX 3.2.11+ +- 修复 树型 uniCloud 数据类型为 int 时报错的 bug +## 0.4.6(2021-10-19) +- 修复 非 VUE3 v-model 为 0 时无法选中的 bug +## 0.4.5(2021-09-26) +- 新增 清除已选项的功能(通过 clearIcon 属性配置是否显示按钮),同时提供 clear 方法以供调用,二者等效 +- 修复 readonly 为 true 时报错的 bug +## 0.4.4(2021-09-26) +- 修复 上一版本造成的 map 属性失效的 bug +- 新增 ellipsis 属性,支持配置 tab 选项长度过长时是否自动省略 +## 0.4.3(2021-09-24) +- 修复 某些情况下级联未触发的 bug +## 0.4.2(2021-09-23) +- 新增 提供 show 和 hide 方法,开发者可以通过 ref 调用 +- 新增 选项内容过长自动添加省略号 +## 0.4.1(2021-09-15) +- 新增 map 属性 字段映射,将 text/value 映射到数据中的其他字段 +## 0.4.0(2021-07-13) +- 组件兼容 vue3,如何创建 vue3 项目,详见 [uni-app 项目支持 vue3 介绍](https://ask.dcloud.net.cn/article/37834) +## 0.3.5(2021-06-04) +- 修复 无法加载云端数据的问题 +## 0.3.4(2021-05-28) +- 修复 v-model 无效问题 +- 修复 loaddata 为空数据组时加载时间过长问题 +- 修复 上个版本引出的本地数据无法选择带有 children 的 2 级节点 +## 0.3.3(2021-05-12) +- 新增 组件示例地址 +## 0.3.2(2021-04-22) +- 修复 非树形数据有 where 属性查询报错的问题 +## 0.3.1(2021-04-15) +- 修复 本地数据概率无法回显时问题 +## 0.3.0(2021-04-07) +- 新增 支持云端非树形表结构数据 +- 修复 根节点 parent_field 字段等于 null 时选择界面错乱问题 +## 0.2.0(2021-03-15) +- 修复 nodeclick、popupopened、popupclosed 事件无法触发的问题 +## 0.1.9(2021-03-09) +- 修复 微信小程序某些情况下无法选择的问题 +## 0.1.8(2021-02-05) +- 优化 部分样式在 nvue 上的兼容表现 +## 0.1.7(2021-02-05) +- 调整为 uni_modules 目录规范 diff --git a/wuye-manager-uniapp/uni_modules/uni-data-picker/components/uni-data-picker/keypress.js b/wuye-manager-uniapp/uni_modules/uni-data-picker/components/uni-data-picker/keypress.js new file mode 100644 index 0000000..6ef26a2 --- /dev/null +++ b/wuye-manager-uniapp/uni_modules/uni-data-picker/components/uni-data-picker/keypress.js @@ -0,0 +1,45 @@ +// #ifdef H5 +export default { + name: 'Keypress', + props: { + disable: { + type: Boolean, + default: false + } + }, + mounted () { + const keyNames = { + esc: ['Esc', 'Escape'], + tab: 'Tab', + enter: 'Enter', + space: [' ', 'Spacebar'], + up: ['Up', 'ArrowUp'], + left: ['Left', 'ArrowLeft'], + right: ['Right', 'ArrowRight'], + down: ['Down', 'ArrowDown'], + delete: ['Backspace', 'Delete', 'Del'] + } + const listener = ($event) => { + if (this.disable) { + return + } + const keyName = Object.keys(keyNames).find(key => { + const keyName = $event.key + const value = keyNames[key] + return value === keyName || (Array.isArray(value) && value.includes(keyName)) + }) + if (keyName) { + // 避免和其他按键事件冲突 + setTimeout(() => { + this.$emit(keyName, {}) + }, 0) + } + } + document.addEventListener('keyup', listener) + this.$once('hook:beforeDestroy', () => { + document.removeEventListener('keyup', listener) + }) + }, + render: () => {} +} +// #endif diff --git a/wuye-manager-uniapp/uni_modules/uni-data-picker/components/uni-data-picker/uni-data-picker.uvue b/wuye-manager-uniapp/uni_modules/uni-data-picker/components/uni-data-picker/uni-data-picker.uvue new file mode 100644 index 0000000..82031e1 --- /dev/null +++ b/wuye-manager-uniapp/uni_modules/uni-data-picker/components/uni-data-picker/uni-data-picker.uvue @@ -0,0 +1,380 @@ + + + + + diff --git a/wuye-manager-uniapp/uni_modules/uni-data-picker/components/uni-data-picker/uni-data-picker.vue b/wuye-manager-uniapp/uni_modules/uni-data-picker/components/uni-data-picker/uni-data-picker.vue new file mode 100644 index 0000000..be5bb64 --- /dev/null +++ b/wuye-manager-uniapp/uni_modules/uni-data-picker/components/uni-data-picker/uni-data-picker.vue @@ -0,0 +1,560 @@ + + + + + diff --git a/wuye-manager-uniapp/uni_modules/uni-data-picker/components/uni-data-pickerview/loading.uts b/wuye-manager-uniapp/uni_modules/uni-data-picker/components/uni-data-pickerview/loading.uts new file mode 100644 index 0000000..baa0dff --- /dev/null +++ b/wuye-manager-uniapp/uni_modules/uni-data-picker/components/uni-data-pickerview/loading.uts @@ -0,0 +1 @@ +export const imgbase : string = 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAABACAYAAACqaXHeAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyJpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMy1jMDExIDY2LjE0NTY2MSwgMjAxMi8wMi8wNi0xNDo1NjoyNyAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENTNiAoV2luZG93cykiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6QzlBMzU3OTlEOUM0MTFFOUI0NTZDNERBQURBQzI4RkUiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6QzlBMzU3OUFEOUM0MTFFOUI0NTZDNERBQURBQzI4RkUiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDpDOUEzNTc5N0Q5QzQxMUU5QjQ1NkM0REFBREFDMjhGRSIgc3RSZWY6ZG9jdW1lbnRJRD0ieG1wLmRpZDpDOUEzNTc5OEQ5QzQxMUU5QjQ1NkM0REFBREFDMjhGRSIvPiA8L3JkZjpEZXNjcmlwdGlvbj4gPC9yZGY6UkRGPiA8L3g6eG1wbWV0YT4gPD94cGFja2V0IGVuZD0iciI/Pt+ALSwAAA6CSURBVHja1FsLkFZVHb98LM+F5bHL8khA1iSeiyQBCRM+YGqKUnnJTDLGI0BGZlKDIU2MMglUiDApEZvSsZnQtBRJtKwQNKQMFYeRDR10WOLd8ljYXdh+v8v5fR3Od+797t1dnOnO/Ofce77z+J//+b/P+ZqtXbs2sJ9MJhNUV1cHJ06cCJo3bx7EPc2aNcvpy7pWrVoF+/fvDyoqKoI2bdoE9fX1F7TjN8a+EXBn/fkfvw942Tf+wYMHg9mzZwfjxo0LDhw4EPa1x2MbFw/fOGfPng1qa2tzcCkILsLDydq2bRsunpOTMM7TD/W/tZDZhPdeKD+yGxHhdu3aBV27dg3OnDlzMVANMheLAO3btw8KCwuDmpoaX5OxbgUIMEq7K8IcPnw4KCsrC/r37x8cP378/4cAXAB3vqSkJMuiDhTkw+XcuXNhOWbMmKBly5YhUT8xArhyFvP0BfwRsAuwxJZJsm/nzp2DTp06he/OU+cZ64K6o0ePBkOHDg2GDx8e6gEbJ5Q/NHNuAJQ1hgBeHUDlR7nVTkY8rQAvAi4z34vR/mPs1FoRsaCgIJThI0eOBC1atEiFGGV+5MiRoS45efJkqFjJFXV1dQuA012m2WcwTw98fy6CqBdsaiIO4CScrGPHjvk4odhavPquRtFWXEC25VgkREKOCh/qDSq+vn37htzD/mZTOmOc5U7zKzBPEedygWshcDyWvs30igAbU+6oyMgJBCFhwQE0fccxN60Ay9iebbjoDh06hMowjQxT4fXq1SskArmHZpkArvixp/kWzHdMeArExSJEaiXIjjRjRJ4DaAGWpibLzXN3Fm1vA5teBgh3j1Rv3bp1YgKwPdmf2p9zcyNYYgPKMfY0T5f5nNYdw158nJ8QawW4CLKwiOBSEgO/hok2eBydR+3dYH+PLxA5J8Vv0KBBwenTp0P2JWAx6+yFEBfs8lMY+y0SWMBNI9E4ThKi58VKTg3FQZS1RQF1cz27eC0QHMu+3E0SkUowjhVt5VdaWhp07949ZHv2Qd1EjDXM2cla1M0nl3GxAs3J9yREzyTdFVKVFOaE9qRA8GM0WebRuo9JGZKA7Mv2SeS/Z8+eoQ9BArMfFrLGo6jvxbhHbJZnKX2Rzz1O7QhJJ9Cs2ZMaWIyq/zhdeqPNfIoHd58clIQD+JSXl4dKlyIAuBdVXZwFVWKspSSoxE++h8x4k3uCnEhE4I5KwRiFWGOU0QWKiCYLbdoRMRKAu2kQ9vkfLU6dOhX06NEjlH+yMRZSinnuyWnYosVcji8CEA/6Cg2JF+IIUBqnGKUTCNwtwBN4f89RiK1R96DEgO2o0NDmtEdvVFdVVYV+P3UAPUEs6GFwV3PHmXkD4vh74iDFJysVI/MlaQhwKeBNTLYX5VuA8T4/gZxA4MRGFxDB6R7OmYPfyykGRJbyie+XnGYnQIC/coH9+vULiYrxrkL9ZA9+0ykaHIfEpM7ge8TiJ2CsHYwyMfafAF1yCGBHYIbCVDjDjKt7BeB51D+LgQa6OkG7IDYEEtvQ7lnXLKLtLdLuJBpE4gPUXcW2+PkZwOex+4cGDhwYDBkyRL7/HFcEwUGPo/8uWRUpYnfxGHco8HkewLHLyYmAawAPuIFZxhOpDfJQ8gbUv41yORAptMWBNr6oqMhWird5+u+iHmBb2nhjDV7HWBNQTgK8y11l5NetWzc5ULscAtSj7nbNI0skhWeUZCc0W4nyH/jO4Vz0u1IeYhbk4AiwM6tjxIWByHsoZ9qcIBPJd/y+DwPfBESOmCa/QF3WiZHucLlEDpNxcNhmheEOPgdQNx6/VZFQzFZ5TN08AHXQt2Ii3EdyFuUsPtTcGPhW5iMiCNELvz+Gdn9huG4HUJaW/w3g0wxV0XaG7arG2WeKiUWYM4Y7GO5ezshTARbbWGw/DvXkpp/ivVvE0JVoMxN4rpGzJMhE5Pl+xlATsDIqikP9F9D2z3h9nOksEUFhK+qO4rcPkoalMQ/HqJLIyb3F3JdjrCcw1yZ8joyJLR5gCo54etlag7qIoeNh1N1BRYj3DTFJ0elotxPlVzkGuYAmL0VSJVGAJA41c4Z6A3BzTLfn0HYwYKEI6CUAMzZEWvLsIcQOo1AmmyyM72nHJCfYsogflGV6jEk9vyQZXSuq6w4c16NsGcGZbwOPr+H1RkOk2LEzjNepxQkihHSCQ4ynAYNRx2zMKV92CQMWqj8J0BRE8EShxRFN6YrfCRhC0x3r/Zm4IbQCcmJoV0kMamllccR6FjHqUC5F2R/wS2dcymOlfAKOS4KmzQb5cpNC2MC7JhVn5wjXoJ44rYhLh8n0eXOCorJxa7POjbSlCGVczr34/RsAmrcvo9s+wGp3tzVhntxiXiJ4nvEYb4FJkf0O8HocAePmLvCxnL0AORraVekJk6TYjDabRVXfRE2lCN1h6ZQRN1+InUbsCpKwoBZHh0dODN9JBCUffItXxEavTQkUtnfTVAplCWL3JISz29h4NjotnuSsQKJCk8dF+kJR6RARjrqFVmfPnj3ZbK8cIJ0msd6jgHPGtfVTQ8VLmlvh4mct9sobRmPic0DyDQQnx/NlfYUgyz59+oScsH379pAwXABD32nTpoUHIToESeI5mnbE/UqDdyLcafEBf2MCqgC7NwxIbMREJQ0g4D4sfJwnD+AmRrII05cfMWJE+L1169bQr+fip06dGp4oJ83lmYd5wj/EmMa4TaHivo4EeCguYZBnkB5g2aWA69OIEnUHOaGysjIYMGBAMGnSpODYsWPZwCpFmm4lNq+4gSLQA7jcX8DwtjEyRC8wjabnXEx9kfWnTJkSJkAo90xpJVV+FmcVNeYAF5zWngS4C4O91MBxmAv8blLEpbjI5sz9MTdAhcgkCT1RO8mZkAjfiYpTEvStAS53Uw1vAiUGgZ3GpuQEYvoiBqlIan7kSDHnTwJQFNiPu0+5VxCVYhcZIjNrdXUDdp+Eq5AZ3Gkg8QAyVZRZIk4Tl4QAbF9cXJxNYZMAtAokgs4BrNxEpCtteXg7DDTMDKYNSuQdKsnJBek7HxewvxaosWxLYXtw+cJp18217wql4aKCfBNoEu0O5VU+PhctJ0YeXD4C6JQpyrlpSLTojpGGGN5YwNziChdIZLk4lvLcFJ9jMX3QdiImY9bmGQU+TRUL5CHITTRlgF8D9ouD1MfmLoEPl5xokIumZ2cfgMpHt47IW9N64Hsh7wQYYjyIugWuF5fCqYncXRd5vPMWyizzvhi/32+nvG0dZc9vR6fZOu0md5e+uC408FvKSIOZwXlGvxPv95izA2Vtvg1xKFWARI+vMX66HUhpQQb643uW1bSjuTWyw2SBvDrBvjFic1eGGlz5esq3ko9uSIlBRqPuFcCv8F4WIcN12nVaBd0SaYwI6PDDImR11JkqgHcPmQssjxIn6bUshygDFJUTxPMpHk+jfjPgupgdnYV2R/g7xSjtpah8RJBewhwf0gGK6XI92u4wXFEU40afJ4DN4h5LcAd+40HI3JgJecuT0c062W0i2hQJUTcxan3/CMW1PF2K6bbA+Daz4xRs1D3Br1Cm0OihKCqizW78/nXAF/G5TXrEcVzaNMH6CyMswqsAHqDyDLEyou8lwOXnKF8DjI6KjV3KzMBiXkDH8ij/H214J5A596ekrZ3F0zXlWeL7+P5eUrNo3/QwC15uxthuzidy7DzKRwEDaAViiDgKbTbz7CJnzo0bN7pIfIiid8SuPwn25o3QCmpnyjlZkyxPP8EomCJzrGb7GJMx7tNsq4MT2xMUYaiErZOluTzKsnz3gwCeCZyVRZJfYplNEokEjwrPtxlxjeYAk+F1F74VAzPxQRNYYdtpOUvWs8J1sGhBJMNsb7igN8plJs1eSmLIhLKE4rvaCX27gOhLpLOsIzJ7qn/i+wZzcvSOZ23/du8TZjwV8zHIXoP4R3ifBxiFz1dcVpa3aPntPE+c6TmIWE9EtcMmAcPdWAhYhAXxcLOQi9L1WhD1Sc8p1d2oL7XGiRKp8F4A2i8K/nfI+y/gsTDJ/YC/8+AD5Uh04KHiGl+cIFPnBDDrPMjwRGkLXyxO4VGbfQWnDH2v0bVWE3C9QOXlepbgjEfIJQI6XDG3z5ahD9cw2pS78ipB85wyScNTvsVzlzzhL8/jRrnmVjfFJK/m3m4nj9vbgQTguT8XZTjsm672R5uJKEaQmBI/c58gyus8ZDagLpEVSJBIyHp4jn++xqPV71OgQgJYEWOtZ/haxRtKmWOBu8xdBLftWltsY84zE6WIEy/eIOWL+BaayMx+KHtL7EAkqdNDLiEXmEMUHniedtJqg9HmZtfvt26vNi0BdG3Ft3g8ZOf7PAu59TxtzivLNIekyi+wD1i8CuUiD9FXAa8C+/xS3JPmZnomyc7H+fb4/Se0bk41Fel621r4cgVxbq91V4jVqwB7HTe2M7jgB+QWHavZkDRPmZcASoZEmBx6i75bGjPcMdL4/VKGFAGWZkGzPG0XAbdL9A81G5LOmUnC9hHKJeO7dcUMjblSl12867ElFTtaGl20xvvLGPdVz/8TVuU7y0x1PG7vtNg24oz9Uo/Z412++VFWI7Fcog9tu9Lm6gvRmIPv9x1xmQAu6RDkXtbOtlGEmpgD5Nvnyc0dcv0EE6cfdi1HmhMf9wDF3k3gtRvEedhxjpgfqPb9PU9iEJHnyOUA7bQUXh6kq/D7l2iTjWv7XOD530BDr8jIrus+srXjt4MzumJMHuTsBa63YKE1+RR5lBjEikCCnWKWiHdzOgKO+nRIBAF88za/IFmJ3eMZov4CYxGBabcpGL8EYx+SeMXJeRwHNsV/h+vdxeuhEpN3ZyNY78Gm2fknJxVGhyjixPiQvVkNzT1elD9Py/aTAL64Hb9vcYmC9zfdXdT/C1LeGbg4rnBaAihDFJH12W5ulfNCNe/xTsP3bp8ikzJs5BF+5PNfAQYAPaseTdsEcaYAAAAASUVORK5CYII=' \ No newline at end of file diff --git a/wuye-manager-uniapp/uni_modules/uni-data-picker/components/uni-data-pickerview/uni-data-picker.js b/wuye-manager-uniapp/uni_modules/uni-data-picker/components/uni-data-pickerview/uni-data-picker.js new file mode 100644 index 0000000..cfae22a --- /dev/null +++ b/wuye-manager-uniapp/uni_modules/uni-data-picker/components/uni-data-pickerview/uni-data-picker.js @@ -0,0 +1,622 @@ +export default { + props: { + localdata: { + type: [Array, Object], + default () { + return [] + } + }, + spaceInfo: { + type: Object, + default () { + return {} + } + }, + collection: { + type: String, + default: '' + }, + action: { + type: String, + default: '' + }, + field: { + type: String, + default: '' + }, + orderby: { + type: String, + default: '' + }, + where: { + type: [String, Object], + default: '' + }, + pageData: { + type: String, + default: 'add' + }, + pageCurrent: { + type: Number, + default: 1 + }, + pageSize: { + type: Number, + default: 500 + }, + getcount: { + type: [Boolean, String], + default: false + }, + getone: { + type: [Boolean, String], + default: false + }, + gettree: { + type: [Boolean, String], + default: false + }, + manual: { + type: Boolean, + default: false + }, + value: { + type: [Array, String, Number], + default () { + return [] + } + }, + modelValue: { + type: [Array, String, Number], + default () { + return [] + } + }, + preload: { + type: Boolean, + default: false + }, + stepSearh: { + type: Boolean, + default: true + }, + selfField: { + type: String, + default: '' + }, + parentField: { + type: String, + default: '' + }, + multiple: { + type: Boolean, + default: false + }, + map: { + type: Object, + default () { + return { + text: "text", + value: "value" + } + } + } + }, + data() { + return { + loading: false, + errorMessage: '', + loadMore: { + contentdown: '', + contentrefresh: '', + contentnomore: '' + }, + dataList: [], + selected: [], + selectedIndex: 0, + page: { + current: this.pageCurrent, + size: this.pageSize, + count: 0 + } + } + }, + computed: { + isLocalData() { + return !this.collection.length; + }, + isCloudData() { + return this.collection.length > 0; + }, + isCloudDataList() { + return (this.isCloudData && (!this.parentField && !this.selfField)); + }, + isCloudDataTree() { + return (this.isCloudData && this.parentField && this.selfField); + }, + dataValue() { + let isModelValue = Array.isArray(this.modelValue) ? (this.modelValue.length > 0) : (this.modelValue !== null || + this.modelValue !== undefined); + return isModelValue ? this.modelValue : this.value; + }, + hasValue() { + if (typeof this.dataValue === 'number') { + return true + } + return (this.dataValue != null) && (this.dataValue.length > 0) + } + }, + created() { + this.$watch(() => { + var al = []; + ['pageCurrent', + 'pageSize', + 'spaceInfo', + 'value', + 'modelValue', + 'localdata', + 'collection', + 'action', + 'field', + 'orderby', + 'where', + 'getont', + 'getcount', + 'gettree' + ].forEach(key => { + al.push(this[key]) + }); + return al + }, (newValue, oldValue) => { + let needReset = false + for (let i = 2; i < newValue.length; i++) { + if (newValue[i] != oldValue[i]) { + needReset = true + break + } + } + if (newValue[0] != oldValue[0]) { + this.page.current = this.pageCurrent + } + this.page.size = this.pageSize + + this.onPropsChange() + }) + this._treeData = [] + }, + methods: { + onPropsChange() { + this._treeData = []; + }, + + // 填充 pickview 数据 + async loadData() { + if (this.isLocalData) { + this.loadLocalData(); + } else if (this.isCloudDataList) { + this.loadCloudDataList(); + } else if (this.isCloudDataTree) { + this.loadCloudDataTree(); + } + }, + + // 加载本地数据 + async loadLocalData() { + this._treeData = []; + this._extractTree(this.localdata, this._treeData); + + let inputValue = this.dataValue; + if (inputValue === undefined) { + return; + } + + if (Array.isArray(inputValue)) { + inputValue = inputValue[inputValue.length - 1]; + if (typeof inputValue === 'object' && inputValue[this.map.value]) { + inputValue = inputValue[this.map.value]; + } + } + + this.selected = this._findNodePath(inputValue, this.localdata); + }, + + // 加载 Cloud 数据 (单列) + async loadCloudDataList() { + if (this.loading) { + return; + } + this.loading = true; + + try { + let response = await this.getCommand(); + let responseData = response.result.data; + + this._treeData = responseData; + + this._updateBindData(); + this._updateSelected(); + + this.onDataChange(); + } catch (e) { + this.errorMessage = e; + } finally { + this.loading = false; + } + }, + + // 加载 Cloud 数据 (树形) + async loadCloudDataTree() { + if (this.loading) { + return; + } + this.loading = true; + + try { + let commandOptions = { + field: this._cloudDataPostField(), + where: this._cloudDataTreeWhere() + }; + if (this.gettree) { + commandOptions.startwith = `${this.selfField}=='${this.dataValue}'`; + } + + let response = await this.getCommand(commandOptions); + let responseData = response.result.data; + + this._treeData = responseData; + this._updateBindData(); + this._updateSelected(); + + this.onDataChange(); + } catch (e) { + this.errorMessage = e; + } finally { + this.loading = false; + } + }, + + // 加载 Cloud 数据 (节点) + async loadCloudDataNode(callback) { + if (this.loading) { + return; + } + this.loading = true; + + try { + let commandOptions = { + field: this._cloudDataPostField(), + where: this._cloudDataNodeWhere() + }; + + let response = await this.getCommand(commandOptions); + let responseData = response.result.data; + + callback(responseData); + } catch (e) { + this.errorMessage = e; + } finally { + this.loading = false; + } + }, + + // 回显 Cloud 数据 + getCloudDataValue() { + if (this.isCloudDataList) { + return this.getCloudDataListValue(); + } + + if (this.isCloudDataTree) { + return this.getCloudDataTreeValue(); + } + }, + + // 回显 Cloud 数据 (单列) + getCloudDataListValue() { + // 根据 field's as value标识匹配 where 条件 + let where = []; + let whereField = this._getForeignKeyByField(); + if (whereField) { + where.push(`${whereField} == '${this.dataValue}'`) + } + + where = where.join(' || '); + + if (this.where) { + where = `(${this.where}) && (${where})` + } + + return this.getCommand({ + field: this._cloudDataPostField(), + where + }).then((res) => { + this.selected = res.result.data; + return res.result.data; + }); + }, + + // 回显 Cloud 数据 (树形) + getCloudDataTreeValue() { + return this.getCommand({ + field: this._cloudDataPostField(), + getTreePath: { + startWith: `${this.selfField}=='${this.dataValue}'` + } + }).then((res) => { + let treePath = []; + this._extractTreePath(res.result.data, treePath); + this.selected = treePath; + return treePath; + }); + }, + + getCommand(options = {}) { + /* eslint-disable no-undef */ + let db = uniCloud.database(this.spaceInfo) + + const action = options.action || this.action + if (action) { + db = db.action(action) + } + + const collection = options.collection || this.collection + db = db.collection(collection) + + const where = options.where || this.where + if (!(!where || !Object.keys(where).length)) { + db = db.where(where) + } + + const field = options.field || this.field + if (field) { + db = db.field(field) + } + + const orderby = options.orderby || this.orderby + if (orderby) { + db = db.orderBy(orderby) + } + + const current = options.pageCurrent !== undefined ? options.pageCurrent : this.page.current + const size = options.pageSize !== undefined ? options.pageSize : this.page.size + const getCount = options.getcount !== undefined ? options.getcount : this.getcount + const getTree = options.gettree !== undefined ? options.gettree : this.gettree + + const getOptions = { + getCount, + getTree + } + if (options.getTreePath) { + getOptions.getTreePath = options.getTreePath + } + + db = db.skip(size * (current - 1)).limit(size).get(getOptions) + + return db + }, + + _cloudDataPostField() { + let fields = [this.field]; + if (this.parentField) { + fields.push(`${this.parentField} as parent_value`); + } + return fields.join(','); + }, + + _cloudDataTreeWhere() { + let result = [] + let selected = this.selected + let parentField = this.parentField + if (parentField) { + result.push(`${parentField} == null || ${parentField} == ""`) + } + if (selected.length) { + for (var i = 0; i < selected.length - 1; i++) { + result.push(`${parentField} == '${selected[i].value}'`) + } + } + + let where = [] + if (this.where) { + where.push(`(${this.where})`) + } + + if (result.length) { + where.push(`(${result.join(' || ')})`) + } + + return where.join(' && ') + }, + + _cloudDataNodeWhere() { + let where = [] + let selected = this.selected; + if (selected.length) { + where.push(`${this.parentField} == '${selected[selected.length - 1].value}'`); + } + + where = where.join(' || '); + + if (this.where) { + return `(${this.where}) && (${where})` + } + + return where + }, + + _getWhereByForeignKey() { + let result = [] + let whereField = this._getForeignKeyByField(); + if (whereField) { + result.push(`${whereField} == '${this.dataValue}'`) + } + + if (this.where) { + return `(${this.where}) && (${result.join(' || ')})` + } + + return result.join(' || ') + }, + + _getForeignKeyByField() { + let fields = this.field.split(','); + let whereField = null; + for (let i = 0; i < fields.length; i++) { + const items = fields[i].split('as'); + if (items.length < 2) { + continue; + } + if (items[1].trim() === 'value') { + whereField = items[0].trim(); + break; + } + } + return whereField; + }, + + _updateBindData(node) { + const { + dataList, + hasNodes + } = this._filterData(this._treeData, this.selected) + + let isleaf = this._stepSearh === false && !hasNodes + + if (node) { + node.isleaf = isleaf + } + + this.dataList = dataList + this.selectedIndex = dataList.length - 1 + + if (!isleaf && this.selected.length < dataList.length) { + this.selected.push({ + value: null, + text: "请选择" + }) + } + + return { + isleaf, + hasNodes + } + }, + + _updateSelected() { + let dl = this.dataList + let sl = this.selected + let textField = this.map.text + let valueField = this.map.value + for (let i = 0; i < sl.length; i++) { + let value = sl[i].value + let dl2 = dl[i] + for (let j = 0; j < dl2.length; j++) { + let item2 = dl2[j] + if (item2[valueField] === value) { + sl[i].text = item2[textField] + break + } + } + } + }, + + _filterData(data, paths) { + let dataList = [] + let hasNodes = true + + dataList.push(data.filter((item) => { + return (item.parent_value === null || item.parent_value === undefined || item.parent_value === '') + })) + for (let i = 0; i < paths.length; i++) { + let value = paths[i].value + let nodes = data.filter((item) => { + return item.parent_value === value + }) + + if (nodes.length) { + dataList.push(nodes) + } else { + hasNodes = false + } + } + + return { + dataList, + hasNodes + } + }, + + _extractTree(nodes, result, parent_value) { + let list = result || [] + let valueField = this.map.value + for (let i = 0; i < nodes.length; i++) { + let node = nodes[i] + + let child = {} + for (let key in node) { + if (key !== 'children') { + child[key] = node[key] + } + } + if (parent_value !== null && parent_value !== undefined && parent_value !== '') { + child.parent_value = parent_value + } + result.push(child) + + let children = node.children + if (children) { + this._extractTree(children, result, node[valueField]) + } + } + }, + + _extractTreePath(nodes, result) { + let list = result || [] + for (let i = 0; i < nodes.length; i++) { + let node = nodes[i] + + let child = {} + for (let key in node) { + if (key !== 'children') { + child[key] = node[key] + } + } + result.push(child) + + let children = node.children + if (children) { + this._extractTreePath(children, result) + } + } + }, + + _findNodePath(key, nodes, path = []) { + let textField = this.map.text + let valueField = this.map.value + for (let i = 0; i < nodes.length; i++) { + let node = nodes[i] + let children = node.children + let text = node[textField] + let value = node[valueField] + + path.push({ + value, + text + }) + + if (value === key) { + return path + } + + if (children) { + const p = this._findNodePath(key, children, path) + if (p.length) { + return p + } + } + + path.pop() + } + return [] + } + } +} diff --git a/wuye-manager-uniapp/uni_modules/uni-data-picker/components/uni-data-pickerview/uni-data-picker.uts b/wuye-manager-uniapp/uni_modules/uni-data-picker/components/uni-data-pickerview/uni-data-picker.uts new file mode 100644 index 0000000..372795d --- /dev/null +++ b/wuye-manager-uniapp/uni_modules/uni-data-picker/components/uni-data-pickerview/uni-data-picker.uts @@ -0,0 +1,693 @@ +export type PaginationType = { + current : number, + size : number, + count : number +} + +export type LoadMoreType = { + contentdown : string, + contentrefresh : string, + contentnomore : string +} + +export type SelectedItemType = { + name : string, + value : string, +} + +export type GetCommandOptions = { + collection ?: UTSJSONObject, + field ?: string, + orderby ?: string, + where ?: any, + pageData ?: string, + pageCurrent ?: number, + pageSize ?: number, + getCount ?: boolean, + getTree ?: any, + getTreePath ?: UTSJSONObject, + startwith ?: string, + limitlevel ?: number, + groupby ?: string, + groupField ?: string, + distinct ?: boolean, + pageIndistinct ?: boolean, + foreignKey ?: string, + loadtime ?: string, + manual ?: boolean +} + +const DefaultSelectedNode = { + text: '请选择', + value: '' +} + +export const dataPicker = defineMixin({ + props: { + localdata: { + type: Array as PropType>, + default: [] as Array + }, + collection: { + type: Object, + default: '' + }, + field: { + type: String, + default: '' + }, + orderby: { + type: String, + default: '' + }, + where: { + type: Object, + default: '' + }, + pageData: { + type: String, + default: 'add' + }, + pageCurrent: { + type: Number, + default: 1 + }, + pageSize: { + type: Number, + default: 20 + }, + getcount: { + type: Boolean, + default: false + }, + gettree: { + type: Object, + default: '' + }, + gettreepath: { + type: Object, + default: '' + }, + startwith: { + type: String, + default: '' + }, + limitlevel: { + type: Number, + default: 10 + }, + groupby: { + type: String, + default: '' + }, + groupField: { + type: String, + default: '' + }, + distinct: { + type: Boolean, + default: false + }, + pageIndistinct: { + type: Boolean, + default: false + }, + foreignKey: { + type: String, + default: '' + }, + loadtime: { + type: String, + default: 'auto' + }, + manual: { + type: Boolean, + default: false + }, + preload: { + type: Boolean, + default: false + }, + stepSearh: { + type: Boolean, + default: true + }, + selfField: { + type: String, + default: '' + }, + parentField: { + type: String, + default: '' + }, + multiple: { + type: Boolean, + default: false + }, + value: { + type: Object, + default: '' + }, + modelValue: { + type: Object, + default: '' + }, + defaultProps: { + type: Object as PropType, + } + }, + data() { + return { + loading: false, + error: null as UniCloudError | null, + treeData: [] as Array, + selectedIndex: 0, + selectedNodes: [] as Array, + selectedPages: [] as Array[], + selectedValue: '', + selectedPaths: [] as Array, + pagination: { + current: 1, + size: 20, + count: 0 + } as PaginationType + } + }, + computed: { + mappingTextName() : string { + // TODO + return (this.defaultProps != null) ? this.defaultProps!.getString('text', 'text') : 'text' + }, + mappingValueName() : string { + // TODO + return (this.defaultProps != null) ? this.defaultProps!.getString('value', 'value') : 'value' + }, + currentDataList() : Array { + if (this.selectedIndex > this.selectedPages.length - 1) { + return [] as Array + } + return this.selectedPages[this.selectedIndex] + }, + isLocalData() : boolean { + return this.localdata.length > 0 + }, + isCloudData() : boolean { + return this._checkIsNotNull(this.collection) + }, + isCloudDataList() : boolean { + return (this.isCloudData && (this.parentField.length == 0 && this.selfField.length == 0)) + }, + isCloudDataTree() : boolean { + return (this.isCloudData && this.parentField.length > 0 && this.selfField.length > 0) + }, + dataValue() : any { + return this.hasModelValue ? this.modelValue : this.value + }, + hasCloudTreeData() : boolean { + return this.treeData.length > 0 + }, + hasModelValue() : boolean { + if (typeof this.modelValue == 'string') { + const valueString = this.modelValue as string + return (valueString.length > 0) + } else if (Array.isArray(this.modelValue)) { + const valueArray = this.modelValue as Array + return (valueArray.length > 0) + } + return false + }, + hasCloudDataValue() : boolean { + if (typeof this.dataValue == 'string') { + const valueString = this.dataValue as string + return (valueString.length > 0) + } + return false + } + }, + created() { + this.pagination.current = this.pageCurrent + this.pagination.size = this.pageSize + + this.$watch( + () : any => [ + this.pageCurrent, + this.pageSize, + this.localdata, + this.value, + this.collection, + this.field, + this.getcount, + this.orderby, + this.where, + this.groupby, + this.groupField, + this.distinct + ], + (newValue : Array, oldValue : Array) => { + this.pagination.size = this.pageSize + if (newValue[0] !== oldValue[0]) { + this.pagination.current = this.pageCurrent + } + + this.onPropsChange() + } + ) + }, + methods: { + onPropsChange() { + this.selectedIndex = 0 + this.treeData.length = 0 + this.selectedNodes.length = 0 + this.selectedPages.length = 0 + this.selectedPaths.length = 0 + + // 加载数据 + this.$nextTick(() => { + this.loadData() + }) + }, + + onTabSelect(index : number) { + this.selectedIndex = index + }, + + onNodeClick(nodeData : UTSJSONObject) { + if (nodeData.getBoolean('disable', false)) { + return + } + + const isLeaf = this._checkIsLeafNode(nodeData) + + this._trimSelectedNodes(nodeData) + + this.$emit('nodeclick', nodeData) + + if (this.isLocalData) { + if (isLeaf || !this._checkHasChildren(nodeData)) { + this.onFinish() + } + } else if (this.isCloudDataList) { + this.onFinish() + } else if (this.isCloudDataTree) { + if (isLeaf) { + this.onFinish() + } else if (!this._checkHasChildren(nodeData)) { + // 尝试请求一次,如果没有返回数据标记为叶子节点 + this.loadCloudDataNode(nodeData) + } + } + }, + + getChangeNodes(): Array { + const nodes: Array = [] + this.selectedNodes.forEach((node : UTSJSONObject) => { + const newNode: UTSJSONObject = {} + newNode[this.mappingTextName] = node.getString(this.mappingTextName) + newNode[this.mappingValueName] = node.getString(this.mappingValueName) + nodes.push(newNode) + }) + return nodes + }, + + onFinish() { }, + + // 加载数据(自动判定环境) + loadData() { + if (this.isLocalData) { + this.loadLocalData() + } else if (this.isCloudDataList) { + this.loadCloudDataList() + } else if (this.isCloudDataTree) { + this.loadCloudDataTree() + } + }, + + // 加载本地数据 + loadLocalData() { + this.treeData = this.localdata + if (Array.isArray(this.dataValue)) { + const value = this.dataValue as Array + this.selectedPaths = value.slice(0) + this._pushSelectedTreeNodes(value, this.localdata) + } else { + this._pushSelectedNodes(this.localdata) + } + }, + + // 加载 Cloud 数据 (单列) + loadCloudDataList() { + this._loadCloudData(null, (data : Array) => { + this.treeData = data + this._pushSelectedNodes(data) + }) + }, + + // 加载 Cloud 数据 (树形) + loadCloudDataTree() { + let commandOptions = { + field: this._cloudDataPostField(), + where: this._cloudDataTreeWhere(), + getTree: true + } as GetCommandOptions + if (this._checkIsNotNull(this.gettree)) { + commandOptions.startwith = `${this.selfField}=='${this.dataValue as string}'` + } + this._loadCloudData(commandOptions, (data : Array) => { + this.treeData = data + if (this.selectedPaths.length > 0) { + this._pushSelectedTreeNodes(this.selectedPaths, data) + } else { + this._pushSelectedNodes(data) + } + }) + }, + + // 加载 Cloud 数据 (节点) + loadCloudDataNode(nodeData : UTSJSONObject) { + const commandOptions = { + field: this._cloudDataPostField(), + where: this._cloudDataNodeWhere() + } as GetCommandOptions + this._loadCloudData(commandOptions, (data : Array) => { + nodeData['children'] = data + if (data.length == 0) { + nodeData['isleaf'] = true + this.onFinish() + } else { + this._pushSelectedNodes(data) + } + }) + }, + + // 回显 Cloud Tree Path + loadCloudDataPath() { + if (!this.hasCloudDataValue) { + return + } + + const command : GetCommandOptions = {} + + // 单列 + if (this.isCloudDataList) { + // 根据 field's as value标识匹配 where 条件 + let where : Array = []; + let whereField = this._getForeignKeyByField(); + if (whereField.length > 0) { + where.push(`${whereField} == '${this.dataValue as string}'`) + } + + let whereString = where.join(' || ') + if (this._checkIsNotNull(this.where)) { + whereString = `(${this.where}) && (${whereString})` + } + + command.field = this._cloudDataPostField() + command.where = whereString + } + + // 树形 + if (this.isCloudDataTree) { + command.field = this._cloudDataPostField() + command.getTreePath = { + startWith: `${this.selfField}=='${this.dataValue as string}'` + } + } + + this._loadCloudData(command, (data : Array) => { + this._extractTreePath(data, this.selectedPaths) + }) + }, + + _loadCloudData(options ?: GetCommandOptions, callback ?: ((data : Array) => void)) { + if (this.loading) { + return + } + this.loading = true + + this.error = null + + this._getCommand(options).then((response : UniCloudDBGetResult) => { + callback?.(response.data) + }).catch((err : any | null) => { + this.error = err as UniCloudError + }).finally(() => { + this.loading = false + }) + }, + + _cloudDataPostField() : string { + let fields = [this.field]; + if (this.parentField.length > 0) { + fields.push(`${this.parentField} as parent_value`) + } + return fields.join(',') + }, + + _cloudDataTreeWhere() : string { + let result : Array = [] + let selectedNodes = this.selectedNodes.length > 0 ? this.selectedNodes : this.selectedPaths + let parentField = this.parentField + if (parentField.length > 0) { + result.push(`${parentField} == null || ${parentField} == ""`) + } + if (selectedNodes.length > 0) { + for (var i = 0; i < selectedNodes.length - 1; i++) { + const parentFieldValue = selectedNodes[i].getString('value', '') + result.push(`${parentField} == '${parentFieldValue}'`) + } + } + + let where : Array = [] + if (this._checkIsNotNull(this.where)) { + where.push(`(${this.where as string})`) + } + + if (result.length > 0) { + where.push(`(${result.join(' || ')})`) + } + + return where.join(' && ') + }, + + _cloudDataNodeWhere() : string { + const where : Array = [] + if (this.selectedNodes.length > 0) { + const value = this.selectedNodes[this.selectedNodes.length - 1].getString('value', '') + where.push(`${this.parentField} == '${value}'`) + } + + let whereString = where.join(' || ') + if (this._checkIsNotNull(this.where)) { + return `(${this.where as string}) && (${whereString})` + } + + return whereString + }, + + _getWhereByForeignKey() : string { + let result : Array = [] + let whereField = this._getForeignKeyByField(); + if (whereField.length > 0) { + result.push(`${whereField} == '${this.dataValue as string}'`) + } + + if (this._checkIsNotNull(this.where)) { + return `(${this.where}) && (${result.join(' || ')})` + } + + return result.join(' || ') + }, + + _getForeignKeyByField() : string { + const fields = this.field.split(',') + let whereField = '' + for (let i = 0; i < fields.length; i++) { + const items = fields[i].split('as') + if (items.length < 2) { + continue + } + if (items[1].trim() === 'value') { + whereField = items[0].trim() + break + } + } + return whereField + }, + + _getCommand(options ?: GetCommandOptions) : Promise { + let db = uniCloud.databaseForJQL() + + let collection = Array.isArray(this.collection) ? db.collection(...(this.collection as Array)) : db.collection(this.collection) + + let filter : UniCloudDBFilter | null = null + if (this.foreignKey.length > 0) { + filter = collection.foreignKey(this.foreignKey) + } + + const where : any = options?.where ?? this.where + if (typeof where == 'string') { + const whereString = where as string + if (whereString.length > 0) { + filter = (filter != null) ? filter.where(where) : collection.where(where) + } + } else { + filter = (filter != null) ? filter.where(where) : collection.where(where) + } + + let query : UniCloudDBQuery | null = null + if (this.field.length > 0) { + query = (filter != null) ? filter.field(this.field) : collection.field(this.field) + } + if (this.groupby.length > 0) { + if (query != null) { + query = query.groupBy(this.groupby) + } else if (filter != null) { + query = filter.groupBy(this.groupby) + } + } + if (this.groupField.length > 0) { + if (query != null) { + query = query.groupField(this.groupField) + } else if (filter != null) { + query = filter.groupField(this.groupField) + } + } + if (this.distinct == true) { + if (query != null) { + query = query.distinct(this.field) + } else if (filter != null) { + query = filter.distinct(this.field) + } + } + if (this.orderby.length > 0) { + if (query != null) { + query = query.orderBy(this.orderby) + } else if (filter != null) { + query = filter.orderBy(this.orderby) + } + } + + const size = this.pagination.size + const current = this.pagination.current + if (query != null) { + query = query.skip(size * (current - 1)).limit(size) + } else if (filter != null) { + query = filter.skip(size * (current - 1)).limit(size) + } else { + query = collection.skip(size * (current - 1)).limit(size) + } + + const getOptions = {} + const treeOptions = { + limitLevel: this.limitlevel, + startWith: this.startwith + } + if (this.getcount == true) { + getOptions['getCount'] = this.getcount + } + + const getTree : any = options?.getTree ?? this.gettree + if (typeof getTree == 'string') { + const getTreeString = getTree as string + if (getTreeString.length > 0) { + getOptions['getTree'] = treeOptions + } + } else if (typeof getTree == 'object') { + getOptions['getTree'] = treeOptions + } else { + getOptions['getTree'] = getTree + } + + const getTreePath = options?.getTreePath ?? this.gettreepath + if (typeof getTreePath == 'string') { + const getTreePathString = getTreePath as string + if (getTreePathString.length > 0) { + getOptions['getTreePath'] = getTreePath + } + } else { + getOptions['getTreePath'] = getTreePath + } + + return query.get(getOptions) + }, + + _checkIsNotNull(value : any) : boolean { + if (typeof value == 'string') { + const valueString = value as string + return (valueString.length > 0) + } else if (value instanceof UTSJSONObject) { + return true + } + return false + }, + + _checkIsLeafNode(nodeData : UTSJSONObject) : boolean { + if (this.selectedIndex >= this.limitlevel) { + return true + } + + if (nodeData.getBoolean('isleaf', false)) { + return true + } + + return false + }, + + _checkHasChildren(nodeData : UTSJSONObject) : boolean { + const children = nodeData.getArray('children') ?? ([] as Array) + return children.length > 0 + }, + + _pushSelectedNodes(nodes : Array) { + this.selectedNodes.push(DefaultSelectedNode) + this.selectedPages.push(nodes) + this.selectedIndex = this.selectedPages.length - 1 + }, + + _trimSelectedNodes(nodeData : UTSJSONObject) { + this.selectedNodes.splice(this.selectedIndex) + this.selectedNodes.push(nodeData) + + if (this.selectedPages.length > 0) { + this.selectedPages.splice(this.selectedIndex + 1) + } + + const children = nodeData.getArray('children') ?? ([] as Array) + if (children.length > 0) { + this.selectedNodes.push(DefaultSelectedNode) + this.selectedPages.push(children) + } + + this.selectedIndex = this.selectedPages.length - 1 + }, + + _pushSelectedTreeNodes(paths : Array, nodes : Array) { + let children : Array = nodes + paths.forEach((node : UTSJSONObject) => { + const findNode = children.find((item : UTSJSONObject) : boolean => { + return (item.getString(this.mappingValueName) == node.getString(this.mappingValueName)) + }) + if (findNode != null) { + this.selectedPages.push(children) + this.selectedNodes.push(node) + children = findNode.getArray('children') ?? ([] as Array) + } + }) + this.selectedIndex = this.selectedPages.length - 1 + }, + + _extractTreePath(nodes : Array, result : Array) { + if (nodes.length == 0) { + return + } + + const node = nodes[0] + result.push(node) + + const children = node.getArray('children') + if (Array.isArray(children) && children!.length > 0) { + this._extractTreePath(children, result) + } + } + } +}) diff --git a/wuye-manager-uniapp/uni_modules/uni-data-picker/components/uni-data-pickerview/uni-data-pickerview.css b/wuye-manager-uniapp/uni_modules/uni-data-picker/components/uni-data-pickerview/uni-data-pickerview.css new file mode 100644 index 0000000..39fe1c3 --- /dev/null +++ b/wuye-manager-uniapp/uni_modules/uni-data-picker/components/uni-data-pickerview/uni-data-pickerview.css @@ -0,0 +1,76 @@ +.uni-data-pickerview { + position: relative; + flex-direction: column; + overflow: hidden; +} + +.loading-cover { + position: absolute; + left: 0; + top: 0; + right: 0; + bottom: 0; + align-items: center; + justify-content: center; + background-color: rgba(150, 150, 150, .1); +} + +.error { + background-color: #fff; + padding: 15px; +} + +.error-text { + color: #DD524D; +} + +.selected-node-list { + flex-direction: row; + flex-wrap: nowrap; +} + +.selected-node-item { + margin-left: 10px; + margin-right: 10px; + padding: 8px 10px 8px 10px; + border-bottom: 2px solid transparent; +} + +.selected-node-item-active { + color: #007aff; + border-bottom-color: #007aff; +} + +.list-view { + flex: 1; +} + +.list-item { + flex-direction: row; + justify-content: space-between; + padding: 12px 15px; + border-bottom: 1px solid #f0f0f0; +} + +.item-text { + color: #333333; +} + +.item-text-disabled { + opacity: .5; +} + +.item-text-overflow { + overflow: hidden; +} + +.check { + margin-right: 5px; + border: 2px solid #007aff; + border-left: 0; + border-top: 0; + height: 12px; + width: 6px; + transform-origin: center; + transform: rotate(45deg); +} diff --git a/wuye-manager-uniapp/uni_modules/uni-data-picker/components/uni-data-pickerview/uni-data-pickerview.uvue b/wuye-manager-uniapp/uni_modules/uni-data-picker/components/uni-data-pickerview/uni-data-pickerview.uvue new file mode 100644 index 0000000..f4780f3 --- /dev/null +++ b/wuye-manager-uniapp/uni_modules/uni-data-picker/components/uni-data-pickerview/uni-data-pickerview.uvue @@ -0,0 +1,69 @@ + + + + + diff --git a/wuye-manager-uniapp/uni_modules/uni-data-picker/components/uni-data-pickerview/uni-data-pickerview.vue b/wuye-manager-uniapp/uni_modules/uni-data-picker/components/uni-data-pickerview/uni-data-pickerview.vue new file mode 100644 index 0000000..6ebced9 --- /dev/null +++ b/wuye-manager-uniapp/uni_modules/uni-data-picker/components/uni-data-pickerview/uni-data-pickerview.vue @@ -0,0 +1,323 @@ + + + + + diff --git a/wuye-manager-uniapp/uni_modules/uni-data-picker/package.json b/wuye-manager-uniapp/uni_modules/uni-data-picker/package.json new file mode 100644 index 0000000..ba69c67 --- /dev/null +++ b/wuye-manager-uniapp/uni_modules/uni-data-picker/package.json @@ -0,0 +1,93 @@ +{ + "id": "uni-data-picker", + "displayName": "uni-data-picker 数据驱动的picker选择器", + "version": "2.0.2", + "description": "单列、多列级联选择器,常用于省市区城市选择、公司部门选择、多级分类等场景", + "keywords": [ + "uni-ui", + "uniui", + "picker", + "级联", + "省市区", + "" +], + "repository": "https://github.com/dcloudio/uni-ui", + "engines": { + "HBuilderX": "" + }, + "directories": { + "example": "../../temps/example_temps" + }, +"dcloudext": { + "sale": { + "regular": { + "price": "0.00" + }, + "sourcecode": { + "price": "0.00" + } + }, + "contact": { + "qq": "" + }, + "declaration": { + "ads": "无", + "data": "无", + "permissions": "无" + }, + "npmurl": "https://www.npmjs.com/package/@dcloudio/uni-ui", + "type": "component-vue" + }, + "uni_modules": { + "dependencies": [ + "uni-load-more", + "uni-icons", + "uni-scss" + ], + "encrypt": [], + "platforms": { + "cloud": { + "tcb": "y", + "aliyun": "y", + "alipay": "n" + }, + "client": { + "App": { + "app-vue": "y", + "app-nvue": "y", + "app-uvue": "y", + "app-harmony": "u" + }, + "H5-mobile": { + "Safari": "y", + "Android Browser": "y", + "微信浏览器(Android)": "y", + "QQ浏览器(Android)": "y" + }, + "H5-pc": { + "Chrome": "y", + "IE": "y", + "Edge": "y", + "Firefox": "y", + "Safari": "y" + }, + "小程序": { + "微信": "y", + "阿里": "y", + "百度": "y", + "字节跳动": "y", + "QQ": "y", + "京东": "u" + }, + "快应用": { + "华为": "u", + "联盟": "u" + }, + "Vue": { + "vue2": "y", + "vue3": "y" + } + } + } + } +} diff --git a/wuye-manager-uniapp/uni_modules/uni-data-picker/readme.md b/wuye-manager-uniapp/uni_modules/uni-data-picker/readme.md new file mode 100644 index 0000000..19dd0e8 --- /dev/null +++ b/wuye-manager-uniapp/uni_modules/uni-data-picker/readme.md @@ -0,0 +1,22 @@ +## DataPicker 级联选择 +> **组件名:uni-data-picker** +> 代码块: `uDataPicker` +> 关联组件:`uni-data-pickerview`、`uni-load-more`。 + + +`` 是一个选择类[datacom组件](https://uniapp.dcloud.net.cn/component/datacom)。 + +支持单列、和多列级联选择。列数没有限制,如果屏幕显示不全,顶部tab区域会左右滚动。 + +候选数据支持一次性加载完毕,也支持懒加载,比如示例图中,选择了“北京”后,动态加载北京的区县数据。 + +`` 组件尤其适用于地址选择、分类选择等选择类。 + +`` 支持本地数据、云端静态数据(json),uniCloud云数据库数据。 + +`` 可以通过JQL直连uniCloud云数据库,配套[DB Schema](https://uniapp.dcloud.net.cn/uniCloud/schema),可在schema2code中自动生成前端页面,还支持服务器端校验。 + +在uniCloud数据表中新建表“uni-id-address”和“opendb-city-china”,这2个表的schema自带foreignKey关联。在“uni-id-address”表的表结构页面使用schema2code生成前端页面,会自动生成地址管理的维护页面,自动从“opendb-city-china”表包含的中国所有省市区信息里选择地址。 + +### [查看文档](https://uniapp.dcloud.io/component/uniui/uni-data-picker) +#### 如使用过程中有任何问题,或者您对uni-ui有一些好的建议,欢迎加入 uni-ui 交流群:871950839 \ No newline at end of file diff --git a/wuye-manager-uniapp/uni_modules/uni-data-select/changelog.md b/wuye-manager-uniapp/uni_modules/uni-data-select/changelog.md new file mode 100644 index 0000000..1681eae --- /dev/null +++ b/wuye-manager-uniapp/uni_modules/uni-data-select/changelog.md @@ -0,0 +1,51 @@ +## 1.1.0(2025-08-19) +- 新增 插槽 selected empty option +- 新增 mutiple 属性,支持多选功能 +- 新增 wrap 属性,支持选中的文字超过一行显示 +- 新增 align 属性,支持修改选中的文字显示的位置 +- 新增 hideRight 属性,支持隐藏右侧所有按钮 +- 新增 mode 属性,支持修改边框样式 +- 新增 事件 open close clear +## 1.0.10(2025-04-14) +- 修复 清除按钮不展示问题 +## 1.0.9(2025-03-26) +- 优化 默认背景为白色与整体组件保持风格统一 +## 1.0.8(2024-03-28) +- 修复 在vue2下:style动态绑定导致编译失败的bug +## 1.0.7(2024-01-20) +- 修复 长文本回显超过容器的bug,超过容器部分显示省略号 +## 1.0.6(2023-04-12) +- 修复 微信小程序点击时会改变背景颜色的 bug +## 1.0.5(2023-02-03) +- 修复 禁用时会显示清空按钮 +## 1.0.4(2023-02-02) +- 优化 查询条件短期内多次变更只查询最后一次变更后的结果 +- 调整 内部缓存键名调整为 uni-data-select-lastSelectedValue +## 1.0.3(2023-01-16) +- 修复 不关联服务空间报错的问题 +## 1.0.2(2023-01-14) +- 新增 属性 `format` 可用于格式化显示选项内容 +## 1.0.1(2022-12-06) +- 修复 当where变化时,数据不会自动更新的问题 +## 0.1.9(2022-09-05) +- 修复 微信小程序下拉框出现后选择会点击到蒙板后面的输入框 +## 0.1.8(2022-08-29) +- 修复 点击的位置不准确 +## 0.1.7(2022-08-12) +- 新增 支持 disabled 属性 +## 0.1.6(2022-07-06) +- 修复 pc端宽度异常的bug +## 0.1.5 +- 修复 pc端宽度异常的bug +## 0.1.4(2022-07-05) +- 优化 显示样式 +## 0.1.3(2022-06-02) +- 修复 localdata 赋值不生效的 bug +- 新增 支持 uni.scss 修改颜色 +- 新增 支持选项禁用(数据选项设置 disabled: true 即禁用) +## 0.1.2(2022-05-08) +- 修复 当 value 为 0 时选择不生效的 bug +## 0.1.1(2022-05-07) +- 新增 记住上次的选项(仅 collection 存在时有效) +## 0.1.0(2022-04-22) +- 初始化 diff --git a/wuye-manager-uniapp/uni_modules/uni-data-select/components/uni-data-select/uni-data-select.vue b/wuye-manager-uniapp/uni_modules/uni-data-select/components/uni-data-select/uni-data-select.vue new file mode 100644 index 0000000..85b2d7b --- /dev/null +++ b/wuye-manager-uniapp/uni_modules/uni-data-select/components/uni-data-select/uni-data-select.vue @@ -0,0 +1,837 @@ + + + + + diff --git a/wuye-manager-uniapp/uni_modules/uni-data-select/package.json b/wuye-manager-uniapp/uni_modules/uni-data-select/package.json new file mode 100644 index 0000000..4033502 --- /dev/null +++ b/wuye-manager-uniapp/uni_modules/uni-data-select/package.json @@ -0,0 +1,106 @@ +{ + "id": "uni-data-select", + "displayName": "uni-data-select 下拉框选择器", + "version": "1.1.0", + "description": "通过数据驱动的下拉框选择器", + "keywords": [ + "uni-ui", + "select", + "uni-data-select", + "下拉框", + "下拉选" +], + "repository": "https://github.com/dcloudio/uni-ui", + "engines": { + "HBuilderX": "^3.1.1", + "uni-app": "^4.45", + "uni-app-x": "" + }, + "directories": { + "example": "../../temps/example_temps" + }, + "dcloudext": { + "sale": { + "regular": { + "price": "0.00" + }, + "sourcecode": { + "price": "0.00" + } + }, + "contact": { + "qq": "" + }, + "declaration": { + "ads": "无", + "data": "无", + "permissions": "无" + }, + "npmurl": "https://www.npmjs.com/package/@dcloudio/uni-ui", + "type": "component-vue", + "darkmode": "x", + "i18n": "x", + "widescreen": "x" + }, + "uni_modules": { + "dependencies": [ + "uni-load-more" + ], + "encrypt": [], + "platforms": { + "cloud": { + "tcb": "√", + "aliyun": "√", + "alipay": "√" + }, + "client": { + "uni-app": { + "vue": { + "vue2": "√", + "vue3": "√" + }, + "web": { + "safari": "√", + "chrome": "√" + }, + "app": { + "vue": "√", + "nvue": "-", + "android": "√", + "ios": "√", + "harmony": "√" + }, + "mp": { + "weixin": "√", + "alipay": "√", + "toutiao": "√", + "baidu": "-", + "kuaishou": "-", + "jd": "-", + "harmony": "-", + "qq": "-", + "lark": "-" + }, + "quickapp": { + "huawei": "-", + "union": "-" + } + }, + "uni-app-x": { + "web": { + "safari": "-", + "chrome": "-" + }, + "app": { + "android": "-", + "ios": "-", + "harmony": "-" + }, + "mp": { + "weixin": "-" + } + } + } + } + } +} \ No newline at end of file diff --git a/wuye-manager-uniapp/uni_modules/uni-data-select/readme.md b/wuye-manager-uniapp/uni_modules/uni-data-select/readme.md new file mode 100644 index 0000000..eb58de3 --- /dev/null +++ b/wuye-manager-uniapp/uni_modules/uni-data-select/readme.md @@ -0,0 +1,8 @@ +## DataSelect 下拉框选择器 +> **组件名:uni-data-select** +> 代码块: `uDataSelect` + +当选项过多时,使用下拉菜单展示并选择内容 + +### [查看文档](https://uniapp.dcloud.io/component/uniui/uni-data-select) +#### 如使用过程中有任何问题,或者您对uni-ui有一些好的建议,欢迎加入 uni-ui 交流群:871950839 diff --git a/wuye-manager-uniapp/uni_modules/uni-dateformat/changelog.md b/wuye-manager-uniapp/uni_modules/uni-dateformat/changelog.md new file mode 100644 index 0000000..d551d7b --- /dev/null +++ b/wuye-manager-uniapp/uni_modules/uni-dateformat/changelog.md @@ -0,0 +1,10 @@ +## 1.0.0(2021-11-19) +- 优化 组件UI,并提供设计资源,详见:[https://uniapp.dcloud.io/component/uniui/resource](https://uniapp.dcloud.io/component/uniui/resource) +- 文档迁移,详见:[https://uniapp.dcloud.io/component/uniui/uni-dateformat](https://uniapp.dcloud.io/component/uniui/uni-dateformat) +## 0.0.5(2021-07-08) +- 调整 默认时间不再是当前时间,而是显示'-'字符 +## 0.0.4(2021-05-12) +- 新增 组件示例地址 +## 0.0.3(2021-02-04) +- 调整为uni_modules目录规范 +- 修复 iOS 平台日期格式化出错的问题 diff --git a/wuye-manager-uniapp/uni_modules/uni-dateformat/components/uni-dateformat/date-format.js b/wuye-manager-uniapp/uni_modules/uni-dateformat/components/uni-dateformat/date-format.js new file mode 100644 index 0000000..e00d559 --- /dev/null +++ b/wuye-manager-uniapp/uni_modules/uni-dateformat/components/uni-dateformat/date-format.js @@ -0,0 +1,200 @@ +// yyyy-MM-dd hh:mm:ss.SSS 所有支持的类型 +function pad(str, length = 2) { + str += '' + while (str.length < length) { + str = '0' + str + } + return str.slice(-length) +} + +const parser = { + yyyy: (dateObj) => { + return pad(dateObj.year, 4) + }, + yy: (dateObj) => { + return pad(dateObj.year) + }, + MM: (dateObj) => { + return pad(dateObj.month) + }, + M: (dateObj) => { + return dateObj.month + }, + dd: (dateObj) => { + return pad(dateObj.day) + }, + d: (dateObj) => { + return dateObj.day + }, + hh: (dateObj) => { + return pad(dateObj.hour) + }, + h: (dateObj) => { + return dateObj.hour + }, + mm: (dateObj) => { + return pad(dateObj.minute) + }, + m: (dateObj) => { + return dateObj.minute + }, + ss: (dateObj) => { + return pad(dateObj.second) + }, + s: (dateObj) => { + return dateObj.second + }, + SSS: (dateObj) => { + return pad(dateObj.millisecond, 3) + }, + S: (dateObj) => { + return dateObj.millisecond + }, +} + +// 这都n年了iOS依然不认识2020-12-12,需要转换为2020/12/12 +function getDate(time) { + if (time instanceof Date) { + return time + } + switch (typeof time) { + case 'string': + { + // 2020-12-12T12:12:12.000Z、2020-12-12T12:12:12.000 + if (time.indexOf('T') > -1) { + return new Date(time) + } + return new Date(time.replace(/-/g, '/')) + } + default: + return new Date(time) + } +} + +export function formatDate(date, format = 'yyyy/MM/dd hh:mm:ss') { + if (!date && date !== 0) { + return '' + } + date = getDate(date) + const dateObj = { + year: date.getFullYear(), + month: date.getMonth() + 1, + day: date.getDate(), + hour: date.getHours(), + minute: date.getMinutes(), + second: date.getSeconds(), + millisecond: date.getMilliseconds() + } + const tokenRegExp = /yyyy|yy|MM|M|dd|d|hh|h|mm|m|ss|s|SSS|SS|S/ + let flag = true + let result = format + while (flag) { + flag = false + result = result.replace(tokenRegExp, function(matched) { + flag = true + return parser[matched](dateObj) + }) + } + return result +} + +export function friendlyDate(time, { + locale = 'zh', + threshold = [60000, 3600000], + format = 'yyyy/MM/dd hh:mm:ss' +}) { + if (time === '-') { + return time + } + if (!time && time !== 0) { + return '' + } + const localeText = { + zh: { + year: '年', + month: '月', + day: '天', + hour: '小时', + minute: '分钟', + second: '秒', + ago: '前', + later: '后', + justNow: '刚刚', + soon: '马上', + template: '{num}{unit}{suffix}' + }, + en: { + year: 'year', + month: 'month', + day: 'day', + hour: 'hour', + minute: 'minute', + second: 'second', + ago: 'ago', + later: 'later', + justNow: 'just now', + soon: 'soon', + template: '{num} {unit} {suffix}' + } + } + const text = localeText[locale] || localeText.zh + let date = getDate(time) + let ms = date.getTime() - Date.now() + let absMs = Math.abs(ms) + if (absMs < threshold[0]) { + return ms < 0 ? text.justNow : text.soon + } + if (absMs >= threshold[1]) { + return formatDate(date, format) + } + let num + let unit + let suffix = text.later + if (ms < 0) { + suffix = text.ago + ms = -ms + } + const seconds = Math.floor((ms) / 1000) + const minutes = Math.floor(seconds / 60) + const hours = Math.floor(minutes / 60) + const days = Math.floor(hours / 24) + const months = Math.floor(days / 30) + const years = Math.floor(months / 12) + switch (true) { + case years > 0: + num = years + unit = text.year + break + case months > 0: + num = months + unit = text.month + break + case days > 0: + num = days + unit = text.day + break + case hours > 0: + num = hours + unit = text.hour + break + case minutes > 0: + num = minutes + unit = text.minute + break + default: + num = seconds + unit = text.second + break + } + + if (locale === 'en') { + if (num === 1) { + num = 'a' + } else { + unit += 's' + } + } + + return text.template.replace(/{\s*num\s*}/g, num + '').replace(/{\s*unit\s*}/g, unit).replace(/{\s*suffix\s*}/g, + suffix) +} diff --git a/wuye-manager-uniapp/uni_modules/uni-dateformat/components/uni-dateformat/uni-dateformat.vue b/wuye-manager-uniapp/uni_modules/uni-dateformat/components/uni-dateformat/uni-dateformat.vue new file mode 100644 index 0000000..c5ed030 --- /dev/null +++ b/wuye-manager-uniapp/uni_modules/uni-dateformat/components/uni-dateformat/uni-dateformat.vue @@ -0,0 +1,88 @@ + + + + + diff --git a/wuye-manager-uniapp/uni_modules/uni-dateformat/package.json b/wuye-manager-uniapp/uni_modules/uni-dateformat/package.json new file mode 100644 index 0000000..786a670 --- /dev/null +++ b/wuye-manager-uniapp/uni_modules/uni-dateformat/package.json @@ -0,0 +1,88 @@ +{ + "id": "uni-dateformat", + "displayName": "uni-dateformat 日期格式化", + "version": "1.0.0", + "description": "日期格式化组件,可以将日期格式化为1分钟前、刚刚等形式", + "keywords": [ + "uni-ui", + "uniui", + "日期格式化", + "时间格式化", + "格式化时间", + "" +], + "repository": "https://github.com/dcloudio/uni-ui", + "engines": { + "HBuilderX": "" + }, + "directories": { + "example": "../../temps/example_temps" + }, + "dcloudext": { + "category": [ + "前端组件", + "通用组件" + ], + "sale": { + "regular": { + "price": "0.00" + }, + "sourcecode": { + "price": "0.00" + } + }, + "contact": { + "qq": "" + }, + "declaration": { + "ads": "无", + "data": "无", + "permissions": "无" + }, + "npmurl": "https://www.npmjs.com/package/@dcloudio/uni-ui" + }, + "uni_modules": { + "dependencies": ["uni-scss"], + "encrypt": [], + "platforms": { + "cloud": { + "tcb": "y", + "aliyun": "y" + }, + "client": { + "App": { + "app-vue": "y", + "app-nvue": "y" + }, + "H5-mobile": { + "Safari": "y", + "Android Browser": "y", + "微信浏览器(Android)": "y", + "QQ浏览器(Android)": "y" + }, + "H5-pc": { + "Chrome": "y", + "IE": "y", + "Edge": "y", + "Firefox": "y", + "Safari": "y" + }, + "小程序": { + "微信": "y", + "阿里": "y", + "百度": "y", + "字节跳动": "y", + "QQ": "y" + }, + "快应用": { + "华为": "y", + "联盟": "y" + }, + "Vue": { + "vue2": "y", + "vue3": "y" + } + } + } + } +} \ No newline at end of file diff --git a/wuye-manager-uniapp/uni_modules/uni-dateformat/readme.md b/wuye-manager-uniapp/uni_modules/uni-dateformat/readme.md new file mode 100644 index 0000000..37ddb6e --- /dev/null +++ b/wuye-manager-uniapp/uni_modules/uni-dateformat/readme.md @@ -0,0 +1,11 @@ + + +### DateFormat 日期格式化 +> **组件名:uni-dateformat** +> 代码块: `uDateformat` + + +日期格式化组件。 + +### [查看文档](https://uniapp.dcloud.io/component/uniui/uni-dateformat) +#### 如使用过程中有任何问题,或者您对uni-ui有一些好的建议,欢迎加入 uni-ui 交流群:871950839 \ No newline at end of file diff --git a/wuye-manager-uniapp/uni_modules/uni-datetime-picker/changelog.md b/wuye-manager-uniapp/uni_modules/uni-datetime-picker/changelog.md new file mode 100644 index 0000000..1eee75e --- /dev/null +++ b/wuye-manager-uniapp/uni_modules/uni-datetime-picker/changelog.md @@ -0,0 +1,173 @@ +## 2.2.42(2025-08-20) +- 修复 datetime-picker 小程序样式警告 +## 2.2.41(2025-08-20) +- 修复 uni-datetime-picker组件时间对比报错问题 +## 2.2.40(2025-04-14) +- 修复 绑定字符串值的时,日历面板选中状态未重置到默认值的问题 +## 2.2.39(2025-04-14) +- 修复 在 iOS 微信小程序上type='daterange'时,传入'YYYY-MM-DD'格式不生效的问题 + +## 2.2.38(2024-10-15) +- 修复 微信小程序中的getSystemInfo警告 +## 2.2.35(2024-09-21) +- 修复 没有选中日期时点击确定直接报错的Bug [详情](https://ask.dcloud.net.cn/question/198168) +## 2.2.34(2024-04-24) +- 新增 日期点击事件,在点击日期时会触发该事件。 +## 2.2.33(2024-04-15) +- 修复 抖音小程序事件传递失效bug +## 2.2.32(2024-02-20) +- 修复 日历的close事件触发异常的bug [详情](https://github.com/dcloudio/uni-ui/issues/844) +## 2.2.31(2024-02-20) +- 修复 h5平台 右边日历的月份默认+1的bug [详情](https://github.com/dcloudio/uni-ui/issues/841) +## 2.2.30(2024-01-31) +- 修复 隐藏“秒”时,在IOS15及以下版本时出现 结束时间在开始时间之前 的bug [详情](https://github.com/dcloudio/uni-ui/issues/788) +## 2.2.29(2024-01-20) +- 新增 show事件,弹窗弹出时触发该事件 [详情](https://github.com/dcloudio/uni-app/issues/4694) +## 2.2.28(2024-01-18) +- 去除 noChange事件,当进行日期范围选择时,若只选了一天,则开始结束日期都为同一天 [详情](https://github.com/dcloudio/uni-ui/issues/815) +## 2.2.27(2024-01-10) +- 优化 增加noChange事件,当进行日期范围选择时,若有空值,则触发该事件 [详情](https://github.com/dcloudio/uni-ui/issues/815) +## 2.2.26(2024-01-08) +- 修复 字节小程序时间选择范围器失效问题 [详情](https://github.com/dcloudio/uni-ui/issues/834) +## 2.2.25(2023-10-18) +- 修复 PC端初次修改时间,开始时间未更新的Bug [详情](https://github.com/dcloudio/uni-ui/issues/737) +## 2.2.24(2023-06-02) +- 修复 部分情况修改时间,开始、结束时间显示异常的Bug [详情](https://ask.dcloud.net.cn/question/171146) +- 优化 当前月可以选择上月、下月的日期的Bug +## 2.2.23(2023-05-02) +- 修复 部分情况修改时间,开始时间未更新的Bug [详情](https://github.com/dcloudio/uni-ui/issues/737) +- 修复 部分平台及设备第一次点击无法显示弹框的Bug +- 修复 ios 日期格式未补零显示及使用异常的Bug [详情](https://ask.dcloud.net.cn/question/162979) +## 2.2.22(2023-03-30) +- 修复 日历 picker 修改年月后,自动选中当月1日的Bug [详情](https://ask.dcloud.net.cn/question/165937) +- 修复 小程序端 低版本 ios NaN的Bug [详情](https://ask.dcloud.net.cn/question/162979) +## 2.2.21(2023-02-20) +- 修复 firefox 浏览器显示区域点击无法拉起日历弹框的Bug [详情](https://ask.dcloud.net.cn/question/163362) +## 2.2.20(2023-02-17) +- 优化 值为空依然选中当天问题 +- 优化 提供 default-value 属性支持配置选择器打开时默认显示的时间 +- 优化 非范围选择未选择日期时间,点击确认按钮选中当前日期时间 +- 优化 字节小程序日期时间范围选择,底部日期换行的Bug +## 2.2.19(2023-02-09) +- 修复 2.2.18 引起范围选择配置 end 选择无效的Bug [详情](https://github.com/dcloudio/uni-ui/issues/686) +## 2.2.18(2023-02-08) +- 修复 移动端范围选择change事件触发异常的Bug [详情](https://github.com/dcloudio/uni-ui/issues/684) +- 优化 PC端输入日期格式错误时返回当前日期时间 +- 优化 PC端输入日期时间超出 start、end 限制的Bug +- 优化 移动端日期时间范围用法时间展示不完整问题 +## 2.2.17(2023-02-04) +- 修复 小程序端绑定 Date 类型报错的Bug [详情](https://github.com/dcloudio/uni-ui/issues/679) +- 修复 vue3 time-picker 无法显示绑定时分秒的Bug +## 2.2.16(2023-02-02) +- 修复 字节小程序报错的Bug +## 2.2.15(2023-02-02) +- 修复 某些情况切换月份错误的Bug +## 2.2.14(2023-01-30) +- 修复 某些情况切换月份错误的Bug [详情](https://ask.dcloud.net.cn/question/162033) +## 2.2.13(2023-01-10) +- 修复 多次加载组件造成内存占用的Bug +## 2.2.12(2022-12-01) +- 修复 vue3 下 i18n 国际化初始值不正确的Bug +## 2.2.11(2022-09-19) +- 修复 支付宝小程序样式错乱的Bug [详情](https://github.com/dcloudio/uni-app/issues/3861) +## 2.2.10(2022-09-19) +- 修复 反向选择日期范围,日期显示异常的Bug [详情](https://ask.dcloud.net.cn/question/153401?item_id=212892&rf=false) +## 2.2.9(2022-09-16) +- 可以使用 uni-scss 控制主题色 +## 2.2.8(2022-09-08) +- 修复 close事件无效的Bug +## 2.2.7(2022-09-05) +- 修复 移动端 maskClick 无效的Bug [详情](https://ask.dcloud.net.cn/question/140824) +## 2.2.6(2022-06-30) +- 优化 组件样式,调整了组件图标大小、高度、颜色等,与uni-ui风格保持一致 +## 2.2.5(2022-06-24) +- 修复 日历顶部年月及底部确认未国际化的Bug +## 2.2.4(2022-03-31) +- 修复 Vue3 下动态赋值,单选类型未响应的Bug +## 2.2.3(2022-03-28) +- 修复 Vue3 下动态赋值未响应的Bug +## 2.2.2(2021-12-10) +- 修复 clear-icon 属性在小程序平台不生效的Bug +## 2.2.1(2021-12-10) +- 修复 日期范围选在小程序平台,必须多点击一次才能取消选中状态的Bug +## 2.2.0(2021-11-19) +- 优化 组件UI,并提供设计资源 [详情](https://uniapp.dcloud.io/component/uniui/resource) +- 文档迁移 [https://uniapp.dcloud.io/component/uniui/uni-datetime-picker](https://uniapp.dcloud.io/component/uniui/uni-datetime-picker) +## 2.1.5(2021-11-09) +- 新增 提供组件设计资源,组件样式调整 +## 2.1.4(2021-09-10) +- 修复 hide-second 在移动端的Bug +- 修复 单选赋默认值时,赋值日期未高亮的Bug +- 修复 赋默认值时,移动端未正确显示时间的Bug +## 2.1.3(2021-09-09) +- 新增 hide-second 属性,支持只使用时分,隐藏秒 +## 2.1.2(2021-09-03) +- 优化 取消选中时(范围选)直接开始下一次选择, 避免多点一次 +- 优化 移动端支持清除按钮,同时支持通过 ref 调用组件的 clear 方法 +- 优化 调整字号大小,美化日历界面 +- 修复 因国际化导致的 placeholder 失效的Bug +## 2.1.1(2021-08-24) +- 新增 支持国际化 +- 优化 范围选择器在 pc 端过宽的问题 +## 2.1.0(2021-08-09) +- 新增 适配 vue3 +## 2.0.19(2021-08-09) +- 新增 支持作为 uni-forms 子组件相关功能 +- 修复 在 uni-forms 中使用时,选择时间报 NAN 错误的Bug +## 2.0.18(2021-08-05) +- 修复 type 属性动态赋值无效的Bug +- 修复 ‘确认’按钮被 tabbar 遮盖 bug +- 修复 组件未赋值时范围选左、右日历相同的Bug +## 2.0.17(2021-08-04) +- 修复 范围选未正确显示当前值的Bug +- 修复 h5 平台(移动端)报错 'cale' of undefined 的Bug +## 2.0.16(2021-07-21) +- 新增 return-type 属性支持返回 date 日期对象 +## 2.0.15(2021-07-14) +- 修复 单选日期类型,初始赋值后不在当前日历的Bug +- 新增 clearIcon 属性,显示框的清空按钮可配置显示隐藏(仅 pc 有效) +- 优化 移动端移除显示框的清空按钮,无实际用途 +## 2.0.14(2021-07-14) +- 修复 组件赋值为空,界面未更新的Bug +- 修复 start 和 end 不能动态赋值的Bug +- 修复 范围选类型,用户选择后再次选择右侧日历(结束日期)显示不正确的Bug +## 2.0.13(2021-07-08) +- 修复 范围选择不能动态赋值的Bug +## 2.0.12(2021-07-08) +- 修复 范围选择的初始时间在一个月内时,造成无法选择的bug +## 2.0.11(2021-07-08) +- 优化 弹出层在超出视窗边缘定位不准确的问题 +## 2.0.10(2021-07-08) +- 修复 范围起始点样式的背景色与今日样式的字体前景色融合,导致日期字体看不清的Bug +- 优化 弹出层在超出视窗边缘被遮盖的问题 +## 2.0.9(2021-07-07) +- 新增 maskClick 事件 +- 修复 特殊情况日历 rpx 布局错误的Bug,rpx -> px +- 修复 范围选择时清空返回值不合理的bug,['', ''] -> [] +## 2.0.8(2021-07-07) +- 新增 日期时间显示框支持插槽 +## 2.0.7(2021-07-01) +- 优化 添加 uni-icons 依赖 +## 2.0.6(2021-05-22) +- 修复 图标在小程序上不显示的Bug +- 优化 重命名引用组件,避免潜在组件命名冲突 +## 2.0.5(2021-05-20) +- 优化 代码目录扁平化 +## 2.0.4(2021-05-12) +- 新增 组件示例地址 +## 2.0.3(2021-05-10) +- 修复 ios 下不识别 '-' 日期格式的Bug +- 优化 pc 下弹出层添加边框和阴影 +## 2.0.2(2021-05-08) +- 修复 在 admin 中获取弹出层定位错误的bug +## 2.0.1(2021-05-08) +- 修复 type 属性向下兼容,默认值从 date 变更为 datetime +## 2.0.0(2021-04-30) +- 支持日历形式的日期+时间的范围选择 + > 注意:此版本不向后兼容,不再支持单独时间选择(type=time)及相关的 hide-second 属性(时间选可使用内置组件 picker) +## 1.0.6(2021-03-18) +- 新增 hide-second 属性,时间支持仅选择时、分 +- 修复 选择跟显示的日期不一样的Bug +- 修复 chang事件触发2次的Bug +- 修复 分、秒 end 范围错误的Bug +- 优化 更好的 nvue 适配 diff --git a/wuye-manager-uniapp/uni_modules/uni-datetime-picker/components/uni-datetime-picker/calendar-item.vue b/wuye-manager-uniapp/uni_modules/uni-datetime-picker/components/uni-datetime-picker/calendar-item.vue new file mode 100644 index 0000000..dba9887 --- /dev/null +++ b/wuye-manager-uniapp/uni_modules/uni-datetime-picker/components/uni-datetime-picker/calendar-item.vue @@ -0,0 +1,177 @@ + + + + + diff --git a/wuye-manager-uniapp/uni_modules/uni-datetime-picker/components/uni-datetime-picker/calendar.vue b/wuye-manager-uniapp/uni_modules/uni-datetime-picker/components/uni-datetime-picker/calendar.vue new file mode 100644 index 0000000..0f9e121 --- /dev/null +++ b/wuye-manager-uniapp/uni_modules/uni-datetime-picker/components/uni-datetime-picker/calendar.vue @@ -0,0 +1,947 @@ + + + + + diff --git a/wuye-manager-uniapp/uni_modules/uni-datetime-picker/components/uni-datetime-picker/i18n/en.json b/wuye-manager-uniapp/uni_modules/uni-datetime-picker/components/uni-datetime-picker/i18n/en.json new file mode 100644 index 0000000..024f22f --- /dev/null +++ b/wuye-manager-uniapp/uni_modules/uni-datetime-picker/components/uni-datetime-picker/i18n/en.json @@ -0,0 +1,22 @@ +{ + "uni-datetime-picker.selectDate": "select date", + "uni-datetime-picker.selectTime": "select time", + "uni-datetime-picker.selectDateTime": "select date and time", + "uni-datetime-picker.startDate": "start date", + "uni-datetime-picker.endDate": "end date", + "uni-datetime-picker.startTime": "start time", + "uni-datetime-picker.endTime": "end time", + "uni-datetime-picker.ok": "ok", + "uni-datetime-picker.clear": "clear", + "uni-datetime-picker.cancel": "cancel", + "uni-datetime-picker.year": "-", + "uni-datetime-picker.month": "", + "uni-calender.MON": "MON", + "uni-calender.TUE": "TUE", + "uni-calender.WED": "WED", + "uni-calender.THU": "THU", + "uni-calender.FRI": "FRI", + "uni-calender.SAT": "SAT", + "uni-calender.SUN": "SUN", + "uni-calender.confirm": "confirm" +} diff --git a/wuye-manager-uniapp/uni_modules/uni-datetime-picker/components/uni-datetime-picker/i18n/index.js b/wuye-manager-uniapp/uni_modules/uni-datetime-picker/components/uni-datetime-picker/i18n/index.js new file mode 100644 index 0000000..de7509c --- /dev/null +++ b/wuye-manager-uniapp/uni_modules/uni-datetime-picker/components/uni-datetime-picker/i18n/index.js @@ -0,0 +1,8 @@ +import en from './en.json' +import zhHans from './zh-Hans.json' +import zhHant from './zh-Hant.json' +export default { + en, + 'zh-Hans': zhHans, + 'zh-Hant': zhHant +} diff --git a/wuye-manager-uniapp/uni_modules/uni-datetime-picker/components/uni-datetime-picker/i18n/zh-Hans.json b/wuye-manager-uniapp/uni_modules/uni-datetime-picker/components/uni-datetime-picker/i18n/zh-Hans.json new file mode 100644 index 0000000..d2df5e7 --- /dev/null +++ b/wuye-manager-uniapp/uni_modules/uni-datetime-picker/components/uni-datetime-picker/i18n/zh-Hans.json @@ -0,0 +1,22 @@ +{ + "uni-datetime-picker.selectDate": "选择日期", + "uni-datetime-picker.selectTime": "选择时间", + "uni-datetime-picker.selectDateTime": "选择日期时间", + "uni-datetime-picker.startDate": "开始日期", + "uni-datetime-picker.endDate": "结束日期", + "uni-datetime-picker.startTime": "开始时间", + "uni-datetime-picker.endTime": "结束时间", + "uni-datetime-picker.ok": "确定", + "uni-datetime-picker.clear": "清除", + "uni-datetime-picker.cancel": "取消", + "uni-datetime-picker.year": "年", + "uni-datetime-picker.month": "月", + "uni-calender.SUN": "日", + "uni-calender.MON": "一", + "uni-calender.TUE": "二", + "uni-calender.WED": "三", + "uni-calender.THU": "四", + "uni-calender.FRI": "五", + "uni-calender.SAT": "六", + "uni-calender.confirm": "确认" +} \ No newline at end of file diff --git a/wuye-manager-uniapp/uni_modules/uni-datetime-picker/components/uni-datetime-picker/i18n/zh-Hant.json b/wuye-manager-uniapp/uni_modules/uni-datetime-picker/components/uni-datetime-picker/i18n/zh-Hant.json new file mode 100644 index 0000000..d23fa3c --- /dev/null +++ b/wuye-manager-uniapp/uni_modules/uni-datetime-picker/components/uni-datetime-picker/i18n/zh-Hant.json @@ -0,0 +1,22 @@ +{ + "uni-datetime-picker.selectDate": "選擇日期", + "uni-datetime-picker.selectTime": "選擇時間", + "uni-datetime-picker.selectDateTime": "選擇日期時間", + "uni-datetime-picker.startDate": "開始日期", + "uni-datetime-picker.endDate": "結束日期", + "uni-datetime-picker.startTime": "開始时间", + "uni-datetime-picker.endTime": "結束时间", + "uni-datetime-picker.ok": "確定", + "uni-datetime-picker.clear": "清除", + "uni-datetime-picker.cancel": "取消", + "uni-datetime-picker.year": "年", + "uni-datetime-picker.month": "月", + "uni-calender.SUN": "日", + "uni-calender.MON": "一", + "uni-calender.TUE": "二", + "uni-calender.WED": "三", + "uni-calender.THU": "四", + "uni-calender.FRI": "五", + "uni-calender.SAT": "六", + "uni-calender.confirm": "確認" +} \ No newline at end of file diff --git a/wuye-manager-uniapp/uni_modules/uni-datetime-picker/components/uni-datetime-picker/time-picker.vue b/wuye-manager-uniapp/uni_modules/uni-datetime-picker/components/uni-datetime-picker/time-picker.vue new file mode 100644 index 0000000..1817692 --- /dev/null +++ b/wuye-manager-uniapp/uni_modules/uni-datetime-picker/components/uni-datetime-picker/time-picker.vue @@ -0,0 +1,940 @@ + + + + + diff --git a/wuye-manager-uniapp/uni_modules/uni-datetime-picker/components/uni-datetime-picker/uni-datetime-picker.vue b/wuye-manager-uniapp/uni_modules/uni-datetime-picker/components/uni-datetime-picker/uni-datetime-picker.vue new file mode 100644 index 0000000..021300f --- /dev/null +++ b/wuye-manager-uniapp/uni_modules/uni-datetime-picker/components/uni-datetime-picker/uni-datetime-picker.vue @@ -0,0 +1,1068 @@ + + + + diff --git a/wuye-manager-uniapp/uni_modules/uni-datetime-picker/components/uni-datetime-picker/util.js b/wuye-manager-uniapp/uni_modules/uni-datetime-picker/components/uni-datetime-picker/util.js new file mode 100644 index 0000000..00888d2 --- /dev/null +++ b/wuye-manager-uniapp/uni_modules/uni-datetime-picker/components/uni-datetime-picker/util.js @@ -0,0 +1,421 @@ +class Calendar { + constructor({ + selected, + startDate, + endDate, + range, + } = {}) { + // 当前日期 + this.date = this.getDateObj(new Date()) // 当前初入日期 + // 打点信息 + this.selected = selected || []; + // 起始时间 + this.startDate = startDate + // 终止时间 + this.endDate = endDate + // 是否范围选择 + this.range = range + // 多选状态 + this.cleanMultipleStatus() + // 每周日期 + this.weeks = {} + this.lastHover = false + } + /** + * 设置日期 + * @param {Object} date + */ + setDate(date) { + const selectDate = this.getDateObj(date) + this.getWeeks(selectDate.fullDate) + } + + /** + * 清理多选状态 + */ + cleanMultipleStatus() { + this.multipleStatus = { + before: '', + after: '', + data: [] + } + } + + setStartDate(startDate) { + this.startDate = startDate + } + + setEndDate(endDate) { + this.endDate = endDate + } + + getPreMonthObj(date) { + date = fixIosDateFormat(date) + date = new Date(date) + + const oldMonth = date.getMonth() + date.setMonth(oldMonth - 1) + const newMonth = date.getMonth() + if (oldMonth !== 0 && newMonth - oldMonth === 0) { + date.setMonth(newMonth - 1) + } + return this.getDateObj(date) + } + getNextMonthObj(date) { + date = fixIosDateFormat(date) + date = new Date(date) + + const oldMonth = date.getMonth() + date.setMonth(oldMonth + 1) + const newMonth = date.getMonth() + if (newMonth - oldMonth > 1) { + date.setMonth(newMonth - 1) + } + return this.getDateObj(date) + } + + /** + * 获取指定格式Date对象 + */ + getDateObj(date) { + date = fixIosDateFormat(date) + date = new Date(date) + + return { + fullDate: getDate(date), + year: date.getFullYear(), + month: addZero(date.getMonth() + 1), + date: addZero(date.getDate()), + day: date.getDay() + } + } + + /** + * 获取上一个月日期集合 + */ + getPreMonthDays(amount, dateObj) { + const result = [] + for (let i = amount - 1; i >= 0; i--) { + const month = dateObj.month - 1 + result.push({ + date: new Date(dateObj.year, month, -i).getDate(), + month, + disable: true + }) + } + return result + } + /** + * 获取本月日期集合 + */ + getCurrentMonthDays(amount, dateObj) { + const result = [] + const fullDate = this.date.fullDate + for (let i = 1; i <= amount; i++) { + const currentDate = `${dateObj.year}-${dateObj.month}-${addZero(i)}` + const isToday = fullDate === currentDate + // 获取打点信息 + const info = this.selected && this.selected.find((item) => { + if (this.dateEqual(currentDate, item.date)) { + return item + } + }) + + // 日期禁用 + let disableBefore = true + let disableAfter = true + if (this.startDate) { + disableBefore = dateCompare(this.startDate, currentDate) + } + + if (this.endDate) { + disableAfter = dateCompare(currentDate, this.endDate) + } + + let multiples = this.multipleStatus.data + let multiplesStatus = -1 + if (this.range && multiples) { + multiplesStatus = multiples.findIndex((item) => { + return this.dateEqual(item, currentDate) + }) + } + const checked = multiplesStatus !== -1 + + result.push({ + fullDate: currentDate, + year: dateObj.year, + date: i, + multiple: this.range ? checked : false, + beforeMultiple: this.isLogicBefore(currentDate, this.multipleStatus.before, this.multipleStatus.after), + afterMultiple: this.isLogicAfter(currentDate, this.multipleStatus.before, this.multipleStatus.after), + month: dateObj.month, + disable: (this.startDate && !dateCompare(this.startDate, currentDate)) || (this.endDate && !dateCompare( + currentDate, this.endDate)), + isToday, + userChecked: false, + extraInfo: info + }) + } + return result + } + /** + * 获取下一个月日期集合 + */ + _getNextMonthDays(amount, dateObj) { + const result = [] + const month = dateObj.month + 1 + for (let i = 1; i <= amount; i++) { + result.push({ + date: i, + month, + disable: true + }) + } + return result + } + + /** + * 获取当前日期详情 + * @param {Object} date + */ + getInfo(date) { + if (!date) { + date = new Date() + } + const res = this.calendar.find(item => item.fullDate === this.getDateObj(date).fullDate) + return res ? res : this.getDateObj(date) + } + + /** + * 比较时间是否相等 + */ + dateEqual(before, after) { + before = new Date(fixIosDateFormat(before)) + after = new Date(fixIosDateFormat(after)) + return before.valueOf() === after.valueOf() + } + + /** + * 比较真实起始日期 + */ + + isLogicBefore(currentDate, before, after) { + let logicBefore = before + if (before && after) { + logicBefore = dateCompare(before, after) ? before : after + } + return this.dateEqual(logicBefore, currentDate) + } + + isLogicAfter(currentDate, before, after) { + let logicAfter = after + if (before && after) { + logicAfter = dateCompare(before, after) ? after : before + } + return this.dateEqual(logicAfter, currentDate) + } + + /** + * 获取日期范围内所有日期 + * @param {Object} begin + * @param {Object} end + */ + geDateAll(begin, end) { + var arr = [] + var ab = begin.split('-') + var ae = end.split('-') + var db = new Date() + db.setFullYear(ab[0], ab[1] - 1, ab[2]) + var de = new Date() + de.setFullYear(ae[0], ae[1] - 1, ae[2]) + var unixDb = db.getTime() - 24 * 60 * 60 * 1000 + var unixDe = de.getTime() - 24 * 60 * 60 * 1000 + for (var k = unixDb; k <= unixDe;) { + k = k + 24 * 60 * 60 * 1000 + arr.push(this.getDateObj(new Date(parseInt(k))).fullDate) + } + return arr + } + + /** + * 获取多选状态 + */ + setMultiple(fullDate) { + if (!this.range) return + + let { + before, + after + } = this.multipleStatus + if (before && after) { + if (!this.lastHover) { + this.lastHover = true + return + } + this.multipleStatus.before = fullDate + this.multipleStatus.after = '' + this.multipleStatus.data = [] + this.multipleStatus.fulldate = '' + this.lastHover = false + } else { + if (!before) { + this.multipleStatus.before = fullDate + this.multipleStatus.after = undefined; + this.lastHover = false + } else { + this.multipleStatus.after = fullDate + if (dateCompare(this.multipleStatus.before, this.multipleStatus.after)) { + this.multipleStatus.data = this.geDateAll(this.multipleStatus.before, this.multipleStatus + .after); + } else { + this.multipleStatus.data = this.geDateAll(this.multipleStatus.after, this.multipleStatus + .before); + } + this.lastHover = true + } + } + this.getWeeks(fullDate) + } + + /** + * 鼠标 hover 更新多选状态 + */ + setHoverMultiple(fullDate) { + //抖音小程序点击会触发hover事件,需要避免一下 + // #ifndef MP-TOUTIAO + if (!this.range || this.lastHover) return + const { + before + } = this.multipleStatus + + if (!before) { + this.multipleStatus.before = fullDate + } else { + this.multipleStatus.after = fullDate + if (dateCompare(this.multipleStatus.before, this.multipleStatus.after)) { + this.multipleStatus.data = this.geDateAll(this.multipleStatus.before, this.multipleStatus.after); + } else { + this.multipleStatus.data = this.geDateAll(this.multipleStatus.after, this.multipleStatus.before); + } + } + this.getWeeks(fullDate) + // #endif + + } + + /** + * 更新默认值多选状态 + */ + setDefaultMultiple(before, after) { + this.multipleStatus.before = before + this.multipleStatus.after = after + if (before && after) { + if (dateCompare(before, after)) { + this.multipleStatus.data = this.geDateAll(before, after); + this.getWeeks(after) + } else { + this.multipleStatus.data = this.geDateAll(after, before); + this.getWeeks(before) + } + } + } + + /** + * 获取每周数据 + * @param {Object} dateData + */ + getWeeks(dateData) { + const { + year, + month, + } = this.getDateObj(dateData) + + const preMonthDayAmount = new Date(year, month - 1, 1).getDay() + const preMonthDays = this.getPreMonthDays(preMonthDayAmount, this.getDateObj(dateData)) + + const currentMonthDayAmount = new Date(year, month, 0).getDate() + const currentMonthDays = this.getCurrentMonthDays(currentMonthDayAmount, this.getDateObj(dateData)) + + const nextMonthDayAmount = 42 - preMonthDayAmount - currentMonthDayAmount + const nextMonthDays = this._getNextMonthDays(nextMonthDayAmount, this.getDateObj(dateData)) + + const calendarDays = [...preMonthDays, ...currentMonthDays, ...nextMonthDays] + + const weeks = new Array(6) + for (let i = 0; i < calendarDays.length; i++) { + const index = Math.floor(i / 7) + if (!weeks[index]) { + weeks[index] = new Array(7) + } + weeks[index][i % 7] = calendarDays[i] + } + + this.calendar = calendarDays + this.weeks = weeks + } +} + +function getDateTime(date, hideSecond) { + return `${getDate(date)} ${getTime(date, hideSecond)}` +} + +function getDate(date) { + date = fixIosDateFormat(date) + date = new Date(date) + const year = date.getFullYear() + const month = date.getMonth() + 1 + const day = date.getDate() + return `${year}-${addZero(month)}-${addZero(day)}` +} + +function getTime(date, hideSecond) { + date = fixIosDateFormat(date) + date = new Date(date) + const hour = date.getHours() + const minute = date.getMinutes() + const second = date.getSeconds() + return hideSecond ? `${addZero(hour)}:${addZero(minute)}` : `${addZero(hour)}:${addZero(minute)}:${addZero(second)}` +} + +function addZero(num) { + if (num < 10) { + num = `0${num}` + } + return num +} + +function getDefaultSecond(hideSecond) { + return hideSecond ? '00:00' : '00:00:00' +} + +function dateCompare(startDate, endDate) { + startDate = new Date(fixIosDateFormat(typeof startDate === 'string' ? startDate.trim() : startDate)) + endDate = new Date(fixIosDateFormat(typeof endDate === 'string' ? endDate.trim() : endDate)) + return startDate <= endDate +} + +function checkDate(date) { + const dateReg = /((19|20)\d{2})(-|\/)\d{1,2}(-|\/)\d{1,2}/g + return date.match(dateReg) +} +//ios低版本15及以下,无法匹配 没有 ’秒‘ 时的情况,所以需要在末尾 秒 加上 问号 +const dateTimeReg = /^\d{4}-(0?[1-9]|1[012])-(0?[1-9]|[12][0-9]|3[01])( [0-5]?[0-9]:[0-5]?[0-9](:[0-5]?[0-9])?)?$/; + +function fixIosDateFormat(value) { + if (typeof value === 'string' && dateTimeReg.test(value)) { + value = value.replace(/-/g, '/') + } + return value +} + +export { + Calendar, + getDateTime, + getDate, + getTime, + addZero, + getDefaultSecond, + dateCompare, + checkDate, + fixIosDateFormat +} diff --git a/wuye-manager-uniapp/uni_modules/uni-datetime-picker/package.json b/wuye-manager-uniapp/uni_modules/uni-datetime-picker/package.json new file mode 100644 index 0000000..55b8155 --- /dev/null +++ b/wuye-manager-uniapp/uni_modules/uni-datetime-picker/package.json @@ -0,0 +1,107 @@ +{ + "id": "uni-datetime-picker", + "displayName": "uni-datetime-picker 日期选择器", + "version": "2.2.42", + "description": "uni-datetime-picker 日期时间选择器,支持日历,支持范围选择", + "keywords": [ + "uni-datetime-picker", + "uni-ui", + "uniui", + "日期时间选择器", + "日期时间" +], + "repository": "https://github.com/dcloudio/uni-ui", + "engines": { + "HBuilderX": "", + "uni-app": "^4.07", + "uni-app-x": "" + }, + "directories": { + "example": "../../temps/example_temps" + }, + "dcloudext": { + "sale": { + "regular": { + "price": "0.00" + }, + "sourcecode": { + "price": "0.00" + } + }, + "contact": { + "qq": "" + }, + "declaration": { + "ads": "无", + "data": "无", + "permissions": "无" + }, + "npmurl": "https://www.npmjs.com/package/@dcloudio/uni-ui", + "type": "component-vue", + "darkmode": "x", + "i18n": "x", + "widescreen": "x" + }, + "uni_modules": { + "dependencies": [ + "uni-scss", + "uni-icons" + ], + "encrypt": [], + "platforms": { + "cloud": { + "tcb": "x", + "aliyun": "x", + "alipay": "x" + }, + "client": { + "uni-app": { + "vue": { + "vue2": "√", + "vue3": "√" + }, + "web": { + "safari": "√", + "chrome": "√" + }, + "app": { + "vue": "√", + "nvue": "√", + "android": "√", + "ios": "√", + "harmony": "√" + }, + "mp": { + "weixin": "√", + "alipay": "√", + "toutiao": "√", + "baidu": "√", + "kuaishou": "-", + "jd": "-", + "harmony": "-", + "qq": "√", + "lark": "-" + }, + "quickapp": { + "huawei": "√", + "union": "√" + } + }, + "uni-app-x": { + "web": { + "safari": "-", + "chrome": "-" + }, + "app": { + "android": "-", + "ios": "-", + "harmony": "-" + }, + "mp": { + "weixin": "-" + } + } + } + } + } +} \ No newline at end of file diff --git a/wuye-manager-uniapp/uni_modules/uni-datetime-picker/readme.md b/wuye-manager-uniapp/uni_modules/uni-datetime-picker/readme.md new file mode 100644 index 0000000..162fbef --- /dev/null +++ b/wuye-manager-uniapp/uni_modules/uni-datetime-picker/readme.md @@ -0,0 +1,21 @@ + + +> `重要通知:组件升级更新 2.0.0 后,支持日期+时间范围选择,组件 ui 将使用日历选择日期,ui 变化较大,同时支持 PC 和 移动端。此版本不向后兼容,不再支持单独的时间选择(type=time)及相关的 hide-second 属性(时间选可使用内置组件 picker)。若仍需使用旧版本,可在插件市场下载*非uni_modules版本*,旧版本将不再维护` + +## DatetimePicker 时间选择器 + +> **组件名:uni-datetime-picker** +> 代码块: `uDatetimePicker` + + +该组件的优势是,支持**时间戳**输入和输出(起始时间、终止时间也支持时间戳),可**同时选择**日期和时间。 + +若只是需要单独选择日期和时间,不需要时间戳输入和输出,可使用原生的 picker 组件。 + +**_点击 picker 默认值规则:_** + +- 若设置初始值 value, 会显示在 picker 显示框中 +- 若无初始值 value,则初始值 value 为当前本地时间 Date.now(), 但不会显示在 picker 显示框中 + +### [查看文档](https://uniapp.dcloud.io/component/uniui/uni-datetime-picker) +#### 如使用过程中有任何问题,或者您对uni-ui有一些好的建议,欢迎加入 uni-ui 交流群:871950839 \ No newline at end of file diff --git a/wuye-manager-uniapp/uni_modules/uni-drawer/changelog.md b/wuye-manager-uniapp/uni_modules/uni-drawer/changelog.md new file mode 100644 index 0000000..6d2488c --- /dev/null +++ b/wuye-manager-uniapp/uni_modules/uni-drawer/changelog.md @@ -0,0 +1,13 @@ +## 1.2.1(2021-11-22) +- 修复 vue3中个别scss变量无法找到的问题 +## 1.2.0(2021-11-19) +- 优化 组件UI,并提供设计资源,详见:[https://uniapp.dcloud.io/component/uniui/resource](https://uniapp.dcloud.io/component/uniui/resource) +- 文档迁移,详见:[https://uniapp.dcloud.io/component/uniui/uni-drawer](https://uniapp.dcloud.io/component/uniui/uni-drawer) +## 1.1.1(2021-07-30) +- 优化 vue3下事件警告的问题 +## 1.1.0(2021-07-13) +- 组件兼容 vue3,如何创建vue3项目,详见 [uni-app 项目支持 vue3 介绍](https://ask.dcloud.net.cn/article/37834) +## 1.0.7(2021-05-12) +- 新增 组件示例地址 +## 1.0.6(2021-02-04) +- 调整为uni_modules目录规范 diff --git a/wuye-manager-uniapp/uni_modules/uni-drawer/components/uni-drawer/keypress.js b/wuye-manager-uniapp/uni_modules/uni-drawer/components/uni-drawer/keypress.js new file mode 100644 index 0000000..62dda46 --- /dev/null +++ b/wuye-manager-uniapp/uni_modules/uni-drawer/components/uni-drawer/keypress.js @@ -0,0 +1,45 @@ +// #ifdef H5 +export default { + name: 'Keypress', + props: { + disable: { + type: Boolean, + default: false + } + }, + mounted () { + const keyNames = { + esc: ['Esc', 'Escape'], + tab: 'Tab', + enter: 'Enter', + space: [' ', 'Spacebar'], + up: ['Up', 'ArrowUp'], + left: ['Left', 'ArrowLeft'], + right: ['Right', 'ArrowRight'], + down: ['Down', 'ArrowDown'], + delete: ['Backspace', 'Delete', 'Del'] + } + const listener = ($event) => { + if (this.disable) { + return + } + const keyName = Object.keys(keyNames).find(key => { + const keyName = $event.key + const value = keyNames[key] + return value === keyName || (Array.isArray(value) && value.includes(keyName)) + }) + if (keyName) { + // 避免和其他按键事件冲突 + setTimeout(() => { + this.$emit(keyName, {}) + }, 0) + } + } + document.addEventListener('keyup', listener) + // this.$once('hook:beforeDestroy', () => { + // document.removeEventListener('keyup', listener) + // }) + }, + render: () => {} +} +// #endif diff --git a/wuye-manager-uniapp/uni_modules/uni-drawer/components/uni-drawer/uni-drawer.vue b/wuye-manager-uniapp/uni_modules/uni-drawer/components/uni-drawer/uni-drawer.vue new file mode 100644 index 0000000..2471521 --- /dev/null +++ b/wuye-manager-uniapp/uni_modules/uni-drawer/components/uni-drawer/uni-drawer.vue @@ -0,0 +1,183 @@ + + + + + diff --git a/wuye-manager-uniapp/uni_modules/uni-drawer/package.json b/wuye-manager-uniapp/uni_modules/uni-drawer/package.json new file mode 100644 index 0000000..dd056e4 --- /dev/null +++ b/wuye-manager-uniapp/uni_modules/uni-drawer/package.json @@ -0,0 +1,87 @@ +{ + "id": "uni-drawer", + "displayName": "uni-drawer 抽屉", + "version": "1.2.1", + "description": "抽屉式导航,用于展示侧滑菜单,侧滑导航。", + "keywords": [ + "uni-ui", + "uniui", + "drawer", + "抽屉", + "侧滑导航" +], + "repository": "https://github.com/dcloudio/uni-ui", + "engines": { + "HBuilderX": "" + }, + "directories": { + "example": "../../temps/example_temps" + }, + "dcloudext": { + "category": [ + "前端组件", + "通用组件" + ], + "sale": { + "regular": { + "price": "0.00" + }, + "sourcecode": { + "price": "0.00" + } + }, + "contact": { + "qq": "" + }, + "declaration": { + "ads": "无", + "data": "无", + "permissions": "无" + }, + "npmurl": "https://www.npmjs.com/package/@dcloudio/uni-ui" + }, + "uni_modules": { + "dependencies": ["uni-scss"], + "encrypt": [], + "platforms": { + "cloud": { + "tcb": "y", + "aliyun": "y" + }, + "client": { + "App": { + "app-vue": "y", + "app-nvue": "y" + }, + "H5-mobile": { + "Safari": "y", + "Android Browser": "y", + "微信浏览器(Android)": "y", + "QQ浏览器(Android)": "y" + }, + "H5-pc": { + "Chrome": "y", + "IE": "y", + "Edge": "y", + "Firefox": "y", + "Safari": "y" + }, + "小程序": { + "微信": "y", + "阿里": "y", + "百度": "y", + "字节跳动": "y", + "QQ": "y" + }, + "快应用": { + "华为": "u", + "联盟": "u" + }, + "Vue": { + "vue2": "y", + "vue3": "y" + } + } + } + } +} \ No newline at end of file diff --git a/wuye-manager-uniapp/uni_modules/uni-drawer/readme.md b/wuye-manager-uniapp/uni_modules/uni-drawer/readme.md new file mode 100644 index 0000000..dcf6e6b --- /dev/null +++ b/wuye-manager-uniapp/uni_modules/uni-drawer/readme.md @@ -0,0 +1,10 @@ + + +## Drawer 抽屉 +> **组件名:uni-drawer** +> 代码块: `uDrawer` + +抽屉侧滑菜单。 + +### [查看文档](https://uniapp.dcloud.io/component/uniui/uni-drawer) +#### 如使用过程中有任何问题,或者您对uni-ui有一些好的建议,欢迎加入 uni-ui 交流群:871950839 \ No newline at end of file diff --git a/wuye-manager-uniapp/uni_modules/uni-easyinput/changelog.md b/wuye-manager-uniapp/uni_modules/uni-easyinput/changelog.md new file mode 100644 index 0000000..065a7c4 --- /dev/null +++ b/wuye-manager-uniapp/uni_modules/uni-easyinput/changelog.md @@ -0,0 +1,121 @@ +## 1.1.22(2025-09-19) +- 修复 禁用状态下背景不生效的问题 +## 1.1.21(2025-08-26) +- 修复 在 @input 中修改 v-model 不生效的问题 +## 1.1.20(2025-08-19) +- 修复 微信小程序平台样式警告问题 +## 1.1.19(2024-07-18) +- 修复 初始值传入 null 导致input报错的bug +## 1.1.18(2024-04-11) +- 修复 easyinput组件双向绑定问题 +## 1.1.17(2024-03-28) +- 修复 在头条小程序下丢失事件绑定的问题 +## 1.1.16(2024-03-20) +- 修复 在密码输入情况下 清除和小眼睛覆盖bug 在edge浏览器下显示双眼睛bug +## 1.1.15(2024-02-21) +- 新增 左侧插槽:left +## 1.1.14(2024-02-19) +- 修复 onBlur的emit传值错误 +## 1.1.12(2024-01-29) +- 补充 adjust-position文档属性补充 +## 1.1.11(2024-01-29) +- 补充 adjust-position属性传递值:(Boolean)当键盘弹起时,是否自动上推页面 +## 1.1.10(2024-01-22) +- 去除 移除无用的log输出 +## 1.1.9(2023-04-11) +- 修复 vue3 下 keyboardheightchange 事件报错的bug +## 1.1.8(2023-03-29) +- 优化 trim 属性默认值 +## 1.1.7(2023-03-29) +- 新增 cursor-spacing 属性 +## 1.1.6(2023-01-28) +- 新增 keyboardheightchange 事件,可监听键盘高度变化 +## 1.1.5(2022-11-29) +- 优化 主题样式 +## 1.1.4(2022-10-27) +- 修复 props 中背景颜色无默认值的bug +## 1.1.0(2022-06-30) + +- 新增 在 uni-forms 1.4.0 中使用可以在 blur 时校验内容 +- 新增 clear 事件,点击右侧叉号图标触发 +- 新增 change 事件 ,仅在输入框失去焦点或用户按下回车时触发 +- 优化 组件样式,组件获取焦点时高亮显示,图标颜色调整等 + +## 1.0.5(2022-06-07) + +- 优化 clearable 显示策略 + +## 1.0.4(2022-06-07) + +- 优化 clearable 显示策略 + +## 1.0.3(2022-05-20) + +- 修复 关闭图标某些情况下无法取消的 bug + +## 1.0.2(2022-04-12) + +- 修复 默认值不生效的 bug + +## 1.0.1(2022-04-02) + +- 修复 value 不能为 0 的 bug + +## 1.0.0(2021-11-19) + +- 优化 组件 UI,并提供设计资源,详见:[https://uniapp.dcloud.io/component/uniui/resource](https://uniapp.dcloud.io/component/uniui/resource) +- 文档迁移,详见:[https://uniapp.dcloud.io/component/uniui/uni-easyinput](https://uniapp.dcloud.io/component/uniui/uni-easyinput) + +## 0.1.4(2021-08-20) + +- 修复 在 uni-forms 的动态表单中默认值校验不通过的 bug + +## 0.1.3(2021-08-11) + +- 修复 在 uni-forms 中重置表单,错误信息无法清除的问题 + +## 0.1.2(2021-07-30) + +- 优化 vue3 下事件警告的问题 + +## 0.1.1 + +- 优化 errorMessage 属性支持 Boolean 类型 + +## 0.1.0(2021-07-13) + +- 组件兼容 vue3,如何创建 vue3 项目,详见 [uni-app 项目支持 vue3 介绍](https://ask.dcloud.net.cn/article/37834) + +## 0.0.16(2021-06-29) + +- 修复 confirmType 属性(仅 type="text" 生效)导致多行文本框无法换行的 bug + +## 0.0.15(2021-06-21) + +- 修复 passwordIcon 属性拼写错误的 bug + +## 0.0.14(2021-06-18) + +- 新增 passwordIcon 属性,当 type=password 时是否显示小眼睛图标 +- 修复 confirmType 属性不生效的问题 + +## 0.0.13(2021-06-04) + +- 修复 disabled 状态可清出内容的 bug + +## 0.0.12(2021-05-12) + +- 新增 组件示例地址 + +## 0.0.11(2021-05-07) + +- 修复 input-border 属性不生效的问题 + +## 0.0.10(2021-04-30) + +- 修复 ios 遮挡文字、显示一半的问题 + +## 0.0.9(2021-02-05) + +- 调整为 uni_modules 目录规范 +- 优化 兼容 nvue 页面 diff --git a/wuye-manager-uniapp/uni_modules/uni-easyinput/components/uni-easyinput/common.js b/wuye-manager-uniapp/uni_modules/uni-easyinput/components/uni-easyinput/common.js new file mode 100644 index 0000000..fde8d3c --- /dev/null +++ b/wuye-manager-uniapp/uni_modules/uni-easyinput/components/uni-easyinput/common.js @@ -0,0 +1,54 @@ +/** + * @desc 函数防抖 + * @param func 目标函数 + * @param wait 延迟执行毫秒数 + * @param immediate true - 立即执行, false - 延迟执行 + */ +export const debounce = function(func, wait = 1000, immediate = true) { + let timer; + return function() { + let context = this, + args = arguments; + if (timer) clearTimeout(timer); + if (immediate) { + let callNow = !timer; + timer = setTimeout(() => { + timer = null; + }, wait); + if (callNow) func.apply(context, args); + } else { + timer = setTimeout(() => { + func.apply(context, args); + }, wait) + } + } +} +/** + * @desc 函数节流 + * @param func 函数 + * @param wait 延迟执行毫秒数 + * @param type 1 使用表时间戳,在时间段开始的时候触发 2 使用表定时器,在时间段结束的时候触发 + */ +export const throttle = (func, wait = 1000, type = 1) => { + let previous = 0; + let timeout; + return function() { + let context = this; + let args = arguments; + if (type === 1) { + let now = Date.now(); + + if (now - previous > wait) { + func.apply(context, args); + previous = now; + } + } else if (type === 2) { + if (!timeout) { + timeout = setTimeout(() => { + timeout = null; + func.apply(context, args) + }, wait) + } + } + } +} diff --git a/wuye-manager-uniapp/uni_modules/uni-easyinput/components/uni-easyinput/uni-easyinput.vue b/wuye-manager-uniapp/uni_modules/uni-easyinput/components/uni-easyinput/uni-easyinput.vue new file mode 100644 index 0000000..a328da7 --- /dev/null +++ b/wuye-manager-uniapp/uni_modules/uni-easyinput/components/uni-easyinput/uni-easyinput.vue @@ -0,0 +1,662 @@ + + + + + diff --git a/wuye-manager-uniapp/uni_modules/uni-easyinput/package.json b/wuye-manager-uniapp/uni_modules/uni-easyinput/package.json new file mode 100644 index 0000000..00de64a --- /dev/null +++ b/wuye-manager-uniapp/uni_modules/uni-easyinput/package.json @@ -0,0 +1,107 @@ +{ + "id": "uni-easyinput", + "displayName": "uni-easyinput 增强输入框", + "version": "1.1.22", + "description": "Easyinput 组件是对原生input组件的增强", + "keywords": [ + "uni-ui", + "uniui", + "input", + "uni-easyinput", + "输入框" +], + "repository": "https://github.com/dcloudio/uni-ui", + "engines": { + "HBuilderX": "", + "uni-app": "^4.07", + "uni-app-x": "" + }, + "directories": { + "example": "../../temps/example_temps" + }, + "dcloudext": { + "sale": { + "regular": { + "price": "0.00" + }, + "sourcecode": { + "price": "0.00" + } + }, + "contact": { + "qq": "" + }, + "declaration": { + "ads": "无", + "data": "无", + "permissions": "无" + }, + "npmurl": "https://www.npmjs.com/package/@dcloudio/uni-ui", + "type": "component-vue", + "darkmode": "x", + "i18n": "x", + "widescreen": "x" + }, + "uni_modules": { + "dependencies": [ + "uni-scss", + "uni-icons" + ], + "encrypt": [], + "platforms": { + "cloud": { + "tcb": "x", + "aliyun": "x", + "alipay": "x" + }, + "client": { + "uni-app": { + "vue": { + "vue2": "√", + "vue3": "√" + }, + "web": { + "safari": "√", + "chrome": "√" + }, + "app": { + "vue": "√", + "nvue": "-", + "android": "√", + "ios": "√", + "harmony": "√" + }, + "mp": { + "weixin": "√", + "alipay": "√", + "toutiao": "√", + "baidu": "√", + "kuaishou": "√", + "jd": "√", + "harmony": "√", + "qq": "√", + "lark": "-" + }, + "quickapp": { + "huawei": "-", + "union": "-" + } + }, + "uni-app-x": { + "web": { + "safari": "-", + "chrome": "-" + }, + "app": { + "android": "-", + "ios": "-", + "harmony": "-" + }, + "mp": { + "weixin": "-" + } + } + } + } + } +} \ No newline at end of file diff --git a/wuye-manager-uniapp/uni_modules/uni-easyinput/readme.md b/wuye-manager-uniapp/uni_modules/uni-easyinput/readme.md new file mode 100644 index 0000000..f1faf8f --- /dev/null +++ b/wuye-manager-uniapp/uni_modules/uni-easyinput/readme.md @@ -0,0 +1,11 @@ + + +### Easyinput 增强输入框 +> **组件名:uni-easyinput** +> 代码块: `uEasyinput` + + +easyinput 组件是对原生input组件的增强 ,是专门为配合表单组件[uni-forms](https://ext.dcloud.net.cn/plugin?id=2773)而设计的,easyinput 内置了边框,图标等,同时包含 input 所有功能 + +### [查看文档](https://uniapp.dcloud.io/component/uniui/uni-easyinput) +#### 如使用过程中有任何问题,或者您对uni-ui有一些好的建议,欢迎加入 uni-ui 交流群:871950839 \ No newline at end of file diff --git a/wuye-manager-uniapp/uni_modules/uni-fab/changelog.md b/wuye-manager-uniapp/uni_modules/uni-fab/changelog.md new file mode 100644 index 0000000..8a22807 --- /dev/null +++ b/wuye-manager-uniapp/uni_modules/uni-fab/changelog.md @@ -0,0 +1,25 @@ +## 1.2.6(2024-10-12) +- 修复 微信小程序中的getSystemInfo警告 +## 1.2.5(2023-03-29) +- 新增 pattern.icon 属性,可自定义图标 +## 1.2.4(2022-09-07) +小程序端由于 style 使用了对象导致报错,[详情](https://ask.dcloud.net.cn/question/152790?item_id=211778&rf=false) +## 1.2.3(2022-09-05) +- 修复 nvue 环境下,具有 tabBar 时,fab 组件下部位置无法正常获取 --window-bottom 的bug,详见:[https://ask.dcloud.net.cn/question/110638?notification_id=826310](https://ask.dcloud.net.cn/question/110638?notification_id=826310) +## 1.2.2(2021-12-29) +- 更新 组件依赖 +## 1.2.1(2021-11-19) +- 修复 阴影颜色不正确的bug +## 1.2.0(2021-11-19) +- 优化 组件UI,并提供设计资源,详见:[https://uniapp.dcloud.io/component/uniui/resource](https://uniapp.dcloud.io/component/uniui/resource) +- 文档迁移,详见:[https://uniapp.dcloud.io/component/uniui/uni-fab](https://uniapp.dcloud.io/component/uniui/uni-fab) +## 1.1.1(2021-11-09) +- 新增 提供组件设计资源,组件样式调整 +## 1.1.0(2021-07-30) +- 组件兼容 vue3,如何创建vue3项目,详见 [uni-app 项目支持 vue3 介绍](https://ask.dcloud.net.cn/article/37834) +## 1.0.7(2021-05-12) +- 新增 组件示例地址 +## 1.0.6(2021-02-05) +- 调整为uni_modules目录规范 +- 优化 按钮背景色调整 +- 优化 兼容pc端 diff --git a/wuye-manager-uniapp/uni_modules/uni-fab/components/uni-fab/uni-fab.vue b/wuye-manager-uniapp/uni_modules/uni-fab/components/uni-fab/uni-fab.vue new file mode 100644 index 0000000..492b5d1 --- /dev/null +++ b/wuye-manager-uniapp/uni_modules/uni-fab/components/uni-fab/uni-fab.vue @@ -0,0 +1,491 @@ + + + + + diff --git a/wuye-manager-uniapp/uni_modules/uni-fab/package.json b/wuye-manager-uniapp/uni_modules/uni-fab/package.json new file mode 100644 index 0000000..1b8543c --- /dev/null +++ b/wuye-manager-uniapp/uni_modules/uni-fab/package.json @@ -0,0 +1,85 @@ +{ + "id": "uni-fab", + "displayName": "uni-fab 悬浮按钮", + "version": "1.2.6", + "description": "悬浮按钮 fab button ,点击可展开一个图标按钮菜单。", + "keywords": [ + "uni-ui", + "uniui", + "按钮", + "悬浮按钮", + "fab" +], + "repository": "https://github.com/dcloudio/uni-ui", + "engines": { + "HBuilderX": "" + }, + "directories": { + "example": "../../temps/example_temps" + }, +"dcloudext": { + "sale": { + "regular": { + "price": "0.00" + }, + "sourcecode": { + "price": "0.00" + } + }, + "contact": { + "qq": "" + }, + "declaration": { + "ads": "无", + "data": "无", + "permissions": "无" + }, + "npmurl": "https://www.npmjs.com/package/@dcloudio/uni-ui", + "type": "component-vue" + }, + "uni_modules": { + "dependencies": ["uni-scss","uni-icons"], + "encrypt": [], + "platforms": { + "cloud": { + "tcb": "y", + "aliyun": "y", + "alipay": "n" + }, + "client": { + "App": { + "app-vue": "y", + "app-nvue": "y" + }, + "H5-mobile": { + "Safari": "y", + "Android Browser": "y", + "微信浏览器(Android)": "y", + "QQ浏览器(Android)": "y" + }, + "H5-pc": { + "Chrome": "y", + "IE": "y", + "Edge": "y", + "Firefox": "y", + "Safari": "y" + }, + "小程序": { + "微信": "y", + "阿里": "y", + "百度": "y", + "字节跳动": "y", + "QQ": "y" + }, + "快应用": { + "华为": "u", + "联盟": "u" + }, + "Vue": { + "vue2": "y", + "vue3": "y" + } + } + } + } +} diff --git a/wuye-manager-uniapp/uni_modules/uni-fab/readme.md b/wuye-manager-uniapp/uni_modules/uni-fab/readme.md new file mode 100644 index 0000000..9a444e8 --- /dev/null +++ b/wuye-manager-uniapp/uni_modules/uni-fab/readme.md @@ -0,0 +1,9 @@ +## Fab 悬浮按钮 +> **组件名:uni-fab** +> 代码块: `uFab` + + +点击可展开一个图形按钮菜单 + +### [查看文档](https://uniapp.dcloud.io/component/uniui/uni-fab) +#### 如使用过程中有任何问题,或者您对uni-ui有一些好的建议,欢迎加入 uni-ui 交流群:871950839 \ No newline at end of file diff --git a/wuye-manager-uniapp/uni_modules/uni-fav/changelog.md b/wuye-manager-uniapp/uni_modules/uni-fav/changelog.md new file mode 100644 index 0000000..d8a08d4 --- /dev/null +++ b/wuye-manager-uniapp/uni_modules/uni-fav/changelog.md @@ -0,0 +1,19 @@ +## 1.2.1(2022-05-30) +- 新增 stat 属性 ,是否开启uni统计功能 +## 1.2.0(2021-11-19) +- 优化 组件UI,并提供设计资源,详见:[https://uniapp.dcloud.io/component/uniui/resource](https://uniapp.dcloud.io/component/uniui/resource) +- 文档迁移,详见:[https://uniapp.dcloud.io/component/uniui/uni-fav](https://uniapp.dcloud.io/component/uniui/uni-fav) +## 1.1.1(2021-08-24) +- 新增 支持国际化 +## 1.1.0(2021-07-13) +- 组件兼容 vue3,如何创建vue3项目,详见 [uni-app 项目支持 vue3 介绍](https://ask.dcloud.net.cn/article/37834) +## 1.0.6(2021-05-12) +- 新增 组件示例地址 +## 1.0.5(2021-04-21) +- 优化 添加依赖 uni-icons, 导入后自动下载依赖 +## 1.0.4(2021-02-05) +- 优化 组件引用关系,通过uni_modules引用组件 +## 1.0.3(2021-02-05) +- 优化 组件引用关系,通过uni_modules引用组件 +## 1.0.2(2021-02-05) +- 调整为uni_modules目录规范 diff --git a/wuye-manager-uniapp/uni_modules/uni-fav/components/uni-fav/i18n/en.json b/wuye-manager-uniapp/uni_modules/uni-fav/components/uni-fav/i18n/en.json new file mode 100644 index 0000000..9a0759e --- /dev/null +++ b/wuye-manager-uniapp/uni_modules/uni-fav/components/uni-fav/i18n/en.json @@ -0,0 +1,4 @@ +{ + "uni-fav.collect": "collect", + "uni-fav.collected": "collected" +} diff --git a/wuye-manager-uniapp/uni_modules/uni-fav/components/uni-fav/i18n/index.js b/wuye-manager-uniapp/uni_modules/uni-fav/components/uni-fav/i18n/index.js new file mode 100644 index 0000000..de7509c --- /dev/null +++ b/wuye-manager-uniapp/uni_modules/uni-fav/components/uni-fav/i18n/index.js @@ -0,0 +1,8 @@ +import en from './en.json' +import zhHans from './zh-Hans.json' +import zhHant from './zh-Hant.json' +export default { + en, + 'zh-Hans': zhHans, + 'zh-Hant': zhHant +} diff --git a/wuye-manager-uniapp/uni_modules/uni-fav/components/uni-fav/i18n/zh-Hans.json b/wuye-manager-uniapp/uni_modules/uni-fav/components/uni-fav/i18n/zh-Hans.json new file mode 100644 index 0000000..67c89bf --- /dev/null +++ b/wuye-manager-uniapp/uni_modules/uni-fav/components/uni-fav/i18n/zh-Hans.json @@ -0,0 +1,4 @@ +{ + "uni-fav.collect": "收藏", + "uni-fav.collected": "已收藏" +} diff --git a/wuye-manager-uniapp/uni_modules/uni-fav/components/uni-fav/i18n/zh-Hant.json b/wuye-manager-uniapp/uni_modules/uni-fav/components/uni-fav/i18n/zh-Hant.json new file mode 100644 index 0000000..67c89bf --- /dev/null +++ b/wuye-manager-uniapp/uni_modules/uni-fav/components/uni-fav/i18n/zh-Hant.json @@ -0,0 +1,4 @@ +{ + "uni-fav.collect": "收藏", + "uni-fav.collected": "已收藏" +} diff --git a/wuye-manager-uniapp/uni_modules/uni-fav/components/uni-fav/uni-fav.vue b/wuye-manager-uniapp/uni_modules/uni-fav/components/uni-fav/uni-fav.vue new file mode 100644 index 0000000..d2c58df --- /dev/null +++ b/wuye-manager-uniapp/uni_modules/uni-fav/components/uni-fav/uni-fav.vue @@ -0,0 +1,161 @@ + + + + + diff --git a/wuye-manager-uniapp/uni_modules/uni-fav/package.json b/wuye-manager-uniapp/uni_modules/uni-fav/package.json new file mode 100644 index 0000000..cc14697 --- /dev/null +++ b/wuye-manager-uniapp/uni_modules/uni-fav/package.json @@ -0,0 +1,89 @@ +{ + "id": "uni-fav", + "displayName": "uni-fav 收藏按钮", + "version": "1.2.1", + "description": " Fav 收藏组件,可自定义颜色、大小。", + "keywords": [ + "fav", + "uni-ui", + "uniui", + "收藏" +], + "repository": "https://github.com/dcloudio/uni-ui", + "engines": { + "HBuilderX": "" + }, + "directories": { + "example": "../../temps/example_temps" + }, + "dcloudext": { + "category": [ + "前端组件", + "通用组件" + ], + "sale": { + "regular": { + "price": "0.00" + }, + "sourcecode": { + "price": "0.00" + } + }, + "contact": { + "qq": "" + }, + "declaration": { + "ads": "无", + "data": "无", + "permissions": "无" + }, + "npmurl": "https://www.npmjs.com/package/@dcloudio/uni-ui" + }, + "uni_modules": { + "dependencies": [ + "uni-scss", + "uni-icons" + ], + "encrypt": [], + "platforms": { + "cloud": { + "tcb": "y", + "aliyun": "y" + }, + "client": { + "App": { + "app-vue": "y", + "app-nvue": "y" + }, + "H5-mobile": { + "Safari": "y", + "Android Browser": "y", + "微信浏览器(Android)": "y", + "QQ浏览器(Android)": "y" + }, + "H5-pc": { + "Chrome": "y", + "IE": "y", + "Edge": "y", + "Firefox": "y", + "Safari": "y" + }, + "小程序": { + "微信": "y", + "阿里": "y", + "百度": "y", + "字节跳动": "y", + "QQ": "y" + }, + "快应用": { + "华为": "u", + "联盟": "u" + }, + "Vue": { + "vue2": "y", + "vue3": "y" + } + } + } + } +} diff --git a/wuye-manager-uniapp/uni_modules/uni-fav/readme.md b/wuye-manager-uniapp/uni_modules/uni-fav/readme.md new file mode 100644 index 0000000..4de125d --- /dev/null +++ b/wuye-manager-uniapp/uni_modules/uni-fav/readme.md @@ -0,0 +1,10 @@ + + +## Fav 收藏按钮 +> **组件名:uni-fav** +> 代码块: `uFav` + +用于收藏功能,可点击切换选中、不选中的状态。 + +### [查看文档](https://uniapp.dcloud.io/component/uniui/uni-fav) +#### 如使用过程中有任何问题,或者您对uni-ui有一些好的建议,欢迎加入 uni-ui 交流群:871950839 \ No newline at end of file diff --git a/wuye-manager-uniapp/uni_modules/uni-file-picker/changelog.md b/wuye-manager-uniapp/uni_modules/uni-file-picker/changelog.md new file mode 100644 index 0000000..5320eb2 --- /dev/null +++ b/wuye-manager-uniapp/uni_modules/uni-file-picker/changelog.md @@ -0,0 +1,91 @@ +## 1.1.3(2025-12-03) +- 修复: 腾讯云目录错误导致的上传错误问题 +## 1.1.2(2025-09-17) +- 修复 设置readonly属性后内容插槽失效的问题。 +## 1.1.1(2025-09-03) +- 修复 动态dir目录,不生效的问题 +## 1.1.0(2025-09-02) +- 新增 dir 属性,可以选择上传目录 +## 1.0.13(2025-08-18) +- 修复 删除文件后,返回信息不包含file对象的问题 +## 1.0.12(2025-04-14) +- 修复 支付宝小程序 上传样式问题 +## 1.0.10(2024-07-09) +- 优化 vue3兼容性 +## 1.0.9(2024-07-09) +- 修复 value 属性不兼容vue3的bug +## 1.0.8(2024-03-20) +- 补充 删除文件时返回文件下标 +## 1.0.7(2024-02-21) +- 新增 微信小程序选择视频时改用chooseMedia,并返回视频缩略图 +## 1.0.6(2024-01-06) +- 新增 微信小程序不再调用chooseImage,而是调用chooseMedia +## 1.0.5(2024-01-03) +- 新增 上传文件至云存储携带本地文件名称 +## 1.0.4(2023-03-29) +- 修复 手动上传删除一个文件后不能再上传的bug +## 1.0.3(2022-12-19) +- 新增 sourceType 属性, 可以自定义图片和视频选择的来源 +## 1.0.2(2022-07-04) +- 修复 在uni-forms下样式不生效的bug +## 1.0.1(2021-11-23) +- 修复 参数为对象的情况下,url在某些情况显示错误的bug +## 1.0.0(2021-11-19) +- 优化 组件UI,并提供设计资源,详见:[https://uniapp.dcloud.io/component/uniui/resource](https://uniapp.dcloud.io/component/uniui/resource) +- 文档迁移,详见:[https://uniapp.dcloud.io/component/uniui/uni-file-picker](https://uniapp.dcloud.io/component/uniui/uni-file-picker) +## 0.2.16(2021-11-08) +- 修复 传入空对象 ,显示错误的Bug +## 0.2.15(2021-08-30) +- 修复 return-type="object" 时且存在v-model时,无法删除文件的Bug +## 0.2.14(2021-08-23) +- 新增 参数中返回 fileID 字段 +## 0.2.13(2021-08-23) +- 修复 腾讯云传入fileID 不能回显的bug +- 修复 选择图片后,不能放大的问题 +## 0.2.12(2021-08-17) +- 修复 由于 0.2.11 版本引起的不能回显图片的Bug +## 0.2.11(2021-08-16) +- 新增 clearFiles(index) 方法,可以手动删除指定文件 +- 修复 v-model 值设为 null 报错的Bug +## 0.2.10(2021-08-13) +- 修复 return-type="object" 时,无法删除文件的Bug +## 0.2.9(2021-08-03) +- 修复 auto-upload 属性失效的Bug +## 0.2.8(2021-07-31) +- 修复 fileExtname属性不指定值报错的Bug +## 0.2.7(2021-07-31) +- 修复 在某种场景下图片不回显的Bug +## 0.2.6(2021-07-30) +- 修复 return-type为object下,返回值不正确的Bug +## 0.2.5(2021-07-30) +- 修复(重要) H5 平台下如果和uni-forms组件一同使用导致页面卡死的问题 +## 0.2.3(2021-07-28) +- 优化 调整示例代码 +## 0.2.2(2021-07-27) +- 修复 vue3 下赋值错误的Bug +- 优化 h5平台下上传文件导致页面卡死的问题 +## 0.2.0(2021-07-13) +- 组件兼容 vue3,如何创建vue3项目,详见 [uni-app 项目支持 vue3 介绍](https://ask.dcloud.net.cn/article/37834) +## 0.1.1(2021-07-02) +- 修复 sourceType 缺少默认值导致 ios 无法选择文件 +## 0.1.0(2021-06-30) +- 优化 解耦与uniCloud的强绑定关系 ,如不绑定服务空间,默认autoUpload为false且不可更改 +## 0.0.11(2021-06-30) +- 修复 由 0.0.10 版本引发的 returnType 属性失效的问题 +## 0.0.10(2021-06-29) +- 优化 文件上传后进度条消失时机 +## 0.0.9(2021-06-29) +- 修复 在uni-forms 中,删除文件 ,获取的值不对的Bug +## 0.0.8(2021-06-15) +- 修复 删除文件时无法触发 v-model 的Bug +## 0.0.7(2021-05-12) +- 新增 组件示例地址 +## 0.0.6(2021-04-09) +- 修复 选择的文件非 file-extname 字段指定的扩展名报错的Bug +## 0.0.5(2021-04-09) +- 优化 更新组件示例 +## 0.0.4(2021-04-09) +- 优化 file-extname 字段支持字符串写法,多个扩展名需要用逗号分隔 +## 0.0.3(2021-02-05) +- 调整为uni_modules目录规范 +- 修复 微信小程序不指定 fileExtname 属性选择失败的Bug diff --git a/wuye-manager-uniapp/uni_modules/uni-file-picker/components/uni-file-picker/choose-and-upload-file.js b/wuye-manager-uniapp/uni_modules/uni-file-picker/components/uni-file-picker/choose-and-upload-file.js new file mode 100644 index 0000000..9c6bcdf --- /dev/null +++ b/wuye-manager-uniapp/uni_modules/uni-file-picker/components/uni-file-picker/choose-and-upload-file.js @@ -0,0 +1,287 @@ +'use strict'; + +const ERR_MSG_OK = 'chooseAndUploadFile:ok'; +const ERR_MSG_FAIL = 'chooseAndUploadFile:fail'; + +function chooseImage(opts) { + const { + count, + sizeType = ['original', 'compressed'], + sourceType, + extension + } = opts + return new Promise((resolve, reject) => { + // 微信由于旧接口不再维护,针对微信小程序平台改用chooseMedia接口 + // #ifdef MP-WEIXIN + uni.chooseMedia({ + count, + sizeType, + sourceType, + mediaType: ['image'], + extension, + success(res) { + res.tempFiles.forEach(item => { + item.path = item.tempFilePath; + }) + resolve(normalizeChooseAndUploadFileRes(res, 'image')); + }, + fail(res) { + reject({ + errMsg: res.errMsg.replace('chooseImage:fail', ERR_MSG_FAIL), + }); + }, + }) + // #endif + // #ifndef MP-WEIXIN + uni.chooseImage({ + count, + sizeType, + sourceType, + extension, + success(res) { + resolve(normalizeChooseAndUploadFileRes(res, 'image')); + }, + fail(res) { + reject({ + errMsg: res.errMsg.replace('chooseImage:fail', ERR_MSG_FAIL), + }); + }, + }); + // #endif + + }); +} + +function chooseVideo(opts) { + const { + count, + camera, + compressed, + maxDuration, + sourceType, + extension + } = opts; + return new Promise((resolve, reject) => { + // 微信由于旧接口不再维护,针对微信小程序平台改用chooseMedia接口 + // #ifdef MP-WEIXIN + uni.chooseMedia({ + count, + compressed, + maxDuration, + sourceType, + extension, + mediaType: ['video'], + success(res) { + const { + tempFiles, + } = res; + resolve(normalizeChooseAndUploadFileRes({ + errMsg: 'chooseVideo:ok', + tempFiles: tempFiles.map(item => { + return { + name: item.name || '', + path: item.tempFilePath, + thumbTempFilePath: item.thumbTempFilePath, + size:item.size, + type: (res.tempFile && res.tempFile.type) || '', + width:item.width, + height:item.height, + duration:item.duration, + fileType: 'video', + cloudPath: '', + } + }), + }, 'video')); + }, + fail(res) { + reject({ + errMsg: res.errMsg.replace('chooseVideo:fail', ERR_MSG_FAIL), + }); + }, + }) + // #endif + // #ifndef MP-WEIXIN + uni.chooseVideo({ + camera, + compressed, + maxDuration, + sourceType, + extension, + success(res) { + const { + tempFilePath, + duration, + size, + height, + width + } = res; + resolve(normalizeChooseAndUploadFileRes({ + errMsg: 'chooseVideo:ok', + tempFilePaths: [tempFilePath], + tempFiles: [{ + name: (res.tempFile && res.tempFile.name) || '', + path: tempFilePath, + size, + type: (res.tempFile && res.tempFile.type) || '', + width, + height, + duration, + fileType: 'video', + cloudPath: '', + }, ], + }, 'video')); + }, + fail(res) { + reject({ + errMsg: res.errMsg.replace('chooseVideo:fail', ERR_MSG_FAIL), + }); + }, + }); + // #endif + }); +} + +function chooseAll(opts) { + const { + count, + extension + } = opts; + return new Promise((resolve, reject) => { + let chooseFile = uni.chooseFile; + if (typeof wx !== 'undefined' && + typeof wx.chooseMessageFile === 'function') { + chooseFile = wx.chooseMessageFile; + } + if (typeof chooseFile !== 'function') { + return reject({ + errMsg: ERR_MSG_FAIL + ' 请指定 type 类型,该平台仅支持选择 image 或 video。', + }); + } + chooseFile({ + type: 'all', + count, + extension, + success(res) { + resolve(normalizeChooseAndUploadFileRes(res)); + }, + fail(res) { + reject({ + errMsg: res.errMsg.replace('chooseFile:fail', ERR_MSG_FAIL), + }); + }, + }); + }); +} + +function normalizeChooseAndUploadFileRes(res, fileType) { + res.tempFiles.forEach((item, index) => { + if (!item.name) { + item.name = item.path.substring(item.path.lastIndexOf('/') + 1); + } + if (fileType) { + item.fileType = fileType; + } + item.cloudPath = + Date.now() + '_' + index + item.name.substring(item.name.lastIndexOf('.')); + }); + if (!res.tempFilePaths) { + res.tempFilePaths = res.tempFiles.map((file) => file.path); + } + return res; +} + +function uploadCloudFiles(files, max = 5, onUploadProgress) { + files = JSON.parse(JSON.stringify(files)) + const len = files.length + let count = 0 + let self = this + return new Promise(resolve => { + while (count < max) { + next() + } + + function next() { + let cur = count++ + if (cur >= len) { + !files.find(item => !item.url && !item.errMsg) && resolve(files) + return + } + const fileItem = files[cur] + const index = self.files.findIndex(v => v.uuid === fileItem.uuid) + fileItem.url = '' + delete fileItem.errMsg + + uniCloud + .uploadFile({ + filePath: fileItem.path, + cloudPath: fileItem.cloudPath, + fileType: fileItem.fileType, + onUploadProgress: res => { + res.index = index + onUploadProgress && onUploadProgress(res) + } + }) + .then(res => { + fileItem.url = res.fileID + fileItem.index = index + if (cur < len) { + next() + } + }) + .catch(res => { + fileItem.errMsg = res.errMsg || res.message + fileItem.index = index + if (cur < len) { + next() + } + }) + } + }) +} + + + + + +function uploadFiles(choosePromise, { + onChooseFile, + onUploadProgress +}) { + return choosePromise + .then((res) => { + if (onChooseFile) { + const customChooseRes = onChooseFile(res); + if (typeof customChooseRes !== 'undefined') { + return Promise.resolve(customChooseRes).then((chooseRes) => typeof chooseRes === 'undefined' ? + res : chooseRes); + } + } + return res; + }) + .then((res) => { + if (res === false) { + return { + errMsg: ERR_MSG_OK, + tempFilePaths: [], + tempFiles: [], + }; + } + return res + }) +} + +function chooseAndUploadFile(opts = { + type: 'all' +}) { + if (opts.type === 'image') { + return uploadFiles(chooseImage(opts), opts); + } else if (opts.type === 'video') { + return uploadFiles(chooseVideo(opts), opts); + } + return uploadFiles(chooseAll(opts), opts); +} + +export { + chooseAndUploadFile, + uploadCloudFiles +}; diff --git a/wuye-manager-uniapp/uni_modules/uni-file-picker/components/uni-file-picker/uni-file-picker.vue b/wuye-manager-uniapp/uni_modules/uni-file-picker/components/uni-file-picker/uni-file-picker.vue new file mode 100644 index 0000000..cf67ac7 --- /dev/null +++ b/wuye-manager-uniapp/uni_modules/uni-file-picker/components/uni-file-picker/uni-file-picker.vue @@ -0,0 +1,680 @@ + + + + + diff --git a/wuye-manager-uniapp/uni_modules/uni-file-picker/components/uni-file-picker/upload-file.vue b/wuye-manager-uniapp/uni_modules/uni-file-picker/components/uni-file-picker/upload-file.vue new file mode 100644 index 0000000..0d26379 --- /dev/null +++ b/wuye-manager-uniapp/uni_modules/uni-file-picker/components/uni-file-picker/upload-file.vue @@ -0,0 +1,323 @@ + + + + + \ No newline at end of file diff --git a/wuye-manager-uniapp/uni_modules/uni-file-picker/components/uni-file-picker/upload-image.vue b/wuye-manager-uniapp/uni_modules/uni-file-picker/components/uni-file-picker/upload-image.vue new file mode 100644 index 0000000..0ce5eb7 --- /dev/null +++ b/wuye-manager-uniapp/uni_modules/uni-file-picker/components/uni-file-picker/upload-image.vue @@ -0,0 +1,285 @@ + + + + + diff --git a/wuye-manager-uniapp/uni_modules/uni-file-picker/components/uni-file-picker/utils.js b/wuye-manager-uniapp/uni_modules/uni-file-picker/components/uni-file-picker/utils.js new file mode 100644 index 0000000..1bc9259 --- /dev/null +++ b/wuye-manager-uniapp/uni_modules/uni-file-picker/components/uni-file-picker/utils.js @@ -0,0 +1,110 @@ +/** + * 获取文件名和后缀 + * @param {String} name + */ +export const get_file_ext = (name) => { + const last_len = name.lastIndexOf('.') + const len = name.length + return { + name: name.substring(0, last_len), + ext: name.substring(last_len + 1, len) + } +} + +/** + * 获取扩展名 + * @param {Array} fileExtname + */ +export const get_extname = (fileExtname) => { + if (!Array.isArray(fileExtname)) { + let extname = fileExtname.replace(/(\[|\])/g, '') + return extname.split(',') + } else { + return fileExtname + } + return [] +} + +/** + * 获取文件和检测是否可选 + */ +export const get_files_and_is_max = (res, _extname) => { + let filePaths = [] + let files = [] + if(!_extname || _extname.length === 0){ + return { + filePaths, + files + } + } + res.tempFiles.forEach(v => { + let fileFullName = get_file_ext(v.name) + const extname = fileFullName.ext.toLowerCase() + if (_extname.indexOf(extname) !== -1) { + files.push(v) + filePaths.push(v.path) + } + }) + if (files.length !== res.tempFiles.length) { + uni.showToast({ + title: `当前选择了${res.tempFiles.length}个文件 ,${res.tempFiles.length - files.length} 个文件格式不正确`, + icon: 'none', + duration: 5000 + }) + } + + return { + filePaths, + files + } +} + + +/** + * 获取图片信息 + * @param {Object} filepath + */ +export const get_file_info = (filepath) => { + return new Promise((resolve, reject) => { + uni.getImageInfo({ + src: filepath, + success(res) { + resolve(res) + }, + fail(err) { + reject(err) + } + }) + }) +} +/** + * 获取封装数据 + */ +export const get_file_data = async (files, type = 'image') => { + // 最终需要上传数据库的数据 + let fileFullName = get_file_ext(files.name) + const extname = fileFullName.ext.toLowerCase() + let filedata = { + name: files.name, + uuid: files.uuid, + extname: extname || '', + cloudPath: files.cloudPath, + fileType: files.fileType, + thumbTempFilePath: files.thumbTempFilePath, + url: files.path || files.path, + size: files.size, //单位是字节 + image: {}, + path: files.path, + video: {} + } + if (type === 'image') { + const imageinfo = await get_file_info(files.path) + delete filedata.video + filedata.image.width = imageinfo.width + filedata.image.height = imageinfo.height + filedata.image.location = imageinfo.path + } else { + delete filedata.image + } + return filedata +} diff --git a/wuye-manager-uniapp/uni_modules/uni-file-picker/package.json b/wuye-manager-uniapp/uni_modules/uni-file-picker/package.json new file mode 100644 index 0000000..b13e315 --- /dev/null +++ b/wuye-manager-uniapp/uni_modules/uni-file-picker/package.json @@ -0,0 +1,105 @@ +{ + "id": "uni-file-picker", + "displayName": "uni-file-picker 文件选择上传", + "version": "1.1.3", + "description": "文件选择上传组件,可以选择图片、视频等任意文件并上传到当前绑定的服务空间", + "keywords": [ + "uni-ui", + "uniui", + "图片上传", + "文件上传" +], + "repository": "https://github.com/dcloudio/uni-ui", + "engines": { + "HBuilderX": "", + "uni-app": "^4.33", + "uni-app-x": "" + }, + "directories": { + "example": "../../temps/example_temps" + }, + "dcloudext": { + "sale": { + "regular": { + "price": "0.00" + }, + "sourcecode": { + "price": "0.00" + } + }, + "contact": { + "qq": "" + }, + "declaration": { + "ads": "无", + "data": "无", + "permissions": "无" + }, + "npmurl": "https://www.npmjs.com/package/@dcloudio/uni-ui", + "type": "component-vue", + "darkmode": "x", + "i18n": "x", + "widescreen": "x" + }, + "uni_modules": { + "dependencies": [ + "uni-scss" + ], + "encrypt": [], + "platforms": { + "cloud": { + "tcb": "√", + "aliyun": "√", + "alipay": "√" + }, + "client": { + "uni-app": { + "vue": { + "vue2": "√", + "vue3": "√" + }, + "web": { + "safari": "√", + "chrome": "√" + }, + "app": { + "vue": "√", + "nvue": "-", + "android": "√", + "ios": "√", + "harmony": "√" + }, + "mp": { + "weixin": "√", + "alipay": "√", + "toutiao": "√", + "baidu": "√", + "kuaishou": "√", + "jd": "-", + "harmony": "-", + "qq": "√", + "lark": "-" + }, + "quickapp": { + "huawei": "√", + "union": "√" + } + }, + "uni-app-x": { + "web": { + "safari": "-", + "chrome": "-" + }, + "app": { + "android": "-", + "ios": "-", + "harmony": "-" + }, + "mp": { + "weixin": "-" + } + } + } + } + } +} \ No newline at end of file diff --git a/wuye-manager-uniapp/uni_modules/uni-file-picker/readme.md b/wuye-manager-uniapp/uni_modules/uni-file-picker/readme.md new file mode 100644 index 0000000..7393e6c --- /dev/null +++ b/wuye-manager-uniapp/uni_modules/uni-file-picker/readme.md @@ -0,0 +1,10 @@ + +## FilePicker 文件选择上传 + +> **组件名:uni-file-picker** +> 代码块: `uFilePicker` + + +文件选择上传组件,可以选择图片、视频等任意文件并上传到当前绑定的服务空间 + +### [查看文档](https://uniapp.dcloud.io/component/uniui/uni-file-picker) \ No newline at end of file diff --git a/wuye-manager-uniapp/uni_modules/uni-forms/changelog.md b/wuye-manager-uniapp/uni_modules/uni-forms/changelog.md new file mode 100644 index 0000000..0b58ab8 --- /dev/null +++ b/wuye-manager-uniapp/uni_modules/uni-forms/changelog.md @@ -0,0 +1,100 @@ +## 1.4.13(2024-10-08) +- 修复 校验规则在抖音开发者工具上不生效的bug,详见:[https://ask.dcloud.net.cn/question/191933](https://ask.dcloud.net.cn/question/191933) +## 1.4.12 (2024-9-21) +- 修复 form上次修改的问题 +## 1.4.11 (2024-9-14) +- 修复 binddata的兼容性问题 +## 1.4.10(2023-11-03) +- 优化 labelWidth 描述错误 +## 1.4.9(2023-02-10) +- 修复 required 参数无法动态绑定 +## 1.4.8(2022-08-23) +- 优化 根据 rules 自动添加 required 的问题 +## 1.4.7(2022-08-22) +- 修复 item 未设置 require 属性,rules 设置 require 后,星号也显示的 bug,详见:[https://ask.dcloud.net.cn/question/151540](https://ask.dcloud.net.cn/question/151540) +## 1.4.6(2022-07-13) +- 修复 model 需要校验的值没有声明对应字段时,导致第一次不触发校验的bug +## 1.4.5(2022-07-05) +- 新增 更多表单示例 +- 优化 子表单组件过期提示的问题 +- 优化 子表单组件uni-datetime-picker、uni-data-select、uni-data-picker的显示样式 +## 1.4.4(2022-07-04) +- 更新 删除组件日志 +## 1.4.3(2022-07-04) +- 修复 由 1.4.0 引发的 label 插槽不生效的bug +## 1.4.2(2022-07-04) +- 修复 子组件找不到 setValue 报错的bug +## 1.4.1(2022-07-04) +- 修复 uni-data-picker 在 uni-forms-item 中报错的bug +- 修复 uni-data-picker 在 uni-forms-item 中宽度不正确的bug +## 1.4.0(2022-06-30) +- 【重要】组件逻辑重构,部分用法用旧版本不兼容,请注意兼容问题 +- 【重要】组件使用 Provide/Inject 方式注入依赖,提供了自定义表单组件调用 uni-forms 校验表单的能力 +- 新增 model 属性,等同于原 value/modelValue 属性,旧属性即将废弃 +- 新增 validateTrigger 属性的 blur 值,仅 uni-easyinput 生效 +- 新增 onFieldChange 方法,可以对子表单进行校验,可替代binddata方法 +- 新增 子表单的 setRules 方法,配合自定义校验函数使用 +- 新增 uni-forms-item 的 setRules 方法,配置动态表单使用可动态更新校验规则 +- 优化 动态表单校验方式,废弃拼接name的方式 +## 1.3.3(2022-06-22) +- 修复 表单校验顺序无序问题 +## 1.3.2(2021-12-09) +- +## 1.3.1(2021-11-19) +- 修复 label 插槽不生效的bug +## 1.3.0(2021-11-19) +- 优化 组件UI,并提供设计资源,详见:[https://uniapp.dcloud.io/component/uniui/resource](https://uniapp.dcloud.io/component/uniui/resource) +- 文档迁移,详见:[https://uniapp.dcloud.io/component/uniui/uni-forms](https://uniapp.dcloud.io/component/uniui/uni-forms) +## 1.2.7(2021-08-13) +- 修复 没有添加校验规则的字段依然报错的Bug +## 1.2.6(2021-08-11) +- 修复 重置表单错误信息无法清除的问题 +## 1.2.5(2021-08-11) +- 优化 组件文档 +## 1.2.4(2021-08-11) +- 修复 表单验证只生效一次的问题 +## 1.2.3(2021-07-30) +- 优化 vue3下事件警告的问题 +## 1.2.2(2021-07-26) +- 修复 vue2 下条件编译导致destroyed生命周期失效的Bug +- 修复 1.2.1 引起的示例在小程序平台报错的Bug +## 1.2.1(2021-07-22) +- 修复 动态校验表单,默认值为空的情况下校验失效的Bug +- 修复 不指定name属性时,运行报错的Bug +- 优化 label默认宽度从65调整至70,使required为true且四字时不换行 +- 优化 组件示例,新增动态校验示例代码 +- 优化 组件文档,使用方式更清晰 +## 1.2.0(2021-07-13) +- 组件兼容 vue3,如何创建vue3项目,详见 [uni-app 项目支持 vue3 介绍](https://ask.dcloud.net.cn/article/37834) +## 1.1.2(2021-06-25) +- 修复 pattern 属性在微信小程序平台无效的问题 +## 1.1.1(2021-06-22) +- 修复 validate-trigger属性为submit且err-show-type属性为toast时不能弹出的Bug +## 1.1.0(2021-06-22) +- 修复 只写setRules方法而导致校验不生效的Bug +- 修复 由上个办法引发的错误提示文字错位的Bug +## 1.0.48(2021-06-21) +- 修复 不设置 label 属性 ,无法设置label插槽的问题 +## 1.0.47(2021-06-21) +- 修复 不设置label属性,label-width属性不生效的bug +- 修复 setRules 方法与rules属性冲突的问题 +## 1.0.46(2021-06-04) +- 修复 动态删减数据导致报错的问题 +## 1.0.45(2021-06-04) +- 新增 modelValue 属性 ,value 即将废弃 +## 1.0.44(2021-06-02) +- 新增 uni-forms-item 可以设置单独的 rules +- 新增 validate 事件增加 keepitem 参数,可以选择那些字段不过滤 +- 优化 submit 事件重命名为 validate +## 1.0.43(2021-05-12) +- 新增 组件示例地址 +## 1.0.42(2021-04-30) +- 修复 自定义检验器失效的问题 +## 1.0.41(2021-03-05) +- 更新 校验器 +- 修复 表单规则设置类型为 number 的情况下,值为0校验失败的Bug +## 1.0.40(2021-03-04) +- 修复 动态显示uni-forms-item的情况下,submit 方法获取值错误的Bug +## 1.0.39(2021-02-05) +- 调整为uni_modules目录规范 +- 修复 校验器传入 int 等类型 ,返回String类型的Bug diff --git a/wuye-manager-uniapp/uni_modules/uni-forms/components/uni-forms-item/uni-forms-item.vue b/wuye-manager-uniapp/uni_modules/uni-forms/components/uni-forms-item/uni-forms-item.vue new file mode 100644 index 0000000..c924882 --- /dev/null +++ b/wuye-manager-uniapp/uni_modules/uni-forms/components/uni-forms-item/uni-forms-item.vue @@ -0,0 +1,632 @@ + + + + + diff --git a/wuye-manager-uniapp/uni_modules/uni-forms/components/uni-forms/uni-forms.vue b/wuye-manager-uniapp/uni_modules/uni-forms/components/uni-forms/uni-forms.vue new file mode 100644 index 0000000..d061313 --- /dev/null +++ b/wuye-manager-uniapp/uni_modules/uni-forms/components/uni-forms/uni-forms.vue @@ -0,0 +1,404 @@ + + + + + diff --git a/wuye-manager-uniapp/uni_modules/uni-forms/components/uni-forms/utils.js b/wuye-manager-uniapp/uni_modules/uni-forms/components/uni-forms/utils.js new file mode 100644 index 0000000..6da2421 --- /dev/null +++ b/wuye-manager-uniapp/uni_modules/uni-forms/components/uni-forms/utils.js @@ -0,0 +1,293 @@ +/** + * 简单处理对象拷贝 + * @param {Obejct} 被拷贝对象 + * @@return {Object} 拷贝对象 + */ +export const deepCopy = (val) => { + return JSON.parse(JSON.stringify(val)) +} +/** + * 过滤数字类型 + * @param {String} format 数字类型 + * @@return {Boolean} 返回是否为数字类型 + */ +export const typeFilter = (format) => { + return format === 'int' || format === 'double' || format === 'number' || format === 'timestamp'; +} + +/** + * 把 value 转换成指定的类型,用于处理初始值,原因是初始值需要入库不能为 undefined + * @param {String} key 字段名 + * @param {any} value 字段值 + * @param {Object} rules 表单校验规则 + */ +export const getValue = (key, value, rules) => { + const isRuleNumType = rules.find(val => val.format && typeFilter(val.format)); + const isRuleBoolType = rules.find(val => (val.format && val.format === 'boolean') || val.format === 'bool'); + // 输入类型为 number + if (!!isRuleNumType) { + if (!value && value !== 0) { + value = null + } else { + value = isNumber(Number(value)) ? Number(value) : value + } + } + + // 输入类型为 boolean + if (!!isRuleBoolType) { + value = isBoolean(value) ? value : false + } + + return value; +} + +/** + * 获取表单数据 + * @param {String|Array} name 真实名称,需要使用 realName 获取 + * @param {Object} data 原始数据 + * @param {any} value 需要设置的值 + */ +export const setDataValue = (field, formdata, value) => { + formdata[field] = value + return value || '' +} + +/** + * 获取表单数据 + * @param {String|Array} field 真实名称,需要使用 realName 获取 + * @param {Object} data 原始数据 + */ +export const getDataValue = (field, data) => { + return objGet(data, field) +} + +/** + * 获取表单类型 + * @param {String|Array} field 真实名称,需要使用 realName 获取 + */ +export const getDataValueType = (field, data) => { + const value = getDataValue(field, data) + return { + type: type(value), + value + } +} + +/** + * 获取表单可用的真实name + * @param {String|Array} name 表单name + * @@return {String} 表单可用的真实name + */ +export const realName = (name, data = {}) => { + const base_name = _basePath(name) + if (typeof base_name === 'object' && Array.isArray(base_name) && base_name.length > 1) { + const realname = base_name.reduce((a, b) => a += `#${b}`, '_formdata_') + return realname + } + return base_name[0] || name +} + +/** + * 判断是否表单可用的真实name + * @param {String|Array} name 表单name + * @@return {String} 表单可用的真实name + */ +export const isRealName = (name) => { + const reg = /^_formdata_#*/ + return reg.test(name) +} + +/** + * 获取表单数据的原始格式 + * @@return {Object|Array} object 需要解析的数据 + */ +export const rawData = (object = {}, name) => { + let newData = JSON.parse(JSON.stringify(object)) + let formData = {} + for(let i in newData){ + let path = name2arr(i) + objSet(formData,path,newData[i]) + } + return formData +} + +/** + * 真实name还原为 array + * @param {*} name + */ +export const name2arr = (name) => { + let field = name.replace('_formdata_#', '') + field = field.split('#').map(v => (isNumber(v) ? Number(v) : v)) + return field +} + +/** + * 对象中设置值 + * @param {Object|Array} object 源数据 + * @param {String| Array} path 'a.b.c' 或 ['a',0,'b','c'] + * @param {String} value 需要设置的值 + */ +export const objSet = (object, path, value) => { + if (typeof object !== 'object') return object; + _basePath(path).reduce((o, k, i, _) => { + if (i === _.length - 1) { + // 若遍历结束直接赋值 + o[k] = value + return null + } else if (k in o) { + // 若存在对应路径,则返回找到的对象,进行下一次遍历 + return o[k] + } else { + // 若不存在对应路径,则创建对应对象,若下一路径是数字,新对象赋值为空数组,否则赋值为空对象 + o[k] = /^[0-9]{1,}$/.test(_[i + 1]) ? [] : {} + return o[k] + } + }, object) + // 返回object + return object; +} + +// 处理 path, path有三种形式:'a[0].b.c'、'a.0.b.c' 和 ['a','0','b','c'],需要统一处理成数组,便于后续使用 +function _basePath(path) { + // 若是数组,则直接返回 + if (Array.isArray(path)) return path + // 若有 '[',']',则替换成将 '[' 替换成 '.',去掉 ']' + return path.replace(/\[/g, '.').replace(/\]/g, '').split('.') +} + +/** + * 从对象中获取值 + * @param {Object|Array} object 源数据 + * @param {String| Array} path 'a.b.c' 或 ['a',0,'b','c'] + * @param {String} defaultVal 如果无法从调用链中获取值的默认值 + */ +export const objGet = (object, path, defaultVal = 'undefined') => { + // 先将path处理成统一格式 + let newPath = _basePath(path) + // 递归处理,返回最后结果 + let val = newPath.reduce((o, k) => { + return (o || {})[k] + }, object); + return !val || val !== undefined ? val : defaultVal +} + + +/** + * 是否为 number 类型 + * @param {any} num 需要判断的值 + * @return {Boolean} 是否为 number + */ +export const isNumber = (num) => { + return !isNaN(Number(num)) +} + +/** + * 是否为 boolean 类型 + * @param {any} bool 需要判断的值 + * @return {Boolean} 是否为 boolean + */ +export const isBoolean = (bool) => { + return (typeof bool === 'boolean') +} +/** + * 是否有必填字段 + * @param {Object} rules 规则 + * @return {Boolean} 是否有必填字段 + */ +export const isRequiredField = (rules) => { + let isNoField = false; + for (let i = 0; i < rules.length; i++) { + const ruleData = rules[i]; + if (ruleData.required) { + isNoField = true; + break; + } + } + return isNoField; +} + + +/** + * 获取数据类型 + * @param {Any} obj 需要获取数据类型的值 + */ +export const type = (obj) => { + var class2type = {}; + + // 生成class2type映射 + "Boolean Number String Function Array Date RegExp Object Error".split(" ").map(function(item, index) { + class2type["[object " + item + "]"] = item.toLowerCase(); + }) + if (obj == null) { + return obj + ""; + } + return typeof obj === "object" || typeof obj === "function" ? + class2type[Object.prototype.toString.call(obj)] || "object" : + typeof obj; +} + +/** + * 判断两个值是否相等 + * @param {any} a 值 + * @param {any} b 值 + * @return {Boolean} 是否相等 + */ +export const isEqual = (a, b) => { + //如果a和b本来就全等 + if (a === b) { + //判断是否为0和-0 + return a !== 0 || 1 / a === 1 / b; + } + //判断是否为null和undefined + if (a == null || b == null) { + return a === b; + } + //接下来判断a和b的数据类型 + var classNameA = toString.call(a), + classNameB = toString.call(b); + //如果数据类型不相等,则返回false + if (classNameA !== classNameB) { + return false; + } + //如果数据类型相等,再根据不同数据类型分别判断 + switch (classNameA) { + case '[object RegExp]': + case '[object String]': + //进行字符串转换比较 + return '' + a === '' + b; + case '[object Number]': + //进行数字转换比较,判断是否为NaN + if (+a !== +a) { + return +b !== +b; + } + //判断是否为0或-0 + return +a === 0 ? 1 / +a === 1 / b : +a === +b; + case '[object Date]': + case '[object Boolean]': + return +a === +b; + } + //如果是对象类型 + if (classNameA == '[object Object]') { + //获取a和b的属性长度 + var propsA = Object.getOwnPropertyNames(a), + propsB = Object.getOwnPropertyNames(b); + if (propsA.length != propsB.length) { + return false; + } + for (var i = 0; i < propsA.length; i++) { + var propName = propsA[i]; + //如果对应属性对应值不相等,则返回false + if (a[propName] !== b[propName]) { + return false; + } + } + return true; + } + //如果是数组类型 + if (classNameA == '[object Array]') { + if (a.toString() == b.toString()) { + return true; + } + return false; + } +} diff --git a/wuye-manager-uniapp/uni_modules/uni-forms/components/uni-forms/validate.js b/wuye-manager-uniapp/uni_modules/uni-forms/components/uni-forms/validate.js new file mode 100644 index 0000000..1834c6c --- /dev/null +++ b/wuye-manager-uniapp/uni_modules/uni-forms/components/uni-forms/validate.js @@ -0,0 +1,486 @@ +var pattern = { + email: /^\S+?@\S+?\.\S+?$/, + idcard: /^[1-9]\d{5}(18|19|([23]\d))\d{2}((0[1-9])|(10|11|12))(([0-2][1-9])|10|20|30|31)\d{3}[0-9Xx]$/, + url: new RegExp( + "^(?!mailto:)(?:(?:http|https|ftp)://|//)(?:\\S+(?::\\S*)?@)?(?:(?:(?:[1-9]\\d?|1\\d\\d|2[01]\\d|22[0-3])(?:\\.(?:1?\\d{1,2}|2[0-4]\\d|25[0-5])){2}(?:\\.(?:[0-9]\\d?|1\\d\\d|2[0-4]\\d|25[0-4]))|(?:(?:[a-z\\u00a1-\\uffff0-9]+-*)*[a-z\\u00a1-\\uffff0-9]+)(?:\\.(?:[a-z\\u00a1-\\uffff0-9]+-*)*[a-z\\u00a1-\\uffff0-9]+)*(?:\\.(?:[a-z\\u00a1-\\uffff]{2,})))|localhost)(?::\\d{2,5})?(?:(/|\\?|#)[^\\s]*)?$", + 'i') +}; + +const FORMAT_MAPPING = { + "int": 'integer', + "bool": 'boolean', + "double": 'number', + "long": 'number', + "password": 'string' + // "fileurls": 'array' +} + +function formatMessage(args, resources = '') { + var defaultMessage = ['label'] + defaultMessage.forEach((item) => { + if (args[item] === undefined) { + args[item] = '' + } + }) + + let str = resources + for (let key in args) { + let reg = new RegExp('{' + key + '}') + str = str.replace(reg, args[key]) + } + return str +} + +function isEmptyValue(value, type) { + if (value === undefined || value === null) { + return true; + } + + if (typeof value === 'string' && !value) { + return true; + } + + if (Array.isArray(value) && !value.length) { + return true; + } + + if (type === 'object' && !Object.keys(value).length) { + return true; + } + + return false; +} + +const types = { + integer(value) { + return types.number(value) && parseInt(value, 10) === value; + }, + string(value) { + return typeof value === 'string'; + }, + number(value) { + if (isNaN(value)) { + return false; + } + return typeof value === 'number'; + }, + "boolean": function(value) { + return typeof value === 'boolean'; + }, + "float": function(value) { + return types.number(value) && !types.integer(value); + }, + array(value) { + return Array.isArray(value); + }, + object(value) { + return typeof value === 'object' && !types.array(value); + }, + date(value) { + return value instanceof Date; + }, + timestamp(value) { + if (!this.integer(value) || Math.abs(value).toString().length > 16) { + return false + } + return true; + }, + file(value) { + return typeof value.url === 'string'; + }, + email(value) { + return typeof value === 'string' && !!value.match(pattern.email) && value.length < 255; + }, + url(value) { + return typeof value === 'string' && !!value.match(pattern.url); + }, + pattern(reg, value) { + try { + return new RegExp(reg).test(value); + } catch (e) { + return false; + } + }, + method(value) { + return typeof value === 'function'; + }, + idcard(value) { + return typeof value === 'string' && !!value.match(pattern.idcard); + }, + 'url-https'(value) { + return this.url(value) && value.startsWith('https://'); + }, + 'url-scheme'(value) { + return value.startsWith('://'); + }, + 'url-web'(value) { + return false; + } +} + +class RuleValidator { + + constructor(message) { + this._message = message + } + + async validateRule(fieldKey, fieldValue, value, data, allData) { + var result = null + + let rules = fieldValue.rules + + let hasRequired = rules.findIndex((item) => { + return item.required + }) + if (hasRequired < 0) { + if (value === null || value === undefined) { + return result + } + if (typeof value === 'string' && !value.length) { + return result + } + } + + var message = this._message + + if (rules === undefined) { + return message['default'] + } + + for (var i = 0; i < rules.length; i++) { + let rule = rules[i] + let vt = this._getValidateType(rule) + + Object.assign(rule, { + label: fieldValue.label || `["${fieldKey}"]` + }) + + if (RuleValidatorHelper[vt]) { + result = RuleValidatorHelper[vt](rule, value, message) + if (result != null) { + break + } + } + + if (rule.validateExpr) { + let now = Date.now() + let resultExpr = rule.validateExpr(value, allData, now) + if (resultExpr === false) { + result = this._getMessage(rule, rule.errorMessage || this._message['default']) + break + } + } + + if (rule.validateFunction) { + result = await this.validateFunction(rule, value, data, allData, vt) + if (result !== null) { + break + } + } + } + + if (result !== null) { + result = message.TAG + result + } + + return result + } + + async validateFunction(rule, value, data, allData, vt) { + let result = null + try { + let callbackMessage = null + const res = await rule.validateFunction(rule, value, allData || data, (message) => { + callbackMessage = message + }) + if (callbackMessage || (typeof res === 'string' && res) || res === false) { + result = this._getMessage(rule, callbackMessage || res, vt) + } + } catch (e) { + result = this._getMessage(rule, e.message, vt) + } + return result + } + + _getMessage(rule, message, vt) { + return formatMessage(rule, message || rule.errorMessage || this._message[vt] || message['default']) + } + + _getValidateType(rule) { + var result = '' + if (rule.required) { + result = 'required' + } else if (rule.format) { + result = 'format' + } else if (rule.arrayType) { + result = 'arrayTypeFormat' + } else if (rule.range) { + result = 'range' + } else if (rule.maximum !== undefined || rule.minimum !== undefined) { + result = 'rangeNumber' + } else if (rule.maxLength !== undefined || rule.minLength !== undefined) { + result = 'rangeLength' + } else if (rule.pattern) { + result = 'pattern' + } else if (rule.validateFunction) { + result = 'validateFunction' + } + return result + } +} + +const RuleValidatorHelper = { + required(rule, value, message) { + if (rule.required && isEmptyValue(value, rule.format || typeof value)) { + return formatMessage(rule, rule.errorMessage || message.required); + } + + return null + }, + + range(rule, value, message) { + const { + range, + errorMessage + } = rule; + + let list = new Array(range.length); + for (let i = 0; i < range.length; i++) { + const item = range[i]; + if (types.object(item) && item.value !== undefined) { + list[i] = item.value; + } else { + list[i] = item; + } + } + + let result = false + if (Array.isArray(value)) { + result = (new Set(value.concat(list)).size === list.length); + } else { + if (list.indexOf(value) > -1) { + result = true; + } + } + + if (!result) { + return formatMessage(rule, errorMessage || message['enum']); + } + + return null + }, + + rangeNumber(rule, value, message) { + if (!types.number(value)) { + return formatMessage(rule, rule.errorMessage || message.pattern.mismatch); + } + + let { + minimum, + maximum, + exclusiveMinimum, + exclusiveMaximum + } = rule; + let min = exclusiveMinimum ? value <= minimum : value < minimum; + let max = exclusiveMaximum ? value >= maximum : value > maximum; + + if (minimum !== undefined && min) { + return formatMessage(rule, rule.errorMessage || message['number'][exclusiveMinimum ? + 'exclusiveMinimum' : 'minimum' + ]) + } else if (maximum !== undefined && max) { + return formatMessage(rule, rule.errorMessage || message['number'][exclusiveMaximum ? + 'exclusiveMaximum' : 'maximum' + ]) + } else if (minimum !== undefined && maximum !== undefined && (min || max)) { + return formatMessage(rule, rule.errorMessage || message['number'].range) + } + + return null + }, + + rangeLength(rule, value, message) { + if (!types.string(value) && !types.array(value)) { + return formatMessage(rule, rule.errorMessage || message.pattern.mismatch); + } + + let min = rule.minLength; + let max = rule.maxLength; + let val = value.length; + + if (min !== undefined && val < min) { + return formatMessage(rule, rule.errorMessage || message['length'].minLength) + } else if (max !== undefined && val > max) { + return formatMessage(rule, rule.errorMessage || message['length'].maxLength) + } else if (min !== undefined && max !== undefined && (val < min || val > max)) { + return formatMessage(rule, rule.errorMessage || message['length'].range) + } + + return null + }, + + pattern(rule, value, message) { + if (!types['pattern'](rule.pattern, value)) { + return formatMessage(rule, rule.errorMessage || message.pattern.mismatch); + } + + return null + }, + + format(rule, value, message) { + var customTypes = Object.keys(types); + var format = FORMAT_MAPPING[rule.format] ? FORMAT_MAPPING[rule.format] : (rule.format || rule.arrayType); + + if (customTypes.indexOf(format) > -1) { + if (!types[format](value)) { + return formatMessage(rule, rule.errorMessage || message.typeError); + } + } + + return null + }, + + arrayTypeFormat(rule, value, message) { + if (!Array.isArray(value)) { + return formatMessage(rule, rule.errorMessage || message.typeError); + } + + for (let i = 0; i < value.length; i++) { + const element = value[i]; + let formatResult = this.format(rule, element, message) + if (formatResult !== null) { + return formatResult + } + } + + return null + } +} + +class SchemaValidator extends RuleValidator { + + constructor(schema, options) { + super(SchemaValidator.message); + + this._schema = schema + this._options = options || null + } + + updateSchema(schema) { + this._schema = schema + } + + async validate(data, allData) { + let result = this._checkFieldInSchema(data) + if (!result) { + result = await this.invokeValidate(data, false, allData) + } + return result.length ? result[0] : null + } + + async validateAll(data, allData) { + let result = this._checkFieldInSchema(data) + if (!result) { + result = await this.invokeValidate(data, true, allData) + } + return result + } + + async validateUpdate(data, allData) { + let result = this._checkFieldInSchema(data) + if (!result) { + result = await this.invokeValidateUpdate(data, false, allData) + } + return result.length ? result[0] : null + } + + async invokeValidate(data, all, allData) { + let result = [] + let schema = this._schema + for (let key in schema) { + let value = schema[key] + let errorMessage = await this.validateRule(key, value, data[key], data, allData) + if (errorMessage != null) { + result.push({ + key, + errorMessage + }) + if (!all) break + } + } + return result + } + + async invokeValidateUpdate(data, all, allData) { + let result = [] + for (let key in data) { + let errorMessage = await this.validateRule(key, this._schema[key], data[key], data, allData) + if (errorMessage != null) { + result.push({ + key, + errorMessage + }) + if (!all) break + } + } + return result + } + + _checkFieldInSchema(data) { + var keys = Object.keys(data) + var keys2 = Object.keys(this._schema) + if (new Set(keys.concat(keys2)).size === keys2.length) { + return '' + } + + var noExistFields = keys.filter((key) => { + return keys2.indexOf(key) < 0; + }) + var errorMessage = formatMessage({ + field: JSON.stringify(noExistFields) + }, SchemaValidator.message.TAG + SchemaValidator.message['defaultInvalid']) + return [{ + key: 'invalid', + errorMessage + }] + } +} + +function Message() { + return { + TAG: "", + default: '验证错误', + defaultInvalid: '提交的字段{field}在数据库中并不存在', + validateFunction: '验证无效', + required: '{label}必填', + 'enum': '{label}超出范围', + timestamp: '{label}格式无效', + whitespace: '{label}不能为空', + typeError: '{label}类型无效', + date: { + format: '{label}日期{value}格式无效', + parse: '{label}日期无法解析,{value}无效', + invalid: '{label}日期{value}无效' + }, + length: { + minLength: '{label}长度不能少于{minLength}', + maxLength: '{label}长度不能超过{maxLength}', + range: '{label}必须介于{minLength}和{maxLength}之间' + }, + number: { + minimum: '{label}不能小于{minimum}', + maximum: '{label}不能大于{maximum}', + exclusiveMinimum: '{label}不能小于等于{minimum}', + exclusiveMaximum: '{label}不能大于等于{maximum}', + range: '{label}必须介于{minimum}and{maximum}之间' + }, + pattern: { + mismatch: '{label}格式不匹配' + } + }; +} + + +SchemaValidator.message = new Message(); + +export default SchemaValidator diff --git a/wuye-manager-uniapp/uni_modules/uni-forms/package.json b/wuye-manager-uniapp/uni_modules/uni-forms/package.json new file mode 100644 index 0000000..0d72c63 --- /dev/null +++ b/wuye-manager-uniapp/uni_modules/uni-forms/package.json @@ -0,0 +1,89 @@ +{ + "id": "uni-forms", + "displayName": "uni-forms 表单", + "version": "1.4.13", + "description": "由输入框、选择器、单选框、多选框等控件组成,用以收集、校验、提交数据", + "keywords": [ + "uni-ui", + "表单", + "校验", + "表单校验", + "表单验证" +], + "repository": "https://github.com/dcloudio/uni-ui", + "engines": { + "HBuilderX": "" + }, + "directories": { + "example": "../../temps/example_temps" + }, +"dcloudext": { + "sale": { + "regular": { + "price": "0.00" + }, + "sourcecode": { + "price": "0.00" + } + }, + "contact": { + "qq": "" + }, + "declaration": { + "ads": "无", + "data": "无", + "permissions": "无" + }, + "npmurl": "https://www.npmjs.com/package/@dcloudio/uni-ui", + "type": "component-vue" + }, + "uni_modules": { + "dependencies": [ + "uni-scss", + "uni-icons" + ], + "encrypt": [], + "platforms": { + "cloud": { + "tcb": "y", + "aliyun": "y", + "alipay": "n" + }, + "client": { + "App": { + "app-vue": "y", + "app-nvue": "y" + }, + "H5-mobile": { + "Safari": "y", + "Android Browser": "y", + "微信浏览器(Android)": "y", + "QQ浏览器(Android)": "y" + }, + "H5-pc": { + "Chrome": "y", + "IE": "y", + "Edge": "y", + "Firefox": "y", + "Safari": "y" + }, + "小程序": { + "微信": "y", + "阿里": "y", + "百度": "y", + "字节跳动": "y", + "QQ": "y", + "京东": "u" + }, + "快应用": { + "华为": "u", + "联盟": "u" + }, + "Vue": { + "vue2": "y", + "vue3": "y" + } + } + } + } +} diff --git a/wuye-manager-uniapp/uni_modules/uni-forms/readme.md b/wuye-manager-uniapp/uni_modules/uni-forms/readme.md new file mode 100644 index 0000000..63d5a04 --- /dev/null +++ b/wuye-manager-uniapp/uni_modules/uni-forms/readme.md @@ -0,0 +1,23 @@ + + +## Forms 表单 + +> **组件名:uni-forms** +> 代码块: `uForms`、`uni-forms-item` +> 关联组件:`uni-forms-item`、`uni-easyinput`、`uni-data-checkbox`、`uni-group`。 + + +uni-app的内置组件已经有了 `