From cc94d3e3e93a9e25fe21a73b71a9810c98829a20 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=8E=8B=E5=88=A9=E5=BC=BA?= <18394468624@163.com> Date: Sun, 21 Jun 2026 16:30:12 +0800 Subject: [PATCH] =?UTF-8?q?=E9=9A=90=E6=82=A3=E8=AF=A6=E6=83=85=E9=87=8D?= =?UTF-8?q?=E6=96=B0=E8=AE=BE=E8=AE=A1=EF=BC=8C=E6=A3=80=E6=9F=A5=E8=AE=A1?= =?UTF-8?q?=E5=88=92=E9=87=8D=E6=96=B0=E8=AE=BE=E8=AE=A1=E6=88=90=E5=81=9A?= =?UTF-8?q?=E9=A2=98=E6=8E=92=E6=9F=A5=E5=BC=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- components/hazard/HazardFormPopup.vue | 1182 +++++++++++++++ components/hazard/hazardForm.js | 72 + components/hazard/index.js | 1 + components/hazardDetail/HazardDetailPanel.vue | 760 ++++++++++ .../hazardDetail/HazardDetailPanelV2.vue | 743 ++++++++++ components/hazardDetail/hazardDetail.js | 371 +++++ components/hazardDetail/index.js | 1 + .../hazardDetail/useHazardDetailScroll.js | 164 +++ pages.json | 24 +- pages/Inspectionresult/Inspectionresult.vue | 1255 ++-------------- pages/Inspectionresult/detail.vue | 1284 +++++++++++++++++ pages/Inspectionresult/list.vue | 284 ++++ pages/editchecklist/editchecklist.vue | 82 +- pages/hiddendanger/Inspection.vue | 1169 +-------------- pages/hiddendanger/acceptance.vue | 353 +++-- pages/hiddendanger/assignment.vue | 116 +- pages/hiddendanger/detail2.vue | 243 ++++ pages/hiddendanger/rectification.vue | 343 +++-- pages/hiddendanger/view.vue | 218 +-- pages/index/index.vue | 250 +++- pages/login/login.vue | 2 +- pages/membermanagemen/membermanagemen.vue | 128 +- request/api.js | 60 +- request/request.js | 8 +- static/yinhuan_detail/date.png | Bin 0 -> 2709 bytes static/yinhuan_detail/jiaoban__selected.png | Bin 0 -> 1121 bytes static/yinhuan_detail/jiaoban__unselected.png | Bin 0 -> 1437 bytes static/yinhuan_detail/status.png | Bin 0 -> 1567 bytes static/yinhuan_detail/tijiao__selected.png | Bin 0 -> 583 bytes static/yinhuan_detail/tijiao__unselected.png | Bin 0 -> 758 bytes static/yinhuan_detail/xiaohao__selected.png | Bin 0 -> 929 bytes static/yinhuan_detail/xiaohao__unselected.png | Bin 0 -> 1153 bytes static/yinhuan_detail/yanshou__selected.png | Bin 0 -> 780 bytes static/yinhuan_detail/yanshou__unselected.png | Bin 0 -> 730 bytes .../yinhuan_detail/zhenggai__unselected.png | Bin 0 -> 991 bytes static/yinhuan_detail/zhenggai_selected.png | Bin 0 -> 751 bytes unpackage/dist/build/mp-weixin/app.json | 3 + .../dist/build/mp-weixin/common/assets.js | 2 +- .../dist/build/mp-weixin/common/vendor.js | 4 +- .../components/hazard/HazardFormPopup.js | 1 + .../components/hazard/HazardFormPopup.json | 9 + .../components/hazard/HazardFormPopup.wxml | 1 + .../components/hazard/HazardFormPopup.wxss | 1 + .../mp-weixin/components/hazard/hazardForm.js | 1 + .../mp-weixin/components/hazard/index.js | 1 + .../hazardDetail/HazardDetailPanel.js | 1 + .../hazardDetail/HazardDetailPanel.json | 4 + .../hazardDetail/HazardDetailPanel.wxml | 1 + .../hazardDetail/HazardDetailPanel.wxss | 1 + .../hazardDetail/HazardDetailPanelV2.js | 1 + .../hazardDetail/HazardDetailPanelV2.json | 4 + .../hazardDetail/HazardDetailPanelV2.wxml | 1 + .../hazardDetail/HazardDetailPanelV2.wxss | 1 + .../components/hazardDetail/hazardDetail.js | 1 + .../hazardDetail/useHazardDetailScroll.js | 1 + .../Inspectionresult/Inspectionresult.js | 2 +- .../Inspectionresult/Inspectionresult.json | 5 +- .../Inspectionresult/Inspectionresult.wxml | 2 +- .../Inspectionresult/Inspectionresult.wxss | 2 +- .../pages/Inspectionresult/detail.js | 1 + .../pages/Inspectionresult/detail.json | 11 + .../pages/Inspectionresult/detail.wxml | 1 + .../pages/Inspectionresult/detail.wxss | 1 + .../mp-weixin/pages/Inspectionresult/list.js | 1 + .../pages/Inspectionresult/list.json | 7 + .../pages/Inspectionresult/list.wxml | 1 + .../pages/Inspectionresult/list.wxss | 1 + .../Inspectionwarning/Inspectionwarning.js | 2 +- .../pages/editchecklist/editchecklist.js | 2 +- .../pages/editchecklist/editchecklist.wxml | 2 +- .../pages/editchecklist/editchecklist.wxss | 2 +- .../pages/hiddendanger/Inspection.js | 2 +- .../pages/hiddendanger/Inspection.json | 6 +- .../pages/hiddendanger/Inspection.wxml | 2 +- .../pages/hiddendanger/Inspection.wxss | 2 +- .../pages/hiddendanger/acceptance.js | 2 +- .../pages/hiddendanger/acceptance.wxml | 2 +- .../pages/hiddendanger/acceptance.wxss | 2 +- .../pages/hiddendanger/assignment.js | 2 +- .../pages/hiddendanger/assignment.wxml | 2 +- .../pages/hiddendanger/assignment.wxss | 2 +- .../mp-weixin/pages/hiddendanger/detail2.js | 1 + .../mp-weixin/pages/hiddendanger/detail2.json | 10 + .../mp-weixin/pages/hiddendanger/detail2.wxml | 1 + .../mp-weixin/pages/hiddendanger/detail2.wxss | 1 + .../pages/hiddendanger/rectification.js | 2 +- .../pages/hiddendanger/rectification.wxml | 2 +- .../pages/hiddendanger/rectification.wxss | 2 +- .../mp-weixin/pages/hiddendanger/view.js | 2 +- .../mp-weixin/pages/hiddendanger/view.json | 3 +- .../mp-weixin/pages/hiddendanger/view.wxml | 2 +- .../mp-weixin/pages/hiddendanger/view.wxss | 2 +- .../dist/build/mp-weixin/pages/index/index.js | 2 +- .../build/mp-weixin/pages/index/index.json | 5 +- .../build/mp-weixin/pages/index/index.wxml | 2 +- .../build/mp-weixin/pages/index/index.wxss | 2 +- .../build/mp-weixin/pages/login/forget.js | 2 +- .../dist/build/mp-weixin/pages/login/login.js | 2 +- .../build/mp-weixin/pages/login/login.wxml | 2 +- .../build/mp-weixin/pages/login/login.wxss | 2 +- .../build/mp-weixin/pages/login/success.js | 2 +- .../pages/membermanagemen/membermanagemen.js | 2 +- .../membermanagemen/membermanagemen.wxml | 2 +- .../membermanagemen/membermanagemen.wxss | 2 +- .../pages/personalcenter/helpcenter.js | 2 +- .../mp-weixin/pages/personalcenter/my.js | 2 +- unpackage/dist/build/mp-weixin/request/api.js | 2 +- .../mp-weixin/static/yinhuan_detail/date.png | Bin 0 -> 2709 bytes .../yinhuan_detail/jiaoban__selected.png | Bin 0 -> 1121 bytes .../yinhuan_detail/jiaoban__unselected.png | Bin 0 -> 1437 bytes .../static/yinhuan_detail/status.png | Bin 0 -> 1567 bytes .../yinhuan_detail/tijiao__selected.png | Bin 0 -> 583 bytes .../yinhuan_detail/tijiao__unselected.png | Bin 0 -> 758 bytes .../yinhuan_detail/xiaohao__selected.png | Bin 0 -> 929 bytes .../yinhuan_detail/xiaohao__unselected.png | Bin 0 -> 1153 bytes .../yinhuan_detail/yanshou__selected.png | Bin 0 -> 780 bytes .../yinhuan_detail/yanshou__unselected.png | Bin 0 -> 730 bytes .../yinhuan_detail/zhenggai__unselected.png | Bin 0 -> 991 bytes .../yinhuan_detail/zhenggai_selected.png | Bin 0 -> 751 bytes .../components/u-choose/u-choose.js | 1 - .../components/u-choose/u-choose.json | 6 - .../components/u-choose/u-choose.wxml | 1 - .../components/u-choose/u-choose.wxss | 1 - .../uview-plus/components/u-tag/props.js | 1 - .../uview-plus/components/u-tag/u-tag.js | 1 - .../uview-plus/components/u-tag/u-tag.json | 7 - .../uview-plus/components/u-tag/u-tag.wxml | 1 - .../uview-plus/components/u-tag/u-tag.wxss | 1 - .../uview-plus/libs/function/index.js | 2 +- .../dist/build/mp-weixin/utils/draftCache.js | 1 + .../build/mp-weixin/utils/useDraftCache.js | 1 + .../dist/dev/.sourcemap/mp-weixin/app.js.map | 2 +- .../.sourcemap/mp-weixin/common/assets.js.map | 2 +- .../.sourcemap/mp-weixin/common/vendor.js.map | 2 +- .../components/hazard/HazardFormPopup.js.map | 1 + .../components/hazard/hazardForm.js.map | 1 + .../mp-weixin/components/hazard/index.js.map | 1 + .../hazardDetail/HazardDetailPanel.js.map | 1 + .../hazardDetail/HazardDetailPanelV2.js.map | 1 + .../hazardDetail/hazardDetail.js.map | 1 + .../hazardDetail/useHazardDetailScroll.js.map | 1 + .../Inspectionresult/Inspectionresult.js.map | 2 +- .../pages/Inspectionresult/detail.js.map | 1 + .../pages/Inspectionresult/list.js.map | 1 + .../pages/editchecklist/editchecklist.js.map | 2 +- .../pages/hiddendanger/Inspection.js.map | 2 +- .../pages/hiddendanger/acceptance.js.map | 2 +- .../pages/hiddendanger/assignment.js.map | 2 +- .../pages/hiddendanger/detail2.js.map | 1 + .../pages/hiddendanger/rectification.js.map | 2 +- .../mp-weixin/pages/hiddendanger/view.js.map | 2 +- .../mp-weixin/pages/index/index.js.map | 2 +- .../mp-weixin/pages/login/login.js.map | 2 +- .../membermanagemen/membermanagemen.js.map | 2 +- .../.sourcemap/mp-weixin/request/api.js.map | 2 +- .../mp-weixin/request/request.js.map | 2 +- .../components/u-checkbox-group/props.js.map | 1 - .../u-checkbox-group/u-checkbox-group.js.map | 1 - .../components/u-choose/u-choose.js.map | 1 - .../uview-plus/components/u-tag/props.js.map | 1 - .../uview-plus/components/u-tag/u-tag.js.map | 1 - .../uview-plus/libs/function/index.js.map | 2 +- .../mp-weixin/utils/draftCache.js.map | 1 + .../mp-weixin/utils/useDraftCache.js.map | 1 + unpackage/dist/dev/mp-weixin/app.js | 3 + unpackage/dist/dev/mp-weixin/app.json | 3 + unpackage/dist/dev/mp-weixin/common/assets.js | 28 +- unpackage/dist/dev/mp-weixin/common/vendor.js | 59 +- .../components/hazard/HazardFormPopup.js | 657 +++++++++ .../components/hazard/HazardFormPopup.json | 9 + .../components/hazard/HazardFormPopup.wxml | 1 + .../components/hazard/HazardFormPopup.wxss | 373 +++++ .../mp-weixin/components/hazard/hazardForm.js | 73 + .../dev/mp-weixin/components/hazard/index.js | 4 + .../hazardDetail/HazardDetailPanel.js | 242 ++++ .../hazardDetail/HazardDetailPanel.json | 4 + .../hazardDetail/HazardDetailPanel.wxml | 1 + .../hazardDetail/HazardDetailPanel.wxss | 331 +++++ .../hazardDetail/HazardDetailPanelV2.js | 265 ++++ .../hazardDetail/HazardDetailPanelV2.json | 4 + .../hazardDetail/HazardDetailPanelV2.wxml | 1 + .../hazardDetail/HazardDetailPanelV2.wxss | 292 ++++ .../components/hazardDetail/hazardDetail.js | 203 +++ .../hazardDetail/useHazardDetailScroll.js | 144 ++ .../Inspectionresult/Inspectionresult.js | 711 ++------- .../Inspectionresult/Inspectionresult.json | 5 +- .../Inspectionresult/Inspectionresult.wxml | 2 +- .../Inspectionresult/Inspectionresult.wxss | 274 ---- .../pages/Inspectionresult/detail.js | 645 +++++++++ .../pages/Inspectionresult/detail.json | 11 + .../pages/Inspectionresult/detail.wxml | 1 + .../pages/Inspectionresult/detail.wxss | 455 ++++++ .../mp-weixin/pages/Inspectionresult/list.js | 138 ++ .../pages/Inspectionresult/list.json | 7 + .../pages/Inspectionresult/list.wxml | 1 + .../pages/Inspectionresult/list.wxss | 105 ++ .../Inspectionwarning/Inspectionwarning.js | 4 +- .../pages/editchecklist/editchecklist.js | 89 +- .../pages/hiddendanger/Inspection.js | 554 +------ .../pages/hiddendanger/Inspection.json | 6 +- .../pages/hiddendanger/Inspection.wxml | 2 +- .../pages/hiddendanger/Inspection.wxss | 338 ----- .../pages/hiddendanger/acceptance.js | 333 +++-- .../pages/hiddendanger/acceptance.wxml | 2 +- .../pages/hiddendanger/assignment.js | 113 +- .../mp-weixin/pages/hiddendanger/detail2.js | 106 ++ .../mp-weixin/pages/hiddendanger/detail2.json | 10 + .../mp-weixin/pages/hiddendanger/detail2.wxml | 1 + .../mp-weixin/pages/hiddendanger/detail2.wxss | 132 ++ .../pages/hiddendanger/rectification.js | 308 ++-- .../pages/hiddendanger/rectification.wxml | 2 +- .../dev/mp-weixin/pages/hiddendanger/view.js | 114 +- .../mp-weixin/pages/hiddendanger/view.json | 3 +- .../mp-weixin/pages/hiddendanger/view.wxml | 2 +- .../mp-weixin/pages/hiddendanger/view.wxss | 37 +- .../dist/dev/mp-weixin/pages/index/index.js | 177 ++- .../dist/dev/mp-weixin/pages/index/index.json | 5 +- .../dist/dev/mp-weixin/pages/index/index.wxml | 2 +- .../dist/dev/mp-weixin/pages/index/index.wxss | 29 + .../dist/dev/mp-weixin/pages/login/forget.js | 4 +- .../dist/dev/mp-weixin/pages/login/login.js | 6 +- .../dist/dev/mp-weixin/pages/login/login.wxml | 2 +- .../dist/dev/mp-weixin/pages/login/success.js | 2 +- .../pages/membermanagemen/membermanagemen.js | 136 +- .../membermanagemen/membermanagemen.wxml | 2 +- .../pages/personalcenter/helpcenter.js | 4 +- .../dev/mp-weixin/pages/personalcenter/my.js | 4 +- unpackage/dist/dev/mp-weixin/request/api.js | 47 + .../dist/dev/mp-weixin/request/request.js | 8 +- .../mp-weixin/static/yinhuan_detail/date.png | Bin 0 -> 2709 bytes .../yinhuan_detail/jiaoban__selected.png | Bin 0 -> 1121 bytes .../yinhuan_detail/jiaoban__unselected.png | Bin 0 -> 1437 bytes .../static/yinhuan_detail/status.png | Bin 0 -> 1567 bytes .../yinhuan_detail/tijiao__selected.png | Bin 0 -> 583 bytes .../yinhuan_detail/tijiao__unselected.png | Bin 0 -> 758 bytes .../yinhuan_detail/xiaohao__selected.png | Bin 0 -> 929 bytes .../yinhuan_detail/xiaohao__unselected.png | Bin 0 -> 1153 bytes .../yinhuan_detail/yanshou__selected.png | Bin 0 -> 780 bytes .../yinhuan_detail/yanshou__unselected.png | Bin 0 -> 730 bytes .../yinhuan_detail/zhenggai__unselected.png | Bin 0 -> 991 bytes .../yinhuan_detail/zhenggai_selected.png | Bin 0 -> 751 bytes .../components/u-choose/u-choose.js | 110 -- .../components/u-choose/u-choose.json | 6 - .../components/u-choose/u-choose.wxml | 1 - .../components/u-choose/u-choose.wxss | 39 - .../uview-plus/components/u-tag/props.js | 119 -- .../uview-plus/components/u-tag/u-tag.js | 162 --- .../uview-plus/components/u-tag/u-tag.json | 7 - .../uview-plus/components/u-tag/u-tag.wxml | 1 - .../uview-plus/components/u-tag/u-tag.wxss | 186 --- .../uview-plus/libs/function/index.js | 1 - .../dist/dev/mp-weixin/utils/draftCache.js | 80 + .../dist/dev/mp-weixin/utils/useDraftCache.js | 114 ++ utils/draftCache.js | 102 ++ utils/useDraftCache.js | 158 ++ 代码结构分析与优化建议.md | 423 ++++++ 256 files changed, 12542 insertions(+), 5956 deletions(-) create mode 100644 components/hazard/HazardFormPopup.vue create mode 100644 components/hazard/hazardForm.js create mode 100644 components/hazard/index.js create mode 100644 components/hazardDetail/HazardDetailPanel.vue create mode 100644 components/hazardDetail/HazardDetailPanelV2.vue create mode 100644 components/hazardDetail/hazardDetail.js create mode 100644 components/hazardDetail/index.js create mode 100644 components/hazardDetail/useHazardDetailScroll.js create mode 100644 pages/Inspectionresult/detail.vue create mode 100644 pages/Inspectionresult/list.vue create mode 100644 pages/hiddendanger/detail2.vue create mode 100644 static/yinhuan_detail/date.png create mode 100644 static/yinhuan_detail/jiaoban__selected.png create mode 100644 static/yinhuan_detail/jiaoban__unselected.png create mode 100644 static/yinhuan_detail/status.png create mode 100644 static/yinhuan_detail/tijiao__selected.png create mode 100644 static/yinhuan_detail/tijiao__unselected.png create mode 100644 static/yinhuan_detail/xiaohao__selected.png create mode 100644 static/yinhuan_detail/xiaohao__unselected.png create mode 100644 static/yinhuan_detail/yanshou__selected.png create mode 100644 static/yinhuan_detail/yanshou__unselected.png create mode 100644 static/yinhuan_detail/zhenggai__unselected.png create mode 100644 static/yinhuan_detail/zhenggai_selected.png create mode 100644 unpackage/dist/build/mp-weixin/components/hazard/HazardFormPopup.js create mode 100644 unpackage/dist/build/mp-weixin/components/hazard/HazardFormPopup.json create mode 100644 unpackage/dist/build/mp-weixin/components/hazard/HazardFormPopup.wxml create mode 100644 unpackage/dist/build/mp-weixin/components/hazard/HazardFormPopup.wxss create mode 100644 unpackage/dist/build/mp-weixin/components/hazard/hazardForm.js create mode 100644 unpackage/dist/build/mp-weixin/components/hazard/index.js create mode 100644 unpackage/dist/build/mp-weixin/components/hazardDetail/HazardDetailPanel.js create mode 100644 unpackage/dist/build/mp-weixin/components/hazardDetail/HazardDetailPanel.json create mode 100644 unpackage/dist/build/mp-weixin/components/hazardDetail/HazardDetailPanel.wxml create mode 100644 unpackage/dist/build/mp-weixin/components/hazardDetail/HazardDetailPanel.wxss create mode 100644 unpackage/dist/build/mp-weixin/components/hazardDetail/HazardDetailPanelV2.js create mode 100644 unpackage/dist/build/mp-weixin/components/hazardDetail/HazardDetailPanelV2.json create mode 100644 unpackage/dist/build/mp-weixin/components/hazardDetail/HazardDetailPanelV2.wxml create mode 100644 unpackage/dist/build/mp-weixin/components/hazardDetail/HazardDetailPanelV2.wxss create mode 100644 unpackage/dist/build/mp-weixin/components/hazardDetail/hazardDetail.js create mode 100644 unpackage/dist/build/mp-weixin/components/hazardDetail/useHazardDetailScroll.js create mode 100644 unpackage/dist/build/mp-weixin/pages/Inspectionresult/detail.js create mode 100644 unpackage/dist/build/mp-weixin/pages/Inspectionresult/detail.json create mode 100644 unpackage/dist/build/mp-weixin/pages/Inspectionresult/detail.wxml create mode 100644 unpackage/dist/build/mp-weixin/pages/Inspectionresult/detail.wxss create mode 100644 unpackage/dist/build/mp-weixin/pages/Inspectionresult/list.js create mode 100644 unpackage/dist/build/mp-weixin/pages/Inspectionresult/list.json create mode 100644 unpackage/dist/build/mp-weixin/pages/Inspectionresult/list.wxml create mode 100644 unpackage/dist/build/mp-weixin/pages/Inspectionresult/list.wxss create mode 100644 unpackage/dist/build/mp-weixin/pages/hiddendanger/detail2.js create mode 100644 unpackage/dist/build/mp-weixin/pages/hiddendanger/detail2.json create mode 100644 unpackage/dist/build/mp-weixin/pages/hiddendanger/detail2.wxml create mode 100644 unpackage/dist/build/mp-weixin/pages/hiddendanger/detail2.wxss create mode 100644 unpackage/dist/build/mp-weixin/static/yinhuan_detail/date.png create mode 100644 unpackage/dist/build/mp-weixin/static/yinhuan_detail/jiaoban__selected.png create mode 100644 unpackage/dist/build/mp-weixin/static/yinhuan_detail/jiaoban__unselected.png create mode 100644 unpackage/dist/build/mp-weixin/static/yinhuan_detail/status.png create mode 100644 unpackage/dist/build/mp-weixin/static/yinhuan_detail/tijiao__selected.png create mode 100644 unpackage/dist/build/mp-weixin/static/yinhuan_detail/tijiao__unselected.png create mode 100644 unpackage/dist/build/mp-weixin/static/yinhuan_detail/xiaohao__selected.png create mode 100644 unpackage/dist/build/mp-weixin/static/yinhuan_detail/xiaohao__unselected.png create mode 100644 unpackage/dist/build/mp-weixin/static/yinhuan_detail/yanshou__selected.png create mode 100644 unpackage/dist/build/mp-weixin/static/yinhuan_detail/yanshou__unselected.png create mode 100644 unpackage/dist/build/mp-weixin/static/yinhuan_detail/zhenggai__unselected.png create mode 100644 unpackage/dist/build/mp-weixin/static/yinhuan_detail/zhenggai_selected.png delete mode 100644 unpackage/dist/build/mp-weixin/uni_modules/uview-plus/components/u-choose/u-choose.js delete mode 100644 unpackage/dist/build/mp-weixin/uni_modules/uview-plus/components/u-choose/u-choose.json delete mode 100644 unpackage/dist/build/mp-weixin/uni_modules/uview-plus/components/u-choose/u-choose.wxml delete mode 100644 unpackage/dist/build/mp-weixin/uni_modules/uview-plus/components/u-choose/u-choose.wxss delete mode 100644 unpackage/dist/build/mp-weixin/uni_modules/uview-plus/components/u-tag/props.js delete mode 100644 unpackage/dist/build/mp-weixin/uni_modules/uview-plus/components/u-tag/u-tag.js delete mode 100644 unpackage/dist/build/mp-weixin/uni_modules/uview-plus/components/u-tag/u-tag.json delete mode 100644 unpackage/dist/build/mp-weixin/uni_modules/uview-plus/components/u-tag/u-tag.wxml delete mode 100644 unpackage/dist/build/mp-weixin/uni_modules/uview-plus/components/u-tag/u-tag.wxss create mode 100644 unpackage/dist/build/mp-weixin/utils/draftCache.js create mode 100644 unpackage/dist/build/mp-weixin/utils/useDraftCache.js create mode 100644 unpackage/dist/dev/.sourcemap/mp-weixin/components/hazard/HazardFormPopup.js.map create mode 100644 unpackage/dist/dev/.sourcemap/mp-weixin/components/hazard/hazardForm.js.map create mode 100644 unpackage/dist/dev/.sourcemap/mp-weixin/components/hazard/index.js.map create mode 100644 unpackage/dist/dev/.sourcemap/mp-weixin/components/hazardDetail/HazardDetailPanel.js.map create mode 100644 unpackage/dist/dev/.sourcemap/mp-weixin/components/hazardDetail/HazardDetailPanelV2.js.map create mode 100644 unpackage/dist/dev/.sourcemap/mp-weixin/components/hazardDetail/hazardDetail.js.map create mode 100644 unpackage/dist/dev/.sourcemap/mp-weixin/components/hazardDetail/useHazardDetailScroll.js.map create mode 100644 unpackage/dist/dev/.sourcemap/mp-weixin/pages/Inspectionresult/detail.js.map create mode 100644 unpackage/dist/dev/.sourcemap/mp-weixin/pages/Inspectionresult/list.js.map create mode 100644 unpackage/dist/dev/.sourcemap/mp-weixin/pages/hiddendanger/detail2.js.map delete mode 100644 unpackage/dist/dev/.sourcemap/mp-weixin/uni_modules/uview-plus/components/u-checkbox-group/props.js.map delete mode 100644 unpackage/dist/dev/.sourcemap/mp-weixin/uni_modules/uview-plus/components/u-checkbox-group/u-checkbox-group.js.map delete mode 100644 unpackage/dist/dev/.sourcemap/mp-weixin/uni_modules/uview-plus/components/u-choose/u-choose.js.map delete mode 100644 unpackage/dist/dev/.sourcemap/mp-weixin/uni_modules/uview-plus/components/u-tag/props.js.map delete mode 100644 unpackage/dist/dev/.sourcemap/mp-weixin/uni_modules/uview-plus/components/u-tag/u-tag.js.map create mode 100644 unpackage/dist/dev/.sourcemap/mp-weixin/utils/draftCache.js.map create mode 100644 unpackage/dist/dev/.sourcemap/mp-weixin/utils/useDraftCache.js.map create mode 100644 unpackage/dist/dev/mp-weixin/components/hazard/HazardFormPopup.js create mode 100644 unpackage/dist/dev/mp-weixin/components/hazard/HazardFormPopup.json create mode 100644 unpackage/dist/dev/mp-weixin/components/hazard/HazardFormPopup.wxml create mode 100644 unpackage/dist/dev/mp-weixin/components/hazard/HazardFormPopup.wxss create mode 100644 unpackage/dist/dev/mp-weixin/components/hazard/hazardForm.js create mode 100644 unpackage/dist/dev/mp-weixin/components/hazard/index.js create mode 100644 unpackage/dist/dev/mp-weixin/components/hazardDetail/HazardDetailPanel.js create mode 100644 unpackage/dist/dev/mp-weixin/components/hazardDetail/HazardDetailPanel.json create mode 100644 unpackage/dist/dev/mp-weixin/components/hazardDetail/HazardDetailPanel.wxml create mode 100644 unpackage/dist/dev/mp-weixin/components/hazardDetail/HazardDetailPanel.wxss create mode 100644 unpackage/dist/dev/mp-weixin/components/hazardDetail/HazardDetailPanelV2.js create mode 100644 unpackage/dist/dev/mp-weixin/components/hazardDetail/HazardDetailPanelV2.json create mode 100644 unpackage/dist/dev/mp-weixin/components/hazardDetail/HazardDetailPanelV2.wxml create mode 100644 unpackage/dist/dev/mp-weixin/components/hazardDetail/HazardDetailPanelV2.wxss create mode 100644 unpackage/dist/dev/mp-weixin/components/hazardDetail/hazardDetail.js create mode 100644 unpackage/dist/dev/mp-weixin/components/hazardDetail/useHazardDetailScroll.js create mode 100644 unpackage/dist/dev/mp-weixin/pages/Inspectionresult/detail.js create mode 100644 unpackage/dist/dev/mp-weixin/pages/Inspectionresult/detail.json create mode 100644 unpackage/dist/dev/mp-weixin/pages/Inspectionresult/detail.wxml create mode 100644 unpackage/dist/dev/mp-weixin/pages/Inspectionresult/detail.wxss create mode 100644 unpackage/dist/dev/mp-weixin/pages/Inspectionresult/list.js create mode 100644 unpackage/dist/dev/mp-weixin/pages/Inspectionresult/list.json create mode 100644 unpackage/dist/dev/mp-weixin/pages/Inspectionresult/list.wxml create mode 100644 unpackage/dist/dev/mp-weixin/pages/Inspectionresult/list.wxss create mode 100644 unpackage/dist/dev/mp-weixin/pages/hiddendanger/detail2.js create mode 100644 unpackage/dist/dev/mp-weixin/pages/hiddendanger/detail2.json create mode 100644 unpackage/dist/dev/mp-weixin/pages/hiddendanger/detail2.wxml create mode 100644 unpackage/dist/dev/mp-weixin/pages/hiddendanger/detail2.wxss create mode 100644 unpackage/dist/dev/mp-weixin/static/yinhuan_detail/date.png create mode 100644 unpackage/dist/dev/mp-weixin/static/yinhuan_detail/jiaoban__selected.png create mode 100644 unpackage/dist/dev/mp-weixin/static/yinhuan_detail/jiaoban__unselected.png create mode 100644 unpackage/dist/dev/mp-weixin/static/yinhuan_detail/status.png create mode 100644 unpackage/dist/dev/mp-weixin/static/yinhuan_detail/tijiao__selected.png create mode 100644 unpackage/dist/dev/mp-weixin/static/yinhuan_detail/tijiao__unselected.png create mode 100644 unpackage/dist/dev/mp-weixin/static/yinhuan_detail/xiaohao__selected.png create mode 100644 unpackage/dist/dev/mp-weixin/static/yinhuan_detail/xiaohao__unselected.png create mode 100644 unpackage/dist/dev/mp-weixin/static/yinhuan_detail/yanshou__selected.png create mode 100644 unpackage/dist/dev/mp-weixin/static/yinhuan_detail/yanshou__unselected.png create mode 100644 unpackage/dist/dev/mp-weixin/static/yinhuan_detail/zhenggai__unselected.png create mode 100644 unpackage/dist/dev/mp-weixin/static/yinhuan_detail/zhenggai_selected.png delete mode 100644 unpackage/dist/dev/mp-weixin/uni_modules/uview-plus/components/u-choose/u-choose.js delete mode 100644 unpackage/dist/dev/mp-weixin/uni_modules/uview-plus/components/u-choose/u-choose.json delete mode 100644 unpackage/dist/dev/mp-weixin/uni_modules/uview-plus/components/u-choose/u-choose.wxml delete mode 100644 unpackage/dist/dev/mp-weixin/uni_modules/uview-plus/components/u-choose/u-choose.wxss delete mode 100644 unpackage/dist/dev/mp-weixin/uni_modules/uview-plus/components/u-tag/props.js delete mode 100644 unpackage/dist/dev/mp-weixin/uni_modules/uview-plus/components/u-tag/u-tag.js delete mode 100644 unpackage/dist/dev/mp-weixin/uni_modules/uview-plus/components/u-tag/u-tag.json delete mode 100644 unpackage/dist/dev/mp-weixin/uni_modules/uview-plus/components/u-tag/u-tag.wxml delete mode 100644 unpackage/dist/dev/mp-weixin/uni_modules/uview-plus/components/u-tag/u-tag.wxss create mode 100644 unpackage/dist/dev/mp-weixin/utils/draftCache.js create mode 100644 unpackage/dist/dev/mp-weixin/utils/useDraftCache.js create mode 100644 utils/draftCache.js create mode 100644 utils/useDraftCache.js create mode 100644 代码结构分析与优化建议.md diff --git a/components/hazard/HazardFormPopup.vue b/components/hazard/HazardFormPopup.vue new file mode 100644 index 0000000..07b5f21 --- /dev/null +++ b/components/hazard/HazardFormPopup.vue @@ -0,0 +1,1182 @@ + + + + + diff --git a/components/hazard/hazardForm.js b/components/hazard/hazardForm.js new file mode 100644 index 0000000..7b5d756 --- /dev/null +++ b/components/hazard/hazardForm.js @@ -0,0 +1,72 @@ +import { buildAttachmentItem } from '@/utils/upload.js'; + +export const LEVEL_OPTIONS = [ + { id: 2, title: '一般隐患' }, + { id: 3, title: '重大隐患' } +]; + +export const SOURCE_OPTIONS = [ + { id: 1, title: '部门检查' }, + { id: 2, title: '督导检查' }, + { id: 3, title: '企业自查' }, + { id: 4, title: '行业互查' } +]; + +export const AI_LEVEL_MAP = { + 轻微: 0, + 轻微隐患: 0, + 一般: 0, + 一般隐患: 0, + 重大: 1, + 重大隐患: 1 +}; + +export function createEmptyHazardPayload() { + return { + formData: { + title: '', + level: 0, + source: 0, + description: '', + tagIndex: 0, + tagId: null, + regulationId: null, + regulationName: '' + }, + address: '', + lng: 0, + lat: 0, + areaId: '', + areaName: '', + fileList: [] + }; +} + +export function buildHiddenDangerParams(payload, extra = {}) { + const { formData, address, lng, lat, areaId, fileList } = payload; + const selectedTag = payload.tagOptions?.[formData.tagIndex]; + const tagId = formData.tagId ?? (selectedTag ? selectedTag.id : null); + + return { + title: formData.title, + level: LEVEL_OPTIONS[formData.level]?.id || 2, + lng: lng || 0, + lat: lat || 0, + address: address || '', + areaId: areaId || null, + description: formData.description || '', + source: SOURCE_OPTIONS[formData.source]?.title || '', + tagId, + attachments: (fileList || []) + .filter((f) => f.status === 'success') + .map((file) => buildAttachmentItem(file)), + regulationId: formData.regulationId || null, + ...extra + }; +} + +export function hasValidHazardPayload(payload) { + if (!payload) return false; + const { formData, fileList } = payload; + return !!(formData?.title && fileList?.length > 0); +} diff --git a/components/hazard/index.js b/components/hazard/index.js new file mode 100644 index 0000000..8af8403 --- /dev/null +++ b/components/hazard/index.js @@ -0,0 +1 @@ +export * from './hazardForm.js'; diff --git a/components/hazardDetail/HazardDetailPanel.vue b/components/hazardDetail/HazardDetailPanel.vue new file mode 100644 index 0000000..611fdcd --- /dev/null +++ b/components/hazardDetail/HazardDetailPanel.vue @@ -0,0 +1,760 @@ + + + + + diff --git a/components/hazardDetail/HazardDetailPanelV2.vue b/components/hazardDetail/HazardDetailPanelV2.vue new file mode 100644 index 0000000..ed87155 --- /dev/null +++ b/components/hazardDetail/HazardDetailPanelV2.vue @@ -0,0 +1,743 @@ + + + + + diff --git a/components/hazardDetail/hazardDetail.js b/components/hazardDetail/hazardDetail.js new file mode 100644 index 0000000..82adcaf --- /dev/null +++ b/components/hazardDetail/hazardDetail.js @@ -0,0 +1,371 @@ +/** 隐患详情历史节点类型 */ +export const HAZARD_NODE_TYPES = { + SUBMIT: 'submit', + ASSIGN: 'assign', + RECTIFY: 'rectify', + VERIFY: 'verify', + WRITEOFF: 'writeoff' +}; + +export const HAZARD_STATUS_CLASS_MAP = { + 1: 'status-blue', + 2: 'status-orange', + 3: 'status-red', + 4: 'status-yellow', + 5: 'status-green' +}; + +const STATUS_NAME_CLASS_MAP = { + 待交办: 'status-blue', + 待整改: 'status-orange', + 整改中: 'status-orange', + 待验收: 'status-red', + 待销号: 'status-yellow', + 已完成: 'status-green', + 已销号: 'status-green' +}; + +const LEVEL_NAME_MAP = { + 2: '一般隐患', + 3: '重大隐患' +}; + +export function getLevelName(level) { + return LEVEL_NAME_MAP[level] || '未知'; +} + +export function getStatusClass(status, statusName) { + if (statusName && STATUS_NAME_CLASS_MAP[statusName]) { + return STATUS_NAME_CLASS_MAP[statusName]; + } + return HAZARD_STATUS_CLASS_MAP[status] || ''; +} + +const LEVEL_CLASS_MAP = { + 2: 'level-normal', + 3: 'level-major' +}; + +const LEVEL_NAME_CLASS_MAP = { + 一般: 'level-normal', + 一般隐患: 'level-normal', + 重大: 'level-major', + 重大隐患: 'level-major' +}; + +export function getStepIconPath(type, active = false) { + const baseMap = { + submit: 'tijiao', + assign: 'jiaoban', + rectify: 'zhenggai', + verify: 'yanshou', + writeoff: 'xiaohao' + }; + const base = baseMap[type] || 'tijiao'; + if (base === 'zhenggai') { + return active + ? '/static/yinhuan_detail/zhenggai_selected.png' + : '/static/yinhuan_detail/zhenggai__unselected.png'; + } + return `/static/yinhuan_detail/${base}__${active ? 'selected' : 'unselected'}.png`; +} + +export function getLevelClass(level, levelName) { + if (level != null && LEVEL_CLASS_MAP[level]) { + return LEVEL_CLASS_MAP[level]; + } + if (levelName && LEVEL_NAME_CLASS_MAP[levelName]) { + return LEVEL_NAME_CLASS_MAP[levelName]; + } + return ''; +} + +/** 将姓名数组或字符串格式化为「a、b、c」 */ +export function formatNameList(names, fallback = '-') { + if (Array.isArray(names) && names.length) { + return names.join('、'); + } + if (typeof names === 'string' && names.trim()) { + const parts = names.split(/[,,、]/).map((s) => s.trim()).filter(Boolean); + return parts.length ? parts.join('、') : names; + } + return fallback; +} + +/** 判断是否为销号记录(type=2 或 typeName=销号) */ +export function isWriteoffRecord(record) { + if (!record) return false; + return record.type === 2 || record.typeName === '销号'; +} + +function buildVerifyNode(record) { + return { + type: HAZARD_NODE_TYPES.VERIFY, + nodeName: '验收', + titlePrefix: '验收', + operator: record.verifierName || '-', + time: record.verifyTime || '-', + content: { + resultName: record.resultName || '-', + remark: record.remark || '', + attachments: record.attachments || [], + signPath: record.signPath || '', + verifyDeptName: record.verifyDeptName || '-' + } + }; +} + +function buildWriteoffNode(record) { + return { + type: HAZARD_NODE_TYPES.WRITEOFF, + nodeName: '销号', + titlePrefix: '销号', + operator: record.verifierName || '-', + time: record.verifyTime || '-', + content: { + resultName: record.resultName || '-', + remark: record.remark || '', + attachments: record.attachments || [], + signPath: record.signPath || '', + writeoffDeptName: record.writeoffDeptName || '-' + } + }; +} + +/** 合并验收/销号记录,按 verifyId 去重 */ +function appendAuditNodes(list, records, seenIds) { + (records || []).forEach((record) => { + if (!record) return; + + const key = record.verifyId ?? record.id; + if (key != null) { + if (seenIds.has(key)) return; + seenIds.add(key); + } + + list.push(isWriteoffRecord(record) ? buildWriteoffNode(record) : buildVerifyNode(record)); + }); +} + +function resolveWriteoffRecords(flow) { + return flow.writeOffs || flow.writeoffs || []; +} + +/** 解析整改责任人(兼容数组、逗号分隔字符串、单人字段) */ +export function resolveRectifierNames(rectify) { + if (!rectify) return '-'; + if (Array.isArray(rectify.rectifierNames) && rectify.rectifierNames.length) { + return rectify.rectifierNames.join('、'); + } + if (Array.isArray(rectify.memberNames) && rectify.memberNames.length) { + return rectify.memberNames.join('、'); + } + return formatNameList(rectify.rectifierName, '-'); +} + +/** + * 将隐患详情转为步骤历史列表(与后台 HazardDetailDrawer 保持一致) + * @param {Object} data 隐患详情 + * @returns {Array} + */ +export function generateHazardHistory(data) { + if (!data) return []; + + const list = []; + + list.push({ + type: HAZARD_NODE_TYPES.SUBMIT, + nodeName: '提交', + titlePrefix: '提交', + operator: data.reporterName || '-', + time: data.createdAt || '-', + content: { + title: data.title || '-', + source: data.source || '-', + areaName: data.areaName || '-', + areaColor: data.areaColor || '', + address: data.address || '-', + level: data.level, + levelName: data.levelName || getLevelName(data.level), + tagName: data.tagName || '-', + description: data.description || '-', + attachments: data.attachments || [], + legalBasis: data.legalBasis || data.regulationName || '-', + reporterPhone: data.reporterPhone || '-', + reportDeptName: data.reportDeptName || '-' + } + }); + + if (data.assignFlows && data.assignFlows.length > 0) { + data.assignFlows.forEach((flow) => { + if (flow.assignId) { + list.push({ + type: HAZARD_NODE_TYPES.ASSIGN, + nodeName: '交办', + titlePrefix: '交办', + operator: flow.assignerName || '-', + time: flow.assignTime || '-', + content: { + assigneeName: flow.assigneeName || '-', + deadline: flow.deadline || '-', + assignDeptName: flow.assignDeptName || '-', + assignRemark: flow.assignRemark || '-', + priorityName: flow.priorityName || '-' + } + }); + } + if (flow.rectify) { + list.push({ + type: HAZARD_NODE_TYPES.RECTIFY, + nodeName: '整改', + titlePrefix: '整改', + operator: flow.rectify.rectifierName || '-', + time: flow.rectify.rectifyTime || '-', + content: { + rectifyPlan: flow.rectify.rectifyPlan || '-', + rectifyResult: flow.rectify.rectifyResult || '-', + rectificationMeasures: flow.rectify.rectificationMeasures || '-', + controlMeasures: flow.rectify.controlMeasures || '-', + deadline: flow.deadline || '-', + rectifierNames: resolveRectifierNames(flow.rectify), + managerNames: formatNameList(flow.rectify.managerNames, '-'), + planCost: flow.rectify.planCost, + actualCost: flow.rectify.actualCost, + attachments: flow.rectify.attachments || [], + signPath: flow.rectify.signPath || '', + rectifyStatusName: flow.rectify.rectifyStatusName || '-' + } + }); + } + const seenAuditIds = new Set(); + appendAuditNodes(list, flow.verifies || [], seenAuditIds); + appendAuditNodes(list, resolveWriteoffRecords(flow), seenAuditIds); + }); + } + + return list; +} + +const LONG_DESCRIPTION = + '消防通道内堆放大量纸箱及杂物,影响疏散通道畅通,存在火灾安全隐患。' + + '现场检查发现通道宽度不足1.2米,部分区域被临时物料占用,紧急情况下可能影响人员撤离。' + + '建议立即清理并建立日常巡查机制,防止问题反弹。'; + +/** 开发联调前使用的 mock 详情数据(各节点均含完整假数据) */ +export const MOCK_HAZARD_DETAIL = { + id: 'mock-hazard-001', + status: 2, + statusName: '整改中', + reporterName: '张三', + reporterPhone: '13800138000', + reportDeptName: '安全管理部', + createdAt: '2026-06-01 09:30:00', + title: '消防通道堆放杂物', + level: 2, + levelName: '一般隐患', + source: '部门检查', + areaName: '生产车间A区', + areaColor: '#409EFF', + address: '办公楼3层东侧消防通道', + tagName: '消防安全', + description: LONG_DESCRIPTION, + legalBasis: '《中华人民共和国消防法》第二十八条', + regulationName: '《中华人民共和国消防法》第二十八条', + attachments: [ + { + fileName: 'hazard-1.jpg', + filePath: 'https://picsum.photos/seed/hazard1/200/200', + fileType: 'image' + }, + { + fileName: 'hazard-2.jpg', + filePath: 'https://picsum.photos/seed/hazard2/200/200', + fileType: 'image' + }, + { + fileName: 'hazard-3.jpg', + filePath: 'https://picsum.photos/seed/hazard3/200/200', + fileType: 'image' + } + ], + assignFlows: [ + { + assignId: 'mock-assign-001', + assignerName: '李主管', + assignTime: '2026-06-02 10:00:00', + assigneeName: '王整改', + assignDeptName: '设备保障部', + assignRemark: '该隐患位于主疏散通道,请优先处理,务必在整改期限内完成闭环。', + priorityName: '高', + deadline: '2026-06-10 18:00:00', + rectify: { + rectifyId: 'mock-rectify-001', + rectifierName: '王整改', + rectifyTime: '2026-06-08 15:20:00', + rectifyStatusName: '已完成', + rectifyPlan: + '立即清理消防通道杂物,并设置警示标识,后续每周巡查一次。' + + '对责任区域进行划分,明确禁止堆放物料的范围,同时组织一次消防安全培训。', + rectifyResult: '已完成清理,通道恢复畅通,现场已张贴禁止堆放标识。', + rectificationMeasures: '组织人员清理杂物,划定禁止堆放区域,增加日常巡检频次。', + controlMeasures: '安装监控并纳入日常巡检清单,发现反弹情况立即上报。', + rectifierNames: ['王整改', '赵协助'], + managerNames: ['李主管'], + planCost: 500, + actualCost: 380, + attachments: [ + { + fileName: 'rectify-1.jpg', + filePath: 'https://picsum.photos/seed/rectify1/200/200', + fileType: 'image' + }, + { + fileName: 'rectify-2.jpg', + filePath: 'https://picsum.photos/seed/rectify2/200/200', + fileType: 'image' + } + ], + signPath: 'https://picsum.photos/seed/sign1/300/120' + }, + verifies: [ + { + verifierName: '陈验收', + verifyTime: '2026-06-09 11:00:00', + verifyDeptName: '安全监察组', + resultName: '通过', + remark: '现场复查通道畅通,整改到位,未发现反弹迹象。', + attachments: [ + { + fileName: 'verify-1.jpg', + filePath: 'https://picsum.photos/seed/verify1/200/200', + fileType: 'image' + }, + { + fileName: 'verify-2.jpg', + filePath: 'https://picsum.photos/seed/verify2/200/200', + fileType: 'image' + } + ], + signPath: 'https://picsum.photos/seed/sign2/300/120' + } + ], + writeOffs: [ + { + verifierName: '刘销号', + verifyTime: '2026-06-10 16:30:00', + writeoffDeptName: '公司安委会', + resultName: '通过', + remark: '隐患已消除,整改资料齐全,同意销号。', + attachments: [ + { + fileName: 'writeoff-1.jpg', + filePath: 'https://picsum.photos/seed/writeoff1/200/200', + fileType: 'image' + } + ], + signPath: 'https://picsum.photos/seed/sign3/300/120' + } + ] + } + ] +}; diff --git a/components/hazardDetail/index.js b/components/hazardDetail/index.js new file mode 100644 index 0000000..cba1b85 --- /dev/null +++ b/components/hazardDetail/index.js @@ -0,0 +1 @@ +export * from './hazardDetail.js'; diff --git a/components/hazardDetail/useHazardDetailScroll.js b/components/hazardDetail/useHazardDetailScroll.js new file mode 100644 index 0000000..6113602 --- /dev/null +++ b/components/hazardDetail/useHazardDetailScroll.js @@ -0,0 +1,164 @@ +import { ref, watch, nextTick, getCurrentInstance } from 'vue'; +import { onReady } from '@dcloudio/uni-app'; +import { generateHazardHistory } from './hazardDetail.js'; + +/** + * 隐患详情左右联动滚动(与 HazardDetailPanel 保持一致) + * - 右侧滚动时,根据 node-section 位置同步左侧 activeIndex + * - 点击左侧步骤时,右侧 scroll-into-view 定位到对应卡片 + */ +export function useHazardDetailScroll(detailSource, loadingSource) { + const instance = getCurrentInstance(); + const queryScope = instance?.proxy || instance; + + const historyList = ref([]); + const activeIndex = ref(0); + const sectionOffsets = ref([0]); + const contentViewHeight = ref(0); + const contentScrollIntoView = ref(''); + const stepScrollIntoView = ref(''); + const scrollWithAnimation = ref(true); + const isProgrammaticScroll = ref(false); + let measureLayoutTimer = null; + + const measureLayout = () => { + if (!historyList.value.length) return; + + nextTick(() => { + const query = uni.createSelectorQuery().in(queryScope); + query.select('.content-scroll').boundingClientRect(); + query.select('.content-scroll').scrollOffset(); + query.selectAll('.node-section').boundingClientRect(); + query.exec((res) => { + const containerRect = res?.[0]; + const scrollOffset = res?.[1]; + const sections = res?.[2] || []; + if (!containerRect || !sections.length) return; + + contentViewHeight.value = containerRect.height || 0; + const baseScrollTop = scrollOffset?.scrollTop || 0; + sectionOffsets.value = sections.map( + (section) => section.top - containerRect.top + baseScrollTop + ); + }); + }); + }; + + const scheduleMeasureLayout = () => { + clearTimeout(measureLayoutTimer); + measureLayoutTimer = setTimeout(() => { + measureLayout(); + }, 80); + }; + + const rebuildHistory = (data) => { + historyList.value = generateHazardHistory(data); + activeIndex.value = 0; + contentScrollIntoView.value = ''; + scheduleMeasureLayout(); + setTimeout(scheduleMeasureLayout, 300); + }; + + const syncActiveIndex = (scrollTop, scrollHeight = 0) => { + const count = historyList.value.length; + if (!count) return; + + if (scrollHeight > 0 && contentViewHeight.value > 0) { + if (scrollTop + contentViewHeight.value >= scrollHeight - 60) { + if (activeIndex.value !== count - 1) { + activeIndex.value = count - 1; + } + return; + } + } + + const offsets = sectionOffsets.value; + if (!offsets.length) return; + + let idx = 0; + for (let i = offsets.length - 1; i >= 0; i--) { + if (scrollTop >= offsets[i] - 80) { + idx = i; + break; + } + } + + if (idx !== activeIndex.value) { + activeIndex.value = idx; + } + }; + + const onContentScroll = (e) => { + if (isProgrammaticScroll.value) return; + const { scrollTop = 0, scrollHeight = 0 } = e.detail || {}; + syncActiveIndex(scrollTop, scrollHeight); + scheduleMeasureLayout(); + }; + + const onScrollToLower = () => { + const count = historyList.value.length; + if (count > 0 && activeIndex.value !== count - 1) { + activeIndex.value = count - 1; + } + }; + + const scrollToNode = (index) => { + if (index < 0 || index >= historyList.value.length) return; + + isProgrammaticScroll.value = true; + scrollWithAnimation.value = true; + activeIndex.value = index; + contentScrollIntoView.value = 'hazard-node-' + index; + + setTimeout(() => { + contentScrollIntoView.value = ''; + isProgrammaticScroll.value = false; + scheduleMeasureLayout(); + }, 350); + }; + + watch( + () => (typeof loadingSource === 'function' ? loadingSource() : loadingSource?.value), + (loading) => { + if (!loading) { + scheduleMeasureLayout(); + setTimeout(scheduleMeasureLayout, 300); + } + } + ); + + watch( + () => (typeof detailSource === 'function' ? detailSource() : detailSource?.value), + (val) => rebuildHistory(val), + { immediate: true, deep: true } + ); + + watch(activeIndex, (index) => { + stepScrollIntoView.value = 'hazard-step-' + index; + setTimeout(() => { + stepScrollIntoView.value = ''; + }, 300); + }); + + watch( + () => historyList.value.length, + () => scheduleMeasureLayout() + ); + + onReady(() => { + scheduleMeasureLayout(); + setTimeout(scheduleMeasureLayout, 300); + }); + + return { + historyList, + activeIndex, + contentScrollIntoView, + stepScrollIntoView, + scrollWithAnimation, + onContentScroll, + onScrollToLower, + scrollToNode, + scheduleMeasureLayout + }; +} diff --git a/pages.json b/pages.json index 5e77aaf..0262eb9 100644 --- a/pages.json +++ b/pages.json @@ -12,7 +12,7 @@ { "path": "pages/index/index", "style": { - "navigationBarTitleText": "三查一曝光", + "navigationBarTitleText": "湘西州“三个一”安全管理平台", "navigationStyle": "custom", "navigationBarTextStyle": "white" } @@ -35,6 +35,19 @@ "navigationBarTitleText": "检查结果" } }, + { + "path": "pages/Inspectionresult/list", + "style": { + "navigationStyle": "custom", + "navigationBarTitleText": "检查列表" + } + }, + { + "path": "pages/Inspectionresult/detail", + "style": { + "navigationBarTitleText": "排查详情" + } + }, { "path": "pages/membermanagemen/membermanagemen", "style": { @@ -95,6 +108,15 @@ "navigationBarTitleText": "查看隐患" } }, + { + "path": "pages/hiddendanger/detail2", + "style": { + "navigationBarTitleText": "隐患详情", + "navigationStyle": "custom", + "navigationBarTextStyle": "white", + "disableScroll": true + } + }, { "path":"pages/hiddendanger/rectification", "style": { diff --git a/pages/Inspectionresult/Inspectionresult.vue b/pages/Inspectionresult/Inspectionresult.vue index 0361a5d..b29147a 100644 --- a/pages/Inspectionresult/Inspectionresult.vue +++ b/pages/Inspectionresult/Inspectionresult.vue @@ -1,6 +1,5 @@ @@ -970,7 +340,6 @@ background: #EBF2FC; } - // 进度显示 .progress-bar { background: #fff; border-radius: 12rpx; @@ -1010,13 +379,11 @@ transition: width 0.3s ease; } - // 隐患信息区域 .hazard-section { border-top: 1rpx solid #eee; padding-top: 20rpx; } - // 提示文字 .hazard-tip { display: flex; align-items: center; @@ -1032,7 +399,6 @@ } } - // 填写隐患信息按钮 .hazard-btn { display: flex; align-items: center; @@ -1048,7 +414,6 @@ } } - // 隐患信息卡片 .hazard-card { background: #F5F9FF; border: 1rpx solid #D6E4FF; @@ -1121,7 +486,6 @@ } } - // 隐患等级标签 .level-tag { padding: 4rpx 16rpx; border-radius: 8rpx; @@ -1145,337 +509,4 @@ border: 2rpx solid #FFA39E; color: #F5222D; } - - // 弹窗样式 - .popup-content { - width: 600rpx; - background: #fff; - border-radius: 20rpx; - overflow: hidden; - } - - .popup-header { - display: flex; - justify-content: space-between; - align-items: center; - padding: 30rpx; - border-bottom: 1rpx solid #eee; - - .popup-title { - font-size: 32rpx; - color: #333; - } - - .popup-close { - font-size: 40rpx; - color: #999; - line-height: 1; - } - } - - .popup-body { - padding: 30rpx; - } - - // 检查形式横向滚动,露出第 4 项一角提示可滑动 - .source-choose-scroll { - width: 100%; - overflow: hidden; - - :deep(.up-choose) { - width: 100%; - white-space: nowrap; - } - - :deep(.u-tag-wrapper) { - margin-right: 12rpx; - } - - :deep(.u-tag) { - display: flex !important; - align-items: center !important; - justify-content: center !important; - box-sizing: border-box; - padding: 0 8rpx !important; - line-height: normal !important; - } - - :deep(.u-tag__content) { - display: flex; - align-items: center; - justify-content: center; - flex: 1; - } - - :deep(.u-tag__text) { - font-size: 24rpx !important; - line-height: 1.3 !important; - text-align: center; - } - } - - // AI 识别按钮样式 - .ai-btn-wrapper { - display: flex; - justify-content: flex-end; - } - - .ai-analyze-btn { - display: flex; - align-items: center; - justify-content: center; - height: 72rpx; - padding: 0 32rpx; - font-size: 28rpx; - color: #fff; - background: linear-gradient(135deg, #4facfe 0%, #2668EA 100%); - border-radius: 36rpx; - border: none; - - &::after { - border: none; - } - - .ai-btn-icon { - margin-right: 8rpx; - font-size: 30rpx; - } - - &[disabled] { - opacity: 0.7; - } - } - - .popup-footer { - display: flex; - border-top: 1rpx solid #eee; - - button { - flex: 1; - height: 90rpx; - margin: 0 !important; - padding: 0 !important; - line-height: 90rpx; - border-radius: 0; - font-size: 30rpx; - - &::after { - border: none; - } - } - - .btn-cancel { - background: #fff; - color: #666; - } - - .btn-confirm { - color: #fff; - } - } - - .address-box { - display: flex; - align-items: center; - gap: 20rpx; - - .address-input-wrapper { - flex: 1; - } - - .btn-address { - flex-shrink: 0; - height: 70rpx; - line-height: 70rpx; - padding: 0 30rpx; - font-size: 26rpx; - border-radius: 8rpx; - color: #fff; - - &::after { - border: none; - } - } - } - - // 选择器触发器样式 - .select-trigger { - display: flex; - align-items: center; - justify-content: space-between; - background: #fff; - border: 1rpx solid #dcdfe6; - border-radius: 8rpx; - padding: 20rpx 24rpx; - - .select-value { - flex: 1; - font-size: 28rpx; - color: #333; - - &.placeholder { - color: #c0c4cc; - } - } - } - - // 选择弹窗样式 - .picker-popup { - background: #fff; - - .picker-header { - display: flex; - justify-content: space-between; - align-items: center; - padding: 30rpx; - border-bottom: 1rpx solid #eee; - - .picker-cancel { - font-size: 28rpx; - color: #999; - } - - .picker-title { - font-size: 32rpx; - font-weight: bold; - color: #333; - } - - .picker-confirm { - font-size: 28rpx; - color: #2667E9; - } - } - - .picker-body { - max-height: 600rpx; - padding: 0 30rpx; - } - - .picker-item { - display: flex; - justify-content: space-between; - align-items: center; - padding: 30rpx 0; - border-bottom: 1rpx solid #f5f5f5; - font-size: 30rpx; - color: #333; - - &:last-child { - border-bottom: none; - } - - &.picker-item-active { - color: #2667E9; - } - } - } - - // 区域颜色圆点 - // 选择法规(法律依据)弹出框样式 - .law-popup { - width: 600rpx; - background: #fff; - border-radius: 20rpx; - overflow: hidden; - max-height: 80vh; - - .popup-header { - display: flex; - justify-content: space-between; - align-items: center; - padding: 30rpx; - border-bottom: 1rpx solid #eee; - - .popup-title { - font-size: 32rpx; - font-weight: bold; - color: #333; - } - - .popup-close { - font-size: 40rpx; - color: #999; - cursor: pointer; - } - } - } - - .search-box { - display: flex; - align-items: center; - background: #F5F5F5; - border-radius: 40rpx; - padding: 16rpx 24rpx; - margin: 20rpx 30rpx; - - .search-icon { - font-size: 28rpx; - color: #999; - margin-right: 12rpx; - } - - .search-input { - flex: 1; - font-size: 28rpx; - background: transparent; - border: none; - } - - .search-btn { - color: #2667E9; - font-size: 26rpx; - margin-left: 16rpx; - cursor: pointer; - } - } - - .loading-tip, .empty-tip { - text-align: center; - padding: 40rpx; - color: #999; - font-size: 26rpx; - } - - .law-list { - max-height: 500rpx; - padding: 0 30rpx; - } - - .law-item { - padding: 24rpx; - border: 2rpx solid #E5E5E5; - border-radius: 12rpx; - margin-bottom: 16rpx; - font-size: 28rpx; - color: #333; - text-align: left; - - .law-title { - line-height: 1.5; - margin-bottom: 8rpx; - font-weight: bold; - } - - .law-basis { - font-size: 24rpx; - line-height: 1.4; - display: -webkit-box; - -webkit-line-clamp: 2; - -webkit-box-orient: vertical; - overflow: hidden; - } - } - - .law-item-active { - border-color: #2667E9; - background: #F0F6FF; - } - - .area-color-dot { - width: 24rpx; - height: 24rpx; - border-radius: 50%; - margin-right: 16rpx; - } diff --git a/pages/Inspectionresult/detail.vue b/pages/Inspectionresult/detail.vue new file mode 100644 index 0000000..103abcc --- /dev/null +++ b/pages/Inspectionresult/detail.vue @@ -0,0 +1,1284 @@ + + + + + diff --git a/pages/Inspectionresult/list.vue b/pages/Inspectionresult/list.vue new file mode 100644 index 0000000..fce872b --- /dev/null +++ b/pages/Inspectionresult/list.vue @@ -0,0 +1,284 @@ + + + + + diff --git a/pages/editchecklist/editchecklist.vue b/pages/editchecklist/editchecklist.vue index 78416bb..11a3480 100644 --- a/pages/editchecklist/editchecklist.vue +++ b/pages/editchecklist/editchecklist.vue @@ -129,7 +129,7 @@ 开始时间 - + {{ formData.startDate || '请选择开始时间' }} @@ -137,8 +137,9 @@ 结束时间 - + {{ formData.endDate || '请选择结束时间' }} @@ -158,8 +159,9 @@ { }; // 日期选择器值 -const startDateValue = ref(Number(new Date())); -const endDateValue = ref(Number(new Date())); +const getTodayTimestamp = () => { + const now = new Date(); + return new Date(now.getFullYear(), now.getMonth(), now.getDate()).getTime(); +}; + +const todayMinDate = computed(() => getTodayTimestamp()); + +const endDateMinDate = computed(() => { + if (formData.startDate) { + const [year, month, day] = formData.startDate.split('-').map(Number); + return new Date(year, month - 1, day).getTime(); + } + return getTodayTimestamp(); +}); + +const startDateValue = ref(getTodayTimestamp()); +const endDateValue = ref(getTodayTimestamp()); // 选择器显示控制 const showDeptPicker = ref(false); @@ -619,22 +636,46 @@ const onCycleConfirm = (e) => { showCyclePicker.value = false; }; -// 日期时间格式化(精确到时分秒) -const formatDateTime = (timestamp) => { +// 日期格式化(年月日) +const formatDate = (timestamp) => { const date = new Date(timestamp); const year = date.getFullYear(); const month = String(date.getMonth() + 1).padStart(2, '0'); const day = String(date.getDate()).padStart(2, '0'); - const hours = String(date.getHours()).padStart(2, '0'); - const minutes = String(date.getMinutes()).padStart(2, '0'); - const seconds = String(date.getSeconds()).padStart(2, '0'); - return `${year}-${month}-${day} ${hours}:${minutes}:${seconds}`; + return `${year}-${month}-${day}`; +}; + +const parseDateValue = (dateStr) => { + if (!dateStr) return 0; + const [datePart] = dateStr.split(' '); + const [year, month, day] = datePart.split('-').map(Number); + return new Date(year, month - 1, day).getTime(); +}; + +const openStartDatePicker = () => { + const today = getTodayTimestamp(); + if (startDateValue.value < today) { + startDateValue.value = today; + } + showStartDatePicker.value = true; +}; + +const openEndDatePicker = () => { + const minDate = endDateMinDate.value; + if (endDateValue.value < minDate) { + endDateValue.value = minDate; + } + showEndDatePicker.value = true; }; const onStartDateConfirm = (e) => { - const selectedDate = formatDateTime(e.value); - // 如果已经选了结束时间,校验开始时间不能晚于结束时间 - if (formData.endDate && new Date(selectedDate) > new Date(formData.endDate)) { + const selectedDate = formatDate(e.value); + const todayStr = formatDate(getTodayTimestamp()); + if (selectedDate < todayStr) { + uni.showToast({ title: '开始时间不能早于今天', icon: 'none' }); + return; + } + if (formData.endDate && parseDateValue(selectedDate) > parseDateValue(formData.endDate)) { uni.showToast({ title: '开始时间不能晚于结束时间', icon: 'none' }); return; } @@ -643,9 +684,8 @@ const onStartDateConfirm = (e) => { }; const onEndDateConfirm = (e) => { - const selectedDate = formatDateTime(e.value); - // 如果已经选了开始时间,校验结束时间不能早于开始时间 - if (formData.startDate && new Date(selectedDate) < new Date(formData.startDate)) { + const selectedDate = formatDate(e.value); + if (formData.startDate && parseDateValue(selectedDate) < parseDateValue(formData.startDate)) { uni.showToast({ title: '结束时间不能早于开始时间', icon: 'none' }); return; } @@ -1101,7 +1141,7 @@ const handleSave = async () => { uni.showToast({ title: '请选择计划时间', icon: 'none' }); return; } - if (new Date(formData.endDate) < new Date(formData.startDate)) { + if (parseDateValue(formData.endDate) < parseDateValue(formData.startDate)) { uni.showToast({ title: '结束时间不能早于开始时间', icon: 'none' }); return; } @@ -1157,8 +1197,8 @@ const handleSave = async () => { itemIds: itemIds, // 从检查库选择的库id数组 cycle: cycleMap[formData.cycleName] || 1, isWeekend: workdaySwitch.value ? 1 : 2, - planStartTime: formData.startDate, - planEndTime: formData.endDate + planStartTime: `${formData.startDate} 00:00:00`, + planEndTime: `${formData.endDate} 23:59:59` }; // 如果是指定人员模式,添加执行人员id diff --git a/pages/hiddendanger/Inspection.vue b/pages/hiddendanger/Inspection.vue index 792e96e..0111a94 100644 --- a/pages/hiddendanger/Inspection.vue +++ b/pages/hiddendanger/Inspection.vue @@ -36,605 +36,134 @@ {{item.createdAt}} - - - - - - + 新增 - - - - - 新增隐患排查 - × - - - - 检查形式 - * - - - - - - - 隐患图片 - * - - - - - 必填:请上传现场照片作为隐患证据 - - - - - 隐患标题 - * - - - 请用简洁的语言概括隐患要点 - - 隐患等级 - * - - - - 隐患位置 - * - - - - - - - 如:办公楼3层东侧消防通道、生产车间A区设备旁等,或点击"选择地址"按钮在地图上选择 - - - - 法律依据 - - - - {{ formData.regulationName || '请选择法律依据' }} - - - - - - - 隐患区域 - - - - {{ selectedAreaName || '请选择隐患区域' }} - - - - - - 隐患描述 - * - - - 请详细说明隐患现状、潜在风险及影响范围 - 隐患标签 - - - - - - - - - - - - - - - 选择法律依据 - × - - - - - - 搜索 - - - - 加载中... - 暂无数据 - - - - - - - - - - - - - - - 取消 - 选择隐患区域 - 确定 - - - - - - {{ item.name }} - - - - - 暂无区域数据 - - - - + \ No newline at end of file + diff --git a/pages/hiddendanger/acceptance.vue b/pages/hiddendanger/acceptance.vue index 491dea3..7ae70ee 100644 --- a/pages/hiddendanger/acceptance.vue +++ b/pages/hiddendanger/acceptance.vue @@ -74,7 +74,14 @@ - + + 暂无签名,请点击重新签名 @@ -87,9 +94,10 @@ :lineWidth="3" :enableHistory="false" @confirm="(res) => onSignatureConfirm(res.tempFilePath)" - @start="isSignatureEmpty = false" - @signing="isSignatureEmpty = false" - @clear="isSignatureEmpty = true" + @start="onSignatureStart" + @signing="onSignatureSigning" + @end="onSignatureEnd" + @clear="onSignatureClear" > @@ -105,14 +113,17 @@ + + diff --git a/pages/hiddendanger/rectification.vue b/pages/hiddendanger/rectification.vue index fad4e0d..9b44c5f 100644 --- a/pages/hiddendanger/rectification.vue +++ b/pages/hiddendanger/rectification.vue @@ -235,9 +235,10 @@ :lineWidth="3" :enableHistory="false" @confirm="(res) => onSignatureConfirm(res.tempFilePath)" - @start="isSignatureEmpty = false" - @signing="isSignatureEmpty = false" - @clear="isSignatureEmpty = true" + @start="onSignatureStart" + @signing="onSignatureSigning" + @end="onSignatureEnd" + @clear="onSignatureClear" > @@ -250,9 +251,11 @@ diff --git a/pages/index/index.vue b/pages/index/index.vue index afea62f..ec1135d 100644 --- a/pages/index/index.vue +++ b/pages/index/index.vue @@ -6,7 +6,7 @@ - - + 我的检查计划 + 暂无检查计划 - + - - + {{ item.name }} + + + - - - - {{ item.runModeName }}完成 - {{ item.cycle }} + + + + + {{ item.runModeName }}完成 + {{ item.cycle }} + + + 计划时间: + {{ formatDate(item.planStartTime) }}至{{ formatDate(item.planEndTime) }} + - - 计划时间: - {{ formatDate(item.planStartTime) }}至{{ formatDate(item.planEndTime) }} - - - 完成进度: - - - + + + 完成进度: + + + + + {{ formatProgress(item.progress) }}% - {{ item.progress }}% - - - - {{ item.totalCount }} - 排查项 + + + {{ item.pendingCount ?? 0 }} + 未完成 + + + {{ item.waitCheckNum ?? 0 }} + 待排查 + + + {{ item.unusualNum ?? 0 }} + 异常数 + + + {{ item.finishedCount ?? 0 }} + 已完成 + - - {{ item.totalCount - item.finishedCount }} - 待排查 + + + - - 0 - 待验收 - - - {{ item.finishedCount }} - 已完成 - - - - - - 已完成 + + 加载更多 + @@ -177,7 +193,7 @@ \r\n\r\n\r\n","import App from './App'\r\n\r\n// 全局拦截选择图片,在文件进入上传列表前进行预过滤,从根本上解决“不合规图片在列表里转圈卡死”的问题\r\nuni.addInterceptor('chooseImage', {\r\n success(res) {\r\n const allowedExtensions = ['bmp', 'gif', 'jpg', 'jpeg', 'png'];\r\n const validTempFilePaths = [];\r\n const validTempFiles = [];\r\n let hasInvalid = false;\r\n let invalidExt = '';\r\n\r\n res.tempFiles.forEach((file, index) => {\r\n const path = file.path || res.tempFilePaths[index];\r\n const cleanPath = path.split('?')[0];\r\n const ext = cleanPath.split('.').pop().toLowerCase();\r\n \r\n if (allowedExtensions.includes(ext)) {\r\n validTempFiles.push(file);\r\n validTempFilePaths.push(res.tempFilePaths[index]);\r\n } else {\r\n hasInvalid = true;\r\n invalidExt = ext;\r\n }\r\n });\r\n\r\n if (hasInvalid) {\r\n uni.showToast({\r\n title: `已过滤不支持的 .${invalidExt} 格式图片,请上传 png/jpg/jpeg/gif/bmp`,\r\n icon: 'none',\r\n duration: 3500\r\n });\r\n }\r\n\r\n res.tempFilePaths = validTempFilePaths;\r\n res.tempFiles = validTempFiles;\r\n }\r\n});\r\n\r\n// 全局拦截文件上传:校验本地文件后缀;七牛直传按 upload 域名放行\r\nconst UPLOAD_ALLOWED_EXTENSIONS = ['bmp', 'gif', 'jpg', 'jpeg', 'png', 'doc', 'docx', 'xls', 'xlsx', 'ppt', 'pptx', 'html', 'htm', 'txt', 'rar', 'zip', 'gz', 'bz2', 'mp4', 'avi', 'rmvb', 'pdf'];\r\nconst QINIU_UPLOAD_HOST_MARKERS = ['qiniup.com', 'qbox.me'];\r\n\r\nfunction validateUploadLocalFileExt(filePath) {\r\n if (!filePath) return true;\r\n const cleanPath = filePath.split('?')[0];\r\n const ext = cleanPath.split('.').pop().toLowerCase();\r\n if (!UPLOAD_ALLOWED_EXTENSIONS.includes(ext)) {\r\n uni.showToast({\r\n title: `不支持 .${ext} 格式,请上传合规的文件或图片`,\r\n icon: 'none',\r\n duration: 3000\r\n });\r\n return false;\r\n }\r\n return true;\r\n}\r\n\r\nuni.addInterceptor('uploadFile', {\r\n invoke(args) {\r\n const uploadUrl = args.url || '';\r\n const isQiniuUpload = QINIU_UPLOAD_HOST_MARKERS.some((m) => uploadUrl.includes(m));\r\n if (isQiniuUpload) {\r\n return validateUploadLocalFileExt(args.filePath) ? args : false;\r\n }\r\n if (uploadUrl.includes('/frontend/attachment/upload')) {\r\n return validateUploadLocalFileExt(args.filePath) ? args : false;\r\n }\r\n return validateUploadLocalFileExt(args.filePath) ? args : false;\r\n }\r\n});\r\n\r\n// #ifndef VUE3\r\nimport Vue from 'vue'\r\nimport './uni.promisify.adaptor'\r\nimport uviewPlus from '@/uni_modules/uview-plus'\r\nVue.config.productionTip = false\r\nVue.use(uviewPlus)\r\nApp.mpType = 'app'\r\nconst app = new Vue({\r\n ...App\r\n})\r\napp.$mount()\r\n// #endif\r\n\r\n// #ifdef VUE3\r\nimport { createSSRApp } from 'vue'\r\nimport uviewPlus from '@/uni_modules/uview-plus'\r\nexport function createApp() {\r\n const app = createSSRApp(App)\r\n app.use(uviewPlus)\r\n return {\r\n app\r\n }\r\n}\r\n// #endif"],"names":["uni","createSSRApp","App","uviewPlus"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AACC,MAAK,YAAU;AAAA,EACd,UAAU,WAAW;AACpBA,kBAAAA,MAAA,MAAA,OAAA,gBAAY,YAAY;AAAA,EACxB;AAAA,EACD,QAAQ,WAAW;AAClBA,kBAAAA,MAAY,MAAA,OAAA,gBAAA,UAAU;AAAA,EACtB;AAAA,EACD,QAAQ,WAAW;AAClBA,kBAAAA,MAAY,MAAA,OAAA,iBAAA,UAAU;AAAA,EACvB;AACD;ACRDA,cAAAA,MAAI,eAAe,eAAe;AAAA,EAChC,QAAQ,KAAK;AACX,UAAM,oBAAoB,CAAC,OAAO,OAAO,OAAO,QAAQ,KAAK;AAC7D,UAAM,qBAAqB,CAAA;AAC3B,UAAM,iBAAiB,CAAA;AACvB,QAAI,aAAa;AACjB,QAAI,aAAa;AAEjB,QAAI,UAAU,QAAQ,CAAC,MAAM,UAAU;AACrC,YAAM,OAAO,KAAK,QAAQ,IAAI,cAAc,KAAK;AACjD,YAAM,YAAY,KAAK,MAAM,GAAG,EAAE,CAAC;AACnC,YAAM,MAAM,UAAU,MAAM,GAAG,EAAE,IAAG,EAAG;AAEvC,UAAI,kBAAkB,SAAS,GAAG,GAAG;AACnC,uBAAe,KAAK,IAAI;AACxB,2BAAmB,KAAK,IAAI,cAAc,KAAK,CAAC;AAAA,MACxD,OAAa;AACL,qBAAa;AACb,qBAAa;AAAA,MACd;AAAA,IACP,CAAK;AAED,QAAI,YAAY;AACdA,oBAAAA,MAAI,UAAU;AAAA,QACZ,OAAO,YAAY,UAAU;AAAA,QAC7B,MAAM;AAAA,QACN,UAAU;AAAA,MAClB,CAAO;AAAA,IACF;AAED,QAAI,gBAAgB;AACpB,QAAI,YAAY;AAAA,EACjB;AACH,CAAC;AAGD,MAAM,4BAA4B,CAAC,OAAO,OAAO,OAAO,QAAQ,OAAO,OAAO,QAAQ,OAAO,QAAQ,OAAO,QAAQ,QAAQ,OAAO,OAAO,OAAO,OAAO,MAAM,OAAO,OAAO,OAAO,QAAQ,KAAK;AAChM,MAAM,4BAA4B,CAAC,cAAc,SAAS;AAE1D,SAAS,2BAA2B,UAAU;AAC5C,MAAI,CAAC;AAAU,WAAO;AACtB,QAAM,YAAY,SAAS,MAAM,GAAG,EAAE,CAAC;AACvC,QAAM,MAAM,UAAU,MAAM,GAAG,EAAE,IAAG,EAAG;AACvC,MAAI,CAAC,0BAA0B,SAAS,GAAG,GAAG;AAC5CA,kBAAAA,MAAI,UAAU;AAAA,MACZ,OAAO,QAAQ,GAAG;AAAA,MAClB,MAAM;AAAA,MACN,UAAU;AAAA,IAChB,CAAK;AACD,WAAO;AAAA,EACR;AACD,SAAO;AACT;AAEAA,cAAAA,MAAI,eAAe,cAAc;AAAA,EAC/B,OAAO,MAAM;AACX,UAAM,YAAY,KAAK,OAAO;AAC9B,UAAM,gBAAgB,0BAA0B,KAAK,CAAC,MAAM,UAAU,SAAS,CAAC,CAAC;AACjF,QAAI,eAAe;AACjB,aAAO,2BAA2B,KAAK,QAAQ,IAAI,OAAO;AAAA,IAC3D;AACD,QAAI,UAAU,SAAS,6BAA6B,GAAG;AACrD,aAAO,2BAA2B,KAAK,QAAQ,IAAI,OAAO;AAAA,IAC3D;AACD,WAAO,2BAA2B,KAAK,QAAQ,IAAI,OAAO;AAAA,EAC3D;AACH,CAAC;AAkBM,SAAS,YAAY;AAC1B,QAAM,MAAMC,cAAY,aAACC,SAAG;AAC5B,MAAI,IAAIC,qCAAS;AACjB,SAAO;AAAA,IACL;AAAA,EACD;AACH;;;"} \ No newline at end of file +{"version":3,"file":"app.js","sources":["App.vue","main.js"],"sourcesContent":["\r\n\r\n\r\n","import App from './App'\r\n\r\n// 全局拦截选择图片,在文件进入上传列表前进行预过滤,从根本上解决“不合规图片在列表里转圈卡死”的问题\r\nuni.addInterceptor('chooseImage', {\r\n success(res) {\r\n const allowedExtensions = ['bmp', 'gif', 'jpg', 'jpeg', 'png'];\r\n const validTempFilePaths = [];\r\n const validTempFiles = [];\r\n let hasInvalid = false;\r\n let invalidExt = '';\r\n\r\n res.tempFiles.forEach((file, index) => {\r\n const path = file.path || res.tempFilePaths[index];\r\n const cleanPath = path.split('?')[0];\r\n const ext = cleanPath.split('.').pop().toLowerCase();\r\n \r\n if (allowedExtensions.includes(ext)) {\r\n validTempFiles.push(file);\r\n validTempFilePaths.push(res.tempFilePaths[index]);\r\n } else {\r\n hasInvalid = true;\r\n invalidExt = ext;\r\n }\r\n });\r\n\r\n if (hasInvalid) {\r\n uni.showToast({\r\n title: `已过滤不支持的 .${invalidExt} 格式图片,请上传 png/jpg/jpeg/gif/bmp`,\r\n icon: 'none',\r\n duration: 3500\r\n });\r\n }\r\n\r\n res.tempFilePaths = validTempFilePaths;\r\n res.tempFiles = validTempFiles;\r\n }\r\n});\r\n\r\n// 全局拦截文件上传:校验本地文件后缀;七牛直传按 upload 域名放行\r\nconst UPLOAD_ALLOWED_EXTENSIONS = ['bmp', 'gif', 'jpg', 'jpeg', 'png', 'doc', 'docx', 'xls', 'xlsx', 'ppt', 'pptx', 'html', 'htm', 'txt', 'rar', 'zip', 'gz', 'bz2', 'mp4', 'avi', 'rmvb', 'pdf'];\r\nconst QINIU_UPLOAD_HOST_MARKERS = ['qiniup.com', 'qbox.me'];\r\n\r\nfunction validateUploadLocalFileExt(filePath) {\r\n if (!filePath) return true;\r\n const cleanPath = filePath.split('?')[0];\r\n const ext = cleanPath.split('.').pop().toLowerCase();\r\n if (!UPLOAD_ALLOWED_EXTENSIONS.includes(ext)) {\r\n uni.showToast({\r\n title: `不支持 .${ext} 格式,请上传合规的文件或图片`,\r\n icon: 'none',\r\n duration: 3000\r\n });\r\n return false;\r\n }\r\n return true;\r\n}\r\n\r\nuni.addInterceptor('uploadFile', {\r\n invoke(args) {\r\n const uploadUrl = args.url || '';\r\n const isQiniuUpload = QINIU_UPLOAD_HOST_MARKERS.some((m) => uploadUrl.includes(m));\r\n if (isQiniuUpload) {\r\n return validateUploadLocalFileExt(args.filePath) ? args : false;\r\n }\r\n if (uploadUrl.includes('/frontend/attachment/upload')) {\r\n return validateUploadLocalFileExt(args.filePath) ? args : false;\r\n }\r\n return validateUploadLocalFileExt(args.filePath) ? args : false;\r\n }\r\n});\r\n\r\n// #ifndef VUE3\r\nimport Vue from 'vue'\r\nimport './uni.promisify.adaptor'\r\nimport uviewPlus from '@/uni_modules/uview-plus'\r\nVue.config.productionTip = false\r\nVue.use(uviewPlus)\r\nApp.mpType = 'app'\r\nconst app = new Vue({\r\n ...App\r\n})\r\napp.$mount()\r\n// #endif\r\n\r\n// #ifdef VUE3\r\nimport { createSSRApp } from 'vue'\r\nimport uviewPlus from '@/uni_modules/uview-plus'\r\nexport function createApp() {\r\n const app = createSSRApp(App)\r\n app.use(uviewPlus)\r\n return {\r\n app\r\n }\r\n}\r\n// #endif"],"names":["uni","createSSRApp","App","uviewPlus"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AACC,MAAK,YAAU;AAAA,EACd,UAAU,WAAW;AACpBA,kBAAAA,MAAA,MAAA,OAAA,gBAAY,YAAY;AAAA,EACxB;AAAA,EACD,QAAQ,WAAW;AAClBA,kBAAAA,MAAY,MAAA,OAAA,gBAAA,UAAU;AAAA,EACtB;AAAA,EACD,QAAQ,WAAW;AAClBA,kBAAAA,MAAY,MAAA,OAAA,iBAAA,UAAU;AAAA,EACvB;AACD;ACRDA,cAAAA,MAAI,eAAe,eAAe;AAAA,EAChC,QAAQ,KAAK;AACX,UAAM,oBAAoB,CAAC,OAAO,OAAO,OAAO,QAAQ,KAAK;AAC7D,UAAM,qBAAqB,CAAA;AAC3B,UAAM,iBAAiB,CAAA;AACvB,QAAI,aAAa;AACjB,QAAI,aAAa;AAEjB,QAAI,UAAU,QAAQ,CAAC,MAAM,UAAU;AACrC,YAAM,OAAO,KAAK,QAAQ,IAAI,cAAc,KAAK;AACjD,YAAM,YAAY,KAAK,MAAM,GAAG,EAAE,CAAC;AACnC,YAAM,MAAM,UAAU,MAAM,GAAG,EAAE,IAAG,EAAG;AAEvC,UAAI,kBAAkB,SAAS,GAAG,GAAG;AACnC,uBAAe,KAAK,IAAI;AACxB,2BAAmB,KAAK,IAAI,cAAc,KAAK,CAAC;AAAA,MACxD,OAAa;AACL,qBAAa;AACb,qBAAa;AAAA,MACd;AAAA,IACP,CAAK;AAED,QAAI,YAAY;AACdA,oBAAAA,MAAI,UAAU;AAAA,QACZ,OAAO,YAAY,UAAU;AAAA,QAC7B,MAAM;AAAA,QACN,UAAU;AAAA,MAClB,CAAO;AAAA,IACF;AAED,QAAI,gBAAgB;AACpB,QAAI,YAAY;AAAA,EACjB;AACH,CAAC;AAGD,MAAM,4BAA4B,CAAC,OAAO,OAAO,OAAO,QAAQ,OAAO,OAAO,QAAQ,OAAO,QAAQ,OAAO,QAAQ,QAAQ,OAAO,OAAO,OAAO,OAAO,MAAM,OAAO,OAAO,OAAO,QAAQ,KAAK;AAChM,MAAM,4BAA4B,CAAC,cAAc,SAAS;AAE1D,SAAS,2BAA2B,UAAU;AAC5C,MAAI,CAAC;AAAU,WAAO;AACtB,QAAM,YAAY,SAAS,MAAM,GAAG,EAAE,CAAC;AACvC,QAAM,MAAM,UAAU,MAAM,GAAG,EAAE,IAAG,EAAG;AACvC,MAAI,CAAC,0BAA0B,SAAS,GAAG,GAAG;AAC5CA,kBAAAA,MAAI,UAAU;AAAA,MACZ,OAAO,QAAQ,GAAG;AAAA,MAClB,MAAM;AAAA,MACN,UAAU;AAAA,IAChB,CAAK;AACD,WAAO;AAAA,EACR;AACD,SAAO;AACT;AAEAA,cAAAA,MAAI,eAAe,cAAc;AAAA,EAC/B,OAAO,MAAM;AACX,UAAM,YAAY,KAAK,OAAO;AAC9B,UAAM,gBAAgB,0BAA0B,KAAK,CAAC,MAAM,UAAU,SAAS,CAAC,CAAC;AACjF,QAAI,eAAe;AACjB,aAAO,2BAA2B,KAAK,QAAQ,IAAI,OAAO;AAAA,IAC3D;AACD,QAAI,UAAU,SAAS,6BAA6B,GAAG;AACrD,aAAO,2BAA2B,KAAK,QAAQ,IAAI,OAAO;AAAA,IAC3D;AACD,WAAO,2BAA2B,KAAK,QAAQ,IAAI,OAAO;AAAA,EAC3D;AACH,CAAC;AAkBM,SAAS,YAAY;AAC1B,QAAM,MAAMC,cAAY,aAACC,SAAG;AAC5B,MAAI,IAAIC,qCAAS;AACjB,SAAO;AAAA,IACL;AAAA,EACD;AACH;;;"} \ No newline at end of file diff --git a/unpackage/dist/dev/.sourcemap/mp-weixin/common/assets.js.map b/unpackage/dist/dev/.sourcemap/mp-weixin/common/assets.js.map index ef72e54..826911a 100644 --- a/unpackage/dist/dev/.sourcemap/mp-weixin/common/assets.js.map +++ b/unpackage/dist/dev/.sourcemap/mp-weixin/common/assets.js.map @@ -1 +1 @@ -{"version":3,"file":"assets.js","sources":["static/home_icon/jianbianbeijing.png","static/yujin/yujin_sousuo.png","static/yujin/yujin_tongji.png","static/my/edit.png","static/my/Notification.png","static/my/Account.png","static/my/Customer service.png","static/my/Phone.png","static/index/index_bg.png","static/index/phone.png","static/index/lock.png","static/index/蒙版组 260.png"],"sourcesContent":["export default \"__VITE_ASSET__ea9fb36d__\"","export default \"__VITE_ASSET__8fe3bf4d__\"","export default \"__VITE_ASSET__d9a3c09a__\"","export default \"__VITE_ASSET__e5df6314__\"","export default \"__VITE_ASSET__553a3ebb__\"","export default \"__VITE_ASSET__ebdbece8__\"","export default \"__VITE_ASSET__2a9450b4__\"","export default \"__VITE_ASSET__57c23edd__\"","export default \"__VITE_ASSET__f48d129d__\"","export default \"__VITE_ASSET__6b0aa87a__\"","export default \"__VITE_ASSET__e0160358__\"","export default \"__VITE_ASSET__d3a3f4fb__\""],"names":[],"mappings":";AAAA,MAAe,eAAA;ACAf,MAAe,eAAA;ACAf,MAAe,eAAA;ACAf,MAAe,eAAA;ACAf,MAAe,eAAA;ACAf,MAAe,aAAA;ACAf,MAAe,eAAA;ACAf,MAAe,eAAA;ACAf,MAAe,eAAA;ACAf,MAAe,eAAA;ACAf,MAAe,aAAA;ACAf,MAAe,aAAA;;;;;;;;;;;;;"} \ No newline at end of file +{"version":3,"file":"assets.js","sources":["static/home_icon/jianbianbeijing.png","static/yinhuan_detail/status.png","static/yinhuan_detail/date.png","static/yujin/yujin_sousuo.png","static/yujin/yujin_tongji.png","static/my/edit.png","static/my/Notification.png","static/my/Account.png","static/my/Customer service.png","static/my/Phone.png","static/index/index_bg.png","static/index/phone.png","static/index/lock.png","static/index/蒙版组 260.png"],"sourcesContent":["export default \"__VITE_ASSET__ea9fb36d__\"","export default \"__VITE_ASSET__8ebecbdc__\"","export default \"__VITE_ASSET__4ec3ff67__\"","export default \"__VITE_ASSET__8fe3bf4d__\"","export default \"__VITE_ASSET__d9a3c09a__\"","export default \"__VITE_ASSET__e5df6314__\"","export default \"__VITE_ASSET__553a3ebb__\"","export default \"__VITE_ASSET__ebdbece8__\"","export default \"__VITE_ASSET__2a9450b4__\"","export default \"__VITE_ASSET__57c23edd__\"","export default \"__VITE_ASSET__f48d129d__\"","export default \"__VITE_ASSET__6b0aa87a__\"","export default \"__VITE_ASSET__e0160358__\"","export default \"__VITE_ASSET__d3a3f4fb__\""],"names":[],"mappings":";AAAA,MAAe,eAAA;ACAf,MAAe,eAAA;ACAf,MAAe,eAAA;ACAf,MAAe,eAAA;ACAf,MAAe,eAAA;ACAf,MAAe,eAAA;ACAf,MAAe,eAAA;ACAf,MAAe,aAAA;ACAf,MAAe,eAAA;ACAf,MAAe,eAAA;ACAf,MAAe,eAAA;ACAf,MAAe,eAAA;ACAf,MAAe,aAAA;ACAf,MAAe,aAAA;;;;;;;;;;;;;;;"} \ No newline at end of file diff --git a/unpackage/dist/dev/.sourcemap/mp-weixin/common/vendor.js.map b/unpackage/dist/dev/.sourcemap/mp-weixin/common/vendor.js.map index e879d8e..6de48ac 100644 --- a/unpackage/dist/dev/.sourcemap/mp-weixin/common/vendor.js.map +++ b/unpackage/dist/dev/.sourcemap/mp-weixin/common/vendor.js.map @@ -1 +1 @@ -{"version":3,"file":"vendor.js","sources":["F:/software/HBuilderX/HBuilderX/plugins/uniapp-cli-vite/node_modules/@vue/shared/dist/shared.esm-bundler.js","F:/software/HBuilderX/HBuilderX/plugins/uniapp-cli-vite/node_modules/@dcloudio/uni-i18n/dist/uni-i18n.es.js","F:/software/HBuilderX/HBuilderX/plugins/uniapp-cli-vite/node_modules/@dcloudio/uni-shared/dist/uni-shared.es.js","F:/software/HBuilderX/HBuilderX/plugins/uniapp-cli-vite/node_modules/@dcloudio/uni-mp-vue/dist/vue.runtime.esm.js","F:/software/HBuilderX/HBuilderX/plugins/uniapp-cli-vite/node_modules/@dcloudio/uni-mp-weixin/dist/uni.api.esm.js","F:/software/HBuilderX/HBuilderX/plugins/uniapp-cli-vite/node_modules/@dcloudio/uni-console/dist/mp.esm.js","F:/software/HBuilderX/HBuilderX/plugins/uniapp-cli-vite/node_modules/@dcloudio/uni-mp-weixin/dist/uni.mp.esm.js","F:/software/HBuilderX/HBuilderX/plugins/uniapp-cli-vite/node_modules/@dcloudio/uni-app/dist/uni-app.es.js","node_modules/wot-design-uni/components/common/util.ts","node_modules/wot-design-uni/components/common/props.ts","node_modules/wot-design-uni/components/wd-signature/types.ts","node_modules/wot-design-uni/locale/lang/zh-CN.ts","node_modules/wot-design-uni/locale/index.ts","node_modules/wot-design-uni/components/composables/useTranslate.ts","node_modules/wot-design-uni/components/common/canvasHelper.ts","node_modules/wot-design-uni/components/common/base64.ts","node_modules/wot-design-uni/components/wd-button/types.ts","node_modules/wot-design-uni/components/wd-icon/types.ts"],"sourcesContent":["/**\n* @vue/shared v3.4.21\n* (c) 2018-present Yuxi (Evan) You and Vue contributors\n* @license MIT\n**/\nfunction makeMap(str, expectsLowerCase) {\n const set = new Set(str.split(\",\"));\n return expectsLowerCase ? (val) => set.has(val.toLowerCase()) : (val) => set.has(val);\n}\n\nconst EMPTY_OBJ = !!(process.env.NODE_ENV !== \"production\") ? Object.freeze({}) : {};\nconst EMPTY_ARR = !!(process.env.NODE_ENV !== \"production\") ? Object.freeze([]) : [];\nconst NOOP = () => {\n};\nconst NO = () => false;\nconst isOn = (key) => key.charCodeAt(0) === 111 && key.charCodeAt(1) === 110 && // uppercase letter\n(key.charCodeAt(2) > 122 || key.charCodeAt(2) < 97);\nconst isModelListener = (key) => key.startsWith(\"onUpdate:\");\nconst extend = Object.assign;\nconst remove = (arr, el) => {\n const i = arr.indexOf(el);\n if (i > -1) {\n arr.splice(i, 1);\n }\n};\nconst hasOwnProperty = Object.prototype.hasOwnProperty;\nconst hasOwn = (val, key) => hasOwnProperty.call(val, key);\nconst isArray = Array.isArray;\nconst isMap = (val) => toTypeString(val) === \"[object Map]\";\nconst isSet = (val) => toTypeString(val) === \"[object Set]\";\nconst isDate = (val) => toTypeString(val) === \"[object Date]\";\nconst isRegExp = (val) => toTypeString(val) === \"[object RegExp]\";\nconst isFunction = (val) => typeof val === \"function\";\nconst isString = (val) => typeof val === \"string\";\nconst isSymbol = (val) => typeof val === \"symbol\";\nconst isObject = (val) => val !== null && typeof val === \"object\";\nconst isPromise = (val) => {\n return (isObject(val) || isFunction(val)) && isFunction(val.then) && isFunction(val.catch);\n};\nconst objectToString = Object.prototype.toString;\nconst toTypeString = (value) => objectToString.call(value);\nconst toRawType = (value) => {\n return toTypeString(value).slice(8, -1);\n};\nconst isPlainObject = (val) => toTypeString(val) === \"[object Object]\";\nconst isIntegerKey = (key) => isString(key) && key !== \"NaN\" && key[0] !== \"-\" && \"\" + parseInt(key, 10) === key;\nconst isReservedProp = /* @__PURE__ */ makeMap(\n // the leading comma is intentional so empty string \"\" is also included\n \",key,ref,ref_for,ref_key,onVnodeBeforeMount,onVnodeMounted,onVnodeBeforeUpdate,onVnodeUpdated,onVnodeBeforeUnmount,onVnodeUnmounted\"\n);\nconst isBuiltInDirective = /* @__PURE__ */ makeMap(\n \"bind,cloak,else-if,else,for,html,if,model,on,once,pre,show,slot,text,memo\"\n);\nconst cacheStringFunction = (fn) => {\n const cache = /* @__PURE__ */ Object.create(null);\n return (str) => {\n const hit = cache[str];\n return hit || (cache[str] = fn(str));\n };\n};\nconst camelizeRE = /-(\\w)/g;\nconst camelize = cacheStringFunction((str) => {\n return str.replace(camelizeRE, (_, c) => c ? c.toUpperCase() : \"\");\n});\nconst hyphenateRE = /\\B([A-Z])/g;\nconst hyphenate = cacheStringFunction(\n (str) => str.replace(hyphenateRE, \"-$1\").toLowerCase()\n);\nconst capitalize = cacheStringFunction((str) => {\n return str.charAt(0).toUpperCase() + str.slice(1);\n});\nconst toHandlerKey = cacheStringFunction((str) => {\n const s = str ? `on${capitalize(str)}` : ``;\n return s;\n});\nconst hasChanged = (value, oldValue) => !Object.is(value, oldValue);\nconst invokeArrayFns = (fns, arg) => {\n for (let i = 0; i < fns.length; i++) {\n fns[i](arg);\n }\n};\nconst def = (obj, key, value) => {\n Object.defineProperty(obj, key, {\n configurable: true,\n enumerable: false,\n value\n });\n};\nconst looseToNumber = (val) => {\n const n = parseFloat(val);\n return isNaN(n) ? val : n;\n};\nconst toNumber = (val) => {\n const n = isString(val) ? Number(val) : NaN;\n return isNaN(n) ? val : n;\n};\nlet _globalThis;\nconst getGlobalThis = () => {\n return _globalThis || (_globalThis = typeof globalThis !== \"undefined\" ? globalThis : typeof self !== \"undefined\" ? self : typeof window !== \"undefined\" ? window : typeof global !== \"undefined\" ? global : {});\n};\nconst identRE = /^[_$a-zA-Z\\xA0-\\uFFFF][_$a-zA-Z0-9\\xA0-\\uFFFF]*$/;\nfunction genPropsAccessExp(name) {\n return identRE.test(name) ? `__props.${name}` : `__props[${JSON.stringify(name)}]`;\n}\n\nconst PatchFlags = {\n \"TEXT\": 1,\n \"1\": \"TEXT\",\n \"CLASS\": 2,\n \"2\": \"CLASS\",\n \"STYLE\": 4,\n \"4\": \"STYLE\",\n \"PROPS\": 8,\n \"8\": \"PROPS\",\n \"FULL_PROPS\": 16,\n \"16\": \"FULL_PROPS\",\n \"NEED_HYDRATION\": 32,\n \"32\": \"NEED_HYDRATION\",\n \"STABLE_FRAGMENT\": 64,\n \"64\": \"STABLE_FRAGMENT\",\n \"KEYED_FRAGMENT\": 128,\n \"128\": \"KEYED_FRAGMENT\",\n \"UNKEYED_FRAGMENT\": 256,\n \"256\": \"UNKEYED_FRAGMENT\",\n \"NEED_PATCH\": 512,\n \"512\": \"NEED_PATCH\",\n \"DYNAMIC_SLOTS\": 1024,\n \"1024\": \"DYNAMIC_SLOTS\",\n \"DEV_ROOT_FRAGMENT\": 2048,\n \"2048\": \"DEV_ROOT_FRAGMENT\",\n \"HOISTED\": -1,\n \"-1\": \"HOISTED\",\n \"BAIL\": -2,\n \"-2\": \"BAIL\"\n};\nconst PatchFlagNames = {\n [1]: `TEXT`,\n [2]: `CLASS`,\n [4]: `STYLE`,\n [8]: `PROPS`,\n [16]: `FULL_PROPS`,\n [32]: `NEED_HYDRATION`,\n [64]: `STABLE_FRAGMENT`,\n [128]: `KEYED_FRAGMENT`,\n [256]: `UNKEYED_FRAGMENT`,\n [512]: `NEED_PATCH`,\n [1024]: `DYNAMIC_SLOTS`,\n [2048]: `DEV_ROOT_FRAGMENT`,\n [-1]: `HOISTED`,\n [-2]: `BAIL`\n};\n\nconst ShapeFlags = {\n \"ELEMENT\": 1,\n \"1\": \"ELEMENT\",\n \"FUNCTIONAL_COMPONENT\": 2,\n \"2\": \"FUNCTIONAL_COMPONENT\",\n \"STATEFUL_COMPONENT\": 4,\n \"4\": \"STATEFUL_COMPONENT\",\n \"TEXT_CHILDREN\": 8,\n \"8\": \"TEXT_CHILDREN\",\n \"ARRAY_CHILDREN\": 16,\n \"16\": \"ARRAY_CHILDREN\",\n \"SLOTS_CHILDREN\": 32,\n \"32\": \"SLOTS_CHILDREN\",\n \"TELEPORT\": 64,\n \"64\": \"TELEPORT\",\n \"SUSPENSE\": 128,\n \"128\": \"SUSPENSE\",\n \"COMPONENT_SHOULD_KEEP_ALIVE\": 256,\n \"256\": \"COMPONENT_SHOULD_KEEP_ALIVE\",\n \"COMPONENT_KEPT_ALIVE\": 512,\n \"512\": \"COMPONENT_KEPT_ALIVE\",\n \"COMPONENT\": 6,\n \"6\": \"COMPONENT\"\n};\n\nconst SlotFlags = {\n \"STABLE\": 1,\n \"1\": \"STABLE\",\n \"DYNAMIC\": 2,\n \"2\": \"DYNAMIC\",\n \"FORWARDED\": 3,\n \"3\": \"FORWARDED\"\n};\nconst slotFlagsText = {\n [1]: \"STABLE\",\n [2]: \"DYNAMIC\",\n [3]: \"FORWARDED\"\n};\n\nconst GLOBALS_ALLOWED = \"Infinity,undefined,NaN,isFinite,isNaN,parseFloat,parseInt,decodeURI,decodeURIComponent,encodeURI,encodeURIComponent,Math,Number,Date,Array,Object,Boolean,String,RegExp,Map,Set,JSON,Intl,BigInt,console,Error\";\nconst isGloballyAllowed = /* @__PURE__ */ makeMap(GLOBALS_ALLOWED);\nconst isGloballyWhitelisted = isGloballyAllowed;\n\nconst range = 2;\nfunction generateCodeFrame(source, start = 0, end = source.length) {\n let lines = source.split(/(\\r?\\n)/);\n const newlineSequences = lines.filter((_, idx) => idx % 2 === 1);\n lines = lines.filter((_, idx) => idx % 2 === 0);\n let count = 0;\n const res = [];\n for (let i = 0; i < lines.length; i++) {\n count += lines[i].length + (newlineSequences[i] && newlineSequences[i].length || 0);\n if (count >= start) {\n for (let j = i - range; j <= i + range || end > count; j++) {\n if (j < 0 || j >= lines.length)\n continue;\n const line = j + 1;\n res.push(\n `${line}${\" \".repeat(Math.max(3 - String(line).length, 0))}| ${lines[j]}`\n );\n const lineLength = lines[j].length;\n const newLineSeqLength = newlineSequences[j] && newlineSequences[j].length || 0;\n if (j === i) {\n const pad = start - (count - (lineLength + newLineSeqLength));\n const length = Math.max(\n 1,\n end > count ? lineLength - pad : end - start\n );\n res.push(` | ` + \" \".repeat(pad) + \"^\".repeat(length));\n } else if (j > i) {\n if (end > count) {\n const length = Math.max(Math.min(end - count, lineLength), 1);\n res.push(` | ` + \"^\".repeat(length));\n }\n count += lineLength + newLineSeqLength;\n }\n }\n break;\n }\n }\n return res.join(\"\\n\");\n}\n\nfunction normalizeStyle(value) {\n if (isArray(value)) {\n const res = {};\n for (let i = 0; i < value.length; i++) {\n const item = value[i];\n const normalized = isString(item) ? parseStringStyle(item) : normalizeStyle(item);\n if (normalized) {\n for (const key in normalized) {\n res[key] = normalized[key];\n }\n }\n }\n return res;\n } else if (isString(value) || isObject(value)) {\n return value;\n }\n}\nconst listDelimiterRE = /;(?![^(]*\\))/g;\nconst propertyDelimiterRE = /:([^]+)/;\nconst styleCommentRE = /\\/\\*[^]*?\\*\\//g;\nfunction parseStringStyle(cssText) {\n const ret = {};\n cssText.replace(styleCommentRE, \"\").split(listDelimiterRE).forEach((item) => {\n if (item) {\n const tmp = item.split(propertyDelimiterRE);\n tmp.length > 1 && (ret[tmp[0].trim()] = tmp[1].trim());\n }\n });\n return ret;\n}\nfunction stringifyStyle(styles) {\n let ret = \"\";\n if (!styles || isString(styles)) {\n return ret;\n }\n for (const key in styles) {\n const value = styles[key];\n const normalizedKey = key.startsWith(`--`) ? key : hyphenate(key);\n if (isString(value) || typeof value === \"number\") {\n ret += `${normalizedKey}:${value};`;\n }\n }\n return ret;\n}\nfunction normalizeClass(value) {\n let res = \"\";\n if (isString(value)) {\n res = value;\n } else if (isArray(value)) {\n for (let i = 0; i < value.length; i++) {\n const normalized = normalizeClass(value[i]);\n if (normalized) {\n res += normalized + \" \";\n }\n }\n } else if (isObject(value)) {\n for (const name in value) {\n if (value[name]) {\n res += name + \" \";\n }\n }\n }\n return res.trim();\n}\nfunction normalizeProps(props) {\n if (!props)\n return null;\n let { class: klass, style } = props;\n if (klass && !isString(klass)) {\n props.class = normalizeClass(klass);\n }\n if (style) {\n props.style = normalizeStyle(style);\n }\n return props;\n}\n\nconst HTML_TAGS = \"html,body,base,head,link,meta,style,title,address,article,aside,footer,header,hgroup,h1,h2,h3,h4,h5,h6,nav,section,div,dd,dl,dt,figcaption,figure,picture,hr,img,li,main,ol,p,pre,ul,a,b,abbr,bdi,bdo,br,cite,code,data,dfn,em,i,kbd,mark,q,rp,rt,ruby,s,samp,small,span,strong,sub,sup,time,u,var,wbr,area,audio,map,track,video,embed,object,param,source,canvas,script,noscript,del,ins,caption,col,colgroup,table,thead,tbody,td,th,tr,button,datalist,fieldset,form,input,label,legend,meter,optgroup,option,output,progress,select,textarea,details,dialog,menu,summary,template,blockquote,iframe,tfoot\";\nconst SVG_TAGS = \"svg,animate,animateMotion,animateTransform,circle,clipPath,color-profile,defs,desc,discard,ellipse,feBlend,feColorMatrix,feComponentTransfer,feComposite,feConvolveMatrix,feDiffuseLighting,feDisplacementMap,feDistantLight,feDropShadow,feFlood,feFuncA,feFuncB,feFuncG,feFuncR,feGaussianBlur,feImage,feMerge,feMergeNode,feMorphology,feOffset,fePointLight,feSpecularLighting,feSpotLight,feTile,feTurbulence,filter,foreignObject,g,hatch,hatchpath,image,line,linearGradient,marker,mask,mesh,meshgradient,meshpatch,meshrow,metadata,mpath,path,pattern,polygon,polyline,radialGradient,rect,set,solidcolor,stop,switch,symbol,text,textPath,title,tspan,unknown,use,view\";\nconst MATH_TAGS = \"annotation,annotation-xml,maction,maligngroup,malignmark,math,menclose,merror,mfenced,mfrac,mfraction,mglyph,mi,mlabeledtr,mlongdiv,mmultiscripts,mn,mo,mover,mpadded,mphantom,mprescripts,mroot,mrow,ms,mscarries,mscarry,msgroup,msline,mspace,msqrt,msrow,mstack,mstyle,msub,msubsup,msup,mtable,mtd,mtext,mtr,munder,munderover,none,semantics\";\nconst VOID_TAGS = \"area,base,br,col,embed,hr,img,input,link,meta,param,source,track,wbr\";\nconst isHTMLTag = /* @__PURE__ */ makeMap(HTML_TAGS);\nconst isSVGTag = /* @__PURE__ */ makeMap(SVG_TAGS);\nconst isMathMLTag = /* @__PURE__ */ makeMap(MATH_TAGS);\nconst isVoidTag = /* @__PURE__ */ makeMap(VOID_TAGS);\n\nconst specialBooleanAttrs = `itemscope,allowfullscreen,formnovalidate,ismap,nomodule,novalidate,readonly`;\nconst isSpecialBooleanAttr = /* @__PURE__ */ makeMap(specialBooleanAttrs);\nconst isBooleanAttr = /* @__PURE__ */ makeMap(\n specialBooleanAttrs + `,async,autofocus,autoplay,controls,default,defer,disabled,hidden,inert,loop,open,required,reversed,scoped,seamless,checked,muted,multiple,selected`\n);\nfunction includeBooleanAttr(value) {\n return !!value || value === \"\";\n}\nconst unsafeAttrCharRE = /[>/=\"'\\u0009\\u000a\\u000c\\u0020]/;\nconst attrValidationCache = {};\nfunction isSSRSafeAttrName(name) {\n if (attrValidationCache.hasOwnProperty(name)) {\n return attrValidationCache[name];\n }\n const isUnsafe = unsafeAttrCharRE.test(name);\n if (isUnsafe) {\n console.error(`unsafe attribute name: ${name}`);\n }\n return attrValidationCache[name] = !isUnsafe;\n}\nconst propsToAttrMap = {\n acceptCharset: \"accept-charset\",\n className: \"class\",\n htmlFor: \"for\",\n httpEquiv: \"http-equiv\"\n};\nconst isKnownHtmlAttr = /* @__PURE__ */ makeMap(\n `accept,accept-charset,accesskey,action,align,allow,alt,async,autocapitalize,autocomplete,autofocus,autoplay,background,bgcolor,border,buffered,capture,challenge,charset,checked,cite,class,code,codebase,color,cols,colspan,content,contenteditable,contextmenu,controls,coords,crossorigin,csp,data,datetime,decoding,default,defer,dir,dirname,disabled,download,draggable,dropzone,enctype,enterkeyhint,for,form,formaction,formenctype,formmethod,formnovalidate,formtarget,headers,height,hidden,high,href,hreflang,http-equiv,icon,id,importance,inert,integrity,ismap,itemprop,keytype,kind,label,lang,language,loading,list,loop,low,manifest,max,maxlength,minlength,media,min,multiple,muted,name,novalidate,open,optimum,pattern,ping,placeholder,poster,preload,radiogroup,readonly,referrerpolicy,rel,required,reversed,rows,rowspan,sandbox,scope,scoped,selected,shape,size,sizes,slot,span,spellcheck,src,srcdoc,srclang,srcset,start,step,style,summary,tabindex,target,title,translate,type,usemap,value,width,wrap`\n);\nconst isKnownSvgAttr = /* @__PURE__ */ makeMap(\n `xmlns,accent-height,accumulate,additive,alignment-baseline,alphabetic,amplitude,arabic-form,ascent,attributeName,attributeType,azimuth,baseFrequency,baseline-shift,baseProfile,bbox,begin,bias,by,calcMode,cap-height,class,clip,clipPathUnits,clip-path,clip-rule,color,color-interpolation,color-interpolation-filters,color-profile,color-rendering,contentScriptType,contentStyleType,crossorigin,cursor,cx,cy,d,decelerate,descent,diffuseConstant,direction,display,divisor,dominant-baseline,dur,dx,dy,edgeMode,elevation,enable-background,end,exponent,fill,fill-opacity,fill-rule,filter,filterRes,filterUnits,flood-color,flood-opacity,font-family,font-size,font-size-adjust,font-stretch,font-style,font-variant,font-weight,format,from,fr,fx,fy,g1,g2,glyph-name,glyph-orientation-horizontal,glyph-orientation-vertical,glyphRef,gradientTransform,gradientUnits,hanging,height,href,hreflang,horiz-adv-x,horiz-origin-x,id,ideographic,image-rendering,in,in2,intercept,k,k1,k2,k3,k4,kernelMatrix,kernelUnitLength,kerning,keyPoints,keySplines,keyTimes,lang,lengthAdjust,letter-spacing,lighting-color,limitingConeAngle,local,marker-end,marker-mid,marker-start,markerHeight,markerUnits,markerWidth,mask,maskContentUnits,maskUnits,mathematical,max,media,method,min,mode,name,numOctaves,offset,opacity,operator,order,orient,orientation,origin,overflow,overline-position,overline-thickness,panose-1,paint-order,path,pathLength,patternContentUnits,patternTransform,patternUnits,ping,pointer-events,points,pointsAtX,pointsAtY,pointsAtZ,preserveAlpha,preserveAspectRatio,primitiveUnits,r,radius,referrerPolicy,refX,refY,rel,rendering-intent,repeatCount,repeatDur,requiredExtensions,requiredFeatures,restart,result,rotate,rx,ry,scale,seed,shape-rendering,slope,spacing,specularConstant,specularExponent,speed,spreadMethod,startOffset,stdDeviation,stemh,stemv,stitchTiles,stop-color,stop-opacity,strikethrough-position,strikethrough-thickness,string,stroke,stroke-dasharray,stroke-dashoffset,stroke-linecap,stroke-linejoin,stroke-miterlimit,stroke-opacity,stroke-width,style,surfaceScale,systemLanguage,tabindex,tableValues,target,targetX,targetY,text-anchor,text-decoration,text-rendering,textLength,to,transform,transform-origin,type,u1,u2,underline-position,underline-thickness,unicode,unicode-bidi,unicode-range,units-per-em,v-alphabetic,v-hanging,v-ideographic,v-mathematical,values,vector-effect,version,vert-adv-y,vert-origin-x,vert-origin-y,viewBox,viewTarget,visibility,width,widths,word-spacing,writing-mode,x,x-height,x1,x2,xChannelSelector,xlink:actuate,xlink:arcrole,xlink:href,xlink:role,xlink:show,xlink:title,xlink:type,xmlns:xlink,xml:base,xml:lang,xml:space,y,y1,y2,yChannelSelector,z,zoomAndPan`\n);\nfunction isRenderableAttrValue(value) {\n if (value == null) {\n return false;\n }\n const type = typeof value;\n return type === \"string\" || type === \"number\" || type === \"boolean\";\n}\n\nconst escapeRE = /[\"'&<>]/;\nfunction escapeHtml(string) {\n const str = \"\" + string;\n const match = escapeRE.exec(str);\n if (!match) {\n return str;\n }\n let html = \"\";\n let escaped;\n let index;\n let lastIndex = 0;\n for (index = match.index; index < str.length; index++) {\n switch (str.charCodeAt(index)) {\n case 34:\n escaped = \""\";\n break;\n case 38:\n escaped = \"&\";\n break;\n case 39:\n escaped = \"'\";\n break;\n case 60:\n escaped = \"<\";\n break;\n case 62:\n escaped = \">\";\n break;\n default:\n continue;\n }\n if (lastIndex !== index) {\n html += str.slice(lastIndex, index);\n }\n lastIndex = index + 1;\n html += escaped;\n }\n return lastIndex !== index ? html + str.slice(lastIndex, index) : html;\n}\nconst commentStripRE = /^-?>||--!>| looseEqual(item, val));\n}\n\nconst toDisplayString = (val) => {\n return isString(val) ? val : val == null ? \"\" : isArray(val) || isObject(val) && (val.toString === objectToString || !isFunction(val.toString)) ? JSON.stringify(val, replacer, 2) : String(val);\n};\nconst replacer = (_key, val) => {\n if (val && val.__v_isRef) {\n return replacer(_key, val.value);\n } else if (isMap(val)) {\n return {\n [`Map(${val.size})`]: [...val.entries()].reduce(\n (entries, [key, val2], i) => {\n entries[stringifySymbol(key, i) + \" =>\"] = val2;\n return entries;\n },\n {}\n )\n };\n } else if (isSet(val)) {\n return {\n [`Set(${val.size})`]: [...val.values()].map((v) => stringifySymbol(v))\n };\n } else if (isSymbol(val)) {\n return stringifySymbol(val);\n } else if (isObject(val) && !isArray(val) && !isPlainObject(val)) {\n return String(val);\n }\n return val;\n};\nconst stringifySymbol = (v, i = \"\") => {\n var _a;\n return isSymbol(v) ? `Symbol(${(_a = v.description) != null ? _a : i})` : v;\n};\n\nexport { EMPTY_ARR, EMPTY_OBJ, NO, NOOP, PatchFlagNames, PatchFlags, ShapeFlags, SlotFlags, camelize, capitalize, def, escapeHtml, escapeHtmlComment, extend, genPropsAccessExp, generateCodeFrame, getGlobalThis, hasChanged, hasOwn, hyphenate, includeBooleanAttr, invokeArrayFns, isArray, isBooleanAttr, isBuiltInDirective, isDate, isFunction, isGloballyAllowed, isGloballyWhitelisted, isHTMLTag, isIntegerKey, isKnownHtmlAttr, isKnownSvgAttr, isMap, isMathMLTag, isModelListener, isObject, isOn, isPlainObject, isPromise, isRegExp, isRenderableAttrValue, isReservedProp, isSSRSafeAttrName, isSVGTag, isSet, isSpecialBooleanAttr, isString, isSymbol, isVoidTag, looseEqual, looseIndexOf, looseToNumber, makeMap, normalizeClass, normalizeProps, normalizeStyle, objectToString, parseStringStyle, propsToAttrMap, remove, slotFlagsText, stringifyStyle, toDisplayString, toHandlerKey, toNumber, toRawType, toTypeString };\n","const isObject = (val) => val !== null && typeof val === 'object';\nconst defaultDelimiters = ['{', '}'];\nclass BaseFormatter {\n constructor() {\n this._caches = Object.create(null);\n }\n interpolate(message, values, delimiters = defaultDelimiters) {\n if (!values) {\n return [message];\n }\n let tokens = this._caches[message];\n if (!tokens) {\n tokens = parse(message, delimiters);\n this._caches[message] = tokens;\n }\n return compile(tokens, values);\n }\n}\nconst RE_TOKEN_LIST_VALUE = /^(?:\\d)+/;\nconst RE_TOKEN_NAMED_VALUE = /^(?:\\w)+/;\nfunction parse(format, [startDelimiter, endDelimiter]) {\n const tokens = [];\n let position = 0;\n let text = '';\n while (position < format.length) {\n let char = format[position++];\n if (char === startDelimiter) {\n if (text) {\n tokens.push({ type: 'text', value: text });\n }\n text = '';\n let sub = '';\n char = format[position++];\n while (char !== undefined && char !== endDelimiter) {\n sub += char;\n char = format[position++];\n }\n const isClosed = char === endDelimiter;\n const type = RE_TOKEN_LIST_VALUE.test(sub)\n ? 'list'\n : isClosed && RE_TOKEN_NAMED_VALUE.test(sub)\n ? 'named'\n : 'unknown';\n tokens.push({ value: sub, type });\n }\n // else if (char === '%') {\n // // when found rails i18n syntax, skip text capture\n // if (format[position] !== '{') {\n // text += char\n // }\n // }\n else {\n text += char;\n }\n }\n text && tokens.push({ type: 'text', value: text });\n return tokens;\n}\nfunction compile(tokens, values) {\n const compiled = [];\n let index = 0;\n const mode = Array.isArray(values)\n ? 'list'\n : isObject(values)\n ? 'named'\n : 'unknown';\n if (mode === 'unknown') {\n return compiled;\n }\n while (index < tokens.length) {\n const token = tokens[index];\n switch (token.type) {\n case 'text':\n compiled.push(token.value);\n break;\n case 'list':\n compiled.push(values[parseInt(token.value, 10)]);\n break;\n case 'named':\n if (mode === 'named') {\n compiled.push(values[token.value]);\n }\n else {\n if (process.env.NODE_ENV !== 'production') {\n console.warn(`Type of token '${token.type}' and format of value '${mode}' don't match!`);\n }\n }\n break;\n case 'unknown':\n if (process.env.NODE_ENV !== 'production') {\n console.warn(`Detect 'unknown' type of token!`);\n }\n break;\n }\n index++;\n }\n return compiled;\n}\n\nconst LOCALE_ZH_HANS = 'zh-Hans';\nconst LOCALE_ZH_HANT = 'zh-Hant';\nconst LOCALE_EN = 'en';\nconst LOCALE_FR = 'fr';\nconst LOCALE_ES = 'es';\nconst hasOwnProperty = Object.prototype.hasOwnProperty;\nconst hasOwn = (val, key) => hasOwnProperty.call(val, key);\nconst defaultFormatter = new BaseFormatter();\nfunction include(str, parts) {\n return !!parts.find((part) => str.indexOf(part) !== -1);\n}\nfunction startsWith(str, parts) {\n return parts.find((part) => str.indexOf(part) === 0);\n}\nfunction normalizeLocale(locale, messages) {\n if (!locale) {\n return;\n }\n locale = locale.trim().replace(/_/g, '-');\n if (messages && messages[locale]) {\n return locale;\n }\n locale = locale.toLowerCase();\n if (locale === 'chinese') {\n // 支付宝\n return LOCALE_ZH_HANS;\n }\n if (locale.indexOf('zh') === 0) {\n if (locale.indexOf('-hans') > -1) {\n return LOCALE_ZH_HANS;\n }\n if (locale.indexOf('-hant') > -1) {\n return LOCALE_ZH_HANT;\n }\n if (include(locale, ['-tw', '-hk', '-mo', '-cht'])) {\n return LOCALE_ZH_HANT;\n }\n return LOCALE_ZH_HANS;\n }\n let locales = [LOCALE_EN, LOCALE_FR, LOCALE_ES];\n if (messages && Object.keys(messages).length > 0) {\n locales = Object.keys(messages);\n }\n const lang = startsWith(locale, locales);\n if (lang) {\n return lang;\n }\n}\nclass I18n {\n constructor({ locale, fallbackLocale, messages, watcher, formater, }) {\n this.locale = LOCALE_EN;\n this.fallbackLocale = LOCALE_EN;\n this.message = {};\n this.messages = {};\n this.watchers = [];\n if (fallbackLocale) {\n this.fallbackLocale = fallbackLocale;\n }\n this.formater = formater || defaultFormatter;\n this.messages = messages || {};\n this.setLocale(locale || LOCALE_EN);\n if (watcher) {\n this.watchLocale(watcher);\n }\n }\n setLocale(locale) {\n const oldLocale = this.locale;\n this.locale = normalizeLocale(locale, this.messages) || this.fallbackLocale;\n if (!this.messages[this.locale]) {\n // 可能初始化时不存在\n this.messages[this.locale] = {};\n }\n this.message = this.messages[this.locale];\n // 仅发生变化时,通知\n if (oldLocale !== this.locale) {\n this.watchers.forEach((watcher) => {\n watcher(this.locale, oldLocale);\n });\n }\n }\n getLocale() {\n return this.locale;\n }\n watchLocale(fn) {\n const index = this.watchers.push(fn) - 1;\n return () => {\n this.watchers.splice(index, 1);\n };\n }\n add(locale, message, override = true) {\n const curMessages = this.messages[locale];\n if (curMessages) {\n if (override) {\n Object.assign(curMessages, message);\n }\n else {\n Object.keys(message).forEach((key) => {\n if (!hasOwn(curMessages, key)) {\n curMessages[key] = message[key];\n }\n });\n }\n }\n else {\n this.messages[locale] = message;\n }\n }\n f(message, values, delimiters) {\n return this.formater.interpolate(message, values, delimiters).join('');\n }\n t(key, locale, values) {\n let message = this.message;\n if (typeof locale === 'string') {\n locale = normalizeLocale(locale, this.messages);\n locale && (message = this.messages[locale]);\n }\n else {\n values = locale;\n }\n if (!hasOwn(message, key)) {\n console.warn(`Cannot translate the value of keypath ${key}. Use the value of keypath as default.`);\n return key;\n }\n return this.formater.interpolate(message[key], values).join('');\n }\n}\n\nfunction watchAppLocale(appVm, i18n) {\n // 需要保证 watch 的触发在组件渲染之前\n if (appVm.$watchLocale) {\n // vue2\n appVm.$watchLocale((newLocale) => {\n i18n.setLocale(newLocale);\n });\n }\n else {\n appVm.$watch(() => appVm.$locale, (newLocale) => {\n i18n.setLocale(newLocale);\n });\n }\n}\nfunction getDefaultLocale() {\n if (typeof uni !== 'undefined' && uni.getLocale) {\n return uni.getLocale();\n }\n // 小程序平台,uni 和 uni-i18n 互相引用,导致访问不到 uni,故在 global 上挂了 getLocale\n if (typeof global !== 'undefined' && global.getLocale) {\n return global.getLocale();\n }\n return LOCALE_EN;\n}\nfunction initVueI18n(locale, messages = {}, fallbackLocale, watcher) {\n // 兼容旧版本入参\n if (typeof locale !== 'string') {\n // ;[locale, messages] = [\n // messages as unknown as string,\n // locale as unknown as LocaleMessages,\n // ]\n // 暂不使用数组解构,uts编译器暂未支持。\n const options = [\n messages,\n locale,\n ];\n locale = options[0];\n messages = options[1];\n }\n if (typeof locale !== 'string') {\n // 因为小程序平台,uni-i18n 和 uni 互相引用,导致此时访问 uni 时,为 undefined\n locale = getDefaultLocale();\n }\n if (typeof fallbackLocale !== 'string') {\n fallbackLocale =\n (typeof __uniConfig !== 'undefined' && __uniConfig.fallbackLocale) ||\n LOCALE_EN;\n }\n const i18n = new I18n({\n locale,\n fallbackLocale,\n messages,\n watcher,\n });\n let t = (key, values) => {\n if (typeof getApp !== 'function') {\n // app view\n /* eslint-disable no-func-assign */\n t = function (key, values) {\n return i18n.t(key, values);\n };\n }\n else {\n let isWatchedAppLocale = false;\n t = function (key, values) {\n const appVm = getApp().$vm;\n // 可能$vm还不存在,比如在支付宝小程序中,组件定义较早,在props的default里使用了t()函数(如uni-goods-nav),此时app还未初始化\n // options: {\n // \ttype: Array,\n // \tdefault () {\n // \t\treturn [{\n // \t\t\ticon: 'shop',\n // \t\t\ttext: t(\"uni-goods-nav.options.shop\"),\n // \t\t}, {\n // \t\t\ticon: 'cart',\n // \t\t\ttext: t(\"uni-goods-nav.options.cart\")\n // \t\t}]\n // \t}\n // },\n if (appVm) {\n // 触发响应式\n appVm.$locale;\n if (!isWatchedAppLocale) {\n isWatchedAppLocale = true;\n watchAppLocale(appVm, i18n);\n }\n }\n return i18n.t(key, values);\n };\n }\n return t(key, values);\n };\n return {\n i18n,\n f(message, values, delimiters) {\n return i18n.f(message, values, delimiters);\n },\n t(key, values) {\n return t(key, values);\n },\n add(locale, message, override = true) {\n return i18n.add(locale, message, override);\n },\n watch(fn) {\n return i18n.watchLocale(fn);\n },\n getLocale() {\n return i18n.getLocale();\n },\n setLocale(newLocale) {\n return i18n.setLocale(newLocale);\n },\n };\n}\n\nconst isString = (val) => typeof val === 'string';\nlet formater;\nfunction hasI18nJson(jsonObj, delimiters) {\n if (!formater) {\n formater = new BaseFormatter();\n }\n return walkJsonObj(jsonObj, (jsonObj, key) => {\n const value = jsonObj[key];\n if (isString(value)) {\n if (isI18nStr(value, delimiters)) {\n return true;\n }\n }\n else {\n return hasI18nJson(value, delimiters);\n }\n });\n}\nfunction parseI18nJson(jsonObj, values, delimiters) {\n if (!formater) {\n formater = new BaseFormatter();\n }\n walkJsonObj(jsonObj, (jsonObj, key) => {\n const value = jsonObj[key];\n if (isString(value)) {\n if (isI18nStr(value, delimiters)) {\n jsonObj[key] = compileStr(value, values, delimiters);\n }\n }\n else {\n parseI18nJson(value, values, delimiters);\n }\n });\n return jsonObj;\n}\nfunction compileI18nJsonStr(jsonStr, { locale, locales, delimiters, }) {\n if (!isI18nStr(jsonStr, delimiters)) {\n return jsonStr;\n }\n if (!formater) {\n formater = new BaseFormatter();\n }\n const localeValues = [];\n Object.keys(locales).forEach((name) => {\n if (name !== locale) {\n localeValues.push({\n locale: name,\n values: locales[name],\n });\n }\n });\n localeValues.unshift({ locale, values: locales[locale] });\n try {\n return JSON.stringify(compileJsonObj(JSON.parse(jsonStr), localeValues, delimiters), null, 2);\n }\n catch (e) { }\n return jsonStr;\n}\nfunction isI18nStr(value, delimiters) {\n return value.indexOf(delimiters[0]) > -1;\n}\nfunction compileStr(value, values, delimiters) {\n return formater.interpolate(value, values, delimiters).join('');\n}\nfunction compileValue(jsonObj, key, localeValues, delimiters) {\n const value = jsonObj[key];\n if (isString(value)) {\n // 存在国际化\n if (isI18nStr(value, delimiters)) {\n jsonObj[key] = compileStr(value, localeValues[0].values, delimiters);\n if (localeValues.length > 1) {\n // 格式化国际化语言\n const valueLocales = (jsonObj[key + 'Locales'] = {});\n localeValues.forEach((localValue) => {\n valueLocales[localValue.locale] = compileStr(value, localValue.values, delimiters);\n });\n }\n }\n }\n else {\n compileJsonObj(value, localeValues, delimiters);\n }\n}\nfunction compileJsonObj(jsonObj, localeValues, delimiters) {\n walkJsonObj(jsonObj, (jsonObj, key) => {\n compileValue(jsonObj, key, localeValues, delimiters);\n });\n return jsonObj;\n}\nfunction walkJsonObj(jsonObj, walk) {\n if (Array.isArray(jsonObj)) {\n for (let i = 0; i < jsonObj.length; i++) {\n if (walk(jsonObj, i)) {\n return true;\n }\n }\n }\n else if (isObject(jsonObj)) {\n for (const key in jsonObj) {\n if (walk(jsonObj, key)) {\n return true;\n }\n }\n }\n return false;\n}\n\nfunction resolveLocale(locales) {\n return (locale) => {\n if (!locale) {\n return locale;\n }\n locale = normalizeLocale(locale) || locale;\n return resolveLocaleChain(locale).find((locale) => locales.indexOf(locale) > -1);\n };\n}\nfunction resolveLocaleChain(locale) {\n const chain = [];\n const tokens = locale.split('-');\n while (tokens.length) {\n chain.push(tokens.join('-'));\n tokens.pop();\n }\n return chain;\n}\n\nexport { BaseFormatter as Formatter, I18n, LOCALE_EN, LOCALE_ES, LOCALE_FR, LOCALE_ZH_HANS, LOCALE_ZH_HANT, compileI18nJsonStr, hasI18nJson, initVueI18n, isI18nStr, isString, normalizeLocale, parseI18nJson, resolveLocale };\n","import { isHTMLTag, isSVGTag, isVoidTag, isString, isFunction, isPlainObject, hyphenate, camelize, normalizeStyle as normalizeStyle$1, parseStringStyle, isArray, normalizeClass as normalizeClass$1, extend, capitalize, makeMap } from '@vue/shared';\n\nconst BUILT_IN_TAG_NAMES = [\n 'ad',\n 'ad-content-page',\n 'ad-draw',\n 'audio',\n 'button',\n 'camera',\n 'canvas',\n 'checkbox',\n 'checkbox-group',\n 'cover-image',\n 'cover-view',\n 'editor',\n 'form',\n 'functional-page-navigator',\n 'icon',\n 'image',\n 'input',\n 'label',\n 'live-player',\n 'live-pusher',\n 'map',\n 'movable-area',\n 'movable-view',\n 'navigator',\n 'official-account',\n 'open-data',\n 'picker',\n 'picker-view',\n 'picker-view-column',\n 'progress',\n 'radio',\n 'radio-group',\n 'rich-text',\n 'scroll-view',\n 'slider',\n 'swiper',\n 'swiper-item',\n 'switch',\n 'text',\n 'textarea',\n 'video',\n 'view',\n 'web-view',\n 'location-picker',\n 'location-view',\n];\nconst BUILT_IN_TAGS = BUILT_IN_TAG_NAMES.map((tag) => 'uni-' + tag);\nconst TAGS = [\n 'app',\n 'layout',\n 'content',\n 'main',\n 'top-window',\n 'left-window',\n 'right-window',\n 'tabbar',\n 'page',\n 'page-head',\n 'page-wrapper',\n 'page-body',\n 'page-refresh',\n 'actionsheet',\n 'modal',\n 'toast',\n 'resize-sensor',\n 'shadow-root',\n].map((tag) => 'uni-' + tag);\nconst NVUE_BUILT_IN_TAGS = [\n 'svg',\n 'view',\n 'a',\n 'div',\n 'img',\n 'image',\n 'text',\n 'span',\n 'input',\n 'textarea',\n 'spinner',\n 'select',\n // slider 被自定义 u-slider 替代\n // 'slider',\n 'slider-neighbor',\n 'indicator',\n 'canvas',\n 'list',\n 'cell',\n 'header',\n 'loading',\n 'loading-indicator',\n 'refresh',\n 'scrollable',\n 'scroller',\n 'video',\n 'web',\n 'embed',\n 'tabbar',\n 'tabheader',\n 'datepicker',\n 'timepicker',\n 'marquee',\n 'countdown',\n 'dc-switch',\n 'waterfall',\n 'richtext',\n 'recycle-list',\n 'u-scalable',\n 'barcode',\n 'gcanvas',\n];\nconst UVUE_BUILT_IN_TAGS = [\n 'ad',\n 'ad-content-page',\n 'ad-draw',\n 'native-view',\n 'loading-indicator',\n 'list-view',\n 'list-item',\n 'swiper',\n 'swiper-item',\n 'rich-text',\n 'sticky-view',\n 'sticky-header',\n 'sticky-section',\n // 自定义\n 'uni-slider',\n // 原生实现\n 'button',\n 'nested-scroll-header',\n 'nested-scroll-body',\n 'waterflow',\n 'flow-item',\n 'share-element',\n 'cover-view',\n 'cover-image',\n // custom element\n 'match-media',\n];\nconst UVUE_WEB_BUILT_IN_TAGS = [\n 'list-view',\n 'list-item',\n 'sticky-section',\n 'sticky-header',\n 'cloud-db-element',\n].map((tag) => 'uni-' + tag);\nconst UVUE_IOS_BUILT_IN_TAGS = [\n 'scroll-view',\n 'web-view',\n 'slider',\n 'form',\n 'switch',\n];\nconst UVUE_HARMONY_BUILT_IN_TAGS = [\n // TODO 列出完整列表\n ...BUILT_IN_TAG_NAMES,\n 'volume-panel',\n];\nconst NVUE_U_BUILT_IN_TAGS = [\n 'u-text',\n 'u-image',\n 'u-input',\n 'u-textarea',\n 'u-video',\n 'u-web-view',\n 'u-slider',\n 'u-ad',\n 'u-ad-draw',\n 'u-rich-text',\n];\nconst UVUE_WEB_BUILT_IN_CUSTOM_ELEMENTS = ['match-media'];\nconst UNI_UI_CONFLICT_TAGS = ['list-item'].map((tag) => 'uni-' + tag);\nfunction isBuiltInComponent(tag) {\n if (UNI_UI_CONFLICT_TAGS.indexOf(tag) !== -1) {\n return false;\n }\n // h5 平台会被转换为 v-uni-\n const realTag = 'uni-' + tag.replace('v-uni-', '');\n // TODO 区分x和非x\n return (BUILT_IN_TAGS.indexOf(realTag) !== -1 ||\n UVUE_WEB_BUILT_IN_TAGS.indexOf(realTag) !== -1);\n}\nfunction isH5CustomElement(tag, isX = false) {\n if (isX && UVUE_WEB_BUILT_IN_TAGS.indexOf(tag) !== -1) {\n return true;\n }\n return TAGS.indexOf(tag) !== -1 || BUILT_IN_TAGS.indexOf(tag) !== -1;\n}\nfunction isUniXElement(name) {\n return /^I?Uni.*Element(?:Impl)?$/.test(name);\n}\nfunction isH5NativeTag(tag) {\n return (tag !== 'head' &&\n (isHTMLTag(tag) || isSVGTag(tag)) &&\n !isBuiltInComponent(tag));\n}\nfunction isAppNativeTag(tag) {\n return isHTMLTag(tag) || isSVGTag(tag) || isBuiltInComponent(tag);\n}\nconst NVUE_CUSTOM_COMPONENTS = [\n 'ad',\n 'ad-draw',\n 'button',\n 'checkbox-group',\n 'checkbox',\n 'form',\n 'icon',\n 'label',\n 'movable-area',\n 'movable-view',\n 'navigator',\n 'picker',\n 'progress',\n 'radio-group',\n 'radio',\n 'rich-text',\n 'swiper-item',\n 'swiper',\n 'switch',\n 'slider',\n 'picker-view',\n 'picker-view-column',\n];\n// 内置的easycom组件\nconst UVUE_BUILT_IN_EASY_COMPONENTS = [\n 'map',\n 'camera',\n 'live-player',\n 'live-pusher',\n];\nfunction isAppUVueBuiltInEasyComponent(tag) {\n return UVUE_BUILT_IN_EASY_COMPONENTS.includes(tag);\n}\n// 主要是指前端实现的组件列表\nconst UVUE_CUSTOM_COMPONENTS = [\n ...NVUE_CUSTOM_COMPONENTS,\n ...UVUE_BUILT_IN_EASY_COMPONENTS,\n];\nfunction isAppUVueNativeTag(tag) {\n // 前端实现的内置组件都会注册一个根组件\n if (tag.startsWith('uni-') && tag.endsWith('-element')) {\n return true;\n }\n if (UVUE_BUILT_IN_TAGS.includes(tag)) {\n return true;\n }\n if (UVUE_CUSTOM_COMPONENTS.includes(tag)) {\n return false;\n }\n if (isBuiltInComponent(tag)) {\n return true;\n }\n // u-text,u-video...\n if (NVUE_U_BUILT_IN_TAGS.includes(tag)) {\n return true;\n }\n return false;\n}\nfunction isAppIOSUVueNativeTag(tag) {\n // 前端实现的内置组件都会注册一个根组件\n if (tag.startsWith('uni-') && tag.endsWith('-element')) {\n return true;\n }\n if (NVUE_BUILT_IN_TAGS.includes(tag)) {\n return true;\n }\n if (UVUE_BUILT_IN_TAGS.includes(tag)) {\n return true;\n }\n if (UVUE_IOS_BUILT_IN_TAGS.includes(tag)) {\n return true;\n }\n return false;\n}\nfunction isAppHarmonyUVueNativeTag(tag) {\n // video 目前是easycom实现的\n if (tag === 'video' || tag === 'map') {\n return false;\n }\n // 前端实现的内置组件都会注册一个根组件\n if (tag.startsWith('uni-') && tag.endsWith('-element')) {\n return true;\n }\n if (NVUE_BUILT_IN_TAGS.includes(tag)) {\n return true;\n }\n if (UVUE_BUILT_IN_TAGS.includes(tag)) {\n return true;\n }\n if (UVUE_HARMONY_BUILT_IN_TAGS.includes(tag)) {\n return true;\n }\n return false;\n}\nfunction isAppNVueNativeTag(tag) {\n if (NVUE_BUILT_IN_TAGS.includes(tag)) {\n return true;\n }\n if (NVUE_CUSTOM_COMPONENTS.includes(tag)) {\n return false;\n }\n if (isBuiltInComponent(tag)) {\n return true;\n }\n // u-text,u-video...\n if (NVUE_U_BUILT_IN_TAGS.includes(tag)) {\n return true;\n }\n return false;\n}\nfunction isMiniProgramNativeTag(tag) {\n return isBuiltInComponent(tag);\n}\nfunction isMiniProgramUVueNativeTag(tag) {\n // 小程序平台内置的自定义元素,会被转换为 view\n if (tag.startsWith('uni-') && tag.endsWith('-element')) {\n return true;\n }\n return isBuiltInComponent(tag);\n}\nfunction createIsCustomElement(tags = []) {\n return function isCustomElement(tag) {\n return tags.includes(tag);\n };\n}\nfunction isComponentTag(tag) {\n return tag[0].toLowerCase() + tag.slice(1) === 'component';\n}\nconst COMPONENT_SELECTOR_PREFIX = 'uni-';\nconst COMPONENT_PREFIX = 'v-' + COMPONENT_SELECTOR_PREFIX;\n// TODO 是否还存在其他需要特殊处理的 void 标签?\nconst APP_VOID_TAGS = ['textarea'];\nfunction isAppVoidTag(tag) {\n return APP_VOID_TAGS.includes(tag) || isVoidTag(tag);\n}\n\nconst LINEFEED = '\\n';\nconst NAVBAR_HEIGHT = 44;\nconst TABBAR_HEIGHT = 50;\nconst ON_REACH_BOTTOM_DISTANCE = 50;\nconst RESPONSIVE_MIN_WIDTH = 768;\nconst UNI_STORAGE_LOCALE = 'UNI_LOCALE';\n// quickapp-webview 不能使用 default 作为插槽名称\nconst SLOT_DEFAULT_NAME = 'd';\nconst COMPONENT_NAME_PREFIX = 'VUni';\nconst I18N_JSON_DELIMITERS = ['%', '%'];\nconst PRIMARY_COLOR = '#007aff';\nconst SELECTED_COLOR = '#0062cc'; // 选中的颜色,如选项卡默认的选中颜色\nconst BACKGROUND_COLOR = '#f7f7f7'; // 背景色,如标题栏默认背景色\nconst UNI_SSR = '__uniSSR';\nconst UNI_SSR_TITLE = 'title';\nconst UNI_SSR_STORE = 'store';\nconst UNI_SSR_DATA = 'data';\nconst UNI_SSR_GLOBAL_DATA = 'globalData';\nconst SCHEME_RE = /^([a-z-]+:)?\\/\\//i;\nconst DATA_RE = /^data:.*,.*/;\nconst WEB_INVOKE_APPSERVICE = 'WEB_INVOKE_APPSERVICE';\nconst WXS_PROTOCOL = 'wxs://';\nconst JSON_PROTOCOL = 'json://';\nconst WXS_MODULES = 'wxsModules';\nconst RENDERJS_MODULES = 'renderjsModules';\n// lifecycle\n// App and Page\nconst ON_SHOW = 'onShow';\nconst ON_HIDE = 'onHide';\n//App\nconst ON_LAUNCH = 'onLaunch';\nconst ON_ERROR = 'onError';\nconst ON_THEME_CHANGE = 'onThemeChange';\nconst OFF_THEME_CHANGE = 'offThemeChange';\nconst ON_HOST_THEME_CHANGE = 'onHostThemeChange';\nconst OFF_HOST_THEME_CHANGE = 'offHostThemeChange';\nconst ON_KEYBOARD_HEIGHT_CHANGE = 'onKeyboardHeightChange';\nconst ON_PAGE_NOT_FOUND = 'onPageNotFound';\nconst ON_UNHANDLE_REJECTION = 'onUnhandledRejection';\nconst ON_LAST_PAGE_BACK_PRESS = 'onLastPageBackPress';\nconst ON_EXIT = 'onExit';\n//Page\nconst ON_LOAD = 'onLoad';\nconst ON_READY = 'onReady';\nconst ON_UNLOAD = 'onUnload';\n// 百度特有\nconst ON_INIT = 'onInit';\n// 微信特有\nconst ON_SAVE_EXIT_STATE = 'onSaveExitState';\nconst ON_RESIZE = 'onResize';\nconst ON_BACK_PRESS = 'onBackPress';\nconst ON_PAGE_SCROLL = 'onPageScroll';\nconst ON_TAB_ITEM_TAP = 'onTabItemTap';\nconst ON_REACH_BOTTOM = 'onReachBottom';\nconst ON_PULL_DOWN_REFRESH = 'onPullDownRefresh';\nconst ON_SHARE_TIMELINE = 'onShareTimeline';\nconst ON_SHARE_CHAT = 'onShareChat'; // xhs-share\nconst ON_ADD_TO_FAVORITES = 'onAddToFavorites';\nconst ON_SHARE_APP_MESSAGE = 'onShareAppMessage';\n// navigationBar\nconst ON_NAVIGATION_BAR_BUTTON_TAP = 'onNavigationBarButtonTap';\nconst ON_NAVIGATION_BAR_CHANGE = 'onNavigationBarChange';\nconst ON_NAVIGATION_BAR_SEARCH_INPUT_CLICKED = 'onNavigationBarSearchInputClicked';\nconst ON_NAVIGATION_BAR_SEARCH_INPUT_CHANGED = 'onNavigationBarSearchInputChanged';\nconst ON_NAVIGATION_BAR_SEARCH_INPUT_CONFIRMED = 'onNavigationBarSearchInputConfirmed';\nconst ON_NAVIGATION_BAR_SEARCH_INPUT_FOCUS_CHANGED = 'onNavigationBarSearchInputFocusChanged';\n// framework\nconst ON_APP_ENTER_FOREGROUND = 'onAppEnterForeground';\nconst ON_APP_ENTER_BACKGROUND = 'onAppEnterBackground';\nconst ON_WEB_INVOKE_APP_SERVICE = 'onWebInvokeAppService';\nconst ON_WXS_INVOKE_CALL_METHOD = 'onWxsInvokeCallMethod';\n// mergeVirtualHostAttributes\nconst VIRTUAL_HOST_STYLE = 'virtualHostStyle';\nconst VIRTUAL_HOST_CLASS = 'virtualHostClass';\nconst VIRTUAL_HOST_HIDDEN = 'virtualHostHidden';\nconst VIRTUAL_HOST_ID = 'virtualHostId';\n\nfunction cache(fn) {\n const cache = Object.create(null);\n return (str) => {\n const hit = cache[str];\n return hit || (cache[str] = fn(str));\n };\n}\nfunction cacheStringFunction(fn) {\n return cache(fn);\n}\nfunction getLen(str = '') {\n return ('' + str).replace(/[^\\x00-\\xff]/g, '**').length;\n}\nfunction hasLeadingSlash(str) {\n return str.indexOf('/') === 0;\n}\nfunction addLeadingSlash(str) {\n return hasLeadingSlash(str) ? str : '/' + str;\n}\nfunction removeLeadingSlash(str) {\n return hasLeadingSlash(str) ? str.slice(1) : str;\n}\nconst invokeArrayFns = (fns, arg) => {\n let ret;\n for (let i = 0; i < fns.length; i++) {\n ret = fns[i](arg);\n }\n return ret;\n};\nfunction updateElementStyle(element, styles) {\n for (const attrName in styles) {\n element.style[attrName] = styles[attrName];\n }\n}\nfunction once(fn, ctx = null) {\n let res;\n return ((...args) => {\n if (fn) {\n res = fn.apply(ctx, args);\n fn = null;\n }\n return res;\n });\n}\nconst sanitise = (val) => (val && JSON.parse(JSON.stringify(val))) || val;\nconst _completeValue = (value) => (value > 9 ? value : '0' + value);\nfunction formatDateTime({ date = new Date(), mode = 'date' }) {\n if (mode === 'time') {\n return (_completeValue(date.getHours()) + ':' + _completeValue(date.getMinutes()));\n }\n else {\n return (date.getFullYear() +\n '-' +\n _completeValue(date.getMonth() + 1) +\n '-' +\n _completeValue(date.getDate()));\n }\n}\nfunction callOptions(options, data) {\n options = options || {};\n if (isString(data)) {\n data = {\n errMsg: data,\n };\n }\n if (/:ok$/.test(data.errMsg)) {\n if (isFunction(options.success)) {\n options.success(data);\n }\n }\n else {\n if (isFunction(options.fail)) {\n options.fail(data);\n }\n }\n if (isFunction(options.complete)) {\n options.complete(data);\n }\n}\nfunction getValueByDataPath(obj, path) {\n if (!isString(path)) {\n return;\n }\n path = path.replace(/\\[(\\d+)\\]/g, '.$1');\n const parts = path.split('.');\n let key = parts[0];\n if (!obj) {\n obj = {};\n }\n if (parts.length === 1) {\n return obj[key];\n }\n return getValueByDataPath(obj[key], parts.slice(1).join('.'));\n}\nfunction sortObject(obj) {\n let sortObj = {};\n if (isPlainObject(obj)) {\n Object.keys(obj)\n .sort()\n .forEach((key) => {\n const _key = key;\n sortObj[_key] = obj[_key];\n });\n }\n return !Object.keys(sortObj) ? obj : sortObj;\n}\nfunction getGlobalOnce() {\n if (typeof globalThis !== 'undefined') {\n return globalThis;\n }\n // worker\n if (typeof self !== 'undefined') {\n return self;\n }\n // browser\n if (typeof window !== 'undefined') {\n return window;\n }\n // nodejs\n // if (typeof global !== 'undefined') {\n // return global\n // }\n function g() {\n return this;\n }\n if (typeof g() !== 'undefined') {\n return g();\n }\n return (function () {\n return new Function('return this')();\n })();\n}\nlet g = undefined;\nfunction getGlobal() {\n if (g) {\n return g;\n }\n g = getGlobalOnce();\n return g;\n}\n\nfunction isComponentInternalInstance(vm) {\n return !!vm.appContext;\n}\nfunction resolveComponentInstance(instance) {\n return (instance &&\n (isComponentInternalInstance(instance) ? instance.proxy : instance));\n}\nfunction resolveOwnerVm(vm) {\n if (!vm) {\n return;\n }\n let componentName = vm.type.name;\n while (componentName && isBuiltInComponent(hyphenate(componentName))) {\n // ownerInstance 内置组件需要使用父 vm\n vm = vm.parent;\n componentName = vm.type.name;\n }\n return vm.proxy;\n}\nfunction isElement(el) {\n // Element\n return el.nodeType === 1;\n}\nfunction resolveOwnerEl(instance, multi = false) {\n const { vnode } = instance;\n if (isElement(vnode.el)) {\n return multi ? (vnode.el ? [vnode.el] : []) : vnode.el;\n }\n const { subTree } = instance;\n // ShapeFlags.ARRAY_CHILDREN = 1<<4\n if (subTree.shapeFlag & 16) {\n const elemVNodes = subTree.children.filter((vnode) => vnode.el && isElement(vnode.el));\n if (elemVNodes.length > 0) {\n if (multi) {\n return elemVNodes.map((node) => node.el);\n }\n return elemVNodes[0].el;\n }\n }\n return multi ? (vnode.el ? [vnode.el] : []) : vnode.el;\n}\nfunction dynamicSlotName(name) {\n return name === 'default' ? SLOT_DEFAULT_NAME : name;\n}\nconst customizeRE = /:/g;\nfunction customizeEvent(str) {\n return camelize(str.replace(customizeRE, '-'));\n}\nfunction normalizeStyle(value) {\n const g = getGlobal();\n if (g && g.UTSJSONObject && value instanceof g.UTSJSONObject) {\n const styleObject = {};\n g.UTSJSONObject.keys(value).forEach((key) => {\n styleObject[key] = value[key];\n });\n return normalizeStyle$1(styleObject);\n }\n else if (value instanceof Map) {\n const styleObject = {};\n value.forEach((value, key) => {\n styleObject[key] = value;\n });\n return normalizeStyle$1(styleObject);\n }\n else if (isString(value)) {\n return parseStringStyle(value);\n }\n else if (isArray(value)) {\n const res = {};\n for (let i = 0; i < value.length; i++) {\n const item = value[i];\n const normalized = isString(item)\n ? parseStringStyle(item)\n : normalizeStyle(item);\n if (normalized) {\n for (const key in normalized) {\n res[key] = normalized[key];\n }\n }\n }\n return res;\n }\n else {\n return normalizeStyle$1(value);\n }\n}\nfunction normalizeClass(value) {\n let res = '';\n const g = getGlobal();\n if (g && g.UTSJSONObject && value instanceof g.UTSJSONObject) {\n g.UTSJSONObject.keys(value).forEach((key) => {\n if (value[key]) {\n res += key + ' ';\n }\n });\n }\n else if (value instanceof Map) {\n value.forEach((value, key) => {\n if (value) {\n res += key + ' ';\n }\n });\n }\n else if (isArray(value)) {\n for (let i = 0; i < value.length; i++) {\n const normalized = normalizeClass(value[i]);\n if (normalized) {\n res += normalized + ' ';\n }\n }\n }\n else {\n res = normalizeClass$1(value);\n }\n return res.trim();\n}\nfunction normalizeProps(props) {\n if (!props)\n return null;\n let { class: klass, style } = props;\n if (klass && !isString(klass)) {\n props.class = normalizeClass(klass);\n }\n if (style) {\n props.style = normalizeStyle(style);\n }\n return props;\n}\n\nlet lastLogTime = 0;\nfunction formatLog(module, ...args) {\n const now = Date.now();\n const diff = lastLogTime ? now - lastLogTime : 0;\n lastLogTime = now;\n return `[${now}][${diff}ms][${module}]:${args\n .map((arg) => JSON.stringify(arg))\n .join(' ')}`;\n}\n\nfunction formatKey(key) {\n return camelize(key.substring(5));\n}\n// question/139181,增加副作用,避免 initCustomDataset 在 build 下被 tree-shaking\nconst initCustomDatasetOnce = /*#__PURE__*/ once((isBuiltInElement) => {\n isBuiltInElement =\n isBuiltInElement || ((el) => el.tagName.startsWith('UNI-'));\n const prototype = HTMLElement.prototype;\n const setAttribute = prototype.setAttribute;\n prototype.setAttribute = function (key, value) {\n if (key.startsWith('data-') && isBuiltInElement(this)) {\n const dataset = this.__uniDataset ||\n (this.__uniDataset = {});\n dataset[formatKey(key)] = value;\n }\n setAttribute.call(this, key, value);\n };\n const removeAttribute = prototype.removeAttribute;\n prototype.removeAttribute = function (key) {\n if (this.__uniDataset &&\n key.startsWith('data-') &&\n isBuiltInElement(this)) {\n delete this.__uniDataset[formatKey(key)];\n }\n removeAttribute.call(this, key);\n };\n});\nfunction getCustomDataset(el) {\n return extend({}, el.dataset, el.__uniDataset);\n}\n\nconst unitRE = new RegExp(`\"[^\"]+\"|'[^']+'|url\\\\([^)]+\\\\)|(\\\\d*\\\\.?\\\\d+)[r|u]px`, 'g');\nfunction toFixed(number, precision) {\n const multiplier = Math.pow(10, precision + 1);\n const wholeNumber = Math.floor(number * multiplier);\n return (Math.round(wholeNumber / 10) * 10) / multiplier;\n}\nconst defaultRpx2Unit = {\n unit: 'rem',\n unitRatio: 10 / 320,\n unitPrecision: 5,\n};\nconst defaultMiniProgramRpx2Unit = {\n unit: 'rpx',\n unitRatio: 1,\n unitPrecision: 1,\n};\nconst defaultNVueRpx2Unit = defaultMiniProgramRpx2Unit;\nfunction createRpx2Unit(unit, unitRatio, unitPrecision) {\n // ignore: rpxCalcIncludeWidth\n return (val) => val.replace(unitRE, (m, $1) => {\n if (!$1) {\n return m;\n }\n if (unitRatio === 1) {\n return `${$1}${unit}`;\n }\n const value = toFixed(parseFloat($1) * unitRatio, unitPrecision);\n return value === 0 ? '0' : `${value}${unit}`;\n });\n}\n\nfunction passive(passive) {\n return { passive };\n}\nfunction normalizeDataset(el) {\n // TODO\n return JSON.parse(JSON.stringify(el.dataset || {}));\n}\nfunction normalizeTarget(el) {\n const { id, offsetTop, offsetLeft } = el;\n return {\n id,\n dataset: getCustomDataset(el),\n offsetTop,\n offsetLeft,\n };\n}\nfunction addFont(family, source, desc) {\n const fonts = document.fonts;\n if (fonts) {\n const fontFace = new FontFace(family, source, desc);\n return fontFace.load().then(() => {\n fonts.add && fonts.add(fontFace);\n });\n }\n return new Promise((resolve) => {\n const style = document.createElement('style');\n const values = [];\n if (desc) {\n const { style, weight, stretch, unicodeRange, variant, featureSettings } = desc;\n style && values.push(`font-style:${style}`);\n weight && values.push(`font-weight:${weight}`);\n stretch && values.push(`font-stretch:${stretch}`);\n unicodeRange && values.push(`unicode-range:${unicodeRange}`);\n variant && values.push(`font-variant:${variant}`);\n featureSettings && values.push(`font-feature-settings:${featureSettings}`);\n }\n style.innerText = `@font-face{font-family:\"${family}\";src:${source};${values.join(';')}}`;\n document.head.appendChild(style);\n resolve();\n });\n}\nfunction scrollTo(scrollTop, duration, isH5) {\n if (isString(scrollTop)) {\n const el = document.querySelector(scrollTop);\n if (el) {\n const { top } = el.getBoundingClientRect();\n scrollTop = top + window.pageYOffset;\n // 如果存在,减去 高度\n const pageHeader = document.querySelector('uni-page-head');\n if (pageHeader) {\n scrollTop -= pageHeader.offsetHeight;\n }\n }\n }\n if (scrollTop < 0) {\n scrollTop = 0;\n }\n const documentElement = document.documentElement;\n const { clientHeight, scrollHeight } = documentElement;\n scrollTop = Math.min(scrollTop, scrollHeight - clientHeight);\n if (duration === 0) {\n // 部分浏览器(比如微信)中 scrollTop 的值需要通过 document.body 来控制\n documentElement.scrollTop = document.body.scrollTop = scrollTop;\n return;\n }\n if (window.scrollY === scrollTop) {\n return;\n }\n const scrollTo = (duration) => {\n if (duration <= 0) {\n window.scrollTo(0, scrollTop);\n return;\n }\n const distaince = scrollTop - window.scrollY;\n requestAnimationFrame(function () {\n window.scrollTo(0, window.scrollY + (distaince / duration) * 10);\n scrollTo(duration - 10);\n });\n };\n scrollTo(duration);\n}\n\nconst encode = encodeURIComponent;\nfunction stringifyQuery(obj, encodeStr = encode) {\n const res = obj\n ? Object.keys(obj)\n .map((key) => {\n let val = obj[key];\n if (typeof val === undefined || val === null) {\n val = '';\n }\n else if (isPlainObject(val)) {\n val = JSON.stringify(val);\n }\n return encodeStr(key) + '=' + encodeStr(val);\n })\n .filter((x) => x.length > 0)\n .join('&')\n : null;\n return res ? `?${res}` : '';\n}\n/**\n * Decode text using `decodeURIComponent`. Returns the original text if it\n * fails.\n *\n * @param text - string to decode\n * @returns decoded string\n */\nfunction decode(text) {\n try {\n return decodeURIComponent('' + text);\n }\n catch (err) { }\n return '' + text;\n}\nfunction decodedQuery(query = {}) {\n const decodedQuery = {};\n Object.keys(query).forEach((name) => {\n try {\n decodedQuery[name] = decode(query[name]);\n }\n catch (e) {\n decodedQuery[name] = query[name];\n }\n });\n return decodedQuery;\n}\nconst PLUS_RE = /\\+/g; // %2B\n/**\n * https://github.com/vuejs/vue-router-next/blob/master/src/query.ts\n * @internal\n *\n * @param search - search string to parse\n * @returns a query object\n */\nfunction parseQuery(search) {\n const query = {};\n // avoid creating an object with an empty key and empty value\n // because of split('&')\n if (search === '' || search === '?')\n return query;\n const hasLeadingIM = search[0] === '?';\n const searchParams = (hasLeadingIM ? search.slice(1) : search).split('&');\n for (let i = 0; i < searchParams.length; ++i) {\n // pre decode the + into space\n const searchParam = searchParams[i].replace(PLUS_RE, ' ');\n // allow the = character\n let eqPos = searchParam.indexOf('=');\n let key = decode(eqPos < 0 ? searchParam : searchParam.slice(0, eqPos));\n let value = eqPos < 0 ? null : decode(searchParam.slice(eqPos + 1));\n if (key in query) {\n // an extra variable for ts types\n let currentValue = query[key];\n if (!isArray(currentValue)) {\n currentValue = query[key] = [currentValue];\n }\n currentValue.push(value);\n }\n else {\n query[key] = value;\n }\n }\n return query;\n}\n\nfunction parseUrl(url) {\n const [path, querystring] = url.split('?', 2);\n return {\n path,\n query: parseQuery(querystring || ''),\n };\n}\n\nfunction parseNVueDataset(attr) {\n const dataset = {};\n if (attr) {\n Object.keys(attr).forEach((key) => {\n if (key.indexOf('data-') === 0) {\n dataset[key.replace('data-', '')] = attr[key];\n }\n });\n }\n return dataset;\n}\n\nfunction plusReady(callback) {\n if (!isFunction(callback)) {\n return;\n }\n if (window.plus) {\n return callback();\n }\n document.addEventListener('plusready', callback);\n}\n\nclass DOMException extends Error {\n constructor(message) {\n super(message);\n this.name = 'DOMException';\n }\n}\n\nfunction normalizeEventType(type, options) {\n if (options) {\n if (options.capture) {\n type += 'Capture';\n }\n if (options.once) {\n type += 'Once';\n }\n if (options.passive) {\n type += 'Passive';\n }\n }\n return `on${capitalize(camelize(type))}`;\n}\nclass UniEvent {\n constructor(type, opts) {\n this.defaultPrevented = false;\n this.timeStamp = Date.now();\n this._stop = false;\n this._end = false;\n this.type = type;\n this.bubbles = !!opts.bubbles;\n this.cancelable = !!opts.cancelable;\n }\n preventDefault() {\n this.defaultPrevented = true;\n }\n stopImmediatePropagation() {\n this._end = this._stop = true;\n }\n stopPropagation() {\n this._stop = true;\n }\n}\nfunction createUniEvent(evt) {\n if (evt instanceof UniEvent) {\n return evt;\n }\n const [type] = parseEventName(evt.type);\n const uniEvent = new UniEvent(type, {\n bubbles: false,\n cancelable: false,\n });\n extend(uniEvent, evt);\n return uniEvent;\n}\nclass UniEventTarget {\n constructor() {\n this.listeners = Object.create(null);\n }\n dispatchEvent(evt) {\n const listeners = this.listeners[evt.type];\n if (!listeners) {\n if ((process.env.NODE_ENV !== 'production')) {\n console.error(formatLog('dispatchEvent', this.nodeId), evt.type, 'not found');\n }\n return false;\n }\n // 格式化事件类型\n const event = createUniEvent(evt);\n const len = listeners.length;\n for (let i = 0; i < len; i++) {\n listeners[i].call(this, event);\n if (event._end) {\n break;\n }\n }\n return event.cancelable && event.defaultPrevented;\n }\n addEventListener(type, listener, options) {\n type = normalizeEventType(type, options);\n (this.listeners[type] || (this.listeners[type] = [])).push(listener);\n }\n removeEventListener(type, callback, options) {\n type = normalizeEventType(type, options);\n const listeners = this.listeners[type];\n if (!listeners) {\n return;\n }\n const index = listeners.indexOf(callback);\n if (index > -1) {\n listeners.splice(index, 1);\n }\n }\n}\nconst optionsModifierRE = /(?:Once|Passive|Capture)$/;\nfunction parseEventName(name) {\n let options;\n if (optionsModifierRE.test(name)) {\n options = {};\n let m;\n while ((m = name.match(optionsModifierRE))) {\n name = name.slice(0, name.length - m[0].length);\n options[m[0].toLowerCase()] = true;\n }\n }\n return [hyphenate(name.slice(2)), options];\n}\n\nconst EventModifierFlags = /*#__PURE__*/ (() => {\n return {\n stop: 1,\n prevent: 1 << 1,\n self: 1 << 2,\n };\n})();\nfunction encodeModifier(modifiers) {\n let flag = 0;\n if (modifiers.includes('stop')) {\n flag |= EventModifierFlags.stop;\n }\n if (modifiers.includes('prevent')) {\n flag |= EventModifierFlags.prevent;\n }\n if (modifiers.includes('self')) {\n flag |= EventModifierFlags.self;\n }\n return flag;\n}\n\nconst NODE_TYPE_PAGE = 0;\nconst NODE_TYPE_ELEMENT = 1;\nconst NODE_TYPE_TEXT = 3;\nconst NODE_TYPE_COMMENT = 8;\nfunction sibling(node, type) {\n const { parentNode } = node;\n if (!parentNode) {\n return null;\n }\n const { childNodes } = parentNode;\n return childNodes[childNodes.indexOf(node) + (type === 'n' ? 1 : -1)] || null;\n}\nfunction removeNode(node) {\n const { parentNode } = node;\n if (parentNode) {\n const { childNodes } = parentNode;\n const index = childNodes.indexOf(node);\n if (index > -1) {\n node.parentNode = null;\n childNodes.splice(index, 1);\n }\n }\n}\nfunction checkNodeId(node) {\n if (!node.nodeId && node.pageNode) {\n node.nodeId = node.pageNode.genId();\n }\n}\n// 为优化性能,各平台不使用proxy来实现node的操作拦截,而是直接通过pageNode定制\nclass UniNode extends UniEventTarget {\n constructor(nodeType, nodeName, container) {\n super();\n this.pageNode = null;\n this.parentNode = null;\n this._text = null;\n if (container) {\n const { pageNode } = container;\n if (pageNode) {\n this.pageNode = pageNode;\n this.nodeId = pageNode.genId();\n !pageNode.isUnmounted && pageNode.onCreate(this, nodeName);\n }\n }\n this.nodeType = nodeType;\n this.nodeName = nodeName;\n this.childNodes = [];\n }\n get firstChild() {\n return this.childNodes[0] || null;\n }\n get lastChild() {\n const { childNodes } = this;\n const length = childNodes.length;\n return length ? childNodes[length - 1] : null;\n }\n get nextSibling() {\n return sibling(this, 'n');\n }\n get nodeValue() {\n return null;\n }\n set nodeValue(_val) { }\n get textContent() {\n return this._text || '';\n }\n set textContent(text) {\n this._text = text;\n if (this.pageNode && !this.pageNode.isUnmounted) {\n this.pageNode.onTextContent(this, text);\n }\n }\n get parentElement() {\n const { parentNode } = this;\n if (parentNode && parentNode.nodeType === NODE_TYPE_ELEMENT) {\n return parentNode;\n }\n return null;\n }\n get previousSibling() {\n return sibling(this, 'p');\n }\n appendChild(newChild) {\n return this.insertBefore(newChild, null);\n }\n cloneNode(deep) {\n const cloned = extend(Object.create(Object.getPrototypeOf(this)), this);\n const { attributes } = cloned;\n if (attributes) {\n cloned.attributes = extend({}, attributes);\n }\n if (deep) {\n cloned.childNodes = cloned.childNodes.map((childNode) => childNode.cloneNode(true));\n }\n return cloned;\n }\n insertBefore(newChild, refChild) {\n // 先从现在的父节点移除(注意:不能触发onRemoveChild,否则会生成先remove该 id,再 insert)\n removeNode(newChild);\n newChild.pageNode = this.pageNode;\n newChild.parentNode = this;\n checkNodeId(newChild);\n const { childNodes } = this;\n if (refChild) {\n const index = childNodes.indexOf(refChild);\n if (index === -1) {\n throw new DOMException(`Failed to execute 'insertBefore' on 'Node': The node before which the new node is to be inserted is not a child of this node.`);\n }\n childNodes.splice(index, 0, newChild);\n }\n else {\n childNodes.push(newChild);\n }\n return this.pageNode && !this.pageNode.isUnmounted\n ? this.pageNode.onInsertBefore(this, newChild, refChild)\n : newChild;\n }\n removeChild(oldChild) {\n const { childNodes } = this;\n const index = childNodes.indexOf(oldChild);\n if (index === -1) {\n throw new DOMException(`Failed to execute 'removeChild' on 'Node': The node to be removed is not a child of this node.`);\n }\n oldChild.parentNode = null;\n childNodes.splice(index, 1);\n return this.pageNode && !this.pageNode.isUnmounted\n ? this.pageNode.onRemoveChild(oldChild)\n : oldChild;\n }\n}\nconst ATTR_CLASS = 'class';\nconst ATTR_STYLE = 'style';\nconst ATTR_INNER_HTML = 'innerHTML';\nconst ATTR_TEXT_CONTENT = 'textContent';\nconst ATTR_V_SHOW = '.vShow';\nconst ATTR_V_OWNER_ID = '.vOwnerId';\nconst ATTR_V_RENDERJS = '.vRenderjs';\nconst ATTR_CHANGE_PREFIX = 'change:';\nclass UniBaseNode extends UniNode {\n constructor(nodeType, nodeName, container) {\n super(nodeType, nodeName, container);\n this.attributes = Object.create(null);\n this.style = null;\n this.vShow = null;\n this._html = null;\n }\n get className() {\n return (this.attributes[ATTR_CLASS] || '');\n }\n set className(val) {\n this.setAttribute(ATTR_CLASS, val);\n }\n get innerHTML() {\n return '';\n }\n set innerHTML(html) {\n this._html = html;\n }\n addEventListener(type, listener, options) {\n super.addEventListener(type, listener, options);\n if (this.pageNode && !this.pageNode.isUnmounted) {\n if (listener.wxsEvent) {\n this.pageNode.onAddWxsEvent(this, normalizeEventType(type, options), listener.wxsEvent, encodeModifier(listener.modifiers || []));\n }\n else {\n this.pageNode.onAddEvent(this, normalizeEventType(type, options), encodeModifier(listener.modifiers || []));\n }\n }\n }\n removeEventListener(type, callback, options) {\n super.removeEventListener(type, callback, options);\n if (this.pageNode && !this.pageNode.isUnmounted) {\n this.pageNode.onRemoveEvent(this, normalizeEventType(type, options));\n }\n }\n getAttribute(qualifiedName) {\n if (qualifiedName === ATTR_STYLE) {\n return this.style;\n }\n return this.attributes[qualifiedName];\n }\n removeAttribute(qualifiedName) {\n if (qualifiedName == ATTR_STYLE) {\n this.style = null;\n }\n else {\n delete this.attributes[qualifiedName];\n }\n if (this.pageNode && !this.pageNode.isUnmounted) {\n this.pageNode.onRemoveAttribute(this, qualifiedName);\n }\n }\n setAttribute(qualifiedName, value) {\n if (qualifiedName === ATTR_STYLE) {\n this.style = value;\n }\n else {\n this.attributes[qualifiedName] = value;\n }\n if (this.pageNode && !this.pageNode.isUnmounted) {\n this.pageNode.onSetAttribute(this, qualifiedName, value);\n }\n }\n toJSON({ attr, normalize, } = {}) {\n const { attributes, style, listeners, _text } = this;\n const res = {};\n if (Object.keys(attributes).length) {\n res.a = normalize ? normalize(attributes) : attributes;\n }\n const events = Object.keys(listeners);\n if (events.length) {\n let w = undefined;\n const e = {};\n events.forEach((name) => {\n const handlers = listeners[name];\n if (handlers.length) {\n // 可能存在多个 handler 且不同 modifiers 吗?\n const { wxsEvent, modifiers } = handlers[0];\n const modifier = encodeModifier(modifiers || []);\n if (!wxsEvent) {\n e[name] = modifier;\n }\n else {\n if (!w) {\n w = {};\n }\n w[name] = [normalize ? normalize(wxsEvent) : wxsEvent, modifier];\n }\n }\n });\n res.e = normalize ? normalize(e, false) : e;\n if (w) {\n res.w = normalize ? normalize(w, false) : w;\n }\n }\n if (style !== null) {\n res.s = normalize ? normalize(style) : style;\n }\n if (!attr) {\n res.i = this.nodeId;\n res.n = this.nodeName;\n }\n if (_text !== null) {\n res.t = normalize ? normalize(_text) : _text;\n }\n return res;\n }\n}\n\nclass UniCommentNode extends UniNode {\n constructor(text, container) {\n super(NODE_TYPE_COMMENT, '#comment', container);\n this._text = (process.env.NODE_ENV !== 'production') ? text : '';\n }\n toJSON(opts = {}) {\n // 暂时不传递 text 到 view 层,没啥意义,节省点数据量\n return opts.attr\n ? {}\n : {\n i: this.nodeId,\n };\n // return opts.attr\n // ? { t: this._text as string }\n // : {\n // i: this.nodeId!,\n // t: this._text as string,\n // }\n }\n}\n\nclass UniElement extends UniBaseNode {\n constructor(nodeName, container) {\n super(NODE_TYPE_ELEMENT, nodeName.toUpperCase(), container);\n this.tagName = this.nodeName;\n }\n}\nclass UniInputElement extends UniElement {\n get value() {\n return this.getAttribute('value');\n }\n set value(val) {\n this.setAttribute('value', val);\n }\n}\nclass UniTextAreaElement extends UniInputElement {\n}\n\nclass UniTextNode extends UniBaseNode {\n constructor(text, container) {\n super(NODE_TYPE_TEXT, '#text', container);\n this._text = text;\n }\n get nodeValue() {\n return this._text || '';\n }\n set nodeValue(text) {\n this._text = text;\n if (this.pageNode && !this.pageNode.isUnmounted) {\n this.pageNode.onNodeValue(this, text);\n }\n }\n}\n\nconst forcePatchProps = {\n AD: ['data'],\n 'AD-DRAW': ['data'],\n 'LIVE-PLAYER': ['picture-in-picture-mode'],\n MAP: [\n 'markers',\n 'polyline',\n 'circles',\n 'controls',\n 'include-points',\n 'polygons',\n ],\n PICKER: ['range', 'value'],\n 'PICKER-VIEW': ['value'],\n 'RICH-TEXT': ['nodes'],\n VIDEO: ['danmu-list', 'header'],\n 'WEB-VIEW': ['webview-styles'],\n};\nconst forcePatchPropKeys = ['animation'];\n\nconst forcePatchProp = (el, key) => {\n if (forcePatchPropKeys.indexOf(key) > -1) {\n return true;\n }\n const keys = forcePatchProps[el.nodeName];\n if (keys && keys.indexOf(key) > -1) {\n return true;\n }\n return false;\n};\n\nconst ACTION_TYPE_PAGE_CREATE = 1;\nconst ACTION_TYPE_PAGE_CREATED = 2;\nconst ACTION_TYPE_CREATE = 3;\nconst ACTION_TYPE_INSERT = 4;\nconst ACTION_TYPE_REMOVE = 5;\nconst ACTION_TYPE_SET_ATTRIBUTE = 6;\nconst ACTION_TYPE_REMOVE_ATTRIBUTE = 7;\nconst ACTION_TYPE_ADD_EVENT = 8;\nconst ACTION_TYPE_REMOVE_EVENT = 9;\nconst ACTION_TYPE_SET_TEXT = 10;\nconst ACTION_TYPE_ADD_WXS_EVENT = 12;\nconst ACTION_TYPE_PAGE_SCROLL = 15;\nconst ACTION_TYPE_EVENT = 20;\n\n/**\n * 需要手动传入 timer,主要是解决 App 平台的定制 timer\n */\nfunction debounce(fn, delay, { clearTimeout, setTimeout }) {\n let timeout;\n const newFn = function () {\n clearTimeout(timeout);\n const timerFn = () => fn.apply(this, arguments);\n timeout = setTimeout(timerFn, delay);\n };\n newFn.cancel = function () {\n clearTimeout(timeout);\n };\n return newFn;\n}\n\nclass EventChannel {\n constructor(id, events) {\n this.id = id;\n this.listener = {};\n this.emitCache = [];\n if (events) {\n Object.keys(events).forEach((name) => {\n this.on(name, events[name]);\n });\n }\n }\n emit(eventName, ...args) {\n const fns = this.listener[eventName];\n if (!fns) {\n return this.emitCache.push({\n eventName,\n args,\n });\n }\n fns.forEach((opt) => {\n opt.fn.apply(opt.fn, args);\n });\n this.listener[eventName] = fns.filter((opt) => opt.type !== 'once');\n }\n on(eventName, fn) {\n this._addListener(eventName, 'on', fn);\n this._clearCache(eventName);\n }\n once(eventName, fn) {\n this._addListener(eventName, 'once', fn);\n this._clearCache(eventName);\n }\n off(eventName, fn) {\n const fns = this.listener[eventName];\n if (!fns) {\n return;\n }\n if (fn) {\n for (let i = 0; i < fns.length;) {\n if (fns[i].fn === fn) {\n fns.splice(i, 1);\n i--;\n }\n i++;\n }\n }\n else {\n delete this.listener[eventName];\n }\n }\n _clearCache(eventName) {\n for (let index = 0; index < this.emitCache.length; index++) {\n const cache = this.emitCache[index];\n const _name = eventName\n ? cache.eventName === eventName\n ? eventName\n : null\n : cache.eventName;\n if (!_name)\n continue;\n const location = this.emit.apply(this, [_name, ...cache.args]);\n if (typeof location === 'number') {\n this.emitCache.pop();\n continue;\n }\n this.emitCache.splice(index, 1);\n index--;\n }\n }\n _addListener(eventName, type, fn) {\n (this.listener[eventName] || (this.listener[eventName] = [])).push({\n fn,\n type,\n });\n }\n}\n\nconst PAGE_HOOKS = [\n ON_INIT,\n ON_LOAD,\n ON_SHOW,\n ON_HIDE,\n ON_UNLOAD,\n ON_BACK_PRESS,\n ON_PAGE_SCROLL,\n ON_TAB_ITEM_TAP,\n ON_REACH_BOTTOM,\n ON_PULL_DOWN_REFRESH,\n ON_SHARE_TIMELINE,\n ON_SHARE_APP_MESSAGE,\n ON_SHARE_CHAT,\n ON_ADD_TO_FAVORITES,\n ON_SAVE_EXIT_STATE,\n ON_NAVIGATION_BAR_BUTTON_TAP,\n ON_NAVIGATION_BAR_SEARCH_INPUT_CLICKED,\n ON_NAVIGATION_BAR_SEARCH_INPUT_CHANGED,\n ON_NAVIGATION_BAR_SEARCH_INPUT_CONFIRMED,\n ON_NAVIGATION_BAR_SEARCH_INPUT_FOCUS_CHANGED,\n];\nfunction isRootImmediateHook(name) {\n const PAGE_SYNC_HOOKS = [ON_LOAD, ON_SHOW];\n return PAGE_SYNC_HOOKS.indexOf(name) > -1;\n}\n// isRootImmediateHookX deprecated\nfunction isRootHook(name) {\n return PAGE_HOOKS.indexOf(name) > -1;\n}\nconst UniLifecycleHooks = [\n ON_SHOW,\n ON_HIDE,\n ON_LAUNCH,\n ON_ERROR,\n ON_THEME_CHANGE,\n ON_PAGE_NOT_FOUND,\n ON_UNHANDLE_REJECTION,\n ON_EXIT,\n ON_INIT,\n ON_LOAD,\n ON_READY,\n ON_UNLOAD,\n ON_RESIZE,\n ON_BACK_PRESS,\n ON_PAGE_SCROLL,\n ON_TAB_ITEM_TAP,\n ON_REACH_BOTTOM,\n ON_PULL_DOWN_REFRESH,\n ON_SHARE_TIMELINE,\n ON_ADD_TO_FAVORITES,\n ON_SHARE_APP_MESSAGE,\n ON_SHARE_CHAT,\n ON_SAVE_EXIT_STATE,\n ON_NAVIGATION_BAR_BUTTON_TAP,\n ON_NAVIGATION_BAR_SEARCH_INPUT_CLICKED,\n ON_NAVIGATION_BAR_SEARCH_INPUT_CHANGED,\n ON_NAVIGATION_BAR_SEARCH_INPUT_CONFIRMED,\n ON_NAVIGATION_BAR_SEARCH_INPUT_FOCUS_CHANGED,\n];\nconst MINI_PROGRAM_PAGE_RUNTIME_HOOKS = /*#__PURE__*/ (() => {\n return {\n onPageScroll: 1,\n onShareAppMessage: 1 << 1,\n onShareTimeline: 1 << 2,\n };\n})();\nfunction isUniLifecycleHook(name, value, checkType = true) {\n // 检查类型\n if (checkType && !isFunction(value)) {\n return false;\n }\n if (UniLifecycleHooks.indexOf(name) > -1) {\n // 已预定义\n return true;\n }\n else if (name.indexOf('on') === 0) {\n // 以 on 开头\n return true;\n }\n return false;\n}\n\nlet vueApp;\nconst createVueAppHooks = [];\n/**\n * 提供 createApp 的回调事件,方便三方插件接收 App 对象,处理挂靠全局 mixin 之类的逻辑\n */\nfunction onCreateVueApp(hook) {\n // TODO 每个 nvue 页面都会触发\n if (vueApp) {\n return hook(vueApp);\n }\n createVueAppHooks.push(hook);\n}\nfunction invokeCreateVueAppHook(app) {\n vueApp = app;\n createVueAppHooks.forEach((hook) => hook(app));\n}\nconst invokeCreateErrorHandler = once((app, createErrorHandler) => {\n // 不再判断开发者是否监听了onError,直接返回 createErrorHandler,内部 errorHandler 会调用开发者自定义的 errorHandler,以及判断开发者是否监听了onError\n return createErrorHandler(app);\n});\n\nconst E = function () {\n // Keep this empty so it's easier to inherit from\n // (via https://github.com/lipsmack from https://github.com/scottcorgan/tiny-emitter/issues/3)\n};\nE.prototype = {\n _id: 1,\n on: function (name, callback, ctx) {\n var e = this.e || (this.e = {});\n (e[name] || (e[name] = [])).push({\n fn: callback,\n ctx: ctx,\n _id: this._id,\n });\n return this._id++;\n },\n once: function (name, callback, ctx) {\n var self = this;\n function listener() {\n self.off(name, listener);\n callback.apply(ctx, arguments);\n }\n listener._ = callback;\n return this.on(name, listener, ctx);\n },\n emit: function (name) {\n var data = [].slice.call(arguments, 1);\n var evtArr = ((this.e || (this.e = {}))[name] || []).slice();\n var i = 0;\n var len = evtArr.length;\n for (i; i < len; i++) {\n evtArr[i].fn.apply(evtArr[i].ctx, data);\n }\n return this;\n },\n off: function (name, event) {\n var e = this.e || (this.e = {});\n var evts = e[name];\n var liveEvents = [];\n if (evts && event) {\n for (var i = evts.length - 1; i >= 0; i--) {\n if (evts[i].fn === event ||\n evts[i].fn._ === event ||\n evts[i]._id === event) {\n evts.splice(i, 1);\n break;\n }\n }\n liveEvents = evts;\n }\n // Remove event from queue to prevent memory leak\n // Suggested by https://github.com/lazd\n // Ref: https://github.com/scottcorgan/tiny-emitter/commit/c6ebfaa9bc973b33d110a84a307742b7cf94c953#commitcomment-5024910\n liveEvents.length ? (e[name] = liveEvents) : delete e[name];\n return this;\n },\n};\nvar E$1 = E;\n\nconst borderStyles = {\n black: 'rgba(0,0,0,0.4)',\n white: 'rgba(255,255,255,0.4)',\n};\nfunction normalizeTabBarStyles(borderStyle) {\n if (borderStyle && borderStyle in borderStyles) {\n return borderStyles[borderStyle];\n }\n return borderStyle;\n}\nfunction normalizeTitleColor(titleColor) {\n return titleColor === 'black' ? '#000000' : '#ffffff';\n}\nfunction resolveStringStyleItem(modeStyle, styleItem, key) {\n if (isString(styleItem) && styleItem.startsWith('@')) {\n const _key = styleItem.replace('@', '');\n let _styleItem = modeStyle[_key] || styleItem;\n switch (key) {\n case 'titleColor':\n _styleItem = normalizeTitleColor(_styleItem);\n break;\n case 'borderStyle':\n _styleItem = normalizeTabBarStyles(_styleItem);\n break;\n }\n return _styleItem;\n }\n return styleItem;\n}\nfunction normalizeStyles(pageStyle, themeConfig = {}, mode = 'light') {\n const modeStyle = themeConfig[mode];\n const styles = {};\n if (typeof modeStyle === 'undefined' || !pageStyle)\n return pageStyle;\n Object.keys(pageStyle).forEach((key) => {\n const styleItem = pageStyle[key]; // Object Array String\n const parseStyleItem = () => {\n if (isPlainObject(styleItem))\n return normalizeStyles(styleItem, themeConfig, mode);\n if (isArray(styleItem))\n return styleItem.map((item) => {\n if (isPlainObject(item))\n return normalizeStyles(item, themeConfig, mode);\n return resolveStringStyleItem(modeStyle, item);\n });\n return resolveStringStyleItem(modeStyle, styleItem, key);\n };\n styles[key] = parseStyleItem();\n });\n return styles;\n}\n\nfunction getEnvLocale() {\n const { env } = process;\n const lang = env.LC_ALL || env.LC_MESSAGES || env.LANG || env.LANGUAGE;\n return (lang && lang.replace(/[.:].*/, '')) || 'en';\n}\n\nconst isStringIntegerKey = (key) => typeof key === 'string' &&\n key !== 'NaN' &&\n key[0] !== '-' &&\n '' + parseInt(key, 10) === key;\nconst isNumberIntegerKey = (key) => typeof key === 'number' &&\n !isNaN(key) &&\n key >= 0 &&\n parseInt(key + '', 10) === key;\n/**\n * 用于替代@vue/shared的isIntegerKey,原始方法在鸿蒙arkts中会引发bug。根本原因是arkts的数组的key是数字而不是字符串。\n * 目前这个方法使用的地方都和数组有关,切记不能挪作他用。\n * @param key\n * @returns\n */\nconst isIntegerKey = (key) => isNumberIntegerKey(key) || isStringIntegerKey(key);\n\nconst GLOBALS_ALLOWED = 'Infinity,undefined,NaN,isFinite,isNaN,parseFloat,parseInt,decodeURI,' +\n 'decodeURIComponent,encodeURI,encodeURIComponent,Math,Number,Date,Array,' +\n 'Object,Boolean,String,RegExp,Map,Set,JSON,Intl,BigInt,console,Error,' +\n 'uni';\nconst isGloballyAllowed = /*#__PURE__*/ makeMap(GLOBALS_ALLOWED);\n\nexport { ACTION_TYPE_ADD_EVENT, ACTION_TYPE_ADD_WXS_EVENT, ACTION_TYPE_CREATE, ACTION_TYPE_EVENT, ACTION_TYPE_INSERT, ACTION_TYPE_PAGE_CREATE, ACTION_TYPE_PAGE_CREATED, ACTION_TYPE_PAGE_SCROLL, ACTION_TYPE_REMOVE, ACTION_TYPE_REMOVE_ATTRIBUTE, ACTION_TYPE_REMOVE_EVENT, ACTION_TYPE_SET_ATTRIBUTE, ACTION_TYPE_SET_TEXT, ATTR_CHANGE_PREFIX, ATTR_CLASS, ATTR_INNER_HTML, ATTR_STYLE, ATTR_TEXT_CONTENT, ATTR_V_OWNER_ID, ATTR_V_RENDERJS, ATTR_V_SHOW, BACKGROUND_COLOR, BUILT_IN_TAGS, BUILT_IN_TAG_NAMES, COMPONENT_NAME_PREFIX, COMPONENT_PREFIX, COMPONENT_SELECTOR_PREFIX, DATA_RE, E$1 as Emitter, EventChannel, EventModifierFlags, I18N_JSON_DELIMITERS, JSON_PROTOCOL, LINEFEED, MINI_PROGRAM_PAGE_RUNTIME_HOOKS, NAVBAR_HEIGHT, NODE_TYPE_COMMENT, NODE_TYPE_ELEMENT, NODE_TYPE_PAGE, NODE_TYPE_TEXT, NVUE_BUILT_IN_TAGS, NVUE_U_BUILT_IN_TAGS, OFF_HOST_THEME_CHANGE, OFF_THEME_CHANGE, ON_ADD_TO_FAVORITES, ON_APP_ENTER_BACKGROUND, ON_APP_ENTER_FOREGROUND, ON_BACK_PRESS, ON_ERROR, ON_EXIT, ON_HIDE, ON_HOST_THEME_CHANGE, ON_INIT, ON_KEYBOARD_HEIGHT_CHANGE, ON_LAST_PAGE_BACK_PRESS, ON_LAUNCH, ON_LOAD, ON_NAVIGATION_BAR_BUTTON_TAP, ON_NAVIGATION_BAR_CHANGE, ON_NAVIGATION_BAR_SEARCH_INPUT_CHANGED, ON_NAVIGATION_BAR_SEARCH_INPUT_CLICKED, ON_NAVIGATION_BAR_SEARCH_INPUT_CONFIRMED, ON_NAVIGATION_BAR_SEARCH_INPUT_FOCUS_CHANGED, ON_PAGE_NOT_FOUND, ON_PAGE_SCROLL, ON_PULL_DOWN_REFRESH, ON_REACH_BOTTOM, ON_REACH_BOTTOM_DISTANCE, ON_READY, ON_RESIZE, ON_SAVE_EXIT_STATE, ON_SHARE_APP_MESSAGE, ON_SHARE_CHAT, ON_SHARE_TIMELINE, ON_SHOW, ON_TAB_ITEM_TAP, ON_THEME_CHANGE, ON_UNHANDLE_REJECTION, ON_UNLOAD, ON_WEB_INVOKE_APP_SERVICE, ON_WXS_INVOKE_CALL_METHOD, PLUS_RE, PRIMARY_COLOR, RENDERJS_MODULES, RESPONSIVE_MIN_WIDTH, SCHEME_RE, SELECTED_COLOR, SLOT_DEFAULT_NAME, TABBAR_HEIGHT, TAGS, UNI_SSR, UNI_SSR_DATA, UNI_SSR_GLOBAL_DATA, UNI_SSR_STORE, UNI_SSR_TITLE, UNI_STORAGE_LOCALE, UNI_UI_CONFLICT_TAGS, UVUE_BUILT_IN_TAGS, UVUE_HARMONY_BUILT_IN_TAGS, UVUE_IOS_BUILT_IN_TAGS, UVUE_WEB_BUILT_IN_CUSTOM_ELEMENTS, UVUE_WEB_BUILT_IN_TAGS, UniBaseNode, UniCommentNode, UniElement, UniEvent, UniInputElement, UniLifecycleHooks, UniNode, UniTextAreaElement, UniTextNode, VIRTUAL_HOST_CLASS, VIRTUAL_HOST_HIDDEN, VIRTUAL_HOST_ID, VIRTUAL_HOST_STYLE, WEB_INVOKE_APPSERVICE, WXS_MODULES, WXS_PROTOCOL, addFont, addLeadingSlash, borderStyles, cache, cacheStringFunction, callOptions, createIsCustomElement, createRpx2Unit, createUniEvent, customizeEvent, debounce, decode, decodedQuery, defaultMiniProgramRpx2Unit, defaultNVueRpx2Unit, defaultRpx2Unit, dynamicSlotName, forcePatchProp, formatDateTime, formatLog, getCustomDataset, getEnvLocale, getGlobal, getLen, getValueByDataPath, initCustomDatasetOnce, invokeArrayFns, invokeCreateErrorHandler, invokeCreateVueAppHook, isAppHarmonyUVueNativeTag, isAppIOSUVueNativeTag, isAppNVueNativeTag, isAppNativeTag, isAppUVueBuiltInEasyComponent, isAppUVueNativeTag, isAppVoidTag, isBuiltInComponent, isComponentInternalInstance, isComponentTag, isGloballyAllowed, isH5CustomElement, isH5NativeTag, isIntegerKey, isMiniProgramNativeTag, isMiniProgramUVueNativeTag, isRootHook, isRootImmediateHook, isUniLifecycleHook, isUniXElement, normalizeClass, normalizeDataset, normalizeEventType, normalizeProps, normalizeStyle, normalizeStyles, normalizeTabBarStyles, normalizeTarget, normalizeTitleColor, onCreateVueApp, once, parseEventName, parseNVueDataset, parseQuery, parseUrl, passive, plusReady, removeLeadingSlash, resolveComponentInstance, resolveOwnerEl, resolveOwnerVm, sanitise, scrollTo, sortObject, stringifyQuery, updateElementStyle };\n","import { isRootHook, getValueByDataPath, isUniLifecycleHook, ON_ERROR, UniLifecycleHooks, invokeCreateErrorHandler, dynamicSlotName } from '@dcloudio/uni-shared';\nimport { NOOP, extend, isSymbol, isObject, def, hasChanged, isFunction, isArray, isPromise, camelize, capitalize, EMPTY_OBJ, remove, toHandlerKey, hasOwn, hyphenate, isReservedProp, toRawType, isString, normalizeClass, normalizeStyle, isOn, toTypeString, isMap, isIntegerKey, isSet, isPlainObject, makeMap, invokeArrayFns, isBuiltInDirective, looseToNumber, NO, EMPTY_ARR, isModelListener, toNumber, toDisplayString } from '@vue/shared';\nexport { EMPTY_OBJ, camelize, normalizeClass, normalizeProps, normalizeStyle, toDisplayString, toHandlerKey } from '@vue/shared';\n\n/**\n* @dcloudio/uni-mp-vue v3.4.21\n* (c) 2018-present Yuxi (Evan) You and Vue contributors\n* @license MIT\n**/\n\nfunction warn$2(msg, ...args) {\n console.warn(`[Vue warn] ${msg}`, ...args);\n}\n\nlet activeEffectScope;\nclass EffectScope {\n constructor(detached = false) {\n this.detached = detached;\n /**\n * @internal\n */\n this._active = true;\n /**\n * @internal\n */\n this.effects = [];\n /**\n * @internal\n */\n this.cleanups = [];\n this.parent = activeEffectScope;\n if (!detached && activeEffectScope) {\n this.index = (activeEffectScope.scopes || (activeEffectScope.scopes = [])).push(\n this\n ) - 1;\n }\n }\n get active() {\n return this._active;\n }\n run(fn) {\n if (this._active) {\n const currentEffectScope = activeEffectScope;\n try {\n activeEffectScope = this;\n return fn();\n } finally {\n activeEffectScope = currentEffectScope;\n }\n } else if (!!(process.env.NODE_ENV !== \"production\")) {\n warn$2(`cannot run an inactive effect scope.`);\n }\n }\n /**\n * This should only be called on non-detached scopes\n * @internal\n */\n on() {\n activeEffectScope = this;\n }\n /**\n * This should only be called on non-detached scopes\n * @internal\n */\n off() {\n activeEffectScope = this.parent;\n }\n stop(fromParent) {\n if (this._active) {\n let i, l;\n for (i = 0, l = this.effects.length; i < l; i++) {\n this.effects[i].stop();\n }\n for (i = 0, l = this.cleanups.length; i < l; i++) {\n this.cleanups[i]();\n }\n if (this.scopes) {\n for (i = 0, l = this.scopes.length; i < l; i++) {\n this.scopes[i].stop(true);\n }\n }\n if (!this.detached && this.parent && !fromParent) {\n const last = this.parent.scopes.pop();\n if (last && last !== this) {\n this.parent.scopes[this.index] = last;\n last.index = this.index;\n }\n }\n this.parent = void 0;\n this._active = false;\n }\n }\n}\nfunction effectScope(detached) {\n return new EffectScope(detached);\n}\nfunction recordEffectScope(effect, scope = activeEffectScope) {\n if (scope && scope.active) {\n scope.effects.push(effect);\n }\n}\nfunction getCurrentScope() {\n return activeEffectScope;\n}\nfunction onScopeDispose(fn) {\n if (activeEffectScope) {\n activeEffectScope.cleanups.push(fn);\n } else if (!!(process.env.NODE_ENV !== \"production\")) {\n warn$2(\n `onScopeDispose() is called when there is no active effect scope to be associated with.`\n );\n }\n}\n\nlet activeEffect;\nclass ReactiveEffect {\n constructor(fn, trigger, scheduler, scope) {\n this.fn = fn;\n this.trigger = trigger;\n this.scheduler = scheduler;\n this.active = true;\n this.deps = [];\n /**\n * @internal\n */\n this._dirtyLevel = 4;\n /**\n * @internal\n */\n this._trackId = 0;\n /**\n * @internal\n */\n this._runnings = 0;\n /**\n * @internal\n */\n this._shouldSchedule = false;\n /**\n * @internal\n */\n this._depsLength = 0;\n recordEffectScope(this, scope);\n }\n get dirty() {\n if (this._dirtyLevel === 2 || this._dirtyLevel === 3) {\n this._dirtyLevel = 1;\n pauseTracking();\n for (let i = 0; i < this._depsLength; i++) {\n const dep = this.deps[i];\n if (dep.computed) {\n triggerComputed(dep.computed);\n if (this._dirtyLevel >= 4) {\n break;\n }\n }\n }\n if (this._dirtyLevel === 1) {\n this._dirtyLevel = 0;\n }\n resetTracking();\n }\n return this._dirtyLevel >= 4;\n }\n set dirty(v) {\n this._dirtyLevel = v ? 4 : 0;\n }\n run() {\n this._dirtyLevel = 0;\n if (!this.active) {\n return this.fn();\n }\n let lastShouldTrack = shouldTrack;\n let lastEffect = activeEffect;\n try {\n shouldTrack = true;\n activeEffect = this;\n this._runnings++;\n preCleanupEffect(this);\n return this.fn();\n } finally {\n postCleanupEffect(this);\n this._runnings--;\n activeEffect = lastEffect;\n shouldTrack = lastShouldTrack;\n }\n }\n stop() {\n var _a;\n if (this.active) {\n preCleanupEffect(this);\n postCleanupEffect(this);\n (_a = this.onStop) == null ? void 0 : _a.call(this);\n this.active = false;\n }\n }\n}\nfunction triggerComputed(computed) {\n return computed.value;\n}\nfunction preCleanupEffect(effect2) {\n effect2._trackId++;\n effect2._depsLength = 0;\n}\nfunction postCleanupEffect(effect2) {\n if (effect2.deps.length > effect2._depsLength) {\n for (let i = effect2._depsLength; i < effect2.deps.length; i++) {\n cleanupDepEffect(effect2.deps[i], effect2);\n }\n effect2.deps.length = effect2._depsLength;\n }\n}\nfunction cleanupDepEffect(dep, effect2) {\n const trackId = dep.get(effect2);\n if (trackId !== void 0 && effect2._trackId !== trackId) {\n dep.delete(effect2);\n if (dep.size === 0) {\n dep.cleanup();\n }\n }\n}\nfunction effect(fn, options) {\n if (fn.effect instanceof ReactiveEffect) {\n fn = fn.effect.fn;\n }\n const _effect = new ReactiveEffect(fn, NOOP, () => {\n if (_effect.dirty) {\n _effect.run();\n }\n });\n if (options) {\n extend(_effect, options);\n if (options.scope)\n recordEffectScope(_effect, options.scope);\n }\n if (!options || !options.lazy) {\n _effect.run();\n }\n const runner = _effect.run.bind(_effect);\n runner.effect = _effect;\n return runner;\n}\nfunction stop(runner) {\n runner.effect.stop();\n}\nlet shouldTrack = true;\nlet pauseScheduleStack = 0;\nconst trackStack = [];\nfunction pauseTracking() {\n trackStack.push(shouldTrack);\n shouldTrack = false;\n}\nfunction resetTracking() {\n const last = trackStack.pop();\n shouldTrack = last === void 0 ? true : last;\n}\nfunction pauseScheduling() {\n pauseScheduleStack++;\n}\nfunction resetScheduling() {\n pauseScheduleStack--;\n while (!pauseScheduleStack && queueEffectSchedulers.length) {\n queueEffectSchedulers.shift()();\n }\n}\nfunction trackEffect(effect2, dep, debuggerEventExtraInfo) {\n var _a;\n if (dep.get(effect2) !== effect2._trackId) {\n dep.set(effect2, effect2._trackId);\n const oldDep = effect2.deps[effect2._depsLength];\n if (oldDep !== dep) {\n if (oldDep) {\n cleanupDepEffect(oldDep, effect2);\n }\n effect2.deps[effect2._depsLength++] = dep;\n } else {\n effect2._depsLength++;\n }\n if (!!(process.env.NODE_ENV !== \"production\")) {\n (_a = effect2.onTrack) == null ? void 0 : _a.call(effect2, extend({ effect: effect2 }, debuggerEventExtraInfo));\n }\n }\n}\nconst queueEffectSchedulers = [];\nfunction triggerEffects(dep, dirtyLevel, debuggerEventExtraInfo) {\n var _a;\n pauseScheduling();\n for (const effect2 of dep.keys()) {\n let tracking;\n if (effect2._dirtyLevel < dirtyLevel && (tracking != null ? tracking : tracking = dep.get(effect2) === effect2._trackId)) {\n effect2._shouldSchedule || (effect2._shouldSchedule = effect2._dirtyLevel === 0);\n effect2._dirtyLevel = dirtyLevel;\n }\n if (effect2._shouldSchedule && (tracking != null ? tracking : tracking = dep.get(effect2) === effect2._trackId)) {\n if (!!(process.env.NODE_ENV !== \"production\")) {\n (_a = effect2.onTrigger) == null ? void 0 : _a.call(effect2, extend({ effect: effect2 }, debuggerEventExtraInfo));\n }\n effect2.trigger();\n if ((!effect2._runnings || effect2.allowRecurse) && effect2._dirtyLevel !== 2) {\n effect2._shouldSchedule = false;\n if (effect2.scheduler) {\n queueEffectSchedulers.push(effect2.scheduler);\n }\n }\n }\n }\n resetScheduling();\n}\n\nconst createDep = (cleanup, computed) => {\n const dep = /* @__PURE__ */ new Map();\n dep.cleanup = cleanup;\n dep.computed = computed;\n return dep;\n};\n\nconst targetMap = /* @__PURE__ */ new WeakMap();\nconst ITERATE_KEY = Symbol(!!(process.env.NODE_ENV !== \"production\") ? \"iterate\" : \"\");\nconst MAP_KEY_ITERATE_KEY = Symbol(!!(process.env.NODE_ENV !== \"production\") ? \"Map key iterate\" : \"\");\nfunction track(target, type, key) {\n if (shouldTrack && activeEffect) {\n let depsMap = targetMap.get(target);\n if (!depsMap) {\n targetMap.set(target, depsMap = /* @__PURE__ */ new Map());\n }\n let dep = depsMap.get(key);\n if (!dep) {\n depsMap.set(key, dep = createDep(() => depsMap.delete(key)));\n }\n trackEffect(\n activeEffect,\n dep,\n !!(process.env.NODE_ENV !== \"production\") ? {\n target,\n type,\n key\n } : void 0\n );\n }\n}\nfunction trigger(target, type, key, newValue, oldValue, oldTarget) {\n const depsMap = targetMap.get(target);\n if (!depsMap) {\n return;\n }\n let deps = [];\n if (type === \"clear\") {\n deps = [...depsMap.values()];\n } else if (key === \"length\" && isArray(target)) {\n const newLength = Number(newValue);\n depsMap.forEach((dep, key2) => {\n if (key2 === \"length\" || !isSymbol(key2) && key2 >= newLength) {\n deps.push(dep);\n }\n });\n } else {\n if (key !== void 0) {\n deps.push(depsMap.get(key));\n }\n switch (type) {\n case \"add\":\n if (!isArray(target)) {\n deps.push(depsMap.get(ITERATE_KEY));\n if (isMap(target)) {\n deps.push(depsMap.get(MAP_KEY_ITERATE_KEY));\n }\n } else if (isIntegerKey(key)) {\n deps.push(depsMap.get(\"length\"));\n }\n break;\n case \"delete\":\n if (!isArray(target)) {\n deps.push(depsMap.get(ITERATE_KEY));\n if (isMap(target)) {\n deps.push(depsMap.get(MAP_KEY_ITERATE_KEY));\n }\n }\n break;\n case \"set\":\n if (isMap(target)) {\n deps.push(depsMap.get(ITERATE_KEY));\n }\n break;\n }\n }\n pauseScheduling();\n for (const dep of deps) {\n if (dep) {\n triggerEffects(\n dep,\n 4,\n !!(process.env.NODE_ENV !== \"production\") ? {\n target,\n type,\n key,\n newValue,\n oldValue,\n oldTarget\n } : void 0\n );\n }\n }\n resetScheduling();\n}\nfunction getDepFromReactive(object, key) {\n var _a;\n return (_a = targetMap.get(object)) == null ? void 0 : _a.get(key);\n}\n\nconst isNonTrackableKeys = /* @__PURE__ */ makeMap(`__proto__,__v_isRef,__isVue`);\nconst builtInSymbols = new Set(\n /* @__PURE__ */ Object.getOwnPropertyNames(Symbol).filter((key) => key !== \"arguments\" && key !== \"caller\").map((key) => Symbol[key]).filter(isSymbol)\n);\nconst arrayInstrumentations = /* @__PURE__ */ createArrayInstrumentations();\nfunction createArrayInstrumentations() {\n const instrumentations = {};\n [\"includes\", \"indexOf\", \"lastIndexOf\"].forEach((key) => {\n instrumentations[key] = function(...args) {\n const arr = toRaw(this);\n for (let i = 0, l = this.length; i < l; i++) {\n track(arr, \"get\", i + \"\");\n }\n const res = arr[key](...args);\n if (res === -1 || res === false) {\n return arr[key](...args.map(toRaw));\n } else {\n return res;\n }\n };\n });\n [\"push\", \"pop\", \"shift\", \"unshift\", \"splice\"].forEach((key) => {\n instrumentations[key] = function(...args) {\n pauseTracking();\n pauseScheduling();\n const res = toRaw(this)[key].apply(this, args);\n resetScheduling();\n resetTracking();\n return res;\n };\n });\n return instrumentations;\n}\nfunction hasOwnProperty(key) {\n const obj = toRaw(this);\n track(obj, \"has\", key);\n return obj.hasOwnProperty(key);\n}\nclass BaseReactiveHandler {\n constructor(_isReadonly = false, _isShallow = false) {\n this._isReadonly = _isReadonly;\n this._isShallow = _isShallow;\n }\n get(target, key, receiver) {\n const isReadonly2 = this._isReadonly, isShallow2 = this._isShallow;\n if (key === \"__v_isReactive\") {\n return !isReadonly2;\n } else if (key === \"__v_isReadonly\") {\n return isReadonly2;\n } else if (key === \"__v_isShallow\") {\n return isShallow2;\n } else if (key === \"__v_raw\") {\n if (receiver === (isReadonly2 ? isShallow2 ? shallowReadonlyMap : readonlyMap : isShallow2 ? shallowReactiveMap : reactiveMap).get(target) || // receiver is not the reactive proxy, but has the same prototype\n // this means the reciever is a user proxy of the reactive proxy\n Object.getPrototypeOf(target) === Object.getPrototypeOf(receiver)) {\n return target;\n }\n return;\n }\n const targetIsArray = isArray(target);\n if (!isReadonly2) {\n if (targetIsArray && hasOwn(arrayInstrumentations, key)) {\n return Reflect.get(arrayInstrumentations, key, receiver);\n }\n if (key === \"hasOwnProperty\") {\n return hasOwnProperty;\n }\n }\n const res = Reflect.get(target, key, receiver);\n if (isSymbol(key) ? builtInSymbols.has(key) : isNonTrackableKeys(key)) {\n return res;\n }\n if (!isReadonly2) {\n track(target, \"get\", key);\n }\n if (isShallow2) {\n return res;\n }\n if (isRef(res)) {\n return targetIsArray && isIntegerKey(key) ? res : res.value;\n }\n if (isObject(res)) {\n return isReadonly2 ? readonly(res) : reactive(res);\n }\n return res;\n }\n}\nclass MutableReactiveHandler extends BaseReactiveHandler {\n constructor(isShallow2 = false) {\n super(false, isShallow2);\n }\n set(target, key, value, receiver) {\n let oldValue = target[key];\n if (!this._isShallow) {\n const isOldValueReadonly = isReadonly(oldValue);\n if (!isShallow(value) && !isReadonly(value)) {\n oldValue = toRaw(oldValue);\n value = toRaw(value);\n }\n if (!isArray(target) && isRef(oldValue) && !isRef(value)) {\n if (isOldValueReadonly) {\n return false;\n } else {\n oldValue.value = value;\n return true;\n }\n }\n }\n const hadKey = isArray(target) && isIntegerKey(key) ? Number(key) < target.length : hasOwn(target, key);\n const result = Reflect.set(target, key, value, receiver);\n if (target === toRaw(receiver)) {\n if (!hadKey) {\n trigger(target, \"add\", key, value);\n } else if (hasChanged(value, oldValue)) {\n trigger(target, \"set\", key, value, oldValue);\n }\n }\n return result;\n }\n deleteProperty(target, key) {\n const hadKey = hasOwn(target, key);\n const oldValue = target[key];\n const result = Reflect.deleteProperty(target, key);\n if (result && hadKey) {\n trigger(target, \"delete\", key, void 0, oldValue);\n }\n return result;\n }\n has(target, key) {\n const result = Reflect.has(target, key);\n if (!isSymbol(key) || !builtInSymbols.has(key)) {\n track(target, \"has\", key);\n }\n return result;\n }\n ownKeys(target) {\n track(\n target,\n \"iterate\",\n isArray(target) ? \"length\" : ITERATE_KEY\n );\n return Reflect.ownKeys(target);\n }\n}\nclass ReadonlyReactiveHandler extends BaseReactiveHandler {\n constructor(isShallow2 = false) {\n super(true, isShallow2);\n }\n set(target, key) {\n if (!!(process.env.NODE_ENV !== \"production\")) {\n warn$2(\n `Set operation on key \"${String(key)}\" failed: target is readonly.`,\n target\n );\n }\n return true;\n }\n deleteProperty(target, key) {\n if (!!(process.env.NODE_ENV !== \"production\")) {\n warn$2(\n `Delete operation on key \"${String(key)}\" failed: target is readonly.`,\n target\n );\n }\n return true;\n }\n}\nconst mutableHandlers = /* @__PURE__ */ new MutableReactiveHandler();\nconst readonlyHandlers = /* @__PURE__ */ new ReadonlyReactiveHandler();\nconst shallowReactiveHandlers = /* @__PURE__ */ new MutableReactiveHandler(\n true\n);\nconst shallowReadonlyHandlers = /* @__PURE__ */ new ReadonlyReactiveHandler(true);\n\nconst toShallow = (value) => value;\nconst getProto = (v) => Reflect.getPrototypeOf(v);\nfunction get(target, key, isReadonly = false, isShallow = false) {\n target = target[\"__v_raw\"];\n const rawTarget = toRaw(target);\n const rawKey = toRaw(key);\n if (!isReadonly) {\n if (hasChanged(key, rawKey)) {\n track(rawTarget, \"get\", key);\n }\n track(rawTarget, \"get\", rawKey);\n }\n const { has: has2 } = getProto(rawTarget);\n const wrap = isShallow ? toShallow : isReadonly ? toReadonly : toReactive;\n if (has2.call(rawTarget, key)) {\n return wrap(target.get(key));\n } else if (has2.call(rawTarget, rawKey)) {\n return wrap(target.get(rawKey));\n } else if (target !== rawTarget) {\n target.get(key);\n }\n}\nfunction has(key, isReadonly = false) {\n const target = this[\"__v_raw\"];\n const rawTarget = toRaw(target);\n const rawKey = toRaw(key);\n if (!isReadonly) {\n if (hasChanged(key, rawKey)) {\n track(rawTarget, \"has\", key);\n }\n track(rawTarget, \"has\", rawKey);\n }\n return key === rawKey ? target.has(key) : target.has(key) || target.has(rawKey);\n}\nfunction size(target, isReadonly = false) {\n target = target[\"__v_raw\"];\n !isReadonly && track(toRaw(target), \"iterate\", ITERATE_KEY);\n return Reflect.get(target, \"size\", target);\n}\nfunction add(value) {\n value = toRaw(value);\n const target = toRaw(this);\n const proto = getProto(target);\n const hadKey = proto.has.call(target, value);\n if (!hadKey) {\n target.add(value);\n trigger(target, \"add\", value, value);\n }\n return this;\n}\nfunction set$1(key, value) {\n value = toRaw(value);\n const target = toRaw(this);\n const { has: has2, get: get2 } = getProto(target);\n let hadKey = has2.call(target, key);\n if (!hadKey) {\n key = toRaw(key);\n hadKey = has2.call(target, key);\n } else if (!!(process.env.NODE_ENV !== \"production\")) {\n checkIdentityKeys(target, has2, key);\n }\n const oldValue = get2.call(target, key);\n target.set(key, value);\n if (!hadKey) {\n trigger(target, \"add\", key, value);\n } else if (hasChanged(value, oldValue)) {\n trigger(target, \"set\", key, value, oldValue);\n }\n return this;\n}\nfunction deleteEntry(key) {\n const target = toRaw(this);\n const { has: has2, get: get2 } = getProto(target);\n let hadKey = has2.call(target, key);\n if (!hadKey) {\n key = toRaw(key);\n hadKey = has2.call(target, key);\n } else if (!!(process.env.NODE_ENV !== \"production\")) {\n checkIdentityKeys(target, has2, key);\n }\n const oldValue = get2 ? get2.call(target, key) : void 0;\n const result = target.delete(key);\n if (hadKey) {\n trigger(target, \"delete\", key, void 0, oldValue);\n }\n return result;\n}\nfunction clear() {\n const target = toRaw(this);\n const hadItems = target.size !== 0;\n const oldTarget = !!(process.env.NODE_ENV !== \"production\") ? isMap(target) ? new Map(target) : new Set(target) : void 0;\n const result = target.clear();\n if (hadItems) {\n trigger(target, \"clear\", void 0, void 0, oldTarget);\n }\n return result;\n}\nfunction createForEach(isReadonly, isShallow) {\n return function forEach(callback, thisArg) {\n const observed = this;\n const target = observed[\"__v_raw\"];\n const rawTarget = toRaw(target);\n const wrap = isShallow ? toShallow : isReadonly ? toReadonly : toReactive;\n !isReadonly && track(rawTarget, \"iterate\", ITERATE_KEY);\n return target.forEach((value, key) => {\n return callback.call(thisArg, wrap(value), wrap(key), observed);\n });\n };\n}\nfunction createIterableMethod(method, isReadonly, isShallow) {\n return function(...args) {\n const target = this[\"__v_raw\"];\n const rawTarget = toRaw(target);\n const targetIsMap = isMap(rawTarget);\n const isPair = method === \"entries\" || method === Symbol.iterator && targetIsMap;\n const isKeyOnly = method === \"keys\" && targetIsMap;\n const innerIterator = target[method](...args);\n const wrap = isShallow ? toShallow : isReadonly ? toReadonly : toReactive;\n !isReadonly && track(\n rawTarget,\n \"iterate\",\n isKeyOnly ? MAP_KEY_ITERATE_KEY : ITERATE_KEY\n );\n return {\n // iterator protocol\n next() {\n const { value, done } = innerIterator.next();\n return done ? { value, done } : {\n value: isPair ? [wrap(value[0]), wrap(value[1])] : wrap(value),\n done\n };\n },\n // iterable protocol\n [Symbol.iterator]() {\n return this;\n }\n };\n };\n}\nfunction createReadonlyMethod(type) {\n return function(...args) {\n if (!!(process.env.NODE_ENV !== \"production\")) {\n const key = args[0] ? `on key \"${args[0]}\" ` : ``;\n warn$2(\n `${capitalize(type)} operation ${key}failed: target is readonly.`,\n toRaw(this)\n );\n }\n return type === \"delete\" ? false : type === \"clear\" ? void 0 : this;\n };\n}\nfunction createInstrumentations() {\n const mutableInstrumentations2 = {\n get(key) {\n return get(this, key);\n },\n get size() {\n return size(this);\n },\n has,\n add,\n set: set$1,\n delete: deleteEntry,\n clear,\n forEach: createForEach(false, false)\n };\n const shallowInstrumentations2 = {\n get(key) {\n return get(this, key, false, true);\n },\n get size() {\n return size(this);\n },\n has,\n add,\n set: set$1,\n delete: deleteEntry,\n clear,\n forEach: createForEach(false, true)\n };\n const readonlyInstrumentations2 = {\n get(key) {\n return get(this, key, true);\n },\n get size() {\n return size(this, true);\n },\n has(key) {\n return has.call(this, key, true);\n },\n add: createReadonlyMethod(\"add\"),\n set: createReadonlyMethod(\"set\"),\n delete: createReadonlyMethod(\"delete\"),\n clear: createReadonlyMethod(\"clear\"),\n forEach: createForEach(true, false)\n };\n const shallowReadonlyInstrumentations2 = {\n get(key) {\n return get(this, key, true, true);\n },\n get size() {\n return size(this, true);\n },\n has(key) {\n return has.call(this, key, true);\n },\n add: createReadonlyMethod(\"add\"),\n set: createReadonlyMethod(\"set\"),\n delete: createReadonlyMethod(\"delete\"),\n clear: createReadonlyMethod(\"clear\"),\n forEach: createForEach(true, true)\n };\n const iteratorMethods = [\n \"keys\",\n \"values\",\n \"entries\",\n Symbol.iterator\n ];\n iteratorMethods.forEach((method) => {\n mutableInstrumentations2[method] = createIterableMethod(method, false, false);\n readonlyInstrumentations2[method] = createIterableMethod(method, true, false);\n shallowInstrumentations2[method] = createIterableMethod(method, false, true);\n shallowReadonlyInstrumentations2[method] = createIterableMethod(\n method,\n true,\n true\n );\n });\n return [\n mutableInstrumentations2,\n readonlyInstrumentations2,\n shallowInstrumentations2,\n shallowReadonlyInstrumentations2\n ];\n}\nconst [\n mutableInstrumentations,\n readonlyInstrumentations,\n shallowInstrumentations,\n shallowReadonlyInstrumentations\n] = /* @__PURE__ */ createInstrumentations();\nfunction createInstrumentationGetter(isReadonly, shallow) {\n const instrumentations = shallow ? isReadonly ? shallowReadonlyInstrumentations : shallowInstrumentations : isReadonly ? readonlyInstrumentations : mutableInstrumentations;\n return (target, key, receiver) => {\n if (key === \"__v_isReactive\") {\n return !isReadonly;\n } else if (key === \"__v_isReadonly\") {\n return isReadonly;\n } else if (key === \"__v_raw\") {\n return target;\n }\n return Reflect.get(\n hasOwn(instrumentations, key) && key in target ? instrumentations : target,\n key,\n receiver\n );\n };\n}\nconst mutableCollectionHandlers = {\n get: /* @__PURE__ */ createInstrumentationGetter(false, false)\n};\nconst shallowCollectionHandlers = {\n get: /* @__PURE__ */ createInstrumentationGetter(false, true)\n};\nconst readonlyCollectionHandlers = {\n get: /* @__PURE__ */ createInstrumentationGetter(true, false)\n};\nconst shallowReadonlyCollectionHandlers = {\n get: /* @__PURE__ */ createInstrumentationGetter(true, true)\n};\nfunction checkIdentityKeys(target, has2, key) {\n const rawKey = toRaw(key);\n if (rawKey !== key && has2.call(target, rawKey)) {\n const type = toRawType(target);\n warn$2(\n `Reactive ${type} contains both the raw and reactive versions of the same object${type === `Map` ? ` as keys` : ``}, which can lead to inconsistencies. Avoid differentiating between the raw and reactive versions of an object and only use the reactive version if possible.`\n );\n }\n}\n\nconst reactiveMap = /* @__PURE__ */ new WeakMap();\nconst shallowReactiveMap = /* @__PURE__ */ new WeakMap();\nconst readonlyMap = /* @__PURE__ */ new WeakMap();\nconst shallowReadonlyMap = /* @__PURE__ */ new WeakMap();\nfunction targetTypeMap(rawType) {\n switch (rawType) {\n case \"Object\":\n case \"Array\":\n return 1 /* COMMON */;\n case \"Map\":\n case \"Set\":\n case \"WeakMap\":\n case \"WeakSet\":\n return 2 /* COLLECTION */;\n default:\n return 0 /* INVALID */;\n }\n}\nfunction getTargetType(value) {\n return value[\"__v_skip\"] || !Object.isExtensible(value) ? 0 /* INVALID */ : targetTypeMap(toRawType(value));\n}\nfunction reactive(target) {\n if (isReadonly(target)) {\n return target;\n }\n return createReactiveObject(\n target,\n false,\n mutableHandlers,\n mutableCollectionHandlers,\n reactiveMap\n );\n}\nfunction shallowReactive(target) {\n return createReactiveObject(\n target,\n false,\n shallowReactiveHandlers,\n shallowCollectionHandlers,\n shallowReactiveMap\n );\n}\nfunction readonly(target) {\n return createReactiveObject(\n target,\n true,\n readonlyHandlers,\n readonlyCollectionHandlers,\n readonlyMap\n );\n}\nfunction shallowReadonly(target) {\n return createReactiveObject(\n target,\n true,\n shallowReadonlyHandlers,\n shallowReadonlyCollectionHandlers,\n shallowReadonlyMap\n );\n}\nfunction createReactiveObject(target, isReadonly2, baseHandlers, collectionHandlers, proxyMap) {\n if (!isObject(target)) {\n if (!!(process.env.NODE_ENV !== \"production\")) {\n warn$2(`value cannot be made reactive: ${String(target)}`);\n }\n return target;\n }\n if (target[\"__v_raw\"] && !(isReadonly2 && target[\"__v_isReactive\"])) {\n return target;\n }\n const existingProxy = proxyMap.get(target);\n if (existingProxy) {\n return existingProxy;\n }\n const targetType = getTargetType(target);\n if (targetType === 0 /* INVALID */) {\n return target;\n }\n const proxy = new Proxy(\n target,\n targetType === 2 /* COLLECTION */ ? collectionHandlers : baseHandlers\n );\n proxyMap.set(target, proxy);\n return proxy;\n}\nfunction isReactive(value) {\n if (isReadonly(value)) {\n return isReactive(value[\"__v_raw\"]);\n }\n return !!(value && value[\"__v_isReactive\"]);\n}\nfunction isReadonly(value) {\n return !!(value && value[\"__v_isReadonly\"]);\n}\nfunction isShallow(value) {\n return !!(value && value[\"__v_isShallow\"]);\n}\nfunction isProxy(value) {\n return isReactive(value) || isReadonly(value);\n}\nfunction toRaw(observed) {\n const raw = observed && observed[\"__v_raw\"];\n return raw ? toRaw(raw) : observed;\n}\nfunction markRaw(value) {\n if (Object.isExtensible(value)) {\n def(value, \"__v_skip\", true);\n }\n return value;\n}\nconst toReactive = (value) => isObject(value) ? reactive(value) : value;\nconst toReadonly = (value) => isObject(value) ? readonly(value) : value;\n\nconst COMPUTED_SIDE_EFFECT_WARN = `Computed is still dirty after getter evaluation, likely because a computed is mutating its own dependency in its getter. State mutations in computed getters should be avoided. Check the docs for more details: https://vuejs.org/guide/essentials/computed.html#getters-should-be-side-effect-free`;\nclass ComputedRefImpl {\n constructor(getter, _setter, isReadonly, isSSR) {\n this.getter = getter;\n this._setter = _setter;\n this.dep = void 0;\n this.__v_isRef = true;\n this[\"__v_isReadonly\"] = false;\n this.effect = new ReactiveEffect(\n () => getter(this._value),\n () => triggerRefValue(\n this,\n this.effect._dirtyLevel === 2 ? 2 : 3\n )\n );\n this.effect.computed = this;\n this.effect.active = this._cacheable = !isSSR;\n this[\"__v_isReadonly\"] = isReadonly;\n }\n get value() {\n const self = toRaw(this);\n if ((!self._cacheable || self.effect.dirty) && hasChanged(self._value, self._value = self.effect.run())) {\n triggerRefValue(self, 4);\n }\n trackRefValue(self);\n if (self.effect._dirtyLevel >= 2) {\n if (!!(process.env.NODE_ENV !== \"production\") && this._warnRecursive) {\n warn$2(COMPUTED_SIDE_EFFECT_WARN, `\n\ngetter: `, this.getter);\n }\n triggerRefValue(self, 2);\n }\n return self._value;\n }\n set value(newValue) {\n this._setter(newValue);\n }\n // #region polyfill _dirty for backward compatibility third party code for Vue <= 3.3.x\n get _dirty() {\n return this.effect.dirty;\n }\n set _dirty(v) {\n this.effect.dirty = v;\n }\n // #endregion\n}\nfunction computed$1(getterOrOptions, debugOptions, isSSR = false) {\n let getter;\n let setter;\n const onlyGetter = isFunction(getterOrOptions);\n if (onlyGetter) {\n getter = getterOrOptions;\n setter = !!(process.env.NODE_ENV !== \"production\") ? () => {\n warn$2(\"Write operation failed: computed value is readonly\");\n } : NOOP;\n } else {\n getter = getterOrOptions.get;\n setter = getterOrOptions.set;\n }\n const cRef = new ComputedRefImpl(getter, setter, onlyGetter || !setter, isSSR);\n if (!!(process.env.NODE_ENV !== \"production\") && debugOptions && !isSSR) {\n cRef.effect.onTrack = debugOptions.onTrack;\n cRef.effect.onTrigger = debugOptions.onTrigger;\n }\n return cRef;\n}\n\nfunction trackRefValue(ref2) {\n var _a;\n if (shouldTrack && activeEffect) {\n ref2 = toRaw(ref2);\n trackEffect(\n activeEffect,\n (_a = ref2.dep) != null ? _a : ref2.dep = createDep(\n () => ref2.dep = void 0,\n ref2 instanceof ComputedRefImpl ? ref2 : void 0\n ),\n !!(process.env.NODE_ENV !== \"production\") ? {\n target: ref2,\n type: \"get\",\n key: \"value\"\n } : void 0\n );\n }\n}\nfunction triggerRefValue(ref2, dirtyLevel = 4, newVal) {\n ref2 = toRaw(ref2);\n const dep = ref2.dep;\n if (dep) {\n triggerEffects(\n dep,\n dirtyLevel,\n !!(process.env.NODE_ENV !== \"production\") ? {\n target: ref2,\n type: \"set\",\n key: \"value\",\n newValue: newVal\n } : void 0\n );\n }\n}\nfunction isRef(r) {\n return !!(r && r.__v_isRef === true);\n}\nfunction ref(value) {\n return createRef(value, false);\n}\nfunction shallowRef(value) {\n return createRef(value, true);\n}\nfunction createRef(rawValue, shallow) {\n if (isRef(rawValue)) {\n return rawValue;\n }\n return new RefImpl(rawValue, shallow);\n}\nclass RefImpl {\n constructor(value, __v_isShallow) {\n this.__v_isShallow = __v_isShallow;\n this.dep = void 0;\n this.__v_isRef = true;\n this._rawValue = __v_isShallow ? value : toRaw(value);\n this._value = __v_isShallow ? value : toReactive(value);\n }\n get value() {\n trackRefValue(this);\n return this._value;\n }\n set value(newVal) {\n const useDirectValue = this.__v_isShallow || isShallow(newVal) || isReadonly(newVal);\n newVal = useDirectValue ? newVal : toRaw(newVal);\n if (hasChanged(newVal, this._rawValue)) {\n this._rawValue = newVal;\n this._value = useDirectValue ? newVal : toReactive(newVal);\n triggerRefValue(this, 4, newVal);\n }\n }\n}\nfunction triggerRef(ref2) {\n triggerRefValue(ref2, 4, !!(process.env.NODE_ENV !== \"production\") ? ref2.value : void 0);\n}\nfunction unref(ref2) {\n return isRef(ref2) ? ref2.value : ref2;\n}\nfunction toValue(source) {\n return isFunction(source) ? source() : unref(source);\n}\nconst shallowUnwrapHandlers = {\n get: (target, key, receiver) => unref(Reflect.get(target, key, receiver)),\n set: (target, key, value, receiver) => {\n const oldValue = target[key];\n if (isRef(oldValue) && !isRef(value)) {\n oldValue.value = value;\n return true;\n } else {\n return Reflect.set(target, key, value, receiver);\n }\n }\n};\nfunction proxyRefs(objectWithRefs) {\n return isReactive(objectWithRefs) ? objectWithRefs : new Proxy(objectWithRefs, shallowUnwrapHandlers);\n}\nclass CustomRefImpl {\n constructor(factory) {\n this.dep = void 0;\n this.__v_isRef = true;\n const { get, set } = factory(\n () => trackRefValue(this),\n () => triggerRefValue(this)\n );\n this._get = get;\n this._set = set;\n }\n get value() {\n return this._get();\n }\n set value(newVal) {\n this._set(newVal);\n }\n}\nfunction customRef(factory) {\n return new CustomRefImpl(factory);\n}\nfunction toRefs(object) {\n if (!!(process.env.NODE_ENV !== \"production\") && !isProxy(object)) {\n warn$2(`toRefs() expects a reactive object but received a plain one.`);\n }\n const ret = isArray(object) ? new Array(object.length) : {};\n for (const key in object) {\n ret[key] = propertyToRef(object, key);\n }\n return ret;\n}\nclass ObjectRefImpl {\n constructor(_object, _key, _defaultValue) {\n this._object = _object;\n this._key = _key;\n this._defaultValue = _defaultValue;\n this.__v_isRef = true;\n }\n get value() {\n const val = this._object[this._key];\n return val === void 0 ? this._defaultValue : val;\n }\n set value(newVal) {\n this._object[this._key] = newVal;\n }\n get dep() {\n return getDepFromReactive(toRaw(this._object), this._key);\n }\n}\nclass GetterRefImpl {\n constructor(_getter) {\n this._getter = _getter;\n this.__v_isRef = true;\n this.__v_isReadonly = true;\n }\n get value() {\n return this._getter();\n }\n}\nfunction toRef(source, key, defaultValue) {\n if (isRef(source)) {\n return source;\n } else if (isFunction(source)) {\n return new GetterRefImpl(source);\n } else if (isObject(source) && arguments.length > 1) {\n return propertyToRef(source, key, defaultValue);\n } else {\n return ref(source);\n }\n}\nfunction propertyToRef(source, key, defaultValue) {\n const val = source[key];\n return isRef(val) ? val : new ObjectRefImpl(source, key, defaultValue);\n}\n\nconst stack = [];\nfunction pushWarningContext(vnode) {\n stack.push(vnode);\n}\nfunction popWarningContext() {\n stack.pop();\n}\nfunction warn$1(msg, ...args) {\n pauseTracking();\n const instance = stack.length ? stack[stack.length - 1].component : null;\n const appWarnHandler = instance && instance.appContext.config.warnHandler;\n const trace = getComponentTrace();\n if (appWarnHandler) {\n callWithErrorHandling(\n appWarnHandler,\n instance,\n 11,\n [\n msg + args.map((a) => {\n var _a, _b;\n return (_b = (_a = a.toString) == null ? void 0 : _a.call(a)) != null ? _b : JSON.stringify(a);\n }).join(\"\"),\n instance && instance.proxy,\n trace.map(\n ({ vnode }) => `at <${formatComponentName(instance, vnode.type)}>`\n ).join(\"\\n\"),\n trace\n ]\n );\n } else {\n const warnArgs = [`[Vue warn]: ${msg}`, ...args];\n if (trace.length && // avoid spamming console during tests\n true) {\n warnArgs.push(`\n`, ...formatTrace(trace));\n }\n console.warn(...warnArgs);\n }\n resetTracking();\n}\nfunction getComponentTrace() {\n let currentVNode = stack[stack.length - 1];\n if (!currentVNode) {\n return [];\n }\n const normalizedStack = [];\n while (currentVNode) {\n const last = normalizedStack[0];\n if (last && last.vnode === currentVNode) {\n last.recurseCount++;\n } else {\n normalizedStack.push({\n vnode: currentVNode,\n recurseCount: 0\n });\n }\n const parentInstance = currentVNode.component && currentVNode.component.parent;\n currentVNode = parentInstance && parentInstance.vnode;\n }\n return normalizedStack;\n}\nfunction formatTrace(trace) {\n const logs = [];\n trace.forEach((entry, i) => {\n logs.push(...i === 0 ? [] : [`\n`], ...formatTraceEntry(entry));\n });\n return logs;\n}\nfunction formatTraceEntry({ vnode, recurseCount }) {\n const postfix = recurseCount > 0 ? `... (${recurseCount} recursive calls)` : ``;\n const isRoot = vnode.component ? vnode.component.parent == null : false;\n const open = ` at <${formatComponentName(\n vnode.component,\n vnode.type,\n isRoot\n )}`;\n const close = `>` + postfix;\n return vnode.props ? [open, ...formatProps(vnode.props), close] : [open + close];\n}\nfunction formatProps(props) {\n const res = [];\n const keys = Object.keys(props);\n keys.slice(0, 3).forEach((key) => {\n res.push(...formatProp(key, props[key]));\n });\n if (keys.length > 3) {\n res.push(` ...`);\n }\n return res;\n}\nfunction formatProp(key, value, raw) {\n if (isString(value)) {\n value = JSON.stringify(value);\n return raw ? value : [`${key}=${value}`];\n } else if (typeof value === \"number\" || typeof value === \"boolean\" || value == null) {\n return raw ? value : [`${key}=${value}`];\n } else if (isRef(value)) {\n value = formatProp(key, toRaw(value.value), true);\n return raw ? value : [`${key}=Ref<`, value, `>`];\n } else if (isFunction(value)) {\n return [`${key}=fn${value.name ? `<${value.name}>` : ``}`];\n } else {\n value = toRaw(value);\n return raw ? value : [`${key}=`, value];\n }\n}\n\nconst ErrorTypeStrings = {\n [\"sp\"]: \"serverPrefetch hook\",\n [\"bc\"]: \"beforeCreate hook\",\n [\"c\"]: \"created hook\",\n [\"bm\"]: \"beforeMount hook\",\n [\"m\"]: \"mounted hook\",\n [\"bu\"]: \"beforeUpdate hook\",\n [\"u\"]: \"updated\",\n [\"bum\"]: \"beforeUnmount hook\",\n [\"um\"]: \"unmounted hook\",\n [\"a\"]: \"activated hook\",\n [\"da\"]: \"deactivated hook\",\n [\"ec\"]: \"errorCaptured hook\",\n [\"rtc\"]: \"renderTracked hook\",\n [\"rtg\"]: \"renderTriggered hook\",\n [0]: \"setup function\",\n [1]: \"render function\",\n [2]: \"watcher getter\",\n [3]: \"watcher callback\",\n [4]: \"watcher cleanup function\",\n [5]: \"native event handler\",\n [6]: \"component event handler\",\n [7]: \"vnode hook\",\n [8]: \"directive hook\",\n [9]: \"transition hook\",\n [10]: \"app errorHandler\",\n [11]: \"app warnHandler\",\n [12]: \"ref function\",\n [13]: \"async component loader\",\n [14]: \"scheduler flush. This is likely a Vue internals bug. Please open an issue at https://github.com/vuejs/core .\"\n};\nfunction callWithErrorHandling(fn, instance, type, args) {\n try {\n return args ? fn(...args) : fn();\n } catch (err) {\n handleError(err, instance, type);\n }\n}\nfunction callWithAsyncErrorHandling(fn, instance, type, args) {\n if (isFunction(fn)) {\n const res = callWithErrorHandling(fn, instance, type, args);\n if (res && isPromise(res)) {\n res.catch((err) => {\n handleError(err, instance, type);\n });\n }\n return res;\n }\n const values = [];\n for (let i = 0; i < fn.length; i++) {\n values.push(callWithAsyncErrorHandling(fn[i], instance, type, args));\n }\n return values;\n}\nfunction handleError(err, instance, type, throwInDev = true) {\n const contextVNode = instance ? instance.vnode : null;\n if (instance) {\n let cur = instance.parent;\n const exposedInstance = instance.proxy;\n const errorInfo = !!(process.env.NODE_ENV !== \"production\") ? ErrorTypeStrings[type] || type : `https://vuejs.org/error-reference/#runtime-${type}`;\n while (cur) {\n const errorCapturedHooks = cur.ec;\n if (errorCapturedHooks) {\n for (let i = 0; i < errorCapturedHooks.length; i++) {\n if (errorCapturedHooks[i](err, exposedInstance, errorInfo) === false) {\n return;\n }\n }\n }\n cur = cur.parent;\n }\n const appErrorHandler = instance.appContext.config.errorHandler;\n if (appErrorHandler) {\n callWithErrorHandling(\n appErrorHandler,\n null,\n 10,\n [err, exposedInstance, errorInfo]\n );\n return;\n }\n }\n logError(err, type, contextVNode, throwInDev);\n}\nfunction logError(err, type, contextVNode, throwInDev = true) {\n if (!!(process.env.NODE_ENV !== \"production\")) {\n const info = ErrorTypeStrings[type] || type;\n if (contextVNode) {\n pushWarningContext(contextVNode);\n }\n warn$1(`Unhandled error${info ? ` during execution of ${info}` : ``}`);\n if (contextVNode) {\n popWarningContext();\n }\n if (throwInDev) {\n console.error(err);\n } else {\n console.error(err);\n }\n } else {\n console.error(err);\n }\n}\n\nlet isFlushing = false;\nlet isFlushPending = false;\nconst queue = [];\nlet flushIndex = 0;\nconst pendingPostFlushCbs = [];\nlet activePostFlushCbs = null;\nlet postFlushIndex = 0;\nconst resolvedPromise = /* @__PURE__ */ Promise.resolve();\nlet currentFlushPromise = null;\nconst RECURSION_LIMIT = 100;\nfunction nextTick$1(fn) {\n const p = currentFlushPromise || resolvedPromise;\n return fn ? p.then(this ? fn.bind(this) : fn) : p;\n}\nfunction findInsertionIndex(id) {\n let start = flushIndex + 1;\n let end = queue.length;\n while (start < end) {\n const middle = start + end >>> 1;\n const middleJob = queue[middle];\n const middleJobId = getId(middleJob);\n if (middleJobId < id || middleJobId === id && middleJob.pre) {\n start = middle + 1;\n } else {\n end = middle;\n }\n }\n return start;\n}\nfunction queueJob(job) {\n if (!queue.length || !queue.includes(\n job,\n isFlushing && job.allowRecurse ? flushIndex + 1 : flushIndex\n )) {\n if (job.id == null) {\n queue.push(job);\n } else {\n queue.splice(findInsertionIndex(job.id), 0, job);\n }\n queueFlush();\n }\n}\nfunction queueFlush() {\n if (!isFlushing && !isFlushPending) {\n isFlushPending = true;\n currentFlushPromise = resolvedPromise.then(flushJobs);\n }\n}\nfunction hasQueueJob(job) {\n return queue.indexOf(job) > -1;\n}\nfunction invalidateJob(job) {\n const i = queue.indexOf(job);\n if (i > flushIndex) {\n queue.splice(i, 1);\n }\n}\nfunction queuePostFlushCb(cb) {\n if (!isArray(cb)) {\n if (!activePostFlushCbs || !activePostFlushCbs.includes(\n cb,\n cb.allowRecurse ? postFlushIndex + 1 : postFlushIndex\n )) {\n pendingPostFlushCbs.push(cb);\n }\n } else {\n pendingPostFlushCbs.push(...cb);\n }\n queueFlush();\n}\nfunction flushPreFlushCbs(instance, seen, i = isFlushing ? flushIndex + 1 : 0) {\n if (!!(process.env.NODE_ENV !== \"production\")) {\n seen = seen || /* @__PURE__ */ new Map();\n }\n for (; i < queue.length; i++) {\n const cb = queue[i];\n if (cb && cb.pre) {\n if (!!(process.env.NODE_ENV !== \"production\") && checkRecursiveUpdates(seen, cb)) {\n continue;\n }\n queue.splice(i, 1);\n i--;\n cb();\n }\n }\n}\nfunction flushPostFlushCbs(seen) {\n if (pendingPostFlushCbs.length) {\n const deduped = [...new Set(pendingPostFlushCbs)].sort(\n (a, b) => getId(a) - getId(b)\n );\n pendingPostFlushCbs.length = 0;\n if (activePostFlushCbs) {\n activePostFlushCbs.push(...deduped);\n return;\n }\n activePostFlushCbs = deduped;\n if (!!(process.env.NODE_ENV !== \"production\")) {\n seen = seen || /* @__PURE__ */ new Map();\n }\n for (postFlushIndex = 0; postFlushIndex < activePostFlushCbs.length; postFlushIndex++) {\n if (!!(process.env.NODE_ENV !== \"production\") && checkRecursiveUpdates(seen, activePostFlushCbs[postFlushIndex])) {\n continue;\n }\n activePostFlushCbs[postFlushIndex]();\n }\n activePostFlushCbs = null;\n postFlushIndex = 0;\n }\n}\nconst getId = (job) => job.id == null ? Infinity : job.id;\nconst comparator = (a, b) => {\n const diff = getId(a) - getId(b);\n if (diff === 0) {\n if (a.pre && !b.pre)\n return -1;\n if (b.pre && !a.pre)\n return 1;\n }\n return diff;\n};\nfunction flushJobs(seen) {\n isFlushPending = false;\n isFlushing = true;\n if (!!(process.env.NODE_ENV !== \"production\")) {\n seen = seen || /* @__PURE__ */ new Map();\n }\n queue.sort(comparator);\n const check = !!(process.env.NODE_ENV !== \"production\") ? (job) => checkRecursiveUpdates(seen, job) : NOOP;\n try {\n for (flushIndex = 0; flushIndex < queue.length; flushIndex++) {\n const job = queue[flushIndex];\n if (job && job.active !== false) {\n if (!!(process.env.NODE_ENV !== \"production\") && check(job)) {\n continue;\n }\n callWithErrorHandling(job, null, 14);\n }\n }\n } finally {\n flushIndex = 0;\n queue.length = 0;\n flushPostFlushCbs(seen);\n isFlushing = false;\n currentFlushPromise = null;\n if (queue.length || pendingPostFlushCbs.length) {\n flushJobs(seen);\n }\n }\n}\nfunction checkRecursiveUpdates(seen, fn) {\n if (!seen.has(fn)) {\n seen.set(fn, 1);\n } else {\n const count = seen.get(fn);\n if (count > RECURSION_LIMIT) {\n const instance = fn.ownerInstance;\n const componentName = instance && getComponentName(instance.type);\n handleError(\n `Maximum recursive updates exceeded${componentName ? ` in component <${componentName}>` : ``}. This means you have a reactive effect that is mutating its own dependencies and thus recursively triggering itself. Possible sources include component template, render function, updated hook or watcher source function.`,\n null,\n 10\n );\n return true;\n } else {\n seen.set(fn, count + 1);\n }\n }\n}\n\nlet devtools;\nlet buffer = [];\nlet devtoolsNotInstalled = false;\nfunction emit$1(event, ...args) {\n if (devtools) {\n devtools.emit(event, ...args);\n } else if (!devtoolsNotInstalled) {\n buffer.push({ event, args });\n }\n}\nfunction setDevtoolsHook(hook, target) {\n var _a, _b;\n devtools = hook;\n if (devtools) {\n devtools.enabled = true;\n buffer.forEach(({ event, args }) => devtools.emit(event, ...args));\n buffer = [];\n } else if (\n // handle late devtools injection - only do this if we are in an actual\n // browser environment to avoid the timer handle stalling test runner exit\n // (#4815)\n typeof window !== \"undefined\" && // some envs mock window but not fully\n window.HTMLElement && // also exclude jsdom\n !((_b = (_a = window.navigator) == null ? void 0 : _a.userAgent) == null ? void 0 : _b.includes(\"jsdom\"))\n ) {\n const replay = target.__VUE_DEVTOOLS_HOOK_REPLAY__ = target.__VUE_DEVTOOLS_HOOK_REPLAY__ || [];\n replay.push((newHook) => {\n setDevtoolsHook(newHook, target);\n });\n setTimeout(() => {\n if (!devtools) {\n target.__VUE_DEVTOOLS_HOOK_REPLAY__ = null;\n devtoolsNotInstalled = true;\n buffer = [];\n }\n }, 3e3);\n } else {\n devtoolsNotInstalled = true;\n buffer = [];\n }\n}\nfunction devtoolsInitApp(app, version) {\n emit$1(\"app:init\" /* APP_INIT */, app, version, {\n Fragment,\n Text,\n Comment,\n Static\n });\n}\nconst devtoolsComponentAdded = /* @__PURE__ */ createDevtoolsComponentHook(\n \"component:added\" /* COMPONENT_ADDED */\n);\nconst devtoolsComponentUpdated = /* @__PURE__ */ createDevtoolsComponentHook(\"component:updated\" /* COMPONENT_UPDATED */);\nconst _devtoolsComponentRemoved = /* @__PURE__ */ createDevtoolsComponentHook(\n \"component:removed\" /* COMPONENT_REMOVED */\n);\nconst devtoolsComponentRemoved = (component) => {\n if (devtools && typeof devtools.cleanupBuffer === \"function\" && // remove the component if it wasn't buffered\n !devtools.cleanupBuffer(component)) {\n _devtoolsComponentRemoved(component);\n }\n};\n/*! #__NO_SIDE_EFFECTS__ */\n// @__NO_SIDE_EFFECTS__\nfunction createDevtoolsComponentHook(hook) {\n return (component) => {\n emit$1(\n hook,\n component.appContext.app,\n component.uid,\n // fixed by xxxxxx\n // 为 0 是 App,无 parent 是 Page 指向 App\n component.uid === 0 ? void 0 : component.parent ? component.parent.uid : 0,\n component\n );\n };\n}\nconst devtoolsPerfStart = /* @__PURE__ */ createDevtoolsPerformanceHook(\n \"perf:start\" /* PERFORMANCE_START */\n);\nconst devtoolsPerfEnd = /* @__PURE__ */ createDevtoolsPerformanceHook(\n \"perf:end\" /* PERFORMANCE_END */\n);\nfunction createDevtoolsPerformanceHook(hook) {\n return (component, type, time) => {\n emit$1(hook, component.appContext.app, component.uid, component, type, time);\n };\n}\nfunction devtoolsComponentEmit(component, event, params) {\n emit$1(\n \"component:emit\" /* COMPONENT_EMIT */,\n component.appContext.app,\n component,\n event,\n params\n );\n}\n\nfunction emit(instance, event, ...rawArgs) {\n if (instance.isUnmounted)\n return;\n const props = instance.vnode.props || EMPTY_OBJ;\n if (!!(process.env.NODE_ENV !== \"production\")) {\n const {\n emitsOptions,\n propsOptions: [propsOptions]\n } = instance;\n if (emitsOptions) {\n if (!(event in emitsOptions) && true) {\n if (!propsOptions || !(toHandlerKey(event) in propsOptions)) {\n warn$1(\n `Component emitted event \"${event}\" but it is neither declared in the emits option nor as an \"${toHandlerKey(event)}\" prop.`\n );\n }\n } else {\n const validator = emitsOptions[event];\n if (isFunction(validator)) {\n const isValid = validator(...rawArgs);\n if (!isValid) {\n warn$1(\n `Invalid event arguments: event validation failed for event \"${event}\".`\n );\n }\n }\n }\n }\n }\n let args = rawArgs;\n const isModelListener = event.startsWith(\"update:\");\n const modelArg = isModelListener && event.slice(7);\n if (modelArg && modelArg in props) {\n const modifiersKey = `${modelArg === \"modelValue\" ? \"model\" : modelArg}Modifiers`;\n const { number, trim } = props[modifiersKey] || EMPTY_OBJ;\n if (trim) {\n args = rawArgs.map((a) => isString(a) ? a.trim() : a);\n }\n if (number) {\n args = rawArgs.map(looseToNumber);\n }\n }\n if (!!(process.env.NODE_ENV !== \"production\") || __VUE_PROD_DEVTOOLS__) {\n devtoolsComponentEmit(instance, event, args);\n }\n if (!!(process.env.NODE_ENV !== \"production\")) {\n const lowerCaseEvent = event.toLowerCase();\n if (lowerCaseEvent !== event && props[toHandlerKey(lowerCaseEvent)]) {\n warn$1(\n `Event \"${lowerCaseEvent}\" is emitted in component ${formatComponentName(\n instance,\n instance.type\n )} but the handler is registered for \"${event}\". Note that HTML attributes are case-insensitive and you cannot use v-on to listen to camelCase events when using in-DOM templates. You should probably use \"${hyphenate(\n event\n )}\" instead of \"${event}\".`\n );\n }\n }\n let handlerName;\n let handler = props[handlerName = toHandlerKey(event)] || // also try camelCase event handler (#2249)\n props[handlerName = toHandlerKey(camelize(event))];\n if (!handler && isModelListener) {\n handler = props[handlerName = toHandlerKey(hyphenate(event))];\n }\n if (handler) {\n callWithAsyncErrorHandling(\n handler,\n instance,\n 6,\n args\n );\n }\n const onceHandler = props[handlerName + `Once`];\n if (onceHandler) {\n if (!instance.emitted) {\n instance.emitted = {};\n } else if (instance.emitted[handlerName]) {\n return;\n }\n instance.emitted[handlerName] = true;\n callWithAsyncErrorHandling(\n onceHandler,\n instance,\n 6,\n args\n );\n }\n}\nfunction normalizeEmitsOptions(comp, appContext, asMixin = false) {\n const cache = appContext.emitsCache;\n const cached = cache.get(comp);\n if (cached !== void 0) {\n return cached;\n }\n const raw = comp.emits;\n let normalized = {};\n let hasExtends = false;\n if (__VUE_OPTIONS_API__ && !isFunction(comp)) {\n const extendEmits = (raw2) => {\n const normalizedFromExtend = normalizeEmitsOptions(raw2, appContext, true);\n if (normalizedFromExtend) {\n hasExtends = true;\n extend(normalized, normalizedFromExtend);\n }\n };\n if (!asMixin && appContext.mixins.length) {\n appContext.mixins.forEach(extendEmits);\n }\n if (comp.extends) {\n extendEmits(comp.extends);\n }\n if (comp.mixins) {\n comp.mixins.forEach(extendEmits);\n }\n }\n if (!raw && !hasExtends) {\n if (isObject(comp)) {\n cache.set(comp, null);\n }\n return null;\n }\n if (isArray(raw)) {\n raw.forEach((key) => normalized[key] = null);\n } else {\n extend(normalized, raw);\n }\n if (isObject(comp)) {\n cache.set(comp, normalized);\n }\n return normalized;\n}\nfunction isEmitListener(options, key) {\n if (!options || !isOn(key)) {\n return false;\n }\n key = key.slice(2).replace(/Once$/, \"\");\n return hasOwn(options, key[0].toLowerCase() + key.slice(1)) || hasOwn(options, hyphenate(key)) || hasOwn(options, key);\n}\n\nlet currentRenderingInstance = null;\nlet currentScopeId = null;\nfunction setCurrentRenderingInstance(instance) {\n const prev = currentRenderingInstance;\n currentRenderingInstance = instance;\n currentScopeId = instance && instance.type.__scopeId || null;\n return prev;\n}\nconst withScopeId = (_id) => withCtx;\nfunction withCtx(fn, ctx = currentRenderingInstance, isNonScopedSlot) {\n if (!ctx)\n return fn;\n if (fn._n) {\n return fn;\n }\n const renderFnWithContext = (...args) => {\n if (renderFnWithContext._d) {\n setBlockTracking(-1);\n }\n const prevInstance = setCurrentRenderingInstance(ctx);\n let res;\n try {\n res = fn(...args);\n } finally {\n setCurrentRenderingInstance(prevInstance);\n if (renderFnWithContext._d) {\n setBlockTracking(1);\n }\n }\n if (!!(process.env.NODE_ENV !== \"production\") || __VUE_PROD_DEVTOOLS__) {\n devtoolsComponentUpdated(ctx);\n }\n return res;\n };\n renderFnWithContext._n = true;\n renderFnWithContext._c = true;\n renderFnWithContext._d = true;\n return renderFnWithContext;\n}\n\nfunction markAttrsAccessed() {\n}\n\nconst COMPONENTS = \"components\";\nconst DIRECTIVES = \"directives\";\nfunction resolveComponent(name, maybeSelfReference) {\n return resolveAsset(COMPONENTS, name, true, maybeSelfReference) || name;\n}\nconst NULL_DYNAMIC_COMPONENT = Symbol.for(\"v-ndc\");\nfunction resolveDirective(name) {\n return resolveAsset(DIRECTIVES, name);\n}\nfunction resolveAsset(type, name, warnMissing = true, maybeSelfReference = false) {\n const instance = currentRenderingInstance || currentInstance;\n if (instance) {\n const Component = instance.type;\n if (type === COMPONENTS) {\n const selfName = getComponentName(\n Component,\n false\n );\n if (selfName && (selfName === name || selfName === camelize(name) || selfName === capitalize(camelize(name)))) {\n return Component;\n }\n }\n const res = (\n // local registration\n // check instance[type] first which is resolved for options API\n resolve(instance[type] || Component[type], name) || // global registration\n resolve(instance.appContext[type], name)\n );\n if (!res && maybeSelfReference) {\n return Component;\n }\n if (!!(process.env.NODE_ENV !== \"production\") && warnMissing && !res) {\n const extra = type === COMPONENTS ? `\nIf this is a native custom element, make sure to exclude it from component resolution via compilerOptions.isCustomElement.` : ``;\n warn$1(`Failed to resolve ${type.slice(0, -1)}: ${name}${extra}`);\n }\n return res;\n } else if (!!(process.env.NODE_ENV !== \"production\")) {\n warn$1(\n `resolve${capitalize(type.slice(0, -1))} can only be used in render() or setup().`\n );\n }\n}\nfunction resolve(registry, name) {\n return registry && (registry[name] || registry[camelize(name)] || registry[capitalize(camelize(name))]);\n}\n\nconst ssrContextKey = Symbol.for(\"v-scx\");\nconst useSSRContext = () => {\n {\n const ctx = inject(ssrContextKey);\n if (!ctx) {\n !!(process.env.NODE_ENV !== \"production\") && warn$1(\n `Server rendering context not provided. Make sure to only call useSSRContext() conditionally in the server build.`\n );\n }\n return ctx;\n }\n};\n\nfunction watchEffect(effect, options) {\n return doWatch(effect, null, options);\n}\nfunction watchPostEffect(effect, options) {\n return doWatch(\n effect,\n null,\n !!(process.env.NODE_ENV !== \"production\") ? extend({}, options, { flush: \"post\" }) : { flush: \"post\" }\n );\n}\nfunction watchSyncEffect(effect, options) {\n return doWatch(\n effect,\n null,\n !!(process.env.NODE_ENV !== \"production\") ? extend({}, options, { flush: \"sync\" }) : { flush: \"sync\" }\n );\n}\nconst INITIAL_WATCHER_VALUE = {};\nfunction watch(source, cb, options) {\n if (!!(process.env.NODE_ENV !== \"production\") && !isFunction(cb)) {\n warn$1(\n `\\`watch(fn, options?)\\` signature has been moved to a separate API. Use \\`watchEffect(fn, options?)\\` instead. \\`watch\\` now only supports \\`watch(source, cb, options?) signature.`\n );\n }\n return doWatch(source, cb, options);\n}\nfunction doWatch(source, cb, {\n immediate,\n deep,\n flush,\n once,\n onTrack,\n onTrigger\n} = EMPTY_OBJ) {\n if (cb && once) {\n const _cb = cb;\n cb = (...args) => {\n _cb(...args);\n unwatch();\n };\n }\n if (!!(process.env.NODE_ENV !== \"production\") && deep !== void 0 && typeof deep === \"number\") {\n warn$1(\n `watch() \"deep\" option with number value will be used as watch depth in future versions. Please use a boolean instead to avoid potential breakage.`\n );\n }\n if (!!(process.env.NODE_ENV !== \"production\") && !cb) {\n if (immediate !== void 0) {\n warn$1(\n `watch() \"immediate\" option is only respected when using the watch(source, callback, options?) signature.`\n );\n }\n if (deep !== void 0) {\n warn$1(\n `watch() \"deep\" option is only respected when using the watch(source, callback, options?) signature.`\n );\n }\n if (once !== void 0) {\n warn$1(\n `watch() \"once\" option is only respected when using the watch(source, callback, options?) signature.`\n );\n }\n }\n const warnInvalidSource = (s) => {\n warn$1(\n `Invalid watch source: `,\n s,\n `A watch source can only be a getter/effect function, a ref, a reactive object, or an array of these types.`\n );\n };\n const instance = currentInstance;\n const reactiveGetter = (source2) => deep === true ? source2 : (\n // for deep: false, only traverse root-level properties\n traverse(source2, deep === false ? 1 : void 0)\n );\n let getter;\n let forceTrigger = false;\n let isMultiSource = false;\n if (isRef(source)) {\n getter = () => source.value;\n forceTrigger = isShallow(source);\n } else if (isReactive(source)) {\n getter = () => reactiveGetter(source);\n forceTrigger = true;\n } else if (isArray(source)) {\n isMultiSource = true;\n forceTrigger = source.some((s) => isReactive(s) || isShallow(s));\n getter = () => source.map((s) => {\n if (isRef(s)) {\n return s.value;\n } else if (isReactive(s)) {\n return reactiveGetter(s);\n } else if (isFunction(s)) {\n return callWithErrorHandling(s, instance, 2);\n } else {\n !!(process.env.NODE_ENV !== \"production\") && warnInvalidSource(s);\n }\n });\n } else if (isFunction(source)) {\n if (cb) {\n getter = () => callWithErrorHandling(source, instance, 2);\n } else {\n getter = () => {\n if (cleanup) {\n cleanup();\n }\n return callWithAsyncErrorHandling(\n source,\n instance,\n 3,\n [onCleanup]\n );\n };\n }\n } else {\n getter = NOOP;\n !!(process.env.NODE_ENV !== \"production\") && warnInvalidSource(source);\n }\n if (cb && deep) {\n const baseGetter = getter;\n getter = () => traverse(baseGetter());\n }\n let cleanup;\n let onCleanup = (fn) => {\n cleanup = effect.onStop = () => {\n callWithErrorHandling(fn, instance, 4);\n cleanup = effect.onStop = void 0;\n };\n };\n let oldValue = isMultiSource ? new Array(source.length).fill(INITIAL_WATCHER_VALUE) : INITIAL_WATCHER_VALUE;\n const job = () => {\n if (!effect.active || !effect.dirty) {\n return;\n }\n if (cb) {\n const newValue = effect.run();\n if (deep || forceTrigger || (isMultiSource ? newValue.some((v, i) => hasChanged(v, oldValue[i])) : hasChanged(newValue, oldValue)) || false) {\n if (cleanup) {\n cleanup();\n }\n callWithAsyncErrorHandling(cb, instance, 3, [\n newValue,\n // pass undefined as the old value when it's changed for the first time\n oldValue === INITIAL_WATCHER_VALUE ? void 0 : isMultiSource && oldValue[0] === INITIAL_WATCHER_VALUE ? [] : oldValue,\n onCleanup\n ]);\n oldValue = newValue;\n }\n } else {\n effect.run();\n }\n };\n job.allowRecurse = !!cb;\n let scheduler;\n if (flush === \"sync\") {\n scheduler = job;\n } else if (flush === \"post\") {\n scheduler = () => queuePostRenderEffect$1(job, instance && instance.suspense);\n } else {\n job.pre = true;\n if (instance)\n job.id = instance.uid;\n scheduler = () => queueJob(job);\n }\n const effect = new ReactiveEffect(getter, NOOP, scheduler);\n const scope = getCurrentScope();\n const unwatch = () => {\n effect.stop();\n if (scope) {\n remove(scope.effects, effect);\n }\n };\n if (!!(process.env.NODE_ENV !== \"production\")) {\n effect.onTrack = onTrack;\n effect.onTrigger = onTrigger;\n }\n if (cb) {\n if (immediate) {\n job();\n } else {\n oldValue = effect.run();\n }\n } else if (flush === \"post\") {\n queuePostRenderEffect$1(\n effect.run.bind(effect),\n instance && instance.suspense\n );\n } else {\n effect.run();\n }\n return unwatch;\n}\nfunction instanceWatch(source, value, options) {\n const publicThis = this.proxy;\n const getter = isString(source) ? source.includes(\".\") ? createPathGetter(publicThis, source) : () => publicThis[source] : source.bind(publicThis, publicThis);\n let cb;\n if (isFunction(value)) {\n cb = value;\n } else {\n cb = value.handler;\n options = value;\n }\n const reset = setCurrentInstance(this);\n const res = doWatch(getter, cb.bind(publicThis), options);\n reset();\n return res;\n}\nfunction createPathGetter(ctx, path) {\n const segments = path.split(\".\");\n return () => {\n let cur = ctx;\n for (let i = 0; i < segments.length && cur; i++) {\n cur = cur[segments[i]];\n }\n return cur;\n };\n}\nfunction traverse(value, depth, currentDepth = 0, seen) {\n if (!isObject(value) || value[\"__v_skip\"]) {\n return value;\n }\n if (depth && depth > 0) {\n if (currentDepth >= depth) {\n return value;\n }\n currentDepth++;\n }\n seen = seen || /* @__PURE__ */ new Set();\n if (seen.has(value)) {\n return value;\n }\n seen.add(value);\n if (isRef(value)) {\n traverse(value.value, depth, currentDepth, seen);\n } else if (isArray(value)) {\n for (let i = 0; i < value.length; i++) {\n traverse(value[i], depth, currentDepth, seen);\n }\n } else if (isSet(value) || isMap(value)) {\n value.forEach((v) => {\n traverse(v, depth, currentDepth, seen);\n });\n } else if (isPlainObject(value)) {\n for (const key in value) {\n traverse(value[key], depth, currentDepth, seen);\n }\n }\n return value;\n}\n\nfunction validateDirectiveName(name) {\n if (isBuiltInDirective(name)) {\n warn$1(\"Do not use built-in directive ids as custom directive id: \" + name);\n }\n}\nfunction withDirectives(vnode, directives) {\n if (currentRenderingInstance === null) {\n !!(process.env.NODE_ENV !== \"production\") && warn$1(`withDirectives can only be used inside render functions.`);\n return vnode;\n }\n const instance = getExposeProxy(currentRenderingInstance) || currentRenderingInstance.proxy;\n const bindings = vnode.dirs || (vnode.dirs = []);\n for (let i = 0; i < directives.length; i++) {\n let [dir, value, arg, modifiers = EMPTY_OBJ] = directives[i];\n if (dir) {\n if (isFunction(dir)) {\n dir = {\n mounted: dir,\n updated: dir\n };\n }\n if (dir.deep) {\n traverse(value);\n }\n bindings.push({\n dir,\n instance,\n value,\n oldValue: void 0,\n arg,\n modifiers\n });\n }\n }\n return vnode;\n}\n\nfunction createAppContext() {\n return {\n app: null,\n config: {\n isNativeTag: NO,\n performance: false,\n globalProperties: {},\n optionMergeStrategies: {},\n errorHandler: void 0,\n warnHandler: void 0,\n compilerOptions: {}\n },\n mixins: [],\n components: {},\n directives: {},\n provides: /* @__PURE__ */ Object.create(null),\n optionsCache: /* @__PURE__ */ new WeakMap(),\n propsCache: /* @__PURE__ */ new WeakMap(),\n emitsCache: /* @__PURE__ */ new WeakMap()\n };\n}\nlet uid$1 = 0;\nfunction createAppAPI(render, hydrate) {\n return function createApp(rootComponent, rootProps = null) {\n if (!isFunction(rootComponent)) {\n rootComponent = extend({}, rootComponent);\n }\n if (rootProps != null && !isObject(rootProps)) {\n !!(process.env.NODE_ENV !== \"production\") && warn$1(`root props passed to app.mount() must be an object.`);\n rootProps = null;\n }\n const context = createAppContext();\n const installedPlugins = /* @__PURE__ */ new WeakSet();\n const app = context.app = {\n _uid: uid$1++,\n _component: rootComponent,\n _props: rootProps,\n _container: null,\n _context: context,\n _instance: null,\n version,\n get config() {\n return context.config;\n },\n set config(v) {\n if (!!(process.env.NODE_ENV !== \"production\")) {\n warn$1(\n `app.config cannot be replaced. Modify individual options instead.`\n );\n }\n },\n use(plugin, ...options) {\n if (installedPlugins.has(plugin)) {\n !!(process.env.NODE_ENV !== \"production\") && warn$1(`Plugin has already been applied to target app.`);\n } else if (plugin && isFunction(plugin.install)) {\n installedPlugins.add(plugin);\n plugin.install(app, ...options);\n } else if (isFunction(plugin)) {\n installedPlugins.add(plugin);\n plugin(app, ...options);\n } else if (!!(process.env.NODE_ENV !== \"production\")) {\n warn$1(\n `A plugin must either be a function or an object with an \"install\" function.`\n );\n }\n return app;\n },\n mixin(mixin) {\n if (__VUE_OPTIONS_API__) {\n if (!context.mixins.includes(mixin)) {\n context.mixins.push(mixin);\n } else if (!!(process.env.NODE_ENV !== \"production\")) {\n warn$1(\n \"Mixin has already been applied to target app\" + (mixin.name ? `: ${mixin.name}` : \"\")\n );\n }\n } else if (!!(process.env.NODE_ENV !== \"production\")) {\n warn$1(\"Mixins are only available in builds supporting Options API\");\n }\n return app;\n },\n component(name, component) {\n if (!!(process.env.NODE_ENV !== \"production\")) {\n validateComponentName(name, context.config);\n }\n if (!component) {\n return context.components[name];\n }\n if (!!(process.env.NODE_ENV !== \"production\") && context.components[name]) {\n warn$1(`Component \"${name}\" has already been registered in target app.`);\n }\n context.components[name] = component;\n return app;\n },\n directive(name, directive) {\n if (!!(process.env.NODE_ENV !== \"production\")) {\n validateDirectiveName(name);\n }\n if (!directive) {\n return context.directives[name];\n }\n if (!!(process.env.NODE_ENV !== \"production\") && context.directives[name]) {\n warn$1(`Directive \"${name}\" has already been registered in target app.`);\n }\n context.directives[name] = directive;\n return app;\n },\n // fixed by xxxxxx\n mount() {\n },\n // fixed by xxxxxx\n unmount() {\n },\n provide(key, value) {\n if (!!(process.env.NODE_ENV !== \"production\") && key in context.provides) {\n warn$1(\n `App already provides property with key \"${String(key)}\". It will be overwritten with the new value.`\n );\n }\n context.provides[key] = value;\n return app;\n },\n runWithContext(fn) {\n const lastApp = currentApp;\n currentApp = app;\n try {\n return fn();\n } finally {\n currentApp = lastApp;\n }\n }\n };\n return app;\n };\n}\nlet currentApp = null;\n\nfunction provide(key, value) {\n if (!currentInstance) {\n if (!!(process.env.NODE_ENV !== \"production\")) {\n warn$1(`provide() can only be used inside setup().`);\n }\n } else {\n let provides = currentInstance.provides;\n const parentProvides = currentInstance.parent && currentInstance.parent.provides;\n if (parentProvides === provides) {\n provides = currentInstance.provides = Object.create(parentProvides);\n }\n provides[key] = value;\n if (currentInstance.type.mpType === \"app\") {\n currentInstance.appContext.app.provide(key, value);\n }\n }\n}\nfunction inject(key, defaultValue, treatDefaultAsFactory = false) {\n const instance = currentInstance || currentRenderingInstance;\n if (instance || currentApp) {\n const provides = instance ? instance.parent == null ? instance.vnode.appContext && instance.vnode.appContext.provides : instance.parent.provides : currentApp._context.provides;\n if (provides && key in provides) {\n return provides[key];\n } else if (arguments.length > 1) {\n return treatDefaultAsFactory && isFunction(defaultValue) ? defaultValue.call(instance && instance.proxy) : defaultValue;\n } else if (!!(process.env.NODE_ENV !== \"production\")) {\n warn$1(`injection \"${String(key)}\" not found.`);\n }\n } else if (!!(process.env.NODE_ENV !== \"production\")) {\n warn$1(`inject() can only be used inside setup() or functional components.`);\n }\n}\nfunction hasInjectionContext() {\n return !!(currentInstance || currentRenderingInstance || currentApp);\n}\n\n/*! #__NO_SIDE_EFFECTS__ */\n// @__NO_SIDE_EFFECTS__\nfunction defineComponent(options, extraOptions) {\n return isFunction(options) ? (\n // #8326: extend call and options.name access are considered side-effects\n // by Rollup, so we have to wrap it in a pure-annotated IIFE.\n /* @__PURE__ */ (() => extend({ name: options.name }, extraOptions, { setup: options }))()\n ) : options;\n}\n\nconst isKeepAlive = (vnode) => vnode.type.__isKeepAlive;\nfunction onActivated(hook, target) {\n registerKeepAliveHook(hook, \"a\", target);\n}\nfunction onDeactivated(hook, target) {\n registerKeepAliveHook(hook, \"da\", target);\n}\nfunction registerKeepAliveHook(hook, type, target = currentInstance) {\n const wrappedHook = hook.__wdc || (hook.__wdc = () => {\n let current = target;\n while (current) {\n if (current.isDeactivated) {\n return;\n }\n current = current.parent;\n }\n return hook();\n });\n injectHook(type, wrappedHook, target);\n if (target) {\n let current = target.parent;\n while (current && current.parent) {\n if (isKeepAlive(current.parent.vnode)) {\n injectToKeepAliveRoot(wrappedHook, type, target, current);\n }\n current = current.parent;\n }\n }\n}\nfunction injectToKeepAliveRoot(hook, type, target, keepAliveRoot) {\n const injected = injectHook(\n type,\n hook,\n keepAliveRoot,\n true\n /* prepend */\n );\n onUnmounted(() => {\n remove(keepAliveRoot[type], injected);\n }, target);\n}\n\nfunction injectHook(type, hook, target = currentInstance, prepend = false) {\n if (target) {\n if (isRootHook(type)) {\n target = target.root;\n }\n const hooks = target[type] || (target[type] = []);\n const wrappedHook = hook.__weh || (hook.__weh = (...args) => {\n if (target.isUnmounted) {\n return;\n }\n pauseTracking();\n const reset = setCurrentInstance(target);\n const res = callWithAsyncErrorHandling(hook, target, type, args);\n reset();\n resetTracking();\n return res;\n });\n if (prepend) {\n hooks.unshift(wrappedHook);\n } else {\n hooks.push(wrappedHook);\n }\n return wrappedHook;\n } else if (!!(process.env.NODE_ENV !== \"production\")) {\n const apiName = toHandlerKey(\n (ErrorTypeStrings[type] || type.replace(/^on/, \"\")).replace(/ hook$/, \"\")\n );\n warn$1(\n `${apiName} is called when there is no active component instance to be associated with. Lifecycle injection APIs can only be used during execution of setup().` + (``)\n );\n }\n}\nconst createHook = (lifecycle) => (hook, target = currentInstance) => (\n // post-create lifecycle registrations are noops during SSR (except for serverPrefetch)\n (!isInSSRComponentSetup || lifecycle === \"sp\") && injectHook(lifecycle, (...args) => hook(...args), target)\n);\nconst onBeforeMount = createHook(\"bm\");\nconst onMounted = createHook(\"m\");\nconst onBeforeUpdate = createHook(\"bu\");\nconst onUpdated = createHook(\"u\");\nconst onBeforeUnmount = createHook(\"bum\");\nconst onUnmounted = createHook(\"um\");\nconst onServerPrefetch = createHook(\"sp\");\nconst onRenderTriggered = createHook(\n \"rtg\"\n);\nconst onRenderTracked = createHook(\n \"rtc\"\n);\nfunction onErrorCaptured(hook, target = currentInstance) {\n injectHook(\"ec\", hook, target);\n}\n\nfunction toHandlers(obj, preserveCaseIfNecessary) {\n const ret = {};\n if (!!(process.env.NODE_ENV !== \"production\") && !isObject(obj)) {\n warn$1(`v-on with no argument expects an object value.`);\n return ret;\n }\n for (const key in obj) {\n ret[preserveCaseIfNecessary && /[A-Z]/.test(key) ? `on:${key}` : toHandlerKey(key)] = obj[key];\n }\n return ret;\n}\n\nconst getPublicInstance = (i) => {\n if (!i)\n return null;\n if (isStatefulComponent(i))\n return getExposeProxy(i) || i.proxy;\n return getPublicInstance(i.parent);\n};\nfunction getComponentInternalInstance(i) {\n return i;\n}\nconst publicPropertiesMap = (\n // Move PURE marker to new line to workaround compiler discarding it\n // due to type annotation\n /* @__PURE__ */ extend(/* @__PURE__ */ Object.create(null), {\n // fixed by xxxxxx\n $: getComponentInternalInstance,\n // fixed by xxxxxx vue-i18n 在 dev 模式,访问了 $el,故模拟一个假的\n // $el: i => i.vnode.el,\n $el: (i) => i.__$el || (i.__$el = {}),\n $data: (i) => i.data,\n $props: (i) => !!(process.env.NODE_ENV !== \"production\") ? shallowReadonly(i.props) : i.props,\n $attrs: (i) => !!(process.env.NODE_ENV !== \"production\") ? shallowReadonly(i.attrs) : i.attrs,\n $slots: (i) => !!(process.env.NODE_ENV !== \"production\") ? shallowReadonly(i.slots) : i.slots,\n $refs: (i) => !!(process.env.NODE_ENV !== \"production\") ? shallowReadonly(i.refs) : i.refs,\n $parent: (i) => getPublicInstance(i.parent),\n $root: (i) => getPublicInstance(i.root),\n $emit: (i) => i.emit,\n $options: (i) => __VUE_OPTIONS_API__ ? resolveMergedOptions(i) : i.type,\n $forceUpdate: (i) => i.f || (i.f = () => {\n i.effect.dirty = true;\n queueJob(i.update);\n }),\n // $nextTick: i => i.n || (i.n = nextTick.bind(i.proxy!)),// fixed by xxxxxx\n $watch: (i) => __VUE_OPTIONS_API__ ? instanceWatch.bind(i) : NOOP\n })\n);\nconst isReservedPrefix = (key) => key === \"_\" || key === \"$\";\nconst hasSetupBinding = (state, key) => state !== EMPTY_OBJ && !state.__isScriptSetup && hasOwn(state, key);\nconst PublicInstanceProxyHandlers = {\n get({ _: instance }, key) {\n const { ctx, setupState, data, props, accessCache, type, appContext } = instance;\n if (!!(process.env.NODE_ENV !== \"production\") && key === \"__isVue\") {\n return true;\n }\n let normalizedProps;\n if (key[0] !== \"$\") {\n const n = accessCache[key];\n if (n !== void 0) {\n switch (n) {\n case 1 /* SETUP */:\n return setupState[key];\n case 2 /* DATA */:\n return data[key];\n case 4 /* CONTEXT */:\n return ctx[key];\n case 3 /* PROPS */:\n return props[key];\n }\n } else if (hasSetupBinding(setupState, key)) {\n accessCache[key] = 1 /* SETUP */;\n return setupState[key];\n } else if (data !== EMPTY_OBJ && hasOwn(data, key)) {\n accessCache[key] = 2 /* DATA */;\n return data[key];\n } else if (\n // only cache other properties when instance has declared (thus stable)\n // props\n (normalizedProps = instance.propsOptions[0]) && hasOwn(normalizedProps, key)\n ) {\n accessCache[key] = 3 /* PROPS */;\n return props[key];\n } else if (ctx !== EMPTY_OBJ && hasOwn(ctx, key)) {\n accessCache[key] = 4 /* CONTEXT */;\n return ctx[key];\n } else if (!__VUE_OPTIONS_API__ || shouldCacheAccess) {\n accessCache[key] = 0 /* OTHER */;\n }\n }\n const publicGetter = publicPropertiesMap[key];\n let cssModule, globalProperties;\n if (publicGetter) {\n if (key === \"$attrs\") {\n track(instance, \"get\", key);\n !!(process.env.NODE_ENV !== \"production\") && markAttrsAccessed();\n } else if (!!(process.env.NODE_ENV !== \"production\") && key === \"$slots\") {\n track(instance, \"get\", key);\n }\n return publicGetter(instance);\n } else if (\n // css module (injected by vue-loader)\n (cssModule = type.__cssModules) && (cssModule = cssModule[key])\n ) {\n return cssModule;\n } else if (ctx !== EMPTY_OBJ && hasOwn(ctx, key)) {\n accessCache[key] = 4 /* CONTEXT */;\n return ctx[key];\n } else if (\n // global properties\n globalProperties = appContext.config.globalProperties, hasOwn(globalProperties, key)\n ) {\n {\n return globalProperties[key];\n }\n } else if (!!(process.env.NODE_ENV !== \"production\") && currentRenderingInstance && (!isString(key) || // #1091 avoid internal isRef/isVNode checks on component instance leading\n // to infinite warning loop\n key.indexOf(\"__v\") !== 0)) {\n if (data !== EMPTY_OBJ && isReservedPrefix(key[0]) && hasOwn(data, key)) {\n warn$1(\n `Property ${JSON.stringify(\n key\n )} must be accessed via $data because it starts with a reserved character (\"$\" or \"_\") and is not proxied on the render context.`\n );\n } else if (instance === currentRenderingInstance) {\n warn$1(\n `Property ${JSON.stringify(key)} was accessed during render but is not defined on instance.`\n );\n }\n }\n },\n set({ _: instance }, key, value) {\n const { data, setupState, ctx } = instance;\n if (hasSetupBinding(setupState, key)) {\n setupState[key] = value;\n return true;\n } else if (!!(process.env.NODE_ENV !== \"production\") && setupState.__isScriptSetup && hasOwn(setupState, key)) {\n warn$1(`Cannot mutate \n\n\n","import Component from 'E:/hexieyun/ThreeChecksOneExposure_platform/12.07chongqixinde/三查一曝光小程序/threeonecheck_小程序/components/hazard/HazardFormPopup.vue'\nwx.createComponent(Component)"],"names":["computed","ref","reactive","getCurrentInstance","createUploadListHandlers","uni","nextTick","createEmptyHazardPayload","buildHiddenDangerParams","addHiddenDanger","getRegulationList","getAreaList","analyzeHazardImage","AI_LEVEL_MAP","getHiddenDangerLabelList","watch"],"mappings":";;;;;;;;;;;;;;;;;;;;AA+TA,MAAM,4BAA4B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAtFlC,UAAM,QAAQ;AAmCd,UAAM,OAAO;AAEb,UAAM,eAAeA,cAAAA,SAAS;AAAA,MAC7B,KAAK,MAAM,MAAM;AAAA,MACjB,KAAK,CAAC,UAAU,KAAK,eAAe,KAAK;AAAA,IAC1C,CAAC;AAED,UAAM,eAAe,CAAC,QAAQ,OAAO,2BAAK,IAAI,MAAM,KAAK,OAAO,2BAAK,IAAI,MAAM;AAE/E,UAAM,YAAYA,cAAQ,SAAC,MAAO,MAAM,aAAa,EAAE,QAAQ,MAAM,WAAU,IAAK,CAAE,CAAC;AAEvF,UAAM,cAAcC,cAAAA,IAAI,GAAG;AAC3B,UAAM,eAAeA,cAAAA,IAAI,GAAG;AAC5B,UAAM,aAAaA,cAAAA,IAAI,KAAK;AAC5B,UAAM,cAAcA,cAAAA,IAAI,KAAK;AAC7B,UAAM,oBAAoBA,cAAAA,IAAI,KAAK;AAEnC,UAAM,WAAWC,cAAAA,SAAS;AAAA,MACzB,OAAO;AAAA,MACP,OAAO;AAAA,MACP,QAAQ;AAAA,MACR,aAAa;AAAA,MACb,UAAU;AAAA,MACV,OAAO;AAAA,MACP,cAAc;AAAA,MACd,gBAAgB;AAAA,IACjB,CAAC;AACD,UAAM,UAAUD,cAAAA,IAAI,EAAE;AACtB,UAAM,MAAMA,cAAAA,IAAI,CAAC;AACjB,UAAM,MAAMA,cAAAA,IAAI,CAAC;AACjB,UAAM,SAASA,cAAAA,IAAI,EAAE;AACrB,UAAM,WAAWA,cAAAA,IAAI,EAAE;AACvB,UAAM,WAAWA,cAAAA,IAAI,CAAA,CAAE;AACvB,UAAM,aAAaA,cAAAA,IAAI,CAAA,CAAE;AAEzB,UAAM,eAAeA,cAAAA,IAAI,KAAK;AAC9B,UAAM,aAAaA,cAAAA,IAAI,EAAE;AACzB,UAAM,gBAAgBA,cAAAA,IAAI,IAAI;AAC9B,UAAM,kBAAkBA,cAAAA,IAAI,EAAE;AAC9B,UAAM,UAAUA,cAAAA,IAAI,CAAA,CAAE;AACtB,UAAM,aAAaA,cAAAA,IAAI,KAAK;AAC5B,UAAM,aAAaA,cAAAA,IAAI,CAAC;AACxB,UAAM,cAAcA,cAAAA,IAAI,EAAE;AAC1B,UAAM,aAAaA,cAAAA,IAAI,IAAI;AAE3B,UAAM,iBAAiBA,cAAAA,IAAI,KAAK;AAChC,UAAM,WAAWA,cAAAA,IAAI,CAAA,CAAE;AACvB,UAAM,aAAaA,cAAAA,IAAI,EAAE;AACzB,UAAM,mBAAmBA,cAAAA,IAAI,KAAK;AAClC,UAAM,oBAAoBA,cAAAA,IAAI,KAAK;AAInC,UAAM,iBAAiBE,cAAkB,mBAAA;AACzC,UAAM,EAAE,WAAW,cAAcC,aAAAA,yBAAyB,UAAU;AAAA,MACnE,WAAW;AAAA,QACV,UAAU,MAAM;AAAA,QAChB,gBAAgB;AAAA,QAChB,iBAAiB;AAAA,QACjB,UAAU;AAAA,MACV;AAAA,IACF,CAAC;AAED,aAAS,aAAa;AACrB;AACA,aAAO;AAAA,QACN,UAAU;AAAA,UACT,OAAO,SAAS;AAAA,UAChB,OAAO,SAAS;AAAA,UAChB,QAAQ,SAAS;AAAA,UACjB,aAAa,SAAS;AAAA,UACtB,UAAU,SAAS;AAAA,UACnB,OAAO,SAAS;AAAA,UAChB,cAAc,SAAS;AAAA,UACvB,gBAAgB,SAAS;AAAA,QACzB;AAAA,QACD,SAAS,QAAQ;AAAA,QACjB,KAAK,IAAI;AAAA,QACT,KAAK,IAAI;AAAA,QACT,QAAQ,OAAO;AAAA,QACf,UAAU,SAAS;AAAA,QACnB,UAAU,SAAS;AAAA,QACnB,YAAY,WAAW;AAAA,MACzB;AAAA,IACA;AAEA,aAAS,aAAa,SAAS;AAC9B,UAAI,CAAC;AAAS;AACd,wBAAkB,QAAQ;AAC1B,YAAM,OAAO,QAAQ,YAAY;AACjC,eAAS,QAAQ,KAAK,SAAS;AAC/B,eAAS,QAAQ,KAAK,SAAS;AAC/B,eAAS,SAAS,KAAK,UAAU;AACjC,eAAS,cAAc,KAAK,eAAe;AAC3C,eAAS,WAAW,KAAK,YAAY;AACrC,eAAS,QAAQ,KAAK,SAAS;AAC/B,eAAS,eAAe,KAAK,gBAAgB;AAC7C,eAAS,iBAAiB,KAAK,kBAAkB;AACjD,cAAQ,QAAQ,QAAQ,WAAW;AACnC,UAAI,QAAQ,QAAQ,OAAO;AAC3B,UAAI,QAAQ,QAAQ,OAAO;AAC3B,aAAO,QAAQ,QAAQ,UAAU;AACjC,eAAS,QAAQ,QAAQ,YAAY;AACrC,eAAS,QAAQ,QAAQ,WAAW,CAAC,GAAG,QAAQ,QAAQ,IAAI;AAC5D,oBAAc,QAAQ,KAAK,gBAAgB;AAC3C,sBAAgB,QAAQ,KAAK,kBAAkB;AAC/C,wBAAkB,QAAQ;AAAA,IAC3B;AAEA,aAAS,kBAAkB,SAAS;AACnC,UAAI,CAAC;AAAS,eAAO;AACrB,YAAM,OAAO,QAAQ,YAAY;AACjC,YAAM,QAAQ,QAAQ,YAAY;AAClC,aAAO,CAAC,EACP,KAAK,SACL,KAAK,eACL,KAAK,kBACL,QAAQ,WACP,MAAM,SAAS;AAAA,IAElB;AAEA,aAAS,4BAA4B;;AACpC,eAAO,WAAM,gBAAN,mBAAmB,qBAAoB;AAAA,IAC/C;AAEA,aAAS,0BAA0B;AAClC,YAAM,WAAW;AACjB,UAAI;AACHC,sBAAAA,MAAI,eAAe,0BAA2B,GAAE,QAAQ;AAAA,MACxD,SAAQ,OAAO;AACfA,2FAAc,aAAa,KAAK;AAAA,MAChC;AACD,aAAO;AAAA,IACR;AAEA,aAAS,0BAA0B;AAClC,UAAI;AACH,cAAM,QAAQA,cAAG,MAAC,eAAe,0BAA2B,CAAA;AAC5D,eAAO,SAAS,OAAO,UAAU,WAAW,QAAQ;AAAA,MACpD,SAAQ,OAAO;AACf,eAAO;AAAA,MACP;AAAA,IACF;AAEA,aAAS,2BAA2B;AACnC,UAAI;AACHA,4BAAI,kBAAkB,0BAAyB,CAAE;AAAA,MACjD,SAAQ,OAAO;AACfA,2FAAc,aAAa,KAAK;AAAA,MAChC;AAAA,IACF;AAEA,aAAS,2BAA2B,QAAQ,IAAI;AAC/C,YAAM,QAAQ;AACd,UAAI,CAAC;AAAO,eAAO;AAEnB,mBAAa;AAAA,QACZ,GAAG;AAAA,QACH,GAAG;AAAA,QACH,UAAU;AAAA,UACT,GAAI,MAAM,YAAY,CAAE;AAAA,UACxB,GAAI,MAAM,YAAY,CAAE;AAAA,QACxB;AAAA,QACD,UAAU,MAAM,YAAY,MAAM,YAAY,CAAE;AAAA,MAClD,CAAE;AACD;AACA,aAAO;AAAA,IACR;AAEA,aAAS,2BAA2B;AACnCC,oBAAAA,WAAS,MAAM;AACd,yBAAiB,QAAQ;AACzB,qBAAa,QAAQ;AACrB;MACF,CAAE;AAAA,IACF;AAEA,aAAS,YAAY;AACpB,mBAAaC,6BAAwB,yBAAA,CAAE;AACvC,oBAAc,QAAQ;AACtB,sBAAgB,QAAQ;AACxB,iBAAW,QAAQ;AACnB;IACD;AAEA,aAAS,qBAAqB;AAC7B,YAAM,cAAc,WAAW,MAAM,SAAS,QAAQ;AACtD,eAAS,SAAQ,2CAAa,OAAM,SAAS,SAAS;AAAA,IACvD;AAEA,aAAS,eAAe,OAAO,OAAO;AACrC,eAAS,KAAK,IAAI,OAAO,KAAK;AAC9B,UAAI,UAAU,YAAY;AACzB;MACA;AACD;IACD;AAEA,aAAS,iBAAiB;AACzB,UAAI,kBAAkB,SAAS,kBAAkB,SAAS,MAAM,eAAe;AAAM;AAErF,UAAI,MAAM,SAAS,aAAa,MAAM,SAAS;AAAU;AACzD,WAAK,qBAAqB,WAAU,CAAE;AAAA,IACvC;AAEA,aAAS,aAAa;AACrB,mBAAa,QAAQ;AAAA,IACtB;AAEA,aAAS,cAAc;AACtB;IACD;AAEA,aAAS,eAAe;AACvB,UAAI,SAAS,MAAM,WAAW,GAAG;AAChCF,sBAAG,MAAC,UAAU,EAAE,OAAO,WAAW,MAAM,OAAM,CAAE;AAChD,eAAO;AAAA,MACP;AACD,UAAI,CAAC,SAAS,OAAO;AACpBA,sBAAG,MAAC,UAAU,EAAE,OAAO,WAAW,MAAM,OAAM,CAAE;AAChD,eAAO;AAAA,MACP;AACD,UAAI,CAAC,QAAQ,OAAO;AACnBA,sBAAG,MAAC,UAAU,EAAE,OAAO,WAAW,MAAM,OAAM,CAAE;AAChD,eAAO;AAAA,MACP;AACD,UAAI,CAAC,SAAS,aAAa;AAC1BA,sBAAG,MAAC,UAAU,EAAE,OAAO,WAAW,MAAM,OAAM,CAAE;AAChD,eAAO;AAAA,MACP;AACD,aAAO;AAAA,IACR;AAEA,mBAAe,gBAAgB;AAC9B,UAAI,CAAC,aAAY;AAAI;AAErB,YAAM,UAAU;AAEhB,UAAI,MAAM,SAAS,WAAW;AAE7B,YAAI,MAAM,eAAe,MAAM;AAC9B,eAAK,qBAAqB,OAAO;AAAA,QACjC;AACD,aAAK,WAAW,OAAO;AACvB;AACAA,sBAAG,MAAC,UAAU,EAAE,OAAO,WAAW,MAAM,UAAS,CAAE;AACnD;AAAA,MACA;AAED,iBAAW,QAAQ;AACnB,UAAI;AACH,cAAM,SAASG,6BAAuB,wBAAC,SAAS,MAAM,WAAW;AACjE,cAAM,MAAM,MAAMC,4BAAgB,MAAM;AACxC,YAAI,aAAa,GAAG,GAAG;AACtB,4BAAkB,QAAQ;AAC1B;AACA,eAAK,WAAW,EAAE,GAAG,SAAS,UAAU,IAAI,KAAI,CAAE;AAClD,gBAAMH,cAAQ,WAAA;AACd;AACAD,8BAAI,UAAU,EAAE,OAAO,IAAI,OAAO,QAAQ,MAAM,UAAS,CAAE;AAAA,QAC9D,OAAS;AACNA,8BAAI,UAAU,EAAE,OAAO,IAAI,OAAO,QAAQ,MAAM,OAAM,CAAE;AAAA,QACxD;AAAA,MACD,SAAQ,OAAO;AACfA,sBAAAA,qEAAc,KAAK;AACnBA,sBAAG,MAAC,UAAU,EAAE,OAAO,QAAQ,MAAM,OAAM,CAAE;AAAA,MAC/C,UAAW;AACT,0BAAkB,QAAQ;AAC1B,mBAAW,QAAQ;AAAA,MACnB;AAAA,IACF;AAEA,aAAS,eAAe;AACvB,mBAAa,QAAQ;AACrB,UAAI,QAAQ,MAAM,WAAW,GAAG;AAC/B;MACA;AAAA,IACF;AAEA,mBAAe,oBAAoB,aAAa,OAAO;;AACtD,UAAI,WAAW;AAAO;AACtB,iBAAW,QAAQ;AACnB,UAAI;AACH,cAAM,SAAS;AAAA,UACd,SAAS,WAAW;AAAA,UACpB,UAAU,YAAY;AAAA,UACtB,QAAQ;AAAA,QACX;AACE,aAAI,gBAAW,UAAX,mBAAkB,QAAQ;AAC7B,iBAAO,UAAU,WAAW,MAAM,KAAI;AAAA,QACtC;AACD,cAAM,MAAM,MAAMK,8BAAkB,MAAM;AAC1C,YAAI,IAAI,SAAS,GAAG;AACnB,gBAAM,UAAU,IAAI,KAAK,WAAW,IAAI,QAAQ;AAChD,kBAAQ,QAAQ,aAAa,CAAC,GAAG,QAAQ,OAAO,GAAG,OAAO,IAAI;AAC9D,gBAAM,QAAQ,IAAI,KAAK,SAAS;AAChC,qBAAW,QAAQ,QAAQ,MAAM,SAAS;AAAA,QAC1C;AAAA,MACD,SAAQ,OAAO;AACfL,2FAAc,aAAa,KAAK;AAAA,MAClC,UAAW;AACT,mBAAW,QAAQ;AAAA,MACnB;AAAA,IACF;AAEA,aAAS,mBAAmB;AAC3B,iBAAW,QAAQ;AACnB,cAAQ,QAAQ;AAChB,iBAAW,QAAQ;AACnB;IACD;AAEA,aAAS,cAAc;AACtB,UAAI,CAAC,WAAW,SAAS,WAAW;AAAO;AAC3C,iBAAW;AACX,0BAAoB,IAAI;AAAA,IACzB;AAEA,aAAS,UAAU,MAAM;AACxB,oBAAc,QAAQ,KAAK;AAC3B,sBAAgB,QAAQ,KAAK,UAAU,KAAK,WAAW;AAAA,IACxD;AAEA,aAAS,aAAa;AACrB,UAAI,cAAc,OAAO;AACxB,iBAAS,eAAe,cAAc;AACtC,iBAAS,iBAAiB,gBAAgB;AAAA,MAC1C;AACD,mBAAa,QAAQ;AACrB;IACD;AAEA,aAAS,iBAAiB;AACzB,iBAAW,QAAQ,OAAO;AAC1B,qBAAe,QAAQ;AAAA,IACxB;AAEA,mBAAe,gBAAgB;;AAC9B,UAAI;AACH,cAAM,MAAM,MAAMM,2BAAAA;AAClB,YAAI,IAAI,SAAS,OAAK,SAAI,SAAJ,mBAAU,UAAS;AACxC,mBAAS,QAAQ,IAAI,KAAK;AAAA,QAC1B;AAAA,MACD,SAAQ,OAAO;AACfN,2FAAc,aAAa,KAAK;AAAA,MAChC;AAAA,IACF;AAEA,aAAS,oBAAoB;AAC5B,UAAI,WAAW,OAAO;AACrB,eAAO,QAAQ,WAAW;AAC1B,cAAM,WAAW,SAAS,MAAM,KAAK,CAAC,SAAS,KAAK,OAAO,WAAW,KAAK;AAC3E,iBAAS,QAAQ,WAAW,SAAS,OAAO;AAAA,MAC5C;AACD,qBAAe,QAAQ;AACvB;IACD;AAEA,aAAS,iBAAiB;AACzB,uBAAiB,QAAQ;AACzB;AACA;AACA,iBAAW,MAAM;AAChBA,sBAAAA,MAAI,YAAY;AAAA,UACf,MAAM;AAAA,UACN,SAAS,CAAC,gBAAgB;AACzB,+BAAmB,YAAY,UAAU,YAAY,SAAS;AAAA,UAC9D;AAAA,UACD,MAAM,MAAM;AACX;UACA;AAAA,QACJ,CAAG;AAAA,MACD,GAAE,GAAG;AAAA,IACP;AAEA,aAAS,mBAAmB,UAAU,WAAW;AAChD,YAAM,UAAU,CAAA;AAChB,UAAI,YAAY,QAAQ,aAAa,MAAM;AAC1C,gBAAQ,WAAW;AACnB,gBAAQ,YAAY;AAAA,MACpB;AACDA,oBAAAA,MAAI,eAAe;AAAA,QAClB,GAAG;AAAA,QACH,SAAS,CAAC,QAAQ;AACjB,qCAA2B;AAAA,YAC1B,SAAS,IAAI,WAAW,IAAI,OAAO,IAAI,IAAI,IAAI,MAAM;AAAA,YACrD,KAAK,IAAI;AAAA,YACT,KAAK,IAAI;AAAA,UACb,CAAI;AACD;QACA;AAAA,QACD,MAAM,CAAC,QAAQ;AACd;AACA;AACA,cAAI,IAAI,UAAU,IAAI,OAAO,QAAQ,QAAQ,MAAM,IAAI;AACtDA,0BAAG,MAAC,UAAU,EAAE,OAAO,UAAU,MAAM,OAAM,CAAE;AAAA,UAC/C;AAAA,QACD;AAAA,MACH,CAAE;AAAA,IACF;AAEA,mBAAe,kBAAkB;AAChC,YAAM,aAAa,SAAS,MAAM,OAAO,CAAC,MAAM;AAC/C,eAAO,EAAE,WAAW,aAAa,EAAE,IAAI,YAAa,EAAC,MAAM,gCAAgC;AAAA,MAC7F,CAAE;AACD,UAAI,WAAW,WAAW,GAAG;AAC5BA,sBAAG,MAAC,UAAU,EAAE,OAAO,YAAY,MAAM,OAAM,CAAE;AACjD;AAAA,MACA;AAED,kBAAY,QAAQ;AACpB,UAAI;AACH,cAAM,aAAa,MAAMO,YAAAA,mBAAmB,EAAE,UAAU,WAAW,CAAC,EAAE,IAAG,CAAE;AAC3E,YAAI,WAAW,SAAS,KAAK,WAAW,MAAM;AAC7C,gBAAM,SAAS,WAAW;AAC1B,cAAI,OAAO;AAAO,qBAAS,QAAQ,OAAO;AAC1C,cAAI,OAAO;AAAa,qBAAS,cAAc,OAAO;AACtD,cAAI,OAAO,OAAO;AACjB,kBAAM,aAAaC,6BAAAA,aAAa,OAAO,KAAK;AAC5C,gBAAI,eAAe,QAAW;AAC7B,uBAAS,QAAQ;AAAA,YACjB;AAAA,UACD;AACD;AACAR,8BAAI,UAAU,EAAE,OAAO,gBAAgB,MAAM,WAAW,UAAU,IAAI,CAAE;AAAA,QAC3E,OAAS;AACNA,8BAAI,UAAU,EAAE,OAAO,WAAW,OAAO,UAAU,MAAM,OAAM,CAAE;AAAA,QACjE;AAAA,MACD,SAAQ,OAAO;AACfA,2FAAc,eAAe,KAAK;AAClCA,sBAAG,MAAC,UAAU,EAAE,OAAO,cAAc,MAAM,OAAM,CAAE;AAAA,MACrD,UAAW;AACT,oBAAY,QAAQ;AAAA,MACpB;AAAA,IACF;AAEA,mBAAe,kBAAkB;AAChC,UAAI;AACH,cAAM,MAAM,MAAMS,YAAAA;AAClB,YAAI,IAAI,SAAS,GAAG;AACnB,qBAAW,QAAQ,IAAI,KAAK,IAAI,CAAC,UAAU;AAAA,YAC1C,IAAI,KAAK;AAAA,YACT,OAAO,KAAK;AAAA,UACZ,EAAC;AACF;QACA;AAAA,MACD,SAAQ,OAAO;AACfT,2FAAc,aAAa,KAAK;AAAA,MAChC;AAAA,IACF;AAEAU,kBAAK;AAAA,MACJ,MAAM,MAAM;AAAA,MACZ,CAAC,QAAQ;AAER,YAAI,MAAM,SAAS;AAAU;AAC7B,YAAI,kBAAkB,GAAG,GAAG;AAC3B,uBAAa,GAAG;AAAA,QAChB;AAAA,MACD;AAAA,MACD,EAAE,MAAM,MAAM,WAAW,KAAM;AAAA,IAChC;AAEAA,kBAAK;AAAA,MACJ,MAAM,MAAM;AAAA,MACZ,CAAC,QAAQ;AACR,YAAI,OAAO,SAAS,MAAM,WAAW,GAAG;AACvC;QACA;AACD,YAAI,CAAC;AAAK;AAGV,YAAI,iBAAiB,OAAO;AAC3B;AAAA,QACA;AAED,cAAM,gBAAgB;AACtB,YAAI,eAAe;AAClB,uBAAa,aAAa;AAC1B;AACA;AAAA,QACA;AAED,YAAI,kBAAkB,MAAM,UAAU,GAAG;AACxC,uBAAa,MAAM,UAAU;AAAA,QAC7B;AAAA,MACD;AAAA,IACF;AAEA;AACA;AAEA,aAAa;AAAA,MACZ;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,IACD,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AC7vBD,GAAG,gBAAgB,SAAS;"} \ No newline at end of file diff --git a/unpackage/dist/dev/.sourcemap/mp-weixin/components/hazard/hazardForm.js.map b/unpackage/dist/dev/.sourcemap/mp-weixin/components/hazard/hazardForm.js.map new file mode 100644 index 0000000..1555770 --- /dev/null +++ b/unpackage/dist/dev/.sourcemap/mp-weixin/components/hazard/hazardForm.js.map @@ -0,0 +1 @@ +{"version":3,"file":"hazardForm.js","sources":["components/hazard/hazardForm.js"],"sourcesContent":["import { buildAttachmentItem } from '@/utils/upload.js';\r\n\r\nexport const LEVEL_OPTIONS = [\r\n\t{ id: 2, title: '一般隐患' },\r\n\t{ id: 3, title: '重大隐患' }\r\n];\r\n\r\nexport const SOURCE_OPTIONS = [\r\n\t{ id: 1, title: '部门检查' },\r\n\t{ id: 2, title: '督导检查' },\r\n\t{ id: 3, title: '企业自查' },\r\n\t{ id: 4, title: '行业互查' }\r\n];\r\n\r\nexport const AI_LEVEL_MAP = {\r\n\t轻微: 0,\r\n\t轻微隐患: 0,\r\n\t一般: 0,\r\n\t一般隐患: 0,\r\n\t重大: 1,\r\n\t重大隐患: 1\r\n};\r\n\r\nexport function createEmptyHazardPayload() {\r\n\treturn {\r\n\t\tformData: {\r\n\t\t\ttitle: '',\r\n\t\t\tlevel: 0,\r\n\t\t\tsource: 0,\r\n\t\t\tdescription: '',\r\n\t\t\ttagIndex: 0,\r\n\t\t\ttagId: null,\r\n\t\t\tregulationId: null,\r\n\t\t\tregulationName: ''\r\n\t\t},\r\n\t\taddress: '',\r\n\t\tlng: 0,\r\n\t\tlat: 0,\r\n\t\tareaId: '',\r\n\t\tareaName: '',\r\n\t\tfileList: []\r\n\t};\r\n}\r\n\r\nexport function buildHiddenDangerParams(payload, extra = {}) {\r\n\tconst { formData, address, lng, lat, areaId, fileList } = payload;\r\n\tconst selectedTag = payload.tagOptions?.[formData.tagIndex];\r\n\tconst tagId = formData.tagId ?? (selectedTag ? selectedTag.id : null);\r\n\r\n\treturn {\r\n\t\ttitle: formData.title,\r\n\t\tlevel: LEVEL_OPTIONS[formData.level]?.id || 2,\r\n\t\tlng: lng || 0,\r\n\t\tlat: lat || 0,\r\n\t\taddress: address || '',\r\n\t\tareaId: areaId || null,\r\n\t\tdescription: formData.description || '',\r\n\t\tsource: SOURCE_OPTIONS[formData.source]?.title || '',\r\n\t\ttagId,\r\n\t\tattachments: (fileList || [])\r\n\t\t\t.filter((f) => f.status === 'success')\r\n\t\t\t.map((file) => buildAttachmentItem(file)),\r\n\t\tregulationId: formData.regulationId || null,\r\n\t\t...extra\r\n\t};\r\n}\r\n\r\nexport function hasValidHazardPayload(payload) {\r\n\tif (!payload) return false;\r\n\tconst { formData, fileList } = payload;\r\n\treturn !!(formData?.title && fileList?.length > 0);\r\n}\r\n"],"names":["buildAttachmentItem"],"mappings":";;AAEY,MAAC,gBAAgB;AAAA,EAC5B,EAAE,IAAI,GAAG,OAAO,OAAQ;AAAA,EACxB,EAAE,IAAI,GAAG,OAAO,OAAQ;AACzB;AAEY,MAAC,iBAAiB;AAAA,EAC7B,EAAE,IAAI,GAAG,OAAO,OAAQ;AAAA,EACxB,EAAE,IAAI,GAAG,OAAO,OAAQ;AAAA,EACxB,EAAE,IAAI,GAAG,OAAO,OAAQ;AAAA,EACxB,EAAE,IAAI,GAAG,OAAO,OAAQ;AACzB;AAEY,MAAC,eAAe;AAAA,EAC3B,IAAI;AAAA,EACJ,MAAM;AAAA,EACN,IAAI;AAAA,EACJ,MAAM;AAAA,EACN,IAAI;AAAA,EACJ,MAAM;AACP;AAEO,SAAS,2BAA2B;AAC1C,SAAO;AAAA,IACN,UAAU;AAAA,MACT,OAAO;AAAA,MACP,OAAO;AAAA,MACP,QAAQ;AAAA,MACR,aAAa;AAAA,MACb,UAAU;AAAA,MACV,OAAO;AAAA,MACP,cAAc;AAAA,MACd,gBAAgB;AAAA,IAChB;AAAA,IACD,SAAS;AAAA,IACT,KAAK;AAAA,IACL,KAAK;AAAA,IACL,QAAQ;AAAA,IACR,UAAU;AAAA,IACV,UAAU,CAAE;AAAA,EACd;AACA;AAEO,SAAS,wBAAwB,SAAS,QAAQ,IAAI;;AAC5D,QAAM,EAAE,UAAU,SAAS,KAAK,KAAK,QAAQ,SAAU,IAAG;AAC1D,QAAM,eAAc,aAAQ,eAAR,mBAAqB,SAAS;AAClD,QAAM,QAAQ,SAAS,UAAU,cAAc,YAAY,KAAK;AAEhE,SAAO;AAAA,IACN,OAAO,SAAS;AAAA,IAChB,SAAO,mBAAc,SAAS,KAAK,MAA5B,mBAA+B,OAAM;AAAA,IAC5C,KAAK,OAAO;AAAA,IACZ,KAAK,OAAO;AAAA,IACZ,SAAS,WAAW;AAAA,IACpB,QAAQ,UAAU;AAAA,IAClB,aAAa,SAAS,eAAe;AAAA,IACrC,UAAQ,oBAAe,SAAS,MAAM,MAA9B,mBAAiC,UAAS;AAAA,IAClD;AAAA,IACA,cAAc,YAAY,CAAE,GAC1B,OAAO,CAAC,MAAM,EAAE,WAAW,SAAS,EACpC,IAAI,CAAC,SAASA,aAAmB,oBAAC,IAAI,CAAC;AAAA,IACzC,cAAc,SAAS,gBAAgB;AAAA,IACvC,GAAG;AAAA,EACL;AACA;AAEO,SAAS,sBAAsB,SAAS;AAC9C,MAAI,CAAC;AAAS,WAAO;AACrB,QAAM,EAAE,UAAU,SAAU,IAAG;AAC/B,SAAO,CAAC,GAAE,qCAAU,WAAS,qCAAU,UAAS;AACjD;;;;;;;"} \ No newline at end of file diff --git a/unpackage/dist/dev/.sourcemap/mp-weixin/components/hazard/index.js.map b/unpackage/dist/dev/.sourcemap/mp-weixin/components/hazard/index.js.map new file mode 100644 index 0000000..a7ed8ab --- /dev/null +++ b/unpackage/dist/dev/.sourcemap/mp-weixin/components/hazard/index.js.map @@ -0,0 +1 @@ +{"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;"} \ No newline at end of file diff --git a/unpackage/dist/dev/.sourcemap/mp-weixin/components/hazardDetail/HazardDetailPanel.js.map b/unpackage/dist/dev/.sourcemap/mp-weixin/components/hazardDetail/HazardDetailPanel.js.map new file mode 100644 index 0000000..93e5a54 --- /dev/null +++ b/unpackage/dist/dev/.sourcemap/mp-weixin/components/hazardDetail/HazardDetailPanel.js.map @@ -0,0 +1 @@ +{"version":3,"file":"HazardDetailPanel.js","sources":["components/hazardDetail/HazardDetailPanel.vue","F:/software/HBuilderX/HBuilderX/plugins/uniapp-cli-vite/uniComponent:/RTovaGV4aWV5dW4vVGhyZWVDaGVja3NPbmVFeHBvc3VyZV9wbGF0Zm9ybS8xMi4wN2Nob25ncWl4aW5kZS_kuInmn6XkuIDmm53lhYnlsI_nqIvluo8vdGhyZWVvbmVjaGVja1_lsI_nqIvluo8vY29tcG9uZW50cy9oYXphcmREZXRhaWwvSGF6YXJkRGV0YWlsUGFuZWwudnVl"],"sourcesContent":["\n\n\n\n\n","import Component from 'E:/hexieyun/ThreeChecksOneExposure_platform/12.07chongqixinde/三查一曝光小程序/threeonecheck_小程序/components/hazardDetail/HazardDetailPanel.vue'\nwx.createComponent(Component)"],"names":["toRefs","useHazardDetailScroll","computed","getStatusClass","toImageUrl","uni"],"mappings":";;;;;;;;;;;;;;;;;;AAsUA,UAAM,QAAQ;AAWd,UAAM,EAAE,QAAQ,QAAO,IAAKA,cAAM,OAAC,KAAK;AAExC,UAAM;AAAA,MACL;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,IACD,IAAIC,8CAAqB,sBAAC,QAAQ,OAAO;AAEzC,UAAM,cAAcC,cAAQ,SAAC;;AAAMC,kDAAc,gBAAC,WAAM,WAAN,mBAAc,SAAQ,WAAM,WAAN,mBAAc,UAAU;AAAA,KAAC;AAEjG,UAAM,kBAAkB;AAAA,MACvB,GAAG;AAAA,MACH,GAAG;AAAA,IACJ;AAEA,UAAM,uBAAuB;AAAA,MAC5B,IAAI;AAAA,MACJ,MAAM;AAAA,MACN,IAAI;AAAA,MACJ,MAAM;AAAA,IACP;AAEA,UAAM,mBAAmB,CAAC,YAAY;AACrC,YAAM,QAAQ,mCAAS;AACvB,YAAM,YAAY,mCAAS;AAC3B,UAAI,SAAS,QAAQ,gBAAgB,KAAK,GAAG;AAC5C,eAAO,gBAAgB,KAAK;AAAA,MAC5B;AACD,UAAI,aAAa,qBAAqB,SAAS,GAAG;AACjD,eAAO,qBAAqB,SAAS;AAAA,MACrC;AACD,aAAO;AAAA,IACR;AAEA,UAAM,iBAAiB,CAAC,SAASC,gBAAU,WAAC,IAAI;AAEhD,UAAM,aAAa,CAAC,SAAS;AAC5B,UAAI,QAAQ,QAAQ,SAAS;AAAI,eAAO;AACxC,YAAM,MAAM,OAAO,IAAI;AACvB,aAAO,OAAO,MAAM,GAAG,IAAI,MAAM,GAAG,GAAG;AAAA,IACxC;AAEA,UAAM,gBAAgB,CAAC,SAAS;AAC/B,YAAM,MAAM,eAAe,IAAI;AAC/B,UAAI,CAAC;AAAK;AACVC,0BAAI,aAAa,EAAE,SAAS,KAAK,MAAM,CAAC,GAAG,EAAC,CAAE;AAAA,IAC/C;AAEA,UAAM,gBAAgB,CAAC,aAAa,UAAU;AAC7C,YAAM,QAAQ,eAAe,CAAE,GAC7B,OAAO,CAAC,MAAM,EAAE,aAAa,WAAW,CAAC,EAAE,QAAQ,EACnD,IAAI,CAAC,MAAM,eAAe,EAAE,QAAQ,CAAC,EACrC,OAAO,OAAO;AAChB,UAAI,CAAC,KAAK;AAAQ;AAClBA,oBAAAA,MAAI,aAAa,EAAE,SAAS,KAAK,KAAK,KAAK,KAAK,CAAC,GAAG,KAAI,CAAE;AAAA,IAC3D;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AC7YA,GAAG,gBAAgB,SAAS;"} \ No newline at end of file diff --git a/unpackage/dist/dev/.sourcemap/mp-weixin/components/hazardDetail/HazardDetailPanelV2.js.map b/unpackage/dist/dev/.sourcemap/mp-weixin/components/hazardDetail/HazardDetailPanelV2.js.map new file mode 100644 index 0000000..9fad1f5 --- /dev/null +++ b/unpackage/dist/dev/.sourcemap/mp-weixin/components/hazardDetail/HazardDetailPanelV2.js.map @@ -0,0 +1 @@ +{"version":3,"file":"HazardDetailPanelV2.js","sources":["components/hazardDetail/HazardDetailPanelV2.vue","F:/software/HBuilderX/HBuilderX/plugins/uniapp-cli-vite/uniComponent:/RTovaGV4aWV5dW4vVGhyZWVDaGVja3NPbmVFeHBvc3VyZV9wbGF0Zm9ybS8xMi4wN2Nob25ncWl4aW5kZS_kuInmn6XkuIDmm53lhYnlsI_nqIvluo8vdGhyZWVvbmVjaGVja1_lsI_nqIvluo8vY29tcG9uZW50cy9oYXphcmREZXRhaWwvSGF6YXJkRGV0YWlsUGFuZWxWMi52dWU"],"sourcesContent":["\n\n\n\n\n","import Component from 'E:/hexieyun/ThreeChecksOneExposure_platform/12.07chongqixinde/三查一曝光小程序/threeonecheck_小程序/components/hazardDetail/HazardDetailPanelV2.vue'\nwx.createComponent(Component)"],"names":["toRefs","useHazardDetailScroll","computed","watch","toImageUrl","uni"],"mappings":";;;;;;;;;;;;;;;;;;;;;;AA8UA,UAAM,QAAQ;AAed,UAAM,EAAE,QAAQ,QAAO,IAAKA,cAAM,OAAC,KAAK;AAExC,UAAM;AAAA,MACL;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,IACD,IAAIC,8CAAqB,sBAAC,QAAQ,OAAO;AAEzC,UAAM,kBAAkBC,cAAQ,SAAC,MAAM;AACtC,YAAM,SAAS,MAAM,aAAa,IAAI,MAAM,aAAa;AACzD,aAAO,EAAE,QAAQ,GAAG,MAAM,KAAI;AAAA,IAC/B,CAAC;AAED,UAAM,kBAAkBA,cAAQ,SAAC,MAAM;AACtC,YAAM,SAAS,MAAM,aAAa,IAAI,MAAM,aAAa;AACzD,aAAO,EAAE,QAAQ,GAAG,MAAM,KAAI;AAAA,IAC/B,CAAC;AAEDC,kBAAK;AAAA,MACJ,MAAM,MAAM;AAAA,MACZ,CAAC,WAAW;AACX,YAAI,SAAS,GAAG;AACf;AACA,qBAAW,uBAAuB,GAAG;AAAA,QACrC;AAAA,MACD;AAAA,IACF;AAEA,UAAM,kBAAkB;AAAA,MACvB,GAAG;AAAA,MACH,GAAG;AAAA,IACJ;AAEA,UAAM,uBAAuB;AAAA,MAC5B,IAAI;AAAA,MACJ,MAAM;AAAA,MACN,IAAI;AAAA,MACJ,MAAM;AAAA,IACP;AAEA,UAAM,mBAAmB,CAAC,YAAY;AACrC,YAAM,QAAQ,mCAAS;AACvB,YAAM,YAAY,mCAAS;AAC3B,UAAI,SAAS,QAAQ,gBAAgB,KAAK,GAAG;AAC5C,eAAO,gBAAgB,KAAK;AAAA,MAC5B;AACD,UAAI,aAAa,qBAAqB,SAAS,GAAG;AACjD,eAAO,qBAAqB,SAAS;AAAA,MACrC;AACD,aAAO;AAAA,IACR;AAEA,UAAM,iBAAiB,CAAC,SAASC,gBAAU,WAAC,IAAI;AAEhD,UAAM,aAAa,CAAC,SAAS;AAC5B,UAAI,QAAQ,QAAQ,SAAS;AAAI,eAAO;AACxC,YAAM,MAAM,OAAO,IAAI;AACvB,aAAO,OAAO,MAAM,GAAG,IAAI,MAAM,GAAG,GAAG;AAAA,IACxC;AAEA,UAAM,gBAAgB,CAAC,SAAS;AAC/B,YAAM,MAAM,eAAe,IAAI;AAC/B,UAAI,CAAC;AAAK;AACVC,0BAAI,aAAa,EAAE,SAAS,KAAK,MAAM,CAAC,GAAG,EAAC,CAAE;AAAA,IAC/C;AAEA,UAAM,gBAAgB,CAAC,aAAa,UAAU;AAC7C,YAAM,QAAQ,eAAe,CAAE,GAC7B,OAAO,CAAC,MAAM,EAAE,aAAa,WAAW,CAAC,EAAE,QAAQ,EACnD,IAAI,CAAC,MAAM,eAAe,EAAE,QAAQ,CAAC,EACrC,OAAO,OAAO;AAChB,UAAI,CAAC,KAAK;AAAQ;AAClBA,oBAAAA,MAAI,aAAa,EAAE,SAAS,KAAK,KAAK,KAAK,KAAK,CAAC,GAAG,KAAI,CAAE;AAAA,IAC3D;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AC3aA,GAAG,gBAAgB,SAAS;"} \ No newline at end of file diff --git a/unpackage/dist/dev/.sourcemap/mp-weixin/components/hazardDetail/hazardDetail.js.map b/unpackage/dist/dev/.sourcemap/mp-weixin/components/hazardDetail/hazardDetail.js.map new file mode 100644 index 0000000..10141b0 --- /dev/null +++ b/unpackage/dist/dev/.sourcemap/mp-weixin/components/hazardDetail/hazardDetail.js.map @@ -0,0 +1 @@ +{"version":3,"file":"hazardDetail.js","sources":["components/hazardDetail/hazardDetail.js"],"sourcesContent":["/** 隐患详情历史节点类型 */\nexport const HAZARD_NODE_TYPES = {\n\tSUBMIT: 'submit',\n\tASSIGN: 'assign',\n\tRECTIFY: 'rectify',\n\tVERIFY: 'verify',\n\tWRITEOFF: 'writeoff'\n};\n\nexport const HAZARD_STATUS_CLASS_MAP = {\n\t1: 'status-blue',\n\t2: 'status-orange',\n\t3: 'status-red',\n\t4: 'status-yellow',\n\t5: 'status-green'\n};\n\nconst STATUS_NAME_CLASS_MAP = {\n\t待交办: 'status-blue',\n\t待整改: 'status-orange',\n\t整改中: 'status-orange',\n\t待验收: 'status-red',\n\t待销号: 'status-yellow',\n\t已完成: 'status-green',\n\t已销号: 'status-green'\n};\n\nconst LEVEL_NAME_MAP = {\n\t2: '一般隐患',\n\t3: '重大隐患'\n};\n\nexport function getLevelName(level) {\n\treturn LEVEL_NAME_MAP[level] || '未知';\n}\n\nexport function getStatusClass(status, statusName) {\n\tif (statusName && STATUS_NAME_CLASS_MAP[statusName]) {\n\t\treturn STATUS_NAME_CLASS_MAP[statusName];\n\t}\n\treturn HAZARD_STATUS_CLASS_MAP[status] || '';\n}\n\nconst LEVEL_CLASS_MAP = {\n\t2: 'level-normal',\n\t3: 'level-major'\n};\n\nconst LEVEL_NAME_CLASS_MAP = {\n\t一般: 'level-normal',\n\t一般隐患: 'level-normal',\n\t重大: 'level-major',\n\t重大隐患: 'level-major'\n};\n\nexport function getStepIconPath(type, active = false) {\n\tconst baseMap = {\n\t\tsubmit: 'tijiao',\n\t\tassign: 'jiaoban',\n\t\trectify: 'zhenggai',\n\t\tverify: 'yanshou',\n\t\twriteoff: 'xiaohao'\n\t};\n\tconst base = baseMap[type] || 'tijiao';\n\tif (base === 'zhenggai') {\n\t\treturn active\n\t\t\t? '/static/yinhuan_detail/zhenggai_selected.png'\n\t\t\t: '/static/yinhuan_detail/zhenggai__unselected.png';\n\t}\n\treturn `/static/yinhuan_detail/${base}__${active ? 'selected' : 'unselected'}.png`;\n}\n\nexport function getLevelClass(level, levelName) {\n\tif (level != null && LEVEL_CLASS_MAP[level]) {\n\t\treturn LEVEL_CLASS_MAP[level];\n\t}\n\tif (levelName && LEVEL_NAME_CLASS_MAP[levelName]) {\n\t\treturn LEVEL_NAME_CLASS_MAP[levelName];\n\t}\n\treturn '';\n}\n\n/** 将姓名数组或字符串格式化为「a、b、c」 */\nexport function formatNameList(names, fallback = '-') {\n\tif (Array.isArray(names) && names.length) {\n\t\treturn names.join('、');\n\t}\n\tif (typeof names === 'string' && names.trim()) {\n\t\tconst parts = names.split(/[,,、]/).map((s) => s.trim()).filter(Boolean);\n\t\treturn parts.length ? parts.join('、') : names;\n\t}\n\treturn fallback;\n}\n\n/** 判断是否为销号记录(type=2 或 typeName=销号) */\nexport function isWriteoffRecord(record) {\n\tif (!record) return false;\n\treturn record.type === 2 || record.typeName === '销号';\n}\n\nfunction buildVerifyNode(record) {\n\treturn {\n\t\ttype: HAZARD_NODE_TYPES.VERIFY,\n\t\tnodeName: '验收',\n\t\ttitlePrefix: '验收',\n\t\toperator: record.verifierName || '-',\n\t\ttime: record.verifyTime || '-',\n\t\tcontent: {\n\t\t\tresultName: record.resultName || '-',\n\t\t\tremark: record.remark || '',\n\t\t\tattachments: record.attachments || [],\n\t\t\tsignPath: record.signPath || '',\n\t\t\tverifyDeptName: record.verifyDeptName || '-'\n\t\t}\n\t};\n}\n\nfunction buildWriteoffNode(record) {\n\treturn {\n\t\ttype: HAZARD_NODE_TYPES.WRITEOFF,\n\t\tnodeName: '销号',\n\t\ttitlePrefix: '销号',\n\t\toperator: record.verifierName || '-',\n\t\ttime: record.verifyTime || '-',\n\t\tcontent: {\n\t\t\tresultName: record.resultName || '-',\n\t\t\tremark: record.remark || '',\n\t\t\tattachments: record.attachments || [],\n\t\t\tsignPath: record.signPath || '',\n\t\t\twriteoffDeptName: record.writeoffDeptName || '-'\n\t\t}\n\t};\n}\n\n/** 合并验收/销号记录,按 verifyId 去重 */\nfunction appendAuditNodes(list, records, seenIds) {\n\t(records || []).forEach((record) => {\n\t\tif (!record) return;\n\n\t\tconst key = record.verifyId ?? record.id;\n\t\tif (key != null) {\n\t\t\tif (seenIds.has(key)) return;\n\t\t\tseenIds.add(key);\n\t\t}\n\n\t\tlist.push(isWriteoffRecord(record) ? buildWriteoffNode(record) : buildVerifyNode(record));\n\t});\n}\n\nfunction resolveWriteoffRecords(flow) {\n\treturn flow.writeOffs || flow.writeoffs || [];\n}\n\n/** 解析整改责任人(兼容数组、逗号分隔字符串、单人字段) */\nexport function resolveRectifierNames(rectify) {\n\tif (!rectify) return '-';\n\tif (Array.isArray(rectify.rectifierNames) && rectify.rectifierNames.length) {\n\t\treturn rectify.rectifierNames.join('、');\n\t}\n\tif (Array.isArray(rectify.memberNames) && rectify.memberNames.length) {\n\t\treturn rectify.memberNames.join('、');\n\t}\n\treturn formatNameList(rectify.rectifierName, '-');\n}\n\n/**\n * 将隐患详情转为步骤历史列表(与后台 HazardDetailDrawer 保持一致)\n * @param {Object} data 隐患详情\n * @returns {Array}\n */\nexport function generateHazardHistory(data) {\n\tif (!data) return [];\n\n\tconst list = [];\n\n\tlist.push({\n\t\ttype: HAZARD_NODE_TYPES.SUBMIT,\n\t\tnodeName: '提交',\n\t\ttitlePrefix: '提交',\n\t\toperator: data.reporterName || '-',\n\t\ttime: data.createdAt || '-',\n\t\tcontent: {\n\t\t\ttitle: data.title || '-',\n\t\t\tsource: data.source || '-',\n\t\t\tareaName: data.areaName || '-',\n\t\t\tareaColor: data.areaColor || '',\n\t\t\taddress: data.address || '-',\n\t\t\tlevel: data.level,\n\t\t\tlevelName: data.levelName || getLevelName(data.level),\n\t\t\ttagName: data.tagName || '-',\n\t\t\tdescription: data.description || '-',\n\t\t\tattachments: data.attachments || [],\n\t\t\tlegalBasis: data.legalBasis || data.regulationName || '-',\n\t\t\treporterPhone: data.reporterPhone || '-',\n\t\t\treportDeptName: data.reportDeptName || '-'\n\t\t}\n\t});\n\n\tif (data.assignFlows && data.assignFlows.length > 0) {\n\t\tdata.assignFlows.forEach((flow) => {\n\t\t\tif (flow.assignId) {\n\t\t\t\tlist.push({\n\t\t\t\t\ttype: HAZARD_NODE_TYPES.ASSIGN,\n\t\t\t\t\tnodeName: '交办',\n\t\t\t\t\ttitlePrefix: '交办',\n\t\t\t\t\toperator: flow.assignerName || '-',\n\t\t\t\t\ttime: flow.assignTime || '-',\n\t\t\t\t\tcontent: {\n\t\t\t\t\t\tassigneeName: flow.assigneeName || '-',\n\t\t\t\t\t\tdeadline: flow.deadline || '-',\n\t\t\t\t\t\tassignDeptName: flow.assignDeptName || '-',\n\t\t\t\t\t\tassignRemark: flow.assignRemark || '-',\n\t\t\t\t\t\tpriorityName: flow.priorityName || '-'\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t}\n\t\t\tif (flow.rectify) {\n\t\t\t\tlist.push({\n\t\t\t\t\ttype: HAZARD_NODE_TYPES.RECTIFY,\n\t\t\t\t\tnodeName: '整改',\n\t\t\t\t\ttitlePrefix: '整改',\n\t\t\t\t\toperator: flow.rectify.rectifierName || '-',\n\t\t\t\t\ttime: flow.rectify.rectifyTime || '-',\n\t\t\t\t\tcontent: {\n\t\t\t\t\t\trectifyPlan: flow.rectify.rectifyPlan || '-',\n\t\t\t\t\t\trectifyResult: flow.rectify.rectifyResult || '-',\n\t\t\t\t\t\trectificationMeasures: flow.rectify.rectificationMeasures || '-',\n\t\t\t\t\t\tcontrolMeasures: flow.rectify.controlMeasures || '-',\n\t\t\t\t\t\tdeadline: flow.deadline || '-',\n\t\t\t\t\t\trectifierNames: resolveRectifierNames(flow.rectify),\n\t\t\t\t\t\tmanagerNames: formatNameList(flow.rectify.managerNames, '-'),\n\t\t\t\t\t\tplanCost: flow.rectify.planCost,\n\t\t\t\t\t\tactualCost: flow.rectify.actualCost,\n\t\t\t\t\t\tattachments: flow.rectify.attachments || [],\n\t\t\t\t\t\tsignPath: flow.rectify.signPath || '',\n\t\t\t\t\t\trectifyStatusName: flow.rectify.rectifyStatusName || '-'\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t}\n\t\t\tconst seenAuditIds = new Set();\n\t\t\tappendAuditNodes(list, flow.verifies || [], seenAuditIds);\n\t\t\tappendAuditNodes(list, resolveWriteoffRecords(flow), seenAuditIds);\n\t\t});\n\t}\n\n\treturn list;\n}\n\nconst LONG_DESCRIPTION =\n\t'消防通道内堆放大量纸箱及杂物,影响疏散通道畅通,存在火灾安全隐患。' +\n\t'现场检查发现通道宽度不足1.2米,部分区域被临时物料占用,紧急情况下可能影响人员撤离。' +\n\t'建议立即清理并建立日常巡查机制,防止问题反弹。';\n\n/** 开发联调前使用的 mock 详情数据(各节点均含完整假数据) */\nexport const MOCK_HAZARD_DETAIL = {\n\tid: 'mock-hazard-001',\n\tstatus: 2,\n\tstatusName: '整改中',\n\treporterName: '张三',\n\treporterPhone: '13800138000',\n\treportDeptName: '安全管理部',\n\tcreatedAt: '2026-06-01 09:30:00',\n\ttitle: '消防通道堆放杂物',\n\tlevel: 2,\n\tlevelName: '一般隐患',\n\tsource: '部门检查',\n\tareaName: '生产车间A区',\n\tareaColor: '#409EFF',\n\taddress: '办公楼3层东侧消防通道',\n\ttagName: '消防安全',\n\tdescription: LONG_DESCRIPTION,\n\tlegalBasis: '《中华人民共和国消防法》第二十八条',\n\tregulationName: '《中华人民共和国消防法》第二十八条',\n\tattachments: [\n\t\t{\n\t\t\tfileName: 'hazard-1.jpg',\n\t\t\tfilePath: 'https://picsum.photos/seed/hazard1/200/200',\n\t\t\tfileType: 'image'\n\t\t},\n\t\t{\n\t\t\tfileName: 'hazard-2.jpg',\n\t\t\tfilePath: 'https://picsum.photos/seed/hazard2/200/200',\n\t\t\tfileType: 'image'\n\t\t},\n\t\t{\n\t\t\tfileName: 'hazard-3.jpg',\n\t\t\tfilePath: 'https://picsum.photos/seed/hazard3/200/200',\n\t\t\tfileType: 'image'\n\t\t}\n\t],\n\tassignFlows: [\n\t\t{\n\t\t\tassignId: 'mock-assign-001',\n\t\t\tassignerName: '李主管',\n\t\t\tassignTime: '2026-06-02 10:00:00',\n\t\t\tassigneeName: '王整改',\n\t\t\tassignDeptName: '设备保障部',\n\t\t\tassignRemark: '该隐患位于主疏散通道,请优先处理,务必在整改期限内完成闭环。',\n\t\t\tpriorityName: '高',\n\t\t\tdeadline: '2026-06-10 18:00:00',\n\t\t\trectify: {\n\t\t\t\trectifyId: 'mock-rectify-001',\n\t\t\t\trectifierName: '王整改',\n\t\t\t\trectifyTime: '2026-06-08 15:20:00',\n\t\t\t\trectifyStatusName: '已完成',\n\t\t\t\trectifyPlan:\n\t\t\t\t\t'立即清理消防通道杂物,并设置警示标识,后续每周巡查一次。' +\n\t\t\t\t\t'对责任区域进行划分,明确禁止堆放物料的范围,同时组织一次消防安全培训。',\n\t\t\t\trectifyResult: '已完成清理,通道恢复畅通,现场已张贴禁止堆放标识。',\n\t\t\t\trectificationMeasures: '组织人员清理杂物,划定禁止堆放区域,增加日常巡检频次。',\n\t\t\t\tcontrolMeasures: '安装监控并纳入日常巡检清单,发现反弹情况立即上报。',\n\t\t\t\trectifierNames: ['王整改', '赵协助'],\n\t\t\t\tmanagerNames: ['李主管'],\n\t\t\t\tplanCost: 500,\n\t\t\t\tactualCost: 380,\n\t\t\t\tattachments: [\n\t\t\t\t\t{\n\t\t\t\t\t\tfileName: 'rectify-1.jpg',\n\t\t\t\t\t\tfilePath: 'https://picsum.photos/seed/rectify1/200/200',\n\t\t\t\t\t\tfileType: 'image'\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tfileName: 'rectify-2.jpg',\n\t\t\t\t\t\tfilePath: 'https://picsum.photos/seed/rectify2/200/200',\n\t\t\t\t\t\tfileType: 'image'\n\t\t\t\t\t}\n\t\t\t\t],\n\t\t\t\tsignPath: 'https://picsum.photos/seed/sign1/300/120'\n\t\t\t},\n\t\t\tverifies: [\n\t\t\t\t{\n\t\t\t\t\tverifierName: '陈验收',\n\t\t\t\t\tverifyTime: '2026-06-09 11:00:00',\n\t\t\t\t\tverifyDeptName: '安全监察组',\n\t\t\t\t\tresultName: '通过',\n\t\t\t\t\tremark: '现场复查通道畅通,整改到位,未发现反弹迹象。',\n\t\t\t\t\tattachments: [\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tfileName: 'verify-1.jpg',\n\t\t\t\t\t\t\tfilePath: 'https://picsum.photos/seed/verify1/200/200',\n\t\t\t\t\t\t\tfileType: 'image'\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tfileName: 'verify-2.jpg',\n\t\t\t\t\t\t\tfilePath: 'https://picsum.photos/seed/verify2/200/200',\n\t\t\t\t\t\t\tfileType: 'image'\n\t\t\t\t\t\t}\n\t\t\t\t\t],\n\t\t\t\t\tsignPath: 'https://picsum.photos/seed/sign2/300/120'\n\t\t\t\t}\n\t\t\t],\n\t\t\twriteOffs: [\n\t\t\t\t{\n\t\t\t\t\tverifierName: '刘销号',\n\t\t\t\t\tverifyTime: '2026-06-10 16:30:00',\n\t\t\t\t\twriteoffDeptName: '公司安委会',\n\t\t\t\t\tresultName: '通过',\n\t\t\t\t\tremark: '隐患已消除,整改资料齐全,同意销号。',\n\t\t\t\t\tattachments: [\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tfileName: 'writeoff-1.jpg',\n\t\t\t\t\t\t\tfilePath: 'https://picsum.photos/seed/writeoff1/200/200',\n\t\t\t\t\t\t\tfileType: 'image'\n\t\t\t\t\t\t}\n\t\t\t\t\t],\n\t\t\t\t\tsignPath: 'https://picsum.photos/seed/sign3/300/120'\n\t\t\t\t}\n\t\t\t]\n\t\t}\n\t]\n};\n"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/unpackage/dist/dev/.sourcemap/mp-weixin/components/hazardDetail/useHazardDetailScroll.js.map b/unpackage/dist/dev/.sourcemap/mp-weixin/components/hazardDetail/useHazardDetailScroll.js.map new file mode 100644 index 0000000..c3552f4 --- /dev/null +++ b/unpackage/dist/dev/.sourcemap/mp-weixin/components/hazardDetail/useHazardDetailScroll.js.map @@ -0,0 +1 @@ +{"version":3,"file":"useHazardDetailScroll.js","sources":["components/hazardDetail/useHazardDetailScroll.js"],"sourcesContent":["import { ref, watch, nextTick, getCurrentInstance } from 'vue';\r\nimport { onReady } from '@dcloudio/uni-app';\r\nimport { generateHazardHistory } from './hazardDetail.js';\r\n\r\n/**\r\n * 隐患详情左右联动滚动(与 HazardDetailPanel 保持一致)\r\n * - 右侧滚动时,根据 node-section 位置同步左侧 activeIndex\r\n * - 点击左侧步骤时,右侧 scroll-into-view 定位到对应卡片\r\n */\r\nexport function useHazardDetailScroll(detailSource, loadingSource) {\r\n\tconst instance = getCurrentInstance();\r\n\tconst queryScope = instance?.proxy || instance;\r\n\r\n\tconst historyList = ref([]);\r\n\tconst activeIndex = ref(0);\r\n\tconst sectionOffsets = ref([0]);\r\n\tconst contentViewHeight = ref(0);\r\n\tconst contentScrollIntoView = ref('');\r\n\tconst stepScrollIntoView = ref('');\r\n\tconst scrollWithAnimation = ref(true);\r\n\tconst isProgrammaticScroll = ref(false);\r\n\tlet measureLayoutTimer = null;\r\n\r\n\tconst measureLayout = () => {\r\n\t\tif (!historyList.value.length) return;\r\n\r\n\t\tnextTick(() => {\r\n\t\t\tconst query = uni.createSelectorQuery().in(queryScope);\r\n\t\t\tquery.select('.content-scroll').boundingClientRect();\r\n\t\t\tquery.select('.content-scroll').scrollOffset();\r\n\t\t\tquery.selectAll('.node-section').boundingClientRect();\r\n\t\t\tquery.exec((res) => {\r\n\t\t\t\tconst containerRect = res?.[0];\r\n\t\t\t\tconst scrollOffset = res?.[1];\r\n\t\t\t\tconst sections = res?.[2] || [];\r\n\t\t\t\tif (!containerRect || !sections.length) return;\r\n\r\n\t\t\t\tcontentViewHeight.value = containerRect.height || 0;\r\n\t\t\t\tconst baseScrollTop = scrollOffset?.scrollTop || 0;\r\n\t\t\t\tsectionOffsets.value = sections.map(\r\n\t\t\t\t\t(section) => section.top - containerRect.top + baseScrollTop\r\n\t\t\t\t);\r\n\t\t\t});\r\n\t\t});\r\n\t};\r\n\r\n\tconst scheduleMeasureLayout = () => {\r\n\t\tclearTimeout(measureLayoutTimer);\r\n\t\tmeasureLayoutTimer = setTimeout(() => {\r\n\t\t\tmeasureLayout();\r\n\t\t}, 80);\r\n\t};\r\n\r\n\tconst rebuildHistory = (data) => {\r\n\t\thistoryList.value = generateHazardHistory(data);\r\n\t\tactiveIndex.value = 0;\r\n\t\tcontentScrollIntoView.value = '';\r\n\t\tscheduleMeasureLayout();\r\n\t\tsetTimeout(scheduleMeasureLayout, 300);\r\n\t};\r\n\r\n\tconst syncActiveIndex = (scrollTop, scrollHeight = 0) => {\r\n\t\tconst count = historyList.value.length;\r\n\t\tif (!count) return;\r\n\r\n\t\tif (scrollHeight > 0 && contentViewHeight.value > 0) {\r\n\t\t\tif (scrollTop + contentViewHeight.value >= scrollHeight - 60) {\r\n\t\t\t\tif (activeIndex.value !== count - 1) {\r\n\t\t\t\t\tactiveIndex.value = count - 1;\r\n\t\t\t\t}\r\n\t\t\t\treturn;\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\tconst offsets = sectionOffsets.value;\r\n\t\tif (!offsets.length) return;\r\n\r\n\t\tlet idx = 0;\r\n\t\tfor (let i = offsets.length - 1; i >= 0; i--) {\r\n\t\t\tif (scrollTop >= offsets[i] - 80) {\r\n\t\t\t\tidx = i;\r\n\t\t\t\tbreak;\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\tif (idx !== activeIndex.value) {\r\n\t\t\tactiveIndex.value = idx;\r\n\t\t}\r\n\t};\r\n\r\n\tconst onContentScroll = (e) => {\r\n\t\tif (isProgrammaticScroll.value) return;\r\n\t\tconst { scrollTop = 0, scrollHeight = 0 } = e.detail || {};\r\n\t\tsyncActiveIndex(scrollTop, scrollHeight);\r\n\t\tscheduleMeasureLayout();\r\n\t};\r\n\r\n\tconst onScrollToLower = () => {\r\n\t\tconst count = historyList.value.length;\r\n\t\tif (count > 0 && activeIndex.value !== count - 1) {\r\n\t\t\tactiveIndex.value = count - 1;\r\n\t\t}\r\n\t};\r\n\r\n\tconst scrollToNode = (index) => {\r\n\t\tif (index < 0 || index >= historyList.value.length) return;\r\n\r\n\t\tisProgrammaticScroll.value = true;\r\n\t\tscrollWithAnimation.value = true;\r\n\t\tactiveIndex.value = index;\r\n\t\tcontentScrollIntoView.value = 'hazard-node-' + index;\r\n\r\n\t\tsetTimeout(() => {\r\n\t\t\tcontentScrollIntoView.value = '';\r\n\t\t\tisProgrammaticScroll.value = false;\r\n\t\t\tscheduleMeasureLayout();\r\n\t\t}, 350);\r\n\t};\r\n\r\n\twatch(\r\n\t\t() => (typeof loadingSource === 'function' ? loadingSource() : loadingSource?.value),\r\n\t\t(loading) => {\r\n\t\t\tif (!loading) {\r\n\t\t\t\tscheduleMeasureLayout();\r\n\t\t\t\tsetTimeout(scheduleMeasureLayout, 300);\r\n\t\t\t}\r\n\t\t}\r\n\t);\r\n\r\n\twatch(\r\n\t\t() => (typeof detailSource === 'function' ? detailSource() : detailSource?.value),\r\n\t\t(val) => rebuildHistory(val),\r\n\t\t{ immediate: true, deep: true }\r\n\t);\r\n\r\n\twatch(activeIndex, (index) => {\r\n\t\tstepScrollIntoView.value = 'hazard-step-' + index;\r\n\t\tsetTimeout(() => {\r\n\t\t\tstepScrollIntoView.value = '';\r\n\t\t}, 300);\r\n\t});\r\n\r\n\twatch(\r\n\t\t() => historyList.value.length,\r\n\t\t() => scheduleMeasureLayout()\r\n\t);\r\n\r\n\tonReady(() => {\r\n\t\tscheduleMeasureLayout();\r\n\t\tsetTimeout(scheduleMeasureLayout, 300);\r\n\t});\r\n\r\n\treturn {\r\n\t\thistoryList,\r\n\t\tactiveIndex,\r\n\t\tcontentScrollIntoView,\r\n\t\tstepScrollIntoView,\r\n\t\tscrollWithAnimation,\r\n\t\tonContentScroll,\r\n\t\tonScrollToLower,\r\n\t\tscrollToNode,\r\n\t\tscheduleMeasureLayout\r\n\t};\r\n}\r\n"],"names":["getCurrentInstance","ref","nextTick","uni","generateHazardHistory","watch","onReady"],"mappings":"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"} \ No newline at end of file diff --git a/unpackage/dist/dev/.sourcemap/mp-weixin/pages/Inspectionresult/Inspectionresult.js.map b/unpackage/dist/dev/.sourcemap/mp-weixin/pages/Inspectionresult/Inspectionresult.js.map index 920a030..acdc571 100644 --- a/unpackage/dist/dev/.sourcemap/mp-weixin/pages/Inspectionresult/Inspectionresult.js.map +++ b/unpackage/dist/dev/.sourcemap/mp-weixin/pages/Inspectionresult/Inspectionresult.js.map @@ -1 +1 @@ -{"version":3,"file":"Inspectionresult.js","sources":["pages/Inspectionresult/Inspectionresult.vue","F:/software/HBuilderX/HBuilderX/plugins/uniapp-cli-vite/uniPage:/cGFnZXMvSW5zcGVjdGlvbnJlc3VsdC9JbnNwZWN0aW9ucmVzdWx0LnZ1ZQ"],"sourcesContent":["\r\n\r\n\r\n\r\n\r\n","import MiniProgramPage from 'E:/hexieyun/ThreeChecksOneExposure_platform/12.07chongqixinde/三查一曝光小程序/threeonecheck_小程序/pages/Inspectionresult/Inspectionresult.vue'\nwx.createPage(MiniProgramPage)"],"names":["ref","reactive","uni","getRegulationList","getAreaList","computed","getHiddenDangerLabelList","getCurrentInstance","createUploadListHandlers","analyzeHazardImage","nextTick","buildAttachmentItem","addHiddenDanger","submitCheckResult","enterCheckPlan","watch","onLoad"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAwRC,UAAM,aAAaA,kBAAI,EAAE;AAGzB,UAAM,cAAcA,kBAAI,GAAG;AAC3B,UAAM,eAAeA,kBAAI,GAAG;AAE5B,UAAM,YAAYA,kBAAI,IAAI;AAG1B,UAAM,aAAaC,cAAAA,SAAS;AAAA,MAC1B;AAAA,QACE,MAAM;AAAA,QACN,OAAO;AAAA,QACP,UAAU;AAAA,MACX;AAAA,MACD;AAAA,QACE,MAAM;AAAA,QACN,OAAO;AAAA,QACP,UAAU;AAAA,MACX;AAAA,MACD;AAAA,QACE,MAAM;AAAA,QACN,OAAO;AAAA,QACP,UAAU;AAAA,MACX;AAAA,IACJ,CAAE;AAGD,UAAM,cAAcD,kBAAI,EAAE;AAE1B,UAAM,cAAc,CAAC,MAAM;AAC1BE,6FAAY,eAAe,CAAC;AAE5B,UAAI,MAAM,MAAM;AACf;MACA;AAAA,IACH;AAEC,UAAM,cAAc,CAAC,MAAM;AAC1BA,6FAAY,eAAe,CAAC;AAAA,IAC9B;AAGC,UAAM,SAASF,kBAAI,EAAE;AAKrB,UAAM,kBAAkBA,kBAAI,KAAK;AAGjC,UAAM,iBAAiBC,cAAAA,SAAS;AAAA,MAC/B,OAAO;AAAA,MACP,OAAO;AAAA,MACP,QAAQ;AAAA,MACR,aAAa;AAAA,MACb,UAAU;AAAA,MACV,cAAc;AAAA;AAAA,MACd,gBAAgB;AAAA;AAAA,IAClB,CAAE;AAGD,UAAM,gBAAgBD,kBAAI,EAAE;AAC5B,UAAM,YAAYA,kBAAI,CAAC;AACvB,UAAM,YAAYA,kBAAI,CAAC;AAGvB,UAAM,iBAAiBA,kBAAI,KAAK;AAChC,UAAM,WAAWA,kBAAI,CAAA,CAAE;AACvB,UAAM,iBAAiBA,kBAAI,EAAE;AAC7B,UAAM,mBAAmBA,kBAAI,EAAE;AAC/B,UAAM,aAAaA,kBAAI,EAAE;AAGzB,UAAM,eAAeA,kBAAI,KAAK;AAC9B,UAAM,aAAaA,kBAAI,EAAE;AACzB,UAAM,gBAAgBA,kBAAI,IAAI;AAC9B,UAAM,kBAAkBA,kBAAI,EAAE;AAC9B,UAAM,UAAUA,kBAAI,CAAA,CAAE;AACtB,UAAM,aAAaA,kBAAI,KAAK;AAC5B,UAAM,aAAaA,kBAAI,CAAC;AACxB,UAAM,cAAcA,kBAAI,EAAE;AAC1B,UAAM,aAAaA,kBAAI,IAAI;AAG3B,UAAM,eAAe,MAAM;AAC1B,mBAAa,QAAQ;AACrB,UAAI,QAAQ,MAAM,WAAW,GAAG;AAC/B;MACA;AAAA,IACH;AAGC,UAAM,sBAAsB,OAAO,aAAa,UAAU;AACzD,UAAI,WAAW;AAAO;AACtB,iBAAW,QAAQ;AACnB,UAAI;AACH,cAAM,SAAS;AAAA,UACd,SAAS,WAAW;AAAA,UACpB,UAAU,YAAY;AAAA,UACtB,QAAQ;AAAA;AAAA,QACZ;AACG,YAAI,WAAW,SAAS,WAAW,MAAM,KAAI,GAAI;AAChD,iBAAO,UAAU,WAAW,MAAM,KAAI;AAAA,QACtC;AAED,cAAM,MAAM,MAAMG,8BAAkB,MAAM;AAC1C,YAAI,IAAI,SAAS,GAAG;AACnB,gBAAM,UAAU,IAAI,KAAK,WAAW,IAAI,QAAQ;AAChD,cAAI,YAAY;AACf,oBAAQ,QAAQ,CAAC,GAAG,QAAQ,OAAO,GAAG,OAAO;AAAA,UAClD,OAAW;AACN,oBAAQ,QAAQ;AAAA,UAChB;AACD,gBAAM,QAAQ,IAAI,KAAK,SAAS;AAChC,qBAAW,QAAQ,QAAQ,MAAM,SAAS;AAAA,QAC1C;AAAA,MACD,SAAQ,OAAO;AACfD,sBAAc,MAAA,MAAA,SAAA,sDAAA,aAAa,KAAK;AAAA,MACnC,UAAY;AACT,mBAAW,QAAQ;AAAA,MACnB;AAAA,IACH;AAGC,UAAM,mBAAmB,MAAM;AAC9B,iBAAW,QAAQ;AACnB,cAAQ,QAAQ;AAChB,iBAAW,QAAQ;AACnB;IACF;AAGC,UAAM,cAAc,MAAM;AACzB,UAAI,CAAC,WAAW,SAAS,WAAW;AAAO;AAC3C,iBAAW;AACX,0BAAoB,IAAI;AAAA,IAC1B;AAGC,UAAM,YAAY,CAAC,SAAS;AAC3B,oBAAc,QAAQ,KAAK;AAC3B,sBAAgB,QAAQ,KAAK,UAAU,KAAK,WAAW;AAAA,IACzD;AAGC,UAAM,aAAa,MAAM;AACxB,UAAI,cAAc,OAAO;AACxB,uBAAe,eAAe,cAAc;AAC5C,uBAAe,iBAAiB,gBAAgB;AAAA,MAChD;AACD,mBAAa,QAAQ;AAAA,IACvB;AAGC,UAAM,gBAAgB,YAAY;AACjC,UAAI;AACH,cAAM,MAAM,MAAME,2BAAAA;AAClB,YAAI,IAAI,SAAS,KAAK,IAAI,QAAQ,IAAI,KAAK,SAAS;AACnD,mBAAS,QAAQ,IAAI,KAAK;AAAA,QAC1B;AAAA,MACD,SAAQ,OAAO;AACfF,sBAAc,MAAA,MAAA,SAAA,sDAAA,aAAa,KAAK;AAAA,MAChC;AAAA,IACH;AAGC,UAAM,oBAAoB,MAAM;AAC/B,UAAI,WAAW,OAAO;AACrB,uBAAe,QAAQ,WAAW;AAClC,cAAM,WAAW,SAAS,MAAM,KAAK,UAAQ,KAAK,OAAO,WAAW,KAAK;AACzE,yBAAiB,QAAQ,WAAW,SAAS,OAAO;AAAA,MACpD;AACD,qBAAe,QAAQ;AAAA,IACzB;AAGC,UAAM,iBAAiBF,kBAAI,CAAA,CAAE;AAG7B,UAAM,iBAAiBA,kBAAI,IAAI;AAG/B,UAAM,cAAcA,kBAAI,KAAK;AAG7B,UAAM,gBAAgBK,cAAAA,SAAS,MAAM;AACpC,aAAO,eAAe,SAAS,eAAe,MAAM,SAAS;AAAA,IAC/D,CAAE;AAGD,UAAM,kBAAkBA,cAAAA,SAAS,MAAM;AACtC,UAAI,CAAC,UAAU;AAAO,eAAO;AAC7B,YAAM,UAAU,UAAU,MAAM,gBAAgB;AAChD,YAAM,QAAQ,UAAU,MAAM,cAAc;AAC5C,aAAO,KAAK,MAAO,UAAU,QAAS,GAAG;AAAA,IAC3C,CAAE;AAGD,UAAM,eAAeL,cAAAA,IAAI;AAAA;AAAA,MAExB,EAAE,IAAI,GAAG,OAAO,OAAQ;AAAA,MACxB,EAAE,IAAI,GAAG,OAAO,OAAQ;AAAA,IAC1B,CAAE;AAGD,UAAM,gBAAgBA,cAAAA,IAAI;AAAA,MACzB,EAAE,IAAI,GAAG,OAAO,OAAQ;AAAA,MACxB,EAAE,IAAI,GAAG,OAAO,OAAQ;AAAA,MACxB,EAAE,IAAI,GAAG,OAAO,OAAQ;AAAA,MACxB,EAAE,IAAI,GAAG,OAAO,OAAQ;AAAA,IAC1B,CAAE;AAGD,UAAM,aAAaA,kBAAI,CAAA,CAAE;AAGzB,UAAM,kBAAkB,YAAY;AACnC,UAAI;AACH,cAAM,MAAM,MAAMM,YAAAA;AAClB,YAAI,IAAI,SAAS,GAAG;AACnB,qBAAW,QAAQ,IAAI,KAAK,IAAI,WAAS;AAAA,YACxC,IAAI,KAAK;AAAA,YACT,OAAO,KAAK;AAAA,UACZ,EAAC;AAAA,QACF;AAAA,MACD,SAAQ,OAAO;AACfJ,sBAAc,MAAA,MAAA,SAAA,sDAAA,aAAa,KAAK;AAAA,MAChC;AAAA,IACH;AAGC,UAAM,kBAAkB,MAAM;AAC7B,sBAAgB,QAAQ;AAAA,IAC1B;AAGC,UAAM,aAAa,MAAM;AACxB,sBAAgB,QAAQ;AAAA,IAC1B;AAGC,UAAM,cAAc,MAAM;AACzB,qBAAe,eAAe;AAC9B,qBAAe,iBAAiB;AAChC,oBAAc,QAAQ;AACtB,sBAAgB,QAAQ;AACxB,qBAAe,QAAQ;AACvB,qBAAe,QAAQ;AACvB,qBAAe,SAAS;AACxB,qBAAe,cAAc;AAC7B,qBAAe,WAAW;AAC1B,oBAAc,QAAQ;AACtB,gBAAU,QAAQ;AAClB,gBAAU,QAAQ;AAClB,qBAAe,QAAQ;AACvB,qBAAe,QAAQ;AACvB,uBAAiB,QAAQ;AAAA,IAC3B;AAGC,UAAM,gBAAgB,MAAM;AAE3B,UAAI,eAAe,MAAM,WAAW,GAAG;AACtCA,sBAAG,MAAC,UAAU,EAAE,OAAO,WAAW,MAAM,OAAM,CAAE;AAChD;AAAA,MACA;AACD,UAAI,CAAC,eAAe,OAAO;AAC1BA,sBAAG,MAAC,UAAU,EAAE,OAAO,WAAW,MAAM,OAAM,CAAE;AAChD;AAAA,MACA;AACD,UAAI,CAAC,cAAc,OAAO;AACzBA,sBAAG,MAAC,UAAU,EAAE,OAAO,WAAW,MAAM,OAAM,CAAE;AAChD;AAAA,MACA;AACD,UAAI,CAAC,eAAe,aAAa;AAChCA,sBAAG,MAAC,UAAU,EAAE,OAAO,WAAW,MAAM,OAAM,CAAE;AAChD;AAAA,MACA;AAGD,sBAAgB,QAAQ;AACxBA,oBAAG,MAAC,UAAU,EAAE,OAAO,WAAW,MAAM,UAAS,CAAE;AAAA,IACrD;AAGC,UAAM,iBAAiB,MAAM;AAC5B,sBAAgB,QAAQ;AAExB,iBAAW,MAAM;AAChBA,sBAAAA,MAAI,eAAe;AAAA,UAClB,SAAS,CAAC,QAAQ;AACjB,0BAAc,QAAQ,IAAI,WAAW,IAAI,OAAO,IAAI,IAAI,IAAI,MAAM;AAClE,sBAAU,QAAQ,IAAI;AACtB,sBAAU,QAAQ,IAAI;AACtB,4BAAgB,QAAQ;AAAA,UACxB;AAAA,UACD,MAAM,CAAC,QAAQ;AACd,4BAAgB,QAAQ;AACxB,gBAAI,IAAI,UAAU,IAAI,OAAO,QAAQ,QAAQ,MAAM,IAAI;AACtDA,4BAAG,MAAC,UAAU,EAAE,OAAO,UAAU,MAAM,OAAM,CAAE;AAAA,YAC/C;AAAA,UACD;AAAA,QACL,CAAI;AAAA,MACD,GAAE,GAAG;AAAA,IACR;AAEC,UAAM,2BAA2BK,cAAAA;AACjC,UAAM,EAAE,WAAW,cAAcC,aAAAA,yBAAyB,gBAAgB;AAAA,MACzE,WAAW;AAAA,QACV,UAAU;AAAA,QACV,gBAAgB;AAAA,QAChB,iBAAiB;AAAA,QACjB,UAAU;AAAA,MACV;AAAA,IACH,CAAE;AAGD,UAAM,kBAAkB,YAAY;AACnC,YAAM,aAAa,eAAe,MAAM,OAAO,OAAK;AACnD,eAAO,EAAE,WAAW,aAAa,EAAE,IAAI,YAAa,EAAC,MAAM,gCAAgC;AAAA,MAC9F,CAAG;AACD,UAAI,WAAW,WAAW,GAAG;AAC5BN,sBAAG,MAAC,UAAU,EAAE,OAAO,YAAY,MAAM,OAAM,CAAE;AACjD;AAAA,MACA;AAED,YAAM,eAAe,WAAW,CAAC,EAAE;AAEnC,kBAAY,QAAQ;AACpB,UAAI;AACHA,sBAAA,MAAA,MAAA,OAAA,sDAAY,oBAAoB,YAAY;AAC5C,cAAM,aAAa,MAAMO,+BAAmB;AAAA,UAC3C,UAAU;AAAA,QACd,CAAI;AAED,YAAI,WAAW,SAAS,KAAK,WAAW,MAAM;AAC7C,gBAAM,SAAS,WAAW;AAC1BP,wBAAA,MAAA,MAAA,OAAA,sDAAY,WAAW,MAAM;AAE7B,cAAI,OAAO;AAAO,2BAAe,QAAQ,OAAO;AAChD,cAAI,OAAO;AAAa,2BAAe,cAAc,OAAO;AAE5D,cAAI,OAAO,OAAO;AACjB,kBAAM,WAAW,EAAE,MAAM,GAAG,QAAQ,GAAG,MAAM,GAAG,QAAQ,GAAG,MAAM,GAAG,QAAQ,EAAC;AAC7E,kBAAM,aAAa,SAAS,OAAO,KAAK;AACxC,gBAAI,eAAe,QAAW;AAC7B,6BAAe,QAAQ;AACvBQ,4BAAAA,WAAS,MAAM;AACd,oBAAI,eAAe,SAAS,eAAe,MAAM,OAAO;AACvD,iCAAe,MAAM,MAAM,eAAe;AAAA,gBAC1C;AAAA,cACR,CAAO;AAAA,YACD;AAAA,UACD;AAEDR,8BAAI,UAAU,EAAE,OAAO,gBAAgB,MAAM,WAAW,UAAU,IAAI,CAAE;AAAA,QAC5E,OAAU;AACNA,8BAAI,UAAU,EAAE,OAAO,WAAW,OAAO,UAAU,MAAM,OAAM,CAAE;AAAA,QACjE;AAAA,MACD,SAAQ,OAAO;AACfA,sBAAA,MAAA,MAAA,SAAA,sDAAc,eAAe,KAAK;AAClCA,sBAAG,MAAC,UAAU,EAAE,OAAO,cAAc,MAAM,OAAM,CAAE;AAAA,MACtD,UAAY;AACT,oBAAY,QAAQ;AAAA,MACpB;AAAA,IACH;AAKC,UAAM,eAAe,YAAY;;AAEhC,UAAI,CAAC,YAAY,OAAO;AACvBA,sBAAG,MAAC,UAAU,EAAE,OAAO,WAAW,MAAM,OAAM,CAAE;AAChD;AAAA,MACA;AAGD,YAAM,eAAe,WAAW,KAAK,UAAQ,KAAK,SAAS,YAAY,KAAK;AAC5E,YAAM,cAAc,eAAe,aAAa,QAAQ;AAExD,UAAI,CAAC,aAAa;AACjBA,sBAAG,MAAC,UAAU,EAAE,OAAO,WAAW,MAAM,OAAM,CAAE;AAChD;AAAA,MACA;AAGD,UAAI,YAAY,UAAU,QAAQ,CAAC,cAAc,OAAO;AACvDA,sBAAG,MAAC,UAAU,EAAE,OAAO,WAAW,MAAM,OAAM,CAAE;AAChD;AAAA,MACA;AAED,UAAI;AACHA,sBAAAA,MAAI,YAAY,EAAE,OAAO,SAAU,CAAA;AAGnC,YAAI,YAAY,UAAU,QAAQ,cAAc,OAAO;AAEtD,gBAAM,cAAc,eAAe,MACjC,OAAO,CAAC,MAAM,EAAE,WAAW,SAAS,EACpC,IAAI,CAAC,SAASS,iCAAoB,IAAI,CAAC;AAGzC,gBAAM,cAAc,WAAW,MAAM,eAAe,QAAQ;AAC5D,gBAAM,QAAQ,cAAc,YAAY,KAAK;AAG7C,gBAAM,eAAe;AAAA,YACpB,SAAQ,eAAU,UAAV,mBAAiB;AAAA,YACzB,eAAc,eAAU,UAAV,mBAAiB;AAAA,YAC/B,OAAO,eAAe;AAAA,YACtB,SAAO,kBAAa,MAAM,eAAe,KAAK,MAAvC,mBAA0C,OAAM;AAAA,YACvD,KAAK,UAAU,SAAS;AAAA,YACxB,KAAK,UAAU,SAAS;AAAA,YACxB,SAAS,cAAc,SAAS;AAAA,YAChC,QAAQ,eAAe,SAAS;AAAA;AAAA,YAChC,aAAa,eAAe,eAAe;AAAA,YAC3C,UAAQ,mBAAc,MAAM,eAAe,MAAM,MAAzC,mBAA4C,UAAS;AAAA,YAC7D;AAAA,YACA;AAAA,YACA,cAAc,eAAe,gBAAgB;AAAA,UAClD;AAEIT,wBAAY,MAAA,MAAA,OAAA,sDAAA,SAAS,YAAY;AAGjC,gBAAM,YAAY,MAAMU,4BAAgB,YAAY;AACpD,cAAI,UAAU,SAAS,GAAG;AACzBV,0BAAG,MAAC,YAAW;AACfA,gCAAI,UAAU,EAAE,OAAO,UAAU,OAAO,UAAU,MAAM,OAAM,CAAE;AAChE;AAAA,UACA;AACDA,wBAAAA,MAAA,MAAA,OAAA,sDAAY,QAAQ;AAAA,QACpB;AAGD,cAAM,eAAe;AAAA,UACpB,SAAQ,eAAU,UAAV,mBAAiB;AAAA,UACzB,QAAQ;AAAA,UACR,QAAQ,OAAO;AAAA,QACnB;AACGA,sBAAA,MAAA,MAAA,OAAA,sDAAY,SAAS,YAAY;AAEjC,cAAM,MAAM,MAAMW,8BAAkB,YAAY;AAChDX,sBAAG,MAAC,YAAW;AAEf,YAAI,IAAI,SAAS,GAAG;AACnB,qBAAW,KAAK;AAEhB,cAAI,IAAI,QAAQ,IAAI,KAAK,gBAAgB,MAAM;AAE9CA,0BAAG,MAAC,UAAU,EAAE,OAAO,WAAW,MAAM,UAAS,CAAE;AACnD,uBAAW,MAAM;AAChBA,4BAAG,MAAC,aAAY;AAAA,YAChB,GAAE,IAAI;AAAA,UACP,WAAU,IAAI,QAAQ,IAAI,KAAK,UAAU;AAEzCA,0BAAG,MAAC,UAAU,EAAE,OAAO,cAAc,MAAM,UAAS,CAAE;AAGtD;AAGA,sBAAU,QAAQ,IAAI,KAAK;AAAA,UAChC,OAAW;AAENA,0BAAG,MAAC,UAAU,EAAE,OAAO,QAAQ,MAAM,UAAS,CAAE;AAChD,uBAAW,MAAM;AAChBA,4BAAG,MAAC,aAAY;AAAA,YAChB,GAAE,IAAI;AAAA,UACP;AAAA,QACL,OAAU;AACNA,8BAAI,UAAU,EAAE,OAAO,IAAI,OAAO,QAAQ,MAAM,OAAM,CAAE;AAAA,QACxD;AAAA,MACD,SAAQ,OAAO;AACfA,sBAAG,MAAC,YAAW;AACfA,sBAAA,MAAA,MAAA,SAAA,sDAAc,SAAS,KAAK;AAC5BA,sBAAG,MAAC,UAAU,EAAE,OAAO,QAAQ,MAAM,OAAM,CAAE;AAAA,MAC7C;AAAA,IACH;AAGC,UAAM,iBAAiB,MAAM;AAE5B,kBAAY,QAAQ;AAEpB,aAAO,QAAQ;AAEf;IACF;AAGC,UAAM,eAAe,YAAY;AAChC,UAAI;AACH,cAAM,MAAM,MAAMY,YAAAA,eAAe,WAAW,KAAK;AACjDZ,sBAAA,MAAA,MAAA,OAAA,sDAAY,UAAU,GAAG;AACzB,YAAI,IAAI,SAAS,GAAG;AACnB,oBAAU,QAAQ,IAAI;AAEtB;QACA;AAAA,MACD,SAAQ,OAAO;AACfA,sBAAAA,MAAA,MAAA,SAAA,sDAAc,KAAK;AAAA,MACnB;AAAA,IACH;AAIC,UAAM,WAAWF,kBAAI,KAAK;AAC1B,UAAM,oBAAoBA,kBAAI,KAAK;AACnC,UAAM,cAAcA,kBAAI,KAAK;AAC7B,UAAM,gBAAgBA,kBAAI,KAAK;AAC/B,UAAM,cAAc,MAAM;;AAAA,wCAA2B,WAAW,SAAS,EAAE,MAAI,eAAU,UAAV,mBAAiB,iBAAgB,EAAE;AAAA;AAGlH,UAAM,YAAY,MAAM;AACvB,UAAI,YAAY,SAAS,CAAC,cAAc,OAAO;AAC9CE,sBAAAA,MAAY,MAAA,OAAA,sDAAA,gCAAgC,EAAE,aAAa,YAAY,OAAO,eAAe,cAAc,MAAO,CAAA;AAClH;AAAA,MACA;AACD,YAAM,MAAM;AACZ,YAAM,aAAa,YAAY,SACZ,OAAO,SACP,eAAe,SACf,eAAe,eACf,eAAe,MAAM,SAAS;AAEjDA,0BAAA,MAAA,OAAA,sDAAY,gCAAgC,KAAK,YAAY,CAAC,CAAC,YAAY,SAAS;AAAA,QACnF,aAAa,YAAY;AAAA,QACzB,QAAQ,OAAO;AAAA,QACf,OAAO,eAAe;AAAA,QACtB,aAAa,eAAe;AAAA,QAC5B,WAAW,eAAe,MAAM;AAAA,MACnC,CAAG;AAED,UAAI,CAAC,YAAY;AAChBA,4BAAI,kBAAkB,GAAG;AACzBA,sBAAY,MAAA,MAAA,OAAA,sDAAA,sCAAsC,GAAG;AACrD,iBAAS,QAAQ;AACjB;AAAA,MACA;AAED,YAAM,OAAO;AAAA,QACZ,aAAa,YAAY;AAAA,QACzB,QAAQ,OAAO;AAAA,QACf,gBAAgB;AAAA,UACf,OAAO,eAAe;AAAA,UACtB,OAAO,eAAe;AAAA,UACtB,QAAQ,eAAe;AAAA,UACvB,aAAa,eAAe;AAAA,UAC5B,UAAU,eAAe;AAAA,QACzB;AAAA,QACD,gBAAgB,eAAe;AAAA,QAC/B,eAAe,cAAc;AAAA,QAC7B,WAAW,UAAU;AAAA,QACrB,WAAW,UAAU;AAAA,MACxB;AACEA,oBAAG,MAAC,eAAe,KAAK,KAAK,UAAU,IAAI,CAAC;AAC5CA,6FAAY,4CAA4C,GAAG;AAC3D,eAAS,QAAQ;AAAA,IACnB;AAGC,UAAM,aAAa,CAAC,YAAY,SAAS;AACxC,YAAM,MAAM;AACZA,oBAAY,MAAA,MAAA,OAAA,sDAAA,8BAA8B,GAAG;AAC7CA,0BAAI,kBAAkB,GAAG;AACzB,eAAS,QAAQ;AACjB,wBAAkB,QAAQ;AAE1B,kBAAY,QAAQ;AACpB,kBAAY,QAAQ;AACpB,aAAO,QAAQ;AACf,qBAAe,QAAQ;AACvB,qBAAe,QAAQ;AACvB,qBAAe,SAAS;AACxB,qBAAe,cAAc;AAC7B,qBAAe,WAAW;AAC1B,qBAAe,QAAQ;AACvB,oBAAc,QAAQ;AACtB,gBAAU,QAAQ;AAClB,gBAAU,QAAQ;AAElBQ,oBAAAA,WAAS,MAAM;AACd,oBAAY,QAAQ;AAAA,MACvB,CAAG;AACD,UAAI,WAAW;AACdR,sBAAG,MAAC,UAAU,EAAE,OAAO,SAAS,MAAM,OAAM,CAAE;AAAA,MAC9C;AAAA,IACH;AAGC,UAAM,eAAe,MAAM;AAC1B,YAAM,MAAM;AACZ,YAAM,SAASA,cAAAA,MAAI,eAAe,GAAG;AACrCA,0BAAA,MAAA,OAAA,sDAAY,8BAA8B,KAAK,aAAa,CAAC,CAAC,MAAM;AACpE,UAAI,QAAQ;AACX,YAAI;AACH,gBAAM,OAAO,KAAK,MAAM,MAAM;AAC9B,gBAAM,aAAa,KAAK,eACL,KAAK,UACL,KAAK,eAAe,SACpB,KAAK,eAAe,eACnB,KAAK,kBAAkB,KAAK,eAAe,SAAS;AAExEA,8BAAA,MAAA,OAAA,sDAAY,oCAAoC,CAAC,CAAC,YAAY,SAAS,IAAI;AAC3E,cAAI,CAAC,YAAY;AAChB,0BAAc,QAAQ;AACtB;AAAA,UACA;AAED,sBAAY,QAAQ;AACpB,sBAAY,QAAQ,KAAK,eAAe;AACxC,iBAAO,QAAQ,KAAK,UAAU;AAC9B,yBAAe,QAAQ,KAAK,eAAe,SAAS;AACpD,yBAAe,QAAQ,KAAK,eAAe,SAAS;AACpD,yBAAe,SAAS,KAAK,eAAe,UAAU;AACtD,yBAAe,cAAc,KAAK,eAAe,eAAe;AAChE,yBAAe,WAAW,KAAK,eAAe,YAAY;AAC1D,yBAAe,QAAQ,KAAK,kBAAkB,CAAA;AAC9C,wBAAc,QAAQ,KAAK,iBAAiB;AAC5C,oBAAU,QAAQ,KAAK,aAAa;AACpC,oBAAU,QAAQ,KAAK,aAAa;AACpC,mBAAS,QAAQ;AACjB,4BAAkB,QAAQ;AAE1BQ,wBAAAA,WAAS,MAAM;AACd,wBAAY,QAAQ;AACpB,0BAAc,QAAQ;AACtB,gBAAI,eAAe,SAAS,eAAe,MAAM,OAAO;AACvD,6BAAe,MAAM,MAAM,eAAe,eAAe;AAAA,YACzD;AACDR,0BAAAA,MAAA,MAAA,OAAA,sDAAY,gCAAgC;AAAA,UACjD,CAAK;AAEDA,wBAAAA,MAAI,UAAU;AAAA,YACb,OAAO;AAAA,YACP,MAAM;AAAA,YACN,UAAU;AAAA,UACf,CAAK;AAAA,QACD,SAAQ,GAAG;AACXA,wBAAA,MAAA,MAAA,SAAA,sDAAc,yBAAyB,CAAC;AACxC,sBAAY,QAAQ;AACpB,wBAAc,QAAQ;AAAA,QACtB;AAAA,MACJ,OAAS;AACNA,sBAAAA,MAAY,MAAA,OAAA,sDAAA,6CAA6C;AACzD,sBAAc,QAAQ;AAAA,MACtB;AAAA,IACH;AAGCa,kBAAK;AAAA,MACJ,MAAM;AAAA,QACL,YAAY;AAAA,QACZ,OAAO;AAAA,QACP,eAAe;AAAA,QACf,eAAe;AAAA,QACf,eAAe;AAAA,QACf,eAAe;AAAA,QACf,eAAe;AAAA,QACf,cAAc;AAAA,QACd,eAAe;AAAA,MACf;AAAA,MACD,MAAM;AACL,YAAI,WAAW,OAAO;AACrB;QACA;AAAA,MACD;AAAA,MACD,EAAE,MAAM,KAAM;AAAA,IAChB;AAECC,kBAAM,OAAC,CAAC,YAAY;AACnBd,6FAAY,WAAW,OAAO;AAC9B,UAAI,QAAQ,IAAI;AACf,mBAAW,QAAQ,QAAQ;AAC3B;MACA;AAED;AAEA;IACF,CAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACl8BF,GAAG,WAAW,eAAe;"} \ No newline at end of file +{"version":3,"file":"Inspectionresult.js","sources":["pages/Inspectionresult/Inspectionresult.vue","F:/software/HBuilderX/HBuilderX/plugins/uniapp-cli-vite/uniPage:/cGFnZXMvSW5zcGVjdGlvbnJlc3VsdC9JbnNwZWN0aW9ucmVzdWx0LnZ1ZQ"],"sourcesContent":["\r\n\r\n\r\n\r\n\r\n","import MiniProgramPage from 'E:/hexieyun/ThreeChecksOneExposure_platform/12.07chongqixinde/三查一曝光小程序/threeonecheck_小程序/pages/Inspectionresult/Inspectionresult.vue'\nwx.createPage(MiniProgramPage)"],"names":["ref","createEmptyHazardPayload","reactive","useDraftCache","buildDraftKey","DRAFT_NS","nextTick","uni","computed","hasValidHazardPayload","buildHiddenDangerParams","addHiddenDanger","submitCheckResult","enterCheckPlan","onLoad"],"mappings":"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"} \ No newline at end of file diff --git a/unpackage/dist/dev/.sourcemap/mp-weixin/pages/Inspectionresult/detail.js.map b/unpackage/dist/dev/.sourcemap/mp-weixin/pages/Inspectionresult/detail.js.map new file mode 100644 index 0000000..be3a430 --- /dev/null +++ b/unpackage/dist/dev/.sourcemap/mp-weixin/pages/Inspectionresult/detail.js.map @@ -0,0 +1 @@ +{"version":3,"file":"detail.js","sources":["pages/Inspectionresult/detail.vue","F:/software/HBuilderX/HBuilderX/plugins/uniapp-cli-vite/uniPage:/cGFnZXMvSW5zcGVjdGlvbnJlc3VsdC9kZXRhaWwudnVl"],"sourcesContent":["\n\n\n\n\n","import MiniProgramPage from 'E:/hexieyun/ThreeChecksOneExposure_platform/12.07chongqixinde/三查一曝光小程序/threeonecheck_小程序/pages/Inspectionresult/detail.vue'\nwx.createPage(MiniProgramPage)"],"names":["ref","createEmptyHazardPayload","uni","computed","SOURCE_OPTIONS","buildDraftKey","DRAFT_NS","loadDraftWithFallback","removeDraft","saveDraftToStorage","useDraftCache","hasValidHazardPayload","nextTick","buildHiddenDangerParams","submitAllTask","getAllTask","onLoad"],"mappings":"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"} \ No newline at end of file diff --git a/unpackage/dist/dev/.sourcemap/mp-weixin/pages/Inspectionresult/list.js.map b/unpackage/dist/dev/.sourcemap/mp-weixin/pages/Inspectionresult/list.js.map new file mode 100644 index 0000000..b2301de --- /dev/null +++ b/unpackage/dist/dev/.sourcemap/mp-weixin/pages/Inspectionresult/list.js.map @@ -0,0 +1 @@ +{"version":3,"file":"list.js","sources":["pages/Inspectionresult/list.vue","F:/software/HBuilderX/HBuilderX/plugins/uniapp-cli-vite/uniPage:/cGFnZXMvSW5zcGVjdGlvbnJlc3VsdC9saXN0LnZ1ZQ"],"sourcesContent":["\r\n\r\n\r\n\r\n\r\n","import MiniProgramPage from 'E:/hexieyun/ThreeChecksOneExposure_platform/12.07chongqixinde/三查一曝光小程序/threeonecheck_小程序/pages/Inspectionresult/list.vue'\nwx.createPage(MiniProgramPage)"],"names":["ref","getPlanTableDetail","uni","onLoad","onShow","onBackPress"],"mappings":";;;;;;;;;;;;;;AAgGA,UAAM,UAAUA,cAAAA,IAAI,IAAI;AACxB,UAAM,gBAAgBA,cAAAA,IAAI,CAAA,CAAE;AAC5B,UAAM,UAAUA,cAAAA,IAAI,EAAE;AACtB,UAAM,WAAWA,cAAAA,IAAI,EAAE;AAEvB,UAAM,aAAa;AAAA,MAClB,SAAS;AAAA,MACT,UAAU;AAAA,MACV,MAAM;AAAA,IACP;AAEA,UAAM,aAAa,CAAC,YAAY;AAC/B,UAAI,CAAC;AAAS,eAAO;AACrB,aAAO,OAAO,OAAO,EAAE,MAAM,GAAG,EAAE,CAAC;AAAA,IACpC;AAEA,UAAM,iBAAiB,CAAC,aAAa;AACpC,YAAM,MAAM,OAAO,QAAQ;AAC3B,UAAI,OAAO,MAAM,GAAG;AAAG,eAAO;AAC9B,aAAO,KAAK,IAAI,KAAK,KAAK,IAAI,GAAG,GAAG,CAAC;AAAA,IACtC;AAEA,UAAM,YAAY,YAAY;;AAC7B,UAAI,CAAC,QAAQ,OAAO;AACnB,gBAAQ,QAAQ;AAChB,sBAAc,QAAQ;AACtB;AAAA,MACA;AAED,cAAQ,QAAQ;AAChB,UAAI;AACH,cAAM,MAAM,MAAMC,+BAAmB;AAAA,UACpC,GAAG;AAAA,UACH,SAAS,QAAQ;AAAA,QACpB,CAAG;AACD,YAAI,IAAI,SAAS,GAAG;AACnB,wBAAc,UAAQ,SAAI,SAAJ,mBAAU,YAAW,CAAA;AAAA,QAC9C,OAAS;AACNC,8BAAI,UAAU,EAAE,OAAO,IAAI,OAAO,YAAY,MAAM,OAAM,CAAE;AAAA,QAC5D;AAAA,MACD,SAAQ,OAAO;AACfA,qFAAc,aAAa,KAAK;AAChCA,sBAAG,MAAC,UAAU,EAAE,OAAO,YAAY,MAAM,OAAM,CAAE;AAAA,MACnD,UAAW;AACT,gBAAQ,QAAQ;AAAA,MAChB;AAAA,IACF;AAQA,UAAM,aAAa,CAAC,SAAS;AAC5B,YAAM,aAAa,KAAK;AACxB,YAAM,WAAW,WAAW,KAAK,QAAQ;AACzC,UAAI,CAAC,cAAc,CAAC,UAAU;AAC7BA,sBAAG,MAAC,UAAU,EAAE,OAAO,UAAU,MAAM,OAAM,CAAE;AAC/C;AAAA,MACA;AACD,YAAM,OAAO,KAAK,QAAQ,SAAS,SAAS;AAC5C,YAAM,eAAe,QAAQ,QAAQ,YAAY,QAAQ,KAAK,KAAK;AACnEA,oBAAAA,MAAI,WAAW;AAAA,QACd,KAAK,6CAA6C,UAAU,aAAa,mBAAmB,QAAQ,CAAC,SAAS,mBAAmB,IAAI,CAAC,GAAG,YAAY;AAAA,MACvJ,CAAE;AAAA,IACF;AAEAC,kBAAM,OAAC,CAAC,YAAY;AACnB,UAAI,QAAQ,SAAS;AACpB,gBAAQ,QAAQ,QAAQ;AAAA,MACxB;AACD,UAAI,QAAQ,MAAM;AACjB,iBAAS,QAAQ,mBAAmB,QAAQ,IAAI;AAAA,MAChD;AAAA,IACF,CAAC;AAEDC,kBAAAA,OAAO,MAAM;AACZ;IACD,CAAC;AAED,UAAM,SAAS,MAAM;AACpBF,oBAAAA,MAAI,UAAU;AAAA,QACb,KAAK;AAAA,MACP,CAAE;AAAA,IACF;AAEAG,kBAAAA,YAAY,MAAM;AACjB;AACA,aAAO;AAAA,IACR,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACzLD,GAAG,WAAW,eAAe;"} \ No newline at end of file diff --git a/unpackage/dist/dev/.sourcemap/mp-weixin/pages/editchecklist/editchecklist.js.map b/unpackage/dist/dev/.sourcemap/mp-weixin/pages/editchecklist/editchecklist.js.map index 582488b..4465b57 100644 --- a/unpackage/dist/dev/.sourcemap/mp-weixin/pages/editchecklist/editchecklist.js.map +++ b/unpackage/dist/dev/.sourcemap/mp-weixin/pages/editchecklist/editchecklist.js.map @@ -1 +1 @@ -{"version":3,"file":"editchecklist.js","sources":["pages/editchecklist/editchecklist.vue","F:/software/HBuilderX/HBuilderX/plugins/uniapp-cli-vite/uniPage:/cGFnZXMvZWRpdGNoZWNrbGlzdC9lZGl0Y2hlY2tsaXN0LnZ1ZQ"],"sourcesContent":["\n\n\n\n\n","import MiniProgramPage from 'E:/hexieyun/ThreeChecksOneExposure_platform/12.07chongqixinde/三查一曝光小程序/threeonecheck_小程序/pages/editchecklist/editchecklist.vue'\nwx.createPage(MiniProgramPage)"],"names":["reactive","ref","getDeptUsers","uni","getParentDepts","computed","deleteCheckPoint","getRegulationList","addCheckPoint","detailcheckPoint","getCheckItemList","getCheckItemListDetail","addCheckTable","onMounted"],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"editchecklist.js","sources":["pages/editchecklist/editchecklist.vue","F:/software/HBuilderX/HBuilderX/plugins/uniapp-cli-vite/uniPage:/cGFnZXMvZWRpdGNoZWNrbGlzdC9lZGl0Y2hlY2tsaXN0LnZ1ZQ"],"sourcesContent":["\n\n\n\n\n","import MiniProgramPage from 'E:/hexieyun/ThreeChecksOneExposure_platform/12.07chongqixinde/三查一曝光小程序/threeonecheck_小程序/pages/editchecklist/editchecklist.vue'\nwx.createPage(MiniProgramPage)"],"names":["reactive","ref","computed","getDeptUsers","uni","getParentDepts","deleteCheckPoint","getRegulationList","addCheckPoint","detailcheckPoint","getCheckItemList","getCheckItemListDetail","addCheckTable","onMounted"],"mappings":";;;;;;;;;;;;;;;;;;;;;;AAoZA,UAAM,WAAWA,cAAAA,SAAS;AAAA,MACzB,MAAM;AAAA,MACN,QAAQ;AAAA,MACR,UAAU;AAAA,MACV,QAAQ;AAAA,MACR,MAAM;AAAA;AAAA,MACN,UAAU;AAAA,MACV,QAAQ;AAAA,MACR,UAAU;AAAA,MACV,cAAc;AAAA,MACd,gBAAgB;AAAA,MAChB,aAAa,CAAE;AAAA;AAAA,MACf,eAAe;AAAA;AAAA,MACf,SAAS;AAAA,MACT,WAAW;AAAA,MACX,WAAW;AAAA,MACX,SAAS;AAAA,IACV,CAAC;AAGD,UAAM,gBAAgBC,cAAAA,IAAI,KAAK;AAC/B,UAAM,iBAAiB,CAAC,MAAM;AAC7B,oBAAc,QAAQ,EAAE,OAAO;AAAA,IAChC;AAGA,UAAM,oBAAoB,MAAM;AAC/B,YAAM,MAAM,oBAAI;AAChB,aAAO,IAAI,KAAK,IAAI,YAAa,GAAE,IAAI,SAAU,GAAE,IAAI,SAAS,EAAE,QAAO;AAAA,IAC1E;AAEA,UAAM,eAAeC,cAAQ,SAAC,MAAM,kBAAiB,CAAE;AAEvD,UAAM,iBAAiBA,cAAQ,SAAC,MAAM;AACrC,UAAI,SAAS,WAAW;AACvB,cAAM,CAAC,MAAM,OAAO,GAAG,IAAI,SAAS,UAAU,MAAM,GAAG,EAAE,IAAI,MAAM;AACnE,eAAO,IAAI,KAAK,MAAM,QAAQ,GAAG,GAAG,EAAE;MACtC;AACD,aAAO,kBAAiB;AAAA,IACzB,CAAC;AAED,UAAM,iBAAiBD,cAAAA,IAAI,kBAAiB,CAAE;AAC9C,UAAM,eAAeA,cAAAA,IAAI,kBAAiB,CAAE;AAG5C,UAAM,iBAAiBA,cAAAA,IAAI,KAAK;AAChC,UAAM,iBAAiBA,cAAAA,IAAI,KAAK;AAChC,UAAM,iBAAiBA,cAAAA,IAAI,KAAK;AACHA,kBAAG,IAAC,KAAK;AACtC,UAAM,kBAAkBA,cAAAA,IAAI,KAAK;AACjC,UAAM,sBAAsBA,cAAAA,IAAI,KAAK;AACrC,UAAM,oBAAoBA,cAAAA,IAAI,KAAK;AAGfA,kBAAG,IAAC,CAAC,CAAC,mBAAmB,qBAAqB,UAAU,CAAC,CAAC;AAC9E,UAAM,cAAcA,cAAG,IAAC,CAAC,CAAC,QAAQ,QAAQ,MAAM,CAAC,CAAC;AAClD,UAAM,cAAcA,cAAG,IAAC,CAAC,CAAC,MAAM,MAAM,CAAC,CAAC;AACxC,UAAM,eAAeA,cAAAA,IAAI,CAAC,CAAC,QAAQ,QAAQ,QAAQ,OAAO,CAAC,CAAC;AAG5D,UAAM,oBAAoBA,cAAAA,IAAI,KAAK;AACnC,UAAM,eAAeA,cAAAA,IAAI,CAAA,CAAE;AAC3B,UAAM,sBAAsBA,cAAAA,IAAI,CAAA,CAAE;AAGlC,UAAM,WAAWA,cAAAA,IAAI,CAAA,CAAE;AACvB,UAAM,sBAAsBA,cAAAA,IAAI,CAAA,CAAE;AAClC,UAAM,qBAAqBA,cAAG,IAAC,CAAC,CAAC,CAAC;AAClC,UAAM,mBAAmBA,cAAAA,IAAI,CAAA,CAAE;AAG/B,UAAM,gBAAgB,CAAC,MAAM;AAE5B,YAAM,eAAe,iBAAiB,MAAM,iBAAiB,MAAM,SAAS,CAAC;AAC7E,UAAI,cAAc;AACjB,iBAAS,SAAS,aAAa;AAC/B,iBAAS,WAAW,iBAAiB,MAAM,IAAI,OAAK,EAAE,QAAQ,EAAE,KAAK,KAAK;AAAA,MAC1E;AACD,qBAAe,QAAQ;AAAA,IACxB;AAGA,UAAM,UAAU;AAAA,MACf,QAAQ;AAAA,MACR,QAAQ;AAAA,MACR,QAAQ;AAAA,IACT;AAEA,UAAM,gBAAgB,CAAC,MAAM;AAC5B,UAAI,EAAE,SAAS,EAAE,MAAM,SAAS,GAAG;AAClC,iBAAS,WAAW,EAAE,MAAM,CAAC;AAC7B,iBAAS,OAAO,QAAQ,EAAE,MAAM,CAAC,CAAC;AAAA,MAClC;AACD,qBAAe,QAAQ;AAAA,IACxB;AAEA,UAAM,gBAAgB,CAAC,MAAM;AAC5B,UAAI,EAAE,SAAS,EAAE,MAAM,SAAS,GAAG;AAClC,iBAAS,WAAW,EAAE,MAAM,CAAC;AAE7B,YAAI,EAAE,MAAM,CAAC,MAAM,MAAM;AACxB,mBAAS,cAAc;AACvB,mBAAS,gBAAgB;AACzB,8BAAoB,QAAQ;QAC5B;AAAA,MACD;AACD,qBAAe,QAAQ;AAAA,IACxB;AAGA,UAAM,iBAAiB,YAAY;AAClC,UAAI;AACH,cAAM,MAAM,MAAME,YAAAA;AAClB,YAAI,IAAI,SAAS,KAAK,IAAI,MAAM;AAC/B,uBAAa,QAAQ,IAAI,QAAQ,CAAA;AAAA,QACjC;AAAA,MACD,SAAQ,OAAO;AACfC,2FAAc,aAAa,KAAK;AAAA,MAChC;AAAA,IACF;AAGA,UAAM,uBAAuB,CAAC,SAAS;AACtC,YAAM,QAAQ,oBAAoB,MAAM,QAAQ,KAAK,MAAM;AAC3D,UAAI,QAAQ,IAAI;AACf,4BAAoB,MAAM,OAAO,OAAO,CAAC;AAAA,MAC3C,OAAQ;AACN,4BAAoB,MAAM,KAAK,KAAK,MAAM;AAAA,MAC1C;AAAA,IACF;AAGA,UAAM,wBAAwB,MAAM;AACnC,eAAS,cAAc,CAAC,GAAG,oBAAoB,KAAK;AACpD,YAAM,gBAAgB,aAAa,MAAM,OAAO,OAAK,oBAAoB,MAAM,SAAS,EAAE,MAAM,CAAC;AACjG,eAAS,gBAAgB,cAAc,IAAI,OAAK,EAAE,QAAQ,EAAE,KAAK,GAAG;AACpE,wBAAkB,QAAQ;AAAA,IAC3B;AAGA,UAAM,oBAAoB,MAAM;AAC/B,0BAAoB,QAAQ,CAAC,GAAG,SAAS,WAAW;AACpD,wBAAkB,QAAQ;AAAA,IAC3B;AAGA,UAAM,mBAAmB,YAAY;AACpC,UAAI;AACH,cAAM,MAAM,MAAMC,YAAAA;AAClB,YAAI,IAAI,SAAS,KAAK,IAAI,MAAM;AAC/B,mBAAS,QAAQ,IAAI;AAErB,2BAAiB,IAAI,IAAI;AAAA,QACzB;AAAA,MACD,SAAQ,OAAO;AACfD,2FAAc,YAAY,KAAK;AAAA,MAC/B;AAAA,IACF;AAGA,UAAM,mBAAmB,CAAC,SAAS;AAClC,UAAI,CAAC;AAAM;AAEX,YAAM,cAAc,gBAAgB,IAAI;AACxC,0BAAoB,QAAQ,CAAC,WAAW;AACxC,yBAAmB,QAAQ,CAAC,CAAC;AAC7B,uBAAiB,QAAQ,CAAC,IAAI;AAE9B,UAAI,KAAK,YAAY,KAAK,SAAS,SAAS,GAAG;AAC9C,cAAM,eAAe,KAAK,SAAS,IAAI,WAAS,EAAE,MAAM,KAAK,UAAU,GAAG,KAAI,EAAG;AACjF,4BAAoB,MAAM,KAAK,YAAY;AAC3C,2BAAmB,MAAM,KAAK,CAAC;AAC/B,yBAAiB,MAAM,KAAK,KAAK,SAAS,CAAC,CAAC;AAE5C,YAAI,KAAK,SAAS,CAAC,EAAE,YAAY,KAAK,SAAS,CAAC,EAAE,SAAS,SAAS,GAAG;AACtE,gBAAM,cAAc,KAAK,SAAS,CAAC,EAAE,SAAS,IAAI,WAAS,EAAE,MAAM,KAAK,UAAU,GAAG,KAAI,EAAG;AAC5F,8BAAoB,MAAM,KAAK,WAAW;AAC1C,6BAAmB,MAAM,KAAK,CAAC;AAC/B,2BAAiB,MAAM,KAAK,KAAK,SAAS,CAAC,EAAE,SAAS,CAAC,CAAC;AAAA,QACxD;AAAA,MACD;AAAA,IACF;AAGA,UAAM,kBAAkB,CAAC,SAAS;AACjC,aAAO,CAAC,EAAE,MAAM,KAAK,UAAU,GAAG,KAAI,CAAE;AAAA,IACzC;AAGA,UAAM,uBAAuB,CAAC,MAAM;AACnC,YAAM,EAAE,aAAa,OAAO,MAAK,IAAK;AAGtC,yBAAmB,MAAM,WAAW,IAAI;AAGxC,uBAAiB,MAAM,WAAW,IAAI;AAGtC,0BAAoB,QAAQ,oBAAoB,MAAM,MAAM,GAAG,cAAc,CAAC;AAC9E,yBAAmB,QAAQ,mBAAmB,MAAM,MAAM,GAAG,cAAc,CAAC;AAC5E,uBAAiB,QAAQ,iBAAiB,MAAM,MAAM,GAAG,cAAc,CAAC;AAGxE,UAAI,MAAM,YAAY,MAAM,SAAS,SAAS,GAAG;AAChD,cAAM,aAAa,MAAM,SAAS,IAAI,WAAS,EAAE,MAAM,KAAK,UAAU,GAAG,KAAI,EAAG;AAChF,4BAAoB,MAAM,KAAK,UAAU;AACzC,2BAAmB,MAAM,KAAK,CAAC;AAC/B,yBAAiB,MAAM,KAAK,MAAM,SAAS,CAAC,CAAC;AAG7C,YAAI,MAAM,SAAS,CAAC,EAAE,YAAY,MAAM,SAAS,CAAC,EAAE,SAAS,SAAS,GAAG;AACxE,gBAAM,cAAc,MAAM,SAAS,CAAC,EAAE,SAAS,IAAI,WAAS,EAAE,MAAM,KAAK,UAAU,GAAG,KAAI,EAAG;AAC7F,8BAAoB,MAAM,KAAK,WAAW;AAC1C,6BAAmB,MAAM,KAAK,CAAC;AAC/B,2BAAiB,MAAM,KAAK,MAAM,SAAS,CAAC,EAAE,SAAS,CAAC,CAAC;AAAA,QACzD;AAAA,MACD;AAAA,IACF;AASA,UAAM,iBAAiB,CAAC,MAAM;AAC7B,UAAI,EAAE,SAAS,EAAE,MAAM,SAAS,GAAG;AAClC,iBAAS,YAAY,EAAE,MAAM,CAAC;AAAA,MAC9B;AACD,sBAAgB,QAAQ;AAAA,IACzB;AAGA,UAAM,aAAa,CAAC,cAAc;AACjC,YAAM,OAAO,IAAI,KAAK,SAAS;AAC/B,YAAM,OAAO,KAAK;AAClB,YAAM,QAAQ,OAAO,KAAK,SAAQ,IAAK,CAAC,EAAE,SAAS,GAAG,GAAG;AACzD,YAAM,MAAM,OAAO,KAAK,QAAS,CAAA,EAAE,SAAS,GAAG,GAAG;AAClD,aAAO,GAAG,IAAI,IAAI,KAAK,IAAI,GAAG;AAAA,IAC/B;AAEA,UAAM,iBAAiB,CAAC,YAAY;AACnC,UAAI,CAAC;AAAS,eAAO;AACrB,YAAM,CAAC,QAAQ,IAAI,QAAQ,MAAM,GAAG;AACpC,YAAM,CAAC,MAAM,OAAO,GAAG,IAAI,SAAS,MAAM,GAAG,EAAE,IAAI,MAAM;AACzD,aAAO,IAAI,KAAK,MAAM,QAAQ,GAAG,GAAG,EAAE;IACvC;AAEA,UAAM,sBAAsB,MAAM;AACjC,YAAM,QAAQ;AACd,UAAI,eAAe,QAAQ,OAAO;AACjC,uBAAe,QAAQ;AAAA,MACvB;AACD,0BAAoB,QAAQ;AAAA,IAC7B;AAEA,UAAM,oBAAoB,MAAM;AAC/B,YAAM,UAAU,eAAe;AAC/B,UAAI,aAAa,QAAQ,SAAS;AACjC,qBAAa,QAAQ;AAAA,MACrB;AACD,wBAAkB,QAAQ;AAAA,IAC3B;AAEA,UAAM,qBAAqB,CAAC,MAAM;AACjC,YAAM,eAAe,WAAW,EAAE,KAAK;AACvC,YAAM,WAAW,WAAW,kBAAiB,CAAE;AAC/C,UAAI,eAAe,UAAU;AAC5BA,sBAAG,MAAC,UAAU,EAAE,OAAO,cAAc,MAAM,OAAM,CAAE;AACnD;AAAA,MACA;AACD,UAAI,SAAS,WAAW,eAAe,YAAY,IAAI,eAAe,SAAS,OAAO,GAAG;AACxFA,sBAAG,MAAC,UAAU,EAAE,OAAO,gBAAgB,MAAM,OAAM,CAAE;AACrD;AAAA,MACA;AACD,eAAS,YAAY;AACrB,0BAAoB,QAAQ;AAAA,IAC7B;AAEA,UAAM,mBAAmB,CAAC,MAAM;AAC/B,YAAM,eAAe,WAAW,EAAE,KAAK;AACvC,UAAI,SAAS,aAAa,eAAe,YAAY,IAAI,eAAe,SAAS,SAAS,GAAG;AAC5FA,sBAAG,MAAC,UAAU,EAAE,OAAO,gBAAgB,MAAM,OAAM,CAAE;AACrD;AAAA,MACA;AACD,eAAS,UAAU;AACnB,wBAAkB,QAAQ;AAAA,IAC3B;AAGA,UAAM,mBAAmBH,cAAAA,IAAI,CAAA,CAAE;AAG/B,UAAM,oBAAoBA,cAAAA,IAAI,CAAA,CAAE;AAGhC,UAAM,iBAAiBC,cAAQ,SAAC,MAAM;AACrC,aAAO,iBAAiB,MAAM,SAAS,kBAAkB,MAAM;AAAA,IAChE,CAAC;AAED,UAAM,sBAAsB,MAAM;AACjC,YAAM,MAAM,oBAAI;AAChB,uBAAiB,MAAM,QAAQ,CAAC,SAAS;AACxC,YAAI,KAAK;AAAI,cAAI,IAAI,OAAO,KAAK,EAAE,CAAC;AAAA,MACtC,CAAE;AACD,wBAAkB,MAAM,QAAQ,CAAC,SAAS;AACzC,YAAI,KAAK;AAAS,cAAI,IAAI,OAAO,KAAK,OAAO,CAAC;AAAA,MAChD,CAAE;AACD,aAAO;AAAA,IACR;AAGA,UAAM,wBAAwB,CAAC,MAAM,UAAU;AAC9CE,oBAAAA,MAAI,UAAU;AAAA,QACb,OAAO;AAAA,QACP,SAAS;AAAA,QACT,cAAc;AAAA,QACd,SAAS,OAAO,QAAQ;AACvB,cAAI,IAAI,SAAS;AAEhB,gBAAI,KAAK,IAAI;AACZ,kBAAI;AACHA,8BAAAA,MAAI,YAAY,EAAE,OAAO,SAAU,CAAA;AACnC,sBAAM,SAAS,MAAME,6BAAiB,EAAE,IAAI,KAAK,GAAE,CAAE;AACrDF,8BAAG,MAAC,YAAW;AACf,oBAAI,OAAO,SAAS,GAAG;AACtB,mCAAiB,MAAM,OAAO,OAAO,CAAC;AACtCA,gCAAG,MAAC,UAAU,EAAE,OAAO,QAAQ,MAAM,UAAS,CAAE;AAAA,gBACvD,OAAa;AACNA,sCAAI,UAAU,EAAE,OAAO,OAAO,OAAO,QAAQ,MAAM,OAAM,CAAE;AAAA,gBAC3D;AAAA,cACD,SAAQ,OAAO;AACfA,8BAAG,MAAC,YAAW;AACfA,mGAAc,YAAY,KAAK;AAC/BA,8BAAG,MAAC,UAAU,EAAE,OAAO,QAAQ,MAAM,OAAM,CAAE;AAAA,cAC7C;AAAA,YACN,OAAW;AAEN,+BAAiB,MAAM,OAAO,OAAO,CAAC;AACtCA,4BAAG,MAAC,UAAU,EAAE,OAAO,QAAQ,MAAM,UAAS,CAAE;AAAA,YAChD;AAAA,UACD;AAAA,QACD;AAAA,MACH,CAAE;AAAA,IACF;AAGA,UAAM,yBAAyB,CAAC,UAAU;AACzCA,oBAAAA,MAAI,UAAU;AAAA,QACb,OAAO;AAAA,QACP,SAAS;AAAA,QACT,cAAc;AAAA,QACd,SAAS,CAAC,QAAQ;AACjB,cAAI,IAAI,SAAS;AAChB,8BAAkB,MAAM,OAAO,OAAO,CAAC;AACvCA,0BAAG,MAAC,UAAU,EAAE,OAAO,QAAQ,MAAM,UAAS,CAAE;AAAA,UAChD;AAAA,QACD;AAAA,MACH,CAAE;AAAA,IACF;AAGA,UAAM,eAAeH,cAAAA,IAAI,KAAK;AAC9B,UAAM,YAAYD,cAAAA,SAAS;AAAA,MAC1B,MAAM;AAAA;AAAA,MACN,OAAO;AAAA;AAAA,MACP,cAAc;AAAA;AAAA,MACd,gBAAgB;AAAA;AAAA,IACjB,CAAC;AAGD,UAAM,eAAeC,cAAAA,IAAI,KAAK;AAC9B,UAAM,aAAaA,cAAAA,IAAI,EAAE;AACzB,UAAM,gBAAgBA,cAAAA,IAAI,IAAI;AAC9B,UAAM,kBAAkBA,cAAAA,IAAI,EAAE;AAC9B,UAAM,UAAUA,cAAAA,IAAI,CAAA,CAAE;AACtB,UAAM,aAAaA,cAAAA,IAAI,KAAK;AAC5B,UAAM,aAAaA,cAAAA,IAAI,CAAC;AACxB,UAAM,cAAcA,cAAAA,IAAI,EAAE;AAC1B,UAAM,aAAaA,cAAAA,IAAI,IAAI;AAG3B,UAAM,eAAe,MAAM;AAC1B,mBAAa,QAAQ;AAErB,UAAI,QAAQ,MAAM,WAAW,GAAG;AAC/B;MACA;AAAA,IACF;AAGA,UAAM,sBAAsB,OAAO,aAAa,UAAU;AACzD,UAAI,WAAW;AAAO;AAEtB,iBAAW,QAAQ;AACnB,UAAI;AAEH,cAAM,SAAS;AAAA,UACd,SAAS,WAAW;AAAA,UACpB,UAAU,YAAY;AAAA,UACtB,QAAQ;AAAA;AAAA,QACX;AAEE,YAAI,WAAW,SAAS,WAAW,MAAM,KAAI,GAAI;AAChD,iBAAO,UAAU,WAAW,MAAM,KAAI;AAAA,QACtC;AAED,cAAM,MAAM,MAAMM,8BAAkB,MAAM;AAC1C,YAAI,IAAI,SAAS,GAAG;AACnB,gBAAM,UAAU,IAAI,KAAK,WAAW,IAAI,QAAQ;AAChD,cAAI,YAAY;AACf,oBAAQ,QAAQ,CAAC,GAAG,QAAQ,OAAO,GAAG,OAAO;AAAA,UACjD,OAAU;AACN,oBAAQ,QAAQ;AAAA,UAChB;AAED,gBAAM,QAAQ,IAAI,KAAK,SAAS;AAChC,qBAAW,QAAQ,QAAQ,MAAM,SAAS;AAAA,QAC1C;AAAA,MACD,SAAQ,OAAO;AACfH,2FAAc,aAAa,KAAK;AAAA,MAClC,UAAW;AACT,mBAAW,QAAQ;AAAA,MACnB;AAAA,IACF;AAGA,UAAM,mBAAmB,MAAM;AAC9B,iBAAW,QAAQ;AACnB,cAAQ,QAAQ;AAChB,iBAAW,QAAQ;AACnB;IACD;AAGA,UAAM,cAAc,MAAM;AACzB,UAAI,CAAC,WAAW,SAAS,WAAW;AAAO;AAC3C,iBAAW;AACX,0BAAoB,IAAI;AAAA,IACzB;AAGA,UAAM,YAAY,CAAC,SAAS;AAC3B,oBAAc,QAAQ,KAAK;AAE3B,sBAAgB,QAAQ,KAAK,UAAU,KAAK,WAAW;AAAA,IACxD;AAGA,UAAM,aAAa,MAAM;AACxB,UAAI,cAAc,OAAO;AACxB,kBAAU,eAAe,cAAc;AACvC,kBAAU,iBAAiB,gBAAgB;AAAA,MAC3C;AACD,mBAAa,QAAQ;AAAA,IACtB;AAGA,UAAM,iBAAiB,YAAY;;AAClC,UAAI,CAAC,UAAU,MAAM;AACpBA,sBAAG,MAAC,UAAU,EAAE,OAAO,WAAW,MAAM,OAAM,CAAE;AAChD;AAAA,MACA;AACD,UAAI,CAAC,UAAU,OAAO;AACrBA,sBAAG,MAAC,UAAU,EAAE,OAAO,WAAW,MAAM,OAAM,CAAE;AAChD;AAAA,MACA;AAED,UAAI;AACHA,sBAAAA,MAAI,YAAY,EAAE,OAAO,SAAU,CAAA;AAGnC,cAAM,SAAS;AAAA,UACd,MAAM,UAAU;AAAA,UAChB,OAAO,UAAU;AAAA,UACjB,cAAc,UAAU,gBAAgB;AAAA,QAC3C;AAEE,cAAM,MAAM,MAAMI,0BAAc,MAAM;AAEtC,YAAI,IAAI,SAAS,GAAG;AAEnB,gBAAM,iBAAe,SAAI,SAAJ,mBAAU,OAAM,IAAI;AACzC,cAAI,cAAc;AACjB,kBAAM,YAAY,MAAMC,6BAAiB,YAAY;AACrD,gBAAI,UAAU,SAAS,KAAK,UAAU,MAAM;AAE3C,+BAAiB,MAAM,KAAK;AAAA,gBAC3B,IAAI,UAAU,KAAK;AAAA,gBACnB,MAAM,UAAU,KAAK;AAAA,gBACrB,OAAO,UAAU,KAAK;AAAA,gBACtB,cAAc,UAAU,KAAK;AAAA,gBAC7B,gBAAgB,UAAU,KAAK,kBAAkB,UAAU;AAAA,cACjE,CAAM;AAAA,YACD;AAAA,UACL,OAAU;AAEN,6BAAiB,MAAM,KAAK;AAAA,cAC3B,MAAM,UAAU;AAAA,cAChB,OAAO,UAAU;AAAA,cACjB,cAAc,UAAU;AAAA,cACxB,gBAAgB,UAAU;AAAA,YAC/B,CAAK;AAAA,UACD;AAEDL,wBAAG,MAAC,YAAW;AACfA,wBAAG,MAAC,UAAU,EAAE,OAAO,QAAQ,MAAM,UAAS,CAAE;AAChD,uBAAa,QAAQ;AAGrB,oBAAU,OAAO;AACjB,oBAAU,QAAQ;AAClB,oBAAU,eAAe;AACzB,oBAAU,iBAAiB;AAAA,QAC9B,OAAS;AACNA,wBAAG,MAAC,YAAW;AACfA,8BAAI,UAAU,EAAE,OAAO,IAAI,OAAO,QAAQ,MAAM,OAAM,CAAE;AAAA,QACxD;AAAA,MACD,SAAQ,OAAO;AACfA,sBAAG,MAAC,YAAW;AACfA,2FAAc,YAAY,KAAK;AAC/BA,sBAAG,MAAC,UAAU,EAAE,OAAO,QAAQ,MAAM,OAAM,CAAE;AAAA,MAC7C;AAAA,IACF;AAGA,UAAM,mBAAmBH,cAAAA,IAAI,KAAK;AAClC,UAAM,iBAAiBA,cAAAA,IAAI,EAAE;AAC7B,UAAM,oBAAoBA,cAAAA,IAAI,CAAA,CAAE;AAChC,UAAM,cAAcA,cAAAA,IAAI,CAAA,CAAE;AAC1B,UAAM,iBAAiBA,cAAAA,IAAI,KAAK;AAChC,UAAM,iBAAiBA,cAAAA,IAAI,CAAC;AAC5B,UAAM,kBAAkBA,cAAAA,IAAI,EAAE;AAC9B,UAAM,iBAAiBA,cAAAA,IAAI,IAAI;AAG/B,UAAM,mBAAmB,MAAM;AAC9B,uBAAiB,QAAQ;AACzB,qBAAe,QAAQ;AACvB,qBAAe,QAAQ;AACvB,kBAAY,QAAQ;AACpB,qBAAe,QAAQ;AACvB,wBAAkB,QAAQ;AAC1B;IACD;AAGA,UAAM,oBAAoB,MAAM;AAC/B,uBAAiB,QAAQ;AACzB,wBAAkB,QAAQ;IAC3B;AAGA,UAAM,mBAAmB,OAAO,aAAa,UAAU;AACtD,UAAI,eAAe;AAAO;AAE1B,qBAAe,QAAQ;AACvB,UAAI;AACH,cAAM,SAAS;AAAA,UACd,SAAS,eAAe;AAAA,UACxB,UAAU,gBAAgB;AAAA,QAC7B;AAEE,YAAI,eAAe,SAAS,eAAe,MAAM,KAAI,GAAI;AACxD,iBAAO,OAAO,eAAe,MAAM,KAAI;AAAA,QACvC;AAED,cAAM,MAAM,MAAMS,6BAAiB,MAAM;AACzC,YAAI,IAAI,SAAS,GAAG;AACnB,gBAAM,UAAU,IAAI,KAAK,WAAW,CAAA;AACpC,cAAI,YAAY;AACf,wBAAY,QAAQ,CAAC,GAAG,YAAY,OAAO,GAAG,OAAO;AAAA,UACzD,OAAU;AACN,wBAAY,QAAQ;AAAA,UACpB;AAED,gBAAM,QAAQ,IAAI,KAAK,SAAS;AAChC,yBAAe,QAAQ,YAAY,MAAM,SAAS;AAAA,QAClD;AAAA,MACD,SAAQ,OAAO;AACfN,2FAAc,cAAc,KAAK;AAAA,MACnC,UAAW;AACT,uBAAe,QAAQ;AAAA,MACvB;AAAA,IACF;AAGA,UAAM,gBAAgB,MAAM;AAC3B,qBAAe,QAAQ;AACvB,kBAAY,QAAQ;AACpB,qBAAe,QAAQ;AACvB;IACD;AAGA,UAAM,kBAAkB,MAAM;AAC7B,UAAI,CAAC,eAAe,SAAS,eAAe;AAAO;AACnD,qBAAe;AACf,uBAAiB,IAAI;AAAA,IACtB;AAEA,UAAM,sBAAsB,CAAC,SAAS;AACrC,YAAM,QAAQ,kBAAkB,MAAM,QAAQ,KAAK,EAAE;AACrD,UAAI,QAAQ,IAAI;AACf,0BAAkB,MAAM,OAAO,OAAO,CAAC;AAAA,MACzC,OAAQ;AACN,0BAAkB,MAAM,KAAK,KAAK,EAAE;AAAA,MACpC;AAAA,IACF;AAGA,UAAM,wBAAwB,OAAO,cAAc;AAClD,YAAM,WAAW;AACjB,UAAI,UAAU;AACd,UAAI,aAAa,CAAA;AACjB,UAAI,QAAQ;AAEZ,aAAO,MAAM;AACZ,cAAM,MAAM,MAAMO,mCAAuB;AAAA,UACxC,IAAI;AAAA,UACJ;AAAA,UACA;AAAA,QACH,CAAG;AACD,YAAI,IAAI,SAAS,KAAK,CAAC,IAAI;AAAM;AAEjC,cAAM,UAAU,IAAI,KAAK,WAAW,CAAA;AACpC,gBAAQ,OAAO,IAAI,KAAK,KAAK,KAAK;AAClC,qBAAa,CAAC,GAAG,YAAY,GAAG,OAAO;AAEvC,YAAI,QAAQ,WAAW,KAAK,WAAW,UAAU;AAAO;AACxD,mBAAW;AAAA,MACX;AAED,aAAO;AAAA,IACR;AAEA,UAAM,wBAAwB,CAAC,WAAW,YAAY;AACrD,YAAM,UAAU,YAAY,MAAM,KAAK,CAAC,SAAS,OAAO,KAAK,EAAE,MAAM,OAAO,SAAS,CAAC;AACtF,UAAI,mCAAS;AAAM,eAAO,QAAQ;AAClC,UAAI,QAAQ,SAAS;AAAG,eAAO,QAAQ,CAAC,EAAE,QAAQ;AAClD,aAAO;AAAA,IACR;AAEA,UAAM,uBAAuB,CAAC,WAAW,SAAS,sBAAsB;AACvE,YAAM,mBAAmB;AACzB,UAAI,aAAa;AAEjB,cAAQ,QAAQ,CAAC,WAAW;AAC3B,YAAI,CAAC,OAAO;AAAS;AACrB,cAAM,UAAU,OAAO,OAAO,OAAO;AACrC,YAAI,iBAAiB,IAAI,OAAO;AAAG;AAEnC,yBAAiB,IAAI,OAAO;AAC5B,0BAAkB,MAAM,KAAK;AAAA,UAC5B;AAAA,UACA,QAAQ,OAAO;AAAA,UACf,iBAAiB;AAAA,UACjB;AAAA,UACA,MAAM,OAAO,QAAQ;AAAA,UACrB,OAAO,OAAO,SAAS;AAAA,UACvB,UAAU,OAAO,YAAY;AAAA,UAC7B,UAAU,OAAO,YAAY;AAAA,UAC7B,YAAY,OAAO,cAAc;AAAA,QACpC,CAAG;AACD,sBAAc;AAAA,MAChB,CAAE;AAED,aAAO;AAAA,IACR;AAGA,UAAM,qBAAqB,YAAY;AACtC,UAAI,kBAAkB,MAAM,WAAW,GAAG;AACzCP,sBAAG,MAAC,UAAU,EAAE,OAAO,UAAU,MAAM,OAAM,CAAE;AAC/C;AAAA,MACA;AAEDA,oBAAAA,MAAI,YAAY,EAAE,OAAO,SAAU,CAAA;AAEnC,UAAI;AACH,YAAI,aAAa;AAEjB,mBAAW,MAAM,kBAAkB,OAAO;AACzC,gBAAM,UAAU,MAAM,sBAAsB,EAAE;AAC9C,gBAAM,oBAAoB,sBAAsB,IAAI,OAAO;AAC3D,wBAAc,qBAAqB,IAAI,SAAS,iBAAiB;AAAA,QACjE;AAEDA,sBAAG,MAAC,YAAW;AAEf,YAAI,eAAe,GAAG;AACrBA,wBAAG,MAAC,UAAU,EAAE,OAAO,cAAc,MAAM,OAAM,CAAE;AACnD;AAAA,QACA;AAEDA,sBAAAA,MAAI,UAAU,EAAE,OAAO,MAAM,UAAU,KAAK,MAAM,UAAS,CAAE;AAC7D,yBAAiB,QAAQ;AACzB,0BAAkB,QAAQ;MAC1B,SAAQ,OAAO;AACfA,sBAAG,MAAC,YAAW;AACfA,4FAAc,cAAc,KAAK;AACjCA,sBAAG,MAAC,UAAU,EAAE,OAAO,QAAQ,MAAM,OAAM,CAAE;AAAA,MAC7C;AAAA,IACF;AAGA,UAAM,aAAa,YAAY;AAE9B,UAAI,CAAC,SAAS,MAAM;AACnBA,sBAAG,MAAC,UAAU,EAAE,OAAO,YAAY,MAAM,OAAM,CAAE;AACjD;AAAA,MACA;AACD,UAAI,CAAC,SAAS,QAAQ;AACrBA,sBAAG,MAAC,UAAU,EAAE,OAAO,WAAW,MAAM,OAAM,CAAE;AAChD;AAAA,MACA;AACD,UAAI,CAAC,SAAS,MAAM;AACnBA,sBAAG,MAAC,UAAU,EAAE,OAAO,YAAY,MAAM,OAAM,CAAE;AACjD;AAAA,MACA;AACD,UAAI,CAAC,SAAS,UAAU;AACvBA,sBAAG,MAAC,UAAU,EAAE,OAAO,WAAW,MAAM,OAAM,CAAE;AAChD;AAAA,MACA;AAED,UAAI,SAAS,aAAa,UAAU,SAAS,YAAY,WAAW,GAAG;AACtEA,sBAAG,MAAC,UAAU,EAAE,OAAO,WAAW,MAAM,OAAM,CAAE;AAChD;AAAA,MACA;AACD,UAAI,CAAC,SAAS,WAAW;AACxBA,sBAAG,MAAC,UAAU,EAAE,OAAO,SAAS,MAAM,OAAM,CAAE;AAC9C;AAAA,MACA;AACD,UAAI,CAAC,SAAS,aAAa,CAAC,SAAS,SAAS;AAC7CA,sBAAG,MAAC,UAAU,EAAE,OAAO,WAAW,MAAM,OAAM,CAAE;AAChD;AAAA,MACA;AACD,UAAI,eAAe,SAAS,OAAO,IAAI,eAAe,SAAS,SAAS,GAAG;AAC1EA,sBAAG,MAAC,UAAU,EAAE,OAAO,gBAAgB,MAAM,OAAM,CAAE;AACrD;AAAA,MACA;AAGD,YAAM,QAAQ,CAAA;AACd,uBAAiB,MAAM,QAAQ,CAAC,SAAS;AACxC,YAAI,KAAK,IAAI;AACZ,gBAAM,KAAK,OAAO,KAAK,EAAE,CAAC;AAAA,QAC1B;AAAA,MACH,CAAE;AACD,wBAAkB,MAAM,QAAQ,CAAC,SAAS;AACzC,YAAI,KAAK,SAAS;AACjB,gBAAM,KAAK,OAAO,KAAK,OAAO,CAAC;AAAA,QAC/B;AAAA,MACH,CAAE;AAED,UAAI,MAAM,WAAW,GAAG;AACvBA,sBAAG,MAAC,UAAU,EAAE,OAAO,UAAU,MAAM,OAAM,CAAE;AAC/C;AAAA,MACA;AAGD,YAAM,aAAa;AAAA,QAClB,QAAQ;AAAA,QACR,MAAM;AAAA,MACR;AAGC,YAAM,WAAW;AAAA,QAChB,QAAQ;AAAA,QACR,QAAQ;AAAA,QACR,QAAQ;AAAA,QACR,SAAS;AAAA,MACX;AAGC,YAAM,UAAU,CAAC,GAAG,IAAI;AAAA,QACvB,kBAAkB,MAChB,IAAI,CAAC,SAAS,KAAK,eAAe,EAClC,OAAO,OAAO,EACd,IAAI,CAAC,OAAO,OAAO,EAAE,CAAC;AAAA,MAC1B,CAAE;AAGD,YAAM,SAAS;AAAA,QACd,MAAM,SAAS;AAAA,QACf,QAAQ,SAAS;AAAA,QACjB,aAAa,SAAS,UAAU;AAAA,QAChC,MAAM,SAAS;AAAA;AAAA,QACf,SAAS,WAAW,SAAS,QAAQ,KAAK;AAAA,QAC1C,eAAe;AAAA,QACf;AAAA;AAAA,QACA,OAAO,SAAS,SAAS,SAAS,KAAK;AAAA,QACvC,WAAW,cAAc,QAAQ,IAAI;AAAA,QACrC,eAAe,GAAG,SAAS,SAAS;AAAA,QACpC,aAAa,GAAG,SAAS,OAAO;AAAA,MAClC;AAGC,UAAI,SAAS,aAAa,UAAU,SAAS,YAAY,SAAS,GAAG;AACpE,eAAO,aAAa,SAAS,YAAY,CAAC;AAAA,MAE1C;AAED,UAAI;AACHA,sBAAAA,MAAI,YAAY,EAAE,OAAO,SAAU,CAAA;AACnC,cAAM,MAAM,MAAMQ,0BAAc,MAAM;AACtCR,sBAAG,MAAC,YAAW;AAEf,YAAI,IAAI,SAAS,GAAG;AACnBA,wBAAG,MAAC,UAAU,EAAE,OAAO,QAAQ,MAAM,UAAS,CAAE;AAChD,qBAAW,MAAM;AAChBA,0BAAG,MAAC,aAAY;AAAA,UAChB,GAAE,IAAI;AAAA,QACV,OAAS;AACNA,8BAAI,UAAU,EAAE,OAAO,IAAI,OAAO,QAAQ,MAAM,OAAM,CAAE;AAAA,QACxD;AAAA,MACD,SAAQ,OAAO;AACfA,sBAAG,MAAC,YAAW;AACfA,sBAAc,MAAA,MAAA,SAAA,iDAAA,SAAS,KAAK;AAC5BA,sBAAG,MAAC,UAAU,EAAE,OAAO,QAAQ,MAAM,OAAM,CAAE;AAAA,MAC7C;AAAA,IACF;AAGAS,kBAAAA,UAAU,MAAM;AACf;AACA;IACD,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AChtCD,GAAG,WAAW,eAAe;"} \ No newline at end of file diff --git a/unpackage/dist/dev/.sourcemap/mp-weixin/pages/hiddendanger/Inspection.js.map b/unpackage/dist/dev/.sourcemap/mp-weixin/pages/hiddendanger/Inspection.js.map index b404398..606a414 100644 --- a/unpackage/dist/dev/.sourcemap/mp-weixin/pages/hiddendanger/Inspection.js.map +++ b/unpackage/dist/dev/.sourcemap/mp-weixin/pages/hiddendanger/Inspection.js.map @@ -1 +1 @@ -{"version":3,"file":"Inspection.js","sources":["pages/hiddendanger/Inspection.vue","F:/software/HBuilderX/HBuilderX/plugins/uniapp-cli-vite/uniPage:/cGFnZXMvaGlkZGVuZGFuZ2VyL0luc3BlY3Rpb24udnVl"],"sourcesContent":["\r\n\r\n\r\n\r\n\r\n\r\n","import MiniProgramPage from 'E:/hexieyun/ThreeChecksOneExposure_platform/12.07chongqixinde/三查一曝光小程序/threeonecheck_小程序/pages/hiddendanger/Inspection.vue'\nwx.createPage(MiniProgramPage)"],"names":["ref","computed","uni","enterCheckPlan","getCheckTaskDetail","onLoad","reactive","getRegulationList","getAreaList","buildAttachmentItem","addHiddenDanger","getMyHiddenDangerList","onShow","getCurrentInstance","createUploadListHandlers","analyzeHazardImage","nextTick","getHiddenDangerLabelList","watch"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;AAuQC,UAAM,eAAeA,kBAAI,KAAK;AAG9B,UAAM,cAAcA,kBAAI,GAAG;AAC3B,UAAM,eAAeA,kBAAI,GAAG;AAG5B,UAAM,iBAAiBA,kBAAI,IAAI;AAG/B,UAAM,WAAWA,kBAAI,EAAE;AACvB,UAAM,gBAAgBC,cAAAA,SAAS,MAAM;AACpC,aAAO,SAAS,UAAU,WAAW,SAAS,UAAU;AAAA,IAC1D,CAAE;AAGD,UAAM,cAAc,MAAM;AACzB,UAAI;AACH,cAAM,cAAcC,cAAAA,MAAI,eAAe,UAAU;AACjD,YAAI,aAAa;AAChB,gBAAM,WAAW,KAAK,MAAM,WAAW;AACvC,mBAAS,QAAQ,SAAS,QAAQ;AAClCA,wBAAA,MAAA,MAAA,OAAA,4CAAY,WAAW,SAAS,KAAK;AAAA,QACrC;AAAA,MACD,SAAQ,OAAO;AACfA,sBAAc,MAAA,MAAA,SAAA,4CAAA,aAAa,KAAK;AAAA,MAChC;AAAA,IACH;AACC;AAGA,UAAM,SAASF,kBAAI,EAAE;AACrB,UAAM,eAAeA,kBAAI,EAAE;AAG3B,UAAM,gBAAgB,OAAO,eAAe;AAC3C,UAAI;AAEH,cAAM,WAAW,MAAMG,2BAAe,UAAU;AAChD,YAAI,SAAS,SAAS,KAAK,SAAS,MAAM;AACzC,gBAAM,MAAM,SAAS,KAAK;AAG1B,gBAAM,YAAY,MAAMC,+BAAmB,GAAG;AAC9C,cAAI,UAAU,SAAS,KAAK,UAAU,MAAM;AAC3C,mBAAO,QAAQ,UAAU,KAAK;AAC9B,yBAAa,QAAQ,UAAU,KAAK;AAAA,UACpC;AAAA,QACD;AAAA,MACD,SAAQ,OAAO;AACfF,sBAAc,MAAA,MAAA,SAAA,4CAAA,aAAa,KAAK;AAAA,MAChC;AAAA,IACH;AAECG,kBAAM,OAAC,CAAC,YAAY;AACnB,UAAI,QAAQ,IAAI;AACf,sBAAc,QAAQ,EAAE;AAAA,MACxB;AAAA,IACH,CAAE;AAGD,UAAM,WAAWC,cAAAA,SAAS;AAAA,MACzB,OAAO;AAAA;AAAA,MACP,OAAO;AAAA;AAAA,MACP,aAAa;AAAA;AAAA,MACb,UAAU;AAAA;AAAA,MACV,QAAQ;AAAA;AAAA,MACR,cAAc;AAAA;AAAA,MACd,gBAAgB;AAAA;AAAA,IAClB,CAAE;AAGsBN,kBAAAA,IAAI,CAAC;AAG5B,UAAM,MAAMA,kBAAI,CAAC;AACjB,UAAM,MAAMA,kBAAI,CAAC;AAGjB,UAAM,kBAAkBA,kBAAI,EAAE;AAG9B,UAAM,iBAAiBA,kBAAI,KAAK;AAChC,UAAM,WAAWA,kBAAI,CAAA,CAAE;AACvB,UAAM,iBAAiBA,kBAAI,EAAE;AAC7B,UAAM,mBAAmBA,kBAAI,EAAE;AAC/B,UAAM,aAAaA,kBAAI,EAAE;AAGzB,UAAM,eAAeA,kBAAI,KAAK;AAC9B,UAAM,aAAaA,kBAAI,EAAE;AACzB,UAAM,gBAAgBA,kBAAI,IAAI;AAC9B,UAAM,kBAAkBA,kBAAI,EAAE;AAC9B,UAAM,UAAUA,kBAAI,CAAA,CAAE;AACtB,UAAM,aAAaA,kBAAI,KAAK;AAC5B,UAAM,aAAaA,kBAAI,CAAC;AACxB,UAAM,cAAcA,kBAAI,EAAE;AAC1B,UAAM,aAAaA,kBAAI,IAAI;AAG3B,UAAM,eAAe,MAAM;AAC1B,mBAAa,QAAQ;AACrB,UAAI,QAAQ,MAAM,WAAW,GAAG;AAC/B;MACA;AAAA,IACH;AAGC,UAAM,sBAAsB,OAAO,aAAa,UAAU;AACzD,UAAI,WAAW;AAAO;AACtB,iBAAW,QAAQ;AACnB,UAAI;AACH,cAAM,SAAS;AAAA,UACd,SAAS,WAAW;AAAA,UACpB,UAAU,YAAY;AAAA,UACtB,QAAQ;AAAA;AAAA,QACZ;AACG,YAAI,WAAW,SAAS,WAAW,MAAM,KAAI,GAAI;AAChD,iBAAO,UAAU,WAAW,MAAM,KAAI;AAAA,QACtC;AAED,cAAM,MAAM,MAAMO,8BAAkB,MAAM;AAC1C,YAAI,IAAI,SAAS,GAAG;AACnB,gBAAM,UAAU,IAAI,KAAK,WAAW,IAAI,QAAQ;AAChD,cAAI,YAAY;AACf,oBAAQ,QAAQ,CAAC,GAAG,QAAQ,OAAO,GAAG,OAAO;AAAA,UAClD,OAAW;AACN,oBAAQ,QAAQ;AAAA,UAChB;AACD,gBAAM,QAAQ,IAAI,KAAK,SAAS;AAChC,qBAAW,QAAQ,QAAQ,MAAM,SAAS;AAAA,QAC1C;AAAA,MACD,SAAQ,OAAO;AACfL,sBAAc,MAAA,MAAA,SAAA,4CAAA,aAAa,KAAK;AAAA,MACnC,UAAY;AACT,mBAAW,QAAQ;AAAA,MACnB;AAAA,IACH;AAGC,UAAM,mBAAmB,MAAM;AAC9B,iBAAW,QAAQ;AACnB,cAAQ,QAAQ;AAChB,iBAAW,QAAQ;AACnB;IACF;AAGC,UAAM,cAAc,MAAM;AACzB,UAAI,CAAC,WAAW,SAAS,WAAW;AAAO;AAC3C,iBAAW;AACX,0BAAoB,IAAI;AAAA,IAC1B;AAGC,UAAM,YAAY,CAAC,SAAS;AAC3B,oBAAc,QAAQ,KAAK;AAC3B,sBAAgB,QAAQ,KAAK,UAAU,KAAK,WAAW;AAAA,IACzD;AAGC,UAAM,aAAa,MAAM;AACxB,UAAI,cAAc,OAAO;AACxB,iBAAS,eAAe,cAAc;AACtC,iBAAS,iBAAiB,gBAAgB;AAAA,MAC1C;AACD,mBAAa,QAAQ;AAAA,IACvB;AAGC,UAAM,gBAAgB,YAAY;AACjC,UAAI;AACH,cAAM,MAAM,MAAMM,2BAAAA;AAClB,YAAI,IAAI,SAAS,KAAK,IAAI,QAAQ,IAAI,KAAK,SAAS;AACnD,mBAAS,QAAQ,IAAI,KAAK;AAAA,QAC1B;AAAA,MACD,SAAQ,OAAO;AACfN,sBAAc,MAAA,MAAA,SAAA,4CAAA,aAAa,KAAK;AAAA,MAChC;AAAA,IACH;AACC;AAGA,UAAM,oBAAoB,MAAM;AAC/B,UAAI,WAAW,OAAO;AACrB,uBAAe,QAAQ,WAAW;AAClC,cAAM,WAAW,SAAS,MAAM,KAAK,UAAQ,KAAK,OAAO,WAAW,KAAK;AACzE,yBAAiB,QAAQ,WAAW,SAAS,OAAO;AAAA,MACpD;AACD,qBAAe,QAAQ;AAAA,IACzB;AAEC,UAAM,iBAAiB,MAAM;AAC5BA,oBAAAA,MAAY,MAAA,OAAA,4CAAA,uBAAuB;AAEnC,mBAAa,QAAQ;AAErB,iBAAW,MAAM;AAEhBA,sBAAAA,MAAI,YAAY;AAAA,UACf,MAAM;AAAA;AAAA,UACN,SAAS,CAAC,gBAAgB;AACzBA,0BAAY,MAAA,MAAA,OAAA,4CAAA,aAAa,WAAW;AAEpCA,0BAAAA,MAAI,eAAe;AAAA,cAClB,UAAU,YAAY;AAAA,cACtB,WAAW,YAAY;AAAA,cACvB,SAAS,CAAC,QAAQ;AACjBA,8BAAA,MAAA,MAAA,OAAA,4CAAY,WAAW,GAAG;AAE1B,gCAAgB,QAAQ,IAAI,WAAW,IAAI,OAAO,IAAI,IAAI,IAAI,MAAM;AACpE,oBAAI,QAAQ,IAAI;AAChB,oBAAI,QAAQ,IAAI;AAEhB,6BAAa,QAAQ;AAAA,cACrB;AAAA,cACD,MAAM,CAAC,QAAQ;AACdA,8BAAA,MAAA,MAAA,SAAA,4CAAc,WAAW,GAAG;AAE5B,6BAAa,QAAQ;AAErB,oBAAI,IAAI,UAAU,IAAI,OAAO,QAAQ,QAAQ,MAAM,IAAI;AACtDA,gCAAAA,MAAI,UAAU;AAAA,oBACb,OAAO;AAAA,oBACP,MAAM;AAAA,kBACf,CAAS;AAAA,gBACD;AAAA,cACD;AAAA,YACP,CAAM;AAAA,UACD;AAAA,UACD,MAAM,CAAC,QAAQ;AACdA,2FAAc,aAAa,GAAG;AAE9BA,0BAAAA,MAAI,eAAe;AAAA,cAClB,SAAS,CAAC,QAAQ;AACjBA,8BAAA,MAAA,MAAA,OAAA,4CAAY,WAAW,GAAG;AAC1B,gCAAgB,QAAQ,IAAI,WAAW,IAAI,OAAO,IAAI,IAAI,IAAI,MAAM;AACpE,oBAAI,QAAQ,IAAI;AAChB,oBAAI,QAAQ,IAAI;AAChB,6BAAa,QAAQ;AAAA,cACrB;AAAA,cACD,MAAM,CAAC,cAAc;AACpBA,8BAAc,MAAA,MAAA,SAAA,4CAAA,WAAW,SAAS;AAClC,6BAAa,QAAQ;AACrB,oBAAI,UAAU,UAAU,UAAU,OAAO,QAAQ,QAAQ,MAAM,IAAI;AAClEA,gCAAAA,MAAI,UAAU;AAAA,oBACb,OAAO;AAAA,oBACP,MAAM;AAAA,kBACf,CAAS;AAAA,gBACD;AAAA,cACD;AAAA,YACP,CAAM;AAAA,UACD;AAAA,QACL,CAAI;AAAA,MACD,GAAE,GAAG;AAAA,IACR;AAGC,UAAM,YAAY,YAAY;;AAE7B,UAAI,CAAC,SAAS,OAAO;AACpBA,sBAAAA,MAAI,UAAU;AAAA,UACb,OAAO;AAAA,UACP,MAAM;AAAA,QACV,CAAI;AACD;AAAA,MACA;AACD,UAAI,UAAU,MAAM,WAAW,GAAG;AACjCA,sBAAAA,MAAI,UAAU;AAAA,UACb,OAAO;AAAA,UACP,MAAM;AAAA,QACV,CAAI;AACD;AAAA,MACA;AAED,YAAM,cAAc,UAAU,MAC5B,OAAO,CAAC,MAAM,EAAE,WAAW,SAAS,EACpC,IAAI,CAAC,SAASO,iCAAoB,IAAI,CAAC;AAGzC,YAAM,cAAc,WAAW,MAAM,SAAS,QAAQ;AACtD,YAAM,QAAQ,cAAc,YAAY,KAAK;AAC7CP,oBAAY,MAAA,MAAA,OAAA,4CAAA,SAAQ,aAAa;AAGjC,YAAM,SAAS;AAAA,QACd,OAAO,SAAS;AAAA;AAAA,QAChB,SAAO,kBAAa,MAAM,SAAS,KAAK,MAAjC,mBAAoC,OAAM;AAAA;AAAA,QACjD,KAAK,IAAI,SAAS;AAAA;AAAA,QAClB,KAAK,IAAI,SAAS;AAAA;AAAA,QAClB,SAAS,gBAAgB,SAAS;AAAA;AAAA,QAClC,QAAQ,eAAe,SAAS;AAAA;AAAA,QAChC,aAAa,SAAS,eAAe;AAAA;AAAA,QACrC;AAAA;AAAA,QACA,QAAQ,OAAO;AAAA;AAAA,QACf,cAAc,aAAa;AAAA;AAAA,QAC3B,UAAQ,mBAAc,MAAM,SAAS,MAAM,MAAnC,mBAAsC,UAAS;AAAA;AAAA,QACvD;AAAA;AAAA,QACA,cAAc,SAAS,gBAAgB;AAAA;AAAA,MAC1C;AAEEA,mFAAY,UAAU,MAAM;AAE5B,UAAI;AACH,cAAM,MAAM,MAAMQ,4BAAgB,MAAM;AACxC,YAAI,IAAI,SAAS,GAAG;AACnBR,wBAAAA,MAAI,UAAU;AAAA,YACb,OAAO;AAAA,YACP,MAAM;AAAA,UACX,CAAK;AACD,uBAAa,QAAQ;AAErB,mBAAS,QAAQ;AACjB,mBAAS,QAAQ;AACjB,mBAAS,cAAc;AACvB,mBAAS,WAAW;AACpB,0BAAgB,QAAQ;AACxB,yBAAe,QAAQ;AACvB,2BAAiB,QAAQ;AACzB,oBAAU,QAAQ;AAElB,mBAAS,eAAe;AACxB,mBAAS,iBAAiB;AAC1B,wBAAc,QAAQ;AACtB,0BAAgB,QAAQ;AAExB;QACJ,OAAU;AACNA,wBAAAA,MAAI,UAAU;AAAA,YACb,OAAO,IAAI,OAAO;AAAA,YAClB,MAAM;AAAA,UACX,CAAK;AAAA,QACD;AAAA,MACD,SAAQ,OAAO;AACfA,sBAAAA,MAAA,MAAA,SAAA,4CAAc,KAAK;AACnBA,sBAAAA,MAAI,UAAU;AAAA,UACb,OAAO;AAAA,UACP,MAAM;AAAA,QACV,CAAI;AAAA,MACD;AAAA,IACH;AAEC,UAAM,mBAAmBF,kBAAI,CAAA,CAAE;AAC/B,UAAM,wBAAwB,YAAY;AACzC,UAAI;AACH,cAAM,MAAM,MAAMW,YAAAA;AAClB,YAAI,IAAI,SAAS,GAAG;AACnB,2BAAiB,QAAQ,IAAI,KAAK;AAAA,QACtC,OAAU;AACNT,wBAAAA,MAAI,UAAU;AAAA,YACb,OAAO,IAAI,OAAO;AAAA,YAClB,MAAM;AAAA,UACX,CAAK;AAAA,QACD;AAAA,MACD,SAAQ,OAAO;AACfA,sBAAAA,MAAA,MAAA,SAAA,4CAAc,KAAK;AACnBA,sBAAAA,MAAI,UAAU;AAAA,UACb,OAAO;AAAA,UACP,MAAM;AAAA,QACV,CAAI;AAAA,MACD;AAAA,IACH;AAGCU,kBAAAA,OAAO,MAAM;AACb;IAED,CAAE;AAED,UAAM,UAAU,CAAC,SAAS;AACzBV,oBAAAA,MAAI,WAAW;AAAA,QACd,KAAK,qCAAqC,KAAK,QAAQ,aAAa,KAAK,QAAQ;AAAA,MACpF,CAAG;AAAA,IACD;AACD,UAAM,gBAAgB,CAAC,SAAS;AAC/B,UAAI,MAAM,8CAA8C,KAAK,QAAQ,aAAa,KAAK,QAAQ;AAC/F,UAAI,KAAK,UAAU;AAClB,eAAO,aAAa,mBAAmB,KAAK,QAAQ,CAAC;AAAA,MACrD;AACDA,0BAAI,WAAW,EAAE,KAAK;AAAA,IACtB;AAGD,UAAM,oBAAoB,CAAC,SAAS;AACnCA,oBAAAA,MAAI,WAAW;AAAA,QACd,KAAK,+CAA+C,KAAK,SAAS;AAAA,MACrE,CAAG;AAAA,IACD;AAED,UAAM,aAAa,CAAC,SAAS;AAC5BA,oBAAAA,MAAI,WAAW;AAAA,QACd,KAAK,2CAA2C,KAAK,QAAQ,aAAa,KAAK,QAAQ,cAAc,KAAK,SAAS;AAAA,MACtH,CAAG;AAAA,IACD;AAED,UAAM,eAAe,CAAC,SAAS;AAC9BA,oBAAAA,MAAI,WAAW;AAAA,QACd,KAAK,2CAA2C,KAAK,QAAQ,aAAa,KAAK,QAAQ;AAAA,MAC1F,CAAG;AAAA,IACD;AACD,UAAM,YAAYF,kBAAI,CAAA,CAAE;AACxB,UAAM,iBAAiBa,cAAAA;AACvB,UAAM,EAAE,WAAW,cAAcC,aAAAA,yBAAyB,WAAW;AAAA,MACpE,WAAW;AAAA,QACV,UAAU;AAAA,QACV,gBAAgB;AAAA,QAChB,iBAAiB;AAAA,QACjB,UAAU;AAAA,MACV;AAAA,IACH,CAAE;AAGD,UAAM,cAAcd,kBAAI,KAAK;AAC7B,UAAM,kBAAkB,YAAY;AACnC,YAAM,aAAa,UAAU,MAAM,OAAO,OAAK;AAC9C,eAAO,EAAE,WAAW,aAAa,EAAE,IAAI,YAAa,EAAC,MAAM,gCAAgC;AAAA,MAC9F,CAAG;AACD,UAAI,WAAW,WAAW,GAAG;AAC5BE,sBAAG,MAAC,UAAU,EAAE,OAAO,YAAY,MAAM,OAAM,CAAE;AACjD;AAAA,MACA;AAED,YAAM,eAAe,WAAW,CAAC,EAAE;AAEnC,kBAAY,QAAQ;AACpB,UAAI;AACHA,sBAAA,MAAA,MAAA,OAAA,4CAAY,oBAAoB,YAAY;AAC5C,cAAM,aAAa,MAAMa,+BAAmB;AAAA;AAAA,UAE3C,UAAU;AAAA,QACd,CAAI;AAED,YAAI,WAAW,SAAS,KAAK,WAAW,MAAM;AAC7C,gBAAM,SAAS,WAAW;AAC1Bb,wBAAA,MAAA,MAAA,OAAA,4CAAY,WAAW,MAAM;AAE7B,cAAI,OAAO;AAAO,qBAAS,QAAQ,OAAO;AAC1C,cAAI,OAAO;AAAa,qBAAS,cAAc,OAAO;AAEtD,cAAI,OAAO,OAAO;AACjB,kBAAM,WAAW,EAAE,MAAM,GAAG,QAAQ,GAAG,MAAM,GAAG,QAAQ,GAAG,MAAM,GAAG,QAAQ,EAAC;AAC7E,kBAAM,aAAa,SAAS,OAAO,KAAK;AACxC,gBAAI,eAAe,QAAW;AAC7B,uBAAS,QAAQ;AACjBc,4BAAAA,WAAS,MAAM;AACd,oBAAI,eAAe,SAAS,eAAe,MAAM,OAAO;AACvD,iCAAe,MAAM,MAAM,eAAe;AAAA,gBAC1C;AAAA,cACR,CAAO;AAAA,YACD;AAAA,UACD;AAEDd,8BAAI,UAAU,EAAE,OAAO,gBAAgB,MAAM,WAAW,UAAU,IAAI,CAAE;AAAA,QAC5E,OAAU;AACNA,8BAAI,UAAU,EAAE,OAAO,WAAW,OAAO,UAAU,MAAM,OAAM,CAAE;AAAA,QACjE;AAAA,MACD,SAAQ,OAAO;AACfA,sBAAA,MAAA,MAAA,SAAA,4CAAc,eAAe,KAAK;AAClCA,sBAAG,MAAC,UAAU,EAAE,OAAO,cAAc,MAAM,OAAM,CAAE;AAAA,MACtD,UAAY;AACT,oBAAY,QAAQ;AAAA,MACpB;AAAA,IACH;AACC,UAAM,aAAaF,kBAAI,CAAA,CAAE;AACzB,UAAM,kBAAkB,YAAY;AACnC,UAAI;AACH,cAAM,MAAM,MAAMiB,YAAAA;AAClB,YAAI,IAAI,SAAS,GAAG;AAEnB,qBAAW,QAAQ,IAAI,KAAK,IAAI,WAAS;AAAA,YACxC,IAAI,KAAK;AAAA,YACT,OAAO,KAAK;AAAA,UACZ,EAAC;AAAA,QACN,OAAU;AACNf,wBAAAA,MAAI,UAAU;AAAA,YACb,OAAO,IAAI,OAAO;AAAA,YAClB,MAAM;AAAA,UACX,CAAK;AAAA,QACD;AAAA,MACD,SAAQ,OAAO;AACfA,sBAAAA,MAAA,MAAA,SAAA,4CAAc,KAAK;AACnBA,sBAAAA,MAAI,UAAU;AAAA,UACb,OAAO;AAAA,UACP,MAAM;AAAA,QACV,CAAI;AAAA,MACD;AAAA,IACH;AACC;AAIA,UAAM,eAAeF,cAAAA,IAAI;AAAA;AAAA;AAAA;AAAA;AAAA,MAKxB;AAAA,QACC,IAAI;AAAA,QACJ,OAAO;AAAA,MACP;AAAA,MACD;AAAA,QACC,IAAI;AAAA,QACJ,OAAO;AAAA,MACP;AAAA,IACH,CAAE;AAED,UAAM,gBAAgBA,cAAAA,IAAI;AAAA,MAAC;AAAA,QACzB,IAAI;AAAA,QACJ,OAAO;AAAA,MACP;AAAA,MACD;AAAA,QACC,IAAI;AAAA,QACJ,OAAO;AAAA,MACP;AAAA,MACD;AAAA,QACC,IAAI;AAAA,QACJ,OAAO;AAAA,MACP;AAAA,MACD;AAAA,QACC,IAAI;AAAA,QACJ,OAAO;AAAA,MACP;AAAA,IACH,CAAE;AAGDkB,kBAAAA,MAAM,MAAM,SAAS,QAAQ,CAAC,WAAW;AACxC,YAAM,WAAW,cAAc,MAAM,MAAM;AAC3ChB,oBAAAA,MAAY,MAAA,OAAA,4CAAA,aAAa;AAAA,QACxB,IAAI;AAAA,QACJ,KAAK;AAAA,QACL,IAAI,qCAAU;AAAA,QACd,OAAO,qCAAU;AAAA,MACpB,CAAG;AAAA,IACH,CAAE;AAGD,UAAM,aAAaF,cAAAA,IAAI;AAAA,MACtB,EAAE,OAAO,MAAM,OAAO,KAAM;AAAA,MAC5B,EAAE,OAAO,OAAO,OAAO,EAAG;AAAA,MAC1B,EAAE,OAAO,OAAO,OAAO,EAAG;AAAA,MAC1B,EAAE,OAAO,OAAO,OAAO,EAAG;AAAA,MAC1B,EAAE,OAAO,OAAO,OAAO,EAAG;AAAA,MAC1B,EAAE,OAAO,OAAO,OAAO,EAAG;AAAA,IAC5B,CAAE;AACD,UAAM,YAAYA,kBAAI,CAAC;AAGvB,UAAM,eAAeC,cAAAA,SAAS,MAAM;AACnC,YAAM,aAAa,WAAW,MAAM,UAAU,KAAK;AACnD,UAAI,CAAC,cAAc,WAAW,UAAU,MAAM;AAC7C,eAAO,iBAAiB;AAAA,MACxB;AACD,aAAO,iBAAiB,MAAM,OAAO,UAAQ,KAAK,WAAW,WAAW,KAAK;AAAA,IAC/E,CAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AC/yBF,GAAG,WAAW,eAAe;"} \ No newline at end of file +{"version":3,"file":"Inspection.js","sources":["pages/hiddendanger/Inspection.vue","F:/software/HBuilderX/HBuilderX/plugins/uniapp-cli-vite/uniPage:/cGFnZXMvaGlkZGVuZGFuZ2VyL0luc3BlY3Rpb24udnVl"],"sourcesContent":["\r\n\r\n\r\n\r\n\r\n\r\n\r\n","import MiniProgramPage from 'E:/hexieyun/ThreeChecksOneExposure_platform/12.07chongqixinde/三查一曝光小程序/threeonecheck_小程序/pages/hiddendanger/Inspection.vue'\nwx.createPage(MiniProgramPage)"],"names":["ref","computed","uni","enterCheckPlan","getCheckTaskDetail","onLoad","getMyHiddenDangerList","onShow"],"mappings":"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"} \ No newline at end of file diff --git a/unpackage/dist/dev/.sourcemap/mp-weixin/pages/hiddendanger/acceptance.js.map b/unpackage/dist/dev/.sourcemap/mp-weixin/pages/hiddendanger/acceptance.js.map index 404221a..9e0aef1 100644 --- a/unpackage/dist/dev/.sourcemap/mp-weixin/pages/hiddendanger/acceptance.js.map +++ b/unpackage/dist/dev/.sourcemap/mp-weixin/pages/hiddendanger/acceptance.js.map @@ -1 +1 @@ -{"version":3,"file":"acceptance.js","sources":["pages/hiddendanger/acceptance.vue","F:/software/HBuilderX/HBuilderX/plugins/uniapp-cli-vite/uniPage:/cGFnZXMvaGlkZGVuZGFuZ2VyL2FjY2VwdGFuY2UudnVl"],"sourcesContent":["\r\n\r\n\r\n\r\n\r\n","import MiniProgramPage from 'E:/hexieyun/ThreeChecksOneExposure_platform/12.07chongqixinde/三查一曝光小程序/threeonecheck_小程序/pages/hiddendanger/acceptance.vue'\nwx.createPage(MiniProgramPage)"],"names":["ref","reactive","toImageUrl","uni","getHiddenDangerDetail","buildAttachmentItem","acceptanceRectification","getCurrentInstance","createUploadListHandlers","nextTick","watch","uploadToCloud","onLoad"],"mappings":";;;;;;;;;;;;;;;;;;;;AAsHC,UAAM,YAAYA,kBAAI,EAAE;AACxB,UAAM,WAAWA,kBAAI,EAAE;AACvB,UAAM,WAAWA,kBAAI,EAAE;AAGvB,UAAM,cAAcC,cAAAA,SAAS;AAAA,MAC5B,aAAa;AAAA,MACb,uBAAuB;AAAA,MACvB,iBAAiB;AAAA,MACjB,eAAe;AAAA,MACf,UAAU;AAAA,MACV,YAAY;AAAA,MACZ,eAAe;AAAA,MACf,mBAAmB;AAAA,IACrB,CAAE;AAED,UAAM,cAAc,CAAC,UAAU;AAC9B,UAAI,UAAU,QAAQ,UAAU,UAAa,UAAU,IAAI;AAC1D,eAAO;AAAA,MACP;AACD,YAAM,MAAM,OAAO,KAAK;AACxB,UAAI,OAAO,MAAM,GAAG,GAAG;AACtB,eAAO;AAAA,MACP;AACD,aAAO,GAAG,IAAI,QAAQ,CAAC,CAAC;AAAA,IAC1B;AAGC,UAAM,qBAAqBD,kBAAI,CAAA,CAAE;AAGjC,UAAM,WAAWC,cAAAA,SAAS;AAAA,MACzB,QAAQ;AAAA;AAAA,MACR,cAAc;AAAA;AAAA,IAChB,CAAE;AAED,UAAM,YAAYD,kBAAI,CAAA,CAAE;AAGxB,UAAM,cAAcA,kBAAI,GAAG;AAC3B,UAAM,eAAeA,kBAAI,GAAG;AAG5B,UAAM,aAAaA,kBAAI,IAAI;AAC3B,UAAM,eAAeA,kBAAI,EAAE;AAC3B,UAAM,sBAAsBA,kBAAI,EAAE;AAClC,UAAM,iBAAiBA,kBAAI,GAAG;AAC9B,UAAM,eAAeA,kBAAI,IAAI;AAC7B,UAAM,mBAAmBA,kBAAI,IAAI;AACjC,UAAM,eAAeA,kBAAI,KAAK;AAE9B,UAAM,WAAWA,kBAAI,KAAK;AAC1B,UAAM,oBAAoBA,kBAAI,KAAK;AACnC,UAAM,cAAcA,kBAAI,KAAK;AAC7B,UAAM,gBAAgBA,kBAAI,KAAK;AAC/B,UAAM,iBAAiBA,kBAAI,CAAA,CAAE;AAE7B,UAAM,cAAc,MAAM,gBAAgB,UAAU,SAAS,EAAE;AAG/D,UAAM,cAAc,CAAC,aAAa;AACjC,UAAI,CAAC;AAAU,eAAO;AACtB,UAAI,SAAS,WAAW,SAAS,KAAK,SAAS,WAAW,UAAU,GAAG;AACtE,eAAOE,gBAAAA,WAAW,QAAQ;AAAA,MAC1B;AACD,aAAOA,gBAAAA,WAAW,QAAQ;AAAA,IAC5B;AAGC,UAAM,eAAe,CAAC,UAAU;AAC/B,YAAM,OAAO,mBAAmB,MAAM,IAAI,UAAQ,YAAY,KAAK,QAAQ,CAAC;AAC5EC,oBAAAA,MAAI,aAAa;AAAA,QAChB,SAAS;AAAA,QACT;AAAA,MACH,CAAG;AAAA,IACH;AAGC,UAAM,2BAA2B,CAAC,YAAY;AAC7C,UAAI,EAAC,mCAAS;AAAQ,eAAO;AAC7B,UAAI,UAAU,OAAO;AACpB,cAAM,cAAc,QAAQ;AAAA,UAC3B,CAAC,SAAS,KAAK,WAAW,OAAO,KAAK,QAAQ,SAAS,MAAM,OAAO,UAAU,KAAK;AAAA,QACvF;AACG,YAAI;AAAa,iBAAO;AAAA,MACxB;AACD,UAAI,SAAS,OAAO;AACnB,cAAM,aAAa,QAAQ;AAAA,UAC1B,CAAC,SAAS,OAAO,KAAK,QAAQ,MAAM,OAAO,SAAS,KAAK,KAAK,KAAK;AAAA,QACvE;AACG,YAAI;AAAY,iBAAO;AAAA,MACvB;AACD,aAAO,QAAQ,KAAK,CAAC,SAAS,KAAK,OAAO,KAAK;AAAA,IACjD;AAEC,UAAM,mBAAmB,CAAC,YAAY;AACrC,UAAI,CAAC;AAAS;AACd,kBAAY,cAAc,QAAQ,eAAe;AACjD,kBAAY,wBAAwB,QAAQ,yBAAyB;AACrE,kBAAY,kBAAkB,QAAQ,mBAAmB;AACzD,kBAAY,gBAAgB,QAAQ,iBAAiB;AACrD,kBAAY,WAAW,QAAQ,YAAY;AAC3C,kBAAY,aAAa,QAAQ,cAAc;AAC/C,kBAAY,gBAAgB,QAAQ,iBAAiB;AACrD,kBAAY,oBAAoB,QAAQ,qBAAqB;AAC7D,yBAAmB,QAAQ,QAAQ,eAAe,CAAA;AAAA,IACpD;AAGC,UAAM,cAAc,YAAY;AAC/B,UAAI,CAAC,SAAS;AAAO;AAErB,UAAI;AACH,cAAM,MAAM,MAAMC,kCAAsB;AAAA,UACvC,UAAU,SAAS;AAAA,UACnB,UAAU,SAAS;AAAA,QACvB,CAAI;AACD,YAAI,IAAI,SAAS,KAAK,IAAI,MAAM;AAC/B,gBAAM,SAAS,yBAAyB,IAAI,KAAK,OAAO;AACxD,cAAI,iCAAQ,SAAS;AACpB,6BAAiB,OAAO,OAAO;AAC/BD,0BAAA,MAAA,MAAA,OAAA,4CAAY,SAAS,WAAW;AAChCA,0BAAY,MAAA,MAAA,OAAA,4CAAA,SAAS,mBAAmB,KAAK;AAAA,UAC7C;AAAA,QACL,OAAU;AACNA,8BAAI,UAAU,EAAE,OAAO,IAAI,OAAO,UAAU,MAAM,OAAM,CAAE;AAAA,QAC1D;AAAA,MACD,SAAQ,OAAO;AACfA,sBAAc,MAAA,MAAA,SAAA,4CAAA,aAAa,KAAK;AAChCA,sBAAG,MAAC,UAAU,EAAE,OAAO,QAAQ,MAAM,OAAM,CAAE;AAAA,MAC7C;AAAA,IACH;AAGC,UAAM,eAAe,MAAM;AAC1BA,oBAAG,MAAC,aAAY;AAAA,IAClB;AAGC,UAAM,eAAe,YAAY;AAChC,UAAI,CAAC,UAAU,OAAO;AACrBA,sBAAAA,MAAI,UAAU;AAAA,UACb,OAAO;AAAA,UACP,MAAM;AAAA,QACV,CAAI;AACD;AAAA,MACA;AAGD,UAAI,WAAW,OAAO;AACrB,YAAI,CAAC,aAAa,SAAS,iBAAiB,OAAO;AAClDA,wBAAAA,MAAI,UAAU;AAAA,YACb,OAAO;AAAA,YACP,MAAM;AAAA,UACX,CAAK;AACD;AAAA,QACA;AAED,qBAAa,QAAQ;AACrBA,sBAAG,MAAC,YAAY,EAAE,OAAO,WAAW,MAAM,KAAI,CAAE;AAEhD,qBAAa,MAAM;MACtB,OAAS;AAEN,YAAI,CAAC,oBAAoB,OAAO;AAC/BA,wBAAAA,MAAI,UAAU;AAAA,YACb,OAAO;AAAA,YACP,MAAM;AAAA,UACX,CAAK;AACD;AAAA,QACA;AACD,qBAAa,QAAQ;AACrBA,sBAAG,MAAC,YAAY,EAAE,OAAO,WAAW,MAAM,KAAI,CAAE;AAChD,cAAM,cAAa;AAAA,MACnB;AAAA,IACH;AAGC,UAAM,gBAAgB,YAAY;AAEjC,YAAM,cAAc,UAAU,MAC5B,OAAO,CAAC,MAAM,EAAE,WAAW,SAAS,EACpC,IAAI,CAAC,SAASE,iCAAoB,IAAI,CAAC;AAEzC,YAAM,SAAS;AAAA,QACd,WAAW,OAAO,UAAU,KAAK;AAAA,QACjC,QAAQ,SAAS;AAAA,QACjB,cAAc,SAAS,gBAAgB;AAAA,QACvC;AAAA,QACA,UAAU,oBAAoB,SAAS;AAAA;AAAA,MAC1C;AAEEF,mFAAY,WAAW,MAAM;AAE7B,UAAI;AACH,cAAM,MAAM,MAAMG,oCAAwB,MAAM;AAChDH,sBAAG,MAAC,YAAW;AACf,YAAI,IAAI,SAAS,GAAG;AACnB,qBAAW,KAAK;AAChBA,wBAAAA,MAAI,UAAU;AAAA,YACb,OAAO;AAAA,YACP,MAAM;AAAA,UACX,CAAK;AACD,qBAAW,MAAM;AAChBA,0BAAG,MAAC,aAAY;AAAA,UAChB,GAAE,IAAI;AAAA,QACX,OAAU;AACNA,wBAAAA,MAAI,UAAU;AAAA,YACb,OAAO,IAAI,OAAO;AAAA,YAClB,MAAM;AAAA,UACX,CAAK;AAAA,QACD;AAAA,MACD,SAAQ,OAAO;AACfA,sBAAG,MAAC,YAAW;AACfA,sBAAA,MAAA,MAAA,SAAA,4CAAc,SAAS,KAAK;AAC5BA,sBAAAA,MAAI,UAAU;AAAA,UACb,OAAO;AAAA,UACP,MAAM;AAAA,QACV,CAAI;AAAA,MACJ,UAAY;AACT,qBAAa,QAAQ;AAAA,MACrB;AAAA,IACH;AAEC,UAAM,uBAAuBI,cAAAA;AAC7B,UAAM,EAAE,WAAW,cAAcC,aAAAA,yBAAyB,WAAW;AAAA,MACpE,WAAW;AAAA,QACV,UAAU;AAAA,QACV,gBAAgB;AAAA,QAChB,iBAAiB;AAAA,QACjB,UAAU;AAAA,MACV;AAAA,IACH,CAAE;AAYD,UAAM,YAAY,MAAM;AACvB,UAAI,YAAY,SAAS,CAAC,cAAc;AAAO;AAC/C,YAAM,MAAM;AACZ,YAAM,aAAa,SAAS,gBACT,UAAU,MAAM,SAAS,KACzB,oBAAoB,SACpB,eAAe,MAAM,SAAS;AACjD,UAAI,CAAC,YAAY;AAChBL,4BAAI,kBAAkB,GAAG;AACzB,iBAAS,QAAQ;AACjB;AAAA,MACA;AAED,YAAM,OAAO;AAAA,QACZ,UAAU;AAAA,UACT,QAAQ,SAAS;AAAA,UACjB,cAAc,SAAS;AAAA,QACvB;AAAA,QACD,WAAW,UAAU;AAAA,QACrB,qBAAqB,oBAAoB;AAAA,QACzC,cAAc,aAAa;AAAA,QAC3B,YAAY,WAAW;AAAA,QACvB,gBAAgB,eAAe;AAAA,MAClC;AACEA,oBAAG,MAAC,eAAe,KAAK,KAAK,UAAU,IAAI,CAAC;AAC5C,eAAS,QAAQ;AAAA,IACnB;AAGC,UAAM,aAAa,CAAC,YAAY,SAAS;AACxC,YAAM,MAAM;AACZA,0BAAI,kBAAkB,GAAG;AACzB,eAAS,QAAQ;AACjB,wBAAkB,QAAQ;AAE1B,kBAAY,QAAQ;AACpB,eAAS,SAAS;AAClB,eAAS,eAAe;AACxB,gBAAU,QAAQ;AAClB,0BAAoB,QAAQ;AAC5B,mBAAa,QAAQ;AACrB,iBAAW,QAAQ;AACnB,qBAAe,QAAQ;AACvB,UAAI,aAAa,OAAO;AACvB,qBAAa,MAAM;MACnB;AAEDM,oBAAAA,WAAS,MAAM;AACd,oBAAY,QAAQ;AAAA,MACvB,CAAG;AACD,UAAI,WAAW;AACdN,sBAAG,MAAC,UAAU,EAAE,OAAO,SAAS,MAAM,OAAM,CAAE;AAAA,MAC9C;AAAA,IACH;AAGC,UAAM,eAAe,MAAM;AAC1B,YAAM,MAAM;AACZ,YAAM,SAASA,cAAAA,MAAI,eAAe,GAAG;AACrC,UAAI,QAAQ;AACX,YAAI;AACH,gBAAM,OAAO,KAAK,MAAM,MAAM;AAC9B,gBAAM,aAAa,KAAK,SAAS,gBACb,KAAK,aAAa,KAAK,UAAU,SAAS,KAC3C,KAAK,uBACJ,KAAK,kBAAkB,KAAK,eAAe,SAAS;AACxE,cAAI,CAAC,YAAY;AAChB,0BAAc,QAAQ;AACtB;AAAA,UACA;AAED,sBAAY,QAAQ;AACpB,mBAAS,SAAS,KAAK,SAAS,WAAW,SAAY,KAAK,SAAS,SAAS;AAC9E,mBAAS,eAAe,KAAK,SAAS,gBAAgB;AACtD,oBAAU,QAAQ,KAAK,aAAa,CAAA;AACpC,8BAAoB,QAAQ,KAAK,uBAAuB;AACxD,uBAAa,QAAQ,KAAK,gBAAgB;AAC1C,qBAAW,QAAQ,KAAK,eAAe,SAAY,KAAK,aAAa;AACrE,yBAAe,QAAQ,KAAK,kBAAkB,CAAA;AAC9C,mBAAS,QAAQ;AACjB,4BAAkB,QAAQ;AAG1B,cAAI,eAAe,MAAM,SAAS,GAAG;AACpC,uBAAW,MAAM;AAChB,kBAAI,aAAa,OAAO;AACvB,iCAAiB,QAAQ;AAAA,cAEzB;AAAA,YACD,GAAE,GAAG;AAAA,UACN;AAEDM,wBAAAA,WAAS,MAAM;AACd,wBAAY,QAAQ;AACpB,0BAAc,QAAQ;AAAA,UAC3B,CAAK;AAEDN,wBAAAA,MAAI,UAAU;AAAA,YACb,OAAO;AAAA,YACP,MAAM;AAAA,YACN,UAAU;AAAA,UACf,CAAK;AAAA,QACD,SAAQ,GAAG;AACXA,yFAAc,WAAW,CAAC;AAC1B,sBAAY,QAAQ;AACpB,wBAAc,QAAQ;AAAA,QACtB;AAAA,MACJ,OAAS;AACN,sBAAc,QAAQ;AAAA,MACtB;AAAA,IACH;AAGCO,kBAAK;AAAA,MACJ,MAAM;AAAA,QACL,SAAS;AAAA,QACT,SAAS;AAAA,QACT,UAAU;AAAA,QACV,oBAAoB;AAAA,QACpB,eAAe;AAAA,MACf;AAAA,MACD,MAAM;AACL,YAAI,UAAU,OAAO;AACpB;QACA;AAAA,MACD;AAAA,MACD,EAAE,MAAM,KAAM;AAAA,IAChB;AAGC,UAAM,iBAAiB,MAAM;AAC5B,uBAAiB,QAAQ;AACzB,UAAI,aAAa,OAAO;AACvB,qBAAa,MAAM;MACnB;AAAA,IACH;AAGC,UAAM,SAAS,MAAM;AACpB,uBAAiB,QAAQ;AACzB,iBAAW,QAAQ;AACnB,mBAAa,QAAQ;AACrB,0BAAoB,QAAQ;AAC5BD,oBAAAA,WAAS,MAAM;AACd,YAAI,aAAa,OAAO;AACvB,uBAAa,MAAM;QACnB;AAAA,MACJ,CAAG;AAAA,IACH;AAWC,UAAM,qBAAqB,OAAO,iBAAiB;AAClD,UAAI;AACH,cAAM,EAAE,IAAK,IAAG,MAAME,aAAa,cAAC,YAAY;AAChD,4BAAoB,QAAQ;AAC5B,qBAAa,QAAQ;AACrB,mBAAW,QAAQ;AACnB,yBAAiB,QAAQ;AAEzB,YAAI,aAAa,OAAO;AACvB,gBAAM,cAAa;AAAA,QACnB;AAAA,MACD,SAAQ,KAAK;AACb,qBAAa,QAAQ;AACrBR,sBAAG,MAAC,YAAW;AACfA,sBAAA,MAAA,MAAA,SAAA,4CAAc,WAAW,GAAG;AAC5BA,sBAAG,MAAC,UAAU,EAAE,OAAO,cAAc,MAAM,OAAM,CAAE;AAAA,MACnD;AAAA,IACH;AAECS,kBAAM,OAAC,CAAC,YAAY;AAEnB,UAAI;AACH,cAAM,UAAUT,oBAAI;AACpB,uBAAe,QAAQ,QAAQ,cAAc;AAAA,MAC7C,SAAQ,GAAG;AACXA,sBAAA,MAAA,MAAA,SAAA,4CAAc,aAAa,CAAC;AAAA,MAC5B;AACD,UAAI,QAAQ,WAAW;AACtB,kBAAU,QAAQ,QAAQ;AAAA,MAC1B;AACD,UAAI,QAAQ,UAAU;AACrB,iBAAS,QAAQ,QAAQ;AAAA,MACzB;AACD,UAAI,QAAQ,UAAU;AACrB,iBAAS,QAAQ,QAAQ;AAAA,MACzB;AACDA,mFAAY,WAAW,EAAE,WAAW,UAAU,OAAO,UAAU,SAAS,OAAO,UAAU,SAAS,MAAK,CAAE;AAGzG;AAGA;IACF,CAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACnjBF,GAAG,WAAW,eAAe;"} \ No newline at end of file +{"version":3,"file":"acceptance.js","sources":["pages/hiddendanger/acceptance.vue","F:/software/HBuilderX/HBuilderX/plugins/uniapp-cli-vite/uniPage:/cGFnZXMvaGlkZGVuZGFuZ2VyL2FjY2VwdGFuY2UudnVl"],"sourcesContent":["\r\n\r\n\r\n\r\n\r\n","import MiniProgramPage from 'E:/hexieyun/ThreeChecksOneExposure_platform/12.07chongqixinde/三查一曝光小程序/threeonecheck_小程序/pages/hiddendanger/acceptance.vue'\nwx.createPage(MiniProgramPage)"],"names":["ref","reactive","toSubmitFileUrl","useDraftCache","buildDraftKey","DRAFT_NS","buildDraftKeyCompact","toImageUrl","uni","getHiddenDangerDetail","uploadToCloud","buildAttachmentItem","acceptanceRectification","getCurrentInstance","createUploadListHandlers","nextTick","onHide","onLoad"],"mappings":"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"} \ No newline at end of file diff --git a/unpackage/dist/dev/.sourcemap/mp-weixin/pages/hiddendanger/assignment.js.map b/unpackage/dist/dev/.sourcemap/mp-weixin/pages/hiddendanger/assignment.js.map index 0d672b6..b4f8e20 100644 --- a/unpackage/dist/dev/.sourcemap/mp-weixin/pages/hiddendanger/assignment.js.map +++ b/unpackage/dist/dev/.sourcemap/mp-weixin/pages/hiddendanger/assignment.js.map @@ -1 +1 @@ -{"version":3,"file":"assignment.js","sources":["pages/hiddendanger/assignment.vue","F:/software/HBuilderX/HBuilderX/plugins/uniapp-cli-vite/uniPage:/cGFnZXMvaGlkZGVuZGFuZ2VyL2Fzc2lnbm1lbnQudnVl"],"sourcesContent":["\r\n\r\n\r\n\r\n","import MiniProgramPage from 'E:/hexieyun/ThreeChecksOneExposure_platform/12.07chongqixinde/三查一曝光小程序/threeonecheck_小程序/pages/hiddendanger/assignment.vue'\nwx.createPage(MiniProgramPage)"],"names":["ref","computed","uni","getDepartmentPersonUsers","assignHiddenDanger","nextTick","watch","onLoad"],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"assignment.js","sources":["pages/hiddendanger/assignment.vue","F:/software/HBuilderX/HBuilderX/plugins/uniapp-cli-vite/uniPage:/cGFnZXMvaGlkZGVuZGFuZ2VyL2Fzc2lnbm1lbnQudnVl"],"sourcesContent":["\n\n\n\n","import MiniProgramPage from 'E:/hexieyun/ThreeChecksOneExposure_platform/12.07chongqixinde/三查一曝光小程序/threeonecheck_小程序/pages/hiddendanger/assignment.vue'\nwx.createPage(MiniProgramPage)"],"names":["ref","computed","uni","useDraftCache","buildDraftKey","DRAFT_NS","getDepartmentPersonUsers","assignHiddenDanger","onLoad"],"mappings":"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"} \ No newline at end of file diff --git a/unpackage/dist/dev/.sourcemap/mp-weixin/pages/hiddendanger/detail2.js.map b/unpackage/dist/dev/.sourcemap/mp-weixin/pages/hiddendanger/detail2.js.map new file mode 100644 index 0000000..885de2e --- /dev/null +++ b/unpackage/dist/dev/.sourcemap/mp-weixin/pages/hiddendanger/detail2.js.map @@ -0,0 +1 @@ +{"version":3,"file":"detail2.js","sources":["pages/hiddendanger/detail2.vue","F:/software/HBuilderX/HBuilderX/plugins/uniapp-cli-vite/uniPage:/cGFnZXMvaGlkZGVuZGFuZ2VyL2RldGFpbDIudnVl"],"sourcesContent":["\r\n\r\n\r\n\r\n\r\n","import MiniProgramPage from 'E:/hexieyun/ThreeChecksOneExposure_platform/12.07chongqixinde/三查一曝光小程序/threeonecheck_小程序/pages/hiddendanger/detail2.vue'\nwx.createPage(MiniProgramPage)"],"names":["getCurrentInstance","ref","nextTick","uni","getHazardDetail","onReady","watch","onLoad"],"mappings":";;;;;;;;;;;;AAgDA,MAAM,sBAAsB,MAAW;;;;AAGvC,UAAM,WAAWA,cAAkB,mBAAA;AACnC,UAAM,cAAa,qCAAU,UAAS;AAEtC,UAAM,aAAaC,cAAAA,IAAI,CAAA,CAAE;AACzB,UAAM,UAAUA,cAAAA,IAAI,KAAK;AACzB,UAAM,kBAAkBA,cAAAA,IAAI,CAAC;AAE7B,UAAM,sBAAsB,MAAM;AACjCC,oBAAAA,WAAS,MAAM;AACd,cAAM,QAAQC,cAAAA,MAAI,oBAAqB,EAAC,GAAG,UAAU;AACrD,cAAM,OAAO,aAAa,EAAE,mBAAkB;AAC9C,cAAM,KAAK,CAAC,QAAQ;AACnB,gBAAM,OAAO,2BAAM;AACnB,eAAI,6BAAM,UAAS,GAAG;AACrB,4BAAgB,QAAQ,KAAK,MAAM,KAAK,MAAM;AAC9C;AAAA,UACA;AACD,gBAAM,MAAMA,oBAAI;AAChB,0BAAgB,QAAQ,KAAK,MAAM,IAAI,eAAe,IAAI;AAAA,QAC7D,CAAG;AAAA,MACH,CAAE;AAAA,IACF;AAEA,UAAM,aAAa,OAAO,aAAa;AACtC,cAAQ,QAAQ;AAChB,UAAI;AACH,cAAM,MAAM,MAAMC,4BAAgB,QAAQ;AAC1C,YAAI,IAAI,SAAS,KAAK,IAAI,MAAM;AAC/B,qBAAW,QAAQ,IAAI;AAAA,QAC1B,OAAS;AACND,8BAAI,UAAU,EAAE,OAAO,IAAI,OAAO,UAAU,MAAM,OAAM,CAAE;AAAA,QAC1D;AAAA,MACD,SAAQ,OAAO;AACfA,mFAAc,aAAa,KAAK;AAChCA,sBAAG,MAAC,UAAU,EAAE,OAAO,UAAU,MAAM,OAAM,CAAE;AAAA,MACjD,UAAW;AACT,gBAAQ,QAAQ;AAChB;AACA,mBAAW,qBAAqB,GAAG;AACnC,mBAAW,qBAAqB,GAAG;AAAA,MACnC;AAAA,IACF;AAEAE,kBAAAA,QAAQ,MAAM;AACb;AACA,iBAAW,qBAAqB,GAAG;AACnC,iBAAW,qBAAqB,GAAG;AAAA,IACpC,CAAC;AAEDC,kBAAAA,MAAM,SAAS,CAAC,cAAc;AAC7B,UAAI,CAAC,WAAW;AACf;AACA,mBAAW,qBAAqB,GAAG;AACnC,mBAAW,qBAAqB,GAAG;AAAA,MACnC;AAAA,IACF,CAAC;AAEDC,kBAAM,OAAC,CAAC,YAAY;AACnB,UAAI,QAAQ,UAAU;AACrB,mBAAW,QAAQ,QAAQ;AAC3B;AAAA,MACA;AAEDJ,oBAAG,MAAC,UAAU,EAAE,OAAO,UAAU,MAAM,OAAM,CAAE;AAC/C,iBAAW,MAAM;AAChBA,sBAAG,MAAC,aAAY;AAAA,MAChB,GAAE,IAAI;AAAA,IACR,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACrHD,GAAG,WAAW,eAAe;"} \ No newline at end of file diff --git a/unpackage/dist/dev/.sourcemap/mp-weixin/pages/hiddendanger/rectification.js.map b/unpackage/dist/dev/.sourcemap/mp-weixin/pages/hiddendanger/rectification.js.map index eb59349..467f65b 100644 --- a/unpackage/dist/dev/.sourcemap/mp-weixin/pages/hiddendanger/rectification.js.map +++ b/unpackage/dist/dev/.sourcemap/mp-weixin/pages/hiddendanger/rectification.js.map @@ -1 +1 @@ -{"version":3,"file":"rectification.js","sources":["pages/hiddendanger/rectification.vue","F:/software/HBuilderX/HBuilderX/plugins/uniapp-cli-vite/uniPage:/cGFnZXMvaGlkZGVuZGFuZ2VyL3JlY3RpZmljYXRpb24udnVl"],"sourcesContent":["\r\n\r\n\r\n\r\n","import MiniProgramPage from 'E:/hexieyun/ThreeChecksOneExposure_platform/12.07chongqixinde/三查一曝光小程序/threeonecheck_小程序/pages/hiddendanger/rectification.vue'\nwx.createPage(MiniProgramPage)"],"names":["ref","toSubmitFileUrl","uni","nextTick","reactive","computed","getDepartmentPersonUsers","getDeptUsersWithSubordinates","getCurrentInstance","createUploadListHandlers","buildAttachmentItem","submitRectification","uploadToCloud","getRectifyDetail","mapServerFileToUploadItem","getHiddenDangerDetail","generateRectifyPlan","watch","onLoad"],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"rectification.js","sources":["pages/hiddendanger/rectification.vue","F:/software/HBuilderX/HBuilderX/plugins/uniapp-cli-vite/uniPage:/cGFnZXMvaGlkZGVuZGFuZ2VyL3JlY3RpZmljYXRpb24udnVl"],"sourcesContent":["\r\n\r\n\r\n\r\n","import MiniProgramPage from 'E:/hexieyun/ThreeChecksOneExposure_platform/12.07chongqixinde/三查一曝光小程序/threeonecheck_小程序/pages/hiddendanger/rectification.vue'\nwx.createPage(MiniProgramPage)"],"names":["ref","toSubmitFileUrl","uni","nextTick","reactive","computed","getDepartmentPersonUsers","getDeptUsersWithSubordinates","getCurrentInstance","createUploadListHandlers","buildAttachmentItem","submitRectification","uploadToCloud","getRectifyDetail","mapServerFileToUploadItem","getHiddenDangerDetail","generateRectifyPlan","useDraftCache","buildDraftKey","DRAFT_NS","buildDraftKeyCompact","onHide","onLoad"],"mappings":"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"} \ No newline at end of file diff --git a/unpackage/dist/dev/.sourcemap/mp-weixin/pages/hiddendanger/view.js.map b/unpackage/dist/dev/.sourcemap/mp-weixin/pages/hiddendanger/view.js.map index 02024d2..0319215 100644 --- a/unpackage/dist/dev/.sourcemap/mp-weixin/pages/hiddendanger/view.js.map +++ b/unpackage/dist/dev/.sourcemap/mp-weixin/pages/hiddendanger/view.js.map @@ -1 +1 @@ -{"version":3,"file":"view.js","sources":["pages/hiddendanger/view.vue","F:/software/HBuilderX/HBuilderX/plugins/uniapp-cli-vite/uniPage:/cGFnZXMvaGlkZGVuZGFuZ2VyL3ZpZXcudnVl"],"sourcesContent":["\r\n\r\n\r\n\r\n\r\n","import MiniProgramPage from 'E:/hexieyun/ThreeChecksOneExposure_platform/12.07chongqixinde/三查一曝光小程序/threeonecheck_小程序/pages/hiddendanger/view.vue'\nwx.createPage(MiniProgramPage)"],"names":["reactive","computed","toImageUrl","uni","getHiddenDangerDetail","onLoad"],"mappings":";;;;;;;;;;;;;;;;;AAiGC,UAAM,aAAaA,cAAAA,SAAS;AAAA,MAC3B,UAAU;AAAA,MACV,UAAU;AAAA,MACV,OAAO;AAAA,MACP,OAAO;AAAA,MACP,WAAW;AAAA,MACX,QAAQ;AAAA,MACR,aAAa;AAAA,MACb,SAAS;AAAA,MACT,UAAU;AAAA,MACV,WAAW;AAAA,MACX,SAAS;AAAA,MACT,YAAY;AAAA,MACZ,gBAAgB;AAAA,MAChB,aAAa,CAAE;AAAA,IACjB,CAAE;AAED,UAAM,iBAAiBC,cAAAA,SAAS,MAAM,WAAW,cAAc,WAAW,kBAAkB,EAAE;AAE9F,UAAM,cAAc,CAAC,aAAaC,gBAAAA,WAAW,QAAQ;AAErD,UAAM,qBAAqB,CAAC,UAAU;AACrC,UAAI,CAAC,WAAW,eAAe,WAAW,YAAY,WAAW;AAAG;AACpEC,oBAAAA,MAAI,aAAa;AAAA,QAChB,SAAS;AAAA,QACT,MAAM,WAAW,YAAY,IAAI,UAAQ,YAAY,KAAK,QAAQ,CAAC;AAAA,MACtE,CAAG;AAAA,IACD;AAED,UAAM,cAAc,OAAO,UAAU,aAAa;AACjD,UAAI;AACH,cAAM,SAAS,EAAE,SAAU;AAC3B,YAAI;AAAU,iBAAO,WAAW;AAChC,cAAM,MAAM,MAAMC,YAAqB,sBAAC,MAAM;AAC9C,YAAI,IAAI,SAAS,KAAK,IAAI,MAAM;AAC/B,iBAAO,OAAO,YAAY,IAAI,IAAI;AAAA,QACtC,OAAU;AACND,8BAAI,UAAU,EAAE,OAAO,IAAI,OAAO,UAAU,MAAM,QAAQ;AAAA,QAC1D;AAAA,MACD,SAAQ,OAAO;AACfA,sBAAAA,MAAc,MAAA,SAAA,sCAAA,aAAa,KAAK;AAChCA,sBAAG,MAAC,UAAU,EAAE,OAAO,QAAQ,MAAM,QAAQ;AAAA,MAC7C;AAAA,IACD;AAEDE,kBAAM,OAAC,CAAC,YAAY;AACnB,UAAI,QAAQ,UAAU;AACrB,oBAAY,QAAQ,UAAU,QAAQ,QAAQ;AAAA,MAC9C;AAAA,IACH,CAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACjJF,GAAG,WAAW,eAAe;"} \ No newline at end of file +{"version":3,"file":"view.js","sources":["pages/hiddendanger/view.vue","F:/software/HBuilderX/HBuilderX/plugins/uniapp-cli-vite/uniPage:/cGFnZXMvaGlkZGVuZGFuZ2VyL3ZpZXcudnVl"],"sourcesContent":["\n\n\n\n\n","import MiniProgramPage from 'E:/hexieyun/ThreeChecksOneExposure_platform/12.07chongqixinde/三查一曝光小程序/threeonecheck_小程序/pages/hiddendanger/view.vue'\nwx.createPage(MiniProgramPage)"],"names":["ref","getHazardDetail","uni","onLoad"],"mappings":";;;;;;AASA,MAAM,oBAAoB,MAAW;;;;AAGrC,UAAM,aAAaA,cAAAA,IAAI,CAAA,CAAE;AACzB,UAAM,UAAUA,cAAAA,IAAI,KAAK;AAEzB,UAAM,aAAa,OAAO,aAAa;AACtC,cAAQ,QAAQ;AAChB,UAAI;AACH,cAAM,MAAM,MAAMC,4BAAgB,QAAQ;AAC1C,YAAI,IAAI,SAAS,KAAK,IAAI,MAAM;AAC/B,qBAAW,QAAQ,IAAI;AAAA,QAC1B,OAAS;AACNC,8BAAI,UAAU,EAAE,OAAO,IAAI,OAAO,UAAU,MAAM,OAAM,CAAE;AAAA,QAC1D;AAAA,MACD,SAAQ,OAAO;AACfA,gFAAc,aAAa,KAAK;AAAA,MAClC,UAAW;AACT,gBAAQ,QAAQ;AAAA,MAChB;AAAA,IACF;AAEAC,kBAAM,OAAC,CAAC,YAAY;AACnB,UAAI,QAAQ,UAAU;AACrB,mBAAW,QAAQ,QAAQ;AAC3B;AAAA,MACA;AAEDD,oBAAG,MAAC,UAAU,EAAE,OAAO,UAAU,MAAM,OAAM,CAAE;AAC/C,iBAAW,MAAM;AAChBA,sBAAG,MAAC,aAAY;AAAA,MAChB,GAAE,IAAI;AAAA,IACR,CAAC;;;;;;;;;;;;;ACxCD,GAAG,WAAW,eAAe;"} \ No newline at end of file diff --git a/unpackage/dist/dev/.sourcemap/mp-weixin/pages/index/index.js.map b/unpackage/dist/dev/.sourcemap/mp-weixin/pages/index/index.js.map index 6053e51..c401e0f 100644 --- a/unpackage/dist/dev/.sourcemap/mp-weixin/pages/index/index.js.map +++ b/unpackage/dist/dev/.sourcemap/mp-weixin/pages/index/index.js.map @@ -1 +1 @@ -{"version":3,"file":"index.js","sources":["pages/index/index.vue","F:/software/HBuilderX/HBuilderX/plugins/uniapp-cli-vite/uniPage:/cGFnZXMvaW5kZXgvaW5kZXgudnVl"],"sourcesContent":["\n\n\n\n","import MiniProgramPage from 'E:/hexieyun/ThreeChecksOneExposure_platform/12.07chongqixinde/三查一曝光小程序/threeonecheck_小程序/pages/index/index.vue'\nwx.createPage(MiniProgramPage)"],"names":["ref","reactive","computed","toImageUrl","getProfileDetail","uni","getCheckPlanList","onShow","getHiddenDangerList","onLoad"],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"index.js","sources":["pages/index/index.vue","F:/software/HBuilderX/HBuilderX/plugins/uniapp-cli-vite/uniPage:/cGFnZXMvaW5kZXgvaW5kZXgudnVl"],"sourcesContent":["\n\n\n\n","import MiniProgramPage from 'E:/hexieyun/ThreeChecksOneExposure_platform/12.07chongqixinde/三查一曝光小程序/threeonecheck_小程序/pages/index/index.vue'\nwx.createPage(MiniProgramPage)"],"names":["ref","reactive","computed","toImageUrl","getProfileDetail","uni","getCheckPlanList","onShow","getHiddenDangerList","onLoad"],"mappings":"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"} \ No newline at end of file diff --git a/unpackage/dist/dev/.sourcemap/mp-weixin/pages/login/login.js.map b/unpackage/dist/dev/.sourcemap/mp-weixin/pages/login/login.js.map index 35a1a51..05d2859 100644 --- a/unpackage/dist/dev/.sourcemap/mp-weixin/pages/login/login.js.map +++ b/unpackage/dist/dev/.sourcemap/mp-weixin/pages/login/login.js.map @@ -1 +1 @@ -{"version":3,"file":"login.js","sources":["pages/login/login.vue","F:/software/HBuilderX/HBuilderX/plugins/uniapp-cli-vite/uniPage:/cGFnZXMvbG9naW4vbG9naW4udnVl"],"sourcesContent":["\r\n\r\n\r\n\r\n\r\n","import MiniProgramPage from 'E:/hexieyun/ThreeChecksOneExposure_platform/12.07chongqixinde/三查一曝光小程序/threeonecheck_小程序/pages/login/login.vue'\nwx.createPage(MiniProgramPage)"],"names":["ref","uni","login"],"mappings":";;;;;;;AAqDA,UAAM,WAAWA,cAAAA,IAAI,EAAE;AACvB,UAAM,WAAWA,cAAAA,IAAI,EAAE;AACvB,UAAM,eAAeA,cAAAA,IAAI,IAAI;AAG7B,UAAM,iBAAiB,MAAM;AAC5B,mBAAa,QAAQ,CAAC,aAAa;AAAA,IACpC;AAUA,UAAM,cAAc,YAAY;AAC/BC,oBAAAA,MAAA,MAAA,OAAA,+BAAY,QAAQ;AACpBA,oBAAA,MAAA,MAAA,OAAA,+BAAY,QAAQ,SAAS,KAAK;AAClCA,oBAAA,MAAA,MAAA,OAAA,+BAAY,OAAO,SAAS,KAAK;AAGjC,UAAI,CAAC,SAAS,OAAO;AACpBA,sBAAAA,MAAI,UAAU;AAAA,UACb,MAAM;AAAA,UACN,OAAO;AAAA,QACV,CAAG;AACD;AAAA,MACA;AAGD,UAAI,CAAC,SAAS,OAAO;AACpBA,sBAAAA,MAAI,UAAU;AAAA,UACb,MAAM;AAAA,UACN,OAAO;AAAA,QACV,CAAG;AACD;AAAA,MACA;AAED,UAAI;AACHA,sBAAAA,MAAY,MAAA,OAAA,+BAAA,aAAa;AAEzB,cAAM,MAAM,MAAMC,kBAAM;AAAA,UACvB,UAAU,SAAS;AAAA,UACnB,UAAU,SAAS;AAAA,QACtB,CAAG;AAEDD,sBAAY,MAAA,MAAA,OAAA,gCAAA,WAAW,GAAG;AAE1B,YAAI,IAAI,SAAS,GAAG;AAEnB,cAAI,IAAI,KAAK,OAAO;AACnBA,0BAAG,MAAC,eAAe,SAAS,IAAI,KAAK,KAAK;AAAA,UAC1C;AAED,gBAAM,WAAW;AAAA,YAChB,QAAQ,IAAI,KAAK;AAAA,YACjB,UAAU,IAAI,KAAK;AAAA,YACnB,UAAU,IAAI,KAAK;AAAA,YACnB,QAAQ,IAAI,KAAK;AAAA,YACjB,UAAU,IAAI,KAAK;AAAA,YACnB,MAAK,IAAI,KAAK;AAAA,YACd,QAAO,IAAI,KAAK;AAAA,UACpB;AACGA,wBAAG,MAAC,eAAe,YAAY,KAAK,UAAU,QAAQ,CAAC;AAEvDA,wBAAAA,MAAI,UAAU;AAAA,YACb,OAAO;AAAA,YACP,MAAM;AAAA,UACV,CAAI;AAED,qBAAW,MAAM;AAChBA,0BAAAA,MAAI,SAAS;AAAA,cACZ,KAAK;AAAA,YACV,CAAK;AAAA,UACD,GAAE,IAAI;AAAA,QACV,OAAS;AACNA,wBAAAA,MAAI,UAAU;AAAA,YACb,OAAO,IAAI,OAAO;AAAA,YAClB,MAAM;AAAA,UACV,CAAI;AAAA,QACD;AAAA,MACD,SAAQ,OAAO;AACfA,sBAAc,MAAA,MAAA,SAAA,gCAAA,SAAS,KAAK;AAC5BA,sBAAAA,MAAI,UAAU;AAAA,UACb,OAAO;AAAA,UACP,MAAM;AAAA,QACT,CAAG;AAAA,MACD;AAAA,IACF;;;;;;;;;;;;;;;;;;;;AC9IA,GAAG,WAAW,eAAe;"} \ No newline at end of file +{"version":3,"file":"login.js","sources":["pages/login/login.vue","F:/software/HBuilderX/HBuilderX/plugins/uniapp-cli-vite/uniPage:/cGFnZXMvbG9naW4vbG9naW4udnVl"],"sourcesContent":["\r\n\r\n\r\n\r\n\r\n","import MiniProgramPage from 'E:/hexieyun/ThreeChecksOneExposure_platform/12.07chongqixinde/三查一曝光小程序/threeonecheck_小程序/pages/login/login.vue'\nwx.createPage(MiniProgramPage)"],"names":["ref","uni","login"],"mappings":";;;;;;;AAqDA,UAAM,WAAWA,cAAAA,IAAI,EAAE;AACvB,UAAM,WAAWA,cAAAA,IAAI,EAAE;AACvB,UAAM,eAAeA,cAAAA,IAAI,IAAI;AAG7B,UAAM,iBAAiB,MAAM;AAC5B,mBAAa,QAAQ,CAAC,aAAa;AAAA,IACpC;AAUA,UAAM,cAAc,YAAY;AAC/BC,oBAAAA,MAAA,MAAA,OAAA,+BAAY,QAAQ;AACpBA,oBAAA,MAAA,MAAA,OAAA,+BAAY,QAAQ,SAAS,KAAK;AAClCA,oBAAA,MAAA,MAAA,OAAA,+BAAY,OAAO,SAAS,KAAK;AAGjC,UAAI,CAAC,SAAS,OAAO;AACpBA,sBAAAA,MAAI,UAAU;AAAA,UACb,MAAM;AAAA,UACN,OAAO;AAAA,QACV,CAAG;AACD;AAAA,MACA;AAGD,UAAI,CAAC,SAAS,OAAO;AACpBA,sBAAAA,MAAI,UAAU;AAAA,UACb,MAAM;AAAA,UACN,OAAO;AAAA,QACV,CAAG;AACD;AAAA,MACA;AAED,UAAI;AACHA,sBAAAA,MAAY,MAAA,OAAA,+BAAA,aAAa;AAEzB,cAAM,MAAM,MAAMC,kBAAM;AAAA,UACvB,UAAU,SAAS;AAAA,UACnB,UAAU,SAAS;AAAA,QACtB,CAAG;AAEDD,sBAAY,MAAA,MAAA,OAAA,gCAAA,WAAW,GAAG;AAE1B,YAAI,IAAI,SAAS,GAAG;AAEnB,cAAI,IAAI,KAAK,OAAO;AACnBA,0BAAG,MAAC,eAAe,SAAS,IAAI,KAAK,KAAK;AAAA,UAC1C;AAED,gBAAM,WAAW;AAAA,YAChB,QAAQ,IAAI,KAAK;AAAA,YACjB,UAAU,IAAI,KAAK;AAAA,YACnB,UAAU,IAAI,KAAK;AAAA,YACnB,QAAQ,IAAI,KAAK;AAAA,YACjB,UAAU,IAAI,KAAK;AAAA,YACnB,MAAK,IAAI,KAAK;AAAA,YACd,QAAO,IAAI,KAAK;AAAA,UACpB;AACGA,wBAAG,MAAC,eAAe,YAAY,KAAK,UAAU,QAAQ,CAAC;AAEvDA,wBAAAA,MAAI,UAAU;AAAA,YACb,OAAO;AAAA,YACP,MAAM;AAAA,UACV,CAAI;AAED,qBAAW,MAAM;AAChBA,0BAAAA,MAAI,SAAS;AAAA,cACZ,KAAK;AAAA,YACV,CAAK;AAAA,UACD,GAAE,IAAI;AAAA,QACV,OAAS;AACNA,wBAAAA,MAAI,UAAU;AAAA,YACb,OAAO,IAAI,OAAO;AAAA,YAClB,MAAM;AAAA,UACV,CAAI;AAAA,QACD;AAAA,MACD,SAAQ,OAAO;AACfA,sBAAc,MAAA,MAAA,SAAA,gCAAA,SAAS,KAAK;AAC5BA,sBAAAA,MAAI,UAAU;AAAA,UACb,OAAO;AAAA,UACP,MAAM;AAAA,QACT,CAAG;AAAA,MACD;AAAA,IACF;;;;;;;;;;;;;;;;;;;;AC9IA,GAAG,WAAW,eAAe;"} \ No newline at end of file diff --git a/unpackage/dist/dev/.sourcemap/mp-weixin/pages/membermanagemen/membermanagemen.js.map b/unpackage/dist/dev/.sourcemap/mp-weixin/pages/membermanagemen/membermanagemen.js.map index 122467b..44e7baf 100644 --- a/unpackage/dist/dev/.sourcemap/mp-weixin/pages/membermanagemen/membermanagemen.js.map +++ b/unpackage/dist/dev/.sourcemap/mp-weixin/pages/membermanagemen/membermanagemen.js.map @@ -1 +1 @@ -{"version":3,"file":"membermanagemen.js","sources":["pages/membermanagemen/membermanagemen.vue","F:/software/HBuilderX/HBuilderX/plugins/uniapp-cli-vite/uniPage:/cGFnZXMvbWVtYmVybWFuYWdlbWVuL21lbWJlcm1hbmFnZW1lbi52dWU"],"sourcesContent":["\r\n\r\n\r\n\r\n\r\n","import MiniProgramPage from 'E:/hexieyun/ThreeChecksOneExposure_platform/12.07chongqixinde/三查一曝光小程序/threeonecheck_小程序/pages/membermanagemen/membermanagemen.vue'\nwx.createPage(MiniProgramPage)"],"names":["ref","computed","uni","getMemberList","reactive","addMember","lockOrUnlockMember","onMounted"],"mappings":";;;;;;;;;;;;;;;;;;;AAwHA,UAAM,WAAWA,cAAAA,IAAI;AAAA,MACpB,QAAQ;AAAA,MACR,UAAU;AAAA,MACV,UAAU;AAAA,MACV,MAAM;AAAA,MACN,QAAQ;AAAA,MACR,UAAU;AAAA,IACX,CAAC;AAGD,UAAM,WAAWC,cAAQ,SAAC,MAAM;AAC/B,YAAM,OAAO,SAAS,MAAM;AAC5B,UAAI,SAAS,YAAY,SAAS,SAAS;AAC1C,eAAO;AAAA,MACT,WAAY,SAAS,UAAU;AAC7B,eAAO;AAAA,MACP;AACD,aAAO;AAAA,IACR,CAAC;AAGD,UAAM,cAAc,MAAM;AACzB,UAAI;AACH,cAAM,cAAcC,cAAAA,MAAI,eAAe,UAAU;AACjD,YAAI,aAAa;AAChB,mBAAS,QAAQ,KAAK,MAAM,WAAW;AACvCA,wBAAY,MAAA,MAAA,OAAA,oDAAA,SAAS,SAAS,KAAK;AAAA,QACnC;AAAA,MACD,SAAQ,OAAO;AACfA,+FAAc,aAAa,KAAK;AAAA,MAChC;AAAA,IACF;AAGA,UAAM,OAAOF,cAAAA,IAAI,CAAA,CAAE;AAGnB,UAAM,kBAAkB,YAAY;AACnC,UAAI;AACH,cAAM,MAAM,MAAMG,YAAAA;AAClB,YAAI,IAAI,SAAS,KAAK,IAAI,MAAM;AAC/B,eAAK,QAAQ,IAAI;AACjBD,wBAAY,MAAA,MAAA,OAAA,oDAAA,SAAS,IAAI,IAAI;AAAA,QAC7B;AAAA,MACD,SAAQ,OAAO;AACfA,+FAAc,aAAa,KAAK;AAAA,MAChC;AAAA,IACF;AAGA,UAAM,YAAYF,cAAAA,IAAI,KAAK;AAC3B,UAAM,iBAAiBA,cAAAA,IAAI,KAAK;AAChC,UAAM,mBAAmBA,cAAAA,IAAI,EAAE;AAG/B,UAAM,WAAWI,cAAAA,SAAS;AAAA,MACzB,UAAU;AAAA,MACV,UAAU;AAAA,MACV,OAAO;AAAA,MACP,UAAU;AAAA,MACV,UAAU;AAAA,IACX,CAAC;AAGD,UAAM,cAAcA,cAAAA,SAAS;AAAA,MAC5B,CAAC,OAAO,MAAM;AAAA,IACf,CAAC;AAGD,UAAM,UAAU;AAAA,MACf,OAAO;AAAA,MACP,QAAQ;AAAA,IACT;AAGA,UAAM,gBAAgB,CAAC,MAAM;AAC5B,UAAI,EAAE,SAAS,EAAE,MAAM,SAAS,GAAG;AAClC,yBAAiB,QAAQ,EAAE,MAAM,CAAC;AAClC,iBAAS,WAAW,QAAQ,EAAE,MAAM,CAAC,CAAC;AAAA,MACtC;AACD,qBAAe,QAAQ;AAAA,IACxB;AAGA,UAAM,YAAY,MAAM;AACvB,eAAS,WAAW;AACpB,eAAS,WAAW;AACpB,eAAS,QAAQ;AACjB,eAAS,WAAW;AACpB,eAAS,WAAW;AACpB,uBAAiB,QAAQ;AAAA,IAC1B;AAGA,UAAM,eAAe,YAAY;AAChC,UAAI,CAAC,SAAS,UAAU;AACvBF,sBAAG,MAAC,UAAU,EAAE,OAAO,UAAU,MAAM,OAAM,CAAE;AAC/C;AAAA,MACA;AACD,UAAI,CAAC,SAAS,YAAY,SAAS,SAAS,SAAS,KAAK,SAAS,SAAS,SAAS,IAAI;AACxFA,sBAAG,MAAC,UAAU,EAAE,OAAO,cAAc,MAAM,OAAM,CAAE;AACnD;AAAA,MACA;AACD,UAAI,CAAC,SAAS,UAAU;AACvBA,sBAAG,MAAC,UAAU,EAAE,OAAO,WAAW,MAAM,OAAM,CAAE;AAChD;AAAA,MACA;AAED,YAAM,SAAS;AAAA,QACd,UAAU,SAAS;AAAA,QACnB,UAAU,SAAS,YAAY;AAAA,QAC/B,aAAa,SAAS,SAAS;AAAA,QAC/B,UAAU,SAAS;AAAA,QACnB,UAAU,SAAS;AAAA,MACrB;AAEC,UAAI;AACH,cAAM,MAAM,MAAMG,sBAAU,MAAM;AAClC,YAAI,IAAI,SAAS,GAAG;AACnBH,wBAAG,MAAC,UAAU,EAAE,OAAO,QAAQ,MAAM,UAAS,CAAE;AAChD,oBAAU,QAAQ;AAClB;AAEA;QACH,OAAS;AACNA,8BAAI,UAAU,EAAE,OAAO,IAAI,OAAO,QAAQ,MAAM,OAAM,CAAE;AAAA,QACxD;AAAA,MACD,SAAQ,OAAO;AACfA,+FAAc,WAAW,KAAK;AAC9BA,sBAAG,MAAC,UAAU,EAAE,OAAO,QAAQ,MAAM,OAAM,CAAE;AAAA,MAC7C;AAAA,IACF;AAGA,UAAM,OAAO,CAAC,SAAS;AACtB,YAAM,WAAW,KAAK,WAAW;AACjC,YAAM,aAAa,WAAW,OAAO;AACrC,YAAM,YAAY,WAAW,MAAM;AAEnCA,oBAAAA,MAAI,UAAU;AAAA,QACb,OAAO;AAAA,QACP,SAAS,MAAM,UAAU;AAAA,QACzB,cAAc;AAAA,QACd,SAAS,OAAO,QAAQ;AACvB,cAAI,IAAI,SAAS;AAChB,gBAAI;AACH,oBAAM,SAAS,MAAMI,+BAAmB;AAAA,gBACvC,QAAQ,KAAK;AAAA,gBACb,YAAY,OAAO,SAAS;AAAA,cAClC,CAAM;AACD,kBAAI,OAAO,SAAS,GAAG;AACtBJ,oCAAI,UAAU,EAAE,OAAO,GAAG,UAAU,MAAM,MAAM,UAAS,CAAE;AAE3D,qBAAK,SAAS;AACd,qBAAK,aAAa,cAAc,MAAM,QAAQ;AAAA,cACpD,OAAY;AACNA,8BAAAA,MAAI,UAAU,EAAE,OAAO,OAAO,OAAO,GAAG,UAAU,MAAM,MAAM,OAAQ,CAAA;AAAA,cACtE;AAAA,YACD,SAAQ,OAAO;AACfA,qGAAc,GAAG,UAAU,SAAS,KAAK;AACzCA,4BAAG,MAAC,UAAU,EAAE,OAAO,QAAQ,MAAM,OAAM,CAAE;AAAA,YAC7C;AAAA,UACD;AAAA,QACD;AAAA,MACH,CAAE;AAAA,IACF;AAGAK,kBAAAA,UAAU,MAAM;AACf;AACA;IACD,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AClSD,GAAG,WAAW,eAAe;"} \ No newline at end of file +{"version":3,"file":"membermanagemen.js","sources":["pages/membermanagemen/membermanagemen.vue","F:/software/HBuilderX/HBuilderX/plugins/uniapp-cli-vite/uniPage:/cGFnZXMvbWVtYmVybWFuYWdlbWVuL21lbWJlcm1hbmFnZW1lbi52dWU"],"sourcesContent":["\r\n\r\n\r\n\r\n\r\n","import MiniProgramPage from 'E:/hexieyun/ThreeChecksOneExposure_platform/12.07chongqixinde/三查一曝光小程序/threeonecheck_小程序/pages/membermanagemen/membermanagemen.vue'\nwx.createPage(MiniProgramPage)"],"names":["ref","computed","uni","getMemberList","reactive","getSystemUserFormOptions","listPostByDeptId","addMember","lockOrUnlockMember","onMounted"],"mappings":"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"} \ No newline at end of file diff --git a/unpackage/dist/dev/.sourcemap/mp-weixin/request/api.js.map b/unpackage/dist/dev/.sourcemap/mp-weixin/request/api.js.map index 58926c3..d9917a5 100644 --- a/unpackage/dist/dev/.sourcemap/mp-weixin/request/api.js.map +++ b/unpackage/dist/dev/.sourcemap/mp-weixin/request/api.js.map @@ -1 +1 @@ -{"version":3,"file":"api.js","sources":["request/api.js"],"sourcesContent":["import { requestAPI, baseUrl } from './request.js';\r\n//获取检查计划列表\r\nexport function getCheckPlanList(params) {\r\n return requestAPI({\r\n url: '/frontend/plan/list',\r\n method: 'GET',\r\n data: params\r\n });\r\n}\r\n//进入巡检(获取第一个未完成的任务)\r\nexport function enterCheckPlan(oneTableId) {\r\n return requestAPI({\r\n url: `/frontend/task/start/${oneTableId}`,\r\n method: 'GET'\r\n });\r\n}\r\n//获取指定任务详情\r\nexport function getCheckTaskDetail(taskId) {\r\n return requestAPI({\r\n url: `/frontend/task/detail/${taskId}`,\r\n method: 'GET'\r\n });\r\n}\r\n//提交巡检结果\r\nexport function submitCheckResult(params) {\r\n return requestAPI({\r\n url: '/frontend/task/submit',\r\n method: 'POST',\r\n data: params\r\n });\r\n}\r\n//新增隐患\r\nexport function addHiddenDanger(params) {\r\n return requestAPI({\r\n url: '/frontend/hazard/add',\r\n method: 'POST',\r\n data: params\r\n });\r\n}\r\n//交办隐患\r\nexport function assignHiddenDanger(params) {\r\n return requestAPI({\r\n url: '/frontend/hazard/assign',\r\n method: 'POST',\r\n data: params\r\n });\r\n}\r\n//文件图片上传(本地上传,逐步迁移至七牛直传)\r\nexport function uploadFile(params) {\r\n return requestAPI({\r\n url: '/frontend/attachment/upload',\r\n method: 'POST',\r\n data: params\r\n });\r\n}\r\n\r\n/** 获取七牛云客户端直传凭证 */\r\nexport function getQiniuUploadToken(params) {\r\n return requestAPI({\r\n url: '/frontend/attachment/qiniu/token',\r\n method: 'GET',\r\n data: params,\r\n loadingText: false\r\n });\r\n}\r\n//获取我的隐患排查列表\r\nexport function getMyHiddenDangerList(params) {\r\n return requestAPI({\r\n url: '/frontend/hazard/my/list',\r\n method: 'GET',\r\n data: params\r\n });\r\n}\r\n//获取隐患详情\r\nexport function getHiddenDangerDetail(params) {\r\n // 过滤掉 assignId 为 null、undefined、'null'、空字符串的情况\r\n const filteredParams = { ...params };\r\n if (filteredParams.assignId == null || filteredParams.assignId === 'null' || filteredParams.assignId === '') {\r\n delete filteredParams.assignId;\r\n }\r\n return requestAPI({\r\n url: '/frontend/hazard/detail',\r\n method: 'GET',\r\n data: filteredParams\r\n });\r\n}\r\n//获取隐患排查列表\r\nexport function getHiddenDangerList(params) {\r\n return requestAPI({\r\n url: '/frontend/hazard/my/list',\r\n method: 'GET',\r\n data: params\r\n });\r\n}\r\n\r\n//提交整改\r\nexport function submitRectification(params) {\r\n return requestAPI({\r\n url: '/frontend/hazard/rectify',\r\n method: 'POST',\r\n data: params\r\n });\r\n}\r\n\r\n//获取整改详情\r\nexport function getRectifyDetail(params) {\r\n return requestAPI({\r\n url: '/frontend/hazard/rectify/detail',\r\n method: 'GET',\r\n data: params\r\n });\r\n}\r\n\r\n//修改整改\r\nexport function updateRectification(params) {\r\n return requestAPI({\r\n url: '/frontend/hazard/rectify/update',\r\n method: 'POST',\r\n data: params\r\n });\r\n}\r\n\r\n//获取隐患标签列表\r\nexport function getHiddenDangerLabelList() {\r\n return requestAPI({\r\n url: '/frontend/hazard/tag/list',\r\n method: 'GET'\r\n });\r\n}\r\n//获取部门人员列表(本部门、上级部门、上上级部门)\r\nexport function getDepartmentPersonUsers(params) {\r\n return requestAPI({\r\n url: '/frontend/hazard/dept/users',\r\n method: 'GET',\r\n data: params\r\n });\r\n}\r\n\r\n//获取部门人员列表(包含参与过该隐患环节下的所有部门人员)\r\nexport function getDeptUsersWithSubordinates(params) {\r\n return requestAPI({\r\n url: '/frontend/hazard/dept/users/with-subordinates',\r\n method: 'GET',\r\n data: params\r\n });\r\n}\r\n//成员管理\r\n//添加成员\r\nexport function addMember(params) {\r\n return requestAPI({\r\n url: '/frontend/member/add',\r\n method: 'POST',\r\n data: params\r\n });\r\n}\r\n//获取成员列表\r\nexport function getMemberList(params) {\r\n return requestAPI({\r\n url: '/frontend/member/list',\r\n method: 'GET',\r\n data: params\r\n });\r\n}\r\n//锁定/解锁成员\r\nexport function lockOrUnlockMember(params) {\r\n return requestAPI({\r\n url: '/frontend/member/lock',\r\n method: 'POST',\r\n data: params\r\n });\r\n}\r\n//销号申请\r\n//申请销号\r\nexport function applyDelete(params) {\r\n return requestAPI({\r\n url: '/frontend/hazard/writeoff/apply',\r\n method: 'POST',\r\n data: params\r\n });\r\n}\r\n//获取验收完成的隐患列表(可申请销号)\r\nexport function getAcceptanceList(params) {\r\n return requestAPI({\r\n url: '/frontend/hazard/verified/list',\r\n method: 'GET',\r\n data: params\r\n });\r\n}\r\n//获取我的销号申请列表\r\nexport function getMyWriteOffList(params) {\r\n return requestAPI({\r\n url: '/frontend/hazard/writeoff/my/list',\r\n method: 'GET',\r\n data: params\r\n });\r\n}\r\n//获取销号申请详情\r\nexport function getWriteOffApplyDetail(applyId) {\r\n return requestAPI({\r\n url: `/admin/hazard/writeoff/getWriteOffApplyDetail/${applyId}`,\r\n method: 'GET'\r\n });\r\n}\r\n\r\n//验收整改\r\nexport function acceptanceRectification(params) {\r\n return requestAPI({\r\n url: '/frontend/hazard/verify',\r\n method: 'POST',\r\n data: params\r\n });\r\n}\r\n\r\n//登录\r\nexport function login(params) {\r\n return requestAPI({\r\n url: '/frontend/auth/login',\r\n method: 'POST',\r\n data: params,\r\n noAuth: true // 登录接口不需要 Authorization\r\n });\r\n}\r\n//获取检查表\r\nexport function getCheckTableList(params) {\r\n return requestAPI({\r\n url: '/admin/oneTable/list',\r\n method: 'GET',\r\n data: params\r\n });\r\n}\r\n//新增安全隐患常见病检查\r\nexport function addCheckTable(params) {\r\n return requestAPI({\r\n url: '/admin/oneTable/add',\r\n method: 'POST',\r\n data: params\r\n });\r\n}\r\n//获取检查表详情\r\nexport function getCheckTableDetail(params) {\r\n return requestAPI({\r\n url: '/admin/oneTable/detail/{id}',\r\n method: 'GET',\r\n data: params\r\n });\r\n}\r\n\r\n\r\n// 获取企业类型下拉列表\r\nexport function getEnterprisetype() {\r\n return requestAPI({\r\n url: '/frontend/enterprise/type/select',\r\n method: 'GET'\r\n });\r\n}\r\n\r\n\r\n\r\n// 获取当前部门的企业基本信息\r\nexport function getEnterpriseinfo() {\r\n return requestAPI({\r\n url: '/frontend/enterprise/info',\r\n method: 'GET'\r\n });\r\n}\r\n\r\n// 新增本部门企业基本信息(需要admin或manage权限)\r\nexport function addEnterprise(params) {\r\n return requestAPI({\r\n url: '/frontend/enterprise/add',\r\n method: 'POST',\r\n data: params\r\n });\r\n}\r\n\r\n// 修改本部门企业基本信息(需要admin或manage权限)\r\nexport function updateEnterprise(params) {\r\n return requestAPI({\r\n url: '/frontend/enterprise/update',\r\n method: 'POST',\r\n data: params\r\n });\r\n}\r\n\r\n\r\n// 获取行业类型下拉列表\r\nexport function getindustry(params) {\r\n return requestAPI({\r\n url: '/frontend/enterprise/industry/select',\r\n method: 'GET'\r\n });\r\n}\r\n\r\n// 获取法规列表(可搜索筛选)\r\nexport function getRegulationList(params) {\r\n return requestAPI({\r\n url: '/admin/regulation/list',\r\n method: 'GET',\r\n data: params\r\n });\r\n}\r\n\r\n// 新增检查项\r\nexport function addCheckPoint(params) {\r\n return requestAPI({\r\n url: '/admin/oneTable/checkPoint/add',\r\n method: 'POST',\r\n data: params\r\n });\r\n}\r\n\r\n// 获取检查项详情\r\nexport function detailcheckPoint(id) {\r\n return requestAPI({\r\n url: `/admin/oneTable/checkPoint/detail/${id}`,\r\n method: 'POST'\r\n });\r\n}\r\n\r\n// 删除检查点\r\nexport function deleteCheckPoint(params) {\r\n return requestAPI({\r\n url: '/admin/oneTable/checkPoint/delete',\r\n method: 'POST',\r\n data: params\r\n });\r\n}\r\n\r\n// 获取检查库列表(可搜索筛选)\r\nexport function getCheckItemList(params) {\r\n return requestAPI({\r\n url: '/admin/oneTable/item/list',\r\n method: 'GET',\r\n data: params\r\n });\r\n}\r\n\r\n// 获取检查库详情列表\r\nexport function getCheckItemListDetail(params) {\r\n return requestAPI({\r\n url: '/admin/oneTable/item/listDetail',\r\n method: 'GET',\r\n data: params\r\n });\r\n}\r\n\r\n// 获取当前部门所有用户\r\nexport function getDeptUsers(params) {\r\n return requestAPI({\r\n url: '/admin/user/dept/users',\r\n method: 'GET',\r\n data: params\r\n });\r\n}\r\n\r\n// 获取父级部门列表(从当前到顶层)\r\nexport function getParentDepts() {\r\n return requestAPI({\r\n url: '/admin/dept/parents',\r\n method: 'GET'\r\n });\r\n}\r\n\r\n// 获取日常检查预警列表\r\nexport function getInspectionWarningList(params) {\r\n return requestAPI({\r\n url: '/admin/warning/inspection/list',\r\n method: 'GET',\r\n data: params\r\n });\r\n}\r\n\r\n// AI图片分析接口 - 分析隐患图片\r\nexport function analyzeHazardImage(params) {\r\n return requestAPI({\r\n url: '/frontend/ai/analyze-hazard',\r\n method: 'POST',\r\n data: params,\r\n loadingText: 'AI自动识别隐患中'\r\n });\r\n}\r\n\r\n// AI生成整改方案\r\nexport function generateRectifyPlan(params) {\r\n return requestAPI({\r\n url: '/frontend/ai/generate-rectify-plan',\r\n method: 'POST',\r\n data: params,\r\n loadingText: 'AI生成整改方案中'\r\n });\r\n}\r\n\r\n// AI生成销号方案\r\nexport function generateWriteoffContent(params) {\r\n return requestAPI({\r\n url: '/frontend/ai/generate-writeoff-content',\r\n method: 'POST',\r\n data: params,\r\n loadingText: 'AI生成销号方案中'\r\n });\r\n}"],"names":["requestAPI"],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"api.js","sources":["request/api.js"],"sourcesContent":["import { requestAPI, baseUrl } from './request.js';\r\n//获取检查计划列表\r\nexport function getCheckPlanList(params) {\r\n return requestAPI({\r\n url: '/frontend/plan/list',\r\n method: 'GET',\r\n data: params\r\n });\r\n}\r\n\r\n// 获取检查计划详情-按任务(每天/每周/每月/每季度)\r\nexport function getPlanTableDetail(params) {\r\n return requestAPI({\r\n url: '/frontend/plan/tableDetail',\r\n method: 'GET',\r\n data: params\r\n });\r\n}\r\n//进入巡检(获取第一个未完成的任务)\r\nexport function enterCheckPlan(oneTableId) {\r\n return requestAPI({\r\n url: `/frontend/task/start/${oneTableId}`,\r\n method: 'GET'\r\n });\r\n}\r\n\r\n// 进入巡检(一次性获取全部任务)\r\nexport function getAllTask(oneTableId, taskDate) {\r\n const date = String(taskDate || '').split(' ')[0];\r\n return requestAPI({\r\n url: `/frontend/task/getAllTask/${oneTableId}/${date}`,\r\n method: 'GET'\r\n });\r\n}\r\n//获取指定任务详情\r\nexport function getCheckTaskDetail(taskId) {\r\n return requestAPI({\r\n url: `/frontend/task/detail/${taskId}`,\r\n method: 'GET'\r\n });\r\n}\r\n//提交巡检结果\r\nexport function submitCheckResult(params) {\r\n return requestAPI({\r\n url: '/frontend/task/submit',\r\n method: 'POST',\r\n data: params\r\n });\r\n}\r\n// 批量提交巡检结果\r\nexport function submitAllTask(data) {\r\n return requestAPI({\r\n url: '/frontend/task/submitAll',\r\n method: 'POST',\r\n data\r\n });\r\n}\r\n//新增隐患\r\nexport function addHiddenDanger(params) {\r\n return requestAPI({\r\n url: '/frontend/hazard/add',\r\n method: 'POST',\r\n data: params\r\n });\r\n}\r\n//交办隐患\r\nexport function assignHiddenDanger(params) {\r\n return requestAPI({\r\n url: '/frontend/hazard/assign',\r\n method: 'POST',\r\n data: params\r\n });\r\n}\r\n//文件图片上传(本地上传,逐步迁移至七牛直传)\r\nexport function uploadFile(params) {\r\n return requestAPI({\r\n url: '/frontend/attachment/upload',\r\n method: 'POST',\r\n data: params\r\n });\r\n}\r\n\r\n/** 获取七牛云客户端直传凭证 */\r\nexport function getQiniuUploadToken(params) {\r\n return requestAPI({\r\n url: '/frontend/attachment/qiniu/token',\r\n method: 'GET',\r\n data: params,\r\n loadingText: false\r\n });\r\n}\r\n//获取我的隐患排查列表\r\nexport function getMyHiddenDangerList(params) {\r\n return requestAPI({\r\n url: '/frontend/hazard/my/list',\r\n method: 'GET',\r\n data: params\r\n });\r\n}\r\n//获取隐患详情(小程序流程页:整改/验收等,支持 assignId)\r\nexport function getHiddenDangerDetail(params) {\r\n // 过滤掉 assignId 为 null、undefined、'null'、空字符串的情况\r\n const filteredParams = { ...params };\r\n if (filteredParams.assignId == null || filteredParams.assignId === 'null' || filteredParams.assignId === '') {\r\n delete filteredParams.assignId;\r\n }\r\n return requestAPI({\r\n url: '/frontend/hazard/detail',\r\n method: 'GET',\r\n data: filteredParams\r\n });\r\n}\r\n\r\n// 获取隐患详情(详情页:完整历史流程)\r\nexport function getHazardDetail(hazardId) {\r\n return requestAPI({\r\n url: `/admin/hazard/detail/${hazardId}`,\r\n method: 'GET'\r\n });\r\n}\r\n//获取隐患排查列表\r\nexport function getHiddenDangerList(params) {\r\n return requestAPI({\r\n url: '/frontend/hazard/my/list',\r\n method: 'GET',\r\n data: params\r\n });\r\n}\r\n\r\n//提交整改\r\nexport function submitRectification(params) {\r\n return requestAPI({\r\n url: '/frontend/hazard/rectify',\r\n method: 'POST',\r\n data: params\r\n });\r\n}\r\n\r\n//获取整改详情\r\nexport function getRectifyDetail(params) {\r\n return requestAPI({\r\n url: '/frontend/hazard/rectify/detail',\r\n method: 'GET',\r\n data: params\r\n });\r\n}\r\n\r\n//修改整改\r\nexport function updateRectification(params) {\r\n return requestAPI({\r\n url: '/frontend/hazard/rectify/update',\r\n method: 'POST',\r\n data: params\r\n });\r\n}\r\n\r\n//获取隐患标签列表\r\nexport function getHiddenDangerLabelList() {\r\n return requestAPI({\r\n url: '/frontend/hazard/tag/list',\r\n method: 'GET'\r\n });\r\n}\r\n//获取部门人员列表(本部门、上级部门、上上级部门)\r\nexport function getDepartmentPersonUsers(params) {\r\n return requestAPI({\r\n url: '/frontend/hazard/dept/users',\r\n method: 'GET',\r\n data: params\r\n });\r\n}\r\n\r\n//获取部门人员列表(包含参与过该隐患环节下的所有部门人员)\r\nexport function getDeptUsersWithSubordinates(params) {\r\n return requestAPI({\r\n url: '/frontend/hazard/dept/users/with-subordinates',\r\n method: 'GET',\r\n data: params\r\n });\r\n}\r\n//成员管理\r\n//添加成员\r\nexport function addMember(params) {\r\n return requestAPI({\r\n url: '/frontend/member/add',\r\n method: 'POST',\r\n data: params\r\n });\r\n}\r\n//获取成员列表\r\nexport function getMemberList(params) {\r\n return requestAPI({\r\n url: '/frontend/member/list',\r\n method: 'GET',\r\n data: params\r\n });\r\n}\r\n//锁定/解锁成员\r\nexport function lockOrUnlockMember(params) {\r\n return requestAPI({\r\n url: '/frontend/member/lock',\r\n method: 'POST',\r\n data: params\r\n });\r\n}\r\n// 获取添加成员表单选项(角色、岗位等)\r\nexport function getSystemUserFormOptions() {\r\n return requestAPI({\r\n url: '/system/user/',\r\n method: 'GET',\r\n loadingText: false\r\n });\r\n}\r\n// 根据部门ID获取岗位列表\r\nexport function listPostByDeptId(deptId) {\r\n return requestAPI({\r\n url: `/system/post/listByDeptId/${deptId}`,\r\n method: 'GET',\r\n loadingText: false\r\n });\r\n}\r\n//销号申请\r\n//申请销号\r\nexport function applyDelete(params) {\r\n return requestAPI({\r\n url: '/frontend/hazard/writeoff/apply',\r\n method: 'POST',\r\n data: params\r\n });\r\n}\r\n//获取验收完成的隐患列表(可申请销号)\r\nexport function getAcceptanceList(params) {\r\n return requestAPI({\r\n url: '/frontend/hazard/verified/list',\r\n method: 'GET',\r\n data: params\r\n });\r\n}\r\n//获取我的销号申请列表\r\nexport function getMyWriteOffList(params) {\r\n return requestAPI({\r\n url: '/frontend/hazard/writeoff/my/list',\r\n method: 'GET',\r\n data: params\r\n });\r\n}\r\n//获取销号申请详情\r\nexport function getWriteOffApplyDetail(applyId) {\r\n return requestAPI({\r\n url: `/admin/hazard/writeoff/getWriteOffApplyDetail/${applyId}`,\r\n method: 'GET'\r\n });\r\n}\r\n\r\n//验收整改\r\nexport function acceptanceRectification(params) {\r\n return requestAPI({\r\n url: '/frontend/hazard/verify',\r\n method: 'POST',\r\n data: params\r\n });\r\n}\r\n\r\n//登录\r\nexport function login(params) {\r\n return requestAPI({\r\n url: '/frontend/auth/login',\r\n method: 'POST',\r\n data: params,\r\n noAuth: true // 登录接口不需要 Authorization\r\n });\r\n}\r\n//获取检查表\r\nexport function getCheckTableList(params) {\r\n return requestAPI({\r\n url: '/admin/oneTable/list',\r\n method: 'GET',\r\n data: params\r\n });\r\n}\r\n//新增安全隐患常见病检查\r\nexport function addCheckTable(params) {\r\n return requestAPI({\r\n url: '/admin/oneTable/add',\r\n method: 'POST',\r\n data: params\r\n });\r\n}\r\n//获取检查表详情\r\nexport function getCheckTableDetail(params) {\r\n return requestAPI({\r\n url: '/admin/oneTable/detail/{id}',\r\n method: 'GET',\r\n data: params\r\n });\r\n}\r\n\r\n// 获取检查表详情(排查验证用,新流程)\r\nexport function getOneTableInspectDetail(id) {\r\n return requestAPI({\r\n url: `/admin/oneTable/detail/${id}`,\r\n method: 'GET'\r\n });\r\n}\r\n\r\n\r\n// 获取企业类型下拉列表\r\nexport function getEnterprisetype() {\r\n return requestAPI({\r\n url: '/frontend/enterprise/type/select',\r\n method: 'GET'\r\n });\r\n}\r\n\r\n\r\n\r\n// 获取当前部门的企业基本信息\r\nexport function getEnterpriseinfo() {\r\n return requestAPI({\r\n url: '/frontend/enterprise/info',\r\n method: 'GET'\r\n });\r\n}\r\n\r\n// 新增本部门企业基本信息(需要admin或manage权限)\r\nexport function addEnterprise(params) {\r\n return requestAPI({\r\n url: '/frontend/enterprise/add',\r\n method: 'POST',\r\n data: params\r\n });\r\n}\r\n\r\n// 修改本部门企业基本信息(需要admin或manage权限)\r\nexport function updateEnterprise(params) {\r\n return requestAPI({\r\n url: '/frontend/enterprise/update',\r\n method: 'POST',\r\n data: params\r\n });\r\n}\r\n\r\n\r\n// 获取行业类型下拉列表\r\nexport function getindustry(params) {\r\n return requestAPI({\r\n url: '/frontend/enterprise/industry/select',\r\n method: 'GET'\r\n });\r\n}\r\n\r\n// 获取法规列表(可搜索筛选)\r\nexport function getRegulationList(params) {\r\n return requestAPI({\r\n url: '/admin/regulation/list',\r\n method: 'GET',\r\n data: params\r\n });\r\n}\r\n\r\n// 新增检查项\r\nexport function addCheckPoint(params) {\r\n return requestAPI({\r\n url: '/admin/oneTable/checkPoint/add',\r\n method: 'POST',\r\n data: params\r\n });\r\n}\r\n\r\n// 获取检查项详情\r\nexport function detailcheckPoint(id) {\r\n return requestAPI({\r\n url: `/admin/oneTable/checkPoint/detail/${id}`,\r\n method: 'POST'\r\n });\r\n}\r\n\r\n// 删除检查点\r\nexport function deleteCheckPoint(params) {\r\n return requestAPI({\r\n url: '/admin/oneTable/checkPoint/delete',\r\n method: 'POST',\r\n data: params\r\n });\r\n}\r\n\r\n// 获取检查库列表(可搜索筛选)\r\nexport function getCheckItemList(params) {\r\n return requestAPI({\r\n url: '/admin/oneTable/item/list',\r\n method: 'GET',\r\n data: params\r\n });\r\n}\r\n\r\n// 获取检查库详情列表\r\nexport function getCheckItemListDetail(params) {\r\n return requestAPI({\r\n url: '/admin/oneTable/item/listDetail',\r\n method: 'GET',\r\n data: params\r\n });\r\n}\r\n\r\n// 获取当前部门所有用户\r\nexport function getDeptUsers(params) {\r\n return requestAPI({\r\n url: '/admin/user/dept/users',\r\n method: 'GET',\r\n data: params\r\n });\r\n}\r\n\r\n// 获取父级部门列表(从当前到顶层)\r\nexport function getParentDepts() {\r\n return requestAPI({\r\n url: '/admin/dept/parents',\r\n method: 'GET'\r\n });\r\n}\r\n\r\n// 获取日常检查预警列表\r\nexport function getInspectionWarningList(params) {\r\n return requestAPI({\r\n url: '/admin/warning/inspection/list',\r\n method: 'GET',\r\n data: params\r\n });\r\n}\r\n\r\n// AI图片分析接口 - 分析隐患图片\r\nexport function analyzeHazardImage(params) {\r\n return requestAPI({\r\n url: '/frontend/ai/analyze-hazard',\r\n method: 'POST',\r\n data: params,\r\n loadingText: 'AI自动识别隐患中'\r\n });\r\n}\r\n\r\n// AI生成整改方案\r\nexport function generateRectifyPlan(params) {\r\n return requestAPI({\r\n url: '/frontend/ai/generate-rectify-plan',\r\n method: 'POST',\r\n data: params,\r\n loadingText: 'AI生成整改方案中'\r\n });\r\n}\r\n\r\n// AI生成销号方案\r\nexport function generateWriteoffContent(params) {\r\n return requestAPI({\r\n url: '/frontend/ai/generate-writeoff-content',\r\n method: 'POST',\r\n data: params,\r\n loadingText: 'AI生成销号方案中'\r\n });\r\n}"],"names":["requestAPI"],"mappings":";;AAEO,SAAS,iBAAiB,QAAQ;AACvC,SAAOA,2BAAW;AAAA,IAChB,KAAK;AAAA,IACL,QAAQ;AAAA,IACR,MAAM;AAAA,EACV,CAAG;AACH;AAGO,SAAS,mBAAmB,QAAQ;AACzC,SAAOA,2BAAW;AAAA,IAChB,KAAK;AAAA,IACL,QAAQ;AAAA,IACR,MAAM;AAAA,EACV,CAAG;AACH;AAEO,SAAS,eAAe,YAAY;AACzC,SAAOA,2BAAW;AAAA,IAChB,KAAK,wBAAwB,UAAU;AAAA,IACvC,QAAQ;AAAA,EACZ,CAAG;AACH;AAGO,SAAS,WAAW,YAAY,UAAU;AAC/C,QAAM,OAAO,OAAO,YAAY,EAAE,EAAE,MAAM,GAAG,EAAE,CAAC;AAChD,SAAOA,2BAAW;AAAA,IAChB,KAAK,6BAA6B,UAAU,IAAI,IAAI;AAAA,IACpD,QAAQ;AAAA,EACZ,CAAG;AACH;AAEO,SAAS,mBAAmB,QAAQ;AACzC,SAAOA,2BAAW;AAAA,IAChB,KAAK,yBAAyB,MAAM;AAAA,IACpC,QAAQ;AAAA,EACZ,CAAG;AACH;AAEO,SAAS,kBAAkB,QAAQ;AACxC,SAAOA,2BAAW;AAAA,IAChB,KAAK;AAAA,IACL,QAAQ;AAAA,IACR,MAAM;AAAA,EACV,CAAG;AACH;AAEO,SAAS,cAAc,MAAM;AAClC,SAAOA,2BAAW;AAAA,IAChB,KAAK;AAAA,IACL,QAAQ;AAAA,IACR;AAAA,EACJ,CAAG;AACH;AAEO,SAAS,gBAAgB,QAAQ;AACtC,SAAOA,2BAAW;AAAA,IAChB,KAAK;AAAA,IACL,QAAQ;AAAA,IACR,MAAM;AAAA,EACV,CAAG;AACH;AAEO,SAAS,mBAAmB,QAAQ;AACzC,SAAOA,2BAAW;AAAA,IAChB,KAAK;AAAA,IACL,QAAQ;AAAA,IACR,MAAM;AAAA,EACV,CAAG;AACH;AAWO,SAAS,oBAAoB,QAAQ;AAC1C,SAAOA,2BAAW;AAAA,IAChB,KAAK;AAAA,IACL,QAAQ;AAAA,IACR,MAAM;AAAA,IACN,aAAa;AAAA,EACjB,CAAG;AACH;AAEO,SAAS,sBAAsB,QAAQ;AAC5C,SAAOA,2BAAW;AAAA,IAChB,KAAK;AAAA,IACL,QAAQ;AAAA,IACR,MAAM;AAAA,EACV,CAAG;AACH;AAEO,SAAS,sBAAsB,QAAQ;AAE5C,QAAM,iBAAiB,EAAE,GAAG;AAC5B,MAAI,eAAe,YAAY,QAAQ,eAAe,aAAa,UAAU,eAAe,aAAa,IAAI;AAC3G,WAAO,eAAe;AAAA,EACvB;AACD,SAAOA,2BAAW;AAAA,IAChB,KAAK;AAAA,IACL,QAAQ;AAAA,IACR,MAAM;AAAA,EACV,CAAG;AACH;AAGO,SAAS,gBAAgB,UAAU;AACxC,SAAOA,2BAAW;AAAA,IAChB,KAAK,wBAAwB,QAAQ;AAAA,IACrC,QAAQ;AAAA,EACZ,CAAG;AACH;AAEO,SAAS,oBAAoB,QAAQ;AAC1C,SAAOA,2BAAW;AAAA,IAChB,KAAK;AAAA,IACL,QAAQ;AAAA,IACR,MAAM;AAAA,EACV,CAAG;AACH;AAGO,SAAS,oBAAoB,QAAQ;AAC1C,SAAOA,2BAAW;AAAA,IAChB,KAAK;AAAA,IACL,QAAQ;AAAA,IACR,MAAM;AAAA,EACV,CAAG;AACH;AAGO,SAAS,iBAAiB,QAAQ;AACvC,SAAOA,2BAAW;AAAA,IAChB,KAAK;AAAA,IACL,QAAQ;AAAA,IACR,MAAM;AAAA,EACV,CAAG;AACH;AAYO,SAAS,2BAA2B;AACzC,SAAOA,2BAAW;AAAA,IAChB,KAAK;AAAA,IACL,QAAQ;AAAA,EACZ,CAAG;AACH;AAEO,SAAS,yBAAyB,QAAQ;AAC/C,SAAOA,2BAAW;AAAA,IAChB,KAAK;AAAA,IACL,QAAQ;AAAA,IACR,MAAM;AAAA,EACV,CAAG;AACH;AAGO,SAAS,6BAA6B,QAAQ;AACnD,SAAOA,2BAAW;AAAA,IAChB,KAAK;AAAA,IACL,QAAQ;AAAA,IACR,MAAM;AAAA,EACV,CAAG;AACH;AAGO,SAAS,UAAU,QAAQ;AAChC,SAAOA,2BAAW;AAAA,IAChB,KAAK;AAAA,IACL,QAAQ;AAAA,IACR,MAAM;AAAA,EACV,CAAG;AACH;AAEO,SAAS,cAAc,QAAQ;AACpC,SAAOA,2BAAW;AAAA,IAChB,KAAK;AAAA,IACL,QAAQ;AAAA,IACR,MAAM;AAAA,EACV,CAAG;AACH;AAEO,SAAS,mBAAmB,QAAQ;AACzC,SAAOA,2BAAW;AAAA,IAChB,KAAK;AAAA,IACL,QAAQ;AAAA,IACR,MAAM;AAAA,EACV,CAAG;AACH;AAEO,SAAS,2BAA2B;AACzC,SAAOA,2BAAW;AAAA,IAChB,KAAK;AAAA,IACL,QAAQ;AAAA,IACR,aAAa;AAAA,EACjB,CAAG;AACH;AAEO,SAAS,iBAAiB,QAAQ;AACvC,SAAOA,2BAAW;AAAA,IAChB,KAAK,6BAA6B,MAAM;AAAA,IACxC,QAAQ;AAAA,IACR,aAAa;AAAA,EACjB,CAAG;AACH;AAGO,SAAS,YAAY,QAAQ;AAClC,SAAOA,2BAAW;AAAA,IAChB,KAAK;AAAA,IACL,QAAQ;AAAA,IACR,MAAM;AAAA,EACV,CAAG;AACH;AAEO,SAAS,kBAAkB,QAAQ;AACxC,SAAOA,2BAAW;AAAA,IAChB,KAAK;AAAA,IACL,QAAQ;AAAA,IACR,MAAM;AAAA,EACV,CAAG;AACH;AAEO,SAAS,kBAAkB,QAAQ;AACxC,SAAOA,2BAAW;AAAA,IAChB,KAAK;AAAA,IACL,QAAQ;AAAA,IACR,MAAM;AAAA,EACV,CAAG;AACH;AAEO,SAAS,uBAAuB,SAAS;AAC9C,SAAOA,2BAAW;AAAA,IAChB,KAAK,iDAAiD,OAAO;AAAA,IAC7D,QAAQ;AAAA,EACZ,CAAG;AACH;AAGO,SAAS,wBAAwB,QAAQ;AAC9C,SAAOA,2BAAW;AAAA,IAChB,KAAK;AAAA,IACL,QAAQ;AAAA,IACR,MAAM;AAAA,EACV,CAAG;AACH;AAGO,SAAS,MAAM,QAAQ;AAC5B,SAAOA,2BAAW;AAAA,IAChB,KAAK;AAAA,IACL,QAAQ;AAAA,IACR,MAAM;AAAA,IACN,QAAQ;AAAA;AAAA,EACZ,CAAG;AACH;AAEO,SAAS,kBAAkB,QAAQ;AACxC,SAAOA,2BAAW;AAAA,IAChB,KAAK;AAAA,IACL,QAAQ;AAAA,IACR,MAAM;AAAA,EACV,CAAG;AACH;AAEO,SAAS,cAAc,QAAQ;AACpC,SAAOA,2BAAW;AAAA,IAChB,KAAK;AAAA,IACL,QAAQ;AAAA,IACR,MAAM;AAAA,EACV,CAAG;AACH;AAoBO,SAAS,oBAAoB;AAClC,SAAOA,2BAAW;AAAA,IAChB,KAAK;AAAA,IACL,QAAQ;AAAA,EACZ,CAAG;AACH;AAKO,SAAS,oBAAoB;AAClC,SAAOA,2BAAW;AAAA,IAChB,KAAK;AAAA,IACL,QAAQ;AAAA,EACZ,CAAG;AACH;AAGO,SAAS,cAAc,QAAQ;AACpC,SAAOA,2BAAW;AAAA,IAChB,KAAK;AAAA,IACL,QAAQ;AAAA,IACR,MAAM;AAAA,EACV,CAAG;AACH;AAGO,SAAS,iBAAiB,QAAQ;AACvC,SAAOA,2BAAW;AAAA,IAChB,KAAK;AAAA,IACL,QAAQ;AAAA,IACR,MAAM;AAAA,EACV,CAAG;AACH;AAIO,SAAS,YAAY,QAAQ;AAClC,SAAOA,2BAAW;AAAA,IAChB,KAAK;AAAA,IACL,QAAQ;AAAA,EACZ,CAAG;AACH;AAGO,SAAS,kBAAkB,QAAQ;AACxC,SAAOA,2BAAW;AAAA,IAChB,KAAK;AAAA,IACL,QAAQ;AAAA,IACR,MAAM;AAAA,EACV,CAAG;AACH;AAGO,SAAS,cAAc,QAAQ;AACpC,SAAOA,2BAAW;AAAA,IAChB,KAAK;AAAA,IACL,QAAQ;AAAA,IACR,MAAM;AAAA,EACV,CAAG;AACH;AAGO,SAAS,iBAAiB,IAAI;AACnC,SAAOA,2BAAW;AAAA,IAChB,KAAK,qCAAqC,EAAE;AAAA,IAC5C,QAAQ;AAAA,EACZ,CAAG;AACH;AAGO,SAAS,iBAAiB,QAAQ;AACvC,SAAOA,2BAAW;AAAA,IAChB,KAAK;AAAA,IACL,QAAQ;AAAA,IACR,MAAM;AAAA,EACV,CAAG;AACH;AAGO,SAAS,iBAAiB,QAAQ;AACvC,SAAOA,2BAAW;AAAA,IAChB,KAAK;AAAA,IACL,QAAQ;AAAA,IACR,MAAM;AAAA,EACV,CAAG;AACH;AAGO,SAAS,uBAAuB,QAAQ;AAC7C,SAAOA,2BAAW;AAAA,IAChB,KAAK;AAAA,IACL,QAAQ;AAAA,IACR,MAAM;AAAA,EACV,CAAG;AACH;AAGO,SAAS,aAAa,QAAQ;AACnC,SAAOA,2BAAW;AAAA,IAChB,KAAK;AAAA,IACL,QAAQ;AAAA,IACR,MAAM;AAAA,EACV,CAAG;AACH;AAGO,SAAS,iBAAiB;AAC/B,SAAOA,2BAAW;AAAA,IAChB,KAAK;AAAA,IACL,QAAQ;AAAA,EACZ,CAAG;AACH;AAGO,SAAS,yBAAyB,QAAQ;AAC/C,SAAOA,2BAAW;AAAA,IAChB,KAAK;AAAA,IACL,QAAQ;AAAA,IACR,MAAM;AAAA,EACV,CAAG;AACH;AAGO,SAAS,mBAAmB,QAAQ;AACzC,SAAOA,2BAAW;AAAA,IAChB,KAAK;AAAA,IACL,QAAQ;AAAA,IACR,MAAM;AAAA,IACN,aAAa;AAAA,EACjB,CAAG;AACH;AAGO,SAAS,oBAAoB,QAAQ;AAC1C,SAAOA,2BAAW;AAAA,IAChB,KAAK;AAAA,IACL,QAAQ;AAAA,IACR,MAAM;AAAA,IACN,aAAa;AAAA,EACjB,CAAG;AACH;AAGO,SAAS,wBAAwB,QAAQ;AAC9C,SAAOA,2BAAW;AAAA,IAChB,KAAK;AAAA,IACL,QAAQ;AAAA,IACR,MAAM;AAAA,IACN,aAAa;AAAA,EACjB,CAAG;AACH;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"} \ No newline at end of file diff --git a/unpackage/dist/dev/.sourcemap/mp-weixin/request/request.js.map b/unpackage/dist/dev/.sourcemap/mp-weixin/request/request.js.map index 0eca3fe..8e7f3f4 100644 --- a/unpackage/dist/dev/.sourcemap/mp-weixin/request/request.js.map +++ b/unpackage/dist/dev/.sourcemap/mp-weixin/request/request.js.map @@ -1 +1 @@ -{"version":3,"file":"request.js","sources":["request/request.js"],"sourcesContent":["import Request from './luch-request/index.js';\r\n// 基础的url\r\n\r\n\r\n// const baseUrl = 'https://yingji.hexieapi.com/prod-api';\r\n const baseUrl = 'http://192.168.1.168:5004'; //廖哥本地\r\n // const baseUrl = 'http://192.168.1.140:5004'; //超哥本地\r\n\r\n// 图片/文件资源域名:去掉 /prod-api,便于 / previewImage / downloadFile 直接访问\r\nconst imageBaseUrl = baseUrl.replace(/\\/prod-api\\/?$/, '');\r\n\r\nconst http = new Request({ \r\n\tbaseURL: baseUrl,\r\n\ttimeout: 10000\r\n})\r\n\r\n// 动态获取 token(从登录接口存储的)\r\nconst getToken = () => {\r\n\tconst token = uni.getStorageSync('token');\r\n\treturn token ? `Bearer ${token}` : '';\r\n};\r\n// 请求之前查看是否为空\r\nconst isEmptyObject = (obj) => {\r\n return Object.keys(obj).length === 0;\r\n};\r\n\r\n// 将对象转换为查询字符串\r\nconst objectToQueryString = (obj) => {\r\n const keyValuePairs = [];\r\n for (let key in obj) {\r\n if (obj.hasOwnProperty(key)) {\r\n keyValuePairs.push(encodeURIComponent(key) + '=' + encodeURIComponent(obj[key]));\r\n }\r\n }\r\n return keyValuePairs.join('&');\r\n};\r\n\r\n// 提示(延迟显示,避免和 hideLoading 冲突)\r\nfunction showToast(title) {\r\n setTimeout(() => {\r\n uni.showToast({\r\n title,\r\n icon: 'none',\r\n duration: 2000,\r\n });\r\n }, 100);\r\n}\r\n\r\n// 请求\r\nconst requestAPI = (config) => {\r\n // 支持对象参数或传统参数\r\n let { url, method = 'GET', data = {}, noAuth = false, loadingText } = typeof config === 'object' && config.url ? config : { url: config, method: arguments[1] || 'GET', data: arguments[2] || {} };\r\n \r\n if (method == 'GET' && !isEmptyObject(data)) {\r\n url += '?' + objectToQueryString(data);\r\n }\r\n // 显示加载状态(loadingText 为 false 时不显示)\r\n if (loadingText !== false) {\r\n uni.showLoading({\r\n title: loadingText || '加载中...'\r\n });\r\n }\r\n \r\n // 构建 header,登录等接口不需要 Authorization\r\n const header = {\r\n 'Content-Type': 'application/json'\r\n };\r\n if (!noAuth) {\r\n const token = getToken();\r\n if (token) {\r\n header['Authorization'] = token;\r\n }\r\n }\r\n \r\n return new Promise((resolve, reject) => {\r\n uni.request({\r\n url: baseUrl + url,\r\n method,\r\n data,\r\n header,\r\n success: (res) => {\r\n uni.hideLoading();\r\n\r\n // 检查HTTP状态码\r\n if (res.statusCode !== 200) {\r\n console.error('HTTP错误:', res.statusCode);\r\n // showToast(`请求失败 ${res.statusCode}`);\r\n reject(`HTTP_${res.statusCode}`);\r\n return;\r\n }\r\n\r\n // 检查业务状态码(如果后端有的话)\r\n if (res.data && res.data.code !== undefined) {\r\n // 支持 code === 200 或 code === 0 作为成功状态\r\n if (res.data.code === 200 || res.data.code === 0 || res.code === 0) {\r\n resolve(res.data);\r\n } else if (res.data.code === 401) {\r\n // token过期处理\r\n uni.removeStorageSync('token');\r\n uni.removeStorageSync('userInfo');\r\n showToast('登录已过期,请重新登录');\r\n setTimeout(() => {\r\n uni.reLaunch({\r\n url: '/pages/login/login'\r\n });\r\n }, 1500);\r\n reject({ code: 401, msg: '登录已过期' });\r\n } else {\r\n // 支持多种错误信息字段:msg、message、error\r\n const errorMsg = res.data.msg || res.data.message || res.data.error || res.msg || '请求失败';\r\n console.error('接口错误:', res.data); // 打印完整错误信息便于调试\r\n showToast(errorMsg);\r\n // reject 时传递完整错误信息,方便页面获取\r\n reject({ code: res.data.code, msg: errorMsg, data: res.data });\r\n }\r\n } else {\r\n // 没有业务状态码,直接返回数据\r\n resolve(res.data);\r\n }\r\n },\r\n fail: (err) => {\r\n console.error('网络请求失败:', err);\r\n uni.hideLoading();\r\n // 区分不同的错误类型\r\n if (err.errMsg && err.errMsg.includes('request:fail')) {\r\n showToast('网络连接失败,请检查网络设置');\r\n } else if (err.errMsg && err.errMsg.includes('timeout')) {\r\n showToast('请求超时,请稍后重试');\r\n } else {\r\n showToast('网络异常,请稍后重试');\r\n }\r\n reject(err);\r\n }\r\n });\r\n });\r\n};\r\n\r\n// 文件末尾应该导出\r\nexport { requestAPI, baseUrl, getToken };\r\n\r\n// 把附件 filePath 转成可用于图片预览/下载的 url\r\n// filePath 可能是:\r\n// 1) 绝对 http(s) 链接\r\n// 2) 相对路径(以 / 开头)\r\n// 3) 可能带 /prod-api 的拼接结果(兼容处理)\r\nexport const toImageUrl = (filePath) => {\r\n\tif (!filePath) return '';\r\n\r\n\tconst p = String(filePath);\r\n\tif (p.startsWith('http://') || p.startsWith('https://')) {\r\n\t\t// 兼容:如果后端返回的是带 /prod-api 的资源地址,直接去掉\r\n\t\treturn p.replace(/\\/prod-api(?=\\/|$)/, '');\r\n\t}\r\n\r\n\t// 相对路径:统一拼到 imageBaseUrl 上\r\n\tconst normalized = p.startsWith('/') ? p : `/${p}`;\r\n\treturn imageBaseUrl + normalized;\r\n};\r\n\r\n// 提交附件时使用:统一转为后端需要的相对路径(如 /profile/upload/xxx.jpg)\r\nexport const toRelativeFilePath = (filePath) => {\r\n\tif (!filePath) return '';\r\n\r\n\tlet p = String(filePath);\r\n\tif (p.startsWith('http://') || p.startsWith('https://')) {\r\n\t\tp = p.replace(/^https?:\\/\\/[^/]+/, '');\r\n\t}\r\n\tp = p.replace(/^\\/prod-api(?=\\/|$)/, '');\r\n\tif (!p.startsWith('/')) {\r\n\t\tp = `/${p}`;\r\n\t}\r\n\treturn p;\r\n};\r\n\r\nexport { imageBaseUrl };"],"names":["Request","uni"],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"request.js","sources":["request/request.js"],"sourcesContent":["import Request from './luch-request/index.js';\r\n// 基础的url\r\n\r\n\r\nconst baseUrl = 'https://yingji.hexieapi.com/prod-api';\r\n // const baseUrl = 'http://192.168.1.168:5004'; //廖哥本地\r\n // const baseUrl = 'http://192.168.1.140:5004'; //超哥本地 \r\n// const baseUrl = 'http://192.168.1.158:7003'; //测试环境\r\n\r\n\r\n// 图片/文件资源域名:去掉 /prod-api,便于 / previewImage / downloadFile 直接访问\r\nconst imageBaseUrl = baseUrl.replace(/\\/prod-api\\/?$/, '');\r\n\r\nconst http = new Request({ \r\n\tbaseURL: baseUrl,\r\n\ttimeout: 10000\r\n})\r\n\r\n// 动态获取 token(从登录接口存储的)\r\nconst getToken = () => {\r\n\tconst token = uni.getStorageSync('token');\r\n\treturn token ? `Bearer ${token}` : '';\r\n};\r\n// 请求之前查看是否为空\r\nconst isEmptyObject = (obj) => {\r\n return Object.keys(obj).length === 0;\r\n};\r\n\r\n// 将对象转换为查询字符串\r\nconst objectToQueryString = (obj) => {\r\n const keyValuePairs = [];\r\n for (let key in obj) {\r\n if (obj.hasOwnProperty(key)) {\r\n keyValuePairs.push(encodeURIComponent(key) + '=' + encodeURIComponent(obj[key]));\r\n }\r\n }\r\n return keyValuePairs.join('&');\r\n};\r\n\r\n// 提示(延迟显示,避免和 hideLoading 冲突)\r\nfunction showToast(title) {\r\n setTimeout(() => {\r\n uni.showToast({\r\n title,\r\n icon: 'none',\r\n duration: 2000,\r\n });\r\n }, 100);\r\n}\r\n\r\n// 请求\r\nconst requestAPI = (config) => {\r\n // 支持对象参数或传统参数\r\n let { url, method = 'GET', data = {}, noAuth = false, loadingText } = typeof config === 'object' && config.url ? config : { url: config, method: arguments[1] || 'GET', data: arguments[2] || {} };\r\n \r\n if (method == 'GET' && !isEmptyObject(data)) {\r\n url += '?' + objectToQueryString(data);\r\n }\r\n // 显示加载状态(loadingText 为 false 时不显示)\r\n if (loadingText !== false) {\r\n uni.showLoading({\r\n title: loadingText || '加载中...'\r\n });\r\n }\r\n \r\n // 构建 header,登录等接口不需要 Authorization\r\n const header = {\r\n 'Content-Type': 'application/json'\r\n };\r\n if (!noAuth) {\r\n const token = getToken();\r\n if (token) {\r\n header['Authorization'] = token;\r\n }\r\n }\r\n \r\n return new Promise((resolve, reject) => {\r\n uni.request({\r\n url: baseUrl + url,\r\n method,\r\n data,\r\n header,\r\n success: (res) => {\r\n uni.hideLoading();\r\n\r\n // 检查HTTP状态码\r\n if (res.statusCode !== 200) {\r\n console.error('HTTP错误:', res.statusCode);\r\n // showToast(`请求失败 ${res.statusCode}`);\r\n reject(`HTTP_${res.statusCode}`);\r\n return;\r\n }\r\n\r\n // 检查业务状态码(如果后端有的话)\r\n if (res.data && res.data.code !== undefined) {\r\n // 支持 code === 200 或 code === 0 作为成功状态\r\n if (res.data.code === 200 || res.data.code === 0 || res.code === 0) {\r\n resolve(res.data);\r\n } else if (res.data.code === 401) {\r\n // token过期处理\r\n uni.removeStorageSync('token');\r\n uni.removeStorageSync('userInfo');\r\n showToast('登录已过期,请重新登录');\r\n setTimeout(() => {\r\n uni.reLaunch({\r\n url: '/pages/login/login'\r\n });\r\n }, 1500);\r\n reject({ code: 401, msg: '登录已过期' });\r\n } else {\r\n // 支持多种错误信息字段:msg、message、error\r\n const errorMsg = res.data.msg || res.data.message || res.data.error || res.msg || '请求失败';\r\n console.error('接口错误:', res.data); // 打印完整错误信息便于调试\r\n showToast(errorMsg);\r\n // reject 时传递完整错误信息,方便页面获取\r\n reject({ code: res.data.code, msg: errorMsg, data: res.data });\r\n }\r\n } else {\r\n // 没有业务状态码,直接返回数据\r\n resolve(res.data);\r\n }\r\n },\r\n fail: (err) => {\r\n console.error('网络请求失败:', err);\r\n uni.hideLoading();\r\n // 区分不同的错误类型\r\n if (err.errMsg && err.errMsg.includes('request:fail')) {\r\n showToast('网络连接失败,请检查网络设置');\r\n } else if (err.errMsg && err.errMsg.includes('timeout')) {\r\n showToast('请求超时,请稍后重试');\r\n } else {\r\n showToast('网络异常,请稍后重试');\r\n }\r\n reject(err);\r\n }\r\n });\r\n });\r\n};\r\n\r\n// 文件末尾应该导出\r\nexport { requestAPI, baseUrl, getToken };\r\n\r\n// 把附件 filePath 转成可用于图片预览/下载的 url\r\n// filePath 可能是:\r\n// 1) 绝对 http(s) 链接\r\n// 2) 相对路径(以 / 开头)\r\n// 3) 可能带 /prod-api 的拼接结果(兼容处理)\r\nexport const toImageUrl = (filePath) => {\r\n\tif (!filePath) return '';\r\n\r\n\tconst p = String(filePath);\r\n\tif (p.startsWith('http://') || p.startsWith('https://')) {\r\n\t\t// 兼容:如果后端返回的是带 /prod-api 的资源地址,直接去掉\r\n\t\treturn p.replace(/\\/prod-api(?=\\/|$)/, '');\r\n\t}\r\n\r\n\t// 相对路径:统一拼到 imageBaseUrl 上\r\n\tconst normalized = p.startsWith('/') ? p : `/${p}`;\r\n\treturn imageBaseUrl + normalized;\r\n};\r\n\r\n// 提交附件时使用:统一转为后端需要的相对路径(如 /profile/upload/xxx.jpg)\r\nexport const toRelativeFilePath = (filePath) => {\r\n\tif (!filePath) return '';\r\n\r\n\tlet p = String(filePath);\r\n\tif (p.startsWith('http://') || p.startsWith('https://')) {\r\n\t\tp = p.replace(/^https?:\\/\\/[^/]+/, '');\r\n\t}\r\n\tp = p.replace(/^\\/prod-api(?=\\/|$)/, '');\r\n\tif (!p.startsWith('/')) {\r\n\t\tp = `/${p}`;\r\n\t}\r\n\treturn p;\r\n};\r\n\r\nexport { imageBaseUrl };"],"names":["Request","uni"],"mappings":"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"} \ No newline at end of file diff --git a/unpackage/dist/dev/.sourcemap/mp-weixin/uni_modules/uview-plus/components/u-checkbox-group/props.js.map b/unpackage/dist/dev/.sourcemap/mp-weixin/uni_modules/uview-plus/components/u-checkbox-group/props.js.map deleted file mode 100644 index 20eb37a..0000000 --- a/unpackage/dist/dev/.sourcemap/mp-weixin/uni_modules/uview-plus/components/u-checkbox-group/props.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"props.js","sources":["uni_modules/uview-plus/components/u-checkbox-group/props.js"],"sourcesContent":["import { defineMixin } from '../../libs/vue'\r\nimport defProps from '../../libs/config/props.js'\r\n\r\nexport const props = defineMixin({\r\n props: {\r\n // 标识符\r\n name: {\r\n type: String,\r\n default: () => defProps.checkboxGroup.name\r\n },\r\n\t\t// #ifdef VUE3\r\n\t\t// 绑定的值\r\n\t\tmodelValue: {\r\n\t\t type: Array,\r\n\t\t default: () => defProps.checkboxGroup.value\r\n\t\t},\r\n\t\t// #endif\r\n\t\t// #ifdef VUE2\r\n\t\t// 绑定的值\r\n\t\tvalue: {\r\n\t\t type: Array,\r\n\t\t default: () => defProps.checkboxGroup.value\r\n\t\t},\r\n\t\t// #endif\r\n // 形状,circle-圆形,square-方形\r\n shape: {\r\n type: String,\r\n default: () => defProps.checkboxGroup.shape\r\n },\r\n // 是否禁用全部checkbox\r\n disabled: {\r\n type: Boolean,\r\n default: () => defProps.checkboxGroup.disabled\r\n },\r\n\r\n // 选中状态下的颜色,如设置此值,将会覆盖parent的activeColor值\r\n activeColor: {\r\n type: String,\r\n default: () => defProps.checkboxGroup.activeColor\r\n },\r\n // 未选中的颜色\r\n inactiveColor: {\r\n type: String,\r\n default: () => defProps.checkboxGroup.inactiveColor\r\n },\r\n\r\n // 整个组件的尺寸,默认px\r\n size: {\r\n type: [String, Number],\r\n default: () => defProps.checkboxGroup.size\r\n },\r\n // 布局方式,row-横向,column-纵向\r\n placement: {\r\n type: String,\r\n default: () => defProps.checkboxGroup.placement\r\n },\r\n // label的字体大小,px单位\r\n labelSize: {\r\n type: [String, Number],\r\n default: () => defProps.checkboxGroup.labelSize\r\n },\r\n // label的字体颜色\r\n labelColor: {\r\n type: [String],\r\n default: () => defProps.checkboxGroup.labelColor\r\n },\r\n // 是否禁止点击文本操作\r\n labelDisabled: {\r\n type: Boolean,\r\n default: () => defProps.checkboxGroup.labelDisabled\r\n },\r\n // 图标颜色\r\n iconColor: {\r\n type: String,\r\n default: () => defProps.checkboxGroup.iconColor\r\n },\r\n // 图标的大小,单位px\r\n iconSize: {\r\n type: [String, Number],\r\n default: () => defProps.checkboxGroup.iconSize\r\n },\r\n // 勾选图标的对齐方式,left-左边,right-右边\r\n iconPlacement: {\r\n type: String,\r\n default: () => defProps.checkboxGroup.iconPlacement\r\n },\r\n // 竖向配列时,是否显示下划线\r\n borderBottom: {\r\n type: Boolean,\r\n default: () => defProps.checkboxGroup.borderBottom\r\n }\r\n }\r\n})\r\n"],"names":["defineMixin","defProps"],"mappings":";;;AAGY,MAAC,QAAQA,+BAAAA,YAAY;AAAA,EAC7B,OAAO;AAAA;AAAA,IAEH,MAAM;AAAA,MACF,MAAM;AAAA,MACN,SAAS,MAAMC,8CAAS,cAAc;AAAA,IACzC;AAAA;AAAA,IAGP,YAAY;AAAA,MACR,MAAM;AAAA,MACN,SAAS,MAAMA,8CAAS,cAAc;AAAA,IACzC;AAAA;AAAA,IAUK,OAAO;AAAA,MACH,MAAM;AAAA,MACN,SAAS,MAAMA,8CAAS,cAAc;AAAA,IACzC;AAAA;AAAA,IAED,UAAU;AAAA,MACN,MAAM;AAAA,MACN,SAAS,MAAMA,8CAAS,cAAc;AAAA,IACzC;AAAA;AAAA,IAGD,aAAa;AAAA,MACT,MAAM;AAAA,MACN,SAAS,MAAMA,8CAAS,cAAc;AAAA,IACzC;AAAA;AAAA,IAED,eAAe;AAAA,MACX,MAAM;AAAA,MACN,SAAS,MAAMA,8CAAS,cAAc;AAAA,IACzC;AAAA;AAAA,IAGD,MAAM;AAAA,MACF,MAAM,CAAC,QAAQ,MAAM;AAAA,MACrB,SAAS,MAAMA,8CAAS,cAAc;AAAA,IACzC;AAAA;AAAA,IAED,WAAW;AAAA,MACP,MAAM;AAAA,MACN,SAAS,MAAMA,8CAAS,cAAc;AAAA,IACzC;AAAA;AAAA,IAED,WAAW;AAAA,MACP,MAAM,CAAC,QAAQ,MAAM;AAAA,MACrB,SAAS,MAAMA,8CAAS,cAAc;AAAA,IACzC;AAAA;AAAA,IAED,YAAY;AAAA,MACR,MAAM,CAAC,MAAM;AAAA,MACb,SAAS,MAAMA,8CAAS,cAAc;AAAA,IACzC;AAAA;AAAA,IAED,eAAe;AAAA,MACX,MAAM;AAAA,MACN,SAAS,MAAMA,8CAAS,cAAc;AAAA,IACzC;AAAA;AAAA,IAED,WAAW;AAAA,MACP,MAAM;AAAA,MACN,SAAS,MAAMA,8CAAS,cAAc;AAAA,IACzC;AAAA;AAAA,IAED,UAAU;AAAA,MACN,MAAM,CAAC,QAAQ,MAAM;AAAA,MACrB,SAAS,MAAMA,8CAAS,cAAc;AAAA,IACzC;AAAA;AAAA,IAED,eAAe;AAAA,MACX,MAAM;AAAA,MACN,SAAS,MAAMA,8CAAS,cAAc;AAAA,IACzC;AAAA;AAAA,IAED,cAAc;AAAA,MACV,MAAM;AAAA,MACN,SAAS,MAAMA,8CAAS,cAAc;AAAA,IACzC;AAAA,EACJ;AACL,CAAC;;"} \ No newline at end of file diff --git a/unpackage/dist/dev/.sourcemap/mp-weixin/uni_modules/uview-plus/components/u-checkbox-group/u-checkbox-group.js.map b/unpackage/dist/dev/.sourcemap/mp-weixin/uni_modules/uview-plus/components/u-checkbox-group/u-checkbox-group.js.map deleted file mode 100644 index 61d3db9..0000000 --- a/unpackage/dist/dev/.sourcemap/mp-weixin/uni_modules/uview-plus/components/u-checkbox-group/u-checkbox-group.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"u-checkbox-group.js","sources":["uni_modules/uview-plus/components/u-checkbox-group/u-checkbox-group.vue","F:/software/HBuilderX/HBuilderX/plugins/uniapp-cli-vite/uniComponent:/RTovaGV4aWV5dW4vVGhyZWVDaGVja3NPbmVFeHBvc3VyZV9wbGF0Zm9ybS8xMi4wN2Nob25ncWl4aW5kZS_kuInmn6XkuIDmm53lhYnlsI_nqIvluo8vdGhyZWVvbmVjaGVja1_lsI_nqIvluo8vdW5pX21vZHVsZXMvdXZpZXctcGx1cy9jb21wb25lbnRzL3UtY2hlY2tib3gtZ3JvdXAvdS1jaGVja2JveC1ncm91cC52dWU"],"sourcesContent":["\r\n\r\n\r\n\r\n\r\n","import Component from 'E:/hexieyun/ThreeChecksOneExposure_platform/12.07chongqixinde/三查一曝光小程序/threeonecheck_小程序/uni_modules/uview-plus/components/u-checkbox-group/u-checkbox-group.vue'\nwx.createComponent(Component)"],"names":["mpMixin","mixin","props"],"mappings":";;;;;AAoCC,MAAK,YAAU;AAAA,EACd,MAAM;AAAA,EACN,QAAQ,CAACA,yCAAAA,SAASC,uCAAK,OAACC,2DAAK;AAAA,EAC7B,UAAU;AAAA;AAAA;AAAA;AAAA,IAIT,aAAa;AACX,aAAO;AAAA,QAKR,KAAK;AAAA,QAEL,KAAK;AAAA,QACL,KAAK;AAAA,QACL,KAAK;AAAA,QACL,KAAK;AAAA,QACL,KAAK;AAAA,QACL,KAAK;AAAA,QACL,KAAK;AAAA,QACL,KAAK;AAAA,QACL,KAAK;AAAA;IAEL;AAAA,IACD,WAAW;AAEV,aAAO,KAAK,IAAI,kBAAkB,CAAC,WAAW,CAAC;AAAA,IAC/C;AAAA,EACD;AAAA,EACD,OAAO;AAAA;AAAA,IAEN,YAAY;AAAA,MACV,UAAU;AACX,YAAI,KAAK,SAAS,QAAQ;AACxB,eAAK,SAAS,IAAI,CAAC,UAAU;AAE9B,mBAAO,MAAM,SAAS,cAAc,MAAM,KAAI;AAAA,UAC7C,CAAC;AAAA,QACH;AAAA,MACE;AAAA,MACD,MAAM;AAAA,IACP;AAAA,EACD;AAAA,EACD,OAAO;AACN,WAAO,CAEP;AAAA,EACA;AAAA,EACD,UAAU;AACT,SAAK,WAAW,CAAC;AAAA,EACjB;AAAA,EAED,OAAO,CAAC,qBAAqB,QAAQ;AAAA,EAErC,SAAS;AAAA;AAAA,IAER,eAAe,eAAe;AAC7B,YAAM,SAAS,CAAC;AAChB,WAAK,SAAS,IAAI,WAAS;AAE1B,YAAI,MAAM,WAAW;AACpB,iBAAO,KAAK,MAAM,IAAI;AAAA,QACvB;AAAA,OACA;AAID,WAAK,MAAM,qBAAqB,MAAM;AAMtC,WAAK,MAAM,UAAU,MAAM;AAAA,IAC3B;AAAA,EACF;AACD;;;;;;;;ACjHD,GAAG,gBAAgB,SAAS;"} \ No newline at end of file diff --git a/unpackage/dist/dev/.sourcemap/mp-weixin/uni_modules/uview-plus/components/u-choose/u-choose.js.map b/unpackage/dist/dev/.sourcemap/mp-weixin/uni_modules/uview-plus/components/u-choose/u-choose.js.map deleted file mode 100644 index e50f742..0000000 --- a/unpackage/dist/dev/.sourcemap/mp-weixin/uni_modules/uview-plus/components/u-choose/u-choose.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"u-choose.js","sources":["uni_modules/uview-plus/components/u-choose/u-choose.vue","F:/software/HBuilderX/HBuilderX/plugins/uniapp-cli-vite/uniComponent:/RTovaGV4aWV5dW4vVGhyZWVDaGVja3NPbmVFeHBvc3VyZV9wbGF0Zm9ybS8xMi4wN2Nob25ncWl4aW5kZS_kuInmn6XkuIDmm53lhYnlsI_nqIvluo8vdGhyZWVvbmVjaGVja1_lsI_nqIvluo8vdW5pX21vZHVsZXMvdXZpZXctcGx1cy9jb21wb25lbnRzL3UtY2hvb3NlL3UtY2hvb3NlLnZ1ZQ"],"sourcesContent":["\r\n\r\n\r\n\r\n","import Component from 'E:/hexieyun/ThreeChecksOneExposure_platform/12.07chongqixinde/三查一曝光小程序/threeonecheck_小程序/uni_modules/uview-plus/components/u-choose/u-choose.vue'\nwx.createComponent(Component)"],"names":[],"mappings":";;AAyCC,MAAK,YAAU;AAAA,EACX,MAAM;AAAA,EACN,OAAO;AAAA,IACT,SAAQ;AAAA,MACP,MAAM;AAAA,MACN,SAAS,MAAI;AACZ,eAAO;MACR;AAAA,IACA;AAAA,IACD,YAAY;AAAA,MACX,MAAM,CAAC,QAAO,QAAO,KAAK;AAAA,MAC1B,SAAS;AAAA,IACT;AAAA,IACD,MAAM;AAAA,MACF,MAAM,CAAC,MAAM;AAAA,MACb,SAAS;AAAA,IACZ;AAAA,IACD,WAAW;AAAA,MACP,MAAM,CAAC,MAAM;AAAA,MACb,SAAS;AAAA,IACZ;AAAA,IACD,YAAY;AAAA,MACR,MAAM,CAAC,MAAM;AAAA,MACb,SAAS;AAAA,IACZ;AAAA,IACQ,aAAa;AAAA,MACT,MAAM,CAAC,MAAM;AAAA,MACtB,SAAS;AAAA,IACH;AAAA,IACV,WAAW;AAAA,MACP,MAAM;AAAA,MACN,SAAS;AAAA,IACZ;AAAA,IACD,WAAW;AAAA,MACP,MAAM;AAAA,MACN,SAAS;AAAA,IACZ;AAAA,IACD,aAAa;AAAA,MACT,MAAM;AAAA,MACN,SAAS;AAAA,IACZ;AAAA;AAAA,IAED,MAAM;AAAA,MACL,MAAM;AAAA,MACN,SAAS;AAAA,IACV;AAAA,EACG;AAAA,EACD,OAAO;AACH,WAAO;AAAA,MACZ,cAAc;AAAA,IACT;AAAA,EACH;AAAA,EACD,SAAS,WAAY;AACvB,SAAK,eAAe,KAAK;AAAA,EACtB;AAAA,EACE,OAAO,CAAC,qBAAqB,cAAc;AAAA,EAC9C,SAAS;AAAA,IACL,OAAO,OAAM;AAClB,UAAI,KAAK,aAAa;AACrB,aAAK,MAAM,gBAAgB,KAAK;AAAA,aAC1B;AACN,aAAK,eAAe;AACpB,aAAK,MAAM,qBAAqB,KAAK;AAAA,MACtC;AAAA,IACD;AAAA,EACE;AACJ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AC1GD,GAAG,gBAAgB,SAAS;"} \ No newline at end of file diff --git a/unpackage/dist/dev/.sourcemap/mp-weixin/uni_modules/uview-plus/components/u-tag/props.js.map b/unpackage/dist/dev/.sourcemap/mp-weixin/uni_modules/uview-plus/components/u-tag/props.js.map deleted file mode 100644 index 4ee3592..0000000 --- a/unpackage/dist/dev/.sourcemap/mp-weixin/uni_modules/uview-plus/components/u-tag/props.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"props.js","sources":["uni_modules/uview-plus/components/u-tag/props.js"],"sourcesContent":["import { defineMixin } from '../../libs/vue'\r\nimport defProps from '../../libs/config/props.js'\r\nexport const props = defineMixin({\r\n props: {\r\n // 标签类型info、primary、success、warning、error\r\n type: {\r\n type: String,\r\n default: () => defProps.tag.type\r\n },\r\n // 不可用\r\n disabled: {\r\n type: [Boolean, String],\r\n default: () => defProps.tag.disabled\r\n },\r\n // 标签的大小,large,medium,mini\r\n size: {\r\n type: String,\r\n default: () => defProps.tag.size\r\n },\r\n // tag的形状,circle(两边半圆形), square(方形,带圆角)\r\n shape: {\r\n type: String,\r\n default: () => defProps.tag.shape\r\n },\r\n // 标签文字\r\n text: {\r\n type: [String, Number],\r\n default: () => defProps.tag.text\r\n },\r\n // 背景颜色,默认为空字符串,即不处理\r\n bgColor: {\r\n type: String,\r\n default: () => defProps.tag.bgColor\r\n },\r\n // 标签字体颜色,默认为空字符串,即不处理\r\n color: {\r\n type: String,\r\n default: () => defProps.tag.color\r\n },\r\n // 标签的边框颜色\r\n borderColor: {\r\n type: String,\r\n default: () => defProps.tag.borderColor\r\n },\r\n // 关闭按钮图标的颜色\r\n closeColor: {\r\n type: String,\r\n default: () => defProps.tag.closeColor\r\n },\r\n // 点击时返回的索引值,用于区分例遍的数组哪个元素被点击了\r\n name: {\r\n type: [String, Number],\r\n default: () => defProps.tag.name\r\n },\r\n // // 模式选择,dark|light|plain\r\n // mode: {\r\n // \ttype: String,\r\n // \tdefault: 'light'\r\n // },\r\n // 镂空时是否填充背景色\r\n plainFill: {\r\n type: Boolean,\r\n default: () => defProps.tag.plainFill\r\n },\r\n // 是否镂空\r\n plain: {\r\n type: Boolean,\r\n default: () => defProps.tag.plain\r\n },\r\n // 是否可关闭\r\n closable: {\r\n type: Boolean,\r\n default: () => defProps.tag.closable\r\n },\r\n // 是否显示\r\n show: {\r\n type: Boolean,\r\n default: () => defProps.tag.show\r\n },\r\n // 内置图标,或绝对路径的图片\r\n icon: {\r\n type: String,\r\n default: () => defProps.tag.icon,\r\n\t\t},\r\n // 图标颜色\r\n iconColor: {\r\n type: String,\r\n default: () => defProps.tag.iconColor,\r\n\t\t},\r\n // 自定义尺寸字体大小\r\n\t\ttextSize: {\r\n type: String,\r\n default: () => defProps.tag.textSize\r\n },\r\n // 自定义尺寸高度\r\n height: {\r\n type: String,\r\n default: () => defProps.tag.height\r\n },\r\n // 自定义尺寸padding\r\n padding: {\r\n type: String,\r\n default: () => defProps.tag.padding\r\n },\r\n // 自定义尺寸\r\n borderRadius: {\r\n type: String,\r\n default: () => defProps.tag.borderRadius\r\n },\r\n // 自动计算背景色\r\n autoBgColor: {\r\n type: Number,\r\n default: () => defProps.tag.autoBgColor\r\n },\r\n }\r\n})\r\n"],"names":["defineMixin","defProps"],"mappings":";;;AAEY,MAAC,QAAQA,+BAAAA,YAAY;AAAA,EAC7B,OAAO;AAAA;AAAA,IAEH,MAAM;AAAA,MACF,MAAM;AAAA,MACN,SAAS,MAAMC,8CAAS,IAAI;AAAA,IAC/B;AAAA;AAAA,IAED,UAAU;AAAA,MACN,MAAM,CAAC,SAAS,MAAM;AAAA,MACtB,SAAS,MAAMA,8CAAS,IAAI;AAAA,IAC/B;AAAA;AAAA,IAED,MAAM;AAAA,MACF,MAAM;AAAA,MACN,SAAS,MAAMA,8CAAS,IAAI;AAAA,IAC/B;AAAA;AAAA,IAED,OAAO;AAAA,MACH,MAAM;AAAA,MACN,SAAS,MAAMA,8CAAS,IAAI;AAAA,IAC/B;AAAA;AAAA,IAED,MAAM;AAAA,MACF,MAAM,CAAC,QAAQ,MAAM;AAAA,MACrB,SAAS,MAAMA,8CAAS,IAAI;AAAA,IAC/B;AAAA;AAAA,IAED,SAAS;AAAA,MACL,MAAM;AAAA,MACN,SAAS,MAAMA,8CAAS,IAAI;AAAA,IAC/B;AAAA;AAAA,IAED,OAAO;AAAA,MACH,MAAM;AAAA,MACN,SAAS,MAAMA,8CAAS,IAAI;AAAA,IAC/B;AAAA;AAAA,IAED,aAAa;AAAA,MACT,MAAM;AAAA,MACN,SAAS,MAAMA,8CAAS,IAAI;AAAA,IAC/B;AAAA;AAAA,IAED,YAAY;AAAA,MACR,MAAM;AAAA,MACN,SAAS,MAAMA,8CAAS,IAAI;AAAA,IAC/B;AAAA;AAAA,IAED,MAAM;AAAA,MACF,MAAM,CAAC,QAAQ,MAAM;AAAA,MACrB,SAAS,MAAMA,8CAAS,IAAI;AAAA,IAC/B;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAOD,WAAW;AAAA,MACP,MAAM;AAAA,MACN,SAAS,MAAMA,8CAAS,IAAI;AAAA,IAC/B;AAAA;AAAA,IAED,OAAO;AAAA,MACH,MAAM;AAAA,MACN,SAAS,MAAMA,8CAAS,IAAI;AAAA,IAC/B;AAAA;AAAA,IAED,UAAU;AAAA,MACN,MAAM;AAAA,MACN,SAAS,MAAMA,8CAAS,IAAI;AAAA,IAC/B;AAAA;AAAA,IAED,MAAM;AAAA,MACF,MAAM;AAAA,MACN,SAAS,MAAMA,8CAAS,IAAI;AAAA,IAC/B;AAAA;AAAA,IAED,MAAM;AAAA,MACF,MAAM;AAAA,MACN,SAAS,MAAMA,8CAAS,IAAI;AAAA,IACrC;AAAA;AAAA,IAEK,WAAW;AAAA,MACP,MAAM;AAAA,MACN,SAAS,MAAMA,8CAAS,IAAI;AAAA,IACrC;AAAA;AAAA,IAED,UAAU;AAAA,MACA,MAAM;AAAA,MACN,SAAS,MAAMA,8CAAS,IAAI;AAAA,IAC/B;AAAA;AAAA,IAED,QAAQ;AAAA,MACJ,MAAM;AAAA,MACN,SAAS,MAAMA,8CAAS,IAAI;AAAA,IAC/B;AAAA;AAAA,IAED,SAAS;AAAA,MACL,MAAM;AAAA,MACN,SAAS,MAAMA,8CAAS,IAAI;AAAA,IAC/B;AAAA;AAAA,IAED,cAAc;AAAA,MACV,MAAM;AAAA,MACN,SAAS,MAAMA,8CAAS,IAAI;AAAA,IAC/B;AAAA;AAAA,IAED,aAAa;AAAA,MACT,MAAM;AAAA,MACN,SAAS,MAAMA,8CAAS,IAAI;AAAA,IAC/B;AAAA,EACJ;AACL,CAAC;;"} \ No newline at end of file diff --git a/unpackage/dist/dev/.sourcemap/mp-weixin/uni_modules/uview-plus/components/u-tag/u-tag.js.map b/unpackage/dist/dev/.sourcemap/mp-weixin/uni_modules/uview-plus/components/u-tag/u-tag.js.map deleted file mode 100644 index dd926f7..0000000 --- a/unpackage/dist/dev/.sourcemap/mp-weixin/uni_modules/uview-plus/components/u-tag/u-tag.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"u-tag.js","sources":["uni_modules/uview-plus/components/u-tag/u-tag.vue","F:/software/HBuilderX/HBuilderX/plugins/uniapp-cli-vite/uniComponent:/RTovaGV4aWV5dW4vVGhyZWVDaGVja3NPbmVFeHBvc3VyZV9wbGF0Zm9ybS8xMi4wN2Nob25ncWl4aW5kZS_kuInmn6XkuIDmm53lhYnlsI_nqIvluo8vdGhyZWVvbmVjaGVja1_lsI_nqIvluo8vdW5pX21vZHVsZXMvdXZpZXctcGx1cy9jb21wb25lbnRzL3UtdGFnL3UtdGFnLnZ1ZQ"],"sourcesContent":["\r\n\r\n\r\n\r\n\r\n\r\n\t.u-tag-wrapper {\r\n\t\tposition: relative;\r\n\t}\r\n\r\n\t.u-tag {\r\n\t\t@include flex;\r\n\t\talign-items: center;\r\n\t\tborder-style: solid;\r\n\r\n\t\t&--circle {\r\n\t\t\tborder-radius: 100px;\r\n\t\t}\r\n\r\n\t\t&--square {\r\n\t\t\tborder-radius: 3px;\r\n\t\t}\r\n\r\n\t\t&__icon {\r\n\t\t\tmargin-right: 4px;\r\n\t\t}\r\n\r\n\t\t&__text {\r\n\t\t\t&--mini {\r\n\t\t\t\tfont-size: 12px;\r\n\t\t\t\tline-height: 12px;\r\n\t\t\t}\r\n\r\n\t\t\t&--medium {\r\n\t\t\t\tfont-size: 13px;\r\n\t\t\t\tline-height: 13px;\r\n\t\t\t}\r\n\r\n\t\t\t&--large {\r\n\t\t\t\tfont-size: 15px;\r\n\t\t\t\tline-height: 15px;\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\t&--mini {\r\n\t\t\theight: 22px;\r\n\t\t\tline-height: 22px;\r\n\t\t\tpadding: 0 5px;\r\n\t\t}\r\n\r\n\t\t&--medium {\r\n\t\t\theight: 26px;\r\n\t\t\tline-height: 22px;\r\n\t\t\tpadding: 0 10px;\r\n\t\t}\r\n\r\n\t\t&--large {\r\n\t\t\theight: 32px;\r\n\t\t\tline-height: 32px;\r\n\t\t\tpadding: 0 15px;\r\n\t\t}\r\n\r\n\t\t&--primary {\r\n\t\t\tbackground-color: $u-primary;\r\n\t\t\tborder-width: 1px;\r\n\t\t\tborder-color: $u-primary;\r\n\t\t}\r\n\r\n\t\t&--primary--plain {\r\n\t\t\tborder-width: 1px;\r\n\t\t\tborder-color: $u-primary;\r\n\t\t}\r\n\r\n\t\t&--primary--plain--fill {\r\n\t\t\tbackground-color: #ecf5ff;\r\n\t\t}\r\n\r\n\t\t&__text--primary {\r\n\t\t\tcolor: #FFFFFF;\r\n\t\t}\r\n\r\n\t\t&__text--primary--plain {\r\n\t\t\tcolor: $u-primary;\r\n\t\t}\r\n\r\n\t\t&--error {\r\n\t\t\tbackground-color: $u-error;\r\n\t\t\tborder-width: 1px;\r\n\t\t\tborder-color: $u-error;\r\n\t\t}\r\n\r\n\t\t&--error--plain {\r\n\t\t\tborder-width: 1px;\r\n\t\t\tborder-color: $u-error;\r\n\t\t}\r\n\r\n\t\t&--error--plain--fill {\r\n\t\t\tbackground-color: #fef0f0;\r\n\t\t}\r\n\r\n\t\t&__text--error {\r\n\t\t\tcolor: #FFFFFF;\r\n\t\t}\r\n\r\n\t\t&__text--error--plain {\r\n\t\t\tcolor: $u-error;\r\n\t\t}\r\n\r\n\t\t&--warning {\r\n\t\t\tbackground-color: $u-warning;\r\n\t\t\tborder-width: 1px;\r\n\t\t\tborder-color: $u-warning;\r\n\t\t}\r\n\r\n\t\t&--warning--plain {\r\n\t\t\tborder-width: 1px;\r\n\t\t\tborder-color: $u-warning;\r\n\t\t}\r\n\r\n\t\t&--warning--plain--fill {\r\n\t\t\tbackground-color: #fdf6ec;\r\n\t\t}\r\n\r\n\t\t&__text--warning {\r\n\t\t\tcolor: #FFFFFF;\r\n\t\t}\r\n\r\n\t\t&__text--warning--plain {\r\n\t\t\tcolor: $u-warning;\r\n\t\t}\r\n\r\n\t\t&--success {\r\n\t\t\tbackground-color: $u-success;\r\n\t\t\tborder-width: 1px;\r\n\t\t\tborder-color: $u-success;\r\n\t\t}\r\n\r\n\t\t&--success--plain {\r\n\t\t\tborder-width: 1px;\r\n\t\t\tborder-color: $u-success;\r\n\t\t}\r\n\r\n\t\t&--success--plain--fill {\r\n\t\t\tbackground-color: #f5fff0;\r\n\t\t}\r\n\r\n\t\t&__text--success {\r\n\t\t\tcolor: #FFFFFF;\r\n\t\t}\r\n\r\n\t\t&__text--success--plain {\r\n\t\t\tcolor: $u-success;\r\n\t\t}\r\n\r\n\t\t&--info {\r\n\t\t\tbackground-color: $u-info;\r\n\t\t\tborder-width: 1px;\r\n\t\t\tborder-color: $u-info;\r\n\t\t}\r\n\r\n\t\t&--info--plain {\r\n\t\t\tborder-width: 1px;\r\n\t\t\tborder-color: $u-info;\r\n\t\t}\r\n\r\n\t\t&--info--plain--fill {\r\n\t\t\tbackground-color: #f4f4f5;\r\n\t\t}\r\n\r\n\t\t&__text--info {\r\n\t\t\tcolor: #FFFFFF;\r\n\t\t}\r\n\r\n\t\t&__text--info--plain {\r\n\t\t\tcolor: $u-info;\r\n\t\t}\r\n\r\n\t\t&__close {\r\n\t\t\tposition: absolute;\r\n\t\t\tz-index: 999;\r\n\t\t\ttop: 10px;\r\n\t\t\tright: 10px;\r\n\t\t\tborder-radius: 100px;\r\n\t\t\tbackground-color: #C6C7CB;\r\n\t\t\t@include flex(row);\r\n\t\t\talign-items: center;\r\n\t\t\tjustify-content: center;\r\n\t\t\t/* #ifndef APP-NVUE */\r\n\t\t\ttransform: scale(0.6) translate(80%, -80%);\r\n\t\t\t/* #endif */\r\n\t\t\t/* #ifdef APP-NVUE */\r\n\t\t\ttransform: scale(0.6) translate(50%, -50%);\r\n\t\t\t/* #endif */\r\n\r\n\t\t\t&--mini {\r\n\t\t\t\twidth: 18px;\r\n\t\t\t\theight: 18px;\r\n\t\t\t}\r\n\r\n\t\t\t&--medium {\r\n\t\t\t\twidth: 22px;\r\n\t\t\t\theight: 22px;\r\n\t\t\t}\r\n\r\n\t\t\t&--large {\r\n\t\t\t\twidth: 25px;\r\n\t\t\t\theight: 25px;\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t}\r\n\r\n","import Component from 'E:/hexieyun/ThreeChecksOneExposure_platform/12.07chongqixinde/三查一曝光小程序/threeonecheck_小程序/uni_modules/uview-plus/components/u-tag/u-tag.vue'\nwx.createComponent(Component)"],"names":["mpMixin","mixin","props","addUnit","test","genLightColor"],"mappings":";;;;;;;AAwGC,MAAK,YAAU;AAAA,EACd,MAAM;AAAA,EACN,QAAQ,CAACA,yCAAAA,SAASC,uCAAK,OAAEC,iDAAK;AAAA,EAC9B,OAAO;AACN,WAAO,CAEP;AAAA,EACA;AAAA,EACD,UAAU;AAAA,IACT,QAAQ;AACP,YAAM,QAAQ,CAAC;AACf,UAAI,KAAK,SAAS;AACjB,cAAM,kBAAkB,KAAK;AAAA,MAC9B;AACA,UAAI,KAAK,OAAO;AACf,cAAM,QAAQ,KAAK;AAAA,MACpB;AACA,UAAG,KAAK,aAAa;AACpB,cAAM,cAAc,KAAK;AAAA,MAC1B;AACA,UAAI,KAAK,QAAQ;AAChB,cAAM,SAASC,kDAAQ,KAAK,MAAM;AAClC,cAAM,aAAaA,kDAAQ,KAAK,MAAM;AAAA,MACvC;AACA,UAAI,KAAK,SAAS;AACjB,cAAM,UAAU,KAAK;AAAA,MACtB;AACA,UAAI,KAAK,cAAc;AACtB,cAAM,eAAeA,kDAAQ,KAAK,YAAY;AAAA,MAC/C;AACA,UAAI,KAAK,cAAc,KAAK,KAAK,OAAO;AACvC,cAAM,kBAAkB,KAAK,YAAY,KAAK,KAAK;AAAA,MACpD;AACA,aAAO;AAAA,IACP;AAAA;AAAA,IAED,YAAY;AACX,YAAM,QAAQ,CAAC;AACf,UAAI,KAAK,OAAO;AACf,cAAM,QAAQ,KAAK;AAAA,MACpB;AACA,UAAI,KAAK,UAAU;AAClB,cAAM,WAAWA,kDAAQ,KAAK,QAAQ;AAAA,MACvC;AACA,aAAO;AAAA,IACP;AAAA,IACD,WAAW;AACV,YAAM,QAAQ,KAAK,SAAS,UAAU,SAAS,KAAK,SAAS,WAAW,SAAS;AACjF,aAAO;AAAA,QACN;AAAA,QACA,QAAQ;AAAA,MACT;AAAA,IACA;AAAA;AAAA,IAED,YAAY;AACX,YAAM,OAAO,KAAK,SAAS,UAAU,KAAK,KAAK,SAAS,WAAW,KAAK;AACxE,aAAO;AAAA,IACP;AAAA;AAAA,IAED,WAAW;AACV,YAAM,OAAO,KAAK,SAAS,UAAU,KAAK,KAAK,SAAS,WAAW,KAAK;AACxE,aAAO;AAAA,IACP;AAAA;AAAA,IAED,cAAc;AACb,aAAO,KAAK,YAAY,KAAK,YAAY,KAAK,QAAQ,KAAK,OAAO;AAAA,IACnE;AAAA,EACA;AAAA,EACD,OAAO,CAAC,SAAS,OAAO;AAAA,EACxB,SAAS;AAAA,IACR,WAAWC,yCAAI,KAAC;AAAA;AAAA,IAEhB,eAAe;AACd,WAAK,MAAM,SAAS,KAAK,IAAI;AAAA,IAC7B;AAAA;AAAA,IAED,eAAe;AACd,WAAK,MAAM,SAAS,KAAK,IAAI;AAAA,IAC7B;AAAA;AAAA,IAED,YAAY,WAAW;AACtB,aAAOC,wDAAc,WAAW,KAAK,WAAW;AAAA,IACjD;AAAA,EACD;AACD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AC3LD,GAAG,gBAAgB,SAAS;"} \ No newline at end of file diff --git a/unpackage/dist/dev/.sourcemap/mp-weixin/uni_modules/uview-plus/libs/function/index.js.map b/unpackage/dist/dev/.sourcemap/mp-weixin/uni_modules/uview-plus/libs/function/index.js.map index a27e75a..28062bf 100644 --- a/unpackage/dist/dev/.sourcemap/mp-weixin/uni_modules/uview-plus/libs/function/index.js.map +++ b/unpackage/dist/dev/.sourcemap/mp-weixin/uni_modules/uview-plus/libs/function/index.js.map @@ -1 +1 @@ -{"version":3,"file":"index.js","sources":["uni_modules/uview-plus/libs/function/index.js"],"sourcesContent":["import {\r\n\tnumber as testNumber,\r\n\tarray as testArray,\r\n\tempty as testEmpty\r\n} from './test'\r\nimport { round } from './digit.js'\r\nimport config from '../config/config';\r\n/**\r\n * @description 如果value小于min,取min;如果value大于max,取max\r\n * @param {number} min \r\n * @param {number} max \r\n * @param {number} value\r\n */\r\nexport function range(min = 0, max = 0, value = 0) {\r\n\treturn Math.max(min, Math.min(max, Number(value)))\r\n}\r\n\r\n/**\r\n * @description 用于获取用户传递值的px值 如果用户传递了\"xxpx\"或者\"xxrpx\",取出其数值部分,如果是\"xxxrpx\"还需要用过uni.rpx2px进行转换\r\n * @param {number|string} value 用户传递值的px值\r\n * @param {boolean} unit \r\n * @returns {number|string}\r\n */\r\nexport function getPx(value, unit = false) {\r\n\tif (testNumber(value)) {\r\n\t\treturn unit ? `${value}px` : Number(value)\r\n\t}\r\n\t// 如果带有rpx,先取出其数值部分,再转为px值\r\n\tif (/(rpx|upx)$/.test(value)) {\r\n\t\treturn unit ? `${uni.upx2px(parseInt(value))}px` : Number(uni.upx2px(parseInt(value)))\r\n\t}\r\n\treturn unit ? `${parseInt(value)}px` : parseInt(value)\r\n}\r\n\r\n/**\r\n * @description 用于统一rpx2px方法,因uni-app现有API未统一。\r\n * @param {number} value 用户传递值的rpx值\r\n * @returns {number}\r\n */\r\nexport function rpx2px(value) {\r\n\t// #ifdef APP\r\n\treturn uni.upx2px(value)\r\n\t// #endif\r\n\t// #ifndef APP\r\n\treturn uni.rpx2px(value)\r\n\t// #endif\r\n}\r\n\r\n/**\r\n * @description 进行延时,以达到可以简写代码的目的 比如: await uni.$u.sleep(20)将会阻塞20ms\r\n * @param {number} value 堵塞时间 单位ms 毫秒\r\n * @returns {Promise} 返回promise\r\n */\r\nexport function sleep(value = 30) {\r\n\treturn new Promise((resolve) => {\r\n\t\tsetTimeout(() => {\r\n\t\t\tresolve()\r\n\t\t}, value)\r\n\t})\r\n}\r\n/**\r\n * @description 运行期判断平台\r\n * @returns {string} 返回所在平台(小写) \r\n * @link 运行期判断平台 https://uniapp.dcloud.io/frame?id=判断平台\r\n */\r\nexport function os() {\r\n\t// #ifdef APP || H5 || MP-WEIXIN\r\n\treturn uni.getDeviceInfo().platform.toLowerCase()\r\n\t// #endif\r\n\t// #ifndef APP || H5 || MP-WEIXIN\r\n\treturn uni.getSystemInfoSync().platform.toLowerCase()\r\n\t// #endif\r\n}\r\n/**\r\n * @description 获取系统信息同步接口\r\n * @link 获取系统信息同步接口 https://uniapp.dcloud.io/api/system/info?id=getsysteminfosync \r\n */\r\nexport function sys() {\r\n\treturn uni.getSystemInfoSync()\r\n}\r\nexport function getWindowInfo() {\r\n\tlet ret = {}\r\n\t// #ifdef APP || H5 || MP-WEIXIN\r\n\tret = uni.getWindowInfo()\r\n\t// #endif\r\n\t// #ifndef APP || H5 || MP-WEIXIN\r\n\tret = sys()\r\n\t// #endif\r\n\treturn ret\r\n}\r\nexport function getDeviceInfo() {\r\n\tlet ret = {}\r\n\t// #ifdef APP || H5 || MP-WEIXIN\r\n\tret = uni.getDeviceInfo()\r\n\t// #endif\r\n\t// #ifndef APP || H5 || MP-WEIXIN\r\n\tret = sys()\r\n\t// #endif\r\n\treturn ret\r\n}\r\n\r\n/**\r\n * @description 取一个区间数\r\n * @param {Number} min 最小值\r\n * @param {Number} max 最大值\r\n */\r\nexport function random(min, max) {\r\n\tif (min >= 0 && max > 0 && max >= min) {\r\n\t\tconst gab = max - min + 1\r\n\t\treturn Math.floor(Math.random() * gab + min)\r\n\t}\r\n\treturn 0\r\n}\r\n\r\n/**\r\n * @param {Number} len uuid的长度\r\n * @param {Boolean} firstU 将返回的首字母置为\"u\"\r\n * @param {Nubmer} radix 生成uuid的基数(意味着返回的字符串都是这个基数),2-二进制,8-八进制,10-十进制,16-十六进制\r\n */\r\nexport function guid(len = 32, firstU = true, radix = null) {\r\n\tconst chars = '0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz'.split('')\r\n\tconst uuid = []\r\n\tradix = radix || chars.length\r\n\r\n\tif (len) {\r\n\t\t// 如果指定uuid长度,只是取随机的字符,0|x为位运算,能去掉x的小数位,返回整数位\r\n\t\tfor (let i = 0; i < len; i++) uuid[i] = chars[0 | Math.random() * radix]\r\n\t} else {\r\n\t\tlet r\r\n\t\t// rfc4122标准要求返回的uuid中,某些位为固定的字符\r\n\t\tuuid[8] = uuid[13] = uuid[18] = uuid[23] = '-'\r\n\t\tuuid[14] = '4'\r\n\r\n\t\tfor (let i = 0; i < 36; i++) {\r\n\t\t\tif (!uuid[i]) {\r\n\t\t\t\tr = 0 | Math.random() * 16\r\n\t\t\t\tuuid[i] = chars[(i == 19) ? (r & 0x3) | 0x8 : r]\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n\t// 移除第一个字符,并用u替代,因为第一个字符为数值时,该guuid不能用作id或者class\r\n\tif (firstU) {\r\n\t\tuuid.shift()\r\n\t\treturn `u${uuid.join('')}`\r\n\t}\r\n\treturn uuid.join('')\r\n}\r\n\r\n/**\r\n* @description 获取父组件的参数,因为支付宝小程序不支持provide/inject的写法\r\n this.$parent在非H5中,可以准确获取到父组件,但是在H5中,需要多次this.$parent.$parent.xxx\r\n 这里默认值等于undefined有它的含义,因为最顶层元素(组件)的$parent就是undefined,意味着不传name\r\n 值(默认为undefined),就是查找最顶层的$parent\r\n* @param {string|undefined} name 父组件的参数名\r\n*/\r\nexport function $parent(name = undefined) {\r\n\tlet parent = this.$parent\r\n\t// 通过while历遍,这里主要是为了H5需要多层解析的问题\r\n\twhile (parent) {\r\n\t\t// 父组件\r\n name = name.replace(/up-([a-zA-Z0-9-_]+)/g, 'u-$1') \r\n\t\tif (parent.$options && parent.$options.name !== name) {\r\n\t\t\t// 如果组件的name不相等,继续上一级寻找\r\n\t\t\tparent = parent.$parent\r\n\t\t} else {\r\n\t\t\treturn parent\r\n\t\t}\r\n\t}\r\n\treturn false\r\n}\r\n\r\n/**\r\n * @description 样式转换\r\n * 对象转字符串,或者字符串转对象\r\n * @param {object | string} customStyle 需要转换的目标\r\n * @param {String} target 转换的目的,object-转为对象,string-转为字符串\r\n * @returns {object|string}\r\n */\r\nexport function addStyle(customStyle, target = 'object') {\r\n\t// 字符串转字符串,对象转对象情形,直接返回\r\n\tif (testEmpty(customStyle) || typeof(customStyle) === 'object' && target === 'object' || target === 'string' &&\r\n\t\ttypeof(customStyle) === 'string') {\r\n\t\treturn customStyle\r\n\t}\r\n\t// 字符串转对象\r\n\tif (target === 'object') {\r\n\t\t// 去除字符串样式中的两端空格(中间的空格不能去掉,比如padding: 20px 0如果去掉了就错了),空格是无用的\r\n\t\tcustomStyle = trim(customStyle)\r\n\t\t// 根据\";\"将字符串转为数组形式\r\n\t\tconst styleArray = customStyle.split(';')\r\n\t\tconst style = {}\r\n\t\t// 历遍数组,拼接成对象\r\n\t\tfor (let i = 0; i < styleArray.length; i++) {\r\n\t\t\t// 'font-size:20px;color:red;',如此最后字符串有\";\"的话,会导致styleArray最后一个元素为空字符串,这里需要过滤\r\n\t\t\tif (styleArray[i]) {\r\n\t\t\t\tconst item = styleArray[i].split(':')\r\n\t\t\t\tstyle[trim(item[0])] = trim(item[1])\r\n\t\t\t}\r\n\t\t}\r\n\t\treturn style\r\n\t}\r\n\t// 这里为对象转字符串形式\r\n\tlet string = ''\r\n\tif (typeof customStyle === 'object') {\r\n\t\tcustomStyle.forEach((val, i) => {\r\n\t\t\t// 驼峰转为中划线的形式,否则css内联样式,无法识别驼峰样式属性名\r\n\t\t\tconst key = i.replace(/([A-Z])/g, '-$1').toLowerCase()\r\n\t\t\tstring += `${key}:${val};`\r\n\t\t})\r\n\t}\r\n\t// 去除两端空格\r\n\treturn trim(string)\r\n}\r\n\r\n/**\r\n * @description 添加单位,如果有rpx,upx,%,px等单位结尾或者值为auto,直接返回,否则加上px单位结尾\r\n * @param {string|number} value 需要添加单位的值\r\n * @param {string} unit 添加的单位名 比如px\r\n */\r\nexport function addUnit(value = 'auto', unit = '') {\r\n\tif (!unit) {\r\n\t\tunit = config.unit || 'px'\r\n\t}\r\n\tif (unit == 'rpx' && testNumber(String(value))) {\r\n\t\tvalue = value * 2\r\n\t}\r\n\tvalue = String(value)\r\n\t// 用内置验证规则中的number判断是否为数值\r\n\treturn testNumber(value) ? `${value}${unit}` : value\r\n}\r\n\r\n/**\r\n * @description 深度克隆\r\n * @param {object} obj 需要深度克隆的对象\r\n * @returns {*} 克隆后的对象或者原值(不是对象)\r\n */\r\nexport function deepClone(obj) {\r\n\t// 对常见的“非”值,直接返回原来值\r\n\tif ([null, undefined, NaN, false].includes(obj)) return obj\r\n\tif (typeof obj !== 'object' && typeof obj !== 'function') {\r\n\t\t// 原始类型直接返回\r\n\t\treturn obj\r\n\t}\r\n\tconst o = testArray(obj) ? [] : {}\r\n\tfor (const i in obj) {\r\n\t\tif (obj.hasOwnProperty(i)) {\r\n\t\t\to[i] = typeof obj[i] === 'object' ? deepClone(obj[i]) : obj[i]\r\n\t\t}\r\n\t}\r\n\treturn o\r\n}\r\n\r\n/**\r\n * @description JS对象深度合并\r\n * @param {object} target 需要拷贝的对象\r\n * @param {object} source 拷贝的来源对象\r\n * @returns {object|boolean} 深度合并后的对象或者false(入参有不是对象)\r\n */\r\nexport function deepMerge(targetOrigin = {}, source = {}) {\r\n\tlet target = deepClone(targetOrigin)\r\n\tif (typeof target !== 'object' || typeof source !== 'object') return false\r\n\tfor (const prop in source) {\r\n\t\tif (!source.hasOwnProperty(prop)) continue\r\n\t\tif (prop in target) {\r\n\t\t\tif (source[prop] == null) {\r\n\t\t\t\ttarget[prop] = source[prop]\r\n\t\t\t}else if (typeof target[prop] !== 'object') {\r\n\t\t\t\ttarget[prop] = source[prop]\r\n\t\t\t} else if (typeof source[prop] !== 'object') {\r\n\t\t\t\ttarget[prop] = source[prop]\r\n\t\t\t} else if (target[prop].concat && source[prop].concat) {\r\n\t\t\t\ttarget[prop] = target[prop].concat(source[prop])\r\n\t\t\t} else {\r\n\t\t\t\ttarget[prop] = deepMerge(target[prop], source[prop])\r\n\t\t\t}\r\n\t\t} else {\r\n\t\t\ttarget[prop] = source[prop]\r\n\t\t}\r\n\t}\r\n\treturn target\r\n}\r\n/**\r\n * @description JS对象深度合并\r\n * @param {object} target 需要拷贝的对象\r\n * @param {object} source 拷贝的来源对象\r\n * @returns {object|boolean} 深度合并后的对象或者false(入参有不是对象)\r\n */\r\nexport function shallowMerge(target, source = {}) {\r\n\tif (typeof target !== 'object' || typeof source !== 'object') return false\r\n\tfor (const prop in source) {\r\n\t\tif (!source.hasOwnProperty(prop)) continue\r\n\t\tif (prop in target) {\r\n\t\t\tif (source[prop] == null) {\r\n\t\t\t\ttarget[prop] = source[prop]\r\n\t\t\t}else if (typeof target[prop] !== 'object') {\r\n\t\t\t\ttarget[prop] = source[prop]\r\n\t\t\t} else if (typeof source[prop] !== 'object') {\r\n\t\t\t\ttarget[prop] = source[prop]\r\n\t\t\t} else if (target[prop].concat && source[prop].concat) {\r\n\t\t\t\ttarget[prop] = target[prop].concat(source[prop])\r\n\t\t\t} else {\r\n\t\t\t\ttarget[prop] = shallowMerge(target[prop], source[prop])\r\n\t\t\t}\r\n\t\t} else {\r\n\t\t\ttarget[prop] = source[prop]\r\n\t\t}\r\n\t}\r\n\treturn target\r\n}\r\n\r\n/**\r\n * @description error提示\r\n * @param {*} err 错误内容\r\n */\r\nexport function error(err) {\r\n\t// 开发环境才提示,生产环境不会提示\r\n\tif (process.env.NODE_ENV === 'development') {\r\n\t\tconsole.error(`uView提示:${err}`)\r\n\t}\r\n}\r\n\r\n/**\r\n * @description 打乱数组\r\n * @param {array} array 需要打乱的数组\r\n * @returns {array} 打乱后的数组\r\n */\r\nexport function randomArray(array = []) {\r\n\t// 原理是sort排序,Math.random()产生0<= x < 1之间的数,会导致x-0.05大于或者小于0\r\n\treturn array.sort(() => Math.random() - 0.5)\r\n}\r\n\r\n// padStart 的 polyfill,因为某些机型或情况,还无法支持es7的padStart,比如电脑版的微信小程序\r\n// 所以这里做一个兼容polyfill的兼容处理\r\nif (!String.prototype.padStart) {\r\n\t// 为了方便表示这里 fillString 用了ES6 的默认参数,不影响理解\r\n\tString.prototype.padStart = function(maxLength, fillString = ' ') {\r\n\t\tif (Object.prototype.toString.call(fillString) !== '[object String]') {\r\n\t\t\tthrow new TypeError(\r\n\t\t\t\t'fillString must be String'\r\n\t\t\t)\r\n\t\t}\r\n\t\tconst str = this\r\n\t\t// 返回 String(str) 这里是为了使返回的值是字符串字面量,在控制台中更符合直觉\r\n\t\tif (str.length >= maxLength) return String(str)\r\n\r\n\t\tconst fillLength = maxLength - str.length\r\n\t\tlet times = Math.ceil(fillLength / fillString.length)\r\n\t\twhile (times >>= 1) {\r\n\t\t\tfillString += fillString\r\n\t\t\tif (times === 1) {\r\n\t\t\t\tfillString += fillString\r\n\t\t\t}\r\n\t\t}\r\n\t\treturn fillString.slice(0, fillLength) + str\r\n\t}\r\n}\r\n\r\n/**\r\n * @description 格式化时间\r\n * @param {String|Number} dateTime 需要格式化的时间戳\r\n * @param {String} fmt 格式化规则 yyyy:mm:dd|yyyy:mm|yyyy年mm月dd日|yyyy年mm月dd日 hh时MM分等,可自定义组合 默认yyyy-mm-dd\r\n * @returns {string} 返回格式化后的字符串\r\n */\r\nexport function timeFormat(dateTime = null, formatStr = 'yyyy-mm-dd') {\r\n let date\r\n\t// 若传入时间为假值,则取当前时间\r\n if (!dateTime) {\r\n date = new Date()\r\n }\r\n // 若为unix秒时间戳,则转为毫秒时间戳(逻辑有点奇怪,但不敢改,以保证历史兼容)\r\n else if (/^\\d{10}$/.test(dateTime.toString().trim())) {\r\n date = new Date(dateTime * 1000)\r\n }\r\n // 若用户传入字符串格式时间戳,new Date无法解析,需做兼容\r\n else if (typeof dateTime === 'string' && /^\\d+$/.test(dateTime.trim())) {\r\n date = new Date(Number(dateTime))\r\n }\r\n // 检查是否为UTC格式的时间字符串 (2024-12-18T02:25:31.432Z)\r\n else if (typeof dateTime === 'string' && /^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}\\.\\d{3}Z$/.test(dateTime)) {\r\n date = new Date(dateTime)\r\n }\r\n // 其他都认为符合 RFC 2822 规范\r\n else {\r\n // 处理平台性差异,在Safari/Webkit中,new Date仅支持/作为分割符的字符串时间\r\n date = new Date(\r\n typeof dateTime === 'string'\r\n ? dateTime.replace(/-/g, '/')\r\n : dateTime\r\n )\r\n }\r\n\r\n\tconst timeSource = {\r\n\t\t'y': date.getFullYear().toString(), // 年\r\n\t\t'm': (date.getMonth() + 1).toString().padStart(2, '0'), // 月\r\n\t\t'd': date.getDate().toString().padStart(2, '0'), // 日\r\n\t\t'h': date.getHours().toString().padStart(2, '0'), // 时\r\n\t\t'M': date.getMinutes().toString().padStart(2, '0'), // 分\r\n\t\t's': date.getSeconds().toString().padStart(2, '0') // 秒\r\n\t\t// 有其他格式化字符需求可以继续添加,必须转化成字符串\r\n\t}\r\n\r\n for (const key in timeSource) {\r\n const [ret] = new RegExp(`${key}+`).exec(formatStr) || []\r\n if (ret) {\r\n // 年可能只需展示两位\r\n const beginIndex = key === 'y' && ret.length === 2 ? 2 : 0\r\n formatStr = formatStr.replace(ret, timeSource[key].slice(beginIndex))\r\n }\r\n }\r\n\r\n return formatStr\r\n}\r\n\r\n/**\r\n * @description 时间戳转为多久之前\r\n * @param {String|Number} timestamp 时间戳\r\n * @param {String|Boolean} format \r\n * 格式化规则如果为时间格式字符串,超出一定时间范围,返回固定的时间格式;\r\n * 如果为布尔值false,无论什么时间,都返回多久以前的格式\r\n * @returns {string} 转化后的内容\r\n */\r\nexport function timeFrom(timestamp = null, format = 'yyyy-mm-dd') {\r\n\tif (timestamp == null) timestamp = Number(new Date())\r\n\ttimestamp = parseInt(timestamp)\r\n\t// 判断用户输入的时间戳是秒还是毫秒,一般前端js获取的时间戳是毫秒(13位),后端传过来的为秒(10位)\r\n\tif (timestamp.toString().length == 10) timestamp *= 1000\r\n\tlet timer = (new Date()).getTime() - timestamp\r\n\ttimer = parseInt(timer / 1000)\r\n\t// 如果小于5分钟,则返回\"刚刚\",其他以此类推\r\n\tlet tips = ''\r\n\tswitch (true) {\r\n\t\tcase timer < 300:\r\n\t\t\ttips = '刚刚'\r\n\t\t\tbreak\r\n\t\tcase timer >= 300 && timer < 3600:\r\n\t\t\ttips = `${parseInt(timer / 60)}分钟前`\r\n\t\t\tbreak\r\n\t\tcase timer >= 3600 && timer < 86400:\r\n\t\t\ttips = `${parseInt(timer / 3600)}小时前`\r\n\t\t\tbreak\r\n\t\tcase timer >= 86400 && timer < 2592000:\r\n\t\t\ttips = `${parseInt(timer / 86400)}天前`\r\n\t\t\tbreak\r\n\t\tdefault:\r\n\t\t\t// 如果format为false,则无论什么时间戳,都显示xx之前\r\n\t\t\tif (format === false) {\r\n\t\t\t\tif (timer >= 2592000 && timer < 365 * 86400) {\r\n\t\t\t\t\ttips = `${parseInt(timer / (86400 * 30))}个月前`\r\n\t\t\t\t} else {\r\n\t\t\t\t\ttips = `${parseInt(timer / (86400 * 365))}年前`\r\n\t\t\t\t}\r\n\t\t\t} else {\r\n\t\t\t\ttips = timeFormat(timestamp, format)\r\n\t\t\t}\r\n\t}\r\n\treturn tips\r\n}\r\n\r\n/**\r\n * @description 去除空格\r\n * @param String str 需要去除空格的字符串\r\n * @param String pos both(左右)|left|right|all 默认both\r\n */\r\nexport function trim(str, pos = 'both') {\r\n\tstr = String(str)\r\n\tif (pos == 'both') {\r\n\t\treturn str.replace(/^\\s+|\\s+$/g, '')\r\n\t}\r\n\tif (pos == 'left') {\r\n\t\treturn str.replace(/^\\s*/, '')\r\n\t}\r\n\tif (pos == 'right') {\r\n\t\treturn str.replace(/(\\s*$)/g, '')\r\n\t}\r\n\tif (pos == 'all') {\r\n\t\treturn str.replace(/\\s+/g, '')\r\n\t}\r\n\treturn str\r\n}\r\n\r\n/**\r\n * @description 对象转url参数\r\n * @param {object} data,对象\r\n * @param {Boolean} isPrefix,是否自动加上\"?\"\r\n * @param {string} arrayFormat 规则 indices|brackets|repeat|comma\r\n */\r\nexport function queryParams(data = {}, isPrefix = true, arrayFormat = 'brackets') {\r\n\tconst prefix = isPrefix ? '?' : ''\r\n\tconst _result = []\r\n\tif (['indices', 'brackets', 'repeat', 'comma'].indexOf(arrayFormat) == -1) arrayFormat = 'brackets'\r\n\tfor (const key in data) {\r\n\t\tconst value = data[key]\r\n\t\t// 去掉为空的参数\r\n\t\tif (['', undefined, null].indexOf(value) >= 0) {\r\n\t\t\tcontinue\r\n\t\t}\r\n\t\t// 如果值为数组,另行处理\r\n\t\tif (value.constructor === Array) {\r\n\t\t\t// e.g. {ids: [1, 2, 3]}\r\n\t\t\tswitch (arrayFormat) {\r\n\t\t\t\tcase 'indices':\r\n\t\t\t\t\t// 结果: ids[0]=1&ids[1]=2&ids[2]=3\r\n\t\t\t\t\tfor (let i = 0; i < value.length; i++) {\r\n\t\t\t\t\t\t_result.push(`${key}[${i}]=${value[i]}`)\r\n\t\t\t\t\t}\r\n\t\t\t\t\tbreak\r\n\t\t\t\tcase 'brackets':\r\n\t\t\t\t\t// 结果: ids[]=1&ids[]=2&ids[]=3\r\n\t\t\t\t\tvalue.forEach((_value) => {\r\n\t\t\t\t\t\t_result.push(`${key}[]=${_value}`)\r\n\t\t\t\t\t})\r\n\t\t\t\t\tbreak\r\n\t\t\t\tcase 'repeat':\r\n\t\t\t\t\t// 结果: ids=1&ids=2&ids=3\r\n\t\t\t\t\tvalue.forEach((_value) => {\r\n\t\t\t\t\t\t_result.push(`${key}=${_value}`)\r\n\t\t\t\t\t})\r\n\t\t\t\t\tbreak\r\n\t\t\t\tcase 'comma':\r\n\t\t\t\t\t// 结果: ids=1,2,3\r\n\t\t\t\t\tlet commaStr = ''\r\n\t\t\t\t\tvalue.forEach((_value) => {\r\n\t\t\t\t\t\tcommaStr += (commaStr ? ',' : '') + _value\r\n\t\t\t\t\t})\r\n\t\t\t\t\t_result.push(`${key}=${commaStr}`)\r\n\t\t\t\t\tbreak\r\n\t\t\t\tdefault:\r\n\t\t\t\t\tvalue.forEach((_value) => {\r\n\t\t\t\t\t\t_result.push(`${key}[]=${_value}`)\r\n\t\t\t\t\t})\r\n\t\t\t}\r\n\t\t} else {\r\n\t\t\t_result.push(`${key}=${value}`)\r\n\t\t}\r\n\t}\r\n\treturn _result.length ? prefix + _result.join('&') : ''\r\n}\r\n\r\n/**\r\n * 显示消息提示框\r\n * @param {String} title 提示的内容,长度与 icon 取值有关。\r\n * @param {Number} duration 提示的延迟时间,单位毫秒,默认:2000\r\n */\r\nexport function toast(title, duration = 2000) {\r\n\tuni.showToast({\r\n\t\ttitle: String(title),\r\n\t\ticon: 'none',\r\n\t\tduration\r\n\t})\r\n}\r\n\r\n/**\r\n * @description 根据主题type值,获取对应的图标\r\n * @param {String} type 主题名称,primary|info|error|warning|success\r\n * @param {boolean} fill 是否使用fill填充实体的图标\r\n */\r\nexport function type2icon(type = 'success', fill = false) {\r\n\t// 如果非预置值,默认为success\r\n\tif (['primary', 'info', 'error', 'warning', 'success'].indexOf(type) == -1) type = 'success'\r\n\tlet iconName = ''\r\n\t// 目前(2019-12-12),info和primary使用同一个图标\r\n\tswitch (type) {\r\n\t\tcase 'primary':\r\n\t\t\ticonName = 'info-circle'\r\n\t\t\tbreak\r\n\t\tcase 'info':\r\n\t\t\ticonName = 'info-circle'\r\n\t\t\tbreak\r\n\t\tcase 'error':\r\n\t\t\ticonName = 'close-circle'\r\n\t\t\tbreak\r\n\t\tcase 'warning':\r\n\t\t\ticonName = 'error-circle'\r\n\t\t\tbreak\r\n\t\tcase 'success':\r\n\t\t\ticonName = 'checkmark-circle'\r\n\t\t\tbreak\r\n\t\tdefault:\r\n\t\t\ticonName = 'checkmark-circle'\r\n\t}\r\n\t// 是否是实体类型,加上-fill,在icon组件库中,实体的类名是后面加-fill的\r\n\tif (fill) iconName += '-fill'\r\n\treturn iconName\r\n}\r\n\r\n/**\r\n * @description 数字格式化\r\n * @param {number|string} number 要格式化的数字\r\n * @param {number} decimals 保留几位小数\r\n * @param {string} decimalPoint 小数点符号\r\n * @param {string} thousandsSeparator 千分位符号\r\n * @returns {string} 格式化后的数字\r\n */\r\nexport function priceFormat(number, decimals = 0, decimalPoint = '.', thousandsSeparator = ',') {\r\n\tnumber = (`${number}`).replace(/[^0-9+-Ee.]/g, '')\r\n\tconst n = !isFinite(+number) ? 0 : +number\r\n\tconst prec = !isFinite(+decimals) ? 0 : Math.abs(decimals)\r\n\tconst sep = (typeof thousandsSeparator === 'undefined') ? ',' : thousandsSeparator\r\n\tconst dec = (typeof decimalPoint === 'undefined') ? '.' : decimalPoint\r\n\tlet s = ''\r\n\r\n\ts = (prec ? round(n, prec) + '' : `${Math.round(n)}`).split('.')\r\n\tconst re = /(-?\\d+)(\\d{3})/\r\n\twhile (re.test(s[0])) {\r\n\t\ts[0] = s[0].replace(re, `$1${sep}$2`)\r\n\t}\r\n\t\r\n\tif ((s[1] || '').length < prec) {\r\n\t\ts[1] = s[1] || ''\r\n\t\ts[1] += new Array(prec - s[1].length + 1).join('0')\r\n\t}\r\n\treturn s.join(dec)\r\n}\r\n\r\n/**\r\n * @description 获取duration值\r\n * 如果带有ms或者s直接返回,如果大于一定值,认为是ms单位,小于一定值,认为是s单位\r\n * 比如以30位阈值,那么300大于30,可以理解为用户想要的是300ms,而不是想花300s去执行一个动画\r\n * @param {String|number} value 比如: \"1s\"|\"100ms\"|1|100\r\n * @param {boolean} unit 提示: 如果是false 默认返回number\r\n * @return {string|number} \r\n */\r\nexport function getDuration(value, unit = true) {\r\n\tconst valueNum = parseInt(value)\r\n\tif (unit) {\r\n\t\tif (/s$/.test(value)) return value\r\n\t\treturn value > 30 ? `${value}ms` : `${value}s`\r\n\t}\r\n\tif (/ms$/.test(value)) return valueNum\r\n\tif (/s$/.test(value)) return valueNum > 30 ? valueNum : valueNum * 1000\r\n\treturn valueNum\r\n}\r\n\r\n/**\r\n * @description 日期的月或日补零操作\r\n * @param {String} value 需要补零的值\r\n */\r\nexport function padZero(value) {\r\n\treturn `00${value}`.slice(-2)\r\n}\r\n\r\n/**\r\n * @description 在u-form的子组件内容发生变化,或者失去焦点时,尝试通知u-form执行校验方法\r\n * @param {*} instance\r\n * @param {*} event\r\n */\r\nexport function formValidate(instance, event) {\r\n\tconst formItem = $parent.call(instance, 'u-form-item')\r\n\tconst form = $parent.call(instance, 'u-form')\r\n\t// 如果发生变化的input或者textarea等,其父组件中有u-form-item或者u-form等,就执行form的validate方法\r\n\t// 同时将form-item的pros传递给form,让其进行精确对象验证\r\n\tif (formItem && form) {\r\n\t\tform.validateField(formItem.prop, () => {}, event)\r\n\t}\r\n}\r\n\r\n/**\r\n * @description 获取某个对象下的属性,用于通过类似'a.b.c'的形式去获取一个对象的的属性的形式\r\n * @param {object} obj 对象\r\n * @param {string} key 需要获取的属性字段\r\n * @returns {*}\r\n */\r\nexport function getProperty(obj, key) {\r\n\tif (typeof obj !== 'object' || null == obj) {\r\n return ''\r\n }\r\n\tif (typeof key !== 'string' || key === '') {\r\n\t\treturn ''\r\n\t}\r\n\tif (key.indexOf('.') !== -1) {\r\n\t\tconst keys = key.split('.')\r\n\t\tlet firstObj = obj[keys[0]] || {}\r\n\r\n\t\tfor (let i = 1; i < keys.length; i++) {\r\n\t\t\tif (firstObj) {\r\n\t\t\t\tfirstObj = firstObj[keys[i]]\r\n\t\t\t}\r\n\t\t}\r\n\t\treturn firstObj\r\n\t}\r\n\treturn obj[key]\r\n}\r\n\r\n/**\r\n * @description 设置对象的属性值,如果'a.b.c'的形式进行设置\r\n * @param {object} obj 对象\r\n * @param {string} key 需要设置的属性\r\n * @param {string} value 设置的值\r\n */\r\nexport function setProperty(obj, key, value) {\r\n\tif (typeof obj !== 'object' || null == obj) {\r\n\t\treturn\r\n\t}\r\n\t// 递归赋值\r\n\tconst inFn = function(_obj, keys, v) {\r\n\t\t// 最后一个属性key\r\n\t\tif (keys.length === 1) {\r\n\t\t\t_obj[keys[0]] = v\r\n\t\t\treturn\r\n\t\t}\r\n\t\t// 0~length-1个key\r\n\t\twhile (keys.length > 1) {\r\n\t\t\tconst k = keys[0]\r\n\t\t\tif (!_obj[k] || (typeof _obj[k] !== 'object')) {\r\n\t\t\t\t_obj[k] = {}\r\n\t\t\t}\r\n\t\t\tconst key = keys.shift()\r\n\t\t\t// 自调用判断是否存在属性,不存在则自动创建对象\r\n\t\t\tinFn(_obj[k], keys, v)\r\n\t\t}\r\n\t}\r\n\r\n\tif (typeof key !== 'string' || key === '') {\r\n\r\n\t} else if (key.indexOf('.') !== -1) { // 支持多层级赋值操作\r\n\t\tconst keys = key.split('.')\r\n\t\tinFn(obj, keys, value)\r\n\t} else {\r\n\t\tobj[key] = value\r\n\t}\r\n}\r\n\r\n/**\r\n * @description 获取当前页面路径\r\n */\r\nexport function page() {\r\n\tconst pages = getCurrentPages()\r\n\t// 某些特殊情况下(比如页面进行redirectTo时的一些时机),pages可能为空数组\r\n\treturn `/${pages[pages.length - 1].route || ''}`\r\n}\r\n\r\n/**\r\n * @description 获取当前路由栈实例数组\r\n */\r\nexport function pages() {\r\n\tconst pages = getCurrentPages()\r\n\treturn pages\r\n}\r\n\r\nexport function getValueByPath(obj, path) {\r\n // 将路径字符串按 '.' 分割成数组\r\n const pathArr = path.split('.');\r\n // 使用 reduce 方法从 obj 开始,逐级访问嵌套属性\r\n return pathArr.reduce((acc, curr) => {\r\n // 如果当前累加器(acc)是对象且包含当前键(curr),则返回该键对应的值\r\n // 否则返回 undefined(表示路径不存在)\r\n return acc && acc[curr] !== undefined ? acc[curr] : undefined;\r\n }, obj);\r\n}\r\n\r\n/**\r\n * 生成同色系浅色背景色\r\n * @param {string} textColor - 支持 #RGB、#RRGGBB、rgb()、rgba() 格式\r\n * @param {number} [lightness=85] - 目标亮度百分比(默认85%)\r\n * @returns {string} 十六进制颜色值\r\n */\r\nexport function genLightColor(textColor, lightness = 95) {\r\n\t// 手动解析颜色值(避免使用document)\r\n\tconst rgb = parseColorWithoutDOM(textColor);\r\n\t\r\n\t// RGB转HSL色域\r\n\tconst hsl = rgbToHsl(rgb.r, rgb.g, rgb.b);\r\n\t\r\n\t// 生成浅色背景\r\n\tconst bgHsl = {\r\n\t h: hsl.h,\r\n\t s: hsl.s,\r\n\t l: Math.min(lightness, 95)\r\n\t};\r\n\t\r\n\treturn hslToHex(bgHsl.h, bgHsl.s, bgHsl.l);\r\n }\r\n \r\n /* 手动解析颜色字符串(兼容uni-app环境) */\r\n function parseColorWithoutDOM(colorStr) {\r\n\t// 统一转小写处理\r\n\tconst str = colorStr.toLowerCase().trim();\r\n\t\r\n\t// 处理十六进制格式\r\n\tif (str.startsWith('#')) {\r\n\t const hex = str.replace('#', '');\r\n\t const fullHex = hex.length === 3 ? \r\n\t\thex.split('').map(c => c + c).join('') : hex;\r\n\t\t\r\n\t return {\r\n\t\tr: parseInt(fullHex.substring(0,2), 16),\r\n\t\tg: parseInt(fullHex.substring(2,4), 16),\r\n\t\tb: parseInt(fullHex.substring(4,6), 16)\r\n\t };\r\n\t}\r\n\t\r\n\t// 处理rgb/rgba格式\r\n\tconst rgbMatch = str.match(/rgba?\\((\\d+),\\s*(\\d+),\\s*(\\d+)/);\r\n\tif (rgbMatch) {\r\n\t return {\r\n\t\tr: +rgbMatch[1],\r\n\t\tg: +rgbMatch[2],\r\n\t\tb: +rgbMatch[3]\r\n\t };\r\n\t}\r\n\t\r\n\tthrow new Error('Invalid color format');\r\n }\r\n\r\n// 辅助函数:RGB 转 HSL(色相、饱和度、亮度)\r\nfunction rgbToHsl(r, g, b) {\r\n r /= 255, g /= 255, b /= 255;\r\n const max = Math.max(r, g, b), min = Math.min(r, g, b);\r\n let h, s, l = (max + min) / 2;\r\n\r\n if (max === min) {\r\n h = s = 0; // achromatic\r\n } else {\r\n const d = max - min;\r\n s = l > 0.5 ? d / (2 - max - min) : d / (max + min);\r\n switch (max) {\r\n\t case r: h = (g - b) / d + (g < b ? 6 : 0); break;\r\n\t case g: h = (b - r) / d + 2; break;\r\n\t case b: h = (r - g) / d + 4; break;\r\n }\r\n h = (h * 60).toFixed(1);\r\n }\r\n return { h: +h, s: +(s * 100).toFixed(1), l: +(l * 100).toFixed(1) };\r\n}\r\n\r\n// 辅助函数:HSL 转十六进制\r\nfunction hslToHex(h, s, l) {\r\n l /= 100;\r\n const a = s * Math.min(l, 1 - l) / 100;\r\n const f = n => {\r\n const k = (n + h / 30) % 12;\r\n const color = l - a * Math.max(Math.min(k - 3, 9 - k, 1), -1);\r\n return Math.round(255 * color).toString(16).padStart(2, '0');\r\n };\r\n return `#${f(0)}${f(8)}${f(4)}`;\r\n}\r\n\r\nexport default {\r\n\trange,\r\n\tgetPx,\r\n\tsleep,\r\n\tos,\r\n\tsys,\r\n\tgetWindowInfo,\r\n\trandom,\r\n\tguid,\r\n\t$parent,\r\n\taddStyle,\r\n\taddUnit,\r\n\tdeepClone,\r\n\tdeepMerge,\r\n shallowMerge,\r\n\terror,\r\n\trandomArray,\r\n\ttimeFormat,\r\n\ttimeFrom,\r\n\ttrim,\r\n\tqueryParams,\r\n\ttoast,\r\n\ttype2icon,\r\n\tpriceFormat,\r\n\tgetDuration,\r\n\tpadZero,\r\n\tformValidate,\r\n\tgetProperty,\r\n\tsetProperty,\r\n\tpage,\r\n\tpages,\r\n\tgetValueByPath,\r\n\tgenLightColor,\r\n\trpx2px\r\n}\r\n"],"names":["testNumber","uni","testEmpty","config","testArray","round","pages"],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"index.js","sources":["uni_modules/uview-plus/libs/function/index.js"],"sourcesContent":["import {\r\n\tnumber as testNumber,\r\n\tarray as testArray,\r\n\tempty as testEmpty\r\n} from './test'\r\nimport { round } from './digit.js'\r\nimport config from '../config/config';\r\n/**\r\n * @description 如果value小于min,取min;如果value大于max,取max\r\n * @param {number} min \r\n * @param {number} max \r\n * @param {number} value\r\n */\r\nexport function range(min = 0, max = 0, value = 0) {\r\n\treturn Math.max(min, Math.min(max, Number(value)))\r\n}\r\n\r\n/**\r\n * @description 用于获取用户传递值的px值 如果用户传递了\"xxpx\"或者\"xxrpx\",取出其数值部分,如果是\"xxxrpx\"还需要用过uni.rpx2px进行转换\r\n * @param {number|string} value 用户传递值的px值\r\n * @param {boolean} unit \r\n * @returns {number|string}\r\n */\r\nexport function getPx(value, unit = false) {\r\n\tif (testNumber(value)) {\r\n\t\treturn unit ? `${value}px` : Number(value)\r\n\t}\r\n\t// 如果带有rpx,先取出其数值部分,再转为px值\r\n\tif (/(rpx|upx)$/.test(value)) {\r\n\t\treturn unit ? `${uni.upx2px(parseInt(value))}px` : Number(uni.upx2px(parseInt(value)))\r\n\t}\r\n\treturn unit ? `${parseInt(value)}px` : parseInt(value)\r\n}\r\n\r\n/**\r\n * @description 用于统一rpx2px方法,因uni-app现有API未统一。\r\n * @param {number} value 用户传递值的rpx值\r\n * @returns {number}\r\n */\r\nexport function rpx2px(value) {\r\n\t// #ifdef APP\r\n\treturn uni.upx2px(value)\r\n\t// #endif\r\n\t// #ifndef APP\r\n\treturn uni.rpx2px(value)\r\n\t// #endif\r\n}\r\n\r\n/**\r\n * @description 进行延时,以达到可以简写代码的目的 比如: await uni.$u.sleep(20)将会阻塞20ms\r\n * @param {number} value 堵塞时间 单位ms 毫秒\r\n * @returns {Promise} 返回promise\r\n */\r\nexport function sleep(value = 30) {\r\n\treturn new Promise((resolve) => {\r\n\t\tsetTimeout(() => {\r\n\t\t\tresolve()\r\n\t\t}, value)\r\n\t})\r\n}\r\n/**\r\n * @description 运行期判断平台\r\n * @returns {string} 返回所在平台(小写) \r\n * @link 运行期判断平台 https://uniapp.dcloud.io/frame?id=判断平台\r\n */\r\nexport function os() {\r\n\t// #ifdef APP || H5 || MP-WEIXIN\r\n\treturn uni.getDeviceInfo().platform.toLowerCase()\r\n\t// #endif\r\n\t// #ifndef APP || H5 || MP-WEIXIN\r\n\treturn uni.getSystemInfoSync().platform.toLowerCase()\r\n\t// #endif\r\n}\r\n/**\r\n * @description 获取系统信息同步接口\r\n * @link 获取系统信息同步接口 https://uniapp.dcloud.io/api/system/info?id=getsysteminfosync \r\n */\r\nexport function sys() {\r\n\treturn uni.getSystemInfoSync()\r\n}\r\nexport function getWindowInfo() {\r\n\tlet ret = {}\r\n\t// #ifdef APP || H5 || MP-WEIXIN\r\n\tret = uni.getWindowInfo()\r\n\t// #endif\r\n\t// #ifndef APP || H5 || MP-WEIXIN\r\n\tret = sys()\r\n\t// #endif\r\n\treturn ret\r\n}\r\nexport function getDeviceInfo() {\r\n\tlet ret = {}\r\n\t// #ifdef APP || H5 || MP-WEIXIN\r\n\tret = uni.getDeviceInfo()\r\n\t// #endif\r\n\t// #ifndef APP || H5 || MP-WEIXIN\r\n\tret = sys()\r\n\t// #endif\r\n\treturn ret\r\n}\r\n\r\n/**\r\n * @description 取一个区间数\r\n * @param {Number} min 最小值\r\n * @param {Number} max 最大值\r\n */\r\nexport function random(min, max) {\r\n\tif (min >= 0 && max > 0 && max >= min) {\r\n\t\tconst gab = max - min + 1\r\n\t\treturn Math.floor(Math.random() * gab + min)\r\n\t}\r\n\treturn 0\r\n}\r\n\r\n/**\r\n * @param {Number} len uuid的长度\r\n * @param {Boolean} firstU 将返回的首字母置为\"u\"\r\n * @param {Nubmer} radix 生成uuid的基数(意味着返回的字符串都是这个基数),2-二进制,8-八进制,10-十进制,16-十六进制\r\n */\r\nexport function guid(len = 32, firstU = true, radix = null) {\r\n\tconst chars = '0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz'.split('')\r\n\tconst uuid = []\r\n\tradix = radix || chars.length\r\n\r\n\tif (len) {\r\n\t\t// 如果指定uuid长度,只是取随机的字符,0|x为位运算,能去掉x的小数位,返回整数位\r\n\t\tfor (let i = 0; i < len; i++) uuid[i] = chars[0 | Math.random() * radix]\r\n\t} else {\r\n\t\tlet r\r\n\t\t// rfc4122标准要求返回的uuid中,某些位为固定的字符\r\n\t\tuuid[8] = uuid[13] = uuid[18] = uuid[23] = '-'\r\n\t\tuuid[14] = '4'\r\n\r\n\t\tfor (let i = 0; i < 36; i++) {\r\n\t\t\tif (!uuid[i]) {\r\n\t\t\t\tr = 0 | Math.random() * 16\r\n\t\t\t\tuuid[i] = chars[(i == 19) ? (r & 0x3) | 0x8 : r]\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n\t// 移除第一个字符,并用u替代,因为第一个字符为数值时,该guuid不能用作id或者class\r\n\tif (firstU) {\r\n\t\tuuid.shift()\r\n\t\treturn `u${uuid.join('')}`\r\n\t}\r\n\treturn uuid.join('')\r\n}\r\n\r\n/**\r\n* @description 获取父组件的参数,因为支付宝小程序不支持provide/inject的写法\r\n this.$parent在非H5中,可以准确获取到父组件,但是在H5中,需要多次this.$parent.$parent.xxx\r\n 这里默认值等于undefined有它的含义,因为最顶层元素(组件)的$parent就是undefined,意味着不传name\r\n 值(默认为undefined),就是查找最顶层的$parent\r\n* @param {string|undefined} name 父组件的参数名\r\n*/\r\nexport function $parent(name = undefined) {\r\n\tlet parent = this.$parent\r\n\t// 通过while历遍,这里主要是为了H5需要多层解析的问题\r\n\twhile (parent) {\r\n\t\t// 父组件\r\n name = name.replace(/up-([a-zA-Z0-9-_]+)/g, 'u-$1') \r\n\t\tif (parent.$options && parent.$options.name !== name) {\r\n\t\t\t// 如果组件的name不相等,继续上一级寻找\r\n\t\t\tparent = parent.$parent\r\n\t\t} else {\r\n\t\t\treturn parent\r\n\t\t}\r\n\t}\r\n\treturn false\r\n}\r\n\r\n/**\r\n * @description 样式转换\r\n * 对象转字符串,或者字符串转对象\r\n * @param {object | string} customStyle 需要转换的目标\r\n * @param {String} target 转换的目的,object-转为对象,string-转为字符串\r\n * @returns {object|string}\r\n */\r\nexport function addStyle(customStyle, target = 'object') {\r\n\t// 字符串转字符串,对象转对象情形,直接返回\r\n\tif (testEmpty(customStyle) || typeof(customStyle) === 'object' && target === 'object' || target === 'string' &&\r\n\t\ttypeof(customStyle) === 'string') {\r\n\t\treturn customStyle\r\n\t}\r\n\t// 字符串转对象\r\n\tif (target === 'object') {\r\n\t\t// 去除字符串样式中的两端空格(中间的空格不能去掉,比如padding: 20px 0如果去掉了就错了),空格是无用的\r\n\t\tcustomStyle = trim(customStyle)\r\n\t\t// 根据\";\"将字符串转为数组形式\r\n\t\tconst styleArray = customStyle.split(';')\r\n\t\tconst style = {}\r\n\t\t// 历遍数组,拼接成对象\r\n\t\tfor (let i = 0; i < styleArray.length; i++) {\r\n\t\t\t// 'font-size:20px;color:red;',如此最后字符串有\";\"的话,会导致styleArray最后一个元素为空字符串,这里需要过滤\r\n\t\t\tif (styleArray[i]) {\r\n\t\t\t\tconst item = styleArray[i].split(':')\r\n\t\t\t\tstyle[trim(item[0])] = trim(item[1])\r\n\t\t\t}\r\n\t\t}\r\n\t\treturn style\r\n\t}\r\n\t// 这里为对象转字符串形式\r\n\tlet string = ''\r\n\tif (typeof customStyle === 'object') {\r\n\t\tcustomStyle.forEach((val, i) => {\r\n\t\t\t// 驼峰转为中划线的形式,否则css内联样式,无法识别驼峰样式属性名\r\n\t\t\tconst key = i.replace(/([A-Z])/g, '-$1').toLowerCase()\r\n\t\t\tstring += `${key}:${val};`\r\n\t\t})\r\n\t}\r\n\t// 去除两端空格\r\n\treturn trim(string)\r\n}\r\n\r\n/**\r\n * @description 添加单位,如果有rpx,upx,%,px等单位结尾或者值为auto,直接返回,否则加上px单位结尾\r\n * @param {string|number} value 需要添加单位的值\r\n * @param {string} unit 添加的单位名 比如px\r\n */\r\nexport function addUnit(value = 'auto', unit = '') {\r\n\tif (!unit) {\r\n\t\tunit = config.unit || 'px'\r\n\t}\r\n\tif (unit == 'rpx' && testNumber(String(value))) {\r\n\t\tvalue = value * 2\r\n\t}\r\n\tvalue = String(value)\r\n\t// 用内置验证规则中的number判断是否为数值\r\n\treturn testNumber(value) ? `${value}${unit}` : value\r\n}\r\n\r\n/**\r\n * @description 深度克隆\r\n * @param {object} obj 需要深度克隆的对象\r\n * @returns {*} 克隆后的对象或者原值(不是对象)\r\n */\r\nexport function deepClone(obj) {\r\n\t// 对常见的“非”值,直接返回原来值\r\n\tif ([null, undefined, NaN, false].includes(obj)) return obj\r\n\tif (typeof obj !== 'object' && typeof obj !== 'function') {\r\n\t\t// 原始类型直接返回\r\n\t\treturn obj\r\n\t}\r\n\tconst o = testArray(obj) ? [] : {}\r\n\tfor (const i in obj) {\r\n\t\tif (obj.hasOwnProperty(i)) {\r\n\t\t\to[i] = typeof obj[i] === 'object' ? deepClone(obj[i]) : obj[i]\r\n\t\t}\r\n\t}\r\n\treturn o\r\n}\r\n\r\n/**\r\n * @description JS对象深度合并\r\n * @param {object} target 需要拷贝的对象\r\n * @param {object} source 拷贝的来源对象\r\n * @returns {object|boolean} 深度合并后的对象或者false(入参有不是对象)\r\n */\r\nexport function deepMerge(targetOrigin = {}, source = {}) {\r\n\tlet target = deepClone(targetOrigin)\r\n\tif (typeof target !== 'object' || typeof source !== 'object') return false\r\n\tfor (const prop in source) {\r\n\t\tif (!source.hasOwnProperty(prop)) continue\r\n\t\tif (prop in target) {\r\n\t\t\tif (source[prop] == null) {\r\n\t\t\t\ttarget[prop] = source[prop]\r\n\t\t\t}else if (typeof target[prop] !== 'object') {\r\n\t\t\t\ttarget[prop] = source[prop]\r\n\t\t\t} else if (typeof source[prop] !== 'object') {\r\n\t\t\t\ttarget[prop] = source[prop]\r\n\t\t\t} else if (target[prop].concat && source[prop].concat) {\r\n\t\t\t\ttarget[prop] = target[prop].concat(source[prop])\r\n\t\t\t} else {\r\n\t\t\t\ttarget[prop] = deepMerge(target[prop], source[prop])\r\n\t\t\t}\r\n\t\t} else {\r\n\t\t\ttarget[prop] = source[prop]\r\n\t\t}\r\n\t}\r\n\treturn target\r\n}\r\n/**\r\n * @description JS对象深度合并\r\n * @param {object} target 需要拷贝的对象\r\n * @param {object} source 拷贝的来源对象\r\n * @returns {object|boolean} 深度合并后的对象或者false(入参有不是对象)\r\n */\r\nexport function shallowMerge(target, source = {}) {\r\n\tif (typeof target !== 'object' || typeof source !== 'object') return false\r\n\tfor (const prop in source) {\r\n\t\tif (!source.hasOwnProperty(prop)) continue\r\n\t\tif (prop in target) {\r\n\t\t\tif (source[prop] == null) {\r\n\t\t\t\ttarget[prop] = source[prop]\r\n\t\t\t}else if (typeof target[prop] !== 'object') {\r\n\t\t\t\ttarget[prop] = source[prop]\r\n\t\t\t} else if (typeof source[prop] !== 'object') {\r\n\t\t\t\ttarget[prop] = source[prop]\r\n\t\t\t} else if (target[prop].concat && source[prop].concat) {\r\n\t\t\t\ttarget[prop] = target[prop].concat(source[prop])\r\n\t\t\t} else {\r\n\t\t\t\ttarget[prop] = shallowMerge(target[prop], source[prop])\r\n\t\t\t}\r\n\t\t} else {\r\n\t\t\ttarget[prop] = source[prop]\r\n\t\t}\r\n\t}\r\n\treturn target\r\n}\r\n\r\n/**\r\n * @description error提示\r\n * @param {*} err 错误内容\r\n */\r\nexport function error(err) {\r\n\t// 开发环境才提示,生产环境不会提示\r\n\tif (process.env.NODE_ENV === 'development') {\r\n\t\tconsole.error(`uView提示:${err}`)\r\n\t}\r\n}\r\n\r\n/**\r\n * @description 打乱数组\r\n * @param {array} array 需要打乱的数组\r\n * @returns {array} 打乱后的数组\r\n */\r\nexport function randomArray(array = []) {\r\n\t// 原理是sort排序,Math.random()产生0<= x < 1之间的数,会导致x-0.05大于或者小于0\r\n\treturn array.sort(() => Math.random() - 0.5)\r\n}\r\n\r\n// padStart 的 polyfill,因为某些机型或情况,还无法支持es7的padStart,比如电脑版的微信小程序\r\n// 所以这里做一个兼容polyfill的兼容处理\r\nif (!String.prototype.padStart) {\r\n\t// 为了方便表示这里 fillString 用了ES6 的默认参数,不影响理解\r\n\tString.prototype.padStart = function(maxLength, fillString = ' ') {\r\n\t\tif (Object.prototype.toString.call(fillString) !== '[object String]') {\r\n\t\t\tthrow new TypeError(\r\n\t\t\t\t'fillString must be String'\r\n\t\t\t)\r\n\t\t}\r\n\t\tconst str = this\r\n\t\t// 返回 String(str) 这里是为了使返回的值是字符串字面量,在控制台中更符合直觉\r\n\t\tif (str.length >= maxLength) return String(str)\r\n\r\n\t\tconst fillLength = maxLength - str.length\r\n\t\tlet times = Math.ceil(fillLength / fillString.length)\r\n\t\twhile (times >>= 1) {\r\n\t\t\tfillString += fillString\r\n\t\t\tif (times === 1) {\r\n\t\t\t\tfillString += fillString\r\n\t\t\t}\r\n\t\t}\r\n\t\treturn fillString.slice(0, fillLength) + str\r\n\t}\r\n}\r\n\r\n/**\r\n * @description 格式化时间\r\n * @param {String|Number} dateTime 需要格式化的时间戳\r\n * @param {String} fmt 格式化规则 yyyy:mm:dd|yyyy:mm|yyyy年mm月dd日|yyyy年mm月dd日 hh时MM分等,可自定义组合 默认yyyy-mm-dd\r\n * @returns {string} 返回格式化后的字符串\r\n */\r\nexport function timeFormat(dateTime = null, formatStr = 'yyyy-mm-dd') {\r\n let date\r\n\t// 若传入时间为假值,则取当前时间\r\n if (!dateTime) {\r\n date = new Date()\r\n }\r\n // 若为unix秒时间戳,则转为毫秒时间戳(逻辑有点奇怪,但不敢改,以保证历史兼容)\r\n else if (/^\\d{10}$/.test(dateTime.toString().trim())) {\r\n date = new Date(dateTime * 1000)\r\n }\r\n // 若用户传入字符串格式时间戳,new Date无法解析,需做兼容\r\n else if (typeof dateTime === 'string' && /^\\d+$/.test(dateTime.trim())) {\r\n date = new Date(Number(dateTime))\r\n }\r\n // 检查是否为UTC格式的时间字符串 (2024-12-18T02:25:31.432Z)\r\n else if (typeof dateTime === 'string' && /^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}\\.\\d{3}Z$/.test(dateTime)) {\r\n date = new Date(dateTime)\r\n }\r\n // 其他都认为符合 RFC 2822 规范\r\n else {\r\n // 处理平台性差异,在Safari/Webkit中,new Date仅支持/作为分割符的字符串时间\r\n date = new Date(\r\n typeof dateTime === 'string'\r\n ? dateTime.replace(/-/g, '/')\r\n : dateTime\r\n )\r\n }\r\n\r\n\tconst timeSource = {\r\n\t\t'y': date.getFullYear().toString(), // 年\r\n\t\t'm': (date.getMonth() + 1).toString().padStart(2, '0'), // 月\r\n\t\t'd': date.getDate().toString().padStart(2, '0'), // 日\r\n\t\t'h': date.getHours().toString().padStart(2, '0'), // 时\r\n\t\t'M': date.getMinutes().toString().padStart(2, '0'), // 分\r\n\t\t's': date.getSeconds().toString().padStart(2, '0') // 秒\r\n\t\t// 有其他格式化字符需求可以继续添加,必须转化成字符串\r\n\t}\r\n\r\n for (const key in timeSource) {\r\n const [ret] = new RegExp(`${key}+`).exec(formatStr) || []\r\n if (ret) {\r\n // 年可能只需展示两位\r\n const beginIndex = key === 'y' && ret.length === 2 ? 2 : 0\r\n formatStr = formatStr.replace(ret, timeSource[key].slice(beginIndex))\r\n }\r\n }\r\n\r\n return formatStr\r\n}\r\n\r\n/**\r\n * @description 时间戳转为多久之前\r\n * @param {String|Number} timestamp 时间戳\r\n * @param {String|Boolean} format \r\n * 格式化规则如果为时间格式字符串,超出一定时间范围,返回固定的时间格式;\r\n * 如果为布尔值false,无论什么时间,都返回多久以前的格式\r\n * @returns {string} 转化后的内容\r\n */\r\nexport function timeFrom(timestamp = null, format = 'yyyy-mm-dd') {\r\n\tif (timestamp == null) timestamp = Number(new Date())\r\n\ttimestamp = parseInt(timestamp)\r\n\t// 判断用户输入的时间戳是秒还是毫秒,一般前端js获取的时间戳是毫秒(13位),后端传过来的为秒(10位)\r\n\tif (timestamp.toString().length == 10) timestamp *= 1000\r\n\tlet timer = (new Date()).getTime() - timestamp\r\n\ttimer = parseInt(timer / 1000)\r\n\t// 如果小于5分钟,则返回\"刚刚\",其他以此类推\r\n\tlet tips = ''\r\n\tswitch (true) {\r\n\t\tcase timer < 300:\r\n\t\t\ttips = '刚刚'\r\n\t\t\tbreak\r\n\t\tcase timer >= 300 && timer < 3600:\r\n\t\t\ttips = `${parseInt(timer / 60)}分钟前`\r\n\t\t\tbreak\r\n\t\tcase timer >= 3600 && timer < 86400:\r\n\t\t\ttips = `${parseInt(timer / 3600)}小时前`\r\n\t\t\tbreak\r\n\t\tcase timer >= 86400 && timer < 2592000:\r\n\t\t\ttips = `${parseInt(timer / 86400)}天前`\r\n\t\t\tbreak\r\n\t\tdefault:\r\n\t\t\t// 如果format为false,则无论什么时间戳,都显示xx之前\r\n\t\t\tif (format === false) {\r\n\t\t\t\tif (timer >= 2592000 && timer < 365 * 86400) {\r\n\t\t\t\t\ttips = `${parseInt(timer / (86400 * 30))}个月前`\r\n\t\t\t\t} else {\r\n\t\t\t\t\ttips = `${parseInt(timer / (86400 * 365))}年前`\r\n\t\t\t\t}\r\n\t\t\t} else {\r\n\t\t\t\ttips = timeFormat(timestamp, format)\r\n\t\t\t}\r\n\t}\r\n\treturn tips\r\n}\r\n\r\n/**\r\n * @description 去除空格\r\n * @param String str 需要去除空格的字符串\r\n * @param String pos both(左右)|left|right|all 默认both\r\n */\r\nexport function trim(str, pos = 'both') {\r\n\tstr = String(str)\r\n\tif (pos == 'both') {\r\n\t\treturn str.replace(/^\\s+|\\s+$/g, '')\r\n\t}\r\n\tif (pos == 'left') {\r\n\t\treturn str.replace(/^\\s*/, '')\r\n\t}\r\n\tif (pos == 'right') {\r\n\t\treturn str.replace(/(\\s*$)/g, '')\r\n\t}\r\n\tif (pos == 'all') {\r\n\t\treturn str.replace(/\\s+/g, '')\r\n\t}\r\n\treturn str\r\n}\r\n\r\n/**\r\n * @description 对象转url参数\r\n * @param {object} data,对象\r\n * @param {Boolean} isPrefix,是否自动加上\"?\"\r\n * @param {string} arrayFormat 规则 indices|brackets|repeat|comma\r\n */\r\nexport function queryParams(data = {}, isPrefix = true, arrayFormat = 'brackets') {\r\n\tconst prefix = isPrefix ? '?' : ''\r\n\tconst _result = []\r\n\tif (['indices', 'brackets', 'repeat', 'comma'].indexOf(arrayFormat) == -1) arrayFormat = 'brackets'\r\n\tfor (const key in data) {\r\n\t\tconst value = data[key]\r\n\t\t// 去掉为空的参数\r\n\t\tif (['', undefined, null].indexOf(value) >= 0) {\r\n\t\t\tcontinue\r\n\t\t}\r\n\t\t// 如果值为数组,另行处理\r\n\t\tif (value.constructor === Array) {\r\n\t\t\t// e.g. {ids: [1, 2, 3]}\r\n\t\t\tswitch (arrayFormat) {\r\n\t\t\t\tcase 'indices':\r\n\t\t\t\t\t// 结果: ids[0]=1&ids[1]=2&ids[2]=3\r\n\t\t\t\t\tfor (let i = 0; i < value.length; i++) {\r\n\t\t\t\t\t\t_result.push(`${key}[${i}]=${value[i]}`)\r\n\t\t\t\t\t}\r\n\t\t\t\t\tbreak\r\n\t\t\t\tcase 'brackets':\r\n\t\t\t\t\t// 结果: ids[]=1&ids[]=2&ids[]=3\r\n\t\t\t\t\tvalue.forEach((_value) => {\r\n\t\t\t\t\t\t_result.push(`${key}[]=${_value}`)\r\n\t\t\t\t\t})\r\n\t\t\t\t\tbreak\r\n\t\t\t\tcase 'repeat':\r\n\t\t\t\t\t// 结果: ids=1&ids=2&ids=3\r\n\t\t\t\t\tvalue.forEach((_value) => {\r\n\t\t\t\t\t\t_result.push(`${key}=${_value}`)\r\n\t\t\t\t\t})\r\n\t\t\t\t\tbreak\r\n\t\t\t\tcase 'comma':\r\n\t\t\t\t\t// 结果: ids=1,2,3\r\n\t\t\t\t\tlet commaStr = ''\r\n\t\t\t\t\tvalue.forEach((_value) => {\r\n\t\t\t\t\t\tcommaStr += (commaStr ? ',' : '') + _value\r\n\t\t\t\t\t})\r\n\t\t\t\t\t_result.push(`${key}=${commaStr}`)\r\n\t\t\t\t\tbreak\r\n\t\t\t\tdefault:\r\n\t\t\t\t\tvalue.forEach((_value) => {\r\n\t\t\t\t\t\t_result.push(`${key}[]=${_value}`)\r\n\t\t\t\t\t})\r\n\t\t\t}\r\n\t\t} else {\r\n\t\t\t_result.push(`${key}=${value}`)\r\n\t\t}\r\n\t}\r\n\treturn _result.length ? prefix + _result.join('&') : ''\r\n}\r\n\r\n/**\r\n * 显示消息提示框\r\n * @param {String} title 提示的内容,长度与 icon 取值有关。\r\n * @param {Number} duration 提示的延迟时间,单位毫秒,默认:2000\r\n */\r\nexport function toast(title, duration = 2000) {\r\n\tuni.showToast({\r\n\t\ttitle: String(title),\r\n\t\ticon: 'none',\r\n\t\tduration\r\n\t})\r\n}\r\n\r\n/**\r\n * @description 根据主题type值,获取对应的图标\r\n * @param {String} type 主题名称,primary|info|error|warning|success\r\n * @param {boolean} fill 是否使用fill填充实体的图标\r\n */\r\nexport function type2icon(type = 'success', fill = false) {\r\n\t// 如果非预置值,默认为success\r\n\tif (['primary', 'info', 'error', 'warning', 'success'].indexOf(type) == -1) type = 'success'\r\n\tlet iconName = ''\r\n\t// 目前(2019-12-12),info和primary使用同一个图标\r\n\tswitch (type) {\r\n\t\tcase 'primary':\r\n\t\t\ticonName = 'info-circle'\r\n\t\t\tbreak\r\n\t\tcase 'info':\r\n\t\t\ticonName = 'info-circle'\r\n\t\t\tbreak\r\n\t\tcase 'error':\r\n\t\t\ticonName = 'close-circle'\r\n\t\t\tbreak\r\n\t\tcase 'warning':\r\n\t\t\ticonName = 'error-circle'\r\n\t\t\tbreak\r\n\t\tcase 'success':\r\n\t\t\ticonName = 'checkmark-circle'\r\n\t\t\tbreak\r\n\t\tdefault:\r\n\t\t\ticonName = 'checkmark-circle'\r\n\t}\r\n\t// 是否是实体类型,加上-fill,在icon组件库中,实体的类名是后面加-fill的\r\n\tif (fill) iconName += '-fill'\r\n\treturn iconName\r\n}\r\n\r\n/**\r\n * @description 数字格式化\r\n * @param {number|string} number 要格式化的数字\r\n * @param {number} decimals 保留几位小数\r\n * @param {string} decimalPoint 小数点符号\r\n * @param {string} thousandsSeparator 千分位符号\r\n * @returns {string} 格式化后的数字\r\n */\r\nexport function priceFormat(number, decimals = 0, decimalPoint = '.', thousandsSeparator = ',') {\r\n\tnumber = (`${number}`).replace(/[^0-9+-Ee.]/g, '')\r\n\tconst n = !isFinite(+number) ? 0 : +number\r\n\tconst prec = !isFinite(+decimals) ? 0 : Math.abs(decimals)\r\n\tconst sep = (typeof thousandsSeparator === 'undefined') ? ',' : thousandsSeparator\r\n\tconst dec = (typeof decimalPoint === 'undefined') ? '.' : decimalPoint\r\n\tlet s = ''\r\n\r\n\ts = (prec ? round(n, prec) + '' : `${Math.round(n)}`).split('.')\r\n\tconst re = /(-?\\d+)(\\d{3})/\r\n\twhile (re.test(s[0])) {\r\n\t\ts[0] = s[0].replace(re, `$1${sep}$2`)\r\n\t}\r\n\t\r\n\tif ((s[1] || '').length < prec) {\r\n\t\ts[1] = s[1] || ''\r\n\t\ts[1] += new Array(prec - s[1].length + 1).join('0')\r\n\t}\r\n\treturn s.join(dec)\r\n}\r\n\r\n/**\r\n * @description 获取duration值\r\n * 如果带有ms或者s直接返回,如果大于一定值,认为是ms单位,小于一定值,认为是s单位\r\n * 比如以30位阈值,那么300大于30,可以理解为用户想要的是300ms,而不是想花300s去执行一个动画\r\n * @param {String|number} value 比如: \"1s\"|\"100ms\"|1|100\r\n * @param {boolean} unit 提示: 如果是false 默认返回number\r\n * @return {string|number} \r\n */\r\nexport function getDuration(value, unit = true) {\r\n\tconst valueNum = parseInt(value)\r\n\tif (unit) {\r\n\t\tif (/s$/.test(value)) return value\r\n\t\treturn value > 30 ? `${value}ms` : `${value}s`\r\n\t}\r\n\tif (/ms$/.test(value)) return valueNum\r\n\tif (/s$/.test(value)) return valueNum > 30 ? valueNum : valueNum * 1000\r\n\treturn valueNum\r\n}\r\n\r\n/**\r\n * @description 日期的月或日补零操作\r\n * @param {String} value 需要补零的值\r\n */\r\nexport function padZero(value) {\r\n\treturn `00${value}`.slice(-2)\r\n}\r\n\r\n/**\r\n * @description 在u-form的子组件内容发生变化,或者失去焦点时,尝试通知u-form执行校验方法\r\n * @param {*} instance\r\n * @param {*} event\r\n */\r\nexport function formValidate(instance, event) {\r\n\tconst formItem = $parent.call(instance, 'u-form-item')\r\n\tconst form = $parent.call(instance, 'u-form')\r\n\t// 如果发生变化的input或者textarea等,其父组件中有u-form-item或者u-form等,就执行form的validate方法\r\n\t// 同时将form-item的pros传递给form,让其进行精确对象验证\r\n\tif (formItem && form) {\r\n\t\tform.validateField(formItem.prop, () => {}, event)\r\n\t}\r\n}\r\n\r\n/**\r\n * @description 获取某个对象下的属性,用于通过类似'a.b.c'的形式去获取一个对象的的属性的形式\r\n * @param {object} obj 对象\r\n * @param {string} key 需要获取的属性字段\r\n * @returns {*}\r\n */\r\nexport function getProperty(obj, key) {\r\n\tif (typeof obj !== 'object' || null == obj) {\r\n return ''\r\n }\r\n\tif (typeof key !== 'string' || key === '') {\r\n\t\treturn ''\r\n\t}\r\n\tif (key.indexOf('.') !== -1) {\r\n\t\tconst keys = key.split('.')\r\n\t\tlet firstObj = obj[keys[0]] || {}\r\n\r\n\t\tfor (let i = 1; i < keys.length; i++) {\r\n\t\t\tif (firstObj) {\r\n\t\t\t\tfirstObj = firstObj[keys[i]]\r\n\t\t\t}\r\n\t\t}\r\n\t\treturn firstObj\r\n\t}\r\n\treturn obj[key]\r\n}\r\n\r\n/**\r\n * @description 设置对象的属性值,如果'a.b.c'的形式进行设置\r\n * @param {object} obj 对象\r\n * @param {string} key 需要设置的属性\r\n * @param {string} value 设置的值\r\n */\r\nexport function setProperty(obj, key, value) {\r\n\tif (typeof obj !== 'object' || null == obj) {\r\n\t\treturn\r\n\t}\r\n\t// 递归赋值\r\n\tconst inFn = function(_obj, keys, v) {\r\n\t\t// 最后一个属性key\r\n\t\tif (keys.length === 1) {\r\n\t\t\t_obj[keys[0]] = v\r\n\t\t\treturn\r\n\t\t}\r\n\t\t// 0~length-1个key\r\n\t\twhile (keys.length > 1) {\r\n\t\t\tconst k = keys[0]\r\n\t\t\tif (!_obj[k] || (typeof _obj[k] !== 'object')) {\r\n\t\t\t\t_obj[k] = {}\r\n\t\t\t}\r\n\t\t\tconst key = keys.shift()\r\n\t\t\t// 自调用判断是否存在属性,不存在则自动创建对象\r\n\t\t\tinFn(_obj[k], keys, v)\r\n\t\t}\r\n\t}\r\n\r\n\tif (typeof key !== 'string' || key === '') {\r\n\r\n\t} else if (key.indexOf('.') !== -1) { // 支持多层级赋值操作\r\n\t\tconst keys = key.split('.')\r\n\t\tinFn(obj, keys, value)\r\n\t} else {\r\n\t\tobj[key] = value\r\n\t}\r\n}\r\n\r\n/**\r\n * @description 获取当前页面路径\r\n */\r\nexport function page() {\r\n\tconst pages = getCurrentPages()\r\n\t// 某些特殊情况下(比如页面进行redirectTo时的一些时机),pages可能为空数组\r\n\treturn `/${pages[pages.length - 1].route || ''}`\r\n}\r\n\r\n/**\r\n * @description 获取当前路由栈实例数组\r\n */\r\nexport function pages() {\r\n\tconst pages = getCurrentPages()\r\n\treturn pages\r\n}\r\n\r\nexport function getValueByPath(obj, path) {\r\n // 将路径字符串按 '.' 分割成数组\r\n const pathArr = path.split('.');\r\n // 使用 reduce 方法从 obj 开始,逐级访问嵌套属性\r\n return pathArr.reduce((acc, curr) => {\r\n // 如果当前累加器(acc)是对象且包含当前键(curr),则返回该键对应的值\r\n // 否则返回 undefined(表示路径不存在)\r\n return acc && acc[curr] !== undefined ? acc[curr] : undefined;\r\n }, obj);\r\n}\r\n\r\n/**\r\n * 生成同色系浅色背景色\r\n * @param {string} textColor - 支持 #RGB、#RRGGBB、rgb()、rgba() 格式\r\n * @param {number} [lightness=85] - 目标亮度百分比(默认85%)\r\n * @returns {string} 十六进制颜色值\r\n */\r\nexport function genLightColor(textColor, lightness = 95) {\r\n\t// 手动解析颜色值(避免使用document)\r\n\tconst rgb = parseColorWithoutDOM(textColor);\r\n\t\r\n\t// RGB转HSL色域\r\n\tconst hsl = rgbToHsl(rgb.r, rgb.g, rgb.b);\r\n\t\r\n\t// 生成浅色背景\r\n\tconst bgHsl = {\r\n\t h: hsl.h,\r\n\t s: hsl.s,\r\n\t l: Math.min(lightness, 95)\r\n\t};\r\n\t\r\n\treturn hslToHex(bgHsl.h, bgHsl.s, bgHsl.l);\r\n }\r\n \r\n /* 手动解析颜色字符串(兼容uni-app环境) */\r\n function parseColorWithoutDOM(colorStr) {\r\n\t// 统一转小写处理\r\n\tconst str = colorStr.toLowerCase().trim();\r\n\t\r\n\t// 处理十六进制格式\r\n\tif (str.startsWith('#')) {\r\n\t const hex = str.replace('#', '');\r\n\t const fullHex = hex.length === 3 ? \r\n\t\thex.split('').map(c => c + c).join('') : hex;\r\n\t\t\r\n\t return {\r\n\t\tr: parseInt(fullHex.substring(0,2), 16),\r\n\t\tg: parseInt(fullHex.substring(2,4), 16),\r\n\t\tb: parseInt(fullHex.substring(4,6), 16)\r\n\t };\r\n\t}\r\n\t\r\n\t// 处理rgb/rgba格式\r\n\tconst rgbMatch = str.match(/rgba?\\((\\d+),\\s*(\\d+),\\s*(\\d+)/);\r\n\tif (rgbMatch) {\r\n\t return {\r\n\t\tr: +rgbMatch[1],\r\n\t\tg: +rgbMatch[2],\r\n\t\tb: +rgbMatch[3]\r\n\t };\r\n\t}\r\n\t\r\n\tthrow new Error('Invalid color format');\r\n }\r\n\r\n// 辅助函数:RGB 转 HSL(色相、饱和度、亮度)\r\nfunction rgbToHsl(r, g, b) {\r\n r /= 255, g /= 255, b /= 255;\r\n const max = Math.max(r, g, b), min = Math.min(r, g, b);\r\n let h, s, l = (max + min) / 2;\r\n\r\n if (max === min) {\r\n h = s = 0; // achromatic\r\n } else {\r\n const d = max - min;\r\n s = l > 0.5 ? d / (2 - max - min) : d / (max + min);\r\n switch (max) {\r\n\t case r: h = (g - b) / d + (g < b ? 6 : 0); break;\r\n\t case g: h = (b - r) / d + 2; break;\r\n\t case b: h = (r - g) / d + 4; break;\r\n }\r\n h = (h * 60).toFixed(1);\r\n }\r\n return { h: +h, s: +(s * 100).toFixed(1), l: +(l * 100).toFixed(1) };\r\n}\r\n\r\n// 辅助函数:HSL 转十六进制\r\nfunction hslToHex(h, s, l) {\r\n l /= 100;\r\n const a = s * Math.min(l, 1 - l) / 100;\r\n const f = n => {\r\n const k = (n + h / 30) % 12;\r\n const color = l - a * Math.max(Math.min(k - 3, 9 - k, 1), -1);\r\n return Math.round(255 * color).toString(16).padStart(2, '0');\r\n };\r\n return `#${f(0)}${f(8)}${f(4)}`;\r\n}\r\n\r\nexport default {\r\n\trange,\r\n\tgetPx,\r\n\tsleep,\r\n\tos,\r\n\tsys,\r\n\tgetWindowInfo,\r\n\trandom,\r\n\tguid,\r\n\t$parent,\r\n\taddStyle,\r\n\taddUnit,\r\n\tdeepClone,\r\n\tdeepMerge,\r\n shallowMerge,\r\n\terror,\r\n\trandomArray,\r\n\ttimeFormat,\r\n\ttimeFrom,\r\n\ttrim,\r\n\tqueryParams,\r\n\ttoast,\r\n\ttype2icon,\r\n\tpriceFormat,\r\n\tgetDuration,\r\n\tpadZero,\r\n\tformValidate,\r\n\tgetProperty,\r\n\tsetProperty,\r\n\tpage,\r\n\tpages,\r\n\tgetValueByPath,\r\n\tgenLightColor,\r\n\trpx2px\r\n}\r\n"],"names":["testNumber","uni","testEmpty","config","testArray","round","pages"],"mappings":"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"} \ No newline at end of file diff --git a/unpackage/dist/dev/.sourcemap/mp-weixin/utils/draftCache.js.map b/unpackage/dist/dev/.sourcemap/mp-weixin/utils/draftCache.js.map new file mode 100644 index 0000000..7ab049b --- /dev/null +++ b/unpackage/dist/dev/.sourcemap/mp-weixin/utils/draftCache.js.map @@ -0,0 +1 @@ +{"version":3,"file":"draftCache.js","sources":["utils/draftCache.js"],"sourcesContent":["/** 草稿 Storage 命名空间(统一 key 前缀) */\nexport const DRAFT_NS = {\n\tASSIGN: 'draft_assign',\n\tACCEPT: 'draft_accept',\n\tRECTIFY: 'draft_rectify',\n\tINSPECTION_RESULT: 'draft_inspection_result',\n\tINSPECTION_SHEET: 'draft_inspection_sheet'\n};\n\n/**\n * 构建草稿 Storage key(与迁移前页面逻辑一致,保留空片段)\n * 例:draft_rectify_100_ 、draft_accept_\n * @param {string} namespace 命名空间,如 DRAFT_NS.ASSIGN\n * @param {...string|number} parts 业务 id 片段\n */\nexport function buildDraftKey(namespace, ...parts) {\n\treturn [namespace, ...parts.map((p) => String(p ?? ''))].join('_');\n}\n\n/** 迁移期 compact key(曾错误地 filter 掉空片段) */\nexport function buildDraftKeyCompact(namespace, ...parts) {\n\treturn [namespace, ...parts.map((p) => String(p ?? '')).filter(Boolean)].join('_');\n}\n\n/**\n * 读取草稿,支持回退到其它 key(迁移兼容)\n * @param {string} primaryKey\n * @param {string[]} [fallbackKeys]\n */\nexport function loadDraftWithFallback(primaryKey, fallbackKeys = []) {\n\tconst primary = loadDraft(primaryKey);\n\tif (primary) {\n\t\treturn { data: primary, key: primaryKey, fromFallback: false };\n\t}\n\n\tfor (const fallbackKey of fallbackKeys) {\n\t\tif (!fallbackKey || fallbackKey === primaryKey) continue;\n\t\tconst fallback = loadDraft(fallbackKey);\n\t\tif (fallback) {\n\t\t\treturn { data: fallback, key: primaryKey, fromFallback: true, fallbackKey };\n\t\t}\n\t}\n\n\treturn { data: null, key: primaryKey, fromFallback: false };\n}\n\n/**\n * 读取草稿\n * @param {string} key\n * @returns {Object|null}\n */\nexport function loadDraft(key) {\n\tif (!key) return null;\n\n\tconst raw = uni.getStorageSync(key);\n\tif (!raw) return null;\n\n\ttry {\n\t\treturn typeof raw === 'string' ? JSON.parse(raw) : raw;\n\t} catch (error) {\n\t\tconsole.error('[draftCache] 解析草稿失败:', key, error);\n\t\treturn null;\n\t}\n}\n\n/**\n * 写入草稿\n * @param {string} key\n * @param {Object} data\n */\nexport function saveDraftToStorage(key, data) {\n\tif (!key) return;\n\n\tuni.setStorageSync(\n\t\tkey,\n\t\tJSON.stringify({\n\t\t\t...data,\n\t\t\tupdatedAt: Date.now()\n\t\t})\n\t);\n}\n\n/**\n * 删除草稿\n * @param {string} key\n */\nexport function removeDraft(key) {\n\tif (!key) return;\n\tuni.removeStorageSync(key);\n}\n\n/** 默认:payload 中任一字段有值即视为有内容(忽略 updatedAt) */\nexport function defaultHasContent(payload) {\n\tif (!payload || typeof payload !== 'object') return false;\n\n\treturn Object.entries(payload).some(([key, value]) => {\n\t\tif (key === 'updatedAt') return false;\n\t\tif (Array.isArray(value)) return value.length > 0;\n\t\tif (value && typeof value === 'object') return Object.keys(value).length > 0;\n\t\treturn value !== '' && value != null;\n\t});\n}\n"],"names":["uni"],"mappings":";;AACY,MAAC,WAAW;AAAA,EACvB,QAAQ;AAAA,EACR,QAAQ;AAAA,EACR,SAAS;AAAA,EACT,mBAAmB;AAAA,EACnB,kBAAkB;AACnB;AAQO,SAAS,cAAc,cAAc,OAAO;AAClD,SAAO,CAAC,WAAW,GAAG,MAAM,IAAI,CAAC,MAAM,OAAO,KAAK,EAAE,CAAC,CAAC,EAAE,KAAK,GAAG;AAClE;AAGO,SAAS,qBAAqB,cAAc,OAAO;AACzD,SAAO,CAAC,WAAW,GAAG,MAAM,IAAI,CAAC,MAAM,OAAO,KAAK,EAAE,CAAC,EAAE,OAAO,OAAO,CAAC,EAAE,KAAK,GAAG;AAClF;AAOO,SAAS,sBAAsB,YAAY,eAAe,IAAI;AACpE,QAAM,UAAU,UAAU,UAAU;AACpC,MAAI,SAAS;AACZ,WAAO,EAAE,MAAM,SAAS,KAAK,YAAY,cAAc;EACvD;AAED,aAAW,eAAe,cAAc;AACvC,QAAI,CAAC,eAAe,gBAAgB;AAAY;AAChD,UAAM,WAAW,UAAU,WAAW;AACtC,QAAI,UAAU;AACb,aAAO,EAAE,MAAM,UAAU,KAAK,YAAY,cAAc,MAAM;IAC9D;AAAA,EACD;AAED,SAAO,EAAE,MAAM,MAAM,KAAK,YAAY,cAAc;AACrD;AAOO,SAAS,UAAU,KAAK;AAC9B,MAAI,CAAC;AAAK,WAAO;AAEjB,QAAM,MAAMA,cAAAA,MAAI,eAAe,GAAG;AAClC,MAAI,CAAC;AAAK,WAAO;AAEjB,MAAI;AACH,WAAO,OAAO,QAAQ,WAAW,KAAK,MAAM,GAAG,IAAI;AAAA,EACnD,SAAQ,OAAO;AACfA,kBAAc,MAAA,MAAA,SAAA,6BAAA,wBAAwB,KAAK,KAAK;AAChD,WAAO;AAAA,EACP;AACF;AAOO,SAAS,mBAAmB,KAAK,MAAM;AAC7C,MAAI,CAAC;AAAK;AAEVA,gBAAAA,MAAI;AAAA,IACH;AAAA,IACA,KAAK,UAAU;AAAA,MACd,GAAG;AAAA,MACH,WAAW,KAAK,IAAK;AAAA,IACxB,CAAG;AAAA,EACH;AACA;AAMO,SAAS,YAAY,KAAK;AAChC,MAAI,CAAC;AAAK;AACVA,sBAAI,kBAAkB,GAAG;AAC1B;AAGO,SAAS,kBAAkB,SAAS;AAC1C,MAAI,CAAC,WAAW,OAAO,YAAY;AAAU,WAAO;AAEpD,SAAO,OAAO,QAAQ,OAAO,EAAE,KAAK,CAAC,CAAC,KAAK,KAAK,MAAM;AACrD,QAAI,QAAQ;AAAa,aAAO;AAChC,QAAI,MAAM,QAAQ,KAAK;AAAG,aAAO,MAAM,SAAS;AAChD,QAAI,SAAS,OAAO,UAAU;AAAU,aAAO,OAAO,KAAK,KAAK,EAAE,SAAS;AAC3E,WAAO,UAAU,MAAM,SAAS;AAAA,EAClC,CAAE;AACF;;;;;;;;"} \ No newline at end of file diff --git a/unpackage/dist/dev/.sourcemap/mp-weixin/utils/useDraftCache.js.map b/unpackage/dist/dev/.sourcemap/mp-weixin/utils/useDraftCache.js.map new file mode 100644 index 0000000..a84ca21 --- /dev/null +++ b/unpackage/dist/dev/.sourcemap/mp-weixin/utils/useDraftCache.js.map @@ -0,0 +1 @@ +{"version":3,"file":"useDraftCache.js","sources":["utils/useDraftCache.js"],"sourcesContent":["import { ref, nextTick, watch } from 'vue';\nimport {\n\tloadDraftWithFallback,\n\tsaveDraftToStorage,\n\tremoveDraft,\n\tdefaultHasContent\n} from './draftCache.js';\n\n/**\n * 页面草稿 Composable:统一 save / restore / clear 流程\n *\n * @param {Object} options\n * @param {() => string} options.getKey 返回 Storage key\n * @param {() => Object} options.getPayload 返回要保存的数据\n * @param {(payload: Object) => boolean} [options.hasContent] 判断是否有有效草稿\n * @param {(payload: Object) => void} options.applyPayload 恢复草稿到表单\n * @param {() => void} options.clearForm 清空表单\n * @param {() => boolean} [options.canSave] 是否允许保存(如 hazardId 未就绪时为 false)\n * @param {boolean} [options.requireInitialized=false] 为 true 时,restore 完成前不自动 save\n * @param {string} [options.restoreToast]\n * @param {string} [options.clearToast]\n * @param {boolean} [options.showRestoreToast=true]\n * @param {(payload: Object) => void} [options.onAfterRestore] 恢复并 apply 后的额外处理\n * @param {() => string[]} [options.getFallbackKeys] 读取草稿时的兼容 key 列表\n */\nexport function useDraftCache(options) {\n\tconst {\n\t\tgetKey,\n\t\tgetPayload,\n\t\thasContent = defaultHasContent,\n\t\tapplyPayload,\n\t\tclearForm,\n\t\tcanSave = () => true,\n\t\trequireInitialized = false,\n\t\trestoreToast = '已自动恢复您上次未提交的内容',\n\t\tclearToast = '草稿已清空',\n\t\tshowRestoreToast = true,\n\t\tonAfterRestore,\n\t\tgetFallbackKeys\n\t} = options;\n\n\tconst hasDraft = ref(false);\n\tconst showRestoreBanner = ref(false);\n\tconst isRestoring = ref(false);\n\tconst isInitialized = ref(false);\n\n\tconst finishRestoreState = (callback) => {\n\t\tnextTick(() => {\n\t\t\tisRestoring.value = false;\n\t\t\tisInitialized.value = true;\n\t\t\tcallback?.();\n\t\t});\n\t};\n\n\tconst save = () => {\n\t\tif (isRestoring.value) return;\n\t\tif (requireInitialized && !isInitialized.value) return;\n\t\tif (!canSave()) return;\n\n\t\tconst key = getKey();\n\t\tconst payload = getPayload();\n\n\t\tif (!hasContent(payload)) {\n\t\t\tremoveDraft(key);\n\t\t\thasDraft.value = false;\n\t\t\treturn;\n\t\t}\n\n\t\tsaveDraftToStorage(key, payload);\n\t\thasDraft.value = true;\n\t};\n\n\tconst clear = (showToast = true) => {\n\t\tremoveDraft(getKey());\n\t\thasDraft.value = false;\n\t\tshowRestoreBanner.value = false;\n\t\tisRestoring.value = true;\n\t\tclearForm();\n\t\tfinishRestoreState();\n\n\t\tif (showToast) {\n\t\t\tuni.showToast({ title: clearToast, icon: 'none' });\n\t\t}\n\t};\n\n\t/**\n\t * 恢复草稿\n\t * @returns {boolean} 是否成功恢复\n\t */\n\tconst restore = () => {\n\t\tconst key = getKey();\n\t\tconst { data, fromFallback, fallbackKey } = loadDraftWithFallback(\n\t\t\tkey,\n\t\t\tgetFallbackKeys?.() || []\n\t\t);\n\n\t\tif (!data || !hasContent(data)) {\n\t\t\tisInitialized.value = true;\n\t\t\treturn false;\n\t\t}\n\n\t\tisRestoring.value = true;\n\n\t\ttry {\n\t\t\tapplyPayload(data);\n\t\t\thasDraft.value = true;\n\t\t\tshowRestoreBanner.value = true;\n\t\t\tonAfterRestore?.(data);\n\n\t\t\t// 从兼容 key 读到后,立即写回标准 key 并清理旧 key\n\t\t\tif (fromFallback && fallbackKey) {\n\t\t\t\tsaveDraftToStorage(key, data);\n\t\t\t\tremoveDraft(fallbackKey);\n\t\t\t}\n\n\t\t\tfinishRestoreState(() => {\n\t\t\t\tif (showRestoreToast) {\n\t\t\t\t\tuni.showToast({\n\t\t\t\t\t\ttitle: restoreToast,\n\t\t\t\t\t\ticon: 'none',\n\t\t\t\t\t\tduration: 2500\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t});\n\n\t\t\treturn true;\n\t\t} catch (error) {\n\t\t\tconsole.error('[useDraftCache] 恢复草稿失败:', error);\n\t\t\tisRestoring.value = false;\n\t\t\tisInitialized.value = true;\n\t\t\treturn false;\n\t\t}\n\t};\n\n\t/**\n\t * 绑定自动保存(等价于页面里的 watch + saveDraft)\n\t * @param {import('vue').WatchSource|import('vue').WatchSource[]} source\n * @param {import('vue').WatchOptions} [watchOptions]\n\t */\n\tconst bindAutoSave = (source, watchOptions = {}) => {\n\t\twatch(\n\t\t\tsource,\n\t\t\t() => save(),\n\t\t\t{ deep: true, ...watchOptions }\n\t\t);\n\t};\n\n\treturn {\n\t\thasDraft,\n\t\tshowRestoreBanner,\n\t\tisRestoring,\n\t\tisInitialized,\n\t\tsave,\n\t\tclear,\n\t\trestore,\n\t\tbindAutoSave\n\t};\n}\n"],"names":["defaultHasContent","ref","nextTick","removeDraft","saveDraftToStorage","uni","loadDraftWithFallback","watch"],"mappings":";;;AAyBO,SAAS,cAAc,SAAS;AACtC,QAAM;AAAA,IACL;AAAA,IACA;AAAA,IACA,aAAaA,iBAAiB;AAAA,IAC9B;AAAA,IACA;AAAA,IACA,UAAU,MAAM;AAAA,IAChB,qBAAqB;AAAA,IACrB,eAAe;AAAA,IACf,aAAa;AAAA,IACb,mBAAmB;AAAA,IACnB;AAAA,IACA;AAAA,EACA,IAAG;AAEJ,QAAM,WAAWC,kBAAI,KAAK;AAC1B,QAAM,oBAAoBA,kBAAI,KAAK;AACnC,QAAM,cAAcA,kBAAI,KAAK;AAC7B,QAAM,gBAAgBA,kBAAI,KAAK;AAE/B,QAAM,qBAAqB,CAAC,aAAa;AACxCC,kBAAAA,WAAS,MAAM;AACd,kBAAY,QAAQ;AACpB,oBAAc,QAAQ;AACtB;AAAA,IACH,CAAG;AAAA,EACH;AAEC,QAAM,OAAO,MAAM;AAClB,QAAI,YAAY;AAAO;AACvB,QAAI,sBAAsB,CAAC,cAAc;AAAO;AAChD,QAAI,CAAC,QAAO;AAAI;AAEhB,UAAM,MAAM;AACZ,UAAM,UAAU;AAEhB,QAAI,CAAC,WAAW,OAAO,GAAG;AACzBC,uBAAW,YAAC,GAAG;AACf,eAAS,QAAQ;AACjB;AAAA,IACA;AAEDC,wCAAmB,KAAK,OAAO;AAC/B,aAAS,QAAQ;AAAA,EACnB;AAEC,QAAM,QAAQ,CAAC,YAAY,SAAS;AACnCD,qBAAW,YAAC,OAAM,CAAE;AACpB,aAAS,QAAQ;AACjB,sBAAkB,QAAQ;AAC1B,gBAAY,QAAQ;AACpB;AACA;AAEA,QAAI,WAAW;AACdE,oBAAG,MAAC,UAAU,EAAE,OAAO,YAAY,MAAM,OAAM,CAAE;AAAA,IACjD;AAAA,EACH;AAMC,QAAM,UAAU,MAAM;AACrB,UAAM,MAAM;AACZ,UAAM,EAAE,MAAM,cAAc,YAAa,IAAGC,iBAAqB;AAAA,MAChE;AAAA,OACA,yDAAuB,CAAE;AAAA,IAC5B;AAEE,QAAI,CAAC,QAAQ,CAAC,WAAW,IAAI,GAAG;AAC/B,oBAAc,QAAQ;AACtB,aAAO;AAAA,IACP;AAED,gBAAY,QAAQ;AAEpB,QAAI;AACH,mBAAa,IAAI;AACjB,eAAS,QAAQ;AACjB,wBAAkB,QAAQ;AAC1B,uDAAiB;AAGjB,UAAI,gBAAgB,aAAa;AAChCF,4CAAmB,KAAK,IAAI;AAC5BD,yBAAW,YAAC,WAAW;AAAA,MACvB;AAED,yBAAmB,MAAM;AACxB,YAAI,kBAAkB;AACrBE,wBAAAA,MAAI,UAAU;AAAA,YACb,OAAO;AAAA,YACP,MAAM;AAAA,YACN,UAAU;AAAA,UAChB,CAAM;AAAA,QACD;AAAA,MACL,CAAI;AAED,aAAO;AAAA,IACP,SAAQ,OAAO;AACfA,oBAAA,MAAA,MAAA,SAAA,iCAAc,2BAA2B,KAAK;AAC9C,kBAAY,QAAQ;AACpB,oBAAc,QAAQ;AACtB,aAAO;AAAA,IACP;AAAA,EACH;AAOC,QAAM,eAAe,CAAC,QAAQ,eAAe,CAAA,MAAO;AACnDE,kBAAK;AAAA,MACJ;AAAA,MACA,MAAM,KAAM;AAAA,MACZ,EAAE,MAAM,MAAM,GAAG,aAAc;AAAA,IAClC;AAAA,EACA;AAEC,SAAO;AAAA,IACN;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACF;AACA;;"} \ No newline at end of file diff --git a/unpackage/dist/dev/mp-weixin/app.js b/unpackage/dist/dev/mp-weixin/app.js index a7fe0c7..a4b654a 100644 --- a/unpackage/dist/dev/mp-weixin/app.js +++ b/unpackage/dist/dev/mp-weixin/app.js @@ -7,6 +7,8 @@ if (!Math) { "./pages/map/map.js"; "./pages/plandetail/plandetail.js"; "./pages/Inspectionresult/Inspectionresult.js"; + "./pages/Inspectionresult/list.js"; + "./pages/Inspectionresult/detail.js"; "./pages/membermanagemen/membermanagemen.js"; "./pages/corporateInformation/corporateInformation.js"; "./pages/editcompanInformation/editcompanInformation.js"; @@ -17,6 +19,7 @@ if (!Math) { "./pages/Idphotomanagement/Idphotomanagement.js"; "./pages/hiddendanger/Inspection.js"; "./pages/hiddendanger/view.js"; + "./pages/hiddendanger/detail2.js"; "./pages/hiddendanger/rectification.js"; "./pages/hiddendanger/acceptance.js"; "./pages/hiddendanger/assignment.js"; diff --git a/unpackage/dist/dev/mp-weixin/app.json b/unpackage/dist/dev/mp-weixin/app.json index da07c2d..e94168d 100644 --- a/unpackage/dist/dev/mp-weixin/app.json +++ b/unpackage/dist/dev/mp-weixin/app.json @@ -4,6 +4,8 @@ "pages/map/map", "pages/plandetail/plandetail", "pages/Inspectionresult/Inspectionresult", + "pages/Inspectionresult/list", + "pages/Inspectionresult/detail", "pages/membermanagemen/membermanagemen", "pages/corporateInformation/corporateInformation", "pages/editcompanInformation/editcompanInformation", @@ -14,6 +16,7 @@ "pages/Idphotomanagement/Idphotomanagement", "pages/hiddendanger/Inspection", "pages/hiddendanger/view", + "pages/hiddendanger/detail2", "pages/hiddendanger/rectification", "pages/hiddendanger/acceptance", "pages/hiddendanger/assignment", diff --git a/unpackage/dist/dev/mp-weixin/common/assets.js b/unpackage/dist/dev/mp-weixin/common/assets.js index d99c1df..ba859f8 100644 --- a/unpackage/dist/dev/mp-weixin/common/assets.js +++ b/unpackage/dist/dev/mp-weixin/common/assets.js @@ -1,5 +1,7 @@ "use strict"; -const _imports_0$6 = "/static/home_icon/jianbianbeijing.png"; +const _imports_0$7 = "/static/home_icon/jianbianbeijing.png"; +const _imports_0$6 = "/static/yinhuan_detail/status.png"; +const _imports_1$4 = "/static/yinhuan_detail/date.png"; const _imports_0$5 = "/static/yujin/yujin_sousuo.png"; const _imports_1$3 = "/static/yujin/yujin_tongji.png"; const _imports_0$4 = "/static/my/edit.png"; @@ -11,16 +13,18 @@ const _imports_0$2 = "/static/index/index_bg.png"; const _imports_0$1 = "/static/index/phone.png"; const _imports_1 = "/static/index/lock.png"; const _imports_0 = "/static/index/蒙版组 260.png"; -exports._imports_0 = _imports_0$6; -exports._imports_0$1 = _imports_0$5; -exports._imports_0$2 = _imports_0$4; -exports._imports_0$3 = _imports_0$3; -exports._imports_0$4 = _imports_0$2; -exports._imports_0$5 = _imports_0$1; -exports._imports_0$6 = _imports_0; -exports._imports_1 = _imports_1$3; -exports._imports_1$1 = _imports_1$2; -exports._imports_1$2 = _imports_1$1; -exports._imports_1$3 = _imports_1; +exports._imports_0 = _imports_0$7; +exports._imports_0$1 = _imports_0$6; +exports._imports_0$2 = _imports_0$5; +exports._imports_0$3 = _imports_0$4; +exports._imports_0$4 = _imports_0$3; +exports._imports_0$5 = _imports_0$2; +exports._imports_0$6 = _imports_0$1; +exports._imports_0$7 = _imports_0; +exports._imports_1 = _imports_1$4; +exports._imports_1$1 = _imports_1$3; +exports._imports_1$2 = _imports_1$2; +exports._imports_1$3 = _imports_1$1; +exports._imports_1$4 = _imports_1; exports._imports_2 = _imports_2; //# sourceMappingURL=../../.sourcemap/mp-weixin/common/assets.js.map diff --git a/unpackage/dist/dev/mp-weixin/common/vendor.js b/unpackage/dist/dev/mp-weixin/common/vendor.js index 9da1e84..beef99c 100644 --- a/unpackage/dist/dev/mp-weixin/common/vendor.js +++ b/unpackage/dist/dev/mp-weixin/common/vendor.js @@ -784,6 +784,10 @@ function trigger(target, type, key, newValue, oldValue, oldTarget) { } resetScheduling(); } +function getDepFromReactive(object, key) { + var _a; + return (_a = targetMap.get(object)) == null ? void 0 : _a.get(key); +} const isNonTrackableKeys = /* @__PURE__ */ makeMap(`__proto__,__v_isRef,__isVue`); const builtInSymbols = new Set( /* @__PURE__ */ Object.getOwnPropertyNames(Symbol).filter((key) => key !== "arguments" && key !== "caller").map((key) => Symbol[key]).filter(isSymbol) @@ -1501,6 +1505,38 @@ const shallowUnwrapHandlers = { function proxyRefs(objectWithRefs) { return isReactive(objectWithRefs) ? objectWithRefs : new Proxy(objectWithRefs, shallowUnwrapHandlers); } +function toRefs(object) { + if (!isProxy(object)) { + warn$2(`toRefs() expects a reactive object but received a plain one.`); + } + const ret = isArray$1(object) ? new Array(object.length) : {}; + for (const key in object) { + ret[key] = propertyToRef(object, key); + } + return ret; +} +class ObjectRefImpl { + constructor(_object, _key, _defaultValue) { + this._object = _object; + this._key = _key; + this._defaultValue = _defaultValue; + this.__v_isRef = true; + } + get value() { + const val = this._object[this._key]; + return val === void 0 ? this._defaultValue : val; + } + set value(newVal) { + this._object[this._key] = newVal; + } + get dep() { + return getDepFromReactive(toRaw(this._object), this._key); + } +} +function propertyToRef(source, key, defaultValue) { + const val = source[key]; + return isRef(val) ? val : new ObjectRefImpl(source, key, defaultValue); +} const stack = []; function pushWarningContext(vnode) { stack.push(vnode); @@ -7103,9 +7139,9 @@ function isConsoleWritable() { return isWritable; } function initRuntimeSocketService() { - const hosts = "192.168.1.144,127.0.0.1,172.17.192.1"; + const hosts = "192.168.1.144,127.0.0.1,172.22.80.1"; const port = "8090"; - const id = "mp-weixin_Capuq2"; + const id = "mp-weixin_VsFItf"; const lazy = typeof swan !== "undefined"; let restoreError = lazy ? () => { } : initOnError(); @@ -8059,11 +8095,26 @@ const onShow = /* @__PURE__ */ createLifeCycleHook( 1 | 2 /* HookFlags.PAGE */ ); +const onHide = /* @__PURE__ */ createLifeCycleHook( + ON_HIDE, + 1 | 2 + /* HookFlags.PAGE */ +); const onLoad = /* @__PURE__ */ createLifeCycleHook( ON_LOAD, 2 /* HookFlags.PAGE */ ); +const onReady = /* @__PURE__ */ createLifeCycleHook( + ON_READY, + 2 + /* HookFlags.PAGE */ +); +const onBackPress = /* @__PURE__ */ createLifeCycleHook( + ON_BACK_PRESS, + 2 + /* HookFlags.PAGE */ +); const onReachBottom = /* @__PURE__ */ createLifeCycleHook( ON_REACH_BOTTOM, 2 @@ -8756,10 +8807,13 @@ exports.n = n; exports.nextTick$1 = nextTick$1; exports.o = o; exports.objToStyle = objToStyle; +exports.onBackPress = onBackPress; exports.onBeforeMount = onBeforeMount; +exports.onHide = onHide; exports.onLoad = onLoad; exports.onMounted = onMounted; exports.onReachBottom = onReachBottom; +exports.onReady = onReady; exports.onShow = onShow; exports.onUnmounted = onUnmounted; exports.p = p; @@ -8771,6 +8825,7 @@ exports.s = s; exports.signatureProps = signatureProps; exports.sr = sr; exports.t = t; +exports.toRefs = toRefs; exports.unref = unref; exports.useTranslate = useTranslate; exports.uuid = uuid; diff --git a/unpackage/dist/dev/mp-weixin/components/hazard/HazardFormPopup.js b/unpackage/dist/dev/mp-weixin/components/hazard/HazardFormPopup.js new file mode 100644 index 0000000..a814cf3 --- /dev/null +++ b/unpackage/dist/dev/mp-weixin/components/hazard/HazardFormPopup.js @@ -0,0 +1,657 @@ +"use strict"; +const common_vendor = require("../../common/vendor.js"); +const request_api = require("../../request/api.js"); +const request_three_one_api_area = require("../../request/three_one_api/area.js"); +const utils_upload = require("../../utils/upload.js"); +const components_hazard_hazardForm = require("./hazardForm.js"); +if (!Array) { + const _easycom_up_upload2 = common_vendor.resolveComponent("up-upload"); + const _easycom_up_input2 = common_vendor.resolveComponent("up-input"); + const _easycom_up_textarea2 = common_vendor.resolveComponent("up-textarea"); + const _easycom_u_popup2 = common_vendor.resolveComponent("u-popup"); + (_easycom_up_upload2 + _easycom_up_input2 + _easycom_up_textarea2 + _easycom_u_popup2)(); +} +const _easycom_up_upload = () => "../../uni_modules/uview-plus/components/u-upload/u-upload.js"; +const _easycom_up_input = () => "../../uni_modules/uview-plus/components/u-input/u-input.js"; +const _easycom_up_textarea = () => "../../uni_modules/uview-plus/components/u-textarea/u-textarea.js"; +const _easycom_u_popup = () => "../../uni_modules/uview-plus/components/u-popup/u-popup.js"; +if (!Math) { + (_easycom_up_upload + _easycom_up_input + _easycom_up_textarea + _easycom_u_popup)(); +} +const LOCATION_PICKER_DRAFT_KEY = "hazard_form_location_picker_draft"; +const _sfc_main = { + __name: "HazardFormPopup", + props: { + show: { + type: Boolean, + default: false + }, + title: { + type: String, + default: "填写隐患信息" + }, + mode: { + type: String, + default: "collect" + }, + modelValue: { + type: Object, + default: null + }, + extraParams: { + type: Object, + default: () => ({}) + }, + showDraftBanner: { + type: Boolean, + default: false + }, + bodyHeight: { + type: String, + default: "" + }, + canvasId: { + type: String, + default: "hazardFormWatermarkCanvas" + } + }, + emits: ["update:show", "update:modelValue", "success", "confirm", "clear-draft"], + setup(__props, { expose: __expose, emit: __emit }) { + const props = __props; + const emit = __emit; + const popupVisible = common_vendor.computed({ + get: () => props.show, + set: (value) => emit("update:show", value) + }); + const isApiSuccess = (res) => Number(res == null ? void 0 : res.code) === 0 || Number(res == null ? void 0 : res.code) === 200; + const bodyStyle = common_vendor.computed(() => props.bodyHeight ? { height: props.bodyHeight } : {}); + const canvasWidth = common_vendor.ref(300); + const canvasHeight = common_vendor.ref(300); + const submitting = common_vendor.ref(false); + const aiAnalyzing = common_vendor.ref(false); + const syncingFromParent = common_vendor.ref(false); + const formData = common_vendor.reactive({ + title: "", + level: 0, + source: 0, + description: "", + tagIndex: 0, + tagId: null, + regulationId: null, + regulationName: "" + }); + const address = common_vendor.ref(""); + const lng = common_vendor.ref(0); + const lat = common_vendor.ref(0); + const areaId = common_vendor.ref(""); + const areaName = common_vendor.ref(""); + const fileList = common_vendor.ref([]); + const tagOptions = common_vendor.ref([]); + const showLawPopup = common_vendor.ref(false); + const lawKeyword = common_vendor.ref(""); + const selectedLawId = common_vendor.ref(null); + const selectedLawName = common_vendor.ref(""); + const lawList = common_vendor.ref([]); + const lawLoading = common_vendor.ref(false); + const lawPageNum = common_vendor.ref(1); + const lawPageSize = common_vendor.ref(10); + const hasMoreLaw = common_vendor.ref(true); + const showAreaPicker = common_vendor.ref(false); + const areaList = common_vendor.ref([]); + const tempAreaId = common_vendor.ref(""); + const choosingLocation = common_vendor.ref(false); + const suppressModelEmit = common_vendor.ref(false); + const uploadInstance = common_vendor.getCurrentInstance(); + const { afterRead, deletePic } = utils_upload.createUploadListHandlers(fileList, { + watermark: { + canvasId: props.canvasId, + canvasWidthRef: canvasWidth, + canvasHeightRef: canvasHeight, + instance: uploadInstance + } + }); + function getPayload() { + syncTagIdFromIndex(); + return { + formData: { + title: formData.title, + level: formData.level, + source: formData.source, + description: formData.description, + tagIndex: formData.tagIndex, + tagId: formData.tagId, + regulationId: formData.regulationId, + regulationName: formData.regulationName + }, + address: address.value, + lng: lng.value, + lat: lat.value, + areaId: areaId.value, + areaName: areaName.value, + fileList: fileList.value, + tagOptions: tagOptions.value + }; + } + function applyPayload(payload) { + if (!payload) + return; + syncingFromParent.value = true; + const data = payload.formData || {}; + formData.title = data.title || ""; + formData.level = data.level ?? 0; + formData.source = data.source ?? 0; + formData.description = data.description || ""; + formData.tagIndex = data.tagIndex ?? 0; + formData.tagId = data.tagId ?? null; + formData.regulationId = data.regulationId ?? null; + formData.regulationName = data.regulationName || ""; + address.value = payload.address || ""; + lng.value = payload.lng || 0; + lat.value = payload.lat || 0; + areaId.value = payload.areaId || ""; + areaName.value = payload.areaName || ""; + fileList.value = payload.fileList ? [...payload.fileList] : []; + selectedLawId.value = data.regulationId ?? null; + selectedLawName.value = data.regulationName || ""; + syncingFromParent.value = false; + } + function hasPayloadContent(payload) { + if (!payload) + return false; + const data = payload.formData || {}; + const files = payload.fileList || []; + return !!(data.title || data.description || data.regulationName || payload.address || files.length > 0); + } + function getLocationPickerDraftKey() { + var _a; + return ((_a = props.extraParams) == null ? void 0 : _a.locationDraftKey) || LOCATION_PICKER_DRAFT_KEY; + } + function saveLocationPickerDraft() { + const snapshot = getPayload(); + try { + common_vendor.index.setStorageSync(getLocationPickerDraftKey(), snapshot); + } catch (error) { + common_vendor.index.__f__("error", "at components/hazard/HazardFormPopup.vue:400", "保存选点草稿失败:", error); + } + return snapshot; + } + function loadLocationPickerDraft() { + try { + const draft = common_vendor.index.getStorageSync(getLocationPickerDraftKey()); + return draft && typeof draft === "object" ? draft : null; + } catch (error) { + return null; + } + } + function clearLocationPickerDraft() { + try { + common_vendor.index.removeStorageSync(getLocationPickerDraftKey()); + } catch (error) { + common_vendor.index.__f__("error", "at components/hazard/HazardFormPopup.vue:418", "清除选点草稿失败:", error); + } + } + function restoreAfterLocationPicker(patch = {}) { + const draft = loadLocationPickerDraft(); + if (!draft) + return false; + applyPayload({ + ...draft, + ...patch, + formData: { + ...draft.formData || {}, + ...patch.formData || {} + }, + fileList: patch.fileList ?? draft.fileList ?? [] + }); + clearLocationPickerDraft(); + return true; + } + function reopenPopupAfterLocation() { + common_vendor.nextTick$1(() => { + choosingLocation.value = false; + popupVisible.value = true; + emitModelValue(); + }); + } + function resetForm() { + applyPayload(components_hazard_hazardForm.createEmptyHazardPayload()); + selectedLawId.value = null; + selectedLawName.value = ""; + tempAreaId.value = ""; + clearLocationPickerDraft(); + } + function syncTagIdFromIndex() { + const selectedTag = tagOptions.value[formData.tagIndex]; + formData.tagId = (selectedTag == null ? void 0 : selectedTag.id) ?? formData.tagId ?? null; + } + function onChooseSelect(field, index) { + formData[field] = Number(index); + if (field === "tagIndex") { + syncTagIdFromIndex(); + } + emitModelValue(); + } + function emitModelValue() { + if (suppressModelEmit.value || syncingFromParent.value || props.modelValue === null) + return; + if (props.mode === "collect" || props.mode === "direct") + return; + emit("update:modelValue", getPayload()); + } + function closePopup() { + popupVisible.value = false; + } + function handleClose() { + closePopup(); + } + function validateForm() { + if (fileList.value.length === 0) { + common_vendor.index.showToast({ title: "请上传隐患图片", icon: "none" }); + return false; + } + if (!formData.title) { + common_vendor.index.showToast({ title: "请输入隐患标题", icon: "none" }); + return false; + } + if (!address.value) { + common_vendor.index.showToast({ title: "请输入隐患位置", icon: "none" }); + return false; + } + if (!formData.description) { + common_vendor.index.showToast({ title: "请输入隐患描述", icon: "none" }); + return false; + } + return true; + } + async function handleConfirm() { + if (!validateForm()) + return; + const payload = getPayload(); + if (props.mode === "collect") { + if (props.modelValue !== null) { + emit("update:modelValue", payload); + } + emit("confirm", payload); + closePopup(); + common_vendor.index.showToast({ title: "隐患信息已暂存", icon: "success" }); + return; + } + submitting.value = true; + try { + const params = components_hazard_hazardForm.buildHiddenDangerParams(payload, props.extraParams); + const res = await request_api.addHiddenDanger(params); + if (isApiSuccess(res)) { + suppressModelEmit.value = true; + closePopup(); + emit("success", { ...payload, hazardId: res.data }); + await common_vendor.nextTick$1(); + resetForm(); + common_vendor.index.showToast({ title: res.msg || "新增成功", icon: "success" }); + } else { + common_vendor.index.showToast({ title: res.msg || "新增失败", icon: "none" }); + } + } catch (error) { + common_vendor.index.__f__("error", "at components/hazard/HazardFormPopup.vue:534", error); + common_vendor.index.showToast({ title: "请求失败", icon: "none" }); + } finally { + suppressModelEmit.value = false; + submitting.value = false; + } + } + function openLawPopup() { + showLawPopup.value = true; + if (lawList.value.length === 0) { + fetchRegulationList(); + } + } + async function fetchRegulationList(isLoadMore = false) { + var _a; + if (lawLoading.value) + return; + lawLoading.value = true; + try { + const params = { + pageNum: lawPageNum.value, + pageSize: lawPageSize.value, + status: 1 + }; + if ((_a = lawKeyword.value) == null ? void 0 : _a.trim()) { + params.keyword = lawKeyword.value.trim(); + } + const res = await request_api.getRegulationList(params); + if (res.code === 0) { + const records = res.data.records || res.data || []; + lawList.value = isLoadMore ? [...lawList.value, ...records] : records; + const total = res.data.total || 0; + hasMoreLaw.value = lawList.value.length < total; + } + } catch (error) { + common_vendor.index.__f__("error", "at components/hazard/HazardFormPopup.vue:569", "获取法规列表失败:", error); + } finally { + lawLoading.value = false; + } + } + function searchRegulation() { + lawPageNum.value = 1; + lawList.value = []; + hasMoreLaw.value = true; + fetchRegulationList(); + } + function loadMoreLaw() { + if (!hasMoreLaw.value || lawLoading.value) + return; + lawPageNum.value++; + fetchRegulationList(true); + } + function selectLaw(item) { + selectedLawId.value = item.id; + selectedLawName.value = item.depict || item.keyword || ""; + } + function confirmLaw() { + if (selectedLawId.value) { + formData.regulationId = selectedLawId.value; + formData.regulationName = selectedLawName.value; + } + showLawPopup.value = false; + emitModelValue(); + } + function openAreaPicker() { + tempAreaId.value = areaId.value; + showAreaPicker.value = true; + } + async function fetchAreaList() { + var _a; + try { + const res = await request_three_one_api_area.getAreaList(); + if (res.code === 0 && ((_a = res.data) == null ? void 0 : _a.records)) { + areaList.value = res.data.records; + } + } catch (error) { + common_vendor.index.__f__("error", "at components/hazard/HazardFormPopup.vue:614", "获取区域列表失败:", error); + } + } + function confirmAreaSelect() { + if (tempAreaId.value) { + areaId.value = tempAreaId.value; + const selected = areaList.value.find((item) => item.id === tempAreaId.value); + areaName.value = selected ? selected.name : ""; + } + showAreaPicker.value = false; + emitModelValue(); + } + function chooseLocation() { + choosingLocation.value = true; + saveLocationPickerDraft(); + closePopup(); + setTimeout(() => { + common_vendor.index.getLocation({ + type: "gcj02", + success: (locationRes) => { + openChooseLocation(locationRes.latitude, locationRes.longitude); + }, + fail: () => { + openChooseLocation(); + } + }); + }, 300); + } + function openChooseLocation(latitude, longitude) { + const options = {}; + if (latitude != null && longitude != null) { + options.latitude = latitude; + options.longitude = longitude; + } + common_vendor.index.chooseLocation({ + ...options, + success: (res) => { + restoreAfterLocationPicker({ + address: res.address + (res.name ? `(${res.name})` : ""), + lng: res.longitude, + lat: res.latitude + }); + reopenPopupAfterLocation(); + }, + fail: (err) => { + restoreAfterLocationPicker(); + reopenPopupAfterLocation(); + if (err.errMsg && err.errMsg.indexOf("cancel") === -1) { + common_vendor.index.showToast({ title: "选择位置失败", icon: "none" }); + } + } + }); + } + async function handleAiAnalyze() { + const imageFiles = fileList.value.filter((f) => { + return f.status === "success" && f.url.toLowerCase().match(/\.(jpg|jpeg|png|gif|bmp|webp)$/); + }); + if (imageFiles.length === 0) { + common_vendor.index.showToast({ title: "请先上传隐患图片", icon: "none" }); + return; + } + aiAnalyzing.value = true; + try { + const analyzeRes = await request_api.analyzeHazardImage({ imageUrl: imageFiles[0].url }); + if (analyzeRes.code === 0 && analyzeRes.data) { + const aiData = analyzeRes.data; + if (aiData.title) + formData.title = aiData.title; + if (aiData.description) + formData.description = aiData.description; + if (aiData.level) { + const levelIndex = components_hazard_hazardForm.AI_LEVEL_MAP[aiData.level]; + if (levelIndex !== void 0) { + formData.level = levelIndex; + } + } + emitModelValue(); + common_vendor.index.showToast({ title: "AI分析完成,已自动填充", icon: "success", duration: 2e3 }); + } else { + common_vendor.index.showToast({ title: analyzeRes.msg || "AI分析失败", icon: "none" }); + } + } catch (error) { + common_vendor.index.__f__("error", "at components/hazard/HazardFormPopup.vue:699", "AI分析接口调用失败:", error); + common_vendor.index.showToast({ title: "AI分析失败,请重试", icon: "none" }); + } finally { + aiAnalyzing.value = false; + } + } + async function fetchTagOptions() { + try { + const res = await request_api.getHiddenDangerLabelList(); + if (res.code === 0) { + tagOptions.value = res.data.map((item) => ({ + id: item.id, + title: item.name + })); + syncTagIdFromIndex(); + } + } catch (error) { + common_vendor.index.__f__("error", "at components/hazard/HazardFormPopup.vue:717", "获取标签列表失败:", error); + } + } + common_vendor.watch( + () => props.modelValue, + (val) => { + if (props.mode === "direct") + return; + if (hasPayloadContent(val)) { + applyPayload(val); + } + }, + { deep: true, immediate: true } + ); + common_vendor.watch( + () => props.show, + (val) => { + if (val && areaList.value.length === 0) { + fetchAreaList(); + } + if (!val) + return; + if (choosingLocation.value) { + return; + } + const locationDraft = loadLocationPickerDraft(); + if (locationDraft) { + applyPayload(locationDraft); + clearLocationPickerDraft(); + return; + } + if (hasPayloadContent(props.modelValue)) { + applyPayload(props.modelValue); + } + } + ); + fetchTagOptions(); + fetchAreaList(); + __expose({ + getPayload, + applyPayload, + resetForm, + validateForm + }); + return (_ctx, _cache) => { + return common_vendor.e({ + a: common_vendor.t(__props.title), + b: common_vendor.o(handleClose), + c: __props.showDraftBanner + }, __props.showDraftBanner ? { + d: common_vendor.o(($event) => emit("clear-draft")) + } : {}, { + e: common_vendor.f(common_vendor.unref(components_hazard_hazardForm.SOURCE_OPTIONS), (item, index, i0) => { + return { + a: common_vendor.t(item.title), + b: item.id, + c: formData.source === index ? 1 : "", + d: common_vendor.o(($event) => onChooseSelect("source", index), item.id) + }; + }), + f: common_vendor.o(common_vendor.unref(afterRead)), + g: common_vendor.o(common_vendor.unref(deletePic)), + h: common_vendor.p({ + fileList: fileList.value, + name: "1", + multiple: true, + imageMode: "aspectFill", + maxCount: 10 + }), + i: __props.canvasId, + j: canvasWidth.value, + k: canvasHeight.value, + l: canvasWidth.value + "px", + m: canvasHeight.value + "px", + n: !aiAnalyzing.value + }, !aiAnalyzing.value ? {} : {}, { + o: common_vendor.t(aiAnalyzing.value ? "AI识别中..." : "AI 识别隐患"), + p: aiAnalyzing.value, + q: aiAnalyzing.value, + r: common_vendor.o(handleAiAnalyze), + s: common_vendor.o(($event) => formData.title = $event), + t: common_vendor.p({ + placeholder: "请输入内容", + border: "surround", + modelValue: formData.title + }), + v: common_vendor.f(common_vendor.unref(components_hazard_hazardForm.LEVEL_OPTIONS), (item, index, i0) => { + return { + a: common_vendor.t(item.title), + b: item.id, + c: formData.level === index ? 1 : "", + d: common_vendor.o(($event) => onChooseSelect("level", index), item.id) + }; + }), + w: common_vendor.o(($event) => address.value = $event), + x: common_vendor.p({ + placeholder: "请输入地址", + border: "surround", + modelValue: address.value + }), + y: common_vendor.o(chooseLocation), + z: common_vendor.t(formData.regulationName || "请选择法律依据"), + A: !formData.regulationName ? 1 : "", + B: common_vendor.o(openLawPopup), + C: common_vendor.t(areaName.value || "请选择隐患区域"), + D: !areaName.value ? 1 : "", + E: common_vendor.o(openAreaPicker), + F: common_vendor.o(($event) => formData.description = $event), + G: common_vendor.p({ + placeholder: "请输入内容", + modelValue: formData.description + }), + H: common_vendor.f(tagOptions.value, (item, index, i0) => { + return { + a: common_vendor.t(item.title), + b: item.id, + c: formData.tagIndex === index ? 1 : "", + d: common_vendor.o(($event) => onChooseSelect("tagIndex", index), item.id) + }; + }), + I: common_vendor.s(bodyStyle.value), + J: common_vendor.o(handleClose), + K: submitting.value, + L: common_vendor.o(handleConfirm), + M: common_vendor.o(handleClose), + N: common_vendor.o(($event) => popupVisible.value = $event), + O: common_vendor.p({ + mode: "center", + round: "20", + ["safe-area-inset-bottom"]: false, + show: popupVisible.value + }), + P: common_vendor.o(($event) => showLawPopup.value = false), + Q: common_vendor.o(searchRegulation), + R: lawKeyword.value, + S: common_vendor.o(($event) => lawKeyword.value = $event.detail.value), + T: common_vendor.o(searchRegulation), + U: lawLoading.value && lawList.value.length === 0 + }, lawLoading.value && lawList.value.length === 0 ? {} : !lawLoading.value && lawList.value.length === 0 ? {} : common_vendor.e({ + W: common_vendor.f(lawList.value, (item, k0, i0) => { + return { + a: common_vendor.t(item.depict), + b: common_vendor.t(item.legalBasis), + c: selectedLawId.value === item.id ? 1 : "", + d: item.id, + e: common_vendor.o(($event) => selectLaw(item), item.id) + }; + }), + X: lawLoading.value + }, lawLoading.value ? {} : {}), { + V: !lawLoading.value && lawList.value.length === 0, + Y: common_vendor.o(loadMoreLaw), + Z: common_vendor.o(($event) => showLawPopup.value = false), + aa: common_vendor.o(confirmLaw), + ab: common_vendor.o(($event) => showLawPopup.value = false), + ac: common_vendor.p({ + show: showLawPopup.value, + mode: "center", + round: "20", + ["safe-area-inset-bottom"]: false + }), + ad: common_vendor.o(($event) => showAreaPicker.value = false), + ae: common_vendor.o(confirmAreaSelect), + af: common_vendor.f(areaList.value, (item, k0, i0) => { + return common_vendor.e({ + a: item.color, + b: common_vendor.t(item.name), + c: tempAreaId.value === item.id + }, tempAreaId.value === item.id ? {} : {}, { + d: item.id, + e: tempAreaId.value === item.id ? 1 : "", + f: common_vendor.o(($event) => tempAreaId.value = item.id, item.id) + }); + }), + ag: areaList.value.length === 0 + }, areaList.value.length === 0 ? {} : {}, { + ah: common_vendor.o(($event) => showAreaPicker.value = false), + ai: common_vendor.p({ + show: showAreaPicker.value, + mode: "bottom", + round: "20" + }) + }); + }; + } +}; +const Component = /* @__PURE__ */ common_vendor._export_sfc(_sfc_main, [["__scopeId", "data-v-fd540320"]]); +wx.createComponent(Component); +//# sourceMappingURL=../../../.sourcemap/mp-weixin/components/hazard/HazardFormPopup.js.map diff --git a/unpackage/dist/dev/mp-weixin/components/hazard/HazardFormPopup.json b/unpackage/dist/dev/mp-weixin/components/hazard/HazardFormPopup.json new file mode 100644 index 0000000..5506b35 --- /dev/null +++ b/unpackage/dist/dev/mp-weixin/components/hazard/HazardFormPopup.json @@ -0,0 +1,9 @@ +{ + "component": true, + "usingComponents": { + "up-upload": "../../uni_modules/uview-plus/components/u-upload/u-upload", + "up-input": "../../uni_modules/uview-plus/components/u-input/u-input", + "up-textarea": "../../uni_modules/uview-plus/components/u-textarea/u-textarea", + "u-popup": "../../uni_modules/uview-plus/components/u-popup/u-popup" + } +} \ No newline at end of file diff --git a/unpackage/dist/dev/mp-weixin/components/hazard/HazardFormPopup.wxml b/unpackage/dist/dev/mp-weixin/components/hazard/HazardFormPopup.wxml new file mode 100644 index 0000000..8ae1cfd --- /dev/null +++ b/unpackage/dist/dev/mp-weixin/components/hazard/HazardFormPopup.wxml @@ -0,0 +1 @@ +{{a}}×已自动恢复您上次未提交的内容清空草稿检查形式*{{item.a}}隐患图片*必填:请上传现场照片作为隐患证据隐患标题*请用简洁的语言概括隐患要点隐患等级*{{item.a}}隐患位置*如:办公楼3层东侧消防通道、生产车间A区设备旁等,或点击"选择地址"按钮在地图上选择法律依据{{z}}隐患区域{{C}}隐患描述*请详细说明隐患现状、潜在风险及影响范围隐患标签{{item.a}}选择法律依据×搜索加载中...暂无数据{{item.a}}{{item.b}}加载中...取消选择隐患区域确定{{item.b}}暂无区域数据 \ No newline at end of file diff --git a/unpackage/dist/dev/mp-weixin/components/hazard/HazardFormPopup.wxss b/unpackage/dist/dev/mp-weixin/components/hazard/HazardFormPopup.wxss new file mode 100644 index 0000000..fbb4c42 --- /dev/null +++ b/unpackage/dist/dev/mp-weixin/components/hazard/HazardFormPopup.wxss @@ -0,0 +1,373 @@ +/** + * 这里是uni-app内置的常用样式变量 + * + * uni-app 官方扩展插件及插件市场(https://ext.dcloud.net.cn)上很多三方插件均使用了这些样式变量 + * 如果你是插件开发者,建议你使用scss预处理,并在插件代码中直接使用这些变量(无需 import 这个文件),方便用户通过搭积木的方式开发整体风格一致的App + * + */ +/** + * 如果你是App开发者(插件使用者),你可以通过修改这些变量来定制自己的插件主题,实现自定义主题功能 + * + * 如果你的项目同样使用了scss预处理,你也可以直接在你的 scss 代码中使用如下变量,同时无需 import 这个文件 + */ +/* uni.scss */ +/* 颜色变量 */ +/* 行为相关颜色 */ +/* 文字基本颜色 */ +/* 背景颜色 */ +/* 边框颜色 */ +/* 尺寸变量 */ +/* 文字尺寸 */ +/* 图片尺寸 */ +/* Border Radius */ +/* 水平间距 */ +/* 垂直间距 */ +/* 透明度 */ +/* 文章场景相关 */ +.popup-content.data-v-fd540320 { + width: 600rpx; + background: #fff; + border-radius: 20rpx; + overflow: hidden; +} +.popup-header.data-v-fd540320 { + display: flex; + justify-content: space-between; + align-items: center; + padding: 30rpx; + border-bottom: 1rpx solid #eee; +} +.popup-header .popup-title.data-v-fd540320 { + font-size: 32rpx; + color: #333; +} +.popup-header .popup-close.data-v-fd540320 { + font-size: 40rpx; + color: #999; + line-height: 1; +} +.popup-body.data-v-fd540320 { + padding: 30rpx; + max-height: 900rpx; + overflow-y: auto; +} +.draft-banner.data-v-fd540320 { + font-size: 24rpx; + background-color: #fff7eb; + border: 1rpx solid #ffe4cc; + width: 100%; + box-sizing: border-box; + display: flex; + flex-direction: row; + justify-content: space-between; + align-items: center; + margin-bottom: 20rpx; + padding: 16rpx 20rpx; + border-radius: 8rpx; + color: #fa8c16; +} +.draft-banner-left.data-v-fd540320 { + display: flex; + flex-direction: row; + align-items: center; +} +.draft-banner-icon.data-v-fd540320 { + margin-right: 10rpx; +} +.draft-banner-action.data-v-fd540320 { + cursor: pointer; + padding: 0 10rpx; + color: #2667e9; + font-weight: bold; +} +.hazard-choose-scroll.data-v-fd540320 { + width: 100%; + white-space: nowrap; +} +.hazard-choose-row.data-v-fd540320 { + display: inline-flex; + flex-direction: row; + align-items: center; + padding-right: 20rpx; +} +.hazard-choose-wrap.data-v-fd540320 { + display: flex; + flex-wrap: wrap; +} +.hazard-choose-tag.data-v-fd540320 { + display: inline-flex; + align-items: center; + justify-content: center; + box-sizing: border-box; + border: 1rpx solid #dcdfe6; + border-radius: 8rpx; + background: #fff; + flex-shrink: 0; + margin-right: 12rpx; +} +.hazard-choose-tag--source.data-v-fd540320 { + width: 152rpx; + height: 64rpx; +} +.hazard-choose-tag--level.data-v-fd540320 { + width: 183rpx; + height: 72rpx; +} +.hazard-choose-tag--tag.data-v-fd540320 { + min-width: 120rpx; + height: 64rpx; + padding: 0 24rpx; + margin-bottom: 12rpx; +} +.hazard-choose-tag--active.data-v-fd540320 { + background: #2667e9; + border-color: #2667e9; +} +.hazard-choose-tag--active .hazard-choose-tag__text.data-v-fd540320 { + color: #fff; +} +.hazard-choose-tag__text.data-v-fd540320 { + font-size: 24rpx; + line-height: 1.2; + color: #606266; + text-align: center; +} +.ai-btn-wrapper.data-v-fd540320 { + display: flex; + justify-content: flex-end; +} +.ai-analyze-btn.data-v-fd540320 { + display: flex; + align-items: center; + justify-content: center; + height: 72rpx; + padding: 0 32rpx; + font-size: 28rpx; + color: #fff; + background: linear-gradient(135deg, #4facfe 0%, #2668ea 100%); + border-radius: 36rpx; + border: none; +} +.ai-analyze-btn.data-v-fd540320::after { + border: none; +} +.ai-analyze-btn .ai-btn-icon.data-v-fd540320 { + margin-right: 8rpx; + font-size: 30rpx; +} +.ai-analyze-btn[disabled].data-v-fd540320 { + opacity: 0.7; +} +.popup-footer.data-v-fd540320 { + display: flex; + border-top: 1rpx solid #eee; +} +.popup-footer button.data-v-fd540320 { + flex: 1; + height: 90rpx; + line-height: 90rpx; + border-radius: 0; + font-size: 30rpx; +} +.popup-footer button.data-v-fd540320::after { + border: none; +} +.popup-footer .btn-cancel.data-v-fd540320 { + background: #fff; + color: #666; +} +.popup-footer .btn-confirm.data-v-fd540320 { + color: #fff; +} +.address-box.data-v-fd540320 { + display: flex; + align-items: center; + gap: 20rpx; +} +.address-box .address-input-wrapper.data-v-fd540320 { + flex: 1; +} +.address-box .btn-address.data-v-fd540320 { + flex-shrink: 0; + height: 70rpx; + line-height: 70rpx; + padding: 0 30rpx; + font-size: 26rpx; + border-radius: 8rpx; + color: #fff; +} +.address-box .btn-address.data-v-fd540320::after { + border: none; +} +.select-trigger.data-v-fd540320 { + display: flex; + align-items: center; + justify-content: space-between; + background: #fff; + border: 1rpx solid #dcdfe6; + border-radius: 8rpx; + padding: 20rpx 24rpx; +} +.select-trigger .select-value.data-v-fd540320 { + flex: 1; + font-size: 28rpx; + color: #333; +} +.select-trigger .select-value.placeholder.data-v-fd540320 { + color: #c0c4cc; +} +.picker-popup.data-v-fd540320 { + background: #fff; +} +.picker-popup .picker-header.data-v-fd540320 { + display: flex; + justify-content: space-between; + align-items: center; + padding: 30rpx; + border-bottom: 1rpx solid #eee; +} +.picker-popup .picker-header .picker-cancel.data-v-fd540320 { + font-size: 28rpx; + color: #999; +} +.picker-popup .picker-header .picker-title.data-v-fd540320 { + font-size: 32rpx; + font-weight: bold; + color: #333; +} +.picker-popup .picker-header .picker-confirm.data-v-fd540320 { + font-size: 28rpx; + color: #2667e9; +} +.picker-popup .picker-body.data-v-fd540320 { + max-height: 600rpx; + padding: 0 30rpx; +} +.picker-popup .picker-item.data-v-fd540320 { + display: flex; + justify-content: space-between; + align-items: center; + padding: 30rpx 0; + border-bottom: 1rpx solid #f5f5f5; + font-size: 30rpx; + color: #333; +} +.picker-popup .picker-item.data-v-fd540320:last-child { + border-bottom: none; +} +.picker-popup .picker-item.picker-item-active.data-v-fd540320 { + color: #2667e9; +} +.area-color-dot.data-v-fd540320 { + width: 24rpx; + height: 24rpx; + border-radius: 50%; + margin-right: 16rpx; +} +.law-popup.data-v-fd540320 { + width: 600rpx; + background: #fff; + border-radius: 20rpx; + overflow: hidden; + max-height: 80vh; +} +.law-popup .popup-header.data-v-fd540320 { + display: flex; + justify-content: space-between; + align-items: center; + padding: 30rpx; + border-bottom: 1rpx solid #eee; +} +.law-popup .popup-header .popup-title.data-v-fd540320 { + font-size: 32rpx; + font-weight: bold; + color: #333; +} +.law-popup .popup-header .popup-close.data-v-fd540320 { + font-size: 40rpx; + color: #999; +} +.search-box.data-v-fd540320 { + display: flex; + align-items: center; + background: #f5f5f5; + border-radius: 40rpx; + padding: 16rpx 24rpx; + margin: 20rpx 30rpx; +} +.search-box .search-icon.data-v-fd540320 { + font-size: 28rpx; + color: #999; + margin-right: 12rpx; +} +.search-box .search-input.data-v-fd540320 { + flex: 1; + font-size: 28rpx; + background: transparent; + border: none; +} +.search-box .search-btn.data-v-fd540320 { + color: #2667e9; + font-size: 26rpx; + margin-left: 16rpx; +} +.loading-tip.data-v-fd540320, +.empty-tip.data-v-fd540320 { + text-align: center; + padding: 40rpx; + color: #999; + font-size: 26rpx; +} +.law-list.data-v-fd540320 { + max-height: 400rpx; + padding: 0 30rpx; +} +.law-item.data-v-fd540320 { + padding: 24rpx; + border: 2rpx solid #e5e5e5; + border-radius: 12rpx; + margin-bottom: 16rpx; + font-size: 28rpx; + color: #333; +} +.law-item .law-title.data-v-fd540320 { + line-height: 1.5; + margin-bottom: 8rpx; + font-weight: bold; +} +.law-item .law-basis.data-v-fd540320 { + font-size: 24rpx; + line-height: 1.4; + display: -webkit-box; + -webkit-line-clamp: 2; + -webkit-box-orient: vertical; + overflow: hidden; +} +.law-item-active.data-v-fd540320 { + border-color: #2667e9; + background: #f0f6ff; +} +.law-popup-footer.data-v-fd540320 { + display: flex; + padding: 30rpx; + border-top: 1rpx solid #eee; + gap: 20rpx; +} +.law-popup-footer button.data-v-fd540320 { + flex: 1; + height: 80rpx; + line-height: 80rpx; + font-size: 28rpx; + border-radius: 40rpx; +} +.law-popup-footer button.data-v-fd540320::after { + border: none; +} +.law-popup-footer .btn-cancel.data-v-fd540320 { + background: #f5f5f5; + color: #666; +} +.law-popup-footer .btn-confirm.data-v-fd540320 { + background: #2667e9; + color: #fff; +} \ No newline at end of file diff --git a/unpackage/dist/dev/mp-weixin/components/hazard/hazardForm.js b/unpackage/dist/dev/mp-weixin/components/hazard/hazardForm.js new file mode 100644 index 0000000..601a479 --- /dev/null +++ b/unpackage/dist/dev/mp-weixin/components/hazard/hazardForm.js @@ -0,0 +1,73 @@ +"use strict"; +const utils_upload = require("../../utils/upload.js"); +const LEVEL_OPTIONS = [ + { id: 2, title: "一般隐患" }, + { id: 3, title: "重大隐患" } +]; +const SOURCE_OPTIONS = [ + { id: 1, title: "部门检查" }, + { id: 2, title: "督导检查" }, + { id: 3, title: "企业自查" }, + { id: 4, title: "行业互查" } +]; +const AI_LEVEL_MAP = { + 轻微: 0, + 轻微隐患: 0, + 一般: 0, + 一般隐患: 0, + 重大: 1, + 重大隐患: 1 +}; +function createEmptyHazardPayload() { + return { + formData: { + title: "", + level: 0, + source: 0, + description: "", + tagIndex: 0, + tagId: null, + regulationId: null, + regulationName: "" + }, + address: "", + lng: 0, + lat: 0, + areaId: "", + areaName: "", + fileList: [] + }; +} +function buildHiddenDangerParams(payload, extra = {}) { + var _a, _b, _c; + const { formData, address, lng, lat, areaId, fileList } = payload; + const selectedTag = (_a = payload.tagOptions) == null ? void 0 : _a[formData.tagIndex]; + const tagId = formData.tagId ?? (selectedTag ? selectedTag.id : null); + return { + title: formData.title, + level: ((_b = LEVEL_OPTIONS[formData.level]) == null ? void 0 : _b.id) || 2, + lng: lng || 0, + lat: lat || 0, + address: address || "", + areaId: areaId || null, + description: formData.description || "", + source: ((_c = SOURCE_OPTIONS[formData.source]) == null ? void 0 : _c.title) || "", + tagId, + attachments: (fileList || []).filter((f) => f.status === "success").map((file) => utils_upload.buildAttachmentItem(file)), + regulationId: formData.regulationId || null, + ...extra + }; +} +function hasValidHazardPayload(payload) { + if (!payload) + return false; + const { formData, fileList } = payload; + return !!((formData == null ? void 0 : formData.title) && (fileList == null ? void 0 : fileList.length) > 0); +} +exports.AI_LEVEL_MAP = AI_LEVEL_MAP; +exports.LEVEL_OPTIONS = LEVEL_OPTIONS; +exports.SOURCE_OPTIONS = SOURCE_OPTIONS; +exports.buildHiddenDangerParams = buildHiddenDangerParams; +exports.createEmptyHazardPayload = createEmptyHazardPayload; +exports.hasValidHazardPayload = hasValidHazardPayload; +//# sourceMappingURL=../../../.sourcemap/mp-weixin/components/hazard/hazardForm.js.map diff --git a/unpackage/dist/dev/mp-weixin/components/hazard/index.js b/unpackage/dist/dev/mp-weixin/components/hazard/index.js new file mode 100644 index 0000000..311ec86 --- /dev/null +++ b/unpackage/dist/dev/mp-weixin/components/hazard/index.js @@ -0,0 +1,4 @@ +"use strict"; +require("../../common/vendor.js"); +require("../../request/request.js"); +//# sourceMappingURL=../../../.sourcemap/mp-weixin/components/hazard/index.js.map diff --git a/unpackage/dist/dev/mp-weixin/components/hazardDetail/HazardDetailPanel.js b/unpackage/dist/dev/mp-weixin/components/hazardDetail/HazardDetailPanel.js new file mode 100644 index 0000000..a10fb4a --- /dev/null +++ b/unpackage/dist/dev/mp-weixin/components/hazardDetail/HazardDetailPanel.js @@ -0,0 +1,242 @@ +"use strict"; +const common_vendor = require("../../common/vendor.js"); +const request_request = require("../../request/request.js"); +const components_hazardDetail_hazardDetail = require("./hazardDetail.js"); +const components_hazardDetail_useHazardDetailScroll = require("./useHazardDetailScroll.js"); +const _sfc_main = { + __name: "HazardDetailPanel", + props: { + detail: { + type: Object, + default: () => ({}) + }, + loading: { + type: Boolean, + default: false + } + }, + setup(__props) { + const props = __props; + const { detail, loading } = common_vendor.toRefs(props); + const { + historyList, + activeIndex, + contentScrollIntoView, + stepScrollIntoView, + scrollWithAnimation, + onContentScroll, + onScrollToLower, + scrollToNode, + scheduleMeasureLayout + } = components_hazardDetail_useHazardDetailScroll.useHazardDetailScroll(detail, loading); + const statusClass = common_vendor.computed(() => { + var _a, _b; + return components_hazardDetail_hazardDetail.getStatusClass((_a = props.detail) == null ? void 0 : _a.status, (_b = props.detail) == null ? void 0 : _b.statusName); + }); + const LEVEL_CLASS_MAP = { + 2: "level-normal", + 3: "level-major" + }; + const LEVEL_NAME_CLASS_MAP = { + 一般: "level-normal", + 一般隐患: "level-normal", + 重大: "level-major", + 重大隐患: "level-major" + }; + const getLevelTagClass = (content) => { + const level = content == null ? void 0 : content.level; + const levelName = content == null ? void 0 : content.levelName; + if (level != null && LEVEL_CLASS_MAP[level]) { + return LEVEL_CLASS_MAP[level]; + } + if (levelName && LEVEL_NAME_CLASS_MAP[levelName]) { + return LEVEL_NAME_CLASS_MAP[levelName]; + } + return ""; + }; + const resolveFileUrl = (path) => request_request.toImageUrl(path); + const formatCost = (cost) => { + if (cost == null || cost === "") + return "-"; + const num = Number(cost); + return Number.isNaN(num) ? "-" : `${num} 元`; + }; + const previewSingle = (path) => { + const url = resolveFileUrl(path); + if (!url) + return; + common_vendor.index.previewImage({ current: url, urls: [url] }); + }; + const previewImages = (attachments, index) => { + const urls = (attachments || []).filter((f) => f.fileType === "image" || !f.fileType).map((f) => resolveFileUrl(f.filePath)).filter(Boolean); + if (!urls.length) + return; + common_vendor.index.previewImage({ current: urls[index] || urls[0], urls }); + }; + return (_ctx, _cache) => { + return common_vendor.e({ + a: common_vendor.t(common_vendor.unref(detail).title || "-"), + b: common_vendor.t(common_vendor.unref(detail).statusName || "-"), + c: common_vendor.n(statusClass.value), + d: common_vendor.t(common_vendor.unref(detail).createdAt || "-"), + e: common_vendor.unref(loading) + }, common_vendor.unref(loading) ? {} : common_vendor.unref(historyList).length === 0 ? {} : { + g: common_vendor.f(common_vendor.unref(historyList), (item, index, i0) => { + return common_vendor.e({ + a: common_vendor.t(item.nodeName), + b: common_vendor.unref(activeIndex) === index ? 1 : "", + c: index < common_vendor.unref(historyList).length - 1 + }, index < common_vendor.unref(historyList).length - 1 ? {} : {}, { + d: "step-" + index, + e: "hazard-step-" + index, + f: common_vendor.unref(activeIndex) === index ? 1 : "", + g: common_vendor.o(($event) => common_vendor.unref(scrollToNode)(index), "step-" + index) + }); + }), + h: common_vendor.unref(stepScrollIntoView), + i: common_vendor.f(common_vendor.unref(historyList), (item, index, i0) => { + return common_vendor.e({ + a: common_vendor.t(item.titlePrefix), + b: common_vendor.t(item.operator), + c: common_vendor.t(item.time), + d: item.type === "submit" + }, item.type === "submit" ? common_vendor.e({ + e: common_vendor.t(item.content.title), + f: common_vendor.t(item.content.source), + g: item.content.areaColor + }, item.content.areaColor ? { + h: item.content.areaColor + } : {}, { + i: common_vendor.t(item.content.areaName), + j: common_vendor.t(item.content.address), + k: common_vendor.t(item.content.levelName || "-"), + l: common_vendor.n(getLevelTagClass(item.content)), + m: common_vendor.t(item.content.tagName), + n: common_vendor.t(item.content.description), + o: item.content.attachments && item.content.attachments.length + }, item.content.attachments && item.content.attachments.length ? { + p: common_vendor.f(item.content.attachments, (file, idx, i1) => { + return { + a: idx, + b: resolveFileUrl(file.filePath), + c: common_vendor.o(($event) => previewImages(item.content.attachments, idx), idx), + d: common_vendor.o((...args) => common_vendor.unref(scheduleMeasureLayout) && common_vendor.unref(scheduleMeasureLayout)(...args), idx) + }; + }) + } : {}, { + q: common_vendor.t(item.content.legalBasis) + }) : item.type === "assign" ? { + s: common_vendor.t(item.content.assigneeName), + t: common_vendor.t(item.content.deadline) + } : item.type === "rectify" ? common_vendor.e({ + w: common_vendor.t(item.content.rectifyStatusName), + x: common_vendor.t(item.content.rectifyPlan), + y: common_vendor.t(item.content.rectifyResult), + z: common_vendor.t(item.content.rectificationMeasures), + A: common_vendor.t(item.content.controlMeasures), + B: common_vendor.t(item.content.deadline), + C: common_vendor.t(item.content.rectifierNames), + D: common_vendor.t(item.content.managerNames), + E: common_vendor.t(formatCost(item.content.planCost)), + F: common_vendor.t(formatCost(item.content.actualCost)), + G: item.content.attachments && item.content.attachments.length + }, item.content.attachments && item.content.attachments.length ? { + H: common_vendor.f(item.content.attachments, (file, idx, i1) => { + return common_vendor.e({ + a: file.fileType === "image" + }, file.fileType === "image" ? { + b: resolveFileUrl(file.filePath), + c: common_vendor.o(($event) => previewImages(item.content.attachments, idx), idx), + d: common_vendor.o((...args) => common_vendor.unref(scheduleMeasureLayout) && common_vendor.unref(scheduleMeasureLayout)(...args), idx) + } : { + e: common_vendor.t(file.fileName || "附件") + }, { + f: idx + }); + }) + } : {}, { + I: item.content.signPath + }, item.content.signPath ? { + J: resolveFileUrl(item.content.signPath), + K: common_vendor.o(($event) => previewSingle(item.content.signPath), "node-" + index), + L: common_vendor.o((...args) => common_vendor.unref(scheduleMeasureLayout) && common_vendor.unref(scheduleMeasureLayout)(...args), "node-" + index) + } : {}) : item.type === "verify" ? common_vendor.e({ + N: common_vendor.t(item.content.resultName), + O: common_vendor.n(item.content.resultName === "通过" ? "result-tag--pass" : "result-tag--fail"), + P: item.content.remark + }, item.content.remark ? { + Q: common_vendor.t(item.content.remark) + } : {}, { + R: item.content.attachments && item.content.attachments.length + }, item.content.attachments && item.content.attachments.length ? { + S: common_vendor.f(item.content.attachments, (file, idx, i1) => { + return common_vendor.e({ + a: file.fileType === "image" + }, file.fileType === "image" ? { + b: resolveFileUrl(file.filePath), + c: common_vendor.o(($event) => previewImages(item.content.attachments, idx), idx), + d: common_vendor.o((...args) => common_vendor.unref(scheduleMeasureLayout) && common_vendor.unref(scheduleMeasureLayout)(...args), idx) + } : { + e: common_vendor.t(file.fileName || "附件") + }, { + f: idx + }); + }) + } : {}, { + T: item.content.signPath + }, item.content.signPath ? { + U: resolveFileUrl(item.content.signPath), + V: common_vendor.o(($event) => previewSingle(item.content.signPath), "node-" + index), + W: common_vendor.o((...args) => common_vendor.unref(scheduleMeasureLayout) && common_vendor.unref(scheduleMeasureLayout)(...args), "node-" + index) + } : {}) : item.type === "writeoff" ? common_vendor.e({ + Y: common_vendor.t(item.content.resultName), + Z: common_vendor.n(item.content.resultName === "通过" ? "result-tag--pass" : "result-tag--fail"), + aa: item.content.remark + }, item.content.remark ? { + ab: common_vendor.t(item.content.remark) + } : {}, { + ac: item.content.attachments && item.content.attachments.length + }, item.content.attachments && item.content.attachments.length ? { + ad: common_vendor.f(item.content.attachments, (file, idx, i1) => { + return common_vendor.e({ + a: file.fileType === "image" + }, file.fileType === "image" ? { + b: resolveFileUrl(file.filePath), + c: common_vendor.o(($event) => previewImages(item.content.attachments, idx), idx), + d: common_vendor.o((...args) => common_vendor.unref(scheduleMeasureLayout) && common_vendor.unref(scheduleMeasureLayout)(...args), idx) + } : { + e: common_vendor.t(file.fileName || "附件") + }, { + f: idx + }); + }) + } : {}, { + ae: item.content.signPath + }, item.content.signPath ? { + af: resolveFileUrl(item.content.signPath), + ag: common_vendor.o(($event) => previewSingle(item.content.signPath), "node-" + index), + ah: common_vendor.o((...args) => common_vendor.unref(scheduleMeasureLayout) && common_vendor.unref(scheduleMeasureLayout)(...args), "node-" + index) + } : {}) : {}, { + r: item.type === "assign", + v: item.type === "rectify", + M: item.type === "verify", + X: item.type === "writeoff", + ai: "node-" + index, + aj: "hazard-node-" + index, + ak: index === common_vendor.unref(historyList).length - 1 ? 1 : "" + }); + }), + j: common_vendor.unref(contentScrollIntoView), + k: common_vendor.unref(scrollWithAnimation), + l: common_vendor.o((...args) => common_vendor.unref(onContentScroll) && common_vendor.unref(onContentScroll)(...args)), + m: common_vendor.o((...args) => common_vendor.unref(onScrollToLower) && common_vendor.unref(onScrollToLower)(...args)) + }, { + f: common_vendor.unref(historyList).length === 0, + n: common_vendor.gei(_ctx, "") + }); + }; + } +}; +const Component = /* @__PURE__ */ common_vendor._export_sfc(_sfc_main, [["__scopeId", "data-v-f38c3cb4"]]); +wx.createComponent(Component); +//# sourceMappingURL=../../../.sourcemap/mp-weixin/components/hazardDetail/HazardDetailPanel.js.map diff --git a/unpackage/dist/dev/mp-weixin/components/hazardDetail/HazardDetailPanel.json b/unpackage/dist/dev/mp-weixin/components/hazardDetail/HazardDetailPanel.json new file mode 100644 index 0000000..e8cfaaf --- /dev/null +++ b/unpackage/dist/dev/mp-weixin/components/hazardDetail/HazardDetailPanel.json @@ -0,0 +1,4 @@ +{ + "component": true, + "usingComponents": {} +} \ No newline at end of file diff --git a/unpackage/dist/dev/mp-weixin/components/hazardDetail/HazardDetailPanel.wxml b/unpackage/dist/dev/mp-weixin/components/hazardDetail/HazardDetailPanel.wxml new file mode 100644 index 0000000..79eb4d0 --- /dev/null +++ b/unpackage/dist/dev/mp-weixin/components/hazardDetail/HazardDetailPanel.wxml @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/unpackage/dist/dev/mp-weixin/components/hazardDetail/HazardDetailPanel.wxss b/unpackage/dist/dev/mp-weixin/components/hazardDetail/HazardDetailPanel.wxss new file mode 100644 index 0000000..96ee16b --- /dev/null +++ b/unpackage/dist/dev/mp-weixin/components/hazardDetail/HazardDetailPanel.wxss @@ -0,0 +1,331 @@ +/** + * 这里是uni-app内置的常用样式变量 + * + * uni-app 官方扩展插件及插件市场(https://ext.dcloud.net.cn)上很多三方插件均使用了这些样式变量 + * 如果你是插件开发者,建议你使用scss预处理,并在插件代码中直接使用这些变量(无需 import 这个文件),方便用户通过搭积木的方式开发整体风格一致的App + * + */ +/** + * 如果你是App开发者(插件使用者),你可以通过修改这些变量来定制自己的插件主题,实现自定义主题功能 + * + * 如果你的项目同样使用了scss预处理,你也可以直接在你的 scss 代码中使用如下变量,同时无需 import 这个文件 + */ +/* uni.scss */ +/* 颜色变量 */ +/* 行为相关颜色 */ +/* 文字基本颜色 */ +/* 背景颜色 */ +/* 边框颜色 */ +/* 尺寸变量 */ +/* 文字尺寸 */ +/* 图片尺寸 */ +/* Border Radius */ +/* 水平间距 */ +/* 垂直间距 */ +/* 透明度 */ +/* 文章场景相关 */ +.hazard-detail-panel.data-v-f38c3cb4 { + display: flex; + flex-direction: column; + height: 100vh; + background: #ebf2fc; + overflow: hidden; +} +.status-bar.data-v-f38c3cb4 { + flex-shrink: 0; + background: #f5f7fa; + border-bottom: 1rpx solid #e4e7ed; + padding: 20rpx 24rpx; +} +.hazard-title.data-v-f38c3cb4 { + font-size: 32rpx; + font-weight: 600; + color: #303133; + line-height: 1.4; + margin-bottom: 16rpx; + word-break: break-all; +} +.status-row.data-v-f38c3cb4 { + display: flex; + align-items: center; + justify-content: space-between; + gap: 24rpx; + font-size: 24rpx; + color: #909399; +} +.info-item.data-v-f38c3cb4 { + line-height: 1.5; + flex-shrink: 0; +} +.info-item--right.data-v-f38c3cb4 { + text-align: right; +} +.status-meta.data-v-f38c3cb4 { + display: flex; + align-items: center; + gap: 12rpx; + flex-shrink: 0; +} +.info-label.data-v-f38c3cb4 { + line-height: 1.5; +} +.status-tag.data-v-f38c3cb4 { + display: inline-flex; + align-items: center; + padding: 4rpx 16rpx; + border-radius: 8rpx; + font-size: 22rpx; + font-weight: 500; + line-height: 1.4; + white-space: nowrap; +} +.status-blue.data-v-f38c3cb4 { + background: #ecf5ff; + border: 2rpx solid #b3d8ff; + color: #409eff; +} +.status-green.data-v-f38c3cb4 { + background: #f0f9eb; + border: 2rpx solid #c2e7b0; + color: #67c23a; +} +.status-orange.data-v-f38c3cb4 { + background: #fff7e6; + border: 2rpx solid #ffd591; + color: #fa8c16; +} +.status-red.data-v-f38c3cb4 { + background: #fef0f0; + border: 2rpx solid #fbc4c4; + color: #f56c6c; +} +.status-yellow.data-v-f38c3cb4 { + background: #fdf6ec; + border: 2rpx solid #f5dab1; + color: #e6a23c; +} +.status-gray.data-v-f38c3cb4 { + background: #f4f4f5; + border: 2rpx solid #d3d4d6; + color: #909399; +} +.level-tag.data-v-f38c3cb4 { + display: inline-flex; + align-items: center; + padding: 4rpx 16rpx; + border-radius: 8rpx; + font-size: 24rpx; + font-weight: 500; + line-height: 1.4; + white-space: nowrap; +} +.level-normal.data-v-f38c3cb4 { + background: #fffbe6; + border: 2rpx solid #ffe58f; + color: #faad14; +} +.level-major.data-v-f38c3cb4 { + background: #fff1f0; + border: 2rpx solid #ffa39e; + color: #f5222d; +} +.loading-wrap.data-v-f38c3cb4, +.empty-wrap.data-v-f38c3cb4 { + flex: 1; + display: flex; + align-items: center; + justify-content: center; +} +.loading-text.data-v-f38c3cb4, +.empty-text.data-v-f38c3cb4 { + font-size: 28rpx; + color: #909399; +} +.detail-body.data-v-f38c3cb4 { + flex: 1; + display: flex; + min-height: 0; + overflow: hidden; +} +.steps-column.data-v-f38c3cb4 { + width: 168rpx; + flex-shrink: 0; + height: 100%; + background: #fff; + border-right: 1rpx solid #ebeef5; +} +.step-item.data-v-f38c3cb4 { + padding: 0 16rpx; +} +.step-track.data-v-f38c3cb4 { + display: flex; + flex-direction: column; + align-items: center; + padding: 24rpx 0 0; +} +.step-dot.data-v-f38c3cb4 { + width: 72rpx; + height: 72rpx; + border-radius: 50%; + background: #dcdfe6; + display: flex; + align-items: center; + justify-content: center; + box-shadow: 0 4rpx 12rpx rgba(0, 0, 0, 0.08); + transition: background 0.2s; +} +.step-dot--active.data-v-f38c3cb4 { + background: #409eff; +} +.step-dot-text.data-v-f38c3cb4 { + font-size: 22rpx; + font-weight: 600; + color: #606266; + text-align: center; + line-height: 1.2; +} +.step-item--active .step-dot-text.data-v-f38c3cb4 { + color: #fff; +} +.step-line.data-v-f38c3cb4 { + width: 4rpx; + height: 48rpx; + background: #e4e7ed; + margin: 8rpx 0; +} +.content-column.data-v-f38c3cb4 { + flex: 1; + min-width: 0; + height: 100%; + box-sizing: border-box; +} +.node-section.data-v-f38c3cb4 { + box-sizing: border-box; + padding: 20rpx 20rpx 0; + margin-bottom: 24rpx; +} +.node-section--last.data-v-f38c3cb4 { + padding-bottom: 40rpx; + margin-bottom: 0; +} +.detail-card.data-v-f38c3cb4 { + background: #fff; + border-radius: 16rpx; + border: 1rpx solid #ebeef5; + overflow: hidden; +} +.card-header.data-v-f38c3cb4 { + display: flex; + flex-direction: column; + gap: 8rpx; + padding: 20rpx; + background: linear-gradient(135deg, #4facfe 0%, #2668ea 100%); +} +.card-node-name.data-v-f38c3cb4 { + font-size: 30rpx; + font-weight: 600; + color: #fff; + line-height: 1.4; +} +.operator.data-v-f38c3cb4 { + font-size: 28rpx; + font-weight: 600; + color: #fff; + line-height: 1.5; + word-break: break-all; +} +.time.data-v-f38c3cb4 { + font-size: 24rpx; + color: rgba(255, 255, 255, 0.85); +} +.card-body.data-v-f38c3cb4 { + padding: 24rpx; +} +.detail-row.data-v-f38c3cb4 { + display: flex; + flex-direction: column; + gap: 8rpx; + margin-bottom: 24rpx; +} +.detail-row.data-v-f38c3cb4:last-child { + margin-bottom: 0; +} +.detail-row--block.data-v-f38c3cb4 { + margin-bottom: 24rpx; +} +.label.data-v-f38c3cb4 { + display: flex; + align-items: center; + gap: 10rpx; + font-size: 24rpx; + color: #909399; + font-weight: 500; +} +.label.data-v-f38c3cb4::before { + content: ""; + width: 10rpx; + height: 10rpx; + border-radius: 50%; + background: #909399; + flex-shrink: 0; +} +.value.data-v-f38c3cb4 { + font-size: 28rpx; + color: #303133; + line-height: 1.6; + word-break: break-all; +} +.value--inline.data-v-f38c3cb4 { + display: flex; + align-items: center; +} +.area-dot.data-v-f38c3cb4 { + width: 20rpx; + height: 20rpx; + border-radius: 50%; + margin-right: 12rpx; + flex-shrink: 0; +} +.attachment-list.data-v-f38c3cb4 { + display: flex; + flex-wrap: wrap; + gap: 16rpx; + margin-top: 8rpx; +} +.attachment-img.data-v-f38c3cb4 { + width: 160rpx; + height: 160rpx; + border-radius: 12rpx; + background: #f5f7fa; +} +.sign-img.data-v-f38c3cb4 { + width: 300rpx; + height: 160rpx; + margin-top: 8rpx; + border: 1rpx solid #e4e7ed; + border-radius: 8rpx; + background: #fafafa; +} +.file-link.data-v-f38c3cb4 { + display: inline-block; + padding: 12rpx 20rpx; + background: #f5f7fa; + border: 1rpx solid #e4e7ed; + border-radius: 8rpx; + color: #409eff; + font-size: 24rpx; +} +.result-tag.data-v-f38c3cb4 { + align-self: flex-start; + padding: 6rpx 16rpx; + border-radius: 6rpx; + font-size: 24rpx; +} +.result-tag--pass.data-v-f38c3cb4 { + background: #f0f9eb; + color: #67c23a; +} +.result-tag--fail.data-v-f38c3cb4 { + background: #fef0f0; + color: #f56c6c; +} \ No newline at end of file diff --git a/unpackage/dist/dev/mp-weixin/components/hazardDetail/HazardDetailPanelV2.js b/unpackage/dist/dev/mp-weixin/components/hazardDetail/HazardDetailPanelV2.js new file mode 100644 index 0000000..54242f2 --- /dev/null +++ b/unpackage/dist/dev/mp-weixin/components/hazardDetail/HazardDetailPanelV2.js @@ -0,0 +1,265 @@ +"use strict"; +const common_vendor = require("../../common/vendor.js"); +const request_request = require("../../request/request.js"); +const components_hazardDetail_hazardDetail = require("./hazardDetail.js"); +const components_hazardDetail_useHazardDetailScroll = require("./useHazardDetailScroll.js"); +const _sfc_main = { + __name: "HazardDetailPanelV2", + props: { + detail: { + type: Object, + default: () => ({}) + }, + loading: { + type: Boolean, + default: false + }, + bodyHeight: { + type: Number, + default: 0 + } + }, + setup(__props) { + const props = __props; + const { detail, loading } = common_vendor.toRefs(props); + const { + historyList, + activeIndex, + contentScrollIntoView, + stepScrollIntoView, + scrollWithAnimation, + onContentScroll, + onScrollToLower, + scrollToNode, + scheduleMeasureLayout + } = components_hazardDetail_useHazardDetailScroll.useHazardDetailScroll(detail, loading); + const scrollAreaStyle = common_vendor.computed(() => { + const height = props.bodyHeight > 0 ? props.bodyHeight : 400; + return { height: `${height}px` }; + }); + const detailBodyStyle = common_vendor.computed(() => { + const height = props.bodyHeight > 0 ? props.bodyHeight : 400; + return { height: `${height}px` }; + }); + common_vendor.watch( + () => props.bodyHeight, + (height) => { + if (height > 0) { + scheduleMeasureLayout(); + setTimeout(scheduleMeasureLayout, 100); + } + } + ); + const LEVEL_CLASS_MAP = { + 2: "level-normal", + 3: "level-major" + }; + const LEVEL_NAME_CLASS_MAP = { + 一般: "level-normal", + 一般隐患: "level-normal", + 重大: "level-major", + 重大隐患: "level-major" + }; + const getLevelTagClass = (content) => { + const level = content == null ? void 0 : content.level; + const levelName = content == null ? void 0 : content.levelName; + if (level != null && LEVEL_CLASS_MAP[level]) { + return LEVEL_CLASS_MAP[level]; + } + if (levelName && LEVEL_NAME_CLASS_MAP[levelName]) { + return LEVEL_NAME_CLASS_MAP[levelName]; + } + return ""; + }; + const resolveFileUrl = (path) => request_request.toImageUrl(path); + const formatCost = (cost) => { + if (cost == null || cost === "") + return "-"; + const num = Number(cost); + return Number.isNaN(num) ? "-" : `${num} 元`; + }; + const previewSingle = (path) => { + const url = resolveFileUrl(path); + if (!url) + return; + common_vendor.index.previewImage({ current: url, urls: [url] }); + }; + const previewImages = (attachments, index) => { + const urls = (attachments || []).filter((f) => f.fileType === "image" || !f.fileType).map((f) => resolveFileUrl(f.filePath)).filter(Boolean); + if (!urls.length) + return; + common_vendor.index.previewImage({ current: urls[index] || urls[0], urls }); + }; + return (_ctx, _cache) => { + return common_vendor.e({ + a: common_vendor.unref(loading) + }, common_vendor.unref(loading) ? {} : common_vendor.unref(historyList).length === 0 ? {} : { + c: common_vendor.f(common_vendor.unref(historyList), (item, index, i0) => { + return common_vendor.e({ + a: common_vendor.unref(components_hazardDetail_hazardDetail.getStepIconPath)(item.type, common_vendor.unref(activeIndex) === index), + b: common_vendor.unref(activeIndex) === index ? 1 : "", + c: common_vendor.t(item.nodeName), + d: common_vendor.unref(activeIndex) === index ? 1 : "", + e: index < common_vendor.unref(historyList).length - 1 + }, index < common_vendor.unref(historyList).length - 1 ? {} : {}, { + f: "step-" + index, + g: "hazard-step-" + index, + h: common_vendor.unref(activeIndex) === index ? 1 : "", + i: common_vendor.o(($event) => common_vendor.unref(scrollToNode)(index), "step-" + index) + }); + }), + d: common_vendor.s(scrollAreaStyle.value), + e: common_vendor.unref(stepScrollIntoView), + f: common_vendor.f(common_vendor.unref(historyList), (item, index, i0) => { + return common_vendor.e({ + a: common_vendor.t(item.titlePrefix), + b: common_vendor.t(item.operator), + c: common_vendor.t(item.time), + d: item.type === "submit" && item.content.levelName + }, item.type === "submit" && item.content.levelName ? { + e: common_vendor.t(item.content.levelName), + f: common_vendor.n(getLevelTagClass(item.content)) + } : {}, { + g: item.type === "submit" + }, item.type === "submit" ? common_vendor.e({ + h: common_vendor.t(item.content.title), + i: common_vendor.t(item.content.source), + j: item.content.areaColor + }, item.content.areaColor ? { + k: item.content.areaColor + } : {}, { + l: common_vendor.t(item.content.areaName), + m: common_vendor.t(item.content.address), + n: common_vendor.t(item.content.levelName || "-"), + o: common_vendor.n(getLevelTagClass(item.content)), + p: common_vendor.t(item.content.tagName), + q: common_vendor.t(item.content.description), + r: item.content.attachments && item.content.attachments.length + }, item.content.attachments && item.content.attachments.length ? { + s: common_vendor.f(item.content.attachments, (file, idx, i1) => { + return { + a: idx, + b: resolveFileUrl(file.filePath), + c: common_vendor.o(($event) => previewImages(item.content.attachments, idx), idx), + d: common_vendor.o((...args) => common_vendor.unref(scheduleMeasureLayout) && common_vendor.unref(scheduleMeasureLayout)(...args), idx) + }; + }) + } : {}, { + t: common_vendor.t(item.content.legalBasis) + }) : item.type === "assign" ? { + w: common_vendor.t(item.content.assigneeName), + x: common_vendor.t(item.content.deadline) + } : item.type === "rectify" ? common_vendor.e({ + z: common_vendor.t(item.content.rectifyStatusName), + A: common_vendor.t(item.content.rectifyPlan), + B: common_vendor.t(item.content.rectifyResult), + C: common_vendor.t(item.content.rectificationMeasures), + D: common_vendor.t(item.content.controlMeasures), + E: common_vendor.t(item.content.deadline), + F: common_vendor.t(item.content.rectifierNames), + G: common_vendor.t(item.content.managerNames), + H: common_vendor.t(formatCost(item.content.planCost)), + I: common_vendor.t(formatCost(item.content.actualCost)), + J: item.content.attachments && item.content.attachments.length + }, item.content.attachments && item.content.attachments.length ? { + K: common_vendor.f(item.content.attachments, (file, idx, i1) => { + return common_vendor.e({ + a: file.fileType === "image" + }, file.fileType === "image" ? { + b: resolveFileUrl(file.filePath), + c: common_vendor.o(($event) => previewImages(item.content.attachments, idx), idx), + d: common_vendor.o((...args) => common_vendor.unref(scheduleMeasureLayout) && common_vendor.unref(scheduleMeasureLayout)(...args), idx) + } : { + e: common_vendor.t(file.fileName || "附件") + }, { + f: idx + }); + }) + } : {}, { + L: item.content.signPath + }, item.content.signPath ? { + M: resolveFileUrl(item.content.signPath), + N: common_vendor.o(($event) => previewSingle(item.content.signPath), "node-" + index), + O: common_vendor.o((...args) => common_vendor.unref(scheduleMeasureLayout) && common_vendor.unref(scheduleMeasureLayout)(...args), "node-" + index) + } : {}) : item.type === "verify" ? common_vendor.e({ + Q: common_vendor.t(item.content.resultName), + R: common_vendor.n(item.content.resultName === "通过" ? "result-tag--pass" : "result-tag--fail"), + S: item.content.remark + }, item.content.remark ? { + T: common_vendor.t(item.content.remark) + } : {}, { + U: item.content.attachments && item.content.attachments.length + }, item.content.attachments && item.content.attachments.length ? { + V: common_vendor.f(item.content.attachments, (file, idx, i1) => { + return common_vendor.e({ + a: file.fileType === "image" + }, file.fileType === "image" ? { + b: resolveFileUrl(file.filePath), + c: common_vendor.o(($event) => previewImages(item.content.attachments, idx), idx), + d: common_vendor.o((...args) => common_vendor.unref(scheduleMeasureLayout) && common_vendor.unref(scheduleMeasureLayout)(...args), idx) + } : { + e: common_vendor.t(file.fileName || "附件") + }, { + f: idx + }); + }) + } : {}, { + W: item.content.signPath + }, item.content.signPath ? { + X: resolveFileUrl(item.content.signPath), + Y: common_vendor.o(($event) => previewSingle(item.content.signPath), "node-" + index), + Z: common_vendor.o((...args) => common_vendor.unref(scheduleMeasureLayout) && common_vendor.unref(scheduleMeasureLayout)(...args), "node-" + index) + } : {}) : item.type === "writeoff" ? common_vendor.e({ + ab: common_vendor.t(item.content.resultName), + ac: common_vendor.n(item.content.resultName === "通过" ? "result-tag--pass" : "result-tag--fail"), + ad: item.content.remark + }, item.content.remark ? { + ae: common_vendor.t(item.content.remark) + } : {}, { + af: item.content.attachments && item.content.attachments.length + }, item.content.attachments && item.content.attachments.length ? { + ag: common_vendor.f(item.content.attachments, (file, idx, i1) => { + return common_vendor.e({ + a: file.fileType === "image" + }, file.fileType === "image" ? { + b: resolveFileUrl(file.filePath), + c: common_vendor.o(($event) => previewImages(item.content.attachments, idx), idx), + d: common_vendor.o((...args) => common_vendor.unref(scheduleMeasureLayout) && common_vendor.unref(scheduleMeasureLayout)(...args), idx) + } : { + e: common_vendor.t(file.fileName || "附件") + }, { + f: idx + }); + }) + } : {}, { + ah: item.content.signPath + }, item.content.signPath ? { + ai: resolveFileUrl(item.content.signPath), + aj: common_vendor.o(($event) => previewSingle(item.content.signPath), "node-" + index), + ak: common_vendor.o((...args) => common_vendor.unref(scheduleMeasureLayout) && common_vendor.unref(scheduleMeasureLayout)(...args), "node-" + index) + } : {}) : {}, { + v: item.type === "assign", + y: item.type === "rectify", + P: item.type === "verify", + aa: item.type === "writeoff", + al: "node-" + index, + am: "hazard-node-" + index, + an: index === common_vendor.unref(historyList).length - 1 ? 1 : "" + }); + }), + g: common_vendor.s(scrollAreaStyle.value), + h: common_vendor.unref(contentScrollIntoView), + i: common_vendor.unref(scrollWithAnimation), + j: common_vendor.o((...args) => common_vendor.unref(onContentScroll) && common_vendor.unref(onContentScroll)(...args)), + k: common_vendor.o((...args) => common_vendor.unref(onScrollToLower) && common_vendor.unref(onScrollToLower)(...args)), + l: common_vendor.s(detailBodyStyle.value) + }, { + b: common_vendor.unref(historyList).length === 0, + m: common_vendor.gei(_ctx, "") + }); + }; + } +}; +const Component = /* @__PURE__ */ common_vendor._export_sfc(_sfc_main, [["__scopeId", "data-v-361ef447"]]); +wx.createComponent(Component); +//# sourceMappingURL=../../../.sourcemap/mp-weixin/components/hazardDetail/HazardDetailPanelV2.js.map diff --git a/unpackage/dist/dev/mp-weixin/components/hazardDetail/HazardDetailPanelV2.json b/unpackage/dist/dev/mp-weixin/components/hazardDetail/HazardDetailPanelV2.json new file mode 100644 index 0000000..e8cfaaf --- /dev/null +++ b/unpackage/dist/dev/mp-weixin/components/hazardDetail/HazardDetailPanelV2.json @@ -0,0 +1,4 @@ +{ + "component": true, + "usingComponents": {} +} \ No newline at end of file diff --git a/unpackage/dist/dev/mp-weixin/components/hazardDetail/HazardDetailPanelV2.wxml b/unpackage/dist/dev/mp-weixin/components/hazardDetail/HazardDetailPanelV2.wxml new file mode 100644 index 0000000..9650e15 --- /dev/null +++ b/unpackage/dist/dev/mp-weixin/components/hazardDetail/HazardDetailPanelV2.wxml @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/unpackage/dist/dev/mp-weixin/components/hazardDetail/HazardDetailPanelV2.wxss b/unpackage/dist/dev/mp-weixin/components/hazardDetail/HazardDetailPanelV2.wxss new file mode 100644 index 0000000..0f3089f --- /dev/null +++ b/unpackage/dist/dev/mp-weixin/components/hazardDetail/HazardDetailPanelV2.wxss @@ -0,0 +1,292 @@ +/** + * 这里是uni-app内置的常用样式变量 + * + * uni-app 官方扩展插件及插件市场(https://ext.dcloud.net.cn)上很多三方插件均使用了这些样式变量 + * 如果你是插件开发者,建议你使用scss预处理,并在插件代码中直接使用这些变量(无需 import 这个文件),方便用户通过搭积木的方式开发整体风格一致的App + * + */ +/** + * 如果你是App开发者(插件使用者),你可以通过修改这些变量来定制自己的插件主题,实现自定义主题功能 + * + * 如果你的项目同样使用了scss预处理,你也可以直接在你的 scss 代码中使用如下变量,同时无需 import 这个文件 + */ +/* uni.scss */ +/* 颜色变量 */ +/* 行为相关颜色 */ +/* 文字基本颜色 */ +/* 背景颜色 */ +/* 边框颜色 */ +/* 尺寸变量 */ +/* 文字尺寸 */ +/* 图片尺寸 */ +/* Border Radius */ +/* 水平间距 */ +/* 垂直间距 */ +/* 透明度 */ +/* 文章场景相关 */ +.hazard-detail-panel-v2.data-v-361ef447 { + flex: 1; + min-height: 0; + width: 100%; + height: 100%; + display: flex; + flex-direction: column; + overflow: hidden; +} +.loading-wrap.data-v-361ef447, +.empty-wrap.data-v-361ef447 { + flex: 1; + display: flex; + align-items: center; + justify-content: center; + min-height: 0; +} +.loading-text.data-v-361ef447, +.empty-text.data-v-361ef447 { + font-size: 28rpx; + color: #909399; +} +.detail-body.data-v-361ef447 { + display: flex; + gap: 20rpx; + align-items: stretch; + overflow: hidden; + box-sizing: border-box; +} +.steps-card.data-v-361ef447 { + width: 140rpx; + flex-shrink: 0; + background: #fff; + border-radius: 20rpx; + box-sizing: border-box; +} +.step-item.data-v-361ef447 { + padding: 0 12rpx; +} +.step-track.data-v-361ef447 { + display: flex; + flex-direction: column; + align-items: center; + padding: 28rpx 0 0; +} +.step-dot.data-v-361ef447 { + width: 66rpx; + height: 66rpx; + border-radius: 50%; + background: #f3f3f3; + display: flex; + align-items: center; + justify-content: center; + transition: background 0.2s; +} +.step-dot--active.data-v-361ef447 { + background: #2667e9; +} +.step-icon.data-v-361ef447 { + width: 36rpx; + height: 36rpx; +} +.step-label.data-v-361ef447 { + margin-top: 12rpx; + font-size: 24rpx; + color: #999; + line-height: 1.2; +} +.step-label--active.data-v-361ef447 { + color: #2667e9; + font-weight: 600; +} +.step-line.data-v-361ef447 { + width: 0; + height: 40rpx; + margin: 10rpx 0; + border-left: 2rpx dashed #dcdfe6; +} +.content-column.data-v-361ef447 { + flex: 1; + width: 0; + min-height: 0; + box-sizing: border-box; +} +.content-scroll.data-v-361ef447 { + width: 100%; + box-sizing: border-box; +} +.node-section.data-v-361ef447 { + box-sizing: border-box; + padding: 0; + margin-bottom: 24rpx; +} +.node-section--last.data-v-361ef447 { + padding-bottom: 40rpx; + margin-bottom: 0; +} +.detail-card.data-v-361ef447 { + background: #fff; + border-radius: 20rpx; + overflow: hidden; + padding: 28rpx 38rpx; + box-sizing: border-box; +} +.card-header-v2.data-v-361ef447 { + display: flex; + align-items: flex-start; + justify-content: space-between; + gap: 16rpx; + padding: 0; +} +.card-header-main.data-v-361ef447 { + flex: 1; + min-width: 0; +} +.operator.data-v-361ef447 { + font-size: 28rpx; + font-weight: 600; + color: #303133; + line-height: 1.5; + word-break: break-all; +} +.time.data-v-361ef447 { + display: block; + margin-top: 8rpx; + font-size: 24rpx; + color: #999; + line-height: 1.4; +} +.level-badge.data-v-361ef447 { + flex-shrink: 0; + padding: 6rpx 16rpx; + border-radius: 8rpx; + font-size: 22rpx; + font-weight: 500; + white-space: nowrap; +} +.level-badge.level-normal.data-v-361ef447 { + background: #fff7e6; + border: 2rpx solid #ffd591; + color: #fa8c16; +} +.level-badge.level-major.data-v-361ef447 { + background: #fff1f0; + border: 2rpx solid #ffa39e; + color: #f5222d; +} +.card-divider.data-v-361ef447 { + height: 0; + margin: 20rpx 0; + border-top: 2rpx dashed #eee; +} +.card-body.data-v-361ef447 { + padding: 0; +} +.detail-row-v2.data-v-361ef447 { + display: flex; + align-items: flex-start; + justify-content: flex-start; + gap: 24rpx; + padding: 18rpx 0; +} +.detail-row-v2--block.data-v-361ef447 { + flex-wrap: wrap; +} +.label.data-v-361ef447 { + flex-shrink: 0; + font-size: 26rpx; + color: #999; + line-height: 1.5; +} +.value.data-v-361ef447 { + flex: 1; + min-width: 0; + font-size: 26rpx; + color: #333; + line-height: 1.6; + text-align: left; + word-break: break-all; +} +.value--inline.data-v-361ef447 { + display: flex; + align-items: center; +} +.area-dot.data-v-361ef447 { + width: 20rpx; + height: 20rpx; + border-radius: 50%; + margin-right: 12rpx; + flex-shrink: 0; +} +.level-tag.data-v-361ef447 { + display: inline-flex; + align-items: center; + padding: 4rpx 16rpx; + border-radius: 8rpx; + font-size: 24rpx; + font-weight: 500; + line-height: 1.4; + white-space: nowrap; +} +.level-normal.data-v-361ef447 { + background: #fff7e6; + border: 2rpx solid #ffd591; + color: #fa8c16; +} +.level-major.data-v-361ef447 { + background: #fff1f0; + border: 2rpx solid #ffa39e; + color: #f5222d; +} +.tag-badge.data-v-361ef447 { + display: inline-flex; + align-items: center; + padding: 4rpx 16rpx; + border-radius: 8rpx; + font-size: 24rpx; + background: #eef3ff; + border: 2rpx solid #aac5fc; + color: #2667e9; +} +.attachment-list.data-v-361ef447 { + display: flex; + flex-wrap: wrap; + gap: 16rpx; + flex: 1; + min-width: 0; +} +.attachment-img.data-v-361ef447 { + width: 160rpx; + height: 160rpx; + border-radius: 12rpx; + background: #f5f7fa; +} +.sign-img.data-v-361ef447 { + width: 300rpx; + height: 160rpx; + border: 1rpx solid #e4e7ed; + border-radius: 8rpx; + background: #fafafa; + flex: 1; + min-width: 0; + max-width: 100%; +} +.file-link.data-v-361ef447 { + display: inline-block; + padding: 12rpx 20rpx; + background: #f5f7fa; + border: 1rpx solid #e4e7ed; + border-radius: 8rpx; + color: #2667e9; + font-size: 24rpx; +} +.result-tag.data-v-361ef447 { + padding: 6rpx 16rpx; + border-radius: 6rpx; + font-size: 24rpx; +} +.result-tag--pass.data-v-361ef447 { + background: #f0f9eb; + color: #67c23a; +} +.result-tag--fail.data-v-361ef447 { + background: #fef0f0; + color: #f56c6c; +} \ No newline at end of file diff --git a/unpackage/dist/dev/mp-weixin/components/hazardDetail/hazardDetail.js b/unpackage/dist/dev/mp-weixin/components/hazardDetail/hazardDetail.js new file mode 100644 index 0000000..ff7ce79 --- /dev/null +++ b/unpackage/dist/dev/mp-weixin/components/hazardDetail/hazardDetail.js @@ -0,0 +1,203 @@ +"use strict"; +const HAZARD_NODE_TYPES = { + SUBMIT: "submit", + ASSIGN: "assign", + RECTIFY: "rectify", + VERIFY: "verify", + WRITEOFF: "writeoff" +}; +const HAZARD_STATUS_CLASS_MAP = { + 1: "status-blue", + 2: "status-orange", + 3: "status-red", + 4: "status-yellow", + 5: "status-green" +}; +const STATUS_NAME_CLASS_MAP = { + 待交办: "status-blue", + 待整改: "status-orange", + 整改中: "status-orange", + 待验收: "status-red", + 待销号: "status-yellow", + 已完成: "status-green", + 已销号: "status-green" +}; +const LEVEL_NAME_MAP = { + 2: "一般隐患", + 3: "重大隐患" +}; +function getLevelName(level) { + return LEVEL_NAME_MAP[level] || "未知"; +} +function getStatusClass(status, statusName) { + if (statusName && STATUS_NAME_CLASS_MAP[statusName]) { + return STATUS_NAME_CLASS_MAP[statusName]; + } + return HAZARD_STATUS_CLASS_MAP[status] || ""; +} +function getStepIconPath(type, active = false) { + const baseMap = { + submit: "tijiao", + assign: "jiaoban", + rectify: "zhenggai", + verify: "yanshou", + writeoff: "xiaohao" + }; + const base = baseMap[type] || "tijiao"; + if (base === "zhenggai") { + return active ? "/static/yinhuan_detail/zhenggai_selected.png" : "/static/yinhuan_detail/zhenggai__unselected.png"; + } + return `/static/yinhuan_detail/${base}__${active ? "selected" : "unselected"}.png`; +} +function formatNameList(names, fallback = "-") { + if (Array.isArray(names) && names.length) { + return names.join("、"); + } + if (typeof names === "string" && names.trim()) { + const parts = names.split(/[,,、]/).map((s) => s.trim()).filter(Boolean); + return parts.length ? parts.join("、") : names; + } + return fallback; +} +function isWriteoffRecord(record) { + if (!record) + return false; + return record.type === 2 || record.typeName === "销号"; +} +function buildVerifyNode(record) { + return { + type: HAZARD_NODE_TYPES.VERIFY, + nodeName: "验收", + titlePrefix: "验收", + operator: record.verifierName || "-", + time: record.verifyTime || "-", + content: { + resultName: record.resultName || "-", + remark: record.remark || "", + attachments: record.attachments || [], + signPath: record.signPath || "", + verifyDeptName: record.verifyDeptName || "-" + } + }; +} +function buildWriteoffNode(record) { + return { + type: HAZARD_NODE_TYPES.WRITEOFF, + nodeName: "销号", + titlePrefix: "销号", + operator: record.verifierName || "-", + time: record.verifyTime || "-", + content: { + resultName: record.resultName || "-", + remark: record.remark || "", + attachments: record.attachments || [], + signPath: record.signPath || "", + writeoffDeptName: record.writeoffDeptName || "-" + } + }; +} +function appendAuditNodes(list, records, seenIds) { + (records || []).forEach((record) => { + if (!record) + return; + const key = record.verifyId ?? record.id; + if (key != null) { + if (seenIds.has(key)) + return; + seenIds.add(key); + } + list.push(isWriteoffRecord(record) ? buildWriteoffNode(record) : buildVerifyNode(record)); + }); +} +function resolveWriteoffRecords(flow) { + return flow.writeOffs || flow.writeoffs || []; +} +function resolveRectifierNames(rectify) { + if (!rectify) + return "-"; + if (Array.isArray(rectify.rectifierNames) && rectify.rectifierNames.length) { + return rectify.rectifierNames.join("、"); + } + if (Array.isArray(rectify.memberNames) && rectify.memberNames.length) { + return rectify.memberNames.join("、"); + } + return formatNameList(rectify.rectifierName, "-"); +} +function generateHazardHistory(data) { + if (!data) + return []; + const list = []; + list.push({ + type: HAZARD_NODE_TYPES.SUBMIT, + nodeName: "提交", + titlePrefix: "提交", + operator: data.reporterName || "-", + time: data.createdAt || "-", + content: { + title: data.title || "-", + source: data.source || "-", + areaName: data.areaName || "-", + areaColor: data.areaColor || "", + address: data.address || "-", + level: data.level, + levelName: data.levelName || getLevelName(data.level), + tagName: data.tagName || "-", + description: data.description || "-", + attachments: data.attachments || [], + legalBasis: data.legalBasis || data.regulationName || "-", + reporterPhone: data.reporterPhone || "-", + reportDeptName: data.reportDeptName || "-" + } + }); + if (data.assignFlows && data.assignFlows.length > 0) { + data.assignFlows.forEach((flow) => { + if (flow.assignId) { + list.push({ + type: HAZARD_NODE_TYPES.ASSIGN, + nodeName: "交办", + titlePrefix: "交办", + operator: flow.assignerName || "-", + time: flow.assignTime || "-", + content: { + assigneeName: flow.assigneeName || "-", + deadline: flow.deadline || "-", + assignDeptName: flow.assignDeptName || "-", + assignRemark: flow.assignRemark || "-", + priorityName: flow.priorityName || "-" + } + }); + } + if (flow.rectify) { + list.push({ + type: HAZARD_NODE_TYPES.RECTIFY, + nodeName: "整改", + titlePrefix: "整改", + operator: flow.rectify.rectifierName || "-", + time: flow.rectify.rectifyTime || "-", + content: { + rectifyPlan: flow.rectify.rectifyPlan || "-", + rectifyResult: flow.rectify.rectifyResult || "-", + rectificationMeasures: flow.rectify.rectificationMeasures || "-", + controlMeasures: flow.rectify.controlMeasures || "-", + deadline: flow.deadline || "-", + rectifierNames: resolveRectifierNames(flow.rectify), + managerNames: formatNameList(flow.rectify.managerNames, "-"), + planCost: flow.rectify.planCost, + actualCost: flow.rectify.actualCost, + attachments: flow.rectify.attachments || [], + signPath: flow.rectify.signPath || "", + rectifyStatusName: flow.rectify.rectifyStatusName || "-" + } + }); + } + const seenAuditIds = /* @__PURE__ */ new Set(); + appendAuditNodes(list, flow.verifies || [], seenAuditIds); + appendAuditNodes(list, resolveWriteoffRecords(flow), seenAuditIds); + }); + } + return list; +} +exports.generateHazardHistory = generateHazardHistory; +exports.getStatusClass = getStatusClass; +exports.getStepIconPath = getStepIconPath; +//# sourceMappingURL=../../../.sourcemap/mp-weixin/components/hazardDetail/hazardDetail.js.map diff --git a/unpackage/dist/dev/mp-weixin/components/hazardDetail/useHazardDetailScroll.js b/unpackage/dist/dev/mp-weixin/components/hazardDetail/useHazardDetailScroll.js new file mode 100644 index 0000000..647bd96 --- /dev/null +++ b/unpackage/dist/dev/mp-weixin/components/hazardDetail/useHazardDetailScroll.js @@ -0,0 +1,144 @@ +"use strict"; +const common_vendor = require("../../common/vendor.js"); +const components_hazardDetail_hazardDetail = require("./hazardDetail.js"); +function useHazardDetailScroll(detailSource, loadingSource) { + const instance = common_vendor.getCurrentInstance(); + const queryScope = (instance == null ? void 0 : instance.proxy) || instance; + const historyList = common_vendor.ref([]); + const activeIndex = common_vendor.ref(0); + const sectionOffsets = common_vendor.ref([0]); + const contentViewHeight = common_vendor.ref(0); + const contentScrollIntoView = common_vendor.ref(""); + const stepScrollIntoView = common_vendor.ref(""); + const scrollWithAnimation = common_vendor.ref(true); + const isProgrammaticScroll = common_vendor.ref(false); + let measureLayoutTimer = null; + const measureLayout = () => { + if (!historyList.value.length) + return; + common_vendor.nextTick$1(() => { + const query = common_vendor.index.createSelectorQuery().in(queryScope); + query.select(".content-scroll").boundingClientRect(); + query.select(".content-scroll").scrollOffset(); + query.selectAll(".node-section").boundingClientRect(); + query.exec((res) => { + const containerRect = res == null ? void 0 : res[0]; + const scrollOffset = res == null ? void 0 : res[1]; + const sections = (res == null ? void 0 : res[2]) || []; + if (!containerRect || !sections.length) + return; + contentViewHeight.value = containerRect.height || 0; + const baseScrollTop = (scrollOffset == null ? void 0 : scrollOffset.scrollTop) || 0; + sectionOffsets.value = sections.map( + (section) => section.top - containerRect.top + baseScrollTop + ); + }); + }); + }; + const scheduleMeasureLayout = () => { + clearTimeout(measureLayoutTimer); + measureLayoutTimer = setTimeout(() => { + measureLayout(); + }, 80); + }; + const rebuildHistory = (data) => { + historyList.value = components_hazardDetail_hazardDetail.generateHazardHistory(data); + activeIndex.value = 0; + contentScrollIntoView.value = ""; + scheduleMeasureLayout(); + setTimeout(scheduleMeasureLayout, 300); + }; + const syncActiveIndex = (scrollTop, scrollHeight = 0) => { + const count = historyList.value.length; + if (!count) + return; + if (scrollHeight > 0 && contentViewHeight.value > 0) { + if (scrollTop + contentViewHeight.value >= scrollHeight - 60) { + if (activeIndex.value !== count - 1) { + activeIndex.value = count - 1; + } + return; + } + } + const offsets = sectionOffsets.value; + if (!offsets.length) + return; + let idx = 0; + for (let i = offsets.length - 1; i >= 0; i--) { + if (scrollTop >= offsets[i] - 80) { + idx = i; + break; + } + } + if (idx !== activeIndex.value) { + activeIndex.value = idx; + } + }; + const onContentScroll = (e) => { + if (isProgrammaticScroll.value) + return; + const { scrollTop = 0, scrollHeight = 0 } = e.detail || {}; + syncActiveIndex(scrollTop, scrollHeight); + scheduleMeasureLayout(); + }; + const onScrollToLower = () => { + const count = historyList.value.length; + if (count > 0 && activeIndex.value !== count - 1) { + activeIndex.value = count - 1; + } + }; + const scrollToNode = (index) => { + if (index < 0 || index >= historyList.value.length) + return; + isProgrammaticScroll.value = true; + scrollWithAnimation.value = true; + activeIndex.value = index; + contentScrollIntoView.value = "hazard-node-" + index; + setTimeout(() => { + contentScrollIntoView.value = ""; + isProgrammaticScroll.value = false; + scheduleMeasureLayout(); + }, 350); + }; + common_vendor.watch( + () => typeof loadingSource === "function" ? loadingSource() : loadingSource == null ? void 0 : loadingSource.value, + (loading) => { + if (!loading) { + scheduleMeasureLayout(); + setTimeout(scheduleMeasureLayout, 300); + } + } + ); + common_vendor.watch( + () => typeof detailSource === "function" ? detailSource() : detailSource == null ? void 0 : detailSource.value, + (val) => rebuildHistory(val), + { immediate: true, deep: true } + ); + common_vendor.watch(activeIndex, (index) => { + stepScrollIntoView.value = "hazard-step-" + index; + setTimeout(() => { + stepScrollIntoView.value = ""; + }, 300); + }); + common_vendor.watch( + () => historyList.value.length, + () => scheduleMeasureLayout() + ); + common_vendor.onReady(() => { + scheduleMeasureLayout(); + setTimeout(scheduleMeasureLayout, 300); + }); + return { + historyList, + activeIndex, + contentScrollIntoView, + stepScrollIntoView, + scrollWithAnimation, + onContentScroll, + onScrollToLower, + scrollToNode, + scheduleMeasureLayout + }; +} +exports.useHazardDetailScroll = useHazardDetailScroll; +//# sourceMappingURL=../../../.sourcemap/mp-weixin/components/hazardDetail/useHazardDetailScroll.js.map diff --git a/unpackage/dist/dev/mp-weixin/pages/Inspectionresult/Inspectionresult.js b/unpackage/dist/dev/mp-weixin/pages/Inspectionresult/Inspectionresult.js index 8e55aef..0480573 100644 --- a/unpackage/dist/dev/mp-weixin/pages/Inspectionresult/Inspectionresult.js +++ b/unpackage/dist/dev/mp-weixin/pages/Inspectionresult/Inspectionresult.js @@ -1,177 +1,111 @@ "use strict"; const common_vendor = require("../../common/vendor.js"); const request_api = require("../../request/api.js"); -require("../../request/request.js"); -const utils_upload = require("../../utils/upload.js"); -const request_three_one_api_area = require("../../request/three_one_api/area.js"); +const utils_draftCache = require("../../utils/draftCache.js"); +const utils_useDraftCache = require("../../utils/useDraftCache.js"); +const components_hazard_hazardForm = require("../../components/hazard/hazardForm.js"); if (!Array) { const _easycom_u_radio2 = common_vendor.resolveComponent("u-radio"); const _easycom_u_radio_group2 = common_vendor.resolveComponent("u-radio-group"); const _easycom_up_textarea2 = common_vendor.resolveComponent("up-textarea"); - const _easycom_up_choose2 = common_vendor.resolveComponent("up-choose"); - const _easycom_up_upload2 = common_vendor.resolveComponent("up-upload"); - const _easycom_up_input2 = common_vendor.resolveComponent("up-input"); - const _easycom_u_popup2 = common_vendor.resolveComponent("u-popup"); - (_easycom_u_radio2 + _easycom_u_radio_group2 + _easycom_up_textarea2 + _easycom_up_choose2 + _easycom_up_upload2 + _easycom_up_input2 + _easycom_u_popup2)(); + (_easycom_u_radio2 + _easycom_u_radio_group2 + _easycom_up_textarea2)(); } const _easycom_u_radio = () => "../../uni_modules/uview-plus/components/u-radio/u-radio.js"; const _easycom_u_radio_group = () => "../../uni_modules/uview-plus/components/u-radio-group/u-radio-group.js"; const _easycom_up_textarea = () => "../../uni_modules/uview-plus/components/u-textarea/u-textarea.js"; -const _easycom_up_choose = () => "../../uni_modules/uview-plus/components/u-choose/u-choose.js"; -const _easycom_up_upload = () => "../../uni_modules/uview-plus/components/u-upload/u-upload.js"; -const _easycom_up_input = () => "../../uni_modules/uview-plus/components/u-input/u-input.js"; -const _easycom_u_popup = () => "../../uni_modules/uview-plus/components/u-popup/u-popup.js"; if (!Math) { - (_easycom_u_radio + _easycom_u_radio_group + _easycom_up_textarea + _easycom_up_choose + _easycom_up_upload + _easycom_up_input + _easycom_u_popup)(); + (_easycom_u_radio + _easycom_u_radio_group + _easycom_up_textarea + HazardFormPopup)(); } +const HazardFormPopup = () => "../../components/hazard/HazardFormPopup.js"; const _sfc_main = { __name: "Inspectionresult", setup(__props) { const oneTableId = common_vendor.ref(""); - const canvasWidth = common_vendor.ref(300); - const canvasHeight = common_vendor.ref(300); const checkData = common_vendor.ref(null); + const hazardFormRef = common_vendor.ref(null); + const showHazardPopup = common_vendor.ref(false); + const hazardPayload = common_vendor.ref(components_hazard_hazardForm.createEmptyHazardPayload()); const radiolist1 = common_vendor.reactive([ - { - name: "正常", - value: 1, - disabled: false - }, - { - name: "异常", - value: 2, - disabled: false - }, - { - name: "不涉及", - value: 3, - disabled: false - } + { name: "正常", value: 1, disabled: false }, + { name: "异常", value: 2, disabled: false }, + { name: "不涉及", value: 3, disabled: false } ]); const radiovalue1 = common_vendor.ref(""); + const value1 = common_vendor.ref(""); + const normalizeInspectionDraft = (data) => { + if (!data) + return { radiovalue1: "", value1: "", hazardPayload: components_hazard_hazardForm.createEmptyHazardPayload() }; + if (!data.hazardPayload && data.hazardFormData) { + data.hazardPayload = { + formData: data.hazardFormData, + address: data.hazardAddress || "", + lng: data.hazardLng || 0, + lat: data.hazardLat || 0, + areaId: "", + areaName: "", + fileList: data.hazardFileList || [] + }; + } + return { + radiovalue1: data.radiovalue1 || "", + value1: data.value1 || "", + hazardPayload: data.hazardPayload || components_hazard_hazardForm.createEmptyHazardPayload() + }; + }; + const inspectionDraftHasContent = (data) => { + var _a, _b; + const normalized = normalizeInspectionDraft(data); + const payload = normalized.hazardPayload; + return !!(normalized.radiovalue1 || normalized.value1 || ((_a = payload.formData) == null ? void 0 : _a.title) || ((_b = payload.formData) == null ? void 0 : _b.description) || payload.fileList && payload.fileList.length > 0); + }; + const { + showRestoreBanner, + clear: clearDraft, + restore: restoreDraft, + bindAutoSave + } = utils_useDraftCache.useDraftCache({ + getKey: () => { + var _a; + return utils_draftCache.buildDraftKey( + utils_draftCache.DRAFT_NS.INSPECTION_RESULT, + oneTableId.value, + (_a = checkData.value) == null ? void 0 : _a.currentIndex + ); + }, + getPayload: () => ({ + radiovalue1: radiovalue1.value, + value1: value1.value, + hazardPayload: JSON.parse(JSON.stringify(hazardPayload.value)) + }), + hasContent: inspectionDraftHasContent, + applyPayload: (data) => { + const normalized = normalizeInspectionDraft(data); + radiovalue1.value = normalized.radiovalue1; + value1.value = normalized.value1; + hazardPayload.value = normalized.hazardPayload; + common_vendor.nextTick$1(() => { + var _a; + (_a = hazardFormRef.value) == null ? void 0 : _a.applyPayload(normalized.hazardPayload); + }); + }, + clearForm: () => { + radiovalue1.value = ""; + value1.value = ""; + clearHazard(); + }, + canSave: () => !!oneTableId.value, + requireInitialized: true + }); + bindAutoSave(() => [radiovalue1.value, value1.value, hazardPayload.value]); const groupChange = (n) => { - common_vendor.index.__f__("log", "at pages/Inspectionresult/Inspectionresult.vue:312", "groupChange", n); if (n !== "异常") { clearHazard(); } }; const radioChange = (n) => { - common_vendor.index.__f__("log", "at pages/Inspectionresult/Inspectionresult.vue:320", "radioChange", n); + common_vendor.index.__f__("log", "at pages/Inspectionresult/Inspectionresult.vue:207", "radioChange", n); }; - const value1 = common_vendor.ref(""); - const showHazardPopup = common_vendor.ref(false); - const hazardFormData = common_vendor.reactive({ - title: "", - level: 0, - source: 0, - description: "", - tagIndex: 0, - regulationId: null, - // 法律依据ID - regulationName: "" - // 法律依据名称(显示用) - }); - const hazardAddress = common_vendor.ref(""); - const hazardLng = common_vendor.ref(0); - const hazardLat = common_vendor.ref(0); - const showAreaPicker = common_vendor.ref(false); - const areaList = common_vendor.ref([]); - const selectedAreaId = common_vendor.ref(""); - const selectedAreaName = common_vendor.ref(""); - const tempAreaId = common_vendor.ref(""); - const showLawPopup = common_vendor.ref(false); - const lawKeyword = common_vendor.ref(""); - const selectedLawId = common_vendor.ref(null); - const selectedLawName = common_vendor.ref(""); - const lawList = common_vendor.ref([]); - const lawLoading = common_vendor.ref(false); - const lawPageNum = common_vendor.ref(1); - const lawPageSize = common_vendor.ref(10); - const hasMoreLaw = common_vendor.ref(true); - const openLawPopup = () => { - showLawPopup.value = true; - if (lawList.value.length === 0) { - fetchRegulationList(); - } - }; - const fetchRegulationList = async (isLoadMore = false) => { - if (lawLoading.value) - return; - lawLoading.value = true; - try { - const params = { - pageNum: lawPageNum.value, - pageSize: lawPageSize.value, - status: 1 - // 启用状态 - }; - if (lawKeyword.value && lawKeyword.value.trim()) { - params.keyword = lawKeyword.value.trim(); - } - const res = await request_api.getRegulationList(params); - if (res.code === 0) { - const records = res.data.records || res.data || []; - if (isLoadMore) { - lawList.value = [...lawList.value, ...records]; - } else { - lawList.value = records; - } - const total = res.data.total || 0; - hasMoreLaw.value = lawList.value.length < total; - } - } catch (error) { - common_vendor.index.__f__("error", "at pages/Inspectionresult/Inspectionresult.vue:399", "获取法规列表失败:", error); - } finally { - lawLoading.value = false; - } - }; - const searchRegulation = () => { - lawPageNum.value = 1; - lawList.value = []; - hasMoreLaw.value = true; - fetchRegulationList(); - }; - const loadMoreLaw = () => { - if (!hasMoreLaw.value || lawLoading.value) - return; - lawPageNum.value++; - fetchRegulationList(true); - }; - const selectLaw = (item) => { - selectedLawId.value = item.id; - selectedLawName.value = item.depict || item.keyword || ""; - }; - const confirmLaw = () => { - if (selectedLawId.value) { - hazardFormData.regulationId = selectedLawId.value; - hazardFormData.regulationName = selectedLawName.value; - } - showLawPopup.value = false; - }; - const fetchAreaList = async () => { - try { - const res = await request_three_one_api_area.getAreaList(); - if (res.code === 0 && res.data && res.data.records) { - areaList.value = res.data.records; - } - } catch (error) { - common_vendor.index.__f__("error", "at pages/Inspectionresult/Inspectionresult.vue:443", "获取区域列表失败:", error); - } - }; - const confirmAreaSelect = () => { - if (tempAreaId.value) { - selectedAreaId.value = tempAreaId.value; - const selected = areaList.value.find((item) => item.id === tempAreaId.value); - selectedAreaName.value = selected ? selected.name : ""; - } - showAreaPicker.value = false; - }; - const hazardFileList = common_vendor.ref([]); - const levelChooseRef = common_vendor.ref(null); - const aiAnalyzing = common_vendor.ref(false); - const hasHazardData = common_vendor.computed(() => { - return hazardFormData.title && hazardFileList.value.length > 0; - }); + const hasHazardData = common_vendor.computed(() => components_hazard_hazardForm.hasValidHazardPayload(hazardPayload.value)); const progressPercent = common_vendor.computed(() => { if (!checkData.value) return 0; @@ -179,149 +113,24 @@ const _sfc_main = { const total = checkData.value.totalCount || 1; return Math.round(current / total * 100); }); - const levelOptions = common_vendor.ref([ - // { id: 1, title: '轻微隐患' }, - { id: 2, title: "一般隐患" }, - { id: 3, title: "重大隐患" } - ]); - const sourceOptions = common_vendor.ref([ - { id: 1, title: "部门检查" }, - { id: 2, title: "都导检查" }, - { id: 3, title: "企业自查" }, - { id: 4, title: "行业互查" } - ]); - const tagOptions = common_vendor.ref([]); - const fetchTagOptions = async () => { - try { - const res = await request_api.getHiddenDangerLabelList(); - if (res.code === 0) { - tagOptions.value = res.data.map((item) => ({ - id: item.id, - title: item.name - })); - } - } catch (error) { - common_vendor.index.__f__("error", "at pages/Inspectionresult/Inspectionresult.vue:508", "获取标签列表失败:", error); - } - }; const openHazardPopup = () => { showHazardPopup.value = true; }; const editHazard = () => { showHazardPopup.value = true; }; + const onHazardConfirm = (payload) => { + if (payload) { + hazardPayload.value = JSON.parse(JSON.stringify(payload)); + } + }; const clearHazard = () => { - hazardFormData.regulationId = null; - hazardFormData.regulationName = ""; - selectedLawId.value = null; - selectedLawName.value = ""; - hazardFormData.title = ""; - hazardFormData.level = 0; - hazardFormData.source = 0; - hazardFormData.description = ""; - hazardFormData.tagIndex = 0; - hazardAddress.value = ""; - hazardLng.value = 0; - hazardLat.value = 0; - hazardFileList.value = []; - selectedAreaId.value = ""; - selectedAreaName.value = ""; - }; - const confirmHazard = () => { - if (hazardFileList.value.length === 0) { - common_vendor.index.showToast({ title: "请上传隐患图片", icon: "none" }); - return; - } - if (!hazardFormData.title) { - common_vendor.index.showToast({ title: "请输入隐患标题", icon: "none" }); - return; - } - if (!hazardAddress.value) { - common_vendor.index.showToast({ title: "请输入隐患位置", icon: "none" }); - return; - } - if (!hazardFormData.description) { - common_vendor.index.showToast({ title: "请输入隐患描述", icon: "none" }); - return; - } - showHazardPopup.value = false; - common_vendor.index.showToast({ title: "隐患信息已暂存", icon: "success" }); - }; - const chooseLocation = () => { - showHazardPopup.value = false; - setTimeout(() => { - common_vendor.index.chooseLocation({ - success: (res) => { - hazardAddress.value = res.address + (res.name ? `(${res.name})` : ""); - hazardLng.value = res.longitude; - hazardLat.value = res.latitude; - showHazardPopup.value = true; - }, - fail: (err) => { - showHazardPopup.value = true; - if (err.errMsg && err.errMsg.indexOf("cancel") === -1) { - common_vendor.index.showToast({ title: "选择位置失败", icon: "none" }); - } - } - }); - }, 300); - }; - const inspectionUploadInstance = common_vendor.getCurrentInstance(); - const { afterRead, deletePic } = utils_upload.createUploadListHandlers(hazardFileList, { - watermark: { - canvasId: "watermarkCanvas", - canvasWidthRef: canvasWidth, - canvasHeightRef: canvasHeight, - instance: inspectionUploadInstance - } - }); - const handleAiAnalyze = async () => { - const imageFiles = hazardFileList.value.filter((f) => { - return f.status === "success" && f.url.toLowerCase().match(/\.(jpg|jpeg|png|gif|bmp|webp)$/); - }); - if (imageFiles.length === 0) { - common_vendor.index.showToast({ title: "请先上传隐患图片", icon: "none" }); - return; - } - const fullImageUrl = imageFiles[0].url; - aiAnalyzing.value = true; - try { - common_vendor.index.__f__("log", "at pages/Inspectionresult/Inspectionresult.vue:612", "开始调用AI分析接口,图片地址:", fullImageUrl); - const analyzeRes = await request_api.analyzeHazardImage({ - imageUrl: fullImageUrl - }); - if (analyzeRes.code === 0 && analyzeRes.data) { - const aiData = analyzeRes.data; - common_vendor.index.__f__("log", "at pages/Inspectionresult/Inspectionresult.vue:619", "AI分析结果:", aiData); - if (aiData.title) - hazardFormData.title = aiData.title; - if (aiData.description) - hazardFormData.description = aiData.description; - if (aiData.level) { - const levelMap = { "轻微": 0, "轻微隐患": 0, "一般": 1, "一般隐患": 1, "重大": 2, "重大隐患": 2 }; - const levelIndex = levelMap[aiData.level]; - if (levelIndex !== void 0) { - hazardFormData.level = levelIndex; - common_vendor.nextTick$1(() => { - if (levelChooseRef.value && levelChooseRef.value.$data) { - levelChooseRef.value.$data.currentIndex = levelIndex; - } - }); - } - } - common_vendor.index.showToast({ title: "AI分析完成,已自动填充", icon: "success", duration: 2e3 }); - } else { - common_vendor.index.showToast({ title: analyzeRes.msg || "AI分析失败", icon: "none" }); - } - } catch (error) { - common_vendor.index.__f__("error", "at pages/Inspectionresult/Inspectionresult.vue:642", "AI分析接口调用失败:", error); - common_vendor.index.showToast({ title: "AI分析失败,请重试", icon: "none" }); - } finally { - aiAnalyzing.value = false; - } + var _a; + hazardPayload.value = components_hazard_hazardForm.createEmptyHazardPayload(); + (_a = hazardFormRef.value) == null ? void 0 : _a.resetForm(); }; const handleSubmit = async () => { - var _a, _b, _c, _d, _e; + var _a, _b, _c, _d; if (!radiovalue1.value) { common_vendor.index.showToast({ title: "请选择检查结果", icon: "none" }); return; @@ -339,40 +148,23 @@ const _sfc_main = { try { common_vendor.index.showLoading({ title: "提交中..." }); if (radiovalue1.value === "异常" && hasHazardData.value) { - const attachments = hazardFileList.value.filter((f) => f.status === "success").map((file) => utils_upload.buildAttachmentItem(file)); - const selectedTag = tagOptions.value[hazardFormData.tagIndex]; - const tagId = selectedTag ? selectedTag.id : null; - const hazardParams = { - taskId: (_a = checkData.value) == null ? void 0 : _a.taskId, - checkPointId: (_b = checkData.value) == null ? void 0 : _b.checkPointId, - title: hazardFormData.title, - level: ((_c = levelOptions.value[hazardFormData.level]) == null ? void 0 : _c.id) || 2, - lng: hazardLng.value || 0, - lat: hazardLat.value || 0, - address: hazardAddress.value || "", - areaId: selectedAreaId.value || null, - // 隐患区域ID - description: hazardFormData.description || "", - source: ((_d = sourceOptions.value[hazardFormData.source]) == null ? void 0 : _d.title) || "", - tagId, - attachments, - regulationId: hazardFormData.regulationId || null - }; - common_vendor.index.__f__("log", "at pages/Inspectionresult/Inspectionresult.vue:705", "隐患参数:", hazardParams); + const payload = ((_a = hazardFormRef.value) == null ? void 0 : _a.getPayload()) || hazardPayload.value; + const hazardParams = components_hazard_hazardForm.buildHiddenDangerParams(payload, { + taskId: (_b = checkData.value) == null ? void 0 : _b.taskId, + checkPointId: (_c = checkData.value) == null ? void 0 : _c.checkPointId + }); const hazardRes = await request_api.addHiddenDanger(hazardParams); if (hazardRes.code !== 0) { common_vendor.index.hideLoading(); common_vendor.index.showToast({ title: hazardRes.msg || "新增隐患失败", icon: "none" }); return; } - common_vendor.index.__f__("log", "at pages/Inspectionresult/Inspectionresult.vue:714", "新增隐患成功"); } const submitParams = { - taskId: (_e = checkData.value) == null ? void 0 : _e.taskId, + taskId: (_d = checkData.value) == null ? void 0 : _d.taskId, result: resultValue, remark: value1.value }; - common_vendor.index.__f__("log", "at pages/Inspectionresult/Inspectionresult.vue:723", "提交参数:", submitParams); const res = await request_api.submitCheckResult(submitParams); common_vendor.index.hideLoading(); if (res.code === 0) { @@ -397,7 +189,7 @@ const _sfc_main = { } } catch (error) { common_vendor.index.hideLoading(); - common_vendor.index.__f__("error", "at pages/Inspectionresult/Inspectionresult.vue:758", "提交失败:", error); + common_vendor.index.__f__("error", "at pages/Inspectionresult/Inspectionresult.vue:306", "提交失败:", error); common_vendor.index.showToast({ title: "提交失败", icon: "none" }); } }; @@ -409,164 +201,19 @@ const _sfc_main = { const getCheckData = async () => { try { const res = await request_api.enterCheckPlan(oneTableId.value); - common_vendor.index.__f__("log", "at pages/Inspectionresult/Inspectionresult.vue:777", "检查项数据:", res); if (res.code === 0) { checkData.value = res.data; restoreDraft(); } } catch (error) { - common_vendor.index.__f__("error", "at pages/Inspectionresult/Inspectionresult.vue:784", error); + common_vendor.index.__f__("error", "at pages/Inspectionresult/Inspectionresult.vue:325", error); } }; - const hasDraft = common_vendor.ref(false); - const showRestoreBanner = common_vendor.ref(false); - const isRestoring = common_vendor.ref(false); - const isInitialized = common_vendor.ref(false); - const getDraftKey = () => { - var _a; - return `draft_inspection_result_${oneTableId.value || ""}_${((_a = checkData.value) == null ? void 0 : _a.currentIndex) || ""}`; - }; - const saveDraft = () => { - if (isRestoring.value || !isInitialized.value) { - common_vendor.index.__f__("log", "at pages/Inspectionresult/Inspectionresult.vue:799", "【草稿Debug - 巡检】saveDraft 被跳过:", { isRestoring: isRestoring.value, isInitialized: isInitialized.value }); - return; - } - const key = getDraftKey(); - const hasContent = radiovalue1.value || value1.value || hazardFormData.title || hazardFormData.description || hazardFileList.value.length > 0; - common_vendor.index.__f__("log", "at pages/Inspectionresult/Inspectionresult.vue:809", "【草稿Debug - 巡检】尝试自动保存草稿. Key:", key, "是否有实质内容:", !!hasContent, "当前数据:", { - radiovalue1: radiovalue1.value, - value1: value1.value, - title: hazardFormData.title, - description: hazardFormData.description, - fileCount: hazardFileList.value.length - }); - if (!hasContent) { - common_vendor.index.removeStorageSync(key); - common_vendor.index.__f__("log", "at pages/Inspectionresult/Inspectionresult.vue:819", "【草稿Debug - 巡检】当前表单为空,自动删除本地缓存 Key:", key); - hasDraft.value = false; - return; - } - const data = { - radiovalue1: radiovalue1.value, - value1: value1.value, - hazardFormData: { - title: hazardFormData.title, - level: hazardFormData.level, - source: hazardFormData.source, - description: hazardFormData.description, - tagIndex: hazardFormData.tagIndex - }, - hazardFileList: hazardFileList.value, - hazardAddress: hazardAddress.value, - hazardLng: hazardLng.value, - hazardLat: hazardLat.value - }; - common_vendor.index.setStorageSync(key, JSON.stringify(data)); - common_vendor.index.__f__("log", "at pages/Inspectionresult/Inspectionresult.vue:840", "【草稿Debug - 巡检】成功保存草稿到 LocalStorage, Key:", key); - hasDraft.value = true; - }; - const clearDraft = (showToast = true) => { - const key = getDraftKey(); - common_vendor.index.__f__("log", "at pages/Inspectionresult/Inspectionresult.vue:847", "【草稿Debug - 巡检】手动清空草稿, Key:", key); - common_vendor.index.removeStorageSync(key); - hasDraft.value = false; - showRestoreBanner.value = false; - isRestoring.value = true; - radiovalue1.value = ""; - value1.value = ""; - hazardFormData.title = ""; - hazardFormData.level = 0; - hazardFormData.source = 0; - hazardFormData.description = ""; - hazardFormData.tagIndex = 0; - hazardFileList.value = []; - hazardAddress.value = ""; - hazardLng.value = 0; - hazardLat.value = 0; - common_vendor.nextTick$1(() => { - isRestoring.value = false; - }); - if (showToast) { - common_vendor.index.showToast({ title: "草稿已清空", icon: "none" }); - } - }; - const restoreDraft = () => { - const key = getDraftKey(); - const cached = common_vendor.index.getStorageSync(key); - common_vendor.index.__f__("log", "at pages/Inspectionresult/Inspectionresult.vue:877", "【草稿Debug - 巡检】尝试恢复草稿, Key:", key, "获取本地缓存结果:", !!cached); - if (cached) { - try { - const data = JSON.parse(cached); - const hasContent = data.radiovalue1 || data.value1 || data.hazardFormData.title || data.hazardFormData.description || data.hazardFileList && data.hazardFileList.length > 0; - common_vendor.index.__f__("log", "at pages/Inspectionresult/Inspectionresult.vue:887", "【草稿Debug - 巡检】解析本地缓存成功, 是否有实质内容:", !!hasContent, "缓存数据:", data); - if (!hasContent) { - isInitialized.value = true; - return; - } - isRestoring.value = true; - radiovalue1.value = data.radiovalue1 || ""; - value1.value = data.value1 || ""; - hazardFormData.title = data.hazardFormData.title || ""; - hazardFormData.level = data.hazardFormData.level || 0; - hazardFormData.source = data.hazardFormData.source || 0; - hazardFormData.description = data.hazardFormData.description || ""; - hazardFormData.tagIndex = data.hazardFormData.tagIndex || 0; - hazardFileList.value = data.hazardFileList || []; - hazardAddress.value = data.hazardAddress || ""; - hazardLng.value = data.hazardLng || 0; - hazardLat.value = data.hazardLat || 0; - hasDraft.value = true; - showRestoreBanner.value = true; - common_vendor.nextTick$1(() => { - isRestoring.value = false; - isInitialized.value = true; - if (levelChooseRef.value && levelChooseRef.value.$data) { - levelChooseRef.value.$data.currentIndex = hazardFormData.level; - } - common_vendor.index.__f__("log", "at pages/Inspectionresult/Inspectionresult.vue:914", "【草稿Debug - 巡检】UI与多选组件状态同步重绘完毕!"); - }); - common_vendor.index.showToast({ - title: "已自动恢复您上次未提交的内容", - icon: "none", - duration: 2500 - }); - } catch (e) { - common_vendor.index.__f__("error", "at pages/Inspectionresult/Inspectionresult.vue:923", "【草稿Debug - 巡检】解析草稿异常:", e); - isRestoring.value = false; - isInitialized.value = true; - } - } else { - common_vendor.index.__f__("log", "at pages/Inspectionresult/Inspectionresult.vue:928", "【草稿Debug - 巡检】本地无任何缓存, 页面已安全标记为 initialized"); - isInitialized.value = true; - } - }; - common_vendor.watch( - () => [ - radiovalue1.value, - value1.value, - hazardFormData.title, - hazardFormData.level, - hazardFormData.source, - hazardFormData.description, - hazardFormData.tagIndex, - hazardAddress.value, - hazardFileList.value - ], - () => { - if (oneTableId.value) { - saveDraft(); - } - }, - { deep: true } - ); common_vendor.onLoad((options) => { - common_vendor.index.__f__("log", "at pages/Inspectionresult/Inspectionresult.vue:955", "接收到的参数:", options); if (options.id) { oneTableId.value = options.id; getCheckData(); } - fetchTagOptions(); - fetchAreaList(); }); return (_ctx, _cache) => { var _a, _b, _c, _d; @@ -605,17 +252,17 @@ const _sfc_main = { }, !hasHazardData.value ? { m: common_vendor.o(openHazardPopup) } : common_vendor.e({ - n: common_vendor.t(hazardFormData.title), - o: common_vendor.t((_c = levelOptions.value[hazardFormData.level]) == null ? void 0 : _c.title), - p: hazardFormData.level === 0 ? 1 : "", - q: hazardFormData.level === 1 ? 1 : "", - r: hazardFormData.level === 2 ? 1 : "", - s: common_vendor.t(((_d = sourceOptions.value[hazardFormData.source]) == null ? void 0 : _d.title) || "-"), - t: common_vendor.t(hazardAddress.value || "-"), - v: common_vendor.t(hazardFormData.description || "-"), - w: hazardFileList.value.length > 0 - }, hazardFileList.value.length > 0 ? { - x: common_vendor.t(hazardFileList.value.length) + n: common_vendor.t(hazardPayload.value.formData.title), + o: common_vendor.t((_c = common_vendor.unref(components_hazard_hazardForm.LEVEL_OPTIONS)[hazardPayload.value.formData.level]) == null ? void 0 : _c.title), + p: hazardPayload.value.formData.level === 0 ? 1 : "", + q: hazardPayload.value.formData.level === 1 ? 1 : "", + r: hazardPayload.value.formData.level === 2 ? 1 : "", + s: common_vendor.t(((_d = common_vendor.unref(components_hazard_hazardForm.SOURCE_OPTIONS)[hazardPayload.value.formData.source]) == null ? void 0 : _d.title) || "-"), + t: common_vendor.t(hazardPayload.value.address || "-"), + v: common_vendor.t(hazardPayload.value.formData.description || "-"), + w: hazardPayload.value.fileList.length > 0 + }, hazardPayload.value.fileList.length > 0 ? { + x: common_vendor.t(hazardPayload.value.fileList.length) } : {}, { y: common_vendor.o(editHazard), z: common_vendor.o(clearHazard) @@ -626,138 +273,22 @@ const _sfc_main = { modelValue: value1.value }), C: common_vendor.o(handleSubmit), - D: common_vendor.o(($event) => showHazardPopup.value = false), - E: showRestoreBanner.value - }, showRestoreBanner.value ? { - F: common_vendor.o(($event) => clearDraft(true)) - } : {}, { - G: common_vendor.o(($event) => hazardFormData.source = $event), - H: common_vendor.p({ - options: sourceOptions.value, - wrap: false, - ["item-width"]: "152rpx", - ["item-height"]: "64rpx", - modelValue: hazardFormData.source + D: common_vendor.sr(hazardFormRef, "643afff0-3", { + "k": "hazardFormRef" }), - I: common_vendor.o(common_vendor.unref(afterRead)), - J: common_vendor.o(common_vendor.unref(deletePic)), - K: common_vendor.p({ - fileList: hazardFileList.value, - name: "1", - multiple: true, - imageMode: "aspectFill", - maxCount: 10 - }), - L: canvasWidth.value, - M: canvasHeight.value, - N: canvasWidth.value + "px", - O: canvasHeight.value + "px", - P: !aiAnalyzing.value - }, !aiAnalyzing.value ? {} : {}, { - Q: common_vendor.t(aiAnalyzing.value ? "AI识别中..." : "AI 识别隐患"), - R: aiAnalyzing.value, - S: aiAnalyzing.value, - T: common_vendor.o(handleAiAnalyze), - U: common_vendor.o(($event) => hazardFormData.title = $event), - V: common_vendor.p({ - placeholder: "请输入内容", - border: "surround", - modelValue: hazardFormData.title - }), - W: common_vendor.sr(levelChooseRef, "643afff0-7,643afff0-3", { - "k": "levelChooseRef" - }), - X: common_vendor.o(($event) => hazardFormData.level = $event), - Y: common_vendor.p({ - options: levelOptions.value, - wrap: false, - ["item-width"]: "183rpx", - ["item-height"]: "72rpx", - modelValue: hazardFormData.level - }), - Z: common_vendor.o(($event) => hazardAddress.value = $event), - aa: common_vendor.p({ - placeholder: "请输入地址", - border: "surround", - modelValue: hazardAddress.value - }), - ab: common_vendor.o(chooseLocation), - ac: common_vendor.t(hazardFormData.regulationName || "请选择法律依据"), - ad: !hazardFormData.regulationName ? 1 : "", - ae: common_vendor.o(openLawPopup), - af: common_vendor.t(selectedAreaName.value || "请选择隐患区域"), - ag: !selectedAreaName.value ? 1 : "", - ah: common_vendor.o(($event) => showAreaPicker.value = true), - ai: common_vendor.o(($event) => hazardFormData.description = $event), - aj: common_vendor.p({ - placeholder: "请输入内容", - modelValue: hazardFormData.description - }), - ak: common_vendor.o(($event) => hazardFormData.tagIndex = $event), - al: common_vendor.p({ - options: tagOptions.value, - modelValue: hazardFormData.tagIndex - }), - am: common_vendor.o(($event) => showHazardPopup.value = false), - an: common_vendor.o(confirmHazard), - ao: common_vendor.o(($event) => showHazardPopup.value = false), - ap: common_vendor.p({ + E: common_vendor.o(onHazardConfirm), + F: common_vendor.o(($event) => common_vendor.unref(clearDraft)(true)), + G: common_vendor.o(($event) => showHazardPopup.value = $event), + H: common_vendor.o(($event) => hazardPayload.value = $event), + I: common_vendor.p({ + title: "填写隐患信息", + mode: "collect", + ["body-height"]: "60vh", + ["show-draft-banner"]: common_vendor.unref(showRestoreBanner), show: showHazardPopup.value, - mode: "center", - round: "20", - safeAreaInsetBottom: false + modelValue: hazardPayload.value }), - aq: common_vendor.o(($event) => showLawPopup.value = false), - ar: common_vendor.o(searchRegulation), - as: lawKeyword.value, - at: common_vendor.o(($event) => lawKeyword.value = $event.detail.value), - av: common_vendor.o(searchRegulation), - aw: lawLoading.value && lawList.value.length === 0 - }, lawLoading.value && lawList.value.length === 0 ? {} : !lawLoading.value && lawList.value.length === 0 ? {} : common_vendor.e({ - ay: common_vendor.f(lawList.value, (item, k0, i0) => { - return { - a: common_vendor.t(item.depict), - b: common_vendor.t(item.legalBasis), - c: selectedLawId.value === item.id ? 1 : "", - d: item.id, - e: common_vendor.o(($event) => selectLaw(item), item.id) - }; - }), - az: lawLoading.value - }, lawLoading.value ? {} : {}), { - ax: !lawLoading.value && lawList.value.length === 0, - aA: common_vendor.o(loadMoreLaw), - aB: common_vendor.o(($event) => showLawPopup.value = false), - aC: common_vendor.o(confirmLaw), - aD: common_vendor.o(($event) => showLawPopup.value = false), - aE: common_vendor.p({ - show: showLawPopup.value, - mode: "center", - round: "20", - safeAreaInsetBottom: false - }), - aF: common_vendor.o(($event) => showAreaPicker.value = false), - aG: common_vendor.o(confirmAreaSelect), - aH: common_vendor.f(areaList.value, (item, k0, i0) => { - return common_vendor.e({ - a: item.color, - b: common_vendor.t(item.name), - c: tempAreaId.value === item.id - }, tempAreaId.value === item.id ? {} : {}, { - d: item.id, - e: tempAreaId.value === item.id ? 1 : "", - f: common_vendor.o(($event) => tempAreaId.value = item.id, item.id) - }); - }), - aI: areaList.value.length === 0 - }, areaList.value.length === 0 ? {} : {}, { - aJ: common_vendor.o(($event) => showAreaPicker.value = false), - aK: common_vendor.p({ - show: showAreaPicker.value, - mode: "bottom", - round: "20" - }), - aL: common_vendor.gei(_ctx, "") + J: common_vendor.gei(_ctx, "") }); }; } diff --git a/unpackage/dist/dev/mp-weixin/pages/Inspectionresult/Inspectionresult.json b/unpackage/dist/dev/mp-weixin/pages/Inspectionresult/Inspectionresult.json index 50b313d..fd94d96 100644 --- a/unpackage/dist/dev/mp-weixin/pages/Inspectionresult/Inspectionresult.json +++ b/unpackage/dist/dev/mp-weixin/pages/Inspectionresult/Inspectionresult.json @@ -4,9 +4,6 @@ "u-radio": "../../uni_modules/uview-plus/components/u-radio/u-radio", "u-radio-group": "../../uni_modules/uview-plus/components/u-radio-group/u-radio-group", "up-textarea": "../../uni_modules/uview-plus/components/u-textarea/u-textarea", - "up-choose": "../../uni_modules/uview-plus/components/u-choose/u-choose", - "up-upload": "../../uni_modules/uview-plus/components/u-upload/u-upload", - "up-input": "../../uni_modules/uview-plus/components/u-input/u-input", - "u-popup": "../../uni_modules/uview-plus/components/u-popup/u-popup" + "hazard-form-popup": "../../components/hazard/HazardFormPopup" } } \ No newline at end of file diff --git a/unpackage/dist/dev/mp-weixin/pages/Inspectionresult/Inspectionresult.wxml b/unpackage/dist/dev/mp-weixin/pages/Inspectionresult/Inspectionresult.wxml index 6bf3ebe..fb4300c 100644 --- a/unpackage/dist/dev/mp-weixin/pages/Inspectionresult/Inspectionresult.wxml +++ b/unpackage/dist/dev/mp-weixin/pages/Inspectionresult/Inspectionresult.wxml @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/unpackage/dist/dev/mp-weixin/pages/Inspectionresult/Inspectionresult.wxss b/unpackage/dist/dev/mp-weixin/pages/Inspectionresult/Inspectionresult.wxss index ed3e0e1..055c93f 100644 --- a/unpackage/dist/dev/mp-weixin/pages/Inspectionresult/Inspectionresult.wxss +++ b/unpackage/dist/dev/mp-weixin/pages/Inspectionresult/Inspectionresult.wxss @@ -170,278 +170,4 @@ background: #FFF1F0; border: 2rpx solid #FFA39E; color: #F5222D; -} -.popup-content.data-v-643afff0 { - width: 600rpx; - background: #fff; - border-radius: 20rpx; - overflow: hidden; -} -.popup-header.data-v-643afff0 { - display: flex; - justify-content: space-between; - align-items: center; - padding: 30rpx; - border-bottom: 1rpx solid #eee; -} -.popup-header .popup-title.data-v-643afff0 { - font-size: 32rpx; - color: #333; -} -.popup-header .popup-close.data-v-643afff0 { - font-size: 40rpx; - color: #999; - line-height: 1; -} -.popup-body.data-v-643afff0 { - padding: 30rpx; -} -.source-choose-scroll.data-v-643afff0 { - width: 100%; - overflow: hidden; -} -.source-choose-scroll.data-v-643afff0 .up-choose { - width: 100%; - white-space: nowrap; -} -.source-choose-scroll.data-v-643afff0 .u-tag-wrapper { - margin-right: 12rpx; -} -.source-choose-scroll.data-v-643afff0 .u-tag { - display: flex !important; - align-items: center !important; - justify-content: center !important; - box-sizing: border-box; - padding: 0 8rpx !important; - line-height: normal !important; -} -.source-choose-scroll.data-v-643afff0 .u-tag__content { - display: flex; - align-items: center; - justify-content: center; - flex: 1; -} -.source-choose-scroll.data-v-643afff0 .u-tag__text { - font-size: 24rpx !important; - line-height: 1.3 !important; - text-align: center; -} -.ai-btn-wrapper.data-v-643afff0 { - display: flex; - justify-content: flex-end; -} -.ai-analyze-btn.data-v-643afff0 { - display: flex; - align-items: center; - justify-content: center; - height: 72rpx; - padding: 0 32rpx; - font-size: 28rpx; - color: #fff; - background: linear-gradient(135deg, #4facfe 0%, #2668EA 100%); - border-radius: 36rpx; - border: none; -} -.ai-analyze-btn.data-v-643afff0::after { - border: none; -} -.ai-analyze-btn .ai-btn-icon.data-v-643afff0 { - margin-right: 8rpx; - font-size: 30rpx; -} -.ai-analyze-btn[disabled].data-v-643afff0 { - opacity: 0.7; -} -.popup-footer.data-v-643afff0 { - display: flex; - border-top: 1rpx solid #eee; -} -.popup-footer button.data-v-643afff0 { - flex: 1; - height: 90rpx; - margin: 0 !important; - padding: 0 !important; - line-height: 90rpx; - border-radius: 0; - font-size: 30rpx; -} -.popup-footer button.data-v-643afff0::after { - border: none; -} -.popup-footer .btn-cancel.data-v-643afff0 { - background: #fff; - color: #666; -} -.popup-footer .btn-confirm.data-v-643afff0 { - color: #fff; -} -.address-box.data-v-643afff0 { - display: flex; - align-items: center; - gap: 20rpx; -} -.address-box .address-input-wrapper.data-v-643afff0 { - flex: 1; -} -.address-box .btn-address.data-v-643afff0 { - flex-shrink: 0; - height: 70rpx; - line-height: 70rpx; - padding: 0 30rpx; - font-size: 26rpx; - border-radius: 8rpx; - color: #fff; -} -.address-box .btn-address.data-v-643afff0::after { - border: none; -} -.select-trigger.data-v-643afff0 { - display: flex; - align-items: center; - justify-content: space-between; - background: #fff; - border: 1rpx solid #dcdfe6; - border-radius: 8rpx; - padding: 20rpx 24rpx; -} -.select-trigger .select-value.data-v-643afff0 { - flex: 1; - font-size: 28rpx; - color: #333; -} -.select-trigger .select-value.placeholder.data-v-643afff0 { - color: #c0c4cc; -} -.picker-popup.data-v-643afff0 { - background: #fff; -} -.picker-popup .picker-header.data-v-643afff0 { - display: flex; - justify-content: space-between; - align-items: center; - padding: 30rpx; - border-bottom: 1rpx solid #eee; -} -.picker-popup .picker-header .picker-cancel.data-v-643afff0 { - font-size: 28rpx; - color: #999; -} -.picker-popup .picker-header .picker-title.data-v-643afff0 { - font-size: 32rpx; - font-weight: bold; - color: #333; -} -.picker-popup .picker-header .picker-confirm.data-v-643afff0 { - font-size: 28rpx; - color: #2667E9; -} -.picker-popup .picker-body.data-v-643afff0 { - max-height: 600rpx; - padding: 0 30rpx; -} -.picker-popup .picker-item.data-v-643afff0 { - display: flex; - justify-content: space-between; - align-items: center; - padding: 30rpx 0; - border-bottom: 1rpx solid #f5f5f5; - font-size: 30rpx; - color: #333; -} -.picker-popup .picker-item.data-v-643afff0:last-child { - border-bottom: none; -} -.picker-popup .picker-item.picker-item-active.data-v-643afff0 { - color: #2667E9; -} -.law-popup.data-v-643afff0 { - width: 600rpx; - background: #fff; - border-radius: 20rpx; - overflow: hidden; - max-height: 80vh; -} -.law-popup .popup-header.data-v-643afff0 { - display: flex; - justify-content: space-between; - align-items: center; - padding: 30rpx; - border-bottom: 1rpx solid #eee; -} -.law-popup .popup-header .popup-title.data-v-643afff0 { - font-size: 32rpx; - font-weight: bold; - color: #333; -} -.law-popup .popup-header .popup-close.data-v-643afff0 { - font-size: 40rpx; - color: #999; - cursor: pointer; -} -.search-box.data-v-643afff0 { - display: flex; - align-items: center; - background: #F5F5F5; - border-radius: 40rpx; - padding: 16rpx 24rpx; - margin: 20rpx 30rpx; -} -.search-box .search-icon.data-v-643afff0 { - font-size: 28rpx; - color: #999; - margin-right: 12rpx; -} -.search-box .search-input.data-v-643afff0 { - flex: 1; - font-size: 28rpx; - background: transparent; - border: none; -} -.search-box .search-btn.data-v-643afff0 { - color: #2667E9; - font-size: 26rpx; - margin-left: 16rpx; - cursor: pointer; -} -.loading-tip.data-v-643afff0, .empty-tip.data-v-643afff0 { - text-align: center; - padding: 40rpx; - color: #999; - font-size: 26rpx; -} -.law-list.data-v-643afff0 { - max-height: 500rpx; - padding: 0 30rpx; -} -.law-item.data-v-643afff0 { - padding: 24rpx; - border: 2rpx solid #E5E5E5; - border-radius: 12rpx; - margin-bottom: 16rpx; - font-size: 28rpx; - color: #333; - text-align: left; -} -.law-item .law-title.data-v-643afff0 { - line-height: 1.5; - margin-bottom: 8rpx; - font-weight: bold; -} -.law-item .law-basis.data-v-643afff0 { - font-size: 24rpx; - line-height: 1.4; - display: -webkit-box; - -webkit-line-clamp: 2; - -webkit-box-orient: vertical; - overflow: hidden; -} -.law-item-active.data-v-643afff0 { - border-color: #2667E9; - background: #F0F6FF; -} -.area-color-dot.data-v-643afff0 { - width: 24rpx; - height: 24rpx; - border-radius: 50%; - margin-right: 16rpx; } \ No newline at end of file diff --git a/unpackage/dist/dev/mp-weixin/pages/Inspectionresult/detail.js b/unpackage/dist/dev/mp-weixin/pages/Inspectionresult/detail.js new file mode 100644 index 0000000..c82483b --- /dev/null +++ b/unpackage/dist/dev/mp-weixin/pages/Inspectionresult/detail.js @@ -0,0 +1,645 @@ +"use strict"; +const common_vendor = require("../../common/vendor.js"); +const request_api = require("../../request/api.js"); +const utils_draftCache = require("../../utils/draftCache.js"); +const utils_useDraftCache = require("../../utils/useDraftCache.js"); +const components_hazard_hazardForm = require("../../components/hazard/hazardForm.js"); +if (!Array) { + const _easycom_up_icon2 = common_vendor.resolveComponent("up-icon"); + const _easycom_u_radio2 = common_vendor.resolveComponent("u-radio"); + const _easycom_u_radio_group2 = common_vendor.resolveComponent("u-radio-group"); + const _easycom_up_textarea2 = common_vendor.resolveComponent("up-textarea"); + const _easycom_u_popup2 = common_vendor.resolveComponent("u-popup"); + (_easycom_up_icon2 + _easycom_u_radio2 + _easycom_u_radio_group2 + _easycom_up_textarea2 + _easycom_u_popup2)(); +} +const _easycom_up_icon = () => "../../uni_modules/uview-plus/components/u-icon/u-icon.js"; +const _easycom_u_radio = () => "../../uni_modules/uview-plus/components/u-radio/u-radio.js"; +const _easycom_u_radio_group = () => "../../uni_modules/uview-plus/components/u-radio-group/u-radio-group.js"; +const _easycom_up_textarea = () => "../../uni_modules/uview-plus/components/u-textarea/u-textarea.js"; +const _easycom_u_popup = () => "../../uni_modules/uview-plus/components/u-popup/u-popup.js"; +if (!Math) { + (_easycom_up_icon + _easycom_u_radio + _easycom_u_radio_group + _easycom_up_textarea + HazardFormPopup + _easycom_u_popup)(); +} +const HazardFormPopup = () => "../../components/hazard/HazardFormPopup.js"; +const TASK_STATUS_SUBMITTED = 2; +const _sfc_main = { + __name: "detail", + setup(__props) { + const oneTableId = common_vendor.ref(""); + const tableId = common_vendor.ref(""); + const taskDate = common_vendor.ref(""); + const planName = common_vendor.ref(""); + const loading = common_vendor.ref(true); + const checkItemList = common_vendor.ref([]); + const answerList = common_vendor.ref([]); + const sessionSubmittedTaskIds = common_vendor.ref(/* @__PURE__ */ new Set()); + const showHazardPopup = common_vendor.ref(false); + const showCheckSheet = common_vendor.ref(false); + const activeHazardIndex = common_vendor.ref(-1); + const hazardFormRef = common_vendor.ref(null); + const editingHazardPayload = common_vendor.ref(components_hazard_hazardForm.createEmptyHazardPayload()); + const resultOptions = [ + { name: "正常", value: 1 }, + { name: "异常", value: 2 }, + { name: "不涉及", value: 3 } + ]; + const syncSubmittedTaskIds = (list) => { + const next = new Set(sessionSubmittedTaskIds.value); + (list || []).forEach((item) => { + if ((item == null ? void 0 : item.status) === TASK_STATUS_SUBMITTED && item.taskId != null) { + next.add(item.taskId); + } + }); + sessionSubmittedTaskIds.value = next; + }; + const isItemSubmitted = (item) => { + if (!item) + return false; + if (item.status === TASK_STATUS_SUBMITTED) + return true; + if (item.taskId != null && sessionSubmittedTaskIds.value.has(item.taskId)) + return true; + return false; + }; + const getResultLabel = (result) => { + const opt = resultOptions.find((o) => o.value === result); + return (opt == null ? void 0 : opt.name) || "-"; + }; + const getResultTagClass = (result) => { + if (result === 1) + return "result-tag--normal"; + if (result === 2) + return "result-tag--abnormal"; + if (result === 3) + return "result-tag--na"; + return ""; + }; + const viewHazardDetail = (item) => { + if (!(item == null ? void 0 : item.hazardId)) { + common_vendor.index.showToast({ title: "暂无隐患信息", icon: "none" }); + return; + } + common_vendor.index.navigateTo({ + url: `/pages/hiddendanger/view?hazardId=${item.hazardId}` + }); + }; + common_vendor.computed(() => { + var _a; + return planName.value || ((_a = checkItemList.value[0]) == null ? void 0 : _a.itemName) || "检查表"; + }); + common_vendor.computed(() => { + var _a; + return ((_a = checkItemList.value[0]) == null ? void 0 : _a.industryName) || ""; + }); + const createEmptyAnswer = () => ({ + resultLabel: "", + result: null, + remark: "", + hazardPayload: components_hazard_hazardForm.createEmptyHazardPayload() + }); + const normalizeSheetAnswer = (answer) => { + if (!answer) + return createEmptyAnswer(); + const hazardPayload = answer.hazardPayload || components_hazard_hazardForm.createEmptyHazardPayload(); + const empty = components_hazard_hazardForm.createEmptyHazardPayload(); + return { + resultLabel: answer.resultLabel || "", + result: answer.result ?? null, + remark: answer.remark || "", + hazardPayload: { + formData: { + ...empty.formData, + ...hazardPayload.formData || {} + }, + address: hazardPayload.address || "", + lng: hazardPayload.lng || 0, + lat: hazardPayload.lat || 0, + areaId: hazardPayload.areaId || "", + areaName: hazardPayload.areaName || "", + fileList: Array.isArray(hazardPayload.fileList) ? [...hazardPayload.fileList] : [], + tagOptions: Array.isArray(hazardPayload.tagOptions) ? [...hazardPayload.tagOptions] : [] + } + }; + }; + const syncAnswerFields = (answer) => { + const normalized = normalizeSheetAnswer(answer); + if (!normalized.resultLabel && normalized.result != null) { + const opt = resultOptions.find((o) => o.value === normalized.result); + if (opt) + normalized.resultLabel = opt.name; + } else if (normalized.resultLabel && normalized.result == null) { + const opt = resultOptions.find((o) => o.name === normalized.resultLabel); + if (opt) + normalized.result = opt.value; + } + return normalized; + }; + const buildAnswerFromTask = (item) => { + const answer = createEmptyAnswer(); + if (!isItemSubmitted(item)) { + return answer; + } + answer.result = item.result; + answer.remark = item.remark || ""; + const opt = resultOptions.find((o) => o.value === item.result); + if (opt) { + answer.resultLabel = opt.name; + } + if (item.result === 2 && item.hazardName) { + const sourceIndex = components_hazard_hazardForm.SOURCE_OPTIONS.findIndex((o) => o.title === item.source); + answer.hazardPayload = { + ...components_hazard_hazardForm.createEmptyHazardPayload(), + formData: { + ...components_hazard_hazardForm.createEmptyHazardPayload().formData, + title: item.hazardName || "", + description: item.hazardDesc || "", + source: sourceIndex >= 0 ? sourceIndex : 0 + }, + address: item.hazardAddress || "" + }; + } + return syncAnswerFields(answer); + }; + const isAnswerFilled = (answer) => { + if (!answer) + return false; + return !!(answer.resultLabel || answer.result != null); + }; + const hasAnswerDraftContent = (answer) => { + var _a, _b; + if (!answer) + return false; + const normalized = normalizeSheetAnswer(answer); + const hazard = normalized.hazardPayload; + return !!(normalized.resultLabel || normalized.result != null || normalized.remark || ((_a = hazard.formData) == null ? void 0 : _a.title) || ((_b = hazard.formData) == null ? void 0 : _b.description) || hazard.fileList && hazard.fileList.length > 0); + }; + const buildDraftAnswers = () => { + return checkItemList.value.map((item, index) => { + if (isItemSubmitted(item)) + return null; + const answer = answerList.value[index] || createEmptyAnswer(); + if (!hasAnswerDraftContent(answer)) + return null; + return { + taskId: item.taskId, + ...JSON.parse(JSON.stringify(answer)) + }; + }).filter(Boolean); + }; + const pruneDraftSubmitted = (taskIds = []) => { + var _a; + const key = utils_draftCache.buildDraftKey(utils_draftCache.DRAFT_NS.INSPECTION_SHEET, oneTableId.value, taskDate.value); + const { data } = utils_draftCache.loadDraftWithFallback(key); + if (!((_a = data == null ? void 0 : data.answers) == null ? void 0 : _a.length)) + return; + const submittedSet = new Set(taskIds); + const remainingAnswers = data.answers.filter( + (answer) => (answer == null ? void 0 : answer.taskId) == null || !submittedSet.has(answer.taskId) + ); + if (!remainingAnswers.length) { + utils_draftCache.removeDraft(key); + return; + } + utils_draftCache.saveDraftToStorage(key, { + ...data, + answers: remainingAnswers + }); + }; + const isItemPendingSubmit = (index) => { + const item = checkItemList.value[index]; + return !isItemSubmitted(item) && isAnswerFilled(answerList.value[index]); + }; + const submittedCount = common_vendor.computed(() => { + return checkItemList.value.filter(isItemSubmitted).length; + }); + const pendingSubmitCount = common_vendor.computed(() => { + return checkItemList.value.filter((item, index) => isItemPendingSubmit(index)).length; + }); + const uncheckedCount = common_vendor.computed(() => { + return Math.max(checkItemList.value.length - submittedCount.value - pendingSubmitCount.value, 0); + }); + const getSheetCellClass = (index) => { + const item = checkItemList.value[index]; + if (isItemSubmitted(item)) + return "check-sheet-cell--submitted"; + if (isItemPendingSubmit(index)) + return "check-sheet-cell--pending"; + return ""; + }; + const progressPercent = common_vendor.computed(() => { + if (!checkItemList.value.length) + return 0; + return Math.round(submittedCount.value / checkItemList.value.length * 100); + }); + const sheetDraftHasContent = (data) => { + var _a; + if (!((_a = data == null ? void 0 : data.answers) == null ? void 0 : _a.length)) + return false; + return data.answers.some((answer) => hasAnswerDraftContent(answer)); + }; + const { + showRestoreBanner, + clear: clearDraft, + restore: restoreDraft, + bindAutoSave + } = utils_useDraftCache.useDraftCache({ + getKey: () => utils_draftCache.buildDraftKey(utils_draftCache.DRAFT_NS.INSPECTION_SHEET, oneTableId.value, taskDate.value), + getPayload: () => ({ + oneTableId: oneTableId.value, + taskDate: taskDate.value, + planName: planName.value, + answers: buildDraftAnswers() + }), + hasContent: sheetDraftHasContent, + applyPayload: (data) => { + var _a; + if (!((_a = data == null ? void 0 : data.answers) == null ? void 0 : _a.length) || !checkItemList.value.length) + return; + answerList.value = checkItemList.value.map((item, index) => { + if (isItemSubmitted(item)) { + return buildAnswerFromTask(item); + } + const savedByIndex = data.answers[index]; + if (savedByIndex && sheetDraftHasContent({ answers: [savedByIndex] })) { + return syncAnswerFields(savedByIndex); + } + if (item.taskId != null && item.taskId !== "") { + const savedByTaskId = data.answers.find((a) => a.taskId === item.taskId); + if (savedByTaskId) { + return syncAnswerFields(savedByTaskId); + } + } + return createEmptyAnswer(); + }); + if (data.planName && !planName.value) { + planName.value = data.planName; + } + }, + clearForm: () => { + answerList.value = checkItemList.value.map((item) => isItemSubmitted(item) ? buildAnswerFromTask(item) : createEmptyAnswer()); + }, + canSave: () => !!oneTableId.value && !!taskDate.value && checkItemList.value.length > 0, + requireInitialized: true + }); + bindAutoSave(() => answerList.value); + const onResultChange = (index, label) => { + const answer = answerList.value[index]; + if (!answer) + return; + answer.resultLabel = label; + const selected = resultOptions.find((opt) => opt.name === label); + answer.result = selected ? selected.value : null; + if (label !== "异常") { + answer.hazardPayload = components_hazard_hazardForm.createEmptyHazardPayload(); + } + }; + const hazardFormExtraParams = common_vendor.computed(() => { + var _a; + const index = activeHazardIndex.value; + const taskId = index >= 0 ? (_a = checkItemList.value[index]) == null ? void 0 : _a.taskId : ""; + return { + locationDraftKey: `hazard_location_${oneTableId.value}_${taskDate.value}_${taskId || index}` + }; + }); + const hasHazardData = (index) => { + var _a; + return components_hazard_hazardForm.hasValidHazardPayload((_a = answerList.value[index]) == null ? void 0 : _a.hazardPayload); + }; + const openHazardPopup = (index) => { + var _a; + activeHazardIndex.value = index; + editingHazardPayload.value = JSON.parse(JSON.stringify( + ((_a = answerList.value[index]) == null ? void 0 : _a.hazardPayload) ?? components_hazard_hazardForm.createEmptyHazardPayload() + )); + showHazardPopup.value = true; + }; + const closeHazardPopup = () => { + showHazardPopup.value = false; + activeHazardIndex.value = -1; + editingHazardPayload.value = components_hazard_hazardForm.createEmptyHazardPayload(); + }; + const onHazardConfirm = (payload) => { + const index = activeHazardIndex.value; + const data = payload || editingHazardPayload.value; + if (index >= 0 && data && answerList.value[index]) { + answerList.value[index].hazardPayload = JSON.parse(JSON.stringify(data)); + } + closeHazardPopup(); + }; + const clearHazard = (index) => { + if (answerList.value[index]) { + answerList.value[index].hazardPayload = components_hazard_hazardForm.createEmptyHazardPayload(); + } + }; + const openCheckSheet = () => { + showCheckSheet.value = true; + }; + const closeCheckSheet = () => { + showCheckSheet.value = false; + }; + const handleSheetSubmit = () => { + closeCheckSheet(); + handleSubmitAll(); + }; + const scrollToItem = (index) => { + closeCheckSheet(); + common_vendor.nextTick$1(() => { + common_vendor.index.pageScrollTo({ + selector: `#check-item-${index}`, + duration: 300, + offsetTop: -80 + }); + }); + }; + const getFilledAnswerIndices = () => { + const indices = []; + for (let i = 0; i < checkItemList.value.length; i++) { + if (!isItemSubmitted(checkItemList.value[i]) && isAnswerFilled(answerList.value[i])) { + indices.push(i); + } + } + return indices; + }; + const validateFilledAnswers = () => { + const indices = getFilledAnswerIndices(); + if (!indices.length) { + common_vendor.index.showToast({ title: "请先填写待提交的检查项", icon: "none" }); + return null; + } + for (const index of indices) { + const answer = answerList.value[index]; + if (answer.resultLabel === "异常" && !components_hazard_hazardForm.hasValidHazardPayload(answer.hazardPayload)) { + common_vendor.index.showToast({ title: `第 ${index + 1} 项为异常,请填写隐患信息`, icon: "none" }); + return null; + } + } + return indices; + }; + const buildSubmitPayload = (filledIndices) => { + return filledIndices.filter((index) => !isItemSubmitted(checkItemList.value[index])).map((index) => { + const item = checkItemList.value[index]; + const answer = syncAnswerFields(answerList.value[index]); + const payload = { + taskId: item.taskId, + result: answer.result, + remark: answer.remark || "" + }; + if (answer.resultLabel === "异常" && components_hazard_hazardForm.hasValidHazardPayload(answer.hazardPayload)) { + payload.hazard = components_hazard_hazardForm.buildHiddenDangerParams(answer.hazardPayload, { + taskId: item.taskId, + checkPointId: item.checkPointId + }); + } + return payload; + }); + }; + const goToListPage = () => { + common_vendor.index.navigateBack(); + }; + const handleSubmitAll = async () => { + const filledIndices = validateFilledAnswers(); + if (!filledIndices) + return; + const submitList = buildSubmitPayload(filledIndices); + if (!submitList.length) { + common_vendor.index.showToast({ title: "没有可提交的新检查项", icon: "none" }); + return; + } + try { + common_vendor.index.showLoading({ title: "提交中..." }); + const res = await request_api.submitAllTask(submitList); + common_vendor.index.hideLoading(); + if (res.code === 0) { + const nextSubmitted = new Set(sessionSubmittedTaskIds.value); + submitList.forEach((item) => { + if (item.taskId != null) { + nextSubmitted.add(item.taskId); + } + }); + sessionSubmittedTaskIds.value = nextSubmitted; + pruneDraftSubmitted(submitList.map((item) => item.taskId)); + common_vendor.index.showToast({ + title: `已成功提交 ${submitList.length} 项`, + icon: "success" + }); + setTimeout(() => { + goToListPage(); + }, 1500); + } else { + common_vendor.index.showToast({ title: res.msg || "提交失败", icon: "none" }); + } + } catch (error) { + common_vendor.index.hideLoading(); + common_vendor.index.__f__("error", "at pages/Inspectionresult/detail.vue:730", "提交失败:", error); + common_vendor.index.showToast({ title: "提交失败", icon: "none" }); + } + }; + const fetchDetail = async () => { + var _a; + if (!oneTableId.value || !taskDate.value) { + loading.value = false; + common_vendor.index.showToast({ title: "缺少任务参数", icon: "none" }); + return; + } + loading.value = true; + try { + const res = await request_api.getAllTask(oneTableId.value, taskDate.value); + if (res.code === 0) { + const list = Array.isArray(res.data) ? res.data : ((_a = res.data) == null ? void 0 : _a.records) || []; + syncSubmittedTaskIds(list); + checkItemList.value = list; + answerList.value = list.map((item) => buildAnswerFromTask(item)); + restoreDraft(); + } else { + common_vendor.index.showToast({ title: res.msg || "获取检查项失败", icon: "none" }); + } + } catch (error) { + common_vendor.index.__f__("error", "at pages/Inspectionresult/detail.vue:754", "获取检查项失败:", error); + common_vendor.index.showToast({ title: "获取检查项失败", icon: "none" }); + } finally { + loading.value = false; + } + }; + common_vendor.onLoad((options) => { + if (options.oneTableId) { + oneTableId.value = options.oneTableId; + } else if (options.id) { + oneTableId.value = options.id; + } + if (options.taskDate) { + taskDate.value = decodeURIComponent(options.taskDate).split(" ")[0]; + } + if (options.name) { + planName.value = decodeURIComponent(options.name); + } + if (options.tableId) { + tableId.value = options.tableId; + } + fetchDetail(); + }); + return (_ctx, _cache) => { + return common_vendor.e({ + a: loading.value + }, loading.value ? {} : !checkItemList.value.length ? {} : common_vendor.e({ + c: common_vendor.t(checkItemList.value.length), + d: common_vendor.t(submittedCount.value), + e: common_vendor.t(pendingSubmitCount.value), + f: common_vendor.t(uncheckedCount.value), + g: progressPercent.value + "%", + h: common_vendor.p({ + name: "grid", + size: "22", + color: "#2667E9" + }), + i: common_vendor.o(openCheckSheet), + j: common_vendor.unref(showRestoreBanner) + }, common_vendor.unref(showRestoreBanner) ? { + k: common_vendor.o(($event) => common_vendor.unref(clearDraft)(true)) + } : {}, { + l: common_vendor.f(checkItemList.value, (item, index, i0) => { + var _a, _b; + return common_vendor.e({ + a: common_vendor.t(index + 1), + b: isItemSubmitted(item) + }, isItemSubmitted(item) ? {} : isItemPendingSubmit(index) ? {} : {}, { + c: isItemPendingSubmit(index), + d: common_vendor.t(item.name), + e: item.point || "", + f: isItemSubmitted(item) + }, isItemSubmitted(item) ? common_vendor.e({ + g: common_vendor.t(getResultLabel(item.result)), + h: common_vendor.n(getResultTagClass(item.result)), + i: item.remark + }, item.remark ? { + j: common_vendor.t(item.remark) + } : {}, { + k: item.result === 2 + }, item.result === 2 ? common_vendor.e({ + l: item.hazardName + }, item.hazardName ? { + m: common_vendor.t(item.hazardName) + } : {}, { + n: item.source + }, item.source ? { + o: common_vendor.t(item.source) + } : {}, { + p: item.hazardAddress + }, item.hazardAddress ? { + q: common_vendor.t(item.hazardAddress) + } : {}, { + r: item.hazardDesc + }, item.hazardDesc ? { + s: common_vendor.t(item.hazardDesc) + } : {}) : {}, { + t: item.result === 2 && item.hazardId + }, item.result === 2 && item.hazardId ? { + v: common_vendor.o(($event) => viewHazardDetail(item), "check-item-" + index) + } : {}) : common_vendor.e({ + w: common_vendor.f(resultOptions, (opt, optIndex, i1) => { + return { + a: optIndex, + b: "1b3bf21b-2-" + i0 + "-" + i1 + "," + ("1b3bf21b-1-" + i0), + c: common_vendor.p({ + customStyle: { + marginBottom: "8px", + marginRight: "24rpx" + }, + label: opt.name, + name: opt.name + }) + }; + }), + x: common_vendor.o((label) => onResultChange(index, label), "check-item-" + index), + y: "1b3bf21b-1-" + i0, + z: common_vendor.o(($event) => answerList.value[index].resultLabel = $event, "check-item-" + index), + A: common_vendor.p({ + placement: "row", + modelValue: answerList.value[index].resultLabel + }), + B: answerList.value[index].resultLabel === "异常" + }, answerList.value[index].resultLabel === "异常" ? common_vendor.e({ + C: !hasHazardData(index) + }, !hasHazardData(index) ? { + D: common_vendor.o(($event) => openHazardPopup(index), "check-item-" + index) + } : common_vendor.e({ + E: common_vendor.t(answerList.value[index].hazardPayload.formData.title), + F: common_vendor.t((_a = common_vendor.unref(components_hazard_hazardForm.LEVEL_OPTIONS)[answerList.value[index].hazardPayload.formData.level]) == null ? void 0 : _a.title), + G: answerList.value[index].hazardPayload.formData.level === 0 ? 1 : "", + H: answerList.value[index].hazardPayload.formData.level === 1 ? 1 : "", + I: answerList.value[index].hazardPayload.formData.level === 2 ? 1 : "", + J: common_vendor.t(((_b = common_vendor.unref(components_hazard_hazardForm.SOURCE_OPTIONS)[answerList.value[index].hazardPayload.formData.source]) == null ? void 0 : _b.title) || "-"), + K: common_vendor.t(answerList.value[index].hazardPayload.address || "-"), + L: common_vendor.t(answerList.value[index].hazardPayload.formData.description || "-"), + M: answerList.value[index].hazardPayload.fileList.length > 0 + }, answerList.value[index].hazardPayload.fileList.length > 0 ? { + N: common_vendor.t(answerList.value[index].hazardPayload.fileList.length) + } : {}, { + O: common_vendor.o(($event) => openHazardPopup(index), "check-item-" + index), + P: common_vendor.o(($event) => clearHazard(index), "check-item-" + index) + })) : {}, { + Q: "1b3bf21b-3-" + i0, + R: common_vendor.o(($event) => answerList.value[index].remark = $event, "check-item-" + index), + S: common_vendor.p({ + placeholder: "请输入备注信息", + modelValue: answerList.value[index].remark + }) + }), { + T: "check-item-" + index, + U: "check-item-" + index, + V: isItemSubmitted(item) ? 1 : "" + }); + }), + m: pendingSubmitCount.value > 0 + }, pendingSubmitCount.value > 0 ? { + n: common_vendor.t(pendingSubmitCount.value), + o: common_vendor.o(handleSubmitAll) + } : {}), { + b: !checkItemList.value.length, + p: activeHazardIndex.value >= 0 + }, activeHazardIndex.value >= 0 ? { + q: common_vendor.sr(hazardFormRef, "1b3bf21b-4", { + "k": "hazardFormRef" + }), + r: common_vendor.o(onHazardConfirm), + s: common_vendor.o(($event) => showHazardPopup.value = $event), + t: common_vendor.o(($event) => editingHazardPayload.value = $event), + v: common_vendor.p({ + title: "填写隐患信息", + mode: "collect", + ["body-height"]: "60vh", + ["extra-params"]: hazardFormExtraParams.value, + show: showHazardPopup.value, + modelValue: editingHazardPayload.value + }) + } : {}, { + w: common_vendor.t(checkItemList.value.length), + x: common_vendor.f(checkItemList.value, (item, index, i0) => { + return { + a: common_vendor.t(index + 1), + b: "sheet-nav-" + index, + c: common_vendor.n(getSheetCellClass(index)), + d: common_vendor.o(($event) => scrollToItem(index), "sheet-nav-" + index) + }; + }), + y: common_vendor.t(submittedCount.value), + z: common_vendor.t(pendingSubmitCount.value), + A: common_vendor.t(uncheckedCount.value), + B: pendingSubmitCount.value > 0 + }, pendingSubmitCount.value > 0 ? { + C: common_vendor.o(handleSheetSubmit) + } : {}, { + D: common_vendor.o(closeCheckSheet), + E: common_vendor.p({ + show: showCheckSheet.value, + mode: "bottom", + round: "20", + ["safe-area-inset-bottom"]: true + }), + F: common_vendor.gei(_ctx, "") + }); + }; + } +}; +const MiniProgramPage = /* @__PURE__ */ common_vendor._export_sfc(_sfc_main, [["__scopeId", "data-v-1b3bf21b"]]); +wx.createPage(MiniProgramPage); +//# sourceMappingURL=../../../.sourcemap/mp-weixin/pages/Inspectionresult/detail.js.map diff --git a/unpackage/dist/dev/mp-weixin/pages/Inspectionresult/detail.json b/unpackage/dist/dev/mp-weixin/pages/Inspectionresult/detail.json new file mode 100644 index 0000000..8eec88c --- /dev/null +++ b/unpackage/dist/dev/mp-weixin/pages/Inspectionresult/detail.json @@ -0,0 +1,11 @@ +{ + "navigationBarTitleText": "排查详情", + "usingComponents": { + "up-icon": "../../uni_modules/uview-plus/components/u-icon/u-icon", + "u-radio": "../../uni_modules/uview-plus/components/u-radio/u-radio", + "u-radio-group": "../../uni_modules/uview-plus/components/u-radio-group/u-radio-group", + "up-textarea": "../../uni_modules/uview-plus/components/u-textarea/u-textarea", + "u-popup": "../../uni_modules/uview-plus/components/u-popup/u-popup", + "hazard-form-popup": "../../components/hazard/HazardFormPopup" + } +} \ No newline at end of file diff --git a/unpackage/dist/dev/mp-weixin/pages/Inspectionresult/detail.wxml b/unpackage/dist/dev/mp-weixin/pages/Inspectionresult/detail.wxml new file mode 100644 index 0000000..e322da9 --- /dev/null +++ b/unpackage/dist/dev/mp-weixin/pages/Inspectionresult/detail.wxml @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/unpackage/dist/dev/mp-weixin/pages/Inspectionresult/detail.wxss b/unpackage/dist/dev/mp-weixin/pages/Inspectionresult/detail.wxss new file mode 100644 index 0000000..a13e5b0 --- /dev/null +++ b/unpackage/dist/dev/mp-weixin/pages/Inspectionresult/detail.wxss @@ -0,0 +1,455 @@ +/** + * 这里是uni-app内置的常用样式变量 + * + * uni-app 官方扩展插件及插件市场(https://ext.dcloud.net.cn)上很多三方插件均使用了这些样式变量 + * 如果你是插件开发者,建议你使用scss预处理,并在插件代码中直接使用这些变量(无需 import 这个文件),方便用户通过搭积木的方式开发整体风格一致的App + * + */ +/** + * 如果你是App开发者(插件使用者),你可以通过修改这些变量来定制自己的插件主题,实现自定义主题功能 + * + * 如果你的项目同样使用了scss预处理,你也可以直接在你的 scss 代码中使用如下变量,同时无需 import 这个文件 + */ +/* uni.scss */ +/* 颜色变量 */ +/* 行为相关颜色 */ +/* 文字基本颜色 */ +/* 背景颜色 */ +/* 边框颜色 */ +/* 尺寸变量 */ +/* 文字尺寸 */ +/* 图片尺寸 */ +/* Border Radius */ +/* 水平间距 */ +/* 垂直间距 */ +/* 透明度 */ +/* 文章场景相关 */ +.page.data-v-1b3bf21b { + min-height: 100vh; + background: #EBF2FC; + padding-bottom: 40rpx; +} +.page-content.data-v-1b3bf21b { + padding-bottom: 40rpx; +} +.empty-tip.data-v-1b3bf21b { + font-size: 28rpx; +} +.sheet-header.data-v-1b3bf21b { + box-shadow: 0 2rpx 12rpx rgba(0, 0, 0, 0.05); +} +.float-nav.data-v-1b3bf21b { + position: -webkit-sticky; + position: sticky; + top: 0; + left: 0; + right: 0; + z-index: 100; + background: #fff; + box-shadow: 0 2rpx 12rpx rgba(0, 0, 0, 0.08); + padding: 20rpx 24rpx; +} +.float-nav-body.data-v-1b3bf21b { + display: flex; + align-items: center; + gap: 20rpx; +} +.float-nav-main.data-v-1b3bf21b { + flex: 1; + min-width: 0; +} +.sheet-nav-btn.data-v-1b3bf21b { + flex-shrink: 0; + display: flex; + align-items: center; + justify-content: center; + width: 72rpx; + height: 72rpx; + background: #eef3ff; + border-radius: 16rpx; +} +.question-card.data-v-1b3bf21b { + box-shadow: 0 2rpx 12rpx rgba(0, 0, 0, 0.05); +} +.question-card--submitted.data-v-1b3bf21b { + background: #f8faf8; + border: 1rpx solid #e8f5e9; +} +.question-header-row.data-v-1b3bf21b { + display: flex; + align-items: center; + justify-content: space-between; + gap: 16rpx; +} +.question-index.data-v-1b3bf21b { + display: inline-block; + padding: 4rpx 16rpx; + font-size: 24rpx; + color: #2667E9; + background: #EEF3FF; + border-radius: 8rpx; +} +.submitted-tag.data-v-1b3bf21b { + padding: 4rpx 16rpx; + font-size: 22rpx; + color: #52c41a; + background: #f6ffed; + border: 1rpx solid #b7eb8f; + border-radius: 8rpx; + white-space: nowrap; +} +.pending-tag.data-v-1b3bf21b { + padding: 4rpx 16rpx; + font-size: 22rpx; + color: #2667e9; + background: #eef3ff; + border: 1rpx solid #adc6ff; + border-radius: 8rpx; + white-space: nowrap; +} +.readonly-block.data-v-1b3bf21b, +.answer-panel.data-v-1b3bf21b { + padding: 20rpx; + background: #f7f8fa; + border: 1rpx solid #e8e8e8; + border-radius: 12rpx; +} +.readonly-row.data-v-1b3bf21b { + display: flex; + align-items: center; + gap: 16rpx; + margin-bottom: 12rpx; + font-size: 26rpx; + line-height: 1.6; +} +.readonly-row.data-v-1b3bf21b:last-child { + margin-bottom: 0; +} +.readonly-row--stack.data-v-1b3bf21b { + align-items: flex-start; +} +.hazard-summary.data-v-1b3bf21b { + margin-top: 16rpx; + padding-top: 16rpx; + border-top: 1rpx dashed #e0e0e0; +} +.readonly-label.data-v-1b3bf21b { + flex-shrink: 0; + color: #999; + min-width: 120rpx; +} +.readonly-value.data-v-1b3bf21b { + flex: 1; + color: #333; + word-break: break-all; +} +.result-tag.data-v-1b3bf21b { + display: inline-flex; + align-items: center; + padding: 4rpx 16rpx; + border-radius: 8rpx; + font-size: 24rpx; + font-weight: 500; + line-height: 1.4; + white-space: nowrap; +} +.result-tag--normal.data-v-1b3bf21b { + background: #f6ffed; + border: 1rpx solid #b7eb8f; + color: #52c41a; +} +.result-tag--abnormal.data-v-1b3bf21b { + background: #fff1f0; + border: 1rpx solid #ffa39e; + color: #f5222d; +} +.result-tag--na.data-v-1b3bf21b { + background: #f5f5f5; + border: 1rpx solid #d9d9d9; + color: #8c8c8c; +} +.view-hazard-btn.data-v-1b3bf21b { + margin-top: 20rpx; + width: 100%; + height: 72rpx; + line-height: 72rpx; + font-size: 28rpx; + color: #2667e9; + background: #fff; + border: 1rpx solid #adc6ff; + border-radius: 12rpx; +} +.view-hazard-btn.data-v-1b3bf21b::after { + border: none; +} +.progress-text.data-v-1b3bf21b { + display: flex; + align-items: baseline; + margin-bottom: 16rpx; +} +.progress-text .current-index.data-v-1b3bf21b { + font-size: 26rpx; + font-weight: bold; + color: #2667E9; +} +.progress-text .total-count.data-v-1b3bf21b { + font-size: 24rpx; + color: #999; +} +.progress-line.data-v-1b3bf21b { + height: 12rpx; + background: #E5E5E5; + border-radius: 6rpx; + overflow: hidden; +} +.progress-inner.data-v-1b3bf21b { + height: 100%; + background: linear-gradient(90deg, #2667E9, #5B9BFF); + border-radius: 6rpx; + transition: width 0.3s ease; +} +.hazard-section.data-v-1b3bf21b { + border-top: 1rpx solid #eee; + padding-top: 20rpx; +} +.hazard-tip.data-v-1b3bf21b { + display: flex; + align-items: center; + padding: 16rpx 20rpx; + background: #FFF7E6; + border: 1rpx solid #FFE7BA; + border-radius: 8rpx; + margin-bottom: 20rpx; +} +.hazard-tip .text-orange.data-v-1b3bf21b { + color: #FA8C16; + font-size: 26rpx; +} +.hazard-btn.data-v-1b3bf21b { + display: flex; + align-items: center; + justify-content: center; + height: 88rpx; + border: 2rpx dashed #2667E9; + border-radius: 12rpx; + background: #F5F9FF; +} +.hazard-btn .text-blue.data-v-1b3bf21b { + color: #2667E9; + font-size: 28rpx; +} +.hazard-card.data-v-1b3bf21b { + background: #F5F9FF; + border: 1rpx solid #D6E4FF; + border-radius: 12rpx; + overflow: hidden; +} +.hazard-card .card-header.data-v-1b3bf21b { + display: flex; + justify-content: space-between; + align-items: center; + padding: 20rpx; + border-bottom: 1rpx solid #E8E8E8; + background: #fff; +} +.hazard-card .card-body.data-v-1b3bf21b { + padding: 20rpx; +} +.hazard-card .card-body .info-row.data-v-1b3bf21b { + display: flex; + margin-bottom: 12rpx; + font-size: 26rpx; +} +.hazard-card .card-body .info-row.data-v-1b3bf21b:last-child { + margin-bottom: 0; +} +.hazard-card .card-body .info-row .text-gray.data-v-1b3bf21b { + flex-shrink: 0; + color: #999; +} +.hazard-card .card-body .info-row .description-text.data-v-1b3bf21b { + display: -webkit-box; + -webkit-line-clamp: 2; + -webkit-box-orient: vertical; + overflow: hidden; + text-overflow: ellipsis; +} +.hazard-card .card-footer.data-v-1b3bf21b { + display: flex; + border-top: 1rpx solid #E8E8E8; + background: #fff; +} +.hazard-card .card-footer button.data-v-1b3bf21b { + flex: 1; + height: 80rpx; + line-height: 80rpx; + font-size: 28rpx; + border-radius: 0; +} +.hazard-card .card-footer button.data-v-1b3bf21b::after { + border: none; +} +.hazard-card .card-footer .btn-edit.data-v-1b3bf21b { + background: #fff; + color: #2667E9; + border-right: 1rpx solid #E8E8E8; +} +.hazard-card .card-footer .btn-clear.data-v-1b3bf21b { + background: #fff; + color: #F56C6C; +} +.level-tag.data-v-1b3bf21b { + padding: 4rpx 16rpx; + border-radius: 8rpx; + font-size: 24rpx; +} +.level-minor.data-v-1b3bf21b { + background: #F6FFED; + border: 2rpx solid #B7EB8F; + color: #52C41A; +} +.level-normal.data-v-1b3bf21b { + background: #FFF7E6; + border: 2rpx solid #FFD591; + color: #FA8C16; +} +.level-major.data-v-1b3bf21b { + background: #FFF1F0; + border: 2rpx solid #FFA39E; + color: #F5222D; +} +.submit-btn.data-v-1b3bf21b { + margin-bottom: 40rpx; +} +.draft-banner.data-v-1b3bf21b { + display: flex; + align-items: center; + justify-content: space-between; + padding: 20rpx 24rpx; + font-size: 24rpx; + color: #fa8c16; + background: #fff7eb; + border: 1rpx solid #ffe4cc; + border-radius: 12rpx; +} +.draft-banner-left.data-v-1b3bf21b { + display: flex; + align-items: center; + flex: 1; + min-width: 0; +} +.draft-banner-icon.data-v-1b3bf21b { + margin-right: 10rpx; +} +.draft-banner-action.data-v-1b3bf21b { + flex-shrink: 0; + margin-left: 16rpx; + color: #2667e9; + font-weight: bold; +} +.check-sheet-popup.data-v-1b3bf21b { + padding: 32rpx 32rpx calc(24rpx + env(safe-area-inset-bottom)); + background: #fff; +} +.check-sheet-header.data-v-1b3bf21b { + margin-bottom: 24rpx; +} +.check-sheet-title.data-v-1b3bf21b { + font-size: 34rpx; + font-weight: bold; + color: #333; +} +.check-sheet-subtitle.data-v-1b3bf21b { + margin-top: 8rpx; + font-size: 26rpx; + color: #999; +} +.check-sheet-grid-wrap.data-v-1b3bf21b { + max-height: 52vh; +} +.check-sheet-grid.data-v-1b3bf21b { + display: flex; + flex-wrap: wrap; + gap: 20rpx; + padding-bottom: 8rpx; +} +.check-sheet-cell.data-v-1b3bf21b { + width: calc((100% - 80rpx) / 5); + height: 88rpx; + line-height: 88rpx; + text-align: center; + font-size: 28rpx; + color: #666; + background: #fff; + border: 2rpx solid #e5e5e5; + border-radius: 12rpx; + box-sizing: border-box; +} +.check-sheet-cell--pending.data-v-1b3bf21b { + color: #fff; + background: #2667e9; + border-color: #2667e9; +} +.check-sheet-cell--submitted.data-v-1b3bf21b { + color: #52c41a; + background: #f6ffed; + border-color: #b7eb8f; +} +.check-sheet-footer.data-v-1b3bf21b { + display: flex; + align-items: center; + justify-content: space-between; + gap: 24rpx; + margin-top: 28rpx; + padding-top: 24rpx; + border-top: 1rpx solid #f0f0f0; +} +.check-sheet-legend.data-v-1b3bf21b { + display: flex; + align-items: center; + gap: 32rpx; + flex: 1; + min-width: 0; + font-size: 26rpx; + color: #666; +} +.check-sheet-submit-btn.data-v-1b3bf21b { + flex-shrink: 0; + height: 72rpx; + line-height: 72rpx; + padding: 0 36rpx; + margin: 0; + font-size: 28rpx; + font-weight: 500; + color: #fff; + background: linear-gradient(135deg, #4facfe 0%, #2668ea 100%); + border-radius: 36rpx; + border: none; + box-shadow: 0 4rpx 16rpx rgba(38, 104, 234, 0.3); +} +.check-sheet-submit-btn.data-v-1b3bf21b::after { + border: none; +} +.legend-item.data-v-1b3bf21b { + display: flex; + align-items: center; + gap: 12rpx; +} +.legend-dot.data-v-1b3bf21b { + width: 28rpx; + height: 28rpx; + border-radius: 8rpx; + box-sizing: border-box; +} +.legend-dot--submitted.data-v-1b3bf21b { + background: #f6ffed; + border: 2rpx solid #b7eb8f; +} +.legend-dot--pending.data-v-1b3bf21b { + background: #2667e9; + border: 2rpx solid #2667e9; +} +.legend-dot--todo.data-v-1b3bf21b { + background: #fff; + border: 2rpx solid #e5e5e5; +} \ No newline at end of file diff --git a/unpackage/dist/dev/mp-weixin/pages/Inspectionresult/list.js b/unpackage/dist/dev/mp-weixin/pages/Inspectionresult/list.js new file mode 100644 index 0000000..a31398b --- /dev/null +++ b/unpackage/dist/dev/mp-weixin/pages/Inspectionresult/list.js @@ -0,0 +1,138 @@ +"use strict"; +const common_vendor = require("../../common/vendor.js"); +const request_api = require("../../request/api.js"); +if (!Array) { + const _easycom_u_navbar2 = common_vendor.resolveComponent("u-navbar"); + _easycom_u_navbar2(); +} +const _easycom_u_navbar = () => "../../uni_modules/uview-plus/components/u-navbar/u-navbar.js"; +if (!Math) { + _easycom_u_navbar(); +} +const _sfc_main = { + __name: "list", + setup(__props) { + const loading = common_vendor.ref(true); + const checkPlanData = common_vendor.ref([]); + const tableId = common_vendor.ref(""); + const planName = common_vendor.ref(""); + const listParams = { + pageNum: 1, + pageSize: 100, + name: "" + }; + const formatDate = (dateStr) => { + if (!dateStr) + return ""; + return String(dateStr).split(" ")[0]; + }; + const formatProgress = (progress) => { + const num = Number(progress); + if (Number.isNaN(num)) + return 0; + return Math.min(100, Math.max(0, num)); + }; + const fetchList = async () => { + var _a; + if (!tableId.value) { + loading.value = false; + checkPlanData.value = []; + return; + } + loading.value = true; + try { + const res = await request_api.getPlanTableDetail({ + ...listParams, + tableId: tableId.value + }); + if (res.code === 0) { + checkPlanData.value = ((_a = res.data) == null ? void 0 : _a.records) || []; + } else { + common_vendor.index.showToast({ title: res.msg || "获取检查清单失败", icon: "none" }); + } + } catch (error) { + common_vendor.index.__f__("error", "at pages/Inspectionresult/list.vue:138", "获取检查清单失败:", error); + common_vendor.index.showToast({ title: "获取检查清单失败", icon: "none" }); + } finally { + loading.value = false; + } + }; + const startCheck = (item) => { + const oneTableId = item.id; + const taskDate = formatDate(item.taskDate); + if (!oneTableId || !taskDate) { + common_vendor.index.showToast({ title: "缺少任务参数", icon: "none" }); + return; + } + const name = item.name || planName.value || ""; + const tableIdQuery = tableId.value ? `&tableId=${tableId.value}` : ""; + common_vendor.index.navigateTo({ + url: `/pages/Inspectionresult/detail?oneTableId=${oneTableId}&taskDate=${encodeURIComponent(taskDate)}&name=${encodeURIComponent(name)}${tableIdQuery}` + }); + }; + common_vendor.onLoad((options) => { + if (options.tableId) { + tableId.value = options.tableId; + } + if (options.name) { + planName.value = decodeURIComponent(options.name); + } + }); + common_vendor.onShow(() => { + fetchList(); + }); + const goHome = () => { + common_vendor.index.switchTab({ + url: "/pages/index/index" + }); + }; + common_vendor.onBackPress(() => { + goHome(); + return true; + }); + return (_ctx, _cache) => { + return common_vendor.e({ + a: common_vendor.o(goHome), + b: common_vendor.p({ + title: "检查列表", + placeholder: true, + safeAreaInsetTop: true, + bgColor: "#3375e6", + titleColor: "#ffffff", + leftIconColor: "#ffffff", + autoBack: false + }), + c: loading.value + }, loading.value ? {} : !tableId.value ? {} : checkPlanData.value.length === 0 ? {} : { + f: common_vendor.f(checkPlanData.value, (item, k0, i0) => { + return common_vendor.e({ + a: common_vendor.t(item.name || planName.value || "检查任务"), + b: common_vendor.t(item.runModeName), + c: common_vendor.t(item.cycle), + d: item.taskDate + }, item.taskDate ? { + e: common_vendor.t(formatDate(item.taskDate)) + } : {}, { + f: common_vendor.t(formatDate(item.planStartTime)), + g: common_vendor.t(formatDate(item.planEndTime)), + h: formatProgress(item.progress) + "%", + i: common_vendor.t(formatProgress(item.progress)), + j: common_vendor.t(item.totalCount ?? 0), + k: common_vendor.t(item.pendingCount ?? 0), + l: common_vendor.t(item.unusualNum ?? 0), + m: common_vendor.t(item.finishedCount ?? 0), + n: common_vendor.o(($event) => startCheck(item), item.id || item.taskDate), + o: item.id || item.taskDate + }); + }) + }, { + d: !tableId.value, + e: checkPlanData.value.length === 0, + g: common_vendor.gei(_ctx, "") + }); + }; + } +}; +const MiniProgramPage = /* @__PURE__ */ common_vendor._export_sfc(_sfc_main, [["__scopeId", "data-v-52eec896"]]); +wx.createPage(MiniProgramPage); +//# sourceMappingURL=../../../.sourcemap/mp-weixin/pages/Inspectionresult/list.js.map diff --git a/unpackage/dist/dev/mp-weixin/pages/Inspectionresult/list.json b/unpackage/dist/dev/mp-weixin/pages/Inspectionresult/list.json new file mode 100644 index 0000000..200c316 --- /dev/null +++ b/unpackage/dist/dev/mp-weixin/pages/Inspectionresult/list.json @@ -0,0 +1,7 @@ +{ + "navigationStyle": "custom", + "navigationBarTitleText": "检查列表", + "usingComponents": { + "u-navbar": "../../uni_modules/uview-plus/components/u-navbar/u-navbar" + } +} \ No newline at end of file diff --git a/unpackage/dist/dev/mp-weixin/pages/Inspectionresult/list.wxml b/unpackage/dist/dev/mp-weixin/pages/Inspectionresult/list.wxml new file mode 100644 index 0000000..87dfd11 --- /dev/null +++ b/unpackage/dist/dev/mp-weixin/pages/Inspectionresult/list.wxml @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/unpackage/dist/dev/mp-weixin/pages/Inspectionresult/list.wxss b/unpackage/dist/dev/mp-weixin/pages/Inspectionresult/list.wxss new file mode 100644 index 0000000..29de4c6 --- /dev/null +++ b/unpackage/dist/dev/mp-weixin/pages/Inspectionresult/list.wxss @@ -0,0 +1,105 @@ +/** + * 这里是uni-app内置的常用样式变量 + * + * uni-app 官方扩展插件及插件市场(https://ext.dcloud.net.cn)上很多三方插件均使用了这些样式变量 + * 如果你是插件开发者,建议你使用scss预处理,并在插件代码中直接使用这些变量(无需 import 这个文件),方便用户通过搭积木的方式开发整体风格一致的App + * + */ +/** + * 如果你是App开发者(插件使用者),你可以通过修改这些变量来定制自己的插件主题,实现自定义主题功能 + * + * 如果你的项目同样使用了scss预处理,你也可以直接在你的 scss 代码中使用如下变量,同时无需 import 这个文件 + */ +/* uni.scss */ +/* 颜色变量 */ +/* 行为相关颜色 */ +/* 文字基本颜色 */ +/* 背景颜色 */ +/* 边框颜色 */ +/* 尺寸变量 */ +/* 文字尺寸 */ +/* 图片尺寸 */ +/* Border Radius */ +/* 水平间距 */ +/* 垂直间距 */ +/* 透明度 */ +/* 文章场景相关 */ +.page.data-v-52eec896 { + min-height: 100vh; + background: #EBF2FC; +} +.empty-tip.data-v-52eec896 { + font-size: 28rpx; +} +.plan-card.data-v-52eec896 { + border-radius: 16rpx; + overflow: hidden; + box-shadow: 0rpx 2rpx 6rpx 2rpx rgba(0, 0, 0, 0.06); +} +.plan-header.data-v-52eec896 { + background: linear-gradient(135deg, #4A90E2 0%, #2667E9 100%); + padding: 24rpx 30rpx; + display: flex; + align-items: center; +} +.plan-header .plan-header-title.data-v-52eec896 { + color: #fff; + font-size: 30rpx; + font-weight: bold; +} +.plan-body.data-v-52eec896 { + padding: 24rpx 30rpx 10rpx 30rpx; + background: #fff; +} +.plan-stats.data-v-52eec896 { + display: flex; + background: #F5F7FA; + border-radius: 12rpx; + border: 1rpx solid #E8ECF0; + overflow: hidden; +} +.plan-stats .plan-stat-item.data-v-52eec896 { + flex: 1; + text-align: center; + padding: 20rpx 0; + border-right: 1rpx solid #E8ECF0; +} +.plan-stats .plan-stat-item.data-v-52eec896:last-child { + border-right: none; +} +.plan-stats .plan-stat-num.data-v-52eec896 { + font-size: 36rpx; + font-weight: bold; +} +.plan-stats .plan-stat-label.data-v-52eec896 { + font-size: 24rpx; + color: #666; + margin-top: 8rpx; +} +.cu-progress.data-v-52eec896 { + width: 300rpx; + height: 20rpx; + background: #ebeef5; + border-radius: 100rpx; + overflow: hidden; +} +.cu-progress view.data-v-52eec896 { + height: 100%; + border-radius: 100rpx; + transition: width 0.3s ease; +} +.bg-green.data-v-52eec896 { + background: #2667E9; +} +.border-border.data-v-52eec896 { + padding: 10rpx; + background: #EEF3FF; + border-radius: 4rpx; + border: 2rpx solid #AAC5FC; + text-align: center; + display: flex; + justify-content: center; + align-items: center; + font-size: 28rpx; + color: #2667E9; +} \ No newline at end of file diff --git a/unpackage/dist/dev/mp-weixin/pages/Inspectionwarning/Inspectionwarning.js b/unpackage/dist/dev/mp-weixin/pages/Inspectionwarning/Inspectionwarning.js index f96815f..4d7692e 100644 --- a/unpackage/dist/dev/mp-weixin/pages/Inspectionwarning/Inspectionwarning.js +++ b/unpackage/dist/dev/mp-weixin/pages/Inspectionwarning/Inspectionwarning.js @@ -158,7 +158,7 @@ const _sfc_main = { }); return (_ctx, _cache) => { return common_vendor.e({ - a: common_assets._imports_0$1, + a: common_assets._imports_0$2, b: common_vendor.t(searchForm.startDate || "请选择"), c: common_vendor.n(searchForm.startDate ? "date-value" : "date-placeholder"), d: common_vendor.o(($event) => showStartDatePicker.value = true), @@ -190,7 +190,7 @@ const _sfc_main = { modelValue: searchForm.deptName }), t: common_vendor.o(handleSearch), - v: common_assets._imports_1, + v: common_assets._imports_1$1, w: common_vendor.t(statistics.total), x: common_vendor.t(statistics.overdue), y: common_vendor.t(statistics.onTimeCompleted), diff --git a/unpackage/dist/dev/mp-weixin/pages/editchecklist/editchecklist.js b/unpackage/dist/dev/mp-weixin/pages/editchecklist/editchecklist.js index 3f1a866..b7ee4eb 100644 --- a/unpackage/dist/dev/mp-weixin/pages/editchecklist/editchecklist.js +++ b/unpackage/dist/dev/mp-weixin/pages/editchecklist/editchecklist.js @@ -45,8 +45,20 @@ const _sfc_main = { const onSwitchChange = (e) => { workdaySwitch.value = e.detail.value; }; - const startDateValue = common_vendor.ref(Number(/* @__PURE__ */ new Date())); - const endDateValue = common_vendor.ref(Number(/* @__PURE__ */ new Date())); + const getTodayTimestamp = () => { + const now = /* @__PURE__ */ new Date(); + return new Date(now.getFullYear(), now.getMonth(), now.getDate()).getTime(); + }; + const todayMinDate = common_vendor.computed(() => getTodayTimestamp()); + const endDateMinDate = common_vendor.computed(() => { + if (formData.startDate) { + const [year, month, day] = formData.startDate.split("-").map(Number); + return new Date(year, month - 1, day).getTime(); + } + return getTodayTimestamp(); + }); + const startDateValue = common_vendor.ref(getTodayTimestamp()); + const endDateValue = common_vendor.ref(getTodayTimestamp()); const showDeptPicker = common_vendor.ref(false); const showTypePicker = common_vendor.ref(false); const showModePicker = common_vendor.ref(false); @@ -103,7 +115,7 @@ const _sfc_main = { executorList.value = res.data || []; } } catch (error) { - common_vendor.index.__f__("error", "at pages/editchecklist/editchecklist.vue:505", "获取部门用户失败:", error); + common_vendor.index.__f__("error", "at pages/editchecklist/editchecklist.vue:522", "获取部门用户失败:", error); } }; const toggleExecutorSelect = (item) => { @@ -132,7 +144,7 @@ const _sfc_main = { initDeptCascader(res.data); } } catch (error) { - common_vendor.index.__f__("error", "at pages/editchecklist/editchecklist.vue:543", "获取部门树失败:", error); + common_vendor.index.__f__("error", "at pages/editchecklist/editchecklist.vue:560", "获取部门树失败:", error); } }; const initDeptCascader = (data) => { @@ -184,19 +196,42 @@ const _sfc_main = { } showCyclePicker.value = false; }; - const formatDateTime = (timestamp) => { + const formatDate = (timestamp) => { const date = new Date(timestamp); const year = date.getFullYear(); const month = String(date.getMonth() + 1).padStart(2, "0"); const day = String(date.getDate()).padStart(2, "0"); - const hours = String(date.getHours()).padStart(2, "0"); - const minutes = String(date.getMinutes()).padStart(2, "0"); - const seconds = String(date.getSeconds()).padStart(2, "0"); - return `${year}-${month}-${day} ${hours}:${minutes}:${seconds}`; + return `${year}-${month}-${day}`; + }; + const parseDateValue = (dateStr) => { + if (!dateStr) + return 0; + const [datePart] = dateStr.split(" "); + const [year, month, day] = datePart.split("-").map(Number); + return new Date(year, month - 1, day).getTime(); + }; + const openStartDatePicker = () => { + const today = getTodayTimestamp(); + if (startDateValue.value < today) { + startDateValue.value = today; + } + showStartDatePicker.value = true; + }; + const openEndDatePicker = () => { + const minDate = endDateMinDate.value; + if (endDateValue.value < minDate) { + endDateValue.value = minDate; + } + showEndDatePicker.value = true; }; const onStartDateConfirm = (e) => { - const selectedDate = formatDateTime(e.value); - if (formData.endDate && new Date(selectedDate) > new Date(formData.endDate)) { + const selectedDate = formatDate(e.value); + const todayStr = formatDate(getTodayTimestamp()); + if (selectedDate < todayStr) { + common_vendor.index.showToast({ title: "开始时间不能早于今天", icon: "none" }); + return; + } + if (formData.endDate && parseDateValue(selectedDate) > parseDateValue(formData.endDate)) { common_vendor.index.showToast({ title: "开始时间不能晚于结束时间", icon: "none" }); return; } @@ -204,8 +239,8 @@ const _sfc_main = { showStartDatePicker.value = false; }; const onEndDateConfirm = (e) => { - const selectedDate = formatDateTime(e.value); - if (formData.startDate && new Date(selectedDate) < new Date(formData.startDate)) { + const selectedDate = formatDate(e.value); + if (formData.startDate && parseDateValue(selectedDate) < parseDateValue(formData.startDate)) { common_vendor.index.showToast({ title: "结束时间不能早于开始时间", icon: "none" }); return; } @@ -249,7 +284,7 @@ const _sfc_main = { } } catch (error) { common_vendor.index.hideLoading(); - common_vendor.index.__f__("error", "at pages/editchecklist/editchecklist.vue:700", "删除检查项失败:", error); + common_vendor.index.__f__("error", "at pages/editchecklist/editchecklist.vue:740", "删除检查项失败:", error); common_vendor.index.showToast({ title: "删除失败", icon: "none" }); } } else { @@ -325,7 +360,7 @@ const _sfc_main = { hasMoreLaw.value = lawList.value.length < total; } } catch (error) { - common_vendor.index.__f__("error", "at pages/editchecklist/editchecklist.vue:787", "获取法规列表失败:", error); + common_vendor.index.__f__("error", "at pages/editchecklist/editchecklist.vue:827", "获取法规列表失败:", error); } finally { lawLoading.value = false; } @@ -405,7 +440,7 @@ const _sfc_main = { } } catch (error) { common_vendor.index.hideLoading(); - common_vendor.index.__f__("error", "at pages/editchecklist/editchecklist.vue:887", "添加检查项失败:", error); + common_vendor.index.__f__("error", "at pages/editchecklist/editchecklist.vue:927", "添加检查项失败:", error); common_vendor.index.showToast({ title: "添加失败", icon: "none" }); } }; @@ -454,7 +489,7 @@ const _sfc_main = { hasMoreLibrary.value = libraryList.value.length < total; } } catch (error) { - common_vendor.index.__f__("error", "at pages/editchecklist/editchecklist.vue:947", "获取检查库列表失败:", error); + common_vendor.index.__f__("error", "at pages/editchecklist/editchecklist.vue:987", "获取检查库列表失败:", error); } finally { libraryLoading.value = false; } @@ -557,7 +592,7 @@ const _sfc_main = { selectedLibraries.value = []; } catch (error) { common_vendor.index.hideLoading(); - common_vendor.index.__f__("error", "at pages/editchecklist/editchecklist.vue:1067", "获取检查库详情失败:", error); + common_vendor.index.__f__("error", "at pages/editchecklist/editchecklist.vue:1107", "获取检查库详情失败:", error); common_vendor.index.showToast({ title: "添加失败", icon: "none" }); } }; @@ -590,7 +625,7 @@ const _sfc_main = { common_vendor.index.showToast({ title: "请选择计划时间", icon: "none" }); return; } - if (new Date(formData.endDate) < new Date(formData.startDate)) { + if (parseDateValue(formData.endDate) < parseDateValue(formData.startDate)) { common_vendor.index.showToast({ title: "结束时间不能早于开始时间", icon: "none" }); return; } @@ -634,8 +669,8 @@ const _sfc_main = { // 从检查库选择的库id数组 cycle: cycleMap[formData.cycleName] || 1, isWeekend: workdaySwitch.value ? 1 : 2, - planStartTime: formData.startDate, - planEndTime: formData.endDate + planStartTime: `${formData.startDate} 00:00:00`, + planEndTime: `${formData.endDate} 23:59:59` }; if (formData.modeName === "指定人员" && formData.executorIds.length > 0) { params.executorId = formData.executorIds[0]; @@ -654,7 +689,7 @@ const _sfc_main = { } } catch (error) { common_vendor.index.hideLoading(); - common_vendor.index.__f__("error", "at pages/editchecklist/editchecklist.vue:1185", "保存失败:", error); + common_vendor.index.__f__("error", "at pages/editchecklist/editchecklist.vue:1225", "保存失败:", error); common_vendor.index.showToast({ title: "保存失败", icon: "none" }); } }; @@ -727,26 +762,28 @@ const _sfc_main = { N: common_vendor.o(onSwitchChange), O: common_vendor.t(formData.startDate || "请选择开始时间"), P: common_vendor.n(formData.startDate ? "picker-value" : "picker-placeholder"), - Q: common_vendor.o(($event) => showStartDatePicker.value = true), + Q: common_vendor.o(openStartDatePicker), R: common_vendor.o(onStartDateConfirm), S: common_vendor.o(($event) => showStartDatePicker.value = false), T: common_vendor.o(($event) => showStartDatePicker.value = false), U: common_vendor.o(($event) => startDateValue.value = $event), V: common_vendor.p({ show: showStartDatePicker.value, - mode: "datetime", + mode: "date", + minDate: todayMinDate.value, modelValue: startDateValue.value }), W: common_vendor.t(formData.endDate || "请选择结束时间"), X: common_vendor.n(formData.endDate ? "picker-value" : "picker-placeholder"), - Y: common_vendor.o(($event) => showEndDatePicker.value = true), + Y: common_vendor.o(openEndDatePicker), Z: common_vendor.o(onEndDateConfirm), aa: common_vendor.o(($event) => showEndDatePicker.value = false), ab: common_vendor.o(($event) => showEndDatePicker.value = false), ac: common_vendor.o(($event) => endDateValue.value = $event), ad: common_vendor.p({ show: showEndDatePicker.value, - mode: "datetime", + mode: "date", + minDate: endDateMinDate.value, modelValue: endDateValue.value }), ae: common_vendor.t(checkItemCount.value), diff --git a/unpackage/dist/dev/mp-weixin/pages/hiddendanger/Inspection.js b/unpackage/dist/dev/mp-weixin/pages/hiddendanger/Inspection.js index d820ea5..70627d9 100644 --- a/unpackage/dist/dev/mp-weixin/pages/hiddendanger/Inspection.js +++ b/unpackage/dist/dev/mp-weixin/pages/hiddendanger/Inspection.js @@ -1,32 +1,20 @@ "use strict"; const common_vendor = require("../../common/vendor.js"); const request_api = require("../../request/api.js"); -const request_three_one_api_area = require("../../request/three_one_api/area.js"); -require("../../request/request.js"); -const utils_upload = require("../../utils/upload.js"); -if (!Array) { - const _easycom_up_choose2 = common_vendor.resolveComponent("up-choose"); - const _easycom_up_upload2 = common_vendor.resolveComponent("up-upload"); - const _easycom_up_input2 = common_vendor.resolveComponent("up-input"); - const _easycom_up_textarea2 = common_vendor.resolveComponent("up-textarea"); - const _easycom_u_popup2 = common_vendor.resolveComponent("u-popup"); - (_easycom_up_choose2 + _easycom_up_upload2 + _easycom_up_input2 + _easycom_up_textarea2 + _easycom_u_popup2)(); -} -const _easycom_up_choose = () => "../../uni_modules/uview-plus/components/u-choose/u-choose.js"; -const _easycom_up_upload = () => "../../uni_modules/uview-plus/components/u-upload/u-upload.js"; -const _easycom_up_input = () => "../../uni_modules/uview-plus/components/u-input/u-input.js"; -const _easycom_up_textarea = () => "../../uni_modules/uview-plus/components/u-textarea/u-textarea.js"; -const _easycom_u_popup = () => "../../uni_modules/uview-plus/components/u-popup/u-popup.js"; if (!Math) { - (_easycom_up_choose + _easycom_up_upload + _easycom_up_input + _easycom_up_textarea + _easycom_u_popup)(); + HazardFormPopup(); } +const HazardFormPopup = () => "../../components/hazard/HazardFormPopup.js"; const _sfc_main = { __name: "Inspection", setup(__props) { const showAddPopup = common_vendor.ref(false); - const canvasWidth = common_vendor.ref(300); - const canvasHeight = common_vendor.ref(300); - const levelChooseRef = common_vendor.ref(null); + const taskId = common_vendor.ref(""); + const checkPointId = common_vendor.ref(""); + const hazardExtraParams = common_vendor.computed(() => ({ + taskId: taskId.value, + checkPointId: checkPointId.value + })); const userRole = common_vendor.ref(""); const canAcceptance = common_vendor.computed(() => { return userRole.value === "admin" || userRole.value === "manage"; @@ -37,15 +25,12 @@ const _sfc_main = { if (userInfoStr) { const userInfo = JSON.parse(userInfoStr); userRole.value = userInfo.role || ""; - common_vendor.index.__f__("log", "at pages/hiddendanger/Inspection.vue:286", "当前用户角色:", userRole.value); } } catch (error) { - common_vendor.index.__f__("error", "at pages/hiddendanger/Inspection.vue:289", "获取用户信息失败:", error); + common_vendor.index.__f__("error", "at pages/hiddendanger/Inspection.vue:100", "获取用户信息失败:", error); } }; getUserRole(); - const taskId = common_vendor.ref(""); - const checkPointId = common_vendor.ref(""); const fetchTaskInfo = async (oneTableId) => { try { const startRes = await request_api.enterCheckPlan(oneTableId); @@ -58,7 +43,7 @@ const _sfc_main = { } } } catch (error) { - common_vendor.index.__f__("error", "at pages/hiddendanger/Inspection.vue:314", "获取任务信息失败:", error); + common_vendor.index.__f__("error", "at pages/hiddendanger/Inspection.vue:117", "获取任务信息失败:", error); } }; common_vendor.onLoad((options) => { @@ -66,259 +51,6 @@ const _sfc_main = { fetchTaskInfo(options.id); } }); - const formData = common_vendor.reactive({ - title: "", - // 隐患标题 - level: 0, - // 隐患等级索引 - description: "", - // 隐患描述 - tagIndex: 0, - // 隐患标签索引 - source: 0, - // 隐患来源 - regulationId: null, - // 法律依据ID - regulationName: "" - // 法律依据名称(显示用) - }); - common_vendor.ref(0); - const lng = common_vendor.ref(0); - const lat = common_vendor.ref(0); - const selectedAddress = common_vendor.ref(""); - const showAreaPicker = common_vendor.ref(false); - const areaList = common_vendor.ref([]); - const selectedAreaId = common_vendor.ref(""); - const selectedAreaName = common_vendor.ref(""); - const tempAreaId = common_vendor.ref(""); - const showLawPopup = common_vendor.ref(false); - const lawKeyword = common_vendor.ref(""); - const selectedLawId = common_vendor.ref(null); - const selectedLawName = common_vendor.ref(""); - const lawList = common_vendor.ref([]); - const lawLoading = common_vendor.ref(false); - const lawPageNum = common_vendor.ref(1); - const lawPageSize = common_vendor.ref(10); - const hasMoreLaw = common_vendor.ref(true); - const openLawPopup = () => { - showLawPopup.value = true; - if (lawList.value.length === 0) { - fetchRegulationList(); - } - }; - const fetchRegulationList = async (isLoadMore = false) => { - if (lawLoading.value) - return; - lawLoading.value = true; - try { - const params = { - pageNum: lawPageNum.value, - pageSize: lawPageSize.value, - status: 1 - // 启用状态 - }; - if (lawKeyword.value && lawKeyword.value.trim()) { - params.keyword = lawKeyword.value.trim(); - } - const res = await request_api.getRegulationList(params); - if (res.code === 0) { - const records = res.data.records || res.data || []; - if (isLoadMore) { - lawList.value = [...lawList.value, ...records]; - } else { - lawList.value = records; - } - const total = res.data.total || 0; - hasMoreLaw.value = lawList.value.length < total; - } - } catch (error) { - common_vendor.index.__f__("error", "at pages/hiddendanger/Inspection.vue:397", "获取法规列表失败:", error); - } finally { - lawLoading.value = false; - } - }; - const searchRegulation = () => { - lawPageNum.value = 1; - lawList.value = []; - hasMoreLaw.value = true; - fetchRegulationList(); - }; - const loadMoreLaw = () => { - if (!hasMoreLaw.value || lawLoading.value) - return; - lawPageNum.value++; - fetchRegulationList(true); - }; - const selectLaw = (item) => { - selectedLawId.value = item.id; - selectedLawName.value = item.depict || item.keyword || ""; - }; - const confirmLaw = () => { - if (selectedLawId.value) { - formData.regulationId = selectedLawId.value; - formData.regulationName = selectedLawName.value; - } - showLawPopup.value = false; - }; - const fetchAreaList = async () => { - try { - const res = await request_three_one_api_area.getAreaList(); - if (res.code === 0 && res.data && res.data.records) { - areaList.value = res.data.records; - } - } catch (error) { - common_vendor.index.__f__("error", "at pages/hiddendanger/Inspection.vue:441", "获取区域列表失败:", error); - } - }; - fetchAreaList(); - const confirmAreaSelect = () => { - if (tempAreaId.value) { - selectedAreaId.value = tempAreaId.value; - const selected = areaList.value.find((item) => item.id === tempAreaId.value); - selectedAreaName.value = selected ? selected.name : ""; - } - showAreaPicker.value = false; - }; - const chooseLocation = () => { - common_vendor.index.__f__("log", "at pages/hiddendanger/Inspection.vue:457", "chooseLocation called"); - showAddPopup.value = false; - setTimeout(() => { - common_vendor.index.getLocation({ - type: "gcj02", - // 使用国测局坐标系(腾讯地图使用) - success: (locationRes) => { - common_vendor.index.__f__("log", "at pages/hiddendanger/Inspection.vue:466", "获取当前位置成功:", locationRes); - common_vendor.index.chooseLocation({ - latitude: locationRes.latitude, - longitude: locationRes.longitude, - success: (res) => { - common_vendor.index.__f__("log", "at pages/hiddendanger/Inspection.vue:472", "选择位置成功:", res); - selectedAddress.value = res.address + (res.name ? `(${res.name})` : ""); - lng.value = res.longitude; - lat.value = res.latitude; - showAddPopup.value = true; - }, - fail: (err) => { - common_vendor.index.__f__("error", "at pages/hiddendanger/Inspection.vue:481", "选择位置失败:", err); - showAddPopup.value = true; - if (err.errMsg && err.errMsg.indexOf("cancel") === -1) { - common_vendor.index.showToast({ - title: "选择位置失败", - icon: "none" - }); - } - } - }); - }, - fail: (err) => { - common_vendor.index.__f__("error", "at pages/hiddendanger/Inspection.vue:495", "获取当前位置失败:", err); - common_vendor.index.chooseLocation({ - success: (res) => { - common_vendor.index.__f__("log", "at pages/hiddendanger/Inspection.vue:499", "选择位置成功:", res); - selectedAddress.value = res.address + (res.name ? `(${res.name})` : ""); - lng.value = res.longitude; - lat.value = res.latitude; - showAddPopup.value = true; - }, - fail: (chooseErr) => { - common_vendor.index.__f__("error", "at pages/hiddendanger/Inspection.vue:506", "选择位置失败:", chooseErr); - showAddPopup.value = true; - if (chooseErr.errMsg && chooseErr.errMsg.indexOf("cancel") === -1) { - common_vendor.index.showToast({ - title: "选择位置失败", - icon: "none" - }); - } - } - }); - } - }); - }, 300); - }; - const handleAdd = async () => { - var _a, _b; - if (!formData.title) { - common_vendor.index.showToast({ - title: "请输入隐患标题", - icon: "none" - }); - return; - } - if (fileList1.value.length === 0) { - common_vendor.index.showToast({ - title: "请上传隐患图片/视频", - icon: "none" - }); - return; - } - const attachments = fileList1.value.filter((f) => f.status === "success").map((file) => utils_upload.buildAttachmentItem(file)); - const selectedTag = tagOptions.value[formData.tagIndex]; - const tagId = selectedTag ? selectedTag.id : null; - common_vendor.index.__f__("log", "at pages/hiddendanger/Inspection.vue:546", "innnn", sourceOptions); - const params = { - title: formData.title, - //标题 - level: ((_a = levelOptions.value[formData.level]) == null ? void 0 : _a.id) || 2, - // 2.一般隐患 3.重大隐患 - lng: lng.value || 0, - //经度 - lat: lat.value || 0, - //纬度 - address: selectedAddress.value || "", - //详细地址 - areaId: selectedAreaId.value || null, - //隐患区域ID - description: formData.description || "", - //隐患描述 - tagId, - //隐患标签ID - taskId: taskId.value, - //关联任务ID - checkPointId: checkPointId.value, - //关联检查点ID - source: ((_b = sourceOptions.value[formData.source]) == null ? void 0 : _b.title) || "", - //隐患来源(随手拍、企业自查、行业互查、专家诊查) - attachments, - //附件列表(图片/视频) - regulationId: formData.regulationId || null - // 法律依据ID - }; - common_vendor.index.__f__("log", "at pages/hiddendanger/Inspection.vue:565", "提交的参数:", params); - try { - const res = await request_api.addHiddenDanger(params); - if (res.code === 0) { - common_vendor.index.showToast({ - title: "新增成功", - icon: "success" - }); - showAddPopup.value = false; - formData.title = ""; - formData.level = 0; - formData.description = ""; - formData.tagIndex = 0; - selectedAddress.value = ""; - selectedAreaId.value = ""; - selectedAreaName.value = ""; - fileList1.value = []; - formData.regulationId = null; - formData.regulationName = ""; - selectedLawId.value = null; - selectedLawName.value = ""; - fetchHiddenDangerList(); - } else { - common_vendor.index.showToast({ - title: res.msg || "新增失败", - icon: "none" - }); - } - } catch (error) { - common_vendor.index.__f__("error", "at pages/hiddendanger/Inspection.vue:598", error); - common_vendor.index.showToast({ - title: "请求失败", - icon: "none" - }); - } - }; const hiddenDangerList = common_vendor.ref([]); const fetchHiddenDangerList = async () => { try { @@ -332,7 +64,7 @@ const _sfc_main = { }); } } catch (error) { - common_vendor.index.__f__("error", "at pages/hiddendanger/Inspection.vue:619", error); + common_vendor.index.__f__("error", "at pages/hiddendanger/Inspection.vue:140", error); common_vendor.index.showToast({ title: "请求失败", icon: "none" @@ -342,6 +74,13 @@ const _sfc_main = { common_vendor.onShow(() => { fetchHiddenDangerList(); }); + const openAddPopup = () => { + showAddPopup.value = true; + }; + const onHazardAddSuccess = () => { + showAddPopup.value = false; + fetchHiddenDangerList(); + }; const details = (item) => { common_vendor.index.navigateTo({ url: `/pages/hiddendanger/view?hazardId=${item.hazardId}&assignId=${item.assignId}` @@ -369,128 +108,6 @@ const _sfc_main = { url: `/pages/hiddendanger/assignment?hazardId=${item.hazardId}&assignId=${item.assignId}` }); }; - const fileList1 = common_vendor.ref([]); - const uploadInstance = common_vendor.getCurrentInstance(); - const { afterRead, deletePic } = utils_upload.createUploadListHandlers(fileList1, { - watermark: { - canvasId: "watermarkCanvas", - canvasWidthRef: canvasWidth, - canvasHeightRef: canvasHeight, - instance: uploadInstance - } - }); - const aiAnalyzing = common_vendor.ref(false); - const handleAiAnalyze = async () => { - const imageFiles = fileList1.value.filter((f) => { - return f.status === "success" && f.url.toLowerCase().match(/\.(jpg|jpeg|png|gif|bmp|webp)$/); - }); - if (imageFiles.length === 0) { - common_vendor.index.showToast({ title: "请先上传隐患图片", icon: "none" }); - return; - } - const fullImageUrl = imageFiles[0].url; - aiAnalyzing.value = true; - try { - common_vendor.index.__f__("log", "at pages/hiddendanger/Inspection.vue:690", "开始调用AI分析接口,图片地址:", fullImageUrl); - const analyzeRes = await request_api.analyzeHazardImage({ - // imageUrl: 'https://yx.zhihuixiangxi.com:58880/1.png' , - imageUrl: fullImageUrl - }); - if (analyzeRes.code === 0 && analyzeRes.data) { - const aiData = analyzeRes.data; - common_vendor.index.__f__("log", "at pages/hiddendanger/Inspection.vue:698", "AI分析结果:", aiData); - if (aiData.title) - formData.title = aiData.title; - if (aiData.description) - formData.description = aiData.description; - if (aiData.level) { - const levelMap = { "轻微": 0, "轻微隐患": 0, "一般": 0, "一般隐患": 0, "重大": 1, "重大隐患": 1 }; - const levelIndex = levelMap[aiData.level]; - if (levelIndex !== void 0) { - formData.level = levelIndex; - common_vendor.nextTick$1(() => { - if (levelChooseRef.value && levelChooseRef.value.$data) { - levelChooseRef.value.$data.currentIndex = levelIndex; - } - }); - } - } - common_vendor.index.showToast({ title: "AI分析完成,已自动填充", icon: "success", duration: 2e3 }); - } else { - common_vendor.index.showToast({ title: analyzeRes.msg || "AI分析失败", icon: "none" }); - } - } catch (error) { - common_vendor.index.__f__("error", "at pages/hiddendanger/Inspection.vue:721", "AI分析接口调用失败:", error); - common_vendor.index.showToast({ title: "AI分析失败,请重试", icon: "none" }); - } finally { - aiAnalyzing.value = false; - } - }; - const tagOptions = common_vendor.ref([]); - const fetchTagOptions = async () => { - try { - const res = await request_api.getHiddenDangerLabelList(); - if (res.code === 0) { - tagOptions.value = res.data.map((item) => ({ - id: item.id, - title: item.name - })); - } else { - common_vendor.index.showToast({ - title: res.msg || "获取标签列表失败", - icon: "none" - }); - } - } catch (error) { - common_vendor.index.__f__("error", "at pages/hiddendanger/Inspection.vue:744", error); - common_vendor.index.showToast({ - title: "请求失败", - icon: "none" - }); - } - }; - fetchTagOptions(); - const levelOptions = common_vendor.ref([ - // { - // id: 1, - // title: '轻微隐患' - // }, - { - id: 2, - title: "一般隐患" - }, - { - id: 3, - title: "重大隐患" - } - ]); - const sourceOptions = common_vendor.ref([ - { - id: 1, - title: "部门检查" - }, - { - id: 2, - title: "都导检查" - }, - { - id: 3, - title: "企业自查" - }, - { - id: 4, - title: "行业互查" - } - ]); - common_vendor.watch(() => formData.source, (newVal) => { - const selected = sourceOptions.value[newVal]; - common_vendor.index.__f__("log", "at pages/hiddendanger/Inspection.vue:791", "隐患来源选择结果:", { - 索引: newVal, - 选中项: selected, - id: selected == null ? void 0 : selected.id, - title: selected == null ? void 0 : selected.title - }); - }); const statusTabs = common_vendor.ref([ { label: "全部", value: null }, { label: "待交办", value: 1 }, @@ -555,135 +172,16 @@ const _sfc_main = { t: item.hazardId }); }), - d: common_vendor.o(($event) => showAddPopup.value = true), - e: common_vendor.o(($event) => showAddPopup.value = false), - f: common_vendor.o(($event) => formData.source = $event), + d: common_vendor.o(openAddPopup), + e: common_vendor.o(onHazardAddSuccess), + f: common_vendor.o(($event) => showAddPopup.value = $event), g: common_vendor.p({ - options: sourceOptions.value, - wrap: false, - ["item-width"]: "152rpx", - ["item-height"]: "64rpx", - modelValue: formData.source + title: "新增隐患排查", + mode: "direct", + ["extra-params"]: hazardExtraParams.value, + show: showAddPopup.value }), - h: common_vendor.o(common_vendor.unref(afterRead)), - i: common_vendor.o(common_vendor.unref(deletePic)), - j: common_vendor.p({ - fileList: fileList1.value, - name: "1", - multiple: true, - imageMode: "aspectFill", - maxCount: 10 - }), - k: canvasWidth.value, - l: canvasHeight.value, - m: canvasWidth.value + "px", - n: canvasHeight.value + "px", - o: !aiAnalyzing.value - }, !aiAnalyzing.value ? {} : {}, { - p: common_vendor.t(aiAnalyzing.value ? "AI识别中..." : "AI 识别隐患"), - q: aiAnalyzing.value, - r: aiAnalyzing.value, - s: common_vendor.o(handleAiAnalyze), - t: common_vendor.o(($event) => formData.title = $event), - v: common_vendor.p({ - placeholder: "请输入内容", - border: "surround", - modelValue: formData.title - }), - w: common_vendor.sr(levelChooseRef, "b44c631d-4,b44c631d-0", { - "k": "levelChooseRef" - }), - x: common_vendor.o(($event) => formData.level = $event), - y: common_vendor.p({ - options: levelOptions.value, - wrap: false, - ["item-width"]: "183rpx", - ["item-height"]: "72rpx", - modelValue: formData.level - }), - z: common_vendor.o(($event) => selectedAddress.value = $event), - A: common_vendor.p({ - placeholder: "请输入地址", - border: "surround", - modelValue: selectedAddress.value - }), - B: common_vendor.o(chooseLocation), - C: common_vendor.t(formData.regulationName || "请选择法律依据"), - D: !formData.regulationName ? 1 : "", - E: common_vendor.o(openLawPopup), - F: common_vendor.t(selectedAreaName.value || "请选择隐患区域"), - G: !selectedAreaName.value ? 1 : "", - H: common_vendor.o(($event) => showAreaPicker.value = true), - I: common_vendor.o(($event) => formData.description = $event), - J: common_vendor.p({ - placeholder: "请输入内容", - modelValue: formData.description - }), - K: common_vendor.o(($event) => formData.tagIndex = $event), - L: common_vendor.p({ - options: tagOptions.value, - modelValue: formData.tagIndex - }), - M: common_vendor.o(($event) => showAddPopup.value = false), - N: common_vendor.o(handleAdd), - O: common_vendor.o(($event) => showAddPopup.value = false), - P: common_vendor.p({ - show: showAddPopup.value, - mode: "center", - round: "20", - ["safe-area-inset-bottom"]: false - }), - Q: common_vendor.o(($event) => showLawPopup.value = false), - R: common_vendor.o(searchRegulation), - S: lawKeyword.value, - T: common_vendor.o(($event) => lawKeyword.value = $event.detail.value), - U: common_vendor.o(searchRegulation), - V: lawLoading.value && lawList.value.length === 0 - }, lawLoading.value && lawList.value.length === 0 ? {} : !lawLoading.value && lawList.value.length === 0 ? {} : common_vendor.e({ - X: common_vendor.f(lawList.value, (item, k0, i0) => { - return { - a: common_vendor.t(item.depict), - b: common_vendor.t(item.legalBasis), - c: selectedLawId.value === item.id ? 1 : "", - d: item.id, - e: common_vendor.o(($event) => selectLaw(item), item.id) - }; - }), - Y: lawLoading.value - }, lawLoading.value ? {} : {}), { - W: !lawLoading.value && lawList.value.length === 0, - Z: common_vendor.o(loadMoreLaw), - aa: common_vendor.o(($event) => showLawPopup.value = false), - ab: common_vendor.o(confirmLaw), - ac: common_vendor.o(($event) => showLawPopup.value = false), - ad: common_vendor.p({ - show: showLawPopup.value, - mode: "center", - round: "20", - ["safe-area-inset-bottom"]: false - }), - ae: common_vendor.o(($event) => showAreaPicker.value = false), - af: common_vendor.o(confirmAreaSelect), - ag: common_vendor.f(areaList.value, (item, k0, i0) => { - return common_vendor.e({ - a: item.color, - b: common_vendor.t(item.name), - c: tempAreaId.value === item.id - }, tempAreaId.value === item.id ? {} : {}, { - d: item.id, - e: tempAreaId.value === item.id ? 1 : "", - f: common_vendor.o(($event) => tempAreaId.value = item.id, item.id) - }); - }), - ah: areaList.value.length === 0 - }, areaList.value.length === 0 ? {} : {}, { - ai: common_vendor.o(($event) => showAreaPicker.value = false), - aj: common_vendor.p({ - show: showAreaPicker.value, - mode: "bottom", - round: "20" - }), - ak: common_vendor.gei(_ctx, "") + h: common_vendor.gei(_ctx, "") }); }; } diff --git a/unpackage/dist/dev/mp-weixin/pages/hiddendanger/Inspection.json b/unpackage/dist/dev/mp-weixin/pages/hiddendanger/Inspection.json index 2bf7cf9..d05d736 100644 --- a/unpackage/dist/dev/mp-weixin/pages/hiddendanger/Inspection.json +++ b/unpackage/dist/dev/mp-weixin/pages/hiddendanger/Inspection.json @@ -1,10 +1,6 @@ { "navigationBarTitleText": "隐患排查", "usingComponents": { - "up-choose": "../../uni_modules/uview-plus/components/u-choose/u-choose", - "up-upload": "../../uni_modules/uview-plus/components/u-upload/u-upload", - "up-input": "../../uni_modules/uview-plus/components/u-input/u-input", - "up-textarea": "../../uni_modules/uview-plus/components/u-textarea/u-textarea", - "u-popup": "../../uni_modules/uview-plus/components/u-popup/u-popup" + "hazard-form-popup": "../../components/hazard/HazardFormPopup" } } \ No newline at end of file diff --git a/unpackage/dist/dev/mp-weixin/pages/hiddendanger/Inspection.wxml b/unpackage/dist/dev/mp-weixin/pages/hiddendanger/Inspection.wxml index b40f909..08ed242 100644 --- a/unpackage/dist/dev/mp-weixin/pages/hiddendanger/Inspection.wxml +++ b/unpackage/dist/dev/mp-weixin/pages/hiddendanger/Inspection.wxml @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/unpackage/dist/dev/mp-weixin/pages/hiddendanger/Inspection.wxss b/unpackage/dist/dev/mp-weixin/pages/hiddendanger/Inspection.wxss index 9333737..44a12a7 100644 --- a/unpackage/dist/dev/mp-weixin/pages/hiddendanger/Inspection.wxss +++ b/unpackage/dist/dev/mp-weixin/pages/hiddendanger/Inspection.wxss @@ -79,232 +79,6 @@ border: 2rpx solid #FFA39E; color: #F5222D; } -.ai-btn-wrapper.data-v-b44c631d { - display: flex; - justify-content: flex-end; -} -.ai-analyze-btn.data-v-b44c631d { - display: flex; - align-items: center; - justify-content: center; - height: 72rpx; - padding: 0 32rpx; - font-size: 28rpx; - color: #fff; - background: linear-gradient(135deg, #4facfe 0%, #2668EA 100%); - border-radius: 36rpx; - border: none; -} -.ai-analyze-btn.data-v-b44c631d::after { - border: none; -} -.ai-analyze-btn .ai-btn-icon.data-v-b44c631d { - margin-right: 8rpx; - font-size: 30rpx; -} -.ai-analyze-btn[disabled].data-v-b44c631d { - opacity: 0.7; -} -.popup-content.data-v-b44c631d { - width: 600rpx; - background: #fff; - border-radius: 20rpx; - overflow: hidden; -} -.popup-header.data-v-b44c631d { - display: flex; - justify-content: space-between; - align-items: center; - padding: 30rpx; - border-bottom: 1rpx solid #eee; -} -.popup-header .popup-title.data-v-b44c631d { - font-size: 32rpx; - color: #333; -} -.popup-header .popup-close.data-v-b44c631d { - font-size: 40rpx; - color: #999; - line-height: 1; -} -.popup-body.data-v-b44c631d { - padding: 30rpx; - max-height: 900rpx; - overflow-y: auto; -} -.source-choose-scroll.data-v-b44c631d { - width: 100%; - overflow: hidden; -} -.source-choose-scroll.data-v-b44c631d .up-choose { - width: 100%; - white-space: nowrap; -} -.source-choose-scroll.data-v-b44c631d .u-tag-wrapper { - margin-right: 12rpx; -} -.source-choose-scroll.data-v-b44c631d .u-tag { - display: flex !important; - align-items: center !important; - justify-content: center !important; - box-sizing: border-box; - padding: 0 8rpx !important; - line-height: normal !important; -} -.source-choose-scroll.data-v-b44c631d .u-tag__content { - display: flex; - align-items: center; - justify-content: center; - flex: 1; -} -.source-choose-scroll.data-v-b44c631d .u-tag__text { - font-size: 24rpx !important; - line-height: 1.3 !important; - text-align: center; -} -.popup-footer.data-v-b44c631d { - display: flex; - border-top: 1rpx solid #eee; -} -.popup-footer button.data-v-b44c631d { - flex: 1; - height: 90rpx; - line-height: 90rpx; - border-radius: 0; - font-size: 30rpx; -} -.popup-footer button.data-v-b44c631d::after { - border: none; -} -.popup-footer .btn-cancel.data-v-b44c631d { - background: #fff; - color: #666; -} -.popup-footer .btn-confirm.data-v-b44c631d { - color: #fff; -} -.address-box.data-v-b44c631d { - display: flex; - align-items: center; - gap: 20rpx; -} -.address-box .address-input-wrapper.data-v-b44c631d { - flex: 1; -} -.address-box .btn-address.data-v-b44c631d { - flex-shrink: 0; - height: 70rpx; - line-height: 70rpx; - padding: 0 30rpx; - font-size: 26rpx; - border-radius: 8rpx; - color: #fff; -} -.address-box .btn-address.data-v-b44c631d::after { - border: none; -} -.select-trigger.data-v-b44c631d { - display: flex; - align-items: center; - justify-content: space-between; - background: #fff; - border: 1rpx solid #dcdfe6; - border-radius: 8rpx; - padding: 20rpx 24rpx; -} -.select-trigger .select-value.data-v-b44c631d { - flex: 1; - font-size: 28rpx; - color: #333; -} -.select-trigger .select-value.placeholder.data-v-b44c631d { - color: #c0c4cc; -} -.picker-popup.data-v-b44c631d { - background: #fff; -} -.picker-popup .picker-header.data-v-b44c631d { - display: flex; - justify-content: space-between; - align-items: center; - padding: 30rpx; - border-bottom: 1rpx solid #eee; -} -.picker-popup .picker-header .picker-cancel.data-v-b44c631d { - font-size: 28rpx; - color: #999; -} -.picker-popup .picker-header .picker-title.data-v-b44c631d { - font-size: 32rpx; - font-weight: bold; - color: #333; -} -.picker-popup .picker-header .picker-confirm.data-v-b44c631d { - font-size: 28rpx; - color: #2667E9; -} -.picker-popup .picker-body.data-v-b44c631d { - max-height: 600rpx; - padding: 0 30rpx; -} -.picker-popup .picker-item.data-v-b44c631d { - display: flex; - justify-content: space-between; - align-items: center; - padding: 30rpx 0; - border-bottom: 1rpx solid #f5f5f5; - font-size: 30rpx; - color: #333; -} -.picker-popup .picker-item.data-v-b44c631d:last-child { - border-bottom: none; -} -.picker-popup .picker-item.picker-item-active.data-v-b44c631d { - color: #2667E9; -} -.area-color-dot.data-v-b44c631d { - width: 24rpx; - height: 24rpx; - border-radius: 50%; - margin-right: 16rpx; -} -.address-popup.data-v-b44c631d { - width: 600rpx; - background: #fff; - border-radius: 20rpx; - overflow: hidden; -} -.address-popup-body.data-v-b44c631d { - padding: 30rpx; - max-height: 500rpx; -} -.address-popup-body .search-box.data-v-b44c631d { - margin-bottom: 20rpx; -} -.address-popup-body .search-box .search-input.data-v-b44c631d { - width: 100%; - background: #f5f5f5; - border-radius: 8rpx; - padding: 16rpx 20rpx; - font-size: 28rpx; -} -.address-popup-body .address-list.data-v-b44c631d { - max-height: 350rpx; - overflow-y: auto; -} -.address-popup-body .address-item.data-v-b44c631d { - padding: 24rpx 20rpx; - border-bottom: 1rpx solid #eee; - font-size: 26rpx; - color: #333; -} -.address-popup-body .address-item.data-v-b44c631d:last-child { - border-bottom: none; -} -.address-popup-body .address-item.address-item-active.data-v-b44c631d { - background: #EBF2FC; - color: #2667E9; -} .status-tabs.data-v-b44c631d { position: fixed; top: 0; @@ -346,114 +120,6 @@ background: #2667E9; border-radius: 3rpx; } -.law-popup.data-v-b44c631d { - width: 600rpx; - background: #fff; - border-radius: 20rpx; - overflow: hidden; - max-height: 80vh; -} -.law-popup .popup-header.data-v-b44c631d { - display: flex; - justify-content: space-between; - align-items: center; - padding: 30rpx; - border-bottom: 1rpx solid #eee; -} -.law-popup .popup-header .popup-title.data-v-b44c631d { - font-size: 32rpx; - font-weight: bold; - color: #333; -} -.law-popup .popup-header .popup-close.data-v-b44c631d { - font-size: 40rpx; - color: #999; - cursor: pointer; -} -.search-box.data-v-b44c631d { - display: flex; - align-items: center; - background: #F5F5F5; - border-radius: 40rpx; - padding: 16rpx 24rpx; - margin: 20rpx 30rpx; -} -.search-box .search-icon.data-v-b44c631d { - font-size: 28rpx; - color: #999; - margin-right: 12rpx; -} -.search-box .search-input.data-v-b44c631d { - flex: 1; - font-size: 28rpx; - background: transparent; - border: none; -} -.search-box .search-btn.data-v-b44c631d { - color: #2667E9; - font-size: 26rpx; - margin-left: 16rpx; - cursor: pointer; -} -.loading-tip.data-v-b44c631d, .empty-tip.data-v-b44c631d { - text-align: center; - padding: 40rpx; - color: #999; - font-size: 26rpx; -} -.law-list.data-v-b44c631d { - max-height: 400rpx; - padding: 0 30rpx; -} -.law-item.data-v-b44c631d { - padding: 24rpx; - border: 2rpx solid #E5E5E5; - border-radius: 12rpx; - margin-bottom: 16rpx; - font-size: 28rpx; - color: #333; -} -.law-item .law-title.data-v-b44c631d { - line-height: 1.5; - margin-bottom: 8rpx; - font-weight: bold; -} -.law-item .law-basis.data-v-b44c631d { - font-size: 24rpx; - line-height: 1.4; - display: -webkit-box; - -webkit-line-clamp: 2; - -webkit-box-orient: vertical; - overflow: hidden; -} -.law-item-active.data-v-b44c631d { - border-color: #2667E9; - background: #F0F6FF; -} -.popup-footer.data-v-b44c631d { - display: flex; - padding: 30rpx; - border-top: 1rpx solid #eee; - gap: 20rpx; -} -.popup-footer button.data-v-b44c631d { - flex: 1; - height: 80rpx; - line-height: 80rpx; - font-size: 28rpx; - border-radius: 40rpx; -} -.popup-footer button.data-v-b44c631d::after { - border: none; -} -.popup-footer .btn-cancel.data-v-b44c631d { - background: #f5f5f5; - color: #666; -} -.popup-footer .btn-confirm.data-v-b44c631d { - background: #2667E9; - color: #fff; -} /** * 这里是uni-app内置的常用样式变量 * @@ -480,7 +146,6 @@ /* 垂直间距 */ /* 透明度 */ /* 文章场景相关 */ -/* 全局样式覆盖 up-tag 文字居中 */ .card-actions { margin-top: 20rpx; } @@ -492,7 +157,4 @@ white-space: nowrap !important; flex-shrink: 0 !important; width: auto !important; -} -.u-tag { - justify-content: center !important; } \ No newline at end of file diff --git a/unpackage/dist/dev/mp-weixin/pages/hiddendanger/acceptance.js b/unpackage/dist/dev/mp-weixin/pages/hiddendanger/acceptance.js index d6f63d2..1f2b0c9 100644 --- a/unpackage/dist/dev/mp-weixin/pages/hiddendanger/acceptance.js +++ b/unpackage/dist/dev/mp-weixin/pages/hiddendanger/acceptance.js @@ -2,6 +2,8 @@ const common_vendor = require("../../common/vendor.js"); const request_api = require("../../request/api.js"); const request_request = require("../../request/request.js"); +const utils_draftCache = require("../../utils/draftCache.js"); +const utils_useDraftCache = require("../../utils/useDraftCache.js"); const utils_upload = require("../../utils/upload.js"); if (!Array) { const _easycom_up_textarea2 = common_vendor.resolveComponent("up-textarea"); @@ -58,12 +60,122 @@ const _sfc_main = { const signatureRef = common_vendor.ref(null); const isSignatureEmpty = common_vendor.ref(true); const isSubmitting = common_vendor.ref(false); - const hasDraft = common_vendor.ref(false); - const showRestoreBanner = common_vendor.ref(false); - const isRestoring = common_vendor.ref(false); - const isInitialized = common_vendor.ref(false); const signaturePaths = common_vendor.ref([]); - const getDraftKey = () => `draft_accept_${rectifyId.value || ""}`; + const signatureLocalPath = common_vendor.ref(""); + const isDraftExporting = common_vendor.ref(false); + let signatureExportTimer = null; + const applySignatureFromServer = (signPath) => { + const url = signPath ? utils_upload.toSubmitFileUrl(signPath) : ""; + if (!url) { + showCanvas.value = true; + signatureServerPath.value = ""; + signatureUrl.value = ""; + signatureLocalPath.value = ""; + isSignatureEmpty.value = true; + return; + } + signatureServerPath.value = url; + signatureUrl.value = url; + signatureLocalPath.value = ""; + showCanvas.value = false; + isSignatureEmpty.value = false; + }; + const applySignatureFromLocal = (localPath) => { + if (!localPath) + return; + signatureLocalPath.value = localPath; + signatureUrl.value = localPath; + signatureServerPath.value = ""; + showCanvas.value = false; + isSignatureEmpty.value = false; + }; + const acceptDraftHasContent = (data) => { + const form = data.formData || {}; + return !!(form.verifyRemark || data.fileList1 && data.fileList1.length > 0 || data.signatureServerPath || data.signatureLocalPath || data.signaturePaths && data.signaturePaths.length > 0); + }; + const { + showRestoreBanner, + clear: clearDraft, + restore: restoreDraft, + save: saveDraft, + bindAutoSave + } = utils_useDraftCache.useDraftCache({ + getKey: () => utils_draftCache.buildDraftKey(utils_draftCache.DRAFT_NS.ACCEPT, rectifyId.value), + getFallbackKeys: () => { + const primary = utils_draftCache.buildDraftKey(utils_draftCache.DRAFT_NS.ACCEPT, rectifyId.value); + const compact = utils_draftCache.buildDraftKeyCompact(utils_draftCache.DRAFT_NS.ACCEPT, rectifyId.value); + return compact !== primary ? [compact] : []; + }, + getPayload: () => ({ + formData: { + result: formData.result, + verifyRemark: formData.verifyRemark + }, + fileList1: fileList1.value, + signatureServerPath: signatureServerPath.value, + signatureUrl: signatureUrl.value, + signatureLocalPath: signatureLocalPath.value, + showCanvas: showCanvas.value, + signaturePaths: signaturePaths.value + }), + hasContent: acceptDraftHasContent, + applyPayload: (data) => { + const form = data.formData || {}; + formData.result = form.result !== void 0 ? form.result : 1; + formData.verifyRemark = form.verifyRemark || ""; + fileList1.value = data.fileList1 || []; + signaturePaths.value = data.signaturePaths || []; + if (data.signatureServerPath || data.signatureUrl) { + applySignatureFromServer(data.signatureServerPath || data.signatureUrl); + } else if (data.signatureLocalPath) { + applySignatureFromLocal(data.signatureLocalPath); + } else { + showCanvas.value = data.showCanvas !== void 0 ? data.showCanvas : true; + signatureServerPath.value = ""; + signatureUrl.value = ""; + signatureLocalPath.value = ""; + isSignatureEmpty.value = true; + } + }, + clearForm: () => { + formData.result = 1; + formData.verifyRemark = ""; + fileList1.value = []; + signatureServerPath.value = ""; + signatureUrl.value = ""; + signatureLocalPath.value = ""; + showCanvas.value = true; + signaturePaths.value = []; + if (signatureRef.value) { + signatureRef.value.clear(); + } + }, + canSave: () => !!rectifyId.value, + requireInitialized: true, + onAfterRestore: (data) => { + var _a; + if (data.signatureServerPath || data.signatureUrl || data.signatureLocalPath) { + return; + } + if (((_a = data.signaturePaths) == null ? void 0 : _a.length) > 0) { + setTimeout(() => { + if (signatureRef.value) { + isSignatureEmpty.value = false; + } + }, 450); + } + } + }); + bindAutoSave(() => [ + formData.result, + formData.verifyRemark, + fileList1.value, + signatureServerPath.value, + signatureUrl.value, + signatureLocalPath.value, + showCanvas.value, + signaturePaths.value + ]); const getFullPath = (filePath) => { if (!filePath) return ""; @@ -123,14 +235,14 @@ const _sfc_main = { const assign = resolveAssignWithRectify(res.data.assigns); if (assign == null ? void 0 : assign.rectify) { applyRectifyData(assign.rectify); - common_vendor.index.__f__("log", "at pages/hiddendanger/acceptance.vue:240", "整改记录:", rectifyData); - common_vendor.index.__f__("log", "at pages/hiddendanger/acceptance.vue:241", "整改附件:", rectifyAttachments.value); + common_vendor.index.__f__("log", "at pages/hiddendanger/acceptance.vue:370", "整改记录:", rectifyData); + common_vendor.index.__f__("log", "at pages/hiddendanger/acceptance.vue:371", "整改附件:", rectifyAttachments.value); } } else { common_vendor.index.showToast({ title: res.msg || "获取详情失败", icon: "none" }); } } catch (error) { - common_vendor.index.__f__("error", "at pages/hiddendanger/acceptance.vue:247", "获取隐患详情失败:", error); + common_vendor.index.__f__("error", "at pages/hiddendanger/acceptance.vue:377", "获取隐患详情失败:", error); common_vendor.index.showToast({ title: "请求失败", icon: "none" }); } }; @@ -157,7 +269,7 @@ const _sfc_main = { common_vendor.index.showLoading({ title: "正在提交...", mask: true }); signatureRef.value.confirm(); } else { - if (!signatureServerPath.value) { + if (!signatureServerPath.value && !signatureLocalPath.value) { common_vendor.index.showToast({ title: "请进行电子签名", icon: "none" @@ -166,7 +278,18 @@ const _sfc_main = { } isSubmitting.value = true; common_vendor.index.showLoading({ title: "正在提交...", mask: true }); - await executeSubmit(); + try { + if (!signatureServerPath.value && signatureLocalPath.value) { + const { url } = await utils_upload.uploadToCloud(signatureLocalPath.value); + applySignatureFromServer(url); + } + await executeSubmit(); + } catch (err) { + isSubmitting.value = false; + common_vendor.index.hideLoading(); + common_vendor.index.__f__("error", "at pages/hiddendanger/acceptance.vue:431", "签名上传失败:", err); + common_vendor.index.showToast({ title: "签名上传失败,请重试", icon: "none" }); + } } }; const executeSubmit = async () => { @@ -179,7 +302,7 @@ const _sfc_main = { signPath: signatureServerPath.value || "" // 电子签名路径 }; - common_vendor.index.__f__("log", "at pages/hiddendanger/acceptance.vue:311", "提交验收参数:", params); + common_vendor.index.__f__("log", "at pages/hiddendanger/acceptance.vue:452", "提交验收参数:", params); try { const res = await request_api.acceptanceRectification(params); common_vendor.index.hideLoading(); @@ -200,7 +323,7 @@ const _sfc_main = { } } catch (error) { common_vendor.index.hideLoading(); - common_vendor.index.__f__("error", "at pages/hiddendanger/acceptance.vue:333", "验收失败:", error); + common_vendor.index.__f__("error", "at pages/hiddendanger/acceptance.vue:474", "验收失败:", error); common_vendor.index.showToast({ title: "请求失败", icon: "none" @@ -218,125 +341,45 @@ const _sfc_main = { instance: acceptUploadInstance } }); - const saveDraft = () => { - if (isRestoring.value || !isInitialized.value) - return; - const key = getDraftKey(); - const hasContent = formData.verifyRemark || fileList1.value.length > 0 || signatureServerPath.value || signaturePaths.value.length > 0; - if (!hasContent) { - common_vendor.index.removeStorageSync(key); - hasDraft.value = false; - return; - } - const data = { - formData: { - result: formData.result, - verifyRemark: formData.verifyRemark - }, - fileList1: fileList1.value, - signatureServerPath: signatureServerPath.value, - signatureUrl: signatureUrl.value, - showCanvas: showCanvas.value, - signaturePaths: signaturePaths.value - }; - common_vendor.index.setStorageSync(key, JSON.stringify(data)); - hasDraft.value = true; + const onSignatureStart = () => { + isSignatureEmpty.value = false; }; - const clearDraft = (showToast = true) => { - const key = getDraftKey(); - common_vendor.index.removeStorageSync(key); - hasDraft.value = false; - showRestoreBanner.value = false; - isRestoring.value = true; - formData.result = 1; - formData.verifyRemark = ""; - fileList1.value = []; - signatureServerPath.value = ""; - signatureUrl.value = ""; - showCanvas.value = true; - signaturePaths.value = []; - if (signatureRef.value) { - signatureRef.value.clear(); - } - common_vendor.nextTick$1(() => { - isRestoring.value = false; - }); - if (showToast) { - common_vendor.index.showToast({ title: "草稿已清空", icon: "none" }); - } + const onSignatureSigning = () => { + isSignatureEmpty.value = false; }; - const restoreDraft = () => { - const key = getDraftKey(); - const cached = common_vendor.index.getStorageSync(key); - if (cached) { - try { - const data = JSON.parse(cached); - const hasContent = data.formData.verifyRemark || data.fileList1 && data.fileList1.length > 0 || data.signatureServerPath || data.signaturePaths && data.signaturePaths.length > 0; - if (!hasContent) { - isInitialized.value = true; - return; - } - isRestoring.value = true; - formData.result = data.formData.result !== void 0 ? data.formData.result : 1; - formData.verifyRemark = data.formData.verifyRemark || ""; - fileList1.value = data.fileList1 || []; - signatureServerPath.value = data.signatureServerPath || ""; - signatureUrl.value = data.signatureUrl || ""; - showCanvas.value = data.showCanvas !== void 0 ? data.showCanvas : true; - signaturePaths.value = data.signaturePaths || []; - hasDraft.value = true; - showRestoreBanner.value = true; - if (signaturePaths.value.length > 0) { - setTimeout(() => { - if (signatureRef.value) { - isSignatureEmpty.value = false; - } - }, 450); - } - common_vendor.nextTick$1(() => { - isRestoring.value = false; - isInitialized.value = true; - }); - common_vendor.index.showToast({ - title: "已自动恢复您上次未提交的内容", - icon: "none", - duration: 2500 - }); - } catch (e) { - common_vendor.index.__f__("error", "at pages/hiddendanger/acceptance.vue:466", "解析草稿失败:", e); - isRestoring.value = false; - isInitialized.value = true; - } - } else { - isInitialized.value = true; - } - }; - common_vendor.watch( - () => [ - formData.result, - formData.verifyRemark, - fileList1.value, - signatureServerPath.value, - signaturePaths.value - ], - () => { - if (rectifyId.value) { - saveDraft(); - } - }, - { deep: true } - ); - const clearSignature = () => { + const onSignatureClear = () => { isSignatureEmpty.value = true; + signatureLocalPath.value = ""; + }; + const scheduleSignatureDraftExport = () => { + clearTimeout(signatureExportTimer); + signatureExportTimer = setTimeout(() => { + if (!showCanvas.value || isSignatureEmpty.value || !signatureRef.value || isSubmitting.value || isDraftExporting.value) { + return; + } + isDraftExporting.value = true; + signatureRef.value.confirm(); + }, 600); + }; + const onSignatureEnd = () => { + isSignatureEmpty.value = false; + scheduleSignatureDraftExport(); + }; + const clearSignature = () => { + clearTimeout(signatureExportTimer); + isSignatureEmpty.value = true; + signatureLocalPath.value = ""; if (signatureRef.value) { signatureRef.value.clear(); } }; const reSign = () => { + clearTimeout(signatureExportTimer); isSignatureEmpty.value = true; showCanvas.value = true; signatureUrl.value = ""; signatureServerPath.value = ""; + signatureLocalPath.value = ""; common_vendor.nextTick$1(() => { if (signatureRef.value) { signatureRef.value.clear(); @@ -344,28 +387,39 @@ const _sfc_main = { }); }; const onSignatureConfirm = async (tempFilePath) => { + if (isDraftExporting.value) { + isDraftExporting.value = false; + applySignatureFromLocal(tempFilePath); + saveDraft(); + return; + } try { const { url } = await utils_upload.uploadToCloud(tempFilePath); - signatureServerPath.value = url; - signatureUrl.value = url; - showCanvas.value = false; - isSignatureEmpty.value = false; + applySignatureFromServer(url); + saveDraft(); if (isSubmitting.value) { await executeSubmit(); } } catch (err) { isSubmitting.value = false; common_vendor.index.hideLoading(); - common_vendor.index.__f__("error", "at pages/hiddendanger/acceptance.vue:536", "签名上传失败:", err); + common_vendor.index.__f__("error", "at pages/hiddendanger/acceptance.vue:583", "签名上传失败:", err); common_vendor.index.showToast({ title: "签名上传失败,请重试", icon: "none" }); } }; + common_vendor.onHide(() => { + if (showCanvas.value && !isSignatureEmpty.value && signatureRef.value && !isDraftExporting.value) { + isDraftExporting.value = true; + signatureRef.value.confirm(); + } + saveDraft(); + }); common_vendor.onLoad((options) => { try { const sysInfo = common_vendor.index.getSystemInfoSync(); signatureWidth.value = sysInfo.windowWidth - 40; } catch (e) { - common_vendor.index.__f__("error", "at pages/hiddendanger/acceptance.vue:547", "获取系统信息失败:", e); + common_vendor.index.__f__("error", "at pages/hiddendanger/acceptance.vue:602", "获取系统信息失败:", e); } if (options.rectifyId) { rectifyId.value = options.rectifyId; @@ -376,7 +430,7 @@ const _sfc_main = { if (options.assignId) { assignId.value = options.assignId; } - common_vendor.index.__f__("log", "at pages/hiddendanger/acceptance.vue:558", "验收页面参数:", { rectifyId: rectifyId.value, hazardId: hazardId.value, assignId: assignId.value }); + common_vendor.index.__f__("log", "at pages/hiddendanger/acceptance.vue:613", "验收页面参数:", { rectifyId: rectifyId.value, hazardId: hazardId.value, assignId: assignId.value }); fetchDetail(); restoreDraft(); }); @@ -429,19 +483,22 @@ const _sfc_main = { A: common_vendor.o(reSign) }, { B: !showCanvas.value - }, !showCanvas.value ? { + }, !showCanvas.value ? common_vendor.e({ C: signatureUrl.value - } : {}, { - D: showCanvas.value + }, signatureUrl.value ? { + D: signatureUrl.value + } : {}) : {}, { + E: showCanvas.value }, showCanvas.value ? { - E: common_vendor.sr(signatureRef, "39f9b795-2", { + F: common_vendor.sr(signatureRef, "39f9b795-2", { "k": "signatureRef" }), - F: common_vendor.o((res) => onSignatureConfirm(res.tempFilePath)), - G: common_vendor.o(($event) => isSignatureEmpty.value = false), - H: common_vendor.o(($event) => isSignatureEmpty.value = false), - I: common_vendor.o(($event) => isSignatureEmpty.value = true), - J: common_vendor.p({ + G: common_vendor.o((res) => onSignatureConfirm(res.tempFilePath)), + H: common_vendor.o(onSignatureStart), + I: common_vendor.o(onSignatureSigning), + J: common_vendor.o(onSignatureEnd), + K: common_vendor.o(onSignatureClear), + L: common_vendor.p({ width: signatureWidth.value, height: 160, backgroundColor: "#f8f8f8", @@ -450,9 +507,9 @@ const _sfc_main = { enableHistory: false }) } : {}, { - K: common_vendor.o(handleCancel), - L: common_vendor.o(handleSubmit), - M: common_vendor.gei(_ctx, "") + M: common_vendor.o(handleCancel), + N: common_vendor.o(handleSubmit), + O: common_vendor.gei(_ctx, "") }); }; } diff --git a/unpackage/dist/dev/mp-weixin/pages/hiddendanger/acceptance.wxml b/unpackage/dist/dev/mp-weixin/pages/hiddendanger/acceptance.wxml index 4023942..8dc8929 100644 --- a/unpackage/dist/dev/mp-weixin/pages/hiddendanger/acceptance.wxml +++ b/unpackage/dist/dev/mp-weixin/pages/hiddendanger/acceptance.wxml @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/unpackage/dist/dev/mp-weixin/pages/hiddendanger/assignment.js b/unpackage/dist/dev/mp-weixin/pages/hiddendanger/assignment.js index eb6dbab..dfaf65e 100644 --- a/unpackage/dist/dev/mp-weixin/pages/hiddendanger/assignment.js +++ b/unpackage/dist/dev/mp-weixin/pages/hiddendanger/assignment.js @@ -1,6 +1,8 @@ "use strict"; const common_vendor = require("../../common/vendor.js"); const request_api = require("../../request/api.js"); +const utils_draftCache = require("../../utils/draftCache.js"); +const utils_useDraftCache = require("../../utils/useDraftCache.js"); if (!Array) { const _easycom_u_popup2 = common_vendor.resolveComponent("u-popup"); const _easycom_up_datetime_picker2 = common_vendor.resolveComponent("up-datetime-picker"); @@ -75,19 +77,42 @@ const _sfc_main = { const showDatePicker = common_vendor.ref(false); const dateValue = common_vendor.ref(Date.now()); const selectedDate = common_vendor.ref(""); + const { + showRestoreBanner, + clear: clearDraft, + restore: restoreDraft, + bindAutoSave + } = utils_useDraftCache.useDraftCache({ + getKey: () => utils_draftCache.buildDraftKey(utils_draftCache.DRAFT_NS.ASSIGN, hazardId.value), + getPayload: () => ({ + selectedDate: selectedDate.value, + dateValue: dateValue.value + }), + hasContent: (payload) => !!payload.selectedDate, + applyPayload: (payload) => { + selectedDate.value = payload.selectedDate || ""; + dateValue.value = payload.dateValue || Date.now(); + }, + clearForm: () => { + selectedDate.value = ""; + dateValue.value = Date.now(); + }, + canSave: () => !!hazardId.value + }); + bindAutoSave(() => [selectedDate.value]); const fetchDeptUsers = async () => { try { const res = await request_api.getDepartmentPersonUsers(); if (res.code === 0 && res.data) { deptList.value = res.data; - common_vendor.index.__f__("log", "at pages/hiddendanger/assignment.vue:172", "部门人员树:", deptList.value); + common_vendor.index.__f__("log", "at pages/hiddendanger/assignment.vue:200", "部门人员树:", deptList.value); } } catch (error) { - common_vendor.index.__f__("error", "at pages/hiddendanger/assignment.vue:175", "获取部门人员失败:", error); + common_vendor.index.__f__("error", "at pages/hiddendanger/assignment.vue:203", "获取部门人员失败:", error); } }; const onDateConfirm = (e) => { - common_vendor.index.__f__("log", "at pages/hiddendanger/assignment.vue:181", "选择的日期时间:", e); + common_vendor.index.__f__("log", "at pages/hiddendanger/assignment.vue:209", "选择的日期时间:", e); const date = new Date(e.value); const year = date.getFullYear(); const month = String(date.getMonth() + 1).padStart(2, "0"); @@ -120,7 +145,7 @@ const _sfc_main = { assignRemark: "" // 交办备注(可选) }; - common_vendor.index.__f__("log", "at pages/hiddendanger/assignment.vue:217", "提交数据:", params); + common_vendor.index.__f__("log", "at pages/hiddendanger/assignment.vue:245", "提交数据:", params); try { const res = await request_api.assignHiddenDanger(params); if (res.code === 0) { @@ -133,82 +158,10 @@ const _sfc_main = { common_vendor.index.showToast({ title: res.msg || "交办失败", icon: "none" }); } } catch (error) { - common_vendor.index.__f__("error", "at pages/hiddendanger/assignment.vue:231", "交办失败:", error); + common_vendor.index.__f__("error", "at pages/hiddendanger/assignment.vue:259", "交办失败:", error); common_vendor.index.showToast({ title: "请求失败", icon: "none" }); } }; - const hasDraft = common_vendor.ref(false); - const showRestoreBanner = common_vendor.ref(false); - const isRestoring = common_vendor.ref(false); - const getDraftKey = () => `draft_assign_${hazardId.value || ""}`; - const saveDraft = () => { - if (isRestoring.value) - return; - const key = getDraftKey(); - const hasContent = selectedDate.value; - if (!hasContent) { - common_vendor.index.removeStorageSync(key); - hasDraft.value = false; - return; - } - const data = { - selectedDate: selectedDate.value, - dateValue: dateValue.value - }; - common_vendor.index.setStorageSync(key, JSON.stringify(data)); - hasDraft.value = true; - }; - const clearDraft = (showToast = true) => { - const key = getDraftKey(); - common_vendor.index.removeStorageSync(key); - hasDraft.value = false; - showRestoreBanner.value = false; - isRestoring.value = true; - selectedDate.value = ""; - dateValue.value = Date.now(); - common_vendor.nextTick$1(() => { - isRestoring.value = false; - }); - if (showToast) { - common_vendor.index.showToast({ title: "草稿已清空", icon: "none" }); - } - }; - const restoreDraft = () => { - const key = getDraftKey(); - const cached = common_vendor.index.getStorageSync(key); - if (cached) { - try { - const data = JSON.parse(cached); - const hasContent = data.selectedDate; - if (!hasContent) - return; - isRestoring.value = true; - selectedDate.value = data.selectedDate || ""; - dateValue.value = data.dateValue || Date.now(); - hasDraft.value = true; - showRestoreBanner.value = true; - common_vendor.nextTick$1(() => { - isRestoring.value = false; - }); - common_vendor.index.showToast({ - title: "已自动恢复您上次未提交的内容", - icon: "none", - duration: 2500 - }); - } catch (e) { - common_vendor.index.__f__("error", "at pages/hiddendanger/assignment.vue:306", "解析草稿失败:", e); - isRestoring.value = false; - } - } - }; - common_vendor.watch( - () => [selectedDate.value], - () => { - if (hazardId.value) { - saveDraft(); - } - } - ); common_vendor.onLoad((options) => { if (options.hazardId) hazardId.value = options.hazardId; @@ -219,9 +172,9 @@ const _sfc_main = { }); return (_ctx, _cache) => { return common_vendor.e({ - a: showRestoreBanner.value - }, showRestoreBanner.value ? { - b: common_vendor.o(($event) => clearDraft(true)) + a: common_vendor.unref(showRestoreBanner) + }, common_vendor.unref(showRestoreBanner) ? { + b: common_vendor.o(($event) => common_vendor.unref(clearDraft)(true)) } : {}, { c: common_vendor.t(selectedUser.value || "请选择整改责任人"), d: !selectedUser.value ? 1 : "", diff --git a/unpackage/dist/dev/mp-weixin/pages/hiddendanger/detail2.js b/unpackage/dist/dev/mp-weixin/pages/hiddendanger/detail2.js new file mode 100644 index 0000000..bdc9ac7 --- /dev/null +++ b/unpackage/dist/dev/mp-weixin/pages/hiddendanger/detail2.js @@ -0,0 +1,106 @@ +"use strict"; +const common_vendor = require("../../common/vendor.js"); +const common_assets = require("../../common/assets.js"); +const request_api = require("../../request/api.js"); +if (!Array) { + const _easycom_u_navbar2 = common_vendor.resolveComponent("u-navbar"); + _easycom_u_navbar2(); +} +const _easycom_u_navbar = () => "../../uni_modules/uview-plus/components/u-navbar/u-navbar.js"; +if (!Math) { + (_easycom_u_navbar + HazardDetailPanelV2)(); +} +const HazardDetailPanelV2 = () => "../../components/hazardDetail/HazardDetailPanelV2.js"; +const _sfc_main = { + __name: "detail2", + setup(__props) { + const instance = common_vendor.getCurrentInstance(); + const queryScope = (instance == null ? void 0 : instance.proxy) || instance; + const detailData = common_vendor.ref({}); + const loading = common_vendor.ref(false); + const panelBodyHeight = common_vendor.ref(0); + const calcPanelBodyHeight = () => { + common_vendor.nextTick$1(() => { + const query = common_vendor.index.createSelectorQuery().in(queryScope); + query.select(".panel-wrap").boundingClientRect(); + query.exec((res) => { + const rect = res == null ? void 0 : res[0]; + if ((rect == null ? void 0 : rect.height) > 0) { + panelBodyHeight.value = Math.floor(rect.height); + return; + } + const sys = common_vendor.index.getSystemInfoSync(); + panelBodyHeight.value = Math.floor(sys.windowHeight * 0.55); + }); + }); + }; + const loadDetail = async (hazardId) => { + loading.value = true; + try { + const res = await request_api.getHazardDetail(hazardId); + if (res.code === 0 && res.data) { + detailData.value = res.data; + } else { + common_vendor.index.showToast({ title: res.msg || "获取详情失败", icon: "none" }); + } + } catch (error) { + common_vendor.index.__f__("error", "at pages/hiddendanger/detail2.vue:85", "获取隐患详情失败:", error); + common_vendor.index.showToast({ title: "获取详情失败", icon: "none" }); + } finally { + loading.value = false; + calcPanelBodyHeight(); + setTimeout(calcPanelBodyHeight, 100); + setTimeout(calcPanelBodyHeight, 400); + } + }; + common_vendor.onReady(() => { + calcPanelBodyHeight(); + setTimeout(calcPanelBodyHeight, 100); + setTimeout(calcPanelBodyHeight, 400); + }); + common_vendor.watch(loading, (isLoading) => { + if (!isLoading) { + calcPanelBodyHeight(); + setTimeout(calcPanelBodyHeight, 100); + setTimeout(calcPanelBodyHeight, 400); + } + }); + common_vendor.onLoad((options) => { + if (options.hazardId) { + loadDetail(options.hazardId); + return; + } + common_vendor.index.showToast({ title: "缺少隐患ID", icon: "none" }); + setTimeout(() => { + common_vendor.index.navigateBack(); + }, 1500); + }); + return (_ctx, _cache) => { + return { + a: common_vendor.p({ + title: "查看隐患", + placeholder: true, + safeAreaInsetTop: true, + bgColor: "transparent", + titleColor: "#ffffff", + leftIconColor: "#ffffff", + autoBack: true, + border: false + }), + b: common_assets._imports_0$1, + c: common_vendor.t(detailData.value.statusName || "-"), + d: common_assets._imports_1, + e: common_vendor.t(detailData.value.createdAt || "-"), + f: common_vendor.p({ + detail: detailData.value, + loading: loading.value, + ["body-height"]: panelBodyHeight.value + }), + g: common_vendor.gei(_ctx, "") + }; + }; + } +}; +const MiniProgramPage = /* @__PURE__ */ common_vendor._export_sfc(_sfc_main, [["__scopeId", "data-v-364026f2"]]); +wx.createPage(MiniProgramPage); +//# sourceMappingURL=../../../.sourcemap/mp-weixin/pages/hiddendanger/detail2.js.map diff --git a/unpackage/dist/dev/mp-weixin/pages/hiddendanger/detail2.json b/unpackage/dist/dev/mp-weixin/pages/hiddendanger/detail2.json new file mode 100644 index 0000000..50155dc --- /dev/null +++ b/unpackage/dist/dev/mp-weixin/pages/hiddendanger/detail2.json @@ -0,0 +1,10 @@ +{ + "navigationBarTitleText": "隐患详情", + "navigationStyle": "custom", + "navigationBarTextStyle": "white", + "disableScroll": true, + "usingComponents": { + "u-navbar": "../../uni_modules/uview-plus/components/u-navbar/u-navbar", + "hazard-detail-panel-v2": "../../components/hazardDetail/HazardDetailPanelV2" + } +} \ No newline at end of file diff --git a/unpackage/dist/dev/mp-weixin/pages/hiddendanger/detail2.wxml b/unpackage/dist/dev/mp-weixin/pages/hiddendanger/detail2.wxml new file mode 100644 index 0000000..9e0da39 --- /dev/null +++ b/unpackage/dist/dev/mp-weixin/pages/hiddendanger/detail2.wxml @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/unpackage/dist/dev/mp-weixin/pages/hiddendanger/detail2.wxss b/unpackage/dist/dev/mp-weixin/pages/hiddendanger/detail2.wxss new file mode 100644 index 0000000..a3cdd13 --- /dev/null +++ b/unpackage/dist/dev/mp-weixin/pages/hiddendanger/detail2.wxss @@ -0,0 +1,132 @@ +/** + * 这里是uni-app内置的常用样式变量 + * + * uni-app 官方扩展插件及插件市场(https://ext.dcloud.net.cn)上很多三方插件均使用了这些样式变量 + * 如果你是插件开发者,建议你使用scss预处理,并在插件代码中直接使用这些变量(无需 import 这个文件),方便用户通过搭积木的方式开发整体风格一致的App + * + */ +/** + * 如果你是App开发者(插件使用者),你可以通过修改这些变量来定制自己的插件主题,实现自定义主题功能 + * + * 如果你的项目同样使用了scss预处理,你也可以直接在你的 scss 代码中使用如下变量,同时无需 import 这个文件 + */ +/* uni.scss */ +/* 颜色变量 */ +/* 行为相关颜色 */ +/* 文字基本颜色 */ +/* 背景颜色 */ +/* 边框颜色 */ +/* 尺寸变量 */ +/* 文字尺寸 */ +/* 图片尺寸 */ +/* Border Radius */ +/* 水平间距 */ +/* 垂直间距 */ +/* 透明度 */ +/* 文章场景相关 */ +.page.data-v-364026f2 { + height: 100vh; + overflow: hidden; + display: flex; + flex-direction: column; + box-sizing: border-box; + background: #f5f7fa; +} + +/* 渐变只覆盖导航栏 + 顶部卡片区域,在卡片下沿开始淡出 */ +.top-gradient-wrap.data-v-364026f2 { + flex-shrink: 0; + background: linear-gradient(180deg, #046CEA 0%, #2158C8 28.44%, rgba(4, 107, 234, 0) 100%); +} +.summary-card.data-v-364026f2 { + margin: 32rpx 30rpx 0; + padding: 28rpx 30rpx 32rpx; + background: #fff; + border-radius: 20rpx; + display: flex; + align-items: flex-start; + box-sizing: border-box; +} +.summary-side.data-v-364026f2 { + display: flex; + align-items: flex-start; +} +.summary-side--left.data-v-364026f2 { + flex-shrink: 0; + align-items: center; +} +.summary-side--left .summary-text.data-v-364026f2 { + padding-top: 0; + padding-bottom: 0; +} +.summary-side--right.data-v-364026f2 { + flex: 1; + min-width: 0; + align-items: center; +} +.summary-side--right .summary-icon.data-v-364026f2 { + margin-right: 22rpx; +} +.summary-side--right .summary-text.data-v-364026f2 { + flex: 1; + min-width: 0; + padding-top: 0; + padding-bottom: 0; +} + +/* 图标右边缘到竖线 = 169rpx,文字靠左,右侧留白 */ +.summary-icon-gap.data-v-364026f2 { + width: 149rpx; + flex-shrink: 0; + box-sizing: border-box; +} +.summary-icon.data-v-364026f2 { + width: 55rpx; + height: 65rpx; + flex-shrink: 0; +} +.summary-side--left .summary-icon.data-v-364026f2 { + margin-right: 22rpx; +} +.summary-text.data-v-364026f2 { + flex-shrink: 0; + box-sizing: border-box; +} +.summary-label.data-v-364026f2 { + font-size: 24rpx; + color: #8f9ca2; + line-height: 34rpx; +} +.summary-status.data-v-364026f2 { + margin-top: 8rpx; + font-size: 28rpx; + font-weight: 400; + color: #333333; + line-height: 40rpx; +} +.summary-date.data-v-364026f2 { + margin-top: 8rpx; + font-size: 28rpx; + font-weight: 400; + color: #333333; + line-height: 40rpx; + white-space: nowrap; +} +.summary-divider.data-v-364026f2 { + width: 2rpx; + height: 72rpx; + flex-shrink: 0; + background: #eee; + margin-right: 40rpx; +} +.panel-wrap.data-v-364026f2 { + flex: 1; + min-height: 0; + height: 0; + margin-top: 12rpx; + padding: 0 30rpx 30rpx; + box-sizing: border-box; + display: flex; + flex-direction: column; + overflow: hidden; +} \ No newline at end of file diff --git a/unpackage/dist/dev/mp-weixin/pages/hiddendanger/rectification.js b/unpackage/dist/dev/mp-weixin/pages/hiddendanger/rectification.js index f61794e..d40b258 100644 --- a/unpackage/dist/dev/mp-weixin/pages/hiddendanger/rectification.js +++ b/unpackage/dist/dev/mp-weixin/pages/hiddendanger/rectification.js @@ -1,6 +1,8 @@ "use strict"; const common_vendor = require("../../common/vendor.js"); const request_api = require("../../request/api.js"); +const utils_draftCache = require("../../utils/draftCache.js"); +const utils_useDraftCache = require("../../utils/useDraftCache.js"); const utils_upload = require("../../utils/upload.js"); if (!Array) { const _easycom_up_textarea2 = common_vendor.resolveComponent("up-textarea"); @@ -38,8 +40,13 @@ const _sfc_main = { const signatureRef = common_vendor.ref(null); const isSignatureEmpty = common_vendor.ref(true); const isSubmitting = common_vendor.ref(false); + const signatureLocalPath = common_vendor.ref(""); + const isDraftExporting = common_vendor.ref(false); + let signatureExportTimer = null; const clearSignature = () => { + clearTimeout(signatureExportTimer); isSignatureEmpty.value = true; + signatureLocalPath.value = ""; if (signatureRef.value) { signatureRef.value.clear(); } @@ -55,23 +62,60 @@ const _sfc_main = { showCanvas.value = true; signatureServerPath.value = ""; signatureUrl.value = ""; + signatureLocalPath.value = ""; isSignatureEmpty.value = true; return; } signatureServerPath.value = url; signatureUrl.value = url; + signatureLocalPath.value = ""; showCanvas.value = false; isSignatureEmpty.value = false; }; + const applySignatureFromLocal = (localPath) => { + if (!localPath) + return; + signatureLocalPath.value = localPath; + signatureUrl.value = localPath; + signatureServerPath.value = ""; + showCanvas.value = false; + isSignatureEmpty.value = false; + }; + const onSignatureStart = () => { + isSignatureEmpty.value = false; + }; + const onSignatureSigning = () => { + isSignatureEmpty.value = false; + }; + const onSignatureClear = () => { + isSignatureEmpty.value = true; + signatureLocalPath.value = ""; + }; + const scheduleSignatureDraftExport = () => { + clearTimeout(signatureExportTimer); + signatureExportTimer = setTimeout(() => { + if (!showCanvas.value || isSignatureEmpty.value || !signatureRef.value || isSubmitting.value || isDraftExporting.value) { + return; + } + isDraftExporting.value = true; + signatureRef.value.confirm(); + }, 600); + }; + const onSignatureEnd = () => { + isSignatureEmpty.value = false; + scheduleSignatureDraftExport(); + }; const onSignatureImageError = () => { - common_vendor.index.__f__("error", "at pages/hiddendanger/rectification.vue:321", "签名图片加载失败:", signatureUrl.value); + common_vendor.index.__f__("error", "at pages/hiddendanger/rectification.vue:376", "签名图片加载失败:", signatureUrl.value); common_vendor.index.showToast({ title: "签名图片加载失败", icon: "none" }); }; const reSign = () => { + clearTimeout(signatureExportTimer); isSignatureEmpty.value = true; showCanvas.value = true; signatureUrl.value = ""; signatureServerPath.value = ""; + signatureLocalPath.value = ""; common_vendor.nextTick$1(() => { if (signatureRef.value) { signatureRef.value.clear(); @@ -345,11 +389,11 @@ const _sfc_main = { } } } catch (error) { - common_vendor.index.__f__("error", "at pages/hiddendanger/rectification.vue:633", "获取安全管理人员列表失败:", error); + common_vendor.index.__f__("error", "at pages/hiddendanger/rectification.vue:690", "获取安全管理人员列表失败:", error); } }; const fetchRectifyDeptUsers = async () => { - common_vendor.index.__f__("log", "at pages/hiddendanger/rectification.vue:639", "当前hazardId:", hazardId.value); + common_vendor.index.__f__("log", "at pages/hiddendanger/rectification.vue:696", "当前hazardId:", hazardId.value); try { const res = await request_api.getDeptUsersWithSubordinates({ hazardId: hazardId.value }); if (res.code === 0 && res.data) { @@ -357,10 +401,10 @@ const _sfc_main = { if (selectedUserIds.value.length > 0) { syncSelectedUsersFromIds(selectedUserIds.value); } - common_vendor.index.__f__("log", "at pages/hiddendanger/rectification.vue:647", "整改责任人部门树:", deptList.value); + common_vendor.index.__f__("log", "at pages/hiddendanger/rectification.vue:704", "整改责任人部门树:", deptList.value); } } catch (error) { - common_vendor.index.__f__("error", "at pages/hiddendanger/rectification.vue:650", "获取整改责任人列表失败:", error); + common_vendor.index.__f__("error", "at pages/hiddendanger/rectification.vue:707", "获取整改责任人列表失败:", error); } }; const fetchPersonnelLists = async () => { @@ -419,7 +463,7 @@ const _sfc_main = { } } catch (error) { common_vendor.index.hideLoading(); - common_vendor.index.__f__("error", "at pages/hiddendanger/rectification.vue:721", "提交整改失败:", error); + common_vendor.index.__f__("error", "at pages/hiddendanger/rectification.vue:778", "提交整改失败:", error); common_vendor.index.showToast({ title: "操作失败", icon: "none" @@ -429,16 +473,23 @@ const _sfc_main = { } }; const onSignatureConfirm = async (tempFilePath) => { + if (isDraftExporting.value) { + isDraftExporting.value = false; + applySignatureFromLocal(tempFilePath); + saveDraft(); + return; + } try { const { url } = await utils_upload.uploadToCloud(tempFilePath); applySignatureFromServer(url); + saveDraft(); if (isSubmitting.value) { await executeSubmit(); } } catch (err) { isSubmitting.value = false; common_vendor.index.hideLoading(); - common_vendor.index.__f__("error", "at pages/hiddendanger/rectification.vue:743", "签名上传失败:", err); + common_vendor.index.__f__("error", "at pages/hiddendanger/rectification.vue:808", "签名上传失败:", err); common_vendor.index.showToast({ title: "签名上传失败,请重试", icon: "none" }); } }; @@ -504,7 +555,7 @@ const _sfc_main = { common_vendor.index.showLoading({ title: "正在提交...", mask: true }); signatureRef.value.confirm(); } else { - if (!signatureServerPath.value) { + if (!signatureServerPath.value && !signatureLocalPath.value) { common_vendor.index.showToast({ title: "请进行电子签名", icon: "none" @@ -513,7 +564,18 @@ const _sfc_main = { } isSubmitting.value = true; common_vendor.index.showLoading({ title: "正在提交...", mask: true }); - await executeSubmit(); + try { + if (!signatureServerPath.value && signatureLocalPath.value) { + const { url } = await utils_upload.uploadToCloud(signatureLocalPath.value); + applySignatureFromServer(url); + } + await executeSubmit(); + } catch (err) { + isSubmitting.value = false; + common_vendor.index.hideLoading(); + common_vendor.index.__f__("error", "at pages/hiddendanger/rectification.vue:899", "签名上传失败:", err); + common_vendor.index.showToast({ title: "签名上传失败,请重试", icon: "none" }); + } } }; const fetchRectifyDetail = async () => { @@ -536,7 +598,7 @@ const _sfc_main = { applyRectifyTimeValue(data.rectifyTime); } const signPath = resolveSignPathFromData(data); - common_vendor.index.__f__("log", "at pages/hiddendanger/rectification.vue:926", "整改详情签名路径:", signPath); + common_vendor.index.__f__("log", "at pages/hiddendanger/rectification.vue:1002", "整改详情签名路径:", signPath); applySignatureFromServer(signPath); hazardId.value = data.hazardId || ""; assignId.value = data.assignId || ""; @@ -562,7 +624,7 @@ const _sfc_main = { } } catch (error) { common_vendor.index.hideLoading(); - common_vendor.index.__f__("error", "at pages/hiddendanger/rectification.vue:960", "获取整改详情失败:", error); + common_vendor.index.__f__("error", "at pages/hiddendanger/rectification.vue:1036", "获取整改详情失败:", error); common_vendor.index.showToast({ title: "获取详情失败", icon: "none" }); } }; @@ -593,28 +655,31 @@ const _sfc_main = { common_vendor.index.showToast({ title: aiRes.msg || "AI生成失败", icon: "none" }); } } catch (error) { - common_vendor.index.__f__("error", "at pages/hiddendanger/rectification.vue:997", "AI生成整改方案失败:", error); + common_vendor.index.__f__("error", "at pages/hiddendanger/rectification.vue:1073", "AI生成整改方案失败:", error); common_vendor.index.showToast({ title: "AI生成失败,请重试", icon: "none" }); } finally { aiGenerating.value = false; } }; - const hasDraft = common_vendor.ref(false); - const showRestoreBanner = common_vendor.ref(false); - const isRestoring = common_vendor.ref(false); const signaturePaths = common_vendor.ref([]); - const getDraftKey = () => `draft_rectify_${hazardId.value || ""}_${rectifyId.value || ""}`; - const saveDraft = () => { - if (isRestoring.value) - return; - const key = getDraftKey(); - const hasContent = formData.rectifyPlan || formData.rectificationMeasures || formData.controlMeasures || formData.rectifyResult || formData.planCost || formData.actualCost || fileList1.value.length > 0 || signatureServerPath.value || signaturePaths.value.length > 0; - if (!hasContent) { - common_vendor.index.removeStorageSync(key); - hasDraft.value = false; - return; - } - const data = { + const rectifyDraftHasContent = (data) => { + const form = data.formData || {}; + return !!(form.rectifyPlan || form.rectificationMeasures || form.controlMeasures || form.rectifyResult || form.planCost || form.actualCost || data.fileList1 && data.fileList1.length > 0 || data.signatureServerPath || data.signatureLocalPath || data.signaturePaths && data.signaturePaths.length > 0); + }; + const { + showRestoreBanner, + clear: clearDraft, + restore: restoreDraft, + save: saveDraft, + bindAutoSave + } = utils_useDraftCache.useDraftCache({ + getKey: () => utils_draftCache.buildDraftKey(utils_draftCache.DRAFT_NS.RECTIFY, hazardId.value, rectifyId.value), + getFallbackKeys: () => { + const primary = utils_draftCache.buildDraftKey(utils_draftCache.DRAFT_NS.RECTIFY, hazardId.value, rectifyId.value); + const compact = utils_draftCache.buildDraftKeyCompact(utils_draftCache.DRAFT_NS.RECTIFY, hazardId.value, rectifyId.value); + return compact !== primary ? [compact] : []; + }, + getPayload: () => ({ formData: { rectifyPlan: formData.rectifyPlan, rectificationMeasures: formData.rectificationMeasures, @@ -626,110 +691,88 @@ const _sfc_main = { fileList1: fileList1.value, signatureServerPath: signatureServerPath.value, signatureUrl: signatureUrl.value, + signatureLocalPath: signatureLocalPath.value, showCanvas: showCanvas.value, signaturePaths: signaturePaths.value - }; - common_vendor.index.setStorageSync(key, JSON.stringify(data)); - hasDraft.value = true; - }; - const clearDraft = (showToast = true) => { - const key = getDraftKey(); - common_vendor.index.removeStorageSync(key); - hasDraft.value = false; - showRestoreBanner.value = false; - isRestoring.value = true; - formData.rectifyPlan = ""; - formData.rectificationMeasures = ""; - formData.controlMeasures = ""; - formData.rectifyResult = ""; - formData.planCost = ""; - formData.actualCost = ""; - fileList1.value = []; - signatureServerPath.value = ""; - signatureUrl.value = ""; - showCanvas.value = true; - signaturePaths.value = []; - if (signatureRef.value) { - signatureRef.value.clear(); - } - common_vendor.nextTick$1(() => { - isRestoring.value = false; - }); - if (showToast) { - common_vendor.index.showToast({ title: "草稿已清空", icon: "none" }); - } - }; - const restoreDraft = () => { - const key = getDraftKey(); - const cached = common_vendor.index.getStorageSync(key); - if (cached) { - try { - const data = JSON.parse(cached); - const hasContent = data.formData.rectifyPlan || data.formData.rectificationMeasures || data.formData.controlMeasures || data.formData.rectifyResult || data.formData.planCost || data.formData.actualCost || data.fileList1 && data.fileList1.length > 0 || data.signatureServerPath || data.signaturePaths && data.signaturePaths.length > 0; - if (!hasContent) - return; - isRestoring.value = true; - formData.rectifyPlan = data.formData.rectifyPlan || ""; - formData.rectificationMeasures = data.formData.rectificationMeasures || ""; - formData.controlMeasures = data.formData.controlMeasures || ""; - formData.rectifyResult = data.formData.rectifyResult || ""; - formData.planCost = data.formData.planCost || ""; - formData.actualCost = data.formData.actualCost || ""; - fileList1.value = data.fileList1 || []; - signaturePaths.value = data.signaturePaths || []; - if (data.signatureServerPath || data.signatureUrl) { - applySignatureFromServer(data.signatureServerPath || data.signatureUrl); - } else if (data.showCanvas === false) { - showCanvas.value = false; - } - hasDraft.value = true; - showRestoreBanner.value = true; - if (signaturePaths.value.length > 0) { - setTimeout(() => { - if (signatureRef.value) { - isSignatureEmpty.value = false; - } - }, 450); - } - common_vendor.nextTick$1(() => { - isRestoring.value = false; - }); - common_vendor.index.showToast({ - title: "已自动恢复您上次未提交的内容", - icon: "none", - duration: 2500 - }); - } catch (e) { - common_vendor.index.__f__("error", "at pages/hiddendanger/rectification.vue:1145", "解析草稿失败:", e); - isRestoring.value = false; - } - } - }; - common_vendor.watch( - () => [ - formData.rectifyPlan, - formData.rectificationMeasures, - formData.controlMeasures, - formData.rectifyResult, - formData.planCost, - formData.actualCost, - fileList1.value, - signatureServerPath.value, - signaturePaths.value - ], - () => { - if (hazardId.value || rectifyId.value) { - saveDraft(); + }), + hasContent: rectifyDraftHasContent, + applyPayload: (data) => { + const form = data.formData || {}; + formData.rectifyPlan = form.rectifyPlan || ""; + formData.rectificationMeasures = form.rectificationMeasures || ""; + formData.controlMeasures = form.controlMeasures || ""; + formData.rectifyResult = form.rectifyResult || ""; + formData.planCost = form.planCost || ""; + formData.actualCost = form.actualCost || ""; + fileList1.value = data.fileList1 || []; + signaturePaths.value = data.signaturePaths || []; + if (data.signatureServerPath || data.signatureUrl) { + applySignatureFromServer(data.signatureServerPath || data.signatureUrl); + } else if (data.signatureLocalPath) { + applySignatureFromLocal(data.signatureLocalPath); + } else if (data.showCanvas === false) { + showCanvas.value = false; } }, - { deep: true } - ); + clearForm: () => { + formData.rectifyPlan = ""; + formData.rectificationMeasures = ""; + formData.controlMeasures = ""; + formData.rectifyResult = ""; + formData.planCost = ""; + formData.actualCost = ""; + fileList1.value = []; + signatureServerPath.value = ""; + signatureUrl.value = ""; + signatureLocalPath.value = ""; + showCanvas.value = true; + signaturePaths.value = []; + if (signatureRef.value) { + signatureRef.value.clear(); + } + }, + canSave: () => !!(hazardId.value || rectifyId.value), + onAfterRestore: (data) => { + var _a; + if (data.signatureServerPath || data.signatureUrl || data.signatureLocalPath) { + return; + } + if (((_a = data.signaturePaths) == null ? void 0 : _a.length) > 0) { + setTimeout(() => { + if (signatureRef.value) { + isSignatureEmpty.value = false; + } + }, 450); + } + } + }); + bindAutoSave(() => [ + formData.rectifyPlan, + formData.rectificationMeasures, + formData.controlMeasures, + formData.rectifyResult, + formData.planCost, + formData.actualCost, + fileList1.value, + signatureServerPath.value, + signatureUrl.value, + signatureLocalPath.value, + showCanvas.value, + signaturePaths.value + ]); + common_vendor.onHide(() => { + if (showCanvas.value && !isSignatureEmpty.value && signatureRef.value && !isDraftExporting.value) { + isDraftExporting.value = true; + signatureRef.value.confirm(); + } + saveDraft(); + }); common_vendor.onLoad((options) => { try { const sysInfo = common_vendor.index.getSystemInfoSync(); signatureWidth.value = sysInfo.windowWidth - 40; } catch (e) { - common_vendor.index.__f__("error", "at pages/hiddendanger/rectification.vue:1178", "获取系统信息失败:", e); + common_vendor.index.__f__("error", "at pages/hiddendanger/rectification.vue:1207", "获取系统信息失败:", e); } if (options.hazardId) { hazardId.value = options.hazardId; @@ -753,9 +796,9 @@ const _sfc_main = { }); return (_ctx, _cache) => { return common_vendor.e({ - a: showRestoreBanner.value - }, showRestoreBanner.value ? { - b: common_vendor.o(($event) => clearDraft(true)) + a: common_vendor.unref(showRestoreBanner) + }, common_vendor.unref(showRestoreBanner) ? { + b: common_vendor.o(($event) => common_vendor.unref(clearDraft)(true)) } : {}, { c: !aiGenerating.value }, !aiGenerating.value ? {} : {}, { @@ -944,10 +987,11 @@ const _sfc_main = { "k": "signatureRef" }), aA: common_vendor.o((res) => onSignatureConfirm(res.tempFilePath)), - aB: common_vendor.o(($event) => isSignatureEmpty.value = false), - aC: common_vendor.o(($event) => isSignatureEmpty.value = false), - aD: common_vendor.o(($event) => isSignatureEmpty.value = true), - aE: common_vendor.p({ + aB: common_vendor.o(onSignatureStart), + aC: common_vendor.o(onSignatureSigning), + aD: common_vendor.o(onSignatureEnd), + aE: common_vendor.o(onSignatureClear), + aF: common_vendor.p({ width: signatureWidth.value, height: 160, backgroundColor: "#f8f8f8", @@ -956,9 +1000,9 @@ const _sfc_main = { enableHistory: false }) } : {}, { - aF: common_vendor.t(isEdit.value ? "保存修改" : "提交整改"), - aG: common_vendor.o(handleSubmit), - aH: common_vendor.gei(_ctx, "") + aG: common_vendor.t(isEdit.value ? "保存修改" : "提交整改"), + aH: common_vendor.o(handleSubmit), + aI: common_vendor.gei(_ctx, "") }); }; } diff --git a/unpackage/dist/dev/mp-weixin/pages/hiddendanger/rectification.wxml b/unpackage/dist/dev/mp-weixin/pages/hiddendanger/rectification.wxml index 4d74131..a3a036a 100644 --- a/unpackage/dist/dev/mp-weixin/pages/hiddendanger/rectification.wxml +++ b/unpackage/dist/dev/mp-weixin/pages/hiddendanger/rectification.wxml @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/unpackage/dist/dev/mp-weixin/pages/hiddendanger/view.js b/unpackage/dist/dev/mp-weixin/pages/hiddendanger/view.js index e016418..e6f4545 100644 --- a/unpackage/dist/dev/mp-weixin/pages/hiddendanger/view.js +++ b/unpackage/dist/dev/mp-weixin/pages/hiddendanger/view.js @@ -1,116 +1,48 @@ "use strict"; const common_vendor = require("../../common/vendor.js"); const request_api = require("../../request/api.js"); -const request_request = require("../../request/request.js"); -if (!Array) { - const _easycom_up_input2 = common_vendor.resolveComponent("up-input"); - const _easycom_up_textarea2 = common_vendor.resolveComponent("up-textarea"); - (_easycom_up_input2 + _easycom_up_textarea2)(); -} -const _easycom_up_input = () => "../../uni_modules/uview-plus/components/u-input/u-input.js"; -const _easycom_up_textarea = () => "../../uni_modules/uview-plus/components/u-textarea/u-textarea.js"; if (!Math) { - (_easycom_up_input + _easycom_up_textarea)(); + HazardDetailPanel(); } +const HazardDetailPanel = () => "../../components/hazardDetail/HazardDetailPanel.js"; const _sfc_main = { __name: "view", setup(__props) { - const detailData = common_vendor.reactive({ - hazardId: "", - assignId: "", - title: "", - level: 0, - levelName: "", - source: "", - description: "", - address: "", - areaName: "", - areaColor: "", - tagName: "", - legalBasis: "", - regulationName: "", - attachments: [] - }); - const legalBasisText = common_vendor.computed(() => detailData.legalBasis || detailData.regulationName || ""); - const getFullPath = (filePath) => request_request.toImageUrl(filePath); - const previewHazardImage = (index) => { - if (!detailData.attachments || detailData.attachments.length === 0) - return; - common_vendor.index.previewImage({ - current: index, - urls: detailData.attachments.map((item) => getFullPath(item.filePath)) - }); - }; - const fetchDetail = async (hazardId, assignId) => { + const detailData = common_vendor.ref({}); + const loading = common_vendor.ref(false); + const loadDetail = async (hazardId) => { + loading.value = true; try { - const params = { hazardId }; - if (assignId) - params.assignId = assignId; - const res = await request_api.getHiddenDangerDetail(params); + const res = await request_api.getHazardDetail(hazardId); if (res.code === 0 && res.data) { - Object.assign(detailData, res.data); + detailData.value = res.data; } else { common_vendor.index.showToast({ title: res.msg || "获取详情失败", icon: "none" }); } } catch (error) { - common_vendor.index.__f__("error", "at pages/hiddendanger/view.vue:138", "获取隐患详情失败:", error); - common_vendor.index.showToast({ title: "请求失败", icon: "none" }); + common_vendor.index.__f__("error", "at pages/hiddendanger/view.vue:26", "获取隐患详情失败:", error); + } finally { + loading.value = false; } }; common_vendor.onLoad((options) => { if (options.hazardId) { - fetchDetail(options.hazardId, options.assignId); + loadDetail(options.hazardId); + return; } + common_vendor.index.showToast({ title: "缺少隐患ID", icon: "none" }); + setTimeout(() => { + common_vendor.index.navigateBack(); + }, 1500); }); return (_ctx, _cache) => { - return common_vendor.e({ - a: common_vendor.t(detailData.source || "暂无"), - b: detailData.attachments && detailData.attachments.length > 0 - }, detailData.attachments && detailData.attachments.length > 0 ? { - c: common_vendor.f(detailData.attachments, (img, idx, i0) => { - return { - a: idx, - b: getFullPath(img.filePath), - c: common_vendor.o(($event) => previewHazardImage(idx), idx) - }; - }) - } : {}, { - d: common_vendor.o(($event) => detailData.title = $event), - e: common_vendor.p({ - disabled: true, - disabledColor: "#F6F6F6", - border: "surround", - placeholder: "暂无", - modelValue: detailData.title + return { + a: common_vendor.p({ + detail: detailData.value, + loading: loading.value }), - f: common_vendor.n(detailData.level === 2 ? "bg-blue light" : "bg-gray"), - g: common_vendor.n(detailData.level === 3 ? "bg-blue light" : "bg-gray"), - h: common_vendor.o(($event) => detailData.address = $event), - i: common_vendor.p({ - disabled: true, - disabledColor: "#F6F6F6", - border: "surround", - placeholder: "暂无地址", - modelValue: detailData.address - }), - j: common_vendor.t(legalBasisText.value || "暂无"), - k: !legalBasisText.value ? 1 : "", - l: detailData.areaColor - }, detailData.areaColor ? { - m: detailData.areaColor - } : {}, { - n: common_vendor.t(detailData.areaName || "暂无"), - o: !detailData.areaName ? 1 : "", - p: common_vendor.o(($event) => detailData.description = $event), - q: common_vendor.p({ - placeholder: "暂无描述", - disabled: true, - autoHeight: true, - modelValue: detailData.description - }), - r: common_vendor.t(detailData.tagName || "暂无"), - s: common_vendor.gei(_ctx, "") - }); + b: common_vendor.gei(_ctx, "") + }; }; } }; diff --git a/unpackage/dist/dev/mp-weixin/pages/hiddendanger/view.json b/unpackage/dist/dev/mp-weixin/pages/hiddendanger/view.json index fbb3dab..d6048b8 100644 --- a/unpackage/dist/dev/mp-weixin/pages/hiddendanger/view.json +++ b/unpackage/dist/dev/mp-weixin/pages/hiddendanger/view.json @@ -1,7 +1,6 @@ { "navigationBarTitleText": "查看隐患", "usingComponents": { - "up-input": "../../uni_modules/uview-plus/components/u-input/u-input", - "up-textarea": "../../uni_modules/uview-plus/components/u-textarea/u-textarea" + "hazard-detail-panel": "../../components/hazardDetail/HazardDetailPanel" } } \ No newline at end of file diff --git a/unpackage/dist/dev/mp-weixin/pages/hiddendanger/view.wxml b/unpackage/dist/dev/mp-weixin/pages/hiddendanger/view.wxml index 8a55f1c..fb258a8 100644 --- a/unpackage/dist/dev/mp-weixin/pages/hiddendanger/view.wxml +++ b/unpackage/dist/dev/mp-weixin/pages/hiddendanger/view.wxml @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/unpackage/dist/dev/mp-weixin/pages/hiddendanger/view.wxss b/unpackage/dist/dev/mp-weixin/pages/hiddendanger/view.wxss index a1f6c8a..846b7fe 100644 --- a/unpackage/dist/dev/mp-weixin/pages/hiddendanger/view.wxss +++ b/unpackage/dist/dev/mp-weixin/pages/hiddendanger/view.wxss @@ -26,40 +26,5 @@ /* 文章场景相关 */ .page.data-v-4d631e68 { min-height: 100vh; - background: #EBF2FC; -} -.read-only-box.data-v-4d631e68 { - background: #f5f5f5; - border-radius: 8rpx; - padding: 20rpx 24rpx; - font-size: 28rpx; - color: #333; -} -.read-only-select.data-v-4d631e68 { - background: #f5f5f5; - border: 1rpx solid #dcdfe6; - border-radius: 8rpx; - padding: 20rpx 24rpx; -} -.read-only-select .select-value.data-v-4d631e68 { - font-size: 28rpx; - color: #333; - line-height: 1.5; - word-break: break-all; -} -.read-only-select .select-value.placeholder.data-v-4d631e68 { - color: #999; -} -.level-item.data-v-4d631e68 { - padding: 16rpx 40rpx; - border-radius: 8rpx; - text-align: center; - font-size: 28rpx; -} -.area-color-dot.data-v-4d631e68 { - width: 24rpx; - height: 24rpx; - border-radius: 50%; - margin-right: 16rpx; - flex-shrink: 0; + background: #ebf2fc; } \ No newline at end of file diff --git a/unpackage/dist/dev/mp-weixin/pages/index/index.js b/unpackage/dist/dev/mp-weixin/pages/index/index.js index 01ab690..d0a7e2e 100644 --- a/unpackage/dist/dev/mp-weixin/pages/index/index.js +++ b/unpackage/dist/dev/mp-weixin/pages/index/index.js @@ -6,13 +6,16 @@ const request_three_one_api_info = require("../../request/three_one_api/info.js" const request_request = require("../../request/request.js"); if (!Array) { const _easycom_u_navbar2 = common_vendor.resolveComponent("u-navbar"); - _easycom_u_navbar2(); + const _easycom_u_icon2 = common_vendor.resolveComponent("u-icon"); + (_easycom_u_navbar2 + _easycom_u_icon2)(); } const _easycom_u_navbar = () => "../../uni_modules/uview-plus/components/u-navbar/u-navbar.js"; +const _easycom_u_icon = () => "../../uni_modules/uview-plus/components/u-icon/u-icon.js"; if (!Math) { - _easycom_u_navbar(); + (_easycom_u_navbar + _easycom_u_icon)(); } const defaultAvatar = "https://ossweb-img.qq.com/images/lol/web201310/skin/big99008.jpg"; +const PLAN_INITIAL_SIZE = 4; const _sfc_main = { __name: "index", setup(__props) { @@ -51,7 +54,7 @@ const _sfc_main = { } } } catch (e) { - common_vendor.index.__f__("error", "at pages/index/index.vue:229", "获取用户信息失败:", e); + common_vendor.index.__f__("error", "at pages/index/index.vue:245", "获取用户信息失败:", e); try { const storedUserInfo = common_vendor.index.getStorageSync("userInfo"); if (storedUserInfo) { @@ -66,7 +69,7 @@ const _sfc_main = { userInfo.phone = info.phone || ""; } } catch (storageError) { - common_vendor.index.__f__("error", "at pages/index/index.vue:245", "从本地存储获取用户信息失败:", storageError); + common_vendor.index.__f__("error", "at pages/index/index.vue:261", "从本地存储获取用户信息失败:", storageError); } } }; @@ -111,14 +114,41 @@ const _sfc_main = { } return allMenuList; }); - const ViewDetails = (item) => { + const formatProgress = (progress) => { + const num = Number(progress); + if (Number.isNaN(num)) + return 0; + return Math.min(100, Math.max(0, num)); + }; + const getTodayDateStr = () => { + const date = /* @__PURE__ */ new Date(); + const y = date.getFullYear(); + const m = String(date.getMonth() + 1).padStart(2, "0"); + const d = String(date.getDate()).padStart(2, "0"); + return `${y}-${m}-${d}`; + }; + const goTodayInspect = (item) => { + const oneTableId = item.id; + const taskDate = getTodayDateStr(); + const tableId = item.tableId ?? item.id; + if (!oneTableId || !taskDate) { + common_vendor.index.showToast({ title: "缺少任务参数", icon: "none" }); + return; + } + const name = item.name || ""; + const tableIdQuery = tableId ? `&tableId=${tableId}` : ""; common_vendor.index.navigateTo({ - url: `/pages/plandetail/plandetail?id=${item.id}` + url: `/pages/Inspectionresult/detail?oneTableId=${oneTableId}&taskDate=${encodeURIComponent(taskDate)}&name=${encodeURIComponent(name)}${tableIdQuery}` }); }; - const goDetails = (item) => { + const goPlanCheckList = (item) => { + const tableId = item.tableId ?? item.id; + if (!tableId) { + common_vendor.index.showToast({ title: "缺少检查表ID", icon: "none" }); + return; + } common_vendor.index.navigateTo({ - url: `/pages/Inspectionresult/Inspectionresult?id=${item.id}` + url: `/pages/Inspectionresult/list?tableId=${tableId}&name=${encodeURIComponent(item.name || "")}` }); }; const handleMenuClick = (item) => { @@ -142,23 +172,78 @@ const _sfc_main = { }; const checkPlanParams = common_vendor.ref({ pageNum: 1, - pageSize: 10, + pageSize: PLAN_INITIAL_SIZE, name: "" }); const checkPlanData = common_vendor.ref([]); + const checkPlanTotal = common_vendor.ref(0); + const planShowAll = common_vendor.ref(false); + const expandedPlanMap = common_vendor.ref({}); + const hasMoreCheckPlans = common_vendor.computed(() => { + return !planShowAll.value && checkPlanTotal.value > PLAN_INITIAL_SIZE; + }); + const initPlanExpandedState = (records = [], { reset = false, expandFirst = false } = {}) => { + const map = reset ? {} : { ...expandedPlanMap.value }; + records.forEach((item, index) => { + if (reset) { + map[item.id] = expandFirst && index === 0; + } else if (!(item.id in map)) { + map[item.id] = false; + } + }); + expandedPlanMap.value = map; + }; + const isPlanExpanded = (id) => !!expandedPlanMap.value[id]; + const togglePlanExpand = (id) => { + expandedPlanMap.value = { + ...expandedPlanMap.value, + [id]: !expandedPlanMap.value[id] + }; + }; const getCheckPlanLists = async () => { + var _a, _b; + planShowAll.value = false; try { - const res = await request_api.getCheckPlanList(checkPlanParams.value); - common_vendor.index.__f__("log", "at pages/index/index.vue:339", res); + const res = await request_api.getCheckPlanList({ + pageNum: 1, + pageSize: PLAN_INITIAL_SIZE, + name: checkPlanParams.value.name + }); if (res.code === 0) { - checkPlanData.value = res.data.records; + const records = ((_a = res.data) == null ? void 0 : _a.records) || []; + checkPlanTotal.value = Number(((_b = res.data) == null ? void 0 : _b.total) ?? records.length); + checkPlanData.value = records; + initPlanExpandedState(records, { reset: true, expandFirst: true }); } } catch (error) { - common_vendor.index.__f__("error", "at pages/index/index.vue:344", error); + common_vendor.index.__f__("error", "at pages/index/index.vue:431", error); } finally { loading.value = false; } }; + const loadMoreCheckPlans = async () => { + var _a; + if (!hasMoreCheckPlans.value) + return; + try { + const res = await request_api.getCheckPlanList({ + pageNum: 1, + pageSize: checkPlanTotal.value, + name: checkPlanParams.value.name + }); + if (res.code === 0) { + const records = ((_a = res.data) == null ? void 0 : _a.records) || []; + initPlanExpandedState(records); + checkPlanData.value = records; + planShowAll.value = true; + } else { + common_vendor.index.showToast({ title: res.msg || "加载失败", icon: "none" }); + } + } catch (error) { + common_vendor.index.__f__("error", "at pages/index/index.vue:454", error); + common_vendor.index.showToast({ title: "加载失败", icon: "none" }); + } + }; const formatDate = (dateStr) => { if (!dateStr) return ""; @@ -197,13 +282,13 @@ const _sfc_main = { const getHiddenDangerLists = async () => { try { const res = await request_api.getHiddenDangerList(hiddenDangerParams.value); - common_vendor.index.__f__("log", "at pages/index/index.vue:403", res); + common_vendor.index.__f__("log", "at pages/index/index.vue:512", res); if (res.code === 0) { hiddenDangerData.value = res.data.records; - common_vendor.index.__f__("log", "at pages/index/index.vue:406", hiddenDangerData.value, 1111); + common_vendor.index.__f__("log", "at pages/index/index.vue:515", hiddenDangerData.value, 1111); } } catch (error) { - common_vendor.index.__f__("error", "at pages/index/index.vue:409", error); + common_vendor.index.__f__("error", "at pages/index/index.vue:518", error); } finally { loading.value = false; } @@ -213,7 +298,7 @@ const _sfc_main = { }); const viewHazardDetail = (item) => { common_vendor.index.navigateTo({ - url: `/pages/hiddendanger/view?hazardId=${item.hazardId}&assignId=${item.assignId}` + url: `/pages/hiddendanger/detail2?hazardId=${item.hazardId}&assignId=${item.assignId || ""}` }); }; const goRectification = (item) => { @@ -237,7 +322,7 @@ const _sfc_main = { return common_vendor.e({ a: common_assets._imports_0, b: common_vendor.p({ - title: "三查一曝光", + title: "湘西州“三个一”安全管理平台", placeholder: false, fixed: false, safeAreaInsetTop: true, @@ -259,27 +344,39 @@ const _sfc_main = { }), g: checkPlanData.value.length === 0 }, checkPlanData.value.length === 0 ? {} : {}, { - h: common_vendor.f(checkPlanData.value, (item, index, i0) => { - return common_vendor.e({ + h: common_vendor.f(checkPlanData.value, (item, k0, i0) => { + return { a: common_vendor.t(item.name), - b: common_vendor.t(item.runModeName), - c: common_vendor.t(item.cycle), - d: common_vendor.t(formatDate(item.planStartTime)), - e: common_vendor.t(formatDate(item.planEndTime)), - f: item.progress + "%", - g: common_vendor.t(item.progress), - h: common_vendor.t(item.totalCount), - i: common_vendor.t(item.totalCount - item.finishedCount), - j: common_vendor.t(item.finishedCount), - k: common_vendor.o(($event) => ViewDetails(item), item.id), - l: item.finishedCount < item.totalCount - }, item.finishedCount < item.totalCount ? { - m: common_vendor.o(($event) => goDetails(item), item.id) - } : {}, { - n: item.id - }); + b: "1cf27b2a-1-" + i0, + c: common_vendor.p({ + name: isPlanExpanded(item.id) ? "arrow-down" : "arrow-up", + color: "#ffffff", + size: "18" + }), + d: common_vendor.o(($event) => togglePlanExpand(item.id), item.id), + e: common_vendor.o(($event) => togglePlanExpand(item.id), item.id), + f: common_vendor.t(item.runModeName), + g: common_vendor.t(item.cycle), + h: common_vendor.t(formatDate(item.planStartTime)), + i: common_vendor.t(formatDate(item.planEndTime)), + j: formatProgress(item.progress) + "%", + k: common_vendor.t(formatProgress(item.progress)), + l: common_vendor.t(item.pendingCount ?? 0), + m: common_vendor.t(item.waitCheckNum ?? 0), + n: common_vendor.t(item.unusualNum ?? 0), + o: common_vendor.t(item.finishedCount ?? 0), + p: common_vendor.o(($event) => goTodayInspect(item), item.id), + q: common_vendor.o(($event) => goPlanCheckList(item), item.id), + r: isPlanExpanded(item.id), + s: !isPlanExpanded(item.id) ? 1 : "", + t: item.id + }; }), - i: common_vendor.f(dangerTabs.value, (tab, index, i0) => { + i: hasMoreCheckPlans.value + }, hasMoreCheckPlans.value ? { + j: common_vendor.o(loadMoreCheckPlans) + } : {}, { + k: common_vendor.f(dangerTabs.value, (tab, index, i0) => { return { a: common_vendor.t(tab.label), b: activeDangerTab.value === index ? 1 : "", @@ -287,9 +384,9 @@ const _sfc_main = { d: common_vendor.o(($event) => switchDangerTab(index), index) }; }), - j: filteredDangerData.value.length === 0 + l: filteredDangerData.value.length === 0 }, filteredDangerData.value.length === 0 ? {} : {}, { - k: common_vendor.f(filteredDangerData.value, (item, index, i0) => { + m: common_vendor.f(filteredDangerData.value, (item, index, i0) => { return common_vendor.e({ a: common_vendor.t(item.title), b: common_vendor.t(item.levelName), @@ -316,7 +413,7 @@ const _sfc_main = { q: item.hazardId }); }), - l: common_vendor.gei(_ctx, "") + n: common_vendor.gei(_ctx, "") }); }; } diff --git a/unpackage/dist/dev/mp-weixin/pages/index/index.json b/unpackage/dist/dev/mp-weixin/pages/index/index.json index e46b947..948fedb 100644 --- a/unpackage/dist/dev/mp-weixin/pages/index/index.json +++ b/unpackage/dist/dev/mp-weixin/pages/index/index.json @@ -1,8 +1,9 @@ { - "navigationBarTitleText": "三查一曝光", + "navigationBarTitleText": "湘西州“三个一”安全管理平台", "navigationStyle": "custom", "navigationBarTextStyle": "white", "usingComponents": { - "u-navbar": "../../uni_modules/uview-plus/components/u-navbar/u-navbar" + "u-navbar": "../../uni_modules/uview-plus/components/u-navbar/u-navbar", + "u-icon": "../../uni_modules/uview-plus/components/u-icon/u-icon" } } \ No newline at end of file diff --git a/unpackage/dist/dev/mp-weixin/pages/index/index.wxml b/unpackage/dist/dev/mp-weixin/pages/index/index.wxml index 50c6037..325476f 100644 --- a/unpackage/dist/dev/mp-weixin/pages/index/index.wxml +++ b/unpackage/dist/dev/mp-weixin/pages/index/index.wxml @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/unpackage/dist/dev/mp-weixin/pages/index/index.wxss b/unpackage/dist/dev/mp-weixin/pages/index/index.wxss index 31f4722..6f7cf20 100644 --- a/unpackage/dist/dev/mp-weixin/pages/index/index.wxss +++ b/unpackage/dist/dev/mp-weixin/pages/index/index.wxss @@ -139,6 +139,14 @@ border-radius: 20rpx; padding: 20rpx; } +.inspect-list-btn.data-v-1cf27b2a { + margin: 0; + padding: 0 24rpx; + height: 56rpx; + line-height: 56rpx; + font-size: 24rpx; + flex-shrink: 0; +} .plan-card.data-v-1cf27b2a { border-radius: 16rpx; overflow: hidden; @@ -149,6 +157,7 @@ padding: 24rpx 30rpx; display: flex; align-items: center; + justify-content: space-between; } .plan-header .plan-header-icon.data-v-1cf27b2a { width: 36rpx; @@ -156,14 +165,34 @@ margin-right: 12rpx; } .plan-header .plan-header-title.data-v-1cf27b2a { + flex: 1; + min-width: 0; + padding-right: 16rpx; color: #fff; font-size: 30rpx; font-weight: bold; } +.plan-toggle-btn.data-v-1cf27b2a { + flex-shrink: 0; + display: flex; + align-items: center; + justify-content: center; + width: 48rpx; + height: 48rpx; +} .plan-body.data-v-1cf27b2a { padding: 24rpx 30rpx 10rpx 30rpx; background: #fff; } +.plan-body--collapsed.data-v-1cf27b2a { + padding-bottom: 24rpx; +} +.plan-load-more.data-v-1cf27b2a { + text-align: center; + padding: 24rpx 0 8rpx; + font-size: 28rpx; + color: #2667E9; +} .plan-stats.data-v-1cf27b2a { display: flex; background: #F5F7FA; diff --git a/unpackage/dist/dev/mp-weixin/pages/login/forget.js b/unpackage/dist/dev/mp-weixin/pages/login/forget.js index d559094..d1e69b7 100644 --- a/unpackage/dist/dev/mp-weixin/pages/login/forget.js +++ b/unpackage/dist/dev/mp-weixin/pages/login/forget.js @@ -147,10 +147,10 @@ const _sfc_main = { a: common_vendor.p({ isBack: true }), - b: common_assets._imports_0$5, + b: common_assets._imports_0$6, c: phone.value, d: common_vendor.o(($event) => phone.value = $event.detail.value), - e: common_assets._imports_1$3, + e: common_assets._imports_1$4, f: !showPassword.value, g: password.value, h: common_vendor.o(($event) => password.value = $event.detail.value), diff --git a/unpackage/dist/dev/mp-weixin/pages/login/login.js b/unpackage/dist/dev/mp-weixin/pages/login/login.js index c51ab4b..240ec5e 100644 --- a/unpackage/dist/dev/mp-weixin/pages/login/login.js +++ b/unpackage/dist/dev/mp-weixin/pages/login/login.js @@ -75,11 +75,11 @@ const _sfc_main = { }; return (_ctx, _cache) => { return { - a: common_assets._imports_0$4, - b: common_assets._imports_0$5, + a: common_assets._imports_0$5, + b: common_assets._imports_0$6, c: username.value, d: common_vendor.o(($event) => username.value = $event.detail.value), - e: common_assets._imports_1$3, + e: common_assets._imports_1$4, f: showPassword.value, g: password.value, h: common_vendor.o(($event) => password.value = $event.detail.value), diff --git a/unpackage/dist/dev/mp-weixin/pages/login/login.wxml b/unpackage/dist/dev/mp-weixin/pages/login/login.wxml index 8daf83f..3f46901 100644 --- a/unpackage/dist/dev/mp-weixin/pages/login/login.wxml +++ b/unpackage/dist/dev/mp-weixin/pages/login/login.wxml @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/unpackage/dist/dev/mp-weixin/pages/login/success.js b/unpackage/dist/dev/mp-weixin/pages/login/success.js index 5189a62..ce1f24d 100644 --- a/unpackage/dist/dev/mp-weixin/pages/login/success.js +++ b/unpackage/dist/dev/mp-weixin/pages/login/success.js @@ -9,7 +9,7 @@ const _sfc_main = { return common_vendor.e({ a: success }, { - b: common_assets._imports_0$6 + b: common_assets._imports_0$7 }, { d: common_vendor.gei(_ctx, "") }); diff --git a/unpackage/dist/dev/mp-weixin/pages/membermanagemen/membermanagemen.js b/unpackage/dist/dev/mp-weixin/pages/membermanagemen/membermanagemen.js index 3c32791..008a4f4 100644 --- a/unpackage/dist/dev/mp-weixin/pages/membermanagemen/membermanagemen.js +++ b/unpackage/dist/dev/mp-weixin/pages/membermanagemen/membermanagemen.js @@ -39,10 +39,10 @@ const _sfc_main = { const userInfoStr = common_vendor.index.getStorageSync("userInfo"); if (userInfoStr) { userInfo.value = JSON.parse(userInfoStr); - common_vendor.index.__f__("log", "at pages/membermanagemen/membermanagemen.vue:147", "用户信息:", userInfo.value); + common_vendor.index.__f__("log", "at pages/membermanagemen/membermanagemen.vue:166", "用户信息:", userInfo.value); } } catch (error) { - common_vendor.index.__f__("error", "at pages/membermanagemen/membermanagemen.vue:150", "获取用户信息失败:", error); + common_vendor.index.__f__("error", "at pages/membermanagemen/membermanagemen.vue:169", "获取用户信息失败:", error); } }; const list = common_vendor.ref([]); @@ -51,43 +51,103 @@ const _sfc_main = { const res = await request_api.getMemberList(); if (res.code === 0 && res.data) { list.value = res.data; - common_vendor.index.__f__("log", "at pages/membermanagemen/membermanagemen.vue:163", "成员列表:", res.data); + common_vendor.index.__f__("log", "at pages/membermanagemen/membermanagemen.vue:182", "成员列表:", res.data); } } catch (error) { - common_vendor.index.__f__("error", "at pages/membermanagemen/membermanagemen.vue:166", "获取成员列表失败:", error); + common_vendor.index.__f__("error", "at pages/membermanagemen/membermanagemen.vue:185", "获取成员列表失败:", error); } }; const showPopup = common_vendor.ref(false); const showRolePicker = common_vendor.ref(false); + const showPostPicker = common_vendor.ref(false); const selectedRoleName = common_vendor.ref(""); + const selectedPostName = common_vendor.ref(""); const formData = common_vendor.reactive({ username: "", nickname: "", phone: "", password: "", - roleType: "" + roleType: "", + postId: "" }); - const roleColumns = common_vendor.reactive([ - ["管理员", "普通成员"] - ]); - const roleMap = { - "管理员": "manage", - "普通成员": "common" + const roleOptions = common_vendor.ref([]); + const roleColumns = common_vendor.ref([[]]); + const postOptions = common_vendor.ref([]); + const postColumns = common_vendor.ref([[]]); + const postPlaceholder = common_vendor.computed(() => { + if (!userInfo.value.deptId) + return "请先登录并确认部门信息"; + return postOptions.value.length ? "请选择岗位" : "暂无可用岗位"; + }); + const openAddMemberPopup = async () => { + getUserInfo(); + const deptId = userInfo.value.deptId; + if (!deptId) { + common_vendor.index.showToast({ title: "缺少部门信息,无法添加成员", icon: "none" }); + return; + } + try { + common_vendor.index.showLoading({ title: "加载中..." }); + const [optionsRes, postRes] = await Promise.all([ + request_api.getSystemUserFormOptions(), + request_api.listPostByDeptId(deptId) + ]); + common_vendor.index.hideLoading(); + if (optionsRes.code !== 0 || !Array.isArray(optionsRes.roles) || !optionsRes.roles.length) { + common_vendor.index.showToast({ title: optionsRes.msg || "获取角色列表失败", icon: "none" }); + return; + } + roleOptions.value = optionsRes.roles.filter((item) => item.status === "0"); + roleColumns.value = [roleOptions.value.map((item) => item.roleName)]; + const posts = postRes.data || postRes.rows || []; + postOptions.value = posts.filter((item) => item.status === "0"); + postColumns.value = [postOptions.value.map((item) => item.postName)]; + showPopup.value = true; + } catch (error) { + common_vendor.index.hideLoading(); + common_vendor.index.__f__("error", "at pages/membermanagemen/membermanagemen.vue:251", "获取表单选项失败:", error); + common_vendor.index.showToast({ + title: (error == null ? void 0 : error.msg) || "获取表单选项失败", + icon: "none" + }); + } + }; + const openPostPicker = () => { + if (!postOptions.value.length) { + common_vendor.index.showToast({ title: "当前部门暂无可用岗位", icon: "none" }); + return; + } + showPostPicker.value = true; }; const onRoleConfirm = (e) => { if (e.value && e.value.length > 0) { - selectedRoleName.value = e.value[0]; - formData.roleType = roleMap[e.value[0]]; + const roleName = e.value[0]; + const role = roleOptions.value.find((item) => item.roleName === roleName); + selectedRoleName.value = roleName; + formData.roleType = (role == null ? void 0 : role.roleKey) || ""; } showRolePicker.value = false; }; + const onPostConfirm = (e) => { + if (e.value && e.value.length > 0) { + const postName = e.value[0]; + const post = postOptions.value.find((item) => item.postName === postName); + selectedPostName.value = postName; + formData.postId = (post == null ? void 0 : post.postId) ?? ""; + } + showPostPicker.value = false; + }; const resetForm = () => { formData.username = ""; formData.nickname = ""; formData.phone = ""; formData.password = ""; formData.roleType = ""; + formData.postId = ""; selectedRoleName.value = ""; + selectedPostName.value = ""; + postOptions.value = []; + postColumns.value = [[]]; }; const handleSubmit = async () => { if (!formData.username) { @@ -102,13 +162,23 @@ const _sfc_main = { common_vendor.index.showToast({ title: "请选择角色类型", icon: "none" }); return; } + getUserInfo(); + const deptId = userInfo.value.deptId; + if (!deptId) { + common_vendor.index.showToast({ title: "缺少部门信息,无法添加成员", icon: "none" }); + return; + } const params = { userName: formData.username, nickName: formData.nickname || "", phonenumber: formData.phone || "", password: formData.password, - roleType: formData.roleType + roleType: formData.roleType, + deptId }; + if (formData.postId) { + params.postId = formData.postId; + } try { const res = await request_api.addMember(params); if (res.code === 0) { @@ -120,7 +190,7 @@ const _sfc_main = { common_vendor.index.showToast({ title: res.msg || "添加失败", icon: "none" }); } } catch (error) { - common_vendor.index.__f__("error", "at pages/membermanagemen/membermanagemen.vue:249", "添加成员失败:", error); + common_vendor.index.__f__("error", "at pages/membermanagemen/membermanagemen.vue:349", "添加成员失败:", error); common_vendor.index.showToast({ title: "请求失败", icon: "none" }); } }; @@ -147,7 +217,7 @@ const _sfc_main = { common_vendor.index.showToast({ title: result.msg || `${actionText}失败`, icon: "none" }); } } catch (error) { - common_vendor.index.__f__("error", "at pages/membermanagemen/membermanagemen.vue:280", `${actionText}成员失败:`, error); + common_vendor.index.__f__("error", "at pages/membermanagemen/membermanagemen.vue:380", `${actionText}成员失败:`, error); common_vendor.index.showToast({ title: "请求失败", icon: "none" }); } } @@ -174,7 +244,7 @@ const _sfc_main = { h: index < list.value.length - 1 ? 1 : "" }; }), - d: common_vendor.o(($event) => showPopup.value = true), + d: common_vendor.o(openAddMemberPopup), e: common_vendor.o(($event) => showPopup.value = false), f: common_vendor.o(($event) => formData.username = $event), g: common_vendor.p({ @@ -205,23 +275,33 @@ const _sfc_main = { n: common_vendor.t(selectedRoleName.value || "请选择角色类型"), o: common_vendor.n(selectedRoleName.value ? "" : "text-gray"), p: common_vendor.o(($event) => showRolePicker.value = true), - q: common_vendor.o(($event) => showPopup.value = false), - r: common_vendor.o(handleSubmit), - s: common_vendor.o(($event) => showPopup.value = false), - t: common_vendor.p({ + q: common_vendor.t(selectedPostName.value || postPlaceholder.value), + r: common_vendor.n(selectedPostName.value ? "" : "text-gray"), + s: common_vendor.o(openPostPicker), + t: common_vendor.o(($event) => showPopup.value = false), + v: common_vendor.o(handleSubmit), + w: common_vendor.o(($event) => showPopup.value = false), + x: common_vendor.p({ show: showPopup.value, mode: "center", round: "20", safeAreaInsetBottom: false }), - v: common_vendor.o(onRoleConfirm), - w: common_vendor.o(($event) => showRolePicker.value = false), - x: common_vendor.o(($event) => showRolePicker.value = false), - y: common_vendor.p({ - show: showRolePicker.value, - columns: roleColumns + y: common_vendor.o(onPostConfirm), + z: common_vendor.o(($event) => showPostPicker.value = false), + A: common_vendor.o(($event) => showPostPicker.value = false), + B: common_vendor.p({ + show: showPostPicker.value, + columns: postColumns.value }), - z: common_vendor.gei(_ctx, "") + C: common_vendor.o(onRoleConfirm), + D: common_vendor.o(($event) => showRolePicker.value = false), + E: common_vendor.o(($event) => showRolePicker.value = false), + F: common_vendor.p({ + show: showRolePicker.value, + columns: roleColumns.value + }), + G: common_vendor.gei(_ctx, "") }; }; } diff --git a/unpackage/dist/dev/mp-weixin/pages/membermanagemen/membermanagemen.wxml b/unpackage/dist/dev/mp-weixin/pages/membermanagemen/membermanagemen.wxml index dbea6c7..d2d18ff 100644 --- a/unpackage/dist/dev/mp-weixin/pages/membermanagemen/membermanagemen.wxml +++ b/unpackage/dist/dev/mp-weixin/pages/membermanagemen/membermanagemen.wxml @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/unpackage/dist/dev/mp-weixin/pages/personalcenter/helpcenter.js b/unpackage/dist/dev/mp-weixin/pages/personalcenter/helpcenter.js index 56953af..022afe0 100644 --- a/unpackage/dist/dev/mp-weixin/pages/personalcenter/helpcenter.js +++ b/unpackage/dist/dev/mp-weixin/pages/personalcenter/helpcenter.js @@ -4,8 +4,8 @@ const common_assets = require("../../common/assets.js"); const _sfc_main = {}; function _sfc_render(_ctx, _cache) { return { - a: common_assets._imports_0$3, - b: common_assets._imports_1$2, + a: common_assets._imports_0$4, + b: common_assets._imports_1$3, c: common_vendor.gei(_ctx, "") }; } diff --git a/unpackage/dist/dev/mp-weixin/pages/personalcenter/my.js b/unpackage/dist/dev/mp-weixin/pages/personalcenter/my.js index 026c4f5..34b49f3 100644 --- a/unpackage/dist/dev/mp-weixin/pages/personalcenter/my.js +++ b/unpackage/dist/dev/mp-weixin/pages/personalcenter/my.js @@ -82,9 +82,9 @@ const _sfc_main = { b: getImageUrl(userInfo.avatar) || defaultAvatar, c: common_vendor.t(userInfo.nickName || "未设置昵称"), d: common_vendor.t(userInfo.phonenumber || "未绑定手机"), - e: common_assets._imports_0$2, + e: common_assets._imports_0$3, f: common_vendor.o(($event) => editinfo()), - g: common_assets._imports_1$1, + g: common_assets._imports_1$2, h: common_vendor.o(($event) => editinfo()), i: common_assets._imports_2, j: common_vendor.o(($event) => Account()), diff --git a/unpackage/dist/dev/mp-weixin/request/api.js b/unpackage/dist/dev/mp-weixin/request/api.js index 28a8ed4..be4082b 100644 --- a/unpackage/dist/dev/mp-weixin/request/api.js +++ b/unpackage/dist/dev/mp-weixin/request/api.js @@ -7,12 +7,26 @@ function getCheckPlanList(params) { data: params }); } +function getPlanTableDetail(params) { + return request_request.requestAPI({ + url: "/frontend/plan/tableDetail", + method: "GET", + data: params + }); +} function enterCheckPlan(oneTableId) { return request_request.requestAPI({ url: `/frontend/task/start/${oneTableId}`, method: "GET" }); } +function getAllTask(oneTableId, taskDate) { + const date = String(taskDate || "").split(" ")[0]; + return request_request.requestAPI({ + url: `/frontend/task/getAllTask/${oneTableId}/${date}`, + method: "GET" + }); +} function getCheckTaskDetail(taskId) { return request_request.requestAPI({ url: `/frontend/task/detail/${taskId}`, @@ -26,6 +40,13 @@ function submitCheckResult(params) { data: params }); } +function submitAllTask(data) { + return request_request.requestAPI({ + url: "/frontend/task/submitAll", + method: "POST", + data + }); +} function addHiddenDanger(params) { return request_request.requestAPI({ url: "/frontend/hazard/add", @@ -66,6 +87,12 @@ function getHiddenDangerDetail(params) { data: filteredParams }); } +function getHazardDetail(hazardId) { + return request_request.requestAPI({ + url: `/admin/hazard/detail/${hazardId}`, + method: "GET" + }); +} function getHiddenDangerList(params) { return request_request.requestAPI({ url: "/frontend/hazard/my/list", @@ -128,6 +155,20 @@ function lockOrUnlockMember(params) { data: params }); } +function getSystemUserFormOptions() { + return request_request.requestAPI({ + url: "/system/user/", + method: "GET", + loadingText: false + }); +} +function listPostByDeptId(deptId) { + return request_request.requestAPI({ + url: `/system/post/listByDeptId/${deptId}`, + method: "GET", + loadingText: false + }); +} function applyDelete(params) { return request_request.requestAPI({ url: "/frontend/hazard/writeoff/apply", @@ -317,6 +358,7 @@ exports.enterCheckPlan = enterCheckPlan; exports.generateRectifyPlan = generateRectifyPlan; exports.generateWriteoffContent = generateWriteoffContent; exports.getAcceptanceList = getAcceptanceList; +exports.getAllTask = getAllTask; exports.getCheckItemList = getCheckItemList; exports.getCheckItemListDetail = getCheckItemListDetail; exports.getCheckPlanList = getCheckPlanList; @@ -327,6 +369,7 @@ exports.getDeptUsers = getDeptUsers; exports.getDeptUsersWithSubordinates = getDeptUsersWithSubordinates; exports.getEnterpriseinfo = getEnterpriseinfo; exports.getEnterprisetype = getEnterprisetype; +exports.getHazardDetail = getHazardDetail; exports.getHiddenDangerDetail = getHiddenDangerDetail; exports.getHiddenDangerLabelList = getHiddenDangerLabelList; exports.getHiddenDangerList = getHiddenDangerList; @@ -335,13 +378,17 @@ exports.getMemberList = getMemberList; exports.getMyHiddenDangerList = getMyHiddenDangerList; exports.getMyWriteOffList = getMyWriteOffList; exports.getParentDepts = getParentDepts; +exports.getPlanTableDetail = getPlanTableDetail; exports.getQiniuUploadToken = getQiniuUploadToken; exports.getRectifyDetail = getRectifyDetail; exports.getRegulationList = getRegulationList; +exports.getSystemUserFormOptions = getSystemUserFormOptions; exports.getWriteOffApplyDetail = getWriteOffApplyDetail; exports.getindustry = getindustry; +exports.listPostByDeptId = listPostByDeptId; exports.lockOrUnlockMember = lockOrUnlockMember; exports.login = login; +exports.submitAllTask = submitAllTask; exports.submitCheckResult = submitCheckResult; exports.submitRectification = submitRectification; exports.updateEnterprise = updateEnterprise; diff --git a/unpackage/dist/dev/mp-weixin/request/request.js b/unpackage/dist/dev/mp-weixin/request/request.js index 45202b3..7ef45b1 100644 --- a/unpackage/dist/dev/mp-weixin/request/request.js +++ b/unpackage/dist/dev/mp-weixin/request/request.js @@ -1,7 +1,7 @@ "use strict"; const common_vendor = require("../common/vendor.js"); const request_luchRequest_core_Request = require("./luch-request/core/Request.js"); -const baseUrl = "http://192.168.1.168:5004"; +const baseUrl = "https://yingji.hexieapi.com/prod-api"; const imageBaseUrl = baseUrl.replace(/\/prod-api\/?$/, ""); new request_luchRequest_core_Request.Request({ baseURL: baseUrl, @@ -60,7 +60,7 @@ const requestAPI = (config) => { success: (res) => { common_vendor.index.hideLoading(); if (res.statusCode !== 200) { - common_vendor.index.__f__("error", "at request/request.js:86", "HTTP错误:", res.statusCode); + common_vendor.index.__f__("error", "at request/request.js:88", "HTTP错误:", res.statusCode); reject(`HTTP_${res.statusCode}`); return; } @@ -79,7 +79,7 @@ const requestAPI = (config) => { reject({ code: 401, msg: "登录已过期" }); } else { const errorMsg = res.data.msg || res.data.message || res.data.error || res.msg || "请求失败"; - common_vendor.index.__f__("error", "at request/request.js:111", "接口错误:", res.data); + common_vendor.index.__f__("error", "at request/request.js:113", "接口错误:", res.data); showToast(errorMsg); reject({ code: res.data.code, msg: errorMsg, data: res.data }); } @@ -88,7 +88,7 @@ const requestAPI = (config) => { } }, fail: (err) => { - common_vendor.index.__f__("error", "at request/request.js:122", "网络请求失败:", err); + common_vendor.index.__f__("error", "at request/request.js:124", "网络请求失败:", err); common_vendor.index.hideLoading(); if (err.errMsg && err.errMsg.includes("request:fail")) { showToast("网络连接失败,请检查网络设置"); diff --git a/unpackage/dist/dev/mp-weixin/static/yinhuan_detail/date.png b/unpackage/dist/dev/mp-weixin/static/yinhuan_detail/date.png new file mode 100644 index 0000000000000000000000000000000000000000..ee818441eae9300ebdc98fefc2e660f747d82648 GIT binary patch literal 2709 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 n|NnyDW>;lf20S# z`57YW2BGqE1R0Y|d!F|qZBj`ER4$iy_V(=f6(CM^nv0pcSmgCiI_v361(eGf-@(ue zpk!SFGeIPiBytDsS`9^hsWmp?(H0Pv;3N~hT(>VG0SOf<^9v7~mVMZ?@`sj#@F`;X zP=fGqKA#^el}cS#Jnv)Q_xIGtZRFh+5cWkOX-tUwP1|-bY3!9VXU@!-X8xj8EKaCy zPtW$NLQF!9?p1#JAT9RFB?$7=jK zA1#1Hw&_WV&ETuQjhQwL-*?_2rn8M*e6Y7?`&W&!Y+MXT-F(G$-(;5KjYD~l?>J4e zgog0D*x+*s$!e3|a@~vjR+-GN7*LMrpfHWZuBVj({sI|PqLgA<_FjqP{bV=z;&L^3 z)V7CiCFNP#F(9i@xPjw5(lSV7E)wo*ktYQ?-k)S6q8Z)vNm^@3I^^907+USZb%YyhOg)!4t);1vm@J_Ni`OxlH$G=!sl)%VLsz8oIz@qPah z&nuto-Ld^QP6SXLABNF+eQ%Un0I8v&p`qE8Jw=3oH$=k2INCT(#`r(mwpK`@IVNM2 z5OXM5n1=B|sUA(LrnTDwYEsrf*(7RZh2&bLvT&}oXMK`20Ywpg4U-j6`-)R26b)Kd zeh|wWv{%Y5T@w)Y(NtxA;c@J#L1NNh$TSH}fkwkf`YQ{IyDh75E&G(6HP-~B!|~-y z*i+X`(|$t(p=sL(K>Ywas(rMHB@>`coNrB24+fx1moDu>qJPtKohsgvg;dw`-0N6k z1k-d!)jZ_;m-lO+b6xkbbk+ZRwrt7e!M()Dr}55IRTn|@HKZj!cLHU2o^zQbH^m5a z$Q1up9s?et4h6>V;&>xhLWEZ@x0}LXq4(+?n5c`13q81Pd|oa;QI|KrgCKH9WTsi3 znMZ`*+LgQ6ZVp3O`tf&e_+lp7S2g&S@B2sEO@iOUZN#6wh(pIBiB2O?>on1K&o3T z7XJt$IV?n}8KUalBkIQg@l*pKod}+qsaAtS@YIa*_lwjC%hm973m^rc3A(Ux0O{#n zC0lAM6Cs5`rg==~Z3{?^Se8|(%r72=8^@KuhqM$5_36s!9I1e`6DMn_vaoPWNXk^p zg%E2r-ee_=5lP>V8vhV-PT-Wsx0H^6RzU@pl`op6japthO` zUXCRnQvseCjrrBaeF3C%S^4}3aV_}H>K1^<9hEoJ re*gdg|NobAcVYkl00v1!K~w_(ud;I-b)!Bx00000NkvXXu0mjf3VWu< literal 0 HcmV?d00001 diff --git a/unpackage/dist/dev/mp-weixin/static/yinhuan_detail/status.png b/unpackage/dist/dev/mp-weixin/static/yinhuan_detail/status.png new file mode 100644 index 0000000000000000000000000000000000000000..b4f173838acd8fad1876edbf7cb887af546f2d57 GIT binary patch literal 1567 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 DegdYl literal 0 HcmV?d00001 diff --git a/unpackage/dist/dev/mp-weixin/static/yinhuan_detail/xiaohao__unselected.png b/unpackage/dist/dev/mp-weixin/static/yinhuan_detail/xiaohao__unselected.png new file mode 100644 index 0000000000000000000000000000000000000000..e46ddc37d9db747abf8492e9b09fb2b88469f5ae GIT binary patch literal 1153 zcmV-{1b+L8P);=xNWAYu-J(>=RvLIg)5B+Slq z_iDhaV8BZb2`I#axCak=@F3_R2M>E#a1S}`fL*y3lAe4%%eHc)7vFtwl|IZI~h9mu6-P zm!;2LbAwkZv!6oF8KVm0oZo019i@_$zX%}KO%o#+Q^tZTurIqd z`J9>}{42&E#0>pw+-JT-i{*0p^9;vIjs#y{Z@mSg(*rXZ>4g$fWk7Bitn1=_yUfU? z4F#8-6(z_5(XrLkDA~cqTk|GXY?FJuq2OauD*;zT<({#Do>7frW)FH2a#jk}0Q+?G}CqZ2>|5*n65avhs%*&@OKc;qH=mrXg# zGv4WrM}iw2O|Zt!0Jt@^U@cux-R%c;m~mIQavAZ#bT zm>&T$mLEOtyx_R*vsK4^vFg^I(?qvojr5y5MKV*>J5qH~YT~pO*#*@b10)A1W2T~4Mx2}KSP?dRZ$4#|i21Vgk)rf@>MnzhRNdMKV0=cPtL=9CfduPMGI{?K zOIUri#H_Cyj%qfWiwr(*2DuyaPI87?Z)tjTt6VCbmh)cBV}pR#e1GkfDi-Jp5%vGI z##xZRR^WNx2d&l_6bqLe=i(L>3MVYnwj&<%ov6=z6pBmYDZGnm3gHVVx*@yhMSFT| zNJI;08|D0MaFrG0+nK(HX z0=87B`Jxd_+lVkP=_9+>za=&p=OlxclCcox0uwJJ&+bkb{;q1Z+I3mLF#^?T$`*#< zfp+`hhG6_HO`J(Zu-=fk_<7y;zc#%NahrOvC2zmw<>fz>QI-X4e(5;hOxspgR?M?% zud^4P6?@V1Dgq*W%-}ktkH#W|WQqoi9wKnVdm7CwVlULMGw_$yp6pnIj+_J9H42><{9|Nrh(@P7aR00v1!K~w_(h)9yM Th8`3800000NkvXXu0mjf#&sUB literal 0 HcmV?d00001 diff --git a/unpackage/dist/dev/mp-weixin/static/yinhuan_detail/yanshou__selected.png b/unpackage/dist/dev/mp-weixin/static/yinhuan_detail/yanshou__selected.png new file mode 100644 index 0000000000000000000000000000000000000000..58f4ae67e426a0864ffadc2afc6d9410762e3226 GIT binary patch literal 780 zcmV+n1M~ceP)~byiKM|O2qK7D1<|5fG!V528a4_QMTAroR1^e}t7xLAg%lM8EhQSgTN1?&a~R?{{x*a`Rxr@%9bUMG^rt(he;avHPUh!06@yMi@F zS1=WgE#QgD$Ae9XXp(UiMKfZaawLr3_qr2pWA3F;5`YSFN5C{|rvK@A-f^7Mj!($H z3Qb^|CAy8CsXSYI{X)JL81Gpmj%t?ZEqXP8ez{*N$v*(5S)yjgm7H96qCc3;LD(07 z z3~+LS++0ZKHud4nw@f_=zv0&c{?KlQDTrm0Bxq^OKu~>XhD^~SGVYRmb1oda2UQSD z)FnrYN(R1*x;P4NA=$dTOD=;9pdCO0K9=>8@DS=?59kqmjL)(}qb-BAbi4rCbm5k? zA&$O+LP&&;nz_U`6YJgl zj&pi^%<3gKs&#Ot7m-+tmxkOHdoX9x}xd#0J{S@IeIzBI4|XYZe$ z=^ga{4w>)`4uiHl4-k~688M005bB!aeA_NEwa%t6p!#2;t(j^wty!O>t<^{OvzmCG zNmT!1R1`sk^|+j4q--vyUVrVxTBE<cYM zF-l^beqv2PFNr(EpE;%qCY*2600030|LnxqS^xk521!IgR09BNb$3P93yhoq0000< KMNUMnLSTXbNnzXo literal 0 HcmV?d00001 diff --git a/unpackage/dist/dev/mp-weixin/static/yinhuan_detail/yanshou__unselected.png b/unpackage/dist/dev/mp-weixin/static/yinhuan_detail/yanshou__unselected.png new file mode 100644 index 0000000000000000000000000000000000000000..221427b886c74dc88b9bf4a600a72dbe97acea04 GIT binary patch literal 730 zcmV<00ww*4P)Z=> ze|4QX>PL=kUxDDl;1RwX)PlQ!xG(Jff6H~PG0U~G4QGD&K_3d z7^*R-IwIzPhF;9i-`@Q%W-6e+!4IuBc08|Et3%RG6U3_mr+=-j-AM)Hc|Vs3aI_8voDBqleHiQr>s@Ui2Afj(Ppcc^wwl^%ic_v-Qe#3g8$+d54Ai~y#yeOQB z=mZcfZAfZ2;wb>+jT;f+c@2b=J!zU|7L=<}sT>4^{fevSss`eK_jlz+eyhik-)es1 z$cZ2VvdE`t-n32bA1XR1)Vw)E21bIs5XEUxELw>8B|5Tq5K)8QTJV}Zk-;PckS^UQ z6w1Id6FF|fvO?XK4AQw)0~Awra%$wtmL2MA|mJt_^v8*PF! zZdBE(SKkXjAKQa{8h0FLj1#7rFBGOEgzH(yvF`z39%3#H#NRg)(>HJl~KBj7b@$4LVL`3szJpH*=deh0u~(7A?@{8#+Le8_EY5n!^@)V-#If_`!_RSgGj z<<2t$#LMhC&PptCpu~Z_cGx-)fq$Js$Gm#vC)b-T|0obGM`zq+M*ce?!pD3scBxca zCd5sg43v4v8TYymz2_`EmpCIt+{2y5`%u>`?DFXtkwV#qp!PAJ!lw#_L}(bi_=_QD z3I-7_8U*WC0YU!6YRnkC2yS_vH~R+w0RR6WQyX>w000I_L_t&o0HDT~V}y{jrT_o{ M07*qoM6N<$g7HjB#Q*>R literal 0 HcmV?d00001 diff --git a/unpackage/dist/dev/mp-weixin/static/yinhuan_detail/zhenggai__unselected.png b/unpackage/dist/dev/mp-weixin/static/yinhuan_detail/zhenggai__unselected.png new file mode 100644 index 0000000000000000000000000000000000000000..c562341afba900c995afbad7edb62919fd8a88cb GIT binary patch literal 991 zcmV<510ei~P)o1NoFxbr3wZ? z5bD7N#qFRTL=;pIT&jpg#GB&Qw9w2v|JTwo#w3$8w8Q%*|NFOZ{{Ovs69!dYj%Dqz zZL8CMkMr&vI%3c7;_va4#*Btq}HA7>P)B86S&Zq(mFmMUEzVyO6}i0 zU@VKUy{Rdr)z{fnS#%(fel<7O`{8UNF^O}18Eu$*q$@la9#RjijDdvh?d_qjixxS6 zxJL!}K`kEN6AE?Enobr%UjZQR`t3e>Vnf5&acW+Yke;gM>z6NSK-i_63jq-{s{GAq z(`?|vSV_J&A^$>nw{`2@-%4GSP?3!f*R@fC?aDC#S}(&_ROt+AZzHw$y5FDn+Tc_3F5RBE&quDb+)8(@eRB8C~_({txe)(g@4BtOj{ zp(68gxyu091XW%Vpt+@G-_Js6`Un-7baPi|gRCp$RFTe;jk>O1Ef&Kvnami^&0VFZ zYAohduHKWdiq6>oUkhIX_Up%Yi{`5c)eZEPQ)PF8k}wIlI>;%=9s*p-dGvmepR%hp z9HWFG1KowYg?LzQydtbA*E!#hy0d`u)~EUUQgcQJaBV4vA~p}uol7Ukiz4=-YI;Yp z(h7TNH_oBTUKPz+!cbXDrRxE>pxR%i5+sw!>GZYUGF-4Mt5JQ_6&G_Hb8}6I zby7Ps!v%(LqdVL6ERjfzBN-Elc?2-8ma&a=(m>q^ko8l9u%6MbJkviL_WO4Lc7;uu zI(0w&v*JW|TLL^94j|wK=6Xx$jrjZ*00960HG3kC?Y5Vp@oYc z6ulPJBBDSA!8f9~R}eu2!SVZD#=*JXGjq=zX5#nFIdjkd{J+k0=T7mM7m6ukoUuFzV!9toIrsG}kAea``uLUpay|s`=9#nds_mKvF zz?6H`H3t{1gf!4;?$BhIc?HsH=D)y{Tht{%`}~^7LN=*3$*vnv3A$0%Agy8k6HK|n z!g=tcCjKPX3$i7wKY~V>kEDaFtwXw(i{HVNo7DL(|HV|L>l8}%nE3?=W;GY|RalR7 zKl5)8mbF|ggIG=>vZWO1wm-*cicZ=??FOU=DEb7!^szRni$)<0Bzr;88ORq&yV$dd z#tDi)z`|tyDME#8Tt@XvsE4SLw3EG?*>D8jgHq35;ix>*|Y_Y z!X9L=88gWeB3r>qD;$SHQ^Cf6P>$>`V^%W4wCpXb$G|oE7$?G-_`mB<^?g|m#?k##UyMMB#X&S2Pvtc%e) zw!&!)I$1YkL9r1|Vc5yZdKn9jghLT_k5MC8AEQ$wJVb|Qpr51Xj8C8i?!#@k3L81u z0Hbr_H0p=5a2gumA~Zr1G(!^faXQP?KqrjxJgtJdB9frD|Mk { - return []; - } - }, - modelValue: { - type: [Number, String, Array], - default: false - }, - type: { - type: [String], - default: "radio" - }, - itemWidth: { - type: [String], - default: "auto" - }, - itemHeight: { - type: [String], - default: "50px" - }, - itemPadding: { - type: [String], - default: "8px" - }, - labelName: { - type: String, - default: "title" - }, - valueName: { - type: String, - default: "value" - }, - customClick: { - type: Boolean, - default: false - }, - // 是否换行 - wrap: { - type: Boolean, - default: true - } - }, - data() { - return { - currentIndex: "" - }; - }, - created: function() { - this.currentIndex = this.modelValue; - }, - emits: ["update:modelValue", "custom-click"], - methods: { - change(index) { - if (this.customClick) { - this.$emit("custom-click", index); - } else { - this.currentIndex = index; - this.$emit("update:modelValue", index); - } - } - } -}; -if (!Array) { - const _easycom_up_tag2 = common_vendor.resolveComponent("up-tag"); - _easycom_up_tag2(); -} -const _easycom_up_tag = () => "../u-tag/u-tag.js"; -if (!Math) { - _easycom_up_tag(); -} -function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) { - return { - a: common_vendor.f($props.options, (item, index, i0) => { - return { - a: common_vendor.t(item[$props.labelName]), - b: common_vendor.n($data.currentIndex === index ? "active" : ""), - c: common_vendor.o(($event) => $options.change(index), item.id), - d: "03109c79-0-" + i0, - e: common_vendor.p({ - type: index == $data.currentIndex ? "primary" : "info", - size: "large", - plain: index == $data.currentIndex ? false : true, - height: $props.itemHeight - }), - f: "d-" + i0, - g: common_vendor.r("d", { - item, - index - }, i0), - h: item.id - }; - }), - b: $props.itemWidth, - c: $props.itemPadding, - d: $props.itemWidth, - e: $props.wrap === false, - f: common_vendor.n($props.wrap ? "up-choose-wrap" : "up-choose-nowrap"), - g: common_vendor.gei(_ctx, "") - }; -} -const Component = /* @__PURE__ */ common_vendor._export_sfc(_sfc_main, [["render", _sfc_render], ["__scopeId", "data-v-03109c79"]]); -wx.createComponent(Component); -//# sourceMappingURL=../../../../../.sourcemap/mp-weixin/uni_modules/uview-plus/components/u-choose/u-choose.js.map diff --git a/unpackage/dist/dev/mp-weixin/uni_modules/uview-plus/components/u-choose/u-choose.json b/unpackage/dist/dev/mp-weixin/uni_modules/uview-plus/components/u-choose/u-choose.json deleted file mode 100644 index 7e56ff5..0000000 --- a/unpackage/dist/dev/mp-weixin/uni_modules/uview-plus/components/u-choose/u-choose.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "component": true, - "usingComponents": { - "up-tag": "../u-tag/u-tag" - } -} \ No newline at end of file diff --git a/unpackage/dist/dev/mp-weixin/uni_modules/uview-plus/components/u-choose/u-choose.wxml b/unpackage/dist/dev/mp-weixin/uni_modules/uview-plus/components/u-choose/u-choose.wxml deleted file mode 100644 index eb203e7..0000000 --- a/unpackage/dist/dev/mp-weixin/uni_modules/uview-plus/components/u-choose/u-choose.wxml +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/unpackage/dist/dev/mp-weixin/uni_modules/uview-plus/components/u-choose/u-choose.wxss b/unpackage/dist/dev/mp-weixin/uni_modules/uview-plus/components/u-choose/u-choose.wxss deleted file mode 100644 index 081ddc6..0000000 --- a/unpackage/dist/dev/mp-weixin/uni_modules/uview-plus/components/u-choose/u-choose.wxss +++ /dev/null @@ -1,39 +0,0 @@ -/** - * 这里是uni-app内置的常用样式变量 - * - * uni-app 官方扩展插件及插件市场(https://ext.dcloud.net.cn)上很多三方插件均使用了这些样式变量 - * 如果你是插件开发者,建议你使用scss预处理,并在插件代码中直接使用这些变量(无需 import 这个文件),方便用户通过搭积木的方式开发整体风格一致的App - * - */ -/** - * 如果你是App开发者(插件使用者),你可以通过修改这些变量来定制自己的插件主题,实现自定义主题功能 - * - * 如果你的项目同样使用了scss预处理,你也可以直接在你的 scss 代码中使用如下变量,同时无需 import 这个文件 - */ -/* uni.scss */ -/* 颜色变量 */ -/* 行为相关颜色 */ -/* 文字基本颜色 */ -/* 背景颜色 */ -/* 边框颜色 */ -/* 尺寸变量 */ -/* 文字尺寸 */ -/* 图片尺寸 */ -/* Border Radius */ -/* 水平间距 */ -/* 垂直间距 */ -/* 透明度 */ -/* 文章场景相关 */ -.up-choose.data-v-03109c79 .up-tag { - font-weight: 600; -} -.up-choose.data-v-03109c79:last-child { - margin-right: 0; -} -.up-choose-wrap.data-v-03109c79 { - flex-wrap: wrap; -} -.up-choose-nowrap.data-v-03109c79 { - flex-wrap: nowrap; - white-space: nowrap; -} \ No newline at end of file diff --git a/unpackage/dist/dev/mp-weixin/uni_modules/uview-plus/components/u-tag/props.js b/unpackage/dist/dev/mp-weixin/uni_modules/uview-plus/components/u-tag/props.js deleted file mode 100644 index 0906324..0000000 --- a/unpackage/dist/dev/mp-weixin/uni_modules/uview-plus/components/u-tag/props.js +++ /dev/null @@ -1,119 +0,0 @@ -"use strict"; -const uni_modules_uviewPlus_libs_vue = require("../../libs/vue.js"); -const uni_modules_uviewPlus_libs_config_props = require("../../libs/config/props.js"); -const props = uni_modules_uviewPlus_libs_vue.defineMixin({ - props: { - // 标签类型info、primary、success、warning、error - type: { - type: String, - default: () => uni_modules_uviewPlus_libs_config_props.props.tag.type - }, - // 不可用 - disabled: { - type: [Boolean, String], - default: () => uni_modules_uviewPlus_libs_config_props.props.tag.disabled - }, - // 标签的大小,large,medium,mini - size: { - type: String, - default: () => uni_modules_uviewPlus_libs_config_props.props.tag.size - }, - // tag的形状,circle(两边半圆形), square(方形,带圆角) - shape: { - type: String, - default: () => uni_modules_uviewPlus_libs_config_props.props.tag.shape - }, - // 标签文字 - text: { - type: [String, Number], - default: () => uni_modules_uviewPlus_libs_config_props.props.tag.text - }, - // 背景颜色,默认为空字符串,即不处理 - bgColor: { - type: String, - default: () => uni_modules_uviewPlus_libs_config_props.props.tag.bgColor - }, - // 标签字体颜色,默认为空字符串,即不处理 - color: { - type: String, - default: () => uni_modules_uviewPlus_libs_config_props.props.tag.color - }, - // 标签的边框颜色 - borderColor: { - type: String, - default: () => uni_modules_uviewPlus_libs_config_props.props.tag.borderColor - }, - // 关闭按钮图标的颜色 - closeColor: { - type: String, - default: () => uni_modules_uviewPlus_libs_config_props.props.tag.closeColor - }, - // 点击时返回的索引值,用于区分例遍的数组哪个元素被点击了 - name: { - type: [String, Number], - default: () => uni_modules_uviewPlus_libs_config_props.props.tag.name - }, - // // 模式选择,dark|light|plain - // mode: { - // type: String, - // default: 'light' - // }, - // 镂空时是否填充背景色 - plainFill: { - type: Boolean, - default: () => uni_modules_uviewPlus_libs_config_props.props.tag.plainFill - }, - // 是否镂空 - plain: { - type: Boolean, - default: () => uni_modules_uviewPlus_libs_config_props.props.tag.plain - }, - // 是否可关闭 - closable: { - type: Boolean, - default: () => uni_modules_uviewPlus_libs_config_props.props.tag.closable - }, - // 是否显示 - show: { - type: Boolean, - default: () => uni_modules_uviewPlus_libs_config_props.props.tag.show - }, - // 内置图标,或绝对路径的图片 - icon: { - type: String, - default: () => uni_modules_uviewPlus_libs_config_props.props.tag.icon - }, - // 图标颜色 - iconColor: { - type: String, - default: () => uni_modules_uviewPlus_libs_config_props.props.tag.iconColor - }, - // 自定义尺寸字体大小 - textSize: { - type: String, - default: () => uni_modules_uviewPlus_libs_config_props.props.tag.textSize - }, - // 自定义尺寸高度 - height: { - type: String, - default: () => uni_modules_uviewPlus_libs_config_props.props.tag.height - }, - // 自定义尺寸padding - padding: { - type: String, - default: () => uni_modules_uviewPlus_libs_config_props.props.tag.padding - }, - // 自定义尺寸 - borderRadius: { - type: String, - default: () => uni_modules_uviewPlus_libs_config_props.props.tag.borderRadius - }, - // 自动计算背景色 - autoBgColor: { - type: Number, - default: () => uni_modules_uviewPlus_libs_config_props.props.tag.autoBgColor - } - } -}); -exports.props = props; -//# sourceMappingURL=../../../../../.sourcemap/mp-weixin/uni_modules/uview-plus/components/u-tag/props.js.map diff --git a/unpackage/dist/dev/mp-weixin/uni_modules/uview-plus/components/u-tag/u-tag.js b/unpackage/dist/dev/mp-weixin/uni_modules/uview-plus/components/u-tag/u-tag.js deleted file mode 100644 index 57b25aa..0000000 --- a/unpackage/dist/dev/mp-weixin/uni_modules/uview-plus/components/u-tag/u-tag.js +++ /dev/null @@ -1,162 +0,0 @@ -"use strict"; -const uni_modules_uviewPlus_components_uTag_props = require("./props.js"); -const uni_modules_uviewPlus_libs_mixin_mpMixin = require("../../libs/mixin/mpMixin.js"); -const uni_modules_uviewPlus_libs_mixin_mixin = require("../../libs/mixin/mixin.js"); -const uni_modules_uviewPlus_libs_function_test = require("../../libs/function/test.js"); -const uni_modules_uviewPlus_libs_function_index = require("../../libs/function/index.js"); -const common_vendor = require("../../../../common/vendor.js"); -const _sfc_main = { - name: "u-tag", - mixins: [uni_modules_uviewPlus_libs_mixin_mpMixin.mpMixin, uni_modules_uviewPlus_libs_mixin_mixin.mixin, uni_modules_uviewPlus_components_uTag_props.props], - data() { - return {}; - }, - computed: { - style() { - const style = {}; - if (this.bgColor) { - style.backgroundColor = this.bgColor; - } - if (this.color) { - style.color = this.color; - } - if (this.borderColor) { - style.borderColor = this.borderColor; - } - if (this.height) { - style.height = uni_modules_uviewPlus_libs_function_index.addUnit(this.height); - style.lineHeight = uni_modules_uviewPlus_libs_function_index.addUnit(this.height); - } - if (this.padding) { - style.padding = this.padding; - } - if (this.borderRadius) { - style.borderRadius = uni_modules_uviewPlus_libs_function_index.addUnit(this.borderRadius); - } - if (this.autoBgColor > 0 && this.color) { - style.backgroundColor = this.getBagColor(this.color); - } - return style; - }, - // nvue下,文本颜色无法继承父元素 - textColor() { - const style = {}; - if (this.color) { - style.color = this.color; - } - if (this.textSize) { - style.textSize = uni_modules_uviewPlus_libs_function_index.addUnit(this.textSize); - } - return style; - }, - imgStyle() { - const width = this.size === "large" ? "17px" : this.size === "medium" ? "15px" : "13px"; - return { - width, - height: width - }; - }, - // 文本的样式 - closeSize() { - const size = this.size === "large" ? 15 : this.size === "medium" ? 13 : 12; - return size; - }, - // 图标大小 - iconSize() { - const size = this.size === "large" ? 21 : this.size === "medium" ? 19 : 16; - return size; - }, - // 图标颜色 - elIconColor() { - return this.iconColor ? this.iconColor : this.plain ? this.type : "#ffffff"; - } - }, - emits: ["click", "close"], - methods: { - testImage: uni_modules_uviewPlus_libs_function_test.test.image, - // 点击关闭按钮 - closeHandler() { - this.$emit("close", this.name); - }, - // 点击标签 - clickHandler() { - this.$emit("click", this.name); - }, - // 根据颜色计算浅色作为背景 - getBagColor(darkColor) { - return uni_modules_uviewPlus_libs_function_index.genLightColor(darkColor, this.autoBgColor); - } - } -}; -if (!Array) { - const _easycom_up_icon2 = common_vendor.resolveComponent("up-icon"); - const _easycom_u_transition2 = common_vendor.resolveComponent("u-transition"); - (_easycom_up_icon2 + _easycom_u_transition2)(); -} -const _easycom_up_icon = () => "../u-icon/u-icon.js"; -const _easycom_u_transition = () => "../u-transition/u-transition.js"; -if (!Math) { - (_easycom_up_icon + _easycom_u_transition)(); -} -function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) { - return common_vendor.e({ - a: _ctx.icon - }, _ctx.icon ? common_vendor.e({ - b: $options.testImage(_ctx.icon) - }, $options.testImage(_ctx.icon) ? { - c: _ctx.icon, - d: common_vendor.s($options.imgStyle) - } : { - e: common_vendor.p({ - color: $options.elIconColor, - name: _ctx.icon, - size: $options.iconSize - }) - }) : {}, { - f: !_ctx.$slots.content - }, !_ctx.$slots.content ? common_vendor.e({ - g: !_ctx.$slots.default && !_ctx.$slots.$default - }, !_ctx.$slots.default && !_ctx.$slots.$default ? { - h: common_vendor.t(_ctx.text), - i: common_vendor.s($options.textColor), - j: common_vendor.n(`u-tag__text--${_ctx.type}`), - k: common_vendor.n(_ctx.plain && `u-tag__text--${_ctx.type}--plain`), - l: common_vendor.n(`u-tag__text--${_ctx.size}`) - } : { - m: common_vendor.s($options.textColor), - n: common_vendor.n(`u-tag__text--${_ctx.type}`), - o: common_vendor.n(_ctx.plain && `u-tag__text--${_ctx.type}--plain`), - p: common_vendor.n(`u-tag__text--${_ctx.size}`) - }) : {}, { - q: common_vendor.n(`u-tag--${_ctx.shape}`), - r: common_vendor.n(!_ctx.plain && `u-tag--${_ctx.type}`), - s: common_vendor.n(_ctx.plain && `u-tag--${_ctx.type}--plain`), - t: common_vendor.n(`u-tag--${_ctx.size}`), - v: common_vendor.n(_ctx.plain && _ctx.plainFill && `u-tag--${_ctx.type}--plain--fill`), - w: common_vendor.o((...args) => $options.clickHandler && $options.clickHandler(...args)), - x: common_vendor.s({ - marginRight: _ctx.closable ? "10px" : 0, - marginTop: _ctx.closable ? "10px" : 0 - }), - y: common_vendor.s($options.style), - z: _ctx.closable - }, _ctx.closable ? { - A: common_vendor.p({ - name: "close", - size: $options.closeSize, - color: "#ffffff" - }), - B: common_vendor.n(`u-tag__close--${_ctx.size}`), - C: common_vendor.o((...args) => $options.closeHandler && $options.closeHandler(...args)), - D: _ctx.closeColor - } : {}, { - E: common_vendor.p({ - mode: "fade", - show: _ctx.show - }), - F: common_vendor.gei(_ctx, "") - }); -} -const Component = /* @__PURE__ */ common_vendor._export_sfc(_sfc_main, [["render", _sfc_render], ["__scopeId", "data-v-2fd891bb"]]); -wx.createComponent(Component); -//# sourceMappingURL=../../../../../.sourcemap/mp-weixin/uni_modules/uview-plus/components/u-tag/u-tag.js.map diff --git a/unpackage/dist/dev/mp-weixin/uni_modules/uview-plus/components/u-tag/u-tag.json b/unpackage/dist/dev/mp-weixin/uni_modules/uview-plus/components/u-tag/u-tag.json deleted file mode 100644 index abfd311..0000000 --- a/unpackage/dist/dev/mp-weixin/uni_modules/uview-plus/components/u-tag/u-tag.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "component": true, - "usingComponents": { - "up-icon": "../u-icon/u-icon", - "u-transition": "../u-transition/u-transition" - } -} \ No newline at end of file diff --git a/unpackage/dist/dev/mp-weixin/uni_modules/uview-plus/components/u-tag/u-tag.wxml b/unpackage/dist/dev/mp-weixin/uni_modules/uview-plus/components/u-tag/u-tag.wxml deleted file mode 100644 index bcbe02c..0000000 --- a/unpackage/dist/dev/mp-weixin/uni_modules/uview-plus/components/u-tag/u-tag.wxml +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/unpackage/dist/dev/mp-weixin/uni_modules/uview-plus/components/u-tag/u-tag.wxss b/unpackage/dist/dev/mp-weixin/uni_modules/uview-plus/components/u-tag/u-tag.wxss deleted file mode 100644 index 84604dc..0000000 --- a/unpackage/dist/dev/mp-weixin/uni_modules/uview-plus/components/u-tag/u-tag.wxss +++ /dev/null @@ -1,186 +0,0 @@ -/** - * 这里是uni-app内置的常用样式变量 - * - * uni-app 官方扩展插件及插件市场(https://ext.dcloud.net.cn)上很多三方插件均使用了这些样式变量 - * 如果你是插件开发者,建议你使用scss预处理,并在插件代码中直接使用这些变量(无需 import 这个文件),方便用户通过搭积木的方式开发整体风格一致的App - * - */ -/** - * 如果你是App开发者(插件使用者),你可以通过修改这些变量来定制自己的插件主题,实现自定义主题功能 - * - * 如果你的项目同样使用了scss预处理,你也可以直接在你的 scss 代码中使用如下变量,同时无需 import 这个文件 - */ -/* uni.scss */ -/* 颜色变量 */ -/* 行为相关颜色 */ -/* 文字基本颜色 */ -/* 背景颜色 */ -/* 边框颜色 */ -/* 尺寸变量 */ -/* 文字尺寸 */ -/* 图片尺寸 */ -/* Border Radius */ -/* 水平间距 */ -/* 垂直间距 */ -/* 透明度 */ -/* 文章场景相关 */ -.u-tag-wrapper.data-v-2fd891bb { - position: relative; -} -.u-tag.data-v-2fd891bb { - display: flex; - flex-direction: row; - align-items: center; - border-style: solid; -} -.u-tag--circle.data-v-2fd891bb { - border-radius: 100px; -} -.u-tag--square.data-v-2fd891bb { - border-radius: 3px; -} -.u-tag__icon.data-v-2fd891bb { - margin-right: 4px; -} -.u-tag__text--mini.data-v-2fd891bb { - font-size: 12px; - line-height: 12px; -} -.u-tag__text--medium.data-v-2fd891bb { - font-size: 13px; - line-height: 13px; -} -.u-tag__text--large.data-v-2fd891bb { - font-size: 15px; - line-height: 15px; -} -.u-tag--mini.data-v-2fd891bb { - height: 22px; - line-height: 22px; - padding: 0 5px; -} -.u-tag--medium.data-v-2fd891bb { - height: 26px; - line-height: 22px; - padding: 0 10px; -} -.u-tag--large.data-v-2fd891bb { - height: 32px; - line-height: 32px; - padding: 0 15px; -} -.u-tag--primary.data-v-2fd891bb { - background-color: #3c9cff; - border-width: 1px; - border-color: #3c9cff; -} -.u-tag--primary--plain.data-v-2fd891bb { - border-width: 1px; - border-color: #3c9cff; -} -.u-tag--primary--plain--fill.data-v-2fd891bb { - background-color: #ecf5ff; -} -.u-tag__text--primary.data-v-2fd891bb { - color: #FFFFFF; -} -.u-tag__text--primary--plain.data-v-2fd891bb { - color: #3c9cff; -} -.u-tag--error.data-v-2fd891bb { - background-color: #f56c6c; - border-width: 1px; - border-color: #f56c6c; -} -.u-tag--error--plain.data-v-2fd891bb { - border-width: 1px; - border-color: #f56c6c; -} -.u-tag--error--plain--fill.data-v-2fd891bb { - background-color: #fef0f0; -} -.u-tag__text--error.data-v-2fd891bb { - color: #FFFFFF; -} -.u-tag__text--error--plain.data-v-2fd891bb { - color: #f56c6c; -} -.u-tag--warning.data-v-2fd891bb { - background-color: #f9ae3d; - border-width: 1px; - border-color: #f9ae3d; -} -.u-tag--warning--plain.data-v-2fd891bb { - border-width: 1px; - border-color: #f9ae3d; -} -.u-tag--warning--plain--fill.data-v-2fd891bb { - background-color: #fdf6ec; -} -.u-tag__text--warning.data-v-2fd891bb { - color: #FFFFFF; -} -.u-tag__text--warning--plain.data-v-2fd891bb { - color: #f9ae3d; -} -.u-tag--success.data-v-2fd891bb { - background-color: #5ac725; - border-width: 1px; - border-color: #5ac725; -} -.u-tag--success--plain.data-v-2fd891bb { - border-width: 1px; - border-color: #5ac725; -} -.u-tag--success--plain--fill.data-v-2fd891bb { - background-color: #f5fff0; -} -.u-tag__text--success.data-v-2fd891bb { - color: #FFFFFF; -} -.u-tag__text--success--plain.data-v-2fd891bb { - color: #5ac725; -} -.u-tag--info.data-v-2fd891bb { - background-color: #909399; - border-width: 1px; - border-color: #909399; -} -.u-tag--info--plain.data-v-2fd891bb { - border-width: 1px; - border-color: #909399; -} -.u-tag--info--plain--fill.data-v-2fd891bb { - background-color: #f4f4f5; -} -.u-tag__text--info.data-v-2fd891bb { - color: #FFFFFF; -} -.u-tag__text--info--plain.data-v-2fd891bb { - color: #909399; -} -.u-tag__close.data-v-2fd891bb { - position: absolute; - z-index: 999; - top: 10px; - right: 10px; - border-radius: 100px; - background-color: #C6C7CB; - display: flex; - flex-direction: row; - align-items: center; - justify-content: center; - transform: scale(0.6) translate(80%, -80%); -} -.u-tag__close--mini.data-v-2fd891bb { - width: 18px; - height: 18px; -} -.u-tag__close--medium.data-v-2fd891bb { - width: 22px; - height: 22px; -} -.u-tag__close--large.data-v-2fd891bb { - width: 25px; - height: 25px; -} \ No newline at end of file diff --git a/unpackage/dist/dev/mp-weixin/uni_modules/uview-plus/libs/function/index.js b/unpackage/dist/dev/mp-weixin/uni_modules/uview-plus/libs/function/index.js index 4116315..4830c2f 100644 --- a/unpackage/dist/dev/mp-weixin/uni_modules/uview-plus/libs/function/index.js +++ b/unpackage/dist/dev/mp-weixin/uni_modules/uview-plus/libs/function/index.js @@ -584,7 +584,6 @@ exports.deepClone = deepClone; exports.deepMerge = deepMerge; exports.error = error; exports.formValidate = formValidate; -exports.genLightColor = genLightColor; exports.getProperty = getProperty; exports.getPx = getPx; exports.getWindowInfo = getWindowInfo; diff --git a/unpackage/dist/dev/mp-weixin/utils/draftCache.js b/unpackage/dist/dev/mp-weixin/utils/draftCache.js new file mode 100644 index 0000000..e3a751e --- /dev/null +++ b/unpackage/dist/dev/mp-weixin/utils/draftCache.js @@ -0,0 +1,80 @@ +"use strict"; +const common_vendor = require("../common/vendor.js"); +const DRAFT_NS = { + ASSIGN: "draft_assign", + ACCEPT: "draft_accept", + RECTIFY: "draft_rectify", + INSPECTION_RESULT: "draft_inspection_result", + INSPECTION_SHEET: "draft_inspection_sheet" +}; +function buildDraftKey(namespace, ...parts) { + return [namespace, ...parts.map((p) => String(p ?? ""))].join("_"); +} +function buildDraftKeyCompact(namespace, ...parts) { + return [namespace, ...parts.map((p) => String(p ?? "")).filter(Boolean)].join("_"); +} +function loadDraftWithFallback(primaryKey, fallbackKeys = []) { + const primary = loadDraft(primaryKey); + if (primary) { + return { data: primary, key: primaryKey, fromFallback: false }; + } + for (const fallbackKey of fallbackKeys) { + if (!fallbackKey || fallbackKey === primaryKey) + continue; + const fallback = loadDraft(fallbackKey); + if (fallback) { + return { data: fallback, key: primaryKey, fromFallback: true, fallbackKey }; + } + } + return { data: null, key: primaryKey, fromFallback: false }; +} +function loadDraft(key) { + if (!key) + return null; + const raw = common_vendor.index.getStorageSync(key); + if (!raw) + return null; + try { + return typeof raw === "string" ? JSON.parse(raw) : raw; + } catch (error) { + common_vendor.index.__f__("error", "at utils/draftCache.js:61", "[draftCache] 解析草稿失败:", key, error); + return null; + } +} +function saveDraftToStorage(key, data) { + if (!key) + return; + common_vendor.index.setStorageSync( + key, + JSON.stringify({ + ...data, + updatedAt: Date.now() + }) + ); +} +function removeDraft(key) { + if (!key) + return; + common_vendor.index.removeStorageSync(key); +} +function defaultHasContent(payload) { + if (!payload || typeof payload !== "object") + return false; + return Object.entries(payload).some(([key, value]) => { + if (key === "updatedAt") + return false; + if (Array.isArray(value)) + return value.length > 0; + if (value && typeof value === "object") + return Object.keys(value).length > 0; + return value !== "" && value != null; + }); +} +exports.DRAFT_NS = DRAFT_NS; +exports.buildDraftKey = buildDraftKey; +exports.buildDraftKeyCompact = buildDraftKeyCompact; +exports.defaultHasContent = defaultHasContent; +exports.loadDraftWithFallback = loadDraftWithFallback; +exports.removeDraft = removeDraft; +exports.saveDraftToStorage = saveDraftToStorage; +//# sourceMappingURL=../../.sourcemap/mp-weixin/utils/draftCache.js.map diff --git a/unpackage/dist/dev/mp-weixin/utils/useDraftCache.js b/unpackage/dist/dev/mp-weixin/utils/useDraftCache.js new file mode 100644 index 0000000..10f4272 --- /dev/null +++ b/unpackage/dist/dev/mp-weixin/utils/useDraftCache.js @@ -0,0 +1,114 @@ +"use strict"; +const common_vendor = require("../common/vendor.js"); +const utils_draftCache = require("./draftCache.js"); +function useDraftCache(options) { + const { + getKey, + getPayload, + hasContent = utils_draftCache.defaultHasContent, + applyPayload, + clearForm, + canSave = () => true, + requireInitialized = false, + restoreToast = "已自动恢复您上次未提交的内容", + clearToast = "草稿已清空", + showRestoreToast = true, + onAfterRestore, + getFallbackKeys + } = options; + const hasDraft = common_vendor.ref(false); + const showRestoreBanner = common_vendor.ref(false); + const isRestoring = common_vendor.ref(false); + const isInitialized = common_vendor.ref(false); + const finishRestoreState = (callback) => { + common_vendor.nextTick$1(() => { + isRestoring.value = false; + isInitialized.value = true; + callback == null ? void 0 : callback(); + }); + }; + const save = () => { + if (isRestoring.value) + return; + if (requireInitialized && !isInitialized.value) + return; + if (!canSave()) + return; + const key = getKey(); + const payload = getPayload(); + if (!hasContent(payload)) { + utils_draftCache.removeDraft(key); + hasDraft.value = false; + return; + } + utils_draftCache.saveDraftToStorage(key, payload); + hasDraft.value = true; + }; + const clear = (showToast = true) => { + utils_draftCache.removeDraft(getKey()); + hasDraft.value = false; + showRestoreBanner.value = false; + isRestoring.value = true; + clearForm(); + finishRestoreState(); + if (showToast) { + common_vendor.index.showToast({ title: clearToast, icon: "none" }); + } + }; + const restore = () => { + const key = getKey(); + const { data, fromFallback, fallbackKey } = utils_draftCache.loadDraftWithFallback( + key, + (getFallbackKeys == null ? void 0 : getFallbackKeys()) || [] + ); + if (!data || !hasContent(data)) { + isInitialized.value = true; + return false; + } + isRestoring.value = true; + try { + applyPayload(data); + hasDraft.value = true; + showRestoreBanner.value = true; + onAfterRestore == null ? void 0 : onAfterRestore(data); + if (fromFallback && fallbackKey) { + utils_draftCache.saveDraftToStorage(key, data); + utils_draftCache.removeDraft(fallbackKey); + } + finishRestoreState(() => { + if (showRestoreToast) { + common_vendor.index.showToast({ + title: restoreToast, + icon: "none", + duration: 2500 + }); + } + }); + return true; + } catch (error) { + common_vendor.index.__f__("error", "at utils/useDraftCache.js:128", "[useDraftCache] 恢复草稿失败:", error); + isRestoring.value = false; + isInitialized.value = true; + return false; + } + }; + const bindAutoSave = (source, watchOptions = {}) => { + common_vendor.watch( + source, + () => save(), + { deep: true, ...watchOptions } + ); + }; + return { + hasDraft, + showRestoreBanner, + isRestoring, + isInitialized, + save, + clear, + restore, + bindAutoSave + }; +} +exports.useDraftCache = useDraftCache; +//# sourceMappingURL=../../.sourcemap/mp-weixin/utils/useDraftCache.js.map diff --git a/utils/draftCache.js b/utils/draftCache.js new file mode 100644 index 0000000..b2b0790 --- /dev/null +++ b/utils/draftCache.js @@ -0,0 +1,102 @@ +/** 草稿 Storage 命名空间(统一 key 前缀) */ +export const DRAFT_NS = { + ASSIGN: 'draft_assign', + ACCEPT: 'draft_accept', + RECTIFY: 'draft_rectify', + INSPECTION_RESULT: 'draft_inspection_result', + INSPECTION_SHEET: 'draft_inspection_sheet' +}; + +/** + * 构建草稿 Storage key(与迁移前页面逻辑一致,保留空片段) + * 例:draft_rectify_100_ 、draft_accept_ + * @param {string} namespace 命名空间,如 DRAFT_NS.ASSIGN + * @param {...string|number} parts 业务 id 片段 + */ +export function buildDraftKey(namespace, ...parts) { + return [namespace, ...parts.map((p) => String(p ?? ''))].join('_'); +} + +/** 迁移期 compact key(曾错误地 filter 掉空片段) */ +export function buildDraftKeyCompact(namespace, ...parts) { + return [namespace, ...parts.map((p) => String(p ?? '')).filter(Boolean)].join('_'); +} + +/** + * 读取草稿,支持回退到其它 key(迁移兼容) + * @param {string} primaryKey + * @param {string[]} [fallbackKeys] + */ +export function loadDraftWithFallback(primaryKey, fallbackKeys = []) { + const primary = loadDraft(primaryKey); + if (primary) { + return { data: primary, key: primaryKey, fromFallback: false }; + } + + for (const fallbackKey of fallbackKeys) { + if (!fallbackKey || fallbackKey === primaryKey) continue; + const fallback = loadDraft(fallbackKey); + if (fallback) { + return { data: fallback, key: primaryKey, fromFallback: true, fallbackKey }; + } + } + + return { data: null, key: primaryKey, fromFallback: false }; +} + +/** + * 读取草稿 + * @param {string} key + * @returns {Object|null} + */ +export function loadDraft(key) { + if (!key) return null; + + const raw = uni.getStorageSync(key); + if (!raw) return null; + + try { + return typeof raw === 'string' ? JSON.parse(raw) : raw; + } catch (error) { + console.error('[draftCache] 解析草稿失败:', key, error); + return null; + } +} + +/** + * 写入草稿 + * @param {string} key + * @param {Object} data + */ +export function saveDraftToStorage(key, data) { + if (!key) return; + + uni.setStorageSync( + key, + JSON.stringify({ + ...data, + updatedAt: Date.now() + }) + ); +} + +/** + * 删除草稿 + * @param {string} key + */ +export function removeDraft(key) { + if (!key) return; + uni.removeStorageSync(key); +} + +/** 默认:payload 中任一字段有值即视为有内容(忽略 updatedAt) */ +export function defaultHasContent(payload) { + if (!payload || typeof payload !== 'object') return false; + + return Object.entries(payload).some(([key, value]) => { + if (key === 'updatedAt') return false; + if (Array.isArray(value)) return value.length > 0; + if (value && typeof value === 'object') return Object.keys(value).length > 0; + return value !== '' && value != null; + }); +} diff --git a/utils/useDraftCache.js b/utils/useDraftCache.js new file mode 100644 index 0000000..2807bb3 --- /dev/null +++ b/utils/useDraftCache.js @@ -0,0 +1,158 @@ +import { ref, nextTick, watch } from 'vue'; +import { + loadDraftWithFallback, + saveDraftToStorage, + removeDraft, + defaultHasContent +} from './draftCache.js'; + +/** + * 页面草稿 Composable:统一 save / restore / clear 流程 + * + * @param {Object} options + * @param {() => string} options.getKey 返回 Storage key + * @param {() => Object} options.getPayload 返回要保存的数据 + * @param {(payload: Object) => boolean} [options.hasContent] 判断是否有有效草稿 + * @param {(payload: Object) => void} options.applyPayload 恢复草稿到表单 + * @param {() => void} options.clearForm 清空表单 + * @param {() => boolean} [options.canSave] 是否允许保存(如 hazardId 未就绪时为 false) + * @param {boolean} [options.requireInitialized=false] 为 true 时,restore 完成前不自动 save + * @param {string} [options.restoreToast] + * @param {string} [options.clearToast] + * @param {boolean} [options.showRestoreToast=true] + * @param {(payload: Object) => void} [options.onAfterRestore] 恢复并 apply 后的额外处理 + * @param {() => string[]} [options.getFallbackKeys] 读取草稿时的兼容 key 列表 + */ +export function useDraftCache(options) { + const { + getKey, + getPayload, + hasContent = defaultHasContent, + applyPayload, + clearForm, + canSave = () => true, + requireInitialized = false, + restoreToast = '已自动恢复您上次未提交的内容', + clearToast = '草稿已清空', + showRestoreToast = true, + onAfterRestore, + getFallbackKeys + } = options; + + const hasDraft = ref(false); + const showRestoreBanner = ref(false); + const isRestoring = ref(false); + const isInitialized = ref(false); + + const finishRestoreState = (callback) => { + nextTick(() => { + isRestoring.value = false; + isInitialized.value = true; + callback?.(); + }); + }; + + const save = () => { + if (isRestoring.value) return; + if (requireInitialized && !isInitialized.value) return; + if (!canSave()) return; + + const key = getKey(); + const payload = getPayload(); + + if (!hasContent(payload)) { + removeDraft(key); + hasDraft.value = false; + return; + } + + saveDraftToStorage(key, payload); + hasDraft.value = true; + }; + + const clear = (showToast = true) => { + removeDraft(getKey()); + hasDraft.value = false; + showRestoreBanner.value = false; + isRestoring.value = true; + clearForm(); + finishRestoreState(); + + if (showToast) { + uni.showToast({ title: clearToast, icon: 'none' }); + } + }; + + /** + * 恢复草稿 + * @returns {boolean} 是否成功恢复 + */ + const restore = () => { + const key = getKey(); + const { data, fromFallback, fallbackKey } = loadDraftWithFallback( + key, + getFallbackKeys?.() || [] + ); + + if (!data || !hasContent(data)) { + isInitialized.value = true; + return false; + } + + isRestoring.value = true; + + try { + applyPayload(data); + hasDraft.value = true; + showRestoreBanner.value = true; + onAfterRestore?.(data); + + // 从兼容 key 读到后,立即写回标准 key 并清理旧 key + if (fromFallback && fallbackKey) { + saveDraftToStorage(key, data); + removeDraft(fallbackKey); + } + + finishRestoreState(() => { + if (showRestoreToast) { + uni.showToast({ + title: restoreToast, + icon: 'none', + duration: 2500 + }); + } + }); + + return true; + } catch (error) { + console.error('[useDraftCache] 恢复草稿失败:', error); + isRestoring.value = false; + isInitialized.value = true; + return false; + } + }; + + /** + * 绑定自动保存(等价于页面里的 watch + saveDraft) + * @param {import('vue').WatchSource|import('vue').WatchSource[]} source + * @param {import('vue').WatchOptions} [watchOptions] + */ + const bindAutoSave = (source, watchOptions = {}) => { + watch( + source, + () => save(), + { deep: true, ...watchOptions } + ); + }; + + return { + hasDraft, + showRestoreBanner, + isRestoring, + isInitialized, + save, + clear, + restore, + bindAutoSave + }; +} diff --git a/代码结构分析与优化建议.md b/代码结构分析与优化建议.md new file mode 100644 index 0000000..6e9d91d --- /dev/null +++ b/代码结构分析与优化建议.md @@ -0,0 +1,423 @@ +# 三查一曝光小程序 — 代码结构分析与优化建议 + +> 文档生成日期:2026-06-13 +> 分析范围:`pages/`、`request/`、`components/` 及相关工具层 + +--- + +## 一、总体判断 + +| 维度 | 现状 | 问题程度 | +|------|------|----------| +| 文件夹结构 | 34 个页面,18 个目录,命名风格不统一 | 中 | +| 组件复用 | `components/` 只有 **1 个文件** | 高 | +| 请求层 | `api.js` 单体 400+ 行,与 `three_one_api/` 分层不一致 | 高 | +| 页面逻辑 | 多处大段复制粘贴 | 很高 | + +**结论:** 不是业务乱,而是缺少分层和抽象,同一套东西在不同页面各写一遍。功能覆盖面广,但组织方式偏「页面堆叠式开发」。 + +--- + +## 二、当前结构总览 + +### 2.1 `pages/`(34 个 Vue 文件,18 个子目录) + +| 子目录 | 文件 | +|--------|------| +| `pages/index/` | `index.vue` | +| `pages/map/` | `map.vue` | +| `pages/plandetail/` | `plandetail.vue` | +| `pages/Inspectionresult/` | `Inspectionresult.vue` | +| `pages/membermanagemen/` | `membermanagemen.vue` | +| `pages/corporateInformation/` | `corporateInformation.vue` | +| `pages/editcompanInformation/` | `editcompanInformation.vue` | +| `pages/checklist/` | `checklist.vue` | +| `pages/editchecklist/` | `editchecklist.vue` | +| `pages/Inspectionlog/` | `Inspectionlog.vue` | +| `pages/Inspectionchecklist/` | `Inspectionchecklist.vue` | +| `pages/Idphotomanagement/` | `Idphotomanagement.vue` | +| `pages/hiddendanger/` | `Inspection.vue`、`view.vue`、`rectification.vue`、`acceptance.vue`、`assignment.vue` | +| `pages/closeout/` | `application.vue`、`editor.vue` | +| `pages/equipmentregistration/` | `equipmentregistration.vue` | +| `pages/area/` | `management.vue` | +| `pages/Inspectionwarning/` | `Inspectionwarning.vue` | +| `pages/personalcenter/` | `my.vue`、`helpcenter.vue`、`notification.vue`、`settings.vue`、`account.vue`、`edit.vue` | +| `pages/login/` | `login.vue`、`reg.vue`、`success.vue`、`forget.vue`、`agreement.vue`、`enterprise.vue` | + +**TabBar 页面**(`pages.json`):`index`、`Inspectionwarning`、`personalcenter/my` + +### 2.2 `components/`(仅 1 个文件) + +| 文件 | 用途 | +|------|------| +| `components/AreaFormPopup.vue` | 区域新增/编辑弹窗(被 `pages/area/management.vue` 引用) | + +### 2.3 `request/`(21 个文件) + +| 路径 | 说明 | +|------|------| +| `request/request.js` | 核心封装:`requestAPI`、`baseUrl`、`toImageUrl`、`toRelativeFilePath` | +| `request/api.js` | **单体大文件**,约 40+ 个 API(隐患、巡检、企业、检查表、AI 等) | +| `request/three_one_api/info.js` | 个人信息:`getProfileDetail`、`updateProfile`、`updatePassword` | +| `request/three_one_api/license.js` | 证照 CRUD + `getLicenseEnterpriseSelect` | +| `request/three_one_api/area.js` | 区域 CRUD + `getAreaSelect`、`getEnterpriseSelect` | +| `request/luch-request/` | 完整 luch-request 库(14 个文件) | + +### 2.4 相关工具层 + +| 路径 | 说明 | +|------|------| +| `utils/upload.js` | 七牛直传、`createUploadListHandlers`、`uploadToCloud` | +| `utils/watermark.js` | 图片时间戳水印 | + +--- + +## 三、文件夹 / 命名问题 + +### 3.1 pages 分组不一致 + +- **有业务分组:** `hiddendanger/`、`closeout/`、`login/`、`personalcenter/`、`area/` +- **散落顶层:** `Inspectionresult/`、`Idphotomanagement/`、`membermanagemen/` 等 + +### 3.2 命名风格混用 + +| 模式 | 示例 | 问题 | +|------|------|------| +| 全小写 | `checklist`、`plandetail`、`membermanagemen` | 与驼峰混用 | +| 驼峰首字母大写 | `Inspectionresult`、`Idphotomanagement` | 与全小写混用 | +| 拼写错误 | `membermanagemen` | 少字母 `t`(management) | +| 缩写不一致 | `editcompanInformation` vs `corporateInformation` | compan vs corporate | +| 单文件大写 | `hiddendanger/Inspection.vue` | 同目录其他文件小写 | + +### 3.3 UI 库混用 + +`pages.json` 同时配置 `wd-*`(wot-design-uni)与 `u-*` / `up-*`(uview-plus),页面中两种前缀并存。 + +--- + +## 四、组件层几乎为空 — 重复最严重 + +`components/` 目前只有 `AreaFormPopup.vue`,而 **9 个以上页面**各自内联了几乎相同的弹窗结构(`popup-header` / `popup-footer` / 取消 / 确定): + +- `pages/hiddendanger/Inspection.vue` +- `pages/Inspectionresult/Inspectionresult.vue` +- `pages/closeout/application.vue` +- `pages/Idphotomanagement/Idphotomanagement.vue` +- `pages/membermanagemen/membermanagemen.vue` +- `pages/equipmentregistration/equipmentregistration.vue` +- `pages/editchecklist/editchecklist.vue` +- `pages/hiddendanger/rectification.vue` +- `pages/hiddendanger/assignment.vue` + +**对比:** 区域管理已抽成 `AreaFormPopup.vue`,而证照管理(`Idphotomanagement.vue`)仍是内联弹窗 —— 同一模式,有的抽了、有的没抽。 + +--- + +## 五、逻辑重复详情(按影响排序) + +### 5.1 P0 — 隐患新增表单(两处大文件几乎一样) + +**涉及文件:** + +- `pages/hiddendanger/Inspection.vue`(约 1360 行) +- `pages/Inspectionresult/Inspectionresult.vue`(约 1480 行) + +**重复内容:** + +- 检查形式 `up-choose` +- 隐患图片 `up-upload` + `watermarkCanvas` +- AI 识别按钮 `analyzeHazardImage` +- 标题、等级、位置(含 `chooseLocation`) +- 法律依据弹窗(搜索 `getRegulationList`) +- 隐患区域选择(`getAreaList`) +- 描述、标签 `getHiddenDangerLabelList` + +两处模板从「检查形式」到「隐患标签」字段布局、文案、交互一致,仅变量名不同(`formData` vs `hazardFormData`,`fileList1` vs `hazardFileList`)。 + +**风险:** 改一个字段要改两处,很容易不同步。 + +### 5.2 P0 — 草稿恢复逻辑(4 处复制) + +**涉及文件:** + +- `pages/Inspectionresult/Inspectionresult.vue` +- `pages/hiddendanger/assignment.vue` +- `pages/hiddendanger/rectification.vue` +- `pages/hiddendanger/acceptance.vue` + +各自实现 `showRestoreBanner`、`clearDraft`、`restoreDraft`(localStorage 读写),Banner HTML 与 inline style 在各文件中完全相同。 + +### 5.3 P0 — 电子签名 + 上传(2 处复制) + +**涉及文件:** + +- `pages/hiddendanger/acceptance.vue` +- `pages/hiddendanger/rectification.vue` + +**重复内容:** + +- 隐藏 `canvas-id="watermarkCanvas"` +- `wd-signature` 组件 +- `uploadToCloud` 上传签名 +- `onSignatureConfirm` → 触发 `executeSubmit` 的流程 + +`onSignatureConfirm`、`reSign`、`clearSignature` 等逻辑在两文件中结构几乎相同。 + +### 5.4 P1 — 部门-人员级联选择(2 处复制) + +**涉及文件:** + +- `pages/hiddendanger/assignment.vue` — 单选整改责任人(`getDepartmentPersonUsers`) +- `pages/hiddendanger/rectification.vue` — 安全管理人员多选 + 整改责任人多选 + +两者 UI 均为左侧部门列 + 右侧人员列 + `popup-footer`,`rectification.vue` 中相关逻辑约 200+ 行,与 `assignment.vue` 大量重叠。 + +### 5.5 P1 — 隐患详情只读展示 vs 表单字段镜像 + +`pages/hiddendanger/view.vue` 的只读展示字段(图片、标题、等级、位置、法律依据、区域、描述、标签)与上述新增表单字段一一对应,但未复用同一「隐患信息展示/编辑」组件。 + +### 5.6 P1 — 用户信息重复拉取 + +**涉及文件:** + +- `pages/index/index.vue` +- `pages/personalcenter/my.vue` +- `pages/personalcenter/edit.vue` + +均调用 `getProfileDetail()` + `toImageUrl` 处理头像,没有统一的用户状态管理。 + +### 5.7 P1 — 设置类页面几乎克隆 + +`pages/personalcenter/settings.vue` 与 `pages/personalcenter/notification.vue` 结构、脚本、样式完全一致,仅开关文案不同。 + +### 5.8 P1 — 登录注册验证码逻辑复制 + +`pages/login/reg.vue` 与 `pages/login/forget.vue` 共享: + +- `codeText` 倒计时计算 +- `getCode` / `startCountdown` / `clearCountdown` +- 均直接 `uni.request` 到 `http://example.com/api/code`(占位 URL,未走 `requestAPI`) + +### 5.9 其他页面逻辑重复 + +| 场景 | 涉及文件 | 说明 | +|------|----------|------| +| 企业信息编辑 | `corporateInformation.vue` vs `editcompanInformation.vue` | 后者无 API、无跳转入口,疑似废弃草稿 | +| 列表 + 弹窗 CRUD | `area/management.vue` vs `Idphotomanagement.vue` | 模式相同,仅前者用了组件 | +| 首页隐患列表 vs 隐患排查页 | `index.vue` vs `hiddendanger/Inspection.vue` | 都拉隐患列表,Tab 筛选逻辑类似 | +| 检查记录 | `Inspectionlog.vue` + `Inspectionchecklist.vue` | 硬编码 mock 数据,无 API | + +--- + +## 六、request 层问题 + +### 6.1 API 完全重复 + +`request/api.js` 中: + +```javascript +// 获取我的隐患排查列表 +export function getMyHiddenDangerList(params) { + return requestAPI({ + url: '/frontend/hazard/my/list', + method: 'GET', + data: params + }); +} + +// 获取隐患排查列表 +export function getHiddenDangerList(params) { + return requestAPI({ + url: '/frontend/hazard/my/list', // 同一 URL + method: 'GET', + data: params + }); +} +``` + +- `getMyHiddenDangerList` → `pages/hiddendanger/Inspection.vue` +- `getHiddenDangerList` → `pages/index/index.vue` + +**应合并为一个函数。** + +### 6.2 API 分层不一致 + +| 已拆分模块 | 位置 | 示例 | +|------------|------|------| +| 个人信息 | `three_one_api/info.js` | `getProfileDetail` | +| 证照 | `three_one_api/license.js` | `getLicenseList` | +| 区域 | `three_one_api/area.js` | `getAreaList` | +| 隐患、巡检、企业、检查表、AI、成员… | 全部在 `api.js` | `addHiddenDanger`、`getCheckPlanList` | + +页面侧 import 来源混杂,例如 `Inspection.vue` 同时从 `api.js` 和 `three_one_api/area.js` 引入。 + +### 6.3 `/frontend` 与 `/admin` 路径混用 + +小程序端接口前缀不统一(同一 `api.js`): + +- 隐患流程:`/frontend/hazard/*` +- 检查表、法规、预警:`/admin/oneTable/*`、`/admin/regulation/*`、`/admin/warning/*` +- 销号详情:`/admin/hazard/writeoff/getWriteOffApplyDetail/${applyId}`(`closeout/editor.vue` 使用) + +### 6.4 未使用的 API(死代码) + +| 文件 | 函数 | 说明 | +|------|------|------| +| `request/api.js` | `uploadFile` | 本地上传旧接口,页面已迁移至 `utils/upload.js` 七牛直传 | +| `request/api.js` | `getCheckTableDetail` | 无任何引用 | +| `request/three_one_api/area.js` | `getEnterpriseSelect` | 仅定义,无引用 | +| `request/three_one_api/area.js` | `getAreaSelect` | 仅定义,无引用 | + +### 6.5 两套请求栈并存 + +- `request/request.js`:创建 `luch-request` 的 `http` 实例,但实际请求走 `uni.request`;`http` **未被使用** +- `request/luch-request/` 整包存在,与 `uni_modules/uview-plus/libs/luch-request` 功能重复 +- `pages/login/reg.vue`、`forget.vue` 仍直接用 `uni.request`,绕过统一封装(无 token、无统一错误处理) + +### 6.6 命名不一致的 API 函数 + +| 函数名 | 问题 | +|--------|------| +| `getEnterprisetype` | 无驼峰 | +| `getindustry` | 全小写开头 | +| `getEnterpriseinfo` | info 无驼峰 | +| `detailcheckPoint` | 动词开头,与同文件 `getCheckTableDetail` 风格不一致 | + +--- + +## 七、疑似死代码 / 未完成页面 + +| 路径 | 状态 | +|------|------| +| `pages/map/map.vue` | 仅显示「一张图功能开发中」;TabBar 入口已注释 | +| `pages/editcompanInformation/editcompanInformation.vue` | 在 `pages.json` 注册,**无任何 navigateTo 引用**;表单未绑 API | +| `pages/Inspectionlog/Inspectionlog.vue` | 硬编码「和谐矿业每日巡检」等 mock 数据 | +| `pages/Inspectionchecklist/Inspectionchecklist.vue` | 静态预览页,无 script 逻辑 | +| `pages/equipmentregistration/equipmentregistration.vue` | UI 完整但 `handleAdd` 仅 toast「新增成功」,无 API | +| `pages/personalcenter/helpcenter.vue` | 仅静态图片,无交互 | +| `pages/personalcenter/settings.vue`、`notification.vue` | 开关无持久化、无 API | +| `pages/login/reg.vue`、`forget.vue` | 验证码请求指向 `example.com` 占位地址 | +| `pages/login/enterprise.vue` | 表单未绑定、注册逻辑不完整 | +| `request/api.js` 中 `uploadFile`、`getCheckTableDetail` | 无引用 | +| `request/request.js` 中 `http`(luch-request 实例) | 创建后未使用 | + +--- + +## 八、优化建议(按优先级) + +### 8.1 P0 — 高影响,应优先 + +| 序号 | 优化项 | 说明 | 预期收益 | +|------|--------|------|----------| +| 1 | **抽取 `HazardForm` 组件(或 composable)** | 合并 `Inspection.vue` 与 `Inspectionresult.vue` 的隐患新增表单 + 法规弹窗 + 区域选择 + AI 识别 + 水印上传 | 减少 500–800 行重复代码 | +| 2 | **合并重复 API** | 删除 `getHiddenDangerList` 或 `getMyHiddenDangerList` 之一;删除未使用的 `uploadFile`、`getCheckTableDetail`、`getEnterpriseSelect`、`getAreaSelect` | 减少维护成本 | +| 3 | **抽取 `useFormDraft` composable** | 统一 4 个页面的草稿 Banner + localStorage 逻辑 | 避免 key 命名和恢复逻辑分叉 | +| 4 | **抽取 `SignaturePad` 组件 + `useSignatureSubmit`** | 合并 `acceptance.vue` 与 `rectification.vue` 的签名上传与提交链 | 减少重复逻辑 | + +### 8.2 P1 — 中高影响 + +| 序号 | 优化项 | 说明 | +|------|--------|------| +| 5 | **抽取 `DeptUserPicker` 组件** | 支持单选/多选模式,供 `assignment.vue` 与 `rectification.vue` 复用 | +| 6 | **抽取通用 `FormPopup` 壳组件** | 统一 header/footer/取消/确定,替代 9+ 页面内联弹窗结构;`Idphotomanagement` 可仿照 `AreaFormPopup` 拆出 `LicenseFormPopup` | +| 7 | **登录模块接入 `requestAPI`** | 替换 `reg.vue`、`forget.vue` 的 `uni.request('http://example.com/...')`,或明确标注并下线未完成页面 | +| 8 | **清理死页面** | 删除或合并 `editcompanInformation.vue`;决定 `map.vue` 是否保留;为 `Inspectionlog`、`equipmentregistration` 接 API 或移出主包 | +| 9 | **`api.js` 按业务域拆分** | 拆分到 `three_one_api/hazard.js`、`plan.js`、`enterprise.js` 等,对齐已有分层风格 | + +### 8.3 P2 — 规范与维护性 + +| 序号 | 优化项 | 说明 | +|------|--------|------| +| 10 | **统一 pages 命名** | 目录改小写+连字符(如 `inspection-result`),修正 `membermanagemen`;API 函数统一驼峰 | +| 11 | **统一 `/frontend` vs `/admin` 前缀策略** | 与后端协商,避免小程序直连 admin 接口的安全与权限问题 | +| 12 | **清理 `request/luch-request/` 与未使用的 `http` 实例** | 或全面迁移到 luch-request 并删除 `requestAPI` 中的重复实现 | +| 13 | **个人中心优化** | 合并 `settings.vue` 与 `notification.vue` 为配置页 + 子项;`getProfileDetail` 抽到 `stores/user.js` 或 composable | +| 14 | **抽取共享 SCSS** | `page-bg.scss`、`popup.scss` 减少样式复制 | +| 15 | **统一 UI 库** | 逐步收敛到 wot-design 或 uview 之一 | + +--- + +## 九、推荐的目标目录结构 + +``` +threeonecheck_小程序/ +├── components/ # 公共组件 +│ ├── common/ +│ │ └── FormPopup.vue # 通用弹窗壳 +│ ├── hazard/ +│ │ ├── HazardForm.vue # 隐患新增/编辑表单 +│ │ ├── HazardDetail.vue # 隐患只读展示 +│ │ ├── DeptUserPicker.vue # 部门人员选择 +│ │ └── SignaturePad.vue # 电子签名 +│ ├── area/ +│ │ └── AreaFormPopup.vue # 已有 +│ └── license/ +│ └── LicenseFormPopup.vue # 证照表单弹窗 +├── composables/ # 组合式逻辑 +│ ├── useFormDraft.js # 草稿恢复 +│ ├── useSignatureSubmit.js # 签名提交 +│ └── useUserProfile.js # 用户信息 +├── request/ +│ ├── request.js # 核心封装 +│ └── three_one_api/ +│ ├── info.js # 已有 +│ ├── license.js # 已有 +│ ├── area.js # 已有 +│ ├── hazard.js # 新增:隐患相关 +│ ├── plan.js # 新增:巡检计划 +│ ├── enterprise.js # 新增:企业信息 +│ ├── checklist.js # 新增:检查表 +│ └── member.js # 新增:成员管理 +├── stores/ +│ └── user.js # 用户状态 +├── styles/ +│ ├── page-bg.scss # 页面背景 +│ └── popup.scss # 弹窗样式 +└── pages/ # 按业务域分组(逐步重组) + ├── index/ + ├── inspection/ # 巡检相关 + ├── hazard/ # 隐患相关(原 hiddendanger) + ├── closeout/ # 销号 + ├── enterprise/ # 企业信息 + ├── personal/ # 个人中心(原 personalcenter) + └── login/ +``` + +--- + +## 十、优化路线图 + +``` +当前状态 + │ + ▼ +P0:抽核心复用(HazardForm、useFormDraft、SignaturePad、合并重复 API) + │ 预计减少 30%–40% 页面重复代码 + ▼ +P1:统一请求层 + 清理死代码(api 拆分、FormPopup、DeptUserPicker、登录接入 requestAPI) + │ + ▼ +P2:命名规范 + 目录重组(pages 命名、stores、共享 SCSS、UI 库收敛) +``` + +--- + +## 十一、总结 + +该项目业务功能覆盖面较广(巡检、隐患全流程、销号、证照、区域、成员等),但在 **`components/` 几乎为空** 的前提下,大量 UI 与逻辑散落在各 page 中。 + +**最突出的重复:** + +1. 隐患新增表单(两处大文件) +2. 草稿恢复(四处) +3. 签名提交(两处) +4. 部门人员选择(两处) +5. 弹窗壳子(九处以上) + +**request 层:** `api.js` 单体过大且存在重复/死 API,与 `three_one_api/` 的分层不一致。 + +若按 P0 建议推进,预计可减少约 **30%–40%** 的页面重复代码,并显著降低隐患字段改动时的同步成本。 + +--- + +*本文档供团队内部参考,后续重构时可按 P0 → P1 → P2 顺序逐步推进。*