From dd80a961ae80315a380d73517fb3fce6ce661bcb Mon Sep 17 00:00:00 2001 From: lisong <377344020@qq.com> Date: Fri, 24 Dec 2021 18:51:31 +0800 Subject: [PATCH] =?UTF-8?q?=E6=9B=B4=E6=96=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../admin/controller/ScreenCapacity.php | 88 + application/admin/controller/ScreenMud.php | 88 + application/admin/controller/ScreenPrice.php | 88 + application/admin/controller/ScreenSize.php | 88 + application/admin/controller/Supplier.php | 9 +- .../admin/controller/SupplierCategory.php | 88 + application/admin/logic/GoodsBrandLogic.php | 2 - .../admin/logic/ScreenCapacityLogic.php | 110 + application/admin/logic/ScreenMudLogic.php | 106 + application/admin/logic/ScreenPriceLogic.php | 110 + application/admin/logic/ScreenSizeLogic.php | 106 + .../admin/logic/SupplierCategoryLogic.php | 106 + application/admin/logic/SupplierLogic.php | 26 +- application/admin/model/ScreenCapacity.php | 13 + application/admin/model/ScreenMud.php | 13 + application/admin/model/ScreenPrice.php | 13 + application/admin/model/ScreenSize.php | 13 + application/admin/model/SupplierCategory.php | 13 + application/admin/validate/Auth.php | 4 +- application/admin/validate/GoodsBrand.php | 4 +- application/admin/validate/Login.php | 6 +- application/admin/validate/ScreenCapacity.php | 50 + application/admin/validate/ScreenMud.php | 53 + application/admin/validate/ScreenPrice.php | 50 + application/admin/validate/ScreenSize.php | 53 + application/admin/validate/Supplier.php | 11 +- .../admin/validate/SupplierCategory.php | 53 + application/admin/view/account/login.html | 4 +- application/admin/view/goods_brand/add.html | 33 +- application/admin/view/goods_brand/edit.html | 35 +- application/admin/view/goods_brand/lists.html | 23 +- .../admin/view/screen_capacity/add.html | 43 + .../admin/view/screen_capacity/edit.html | 43 + .../admin/view/screen_capacity/lists.html | 243 + application/admin/view/screen_mud/add.html | 31 + application/admin/view/screen_mud/edit.html | 31 + application/admin/view/screen_mud/lists.html | 241 + application/admin/view/screen_price/add.html | 43 + application/admin/view/screen_price/edit.html | 43 + .../admin/view/screen_price/lists.html | 243 + application/admin/view/screen_size/add.html | 31 + application/admin/view/screen_size/edit.html | 31 + application/admin/view/screen_size/lists.html | 241 + application/admin/view/supplier/add.html | 115 +- application/admin/view/supplier/edit.html | 135 +- application/admin/view/supplier/lists.html | 33 +- .../admin/view/supplier_category/add.html | 31 + .../admin/view/supplier_category/edit.html | 31 + .../admin/view/supplier_category/lists.html | 241 + composer.json | 6 +- config/project.php | 2 +- freetype-2.4.4.tar.bz2 | 0 public/index.php | 1 - .../images/20211224124319c221d0211.jpg | Bin 0 -> 117225 bytes .../3e/f9771ea4d80f2a5afdbf44b983f933.php | 4 - .../44/4baf9c5a0bce5b727ac9439103b373.php | 4 - .../66/ee7de7700c143fcdb7a7328fd7c861.php | 2 +- .../75/de27ca6ef4bd38c9a8baaade925352.php | 2 +- .../cc/b4349fd48c67fe2a8fda77427283d2.php | 4 + runtime/log/202112/1640338688-24.log | 30512 ++++++++++++++++ runtime/log/202112/23.log | 1192 + runtime/log/202112/24.log | 5459 +++ .../temp/061179a7b7583e8390ed257e9d992e63.php | 208 + .../temp/0b403f75c8c9a3b202e69e280bbe4672.php | 630 + .../temp/0ed45bc1d3cb1861eff9223d70991950.php | 462 + .../temp/103da9e4837330b4d317c88850ab56fb.php | 520 + .../temp/146128a9c5cfc7952b1b0d818f93b5c0.php | 49 + .../temp/150938d53ab0acd2c38e7c6db1003909.php | 61 + .../temp/15ae208a2b1fd2ad0862afae3944a015.php | 164 + .../temp/17cff5f0d9c133fde2967115a97c9b64.php | 295 + .../temp/187f1610205e98a6ff44540ede4148e0.php | 6 +- .../temp/1a83cf691724e93322a24dc384a245dc.php | 379 + .../temp/1c3c2ff3299329f03debb1749fab28da.php | 49 + .../temp/1deb98194e7db50017a25e2aaf1d6372.php | 609 + .../temp/1f3981d5c48e7f48b613fad581b34615.php | 61 + .../temp/24283f82dad468b1268b9b9461bc2013.php | 134 + .../temp/2baa61017eb26a79e4c5ef818039e200.php | 411 + .../temp/2eb23aea7d50f8f04eff047e883a6063.php | 186 + .../temp/40213604a37742337be75c323684ca45.php | 261 + .../temp/41d0563b33bc18d115a3545998d6b976.php | 61 + .../temp/42035c915f389b67e5856fe28e54f127.php | 119 + .../temp/437b58ddf26aa8c187fe0077595baa1c.php | 294 + .../temp/45b3a2e3a6ffb4995cea53a8429a3fb1.php | 159 + .../temp/45ee787847815ce49e97aa6be26b2f8f.php | 49 + .../temp/50acfc384a0b7173318d78e9b61abacb.php | 242 + .../temp/57cc2d4382cade611bfc2450d2366292.php | 195 + .../temp/5ca014524f351e044ddf98653ace54a1.php | 268 + .../temp/60a5cc27afe9f6741efa67734933db61.php | 49 + .../temp/679c009c93bcf12838cbab9d851b6af7.php | 334 + .../temp/6cbfea6e5be70315231b2b9d634d547a.php | 261 + .../temp/72a2ab343151c052ac2eee44f3f45928.php | 240 + .../temp/72d9b5e92eebbeeeea38b3ec0a3ef58e.php | 262 + .../temp/752e8d871a6251e17ee1927c4382edc2.php | 172 + .../temp/7691d324087865130835b1966b3fc9f4.php | 181 + .../temp/7ab9d1d451181cfc18a3cdce96155ca1.php | 147 + .../temp/7e2548ae2adc00d9defea97ef28ba856.php | 157 + .../temp/80d1490bec9707d720f45761bfbcfa25.php | 365 + .../temp/8ad743cd422e1f6c2a11ba09a255afa1.php | 49 + .../temp/8bacb4b78702a9b1f3c8890f1570388d.php | 328 + .../temp/8c86cf323591255f040667daea2dd612.php | 94 + .../temp/8cc04b6af65ba4a995fc0dd32a4df5aa.php | 49 + .../temp/8ea30a4405208dc3bd7424679ac2ddf0.php | 166 + .../temp/8f1fd3f929107e608ac101bc788afde6.php | 242 + .../temp/9232280cd2c619d492e0ff0176ce39fc.php | 242 + .../temp/97fc4429d333d6ff9e4d97ba44839ef7.php | 119 + .../temp/9ad8fa842abeffd851c67c4141ba1cb4.php | 143 + .../temp/a3127c1253dcbcb932add52187c2153f.php | 150 + .../temp/a736c9a0caaa4aa5376ab1a34fd648ff.php | 446 + .../temp/a7db522c09f1f188f271eb9abb6a0945.php | 616 + .../temp/a98d6d967457033b1340a53b292d6f08.php | 301 + .../temp/ab1faba12614803b87dc85e73566ab25.php | 195 + .../temp/ab468adc96bbb1b3eaeccde8c3fb7883.php | 95 + .../temp/af97849da008945e15bdb2e7dec903f0.php | 120 + .../temp/afd54fe16ff8f154677dad7900e32672.php | 309 + .../temp/b2d0326dd1ae7859b57ea5e99fc1d59a.php | 635 + .../temp/bbca54d3d3d69ad7a7f217f8594a2425.php | 261 + .../temp/bf30149b4c3b7a73ffd190b04855e5db.php | 263 + .../temp/bf4d25a54283bb53ef3484d2ec13ac3e.php | 323 + .../temp/bf8628550a759bd58002c87f2d194954.php | 114 + .../temp/c3f779080227a8a64b884ca66f8c18e3.php | 49 + .../temp/c51974dcd947fcb367e959b8129ddc23.php | 263 + .../temp/c595d1ea094802152a820c02689465b9.php | 379 + .../temp/c74a8b9e5e7f315c8b7762f8bd66fb1d.php | 194 + .../temp/cccb037127f6ecc7b75580e92b9a8efd.php | 261 + .../temp/cd786ec31dba0255b3a4d780afda5c8b.php | 61 + .../temp/cda1ec44401347fcc0059bfb922bc6f4.php | 357 + .../temp/d5cd6c2ab8eba2681f8adb7dd626e0d4.php | 49 + .../temp/d850955dc361ba107967aba92387b303.php | 224 + .../temp/da662df4bb063c0354fd87cdf791d014.php | 443 + .../temp/e4160e3addd748ff9ce1650494a7ebb6.php | 488 + .../temp/e5882a5bc0ff338b450366d1a0c08350.php | 200 + .../temp/e62e2800c5bc408fd52ce14660177c6a.php | 263 + .../temp/e74348790cc6f7ca7badb6d0d4ce4f8b.php | 563 + .../temp/e8d905a5e7df89f5eae3648ab64e7468.php | 261 + .../temp/f26b56d70882bd4e82288d294d478439.php | 489 + .../temp/f3cccecc645b801f2ede481409bc903c.php | 380 + .../temp/f3dd38e3180c69318dfe9cbe512223c3.php | 325 + .../temp/f611d37b7a6244b45d25f0d3a9d04415.php | 49 + .../temp/f692999e789cca0a31f9f13b1e9186f4.php | 322 + .../temp/f7716addbd650a90c806b5017be55f0e.php | 525 + .../temp/fb5a77f5131e1b40bb233cc17171fd54.php | 160 + 141 files changed, 59940 insertions(+), 162 deletions(-) create mode 100755 application/admin/controller/ScreenCapacity.php create mode 100755 application/admin/controller/ScreenMud.php create mode 100755 application/admin/controller/ScreenPrice.php create mode 100755 application/admin/controller/ScreenSize.php create mode 100755 application/admin/controller/SupplierCategory.php create mode 100755 application/admin/logic/ScreenCapacityLogic.php create mode 100755 application/admin/logic/ScreenMudLogic.php create mode 100755 application/admin/logic/ScreenPriceLogic.php create mode 100755 application/admin/logic/ScreenSizeLogic.php create mode 100755 application/admin/logic/SupplierCategoryLogic.php create mode 100755 application/admin/model/ScreenCapacity.php create mode 100755 application/admin/model/ScreenMud.php create mode 100755 application/admin/model/ScreenPrice.php create mode 100755 application/admin/model/ScreenSize.php create mode 100755 application/admin/model/SupplierCategory.php create mode 100755 application/admin/validate/ScreenCapacity.php create mode 100755 application/admin/validate/ScreenMud.php create mode 100755 application/admin/validate/ScreenPrice.php create mode 100755 application/admin/validate/ScreenSize.php create mode 100755 application/admin/validate/SupplierCategory.php create mode 100755 application/admin/view/screen_capacity/add.html create mode 100755 application/admin/view/screen_capacity/edit.html create mode 100755 application/admin/view/screen_capacity/lists.html create mode 100755 application/admin/view/screen_mud/add.html create mode 100755 application/admin/view/screen_mud/edit.html create mode 100755 application/admin/view/screen_mud/lists.html create mode 100755 application/admin/view/screen_price/add.html create mode 100755 application/admin/view/screen_price/edit.html create mode 100755 application/admin/view/screen_price/lists.html create mode 100755 application/admin/view/screen_size/add.html create mode 100755 application/admin/view/screen_size/edit.html create mode 100755 application/admin/view/screen_size/lists.html create mode 100755 application/admin/view/supplier_category/add.html create mode 100755 application/admin/view/supplier_category/edit.html create mode 100755 application/admin/view/supplier_category/lists.html create mode 100644 freetype-2.4.4.tar.bz2 create mode 100644 public/uploads/images/20211224124319c221d0211.jpg delete mode 100755 runtime/cache/like_shop_/3e/f9771ea4d80f2a5afdbf44b983f933.php delete mode 100755 runtime/cache/like_shop_/44/4baf9c5a0bce5b727ac9439103b373.php mode change 100755 => 100644 runtime/cache/like_shop_/75/de27ca6ef4bd38c9a8baaade925352.php create mode 100644 runtime/cache/like_shop_/cc/b4349fd48c67fe2a8fda77427283d2.php create mode 100644 runtime/log/202112/1640338688-24.log create mode 100644 runtime/log/202112/23.log create mode 100644 runtime/log/202112/24.log create mode 100644 runtime/temp/061179a7b7583e8390ed257e9d992e63.php create mode 100644 runtime/temp/0b403f75c8c9a3b202e69e280bbe4672.php create mode 100644 runtime/temp/0ed45bc1d3cb1861eff9223d70991950.php create mode 100644 runtime/temp/103da9e4837330b4d317c88850ab56fb.php create mode 100644 runtime/temp/146128a9c5cfc7952b1b0d818f93b5c0.php create mode 100644 runtime/temp/150938d53ab0acd2c38e7c6db1003909.php create mode 100644 runtime/temp/15ae208a2b1fd2ad0862afae3944a015.php create mode 100644 runtime/temp/17cff5f0d9c133fde2967115a97c9b64.php create mode 100644 runtime/temp/1a83cf691724e93322a24dc384a245dc.php create mode 100644 runtime/temp/1c3c2ff3299329f03debb1749fab28da.php create mode 100644 runtime/temp/1deb98194e7db50017a25e2aaf1d6372.php create mode 100644 runtime/temp/1f3981d5c48e7f48b613fad581b34615.php create mode 100644 runtime/temp/24283f82dad468b1268b9b9461bc2013.php create mode 100644 runtime/temp/2baa61017eb26a79e4c5ef818039e200.php create mode 100644 runtime/temp/2eb23aea7d50f8f04eff047e883a6063.php create mode 100644 runtime/temp/40213604a37742337be75c323684ca45.php create mode 100644 runtime/temp/41d0563b33bc18d115a3545998d6b976.php create mode 100644 runtime/temp/42035c915f389b67e5856fe28e54f127.php create mode 100644 runtime/temp/437b58ddf26aa8c187fe0077595baa1c.php create mode 100644 runtime/temp/45b3a2e3a6ffb4995cea53a8429a3fb1.php create mode 100644 runtime/temp/45ee787847815ce49e97aa6be26b2f8f.php create mode 100644 runtime/temp/50acfc384a0b7173318d78e9b61abacb.php create mode 100644 runtime/temp/57cc2d4382cade611bfc2450d2366292.php create mode 100644 runtime/temp/5ca014524f351e044ddf98653ace54a1.php create mode 100644 runtime/temp/60a5cc27afe9f6741efa67734933db61.php create mode 100644 runtime/temp/679c009c93bcf12838cbab9d851b6af7.php create mode 100644 runtime/temp/6cbfea6e5be70315231b2b9d634d547a.php create mode 100644 runtime/temp/72a2ab343151c052ac2eee44f3f45928.php create mode 100644 runtime/temp/72d9b5e92eebbeeeea38b3ec0a3ef58e.php create mode 100644 runtime/temp/752e8d871a6251e17ee1927c4382edc2.php create mode 100644 runtime/temp/7691d324087865130835b1966b3fc9f4.php create mode 100644 runtime/temp/7ab9d1d451181cfc18a3cdce96155ca1.php create mode 100644 runtime/temp/7e2548ae2adc00d9defea97ef28ba856.php create mode 100644 runtime/temp/80d1490bec9707d720f45761bfbcfa25.php create mode 100644 runtime/temp/8ad743cd422e1f6c2a11ba09a255afa1.php create mode 100644 runtime/temp/8bacb4b78702a9b1f3c8890f1570388d.php create mode 100644 runtime/temp/8c86cf323591255f040667daea2dd612.php create mode 100644 runtime/temp/8cc04b6af65ba4a995fc0dd32a4df5aa.php create mode 100644 runtime/temp/8ea30a4405208dc3bd7424679ac2ddf0.php create mode 100644 runtime/temp/8f1fd3f929107e608ac101bc788afde6.php create mode 100644 runtime/temp/9232280cd2c619d492e0ff0176ce39fc.php create mode 100644 runtime/temp/97fc4429d333d6ff9e4d97ba44839ef7.php create mode 100644 runtime/temp/9ad8fa842abeffd851c67c4141ba1cb4.php create mode 100644 runtime/temp/a3127c1253dcbcb932add52187c2153f.php create mode 100644 runtime/temp/a736c9a0caaa4aa5376ab1a34fd648ff.php create mode 100644 runtime/temp/a7db522c09f1f188f271eb9abb6a0945.php create mode 100644 runtime/temp/a98d6d967457033b1340a53b292d6f08.php create mode 100644 runtime/temp/ab1faba12614803b87dc85e73566ab25.php create mode 100644 runtime/temp/ab468adc96bbb1b3eaeccde8c3fb7883.php create mode 100644 runtime/temp/af97849da008945e15bdb2e7dec903f0.php create mode 100644 runtime/temp/afd54fe16ff8f154677dad7900e32672.php create mode 100644 runtime/temp/b2d0326dd1ae7859b57ea5e99fc1d59a.php create mode 100644 runtime/temp/bbca54d3d3d69ad7a7f217f8594a2425.php create mode 100644 runtime/temp/bf30149b4c3b7a73ffd190b04855e5db.php create mode 100644 runtime/temp/bf4d25a54283bb53ef3484d2ec13ac3e.php create mode 100644 runtime/temp/bf8628550a759bd58002c87f2d194954.php create mode 100644 runtime/temp/c3f779080227a8a64b884ca66f8c18e3.php create mode 100644 runtime/temp/c51974dcd947fcb367e959b8129ddc23.php create mode 100644 runtime/temp/c595d1ea094802152a820c02689465b9.php create mode 100644 runtime/temp/c74a8b9e5e7f315c8b7762f8bd66fb1d.php create mode 100644 runtime/temp/cccb037127f6ecc7b75580e92b9a8efd.php create mode 100644 runtime/temp/cd786ec31dba0255b3a4d780afda5c8b.php create mode 100644 runtime/temp/cda1ec44401347fcc0059bfb922bc6f4.php create mode 100644 runtime/temp/d5cd6c2ab8eba2681f8adb7dd626e0d4.php create mode 100644 runtime/temp/d850955dc361ba107967aba92387b303.php create mode 100644 runtime/temp/da662df4bb063c0354fd87cdf791d014.php create mode 100644 runtime/temp/e4160e3addd748ff9ce1650494a7ebb6.php create mode 100644 runtime/temp/e5882a5bc0ff338b450366d1a0c08350.php create mode 100644 runtime/temp/e62e2800c5bc408fd52ce14660177c6a.php create mode 100644 runtime/temp/e74348790cc6f7ca7badb6d0d4ce4f8b.php create mode 100644 runtime/temp/e8d905a5e7df89f5eae3648ab64e7468.php create mode 100644 runtime/temp/f26b56d70882bd4e82288d294d478439.php create mode 100644 runtime/temp/f3cccecc645b801f2ede481409bc903c.php create mode 100644 runtime/temp/f3dd38e3180c69318dfe9cbe512223c3.php create mode 100644 runtime/temp/f611d37b7a6244b45d25f0d3a9d04415.php create mode 100644 runtime/temp/f692999e789cca0a31f9f13b1e9186f4.php create mode 100644 runtime/temp/f7716addbd650a90c806b5017be55f0e.php create mode 100644 runtime/temp/fb5a77f5131e1b40bb233cc17171fd54.php diff --git a/application/admin/controller/ScreenCapacity.php b/application/admin/controller/ScreenCapacity.php new file mode 100755 index 00000000..85f833bc --- /dev/null +++ b/application/admin/controller/ScreenCapacity.php @@ -0,0 +1,88 @@ +request->isAjax()) { + $get = $this->request->get(); + $this->_success('', ScreenCapacityLogic::lists($get)); + } + return $this->fetch(); + } + /** + * 添加容量 + * @return mixed + */ + public function add(){ + if ($this->request->isAjax()) { + $post = $this->request->post(); + $post['del'] = 0; + $result = $this->validate($post, 'app\admin\validate\ScreenCapacity.add'); + if($result === true){ + ScreenCapacityLogic::addScreenCapacity($post); + $this->_success('添加成功!'); + } + $this->_error($result); + } + return $this->fetch(); + } + + /** + * 编辑容量 + * @return mixed + */ + public function edit($id){ + if ($this->request->isAjax()) { + $post = $this->request->post(); + $post['del'] = 0; + $result = $this->validate($post, 'app\admin\validate\ScreenCapacity.edit'); + if($result === true){ + ScreenCapacityLogic::editScreenCapacity($post); + $this->_success('编辑成功!'); + } + $this->_error($result); + } + $category= ScreenCapacityLogic::getScreenCapacity($id); + $this->assign('category',array_values($category)[0]); + return $this->fetch(); + } + + /** + * 删除容量 + * @return mixed + */ + public function del($id) + { + if ($this->request->isAjax()) { + $result = $this->validate(['id' => $id], 'app\admin\validate\ScreenCapacity.del'); + if ($result === true) { + ScreenCapacityLogic::delScreenCapacity($id); + $this->_success('删除成功'); + } + $this->_error($result); + } + } + + + /** + * 修改状态 + */ + public function switchStatus(){ + $post = $this->request->post(); + ScreenCapacityLogic::switchStatus($post); + $this->_success('修改成功'); + } + +} \ No newline at end of file diff --git a/application/admin/controller/ScreenMud.php b/application/admin/controller/ScreenMud.php new file mode 100755 index 00000000..c031f710 --- /dev/null +++ b/application/admin/controller/ScreenMud.php @@ -0,0 +1,88 @@ +request->isAjax()) { + $get = $this->request->get(); + $this->_success('', ScreenMudLogic::lists($get)); + } + return $this->fetch(); + } + /** + * 添加专家分类 + * @return mixed + */ + public function add(){ + if ($this->request->isAjax()) { + $post = $this->request->post(); + $post['del'] = 0; + $result = $this->validate($post, 'app\admin\validate\ScreenMud.add'); + if($result === true){ + ScreenMudLogic::addScreenMud($post); + $this->_success('添加成功!'); + } + $this->_error($result); + } + return $this->fetch(); + } + + /** + * 编辑专家分类 + * @return mixed + */ + public function edit($id){ + if ($this->request->isAjax()) { + $post = $this->request->post(); + $post['del'] = 0; + $result = $this->validate($post, 'app\admin\validate\ScreenMud.edit'); + if($result === true){ + ScreenMudLogic::editScreenMud($post); + $this->_success('编辑成功!'); + } + $this->_error($result); + } + $category= ScreenMudLogic::getScreenMud($id); + $this->assign('category',array_values($category)[0]); + return $this->fetch(); + } + + /** + * 删除专家分类 + * @return mixed + */ + public function del($id) + { + if ($this->request->isAjax()) { + $result = $this->validate(['id' => $id], 'app\admin\validate\ScreenMud.del'); + if ($result === true) { + ScreenMudLogic::delScreenMud($id); + $this->_success('删除成功'); + } + $this->_error($result); + } + } + + + /** + * 修改状态 + */ + public function switchStatus(){ + $post = $this->request->post(); + ScreenMudLogic::switchStatus($post); + $this->_success('修改成功'); + } + +} \ No newline at end of file diff --git a/application/admin/controller/ScreenPrice.php b/application/admin/controller/ScreenPrice.php new file mode 100755 index 00000000..e84f727c --- /dev/null +++ b/application/admin/controller/ScreenPrice.php @@ -0,0 +1,88 @@ +request->isAjax()) { + $get = $this->request->get(); + $this->_success('', ScreenPriceLogic::lists($get)); + } + return $this->fetch(); + } + /** + * 添加价格 + * @return mixed + */ + public function add(){ + if ($this->request->isAjax()) { + $post = $this->request->post(); + $post['del'] = 0; + $result = $this->validate($post, 'app\admin\validate\ScreenPrice.add'); + if($result === true){ + ScreenPriceLogic::addScreenPrice($post); + $this->_success('添加成功!'); + } + $this->_error($result); + } + return $this->fetch(); + } + + /** + * 编辑价格 + * @return mixed + */ + public function edit($id){ + if ($this->request->isAjax()) { + $post = $this->request->post(); + $post['del'] = 0; + $result = $this->validate($post, 'app\admin\validate\ScreenPrice.edit'); + if($result === true){ + ScreenPriceLogic::editScreenPrice($post); + $this->_success('编辑成功!'); + } + $this->_error($result); + } + $category= ScreenPriceLogic::getScreenPrice($id); + $this->assign('category',array_values($category)[0]); + return $this->fetch(); + } + + /** + * 删除价格 + * @return mixed + */ + public function del($id) + { + if ($this->request->isAjax()) { + $result = $this->validate(['id' => $id], 'app\admin\validate\ScreenPrice.del'); + if ($result === true) { + ScreenPriceLogic::delScreenPrice($id); + $this->_success('删除成功'); + } + $this->_error($result); + } + } + + + /** + * 修改状态 + */ + public function switchStatus(){ + $post = $this->request->post(); + ScreenPriceLogic::switchStatus($post); + $this->_success('修改成功'); + } + +} \ No newline at end of file diff --git a/application/admin/controller/ScreenSize.php b/application/admin/controller/ScreenSize.php new file mode 100755 index 00000000..87de3330 --- /dev/null +++ b/application/admin/controller/ScreenSize.php @@ -0,0 +1,88 @@ +request->isAjax()) { + $get = $this->request->get(); + $this->_success('', ScreenSizeLogic::lists($get)); + } + return $this->fetch(); + } + /** + * 添加筛选尺寸 + * @return mixed + */ + public function add(){ + if ($this->request->isAjax()) { + $post = $this->request->post(); + $post['del'] = 0; + $result = $this->validate($post, 'app\admin\validate\ScreenSize.add'); + if($result === true){ + ScreenSizeLogic::addScreenSize($post); + $this->_success('添加成功!'); + } + $this->_error($result); + } + return $this->fetch(); + } + + /** + * 编辑筛选尺寸 + * @return mixed + */ + public function edit($id){ + if ($this->request->isAjax()) { + $post = $this->request->post(); + $post['del'] = 0; + $result = $this->validate($post, 'app\admin\validate\ScreenSize.edit'); + if($result === true){ + ScreenSizeLogic::editScreenSize($post); + $this->_success('编辑成功!'); + } + $this->_error($result); + } + $category= ScreenSizeLogic::getScreenSize($id); + $this->assign('category',array_values($category)[0]); + return $this->fetch(); + } + + /** + * 删除筛选尺寸 + * @return mixed + */ + public function del($id) + { + if ($this->request->isAjax()) { + $result = $this->validate(['id' => $id], 'app\admin\validate\ScreenSize.del'); + if ($result === true) { + ScreenSizeLogic::delScreenSize($id); + $this->_success('删除成功'); + } + $this->_error($result); + } + } + + + /** + * 修改状态 + */ + public function switchStatus(){ + $post = $this->request->post(); + ScreenSizeLogic::switchStatus($post); + $this->_success('修改成功'); + } + +} \ No newline at end of file diff --git a/application/admin/controller/Supplier.php b/application/admin/controller/Supplier.php index 5a7062aa..62726062 100755 --- a/application/admin/controller/Supplier.php +++ b/application/admin/controller/Supplier.php @@ -7,16 +7,19 @@ // +---------------------------------------------------------------------- namespace app\admin\controller; use app\admin\logic\SupplierLogic; +use app\admin\logic\SupplierCategoryLogic; class Supplier extends AdminBase{ /** *列表 */ public function lists(){ + $supplier_category = SupplierCategoryLogic::getSupplierCategory(); if ($this->request->isAjax()) { $get = $this->request->get(); //获取get请求 - $this->_success('', SupplierLogic::lists($get)); //逻辑层处理渲染数据 + $this->_success('', SupplierLogic::lists($get, $supplier_category)); //逻辑层处理渲染数据 } + $this->assign('category_list', $supplier_category); return $this->fetch(); //渲染 } @@ -34,6 +37,8 @@ class Supplier extends AdminBase{ } $this->_error($result); } + $supplier_category = SupplierCategoryLogic::getSupplierCategory(); + $this->assign('category_list', $supplier_category); return $this->fetch(); //渲染 } @@ -52,6 +57,8 @@ class Supplier extends AdminBase{ $this->_error($result); } $this->assign('info', SupplierLogic::info($id)); //逻辑层处理数据,返回已有信息 + $supplier_category = SupplierCategoryLogic::getSupplierCategory(); + $this->assign('category_list', $supplier_category); return $this->fetch(); //渲染 } diff --git a/application/admin/controller/SupplierCategory.php b/application/admin/controller/SupplierCategory.php new file mode 100755 index 00000000..d13f71bc --- /dev/null +++ b/application/admin/controller/SupplierCategory.php @@ -0,0 +1,88 @@ +request->isAjax()) { + $get = $this->request->get(); + $this->_success('', SupplierCategoryLogic::lists($get)); + } + return $this->fetch(); + } + /** + * 添加专家分类 + * @return mixed + */ + public function add(){ + if ($this->request->isAjax()) { + $post = $this->request->post(); + $post['del'] = 0; + $result = $this->validate($post, 'app\admin\validate\SupplierCategory.add'); + if($result === true){ + SupplierCategoryLogic::addSupplierCategory($post); + $this->_success('添加成功!'); + } + $this->_error($result); + } + return $this->fetch(); + } + + /** + * 编辑专家分类 + * @return mixed + */ + public function edit($id){ + if ($this->request->isAjax()) { + $post = $this->request->post(); + $post['del'] = 0; + $result = $this->validate($post, 'app\admin\validate\SupplierCategory.edit'); + if($result === true){ + SupplierCategoryLogic::editSupplierCategory($post); + $this->_success('编辑成功!'); + } + $this->_error($result); + } + $category= SupplierCategoryLogic::getSupplierCategory($id); + $this->assign('category',array_values($category)[0]); + return $this->fetch(); + } + + /** + * 删除专家分类 + * @return mixed + */ + public function del($id) + { + if ($this->request->isAjax()) { + $result = $this->validate(['id' => $id], 'app\admin\validate\SupplierCategory.del'); + if ($result === true) { + SupplierCategoryLogic::delSupplierCategory($id); + $this->_success('删除成功'); + } + $this->_error($result); + } + } + + + /** + * 修改状态 + */ + public function switchStatus(){ + $post = $this->request->post(); + SupplierCategoryLogic::switchStatus($post); + $this->_success('修改成功'); + } + +} \ No newline at end of file diff --git a/application/admin/logic/GoodsBrandLogic.php b/application/admin/logic/GoodsBrandLogic.php index c2884966..0eb8546a 100755 --- a/application/admin/logic/GoodsBrandLogic.php +++ b/application/admin/logic/GoodsBrandLogic.php @@ -42,7 +42,6 @@ class GoodsBrandLogic { $data = [ 'name' => $post['name'], - 'initial' => $post['initial'], 'image' => $post['image'], 'sort' => $post['sort'], 'is_show' => $post['is_show'], @@ -69,7 +68,6 @@ class GoodsBrandLogic { $update_data = [ 'name' => $post['name'], - 'initial' => $post['initial'], 'image' => $post['image'], 'sort' => $post['sort'], 'is_show' => $post['is_show'], diff --git a/application/admin/logic/ScreenCapacityLogic.php b/application/admin/logic/ScreenCapacityLogic.php new file mode 100755 index 00000000..94c479ff --- /dev/null +++ b/application/admin/logic/ScreenCapacityLogic.php @@ -0,0 +1,110 @@ +where($where)->count(); + $list = $screen_capacity->where($where)->page($get['page'], $get['limit'])->select(); + + foreach ($list as &$item) { + $item['create_time'] = date('Y-m-d H:i:s', $item['create_time']); + if ($item['is_show'] == 1) { + $item['is_show_text'] = '启用'; + } else { + $item['is_show_text'] = '停用'; + } + } + return ['count' => $count, 'lists' => $list]; + } + + /** + * Desc: 添加容量 + * @param $post array + * @return boolean + */ + public static function addScreenCapacity($post) + { + $screen_capacity = new ScreenCapacity(); + $data = [ + 'name' => $post['name'], + 'start_capacity' => $post['start_capacity'], + 'end_capacity' => $post['end_capacity'], + 'is_show' => $post['is_show'], + 'create_time' => time(), + ]; + return $screen_capacity->save($data); + } + + /** + * Desc: 编辑容量 + * @param $post array + * @return boolean + */ + public static function editScreenCapacity($post) + { + $screen_capacity = new ScreenCapacity(); + $data = [ + 'name' => $post['name'], + 'start_capacity' => $post['start_capacity'], + 'end_capacity' => $post['end_capacity'], + 'is_show' => $post['is_show'], + 'update_time' => time(), + ]; + return $screen_capacity->save($data, ['id' => $post['id'], 'del' => 0]); + } + + /** + * Desc: 删除容量 + * @param $id int + * @return boolean + */ + public static function delScreenCapacity($id) + { + $screen_capacity = new ScreenCapacity(); + $data = [ + 'update_time' => time(), + 'del' => 1, + ]; + return $screen_capacity->save($data, ['id' => $id, 'del' => 0]); + } + + /** + * Desc: 获取单条容量 + * @param $id int + * @return boolean + */ + public static function getScreenCapacity($id = 0) + { + $where[] = ['del', '=', 0]; + if ($id) { + $where[] = ['id', '=', $id]; + } + $screen_capacity = new ScreenCapacity(); + return $screen_capacity->where($where)->column('*', 'id'); + } + + public static function switchStatus($post) + { + $data = [ + 'is_show' => $post['is_show'], + 'update_time' => time(), + ]; + return Db::name('screen_capacity')->where(['del' => 0, 'id' => $post['id']])->update($data); + } +} diff --git a/application/admin/logic/ScreenMudLogic.php b/application/admin/logic/ScreenMudLogic.php new file mode 100755 index 00000000..a02d159b --- /dev/null +++ b/application/admin/logic/ScreenMudLogic.php @@ -0,0 +1,106 @@ +where($where)->count(); + $list = $screen_mud->where($where)->page($get['page'], $get['limit'])->select(); + + foreach ($list as &$item) { + $item['create_time'] = date('Y-m-d H:i:s', $item['create_time']); + if ($item['is_show'] == 1) { + $item['is_show_text'] = '启用'; + } else { + $item['is_show_text'] = '停用'; + } + } + return ['count' => $count, 'lists' => $list]; + } + + /** + * Desc: 添加泥料 + * @param $post array + * @return boolean + */ + public static function addScreenMud($post) + { + $screen_mud = new ScreenMud(); + $data = [ + 'name' => $post['name'], + 'is_show' => $post['is_show'], + 'create_time' => time(), + ]; + return $screen_mud->save($data); + } + + /** + * Desc: 编辑泥料 + * @param $post array + * @return boolean + */ + public static function editScreenMud($post) + { + $screen_mud = new ScreenMud(); + $data = [ + 'name' => $post['name'], + 'is_show' => $post['is_show'], + 'update_time' => time(), + ]; + return $screen_mud->save($data, ['id' => $post['id'], 'del' => 0]); + } + + /** + * Desc: 删除泥料 + * @param $id int + * @return boolean + */ + public static function delScreenMud($id) + { + $screen_mud = new ScreenMud(); + $data = [ + 'update_time' => time(), + 'del' => 1, + ]; + return $screen_mud->save($data, ['id' => $id, 'del' => 0]); + } + + /** + * Desc: 获取单条泥料 + * @param $id int + * @return boolean + */ + public static function getScreenMud($id = 0) + { + $where[] = ['del', '=', 0]; + if ($id) { + $where[] = ['id', '=', $id]; + } + $screen_mud = new ScreenMud(); + return $screen_mud->where($where)->column('*', 'id'); + } + + public static function switchStatus($post) + { + $data = [ + 'is_show' => $post['is_show'], + 'update_time' => time(), + ]; + return Db::name('screen_mud')->where(['del' => 0, 'id' => $post['id']])->update($data); + } +} diff --git a/application/admin/logic/ScreenPriceLogic.php b/application/admin/logic/ScreenPriceLogic.php new file mode 100755 index 00000000..67d08b8f --- /dev/null +++ b/application/admin/logic/ScreenPriceLogic.php @@ -0,0 +1,110 @@ +where($where)->count(); + $list = $screen_price->where($where)->page($get['page'], $get['limit'])->select(); + + foreach ($list as &$item) { + $item['create_time'] = date('Y-m-d H:i:s', $item['create_time']); + if ($item['is_show'] == 1) { + $item['is_show_text'] = '启用'; + } else { + $item['is_show_text'] = '停用'; + } + } + return ['count' => $count, 'lists' => $list]; + } + + /** + * Desc: 添加专家分类 + * @param $post array 文章分类数据 + * @return boolean + */ + public static function addScreenPrice($post) + { + $screen_price = new ScreenPrice(); + $data = [ + 'name' => $post['name'], + 'start_price' => $post['start_price'], + 'end_price' => $post['end_price'], + 'is_show' => $post['is_show'], + 'create_time' => time(), + ]; + return $screen_price->save($data); + } + + /** + * Desc: 编辑专家分类 + * @param $post array 文章分类数据 + * @return boolean + */ + public static function editScreenPrice($post) + { + $screen_price = new ScreenPrice(); + $data = [ + 'name' => $post['name'], + 'start_price' => $post['start_price'], + 'end_price' => $post['end_price'], + 'is_show' => $post['is_show'], + 'update_time' => time(), + ]; + return $screen_price->save($data, ['id' => $post['id'], 'del' => 0]); + } + + /** + * Desc: 删除专家分类 + * @param $id int 文章分类id + * @return boolean + */ + public static function delScreenPrice($id) + { + $screen_price = new ScreenPrice(); + $data = [ + 'update_time' => time(), + 'del' => 1, + ]; + return $screen_price->save($data, ['id' => $id, 'del' => 0]); + } + + /** + * Desc: 获取单条专家分类 + * @param $id int 文章分类id + * @return boolean + */ + public static function getScreenPrice($id = 0) + { + $where[] = ['del', '=', 0]; + if ($id) { + $where[] = ['id', '=', $id]; + } + $screen_price = new ScreenPrice(); + return $screen_price->where($where)->column('*', 'id'); + } + + public static function switchStatus($post) + { + $data = [ + 'is_show' => $post['is_show'], + 'update_time' => time(), + ]; + return Db::name('screen_price')->where(['del' => 0, 'id' => $post['id']])->update($data); + } +} diff --git a/application/admin/logic/ScreenSizeLogic.php b/application/admin/logic/ScreenSizeLogic.php new file mode 100755 index 00000000..64e2ff3a --- /dev/null +++ b/application/admin/logic/ScreenSizeLogic.php @@ -0,0 +1,106 @@ +where($where)->count(); + $list = $screen_size->where($where)->page($get['page'], $get['limit'])->select(); + + foreach ($list as &$item) { + $item['create_time'] = date('Y-m-d H:i:s', $item['create_time']); + if ($item['is_show'] == 1) { + $item['is_show_text'] = '启用'; + } else { + $item['is_show_text'] = '停用'; + } + } + return ['count' => $count, 'lists' => $list]; + } + + /** + * Desc: 添加筛选尺寸 + * @param $post array + * @return boolean + */ + public static function addScreenSize($post) + { + $screen_size = new ScreenSize(); + $data = [ + 'name' => $post['name'], + 'is_show' => $post['is_show'], + 'create_time' => time(), + ]; + return $screen_size->save($data); + } + + /** + * Desc: 编辑筛选尺寸 + * @param $post array + * @return boolean + */ + public static function editScreenSize($post) + { + $screen_size = new ScreenSize(); + $data = [ + 'name' => $post['name'], + 'is_show' => $post['is_show'], + 'update_time' => time(), + ]; + return $screen_size->save($data, ['id' => $post['id'], 'del' => 0]); + } + + /** + * Desc: 删除筛选尺寸 + * @param $id int + * @return boolean + */ + public static function delScreenSize($id) + { + $screen_size = new ScreenSize(); + $data = [ + 'update_time' => time(), + 'del' => 1, + ]; + return $screen_size->save($data, ['id' => $id, 'del' => 0]); + } + + /** + * Desc: 获取单条筛选尺寸 + * @param $id int + * @return boolean + */ + public static function getScreenSize($id = 0) + { + $where[] = ['del', '=', 0]; + if ($id) { + $where[] = ['id', '=', $id]; + } + $screen_size = new ScreenSize(); + return $screen_size->where($where)->column('*', 'id'); + } + + public static function switchStatus($post) + { + $data = [ + 'is_show' => $post['is_show'], + 'update_time' => time(), + ]; + return Db::name('screen_size')->where(['del' => 0, 'id' => $post['id']])->update($data); + } +} diff --git a/application/admin/logic/SupplierCategoryLogic.php b/application/admin/logic/SupplierCategoryLogic.php new file mode 100755 index 00000000..ef7433a1 --- /dev/null +++ b/application/admin/logic/SupplierCategoryLogic.php @@ -0,0 +1,106 @@ +where($where)->count(); + $list = $supplier_category->where($where)->page($get['page'], $get['limit'])->select(); + + foreach ($list as &$item) { + $item['create_time'] = date('Y-m-d H:i:s', $item['create_time']); + if ($item['is_show'] == 1) { + $item['is_show_text'] = '启用'; + } else { + $item['is_show_text'] = '停用'; + } + } + return ['count' => $count, 'lists' => $list]; + } + + /** + * Desc: 添加专家分类 + * @param $post array 文章分类数据 + * @return boolean + */ + public static function addSupplierCategory($post) + { + $supplier_category = new SupplierCategory(); + $data = [ + 'name' => $post['name'], + 'is_show' => $post['is_show'], + 'create_time' => time(), + ]; + return $supplier_category->save($data); + } + + /** + * Desc: 编辑专家分类 + * @param $post array 文章分类数据 + * @return boolean + */ + public static function editSupplierCategory($post) + { + $supplier_category = new SupplierCategory(); + $data = [ + 'name' => $post['name'], + 'is_show' => $post['is_show'], + 'update_time' => time(), + ]; + return $supplier_category->save($data, ['id' => $post['id'], 'del' => 0]); + } + + /** + * Desc: 删除专家分类 + * @param $id int 文章分类id + * @return boolean + */ + public static function delSupplierCategory($id) + { + $supplier_category = new SupplierCategory(); + $data = [ + 'update_time' => time(), + 'del' => 1, + ]; + return $supplier_category->save($data, ['id' => $id, 'del' => 0]); + } + + /** + * Desc: 获取单条专家分类 + * @param $id int 文章分类id + * @return boolean + */ + public static function getSupplierCategory($id = 0) + { + $where[] = ['del', '=', 0]; + if ($id) { + $where[] = ['id', '=', $id]; + } + $supplier_category = new SupplierCategory(); + return $supplier_category->where($where)->column('*', 'id'); + } + + public static function switchStatus($post) + { + $data = [ + 'is_show' => $post['is_show'], + 'update_time' => time(), + ]; + return Db::name('supplier_category')->where(['del' => 0, 'id' => $post['id']])->update($data); + } +} diff --git a/application/admin/logic/SupplierLogic.php b/application/admin/logic/SupplierLogic.php index e608b5b2..db529557 100755 --- a/application/admin/logic/SupplierLogic.php +++ b/application/admin/logic/SupplierLogic.php @@ -7,21 +7,32 @@ // +---------------------------------------------------------------------- namespace app\admin\logic; use think\db; +use app\common\server\UrlServer; class SupplierLogic{ /** * 列表 */ - public static function lists($get){ + public static function lists($get,$category){ $where =[]; if(isset($get['keyword']) && $get['keyword']){ $where[] = ['name','like','%'.$get['keyword'].'%']; + } + if (isset($get['cid']) && $get['cid']) { + $where[] = ['cid', '=', $get['cid']]; } $res = db::name('supplier') ->where('del',0) ->where($where); $count = $res->count(); $lists = $res->page($get['page'],$get['limit'])->select(); + foreach ($lists as &$item) { + $item['avatar'] = UrlServer::getFileUrl($item['avatar']); + $item['create_time'] = date('Y-m-d H:i:s', $item['create_time']); + if (isset($category[$item['cid']])) { + $item['cat_name'] = $category[$item['cid']]['name']; + } + } return[ 'count' =>$count, 'lists' =>$lists, @@ -35,10 +46,10 @@ class SupplierLogic{ $data = [ 'name' => $post['name'], - 'contact' => $post['contact'], - 'tel' => $post['tel'], + 'avatar' => $post['avatar'], + 'cid' => $post['cid'], 'remark' => $post['remark'], - 'address' => $post['address'], + 'honor' => $post['honor'], 'create_time' => time(), ]; @@ -53,10 +64,10 @@ class SupplierLogic{ $data = [ 'name' => $post['name'], - 'contact' => $post['contact'], - 'tel' => $post['tel'], + 'avatar' => $post['avatar'], + 'cid' => $post['cid'], 'remark' => $post['remark'], - 'address' => $post['address'], + 'honor' => $post['honor'], 'update_time' => time(), ]; @@ -72,6 +83,7 @@ class SupplierLogic{ $info = db::name('supplier') ->where(['id'=>$id]) ->find(); + $info['avatar'] = UrlServer::getFileUrl($info['avatar']); return $info; } diff --git a/application/admin/model/ScreenCapacity.php b/application/admin/model/ScreenCapacity.php new file mode 100755 index 00000000..6523ec2b --- /dev/null +++ b/application/admin/model/ScreenCapacity.php @@ -0,0 +1,13 @@ + 'require', 'disable' => 'require|in:0,1', - 'uri' => 'uri', + //'uri' => 'uri', 'type' => 'type', 'sort' => 'integer|between:1,1000' ]; protected $message = [ 'name.require' => '菜单名称不能为空', - 'uri.uri' => '地址不存在', + //'uri.require' => '地址不存在', 'sort.integer' => '排序必须为正整数', 'sort.between' => '排序范围必须在1到1000之间', ]; diff --git a/application/admin/validate/GoodsBrand.php b/application/admin/validate/GoodsBrand.php index d979e9c2..878f287c 100755 --- a/application/admin/validate/GoodsBrand.php +++ b/application/admin/validate/GoodsBrand.php @@ -22,14 +22,12 @@ class GoodsBrand extends Validate { protected $rule = [ 'name' => 'require|unique:GoodsBrand,name^del', - 'initial' => 'require', 'sort' => 'integer|egt:0', ]; protected $message = [ - 'name.require' => '品牌名称不能为空', + 'name.require' => '壶类型名称不能为空', 'name.unique' => '该名称已存在', - 'initial.require' => '品牌首字母不能为空', 'sort.integer' => '排序请输入整数', 'sort.egt' => '排序值必须大于0', ]; diff --git a/application/admin/validate/Login.php b/application/admin/validate/Login.php index 1e339253..492dd983 100755 --- a/application/admin/validate/Login.php +++ b/application/admin/validate/Login.php @@ -15,14 +15,14 @@ use think\Validate; class Login extends Validate { protected $rule = [ - 'code' => 'require|captcha', + //'code' => 'require|captcha', 'account' => 'require', 'password' => 'require|password', ]; protected $message = [ - 'code.require' => '验证码不能为空', - 'code.captcha' => '验证码错误', + //'code.require' => '验证码不能为空', + //'code.captcha' => '验证码错误', 'account.require' => '账号不能为空', 'password.require' => '密码不能为空', 'password.password' => '账号密码错误', diff --git a/application/admin/validate/ScreenCapacity.php b/application/admin/validate/ScreenCapacity.php new file mode 100755 index 00000000..87c43b13 --- /dev/null +++ b/application/admin/validate/ScreenCapacity.php @@ -0,0 +1,50 @@ + 'require', + 'name' => 'require|unique:screen_size,name^del', + 'start_capacity'=>'require', + 'end_capacity'=>'require', + 'is_show'=>'require' + ]; + + protected $message = [ + 'id.require' => 'id不可为空', + 'name.require' => '名称不能为空!', + 'name.unique' => '名称已存在', + 'start_capacity.require'=>'开始容量不能空', + 'end_capacity.require'=>'结束容量不能为空', + 'is_show.require'=>'请选择显示状态' + ]; + protected function sceneAdd() + { + $this->only(['name','start_capacity','end_capacity']); + + } + + protected function sceneEdit() + { + $this->only(['id','name']) + ->remove('id'); + } + + public function sceneDel() + { + $this->only(['id']); + } + +} \ No newline at end of file diff --git a/application/admin/validate/ScreenMud.php b/application/admin/validate/ScreenMud.php new file mode 100755 index 00000000..8ce0561a --- /dev/null +++ b/application/admin/validate/ScreenMud.php @@ -0,0 +1,53 @@ + 'require|CheckSupplier', + 'name' => 'require|unique:screen_size,name^del', + 'is_show'=>'require' + ]; + + protected $message = [ + 'id.require' => 'id不可为空', + 'name.require' => '名称不能为空!', + 'name.unique' => '名称已存在', + 'is_show.require'=>'请选择显示状态' + ]; + protected function sceneAdd() + { + $this->only(['name']); + + } + + protected function sceneEdit() + { + $this->only(['id','name']) + ->remove('id', 'CheckSupplier'); + } + + public function sceneDel() + { + $this->only(['id']); + } + + protected function CheckSupplier($value, $rule, $data){ + if(Db::name('goods')->get(['mud_id'=>$value,'del'=>0])){ + return '该分类下有泥料,不可删除'; + } + return true; + } + +} \ No newline at end of file diff --git a/application/admin/validate/ScreenPrice.php b/application/admin/validate/ScreenPrice.php new file mode 100755 index 00000000..cd0660b0 --- /dev/null +++ b/application/admin/validate/ScreenPrice.php @@ -0,0 +1,50 @@ + 'require', + 'name' => 'require|unique:screen_size,name^del', + 'start_price'=>'require', + 'end_price'=>'require', + 'is_show'=>'require' + ]; + + protected $message = [ + 'id.require' => 'id不可为空', + 'name.require' => '名称不能为空!', + 'name.unique' => '名称已存在', + 'start_price.require'=>'开始价格不能空', + 'end_price.require'=>'结束价格不能为空', + 'is_show.require'=>'请选择显示状态' + ]; + protected function sceneAdd() + { + $this->only(['name','start_price','end_price']); + + } + + protected function sceneEdit() + { + $this->only(['id','name']) + ->remove('id'); + } + + public function sceneDel() + { + $this->only(['id']); + } + +} \ No newline at end of file diff --git a/application/admin/validate/ScreenSize.php b/application/admin/validate/ScreenSize.php new file mode 100755 index 00000000..088440ad --- /dev/null +++ b/application/admin/validate/ScreenSize.php @@ -0,0 +1,53 @@ + 'require|CheckSupplier', + 'name' => 'require|unique:screen_size,name^del', + 'is_show'=>'require' + ]; + + protected $message = [ + 'id.require' => 'id不可为空', + 'name.require' => '名称不能为空!', + 'name.unique' => '名称已存在', + 'is_show.require'=>'请选择显示状态' + ]; + protected function sceneAdd() + { + $this->only(['name']); + + } + + protected function sceneEdit() + { + $this->only(['id','name']) + ->remove('id', 'CheckSupplier'); + } + + public function sceneDel() + { + $this->only(['id']); + } + + protected function CheckSupplier($value, $rule, $data){ + if(Db::name('goods')->get(['size_id'=>$value,'del'=>0])){ + return '该分类下有尺寸,不可删除'; + } + return true; + } + +} \ No newline at end of file diff --git a/application/admin/validate/Supplier.php b/application/admin/validate/Supplier.php index 0a3f75ba..ce6afb35 100755 --- a/application/admin/validate/Supplier.php +++ b/application/admin/validate/Supplier.php @@ -11,17 +11,12 @@ use think\Validate; class Supplier extends Validate{ protected $rule = [ 'name' => 'require|unique:supplier,name^del', - 'contact' => 'require', - 'tel' => 'require|mobile', - 'address' => 'require', + 'avatar' => 'require', ]; protected $message = [ - 'name.require' => '供货商名称不能为空', + 'name.require' => '专家名称不能为空', 'name.unique' =>'该名称已存在', - 'contact.require' => '联系人姓名不能为空', - 'tel.require' => '联系电话不能为空', - 'address.require' => '联系地址不能为空', - 'tel.mobile' => '请输入正确的手机格式' + 'avatar.require' => '专家封面不能为空', ]; } \ No newline at end of file diff --git a/application/admin/validate/SupplierCategory.php b/application/admin/validate/SupplierCategory.php new file mode 100755 index 00000000..c2437ad0 --- /dev/null +++ b/application/admin/validate/SupplierCategory.php @@ -0,0 +1,53 @@ + 'require|CheckSupplier', + 'name' => 'require|unique:supplier_category,name^del', + 'is_show'=>'require' + ]; + + protected $message = [ + 'id.require' => 'id不可为空', + 'name.require' => '分类名称不能为空!', + 'name.unique' => '分类名称已存在', + 'is_show.require'=>'请选择显示状态' + ]; + protected function sceneAdd() + { + $this->only(['name']); + + } + + protected function sceneEdit() + { + $this->only(['id','name']) + ->remove('id', 'CheckSupplier'); + } + + public function sceneDel() + { + $this->only(['id']); + } + + protected function CheckSupplier($value, $rule, $data){ + if(Db::name('supplier')->get(['cid'=>$value,'del'=>0])){ + return '该分类下有专家,不可删除'; + } + return true; + } + +} \ No newline at end of file diff --git a/application/admin/view/account/login.html b/application/admin/view/account/login.html index 622ae449..3cfea9ee 100755 --- a/application/admin/view/account/login.html +++ b/application/admin/view/account/login.html @@ -49,7 +49,7 @@ placeholder="请输入密码"/> -
*用户可以根据商品品牌搜索商品。
-*发布商品时可以选择商品对应的品牌。
+*用户可以根据商品壶类型搜索商品。
+*发布商品时可以选择商品对应的壶类型。
*平台维护筛选容量,方便筛选容量整理。
+*平台维护泥料,方便泥料整理。
+*平台维护筛选价格,方便筛选价格整理。
+*平台维护尺寸,方便尺寸整理。
+*发布商品时可以选择供货商,方便货源管理。
+*发布商品时可以选择专家,方便货源管理。
*平台维护专家分类,方便专家分类整理。
+HYMssKg5LvopxP7c{ zSUa$gIWekYws37Eeb_dHuocVJM$+eVs?shRa|Z1_de8D0Mpx?vWSQmfASo{df>Q?v z2k#ts;lySn^IBQK(t{BZVc`ah*uJA`8Iz=V2>45}pz?PY^2=WZ=q3YR%VvyRyh rkv>KIS*FB{oJ``Z|kvgU-+|KPegciqxd4 r&&?^zzY21TMgpLj}A6e=a= zfkKjT;ouy@IW}s&s?p~)jTsU`i(_?AD>ciw=5dl2m6?-v%#pb8v} koFl8g&Skt% z8c EYY?*1EZG6FpG4w1cnnYTD4Rx>5s2KGt+Ax zlJLC-P40VzfO9FD`qRh-j9yu?1rD@IuMK-N9#Z4MWRFDzh(WqymlFF>Nq%YD!k4W= zI8lbMJjRUf``$gH*||@bO~P4~_0|#xvSQTo+rHUCbI8@uZNO`uM#A E~OeB}v@3&FuVJQ0=efn@{H=?@%sa^vYr{+!$x?!AQhHK}`K< zdJ%z2pW8TLN;RHL3>$z`<#QhxowcIhseB(8p^WJQA ?E ziS#ni x<3XhSE@BC*?kwA! zQTC=r52=;+6eMZGb2IvSVYo@Cbbxj}7%KLR3h9Ixlu9@)j^SZ*4gu{H@)>w)52#ai z7=sc}IG4j&0!oP((rOg6VX*QX A@${5QOQM0@PV+~JU $y5beyr4!g z^`4PK2%%HHQgTntK^4G2j8Fig@gy|Ye%^bWz6I1axt_19&c8dC7RYk_zXCjLV8x!m zE^n9EbW|rithcabzop6X%5sxg{lVF_oby`ye56kI`Q9*H`)z+rwnO6)KEX@6$j>hq zFnT2^3Sjs<|IWbD$KiVgDk7zD rpUe3An@XIAamMqXHt>dJb`9rp z7PIYI>A;8pc6HD(vm#FspMi*o(svzmQ$$X^vwUplTw&Cm1B|Bt$p}7Y!3j9~Y)`|9 z6Sf~tNfr;CYk%$cANM_ni!X927chEdX(`0@h3!G7TD6r$RJ zJ=#o@4fINA1f-u$#%rpIxX-w>N-~%E>2fxlL#(H{BT%h~Znj1CfRY!+RC06%QI-pA z2@JW4MjsA){I#`x<{@A!`zH2W;!~7!&UdEv%eiNif1U&J`_47DJCpWUnQ8bFcFkW- zE@1SAq)R@ZgyztvB&t@#AeG}`QA8xx z1JugzsO1p@03~PM6JT=>A(#Co)M^Ntim;l8lVAZN0hug;TtcW} N!#W`@pa;#yx z)A2-(-3*Hid{TbqTki8iA-fJ(-xJ&9BEOVez~}{K9OKeTJMJRq1!{8EEZoelJBk12 zFcR9Bd!Hj}i43F1C4=` BT<-KDZ$~a*^vW`ZRLVCpAmysk^RXJ#y;zpV zP$DQvw~h#9DuWCzN=f-;(p7ha)=L_f%%%65zBf&6)2F|d-pF9nj%Bf&5sWqG?EYz@ zb$dq^x?^WVhXzEmR|Oz38q)9l>{Z|>RowuYw+gFSX92-FEjg#BXTzE-Ot>}1!b7AJ z%3#+nn|$Xy;(L*&cs}=SdjYN2lM5KVA?e43)Vg1V!0> y;%-%_WU06OsD(dwEcQs-(H{a(#0-vPA*{dN>b_8F?~xnC^btU_AXyl9g-*mwuXeBriyS3`7p)Ue5q%^q5*DelAS( zSRHT7NXkQr9t99jH8{rhMncB7F!r7TVowFUr-a!qA-T6D7chDQavy7{4b#nJ_OhCS zkj7e1%M 1L+Pf WoW3Z0WC@$P-Q>?kyKATv+T&o5$S1`Z551= z0Vb9C5fwxQm>onSQuU@1#xoDMc~*_*S1EOMQoYWr!^C5tXa DQ$$d+18Bw)@V zMk{OdsN`op)ER(me;1IPc=AsPTV6b)my>h){Y`?=MOtaXbZy8je-{PXF0}=xA(r-c zX5*pZV%;y4LQ%la`|?&`s-6cY49>UD6fGAoiWueQDp{2VVuCUuW=|r2inQeFahWZr z`jG3gmY$#5c4SLuwF&e2Hh*;2`p~^Ne}BH!VEj1^&5L}$T)^m!OPezq^FOoS&BDil z(S!hT_FP1YW&iVguQkU;Xv24@91ynyV!6Nsv3UyB1JW`!>08bv{m4tEs+@=shnZ8S z?N}3!29ufL@jbbsi(KSBxq#6NO8atWtJcP(%vn|=o37h0=YrCHC;5WO@$Vad@)T*O zI(Tonf?1NkB`pA%MW 2FHOWr0FU z-dGdU&X`~&H!&oZmCiHxp0jY~Ys;vVEBlc8Woa4+=U1?^d5H)BIS0oA&kTtIas=m{ zRZ(c?;{ibl@I+~zp*D2Jsal3+)<8!p$OIGnDQO!q43e0}j-7^2=OMeCZ)&ff&`vE; zmtEwwg(OWCl5)G0*pnyUT<5gP`C} 0i#!v$0m>a-1F%} zHjY(V-+TZV03j8PNeV4CO2|H9C1=L-A!=Isc_n)T`F?OAY4nCe>rrs>f^u O9Y$aSF?#nW{sn*ZpZRvyJysRM1GhBApWkP?_gCkrhg+(Wt23ngGc5t6G3vnt7`=fZom}c5(ruH!ppW%#*bPDItGnwsmLuqgwhk z_f!YLzNHuOC1n<-YY7TOR;}B6--YQM1KxXZ@;1D;b*iZZ-9)nUiky#0$A|V|vSQ~p zQn&vu#~}8m66 Y5JUA&+-ECdJ_YXgAwiMC36ojRti%u<`s7%;AQ&T8!aK>P0l z^q(G#dJFI6mF*Y?0{Wz^sHCwf6%bUlf=v25MuGSBapk# zah_&~stv%N&c;>{EOSvKMeWABAF-lFkG(gs+=fj+f)z)L#4;#N#NF>RC zWpGC<(Ht_(#DwO&DGf}Ukq+9w&*chdWQq3oIdaFn_j0md-uHV6Ge4V$_87@V1Um*2 zNhTNDZTqPiKF#w e5IR!`glVvN@2gy?coUJMW4^QVl}dI+FeVEpO9=*^2(vOsUK zJTPA55ptraFhqlf(9BcXe=cU;OUq;8*=<5U$KXq8pd6-aYSMv{;uyRuX$*>T{3s=q zN_nEH#;YkHk80u8=h%nOdKTdPrT>*Z-uEiSNFu_zc(C{I%y7$s{jy@+?`!}zrCc)G zgpVQu2@z2R5E~f1Z5!_H?hs?dwr$w94T7p?#u8-r8KC3&wbJT>R*ya8owvukfYB=p zu}#u8#_3h-yfZo4D`^=4W$cQU3`7rKovU8{uWYPd!C8Jpw6-JNz9%VAh?SK_#QhWQ zy)`-SG1O%(7%^vS)Y(gvemiD>0d@{b0$zMZ_43J~y6%|FJ&>zHWAp4NRR-6T@JnEr z=?hbDrs*lFwFCnbL39A9bC2rLcty?U=^*#MYIVG%Bvvde^h*GoXIw8HZdtH+59b|L zzu@Nj3XAuBSa}!%0=4QYhwX^NcEs`SfFKd!xFIy#)`>PPKPk}&G1Wdgea0cw&|lRL zb1>@4k!6tWj&H~Obo=%D!RWDW^kb~Er^XyDk^IoMb^TLfrI~f~lqf-KsXjJb)`COl zK65sh?L62KpvI1~L6r;vp-fPdxHIM0+$%gNpfS&vBeuVaG3}TT6;QVFF`^1Mg^&Vj z`G}m~0MdkRM2I<=`izEmnaSr&HG%JyN>DHvi3?@!Atpo>IAti+&%#Ubko;-@v@Bdg zb+hN+heBMU<7@pepdywFVCzSDDtHlrx@K%oV|A42={4AZWL0>oGghfOD=oy$?5|Bo zxRv@IY4bmK?~FZ&U5 zhzcYKf&_S0ERLY-iYO5h97rNWC5?-->pTX9M1md#5JmtHpdfcNV~lccN+Cy&!|{k? z42X%5E6_4k7eT T;=#E25hGk5IG;7o=I0r-FZ*E zy{8VF Do>s9DBsIIn*CM0QJr7~6Di0!C`bx(|$WP$1tkD*mm?EZ35&D$Kwr zU;nZ!U_v*i(P#{G-i7p&8y2!c`Y23cE73IJJd>Qa8s*$1icfiV=ZF$#&*PqUYX9j$ zr@g+1j`yDPUs}fb2$%@YE!eLf`~42TEgM!xSQm%IF|O7X A1$#r6KGOrI8GK#Uf>$;3ZqXSvtpb-g+mJ>|uCuL^KXGUsIg zI?trLzGk258O_=}|GPa-0ko#Na=Q&Pccpz=Z!Ck=dsYNl&V}es=PqiA3OxYjb>3&X zH%gf9L7-0S^8IFJ8~c?3sR5vwQ86Vbz<{$2b+y;=6qe<9u8(={pMgs|C;q55~Hz*slv#&+yFHV#MKaM2rE);}IdGxzBQ_l?hblBntp2 zdF(aZ?EO-PA}q^l{dLFPOw!B_-Y*t9U5^LKv1^K>e&V7%}Ec606&X>Wh&N;YLn~tbjr>#1!%jQ;oJJUf0H^81V zTRtgy!4m77RAXC2bsSM) $G^tHp0!36x<*01dM}Y&wL*bzC z5OoNat^xyyP&fdr4ld hToB28;ge;FB zBv4U!ER(w;&}4kn_sz~~wr#z>G|jpKs_~@HjUcaTicd4KLA1F?1X2QPLmznN2mk;e z07*naRQr9$olT)|=I9zhfq{iB4EJHDxLOnoJAes(zhbv~XbkxJ^((e*LkIy8iiqA= z6s;j)pn4dNQa>tQe%1#HAb<$T8}itqhfjrkp$dpV=m;eSND-h2VjdSr4FL1=6<~=g zLKHwEgcagEI0ldkkfJN(fT#yJe}ucaMqmLggb<>UYEnN9$I8sRct$TMqvw(qPUzM+ z0iW^jwmqh5$+yc#OVxoPavG`|0gQ;is`zz$qgFHlQ4jDfAZ4$p{LNIRj^Kva(6Pi6 zAP}MeU@G+lTXx(SQX8Mo%rLVsU2XtYf~aZJsA~Wz)$fxwM#fy-^ 43~03>q=O?$Ko9PZU=bA-Q68-Z*LJofTTQ(Ce~~LbD#iDdG}Mrk6aQc zVLL<=q*91A8lxEkF(RbU-1UB!qsBH|BZfw&Sc$N<5(%d&BvFj85QA;M`UNWiBsRd7 z$ns(YhocyoV%hKD_A59LJTZ<(8}nrM$*%7LMlUEcr9y<_*?bEaF(Xw2IQ5K9lEma8 zVlmy*{7^qz=Q}n^zgzOSq6|2eylu$~ie*{KGqK!K^`f%0;iv*kLnv_keQw#z<1N;4 zbMEc_vu&&CgJ!#VNbyH>fnO<1#{l+=!@77lB6tU^i^sY;tbWDf9HI(tzuY2hl00HU zh{+3KHcva>GpW8J0f1@&gitv!Kr$oqGp(M#g`F3_fZc)^Zn593SiOVB0OIPwN{mKK zKsCgc#fCMs!w$k0aKIgQOkfQua**ieP%s0!ZP;SO)y*{)=OK>Zy*>ZK;ZStZi-FOv z8=9L-RSqcQYWnN0svuK`TkX&)#;g=)?RU%4ejx-n=Wsk8OBfKSC5F23AL*bX@{WeK zevf3ZPb@g+2_;7QB7!Nou z4tr0~Z7VrXO5sIK`z*_XWm(d-+IfUT=awiq#sH6q9L9|?1E9l7z`CwD-rboIrwd{N zJK*9Oy?Gfs8&Szok6ZQ@dZQ3e*j0lE*4AR1h5t@$X)XV~dpW(o6@=0jXSZ=KjWbHM z>DckanCOp%+G+ GY`LD3QPDfcg`|*^FWDGC z8a2 J7eOU!t8QRVk7|1E|adn z4Z&grj?SaWCpE|{{A)Rm>{(lH$wqloohUU>3%_>VNsKL{`NrkjeR2Zl{&@WReJ(^e zWB$!0zYz@N_X-M^-pj??n4aB2*tup55D_E O1#uCKAW1#WNEADm15T?lU38y%c&(#T~os(3C< z=E*8QXdYNA0*ML|%U4BKgu{m8Ch!TQb=eR?Jn4T^FnWsKelPmzTnObk+MOL|v~qi^ z8&$z+OxAS<&E8Y7&~fhcy$1vU&>Tw2#7qV<1sn<`0kL%sEgFdni^g0o>?x$k~_~ zsbIv(Eo;lvzh`N~U}Np9F>DD(5Dl=BNCaX5JF^0-m*Y?auKBrJnHMG)X`wh=_Pp{m z0A??00s9I{m1$>Ir4dyWr(RJm1C_6>TniKoE_zxMNMy-0|3V#3*IX&%m3cSKL6+rt z8>IV`LW&I#5iv*!inat$Jr@=WHyhliWwVfC_Z&~xf2*|juMJPn0I@!$Oep|%yxLeE z20Q~h4=fBU-ev?=6>K355RK_RfvsXf>RVYv>>MH#k<1ecA=dkhypJLm=q|jOhi;0R zj)4k-2)^Fk!gw?u!h3)f>>QSruy-pqT8medb4CkWn9Z$w1P<`bxH~v(-a|t`NMS@M zz#G!g2!&UB&WMLnNxapQmoVKc3vrq;^lUgLDaRoUR}`tr*)Sc@Gw1SlU6@YfmnvR4 zqaU|23(Jj+x>oWsMSTX=FhJi~!>m0<^`K6}eAN8zz_mHm3Q}|CT-hi0kHN^gAB_4j zMYCo1weeaqKFhr9q4Ue*{Up)h^K>GPBn^^I$~Tqi$qc!YCsaPUUwuY4)sKYLij2`} z0h-6D=3OhGQuon3lP2cQM0+Vg6j2naN35O!+=6Kba%lkU;<2tCLN?riI90l#R6kKU zl@wwyIWT#sF5m!=nunOLE2 eha`**|UO>jYOdn>cY^$CPXKN`@J6o!8 zOEb0@FHV%_EIi3Tp eaEN-sVEoQmT+0n3);P?S^Cc7D 87Pe82t^;pn{IFWb=FL&p%cu`!vbz|6Q>9Y_?52Nn IhAYAtn;#4Vjp+=%vq~fQNnK#tlPa7p(#}=t-`CUS$qi1VBy5~wi;9j=J zJeBV|+RUqIe~(~vpSP5kzcrZwW6O9f+jSv!dmq @GHZ6D`cvv7Mn;Dg-GGQ z(k#`g=Avre4Jv3w1wsm&YLj>Cs(4HXCO>e^Dc2=rxt=>5;l%Vs41#To*tUp2{`iQT zHpoVm)v^l^vCyKVlOc&Il*}LpNPaIwaXcQ&y%Z74MLE~KPrwC?UQM0?Mx0##Hi10? z(x^OV)^4`svZa!hW~ zC2SoYfoGW3{c3^QCUo`AHwwnR}x&6!WSf>x` z90Q>J+%NZmQTzKLFdDt?@zAf;&+7TrzeQ@!C_gnW;Z22K2 }t%W=PBx!g~W_3jq=U_72|p N>D7cbGT%Sj{wxPZ}% zNt>tXLTAJUkboN2soxRIOZx5=VlDT9?&0R&ZJZha9H~`sF^U(+nPsEim$-HZa8gUl zh**W*_a3lQ)X4zH98d{+CgzZ5h9~ RBCfY0Vu_IElii@ z7|Fz@lrnluzj95MSW`cRGL8oUi3cR*l4Zkoyv1Ms_#K{(aE=fq;0uNHo;WBtl@7A= z6SbOi7TRWb0FenIj4i!u!FhnH_jv)MSCG+q9=)Mi7_QVvqdrDmtas8>j=q+ZKR4!O zmb(H@!+Ybt-xK41YclgLTQ6w#F>jN*u@=sq=8HN-hiX*x@_qMl`do+gHN@I%^9|20 zKlgFcySBaJNo00c14eC%ta=4cwc}q%O43FlN@ &Bv9R;L|B$RC=Yc2fK&;*Rs=VFv#uT@f@QIY&Bi+$!xRFx zZ7Y5H0!BYbT5I&&a{E3_sJDu3%t@Rk%&TSID$u-dd)yI>>ap(6J?P8670)iMBA#7; z4?bfZx^X+|O8?C6sU5U3ATw#?J~F_4=iJIU%YMAR{CnKyq5V5A2&X_af>F+Am<4~H zpfLi~W8_B~K;tuT&S>oB86}1*j&MZy?ZXY$m9gLLaJ5@-vj_ZYWqrJJI2;bRJ#0;$ zDd%gG6H8+GBbzJ4yr&FE**hv>!v6ckL@oTMoI-XQpm2yx2oQWde1*ps>~|hkh(U3+ z13Wvd%L4D6)xH}~oNAbkDAmk!E25lU;026+ptQ z$5rx#uCG==zS@9sW!&D~;qLZ`&tE>{csQEplf4?L%s5rXaT6QJDmHb40Tp-Tg?t~= znZB4CNiZN*0)z=s3EL*PQ^p}gtd2n%!JiLsUa>BWt5tBdTd-dQH~SU-sx2IBVY?ji zrDjlgzP>IeiwhY2aJld06cIS42e+-DaT;36%CQBa(Mq3(|1v==pZ}&jv`d`#KA+ zb@u?h;w|?jZCk2g04ItKNbIX2XEJ)i&vh+mTJ6_Aj;j2SjKFh_!0;Yq<|z^Zpa^yZ z$AD+W;t9Xs?D64dhmSWmxVhfp!}SeruJ(wB1z!(Ge7!s3_V$1;pTA-|Zi&*Y6^smp zAZmFY5d)(rRB}Z!Ij4@f_X78%KR7{@0Ad7Ds5;yQU<(n92$Bd6iZv=k0-yw^4%-s2 z*QJZblqQGk3o#_hx-{>_1&n@}w0WCzO1^@ONwyHoLN_Lz0T2UPJ)qW#_YNQu5T%K# zNWmlkCB|Hu8kjhLD@ZjZQH{p~vU*v>jBVReg47f(6F`U$ycBOQ3lJ04v;}AjJz2p? zf=?j?1zaL?AmGaH!DN=7a|*{cFO3ztWGF|QQ^+d>!A7g6F-Wy+i*znb?g!^U;VC(} zSw4@vH*$nzHI`=#a#`I$NTFaTB0$d06#yueaDk-f&XB~n8i@<$UG=#PvwX7$U@NTm zWS&JsddM8C$ut( B2XPTQ4_xn8-0b$a+U@Zlzg^+_ z%6?y8uh_3Em>JvVum!>AFSoe+dW*ZSUlEQLdJAHAKO|arR6 kq~4%aJg31cDAkqA#UIzz zW4&78n6O`WSQZE82+PV~D6X$otbT!aHtJk=Hl1?zmX^gAGDA*@08%f%lOSU9O(nnIzhMWF$dCiyc Pe&^~X9GTwsnqrNc!{&Y$@j@@WKlnG;NcsWpH;qX?RimR z>E%b(wk^a6n}8MgA^~wFNYG?}1^n%Ae?`~=)GJol)ET*- hG6R^0)<3lEySN9c zpfrGUx7*?R`WnAo9r5w{3cr2)fZwifuzH89)#%$%fo(hB%hx-6`t$|={__r>KYzjJ z&v&@J4G0@>fYG)k0aDan!T(GXRkB*um*W-z0pey=DMSMf+kfL9|M(kLA&4WaN#}G! z0Yp<}aMM>V>8%SG{Qx=lVvhNmnG$Pf5N+FQ+c?)|`*)ipY#Cqq+)8PA$3TePU|5@c zFU@Tt5lorzkgqKtJDm?vDg62TLpz@?v)q{h?E)exAhfPl1ak3Kt=M}TN3uEx?<|Dl z*#T_#Y2ELjT!CnI@7sGlleTXZ&q7a`X7>TWIY2mftoHBx-AyfW#(QfC4;E&M7_Dx5 z{`I-HeQZ1jTX*j%f4AIsPs%km%dD@s(kJqB1%T~%#6OP*gsAv>jQITJD?WX>H4yrG zhuhmDwoR;R0U=dV05*M^1NfF@=BYE)!mh_?eK;r(lyD43=zsnj|JUFD0BL|nWva$J zX<#%uxN{C*hEMY(UBKuCWmI10mYv(@p>1dTwrx}psop|6CLmk mM`0a z0QwaS!9V`?J6Ht!{T@U{?{ 0Td%b2te2Xau6aMBJk< 9D{Nk{BZxuzbKyyxw2>Iq+!044EEB^N7&cuW)%d$XWr8htd zM>{Z(*l;$gn=}}&|BUC9m1Zq1WD3RdMIP)G2!dmXaHJ5ICf|z2x^qfka) rI>#66!%!s+{$}@-a#_%U`1aSm=!n(RrL1FPbEX#tOCoBuYQv|OJ?-{#g z!9ot6jR7Ky!@66cWaTK=WgQrgd8+Uhr1MnD^DIFI@pj&z`;_;oWEBViR)z&6P_pOh z6lETvNKH}AR06sU4d&yW9H9ZE(}AjeIL?R=R$FZhO xE^v#3LKFRaEdbrlXEcIvKBtF3c?9xV(b4?(!=BRVeW|&e`M$GfHakx71cr9Y zOt3?Lo3;5p(zgFChR#FBZwFj5Ej6^JnS~yUhdZw`_&U;_#!KSkc>SCvjJ9dY9kwmn zC@AvSV6)SHJ_7s0hO4i4_;78J1 g{T2s-CHqOADx?{WWb+e!N~@1|X! zD?u0Uh)zofDfg3*0SUn5l(9EcL}$VC2ZZNFPld>)NX}qX#}uuWLt?-?hW8HMGp?2$ zmYt0yaf^prQ ;3RO)rxl#$yW#Ko#7=0}v%JZioy+6s&14Edx1sl+tZ`Y^0faU9ktKA*G zd|hy}U$IN!Zh}?z7P@#wFD_H1_MQFOs(R1g#FnlN)Cv#gN#*Iv6On-kED@}US;w{H zO|~EzWEonVp?tP^q#qoyYr%TV7cm>qjA1$=g7;j<7_F}4iJXo6g UxT2^u4!H^qAVwMAQLt#Nn-Y zL~liy%`o-eVO @3BYP)VMu{MwUBN8eoVfmxr6!WusLnS&OjWXR_{zxNf(u#AYp9-wbT!#@;<3l zO(s4>OHGGFKmaUhu4)s& Ab2tw+I z=&yyp^H@)j2L}-3Q+a|>%Pj}y!RDppt#cpRBCs&QDR4uA4-{~H 0jE_;eSrem!8f+aYcN?46Y_!v&0fDai`H9|+syhEEgi5l?E9WiTDW zfM?4D{XpqMm3<}dW$_>iwS*G0<%Jdx@ IY&z9w*v?wvD+paB!e52{%#W%?MXdW8&-gO+_o2aZh6XGmE<7; zxlbY08cVrnBJ9@%AFlVf-a8=d5Q5_KUBu^u;4U5!j|VJH07QiC4u=Cl^$2nftTk76 z0i$0`+R$AKMy(>Y`FHw?41kRb02+crE|EW(o8(7J3yAq|q++ptF|Q$ytY_jf!d_Wx z86fZB*ugD?-F^@6eWCWYmTlV-*l_iJR8MkTErSl!GX+)E=DTUwbRxM_^z&7ucnl-) zA}=F(iW}?uiOd1(%V857-4S T;7}G zc7z@*Uv~kcUsNhs&1Wplx~vVyF%gd2R_WcS+kUIp@LZy*@C(B)1m;>PA=i;BHUHSa z$oa(P@g6SKBWox60(#2$3>@ NKeP7RWwU!e+y5Lzdkhyox8X1wi*}LsDcw6T z^b;Zidk?qn0jHoG(S^b*uv_ wW@jcg4!@(UQVh|u@_EL;-#&sP?S7I;=pOugE41x4s^6(c8$_* zGYk2(+suBC?UcXI?59K9d0R}{?9Qe6eSxJPAk~>IZ@=aR-yza?^_eWiOn@rX0qhp+ zuXgzG@fv^q$6q0Lx1bnt+yoL7p3G-< cnp_Vh!Y&P6+Bme*)07*naRJnO56iXUo zWMHD*SfMd|H;yAZH;+`7`$B3zB2?EN_vAbpPk02Q5W;ER=aE1;TTkx!azht+UU_Mp zS1^JAcUwe=!0qi<{O#|5!$t}g1%lvC0JuO$zsv|K6U>kUT(aW;gkY5#fD0J?6w-!r zx>y?e>If}~p=F2}gNz~3m}FMN&RWUdPNqzU5IaC>r=b`NsJ6$_#)EjSYo G`nhW5vP3cM8H`i}>$ ?eY1(ln1V9j>B~_YoEe lQ5VLU6)hWiUDOobrpRMpbtJ90Z;ikkIrOr12DX9w7v~F9Q(d z`_YaYl6>81{-7WcAmA87BAoQz%Q(kSz5dgF!LjxkiFqF@-=Evd=aJ8`^{f 13ukF91m6#PL$x;A*6`_JsD|-V1w7008ZDYP2cMxDF7C+ z>6;WlfIae%9tFcHdVqk#2K?85A94F7;$PQC+*}cMivvX?4k0SmWsmDU0gFOO5!Bu( z&?RT|re$V5XCNAv<^I#XylpM5W}v2G2s4QR(ijSwjjegBay~Rh=_BbrDPpX7u)3U5 z)roq|HaE*@+k`$pG(L;^sik$88C%%W{qDhM-2a>>Rb)``B9au;DLZcV_j{FdW2# w@2IJe<`m#z6xjZCE70`#L%0 zrBLb{m$_n@Dc<@1++vGLnhseT&nPpo=89@IBk0)>Q*kzWR@ce3JfrTY=Ul;I^e*i0 zw){~~LTJHg%&}=A1&sIQzWdO5IntbuB2l#~@Xx>kK;z9+?{z%>=rM>&0i*uf@Atk+ z8_n^%Yx<@q^K#OLgnu+Jb>Zh%xG|ahBLLVD*1f~;zwPmV{`D{Tcyonq6a3FV|Aqhg z?|) >CS2VumpU=@!mzk^?G z9x*rux$0TwNh^U17`<7UDacl;@-SC D#xMq2UdFV_BrAbr= zC3N{CN@2KXe3@sVoP4hNu=%>YulH#5jDVibt!WI^iDxu52$}+;gNH+8Q!xX1n|}Py z2ud|)Gz=onVAcGNG1~SiOglcqna4HrfFDy =cl(`%4^Ggo=fXpwjs1pY1&|5?s7&mFlv|Q zoKj}aY1CqUK73A(3#Y{xZCuv~GU%`C92i+O?!0Z2ll;M6#YMhfh%!*5NiiL;IK{ds zuC6?AP#hKq`f!bpR{{}-Ee8A_cQ^PN1jnGbi;BBr!2kMmhtHosH+?qEclI6cuS*{! zqgP}DoMK%*;^z7qA3yA|E;i+jr-+5uZYTwC0i!o1W2mNGuBwQdO7LjT!$&wcAk9ld zB?+sD6edStNVNUU^D(=}4%^P^%216(v6duulUvG4J9|N<6s3S2X+xk$p8{}+U-LYY z2^^HJ!9GHSNJc^k=^RM`0^=A3J~8fWB6Wr+fh2o%y)D=(c5cFg+3SnJ=5z{SgQWR^ zln6nAAeKxH5m4!=;k8}64j_+GZwLnsP%txsa;gz{OxM}m*Aq~q6c$8z#wvZ~Zp$O) zXIHl)0$7`h9l83$0Nk9EPrhG0koKjN(q7%Yt?N&(_c@ENzIRatoMVI#;R2v{5!e)R z6v$yiyxXu_2<~P@)HL_jx?qa|5`nv*xZ4C@zi#;bZ(s1wKX>@&zdqsLU+(br2*{Sm zL89Oiqy{#i*qCXE5J-UtDr`On#sb2!rdeQNI)f#EeZ `&QHE z^*!5*%!Me02#vmq&!6w`pa1nwe7IV0wK!anhlBtL0n57Lw-3L;FCKvaVh ~XzYvGWVq{|WkZi(5G$L;;hTie>WXGhM<8Zvjk<9X!^Bar1G->KN<@vTa}x ze!p4p@wYwx_~RPayA_L%ID9=I1T%C)2qh|W0i$;+BN+8#d(J7A-g+IusJGU?1B~w3 z_N8R>7G|D94Qcg50M6w!Y@Z&CveIvB*%|oNV~oQK9s@?>`L@e5^Y8vP`zgXN^8Uoe z@}%EHR-iX|qFVs|_3u0U=k>p_tPB3JUoDKQ3UUsz-NNr~u s})zb zS6Cc_Q@_<{Aa{3nKnO^Fvdv74$@`lteh?HyimScH$EzKF|9y|Es~xV^6=6F9BKY{% z6@UH975@0J!~SXqkvqhrg$F~}5W=yvdjX>t6jd!biv0UNYxG>WPWx!dWczuW<5U9n zjgvgXW2O{ny`U^@$(&j8x==@-*#hr8l4hJu4)bKdY1ij`k-Ze5mI^vU8Y%ZfPV+n2 z%4^Rfh#;nI>)>GO&Y_hVE3Eyygan7&UjB>(7AxyCe}<=??06m(l)EuyL>;qyMqucl z`{}c4x0#*Wed~Tj$rOVO04iE)4}bo;;lKX*6>j;2^{*d6BDmh~u%tc~jt8vE0&E-n z$~K +=IDy0&AfLfQ0z(4=I1+P0eRa`F) zLaFd?5YSQJ7eUkrCmUo72**1pIdIspBf; !4@iE;^dr=3M7+& z8MwY$@W*f0_{Sd~@E?Ewi2br6h7E_i1