1002884655 пре 4 година
родитељ
комит
73d5475924
31 измењених фајлова са 1052 додато и 892 уклоњено
  1. 3
    298
      package-lock.json
  2. 5
    1
      src/app.config.js
  3. 22
    6
      src/assets/css/iconfont.less
  4. 20
    32
      src/components/ActivityListItem/index.jsx
  5. 17
    31
      src/components/NavHeader/index.jsx
  6. 24
    38
      src/components/NewsListItem/index.jsx
  7. 24
    0
      src/components/SlidePopup/index.jsx
  8. 57
    0
      src/components/SlidePopup/index.less
  9. 22
    0
      src/components/UploadImg/index.jsx
  10. 58
    0
      src/components/UploadImg/index.less
  11. 24
    39
      src/components/WuYeJiaoFei/index.jsx
  12. 28
    42
      src/components/WuYeJiaoFeiItem/index.jsx
  13. 8
    20
      src/components/demo/index.jsx
  14. 3
    0
      src/pages/HuoDong/HuoDongDetail/index.config.js
  15. 46
    0
      src/pages/HuoDong/HuoDongDetail/index.jsx
  16. 122
    0
      src/pages/HuoDong/HuoDongDetail/index.less
  17. 3
    0
      src/pages/HuoDong/ZiXunDetail/index.config.js
  18. 16
    0
      src/pages/HuoDong/ZiXunDetail/index.jsx
  19. 5
    0
      src/pages/HuoDong/ZiXunDetail/index.less
  20. 58
    91
      src/pages/HuoDong/index.jsx
  21. 3
    0
      src/pages/WoDe/GeRenXinXi/index.config.js
  22. 13
    0
      src/pages/WoDe/GeRenXinXi/index.jsx
  23. 3
    3
      src/pages/WoDe/GeRenXinXi/index.less
  24. 0
    113
      src/pages/WoDe/index.css
  25. 3
    3
      src/pages/WoDe/index.jsx
  26. 0
    173
      src/pages/WuYe/BaoXiuDetail/index.css
  27. 46
    2
      src/pages/WuYe/BaoXiuFeiYong/index.jsx
  28. 82
    0
      src/pages/WuYe/BaoXiuFeiYong/index.less
  29. 3
    0
      src/pages/WuYe/JiaoFeiDetail/index.config.js
  30. 93
    0
      src/pages/WuYe/JiaoFeiDetail/index.jsx
  31. 241
    0
      src/pages/WuYe/JiaoFeiDetail/index.less

+ 3
- 298
package-lock.json Прегледај датотеку

@@ -1484,15 +1484,6 @@
1484 1484
         }
1485 1485
       }
1486 1486
     },
1487
-    "@tarojs/plugin-babel": {
1488
-      "version": "2.2.10",
1489
-      "resolved": "https://registry.npm.taobao.org/@tarojs/plugin-babel/download/@tarojs/plugin-babel-2.2.10.tgz",
1490
-      "integrity": "sha1-WHyHLnofwHwujQoWVSO9M9j6eFY=",
1491
-      "dev": true,
1492
-      "requires": {
1493
-        "babel-core": "^6.26.0"
1494
-      }
1495
-    },
1496 1487
     "@tarojs/react": {
1497 1488
       "version": "3.0.14",
1498 1489
       "resolved": "https://registry.npm.taobao.org/@tarojs/react/download/@tarojs/react-3.0.14.tgz",
@@ -1647,39 +1638,6 @@
1647 1638
         "loader-utils": "^1.2.3"
1648 1639
       }
1649 1640
     },
1650
-    "@tarojs/taro-weapp": {
1651
-      "version": "2.2.10",
1652
-      "resolved": "https://registry.npm.taobao.org/@tarojs/taro-weapp/download/@tarojs/taro-weapp-2.2.10.tgz",
1653
-      "integrity": "sha1-TuprrF5tPgrt859ICkCuz12zUwQ=",
1654
-      "requires": {
1655
-        "@tarojs/taro": "^2.2.10",
1656
-        "@tarojs/utils": "^2.2.10",
1657
-        "lodash": "^4.17.10",
1658
-        "prop-types": "^15.6.1"
1659
-      },
1660
-      "dependencies": {
1661
-        "@tarojs/taro": {
1662
-          "version": "2.2.15",
1663
-          "resolved": "https://registry.npm.taobao.org/@tarojs/taro/download/@tarojs/taro-2.2.15.tgz?cache=0&sync_timestamp=1605862215749&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40tarojs%2Ftaro%2Fdownload%2F%40tarojs%2Ftaro-2.2.15.tgz",
1664
-          "integrity": "sha1-VqA99rDz87Ug8R95Soxpz+v3oGA=",
1665
-          "requires": {
1666
-            "@tarojs/utils": "2.2.15"
1667
-          },
1668
-          "dependencies": {
1669
-            "@tarojs/utils": {
1670
-              "version": "2.2.15",
1671
-              "resolved": "https://registry.npm.taobao.org/@tarojs/utils/download/@tarojs/utils-2.2.15.tgz",
1672
-              "integrity": "sha1-neClMK94rMx2qRoq0J1nqbs1ZeU="
1673
-            }
1674
-          }
1675
-        }
1676
-      }
1677
-    },
1678
-    "@tarojs/utils": {
1679
-      "version": "2.2.10",
1680
-      "resolved": "https://registry.npm.taobao.org/@tarojs/utils/download/@tarojs/utils-2.2.10.tgz",
1681
-      "integrity": "sha1-3fgqd67M/DFcL7eLPRwHmGCu01A="
1682
-    },
1683 1641
     "@tarojs/webpack-runner": {
1684 1642
       "version": "3.0.14",
1685 1643
       "resolved": "https://registry.npm.taobao.org/@tarojs/webpack-runner/download/@tarojs/webpack-runner-3.0.14.tgz?cache=0&sync_timestamp=1605865144538&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40tarojs%2Fwebpack-runner%2Fdownload%2F%40tarojs%2Fwebpack-runner-3.0.14.tgz",
@@ -3367,100 +3325,6 @@
3367 3325
       "integrity": "sha1-1h9G2DslGSUOJ4Ta9bCUeai0HFk=",
3368 3326
       "dev": true
3369 3327
     },
3370
-    "babel-code-frame": {
3371
-      "version": "6.26.0",
3372
-      "resolved": "https://registry.npm.taobao.org/babel-code-frame/download/babel-code-frame-6.26.0.tgz",
3373
-      "integrity": "sha1-Y/1D99weO7fONZR9uP42mj9Yx0s=",
3374
-      "dev": true,
3375
-      "requires": {
3376
-        "chalk": "^1.1.3",
3377
-        "esutils": "^2.0.2",
3378
-        "js-tokens": "^3.0.2"
3379
-      },
3380
-      "dependencies": {
3381
-        "ansi-styles": {
3382
-          "version": "2.2.1",
3383
-          "resolved": "https://registry.npm.taobao.org/ansi-styles/download/ansi-styles-2.2.1.tgz?cache=0&sync_timestamp=1601839122515&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fansi-styles%2Fdownload%2Fansi-styles-2.2.1.tgz",
3384
-          "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=",
3385
-          "dev": true
3386
-        },
3387
-        "chalk": {
3388
-          "version": "1.1.3",
3389
-          "resolved": "https://registry.npm.taobao.org/chalk/download/chalk-1.1.3.tgz?cache=0&sync_timestamp=1591687028262&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fchalk%2Fdownload%2Fchalk-1.1.3.tgz",
3390
-          "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=",
3391
-          "dev": true,
3392
-          "requires": {
3393
-            "ansi-styles": "^2.2.1",
3394
-            "escape-string-regexp": "^1.0.2",
3395
-            "has-ansi": "^2.0.0",
3396
-            "strip-ansi": "^3.0.0",
3397
-            "supports-color": "^2.0.0"
3398
-          }
3399
-        },
3400
-        "js-tokens": {
3401
-          "version": "3.0.2",
3402
-          "resolved": "https://registry.npm.taobao.org/js-tokens/download/js-tokens-3.0.2.tgz",
3403
-          "integrity": "sha1-mGbfOVECEw449/mWvOtlRDIJwls=",
3404
-          "dev": true
3405
-        },
3406
-        "supports-color": {
3407
-          "version": "2.0.0",
3408
-          "resolved": "https://registry.npm.taobao.org/supports-color/download/supports-color-2.0.0.tgz?cache=0&sync_timestamp=1606205060845&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fsupports-color%2Fdownload%2Fsupports-color-2.0.0.tgz",
3409
-          "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=",
3410
-          "dev": true
3411
-        }
3412
-      }
3413
-    },
3414
-    "babel-core": {
3415
-      "version": "6.26.3",
3416
-      "resolved": "https://registry.npm.taobao.org/babel-core/download/babel-core-6.26.3.tgz",
3417
-      "integrity": "sha1-suLwnjQtDwyI4vAuBneUEl51wgc=",
3418
-      "dev": true,
3419
-      "requires": {
3420
-        "babel-code-frame": "^6.26.0",
3421
-        "babel-generator": "^6.26.0",
3422
-        "babel-helpers": "^6.24.1",
3423
-        "babel-messages": "^6.23.0",
3424
-        "babel-register": "^6.26.0",
3425
-        "babel-runtime": "^6.26.0",
3426
-        "babel-template": "^6.26.0",
3427
-        "babel-traverse": "^6.26.0",
3428
-        "babel-types": "^6.26.0",
3429
-        "babylon": "^6.18.0",
3430
-        "convert-source-map": "^1.5.1",
3431
-        "debug": "^2.6.9",
3432
-        "json5": "^0.5.1",
3433
-        "lodash": "^4.17.4",
3434
-        "minimatch": "^3.0.4",
3435
-        "path-is-absolute": "^1.0.1",
3436
-        "private": "^0.1.8",
3437
-        "slash": "^1.0.0",
3438
-        "source-map": "^0.5.7"
3439
-      },
3440
-      "dependencies": {
3441
-        "debug": {
3442
-          "version": "2.6.9",
3443
-          "resolved": "https://registry.npm.taobao.org/debug/download/debug-2.6.9.tgz?cache=0&sync_timestamp=1605791507452&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fdebug%2Fdownload%2Fdebug-2.6.9.tgz",
3444
-          "integrity": "sha1-XRKFFd8TT/Mn6QpMk/Tgd6U2NB8=",
3445
-          "dev": true,
3446
-          "requires": {
3447
-            "ms": "2.0.0"
3448
-          }
3449
-        },
3450
-        "json5": {
3451
-          "version": "0.5.1",
3452
-          "resolved": "https://registry.npm.taobao.org/json5/download/json5-0.5.1.tgz",
3453
-          "integrity": "sha1-Hq3nrMASA0rYTiOWdn6tn6VJWCE=",
3454
-          "dev": true
3455
-        },
3456
-        "ms": {
3457
-          "version": "2.0.0",
3458
-          "resolved": "https://registry.npm.taobao.org/ms/download/ms-2.0.0.tgz",
3459
-          "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=",
3460
-          "dev": true
3461
-        }
3462
-      }
3463
-    },
3464 3328
     "babel-eslint": {
3465 3329
       "version": "10.1.0",
3466 3330
       "resolved": "https://registry.npm.taobao.org/babel-eslint/download/babel-eslint-10.1.0.tgz?cache=0&sync_timestamp=1593529664540&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fbabel-eslint%2Fdownload%2Fbabel-eslint-10.1.0.tgz",
@@ -3475,30 +3339,6 @@
3475 3339
         "resolve": "^1.12.0"
3476 3340
       }
3477 3341
     },
3478
-    "babel-generator": {
3479
-      "version": "6.26.1",
3480
-      "resolved": "https://registry.npm.taobao.org/babel-generator/download/babel-generator-6.26.1.tgz",
3481
-      "integrity": "sha1-GERAjTuPDTWkBOp6wYDwh6YBvZA=",
3482
-      "dev": true,
3483
-      "requires": {
3484
-        "babel-messages": "^6.23.0",
3485
-        "babel-runtime": "^6.26.0",
3486
-        "babel-types": "^6.26.0",
3487
-        "detect-indent": "^4.0.0",
3488
-        "jsesc": "^1.3.0",
3489
-        "lodash": "^4.17.4",
3490
-        "source-map": "^0.5.7",
3491
-        "trim-right": "^1.0.1"
3492
-      },
3493
-      "dependencies": {
3494
-        "jsesc": {
3495
-          "version": "1.3.0",
3496
-          "resolved": "https://registry.npm.taobao.org/jsesc/download/jsesc-1.3.0.tgz?cache=0&sync_timestamp=1603891198638&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fjsesc%2Fdownload%2Fjsesc-1.3.0.tgz",
3497
-          "integrity": "sha1-RsP+yMGJKxKwgz25vHYiF226s0s=",
3498
-          "dev": true
3499
-        }
3500
-      }
3501
-    },
3502 3342
     "babel-helper-builder-react-jsx": {
3503 3343
       "version": "6.26.0",
3504 3344
       "resolved": "https://registry.npm.taobao.org/babel-helper-builder-react-jsx/download/babel-helper-builder-react-jsx-6.26.0.tgz",
@@ -3510,16 +3350,6 @@
3510 3350
         "esutils": "^2.0.2"
3511 3351
       }
3512 3352
     },
3513
-    "babel-helpers": {
3514
-      "version": "6.24.1",
3515
-      "resolved": "https://registry.npm.taobao.org/babel-helpers/download/babel-helpers-6.24.1.tgz",
3516
-      "integrity": "sha1-NHHenK7DiOXIUOWX5Yom3fN2ArI=",
3517
-      "dev": true,
3518
-      "requires": {
3519
-        "babel-runtime": "^6.22.0",
3520
-        "babel-template": "^6.24.1"
3521
-      }
3522
-    },
3523 3353
     "babel-loader": {
3524 3354
       "version": "8.0.6",
3525 3355
       "resolved": "https://registry.npm.taobao.org/babel-loader/download/babel-loader-8.0.6.tgz?cache=0&sync_timestamp=1605043140696&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fbabel-loader%2Fdownload%2Fbabel-loader-8.0.6.tgz",
@@ -3532,15 +3362,6 @@
3532 3362
         "pify": "^4.0.1"
3533 3363
       }
3534 3364
     },
3535
-    "babel-messages": {
3536
-      "version": "6.23.0",
3537
-      "resolved": "https://registry.npm.taobao.org/babel-messages/download/babel-messages-6.23.0.tgz",
3538
-      "integrity": "sha1-8830cDhYA1sqKVHG7F7fbGLyYw4=",
3539
-      "dev": true,
3540
-      "requires": {
3541
-        "babel-runtime": "^6.22.0"
3542
-      }
3543
-    },
3544 3365
     "babel-plugin-dynamic-import-node": {
3545 3366
       "version": "2.3.3",
3546 3367
       "resolved": "https://registry.npm.taobao.org/babel-plugin-dynamic-import-node/download/babel-plugin-dynamic-import-node-2.3.3.tgz",
@@ -3626,32 +3447,6 @@
3626 3447
         }
3627 3448
       }
3628 3449
     },
3629
-    "babel-register": {
3630
-      "version": "6.26.0",
3631
-      "resolved": "https://registry.npm.taobao.org/babel-register/download/babel-register-6.26.0.tgz",
3632
-      "integrity": "sha1-btAhFz4vy0htestFxgCahW9kcHE=",
3633
-      "dev": true,
3634
-      "requires": {
3635
-        "babel-core": "^6.26.0",
3636
-        "babel-runtime": "^6.26.0",
3637
-        "core-js": "^2.5.0",
3638
-        "home-or-tmp": "^2.0.0",
3639
-        "lodash": "^4.17.4",
3640
-        "mkdirp": "^0.5.1",
3641
-        "source-map-support": "^0.4.15"
3642
-      },
3643
-      "dependencies": {
3644
-        "source-map-support": {
3645
-          "version": "0.4.18",
3646
-          "resolved": "https://registry.npm.taobao.org/source-map-support/download/source-map-support-0.4.18.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fsource-map-support%2Fdownload%2Fsource-map-support-0.4.18.tgz",
3647
-          "integrity": "sha1-Aoam3ovkJkEzhZTpfM6nXwosWF8=",
3648
-          "dev": true,
3649
-          "requires": {
3650
-            "source-map": "^0.5.6"
3651
-          }
3652
-        }
3653
-      }
3654
-    },
3655 3450
     "babel-runtime": {
3656 3451
       "version": "6.26.0",
3657 3452
       "resolved": "https://registry.npm.taobao.org/babel-runtime/download/babel-runtime-6.26.0.tgz",
@@ -3668,59 +3463,6 @@
3668 3463
         }
3669 3464
       }
3670 3465
     },
3671
-    "babel-template": {
3672
-      "version": "6.26.0",
3673
-      "resolved": "https://registry.npm.taobao.org/babel-template/download/babel-template-6.26.0.tgz",
3674
-      "integrity": "sha1-3gPi0WOWsGn0bdn/+FIfsaDjXgI=",
3675
-      "dev": true,
3676
-      "requires": {
3677
-        "babel-runtime": "^6.26.0",
3678
-        "babel-traverse": "^6.26.0",
3679
-        "babel-types": "^6.26.0",
3680
-        "babylon": "^6.18.0",
3681
-        "lodash": "^4.17.4"
3682
-      }
3683
-    },
3684
-    "babel-traverse": {
3685
-      "version": "6.26.0",
3686
-      "resolved": "https://registry.npm.taobao.org/babel-traverse/download/babel-traverse-6.26.0.tgz",
3687
-      "integrity": "sha1-RqnL1+3MYsjlwGTi0tjQ9ANXZu4=",
3688
-      "dev": true,
3689
-      "requires": {
3690
-        "babel-code-frame": "^6.26.0",
3691
-        "babel-messages": "^6.23.0",
3692
-        "babel-runtime": "^6.26.0",
3693
-        "babel-types": "^6.26.0",
3694
-        "babylon": "^6.18.0",
3695
-        "debug": "^2.6.8",
3696
-        "globals": "^9.18.0",
3697
-        "invariant": "^2.2.2",
3698
-        "lodash": "^4.17.4"
3699
-      },
3700
-      "dependencies": {
3701
-        "debug": {
3702
-          "version": "2.6.9",
3703
-          "resolved": "https://registry.npm.taobao.org/debug/download/debug-2.6.9.tgz?cache=0&sync_timestamp=1605791507452&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fdebug%2Fdownload%2Fdebug-2.6.9.tgz",
3704
-          "integrity": "sha1-XRKFFd8TT/Mn6QpMk/Tgd6U2NB8=",
3705
-          "dev": true,
3706
-          "requires": {
3707
-            "ms": "2.0.0"
3708
-          }
3709
-        },
3710
-        "globals": {
3711
-          "version": "9.18.0",
3712
-          "resolved": "https://registry.npm.taobao.org/globals/download/globals-9.18.0.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fglobals%2Fdownload%2Fglobals-9.18.0.tgz",
3713
-          "integrity": "sha1-qjiWs+abSH8X4x7SFD1pqOMMLYo=",
3714
-          "dev": true
3715
-        },
3716
-        "ms": {
3717
-          "version": "2.0.0",
3718
-          "resolved": "https://registry.npm.taobao.org/ms/download/ms-2.0.0.tgz",
3719
-          "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=",
3720
-          "dev": true
3721
-        }
3722
-      }
3723
-    },
3724 3466
     "babel-types": {
3725 3467
       "version": "6.26.0",
3726 3468
       "resolved": "https://registry.npm.taobao.org/babel-types/download/babel-types-6.26.0.tgz",
@@ -3741,12 +3483,6 @@
3741 3483
         }
3742 3484
       }
3743 3485
     },
3744
-    "babylon": {
3745
-      "version": "6.18.0",
3746
-      "resolved": "https://registry.npm.taobao.org/babylon/download/babylon-6.18.0.tgz?cache=0&sync_timestamp=1593529713109&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fbabylon%2Fdownload%2Fbabylon-6.18.0.tgz",
3747
-      "integrity": "sha1-ry87iPpvXB5MY00aD46sT1WzleM=",
3748
-      "dev": true
3749
-    },
3750 3486
     "bail": {
3751 3487
       "version": "1.0.5",
3752 3488
       "resolved": "https://registry.npm.taobao.org/bail/download/bail-1.0.5.tgz",
@@ -5326,15 +5062,6 @@
5326 5062
       "integrity": "sha1-l4hXRCxEdJ5CBmE+N5RiBYJqvYA=",
5327 5063
       "dev": true
5328 5064
     },
5329
-    "detect-indent": {
5330
-      "version": "4.0.0",
5331
-      "resolved": "https://registry.npm.taobao.org/detect-indent/download/detect-indent-4.0.0.tgz",
5332
-      "integrity": "sha1-920GQ1LN9Docts5hnE7jqUdd4gg=",
5333
-      "dev": true,
5334
-      "requires": {
5335
-        "repeating": "^2.0.0"
5336
-      }
5337
-    },
5338 5065
     "detect-node": {
5339 5066
       "version": "2.0.4",
5340 5067
       "resolved": "https://registry.npm.taobao.org/detect-node/download/detect-node-2.0.4.tgz",
@@ -6714,8 +6441,7 @@
6714 6441
     "fast-deep-equal": {
6715 6442
       "version": "3.1.3",
6716 6443
       "resolved": "https://registry.npm.taobao.org/fast-deep-equal/download/fast-deep-equal-3.1.3.tgz?cache=0&sync_timestamp=1591599659970&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Ffast-deep-equal%2Fdownload%2Ffast-deep-equal-3.1.3.tgz",
6717
-      "integrity": "sha1-On1WtVnWy8PrUSMlJE5hmmXGxSU=",
6718
-      "dev": true
6444
+      "integrity": "sha1-On1WtVnWy8PrUSMlJE5hmmXGxSU="
6719 6445
     },
6720 6446
     "fast-glob": {
6721 6447
       "version": "2.2.7",
@@ -7713,16 +7439,6 @@
7713 7439
         "minimalistic-crypto-utils": "^1.0.1"
7714 7440
       }
7715 7441
     },
7716
-    "home-or-tmp": {
7717
-      "version": "2.0.0",
7718
-      "resolved": "https://registry.npm.taobao.org/home-or-tmp/download/home-or-tmp-2.0.0.tgz",
7719
-      "integrity": "sha1-42w/LSyufXRqhX440Y1fMqeILbg=",
7720
-      "dev": true,
7721
-      "requires": {
7722
-        "os-homedir": "^1.0.0",
7723
-        "os-tmpdir": "^1.0.1"
7724
-      }
7725
-    },
7726 7442
     "hosted-git-info": {
7727 7443
       "version": "2.8.8",
7728 7444
       "resolved": "https://registry.npm.taobao.org/hosted-git-info/download/hosted-git-info-2.8.8.tgz",
@@ -9194,7 +8910,8 @@
9194 8910
     "lodash": {
9195 8911
       "version": "4.17.20",
9196 8912
       "resolved": "https://registry.npm.taobao.org/lodash/download/lodash-4.17.20.tgz?cache=0&sync_timestamp=1597336125847&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Flodash%2Fdownload%2Flodash-4.17.20.tgz",
9197
-      "integrity": "sha1-tEqbYpe8tpjxxRo1RaKzs2jVnFI="
8913
+      "integrity": "sha1-tEqbYpe8tpjxxRo1RaKzs2jVnFI=",
8914
+      "dev": true
9198 8915
     },
9199 8916
     "lodash.clonedeep": {
9200 8917
       "version": "4.5.0",
@@ -11257,12 +10974,6 @@
11257 10974
         "renderkid": "^2.0.4"
11258 10975
       }
11259 10976
     },
11260
-    "private": {
11261
-      "version": "0.1.8",
11262
-      "resolved": "https://registry.npm.taobao.org/private/download/private-0.1.8.tgz",
11263
-      "integrity": "sha1-I4Hts2ifelPWUxkAYPz4ItLzaP8=",
11264
-      "dev": true
11265
-    },
11266 10977
     "process": {
11267 10978
       "version": "0.11.10",
11268 10979
       "resolved": "https://registry.npm.taobao.org/process/download/process-0.11.10.tgz",
@@ -14356,12 +14067,6 @@
14356 14067
       "integrity": "sha1-WIeWa7WCpFA6QetST301ARgVphM=",
14357 14068
       "dev": true
14358 14069
     },
14359
-    "trim-right": {
14360
-      "version": "1.0.1",
14361
-      "resolved": "https://registry.npm.taobao.org/trim-right/download/trim-right-1.0.1.tgz",
14362
-      "integrity": "sha1-yy4SAwZ+DI3h9hQJS5/kVwTqYAM=",
14363
-      "dev": true
14364
-    },
14365 14070
     "trim-trailing-lines": {
14366 14071
       "version": "1.1.4",
14367 14072
       "resolved": "https://registry.npm.taobao.org/trim-trailing-lines/download/trim-trailing-lines-1.1.4.tgz",

+ 5
- 1
src/app.config.js Прегледај датотеку

@@ -1,6 +1,6 @@
1 1
 export default {
2 2
   pages: [
3
-    'pages/WuYe/BaoXiuFeiYong/index', // 物业-报修费用
3
+    'pages/WoDe/GeRenXinXi/index', // 我的-个人信息
4 4
     'pages/ShouYe/index', // tab-首页
5 5
     'pages/ShouYe/HuoDong/index', // 首页-活动
6 6
     'pages/ShouYe/ZiXun/index', // 首页-资讯
@@ -11,8 +11,12 @@ export default {
11 11
     'pages/WuYe/BaoXiuQuYu/index', // 物业-报修区域
12 12
     'pages/WuYe/TianJiaBaoXiu/index', // 物业-添加报修
13 13
     'pages/WuYe/BaoXiuDetail/index', // 物业-报修详情
14
+    'pages/WuYe/BaoXiuFeiYong/index', // 物业-报修费用
15
+    'pages/WuYe/JiaoFeiDetail/index', // 物业-缴费详情
14 16
 
15 17
     'pages/HuoDong/index', // tab-活动
18
+    'pages/HuoDong/HuoDongDetail/index', // 活动-活动详情
19
+    'pages/HuoDong/ZiXunDetail/index', // 活动-资讯详情
16 20
 
17 21
     'pages/FuLi/index', // tab-福利
18 22
 

+ 22
- 6
src/assets/css/iconfont.less
Разлика између датотеке није приказан због своје велике величине
Прегледај датотеку


+ 20
- 32
src/components/ActivityListItem/index.jsx Прегледај датотеку

@@ -1,39 +1,27 @@
1
-import React, { Component } from 'react'
2
-import '../../assets/css/reset.less'
3
-import '../../assets/css/iconfont.less'
1
+import React, { useState } from 'react'
2
+import Taro from '@tarojs/taro'
3
+import '@/assets/css/reset.less'
4
+import '@/assets/css/iconfont.less'
4 5
 import './index.less'
5 6
 
6
-export default class Index extends Component {
7
+export default function ActivityListItem (props) {
7 8
 
8
-  state = {
9
-    TestImg: 'https://timgsa.baidu.com/timg?image&quality=80&size=b9999_10000&sec=1606120989360&di=8610f1678b51e26de6d4c6af39d1cf63&imgtype=0&src=http%3A%2F%2Fattachments.gfan.com%2Fforum%2F201503%2F19%2F211608ztcq7higicydxhsy.jpg'
10
-  }
9
+  const { Data } = props
11 10
 
12
-  componentWillMount () { }
11
+  const [TestImg, setTestImg] = useState('https://timgsa.baidu.com/timg?image&quality=80&size=b9999_10000&sec=1606120989360&di=8610f1678b51e26de6d4c6af39d1cf63&imgtype=0&src=http%3A%2F%2Fattachments.gfan.com%2Fforum%2F201503%2F19%2F211608ztcq7higicydxhsy.jpg')
13 12
 
14
-  componentDidMount () { }
15
-
16
-  componentWillUnmount () { }
17
-
18
-  componentDidShow () { }
19
-
20
-  componentDidHide () { }
21
-
22
-  render () {
23
-    const { TestImg } = this.state
24
-    return (
25
-      <view className='ActivityListItem'>
26
-        <view className='Img'>
27
-          <image mode='aspectFill' src={TestImg} className='centerLabel'></image>
28
-        </view>
29
-        <view className='Info flex-h'>
30
-          <view className='flex-item'>
31
-            <text>核销拼团</text>
32
-            <text>参与截止时间:2019年10月20日 10:00:00</text>
33
-          </view>
34
-          <text className='active'>未开始</text>
13
+  return (
14
+    <view className='ActivityListItem' onClick={() => { Taro.navigateTo({ url: `/pages/HuoDong/HuoDongDetail/index?id=` }) }}>
15
+      <view className='Img'>
16
+        <image mode='aspectFill' src={TestImg} className='centerLabel'></image>
17
+      </view>
18
+      <view className='Info flex-h'>
19
+        <view className='flex-item'>
20
+          <text>核销拼团</text>
21
+          <text>参与截止时间:2019年10月20日 10:00:00</text>
35 22
         </view>
36
-      </view >
37
-    )
38
-  }
23
+        <text className='active'>未开始</text>
24
+      </view>
25
+    </view >
26
+  )
39 27
 }

+ 17
- 31
src/components/NavHeader/index.jsx Прегледај датотеку

@@ -1,39 +1,25 @@
1
-import React, { Component } from 'react'
1
+import React, { useState } from 'react'
2 2
 import Taro from '@tarojs/taro'
3
-import '../../assets/css/reset.less'
4
-import '../../assets/css/iconfont.less'
3
+import '@/assets/css/reset.less'
4
+import '@/assets/css/iconfont.less'
5 5
 import './index.less'
6 6
 
7
-export default class NavHeader extends Component {
7
+export default function NavHeader (props) {
8 8
 
9
-  state = {
10
-    MarginTop: 0,
11
-    LineHeight: 0
9
+  const [MarginTop, setMarginTop] = useState(0)
10
+  const [LineHeight, setLineHeight] = useState(0)
11
+  const { BgColor = '#fff', IsFixed = false, Title = '香颂蔚澜' } = props
12
+  
13
+  if (MarginTop === 0) {
14
+    setMarginTop(Taro.getMenuButtonBoundingClientRect().top)
12 15
   }
13
-
14
-  componentWillMount () {
15
-    console.log(this.props.IsFixed)
16
-    this.setState({
17
-      MarginTop: Taro.getMenuButtonBoundingClientRect().top,
18
-      LineHeight: Taro.getMenuButtonBoundingClientRect().height
19
-    })
16
+  if (LineHeight === 0) {
17
+    setLineHeight(Taro.getMenuButtonBoundingClientRect().height)
20 18
   }
21 19
 
22
-  componentDidMount () { }
23
-
24
-  componentWillUnmount () { }
25
-
26
-  componentDidShow () { }
27
-
28
-  componentDidHide () { }
29
-
30
-  render () {
31
-    const { MarginTop, LineHeight } = this.state
32
-    const { BgColor = '#fff', IsFixed = false, Title = '香颂蔚澜' } = this.props
33
-    return (
34
-      <view className='NavHeader' style={{background: BgColor, position: IsFixed ? 'absolute' : 'relative'}}>
35
-        <text style={{marginTop: `${MarginTop}px`, lineHeight: `${LineHeight}px`}}>{Title}</text>
36
-      </view>
37
-    )
38
-  }
20
+  return (
21
+    <view className='NavHeader' style={{ background: BgColor, position: IsFixed ? 'absolute' : 'relative' }}>
22
+      <text style={{ marginTop: `${MarginTop}px`, lineHeight: `${LineHeight}px` }}>{Title}</text>
23
+    </view>
24
+  )
39 25
 }

+ 24
- 38
src/components/NewsListItem/index.jsx Прегледај датотеку

@@ -1,41 +1,27 @@
1
-import React, { Component } from 'react'
2
-import '../../assets/css/reset.less'
3
-import '../../assets/css/iconfont.less'
1
+import React, { useState } from 'react'
2
+import Taro from '@tarojs/taro'
3
+import '@/assets/css/reset.less'
4
+import '@/assets/css/iconfont.less'
4 5
 import './index.less'
5 6
 
6
-export default class NewsListItem extends Component {
7
-
8
-  state = {
9
-    TestImg: 'https://timgsa.baidu.com/timg?image&quality=80&size=b9999_10000&sec=1606120989360&di=8610f1678b51e26de6d4c6af39d1cf63&imgtype=0&src=http%3A%2F%2Fattachments.gfan.com%2Fforum%2F201503%2F19%2F211608ztcq7higicydxhsy.jpg'
10
-  }
11
-
12
-  componentWillMount () { }
13
-
14
-  componentDidMount () { }
15
-
16
-  componentWillUnmount () { }
17
-
18
-  componentDidShow () { }
19
-
20
-  componentDidHide () { }
21
-
22
-  render () {
23
-    const { TestImg } = this.state
24
-    const { ShowTips } = this.props
25
-    return (
26
-      <view className='NewsListItem flex-h'>
27
-        <view className='Img'>
28
-          <image mode='aspectFill' src={TestImg}></image>
29
-          {
30
-            ShowTips &&
31
-            <text>置顶</text>
32
-          }
33
-        </view>
34
-        <view className='Info flex-item'>
35
-          <text>破晓·内容生态下半场的版权之道—2019企业版权</text>
36
-          <text>于2019-12-12 14:20:30发布</text>
37
-        </view>
38
-      </view >
39
-    )
40
-  }
7
+export default function NewsListItem (props) {
8
+
9
+  const [TestImg, setTestImg] = useState('https://timgsa.baidu.com/timg?image&quality=80&size=b9999_10000&sec=1606120989360&di=8610f1678b51e26de6d4c6af39d1cf63&imgtype=0&src=http%3A%2F%2Fattachments.gfan.com%2Fforum%2F201503%2F19%2F211608ztcq7higicydxhsy.jpg')
10
+  const { ShowTips } = props
11
+
12
+  return (
13
+    <view className='NewsListItem flex-h' onClick={() => { Taro.navigateTo({ url: `/pages/HuoDong/ZiXunDetail/index?id=` }) }}>
14
+      <view className='Img'>
15
+        <image mode='aspectFill' src={TestImg}></image>
16
+        {
17
+          ShowTips &&
18
+          <text>置顶</text>
19
+        }
20
+      </view>
21
+      <view className='Info flex-item'>
22
+        <text>破晓·内容生态下半场的版权之道—2019企业版权</text>
23
+        <text>于2019-12-12 14:20:30发布</text>
24
+      </view>
25
+    </view >
26
+  )
41 27
 }

+ 24
- 0
src/components/SlidePopup/index.jsx Прегледај датотеку

@@ -0,0 +1,24 @@
1
+import React, { useState } from 'react'
2
+import '@/assets/css/reset.less'
3
+import '@/assets/css/iconfont.less'
4
+import './index.less'
5
+
6
+export default function SlidePopup (props) {
7
+
8
+  const { Close = () => { }, Show = false } = props
9
+
10
+  return (
11
+    <view className={Show ? 'SlidePopup active' : 'SlidePopup'}>
12
+      <view>
13
+        <view className='Title'>
14
+          <text className='iconfont iconguanbi1 Close' onClick={Close}></text>
15
+        </view>
16
+        <view className='PopupContent'>
17
+          {
18
+            props.children
19
+          }
20
+        </view>
21
+      </view>
22
+    </view>
23
+  )
24
+}

+ 57
- 0
src/components/SlidePopup/index.less Прегледај датотеку

@@ -0,0 +1,57 @@
1
+.SlidePopup {
2
+  width: 100%;
3
+  height: 100%;
4
+  position: fixed;
5
+  left: -100%;
6
+  top: 0;
7
+  z-index: 1000;
8
+  background: rgba(0, 0, 0, 0.8);
9
+  overflow: hidden;
10
+
11
+  &.active {
12
+    left: 0;
13
+
14
+    >view {
15
+      bottom: 0;
16
+    }
17
+  }
18
+
19
+  >view {
20
+    width: 100%;
21
+    position: absolute;
22
+    left: 0;
23
+    bottom: -100vh;
24
+    background: #fff;
25
+    border-radius: 40px 40px 0 0;
26
+    padding: 40px 0;
27
+    transition: all .3s linear;
28
+    -webkit-transition: all .3s linear;
29
+
30
+    >.Title {
31
+      padding: 0 30px;
32
+      position: relative;
33
+      overflow: hidden;
34
+      font-size: 0;
35
+      white-space: nowrap;
36
+      text-align: right;
37
+      z-index: 2;
38
+
39
+      >text {
40
+        display: inline-block;
41
+        vertical-align: middle;
42
+
43
+        &.Close {
44
+          font-size: 36px;
45
+          color: #666;
46
+        }
47
+      }
48
+    }
49
+
50
+    >.PopupContent {
51
+      width: 100%;
52
+      position: relative;
53
+      overflow: visible;
54
+      z-index: 1;
55
+    }
56
+  }
57
+}

+ 22
- 0
src/components/UploadImg/index.jsx Прегледај датотеку

@@ -0,0 +1,22 @@
1
+import React, { useState } from 'react'
2
+import '@/assets/css/reset.less'
3
+import '@/assets/css/iconfont.less'
4
+import './index.less'
5
+
6
+export default function UploadImg (props) {
7
+
8
+  return (
9
+    <view className='UploadImg'>
10
+      <view className='Add'>
11
+        <view className='centerLabel'>
12
+          <text className='iconfont iconxiangji'></text>
13
+          <text>添加照片</text>
14
+        </view>
15
+      </view>
16
+      <view className='ImgItem'>
17
+        <text className='iconfont iconguanbi'></text>
18
+        <image mode='aspectFit' src={null}></image>
19
+      </view>
20
+    </view>
21
+  )
22
+}

+ 58
- 0
src/components/UploadImg/index.less Прегледај датотеку

@@ -0,0 +1,58 @@
1
+.UploadImg {
2
+  position: relative;
3
+  overflow: hidden;
4
+  font-size: 0;
5
+
6
+  >view {
7
+    display: inline-block;
8
+    vertical-align: middle;
9
+    position: relative;
10
+    overflow: hidden;
11
+    width: 150px;
12
+    height: 150px;
13
+    margin-right: 20px;
14
+    margin-top: 20px;
15
+
16
+    &.Add {
17
+
18
+      >view {
19
+        width: 100%;
20
+
21
+        >text {
22
+          display: block;
23
+          width: 100%;
24
+          text-align: center;
25
+          font-size: 28px;
26
+          color: #999;
27
+          line-height: 40px;
28
+
29
+          &:first-child {
30
+            font-size: 80px;
31
+            line-height: 100px;
32
+          }
33
+        }
34
+      }
35
+    }
36
+
37
+    &.ImgItem {
38
+      background: #f8f8f8;
39
+
40
+      >image {
41
+        position: relative;
42
+        z-index: 1;
43
+        width: 100%;
44
+        height: 100%;
45
+      }
46
+
47
+      >text {
48
+        display: inline-block;
49
+        z-index: 2;
50
+        font-size: 40px;
51
+        position: absolute;
52
+        right: 0;
53
+        top: 0;
54
+        color: red;
55
+      }
56
+    }
57
+  }
58
+}

+ 24
- 39
src/components/WuYeJiaoFei/index.jsx Прегледај датотеку

@@ -1,48 +1,33 @@
1
-import React, { Component } from 'react'
1
+import React, { useState } from 'react'
2 2
 import WuYeJiaoFeiItem from '../WuYeJiaoFeiItem/index'
3
-import '../../assets/css/reset.less'
4
-import '../../assets/css/iconfont.less'
3
+import '@/assets/css/reset.less'
4
+import '@/assets/css/iconfont.less'
5 5
 import './index.less'
6 6
 
7
-export default class WuYeJiaoFei extends Component {
7
+export default function WuYeJiaoFei () {
8 8
 
9
-  state = {
10
-    PageList: ['', '', '', '', '', '', ''],
11
-    TestImg: 'https://timgsa.baidu.com/timg?image&quality=80&size=b9999_10000&sec=1606120989360&di=8610f1678b51e26de6d4c6af39d1cf63&imgtype=0&src=http%3A%2F%2Fattachments.gfan.com%2Fforum%2F201503%2F19%2F211608ztcq7higicydxhsy.jpg'
12
-  }
9
+  const [PageList, setPageList] = useState(['', '', '', '', '', '', ''])
10
+  const [TestImg, setTestImg] = useState('https://timgsa.baidu.com/timg?image&quality=80&size=b9999_10000&sec=1606120989360&di=8610f1678b51e26de6d4c6af39d1cf63&imgtype=0&src=http%3A%2F%2Fattachments.gfan.com%2Fforum%2F201503%2F19%2F211608ztcq7higicydxhsy.jpg')
13 11
 
14
-  componentWillMount () { }
12
+  return (
13
+    <view className='WuYeJiaoFei'>
15 14
 
16
-  componentDidMount () { }
17
-
18
-  componentWillUnmount () { }
19
-
20
-  componentDidShow () { }
21
-
22
-  componentDidHide () { }
23
-
24
-  render () {
25
-    const { TestImg, PageList } = this.state
26
-    return (
27
-      <view className='WuYeJiaoFei'>
28
-
29
-        {/* 大图 */}
30
-        <view className='BigImg'>
31
-          <image mode='aspectFill' src={TestImg} className='centerLabel'></image>
32
-        </view>
33
-
34
-        {/* 缴费列表 */}
35
-        <view className='List'>
36
-          {
37
-            PageList.map((item, index) => (
38
-              <view key={`WuYeJiaoFeiItem-${index}`}>
39
-                <WuYeJiaoFeiItem Data={item}></WuYeJiaoFeiItem>
40
-              </view>
41
-            ))
42
-          }
43
-        </view>
15
+      {/* 大图 */}
16
+      <view className='BigImg'>
17
+        <image mode='aspectFill' src={TestImg} className='centerLabel'></image>
18
+      </view>
44 19
 
20
+      {/* 缴费列表 */}
21
+      <view className='List'>
22
+        {
23
+          PageList.map((item, index) => (
24
+            <view key={`WuYeJiaoFeiItem-${index}`}>
25
+              <WuYeJiaoFeiItem Data={item}></WuYeJiaoFeiItem>
26
+            </view>
27
+          ))
28
+        }
45 29
       </view>
46
-    )
47
-  }
30
+
31
+    </view>
32
+  )
48 33
 }

+ 28
- 42
src/components/WuYeJiaoFeiItem/index.jsx Прегледај датотеку

@@ -1,50 +1,36 @@
1
-import React, { Component } from 'react'
2
-import '../../assets/css/reset.less'
3
-import '../../assets/css/iconfont.less'
1
+import React, { useState } from 'react'
2
+import Taro from '@tarojs/taro'
3
+import '@/assets/css/reset.less'
4
+import '@/assets/css/iconfont.less'
4 5
 import './index.less'
5 6
 
6
-export default class WuYeJiaoFeiItem extends Component {
7
+export default function WuYeJiaoFeiItem (props) {
7 8
 
8
-  state = {
9
+  const { Data } = props
9 10
 
10
-  }
11
-
12
-  componentWillMount () { }
13
-
14
-  componentDidMount () { }
15
-
16
-  componentWillUnmount () { }
17
-
18
-  componentDidShow () { }
19
-
20
-  componentDidHide () { }
21
-
22
-  render () {
23
-    const { } = this.state
24
-    return (
25
-      <view className='WuYeJiaoFeiItem'>
26
-        <view className='Title flex-h'>
27
-          <text className='flex-item'>物业费</text>
28
-          <text>2020/06/08  0:00截止</text>
11
+  return (
12
+    <view className='WuYeJiaoFeiItem' onClick={() => { Taro.navigateTo({ url: `/pages/WuYe/JiaoFeiDetail/index?id=${Data.id}` }) }}>
13
+      <view className='Title flex-h'>
14
+        <text className='flex-item'>物业费</text>
15
+        <text>2020/06/08  0:00截止</text>
16
+      </view>
17
+      <view className='JiaoFeiContent'>
18
+        <view className='Name flex-h'>
19
+          <text className='flex-item'>2020年5月物业管理费</text>
20
+          <text>剩余缴费时间</text>
21
+          <text className='Num'>3</text>
22
+          <text>天</text>
29 23
         </view>
30
-        <view className='JiaoFeiContent'>
31
-          <view className='Name flex-h'>
32
-            <text className='flex-item'>2020年5月物业管理费</text>
33
-            <text>剩余缴费时间</text>
34
-            <text className='Num'>3</text>
35
-            <text>天</text>
36
-          </view>
37
-          <text>垃圾费:300元</text>
38
-          <text>电费:300.83元</text>
39
-          <text>物业费:300元</text>
40
-          <view className='Price flex-h'>
41
-            <text className='Num'>340</text>
42
-            <text>元</text>
43
-            <view className='flex-item'></view>
44
-            <text className='Btn'>立即缴费</text>
45
-          </view>
24
+        <text>垃圾费:300元</text>
25
+        <text>电费:300.83元</text>
26
+        <text>物业费:300元</text>
27
+        <view className='Price flex-h'>
28
+          <text className='Num'>340</text>
29
+          <text>元</text>
30
+          <view className='flex-item'></view>
31
+          <text className='Btn'>立即缴费</text>
46 32
         </view>
47 33
       </view>
48
-    )
49
-  }
34
+    </view>
35
+  )
50 36
 }

+ 8
- 20
src/components/demo/index.jsx Прегледај датотеку

@@ -1,25 +1,13 @@
1
-import React, { Component } from 'react'
2
-import '../../assets/css/reset.less'
3
-import '../../assets/css/iconfont.less'
1
+import React, { useState } from 'react'
2
+import '@/assets/css/reset.less'
3
+import '@/assets/css/iconfont.less'
4 4
 import './index.less'
5 5
 
6
-export default class Demo extends Component {
6
+export default function demo (props) {
7 7
 
8
-  componentWillMount () { }
8
+  return (
9
+    <view className='demo'>
9 10
 
10
-  componentDidMount () { }
11
-
12
-  componentWillUnmount () { }
13
-
14
-  componentDidShow () { }
15
-
16
-  componentDidHide () { }
17
-
18
-  render () {
19
-    return (
20
-      <view className='Demo'>
21
-
22
-      </view>
23
-    )
24
-  }
11
+    </view>
12
+  )
25 13
 }

+ 3
- 0
src/pages/HuoDong/HuoDongDetail/index.config.js Прегледај датотеку

@@ -0,0 +1,3 @@
1
+export default {
2
+  navigationBarTitleText: '活动详情'
3
+}

+ 46
- 0
src/pages/HuoDong/HuoDongDetail/index.jsx Прегледај датотеку

@@ -0,0 +1,46 @@
1
+import React, { useState } from 'react'
2
+import Taro, { Current } from '@tarojs/taro'
3
+import { RichText } from '@tarojs/components'
4
+import '@/assets/css/reset.less'
5
+import '@/assets/css/iconfont.less'
6
+import './index.less'
7
+
8
+export default function HuoDongDetail (props) {
9
+
10
+  const CurrnetHuoDongId = Current.router.params.id
11
+
12
+  return (
13
+    <view className='HuoDongDetail'>
14
+      <view className='BannerLayer'></view>
15
+      <view className='Banner'>
16
+        <image mode='aspectFill' src={null} className='centerLabel'></image>
17
+      </view>
18
+      <view className='Info'>
19
+        <view className='MainInfo'>
20
+          <text className='Name'>业主拔河比赛正式开始了~</text>
21
+          <text className='Tips'>17人已报名</text>
22
+          <view className='flex-h'>
23
+            <text>活动时间:</text>
24
+            <view className='flex-item'>2019-08 08 12:00:00 <text>限100人</text></view>
25
+          </view>
26
+          <view className='flex-h'>
27
+            <text>活动地址:</text>
28
+            <view className='flex-item'>江苏省南京市秦淮区</view>
29
+          </view>
30
+          <view className='flex-h'>
31
+            <text>报名截止:</text>
32
+            <view className='flex-item'>2020-09-09 08:00:00</view>
33
+          </view>
34
+        </view>
35
+
36
+        <view className='Desc'>
37
+          <text>活动介绍</text>
38
+          <RichText nodes={null}></RichText>
39
+        </view>
40
+
41
+        <text className='BottomBtn'>立即参加</text>
42
+
43
+      </view>
44
+    </view>
45
+  )
46
+}

+ 122
- 0
src/pages/HuoDong/HuoDongDetail/index.less Прегледај датотеку

@@ -0,0 +1,122 @@
1
+.HuoDongDetail {
2
+  width: 100%;
3
+  min-height: 100vh;
4
+  position: relative;
5
+
6
+  >.BannerLayer {
7
+    width: 100%;
8
+    padding-bottom: 75.2%;
9
+    background: #ccc;
10
+    position: relative;
11
+    z-index: 2;
12
+  }
13
+
14
+  >.Banner {
15
+    width: 100%;
16
+    padding-bottom: 75.2%;
17
+    background: #ccc;
18
+    position: fixed;
19
+    z-index: 1;
20
+    left: 0;
21
+    top: 0;
22
+    overflow: hidden;
23
+
24
+    >image {
25
+      width: 100%;
26
+      height: 100%;
27
+    }
28
+  }
29
+
30
+  >.Info {
31
+    padding: 30px;
32
+    position: relative;
33
+    overflow: hidden;
34
+    z-index: 3;
35
+    border-radius: 40px 40px 0 0;
36
+    margin-top: -30px;
37
+    background: #fff;
38
+
39
+    >.MainInfo {
40
+      position: relative;
41
+      overflow: visible;
42
+      padding-bottom: 40px;
43
+      border-bottom: 2px solid rgba(0, 0, 0, 0.08);
44
+
45
+      >.Name {
46
+        font-size: 30px;
47
+        font-weight: bold;
48
+        color: #333;
49
+        line-height: 40px;
50
+        width: 100%;
51
+        display: block;
52
+        margin-top: 10px;
53
+        position: relative;
54
+        z-index: 1;
55
+      }
56
+
57
+      >.Tips {
58
+        display: inline-block;
59
+        font-size: 28px;
60
+        color: #F35844;
61
+        position: absolute;
62
+        z-index: 2;
63
+        right: -30px;
64
+        top: -40px;
65
+        background: rgba(243, 88, 68, 0.2);
66
+        padding: 0 20px;
67
+        line-height: 58px;
68
+        border-radius: 0 0 0 40px;
69
+      }
70
+
71
+      >.flex-h {
72
+        align-items: center;
73
+        margin-top: 20px;
74
+
75
+        >text {
76
+          font-size: 28px;
77
+          color: #333;
78
+          line-height: 40px;
79
+          margin-right: 10px;
80
+        }
81
+
82
+        >view {
83
+          font-size: 28px;
84
+          color: #333;
85
+          line-height: 40px;
86
+
87
+          >text {
88
+            font-size: 28px;
89
+            color: #F35844;
90
+            line-height: 40px;
91
+          }
92
+        }
93
+      }
94
+    }
95
+
96
+    >.Desc {
97
+      position: relative;
98
+      overflow: hidden;
99
+      margin-top: 140px;
100
+
101
+      >text {
102
+        font-size: 34px;
103
+        width: 100%;
104
+        display: block;
105
+        text-align: center;
106
+        color: #333;
107
+        line-height: 40px;
108
+      }
109
+    }
110
+
111
+    >.BottomBtn {
112
+      width: 100%;
113
+      display: block;
114
+      text-align: center;
115
+      color: #fff;
116
+      line-height: 98px;
117
+      border-radius: 98px;
118
+      background: #F35844;
119
+      margin-top: 60px;
120
+    }
121
+  }
122
+}

+ 3
- 0
src/pages/HuoDong/ZiXunDetail/index.config.js Прегледај датотеку

@@ -0,0 +1,3 @@
1
+export default {
2
+  navigationBarTitleText: '资讯详情'
3
+}

+ 16
- 0
src/pages/HuoDong/ZiXunDetail/index.jsx Прегледај датотеку

@@ -0,0 +1,16 @@
1
+import React, { useState } from 'react'
2
+import Taro, { Current } from '@tarojs/taro'
3
+import '@/assets/css/reset.less'
4
+import '@/assets/css/iconfont.less'
5
+import './index.less'
6
+
7
+export default function ZiXunDetail (props) {
8
+
9
+  const CurrnetZiXunId = Current.router.params.id
10
+
11
+  return (
12
+    <view className='ZiXunDetail'>
13
+      
14
+    </view>
15
+  )
16
+}

+ 5
- 0
src/pages/HuoDong/ZiXunDetail/index.less Прегледај датотеку

@@ -0,0 +1,5 @@
1
+.ZiXunDetail {
2
+  width: 100%;
3
+  min-height: 100vh;
4
+  position: relative;
5
+}

+ 58
- 91
src/pages/HuoDong/index.jsx Прегледај датотеку

@@ -1,111 +1,78 @@
1
-import React, { Component } from 'react'
2
-// import { View, Text } from '@tarojs/components'
3
-import TabPageCutNav from '../../components/TabPageCutNav/index'
4
-import NavHeader from '../../components/NavHeader/index'
5
-import ActivityListItem from '../../components/ActivityListItem/index'
6
-import NewsListItem from '../../components/NewsListItem/index'
7
-import '../../assets/css/reset.less'
8
-import '../../assets/css/iconfont.less'
1
+import React, { useState } from 'react'
2
+import TabPageCutNav from '@/components/TabPageCutNav/index'
3
+import NavHeader from '@/components/NavHeader/index'
4
+import ActivityListItem from '@/components/ActivityListItem/index'
5
+import NewsListItem from '@/components/NewsListItem/index'
6
+import '@/assets/css/reset.less'
7
+import '@/assets/css/iconfont.less'
9 8
 import './index.less'
10 9
 
11
-export default class HuoDong extends Component {
10
+export default function HuoDong (props) {
12 11
 
13
-  state = {
14
-    TestImg: 'https://timgsa.baidu.com/timg?image&quality=80&size=b9999_10000&sec=1606120989360&di=8610f1678b51e26de6d4c6af39d1cf63&imgtype=0&src=http%3A%2F%2Fattachments.gfan.com%2Fforum%2F201503%2F19%2F211608ztcq7higicydxhsy.jpg',
15
-    NavList: [
16
-      { name: '活动', id: 1 },
17
-      { name: '资讯', id: 2 }
18
-    ],
19
-    CurrentNavId: 1,
20
-    IsPull: false,
21
-    ActivityList: ['', '', '', '', '', '', '', ''],
22
-    NewsList: ['', '', '', '', '', '', '', '']
23
-    // DataLock: false,
24
-    // PageList: [],
25
-    // PageData: {
26
-    //   pageNum: 1,
27
-    //   pageSize: 10
28
-    // },
29
-    // HasNextPage: true
30
-  }
31
-
32
-  componentWillMount () { }
33
-
34
-  componentDidMount () { }
35
-
36
-  componentWillUnmount () { }
37
-
38
-  componentDidShow () { }
39
-
40
-  componentDidHide () { }
12
+  const [CurrentNavId, setCurrentNavId] = useState(1)
13
+  const [TestImg, setTestImg] = useState('https://timgsa.baidu.com/timg?image&quality=80&size=b9999_10000&sec=1606120989360&di=8610f1678b51e26de6d4c6af39d1cf63&imgtype=0&src=http%3A%2F%2Fattachments.gfan.com%2Fforum%2F201503%2F19%2F211608ztcq7higicydxhsy.jpg')
14
+  const [NavList, setNavList] = useState([{ name: '活动', id: 1 }, { name: '资讯', id: 2 }])
15
+  const [IsPull, setIsPull] = useState(false)
16
+  const [ActivityList, setActivityList] = useState(['', '', '', '', '', '', '', ''])
17
+  const [NewsList, setNewsList] = useState(['', '', '', '', '', '', '', ''])
41 18
 
42
-  NavChange (e) {
19
+  const NavChange = (e) => {
43 20
     return () => {
44
-      this.setState({
45
-        CurrentNavId: e.id
46
-      })
21
+      setCurrentNavId(e.id)
47 22
     }
48 23
   }
49 24
 
50
-  OnRefresh () {
51
-    this.setState({
52
-      IsPull: true
53
-    }, () => {
54
-      window.setTimeout(() => {
55
-        this.setState({
56
-          IsPull: false
57
-        })
58
-      }, 1000)
59
-    })
25
+  const OnRefresh = () => {
26
+    setIsPull(true)
27
+    window.setTimeout(() => {
28
+      setIsPull(false)
29
+    }, 1000)
60 30
   }
61 31
 
62
-  render () {
63
-    const { CurrentNavId, NavList, IsPull, ActivityList, NewsList, TestImg } = this.state
64
-    return (
65
-      <view className='HuoDong flex-v'>
66
-        <NavHeader BgColor='none' Title='活动' IsFixed={true}></NavHeader>
67
-        <TabPageCutNav List={NavList} CurrentNavId={CurrentNavId} NavChange={this.NavChange.bind(this)}></TabPageCutNav>
68
-        <view className='flex-item'>
69
-          <view>
70
-            <scroll-view scroll-y='true' style='height: 100%;' refresher-enabled={true} onrefresherrefresh={this.OnRefresh.bind(this)} refresher-triggered={IsPull} refresher-background='none'>
32
+  return (
33
+    <view className='HuoDong flex-v'>
34
+      <NavHeader BgColor='none' Title='活动' IsFixed={true}></NavHeader>
35
+      <TabPageCutNav List={NavList} CurrentNavId={CurrentNavId} NavChange={NavChange}></TabPageCutNav>
36
+      <view className='flex-item'>
37
+        <view>
38
+          <scroll-view scroll-y='true' style='height: 100%;' refresher-enabled={true} onrefresherrefresh={OnRefresh} refresher-triggered={IsPull} refresher-background='none'>
71 39
 
72
-              {/* 活动 */}
73
-              {
74
-                CurrentNavId - 0 === 1 &&
75
-                <view className='Content Activity'>
40
+            {/* 活动 */}
41
+            {
42
+              CurrentNavId - 0 === 1 &&
43
+              <view className='Content Activity'>
44
+                {
45
+                  ActivityList.map((item, index) => (
46
+                    <view className='ListItem' key={`ActivityItem-${index}`}>
47
+                      <ActivityListItem Data={item}></ActivityListItem>
48
+                    </view>
49
+                  ))
50
+                }
51
+              </view>
52
+            }
53
+
54
+            {/* 资讯 */}
55
+            {
56
+              CurrentNavId - 0 === 2 &&
57
+              <view className='Content News'>
58
+                <view className='BigImg'>
59
+                  <image mode='aspectFill' src={TestImg} class='centerLabel'></image>
60
+                </view>
61
+                <view className='List'>
76 62
                   {
77
-                    ActivityList.map((item, index) => (
78
-                      <view className='ListItem' key={`ActivityItem-${index}`}>
79
-                        <ActivityListItem Data={item}></ActivityListItem>
63
+                    NewsList.map((item, index) => (
64
+                      <view className='ListItem' key={`NewsItem-${index}`}>
65
+                        <NewsListItem Data={item} ShowTips={index === 0}></NewsListItem>
80 66
                       </view>
81 67
                     ))
82 68
                   }
83 69
                 </view>
84
-              }
70
+              </view>
71
+            }
85 72
 
86
-              {/* 资讯 */}
87
-              {
88
-                CurrentNavId - 0 === 2 &&
89
-                <view className='Content News'>
90
-                  <view className='BigImg'>
91
-                    <image mode='aspectFill' src={TestImg} class='centerLabel'></image>
92
-                  </view>
93
-                  <view className='List'>
94
-                    {
95
-                      NewsList.map((item, index) => (
96
-                        <view className='ListItem' key={`NewsItem-${index}`}>
97
-                          <NewsListItem Data={item} ShowTips={index === 0}></NewsListItem>
98
-                        </view>
99
-                      ))
100
-                    }
101
-                  </view>
102
-                </view>
103
-              }
104
-
105
-            </scroll-view>
106
-          </view>
73
+          </scroll-view>
107 74
         </view>
108 75
       </view>
109
-    )
110
-  }
76
+    </view>
77
+  )
111 78
 }

+ 3
- 0
src/pages/WoDe/GeRenXinXi/index.config.js Прегледај датотеку

@@ -0,0 +1,3 @@
1
+export default {
2
+  navigationBarTitleText: '个人信息'
3
+}

+ 13
- 0
src/pages/WoDe/GeRenXinXi/index.jsx Прегледај датотеку

@@ -0,0 +1,13 @@
1
+import React, { useState } from 'react'
2
+import '@/assets/css/reset.less'
3
+import '@/assets/css/iconfont.less'
4
+import './index.less'
5
+
6
+export default function GeRenXinXi (props) {
7
+
8
+  return (
9
+    <view className='GeRenXinXi'>
10
+      
11
+    </view>
12
+  )
13
+}

src/pages/WuYe/FuWuDetail/index.css → src/pages/WoDe/GeRenXinXi/index.less Прегледај датотеку

@@ -1,6 +1,6 @@
1
-.WuYeFuWuDetail {
1
+.GeRenXinXi {
2 2
   width: 100%;
3
-  height: 100%;
3
+  min-height: 100%;
4 4
   position: relative;
5 5
   background: #f8f8f8;
6
-}
6
+}

+ 0
- 113
src/pages/WoDe/index.css Прегледај датотеку

@@ -1,113 +0,0 @@
1
-.WoDe {
2
-  width: 100%;
3
-  height: 100%;
4
-  position: relative;
5
-  background: #fff;
6
-}
7
-.WoDe .WoDeContent {
8
-  width: 100%;
9
-  position: relative;
10
-  overflow: hidden;
11
-}
12
-.WoDe .WoDeContent > .TopBg {
13
-  width: 400vw;
14
-  height: 400vw;
15
-  position: relative;
16
-  overflow: hidden;
17
-  border-radius: 100%;
18
-  margin-left: -150vw;
19
-  margin-top: -340vw;
20
-}
21
-.WoDe .WoDeContent > .TopBg > .ColorBg {
22
-  width: 100%;
23
-  position: absolute;
24
-  left: 0;
25
-  bottom: 0;
26
-  height: 60vw;
27
-  z-index: 1;
28
-  background-image: linear-gradient(#F35844, #ff8d61);
29
-}
30
-.WoDe .WoDeContent > .TopBg > .UserInfo {
31
-  position: absolute;
32
-  left: 50%;
33
-  transform: translateX(-50%);
34
-  -webkit-transform: translateX(-50%);
35
-  bottom: 60px;
36
-  z-index: 2;
37
-  width: 100vw;
38
-  align-items: center;
39
-}
40
-.WoDe .WoDeContent > .TopBg > .UserInfo > .Icon {
41
-  width: 196px;
42
-  height: 196px;
43
-  border-radius: 100%;
44
-  position: relative;
45
-  overflow: hidden;
46
-  background-color: #fff;
47
-  margin-right: 40px;
48
-  margin-left: 30px;
49
-}
50
-.WoDe .WoDeContent > .TopBg > .UserInfo > .Icon > image {
51
-  width: 100%;
52
-  height: 100%;
53
-}
54
-.WoDe .WoDeContent > .TopBg > .UserInfo > .flex-item {
55
-  position: relative;
56
-  overflow: hidden;
57
-}
58
-.WoDe .WoDeContent > .TopBg > .UserInfo > .flex-item > text {
59
-  display: block;
60
-  white-space: nowrap;
61
-  font-size: 30px;
62
-  color: #333;
63
-  line-height: 40px;
64
-  overflow: hidden;
65
-  text-overflow: ellipsis;
66
-}
67
-.WoDe .WoDeContent > .TopBg > .UserInfo > .flex-item > text:first-child {
68
-  font-size: 34px;
69
-  margin-bottom: 30px;
70
-}
71
-.WoDe .WoDeContent > .TopBg > .UserInfo > text {
72
-  font-size: 30px;
73
-  line-height: 58px;
74
-  border: 2px solid #000;
75
-  border-radius: 8px;
76
-  padding: 0 20px;
77
-  margin-right: 30px;
78
-}
79
-.WoDe .WoDeContent > .UserTab {
80
-  padding: 30px 0;
81
-  margin-top: 20px;
82
-  position: relative;
83
-  overflow: hidden;
84
-}
85
-.WoDe .WoDeContent > .UserTab > .Line {
86
-  width: 100%;
87
-  height: 20px;
88
-  background-color: #f8f8f8;
89
-}
90
-.WoDe .WoDeContent > .UserTab > .flex-h {
91
-  padding: 0 30px;
92
-  align-items: center;
93
-}
94
-.WoDe .WoDeContent > .UserTab > .flex-h > text {
95
-  font-size: 44px;
96
-  color: #F35844;
97
-  margin-right: 20px;
98
-}
99
-.WoDe .WoDeContent > .UserTab > .flex-h > view {
100
-  align-items: center;
101
-  border-bottom: 2px solid #f8f8f8;
102
-}
103
-.WoDe .WoDeContent > .UserTab > .flex-h > view > text {
104
-  font-size: 32px;
105
-  color: #999;
106
-  line-height: 100px;
107
-  margin-left: 20px;
108
-  overflow: hidden;
109
-}
110
-.WoDe .WoDeContent > .UserTab > .flex-h > view > text:first-child {
111
-  margin-left: 0;
112
-  color: #333;
113
-}

+ 3
- 3
src/pages/WoDe/index.jsx Прегледај датотеку

@@ -1,7 +1,7 @@
1 1
 import React, { useState } from 'react'
2
-import NavHeader from '../../components/NavHeader/index'
3
-import '../../assets/css/reset.less'
4
-import '../../assets/css/iconfont.less'
2
+import NavHeader from '@/components/NavHeader/index'
3
+import '@/assets/css/reset.less'
4
+import '@/assets/css/iconfont.less'
5 5
 import './index.less'
6 6
 
7 7
 export default function WoDe (props) {

+ 0
- 173
src/pages/WuYe/BaoXiuDetail/index.css Прегледај датотеку

@@ -1,173 +0,0 @@
1
-.BaoXiuDetail {
2
-  width: 100%;
3
-  min-height: 100%;
4
-  position: relative;
5
-  background: #f8f8f8;
6
-}
7
-.BaoXiuDetail > .TopLine {
8
-  width: 100%;
9
-  height: 20px;
10
-  background-color: #f8f8f8;
11
-  background: #f8f8f8;
12
-}
13
-.BaoXiuDetail > .TopInfo {
14
-  padding: 0 30px;
15
-  background: #fff;
16
-  position: relative;
17
-  overflow: hidden;
18
-}
19
-.BaoXiuDetail > .TopInfo > .flex-h {
20
-  align-items: center;
21
-  border-top: 2px solid rgba(0, 0, 0, 0.08);
22
-}
23
-.BaoXiuDetail > .TopInfo > .flex-h:first-child {
24
-  border-top: none;
25
-}
26
-.BaoXiuDetail > .TopInfo > .flex-h:first-child > text:first-child {
27
-  color: #333;
28
-  font-weight: bold;
29
-  font-size: 32px;
30
-}
31
-.BaoXiuDetail > .TopInfo > .flex-h > text {
32
-  font-size: 28px;
33
-  color: #999;
34
-  line-height: 98px;
35
-  white-space: nowrap;
36
-  overflow: hidden;
37
-  text-overflow: ellipsis;
38
-}
39
-.BaoXiuDetail > .TopInfo > .flex-h > text:first-child {
40
-  margin-right: 20px;
41
-}
42
-.BaoXiuDetail > .Detail {
43
-  padding: 0 30px;
44
-  background: #fff;
45
-  position: relative;
46
-  overflow: hidden;
47
-  margin-top: 20px;
48
-  padding-bottom: 40px;
49
-}
50
-.BaoXiuDetail > .Detail > text {
51
-  display: block;
52
-  width: 100%;
53
-  font-size: 30px;
54
-  color: #333;
55
-  font-weight: bold;
56
-  line-height: 98px;
57
-  border-bottom: 2px solid rgba(0, 0, 0, 0.08);
58
-}
59
-.BaoXiuDetail > .Detail > .flex-h {
60
-  margin-top: 40px;
61
-  margin-bottom: 40px;
62
-}
63
-.BaoXiuDetail > .Detail > .flex-h > .Line {
64
-  width: 50px;
65
-  position: relative;
66
-  overflow: visible;
67
-  border-left: 2px dashed #F35844;
68
-}
69
-.BaoXiuDetail > .Detail > .flex-h > .Line > view {
70
-  width: 14px;
71
-  height: 14px;
72
-  background: #F35844;
73
-  border-radius: 100%;
74
-  position: absolute;
75
-  left: -8px;
76
-  top: 30px;
77
-}
78
-.BaoXiuDetail > .Detail > .flex-h > .flex-item {
79
-  position: relative;
80
-  overflow: visible;
81
-  background: rgba(243, 88, 68, 0.08);
82
-  padding: 20px;
83
-}
84
-.BaoXiuDetail > .Detail > .flex-h > .flex-item::after {
85
-  content: '';
86
-  width: 0;
87
-  height: 0;
88
-  display: block;
89
-  position: absolute;
90
-  left: -40px;
91
-  top: 16px;
92
-  border-color: transparent rgba(243, 88, 68, 0.08) transparent transparent;
93
-  border-style: solid dashed solid solid;
94
-  border-width: 20px;
95
-}
96
-.BaoXiuDetail > .Detail > .flex-h > .flex-item > view {
97
-  width: 100%;
98
-  position: relative;
99
-  overflow: hidden;
100
-}
101
-.BaoXiuDetail > .Detail > .flex-h > .flex-item > view > .StepList {
102
-  position: relative;
103
-  overflow: hidden;
104
-  margin-bottom: 40px;
105
-}
106
-.BaoXiuDetail > .Detail > .flex-h > .flex-item > view > .StepList > .Title {
107
-  align-items: center;
108
-}
109
-.BaoXiuDetail > .Detail > .flex-h > .flex-item > view > .StepList > .Title > text {
110
-  font-size: 24px;
111
-  color: #999;
112
-  line-height: 40px;
113
-  overflow: hidden;
114
-  white-space: nowrap;
115
-  text-overflow: ellipsis;
116
-}
117
-.BaoXiuDetail > .Detail > .flex-h > .flex-item > view > .StepList > .Title > text.Red {
118
-  color: #F35844;
119
-}
120
-.BaoXiuDetail > .Detail > .flex-h > .flex-item > view > .StepList > .Title > text.Green {
121
-  color: #14DC05;
122
-}
123
-.BaoXiuDetail > .Detail > .flex-h > .flex-item > view > .StepList > .Title > text.Blue {
124
-  color: #77A5F0;
125
-}
126
-.BaoXiuDetail > .Detail > .flex-h > .flex-item > view > .StepList > .Text {
127
-  font-size: 24px;
128
-  color: #333;
129
-  line-height: 40px;
130
-  margin-top: 10px;
131
-}
132
-.BaoXiuDetail > .Detail > .flex-h > .flex-item > view > .StepList > .Text > text.Blue {
133
-  color: #77A5F0;
134
-}
135
-.BaoXiuDetail > .Detail > .flex-h > .flex-item > view > .StepList > .Text > text.Red {
136
-  color: #F35844;
137
-  font-size: 34px;
138
-}
139
-.BaoXiuDetail > .Detail > .flex-h > .flex-item > view > .StepList > .ImgList {
140
-  font-size: 0;
141
-}
142
-.BaoXiuDetail > .Detail > .flex-h > .flex-item > view > .StepList > .ImgList > view {
143
-  display: inline-block;
144
-  vertical-align: middle;
145
-  width: 136px;
146
-  height: 136px;
147
-  position: relative;
148
-  overflow: hidden;
149
-  margin-top: 12px;
150
-  margin-right: 12px;
151
-  background: #f8f8f8;
152
-}
153
-.BaoXiuDetail > .Detail > .BottomBtn {
154
-  position: relative;
155
-  overflow: hidden;
156
-  margin-top: 30px;
157
-}
158
-.BaoXiuDetail > .Detail > .BottomBtn.active > text {
159
-  color: #fff;
160
-  background: #F35844;
161
-}
162
-.BaoXiuDetail > .Detail > .BottomBtn > text {
163
-  width: 100%;
164
-  display: block;
165
-  text-align: center;
166
-  font-size: 34px;
167
-  line-height: 98px;
168
-  border-radius: 98px;
169
-  color: #F35844;
170
-  background: #fff;
171
-  border: 2px solid #F35844;
172
-  box-sizing: border-box;
173
-}

+ 46
- 2
src/pages/WuYe/BaoXiuFeiYong/index.jsx Прегледај датотеку

@@ -1,15 +1,25 @@
1 1
 import React, { useState } from 'react'
2 2
 import Taro, { Current } from '@tarojs/taro'
3
+import SlidePopup from '@/components/SlidePopup/index'
4
+import UploadImg from '@/components/UploadImg/index'
3 5
 import '@/assets/css/reset.less'
4 6
 import '@/assets/css/iconfont.less'
5 7
 import './index.less'
6 8
 
7 9
 export default function BaoXiuFeiYong () {
8 10
 
11
+  const [ShowPopup, setShowPopup] = useState(false)
12
+  const [PopupType, setPopupType] = useState(0)
9 13
   const CurrnetBaoXiuId = Current.router.params.id
10 14
 
15
+  const SlidePopupClose = () => {
16
+    setShowPopup(false)
17
+  }
18
+
11 19
   return (
12 20
     <view className='BaoXiuFeiYong'>
21
+
22
+      {/* 费用信息 */}
13 23
       <view className='Info'>
14 24
         <view>
15 25
           <text>1栋3单元2楼-3楼走廊声控灯出现故障</text>
@@ -40,10 +50,44 @@ export default function BaoXiuFeiYong () {
40 50
         </view>
41 51
         <view className='InfoBottom'></view>
42 52
       </view>
53
+
43 54
       <view className='BottomBtn'>
44
-        <text className='active'>我要缴费</text>
45
-        <text>线下缴费</text>
55
+        <text className='active' onClick={() => { setPopupType(1); setShowPopup(true) }}>我要缴费</text>
56
+        <text onClick={() => { setPopupType(2); setShowPopup(true) }}>线下缴费</text>
46 57
       </view>
58
+
59
+      {/* 弹窗 */}
60
+      <SlidePopup Close={SlidePopupClose} Show={ShowPopup}>
61
+
62
+        {/* 线上缴费 */}
63
+        {
64
+          PopupType - 0 === 1 &&
65
+          <view className='JiaoFeiPopup XianShang'>
66
+            <view className='Price'>立即支付<text>150</text>元</view>
67
+            <view className='flex-h'>
68
+              <text className='iconfont iconweixinzhifu'></text>
69
+              <text className='flex-item'>微信支付</text>
70
+              <text className='iconfont icongou'></text>
71
+            </view>
72
+            <view className='Btn'>
73
+              <text>去付款</text>
74
+            </view>
75
+          </view>
76
+        }
77
+
78
+        {/* 线下缴费 */}
79
+        {
80
+          PopupType - 0 === 2 &&
81
+          <view className='JiaoFeiPopup XianXia'>
82
+            <text>上传线下支付凭证</text>
83
+            <view className='UploadContainer'>
84
+              <UploadImg></UploadImg>
85
+            </view>
86
+          </view>
87
+        }
88
+
89
+      </SlidePopup>
90
+
47 91
     </view>
48 92
   )
49 93
 }

+ 82
- 0
src/pages/WuYe/BaoXiuFeiYong/index.less Прегледај датотеку

@@ -14,6 +14,7 @@
14 14
     >.InfoBottom {
15 15
       height: 264px;
16 16
       position: relative;
17
+      background: none;
17 18
     }
18 19
 
19 20
     >view {
@@ -81,4 +82,85 @@
81 82
       }
82 83
     }
83 84
   }
85
+
86
+  .JiaoFeiPopup {
87
+    padding: 0 30px;
88
+    position: relative;
89
+    overflow: hidden;
90
+
91
+    &.XianShang {
92
+      >.Price {
93
+        font-size: 34px;
94
+        color: #333;
95
+        line-height: 60px;
96
+        text-align: center;
97
+        border-bottom: 2px solid rgba(0, 0, 0, 0.08);
98
+        padding-bottom: 60px;
99
+        // margin-top: 20px;
100
+
101
+        >text {
102
+          font-size: 48px;
103
+          font-weight: bold;
104
+          color: #F35844;
105
+          line-height: 60px;
106
+        }
107
+      }
108
+
109
+      >.flex-h {
110
+        align-items: center;
111
+        padding: 20px 0;
112
+
113
+        >text {
114
+          font-size: 30px;
115
+          color: #333;
116
+          line-height: 60px;
117
+          margin-left: 20px;
118
+
119
+          &:first-child {
120
+            margin-left: 0;
121
+          }
122
+
123
+          &.iconfont {
124
+            font-size: 54px;
125
+            color: #00c005;
126
+
127
+            &.icongou {
128
+              color: #F35844;
129
+              font-size: 42px;
130
+            }
131
+          }
132
+        }
133
+      }
134
+
135
+      >.Btn {
136
+        position: relative;
137
+        overflow: hidden;
138
+        margin-top: 40px;
139
+
140
+        >text {
141
+          font-size: 34px;
142
+          color: #fff;
143
+          line-height: 98px;
144
+          display: block;
145
+          width: 100%;
146
+          text-align: center;
147
+          background: #F35844;
148
+          border-radius: 98px;
149
+        }
150
+      }
151
+    }
152
+
153
+    &.XianXia {
154
+      >text {
155
+        font-size: 34px;
156
+        color: #333;
157
+        line-height: 60px;
158
+        display: block;
159
+        width: 100%;
160
+        text-align: center;
161
+        border-bottom: 2px solid rgba(0, 0, 0, 0.08);
162
+        padding-bottom: 60px;
163
+      }
164
+    }
165
+  }
84 166
 }

+ 3
- 0
src/pages/WuYe/JiaoFeiDetail/index.config.js Прегледај датотеку

@@ -0,0 +1,3 @@
1
+export default {
2
+  navigationBarTitleText: '费用详情'
3
+}

+ 93
- 0
src/pages/WuYe/JiaoFeiDetail/index.jsx Прегледај датотеку

@@ -0,0 +1,93 @@
1
+import React, { useState } from 'react'
2
+import Taro, { Current } from '@tarojs/taro'
3
+import SlidePopup from '@/components/SlidePopup/index'
4
+import '@/assets/css/reset.less'
5
+import '@/assets/css/iconfont.less'
6
+import './index.less'
7
+
8
+export default function JiaoFeiDetail () {
9
+
10
+  const [ShowPopup, setShowPopup] = useState(false)
11
+
12
+  const [PopupType, setPopupType] = useState(0)
13
+
14
+  const CurrnetJiaoFeiId = Current.router.params.id
15
+
16
+  return (
17
+    <view className='JiaoFeiDetail'>
18
+      <view className='DetailContainer'>
19
+        <view className='Info'>
20
+          <view className='flex-h'>
21
+            <text className='flex-item'>物业费</text>
22
+            <text>2020/06/08  0:00截止</text>
23
+          </view>
24
+          <view className='Detail'>
25
+            <view className='Title flex-h'>
26
+              <text className='flex-item'>缴费金额</text>
27
+              <text className='Num'>300</text>
28
+              <text>元</text>
29
+            </view>
30
+            <text>2020年5月物业管理费</text>
31
+            <view className='Line flex-h'>
32
+              <text>垃圾费:</text>
33
+              <text className='flex-item'>100元</text>
34
+            </view>
35
+            <view className='Line flex-h'>
36
+              <text>绿地维护费:</text>
37
+              <text className='flex-item'>100元</text>
38
+            </view>
39
+            <view className='Line flex-h'>
40
+              <text>公摊电费:</text>
41
+              <text className='flex-item'>100元</text>
42
+            </view>
43
+          </view>
44
+        </view>
45
+        <view className='InfoBottom'></view>
46
+      </view>
47
+      <view className='BottomContainer'>
48
+        <text onClick={() => { setPopupType(2); setShowPopup(true) }}>对费用有疑问?</text>
49
+        <text onClick={() => { setPopupType(1); setShowPopup(true) }}>立即缴费</text>
50
+      </view>
51
+
52
+      {/* 弹窗 */}
53
+      <SlidePopup Close={() => { setShowPopup(false); setPopupType(0) }} Show={ShowPopup}>
54
+        {
55
+          PopupType - 0 === 1 &&
56
+          <view className='JiaoFeiPopup'>
57
+            <view className='Price'>立即支付<text>150</text>元</view>
58
+            <view className='flex-h'>
59
+              <text className='iconfont iconweixinzhifu'></text>
60
+              <text className='flex-item'>微信支付</text>
61
+              <text className='iconfont icongou'></text>
62
+            </view>
63
+            <view className='Btn'>
64
+              <text>去付款</text>
65
+            </view>
66
+          </view>
67
+        }
68
+        {
69
+          PopupType - 0 === 2 &&
70
+          <view className='LianXiPopup'>
71
+            <text>联系物业</text>
72
+            <text>对此费用有疑问</text>
73
+            <view className='flex-h'>
74
+              <text className='flex-item'>物业电话</text>
75
+              <text>17826982167</text>
76
+              <text className='iconfont icondianhua'></text>
77
+            </view>
78
+            <view className='flex-h'>
79
+              <text className='flex-item'>门卫电话</text>
80
+              <text>17826982167</text>
81
+              <text className='iconfont icondianhua'></text>
82
+            </view>
83
+            <view className='flex-h'>
84
+              <text className='flex-item'>物业领导</text>
85
+              <text>17826982167</text>
86
+              <text className='iconfont icondianhua'></text>
87
+            </view>
88
+          </view>
89
+        }
90
+      </SlidePopup>
91
+    </view>
92
+  )
93
+}

+ 241
- 0
src/pages/WuYe/JiaoFeiDetail/index.less Прегледај датотеку

@@ -0,0 +1,241 @@
1
+.JiaoFeiDetail {
2
+  width: 100%;
3
+  min-height: 100%;
4
+  position: relative;
5
+  background: #f8f8f8;
6
+
7
+  >.DetailContainer {
8
+    width: 100%;
9
+    min-height: 100vh;
10
+    position: relative;
11
+    z-index: 1;
12
+    overflow: hidden;
13
+
14
+    >.Info {
15
+      padding: 30px;
16
+      position: relative;
17
+      overflow: hidden;
18
+      background: #fff;
19
+
20
+      >.flex-h {
21
+        align-items: center;
22
+
23
+        >text {
24
+          font-size: 24px;
25
+          color: #F35844;
26
+          line-height: 40px;
27
+          white-space: nowrap;
28
+          overflow: hidden;
29
+          text-overflow: ellipsis;
30
+
31
+          &:first-child {
32
+            font-size: 30px;
33
+            font-weight: bold;
34
+            color: #333;
35
+            margin-right: 20px;
36
+          }
37
+        }
38
+      }
39
+
40
+      >.Detail {
41
+        position: relative;
42
+        overflow: hidden;
43
+        padding: 20px;
44
+        background: rgba(243, 88, 68, 0.08);
45
+        margin-top: 50px;
46
+
47
+        >.Title {
48
+          align-items: center;
49
+          padding-bottom: 10px;
50
+          border-bottom: 2px solid rgba(0, 0, 0, 0.08);
51
+
52
+          >text {
53
+            font-size: 24px;
54
+            color: #999;
55
+            line-height: 80px;
56
+
57
+            &.flex-item {
58
+              font-size: 30px;
59
+              font-weight: bold;
60
+              color: #333;
61
+            }
62
+
63
+            &.Num {
64
+              font-size: 48px;
65
+              font-weight: bold;
66
+              color: #F35844;
67
+            }
68
+          }
69
+        }
70
+
71
+        >text {
72
+          display: block;
73
+          width: 100%;
74
+          font-size: 24px;
75
+          color: #333;
76
+          line-height: 40px;
77
+          padding: 30px 0;
78
+        }
79
+
80
+        >.Line {
81
+          align-items: center;
82
+
83
+          >text {
84
+            font-size: 24px;
85
+            color: #333;
86
+            line-height: 40px;
87
+
88
+            &:first-child {
89
+              min-width: 160px;
90
+              margin-right: 20px;
91
+            }
92
+          }
93
+        }
94
+      }
95
+    }
96
+
97
+    >.InfoBottom {
98
+      width: 100%;
99
+      height: 228px;
100
+    }
101
+  }
102
+
103
+  >.BottomContainer {
104
+    padding: 0 30px;
105
+    position: relative;
106
+    overflow: hidden;
107
+    z-index: 2;
108
+    margin-top: -228px;
109
+    text-align: center;
110
+    font-size: 0;
111
+
112
+    >text {
113
+      &:first-child {
114
+        font-size: 24px;
115
+        color: #77A5F0;
116
+        display: inline-block;
117
+        line-height: 40px;
118
+      }
119
+
120
+      &:nth-child(2) {
121
+        font-size: 34px;
122
+        color: #fff;
123
+        background: #F35844;
124
+        line-height: 98px;
125
+        border-radius: 98px;
126
+        width: 100%;
127
+        display: block;
128
+        text-align: center;
129
+        margin-top: 50px;
130
+        margin-bottom: 40px;
131
+      }
132
+    }
133
+  }
134
+
135
+  .JiaoFeiPopup {
136
+    padding: 0 30px;
137
+    position: relative;
138
+    overflow: hidden;
139
+
140
+    >.Price {
141
+      font-size: 34px;
142
+      color: #333;
143
+      line-height: 60px;
144
+      text-align: center;
145
+      border-bottom: 2px solid rgba(0, 0, 0, 0.08);
146
+      padding-bottom: 60px;
147
+      // margin-top: 20px;
148
+
149
+      >text {
150
+        font-size: 48px;
151
+        font-weight: bold;
152
+        color: #F35844;
153
+        line-height: 60px;
154
+      }
155
+    }
156
+
157
+    >.flex-h {
158
+      align-items: center;
159
+      padding: 20px 0;
160
+
161
+      >text {
162
+        font-size: 30px;
163
+        color: #333;
164
+        line-height: 60px;
165
+        margin-left: 20px;
166
+
167
+        &:first-child {
168
+          margin-left: 0;
169
+        }
170
+
171
+        &.iconfont {
172
+          font-size: 54px;
173
+          color: #00c005;
174
+
175
+          &.icongou {
176
+            color: #F35844;
177
+            font-size: 42px;
178
+          }
179
+        }
180
+      }
181
+    }
182
+
183
+    >.Btn {
184
+      position: relative;
185
+      overflow: hidden;
186
+      margin-top: 40px;
187
+
188
+      >text {
189
+        font-size: 34px;
190
+        color: #fff;
191
+        line-height: 98px;
192
+        display: block;
193
+        width: 100%;
194
+        text-align: center;
195
+        background: #F35844;
196
+        border-radius: 98px;
197
+      }
198
+    }
199
+  }
200
+
201
+  .LianXiPopup {
202
+    padding: 0 30px;
203
+    position: relative;
204
+    overflow: visible;
205
+    padding-bottom: 40px;
206
+
207
+    >text {
208
+      width: 100%;
209
+      display: block;
210
+      font-size: 24px;
211
+      color: #999;
212
+      line-height: 40px;
213
+      text-align: center;
214
+      margin-bottom: 30px;
215
+
216
+      &:first-child {
217
+        font-size: 34px;
218
+        color: #333;
219
+        margin-bottom: 10px;
220
+        margin-top: -30px;
221
+      }
222
+    }
223
+
224
+    >.flex-h {
225
+      border-top: 2px solid rgba(0, 0, 0, 0.08);
226
+
227
+      >text {
228
+        font-size: 30px;
229
+        line-height: 100px;
230
+        color: #77A5F0;
231
+        &:first-child {
232
+          color: #333;
233
+        }
234
+        &:last-child {
235
+          font-size: 40px;
236
+          margin-left: 10px;
237
+        }
238
+      }
239
+    }
240
+  }
241
+}