店铺类文件结构调整
This commit is contained in:
parent
842e365f8b
commit
d379e9b9db
26
app/admin/controller/merchant/system/Merchant.php
Normal file
26
app/admin/controller/merchant/system/Merchant.php
Normal file
@ -0,0 +1,26 @@
|
||||
<?php
|
||||
/**
|
||||
* 表单页面
|
||||
*
|
||||
*/
|
||||
namespace app\admin\controller\merchant\system;
|
||||
|
||||
use app\admin\BaseController;
|
||||
|
||||
class Merchant extends BaseController{
|
||||
|
||||
protected $model;
|
||||
|
||||
public function __construct()
|
||||
{
|
||||
}
|
||||
|
||||
function classify(){
|
||||
|
||||
}
|
||||
|
||||
public function system() {
|
||||
|
||||
}
|
||||
|
||||
}
|
118
app/admin/controller/merchant/system/MerchantApplyments.php
Normal file
118
app/admin/controller/merchant/system/MerchantApplyments.php
Normal file
@ -0,0 +1,118 @@
|
||||
<?php
|
||||
/**
|
||||
* @date :2023年03月2日
|
||||
* @author:刘孝全
|
||||
* @email:q8197264@126.com
|
||||
*
|
||||
* @ 商户入驻申请管理
|
||||
*/
|
||||
namespace app\admin\controller\merchant\system;
|
||||
|
||||
use app\admin\BaseController;
|
||||
use app\validate\merchant\MerchantApplymentsValidate;
|
||||
use app\admin\model\merchant\MerchantApplyments as MerchantApplymentsModel;
|
||||
|
||||
class MerchantApplyments extends BaseController
|
||||
{
|
||||
/**
|
||||
* @var MerchantModel
|
||||
*/
|
||||
protected $model;
|
||||
|
||||
/**
|
||||
* Merchant constructor.
|
||||
* @param App $app
|
||||
* @param MerchantRepository $repository
|
||||
*/
|
||||
function __construct(MerchantApplymentsModel $model){
|
||||
$this->model = $model;
|
||||
}
|
||||
|
||||
/**
|
||||
* TODO 创建申请
|
||||
* @param MerchantApplymentsValidate $validate
|
||||
* @return \think\response\Json
|
||||
* @author Qinii
|
||||
* @day 6/22/21
|
||||
*/
|
||||
public function create(MerchantApplymentsValidate $validate)
|
||||
{
|
||||
// if(!systemConfig('open_wx_sub_mch')) return app('json')->fail('未开启子商户入驻');
|
||||
$data = $this->checkParams($validate);
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
* TODO 创建申请
|
||||
* @param MerchantApplymentsValidate $validate
|
||||
* @return \think\response\Json
|
||||
* @author Qinii
|
||||
* @day 6/22/21
|
||||
*/
|
||||
public function detail()
|
||||
{}
|
||||
|
||||
/**
|
||||
* TODO 编辑提交
|
||||
* @param MerchantApplymentsValidate $validate
|
||||
* @return \think\response\Json
|
||||
* @author Qinii
|
||||
* @day 6/22/21
|
||||
*/
|
||||
public function update($id,MerchantApplymentsValidate $validate)
|
||||
{}
|
||||
|
||||
/**
|
||||
* TODO 查询更新状态
|
||||
* @param MerchantApplymentsValidate $validate
|
||||
* @return \think\response\Json
|
||||
* @author Qinii
|
||||
* @day 6/22/21
|
||||
*/
|
||||
public function check()
|
||||
{}
|
||||
|
||||
/**
|
||||
* TODO 上传图片
|
||||
* @param MerchantApplymentsValidate $validate
|
||||
* @return \think\response\Json
|
||||
* @author Qinii
|
||||
* @day 6/22/21
|
||||
*/
|
||||
public function uploadImage($field)
|
||||
{}
|
||||
|
||||
/**
|
||||
* TODO 检验参数
|
||||
* @param MerchantApplymentsValidate $validate
|
||||
* @return \think\response\Json
|
||||
* @author Qinii
|
||||
* @day 6/22/21
|
||||
*/
|
||||
public function checkParams(MerchantApplymentsValidate $validate)
|
||||
{
|
||||
//'organization_cert_info',
|
||||
$data = $this->request->params([
|
||||
'organization_type','business_license_info','id_doc_type','id_card_info','id_doc_info','need_account_info','account_info','contact_info','sales_scene_info','merchant_shortname','qualifications','business_addition_pics','business_addition_desc'
|
||||
]);
|
||||
|
||||
if($data['id_doc_type'] == 1){
|
||||
unset($data['id_doc_info']);
|
||||
}else{
|
||||
unset($data['id_card_info']);
|
||||
}
|
||||
|
||||
if(in_array($data['organization_type'],['2401','2500'])){
|
||||
unset($data['business_license_info']);
|
||||
}
|
||||
|
||||
if(isset($data['qualifications']) && !$data['qualifications']) unset($data['qualifications']);
|
||||
|
||||
if(isset($data['business_addition_pics']) && !$data['business_addition_pics']) unset($data['business_addition_pics']);
|
||||
if($data['organization_type'] !== 2 && isset($data['id_card_info']['id_card_address'])){
|
||||
unset($data['id_card_info']['id_card_address']);
|
||||
}
|
||||
$validate->check($data);
|
||||
return $data;
|
||||
}
|
||||
}
|
133
app/admin/controller/merchant/system/auth/Menu.php
Normal file
133
app/admin/controller/merchant/system/auth/Menu.php
Normal file
@ -0,0 +1,133 @@
|
||||
<?php
|
||||
/**
|
||||
* 商户菜单管理
|
||||
*
|
||||
* @author:刘孝全
|
||||
* @email:q8197264@126.com
|
||||
* @date :2023年03月3日
|
||||
*/
|
||||
namespace app\admin\controller\merchant\system\auth;
|
||||
|
||||
use app\admin\BaseController;
|
||||
use app\common\model\merchant\system\auth\Menu as MenuModel;
|
||||
use think\facade\View;
|
||||
use app\common\controller\FormatList;
|
||||
use think\exception\ValidateException;
|
||||
|
||||
/**
|
||||
* class Menu
|
||||
*/
|
||||
class Menu extends BaseController
|
||||
{
|
||||
protected $menu;
|
||||
protected $params;
|
||||
|
||||
function __construct(MenuModel $menu) {
|
||||
// $this->adminInfo = get_login_admin();
|
||||
|
||||
$this->menu = $menu;
|
||||
|
||||
$this->params = get_params() ;
|
||||
}
|
||||
|
||||
/**
|
||||
* 空白菜单页,由前端 ajax 获取数据
|
||||
*/
|
||||
function Index() {
|
||||
return view('merchant/system/auth/menu/index');
|
||||
}
|
||||
|
||||
/**
|
||||
* 菜单列表
|
||||
*/
|
||||
function Lst(){
|
||||
// 查出商户所有菜单数据
|
||||
$data = $this->menu->Search([], 1);
|
||||
|
||||
to_assign(0,'',$data['list']);
|
||||
}
|
||||
|
||||
/**
|
||||
* 表单页
|
||||
* TODO: 操作日志要另建表做关联
|
||||
* 操作日志待开发
|
||||
*
|
||||
*/
|
||||
function AddForm(FormatList $format){
|
||||
$id = isset($this->params['id']) ? $this->params['id'] : 0;
|
||||
$pid = isset($this->params['pid']) ? $this->params['pid'] : 0;
|
||||
if($id>0){
|
||||
$detail = $this->menu->Find($id);
|
||||
$detail['name'] = $detail['title'];
|
||||
View::assign('detail', $detail);
|
||||
}
|
||||
// 查出商户所有菜单数据
|
||||
$data = $this->menu->Search([], 1);
|
||||
$menus = $format->DropDownMenu($data['list']);
|
||||
|
||||
View::assign('id', $id);
|
||||
View::assign('pid', $pid);
|
||||
View::assign('menus',$menus);
|
||||
|
||||
return view('merchant/system/auth/menu/add');
|
||||
}
|
||||
|
||||
/**
|
||||
* 添加菜单
|
||||
*/
|
||||
function Add(){
|
||||
echo 'add';
|
||||
$this->params['src'] = preg_replace('# #','',$this->params['src']);
|
||||
// if ($param['id'] == 0) {
|
||||
try {
|
||||
validate(RuleCheck::class)->scene('add')->check($this->params);
|
||||
} catch (ValidateException $e) {
|
||||
// 验证失败 输出错误信息
|
||||
return to_assign(1, $e->getError());
|
||||
}
|
||||
$this->params['create_time'] = time();
|
||||
$rid = Db::name('AdminRule')->strict(false)->field(true)->insertGetId($this->params);
|
||||
//自动为系统所有者管理组分配新增的节点
|
||||
$group = Db::name('AdminGroup')->find(1);
|
||||
if (!empty($group)) {
|
||||
$newGroup['id'] = 1;
|
||||
$newGroup['rules'] = $group['rules'] . ',' . $rid;
|
||||
Db::name('AdminGroup')->strict(false)->field(true)->update($newGroup);
|
||||
add_log('add', $rid, $this->params);
|
||||
}
|
||||
// }
|
||||
// 删除后台节点缓存
|
||||
clear_cache('adminRules');
|
||||
return to_assign();
|
||||
}
|
||||
|
||||
/**
|
||||
* 编辑菜单
|
||||
*/
|
||||
function Edit(){
|
||||
echo 'edit';
|
||||
if ($this->params['id'] > 0) {
|
||||
try {
|
||||
validate(RuleCheck::class)->scene('edit')->check($this->params);
|
||||
} catch (ValidateException $e) {
|
||||
// 验证失败 输出错误信息
|
||||
return to_assign(1, $e->getError());
|
||||
}
|
||||
Db::name('AdminRule')->strict(false)->field(true)->update($this->params);
|
||||
add_log('edit', $this->params['id'], $this->params);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 删除菜单
|
||||
*/
|
||||
function Del(){
|
||||
$id = get_params("id");
|
||||
try{
|
||||
$this->menu->Del($id);
|
||||
return to_assign(0, "删除节点成功");
|
||||
}catch(ValidateException $e){
|
||||
return to_assign(1, $e->getMessage());
|
||||
}
|
||||
}
|
||||
}
|
@ -1,13 +1,32 @@
|
||||
<?php
|
||||
/**
|
||||
* 店铺保证金管理
|
||||
*
|
||||
* @author:刘孝全
|
||||
* @email:q8197264@126.com
|
||||
* @date :2023年03月3日
|
||||
*/
|
||||
declare (strict_types = 1);
|
||||
|
||||
namespace app\admin\controller\merchant\system\merchant;
|
||||
|
||||
use app\admin\BaseController;
|
||||
use think\Request;
|
||||
use app\common\model\merchant\system\merchant\MerchantMargin as MarchantMarginModel;
|
||||
|
||||
/**
|
||||
* 店铺保证金管理类
|
||||
*/
|
||||
class MerchantMargin extends BaseController
|
||||
{
|
||||
|
||||
protected $margin;
|
||||
|
||||
public function __construct(MarchantMarginModel $margin)
|
||||
{
|
||||
$this->margin = $margin;
|
||||
}
|
||||
|
||||
/**
|
||||
* 显示资源列表
|
||||
*
|
||||
|
@ -1,13 +1,65 @@
|
||||
<?php
|
||||
/**
|
||||
* 商户菜单管理
|
||||
*
|
||||
* @author:刘孝全
|
||||
* @email:q8197264@126.com
|
||||
* @date :2023年03月3日
|
||||
*/
|
||||
declare (strict_types = 1);
|
||||
|
||||
namespace app\admin\controller\merchant\system\merchant;
|
||||
|
||||
use app\admin\BaseController;
|
||||
use think\Request;
|
||||
use app\common\model\merchant\system\merchant\MerchantType as MerchantTypeModel;
|
||||
use think\facade\View;
|
||||
|
||||
/**
|
||||
* 店铺类型管理类
|
||||
*/
|
||||
class MerchantType extends BaseController
|
||||
{
|
||||
protected $mer_type;
|
||||
|
||||
function __construct(MerchantTypeModel $mer_type)
|
||||
{
|
||||
$this->mer_type = $mer_type;
|
||||
}
|
||||
|
||||
/**
|
||||
* 空白菜单页,由前端 ajax 获取数据
|
||||
*/
|
||||
function Index()
|
||||
{
|
||||
return View('merchant/system/merchant/type/index');
|
||||
}
|
||||
|
||||
/**
|
||||
* 添加/编辑 表单页
|
||||
*/
|
||||
public function Form()
|
||||
{
|
||||
if ($param['mer_id']>0) {
|
||||
$product_id = isset($param['product_id']) ? $param['product_id'] : 0;
|
||||
$detail = $this->model->getStoreProductById($product_id);
|
||||
if (!empty($detail)) {
|
||||
$detail['content'] = Db::table('cms_store_product_content')->where('product_id',$detail['product_id'])->value('content');
|
||||
$detail['slider_image_arr'] = explode(',',$detail['slider_image']);
|
||||
// halt($detail['slider_image_arr']);
|
||||
View::assign('detail', $detail);
|
||||
$store_brand= Db::connect('shop')->table('eb_store_brand')->where(['is_show' => 1])
|
||||
->select();
|
||||
View::assign('store_brand', $store_brand);
|
||||
|
||||
}
|
||||
else{
|
||||
throw new \think\exception\HttpException(404, '找不到页面');
|
||||
}
|
||||
}
|
||||
return view();
|
||||
}
|
||||
|
||||
/**
|
||||
* 显示店铺类型列表
|
||||
*
|
||||
@ -16,6 +68,14 @@ class MerchantType extends BaseController
|
||||
public function Lst()
|
||||
{
|
||||
echo 1723;
|
||||
$param = get_params();
|
||||
$where = [];
|
||||
if (isset($param['keywords']) && !empty($param['keywords'])){
|
||||
$where[]=['store_name','like','%'.$param['keywords'].'%'];
|
||||
}
|
||||
$list = $this->model->getStoreProductList($where,$param);
|
||||
|
||||
return table_assign(0, '', $list);
|
||||
}
|
||||
|
||||
/**
|
||||
@ -25,18 +85,9 @@ class MerchantType extends BaseController
|
||||
*/
|
||||
public function Add()
|
||||
{
|
||||
//
|
||||
}
|
||||
|
||||
/**
|
||||
* 保存新建的资源
|
||||
*
|
||||
* @param \think\Request $request
|
||||
* @return \think\Response
|
||||
*/
|
||||
public function save(Request $request)
|
||||
{
|
||||
//
|
||||
$store_brand= Db::connect('shop')->table('eb_store_brand')->where(['is_show' => 1])
|
||||
->select();
|
||||
return to_assign(0,'操作成功');
|
||||
}
|
||||
|
||||
/**
|
||||
@ -47,7 +98,21 @@ class MerchantType extends BaseController
|
||||
*/
|
||||
public function Detail($id)
|
||||
{
|
||||
//
|
||||
$param = get_params();
|
||||
$product_id = isset($param['product_id']) ? $param['product_id'] : 0;
|
||||
$detail = $this->model->getStoreProductById($product_id);
|
||||
if (!empty($detail)) {
|
||||
$detail['content'] = Db::table('cms_store_product_content')->where('product_id',$detail['product_id'])->value('content');
|
||||
$detail['slider_image_arr'] = explode(',',$detail['slider_image']);
|
||||
View::assign('detail', $detail);
|
||||
$store_brand= Db::connect('shop')->table('eb_store_brand')->where(['is_show' => 1])
|
||||
->select();
|
||||
View::assign('store_brand', $store_brand);
|
||||
return view();
|
||||
}
|
||||
else{
|
||||
throw new \think\exception\HttpException(404, '找不到页面');
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
@ -58,19 +123,7 @@ class MerchantType extends BaseController
|
||||
*/
|
||||
public function edit($id)
|
||||
{
|
||||
//
|
||||
}
|
||||
|
||||
/**
|
||||
* 保存更新的资源
|
||||
*
|
||||
* @param \think\Request $request
|
||||
* @param int $id
|
||||
* @return \think\Response
|
||||
*/
|
||||
public function update(Request $request, $id)
|
||||
{
|
||||
//
|
||||
return to_assign(0,'');
|
||||
}
|
||||
|
||||
/**
|
||||
@ -79,12 +132,36 @@ class MerchantType extends BaseController
|
||||
* @param int $id
|
||||
* @return \think\Response
|
||||
*/
|
||||
public function delete($id)
|
||||
public function del($id)
|
||||
{
|
||||
//
|
||||
$param = get_params();
|
||||
$product_id = isset($param['product_id']) ? $param['product_id'] : 0;
|
||||
$type = isset($param['type']) ? $param['type'] : 0;
|
||||
|
||||
$this->model->delStoreProductById($product_id,1);
|
||||
}
|
||||
|
||||
public function Mark(){}
|
||||
/**
|
||||
* 备注表单页
|
||||
*/
|
||||
public function MarkForm()
|
||||
{
|
||||
return View('');
|
||||
}
|
||||
|
||||
public function Description(){}
|
||||
/**
|
||||
* 店铺类型备注
|
||||
*/
|
||||
public function Mark()
|
||||
{
|
||||
return to_assign(0, '');
|
||||
}
|
||||
|
||||
/**
|
||||
* 店铺类型说明
|
||||
*/
|
||||
public function Description(){
|
||||
View::assign('detail',[]);
|
||||
return View('merchant/system/merchant/descr/index',['id'=>1]);
|
||||
}
|
||||
}
|
||||
|
@ -47,7 +47,7 @@ Route::group(function () {
|
||||
Route::delete('del/:id', '/del')->name('systemMerchantMenuDelete')->append(['merchant' => 1])->option([
|
||||
'_alias' => '商户菜单/权限删除',
|
||||
]);
|
||||
})->prefix('merchant.system.merchant.auth.Menu')->option([
|
||||
})->prefix('merchant.system.auth.Menu')->option([
|
||||
'_path' => '/merchant/menu',
|
||||
'_auth' => true,
|
||||
]);
|
||||
|
@ -46,6 +46,9 @@ Route::group(function(){
|
||||
|
||||
// 店铺类型
|
||||
Route::group('/merchant/type',function(){
|
||||
Route::get('index', '/index')->name('systemMerchantTypeLst')->option([
|
||||
'_alias' => '列表',
|
||||
]);
|
||||
Route::get('lst', '/lst')->name('systemMerchantTypeLst')->option([
|
||||
'_alias' => '列表',
|
||||
]);
|
||||
@ -70,7 +73,7 @@ Route::group(function(){
|
||||
'_alias' => '备注',
|
||||
]);
|
||||
|
||||
Route::get('description', '/description')->name('systemMerchantTypeDescrForm')->option([
|
||||
Route::get('descr', '/description')->name('systemMerchantTypeDescrForm')->option([
|
||||
'_alias' => '店铺类型说明',
|
||||
]);
|
||||
Route::post('description', '/description')->name('systemMerchantTypeDescr')->option([
|
||||
|
150
app/admin/view/merchant/system/auth/menu/add.html
Normal file
150
app/admin/view/merchant/system/auth/menu/add.html
Normal file
@ -0,0 +1,150 @@
|
||||
{extend name="common/base" /}
|
||||
<!-- 主体 -->
|
||||
{block name="body"}
|
||||
<form class="layui-form p-4">
|
||||
<h3 class="pb-3">功能菜单/节点</h3>
|
||||
{if condition="$id eq 0"}
|
||||
<table class="layui-table layui-table-form">
|
||||
<tr>
|
||||
<td class="layui-td-gray-2">父级菜单/节点<font>*</font>
|
||||
</td>
|
||||
<td>
|
||||
<select name="pid" lay-verify="required" lay-reqText="请选择父级菜单/节点">
|
||||
<option value="0">作为顶级菜单/节点</option>
|
||||
{volist name="$menus" id="v"}
|
||||
<option value="{$v.id}" {eq name="pid" value="$v.id" }selected="" {/eq}>{$v.title} </option>
|
||||
{/volist}
|
||||
</select>
|
||||
</td>
|
||||
<td class="layui-td-gray-2">左侧菜单显示<font>*</font>
|
||||
</td>
|
||||
<td>
|
||||
<input type="radio" name="menu" value="1" title="是">
|
||||
<input type="radio" name="menu" value="2" title="不是">
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="layui-td-gray">菜单/节点名称<font>*</font>
|
||||
</td>
|
||||
<td>
|
||||
<input type="text" name="title" lay-verify="required" autocomplete="off" placeholder="请输入菜单/节点名称"
|
||||
lay-reqText="请输入菜单/节点名称" class="layui-input">
|
||||
</td>
|
||||
<td class="layui-td-gray">操作日志名称<font>*</font>
|
||||
</td>
|
||||
<td>
|
||||
<input type="text" name="name" lay-verify="required" placeholder="请输入操作日志名称" lay-reqText="请输入操作日志名称"
|
||||
autocomplete="off" class="layui-input">
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="layui-td-gray">菜单/节点URL</td>
|
||||
<td>
|
||||
<input type="text" name="src" placeholder="请输入菜单/节点URL,可空" autocomplete="off" class="layui-input">
|
||||
</td>
|
||||
<td class="layui-td-gray">菜单排序</td>
|
||||
<td>
|
||||
<input type="text" name="sort" value="0" placeholder="请输入数字,越小越靠前" autocomplete="off"
|
||||
class="layui-input">
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="layui-td-gray">菜单图标</td>
|
||||
<td colspan="3">
|
||||
<input type="text" name="icon" style="width:150px; display:inline" placeholder="请输入图标,可空"
|
||||
autocomplete="off" class="layui-input">
|
||||
如:bi-gear<a href="{__GOUGU__}/icon/index.html" target="_blank" style="margin-left:10px; color:#007AFF">[查看图标]</a>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
{else/}
|
||||
<table class="layui-table layui-table-form">
|
||||
<tr>
|
||||
<td class="layui-td-gray-2">父级菜单/节点<font>*</font>
|
||||
</td>
|
||||
<td>
|
||||
<select name="pid" lay-verify="required" lay-reqText="请选择父级菜单/节点">
|
||||
<option value="0">作为顶级节点</option>
|
||||
{volist name="$menus" id="v"}
|
||||
<option value="{$v.id}" {eq name="$detail.pid" value="$v.id" }selected="" {/eq}>{$v.title}</option>
|
||||
{/volist}
|
||||
</select>
|
||||
</td>
|
||||
<td class="layui-td-gray-2">左侧菜单显示<font>*</font>
|
||||
</td>
|
||||
<td>
|
||||
<input type="radio" name="menu" value="1" title="是" {eq name="$detail.menu" value="1" } checked{/eq}>
|
||||
<input type="radio" name="menu" value="2" title="不是" {eq name="$detail.menu" value="2" } checked{/eq}>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="layui-td-gray">菜单/节点名称<font>*</font>
|
||||
</td>
|
||||
<td>
|
||||
<input type="text" name="title" value="{$detail.title}" lay-verify="required" autocomplete="off"
|
||||
placeholder="请输入菜单/节点名称" lay-reqText="请输入菜单/节点名称" class="layui-input">
|
||||
</td>
|
||||
<td class="layui-td-gray">操作日志名称<font>*</font>
|
||||
</td>
|
||||
<td>
|
||||
<input type="text" name="name" value="{$detail.name}" lay-verify="required" placeholder="请输入操作日志名称"
|
||||
lay-reqText="请输入操作日志名称" autocomplete="off" class="layui-input">
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="layui-td-gray">菜单/节点URL</td>
|
||||
<td>
|
||||
<input type="text" name="src" value="{$detail.src}" placeholder="请输入菜单/节点URL,可空" autocomplete="off"
|
||||
class="layui-input">
|
||||
</td>
|
||||
<td class="layui-td-gray">菜单排序</td>
|
||||
<td>
|
||||
<input type="text" name="sort" value="{$detail.sort}" placeholder="请输入数字,越小越靠前" autocomplete="off"
|
||||
class="layui-input">
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="layui-td-gray">菜单图标</td>
|
||||
<td colspan="3">
|
||||
<input style="width:150px; display:inline" type="text" name="icon" value="{$detail.icon}" placeholder="请输入图标,可空" autocomplete="off" class="layui-input">
|
||||
<i class="bi {$detail.icon}"></i><a href="{__GOUGU__}/icon/index.html" target="_blank" style="margin-left:10px; color:#007AFF">[查看图标]</a>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
{/if}
|
||||
<div style="padding: 10px 0">
|
||||
<input type="hidden" name="id" value="{$id}">
|
||||
<button class="layui-btn layui-btn-normal" lay-submit="" lay-filter="webform">立即提交</button>
|
||||
<button type="reset" class="layui-btn layui-btn-primary">重置</button>
|
||||
</div>
|
||||
</form>
|
||||
{/block}
|
||||
<!-- /主体 -->
|
||||
|
||||
<!-- 脚本 -->
|
||||
{block name="script"}
|
||||
<script>
|
||||
const moduleInit = ['tool'];
|
||||
function gouguInit() {
|
||||
var form = layui.form,tool=layui.tool;
|
||||
//监听提交
|
||||
form.on('submit(webform)', function (data) {
|
||||
if (!data.field.menu || data.field.menu == '') {
|
||||
layer.msg('请选择是否在左侧菜单显示');
|
||||
return false;
|
||||
}
|
||||
let callback = function (e) {
|
||||
layer.msg(e.msg);
|
||||
if (e.code == 0) {
|
||||
setTimeout(function () {
|
||||
parent.location.reload();
|
||||
}, 1000);
|
||||
}
|
||||
}
|
||||
tool.post("/admin/rule/add", data.field, callback);
|
||||
return false;
|
||||
});
|
||||
}
|
||||
</script>
|
||||
{/block}
|
||||
<!-- /脚本 -->
|
249
app/admin/view/merchant/system/merchant/type/add.html
Normal file
249
app/admin/view/merchant/system/merchant/type/add.html
Normal file
@ -0,0 +1,249 @@
|
||||
{extend name="common/base"/}
|
||||
{block name="style"}
|
||||
<style type="text/css">
|
||||
.editormd-code-toolbar select {
|
||||
display: inline-block
|
||||
}
|
||||
|
||||
.editormd li {
|
||||
list-style: inherit;
|
||||
}
|
||||
</style>
|
||||
{/block}
|
||||
<!-- 主体 -->
|
||||
{block name="body"}
|
||||
<form class="layui-form p-4">
|
||||
<h3 class="pb-3">添加</h3>
|
||||
<table class="layui-table layui-table-form">
|
||||
|
||||
<tr>
|
||||
<td class="layui-td-gray">商品名称<font>*</font></td>
|
||||
<td colspan="7"><input type="text" name="store_name" lay-verify="required" lay-reqText="请输入商品名称"
|
||||
autocomplete="off" placeholder="请输入商品名称" class="layui-input"></td>
|
||||
</tr>
|
||||
<!-- <tr>-->
|
||||
<!-- <td class="layui-td-gray">平台商品分类<font>*</font></td>-->
|
||||
<!-- <td colspan="3">-->
|
||||
<!-- <div class="layui-col-md6">-->
|
||||
<!-- <select name="cate_id" lay-verify="required" lay-search="">-->
|
||||
<!-- <option value="" >请选择</option>-->
|
||||
<!-- {volist name=':set_recursion(get_store_category())' id='vo'}-->
|
||||
<!-- <option value="{$vo.id}" >{$vo.title}</option>-->
|
||||
<!-- {/volist}-->
|
||||
<!-- </select>-->
|
||||
<!-- </div>-->
|
||||
<!-- </td>-->
|
||||
<!-- </tr>-->
|
||||
<tr>
|
||||
<td class="layui-td-gray">平台商品分类<font>*</font></td>
|
||||
<td colspan="3">
|
||||
<div class="layui-col-md6">
|
||||
<select name="cate_id" lay-verify="required" lay-search="">
|
||||
<option value="" >请选择</option>
|
||||
{volist name=':set_recursion(get_store_category())' id='vo'}
|
||||
<option value="{$vo.id}" >{$vo.title}</option>
|
||||
{/volist}
|
||||
</select>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td class="layui-td-gray">品牌选择<font>*</font></td>
|
||||
<td colspan="3">
|
||||
<div class="layui-col-md6">
|
||||
<select name="brand_id" lay-verify="required" lay-search="">
|
||||
<option value="" >请选择</option>
|
||||
{volist name='store_brand' id='vo'}
|
||||
<option value="{$vo.brand_id}" >{$vo.brand_name}</option>
|
||||
{/volist}
|
||||
</select>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
|
||||
<tr>
|
||||
<td class="layui-td-gray" style="vertical-align:top;">商品封面图</td>
|
||||
<td>
|
||||
<div class="layui-upload">
|
||||
<button type="button" class="layui-btn layui-btn-sm" id="upload_btn_thumb">
|
||||
上传缩略图(尺寸:750x750)
|
||||
</button>
|
||||
<div class="layui-upload-list" id="upload_box_thumb"
|
||||
style=" overflow: hidden;">
|
||||
<img src=""
|
||||
onerror="javascript:this.src='{__GOUGU__}/gougu/images/nonepic600x360.jpg';this.onerror=null;"
|
||||
width="100" style="max-width: 100%; height:66px;"/>
|
||||
<input type="hidden" name="image" value="">
|
||||
</div>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td class="layui-td-gray" style="vertical-align:top;">商品轮播图</td>
|
||||
<td>
|
||||
<div class="layui-upload">
|
||||
<button type="button" class="layui-btn layui-btn-sm" id="upload_btn_thumb2">
|
||||
上传商品轮播图
|
||||
</button>
|
||||
|
||||
<div class="layui-upload-list" id="upload_box_thumb2"
|
||||
style="overflow: hidden;">
|
||||
<input type="hidden" name="slider_image" value="">
|
||||
</div>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td class="layui-td-gray">单位<font>*</font></td>
|
||||
<td colspan="7"><input type="text" name="unit_name" lay-verify="required" lay-reqText="请输入单位"
|
||||
autocomplete="off" placeholder="请输入单位" class="layui-input"></td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td class="layui-td-gray">商品关键字<font>*</font></td>
|
||||
<td colspan="7"><input type="text" name="keyword" lay-verify="required" lay-reqText="请输入商品关键字"
|
||||
autocomplete="off" placeholder="请输入商品关键字" class="layui-input"></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="layui-td-gray">售价<font>*</font></td>
|
||||
<td colspan="7"><input type="text" name="price" lay-verify="required|number" lay-reqText="请输入售价"
|
||||
autocomplete="off" placeholder="请输入售价" class="layui-input"></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="layui-td-gray">成本价<font>*</font></td>
|
||||
<td colspan="7"><input type="text" name="cost" lay-verify="required|number" lay-reqText="请输入成本价"
|
||||
autocomplete="off" placeholder="请输入成本价" class="layui-input"></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="layui-td-gray">市场价<font>*</font></td>
|
||||
<td colspan="7"><input type="text" name="ot_price" lay-verify="required|number" lay-reqText="请输入市场价"
|
||||
autocomplete="off" placeholder="请输入市场价" class="layui-input"></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="layui-td-gray">库存<font>*</font></td>
|
||||
<td colspan="7"><input type="text" name="stock" lay-verify="required|number" lay-reqText="请输入库存"
|
||||
autocomplete="off" placeholder="请输入库存" class="layui-input"></td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td class="layui-td-gray" style="text-align:left">商品简介</td>
|
||||
<td colspan="6">
|
||||
<textarea class="layui-textarea" name="store_info"></textarea>
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td class="layui-td-gray" style="text-align:left">商品详情</td>
|
||||
<td colspan="6">
|
||||
<textarea class="layui-textarea" id="container_content"></textarea>
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
</table>
|
||||
<div class="pt-3">
|
||||
<button class="layui-btn layui-btn-normal" lay-submit="" lay-filter="webform">立即提交</button>
|
||||
<button type="reset" class="layui-btn layui-btn-primary">重置</button>
|
||||
</div>
|
||||
</form>
|
||||
{/block}
|
||||
<!-- /主体 -->
|
||||
|
||||
<!-- 脚本 -->
|
||||
{block name="script"}
|
||||
<script src="/static/assets/js/xm-select.js"></script>
|
||||
<script>
|
||||
var moduleInit = ['tool', 'tagpicker', 'tinymce'];
|
||||
var group_access = "{:session('gougu_admin')['group_access']}"
|
||||
|
||||
var multiple_images = [];
|
||||
//单击图片删除图片 【注册全局函数】
|
||||
function delMultipleImgs(this_img){
|
||||
//获取下标
|
||||
var subscript=$("#upload_box_thumb2 img").index(this_img);
|
||||
//删除图片
|
||||
this_img.remove();
|
||||
//删除数组
|
||||
multiple_images.splice(subscript, 1);
|
||||
//重新排序
|
||||
multiple_images.sort();
|
||||
$('#upload_box_thumb2 input').attr('value', multiple_images);
|
||||
//返回
|
||||
return ;
|
||||
}
|
||||
|
||||
function gouguInit() {
|
||||
var form = layui.form, tool = layui.tool, tagspicker = layui.tagpicker;
|
||||
|
||||
//上传缩略图
|
||||
var upload_thumb = layui.upload.render({
|
||||
elem: '#upload_btn_thumb',
|
||||
url: '/admin/api/upload',
|
||||
done: function (res) {
|
||||
//如果上传失败
|
||||
if (res.code == 1) {
|
||||
return layer.msg('上传失败');
|
||||
}
|
||||
//上传成功
|
||||
$('#upload_box_thumb input').attr('value', res.data.filepath);
|
||||
$('#upload_box_thumb img').attr('src', res.data.filepath);
|
||||
}
|
||||
});
|
||||
//上传商品轮播图
|
||||
var upload_thumb = layui.upload.render({
|
||||
elem: '#upload_btn_thumb2',
|
||||
url: '/admin/api/upload',
|
||||
multiple: true,
|
||||
before: function(obj){
|
||||
//预读本地文件示例,不支持ie8
|
||||
obj.preview(function(index, file, result){
|
||||
$('#upload_box_thumb2').append(`
|
||||
<img src="${result}"
|
||||
onerror="javascript:this.src='{__GOUGU__}/gougu/images/nonepic600x360.jpg';this.onerror=null;"
|
||||
width="100" style="max-width: 100%; height:66px;" alt="${file.name}" onclick="delMultipleImgs(this)" title="点击删除"/>
|
||||
`)
|
||||
});
|
||||
},
|
||||
done: function (res) {
|
||||
//如果上传失败
|
||||
if (res.code == 1) {
|
||||
return layer.msg('上传失败');
|
||||
}
|
||||
//上传成功
|
||||
//追加图片成功追加文件名至图片容器
|
||||
multiple_images.push(res.data.filepath);
|
||||
$('#upload_box_thumb2 input').attr('value', multiple_images);
|
||||
// $('#upload_box_thumb2 img').attr('src', res.data.filepath);
|
||||
}
|
||||
});
|
||||
|
||||
var editor = layui.tinymce;
|
||||
var edit = editor.render({
|
||||
selector: "#container_content",
|
||||
height: 500
|
||||
});
|
||||
//监听提交
|
||||
form.on('submit(webform)', function (data) {
|
||||
data.field.content = tinyMCE.editors['container_content'].getContent();
|
||||
if (data.field.content == '') {
|
||||
layer.msg('请先完善商品详情');
|
||||
return false;
|
||||
}
|
||||
let callback = function (e) {
|
||||
layer.msg(e.msg);
|
||||
if (e.code == 0) {
|
||||
tool.tabRefresh(71);
|
||||
tool.sideClose(1000);
|
||||
}
|
||||
}
|
||||
tool.post('/admin/store_product/add', data.field, callback);
|
||||
return false;
|
||||
});
|
||||
|
||||
}
|
||||
</script>
|
||||
{/block}
|
||||
<!-- /脚本 -->
|
252
app/admin/view/merchant/system/merchant/type/edit.html
Normal file
252
app/admin/view/merchant/system/merchant/type/edit.html
Normal file
@ -0,0 +1,252 @@
|
||||
{extend name="common/base"/}
|
||||
{block name="style"}
|
||||
<style type="text/css">
|
||||
.editormd-code-toolbar select {
|
||||
display: inline-block
|
||||
}
|
||||
|
||||
.editormd li {
|
||||
list-style: inherit;
|
||||
}
|
||||
</style>
|
||||
{/block}
|
||||
<!-- 主体 -->
|
||||
{block name="body"}
|
||||
<form class="layui-form p-4">
|
||||
<h3 class="pb-3">编辑文章表</h3>
|
||||
<table class="layui-table layui-table-form">
|
||||
<tr>
|
||||
<td class="layui-td-gray">商品名称<font>*</font></td>
|
||||
<td colspan="7"><input type="text" name="store_name" lay-verify="required" lay-reqText="请输入商品名称"
|
||||
autocomplete="off" placeholder="请输入商品名称" class="layui-input" value="{$detail.store_name}"></td>
|
||||
</tr>
|
||||
<!-- <tr>-->
|
||||
<!-- <td class="layui-td-gray">平台商品分类<font>*</font></td>-->
|
||||
<!-- <td colspan="3">-->
|
||||
<!-- <div class="layui-col-md6">-->
|
||||
<!-- <select name="cate_id" lay-verify="required" lay-search="">-->
|
||||
<!-- <option value="" >请选择</option>-->
|
||||
<!-- {volist name=':set_recursion(get_store_category())' id='vo'}-->
|
||||
<!-- <option value="{$vo.id}" >{$vo.title}</option>-->
|
||||
<!-- {/volist}-->
|
||||
<!-- </select>-->
|
||||
<!-- </div>-->
|
||||
<!-- </td>-->
|
||||
<!-- </tr>-->
|
||||
<tr>
|
||||
<td class="layui-td-gray">平台商品分类<font>*</font></td>
|
||||
<td colspan="3">
|
||||
<div class="layui-col-md6">
|
||||
<select name="cate_id" lay-verify="required" lay-search="">
|
||||
<option value="" >请选择</option>
|
||||
{volist name=':set_recursion(get_store_category())' id='vo'}
|
||||
<option value="{$vo.id}" {if $detail.cate_id==$vo.id} selected {/if}>{$vo.title}</option>
|
||||
{/volist}
|
||||
</select>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td class="layui-td-gray">品牌选择<font>*</font></td>
|
||||
<td colspan="3">
|
||||
<div class="layui-col-md6">
|
||||
<select name="brand_id" lay-verify="required" lay-search="">
|
||||
<option value="" >请选择</option>
|
||||
{volist name='store_brand' id='vo'}
|
||||
<option value="{$vo.brand_id}" {if $detail.brand_id==$vo.brand_id} selected {/if}>{$vo.brand_name}</option>
|
||||
{/volist}
|
||||
</select>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
|
||||
<tr>
|
||||
<td class="layui-td-gray" style="vertical-align:top;">商品封面图</td>
|
||||
<td>
|
||||
<div class="layui-upload">
|
||||
<button type="button" class="layui-btn layui-btn-sm" id="upload_btn_thumb">
|
||||
上传缩略图(尺寸:750x750)
|
||||
</button>
|
||||
<div class="layui-upload-list" id="upload_box_thumb"
|
||||
style=" overflow: hidden;">
|
||||
<img src="{$detail.image}"
|
||||
onerror="javascript:this.src='{__GOUGU__}/gougu/images/nonepic600x360.jpg';this.onerror=null;"
|
||||
width="100" style="max-width: 100%; height:66px;"/>
|
||||
<input type="hidden" name="image" value="{$detail.image}">
|
||||
</div>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td class="layui-td-gray" style="vertical-align:top;">商品轮播图</td>
|
||||
<td>
|
||||
<div class="layui-upload">
|
||||
<button type="button" class="layui-btn layui-btn-sm" id="upload_btn_thumb2">
|
||||
上传缩略图(尺寸:750x750)
|
||||
</button>
|
||||
<div class="layui-upload-list" id="upload_box_thumb2"
|
||||
style=" overflow: hidden;">
|
||||
{volist name='detail.slider_image_arr' id='vo'}
|
||||
{if $vo}
|
||||
<img src="{$vo}"
|
||||
onerror="javascript:this.src='{__GOUGU__}/gougu/images/nonepic600x360.jpg';this.onerror=null;"
|
||||
width="100" style="max-width: 100%; height:66px;" onclick="delMultipleImgs(this)"/>
|
||||
{/if}
|
||||
{/volist}
|
||||
<input type="hidden" name="slider_image" value="{$detail.slider_image}">
|
||||
</div>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td class="layui-td-gray">单位<font>*</font></td>
|
||||
<td colspan="7"><input type="text" name="unit_name" lay-verify="required" lay-reqText="请输入单位"
|
||||
autocomplete="off" placeholder="请输入单位" class="layui-input" value="{$detail.unit_name}"></td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td class="layui-td-gray">商品关键字<font>*</font></td>
|
||||
<td colspan="7"><input type="text" name="keyword" lay-verify="required" lay-reqText="请输入商品关键字"
|
||||
autocomplete="off" placeholder="请输入商品关键字" class="layui-input" value="{$detail.keyword}"></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="layui-td-gray">售价<font>*</font></td>
|
||||
<td colspan="7"><input type="text" name="price" lay-verify="required|number" lay-reqText="请输入售价"
|
||||
autocomplete="off" placeholder="请输入售价" class="layui-input" value="{$detail.price}"></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="layui-td-gray">成本价<font>*</font></td>
|
||||
<td colspan="7"><input type="text" name="cost" lay-verify="required|number" lay-reqText="请输入成本价"
|
||||
autocomplete="off" placeholder="请输入成本价" class="layui-input" value="{$detail.cost}"></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="layui-td-gray">市场价<font>*</font></td>
|
||||
<td colspan="7"><input type="text" name="ot_price" lay-verify="required|number" lay-reqText="请输入市场价"
|
||||
autocomplete="off" placeholder="请输入市场价" class="layui-input" value="{$detail.ot_price}"></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="layui-td-gray">库存<font>*</font></td>
|
||||
<td colspan="7"><input type="text" name="stock" lay-verify="required|number" lay-reqText="请输入库存"
|
||||
autocomplete="off" placeholder="请输入库存" class="layui-input" value="{$detail.stock}"></td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td class="layui-td-gray" style="text-align:left">商品简介</td>
|
||||
<td colspan="6">
|
||||
<textarea class="layui-textarea" name="store_info">{$detail.store_info}</textarea>
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td class="layui-td-gray" style="text-align:left">商品详情</td>
|
||||
<td colspan="6">
|
||||
<textarea class="layui-textarea" id="container_content">{$detail.content}</textarea>
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
</table>
|
||||
<div class="pt-3">
|
||||
<input type="hidden" name="product_id" value="{$detail.product_id}"/>
|
||||
<button class="layui-btn layui-btn-normal" lay-submit="" lay-filter="webform">立即提交</button>
|
||||
<button type="reset" class="layui-btn layui-btn-primary">重置</button>
|
||||
</div>
|
||||
</form>
|
||||
{/block}
|
||||
<!-- /主体 -->
|
||||
|
||||
<!-- 脚本 -->
|
||||
{block name="script"}
|
||||
<script src="/static/assets/js/xm-select.js"></script>
|
||||
<script>
|
||||
var moduleInit = ['tool', 'tagpicker', 'tinymce'];
|
||||
var group_access = "{:session('gougu_admin')['group_access']}";
|
||||
var multiple_images = "{$detail['slider_image']}".split(',');
|
||||
//单击图片删除图片 【注册全局函数】
|
||||
function delMultipleImgs(this_img){
|
||||
//获取下标
|
||||
var subscript=$("#upload_box_thumb2 img").index(this_img);
|
||||
//删除图片
|
||||
this_img.remove();
|
||||
//删除数组
|
||||
multiple_images.splice(subscript, 1);
|
||||
//重新排序
|
||||
multiple_images.sort();
|
||||
$('#upload_box_thumb2 input').attr('value', multiple_images);
|
||||
//返回
|
||||
return ;
|
||||
}
|
||||
function gouguInit() {
|
||||
var form = layui.form, tool = layui.tool, tagpicker = layui.tagpicker;
|
||||
//上传缩略图
|
||||
var upload_thumb = layui.upload.render({
|
||||
elem: '#upload_btn_thumb',
|
||||
url: '/admin/api/upload',
|
||||
done: function (res) {
|
||||
//如果上传失败
|
||||
if (res.code == 1) {
|
||||
layer.msg('上传失败');
|
||||
return false;
|
||||
}
|
||||
//上传成功
|
||||
$('#upload_box_thumb input').attr('value', res.data.filepath);
|
||||
$('#upload_box_thumb img').attr('src', res.data.filepath);
|
||||
}
|
||||
});
|
||||
//上传商品轮播图
|
||||
var upload_thumb = layui.upload.render({
|
||||
elem: '#upload_btn_thumb2',
|
||||
url: '/admin/api/upload',
|
||||
multiple: true,
|
||||
before: function(obj){
|
||||
//预读本地文件示例,不支持ie8
|
||||
obj.preview(function(index, file, result){
|
||||
$('#upload_box_thumb2').append(`
|
||||
<img src="${result}"
|
||||
onerror="javascript:this.src='{__GOUGU__}/gougu/images/nonepic600x360.jpg';this.onerror=null;"
|
||||
width="100" style="max-width: 100%; height:66px;" alt="${file.name}" onclick="delMultipleImgs(this)" title="点击删除"/>
|
||||
`)
|
||||
});
|
||||
},
|
||||
done: function (res) {
|
||||
//如果上传失败
|
||||
if (res.code == 1) {
|
||||
return layer.msg('上传失败');
|
||||
}
|
||||
//上传成功
|
||||
//追加图片成功追加文件名至图片容器
|
||||
multiple_images.push(res.data.filepath);
|
||||
$('#upload_box_thumb2 input').attr('value', multiple_images);
|
||||
// $('#upload_box_thumb2 img').attr('src', res.data.filepath);
|
||||
}
|
||||
});
|
||||
|
||||
var editor = layui.tinymce;
|
||||
var edit = editor.render({
|
||||
selector: "#container_content",
|
||||
height: 500
|
||||
});
|
||||
//监听提交
|
||||
form.on('submit(webform)', function (data) {
|
||||
data.field.content = tinyMCE.editors['container_content'].getContent();
|
||||
if (data.field.content == '') {
|
||||
layer.msg('请先完善商品详情');
|
||||
return false;
|
||||
}
|
||||
let callback = function (e) {
|
||||
layer.msg(e.msg);
|
||||
if (e.code == 0) {
|
||||
tool.sideClose(1000);
|
||||
}
|
||||
}
|
||||
tool.post("/admin/store_product/edit", data.field, callback);
|
||||
return false;
|
||||
});
|
||||
|
||||
}
|
||||
</script>
|
||||
{/block}
|
||||
<!-- /脚本 -->
|
148
app/admin/view/merchant/system/merchant/type/read.html
Normal file
148
app/admin/view/merchant/system/merchant/type/read.html
Normal file
@ -0,0 +1,148 @@
|
||||
{extend name="common/base"/}
|
||||
{block name="style"}
|
||||
<style>
|
||||
.content-article img{max-width:88%!important; height:auto!important; margin:6px 0!important; border-radius:4px;}
|
||||
</style>
|
||||
{/block}
|
||||
<!-- 主体 -->
|
||||
{block name="body"}
|
||||
<div class="layui-form p-4">
|
||||
<h3 class="pb-3">文章详情</h3>
|
||||
<table class="layui-table layui-table-form">
|
||||
<tr>
|
||||
<td class="layui-td-gray">商品名称<font>*</font></td>
|
||||
<td colspan="7"><input type="text" name="store_name" lay-verify="required" lay-reqText="请输入商品名称"
|
||||
autocomplete="off" placeholder="请输入商品名称" class="layui-input" value="{$detail.store_name}" readonly></td>
|
||||
</tr>
|
||||
<!-- <tr>-->
|
||||
<!-- <td class="layui-td-gray">平台商品分类<font>*</font></td>-->
|
||||
<!-- <td colspan="3">-->
|
||||
<!-- <div class="layui-col-md6">-->
|
||||
<!-- <select name="cate_id" lay-verify="required" lay-search="">-->
|
||||
<!-- <option value="" >请选择</option>-->
|
||||
<!-- {volist name=':set_recursion(get_store_category())' id='vo'}-->
|
||||
<!-- <option value="{$vo.id}" >{$vo.title}</option>-->
|
||||
<!-- {/volist}-->
|
||||
<!-- </select>-->
|
||||
<!-- </div>-->
|
||||
<!-- </td>-->
|
||||
<!-- </tr>-->
|
||||
<tr>
|
||||
<td class="layui-td-gray">商户商品分类<font>*</font></td>
|
||||
<td colspan="3">
|
||||
<div class="layui-col-md6">
|
||||
<select name="cate_id" lay-verify="required" lay-search="">
|
||||
<option value="" >请选择</option>
|
||||
{volist name=':set_recursion(get_store_category())' id='vo'}
|
||||
<option value="{$vo.id}" {if $detail.cate_id==$vo.id} selected {/if}>{$vo.title}</option>
|
||||
{/volist}
|
||||
</select>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td class="layui-td-gray">品牌选择<font>*</font></td>
|
||||
<td colspan="3">
|
||||
<div class="layui-col-md6">
|
||||
<select name="brand_id" lay-verify="required" lay-search="">
|
||||
<option value="" >请选择</option>
|
||||
{volist name='store_brand' id='vo'}
|
||||
<option value="{$vo.brand_id}" {if $detail.brand_id==$vo.brand_id} selected {/if}>{$vo.brand_name}</option>
|
||||
{/volist}
|
||||
</select>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
|
||||
<tr>
|
||||
<td class="layui-td-gray" style="vertical-align:top;">商品封面图</td>
|
||||
<td>
|
||||
<div class="layui-upload">
|
||||
<!-- <button type="button" class="layui-btn layui-btn-sm" id="upload_btn_thumb">-->
|
||||
<!-- 上传缩略图(尺寸:428x270)-->
|
||||
<!-- </button>-->
|
||||
<div class="layui-upload-list" id="upload_box_thumb"
|
||||
style="overflow: hidden;">
|
||||
<img src="{$detail.image}"
|
||||
onerror="javascript:this.src='{__GOUGU__}/gougu/images/nonepic600x360.jpg';this.onerror=null;"
|
||||
width="100" style="max-width: 100%; height:66px;"/>
|
||||
<input type="hidden" name="image" value="{$detail.image}">
|
||||
</div>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td class="layui-td-gray" style="vertical-align:top;">商品轮播图</td>
|
||||
<td>
|
||||
<div class="layui-upload">
|
||||
<!-- <button type="button" class="layui-btn layui-btn-sm" id="upload_btn_thumb2">-->
|
||||
<!-- 上传缩略图(尺寸:428x270)-->
|
||||
<!-- </button>-->
|
||||
<div class="layui-upload-list" id="upload_box_thumb2"
|
||||
style="overflow: hidden;">
|
||||
{volist name='detail.slider_image_arr' id='vo'}
|
||||
{if $vo}
|
||||
<img src="{$vo}"
|
||||
onerror="javascript:this.src='{__GOUGU__}/gougu/images/nonepic600x360.jpg';this.onerror=null;"
|
||||
width="100" style="max-width: 100%; height:66px;" onclick="delMultipleImgs(this)"/>
|
||||
{/if}
|
||||
{/volist}
|
||||
<input type="hidden" name="slider_image" value="{$detail.slider_image}">
|
||||
</div>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td class="layui-td-gray">单位<font>*</font></td>
|
||||
<td colspan="7"><input type="text" name="unit_name" lay-verify="required" lay-reqText="请输入单位"
|
||||
autocomplete="off" placeholder="请输入单位" class="layui-input" value="{$detail.unit_name}" readonly></td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td class="layui-td-gray">商品关键字<font>*</font></td>
|
||||
<td colspan="7"><input type="text" name="keyword" lay-verify="required" lay-reqText="请输入商品关键字"
|
||||
autocomplete="off" placeholder="请输入商品关键字" class="layui-input" value="{$detail.keyword}" readonly></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="layui-td-gray">售价<font>*</font></td>
|
||||
<td colspan="7"><input type="text" name="price" lay-verify="required" lay-reqText="请输入商品关键字"
|
||||
autocomplete="off" placeholder="请输入商品关键字" class="layui-input" value="{$detail.price}" readonly></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="layui-td-gray">成本价<font>*</font></td>
|
||||
<td colspan="7"><input type="text" name="cost" lay-verify="required" lay-reqText="请输入商品关键字"
|
||||
autocomplete="off" placeholder="请输入商品关键字" class="layui-input" value="{$detail.cost}" readonly></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="layui-td-gray">市场价<font>*</font></td>
|
||||
<td colspan="7"><input type="text" name="ot_price" lay-verify="required" lay-reqText="请输入商品关键字"
|
||||
autocomplete="off" placeholder="请输入商品关键字" class="layui-input" value="{$detail.ot_price}" readonly></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="layui-td-gray">库存<font>*</font></td>
|
||||
<td colspan="7"><input type="text" name="stock" lay-verify="required" lay-reqText="请输入商品关键字"
|
||||
autocomplete="off" placeholder="请输入商品关键字" class="layui-input" value="{$detail.stock}" readonly></td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td class="layui-td-gray" style="text-align:left">商品简介</td>
|
||||
<td colspan="6">
|
||||
<textarea class="layui-textarea" name="store_info" readonly>{$detail.store_info}</textarea>
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td class="layui-td-gray" style="text-align:left">商品详情</td>
|
||||
<td colspan="6">
|
||||
<textarea class="layui-textarea" id="container_content" readonly>{$detail.content}</textarea>
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
</table>
|
||||
</div>
|
||||
{/block}
|
||||
<!-- /主体 -->
|
25
app/common/model/merchant/system/merchant/MerchantMargin.php
Normal file
25
app/common/model/merchant/system/merchant/MerchantMargin.php
Normal file
@ -0,0 +1,25 @@
|
||||
<?php
|
||||
/**
|
||||
* 店铺保证金model
|
||||
*
|
||||
* @author:刘孝全
|
||||
* @email:q8197264@126.com
|
||||
* @date :2023年03月3日
|
||||
*/
|
||||
namespace app\common\model\merchant\system\merchant;
|
||||
|
||||
use think\Model;
|
||||
|
||||
class MerchantMargin extends Model
|
||||
{
|
||||
protected $connection = 'shop';
|
||||
protected $table = '';
|
||||
|
||||
|
||||
function __construct()
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
|
||||
}
|
@ -10,5 +10,17 @@ use think\Model;
|
||||
*/
|
||||
class MerchantType extends Model
|
||||
{
|
||||
//
|
||||
protected $connection = 'shop';
|
||||
|
||||
|
||||
function __construct()
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
function List()
|
||||
{}
|
||||
|
||||
function Find()
|
||||
{}
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user