Compare commits
5 Commits
11
UPDATE.md
Normal file
11
UPDATE.md
Normal file
@@ -0,0 +1,11 @@
|
|||||||
|
## PicHome beta2.0 更新说明
|
||||||
|
|
||||||
|
### 1.增加移动端支持
|
||||||
|
|
||||||
|
### 2.导入逻辑优化,优化导入效率,修复文件移动分类后分类丢失问题
|
||||||
|
|
||||||
|
### 3.优化删除库逻辑,修复删除库导致的导入状态bug
|
||||||
|
|
||||||
|
### 4.优化访问效率
|
||||||
|
|
||||||
|
### 5.其他已知bug修复
|
||||||
@@ -8,7 +8,7 @@ d3af6beed6f4c5941d8474d8c30de6ab *admin/login/images/bg_login.gif
|
|||||||
c3ed53246c61a74dca37236067d3ba56 *admin/login/login.php
|
c3ed53246c61a74dca37236067d3ba56 *admin/login/login.php
|
||||||
2ccb26dbc4099faa5579c6c0d5727623 *admin/login/updatesession.php
|
2ccb26dbc4099faa5579c6c0d5727623 *admin/login/updatesession.php
|
||||||
cd5af5197f085d31563c357bf2b3f933 *admin/scripts/admin.js
|
cd5af5197f085d31563c357bf2b3f933 *admin/scripts/admin.js
|
||||||
2eead28813ab73fc1f0c84d01e6ba64a *admin/system/common.php
|
a6964db4b95a3d7fc276d190f92a9542 *admin/system/common.php
|
||||||
a60c2224558c2b82fbc7c5298df8aa5f *admin/system/cron.php
|
a60c2224558c2b82fbc7c5298df8aa5f *admin/system/cron.php
|
||||||
a3342df727581964bd15ba05ef4b74db *admin/system/database.php
|
a3342df727581964bd15ba05ef4b74db *admin/system/database.php
|
||||||
9a7dd5d9cca593615256b921abcc0ab6 *admin/system/dist/css/chunk-2b4f90f7.519dec70.css
|
9a7dd5d9cca593615256b921abcc0ab6 *admin/system/dist/css/chunk-2b4f90f7.519dec70.css
|
||||||
@@ -90,7 +90,7 @@ abe78a94ae6f33d188e25d7047f5b0f2 *admin/systemlog/template/admin.htm
|
|||||||
455bd79582a8bea73faec69555b69eb3 *admin/systemlog/uninstall.php
|
455bd79582a8bea73faec69555b69eb3 *admin/systemlog/uninstall.php
|
||||||
5bb95d9914284024bfbde8e8cb60286f *admin/template/header_left.htm
|
5bb95d9914284024bfbde8e8cb60286f *admin/template/header_left.htm
|
||||||
853b016ecacafd2eccc8f35a5ab8b276 *admin.php
|
853b016ecacafd2eccc8f35a5ab8b276 *admin.php
|
||||||
af8d986a5c78a4d104938291c6e541ca *avatar.php
|
5e5eb249d06b26d6c26cc8fb30b78892 *avatar.php
|
||||||
d0029be05cb9f585dcbcc8dd34817b81 *config/config_default.php
|
d0029be05cb9f585dcbcc8dd34817b81 *config/config_default.php
|
||||||
a316f263465d0751621451addf43c399 *config/config_frame.php
|
a316f263465d0751621451addf43c399 *config/config_frame.php
|
||||||
77fc6ae224ef71e20a515569babe71db *core/adminstart.php
|
77fc6ae224ef71e20a515569babe71db *core/adminstart.php
|
||||||
@@ -239,13 +239,13 @@ d5b0e7dc291a731a5c184d97baecf2df *core/class/table/table_user_profile_setting.ph
|
|||||||
bc2e189cfaacbdb84ddceb3a0abdcf92 *core/class/table/table_user_verify_info.php
|
bc2e189cfaacbdb84ddceb3a0abdcf92 *core/class/table/table_user_verify_info.php
|
||||||
692cda4c6ad17e87e1edefb7251d0116 *core/class/table/table_user_wechat.php
|
692cda4c6ad17e87e1edefb7251d0116 *core/class/table/table_user_wechat.php
|
||||||
ca64f852f9c9442d65fa30ed279c6d6c *core/coreBase.php
|
ca64f852f9c9442d65fa30ed279c6d6c *core/coreBase.php
|
||||||
f869d55a8b656f7e51ae88b928b91e6e *core/core_version.php
|
b335e80b81831d8e322f43e404124d1d *core/core_version.php
|
||||||
d90d23b8deb20cef2c43e66725ec2813 *core/cron/cron_cache_cleanup_week.php
|
d90d23b8deb20cef2c43e66725ec2813 *core/cron/cron_cache_cleanup_week.php
|
||||||
d6f619ef3f14590fc5abc6ce76954d25 *core/cron/cron_cache_pichome_searchhot.php
|
540843e90244b66d31a1deb8c882d238 *core/cron/cron_cache_pichome_searchhot.php
|
||||||
09bf107dfc58f0424b0245834d221a42 *core/cron/cron_clean_notification_month.php
|
09bf107dfc58f0424b0245834d221a42 *core/cron/cron_clean_notification_month.php
|
||||||
56383d04d4bbd0537c55ff7ed42536f8 *core/cron/cron_database_backup.php
|
56383d04d4bbd0537c55ff7ed42536f8 *core/cron/cron_database_backup.php
|
||||||
d0cc3acfbff044dbb11da3ba9019c58d *core/cron/cron_pichome_check_library.php
|
d0cc3acfbff044dbb11da3ba9019c58d *core/cron/cron_pichome_check_library.php
|
||||||
8e19dc5a19821962504d18efc6e06bdf *core/cron/cron_pichome_updatelibrary_file.php
|
4caf8be54c02549767e2adb440a47764 *core/cron/cron_pichome_updatelibrary_file.php
|
||||||
e437812ec0dbb1050daa691303544d1c *core/dzzstart.php
|
e437812ec0dbb1050daa691303544d1c *core/dzzstart.php
|
||||||
d4c7872572f6965e3173a12153dd758b *core/function/cache/cache_fields_optional.php
|
d4c7872572f6965e3173a12153dd758b *core/function/cache/cache_fields_optional.php
|
||||||
98b3024c7107943c8573cf473d624710 *core/function/cache/cache_fields_register.php
|
98b3024c7107943c8573cf473d624710 *core/function/cache/cache_fields_register.php
|
||||||
@@ -255,9 +255,9 @@ ec9cb962601e7d0d092e7b6e09ba8dc2 *core/function/cache/cache_profilesetting.php
|
|||||||
f0e6d9900f7db48051ee4fdea06c8889 *core/function/cache/cache_setting.php
|
f0e6d9900f7db48051ee4fdea06c8889 *core/function/cache/cache_setting.php
|
||||||
cc7c6903e4401fdb29424890e2084a91 *core/function/cache/cache_usergroups.php
|
cc7c6903e4401fdb29424890e2084a91 *core/function/cache/cache_usergroups.php
|
||||||
2ce5a4d7e34bca8432b5885b14b25574 *core/function/cache/cache_userstats.php
|
2ce5a4d7e34bca8432b5885b14b25574 *core/function/cache/cache_userstats.php
|
||||||
e3e91bb4a446a73d1744ca195e39066a *core/function/function_cache.php
|
a4656352d5a04b447ae9ffa64e2474e7 *core/function/function_cache.php
|
||||||
c006c70d2a5b50212a02a31eff50c71d *core/function/function_code.php
|
c006c70d2a5b50212a02a31eff50c71d *core/function/function_code.php
|
||||||
3727ad4836f9dbdacb0d6ce0f44ee443 *core/function/function_core.php
|
86342eb3ddd47606c7e1ced02f4cc54e *core/function/function_core.php
|
||||||
52776d2eac0619ddad1ca9762781a4b0 *core/function/function_filesock.php
|
52776d2eac0619ddad1ca9762781a4b0 *core/function/function_filesock.php
|
||||||
92ebd7558fd1c9291179a91fb3c2f880 *core/function/function_mail.php
|
92ebd7558fd1c9291179a91fb3c2f880 *core/function/function_mail.php
|
||||||
aff9e34d19a59c6c356696f8f2540618 *core/function/function_message.php
|
aff9e34d19a59c6c356696f8f2540618 *core/function/function_message.php
|
||||||
@@ -1039,10 +1039,10 @@ eba5f5cecbb2a1cf2064e55c8c0de177 *dzz/pdf/web/locale/vi/viewer.properties
|
|||||||
badeea57fda90d27e54a9f9488ac4c43 *dzz/pdf/web/viewer.html
|
badeea57fda90d27e54a9f9488ac4c43 *dzz/pdf/web/viewer.html
|
||||||
6cf3b8dd7fae022af726634be28de37d *dzz/pdf/web/viewer.js
|
6cf3b8dd7fae022af726634be28de37d *dzz/pdf/web/viewer.js
|
||||||
9d8f7b8df2cf3dffa23febb3582928d4 *dzz/pdf/web/viewer.js.map
|
9d8f7b8df2cf3dffa23febb3582928d4 *dzz/pdf/web/viewer.js.map
|
||||||
8659ad92dfd558463783565f41e2267b *dzz/pichome/admin.php
|
9702eb58e8b17ea4d968e2f0f6a7d14e *dzz/pichome/admin.php
|
||||||
7534bf9c73c427bffedb2ea88a853d12 *dzz/pichome/ajax.php
|
7769201a069c9a56a632185be123dea7 *dzz/pichome/ajax.php
|
||||||
da38e97091f039e98f3cff60351dec3c *dzz/pichome/checkexport.php
|
723acce1a4da50a5f61eb85632daee3f *dzz/pichome/checkexport.php
|
||||||
088006485445db81b3e5431e1a60efc6 *dzz/pichome/class/class_eagleexport.php
|
9f87ac4edea0ea57b5563bc4a0b7fb61 *dzz/pichome/class/class_eagleexport.php
|
||||||
6293eb9bd5b473c7f178be5d6534341c *dzz/pichome/config/config.php
|
6293eb9bd5b473c7f178be5d6534341c *dzz/pichome/config/config.php
|
||||||
29640dfed0df1100d9c8e4d819b4c593 *dzz/pichome/css/admin.css
|
29640dfed0df1100d9c8e4d819b4c593 *dzz/pichome/css/admin.css
|
||||||
07f01151181178c663d669622ea927f3 *dzz/pichome/css/common.css
|
07f01151181178c663d669622ea927f3 *dzz/pichome/css/common.css
|
||||||
@@ -1056,10 +1056,21 @@ f09b1c7476e28ad67f1c2f2f314230a0 *dzz/pichome/css/fonts/remixicon.symbol.svg
|
|||||||
881fbc46361e0c0e5f003c159b2f3005 *dzz/pichome/css/fonts/remixicon.woff
|
881fbc46361e0c0e5f003c159b2f3005 *dzz/pichome/css/fonts/remixicon.woff
|
||||||
9915fef980fa539085da55b84dfde760 *dzz/pichome/css/fonts/remixicon.woff2
|
9915fef980fa539085da55b84dfde760 *dzz/pichome/css/fonts/remixicon.woff2
|
||||||
beba9d9c0e6f710c90145d9e3cbbab2d *dzz/pichome/css/index.css
|
beba9d9c0e6f710c90145d9e3cbbab2d *dzz/pichome/css/index.css
|
||||||
|
a90f33a177ffdcb9d8c64b598c7dfb5f *dzz/pichome/css/mobile/common.css
|
||||||
|
577f7f31ca1ac0fe27b7c7e8f28f838f *dzz/pichome/css/mobile/details.css
|
||||||
|
871bda5b39c93380460d42db713c2932 *dzz/pichome/css/mobile/index.css
|
||||||
|
f1e227b4a2e8a0345daaf6141e1856dd *dzz/pichome/css/mobile/personal.css
|
||||||
|
cc6d3bf279ed780dd69d0dcc250bd442 *dzz/pichome/css/mobile/share.css
|
||||||
|
29640dfed0df1100d9c8e4d819b4c593 *dzz/pichome/css/pc/admin.css
|
||||||
|
8106960af48c6ce411b168662f3a4386 *dzz/pichome/css/pc/common.css
|
||||||
|
e3123a0f6930b3d0a84387d3102c704d *dzz/pichome/css/pc/details.css
|
||||||
|
4523e1f7dffb0ae26490b704faec2429 *dzz/pichome/css/pc/index.css
|
||||||
|
69c8a20f13ee8eb40d35ddd497d35fd3 *dzz/pichome/css/pc/xuanzhuan/iconfont.ttf
|
||||||
|
b006647cb9c39a657d354fcf0bdf88bf *dzz/pichome/css/pc/xuanzhuan/index.css
|
||||||
48994b9f88c49cdb67a88116380cfb95 *dzz/pichome/css/theme/black/index.css
|
48994b9f88c49cdb67a88116380cfb95 *dzz/pichome/css/theme/black/index.css
|
||||||
3d037ab39fd205fc01dcb0644dc73594 *dzz/pichome/css/theme/black/root.css
|
3d037ab39fd205fc01dcb0644dc73594 *dzz/pichome/css/theme/black/root.css
|
||||||
247be4f622b714c5745e69ebb932e197 *dzz/pichome/css/theme/darkgrey/index.css
|
247be4f622b714c5745e69ebb932e197 *dzz/pichome/css/theme/darkgrey/index.css
|
||||||
e19d97f977fa3d2316168bbe8e4101e5 *dzz/pichome/css/theme/darkgrey/root.css
|
9a6e6b73f09a721abe91bcadd9d1dbcd *dzz/pichome/css/theme/darkgrey/root.css
|
||||||
732389ded34cb9c52dd88271f1345af9 *dzz/pichome/css/theme/fonts/element-icons.ttf
|
732389ded34cb9c52dd88271f1345af9 *dzz/pichome/css/theme/fonts/element-icons.ttf
|
||||||
535877f50039c0cb49a6196a5b7517cd *dzz/pichome/css/theme/fonts/element-icons.woff
|
535877f50039c0cb49a6196a5b7517cd *dzz/pichome/css/theme/fonts/element-icons.woff
|
||||||
dce825b1ca6c3b1c18adc856618b8602 *dzz/pichome/css/theme/lightgrey/index.css
|
dce825b1ca6c3b1c18adc856618b8602 *dzz/pichome/css/theme/lightgrey/index.css
|
||||||
@@ -1070,11 +1081,12 @@ dce825b1ca6c3b1c18adc856618b8602 *dzz/pichome/css/theme/lightgrey/index.css
|
|||||||
2566cbfc860d4bc3c12812d9d35011ef *dzz/pichome/css/theme/purple/root.css
|
2566cbfc860d4bc3c12812d9d35011ef *dzz/pichome/css/theme/purple/root.css
|
||||||
4705cbd2d8a842635d69d2ace637212e *dzz/pichome/css/theme/white/index.css
|
4705cbd2d8a842635d69d2ace637212e *dzz/pichome/css/theme/white/index.css
|
||||||
b07e0746971bb7c6dfc1d88ed2bdc4b2 *dzz/pichome/css/theme/white/root.css
|
b07e0746971bb7c6dfc1d88ed2bdc4b2 *dzz/pichome/css/theme/white/root.css
|
||||||
b8ca416041036fcaa26a718343b671cc *dzz/pichome/details.php
|
0bc21a1af1a289191cf5a48523f2cf8c *dzz/pichome/details.php
|
||||||
8cbb24ea1bf37279c62c847f69984107 *dzz/pichome/download.php
|
8cbb24ea1bf37279c62c847f69984107 *dzz/pichome/download.php
|
||||||
e245c8b1f860c8252eade7f3dec51879 *dzz/pichome/dzz_app_pichome.xml
|
e245c8b1f860c8252eade7f3dec51879 *dzz/pichome/dzz_app_pichome.xml
|
||||||
149c4134105afa138de62c31034c38c6 *dzz/pichome/exportfile.php
|
6ebe1a87ddd4f9d980c7e484b5168937 *dzz/pichome/exportfile.php
|
||||||
06880b4a650311dd50933bf9a5aece2a *dzz/pichome/filelist.php
|
32e51cefc13d10a0eee49874203dd564 *dzz/pichome/exportfilecheck.php
|
||||||
|
0266871ad080f42c5ccd3a8e972a3abf *dzz/pichome/filelist.php
|
||||||
ae3317853c4561197a9a649000597886 *dzz/pichome/function/function_common.php
|
ae3317853c4561197a9a649000597886 *dzz/pichome/function/function_common.php
|
||||||
d211a97399d52fea48f94a45a06648d1 *dzz/pichome/image/eaglefile.webp
|
d211a97399d52fea48f94a45a06648d1 *dzz/pichome/image/eaglefile.webp
|
||||||
152ec265e38eb67acb6cb31026448e3d *dzz/pichome/image/img/t1.jpeg
|
152ec265e38eb67acb6cb31026448e3d *dzz/pichome/image/img/t1.jpeg
|
||||||
@@ -1082,15 +1094,33 @@ d211a97399d52fea48f94a45a06648d1 *dzz/pichome/image/eaglefile.webp
|
|||||||
309c31fa9200e0c9b4ee8fd3f1399dfc *dzz/pichome/image/img/t3.jpeg
|
309c31fa9200e0c9b4ee8fd3f1399dfc *dzz/pichome/image/img/t3.jpeg
|
||||||
5f5562a16dad1fa33294b5c0a920f1d6 *dzz/pichome/image/img/t4.jpeg
|
5f5562a16dad1fa33294b5c0a920f1d6 *dzz/pichome/image/img/t4.jpeg
|
||||||
08a26df5cbee8f21dbac8d646d1da218 *dzz/pichome/image/nodata.svg
|
08a26df5cbee8f21dbac8d646d1da218 *dzz/pichome/image/nodata.svg
|
||||||
|
1f0ee3cd38e82bd18490a34fcec8c690 *dzz/pichome/image/notScreen.png
|
||||||
f308fd14dbe2e06349ef366d6f9aa2c7 *dzz/pichome/image/palette.png
|
f308fd14dbe2e06349ef366d6f9aa2c7 *dzz/pichome/image/palette.png
|
||||||
efdb2935803c55f32f283c48abed9dbd *dzz/pichome/image/phlogo.png
|
d51db8efca781201f641a41b57420dfe *dzz/pichome/image/phlogo.png
|
||||||
6c9bc6ff1ea0bb36eb156ae681741ee5 *dzz/pichome/index.php
|
fcb60dfc7f223068eac9d35e8028617c *dzz/pichome/index.php
|
||||||
|
fbc658afc26c123d3ab585fd2eec4f2e *dzz/pichome/initexport.php
|
||||||
c9b191574ccc8ab6c8ff631302f10561 *dzz/pichome/install.php
|
c9b191574ccc8ab6c8ff631302f10561 *dzz/pichome/install.php
|
||||||
29b8b6254aaaa263cbb0fe8272f05a59 *dzz/pichome/js/audioPlay.js
|
29b8b6254aaaa263cbb0fe8272f05a59 *dzz/pichome/js/audioPlay.js
|
||||||
a088950fc4bf4348d87cda978e5ded97 *dzz/pichome/js/common.js
|
a088950fc4bf4348d87cda978e5ded97 *dzz/pichome/js/common.js
|
||||||
b7a95d9f617863cf515a43e7b83978c5 *dzz/pichome/js/headerMethods.js
|
b7a95d9f617863cf515a43e7b83978c5 *dzz/pichome/js/headerMethods.js
|
||||||
d752d1878252e486cc0244887cfadbae *dzz/pichome/js/headerWatch.js
|
d752d1878252e486cc0244887cfadbae *dzz/pichome/js/headerWatch.js
|
||||||
d5843dbdc71ff8014a5eafd346a262da *dzz/pichome/js/jquery.mousewheel.min.js
|
d5843dbdc71ff8014a5eafd346a262da *dzz/pichome/js/jquery.mousewheel.min.js
|
||||||
|
d37b5113b01a2ef9fb6cf447a5dcff89 *dzz/pichome/js/mobile/pinchzoom.js
|
||||||
|
57c1fe0c8799e3ad619c0ef6e719bfbc *dzz/pichome/js/mobile/plug/colorPicker/jquery.minicolors.css
|
||||||
|
043afc4dc77f0ef3f9923c38170c52cf *dzz/pichome/js/mobile/plug/colorPicker/jquery.minicolors.min.js
|
||||||
|
d36c75e3d8880ebfece375fd7cd46787 *dzz/pichome/js/mobile/plug/colorPicker/jquery.minicolors.png
|
||||||
|
b5d4479aca9121ce9ed95af5d77c10d9 *dzz/pichome/js/mobile/plug/vant/index.css
|
||||||
|
3d5fcccab75bba76cc259351e875d42a *dzz/pichome/js/mobile/plug/vant/vant.min.js
|
||||||
|
29b8b6254aaaa263cbb0fe8272f05a59 *dzz/pichome/js/pc/audioPlay.js
|
||||||
|
2ffc868ac18c18d948c3ae5576afa98b *dzz/pichome/js/pc/headerMethods.js
|
||||||
|
84f0575bc959e85fc1abab5dc71d3079 *dzz/pichome/js/pc/headerWatch.js
|
||||||
|
d5843dbdc71ff8014a5eafd346a262da *dzz/pichome/js/pc/jquery.mousewheel.min.js
|
||||||
|
72dbef2b0dd2644f4fb4e72ddbb7013b *dzz/pichome/js/pc/plug/DomResize.js
|
||||||
|
8a788a8d0bfb2d3c1988bddb4aef4b4b *dzz/pichome/js/pc/plug/element-ui.js
|
||||||
|
66fe9527aec8d8b68e3bc5036ea8f7f9 *dzz/pichome/js/pc/plug/sortable.min.js
|
||||||
|
7fe276a3e0d5ed3a6f2c84a9440c4add *dzz/pichome/js/pc/plug/wavesurfer.js
|
||||||
|
ef4591bffb23a90c8d9e0d02a7b5c15f *dzz/pichome/js/pc/row-grid.js
|
||||||
|
ec0f395ef389b9e369cf0bf354d2dd01 *dzz/pichome/js/pc/waterfall.js
|
||||||
72dbef2b0dd2644f4fb4e72ddbb7013b *dzz/pichome/js/plug/DomResize.js
|
72dbef2b0dd2644f4fb4e72ddbb7013b *dzz/pichome/js/plug/DomResize.js
|
||||||
8a788a8d0bfb2d3c1988bddb4aef4b4b *dzz/pichome/js/plug/element-ui.js
|
8a788a8d0bfb2d3c1988bddb4aef4b4b *dzz/pichome/js/plug/element-ui.js
|
||||||
dc3ea9ad3b70dda4a5250f14e9f2a36a *dzz/pichome/js/plug/jquery.row-grid.js
|
dc3ea9ad3b70dda4a5250f14e9f2a36a *dzz/pichome/js/plug/jquery.row-grid.js
|
||||||
@@ -1103,32 +1133,47 @@ b21b8531847604ab5f2f5caaef51ba31 *dzz/pichome/js/vue/vue.js
|
|||||||
69764bf35375a54256412f3c748b312d *dzz/pichome/js/waterfall.js
|
69764bf35375a54256412f3c748b312d *dzz/pichome/js/waterfall.js
|
||||||
c24f19d7061cdf5bae41e5e9b9f5600c *dzz/pichome/language/en-US/lang.php
|
c24f19d7061cdf5bae41e5e9b9f5600c *dzz/pichome/language/en-US/lang.php
|
||||||
8a3e6ab24d873202b96c3acd9c1b0d2b *dzz/pichome/language/zh-CN/lang.php
|
8a3e6ab24d873202b96c3acd9c1b0d2b *dzz/pichome/language/zh-CN/lang.php
|
||||||
7c10bb4a15f7522989848c5138174c05 *dzz/pichome/library.php
|
50c4c9bf7d32e57f7e7816680f972453 *dzz/pichome/library.php
|
||||||
ccef8b340c90fc0061c6dd645fecc8df *dzz/pichome/setting.php
|
ccef8b340c90fc0061c6dd645fecc8df *dzz/pichome/setting.php
|
||||||
3a9db7def73d093f8f30ccae5577f18f *dzz/pichome/share.php
|
f1753ea283af7618463e0d03b8735e6f *dzz/pichome/share.php
|
||||||
37c8861eb4f7f8c94608935cd9c41544 *dzz/pichome/template/components/headerAdmin/index.htm
|
25cb394f79991dcd599e3a48434d8a08 *dzz/pichome/template/mobile/components/index/JsCommon.htm
|
||||||
59434ecdc8ec0b282eec428cc5806ff5 *dzz/pichome/template/components/headerindex/index.htm
|
3c0bae451668c060ae526d3253e9be73 *dzz/pichome/template/mobile/components/index/JsDetailMessage.htm
|
||||||
5518c2bc4f44f3636e63d6a3ebe6e508 *dzz/pichome/template/components/headerindex/screen.htm
|
acea860028318bbeab9263e0028c0876 *dzz/pichome/template/mobile/components/index/JsImages.htm
|
||||||
105d244408ea6a9780677c28b376ea6c *dzz/pichome/template/components/headerindex/searchScreen.htm
|
ab5bf119eb21b0b847dcf178a8dff9d9 *dzz/pichome/template/mobile/components/index/JsIndex.htm
|
||||||
47702c24d36ca5b820de1029b4fdf138 *dzz/pichome/template/components/index/images.htm
|
18939ca3c3ccb67156c1d2f3d059a3fa *dzz/pichome/template/mobile/components/index/JsMy.htm
|
||||||
986115087ed076c2e624bd94c0ec56f0 *dzz/pichome/template/components/index/indexVuex.htm
|
63e7150d7f8268df832d643c34964c82 *dzz/pichome/template/mobile/components/index/JsScreen.htm
|
||||||
c2953f2cc75684f3a777148ad8c5fce9 *dzz/pichome/template/components/index/screen.htm
|
76399fc5b4e7a84ee75ed49e34e483c9 *dzz/pichome/template/mobile/components/index/JsSearch.htm
|
||||||
8f54b82e6d2f9cb4d7ba43d09a39f088 *dzz/pichome/template/frame/footer_simple.htm
|
b8d6091bba53d62ce9a4f1465da5412d *dzz/pichome/template/mobile/components/index/JsSort.htm
|
||||||
ae502b90b2b31175892efe56867bc2e7 *dzz/pichome/template/frame/header_simple_end.htm
|
8f54b82e6d2f9cb4d7ba43d09a39f088 *dzz/pichome/template/mobile/frame/footer_simple.htm
|
||||||
891bc77b1e8e054dcbcbc5bcdd317592 *dzz/pichome/template/frame/header_simple_start.htm
|
ae502b90b2b31175892efe56867bc2e7 *dzz/pichome/template/mobile/frame/header_simple_end.htm
|
||||||
8f6971c0247b193ab47c3c5ddb6d0266 *dzz/pichome/template/page/adminBasic.htm
|
fdc74d5e180321fc338ae91a1a90e22e *dzz/pichome/template/mobile/frame/header_simple_start.htm
|
||||||
11fd257b9af5db87fcf2b70568a4310d *dzz/pichome/template/page/adminFileterset.htm
|
f5cceb704def0ea998936386fe5f5abf *dzz/pichome/template/mobile/page/details.htm
|
||||||
be4f1925a5cbd80416e8a545621132c2 *dzz/pichome/template/page/adminLoginpage.htm
|
f9f65e35608efe6563e49abbc66c1249 *dzz/pichome/template/mobile/page/index.htm
|
||||||
9c164499d8cf7719b80e969fd6def67d *dzz/pichome/template/page/adminPagesetting.htm
|
be7755b8e73e2ffa49557e8c3891027a *dzz/pichome/template/mobile/page/personal.htm
|
||||||
c77af0fd0053dfaa96f4db838ae6adf3 *dzz/pichome/template/page/adminPersonal.htm
|
e26ea0557cda6d3b4d550e72ced64611 *dzz/pichome/template/mobile/page/share.htm
|
||||||
f0e94bac24224daf8e6957b01aea7fd6 *dzz/pichome/template/page/details.htm
|
1b2b3b2922d7e02373b1b9862c7a5ef7 *dzz/pichome/template/pc/components/headerAdmin/index.htm
|
||||||
4e61b93f59ad1885f03a5247022bbefd *dzz/pichome/template/page/index.htm
|
e078614bb6d558d96006ec127f7c392c *dzz/pichome/template/pc/components/headerindex/index.htm
|
||||||
cf70aadbb56bd4fe27d1c1b15a75ca90 *dzz/pichome/template/page/library.htm
|
0436c3ba601aa0804b0e51926f557988 *dzz/pichome/template/pc/components/headerindex/screen.htm
|
||||||
016721dd93f715c67bd1cd66cb3ca679 *dzz/pichome/template/page/share.htm
|
105d244408ea6a9780677c28b376ea6c *dzz/pichome/template/pc/components/headerindex/searchScreen.htm
|
||||||
|
e75f2d5563b6d12d345ee4414e2840f9 *dzz/pichome/template/pc/components/index/images.htm
|
||||||
|
0764f300b91acf6e60925fa91c528941 *dzz/pichome/template/pc/components/index/indexVuex.htm
|
||||||
|
c2953f2cc75684f3a777148ad8c5fce9 *dzz/pichome/template/pc/components/index/screen.htm
|
||||||
|
8f54b82e6d2f9cb4d7ba43d09a39f088 *dzz/pichome/template/pc/frame/footer_simple.htm
|
||||||
|
ae502b90b2b31175892efe56867bc2e7 *dzz/pichome/template/pc/frame/header_simple_end.htm
|
||||||
|
08154101159fde8eb21fe522cc937e4c *dzz/pichome/template/pc/frame/header_simple_start.htm
|
||||||
|
32def5e1c372b587b41991cc72da998d *dzz/pichome/template/pc/page/adminBasic.htm
|
||||||
|
cc96dd261e08e02dc52f76cd93f2b606 *dzz/pichome/template/pc/page/adminFileterset.htm
|
||||||
|
109683e420385c288d86639466b6a1d8 *dzz/pichome/template/pc/page/adminLoginpage.htm
|
||||||
|
e066dec8e0303fabf007c8a74eb4625e *dzz/pichome/template/pc/page/adminPagesetting.htm
|
||||||
|
0920466b526ad2b5b6e20c8b2acead53 *dzz/pichome/template/pc/page/adminPersonal.htm
|
||||||
|
ad552124940206341e350aceaedc0e16 *dzz/pichome/template/pc/page/details.htm
|
||||||
|
8e351bacc90f2855e890cc3cb0ef9fc2 *dzz/pichome/template/pc/page/index.htm
|
||||||
|
1e718307be2a24429f9d37f225fb8988 *dzz/pichome/template/pc/page/library.htm
|
||||||
|
953101b30d9f9f7e303a7891ade351f3 *dzz/pichome/template/pc/page/share.htm
|
||||||
3cd79761b99168c3f9faf607183df134 *dzz/pichome/uninstall.php
|
3cd79761b99168c3f9faf607183df134 *dzz/pichome/uninstall.php
|
||||||
b5221437a0c978e0caf63f2278759934 *dzz/pichome/uninstall_real.php
|
b5221437a0c978e0caf63f2278759934 *dzz/pichome/uninstall_real.php
|
||||||
efbd03954c4e8df90891d9d6f338619f *dzz/pichome/upload.php
|
efbd03954c4e8df90891d9d6f338619f *dzz/pichome/upload.php
|
||||||
50001a358e0b90b6f1e4b2414c0f2d44 *dzz/pichome/user.php
|
e79dc819cafad7450fda2748ee3989dd *dzz/pichome/user.php
|
||||||
3d037ab39fd205fc01dcb0644dc73594 *dzz/textviewer/css/theme/black/root.css
|
3d037ab39fd205fc01dcb0644dc73594 *dzz/textviewer/css/theme/black/root.css
|
||||||
e19d97f977fa3d2316168bbe8e4101e5 *dzz/textviewer/css/theme/darkgrey/root.css
|
e19d97f977fa3d2316168bbe8e4101e5 *dzz/textviewer/css/theme/darkgrey/root.css
|
||||||
732389ded34cb9c52dd88271f1345af9 *dzz/textviewer/css/theme/fonts/element-icons.ttf
|
732389ded34cb9c52dd88271f1345af9 *dzz/textviewer/css/theme/fonts/element-icons.ttf
|
||||||
@@ -1155,8 +1200,8 @@ a875bc67c5d7db47c918a3cfe5318a57 *dzz/xgplayer/template/main.htm
|
|||||||
5cb9422375b907e05eb6b7dc36fcd895 *favicon.ico
|
5cb9422375b907e05eb6b7dc36fcd895 *favicon.ico
|
||||||
8e55bdb192a3aefe82e03292527819ca *htaccess_default.txt
|
8e55bdb192a3aefe82e03292527819ca *htaccess_default.txt
|
||||||
55d39f5cf3916ab6a9336d95c671ab53 *index.php
|
55d39f5cf3916ab6a9336d95c671ab53 *index.php
|
||||||
ede086aa34596b826b2ccf6d32a89303 *install/data/install.sql
|
149ca09a781fa0fd9ee90ceb0a409006 *install/data/install.sql
|
||||||
67df3c5463e4b6826d4cfc8cc5d64b82 *install/data/install_data.sql
|
6add5cf682c64601c21a727302a46431 *install/data/install_data.sql
|
||||||
feabf4e4c8e20dc73548dfd6ba8400f9 *install/images/error.png
|
feabf4e4c8e20dc73548dfd6ba8400f9 *install/images/error.png
|
||||||
fc25acefcabc066437d4b27550387954 *install/images/logo.png
|
fc25acefcabc066437d4b27550387954 *install/images/logo.png
|
||||||
2ba93e93e0fbdfeb91e22f6d3bf8b6ca *install/images/logo.svg
|
2ba93e93e0fbdfeb91e22f6d3bf8b6ca *install/images/logo.svg
|
||||||
@@ -1168,8 +1213,9 @@ fc25acefcabc066437d4b27550387954 *install/images/logo.png
|
|||||||
a987af86766c27c565794ffa189cf664 *install/include/install_mysql.php
|
a987af86766c27c565794ffa189cf664 *install/include/install_mysql.php
|
||||||
249b244097610688130b93721d1c2bd1 *install/include/install_mysqli.php
|
249b244097610688130b93721d1c2bd1 *install/include/install_mysqli.php
|
||||||
d7d7fef7dc366413340be8ad3da41709 *install/include/install_var.php
|
d7d7fef7dc366413340be8ad3da41709 *install/include/install_var.php
|
||||||
5c2f5c9042a9e66bc8f5af0b638cf1de *install/index.php
|
dd4116d4f1d942f52548e4a27c65a19f *install/index.php
|
||||||
8eca1f167c0b805d9fda97804379a962 *install/language/zh-cn/lang.php
|
8eca1f167c0b805d9fda97804379a962 *install/language/zh-cn/lang.php
|
||||||
|
9df77036c7ebea501feaa23661852767 *install/update.php
|
||||||
5aefe69b1ba16fe8a6f79c2156f8f281 *misc/ajax.php
|
5aefe69b1ba16fe8a6f79c2156f8f281 *misc/ajax.php
|
||||||
66ee773a4c2e373da92f48f81930cf3f *misc/classes/init.php
|
66ee773a4c2e373da92f48f81930cf3f *misc/classes/init.php
|
||||||
f656adb0c1b2699a4d8c613f2b9dacab *misc/pichomeexport.php
|
f656adb0c1b2699a4d8c613f2b9dacab *misc/pichomeexport.php
|
||||||
@@ -1184,7 +1230,6 @@ ff6abf5b6ce1f3256d2aad8fdd24f646 *misc/setunrun.php
|
|||||||
d365238875a6457eaea991f1e7913309 *misc/template/misc_seluser.htm
|
d365238875a6457eaea991f1e7913309 *misc/template/misc_seluser.htm
|
||||||
89c90d955c3bfda0f63dce1449021924 *misc/upgrade.php
|
89c90d955c3bfda0f63dce1449021924 *misc/upgrade.php
|
||||||
170b9709fad7d1a8479d03c5c5913bae *misc.php
|
170b9709fad7d1a8479d03c5c5913bae *misc.php
|
||||||
6b24f900b7ee6c424f47304a9cf098de *pichome_release.zip
|
|
||||||
eb11382b6241b03f598530206c21e0a1 *short.php
|
eb11382b6241b03f598530206c21e0a1 *short.php
|
||||||
a4167122758dd580e234395e98987bcb *static/bootstrap/css/bootstrap-slider.css
|
a4167122758dd580e234395e98987bcb *static/bootstrap/css/bootstrap-slider.css
|
||||||
e5f6fb08f469dc836cb3609e23694b3a *static/bootstrap/css/bootstrap-theme.css
|
e5f6fb08f469dc836cb3609e23694b3a *static/bootstrap/css/bootstrap-theme.css
|
||||||
|
|||||||
@@ -113,7 +113,7 @@ if($operation == 'getApp'){//获取当前用户应用
|
|||||||
left join %t s on s.uid = u.uid and s.skey=%swhere u.uid =%d",
|
left join %t s on s.uid = u.uid and s.skey=%swhere u.uid =%d",
|
||||||
array('user','user_setting','headerColor',$uid));
|
array('user','user_setting','headerColor',$uid));
|
||||||
if($udata['avatarstatus'] == 1){
|
if($udata['avatarstatus'] == 1){
|
||||||
$userData['icon'] = 'avatar.php?uid='.$udata['uid'];
|
$userData['icon'] = 'avatar.php?uid='.$udata['uid'].'&random='.VERHASH;
|
||||||
}elseif($udata['svalue']){
|
}elseif($udata['svalue']){
|
||||||
$userData['firstword'] = strtoupper(new_strsubstr($udata['username'],1,''));
|
$userData['firstword'] = strtoupper(new_strsubstr($udata['username'],1,''));
|
||||||
$userData['headerColor'] = $udata['svalue'];
|
$userData['headerColor'] = $udata['svalue'];
|
||||||
|
|||||||
@@ -29,7 +29,7 @@ if(file_exists(dirname(__FILE__).'/'.$avatar)) {
|
|||||||
exit;
|
exit;
|
||||||
}
|
}
|
||||||
$size = in_array($size, array('big', 'middle', 'small')) ? $size : 'middle';
|
$size = in_array($size, array('big', 'middle', 'small')) ? $size : 'middle';
|
||||||
$avatar_url = 'static/image/avatar/noavatar_'.$size.'.gif';
|
$avatar_url = 'data/avatar/noavatar_'.$size.'.gif';
|
||||||
}
|
}
|
||||||
|
|
||||||
if(empty($random)) {
|
if(empty($random)) {
|
||||||
|
|||||||
@@ -11,8 +11,8 @@ if(!defined('IN_OAOOA')) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
if(!defined('CORE_VERSION')) {
|
if(!defined('CORE_VERSION')) {
|
||||||
define('CORE_VERSION', 'beta1');
|
define('CORE_VERSION', 'beta2.0');
|
||||||
define('CORE_VERSION_LEVEL', 'Pichome');
|
define('CORE_VERSION_LEVEL', 'Pichome');
|
||||||
define('CORE_RELEASE', '20210820');
|
define('CORE_RELEASE', '20211110');
|
||||||
define('CORE_FIXBUG' , '01000000');
|
define('CORE_FIXBUG' , '20000000');
|
||||||
}
|
}
|
||||||
@@ -2,7 +2,7 @@
|
|||||||
if(!defined('IN_OAOOA')) {
|
if(!defined('IN_OAOOA')) {
|
||||||
exit('Access Denied');
|
exit('Access Denied');
|
||||||
}
|
}
|
||||||
gnore_user_abort(true);
|
ignore_user_abort(true);
|
||||||
@set_time_limit(0);
|
@set_time_limit(0);
|
||||||
$percachename = 'pichome_searchhot';
|
$percachename = 'pichome_searchhot';
|
||||||
$alldata = C::t('pichome_searchrecent')->fetch_hotkeyword_by_appid();
|
$alldata = C::t('pichome_searchrecent')->fetch_hotkeyword_by_appid();
|
||||||
|
|||||||
@@ -2,7 +2,7 @@
|
|||||||
if(!defined('IN_OAOOA')) {
|
if(!defined('IN_OAOOA')) {
|
||||||
exit('Access Denied');
|
exit('Access Denied');
|
||||||
}
|
}
|
||||||
ignore_user_abort(true);
|
//ignore_user_abort(true);
|
||||||
@set_time_limit(0);
|
@set_time_limit(0);
|
||||||
$appdata = DB::fetch_all("select * from %t where 1 ",array('pichome_vapp'));
|
$appdata = DB::fetch_all("select * from %t where 1 ",array('pichome_vapp'));
|
||||||
foreach($appdata as $v){
|
foreach($appdata as $v){
|
||||||
@@ -11,7 +11,12 @@
|
|||||||
//删除库
|
//删除库
|
||||||
C::t('#pichome#pichome_vapp')->delete_vapp_by_appid($v['appid']);
|
C::t('#pichome#pichome_vapp')->delete_vapp_by_appid($v['appid']);
|
||||||
}else{
|
}else{
|
||||||
dfsockopen(getglobal('localurl'). 'index.php?mod=pichome&op=exportfile&appid='.$v['appid'],0, '', '', false, '', 1);
|
if($v['state'] == 1){
|
||||||
|
dfsockopen(getglobal('localurl'). 'index.php?mod=pichome&op=exportfile&appid='.$v['appid'],0, '', '', false, '', 1);
|
||||||
|
}elseif($v['state'] == 2){
|
||||||
|
dfsockopen(getglobal('localurl'). 'index.php?mod=pichome&op=exportfilecheck&appid='.$v['appid'],0, '', '', false, '', 1);
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
@@ -54,13 +54,13 @@ function updatecache($cachename = '') {
|
|||||||
try{
|
try{
|
||||||
@include_once DZZ_ROOT.'./dzz/'.$entrys[0].'/cache/cache_'.$entrys[1].'.php';
|
@include_once DZZ_ROOT.'./dzz/'.$entrys[0].'/cache/cache_'.$entrys[1].'.php';
|
||||||
if(function_exists('build_cache_'.$entrys[0].'_'.$entrys[1])) call_user_func('build_cache_'.$entrys[0].'_'.$entrys[1]);
|
if(function_exists('build_cache_'.$entrys[0].'_'.$entrys[1])) call_user_func('build_cache_'.$entrys[0].'_'.$entrys[1]);
|
||||||
elseif(function_exists('build_cache_app_'.$entryr[1])) call_user_func('build_cache_app_'.$entrys[1]);
|
elseif(function_exists('build_cache_app_'.$entrys[1])) call_user_func('build_cache_app_'.$entrys[1]);
|
||||||
}catch(Exception $e){continue;}
|
}catch(Exception $e){continue;}
|
||||||
}elseif(count($entrys)==3){
|
}elseif(count($entrys)==3){
|
||||||
try{
|
try{
|
||||||
@include_once DZZ_ROOT.'./'.$entrys[0].'/'.$entrys[1].'/cache/cache_'.$entrys[2].'.php';
|
@include_once DZZ_ROOT.'./'.$entrys[0].'/'.$entrys[1].'/cache/cache_'.$entrys[2].'.php';
|
||||||
if(function_exists('build_cache_'.$entrys[1].'_'.$entrys[2])) call_user_func('build_cache_'.$entrys[1].'_'.$entrys[2]);
|
if(function_exists('build_cache_'.$entrys[1].'_'.$entrys[2])) call_user_func('build_cache_'.$entrys[1].'_'.$entrys[2]);
|
||||||
elseif(function_exists('build_cache_app_'.$entryr[1])) call_user_func('build_cache_app_'.$entrys[1]);
|
elseif(function_exists('build_cache_app_'.$entrys[1])) call_user_func('build_cache_app_'.$entrys[1]);
|
||||||
}catch(Exception $e){continue;}
|
}catch(Exception $e){continue;}
|
||||||
} else {//插件缓存
|
} else {//插件缓存
|
||||||
|
|
||||||
|
|||||||
@@ -804,7 +804,7 @@ function avatar_block($uid=0,$headercolors=array(),$class="Topcarousel"){
|
|||||||
}
|
}
|
||||||
if(empty($user)) return '';
|
if(empty($user)) return '';
|
||||||
if($user['avatarstatus']){//用户已经上传头像
|
if($user['avatarstatus']){//用户已经上传头像
|
||||||
return '<img src="avatar.php?uid='.$user['uid'].'" class="img-circle special_avatar_class" title="'.$user['username'].'">';
|
return '<img src="avatar.php?uid='.$user['uid'].'&random='.VERHASH.'" class="img-circle special_avatar_class" title="'.$user['username'].'">';
|
||||||
}else{//没有上传头像,使用背景+首字母
|
}else{//没有上传头像,使用背景+首字母
|
||||||
if($uid){
|
if($uid){
|
||||||
if($headercolors[$uid]) $headerColor=$headercolors[$uid];
|
if($headercolors[$uid]) $headerColor=$headercolors[$uid];
|
||||||
|
|||||||
0
data/template/index.htm
Normal file
0
data/template/index.htm
Normal file
@@ -26,7 +26,7 @@
|
|||||||
if (!file_exists($waterfilepath)) {
|
if (!file_exists($waterfilepath)) {
|
||||||
$waterfilepath = htmlspecialchars;
|
$waterfilepath = htmlspecialchars;
|
||||||
}
|
}
|
||||||
include template('page/adminBasic');
|
include template('pc/page/adminBasic');
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
@@ -46,7 +46,7 @@
|
|||||||
exit(json_encode(array('success' => true)));
|
exit(json_encode(array('success' => true)));
|
||||||
} else {
|
} else {
|
||||||
$waterfilepath = $_G['setting']['attachurl'] . 'sitelogo/sitelogo.png';
|
$waterfilepath = $_G['setting']['attachurl'] . 'sitelogo/sitelogo.png';
|
||||||
include template('page/adminPagesetting');
|
include template('pc/page/adminPagesetting');
|
||||||
}
|
}
|
||||||
} elseif ($do == 'loginpage') {//登录页设置
|
} elseif ($do == 'loginpage') {//登录页设置
|
||||||
if (submitcheck('settingsubmit')) {
|
if (submitcheck('settingsubmit')) {
|
||||||
@@ -71,7 +71,7 @@
|
|||||||
updatesetting($setting, $settingnew);
|
updatesetting($setting, $settingnew);
|
||||||
exit(json_encode(array('success' => true)));
|
exit(json_encode(array('success' => true)));
|
||||||
} else {
|
} else {
|
||||||
include template('page/adminLoginpage');
|
include template('pc/page/adminLoginpage');
|
||||||
|
|
||||||
}
|
}
|
||||||
} elseif ($do == 'fileterset') {//筛选项设置
|
} elseif ($do == 'fileterset') {//筛选项设置
|
||||||
@@ -91,7 +91,7 @@
|
|||||||
}else{
|
}else{
|
||||||
$data = json_encode(array());
|
$data = json_encode(array());
|
||||||
}
|
}
|
||||||
include template('page/adminFileterset');
|
include template('pc/page/adminFileterset');
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
function updatesetting($setting, $settingnew){
|
function updatesetting($setting, $settingnew){
|
||||||
|
|||||||
2287
dzz/pichome/ajax.php
2287
dzz/pichome/ajax.php
File diff suppressed because it is too large
Load Diff
@@ -22,7 +22,7 @@
|
|||||||
}
|
}
|
||||||
closedir($dh);
|
closedir($dh);
|
||||||
}
|
}
|
||||||
|
|
||||||
//待导入库目录
|
//待导入库目录
|
||||||
$apppaths = [];
|
$apppaths = [];
|
||||||
$lastfoldername = '.library';
|
$lastfoldername = '.library';
|
||||||
@@ -42,13 +42,13 @@
|
|||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
foreach(DB::fetch_all("select * from %t where 1",array('pichome_vapp')) as $v){
|
foreach(DB::fetch_all("select * from %t where 1",array('pichome_vapp')) as $v){
|
||||||
if(!in_array($eagledir.'/'.$v['path'],$apppaths)){
|
if(!in_array($eagledir.'/'.$v['path'],$apppaths)){
|
||||||
C::t('pichome_vapp')->delete_vapp_by_appid($v['appid']);
|
C::t('pichome_vapp')->delete_vapp_by_appid($v['appid']);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
//创建库
|
//创建库
|
||||||
foreach ($apppaths as $val) {
|
foreach ($apppaths as $val) {
|
||||||
$jsonfile = $val . BS . 'metadata.json';
|
$jsonfile = $val . BS . 'metadata.json';
|
||||||
@@ -142,7 +142,7 @@
|
|||||||
'personal' => 1,
|
'personal' => 1,
|
||||||
'dateline' => $mtime,
|
'dateline' => $mtime,
|
||||||
'path' => $path,
|
'path' => $path,
|
||||||
'filter'=>'a:12:{i:0;a:3:{s:3:"key";s:3:"tag";s:4:"text";s:6:"标签";s:7:"checked";s:1:"1";}i:1;a:3:{s:3:"key";s:5:"color";s:4:"text";s:6:"颜色";s:7:"checked";s:1:"1";}i:2;a:3:{s:3:"key";s:4:"link";s:4:"text";s:6:"链接";s:7:"checked";s:1:"1";}i:3;a:3:{s:3:"key";s:4:"desc";s:4:"text";s:6:"注释";s:7:"checked";s:1:"1";}i:4;a:3:{s:3:"key";s:8:"duration";s:4:"text";s:6:"时长";s:7:"checked";s:1:"1";}i:5;a:3:{s:3:"key";s:4:"size";s:4:"text";s:6:"尺寸";s:7:"checked";s:1:"1";}i:6;a:3:{s:3:"key";s:3:"ext";s:4:"text";s:6:"类型";s:7:"checked";s:1:"1";}i:7;a:3:{s:3:"key";s:5:"shape";s:4:"text";s:6:"形状";s:7:"checked";s:1:"1";}i:8;a:3:{s:3:"key";s:5:"grade";s:4:"text";s:6:"评分";s:7:"checked";s:1:"1";}i:9;a:3:{s:3:"key";s:5:"btime";s:4:"text";s:12:"添加时间";s:7:"checked";s:1:"1";}i:10;a:3:{s:3:"key";s:8:"dateline";s:4:"text";s:12:"修改日期";s:7:"checked";s:1:"1";}i:11;a:3:{s:3:"key";s:5:"mtime";s:4:"text";s:12:"创建日期";s:7:"checked";s:1:"1";}}'
|
'filter'=>'a:13:{i:0;a:3:{s:3:"key";s:8:"classify";s:4:"text";s:6:"分类";s:7:"checked";s:1:"1";}i:1;a:4:{s:3:"key";s:3:"tag";s:4:"text";s:6:"标签";s:7:"checked";s:1:"1";s:8:"showtype";s:1:"0";}i:2;a:3:{s:3:"key";s:5:"color";s:4:"text";s:6:"颜色";s:7:"checked";s:1:"1";}i:3;a:3:{s:3:"key";s:4:"link";s:4:"text";s:6:"链接";s:7:"checked";s:1:"1";}i:4;a:3:{s:3:"key";s:4:"desc";s:4:"text";s:6:"注释";s:7:"checked";s:1:"1";}i:5;a:3:{s:3:"key";s:8:"duration";s:4:"text";s:6:"时长";s:7:"checked";s:1:"1";}i:6;a:3:{s:3:"key";s:4:"size";s:4:"text";s:6:"尺寸";s:7:"checked";s:1:"1";}i:7;a:3:{s:3:"key";s:3:"ext";s:4:"text";s:6:"类型";s:7:"checked";s:1:"1";}i:8;a:3:{s:3:"key";s:5:"shape";s:4:"text";s:6:"形状";s:7:"checked";s:1:"1";}i:9;a:3:{s:3:"key";s:5:"grade";s:4:"text";s:6:"评分";s:7:"checked";s:1:"1";}i:10;a:3:{s:3:"key";s:5:"btime";s:4:"text";s:12:"添加时间";s:7:"checked";s:1:"1";}i:11;a:3:{s:3:"key";s:8:"dateline";s:4:"text";s:12:"修改日期";s:7:"checked";s:1:"1";}i:12;a:3:{s:3:"key";s:5:"mtime";s:4:"text";s:12:"创建日期";s:7:"checked";s:1:"1";}}'
|
||||||
];
|
];
|
||||||
|
|
||||||
if($appid = C::t('pichome_vapp')->insert($appattr)){
|
if($appid = C::t('pichome_vapp')->insert($appattr)){
|
||||||
|
|||||||
File diff suppressed because it is too large
Load Diff
269
dzz/pichome/css/mobile/common.css
Normal file
269
dzz/pichome/css/mobile/common.css
Normal file
@@ -0,0 +1,269 @@
|
|||||||
|
:root{
|
||||||
|
--font-14:0.875rem;
|
||||||
|
--font-14:1rem;
|
||||||
|
--font-32:2rem;
|
||||||
|
}
|
||||||
|
*{
|
||||||
|
padding: 0;
|
||||||
|
margin: 0;
|
||||||
|
box-sizing: border-box;
|
||||||
|
}
|
||||||
|
@media screen and (max-width: 768px) {
|
||||||
|
html{
|
||||||
|
font-size: 16px;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
@media screen and (min-width: 768px) {
|
||||||
|
html{
|
||||||
|
font-size: 18px;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
html,body,#dzzoffice{
|
||||||
|
width: 100%;
|
||||||
|
height: 100%;
|
||||||
|
margin: 0;
|
||||||
|
padding: 0;
|
||||||
|
overflow: hidden;
|
||||||
|
}
|
||||||
|
input::-webkit-input-placeholder { /* WebKit, Blink, Edge */
|
||||||
|
color : var(--tip-color);
|
||||||
|
}
|
||||||
|
|
||||||
|
input:-moz-placeholder { /* Mozilla Firefox 4 to 18 */
|
||||||
|
color : var(--tip-color);
|
||||||
|
}
|
||||||
|
|
||||||
|
input::-moz-placeholder { /* Mozilla Firefox 19+ */
|
||||||
|
color : var(--tip-color);
|
||||||
|
}
|
||||||
|
|
||||||
|
input:-ms-input-placeholder { /* Internet Explorer 10-11 */
|
||||||
|
color : var(--tip-color);
|
||||||
|
}
|
||||||
|
|
||||||
|
input::-ms-input-placeholder { /* Microsoft Edge */
|
||||||
|
color : var(--tip-color);
|
||||||
|
}
|
||||||
|
.van-nav-bar__content{
|
||||||
|
/* 46px */
|
||||||
|
height: 46px;
|
||||||
|
}
|
||||||
|
.van-popup.van-notify.van-notify--warning{
|
||||||
|
background-color: #ff976a;
|
||||||
|
color: #fff;
|
||||||
|
}
|
||||||
|
.van-dialog{
|
||||||
|
background: var(--bg-poper);
|
||||||
|
color: var(--header-active);
|
||||||
|
}
|
||||||
|
.van-dialog .van-dialog__message--has-title{
|
||||||
|
color: var(--header-text);
|
||||||
|
}
|
||||||
|
.van-dialog .van-button{
|
||||||
|
background: var(--bg-poper);
|
||||||
|
}
|
||||||
|
.van-dialog .van-dialog__cancel{
|
||||||
|
color: var(--header-text);
|
||||||
|
}
|
||||||
|
.van-dialog .van-dialog__confirm{
|
||||||
|
color: var(--header-active);
|
||||||
|
}
|
||||||
|
.van-dialog .van-hairline--top::after{
|
||||||
|
border-top: 1px solid var(--border-color-base);
|
||||||
|
}
|
||||||
|
.van-dialog .van-button.van-hairline--left::after{
|
||||||
|
border-left: 1px solid var(--border-color-base);
|
||||||
|
}
|
||||||
|
.custom-load{
|
||||||
|
height: 51px;
|
||||||
|
height: 55px;
|
||||||
|
position: absolute;
|
||||||
|
top: 0;
|
||||||
|
bottom: 0;
|
||||||
|
left: 0;
|
||||||
|
right: 0;
|
||||||
|
margin: auto;
|
||||||
|
z-index: 20;
|
||||||
|
}
|
||||||
|
/* 12px */
|
||||||
|
.van-checkbox__icon .van-icon,
|
||||||
|
.van-radio__icon .van-icon{
|
||||||
|
font-size: 0.75rem;
|
||||||
|
}
|
||||||
|
/* 14px */
|
||||||
|
.van-tree-select,
|
||||||
|
.van-tab,
|
||||||
|
.van-sidebar-item,
|
||||||
|
.van-dropdown-menu__title,
|
||||||
|
.van-cell,
|
||||||
|
.van-nav-bar__left,
|
||||||
|
.van-nav-bar__right{
|
||||||
|
font-size: var(--font-14);
|
||||||
|
}
|
||||||
|
/* 16px */
|
||||||
|
.van-field__left-icon .van-icon,
|
||||||
|
.van-field__right-icon .van-icon{
|
||||||
|
font-size: var(--font-16);
|
||||||
|
}
|
||||||
|
.van-checkbox__icon .van-icon,
|
||||||
|
.van-radio__icon .van-icon{
|
||||||
|
border-color: var(--radio-line);
|
||||||
|
}
|
||||||
|
|
||||||
|
.van-tabs__line,
|
||||||
|
.van-sidebar-item--select::before,
|
||||||
|
.van-checkbox__icon--checked .van-icon,
|
||||||
|
.van-radio__icon--checked .van-icon{
|
||||||
|
background-color: var(--color-primary);
|
||||||
|
border-color:var(--color-primary);
|
||||||
|
font-size: 0.75rem;
|
||||||
|
}
|
||||||
|
.van-button--info{
|
||||||
|
background-color: var(--color-primary);
|
||||||
|
border-color:var(--color-primary);
|
||||||
|
}
|
||||||
|
.hide{
|
||||||
|
display: none !important;
|
||||||
|
}
|
||||||
|
.load-more{
|
||||||
|
line-height: 35px;
|
||||||
|
width: 100%;
|
||||||
|
font-size: 15px;
|
||||||
|
text-align: center;
|
||||||
|
color: var(--content-text);
|
||||||
|
}
|
||||||
|
.load-more .icon{
|
||||||
|
font-size: 18px;
|
||||||
|
vertical-align: bottom;
|
||||||
|
}
|
||||||
|
ul{
|
||||||
|
list-style-type: none;
|
||||||
|
}
|
||||||
|
.van-field,input,textarea{
|
||||||
|
background-color: var(--bg-input) !important;
|
||||||
|
color: var(--header-text) !important;
|
||||||
|
border: 1px solid var(--border-color-base);
|
||||||
|
}
|
||||||
|
.van-popup,.van-cell,.van-calendar{
|
||||||
|
background-color: var(--bg-poper);
|
||||||
|
color: var(--header-text);
|
||||||
|
}
|
||||||
|
.screen-radio-group .van-radio {
|
||||||
|
margin-bottom: 16px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.van-dropdown-item__option--active,.van-dropdown-item__option--active .van-dropdown-item__icon{
|
||||||
|
color: var(--header-active);
|
||||||
|
}
|
||||||
|
.van-dropdown-menu__bar{
|
||||||
|
background-color: transparent;
|
||||||
|
box-shadow: none;
|
||||||
|
}
|
||||||
|
.van-dropdown-menu__title,.van-field__label{
|
||||||
|
color: var(--header-text);
|
||||||
|
}
|
||||||
|
.van-dropdown-menu__title::after{
|
||||||
|
border-color: transparent transparent var(--header-text) var(--header-text);
|
||||||
|
}
|
||||||
|
.van-cell::after{
|
||||||
|
border-color: var(--border-color-base);
|
||||||
|
}
|
||||||
|
|
||||||
|
.van-search{
|
||||||
|
background-color: transparent;
|
||||||
|
}
|
||||||
|
.van-search__content{
|
||||||
|
background-color: var(--bg-input);
|
||||||
|
border: 1px solid var(--border-color-base);
|
||||||
|
padding-right: 12px;
|
||||||
|
}
|
||||||
|
.van-field__control,
|
||||||
|
.van-radio__label{
|
||||||
|
color: var(--header-text);
|
||||||
|
}
|
||||||
|
.van-tree-select__nav{
|
||||||
|
border-right: 1px solid var(--border-color-base);
|
||||||
|
}
|
||||||
|
.van-tree-select__nav,.van-sidebar-item,.van-sidebar-item:active{
|
||||||
|
background-color: transparent;
|
||||||
|
color: var(--header-text);
|
||||||
|
}
|
||||||
|
.van-sidebar-item--select{
|
||||||
|
color: var(--header-active);
|
||||||
|
}
|
||||||
|
.van-sidebar-item--select:active,
|
||||||
|
.van-tree-select__content .van-tree-select__item{
|
||||||
|
background-color: var(--bg-poperHover);
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
.van-popover__content{
|
||||||
|
max-height: 500px;
|
||||||
|
overflow: auto;
|
||||||
|
}
|
||||||
|
|
||||||
|
.van-popover--light .van-popover__arrow {
|
||||||
|
color: var(--bg-poper);
|
||||||
|
}
|
||||||
|
.van-popover--light .van-popover__content{
|
||||||
|
background-color: var(--bg-poper);
|
||||||
|
color: var(--header-text);
|
||||||
|
}
|
||||||
|
.van-nav-bar {
|
||||||
|
background-color: transparent;
|
||||||
|
}
|
||||||
|
[class*=van-hairline]::after {
|
||||||
|
border:0;
|
||||||
|
}
|
||||||
|
.xuanzhun {
|
||||||
|
display: inline-block;
|
||||||
|
-webkit-transition-property: -webkit-transform;
|
||||||
|
-webkit-transition-duration: 1s;
|
||||||
|
-moz-transition-property: -moz-transform;
|
||||||
|
-moz-transition-duration: 1s;
|
||||||
|
-webkit-animation: xuanzhun 3s linear infinite;
|
||||||
|
-moz-animation: xuanzhun 3s linear infinite;
|
||||||
|
-o-animation: xuanzhun 3s linear infinite;
|
||||||
|
animation: xuanzhun 3s linear infinite;
|
||||||
|
}
|
||||||
|
|
||||||
|
@-webkit-keyframes xuanzhun {
|
||||||
|
from {
|
||||||
|
-webkit-transform: rotate(0deg)
|
||||||
|
}
|
||||||
|
|
||||||
|
to {
|
||||||
|
-webkit-transform: rotate(360deg)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@-moz-keyframes xuanzhun {
|
||||||
|
from {
|
||||||
|
-moz-transform: rotate(0deg)
|
||||||
|
}
|
||||||
|
|
||||||
|
to {
|
||||||
|
-moz-transform: rotate(359deg)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@-o-keyframes xuanzhun {
|
||||||
|
from {
|
||||||
|
-o-transform: rotate(0deg)
|
||||||
|
}
|
||||||
|
|
||||||
|
to {
|
||||||
|
-o-transform: rotate(359deg)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@keyframes xuanzhun {
|
||||||
|
from {
|
||||||
|
transform: rotate(0deg)
|
||||||
|
}
|
||||||
|
|
||||||
|
to {
|
||||||
|
transform: rotate(359deg)
|
||||||
|
}
|
||||||
|
}
|
||||||
288
dzz/pichome/css/mobile/details.css
Normal file
288
dzz/pichome/css/mobile/details.css
Normal file
@@ -0,0 +1,288 @@
|
|||||||
|
[v-cloak] {
|
||||||
|
display: none;
|
||||||
|
}
|
||||||
|
#dzzoffice {
|
||||||
|
position: relative;
|
||||||
|
background: var(--bg-content);
|
||||||
|
}
|
||||||
|
.detail-popup {
|
||||||
|
position: relative;
|
||||||
|
height: 100%;
|
||||||
|
padding-top: 46px;
|
||||||
|
padding-bottom: 60px;
|
||||||
|
overflow: hidden;
|
||||||
|
width: 100%;
|
||||||
|
background: var(--bg-content);
|
||||||
|
color: var(--content-textHover);
|
||||||
|
}
|
||||||
|
.detail-popup.full{
|
||||||
|
padding: 0;
|
||||||
|
background: #000000;
|
||||||
|
}
|
||||||
|
.detail-popup.NotFooter{
|
||||||
|
padding-bottom: 0;
|
||||||
|
}
|
||||||
|
.header-top {
|
||||||
|
position: fixed;
|
||||||
|
top: 0;
|
||||||
|
left: 0;
|
||||||
|
width: 100%;
|
||||||
|
transition: all .3s;
|
||||||
|
transition: all .3s;
|
||||||
|
-moz-transition: all .3s;
|
||||||
|
-webkit-transition: all .3s;
|
||||||
|
-o-transition: all .3s;
|
||||||
|
background: var(--bg-content);
|
||||||
|
}
|
||||||
|
.detail-popup.full .header-top{
|
||||||
|
display: none;
|
||||||
|
}
|
||||||
|
.van-nav-bar .van-nav-bar__title,
|
||||||
|
.van-nav-bar .van-icon {
|
||||||
|
color: var(--content-textHover);
|
||||||
|
}
|
||||||
|
|
||||||
|
.detail-popup .detail-popup-translate{
|
||||||
|
position: relative;
|
||||||
|
height: 100%;
|
||||||
|
}
|
||||||
|
.detail-popup .detail-popup-content {
|
||||||
|
position: absolute;
|
||||||
|
width: 100%;
|
||||||
|
height: 100%;
|
||||||
|
color: var(--content-textHover);
|
||||||
|
}
|
||||||
|
.detail-popup .detail-popup-content.opacity {
|
||||||
|
opacity: 0;
|
||||||
|
}
|
||||||
|
.detail-popup .detail-popup-content.prev {
|
||||||
|
right: 100%;
|
||||||
|
margin-right: 10px;
|
||||||
|
}
|
||||||
|
.detail-popup .detail-popup-content.next {
|
||||||
|
left: 100%;
|
||||||
|
margin-left: 10px;
|
||||||
|
}
|
||||||
|
.detail-popup .detail-popup-content .detail-popup-img {
|
||||||
|
height: 100%;
|
||||||
|
position: relative;
|
||||||
|
}
|
||||||
|
.detail-popup .detail-popup-content .video-box{
|
||||||
|
width: 100%;
|
||||||
|
position: absolute;
|
||||||
|
top: 0;
|
||||||
|
left: 0;
|
||||||
|
right: 0;
|
||||||
|
bottom: 0;
|
||||||
|
margin: auto;
|
||||||
|
|
||||||
|
}
|
||||||
|
.detail-popup .detail-popup-content .img-box {
|
||||||
|
height: 100%;
|
||||||
|
width: 100%;
|
||||||
|
overflow: hidden;
|
||||||
|
position: relative;
|
||||||
|
}
|
||||||
|
.detail-popup .detail-popup-content .image-viewer__img {
|
||||||
|
position: absolute;
|
||||||
|
z-index: 10;
|
||||||
|
transform-origin: 0 0;
|
||||||
|
margin: auto;
|
||||||
|
left: 0;
|
||||||
|
right: 0;
|
||||||
|
bottom: 0;
|
||||||
|
top: 0;
|
||||||
|
max-width: 100%;
|
||||||
|
max-height: 100%;
|
||||||
|
}
|
||||||
|
|
||||||
|
.detail-popup .detail-popup-content .image-viewer__img {
|
||||||
|
-webkit-user-drag: none;
|
||||||
|
-moz-user-drag: none;
|
||||||
|
-ms-user-drag: none;
|
||||||
|
user-drag: none;
|
||||||
|
}
|
||||||
|
.pinch-zoom-container{
|
||||||
|
width: 100% !important;
|
||||||
|
height: 100% !important;
|
||||||
|
}
|
||||||
|
.detail-popup .detail-popup-content .image-viewer__img.opacity{
|
||||||
|
opacity: 0;
|
||||||
|
}
|
||||||
|
.detail-popup .detail-popup-content .image-viewer__img.thumbnail{
|
||||||
|
z-index: 5;
|
||||||
|
}
|
||||||
|
.detail-popup .footer-tabbar{
|
||||||
|
position: fixed;
|
||||||
|
bottom: 0;
|
||||||
|
left: 0;
|
||||||
|
width: 100%;
|
||||||
|
height: 60px;
|
||||||
|
line-height: 60px;
|
||||||
|
text-align: center;
|
||||||
|
font-size: 1.75rem;
|
||||||
|
/* border-top: 1px solid var(--border-color-base); */
|
||||||
|
display: -webkit-box;
|
||||||
|
display: -webkit-flex;
|
||||||
|
display: flex;
|
||||||
|
z-index: 10000;
|
||||||
|
background: var(--bg-content);
|
||||||
|
}
|
||||||
|
.detail-popup.full .footer-tabbar{
|
||||||
|
display: none;
|
||||||
|
}
|
||||||
|
.detail-popup .footer-tabbar .footer-tabbar-item {
|
||||||
|
-webkit-box-flex: 1;
|
||||||
|
-webkit-flex: 1;
|
||||||
|
flex: 1;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
.detail-popup-message{
|
||||||
|
width: 100%;
|
||||||
|
height: 100%;
|
||||||
|
position: absolute;
|
||||||
|
background: transparent;
|
||||||
|
color: var(--content-textHover);
|
||||||
|
padding-bottom: 60px;
|
||||||
|
}
|
||||||
|
.detail-popup-message.noPadding{
|
||||||
|
padding-bottom: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
.detail-popup-message .DetailPopup-content{
|
||||||
|
padding: 0 1rem;
|
||||||
|
height: 100%;
|
||||||
|
overflow: auto;
|
||||||
|
}
|
||||||
|
.detail-popup-message .name{
|
||||||
|
font-weight: 700;
|
||||||
|
padding: 16px 0;
|
||||||
|
overflow: hidden;
|
||||||
|
white-space: nowrap;
|
||||||
|
text-overflow: ellipsis;
|
||||||
|
}
|
||||||
|
.detail-popup-message .block{
|
||||||
|
margin-bottom: 1rem;
|
||||||
|
}
|
||||||
|
.detail-popup-message .block .title{
|
||||||
|
font-weight: 700;
|
||||||
|
margin-bottom: 0.625rem;
|
||||||
|
}
|
||||||
|
.detail-popup-message .block .block-item.colors{
|
||||||
|
display: -webkit-box;
|
||||||
|
display: -webkit-flex;
|
||||||
|
display: flex;
|
||||||
|
margin-left: -0.1875rem;
|
||||||
|
}
|
||||||
|
.detail-popup-message .block .block-item.colors .colors{
|
||||||
|
-webkit-box-flex: 1;
|
||||||
|
-webkit-flex: 1;
|
||||||
|
flex: 1;
|
||||||
|
padding-left: 0.1875rem;
|
||||||
|
}
|
||||||
|
.detail-popup-message .block .block-item.colors .colors>div{
|
||||||
|
position: relative;
|
||||||
|
border-radius: 0.5rem;
|
||||||
|
border: 1px solid var(--border-color-base);
|
||||||
|
}
|
||||||
|
@media screen and (max-width: 768px) {
|
||||||
|
.detail-popup-message .name{
|
||||||
|
font-size: 1.125rem;
|
||||||
|
}
|
||||||
|
.detail-popup-message .block .title{
|
||||||
|
font-size: 1rem;
|
||||||
|
}
|
||||||
|
.detail-popup-message .block .block-item.colors .colors>div{
|
||||||
|
height: 1.5625rem;
|
||||||
|
}
|
||||||
|
.detail-popup-message .block .block-item.tag .tag{
|
||||||
|
font-size: 0.875rem;
|
||||||
|
padding:0 0.5rem;
|
||||||
|
height: 1.875rem;
|
||||||
|
line-height: 1.875rem;
|
||||||
|
}
|
||||||
|
.detail-popup-message .block .block-item.link{
|
||||||
|
font-size: 0.875rem;
|
||||||
|
height: 1.25rem;
|
||||||
|
line-height: 1.25rem;
|
||||||
|
}
|
||||||
|
.detail-popup-message .block .block-item.link i{
|
||||||
|
font-size: 1.125rem;
|
||||||
|
}
|
||||||
|
.detail-popup-message .block .block-item .basic{
|
||||||
|
font-size: 0.875rem;
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
@media screen and (min-width: 768px) {
|
||||||
|
.detail-popup-message .name{
|
||||||
|
font-size:1.25rem;
|
||||||
|
}
|
||||||
|
.detail-popup-message .block .title{
|
||||||
|
font-size: 1.125rem;
|
||||||
|
}
|
||||||
|
.detail-popup-message .block .block-item.colors .colors>div{
|
||||||
|
height: 1.875rem;
|
||||||
|
}
|
||||||
|
.detail-popup-message .block .block-item.tag .tag{
|
||||||
|
font-size: 1rem;
|
||||||
|
padding:0 0.625rem;
|
||||||
|
height: 2.5rem;
|
||||||
|
line-height:2.5rem;
|
||||||
|
}
|
||||||
|
.detail-popup-message .block .block-item.link{
|
||||||
|
font-size: 1rem;
|
||||||
|
height: 1.875rem;
|
||||||
|
line-height:1.875rem;
|
||||||
|
}
|
||||||
|
.detail-popup-message .block .block-item.link i{
|
||||||
|
font-size: 1.75rem;
|
||||||
|
}
|
||||||
|
.detail-popup-message .block .block-item .basic{
|
||||||
|
font-size: 1rem;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
.detail-popup-message .block .block-item.tag{
|
||||||
|
overflow: hidden;
|
||||||
|
margin-left: -0.625rem;
|
||||||
|
}
|
||||||
|
.detail-popup-message .block .block-item.tag .tag{
|
||||||
|
float: left;
|
||||||
|
min-width: 2.8125rem;
|
||||||
|
text-align: center;
|
||||||
|
border: 1px solid var(--border-color-base);
|
||||||
|
border-radius: 0.5rem;
|
||||||
|
margin-left: 0.625rem;
|
||||||
|
color: var(--content-text);
|
||||||
|
margin-bottom: 0.3125rem;
|
||||||
|
}
|
||||||
|
.detail-popup-message .block .block-item.link{
|
||||||
|
color: var(--content-text);
|
||||||
|
overflow: hidden;
|
||||||
|
text-overflow: ellipsis;
|
||||||
|
white-space: nowrap;
|
||||||
|
position: relative;
|
||||||
|
padding-right: 1.5625rem;
|
||||||
|
}
|
||||||
|
.detail-popup-message .block .block-item.link i{
|
||||||
|
position: absolute;
|
||||||
|
right: 0;
|
||||||
|
top: 0;
|
||||||
|
}
|
||||||
|
.detail-popup-message .block .block-item .basic{
|
||||||
|
color: var(--content-text);
|
||||||
|
margin-bottom: 0.625rem;
|
||||||
|
}
|
||||||
|
.detail-popup-message .block .block-item .basic .record{
|
||||||
|
text-align: right;
|
||||||
|
}
|
||||||
|
.detail-popup-message .block .block-item .basic .record .star{
|
||||||
|
color: var(--stars);
|
||||||
|
}
|
||||||
|
.detail-popup-message .block .block-item .basic .record .star.active{
|
||||||
|
color: var(--starsActive);
|
||||||
|
}
|
||||||
938
dzz/pichome/css/mobile/index.css
Normal file
938
dzz/pichome/css/mobile/index.css
Normal file
@@ -0,0 +1,938 @@
|
|||||||
|
[v-cloak] {
|
||||||
|
display: none;
|
||||||
|
}
|
||||||
|
#dzzoffice{
|
||||||
|
position: relative;
|
||||||
|
background: var(--bg-content);
|
||||||
|
}
|
||||||
|
.van-tree-select__content{
|
||||||
|
background-color: transparent;
|
||||||
|
}
|
||||||
|
.custom-image.van-empty{
|
||||||
|
position: absolute;
|
||||||
|
left: 0;
|
||||||
|
right: 0;
|
||||||
|
bottom: 0;
|
||||||
|
top: 0;
|
||||||
|
margin: auto;
|
||||||
|
}
|
||||||
|
.van-popup{
|
||||||
|
overflow: unset;
|
||||||
|
}
|
||||||
|
.van-popup .vam-popup-title{
|
||||||
|
height: 40px;
|
||||||
|
font-weight: 700;
|
||||||
|
position: absolute;
|
||||||
|
top: -40px;
|
||||||
|
left: 0;
|
||||||
|
width: 100%;
|
||||||
|
padding: 0 12px;
|
||||||
|
font-size: 18px;
|
||||||
|
color: #FFFFFF;
|
||||||
|
}
|
||||||
|
.conter-toast{
|
||||||
|
z-index: 5001 !important;
|
||||||
|
}
|
||||||
|
.notScreen{
|
||||||
|
width: 100%;
|
||||||
|
height: 100%;
|
||||||
|
position: relative;
|
||||||
|
}
|
||||||
|
.notScreen>div{
|
||||||
|
height: 80px;
|
||||||
|
text-align: center;
|
||||||
|
margin: auto;
|
||||||
|
position: absolute;
|
||||||
|
top: 0;
|
||||||
|
bottom: 0;
|
||||||
|
right: 0;
|
||||||
|
left: 0;
|
||||||
|
font-size: var(--font-14);
|
||||||
|
color: var(--header-text);
|
||||||
|
}
|
||||||
|
.notScreen>div img{
|
||||||
|
width: 3.125rem;
|
||||||
|
height: 3.125rem;
|
||||||
|
}
|
||||||
|
.screen-textarea{
|
||||||
|
border-radius: 8px;
|
||||||
|
}
|
||||||
|
#dzz_avatar_img{
|
||||||
|
width: 2.1875rem;
|
||||||
|
height: 2.1875rem;
|
||||||
|
display: inline-block;
|
||||||
|
}
|
||||||
|
#dzz_avatar_img .Topcarousel{
|
||||||
|
width: 2.1875rem;
|
||||||
|
height: 2.1875rem;
|
||||||
|
display: inline-block;
|
||||||
|
line-height: 2.1875rem;
|
||||||
|
border-radius: 50%;
|
||||||
|
color: #FFFFFF;
|
||||||
|
}
|
||||||
|
.library-box{
|
||||||
|
color: var(--header-text);
|
||||||
|
}
|
||||||
|
.van-nav-bar .library-box .van-icon{
|
||||||
|
color: var(--header-text);
|
||||||
|
}
|
||||||
|
.header-top{
|
||||||
|
position: fixed;
|
||||||
|
top: 0;
|
||||||
|
left: 0;
|
||||||
|
width: 100%;
|
||||||
|
transition: all .3s;
|
||||||
|
transition: all .3s;
|
||||||
|
-moz-transition: all .3s;
|
||||||
|
-webkit-transition: all .3s;
|
||||||
|
-o-transition: all .3s;
|
||||||
|
background: var(--bg-content);
|
||||||
|
}
|
||||||
|
.header-top.headerhide{
|
||||||
|
top: -46px;
|
||||||
|
opacity: 0;
|
||||||
|
}
|
||||||
|
.header-top .van-dropdown-menu__bar{
|
||||||
|
height: 46px;
|
||||||
|
}
|
||||||
|
.footer-popup{
|
||||||
|
padding-bottom: 70px;
|
||||||
|
}
|
||||||
|
.footer-popup .btn-bottom{
|
||||||
|
padding: 10px;
|
||||||
|
height: 70px;
|
||||||
|
position: absolute;
|
||||||
|
width: 100%;
|
||||||
|
bottom: 0;
|
||||||
|
left: 0;
|
||||||
|
}
|
||||||
|
.footer-popup .btn-bottom .van-button{
|
||||||
|
width: auto;
|
||||||
|
padding: 15px 20px;
|
||||||
|
}
|
||||||
|
.footer-popup .popup-search-input .van-field__right-icon{
|
||||||
|
padding-right: 0;
|
||||||
|
}
|
||||||
|
.footer-popup .popup-search-input .van-field__right-icon .van-icon{
|
||||||
|
font-size: 1.25rem;
|
||||||
|
color: var(--header-active);
|
||||||
|
}
|
||||||
|
.seasrch-popup{
|
||||||
|
padding-top: 56px;
|
||||||
|
}
|
||||||
|
.footer-popup .van-search-box{
|
||||||
|
position: absolute;
|
||||||
|
top: 0;
|
||||||
|
left: 0;
|
||||||
|
width: 100%;
|
||||||
|
}
|
||||||
|
.footer-popup .van-search-box .van-field{
|
||||||
|
border: 0;
|
||||||
|
font-size: 0.875rem;
|
||||||
|
}
|
||||||
|
|
||||||
|
.seasrch-popup .search-val-box{
|
||||||
|
padding: 0 12px;
|
||||||
|
height: 100%;
|
||||||
|
overflow: auto;
|
||||||
|
position: relative;
|
||||||
|
}
|
||||||
|
.seasrch-popup .search-val-box .search-host{
|
||||||
|
overflow: hidden;
|
||||||
|
position: relative;
|
||||||
|
margin-left: -12px;
|
||||||
|
}
|
||||||
|
.seasrch-popup .search-val-box .search-host-list{
|
||||||
|
height: 5rem;
|
||||||
|
border-radius: 8px;
|
||||||
|
text-align: center;
|
||||||
|
background-position: 50%;
|
||||||
|
background-repeat: no-repeat;
|
||||||
|
background-size: cover;
|
||||||
|
margin-bottom: 0.625rem;
|
||||||
|
position: relative;
|
||||||
|
margin-left: 12px;
|
||||||
|
float: left;
|
||||||
|
}
|
||||||
|
@media screen and (max-width: 1024px) {
|
||||||
|
.seasrch-popup .search-val-box .search-host-list{
|
||||||
|
width: 46.6%;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
@media screen and (min-width: 1024px) {
|
||||||
|
.seasrch-popup .search-val-box .search-host-list{
|
||||||
|
width: 13.75rem;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
.seasrch-popup .search-val-box .search-host-list .bg{
|
||||||
|
position: absolute;
|
||||||
|
left: 0;
|
||||||
|
top: 0;
|
||||||
|
width: 100%;
|
||||||
|
height: 100%;
|
||||||
|
background: rgb(0, 0, 0, .3);
|
||||||
|
border-radius: 8px;
|
||||||
|
}
|
||||||
|
.seasrch-popup .search-val-box .search-host-list .text{
|
||||||
|
position: absolute;
|
||||||
|
left: 0;
|
||||||
|
top: 0;
|
||||||
|
width: 100%;
|
||||||
|
height: 100%;
|
||||||
|
padding: 8px;
|
||||||
|
font-size: 16px;
|
||||||
|
color: #FFFFFF;
|
||||||
|
font-weight: 700;
|
||||||
|
display: -webkit-box;
|
||||||
|
display: -webkit-flex;
|
||||||
|
display: flex;
|
||||||
|
justify-content: center;
|
||||||
|
align-items: center;
|
||||||
|
cursor: pointer;
|
||||||
|
text-align: center;
|
||||||
|
z-index: 1;
|
||||||
|
}
|
||||||
|
.seasrch-popup .search-val-box .highlight{
|
||||||
|
color: var(--header-active);
|
||||||
|
}
|
||||||
|
.sort-popup .van-popup__close-icon--top-right,
|
||||||
|
.screen-popup .van-popup__close-icon--top-right {
|
||||||
|
top: 10px;
|
||||||
|
right: 10px;
|
||||||
|
}
|
||||||
|
/* .sort-popup .van-tree-select{
|
||||||
|
height: calc(100% - 41px) !important;
|
||||||
|
height: -moz-calc(100% - 41px) !important;
|
||||||
|
height: -webkit-calc(100% - 41px) !important;
|
||||||
|
} */
|
||||||
|
.screen-popup .van-tree-select{
|
||||||
|
}
|
||||||
|
.screen-popup .van-tree-select .van-sidebar{
|
||||||
|
width: 6rem;
|
||||||
|
-webkit-box-flex: initial;
|
||||||
|
-webkit-flex: initial;
|
||||||
|
flex: initial;
|
||||||
|
}
|
||||||
|
.screen-popup .van-tree-select__content{
|
||||||
|
height: 100%;
|
||||||
|
overflow: hidden;
|
||||||
|
position: relative;
|
||||||
|
background-color: transparent;
|
||||||
|
}
|
||||||
|
.van-popup .van-tree-select__content .screen-item-box{
|
||||||
|
height: 100%;
|
||||||
|
width: 100%;
|
||||||
|
position: relative;
|
||||||
|
overflow: hidden;
|
||||||
|
padding-top: 56px;
|
||||||
|
}
|
||||||
|
.van-popup .van-tree-select__content .screen-item .screen-item-option-box{
|
||||||
|
padding: 0px 8px;
|
||||||
|
}
|
||||||
|
.van-popup .van-tree-select__content .screen-item .screen-item-option-box .screen-item-option{
|
||||||
|
padding: 10px 16px;
|
||||||
|
margin-bottom: 8px;
|
||||||
|
border-radius: 8px;
|
||||||
|
}
|
||||||
|
.van-popup .van-tree-select__content .screen-item .screen-item-option-box .screen-item-option.active{
|
||||||
|
background: var(--bg-poperHover);
|
||||||
|
}
|
||||||
|
.screen-popup .van-tree-select__content .screen-item{
|
||||||
|
height: 100%;
|
||||||
|
overflow: auto;
|
||||||
|
padding: 0px 10px;
|
||||||
|
}
|
||||||
|
.screen-popup .van-tree-select__content .screen-item .swip-row{
|
||||||
|
border: 1px solid var(--border-color-base);
|
||||||
|
border-radius: 18px;
|
||||||
|
overflow: hidden;
|
||||||
|
}
|
||||||
|
.screen-popup .van-tree-select__content .screen-item .swip-row .swip{
|
||||||
|
height: 30px;
|
||||||
|
line-height: 30px;
|
||||||
|
text-align: center;
|
||||||
|
background-color: var(--bg-input);
|
||||||
|
color: var(--header-text);
|
||||||
|
}
|
||||||
|
.screen-popup .van-tree-select__content .screen-item .swip-row .swip.active{
|
||||||
|
background: var(--color-primary);
|
||||||
|
color: #FFFFFF;
|
||||||
|
}
|
||||||
|
.van-popup .van-tree-select__content .screen-item .van-cell-group .van-cell.van-cell-tag{
|
||||||
|
margin-bottom: 6px;
|
||||||
|
border-radius: 999px;
|
||||||
|
}
|
||||||
|
.van-popup .van-tree-select__content .screen-item .van-cell-group .van-cell.van-cell-tag.active{
|
||||||
|
background-color: var(--bg-poperHover);
|
||||||
|
}
|
||||||
|
.sort-popup .van-tree-select__content .screen-item .van-cell-group,
|
||||||
|
.screen-popup .van-tree-select__content .screen-item .van-cell-group{
|
||||||
|
background-color: transparent;
|
||||||
|
}
|
||||||
|
.sort-popup .van-tree-select__content .screen-item .van-cell-group .van-cell,
|
||||||
|
.screen-popup .van-tree-select__content .screen-item .van-cell-group .van-cell{
|
||||||
|
background-color: transparent;
|
||||||
|
}
|
||||||
|
|
||||||
|
.van-calendar__day--end, .van-calendar__day--multiple-middle, .van-calendar__day--multiple-selected, .van-calendar__day--start, .van-calendar__day--start-end{
|
||||||
|
background-color: var(--color-primary);
|
||||||
|
}
|
||||||
|
.screen-popup .van-hairline--top-bottom::after, .screen-popup .van-hairline-unset--top-bottom::after {
|
||||||
|
border-width: 0;
|
||||||
|
}
|
||||||
|
.sort-popup .van-hairline--top-bottom::after, .sort-popup .van-hairline-unset--top-bottom::after {
|
||||||
|
border-width: 0;
|
||||||
|
}
|
||||||
|
.screen-popup .van-tree-select__content .screen-item .color-box .quick{
|
||||||
|
overflow: hidden;
|
||||||
|
/* margin-left: -10px; */
|
||||||
|
}
|
||||||
|
.screen-popup .van-tree-select__content .screen-item .color-box .quick .quick-list-box{
|
||||||
|
width: 20%;
|
||||||
|
margin-bottom: 0.1875rem;
|
||||||
|
padding: 0 0.1875rem;
|
||||||
|
display: inline-block;
|
||||||
|
|
||||||
|
}
|
||||||
|
.screen-popup .van-tree-select__content .screen-item .color-box .quick .quick-list{
|
||||||
|
/* float: left;
|
||||||
|
height: calc(20% / 2);
|
||||||
|
width: 20%;
|
||||||
|
height: 2.5rem;
|
||||||
|
width: 2.5rem;
|
||||||
|
z-index: 1;
|
||||||
|
border-radius: 50%;
|
||||||
|
margin-bottom: 0.625rem;
|
||||||
|
margin-left: 0.625rem;
|
||||||
|
border: 1px solid transparent;
|
||||||
|
position: relative; */
|
||||||
|
height: 0;
|
||||||
|
padding: 25% 0;
|
||||||
|
position: relative;
|
||||||
|
border-radius: 8px;
|
||||||
|
}
|
||||||
|
.screen-popup .van-tree-select__content .screen-item .color-box .quick .quick-list .van-icon{
|
||||||
|
position: absolute;
|
||||||
|
color: #FFFFFF;
|
||||||
|
margin: auto;
|
||||||
|
top: 0;
|
||||||
|
left: 0;
|
||||||
|
bottom: 0;
|
||||||
|
right: 0;
|
||||||
|
}
|
||||||
|
@media screen and (max-width: 768px) {
|
||||||
|
.screen-popup .van-tree-select__content .screen-item .color-box .quick .quick-list .van-icon{
|
||||||
|
font-size: 18px;
|
||||||
|
width: 18px;
|
||||||
|
height: 18px;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
@media screen and (min-width: 768px) {
|
||||||
|
.screen-popup .van-tree-select__content .screen-item .color-box .quick .quick-list .van-icon{
|
||||||
|
font-size: 30px;
|
||||||
|
width: 30px;
|
||||||
|
height: 30px;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
.screen-popup .van-tree-select__content .screen-item .color-box .color-input{
|
||||||
|
position: relative;
|
||||||
|
margin-bottom: 0.9375rem;
|
||||||
|
}
|
||||||
|
.screen-popup .van-tree-select__content .screen-item .color-box .color-input .van-field{
|
||||||
|
/* padding: 0; */
|
||||||
|
/* height: 35px; */
|
||||||
|
padding-left: 35px;
|
||||||
|
/* height: 35px; */
|
||||||
|
border-radius: 8px;
|
||||||
|
}
|
||||||
|
.screen-popup .van-tree-select__content .screen-item .color-box .color-input .color-show{
|
||||||
|
position: absolute;
|
||||||
|
width: 18px;
|
||||||
|
height: 18px;
|
||||||
|
z-index: 1;
|
||||||
|
border-radius: 6px;
|
||||||
|
margin-top: auto;
|
||||||
|
margin-bottom: auto;
|
||||||
|
top: 0;
|
||||||
|
bottom: 0;
|
||||||
|
left: 8px;
|
||||||
|
border: 1px solid transparent;
|
||||||
|
}
|
||||||
|
.screen-popup .van-tree-select__content .screen-item .color-box .color-input .color-show.border{
|
||||||
|
border: 1px solid var(--border-color-base);
|
||||||
|
}
|
||||||
|
.screen-popup .van-tree-select__content .screen-item .color-box .color-input .van-field .van-field__button{
|
||||||
|
padding-left: 8px;
|
||||||
|
line-height: 35px;
|
||||||
|
padding-right: 8px;
|
||||||
|
border-left: 1px solid var(--border-color-base);
|
||||||
|
}
|
||||||
|
.screen-popup .van-tree-select__content .screen-item .color-box .color-input .van-field .van-field__button img{
|
||||||
|
vertical-align: sub;
|
||||||
|
width: 16px;
|
||||||
|
height: 16px;
|
||||||
|
}
|
||||||
|
.screen-popup .van-tree-select__content .screen-item .color-box .color-slider{
|
||||||
|
display: -webkit-box;
|
||||||
|
display: -webkit-flex;
|
||||||
|
display: flex;
|
||||||
|
align-items: center;
|
||||||
|
padding: 15px 0;
|
||||||
|
}
|
||||||
|
.screen-popup .van-calendar__popup .van-button--danger{
|
||||||
|
background-color: var(--color-primary);
|
||||||
|
border-color: var(--color-primary);
|
||||||
|
}
|
||||||
|
.screen-popup .van-calendar__popup .van-calendar__month-mark{
|
||||||
|
opacity: 0.5;
|
||||||
|
}
|
||||||
|
|
||||||
|
.screen-popup .van-tree-select__content .van-tabs{
|
||||||
|
height: 100%;
|
||||||
|
}
|
||||||
|
.screen-popup .van-tree-select__content .van-tabs--line .van-tabs__wrap{
|
||||||
|
/* border-bottom: 1px solid var(--slider-line); */
|
||||||
|
padding-right: 8px;
|
||||||
|
padding-left: 8px;
|
||||||
|
}
|
||||||
|
.screen-popup .van-tree-select__content .van-tabs .van-tabs__content{
|
||||||
|
height: calc(100% - 44px);
|
||||||
|
height: -moz-calc(100% - 44px);
|
||||||
|
height: -webkit-calc(100% - 44px);
|
||||||
|
}
|
||||||
|
.screen-popup .van-tree-select__content .van-tabs .van-tabs__content .van-tab__pane{
|
||||||
|
height: 100%;
|
||||||
|
padding-top: 10px;
|
||||||
|
overflow: hidden;
|
||||||
|
}
|
||||||
|
|
||||||
|
.screen-popup .van-tree-select__content .van-tabs__nav{
|
||||||
|
background-color: transparent;
|
||||||
|
}
|
||||||
|
.screen-popup .van-tree-select__content .van-tabs__nav .van-tab{
|
||||||
|
color: var(--header-text);
|
||||||
|
}
|
||||||
|
.screen-popup .van-tree-select__content .van-tabs__nav .van-tab.van-tab--active{
|
||||||
|
color: var(--header-active);
|
||||||
|
}
|
||||||
|
.screen-popup .van-tree-select__content .van-cell .num{
|
||||||
|
margin-right: 6px;
|
||||||
|
}
|
||||||
|
.sort-popup .van-tree-select__content .van-cell::after,
|
||||||
|
.screen-popup .van-tree-select__content .van-cell::after{
|
||||||
|
display: none;
|
||||||
|
}
|
||||||
|
|
||||||
|
.screen-popup .screen-classify-collapse .van-cell{
|
||||||
|
background-color: transparent;
|
||||||
|
margin-bottom: 6px;
|
||||||
|
}
|
||||||
|
.screen-popup .screen-classify-collapse .van-collapse-item.active>.van-cell{
|
||||||
|
background-color: var(--bg-poperHover);
|
||||||
|
border-radius: 999px;
|
||||||
|
}
|
||||||
|
.screen-popup .screen-classify-collapse .van-hairline--top-bottom::after,
|
||||||
|
.screen-popup .screen-classify-collapse .van-collapse-item--border::after{
|
||||||
|
display: none;
|
||||||
|
}
|
||||||
|
.screen-popup .screen-classify-collapse .van-collapse-item__content{
|
||||||
|
background-color: transparent;
|
||||||
|
padding: 0;
|
||||||
|
padding-left: 1rem;
|
||||||
|
}
|
||||||
|
.screen-popup .screen-classify-collapse .van-cell__value{
|
||||||
|
flex: none;
|
||||||
|
}
|
||||||
|
.van-calendar__day--middle{
|
||||||
|
color: var(--header-active);
|
||||||
|
}
|
||||||
|
.van-calendar__day--start{
|
||||||
|
border-radius: 16px 0 0 16px;
|
||||||
|
}
|
||||||
|
.van-calendar__day--end{
|
||||||
|
border-radius: 0 16px 16px 0;
|
||||||
|
}
|
||||||
|
.screen-cell-input{
|
||||||
|
margin-bottom: 16px;
|
||||||
|
border-radius: 8px;
|
||||||
|
}
|
||||||
|
.screen-cell-input::after{
|
||||||
|
display: none;
|
||||||
|
}
|
||||||
|
.screen-cell-input .van-field{
|
||||||
|
border-radius: 8px;
|
||||||
|
}
|
||||||
|
.screen-cell-input .van-field{
|
||||||
|
border-radius: 8px;
|
||||||
|
}
|
||||||
|
.library-actionsheet .mint-actionsheet-list{
|
||||||
|
max-height: 400px;
|
||||||
|
overflow: auto;
|
||||||
|
}
|
||||||
|
.pic-logo{
|
||||||
|
height: 40px;
|
||||||
|
padding: 5px 0;
|
||||||
|
}
|
||||||
|
.pic-logo .h-left{
|
||||||
|
height: 30px;
|
||||||
|
display: -webkit-box;
|
||||||
|
display: -webkit-flex;
|
||||||
|
display: flex;
|
||||||
|
align-items: center;
|
||||||
|
color: var(--header-text);
|
||||||
|
text-decoration: none;
|
||||||
|
}
|
||||||
|
.pic-logo .h-left img{
|
||||||
|
max-width: 100%;
|
||||||
|
max-height: 100%;
|
||||||
|
margin-right: 10px;
|
||||||
|
}
|
||||||
|
.pic-container{
|
||||||
|
height: 100%;
|
||||||
|
width: 100%;
|
||||||
|
overflow: hidden;
|
||||||
|
|
||||||
|
}
|
||||||
|
.pic-container .pic-container-scroll{
|
||||||
|
height: 100%;
|
||||||
|
width: 100%;
|
||||||
|
overflow: auto;
|
||||||
|
position: relative;
|
||||||
|
padding-top: 46px;
|
||||||
|
}
|
||||||
|
.pic-container .img-container{
|
||||||
|
min-height: 100% ;
|
||||||
|
position: relative;
|
||||||
|
padding: 0 4px;
|
||||||
|
}
|
||||||
|
.pic-toolbar{
|
||||||
|
position: fixed;
|
||||||
|
width: 100%;
|
||||||
|
left: 0;
|
||||||
|
padding: 0 8%;
|
||||||
|
transition: all .3s;
|
||||||
|
transition:all .3s;
|
||||||
|
-moz-transition:all .3s; /* Firefox 4 */
|
||||||
|
-webkit-transition:all .3s; /* Safari and Chrome */
|
||||||
|
-o-transition:all .3s; /* Opera */
|
||||||
|
}
|
||||||
|
.pic-toolbar.footershow{
|
||||||
|
bottom: 3%;
|
||||||
|
opacity: 1;
|
||||||
|
}
|
||||||
|
.pic-toolbar.footerhide{
|
||||||
|
bottom: -2.9375rem;
|
||||||
|
opacity: 0;
|
||||||
|
}
|
||||||
|
.pic-toolbar .tabbar{
|
||||||
|
display: -webkit-box;
|
||||||
|
display: -webkit-flex;
|
||||||
|
display: flex;
|
||||||
|
border-radius: 39px;
|
||||||
|
background: var(--bg-poper);
|
||||||
|
padding: 0.375rem 0;
|
||||||
|
color: var(--header-text);
|
||||||
|
/* box-shadow: 0px 0px 5px 1px var(--bg-poperHover); */
|
||||||
|
}
|
||||||
|
.pic-toolbar .tab-item{
|
||||||
|
-webkit-box-flex: 1;
|
||||||
|
-webkit-flex: 1;
|
||||||
|
flex: 1;
|
||||||
|
text-align: center;
|
||||||
|
font-size: 14px;
|
||||||
|
}
|
||||||
|
.pic-toolbar .tab-item .icon{
|
||||||
|
font-size: var(--font-32);
|
||||||
|
}
|
||||||
|
.pic-toolbar .tab-item img{
|
||||||
|
border-radius: 50%;
|
||||||
|
width: 2.1875rem;
|
||||||
|
height: 2.1875rem;
|
||||||
|
vertical-align: bottom;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
#imgContainer .imgitem .imgbox .bottom-img-message{
|
||||||
|
text-align: center;
|
||||||
|
color: var(--content-text);
|
||||||
|
overflow: hidden;
|
||||||
|
max-height: 65px;
|
||||||
|
}
|
||||||
|
#imgContainer .imgitem .imgbox .bottom-img-message .name {
|
||||||
|
overflow: hidden;
|
||||||
|
text-overflow: ellipsis;
|
||||||
|
display: -webkit-box;
|
||||||
|
-webkit-box-orient: vertical;
|
||||||
|
-webkit-line-clamp: 2;
|
||||||
|
font-size: 0.875rem;
|
||||||
|
margin-top: 10px;
|
||||||
|
width: 100%;
|
||||||
|
max-height: 35px;
|
||||||
|
}
|
||||||
|
#imgContainer .imgitem .imgbox .bottom-img-message .other {
|
||||||
|
font-size: 0.75rem;
|
||||||
|
overflow: hidden;
|
||||||
|
white-space: nowrap;
|
||||||
|
text-overflow: ellipsis;
|
||||||
|
height: 21px;
|
||||||
|
padding-top: 5px;
|
||||||
|
color: var(--content-textMessage);
|
||||||
|
}
|
||||||
|
#imgContainer .imgitem .imgbox .bottom-img-message .other .score{
|
||||||
|
color: var(--stars);
|
||||||
|
}
|
||||||
|
#imgContainer .imgitem .imgbox .bottom-img-message .other .score.active{
|
||||||
|
color: var(--starsActive);
|
||||||
|
}
|
||||||
|
#imgContainer .imgitem .imgbox .annotation{
|
||||||
|
position: absolute;
|
||||||
|
right: 5px;
|
||||||
|
top: 5px;
|
||||||
|
font-size: 14px;
|
||||||
|
width: 22px;
|
||||||
|
height: 22px;
|
||||||
|
border: 2px solid #FFFFFF;
|
||||||
|
border-radius: 50%;
|
||||||
|
color: #FFFFFF;
|
||||||
|
text-align: center;
|
||||||
|
line-height: 20px;
|
||||||
|
background: var(--color-primary);
|
||||||
|
}
|
||||||
|
#imgContainer{
|
||||||
|
position: relative;
|
||||||
|
margin: 0 auto;
|
||||||
|
}
|
||||||
|
#imgContainer .imgitem{
|
||||||
|
position: absolute;
|
||||||
|
/* transition:all .2s; */
|
||||||
|
}
|
||||||
|
#imgContainer .imgitem .imgbox {
|
||||||
|
padding-left: 4px;
|
||||||
|
padding-right: 4px;
|
||||||
|
}
|
||||||
|
#imgContainer .imgitem .imgbox .imgbox-border {
|
||||||
|
position: relative;
|
||||||
|
overflow: hidden;
|
||||||
|
cursor: zoom-in;
|
||||||
|
min-height: 120px;
|
||||||
|
height: 100%;
|
||||||
|
}
|
||||||
|
#imgContainer .imgitem .imgbox .imgbox-border.radius{
|
||||||
|
border-radius: 18px;
|
||||||
|
}
|
||||||
|
#imgContainer .imgitem .imgbox .imgbox-border .div-black {
|
||||||
|
width: 100%;
|
||||||
|
height: 100%;
|
||||||
|
position: relative;
|
||||||
|
display: -webkit-box;
|
||||||
|
display: -webkit-flex;
|
||||||
|
display: flex;
|
||||||
|
justify-content: center;
|
||||||
|
align-items: center;
|
||||||
|
}
|
||||||
|
#imgContainer .imgitem .imgbox .imgbox-border .div-black .bck{
|
||||||
|
width: 100%;
|
||||||
|
height: 100%;
|
||||||
|
display: none;
|
||||||
|
background: var(--bg-poper);
|
||||||
|
top: 0;
|
||||||
|
left: 0;
|
||||||
|
position: absolute;
|
||||||
|
opacity: 0.7;
|
||||||
|
}
|
||||||
|
#imgContainer .imgitem .imgbox .imgbox-border .img {
|
||||||
|
max-width: 100%;
|
||||||
|
max-height: 100%;
|
||||||
|
width: auto;
|
||||||
|
height: auto;
|
||||||
|
border-radius: 18px;
|
||||||
|
}
|
||||||
|
#imgContainer .imgitem .imgbox .imgbox-border .img.opacity{
|
||||||
|
opacity: 0;
|
||||||
|
}
|
||||||
|
#imgContainer .imgitem .imgbox .imgbox-border .div-black .circular-box{
|
||||||
|
display: none;
|
||||||
|
position: absolute;
|
||||||
|
z-index: 2;
|
||||||
|
width: 45px;
|
||||||
|
height: 45px;
|
||||||
|
border-radius: 50%;
|
||||||
|
}
|
||||||
|
#imgContainer .imgitem .imgbox .imgbox-border .div-black .circular-box .circular-item{
|
||||||
|
width: 45px;
|
||||||
|
height: 45px;
|
||||||
|
border-radius: 50%;
|
||||||
|
color: #333;
|
||||||
|
z-index: 100;
|
||||||
|
font-size: 21px;
|
||||||
|
text-align: center;
|
||||||
|
line-height: 45px;
|
||||||
|
background: #ffffff;
|
||||||
|
position: absolute;
|
||||||
|
transition: top .3s ease-in-out,left .3s ease-in-out;
|
||||||
|
/* transition: all .3s ease-in-out; */
|
||||||
|
top: -22.5px;
|
||||||
|
left: -22.5px;
|
||||||
|
transform-origin: 0px;
|
||||||
|
/* transition-delay: 0.02s; */
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
#imgContainer .imgitem .imgbox .imgbox-border .div-black.fixed{
|
||||||
|
position: fixed;
|
||||||
|
top: 0;
|
||||||
|
left: 0;
|
||||||
|
width: 100%;
|
||||||
|
height: 100%;
|
||||||
|
z-index: 100;
|
||||||
|
}
|
||||||
|
#imgContainer .imgitem .imgbox .imgbox-border .div-black.fixed .bck{
|
||||||
|
display: block;
|
||||||
|
}
|
||||||
|
#imgContainer .imgitem .imgbox .imgbox-border .div-black.fixed .img{
|
||||||
|
position: absolute;
|
||||||
|
z-index: 2;
|
||||||
|
max-width: inherit;
|
||||||
|
max-height: inherit;
|
||||||
|
}
|
||||||
|
#imgContainer .imgitem .imgbox .imgbox-border .div-black.fixed .circular-box{
|
||||||
|
display: block;
|
||||||
|
}
|
||||||
|
#imgContainer .imgitem .imgbox .imgbox-border .div-black.fixed .circular-box .round{
|
||||||
|
position: absolute;
|
||||||
|
width: 45px;
|
||||||
|
height: 45px;
|
||||||
|
border-radius: 50%;
|
||||||
|
background: transparent;
|
||||||
|
left: 0px;
|
||||||
|
top: 0px;
|
||||||
|
border: 3px solid var(--bg-poper);
|
||||||
|
}
|
||||||
|
#imgContainer .imgitem .imgbox .imgbox-border .div-black.fixed .circular-box .circular-item-box{
|
||||||
|
position: absolute;
|
||||||
|
left: -67.5px;
|
||||||
|
top: -67.5px;
|
||||||
|
border: 90px solid transparent;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
#imgContainer .imgitem .imgbox .imgbox-border .div-black .circular-box.top .circular-item.first{
|
||||||
|
top: -22.5px;
|
||||||
|
left: -22.5px;
|
||||||
|
}
|
||||||
|
#imgContainer .imgitem .imgbox .imgbox-border .div-black .circular-box.top .circular-item.two{
|
||||||
|
top: 0px;
|
||||||
|
left: -80px;
|
||||||
|
}
|
||||||
|
#imgContainer .imgitem .imgbox .imgbox-border .div-black .circular-box.top .circular-item.three{
|
||||||
|
top: -22.5px;
|
||||||
|
left: -138.5px;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
#imgContainer .imgitem .imgbox .imgbox-border .div-black.fixed .circular-box .circular-item-box .icon{
|
||||||
|
display: block;
|
||||||
|
}
|
||||||
|
#imgContainer .imgitem .imgbox .imgbox-border .div-black.fixed .circular-box.top .circular-item.first{
|
||||||
|
transform: rotate(0deg);
|
||||||
|
top: -80px;
|
||||||
|
left: -80px;
|
||||||
|
transform-origin: 80px 80px;
|
||||||
|
}
|
||||||
|
#imgContainer .imgitem .imgbox .imgbox-border .div-black.fixed .circular-box.top .circular-item.two{
|
||||||
|
transform: rotate(45deg);
|
||||||
|
top: -80px;
|
||||||
|
left: -80px;
|
||||||
|
transform-origin: 80px 80px;
|
||||||
|
}
|
||||||
|
#imgContainer .imgitem .imgbox .imgbox-border .div-black.fixed .circular-box.top .circular-item.two .icon{
|
||||||
|
transform: rotate(-45deg);
|
||||||
|
}
|
||||||
|
#imgContainer .imgitem .imgbox .imgbox-border .div-black.fixed .circular-box.top .circular-item.three{
|
||||||
|
transform: rotate(90deg);
|
||||||
|
top: -80px;
|
||||||
|
left: -80px;
|
||||||
|
transform-origin: 80px 80px;
|
||||||
|
}
|
||||||
|
#imgContainer .imgitem .imgbox .imgbox-border .div-black.fixed .circular-box.top .circular-item.three .icon{
|
||||||
|
transform: rotate(-90deg);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
#imgContainer .imgitem .imgbox .imgbox-border .div-black .circular-box.top.right .circular-item.first{
|
||||||
|
top: -80.5px;
|
||||||
|
left: 1px;
|
||||||
|
}
|
||||||
|
#imgContainer .imgitem .imgbox .imgbox-border .div-black .circular-box.top.right .circular-item.two{
|
||||||
|
top: -22.5px;
|
||||||
|
left: -22.5px;
|
||||||
|
}
|
||||||
|
#imgContainer .imgitem .imgbox .imgbox-border .div-black .circular-box.top.right .circular-item.three{
|
||||||
|
top: 0px;
|
||||||
|
left: -80px;
|
||||||
|
}
|
||||||
|
#imgContainer .imgitem .imgbox .imgbox-border .div-black.fixed .circular-box.top.right .circular-item.first{
|
||||||
|
transform: rotate(-45deg);
|
||||||
|
top: -80px;
|
||||||
|
left: -80px;
|
||||||
|
transform-origin: 80px 80px;
|
||||||
|
}
|
||||||
|
#imgContainer .imgitem .imgbox .imgbox-border .div-black.fixed .circular-box.top.right .circular-item.first .icon{
|
||||||
|
transform: rotate(45deg);
|
||||||
|
}
|
||||||
|
#imgContainer .imgitem .imgbox .imgbox-border .div-black.fixed .circular-box.top.right .circular-item.two{
|
||||||
|
transform: rotate(0deg);
|
||||||
|
top: -80px;
|
||||||
|
left: -80px;
|
||||||
|
transform-origin: 80px 80px;
|
||||||
|
}
|
||||||
|
#imgContainer .imgitem .imgbox .imgbox-border .div-black.fixed .circular-box.top.right .circular-item.two .icon{
|
||||||
|
transform: rotate(0deg);
|
||||||
|
}
|
||||||
|
#imgContainer .imgitem .imgbox .imgbox-border .div-black.fixed .circular-box.top.right .circular-item.three{
|
||||||
|
transform: rotate(45deg);
|
||||||
|
top: -80px;
|
||||||
|
left: -80px;
|
||||||
|
transform-origin: 80px 80px;
|
||||||
|
}
|
||||||
|
#imgContainer .imgitem .imgbox .imgbox-border .div-black.fixed .circular-box.top.right .circular-item.three .icon{
|
||||||
|
transform: rotate(-45deg);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
#imgContainer .imgitem .imgbox .imgbox-border .div-black .circular-box.top.left .circular-item.first{
|
||||||
|
top: 0px;
|
||||||
|
left: -80px;
|
||||||
|
}
|
||||||
|
#imgContainer .imgitem .imgbox .imgbox-border .div-black .circular-box.top.left .circular-item.two{
|
||||||
|
top: -22.5px;
|
||||||
|
left: -136.5px;
|
||||||
|
}
|
||||||
|
#imgContainer .imgitem .imgbox .imgbox-border .div-black .circular-box.top.left .circular-item.three{
|
||||||
|
left: -160px;
|
||||||
|
top: -80px;
|
||||||
|
}
|
||||||
|
|
||||||
|
#imgContainer .imgitem .imgbox .imgbox-border .div-black.fixed .circular-box.top.left .circular-item.first{
|
||||||
|
transform: rotate(45deg);
|
||||||
|
top: -80px;
|
||||||
|
left: -80px;
|
||||||
|
transform-origin: 80px 80px;
|
||||||
|
}
|
||||||
|
#imgContainer .imgitem .imgbox .imgbox-border .div-black.fixed .circular-box.top.left .circular-item.first .icon{
|
||||||
|
transform: rotate(-45deg);
|
||||||
|
}
|
||||||
|
#imgContainer .imgitem .imgbox .imgbox-border .div-black.fixed .circular-box.top.left .circular-item.two{
|
||||||
|
transform: rotate(90deg);
|
||||||
|
top: -80px;
|
||||||
|
left: -80px;
|
||||||
|
transform-origin: 80px 80px;
|
||||||
|
}
|
||||||
|
#imgContainer .imgitem .imgbox .imgbox-border .div-black.fixed .circular-box.top.left .circular-item.two .icon{
|
||||||
|
transform: rotate(-90deg);
|
||||||
|
}
|
||||||
|
#imgContainer .imgitem .imgbox .imgbox-border .div-black.fixed .circular-box.top.left .circular-item.three{
|
||||||
|
transform: rotate(135deg);
|
||||||
|
top: -80px;
|
||||||
|
left: -80px;
|
||||||
|
transform-origin: 80px 80px;
|
||||||
|
}
|
||||||
|
#imgContainer .imgitem .imgbox .imgbox-border .div-black.fixed .circular-box.top.left .circular-item.three .icon{
|
||||||
|
transform: rotate(-135deg);
|
||||||
|
}
|
||||||
|
|
||||||
|
@media screen and (min-width: 768px) {
|
||||||
|
.#imgContainer .imgitem {
|
||||||
|
width: 33.3333%;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@media screen and (min-width: 992px) {
|
||||||
|
.#imgContainer .imgitem {
|
||||||
|
width: 25%;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@media screen and (min-width: 1024px) {
|
||||||
|
.#imgContainer .imgitem {
|
||||||
|
width: 20%;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
.van-nav-bar .van-icon{
|
||||||
|
color: var(--content-textHover);
|
||||||
|
}
|
||||||
|
.van-nav-bar .van-nav-bar__title{
|
||||||
|
color: var(--content-textHover);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
.about-popup,
|
||||||
|
.my-popup{
|
||||||
|
height: 100%;
|
||||||
|
width: 100%;
|
||||||
|
background: var(--bg-content);
|
||||||
|
color: var(--content-textHover);
|
||||||
|
overflow: hidden;
|
||||||
|
padding-top: 46px;
|
||||||
|
}
|
||||||
|
.about-popup .van-nav-bar,
|
||||||
|
.my-popup .van-nav-bar{
|
||||||
|
position: absolute;
|
||||||
|
top: 0;
|
||||||
|
left: 0;
|
||||||
|
width: 100%;
|
||||||
|
}
|
||||||
|
.about-popup .scroll-box,
|
||||||
|
.my-popup .scroll-box{
|
||||||
|
width: 100%;
|
||||||
|
height: 100%;
|
||||||
|
overflow: auto;
|
||||||
|
padding-top: 0.9375rem;
|
||||||
|
}
|
||||||
|
.my-popup .scroll-box .van-cell-group{
|
||||||
|
background: transparent;
|
||||||
|
}
|
||||||
|
.my-popup .scroll-box .van-cell {
|
||||||
|
background: transparent;
|
||||||
|
}
|
||||||
|
.my-popup .scroll-box .van-cell::after{
|
||||||
|
display: none;
|
||||||
|
}
|
||||||
|
.my-popup .scroll-box .van-cell .van-cell__right-icon{
|
||||||
|
color: var(--header-text);
|
||||||
|
}
|
||||||
|
|
||||||
|
.about-popup .aboutlogo{
|
||||||
|
text-align: center;
|
||||||
|
padding-top: 3.125rem;
|
||||||
|
padding-bottom: 1.875rem;
|
||||||
|
}
|
||||||
|
.about-popup .aboutmessage{
|
||||||
|
padding: 0 2.1875rem;
|
||||||
|
}
|
||||||
|
.about-popup .aboutmessage .aboutlist{
|
||||||
|
margin-bottom: 1.25rem;
|
||||||
|
overflow: hidden;
|
||||||
|
font-size: 1rem;
|
||||||
|
}
|
||||||
|
.about-popup .aboutmessage .aboutlist .title{
|
||||||
|
float: left;
|
||||||
|
}
|
||||||
|
.about-popup .aboutmessage .aboutlist .address{
|
||||||
|
color: var(--color-primary);
|
||||||
|
font-size: 1rem;
|
||||||
|
vertical-align: sub;
|
||||||
|
}
|
||||||
|
@media screen and (min-width: 768px) {
|
||||||
|
.about-popup .aboutmessage{
|
||||||
|
padding: 0 6.25rem;
|
||||||
|
}
|
||||||
|
}
|
||||||
133
dzz/pichome/css/mobile/personal.css
Normal file
133
dzz/pichome/css/mobile/personal.css
Normal file
@@ -0,0 +1,133 @@
|
|||||||
|
body{
|
||||||
|
background: var(--bg-content);
|
||||||
|
}
|
||||||
|
#dzzoffice{
|
||||||
|
padding-top: 46px;
|
||||||
|
padding-bottom: 75px;
|
||||||
|
}
|
||||||
|
.van-nav-bar{
|
||||||
|
position: fixed;
|
||||||
|
top: 0;
|
||||||
|
left: 0;
|
||||||
|
width: 100%;
|
||||||
|
}
|
||||||
|
.van-nav-bar .van-nav-bar__title,
|
||||||
|
.van-nav-bar .van-icon{
|
||||||
|
color: var(--content-textHover);
|
||||||
|
}
|
||||||
|
.scroll-box{
|
||||||
|
height: 100%;
|
||||||
|
overflow: auto;
|
||||||
|
padding: 0.625rem 1.875rem;
|
||||||
|
}
|
||||||
|
.van-form .van-uploader{
|
||||||
|
padding-top: 0.625rem;
|
||||||
|
overflow: hidden;
|
||||||
|
}
|
||||||
|
.van-form .van-image{
|
||||||
|
border-radius: 0.5rem;
|
||||||
|
border: 1px solid var(--border-color-base);
|
||||||
|
overflow: hidden;
|
||||||
|
}
|
||||||
|
.van-form .van-image .not-img{
|
||||||
|
font-size: 1.6875rem;
|
||||||
|
width: 1.6875rem;
|
||||||
|
height: 1.6875rem;
|
||||||
|
display: inline-block;
|
||||||
|
position: absolute;
|
||||||
|
top: 0;
|
||||||
|
bottom: 0;
|
||||||
|
left: 0;
|
||||||
|
right: 0;
|
||||||
|
margin: auto;
|
||||||
|
color: var(--header-text);
|
||||||
|
}
|
||||||
|
.van-form .van-image .van-image__error{
|
||||||
|
display: none;
|
||||||
|
}
|
||||||
|
.van-form .van-field{
|
||||||
|
background-color: transparent !important;
|
||||||
|
border: 0;
|
||||||
|
display: block;
|
||||||
|
margin-bottom: 0.625rem;
|
||||||
|
}
|
||||||
|
.van-form .van-field.van-cell::after{
|
||||||
|
display: none;
|
||||||
|
}
|
||||||
|
.van-form .van-field .van-field__label{
|
||||||
|
width: 100%;
|
||||||
|
}
|
||||||
|
.van-form .van-field .van-field__label .tip{
|
||||||
|
font-size: 0.75rem;
|
||||||
|
margin-left: 0.625rem;
|
||||||
|
color: var(--tip-color);
|
||||||
|
}
|
||||||
|
.van-form .van-field .van-field__value{
|
||||||
|
margin-top: 0.625rem;
|
||||||
|
}
|
||||||
|
.van-form .van-field .van-field__value .van-field__control{
|
||||||
|
padding: 0.625rem;
|
||||||
|
border: 1px solid var(--border-color-base);
|
||||||
|
border-radius: 0.5rem;
|
||||||
|
}
|
||||||
|
.van-form .van-field .van-field__value .van-field__error-message{
|
||||||
|
position: absolute;
|
||||||
|
bottom: -24px;
|
||||||
|
left: 0;
|
||||||
|
width: 100%;
|
||||||
|
}
|
||||||
|
.van-form .thems{
|
||||||
|
margin-top: 0.625rem;
|
||||||
|
overflow: hidden;
|
||||||
|
}
|
||||||
|
.van-form .thems .thems-item{
|
||||||
|
width: 14.285%;
|
||||||
|
float: left;
|
||||||
|
padding: 0.1875rem;
|
||||||
|
}
|
||||||
|
.van-form .thems .thems-item .bg{
|
||||||
|
height: 0;
|
||||||
|
padding: 50% 0;
|
||||||
|
position: relative;
|
||||||
|
border-radius: 0.5rem;
|
||||||
|
border: 1px solid var(--border-color-base);
|
||||||
|
}
|
||||||
|
.van-form .thems .thems-item .bg.active{
|
||||||
|
border-color: var(--color-primary);
|
||||||
|
}
|
||||||
|
.van-form .thems .thems-item .bg .van-icon{
|
||||||
|
position: absolute;
|
||||||
|
top: 0;
|
||||||
|
bottom: 0;
|
||||||
|
left: 0;
|
||||||
|
right: 0px;
|
||||||
|
font-size: 1rem;
|
||||||
|
margin: auto;
|
||||||
|
width: 1rem;
|
||||||
|
height: 1rem;
|
||||||
|
display: none;
|
||||||
|
}
|
||||||
|
.van-form .thems .thems-item .bg.active .van-icon{
|
||||||
|
display: block;
|
||||||
|
}
|
||||||
|
@media screen and (min-width: 768px) {
|
||||||
|
.van-form .thems .thems-item .bg .van-icon{
|
||||||
|
font-size: 2rem;
|
||||||
|
width: 2rem;
|
||||||
|
height: 2rem;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
.footer{
|
||||||
|
position: fixed;
|
||||||
|
bottom: 0;
|
||||||
|
left: 0;
|
||||||
|
width: 100%;
|
||||||
|
padding: 10px 0;
|
||||||
|
background: var(--bg-content);
|
||||||
|
color: #FFFFFF;
|
||||||
|
text-align: center;
|
||||||
|
}
|
||||||
|
.footer .van-button{
|
||||||
|
padding: 15px 20px;
|
||||||
|
width: auto;
|
||||||
|
}
|
||||||
261
dzz/pichome/css/mobile/share.css
Normal file
261
dzz/pichome/css/mobile/share.css
Normal file
@@ -0,0 +1,261 @@
|
|||||||
|
.detail-popup-box{
|
||||||
|
position: relative;
|
||||||
|
height: 100%;
|
||||||
|
padding-top: 46px;
|
||||||
|
padding-bottom: 60px;
|
||||||
|
overflow: hidden;
|
||||||
|
width: 100%;
|
||||||
|
background: var(--bg-content);
|
||||||
|
color: var(--content-textHover);
|
||||||
|
}
|
||||||
|
.detail-popup-box.NotFooter{
|
||||||
|
padding-bottom: 0;
|
||||||
|
}
|
||||||
|
.detail-popup-box .van-nav-bar{
|
||||||
|
position: absolute;
|
||||||
|
top: 0;
|
||||||
|
left: 0;
|
||||||
|
width: 100%;
|
||||||
|
}
|
||||||
|
.detail-popup-box .van-nav-bar .van-icon{
|
||||||
|
color: var(--content-textHover);
|
||||||
|
}
|
||||||
|
.pic-logo{
|
||||||
|
height: 40px;
|
||||||
|
padding: 5px 0;
|
||||||
|
}
|
||||||
|
.pic-logo .h-left{
|
||||||
|
height: 30px;
|
||||||
|
display: -webkit-box;
|
||||||
|
display: -webkit-flex;
|
||||||
|
display: flex;
|
||||||
|
align-items: center;
|
||||||
|
color: var(--header-text);
|
||||||
|
text-decoration: none;
|
||||||
|
}
|
||||||
|
.pic-logo .h-left img{
|
||||||
|
max-width: 100%;
|
||||||
|
max-height: 100%;
|
||||||
|
margin-right: 10px;
|
||||||
|
}
|
||||||
|
.detail-popup-box .footer-tabbar{
|
||||||
|
position: absolute;
|
||||||
|
bottom: 0;
|
||||||
|
left: 0;
|
||||||
|
width: 100%;
|
||||||
|
height:60px;
|
||||||
|
line-height: 60px;
|
||||||
|
text-align: center;
|
||||||
|
font-size: 1.75rem;
|
||||||
|
border-top: 1px solid var(--border-color-base);
|
||||||
|
display: -webkit-box;
|
||||||
|
display: -webkit-flex;
|
||||||
|
display: flex;
|
||||||
|
z-index: 10000;
|
||||||
|
background: var(--bg-content);
|
||||||
|
}
|
||||||
|
.detail-popup-box .footer-tabbar .footer-tabbar-item{
|
||||||
|
-webkit-box-flex: 1;
|
||||||
|
-webkit-flex: 1;
|
||||||
|
flex: 1;
|
||||||
|
}
|
||||||
|
.detail-popup-box .detail-popup-translate{
|
||||||
|
position: relative;
|
||||||
|
height: 100%;
|
||||||
|
}
|
||||||
|
|
||||||
|
.detail-popup-box .detail-popup-content{
|
||||||
|
position: absolute;
|
||||||
|
width: 100%;
|
||||||
|
height: 100%;
|
||||||
|
color: var(--content-textHover);
|
||||||
|
}
|
||||||
|
.detail-popup-box .van-nav-bar .van-nav-bar__title{
|
||||||
|
color: var(--content-textHover);
|
||||||
|
}
|
||||||
|
.detail-popup-box .detail-popup-content .detail-popup-img{
|
||||||
|
height: 100%;
|
||||||
|
position: relative;
|
||||||
|
}
|
||||||
|
.detail-popup-box .detail-popup-content .detail-between{
|
||||||
|
height: 100%;
|
||||||
|
position: relative;
|
||||||
|
}
|
||||||
|
.detail-popup-box .detail-popup-content .detail-between .img-box{
|
||||||
|
height: 100%;
|
||||||
|
width: 100%;
|
||||||
|
overflow: auto;
|
||||||
|
position: relative;
|
||||||
|
}
|
||||||
|
.detail-popup-box .detail-popup-content .detail-between .video-box{
|
||||||
|
position: absolute;
|
||||||
|
top: 0;
|
||||||
|
bottom: 0;
|
||||||
|
width: 100%;
|
||||||
|
margin-top: auto;
|
||||||
|
margin-bottom: auto;
|
||||||
|
}
|
||||||
|
.detail-popup-box .detail-popup-content .detail-between .image-viewer__img{
|
||||||
|
max-width: 100%;
|
||||||
|
max-height: 100%;
|
||||||
|
position: absolute;
|
||||||
|
left: 0;
|
||||||
|
right: 0;
|
||||||
|
bottom: 0;
|
||||||
|
top: 0;
|
||||||
|
margin: auto;
|
||||||
|
z-index: 10;
|
||||||
|
transform-origin: 0 0;
|
||||||
|
}
|
||||||
|
.detail-popup-box .detail-popup-content .detail-between .image-viewer__img.opacity{
|
||||||
|
opacity: 0;
|
||||||
|
}
|
||||||
|
.detail-popup-box .detail-popup-content .detail-between .image-viewer__img.thumbnail{
|
||||||
|
z-index: 5;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
.detail-popup-message{
|
||||||
|
width: 100%;
|
||||||
|
height: 100%;
|
||||||
|
position: absolute;
|
||||||
|
background: transparent;
|
||||||
|
color: var(--content-textHover);
|
||||||
|
padding-bottom: 60px;
|
||||||
|
}
|
||||||
|
.detail-popup-message.NotFooter{
|
||||||
|
padding-bottom: 0;
|
||||||
|
}
|
||||||
|
.detail-popup-message .DetailPopup-content{
|
||||||
|
padding: 0 1rem;
|
||||||
|
height: 100%;
|
||||||
|
overflow: auto;
|
||||||
|
}
|
||||||
|
.detail-popup-message .name{
|
||||||
|
font-weight: 700;
|
||||||
|
padding: 16px 0;
|
||||||
|
overflow: hidden;
|
||||||
|
white-space: nowrap;
|
||||||
|
text-overflow: ellipsis;
|
||||||
|
}
|
||||||
|
.detail-popup-message .block{
|
||||||
|
margin-bottom: 1rem;
|
||||||
|
}
|
||||||
|
.detail-popup-message .block .title{
|
||||||
|
font-weight: 700;
|
||||||
|
margin-bottom: 0.625rem;
|
||||||
|
}
|
||||||
|
.detail-popup-message .block .block-item.colors{
|
||||||
|
display: -webkit-box;
|
||||||
|
display: -webkit-flex;
|
||||||
|
display: flex;
|
||||||
|
margin-left: -0.1875rem;
|
||||||
|
}
|
||||||
|
.detail-popup-message .block .block-item.colors .colors{
|
||||||
|
-webkit-box-flex: 1;
|
||||||
|
-webkit-flex: 1;
|
||||||
|
flex: 1;
|
||||||
|
padding-left: 0.1875rem;
|
||||||
|
}
|
||||||
|
.detail-popup-message .block .block-item.colors .colors>div{
|
||||||
|
position: relative;
|
||||||
|
border-radius: 0.5rem;
|
||||||
|
border: 1px solid var(--border-color-base);
|
||||||
|
}
|
||||||
|
@media screen and (max-width: 768px) {
|
||||||
|
.detail-popup-message .name{
|
||||||
|
font-size: 1.125rem;
|
||||||
|
}
|
||||||
|
.detail-popup-message .block .title{
|
||||||
|
font-size: 1rem;
|
||||||
|
}
|
||||||
|
.detail-popup-message .block .block-item.colors .colors>div{
|
||||||
|
height: 1.5625rem;
|
||||||
|
}
|
||||||
|
.detail-popup-message .block .block-item.tag .tag{
|
||||||
|
font-size: 0.875rem;
|
||||||
|
padding:0 0.5rem;
|
||||||
|
height: 1.875rem;
|
||||||
|
line-height: 1.875rem;
|
||||||
|
}
|
||||||
|
.detail-popup-message .block .block-item.link{
|
||||||
|
font-size: 0.875rem;
|
||||||
|
height: 1.25rem;
|
||||||
|
line-height: 1.25rem;
|
||||||
|
}
|
||||||
|
.detail-popup-message .block .block-item.link i{
|
||||||
|
font-size: 1.125rem;
|
||||||
|
}
|
||||||
|
.detail-popup-message .block .block-item .basic{
|
||||||
|
font-size: 0.875rem;
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
@media screen and (min-width: 768px) {
|
||||||
|
.detail-popup-message .name{
|
||||||
|
font-size:1.25rem;
|
||||||
|
}
|
||||||
|
.detail-popup-message .block .title{
|
||||||
|
font-size: 1.125rem;
|
||||||
|
}
|
||||||
|
.detail-popup-message .block .block-item.colors .colors>div{
|
||||||
|
height: 1.875rem;
|
||||||
|
}
|
||||||
|
.detail-popup-message .block .block-item.tag .tag{
|
||||||
|
font-size: 1rem;
|
||||||
|
padding:0 0.625rem;
|
||||||
|
height: 2.5rem;
|
||||||
|
line-height:2.5rem;
|
||||||
|
}
|
||||||
|
.detail-popup-message .block .block-item.link{
|
||||||
|
font-size: 1rem;
|
||||||
|
height: 1.875rem;
|
||||||
|
line-height:1.875rem;
|
||||||
|
}
|
||||||
|
.detail-popup-message .block .block-item.link i{
|
||||||
|
font-size: 1.75rem;
|
||||||
|
}
|
||||||
|
.detail-popup-message .block .block-item .basic{
|
||||||
|
font-size: 1rem;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
.detail-popup-message .block .block-item.tag{
|
||||||
|
overflow: hidden;
|
||||||
|
margin-left: -0.625rem;
|
||||||
|
}
|
||||||
|
.detail-popup-message .block .block-item.tag .tag{
|
||||||
|
float: left;
|
||||||
|
min-width: 2.8125rem;
|
||||||
|
text-align: center;
|
||||||
|
border: 1px solid var(--border-color-base);
|
||||||
|
border-radius: 0.5rem;
|
||||||
|
margin-left: 0.625rem;
|
||||||
|
color: var(--content-text);
|
||||||
|
margin-bottom: 0.3125rem;
|
||||||
|
}
|
||||||
|
.detail-popup-message .block .block-item.link{
|
||||||
|
color: var(--content-text);
|
||||||
|
overflow: hidden;
|
||||||
|
text-overflow: ellipsis;
|
||||||
|
white-space: nowrap;
|
||||||
|
position: relative;
|
||||||
|
padding-right: 1.5625rem;
|
||||||
|
}
|
||||||
|
.detail-popup-message .block .block-item.link i{
|
||||||
|
position: absolute;
|
||||||
|
right: 0;
|
||||||
|
top: 0;
|
||||||
|
}
|
||||||
|
.detail-popup-message .block .block-item .basic{
|
||||||
|
color: var(--content-text);
|
||||||
|
margin-bottom: 0.625rem;
|
||||||
|
}
|
||||||
|
.detail-popup-message .block .block-item .basic .record{
|
||||||
|
text-align: right;
|
||||||
|
}
|
||||||
|
.detail-popup-message .block .block-item .basic .record .star{
|
||||||
|
color: var(--stars);
|
||||||
|
}
|
||||||
|
.detail-popup-message .block .block-item .basic .record .star.active{
|
||||||
|
color: var(--starsActive);
|
||||||
|
}
|
||||||
133
dzz/pichome/css/pc/admin.css
Normal file
133
dzz/pichome/css/pc/admin.css
Normal file
@@ -0,0 +1,133 @@
|
|||||||
|
.el-aside {
|
||||||
|
background-color: var(--bg-header);
|
||||||
|
border-right: 1px solid var(--border-color-base);
|
||||||
|
}
|
||||||
|
|
||||||
|
.maxWidth {
|
||||||
|
width: 370px;
|
||||||
|
}
|
||||||
|
|
||||||
|
#center_title {
|
||||||
|
line-height: 55px;
|
||||||
|
border-bottom: 1px solid var(--border-color-base);
|
||||||
|
padding: 0 25px;
|
||||||
|
color: var(--content-textHover);
|
||||||
|
font-size: 16px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.el-form-item__label,
|
||||||
|
.el-checkbox,
|
||||||
|
.el-radio {
|
||||||
|
color: var(--content-text);
|
||||||
|
}
|
||||||
|
.el-checkbox,
|
||||||
|
.el-radio {
|
||||||
|
margin-right: 16px;
|
||||||
|
margin-left: 0 !important;
|
||||||
|
}
|
||||||
|
.tipTxt{
|
||||||
|
color: var(--tip-color);
|
||||||
|
font-size: 12px;
|
||||||
|
line-height: 20px;
|
||||||
|
margin-top: 6px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.tipTxt:hover {
|
||||||
|
color: var(--content-text);
|
||||||
|
}
|
||||||
|
|
||||||
|
.avatar-uploader .el-upload {
|
||||||
|
border: 1px dashed var(--border-color-base);
|
||||||
|
border-radius: 6px;
|
||||||
|
cursor: pointer;
|
||||||
|
position: relative;
|
||||||
|
overflow: hidden;
|
||||||
|
width: 150px;
|
||||||
|
height: 150px;
|
||||||
|
display: flex;
|
||||||
|
justify-content: center;
|
||||||
|
align-items: center;
|
||||||
|
}
|
||||||
|
|
||||||
|
.avatar-uploader .el-upload:hover {
|
||||||
|
border-color:var(--color-primary);
|
||||||
|
}
|
||||||
|
|
||||||
|
.avatar-uploader .avatar-uploader-icon {
|
||||||
|
font-size: 16px;
|
||||||
|
color: var(--content-text);
|
||||||
|
}
|
||||||
|
.avatar-uploader .el-image{
|
||||||
|
height: 150px;
|
||||||
|
width: 100%;
|
||||||
|
line-height: 150px;
|
||||||
|
}
|
||||||
|
.avatar-uploader .el-image img{
|
||||||
|
max-width: 100%;
|
||||||
|
max-height: 150px;
|
||||||
|
width: auto;
|
||||||
|
height: auto;
|
||||||
|
vertical-align: middle;
|
||||||
|
}
|
||||||
|
.avatar-uploader .el-progress{
|
||||||
|
position: absolute;
|
||||||
|
left: 0px;
|
||||||
|
top: 0px;
|
||||||
|
background: var(--bg-content);
|
||||||
|
z-index: 100;
|
||||||
|
}
|
||||||
|
.avatar {
|
||||||
|
max-width: 100%;
|
||||||
|
max-height: 100%;
|
||||||
|
display: inline-block;
|
||||||
|
}
|
||||||
|
|
||||||
|
.register-bg-bt{
|
||||||
|
background-color: transparent;
|
||||||
|
color: var(--content-text);
|
||||||
|
margin-left: 6px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.el-checkbox,.el-radio{
|
||||||
|
min-width: 120px;
|
||||||
|
margin-bottom: 8px;
|
||||||
|
}
|
||||||
|
.theme-block{
|
||||||
|
margin-right: 12px;
|
||||||
|
float: left;
|
||||||
|
}
|
||||||
|
.theme-block .bg{
|
||||||
|
height: 40px;
|
||||||
|
width: 40px;
|
||||||
|
border: 1px solid var(--border-color-base);
|
||||||
|
border-radius: 4px;
|
||||||
|
position: relative;
|
||||||
|
overflow: hidden;
|
||||||
|
cursor: pointer;
|
||||||
|
}
|
||||||
|
.theme-block .bg.active{
|
||||||
|
border: 1px solid var(--color-primary);
|
||||||
|
}
|
||||||
|
|
||||||
|
.theme-block .bg .triangle{
|
||||||
|
position: absolute;
|
||||||
|
right: 0px;
|
||||||
|
bottom: 0px;
|
||||||
|
width: 0;
|
||||||
|
height: 0;
|
||||||
|
border-bottom: 30px solid var(--color-primary);
|
||||||
|
border-left: 30px solid transparent;
|
||||||
|
display: none;
|
||||||
|
}
|
||||||
|
.theme-block .bg .icon{
|
||||||
|
color: #FFFFFF;
|
||||||
|
font-size: 14px;
|
||||||
|
position: absolute;
|
||||||
|
bottom: 2px;
|
||||||
|
right: 2px;
|
||||||
|
display: none;
|
||||||
|
}
|
||||||
|
.theme-block .bg.active .triangle,
|
||||||
|
.theme-block .bg.active .icon{
|
||||||
|
display: block;
|
||||||
|
}
|
||||||
448
dzz/pichome/css/pc/common.css
Normal file
448
dzz/pichome/css/pc/common.css
Normal file
@@ -0,0 +1,448 @@
|
|||||||
|
*{
|
||||||
|
padding: 0;
|
||||||
|
margin: 0;
|
||||||
|
box-sizing: border-box;
|
||||||
|
}
|
||||||
|
html,
|
||||||
|
body,
|
||||||
|
#dzzoffice,
|
||||||
|
.el-container,
|
||||||
|
.el-main,
|
||||||
|
.page-content{
|
||||||
|
width: 100%;
|
||||||
|
height: 100%;
|
||||||
|
margin: 0;
|
||||||
|
padding: 0;
|
||||||
|
overflow: hidden;
|
||||||
|
}
|
||||||
|
.el-header{
|
||||||
|
color: var(--header-text);
|
||||||
|
border-bottom: 1px solid var(--border-color-base);
|
||||||
|
}
|
||||||
|
.el-color-dropdown{
|
||||||
|
color: var(--header-text);
|
||||||
|
background-color: var(--bg-header);
|
||||||
|
border-bottom: 1px solid var(--border-color-base);
|
||||||
|
}
|
||||||
|
body{
|
||||||
|
background-color: var(--bg-content);
|
||||||
|
}
|
||||||
|
[v-cloak]{
|
||||||
|
display: none;
|
||||||
|
}
|
||||||
|
.el-progress-bar__outer{
|
||||||
|
background-color: var(--bg-input);
|
||||||
|
}
|
||||||
|
.el-dropdown-menu__item--divided{
|
||||||
|
border-color: var(--border-color-base);
|
||||||
|
}
|
||||||
|
.el-dropdown-menu__item--divided:before{
|
||||||
|
background-color: transparent;
|
||||||
|
}
|
||||||
|
.el-divider.el-divider--horizontal{
|
||||||
|
margin: 8px 0;
|
||||||
|
}
|
||||||
|
.el-input__inner,
|
||||||
|
.el-textarea__inner{
|
||||||
|
font-size: 14px;
|
||||||
|
color: var(--header-text);
|
||||||
|
background-color: var(--bg-input);
|
||||||
|
}
|
||||||
|
.el-input__inner:focus,.el-input__inner:hover,
|
||||||
|
.el-textarea__inner:focus,.el-textarea__inner:hover{
|
||||||
|
background-color: var(--bg-inputfocus);
|
||||||
|
border-color: var(--color-primary);
|
||||||
|
}
|
||||||
|
.el-table td, .el-table th.is-leaf{
|
||||||
|
border-color:var(--border-color-base);
|
||||||
|
}
|
||||||
|
.el-table--border::after, .el-table--group::after, .el-table::before{
|
||||||
|
background-color: var(--border-color-base);
|
||||||
|
}
|
||||||
|
.el-table th,.el-table tr{
|
||||||
|
background-color: var(--bg-content);
|
||||||
|
}
|
||||||
|
.el-table--striped .el-table__body tr.el-table__row--striped td{
|
||||||
|
background-color: var(--td-striped);
|
||||||
|
}
|
||||||
|
.el-table--enable-row-hover .el-table__body tr:hover>td{
|
||||||
|
background-color: var(--bg-content);
|
||||||
|
}
|
||||||
|
.el-table--striped .el-table__body tr.el-table__row--striped:hover>td{
|
||||||
|
background-color: var(--td-striped);
|
||||||
|
}
|
||||||
|
.el-dialog,
|
||||||
|
.el-popper{
|
||||||
|
background-color: var(--bg-poper);
|
||||||
|
color: var(--header-text);
|
||||||
|
border-color:var(--border-color-base);
|
||||||
|
}
|
||||||
|
|
||||||
|
.el-popper[x-placement^=bottom] .popper__arrow{
|
||||||
|
border-bottom-color:var(--border-color-base) !important;
|
||||||
|
}
|
||||||
|
.el-popper[x-placement^=bottom] .popper__arrow::after{
|
||||||
|
border-bottom-color:var(--bg-poper) !important;
|
||||||
|
}
|
||||||
|
.el-popper[x-placement^=left] .popper__arrow{
|
||||||
|
border-left-color:var(--border-color-base) !important;
|
||||||
|
}
|
||||||
|
.el-popper[x-placement^=left] .popper__arrow::after{
|
||||||
|
border-left-color:var(--bg-poper) !important;
|
||||||
|
}
|
||||||
|
.el-dialog .el-dialog__header{
|
||||||
|
text-align: center;
|
||||||
|
}
|
||||||
|
.el-dialog .el-dialog__header .el-dialog__title{
|
||||||
|
color: var(--header-text);
|
||||||
|
}
|
||||||
|
.el-form-item__label{
|
||||||
|
color: var(--content-textHover);
|
||||||
|
}
|
||||||
|
.el-tooltip__popper.is-dark{
|
||||||
|
color: #FFFFFF;
|
||||||
|
border: 1px solid var(--border-color-base);
|
||||||
|
background-color: var(--bg-tooltip);
|
||||||
|
}
|
||||||
|
|
||||||
|
.el-tooltip__popper .popper__arrow{
|
||||||
|
border-bottom-color:var(--border-color-base) !important;
|
||||||
|
}
|
||||||
|
.el-tooltip__popper .popper__arrow::after{
|
||||||
|
border-bottom-color:var(--bg-tooltip) !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
.el-menu{
|
||||||
|
background-color: transparent;
|
||||||
|
border: 0;
|
||||||
|
}
|
||||||
|
.el-menu .el-menu-item,
|
||||||
|
.el-dropdown-menu__item{
|
||||||
|
color: var(--header-text);
|
||||||
|
}
|
||||||
|
.el-menu .el-menu-item:focus,.el-menu .el-menu-item:hover,.el-menu .el-menu-item.is-active,
|
||||||
|
.el-dropdown-menu__item:focus,.el-dropdown-menu__item:not(.is-disabled):hover {
|
||||||
|
color: var(--header-active);
|
||||||
|
background-color: var(--bg-poperHover);
|
||||||
|
}
|
||||||
|
.el-dropdown,
|
||||||
|
.el-menu .el-menu-item{
|
||||||
|
color: var(--header-text);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
.el-select-dropdown__item{
|
||||||
|
color: var(--header-text);
|
||||||
|
}
|
||||||
|
.el-select-dropdown__item.selected{
|
||||||
|
color: var(--header-active);
|
||||||
|
}
|
||||||
|
.el-select-dropdown__item.hover, .el-select-dropdown__item:hover {
|
||||||
|
background-color: var(--bg-poperHover);
|
||||||
|
color: var(--header-active);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
.el-checkbox,
|
||||||
|
.el-radio{
|
||||||
|
color: var(--header-text);
|
||||||
|
}
|
||||||
|
.el-checkbox .el-checkbox__inner,
|
||||||
|
.el-radio .el-radio__inner{
|
||||||
|
background-color: transparent;
|
||||||
|
border-color: var(--radio-line);
|
||||||
|
}
|
||||||
|
.el-checkbox .el-checkbox__input.is-focus .el-checkbox__inner,
|
||||||
|
.el-radio .el-radio__input.is-focus .el-radio__inner{
|
||||||
|
border-color: var(--radio-line);
|
||||||
|
}
|
||||||
|
|
||||||
|
.el-radio__input.is-checked+.el-radio__label,
|
||||||
|
.el-checkbox__input.is-checked+.el-checkbox__label{
|
||||||
|
color: var(--header-active);
|
||||||
|
}
|
||||||
|
|
||||||
|
.el-input .el-input__icon{
|
||||||
|
color: var(--header-text);
|
||||||
|
}
|
||||||
|
.el-date-table td.available:hover,
|
||||||
|
.el-picker-panel__icon-btn:hover,
|
||||||
|
.el-date-table td.today span{
|
||||||
|
color: var(--header-active);
|
||||||
|
}
|
||||||
|
.el-picker-panel__icon-btn,
|
||||||
|
.el-date-table td,
|
||||||
|
.el-date-table th{
|
||||||
|
color: var(--header-text);
|
||||||
|
}
|
||||||
|
.el-date-table td.in-range div,
|
||||||
|
.el-date-table td.in-range div:hover{
|
||||||
|
background-color: var(--color-primary);
|
||||||
|
}
|
||||||
|
|
||||||
|
.el-date-range-picker__content.is-left,
|
||||||
|
.el-date-table th{
|
||||||
|
border-color:var(--border-color-base) !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
.el-tree,
|
||||||
|
.el-tree .el-tree-node .el-tree-node__expand-icon{
|
||||||
|
background: transparent;
|
||||||
|
color: var(--header-text);
|
||||||
|
}
|
||||||
|
.el-tree .el-tree-node .el-tree-node__expand-icon.is-leaf{
|
||||||
|
color: transparent !important;
|
||||||
|
}
|
||||||
|
.el-tree .el-tree-node:focus .el-tree-node__expand-icon{
|
||||||
|
color: var(--header-active);
|
||||||
|
}
|
||||||
|
.el-tree .el-tree-node__content:hover{
|
||||||
|
color: var(--header-active);
|
||||||
|
background-color: var(--bg-poperHover);
|
||||||
|
}
|
||||||
|
.el-tree .el-tree-node:focus>.el-tree-node__content{
|
||||||
|
background-color: var(--bg-poperHover);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
.page-content{
|
||||||
|
display: flex;
|
||||||
|
flex-direction: column;
|
||||||
|
}
|
||||||
|
.page-component__scroll{
|
||||||
|
height: 100%;
|
||||||
|
flex: 1;
|
||||||
|
}
|
||||||
|
.page-component__scroll>.el-scrollbar__wrap {
|
||||||
|
overflow-x: hidden;
|
||||||
|
}
|
||||||
|
.Topcarousel{
|
||||||
|
border-radius: 50%;
|
||||||
|
text-align: center;
|
||||||
|
display: inline-block;
|
||||||
|
font-size: 18px;
|
||||||
|
width: 100%;
|
||||||
|
height: 100%;
|
||||||
|
color: #FFF;
|
||||||
|
}
|
||||||
|
#copyInput{
|
||||||
|
opacity: 0;
|
||||||
|
position: fixed;
|
||||||
|
bottom: 0;
|
||||||
|
left: 0;
|
||||||
|
}
|
||||||
|
.img-circle{
|
||||||
|
border-radius: 50%;
|
||||||
|
width: 100%;
|
||||||
|
height: 100%;
|
||||||
|
}
|
||||||
|
.hide{
|
||||||
|
display: none !important;
|
||||||
|
}
|
||||||
|
.PopoverNotPadding{
|
||||||
|
padding: 0;
|
||||||
|
}
|
||||||
|
.clearfix:after{
|
||||||
|
content: '.';
|
||||||
|
clear: both;
|
||||||
|
display: block;
|
||||||
|
height: 0;
|
||||||
|
visibility: hidden;
|
||||||
|
font-size: 0;
|
||||||
|
line-height: 0;
|
||||||
|
}
|
||||||
|
ul{
|
||||||
|
list-style: none;
|
||||||
|
}
|
||||||
|
.squareIcon{
|
||||||
|
height: 48px;
|
||||||
|
width: 48px;
|
||||||
|
background: var(--bg-color);
|
||||||
|
color: var(--text-color1);
|
||||||
|
padding: 0 8px;
|
||||||
|
border-radius: 6px;
|
||||||
|
text-align: center;
|
||||||
|
line-height: 48px;
|
||||||
|
display: inline-block;
|
||||||
|
margin-right: 8px;
|
||||||
|
flex: 0 0 auto;
|
||||||
|
}
|
||||||
|
.squareIcon i{
|
||||||
|
font-size: 28px;
|
||||||
|
}
|
||||||
|
.squareImg{
|
||||||
|
height: 48px;
|
||||||
|
width: 48px;
|
||||||
|
border-radius: 6px;
|
||||||
|
display: inline-block;
|
||||||
|
margin-right: 8px;
|
||||||
|
flex: 0 0 auto;
|
||||||
|
background: var(--g-colroimg);
|
||||||
|
display: flex;
|
||||||
|
align-items: center;
|
||||||
|
justify-content: center;
|
||||||
|
}
|
||||||
|
.squareImg img{
|
||||||
|
max-width: 100%;
|
||||||
|
max-height: 100%;
|
||||||
|
}
|
||||||
|
|
||||||
|
.dzz-dropdown-menu .dzz-dropdown-menu__item{
|
||||||
|
color: var(--header-text);
|
||||||
|
line-height: 35px;
|
||||||
|
padding: 0 5px;
|
||||||
|
border-radius: 4px;
|
||||||
|
position: relative;
|
||||||
|
cursor: pointer;
|
||||||
|
white-space: nowrap;
|
||||||
|
overflow: hidden;
|
||||||
|
text-overflow: ellipsis;
|
||||||
|
}
|
||||||
|
.dzz-dropdown-menu .dzz-dropdown-menu__item:hover{
|
||||||
|
color: var(--header-active);
|
||||||
|
background-color: var(--bg-poperHover);
|
||||||
|
}
|
||||||
|
.dzz-dropdown-menu .dzz-dropdown-menu__item.nothover:hover{
|
||||||
|
background-color: transparent;
|
||||||
|
}
|
||||||
|
|
||||||
|
#top_header {
|
||||||
|
height: 70px;
|
||||||
|
width: 100%;
|
||||||
|
padding: 4px 16px;
|
||||||
|
align-items: center;
|
||||||
|
display: flex;
|
||||||
|
}
|
||||||
|
|
||||||
|
#top_header .header-content .h-left .el-image {
|
||||||
|
width: 35px;
|
||||||
|
height: 35px;
|
||||||
|
}
|
||||||
|
|
||||||
|
#top_header .header-content .h-left .text {
|
||||||
|
font-size: 16px;
|
||||||
|
font-weight: 700;
|
||||||
|
margin-left: 10px;
|
||||||
|
color: var(--header-active);
|
||||||
|
}
|
||||||
|
#top_header .header-content {
|
||||||
|
display: flex;
|
||||||
|
height: 56px;
|
||||||
|
align-items: center;
|
||||||
|
width: 100%;
|
||||||
|
}
|
||||||
|
|
||||||
|
#top_header .header-content .h-left {
|
||||||
|
height: 100%;
|
||||||
|
display: flex;
|
||||||
|
justify-content: center;
|
||||||
|
align-items: center;
|
||||||
|
text-decoration: none;
|
||||||
|
}
|
||||||
|
#top_header .header-content .h-center {
|
||||||
|
flex: 1 1 auto;
|
||||||
|
height: 100%;
|
||||||
|
padding: 0 30px;
|
||||||
|
display: flex;
|
||||||
|
align-items: center;
|
||||||
|
}
|
||||||
|
#top_header .header-content .h-right #dzz_avatar_img {
|
||||||
|
cursor: pointer;
|
||||||
|
width: 35px;
|
||||||
|
height: 35px;
|
||||||
|
line-height: 35px;
|
||||||
|
margin-left: 5px;
|
||||||
|
}
|
||||||
|
.el-empty{
|
||||||
|
display: flex;
|
||||||
|
justify-content: center;
|
||||||
|
align-items: center;
|
||||||
|
flex-direction: column;
|
||||||
|
text-align: center;
|
||||||
|
box-sizing: border-box;
|
||||||
|
padding: 40px 0;
|
||||||
|
}
|
||||||
|
.el-empty__image {
|
||||||
|
width: 160px;
|
||||||
|
}
|
||||||
|
.el-empty__image img{
|
||||||
|
user-select: none;
|
||||||
|
width: 100%;
|
||||||
|
height: 100%;
|
||||||
|
vertical-align: top;
|
||||||
|
object-fit: contain;
|
||||||
|
}
|
||||||
|
.el-empty__description {
|
||||||
|
margin-top: 20px;
|
||||||
|
color: var(--content-textHover);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
.aboutPichome{
|
||||||
|
padding: 0;
|
||||||
|
width: 478px;
|
||||||
|
}
|
||||||
|
.aboutPichome .el-message-box__header,
|
||||||
|
.aboutPichome .el-message-box__btns{
|
||||||
|
display: none;
|
||||||
|
}
|
||||||
|
.aboutPichome .aboutlogo{
|
||||||
|
text-align: center;
|
||||||
|
line-height: 0;
|
||||||
|
padding-top: 40px;
|
||||||
|
}
|
||||||
|
.aboutPichome .aboutmessage{
|
||||||
|
padding: 65px 40px;
|
||||||
|
font-size: 19px;
|
||||||
|
padding-bottom: 15px;
|
||||||
|
}
|
||||||
|
.aboutPichome .aboutmessage .aboutlist{
|
||||||
|
margin-bottom: 20px;
|
||||||
|
overflow: hidden;
|
||||||
|
}
|
||||||
|
.aboutPichome a{
|
||||||
|
text-decoration: none;
|
||||||
|
}
|
||||||
|
.aboutPichome .aboutmessage .aboutlist .title{
|
||||||
|
float: left;
|
||||||
|
width: 95px;
|
||||||
|
}
|
||||||
|
.aboutPichome .aboutmessage .aboutlist .mes{
|
||||||
|
float: left;
|
||||||
|
width: calc(100% - 95px);
|
||||||
|
}
|
||||||
|
.aboutPichome .aboutmessage .aboutlist .update{
|
||||||
|
font-size: 12px;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
#systemNotice .panel-heading {
|
||||||
|
border-radius: 0;
|
||||||
|
background: var(--bg-header);
|
||||||
|
color: var(--header-text);
|
||||||
|
padding: 10px 15px;
|
||||||
|
}
|
||||||
|
#systemNotice .panel-heading .close{
|
||||||
|
float: right;
|
||||||
|
border: 0;
|
||||||
|
font-size: 21px;
|
||||||
|
color: var(--header-text);
|
||||||
|
}
|
||||||
|
#systemNotice .panel-body {
|
||||||
|
background: var(--bg-input);
|
||||||
|
color: var(--header-text);
|
||||||
|
padding: 10px 15px !important;
|
||||||
|
}
|
||||||
|
#systemNotice .panel-body img{
|
||||||
|
max-height: 30px;
|
||||||
|
vertical-align: bottom;
|
||||||
|
margin-right: 10px;
|
||||||
|
}
|
||||||
|
#systemNotice .panel-body a{
|
||||||
|
color: var(--header-text);
|
||||||
|
text-decoration: none;
|
||||||
|
}
|
||||||
354
dzz/pichome/css/pc/details.css
Normal file
354
dzz/pichome/css/pc/details.css
Normal file
@@ -0,0 +1,354 @@
|
|||||||
|
.el-header,.el-main{
|
||||||
|
background-color: var(--bg-content);
|
||||||
|
}
|
||||||
|
#top_header .header-content .h-right .r-option {
|
||||||
|
display: flex;
|
||||||
|
align-items: center;
|
||||||
|
height: 40px;
|
||||||
|
}
|
||||||
|
#top_header .header-content .h-right .right-block {
|
||||||
|
float: left;
|
||||||
|
font-size: 24px;
|
||||||
|
padding: 8px;
|
||||||
|
cursor: pointer;
|
||||||
|
border-radius: 50%;
|
||||||
|
width: 40px;
|
||||||
|
height: 40px;
|
||||||
|
margin-right: 5px;
|
||||||
|
color: var(--header-icon);
|
||||||
|
}
|
||||||
|
#top_header .header-content .h-right .right-block:hover {
|
||||||
|
background: var(--header-textHover);
|
||||||
|
color: var(--header-iconHover);
|
||||||
|
}
|
||||||
|
#top_header .header-content .h-right .right-block i {
|
||||||
|
vertical-align: top;
|
||||||
|
}
|
||||||
|
#top_header .header-content .h-center .imgoperation {
|
||||||
|
text-align: center;
|
||||||
|
display: flex;
|
||||||
|
align-items: center;
|
||||||
|
justify-content: center;
|
||||||
|
flex: 1;
|
||||||
|
}
|
||||||
|
#top_header .header-content .h-center .imgoperation .proportion{
|
||||||
|
width: 140px;
|
||||||
|
}
|
||||||
|
|
||||||
|
#top_header .header-content .h-center .imgoperation .text{
|
||||||
|
display: inline-block;
|
||||||
|
cursor: default;
|
||||||
|
margin-left: 10px;
|
||||||
|
}
|
||||||
|
#top_header .header-content .h-center .imgoperation .text:hover{
|
||||||
|
color: var(--header-active);
|
||||||
|
}
|
||||||
|
#top_header .header-content .h-center .imgoperation .text .icon{
|
||||||
|
font-size: 18px;
|
||||||
|
vertical-align: middle;
|
||||||
|
font-weight: 700;
|
||||||
|
}
|
||||||
|
.carousel__arrow-box{
|
||||||
|
display: inline-block;
|
||||||
|
width: 52px;
|
||||||
|
margin-left: 10px;
|
||||||
|
}
|
||||||
|
.carousel__arrow-box .carousel__arrow{
|
||||||
|
cursor: pointer;
|
||||||
|
float: left;
|
||||||
|
margin-left: 5px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.carousel__arrow-box .carousel__arrow:hover{
|
||||||
|
color: var(--header-active);
|
||||||
|
}
|
||||||
|
.carousel__arrow-box .carousel__arrow .icon{
|
||||||
|
font-size: 18px;
|
||||||
|
font-weight: 700;
|
||||||
|
vertical-align: middle;
|
||||||
|
}
|
||||||
|
|
||||||
|
.proportionnum-box .el-dropdown-menu__item{
|
||||||
|
line-height: 30px;
|
||||||
|
font-size: 12px;
|
||||||
|
}
|
||||||
|
.el-tooltip__popper.color-top {
|
||||||
|
color: var(--content-text);
|
||||||
|
background: var(--bg-content);
|
||||||
|
border: 1px solid var(--border-color-base);
|
||||||
|
}
|
||||||
|
|
||||||
|
.el-tooltip__popper.color-top .popper__arrow {
|
||||||
|
border-top-color: var(--border-color-base) !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
.el-tooltip__popper.color-top .popper__arrow::after {
|
||||||
|
border-top-color: var(--bg-tooltip) !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
.el-header {
|
||||||
|
border-bottom: 0;
|
||||||
|
}
|
||||||
|
.el-scrollbar__view{
|
||||||
|
height: 100%;
|
||||||
|
}
|
||||||
|
.el-slider__button-wrapper.grabbing:hover,
|
||||||
|
.el-slider__button-wrapper.grabbing,
|
||||||
|
.el-slider__button-wrapper.grabbing .el-slider__button{
|
||||||
|
cursor: grabbing !important;
|
||||||
|
}
|
||||||
|
.details-top {
|
||||||
|
width: 100%;
|
||||||
|
height: 100%;
|
||||||
|
position: relative;
|
||||||
|
overflow: hidden;
|
||||||
|
padding: 0 20px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.details-maincontainer{
|
||||||
|
height: 100%;
|
||||||
|
}
|
||||||
|
.floating-layer {
|
||||||
|
width: 100%;
|
||||||
|
height: 100%;
|
||||||
|
position: relative;
|
||||||
|
padding-right: 360px;
|
||||||
|
padding-bottom: 8px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.details-top .page-component__scroll .is-horizontal {
|
||||||
|
display: none;
|
||||||
|
}
|
||||||
|
#ImgScroll.move{
|
||||||
|
cursor: grab;
|
||||||
|
}
|
||||||
|
#ImgScroll.move.activemove{
|
||||||
|
cursor: grabbing;
|
||||||
|
}
|
||||||
|
#ImgScroll .is-horizontal {
|
||||||
|
display: block;
|
||||||
|
}
|
||||||
|
#ImgScroll .el-scrollbar__view {
|
||||||
|
position: relative;
|
||||||
|
text-align: center;
|
||||||
|
/* box-sizing: content-box; */
|
||||||
|
font-size: 0;
|
||||||
|
width: 100%;
|
||||||
|
height: 100%;
|
||||||
|
}
|
||||||
|
.information-box {
|
||||||
|
color: var(--content-text);
|
||||||
|
}
|
||||||
|
|
||||||
|
.floating-layer .picture-box {
|
||||||
|
height: 100%;
|
||||||
|
position: relative;
|
||||||
|
width: 100%;
|
||||||
|
}
|
||||||
|
.floating-layer.HideInformation{
|
||||||
|
padding-right: 0px;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
.floating-layer .picture-box .image-viewer__img {
|
||||||
|
display: inline-block;
|
||||||
|
vertical-align: middle;
|
||||||
|
}
|
||||||
|
.floating-layer .picture-box .image-viewer__img.max {
|
||||||
|
max-width: 100%;
|
||||||
|
max-height: 100%;
|
||||||
|
}
|
||||||
|
.floating-layer .picture-box .image-viewer__img.opacity{
|
||||||
|
display: none;
|
||||||
|
}
|
||||||
|
.floating-layer .picture-box .image-viewer__img.thumbnail{
|
||||||
|
|
||||||
|
}
|
||||||
|
.floating-layer .information-box {
|
||||||
|
position: absolute;
|
||||||
|
height: 100%;
|
||||||
|
width: 360px;
|
||||||
|
padding-left: 20px;
|
||||||
|
right: 0;
|
||||||
|
top: 0;
|
||||||
|
padding-bottom: 8px;
|
||||||
|
}
|
||||||
|
.floating-layer.HideInformation .information-box {
|
||||||
|
display: none;
|
||||||
|
}
|
||||||
|
.floating-layer .information-box .el-divider {
|
||||||
|
margin: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
.floating-layer .information-box .title {
|
||||||
|
font-size: 18px;
|
||||||
|
color: var(--content-textHover);
|
||||||
|
font-weight: 700;
|
||||||
|
display: -webkit-box;
|
||||||
|
-webkit-line-clamp: 2;
|
||||||
|
overflow: hidden;
|
||||||
|
text-overflow: ellipsis;
|
||||||
|
-webkit-box-orient: vertical;
|
||||||
|
max-height: 48px;
|
||||||
|
margin-bottom: 16px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.floating-layer .information-box .operation {
|
||||||
|
padding-bottom: 16px;
|
||||||
|
margin-left: -4px;
|
||||||
|
display: flex;
|
||||||
|
}
|
||||||
|
|
||||||
|
.floating-layer .information-box .operation .circular {
|
||||||
|
color: var(--content-text);
|
||||||
|
font-size: 17px;
|
||||||
|
font-weight: 700;
|
||||||
|
text-decoration: none;
|
||||||
|
float: left;
|
||||||
|
width: 45px;
|
||||||
|
margin: 0 4px;
|
||||||
|
text-align: center;
|
||||||
|
line-height: 43px;
|
||||||
|
cursor: pointer;
|
||||||
|
background: var(--bg-header);
|
||||||
|
border: 1px solid var(--border-color-base);
|
||||||
|
border-radius: 50%;
|
||||||
|
}
|
||||||
|
|
||||||
|
.floating-layer .information-box .operation .circular.bg {
|
||||||
|
flex: auto;
|
||||||
|
border-radius: 18px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.floating-layer .information-box .operation .circular:hover {
|
||||||
|
color: var(--content-textHover);
|
||||||
|
}
|
||||||
|
|
||||||
|
.floating-layer .information-box .message .color {
|
||||||
|
margin: 0 -3px;
|
||||||
|
display: flex;
|
||||||
|
}
|
||||||
|
|
||||||
|
.floating-layer .information-box .message .color>li {
|
||||||
|
height: 28px;
|
||||||
|
float: left;
|
||||||
|
padding: 0 3px 6px;
|
||||||
|
flex: 1;
|
||||||
|
max-width: 90px;
|
||||||
|
cursor: pointer;
|
||||||
|
}
|
||||||
|
|
||||||
|
.floating-layer .information-box .message .color>li.opacity {
|
||||||
|
opacity: 0.3;
|
||||||
|
}
|
||||||
|
|
||||||
|
.floating-layer .information-box .message .color>li .el-dropdown {
|
||||||
|
width: 100%;
|
||||||
|
height: 100%;
|
||||||
|
}
|
||||||
|
|
||||||
|
.floating-layer .information-box .message .color>li .bg {
|
||||||
|
height: 100%;
|
||||||
|
width: 100%;
|
||||||
|
border-radius: 4px;
|
||||||
|
border: 1px solid var(--border-color-base);
|
||||||
|
}
|
||||||
|
|
||||||
|
.floating-layer .information-box .message .label {
|
||||||
|
/* padding-bottom: 16px; */
|
||||||
|
}
|
||||||
|
|
||||||
|
.floating-layer .information-box .message .label .el-tag {
|
||||||
|
min-width: 45px;
|
||||||
|
text-align: center;
|
||||||
|
margin-bottom: 5px;
|
||||||
|
float: left;
|
||||||
|
margin-right: 5px;
|
||||||
|
background: var(--bg-header);
|
||||||
|
border: 1px solid var(--border-color-base);
|
||||||
|
color: var(--content-text);
|
||||||
|
cursor: pointer;
|
||||||
|
}
|
||||||
|
|
||||||
|
.floating-layer .information-box .message .notes {
|
||||||
|
font-size: 14px;
|
||||||
|
/* padding-bottom: 16px; */
|
||||||
|
line-height: 22px;
|
||||||
|
word-wrap: break-word;
|
||||||
|
}
|
||||||
|
|
||||||
|
.floating-layer .information-box .message .thesis-wrap {
|
||||||
|
padding-bottom: 16px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.floating-layer .information-box .message .thesis-wrap .tip-title {
|
||||||
|
font-size: 16px;
|
||||||
|
font-weight: 700;
|
||||||
|
margin-bottom: 6px;
|
||||||
|
color: var(--content-textHover);
|
||||||
|
}
|
||||||
|
|
||||||
|
.floating-layer .information-box .message .link {
|
||||||
|
position: relative;
|
||||||
|
font-size: 16px;
|
||||||
|
overflow: hidden;
|
||||||
|
text-overflow: ellipsis;
|
||||||
|
white-space: nowrap;
|
||||||
|
padding-right: 35px;
|
||||||
|
cursor: pointer;
|
||||||
|
}
|
||||||
|
|
||||||
|
.floating-layer .information-box .message .link:hover {
|
||||||
|
color: var(--content-textHover);
|
||||||
|
}
|
||||||
|
|
||||||
|
.floating-layer .information-box .message .link i {
|
||||||
|
position: absolute;
|
||||||
|
right: 0;
|
||||||
|
top: 0;
|
||||||
|
font-size: 25px;
|
||||||
|
width: 25px;
|
||||||
|
height: 25px;
|
||||||
|
bottom: 0;
|
||||||
|
margin-top: auto;
|
||||||
|
margin-bottom: auto;
|
||||||
|
cursor: pointer;
|
||||||
|
}
|
||||||
|
|
||||||
|
.floating-layer .information-box .information {
|
||||||
|
padding: 18px 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
.floating-layer .information-box .information .tip {
|
||||||
|
font-size: 18px;
|
||||||
|
font-weight: 700;
|
||||||
|
padding-bottom: 16px;
|
||||||
|
color: var(--content-textHover);
|
||||||
|
}
|
||||||
|
|
||||||
|
.floating-layer .information-box .information .field {
|
||||||
|
margin-bottom: 6px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.floating-layer .information-box .information .field .name {
|
||||||
|
font-size: 14px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.floating-layer .information-box .information .field .record {
|
||||||
|
font-size: 14px;
|
||||||
|
overflow: hidden;
|
||||||
|
white-space: nowrap;
|
||||||
|
text-overflow: ellipsis;
|
||||||
|
color: var(--content-textMessage);
|
||||||
|
text-align: right;
|
||||||
|
}
|
||||||
|
|
||||||
|
.floating-layer .information-box .information .field .record .star {
|
||||||
|
color: var(--stars);
|
||||||
|
}
|
||||||
|
|
||||||
|
.floating-layer .information-box .information .field .record .star.active {
|
||||||
|
color: var(--starsActive);
|
||||||
|
}
|
||||||
|
|
||||||
1403
dzz/pichome/css/pc/index.css
Normal file
1403
dzz/pichome/css/pc/index.css
Normal file
File diff suppressed because it is too large
Load Diff
BIN
dzz/pichome/css/pc/xuanzhuan/iconfont.ttf
Normal file
BIN
dzz/pichome/css/pc/xuanzhuan/iconfont.ttf
Normal file
Binary file not shown.
21
dzz/pichome/css/pc/xuanzhuan/index.css
Normal file
21
dzz/pichome/css/pc/xuanzhuan/index.css
Normal file
@@ -0,0 +1,21 @@
|
|||||||
|
@font-face {
|
||||||
|
font-family: "iconfont"; /* Project id */
|
||||||
|
src: url('iconfont.ttf?t=1631936247363') format('truetype');
|
||||||
|
}
|
||||||
|
|
||||||
|
.iconfont {
|
||||||
|
font-family: "iconfont" !important;
|
||||||
|
font-size: 16px;
|
||||||
|
font-style: normal;
|
||||||
|
-webkit-font-smoothing: antialiased;
|
||||||
|
-moz-osx-font-smoothing: grayscale;
|
||||||
|
}
|
||||||
|
|
||||||
|
.icon-zuoyoufanzhuan_huaban1:before {
|
||||||
|
content: "\e65f";
|
||||||
|
}
|
||||||
|
|
||||||
|
.icon-chuizhifanzhuan_huaban1:before {
|
||||||
|
content: "\e660";
|
||||||
|
}
|
||||||
|
|
||||||
@@ -36,7 +36,7 @@
|
|||||||
--radio-line:#797979;/* radio边框颜色 */
|
--radio-line:#797979;/* radio边框颜色 */
|
||||||
|
|
||||||
--tagbg:#454545;/* 标签左侧颜色 */
|
--tagbg:#454545;/* 标签左侧颜色 */
|
||||||
--stars:#E1AF22;/* 评分颜色 */
|
--stars:#515151;/* 选中评分颜色 */
|
||||||
--starsActive:#515151;/* 选中评分颜色 */
|
--starsActive:#E1AF22;/* 评分颜色 */
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,33 +1,38 @@
|
|||||||
<?php
|
<?php
|
||||||
/*
|
/*
|
||||||
* @copyright QiaoQiaoShiDai Internet Technology(Shanghai)Co.,Ltd
|
* @copyright QiaoQiaoShiDai Internet Technology(Shanghai)Co.,Ltd
|
||||||
* @license https://www.oaooa.com/licenses/
|
* @license https://www.oaooa.com/licenses/
|
||||||
*
|
*
|
||||||
* @link https://www.oaooa.com
|
* @link https://www.oaooa.com
|
||||||
* @author zyx(zyx@oaooa.com)
|
* @author zyx(zyx@oaooa.com)
|
||||||
*/
|
*/
|
||||||
//此页的调用地址 index.php?mod=test;
|
|
||||||
//同目录的其他php文件调用 index.php?mod=test&op=test1;
|
|
||||||
|
if (!defined('IN_OAOOA')) {//所有的php文件必须加上此句,防止被外部调用
|
||||||
if (!defined('IN_OAOOA')) {//所有的php文件必须加上此句,防止被外部调用
|
exit('Access Denied');
|
||||||
exit('Access Denied');
|
}
|
||||||
}
|
$overt = getglobal('setting/overt');
|
||||||
$overt = getglobal('setting/overt');
|
if (!$overt) {
|
||||||
if (!$overt) {
|
Hook::listen('check_login');//检查是否登录,未登录跳转到登录界面
|
||||||
Hook::listen('check_login');//检查是否登录,未登录跳转到登录界面
|
}
|
||||||
}
|
$operation = isset($_GET['operation']) ? trim($_GET['operation']) : '';
|
||||||
|
$opentype = isset($_GET['opentype']) ? trim($_GET['opentype']) : '';
|
||||||
$operation = isset($_GET['operation']) ? trim($_GET['operation']) : '';
|
if($operation == 'fetch'){
|
||||||
if($operation == 'fetch'){
|
$rid = isset($_GET['rid']) ? trim($_GET['rid']) : '';
|
||||||
$rid = isset($_GET['rid']) ? trim($_GET['rid']) : '';
|
if (!$rid) {
|
||||||
if (!$rid) {
|
exit(json_encode(array('error' => false)));
|
||||||
exit(json_encode(array('error' => false)));
|
}
|
||||||
}
|
$resourcesdata = C::t('pichome_resources')->fetch_by_rid($rid);
|
||||||
$resourcesdata = C::t('pichome_resources')->fetch_by_rid($rid);
|
exit(json_encode(array('resourcesdata' => $resourcesdata)));
|
||||||
exit(json_encode(array('resourcesdata' => $resourcesdata)));
|
|
||||||
|
}else{
|
||||||
}else{
|
$theme = GetThemeColor();
|
||||||
$theme = GetThemeColor();
|
$ismobile = helper_browser::ismobile();
|
||||||
include template('page/details');
|
if ($ismobile) {
|
||||||
}
|
include template('mobile/page/details');
|
||||||
|
} else {
|
||||||
|
include template('pc/page/details');
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -1,16 +1,39 @@
|
|||||||
<?php
|
<?php
|
||||||
|
ignore_user_abort(true);
|
||||||
if (!defined('IN_OAOOA')) {
|
if (!defined('IN_OAOOA')) {
|
||||||
exit('Access Denied');
|
exit('Access Denied');
|
||||||
}
|
}
|
||||||
ignore_user_abort(true);
|
|
||||||
@set_time_limit(0);
|
|
||||||
@set_time_limit(0);
|
@set_time_limit(0);
|
||||||
|
ini_set('memory_limit', -1);
|
||||||
@ini_set('max_execution_time', 0);
|
@ini_set('max_execution_time', 0);
|
||||||
|
|
||||||
$appid = isset($_GET['appid']) ? trim($_GET['appid']):0;
|
$appid = isset($_GET['appid']) ? trim($_GET['appid']):0;
|
||||||
|
$processname = 'DZZ_EXPORTFILE_LOCK_'.$appid;
|
||||||
|
//dzz_process::unlock($processname);
|
||||||
|
$locked = true;
|
||||||
|
if (!dzz_process::islocked($processname, 60*5)) {
|
||||||
|
$locked=false;
|
||||||
|
}
|
||||||
|
if ($locked) {
|
||||||
|
exit(json_encode( array('error'=>'进程已被锁定请稍后再试')));
|
||||||
|
}
|
||||||
|
// var_dump($locked);die;
|
||||||
$force = isset($_GET['force']) ? intval($_GET['force']):0;
|
$force = isset($_GET['force']) ? intval($_GET['force']):0;
|
||||||
$data = C::t('pichome_vapp')->fetch($appid);
|
$data = C::t('pichome_vapp')->fetch($appid);
|
||||||
if(!$data) exit(json_encode(array('error'=>'no data')));
|
if(!$data) exit(json_encode(array('error'=>'no data')));
|
||||||
include_once dzz_libfile('eagleexport');
|
if($data['type'] == 0 && $data['state'] == 1){
|
||||||
$eagleexport = new eagleexport($data);
|
include_once dzz_libfile('eagleexport');
|
||||||
$return = $eagleexport->execExport($force);
|
$eagleexport = new eagleexport($data);
|
||||||
|
$return = $eagleexport->execExport($force);
|
||||||
|
}else{
|
||||||
|
include_once dzz_libfile('oaooaexport');
|
||||||
|
$oaooaexport = new oaooaexport($data);
|
||||||
|
//导入标签分类数据
|
||||||
|
$oaooaexport->exportTaggroup();
|
||||||
|
//执行导入文件
|
||||||
|
$return = $oaooaexport->initExport();
|
||||||
|
}
|
||||||
|
dzz_process::unlock($processname);
|
||||||
|
exit('success');
|
||||||
|
|
||||||
30
dzz/pichome/exportfilecheck.php
Normal file
30
dzz/pichome/exportfilecheck.php
Normal file
@@ -0,0 +1,30 @@
|
|||||||
|
<?php
|
||||||
|
if (!defined('IN_OAOOA')) {
|
||||||
|
exit('Access Denied');
|
||||||
|
}
|
||||||
|
@ignore_user_abort(true);
|
||||||
|
@set_time_limit(0);
|
||||||
|
@ini_set('memory_limit', -1);
|
||||||
|
@ini_set('max_execution_time', 0);
|
||||||
|
|
||||||
|
$appid = isset($_GET['appid']) ? trim($_GET['appid']):0;
|
||||||
|
$processname = 'DZZ_EXPORTCHECKFILE_LOCK_'.$appid;
|
||||||
|
dzz_process::unlock($processname);
|
||||||
|
$locked = true;
|
||||||
|
if (!dzz_process::islocked($processname, 60*5)) {
|
||||||
|
$locked=false;
|
||||||
|
}
|
||||||
|
|
||||||
|
if ($locked) {
|
||||||
|
exit(json_encode( array('error'=>'进程已被锁定请稍后再试')));
|
||||||
|
}
|
||||||
|
$force = isset($_GET['force']) ? intval($_GET['force']):0;
|
||||||
|
$data = C::t('pichome_vapp')->fetch($appid);
|
||||||
|
if(!$data) exit(json_encode(array('error'=>'no data')));
|
||||||
|
if($data['type'] == 0 && $data['state'] == '2'){
|
||||||
|
include_once dzz_libfile('eagleexport');
|
||||||
|
$eagleexport = new eagleexport($data);
|
||||||
|
$return = $eagleexport->execCheckFile();
|
||||||
|
}
|
||||||
|
dzz_process::unlock($processname);
|
||||||
|
|
||||||
@@ -120,7 +120,8 @@ if($operation == 'filelist'){
|
|||||||
if(!empty($tagval)){
|
if(!empty($tagval)){
|
||||||
$tagdata=[];
|
$tagdata=[];
|
||||||
if($appid){
|
if($appid){
|
||||||
foreach(DB::fetch_all("select t.tagname,t.tid,tr.cid from %t t left join %t tr on t.tid = tr.tid where t.tid in(%n) and tr.appid=%s",array('pichome_tag','pichome_tagrelation',$tagval,$appid)) as $tv){
|
|
||||||
|
foreach(DB::fetch_all("select t.tagname,t.tid,tr.cid from %t t left join %t tr on t.tid = tr.tid and tr.appid=%s where t.tid in(%n) ",array('pichome_tag','pichome_tagrelation',$appid,$tagval)) as $tv){
|
||||||
$tagdata[] = array('tagname'=>$tv['tagname'],'tid'=>intval($tv['tid']),'cid'=>$tv['cid']);
|
$tagdata[] = array('tagname'=>$tv['tagname'],'tid'=>intval($tv['tid']),'cid'=>$tv['cid']);
|
||||||
}
|
}
|
||||||
}else{
|
}else{
|
||||||
@@ -128,11 +129,7 @@ if($operation == 'filelist'){
|
|||||||
$tagdata[] = array('tagname'=>$tv['tagname'],'tid'=>intval($tv['tid']));
|
$tagdata[] = array('tagname'=>$tv['tagname'],'tid'=>intval($tv['tid']));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
//print_r($tagdata);die;
|
|
||||||
/* foreach(C::t('pichome_tag')->fetch_all($tagval) as $tv){
|
|
||||||
$tagdata[] = array('tagname'=>$tv['tagname'],'tid'=>intval($tv['tid']));
|
|
||||||
}*/
|
|
||||||
}
|
}
|
||||||
foreach($tagval as $v){
|
foreach($tagval as $v){
|
||||||
$tagwherearr[] = " find_in_set(%d,ra.tag)";
|
$tagwherearr[] = " find_in_set(%d,ra.tag)";
|
||||||
@@ -239,15 +236,7 @@ if($operation == 'filelist'){
|
|||||||
if (isset($_GET['shape'])) {
|
if (isset($_GET['shape'])) {
|
||||||
$shape = trim($_GET['shape']);
|
$shape = trim($_GET['shape']);
|
||||||
$shapes = explode(',', $shape);
|
$shapes = explode(',', $shape);
|
||||||
//指定宽高比
|
|
||||||
// $swidth = 0;
|
|
||||||
// $sheight = 0;
|
|
||||||
// if(isset($_GET['shapesize'])){
|
|
||||||
// $shapesize = trim($_GET['shapesize']);
|
|
||||||
// $shapesizes = explode(':',$shapesize);
|
|
||||||
// $swidth = intval($shapesizes[0]);
|
|
||||||
// $sheight = intval($shapesizes[1]);
|
|
||||||
// }
|
|
||||||
$shapewherearr = [];
|
$shapewherearr = [];
|
||||||
foreach ($shapes as $v) {
|
foreach ($shapes as $v) {
|
||||||
switch ($v) {
|
switch ($v) {
|
||||||
@@ -456,6 +445,7 @@ if($operation == 'filelist'){
|
|||||||
$orderarr[] = ' r.width*r.height '.$asc;
|
$orderarr[] = ' r.width*r.height '.$asc;
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
|
|
||||||
$orderarr[] = ' r.dateline '.$asc;
|
$orderarr[] = ' r.dateline '.$asc;
|
||||||
}
|
}
|
||||||
$ordersql = implode(',',$orderarr);
|
$ordersql = implode(',',$orderarr);
|
||||||
|
|||||||
BIN
dzz/pichome/image/notScreen.png
Normal file
BIN
dzz/pichome/image/notScreen.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 871 B |
Binary file not shown.
|
Before Width: | Height: | Size: 2.0 KiB After Width: | Height: | Size: 5.4 KiB |
@@ -11,6 +11,7 @@
|
|||||||
if (!defined('IN_OAOOA')) {//所有的php文件必须加上此句,防止被外部调用
|
if (!defined('IN_OAOOA')) {//所有的php文件必须加上此句,防止被外部调用
|
||||||
exit('Access Denied');
|
exit('Access Denied');
|
||||||
}
|
}
|
||||||
|
$ismobile = helper_browser::ismobile();
|
||||||
|
|
||||||
$overt = getglobal('setting/overt');
|
$overt = getglobal('setting/overt');
|
||||||
if(!$overt && !$overt = C::t('setting')->fetch('overt')){
|
if(!$overt && !$overt = C::t('setting')->fetch('overt')){
|
||||||
@@ -55,4 +56,9 @@
|
|||||||
}
|
}
|
||||||
|
|
||||||
$pagesetting = json_encode($pagesetting);
|
$pagesetting = json_encode($pagesetting);
|
||||||
include template('page/index');
|
if ($ismobile) {
|
||||||
|
include template('mobile/page/index');
|
||||||
|
} else {
|
||||||
|
include template('pc/page/index');
|
||||||
|
}
|
||||||
|
|
||||||
19
dzz/pichome/initexport.php
Normal file
19
dzz/pichome/initexport.php
Normal file
@@ -0,0 +1,19 @@
|
|||||||
|
<?php
|
||||||
|
if (!defined('IN_OAOOA')) {
|
||||||
|
exit('Access Denied');
|
||||||
|
}
|
||||||
|
@set_time_limit(0);
|
||||||
|
@ini_set('memory_limit', -1);
|
||||||
|
@ini_set('max_execution_time', 0);
|
||||||
|
|
||||||
|
$appid = isset($_GET['appid']) ? trim($_GET['appid']):0;
|
||||||
|
$force = isset($_GET['force']) ? intval($_GET['force']):0;
|
||||||
|
$data = C::t('pichome_vapp')->fetch($appid);
|
||||||
|
if(!$data) exit(json_encode(array('error'=>'no data')));
|
||||||
|
if($data['type'] == 0){
|
||||||
|
include_once dzz_libfile('eagleexport');
|
||||||
|
$eagleexport = new eagleexport($data);
|
||||||
|
$return = $eagleexport->initExport();
|
||||||
|
}
|
||||||
|
exit(json_encode(array('success'=>true)));
|
||||||
|
|
||||||
789
dzz/pichome/js/mobile/pinchzoom.js
Normal file
789
dzz/pichome/js/mobile/pinchzoom.js
Normal file
@@ -0,0 +1,789 @@
|
|||||||
|
/*
|
||||||
|
Copyright (c) Manuel Stofer 2013 - today, PinchZoom.js
|
||||||
|
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||||
|
of this software and associated documentation files (the "Software"), to deal
|
||||||
|
in the Software without restriction, including without limitation the rights
|
||||||
|
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||||
|
copies of the Software, and to permit persons to whom the Software is
|
||||||
|
furnished to do so, subject to the following conditions:
|
||||||
|
The above copyright notice and this permission notice shall be included in
|
||||||
|
all copies or substantial portions of the Software.
|
||||||
|
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||||
|
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||||
|
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||||
|
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||||
|
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||||
|
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
||||||
|
THE SOFTWARE.
|
||||||
|
*/
|
||||||
|
|
||||||
|
// polyfills
|
||||||
|
if (typeof Object.assign != 'function') {
|
||||||
|
// Must be writable: true, enumerable: false, configurable: true
|
||||||
|
Object.defineProperty(Object, "assign", {
|
||||||
|
value: function assign(target, varArgs) { // .length of function is 2
|
||||||
|
if (target == null) { // TypeError if undefined or null
|
||||||
|
throw new TypeError('Cannot convert undefined or null to object');
|
||||||
|
}
|
||||||
|
|
||||||
|
var to = Object(target);
|
||||||
|
|
||||||
|
for (var index = 1; index < arguments.length; index++) {
|
||||||
|
var nextSource = arguments[index];
|
||||||
|
|
||||||
|
if (nextSource != null) { // Skip over if undefined or null
|
||||||
|
for (var nextKey in nextSource) {
|
||||||
|
// Avoid bugs when hasOwnProperty is shadowed
|
||||||
|
if (Object.prototype.hasOwnProperty.call(nextSource, nextKey)) {
|
||||||
|
to[nextKey] = nextSource[nextKey];
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return to;
|
||||||
|
},
|
||||||
|
writable: true,
|
||||||
|
configurable: true
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
if (typeof Array.from != 'function') {
|
||||||
|
Array.from = function (object) {
|
||||||
|
return [].slice.call(object);
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
||||||
|
// utils
|
||||||
|
var buildElement = function(str) {
|
||||||
|
// empty string as title argument required by IE and Edge
|
||||||
|
var tmp = document.implementation.createHTMLDocument('');
|
||||||
|
tmp.body.innerHTML = str;
|
||||||
|
return Array.from(tmp.body.children)[0];
|
||||||
|
};
|
||||||
|
|
||||||
|
var triggerEvent = function(el, name) {
|
||||||
|
var event = document.createEvent('HTMLEvents');
|
||||||
|
event.initEvent(name, true, false);
|
||||||
|
el.dispatchEvent(event);
|
||||||
|
};
|
||||||
|
|
||||||
|
var definePinchZoom = function () {
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Pinch zoom
|
||||||
|
* @version 2.0.0
|
||||||
|
* @author Manuel Stofer <mst@rtp.ch>
|
||||||
|
* @param el
|
||||||
|
* @param options
|
||||||
|
* @constructor
|
||||||
|
*/
|
||||||
|
var PinchZoom = function (el, options) {
|
||||||
|
this.el = el;
|
||||||
|
this.zoomFactor = 1;
|
||||||
|
this.lastScale = 1;
|
||||||
|
this.offset = {
|
||||||
|
x: 0,
|
||||||
|
y: 0
|
||||||
|
};
|
||||||
|
this.options = Object.assign({}, this.defaults, options);
|
||||||
|
this.setupMarkup();
|
||||||
|
this.bindEvents();
|
||||||
|
this.update();
|
||||||
|
// default enable.
|
||||||
|
this.enable();
|
||||||
|
|
||||||
|
},
|
||||||
|
sum = function (a, b) {
|
||||||
|
return a + b;
|
||||||
|
},
|
||||||
|
isCloseTo = function (value, expected) {
|
||||||
|
return value > expected - 0.01 && value < expected + 0.01;
|
||||||
|
};
|
||||||
|
|
||||||
|
PinchZoom.prototype = {
|
||||||
|
|
||||||
|
defaults: {
|
||||||
|
tapZoomFactor: 2,
|
||||||
|
zoomOutFactor: 1.3,
|
||||||
|
animationDuration: 300,
|
||||||
|
maxZoom: 4,
|
||||||
|
minZoom: 0.5,
|
||||||
|
lockDragAxis: false,
|
||||||
|
use2d: true,
|
||||||
|
zoomStartEventName: 'pz_zoomstart',
|
||||||
|
zoomEndEventName: 'pz_zoomend',
|
||||||
|
dragStartEventName: 'pz_dragstart',
|
||||||
|
dragEndEventName: 'pz_dragend',
|
||||||
|
doubleTapEventName: 'pz_doubletap'
|
||||||
|
},
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Event handler for 'dragstart'
|
||||||
|
* @param event
|
||||||
|
*/
|
||||||
|
handleDragStart: function (event) {
|
||||||
|
triggerEvent(this.el, this.options.dragStartEventName);
|
||||||
|
this.stopAnimation();
|
||||||
|
this.lastDragPosition = false;
|
||||||
|
this.hasInteraction = true;
|
||||||
|
this.handleDrag(event);
|
||||||
|
},
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Event handler for 'drag'
|
||||||
|
* @param event
|
||||||
|
*/
|
||||||
|
handleDrag: function (event) {
|
||||||
|
if (this.zoomFactor > 1.0) {
|
||||||
|
var touch = this.getTouches(event)[0];
|
||||||
|
this.drag(touch, this.lastDragPosition);
|
||||||
|
this.offset = this.sanitizeOffset(this.offset);
|
||||||
|
this.lastDragPosition = touch;
|
||||||
|
}
|
||||||
|
},
|
||||||
|
|
||||||
|
handleDragEnd: function () {
|
||||||
|
triggerEvent(this.el, this.options.dragEndEventName);
|
||||||
|
this.end();
|
||||||
|
},
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Event handler for 'zoomstart'
|
||||||
|
* @param event
|
||||||
|
*/
|
||||||
|
handleZoomStart: function (event) {
|
||||||
|
triggerEvent(this.el, this.options.zoomStartEventName);
|
||||||
|
this.stopAnimation();
|
||||||
|
this.lastScale = 1;
|
||||||
|
this.nthZoom = 0;
|
||||||
|
this.lastZoomCenter = false;
|
||||||
|
this.hasInteraction = true;
|
||||||
|
},
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Event handler for 'zoom'
|
||||||
|
* @param event
|
||||||
|
*/
|
||||||
|
handleZoom: function (event, newScale) {
|
||||||
|
// a relative scale factor is used
|
||||||
|
var touchCenter = this.getTouchCenter(this.getTouches(event)),
|
||||||
|
scale = newScale / this.lastScale;
|
||||||
|
this.lastScale = newScale;
|
||||||
|
|
||||||
|
// the first touch events are thrown away since they are not precise
|
||||||
|
this.nthZoom += 1;
|
||||||
|
if (this.nthZoom > 3) {
|
||||||
|
|
||||||
|
this.scale(scale, touchCenter);
|
||||||
|
this.drag(touchCenter, this.lastZoomCenter);
|
||||||
|
}
|
||||||
|
this.lastZoomCenter = touchCenter;
|
||||||
|
},
|
||||||
|
|
||||||
|
handleZoomEnd: function () {
|
||||||
|
triggerEvent(this.el, this.options.zoomEndEventName);
|
||||||
|
this.end();
|
||||||
|
},
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Event handler for 'doubletap'
|
||||||
|
* @param event
|
||||||
|
*/
|
||||||
|
handleDoubleTap: function (event) {
|
||||||
|
var center = this.getTouches(event)[0],
|
||||||
|
zoomFactor = this.zoomFactor > 1 ? 1 : this.options.tapZoomFactor,
|
||||||
|
startZoomFactor = this.zoomFactor,
|
||||||
|
updateProgress = (function (progress) {
|
||||||
|
this.scaleTo(startZoomFactor + progress * (zoomFactor - startZoomFactor), center);
|
||||||
|
}).bind(this);
|
||||||
|
|
||||||
|
if (this.hasInteraction) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
if (startZoomFactor > zoomFactor) {
|
||||||
|
center = this.getCurrentZoomCenter();
|
||||||
|
}
|
||||||
|
|
||||||
|
this.animate(this.options.animationDuration, updateProgress, this.swing);
|
||||||
|
triggerEvent(this.el, this.options.doubleTapEventName);
|
||||||
|
},
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Max / min values for the offset
|
||||||
|
* @param offset
|
||||||
|
* @return {Object} the sanitized offset
|
||||||
|
*/
|
||||||
|
sanitizeOffset: function (offset) {
|
||||||
|
var maxX = (this.zoomFactor - 1) * this.getContainerX(),
|
||||||
|
maxY = (this.zoomFactor - 1) * this.getContainerY(),
|
||||||
|
maxOffsetX = Math.max(maxX, 0),
|
||||||
|
maxOffsetY = Math.max(maxY, 0),
|
||||||
|
minOffsetX = Math.min(maxX, 0),
|
||||||
|
minOffsetY = Math.min(maxY, 0);
|
||||||
|
|
||||||
|
return {
|
||||||
|
x: Math.min(Math.max(offset.x, minOffsetX), maxOffsetX),
|
||||||
|
y: Math.min(Math.max(offset.y, minOffsetY), maxOffsetY)
|
||||||
|
};
|
||||||
|
},
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Scale to a specific zoom factor (not relative)
|
||||||
|
* @param zoomFactor
|
||||||
|
* @param center
|
||||||
|
*/
|
||||||
|
scaleTo: function (zoomFactor, center) {
|
||||||
|
this.scale(zoomFactor / this.zoomFactor, center);
|
||||||
|
},
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Scales the element from specified center
|
||||||
|
* @param scale
|
||||||
|
* @param center
|
||||||
|
*/
|
||||||
|
scale: function (scale, center) {
|
||||||
|
scale = this.scaleZoomFactor(scale);
|
||||||
|
this.addOffset({
|
||||||
|
x: (scale - 1) * (center.x + this.offset.x),
|
||||||
|
y: (scale - 1) * (center.y + this.offset.y)
|
||||||
|
});
|
||||||
|
},
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Scales the zoom factor relative to current state
|
||||||
|
* @param scale
|
||||||
|
* @return the actual scale (can differ because of max min zoom factor)
|
||||||
|
*/
|
||||||
|
scaleZoomFactor: function (scale) {
|
||||||
|
var originalZoomFactor = this.zoomFactor;
|
||||||
|
this.zoomFactor *= scale;
|
||||||
|
this.zoomFactor = Math.min(this.options.maxZoom, Math.max(this.zoomFactor, this.options.minZoom));
|
||||||
|
return this.zoomFactor / originalZoomFactor;
|
||||||
|
},
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Drags the element
|
||||||
|
* @param center
|
||||||
|
* @param lastCenter
|
||||||
|
*/
|
||||||
|
drag: function (center, lastCenter) {
|
||||||
|
if (lastCenter) {
|
||||||
|
if(this.options.lockDragAxis) {
|
||||||
|
// lock scroll to position that was changed the most
|
||||||
|
if(Math.abs(center.x - lastCenter.x) > Math.abs(center.y - lastCenter.y)) {
|
||||||
|
this.addOffset({
|
||||||
|
x: -(center.x - lastCenter.x),
|
||||||
|
y: 0
|
||||||
|
});
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
this.addOffset({
|
||||||
|
y: -(center.y - lastCenter.y),
|
||||||
|
x: 0
|
||||||
|
});
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
this.addOffset({
|
||||||
|
y: -(center.y - lastCenter.y),
|
||||||
|
x: -(center.x - lastCenter.x)
|
||||||
|
});
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Calculates the touch center of multiple touches
|
||||||
|
* @param touches
|
||||||
|
* @return {Object}
|
||||||
|
*/
|
||||||
|
getTouchCenter: function (touches) {
|
||||||
|
return this.getVectorAvg(touches);
|
||||||
|
},
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Calculates the average of multiple vectors (x, y values)
|
||||||
|
*/
|
||||||
|
getVectorAvg: function (vectors) {
|
||||||
|
return {
|
||||||
|
x: vectors.map(function (v) { return v.x; }).reduce(sum) / vectors.length,
|
||||||
|
y: vectors.map(function (v) { return v.y; }).reduce(sum) / vectors.length
|
||||||
|
};
|
||||||
|
},
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Adds an offset
|
||||||
|
* @param offset the offset to add
|
||||||
|
* @return return true when the offset change was accepted
|
||||||
|
*/
|
||||||
|
addOffset: function (offset) {
|
||||||
|
this.offset = {
|
||||||
|
x: this.offset.x + offset.x,
|
||||||
|
y: this.offset.y + offset.y
|
||||||
|
};
|
||||||
|
},
|
||||||
|
|
||||||
|
sanitize: function () {
|
||||||
|
if (this.zoomFactor < this.options.zoomOutFactor) {
|
||||||
|
this.zoomOutAnimation();
|
||||||
|
} else if (this.isInsaneOffset(this.offset)) {
|
||||||
|
this.sanitizeOffsetAnimation();
|
||||||
|
}
|
||||||
|
},
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Checks if the offset is ok with the current zoom factor
|
||||||
|
* @param offset
|
||||||
|
* @return {Boolean}
|
||||||
|
*/
|
||||||
|
isInsaneOffset: function (offset) {
|
||||||
|
var sanitizedOffset = this.sanitizeOffset(offset);
|
||||||
|
return sanitizedOffset.x !== offset.x ||
|
||||||
|
sanitizedOffset.y !== offset.y;
|
||||||
|
},
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Creates an animation moving to a sane offset
|
||||||
|
*/
|
||||||
|
sanitizeOffsetAnimation: function () {
|
||||||
|
var targetOffset = this.sanitizeOffset(this.offset),
|
||||||
|
startOffset = {
|
||||||
|
x: this.offset.x,
|
||||||
|
y: this.offset.y
|
||||||
|
},
|
||||||
|
updateProgress = (function (progress) {
|
||||||
|
this.offset.x = startOffset.x + progress * (targetOffset.x - startOffset.x);
|
||||||
|
this.offset.y = startOffset.y + progress * (targetOffset.y - startOffset.y);
|
||||||
|
this.update();
|
||||||
|
}).bind(this);
|
||||||
|
|
||||||
|
this.animate(
|
||||||
|
this.options.animationDuration,
|
||||||
|
updateProgress,
|
||||||
|
this.swing
|
||||||
|
);
|
||||||
|
},
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Zooms back to the original position,
|
||||||
|
* (no offset and zoom factor 1)
|
||||||
|
*/
|
||||||
|
zoomOutAnimation: function () {
|
||||||
|
var startZoomFactor = this.zoomFactor,
|
||||||
|
zoomFactor = 1,
|
||||||
|
center = this.getCurrentZoomCenter(),
|
||||||
|
updateProgress = (function (progress) {
|
||||||
|
this.scaleTo(startZoomFactor + progress * (zoomFactor - startZoomFactor), center);
|
||||||
|
}).bind(this);
|
||||||
|
|
||||||
|
this.animate(
|
||||||
|
this.options.animationDuration,
|
||||||
|
updateProgress,
|
||||||
|
this.swing
|
||||||
|
);
|
||||||
|
},
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Updates the aspect ratio
|
||||||
|
*/
|
||||||
|
updateAspectRatio: function () {
|
||||||
|
this.setContainerY(this.getContainerX() / this.getAspectRatio());
|
||||||
|
},
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Calculates the initial zoom factor (for the element to fit into the container)
|
||||||
|
* @return the initial zoom factor
|
||||||
|
*/
|
||||||
|
getInitialZoomFactor: function () {
|
||||||
|
return this.container.offsetWidth / this.el.offsetWidth;
|
||||||
|
},
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Calculates the aspect ratio of the element
|
||||||
|
* @return the aspect ratio
|
||||||
|
*/
|
||||||
|
getAspectRatio: function () {
|
||||||
|
return this.el.offsetWidth / this.el.offsetHeight;
|
||||||
|
},
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Calculates the virtual zoom center for the current offset and zoom factor
|
||||||
|
* (used for reverse zoom)
|
||||||
|
* @return {Object} the current zoom center
|
||||||
|
*/
|
||||||
|
getCurrentZoomCenter: function () {
|
||||||
|
|
||||||
|
// uses following formula to calculate the zoom center x value
|
||||||
|
// offset_left / offset_right = zoomcenter_x / (container_x - zoomcenter_x)
|
||||||
|
var length = this.container.offsetWidth * this.zoomFactor,
|
||||||
|
offsetLeft = this.offset.x,
|
||||||
|
offsetRight = length - offsetLeft - this.container.offsetWidth,
|
||||||
|
widthOffsetRatio = offsetLeft / offsetRight,
|
||||||
|
centerX = widthOffsetRatio * this.container.offsetWidth / (widthOffsetRatio + 1),
|
||||||
|
|
||||||
|
// the same for the zoomcenter y
|
||||||
|
height = this.container.offsetHeight * this.zoomFactor,
|
||||||
|
offsetTop = this.offset.y,
|
||||||
|
offsetBottom = height - offsetTop - this.container.offsetHeight,
|
||||||
|
heightOffsetRatio = offsetTop / offsetBottom,
|
||||||
|
centerY = heightOffsetRatio * this.container.offsetHeight / (heightOffsetRatio + 1);
|
||||||
|
|
||||||
|
// prevents division by zero
|
||||||
|
if (offsetRight === 0) { centerX = this.container.offsetWidth; }
|
||||||
|
if (offsetBottom === 0) { centerY = this.container.offsetHeight; }
|
||||||
|
|
||||||
|
return {
|
||||||
|
x: centerX,
|
||||||
|
y: centerY
|
||||||
|
};
|
||||||
|
},
|
||||||
|
|
||||||
|
canDrag: function () {
|
||||||
|
return !isCloseTo(this.zoomFactor, 1);
|
||||||
|
},
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Returns the touches of an event relative to the container offset
|
||||||
|
* @param event
|
||||||
|
* @return array touches
|
||||||
|
*/
|
||||||
|
getTouches: function (event) {
|
||||||
|
var rect = this.container.getBoundingClientRect();
|
||||||
|
var posTop = rect.top + document.body.scrollTop;
|
||||||
|
var posLeft = rect.left + document.body.scrollLeft;
|
||||||
|
|
||||||
|
return Array.prototype.slice.call(event.touches).map(function (touch) {
|
||||||
|
return {
|
||||||
|
x: touch.pageX - posLeft,
|
||||||
|
y: touch.pageY - posTop,
|
||||||
|
};
|
||||||
|
});
|
||||||
|
},
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Animation loop
|
||||||
|
* does not support simultaneous animations
|
||||||
|
* @param duration
|
||||||
|
* @param framefn
|
||||||
|
* @param timefn
|
||||||
|
* @param callback
|
||||||
|
*/
|
||||||
|
animate: function (duration, framefn, timefn, callback) {
|
||||||
|
var startTime = new Date().getTime(),
|
||||||
|
renderFrame = (function () {
|
||||||
|
if (!this.inAnimation) { return; }
|
||||||
|
var frameTime = new Date().getTime() - startTime,
|
||||||
|
progress = frameTime / duration;
|
||||||
|
if (frameTime >= duration) {
|
||||||
|
framefn(1);
|
||||||
|
if (callback) {
|
||||||
|
callback();
|
||||||
|
}
|
||||||
|
this.update();
|
||||||
|
this.stopAnimation();
|
||||||
|
this.update();
|
||||||
|
} else {
|
||||||
|
if (timefn) {
|
||||||
|
progress = timefn(progress);
|
||||||
|
}
|
||||||
|
framefn(progress);
|
||||||
|
this.update();
|
||||||
|
requestAnimationFrame(renderFrame);
|
||||||
|
}
|
||||||
|
}).bind(this);
|
||||||
|
this.inAnimation = true;
|
||||||
|
requestAnimationFrame(renderFrame);
|
||||||
|
},
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Stops the animation
|
||||||
|
*/
|
||||||
|
stopAnimation: function () {
|
||||||
|
this.inAnimation = false;
|
||||||
|
},
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Swing timing function for animations
|
||||||
|
* @param p
|
||||||
|
* @return {Number}
|
||||||
|
*/
|
||||||
|
swing: function (p) {
|
||||||
|
return -Math.cos(p * Math.PI) / 2 + 0.5;
|
||||||
|
},
|
||||||
|
|
||||||
|
getContainerX: function () {
|
||||||
|
return this.container.offsetWidth;
|
||||||
|
},
|
||||||
|
|
||||||
|
getContainerY: function () {
|
||||||
|
return this.container.offsetHeight;
|
||||||
|
},
|
||||||
|
|
||||||
|
setContainerY: function (y) {
|
||||||
|
return this.container.style.height = y + 'px';
|
||||||
|
},
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Creates the expected html structure
|
||||||
|
*/
|
||||||
|
setupMarkup: function () {
|
||||||
|
this.container = buildElement('<div class="pinch-zoom-container"></div>');
|
||||||
|
this.el.parentNode.insertBefore(this.container, this.el);
|
||||||
|
this.container.appendChild(this.el);
|
||||||
|
|
||||||
|
this.container.style.overflow = 'hidden';
|
||||||
|
this.container.style.position = 'relative';
|
||||||
|
|
||||||
|
this.el.style.webkitTransformOrigin = '0% 0%';
|
||||||
|
this.el.style.mozTransformOrigin = '0% 0%';
|
||||||
|
this.el.style.msTransformOrigin = '0% 0%';
|
||||||
|
this.el.style.oTransformOrigin = '0% 0%';
|
||||||
|
this.el.style.transformOrigin = '0% 0%';
|
||||||
|
|
||||||
|
this.el.style.position = 'absolute';
|
||||||
|
},
|
||||||
|
|
||||||
|
end: function () {
|
||||||
|
this.hasInteraction = false;
|
||||||
|
this.sanitize();
|
||||||
|
this.update();
|
||||||
|
},
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Binds all required event listeners
|
||||||
|
*/
|
||||||
|
bindEvents: function () {
|
||||||
|
var self = this;
|
||||||
|
detectGestures(this.container, this);
|
||||||
|
|
||||||
|
window.addEventListener('resize', this.update.bind(this));
|
||||||
|
Array.from(this.el.querySelectorAll('img')).forEach(function(imgEl) {
|
||||||
|
imgEl.addEventListener('load', self.update.bind(self));
|
||||||
|
});
|
||||||
|
|
||||||
|
if (this.el.nodeName === 'IMG') {
|
||||||
|
this.el.addEventListener('load', this.update.bind(this));
|
||||||
|
}
|
||||||
|
},
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Updates the css values according to the current zoom factor and offset
|
||||||
|
*/
|
||||||
|
update: function () {
|
||||||
|
if (this.updatePlaned) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
this.updatePlaned = true;
|
||||||
|
|
||||||
|
window.setTimeout((function () {
|
||||||
|
this.updatePlaned = false;
|
||||||
|
this.updateAspectRatio();
|
||||||
|
|
||||||
|
var zoomFactor = this.getInitialZoomFactor() * this.zoomFactor,
|
||||||
|
offsetX = -this.offset.x / zoomFactor,
|
||||||
|
offsetY = -this.offset.y / zoomFactor,
|
||||||
|
transform3d = 'scale3d(' + zoomFactor + ', ' + zoomFactor + ',1) ' +
|
||||||
|
'translate3d(' + offsetX + 'px,' + offsetY + 'px,0px)',
|
||||||
|
transform2d = 'scale(' + zoomFactor + ', ' + zoomFactor + ') ' +
|
||||||
|
'translate(' + offsetX + 'px,' + offsetY + 'px)',
|
||||||
|
removeClone = (function () {
|
||||||
|
if (this.clone) {
|
||||||
|
this.clone.parentNode.removeChild(this.clone);
|
||||||
|
delete this.clone;
|
||||||
|
}
|
||||||
|
}).bind(this);
|
||||||
|
|
||||||
|
// Scale 3d and translate3d are faster (at least on ios)
|
||||||
|
// but they also reduce the quality.
|
||||||
|
// PinchZoom uses the 3d transformations during interactions
|
||||||
|
// after interactions it falls back to 2d transformations
|
||||||
|
if (!this.options.use2d || this.hasInteraction || this.inAnimation) {
|
||||||
|
this.is3d = true;
|
||||||
|
removeClone();
|
||||||
|
|
||||||
|
this.el.style.webkitTransform = transform3d;
|
||||||
|
this.el.style.mozTransform = transform2d;
|
||||||
|
this.el.style.msTransform = transform2d;
|
||||||
|
this.el.style.oTransform = transform2d;
|
||||||
|
this.el.style.transform = transform3d;
|
||||||
|
} else {
|
||||||
|
// When changing from 3d to 2d transform webkit has some glitches.
|
||||||
|
// To avoid this, a copy of the 3d transformed element is displayed in the
|
||||||
|
// foreground while the element is converted from 3d to 2d transform
|
||||||
|
if (this.is3d) {
|
||||||
|
this.clone = this.el.cloneNode(true);
|
||||||
|
this.clone.style.pointerEvents = 'none';
|
||||||
|
this.container.appendChild(this.clone);
|
||||||
|
window.setTimeout(removeClone, 200);
|
||||||
|
}
|
||||||
|
|
||||||
|
this.el.style.webkitTransform = transform2d;
|
||||||
|
this.el.style.mozTransform = transform2d;
|
||||||
|
this.el.style.msTransform = transform2d;
|
||||||
|
this.el.style.oTransform = transform2d;
|
||||||
|
this.el.style.transform = transform2d;
|
||||||
|
|
||||||
|
this.is3d = false;
|
||||||
|
}
|
||||||
|
}).bind(this), 0);
|
||||||
|
},
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Enables event handling for gestures
|
||||||
|
*/
|
||||||
|
enable: function() {
|
||||||
|
this.enabled = true;
|
||||||
|
},
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Disables event handling for gestures
|
||||||
|
*/
|
||||||
|
disable: function() {
|
||||||
|
this.enabled = false;
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
var detectGestures = function (el, target) {
|
||||||
|
var interaction = null,
|
||||||
|
fingers = 0,
|
||||||
|
lastTouchStart = null,
|
||||||
|
startTouches = null,
|
||||||
|
|
||||||
|
setInteraction = function (newInteraction, event) {
|
||||||
|
if (interaction !== newInteraction) {
|
||||||
|
|
||||||
|
if (interaction && !newInteraction) {
|
||||||
|
switch (interaction) {
|
||||||
|
case "zoom":
|
||||||
|
target.handleZoomEnd(event);
|
||||||
|
break;
|
||||||
|
case 'drag':
|
||||||
|
target.handleDragEnd(event);
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
switch (newInteraction) {
|
||||||
|
case 'zoom':
|
||||||
|
target.handleZoomStart(event);
|
||||||
|
break;
|
||||||
|
case 'drag':
|
||||||
|
target.handleDragStart(event);
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
interaction = newInteraction;
|
||||||
|
},
|
||||||
|
|
||||||
|
updateInteraction = function (event) {
|
||||||
|
if (fingers === 2) {
|
||||||
|
setInteraction('zoom');
|
||||||
|
} else if (fingers === 1 && target.canDrag()) {
|
||||||
|
setInteraction('drag', event);
|
||||||
|
} else {
|
||||||
|
setInteraction(null, event);
|
||||||
|
}
|
||||||
|
},
|
||||||
|
|
||||||
|
targetTouches = function (touches) {
|
||||||
|
return Array.from(touches).map(function (touch) {
|
||||||
|
return {
|
||||||
|
x: touch.pageX,
|
||||||
|
y: touch.pageY
|
||||||
|
};
|
||||||
|
});
|
||||||
|
},
|
||||||
|
|
||||||
|
getDistance = function (a, b) {
|
||||||
|
var x, y;
|
||||||
|
x = a.x - b.x;
|
||||||
|
y = a.y - b.y;
|
||||||
|
return Math.sqrt(x * x + y * y);
|
||||||
|
},
|
||||||
|
|
||||||
|
calculateScale = function (startTouches, endTouches) {
|
||||||
|
var startDistance = getDistance(startTouches[0], startTouches[1]),
|
||||||
|
endDistance = getDistance(endTouches[0], endTouches[1]);
|
||||||
|
return endDistance / startDistance;
|
||||||
|
},
|
||||||
|
|
||||||
|
cancelEvent = function (event) {
|
||||||
|
event.stopPropagation();
|
||||||
|
event.preventDefault();
|
||||||
|
},
|
||||||
|
|
||||||
|
detectDoubleTap = function (event) {
|
||||||
|
var time = (new Date()).getTime();
|
||||||
|
|
||||||
|
if (fingers > 1) {
|
||||||
|
lastTouchStart = null;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (time - lastTouchStart < 300) {
|
||||||
|
cancelEvent(event);
|
||||||
|
|
||||||
|
target.handleDoubleTap(event);
|
||||||
|
switch (interaction) {
|
||||||
|
case "zoom":
|
||||||
|
target.handleZoomEnd(event);
|
||||||
|
break;
|
||||||
|
case 'drag':
|
||||||
|
target.handleDragEnd(event);
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if (fingers === 1) {
|
||||||
|
lastTouchStart = time;
|
||||||
|
}
|
||||||
|
},
|
||||||
|
firstMove = true;
|
||||||
|
|
||||||
|
el.addEventListener('touchstart', function (event) {
|
||||||
|
if(target.enabled) {
|
||||||
|
firstMove = true;
|
||||||
|
fingers = event.touches.length;
|
||||||
|
detectDoubleTap(event);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
el.addEventListener('touchmove', function (event) {
|
||||||
|
if(target.enabled) {
|
||||||
|
if (firstMove) {
|
||||||
|
updateInteraction(event);
|
||||||
|
if (interaction) {
|
||||||
|
cancelEvent(event);
|
||||||
|
}
|
||||||
|
startTouches = targetTouches(event.touches);
|
||||||
|
} else {
|
||||||
|
switch (interaction) {
|
||||||
|
case 'zoom':
|
||||||
|
target.handleZoom(event, calculateScale(startTouches, targetTouches(event.touches)));
|
||||||
|
break;
|
||||||
|
case 'drag':
|
||||||
|
target.handleDrag(event);
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
if (interaction) {
|
||||||
|
cancelEvent(event);
|
||||||
|
target.update();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
firstMove = false;
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
el.addEventListener('touchend', function (event) {
|
||||||
|
if(target.enabled) {
|
||||||
|
fingers = event.touches.length;
|
||||||
|
updateInteraction(event);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
};
|
||||||
|
|
||||||
|
return PinchZoom;
|
||||||
|
};
|
||||||
|
|
||||||
|
var PinchZoom = definePinchZoom();
|
||||||
|
|
||||||
245
dzz/pichome/js/mobile/plug/colorPicker/jquery.minicolors.css
Normal file
245
dzz/pichome/js/mobile/plug/colorPicker/jquery.minicolors.css
Normal file
@@ -0,0 +1,245 @@
|
|||||||
|
.minicolors {
|
||||||
|
position: relative;
|
||||||
|
}
|
||||||
|
|
||||||
|
.minicolors-swatch {
|
||||||
|
position: absolute;
|
||||||
|
vertical-align: middle;
|
||||||
|
background: url(jquery.minicolors.png) -80px 0;
|
||||||
|
border: solid 1px #ccc;
|
||||||
|
cursor: text;
|
||||||
|
padding: 0;
|
||||||
|
margin: 0;
|
||||||
|
display: inline-block;
|
||||||
|
}
|
||||||
|
|
||||||
|
.minicolors-swatch-color {
|
||||||
|
position: absolute;
|
||||||
|
top: 0;
|
||||||
|
left: 0;
|
||||||
|
right: 0;
|
||||||
|
bottom: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
.minicolors input[type=hidden] + .minicolors-swatch {
|
||||||
|
width: 28px;
|
||||||
|
position: static;
|
||||||
|
cursor: pointer;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Panel */
|
||||||
|
.minicolors-panel {
|
||||||
|
position: absolute;
|
||||||
|
width: 173px;
|
||||||
|
height: 152px;
|
||||||
|
background: white;
|
||||||
|
border: solid 1px #CCC;
|
||||||
|
box-shadow: 0 0 20px rgba(0, 0, 0, .2);
|
||||||
|
z-index: 99999;
|
||||||
|
-moz-box-sizing: content-box;
|
||||||
|
-webkit-box-sizing: content-box;
|
||||||
|
box-sizing: content-box;
|
||||||
|
display: none;
|
||||||
|
}
|
||||||
|
|
||||||
|
.minicolors-panel.minicolors-visible {
|
||||||
|
display: block;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Panel positioning */
|
||||||
|
.minicolors-position-top .minicolors-panel {
|
||||||
|
top: -154px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.minicolors-position-right .minicolors-panel {
|
||||||
|
right: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
.minicolors-position-bottom .minicolors-panel {
|
||||||
|
top: auto;
|
||||||
|
}
|
||||||
|
|
||||||
|
.minicolors-position-left .minicolors-panel {
|
||||||
|
left: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
.minicolors-with-opacity .minicolors-panel {
|
||||||
|
width: 194px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.minicolors .minicolors-grid {
|
||||||
|
position: absolute;
|
||||||
|
top: 1px;
|
||||||
|
left: 1px;
|
||||||
|
width: 150px;
|
||||||
|
height: 150px;
|
||||||
|
background: url(jquery.minicolors.png) -120px 0;
|
||||||
|
cursor: crosshair;
|
||||||
|
}
|
||||||
|
|
||||||
|
.minicolors .minicolors-grid-inner {
|
||||||
|
position: absolute;
|
||||||
|
top: 0;
|
||||||
|
left: 0;
|
||||||
|
width: 150px;
|
||||||
|
height: 150px;
|
||||||
|
background: none;
|
||||||
|
}
|
||||||
|
|
||||||
|
.minicolors-slider-saturation .minicolors-grid {
|
||||||
|
background-position: -420px 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
.minicolors-slider-saturation .minicolors-grid-inner {
|
||||||
|
background: url(jquery.minicolors.png) -270px 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
.minicolors-slider-brightness .minicolors-grid {
|
||||||
|
background-position: -570px 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
.minicolors-slider-brightness .minicolors-grid-inner {
|
||||||
|
background: black;
|
||||||
|
}
|
||||||
|
|
||||||
|
.minicolors-slider-wheel .minicolors-grid {
|
||||||
|
background-position: -720px 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
.minicolors-slider,
|
||||||
|
.minicolors-opacity-slider {
|
||||||
|
position: absolute;
|
||||||
|
top: 1px;
|
||||||
|
left: 152px;
|
||||||
|
width: 20px;
|
||||||
|
height: 150px;
|
||||||
|
background: white url(jquery.minicolors.png) 0 0;
|
||||||
|
cursor: row-resize;
|
||||||
|
}
|
||||||
|
|
||||||
|
.minicolors-slider-saturation .minicolors-slider {
|
||||||
|
background-position: -60px 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
.minicolors-slider-brightness .minicolors-slider {
|
||||||
|
background-position: -20px 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
.minicolors-slider-wheel .minicolors-slider {
|
||||||
|
background-position: -20px 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
.minicolors-opacity-slider {
|
||||||
|
left: 173px;
|
||||||
|
background-position: -40px 0;
|
||||||
|
display: none;
|
||||||
|
}
|
||||||
|
|
||||||
|
.minicolors-with-opacity .minicolors-opacity-slider {
|
||||||
|
display: block;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Pickers */
|
||||||
|
.minicolors-grid .minicolors-picker {
|
||||||
|
position: absolute;
|
||||||
|
top: 70px;
|
||||||
|
left: 70px;
|
||||||
|
width: 12px;
|
||||||
|
height: 12px;
|
||||||
|
border: solid 1px black;
|
||||||
|
border-radius: 10px;
|
||||||
|
margin-top: -6px;
|
||||||
|
margin-left: -6px;
|
||||||
|
background: none;
|
||||||
|
}
|
||||||
|
|
||||||
|
.minicolors-grid .minicolors-picker > div {
|
||||||
|
position: absolute;
|
||||||
|
top: 0;
|
||||||
|
left: 0;
|
||||||
|
width: 8px;
|
||||||
|
height: 8px;
|
||||||
|
border-radius: 8px;
|
||||||
|
border: solid 2px white;
|
||||||
|
-moz-box-sizing: content-box;
|
||||||
|
-webkit-box-sizing: content-box;
|
||||||
|
box-sizing: content-box;
|
||||||
|
}
|
||||||
|
|
||||||
|
.minicolors-picker {
|
||||||
|
position: absolute;
|
||||||
|
top: 0;
|
||||||
|
left: 0;
|
||||||
|
width: 18px;
|
||||||
|
height: 2px;
|
||||||
|
background: white;
|
||||||
|
border: solid 1px black;
|
||||||
|
margin-top: -2px;
|
||||||
|
-moz-box-sizing: content-box;
|
||||||
|
-webkit-box-sizing: content-box;
|
||||||
|
box-sizing: content-box;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Inline controls */
|
||||||
|
.minicolors-inline {
|
||||||
|
display: inline-block;
|
||||||
|
}
|
||||||
|
|
||||||
|
.minicolors-inline .minicolors-input {
|
||||||
|
display: none !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
.minicolors-inline .minicolors-panel {
|
||||||
|
position: relative;
|
||||||
|
top: auto;
|
||||||
|
left: auto;
|
||||||
|
box-shadow: none;
|
||||||
|
z-index: auto;
|
||||||
|
display: inline-block;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Default theme */
|
||||||
|
.minicolors-theme-default .minicolors-swatch {
|
||||||
|
top: 5px;
|
||||||
|
left: 5px;
|
||||||
|
width: 18px;
|
||||||
|
height: 18px;
|
||||||
|
}
|
||||||
|
.minicolors-theme-default.minicolors-position-right .minicolors-swatch {
|
||||||
|
left: auto;
|
||||||
|
right: 5px;
|
||||||
|
}
|
||||||
|
.minicolors-theme-default.minicolors {
|
||||||
|
width: auto;
|
||||||
|
display: inline-block;
|
||||||
|
}
|
||||||
|
.minicolors-theme-default .minicolors-input {
|
||||||
|
height: 20px;
|
||||||
|
width: auto;
|
||||||
|
display: inline-block;
|
||||||
|
padding-left: 26px;
|
||||||
|
}
|
||||||
|
.minicolors-theme-default.minicolors-position-right .minicolors-input {
|
||||||
|
padding-right: 26px;
|
||||||
|
padding-left: inherit;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Bootstrap theme */
|
||||||
|
.minicolors-theme-bootstrap .minicolors-swatch {
|
||||||
|
top: 3px;
|
||||||
|
left: 3px;
|
||||||
|
width: 28px;
|
||||||
|
height: 28px;
|
||||||
|
border-radius: 3px;
|
||||||
|
}
|
||||||
|
.minicolors-theme-bootstrap.minicolors-position-right .minicolors-swatch {
|
||||||
|
left: auto;
|
||||||
|
right: 3px;
|
||||||
|
}
|
||||||
|
.minicolors-theme-bootstrap .minicolors-input {
|
||||||
|
padding-left: 44px;
|
||||||
|
}
|
||||||
|
.minicolors-theme-bootstrap.minicolors-position-right .minicolors-input {
|
||||||
|
padding-right: 44px;
|
||||||
|
padding-left: 12px;
|
||||||
|
}
|
||||||
8
dzz/pichome/js/mobile/plug/colorPicker/jquery.minicolors.min.js
vendored
Normal file
8
dzz/pichome/js/mobile/plug/colorPicker/jquery.minicolors.min.js
vendored
Normal file
File diff suppressed because one or more lines are too long
BIN
dzz/pichome/js/mobile/plug/colorPicker/jquery.minicolors.png
Normal file
BIN
dzz/pichome/js/mobile/plug/colorPicker/jquery.minicolors.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 76 KiB |
7814
dzz/pichome/js/mobile/plug/vant/index.css
Normal file
7814
dzz/pichome/js/mobile/plug/vant/index.css
Normal file
File diff suppressed because one or more lines are too long
7
dzz/pichome/js/mobile/plug/vant/vant.min.js
vendored
Normal file
7
dzz/pichome/js/mobile/plug/vant/vant.min.js
vendored
Normal file
File diff suppressed because one or more lines are too long
256
dzz/pichome/js/pc/audioPlay.js
Normal file
256
dzz/pichome/js/pc/audioPlay.js
Normal file
@@ -0,0 +1,256 @@
|
|||||||
|
|
||||||
|
|
||||||
|
// (function(){
|
||||||
|
var isVoice = false;
|
||||||
|
// $(document).on('mouseenter','.bgimage-operation',function(){
|
||||||
|
// $(this).addClass('show');
|
||||||
|
// var status = $(this).data('status');
|
||||||
|
// var type = $(this).data('type');
|
||||||
|
// if(status){
|
||||||
|
// $(this).data('status',false);
|
||||||
|
// if(type == 'video'){
|
||||||
|
// handleVideo($(this));
|
||||||
|
// }
|
||||||
|
// if(type == 'audio'){
|
||||||
|
// handleMusic($(this));
|
||||||
|
// }
|
||||||
|
// }
|
||||||
|
// });
|
||||||
|
|
||||||
|
// $(document).on('mouseleave','.bgimage-operation',function(){
|
||||||
|
// var self = $(this);
|
||||||
|
// self.removeClass('show');
|
||||||
|
// });
|
||||||
|
|
||||||
|
function handleMouseenter(tage){
|
||||||
|
var find = tage.find('.bgimage-operation');
|
||||||
|
find.addClass('show');
|
||||||
|
var status = find.data('status');
|
||||||
|
var type = find.data('type');
|
||||||
|
if(status){
|
||||||
|
find.data('status',false);
|
||||||
|
if(type == 'video'){
|
||||||
|
handleVideo(find);
|
||||||
|
}
|
||||||
|
if(type == 'audio'){
|
||||||
|
handleMusic(find);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
};
|
||||||
|
function handleMouseleave(tage){
|
||||||
|
tage.find('.bgimage-operation').removeClass('show');
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
function handleVideo(box){
|
||||||
|
var str = {
|
||||||
|
loading:false,
|
||||||
|
finish:false,
|
||||||
|
};
|
||||||
|
if(str.loading){
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
var realpath = box.data('playurl');
|
||||||
|
str.loading = true;
|
||||||
|
var html_box = jQuery('<div class="movies-box"><div class="html-loading"><div class="el-loading-mask" style=""><div class="el-loading-spinner"><svg viewBox="25 25 50 50" class="circular"><circle cx="50" cy="50" r="20" fill="none" class="path"></circle></svg></div></div></div></div>');
|
||||||
|
box.append(html_box);
|
||||||
|
var html_video = jQuery('<video src="'+realpath+'" class="video"></video>');
|
||||||
|
var html_progress = jQuery('<div class="progress"><div class="progress-bar" style="width: 0%;"></div></div>');
|
||||||
|
var html_time = jQuery('<div class="time"></div>');
|
||||||
|
var html_voice = jQuery('<div class="circulars voice no"><i class="ri-volume-up-line yes"></i><i class="ri-volume-mute-line no"></i></div>');
|
||||||
|
var video = html_video.get(0);
|
||||||
|
video.muted = true;
|
||||||
|
|
||||||
|
html_box.append(html_video);
|
||||||
|
video.addEventListener('canplay', function () { //加载数据
|
||||||
|
if(!str.finish){
|
||||||
|
html_box.find('.html-loading').remove();
|
||||||
|
html_box.append(html_voice);
|
||||||
|
html_box.append(html_progress);
|
||||||
|
html_box.append(html_time);
|
||||||
|
if(video.paused){
|
||||||
|
video.play();
|
||||||
|
}
|
||||||
|
str.finish = true;
|
||||||
|
}
|
||||||
|
});
|
||||||
|
video.addEventListener('timeupdate',function(){
|
||||||
|
var timeDisplay = video.currentTime;
|
||||||
|
var progre = parseInt(parseInt(timeDisplay)/parseInt(video.duration) * 100, 10);
|
||||||
|
box.find('.progress-bar').css('width',progre+'%');
|
||||||
|
var time = secondToDate(timeDisplay,video.duration);
|
||||||
|
box.find('.time').text(time);
|
||||||
|
});
|
||||||
|
html_voice.click(function(){
|
||||||
|
if(str.finish){
|
||||||
|
if(video.muted){
|
||||||
|
jQuery(this).addClass('yes').removeClass('no');
|
||||||
|
video.muted = false;
|
||||||
|
}else{
|
||||||
|
jQuery(this).addClass('no').removeClass('yes');
|
||||||
|
video.muted = true;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return false;
|
||||||
|
});
|
||||||
|
html_box.bind('mouseenter',function(e){
|
||||||
|
if(str.finish){
|
||||||
|
video.currentTime = 0;
|
||||||
|
video.play();
|
||||||
|
}
|
||||||
|
});
|
||||||
|
var moveStr = {
|
||||||
|
time:true,
|
||||||
|
isMove:false
|
||||||
|
};
|
||||||
|
html_box.bind('mousemove',function(e){
|
||||||
|
var item = jQuery(this);
|
||||||
|
if(moveStr.time){
|
||||||
|
moveStr.time = false;
|
||||||
|
setTimeout(function(){
|
||||||
|
moveStr.isMove = true;
|
||||||
|
},600);
|
||||||
|
}
|
||||||
|
if(video && moveStr.isMove){
|
||||||
|
var parentOffset = item.offset();
|
||||||
|
var relX = e.clientX - parentOffset.left;
|
||||||
|
if(relX > 0 && relX <= item.width()){
|
||||||
|
var progre = parseInt(parseInt(relX)/item.width() * 100, 10);
|
||||||
|
item.find('.progress-bar').css('width',progre+'%');
|
||||||
|
var videoStime = parseInt(progre*(parseInt(video.duration) / 100));
|
||||||
|
video.currentTime = videoStime;
|
||||||
|
var time = secondToDate(videoStime,video.duration);
|
||||||
|
item.find('.time').text(time);
|
||||||
|
if(video.paused){
|
||||||
|
video.play();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
});
|
||||||
|
html_box.bind('mouseleave',function(){
|
||||||
|
var item = jQuery(this);
|
||||||
|
video.pause();
|
||||||
|
moveStr = {
|
||||||
|
time:true,
|
||||||
|
isMove:false
|
||||||
|
};
|
||||||
|
item.find('.progress-bar').css('width','0%');
|
||||||
|
});
|
||||||
|
};
|
||||||
|
function handleMusic(box){
|
||||||
|
var str = {
|
||||||
|
loading:false,
|
||||||
|
finish:false,
|
||||||
|
fmousemove:0,
|
||||||
|
isplay:false,
|
||||||
|
};
|
||||||
|
if(str.loading){
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
str.loading = true;
|
||||||
|
var html_box = jQuery('<div class="movies-box"><div class="html-loading"><div class="el-loading-mask" style=""><div class="el-loading-spinner"><svg viewBox="25 25 50 50" class="circular"><circle cx="50" cy="50" r="20" fill="none" class="path"></circle></svg></div></div></div></div>');
|
||||||
|
var html_time = jQuery('<div class="time"></div>');
|
||||||
|
var html_line = jQuery('<div class="line"></div>');
|
||||||
|
var html_voice = jQuery('<div class="circulars voice no"><i class="ri-pause-line yes"></i><i class="ri-play-line no"></i></div>');
|
||||||
|
box.append(html_box);
|
||||||
|
var wavesurfer = WaveSurfer.create({
|
||||||
|
container: html_box.get(0),
|
||||||
|
waveColor: '#888888',
|
||||||
|
progressColor: 'purple',
|
||||||
|
hideScrollbar:true,
|
||||||
|
height:box.closest('.each-piece').find('.el-image__inner').height(),
|
||||||
|
});
|
||||||
|
wavesurfer.load(box.data('playurl'));
|
||||||
|
wavesurfer.on("ready", function(){
|
||||||
|
if(!str.finish){
|
||||||
|
html_box.find('.html-loading').remove();
|
||||||
|
html_box.append(html_voice);
|
||||||
|
html_box.append(html_time);
|
||||||
|
html_box.append(html_line);
|
||||||
|
var timeDisplay = parseInt(wavesurfer.getCurrentTime());
|
||||||
|
var count = parseInt(wavesurfer.getDuration());
|
||||||
|
var time = secondToDate(timeDisplay,count);
|
||||||
|
html_box.find('.time').text(time);
|
||||||
|
if(str.isplay && isVoice){
|
||||||
|
wavesurfer.play();
|
||||||
|
}
|
||||||
|
str.finish = true;
|
||||||
|
}
|
||||||
|
});
|
||||||
|
wavesurfer.on("audioprocess", function(){
|
||||||
|
isVoice = true;
|
||||||
|
var timeDisplay = parseInt(wavesurfer.getCurrentTime());
|
||||||
|
var count = parseInt(wavesurfer.getDuration());
|
||||||
|
var time = secondToDate(timeDisplay,count);
|
||||||
|
html_box.find('.time').text(time);
|
||||||
|
});
|
||||||
|
wavesurfer.on("seek", function(){
|
||||||
|
if(str.isplay){
|
||||||
|
wavesurfer.play();
|
||||||
|
}
|
||||||
|
});
|
||||||
|
wavesurfer.on("play", function(){
|
||||||
|
html_voice.removeClass('no').addClass('yes');
|
||||||
|
});
|
||||||
|
wavesurfer.on("pause", function(){
|
||||||
|
html_voice.removeClass('yes').addClass('no');
|
||||||
|
});
|
||||||
|
html_voice.click(function(){
|
||||||
|
if(str.isplay && str.finish){
|
||||||
|
wavesurfer.playPause();
|
||||||
|
}
|
||||||
|
|
||||||
|
});
|
||||||
|
html_box.bind('mouseenter',function(e){
|
||||||
|
str.isplay = true;
|
||||||
|
if(str.finish && isVoice){
|
||||||
|
var imgHeight = $(this).closest('.each-piece').find('.el-image__inner').height()
|
||||||
|
wavesurfer.setHeight(imgHeight);
|
||||||
|
wavesurfer.play(0);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
html_box.bind('mousemove',function(e){
|
||||||
|
if(!str.finish){
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
var clientX = e.clientX;
|
||||||
|
var parentOffset = jQuery(this).offset();
|
||||||
|
var relX = clientX - (parentOffset.left+1);
|
||||||
|
if(relX<=0){
|
||||||
|
relX = 0;
|
||||||
|
}
|
||||||
|
if(relX>=jQuery(this).width()){
|
||||||
|
relX = jQuery(this).width();
|
||||||
|
}
|
||||||
|
str.fmousemove = relX;
|
||||||
|
// if(_filemanage.view == 2){
|
||||||
|
// jQuery(this).find('.line').css('left',parseInt(relX));
|
||||||
|
// }else{
|
||||||
|
var WaveHeight = jQuery(this).find('wave').height();
|
||||||
|
jQuery(this).find('.line').css({
|
||||||
|
left:parseInt(relX),
|
||||||
|
height:WaveHeight
|
||||||
|
});
|
||||||
|
// }
|
||||||
|
});
|
||||||
|
html_box.bind('mouseleave',function(){
|
||||||
|
str.isplay = false;
|
||||||
|
if(str.finish){
|
||||||
|
wavesurfer.pause();
|
||||||
|
}
|
||||||
|
});
|
||||||
|
};
|
||||||
|
function secondToDate(result,count){
|
||||||
|
var h = Math.floor(result / 3600) < 10 ? '0'+Math.floor(result / 3600) : Math.floor(result / 3600);
|
||||||
|
var m = Math.floor((result / 60 % 60)) < 10 ? '0' + Math.floor((result / 60 % 60)) : Math.floor((result / 60 % 60));
|
||||||
|
var s = Math.floor((result % 60)) < 10 ? '0' + Math.floor((result % 60)) : Math.floor((result % 60));
|
||||||
|
if(count >= 3600){
|
||||||
|
return result = h + ":" + m + ":" + s;
|
||||||
|
}else if(count >= 60){
|
||||||
|
return result = m + ":" + s;
|
||||||
|
}else{
|
||||||
|
return result = s;
|
||||||
|
}
|
||||||
|
};
|
||||||
|
// })();
|
||||||
1501
dzz/pichome/js/pc/headerMethods.js
Normal file
1501
dzz/pichome/js/pc/headerMethods.js
Normal file
File diff suppressed because it is too large
Load Diff
186
dzz/pichome/js/pc/headerWatch.js
Normal file
186
dzz/pichome/js/pc/headerWatch.js
Normal file
@@ -0,0 +1,186 @@
|
|||||||
|
var headerWatch = {
|
||||||
|
filterText(val){
|
||||||
|
var self = this;
|
||||||
|
self.$refs.tree[0].filter(val);
|
||||||
|
},
|
||||||
|
ParamsTagData(val){
|
||||||
|
var fstr = {};
|
||||||
|
var str1 = {};
|
||||||
|
if(this.GetParamsInit.tag.length){
|
||||||
|
for(var x in this.GetParamsInit.tag){
|
||||||
|
var p = this.GetParamsInit.tag[x];
|
||||||
|
if(fstr[p.cid]){
|
||||||
|
fstr[p.cid].text.push(p.tagname);
|
||||||
|
fstr[p.cid].value.push(p.tid);
|
||||||
|
}else{
|
||||||
|
fstr[p.cid] = {
|
||||||
|
search:'',
|
||||||
|
text:[p.tagname],
|
||||||
|
data:[],
|
||||||
|
value:[p.tid],
|
||||||
|
page:1,
|
||||||
|
finish:false,
|
||||||
|
loading:false
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
for(var i in val){
|
||||||
|
if(fstr[val[i].cid]){
|
||||||
|
fstr[val[i].cid].text = fstr[val[i].cid].text.join(',');
|
||||||
|
str1[val[i].cid] = fstr[val[i].cid];
|
||||||
|
}else{
|
||||||
|
str1[val[i].cid] = {
|
||||||
|
search:'',
|
||||||
|
text:'',
|
||||||
|
data:[],
|
||||||
|
page:1,
|
||||||
|
finish:false,
|
||||||
|
loading:false,
|
||||||
|
value:[],
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
|
this.modelParamsTag = str1;
|
||||||
|
},
|
||||||
|
GetParamsInit:{
|
||||||
|
handler(item){
|
||||||
|
if(item){
|
||||||
|
for(var i in item){
|
||||||
|
if(i == 'tag' && item[i]){
|
||||||
|
var newArrtid = [];
|
||||||
|
var newArrtxt = [];
|
||||||
|
var classs = {};
|
||||||
|
for(var t in item[i]){
|
||||||
|
newArrtid.push(item[i][t].tid);
|
||||||
|
newArrtxt.push(item[i][t].tagname);
|
||||||
|
}
|
||||||
|
var tagfid = localStorage.getItem("tagfid");
|
||||||
|
if(tagfid){
|
||||||
|
this.tagData.checkedsFid = tagfid;
|
||||||
|
}
|
||||||
|
this.tagData.checkedsId = newArrtid;
|
||||||
|
this.tagData.checkedstxt = newArrtxt.join(',');
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
},
|
||||||
|
deep:true
|
||||||
|
},
|
||||||
|
'link.val':debounce(function(val){//链接输入
|
||||||
|
VuexStore.commit('SetParams',{key:'linkval',val:val});
|
||||||
|
if(!this.FirstLoad&&val){
|
||||||
|
VuexStore.dispatch('handleHash');
|
||||||
|
}
|
||||||
|
},800),
|
||||||
|
'desc.val':debounce(function(val){//注释输入
|
||||||
|
VuexStore.commit('SetParams',{key:'descval',val:val});
|
||||||
|
if(!this.FirstLoad&&val){
|
||||||
|
VuexStore.dispatch('handleHash');
|
||||||
|
}
|
||||||
|
},800),
|
||||||
|
'duration.start':debounce(function(val){//时长输入
|
||||||
|
if(val || this.duration.end){
|
||||||
|
var str = val+'_'+this.duration.end;
|
||||||
|
VuexStore.commit('SetParams',{key:'duration',val:str});
|
||||||
|
VuexStore.commit('SetParams',{key:'dunit',val:this.duration.dunit});
|
||||||
|
if(!this.FirstLoad){
|
||||||
|
VuexStore.dispatch('handleHash');
|
||||||
|
}
|
||||||
|
}else{
|
||||||
|
if(!this.FirstLoad){
|
||||||
|
this.handleClickDelete('duration');
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
},800),
|
||||||
|
'duration.end':debounce(function(val){//时长输入
|
||||||
|
if(val || this.duration.start){
|
||||||
|
var str = this.duration.start+'_'+val;
|
||||||
|
VuexStore.commit('SetParams',{key:'duration',val:str});
|
||||||
|
VuexStore.commit('SetParams',{key:'dunit',val:this.duration.dunit});
|
||||||
|
if(!this.FirstLoad){
|
||||||
|
VuexStore.dispatch('handleHash');
|
||||||
|
}
|
||||||
|
}else{
|
||||||
|
if(!this.FirstLoad){
|
||||||
|
this.handleClickDelete('duration');
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
},800),
|
||||||
|
'wsize.start':debounce(function(val){//尺寸宽
|
||||||
|
if(val || this.wsize.end){
|
||||||
|
var str = val+'_'+this.wsize.end;
|
||||||
|
VuexStore.commit('SetParams',{key:'wsize',val:str});
|
||||||
|
}else{
|
||||||
|
VuexStore.commit('SetParams',{key:'wsize',val:''});
|
||||||
|
}
|
||||||
|
if(!this.FirstLoad){
|
||||||
|
VuexStore.dispatch('handleHash');
|
||||||
|
}
|
||||||
|
},800),
|
||||||
|
'wsize.end':debounce(function(val){//尺寸宽
|
||||||
|
if(val || this.wsize.start){
|
||||||
|
var str = this.wsize.start+'_'+val;
|
||||||
|
VuexStore.commit('SetParams',{key:'wsize',val:str});
|
||||||
|
}else{
|
||||||
|
VuexStore.commit('SetParams',{key:'wsize',val:''});
|
||||||
|
}
|
||||||
|
if(!this.FirstLoad){
|
||||||
|
VuexStore.dispatch('handleHash');
|
||||||
|
}
|
||||||
|
},800),
|
||||||
|
'hsize.start':debounce(function(val){//尺寸高
|
||||||
|
if(val || this.hsize.end){
|
||||||
|
var str = val+'_'+this.hsize.end;
|
||||||
|
VuexStore.commit('SetParams',{key:'hsize',val:str});
|
||||||
|
}else{
|
||||||
|
VuexStore.commit('SetParams',{key:'hsize',val:''});
|
||||||
|
}
|
||||||
|
if(!this.FirstLoad){
|
||||||
|
VuexStore.dispatch('handleHash');
|
||||||
|
}
|
||||||
|
},800),
|
||||||
|
'hsize.end':debounce(function(val){//尺寸高
|
||||||
|
if(val || this.hsize.start){
|
||||||
|
var str = this.hsize.start+'_'+val;
|
||||||
|
VuexStore.commit('SetParams',{key:'hsize',val:str});
|
||||||
|
}else{
|
||||||
|
VuexStore.commit('SetParams',{key:'hsize',val:''});
|
||||||
|
}
|
||||||
|
if(!this.FirstLoad){
|
||||||
|
VuexStore.dispatch('handleHash');
|
||||||
|
}
|
||||||
|
},800),
|
||||||
|
'GetParams.shape':{
|
||||||
|
handler(val){
|
||||||
|
if(val){
|
||||||
|
var data = val.split(',');
|
||||||
|
if(data.indexOf('自定义')>-1){
|
||||||
|
data.splice(data.indexOf('自定义'),1);
|
||||||
|
this.shape.txt = data.join(',');
|
||||||
|
}else{
|
||||||
|
this.shape.txt = val;
|
||||||
|
}
|
||||||
|
}else{
|
||||||
|
this.shape.txt = '';
|
||||||
|
}
|
||||||
|
},
|
||||||
|
deep:true,
|
||||||
|
},
|
||||||
|
'shape.width':debounce(function(val){
|
||||||
|
this.handleWatchShape();
|
||||||
|
},800),
|
||||||
|
'shape.height':debounce(function(val){
|
||||||
|
this.handleWatchShape();
|
||||||
|
},800),
|
||||||
|
GetclassifyInit(val){
|
||||||
|
this.classify.text = val;
|
||||||
|
}
|
||||||
|
}
|
||||||
8
dzz/pichome/js/pc/jquery.mousewheel.min.js
vendored
Normal file
8
dzz/pichome/js/pc/jquery.mousewheel.min.js
vendored
Normal file
@@ -0,0 +1,8 @@
|
|||||||
|
/*!
|
||||||
|
* jQuery Mousewheel 3.1.13
|
||||||
|
*
|
||||||
|
* Copyright 2015 jQuery Foundation and other contributors
|
||||||
|
* Released under the MIT license.
|
||||||
|
* http://jquery.org/license
|
||||||
|
*/
|
||||||
|
!function(a){"function"==typeof define&&define.amd?define(["jquery"],a):"object"==typeof exports?module.exports=a:a(jQuery)}(function(a){function b(b){var g=b||window.event,h=i.call(arguments,1),j=0,l=0,m=0,n=0,o=0,p=0;if(b=a.event.fix(g),b.type="mousewheel","detail"in g&&(m=-1*g.detail),"wheelDelta"in g&&(m=g.wheelDelta),"wheelDeltaY"in g&&(m=g.wheelDeltaY),"wheelDeltaX"in g&&(l=-1*g.wheelDeltaX),"axis"in g&&g.axis===g.HORIZONTAL_AXIS&&(l=-1*m,m=0),j=0===m?l:m,"deltaY"in g&&(m=-1*g.deltaY,j=m),"deltaX"in g&&(l=g.deltaX,0===m&&(j=-1*l)),0!==m||0!==l){if(1===g.deltaMode){var q=a.data(this,"mousewheel-line-height");j*=q,m*=q,l*=q}else if(2===g.deltaMode){var r=a.data(this,"mousewheel-page-height");j*=r,m*=r,l*=r}if(n=Math.max(Math.abs(m),Math.abs(l)),(!f||f>n)&&(f=n,d(g,n)&&(f/=40)),d(g,n)&&(j/=40,l/=40,m/=40),j=Math[j>=1?"floor":"ceil"](j/f),l=Math[l>=1?"floor":"ceil"](l/f),m=Math[m>=1?"floor":"ceil"](m/f),k.settings.normalizeOffset&&this.getBoundingClientRect){var s=this.getBoundingClientRect();o=b.clientX-s.left,p=b.clientY-s.top}return b.deltaX=l,b.deltaY=m,b.deltaFactor=f,b.offsetX=o,b.offsetY=p,b.deltaMode=0,h.unshift(b,j,l,m),e&&clearTimeout(e),e=setTimeout(c,200),(a.event.dispatch||a.event.handle).apply(this,h)}}function c(){f=null}function d(a,b){return k.settings.adjustOldDeltas&&"mousewheel"===a.type&&b%120===0}var e,f,g=["wheel","mousewheel","DOMMouseScroll","MozMousePixelScroll"],h="onwheel"in document||document.documentMode>=9?["wheel"]:["mousewheel","DomMouseScroll","MozMousePixelScroll"],i=Array.prototype.slice;if(a.event.fixHooks)for(var j=g.length;j;)a.event.fixHooks[g[--j]]=a.event.mouseHooks;var k=a.event.special.mousewheel={version:"3.1.12",setup:function(){if(this.addEventListener)for(var c=h.length;c;)this.addEventListener(h[--c],b,!1);else this.onmousewheel=b;a.data(this,"mousewheel-line-height",k.getLineHeight(this)),a.data(this,"mousewheel-page-height",k.getPageHeight(this))},teardown:function(){if(this.removeEventListener)for(var c=h.length;c;)this.removeEventListener(h[--c],b,!1);else this.onmousewheel=null;a.removeData(this,"mousewheel-line-height"),a.removeData(this,"mousewheel-page-height")},getLineHeight:function(b){var c=a(b),d=c["offsetParent"in a.fn?"offsetParent":"parent"]();return d.length||(d=a("body")),parseInt(d.css("fontSize"),10)||parseInt(c.css("fontSize"),10)||16},getPageHeight:function(b){return a(b).height()},settings:{adjustOldDeltas:!0,normalizeOffset:!0}};a.fn.extend({mousewheel:function(a){return a?this.bind("mousewheel",a):this.trigger("mousewheel")},unmousewheel:function(a){return this.unbind("mousewheel",a)}})});
|
||||||
75
dzz/pichome/js/pc/plug/DomResize.js
Normal file
75
dzz/pichome/js/pc/plug/DomResize.js
Normal file
@@ -0,0 +1,75 @@
|
|||||||
|
//监听div大小变化
|
||||||
|
(function($, h, c) {
|
||||||
|
var a = $([]),
|
||||||
|
e = $.resize = $.extend($.resize, {}),
|
||||||
|
i,
|
||||||
|
k = "setTimeout",
|
||||||
|
j = "resize",
|
||||||
|
d = j + "-special-event",
|
||||||
|
b = "delay",
|
||||||
|
f = "throttleWindow";
|
||||||
|
e[b] = 250;
|
||||||
|
e[f] = true;
|
||||||
|
$.event.special[j] = {
|
||||||
|
setup: function() {
|
||||||
|
if (!e[f] && this[k]) {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
var l = $(this);
|
||||||
|
a = a.add(l);
|
||||||
|
$.data(this, d, {
|
||||||
|
w: l.width(),
|
||||||
|
h: l.height()
|
||||||
|
});
|
||||||
|
if (a.length === 1) {
|
||||||
|
g();
|
||||||
|
}
|
||||||
|
},
|
||||||
|
teardown: function() {
|
||||||
|
if (!e[f] && this[k]) {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
var l = $(this);
|
||||||
|
a = a.not(l);
|
||||||
|
l.removeData(d);
|
||||||
|
if (!a.length) {
|
||||||
|
clearTimeout(i);
|
||||||
|
}
|
||||||
|
},
|
||||||
|
add: function(l) {
|
||||||
|
if (!e[f] && this[k]) {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
var n;
|
||||||
|
function m(s, o, p) {
|
||||||
|
var q = $(this),
|
||||||
|
r = $.data(this, d);
|
||||||
|
r.w = o !== c ? o: q.width();
|
||||||
|
r.h = p !== c ? p: q.height();
|
||||||
|
n.apply(this, arguments);
|
||||||
|
}
|
||||||
|
if ($.isFunction(l)) {
|
||||||
|
n = l;
|
||||||
|
return m;
|
||||||
|
} else {
|
||||||
|
n = l.handler;
|
||||||
|
l.handler = m;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
};
|
||||||
|
function g() {
|
||||||
|
i = h[k](function() {
|
||||||
|
a.each(function() {
|
||||||
|
var n = $(this),
|
||||||
|
m = n.width(),
|
||||||
|
l = n.height(),
|
||||||
|
o = $.data(this, d);
|
||||||
|
if (m !== o.w || l !== o.h) {
|
||||||
|
n.trigger(j, [o.w = m, o.h = l]);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
g();
|
||||||
|
},
|
||||||
|
e[b]);
|
||||||
|
}
|
||||||
|
})(jQuery, this);
|
||||||
1
dzz/pichome/js/pc/plug/element-ui.js
Normal file
1
dzz/pichome/js/pc/plug/element-ui.js
Normal file
File diff suppressed because one or more lines are too long
2
dzz/pichome/js/pc/plug/sortable.min.js
vendored
Normal file
2
dzz/pichome/js/pc/plug/sortable.min.js
vendored
Normal file
File diff suppressed because one or more lines are too long
6275
dzz/pichome/js/pc/plug/wavesurfer.js
Normal file
6275
dzz/pichome/js/pc/plug/wavesurfer.js
Normal file
File diff suppressed because it is too large
Load Diff
197
dzz/pichome/js/pc/row-grid.js
Normal file
197
dzz/pichome/js/pc/row-grid.js
Normal file
@@ -0,0 +1,197 @@
|
|||||||
|
var ImgRowGrid = {
|
||||||
|
ImgRowGridInit(type){
|
||||||
|
var self = this;
|
||||||
|
if(type == 'append') {
|
||||||
|
self.ImgRowGridCompute(type);
|
||||||
|
}else if(type == 'refresh'){
|
||||||
|
|
||||||
|
self.ImgRowGridCompute();
|
||||||
|
}else{
|
||||||
|
self.ImgRowGridCompute();
|
||||||
|
}
|
||||||
|
},
|
||||||
|
ImgRowGridCompute(type){
|
||||||
|
var self = this;
|
||||||
|
var Margin = self.RowgridParam.Margin
|
||||||
|
if(type == 'append'){
|
||||||
|
// self.RowgridParam.perpage += self.GetimgParameter.perpage;
|
||||||
|
}else{
|
||||||
|
self.RowgridParam.maxNewtop = 0;
|
||||||
|
self.RowgridParam.maxNewLeft = 0;
|
||||||
|
self.RowgridParam.rowElems = [];
|
||||||
|
self.RowgridParam.rowWidth = 0;
|
||||||
|
self.RowgridParam.perpage = 0;
|
||||||
|
self.SurplusImgdatas = [];
|
||||||
|
var OtherHeight = 0
|
||||||
|
if(self.InformationShow.indexOf('name')>-1 || self.InformationShow.indexOf('extension')>-1){
|
||||||
|
OtherHeight += 45;
|
||||||
|
}
|
||||||
|
if(self.InformationShow.indexOf('other')>-1){
|
||||||
|
OtherHeight += 20;
|
||||||
|
}
|
||||||
|
self.RowgridParam.OtherHeight = OtherHeight;
|
||||||
|
}
|
||||||
|
|
||||||
|
var arr = {};
|
||||||
|
if(Object.keys(self.SurplusImgdatas).length){
|
||||||
|
for(var s in self.SurplusImgdatas){
|
||||||
|
arr[s] = JSON.parse(JSON.stringify(self.SurplusImgdatas[s]));
|
||||||
|
}
|
||||||
|
self.RowgridParam.rowWidth = 0;
|
||||||
|
self.RowgridParam.rowElems = [];
|
||||||
|
self.RowgridParam.maxNewLeft = 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
for (var i = self.RowgridParam.perpage; i < self.imgdatas.length; ++i) {
|
||||||
|
var str = JSON.parse(JSON.stringify(self.imgdatas[i]));
|
||||||
|
var rid = str.rid;
|
||||||
|
arr[rid] = str;
|
||||||
|
var w = parseInt(arr[rid]['width']);
|
||||||
|
var h = parseInt(arr[rid]['height']);
|
||||||
|
var r = w / h;
|
||||||
|
var r1 = h / w;
|
||||||
|
if (h > 360) {
|
||||||
|
h = 360;
|
||||||
|
w = r * h;
|
||||||
|
} else if (w < 360) {
|
||||||
|
w = 360;
|
||||||
|
h = 360;
|
||||||
|
}
|
||||||
|
arr[rid]['pwidth'] = w;
|
||||||
|
arr[rid]['pheight'] = h;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
var containerWidth = $('.rowGrids-box').width();
|
||||||
|
|
||||||
|
|
||||||
|
var count = Object.keys(arr).length-Object.keys(self.SurplusImgdatas).length;
|
||||||
|
|
||||||
|
self.RowgridParam.perpage += count;
|
||||||
|
for(var index in arr){
|
||||||
|
var item = arr[index];
|
||||||
|
self.RowgridParam.rowWidth += item['pwidth'];
|
||||||
|
self.RowgridParam.rowElems.push(index);
|
||||||
|
var fdiiff = self.RowgridParam.rowWidth + Margin * (self.RowgridParam.rowElems.length - 1);
|
||||||
|
var diff = fdiiff - containerWidth;//多出来的宽度
|
||||||
|
var nrOfElems = self.RowgridParam.rowElems.length;//一行的个数
|
||||||
|
if (fdiiff > containerWidth){
|
||||||
|
var widthDiff = 0,maxNewHeight = 0;
|
||||||
|
for(var rowElemIndex in self.RowgridParam.rowElems){
|
||||||
|
var rid = self.RowgridParam.rowElems[rowElemIndex];
|
||||||
|
// if(arr[rid]){
|
||||||
|
var rowElemWidth = arr[rid]['pwidth'];//获取一行每个都宽度
|
||||||
|
var rowElemHeight = arr[rid]['pheight'];//获取一行每个都宽度
|
||||||
|
// }else{
|
||||||
|
|
||||||
|
// var rowElemWidth = self.SurplusImgdatas[rid]['pwidth'];//获取一行每个都宽度
|
||||||
|
// var rowElemHeight = self.SurplusImgdatas[rid]['pheight'];//获取一行每个都宽度
|
||||||
|
// }
|
||||||
|
var newWidth = rowElemWidth - (rowElemWidth / self.RowgridParam.rowWidth) * diff;//新宽度
|
||||||
|
var newHeight = Math.round(rowElemHeight * (newWidth / rowElemWidth));//新高度
|
||||||
|
if (widthDiff + 1 - newWidth % 1 >= 0.5) {
|
||||||
|
widthDiff -= newWidth % 1;
|
||||||
|
newWidth = Math.floor(newWidth);
|
||||||
|
} else {
|
||||||
|
widthDiff += 1 - newWidth % 1;
|
||||||
|
newWidth = Math.ceil(newWidth);
|
||||||
|
}
|
||||||
|
if (newHeight > maxNewHeight){
|
||||||
|
maxNewHeight = newHeight;
|
||||||
|
}
|
||||||
|
arr[rid]['pwidth'] = newWidth;
|
||||||
|
arr[rid]['pheight'] = maxNewHeight;
|
||||||
|
arr[rid]['ptop'] = self.RowgridParam.maxNewtop;
|
||||||
|
arr[rid]['pbottom'] = self.RowgridParam.maxNewtop+maxNewHeight+self.RowgridParam.OtherHeight;
|
||||||
|
if(rowElemIndex > 0){
|
||||||
|
arr[rid]['pleft'] = self.RowgridParam.maxNewLeft;
|
||||||
|
}else{
|
||||||
|
arr[rid]['pleft'] = 0;
|
||||||
|
}
|
||||||
|
self.RowgridParam.maxNewLeft += newWidth + Margin;
|
||||||
|
|
||||||
|
}
|
||||||
|
for(var frowElemIndex in self.RowgridParam.rowElems){
|
||||||
|
var rowElem = self.RowgridParam.rowElems[frowElemIndex];
|
||||||
|
var height = arr[rowElem]['pheight'];//获取一行每个都宽度
|
||||||
|
if(height<maxNewHeight){
|
||||||
|
// arr[rowElem]['pbottom'] = self.RowgridParam.maxNewtop+maxNewHeight+self.RowgridParam.OtherHeight;
|
||||||
|
arr[rowElem]['pbottom'] += maxNewHeight-height;
|
||||||
|
arr[rowElem]['pheight'] = maxNewHeight;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
self.RowgridParam.maxNewtop += maxNewHeight + Margin +self.RowgridParam.OtherHeight
|
||||||
|
self.RowgridParam.rowElems = [];
|
||||||
|
self.RowgridParam.rowWidth = 0;
|
||||||
|
self.RowgridParam.maxNewLeft = 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
var surplusheight = 0;
|
||||||
|
self.SurplusImgdatas = {};
|
||||||
|
if (self.RowgridParam.rowElems.length) {
|
||||||
|
var maxNewHeight = 0;
|
||||||
|
for(var f in self.RowgridParam.rowElems){
|
||||||
|
var rowElem = self.RowgridParam.rowElems[f];
|
||||||
|
var rowElemWidth = arr[rowElem].pwidth;//获取一行每个都宽度
|
||||||
|
var rowElemHeight = arr[rowElem].pheight;//获取一行每个都宽度
|
||||||
|
arr[rowElem]['pwidth'] = rowElemWidth;
|
||||||
|
arr[rowElem]['pheight'] = rowElemHeight;
|
||||||
|
arr[rowElem]['ptop'] = self.RowgridParam.maxNewtop;
|
||||||
|
arr[rowElem]['pbottom'] = self.RowgridParam.maxNewtop+rowElemHeight+self.RowgridParam.OtherHeight;
|
||||||
|
if (rowElemHeight > maxNewHeight){
|
||||||
|
maxNewHeight = rowElemHeight;
|
||||||
|
}
|
||||||
|
if(f > 0){
|
||||||
|
arr[rowElem]['pleft'] = self.RowgridParam.maxNewLeft;
|
||||||
|
}else{
|
||||||
|
arr[rowElem]['pleft'] = 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
self.RowgridParam.maxNewLeft += rowElemWidth + Margin;
|
||||||
|
}
|
||||||
|
for(var ff in self.RowgridParam.rowElems){
|
||||||
|
var rowElem = self.RowgridParam.rowElems[ff];
|
||||||
|
var height = arr[rowElem]['pheight'];//获取一行每个都宽度
|
||||||
|
if(height<maxNewHeight){
|
||||||
|
arr[rowElem]['pbottom'] += maxNewHeight-height;
|
||||||
|
arr[rowElem]['pheight'] = maxNewHeight;
|
||||||
|
}
|
||||||
|
self.SurplusImgdatas[rowElem] = arr[rowElem];
|
||||||
|
}
|
||||||
|
surplusheight = maxNewHeight+self.RowgridParam.OtherHeight+Margin;
|
||||||
|
self.RowgridParam.maxNewLeft = 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
$('.rowGrids-box').height(self.RowgridParam.maxNewtop+40+surplusheight);
|
||||||
|
if(self.GetScrollAppend){
|
||||||
|
for(var st in arr){
|
||||||
|
if(self.StoreImgdatas[st]){
|
||||||
|
self.StoreImgdatas[st] = JSON.parse(JSON.stringify(arr[st]));
|
||||||
|
delete arr[st];
|
||||||
|
}
|
||||||
|
}
|
||||||
|
var StoreImgdatas = JSON.parse(JSON.stringify(self.StoreImgdatas));
|
||||||
|
var result = $.extend(StoreImgdatas, arr);
|
||||||
|
self.StoreImgdatas = result;
|
||||||
|
}else{
|
||||||
|
self.StoreImgdatas = arr;
|
||||||
|
}
|
||||||
|
|
||||||
|
self.ImgRowGridhandleScroll();
|
||||||
|
},
|
||||||
|
ImgRowGridhandleScroll(){
|
||||||
|
var self = this;
|
||||||
|
var H = jQuery('.body_scroll>.el-scrollbar__wrap')[0].clientHeight;//获取可视区域高度
|
||||||
|
var S = jQuery('.body_scroll>.el-scrollbar__wrap')[0].scrollTop;
|
||||||
|
self.NewImgdatas = {};
|
||||||
|
for(var o in self.StoreImgdatas){
|
||||||
|
var item = JSON.parse(JSON.stringify(self.StoreImgdatas[o]));
|
||||||
|
if ((H+S) >= item.ptop && S<item.pbottom) {
|
||||||
|
self.NewImgdatas[item.rid] = item;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
},
|
||||||
|
};
|
||||||
106
dzz/pichome/js/pc/waterfall.js
Normal file
106
dzz/pichome/js/pc/waterfall.js
Normal file
@@ -0,0 +1,106 @@
|
|||||||
|
var ImgWaterfall = {
|
||||||
|
WaterfallInit(type){
|
||||||
|
var self = this;
|
||||||
|
if(type == 'append'){
|
||||||
|
self.WaterfallImgCompute(type);
|
||||||
|
}else if(type == 'refresh'){
|
||||||
|
self.WaterfallParam.imgArr = [];
|
||||||
|
self.WaterfallImgCompute();
|
||||||
|
}else{
|
||||||
|
self.WaterfallImgCompute();
|
||||||
|
}
|
||||||
|
},
|
||||||
|
WaterfallImgCompute(type){
|
||||||
|
var self = this;
|
||||||
|
if(type == 'append'){
|
||||||
|
// self.WaterfallParam.perpage += self.GetimgParameter.perpage;
|
||||||
|
}else{
|
||||||
|
self.WaterfallParam.perpage = 0;
|
||||||
|
var boxWidth = $('#waterfallCenter').width();
|
||||||
|
self.WaterfallParam.columns = parseInt(boxWidth/self.WaterfallParam.imgWidth);
|
||||||
|
var OtherHeight = 0
|
||||||
|
if(self.InformationShow.indexOf('name')>-1 || self.InformationShow.indexOf('extension')>-1){
|
||||||
|
OtherHeight += 45;
|
||||||
|
}
|
||||||
|
if(self.InformationShow.indexOf('other')>-1){
|
||||||
|
OtherHeight += 20;
|
||||||
|
}
|
||||||
|
self.WaterfallParam.OtherHeight = OtherHeight;
|
||||||
|
}
|
||||||
|
var arr = {};
|
||||||
|
for (var o = self.WaterfallParam.perpage; o < self.imgdatas.length; o++){
|
||||||
|
var rid = self.imgdatas[o]['rid'];
|
||||||
|
arr[rid] = JSON.parse(JSON.stringify(self.imgdatas[o]));
|
||||||
|
|
||||||
|
var h = 236/parseInt(arr[rid].width)*parseInt(arr[rid].height)>120?236/parseInt(arr[rid].width)*parseInt(arr[rid].height):120;
|
||||||
|
arr[rid]['pheight'] = h;
|
||||||
|
arr[rid]['pwidth'] = 252;
|
||||||
|
|
||||||
|
if (o < self.WaterfallParam.columns) {
|
||||||
|
arr[rid]['ptop'] = 0;
|
||||||
|
arr[rid]['pleft'] = self.WaterfallParam.imgWidth*o;
|
||||||
|
arr[rid]['pbottom'] = arr[rid]['ptop']+arr[rid]['pheight']+self.WaterfallParam.Margin+self.WaterfallParam.OtherHeight;
|
||||||
|
var imgArr = JSON.parse(JSON.stringify(arr[rid]));
|
||||||
|
self.WaterfallParam.imgArr.push(imgArr);
|
||||||
|
|
||||||
|
}else{
|
||||||
|
var minHeight = self.WaterfallParam.imgArr[0]['pbottom'];
|
||||||
|
var index = 0;
|
||||||
|
for (var j = 0; j < self.WaterfallParam.imgArr.length; j++) {
|
||||||
|
if (minHeight > self.WaterfallParam.imgArr[j]['pbottom']) {
|
||||||
|
minHeight = self.WaterfallParam.imgArr[j]['pbottom'];
|
||||||
|
index = j;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
arr[rid]['ptop'] = JSON.parse(JSON.stringify(self.WaterfallParam.imgArr[index]['pbottom']));
|
||||||
|
arr[rid]['pleft'] = JSON.parse(JSON.stringify(self.WaterfallParam.imgArr[index]['pleft']));
|
||||||
|
arr[rid]['pbottom'] = arr[rid]['ptop']+arr[rid]['pheight']+self.WaterfallParam.Margin+self.WaterfallParam.OtherHeight;
|
||||||
|
|
||||||
|
var imgArr = JSON.parse(JSON.stringify(arr[rid]));
|
||||||
|
self.WaterfallParam.imgArr[index] = imgArr;
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
var count = Object.keys(arr).length
|
||||||
|
self.WaterfallParam.perpage += count;
|
||||||
|
if(self.GetScrollAppend){
|
||||||
|
var StoreImgdatas = JSON.parse(JSON.stringify(self.StoreImgdatas));
|
||||||
|
var result = $.extend(StoreImgdatas, arr);
|
||||||
|
self.StoreImgdatas = result;
|
||||||
|
}else{
|
||||||
|
self.StoreImgdatas = arr;
|
||||||
|
}
|
||||||
|
|
||||||
|
self.WaterfallhandleScroll();
|
||||||
|
var fminHeight = self.WaterfallParam.imgArr[0]['pbottom'];
|
||||||
|
for (var j = 0; j < self.WaterfallParam.imgArr.length; j++) {
|
||||||
|
if (fminHeight < self.WaterfallParam.imgArr[j]['pbottom']) {
|
||||||
|
fminHeight = self.WaterfallParam.imgArr[j]['pbottom'];
|
||||||
|
}
|
||||||
|
}
|
||||||
|
self.WaterfallParam.boxHeight = fminHeight+40;
|
||||||
|
$('#waterfallCenter').css({
|
||||||
|
height:self.WaterfallParam.boxHeight+'px'
|
||||||
|
});
|
||||||
|
$('.imgmargin').css({
|
||||||
|
height:self.WaterfallParam.boxHeight+'px'
|
||||||
|
});
|
||||||
|
},
|
||||||
|
WaterfallhandleScroll(){
|
||||||
|
var self = this;
|
||||||
|
var H = jQuery('.body_scroll>.el-scrollbar__wrap')[0].clientHeight;//获取可视区域高度
|
||||||
|
var S = jQuery('.body_scroll>.el-scrollbar__wrap')[0].scrollTop;
|
||||||
|
// var data = JSON.parse(JSON.stringify(self.NewImgdatas));
|
||||||
|
var arr = [];
|
||||||
|
|
||||||
|
self.NewImgdatas = {};
|
||||||
|
for(var o in self.StoreImgdatas){
|
||||||
|
var item = JSON.parse(JSON.stringify(self.StoreImgdatas[o]));
|
||||||
|
if ((H+S) >= item.ptop && S<item.pbottom) {
|
||||||
|
self.NewImgdatas[item.rid] = item;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
},
|
||||||
|
};
|
||||||
@@ -21,6 +21,11 @@
|
|||||||
$data['path'] = urlencode($data['path']);
|
$data['path'] = urlencode($data['path']);
|
||||||
$data['filter'] = unserialize($data['filter']);
|
$data['filter'] = unserialize($data['filter']);
|
||||||
$catdata = C::t('pichome_taggroup')->fetch_by_appid($appid);
|
$catdata = C::t('pichome_taggroup')->fetch_by_appid($appid);
|
||||||
|
if(($data['state'] ==1)) {
|
||||||
|
dfsockopen(getglobal('localurl'). 'index.php?mod=pichome&op=exportfile&appid='.$appid,0, '', '', false, '', 1);
|
||||||
|
}elseif($data['state'] == 2){
|
||||||
|
dfsockopen(getglobal('localurl'). 'index.php?mod=pichome&op=exportfilecheck&appid='.$appid,0, '', '', false, '', 1);
|
||||||
|
}
|
||||||
exit(json_encode(array('success' => true, 'data' => $data,'catdata'=>$catdata)));
|
exit(json_encode(array('success' => true, 'data' => $data,'catdata'=>$catdata)));
|
||||||
}else{
|
}else{
|
||||||
exit(json_encode(array('error' => true)));
|
exit(json_encode(array('error' => true)));
|
||||||
@@ -80,6 +85,6 @@
|
|||||||
}
|
}
|
||||||
else{
|
else{
|
||||||
$theme = GetThemeColor();
|
$theme = GetThemeColor();
|
||||||
include template('page/library');
|
include template('pc/page/library');
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -26,6 +26,11 @@ foreach($resourcesdata['foldernames'] as $fval){
|
|||||||
$foldernames[] = $fval;
|
$foldernames[] = $fval;
|
||||||
}
|
}
|
||||||
$resourcesdata['foldernames'] = json_encode($foldernames);
|
$resourcesdata['foldernames'] = json_encode($foldernames);
|
||||||
|
|
||||||
$theme = GetThemeColor();
|
$theme = GetThemeColor();
|
||||||
include template('page/share');
|
$ismobile = helper_browser::ismobile();
|
||||||
|
|
||||||
|
if (($ismobile)) {
|
||||||
|
include template('mobile/page/share');
|
||||||
|
} else {
|
||||||
|
include template('pc/page/share');
|
||||||
|
}
|
||||||
|
|||||||
605
dzz/pichome/template/mobile/components/index/JsCommon.htm
Normal file
605
dzz/pichome/template/mobile/components/index/JsCommon.htm
Normal file
@@ -0,0 +1,605 @@
|
|||||||
|
<script type="text/javascript">
|
||||||
|
var CommonJs = {
|
||||||
|
CommonLibrary(){
|
||||||
|
if(this.ParamLibrary.data.length==0){
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
this.ParamLibrary.fdata = [{
|
||||||
|
text: '全部库',
|
||||||
|
value: '',
|
||||||
|
download:0,
|
||||||
|
share:0,
|
||||||
|
}];
|
||||||
|
for(var i in this.ParamLibrary.data){
|
||||||
|
var item = this.ParamLibrary.data[i];
|
||||||
|
var str = {
|
||||||
|
text: item['appname'],
|
||||||
|
value: item['appid'],
|
||||||
|
download:parseInt(item['download']),
|
||||||
|
share:parseInt(item['share']),
|
||||||
|
};
|
||||||
|
this.ParamLibrary.fdata.push(str);
|
||||||
|
}
|
||||||
|
if(this.ParamLibrary.fdata.length == 1){
|
||||||
|
var data = this.ParamLibrary.fdata[0];
|
||||||
|
this.ParamLibrary.activeId = data['appid'];
|
||||||
|
this.ParamLibrary.activeTxt = data['appname'];
|
||||||
|
}
|
||||||
|
this.CommonhandleHash('refresh');
|
||||||
|
},
|
||||||
|
CommonhandleHash(isreload){
|
||||||
|
var self = this;
|
||||||
|
|
||||||
|
if(isreload=="refresh"){
|
||||||
|
var param = (location.hash || "").replace(/^\?/,'').split("&");
|
||||||
|
for(var i=0; i<param.length; i++){
|
||||||
|
var item = param[i].split("=");
|
||||||
|
if(item.length == 2){
|
||||||
|
if(i==0){
|
||||||
|
item[0]=item[0].replace("#","");
|
||||||
|
}
|
||||||
|
var name = item[0];
|
||||||
|
var value = item[1];
|
||||||
|
var isget = true;
|
||||||
|
// if(self.ParamScreen.data.length == 0 && self.ParamScreen.dataTypes.indexOf(name) > -1){
|
||||||
|
// continue;
|
||||||
|
// }
|
||||||
|
switch(name){
|
||||||
|
case 'appid':
|
||||||
|
self.ParamLibrary.activeId = value;
|
||||||
|
break;
|
||||||
|
case 'keyword':
|
||||||
|
self.ParamSearch.keyword = decodeURI(value);
|
||||||
|
break;
|
||||||
|
case 'asc':
|
||||||
|
self.ParamSort.sortorder.value = value;
|
||||||
|
break;
|
||||||
|
case 'order':
|
||||||
|
self.ParamSort.Sorttype.value = parseInt(value);
|
||||||
|
break;
|
||||||
|
case 'classify':
|
||||||
|
self.ParamScreen.value.classify.value = value.split(',');
|
||||||
|
break;
|
||||||
|
case 'tag':
|
||||||
|
var fval = value.split(',');
|
||||||
|
for(var t in fval){
|
||||||
|
self.ParamScreen.value.tag.value.push(parseInt(fval[t]));
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
case 'color':
|
||||||
|
self.ParamScreen.value.color.value = value;
|
||||||
|
break;
|
||||||
|
case 'persion':
|
||||||
|
self.ParamScreen.value.color.persion = value;
|
||||||
|
break;
|
||||||
|
case 'link':
|
||||||
|
self.ParamScreen.value.link.value = value;
|
||||||
|
break;
|
||||||
|
case 'linkval':
|
||||||
|
self.ParamScreen.value.link.input = value;
|
||||||
|
break;
|
||||||
|
case 'desc':
|
||||||
|
self.ParamScreen.value.desc.value = value;
|
||||||
|
break;
|
||||||
|
case 'descval':
|
||||||
|
self.ParamScreen.value.desc.input = value;
|
||||||
|
break;
|
||||||
|
case 'duration':
|
||||||
|
var p = value.split('_');
|
||||||
|
self.ParamScreen.value.duration.start = p[0];
|
||||||
|
self.ParamScreen.value.duration.end = p[1];
|
||||||
|
break;
|
||||||
|
case 'dunit':
|
||||||
|
self.ParamScreen.value.duration.unit = value;
|
||||||
|
break;
|
||||||
|
case 'wsize':
|
||||||
|
var p = value.split('_');
|
||||||
|
self.ParamScreen.value.size.wstart = p[0];
|
||||||
|
self.ParamScreen.value.size.wend = p[1];
|
||||||
|
break;
|
||||||
|
case 'hsize':
|
||||||
|
var p = value.split('_');
|
||||||
|
self.ParamScreen.value.size.hstart = p[0];
|
||||||
|
self.ParamScreen.value.size.hend = p[1];
|
||||||
|
break;
|
||||||
|
case 'ext':
|
||||||
|
self.ParamScreen.value.ext.value = value.split(',');
|
||||||
|
break;
|
||||||
|
case 'shape':
|
||||||
|
var arr = value.split(',');
|
||||||
|
var farr = [];
|
||||||
|
for(var s in arr){
|
||||||
|
for(var ss in self.ParamScreen.value.shape.fdata){
|
||||||
|
var sitem = self.ParamScreen.value.shape.fdata[ss];
|
||||||
|
if(sitem.name == decodeURI(arr[s])){
|
||||||
|
farr.push(parseInt(sitem.val));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
self.ParamScreen.value.shape.value = farr;
|
||||||
|
break;
|
||||||
|
case 'shapesize':
|
||||||
|
self.ParamScreen.value.shape.value.push('custom');
|
||||||
|
var arr = value.split(':');
|
||||||
|
self.ParamScreen.value.shape.sizemin = arr[0];
|
||||||
|
self.ParamScreen.value.shape.sizemax = arr[1];
|
||||||
|
break;
|
||||||
|
case 'grade':
|
||||||
|
var arr = value.split(',');
|
||||||
|
var farr = [];
|
||||||
|
for(var g in arr){
|
||||||
|
if(decodeURI(arr[g]) == '未评分'){
|
||||||
|
farr.push(0);
|
||||||
|
}else{
|
||||||
|
farr.push(parseInt(arr[g]));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
self.ParamScreen.value.grade.value = farr;
|
||||||
|
break;
|
||||||
|
case 'btime':
|
||||||
|
case 'dateline':
|
||||||
|
case 'mtime':
|
||||||
|
var len = decodeURI(value).split('_');
|
||||||
|
if(len.length>1){
|
||||||
|
self.ParamScreen.value[name].value = '自定义';
|
||||||
|
self.ParamScreen.value[name].customvalue = len[0]+' 至 '+len[1];
|
||||||
|
var start = len[0].split('-');
|
||||||
|
var end = len[1].split('-');
|
||||||
|
var defaulttime = [new Date(start[0], start[1], start[2]) ,new Date(end[0], end[1], end[2])];
|
||||||
|
self.ParamScreen.value[name].defaultdate = defaulttime;
|
||||||
|
}else{
|
||||||
|
self.ParamScreen.value[name].value = decodeURI(value);
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if(isreload!="scroll"){
|
||||||
|
if(jQuery('.pic-container-scroll').length){
|
||||||
|
jQuery('.pic-container-scroll')[0].scrollTop = 0;
|
||||||
|
}
|
||||||
|
self.ParamImages.type = 'refresh';
|
||||||
|
self.ParamBasic.page = 1;
|
||||||
|
self.ParamBasic.total = 0;
|
||||||
|
self.ParamBasic.totalpage = 0;
|
||||||
|
self.ParamImages.loading = true;
|
||||||
|
}else{
|
||||||
|
self.ParamImages.valloading = true;
|
||||||
|
}
|
||||||
|
var hash = '';
|
||||||
|
self.ParamData = {};
|
||||||
|
for(var x in self.ParamDataInit){
|
||||||
|
var value = self.ParamDataInit[x];
|
||||||
|
switch(x){
|
||||||
|
case 'appid':
|
||||||
|
if(self.ParamLibrary.activeId){
|
||||||
|
self.ParamData['appid'] = self.ParamLibrary.activeId;
|
||||||
|
hash += 'appid='+ self.ParamLibrary.activeId;
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
case 'keyword':
|
||||||
|
if(value != self.ParamSearch.keyword){
|
||||||
|
self.ParamData['keyword'] = self.ParamSearch.keyword;
|
||||||
|
if(hash) hash += '&';
|
||||||
|
hash += 'keyword='+ self.ParamSearch.keyword;
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
case 'classify':
|
||||||
|
if(self.ParamScreen.value.classify.value && self.ParamScreen.value.classify.value.length){
|
||||||
|
self.ParamData['fids'] = self.ParamScreen.value.classify.value.join(',');
|
||||||
|
if(hash) hash += '&';
|
||||||
|
hash += 'classify='+ self.ParamScreen.value.classify.value.join(',');
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
case 'tag':
|
||||||
|
if(self.ParamScreen.value.tag.value && self.ParamScreen.value.tag.value.length){
|
||||||
|
self.ParamData['tag'] = self.ParamScreen.value.tag.value.join(',');
|
||||||
|
if(hash) hash += '&';
|
||||||
|
hash += 'tag='+ self.ParamScreen.value.tag.value.join(',');
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
case 'color':
|
||||||
|
if(self.ParamScreen.value.color.value){
|
||||||
|
self.ParamData['color'] = self.ParamScreen.value.color.value;
|
||||||
|
self.ParamData['persion'] = self.ParamScreen.value.color.persion;
|
||||||
|
if(hash) hash += '&';
|
||||||
|
hash += 'color='+ self.ParamScreen.value.color.value;
|
||||||
|
if(hash) hash += '&';
|
||||||
|
hash += 'persion='+ self.ParamScreen.value.color.persion;
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
case 'link':
|
||||||
|
if(value != self.ParamScreen.value.link.value){
|
||||||
|
self.ParamData['link'] = self.ParamScreen.value.link.value;
|
||||||
|
if(hash) hash += '&';
|
||||||
|
hash += 'link='+ self.ParamScreen.value.link.value;
|
||||||
|
if(parseInt(self.ParamScreen.value.link.value)>0 && self.ParamScreen.value.link.input){
|
||||||
|
if(hash) hash += '&';
|
||||||
|
hash += 'linkval='+ self.ParamScreen.value.link.input;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
case 'desc':
|
||||||
|
if(value != self.ParamScreen.value.desc.value){
|
||||||
|
self.ParamData['desc'] = self.ParamScreen.value.desc.value;
|
||||||
|
if(hash) hash += '&';
|
||||||
|
hash += 'desc='+ self.ParamScreen.value.desc.value;
|
||||||
|
if(parseInt(self.ParamScreen.value.desc.value)>0 && self.ParamScreen.value.desc.input){
|
||||||
|
if(hash) hash += '&';
|
||||||
|
hash += 'descval='+ self.ParamScreen.value.desc.input;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
case 'duration':
|
||||||
|
var start = self.ParamScreen.value.duration.start;
|
||||||
|
var end = self.ParamScreen.value.duration.end;
|
||||||
|
var fval = '';
|
||||||
|
if(start || end){
|
||||||
|
fval = start+'_'+end;
|
||||||
|
}
|
||||||
|
if(value != fval){
|
||||||
|
self.ParamData['duration'] = fval;
|
||||||
|
if(hash) hash += '&';
|
||||||
|
hash += 'duration='+ fval;
|
||||||
|
if(hash) hash += '&';
|
||||||
|
hash += 'dunit='+ self.ParamScreen.value.duration.unit;
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
case 'wsize':
|
||||||
|
var start = self.ParamScreen.value.size.wstart;
|
||||||
|
var end = self.ParamScreen.value.size.wend;
|
||||||
|
var fval = '';
|
||||||
|
if(start || end){
|
||||||
|
fval = start+'_'+end;
|
||||||
|
}
|
||||||
|
if(value != fval){
|
||||||
|
self.ParamData['wsize'] = fval;
|
||||||
|
if(hash) hash += '&';
|
||||||
|
hash += 'wsize='+ fval;
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
case 'hsize':
|
||||||
|
var start = self.ParamScreen.value.size.hstart;
|
||||||
|
var end = self.ParamScreen.value.size.hend;
|
||||||
|
var fval = '';
|
||||||
|
if(start || end){
|
||||||
|
fval = start+'_'+end;
|
||||||
|
}
|
||||||
|
if(value != fval){
|
||||||
|
self.ParamData['hsize'] = fval;
|
||||||
|
if(hash) hash += '&';
|
||||||
|
hash += 'hsize='+ fval;
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
case 'ext':
|
||||||
|
var fval = self.ParamScreen.value.ext.value.join(',');
|
||||||
|
if(fval){
|
||||||
|
self.ParamData['ext'] = fval;
|
||||||
|
if(hash) hash += '&';
|
||||||
|
hash += 'ext='+ fval;
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
case 'shape':
|
||||||
|
var index = self.ParamScreen.value.shape.value.indexOf('custom');
|
||||||
|
var newval = JSON.parse(JSON.stringify(self.ParamScreen.value.shape.value));
|
||||||
|
if(index > -1){
|
||||||
|
newval.splice(index,1);
|
||||||
|
}
|
||||||
|
var fval = newval.join(',');
|
||||||
|
if(fval){
|
||||||
|
self.ParamData['shape'] = fval;
|
||||||
|
if(hash) hash += '&';
|
||||||
|
var farr = [];
|
||||||
|
for(var s in self.ParamScreen.value.shape.value){
|
||||||
|
var sitem = self.ParamScreen.value.shape.value[s];
|
||||||
|
if(sitem == 'custom'){
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
for(var ss in self.ParamScreen.value.shape.fdata){
|
||||||
|
var ssitem = self.ParamScreen.value.shape.fdata[ss];
|
||||||
|
if(parseInt(ssitem.val) == parseInt(sitem)){
|
||||||
|
farr.push(ssitem.name);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
hash += 'shape='+ farr.join(',');
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
case 'shapesize':
|
||||||
|
var index = self.ParamScreen.value.shape.value.indexOf('custom');
|
||||||
|
var sizemin = self.ParamScreen.value.shape.sizemin;
|
||||||
|
var sizemax = self.ParamScreen.value.shape.sizemax;
|
||||||
|
if(index>-1 && sizemin && sizemax){
|
||||||
|
self.ParamData['shapesize'] = sizemin+':'+sizemax;
|
||||||
|
if(hash) hash += '&';
|
||||||
|
hash += 'shapesize='+ sizemin+':'+sizemax;
|
||||||
|
}
|
||||||
|
|
||||||
|
break;
|
||||||
|
case 'grade':
|
||||||
|
var fval = self.ParamScreen.value.grade.value.join(',');
|
||||||
|
var index = self.ParamScreen.value.grade.value.indexOf(0);
|
||||||
|
var newval = JSON.parse(JSON.stringify(self.ParamScreen.value.grade.value));
|
||||||
|
|
||||||
|
if(index > -1){
|
||||||
|
newval.splice(index,1,'未评分');
|
||||||
|
}
|
||||||
|
if(fval){
|
||||||
|
self.ParamData['grade'] = fval;
|
||||||
|
if(hash) hash += '&';
|
||||||
|
hash += 'grade='+ newval.join(',');
|
||||||
|
}
|
||||||
|
|
||||||
|
break;
|
||||||
|
case 'btime':
|
||||||
|
case 'dateline':
|
||||||
|
case 'mtime':
|
||||||
|
var fval = self.ParamScreen.value[x];
|
||||||
|
if(fval.value){
|
||||||
|
if(fval.value == '自定义'){
|
||||||
|
if(fval.customvalue){
|
||||||
|
var time = fval.customvalue.split('至');
|
||||||
|
var ftime = $.trim(time[0])+'_'+$.trim(time[1]);
|
||||||
|
self.ParamData[x] = ftime;
|
||||||
|
if(hash) hash += '&';
|
||||||
|
hash += x+'='+ ftime;
|
||||||
|
}
|
||||||
|
}else{
|
||||||
|
if(hash) hash += '&';
|
||||||
|
hash += x+'='+ fval.value;
|
||||||
|
self.ParamData[x] = GetDateVal(fval.value);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
case 'order':
|
||||||
|
self.ParamData['order'] = self.ParamSort.Sorttype.value;
|
||||||
|
if(value != self.ParamSort.Sorttype.value){
|
||||||
|
if(hash) hash += '&';
|
||||||
|
hash += 'order='+ self.ParamSort.Sorttype.value;
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
case 'asc':
|
||||||
|
self.ParamData['asc'] = self.ParamSort.sortorder.value;
|
||||||
|
if(value != self.ParamSort.sortorder.value){
|
||||||
|
if(hash) hash += '&';
|
||||||
|
hash += 'asc='+ self.ParamSort.sortorder.value;
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
case 'page':
|
||||||
|
if(isreload=='scroll'){
|
||||||
|
self.ParamBasic.page += 1;
|
||||||
|
}
|
||||||
|
self.ParamData[x] = self.ParamBasic[x];
|
||||||
|
// if(value != self.ParamBasic[x]){
|
||||||
|
// if(hash) hash += '&';
|
||||||
|
// hash += x+'='+ self.ParamBasic[x];
|
||||||
|
// }
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
self.ParamData['perpage'] = self.ParamBasic['perpage'];
|
||||||
|
if(isreload != 'refresh'){
|
||||||
|
window.location.hash = hash;
|
||||||
|
}
|
||||||
|
this.CommonGetData(isreload);
|
||||||
|
|
||||||
|
},
|
||||||
|
CommonSetBadge(){
|
||||||
|
var self = this;
|
||||||
|
for(var i in self.ParamScreen.data){
|
||||||
|
var item = self.ParamScreen.data[i];
|
||||||
|
var type = item.type;
|
||||||
|
switch(type){
|
||||||
|
case 'classify':
|
||||||
|
case 'ext':
|
||||||
|
case 'shape':
|
||||||
|
case 'grade':
|
||||||
|
var fitem = self.ParamScreen.value[type];
|
||||||
|
if(fitem.value.length){
|
||||||
|
item.badge = fitem.value.length;
|
||||||
|
}else{
|
||||||
|
item.badge = '';
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
case 'tag':
|
||||||
|
if(item.grouptag){
|
||||||
|
item.badge = item.value.length || '';
|
||||||
|
}else{
|
||||||
|
item.badge = self.ParamScreen.value[type].value.length || '';
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
case 'color':
|
||||||
|
case 'link':
|
||||||
|
case 'desc':
|
||||||
|
item.dot = self.ParamScreen.value[type].value?true:false;
|
||||||
|
break;
|
||||||
|
case 'duration':
|
||||||
|
if(self.ParamScreen.value[type].start || self.ParamScreen.value[type].end){
|
||||||
|
item.dot = true;
|
||||||
|
}else{
|
||||||
|
item.dot = false;
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
case 'size':
|
||||||
|
var fitem = self.ParamScreen.value[type];
|
||||||
|
if(fitem.wstart || fitem.wend || fitem.hstart || fitem.hend){
|
||||||
|
item.dot = true;
|
||||||
|
}else{
|
||||||
|
item.dot = false;
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
case 'btime':
|
||||||
|
case 'dateline':
|
||||||
|
case 'mtime':
|
||||||
|
if(self.ParamScreen.value[type].value || self.ParamScreen.value[type].customvalue){
|
||||||
|
item.dot = true;
|
||||||
|
}else{
|
||||||
|
item.dot = false;
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
self.CommonSetFooterBadge();
|
||||||
|
},
|
||||||
|
CommonSetFooterBadge(){
|
||||||
|
var self = this;
|
||||||
|
var num = 0;
|
||||||
|
for(var i in self.ParamScreen.data){
|
||||||
|
var item = self.ParamScreen.data[i];
|
||||||
|
switch(item.type){
|
||||||
|
case 'classify':
|
||||||
|
case 'tag':
|
||||||
|
case 'ext':
|
||||||
|
case 'shape':
|
||||||
|
case 'grade':
|
||||||
|
if(item.badge && parseInt(item.badge)){
|
||||||
|
num++;
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
case 'color':
|
||||||
|
case 'link':
|
||||||
|
case 'desc':
|
||||||
|
case 'duration':
|
||||||
|
case 'size':
|
||||||
|
case 'btime':
|
||||||
|
case 'dateline':
|
||||||
|
case 'mtime':
|
||||||
|
if(item.dot){
|
||||||
|
num++;
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
self.ParamScreen.ActiveNum = num || '';
|
||||||
|
if(self.ParamSearch.keyword || self.ParamScreen.ActiveNum){
|
||||||
|
self.ParamFooter.data.clear.show = true;
|
||||||
|
}else{
|
||||||
|
self.ParamFooter.data.clear.show = false;
|
||||||
|
}
|
||||||
|
},
|
||||||
|
|
||||||
|
CommonGetData(isreload){
|
||||||
|
var self = this;
|
||||||
|
if(self.ParamSearch.keyword || self.ParamScreen.ActiveNum){
|
||||||
|
self.ParamFooter.data.clear.show = true;
|
||||||
|
}else{
|
||||||
|
self.ParamFooter.data.clear.show = false;
|
||||||
|
}
|
||||||
|
$.post(MOD_URL+'&op=filelist&operation=filelist',self.ParamData,function(data){
|
||||||
|
var information = data.data;
|
||||||
|
var ftotal = Math.ceil(information.param.total / information.param.perpage);
|
||||||
|
if(isreload=='scroll'){
|
||||||
|
self.ParamImages.type = 'append';
|
||||||
|
self.ParamImages.data.push.apply(self.ParamImages.data,information.data);
|
||||||
|
self.ParamBasic.totalpage = ftotal;
|
||||||
|
}else{
|
||||||
|
self.ParamImages.type = 'refresh';
|
||||||
|
self.ParamImages.data = information.data;
|
||||||
|
self.ParamBasic.totalpage = ftotal<1?1:ftotal;
|
||||||
|
}
|
||||||
|
self.ParamBasic.total = information.param.total;
|
||||||
|
if(isreload == 'refresh'){
|
||||||
|
if(information.param.tagdata){
|
||||||
|
var tstr = {};
|
||||||
|
for(var t in information.param.tagdata){
|
||||||
|
var titem = information.param.tagdata[t];
|
||||||
|
if(!tstr[titem.cid]){
|
||||||
|
tstr[titem.cid] = [];
|
||||||
|
}
|
||||||
|
tstr[titem.cid].push(titem.tid);
|
||||||
|
}
|
||||||
|
self.ParamScreen.value.tag.refreshval = tstr;
|
||||||
|
}
|
||||||
|
self.CommonGetScreenData();
|
||||||
|
}
|
||||||
|
},'json');
|
||||||
|
},
|
||||||
|
CommonAddkeyword(keyword,ktype){//添加关键词次数
|
||||||
|
var self = this;
|
||||||
|
jQuery.post(MOD_URL+'&op=ajax&operation=addsearch',{
|
||||||
|
appid:self.ParamLibrary.activeId,
|
||||||
|
keyword:keyword,
|
||||||
|
ktype:ktype
|
||||||
|
});
|
||||||
|
},
|
||||||
|
CommonGetScreenData(){
|
||||||
|
var self = this;
|
||||||
|
$.post(MOD_URL+'&op=ajax&operation=getscreen',{
|
||||||
|
appid:self.ParamLibrary.activeId
|
||||||
|
},function(data){
|
||||||
|
if(data.success){
|
||||||
|
var fdata = data.data;
|
||||||
|
var arr = [];
|
||||||
|
var grouparr = {};
|
||||||
|
var index = 0;
|
||||||
|
|
||||||
|
for(var i in fdata){
|
||||||
|
var item = fdata[i];
|
||||||
|
if(parseInt(item.checked)){
|
||||||
|
if(item.key == 'tag' && parseInt(item.showtype)){
|
||||||
|
for(var g in item.group){
|
||||||
|
var gitem = item.group[g];
|
||||||
|
if(parseInt(gitem.checked)){
|
||||||
|
var str = {
|
||||||
|
text:gitem.catname,
|
||||||
|
type:'tag',
|
||||||
|
appid:gitem.appid,
|
||||||
|
cid:gitem.cid,
|
||||||
|
grouptag:true,
|
||||||
|
badge:'',
|
||||||
|
value: self.ParamScreen.value.tag.refreshval[gitem.cid] || [],
|
||||||
|
page:1,
|
||||||
|
keyword:'',
|
||||||
|
loading:true,
|
||||||
|
scrollloading:false,
|
||||||
|
searchloading:false,
|
||||||
|
data:[],
|
||||||
|
finish:false
|
||||||
|
};
|
||||||
|
grouparr[gitem.cid] = {
|
||||||
|
loading:true,
|
||||||
|
data:[]
|
||||||
|
};
|
||||||
|
arr.push(str);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}else{
|
||||||
|
var str = {
|
||||||
|
text:item.text,
|
||||||
|
type:item.key,
|
||||||
|
};
|
||||||
|
if(self.ParamScreen.dataBadge.indexOf(item.key)>-1){
|
||||||
|
str['badge'] = '';
|
||||||
|
}else{
|
||||||
|
str['dot'] = false;
|
||||||
|
}
|
||||||
|
arr.push(str);
|
||||||
|
}
|
||||||
|
index++;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
self.ParamScreen.groupdata = grouparr;
|
||||||
|
self.ParamScreen.data = arr;
|
||||||
|
if(arr.length){
|
||||||
|
self.ParamFooter.data.screen.show = true;
|
||||||
|
self.CommonSetBadge();
|
||||||
|
}
|
||||||
|
}else{
|
||||||
|
|
||||||
|
}
|
||||||
|
},'json');
|
||||||
|
},
|
||||||
|
CommonCopyTxt(text){
|
||||||
|
var self = this;
|
||||||
|
var input = document.createElement('input'); input.setAttribute('id', 'copyInput');
|
||||||
|
input.setAttribute('value', text);
|
||||||
|
document.getElementsByTagName('body')[0].appendChild(input);
|
||||||
|
document.getElementById('copyInput').select();
|
||||||
|
document.execCommand('copy');
|
||||||
|
document.getElementById('copyInput').remove();
|
||||||
|
self.$toast.success('复制成功');
|
||||||
|
}
|
||||||
|
}
|
||||||
|
</script>
|
||||||
117
dzz/pichome/template/mobile/components/index/JsDetailMessage.htm
Normal file
117
dzz/pichome/template/mobile/components/index/JsDetailMessage.htm
Normal file
@@ -0,0 +1,117 @@
|
|||||||
|
<van-popup
|
||||||
|
v-model="InformationPopup"
|
||||||
|
class="detail-popup-message"
|
||||||
|
:class="showdata[rid] && !showdata[rid].data.footer?'noPadding':''"
|
||||||
|
position="right"
|
||||||
|
:overlay="false"
|
||||||
|
get-container="#DetailPopup">
|
||||||
|
<van-nav-bar class="header-top" title="详情信息" left-arrow @click-left="InformationPopup=false"></van-nav-bar>
|
||||||
|
<div style="position: relative;height: 100%;background: var(--bg-content);padding-top: 46px;" v-cloak>
|
||||||
|
|
||||||
|
<div class="DetailPopup-content" style="padding: 0 16px;">
|
||||||
|
<!-- <template v-if="ParamDetail.messageloading">
|
||||||
|
<van-loading class="custom-load" size="24px" type="spinner" color="var(--header-text)" vertical>加载中...</van-loading>
|
||||||
|
</template>
|
||||||
|
<template v-else> -->
|
||||||
|
<div class="name">{{showdata[rid].data.name}}.{{showdata[rid].data.ext}}</div>
|
||||||
|
<div class="block" v-if="showdata[rid].data.colors && showdata[rid].data.colors.length">
|
||||||
|
<div class="title">颜色</div>
|
||||||
|
<div class="block-item colors">
|
||||||
|
<div class="colors" v-for="item in showdata[rid].data.colors" @click="DetailMessageSearch('color',item)">
|
||||||
|
<div :style="{background: '#'+item}"></div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="block" v-if="showdata[rid].data.tag && showdata[rid].data.tag.length">
|
||||||
|
<div class="title">标签</div>
|
||||||
|
<div class="block-item tag">
|
||||||
|
<div class="tag" v-for="item in showdata[rid].data.tag" @click="DetailMessageSearch('tag',item.key)">{{item.val}}</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="block" v-if="showdata[rid].data.link">
|
||||||
|
<div class="title">链接</div>
|
||||||
|
<div class="block-item link">
|
||||||
|
<span @click="DetailMessageSearch('link',showdata[rid].data.link)">{{showdata[rid].data.link}}</span>
|
||||||
|
<i class="ri-file-copy-line" @click="DetailMessageSearch('copy',showdata[rid].data.link)"></i>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="block" v-if="showdata[rid].data.foldernames && showdata[rid].data.foldernames.length">
|
||||||
|
<div class="title">分类</div>
|
||||||
|
<div class="block-item tag">
|
||||||
|
<div class="tag" v-for="item in showdata[rid].data.foldernames" @click="DetailMessageSearch('classify',item.key)">{{item.val}}</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="block">
|
||||||
|
<div class="title">基本信息</div>
|
||||||
|
<div class="block-item">
|
||||||
|
<van-row class="basic">
|
||||||
|
<van-col span="12">
|
||||||
|
<div class="label">评分</div>
|
||||||
|
</van-col>
|
||||||
|
<van-col span="12">
|
||||||
|
<div class="record">
|
||||||
|
<van-icon v-for="item in showdata[rid].data.grade" name="star" class="star active"></van-icon><van-icon v-for="item in showdata[rid].data.fgrade" name="star" class="star"></van-icon>
|
||||||
|
</div>
|
||||||
|
</van-col>
|
||||||
|
</van-row>
|
||||||
|
<van-row class="basic">
|
||||||
|
<van-col span="12">
|
||||||
|
<div class="label">尺寸</div>
|
||||||
|
</van-col>
|
||||||
|
<van-col span="12">
|
||||||
|
<div class="record">{{showdata[rid].data.width}}×{{showdata[rid].data.height}}</div>
|
||||||
|
</van-col>
|
||||||
|
</van-row>
|
||||||
|
<van-row class="basic">
|
||||||
|
<van-col span="12">
|
||||||
|
<div class="label">文件大小</div>
|
||||||
|
</van-col>
|
||||||
|
<van-col span="12">
|
||||||
|
<div class="record">{{showdata[rid].data.fsize}}</div>
|
||||||
|
</van-col>
|
||||||
|
</van-row>
|
||||||
|
<van-row class="basic">
|
||||||
|
<van-col span="12">
|
||||||
|
<div class="label">类型</div>
|
||||||
|
</van-col>
|
||||||
|
<van-col span="12">
|
||||||
|
<div class="record">{{showdata[rid].data.ext}}</div>
|
||||||
|
</van-col>
|
||||||
|
</van-row>
|
||||||
|
<van-row class="basic">
|
||||||
|
<van-col span="12">
|
||||||
|
<div class="label">创建时间</div>
|
||||||
|
</van-col>
|
||||||
|
<van-col span="12">
|
||||||
|
<div class="record">{{showdata[rid].data.mtime}}</div>
|
||||||
|
</van-col>
|
||||||
|
</van-row>
|
||||||
|
<van-row class="basic">
|
||||||
|
<van-col span="12">
|
||||||
|
<div class="label">添加时间</div>
|
||||||
|
</van-col>
|
||||||
|
<van-col span="12">
|
||||||
|
<div class="record">{{showdata[rid].data.btime}}</div>
|
||||||
|
</van-col>
|
||||||
|
</van-row>
|
||||||
|
<van-row class="basic">
|
||||||
|
<van-col span="12">
|
||||||
|
<div class="label">修改时间</div>
|
||||||
|
</van-col>
|
||||||
|
<van-col span="12">
|
||||||
|
<div class="record">{{showdata[rid].data.dateline}}</div>
|
||||||
|
</van-col>
|
||||||
|
</van-row>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<!-- </template> -->
|
||||||
|
</div>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
</van-popup>
|
||||||
|
<script type="text/javascript">
|
||||||
|
var DetailMessageJs = {
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
|
</script>
|
||||||
757
dzz/pichome/template/mobile/components/index/JsImages.htm
Normal file
757
dzz/pichome/template/mobile/components/index/JsImages.htm
Normal file
@@ -0,0 +1,757 @@
|
|||||||
|
<div class="pic-container-scroll">
|
||||||
|
<div class="img-container">
|
||||||
|
<div id="imgContainer" :class="ParamSort.layout.value=='imageList'?'imagelist':''">
|
||||||
|
<div
|
||||||
|
class="imgitem"
|
||||||
|
v-for="item in ParamImages.Newdatas"
|
||||||
|
:style="{top:item.ptop+'px',left:item.pleft+'px',width:item.pwidth+'px'}"
|
||||||
|
:key="item.rid"
|
||||||
|
:rid="item.rid"
|
||||||
|
@click="ImagesDetailClick(item.rid,item.index)">
|
||||||
|
<div class="imgbox">
|
||||||
|
<div
|
||||||
|
class="imgbox-border radius"
|
||||||
|
:style="{height: item.pheight+'px',width: (item.pwidth-8)+'px',background:'#'+item.color}"
|
||||||
|
v-bind:class="item.opentype=='video'||item.opentype=='audio'?'border':''">
|
||||||
|
<div class="div-black" :data-rid="item.rid">
|
||||||
|
<div class="bck"></div>
|
||||||
|
<img
|
||||||
|
class="img el-image__inner opacity"
|
||||||
|
:ref="'ref_'+item.rid"
|
||||||
|
@load="ImagesImgload(item.rid)"
|
||||||
|
:src="item.icondata"
|
||||||
|
alt="" />
|
||||||
|
<!-- <img
|
||||||
|
class="img el-image__inner opacity"
|
||||||
|
:ref="'ref_'+item.rid"
|
||||||
|
@load="ImagesImgload(item.rid)"
|
||||||
|
:src="item.icondata"
|
||||||
|
@touchevent="ImagesTouchEvent"
|
||||||
|
@touchstart="ImagesTouchStart"
|
||||||
|
@touchmove="ImagesTouchMove"
|
||||||
|
@touchend="ImagesTouchEnd"
|
||||||
|
alt="" /> -->
|
||||||
|
<div class="circular-box">
|
||||||
|
<div class="circular-item-box">
|
||||||
|
<div class="circular-item first"><i class="ri-file-search-line icon"></i></div>
|
||||||
|
<div class="circular-item two"><i class="ri-share-line icon"></i></div>
|
||||||
|
<div class="circular-item three"><i class="ri-download-2-line icon"></i></div>
|
||||||
|
</div>
|
||||||
|
<div class="round"></div>
|
||||||
|
<div></div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div v-if="ParamSort.showinformation.value.indexOf('tagging')>-1&&parseInt(item.annonationnum)>0" class="annotation">{{item.annonationnum}}</div>
|
||||||
|
</div>
|
||||||
|
<div class="bottom-img-message">
|
||||||
|
<div class="name" v-if="ParamSort.showinformation.value.indexOf('name')>-1 || ParamSort.showinformation.value.indexOf('extension')>-1">
|
||||||
|
<span v-if="ParamSort.showinformation.value.indexOf('name')>-1" v-cloak>{{item.name}}</span>
|
||||||
|
<span v-if="ParamSort.showinformation.value.indexOf('extension')>-1" class="suffix" v-cloak>.{{item.ext}}</span>
|
||||||
|
</div>
|
||||||
|
<template v-if="ParamSort.showinformation.value.indexOf('other')>-1">
|
||||||
|
<div class="other" v-if="ParamSort.otherinformation.value=='size'">
|
||||||
|
<span>{{item.width}} × {{item.height}}</span>
|
||||||
|
</div>
|
||||||
|
<div class="other" v-else-if="ParamSort.otherinformation.value=='filesize'">
|
||||||
|
<span>{{item.fsize}}</span>
|
||||||
|
</div>
|
||||||
|
<div class="other" v-else-if="ParamSort.otherinformation.value=='tag'">
|
||||||
|
<span v-if="!item.tags" class="label">-</span>
|
||||||
|
<span v-else class="label" v-for="tg in item.tags">•{{tg}}</span>
|
||||||
|
</div>
|
||||||
|
<div class="other" v-else-if="ParamSort.otherinformation.value=='grade'">
|
||||||
|
<van-icon v-for="item in parseInt(item.grade)" class="score active" name="star"></van-icon><van-icon v-for="item in 5-parseInt(item.grade)" class="score" name="star"></van-icon>
|
||||||
|
</div>
|
||||||
|
<div class="other" v-else-if="ParamSort.otherinformation.value=='btime'">
|
||||||
|
<span>{{item.btime}}</span>
|
||||||
|
</div>
|
||||||
|
<div class="other" v-else-if="ParamSort.otherinformation.value=='dateline'">
|
||||||
|
<span>{{item.dateline}}</span>
|
||||||
|
</div>
|
||||||
|
<div class="other" v-else-if="ParamSort.otherinformation.value=='mtime'">
|
||||||
|
<span>{{item.mtime}}</span>
|
||||||
|
</div>
|
||||||
|
</template>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<template v-if="ParamImages.data.length&&ParamBasic.page>=ParamBasic.totalpage&&!ParamImages.loading&&!ParamImages.valloading">
|
||||||
|
<div style="position: absolute;bottom: 0;left: 0;width: 100%;line-height: 40px;text-align: center;color: var(--content-text);font-size: 14px;">没有更多了</div>
|
||||||
|
</template>
|
||||||
|
<template v-if="ParamImages.valloading">
|
||||||
|
<div style="position: absolute;bottom: 0;left: 0;width: 100%;line-height: 40px;text-align: center;color: var(--content-text);font-size: 14px;">
|
||||||
|
<van-loading type="spinner" size="24px">加载中...</van-loading>
|
||||||
|
</div>
|
||||||
|
</template>
|
||||||
|
|
||||||
|
|
||||||
|
</div>
|
||||||
|
<template v-if="ParamImages.data.length==0&&!ParamImages.loading&&!ParamImages.valloading">
|
||||||
|
<van-empty
|
||||||
|
class="custom-image"
|
||||||
|
image="dzz/pichome/image/nodata.svg"
|
||||||
|
description="暂无数据"
|
||||||
|
/>
|
||||||
|
</template>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
<van-overlay :show="ParamImages.loading" :z-index="5000" />
|
||||||
|
<script type="text/javascript">
|
||||||
|
var ImagesData = {
|
||||||
|
ParamImages:{
|
||||||
|
resize:0,
|
||||||
|
data:[],
|
||||||
|
Newdatas:{},
|
||||||
|
type:'refresh',
|
||||||
|
operation:{
|
||||||
|
time:'',
|
||||||
|
istouch:false,
|
||||||
|
target:'',
|
||||||
|
click:true,
|
||||||
|
details:{
|
||||||
|
touchMinw:0,
|
||||||
|
touchMaxw:0,
|
||||||
|
touchMinh:0,
|
||||||
|
touchMaxh:0,
|
||||||
|
},
|
||||||
|
share:{
|
||||||
|
touchMinw:0,
|
||||||
|
touchMaxw:0,
|
||||||
|
touchMinh:0,
|
||||||
|
touchMaxh:0,
|
||||||
|
},
|
||||||
|
down:{
|
||||||
|
touchMinw:0,
|
||||||
|
touchMaxw:0,
|
||||||
|
touchMinh:0,
|
||||||
|
touchMaxh:0,
|
||||||
|
},
|
||||||
|
},
|
||||||
|
imageList:{
|
||||||
|
maxNewtop:0,
|
||||||
|
maxNewLeft:0,
|
||||||
|
perpage : 0,
|
||||||
|
Margin:4,
|
||||||
|
columns:0,
|
||||||
|
fcolumns:1,
|
||||||
|
newWidth:0,//图片宽度
|
||||||
|
newHeight:0,//图片高度
|
||||||
|
boxHeight:0,//总体高度
|
||||||
|
OtherHeight:0,//底部信息
|
||||||
|
StoreImgdatas:[],
|
||||||
|
},
|
||||||
|
imgageWaterfall:{
|
||||||
|
imgWidth : 252,
|
||||||
|
imgArr : [],
|
||||||
|
ImgAll : [],
|
||||||
|
total : 0,
|
||||||
|
columns:0,
|
||||||
|
boxHeight:0,
|
||||||
|
OtherHeight:0,
|
||||||
|
perpage:0,
|
||||||
|
Margin:8,
|
||||||
|
isMax:false,
|
||||||
|
StoreImgdatas:[],
|
||||||
|
},
|
||||||
|
imagerowGrid:{
|
||||||
|
maxNewtop:0,
|
||||||
|
maxNewLeft:0,
|
||||||
|
rowElems:[],
|
||||||
|
perpage : 0,
|
||||||
|
Margin:4,
|
||||||
|
rowWidth:0,
|
||||||
|
OtherHeight:0,
|
||||||
|
SurplusImgdatas:[],
|
||||||
|
StoreImgdatas:[],
|
||||||
|
},
|
||||||
|
loading:true,
|
||||||
|
valloading:false
|
||||||
|
}
|
||||||
|
};
|
||||||
|
var ImagesWatchJs = {
|
||||||
|
'ParamImages.resize':debounce(function(val){
|
||||||
|
var self = this;
|
||||||
|
self.ImagesLayoutInit();
|
||||||
|
},500),
|
||||||
|
'ParamImages.data':{
|
||||||
|
handler(val){
|
||||||
|
var self = this;
|
||||||
|
self.ImagesLayoutInit();
|
||||||
|
if(self.ParamImages.type == 'append'){
|
||||||
|
self.ParamImages.valloading = false;
|
||||||
|
}else{
|
||||||
|
self.ParamImages.loading = false;
|
||||||
|
}
|
||||||
|
},
|
||||||
|
deep:true,
|
||||||
|
// immediate:true
|
||||||
|
},
|
||||||
|
'ParamImages.loading':{
|
||||||
|
handler(val){
|
||||||
|
var self = this;
|
||||||
|
if(val){
|
||||||
|
self.$toast.loading({
|
||||||
|
message: '加载中...',
|
||||||
|
className:'conter-toast',
|
||||||
|
duration: 0,
|
||||||
|
forbidClick: true,
|
||||||
|
loadingType: 'spinner',
|
||||||
|
});
|
||||||
|
}else{
|
||||||
|
self.$toast.clear();
|
||||||
|
}
|
||||||
|
},
|
||||||
|
deep:true,
|
||||||
|
immediate:true
|
||||||
|
}
|
||||||
|
};
|
||||||
|
var ImagesJs = {
|
||||||
|
ImagesTouchEvent(){
|
||||||
|
console.log(1111)
|
||||||
|
},
|
||||||
|
ImagesTouchStart(e){
|
||||||
|
console.log(e)
|
||||||
|
// var self = this;
|
||||||
|
// self.ParamImages.operation.click = false;
|
||||||
|
// self.ParamImages.operation.time = setTimeout(function(){
|
||||||
|
// self.asdfasdfdsf(e);
|
||||||
|
// },600);
|
||||||
|
},
|
||||||
|
ImagesTouchStartLongpress(e){
|
||||||
|
var self = this;
|
||||||
|
var img = $(e.target);
|
||||||
|
self.ParamImages.operation.target = img.closest('.div-black');
|
||||||
|
var circular = img.siblings('.circular-box');
|
||||||
|
var style = {
|
||||||
|
width:img.width()+'px',
|
||||||
|
height:img.height()+'px',
|
||||||
|
top:img.offset().top+'px',
|
||||||
|
left:img.offset().left+'px',
|
||||||
|
}
|
||||||
|
var box = $(document).width();
|
||||||
|
|
||||||
|
var touch = e.touches[0];
|
||||||
|
var pageR = touch.pageX+22.5+62;
|
||||||
|
var pageT = 22.5+70;
|
||||||
|
var pageL = 62+22.5;
|
||||||
|
var pageB = touch.pageX+22.5+62;
|
||||||
|
circular.addClass('top');
|
||||||
|
if(pageR>box){
|
||||||
|
circular.addClass('right')
|
||||||
|
}
|
||||||
|
if(pageL>touch.pageX){
|
||||||
|
circular.addClass('left')
|
||||||
|
}
|
||||||
|
self.ParamImages.operation.istouch = true;
|
||||||
|
circular.css({
|
||||||
|
top:touch.pageY-((circular.width()+6)/2),
|
||||||
|
left:touch.pageX-((circular.height()+6)/2),
|
||||||
|
});
|
||||||
|
img.css(style);
|
||||||
|
img.closest('.div-black').addClass('fixed');
|
||||||
|
|
||||||
|
setTimeout(function(){
|
||||||
|
var first = circular.find('.circular-item.first');
|
||||||
|
self.ParamImages.operation.details = {
|
||||||
|
touchMinw:first.offset().left,
|
||||||
|
touchMaxw:first.offset().left+45,
|
||||||
|
touchMinh:first.offset().top,
|
||||||
|
touchMaxh:first.offset().top+45,
|
||||||
|
};
|
||||||
|
var two = circular.find('.circular-item.two');
|
||||||
|
self.ParamImages.operation.share = {
|
||||||
|
touchMinw:two.offset().left,
|
||||||
|
touchMaxw:two.offset().left+45,
|
||||||
|
touchMinh:two.offset().top,
|
||||||
|
touchMaxh:two.offset().top+45,
|
||||||
|
};
|
||||||
|
var three = circular.find('.circular-item.three');
|
||||||
|
self.ParamImages.operation.share = {
|
||||||
|
touchMinw:three.offset().left,
|
||||||
|
touchMaxw:three.offset().left+45,
|
||||||
|
touchMinh:three.offset().top,
|
||||||
|
touchMaxh:three.offset().top+45,
|
||||||
|
};
|
||||||
|
},500)
|
||||||
|
|
||||||
|
},
|
||||||
|
ImagesTouchMove(e){
|
||||||
|
var self = this;
|
||||||
|
var touch = e.touches[0];
|
||||||
|
var x = touch.pageX;
|
||||||
|
var y = touch.pageY;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
},
|
||||||
|
ImagesTouchEnd(e){
|
||||||
|
var self = this;
|
||||||
|
// e.preventDefault();
|
||||||
|
clearTimeout(self.ParamImages.operation.time);
|
||||||
|
self.ParamImages.operation.click = true;
|
||||||
|
if(self.ParamImages.operation.istouch){
|
||||||
|
self.ParamImages.operation.target.removeClass('fixed');
|
||||||
|
self.ParamImages.operation.target.find('.circular-box').removeClass('top left right');
|
||||||
|
}
|
||||||
|
},
|
||||||
|
ImagesDetailClick(rid,index){
|
||||||
|
var self = this;
|
||||||
|
// this.ParamDetail.ridIndex = index;
|
||||||
|
// this.ParamDetail.rid = rid;
|
||||||
|
// this.ParamDetail.PopupVisible = true;
|
||||||
|
|
||||||
|
var arr = [];
|
||||||
|
for(var i in self.ParamImages.data){
|
||||||
|
arr.push(self.ParamImages.data[i].rid);
|
||||||
|
}
|
||||||
|
arr = arr.join(',');
|
||||||
|
window.localStorage.setItem('imgs',arr);
|
||||||
|
window.location.href = SITEURL+MOD_URL+'&op=details#rid='+rid;
|
||||||
|
},
|
||||||
|
ImagesMounted(){
|
||||||
|
var self = this;
|
||||||
|
var ParamBasic = self.ParamBasic;
|
||||||
|
var beforeScrollTop = document.body.scrollTop,fn = fn || function() {};
|
||||||
|
$('.pic-container-scroll').scroll(function(e){
|
||||||
|
var afterScrollTop = $(this).scrollTop(),
|
||||||
|
updown = afterScrollTop - beforeScrollTop;
|
||||||
|
if( updown === 0 ) return false;
|
||||||
|
beforeScrollTop = afterScrollTop;
|
||||||
|
self.ParamFooter.IsShow = updown > 0 ? "down" : "up"; //判断往上还是往下
|
||||||
|
self.ImagesLayoutScrollShow();
|
||||||
|
if($(this).scrollTop()+$(this).height()>=this.scrollHeight-80){
|
||||||
|
if(ParamBasic.page>=ParamBasic.totalpage || self.ParamImages.loading || self.ParamImages.valloading){
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
self.CommonhandleHash('scroll');
|
||||||
|
}
|
||||||
|
});
|
||||||
|
$('.div-black').click(function(){
|
||||||
|
})
|
||||||
|
window.addEventListener('resize',function(){
|
||||||
|
self.ParamImages.resize += 1;
|
||||||
|
});
|
||||||
|
},
|
||||||
|
ImagesImgload(rid){
|
||||||
|
var self = this;
|
||||||
|
var item = $(self.$refs['ref_'+rid]);
|
||||||
|
item.removeClass('opacity');
|
||||||
|
item.parents('.imgbox-border').css('background','').removeClass('radius');
|
||||||
|
self.ParamImages.operation.click = 0;
|
||||||
|
// item[0].addEventListener("touchstart",function(e){
|
||||||
|
// var touch = e.touches[0];
|
||||||
|
// self.ParamImages.operation.click = touch.clientY;
|
||||||
|
// self.ParamImages.operation.time = setTimeout(function(){
|
||||||
|
// self.ParamImages.operation.click = true;
|
||||||
|
// self.ImagesTouchStartLongpress(e);
|
||||||
|
// },600);
|
||||||
|
|
||||||
|
|
||||||
|
// },false);
|
||||||
|
|
||||||
|
// item[0].addEventListener("touchmove",function(e){
|
||||||
|
// var touch = e.touches[0];
|
||||||
|
// console.log(Math.abs(touch.clientY - self.ParamImages.operation.click))
|
||||||
|
// if(Math.abs(touch.clientY - self.ParamImages.operation.click) < 10){
|
||||||
|
// e.preventDefault();
|
||||||
|
// }
|
||||||
|
// clearTimeout(self.ParamImages.operation.time);
|
||||||
|
|
||||||
|
// },false);
|
||||||
|
// item[0].addEventListener("touchend",function(e){
|
||||||
|
// clearTimeout(self.ParamImages.operation.time);
|
||||||
|
// // if(self.ParamImages.operation.istouch){
|
||||||
|
// self.ParamImages.operation.target.removeClass('fixed');
|
||||||
|
// self.ParamImages.operation.target.find('.circular-box').removeClass('top left right');
|
||||||
|
// // }
|
||||||
|
|
||||||
|
// },false)
|
||||||
|
},
|
||||||
|
ImagesLayoutInit(){
|
||||||
|
var self = this;
|
||||||
|
if(self.ParamSort.layout.value == 'waterFall'){
|
||||||
|
self.ImagesWaterfalllayoutCompute();
|
||||||
|
}else if(self.ParamSort.layout.value == 'rowGrid'){
|
||||||
|
self.ImagesRowGridtlayoutCompute();
|
||||||
|
}else{
|
||||||
|
self.ImagesListlayoutCompute();
|
||||||
|
}
|
||||||
|
},
|
||||||
|
ImagesRowGridtlayoutCompute(){
|
||||||
|
var self = this;
|
||||||
|
var imagerowGrid = self.ParamImages.imagerowGrid;
|
||||||
|
if(self.ParamImages.type == 'refresh' || !self.ParamImages.data.length){
|
||||||
|
imagerowGrid.maxNewtop = 0;
|
||||||
|
imagerowGrid.rowWidth = 0;
|
||||||
|
imagerowGrid.rowElems = [];
|
||||||
|
imagerowGrid.maxNewLeft = 0;
|
||||||
|
imagerowGrid.perpage = 0;
|
||||||
|
imagerowGrid.SurplusImgdatas = [];
|
||||||
|
imagerowGrid.StoreImgdatas = [];
|
||||||
|
this.ParamImages.Newdatas = {};
|
||||||
|
}
|
||||||
|
if(!self.ParamImages.data.length){
|
||||||
|
$('#imgContainer').height(0);
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
var OtherHeight = 0
|
||||||
|
if(self.ParamSort.showinformation.value.indexOf('name')>-1 || self.ParamSort.showinformation.value.indexOf('extension')>-1){
|
||||||
|
OtherHeight += 45;
|
||||||
|
}
|
||||||
|
if(self.ParamSort.showinformation.value.indexOf('other')>-1){
|
||||||
|
OtherHeight += 20;
|
||||||
|
}
|
||||||
|
imagerowGrid.OtherHeight = OtherHeight;
|
||||||
|
var arr = {};
|
||||||
|
if(imagerowGrid.rowElems.length){
|
||||||
|
for(var s in imagerowGrid.rowElems){
|
||||||
|
arr[imagerowGrid.rowElems[s].rid] = JSON.parse(JSON.stringify(imagerowGrid.rowElems[s]));
|
||||||
|
}
|
||||||
|
imagerowGrid.rowWidth = 0;
|
||||||
|
imagerowGrid.rowElems = [];
|
||||||
|
imagerowGrid.maxNewLeft = 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
for(var findex = imagerowGrid.perpage; findex < self.ParamImages.data.length;++findex){
|
||||||
|
var str = JSON.parse(JSON.stringify(self.ParamImages.data[findex]));
|
||||||
|
var rid = str.rid;
|
||||||
|
arr[rid] = str;
|
||||||
|
var w = parseInt(arr[rid]['width']);
|
||||||
|
var h = parseInt(arr[rid]['height']);
|
||||||
|
var r = w / h;
|
||||||
|
var r1 = h / w;
|
||||||
|
if (h > 260) {
|
||||||
|
h = 260;
|
||||||
|
w = r * h;
|
||||||
|
} else if (w < 260) {
|
||||||
|
w = 260;
|
||||||
|
h = 260;
|
||||||
|
}
|
||||||
|
arr[rid]['pwidth'] = w;
|
||||||
|
arr[rid]['pheight'] = h;
|
||||||
|
}
|
||||||
|
var documentW = document.body.clientWidth;
|
||||||
|
var boxWidth = documentW-8;
|
||||||
|
$('#imgContainer').width(boxWidth);
|
||||||
|
for(var index in arr){
|
||||||
|
var item = arr[index];
|
||||||
|
imagerowGrid.rowWidth += item['pwidth'];
|
||||||
|
imagerowGrid.rowElems.push(item);
|
||||||
|
var fdiiff = imagerowGrid.rowWidth + imagerowGrid.Margin * (imagerowGrid.rowElems.length - 1);
|
||||||
|
var diff = fdiiff - boxWidth;//多出来的宽度
|
||||||
|
if (fdiiff > boxWidth){
|
||||||
|
var widthDiff = 0,maxNewHeight = 0;
|
||||||
|
for(var rowElemIndex in imagerowGrid.rowElems){
|
||||||
|
var rid = imagerowGrid.rowElems[rowElemIndex].rid;
|
||||||
|
var rowElemWidth = arr[rid]['pwidth'];//获取一行每个都宽度
|
||||||
|
var rowElemHeight = arr[rid]['pheight'];//获取一行每个都宽度
|
||||||
|
|
||||||
|
var newWidth = rowElemWidth - (rowElemWidth / imagerowGrid.rowWidth) * diff;//新宽度
|
||||||
|
var newHeight = Math.round(rowElemHeight * (newWidth / rowElemWidth));//新高度
|
||||||
|
if (widthDiff + 1 - newWidth % 1 >= 0.5) {
|
||||||
|
widthDiff -= newWidth % 1;
|
||||||
|
newWidth = Math.floor(newWidth);
|
||||||
|
} else {
|
||||||
|
widthDiff += 1 - newWidth % 1;
|
||||||
|
newWidth = Math.ceil(newWidth);
|
||||||
|
}
|
||||||
|
if (newHeight > maxNewHeight){
|
||||||
|
maxNewHeight = newHeight;
|
||||||
|
}
|
||||||
|
arr[rid]['pwidth'] = newWidth;
|
||||||
|
arr[rid]['pheight'] = maxNewHeight;
|
||||||
|
arr[rid]['ptop'] = imagerowGrid.maxNewtop;
|
||||||
|
arr[rid]['pbottom'] = imagerowGrid.maxNewtop+maxNewHeight+imagerowGrid.OtherHeight;
|
||||||
|
if(rowElemIndex > 0){
|
||||||
|
arr[rid]['pleft'] = imagerowGrid.maxNewLeft;
|
||||||
|
}else{
|
||||||
|
arr[rid]['pleft'] = 0;
|
||||||
|
}
|
||||||
|
imagerowGrid.maxNewLeft += newWidth + imagerowGrid.Margin;
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
for(var frowElemIndex in imagerowGrid.rowElems){//规整每行的高
|
||||||
|
var rowElem = imagerowGrid.rowElems[frowElemIndex].rid;
|
||||||
|
|
||||||
|
var height = arr[rowElem]['pheight'];//获取一行每个都宽度
|
||||||
|
if(height<maxNewHeight){
|
||||||
|
arr[rowElem]['pbottom'] += maxNewHeight-height;
|
||||||
|
arr[rowElem]['pheight'] = maxNewHeight;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
imagerowGrid.maxNewtop += maxNewHeight + imagerowGrid.Margin +imagerowGrid.OtherHeight
|
||||||
|
imagerowGrid.rowElems = [];
|
||||||
|
imagerowGrid.rowWidth = 0;
|
||||||
|
imagerowGrid.maxNewLeft = 0;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
var surplusheight = 0;
|
||||||
|
|
||||||
|
if (imagerowGrid.rowElems.length) {
|
||||||
|
var maxNewHeight = 0;
|
||||||
|
|
||||||
|
for(var f in imagerowGrid.rowElems){
|
||||||
|
var rowElem = imagerowGrid.rowElems[f].rid;
|
||||||
|
var rowElemWidth = arr[rowElem].pwidth;//获取一行每个都宽度
|
||||||
|
var rowElemHeight = arr[rowElem].pheight;//获取一行每个都宽度
|
||||||
|
arr[rowElem]['pwidth'] = rowElemWidth;
|
||||||
|
arr[rowElem]['pheight'] = rowElemHeight;
|
||||||
|
arr[rowElem]['ptop'] = imagerowGrid.maxNewtop;
|
||||||
|
arr[rowElem]['pbottom'] = imagerowGrid.maxNewtop+rowElemHeight+imagerowGrid.OtherHeight;
|
||||||
|
if (rowElemHeight > maxNewHeight){
|
||||||
|
maxNewHeight = rowElemHeight;
|
||||||
|
}
|
||||||
|
if(f > 0){
|
||||||
|
arr[rowElem]['pleft'] = imagerowGrid.maxNewLeft;
|
||||||
|
}else{
|
||||||
|
arr[rowElem]['pleft'] = 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
imagerowGrid.maxNewLeft += rowElemWidth + imagerowGrid.Margin;
|
||||||
|
}
|
||||||
|
for(var ff in imagerowGrid.rowElems){
|
||||||
|
var rowElem = imagerowGrid.rowElems[ff].rid;
|
||||||
|
imagerowGrid.SurplusImgdatas.push(rowElem);
|
||||||
|
var height = arr[rowElem]['pheight'];
|
||||||
|
if(height<maxNewHeight){
|
||||||
|
arr[rowElem]['pbottom'] += maxNewHeight-height;
|
||||||
|
arr[rowElem]['pheight'] = maxNewHeight;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
surplusheight = maxNewHeight+imagerowGrid.OtherHeight+imagerowGrid.Margin;
|
||||||
|
// imagerowGrid.maxNewLeft = 0;
|
||||||
|
}else{
|
||||||
|
imagerowGrid.SurplusImgdatas = [];
|
||||||
|
}
|
||||||
|
$('#imgContainer').height(imagerowGrid.maxNewtop+surplusheight+60);
|
||||||
|
|
||||||
|
imagerowGrid.perpage = self.ParamImages.data.length;
|
||||||
|
var newarr = [];
|
||||||
|
for(var n in arr){
|
||||||
|
newarr.push(arr[n]);
|
||||||
|
}
|
||||||
|
if(self.ParamImages.type == 'append'){
|
||||||
|
var StoreImgdatas = JSON.parse(JSON.stringify(imagerowGrid.StoreImgdatas));
|
||||||
|
if(imagerowGrid.SurplusImgdatas.length){
|
||||||
|
var splic = [];
|
||||||
|
for(var b in StoreImgdatas){
|
||||||
|
if(imagerowGrid.SurplusImgdatas.indexOf(StoreImgdatas[b].rid)>-1){
|
||||||
|
splic.push(b)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
for(var h in splic){
|
||||||
|
imagerowGrid.StoreImgdatas.splice(parseInt(splic[h]),1);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// for(var y in newarr){
|
||||||
|
// imagerowGrid.StoreImgdatas.push(newarr[y])
|
||||||
|
// }
|
||||||
|
imagerowGrid.StoreImgdatas.push.apply(imagerowGrid.StoreImgdatas,newarr);
|
||||||
|
}else{
|
||||||
|
imagerowGrid.StoreImgdatas = newarr;
|
||||||
|
}
|
||||||
|
self.ImagesLayoutScrollShow()
|
||||||
|
},
|
||||||
|
ImagesListlayoutCompute(){
|
||||||
|
var self = this;
|
||||||
|
if(self.ParamImages.type == 'refresh' || !self.ParamImages.data.length){
|
||||||
|
self.ParamImages.imageList.perpage = 0;
|
||||||
|
var documentW = document.body.clientWidth;
|
||||||
|
var boxWidth = documentW-8;
|
||||||
|
$('#imgContainer').width(boxWidth);
|
||||||
|
var columns = 0;
|
||||||
|
if(documentW>=1024){
|
||||||
|
columns = 5;
|
||||||
|
}else if(documentW>=992){
|
||||||
|
columns = 4;
|
||||||
|
}else if(documentW>=768){
|
||||||
|
columns = 3;
|
||||||
|
}else{
|
||||||
|
columns = 2;
|
||||||
|
}
|
||||||
|
|
||||||
|
self.ParamImages.imageList.maxNewLeft = 0;
|
||||||
|
self.ParamImages.imageList.maxNewtop = 0;
|
||||||
|
self.ParamImages.imageList.fcolumns = 1;
|
||||||
|
self.ParamImages.imageList.boxHeight = 0;
|
||||||
|
self.ParamImages.imageList.StoreImgdatas = [];
|
||||||
|
self.ParamImages.Newdatas = {};
|
||||||
|
self.ParamImages.imageList.columns = columns;
|
||||||
|
self.ParamImages.imageList.newWidth = (boxWidth-(columns*self.ParamImages.imageList.Margin-self.ParamImages.imageList.Margin)) / columns;
|
||||||
|
self.ParamImages.imageList.newHeight = 2 / 3 * self.ParamImages.imageList.newWidth;
|
||||||
|
|
||||||
|
var OtherHeight = 0
|
||||||
|
if(self.ParamSort.showinformation.value.indexOf('name')>-1 || self.ParamSort.showinformation.value.indexOf('extension')>-1){
|
||||||
|
OtherHeight += 45;
|
||||||
|
}
|
||||||
|
if(self.ParamSort.showinformation.value.indexOf('other')>-1){
|
||||||
|
OtherHeight += 20;
|
||||||
|
}
|
||||||
|
self.ParamImages.imageList.OtherHeight = OtherHeight;
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
if(!self.ParamImages.data.length){
|
||||||
|
$('#imgContainer').height(0);
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
var arr = [];
|
||||||
|
var i = 0;
|
||||||
|
for(var index = self.ParamImages.imageList.perpage; index < self.ParamImages.data.length;++index){
|
||||||
|
var item = JSON.parse(JSON.stringify(self.ParamImages.data[index]));
|
||||||
|
arr[i] = item;
|
||||||
|
arr[i]['pwidth'] = self.ParamImages.imageList.newWidth;
|
||||||
|
arr[i]['pheight'] = self.ParamImages.imageList.newHeight;
|
||||||
|
arr[i]['ptop'] = self.ParamImages.imageList.maxNewtop;
|
||||||
|
arr[i]['pleft'] = self.ParamImages.imageList.maxNewLeft;
|
||||||
|
arr[i]['pbottom'] = self.ParamImages.imageList.maxNewtop + self.ParamImages.imageList.newHeight+self.ParamImages.imageList.OtherHeight;
|
||||||
|
self.ParamImages.imageList.maxNewLeft += self.ParamImages.imageList.newWidth+self.ParamImages.imageList.Margin;
|
||||||
|
self.ParamImages.imageList.fcolumns++;
|
||||||
|
if(self.ParamImages.imageList.fcolumns > self.ParamImages.imageList.columns){
|
||||||
|
self.ParamImages.imageList.maxNewLeft = 0;
|
||||||
|
self.ParamImages.imageList.maxNewtop += self.ParamImages.imageList.newHeight+self.ParamImages.imageList.Margin+self.ParamImages.imageList.OtherHeight;
|
||||||
|
self.ParamImages.imageList.fcolumns = 1;
|
||||||
|
self.ParamImages.imageList.boxHeight = self.ParamImages.imageList.maxNewtop;
|
||||||
|
}
|
||||||
|
i++;
|
||||||
|
}
|
||||||
|
self.ParamImages.imageList.perpage = self.ParamImages.data.length;
|
||||||
|
if(self.ParamImages.type == 'append'){
|
||||||
|
self.ParamImages.imageList.StoreImgdatas.push.apply(self.ParamImages.imageList.StoreImgdatas,arr);
|
||||||
|
}else{
|
||||||
|
self.ParamImages.imageList.StoreImgdatas = arr;
|
||||||
|
}
|
||||||
|
if(self.ParamImages.imageList.fcolumns>1&&self.ParamImages.imageList.fcolumns<self.ParamImages.imageList.columns+1){
|
||||||
|
self.ParamImages.imageList.boxHeight += self.ParamImages.imageList.newHeight+self.ParamImages.imageList.OtherHeight;
|
||||||
|
}
|
||||||
|
$('#imgContainer').height(self.ParamImages.imageList.boxHeight+60);
|
||||||
|
self.ImagesLayoutScrollShow()
|
||||||
|
},
|
||||||
|
ImagesWaterfalllayoutCompute(){
|
||||||
|
var self = this;
|
||||||
|
var boxWidth = $('.img-container').width()-8;
|
||||||
|
if(self.ParamImages.type == 'refresh' || !self.ParamImages.data.length){
|
||||||
|
self.ParamImages.imgageWaterfall.imgArr = [];
|
||||||
|
self.ParamImages.imgageWaterfall.perpage = 0;
|
||||||
|
self.ParamImages.imgageWaterfall.StoreImgdatas = [];
|
||||||
|
self.ParamImages.Newdatas = {};
|
||||||
|
var documentW = document.body.clientWidth;
|
||||||
|
if(documentW<768){
|
||||||
|
self.ParamImages.imgageWaterfall.isMax = false;
|
||||||
|
self.ParamImages.imgageWaterfall.columns = 2;
|
||||||
|
self.ParamImages.imgageWaterfall.imgWidth = boxWidth/2;
|
||||||
|
}else{
|
||||||
|
self.ParamImages.imgageWaterfall.isMax = true;
|
||||||
|
self.ParamImages.imgageWaterfall.imgWidth = 252;
|
||||||
|
self.ParamImages.imgageWaterfall.columns = parseInt(boxWidth/self.ParamImages.imgageWaterfall.imgWidth);
|
||||||
|
}
|
||||||
|
var OtherHeight = 0
|
||||||
|
if(self.ParamSort.showinformation.value.indexOf('name')>-1 || self.ParamSort.showinformation.value.indexOf('extension')>-1){
|
||||||
|
OtherHeight += 45;
|
||||||
|
}
|
||||||
|
if(self.ParamSort.showinformation.value.indexOf('other')>-1){
|
||||||
|
OtherHeight += 20;
|
||||||
|
}
|
||||||
|
self.ParamImages.imgageWaterfall.OtherHeight = OtherHeight;
|
||||||
|
}
|
||||||
|
if(!self.ParamImages.data.length){
|
||||||
|
$('#imgContainer').height(0);
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
var pwidth = self.ParamImages.imgageWaterfall.imgWidth;
|
||||||
|
var arr = [];
|
||||||
|
var i = 0;
|
||||||
|
for (var index = self.ParamImages.imgageWaterfall.perpage; index < self.ParamImages.data.length; index++){
|
||||||
|
arr[i] = JSON.parse(JSON.stringify(self.ParamImages.data[index]));
|
||||||
|
var ppwidth = pwidth-8;
|
||||||
|
if(self.ParamImages.imgageWaterfall.isMax){
|
||||||
|
arr[i]['pwidth'] = 252;
|
||||||
|
}else{
|
||||||
|
arr[i]['pwidth'] = pwidth;
|
||||||
|
}
|
||||||
|
var h = ppwidth/parseFloat(arr[i].width)*parseInt(arr[i].height)>120?ppwidth/parseFloat(arr[i].width)*parseInt(arr[i].height):120;
|
||||||
|
arr[i]['pheight'] = h;
|
||||||
|
if (index < self.ParamImages.imgageWaterfall.columns) {
|
||||||
|
arr[i]['ptop'] = 0;
|
||||||
|
arr[i]['pleft'] = pwidth*index;
|
||||||
|
arr[i]['pbottom'] = arr[i]['ptop']+arr[i]['pheight']+self.ParamImages.imgageWaterfall.Margin+self.ParamImages.imgageWaterfall.OtherHeight;
|
||||||
|
var imgArr = JSON.parse(JSON.stringify(arr[i]));
|
||||||
|
self.ParamImages.imgageWaterfall.imgArr.push(imgArr);
|
||||||
|
|
||||||
|
}else{
|
||||||
|
var minHeight = self.ParamImages.imgageWaterfall.imgArr[0]['pbottom'];
|
||||||
|
var findex = 0;
|
||||||
|
for (var j = 0; j < self.ParamImages.imgageWaterfall.imgArr.length; j++) {
|
||||||
|
if (minHeight > self.ParamImages.imgageWaterfall.imgArr[j]['pbottom']) {
|
||||||
|
minHeight = self.ParamImages.imgageWaterfall.imgArr[j]['pbottom'];
|
||||||
|
findex = j;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
arr[i]['ptop'] = JSON.parse(JSON.stringify(self.ParamImages.imgageWaterfall.imgArr[findex]['pbottom']));
|
||||||
|
arr[i]['pleft'] = JSON.parse(JSON.stringify(self.ParamImages.imgageWaterfall.imgArr[findex]['pleft']));
|
||||||
|
arr[i]['pbottom'] = arr[i]['ptop']+arr[i]['pheight']+self.ParamImages.imgageWaterfall.Margin+self.ParamImages.imgageWaterfall.OtherHeight;
|
||||||
|
|
||||||
|
var imgArr = JSON.parse(JSON.stringify(arr[i]));
|
||||||
|
self.ParamImages.imgageWaterfall.imgArr[findex] = imgArr;
|
||||||
|
|
||||||
|
}
|
||||||
|
i++;
|
||||||
|
}
|
||||||
|
self.ParamImages.imgageWaterfall.perpage = self.ParamImages.data.length;
|
||||||
|
if(self.ParamImages.type == 'append'){
|
||||||
|
self.ParamImages.imgageWaterfall.StoreImgdatas.push.apply(self.ParamImages.imgageWaterfall.StoreImgdatas,arr);
|
||||||
|
}else{
|
||||||
|
self.ParamImages.imgageWaterfall.StoreImgdatas = arr;
|
||||||
|
}
|
||||||
|
|
||||||
|
var fminHeight = self.ParamImages.imgageWaterfall.imgArr[0]['pbottom'];
|
||||||
|
for (var j = 0; j < self.ParamImages.imgageWaterfall.imgArr.length; j++) {
|
||||||
|
if (fminHeight < self.ParamImages.imgageWaterfall.imgArr[j]['pbottom']) {
|
||||||
|
fminHeight = self.ParamImages.imgageWaterfall.imgArr[j]['pbottom'];
|
||||||
|
}
|
||||||
|
}
|
||||||
|
self.ParamImages.imgageWaterfall.boxHeight = fminHeight;
|
||||||
|
$('#imgContainer').css({
|
||||||
|
height:self.ParamImages.imgageWaterfall.boxHeight+60+'px',
|
||||||
|
width:self.ParamImages.imgageWaterfall.columns*pwidth+'px'
|
||||||
|
});
|
||||||
|
self.ImagesLayoutScrollShow();
|
||||||
|
|
||||||
|
},
|
||||||
|
ImagesLayoutScrollShow(){
|
||||||
|
var self = this;
|
||||||
|
var H = jQuery('.pic-container-scroll')[0].clientHeight;//获取可视区域高度
|
||||||
|
var S = jQuery('.pic-container-scroll')[0].scrollTop;
|
||||||
|
var arr = [];
|
||||||
|
|
||||||
|
if(self.ParamSort.layout.value == 'waterFall'){
|
||||||
|
var StoreImgdatas = JSON.parse(JSON.stringify(self.ParamImages.imgageWaterfall.StoreImgdatas));
|
||||||
|
}else if(self.ParamSort.layout.value == 'rowGrid'){
|
||||||
|
var StoreImgdatas = JSON.parse(JSON.stringify(self.ParamImages.imagerowGrid.StoreImgdatas));
|
||||||
|
}else{
|
||||||
|
var StoreImgdatas = JSON.parse(JSON.stringify(self.ParamImages.imageList.StoreImgdatas));
|
||||||
|
}
|
||||||
|
self.ParamImages.Newdatas = {};
|
||||||
|
for(var o in StoreImgdatas){
|
||||||
|
var item = JSON.parse(JSON.stringify(StoreImgdatas[o]));
|
||||||
|
if ((H+S) >= item.ptop && S<item.pbottom) {
|
||||||
|
item['index'] = parseInt(o);
|
||||||
|
self.ParamImages.Newdatas[item.rid] = item;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
};
|
||||||
|
</script>
|
||||||
272
dzz/pichome/template/mobile/components/index/JsIndex.htm
Normal file
272
dzz/pichome/template/mobile/components/index/JsIndex.htm
Normal file
@@ -0,0 +1,272 @@
|
|||||||
|
<van-nav-bar class="header-top" :class="ParamFooter.IsShow=='up'?'':'headerhide'" title="" left-text="" left-arrow>
|
||||||
|
<template #left>
|
||||||
|
<div class="pic-logo" slot="left">
|
||||||
|
<a class="h-left" href="$_G[siteurl]">
|
||||||
|
<img src="data/attachment/sitelogo/sitelogo.png?{VERHASH}" alt="">
|
||||||
|
<span class="text">$_G['setting'][sitename]</span>
|
||||||
|
</a>
|
||||||
|
</div>
|
||||||
|
</template>
|
||||||
|
<template #right>
|
||||||
|
<van-dropdown-menu>
|
||||||
|
<van-dropdown-item @change="ChangeLibrary" v-model="ParamLibrary.activeId" :options="ParamLibrary.fdata" />
|
||||||
|
</van-dropdown-menu>
|
||||||
|
|
||||||
|
</template>
|
||||||
|
</van-nav-bar>
|
||||||
|
<div class="pic-container">
|
||||||
|
<!--{template mobile/components/index/JsImages}-->
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<footer class="pic-toolbar" :class="ParamFooter.IsShow=='up'?'footershow':'footerhide'">
|
||||||
|
<div class="tabbar">
|
||||||
|
<template v-for="item in ParamFooter.data">
|
||||||
|
<template v-if="item.show">
|
||||||
|
<template v-if="item.type == 'user'">
|
||||||
|
<div class="tab-item" @click="MyPopupVisible=true">
|
||||||
|
<div id="dzz_avatar_img">{eval echo avatar_block($_G[uid]);} </div>
|
||||||
|
</div>
|
||||||
|
</template>
|
||||||
|
<template v-else>
|
||||||
|
<div class="tab-item" @click="handleFooterClick(item.type)">
|
||||||
|
<i :class="item.icon" style="position: relative;">
|
||||||
|
<template v-if="item.type == 'search'">
|
||||||
|
<div v-if="ParamSearch.keyword" class="van-info van-info--dot van-sidebar-item__info"></div>
|
||||||
|
</template>
|
||||||
|
<template v-else-if="item.type == 'screen'">
|
||||||
|
<div v-if="ParamScreen.ActiveNum" class="van-info van-info--dot van-sidebar-item__info"></div>
|
||||||
|
</template>
|
||||||
|
</i>
|
||||||
|
</div>
|
||||||
|
</template>
|
||||||
|
</template>
|
||||||
|
|
||||||
|
|
||||||
|
</template>
|
||||||
|
</div>
|
||||||
|
</footer>
|
||||||
|
<!--{template mobile/components/index/JsCommon}-->
|
||||||
|
<!--{template mobile/components/index/JsSearch}-->
|
||||||
|
<!--{template mobile/components/index/JsSort}-->
|
||||||
|
<!--{template mobile/components/index/JsScreen}-->
|
||||||
|
<!--{template mobile/components/index/JsMy}-->
|
||||||
|
<script type="text/javascript">
|
||||||
|
Vue.component('screenclassify', {
|
||||||
|
template: `<van-collapse v-model="parammodel.activeNames" :border="false">
|
||||||
|
<van-collapse-item v-for="item in paramdata" :key="item.fid" :name="item.fid" disabled :class="{'active':parammodel.value.indexOf(item.fid)>-1}" :ref="'collapse_'+item.fid">
|
||||||
|
<template #title>
|
||||||
|
<div @click.stop="ScreenClassifyClick(item)">
|
||||||
|
{{item.fname}}
|
||||||
|
</div>
|
||||||
|
</template>
|
||||||
|
<template #right-icon>
|
||||||
|
<template v-if="item.children && item.children.length">
|
||||||
|
<i @click.stop="ScreenClassifyToggle(item.fid)" class="van-icon van-icon-arrow van-cell__right-icon"></i>
|
||||||
|
</template>
|
||||||
|
<template v-else>
|
||||||
|
<div style="width: 20px;"></div>
|
||||||
|
</template>
|
||||||
|
</template>
|
||||||
|
<template v-if="item.children && item.children.length">
|
||||||
|
<screenclassify :parammodel="parammodel" :paramdata="item.children" @screenclassifychange="screenclassifychange"></screenclassify>
|
||||||
|
</template>
|
||||||
|
</van-collapse-item>
|
||||||
|
</van-collapse>`,
|
||||||
|
props:['paramdata','parammodel'],
|
||||||
|
data: function() {
|
||||||
|
return {}
|
||||||
|
},
|
||||||
|
created() {
|
||||||
|
},
|
||||||
|
methods:{
|
||||||
|
ScreenClassifyClick(item){
|
||||||
|
var self = this;
|
||||||
|
var index = this.parammodel.value.indexOf(item.fid);
|
||||||
|
if(index> -1){
|
||||||
|
this.parammodel.value.splice(index,1);
|
||||||
|
this.ScreenClassifyChild(item.children,'del');
|
||||||
|
}else{
|
||||||
|
this.parammodel.value.push(item.fid);
|
||||||
|
this.ScreenClassifyChild(item.children,'add');
|
||||||
|
}
|
||||||
|
self.$emit('screenclassifychange');
|
||||||
|
},
|
||||||
|
ScreenClassifyChild(item,type){
|
||||||
|
var classify = this.parammodel.value;
|
||||||
|
for(var i in item){
|
||||||
|
var fitem = item[i];
|
||||||
|
var index = classify.indexOf(fitem.fid);
|
||||||
|
if(type == 'add'){
|
||||||
|
if(index<0){
|
||||||
|
classify.push(fitem.fid)
|
||||||
|
}
|
||||||
|
}else{
|
||||||
|
if(index>-1){
|
||||||
|
classify.splice(index,1);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if(fitem.children && fitem.children.length){
|
||||||
|
this.ScreenClassifyChild(fitem.children,type);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
screenclassifychange(){
|
||||||
|
var self = this;
|
||||||
|
self.$emit('screenclassifychange');
|
||||||
|
},
|
||||||
|
ScreenClassifyToggle(fid){
|
||||||
|
var self = this;
|
||||||
|
if(self.$refs['collapse_'+fid] && self.$refs['collapse_'+fid].length){
|
||||||
|
self.$refs['collapse_'+fid][0].toggle();
|
||||||
|
}
|
||||||
|
},
|
||||||
|
},
|
||||||
|
mounted() {
|
||||||
|
},
|
||||||
|
});
|
||||||
|
|
||||||
|
new Vue({
|
||||||
|
el: '#dzzoffice',
|
||||||
|
data: function() {
|
||||||
|
return $.extend({},MyData,SearchData,SortData,ImagesData,ScreenData,{
|
||||||
|
ParamFooter:{
|
||||||
|
IsShow:'up',
|
||||||
|
data:{
|
||||||
|
clear:{type:'clear',icon:'icon ri-brush-3-line',show:false},
|
||||||
|
search:{type:'search',icon:'icon ri-search-line',show:true},
|
||||||
|
screen:{type:'screen',icon:'icon ri-filter-2-fill',show:false},
|
||||||
|
sort:{type:'sort',icon:'icon ri-arrow-up-down-fill',show:true},
|
||||||
|
user:{type:'user',icon:'',show:true}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
ParamDataInit:{
|
||||||
|
appid:'',
|
||||||
|
keyword:'',
|
||||||
|
asc: "desc",
|
||||||
|
order: 1,
|
||||||
|
page: 1,
|
||||||
|
classify:'',
|
||||||
|
tag:'',
|
||||||
|
color:'',
|
||||||
|
link:'',
|
||||||
|
desc:'',
|
||||||
|
duration:'',
|
||||||
|
wsize:'',
|
||||||
|
hsize:'',
|
||||||
|
ext:'',
|
||||||
|
shape:'',
|
||||||
|
shapesize:'',
|
||||||
|
grade:'',
|
||||||
|
btime:'',
|
||||||
|
dateline:'',
|
||||||
|
mtime:''
|
||||||
|
},
|
||||||
|
ParamData:{},
|
||||||
|
ParamBasic:{
|
||||||
|
page: 1,
|
||||||
|
perpage: 50,
|
||||||
|
total: 0,
|
||||||
|
totalpage:0,
|
||||||
|
},
|
||||||
|
ParamLibrary:{
|
||||||
|
activeId:'',
|
||||||
|
data:$apps || [],
|
||||||
|
fdata:[]
|
||||||
|
},
|
||||||
|
});
|
||||||
|
},
|
||||||
|
watch: $.extend({},ImagesWatchJs,{
|
||||||
|
|
||||||
|
}),
|
||||||
|
computed: {
|
||||||
|
|
||||||
|
},
|
||||||
|
created() {
|
||||||
|
var pagesetting = $pagesetting;
|
||||||
|
console.log(pagesetting)
|
||||||
|
if(pagesetting){
|
||||||
|
var show = [];
|
||||||
|
<!--{if $_G[uid]}-->
|
||||||
|
if(pagesetting.show){
|
||||||
|
show = pagesetting.show.split(',');
|
||||||
|
}
|
||||||
|
<!--{else}-->
|
||||||
|
var fshow = sessionStorage.getItem('InformationShow');
|
||||||
|
if(fshow){
|
||||||
|
show = fshow.split(',');
|
||||||
|
}else{
|
||||||
|
if(pagesetting.show){
|
||||||
|
show = pagesetting.show.split(',');
|
||||||
|
}
|
||||||
|
}
|
||||||
|
<!--{/if}-->
|
||||||
|
<!--{if $_G[uid]}-->
|
||||||
|
var other = pagesetting.other;
|
||||||
|
var Layout = pagesetting.layout;
|
||||||
|
var order = parseInt(pagesetting.sort);
|
||||||
|
var asc = pagesetting.desc;
|
||||||
|
<!--{else}-->
|
||||||
|
var other = sessionStorage.getItem('InformationOther');
|
||||||
|
if(!other){
|
||||||
|
other = pagesetting.other;
|
||||||
|
}
|
||||||
|
var Layout = sessionStorage.getItem('Layout');
|
||||||
|
if(!Layout){
|
||||||
|
Layout = pagesetting.layout;
|
||||||
|
}
|
||||||
|
|
||||||
|
var order = sessionStorage.getItem('order');
|
||||||
|
if(!order){
|
||||||
|
order = parseInt(pagesetting.sort);
|
||||||
|
}
|
||||||
|
var asc = sessionStorage.getItem('asc');
|
||||||
|
if(!asc){
|
||||||
|
asc = pagesetting.desc;
|
||||||
|
}
|
||||||
|
<!--{/if}-->
|
||||||
|
this.ParamSort.showinformation.value = show;
|
||||||
|
this.ParamSort.otherinformation.value = other || 'btime';
|
||||||
|
this.ParamSort.layout.value = Layout || 'waterFall';
|
||||||
|
this.ParamSort.Sorttype.value = order || 1;
|
||||||
|
this.ParamSort.sortorder.value = asc || 'desc';
|
||||||
|
|
||||||
|
this.ParamDataInit.order = order || 1;
|
||||||
|
this.ParamDataInit.asc = asc || 'desc';
|
||||||
|
}
|
||||||
|
this.StartData();
|
||||||
|
},
|
||||||
|
methods:$.extend({},CommonJs,SearchJs,MyJs,ScreenJs,SortJs,ImagesJs,{
|
||||||
|
StartData(){
|
||||||
|
this.CommonLibrary();
|
||||||
|
},
|
||||||
|
ChangeLibrary(val){//库改变
|
||||||
|
if(val){
|
||||||
|
window.location.hash = '#appid='+val;
|
||||||
|
}else{
|
||||||
|
window.location.hash = '';
|
||||||
|
}
|
||||||
|
window.location.reload();
|
||||||
|
},
|
||||||
|
handleFooterClick(type){
|
||||||
|
if(type == 'search'){
|
||||||
|
this.ParamSearch.PopupVisible = true;
|
||||||
|
}else if(type == 'screen'){
|
||||||
|
this.ParamScreen.PopupVisible = true;
|
||||||
|
}else if(type == 'sort'){
|
||||||
|
this.ParamSort.PopupVisible = true;
|
||||||
|
}else if(type == 'clear'){
|
||||||
|
this.ParamSearch.keyword = '';
|
||||||
|
this.ScreenReset();
|
||||||
|
this.CommonSetFooterBadge();
|
||||||
|
this.CommonhandleHash();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
}),
|
||||||
|
mounted() {
|
||||||
|
this.ImagesMounted();
|
||||||
|
// this.DetailMounted();
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
</script>
|
||||||
100
dzz/pichome/template/mobile/components/index/JsMy.htm
Normal file
100
dzz/pichome/template/mobile/components/index/JsMy.htm
Normal file
@@ -0,0 +1,100 @@
|
|||||||
|
<van-popup v-model="MyPopupVisible" class="my-popup" position="right">
|
||||||
|
<van-nav-bar title="我的设置" left-arrow @click-left="MyNavbarLeftClick"></van-nav-bar>
|
||||||
|
<div class="scroll-box">
|
||||||
|
<van-cell-group>
|
||||||
|
<!--{if $_G[uid]}-->
|
||||||
|
<van-cell clickable title="个人设置" is-link @click="MyClick('person')"></van-cell>
|
||||||
|
<!--{/if}-->
|
||||||
|
<van-cell clickable title="帮助文档" @click="MyClick('help')">
|
||||||
|
<template #right-icon>
|
||||||
|
<i class="ri-arrow-right-up-line"></i>
|
||||||
|
</template>
|
||||||
|
</van-cell>
|
||||||
|
<van-cell clickable title="问题反馈" @click="MyClick('question')">
|
||||||
|
<template #right-icon>
|
||||||
|
<i class="ri-arrow-right-up-line"></i>
|
||||||
|
</template>
|
||||||
|
</van-cell>
|
||||||
|
<van-cell clickable title="关于PicHome" is-link @click="MyClick('about')"></van-cell>
|
||||||
|
<!--{if $_G[uid]}-->
|
||||||
|
<van-cell clickable title="退出登录" @click="MyClick('out')">
|
||||||
|
<template #right-icon>
|
||||||
|
<i class="ri-logout-box-r-line"></i>
|
||||||
|
</template>
|
||||||
|
</van-cell>
|
||||||
|
<!--{else}-->
|
||||||
|
<van-cell clickable title="登录PicHome" @click="MyClick('login')" is-link></van-cell>
|
||||||
|
<!--{/if}-->
|
||||||
|
|
||||||
|
</van-cell-group>
|
||||||
|
</div>
|
||||||
|
</van-popup>
|
||||||
|
<van-popup v-model="AboutPopupVisible" class="about-popup" position="right">
|
||||||
|
<van-nav-bar title="关于PicHome" left-arrow @click-left="AboutNavbarLeftClick"></van-nav-bar>
|
||||||
|
<div class="scroll-box">
|
||||||
|
<div class="aboutlogo">
|
||||||
|
<img src="dzz/pichome/image/phlogo.png" alt="">
|
||||||
|
</div>
|
||||||
|
<div class="aboutmessage">
|
||||||
|
<div class="aboutlist">
|
||||||
|
<span class="title">软件名称:</span><span class="mes">欧奥PicHome</span>
|
||||||
|
</div>
|
||||||
|
<div class="aboutlist">
|
||||||
|
<span class="title">版本信息:</span><span class="mes">$_G[setting][version]</span>
|
||||||
|
</div>
|
||||||
|
<div class="aboutlist">
|
||||||
|
<span class="title">版权信息:</span><span class="mes">Powered By oaooa PicHome © 2020-2021 欧奥图文</span>
|
||||||
|
</div>
|
||||||
|
<div class="aboutlist">
|
||||||
|
<span class="title">网站地址:</span><span class="mes"><a class="address" href="https://oaooa.com/" target="_blank">oaooa.com</a></span>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</van-popup>
|
||||||
|
<script type="text/javascript">
|
||||||
|
var MyData = {
|
||||||
|
MyPopupVisible:false,
|
||||||
|
AboutPopupVisible:false,
|
||||||
|
};
|
||||||
|
var MyJs = {
|
||||||
|
MyNavbarLeftClick(){
|
||||||
|
this.MyPopupVisible = false;
|
||||||
|
},
|
||||||
|
AboutNavbarLeftClick(){
|
||||||
|
this.AboutPopupVisible = false;
|
||||||
|
},
|
||||||
|
MyClick(type){
|
||||||
|
var self = this;
|
||||||
|
switch(type){
|
||||||
|
case 'person':
|
||||||
|
window.location.href = MOD_URL + '&op=user&do=personal';
|
||||||
|
break;
|
||||||
|
case 'help':
|
||||||
|
window.location.href = "https://www.yuque.com/pichome";
|
||||||
|
break;
|
||||||
|
case 'question':
|
||||||
|
window.location.href = "https://support.qq.com/products/340252";
|
||||||
|
break;
|
||||||
|
case 'about':
|
||||||
|
this.AboutPopupVisible = true;
|
||||||
|
break;
|
||||||
|
case 'out':
|
||||||
|
self.$dialog.confirm({
|
||||||
|
title: '提示',
|
||||||
|
message: '您确定要注销登录?',
|
||||||
|
}).then(() => {
|
||||||
|
// on confirm
|
||||||
|
jQuery.get('user.php?mod=login&op=logging&action=logout&formhash={FORMHASH}&t='+new Date().getTime(),function(data){
|
||||||
|
window.location.reload();
|
||||||
|
});
|
||||||
|
}).catch(() => {
|
||||||
|
// on cancel
|
||||||
|
});
|
||||||
|
break;
|
||||||
|
case 'login':
|
||||||
|
window.location.href = SITEURL+'user.php?mod=login';
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
};
|
||||||
|
</script>
|
||||||
1603
dzz/pichome/template/mobile/components/index/JsScreen.htm
Normal file
1603
dzz/pichome/template/mobile/components/index/JsScreen.htm
Normal file
File diff suppressed because it is too large
Load Diff
161
dzz/pichome/template/mobile/components/index/JsSearch.htm
Normal file
161
dzz/pichome/template/mobile/components/index/JsSearch.htm
Normal file
@@ -0,0 +1,161 @@
|
|||||||
|
<van-popup class="seasrch-popup footer-popup" v-model="ParamSearch.PopupVisible" round position="bottom" :style="{ height: '90%' }" @open="SearchPopupOpen" @close="SearchPopupClose">
|
||||||
|
<div class="vam-popup-title" @click="ParamSearch.PopupVisible=false">搜索</div>
|
||||||
|
<div class="van-search-box">
|
||||||
|
<van-search class="popup-search-input" v-model.trim="ParamSearch.keyword" shape="round" placeholder="输入关键词" @input="SearchInputKeyword" maxlength="50" :clearable="false">
|
||||||
|
<template #right-icon>
|
||||||
|
<van-icon v-show="ParamSearch.keyword" @click="SearchClearKeyword" name="cross" />
|
||||||
|
</template>
|
||||||
|
</van-search>
|
||||||
|
</div>
|
||||||
|
<div class="search-val-box">
|
||||||
|
<template v-if="ParamSearch.keyword">
|
||||||
|
<template v-if="ParamSearch.likeloading">
|
||||||
|
<van-loading class="custom-load" size="24px" type="spinner" color="var(--color-primary)" vertical>加载中...</van-loading>
|
||||||
|
</template>
|
||||||
|
<template v-else>
|
||||||
|
<van-list>
|
||||||
|
<van-cell v-for="(item,index) in ParamSearch.likedata" :key="index" @click="SearchClickLike(item.text)">
|
||||||
|
<template #title>
|
||||||
|
<div v-html="item.highlight"></div>
|
||||||
|
</template>
|
||||||
|
</van-cell>
|
||||||
|
</van-list>
|
||||||
|
</template>
|
||||||
|
|
||||||
|
</template>
|
||||||
|
<template v-else>
|
||||||
|
<template v-if="ParamSearch.hostloading">
|
||||||
|
<van-loading class="custom-load" size="24px" type="spinner" color="var(--color-primary)" vertical>加载中...</van-loading>
|
||||||
|
</template>
|
||||||
|
<template v-else>
|
||||||
|
<div class="search-host">
|
||||||
|
<div class="search-host-list" v-for="item in ParamSearch.hostdata" :style="{backgroundImage: 'url('+item.icondata+')'}" @click="SearchClickLike(item.keyword)">
|
||||||
|
<div class="bg"></div>
|
||||||
|
<div class="text">{{item.keyword}}</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</template>
|
||||||
|
|
||||||
|
</template>
|
||||||
|
</div>
|
||||||
|
<div class="btn-bottom">
|
||||||
|
<van-row gutter="20">
|
||||||
|
<van-col span="12" style="text-align: center;">
|
||||||
|
<van-button round plain type="primary" size="large" @click="SearchClearKeyword">重置</van-button>
|
||||||
|
</van-col>
|
||||||
|
<van-col span="12" style="text-align: center;">
|
||||||
|
<van-button round type="info" size="large" @click="SearchConfirmval">确定</van-button>
|
||||||
|
</van-col>
|
||||||
|
</van-row>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
</van-popup>
|
||||||
|
<script type="text/javascript">
|
||||||
|
var SearchData = {
|
||||||
|
ParamSearch:{
|
||||||
|
PopupVisible:false,
|
||||||
|
keyword: '',
|
||||||
|
keywordDefault:'',
|
||||||
|
hostloading:true,
|
||||||
|
hostdata:[],
|
||||||
|
likeloading:true,
|
||||||
|
likedata:[]
|
||||||
|
}
|
||||||
|
};
|
||||||
|
var SearchJs = {
|
||||||
|
SearchPopupOpen() {
|
||||||
|
var self = this;
|
||||||
|
if(self.ParamSearch.keyword){
|
||||||
|
self.SearchLikeword();
|
||||||
|
}else{
|
||||||
|
self.SearchHottag();
|
||||||
|
}
|
||||||
|
self.ParamSearch.keywordDefault = self.ParamSearch.keyword;
|
||||||
|
},
|
||||||
|
SearchPopupClose(){
|
||||||
|
var self = this;
|
||||||
|
if(self.ParamSearch.keywordDefault == self.ParamSearch.keyword){
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
self.CommonhandleHash();
|
||||||
|
self.CommonAddkeyword(self.ParamSearch.keyword,0);
|
||||||
|
},
|
||||||
|
SearchClearKeyword(){
|
||||||
|
this.ParamSearch.keyword = '';
|
||||||
|
if(this.ParamSearch.hostloading){
|
||||||
|
this.SearchHottag();
|
||||||
|
}
|
||||||
|
},
|
||||||
|
SearchInputKeyword(val){
|
||||||
|
if(val){
|
||||||
|
this.SearchLikeword();
|
||||||
|
}else{
|
||||||
|
if(this.ParamSearch.hostloading){
|
||||||
|
this.SearchHottag();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
SearchConfirmval(){
|
||||||
|
this.ParamSearch.PopupVisible = false;
|
||||||
|
},
|
||||||
|
|
||||||
|
SearchHottag(){
|
||||||
|
var self = this;
|
||||||
|
self.ParamSearch.hostloading = true;
|
||||||
|
$.post(MOD_URL+'&op=ajax&operation=getsearchtag',{
|
||||||
|
appid:self.ParamLibrary.activeId
|
||||||
|
},function(data){
|
||||||
|
self.ParamSearch.hostdata = data.hottags?data.hottags:[];
|
||||||
|
self.ParamSearch.hostloading = false;
|
||||||
|
},'json');
|
||||||
|
},
|
||||||
|
SearchLikeword(){
|
||||||
|
var self = this;
|
||||||
|
this.ParamSearch.likeloading = true;
|
||||||
|
$.post(MOD_URL+'&op=ajax&operation=likewords',{
|
||||||
|
keyword:self.ParamSearch.keyword,
|
||||||
|
appid:self.ParamLibrary.activeId
|
||||||
|
},function(data){
|
||||||
|
self.ParamSearch.likedata = [];
|
||||||
|
if(data && data.likewords){
|
||||||
|
for(var i in data.likewords){
|
||||||
|
var text = data.likewords[i];
|
||||||
|
var highlight = self.SearchHighlight(text,self.ParamSearch.keyword);
|
||||||
|
self.ParamSearch.likedata.push({
|
||||||
|
text:text,
|
||||||
|
highlight:highlight
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
self.ParamSearch.likeloading = false;
|
||||||
|
},'json');
|
||||||
|
},
|
||||||
|
SearchHighlight(text,words){
|
||||||
|
// 默认的标签,如果没有指定,使用span
|
||||||
|
var i, len = words.length,
|
||||||
|
re;
|
||||||
|
//匹配每一个特殊字符 ,进行转义
|
||||||
|
var specialStr = ["*", ".", "?", "+", "$", "^", "[", "]", "{", "}", "|", "\\", "(", ")", "/", "%"];
|
||||||
|
$.each(specialStr, function(i, item) {
|
||||||
|
if(words.indexOf(item) != -1) {
|
||||||
|
words = words.replace(new RegExp("\\" + item, 'g'), "\\" + item);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
//匹配整个关键词
|
||||||
|
re = new RegExp(words, 'g');
|
||||||
|
if(re.test(text)) {
|
||||||
|
text = text.replace(re, '<span class="highlight">$&</span>');
|
||||||
|
}
|
||||||
|
return text;
|
||||||
|
},
|
||||||
|
SearchClickLike(val){
|
||||||
|
var self = this;
|
||||||
|
if(self.ParamSearch.keyword != val){
|
||||||
|
self.ParamSearch.keyword = val;
|
||||||
|
self.ParamSearch.PopupVisible = false;
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
};
|
||||||
|
</script>
|
||||||
270
dzz/pichome/template/mobile/components/index/JsSort.htm
Normal file
270
dzz/pichome/template/mobile/components/index/JsSort.htm
Normal file
@@ -0,0 +1,270 @@
|
|||||||
|
<van-popup class="sort-popup footer-popup" v-model="ParamSort.PopupVisible" round position="bottom" style="height: 90%;padding-top: 10px;" @open="sortpopupopen">
|
||||||
|
<div class="vam-popup-title" v-if="ParamSort.data[ParamSort.labelActive]" @click="SortPopupTitleClick">{{ParamSort.data[ParamSort.labelActive].text}}</div>
|
||||||
|
<van-tree-select
|
||||||
|
height="100%"
|
||||||
|
:items="ParamSort.data"
|
||||||
|
:main-active-index.sync="ParamSort.labelActive">
|
||||||
|
<template #content>
|
||||||
|
<template v-if="ParamSort.data[ParamSort.labelActive]['type'] == 'showinformation'">
|
||||||
|
<div class="screen-item" style="padding: 0;">
|
||||||
|
<van-checkbox-group v-model="ParamSort.showinformation.value" @change="SortShowinformationChange">
|
||||||
|
<van-cell-group>
|
||||||
|
<van-cell v-for="(item,index) in ParamSort.showinformation.data" clickable :title="item.val" @click="SortShowinformationClick(index)">
|
||||||
|
<template #right-icon>
|
||||||
|
<van-checkbox shape="square" :name="item.key" ref="showinformation" />
|
||||||
|
</template>
|
||||||
|
</van-cell>
|
||||||
|
</van-cell-group>
|
||||||
|
</van-checkbox-group>
|
||||||
|
</div>
|
||||||
|
</template>
|
||||||
|
<template v-if="ParamSort.data[ParamSort.labelActive]['type'] == 'otherinformation'">
|
||||||
|
<div class="screen-item" style="padding: 0;">
|
||||||
|
<van-radio-group v-model="ParamSort.otherinformation.value">
|
||||||
|
<van-cell-group>
|
||||||
|
<van-cell v-for="item in ParamSort.otherinformation.data" :title="item.val" clickable @click="SortotherinformationChange(item.key)">
|
||||||
|
<template #right-icon>
|
||||||
|
<van-radio :name="item.key"></van-radio>
|
||||||
|
</template>
|
||||||
|
</van-cell>
|
||||||
|
</van-cell-group>
|
||||||
|
</van-radio-group>
|
||||||
|
</div>
|
||||||
|
</template>
|
||||||
|
<template v-if="ParamSort.data[ParamSort.labelActive]['type'] == 'Sorttype'">
|
||||||
|
<div class="screen-item" style="padding: 0;">
|
||||||
|
<van-radio-group v-model="ParamSort.Sorttype.value">
|
||||||
|
<van-cell-group>
|
||||||
|
<van-cell v-for="item in ParamSort.Sorttype.data" :title="item.val" clickable @click="SortSorttypeChange (item.key)">
|
||||||
|
<template #right-icon>
|
||||||
|
<van-radio :name="item.key"></van-radio>
|
||||||
|
</template>
|
||||||
|
</van-cell>
|
||||||
|
</van-cell-group>
|
||||||
|
</van-radio-group>
|
||||||
|
</div>
|
||||||
|
</template>
|
||||||
|
<template v-if="ParamSort.data[ParamSort.labelActive]['type'] == 'sortorder'">
|
||||||
|
<div class="screen-item" style="padding: 0;">
|
||||||
|
<van-radio-group v-model="ParamSort.sortorder.value">
|
||||||
|
<van-cell-group>
|
||||||
|
<van-cell v-for="item in ParamSort.sortorder.data" :title="item.val" clickable @click="SortsortorderChange(item.key)">
|
||||||
|
<template #right-icon>
|
||||||
|
<van-radio :name="item.key"></van-radio>
|
||||||
|
</template>
|
||||||
|
</van-cell>
|
||||||
|
</van-cell-group>
|
||||||
|
</van-radio-group>
|
||||||
|
</div>
|
||||||
|
</template>
|
||||||
|
<template v-if="ParamSort.data[ParamSort.labelActive]['type'] == 'layout'">
|
||||||
|
<div class="screen-item" style="padding: 0;">
|
||||||
|
<van-radio-group v-model="ParamSort.layout.value">
|
||||||
|
<van-cell-group>
|
||||||
|
<van-cell v-for="item in ParamSort.layout.data" :title="item.val" clickable @click="SortlayoutChange(item.key)">
|
||||||
|
<template #right-icon>
|
||||||
|
<van-radio :name="item.key"></van-radio>
|
||||||
|
</template>
|
||||||
|
</van-cell>
|
||||||
|
</van-cell-group>
|
||||||
|
</van-radio-group>
|
||||||
|
</div>
|
||||||
|
</template>
|
||||||
|
</template>
|
||||||
|
</van-tree-select>
|
||||||
|
<div class="btn-bottom">
|
||||||
|
<van-row>
|
||||||
|
<van-col span="24" style="text-align: center;">
|
||||||
|
<van-button round plain type="primary" size="large" @click="ParamSort.PopupVisible=false">关闭</van-button>
|
||||||
|
</van-col>
|
||||||
|
</van-row>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
</van-popup>
|
||||||
|
<script type="text/javascript">
|
||||||
|
var SortData = {
|
||||||
|
ParamSort:{
|
||||||
|
PopupVisible:false,
|
||||||
|
labelActive:0,
|
||||||
|
data:[
|
||||||
|
{text:'显示信息',type:'showinformation'},
|
||||||
|
{text:'排序类型',type:'Sorttype'},
|
||||||
|
{text:'排序方式',type:'sortorder'},
|
||||||
|
{text:'布局',type:'layout',},
|
||||||
|
],
|
||||||
|
showinformation:{
|
||||||
|
value:[],
|
||||||
|
data:[{key:'name',val:'名称'},
|
||||||
|
{key:'tagging',val:'标注数'},
|
||||||
|
{key:'extension',val:'扩展名'},
|
||||||
|
{key:'other',val:'其它信息'}]
|
||||||
|
},
|
||||||
|
otherinformation:{
|
||||||
|
value:'btime',
|
||||||
|
data:[{key:'size',val:'尺寸'},
|
||||||
|
{key:'filesize',val:'文件大小'},
|
||||||
|
{key:'tag',val:'标签'},
|
||||||
|
{key:'grade',val:'评分'},
|
||||||
|
{key:'btime',val:'添加时间'},
|
||||||
|
{key:'dateline',val:'修改时间'},
|
||||||
|
{key:'mtime',val:'创建日期'}]
|
||||||
|
},
|
||||||
|
Sorttype:{
|
||||||
|
value:1,
|
||||||
|
data:[{key:1,val:'添加时间',field:'btime'},
|
||||||
|
{key:3,val:'修改时间',field:'dateline'},
|
||||||
|
{key:2,val:'创建日期',field:'mtime'},
|
||||||
|
{key:4,val:'标题',field:'name'},
|
||||||
|
{key:8,val:'文件大小',field:'filesize'},
|
||||||
|
{key:5,val:'尺寸',field:'size'},
|
||||||
|
{key:6,val:'评分',field:'grade'},
|
||||||
|
{key:7,val:'时长',field:'duration'}]
|
||||||
|
},
|
||||||
|
sortorder:{
|
||||||
|
value:'desc',
|
||||||
|
data:[{key:'desc',val:'降序'},{key:'asc',val:'升序'}]
|
||||||
|
},
|
||||||
|
layout:{
|
||||||
|
value:'waterFall',
|
||||||
|
data:[{key:'waterFall',val:'瀑布流'},{key:'rowGrid',val:'自适应'},{key:'imageList',val:'网格'}]
|
||||||
|
},
|
||||||
|
|
||||||
|
}
|
||||||
|
};
|
||||||
|
var SortJs = {
|
||||||
|
sortpopupopen(){
|
||||||
|
if(this.ParamSort.showinformation.value.indexOf('other')>-1){
|
||||||
|
var status = true;
|
||||||
|
for(var i in this.ParamSort.data){
|
||||||
|
var item = this.ParamSort.data[i];
|
||||||
|
if(item.type == 'otherinformation'){
|
||||||
|
status = false;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if(status){
|
||||||
|
var str = {text:'其它信息',type:'otherinformation'};
|
||||||
|
this.ParamSort.data.splice(1,0,str);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
SortPopupTitleClick(){
|
||||||
|
this.ParamSort.PopupVisible = false;
|
||||||
|
},
|
||||||
|
SortShowinformationClick(index){
|
||||||
|
var self = this;
|
||||||
|
self.$refs.showinformation[index].toggle();
|
||||||
|
},
|
||||||
|
SortShowinformationChange(val){
|
||||||
|
if(val.indexOf('other')>-1){
|
||||||
|
var status = true;
|
||||||
|
for(var i in this.ParamSort.data){
|
||||||
|
var item = this.ParamSort.data[i];
|
||||||
|
if(item.type == 'otherinformation'){
|
||||||
|
status = false;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if(status){
|
||||||
|
var str = {text:'其它信息',type:'otherinformation'};
|
||||||
|
this.ParamSort.data.splice(1,0,str);
|
||||||
|
}
|
||||||
|
}else{
|
||||||
|
if(this.ParamSort.data.length==5){
|
||||||
|
this.ParamSort.data.splice(1,1);
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
this.ParamImages.type = 'refresh';
|
||||||
|
this.ImagesLayoutInit();
|
||||||
|
<!--{if $_G[uid]}-->
|
||||||
|
this.SortSaveinformation();
|
||||||
|
<!--{else}-->
|
||||||
|
sessionStorage.setItem('InformationShow',val.join(','));
|
||||||
|
<!--{/if}-->
|
||||||
|
},
|
||||||
|
SortotherinformationChange(val){
|
||||||
|
this.ParamSort.otherinformation.value = val;
|
||||||
|
<!--{if $_G[uid]}-->
|
||||||
|
this.SortSaveinformation();
|
||||||
|
<!--{else}-->
|
||||||
|
sessionStorage.setItem('InformationOther',val);
|
||||||
|
<!--{/if}-->
|
||||||
|
},
|
||||||
|
|
||||||
|
SortSorttypeChange(val){
|
||||||
|
if(val != this.ParamSort.Sorttype.value){
|
||||||
|
this.ParamSort.Sorttype.value = val;
|
||||||
|
this.CommonhandleHash();
|
||||||
|
<!--{if $_G[uid]}-->
|
||||||
|
this.SortSaveSorttype();
|
||||||
|
<!--{else}-->
|
||||||
|
sessionStorage.setItem('order',val);
|
||||||
|
<!--{/if}-->
|
||||||
|
|
||||||
|
}
|
||||||
|
},
|
||||||
|
SortsortorderChange(val){
|
||||||
|
if(val != this.ParamSort.sortorder.value){
|
||||||
|
this.ParamSort.sortorder.value = val;
|
||||||
|
this.CommonhandleHash();
|
||||||
|
<!--{if $_G[uid]}-->
|
||||||
|
this.SortSaveSorttype();
|
||||||
|
<!--{else}-->
|
||||||
|
sessionStorage.setItem('asc',val);
|
||||||
|
<!--{/if}-->
|
||||||
|
}
|
||||||
|
},
|
||||||
|
SortSaveSorttype(){//保存排序方式
|
||||||
|
var self = this;
|
||||||
|
var sortfiles = '';
|
||||||
|
for(var x in self.ParamSort.Sorttype.data){
|
||||||
|
var item = self.ParamSort.Sorttype.data[x];
|
||||||
|
if(item.key == parseInt(self.ParamSort.Sorttype.value)){
|
||||||
|
sortfiles = item.field;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
var param = {
|
||||||
|
sortfiled:sortfiles,
|
||||||
|
sort:self.ParamSort.sortorder.value
|
||||||
|
};
|
||||||
|
$.post(MOD_URL+'&op=ajax&operation=setsort',param,function(json){
|
||||||
|
if(json.success){
|
||||||
|
|
||||||
|
}else{
|
||||||
|
self.$toast.fail('排序数据保存失败')
|
||||||
|
}
|
||||||
|
},'json');
|
||||||
|
},
|
||||||
|
SortSaveinformation(){//保存显示信息
|
||||||
|
var self = this;
|
||||||
|
var param = {
|
||||||
|
showfileds:self.ParamSort.showinformation.value.join(','),
|
||||||
|
other:self.ParamSort.otherinformation.value
|
||||||
|
};
|
||||||
|
$.post(MOD_URL+'&op=ajax&operation=setshow',param,function(json){
|
||||||
|
if(json.success){
|
||||||
|
|
||||||
|
}else{
|
||||||
|
self.$toast.fail('显示信息数据保存失败')
|
||||||
|
}
|
||||||
|
},'json')
|
||||||
|
},
|
||||||
|
SortlayoutChange(val){
|
||||||
|
this.ParamSort.layout.value = val;
|
||||||
|
this.ParamImages.type = 'refresh';
|
||||||
|
this.ImagesLayoutInit();
|
||||||
|
<!--{if $_G[uid]}-->
|
||||||
|
$.post('{MOD_URL}&op=ajax&operation=setlayout',{
|
||||||
|
layout:val
|
||||||
|
},function(json){
|
||||||
|
if(json.success){
|
||||||
|
|
||||||
|
}else{
|
||||||
|
self.$toast.fail('布局数据保存失败')
|
||||||
|
}
|
||||||
|
},'json');
|
||||||
|
<!--{else}-->
|
||||||
|
sessionStorage.setItem('Layout',val);
|
||||||
|
<!--{/if}-->
|
||||||
|
}
|
||||||
|
};
|
||||||
|
</script>
|
||||||
28
dzz/pichome/template/mobile/frame/header_simple_start.htm
Normal file
28
dzz/pichome/template/mobile/frame/header_simple_start.htm
Normal file
@@ -0,0 +1,28 @@
|
|||||||
|
<!DOCTYPE html>
|
||||||
|
<html>
|
||||||
|
<head>
|
||||||
|
<meta http-equiv="Content-Type" content="text/html; charset={CHARSET}" />
|
||||||
|
<meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1, user-scalable=no">
|
||||||
|
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1" />
|
||||||
|
<title><!--{if !empty($navtitle)}-->$navtitle - <!--{/if}-->$_G[setting][sitename] </title>
|
||||||
|
<meta name="keywords" content="{if !empty($_G[setting][metakeywords])}{echo htmlspecialchars($_G[setting][metakeywords])}{/if}" />
|
||||||
|
<meta name="description" content="{if !empty($_G[setting][metadescription])}{echo htmlspecialchars($_G[setting][metadescription])} {/if}" />
|
||||||
|
<meta name="generator" content="oaooa" />
|
||||||
|
<meta name="author" content="oaooa" />
|
||||||
|
<meta name="copyright" content="2012-{eval echo dgmdate(TIMESTAMP,'Y-m-d');} www.oaooa.com" />
|
||||||
|
<meta name="MSSmartTagsPreventParsing" content="True" />
|
||||||
|
<meta http-equiv="MSThemeCompatible" content="Yes" />
|
||||||
|
<meta name="renderer" content="webkit">
|
||||||
|
<base href="{$_G['siteurl']}" />
|
||||||
|
|
||||||
|
|
||||||
|
<script src="{MOD_PATH}/js/vue/vue.js?{VERHASH}"></script>
|
||||||
|
<link rel="stylesheet" href="{MOD_PATH}/css/theme/$theme/root.css?{VERHASH}">
|
||||||
|
<link rel="stylesheet" href="{MOD_PATH}/js/mobile/plug/vant/index.css?{VERHASH}">
|
||||||
|
<link rel="stylesheet" href="{MOD_PATH}/css/mobile/common.css?{VERHASH}">
|
||||||
|
<script type="text/javascript" src="{MOD_PATH}/js/mobile/plug/vant/vant.min.js?{VERHASH}"></script>
|
||||||
|
<script type="text/javascript" src="static/jquery/jquery.min.js?{VERHASH}"></script>
|
||||||
|
<script type="text/javascript" src="static/jquery/jquery.json-2.4.min.js?{VERHASH}"></script>
|
||||||
|
<script type="text/javascript" src="{MOD_PATH}/js/common.js?{VERHASH}"></script>
|
||||||
|
<link rel="stylesheet" href="{MOD_PATH}/css/fonts/remixicon.css?{VERHASH}">
|
||||||
|
<script type="text/javascript">var DZZSCRIPT='{DZZSCRIPT}',LANG='{$_G[language]}', STATICURL = 'static/', IMGDIR = '{$_G[setting][imgdir]}', VERHASH = '{VERHASH}', charset = '{CHARSET}', dzz_uid = '$_G[uid]', cookiepre = '{$_G[config][cookie][cookiepre]}', cookiedomain = '{$_G[config][cookie][cookiedomain]}', cookiepath = '{$_G[config][cookie][cookiepath]}',attackevasive = '{$_G[config][security][attackevasive]}', disallowfloat = '{$_G[setting][disallowfloat]}', REPORTURL = '$_G[currenturl_encode]', SITEURL = '$_G[siteurl]', JSPATH = '$_G[setting][jspath]',MOD_PATH='{MOD_PATH}',APP_URL='{MOD_URL}',MOD_URL='{MOD_URL}';</script>
|
||||||
593
dzz/pichome/template/mobile/page/details.htm
Normal file
593
dzz/pichome/template/mobile/page/details.htm
Normal file
@@ -0,0 +1,593 @@
|
|||||||
|
<!--{template mobile/frame/header_simple_start}-->
|
||||||
|
<script src="{MOD_PATH}/js/mobile/pinchzoom.js?{VERHASH}" type="text/javascript" charset="utf-8"></script>
|
||||||
|
<link rel="stylesheet" type="text/css" href="{MOD_PATH}/css/mobile/details.css?{VERHASH}" />
|
||||||
|
<!--{template mobile/frame/header_simple_end}-->
|
||||||
|
<div id="dzzoffice">
|
||||||
|
<div
|
||||||
|
id="DetailPopup"
|
||||||
|
class="detail-popup"
|
||||||
|
:class="{'NotFooter':showdata[rid]&&!showdata[rid].data.footer,'full':full}"
|
||||||
|
@touchstart="DetailPageTouchStart"
|
||||||
|
@touchmove="DetailPageTouchMove"
|
||||||
|
@touchend="DetailPageTouchEnd">
|
||||||
|
<!--{template mobile/components/index/JsDetailMessage}-->
|
||||||
|
<van-nav-bar class="header-top" :title="rids.indexOf(rid)+1+'/'+rids.length">
|
||||||
|
<template #left>
|
||||||
|
<div style="width: 25px;text-align: center;height: 25px;line-height: 25px;" @click.stop="DetailNavbarLeftClick">
|
||||||
|
<van-icon name="arrow-left" size="18" />
|
||||||
|
</div>
|
||||||
|
|
||||||
|
</template>
|
||||||
|
<template #right>
|
||||||
|
<div style="width: 25px;text-align: center;height: 25px;line-height: 25px;" @click.stop="InformationPopup=true">
|
||||||
|
<van-icon name="warning-o" size="18" />
|
||||||
|
</div>
|
||||||
|
</template>
|
||||||
|
</van-nav-bar>
|
||||||
|
<div class="detail-popup-translate" ref="detail_popup_translate" @click="DetailImageFulloverlay">
|
||||||
|
<div
|
||||||
|
class="detail-popup-content"
|
||||||
|
v-for="item in showdata"
|
||||||
|
:class="{'prev':item.type=='left','next':item.type=='right','center':item.type=='center','opacity':item.loading}"
|
||||||
|
:key="item.data.opentype!='video'?item.data.rid:''"
|
||||||
|
:ref="'Detail_'+item.data.rid">
|
||||||
|
<template v-if="item.loading">
|
||||||
|
<van-loading class="custom-load" size="24px" type="spinner" color="var(--header-text)" vertical>加载中...</van-loading>
|
||||||
|
</template>
|
||||||
|
<template v-else>
|
||||||
|
<div class="detail-popup-img">
|
||||||
|
<template v-if="item.data.opentype=='video'">
|
||||||
|
<div class="video-box" :style="{'height':item.data.fheight+'px'}">
|
||||||
|
<iframe
|
||||||
|
style="border: 0px;"
|
||||||
|
:src="'index.php?mod=xgplayer&src='+item.data.realpath"
|
||||||
|
width="100%"
|
||||||
|
height="100%"></iframe>
|
||||||
|
</div>
|
||||||
|
</template>
|
||||||
|
<template v-else-if="item.data.opentype=='pdf'">
|
||||||
|
<iframe
|
||||||
|
style="border: 0px;"
|
||||||
|
:src="'index.php?mod=pdf&src='+item.data.realpath"
|
||||||
|
width="100%"
|
||||||
|
height="100%"></iframe>
|
||||||
|
</template>
|
||||||
|
<template v-else-if="item.data.opentype=='text'">
|
||||||
|
<div style="padding: 10px;height: 100%;">
|
||||||
|
<iframe
|
||||||
|
style="border: 0px;border-radius: 18px;"
|
||||||
|
:src="'index.php?mod=textviewer&src='+item.data.realpath"
|
||||||
|
width="100%"
|
||||||
|
height="100%"></iframe>
|
||||||
|
</div>
|
||||||
|
</template>
|
||||||
|
<template v-else-if="item.data.opentype=='other'">
|
||||||
|
<div class="img-box" :ref="'BoxImg_'+item.data.rid">
|
||||||
|
<img
|
||||||
|
@load="DetailImgload"
|
||||||
|
:src="item.data.icondata"
|
||||||
|
:data-rid="item.data.rid"
|
||||||
|
class="image-viewer__img" />
|
||||||
|
</div>
|
||||||
|
</template>
|
||||||
|
<template v-else>
|
||||||
|
<div class="img-box" :ref="'BoxImg_'+item.data.rid">
|
||||||
|
<img :src="item.data.icondata" class="image-viewer__img thumbnail" />
|
||||||
|
<img
|
||||||
|
@load="DetailImgload"
|
||||||
|
:data-rid="item.data.rid"
|
||||||
|
:src="item.data.realpath"
|
||||||
|
class="image-viewer__img opacity" />
|
||||||
|
</div>
|
||||||
|
</template>
|
||||||
|
</div>
|
||||||
|
</template>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
<div class="footer-tabbar" v-if="showdata[rid] && showdata[rid].data.footer">
|
||||||
|
<div class="footer-tabbar-item" v-if="showdata[rid].data.link" @click="DetailFooterClick('link')">
|
||||||
|
<i class="ri-links-line"></i>
|
||||||
|
</div>
|
||||||
|
<div class="footer-tabbar-item" v-if="showdata[rid].data.download" @click="DetailFooterClick('download')">
|
||||||
|
<i class="ri-download-2-line"></i>
|
||||||
|
</div>
|
||||||
|
<div class="footer-tabbar-item" v-if="showdata[rid].data.share" @click="DetailFooterClick('share')">
|
||||||
|
<i class="ri-share-line"></i>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
|
||||||
|
</div>
|
||||||
|
<script type="text/javascript">
|
||||||
|
new Vue({
|
||||||
|
el: '#dzzoffice',
|
||||||
|
data: function() {
|
||||||
|
return {
|
||||||
|
rids:[],
|
||||||
|
rid:'',
|
||||||
|
ridIndex:0,
|
||||||
|
dataList:{},
|
||||||
|
showdata:{},
|
||||||
|
showdataIndex:[],
|
||||||
|
PinchZoom:{},
|
||||||
|
TouchPage:{
|
||||||
|
clickX:0,
|
||||||
|
distance:0,
|
||||||
|
move:true
|
||||||
|
},
|
||||||
|
TouchImg:{
|
||||||
|
move:false,
|
||||||
|
},
|
||||||
|
full:false,
|
||||||
|
InformationPopup:false
|
||||||
|
};
|
||||||
|
},
|
||||||
|
watch:{
|
||||||
|
full:{
|
||||||
|
handler(val){
|
||||||
|
var self = this;
|
||||||
|
for(var i in this.PinchZoom){
|
||||||
|
var item = this.PinchZoom[i];
|
||||||
|
if(val){
|
||||||
|
item.enable();
|
||||||
|
}else{
|
||||||
|
item.disable();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
self.$nextTick(function(){
|
||||||
|
var boxH = $('.detail-popup-content').height();
|
||||||
|
$('.img-box').height(boxH);
|
||||||
|
|
||||||
|
|
||||||
|
})
|
||||||
|
|
||||||
|
},
|
||||||
|
deep:true
|
||||||
|
},
|
||||||
|
showdata:{
|
||||||
|
handler(val){
|
||||||
|
var self = this;
|
||||||
|
self.$nextTick(function(){
|
||||||
|
for(var i in val){
|
||||||
|
var item = val[i];
|
||||||
|
var rid = item.data.rid;
|
||||||
|
if(!item.loading && (item.data.opentype == 'image' || item.data.opentype == 'other')){
|
||||||
|
if(self.PinchZoom[rid]){
|
||||||
|
if(!self.full){
|
||||||
|
self.PinchZoom[rid].disable()
|
||||||
|
}
|
||||||
|
}else{
|
||||||
|
if(self.$refs['BoxImg_'+rid]){
|
||||||
|
var dom = $(self.$refs['BoxImg_'+rid][0]);
|
||||||
|
dom.height($('.detail-popup-content').height());
|
||||||
|
self.PinchZoom[rid] = new PinchZoom(self.$refs['BoxImg_'+rid][0]);
|
||||||
|
if(!self.full){
|
||||||
|
self.PinchZoom[rid].disable()
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
})
|
||||||
|
|
||||||
|
},
|
||||||
|
deep:true,
|
||||||
|
},
|
||||||
|
},
|
||||||
|
computed: {
|
||||||
|
|
||||||
|
},
|
||||||
|
created() {
|
||||||
|
var arr = (location.hash || "").replace(/^\?/,'').split("&");
|
||||||
|
if(arr.length){
|
||||||
|
rid=arr[0].replace("#","").split('=')[1];
|
||||||
|
this.rid = rid;
|
||||||
|
}
|
||||||
|
var rids = window.localStorage.getItem('imgs');
|
||||||
|
if(rids && rids.indexOf(this.rid)>-1){
|
||||||
|
this.rids = rids.split(',');
|
||||||
|
}
|
||||||
|
this.handleRidsOrder();
|
||||||
|
},
|
||||||
|
methods:{
|
||||||
|
DetailImgload(event){
|
||||||
|
var self = this;
|
||||||
|
$(event.target).removeClass('opacity').siblings('.thumbnail').remove();
|
||||||
|
},
|
||||||
|
DetailImageFulloverlay(){
|
||||||
|
if(this.full){
|
||||||
|
if(this.PinchZoom[this.rid]){
|
||||||
|
if(this.PinchZoom[this.rid].zoomFactor>1){
|
||||||
|
|
||||||
|
}else{
|
||||||
|
this.full = false;
|
||||||
|
}
|
||||||
|
}else{
|
||||||
|
this.full = false;
|
||||||
|
}
|
||||||
|
|
||||||
|
}else{
|
||||||
|
this.full = true;
|
||||||
|
}
|
||||||
|
},
|
||||||
|
DetailPageTouchStart(event){
|
||||||
|
var self = this;
|
||||||
|
if(self.showdata[self.rid].loading || self.TouchImg.move || self.InformationPopup){
|
||||||
|
self.TouchPage.move = false;
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
self.TouchPage.clickX = event.touches[0].pageX;
|
||||||
|
self.TouchPage.distance = 0;
|
||||||
|
self.TouchPage.move = true;
|
||||||
|
},
|
||||||
|
DetailPageTouchMove(event){
|
||||||
|
var self = this;
|
||||||
|
if(self.showdata[self.rid].loading || self.TouchImg.move || self.InformationPopup){
|
||||||
|
self.TouchPage.move = false;
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
event.preventDefault();
|
||||||
|
var sectouch = event.touches[0];
|
||||||
|
self.TouchPage.distance = sectouch.pageX - self.TouchPage.clickX;
|
||||||
|
var Index = self.showdataIndex.indexOf(self.rid);
|
||||||
|
if(self.TouchPage.distance>0){
|
||||||
|
if(self.ridIndex == 0){
|
||||||
|
self.$toast('已经是第一张');
|
||||||
|
self.TouchPage.move = false;
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
var firstrid = self.showdataIndex[Index-1];
|
||||||
|
if(self.showdata[firstrid] && self.showdata[firstrid].loading){
|
||||||
|
self.TouchPage.move = false;
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if(self.TouchPage.distance<0){
|
||||||
|
if(self.ridIndex == self.rids.length-1){
|
||||||
|
self.$toast('已经是最后一张');
|
||||||
|
self.TouchPage.move = false;
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
var tworid = self.showdataIndex[Index+1];
|
||||||
|
if(self.showdata[tworid] && self.showdata[tworid].loading){
|
||||||
|
self.TouchPage.move = false;
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
self.TouchPage.move = true;
|
||||||
|
$(self.$refs['detail_popup_translate']).css("transform","translate3d("+self.TouchPage.distance+"px,0,0)");
|
||||||
|
},
|
||||||
|
DetailPageTouchEnd(event){
|
||||||
|
var self = this;
|
||||||
|
if(!self.TouchPage.move || self.InformationPopup){
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
var dom = self.$refs['detail_popup_translate'];
|
||||||
|
var screenWidth = document.body.clientWidth+10;
|
||||||
|
$(dom).css("transition","transform 0.2s cubic-bezier(0,0,0.4,1) 0s,-webkit-transform 0.2s");
|
||||||
|
if(Math.abs(self.TouchPage.distance)>100){
|
||||||
|
var Index = self.showdataIndex.indexOf(self.rid);
|
||||||
|
if(self.TouchPage.distance>0){
|
||||||
|
$(self.$refs['detail_popup_translate']).css("transform","translate3d("+(screenWidth)+"px,0,0)");
|
||||||
|
self.rid = self.showdataIndex[Index-1];
|
||||||
|
self.ridIndex -= 1;
|
||||||
|
}else{
|
||||||
|
self.rid = self.showdataIndex[Index+1];
|
||||||
|
self.ridIndex += 1;
|
||||||
|
$(dom).css("transform","translate3d("+(-screenWidth)+"px,0,0)");
|
||||||
|
}
|
||||||
|
setTimeout(function(){
|
||||||
|
$(dom).css({
|
||||||
|
transform:"none",
|
||||||
|
transition:''
|
||||||
|
});
|
||||||
|
self.handleRidsOrder();
|
||||||
|
},300);
|
||||||
|
}else{
|
||||||
|
$(dom).css("transform","translate3d(0,0,0)");
|
||||||
|
setTimeout(function(){
|
||||||
|
$(dom).css({
|
||||||
|
transform:"none",
|
||||||
|
transition:''
|
||||||
|
});
|
||||||
|
},300);
|
||||||
|
}
|
||||||
|
|
||||||
|
},
|
||||||
|
|
||||||
|
handleRidsOrder(){
|
||||||
|
var self = this;
|
||||||
|
var str = {};
|
||||||
|
var index = self.rids.indexOf(self.rid);
|
||||||
|
// var Oldshowdata = JSON.parse(JSON.stringify(self.showdata));
|
||||||
|
var NewShowData = {};
|
||||||
|
var showdataIndex = [];
|
||||||
|
self.ridIndex = index;
|
||||||
|
showdataIndex = [self.rid];
|
||||||
|
// self.showdata = {};
|
||||||
|
|
||||||
|
|
||||||
|
if(self.dataList[self.rid]){
|
||||||
|
NewShowData[self.rid] = {
|
||||||
|
type:'center',
|
||||||
|
loading:false,
|
||||||
|
data:self.dataList[self.rid]
|
||||||
|
};
|
||||||
|
}else{
|
||||||
|
NewShowData[self.rid] = {
|
||||||
|
type:'center',
|
||||||
|
loading:true,
|
||||||
|
data:{}
|
||||||
|
};
|
||||||
|
}
|
||||||
|
if(self.rids[index-1]){
|
||||||
|
var first = self.rids[index-1];
|
||||||
|
|
||||||
|
showdataIndex.unshift(first);
|
||||||
|
if(self.dataList[first]){
|
||||||
|
NewShowData[first] = {
|
||||||
|
type:'left',
|
||||||
|
loading:false,
|
||||||
|
data:self.dataList[first]
|
||||||
|
};
|
||||||
|
}else{
|
||||||
|
NewShowData[first] = {
|
||||||
|
type:'left',
|
||||||
|
loading:true,
|
||||||
|
data:{}
|
||||||
|
};
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if(self.rids[index+1]){
|
||||||
|
var two = self.rids[index+1];
|
||||||
|
showdataIndex.push(two);
|
||||||
|
if(self.dataList[two]){
|
||||||
|
NewShowData[two] = {
|
||||||
|
type:'right',
|
||||||
|
loading:false,
|
||||||
|
data:self.dataList[two]
|
||||||
|
};
|
||||||
|
}else{
|
||||||
|
NewShowData[two] = {
|
||||||
|
type:'right',
|
||||||
|
loading:true,
|
||||||
|
data:{}
|
||||||
|
};
|
||||||
|
}
|
||||||
|
}
|
||||||
|
self.showdataIndex = showdataIndex;
|
||||||
|
self.showdata = NewShowData;
|
||||||
|
var dels = [];
|
||||||
|
for(var s in self.PinchZoom){
|
||||||
|
if(showdataIndex.indexOf(s)<0){
|
||||||
|
dels.push(s)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if(dels.length){
|
||||||
|
for(var h in dels){
|
||||||
|
if(self.PinchZoom[h]){
|
||||||
|
delete self.PinchZoom[h];
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
for(var i in NewShowData){
|
||||||
|
if(NewShowData[i].loading){
|
||||||
|
this.GetData(i);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
},
|
||||||
|
GetData(rid){
|
||||||
|
var self = this;
|
||||||
|
$.post(MOD_URL+'&op=details&operation=fetch',{
|
||||||
|
rid:rid
|
||||||
|
},function(json){
|
||||||
|
var item = json.resourcesdata;
|
||||||
|
// document.title = item.name+'-$_G[setting][sitename]';
|
||||||
|
var colors = [];
|
||||||
|
|
||||||
|
if(item.colors){
|
||||||
|
for(var c in item.colors){
|
||||||
|
colors.push(item.colors[c]);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
item.colors = colors;
|
||||||
|
var tags = [];
|
||||||
|
if(item.tag){
|
||||||
|
for(var t in item.tag){
|
||||||
|
var tstr = {
|
||||||
|
key:t,
|
||||||
|
val:item.tag[t]
|
||||||
|
};
|
||||||
|
tags.push(tstr);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
item.tag = tags;
|
||||||
|
|
||||||
|
var foldernames = [];
|
||||||
|
if(item.foldernames){
|
||||||
|
for(var f in item.foldernames){
|
||||||
|
var fstr = {
|
||||||
|
key:f,
|
||||||
|
val:item.foldernames[f]
|
||||||
|
};
|
||||||
|
foldernames.push(fstr);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
item.foldernames = foldernames;
|
||||||
|
item.download = parseInt(item.download);
|
||||||
|
item.share = parseInt(item.share);
|
||||||
|
if(item.link || item.share || item.download){
|
||||||
|
item['footer'] = true;
|
||||||
|
}else{
|
||||||
|
item['footer'] = false;
|
||||||
|
}
|
||||||
|
// if(item.opentype == 'other' || item.opentype == 'image'){
|
||||||
|
// var size = self.DetailImgSize(item);
|
||||||
|
// item['width'] = size['width'];
|
||||||
|
// item['height'] = size['height'];
|
||||||
|
// item['left'] = size['left'];
|
||||||
|
// item['top'] = size['top'];
|
||||||
|
// }
|
||||||
|
if(item.opentype == 'video'){
|
||||||
|
var boxW = document.body.clientWidth;
|
||||||
|
var ra = boxW/parseFloat(item['width'])
|
||||||
|
item['fwidth'] = boxW;
|
||||||
|
item['fheight'] = ra*parseFloat(item['height']);
|
||||||
|
}
|
||||||
|
self.showdata[rid].loading = false;
|
||||||
|
self.showdata[rid].data = item;
|
||||||
|
self.dataList[item.rid] = item;
|
||||||
|
self.$forceUpdate();
|
||||||
|
|
||||||
|
},'json');
|
||||||
|
},
|
||||||
|
DetailImgSize(item){
|
||||||
|
var str = {
|
||||||
|
width:0,
|
||||||
|
height:0,
|
||||||
|
left:0,
|
||||||
|
top:0
|
||||||
|
};
|
||||||
|
var boxW = document.body.clientWidth;
|
||||||
|
var boxH = document.body.clientHeight
|
||||||
|
if(!this.full){
|
||||||
|
if(item.footer){
|
||||||
|
boxH -= 106;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
var imgW = parseFloat(item.width);
|
||||||
|
var imgH = parseFloat(item.height);
|
||||||
|
|
||||||
|
var ra1 = boxW/boxH;
|
||||||
|
var ra2 = imgW/imgH;
|
||||||
|
|
||||||
|
|
||||||
|
if(ra2 > ra1){
|
||||||
|
if(imgW>boxW){
|
||||||
|
str.width = boxW;
|
||||||
|
var ratio = boxW/imgW;
|
||||||
|
str.height = ratio*imgH;
|
||||||
|
}else{
|
||||||
|
str.width = imgW;
|
||||||
|
str.height = imgH;
|
||||||
|
}
|
||||||
|
|
||||||
|
}else{
|
||||||
|
if(imgH>boxH){
|
||||||
|
str.height = boxH;
|
||||||
|
var ratio = boxH/imgH;
|
||||||
|
str.width = ratio*imgW;
|
||||||
|
}else{
|
||||||
|
str.width = imgW;
|
||||||
|
str.height = imgH;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
str.left = (boxW-str.width)/2;
|
||||||
|
str.top = (boxH-str.height)/2;
|
||||||
|
return str;
|
||||||
|
},
|
||||||
|
DetailFooterClick(type){
|
||||||
|
var self = this;
|
||||||
|
var rid = self.rid;
|
||||||
|
if(!self.showdata[rid]){
|
||||||
|
self.$toast({
|
||||||
|
message: '参数错误',
|
||||||
|
icon: 'cross',
|
||||||
|
});
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
if(type == 'link'){
|
||||||
|
window.open(self.showdata[rid].data.link);
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
if(type == 'download'){
|
||||||
|
if (self.showdata[rid].data.dpath) {
|
||||||
|
window.open(SITEURL + MOD_URL + '&op=download&dpath=' + self.showdata[rid].data.dpath)
|
||||||
|
} else {
|
||||||
|
self.$toast({
|
||||||
|
message: '数据错误',
|
||||||
|
icon: 'cross',
|
||||||
|
});
|
||||||
|
}
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
if(type == 'share'){
|
||||||
|
if (self.showdata[rid].data.rid) {
|
||||||
|
$.post('{MOD_URL}&op=ajax&operation=createshare', {
|
||||||
|
rid: rid
|
||||||
|
}, function(data) {
|
||||||
|
if (data.success) {
|
||||||
|
self.$dialog.confirm({
|
||||||
|
title: '分享成功',
|
||||||
|
message: data.success,
|
||||||
|
confirmButtonText:'复制地址',
|
||||||
|
cancelButtonText:'关闭'
|
||||||
|
}).then(() => {
|
||||||
|
self.CommonCopyTxt(data.success);
|
||||||
|
}).catch(() => {
|
||||||
|
// on cancel
|
||||||
|
});
|
||||||
|
} else {
|
||||||
|
self.$toast({
|
||||||
|
message: '分享失败',
|
||||||
|
icon: 'cross',
|
||||||
|
});
|
||||||
|
}
|
||||||
|
}, 'json')
|
||||||
|
} else {
|
||||||
|
self.$toast({
|
||||||
|
message: '数据错误',
|
||||||
|
icon: 'cross',
|
||||||
|
});
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
DetailMessageSearch(type,val){
|
||||||
|
var self = this;
|
||||||
|
var item = self.showdata[self.rid].data;
|
||||||
|
switch(type){
|
||||||
|
case 'color':
|
||||||
|
window.location.href = SITEURL+'#appid=' + item.appid + '&color=#' + val;
|
||||||
|
// window.location.reload();
|
||||||
|
break;
|
||||||
|
case 'tag':
|
||||||
|
window.location.href = SITEURL+'#appid=' + item.appid + '&tag=' + val;
|
||||||
|
// window.location.reload();
|
||||||
|
break;
|
||||||
|
case 'link':
|
||||||
|
window.open(val);
|
||||||
|
break;
|
||||||
|
case 'classify':
|
||||||
|
window.location.href = SITEURL+'#appid=' + item.appid + '&classify=' + val;
|
||||||
|
// window.location.reload();
|
||||||
|
break;
|
||||||
|
case 'copy':
|
||||||
|
self.CommonCopyTxt(val);
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
|
},
|
||||||
|
DetailNavbarLeftClick(){
|
||||||
|
window.history.go(-1);
|
||||||
|
},
|
||||||
|
CommonCopyTxt(text){
|
||||||
|
var self = this;
|
||||||
|
var input = document.createElement('input'); input.setAttribute('id', 'copyInput');
|
||||||
|
input.setAttribute('value', text);
|
||||||
|
document.getElementsByTagName('body')[0].appendChild(input);
|
||||||
|
document.getElementById('copyInput').select();
|
||||||
|
document.execCommand('copy');
|
||||||
|
document.getElementById('copyInput').remove();
|
||||||
|
self.$toast.success('复制成功');
|
||||||
|
}
|
||||||
|
},
|
||||||
|
mounted() {
|
||||||
|
}
|
||||||
|
});
|
||||||
|
</script>
|
||||||
|
<!--{template mobile/frame/footer_simple}-->
|
||||||
7
dzz/pichome/template/mobile/page/index.htm
Normal file
7
dzz/pichome/template/mobile/page/index.htm
Normal file
@@ -0,0 +1,7 @@
|
|||||||
|
<!--{template mobile/frame/header_simple_start}-->
|
||||||
|
<link rel="stylesheet" type="text/css" href="{MOD_PATH}/css/mobile/index.css?{VERHASH}" />
|
||||||
|
<!--{template mobile/frame/header_simple_end}-->
|
||||||
|
<div id="dzzoffice">
|
||||||
|
<!--{template mobile/components/index/JsIndex}-->
|
||||||
|
</div>
|
||||||
|
<!--{template mobile/frame/footer_simple}-->
|
||||||
163
dzz/pichome/template/mobile/page/personal.htm
Normal file
163
dzz/pichome/template/mobile/page/personal.htm
Normal file
@@ -0,0 +1,163 @@
|
|||||||
|
<!--{template mobile/frame/header_simple_start}-->
|
||||||
|
<link rel="stylesheet" type="text/css" href="{MOD_PATH}/css/mobile/personal.css?{VERHASH}" />
|
||||||
|
<!--{template mobile/frame/header_simple_end}-->
|
||||||
|
<div id="dzzoffice">
|
||||||
|
<van-nav-bar title="个人设置" left-arrow @click-left="NavbarLeftClick"></van-nav-bar>
|
||||||
|
<div class="scroll-box">
|
||||||
|
<van-form @submit="handleSubmit">
|
||||||
|
<div style="text-align: center;">
|
||||||
|
<div>
|
||||||
|
<van-image
|
||||||
|
width="100px"
|
||||||
|
height="100px"
|
||||||
|
fit="contain"
|
||||||
|
:src="avatarstatus&&ruleForm.imgpath?ruleForm.imgpath:'avatar.php?uid=1&random='+Math.ceil(Math.random()*100)">
|
||||||
|
<template v-slot:default >
|
||||||
|
<template v-if="parseInt(avatarstatus)==0">
|
||||||
|
<van-icon class="not-img" name="photograph" />
|
||||||
|
</template>
|
||||||
|
|
||||||
|
</template>
|
||||||
|
</van-image>
|
||||||
|
</div>
|
||||||
|
<van-uploader
|
||||||
|
:after-read="ImageafterRead"
|
||||||
|
:max-size="1024*1024*2"
|
||||||
|
@oversize="ImageOversize"
|
||||||
|
accept="image/png,image/jpg,image/jpeg,image/gif">
|
||||||
|
<van-button type="primary" size="small">修改头像</van-button>
|
||||||
|
</van-uploader>
|
||||||
|
</div>
|
||||||
|
<van-field
|
||||||
|
v-model.trim="ruleForm.email"
|
||||||
|
type="email"
|
||||||
|
required
|
||||||
|
:rules="[{ required: true, message: '请填写邮箱' }]">
|
||||||
|
<template #label>
|
||||||
|
邮箱:<span class="tip">(用于登录)</span>
|
||||||
|
</template>
|
||||||
|
</van-field>
|
||||||
|
<van-field
|
||||||
|
v-model.trim="ruleForm.nickname"
|
||||||
|
required
|
||||||
|
:rules="[{ required: true, message: '请填写用户名' }]">
|
||||||
|
<template #label>
|
||||||
|
用户名:<span class="tip">(用于登录,站点中不显示)</span>
|
||||||
|
</template>
|
||||||
|
</van-field>
|
||||||
|
<van-field
|
||||||
|
v-model.trim="ruleForm.username"
|
||||||
|
required
|
||||||
|
:rules="[{ required: true, message: '请填写姓名' }]">
|
||||||
|
<template #label>
|
||||||
|
姓名:<span class="tip">(用于登录,站点中不显示)</span>
|
||||||
|
</template>
|
||||||
|
</van-field>
|
||||||
|
<van-field v-model.number="ruleForm.phone" type="tel" label="手机号:"></van-field>
|
||||||
|
<van-field v-model.trim="ruleForm.weixinid" label="微信号:"></van-field>
|
||||||
|
<van-field v-model.trim="ruleForm.password" label="新密码:"></van-field>
|
||||||
|
<van-field style="overflow: unset;" v-model.trim="ruleForm.password2" label="确认新密码:" :error-message="passwordMessage"></van-field>
|
||||||
|
<div class="van-cell van-field">
|
||||||
|
<div>主题色</div>
|
||||||
|
<ul class="thems">
|
||||||
|
<li class="thems-item" v-for="item in themes">
|
||||||
|
<div class="bg" :style="item.color" :class="item.val==ruleForm.themecolor?'active':''" @click="handleChangeThemes(item.val)">
|
||||||
|
<van-icon name="success" />
|
||||||
|
</div>
|
||||||
|
</li>
|
||||||
|
</ul>
|
||||||
|
</div>
|
||||||
|
<div class="footer">
|
||||||
|
<van-button round type="info" size="large" native-type="submit">提交</van-button>
|
||||||
|
</div>
|
||||||
|
</van-form>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<script type="text/javascript">
|
||||||
|
new Vue({
|
||||||
|
el: '#dzzoffice',
|
||||||
|
data: function() {
|
||||||
|
return {
|
||||||
|
avatarstatus:$userdata[avatarstatus],
|
||||||
|
ruleForm: {
|
||||||
|
imgpath:'',
|
||||||
|
email:'$userdata[email]',
|
||||||
|
nickname:'$userdata[nickname]',
|
||||||
|
username:'$userdata[username]',
|
||||||
|
phone:'$userdata[phone]',
|
||||||
|
weixinid:'$userdata[weixinid]',
|
||||||
|
password:'',
|
||||||
|
password2:'',
|
||||||
|
themecolor:'$theme'
|
||||||
|
},
|
||||||
|
themes:[
|
||||||
|
{txt:'自动(依系统设置)',color:'',val:''},
|
||||||
|
{txt:'白色',color:'background:#D0D0D0',val:'white'},
|
||||||
|
{txt:'浅灰色',color:'background:#808080',val:'lightgrey'},
|
||||||
|
{txt:'深灰色',color:'background:#444444',val:'darkgrey'},
|
||||||
|
{txt:'黑色',color:'background:#333333',val:'black'},
|
||||||
|
{txt:'深蓝色',color:'background:#2A356D',val:'navyblue'},
|
||||||
|
{txt:'紫色',color:'background:#463275',val:'purple'},
|
||||||
|
],
|
||||||
|
passwordMessage:'',
|
||||||
|
};
|
||||||
|
},
|
||||||
|
|
||||||
|
computed: {
|
||||||
|
|
||||||
|
},
|
||||||
|
created() {
|
||||||
|
},
|
||||||
|
methods:{
|
||||||
|
ImageafterRead(file){
|
||||||
|
this.ruleForm.imgpath = file.content;
|
||||||
|
this.avatarstatus = 1;
|
||||||
|
},
|
||||||
|
ImageOversize(file){
|
||||||
|
var self = this;
|
||||||
|
self.$toast.fail('图片大小不能超过 2MB!');
|
||||||
|
},
|
||||||
|
NavbarLeftClick(){
|
||||||
|
window.location.href="{MOD_URL}"
|
||||||
|
},
|
||||||
|
handleChangeThemes(val){
|
||||||
|
this.ruleForm.themecolor = val;
|
||||||
|
},
|
||||||
|
handleSubmit(){
|
||||||
|
self = this;
|
||||||
|
if((self.ruleForm.password || self.ruleForm.password2) && self.ruleForm.password != self.ruleForm.password2){
|
||||||
|
self.passwordMessage = '两次输入密码不一致';
|
||||||
|
return false;
|
||||||
|
}else{
|
||||||
|
self.passwordMessage = '';
|
||||||
|
}
|
||||||
|
var params = {
|
||||||
|
'accountedit':true,
|
||||||
|
'formhash':'{FORMHASH}',
|
||||||
|
'uid':'$uid',
|
||||||
|
'email':self.ruleForm.email,
|
||||||
|
'nickname':self.ruleForm.nickname,
|
||||||
|
'username':self.ruleForm.username,
|
||||||
|
'phone':self.ruleForm.phone,
|
||||||
|
'weixinid':self.ruleForm.weixinid,
|
||||||
|
'password':self.ruleForm.password,
|
||||||
|
'password2':self.ruleForm.password2,
|
||||||
|
'themecolor':self.ruleForm.themecolor,
|
||||||
|
};
|
||||||
|
if(self.ruleForm.imgpath){
|
||||||
|
params['imgpath'] = self.ruleForm.imgpath;
|
||||||
|
}
|
||||||
|
$.post(MOD_URL+"&op=user&do=personal",params,function(res){
|
||||||
|
if(res.success){
|
||||||
|
self.$toast.success('提交成功');
|
||||||
|
}else{
|
||||||
|
self.$toast.fail('提交失败');
|
||||||
|
}
|
||||||
|
},'json');
|
||||||
|
}
|
||||||
|
},
|
||||||
|
mounted() {
|
||||||
|
}
|
||||||
|
});
|
||||||
|
</script>
|
||||||
|
<!--{template mobile/frame/footer_simple}-->
|
||||||
315
dzz/pichome/template/mobile/page/share.htm
Normal file
315
dzz/pichome/template/mobile/page/share.htm
Normal file
@@ -0,0 +1,315 @@
|
|||||||
|
<!--{template mobile/frame/header_simple_start}-->
|
||||||
|
<link rel="stylesheet" type="text/css" href="{MOD_PATH}/css/mobile/share.css?{VERHASH}" />
|
||||||
|
<!--{template mobile/frame/header_simple_end}-->
|
||||||
|
<div id="dzzoffice">
|
||||||
|
<div
|
||||||
|
id="DetailPopup"
|
||||||
|
class="detail-popup-box"
|
||||||
|
:class="imagesData.footer?'':'NotFooter'">
|
||||||
|
<van-nav-bar>
|
||||||
|
<template #left>
|
||||||
|
<div class="pic-logo" slot="left">
|
||||||
|
<a class="h-left" href="{MOD_URL}">
|
||||||
|
<img src="data/attachment/sitelogo/sitelogo.png?{VERHASH}" alt="">
|
||||||
|
<span class="text">$_G['setting'][sitename]</span>
|
||||||
|
</a>
|
||||||
|
</div>
|
||||||
|
</template>
|
||||||
|
<template #right>
|
||||||
|
<div style="width: 25px;text-align: center;height: 25px;line-height: 25px;" @click.stop="PopupInformation=true">
|
||||||
|
<van-icon name="warning-o" size="18" />
|
||||||
|
</div>
|
||||||
|
</template>
|
||||||
|
</van-nav-bar>
|
||||||
|
<div class="detail-popup-translate">
|
||||||
|
<div class="detail-popup-content">
|
||||||
|
<div class="detail-popup-img">
|
||||||
|
<div class="detail-between">
|
||||||
|
<template v-if="imagesData.opentype=='video'">
|
||||||
|
<div class="video-box" :style="{'height':imagesData.videoH+'px'}">
|
||||||
|
<iframe
|
||||||
|
style="border: 0px;"
|
||||||
|
:src="'index.php?mod=xgplayer&src='+imagesData.realpath"
|
||||||
|
width="100%"
|
||||||
|
height="100%"></iframe>
|
||||||
|
</div>
|
||||||
|
</template>
|
||||||
|
<template v-else-if="imagesData.opentype=='pdf'">
|
||||||
|
<iframe
|
||||||
|
style="border: 0px;"
|
||||||
|
:src="'index.php?mod=pdf&src='+imagesData.realpath"
|
||||||
|
width="100%"
|
||||||
|
height="100%"></iframe>
|
||||||
|
</template>
|
||||||
|
<template v-else-if="imagesData.opentype=='text'">
|
||||||
|
<div style="padding: 10px;height: 100%;">
|
||||||
|
<iframe
|
||||||
|
style="border: 0px;border-radius: 18px;"
|
||||||
|
:src="'index.php?mod=textviewer&src='+imagesData.realpath"
|
||||||
|
width="100%"
|
||||||
|
height="100%"></iframe>
|
||||||
|
</div>
|
||||||
|
</template>
|
||||||
|
<template v-else-if="imagesData.opentype=='other'">
|
||||||
|
<div class="img-box">
|
||||||
|
<img
|
||||||
|
@load="DetailImgload"
|
||||||
|
:src="imagesData.icondata"
|
||||||
|
class="image-viewer__img opacity" />
|
||||||
|
</div>
|
||||||
|
</template>
|
||||||
|
<template v-else>
|
||||||
|
<div class="img-box">
|
||||||
|
<img :src="imagesData.icondata" class="image-viewer__img thumbnail" />
|
||||||
|
<img
|
||||||
|
@load="DetailImgload"
|
||||||
|
:src="imagesData.realpath"
|
||||||
|
class="image-viewer__img opacity" />
|
||||||
|
</div>
|
||||||
|
</template>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="footer-tabbar" v-if="imagesData.footer">
|
||||||
|
<div class="footer-tabbar-item" v-if="imagesData.link" @click="DetailFooterClick('link')">
|
||||||
|
<i class="ri-links-line"></i>
|
||||||
|
</div>
|
||||||
|
<div class="footer-tabbar-item" v-if="imagesData.download" @click="DetailFooterClick('download')">
|
||||||
|
<i class="ri-download-2-line"></i>
|
||||||
|
</div>
|
||||||
|
<div class="footer-tabbar-item" v-if="imagesData.share" @click="DetailFooterClick('share')">
|
||||||
|
<i class="ri-share-line"></i>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
|
||||||
|
<van-popup
|
||||||
|
v-model="PopupInformation"
|
||||||
|
class="detail-popup-message"
|
||||||
|
:class="imagesData.footer?'':'NotFooter'"
|
||||||
|
position="right"
|
||||||
|
:overlay="false"
|
||||||
|
get-container="#DetailPopup">
|
||||||
|
<div style="position: relative;height: 100%;background: var(--bg-content);padding-top: 2.875rem;">
|
||||||
|
<van-nav-bar title="详情信息" left-arrow @click-left="PopupInformation=false"></van-nav-bar>
|
||||||
|
<div class="DetailPopup-content" style="padding: 0 16px;">
|
||||||
|
<div class="name">{{imagesData.name}}.{{imagesData.ext}}</div>
|
||||||
|
<div class="block" v-if="imagesData.colors && imagesData.colors.length">
|
||||||
|
<div class="title">颜色</div>
|
||||||
|
<div class="block-item colors">
|
||||||
|
<div class="colors" v-for="item in imagesData.colors">
|
||||||
|
<div :style="{background: '#'+item}"></div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="block" v-if="imagesData.tag && imagesData.tag.length">
|
||||||
|
<div class="title">标签</div>
|
||||||
|
<div class="block-item tag">
|
||||||
|
<div class="tag" v-for="item in imagesData.tag">{{item}}</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="block" v-if="imagesData.link">
|
||||||
|
<div class="title">链接</div>
|
||||||
|
<div class="block-item link">
|
||||||
|
<span>{{imagesData.link}}</span>
|
||||||
|
<i class="ri-file-copy-line" @click="CommonCopyTxt(imagesData.link)"></i>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="block" v-if="imagesData.foldernames && imagesData.foldernames.length">
|
||||||
|
<div class="title">分类</div>
|
||||||
|
<div class="block-item tag">
|
||||||
|
<div class="tag" v-for="item in imagesData.foldernames">{{item}}</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="block">
|
||||||
|
<div class="title">基本信息</div>
|
||||||
|
<div class="block-item">
|
||||||
|
<van-row class="basic">
|
||||||
|
<van-col span="12">
|
||||||
|
<div class="label">评分</div>
|
||||||
|
</van-col>
|
||||||
|
<van-col span="12">
|
||||||
|
<div class="record">
|
||||||
|
<van-icon v-for="item in imagesData.grade" name="star" class="star active"></van-icon><van-icon v-for="item in imagesData.fgrade" name="star" class="star"></van-icon>
|
||||||
|
</div>
|
||||||
|
</van-col>
|
||||||
|
</van-row>
|
||||||
|
<van-row class="basic">
|
||||||
|
<van-col span="12">
|
||||||
|
<div class="label">尺寸</div>
|
||||||
|
</van-col>
|
||||||
|
<van-col span="12">
|
||||||
|
<div class="record">{{imagesData.width}}×{{imagesData.height}}</div>
|
||||||
|
</van-col>
|
||||||
|
</van-row>
|
||||||
|
<van-row class="basic">
|
||||||
|
<van-col span="12">
|
||||||
|
<div class="label">文件大小</div>
|
||||||
|
</van-col>
|
||||||
|
<van-col span="12">
|
||||||
|
<div class="record">{{imagesData.fsize}}</div>
|
||||||
|
</van-col>
|
||||||
|
</van-row>
|
||||||
|
<van-row class="basic">
|
||||||
|
<van-col span="12">
|
||||||
|
<div class="label">类型</div>
|
||||||
|
</van-col>
|
||||||
|
<van-col span="12">
|
||||||
|
<div class="record">{{imagesData.ext}}</div>
|
||||||
|
</van-col>
|
||||||
|
</van-row>
|
||||||
|
<van-row class="basic">
|
||||||
|
<van-col span="12">
|
||||||
|
<div class="label">创建时间</div>
|
||||||
|
</van-col>
|
||||||
|
<van-col span="12">
|
||||||
|
<div class="record">{{imagesData.mtime}}</div>
|
||||||
|
</van-col>
|
||||||
|
</van-row>
|
||||||
|
<van-row class="basic">
|
||||||
|
<van-col span="12">
|
||||||
|
<div class="label">添加时间</div>
|
||||||
|
</van-col>
|
||||||
|
<van-col span="12">
|
||||||
|
<div class="record">{{imagesData.btime}}</div>
|
||||||
|
</van-col>
|
||||||
|
</van-row>
|
||||||
|
<van-row class="basic">
|
||||||
|
<van-col span="12">
|
||||||
|
<div class="label">修改时间</div>
|
||||||
|
</van-col>
|
||||||
|
<van-col span="12">
|
||||||
|
<div class="record">{{imagesData.dateline}}</div>
|
||||||
|
</van-col>
|
||||||
|
</van-row>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
</van-popup>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<script type="text/javascript">
|
||||||
|
new Vue({
|
||||||
|
el: '#dzzoffice',
|
||||||
|
data: function() {
|
||||||
|
return {
|
||||||
|
imagesData: {
|
||||||
|
rid : '$resourcesdata[rid]',
|
||||||
|
appid : '$resourcesdata[appid]',
|
||||||
|
name : '$resourcesdata[name]',
|
||||||
|
type : '$resourcesdata[type]',
|
||||||
|
ext : '$resourcesdata[ext]',
|
||||||
|
height : $resourcesdata[height],
|
||||||
|
width : $resourcesdata[width],
|
||||||
|
dateline : '$resourcesdata[dateline]',
|
||||||
|
grade : $resourcesdata[grade],
|
||||||
|
mtime : '$resourcesdata[mtime]',
|
||||||
|
btime : '$resourcesdata[btime]',
|
||||||
|
colors : $resourcesdata[colors],
|
||||||
|
desc : '$resourcesdata[desc]',
|
||||||
|
link : '$resourcesdata[link]',
|
||||||
|
tag :$resourcesdata[tag],
|
||||||
|
opentype : '$resourcesdata[opentype]',
|
||||||
|
icondata:'$resourcesdata[icondata]',
|
||||||
|
iconwidth : $resourcesdata[iconwidth],
|
||||||
|
iconheight : $resourcesdata[iconheight],
|
||||||
|
share : $resourcesdata[share],
|
||||||
|
download : $resourcesdata[download],
|
||||||
|
originalimg : '$resourcesdata[originalimg]',
|
||||||
|
realpath : '$resourcesdata[realpath]',
|
||||||
|
fsize : '$resourcesdata[fsize]',
|
||||||
|
foldernames :$resourcesdata[foldernames],
|
||||||
|
dpath:'$resourcesdata[dpath]',
|
||||||
|
footer:false
|
||||||
|
},
|
||||||
|
PopupInformation:false
|
||||||
|
};
|
||||||
|
},
|
||||||
|
|
||||||
|
computed: {
|
||||||
|
|
||||||
|
},
|
||||||
|
created() {
|
||||||
|
if(this.imagesData.link ||this.imagesData.share || this.imagesData.download){
|
||||||
|
this.imagesData['footer'] = true;
|
||||||
|
}else{
|
||||||
|
this.imagesData['footer'] = false;
|
||||||
|
}
|
||||||
|
if(this.imagesData.opentype=='video'){
|
||||||
|
var ratio = parseFloat(this.imagesData.width)/document.body.clientWidth;
|
||||||
|
var h = parseFloat(this.imagesData.height)/ratio;
|
||||||
|
this.imagesData['videoH'] = h;
|
||||||
|
}
|
||||||
|
},
|
||||||
|
methods:{
|
||||||
|
DetailImgload(event){
|
||||||
|
$(event.target).removeClass('opacity').siblings('.thumbnail').remove();
|
||||||
|
},
|
||||||
|
DetailFooterClick(type){
|
||||||
|
var self = this;
|
||||||
|
var rid = self.imagesData.rid;
|
||||||
|
if(type == 'link'){
|
||||||
|
window.open(self.imagesData.link);
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
if(type == 'download'){
|
||||||
|
if (self.imagesData.dpath) {
|
||||||
|
window.open(SITEURL + MOD_URL + '&op=download&dpath=' + self.imagesData.dpath)
|
||||||
|
} else {
|
||||||
|
self.$toast({
|
||||||
|
message: '数据错误',
|
||||||
|
icon: 'cross',
|
||||||
|
});
|
||||||
|
}
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
if(type == 'share'){
|
||||||
|
if (self.imagesData.rid) {
|
||||||
|
$.post('{MOD_URL}&op=ajax&operation=createshare', {
|
||||||
|
rid: self.imagesData.rid
|
||||||
|
}, function(data) {
|
||||||
|
if (data.success) {
|
||||||
|
self.$dialog.confirm({
|
||||||
|
title: '分享成功',
|
||||||
|
message: data.success,
|
||||||
|
confirmButtonText:'复制地址',
|
||||||
|
cancelButtonText:'关闭'
|
||||||
|
}).then(() => {
|
||||||
|
self.CommonCopyTxt(data.success);
|
||||||
|
}).catch(() => {
|
||||||
|
// on cancel
|
||||||
|
});
|
||||||
|
} else {
|
||||||
|
self.$toast({
|
||||||
|
message: '分享失败',
|
||||||
|
icon: 'cross',
|
||||||
|
});
|
||||||
|
}
|
||||||
|
}, 'json')
|
||||||
|
} else {
|
||||||
|
self.$toast({
|
||||||
|
message: '数据错误',
|
||||||
|
icon: 'cross',
|
||||||
|
});
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
CommonCopyTxt(text){
|
||||||
|
var self = this;
|
||||||
|
var input = document.createElement('input'); input.setAttribute('id', 'copyInput');
|
||||||
|
input.setAttribute('value', text);
|
||||||
|
document.getElementsByTagName('body')[0].appendChild(input);
|
||||||
|
document.getElementById('copyInput').select();
|
||||||
|
document.execCommand('copy');
|
||||||
|
document.getElementById('copyInput').remove();
|
||||||
|
self.$toast.success('复制成功');
|
||||||
|
}
|
||||||
|
},
|
||||||
|
mounted() {
|
||||||
|
}
|
||||||
|
});
|
||||||
|
</script>
|
||||||
|
<!--{template mobile/frame/footer_simple}-->
|
||||||
@@ -10,7 +10,7 @@
|
|||||||
</div>
|
</div>
|
||||||
<div class="h-right">
|
<div class="h-right">
|
||||||
<div class="r-option">
|
<div class="r-option">
|
||||||
<el-dropdown trigger="click" @command="handleavatar">
|
<el-dropdown v-cloak trigger="click" @command="handleavatar">
|
||||||
<div id="dzz_avatar_img">{eval echo avatar_block($_G[uid]);} </div>
|
<div id="dzz_avatar_img">{eval echo avatar_block($_G[uid]);} </div>
|
||||||
<el-dropdown-menu slot="dropdown" style="width: 165px;">
|
<el-dropdown-menu slot="dropdown" style="width: 165px;">
|
||||||
<el-dropdown-item command="personal">个人设置</el-dropdown-item>
|
<el-dropdown-item command="personal">个人设置</el-dropdown-item>
|
||||||
@@ -35,7 +35,6 @@
|
|||||||
<script type="text/javascript">
|
<script type="text/javascript">
|
||||||
Vue.component('page-header', {
|
Vue.component('page-header', {
|
||||||
template: '#PageHeader',
|
template: '#PageHeader',
|
||||||
props: ['isscreenshow'],
|
|
||||||
data: function() {
|
data: function() {
|
||||||
return {
|
return {
|
||||||
}
|
}
|
||||||
@@ -8,7 +8,7 @@
|
|||||||
</a>
|
</a>
|
||||||
<div class="h-center">
|
<div class="h-center">
|
||||||
<div class="result-section">
|
<div class="result-section">
|
||||||
<div class="library-classification">
|
<div class="library-classification" v-if="librarys.length>1">
|
||||||
<span class="el-dropdown-link block" @click="handleRefreshLibrary">
|
<span class="el-dropdown-link block" @click="handleRefreshLibrary">
|
||||||
<span>{{librarysName}}</span>
|
<span>{{librarysName}}</span>
|
||||||
</span>
|
</span>
|
||||||
@@ -24,10 +24,10 @@
|
|||||||
</el-dropdown-menu>
|
</el-dropdown-menu>
|
||||||
</el-dropdown>
|
</el-dropdown>
|
||||||
</div>
|
</div>
|
||||||
<div class="input-box">
|
<div class="input-box" :class="librarys.length<2?'radius':''">
|
||||||
<div class="InputKeyword" @click="ShowPopoverSearch">
|
<div class="InputKeyword" @click="ShowPopoverSearch">
|
||||||
<div class="el-popover-search">
|
<div class="el-popover-search">
|
||||||
<el-input class="search-keyword" @input="handleKeywordInput" v-model="keyword" clearable></el-input>
|
<el-input class="search-keyword" @input="handleKeywordInput" v-model="keyword" clearable placeholder=""></el-input>
|
||||||
<div style="padding: 0px 15px;">
|
<div style="padding: 0px 15px;">
|
||||||
<el-divider></el-divider>
|
<el-divider></el-divider>
|
||||||
</div>
|
</div>
|
||||||
@@ -61,7 +61,7 @@
|
|||||||
</div>
|
</div>
|
||||||
</el-scrollbar>
|
</el-scrollbar>
|
||||||
</div>
|
</div>
|
||||||
<!--{template components/headerindex/searchScreen}-->
|
<!--{template pc/components/headerindex/searchScreen}-->
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
@@ -101,7 +101,7 @@
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<!--{template components/headerindex/screen}-->
|
<!--{template pc/components/headerindex/screen}-->
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
@@ -168,6 +168,7 @@
|
|||||||
</template>
|
</template>
|
||||||
<script type="text/javascript">
|
<script type="text/javascript">
|
||||||
Vue.component('page-header', {
|
Vue.component('page-header', {
|
||||||
|
name:'PageHeader',
|
||||||
template: '#PageHeader',
|
template: '#PageHeader',
|
||||||
props: [],
|
props: [],
|
||||||
data: function() {
|
data: function() {
|
||||||
@@ -194,9 +195,12 @@
|
|||||||
},
|
},
|
||||||
|
|
||||||
classify:{
|
classify:{
|
||||||
|
childFids:[],
|
||||||
|
DefaultFids:[],
|
||||||
folderdatanum:[],
|
folderdatanum:[],
|
||||||
hotsearchnum:[],
|
hotsearchnum:[],
|
||||||
text:'',
|
text:'',
|
||||||
|
loading:true
|
||||||
},
|
},
|
||||||
tagData:{//标签数据
|
tagData:{//标签数据
|
||||||
alltagdata:{
|
alltagdata:{
|
||||||
@@ -208,7 +212,8 @@
|
|||||||
checkedsId:[],
|
checkedsId:[],
|
||||||
checkedstxt:'',
|
checkedstxt:'',
|
||||||
tagrelative:'1',
|
tagrelative:'1',
|
||||||
search:''
|
search:'',
|
||||||
|
loading:true
|
||||||
},
|
},
|
||||||
paramsTag:{},
|
paramsTag:{},
|
||||||
modelParamsTag:{},
|
modelParamsTag:{},
|
||||||
@@ -240,7 +245,8 @@
|
|||||||
ext:{
|
ext:{
|
||||||
val:[],
|
val:[],
|
||||||
height:0,
|
height:0,
|
||||||
data:[]
|
data:[],
|
||||||
|
loading:true
|
||||||
},
|
},
|
||||||
shape:{
|
shape:{
|
||||||
shape:[],
|
shape:[],
|
||||||
@@ -249,25 +255,30 @@
|
|||||||
height:'',
|
height:'',
|
||||||
txt:'',
|
txt:'',
|
||||||
data:[],
|
data:[],
|
||||||
|
loading:true
|
||||||
},
|
},
|
||||||
grade:{
|
grade:{
|
||||||
grade:[],
|
grade:[],
|
||||||
data:[]
|
data:[],
|
||||||
|
loading:true
|
||||||
},
|
},
|
||||||
btime:{
|
btime:{
|
||||||
btime:'',
|
btime:'',
|
||||||
datelinepicker:[],
|
datelinepicker:[],
|
||||||
data:[],
|
data:[],
|
||||||
|
loading:true
|
||||||
},
|
},
|
||||||
mtime:{
|
mtime:{
|
||||||
mtime:'',
|
mtime:'',
|
||||||
datelinepicker:[],
|
datelinepicker:[],
|
||||||
data:[],
|
data:[],
|
||||||
|
loading:true
|
||||||
},
|
},
|
||||||
dateline:{
|
dateline:{
|
||||||
dateline:'',
|
dateline:'',
|
||||||
datelinepicker:[],
|
datelinepicker:[],
|
||||||
data:[],
|
data:[],
|
||||||
|
loading:true
|
||||||
},
|
},
|
||||||
FirstLoad:true
|
FirstLoad:true
|
||||||
}
|
}
|
||||||
@@ -309,6 +320,12 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
created() {
|
created() {
|
||||||
|
var tagfid = window.sessionStorage.getItem("tagfid");
|
||||||
|
if(tagfid){
|
||||||
|
this.tagData.checkedsFid = tagfid;
|
||||||
|
}else{
|
||||||
|
this.tagData.checkedsFid = 'all';
|
||||||
|
}
|
||||||
this.GetHashParams();
|
this.GetHashParams();
|
||||||
this.handleSearchresize();
|
this.handleSearchresize();
|
||||||
},
|
},
|
||||||
@@ -2,32 +2,41 @@
|
|||||||
<template v-for="sitem in ScreenData">
|
<template v-for="sitem in ScreenData">
|
||||||
<template v-if="sitem.key=='classify'&&GetAppid">
|
<template v-if="sitem.key=='classify'&&GetAppid">
|
||||||
<div class="block">
|
<div class="block">
|
||||||
<el-popover placement="bottom" width="auto" trigger="click" ref="ScreenPopoverRef" @show="handleShowclassify">
|
<el-popover placement="bottom" width="auto" trigger="click" ref="ScreenPopoverRef" @show="handleShowafteclassify">
|
||||||
<div class="classification-box">
|
<template v-if="classify.loading">
|
||||||
<el-input v-model="filterText" size="mini" clearable placeholder="输入关键字进行过滤"></el-input>
|
<div class="img-loading" style="position: relative;">
|
||||||
<div class="classification-all-box">
|
<span class="el-icon-loading"></span>加载中...
|
||||||
<el-scrollbar class="page-component__scroll" style="height: 300px;">
|
</div>
|
||||||
<el-tree
|
</template>
|
||||||
class="tree-line"
|
<template v-else>
|
||||||
ref="tree"
|
<div class="classification-box">
|
||||||
show-checkbox
|
<el-input v-model="filterText" size="mini" clearable placeholder="输入关键字进行过滤"></el-input>
|
||||||
check-strictly
|
<div class="classification-all-box">
|
||||||
node-key="fid"
|
<el-scrollbar class="page-component__scroll" style="height: 300px;">
|
||||||
default-expand-all
|
<el-tree
|
||||||
:expand-on-click-node="false"
|
class="tree-line"
|
||||||
check-on-click-node
|
ref="tree"
|
||||||
@check="handleCheck"
|
show-checkbox
|
||||||
:filter-node-method="filterClassify"
|
check-strictly
|
||||||
:data="classify.folderdatanum"
|
node-key="fid"
|
||||||
:props="defaultProps">
|
default-expand-all
|
||||||
</el-tree>
|
:expand-on-click-node="false"
|
||||||
|
check-on-click-node
|
||||||
</el-scrollbar>
|
@check="handleCheck"
|
||||||
|
:filter-node-method="filterClassify"
|
||||||
|
:data="classify.folderdatanum"
|
||||||
|
:default-checked-keys="classify.DefaultFids"
|
||||||
|
:props="defaultProps">
|
||||||
|
</el-tree>
|
||||||
|
|
||||||
|
</el-scrollbar>
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</template>
|
||||||
|
|
||||||
<div class="field-single" :class="classify.text?'active':''" slot="reference">
|
<div class="field-single" :class="classify.text?'active':''" slot="reference">
|
||||||
分类
|
分类
|
||||||
<span v-if="classify.text">:{{classify.text}}</span>
|
<span class="screen-show-val" v-if="classify.text">:{{classify.text}}</span>
|
||||||
<i class="ri-arrow-down-s-fill icon"></i>
|
<i class="ri-arrow-down-s-fill icon"></i>
|
||||||
<span v-if="classify.text" class="delBtn el-icon-close" @click.stop="handleClickDelete('classify')"></span>
|
<span v-if="classify.text" class="delBtn el-icon-close" @click.stop="handleClickDelete('classify')"></span>
|
||||||
</div>
|
</div>
|
||||||
@@ -51,7 +60,7 @@
|
|||||||
</span>
|
</span>
|
||||||
</div>
|
</div>
|
||||||
<div class="slider" v-if="colors.color">
|
<div class="slider" v-if="colors.color">
|
||||||
<span class="txt">精确的</span>
|
<span class="txt">精确度</span>
|
||||||
<el-slider v-model="colors.persion" @change="handleColoSlider"></el-slider>
|
<el-slider v-model="colors.persion" @change="handleColoSlider"></el-slider>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
@@ -192,19 +201,27 @@
|
|||||||
</template>
|
</template>
|
||||||
<template v-else-if="sitem.key=='ext'">
|
<template v-else-if="sitem.key=='ext'">
|
||||||
<div class="block">
|
<div class="block">
|
||||||
<el-popover popper-class="PopoverNotPadding" placement="bottom" width="225" trigger="click" @show="handleShowPopover('ext')" ref="ScreenPopoverRef">
|
<el-popover popper-class="PopoverNotPadding" placement="bottom" width="225" trigger="click" @show="handleShowPopover('ext')" @after-enter="handleShowafterPopover('ext')" ref="ScreenPopoverRef">
|
||||||
<div class="field-select-box dzz-dropdown-menu scroll" :style="{height: ext.height+'px'}">
|
<div class="field-select-box dzz-dropdown-menu scroll" :style="{height: ext.height+'px'}">
|
||||||
<el-scrollbar class="page-component__scroll">
|
<el-scrollbar class="page-component__scroll">
|
||||||
<div style="padding: 12px;">
|
<div style="padding: 12px;">
|
||||||
<template v-if="ext.data && ext.data.length">
|
<template v-if="ext.loading">
|
||||||
<div class="dzz-dropdown-menu__item single" v-for="item in ext.data">
|
<div class="img-loading" style="position: relative;">
|
||||||
<el-checkbox v-model="ext.val" :label="item.ext" @change="handleChangeExt"></el-checkbox>
|
<span class="el-icon-loading"></span>加载中...
|
||||||
<span class="quantity">{{item.num}}</span>
|
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
<template v-else>
|
<template v-else>
|
||||||
<div class="dzz-dropdown-menu__item single screen-notdata">没有找到相关项目</div>
|
<template v-if="ext.data && ext.data.length">
|
||||||
|
<div class="dzz-dropdown-menu__item single" v-for="item in ext.data">
|
||||||
|
<el-checkbox v-model="ext.val" :label="item.ext" @change="handleChangeExt"></el-checkbox>
|
||||||
|
<span class="quantity">{{item.num}}</span>
|
||||||
|
</div>
|
||||||
|
</template>
|
||||||
|
<template v-else>
|
||||||
|
<div class="dzz-dropdown-menu__item single screen-notdata">没有找到相关项目</div>
|
||||||
|
</template>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
</el-scrollbar>
|
</el-scrollbar>
|
||||||
</div>
|
</div>
|
||||||
@@ -218,27 +235,34 @@
|
|||||||
</template>
|
</template>
|
||||||
<template v-else-if="sitem.key=='shape'">
|
<template v-else-if="sitem.key=='shape'">
|
||||||
<div class="block">
|
<div class="block">
|
||||||
<el-popover popper-class="PopoverNotPadding" placement="bottom" width="225" trigger="click" @show="handleShowPopover('shape')" ref="ScreenPopoverRef">
|
<el-popover popper-class="PopoverNotPadding" placement="bottom" width="225" trigger="click" @show="handleShowPopover('shape')" @after-enter="handleShowafterPopover('shape')" ref="ScreenPopoverRef">
|
||||||
<div class="field-select-box dzz-dropdown-menu">
|
<div class="field-select-box dzz-dropdown-menu">
|
||||||
<div style="padding:12px;">
|
<div style="padding:12px;">
|
||||||
<div class="dzz-dropdown-menu__item single" v-for="item in shape.data">
|
<template v-if="shape.loading">
|
||||||
<el-checkbox v-model="shape.shape" :label="item.lablename" @change="handleChangeShape"></el-checkbox>
|
<div class="img-loading" style="position: relative;">
|
||||||
<span class="quantity">{{item.num}}</span>
|
<span class="el-icon-loading"></span>加载中...
|
||||||
</div>
|
</div>
|
||||||
<div class="dzz-dropdown-menu__item single">
|
</template>
|
||||||
<el-checkbox v-model="shape.custom" label="自定义" @change="handleChangeShapeCustom"></el-checkbox>
|
<template v-else>
|
||||||
</div>
|
<div class="dzz-dropdown-menu__item single" v-for="item in shape.data">
|
||||||
<div class="dzz-dropdown-menu__item single nothover" v-if="shape.custom">
|
<el-checkbox v-model="shape.shape" :label="item.lablename" @change="handleChangeShape"></el-checkbox>
|
||||||
<el-row :gutter="0">
|
<span class="quantity">{{item.num}}</span>
|
||||||
<el-col :span="10">
|
</div>
|
||||||
<el-input v-model.number="shape.width" size="mini"></el-input>
|
<div class="dzz-dropdown-menu__item single">
|
||||||
</el-col>
|
<el-checkbox v-model="shape.custom" label="自定义" @change="handleChangeShapeCustom"></el-checkbox>
|
||||||
<el-col :span="4" style="text-align: center;">:</el-col>
|
</div>
|
||||||
<el-col :span="10">
|
<div class="dzz-dropdown-menu__item single nothover" v-if="shape.custom">
|
||||||
<el-input v-model.number="shape.height" size="mini"></el-input>
|
<el-row :gutter="0">
|
||||||
</el-col>
|
<el-col :span="10">
|
||||||
</el-row>
|
<el-input v-model.number="shape.width" size="mini"></el-input>
|
||||||
</div>
|
</el-col>
|
||||||
|
<el-col :span="4" style="text-align: center;">:</el-col>
|
||||||
|
<el-col :span="10">
|
||||||
|
<el-input v-model.number="shape.height" size="mini"></el-input>
|
||||||
|
</el-col>
|
||||||
|
</el-row>
|
||||||
|
</div>
|
||||||
|
</template>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="field-single" :class="GetParams.shape||GetParams.shapesize?'active':''" slot="reference">
|
<div class="field-single" :class="GetParams.shape||GetParams.shapesize?'active':''" slot="reference">
|
||||||
@@ -254,16 +278,23 @@
|
|||||||
</template>
|
</template>
|
||||||
<template v-else-if="sitem.key=='grade'">
|
<template v-else-if="sitem.key=='grade'">
|
||||||
<div class="block">
|
<div class="block">
|
||||||
<el-popover placement="bottom" width="225" trigger="click" @show="handleShowPopover('grade')" ref="ScreenPopoverRef">
|
<el-popover placement="bottom" width="225" trigger="click" @show="handleShowPopover('grade')" @after-enter="handleShowafterPopover('grade')" ref="ScreenPopoverRef">
|
||||||
<ul class="field-select-box dzz-dropdown-menu">
|
<template v-if="grade.loading">
|
||||||
<li class="dzz-dropdown-menu__item single" v-for="item in grade.data">
|
<div class="img-loading" style="position: relative;">
|
||||||
<el-checkbox v-if="item.grade == 0" v-model="grade.grade" label="未评分" @change="handleChangeGrade">未评分</el-checkbox>
|
<span class="el-icon-loading"></span>加载中...
|
||||||
<el-checkbox v-else v-model="grade.grade" name="type" :label="item.grade" @change="handleChangeGrade">
|
</div>
|
||||||
<i class="ri-star-fill stars" v-for="fitem in parseInt(item.grade)"></i>
|
</template>
|
||||||
</el-checkbox>
|
<template v-else>
|
||||||
<span class="quantity">{{item.num}}</span>
|
<ul class="field-select-box dzz-dropdown-menu">
|
||||||
</li>
|
<li class="dzz-dropdown-menu__item single" v-for="item in grade.data">
|
||||||
</ul>
|
<el-checkbox v-if="item.grade == 0" v-model="grade.grade" label="未评分" @change="handleChangeGrade">未评分</el-checkbox>
|
||||||
|
<el-checkbox v-else v-model="grade.grade" name="type" :label="item.grade" @change="handleChangeGrade">
|
||||||
|
<i class="ri-star-fill stars" v-for="fitem in parseInt(item.grade)"></i>
|
||||||
|
</el-checkbox>
|
||||||
|
<span class="quantity">{{item.num}}</span>
|
||||||
|
</li>
|
||||||
|
</ul>
|
||||||
|
</template>
|
||||||
<div class="field-single" :class="GetParams.grade?'active':''" slot="reference">
|
<div class="field-single" :class="GetParams.grade?'active':''" slot="reference">
|
||||||
<span>评分<template v-if="GetParams.grade">:{{GetParams.grade}}</template></span>
|
<span>评分<template v-if="GetParams.grade">:{{GetParams.grade}}</template></span>
|
||||||
<i class="ri-arrow-down-s-fill icon"></i>
|
<i class="ri-arrow-down-s-fill icon"></i>
|
||||||
@@ -274,30 +305,37 @@
|
|||||||
</template>
|
</template>
|
||||||
<template v-else-if="sitem.key=='btime'">
|
<template v-else-if="sitem.key=='btime'">
|
||||||
<div class="block">
|
<div class="block">
|
||||||
<el-popover placement="bottom" width="225" trigger="click" @show="handleShowPopover('btime')" ref="ScreenPopoverRef">
|
<el-popover placement="bottom" width="225" trigger="click" @show="handleShowPopover('btime')" @after-enter="handleShowafterPopover('btime')" ref="ScreenPopoverRef">
|
||||||
<ul class="field-select-box dzz-dropdown-menu">
|
<template v-if="btime.loading">
|
||||||
<li class="dzz-dropdown-menu__item single" v-for="item in btime.data">
|
<div class="img-loading" style="position: relative;">
|
||||||
<el-radio v-model="btime.btime" :label="item.label" @click.native.prevent="handleScreenTime('btime',item.label)"></el-radio>
|
<span class="el-icon-loading"></span>加载中...
|
||||||
<span class="quantity">{{item.num}}</span>
|
</div>
|
||||||
</li>
|
</template>
|
||||||
<li class="dzz-dropdown-menu__item single">
|
<template v-else>
|
||||||
<el-radio v-model="btime.btime" label="自定义范围" @click.native.prevent="handleScreenTime('btime','自定义范围')"></el-radio>
|
<ul class="field-select-box dzz-dropdown-menu">
|
||||||
</li>
|
<li class="dzz-dropdown-menu__item single" v-for="item in btime.data">
|
||||||
<li class="dzz-dropdown-menu__item single nothover" style="padding: 5px 0;" v-if="btime.btime.indexOf('自定义范围')>-1">
|
<el-radio v-model="btime.btime" :label="item.label" @click.native.prevent="handleScreenTime('btime',item.label)"></el-radio>
|
||||||
<el-date-picker
|
<span class="quantity">{{item.num}}</span>
|
||||||
class="dateline"
|
</li>
|
||||||
v-model="btime.datelinepicker"
|
<li class="dzz-dropdown-menu__item single">
|
||||||
size="mini"
|
<el-radio v-model="btime.btime" label="自定义范围" @click.native.prevent="handleScreenTime('btime','自定义范围')"></el-radio>
|
||||||
:clearable="false"
|
</li>
|
||||||
@change="handleChangebtimepicker"
|
<li class="dzz-dropdown-menu__item single nothover" style="padding: 5px 0;" v-if="btime.btime.indexOf('自定义范围')>-1">
|
||||||
value-format="yyyy-MM-dd"
|
<el-date-picker
|
||||||
type="daterange"
|
class="dateline"
|
||||||
range-separator="至"
|
v-model="btime.datelinepicker"
|
||||||
start-placeholder="开始日期"
|
size="mini"
|
||||||
end-placeholder="结束日期">
|
:clearable="false"
|
||||||
</el-date-picker>
|
@change="handleChangebtimepicker"
|
||||||
</li>
|
value-format="yyyy-MM-dd"
|
||||||
</ul>
|
type="daterange"
|
||||||
|
range-separator="至"
|
||||||
|
start-placeholder="开始日期"
|
||||||
|
end-placeholder="结束日期">
|
||||||
|
</el-date-picker>
|
||||||
|
</li>
|
||||||
|
</ul>
|
||||||
|
</template>
|
||||||
<div class="field-single" :class="GetParams.btime?'active':''" slot="reference">
|
<div class="field-single" :class="GetParams.btime?'active':''" slot="reference">
|
||||||
<span>添加时间<template v-if="GetParams.btime">:{{GetParams.btime}}</template></span>
|
<span>添加时间<template v-if="GetParams.btime">:{{GetParams.btime}}</template></span>
|
||||||
<i class="ri-arrow-down-s-fill icon"></i>
|
<i class="ri-arrow-down-s-fill icon"></i>
|
||||||
@@ -308,30 +346,38 @@
|
|||||||
</template>
|
</template>
|
||||||
<template v-else-if="sitem.key=='dateline'">
|
<template v-else-if="sitem.key=='dateline'">
|
||||||
<div class="block">
|
<div class="block">
|
||||||
<el-popover placement="bottom" width="225" trigger="click" @show="handleShowPopover('dateline')" ref="ScreenPopoverRef">
|
<el-popover placement="bottom" width="225" trigger="click" @show="handleShowPopover('dateline')" @after-enter="handleShowafterPopover('dateline')" ref="ScreenPopoverRef">
|
||||||
<ul class="field-select-box dzz-dropdown-menu">
|
<template v-if="dateline.loading">
|
||||||
<li class="dzz-dropdown-menu__item single" v-for="item in dateline.data">
|
<div class="img-loading" style="position: relative;">
|
||||||
<el-radio v-model="dateline.dateline" :label="item.label" @click.native.prevent="handleScreenTime('dateline',item.label)"></el-radio>
|
<span class="el-icon-loading"></span>加载中...
|
||||||
<span class="quantity">{{item.num}}</span>
|
</div>
|
||||||
</li>
|
</template>
|
||||||
<li class="dzz-dropdown-menu__item single">
|
<template v-else>
|
||||||
<el-radio v-model="dateline.dateline" label="自定义范围" @click.native.prevent="handleScreenTime('dateline','自定义范围')"></el-radio>
|
<ul class="field-select-box dzz-dropdown-menu">
|
||||||
</li>
|
<li class="dzz-dropdown-menu__item single" v-for="item in dateline.data">
|
||||||
<li class="dzz-dropdown-menu__item single nothover" style="padding: 5px 0;" v-if="dateline.dateline.indexOf('自定义范围')>-1">
|
<el-radio v-model="dateline.dateline" :label="item.label" @click.native.prevent="handleScreenTime('dateline',item.label)"></el-radio>
|
||||||
<el-date-picker
|
<span class="quantity">{{item.num}}</span>
|
||||||
class="dateline"
|
</li>
|
||||||
v-model="dateline.datelinepicker"
|
<li class="dzz-dropdown-menu__item single">
|
||||||
size="mini"
|
<el-radio v-model="dateline.dateline" label="自定义范围" @click.native.prevent="handleScreenTime('dateline','自定义范围')"></el-radio>
|
||||||
:clearable="false"
|
</li>
|
||||||
@change="handleChangedatelinepicker"
|
<li class="dzz-dropdown-menu__item single nothover" style="padding: 5px 0;" v-if="dateline.dateline.indexOf('自定义范围')>-1">
|
||||||
value-format="yyyy-MM-dd"
|
<el-date-picker
|
||||||
type="daterange"
|
class="dateline"
|
||||||
range-separator="至"
|
v-model="dateline.datelinepicker"
|
||||||
start-placeholder="开始日期"
|
size="mini"
|
||||||
end-placeholder="结束日期">
|
:clearable="false"
|
||||||
</el-date-picker>
|
@change="handleChangedatelinepicker"
|
||||||
</li>
|
value-format="yyyy-MM-dd"
|
||||||
</ul>
|
type="daterange"
|
||||||
|
range-separator="至"
|
||||||
|
start-placeholder="开始日期"
|
||||||
|
end-placeholder="结束日期">
|
||||||
|
</el-date-picker>
|
||||||
|
</li>
|
||||||
|
</ul>
|
||||||
|
</template>
|
||||||
|
|
||||||
<div class="field-single" :class="GetParams.dateline?'active':''" slot="reference">
|
<div class="field-single" :class="GetParams.dateline?'active':''" slot="reference">
|
||||||
<span>修改时间<template v-if="GetParams.dateline">:{{GetParams.dateline}}</template></span>
|
<span>修改时间<template v-if="GetParams.dateline">:{{GetParams.dateline}}</template></span>
|
||||||
<i class="ri-arrow-down-s-fill icon"></i>
|
<i class="ri-arrow-down-s-fill icon"></i>
|
||||||
@@ -342,30 +388,38 @@
|
|||||||
</template>
|
</template>
|
||||||
<template v-else-if="sitem.key=='mtime'">
|
<template v-else-if="sitem.key=='mtime'">
|
||||||
<div class="block">
|
<div class="block">
|
||||||
<el-popover placement="bottom" width="225" trigger="click" @show="handleShowPopover('mtime')" ref="ScreenPopoverRef">
|
<el-popover placement="bottom" width="225" trigger="click" @show="handleShowPopover('mtime')" @after-enter="handleShowafterPopover('mtime')" ref="ScreenPopoverRef">
|
||||||
<ul class="field-select-box dzz-dropdown-menu">
|
<template v-if="mtime.loading">
|
||||||
<li class="dzz-dropdown-menu__item single" v-for="item in mtime.data">
|
<div class="img-loading" style="position: relative;">
|
||||||
<el-radio v-model="mtime.mtime" :label="item.label" @click.native.prevent="handleScreenTime('mtime',item.label)"></el-radio>
|
<span class="el-icon-loading"></span>加载中...
|
||||||
<span class="quantity">{{item.num}}</span>
|
</div>
|
||||||
</li>
|
</template>
|
||||||
<li class="dzz-dropdown-menu__item single">
|
<template v-else>
|
||||||
<el-radio v-model="mtime.mtime" label="自定义范围" @click.native.prevent="handleScreenTime('mtime','自定义范围')"></el-radio>
|
<ul class="field-select-box dzz-dropdown-menu">
|
||||||
</li>
|
<li class="dzz-dropdown-menu__item single" v-for="item in mtime.data">
|
||||||
<li class="dzz-dropdown-menu__item single nothover" style="padding: 5px 0;" v-if="mtime.mtime.indexOf('自定义范围')>-1">
|
<el-radio v-model="mtime.mtime" :label="item.label" @click.native.prevent="handleScreenTime('mtime',item.label)"></el-radio>
|
||||||
<el-date-picker
|
<span class="quantity">{{item.num}}</span>
|
||||||
class="dateline"
|
</li>
|
||||||
v-model="mtime.datelinepicker"
|
<li class="dzz-dropdown-menu__item single">
|
||||||
size="mini"
|
<el-radio v-model="mtime.mtime" label="自定义范围" @click.native.prevent="handleScreenTime('mtime','自定义范围')"></el-radio>
|
||||||
:clearable="false"
|
</li>
|
||||||
@change="handleChangemtimepicker"
|
<li class="dzz-dropdown-menu__item single nothover" style="padding: 5px 0;" v-if="mtime.mtime.indexOf('自定义范围')>-1">
|
||||||
value-format="yyyy-MM-dd"
|
<el-date-picker
|
||||||
type="daterange"
|
class="dateline"
|
||||||
range-separator="至"
|
v-model="mtime.datelinepicker"
|
||||||
start-placeholder="开始日期"
|
size="mini"
|
||||||
end-placeholder="结束日期">
|
:clearable="false"
|
||||||
</el-date-picker>
|
@change="handleChangemtimepicker"
|
||||||
</li>
|
value-format="yyyy-MM-dd"
|
||||||
</ul>
|
type="daterange"
|
||||||
|
range-separator="至"
|
||||||
|
start-placeholder="开始日期"
|
||||||
|
end-placeholder="结束日期">
|
||||||
|
</el-date-picker>
|
||||||
|
</li>
|
||||||
|
</ul>
|
||||||
|
</template>
|
||||||
|
|
||||||
<div class="field-single" :class="GetParams.mtime?'active':''" slot="reference">
|
<div class="field-single" :class="GetParams.mtime?'active':''" slot="reference">
|
||||||
<span><span>创建时间</span><template v-if="GetParams.mtime">:{{GetParams.mtime}}</template></span>
|
<span><span>创建时间</span><template v-if="GetParams.mtime">:{{GetParams.mtime}}</template></span>
|
||||||
<i class="ri-arrow-down-s-fill icon"></i>
|
<i class="ri-arrow-down-s-fill icon"></i>
|
||||||
@@ -376,27 +430,44 @@
|
|||||||
</template>
|
</template>
|
||||||
<template v-else-if="sitem.key=='tag'">
|
<template v-else-if="sitem.key=='tag'">
|
||||||
<template v-if="sitem.showtype">
|
<template v-if="sitem.showtype">
|
||||||
<template v-for="bitem in ParamsTagData">
|
<template v-for="(bitem,index) in ParamsTagData">
|
||||||
<div class="block">
|
<div class="block">
|
||||||
<el-popover popper-class="PopoverNotPadding" placement="bottom" @show="handleShowPopover('grouptag',bitem.cid)" width="255" trigger="click" ref="ScreenPopoverRef">
|
<el-popover popper-class="PopoverNotPadding" placement="bottom" @show="handleShowPopover('grouptag',index)" @after-enter="handleShowafterPopover('grouptag',bitem.cid,index)" width="255" trigger="click" ref="ScreenPopoverRef">
|
||||||
<div class="field-select-box">
|
|
||||||
<div class="tags-box clearfix">
|
|
||||||
<div class="right">
|
<div class="field-select-box">
|
||||||
<div style="padding: 0 12px;margin-bottom: 8px;">
|
<div class="tags-box clearfix">
|
||||||
<el-input size="small" placeholder="请输入内容" prefix-icon="el-icon-search" v-model.trim="modelParamsTag[bitem.cid].search" clearable @input="handleRightGroupTagSearch(bitem.cid)"></el-input>
|
<div class="right">
|
||||||
|
<template v-if="!bitem.loading">
|
||||||
|
<div style="padding: 0 12px;margin-bottom: 8px;">
|
||||||
|
<el-input size="small" placeholder="请输入内容" prefix-icon="el-icon-search" v-model.trim="modelParamsTag[bitem.cid].search" clearable @input="handleRightGroupTagSearch(bitem.cid,index)"></el-input>
|
||||||
|
</div>
|
||||||
|
</template>
|
||||||
|
<el-scrollbar class="page-component__scroll scrollbarTag" style="height: 357px;" :ref="'scrollbarTag'+bitem.cid">
|
||||||
|
<template v-if="bitem.loading">
|
||||||
|
<div style="padding:12px;">
|
||||||
|
<div class="img-loading" style="position: relative;">
|
||||||
|
<span class="el-icon-loading"></span>加载中...
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</template>
|
||||||
|
<template v-else>
|
||||||
|
<ul class="el-popper">
|
||||||
|
<!-- <el-checkbox-group v-model="tagData.checkedsId"> -->
|
||||||
|
<li class="el-dropdown-menu__item" v-for="vitem in modelParamsTag[bitem.cid].data">
|
||||||
|
<el-checkbox class="txt" v-model="modelParamsTag[bitem.cid].value" :label="vitem.tid" @change="handleClickRightGroupTag(bitem.cid,vitem.tid)">{{vitem.tagname}}</el-checkbox>
|
||||||
|
<span class="num">{{vitem.num}}</span>
|
||||||
|
</li>
|
||||||
|
<!-- </el-checkbox-group> -->
|
||||||
|
</ul>
|
||||||
|
</template>
|
||||||
|
</el-scrollbar>
|
||||||
</div>
|
</div>
|
||||||
<el-scrollbar class="page-component__scroll" style="height: 357px;">
|
|
||||||
<ul class="el-popper">
|
|
||||||
<li class="el-dropdown-menu__item" v-for="vitem in paramsTag[bitem.cid].newVal">
|
|
||||||
<el-checkbox class="txt" v-model="modelParamsTag[bitem.cid].data" :label="vitem.tid" @change="handleClickRightGroupTag(bitem.cid,vitem.tid)">{{vitem.tagname}}</el-checkbox>
|
|
||||||
<span class="num">{{vitem.num}}</span>
|
|
||||||
</li>
|
|
||||||
</ul>
|
|
||||||
</el-scrollbar>
|
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
</div>
|
|
||||||
<div class="field-single" :class="modelParamsTag[bitem.cid].text?'active':''" slot="reference">
|
<div class="field-single" :class="modelParamsTag[bitem.cid].text?'active':''" slot="reference">
|
||||||
<span>{{bitem.catname}} <span v-if="modelParamsTag[bitem.cid].text">:{{modelParamsTag[bitem.cid].text}}</span> </span>
|
<span>{{bitem.catname}} <span v-if="modelParamsTag[bitem.cid].text">:{{modelParamsTag[bitem.cid].text}}</span> </span>
|
||||||
<i class="ri-arrow-down-s-fill icon"></i>
|
<i class="ri-arrow-down-s-fill icon"></i>
|
||||||
@@ -408,21 +479,25 @@
|
|||||||
</template>
|
</template>
|
||||||
<template v-else>
|
<template v-else>
|
||||||
<div class="block alltag-block">
|
<div class="block alltag-block">
|
||||||
<el-popover popper-class="PopoverNotPadding" placement="bottom" @show="handleShowPopover('tag')" :width="GetAppid?508:255" trigger="click" ref="ScreenPopoverRef">
|
<el-popover popper-class="PopoverNotPadding" placement="bottom" @show="handleShowPopover('tag')" @after-enter="handleShowafterPopover('tag')" :width="GetAppid?508:255" trigger="click" @after-leave="handleHideafterPopover('tag')" ref="ScreenPopoverRef">
|
||||||
<div class="field-select-box">
|
<div class="field-select-box">
|
||||||
<div class="tags-box clearfix">
|
<div class="tags-box clearfix">
|
||||||
<div class="left" v-if="GetAppid">
|
<div class="left" v-if="GetAppid">
|
||||||
<p class="title">标签分类</p>
|
<p class="title">标签分类</p>
|
||||||
<el-scrollbar class="page-component__scroll" style="height: 308px;">
|
<el-scrollbar class="page-component__scroll" style="height: 308px;">
|
||||||
<ul class="el-popper">
|
<template v-if="tagData.loading">
|
||||||
<li class="el-dropdown-menu__item" :class="tagData.checkedsFid=='all'?'active':''" @click="handleClickLeftTag('all')">
|
<div class="img-loading center">
|
||||||
<div class="txt">全部</div>
|
<span class="el-icon-loading"></span>加载中...
|
||||||
</li>
|
</div>
|
||||||
<li class="el-dropdown-menu__item" v-for="(item,index) in tagData.alltagdata.catdata" :class="tagData.checkedsFid==index?'active':''" @click="handleClickLeftTag(index)">
|
</template>
|
||||||
<div class="txt">{{item.catname}}</div>
|
<template v-else>
|
||||||
<span class="num">{{item.num}}</span>
|
<ul class="el-popper">
|
||||||
</li>
|
<li class="el-dropdown-menu__item" v-for="(item,index) in tagData.alltagdata.catdata" :class="tagData.checkedsFid==index?'active':''" @click="handleClickLeftTag(index)" v-key="index">
|
||||||
</ul>
|
<div class="txt">{{item.catname}}</div>
|
||||||
|
<span class="num">{{item.num}}</span>
|
||||||
|
</li>
|
||||||
|
</ul>
|
||||||
|
</template>
|
||||||
</el-scrollbar>
|
</el-scrollbar>
|
||||||
<div class="logic">
|
<div class="logic">
|
||||||
<span>逻辑:</span>
|
<span>逻辑:</span>
|
||||||
@@ -447,21 +522,42 @@
|
|||||||
<div style="padding: 0 12px;margin-bottom: 8px;">
|
<div style="padding: 0 12px;margin-bottom: 8px;">
|
||||||
<el-input size="small" placeholder="请输入内容" prefix-icon="el-icon-search" v-model.trim="tagData.search" clearable @input="handleRightTagSearch"></el-input>
|
<el-input size="small" placeholder="请输入内容" prefix-icon="el-icon-search" v-model.trim="tagData.search" clearable @input="handleRightTagSearch"></el-input>
|
||||||
</div>
|
</div>
|
||||||
<el-scrollbar class="page-component__scroll" style="height: 357px;">
|
<el-scrollbar class="page-component__scroll scrollbarTag" style="height: 357px;" ref="scrollbarTag">
|
||||||
<ul class="el-popper">
|
<template v-if="tagData.alltagdata.catdata[tagData.checkedsFid]">
|
||||||
<li class="el-dropdown-menu__item" v-for="item in tagData.Rightdata">
|
<template v-if="tagData.alltagdata.catdata[tagData.checkedsFid].loading">
|
||||||
<el-checkbox class="txt" v-model="tagData.checkedsId" :label="item.tid" @change="handleClickRightTag(item.tid)">{{item.tagname}}</el-checkbox>
|
<div class="img-loading center">
|
||||||
<span class="num">{{item.num}}</span>
|
<span class="el-icon-loading"></span>加载中...
|
||||||
</li>
|
</div>
|
||||||
</ul>
|
</template>
|
||||||
|
<template v-else>
|
||||||
|
<el-checkbox-group v-model="tagData.checkedsId" @change="handleClickRightTag">
|
||||||
|
<ul class="el-popper">
|
||||||
|
<li class="el-dropdown-menu__item" v-for="item in tagData.alltagdata.catdata[tagData.checkedsFid].tdatas" v-key="item.tid">
|
||||||
|
<el-checkbox class="txt" :label="item.tid">{{item.tagname}}</el-checkbox>
|
||||||
|
<span class="num">{{item.num}}</span>
|
||||||
|
</li>
|
||||||
|
</ul>
|
||||||
|
</el-checkbox-group>
|
||||||
|
<template v-if="tagData.alltagdata.catdata[tagData.checkedsFid].valloading">
|
||||||
|
<div class="img-loading" style="position: relative;">
|
||||||
|
<span class="el-icon-loading"></span>加载中...
|
||||||
|
</div>
|
||||||
|
</template>
|
||||||
|
</template>
|
||||||
|
</template>
|
||||||
|
<template v-else>
|
||||||
|
<div class="img-loading center">
|
||||||
|
<span class="el-icon-loading"></span>加载中...
|
||||||
|
</div>
|
||||||
|
</template>
|
||||||
</el-scrollbar>
|
</el-scrollbar>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
<div class="field-single" :class="tagData.checkedstxt?'active':''" slot="reference">
|
<div class="field-single" :class="tagData.checkedstxt?'active':''" slot="reference">
|
||||||
<span v-if="tagData.checkedstxt">标签:{{tagData.checkedstxt}}</span>
|
标签
|
||||||
<span v-else>标签</span>
|
<span class="screen-show-val" v-if="tagData.checkedstxt">:{{tagData.checkedstxt}}</span>
|
||||||
<i class="ri-arrow-down-s-fill icon"></i>
|
<i class="ri-arrow-down-s-fill icon"></i>
|
||||||
<span v-if="tagData.checkedstxt" class="delBtn el-icon-close" @click.stop="handleClickDelete('tag')"></span>
|
<span v-if="tagData.checkedstxt" class="delBtn el-icon-close" @click.stop="handleClickDelete('tag')"></span>
|
||||||
</div>
|
</div>
|
||||||
@@ -1,6 +1,6 @@
|
|||||||
<template id="images">
|
<template id="images">
|
||||||
<div style="position: relative;min-height: 300px;">
|
<div style="position: relative;min-height: 300px;">
|
||||||
<components v-if="imgdatas.length" :is="GetLayout" :imgdatas="imgdatas" @handleoperation="handleoperation" ref="mychild"></components>
|
<components v-if="imgdatas.length" :is="GetLayout" :imgdatas="imgdatas" @handleoperation="handleoperation" ref="mychild" @opentype="opentype"></components>
|
||||||
<div v-if="!imageLoading&&imgdatas.length==0&&!GetFirstLoading" class="el-empty">
|
<div v-if="!imageLoading&&imgdatas.length==0&&!GetFirstLoading" class="el-empty">
|
||||||
<div class="el-empty__image">
|
<div class="el-empty__image">
|
||||||
<img src="{MOD_PATH}/image/nodata.svg" />
|
<img src="{MOD_PATH}/image/nodata.svg" />
|
||||||
@@ -10,7 +10,7 @@
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="img-loading" v-if="imageLoading">
|
<div class="img-loading" v-if="imageLoading">
|
||||||
<span class="el-icon-loading"></span>拼命加载中...
|
<span class="el-icon-loading"></span>加载中...
|
||||||
</div>
|
</div>
|
||||||
<div class="img-loading" v-if="imgdatas.length&&Parameter.page>=Parameter.totalpage&&!GetFirstLoading&&!imageLoading">没有更多了</div>
|
<div class="img-loading" v-if="imgdatas.length&&Parameter.page>=Parameter.totalpage&&!GetFirstLoading&&!imageLoading">没有更多了</div>
|
||||||
|
|
||||||
@@ -59,7 +59,7 @@
|
|||||||
str.push(val[i].rid);
|
str.push(val[i].rid);
|
||||||
}
|
}
|
||||||
str = str.join(',');
|
str = str.join(',');
|
||||||
window.localStorage.setItem('imgs',str)
|
window.localStorage.setItem('imgs',str);
|
||||||
},
|
},
|
||||||
deep:true,
|
deep:true,
|
||||||
immediate:true
|
immediate:true
|
||||||
@@ -102,6 +102,9 @@
|
|||||||
|
|
||||||
},
|
},
|
||||||
methods: {
|
methods: {
|
||||||
|
opentype(val){
|
||||||
|
this.$emit('opentype',val);
|
||||||
|
},
|
||||||
handleScroll(){
|
handleScroll(){
|
||||||
var self = this;
|
var self = this;
|
||||||
var Parameter = self.Parameter;
|
var Parameter = self.Parameter;
|
||||||
@@ -150,7 +153,6 @@
|
|||||||
}
|
}
|
||||||
|
|
||||||
},
|
},
|
||||||
|
|
||||||
},
|
},
|
||||||
mounted() {
|
mounted() {
|
||||||
var self = this;
|
var self = this;
|
||||||
@@ -211,7 +213,7 @@
|
|||||||
|
|
||||||
<div v-if="InformationShow.indexOf('tagging')>-1&&parseInt(item.annonationnum)>0" class="annotation">{{item.annonationnum}}</div>
|
<div v-if="InformationShow.indexOf('tagging')>-1&&parseInt(item.annonationnum)>0" class="annotation">{{item.annonationnum}}</div>
|
||||||
<div class="bottom-img-message" v-if="InformationShow.length">
|
<div class="bottom-img-message" v-if="InformationShow.length">
|
||||||
<div class="name">
|
<div class="name" v-if="InformationShow.indexOf('name')>-1 || InformationShow.indexOf('extension')>-1">
|
||||||
<span v-if="InformationShow.indexOf('name')>-1">{{item.name}}</span>
|
<span v-if="InformationShow.indexOf('name')>-1">{{item.name}}</span>
|
||||||
<span v-if="InformationShow.indexOf('extension')>-1" class="suffix">.{{item.ext}}</span>
|
<span v-if="InformationShow.indexOf('extension')>-1" class="suffix">.{{item.ext}}</span>
|
||||||
</div>
|
</div>
|
||||||
@@ -302,10 +304,19 @@
|
|||||||
GetimgParameter(){
|
GetimgParameter(){
|
||||||
return VuexStore.getters.GetimgParameter;
|
return VuexStore.getters.GetimgParameter;
|
||||||
},
|
},
|
||||||
|
Getinformation_Opentype(){
|
||||||
|
return VuexStore.getters.Getinformation_Opentype;
|
||||||
|
},
|
||||||
},
|
},
|
||||||
methods:$.extend({},ImgRowGrid,{
|
methods:$.extend({},ImgRowGrid,{
|
||||||
handleDetails(rid){
|
handleDetails(rid){
|
||||||
window.open(SITEURL+MOD_URL+'&op=details#rid='+rid);
|
if(this.Getinformation_Opentype == 'new'){
|
||||||
|
window.open(SITEURL+MOD_URL+'&op=details#rid='+rid);
|
||||||
|
}else{
|
||||||
|
this.$emit('opentype',rid);
|
||||||
|
// window.location.href = SITEURL+MOD_URL+'&op=details#rid='+rid;
|
||||||
|
}
|
||||||
|
|
||||||
},
|
},
|
||||||
handleoperation(type,val){
|
handleoperation(type,val){
|
||||||
this.$emit('handleoperation',{
|
this.$emit('handleoperation',{
|
||||||
@@ -426,7 +437,7 @@
|
|||||||
maxNewtop:0,
|
maxNewtop:0,
|
||||||
maxNewLeft:0,
|
maxNewLeft:0,
|
||||||
perpage : 0,
|
perpage : 0,
|
||||||
Margin:10,
|
Margin:8,
|
||||||
columns:0,
|
columns:0,
|
||||||
fcolumns:1,
|
fcolumns:1,
|
||||||
newWidth:0,//图片宽度
|
newWidth:0,//图片宽度
|
||||||
@@ -439,7 +450,6 @@
|
|||||||
|
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|
||||||
watch:{
|
watch:{
|
||||||
imgdatas:{
|
imgdatas:{
|
||||||
handler(val){
|
handler(val){
|
||||||
@@ -484,6 +494,9 @@
|
|||||||
GetScrollAppend(){
|
GetScrollAppend(){
|
||||||
return VuexStore.getters.GetScrollAppend;
|
return VuexStore.getters.GetScrollAppend;
|
||||||
},
|
},
|
||||||
|
Getinformation_Opentype(){
|
||||||
|
return VuexStore.getters.Getinformation_Opentype;
|
||||||
|
},
|
||||||
},
|
},
|
||||||
created() {
|
created() {
|
||||||
},
|
},
|
||||||
@@ -590,7 +603,11 @@
|
|||||||
})
|
})
|
||||||
},
|
},
|
||||||
handleDetails(rid){
|
handleDetails(rid){
|
||||||
window.open(SITEURL+MOD_URL+'&op=details#rid='+rid);
|
if(this.Getinformation_Opentype == 'new'){
|
||||||
|
window.open(SITEURL+MOD_URL+'&op=details#rid='+rid);
|
||||||
|
}else{
|
||||||
|
this.$emit('opentype',rid);
|
||||||
|
}
|
||||||
},
|
},
|
||||||
handleoperation(type,val){
|
handleoperation(type,val){
|
||||||
this.$emit('handleoperation',{
|
this.$emit('handleoperation',{
|
||||||
@@ -625,7 +642,6 @@
|
|||||||
},
|
},
|
||||||
},
|
},
|
||||||
|
|
||||||
|
|
||||||
waterFall:{
|
waterFall:{
|
||||||
props:['imgdatas'],
|
props:['imgdatas'],
|
||||||
template:`<div id="waterfallCenter">
|
template:`<div id="waterfallCenter">
|
||||||
@@ -770,13 +786,20 @@
|
|||||||
GetScrollAppend(){
|
GetScrollAppend(){
|
||||||
return VuexStore.getters.GetScrollAppend;
|
return VuexStore.getters.GetScrollAppend;
|
||||||
},
|
},
|
||||||
|
Getinformation_Opentype(){
|
||||||
|
return VuexStore.getters.Getinformation_Opentype;
|
||||||
|
},
|
||||||
},
|
},
|
||||||
created() {
|
created() {
|
||||||
|
|
||||||
},
|
},
|
||||||
methods:$.extend({},ImgWaterfall,{
|
methods:$.extend({},ImgWaterfall,{
|
||||||
handleDetails(rid){
|
handleDetails(rid){
|
||||||
window.open(SITEURL+MOD_URL+'&op=details#rid='+rid);
|
if(this.Getinformation_Opentype == 'new'){
|
||||||
|
window.open(SITEURL+MOD_URL+'&op=details#rid='+rid);
|
||||||
|
}else{
|
||||||
|
this.$emit('opentype',rid);
|
||||||
|
}
|
||||||
},
|
},
|
||||||
handleoperation(type,val){
|
handleoperation(type,val){
|
||||||
this.$emit('handleoperation',{
|
this.$emit('handleoperation',{
|
||||||
@@ -812,4 +835,4 @@
|
|||||||
|
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
</script>
|
</script>
|
||||||
@@ -1,5 +1,4 @@
|
|||||||
<script type="text/javascript">
|
<script type="text/javascript">
|
||||||
|
|
||||||
var VuexStore = new Vuex.Store({
|
var VuexStore = new Vuex.Store({
|
||||||
state: {
|
state: {
|
||||||
Uid:'$_G[uid]',
|
Uid:'$_G[uid]',
|
||||||
@@ -9,7 +8,9 @@
|
|||||||
information:{
|
information:{
|
||||||
show:[],
|
show:[],
|
||||||
other:'',
|
other:'',
|
||||||
layout:''
|
layout:'',
|
||||||
|
opentype:'',
|
||||||
|
opentype:''
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
ScreenData:[],
|
ScreenData:[],
|
||||||
@@ -93,6 +94,9 @@
|
|||||||
SetParamsTagData(state,val){//设置标签分类筛选值
|
SetParamsTagData(state,val){//设置标签分类筛选值
|
||||||
state.ParamsTagData = val;
|
state.ParamsTagData = val;
|
||||||
},
|
},
|
||||||
|
SetParamsTagDataLoading(state,val){//设置标签分类loading
|
||||||
|
state.ParamsTagData[val.index]['loading'] = val.val;
|
||||||
|
},
|
||||||
SetimageLoading(state,val){//设置图片时的loading
|
SetimageLoading(state,val){//设置图片时的loading
|
||||||
state.imageLoading = val;
|
state.imageLoading = val;
|
||||||
},
|
},
|
||||||
@@ -102,7 +106,6 @@
|
|||||||
}else{
|
}else{
|
||||||
state.imgdatas = val.data;
|
state.imgdatas = val.data;
|
||||||
}
|
}
|
||||||
|
|
||||||
},
|
},
|
||||||
SetShowScreen(state,val){//设置筛选显示或者隐藏
|
SetShowScreen(state,val){//设置筛选显示或者隐藏
|
||||||
state.ShowScreen = val;
|
state.ShowScreen = val;
|
||||||
@@ -124,6 +127,9 @@
|
|||||||
seTHeader_Information_Layout(state,val){//设置图片显示方式
|
seTHeader_Information_Layout(state,val){//设置图片显示方式
|
||||||
state.header.information.layout = val;
|
state.header.information.layout = val;
|
||||||
},
|
},
|
||||||
|
seTHeader_Information_Opentype(state,val){//设置图片打开方式
|
||||||
|
state.header.information.opentype = val;
|
||||||
|
},
|
||||||
SetimgParameter(state,val){//设置图片参数
|
SetimgParameter(state,val){//设置图片参数
|
||||||
state.imgParameter[val.key] = val.val;
|
state.imgParameter[val.key] = val.val;
|
||||||
},
|
},
|
||||||
@@ -174,6 +180,9 @@
|
|||||||
Getinformation_other(state){//获取图片显示内容
|
Getinformation_other(state){//获取图片显示内容
|
||||||
return state.header.information.other;
|
return state.header.information.other;
|
||||||
},
|
},
|
||||||
|
Getinformation_Opentype(state){//获取图片打开方式
|
||||||
|
return state.header.information.opentype;
|
||||||
|
},
|
||||||
GetimgParameter(state){//获取图片排序方式
|
GetimgParameter(state){//获取图片排序方式
|
||||||
return state.imgParameter;
|
return state.imgParameter;
|
||||||
},
|
},
|
||||||
@@ -280,15 +289,21 @@
|
|||||||
// commit('SetAppid',value.appid);
|
// commit('SetAppid',value.appid);
|
||||||
for(var i in value.param){
|
for(var i in value.param){
|
||||||
if(i == 'tagdata'){
|
if(i == 'tagdata'){
|
||||||
if(value.param[i] && value.param[i].length){
|
if(state.FirstLoading){
|
||||||
commit('SetParamsInit',{key:'tag',val:value.param[i]});
|
if(state.ParamsInit.tag && state.ParamsInit.tag.length == 0){
|
||||||
|
if(value.param[i] && value.param[i].length){
|
||||||
|
commit('SetParamsInit',{key:'tag',val:value.param[i]});
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}else if(i == 'folderdata'){
|
}else if(i == 'folderdata'){
|
||||||
var txts = [];
|
if(!state.classifyInit){
|
||||||
for(var t in value.param[i]){
|
var txts = [];
|
||||||
txts.push(value.param[i][t])
|
for(var t in value.param[i]){
|
||||||
|
txts.push(value.param[i][t])
|
||||||
|
}
|
||||||
|
commit('SetclassifyInit',txts.join(','));
|
||||||
}
|
}
|
||||||
commit('SetclassifyInit',txts.join(','));
|
|
||||||
}else{
|
}else{
|
||||||
var str = {
|
var str = {
|
||||||
key:i,
|
key:i,
|
||||||
@@ -407,7 +422,7 @@
|
|||||||
if(type == 'scroll'){
|
if(type == 'scroll'){
|
||||||
commit('SetimgParameter',{key:'page',val:parseInt(search.page)+1});
|
commit('SetimgParameter',{key:'page',val:parseInt(search.page)+1});
|
||||||
}else{
|
}else{
|
||||||
$('.el-scrollbar__wrap').scrollTop(0)
|
jQuery('.body_scroll>.el-scrollbar__wrap').scrollTop(0)
|
||||||
commit('SetimgParameter',{key:'page',val:1});
|
commit('SetimgParameter',{key:'page',val:1});
|
||||||
}
|
}
|
||||||
var imgParameterInit = state.imgParameterInit;
|
var imgParameterInit = state.imgParameterInit;
|
||||||
@@ -454,6 +469,7 @@
|
|||||||
var group = [];
|
var group = [];
|
||||||
for(var t in item.group){
|
for(var t in item.group){
|
||||||
if(parseInt(item.group[t].checked)){
|
if(parseInt(item.group[t].checked)){
|
||||||
|
item.group[t]['loading'] = true;
|
||||||
group.push(item.group[t]);
|
group.push(item.group[t]);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -483,7 +499,7 @@
|
|||||||
if(json.success){
|
if(json.success){
|
||||||
|
|
||||||
}else{
|
}else{
|
||||||
self.$message.error('数据失败')
|
self.$message.error('显示信息数据保存失败')
|
||||||
}
|
}
|
||||||
},'json')
|
},'json')
|
||||||
},
|
},
|
||||||
@@ -508,7 +524,6 @@
|
|||||||
sortfiled:sortfiles,
|
sortfiled:sortfiles,
|
||||||
sort:state.imgParameter.asc
|
sort:state.imgParameter.asc
|
||||||
};
|
};
|
||||||
var self = pvue;
|
|
||||||
$.post(MOD_URL+'&op=ajax&operation=setsort',param,function(json){
|
$.post(MOD_URL+'&op=ajax&operation=setsort',param,function(json){
|
||||||
if(json.success){
|
if(json.success){
|
||||||
|
|
||||||
21
dzz/pichome/template/pc/frame/footer_simple.htm
Normal file
21
dzz/pichome/template/pc/frame/footer_simple.htm
Normal file
@@ -0,0 +1,21 @@
|
|||||||
|
<!--{if $_G[uid] && $_G['adminid'] == 1}-->
|
||||||
|
<!--{if !isset($_G['cookie']['checkupgrade'])}-->
|
||||||
|
<script type="text/javascript">jQuery.getScript('misc.php?mod=upgrade&action=checkupgrade&rand=$_G[timestamp]');</script>
|
||||||
|
<!--{/if}-->
|
||||||
|
<!--{if !isset($_G['cookie']['checkappupgrade'])}-->
|
||||||
|
<script type="text/javascript">jQuery.getScript('misc.php?mod=upgrade&action=checkappupgrade&rand=$_G[timestamp]');</script>
|
||||||
|
<!--{/if}-->
|
||||||
|
<!--{if !isset($_G['cookie']['upgradenotice'] )}-->
|
||||||
|
<script type="text/javascript">
|
||||||
|
jQuery(document).ready(function(){
|
||||||
|
try{jQuery('#systemNotice').load('misc.php?mod=upgrade&action=upgradenotice');}catch(e){};
|
||||||
|
});
|
||||||
|
</script>
|
||||||
|
<div id="systemNotice" class="systemNotice" style="position: fixed;right:10px;bottom:10px;max-width:50%;box-shadow:0px 5px 10px RGBA(0,0,0,0.3);z-index:999999"></div>
|
||||||
|
<!--{/if}-->
|
||||||
|
<!--{/if}-->
|
||||||
|
<!--{if $_G['setting']['statcode']}-->
|
||||||
|
$_G['setting']['statcode']
|
||||||
|
<!--{/if}-->
|
||||||
|
</body>
|
||||||
|
</html>
|
||||||
2
dzz/pichome/template/pc/frame/header_simple_end.htm
Normal file
2
dzz/pichome/template/pc/frame/header_simple_end.htm
Normal file
@@ -0,0 +1,2 @@
|
|||||||
|
</head>
|
||||||
|
<body>
|
||||||
@@ -19,10 +19,10 @@
|
|||||||
<script src="{MOD_PATH}/js/vue/vue.js?{VERHASH}"></script>
|
<script src="{MOD_PATH}/js/vue/vue.js?{VERHASH}"></script>
|
||||||
<link rel="stylesheet" href="{MOD_PATH}/css/theme/$theme/index.css?{VERHASH}">
|
<link rel="stylesheet" href="{MOD_PATH}/css/theme/$theme/index.css?{VERHASH}">
|
||||||
<link rel="stylesheet" href="{MOD_PATH}/css/theme/$theme/root.css?{VERHASH}">
|
<link rel="stylesheet" href="{MOD_PATH}/css/theme/$theme/root.css?{VERHASH}">
|
||||||
<script type="text/javascript" src="{MOD_PATH}/js/plug/element-ui.js?{VERHASH}"></script>
|
<script type="text/javascript" src="{MOD_PATH}/js/pc/plug/element-ui.js?{VERHASH}"></script>
|
||||||
<script type="text/javascript" src="static/jquery/jquery.min.js?{VERHASH}"></script>
|
<script type="text/javascript" src="static/jquery/jquery.min.js?{VERHASH}"></script>
|
||||||
<script type="text/javascript" src="static/jquery/jquery.json-2.4.min.js?{VERHASH}"></script>
|
<script type="text/javascript" src="static/jquery/jquery.json-2.4.min.js?{VERHASH}"></script>
|
||||||
<script type="text/javascript" src="{MOD_PATH}/js/common.js?{VERHASH}"></script>
|
<script type="text/javascript" src="{MOD_PATH}/js/common.js?{VERHASH}"></script>
|
||||||
<link rel="stylesheet" href="{MOD_PATH}/css/common.css?{VERHASH}">
|
<link rel="stylesheet" href="{MOD_PATH}/css/pc/common.css?{VERHASH}">
|
||||||
<link rel="stylesheet" href="{MOD_PATH}/css/fonts/remixicon.css?{VERHASH}">
|
<link rel="stylesheet" href="{MOD_PATH}/css/fonts/remixicon.css?{VERHASH}">
|
||||||
<script type="text/javascript">var DZZSCRIPT='{DZZSCRIPT}',LANG='{$_G[language]}', STATICURL = 'static/', IMGDIR = '{$_G[setting][imgdir]}', VERHASH = '{VERHASH}', charset = '{CHARSET}', dzz_uid = '$_G[uid]', cookiepre = '{$_G[config][cookie][cookiepre]}', cookiedomain = '{$_G[config][cookie][cookiedomain]}', cookiepath = '{$_G[config][cookie][cookiepath]}',attackevasive = '{$_G[config][security][attackevasive]}', disallowfloat = '{$_G[setting][disallowfloat]}', REPORTURL = '$_G[currenturl_encode]', SITEURL = '$_G[siteurl]', JSPATH = '$_G[setting][jspath]',MOD_PATH='{MOD_PATH}',APP_URL='{MOD_URL}',MOD_URL='{MOD_URL}';</script>
|
<script type="text/javascript">var DZZSCRIPT='{DZZSCRIPT}',LANG='{$_G[language]}', STATICURL = 'static/', IMGDIR = '{$_G[setting][imgdir]}', VERHASH = '{VERHASH}', charset = '{CHARSET}', dzz_uid = '$_G[uid]', cookiepre = '{$_G[config][cookie][cookiepre]}', cookiedomain = '{$_G[config][cookie][cookiedomain]}', cookiepath = '{$_G[config][cookie][cookiepath]}',attackevasive = '{$_G[config][security][attackevasive]}', disallowfloat = '{$_G[setting][disallowfloat]}', REPORTURL = '$_G[currenturl_encode]', SITEURL = '$_G[siteurl]', JSPATH = '$_G[setting][jspath]',MOD_PATH='{MOD_PATH}',APP_URL='{MOD_URL}',MOD_URL='{MOD_URL}';</script>
|
||||||
@@ -1,6 +1,6 @@
|
|||||||
<!--{template frame/header_simple_start}-->
|
<!--{template pc/frame/header_simple_start}-->
|
||||||
<link rel="stylesheet" type="text/css" href="{MOD_PATH}/css/admin.css?{VERHASH}"/>
|
<link rel="stylesheet" type="text/css" href="{MOD_PATH}/css/pc/admin.css?{VERHASH}"/>
|
||||||
<!--{template frame/header_simple_end}-->
|
<!--{template pc/frame/header_simple_end}-->
|
||||||
<div id="dzzoffice">
|
<div id="dzzoffice">
|
||||||
<el-container>
|
<el-container>
|
||||||
<el-header height="auto" style="padding: 0;z-index: 10;">
|
<el-header height="auto" style="padding: 0;z-index: 10;">
|
||||||
@@ -101,7 +101,7 @@
|
|||||||
</el-container>
|
</el-container>
|
||||||
</el-container>
|
</el-container>
|
||||||
</div>
|
</div>
|
||||||
<!--{template components/headerAdmin/index}-->
|
<!--{template pc/components/headerAdmin/index}-->
|
||||||
<script type="text/javascript">
|
<script type="text/javascript">
|
||||||
new Vue({
|
new Vue({
|
||||||
el: '#dzzoffice',
|
el: '#dzzoffice',
|
||||||
@@ -182,7 +182,7 @@
|
|||||||
formhash:'{FORMHASH}',
|
formhash:'{FORMHASH}',
|
||||||
settingnew:self.formdata,
|
settingnew:self.formdata,
|
||||||
},function(data){
|
},function(data){
|
||||||
console.log(data)
|
// console.log(data)
|
||||||
if(data){
|
if(data){
|
||||||
self.$message({
|
self.$message({
|
||||||
type:'success',
|
type:'success',
|
||||||
@@ -199,4 +199,4 @@
|
|||||||
})
|
})
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
<!--{template frame/footer_simple}-->
|
<!--{template pc/frame/footer_simple}-->
|
||||||
@@ -1,7 +1,7 @@
|
|||||||
<!--{template frame/header_simple_start}-->
|
<!--{template pc/frame/header_simple_start}-->
|
||||||
<script type="text/javascript" src="{MOD_PATH}/js/plug/sortable.min.js?{VERHASH}"></script>
|
<script type="text/javascript" src="{MOD_PATH}/js/pc/plug/sortable.min.js?{VERHASH}"></script>
|
||||||
<link rel="stylesheet" type="text/css" href="{MOD_PATH}/css/admin.css?{VERHASH}"/>
|
<link rel="stylesheet" type="text/css" href="{MOD_PATH}/css/pc/admin.css?{VERHASH}"/>
|
||||||
<!--{template frame/header_simple_end}-->
|
<!--{template pc/frame/header_simple_end}-->
|
||||||
<div id="dzzoffice">
|
<div id="dzzoffice">
|
||||||
<el-container>
|
<el-container>
|
||||||
<el-header height="auto" style="padding: 0;z-index: 10;">
|
<el-header height="auto" style="padding: 0;z-index: 10;">
|
||||||
@@ -44,7 +44,7 @@
|
|||||||
</el-container>
|
</el-container>
|
||||||
</el-container>
|
</el-container>
|
||||||
</div>
|
</div>
|
||||||
<!--{template components/headerAdmin/index}-->
|
<!--{template pc/components/headerAdmin/index}-->
|
||||||
<script type="text/javascript">
|
<script type="text/javascript">
|
||||||
new Vue({
|
new Vue({
|
||||||
el: '#dzzoffice',
|
el: '#dzzoffice',
|
||||||
@@ -139,4 +139,4 @@
|
|||||||
})
|
})
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
<!--{template frame/footer_simple}-->
|
<!--{template pc/frame/footer_simple}-->
|
||||||
@@ -1,6 +1,6 @@
|
|||||||
<!--{template frame/header_simple_start}-->
|
<!--{template pc/frame/header_simple_start}-->
|
||||||
<link rel="stylesheet" type="text/css" href="{MOD_PATH}/css/admin.css?{VERHASH}"/>
|
<link rel="stylesheet" type="text/css" href="{MOD_PATH}/css/pc/admin.css?{VERHASH}"/>
|
||||||
<!--{template frame/header_simple_end}-->
|
<!--{template pc/frame/header_simple_end}-->
|
||||||
<div id="dzzoffice">
|
<div id="dzzoffice">
|
||||||
<el-container>
|
<el-container>
|
||||||
<el-header height="auto" style="padding: 0;z-index: 10;">
|
<el-header height="auto" style="padding: 0;z-index: 10;">
|
||||||
@@ -58,7 +58,7 @@
|
|||||||
</el-container>
|
</el-container>
|
||||||
</el-container>
|
</el-container>
|
||||||
</div>
|
</div>
|
||||||
<!--{template components/headerAdmin/index}-->
|
<!--{template pc/components/headerAdmin/index}-->
|
||||||
<script type="text/javascript">
|
<script type="text/javascript">
|
||||||
new Vue({
|
new Vue({
|
||||||
el: '#dzzoffice',
|
el: '#dzzoffice',
|
||||||
@@ -106,4 +106,4 @@
|
|||||||
})
|
})
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
<!--{template frame/footer_simple}-->
|
<!--{template pc/frame/footer_simple}-->
|
||||||
@@ -1,6 +1,6 @@
|
|||||||
<!--{template frame/header_simple_start}-->
|
<!--{template pc/frame/header_simple_start}-->
|
||||||
<link rel="stylesheet" type="text/css" href="{MOD_PATH}/css/admin.css?{VERHASH}"/>
|
<link rel="stylesheet" type="text/css" href="{MOD_PATH}/css/pc/admin.css?{VERHASH}"/>
|
||||||
<!--{template frame/header_simple_end}-->
|
<!--{template pc/frame/header_simple_end}-->
|
||||||
<div id="dzzoffice">
|
<div id="dzzoffice">
|
||||||
<el-container>
|
<el-container>
|
||||||
<el-header height="auto" style="padding: 0;z-index: 10;">
|
<el-header height="auto" style="padding: 0;z-index: 10;">
|
||||||
@@ -83,6 +83,12 @@
|
|||||||
<el-radio border label="desc">降序</el-radio>
|
<el-radio border label="desc">降序</el-radio>
|
||||||
</el-radio-group>
|
</el-radio-group>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
|
<el-form-item label="默认打开文件窗口方式:">
|
||||||
|
<el-radio-group v-model="formdata.pichomepagesetting.opentype">
|
||||||
|
<el-radio border label="new">新窗口</el-radio>
|
||||||
|
<el-radio border label="current">当前窗口</el-radio>
|
||||||
|
</el-radio-group>
|
||||||
|
</el-form-item>
|
||||||
<el-form-item>
|
<el-form-item>
|
||||||
<el-button type="primary" @click="handleSubmit" :loading="btnloading">保存更改</el-button>
|
<el-button type="primary" @click="handleSubmit" :loading="btnloading">保存更改</el-button>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
@@ -95,7 +101,7 @@
|
|||||||
</el-container>
|
</el-container>
|
||||||
</el-container>
|
</el-container>
|
||||||
</div>
|
</div>
|
||||||
<!--{template components/headerAdmin/index}-->
|
<!--{template pc/components/headerAdmin/index}-->
|
||||||
<script type="text/javascript">
|
<script type="text/javascript">
|
||||||
new Vue({
|
new Vue({
|
||||||
el: '#dzzoffice',
|
el: '#dzzoffice',
|
||||||
@@ -119,6 +125,7 @@
|
|||||||
other:'btime',
|
other:'btime',
|
||||||
sort: '2',
|
sort: '2',
|
||||||
desc: 'desc',
|
desc: 'desc',
|
||||||
|
opentype:'new'
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -131,6 +138,7 @@
|
|||||||
other:'$setting[pichomepagesetting][other]',
|
other:'$setting[pichomepagesetting][other]',
|
||||||
sort: '$setting[pichomepagesetting][sort]',
|
sort: '$setting[pichomepagesetting][sort]',
|
||||||
desc: '$setting[pichomepagesetting][desc]',
|
desc: '$setting[pichomepagesetting][desc]',
|
||||||
|
opentype: '$setting[pichomepagesetting][opentype]',
|
||||||
};
|
};
|
||||||
var oldshow = params.show;
|
var oldshow = params.show;
|
||||||
var newshow = [];
|
var newshow = [];
|
||||||
@@ -150,6 +158,7 @@
|
|||||||
other:params.other?params.other:'btime',
|
other:params.other?params.other:'btime',
|
||||||
sort: params.sort?params.sort:'2',
|
sort: params.sort?params.sort:'2',
|
||||||
desc: params.desc?params.desc:'desc',
|
desc: params.desc?params.desc:'desc',
|
||||||
|
opentype: params.opentype?params.opentype:'new',
|
||||||
};
|
};
|
||||||
this.formdata.pichomepagesetting = Newparams;
|
this.formdata.pichomepagesetting = Newparams;
|
||||||
},
|
},
|
||||||
@@ -186,4 +195,4 @@
|
|||||||
})
|
})
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
<!--{template frame/footer_simple}-->
|
<!--{template pc/frame/footer_simple}-->
|
||||||
@@ -1,5 +1,5 @@
|
|||||||
<!--{template frame/header_simple_start}-->
|
<!--{template pc/frame/header_simple_start}-->
|
||||||
<link rel="stylesheet" type="text/css" href="{MOD_PATH}/css/admin.css?{VERHASH}" />
|
<link rel="stylesheet" type="text/css" href="{MOD_PATH}/css/pc/admin.css?{VERHASH}" />
|
||||||
<style type="text/css">
|
<style type="text/css">
|
||||||
.tipTxt{
|
.tipTxt{
|
||||||
margin-left: 6px;
|
margin-left: 6px;
|
||||||
@@ -12,8 +12,11 @@
|
|||||||
.avatarstatus .img-circle{
|
.avatarstatus .img-circle{
|
||||||
border-radius: 0;
|
border-radius: 0;
|
||||||
}
|
}
|
||||||
|
.page-content .Topcarousel{
|
||||||
|
line-height: 148px;
|
||||||
|
}
|
||||||
</style>
|
</style>
|
||||||
<!--{template frame/header_simple_end}-->
|
<!--{template pc/frame/header_simple_end}-->
|
||||||
<div id="dzzoffice">
|
<div id="dzzoffice">
|
||||||
<el-container>
|
<el-container>
|
||||||
<el-header height="auto" style="padding: 0;z-index: 10;">
|
<el-header height="auto" style="padding: 0;z-index: 10;">
|
||||||
@@ -35,17 +38,15 @@
|
|||||||
:before-upload="beforeLogoUpload"
|
:before-upload="beforeLogoUpload"
|
||||||
:show-file-list="false">
|
:show-file-list="false">
|
||||||
<el-progress v-show="ispercentage" type="circle" :width="148" :percentage="percentage"></el-progress>
|
<el-progress v-show="ispercentage" type="circle" :width="148" :percentage="percentage"></el-progress>
|
||||||
<template v-if="ruleForm.imgpath||avatarstatus==1">
|
<template v-if="ruleForm.imgpath||avatarstatus=='1'">
|
||||||
<template v-if="ruleForm.imgpath">
|
<template v-if="ruleForm.imgpath">
|
||||||
<el-image class="avatarimg" fit="contain" :src="ruleForm.imgpath"></el-image>
|
<el-image class="avatarimg" fit="contain" :src="ruleForm.imgpath"></el-image>
|
||||||
</template>
|
</template>
|
||||||
<template v-else>
|
<template v-else>
|
||||||
<div class="avatarstatus">
|
<div class="avatarstatus">
|
||||||
{eval echo avatar_block($_G[uid]);}
|
<img :src="'avatar.php?uid=1&random='+Math.ceil(Math.random()*100)" title="admin" class="img-circle special_avatar_class">
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
|
|
||||||
</template>
|
</template>
|
||||||
<i v-else class="el-icon-plus avatar-uploader-icon"></i>
|
<i v-else class="el-icon-plus avatar-uploader-icon"></i>
|
||||||
</el-upload>
|
</el-upload>
|
||||||
@@ -95,7 +96,7 @@
|
|||||||
</el-main>
|
</el-main>
|
||||||
</el-container>
|
</el-container>
|
||||||
</div>
|
</div>
|
||||||
<!--{template components/headerAdmin/index}-->
|
<!--{template pc/components/headerAdmin/index}-->
|
||||||
<script type="text/javascript">
|
<script type="text/javascript">
|
||||||
new Vue({
|
new Vue({
|
||||||
el: '#dzzoffice',
|
el: '#dzzoffice',
|
||||||
@@ -172,6 +173,7 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
created() {
|
created() {
|
||||||
|
// console.log(11111)
|
||||||
// var avatarstatus =
|
// var avatarstatus =
|
||||||
|
|
||||||
},
|
},
|
||||||
@@ -252,4 +254,4 @@
|
|||||||
})
|
})
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
<!--{template frame/footer_simple}-->
|
<!--{template pc/frame/footer_simple}-->
|
||||||
@@ -1,17 +1,52 @@
|
|||||||
<!--{template frame/header_simple_start}-->
|
<!--{template pc/frame/header_simple_start}-->
|
||||||
<link rel="stylesheet" type="text/css" href="{MOD_PATH}/css/details.css?{VERHASH}"/>
|
<link rel="stylesheet" type="text/css" href="{MOD_PATH}/css/pc/xuanzhuan/index.css?{VERHASH}"/>
|
||||||
<!--{template frame/header_simple_end}-->
|
<link rel="stylesheet" type="text/css" href="{MOD_PATH}/css/pc/details.css?{VERHASH}"/>
|
||||||
|
<style type="text/css">
|
||||||
|
.el-page-header__left{
|
||||||
|
/* position: fixed;
|
||||||
|
top: 90px;
|
||||||
|
left: 20px; */
|
||||||
|
z-index: 100;
|
||||||
|
color: var(--header-text);
|
||||||
|
margin-right: 0;
|
||||||
|
}
|
||||||
|
.el-page-header__left:hover{
|
||||||
|
color: var(--header-active);
|
||||||
|
}
|
||||||
|
.el-page-header__left .el-icon-back{
|
||||||
|
font-size: 21px;
|
||||||
|
font-weight: 700;
|
||||||
|
}
|
||||||
|
.el-page-header__left .el-page-header__title{
|
||||||
|
font-size: 16px;
|
||||||
|
font-weight: 700;
|
||||||
|
}
|
||||||
|
.el-page-header__left::after{
|
||||||
|
display: none;
|
||||||
|
}
|
||||||
|
</style>
|
||||||
|
<!--{template pc/frame/header_simple_end}-->
|
||||||
<div id="dzzoffice">
|
<div id="dzzoffice">
|
||||||
<el-container>
|
<el-container>
|
||||||
|
<!--{if $opentype=='current'}-->
|
||||||
|
|
||||||
|
<!--{/if}-->
|
||||||
<el-header height="70" style="padding: 0;z-index: 10;">
|
<el-header height="70" style="padding: 0;z-index: 10;">
|
||||||
<div id="top_header">
|
<div id="top_header">
|
||||||
<div class="header-content">
|
<div class="header-content">
|
||||||
|
<!--{if $opentype=='current'}-->
|
||||||
|
<div class="h-left">
|
||||||
|
<div class="el-page-header__left" @click="goBack"><i class="el-icon-back"></i><div class="el-page-header__title">返回</div></div>
|
||||||
|
</div>
|
||||||
|
<!--{else}-->
|
||||||
<a class="h-left" href="{MOD_URL}">
|
<a class="h-left" href="{MOD_URL}">
|
||||||
<el-image src="data/attachment/sitelogo/sitelogo.png?{VERHASH}" fit="contain"></el-image>
|
<el-image src="data/attachment/sitelogo/sitelogo.png?{VERHASH}" fit="contain"></el-image>
|
||||||
<span class="text">$_G['setting'][sitename]</span>
|
<span class="text">$_G['setting'][sitename]</span>
|
||||||
</a>
|
</a>
|
||||||
|
<!--{/if}-->
|
||||||
|
|
||||||
<div class="h-center">
|
<div class="h-center">
|
||||||
<span>{{ImgParam.index}} / {{ImgParam.total}}</span>
|
<span v-cloak>{{ImgParam.index}} / {{ImgParam.total}}</span>
|
||||||
<div class="carousel__arrow-box clearfix">
|
<div class="carousel__arrow-box clearfix">
|
||||||
<el-tooltip effect="dark" content="上一张" placement="bottom">
|
<el-tooltip effect="dark" content="上一张" placement="bottom">
|
||||||
<div @click="handleCarouselArrow('left')" class="carousel__arrow carousel__arrow--left"><i class="el-icon-arrow-left icon"></i></div>
|
<div @click="handleCarouselArrow('left')" class="carousel__arrow carousel__arrow--left"><i class="el-icon-arrow-left icon"></i></div>
|
||||||
@@ -31,7 +66,8 @@
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<el-dropdown trigger="click" @command="handleImgScale">
|
|
||||||
|
<el-dropdown trigger="click" @command="handleImgScale" v-cloak>
|
||||||
<span class="text proportionnum">{{ImgParam.fproportion}}%</span>
|
<span class="text proportionnum">{{ImgParam.fproportion}}%</span>
|
||||||
<el-dropdown-menu slot="dropdown" style="width: 125px;" class="proportionnum-box">
|
<el-dropdown-menu slot="dropdown" style="width: 125px;" class="proportionnum-box">
|
||||||
<el-dropdown-item command="5">5%</el-dropdown-item>
|
<el-dropdown-item command="5">5%</el-dropdown-item>
|
||||||
@@ -55,25 +91,32 @@
|
|||||||
</el-tooltip>
|
</el-tooltip>
|
||||||
|
|
||||||
<span class="text" @click="handleImgOperation(2)">自适应</span>
|
<span class="text" @click="handleImgOperation(2)">自适应</span>
|
||||||
|
|
||||||
<el-tooltip effect="dark" content="旋转" placement="bottom">
|
<el-tooltip effect="dark" content="旋转" placement="bottom">
|
||||||
<span class="text" @click="handleImgOperation(3)"><i class="el-icon-refresh-right icon"></i></span>
|
<span class="text" @click="handleImgOperation(3)"><i class="el-icon-refresh-right icon"></i></span>
|
||||||
</el-tooltip>
|
</el-tooltip>
|
||||||
|
|
||||||
|
<el-tooltip effect="dark" content="左右镜像" placement="bottom">
|
||||||
|
<span class="text"><i class="iconfont icon-zuoyoufanzhuan_huaban1 icon" @click="handleImgOperation(4)" style="font-size: 21px;font-weight: 500;"></i></span>
|
||||||
|
</el-tooltip>
|
||||||
|
<el-tooltip effect="dark" content="上下镜像" placement="bottom">
|
||||||
|
<span class="text"><i class="iconfont icon-chuizhifanzhuan_huaban1 icon" @click="handleImgOperation(5)" style="font-size: 21px;font-weight: 500;"></i></span>
|
||||||
|
</el-tooltip>
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="h-right">
|
<div class="h-right">
|
||||||
<div class="r-option">
|
<div class="r-option">
|
||||||
<el-tooltip effect="dark" :content="IsFullScreen?'退出全屏':'全屏'" placement="bottom">
|
<el-tooltip effect="dark" :content="IsFullScreen?'退出全屏':'全屏'" placement="bottom">
|
||||||
<div class="right-block" @click="handleFullScreen(IsFullScreen?false:true)"><i v-if="IsFullScreen" class="ri-fullscreen-exit-line"></i><i v-else class="ri-fullscreen-line"></i></div>
|
<div class="right-block" @click="handleFullScreen(IsFullScreen?false:true)"><i v-if="IsFullScreen" v-cloak class="ri-fullscreen-exit-line"></i><i v-else class="ri-fullscreen-line"></i></div>
|
||||||
</el-tooltip>
|
</el-tooltip>
|
||||||
<el-tooltip effect="dark" :content="HideInformation?'显示信息':'隐藏信息'" placement="bottom">
|
<el-tooltip effect="dark" :content="HideInformation?'显示信息':'隐藏信息'" placement="bottom">
|
||||||
<div class="right-block" @click="handleHideInformation(HideInformation?false:true)">
|
<div class="right-block" @click="handleHideInformation(HideInformation?false:true)">
|
||||||
<i v-if="HideInformation" class="ri-layout-right-2-line"></i><i v-else class="ri-layout-right-line"></i>
|
<i v-if="HideInformation" v-cloak class="ri-layout-right-2-line"></i><i v-else class="ri-layout-right-line"></i>
|
||||||
</div>
|
</div>
|
||||||
</el-tooltip>
|
</el-tooltip>
|
||||||
|
<!--{if $_G[uid]}-->
|
||||||
<el-dropdown trigger="click" @command="handleavatar">
|
<el-dropdown trigger="click" @command="handleavatar" v-cloak>
|
||||||
<div id="dzz_avatar_img">{eval echo avatar_block($_G[uid]);} </div>
|
<div id="dzz_avatar_img">{eval echo avatar_block($_G[uid]);} </div>
|
||||||
<el-dropdown-menu slot="dropdown" style="width: 165px;">
|
<el-dropdown-menu slot="dropdown" style="width: 165px;">
|
||||||
<el-dropdown-item command="personal">个人设置</el-dropdown-item>
|
<el-dropdown-item command="personal">个人设置</el-dropdown-item>
|
||||||
@@ -88,6 +131,9 @@
|
|||||||
<el-dropdown-item command="OutLogin">退出站点</el-dropdown-item>
|
<el-dropdown-item command="OutLogin">退出站点</el-dropdown-item>
|
||||||
</el-dropdown-menu>
|
</el-dropdown-menu>
|
||||||
</el-dropdown>
|
</el-dropdown>
|
||||||
|
<!--{else}-->
|
||||||
|
<el-button type="primary" size="mini" @click="GoLogin">登录</el-button>
|
||||||
|
<!--{/if}-->
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
@@ -147,7 +193,7 @@
|
|||||||
|
|
||||||
<div class="information-box">
|
<div class="information-box">
|
||||||
<el-scrollbar class="page-component__scroll">
|
<el-scrollbar class="page-component__scroll">
|
||||||
<div class="title">{{imagesData.name}}.{{imagesData.ext}}</div>
|
<div class="title"><span v-cloak>{{imagesData.name}}</span>.<span v-cloak>{{imagesData.ext}}</span></div>
|
||||||
<div class="operation clearfix" v-if="(imagesData.opentype!='video'&&imagesData.opentype!='pdf'&&imagesData.opentype!='text') || parseInt(imagesData.download) || parseInt(imagesData.share)">
|
<div class="operation clearfix" v-if="(imagesData.opentype!='video'&&imagesData.opentype!='pdf'&&imagesData.opentype!='text') || parseInt(imagesData.download) || parseInt(imagesData.share)">
|
||||||
<div v-if="parseInt(imagesData.download)" class="circular bg" @click="handleDown">立即下载</div>
|
<div v-if="parseInt(imagesData.download)" class="circular bg" @click="handleDown">立即下载</div>
|
||||||
<el-tooltip v-if="imagesData.opentype!='video'&&imagesData.opentype!='pdf'&&imagesData.opentype!='text'" class="item" effect="dark" content="查看原图" placement="bottom">
|
<el-tooltip v-if="imagesData.opentype!='video'&&imagesData.opentype!='pdf'&&imagesData.opentype!='text'" class="item" effect="dark" content="查看原图" placement="bottom">
|
||||||
@@ -165,9 +211,9 @@
|
|||||||
<div class="message">
|
<div class="message">
|
||||||
<div class="thesis-wrap" v-if="imagesData.colors && imagesData.colors.length">
|
<div class="thesis-wrap" v-if="imagesData.colors && imagesData.colors.length">
|
||||||
<div class="tip-title">颜色</div>
|
<div class="tip-title">颜色</div>
|
||||||
<ul class="color clearfix">
|
<ul class="color clearfix" v-cloak>
|
||||||
<li class="color-list" v-for="citem in imagesData.colors">
|
<li class="color-list" v-for="citem in imagesData.colors">
|
||||||
<el-dropdown trigger="click" @visible-change="ShowPopoverColor(citem.val)" @command="handleCommandColor" placement="bottom">
|
<el-dropdown v-cloak trigger="click" @visible-change="ShowPopoverColor(citem.val)" @command="handleCommandColor" placement="bottom">
|
||||||
<el-tooltip :content="'#'+citem.val" effect="light" placement="top" popper-class="color-top">
|
<el-tooltip :content="'#'+citem.val" effect="light" placement="top" popper-class="color-top">
|
||||||
<div class="bg" :style="{background: '#'+citem.val}"></div>
|
<div class="bg" :style="{background: '#'+citem.val}"></div>
|
||||||
</el-tooltip>
|
</el-tooltip>
|
||||||
@@ -189,27 +235,27 @@
|
|||||||
|
|
||||||
<div class="thesis-wrap" v-if="imagesData.tag && imagesData.tag.length">
|
<div class="thesis-wrap" v-if="imagesData.tag && imagesData.tag.length">
|
||||||
<div class="tip-title">标签</div>
|
<div class="tip-title">标签</div>
|
||||||
<div v-if="imagesData.tag" class="label clearfix">
|
<div v-if="imagesData.tag" class="label clearfix" v-cloak>
|
||||||
<el-tag v-for="item in imagesData.tag" effect="plain" @click="handleClickTag(item.key)">{{item.val}}</el-tag>
|
<el-tag v-for="item in imagesData.tag" effect="plain" @click="handleClickTag(item.key)">{{item.val}}</el-tag>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="thesis-wrap" v-if="imagesData.desc">
|
<div class="thesis-wrap" v-if="imagesData.desc" v-cloak>
|
||||||
<div class="tip-title">注释</div>
|
<div class="tip-title">注释</div>
|
||||||
<div v-if="imagesData.desc" class="notes">{{imagesData.desc}}</div>
|
<div v-if="imagesData.desc" class="notes">{{imagesData.desc}}</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="thesis-wrap" v-if="imagesData.link">
|
<div class="thesis-wrap" v-if="imagesData.link" v-cloak>
|
||||||
<div class="tip-title">链接</div>
|
<div class="tip-title">链接</div>
|
||||||
<p class="link">
|
<p class="link">
|
||||||
<span id="copyText" @click="handleClickLink(imagesData.link)">{{imagesData.link}}</span>
|
<span id="copyText" @click="handleClickLink(imagesData.link)">{{imagesData.link}}</span>
|
||||||
<i class="ri-file-copy-line" @click="copyText"></i>
|
<i class="ri-file-copy-line" @click="copyText"></i>
|
||||||
</p>
|
</p>
|
||||||
</div>
|
</div>
|
||||||
<div class="thesis-wrap" v-if="imagesData.fids">
|
<div class="thesis-wrap" v-if="imagesData.foldernames && imagesData.foldernames.length">
|
||||||
<div class="tip-title">分类</div>
|
<div class="tip-title">分类</div>
|
||||||
<div class="label clearfix" style="padding: 0;">
|
<div class="label clearfix" style="padding: 0;" v-cloak>
|
||||||
<el-tag v-for="item in imagesData.fids" effect="plain" @click="handleClickClass(item)">
|
<el-tag v-for="item in imagesData.foldernames" effect="plain" @click="handleClickClass(item.key)">
|
||||||
{{imagesData.foldernames[item]}}</el-tag>
|
{{item.val}}</el-tag>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
@@ -221,7 +267,7 @@
|
|||||||
<div class="name">评分</div>
|
<div class="name">评分</div>
|
||||||
</el-col>
|
</el-col>
|
||||||
<el-col :span="12">
|
<el-col :span="12">
|
||||||
<div class="record">
|
<div class="record" v-cloak>
|
||||||
<i v-for="item in parseInt(imagesData.grade)"
|
<i v-for="item in parseInt(imagesData.grade)"
|
||||||
class="ri-star-fill star active"></i>
|
class="ri-star-fill star active"></i>
|
||||||
<i v-for="item in 5-parseInt(imagesData.grade)"
|
<i v-for="item in 5-parseInt(imagesData.grade)"
|
||||||
@@ -234,7 +280,7 @@
|
|||||||
<div class="name">尺寸</div>
|
<div class="name">尺寸</div>
|
||||||
</el-col>
|
</el-col>
|
||||||
<el-col :span="12">
|
<el-col :span="12">
|
||||||
<div class="record">{{imagesData.width}}×{{imagesData.height}}</div>
|
<div class="record" v-cloak>{{imagesData.width}}×{{imagesData.height}}</div>
|
||||||
</el-col>
|
</el-col>
|
||||||
</el-row>
|
</el-row>
|
||||||
<el-row type="flex" class="field">
|
<el-row type="flex" class="field">
|
||||||
@@ -242,7 +288,7 @@
|
|||||||
<div class="name">文件大小</div>
|
<div class="name">文件大小</div>
|
||||||
</el-col>
|
</el-col>
|
||||||
<el-col :span="12">
|
<el-col :span="12">
|
||||||
<div class="record">{{imagesData.fsize}}</div>
|
<div class="record" v-cloak>{{imagesData.fsize}}</div>
|
||||||
</el-col>
|
</el-col>
|
||||||
</el-row>
|
</el-row>
|
||||||
<el-row type="flex" class="field">
|
<el-row type="flex" class="field">
|
||||||
@@ -250,7 +296,7 @@
|
|||||||
<div class="name">类型</div>
|
<div class="name">类型</div>
|
||||||
</el-col>
|
</el-col>
|
||||||
<el-col :span="12">
|
<el-col :span="12">
|
||||||
<div class="record">{{imagesData.ext}}</div>
|
<div class="record" v-cloak>{{imagesData.ext}}</div>
|
||||||
</el-col>
|
</el-col>
|
||||||
</el-row>
|
</el-row>
|
||||||
<el-row type="flex" class="field">
|
<el-row type="flex" class="field">
|
||||||
@@ -258,7 +304,7 @@
|
|||||||
<div class="name">创建时间</div>
|
<div class="name">创建时间</div>
|
||||||
</el-col>
|
</el-col>
|
||||||
<el-col :span="12">
|
<el-col :span="12">
|
||||||
<div class="record">{{imagesData.mtime}}</div>
|
<div class="record" v-cloak>{{imagesData.mtime}}</div>
|
||||||
</el-col>
|
</el-col>
|
||||||
</el-row>
|
</el-row>
|
||||||
<el-row type="flex" class="field">
|
<el-row type="flex" class="field">
|
||||||
@@ -266,7 +312,7 @@
|
|||||||
<div class="name">添加时间</div>
|
<div class="name">添加时间</div>
|
||||||
</el-col>
|
</el-col>
|
||||||
<el-col :span="12">
|
<el-col :span="12">
|
||||||
<div class="record">{{imagesData.btime}}</div>
|
<div class="record" v-cloak>{{imagesData.btime}}</div>
|
||||||
</el-col>
|
</el-col>
|
||||||
</el-row>
|
</el-row>
|
||||||
<el-row type="flex" class="field">
|
<el-row type="flex" class="field">
|
||||||
@@ -274,7 +320,7 @@
|
|||||||
<div class="name">修改时间</div>
|
<div class="name">修改时间</div>
|
||||||
</el-col>
|
</el-col>
|
||||||
<el-col :span="12">
|
<el-col :span="12">
|
||||||
<div class="record">{{imagesData.dateline}}</div>
|
<div class="record" v-cloak>{{imagesData.dateline}}</div>
|
||||||
</el-col>
|
</el-col>
|
||||||
</el-row>
|
</el-row>
|
||||||
</div>
|
</div>
|
||||||
@@ -293,7 +339,7 @@
|
|||||||
</el-main>
|
</el-main>
|
||||||
</el-container>
|
</el-container>
|
||||||
</div>
|
</div>
|
||||||
<!--{template components/header/index}-->
|
<!--{template pc/components/header/index}-->
|
||||||
|
|
||||||
<script type="text/javascript">
|
<script type="text/javascript">
|
||||||
new Vue({
|
new Vue({
|
||||||
@@ -318,10 +364,12 @@
|
|||||||
slider:0,
|
slider:0,
|
||||||
proportion:0,
|
proportion:0,
|
||||||
fproportion:0,
|
fproportion:0,
|
||||||
|
index:0,
|
||||||
|
LoadFirst:false,
|
||||||
|
scaleX:0,
|
||||||
|
scaleY:0,
|
||||||
rotate:0,
|
rotate:0,
|
||||||
total:0,
|
total:0,
|
||||||
index:0,
|
|
||||||
LoadFirst:false
|
|
||||||
},
|
},
|
||||||
|
|
||||||
}
|
}
|
||||||
@@ -339,9 +387,13 @@
|
|||||||
this.handleImgSize(val);
|
this.handleImgSize(val);
|
||||||
},
|
},
|
||||||
'ImgParam.rotate':function(val){
|
'ImgParam.rotate':function(val){
|
||||||
$('.image-viewer__img').css({
|
this.handleImgTransform();
|
||||||
transform:'rotate('+val+'deg)'
|
},
|
||||||
})
|
'ImgParam.scaleX':function(val){
|
||||||
|
this.handleImgTransform();
|
||||||
|
},
|
||||||
|
'ImgParam.scaleY':function(val){
|
||||||
|
this.handleImgTransform();
|
||||||
},
|
},
|
||||||
rids:{
|
rids:{
|
||||||
handler(data){
|
handler(data){
|
||||||
@@ -382,6 +434,22 @@
|
|||||||
},
|
},
|
||||||
|
|
||||||
methods: {
|
methods: {
|
||||||
|
handleImgTransform(){
|
||||||
|
var self = this;
|
||||||
|
var str = '';
|
||||||
|
if(self.ImgParam.rotate != 0){
|
||||||
|
str += ' rotate('+self.ImgParam.rotate+'deg)';
|
||||||
|
}
|
||||||
|
if(self.ImgParam.scaleX != 0){
|
||||||
|
str += ' scaleX('+self.ImgParam.scaleX+')';
|
||||||
|
}
|
||||||
|
if(self.ImgParam.scaleY != 0){
|
||||||
|
str += ' scaleY('+self.ImgParam.scaleY+')';
|
||||||
|
}
|
||||||
|
$('.image-viewer__img').css({
|
||||||
|
transform:str
|
||||||
|
})
|
||||||
|
},
|
||||||
handleImgSize(proportion){
|
handleImgSize(proportion){
|
||||||
var self = this;
|
var self = this;
|
||||||
// if(self.ImgParam.LoadFirst){
|
// if(self.ImgParam.LoadFirst){
|
||||||
@@ -454,7 +522,10 @@
|
|||||||
},
|
},
|
||||||
handleImgSet(){
|
handleImgSet(){
|
||||||
var self = this;
|
var self = this;
|
||||||
self.ImgParam.rotate = 0;
|
// self.ImgParam.rotate = 0;
|
||||||
|
// self.ImgParam.scaleX = 0;
|
||||||
|
// self.ImgParam.scaleY = 0;
|
||||||
|
|
||||||
var img = $('.image-viewer__img');
|
var img = $('.image-viewer__img');
|
||||||
var canva = $('#ImgScroll .el-scrollbar__view');
|
var canva = $('#ImgScroll .el-scrollbar__view');
|
||||||
var Bw = $('#ImgScroll').width();
|
var Bw = $('#ImgScroll').width();
|
||||||
@@ -567,11 +638,12 @@
|
|||||||
rid:self.rid
|
rid:self.rid
|
||||||
},function(json){
|
},function(json){
|
||||||
var item = json.resourcesdata;
|
var item = json.resourcesdata;
|
||||||
if(item.opentype=='image' || item.opentype=='other'){
|
// if(item.opentype=='image' || item.opentype=='other'){
|
||||||
item['icondata'] = (item['icondata']);
|
// item['icondata'] = (item['icondata']);
|
||||||
item['realpath'] = (item['realpath']);
|
// item['realpath'] = (item['realpath']);
|
||||||
item['originalimg'] = (item['originalimg']);
|
// item['originalimg'] = (item['originalimg']);
|
||||||
}
|
// }
|
||||||
|
document.title = item.name+'-$_G[setting][sitename]';
|
||||||
var colors = [];
|
var colors = [];
|
||||||
if(item.colors){
|
if(item.colors){
|
||||||
for(var c in item.colors){
|
for(var c in item.colors){
|
||||||
@@ -595,6 +667,18 @@
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
item.tag = tags;
|
item.tag = tags;
|
||||||
|
|
||||||
|
var foldernames = [];
|
||||||
|
if(item.foldernames){
|
||||||
|
for(var f in item.foldernames){
|
||||||
|
var fstr = {
|
||||||
|
key:f,
|
||||||
|
val:item.foldernames[f]
|
||||||
|
};
|
||||||
|
foldernames.push(fstr);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
item.foldernames = foldernames;
|
||||||
self.imagesData = item
|
self.imagesData = item
|
||||||
self.HtmlLoading = false;
|
self.HtmlLoading = false;
|
||||||
},'json');
|
},'json');
|
||||||
@@ -660,6 +744,20 @@
|
|||||||
num=0;
|
num=0;
|
||||||
}
|
}
|
||||||
this.ImgParam.rotate = num;
|
this.ImgParam.rotate = num;
|
||||||
|
}else if(type==4){
|
||||||
|
var scaleX = this.ImgParam.scaleX;
|
||||||
|
if(scaleX == 0){
|
||||||
|
this.ImgParam.scaleX = -1;
|
||||||
|
}else{
|
||||||
|
this.ImgParam.scaleX = 0;
|
||||||
|
}
|
||||||
|
}else if(type==5){
|
||||||
|
var scaleY = this.ImgParam.scaleY;
|
||||||
|
if(scaleY == 0){
|
||||||
|
this.ImgParam.scaleY = -1;
|
||||||
|
}else{
|
||||||
|
this.ImgParam.scaleY = 0;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
},
|
},
|
||||||
@@ -723,7 +821,12 @@
|
|||||||
},
|
},
|
||||||
handleCommandColor(val){
|
handleCommandColor(val){
|
||||||
if(val == 'common'){
|
if(val == 'common'){
|
||||||
|
<!--{if $opentype=='current'}-->
|
||||||
|
window.parent.window.location.href = MOD_URL + '#appid=' + this.imagesData.appid + '&color=' + this.ColorPopver.base;
|
||||||
|
window.parent.window.location.reload()
|
||||||
|
<!--{else}-->
|
||||||
window.location.href = MOD_URL + '#appid=' + this.imagesData.appid + '&color=' + this.ColorPopver.base;
|
window.location.href = MOD_URL + '#appid=' + this.imagesData.appid + '&color=' + this.ColorPopver.base;
|
||||||
|
<!--{/if}-->
|
||||||
}else{
|
}else{
|
||||||
CopyTxt(this,val)
|
CopyTxt(this,val)
|
||||||
}
|
}
|
||||||
@@ -774,10 +877,21 @@
|
|||||||
|
|
||||||
},
|
},
|
||||||
handleClickTag(tid){
|
handleClickTag(tid){
|
||||||
|
<!--{if $opentype=='current'}-->
|
||||||
|
window.parent.window.location.href = MOD_URL + '#appid=' + this.imagesData.appid + '&tag=' + tid;
|
||||||
|
window.parent.window.location.reload()
|
||||||
|
<!--{else}-->
|
||||||
window.location.href = MOD_URL + '#appid=' + this.imagesData.appid + '&tag=' + tid;
|
window.location.href = MOD_URL + '#appid=' + this.imagesData.appid + '&tag=' + tid;
|
||||||
|
<!--{/if}-->
|
||||||
|
|
||||||
},
|
},
|
||||||
handleClickClass(cid){
|
handleClickClass(cid){
|
||||||
|
<!--{if $opentype=='current'}-->
|
||||||
|
window.parent.window.location.href = MOD_URL + '#appid=' + this.imagesData.appid + '&classify=' + cid;
|
||||||
|
window.parent.window.location.reload()
|
||||||
|
<!--{else}-->
|
||||||
window.location.href = MOD_URL + '#appid=' + this.imagesData.appid + '&classify=' + cid;
|
window.location.href = MOD_URL + '#appid=' + this.imagesData.appid + '&classify=' + cid;
|
||||||
|
<!--{/if}-->
|
||||||
},
|
},
|
||||||
handleClickLink(val){
|
handleClickLink(val){
|
||||||
window.open(val);
|
window.open(val);
|
||||||
@@ -860,7 +974,11 @@
|
|||||||
handleavatar(type) {//头像点击
|
handleavatar(type) {//头像点击
|
||||||
switch(type){
|
switch(type){
|
||||||
case 'personal':
|
case 'personal':
|
||||||
|
<!--{if $opentype=='current'}-->
|
||||||
|
window.parent.window.location.href = MOD_URL + '&op=user&do=personal';
|
||||||
|
<!--{else}-->
|
||||||
window.location.href = MOD_URL + '&op=user&do=personal';
|
window.location.href = MOD_URL + '&op=user&do=personal';
|
||||||
|
<!--{/if}-->
|
||||||
break;
|
break;
|
||||||
case 'help':
|
case 'help':
|
||||||
window.open('https://www.yuque.com/pichome');
|
window.open('https://www.yuque.com/pichome');
|
||||||
@@ -869,10 +987,18 @@
|
|||||||
window.open('https://support.qq.com/products/340252');
|
window.open('https://support.qq.com/products/340252');
|
||||||
break;
|
break;
|
||||||
case 'setting':
|
case 'setting':
|
||||||
|
<!--{if $opentype=='current'}-->
|
||||||
|
window.parent.window.location.href = MOD_URL + '&op=admin&do=basic';
|
||||||
|
<!--{else}-->
|
||||||
window.location.href = MOD_URL + '&op=admin&do=basic';
|
window.location.href = MOD_URL + '&op=admin&do=basic';
|
||||||
|
<!--{/if}-->
|
||||||
break;
|
break;
|
||||||
case 'library':
|
case 'library':
|
||||||
|
<!--{if $opentype=='current'}-->
|
||||||
|
window.parent.window.location.href = MOD_URL + '&op=library';
|
||||||
|
<!--{else}-->
|
||||||
window.location.href = MOD_URL + '&op=library';
|
window.location.href = MOD_URL + '&op=library';
|
||||||
|
<!--{/if}-->
|
||||||
break;
|
break;
|
||||||
case 'about':
|
case 'about':
|
||||||
this.$alert(
|
this.$alert(
|
||||||
@@ -921,7 +1047,12 @@
|
|||||||
}
|
}
|
||||||
|
|
||||||
},
|
},
|
||||||
|
goBack(){
|
||||||
|
window.parent.pvue.DetailsIframe = ''
|
||||||
|
},
|
||||||
|
GoLogin(){
|
||||||
|
window.location.href = SITEURL+'user.php?mod=login';
|
||||||
|
},
|
||||||
},
|
},
|
||||||
mounted() {
|
mounted() {
|
||||||
var self = this;
|
var self = this;
|
||||||
@@ -958,5 +1089,5 @@
|
|||||||
|
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
<script type="text/javascript" src="{MOD_PATH}/js/jquery.mousewheel.min.js?{VERHASH}"></script>
|
<script type="text/javascript" src="{MOD_PATH}/js/pc/jquery.mousewheel.min.js?{VERHASH}"></script>
|
||||||
<!--{template frame/footer_simple}-->
|
<!--{template pc/frame/footer_simple}-->
|
||||||
@@ -1,20 +1,21 @@
|
|||||||
<!--{template frame/header_simple_start}-->
|
<!--{template pc/frame/header_simple_start}-->
|
||||||
<link rel="stylesheet" type="text/css" href="{MOD_PATH}/css/index.css?{VERHASH}"/>
|
<link rel="stylesheet" type="text/css" href="{MOD_PATH}/css/pc/index.css?{VERHASH}"/>
|
||||||
<script type="text/javascript" src="{MOD_PATH}/js/vue/vuex.js?{VERHASH}"></script>
|
<script type="text/javascript" src="{MOD_PATH}/js/vue/vuex.js?{VERHASH}"></script>
|
||||||
<script type="text/javascript" src="{MOD_PATH}/js/row-grid.js?{VERHASH}"></script>
|
<script type="text/javascript" src="{MOD_PATH}/js/pc/row-grid.js?{VERHASH}"></script>
|
||||||
<script type="text/javascript" src="{MOD_PATH}/js/waterfall.js?{VERHASH}"></script>
|
<script type="text/javascript" src="{MOD_PATH}/js/pc/waterfall.js?{VERHASH}"></script>
|
||||||
|
|
||||||
<script type="text/javascript" src="{MOD_PATH}/js/plug/wavesurfer.js?{VERHASH}"></script>
|
<script type="text/javascript" src="{MOD_PATH}/js/pc/plug/wavesurfer.js?{VERHASH}"></script>
|
||||||
<script type="text/javascript" src="{MOD_PATH}/js/audioPlay.js?{VERHASH}"></script>
|
<script type="text/javascript" src="{MOD_PATH}/js/pc/audioPlay.js?{VERHASH}"></script>
|
||||||
<script type="text/javascript" src="{MOD_PATH}/js/headerWatch.js?{VERHASH}"></script>
|
<script type="text/javascript" src="{MOD_PATH}/js/pc/headerWatch.js?{VERHASH}"></script>
|
||||||
<script type="text/javascript" src="{MOD_PATH}/js/headerMethods.js?{VERHASH}"></script>
|
<script type="text/javascript" src="{MOD_PATH}/js/pc/headerMethods.js?{VERHASH}"></script>
|
||||||
<script type="text/javascript" src="{MOD_PATH}/js/plug/DomResize.js?{VERHASH}"></script>
|
<script type="text/javascript" src="{MOD_PATH}/js/pc/plug/DomResize.js?{VERHASH}"></script>
|
||||||
<style type="text/css">
|
<style type="text/css">
|
||||||
.el-header{
|
.el-header{
|
||||||
border-bottom: 0;
|
border-bottom: 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
</style>
|
</style>
|
||||||
<!--{template frame/header_simple_end}-->
|
<!--{template pc/frame/header_simple_end}-->
|
||||||
<div id="dzzoffice">
|
<div id="dzzoffice">
|
||||||
<el-container>
|
<el-container>
|
||||||
<el-header height="auto" style="padding: 0;z-index: 10;">
|
<el-header height="auto" style="padding: 0;z-index: 10;">
|
||||||
@@ -24,23 +25,28 @@
|
|||||||
<div class="page-content">
|
<div class="page-content">
|
||||||
<el-scrollbar class="page-component__scroll body_scroll">
|
<el-scrollbar class="page-component__scroll body_scroll">
|
||||||
<div class="content" style="padding: 0px 16px 0;">
|
<div class="content" style="padding: 0px 16px 0;">
|
||||||
<images></images>
|
<images @opentype="opentype"></images>
|
||||||
</div>
|
</div>
|
||||||
</el-scrollbar>
|
</el-scrollbar>
|
||||||
<el-backtop target=".body_scroll>.el-scrollbar__wrap"></el-backtop>
|
<el-backtop target=".body_scroll>.el-scrollbar__wrap"></el-backtop>
|
||||||
</div>
|
</div>
|
||||||
</el-main>
|
</el-main>
|
||||||
</el-container>
|
</el-container>
|
||||||
|
<div id="Details_Iframe" v-if="DetailsIframe">
|
||||||
|
<iframe id="iframesrc" :src="DetailsIframe" width="100%" height="100%" style="border: 0;"></iframe>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
<!--{template components/index/indexVuex}-->
|
<!--{template pc/components/index/indexVuex}-->
|
||||||
<!--{template components/headerindex/index}-->
|
<!--{template pc/components/headerindex/index}-->
|
||||||
<!--{template components/index/images}-->
|
<!--{template pc/components/index/images}-->
|
||||||
<script type="text/javascript">
|
<script type="text/javascript">
|
||||||
var pvue = new Vue({
|
var pvue = new Vue({
|
||||||
el: '#dzzoffice',
|
el: '#dzzoffice',
|
||||||
data: function() {
|
data: function() {
|
||||||
return {
|
return {
|
||||||
|
DetailsIframe:''
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
watch:{
|
watch:{
|
||||||
@@ -99,14 +105,14 @@
|
|||||||
if(other){
|
if(other){
|
||||||
VuexStore.commit('seTHeader_Information_other', other);
|
VuexStore.commit('seTHeader_Information_other', other);
|
||||||
}else{
|
}else{
|
||||||
VuexStore.commit('seTHeader_Information_other', 'btime');
|
VuexStore.commit('seTHeader_Information_other', pagesetting.other);
|
||||||
}
|
}
|
||||||
|
|
||||||
var Layout = sessionStorage.getItem('Layout');
|
var Layout = sessionStorage.getItem('Layout');
|
||||||
if(Layout){
|
if(Layout){
|
||||||
VuexStore.commit('seTHeader_Information_Layout', Layout);
|
VuexStore.commit('seTHeader_Information_Layout', Layout);
|
||||||
}else{
|
}else{
|
||||||
VuexStore.commit('seTHeader_Information_Layout', 'waterFall');
|
VuexStore.commit('seTHeader_Information_Layout', pagesetting.layout);
|
||||||
}
|
}
|
||||||
|
|
||||||
var order = sessionStorage.getItem('order');
|
var order = sessionStorage.getItem('order');
|
||||||
@@ -114,8 +120,8 @@
|
|||||||
VuexStore.commit('SetimgParameter', {key:'order',val:parseInt(order)});
|
VuexStore.commit('SetimgParameter', {key:'order',val:parseInt(order)});
|
||||||
VuexStore.commit('SetimgParameterInit', {key:'order',val:parseInt(order)});
|
VuexStore.commit('SetimgParameterInit', {key:'order',val:parseInt(order)});
|
||||||
}else{
|
}else{
|
||||||
VuexStore.commit('SetimgParameter', {key:'order',val:'1'});
|
VuexStore.commit('SetimgParameter', {key:'order',val:parseInt(pagesetting.sort)});
|
||||||
VuexStore.commit('SetimgParameterInit', {key:'order',val:'1'});
|
VuexStore.commit('SetimgParameterInit', {key:'order',val:parseInt(pagesetting.sort)});
|
||||||
}
|
}
|
||||||
|
|
||||||
var asc = sessionStorage.getItem('asc');
|
var asc = sessionStorage.getItem('asc');
|
||||||
@@ -123,8 +129,8 @@
|
|||||||
VuexStore.commit('SetimgParameter', {key:'asc',val:asc});
|
VuexStore.commit('SetimgParameter', {key:'asc',val:asc});
|
||||||
VuexStore.commit('SetimgParameterInit', {key:'asc',val:asc});
|
VuexStore.commit('SetimgParameterInit', {key:'asc',val:asc});
|
||||||
}else{
|
}else{
|
||||||
VuexStore.commit('SetimgParameter', {key:'asc',val:'desc'});
|
VuexStore.commit('SetimgParameter', {key:'asc',val:pagesetting.desc});
|
||||||
VuexStore.commit('SetimgParameterInit', {key:'asc',val:'desc'});
|
VuexStore.commit('SetimgParameterInit', {key:'asc',val:pagesetting.desc});
|
||||||
}
|
}
|
||||||
<!--{/if}-->
|
<!--{/if}-->
|
||||||
<!--{if $_G[uid]}-->
|
<!--{if $_G[uid]}-->
|
||||||
@@ -133,14 +139,27 @@
|
|||||||
var GetAppid = this.GetAppid?this.GetAppid:'all';
|
var GetAppid = this.GetAppid?this.GetAppid:'all';
|
||||||
var ShowScreen = sessionStorage.getItem('showscreen_'+GetAppid)? sessionStorage.getItem('showscreen_'+GetAppid):0;
|
var ShowScreen = sessionStorage.getItem('showscreen_'+GetAppid)? sessionStorage.getItem('showscreen_'+GetAppid):0;
|
||||||
<!--{/if}-->
|
<!--{/if}-->
|
||||||
|
|
||||||
|
if(pagesetting.opentype){
|
||||||
|
VuexStore.commit('seTHeader_Information_Opentype', pagesetting.opentype);
|
||||||
|
}else{
|
||||||
|
VuexStore.commit('seTHeader_Information_Opentype', 'new');
|
||||||
|
}
|
||||||
|
|
||||||
VuexStore.commit('SetShowScreen',ShowScreen);
|
VuexStore.commit('SetShowScreen',ShowScreen);
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
methods:{
|
methods:{
|
||||||
|
opentype(rid){
|
||||||
|
var self = this;
|
||||||
|
this.DetailsIframe = SITEURL+MOD_URL+'&op=details&opentype=current#rid='+rid;
|
||||||
|
}
|
||||||
},
|
},
|
||||||
mounted() {
|
mounted() {
|
||||||
|
var self = this;
|
||||||
|
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
<!--{template frame/footer_simple}-->
|
<!--{template pc/frame/footer_simple}-->
|
||||||
@@ -1,5 +1,5 @@
|
|||||||
<!--{template frame/header_simple_start}-->
|
<!--{template pc/frame/header_simple_start}-->
|
||||||
<script type="text/javascript" src="{MOD_PATH}/js/plug/sortable.min.js?{VERHASH}"></script>
|
<script type="text/javascript" src="{MOD_PATH}/js/pc/plug/sortable.min.js?{VERHASH}"></script>
|
||||||
<style type="text/css">
|
<style type="text/css">
|
||||||
.lbox{
|
.lbox{
|
||||||
padding: 30px 0;
|
padding: 30px 0;
|
||||||
@@ -102,21 +102,24 @@
|
|||||||
[v-cloak]{
|
[v-cloak]{
|
||||||
display: none;
|
display: none;
|
||||||
}
|
}
|
||||||
|
.el-progress-bar__inner{
|
||||||
|
transition: none;
|
||||||
|
}
|
||||||
/* .SortableBox .sortable-list .el-checkbox{
|
/* .SortableBox .sortable-list .el-checkbox{
|
||||||
min-width: 120px;
|
min-width: 120px;
|
||||||
} */
|
} */
|
||||||
</style>
|
</style>
|
||||||
<!--{template frame/header_simple_end}-->
|
<!--{template pc/frame/header_simple_end}-->
|
||||||
<div id="dzzoffice">
|
<div id="dzzoffice">
|
||||||
<el-container>
|
<el-container>
|
||||||
<el-header height="70px" style="padding: 0;z-index: 10;">
|
<el-header height="70px" style="padding: 0;z-index: 10;">
|
||||||
<page-header :isscreenshow="false"></page-header>
|
<page-header></page-header>
|
||||||
</el-header>
|
</el-header>
|
||||||
<el-main>
|
<el-main>
|
||||||
<div class="page-content">
|
<div class="page-content">
|
||||||
<el-scrollbar class="page-component__scroll">
|
<el-scrollbar class="page-component__scroll">
|
||||||
<div class="content" style="padding: 26px 16px;">
|
<div class="content" style="padding: 26px 16px;">
|
||||||
<h1 style="text-align: center;color: var(--content-textHover);">我的库</h1>
|
<h1 style="text-align: center;color: var(--content-textHover);">库 设 置</h1>
|
||||||
<div class="lbox" v-if="dataList.length">
|
<div class="lbox" v-if="dataList.length">
|
||||||
<div class="block" v-for="(item,index) in dataList">
|
<div class="block" v-for="(item,index) in dataList">
|
||||||
<div class="images">
|
<div class="images">
|
||||||
@@ -134,9 +137,20 @@
|
|||||||
<div class="img-bg"></div>
|
<div class="img-bg"></div>
|
||||||
<div class="img-bg"></div>
|
<div class="img-bg"></div>
|
||||||
</template>
|
</template>
|
||||||
|
<div class="progress" v-if="parseInt(item.state)==0">
|
||||||
<div class="progress" v-if="parseInt(item.state)==1">
|
<div style="width: 100%;text-align: center;">
|
||||||
|
<el-button type="primary" size="mini" @click="handleImport(index,item.appid)">点击导入</el-button>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="progress" v-else-if="parseInt(item.state)==1">
|
||||||
<div style="width: 100%;">
|
<div style="width: 100%;">
|
||||||
|
<p style="margin-bottom: 5px;color: #FFFFFF;font-size: 14px;">导入中...</p>
|
||||||
|
<el-progress :text-inside="true" :stroke-width="19" :percentage="parseInt(item.percent)"></el-progress>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="progress" v-else-if="parseInt(item.state)==2">
|
||||||
|
<div style="width: 100%;">
|
||||||
|
<p style="margin-bottom: 5px;color: #FFFFFF;font-size: 14px;">导入完成,校验中...</p>
|
||||||
<el-progress :text-inside="true" :stroke-width="19" :percentage="parseInt(item.percent)"></el-progress>
|
<el-progress :text-inside="true" :stroke-width="19" :percentage="parseInt(item.percent)"></el-progress>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
@@ -206,7 +220,8 @@
|
|||||||
</el-main>
|
</el-main>
|
||||||
</el-container>
|
</el-container>
|
||||||
</div>
|
</div>
|
||||||
<!--{template components/headerAdmin/index}-->
|
<!--{template pc/components/headerAdmin/index}-->
|
||||||
|
<!-- 0未导入,1导入中,2校验中,3完成 -->
|
||||||
<script type="text/javascript">
|
<script type="text/javascript">
|
||||||
new Vue({
|
new Vue({
|
||||||
el: '#dzzoffice',
|
el: '#dzzoffice',
|
||||||
@@ -415,11 +430,20 @@
|
|||||||
},
|
},
|
||||||
handleRefresh(index,appid){
|
handleRefresh(index,appid){
|
||||||
var self = this;
|
var self = this;
|
||||||
if(!self.dataList[index]['time']){
|
// if(!self.dataList[index]['time']){
|
||||||
$.post(MOD_URL+'&op=exportfile&appid='+appid);
|
$.post(MOD_URL+'&op=initexport&appid='+appid);
|
||||||
self.dataList[index].state = 1;
|
self.dataList[index].state = 1;
|
||||||
self.dataList[index].percent = 0;
|
self.dataList[index].percent = 0;
|
||||||
self.handleRefreshLoading(index,appid);
|
self.handleRefreshLoading(index,appid);
|
||||||
|
// }
|
||||||
|
|
||||||
|
},
|
||||||
|
handleimplement(index,appid){
|
||||||
|
var self = this;
|
||||||
|
if(!self.dataList[index]['time']){
|
||||||
|
$.post(MOD_URL+'&op=initexport&appid='+appid);
|
||||||
|
self.dataList[index].state = 1;
|
||||||
|
self.handleRefreshLoading(index,appid);
|
||||||
}
|
}
|
||||||
|
|
||||||
},
|
},
|
||||||
@@ -431,11 +455,9 @@
|
|||||||
appid:appid
|
appid:appid
|
||||||
},function(data){
|
},function(data){
|
||||||
if(data.success){
|
if(data.success){
|
||||||
|
if(parseInt(data.data.state)==3){
|
||||||
if(parseInt(data.data.state)==2){
|
|
||||||
clearInterval(self.dataList[index]['time']);
|
clearInterval(self.dataList[index]['time']);
|
||||||
self.dataList[index].percent = 100;
|
self.dataList[index].percent = 100;
|
||||||
|
|
||||||
setTimeout(function(){
|
setTimeout(function(){
|
||||||
self.dataList[index].filenum = data.data.filenum;
|
self.dataList[index].filenum = data.data.filenum;
|
||||||
self.dataList[index].percent = parseInt(data.data.percent);
|
self.dataList[index].percent = parseInt(data.data.percent);
|
||||||
@@ -446,16 +468,17 @@
|
|||||||
message:data.data.appname+' 更新完成'
|
message:data.data.appname+' 更新完成'
|
||||||
},500);
|
},500);
|
||||||
},500);
|
},500);
|
||||||
|
|
||||||
|
|
||||||
}else{
|
}else{
|
||||||
|
if(parseInt(data.data.state) != self.dataList[index]['state']){
|
||||||
|
self.dataList[index].percent = 100;
|
||||||
|
}
|
||||||
self.dataList[index].filenum = data.data.filenum;
|
self.dataList[index].filenum = data.data.filenum;
|
||||||
self.dataList[index].percent = parseInt(data.data.percent);
|
self.dataList[index].percent = parseInt(data.data.percent);
|
||||||
self.dataList[index].state = parseInt(data.data.state);
|
self.dataList[index].state = parseInt(data.data.state);
|
||||||
if(self.dataList[index].state==0){
|
/*if(self.dataList[index].state==0){
|
||||||
clearInterval(self.dataList[index]['time']);
|
clearInterval(self.dataList[index]['time']);
|
||||||
self.$message.error('更新中断,请刷新重试');
|
self.$message.error('更新中断,请刷新重试');
|
||||||
}
|
}*/
|
||||||
}
|
}
|
||||||
}else{
|
}else{
|
||||||
clearInterval(self.dataList[index]['time']);
|
clearInterval(self.dataList[index]['time']);
|
||||||
@@ -472,13 +495,16 @@
|
|||||||
$.post(MOD_URL+'&op=library&operation=getdata',function(data){
|
$.post(MOD_URL+'&op=library&operation=getdata',function(data){
|
||||||
self.dataList = data.data;
|
self.dataList = data.data;
|
||||||
for(var i in self.dataList){
|
for(var i in self.dataList){
|
||||||
if(parseInt(self.dataList[i].state) == 1){
|
if(parseInt(self.dataList[i].state) == 1 || parseInt(self.dataList[i].state) == 2){
|
||||||
self.handleRefresh(i,self.dataList[i].appid)
|
self.handleimplement(i,self.dataList[i].appid)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
},'json');
|
},'json');
|
||||||
},
|
},
|
||||||
|
handleImport(index,appid){
|
||||||
|
this.handleimplement(index,appid)
|
||||||
|
},
|
||||||
handleCheckexport(){
|
handleCheckexport(){
|
||||||
var self = this;
|
var self = this;
|
||||||
$.get(MOD_URL+'&op=checkexport',function(){
|
$.get(MOD_URL+'&op=checkexport',function(){
|
||||||
@@ -493,4 +519,4 @@
|
|||||||
})
|
})
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
<!--{template frame/footer_simple}-->
|
<!--{template pc/frame/footer_simple}-->
|
||||||
@@ -1,6 +1,7 @@
|
|||||||
<!--{template frame/header_simple_start}-->
|
<!--{template pc/frame/header_simple_start}-->
|
||||||
<link rel="stylesheet" type="text/css" href="{MOD_PATH}/css/details.css?{VERHASH}"/>
|
<link rel="stylesheet" type="text/css" href="{MOD_PATH}/css/pc/xuanzhuan/index.css?{VERHASH}"/>
|
||||||
<!--{template frame/header_simple_end}-->
|
<link rel="stylesheet" type="text/css" href="{MOD_PATH}/css/pc/details.css?{VERHASH}"/>
|
||||||
|
<!--{template pc/frame/header_simple_end}-->
|
||||||
<div id="dzzoffice">
|
<div id="dzzoffice">
|
||||||
<el-container>
|
<el-container>
|
||||||
<el-header height="70" style="padding: 0;z-index: 10;">
|
<el-header height="70" style="padding: 0;z-index: 10;">
|
||||||
@@ -57,7 +58,12 @@
|
|||||||
<el-tooltip effect="dark" content="旋转" placement="bottom">
|
<el-tooltip effect="dark" content="旋转" placement="bottom">
|
||||||
<span class="text" @click="handleImgOperation(3)"><i class="el-icon-refresh-right icon"></i></span>
|
<span class="text" @click="handleImgOperation(3)"><i class="el-icon-refresh-right icon"></i></span>
|
||||||
</el-tooltip>
|
</el-tooltip>
|
||||||
|
<el-tooltip effect="dark" content="左右镜像" placement="bottom">
|
||||||
|
<span class="text"><i class="iconfont icon-zuoyoufanzhuan_huaban1 icon" @click="handleImgOperation(4)" style="font-size: 21px;font-weight: 500;"></i></span>
|
||||||
|
</el-tooltip>
|
||||||
|
<el-tooltip effect="dark" content="上下镜像" placement="bottom">
|
||||||
|
<span class="text"><i class="iconfont icon-chuizhifanzhuan_huaban1 icon" @click="handleImgOperation(5)" style="font-size: 21px;font-weight: 500;"></i></span>
|
||||||
|
</el-tooltip>
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
@@ -291,7 +297,7 @@
|
|||||||
</el-main>
|
</el-main>
|
||||||
</el-container>
|
</el-container>
|
||||||
</div>
|
</div>
|
||||||
<!--{template components/header/index}-->
|
<!--{template pc/components/header/index}-->
|
||||||
|
|
||||||
<script type="text/javascript">
|
<script type="text/javascript">
|
||||||
new Vue({
|
new Vue({
|
||||||
@@ -312,7 +318,7 @@
|
|||||||
imagesData: {
|
imagesData: {
|
||||||
rid : '$resourcesdata[rid]',
|
rid : '$resourcesdata[rid]',
|
||||||
appid : '$resourcesdata[appid]',
|
appid : '$resourcesdata[appid]',
|
||||||
name : '$resourcesdata[type]',
|
name : '$resourcesdata[name]',
|
||||||
type : '$resourcesdata[type]',
|
type : '$resourcesdata[type]',
|
||||||
ext : '$resourcesdata[ext]',
|
ext : '$resourcesdata[ext]',
|
||||||
height : $resourcesdata[height],
|
height : $resourcesdata[height],
|
||||||
@@ -340,6 +346,8 @@
|
|||||||
slider:0,
|
slider:0,
|
||||||
proportion:0,
|
proportion:0,
|
||||||
fproportion:0,
|
fproportion:0,
|
||||||
|
scaleX:0,
|
||||||
|
scaleY:0,
|
||||||
rotate:0,
|
rotate:0,
|
||||||
total:0,
|
total:0,
|
||||||
index:0,
|
index:0,
|
||||||
@@ -354,9 +362,13 @@
|
|||||||
this.handleImgSize(val);
|
this.handleImgSize(val);
|
||||||
},
|
},
|
||||||
'ImgParam.rotate':function(val){
|
'ImgParam.rotate':function(val){
|
||||||
$('.image-viewer__img').css({
|
this.handleImgTransform();
|
||||||
transform:'rotate('+val+'deg)'
|
},
|
||||||
})
|
'ImgParam.scaleX':function(val){
|
||||||
|
this.handleImgTransform();
|
||||||
|
},
|
||||||
|
'ImgParam.scaleY':function(val){
|
||||||
|
this.handleImgTransform();
|
||||||
},
|
},
|
||||||
imagesData:{
|
imagesData:{
|
||||||
handler(dasta){
|
handler(dasta){
|
||||||
@@ -373,11 +385,26 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
created() {
|
created() {
|
||||||
|
document.title = '$resourcesdata[name]-$_G[setting][sitename]';
|
||||||
},
|
},
|
||||||
|
|
||||||
methods: {
|
methods: {
|
||||||
|
handleImgTransform(){
|
||||||
|
var self = this;
|
||||||
|
var str = '';
|
||||||
|
if(self.ImgParam.rotate != 0){
|
||||||
|
str += ' rotate('+self.ImgParam.rotate+'deg)';
|
||||||
|
}
|
||||||
|
if(self.ImgParam.scaleX != 0){
|
||||||
|
str += ' scaleX('+self.ImgParam.scaleX+')';
|
||||||
|
}
|
||||||
|
if(self.ImgParam.scaleY != 0){
|
||||||
|
str += ' scaleY('+self.ImgParam.scaleY+')';
|
||||||
|
}
|
||||||
|
$('.image-viewer__img').css({
|
||||||
|
transform:str
|
||||||
|
})
|
||||||
|
},
|
||||||
handleImgSize(proportion){
|
handleImgSize(proportion){
|
||||||
var self = this;
|
var self = this;
|
||||||
// if(self.ImgParam.LoadFirst){
|
// if(self.ImgParam.LoadFirst){
|
||||||
@@ -391,7 +418,7 @@
|
|||||||
|
|
||||||
if(this.imagesData.opentype == 'other'){
|
if(this.imagesData.opentype == 'other'){
|
||||||
var width = parseFloat(this.imagesData.iconwidth);
|
var width = parseFloat(this.imagesData.iconwidth);
|
||||||
var height = parseFloat()(this.imagesData.iconheight);
|
var height = parseFloat(this.imagesData.iconheight);
|
||||||
}else{
|
}else{
|
||||||
var width = parseFloat(this.imagesData.width);
|
var width = parseFloat(this.imagesData.width);
|
||||||
var height = parseFloat(this.imagesData.height);
|
var height = parseFloat(this.imagesData.height);
|
||||||
@@ -596,6 +623,20 @@
|
|||||||
num=0;
|
num=0;
|
||||||
}
|
}
|
||||||
this.ImgParam.rotate = num;
|
this.ImgParam.rotate = num;
|
||||||
|
}else if(type==4){
|
||||||
|
var scaleX = this.ImgParam.scaleX;
|
||||||
|
if(scaleX == 0){
|
||||||
|
this.ImgParam.scaleX = -1;
|
||||||
|
}else{
|
||||||
|
this.ImgParam.scaleX = 0;
|
||||||
|
}
|
||||||
|
}else if(type==5){
|
||||||
|
var scaleY = this.ImgParam.scaleY;
|
||||||
|
if(scaleY == 0){
|
||||||
|
this.ImgParam.scaleY = -1;
|
||||||
|
}else{
|
||||||
|
this.ImgParam.scaleY = 0;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
},
|
},
|
||||||
@@ -881,5 +922,5 @@
|
|||||||
|
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
<script type="text/javascript" src="{MOD_PATH}/js/jquery.mousewheel.min.js?{VERHASH}"></script>
|
<script type="text/javascript" src="{MOD_PATH}/js/pc/jquery.mousewheel.min.js?{VERHASH}"></script>
|
||||||
<!--{template frame/footer_simple}-->
|
<!--{template pc/frame/footer_simple}-->
|
||||||
@@ -8,6 +8,7 @@
|
|||||||
$do = isset($_GET['do']) ? trim($_GET['do']) : '';
|
$do = isset($_GET['do']) ? trim($_GET['do']) : '';
|
||||||
require_once libfile('function/user', '', 'user');
|
require_once libfile('function/user', '', 'user');
|
||||||
$user = C::t('user')->get_user_by_uid($uid);
|
$user = C::t('user')->get_user_by_uid($uid);
|
||||||
|
$ismobile = helper_browser::ismobile();
|
||||||
if(empty($user['avatarstatus']) && dzz_check_avatar($_G['uid'], 'middle')) {
|
if(empty($user['avatarstatus']) && dzz_check_avatar($_G['uid'], 'middle')) {
|
||||||
C::t('user')->update($_G['uid'], array('avatarstatus'=>'1'));
|
C::t('user')->update($_G['uid'], array('avatarstatus'=>'1'));
|
||||||
}
|
}
|
||||||
@@ -17,11 +18,17 @@
|
|||||||
$user = C::t('user')->fetch_by_uid($uid);
|
$user = C::t('user')->fetch_by_uid($uid);
|
||||||
if (!$uid) exit(json_encode(array('error' => true, 'msg' => '用户不存在')));
|
if (!$uid) exit(json_encode(array('error' => true, 'msg' => '用户不存在')));
|
||||||
if(isset($_GET['imgpath'])){
|
if(isset($_GET['imgpath'])){
|
||||||
$base64img = base64EncodeImage($_GET['imgpath']);
|
if($ismobile){
|
||||||
if(upbase64($base64img,$uid)){
|
upbase64(trim($_GET['imgpath']),$uid);
|
||||||
@unlink($_GET['imgpath']);
|
}else{
|
||||||
}
|
$base64img = base64EncodeImage($_GET['imgpath']);
|
||||||
|
if(upbase64($base64img,$uid)){
|
||||||
|
@unlink($_GET['imgpath']);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
//用户名验证
|
//用户名验证
|
||||||
$username = trim($_GET['username']);
|
$username = trim($_GET['username']);
|
||||||
if (empty($username)) {
|
if (empty($username)) {
|
||||||
@@ -112,7 +119,13 @@
|
|||||||
$uid = getglobal('uid');
|
$uid = getglobal('uid');
|
||||||
$userdata = C::t('user')->fetch($uid);
|
$userdata = C::t('user')->fetch($uid);
|
||||||
$theme = GetThemeColor();
|
$theme = GetThemeColor();
|
||||||
include template('page/adminPersonal');
|
|
||||||
|
if ($ismobile) {
|
||||||
|
include template('mobile/page/personal');
|
||||||
|
} else {
|
||||||
|
include template('pc/page/adminPersonal');
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
elseif ($do == 'uploadimg') {//上传用户头像
|
elseif ($do == 'uploadimg') {//上传用户头像
|
||||||
@@ -172,13 +185,12 @@
|
|||||||
}
|
}
|
||||||
function upBase64($base64Data, $uid)
|
function upBase64($base64Data, $uid)
|
||||||
{
|
{
|
||||||
$img = base64_decode(str_replace('data:image/png;base64,', '', $base64Data));
|
$img = base64_decode(str_replace(array('data:image/png;base64,','data:image/jpeg;base64,','data:image/gif;base64,','data:image/jpg;base64,'), '', $base64Data));
|
||||||
$temp = getglobal('setting/attachdir') . 'cache/' . random(5) . '.png';
|
$temp = getglobal('setting/attachdir') . 'cache/' . random(5) . '.png';
|
||||||
//移动文件
|
//移动文件
|
||||||
if (!(file_put_contents($temp, $img))) { //移动失败
|
if (!(file_put_contents($temp, $img))) { //移动失败
|
||||||
return false;
|
return false;
|
||||||
} else { //移动成功,生成3种尺寸头像
|
} else { //移动成功,生成3种尺寸头像
|
||||||
|
|
||||||
$home = get_home($uid);
|
$home = get_home($uid);
|
||||||
if (!is_dir(DZZ_ROOT . './data/avatar/' . $home)) {
|
if (!is_dir(DZZ_ROOT . './data/avatar/' . $home)) {
|
||||||
set_home($uid, DZZ_ROOT . './data/avatar/');
|
set_home($uid, DZZ_ROOT . './data/avatar/');
|
||||||
|
|||||||
@@ -1004,6 +1004,7 @@ CREATE TABLE `dzz_pichome_resources` (
|
|||||||
`isdelete` tinyint(1) UNSIGNED NOT NULL DEFAULT '0' COMMENT '是否为删除状态',
|
`isdelete` tinyint(1) UNSIGNED NOT NULL DEFAULT '0' COMMENT '是否为删除状态',
|
||||||
`btime` bigint(13) UNSIGNED NOT NULL COMMENT '添加时间',
|
`btime` bigint(13) UNSIGNED NOT NULL COMMENT '添加时间',
|
||||||
`md5` char(32) NOT NULL DEFAULT '' COMMENT '文件md5值',
|
`md5` char(32) NOT NULL DEFAULT '' COMMENT '文件md5值',
|
||||||
|
`lastdate` int(11) unsigned NOT NULL DEFAULT '0' COMMENT '最后更改时间',
|
||||||
PRIMARY KEY (`rid`),
|
PRIMARY KEY (`rid`),
|
||||||
KEY `appid` (`appid`),
|
KEY `appid` (`appid`),
|
||||||
KEY `appid_2` (`appid`,`isdelete`) USING BTREE
|
KEY `appid_2` (`appid`,`isdelete`) USING BTREE
|
||||||
@@ -1083,21 +1084,22 @@ CREATE TABLE `dzz_pichome_tagrelation` (
|
|||||||
DROP TABLE IF EXISTS `dzz_pichome_vapp`;
|
DROP TABLE IF EXISTS `dzz_pichome_vapp`;
|
||||||
CREATE TABLE `dzz_pichome_vapp` (
|
CREATE TABLE `dzz_pichome_vapp` (
|
||||||
`appid` char(6) NOT NULL DEFAULT '' COMMENT '库id',
|
`appid` char(6) NOT NULL DEFAULT '' COMMENT '库id',
|
||||||
`uid` int(11) UNSIGNED NOT NULL DEFAULT '0' COMMENT '用户id',
|
`uid` int(11) unsigned NOT NULL DEFAULT '0' COMMENT '用户id',
|
||||||
`username` char(30) NOT NULL DEFAULT '' COMMENT '用户名',
|
`username` char(30) NOT NULL DEFAULT '' COMMENT '用户名',
|
||||||
`appname` varchar(255) NOT NULL DEFAULT '',
|
`appname` varchar(255) NOT NULL DEFAULT '',
|
||||||
`personal` tinyint(1) UNSIGNED NOT NULL DEFAULT '1' COMMENT '0公开,1私有',
|
`personal` tinyint(1) unsigned NOT NULL DEFAULT '1' COMMENT '0公开,1私有',
|
||||||
`path` blob NOT NULL COMMENT '对应目录路径',
|
`path` blob NOT NULL COMMENT '对应目录路径',
|
||||||
`dateline` int(11) UNSIGNED NOT NULL DEFAULT '0' COMMENT '更新时间',
|
`dateline` int(11) unsigned NOT NULL DEFAULT '0' COMMENT '更新时间',
|
||||||
`extra` text COMMENT '拓展数据',
|
`extra` text COMMENT '拓展数据',
|
||||||
`perm` int(11) UNSIGNED NOT NULL DEFAULT '0' COMMENT '权限值',
|
`perm` int(11) unsigned NOT NULL DEFAULT '0' COMMENT '权限值',
|
||||||
`filenum` int(11) unsigned NOT NULL DEFAULT '0' COMMENT '文件个数',
|
`filenum` int(11) unsigned NOT NULL DEFAULT '0' COMMENT '文件个数',
|
||||||
`lastid` char(13) DEFAULT '' COMMENT '最后执行位置id',
|
`lastid` char(13) DEFAULT '' COMMENT '最后执行位置id',
|
||||||
`percent` tinyint(3) unsigned NOT NULL DEFAULT '0' COMMENT '导入百分比',
|
`percent` tinyint(3) unsigned NOT NULL DEFAULT '0' COMMENT '导入百分比',
|
||||||
`state` tinyint(1) unsigned NOT NULL DEFAULT '0' COMMENT '0,未导入,1导入中,2导入完成',
|
`state` tinyint(1) unsigned NOT NULL DEFAULT '0' COMMENT '0,未导入,1导入中,2检校,3完成',
|
||||||
`filter` text COMMENT '筛选项',
|
`filter` text COMMENT '筛选项',
|
||||||
`share` tinyint(1) unsigned NOT NULL DEFAULT '0' COMMENT '分享是否开放',
|
`share` tinyint(1) unsigned NOT NULL DEFAULT '0' COMMENT '分享是否开放',
|
||||||
`download` tinyint(1) unsigned NOT NULL DEFAULT '0' COMMENT '是否开放下载',
|
`download` tinyint(1) unsigned NOT NULL DEFAULT '0' COMMENT '是否开放下载',
|
||||||
|
`donum` int(11) unsigned NOT NULL DEFAULT '0' COMMENT '已导入文件数',
|
||||||
PRIMARY KEY (`appid`)
|
PRIMARY KEY (`appid`)
|
||||||
) ENGINE=MyISAM;
|
) ENGINE=MyISAM;
|
||||||
|
|
||||||
|
|||||||
@@ -44,15 +44,11 @@ INSERT INTO `dzz_hooks` (`id`, `app_market_id`, `name`, `description`, `type`, `
|
|||||||
(20, 8, 'systemlog', '', 1, 0, 'admin\\systemlog\\classes\\systemlog', 1, 0);
|
(20, 8, 'systemlog', '', 1, 0, 'admin\\systemlog\\classes\\systemlog', 1, 0);
|
||||||
|
|
||||||
|
|
||||||
INSERT INTO `dzz_connect` VALUES('阿里云存储', '', '', 'storage', 'ALIOSS', '', 2, 'connect_storage', '', 0);
|
|
||||||
INSERT INTO `dzz_connect` VALUES('企业盘', '', '', 'local', 'dzz', '', 2, '', '', -2);
|
|
||||||
INSERT INTO `dzz_connect` VALUES('Qcos', '', '', 'storage', 'QCOS', '', 2, 'connect_storage', '', 0);
|
|
||||||
|
|
||||||
--
|
--
|
||||||
-- 转存表中的数据 `dzz_local_storage`
|
-- 转存表中的数据 `dzz_local_storage`
|
||||||
--
|
--
|
||||||
|
|
||||||
INSERT INTO `dzz_local_storage` VALUES(1, '服务器磁盘', 'dzz', 1, '', 0, 0, 0, 0, 0, 0);
|
|
||||||
|
|
||||||
--
|
--
|
||||||
-- 转存表中的数据 `dzz_usergroup`
|
-- 转存表中的数据 `dzz_usergroup`
|
||||||
@@ -123,7 +119,7 @@ INSERT INTO `dzz_setting` VALUES('boardlicensed', '0');
|
|||||||
INSERT INTO `dzz_setting` VALUES('leavealert', '0');
|
INSERT INTO `dzz_setting` VALUES('leavealert', '0');
|
||||||
INSERT INTO `dzz_setting` VALUES('bbclosed', '0');
|
INSERT INTO `dzz_setting` VALUES('bbclosed', '0');
|
||||||
INSERT INTO `dzz_setting` VALUES('closedreason', '网站升级中....');
|
INSERT INTO `dzz_setting` VALUES('closedreason', '网站升级中....');
|
||||||
INSERT INTO `dzz_setting` VALUES('sitename', 'PicHome');
|
INSERT INTO `dzz_setting` VALUES('sitename', 'dzz');
|
||||||
INSERT INTO `dzz_setting` VALUES('dateconvert', '1');
|
INSERT INTO `dzz_setting` VALUES('dateconvert', '1');
|
||||||
INSERT INTO `dzz_setting` VALUES('allowshare', '1');
|
INSERT INTO `dzz_setting` VALUES('allowshare', '1');
|
||||||
|
|
||||||
@@ -163,7 +159,7 @@ INSERT INTO `dzz_setting` VALUES('defaultdepartment', '1');
|
|||||||
|
|
||||||
INSERT INTO `dzz_setting` VALUES ('pichomefilterfileds', 'a:12:{i:0;a:3:{s:3:\"key\";s:3:\"tag\";s:4:\"text\";s:6:\"标签\";s:7:\"checked\";s:1:\"1\";}i:1;a:3:{s:3:\"key\";s:5:\"color\";s:4:\"text\";s:6:\"颜色\";s:7:\"checked\";s:1:\"1\";}i:2;a:3:{s:3:\"key\";s:4:\"link\";s:4:\"text\";s:6:\"链接\";s:7:\"checked\";s:1:\"1\";}i:3;a:3:{s:3:\"key\";s:4:\"desc\";s:4:\"text\";s:6:\"注释\";s:7:\"checked\";s:1:\"1\";}i:4;a:3:{s:3:\"key\";s:8:\"duration\";s:4:\"text\";s:6:\"时长\";s:7:\"checked\";s:1:\"1\";}i:5;a:3:{s:3:\"key\";s:4:\"size\";s:4:\"text\";s:6:\"尺寸\";s:7:\"checked\";s:1:\"1\";}i:6;a:3:{s:3:\"key\";s:3:\"ext\";s:4:\"text\";s:6:\"类型\";s:7:\"checked\";s:1:\"1\";}i:7;a:3:{s:3:\"key\";s:5:\"shape\";s:4:\"text\";s:6:\"形状\";s:7:\"checked\";s:1:\"1\";}i:8;a:3:{s:3:\"key\";s:5:\"grade\";s:4:\"text\";s:6:\"评分\";s:7:\"checked\";s:1:\"1\";}i:9;a:3:{s:3:\"key\";s:5:\"btime\";s:4:\"text\";s:12:\"添加时间\";s:7:\"checked\";s:1:\"1\";}i:10;a:3:{s:3:\"key\";s:8:\"dateline\";s:4:\"text\";s:12:\"修改日期\";s:7:\"checked\";s:1:\"1\";}i:11;a:3:{s:3:\"key\";s:5:\"mtime\";s:4:\"text\";s:12:\"创建日期\";s:7:\"checked\";s:1:\"1\";}}');
|
INSERT INTO `dzz_setting` VALUES ('pichomefilterfileds', 'a:12:{i:0;a:3:{s:3:\"key\";s:3:\"tag\";s:4:\"text\";s:6:\"标签\";s:7:\"checked\";s:1:\"1\";}i:1;a:3:{s:3:\"key\";s:5:\"color\";s:4:\"text\";s:6:\"颜色\";s:7:\"checked\";s:1:\"1\";}i:2;a:3:{s:3:\"key\";s:4:\"link\";s:4:\"text\";s:6:\"链接\";s:7:\"checked\";s:1:\"1\";}i:3;a:3:{s:3:\"key\";s:4:\"desc\";s:4:\"text\";s:6:\"注释\";s:7:\"checked\";s:1:\"1\";}i:4;a:3:{s:3:\"key\";s:8:\"duration\";s:4:\"text\";s:6:\"时长\";s:7:\"checked\";s:1:\"1\";}i:5;a:3:{s:3:\"key\";s:4:\"size\";s:4:\"text\";s:6:\"尺寸\";s:7:\"checked\";s:1:\"1\";}i:6;a:3:{s:3:\"key\";s:3:\"ext\";s:4:\"text\";s:6:\"类型\";s:7:\"checked\";s:1:\"1\";}i:7;a:3:{s:3:\"key\";s:5:\"shape\";s:4:\"text\";s:6:\"形状\";s:7:\"checked\";s:1:\"1\";}i:8;a:3:{s:3:\"key\";s:5:\"grade\";s:4:\"text\";s:6:\"评分\";s:7:\"checked\";s:1:\"1\";}i:9;a:3:{s:3:\"key\";s:5:\"btime\";s:4:\"text\";s:12:\"添加时间\";s:7:\"checked\";s:1:\"1\";}i:10;a:3:{s:3:\"key\";s:8:\"dateline\";s:4:\"text\";s:12:\"修改日期\";s:7:\"checked\";s:1:\"1\";}i:11;a:3:{s:3:\"key\";s:5:\"mtime\";s:4:\"text\";s:12:\"创建日期\";s:7:\"checked\";s:1:\"1\";}}');
|
||||||
INSERT INTO `dzz_setting` VALUES ('overt', '1');
|
INSERT INTO `dzz_setting` VALUES ('overt', '1');
|
||||||
INSERT INTO `dzz_setting` VALUES ('pichomepagesetting', 'a:6:{s:5:\"theme\";s:0:\"\";s:6:\"layout\";s:9:\"waterFall\";s:4:\"show\";s:16:\"name,other\";s:5:\"other\";s:5:\"mtime\";s:4:\"sort\";s:1:\"1\";s:4:\"desc\";s:4:\"desc\";}');
|
INSERT INTO `dzz_setting` VALUES ('pichomepagesetting', 'a:7:{s:5:\"theme\";s:0:\"\";s:6:\"layout\";s:9:\"waterFall\";s:4:\"show\";s:10:\"name,other\";s:5:\"other\";s:5:\"mtime\";s:4:\"sort\";s:1:\"1\";s:4:\"desc\";s:4:\"desc\";s:8:\"opentype\";s:3:\"new\";}');
|
||||||
|
|
||||||
-- 转存表中的数据 `dzz_imagetype`
|
-- 转存表中的数据 `dzz_imagetype`
|
||||||
--
|
--
|
||||||
|
|||||||
0
library/index.htm
Normal file
0
library/index.htm
Normal file
Reference in New Issue
Block a user