This commit is contained in:
parent
9a771acc77
commit
8b5672a203
|
|
@ -0,0 +1,16 @@
|
||||||
|
[app]
|
||||||
|
app_debug = true;
|
||||||
|
app_trace = false;
|
||||||
|
|
||||||
|
[database]
|
||||||
|
hostname = like-mysql
|
||||||
|
database = test_likeshop
|
||||||
|
username = root
|
||||||
|
password = roixxx2008fffot
|
||||||
|
hostport = 3306
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
[project]
|
||||||
|
env_name =
|
||||||
|
file_domain = www.likeshopv2.localhost
|
||||||
|
|
@ -0,0 +1,8 @@
|
||||||
|
/config/install.lock
|
||||||
|
/public/uploads/*
|
||||||
|
!/public/uploads/index.html
|
||||||
|
/runtime/*
|
||||||
|
!/runtime/index.html
|
||||||
|
/.env
|
||||||
|
/public/upgrade/*
|
||||||
|
!/public/upgrade/version.json
|
||||||
|
|
@ -0,0 +1,7 @@
|
||||||
|
<IfModule mod_rewrite.c>
|
||||||
|
RewriteEngine on
|
||||||
|
RewriteBase /
|
||||||
|
RewriteCond %{REQUEST_FILENAME} !-d
|
||||||
|
RewriteCond %{REQUEST_FILENAME} !-f
|
||||||
|
RewriteRule ^(.*)$ index.php?s=/$1 [QSA,PT,L]
|
||||||
|
</IfModule>
|
||||||
|
|
@ -0,0 +1,42 @@
|
||||||
|
sudo: false
|
||||||
|
|
||||||
|
language: php
|
||||||
|
|
||||||
|
branches:
|
||||||
|
only:
|
||||||
|
- stable
|
||||||
|
|
||||||
|
cache:
|
||||||
|
directories:
|
||||||
|
- $HOME/.composer/cache
|
||||||
|
|
||||||
|
before_install:
|
||||||
|
- composer self-update
|
||||||
|
|
||||||
|
install:
|
||||||
|
- composer install --no-dev --no-interaction --ignore-platform-reqs
|
||||||
|
- zip -r --exclude='*.git*' --exclude='*.zip' --exclude='*.travis.yml' ThinkPHP_Core.zip .
|
||||||
|
- composer require --update-no-dev --no-interaction "topthink/think-image:^1.0"
|
||||||
|
- composer require --update-no-dev --no-interaction "topthink/think-migration:^1.0"
|
||||||
|
- composer require --update-no-dev --no-interaction "topthink/think-captcha:^1.0"
|
||||||
|
- composer require --update-no-dev --no-interaction "topthink/think-mongo:^1.0"
|
||||||
|
- composer require --update-no-dev --no-interaction "topthink/think-worker:^1.0"
|
||||||
|
- composer require --update-no-dev --no-interaction "topthink/think-helper:^1.0"
|
||||||
|
- composer require --update-no-dev --no-interaction "topthink/think-queue:^1.0"
|
||||||
|
- composer require --update-no-dev --no-interaction "topthink/think-angular:^1.0"
|
||||||
|
- composer require --dev --update-no-dev --no-interaction "topthink/think-testing:^1.0"
|
||||||
|
- zip -r --exclude='*.git*' --exclude='*.zip' --exclude='*.travis.yml' ThinkPHP_Full.zip .
|
||||||
|
|
||||||
|
script:
|
||||||
|
- php think unit
|
||||||
|
|
||||||
|
deploy:
|
||||||
|
provider: releases
|
||||||
|
api_key:
|
||||||
|
secure: TSF6bnl2JYN72UQOORAJYL+CqIryP2gHVKt6grfveQ7d9rleAEoxlq6PWxbvTI4jZ5nrPpUcBUpWIJHNgVcs+bzLFtyh5THaLqm39uCgBbrW7M8rI26L8sBh/6nsdtGgdeQrO/cLu31QoTzbwuz1WfAVoCdCkOSZeXyT/CclH99qV6RYyQYqaD2wpRjrhA5O4fSsEkiPVuk0GaOogFlrQHx+C+lHnf6pa1KxEoN1A0UxxVfGX6K4y5g4WQDO5zT4bLeubkWOXK0G51XSvACDOZVIyLdjApaOFTwamPcD3S1tfvuxRWWvsCD5ljFvb2kSmx5BIBNwN80MzuBmrGIC27XLGOxyMerwKxB6DskNUO9PflKHDPI61DRq0FTy1fv70SFMSiAtUv9aJRT41NQh9iJJ0vC8dl+xcxrWIjU1GG6+l/ZcRqVx9V1VuGQsLKndGhja7SQ+X1slHl76fRq223sMOql7MFCd0vvvxVQ2V39CcFKao/LB1aPH3VhODDEyxwx6aXoTznvC/QPepgWsHOWQzKj9ftsgDbsNiyFlXL4cu8DWUty6rQy8zT2b4O8b1xjcwSUCsy+auEjBamzQkMJFNlZAIUrukL/NbUhQU37TAbwsFyz7X0E/u/VMle/nBCNAzgkMwAUjiHM6FqrKKBRWFbPrSIixjfjkCnrMEPw=
|
||||||
|
file:
|
||||||
|
- ThinkPHP_Core.zip
|
||||||
|
- ThinkPHP_Full.zip
|
||||||
|
skip_cleanup: true
|
||||||
|
on:
|
||||||
|
tags: true
|
||||||
|
|
@ -74,6 +74,8 @@ class ShopSetting extends AdminBase
|
||||||
'service' => ConfigServer::get('policy', 'service'),
|
'service' => ConfigServer::get('policy', 'service'),
|
||||||
'privacy' => ConfigServer::get('policy', 'privacy'),
|
'privacy' => ConfigServer::get('policy', 'privacy'),
|
||||||
'after_sale' => ConfigServer::get('policy', 'after_sale'),
|
'after_sale' => ConfigServer::get('policy', 'after_sale'),
|
||||||
|
'payment' => ConfigServer::get('policy', 'payment'),
|
||||||
|
'reason' => ConfigServer::get('policy', 'reason'),
|
||||||
|
|
||||||
];
|
];
|
||||||
$this->assign('config', $config);
|
$this->assign('config', $config);
|
||||||
|
|
@ -87,6 +89,8 @@ class ShopSetting extends AdminBase
|
||||||
ConfigServer::set('policy', 'service', $post['service']);
|
ConfigServer::set('policy', 'service', $post['service']);
|
||||||
ConfigServer::set('policy', 'privacy', $post['privacy']);
|
ConfigServer::set('policy', 'privacy', $post['privacy']);
|
||||||
ConfigServer::set('policy', 'after_sale', $post['after_sale']);
|
ConfigServer::set('policy', 'after_sale', $post['after_sale']);
|
||||||
|
ConfigServer::set('policy', 'payment', $post['payment']);
|
||||||
|
ConfigServer::set('policy', 'reason', $post['reason']);
|
||||||
$this->_success('修改成功');
|
$this->_success('修改成功');
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,99 @@
|
||||||
|
<?php
|
||||||
|
// +----------------------------------------------------------------------
|
||||||
|
// | 宏驰云科技开发团队 版权所有 拥有最终解释权
|
||||||
|
// +----------------------------------------------------------------------
|
||||||
|
|
||||||
|
// | Author: HcyShop-kiki
|
||||||
|
// +----------------------------------------------------------------------
|
||||||
|
|
||||||
|
namespace app\admin\controller;
|
||||||
|
|
||||||
|
use app\admin\logic\{
|
||||||
|
StoreLogic
|
||||||
|
};
|
||||||
|
|
||||||
|
class Store extends AdminBase
|
||||||
|
{
|
||||||
|
/**
|
||||||
|
* 门店列表
|
||||||
|
* @return mixed
|
||||||
|
*/
|
||||||
|
public function lists()
|
||||||
|
{
|
||||||
|
if ($this->request->isAjax()) {
|
||||||
|
$get = $this->request->get();
|
||||||
|
$this->_success('', StoreLogic::lists($get));
|
||||||
|
}
|
||||||
|
return $this->fetch();
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 添加文章
|
||||||
|
*/
|
||||||
|
public function add()
|
||||||
|
{
|
||||||
|
if ($this->request->isAjax()) {
|
||||||
|
$post = $this->request->post();
|
||||||
|
$post['del'] = 0;
|
||||||
|
$result = $this->validate($post, 'app\admin\validate\Store.add');
|
||||||
|
if ($result === true) {
|
||||||
|
StoreLogic::addStore($post);
|
||||||
|
$this->_success('添加成功!');
|
||||||
|
}
|
||||||
|
$this->_error($result);
|
||||||
|
|
||||||
|
}
|
||||||
|
return $this->fetch();
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 编辑文章
|
||||||
|
*/
|
||||||
|
public function edit($id)
|
||||||
|
{
|
||||||
|
if ($this->request->isAjax()) {
|
||||||
|
|
||||||
|
$post = $this->request->post();
|
||||||
|
$post['del'] = 0;
|
||||||
|
$result = $this->validate($post, 'app\admin\validate\Store.edit');
|
||||||
|
|
||||||
|
if ($result === true) {
|
||||||
|
StoreLogic::editStore($post);
|
||||||
|
$this->_success('编辑成功!');
|
||||||
|
}
|
||||||
|
$this->_error($result);
|
||||||
|
|
||||||
|
}
|
||||||
|
$article = StoreLogic::getStore($id);
|
||||||
|
$this->assign('article', $article);
|
||||||
|
return $this->fetch();
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 删除文章
|
||||||
|
*/
|
||||||
|
public function del($id)
|
||||||
|
{
|
||||||
|
if ($this->request->isAjax()) {
|
||||||
|
$result = $this->validate(['id' => $id], 'app\admin\validate\Store.del');
|
||||||
|
if ($result === true) {
|
||||||
|
StoreLogic::delStore($id);
|
||||||
|
$this->_success('删除成功');
|
||||||
|
}
|
||||||
|
$this->_error($result);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 修改状态
|
||||||
|
*/
|
||||||
|
public function switchStatus()
|
||||||
|
{
|
||||||
|
$post = $this->request->post();
|
||||||
|
StoreLogic::switchStatus($post);
|
||||||
|
$this->_success('修改成功');
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,104 @@
|
||||||
|
<?php
|
||||||
|
// +----------------------------------------------------------------------
|
||||||
|
// | 宏驰云科技开发团队 版权所有 拥有最终解释权
|
||||||
|
// +----------------------------------------------------------------------
|
||||||
|
|
||||||
|
// | Author: HcyShop-kiki
|
||||||
|
// +----------------------------------------------------------------------
|
||||||
|
|
||||||
|
namespace app\admin\logic;
|
||||||
|
|
||||||
|
use app\admin\model\Store;
|
||||||
|
use app\common\server\UrlServer;
|
||||||
|
use think\Db;
|
||||||
|
|
||||||
|
class StoreLogic
|
||||||
|
{
|
||||||
|
|
||||||
|
public static function lists($get)
|
||||||
|
{
|
||||||
|
$store = Db::name('store');
|
||||||
|
|
||||||
|
$where = [];
|
||||||
|
$where[] = ['del', '=', '0'];
|
||||||
|
|
||||||
|
if (isset($get['title']) && $get['title']) {
|
||||||
|
$where[] = ['title|address|image|business', 'like', '%' . $get['title'] . '%'];
|
||||||
|
}
|
||||||
|
$count = $store->where($where)->count();
|
||||||
|
$list = $store->where($where)->page($get['page'], $get['limit'])->order('id desc')->select();
|
||||||
|
foreach ($list as &$item) {
|
||||||
|
$item['image'] = UrlServer::getFileUrl($item['image']);
|
||||||
|
$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];
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
public static function addStore($post)
|
||||||
|
{
|
||||||
|
$store = new Store();
|
||||||
|
|
||||||
|
$data = [
|
||||||
|
'title' => $post['title'],
|
||||||
|
'address' => $post['address'],
|
||||||
|
'image' => $post['image'],
|
||||||
|
'business' => $post['business'],
|
||||||
|
'is_show' => $post['is_show'],
|
||||||
|
'traffic' => $post['traffic'],
|
||||||
|
'create_time' => time(),
|
||||||
|
'contact' => $post['contact'],
|
||||||
|
];
|
||||||
|
return $store->save($data);
|
||||||
|
}
|
||||||
|
|
||||||
|
public static function editStore($post)
|
||||||
|
{
|
||||||
|
$store = new Store();
|
||||||
|
$data = [
|
||||||
|
'title' => $post['title'],
|
||||||
|
'address' => $post['address'],
|
||||||
|
'image' => $post['image'],
|
||||||
|
'business' => $post['business'],
|
||||||
|
'is_show' => $post['is_show'],
|
||||||
|
'traffic' => $post['traffic'],
|
||||||
|
'update_time' => time(),
|
||||||
|
'contact' => $post['contact'],
|
||||||
|
];
|
||||||
|
return $store->save($data, ['id' => $post['id'], 'del' => 0]);
|
||||||
|
}
|
||||||
|
|
||||||
|
public static function getStore($id)
|
||||||
|
{
|
||||||
|
$store = new Store();
|
||||||
|
$detail = $store::get(['id' => $id, 'del' => 0]);
|
||||||
|
$detail['abs_image'] = UrlServer::getFileUrl($detail['image']);
|
||||||
|
return $detail;
|
||||||
|
}
|
||||||
|
|
||||||
|
public static function delStore($id)
|
||||||
|
{
|
||||||
|
$store = new Store();
|
||||||
|
|
||||||
|
$data = [
|
||||||
|
'del' => time(),
|
||||||
|
'update_time' => 1
|
||||||
|
];
|
||||||
|
return $article->save($data, ['id' => $id, 'del' => 0]);
|
||||||
|
}
|
||||||
|
|
||||||
|
public static function switchStatus($post)
|
||||||
|
{
|
||||||
|
$data = [
|
||||||
|
'is_show' => $post['is_show'],
|
||||||
|
'update_time' => time(),
|
||||||
|
];
|
||||||
|
return Db::name('store')->where(['del' => 0, 'id' => $post['id']])->update($data);
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
@ -50,6 +50,8 @@ class SupplierLogic{
|
||||||
'cid' => $post['cid'],
|
'cid' => $post['cid'],
|
||||||
'remark' => $post['remark'],
|
'remark' => $post['remark'],
|
||||||
'honor' => $post['honor'],
|
'honor' => $post['honor'],
|
||||||
|
'is_notice' => $post['is_notice'],
|
||||||
|
'position' => $post['position'],
|
||||||
'create_time' => time(),
|
'create_time' => time(),
|
||||||
];
|
];
|
||||||
|
|
||||||
|
|
@ -68,6 +70,8 @@ class SupplierLogic{
|
||||||
'cid' => $post['cid'],
|
'cid' => $post['cid'],
|
||||||
'remark' => $post['remark'],
|
'remark' => $post['remark'],
|
||||||
'honor' => $post['honor'],
|
'honor' => $post['honor'],
|
||||||
|
'is_notice' => $post['is_notice'],
|
||||||
|
'position' => $post['position'],
|
||||||
'update_time' => time(),
|
'update_time' => time(),
|
||||||
];
|
];
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,13 @@
|
||||||
|
<?php
|
||||||
|
// +----------------------------------------------------------------------
|
||||||
|
// | 宏驰云科技开发团队 版权所有 拥有最终解释权
|
||||||
|
// +----------------------------------------------------------------------
|
||||||
|
|
||||||
|
// | Author: HcyShop-kiki
|
||||||
|
// +----------------------------------------------------------------------
|
||||||
|
namespace app\admin\model;
|
||||||
|
use think\Model;
|
||||||
|
|
||||||
|
class Store extends Model {
|
||||||
|
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,53 @@
|
||||||
|
<?php
|
||||||
|
// +----------------------------------------------------------------------
|
||||||
|
// | 宏驰云科技开发团队 版权所有 拥有最终解释权
|
||||||
|
// +----------------------------------------------------------------------
|
||||||
|
|
||||||
|
// | Author: HcyShop-kiki
|
||||||
|
// +----------------------------------------------------------------------
|
||||||
|
|
||||||
|
namespace app\admin\validate;
|
||||||
|
|
||||||
|
use think\Validate;
|
||||||
|
|
||||||
|
class Store extends Validate
|
||||||
|
{
|
||||||
|
|
||||||
|
protected $rule = [
|
||||||
|
'id' => 'require',
|
||||||
|
'title' => 'require|unique:article,title^del',
|
||||||
|
'address' => 'require',
|
||||||
|
'image' => 'require',
|
||||||
|
'business' => 'require',
|
||||||
|
'traffic' => 'require',
|
||||||
|
'contact' => 'require',
|
||||||
|
];
|
||||||
|
|
||||||
|
protected $message = [
|
||||||
|
'id.require' => 'id不可为空',
|
||||||
|
'title.require' => '请输入门店名称',
|
||||||
|
'title.unique' => '标题不能重复!',
|
||||||
|
|
||||||
|
'address.require' => '请输入门店地址',
|
||||||
|
'image.require' => '请商城门店图片',
|
||||||
|
'business.require' => '请输入门店营业时间',
|
||||||
|
'traffic.require' => '请输入门店交通情况',
|
||||||
|
'contact.require' => '请输入门店联系方式',
|
||||||
|
];
|
||||||
|
|
||||||
|
protected function sceneAdd()
|
||||||
|
{
|
||||||
|
$this->remove('id');
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
protected function sceneEdit()
|
||||||
|
{
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
public function sceneDel()
|
||||||
|
{
|
||||||
|
$this->only(['id']);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
@ -25,6 +25,8 @@
|
||||||
<li class="layui-this">服务协议</li>
|
<li class="layui-this">服务协议</li>
|
||||||
<li>隐私政策</li>
|
<li>隐私政策</li>
|
||||||
<li>售后保障</li>
|
<li>售后保障</li>
|
||||||
|
<li>选择理由</li>
|
||||||
|
<li>支付方式</li>
|
||||||
</ul>
|
</ul>
|
||||||
<div class="layui-tab-content">
|
<div class="layui-tab-content">
|
||||||
<div class="layui-tab-item layui-show">
|
<div class="layui-tab-item layui-show">
|
||||||
|
|
@ -47,6 +49,20 @@
|
||||||
<textarea name="after_sale" id="after_sale" lay-verify="content" class="field-content">{$config.after_sale}</textarea>
|
<textarea name="after_sale" id="after_sale" lay-verify="content" class="field-content">{$config.after_sale}</textarea>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
<div class="layui-tab-item">
|
||||||
|
<label class="layui-form-label"style="white-space: nowrap;">内容:</label>
|
||||||
|
<div class="layui-input-block">
|
||||||
|
<textarea name="payment" id="payment" lay-verify="content" class="field-content">{$config.payment}</textarea>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="layui-tab-item">
|
||||||
|
<label class="layui-form-label"style="white-space: nowrap;">内容:</label>
|
||||||
|
<div class="layui-input-block">
|
||||||
|
<textarea name="reason" id="reason" lay-verify="content" class="field-content">{$config.reason}</textarea>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="layui-form-item">
|
<div class="layui-form-item">
|
||||||
|
|
@ -84,12 +100,16 @@
|
||||||
var service = likeedit.build('service'); //建立编辑器
|
var service = likeedit.build('service'); //建立编辑器
|
||||||
var privacy = likeedit.build('privacy'); //建立编辑器
|
var privacy = likeedit.build('privacy'); //建立编辑器
|
||||||
var after_sale = likeedit.build('after_sale'); //建立编辑器
|
var after_sale = likeedit.build('after_sale'); //建立编辑器
|
||||||
|
var payment = likeedit.build('payment'); //建立编辑器
|
||||||
|
var reason = likeedit.build('reason'); //建立编辑器
|
||||||
form.verify({
|
form.verify({
|
||||||
|
|
||||||
content: function() {
|
content: function() {
|
||||||
likeedit.sync(service)
|
likeedit.sync(service)
|
||||||
likeedit.sync(privacy)
|
likeedit.sync(privacy)
|
||||||
likeedit.sync(after_sale)
|
likeedit.sync(after_sale)
|
||||||
|
likeedit.sync(payment)
|
||||||
|
likeedit.sync(reason)
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
form.verify({
|
form.verify({
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,133 @@
|
||||||
|
{layout name="layout2" /}
|
||||||
|
<style>
|
||||||
|
.layui-form-label {
|
||||||
|
color: #6a6f6c;
|
||||||
|
}
|
||||||
|
.goods-li {
|
||||||
|
float: left;
|
||||||
|
opacity: 1;
|
||||||
|
position: relative;
|
||||||
|
}
|
||||||
|
|
||||||
|
.goods-img {
|
||||||
|
width: 80px;
|
||||||
|
height: 80px;
|
||||||
|
padding: 4px;
|
||||||
|
}
|
||||||
|
.goods-img-del-x {
|
||||||
|
position: absolute;
|
||||||
|
z-index: 100;
|
||||||
|
top: -4px;
|
||||||
|
right: -2px;
|
||||||
|
width: 20px;
|
||||||
|
height: 20px;
|
||||||
|
font-size: 16px;
|
||||||
|
line-height: 16px;
|
||||||
|
color: #fff;
|
||||||
|
text-align: center;
|
||||||
|
cursor: pointer;
|
||||||
|
background: hsla(0, 0%, 60%, .6);
|
||||||
|
border-radius: 10px;
|
||||||
|
}
|
||||||
|
#image{
|
||||||
|
left:110px;
|
||||||
|
}
|
||||||
|
#notice{ left:110px;}
|
||||||
|
</style>
|
||||||
|
<div class="layui-form" lay-filter="layuiadmin-form-category" id="layuiadmin-form-category" style="padding: 20px 30px 0 0;">
|
||||||
|
<input type="hidden" value="0" name="id">
|
||||||
|
<div class="layui-form-item">
|
||||||
|
<label class="layui-form-label"><font color="red">*</font>门店名称</label>
|
||||||
|
<div class="layui-input-block">
|
||||||
|
<input type="text" name="title" lay-verify="required" lay-verType="tips" placeholder="请输入标题" autocomplete="off" class="layui-input">
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="layui-form-item">
|
||||||
|
<label class="layui-form-label">门店封面图</label>
|
||||||
|
<div class="layui-input-inline">
|
||||||
|
<div class="" style="height:80px;line-height:80px">
|
||||||
|
<input name="image" type="hidden" value="">
|
||||||
|
<div class="goods-img-add"></div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="layui-form-item">
|
||||||
|
<label class=" layui-form-mid layui-word-aux" id="image">建议尺寸:500*500像素</label>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="layui-form-item">
|
||||||
|
<label class="layui-form-label"><font color="red">*</font>详细地址</label>
|
||||||
|
<div class="layui-input-block">
|
||||||
|
<input type="text" name="address" lay-verify="required" lay-verType="tips" placeholder="请输入门店地址" autocomplete="off" class="layui-input">
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="layui-form-item">
|
||||||
|
<label class="layui-form-label"><font color="red">*</font>营业时间</label>
|
||||||
|
<div class="layui-input-block">
|
||||||
|
<input type="text" name="business" lay-verify="required" lay-verType="tips" placeholder="请输入营业时间" autocomplete="off" class="layui-input">
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="layui-form-item">
|
||||||
|
<label class="layui-form-label"><font color="red">*</font>交通情况</label>
|
||||||
|
<div class="layui-input-block">
|
||||||
|
<input type="text" name="traffic" lay-verify="required" lay-verType="tips" placeholder="请输入门店交通" autocomplete="off" class="layui-input">
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="layui-form-item">
|
||||||
|
<label class="layui-form-label"><font color="red">*</font>联系方式</label>
|
||||||
|
<div class="layui-input-block">
|
||||||
|
<input type="text" name="contact" lay-verify="required" lay-verType="tips" placeholder="请输入门店联系方式" autocomplete="off" class="layui-input">
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="layui-form-item">
|
||||||
|
<label class="layui-form-label">门店状态</label>
|
||||||
|
<div class="layui-input-inline" >
|
||||||
|
<input type="radio" name="is_show" lay-filter="is_show" style="width: 500px" value=1 title="显示" checked >
|
||||||
|
<input type="radio" name="is_show" lay-filter="is_show" style="width: 500px" value=0 title="隐藏">
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="layui-form-item layui-hide">
|
||||||
|
<input type="button" lay-submit lay-filter="add-store-submit" id="add-store-submit" value="确认">
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<script>
|
||||||
|
layui.config({
|
||||||
|
version:"{$front_version}",
|
||||||
|
base: '/static/plug/layui-admin/dist/layuiadmin/' //静态资源所在路径
|
||||||
|
}).extend({
|
||||||
|
index: 'lib/index' //主入口模块
|
||||||
|
}).use(['index', 'form','likeedit','like'], function(){
|
||||||
|
var $ = layui.$
|
||||||
|
,form = layui.form
|
||||||
|
,like = layui.like
|
||||||
|
,likeedit = layui.likeedit;
|
||||||
|
|
||||||
|
//上传图片
|
||||||
|
like.imageUpload('.goods-img-add', function (uri, element) {
|
||||||
|
if(uri.length>1){
|
||||||
|
layer.msg('最多最能选中1张图片');
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
var html = '<div class="goods-li">\n' +
|
||||||
|
'<img class="goods-img" ' +
|
||||||
|
'src="' + uri[0] + '">' +
|
||||||
|
'<a class="goods-img-del-x">x</a>' +
|
||||||
|
'</div>';
|
||||||
|
element.prev().val(like.getUrlFileName(uri[0], '{$storageUrl}'));
|
||||||
|
element.parent().append(html);
|
||||||
|
element.css('display','none');
|
||||||
|
}, true);
|
||||||
|
//删除图片
|
||||||
|
$(document).on('click', '.goods-img-del-x', function () {
|
||||||
|
$(this).parent().siblings('input').val('');
|
||||||
|
$(this).parent().prev().css('display','block');
|
||||||
|
$(this).parent().remove();
|
||||||
|
});
|
||||||
|
//显示图片
|
||||||
|
$(document).on('click', '.goods-img', function () {
|
||||||
|
var image = $(this).attr('src');
|
||||||
|
like.showImg(image,600);
|
||||||
|
});
|
||||||
|
|
||||||
|
});
|
||||||
|
</script>
|
||||||
|
|
@ -0,0 +1,156 @@
|
||||||
|
{layout name="layout2" /}
|
||||||
|
<style>
|
||||||
|
.layui-form-label {
|
||||||
|
color: #6a6f6c;
|
||||||
|
}
|
||||||
|
.goods-li {
|
||||||
|
float: left;
|
||||||
|
opacity: 1;
|
||||||
|
position: relative;
|
||||||
|
}
|
||||||
|
|
||||||
|
.goods-img {
|
||||||
|
width: 80px;
|
||||||
|
height: 80px;
|
||||||
|
padding: 4px;
|
||||||
|
}
|
||||||
|
.goods-img-del-x {
|
||||||
|
position: absolute;
|
||||||
|
z-index: 100;
|
||||||
|
top: -4px;
|
||||||
|
right: -2px;
|
||||||
|
width: 20px;
|
||||||
|
height: 20px;
|
||||||
|
font-size: 16px;
|
||||||
|
line-height: 16px;
|
||||||
|
color: #fff;
|
||||||
|
text-align: center;
|
||||||
|
cursor: pointer;
|
||||||
|
background: hsla(0, 0%, 60%, .6);
|
||||||
|
border-radius: 10px;
|
||||||
|
}
|
||||||
|
|
||||||
|
#image{
|
||||||
|
left:110px;
|
||||||
|
}
|
||||||
|
#notice{ left:110px;}
|
||||||
|
</style>
|
||||||
|
<div class="layui-form" lay-filter="layuiadmin-form-category" id="layuiadmin-form-category" style="padding: 20px 30px 0 0;">
|
||||||
|
<input type="hidden" value="{$article.id}" name="id">
|
||||||
|
<div class="layui-form-item">
|
||||||
|
<label class="layui-form-label"><font color="red">*</font>门店名称</label>
|
||||||
|
<div class="layui-input-block">
|
||||||
|
<input type="text" name="title" value="{$article.title}" lay-verify="required" lay-verType="tips" placeholder="请输入门店名称" autocomplete="off" class="layui-input">
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="layui-form-item">
|
||||||
|
<label class="layui-form-label">门店封面图</label>
|
||||||
|
<div class="layui-input-inline">
|
||||||
|
<div style="height:80px;line-height:80px">
|
||||||
|
<input name="image" type="hidden" value="{$article.image}">
|
||||||
|
|
||||||
|
{if !empty($article.image)}
|
||||||
|
<div class="goods-img-add" style="display: none" ></div>
|
||||||
|
<div class="goods-li">
|
||||||
|
<img class="goods-img" src="{$article.abs_image}">
|
||||||
|
<a class="goods-img-del-x" style="display: none">x</a>
|
||||||
|
</div>
|
||||||
|
{else}
|
||||||
|
<div class="goods-img-add" ></div>
|
||||||
|
{/if}
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="layui-form-item">
|
||||||
|
<label class=" layui-form-mid layui-word-aux" id="image">建议尺寸:500*500像素</label>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="layui-form-item">
|
||||||
|
<label class="layui-form-label"><font color="red">*</font>详细地址</label>
|
||||||
|
<div class="layui-input-block">
|
||||||
|
<input type="text" name="address" value="{$article.address}" lay-verify="required" lay-verType="tips" placeholder="请输入门店地址" autocomplete="off" class="layui-input">
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="layui-form-item">
|
||||||
|
<label class="layui-form-label"><font color="red">*</font>营业时间</label>
|
||||||
|
<div class="layui-input-block">
|
||||||
|
<input type="text" name="business" value="{$article.business}" lay-verify="required" lay-verType="tips" placeholder="请输入营业时间" autocomplete="off" class="layui-input">
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="layui-form-item">
|
||||||
|
<label class="layui-form-label"><font color="red">*</font>交通情况</label>
|
||||||
|
<div class="layui-input-block">
|
||||||
|
<input type="text" name="traffic" value="{$article.traffic}" lay-verify="required" lay-verType="tips" placeholder="请输入门店交通" autocomplete="off" class="layui-input">
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="layui-form-item">
|
||||||
|
<label class="layui-form-label"><font color="red">*</font>联系方式</label>
|
||||||
|
<div class="layui-input-block">
|
||||||
|
<input type="text" name="contact" value="{$article.contact}" lay-verify="required" lay-verType="tips" placeholder="请输入门店联系方式" autocomplete="off" class="layui-input">
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="layui-form-item">
|
||||||
|
<label class="layui-form-label">门店状态</label>
|
||||||
|
<div class="layui-input-inline" >
|
||||||
|
<input type="radio" name="is_show" lay-filter="is_show" style="width: 500px" value=1 title="显示" {if condition="$article.is_show eq 1" }checked{/if}>
|
||||||
|
<input type="radio" name="is_show" lay-filter="is_show" style="width: 500px" value=0 title="隐藏"{if condition="$article.is_show eq 0" }checked{/if}>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="layui-form-item layui-hide">
|
||||||
|
<input type="button" lay-submit lay-filter="edit-store-submit" id="edit-store-submit" value="确认">
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<script>
|
||||||
|
layui.config({
|
||||||
|
version:"{$front_version}",
|
||||||
|
base: '/static/plug/layui-admin/dist/layuiadmin/' //静态资源所在路径
|
||||||
|
}).extend({
|
||||||
|
index: 'lib/index' //主入口模块
|
||||||
|
}).use(['index', 'form','likeedit','like'], function(){
|
||||||
|
var $ = layui.$
|
||||||
|
,form = layui.form
|
||||||
|
,like = layui.like
|
||||||
|
,likeedit = layui.likeedit;
|
||||||
|
//上传图片
|
||||||
|
like.imageUpload('.goods-img-add', function (uri, element) {
|
||||||
|
if(uri.length>1){
|
||||||
|
layer.msg('最多最能选中1张图片');
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
var html = '<div class="goods-li">\n' +
|
||||||
|
'<img class="goods-img" ' +
|
||||||
|
'src="' + uri[0] + '">' +
|
||||||
|
'<a class="goods-img-del-x">x</a>' +
|
||||||
|
'</div>';
|
||||||
|
element.prev().val(like.getUrlFileName(uri[0], '{$storageUrl}'));
|
||||||
|
element.parent().append(html);
|
||||||
|
element.css('display','none');
|
||||||
|
}, true);
|
||||||
|
//删除图片
|
||||||
|
$(document).on('click', '.goods-img-del-x', function () {
|
||||||
|
$(this).parent().siblings('input').val('');
|
||||||
|
$(this).parent().prev().css('display','block');
|
||||||
|
$(this).parent().remove();
|
||||||
|
});
|
||||||
|
//显示图片
|
||||||
|
$(document).on('click', '.goods-img', function () {
|
||||||
|
var image = $(this).attr('src');
|
||||||
|
like.showImg(image,600);
|
||||||
|
});
|
||||||
|
|
||||||
|
// 删除按钮的显示与隐藏
|
||||||
|
$(document).on('mouseover', '.goods-img', function () {
|
||||||
|
$(this).next().show();
|
||||||
|
});
|
||||||
|
$(document).on('mouseout', '.goods-img', function () {
|
||||||
|
$(this).next().hide();
|
||||||
|
});
|
||||||
|
$(document).on('mouseover', '.goods-img-del-x', function () {
|
||||||
|
$(this).show();
|
||||||
|
});
|
||||||
|
$(document).on('mouseout', '.goods-img-del-x', function () {
|
||||||
|
$(this).hide();
|
||||||
|
});
|
||||||
|
});
|
||||||
|
</script>
|
||||||
|
|
@ -0,0 +1,333 @@
|
||||||
|
{layout name="layout1" /}
|
||||||
|
<style>
|
||||||
|
.layui-table-cell {
|
||||||
|
height: auto;
|
||||||
|
}
|
||||||
|
</style>
|
||||||
|
<div class="layui-fluid">
|
||||||
|
<div class="layui-card">
|
||||||
|
<div class="layui-card-body">
|
||||||
|
<div class="layui-collapse like-layui-collapse" lay-accordion="" style="border:1px dashed #c4c4c4">
|
||||||
|
<div class="layui-colla-item">
|
||||||
|
<h2 class="layui-colla-title like-layui-colla-title" style="background-color: #fff">操作提示</h2>
|
||||||
|
<div class="layui-colla-content layui-show">
|
||||||
|
<p>*平台发布门店,可在商城首页栏目查看。</p>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="layui-form layui-card-header layuiadmin-card-header-auto">
|
||||||
|
<div class="layui-form-item">
|
||||||
|
<div class="layui-inline">
|
||||||
|
<label class="layui-form-label">关键词</label>
|
||||||
|
<div class="layui-input-block">
|
||||||
|
<input type="text" name="title" id="title" placeholder="请输入" autocomplete="off" class="layui-input">
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="layui-inline">
|
||||||
|
<button class="layui-btn layui-btn-sm layuiadmin-btn-store {$view_theme_color}" lay-submit lay-filter="store-search">
|
||||||
|
<i class="layui-icon layui-icon-search layuiadmin-button-btn"></i>
|
||||||
|
</button>
|
||||||
|
<button class="layui-btn layui-btn-sm layui-btn-primary layuiadmin-btn-store }" lay-submit lay-filter="store-clear-search">重置</button>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="layui-card-body">
|
||||||
|
<div style="padding-bottom: 10px;">
|
||||||
|
<button class="layui-btn layui-btn-sm layuiadmin-btn-store {$view_theme_color}" data-type="add">新增门店</button>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<table id="store-lists" lay-filter="store-lists"></table>
|
||||||
|
<script type="text/html" id="image">
|
||||||
|
<img src="{{d.image}}" style="height:auto;width: auto" class="image-show">
|
||||||
|
</script>
|
||||||
|
|
||||||
|
<script type="text/html" id="store-operation">
|
||||||
|
<a class="layui-btn layui-btn-normal layui-btn-sm" lay-event="edit">编辑</a>
|
||||||
|
<a class="layui-btn layui-btn-danger layui-btn-sm" lay-event="status_switch">
|
||||||
|
{{# if(d.is_show == 1){ }}
|
||||||
|
隐藏
|
||||||
|
{{# } else { }}
|
||||||
|
显示
|
||||||
|
{{# } }}
|
||||||
|
</a>
|
||||||
|
<a class="layui-btn layui-btn-danger layui-btn-sm" lay-event="del">删除</a>
|
||||||
|
</script>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<script>
|
||||||
|
layui.config({
|
||||||
|
version:"{$front_version}",
|
||||||
|
base: '/static/plug/layui-admin/dist/layuiadmin/' //静态资源所在路径
|
||||||
|
}).extend({
|
||||||
|
index: 'lib/index' //主入口模块
|
||||||
|
}).use(['index','table','like'], function(){
|
||||||
|
var $ = layui.$
|
||||||
|
,form = layui.form
|
||||||
|
,table = layui.table
|
||||||
|
,like = layui.like;
|
||||||
|
|
||||||
|
//图片放大
|
||||||
|
$(document).on('click', '.image-show', function () {
|
||||||
|
var src = $(this).attr('src');
|
||||||
|
like.showImg(src,600);
|
||||||
|
});
|
||||||
|
//监听搜索
|
||||||
|
form.on('submit(store-search)', function(data){
|
||||||
|
var field = data.field;
|
||||||
|
//执行重载
|
||||||
|
table.reload('store-lists', {
|
||||||
|
where: field,
|
||||||
|
page: {
|
||||||
|
curr: 1 //重新从第 1 页开始
|
||||||
|
},
|
||||||
|
|
||||||
|
});
|
||||||
|
});
|
||||||
|
//监听重置
|
||||||
|
form.on('submit(store-clear-search)', function(){
|
||||||
|
$('#title').val('');
|
||||||
|
$('#cid').val('');
|
||||||
|
$('#is_notice').val('');
|
||||||
|
form.render('select');
|
||||||
|
//刷新列表
|
||||||
|
table.reload('store-lists', {
|
||||||
|
where: [],
|
||||||
|
page: {
|
||||||
|
curr: 1 //重新从第 1 页开始
|
||||||
|
}
|
||||||
|
});
|
||||||
|
});
|
||||||
|
|
||||||
|
|
||||||
|
//事件
|
||||||
|
var active = {
|
||||||
|
add: function(){
|
||||||
|
layer.open({
|
||||||
|
type: 2
|
||||||
|
,title: '添加门店'
|
||||||
|
,content: '{:url("store/add")}'
|
||||||
|
,area: ['90%','90%']
|
||||||
|
,btn: ['确定', '取消']
|
||||||
|
,yes: function(index, layero){
|
||||||
|
var iframeWindow = window['layui-layer-iframe'+ index]
|
||||||
|
,submitID = 'add-store-submit'
|
||||||
|
,submit = layero.find('iframe').contents().find('#'+ submitID);
|
||||||
|
//监听提交
|
||||||
|
iframeWindow.layui.form.on('submit('+ submitID +')', function(data){
|
||||||
|
var field = data.field;
|
||||||
|
like.ajax({
|
||||||
|
url:'{:url("store/add")}',
|
||||||
|
data:field,
|
||||||
|
type:"post",
|
||||||
|
success:function(res)
|
||||||
|
{
|
||||||
|
if(res.code == 1)
|
||||||
|
{
|
||||||
|
layui.layer.msg(res.msg, {
|
||||||
|
offset: '15px'
|
||||||
|
, icon: 1
|
||||||
|
, time: 1000
|
||||||
|
});
|
||||||
|
layer.close(index); //关闭弹层
|
||||||
|
table.reload('store-lists'); //数据刷新
|
||||||
|
}
|
||||||
|
}
|
||||||
|
});
|
||||||
|
});
|
||||||
|
|
||||||
|
submit.trigger('click');
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
,batchdel:function(){ //删除所选
|
||||||
|
var checkStatus = table.checkStatus('store-lists')
|
||||||
|
,checkData = checkStatus.data; //得到选中的数据
|
||||||
|
//是否已选数据
|
||||||
|
if(checkData.length === 0){
|
||||||
|
return layer.msg('请选择数据');
|
||||||
|
}else {
|
||||||
|
//获取所选id
|
||||||
|
ids = [];
|
||||||
|
for (var i in checkData){
|
||||||
|
ids.push(checkData[i]['id']);
|
||||||
|
}
|
||||||
|
|
||||||
|
layer.confirm('确定删除所选门店信息?', function(index){
|
||||||
|
like.ajax({
|
||||||
|
url:'{:url("store/del")}',
|
||||||
|
data:{id:ids},
|
||||||
|
type:"post",
|
||||||
|
success:function(res)
|
||||||
|
{
|
||||||
|
if(res.code == 1)
|
||||||
|
{
|
||||||
|
layui.layer.msg(res.msg, {
|
||||||
|
offset: '15px'
|
||||||
|
, icon: 1
|
||||||
|
, time: 1000
|
||||||
|
});
|
||||||
|
layer.close(index); //关闭弹层
|
||||||
|
table.reload('store-lists'); //数据刷新
|
||||||
|
}
|
||||||
|
}
|
||||||
|
});
|
||||||
|
layer.close(index);
|
||||||
|
});
|
||||||
|
}
|
||||||
|
}
|
||||||
|
};
|
||||||
|
$('.layui-btn.layuiadmin-btn-store').on('click', function(){
|
||||||
|
var type = $(this).data('type');
|
||||||
|
active[type] ? active[type].call(this) : '';
|
||||||
|
});
|
||||||
|
|
||||||
|
|
||||||
|
table.render({
|
||||||
|
elem: '#store-lists'
|
||||||
|
,url: '{:url("store/lists")}'
|
||||||
|
,cols: [[
|
||||||
|
{type: 'checkbox',title: '当页全选'}
|
||||||
|
,{field: 'title', title: '门店名称',width:150}
|
||||||
|
,{field: 'image', title: '门店封面图',toolbar: '#image',width:150}
|
||||||
|
,{field: 'address', title: '门店地址',width:150}
|
||||||
|
,{field: 'traffic', title: '门店交通',width:150}
|
||||||
|
,{field: 'contact', title: '门店联系方式',width:150}
|
||||||
|
,{field: 'business', title:'门店营业时间', align: 'center',width:100}
|
||||||
|
,{field: 'create_time', title: '创建时间',width:160}
|
||||||
|
,{fixed: 'right', title: '操作', align: 'center', toolbar: '#store-operation',width:230}
|
||||||
|
]]
|
||||||
|
,page:true
|
||||||
|
,text: {none: '暂无数据!'}
|
||||||
|
,parseData: function(res){ //将原始数据解析成 table 组件所规定的数据
|
||||||
|
return {
|
||||||
|
"code":res.code,
|
||||||
|
"msg":res.msg,
|
||||||
|
"count": res.data.count, //解析数据长度
|
||||||
|
"data": res.data.lists, //解析数据列表
|
||||||
|
};
|
||||||
|
}
|
||||||
|
,done: function(res, curr, count){
|
||||||
|
setTimeout(function () {
|
||||||
|
// 解决操作栏因为内容过多换行问题
|
||||||
|
$(".layui-table-fixed-l .layui-table-body").removeAttr("style");
|
||||||
|
$(".layui-table-fixed-r .layui-table-body").removeAttr("style");
|
||||||
|
$(".layui-table-main tr").each(function (index, val) {
|
||||||
|
console.log($(val).height());
|
||||||
|
$($(".layui-table-fixed-l .layui-table-body tbody tr")[index]).height($(val).height());
|
||||||
|
$($(".layui-table-fixed-r .layui-table-body tbody tr")[index]).height($(val).height());
|
||||||
|
});
|
||||||
|
}, 100)
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
//监听工具条
|
||||||
|
table.on('tool(store-lists)', function(obj){
|
||||||
|
if(obj.event === 'del'){
|
||||||
|
var id = obj.data.id;
|
||||||
|
var title = obj.data.title;
|
||||||
|
layer.confirm('确定要删除门店:'+'<span style="color: red">'+title+'</span>', function(index){
|
||||||
|
like.ajax({
|
||||||
|
url:'{:url("store/del")}',
|
||||||
|
data:{'id':id},
|
||||||
|
type:"post",
|
||||||
|
success:function(res)
|
||||||
|
{
|
||||||
|
if(res.code == 1)
|
||||||
|
{
|
||||||
|
layui.layer.msg(res.msg, {
|
||||||
|
offset: '15px'
|
||||||
|
, icon: 1
|
||||||
|
, time: 1000
|
||||||
|
});
|
||||||
|
layer.close(index);
|
||||||
|
table.reload('store-lists');
|
||||||
|
}
|
||||||
|
}
|
||||||
|
});
|
||||||
|
});
|
||||||
|
}
|
||||||
|
if(obj.event === 'edit'){
|
||||||
|
var id = obj.data.id;
|
||||||
|
layer.open({
|
||||||
|
type: 2
|
||||||
|
,title: '编辑门店'
|
||||||
|
,content: '{:url("store/edit")}?id='+id
|
||||||
|
,area: ['90%','90%']
|
||||||
|
,btn: ['确定', '取消']
|
||||||
|
,yes: function(index, layero){
|
||||||
|
var iframeWindow = window['layui-layer-iframe'+ index]
|
||||||
|
,submitID = 'edit-store-submit'
|
||||||
|
,submit = layero.find('iframe').contents().find('#'+ submitID);
|
||||||
|
|
||||||
|
//监听提交
|
||||||
|
iframeWindow.layui.form.on('submit('+ submitID +')', function(data){
|
||||||
|
var field = data.field;
|
||||||
|
like.ajax({
|
||||||
|
url:'{:url("store/edit")}',
|
||||||
|
data:field,
|
||||||
|
type:"post",
|
||||||
|
success:function(res)
|
||||||
|
{
|
||||||
|
if(res.code == 1)
|
||||||
|
{
|
||||||
|
layui.layer.msg(res.msg, {
|
||||||
|
offset: '15px'
|
||||||
|
, icon: 1
|
||||||
|
, time: 1000
|
||||||
|
});
|
||||||
|
layer.close(index);
|
||||||
|
table.reload('store-lists');
|
||||||
|
}
|
||||||
|
}
|
||||||
|
});
|
||||||
|
});
|
||||||
|
submit.trigger('click');
|
||||||
|
}
|
||||||
|
})
|
||||||
|
}else if(obj.event === 'status_switch'){
|
||||||
|
var id = obj.data.id;
|
||||||
|
var status = obj.data.is_show;
|
||||||
|
var title = obj.data.title;
|
||||||
|
var confirm_text = '';
|
||||||
|
if (status == 1){
|
||||||
|
confirm_text = '确定隐藏门店:';
|
||||||
|
status = 0;
|
||||||
|
} else {
|
||||||
|
status = 1;
|
||||||
|
confirm_text = '确定显示门店:';
|
||||||
|
}
|
||||||
|
|
||||||
|
layer.confirm(confirm_text+'<span style="color: red">'+title+'</span>', function(index){
|
||||||
|
like.ajax({
|
||||||
|
url:'{:url("store/switchStatus")}',
|
||||||
|
data:{id:id,is_show:status},
|
||||||
|
type:"post",
|
||||||
|
success:function(res)
|
||||||
|
{
|
||||||
|
if(res.code == 1)
|
||||||
|
{
|
||||||
|
layui.layer.msg(res.msg, {
|
||||||
|
offset: '15px'
|
||||||
|
, icon: 1
|
||||||
|
, time: 1000
|
||||||
|
});
|
||||||
|
layer.close(index); //关闭弹层
|
||||||
|
table.reload('store-lists');
|
||||||
|
}
|
||||||
|
}
|
||||||
|
});
|
||||||
|
layer.close(index);
|
||||||
|
});
|
||||||
|
|
||||||
|
}
|
||||||
|
});
|
||||||
|
});
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
</script>
|
||||||
|
|
@ -65,6 +65,22 @@
|
||||||
<label class=" layui-form-mid layui-word-aux" id="image">建议尺寸:730*530像素</label>
|
<label class=" layui-form-mid layui-word-aux" id="image">建议尺寸:730*530像素</label>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
<div class="layui-form-item">
|
||||||
|
<label class="layui-form-label">首页推荐</label>
|
||||||
|
<div class="layui-input-inline" id="" >
|
||||||
|
<input type="radio" name="is_notice" lay-filter="is_notice" style="width: 500px" value=1 title="是" checked >
|
||||||
|
<input type="radio" name="is_notice" lay-filter="is_notice" style="width: 500px" value=0 title="否">
|
||||||
|
</div>
|
||||||
|
<div class="layui-form-item">
|
||||||
|
<label class=" layui-form-mid layui-word-aux" id="notice">在商城首页的名家推荐显示</label>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="layui-form-item">
|
||||||
|
<label class="layui-form-label" style="white-space: nowrap;">职位:</label>
|
||||||
|
<div class="layui-input-inline" style="width: 400px">
|
||||||
|
<input type="text" name="position" class="layui-input">
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
<div class="layui-form-item">
|
<div class="layui-form-item">
|
||||||
<label class="layui-form-label" style="white-space: nowrap;">荣誉:</label>
|
<label class="layui-form-label" style="white-space: nowrap;">荣誉:</label>
|
||||||
<div class="layui-input-inline" style="width: 400px">
|
<div class="layui-input-inline" style="width: 400px">
|
||||||
|
|
|
||||||
|
|
@ -73,6 +73,22 @@
|
||||||
<label class=" layui-form-mid layui-word-aux" id="image">建议尺寸:730*530像素</label>
|
<label class=" layui-form-mid layui-word-aux" id="image">建议尺寸:730*530像素</label>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
<div class="layui-form-item">
|
||||||
|
<label class="layui-form-label">首页推荐</label>
|
||||||
|
<div class="layui-input-inline" id="" >
|
||||||
|
<input type="radio" name="is_notice" lay-filter="is_notice" style="width: 500px" value=1 title="是" {if condition="$info.is_notice eq 1" }checked{/if}>
|
||||||
|
<input type="radio" name="is_notice" lay-filter="is_notice" style="width: 500px" value=0 title="否"{if condition="$info.is_notice eq 0" }checked{/if}>
|
||||||
|
</div>
|
||||||
|
<div class="layui-form-item">
|
||||||
|
<label class=" layui-form-mid layui-word-aux" id="notice">在商城首页的名家推荐显示</label>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="layui-form-item">
|
||||||
|
<label class="layui-form-label" style="white-space: nowrap;">职位:</label>
|
||||||
|
<div class="layui-input-inline" style="width: 400px">
|
||||||
|
<input type="text" name="position" value="{$info.position}" placeholder="" class="layui-input">
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
<div class="layui-form-item">
|
<div class="layui-form-item">
|
||||||
<label class="layui-form-label" style="white-space: nowrap;">荣誉:</label>
|
<label class="layui-form-label" style="white-space: nowrap;">荣誉:</label>
|
||||||
<div class="layui-input-inline" style="width: 400px">
|
<div class="layui-input-inline" style="width: 400px">
|
||||||
|
|
|
||||||
|
|
@ -9,17 +9,25 @@ namespace app\api\controller;
|
||||||
use app\api\logic\GoodsLogic;
|
use app\api\logic\GoodsLogic;
|
||||||
class Goods extends ApiBase{
|
class Goods extends ApiBase{
|
||||||
|
|
||||||
public $like_not_need_login = ['getgoodsdetail', 'getgoodslist','getbestlist','gethostlist','getsearchpage'];
|
public $like_not_need_login = ['getgoodsdetail', 'getgoodslist','getbestlist','gethostlist','getsearchpage','tjgoodslist'];
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* note 商品列表
|
* note 商品列表
|
||||||
* create_time 2020/10/20 11:12
|
|
||||||
*/
|
*/
|
||||||
public function getGoodsList(){
|
public function getGoodsList(){
|
||||||
$get = $this->request->get();
|
$get = $this->request->get();
|
||||||
$goods_list = GoodsLogic::getGoodsList($this->user_id, $get, $this->page_no, $this->page_size);
|
$goods_list = GoodsLogic::getGoodsList($this->user_id, $get, $this->page_no, $this->page_size);
|
||||||
$this->_success('获取成功',$goods_list);
|
$this->_success('获取成功',$goods_list);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* note 商品列表筛选条件
|
||||||
|
*/
|
||||||
|
public function tjGoodsList(){
|
||||||
|
$get = $this->request->get();
|
||||||
|
$tjgoods_list = GoodsLogic::tjGoodsList();
|
||||||
|
$this->_success('获取成功',$tjgoods_list);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -9,7 +9,27 @@ namespace app\api\controller;
|
||||||
use app\api\logic\PcLogic;
|
use app\api\logic\PcLogic;
|
||||||
|
|
||||||
class Pc extends ApiBase{
|
class Pc extends ApiBase{
|
||||||
public $like_not_need_login = ['index','commonData','goodsList'];
|
public $like_not_need_login = ['index','commonData','goodsList','supplierList','supplierclassList','temaigoods','baijianclass','cangpingoods','getsupplierDetail'];
|
||||||
|
/**
|
||||||
|
* Notes: 惠藏百件分类
|
||||||
|
* @author: kiki
|
||||||
|
*/
|
||||||
|
public function baijianclass(){
|
||||||
|
$lists = PcLogic::baijian_goods_category();
|
||||||
|
return $this->_success('',$lists);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Notes: 惠藏藏品接口
|
||||||
|
* @author: kiki
|
||||||
|
*/
|
||||||
|
public function cangpingoods(){
|
||||||
|
$lists = PcLogic::cangpingoods();
|
||||||
|
return $this->_success('',$lists);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Notes: pc端首页接口
|
* Notes: pc端首页接口
|
||||||
* @author: kiki
|
* @author: kiki
|
||||||
|
|
@ -19,6 +39,48 @@ class Pc extends ApiBase{
|
||||||
return $this->_success('',$lists);
|
return $this->_success('',$lists);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Notes: 获取分类专家列表
|
||||||
|
* @author: kiki
|
||||||
|
*/
|
||||||
|
public function supplierclassList(){
|
||||||
|
$lists = PcLogic::supplierclssList();
|
||||||
|
return $this->_success('',$lists);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Notes:获取专家列表
|
||||||
|
* @author:kiki
|
||||||
|
*/
|
||||||
|
public function supplierList(){
|
||||||
|
$cid = $this->request->get('category_id','');
|
||||||
|
$list = PcLogic::supplierList($this->page_no,$this->page_size,$cid);
|
||||||
|
return $this->_success('',$list);
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Notes:获取专家详情
|
||||||
|
* @author:kiki
|
||||||
|
*/
|
||||||
|
public function getsupplierDetail(){
|
||||||
|
$id = $this->request->get('id');
|
||||||
|
$supplier = PcLogic::getsupplierDetail($id);
|
||||||
|
if($supplier){
|
||||||
|
$this->_success('获取成功',$supplier);
|
||||||
|
}
|
||||||
|
$this->_error('专家不存在',[],0,0);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Notes: 特卖商城接口
|
||||||
|
* @author: kiki
|
||||||
|
*/
|
||||||
|
public function temaigoods(){
|
||||||
|
$lists = PcLogic::temaigoods();
|
||||||
|
return $this->_success('',$lists);
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Notes:pc广告公告数据
|
* Notes:pc广告公告数据
|
||||||
* @author: kiki
|
* @author: kiki
|
||||||
|
|
|
||||||
|
|
@ -12,57 +12,126 @@ use app\common\model\TeamActivity;
|
||||||
use app\common\model\TeamFound;
|
use app\common\model\TeamFound;
|
||||||
use app\common\model\TeamGoodsItem;
|
use app\common\model\TeamGoodsItem;
|
||||||
use app\common\server\ConfigServer;
|
use app\common\server\ConfigServer;
|
||||||
|
use app\common\server\UrlServer;
|
||||||
use think\Db;
|
use think\Db;
|
||||||
use think\facade\Hook;
|
use think\facade\Hook;
|
||||||
|
|
||||||
class GoodsLogic{
|
class GoodsLogic{
|
||||||
|
|
||||||
|
//商品列表筛选条件
|
||||||
|
public static function tjGoodsList(){
|
||||||
|
//容量筛选表
|
||||||
|
$capacity_list = Db::name('screen_capacity')
|
||||||
|
->where(['del'=>0,'is_show'=>1])
|
||||||
|
->order('sort desc')
|
||||||
|
->field('id,name')
|
||||||
|
->select();
|
||||||
|
|
||||||
|
//泥料筛选表
|
||||||
|
$mud_list = Db::name('screen_mud')
|
||||||
|
->where(['del'=>0,'is_show'=>1])
|
||||||
|
->order('sort desc')
|
||||||
|
->field('id,name')
|
||||||
|
->select();
|
||||||
|
|
||||||
|
//价格筛选表
|
||||||
|
$price_list = Db::name('screen_price')
|
||||||
|
->where(['del'=>0,'is_show'=>1])
|
||||||
|
->order('sort desc')
|
||||||
|
->field('id,name')
|
||||||
|
->select();
|
||||||
|
|
||||||
|
//尺寸筛选表
|
||||||
|
$size_list = Db::name('screen_size')
|
||||||
|
->where(['del'=>0,'is_show'=>1])
|
||||||
|
->order('sort desc')
|
||||||
|
->field('id,name')
|
||||||
|
->select();
|
||||||
|
|
||||||
|
//壶型筛选表
|
||||||
|
$category_list = Db::name('goods_brand')
|
||||||
|
->where(['del'=>0,'is_show'=>1])
|
||||||
|
->order('sort desc')
|
||||||
|
->field('id,name,image')
|
||||||
|
->select();
|
||||||
|
foreach ($category_list as $key => $v1){
|
||||||
|
$category_list[$key]['image']=UrlServer::getFileUrl($v1['image']);
|
||||||
|
}
|
||||||
|
$list = [
|
||||||
|
'capacity_list' => $capacity_list,//容量筛选表
|
||||||
|
'mud_list' => $mud_list,//泥料筛选表
|
||||||
|
'price_list' => $price_list,//价格筛选表
|
||||||
|
'size_list' => $size_list,//尺寸筛选表
|
||||||
|
'category_list' => $category_list //壶型筛选表
|
||||||
|
];
|
||||||
|
return $list;
|
||||||
|
}
|
||||||
|
|
||||||
//商品列表
|
//商品列表
|
||||||
public static function getGoodsList($user_id,$get,$page,$size){
|
public static function getGoodsList($user_id,$get,$page,$size){
|
||||||
$where = [];
|
$where = [];
|
||||||
$order = [];
|
$order = [];
|
||||||
$where[] = ['status','=',1];
|
$where[] = ['g.status','=',1];
|
||||||
$where[] = ['del','=',0];
|
$where[] = ['g.del','=',0];
|
||||||
|
|
||||||
$goods = new Goods();
|
$goods = new Goods();
|
||||||
//品牌筛选
|
//壶型筛选
|
||||||
if(isset($get['brand_id']) && $get['brand_id']) {
|
|
||||||
$where[] = ['brand_id', '=', $get['brand_id']];
|
|
||||||
}
|
|
||||||
//分类筛选
|
|
||||||
if(isset($get['category_id']) && $get['category_id']){
|
if(isset($get['category_id']) && $get['category_id']){
|
||||||
$where[] = ['first_category_id|second_category_id|third_category_id','=',$get['category_id']];
|
$where[] = ['first_category_id|second_category_id|third_category_id','=',$get['category_id']];
|
||||||
}
|
}
|
||||||
|
|
||||||
|
//价格
|
||||||
|
if(isset($get['price']) && $get['price']) {
|
||||||
|
$screen_price_info = Db::name('screen_price')->field('start_price,end_price')->where(['id'=>$get['price'],'del'=>0])->find();
|
||||||
|
if($screen_price_info){
|
||||||
|
$where[] = ['min_price','>=',strtotime($screen_price_info['start_price'])];
|
||||||
|
$where[] = ['min_price','<=',strtotime($screen_price_info['end_price'])];
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
//容量
|
||||||
|
if(isset($get['rongliang']) && $get['rongliang']) {
|
||||||
|
$screen_capacity_info = Db::name('screen_capacity')->field('start_capacity,end_capacity')->where(['id'=>$get['rongliang'],'del'=>0])->find();
|
||||||
|
if($screen_capacity_info){
|
||||||
|
$where[] = ['rongliang_name','>=',strtotime($screen_capacity_info['start_capacity'])];
|
||||||
|
$where[] = ['rongliang_name','<=',strtotime($screen_capacity_info['end_capacity'])];
|
||||||
|
}
|
||||||
|
}
|
||||||
|
//泥料
|
||||||
|
if(isset($get['mud_id']) && $get['mud_id']) {
|
||||||
|
$where[] = ['mud_id', '=', $get['mud_id']];
|
||||||
|
}
|
||||||
|
|
||||||
|
//尺寸
|
||||||
|
if(isset($get['size_id']) && $get['size_id']) {
|
||||||
|
$where[] = ['size_id', '=', $get['size_id']];
|
||||||
|
}
|
||||||
|
|
||||||
//关键词搜索
|
//关键词搜索
|
||||||
if(isset($get['keyword']) && $get['keyword']){
|
if(isset($get['keyword']) && $get['keyword']){
|
||||||
$where[] = ['name','like','%'.$get['keyword'].'%'];
|
$where[] = ['g.name','like','%'.$get['keyword'].'%'];
|
||||||
if($user_id){//记录关键词
|
if($user_id){//记录关键词
|
||||||
self::recordKeyWord(trim($get['keyword']),$user_id);
|
self::recordKeyWord(trim($get['keyword']),$user_id);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
//销量排序
|
$order['g.sort'] = 'desc';
|
||||||
if(isset($get['sales_sum']) && $get['sales_sum']){
|
$order['g.id'] = 'desc';
|
||||||
$order['sales_sum'] = $get['sales_sum'];
|
$goods_count =Db::name('goods g')
|
||||||
}
|
|
||||||
//价格排序
|
|
||||||
if(isset($get['price']) && $get['price']){
|
|
||||||
$order['min_price'] = $get['price'];
|
|
||||||
}
|
|
||||||
|
|
||||||
$order['sort'] = 'desc';
|
|
||||||
$order['id'] = 'desc';
|
|
||||||
|
|
||||||
$goods_count = $goods
|
|
||||||
->where($where)
|
->where($where)
|
||||||
|
->join('screen_mud sm', 'g.mud_id = sm.id')
|
||||||
|
->join('supplier s', 'g.supplier_id = s.id')
|
||||||
->count();
|
->count();
|
||||||
|
$goods_list =Db::name('goods g')
|
||||||
$goods_list = $goods
|
|
||||||
->where($where)
|
->where($where)
|
||||||
->page($page,$size)
|
->page($page,$size)
|
||||||
->order($order)
|
->order($order)
|
||||||
->field('id,name,image,min_price as price,market_price,sales_sum+virtual_sales_sum as sales_sum,sort')
|
->field('g.id as goods_id,g.name as goods_name,g.code,g.image,min_price as price,rongliang_name,sm.name as mud_name,s.name as supplier_name,g.code')
|
||||||
->select();
|
->join('screen_mud sm', 'g.mud_id = sm.id')
|
||||||
|
->join('supplier s', 'g.supplier_id = s.id')
|
||||||
|
->select();
|
||||||
|
foreach ($goods_list as $key => $v1){
|
||||||
|
$goods_list[$key]['image']=UrlServer::getFileUrl($v1['image']);
|
||||||
|
}
|
||||||
$more = is_more($goods_count,$page,$size); //是否有下一页
|
$more = is_more($goods_count,$page,$size); //是否有下一页
|
||||||
|
|
||||||
$data = [
|
$data = [
|
||||||
|
|
@ -87,69 +156,33 @@ class GoodsLogic{
|
||||||
}
|
}
|
||||||
//商品详情
|
//商品详情
|
||||||
public static function getGoodsDetail($user_id,$id){
|
public static function getGoodsDetail($user_id,$id){
|
||||||
|
|
||||||
$goods = Goods::get(['id'=>$id,'status'=>1],['goods_image','goods_item']);
|
$goods = Goods::get(['id'=>$id,'status'=>1],['goods_image','goods_item']);
|
||||||
|
|
||||||
if($goods){
|
if($goods){
|
||||||
//点击量
|
//点击量
|
||||||
$goods->click_count = $goods->click_count + 1;
|
$goods->click_count = $goods->click_count + 1;
|
||||||
$goods->save();
|
$goods->save();
|
||||||
$goods->sales_sum += $goods->virtual_sales_sum;
|
$goods->sales_sum += $goods->virtual_sales_sum;
|
||||||
$goods->is_collect = 0;
|
|
||||||
$goods->member_price = 0;
|
|
||||||
$goods->append(['order_give_integral', 'commission_price']);
|
|
||||||
|
|
||||||
//检查商品是否整在参加活动,如果正在参加活动替换商品的价格为活动价
|
//专家信息
|
||||||
$goods = self::checkActivity($goods);
|
$supplier = Db::name('supplier')
|
||||||
if($user_id) {
|
->where(['del'=>0,'id'=>$goods->supplier_id])
|
||||||
//是否收藏
|
->order('create_time desc')
|
||||||
$collect = Db::name('goods_collect')->where(['user_id'=>$user_id,'goods_id'=>$id])->find();
|
->field('id,name,remark,avatar')
|
||||||
$goods->is_collect= $collect ? 1 : 0;
|
->find();
|
||||||
|
$supplier['avatar']=UrlServer::getFileUrl($supplier['avatar']);
|
||||||
|
$goods->supplier_list=$supplier;
|
||||||
|
|
||||||
|
$goods->payment=ConfigServer::get('policy', 'payment');
|
||||||
|
$goods->reason = ConfigServer::get('policy', 'reason');
|
||||||
|
$goods->after_sale =ConfigServer::get('policy', 'after_sale');
|
||||||
|
|
||||||
//会员折扣
|
|
||||||
$member_discount = Db::name('user_level l')
|
|
||||||
->join('user u', 'u.level = l.id')
|
|
||||||
->where(['u.id' => $user_id])
|
|
||||||
->value('discount');
|
|
||||||
$price_array = [];
|
|
||||||
//处理会员折扣价格
|
|
||||||
if ($goods->is_member > 0 && $member_discount > 0) {
|
|
||||||
//会员价格
|
|
||||||
foreach ($goods->goods_item as $item => $value){
|
|
||||||
$goods->goods_item[$item]['member_price'] = 0;
|
|
||||||
if($member_discount){
|
|
||||||
$member_price = round($value['price'] * $member_discount / 10,2);
|
|
||||||
$goods->goods_item[$item]['member_price'] = $member_price;
|
|
||||||
$price_array[] = $member_price;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
$price_array && $goods->member_price = min($price_array);
|
|
||||||
}
|
|
||||||
//多规格,按最高的价格计算积分
|
|
||||||
if($price_array && 2 === $goods->give_integral_type){
|
|
||||||
$price = $price_array ? max($price_array) : $goods->max_price;
|
|
||||||
$goods->order_give_integral = intval($price * $goods->give_integral / 100);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
//猜你喜欢
|
|
||||||
$goods->Like();
|
|
||||||
//商品规格
|
//商品规格
|
||||||
$goods->GoodsSpec();
|
$goods->GoodsSpec();
|
||||||
$goods->append(['comment'])->hidden(['Spec','GoodsSpecValue'])
|
$goods->append(['comment'])->hidden(['Spec','GoodsSpecValue'])
|
||||||
->visible(['id','name','image','video','stock','remark','content','sales_sum',
|
->visible(['id','name','code','image','stock','content',
|
||||||
'click_count','price','market_price','is_collect','goods_spec','goods_image',
|
'price','market_price','goods_spec','goods_image',
|
||||||
'goods_item','activity','member_price']);
|
'goods_item','supplier_list','payment','reason','after_sale']);
|
||||||
|
|
||||||
//判断是否开启了拼团
|
|
||||||
if ($goods['is_team']) {
|
|
||||||
$resTeam = self::getTeam($goods);
|
|
||||||
// 如果活动没结束,则返回拼团数据, 否则把商品是否已开团状态改为,不是开团商品
|
|
||||||
if ($resTeam !== 100 and is_array($resTeam)) {
|
|
||||||
$goods['activity'] = $resTeam;
|
|
||||||
} else {
|
|
||||||
$goods['is_team'] = 0;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
// 钩子-记录足迹(浏览商品)
|
// 钩子-记录足迹(浏览商品)
|
||||||
Hook::listen('footprint', [
|
Hook::listen('footprint', [
|
||||||
|
|
|
||||||
|
|
@ -13,52 +13,45 @@ use app\common\server\UrlServer;
|
||||||
use think\Db;
|
use think\Db;
|
||||||
|
|
||||||
class PcLogic{
|
class PcLogic{
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Notes:惠藏百件分类
|
||||||
|
* @return array
|
||||||
|
* @author:kiki
|
||||||
|
*/
|
||||||
|
public static function baijian_goods_category(){
|
||||||
|
$category_list = Db::name('goods_category')
|
||||||
|
->where(['del'=>0,'is_recommend'=>1])
|
||||||
|
->order('sort desc')
|
||||||
|
->field('id,name')
|
||||||
|
->select();
|
||||||
|
return $category_list;
|
||||||
|
}
|
||||||
/**
|
/**
|
||||||
* Notes:pc端首页接口
|
* Notes:pc端首页接口
|
||||||
* @return array
|
* @return array
|
||||||
* @author:kiki
|
* @author:kiki
|
||||||
*/
|
*/
|
||||||
public static function pcLists(){
|
public static function pcLists(){
|
||||||
$goods = new Goods();
|
//新品上架
|
||||||
|
$new_list = Db::name('goods g')
|
||||||
//热销榜单
|
->where(['g.del'=>0,'g.status'=>1,'g.is_new'=>1])
|
||||||
$host_list = $goods
|
->field('g.id as goods_id,g.name as goods_name,g.code,g.image,min_price as price,rongliang_name,sm.name as mud_name,s.name as supplier_name')
|
||||||
->where(['del'=>0,'status'=>1])
|
->join('screen_mud sm', 'g.mud_id = sm.id')
|
||||||
->field('id,name,image,min_price as price,market_price,sales_sum+virtual_sales_sum as sales_sum')
|
->join('supplier s', 'g.supplier_id = s.id')
|
||||||
->order('sales_sum desc,click_count desc')
|
->order('g.id desc,g.sort desc')
|
||||||
->limit(10)
|
|
||||||
->select();
|
|
||||||
|
|
||||||
//新品推荐
|
|
||||||
$new_list = $goods
|
|
||||||
->where(['del'=>0,'status'=>1,'is_new'=>1])
|
|
||||||
->field('id,name,image,min_price as price,market_price,sales_sum+virtual_sales_sum as sales_sum')
|
|
||||||
->order('id desc,sort desc')
|
|
||||||
->limit(10)
|
|
||||||
->select();
|
|
||||||
|
|
||||||
|
|
||||||
//好物优选
|
|
||||||
$best_list = $goods
|
|
||||||
->where(['del'=>0,'status'=>1,'is_best'=>1])
|
|
||||||
->field('id,name,image,min_price as price,market_price,sales_sum+virtual_sales_sum as sales_sum')
|
|
||||||
->order('id desc,sort desc')
|
|
||||||
->limit(10)
|
->limit(10)
|
||||||
->select();
|
->select();
|
||||||
|
|
||||||
$ad_list = Db::name('ad a')
|
$ad_list = Db::name('ad a')
|
||||||
->join('ad_position ap', 'a.pid = ap.id')
|
->join('ad_position ap', 'a.pid = ap.id')
|
||||||
->where(['pid' =>[18,19,20,21],'a.status' => 1,'a.del' => 0,'ap.status' => 1,'ap.del' => 0])
|
->where(['pid' =>[2],'a.status' => 1,'a.del' => 0,'ap.status' => 1,'ap.del' => 0])
|
||||||
->order('a.id desc')
|
->order('a.id desc')
|
||||||
->field('a.*')
|
->field('a.*')
|
||||||
->select();
|
->select();
|
||||||
|
|
||||||
|
|
||||||
$host_ad = []; //热销榜单广告
|
$index_ad = []; //首页轮播图广告
|
||||||
$new_ad = []; //新品推荐广告
|
|
||||||
$best_ad = []; //好物优选广告
|
|
||||||
$category_ad = []; //分类广告
|
|
||||||
|
|
||||||
foreach ($ad_list as $ad){
|
foreach ($ad_list as $ad){
|
||||||
$url = $ad['link'];
|
$url = $ad['link'];
|
||||||
$is_tab = 0;
|
$is_tab = 0;
|
||||||
|
|
@ -77,9 +70,9 @@ class PcLogic{
|
||||||
];
|
];
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
//首页热销榜单广告
|
//首页轮播图广告
|
||||||
if(empty($host_ad) && 18 == $ad['pid']){
|
if(empty($index_ad) && 2 == $ad['pid']){
|
||||||
$host_ad = [
|
$index_ad = [
|
||||||
'image' => UrlServer::getFileUrl($ad['image']),
|
'image' => UrlServer::getFileUrl($ad['image']),
|
||||||
'link' => $url,
|
'link' => $url,
|
||||||
'link_type' => $ad['link_type'],
|
'link_type' => $ad['link_type'],
|
||||||
|
|
@ -87,85 +80,147 @@ class PcLogic{
|
||||||
'is_tab' => $is_tab,
|
'is_tab' => $is_tab,
|
||||||
];
|
];
|
||||||
}
|
}
|
||||||
//首页新品推荐广告
|
|
||||||
if(empty($new_ad) && 19 == $ad['pid']){
|
|
||||||
$new_ad = [
|
|
||||||
'image' => UrlServer::getFileUrl($ad['image']),
|
|
||||||
'link' => $url,
|
|
||||||
'link_type' => $ad['link_type'],
|
|
||||||
'params' => $params,
|
|
||||||
'is_tab' => $is_tab,
|
|
||||||
];
|
|
||||||
}
|
|
||||||
//首页好物优选广告
|
|
||||||
if(empty($best_ad) && 20 == $ad['pid']){
|
|
||||||
$best_ad = [
|
|
||||||
'image' => UrlServer::getFileUrl($ad['image']),
|
|
||||||
'link' => $url,
|
|
||||||
'link_type' => $ad['link_type'],
|
|
||||||
'params' => $params,
|
|
||||||
'is_tab' => $is_tab,
|
|
||||||
];
|
|
||||||
}
|
|
||||||
//首页分类广告
|
|
||||||
if(21 == $ad['pid']){
|
|
||||||
|
|
||||||
$category_ad[$ad['category_id']] = [
|
|
||||||
'image' => UrlServer::getFileUrl($ad['image']),
|
|
||||||
'link' => $url,
|
|
||||||
'link_type' => $ad['link_type'],
|
|
||||||
'params' => $params,
|
|
||||||
'is_tab' => $is_tab,
|
|
||||||
];
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
//分类信息
|
//紫砂资讯
|
||||||
$goods_category = new \app\admin\model\GoodsCategory();
|
$article = Db::name('article')
|
||||||
$goods_category_list = $goods_category
|
->where(['del'=>0,'is_notice'=>1,'is_show'=>1])
|
||||||
->where(['del'=>0, 'level'=>1,'is_recommend'=>1])
|
->order('create_time desc')
|
||||||
->with(['sons'])
|
->field('id,title,synopsis,image,create_time')
|
||||||
->field('id,name')
|
->limit(4)
|
||||||
->select();
|
->select();
|
||||||
|
foreach ($article as $key => $v1){
|
||||||
|
$article[$key]['image']=UrlServer::getFileUrl($v1['image']);
|
||||||
|
$article[$key]['create_time'] = date('Y-m-d', $v1['create_time']);
|
||||||
|
}
|
||||||
|
|
||||||
$category_list = [];
|
//专家信息
|
||||||
foreach ($goods_category_list as $key => $goods_category){
|
$supplier = Db::name('supplier')
|
||||||
$sons = [];
|
->where(['del'=>0,'is_notice'=>1])
|
||||||
$goods_list = $goods
|
->order('create_time desc')
|
||||||
->where(['first_category_id'=>$goods_category['id'],'del'=>0,'status'=>1])
|
->field('id,name,remark,avatar')
|
||||||
->field('id,name,image,min_price as price,market_price,sales_sum+virtual_sales_sum as sales_sum')
|
->limit(6)
|
||||||
->limit(8)
|
->select();
|
||||||
->select();
|
foreach ($supplier as $key => $v2){
|
||||||
foreach ($goods_category['sons'] as $son){
|
$supplier[$key]['avatar']=UrlServer::getFileUrl($v2['avatar']);
|
||||||
$sons[] = [
|
}
|
||||||
'id' => $son['id'],
|
|
||||||
'name' => $son['name'],
|
//门店信息
|
||||||
];
|
$store = Db::name('store')
|
||||||
}
|
->where(['del'=>0,'is_show'=>1])
|
||||||
$ad = $category_ad[$goods_category['id']] ?? [];
|
->order('create_time desc')
|
||||||
$category_list[] = [
|
->field('id,title,address,image,business,traffic,contact')
|
||||||
'id' => $goods_category['id'],
|
->limit(4)
|
||||||
'name' => $goods_category['name'],
|
->select();
|
||||||
'ad' => $ad,
|
foreach ($store as $key => $v2){
|
||||||
'sons' => $sons,
|
$store[$key]['image']=UrlServer::getFileUrl($v1['image']);
|
||||||
'goods_list'=> $goods_list,
|
|
||||||
];
|
|
||||||
}
|
}
|
||||||
|
|
||||||
$list = [
|
$list = [
|
||||||
'host_ad' => $host_ad,
|
'new_list' => $new_list,
|
||||||
'host_list' => $host_list,
|
'index_ad' => $index_ad,
|
||||||
'new_ad' => $new_ad,
|
'article' => $article,
|
||||||
'new_list' => $new_list,
|
'supplier' => $supplier,
|
||||||
'best_ad' => $best_ad,
|
'store' => $store
|
||||||
'best_list' => $best_list,
|
|
||||||
'category_list' => $category_list,
|
|
||||||
];
|
];
|
||||||
|
|
||||||
return $list;
|
return $list;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
//专家信息
|
||||||
|
public static function supplierclssList(){
|
||||||
|
$supplier_category = new \app\admin\model\SupplierCategory();
|
||||||
|
$supplier_category_list = $supplier_category
|
||||||
|
->where(['del'=>0, 'is_show'=>1])
|
||||||
|
->field('id,name')
|
||||||
|
->select();
|
||||||
|
$category_list = [];
|
||||||
|
foreach ($supplier_category_list as $key => $supplier_category){
|
||||||
|
$supplier_list = Db::name('supplier')
|
||||||
|
->where(['cid'=>$supplier_category['id'],'del'=>0])
|
||||||
|
->field('id,name')
|
||||||
|
->select();
|
||||||
|
if(!$supplier_list){
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
$category_list[] = [
|
||||||
|
'id' => $supplier_category['id'],
|
||||||
|
'name' => $supplier_category['name'],
|
||||||
|
'supplier_list'=> $supplier_list,
|
||||||
|
];
|
||||||
|
}
|
||||||
|
return $category_list;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Notes:获取专家列表
|
||||||
|
* @param $page int 页码
|
||||||
|
* @param $size int 每页数量
|
||||||
|
* @param $cid int 分类id
|
||||||
|
* @return array
|
||||||
|
* @author: kiki
|
||||||
|
*/
|
||||||
|
public static function supplierList($page,$size,$cid){
|
||||||
|
|
||||||
|
$where[] = ['del','=',0];
|
||||||
|
//按商品分类搜索
|
||||||
|
if($cid){
|
||||||
|
$where[] = ['cid','=',$cid];
|
||||||
|
}
|
||||||
|
$count =Db::name('supplier')
|
||||||
|
->field('id,name,remark,avatar')
|
||||||
|
->where($where)
|
||||||
|
->count();
|
||||||
|
|
||||||
|
$list =Db::name('supplier')
|
||||||
|
->order('create_time desc')
|
||||||
|
->field('id,name,remark,avatar')
|
||||||
|
->where($where)
|
||||||
|
->page($page, $size)
|
||||||
|
->select();
|
||||||
|
$more = is_more($count, $page, $size); //是否有下一页
|
||||||
|
return [
|
||||||
|
'list' => $list,
|
||||||
|
'page' => $page,
|
||||||
|
'size' => $size,
|
||||||
|
'count' => $count,
|
||||||
|
'more' => $more
|
||||||
|
];
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Notes:获取专家详情
|
||||||
|
* @param $cid int 专家id
|
||||||
|
* @return array
|
||||||
|
* @author: kiki
|
||||||
|
*/
|
||||||
|
public static function getsupplierDetail($id){
|
||||||
|
|
||||||
|
$where[] = ['del','=',0];
|
||||||
|
$where[] = ['id','=',$id];
|
||||||
|
$info =Db::name('supplier')
|
||||||
|
->order('create_time desc')
|
||||||
|
->field('id,name,remark,avatar,honor,position')
|
||||||
|
->where($where)
|
||||||
|
->find();
|
||||||
|
|
||||||
|
$goods_list=Db::name('goods g')
|
||||||
|
->where(['g.del'=>0,'g.status'=>1,'g.supplier_id'=>$info['id']])
|
||||||
|
->field('g.id as goods_id,g.name as goods_name,g.code,g.image,min_price as price,rongliang_name,sm.name as mud_name,s.name as supplier_name')
|
||||||
|
->join('screen_mud sm', 'g.mud_id = sm.id')
|
||||||
|
->join('supplier s', 'g.supplier_id = s.id')
|
||||||
|
->order('g.id desc,g.sort desc')
|
||||||
|
->select();
|
||||||
|
return [
|
||||||
|
'info' => $info,
|
||||||
|
'goods_list' => $goods_list,
|
||||||
|
];
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Notes:pc端获取公共数据
|
* Notes:pc端获取公共数据
|
||||||
* @param $user_id int 用户id
|
* @param $user_id int 用户id
|
||||||
|
|
@ -173,31 +228,220 @@ class PcLogic{
|
||||||
* @author: kiki
|
* @author: kiki
|
||||||
*/
|
*/
|
||||||
public static function commonData($user_id){
|
public static function commonData($user_id){
|
||||||
$article = Db::name('article')
|
|
||||||
->where(['del'=>0,'is_notice'=>1,'is_show'=>1])
|
|
||||||
->order('create_time desc')
|
|
||||||
->field('id,title')
|
|
||||||
->limit(3)
|
|
||||||
->select();
|
|
||||||
$cart_num = 0;
|
|
||||||
$coupon_num = 0;
|
|
||||||
$nickname = '';
|
$nickname = '';
|
||||||
|
|
||||||
if($user_id){
|
if($user_id){
|
||||||
$cart_num = Db::name('cart')->where(['user_id'=>$user_id])->sum('goods_num');
|
|
||||||
$coupon_num = Db::name('coupon_list')->where(['user_id'=>$user_id,'del'=>0,'status'=>0])->count();
|
|
||||||
$nickname = Db::name('user')->where(['id'=>$user_id])->value('nickname');
|
$nickname = Db::name('user')->where(['id'=>$user_id])->value('nickname');
|
||||||
}
|
}
|
||||||
|
$help_category_list = DB::name('help_category')
|
||||||
|
->where('is_show', 1)
|
||||||
|
->where(['del' => 0])
|
||||||
|
->field('id,name')
|
||||||
|
->select();
|
||||||
|
$h_category_list = [];
|
||||||
|
foreach ($help_category_list as $key => $help_category){
|
||||||
|
$help_list = Db::name('help')
|
||||||
|
->where(['cid'=>$help_category['id'],'del'=>0])
|
||||||
|
->field('id,title')
|
||||||
|
->select();
|
||||||
|
$h_category_list[] = [
|
||||||
|
'id' => $help_category['id'],
|
||||||
|
'name' => $help_category['name'],
|
||||||
|
'help_list'=> $help_list,
|
||||||
|
];
|
||||||
|
}
|
||||||
|
return [
|
||||||
|
'logo' => UrlServer::getFileUrl(ConfigServer::get('website', 'pc_logo')),
|
||||||
|
'name' => ConfigServer::get('website', 'name',''),
|
||||||
|
'nickname' => $nickname,
|
||||||
|
'kfphone' => ConfigServer::get('service','phone',''),
|
||||||
|
'kf_qr_code' => UrlServer::getFileUrl(ConfigServer::get('service','image','')),
|
||||||
|
'oa_qr_code' => UrlServer::getFileUrl(ConfigServer::get('oa', 'qr_code', '')),
|
||||||
|
'h_category_list'=>$h_category_list,
|
||||||
|
];
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Notes:惠藏藏品列表
|
||||||
|
* @author: kiki
|
||||||
|
*/
|
||||||
|
public static function cangpingoods(){
|
||||||
|
|
||||||
|
$ad_list = Db::name('ad a')
|
||||||
|
->join('ad_position ap', 'a.pid = ap.id')
|
||||||
|
->where(['pid' =>[24],'a.status' => 1,'a.del' => 0,'ap.status' => 1,'ap.del' => 0])
|
||||||
|
->order('a.id desc')
|
||||||
|
->field('a.*')
|
||||||
|
->select();
|
||||||
|
|
||||||
|
|
||||||
|
$ad = []; //广告
|
||||||
|
foreach ($ad_list as $ad){
|
||||||
|
$url = $ad['link'];
|
||||||
|
$is_tab = 0;
|
||||||
|
$params = [];
|
||||||
|
switch ($ad['link_type']) {
|
||||||
|
case 1:
|
||||||
|
$page = Ad::getLinkPage($ad['client'], $ad['link']);
|
||||||
|
$url = $page['path'];
|
||||||
|
$is_tab = $page['is_tab'] ?? 0;
|
||||||
|
break;
|
||||||
|
case 2:
|
||||||
|
$goods_path = Ad::getGoodsPath($ad['client']);
|
||||||
|
$url = $goods_path;
|
||||||
|
$params = [
|
||||||
|
'id' => $ad['link'],
|
||||||
|
];
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
//广告
|
||||||
|
if(empty($tiemai_tup_ad) && 24 == $ad['pid']){
|
||||||
|
$tiemai_tup_ad = [
|
||||||
|
'image' => UrlServer::getFileUrl($ad['image']),
|
||||||
|
'link' => $url,
|
||||||
|
'link_type' => $ad['link_type'],
|
||||||
|
'params' => $params,
|
||||||
|
'is_tab' => $is_tab,
|
||||||
|
];
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
$where[] = ['g.del','=',0];
|
||||||
|
$where[] = ['g.status','=',1];
|
||||||
|
//藏品捡宝
|
||||||
|
$where1[] = ['is_jiantreasure','=',1];
|
||||||
|
//镇店藏品
|
||||||
|
$where2[] = ['is_zdtreasure','=',1];
|
||||||
|
|
||||||
|
$jiantreasure_list =Db::name('goods g')
|
||||||
|
->field('g.id as goods_id,g.name as goods_name,g.image,remark')
|
||||||
|
->where($where)
|
||||||
|
->where($where1)
|
||||||
|
->page(0,7)
|
||||||
|
->select();
|
||||||
|
foreach ($jiantreasure_list as $key => $v1){
|
||||||
|
$jiantreasure_list[$key]['image']=UrlServer::getFileUrl($v1['image']);
|
||||||
|
}
|
||||||
|
|
||||||
|
$zdtreasure_list =Db::name('goods g')
|
||||||
|
->field('g.id as goods_id,g.name as goods_name,g.image,remark')
|
||||||
|
->where($where)
|
||||||
|
->where($where2)
|
||||||
|
->page(0,7)
|
||||||
|
->select();
|
||||||
|
foreach ($zdtreasure_list as $key => $v1){
|
||||||
|
$zdtreasure_list[$key]['image']=UrlServer::getFileUrl($v1['image']);
|
||||||
|
}
|
||||||
|
return [
|
||||||
|
'ad' => $tiemai_tup_ad,//广告
|
||||||
|
'jiantreasure_list' => $jiantreasure_list,//藏品捡宝
|
||||||
|
'zdtreasure_list' => $zdtreasure_list,//镇店藏品
|
||||||
|
];
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Notes:特卖商品列表
|
||||||
|
* @author: kiki
|
||||||
|
*/
|
||||||
|
public static function temaigoods(){
|
||||||
|
|
||||||
|
$ad_list = Db::name('ad a')
|
||||||
|
->join('ad_position ap', 'a.pid = ap.id')
|
||||||
|
->where(['pid' =>[16,21],'a.status' => 1,'a.del' => 0,'ap.status' => 1,'ap.del' => 0])
|
||||||
|
->order('a.id desc')
|
||||||
|
->field('a.*')
|
||||||
|
->select();
|
||||||
|
|
||||||
|
$tiemai_tup_ad = []; //特卖大图广告
|
||||||
|
$tiemai_bott_ad = []; //特卖小图广告
|
||||||
|
foreach ($ad_list as $ad){
|
||||||
|
$url = $ad['link'];
|
||||||
|
$is_tab = 0;
|
||||||
|
$params = [];
|
||||||
|
switch ($ad['link_type']) {
|
||||||
|
case 1:
|
||||||
|
$page = Ad::getLinkPage($ad['client'], $ad['link']);
|
||||||
|
$url = $page['path'];
|
||||||
|
$is_tab = $page['is_tab'] ?? 0;
|
||||||
|
break;
|
||||||
|
case 2:
|
||||||
|
$goods_path = Ad::getGoodsPath($ad['client']);
|
||||||
|
$url = $goods_path;
|
||||||
|
$params = [
|
||||||
|
'id' => $ad['link'],
|
||||||
|
];
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
//特卖大图广告
|
||||||
|
if(empty($tiemai_tup_ad) && 21 == $ad['pid']){
|
||||||
|
$tiemai_tup_ad = [
|
||||||
|
'image' => UrlServer::getFileUrl($ad['image']),
|
||||||
|
'link' => $url,
|
||||||
|
'link_type' => $ad['link_type'],
|
||||||
|
'params' => $params,
|
||||||
|
'is_tab' => $is_tab,
|
||||||
|
];
|
||||||
|
}
|
||||||
|
//特卖小图广告
|
||||||
|
if(16 == $ad['pid']){
|
||||||
|
$tiemai_bott_ad[] = [
|
||||||
|
'image' => UrlServer::getFileUrl($ad['image']),
|
||||||
|
'link' => $url,
|
||||||
|
'link_type' => $ad['link_type'],
|
||||||
|
'params' => $params,
|
||||||
|
'is_tab' => $is_tab,
|
||||||
|
];
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
$where[] = ['g.del','=',0];
|
||||||
|
$where[] = ['g.status','=',1];
|
||||||
|
//新品上架
|
||||||
|
$where1[] = ['is_new','=',1];
|
||||||
|
//精品推荐
|
||||||
|
$where2[] = ['is_best','=',1];
|
||||||
|
//今日促销
|
||||||
|
$where3[] = ['is_like','=',1];
|
||||||
|
|
||||||
|
$xinpin_list =Db::name('goods g')
|
||||||
|
->field('g.id as goods_id,g.name as goods_name,g.code,g.image,min_price as price,rongliang_name,s.name as supplier_name')
|
||||||
|
->join('supplier s', 'g.supplier_id = s.id')
|
||||||
|
->where($where)
|
||||||
|
->where($where1)
|
||||||
|
->page(0,7)
|
||||||
|
->select();
|
||||||
|
foreach ($xinpin_list as $key => $v1){
|
||||||
|
$xinpin_list[$key]['image']=UrlServer::getFileUrl($v1['image']);
|
||||||
|
}
|
||||||
|
|
||||||
|
$jingpin_list =Db::name('goods g')
|
||||||
|
->field('g.id as goods_id,g.name as goods_name,g.image,min_price as price')
|
||||||
|
->where($where)
|
||||||
|
->where($where2)
|
||||||
|
->page(0,6)
|
||||||
|
->select();
|
||||||
|
foreach ($jingpin_list as $key => $v1){
|
||||||
|
$jingpin_list[$key]['image']=UrlServer::getFileUrl($v1['image']);
|
||||||
|
}
|
||||||
|
|
||||||
|
$cuxiao_list =Db::name('goods g')
|
||||||
|
->field('g.id as goods_id,g.name as goods_name,g.image,min_price as price')
|
||||||
|
->where($where)
|
||||||
|
->where($where3)
|
||||||
|
->page(0,6)
|
||||||
|
->select();
|
||||||
|
foreach ($cuxiao_list as $key => $v1){
|
||||||
|
$cuxiao_list[$key]['image']=UrlServer::getFileUrl($v1['image']);
|
||||||
|
}
|
||||||
|
|
||||||
return [
|
return [
|
||||||
'article' => $article,
|
'da_ad' => $tiemai_tup_ad,//大图
|
||||||
'logo' => UrlServer::getFileUrl(ConfigServer::get('website', 'pc_logo')),
|
'xiao_ad' => $tiemai_bott_ad,//4小图
|
||||||
'name' => ConfigServer::get('website', 'name',''),
|
'xinpin_list' => $xinpin_list,//新品
|
||||||
'cart_num' => $cart_num,
|
'jingpin_list' => $jingpin_list,//精品
|
||||||
'coupon_num' => $coupon_num,
|
'cuxiao_list' => $cuxiao_list//促销
|
||||||
'nickname' => $nickname,
|
|
||||||
'oa_qr_code' => UrlServer::getFileUrl(ConfigServer::get('oa', 'qr_code', '')),
|
|
||||||
'mnp_qr_code' => UrlServer::getFileUrl(ConfigServer::get('mnp', 'qr_code', '')),
|
|
||||||
];
|
];
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -215,11 +459,11 @@ class PcLogic{
|
||||||
*/
|
*/
|
||||||
public static function goodsList($page,$size,$name,$category_id,$type,$sort_type,$sort){
|
public static function goodsList($page,$size,$name,$category_id,$type,$sort_type,$sort){
|
||||||
|
|
||||||
$where[] = ['del','=',0];
|
$where[] = ['g.del','=',0];
|
||||||
$where[] = ['status','=',1];
|
$where[] = ['g.status','=',1];
|
||||||
//按商品名称搜索
|
//按商品名称搜索
|
||||||
if($name){
|
if($name){
|
||||||
$where[] = ['name','like','%'.$name.'%'];
|
$where[] = ['g.name','like','%'.$name.'%'];
|
||||||
|
|
||||||
}
|
}
|
||||||
//按商品分类搜索
|
//按商品分类搜索
|
||||||
|
|
@ -230,11 +474,25 @@ class PcLogic{
|
||||||
if(1 != $type){
|
if(1 != $type){
|
||||||
switch ($type){
|
switch ($type){
|
||||||
case 2:
|
case 2:
|
||||||
|
//新品上架
|
||||||
$where[] = ['is_new','=',1];
|
$where[] = ['is_new','=',1];
|
||||||
break;
|
break;
|
||||||
case 3:
|
case 3:
|
||||||
|
//精品推荐
|
||||||
$where[] = ['is_best','=',1];
|
$where[] = ['is_best','=',1];
|
||||||
break;
|
break;
|
||||||
|
case 4:
|
||||||
|
//今日促销
|
||||||
|
$where[] = ['is_like','=',1];
|
||||||
|
break;
|
||||||
|
case 5:
|
||||||
|
//藏品捡宝
|
||||||
|
$where[] = ['is_jiantreasure','=',1];
|
||||||
|
break;
|
||||||
|
case 6:
|
||||||
|
//镇店藏品
|
||||||
|
$where[] = ['is_zdtreasure','=',1];
|
||||||
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
//按排序条件显示
|
//按排序条件显示
|
||||||
|
|
@ -242,20 +500,24 @@ class PcLogic{
|
||||||
if($sort_type && $sort){
|
if($sort_type && $sort){
|
||||||
$order = [$sort_type=>$sort];
|
$order = [$sort_type=>$sort];
|
||||||
}
|
}
|
||||||
|
|
||||||
$goods = new Goods();
|
$goods = new Goods();
|
||||||
|
$count =Db::name('goods g')
|
||||||
$count = $goods
|
->join('screen_mud sm', 'g.mud_id = sm.id')
|
||||||
|
->join('supplier s', 'g.supplier_id = s.id')
|
||||||
->where($where)
|
->where($where)
|
||||||
->count();
|
->count();
|
||||||
|
|
||||||
$list = $goods
|
$list =Db::name('goods g')
|
||||||
->where($where)
|
->field('g.id as goods_id,g.name as goods_name,g.code,g.image,min_price as price,rongliang_name,sm.name as mud_name,s.name as supplier_name')
|
||||||
->field('id,name,image,min_price as price,market_price,sales_sum+virtual_sales_sum as sales_sum')
|
->join('screen_mud sm', 'g.mud_id = sm.id')
|
||||||
->order($order)
|
->join('supplier s', 'g.supplier_id = s.id')
|
||||||
->page($page, $size)
|
->where($where)
|
||||||
->select();
|
->order($order)
|
||||||
|
->page($page, $size)
|
||||||
|
->select();
|
||||||
|
foreach ($list as $key => $v1){
|
||||||
|
$list[$key]['image']=UrlServer::getFileUrl($v1['image']);
|
||||||
|
}
|
||||||
$more = is_more($count, $page, $size); //是否有下一页
|
$more = is_more($count, $page, $size); //是否有下一页
|
||||||
|
|
||||||
return [
|
return [
|
||||||
|
|
|
||||||
|
|
@ -1,4 +1,4 @@
|
||||||
<?php /*a:2:{s:92:"/Library/WebServer/Documents/dggxiangmu/dggzichahu/application/admin/view/supplier/edit.html";i:1640333906;s:86:"/Library/WebServer/Documents/dggxiangmu/dggzichahu/application/admin/view/layout2.html";i:1628618358;}*/ ?>
|
<?php /*a:2:{s:92:"/Library/WebServer/Documents/dggxiangmu/dggzichahu/application/admin/view/supplier/edit.html";i:1641741931;s:86:"/Library/WebServer/Documents/dggxiangmu/dggzichahu/application/admin/view/layout2.html";i:1628618358;}*/ ?>
|
||||||
<!DOCTYPE html>
|
<!DOCTYPE html>
|
||||||
<html>
|
<html>
|
||||||
<head>
|
<head>
|
||||||
|
|
@ -89,6 +89,22 @@
|
||||||
<label class=" layui-form-mid layui-word-aux" id="image">建议尺寸:730*530像素</label>
|
<label class=" layui-form-mid layui-word-aux" id="image">建议尺寸:730*530像素</label>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
<div class="layui-form-item">
|
||||||
|
<label class="layui-form-label">首页推荐</label>
|
||||||
|
<div class="layui-input-inline" id="" >
|
||||||
|
<input type="radio" name="is_notice" lay-filter="is_notice" style="width: 500px" value=1 title="是" <?php if($info['is_notice'] == 1): ?>checked<?php endif; ?>>
|
||||||
|
<input type="radio" name="is_notice" lay-filter="is_notice" style="width: 500px" value=0 title="否"<?php if($info['is_notice'] == 0): ?>checked<?php endif; ?>>
|
||||||
|
</div>
|
||||||
|
<div class="layui-form-item">
|
||||||
|
<label class=" layui-form-mid layui-word-aux" id="notice">在商城首页的名家推荐显示</label>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="layui-form-item">
|
||||||
|
<label class="layui-form-label" style="white-space: nowrap;">职位:</label>
|
||||||
|
<div class="layui-input-inline" style="width: 400px">
|
||||||
|
<input type="text" name="position" value="<?php echo htmlentities($info['position']); ?>" placeholder="" class="layui-input">
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
<div class="layui-form-item">
|
<div class="layui-form-item">
|
||||||
<label class="layui-form-label" style="white-space: nowrap;">荣誉:</label>
|
<label class="layui-form-label" style="white-space: nowrap;">荣誉:</label>
|
||||||
<div class="layui-input-inline" style="width: 400px">
|
<div class="layui-input-inline" style="width: 400px">
|
||||||
|
|
|
||||||
|
|
@ -1,4 +1,4 @@
|
||||||
<?php /*a:2:{s:98:"/Library/WebServer/Documents/dggxiangmu/dggzichahu/application/admin/view/shop_setting/policy.html";i:1628618358;s:86:"/Library/WebServer/Documents/dggxiangmu/dggzichahu/application/admin/view/layout1.html";i:1628618358;}*/ ?>
|
<?php /*a:2:{s:98:"/Library/WebServer/Documents/dggxiangmu/dggzichahu/application/admin/view/shop_setting/policy.html";i:1641735877;s:86:"/Library/WebServer/Documents/dggxiangmu/dggzichahu/application/admin/view/layout1.html";i:1628618358;}*/ ?>
|
||||||
<!DOCTYPE html>
|
<!DOCTYPE html>
|
||||||
<html>
|
<html>
|
||||||
<head>
|
<head>
|
||||||
|
|
@ -43,6 +43,8 @@
|
||||||
<li class="layui-this">服务协议</li>
|
<li class="layui-this">服务协议</li>
|
||||||
<li>隐私政策</li>
|
<li>隐私政策</li>
|
||||||
<li>售后保障</li>
|
<li>售后保障</li>
|
||||||
|
<li>选择理由</li>
|
||||||
|
<li>支付方式</li>
|
||||||
</ul>
|
</ul>
|
||||||
<div class="layui-tab-content">
|
<div class="layui-tab-content">
|
||||||
<div class="layui-tab-item layui-show">
|
<div class="layui-tab-item layui-show">
|
||||||
|
|
@ -65,6 +67,20 @@
|
||||||
<textarea name="after_sale" id="after_sale" lay-verify="content" class="field-content"><?php echo htmlentities($config['after_sale']); ?></textarea>
|
<textarea name="after_sale" id="after_sale" lay-verify="content" class="field-content"><?php echo htmlentities($config['after_sale']); ?></textarea>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
<div class="layui-tab-item">
|
||||||
|
<label class="layui-form-label"style="white-space: nowrap;">内容:</label>
|
||||||
|
<div class="layui-input-block">
|
||||||
|
<textarea name="payment" id="payment" lay-verify="content" class="field-content"><?php echo htmlentities($config['payment']); ?></textarea>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="layui-tab-item">
|
||||||
|
<label class="layui-form-label"style="white-space: nowrap;">内容:</label>
|
||||||
|
<div class="layui-input-block">
|
||||||
|
<textarea name="reason" id="reason" lay-verify="content" class="field-content"><?php echo htmlentities($config['reason']); ?></textarea>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="layui-form-item">
|
<div class="layui-form-item">
|
||||||
|
|
@ -102,12 +118,16 @@
|
||||||
var service = likeedit.build('service'); //建立编辑器
|
var service = likeedit.build('service'); //建立编辑器
|
||||||
var privacy = likeedit.build('privacy'); //建立编辑器
|
var privacy = likeedit.build('privacy'); //建立编辑器
|
||||||
var after_sale = likeedit.build('after_sale'); //建立编辑器
|
var after_sale = likeedit.build('after_sale'); //建立编辑器
|
||||||
|
var payment = likeedit.build('payment'); //建立编辑器
|
||||||
|
var reason = likeedit.build('reason'); //建立编辑器
|
||||||
form.verify({
|
form.verify({
|
||||||
|
|
||||||
content: function() {
|
content: function() {
|
||||||
likeedit.sync(service)
|
likeedit.sync(service)
|
||||||
likeedit.sync(privacy)
|
likeedit.sync(privacy)
|
||||||
likeedit.sync(after_sale)
|
likeedit.sync(after_sale)
|
||||||
|
likeedit.sync(payment)
|
||||||
|
likeedit.sync(reason)
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
form.verify({
|
form.verify({
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue