mirror of
https://gitee.com/zongzhige/shopxo.git
synced 2024-11-29 18:39:16 +08:00
v5.0
This commit is contained in:
parent
11c9a3aa55
commit
975c3a6c96
@ -28,7 +28,7 @@
|
||||
#### ShopXO国内企业级免费开源电商系统!
|
||||
* 求实进取、创新专注、自主研发、国内企业级电商系统解决方案。
|
||||
* 遵循MIT开源协议发布,无需授权、可商用、可二次开发、满足99%的电商运营需求。
|
||||
* 支持PC+手机自适应,独立H5、小程序(支付宝、微信、百度、头条&抖音、QQ、快手),APP等...
|
||||
* 支持PC+手机自适应,独立H5、小程序(支付宝、微信、百度、头条&抖音、QQ、快手),APP(IOS、Android)
|
||||
* 支持多仓库、多商户、多门店、进销存(组件插件化、即插即用),可视化DIY拖拽装修。
|
||||
|
||||
### 体验码
|
||||
|
@ -37,13 +37,16 @@ class Admin extends Common
|
||||
parent::__construct();
|
||||
|
||||
// 需要校验权限
|
||||
if(in_array($this->action_name, ['index', 'detail', 'delete']))
|
||||
if(!in_array($this->action_name, ['logininfo', 'login', 'logout', 'adminverifyentry', 'loginverifysend']))
|
||||
{
|
||||
// 登录校验
|
||||
$this->IsLogin();
|
||||
|
||||
// 权限校验
|
||||
$this->IsPower();
|
||||
$this->IsLogin();
|
||||
|
||||
// 权限校验
|
||||
$this->IsPower();
|
||||
|
||||
// 动态表格初始化
|
||||
$this->FormTableInit();
|
||||
}
|
||||
}
|
||||
|
||||
@ -214,7 +217,7 @@ class Admin extends Common
|
||||
$host = SystemBaseService::AttachmentHost();
|
||||
for($i=1; $i<=50; $i++)
|
||||
{
|
||||
$path = 'static/admin/default/images/login/'.$i.'.jpg';
|
||||
$path = 'static/admin/default/images/login/'.$i.'.png';
|
||||
if(file_exists(ROOT_PATH.$path))
|
||||
{
|
||||
$bg_images_list[] = $host.DS.$path;
|
||||
@ -222,7 +225,12 @@ class Admin extends Common
|
||||
}
|
||||
$assign['bg_images_list'] = $bg_images_list;
|
||||
|
||||
// 管理员登录页面钩子
|
||||
// logo
|
||||
$assign['admin_login_logo'] = MyC('admin_login_logo');
|
||||
// 广告图片
|
||||
$assign['admin_login_ad_images'] = MyC('admin_login_ad_images');
|
||||
|
||||
// 管理员登录页面钩子
|
||||
$hook_name = 'plugins_view_admin_login_info';
|
||||
$assign[$hook_name.'_data'] = MyEventTrigger($hook_name,
|
||||
[
|
||||
|
@ -34,7 +34,8 @@ class Agreement extends Base
|
||||
*/
|
||||
public function Index()
|
||||
{
|
||||
// 模板数据
|
||||
// 导航
|
||||
$type = empty($this->data_request['type']) ? 'register' : $this->data_request['type'];
|
||||
$assign = [
|
||||
// 配置信息
|
||||
'data' => ConfigService::ConfigList(),
|
||||
@ -42,15 +43,11 @@ class Agreement extends Base
|
||||
'nav_data' => MyLang('agreement.base_nav_list'),
|
||||
// 编辑器文件存放地址
|
||||
'editor_path_type' => ResourcesService::EditorPathTypeValue('agreement'),
|
||||
// 页面导航
|
||||
'type' => $type,
|
||||
];
|
||||
|
||||
// 导航/视图
|
||||
$nav_type = empty($this->data_request['nav_type']) ? 'register' : $this->data_request['nav_type'];
|
||||
$assign['nav_type'] = $nav_type;
|
||||
|
||||
// 数据赋值
|
||||
MyViewAssign($assign);
|
||||
return MyView($nav_type);
|
||||
return MyView($type);
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -38,7 +38,7 @@ class AppConfig extends Base
|
||||
parent::__construct();
|
||||
|
||||
// 导航类型
|
||||
$this->nav_type = empty($this->data_request['nav_type']) ? 'index' : $this->data_request['nav_type'];
|
||||
$this->nav_type = empty($this->data_request['type']) ? 'index' : $this->data_request['type'];
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -122,18 +122,20 @@ class Appmini extends Base
|
||||
public function CurrentViewInit()
|
||||
{
|
||||
return [
|
||||
// 操作导航类型
|
||||
'nav_type' => $this->params['application_name'],
|
||||
// 操作页面类型
|
||||
'view_type' => $this->view_type,
|
||||
// 应用商店
|
||||
'store_theme_url' => StoreService::StoreThemeUrl(),
|
||||
// 小程序平台
|
||||
'common_appmini_type' => MyConst('common_appmini_type'),
|
||||
// 是否
|
||||
'common_is_text_list' => MyConst('common_is_text_list'),
|
||||
// 基础导航
|
||||
'base_nav' => MyLang('appmini.base_nav_list'),
|
||||
'base_nav' => MyLang('appmini.base_nav_list'),
|
||||
// 操作导航类型
|
||||
'nav_type' => $this->params['application_name'],
|
||||
// 操作页面类型
|
||||
'view_type' => $this->view_type,
|
||||
// 应用商店
|
||||
'store_theme_url' => StoreService::StoreThemeUrl(),
|
||||
// 小程序平台
|
||||
'common_appmini_type' => MyConst('common_appmini_type'),
|
||||
// 是否
|
||||
'common_is_text_list' => MyConst('common_is_text_list'),
|
||||
// 是否开启
|
||||
'common_close_open_list' => MyConst('common_close_open_list'),
|
||||
];
|
||||
}
|
||||
|
||||
|
@ -38,6 +38,9 @@ class Base extends Common
|
||||
|
||||
// 权限校验
|
||||
$this->IsPower();
|
||||
|
||||
// 动态表格初始化
|
||||
$this->FormTableInit();
|
||||
}
|
||||
}
|
||||
?>
|
@ -84,10 +84,6 @@ class Common extends BaseController
|
||||
// 系统类型
|
||||
protected $system_type;
|
||||
|
||||
// 主题颜色key
|
||||
protected $theme_color_value_key = 'admin_theme_color_value';
|
||||
protected $theme_color_value = 0;
|
||||
|
||||
/**
|
||||
* 构造方法
|
||||
* @author Devil
|
||||
@ -122,9 +118,6 @@ class Common extends BaseController
|
||||
// 视图初始化
|
||||
$this->ViewInit();
|
||||
|
||||
// 动态表格初始化
|
||||
$this->FormTableInit();
|
||||
|
||||
// 公共钩子初始化
|
||||
$this->CommonPluginsInit();
|
||||
}
|
||||
@ -282,7 +275,7 @@ class Common extends BaseController
|
||||
// 货币符号
|
||||
$assign['currency_symbol'] = ResourcesService::CurrencyDataSymbol();
|
||||
|
||||
// 控制器静态文件状态css,js
|
||||
// 控制器静态文件状态css,js
|
||||
$module_css = $this->module_name.DS.$default_theme.DS.'css'.DS.$this->controller_name;
|
||||
$module_css .= file_exists(ROOT_PATH.'static'.DS.$module_css.'.'.$this->action_name.'.css') ? '.'.$this->action_name.'.css' : '.css';
|
||||
$assign['module_css'] = file_exists(ROOT_PATH.'static'.DS.$module_css) ? $module_css : '';
|
||||
@ -291,10 +284,13 @@ class Common extends BaseController
|
||||
$module_js .= file_exists(ROOT_PATH.'static'.DS.$module_js.'.'.$this->action_name.'.js') ? '.'.$this->action_name.'.js' : '.js';
|
||||
$assign['module_js'] = file_exists(ROOT_PATH.'static'.DS.$module_js) ? $module_js : '';
|
||||
|
||||
// 后台logo
|
||||
$assign['admin_logo'] = MyC('admin_logo');
|
||||
|
||||
// 价格正则
|
||||
$assign['default_price_regex'] = MyConst('common_regex_price');
|
||||
|
||||
// 附件host地址
|
||||
// 附件host地址
|
||||
$attachment_host = SystemBaseService::AttachmentHost();
|
||||
$assign['attachment_host'] = $attachment_host;
|
||||
|
||||
@ -317,7 +313,7 @@ class Common extends BaseController
|
||||
$assign['my_http'] = __MY_HTTP__;
|
||||
|
||||
// 首页地址
|
||||
$assign['home_url'] = SystemService::HomeUrl();
|
||||
$assign['home_url'] = SystemService::DomainUrl();
|
||||
|
||||
// 开发模式
|
||||
$assign['shopxo_is_develop'] = MyConfig('shopxo.is_develop');
|
||||
@ -394,17 +390,11 @@ class Common extends BaseController
|
||||
// 系统环境参数最大数
|
||||
$assign['env_max_input_vars_count'] = SystemService::EnvMaxInputVarsCount();
|
||||
|
||||
// 主题配色
|
||||
$this->theme_color_value = intval(MyCookie($this->theme_color_value_key));
|
||||
if($this->theme_color_value == 1)
|
||||
{
|
||||
$assign['theme_color_name'] = MyLang('theme_color_white_title');
|
||||
$assign['theme_color_url'] = MyUrl('admin/index/color', ['value'=>0]);
|
||||
} else {
|
||||
$assign['theme_color_name'] = MyLang('theme_color_black_title');
|
||||
$assign['theme_color_url'] = MyUrl('admin/index/color', ['value'=>1]);
|
||||
}
|
||||
$assign['theme_color_value'] = $this->theme_color_value;
|
||||
// 主题配色选择数据
|
||||
$assign['theme_color_choice_data'] = SystemService::GetAdminThemeColor($this->data_request);
|
||||
|
||||
// 主题配色页面数据
|
||||
$assign['theme_color_view_data'] = SystemService::AdminThemeStyleDefaultData($this->data_request);
|
||||
|
||||
// 页面语言
|
||||
$assign['lang_data'] = SystemService::PageViewLangData();
|
||||
|
@ -82,6 +82,14 @@ class Config extends Base
|
||||
$view_type = empty($this->data_request['view_type']) ? 'index' : $this->data_request['view_type'];
|
||||
switch($view_type)
|
||||
{
|
||||
// 系统配置
|
||||
case 'index' :
|
||||
$field_list[] = 'admin_logo';
|
||||
$field_list[] = 'admin_login_logo';
|
||||
$field_list[] = 'admin_login_ad_images';
|
||||
break;
|
||||
|
||||
// 商店信息
|
||||
case 'store' :
|
||||
$field_list[] = 'common_customer_store_qrcode';
|
||||
break;
|
||||
|
@ -36,11 +36,11 @@ class Email extends Base
|
||||
$type = empty($this->data_request['type']) ? 'index' : $this->data_request['type'];
|
||||
$assign = [
|
||||
// 配置信息
|
||||
'data' => ConfigService::ConfigList(),
|
||||
'data' => ConfigService::ConfigList(),
|
||||
// 管理导航
|
||||
'nav_data' => MyLang('email.base_nav_list'),
|
||||
// 页面导航
|
||||
'nav_type' => $type,
|
||||
'nav_data' => MyLang('email.base_nav_list'),
|
||||
// 页面导航
|
||||
'type' => $type,
|
||||
];
|
||||
MyViewAssign($assign);
|
||||
return MyView($type);
|
||||
|
82
app/admin/controller/Emaillog.php
Normal file
82
app/admin/controller/Emaillog.php
Normal file
@ -0,0 +1,82 @@
|
||||
<?php
|
||||
// +----------------------------------------------------------------------
|
||||
// | ShopXO 国内领先企业级B2C免费开源电商系统
|
||||
// +----------------------------------------------------------------------
|
||||
// | Copyright (c) 2011~2099 http://shopxo.net All rights reserved.
|
||||
// +----------------------------------------------------------------------
|
||||
// | Licensed ( https://opensource.org/licenses/mit-license.php )
|
||||
// +----------------------------------------------------------------------
|
||||
// | Author: Devil
|
||||
// +----------------------------------------------------------------------
|
||||
namespace app\admin\controller;
|
||||
|
||||
use app\admin\controller\Base;
|
||||
use app\service\ApiService;
|
||||
use app\service\EmailLogService;
|
||||
|
||||
/**
|
||||
* 邮件日志管理
|
||||
* @author Devil
|
||||
* @blog http://gong.gg/
|
||||
* @version 0.0.1
|
||||
* @datetime 2016-12-01T21:51:08+0800
|
||||
*/
|
||||
class EmailLog extends Base
|
||||
{
|
||||
/**
|
||||
* 列表
|
||||
* @author Devil
|
||||
* @blog http://gong.gg/
|
||||
* @version 1.0.0
|
||||
* @date 2022-08-01
|
||||
* @desc description
|
||||
*/
|
||||
public function Index()
|
||||
{
|
||||
return MyView();
|
||||
}
|
||||
|
||||
/**
|
||||
* 详情
|
||||
* @author Devil
|
||||
* @blog http://gong.gg/
|
||||
* @version 1.0.0
|
||||
* @date 2022-08-01
|
||||
* @desc description
|
||||
*/
|
||||
public function Detail()
|
||||
{
|
||||
return MyView();
|
||||
}
|
||||
|
||||
/**
|
||||
* 删除
|
||||
* @author Devil
|
||||
* @blog http://gong.gg/
|
||||
* @version 1.0.0
|
||||
* @date 2020-07-28
|
||||
* @desc description
|
||||
*/
|
||||
public function Delete()
|
||||
{
|
||||
$params = $this->data_request;
|
||||
$params['admin'] = $this->admin;
|
||||
return ApiService::ApiDataReturn(EmailLogService::EmailLogDelete($params));
|
||||
}
|
||||
|
||||
/**
|
||||
* 全部删除
|
||||
* @author Devil
|
||||
* @blog http://gong.gg/
|
||||
* @version 1.0.0
|
||||
* @date 2021-11-18
|
||||
* @desc description
|
||||
*/
|
||||
public function AllDelete()
|
||||
{
|
||||
$params = $this->data_request;
|
||||
$params['admin'] = $this->admin;
|
||||
return ApiService::ApiDataReturn(EmailLogService::EmailLogAllDelete($params));
|
||||
}
|
||||
}
|
||||
?>
|
@ -58,7 +58,6 @@ class GoodsCategory extends Base
|
||||
return ApiService::ApiDataReturn(GoodsCategoryService::GoodsCategoryNodeSon($this->data_request));
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* 保存
|
||||
* @author Devil
|
||||
@ -71,6 +70,21 @@ class GoodsCategory extends Base
|
||||
return ApiService::ApiDataReturn(GoodsCategoryService::GoodsCategorySave($this->data_request));
|
||||
}
|
||||
|
||||
/**
|
||||
* 状态更新
|
||||
* @author Devil
|
||||
* @blog http://gong.gg/
|
||||
* @version 1.0.0
|
||||
* @date 2021-03-31
|
||||
* @desc description
|
||||
*/
|
||||
public function StatusUpdate()
|
||||
{
|
||||
$params = $this->data_request;
|
||||
$params['admin'] = $this->admin;
|
||||
return ApiService::ApiDataReturn(GoodsCategoryService::GoodsCategoryStatusUpdate($params));
|
||||
}
|
||||
|
||||
/**
|
||||
* 删除
|
||||
* @author Devil
|
||||
|
@ -21,7 +21,7 @@ use app\service\GoodsCommentsService;
|
||||
* @version 0.0.1
|
||||
* @datetime 2016-12-01T21:51:08+0800
|
||||
*/
|
||||
class Goodscomments extends Base
|
||||
class GoodsComments extends Base
|
||||
{
|
||||
/**
|
||||
* 列表
|
||||
@ -44,7 +44,6 @@ class Goodscomments extends Base
|
||||
*/
|
||||
public function Detail()
|
||||
{
|
||||
MyViewAssign('common_goods_comments_rating_list', MyConst('common_goods_comments_rating_list'));
|
||||
return MyView();
|
||||
}
|
||||
|
||||
@ -88,6 +87,7 @@ class Goodscomments extends Base
|
||||
public function Save()
|
||||
{
|
||||
$params = $this->data_request;
|
||||
$params['user_type'] = 'admin';
|
||||
return ApiService::ApiDataReturn(GoodsCommentsService::GoodsCommentsSave($params));
|
||||
}
|
||||
|
||||
@ -101,6 +101,7 @@ class Goodscomments extends Base
|
||||
public function Delete()
|
||||
{
|
||||
$params = $this->data_request;
|
||||
$params['user_type'] = 'admin';
|
||||
return ApiService::ApiDataReturn(GoodsCommentsService::GoodsCommentsDelete($params));
|
||||
}
|
||||
|
||||
@ -114,6 +115,7 @@ class Goodscomments extends Base
|
||||
public function Reply()
|
||||
{
|
||||
$params = $this->data_request;
|
||||
$params['user_type'] = 'admin';
|
||||
return ApiService::ApiDataReturn(GoodsCommentsService::GoodsCommentsReply($params));
|
||||
}
|
||||
|
||||
@ -127,6 +129,7 @@ class Goodscomments extends Base
|
||||
public function StatusUpdate()
|
||||
{
|
||||
$params = $this->data_request;
|
||||
$params['user_type'] = 'admin';
|
||||
return ApiService::ApiDataReturn(GoodsCommentsService::GoodsCommentsStatusUpdate($params));
|
||||
}
|
||||
}
|
||||
|
@ -15,6 +15,8 @@ use app\service\ApiService;
|
||||
use app\service\StatisticalService;
|
||||
use app\service\StoreService;
|
||||
use app\service\SystemUpgradeService;
|
||||
use app\service\ShortcutMenuService;
|
||||
use app\service\SystemService;
|
||||
|
||||
/**
|
||||
* 首页
|
||||
@ -92,6 +94,9 @@ class Index extends Common
|
||||
];
|
||||
$assign['data'] = $data;
|
||||
|
||||
// 常用功能
|
||||
$assign['shortcut_menu_data'] = ShortcutMenuService::ShortcutMenuList(['admin'=>$this->admin]);
|
||||
|
||||
// 用户是否有数据统计权限
|
||||
$is_stats = AdminIsPower('index', 'stats');
|
||||
MyViewAssign('is_stats', $is_stats);
|
||||
@ -161,15 +166,7 @@ class Index extends Common
|
||||
*/
|
||||
public function Color()
|
||||
{
|
||||
// 是否指定配色(0默认白色、1黑色)
|
||||
if(isset($this->data_request['value']) && $this->data_request['value'] == 1)
|
||||
{
|
||||
MyCookie($this->theme_color_value_key, 1);
|
||||
} else {
|
||||
MyCookie($this->theme_color_value_key, null);
|
||||
}
|
||||
// 跳转首页
|
||||
return MyRedirect(MyUrl('admin/index/index'));
|
||||
return MyRedirect(SystemService::SetAdminThemeColor($this->data_request));
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -42,7 +42,7 @@ class Navigation extends Base
|
||||
parent::__construct();
|
||||
|
||||
// 导航类型
|
||||
$this->nav_type = empty($this->data_request['nav_type']) ? 'header' : $this->data_request['nav_type'];
|
||||
$this->nav_type = empty($this->data_request['type']) ? 'header' : $this->data_request['type'];
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -25,6 +25,24 @@ use app\service\ResourcesService;
|
||||
*/
|
||||
class Payment extends Base
|
||||
{
|
||||
private $nav_type;
|
||||
|
||||
/**
|
||||
* 构造方法
|
||||
* @author Devil
|
||||
* @blog http://gong.gg/
|
||||
* @version 0.0.1
|
||||
* @datetime 2016-12-03T12:39:08+0800
|
||||
*/
|
||||
public function __construct()
|
||||
{
|
||||
// 调用父类前置方法
|
||||
parent::__construct();
|
||||
|
||||
// 导航类型
|
||||
$this->nav_type = empty($this->data_request['type']) ? 0 : intval($this->data_request['type']);
|
||||
}
|
||||
|
||||
/**
|
||||
* 列表
|
||||
* @author Devil
|
||||
@ -35,14 +53,18 @@ class Payment extends Base
|
||||
public function Index()
|
||||
{
|
||||
// 插件列表
|
||||
$payment = PaymentService::PluginsPaymentList();
|
||||
$payment = PaymentService::PluginsPaymentList($this->nav_type);
|
||||
|
||||
// 模板数据
|
||||
$assign = [
|
||||
// 导航类型
|
||||
'nav_type' => $this->nav_type,
|
||||
// 支付插件列表
|
||||
'data_list' => empty($payment['data']) ? [] : $payment['data'],
|
||||
// 不能删除的支付方式
|
||||
'cannot_deleted_list' => PaymentService::$cannot_deleted_list,
|
||||
// 管理导航
|
||||
'nav_data' => MyLang('payment.base_nav_list'),
|
||||
// 适用平台
|
||||
'common_platform_type' => MyConst('common_platform_type'),
|
||||
// 应用商店
|
||||
|
@ -56,7 +56,24 @@ class PluginsCategory extends Base
|
||||
*/
|
||||
public function Save()
|
||||
{
|
||||
return ApiService::ApiDataReturn(PluginsCategoryService::PluginsCategorySave($this->data_request));
|
||||
$params = $this->data_request;
|
||||
$params['admin'] = $this->admin;
|
||||
return ApiService::ApiDataReturn(PluginsCategoryService::PluginsCategorySave($params));
|
||||
}
|
||||
|
||||
/**
|
||||
* 状态更新
|
||||
* @author Devil
|
||||
* @blog http://gong.gg/
|
||||
* @version 1.0.0
|
||||
* @date 2021-03-31
|
||||
* @desc description
|
||||
*/
|
||||
public function StatusUpdate()
|
||||
{
|
||||
$params = $this->data_request;
|
||||
$params['admin'] = $this->admin;
|
||||
return ApiService::ApiDataReturn(PluginsCategoryService::PluginsCategoryStatusUpdate($params));
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -32,21 +32,21 @@ class Power extends Base
|
||||
*/
|
||||
public function Index()
|
||||
{
|
||||
$data_params = [
|
||||
'field' => 'id,pid,name,control,action,url,sort,is_show,icon',
|
||||
'order_by' => 'sort asc',
|
||||
'where' => [
|
||||
['pid', '=', 0]
|
||||
],
|
||||
];
|
||||
$assign = [
|
||||
'data' => AdminPowerService::PowerList($data_params),
|
||||
'common_is_show_list' => MyConst('common_is_show_list'),
|
||||
];
|
||||
MyViewAssign($assign);
|
||||
return MyView();
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取节点子列表
|
||||
* @author Devil
|
||||
* @blog http://gong.gg/
|
||||
* @version 0.0.1
|
||||
* @datetime 2016-12-25T15:19:45+0800
|
||||
*/
|
||||
public function GetNodeSon()
|
||||
{
|
||||
return ApiService::ApiDataReturn(AdminPowerService::PowerNodeSon($this->data_request));
|
||||
}
|
||||
|
||||
/**
|
||||
* 权限添加/编辑
|
||||
* @author Devil
|
||||
@ -61,6 +61,21 @@ class Power extends Base
|
||||
return ApiService::ApiDataReturn(AdminPowerService::PowerSave($params));
|
||||
}
|
||||
|
||||
/**
|
||||
* 状态更新
|
||||
* @author Devil
|
||||
* @blog http://gong.gg/
|
||||
* @version 1.0.0
|
||||
* @date 2021-03-31
|
||||
* @desc description
|
||||
*/
|
||||
public function StatusUpdate()
|
||||
{
|
||||
$params = $this->data_request;
|
||||
$params['admin'] = $this->admin;
|
||||
return ApiService::ApiDataReturn(AdminPowerService::PowerStatusUpdate($params));
|
||||
}
|
||||
|
||||
/**
|
||||
* 删除
|
||||
* @author Devil
|
||||
|
@ -56,9 +56,26 @@ class Region extends Base
|
||||
*/
|
||||
public function Save()
|
||||
{
|
||||
return ApiService::ApiDataReturn(RegionService::RegionSave($this->data_request));
|
||||
$params = $this->data_request;
|
||||
$params['admin'] = $this->admin;
|
||||
return ApiService::ApiDataReturn(RegionService::RegionSave($params));
|
||||
}
|
||||
|
||||
/**
|
||||
* 状态更新
|
||||
* @author Devil
|
||||
* @blog http://gong.gg/
|
||||
* @version 1.0.0
|
||||
* @date 2021-03-31
|
||||
* @desc description
|
||||
*/
|
||||
public function StatusUpdate()
|
||||
{
|
||||
$params = $this->data_request;
|
||||
$params['admin'] = $this->admin;
|
||||
return ApiService::ApiDataReturn(RegionService::RegionStatusUpdate($params));
|
||||
}
|
||||
|
||||
/**
|
||||
* 删除
|
||||
* @author Devil
|
||||
|
87
app/admin/controller/Shortcutmenu.php
Normal file
87
app/admin/controller/Shortcutmenu.php
Normal file
@ -0,0 +1,87 @@
|
||||
<?php
|
||||
// +----------------------------------------------------------------------
|
||||
// | ShopXO 国内领先企业级B2C免费开源电商系统
|
||||
// +----------------------------------------------------------------------
|
||||
// | Copyright (c) 2011~2099 http://shopxo.net All rights reserved.
|
||||
// +----------------------------------------------------------------------
|
||||
// | Licensed ( https://opensource.org/licenses/mit-license.php )
|
||||
// +----------------------------------------------------------------------
|
||||
// | Author: Devil
|
||||
// +----------------------------------------------------------------------
|
||||
namespace app\admin\controller;
|
||||
|
||||
use app\admin\controller\Base;
|
||||
use app\service\ApiService;
|
||||
use app\service\ResourcesService;
|
||||
use app\service\ShortcutMenuService;
|
||||
|
||||
/**
|
||||
* 常用功能管理
|
||||
* @author Devil
|
||||
* @blog http://gong.gg/
|
||||
* @version 0.0.1
|
||||
* @datetime 2016-12-01T21:51:08+0800
|
||||
*/
|
||||
class ShortcutMenu extends Base
|
||||
{
|
||||
/**
|
||||
* 列表
|
||||
* @author Devil
|
||||
* @blog http://gong.gg/
|
||||
* @version 0.0.1
|
||||
* @datetime 2016-12-06T21:31:53+0800
|
||||
*/
|
||||
public function Index()
|
||||
{
|
||||
MyViewAssign([
|
||||
// 数据
|
||||
'data' => ShortcutMenuService::ShortcutMenuList(['admin'=>$this->admin, 'is_edit'=>1]),
|
||||
// 编辑器文件存放地址
|
||||
'editor_path_type' => ResourcesService::EditorPathTypeValue('shortcutmenu'),
|
||||
]);
|
||||
return MyView();
|
||||
}
|
||||
|
||||
/**
|
||||
* 保存
|
||||
* @author Devil
|
||||
* @blog http://gong.gg/
|
||||
* @version 0.0.1
|
||||
* @datetime 2016-12-25T22:36:12+0800
|
||||
*/
|
||||
public function Save()
|
||||
{
|
||||
$params = $this->data_request;
|
||||
$params['admin'] = $this->admin;
|
||||
return ApiService::ApiDataReturn(ShortcutMenuService::ShortcutMenuSave($params));
|
||||
}
|
||||
|
||||
/**
|
||||
* 排序
|
||||
* @author Devil
|
||||
* @blog http://gong.gg/
|
||||
* @version 0.0.1
|
||||
* @datetime 2016-12-25T22:36:12+0800
|
||||
*/
|
||||
public function Sort()
|
||||
{
|
||||
$params = $this->data_request;
|
||||
$params['admin'] = $this->admin;
|
||||
return ApiService::ApiDataReturn(ShortcutMenuService::ShortcutMenuSort($params));
|
||||
}
|
||||
|
||||
/**
|
||||
* 删除
|
||||
* @author Devil
|
||||
* @blog http://gong.gg/
|
||||
* @version 0.0.1
|
||||
* @datetime 2016-12-25T22:36:12+0800
|
||||
*/
|
||||
public function Delete()
|
||||
{
|
||||
$params = $this->data_request;
|
||||
$params['admin'] = $this->admin;
|
||||
return ApiService::ApiDataReturn(ShortcutMenuService::ShortcutMenuDelete($params));
|
||||
}
|
||||
}
|
||||
?>
|
@ -28,111 +28,111 @@ use app\service\ResourcesService;
|
||||
*/
|
||||
class Site extends Base
|
||||
{
|
||||
public $nav_type;
|
||||
public $view_type;
|
||||
public $nav_type;
|
||||
public $view_type;
|
||||
|
||||
/**
|
||||
* 构造方法
|
||||
* @author Devil
|
||||
* @blog http://gong.gg/
|
||||
* @version 0.0.1
|
||||
* @datetime 2016-12-03T12:39:08+0800
|
||||
*/
|
||||
public function __construct()
|
||||
{
|
||||
// 调用父类前置方法
|
||||
parent::__construct();
|
||||
/**
|
||||
* 构造方法
|
||||
* @author Devil
|
||||
* @blog http://gong.gg/
|
||||
* @version 0.0.1
|
||||
* @datetime 2016-12-03T12:39:08+0800
|
||||
*/
|
||||
public function __construct()
|
||||
{
|
||||
// 调用父类前置方法
|
||||
parent::__construct();
|
||||
|
||||
// 导航类型
|
||||
$this->nav_type = empty($this->data_request['nav_type']) ? 'base' : $this->data_request['nav_type'];
|
||||
$this->view_type = empty($this->data_request['view_type']) ? 'index' : $this->data_request['view_type'];
|
||||
// 导航类型
|
||||
$this->nav_type = empty($this->data_request['nav_type']) ? 'base' : $this->data_request['nav_type'];
|
||||
$this->view_type = empty($this->data_request['view_type']) ? 'index' : $this->data_request['view_type'];
|
||||
|
||||
// 仅网站设置页面存在多个子页面
|
||||
// 仅网站设置页面存在多个子页面
|
||||
if($this->nav_type != 'siteset')
|
||||
{
|
||||
$this->view_type = 'index';
|
||||
$this->view_type = 'index';
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 配置列表
|
||||
* @author Devil
|
||||
* @blog http://gong.gg/
|
||||
* @version 1.0.0
|
||||
* @date 2020-11-25
|
||||
* @desc description
|
||||
*/
|
||||
public function Index()
|
||||
{
|
||||
// 公共数据
|
||||
$assign = $this->CurrentViewInit();
|
||||
/**
|
||||
* 配置列表
|
||||
* @author Devil
|
||||
* @blog http://gong.gg/
|
||||
* @version 1.0.0
|
||||
* @date 2020-11-25
|
||||
* @desc description
|
||||
*/
|
||||
public function Index()
|
||||
{
|
||||
// 公共数据
|
||||
$assign = $this->CurrentViewInit();
|
||||
|
||||
// 配置信息
|
||||
$data = ConfigService::ConfigList();
|
||||
$assign['data'] = $data;
|
||||
// 配置信息
|
||||
$data = ConfigService::ConfigList();
|
||||
$assign['data'] = $data;
|
||||
|
||||
// 数据处理
|
||||
switch($this->nav_type)
|
||||
{
|
||||
// 站点类型
|
||||
case 'sitetype' :
|
||||
// 地址处理
|
||||
if(!empty($data['common_self_extraction_address']) && !empty($data['common_self_extraction_address']['value']))
|
||||
{
|
||||
$address = ConfigService::SiteTypeExtractionAddressList($data['common_self_extraction_address']['value']);
|
||||
$assign['sitetype_address_list'] = $address['data'];
|
||||
}
|
||||
// 数据处理
|
||||
switch($this->nav_type)
|
||||
{
|
||||
// 站点类型
|
||||
case 'sitetype' :
|
||||
// 地址处理
|
||||
if(!empty($data['common_self_extraction_address']) && !empty($data['common_self_extraction_address']['value']))
|
||||
{
|
||||
$address = ConfigService::SiteTypeExtractionAddressList($data['common_self_extraction_address']['value']);
|
||||
$assign['sitetype_address_list'] = $address['data'];
|
||||
}
|
||||
|
||||
// 加载地图api
|
||||
$assign['is_load_map_api'] = 1;
|
||||
break;
|
||||
// 加载地图api
|
||||
$assign['is_load_map_api'] = 1;
|
||||
break;
|
||||
|
||||
// 网站设置
|
||||
case 'siteset' :
|
||||
// 获取商品一级分类
|
||||
$where = [
|
||||
['pid', '=', 0],
|
||||
['is_home_recommended', '=', 1],
|
||||
['is_enable', '=', 1],
|
||||
];
|
||||
$category = GoodsCategoryService::GoodsCategoryList(['where'=>$where]);
|
||||
if(!empty($category))
|
||||
{
|
||||
// 关键字
|
||||
$floor_keywords = (empty($data['home_index_floor_top_right_keywords']) || empty($data['home_index_floor_top_right_keywords']['value'])) ? [] : json_decode($data['home_index_floor_top_right_keywords']['value'], true);
|
||||
// 分类
|
||||
$floor_category = (empty($data['home_index_floor_left_top_category']) || empty($data['home_index_floor_left_top_category']['value'])) ? [] : json_decode($data['home_index_floor_left_top_category']['value'], true);
|
||||
foreach($category as &$c)
|
||||
{
|
||||
// 获取二级分类
|
||||
$where = [
|
||||
['pid', '=', $c['id']],
|
||||
['is_enable', '=', 1],
|
||||
];
|
||||
$c['items'] = GoodsCategoryService::GoodsCategoryList(['where'=>$where]);
|
||||
// 网站设置
|
||||
case 'siteset' :
|
||||
// 获取商品一级分类
|
||||
$where = [
|
||||
['pid', '=', 0],
|
||||
['is_home_recommended', '=', 1],
|
||||
['is_enable', '=', 1],
|
||||
];
|
||||
$category = GoodsCategoryService::GoodsCategoryList(['where'=>$where]);
|
||||
if(!empty($category))
|
||||
{
|
||||
// 关键字
|
||||
$floor_keywords = (empty($data['home_index_floor_top_right_keywords']) || empty($data['home_index_floor_top_right_keywords']['value'])) ? [] : json_decode($data['home_index_floor_top_right_keywords']['value'], true);
|
||||
// 分类
|
||||
$floor_category = (empty($data['home_index_floor_left_top_category']) || empty($data['home_index_floor_left_top_category']['value'])) ? [] : json_decode($data['home_index_floor_left_top_category']['value'], true);
|
||||
foreach($category as &$c)
|
||||
{
|
||||
// 获取二级分类
|
||||
$where = [
|
||||
['pid', '=', $c['id']],
|
||||
['is_enable', '=', 1],
|
||||
];
|
||||
$c['items'] = GoodsCategoryService::GoodsCategoryList(['where'=>$where]);
|
||||
|
||||
// 配置的关键字
|
||||
$c['config_keywords'] = (!empty($floor_keywords) && is_array($floor_keywords) && array_key_exists($c['id'], $floor_keywords)) ? $floor_keywords[$c['id']] : '';
|
||||
// 配置的关键字
|
||||
$c['config_keywords'] = (!empty($floor_keywords) && is_array($floor_keywords) && array_key_exists($c['id'], $floor_keywords)) ? $floor_keywords[$c['id']] : '';
|
||||
|
||||
// 配置左侧分类
|
||||
$c['config_category_ids'] = (!empty($floor_category) && is_array($floor_category) && array_key_exists($c['id'], $floor_category)) ? explode(',', $floor_category[$c['id']]) : [];
|
||||
}
|
||||
}
|
||||
$assign['goods_category_list'] = $category;
|
||||
// 配置左侧分类
|
||||
$c['config_category_ids'] = (!empty($floor_category) && is_array($floor_category) && array_key_exists($c['id'], $floor_category)) ? explode(',', $floor_category[$c['id']]) : [];
|
||||
}
|
||||
}
|
||||
$assign['goods_category_list'] = $category;
|
||||
|
||||
// 楼层自定义商品
|
||||
if(!empty($data['home_index_floor_manual_mode_goods']) && !empty($data['home_index_floor_manual_mode_goods']['value']))
|
||||
{
|
||||
$ret = SiteService::FloorManualModeGoodsViewHandle(json_decode($data['home_index_floor_manual_mode_goods']['value'], true));
|
||||
$assign['floor_manual_mode_goods_list'] = $ret['data'];
|
||||
}
|
||||
// 楼层自定义商品
|
||||
if(!empty($data['home_index_floor_manual_mode_goods']) && !empty($data['home_index_floor_manual_mode_goods']['value']))
|
||||
{
|
||||
$ret = SiteService::FloorManualModeGoodsViewHandle(json_decode($data['home_index_floor_manual_mode_goods']['value'], true));
|
||||
$assign['floor_manual_mode_goods_list'] = $ret['data'];
|
||||
}
|
||||
|
||||
// 支付方式
|
||||
$assign['payment_list'] = PaymentService::PaymentList(['is_enable'=>1, 'is_open_user'=>1]);
|
||||
break;
|
||||
}
|
||||
// 支付方式
|
||||
$assign['payment_list'] = PaymentService::PaymentList(['is_enable'=>1, 'is_open_user'=>1]);
|
||||
break;
|
||||
}
|
||||
|
||||
// 编辑器文件存放地址
|
||||
// 编辑器文件存放地址
|
||||
$assign['editor_path_type'] = ResourcesService::EditorPathTypeValue('common');
|
||||
|
||||
// 数据赋值
|
||||
@ -141,229 +141,232 @@ class Site extends Base
|
||||
// 视图
|
||||
$view = 'site/'.$this->nav_type.'/'.$this->view_type;
|
||||
return MyView($view);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 公共视图
|
||||
* @author Devil
|
||||
* @blog http://gong.gg/
|
||||
* @version 1.0.0
|
||||
* @date 2020-11-21
|
||||
* @desc description
|
||||
*/
|
||||
public function CurrentViewInit()
|
||||
{
|
||||
// 模板数据
|
||||
$assign = [
|
||||
// 主/子导航
|
||||
'nav_type' => $this->nav_type,
|
||||
'view_type' => $this->view_type,
|
||||
// 时区
|
||||
'common_site_timezone_list' => MyLang('common_site_timezone_list'),
|
||||
// 平台
|
||||
'common_platform_type' => MyConst('common_platform_type'),
|
||||
// 关闭开启
|
||||
'common_close_open_list' => MyConst('common_close_open_list'),
|
||||
// 登录方式
|
||||
'common_login_type_list' => MyConst('common_login_type_list'),
|
||||
// 用户注册类型列表
|
||||
'common_user_reg_type_list' => MyConst('common_user_reg_type_list'),
|
||||
// 图片验证码规则
|
||||
'common_site_images_verify_rules_list' => MyConst('common_site_images_verify_rules_list'),
|
||||
// 热门搜索关键字
|
||||
'common_search_keywords_type_list' => MyConst('common_search_keywords_type_list'),
|
||||
// 是否
|
||||
'common_is_text_list' => MyConst('common_is_text_list'),
|
||||
// 站点类型
|
||||
'common_site_type_list' => MyConst('common_site_type_list'),
|
||||
// 扣除库存规则
|
||||
'common_deduction_inventory_rules_list' => MyConst('common_deduction_inventory_rules_list'),
|
||||
// 增加销量规则
|
||||
'common_sales_count_inc_rules_list' => MyConst('common_sales_count_inc_rules_list'),
|
||||
// 首页商品排序规则
|
||||
'common_goods_order_by_type_list' => MyConst('common_goods_order_by_type_list'),
|
||||
'common_goods_order_by_rule_list' => MyConst('common_goods_order_by_rule_list'),
|
||||
// 首页楼层数据类型
|
||||
'common_site_floor_data_type_list' => MyConst('common_site_floor_data_type_list'),
|
||||
// 搜索参数类型
|
||||
'common_goods_parameters_type_list' => MyConst('common_goods_parameters_type_list'),
|
||||
// 多语言
|
||||
'common_multilingual_list' => MyConst('common_multilingual_list'),
|
||||
// 主导航
|
||||
'second_nav_list' => MyLang('site.second_nav_list'),
|
||||
// 网站设置导航
|
||||
'siteset_nav_list' => MyLang('site.siteset_nav_list'),
|
||||
];
|
||||
return $assign;
|
||||
}
|
||||
|
||||
/**
|
||||
* 配置数据保存
|
||||
* @author Devil
|
||||
* @blog http://gong.gg/
|
||||
* @version 1.0.0
|
||||
* @date 2020-11-25
|
||||
* @desc description
|
||||
*/
|
||||
public function Save()
|
||||
{
|
||||
// 参数
|
||||
$params = $_POST;
|
||||
/**
|
||||
* 公共视图
|
||||
* @author Devil
|
||||
* @blog http://gong.gg/
|
||||
* @version 1.0.0
|
||||
* @date 2020-11-21
|
||||
* @desc description
|
||||
*/
|
||||
public function CurrentViewInit()
|
||||
{
|
||||
// 模板数据
|
||||
$assign = [
|
||||
// 主/子导航
|
||||
'nav_type' => $this->nav_type,
|
||||
'view_type' => $this->view_type,
|
||||
// 时区
|
||||
'common_site_timezone_list' => MyLang('common_site_timezone_list'),
|
||||
// 平台
|
||||
'common_platform_type' => MyConst('common_platform_type'),
|
||||
// 关闭开启
|
||||
'common_close_open_list' => MyConst('common_close_open_list'),
|
||||
// 登录方式
|
||||
'common_login_type_list' => MyConst('common_login_type_list'),
|
||||
// 用户注册类型列表
|
||||
'common_user_reg_type_list' => MyConst('common_user_reg_type_list'),
|
||||
// 图片验证码规则
|
||||
'common_site_images_verify_rules_list' => MyConst('common_site_images_verify_rules_list'),
|
||||
// 热门搜索关键字
|
||||
'common_search_keywords_type_list' => MyConst('common_search_keywords_type_list'),
|
||||
// 是否
|
||||
'common_is_text_list' => MyConst('common_is_text_list'),
|
||||
// 站点类型
|
||||
'common_site_type_list' => MyConst('common_site_type_list'),
|
||||
// 扣除库存规则
|
||||
'common_deduction_inventory_rules_list' => MyConst('common_deduction_inventory_rules_list'),
|
||||
// 增加销量规则
|
||||
'common_sales_count_inc_rules_list' => MyConst('common_sales_count_inc_rules_list'),
|
||||
// 首页商品排序规则
|
||||
'common_goods_order_by_type_list' => MyConst('common_goods_order_by_type_list'),
|
||||
'common_goods_order_by_rule_list' => MyConst('common_goods_order_by_rule_list'),
|
||||
// 首页楼层数据类型
|
||||
'common_site_floor_data_type_list' => MyConst('common_site_floor_data_type_list'),
|
||||
// 搜索参数类型
|
||||
'common_goods_parameters_type_list' => MyConst('common_goods_parameters_type_list'),
|
||||
// 多语言
|
||||
'common_multilingual_list' => MyConst('common_multilingual_list'),
|
||||
// 商品分类
|
||||
'common_show_goods_category_level_list' => MyConst('common_show_goods_category_level_list'),
|
||||
// 主导航
|
||||
'base_nav_list' => MyLang('site.base_nav_list'),
|
||||
// 网站设置导航
|
||||
'siteset_nav_list' => MyLang('site.siteset_nav_list'),
|
||||
];
|
||||
return $assign;
|
||||
}
|
||||
|
||||
/**
|
||||
* 配置数据保存
|
||||
* @author Devil
|
||||
* @blog http://gong.gg/
|
||||
* @version 1.0.0
|
||||
* @date 2020-11-25
|
||||
* @desc description
|
||||
*/
|
||||
public function Save()
|
||||
{
|
||||
// 参数
|
||||
$params = $_POST;
|
||||
|
||||
// 字段不存在赋空值
|
||||
$field_list = [];
|
||||
// 字段不存在赋空值
|
||||
$field_list = [];
|
||||
|
||||
// 导航类型
|
||||
switch($this->nav_type)
|
||||
{
|
||||
// 基础
|
||||
case 'base' :
|
||||
$field_list[] = 'home_site_logo';
|
||||
$field_list[] = 'home_site_logo_wap';
|
||||
$field_list[] = 'home_site_logo_app';
|
||||
$field_list[] = 'home_site_logo_square';
|
||||
break;
|
||||
// 导航类型
|
||||
switch($this->nav_type)
|
||||
{
|
||||
// 基础
|
||||
case 'base' :
|
||||
$field_list[] = 'home_site_logo';
|
||||
$field_list[] = 'home_site_logo_wap';
|
||||
$field_list[] = 'home_site_logo_app';
|
||||
$field_list[] = 'home_site_logo_square';
|
||||
$field_list[] = 'home_site_app_state';
|
||||
break;
|
||||
|
||||
// 用户注册
|
||||
case 'register' :
|
||||
$field_list[] = 'home_user_reg_type';
|
||||
$field_list[] = 'home_site_user_register_bg_images';
|
||||
break;
|
||||
// 用户注册
|
||||
case 'register' :
|
||||
$field_list[] = 'home_user_reg_type';
|
||||
$field_list[] = 'home_site_user_register_bg_images';
|
||||
break;
|
||||
|
||||
// 用户登录
|
||||
case 'login' :
|
||||
$field_list[] = 'home_user_login_type';
|
||||
$field_list[] = 'home_site_user_login_ad1_images';
|
||||
$field_list[] = 'home_site_user_login_ad2_images';
|
||||
$field_list[] = 'home_site_user_login_ad3_images';
|
||||
break;
|
||||
// 用户登录
|
||||
case 'login' :
|
||||
$field_list[] = 'home_user_login_type';
|
||||
$field_list[] = 'home_site_user_login_ad1_images';
|
||||
$field_list[] = 'home_site_user_login_ad2_images';
|
||||
$field_list[] = 'home_site_user_login_ad3_images';
|
||||
break;
|
||||
|
||||
// 密码找回
|
||||
case 'forgetpwd' :
|
||||
$field_list[] = 'home_site_user_forgetpwd_ad1_images';
|
||||
$field_list[] = 'home_site_user_forgetpwd_ad2_images';
|
||||
$field_list[] = 'home_site_user_forgetpwd_ad3_images';
|
||||
break;
|
||||
// 密码找回
|
||||
case 'forgetpwd' :
|
||||
$field_list[] = 'home_site_user_forgetpwd_ad1_images';
|
||||
$field_list[] = 'home_site_user_forgetpwd_ad2_images';
|
||||
$field_list[] = 'home_site_user_forgetpwd_ad3_images';
|
||||
break;
|
||||
|
||||
// 图片验证码
|
||||
case 'verify' :
|
||||
$field_list[] = 'common_images_verify_rules';
|
||||
break;
|
||||
// 图片验证码
|
||||
case 'verify' :
|
||||
$field_list[] = 'common_images_verify_rules';
|
||||
break;
|
||||
|
||||
// 站点类型
|
||||
case 'sitetype' :
|
||||
// 站点类型
|
||||
$params['common_site_type'] = empty($params['common_site_type']) ? '' : (is_array($params['common_site_type']) ? json_encode($params['common_site_type'], JSON_UNESCAPED_UNICODE) : $params['common_site_type']);
|
||||
// 站点类型
|
||||
case 'sitetype' :
|
||||
// 站点类型
|
||||
$params['common_site_type'] = empty($params['common_site_type']) ? '' : (is_array($params['common_site_type']) ? json_encode($params['common_site_type'], JSON_UNESCAPED_UNICODE) : $params['common_site_type']);
|
||||
|
||||
// 自提地址处理
|
||||
if(!empty($params['common_self_extraction_address']))
|
||||
{
|
||||
if(!is_array($params['common_self_extraction_address']))
|
||||
{
|
||||
$address = json_decode($params['common_self_extraction_address'], true);
|
||||
} else {
|
||||
$address = $params['common_self_extraction_address'];
|
||||
}
|
||||
foreach($address as $k=>$v)
|
||||
{
|
||||
$address[$k]['id'] = $k;
|
||||
$address[$k]['logo'] = empty($v['logo']) ? '' : ResourcesService::AttachmentPathHandle($v['logo']);
|
||||
}
|
||||
$params['common_self_extraction_address'] = json_encode($address, JSON_UNESCAPED_UNICODE);
|
||||
}
|
||||
break;
|
||||
// 自提地址处理
|
||||
if(!empty($params['common_self_extraction_address']))
|
||||
{
|
||||
if(!is_array($params['common_self_extraction_address']))
|
||||
{
|
||||
$address = json_decode($params['common_self_extraction_address'], true);
|
||||
} else {
|
||||
$address = $params['common_self_extraction_address'];
|
||||
}
|
||||
foreach($address as $k=>$v)
|
||||
{
|
||||
$address[$k]['id'] = $k;
|
||||
$address[$k]['logo'] = empty($v['logo']) ? '' : ResourcesService::AttachmentPathHandle($v['logo']);
|
||||
}
|
||||
$params['common_self_extraction_address'] = json_encode($address, JSON_UNESCAPED_UNICODE);
|
||||
}
|
||||
break;
|
||||
|
||||
// 网站设置
|
||||
case 'siteset' :
|
||||
switch($this->view_type)
|
||||
{
|
||||
// 首页
|
||||
case 'index' :
|
||||
// 楼层关键字
|
||||
$params['home_index_floor_top_right_keywords'] = empty($params['home_index_floor_top_right_keywords']) ? '' : json_encode($params['home_index_floor_top_right_keywords'], JSON_UNESCAPED_UNICODE);
|
||||
// 楼层自定义商品
|
||||
$params['home_index_floor_manual_mode_goods'] = empty($params['home_index_floor_manual_mode_goods']) ? '' : json_encode($params['home_index_floor_manual_mode_goods'], JSON_UNESCAPED_UNICODE);
|
||||
// 楼层左侧分类
|
||||
$params['home_index_floor_left_top_category'] = empty($params['home_index_floor_left_top_category']) ? '' : json_encode($params['home_index_floor_left_top_category'], JSON_UNESCAPED_UNICODE);
|
||||
break;
|
||||
// 网站设置
|
||||
case 'siteset' :
|
||||
switch($this->view_type)
|
||||
{
|
||||
// 首页
|
||||
case 'index' :
|
||||
// 楼层关键字
|
||||
$params['home_index_floor_top_right_keywords'] = empty($params['home_index_floor_top_right_keywords']) ? '' : json_encode($params['home_index_floor_top_right_keywords'], JSON_UNESCAPED_UNICODE);
|
||||
// 楼层自定义商品
|
||||
$params['home_index_floor_manual_mode_goods'] = empty($params['home_index_floor_manual_mode_goods']) ? '' : json_encode($params['home_index_floor_manual_mode_goods'], JSON_UNESCAPED_UNICODE);
|
||||
// 楼层左侧分类
|
||||
$params['home_index_floor_left_top_category'] = empty($params['home_index_floor_left_top_category']) ? '' : json_encode($params['home_index_floor_left_top_category'], JSON_UNESCAPED_UNICODE);
|
||||
break;
|
||||
|
||||
// 搜索
|
||||
case 'search' :
|
||||
$field_list[] = 'home_search_params_type';
|
||||
break;
|
||||
// 搜索
|
||||
case 'search' :
|
||||
$field_list[] = 'home_search_params_type';
|
||||
break;
|
||||
|
||||
// 订单
|
||||
case 'order' :
|
||||
$params['common_default_payment'] = empty($params['common_default_payment']) ? '' : json_encode($params['common_default_payment'], JSON_UNESCAPED_UNICODE);
|
||||
break;
|
||||
// 订单
|
||||
case 'order' :
|
||||
$params['common_default_payment'] = empty($params['common_default_payment']) ? '' : json_encode($params['common_default_payment'], JSON_UNESCAPED_UNICODE);
|
||||
break;
|
||||
|
||||
// 扩展
|
||||
case 'extends' :
|
||||
// 可用语言状态+图标
|
||||
$choose_list = [];
|
||||
if(!empty($params['common_multilingual_choose_list']) && is_array($params['common_multilingual_choose_list']))
|
||||
{
|
||||
foreach($params['common_multilingual_choose_list'] as $k=>$v)
|
||||
{
|
||||
$choose_list[$k] = [
|
||||
'icon' => empty($v['icon']) ? '' : ResourcesService::AttachmentPathHandle($v['icon']),
|
||||
'status' => (isset($v['status']) && $v['status'] == 1) ? 1 : 0,
|
||||
];
|
||||
}
|
||||
}
|
||||
$params['common_multilingual_choose_list'] = empty($choose_list) ? '' : json_encode($choose_list, JSON_UNESCAPED_UNICODE);
|
||||
// 扩展
|
||||
case 'extends' :
|
||||
// 可用语言状态+图标
|
||||
$choose_list = [];
|
||||
if(!empty($params['common_multilingual_choose_list']) && is_array($params['common_multilingual_choose_list']))
|
||||
{
|
||||
foreach($params['common_multilingual_choose_list'] as $k=>$v)
|
||||
{
|
||||
$choose_list[$k] = [
|
||||
'icon' => empty($v['icon']) ? '' : ResourcesService::AttachmentPathHandle($v['icon']),
|
||||
'status' => (isset($v['status']) && $v['status'] == 1) ? 1 : 0,
|
||||
];
|
||||
}
|
||||
}
|
||||
$params['common_multilingual_choose_list'] = empty($choose_list) ? '' : json_encode($choose_list, JSON_UNESCAPED_UNICODE);
|
||||
|
||||
// 域名绑定多语言
|
||||
$params['common_domain_multilingual_bind_list'] = empty($params['common_domain_multilingual_bind_list']) ? '' : json_encode(array_values($params['common_domain_multilingual_bind_list']), JSON_UNESCAPED_UNICODE);
|
||||
break;
|
||||
}
|
||||
break;
|
||||
// 域名绑定多语言
|
||||
$params['common_domain_multilingual_bind_list'] = empty($params['common_domain_multilingual_bind_list']) ? '' : json_encode(array_values($params['common_domain_multilingual_bind_list']), JSON_UNESCAPED_UNICODE);
|
||||
break;
|
||||
}
|
||||
break;
|
||||
|
||||
// 缓存
|
||||
case 'cache' :
|
||||
// session是否使用缓存
|
||||
// 数据是否使用缓存
|
||||
if((isset($params['common_session_is_use_cache']) && $params['common_session_is_use_cache'] == 1) || (isset($params['common_data_is_use_redis_cache']) && $params['common_data_is_use_redis_cache'] == 1))
|
||||
{
|
||||
// 连接测试
|
||||
$ret = SiteService::RedisCheckConnectPing($params['common_cache_data_redis_host'], $params['common_cache_data_redis_port'], $params['common_cache_data_redis_password']);
|
||||
if($ret['code'] != 0)
|
||||
{
|
||||
return $ret;
|
||||
}
|
||||
}
|
||||
break;
|
||||
}
|
||||
// 缓存
|
||||
case 'cache' :
|
||||
// session是否使用缓存
|
||||
// 数据是否使用缓存
|
||||
if((isset($params['common_session_is_use_cache']) && $params['common_session_is_use_cache'] == 1) || (isset($params['common_data_is_use_redis_cache']) && $params['common_data_is_use_redis_cache'] == 1))
|
||||
{
|
||||
// 连接测试
|
||||
$ret = SiteService::RedisCheckConnectPing($params['common_cache_data_redis_host'], $params['common_cache_data_redis_port'], $params['common_cache_data_redis_password']);
|
||||
if($ret['code'] != 0)
|
||||
{
|
||||
return $ret;
|
||||
}
|
||||
}
|
||||
break;
|
||||
}
|
||||
|
||||
// 基础配置
|
||||
$ret = ConfigService::ConfigSave(ConfigService::FieldsEmptyDataHandle($params, $field_list));
|
||||
// 基础配置
|
||||
$ret = ConfigService::ConfigSave(ConfigService::FieldsEmptyDataHandle($params, $field_list));
|
||||
|
||||
// 清除缓存
|
||||
if($ret['code'] == 0)
|
||||
{
|
||||
switch($this->nav_type)
|
||||
{
|
||||
// 登录
|
||||
case 'login' :
|
||||
MyCache(SystemService::CacheKey('shopxo.cache_user_login_left_key'), null);
|
||||
// 清除缓存
|
||||
if($ret['code'] == 0)
|
||||
{
|
||||
switch($this->nav_type)
|
||||
{
|
||||
// 登录
|
||||
case 'login' :
|
||||
MyCache(SystemService::CacheKey('shopxo.cache_user_login_left_key'), null);
|
||||
|
||||
// 密码找回
|
||||
case 'forgetpwd' :
|
||||
MyCache(SystemService::CacheKey('shopxo.cache_user_forgetpwd_left_key'), null);
|
||||
break;
|
||||
}
|
||||
}
|
||||
return ApiService::ApiDataReturn($ret);
|
||||
}
|
||||
// 密码找回
|
||||
case 'forgetpwd' :
|
||||
MyCache(SystemService::CacheKey('shopxo.cache_user_forgetpwd_left_key'), null);
|
||||
break;
|
||||
}
|
||||
}
|
||||
return ApiService::ApiDataReturn($ret);
|
||||
}
|
||||
|
||||
/**
|
||||
* 商品搜索
|
||||
* @author Devil
|
||||
* @blog http://gong.gg/
|
||||
* @version 1.0.0
|
||||
* @date 2020-11-25
|
||||
* @desc description
|
||||
*/
|
||||
/**
|
||||
* 商品搜索
|
||||
* @author Devil
|
||||
* @blog http://gong.gg/
|
||||
* @version 1.0.0
|
||||
* @date 2020-11-25
|
||||
* @desc description
|
||||
*/
|
||||
public function GoodsSearch()
|
||||
{
|
||||
// 搜索数据
|
||||
|
@ -35,12 +35,12 @@ class Sms extends Base
|
||||
// 导航
|
||||
$type = empty($this->data_request['type']) ? 'index' : $this->data_request['type'];
|
||||
$assign = [
|
||||
// 配置信息
|
||||
'data' => ConfigService::ConfigList(),
|
||||
// 管理导航
|
||||
'nav_data' => MyLang('sms.base_nav_list'),
|
||||
// 页面导航
|
||||
'nav_type' => $type,
|
||||
// 配置信息
|
||||
'data' => ConfigService::ConfigList(),
|
||||
// 管理导航
|
||||
'nav_data' => MyLang('sms.base_nav_list'),
|
||||
// 页面导航
|
||||
'type' => $type,
|
||||
];
|
||||
MyViewAssign($assign);
|
||||
return MyView($type);
|
||||
|
82
app/admin/controller/Smslog.php
Normal file
82
app/admin/controller/Smslog.php
Normal file
@ -0,0 +1,82 @@
|
||||
<?php
|
||||
// +----------------------------------------------------------------------
|
||||
// | ShopXO 国内领先企业级B2C免费开源电商系统
|
||||
// +----------------------------------------------------------------------
|
||||
// | Copyright (c) 2011~2099 http://shopxo.net All rights reserved.
|
||||
// +----------------------------------------------------------------------
|
||||
// | Licensed ( https://opensource.org/licenses/mit-license.php )
|
||||
// +----------------------------------------------------------------------
|
||||
// | Author: Devil
|
||||
// +----------------------------------------------------------------------
|
||||
namespace app\admin\controller;
|
||||
|
||||
use app\admin\controller\Base;
|
||||
use app\service\ApiService;
|
||||
use app\service\SmsLogService;
|
||||
|
||||
/**
|
||||
* 短信日志管理
|
||||
* @author Devil
|
||||
* @blog http://gong.gg/
|
||||
* @version 0.0.1
|
||||
* @datetime 2016-12-01T21:51:08+0800
|
||||
*/
|
||||
class SmsLog extends Base
|
||||
{
|
||||
/**
|
||||
* 列表
|
||||
* @author Devil
|
||||
* @blog http://gong.gg/
|
||||
* @version 1.0.0
|
||||
* @date 2022-08-01
|
||||
* @desc description
|
||||
*/
|
||||
public function Index()
|
||||
{
|
||||
return MyView();
|
||||
}
|
||||
|
||||
/**
|
||||
* 详情
|
||||
* @author Devil
|
||||
* @blog http://gong.gg/
|
||||
* @version 1.0.0
|
||||
* @date 2022-08-01
|
||||
* @desc description
|
||||
*/
|
||||
public function Detail()
|
||||
{
|
||||
return MyView();
|
||||
}
|
||||
|
||||
/**
|
||||
* 删除
|
||||
* @author Devil
|
||||
* @blog http://gong.gg/
|
||||
* @version 1.0.0
|
||||
* @date 2020-07-28
|
||||
* @desc description
|
||||
*/
|
||||
public function Delete()
|
||||
{
|
||||
$params = $this->data_request;
|
||||
$params['admin'] = $this->admin;
|
||||
return ApiService::ApiDataReturn(SmsLogService::SmsLogDelete($params));
|
||||
}
|
||||
|
||||
/**
|
||||
* 全部删除
|
||||
* @author Devil
|
||||
* @blog http://gong.gg/
|
||||
* @version 1.0.0
|
||||
* @date 2021-11-18
|
||||
* @desc description
|
||||
*/
|
||||
public function AllDelete()
|
||||
{
|
||||
$params = $this->data_request;
|
||||
$params['admin'] = $this->admin;
|
||||
return ApiService::ApiDataReturn(SmsLogService::SmsLogAllDelete($params));
|
||||
}
|
||||
}
|
||||
?>
|
@ -89,13 +89,14 @@ class Admin
|
||||
],
|
||||
],
|
||||
[
|
||||
'label' => $lang['status'],
|
||||
'view_type' => 'field',
|
||||
'view_key' => 'status',
|
||||
'view_data_key' => 'name',
|
||||
'view_data' => MyConst('common_admin_status_list'),
|
||||
'is_sort' => 1,
|
||||
'search_config' => [
|
||||
'label' => $lang['status'],
|
||||
'view_type' => 'field',
|
||||
'view_key' => 'status_name',
|
||||
'is_round_point' => 1,
|
||||
'round_point_key' => 'status',
|
||||
'round_point_style' => [0=>'success', 2=>'danger'],
|
||||
'is_sort' => 1,
|
||||
'search_config' => [
|
||||
'form_type' => 'select',
|
||||
'where_type' => 'in',
|
||||
'data' => MyConst('common_admin_status_list'),
|
||||
@ -205,21 +206,14 @@ class Admin
|
||||
'table_name' => 'Admin',
|
||||
'is_page' => 1,
|
||||
'is_handle_time_field' => 1,
|
||||
'is_fixed_name_field' => 1,
|
||||
'fixed_name_data' => [
|
||||
'status' => [
|
||||
'data' => MyConst('common_admin_status_list'),
|
||||
],
|
||||
],
|
||||
],
|
||||
];
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取角色组列表
|
||||
* @author Devil
|
||||
* @blog http://gong.gg/
|
||||
* @version 1.0.0
|
||||
* @date 2020-06-11
|
||||
* @desc description
|
||||
*/
|
||||
public function GetRoleList()
|
||||
{
|
||||
|
||||
}
|
||||
}
|
||||
?>
|
@ -83,8 +83,9 @@ class Brand
|
||||
],
|
||||
[
|
||||
'label' => $lang['logo'],
|
||||
'view_type' => 'module',
|
||||
'view_key' => 'brand/module/logo',
|
||||
'view_type' => 'images',
|
||||
'view_key' => 'logo',
|
||||
'images_height' => 25,
|
||||
],
|
||||
[
|
||||
'label' => $lang['url'],
|
||||
|
@ -42,7 +42,7 @@ class CustomView
|
||||
'status_field' => 'is_enable',
|
||||
'is_search' => 1,
|
||||
'is_delete' => 1,
|
||||
'is_middle' => 0,
|
||||
'is_middle' => 1,
|
||||
'detail_title' => MyLang('form_table_base_detail_title'),
|
||||
],
|
||||
// 表单配置
|
||||
|
235
app/admin/form/Emaillog.php
Normal file
235
app/admin/form/Emaillog.php
Normal file
@ -0,0 +1,235 @@
|
||||
<?php
|
||||
// +----------------------------------------------------------------------
|
||||
// | ShopXO 国内领先企业级B2C免费开源电商系统
|
||||
// +----------------------------------------------------------------------
|
||||
// | Copyright (c) 2011~2099 http://shopxo.net All rights reserved.
|
||||
// +----------------------------------------------------------------------
|
||||
// | Licensed ( https://opensource.org/licenses/mit-license.php )
|
||||
// +----------------------------------------------------------------------
|
||||
// | Author: Devil
|
||||
// +----------------------------------------------------------------------
|
||||
namespace app\admin\form;
|
||||
|
||||
/**
|
||||
* 邮件日志动态表格
|
||||
* @author Devil
|
||||
* @blog http://gong.gg/
|
||||
* @version 1.0.0
|
||||
* @date 2020-06-26
|
||||
* @desc description
|
||||
*/
|
||||
class EmailLog
|
||||
{
|
||||
// 基础条件
|
||||
public $condition_base = [];
|
||||
|
||||
/**
|
||||
* 入口
|
||||
* @author Devil
|
||||
* @blog http://gong.gg/
|
||||
* @version 1.0.0
|
||||
* @date 2020-06-26
|
||||
* @desc description
|
||||
* @param [array] $params [输入参数]
|
||||
*/
|
||||
public function Run($params = [])
|
||||
{
|
||||
$lang = MyLang('emaillog.form_table');
|
||||
return [
|
||||
// 基础配置
|
||||
'base' => [
|
||||
'key_field' => 'id',
|
||||
'is_search' => 1,
|
||||
'is_delete' => 1,
|
||||
'is_middle' => 0,
|
||||
],
|
||||
// 表单配置
|
||||
'form' => [
|
||||
[
|
||||
'view_type' => 'checkbox',
|
||||
'is_checked' => 0,
|
||||
'checked_text' => MyLang('reverse_select_title'),
|
||||
'not_checked_text' => MyLang('select_all_title'),
|
||||
'align' => 'center',
|
||||
'width' => 80,
|
||||
],
|
||||
[
|
||||
'label' => $lang['email'],
|
||||
'view_type' => 'field',
|
||||
'view_key' => 'email',
|
||||
'is_sort' => 1,
|
||||
'search_config' => [
|
||||
'form_type' => 'input',
|
||||
'where_type' => 'like',
|
||||
],
|
||||
],
|
||||
[
|
||||
'label' => $lang['status'],
|
||||
'view_type' => 'field',
|
||||
'view_key' => 'status_name',
|
||||
'is_round_point' => 1,
|
||||
'round_point_key' => 'status',
|
||||
'round_point_style' => [1=>'success', 2=>'danger'],
|
||||
'is_sort' => 1,
|
||||
'search_config' => [
|
||||
'form_type' => 'select',
|
||||
'form_name' => 'status',
|
||||
'where_type' => 'in',
|
||||
'data' => MyConst('common_email_log_status_list'),
|
||||
'data_key' => 'value',
|
||||
'data_name' => 'name',
|
||||
'is_multiple' => 1,
|
||||
],
|
||||
],
|
||||
[
|
||||
'label' => $lang['title'],
|
||||
'view_type' => 'field',
|
||||
'view_key' => 'title',
|
||||
'is_sort' => 1,
|
||||
'search_config' => [
|
||||
'form_type' => 'input',
|
||||
'where_type' => 'like',
|
||||
],
|
||||
],
|
||||
|
||||
[
|
||||
'label' => $lang['template_value'],
|
||||
'view_type' => 'field',
|
||||
'view_type' => 'module',
|
||||
'view_key' => 'emaillog/module/template_value',
|
||||
'align' => 'left',
|
||||
'grid_size' => 'sm',
|
||||
'search_config' => [
|
||||
'form_type' => 'input',
|
||||
'form_name' => 'template_value',
|
||||
'where_type' => 'like',
|
||||
],
|
||||
],
|
||||
[
|
||||
'label' => $lang['template_var'],
|
||||
'view_type' => 'field',
|
||||
'view_type' => 'module',
|
||||
'view_key' => 'emaillog/module/template_var',
|
||||
'align' => 'left',
|
||||
'grid_size' => 'sm',
|
||||
'search_config' => [
|
||||
'form_type' => 'input',
|
||||
'form_name' => 'template_var',
|
||||
'where_type' => 'like',
|
||||
],
|
||||
],
|
||||
[
|
||||
'label' => $lang['reason'],
|
||||
'view_type' => 'field',
|
||||
'view_key' => 'reason',
|
||||
'text_truncate' => 2,
|
||||
'is_popover' => 1,
|
||||
'is_sort' => 1,
|
||||
'grid_size' => 'sm',
|
||||
'search_config' => [
|
||||
'form_type' => 'input',
|
||||
'where_type' => 'like',
|
||||
],
|
||||
],
|
||||
[
|
||||
'label' => $lang['smtp_host'],
|
||||
'view_type' => 'field',
|
||||
'view_key' => 'smtp_host',
|
||||
'is_sort' => 1,
|
||||
'search_config' => [
|
||||
'form_type' => 'input',
|
||||
'where_type' => 'like',
|
||||
],
|
||||
],
|
||||
[
|
||||
'label' => $lang['smtp_port'],
|
||||
'view_type' => 'field',
|
||||
'view_key' => 'smtp_port',
|
||||
'is_sort' => 1,
|
||||
'search_config' => [
|
||||
'form_type' => 'input',
|
||||
'where_type' => 'like',
|
||||
],
|
||||
],
|
||||
[
|
||||
'label' => $lang['smtp_name'],
|
||||
'view_type' => 'field',
|
||||
'view_key' => 'smtp_name',
|
||||
'is_sort' => 1,
|
||||
'search_config' => [
|
||||
'form_type' => 'input',
|
||||
'where_type' => 'like',
|
||||
],
|
||||
],
|
||||
[
|
||||
'label' => $lang['smtp_account'],
|
||||
'view_type' => 'field',
|
||||
'view_key' => 'smtp_account',
|
||||
'is_sort' => 1,
|
||||
'search_config' => [
|
||||
'form_type' => 'input',
|
||||
'where_type' => 'like',
|
||||
],
|
||||
],
|
||||
[
|
||||
'label' => $lang['smtp_send_name'],
|
||||
'view_type' => 'field',
|
||||
'view_key' => 'smtp_send_name',
|
||||
'is_sort' => 1,
|
||||
'search_config' => [
|
||||
'form_type' => 'input',
|
||||
'where_type' => 'like',
|
||||
],
|
||||
],
|
||||
[
|
||||
'label' => $lang['tsc'],
|
||||
'view_type' => 'field',
|
||||
'view_key' => 'tsc',
|
||||
'is_sort' => 1,
|
||||
'search_config' => [
|
||||
'form_type' => 'section',
|
||||
],
|
||||
],
|
||||
[
|
||||
'label' => $lang['add_time'],
|
||||
'view_type' => 'field',
|
||||
'view_key' => 'add_time',
|
||||
'is_sort' => 1,
|
||||
'search_config' => [
|
||||
'form_type' => 'datetime',
|
||||
],
|
||||
],
|
||||
[
|
||||
'label' => $lang['upd_time'],
|
||||
'view_type' => 'field',
|
||||
'view_key' => 'upd_time',
|
||||
'is_sort' => 1,
|
||||
'search_config' => [
|
||||
'form_type' => 'datetime',
|
||||
],
|
||||
],
|
||||
[
|
||||
'label' => MyLang('operate_title'),
|
||||
'view_type' => 'operate',
|
||||
'view_key' => 'emaillog/module/operate',
|
||||
'align' => 'center',
|
||||
'fixed' => 'right',
|
||||
'width' => 120,
|
||||
],
|
||||
],
|
||||
// 数据配置
|
||||
'data' => [
|
||||
'table_name' => 'EmailLog',
|
||||
'is_page' => 1,
|
||||
'is_handle_time_field' => 1,
|
||||
'is_fixed_name_field' => 1,
|
||||
'fixed_name_data' => [
|
||||
'status' => [
|
||||
'data' => MyConst('common_email_log_status_list'),
|
||||
],
|
||||
],
|
||||
],
|
||||
];
|
||||
}
|
||||
}
|
||||
?>
|
@ -66,7 +66,7 @@ class Goods
|
||||
'label' => $lang['id'],
|
||||
'view_type' => 'field',
|
||||
'view_key' => 'id',
|
||||
'width' => 105,
|
||||
'width' => 110,
|
||||
'is_sort' => 1,
|
||||
'search_config' => [
|
||||
'form_type' => 'input',
|
||||
|
@ -155,6 +155,7 @@ class GoodsComments
|
||||
'post_url' => MyUrl('admin/goodscomments/statusupdate'),
|
||||
'is_form_su' => 1,
|
||||
'align' => 'center',
|
||||
'width' => 130,
|
||||
'is_sort' => 1,
|
||||
'search_config' => [
|
||||
'form_type' => 'select',
|
||||
@ -171,6 +172,7 @@ class GoodsComments
|
||||
'view_key' => 'is_anonymous',
|
||||
'post_url' => MyUrl('admin/goodscomments/statusupdate'),
|
||||
'align' => 'center',
|
||||
'width' => 130,
|
||||
'is_sort' => 1,
|
||||
'search_config' => [
|
||||
'form_type' => 'select',
|
||||
@ -187,6 +189,7 @@ class GoodsComments
|
||||
'view_key' => 'is_reply',
|
||||
'post_url' => MyUrl('admin/goodscomments/statusupdate'),
|
||||
'align' => 'center',
|
||||
'width' => 130,
|
||||
'is_sort' => 1,
|
||||
'search_config' => [
|
||||
'form_type' => 'select',
|
||||
|
@ -140,6 +140,7 @@ class IntegralLog
|
||||
'view_key' => 'integrallog/module/operate',
|
||||
'align' => 'center',
|
||||
'fixed' => 'right',
|
||||
'width' => 80,
|
||||
],
|
||||
],
|
||||
// 数据配置
|
||||
|
@ -171,6 +171,7 @@ class Message
|
||||
'view_key' => 'message/module/operate',
|
||||
'align' => 'center',
|
||||
'fixed' => 'right',
|
||||
'width' => 120,
|
||||
],
|
||||
],
|
||||
// 数据配置
|
||||
|
@ -433,11 +433,11 @@ class Order
|
||||
],
|
||||
'is_page_stats' => 1,
|
||||
'page_stats_data' => [
|
||||
['name'=>'订单总额', 'field'=>'total_price', 'unit'=>'元'],
|
||||
['name'=>'支付总额', 'field'=>'pay_price', 'unit'=>'元'],
|
||||
['name'=>'订单总额', 'field'=>'total_price'],
|
||||
['name'=>'支付总额', 'field'=>'pay_price'],
|
||||
['name'=>'商品总数', 'field'=>'buy_number_count'],
|
||||
['name'=>'退款', 'field'=>'refund_price', 'unit'=>'元'],
|
||||
['name'=>'退货', 'field'=>'returned_quantity'],
|
||||
['name'=>'退款金额', 'field'=>'refund_price'],
|
||||
['name'=>'退货数量', 'field'=>'returned_quantity'],
|
||||
],
|
||||
'data_params' => [
|
||||
'is_public' => 0,
|
||||
|
@ -245,6 +245,7 @@ class PayLog
|
||||
'view_key' => 'paylog/module/operate',
|
||||
'align' => 'center',
|
||||
'fixed' => 'right',
|
||||
'width' => 120,
|
||||
],
|
||||
],
|
||||
// 数据配置
|
||||
|
@ -246,6 +246,7 @@ class PayRequestLog
|
||||
'view_key' => 'payrequestlog/module/operate',
|
||||
'align' => 'center',
|
||||
'fixed' => 'right',
|
||||
'width' => 80,
|
||||
],
|
||||
],
|
||||
// 数据配置
|
||||
|
@ -185,6 +185,7 @@ class RefundLog
|
||||
'view_key' => 'refundlog/module/operate',
|
||||
'align' => 'center',
|
||||
'fixed' => 'right',
|
||||
'width' => 80,
|
||||
],
|
||||
],
|
||||
// 数据配置
|
||||
|
238
app/admin/form/Smslog.php
Normal file
238
app/admin/form/Smslog.php
Normal file
@ -0,0 +1,238 @@
|
||||
<?php
|
||||
// +----------------------------------------------------------------------
|
||||
// | ShopXO 国内领先企业级B2C免费开源电商系统
|
||||
// +----------------------------------------------------------------------
|
||||
// | Copyright (c) 2011~2099 http://shopxo.net All rights reserved.
|
||||
// +----------------------------------------------------------------------
|
||||
// | Licensed ( https://opensource.org/licenses/mit-license.php )
|
||||
// +----------------------------------------------------------------------
|
||||
// | Author: Devil
|
||||
// +----------------------------------------------------------------------
|
||||
namespace app\admin\form;
|
||||
|
||||
/**
|
||||
* 短信日志动态表格
|
||||
* @author Devil
|
||||
* @blog http://gong.gg/
|
||||
* @version 1.0.0
|
||||
* @date 2020-06-26
|
||||
* @desc description
|
||||
*/
|
||||
class SmsLog
|
||||
{
|
||||
// 基础条件
|
||||
public $condition_base = [];
|
||||
|
||||
/**
|
||||
* 入口
|
||||
* @author Devil
|
||||
* @blog http://gong.gg/
|
||||
* @version 1.0.0
|
||||
* @date 2020-06-26
|
||||
* @desc description
|
||||
* @param [array] $params [输入参数]
|
||||
*/
|
||||
public function Run($params = [])
|
||||
{
|
||||
$lang = MyLang('smslog.form_table');
|
||||
return [
|
||||
// 基础配置
|
||||
'base' => [
|
||||
'key_field' => 'id',
|
||||
'is_search' => 1,
|
||||
'is_delete' => 1,
|
||||
'is_middle' => 0,
|
||||
],
|
||||
// 表单配置
|
||||
'form' => [
|
||||
[
|
||||
'view_type' => 'checkbox',
|
||||
'is_checked' => 0,
|
||||
'checked_text' => MyLang('reverse_select_title'),
|
||||
'not_checked_text' => MyLang('select_all_title'),
|
||||
'align' => 'center',
|
||||
'width' => 80,
|
||||
],
|
||||
[
|
||||
'label' => $lang['platform'],
|
||||
'view_type' => 'field',
|
||||
'view_key' => 'platform_name',
|
||||
'is_sort' => 1,
|
||||
'search_config' => [
|
||||
'form_type' => 'select',
|
||||
'form_name' => 'platform',
|
||||
'where_type' => 'in',
|
||||
'data' => MyConst('common_sms_log_platform_list'),
|
||||
'data_key' => 'value',
|
||||
'data_name' => 'name',
|
||||
'is_multiple' => 1,
|
||||
],
|
||||
],
|
||||
[
|
||||
'label' => $lang['status'],
|
||||
'view_type' => 'field',
|
||||
'view_key' => 'status_name',
|
||||
'is_round_point' => 1,
|
||||
'round_point_key' => 'status',
|
||||
'round_point_style' => [1=>'success', 2=>'danger'],
|
||||
'is_sort' => 1,
|
||||
'search_config' => [
|
||||
'form_type' => 'select',
|
||||
'form_name' => 'status',
|
||||
'where_type' => 'in',
|
||||
'data' => MyConst('common_sms_log_status_list'),
|
||||
'data_key' => 'value',
|
||||
'data_name' => 'name',
|
||||
'is_multiple' => 1,
|
||||
],
|
||||
],
|
||||
[
|
||||
'label' => $lang['mobile'],
|
||||
'view_type' => 'field',
|
||||
'view_key' => 'mobile',
|
||||
'is_sort' => 1,
|
||||
'search_config' => [
|
||||
'form_type' => 'input',
|
||||
'where_type' => 'like',
|
||||
],
|
||||
],
|
||||
[
|
||||
'label' => $lang['template_value'],
|
||||
'view_type' => 'field',
|
||||
'view_type' => 'module',
|
||||
'view_key' => 'smslog/module/template_value',
|
||||
'align' => 'left',
|
||||
'grid_size' => 'sm',
|
||||
'search_config' => [
|
||||
'form_type' => 'input',
|
||||
'form_name' => 'template_value',
|
||||
'where_type' => 'like',
|
||||
],
|
||||
],
|
||||
[
|
||||
'label' => $lang['template_var'],
|
||||
'view_type' => 'field',
|
||||
'view_type' => 'module',
|
||||
'view_key' => 'smslog/module/template_var',
|
||||
'align' => 'left',
|
||||
'grid_size' => 'sm',
|
||||
'search_config' => [
|
||||
'form_type' => 'input',
|
||||
'form_name' => 'template_var',
|
||||
'where_type' => 'like',
|
||||
],
|
||||
],
|
||||
[
|
||||
'label' => $lang['sign_name'],
|
||||
'view_type' => 'field',
|
||||
'view_key' => 'sign_name',
|
||||
'is_sort' => 1,
|
||||
'search_config' => [
|
||||
'form_type' => 'input',
|
||||
],
|
||||
],
|
||||
[
|
||||
'label' => $lang['request_url'],
|
||||
'view_type' => 'field',
|
||||
'view_key' => 'request_url',
|
||||
'is_sort' => 1,
|
||||
'grid_size' => 'lg',
|
||||
'search_config' => [
|
||||
'form_type' => 'input',
|
||||
'where_type' => 'like',
|
||||
],
|
||||
],
|
||||
[
|
||||
'label' => $lang['request_params'],
|
||||
'view_type' => 'field',
|
||||
'view_type' => 'module',
|
||||
'view_key' => 'smslog/module/request_params',
|
||||
'align' => 'left',
|
||||
'grid_size' => 'sm',
|
||||
'search_config' => [
|
||||
'form_type' => 'input',
|
||||
'form_name' => 'request_params',
|
||||
'where_type' => 'like',
|
||||
],
|
||||
],
|
||||
[
|
||||
'label' => $lang['response_data'],
|
||||
'view_type' => 'field',
|
||||
'view_type' => 'module',
|
||||
'view_key' => 'smslog/module/response_data',
|
||||
'align' => 'left',
|
||||
'grid_size' => 'sm',
|
||||
'search_config' => [
|
||||
'form_type' => 'input',
|
||||
'form_name' => 'response_data',
|
||||
'where_type' => 'like',
|
||||
],
|
||||
],
|
||||
[
|
||||
'label' => $lang['reason'],
|
||||
'view_type' => 'field',
|
||||
'view_key' => 'reason',
|
||||
'text_truncate' => 2,
|
||||
'is_popover' => 1,
|
||||
'is_sort' => 1,
|
||||
'grid_size' => 'sm',
|
||||
'search_config' => [
|
||||
'form_type' => 'input',
|
||||
'where_type' => 'like',
|
||||
],
|
||||
],
|
||||
[
|
||||
'label' => $lang['tsc'],
|
||||
'view_type' => 'field',
|
||||
'view_key' => 'tsc',
|
||||
'is_sort' => 1,
|
||||
'search_config' => [
|
||||
'form_type' => 'section',
|
||||
],
|
||||
],
|
||||
[
|
||||
'label' => $lang['add_time'],
|
||||
'view_type' => 'field',
|
||||
'view_key' => 'add_time',
|
||||
'is_sort' => 1,
|
||||
'search_config' => [
|
||||
'form_type' => 'datetime',
|
||||
],
|
||||
],
|
||||
[
|
||||
'label' => $lang['upd_time'],
|
||||
'view_type' => 'field',
|
||||
'view_key' => 'upd_time',
|
||||
'is_sort' => 1,
|
||||
'search_config' => [
|
||||
'form_type' => 'datetime',
|
||||
],
|
||||
],
|
||||
[
|
||||
'label' => MyLang('operate_title'),
|
||||
'view_type' => 'operate',
|
||||
'view_key' => 'smslog/module/operate',
|
||||
'align' => 'center',
|
||||
'fixed' => 'right',
|
||||
'width' => 120,
|
||||
],
|
||||
],
|
||||
// 数据配置
|
||||
'data' => [
|
||||
'table_name' => 'SmsLog',
|
||||
'is_page' => 1,
|
||||
'is_handle_time_field' => 1,
|
||||
'is_fixed_name_field' => 1,
|
||||
'fixed_name_data' => [
|
||||
'platform' => [
|
||||
'data' => MyConst('common_sms_log_platform_list'),
|
||||
],
|
||||
'status' => [
|
||||
'data' => MyConst('common_sms_log_status_list'),
|
||||
],
|
||||
],
|
||||
],
|
||||
];
|
||||
}
|
||||
}
|
||||
?>
|
@ -159,6 +159,24 @@ class User
|
||||
'where_type' => 'like',
|
||||
],
|
||||
],
|
||||
[
|
||||
'label' => $lang['status_name'],
|
||||
'view_type' => 'field',
|
||||
'view_key' => 'status_name',
|
||||
'is_round_point' => 1,
|
||||
'round_point_key' => 'status',
|
||||
'round_point_style' => [0=>'success', 1=>'warning', 2=>'danger'],
|
||||
'is_sort' => 1,
|
||||
'search_config' => [
|
||||
'form_type' => 'select',
|
||||
'form_name' => 'status',
|
||||
'where_type' => 'in',
|
||||
'data' => MyConst('common_user_status_list'),
|
||||
'data_key' => 'id',
|
||||
'data_name' => 'name',
|
||||
'is_multiple' => 1,
|
||||
],
|
||||
],
|
||||
[
|
||||
'label' => $lang['gender_name'],
|
||||
'view_type' => 'field',
|
||||
@ -176,23 +194,6 @@ class User
|
||||
'is_multiple' => 1,
|
||||
],
|
||||
],
|
||||
[
|
||||
'label' => $lang['status_name'],
|
||||
'view_type' => 'field',
|
||||
'view_key' => 'status',
|
||||
'view_data_key' => 'name',
|
||||
'view_data' => MyConst('common_user_status_list'),
|
||||
'is_sort' => 1,
|
||||
'search_config' => [
|
||||
'form_type' => 'select',
|
||||
'form_name' => 'status',
|
||||
'where_type' => 'in',
|
||||
'data' => MyConst('common_user_status_list'),
|
||||
'data_key' => 'id',
|
||||
'data_name' => 'name',
|
||||
'is_multiple' => 1,
|
||||
],
|
||||
],
|
||||
[
|
||||
'label' => $lang['province'],
|
||||
'view_type' => 'field',
|
||||
@ -303,8 +304,14 @@ class User
|
||||
],
|
||||
// 数据配置
|
||||
'data' => [
|
||||
'table_name' => 'User',
|
||||
'data_handle' => 'UserService::UserListHandle',
|
||||
'table_name' => 'User',
|
||||
'data_handle' => 'UserService::UserListHandle',
|
||||
'is_fixed_name_field' => 1,
|
||||
'fixed_name_data' => [
|
||||
'status' => [
|
||||
'data' => MyConst('common_user_status_list'),
|
||||
],
|
||||
],
|
||||
],
|
||||
];
|
||||
}
|
||||
|
@ -27,7 +27,9 @@ return [
|
||||
'goods_hot_tips' => '僅顯示前30條商品',
|
||||
'payment_name' => '支付方式',
|
||||
'order_region_name' => '訂單地域分佈',
|
||||
'order_region_tips' => '僅顯示30條數據',
|
||||
'order_region_tips' => '僅顯示10條數據',
|
||||
'new_user_name' => '新增用戶',
|
||||
'buy_user_name' => '下單用戶',
|
||||
'upgrade_check_loading_tips' => '正在獲取最新內容、請稍候…',
|
||||
'upgrade_version_name' => '更新版本:',
|
||||
'upgrade_date_name' => '更新日期:',
|
||||
@ -55,6 +57,8 @@ return [
|
||||
'base_item_map_whole_country_province' => '省',
|
||||
'base_item_map_whole_country_city' => '市',
|
||||
'base_item_map_whole_country_county' => '區/縣',
|
||||
'base_item_new_user_title' => '新增用戶',
|
||||
'base_item_buy_user_title' => '下單用戶',
|
||||
'system_info_title' => '系統資訊',
|
||||
'system_ver_title' => '軟體版本',
|
||||
'system_os_ver_title' => '作業系統',
|
||||
@ -145,7 +149,7 @@ return [
|
||||
'address_logo_message' => '請上傳logo圖片',
|
||||
],
|
||||
// 主导航
|
||||
'second_nav_list' => [
|
||||
'base_nav_list' => [
|
||||
['name' => '基礎配寘', 'type' => 'base'],
|
||||
['name' => '網站設定', 'type' => 'siteset'],
|
||||
['name' => '網站類型', 'type' => 'sitetype'],
|
||||
@ -164,7 +168,6 @@ return [
|
||||
['name' => '商品', 'type' => 'goods'],
|
||||
['name' => '蒐索', 'type' => 'search'],
|
||||
['name' => '訂單', 'type' => 'order'],
|
||||
['name' => '優惠', 'type' => 'discount'],
|
||||
['name' => '擴展', 'type' => 'extends'],
|
||||
],
|
||||
// 页面基础
|
||||
@ -176,6 +179,7 @@ return [
|
||||
'base_item_data_cache_title' => '數據緩存配寘',
|
||||
'base_item_redis_cache_title' => 'redis緩存配寘',
|
||||
'base_item_crontab_config_title' => '定時腳本配寘',
|
||||
'base_item_regex_config_title' => '正則配寘',
|
||||
'base_item_quick_nav_title' => '快捷導航',
|
||||
'base_item_user_base_title' => '用戶基礎',
|
||||
'base_item_user_address_title' => '用戶地址',
|
||||
@ -225,7 +229,7 @@ return [
|
||||
'left_images_random_tips' => '左側圖片最多可上傳3張圖片、每次隨機展示其中一張',
|
||||
'background_color_tips' => '可自定義背景圖片、默認底灰色',
|
||||
'site_setup_layout_tips' => '拖拽模式需要自行進入首頁設計頁面、請先保存選中配寘後再',
|
||||
'site_setup_layout_button_name' => '去設計頁面>>',
|
||||
'site_setup_layout_button_name' => '設計頁面',
|
||||
'site_setup_goods_category_tips' => '如需更多樓層展示,請先到/商品管理->商品分類、一級分類設置首頁推薦',
|
||||
'site_setup_goods_category_no_data_tips'=> '暫無數據,請先到/商品管理->商品分類、一級分類設置首頁推薦',
|
||||
'site_setup_order_default_payment_tips' => '可以設定不同平臺對應的默認支付方式、請先在[網站管理->支付方式]中安裝好支付挿件啟用並對用戶開放',
|
||||
@ -241,13 +245,13 @@ return [
|
||||
'form_take_address_logo' => 'LOGO',
|
||||
'form_take_address_logo_tips' => '建議300*300px',
|
||||
'form_take_address_alias' => '別名',
|
||||
'form_take_address_alias_message' => '別名格式最多16個字元',
|
||||
'form_take_address_alias_message' => '別名格式最多16個字',
|
||||
'form_take_address_name' => '連絡人',
|
||||
'form_take_address_name_message' => '連絡人格式2~16個字元之間',
|
||||
'form_take_address_name_message' => '連絡人格式2~16個字之間',
|
||||
'form_take_address_tel' => '聯繫電話',
|
||||
'form_take_address_tel_message' => '請填寫聯繫電話',
|
||||
'form_take_address_address' => '詳細地址',
|
||||
'form_take_address_address_message' => '詳細地址格式1~80個字元之間',
|
||||
'form_take_address_address_message' => '詳細地址格式1~80個字之間',
|
||||
// 域名绑定语言
|
||||
'form_domain_multilingual_domain_name' => '域名',
|
||||
'form_domain_multilingual_domain_message' => '請填寫功能變數名稱',
|
||||
@ -260,7 +264,7 @@ return [
|
||||
'admin_login_title' => '後臺登入',
|
||||
'admin_login_info_bg_images_list_tips' => [
|
||||
'1.背景圖片位於[ public/static/admin/default/images/login ]目錄下',
|
||||
'2.背景圖片命名規則(1~50)、如1.jpg',
|
||||
'2.背景圖片命名規則(1~50)、如1.png',
|
||||
],
|
||||
'map_type_tips' => '由於每一家的地圖標準不一樣、請勿隨意切換地圖、會導致地圖座標標注不準確的情况。',
|
||||
'apply_map_baidu_name' => '請到百度地圖開放平臺申請',
|
||||
@ -490,7 +494,7 @@ return [
|
||||
],
|
||||
'nav_store_theme_name' => '更多主題下載',
|
||||
'nav_theme_download_name' => '查看小程式打包教程',
|
||||
'nav_theme_download_tips' => '手機端主題採用uniapp開發(支持多端小程式+H5),APP也在緊急適配中。',
|
||||
'nav_theme_download_tips' => '手機端主題採用uniapp開發(支持多端小程式、H5、APP)',
|
||||
'form_alipay_extend_title' => '客服配寘',
|
||||
'form_alipay_extend_tips' => 'PS:如【APP/小程式】中開啟(開啟線上客服),則以下配寘必填[企業編碼]和[聊天窗編碼]',
|
||||
'form_theme_upload_tips' => '上傳一個zip壓縮格式的安裝包',
|
||||
@ -549,7 +553,8 @@ return [
|
||||
'base_nav_title' => '商品',
|
||||
'goods_nav_list' => [
|
||||
'base' => ['name' => '基礎資訊', 'type'=>'base'],
|
||||
'specifications' => ['name' => '商品規格', 'type'=>'specifications'],
|
||||
'spec' => ['name' => '商品規格', 'type'=>'spec'],
|
||||
'spec_images' => ['name' => '規格圖片', 'type'=>'spec_images'],
|
||||
'parameters' => ['name' => '商品參數', 'type'=>'parameters'],
|
||||
'photo' => ['name' => '商品相册', 'type'=>'photo'],
|
||||
'video' => ['name' => '商品視頻', 'type'=>'video'],
|
||||
@ -568,8 +573,8 @@ return [
|
||||
'info_placeholder' => '請輸入商品名稱/簡述/編碼/條碼/SEO資訊',
|
||||
'category_text' => '商品分類',
|
||||
'brand_name' => '品牌',
|
||||
'price' => '銷售價格(元)',
|
||||
'original_price' => '原價(元)',
|
||||
'price' => '銷售價格',
|
||||
'original_price' => '原價',
|
||||
'inventory' => '庫存總量',
|
||||
'is_shelves' => '上下架',
|
||||
'is_deduction_inventory' => '扣减庫存',
|
||||
@ -649,8 +654,8 @@ return [
|
||||
'user_placeholder' => '請輸入用戶名/昵稱/手機/郵箱',
|
||||
'goods' => '商品資訊',
|
||||
'goods_placeholder' => '請輸入商品名稱/簡述/SEO資訊',
|
||||
'price' => '銷售價格(元)',
|
||||
'original_price' => '原價(元)',
|
||||
'price' => '銷售價格',
|
||||
'original_price' => '原價',
|
||||
'add_time' => '創建時間',
|
||||
],
|
||||
],
|
||||
@ -663,8 +668,8 @@ return [
|
||||
'user_placeholder' => '請輸入用戶名/昵稱/手機/郵箱',
|
||||
'goods' => '商品資訊',
|
||||
'goods_placeholder' => '請輸入商品名稱/簡述/SEO資訊',
|
||||
'price' => '銷售價格(元)',
|
||||
'original_price' => '原價(元)',
|
||||
'price' => '銷售價格',
|
||||
'original_price' => '原價',
|
||||
'add_time' => '創建時間',
|
||||
],
|
||||
],
|
||||
@ -677,8 +682,8 @@ return [
|
||||
'user_placeholder' => '請輸入用戶名/昵稱/手機/郵箱',
|
||||
'goods' => '商品資訊',
|
||||
'goods_placeholder' => '請輸入商品名稱/簡述/SEO資訊',
|
||||
'price' => '銷售價格(元)',
|
||||
'original_price' => '原價(元)',
|
||||
'price' => '銷售價格',
|
||||
'original_price' => '原價',
|
||||
'add_time' => '創建時間',
|
||||
],
|
||||
],
|
||||
@ -772,19 +777,19 @@ return [
|
||||
'user_placeholder' => '請輸入用戶名/昵稱/手機/郵箱',
|
||||
'status' => '訂單狀態',
|
||||
'pay_status' => '支付狀態',
|
||||
'total_price' => '總價(元)',
|
||||
'pay_price' => '支付金額(元)',
|
||||
'price' => '單價(元)',
|
||||
'total_price' => '總價',
|
||||
'pay_price' => '支付金額',
|
||||
'price' => '單價',
|
||||
'warehouse_name' => '出貨倉庫',
|
||||
'order_model' => '訂單模式',
|
||||
'client_type' => '來源',
|
||||
'address' => '地址資訊',
|
||||
'take' => '取貨資訊',
|
||||
'refund_price' => '退款金額(元)',
|
||||
'refund_price' => '退款金額',
|
||||
'returned_quantity' => '退貨數量',
|
||||
'buy_number_count' => '購買總數',
|
||||
'increase_price' => '新增金額(元)',
|
||||
'preferential_price' => '優惠金額(元)',
|
||||
'increase_price' => '新增金額',
|
||||
'preferential_price' => '優惠金額',
|
||||
'payment_name' => '支付方式',
|
||||
'user_note' => '用戶備註',
|
||||
'extension' => '擴展資訊',
|
||||
@ -823,7 +828,7 @@ return [
|
||||
'status' => '狀態',
|
||||
'type' => '申請類型',
|
||||
'reason' => '原因',
|
||||
'price' => '退款金額(元)',
|
||||
'price' => '退款金額',
|
||||
'number' => '退貨數量',
|
||||
'msg' => '退款說明',
|
||||
'refundment' => '退款類型',
|
||||
@ -842,8 +847,14 @@ return [
|
||||
|
||||
// 支付方式
|
||||
'payment' => [
|
||||
// 基础导航
|
||||
'base_nav_list' => [
|
||||
['name' => '已安裝', 'type' => 0],
|
||||
['name' => '未安裝', 'type' => 1],
|
||||
],
|
||||
'base_nav_title' => '支付方式',
|
||||
'nav_store_payment_name' => '更多主題下載',
|
||||
'base_upload_payment_name' => '上傳支付',
|
||||
'base_nav_store_payment_name' => '更多主題下載',
|
||||
'upload_top_list_tips' => [
|
||||
[
|
||||
'name' => '1.類名必須於檔名一致(去除.php),如Alipay.php則取Alipay',
|
||||
@ -892,7 +903,8 @@ return [
|
||||
['name' => '當前主題', 'type' => 'index'],
|
||||
['name' => '主題安裝', 'type' => 'upload'],
|
||||
],
|
||||
'nav_store_theme_name' => '更多主題下載',
|
||||
'base_upload_theme_name' => '上傳主題',
|
||||
'base_nav_store_theme_name' => '更多主題下載',
|
||||
'list_author_title' => '作者',
|
||||
'list_version_title' => '適用版本',
|
||||
'form_theme_upload_tips' => '上傳一個zip壓縮格式的主題安裝包',
|
||||
@ -945,8 +957,8 @@ return [
|
||||
'log_no' => '支付單號',
|
||||
'payment' => '支付方式',
|
||||
'status' => '狀態',
|
||||
'total_price' => '業務訂單金額(元)',
|
||||
'pay_price' => '支付金額(元)',
|
||||
'total_price' => '業務訂單金額',
|
||||
'pay_price' => '支付金額',
|
||||
'business_type' => '業務類型',
|
||||
'business_list' => '業務id/單號',
|
||||
'trade_no' => '支付平臺交易號',
|
||||
@ -1019,11 +1031,12 @@ return [
|
||||
['name' => '應用管理', 'type' => 'index'],
|
||||
['name' => '上傳應用', 'type' => 'upload'],
|
||||
],
|
||||
'base_upload_application_name' => '上傳應用',
|
||||
'base_nav_more_plugins_download_name' => '更多挿件下載',
|
||||
// 基础页面
|
||||
'base_search_input_placeholder' => '請輸入名稱/描述',
|
||||
'base_top_tips_one' => '清單排序方式[自定義排序->最早安裝]',
|
||||
'base_top_tips_two' => '可點擊拖動圖標按鈕調整挿件調用和展示順序',
|
||||
'base_top_tips_two' => '可點擊拖動調整挿件調用和展示順序',
|
||||
'base_open_setup_title' => '開啟設定',
|
||||
'data_list_author_title' => '作者',
|
||||
'data_list_author_url_title' => '主頁',
|
||||
@ -1047,7 +1060,7 @@ return [
|
||||
|
||||
// 插件分类
|
||||
'pluginscategory' => [
|
||||
'base_nav_title' => '挿件分類',
|
||||
'base_nav_title' => '應用分類',
|
||||
],
|
||||
|
||||
// 安装页面
|
||||
@ -1169,6 +1182,47 @@ return [
|
||||
],
|
||||
],
|
||||
|
||||
// 短信日志
|
||||
'smslog' => [
|
||||
// 动态表格
|
||||
'form_table' => [
|
||||
'platform' => '短信平臺',
|
||||
'status' => '狀態',
|
||||
'mobile' => '手機',
|
||||
'template_value' => '範本內容',
|
||||
'template_var' => '範本變數',
|
||||
'sign_name' => '簡訊簽名',
|
||||
'request_url' => '請求介面',
|
||||
'request_params' => '請求參數',
|
||||
'response_data' => '響應數據',
|
||||
'reason' => '失敗原因',
|
||||
'tsc' => '耗時(秒)',
|
||||
'add_time' => '添加時間',
|
||||
'upd_time' => '更新時間',
|
||||
],
|
||||
],
|
||||
|
||||
// 邮件日志
|
||||
'emaillog' => [
|
||||
// 动态表格
|
||||
'form_table' => [
|
||||
'email' => '收件郵箱',
|
||||
'status' => '狀態',
|
||||
'title' => '郵件標題',
|
||||
'template_value' => '郵件內容',
|
||||
'template_var' => '郵件變數',
|
||||
'reason' => '失敗原因',
|
||||
'smtp_host' => 'SMTP服務器',
|
||||
'smtp_port' => 'SMTP端口',
|
||||
'smtp_name' => '郵箱用戶名',
|
||||
'smtp_account' => '發信人郵件',
|
||||
'smtp_send_name' => '發件人姓名',
|
||||
'tsc' => '耗時(秒)',
|
||||
'add_time' => '添加時間',
|
||||
'upd_time' => '更新時間',
|
||||
],
|
||||
],
|
||||
|
||||
// sql控制台
|
||||
'sqlconsole' => [
|
||||
'top_tips' => 'PS:非開發人員請不要隨意執行任何SQL語句,操作可能導致將整個系統資料庫被删除。',
|
||||
@ -1214,7 +1268,7 @@ return [
|
||||
// 后台权限菜单
|
||||
'admin_power_menu_list' => [
|
||||
'config_index' => [
|
||||
'name' => '系統設置',
|
||||
'name' => '系統',
|
||||
'item' => [
|
||||
'config_index' => '系統配寘',
|
||||
'config_store' => '商店資訊',
|
||||
@ -1224,10 +1278,14 @@ return [
|
||||
'index_inspectupgradeconfirm' => '系統更新確認',
|
||||
'index_stats' => '首頁統計資料',
|
||||
'index_income' => '首頁統計資料(收入統計)',
|
||||
'shortcutmenu_index' => '常用功能',
|
||||
'shortcutmenu_save' => '常用功能添加/編輯',
|
||||
'shortcutmenu_sort' => '常用功能排序',
|
||||
'shortcutmenu_delete' => '常用功能删除',
|
||||
]
|
||||
],
|
||||
'site_index' => [
|
||||
'name' => '網站配寘',
|
||||
'name' => '網站',
|
||||
'item' => [
|
||||
'site_index' => '網站設定',
|
||||
'site_save' => '網站設定編輯',
|
||||
@ -1245,7 +1303,7 @@ return [
|
||||
]
|
||||
],
|
||||
'power_index' => [
|
||||
'name' => '許可權控制',
|
||||
'name' => '權限',
|
||||
'item' => [
|
||||
'admin_index' => '管理員清單',
|
||||
'admin_saveinfo' => '管理員添加/編輯頁面',
|
||||
@ -1260,11 +1318,12 @@ return [
|
||||
'role_detail' => '角色詳情',
|
||||
'power_index' => '許可權分配',
|
||||
'power_save' => '許可權添加/編輯',
|
||||
'power_statusupdate' => '許可權狀態更新',
|
||||
'power_delete' => '許可權删除',
|
||||
]
|
||||
],
|
||||
'user_index' => [
|
||||
'name' => '用戶管理',
|
||||
'name' => '用戶',
|
||||
'item' => [
|
||||
'user_index' => '用戶列表',
|
||||
'user_saveinfo' => '用戶編輯/添加頁面',
|
||||
@ -1279,7 +1338,7 @@ return [
|
||||
]
|
||||
],
|
||||
'goods_index' => [
|
||||
'name' => '商品管理',
|
||||
'name' => '商品',
|
||||
'item' => [
|
||||
'goods_index' => '商品管理',
|
||||
'goods_saveinfo' => '商品添加/編輯頁面',
|
||||
@ -1290,6 +1349,7 @@ return [
|
||||
'goods_detail' => '商品詳情',
|
||||
'goodscategory_index' => '商品分類',
|
||||
'goodscategory_save' => '商品分類添加/編輯',
|
||||
'goodscategory_statusupdate' => '商品分類狀態更新',
|
||||
'goodscategory_delete' => '商品分類删除',
|
||||
'goodsparamstemplate_index' => '商品參數',
|
||||
'goodsparamstemplate_delete' => '商品參數删除',
|
||||
@ -1322,7 +1382,7 @@ return [
|
||||
]
|
||||
],
|
||||
'order_index' => [
|
||||
'name' => '訂單管理',
|
||||
'name' => '訂單',
|
||||
'item' => [
|
||||
'order_index' => '訂單管理',
|
||||
'order_delete' => '訂單删除',
|
||||
@ -1342,7 +1402,7 @@ return [
|
||||
]
|
||||
],
|
||||
'navigation_index' => [
|
||||
'name' => '網站管理',
|
||||
'name' => '網站',
|
||||
'item' => [
|
||||
'navigation_index' => '導航管理',
|
||||
'navigation_save' => '導航添加/編輯',
|
||||
@ -1376,6 +1436,7 @@ return [
|
||||
'screeningprice_delete' => '篩選價格删除',
|
||||
'region_index' => '地區管理',
|
||||
'region_save' => '地區添加/編輯',
|
||||
'region_statusupdate' => '地區狀態更新',
|
||||
'region_delete' => '地區删除',
|
||||
'region_codedata' => '獲取地區編號數據',
|
||||
'express_index' => '快遞管理',
|
||||
@ -1406,7 +1467,7 @@ return [
|
||||
]
|
||||
],
|
||||
'brand_index' => [
|
||||
'name' => '品牌管理',
|
||||
'name' => '品牌',
|
||||
'item' => [
|
||||
'brand_index' => '品牌管理',
|
||||
'brand_saveinfo' => '品牌添加/編輯頁面',
|
||||
@ -1420,7 +1481,7 @@ return [
|
||||
]
|
||||
],
|
||||
'warehouse_index' => [
|
||||
'name' => '倉庫管理',
|
||||
'name' => '倉庫',
|
||||
'item' => [
|
||||
'warehouse_index' => '倉庫管理',
|
||||
'warehouse_saveinfo' => '倉庫添加/編輯頁面',
|
||||
@ -1440,7 +1501,7 @@ return [
|
||||
]
|
||||
],
|
||||
'app_index' => [
|
||||
'name' => '手機管理',
|
||||
'name' => '手機',
|
||||
'item' => [
|
||||
'appconfig_index' => '基礎配寘',
|
||||
'appconfig_save' => '基礎配寘保存',
|
||||
@ -1468,7 +1529,7 @@ return [
|
||||
]
|
||||
],
|
||||
'article_index' => [
|
||||
'name' => '文章管理',
|
||||
'name' => '文章',
|
||||
'item' => [
|
||||
'article_index' => '文章管理',
|
||||
'article_saveinfo' => '文章添加/編輯頁面',
|
||||
@ -1482,7 +1543,7 @@ return [
|
||||
]
|
||||
],
|
||||
'data_index' => [
|
||||
'name' => '資料管理',
|
||||
'name' => '資料',
|
||||
'item' => [
|
||||
'message_index' => '消息管理',
|
||||
'message_delete' => '消息删除',
|
||||
@ -1496,26 +1557,32 @@ return [
|
||||
'refundlog_detail' => '退款日誌詳情',
|
||||
'integrallog_index' => '積分日誌',
|
||||
'integrallog_detail' => '積分日誌詳情',
|
||||
'smslog_index' => '簡訊日誌',
|
||||
'smslog_detail' => '簡訊日誌詳情',
|
||||
]
|
||||
],
|
||||
'store_index' => [
|
||||
'name' => '應用中心',
|
||||
'name' => '應用',
|
||||
'item' => [
|
||||
'pluginsadmin_index' => '應用管理',
|
||||
'plugins_index' => '應用調用管理',
|
||||
'pluginsadmin_saveinfo' => '應用添加/編輯頁面',
|
||||
'pluginsadmin_save' => '應用添加/編輯',
|
||||
'pluginsadmin_statusupdate' => '應用狀態更新',
|
||||
'pluginsadmin_delete' => '應用删除',
|
||||
'pluginsadmin_upload' => '應用上傳',
|
||||
'pluginsadmin_download' => '應用打包',
|
||||
'pluginsadmin_install' => '應用安裝',
|
||||
'pluginsadmin_uninstall' => '應用卸載',
|
||||
'pluginsadmin_sortsave' => '應用排序保存',
|
||||
'store_index' => '應用商店',
|
||||
'packageinstall_index' => '套裝軟體安裝頁面',
|
||||
'packageinstall_install' => '套裝軟體安裝',
|
||||
'packageupgrade_upgrade' => '套裝軟體更新',
|
||||
'pluginsadmin_index' => '應用管理',
|
||||
'plugins_index' => '應用調用管理',
|
||||
'pluginsadmin_saveinfo' => '應用添加/編輯頁面',
|
||||
'pluginsadmin_save' => '應用添加/編輯',
|
||||
'pluginsadmin_statusupdate' => '應用狀態更新',
|
||||
'pluginsadmin_delete' => '應用删除',
|
||||
'pluginsadmin_upload' => '應用上傳',
|
||||
'pluginsadmin_download' => '應用打包',
|
||||
'pluginsadmin_install' => '應用安裝',
|
||||
'pluginsadmin_uninstall' => '應用卸載',
|
||||
'pluginsadmin_sortsave' => '應用排序保存',
|
||||
'store_index' => '應用商店',
|
||||
'packageinstall_index' => '套裝軟體安裝頁面',
|
||||
'packageinstall_install' => '套裝軟體安裝',
|
||||
'packageupgrade_upgrade' => '套裝軟體更新',
|
||||
'pluginscategory_index' => '應用分類',
|
||||
'pluginscategory_save' => '應用分類添加/編輯',
|
||||
'pluginscategory_statusupdate' => '應用分類狀態更新',
|
||||
'pluginscategory_delete' => '應用分類删除',
|
||||
]
|
||||
],
|
||||
'tool_index' => [
|
||||
|
@ -27,7 +27,9 @@ return [
|
||||
'goods_hot_tips' => 'Show only the first 30 items',
|
||||
'payment_name' => 'Payment Method',
|
||||
'order_region_name' => 'Order geographical distribution',
|
||||
'order_region_tips' => 'Only 30 pieces of data are displayed',
|
||||
'order_region_tips' => 'Only 10 pieces of data are displayed',
|
||||
'new_user_name' => 'New Users',
|
||||
'buy_user_name' => 'Ordering Users',
|
||||
'upgrade_check_loading_tips' => 'Getting the latest content, please wait...',
|
||||
'upgrade_version_name' => 'Updated Version:',
|
||||
'upgrade_date_name' => 'Update Date:',
|
||||
@ -55,6 +57,8 @@ return [
|
||||
'base_item_map_whole_country_province' => 'Province',
|
||||
'base_item_map_whole_country_city' => 'City',
|
||||
'base_item_map_whole_country_county' => 'County',
|
||||
'base_item_new_user_title' => 'New Users',
|
||||
'base_item_buy_user_title' => 'Ordering Users',
|
||||
'system_info_title' => 'System Info',
|
||||
'system_ver_title' => 'Software Version',
|
||||
'system_os_ver_title' => 'Operating System',
|
||||
@ -145,7 +149,7 @@ return [
|
||||
'address_logo_message' => 'Please upload the logo image',
|
||||
],
|
||||
// 主导航
|
||||
'second_nav_list' => [
|
||||
'base_nav_list' => [
|
||||
['name' => 'Base Config', 'type' => 'base'],
|
||||
['name' => 'Site Settings', 'type' => 'siteset'],
|
||||
['name' => 'Site Type', 'type' => 'sitetype'],
|
||||
@ -164,7 +168,6 @@ return [
|
||||
['name' => 'Goods', 'type' => 'goods'],
|
||||
['name' => 'Search', 'type' => 'search'],
|
||||
['name' => 'Order', 'type' => 'order'],
|
||||
['name' => 'Discount', 'type' => 'discount'],
|
||||
['name' => 'Extensions', 'type' => 'extends'],
|
||||
],
|
||||
// 页面基础
|
||||
@ -176,6 +179,7 @@ return [
|
||||
'base_item_data_cache_title' => 'Data Cache Config',
|
||||
'base_item_redis_cache_title' => 'Redis Cache Config',
|
||||
'base_item_crontab_config_title' => 'Timing Script Config',
|
||||
'base_item_regex_config_title' => 'Regular configuration',
|
||||
'base_item_quick_nav_title' => 'Quick Navigation',
|
||||
'base_item_user_base_title' => 'User Base',
|
||||
'base_item_user_address_title' => 'User Address',
|
||||
@ -225,7 +229,7 @@ return [
|
||||
'left_images_random_tips' => 'The left picture can upload up to 3 pictures, and one of them can be displayed randomly each time',
|
||||
'background_color_tips' => 'Customizable background image, default background gray',
|
||||
'site_setup_layout_tips' => 'The drag mode needs to enter the homepage design page by yourself. Please save the selected configuration before',
|
||||
'site_setup_layout_button_name' => 'Go to design page >>',
|
||||
'site_setup_layout_button_name' => 'design page',
|
||||
'site_setup_goods_category_tips' => 'If you need more floor displays, please go to/Product Management ->Product Classification, Primary Classification Settings Home Page Recommendation',
|
||||
'site_setup_goods_category_no_data_tips'=> 'There is no data for the time being. Please go to/Product Management ->Product Classification, Primary Classification Settings Home Page for recommendation',
|
||||
'site_setup_order_default_payment_tips' => 'You can set the default payment method corresponding to different platforms. Please install the payment plug-in in [Website Management ->Payment Method] to enable and open it to users',
|
||||
@ -260,7 +264,7 @@ return [
|
||||
'admin_login_title' => 'Background Login',
|
||||
'admin_login_info_bg_images_list_tips' => [
|
||||
'1. The background image is located in the [public/static/admin/default/images/login] directory',
|
||||
'2. Naming rules for background pictures (1~50), such as 1.jpg',
|
||||
'2. Naming rules for background pictures (1~50), such as 1.png',
|
||||
],
|
||||
'map_type_tips' => 'Due to the different map standards of each company, do not switch maps at will, which will lead to inaccurate map coordinates.',
|
||||
'apply_map_baidu_name' => 'Please apply at Baidu Map Open Platform',
|
||||
@ -491,7 +495,7 @@ return [
|
||||
],
|
||||
'nav_store_theme_name' => 'More topic downloads',
|
||||
'nav_theme_download_name' => 'View the applet packaging tutorial',
|
||||
'nav_theme_download_tips' => 'The theme of mobile phone is developed by uniapp (supporting multi-terminal applet+H5), and APP is also in emergency adaptation。',
|
||||
'nav_theme_download_tips' => 'The mobile theme is developed using Uniapp (supporting multiple mini programs, H5, and APP)',
|
||||
'form_alipay_extend_title' => 'Customer service configuration',
|
||||
'form_alipay_extend_tips' => 'PS: If [APP/applet] is enabled (online customer service is enabled), the following configuration must be filled in [Enterprise Code] and [Chat Window Code]',
|
||||
'form_theme_upload_tips' => 'Upload a zip compressed installation package',
|
||||
@ -550,7 +554,8 @@ return [
|
||||
'base_nav_title' => 'Goods',
|
||||
'goods_nav_list' => [
|
||||
'base' => ['name' => 'Basic Info', 'type'=>'base'],
|
||||
'specifications' => ['name' => 'Goods Spec', 'type'=>'specifications'],
|
||||
'spec' => ['name' => 'Goods Spec', 'type'=>'spec'],
|
||||
'spec_images' => ['name' => 'Spec Images', 'type'=>'spec_images'],
|
||||
'parameters' => ['name' => 'Goods Params', 'type'=>'parameters'],
|
||||
'photo' => ['name' => 'Goods Photo', 'type'=>'photo'],
|
||||
'video' => ['name' => 'Goods Video', 'type'=>'video'],
|
||||
@ -857,8 +862,14 @@ return [
|
||||
|
||||
// 支付方式
|
||||
'payment' => [
|
||||
// 基础导航
|
||||
'base_nav_list' => [
|
||||
['name' => 'was installed', 'type' => 0],
|
||||
['name' => 'Not Installed', 'type' => 1],
|
||||
],
|
||||
'base_nav_title' => 'PaymentMethod',
|
||||
'nav_store_payment_name' => 'More PaymentMethod downloads',
|
||||
'base_upload_payment_name' => 'Upload payment',
|
||||
'base_nav_store_payment_name' => 'More PaymentMethod downloads',
|
||||
'upload_top_list_tips' => [
|
||||
[
|
||||
'name' => '1. The class name must be consistent with the file name (remove. php). If Alipay.php, Alipay is used'
|
||||
@ -907,7 +918,8 @@ return [
|
||||
['name' => 'Current Theme', 'type' => 'index'],
|
||||
['name' => 'Theme Install', 'type' => 'upload'],
|
||||
],
|
||||
'nav_store_theme_name' => 'More topic downloads',
|
||||
'base_upload_theme_name' => 'Upload Theme',
|
||||
'base_nav_store_theme_name' => 'More topic downloads',
|
||||
'list_author_title' => 'Author',
|
||||
'list_version_title' => 'Applicable Version',
|
||||
'form_theme_upload_tips' => 'Upload a zip compressed theme installation package',
|
||||
@ -1034,11 +1046,12 @@ return [
|
||||
['name' => 'Application Management', 'type' => 'index'],
|
||||
['name' => 'Upload Application', 'type' => 'upload'],
|
||||
],
|
||||
'base_upload_application_name' => 'Upload application',
|
||||
'base_nav_more_plugins_download_name' => 'More plug-in downloads',
|
||||
// 基础页面
|
||||
'base_search_input_placeholder' => 'Please enter a name/description',
|
||||
'base_top_tips_one' => 'List sorting method [custom sorting ->earliest installation]',
|
||||
'base_top_tips_two' => 'Click and drag icon button to adjust plug-in call and display order',
|
||||
'base_top_tips_two' => 'Click and drag to adjust the order of plugin calls and displays',
|
||||
'base_open_setup_title' => 'Enable Setup',
|
||||
'data_list_author_title' => 'Author',
|
||||
'data_list_author_url_title' => 'HomePage',
|
||||
@ -1062,7 +1075,7 @@ return [
|
||||
|
||||
// 插件分类
|
||||
'pluginscategory' => [
|
||||
'base_nav_title' => 'PluginsCategory',
|
||||
'base_nav_title' => 'Application Category',
|
||||
],
|
||||
|
||||
// 安装页面
|
||||
@ -1184,6 +1197,47 @@ return [
|
||||
],
|
||||
],
|
||||
|
||||
// 短信日志
|
||||
'smslog' => [
|
||||
// 动态表格
|
||||
'form_table' => [
|
||||
'platform' => 'SMS platform',
|
||||
'status' => 'Status',
|
||||
'mobile' => 'Phone',
|
||||
'template_value' => 'Template content',
|
||||
'template_var' => 'Template variable',
|
||||
'sign_name' => 'SMS Signature',
|
||||
'request_url' => 'Request interface',
|
||||
'request_params' => 'Request parameters',
|
||||
'response_data' => 'Response data',
|
||||
'reason' => 'Reason for failure',
|
||||
'tsc' => 'Time taken (seconds)',
|
||||
'add_time' => 'Add time',
|
||||
'upd_time' => 'Update time',
|
||||
],
|
||||
],
|
||||
|
||||
// 邮件日志
|
||||
'emaillog' => [
|
||||
// 动态表格
|
||||
'form_table' => [
|
||||
'email' => 'Recipient email',
|
||||
'status' => 'Status',
|
||||
'title' => 'Email title',
|
||||
'template_value' => 'Email content',
|
||||
'template_var' => 'Email var',
|
||||
'reason' => 'Reason for failure',
|
||||
'smtp_host' => 'Smtp server',
|
||||
'smtp_port' => 'Smtp port',
|
||||
'smtp_name' => 'Email username',
|
||||
'smtp_account' => 'Senders email',
|
||||
'smtp_send_name' => 'Senders name',
|
||||
'tsc' => 'Time taken (seconds)',
|
||||
'add_time' => 'Add time',
|
||||
'upd_time' => 'Update time',
|
||||
],
|
||||
],
|
||||
|
||||
// sql控制台
|
||||
'sqlconsole' => [
|
||||
'top_tips' => 'PS: Non-developers should not execute any SQL statements at will, which may cause the entire system database to be deleted.',
|
||||
@ -1229,7 +1283,7 @@ return [
|
||||
// 后台权限菜单
|
||||
'admin_power_menu_list' => [
|
||||
'config_index' => [
|
||||
'name' => 'System Setup',
|
||||
'name' => 'System',
|
||||
'item' => [
|
||||
'config_index' => 'System config',
|
||||
'config_store' => 'Store info',
|
||||
@ -1239,10 +1293,14 @@ return [
|
||||
'index_inspectupgradeconfirm' => 'System update confirmation',
|
||||
'index_stats' => 'Home page statistics',
|
||||
'index_income' => 'Home page Statistics (income statistics]',
|
||||
'shortcutmenu_index' => 'Common functions',
|
||||
'shortcutmenu_save' => 'Adding/Editing Common Functions',
|
||||
'shortcutmenu_sort' => 'Common Function Sorting',
|
||||
'shortcutmenu_delete' => 'Common function deletion',
|
||||
]
|
||||
],
|
||||
'site_index' => [
|
||||
'name' => 'Site Config',
|
||||
'name' => 'Site',
|
||||
'item' => [
|
||||
'site_index' => 'Site setup',
|
||||
'site_save' => 'Site setup editing',
|
||||
@ -1260,7 +1318,7 @@ return [
|
||||
]
|
||||
],
|
||||
'power_index' => [
|
||||
'name' => 'Power Control',
|
||||
'name' => 'Power',
|
||||
'item' => [
|
||||
'admin_index' => 'Admin list',
|
||||
'admin_saveinfo' => 'Admin add/edit page',
|
||||
@ -1275,11 +1333,12 @@ return [
|
||||
'role_detail' => 'Role details',
|
||||
'power_index' => 'Power divide',
|
||||
'power_save' => 'Power add/edit',
|
||||
'power_statusupdate' => 'Power status update',
|
||||
'power_delete' => 'Power delete',
|
||||
]
|
||||
],
|
||||
'user_index' => [
|
||||
'name' => 'User Admin',
|
||||
'name' => 'User',
|
||||
'item' => [
|
||||
'user_index' => 'User list',
|
||||
'user_saveinfo' => 'User edit / add page',
|
||||
@ -1294,7 +1353,7 @@ return [
|
||||
]
|
||||
],
|
||||
'goods_index' => [
|
||||
'name' => 'Goods Admin',
|
||||
'name' => 'Goods',
|
||||
'item' => [
|
||||
'goods_index' => 'Goods admin',
|
||||
'goods_saveinfo' => 'Goods add/edit page',
|
||||
@ -1305,6 +1364,7 @@ return [
|
||||
'goods_detail' => 'Goods details',
|
||||
'goodscategory_index' => 'Goods category',
|
||||
'goodscategory_save' => 'Goods category add/edit',
|
||||
'goodscategory_statusupdate' => 'Goods category status update',
|
||||
'goodscategory_delete' => 'Goods category delete',
|
||||
'goodsparamstemplate_index' => 'Goods params',
|
||||
'goodsparamstemplate_delete' => 'Delete goods params',
|
||||
@ -1337,7 +1397,7 @@ return [
|
||||
]
|
||||
],
|
||||
'order_index' => [
|
||||
'name' => 'Order Admin',
|
||||
'name' => 'Order',
|
||||
'item' => [
|
||||
'order_index' => 'Order admin',
|
||||
'order_delete' => 'Order delete',
|
||||
@ -1357,7 +1417,7 @@ return [
|
||||
]
|
||||
],
|
||||
'navigation_index' => [
|
||||
'name' => 'Website Admin',
|
||||
'name' => 'Web',
|
||||
'item' => [
|
||||
'navigation_index' => 'Navigation admin',
|
||||
'navigation_save' => 'Navigation add/edit',
|
||||
@ -1391,6 +1451,7 @@ return [
|
||||
'screeningprice_delete' => 'Filter price delete',
|
||||
'region_index' => 'Regional admin',
|
||||
'region_save' => 'Region add/edit',
|
||||
'region_statusupdate' => 'Regional status update',
|
||||
'region_delete' => 'Region delete',
|
||||
'region_codedata' => 'Get area number data',
|
||||
'express_index' => 'Express Management',
|
||||
@ -1421,7 +1482,7 @@ return [
|
||||
]
|
||||
],
|
||||
'brand_index' => [
|
||||
'name' => 'Brand Admin',
|
||||
'name' => 'Brand',
|
||||
'item' => [
|
||||
'brand_index' => 'Brand admin',
|
||||
'brand_saveinfo' => 'Brand add/edit page',
|
||||
@ -1435,7 +1496,7 @@ return [
|
||||
]
|
||||
],
|
||||
'warehouse_index' => [
|
||||
'name' => 'Warehouse Admin',
|
||||
'name' => 'Stock',
|
||||
'item' => [
|
||||
'warehouse_index' => 'Warehouse admin',
|
||||
'warehouse_saveinfo' => 'Warehouse add/edit page',
|
||||
@ -1455,7 +1516,7 @@ return [
|
||||
]
|
||||
],
|
||||
'app_index' => [
|
||||
'name' => 'Mobile Admin',
|
||||
'name' => 'Mobile',
|
||||
'item' => [
|
||||
'appconfig_index' => 'Basic config',
|
||||
'appconfig_save' => 'Basic config saving',
|
||||
@ -1483,7 +1544,7 @@ return [
|
||||
]
|
||||
],
|
||||
'article_index' => [
|
||||
'name' => 'Article Admin',
|
||||
'name' => 'Article',
|
||||
'item' => [
|
||||
'article_index' => 'Article admin',
|
||||
'article_saveinfo' => 'Article add/edit page',
|
||||
@ -1497,7 +1558,7 @@ return [
|
||||
]
|
||||
],
|
||||
'data_index' => [
|
||||
'name' => 'Data Admin',
|
||||
'name' => 'Data',
|
||||
'item' => [
|
||||
'message_index' => 'Message log',
|
||||
'message_delete' => 'Message delete',
|
||||
@ -1511,26 +1572,32 @@ return [
|
||||
'refundlog_detail' => 'Refund log details',
|
||||
'integrallog_index' => 'Integral log',
|
||||
'integrallog_detail' => 'Points log details',
|
||||
'smslog_index' => 'SMS log',
|
||||
'smslog_detail' => 'SMS log details',
|
||||
]
|
||||
],
|
||||
'store_index' => [
|
||||
'name' => 'Application Center',
|
||||
'name' => 'Store',
|
||||
'item' => [
|
||||
'pluginsadmin_index' => 'Application admin',
|
||||
'plugins_index' => 'Application call admin',
|
||||
'pluginsadmin_saveinfo' => 'Application add/edit page',
|
||||
'pluginsadmin_save' => 'Apply add/edit',
|
||||
'pluginsadmin_statusupdate' => 'Application status update',
|
||||
'pluginsadmin_delete' => 'Apply delete',
|
||||
'pluginsadmin_upload' => 'Application upload',
|
||||
'pluginsadmin_download' => 'Application packaging',
|
||||
'pluginsadmin_install' => 'Application installation',
|
||||
'pluginsadmin_uninstall' => 'Apps Uninstall',
|
||||
'pluginsadmin_sortsave' => 'Apply sort save',
|
||||
'store_index' => 'App store',
|
||||
'packageinstall_index' => 'Package installation page',
|
||||
'packageinstall_install' => 'Package installation',
|
||||
'packageupgrade_upgrade' => 'Package update',
|
||||
'pluginsadmin_index' => 'Application admin',
|
||||
'plugins_index' => 'Application call admin',
|
||||
'pluginsadmin_saveinfo' => 'Application add/edit page',
|
||||
'pluginsadmin_save' => 'Apply add/edit',
|
||||
'pluginsadmin_statusupdate' => 'Application status update',
|
||||
'pluginsadmin_delete' => 'Apply delete',
|
||||
'pluginsadmin_upload' => 'Application upload',
|
||||
'pluginsadmin_download' => 'Application packaging',
|
||||
'pluginsadmin_install' => 'Application installation',
|
||||
'pluginsadmin_uninstall' => 'Apps Uninstall',
|
||||
'pluginsadmin_sortsave' => 'Apply sort save',
|
||||
'store_index' => 'App store',
|
||||
'packageinstall_index' => 'Package installation page',
|
||||
'packageinstall_install' => 'Package installation',
|
||||
'packageupgrade_upgrade' => 'Package update',
|
||||
'pluginscategory_index' => 'Application category',
|
||||
'pluginscategory_save' => 'Add/edit application category',
|
||||
'pluginscategory_statusupdate' => 'Application category status update',
|
||||
'pluginscategory_delete' => 'Application category deletion',
|
||||
]
|
||||
],
|
||||
'tool_index' => [
|
||||
|
@ -27,7 +27,9 @@ return [
|
||||
'goods_hot_tips' => 'Solo se muestran los primeros 30 productos',
|
||||
'payment_name' => 'Método de pago',
|
||||
'order_region_name' => 'Distribución geográfica de los pedidos',
|
||||
'order_region_tips' => 'Solo se muestran 30 datos',
|
||||
'order_region_tips' => 'Solo se muestran 10 datos',
|
||||
'new_user_name' => 'Nuevos usuarios',
|
||||
'buy_user_name' => 'Usuarios que hacen pedidos',
|
||||
'upgrade_check_loading_tips' => 'Obteniendo el último contenido, por favor Espere...',
|
||||
'upgrade_version_name' => 'Versión actualizada:',
|
||||
'upgrade_date_name' => 'Fecha de actualización:',
|
||||
@ -55,6 +57,8 @@ return [
|
||||
'base_item_map_whole_country_province' => 'Provincias',
|
||||
'base_item_map_whole_country_city' => 'Ciudad',
|
||||
'base_item_map_whole_country_county' => 'Distrito / Condado',
|
||||
'base_item_new_user_title' => 'Nuevos usuarios',
|
||||
'base_item_buy_user_title' => 'Usuarios que hacen pedidos',
|
||||
'system_info_title' => 'Información del sistema',
|
||||
'system_ver_title' => 'Versión de software',
|
||||
'system_os_ver_title' => 'Sistema operativo',
|
||||
@ -145,7 +149,7 @@ return [
|
||||
'address_logo_message' => 'Por favor, suba la imagen del logotipo',
|
||||
],
|
||||
// 主导航
|
||||
'second_nav_list' => [
|
||||
'base_nav_list' => [
|
||||
['name' => 'Configuración básica', 'type' => 'base'],
|
||||
['name' => 'Configuración del sitio web', 'type' => 'siteset'],
|
||||
['name' => 'Tipo de sitio', 'type' => 'sitetype'],
|
||||
@ -164,7 +168,6 @@ return [
|
||||
['name' => 'Productos Básicos', 'type' => 'goods'],
|
||||
['name' => 'Buscar', 'type' => 'search'],
|
||||
['name' => 'Pedidos', 'type' => 'order'],
|
||||
['name' => 'Concesiones', 'type' => 'discount'],
|
||||
['name' => 'Expansión', 'type' => 'extends'],
|
||||
],
|
||||
// 页面基础
|
||||
@ -176,6 +179,7 @@ return [
|
||||
'base_item_data_cache_title' => 'Configuración de la caché de datos',
|
||||
'base_item_redis_cache_title' => 'Configuración de la caché redis',
|
||||
'base_item_crontab_config_title' => 'Configuración del guión de tiempo',
|
||||
'base_item_regex_config_title' => 'Configuración regular',
|
||||
'base_item_quick_nav_title' => 'Navegación rápida',
|
||||
'base_item_user_base_title' => 'Base de usuarios',
|
||||
'base_item_user_address_title' => 'Dirección del usuario',
|
||||
@ -225,7 +229,7 @@ return [
|
||||
'left_images_random_tips' => 'La imagen izquierda puede cargar hasta 3 imágenes y mostrar una de ellas al azar cada vez.',
|
||||
'background_color_tips' => 'Se puede personalizar la imagen de fondo, el gris de fondo predeterminado',
|
||||
'site_setup_layout_tips' => 'El modo de arrastre necesita ingresar a la página de diseño de la página de inicio por sí mismo. por favor, guarde la configuración seleccionada antes de hacerlo.',
|
||||
'site_setup_layout_button_name' => 'Ir a la página de diseño > "',
|
||||
'site_setup_layout_button_name' => 'Ir a la página de diseño',
|
||||
'site_setup_goods_category_tips' => 'Para más exhibición de pisos, por favor vaya primero / gestión de productos básicos - > clasificación de productos básicos, configuración de clasificación de primer nivel, recomendación de la página de inicio',
|
||||
'site_setup_goods_category_no_data_tips'=> 'No hay datos por el momento, por favor vaya primero / gestión de productos básicos - > clasificación de productos básicos, configuración de clasificación de primer nivel recomendación de la página de inicio',
|
||||
'site_setup_order_default_payment_tips' => 'Se puede configurar el método de pago predeterminado correspondiente a diferentes plataformas, primero instale el plug - in de pago en [gestión del sitio web - > método de pago] para habilitarlo y abrirlo a los usuarios.',
|
||||
@ -260,7 +264,7 @@ return [
|
||||
'admin_login_title' => 'Iniciar sesión en segundo plano',
|
||||
'admin_login_info_bg_images_list_tips' => [
|
||||
'1. la imagen de fondo se encuentra en el catálogo [público / estático / admin / default / images / login]',
|
||||
'2. reglas de nomenclatura de imágenes de fondo (1 a 50), como 1.jpg',
|
||||
'2. reglas de nomenclatura de imágenes de fondo (1 a 50), como 1.png',
|
||||
],
|
||||
'map_type_tips' => 'Debido a que los estándares de mapa de cada familia son diferentes, no cambie el mapa a voluntad, lo que dará lugar a coordenadas inexactas del mapa.',
|
||||
'apply_map_baidu_name' => 'Por favor, solicite en la plataforma abierta de mapas de baidu.',
|
||||
@ -490,7 +494,7 @@ return [
|
||||
],
|
||||
'nav_store_theme_name' => 'Descarga de más temas',
|
||||
'nav_theme_download_name' => 'Ver el tutorial de embalaje de applets',
|
||||
'nav_theme_download_tips' => 'El tema del teléfono móvil se desarrolla con una aplicación uniapp (admite applets multiterminales + h5), y la aplicación también se está adaptando de emergencia.',
|
||||
'nav_theme_download_tips' => 'El tema del teléfono móvil se desarrolla con una aplicación uniapp (admite applets multiterminales, h5, app)',
|
||||
'form_alipay_extend_title' => 'Configuración del servicio al cliente',
|
||||
'form_alipay_extend_tips' => 'Ps: si se abre en [app / applet] (se abre el servicio al cliente en línea), se deben rellenar las siguientes configuraciones [código corporativo] y [código de ventana de chat]',
|
||||
'form_theme_upload_tips' => 'Cargar un paquete de instalación en formato zip comprimido',
|
||||
@ -549,7 +553,8 @@ return [
|
||||
'base_nav_title' => 'Productos Básicos',
|
||||
'goods_nav_list' => [
|
||||
'base' => ['name' => 'Información básica', 'type'=>'base'],
|
||||
'specifications' => ['name' => 'Especificaciones del producto', 'type'=>'specifications'],
|
||||
'spec' => ['name' => 'Especificaciones del producto', 'type'=>'spec'],
|
||||
'spec_images' => ['name' => 'Imagen de las especificaciones', 'type'=>'spec_images'],
|
||||
'parameters' => ['name' => 'Parámetros de los productos básicos', 'type'=>'parameters'],
|
||||
'photo' => ['name' => 'Álbum de fotos de productos', 'type'=>'photo'],
|
||||
'video' => ['name' => 'Video de productos básicos', 'type'=>'video'],
|
||||
@ -842,8 +847,14 @@ return [
|
||||
|
||||
// 支付方式
|
||||
'payment' => [
|
||||
// 基础导航
|
||||
'base_nav_list' => [
|
||||
['name' => 'Instalado', 'type' => 0],
|
||||
['name' => 'No instalado', 'type' => 1],
|
||||
],
|
||||
'base_nav_title' => 'Método de pago',
|
||||
'nav_store_payment_name' => 'Descarga de más métodos de pago',
|
||||
'base_upload_payment_name' => 'Cargar pago',
|
||||
'base_nav_store_payment_name' => 'Descarga de más métodos de pago',
|
||||
'upload_top_list_tips' => [
|
||||
[
|
||||
'name' => '1. el nombre de la clase debe ser consistente con el nombre del archivo (eliminar. php), como alipay.php, Alipay',
|
||||
@ -892,7 +903,8 @@ return [
|
||||
['name' => 'Temas actuales', 'type' => 'index'],
|
||||
['name' => 'Instalación temática', 'type' => 'upload'],
|
||||
],
|
||||
'nav_store_theme_name' => 'Descarga de más temas',
|
||||
'base_upload_theme_name' => 'Subir Tema',
|
||||
'base_nav_store_theme_name' => 'Descarga de más temas',
|
||||
'list_author_title' => 'Autor',
|
||||
'list_version_title' => 'Versión aplicable',
|
||||
'form_theme_upload_tips' => 'Cargar un paquete de instalación de temas en formato zip comprimido',
|
||||
@ -1019,11 +1031,12 @@ return [
|
||||
['name' => 'Gestión de aplicaciones', 'type' => 'index'],
|
||||
['name' => 'Cargar aplicación', 'type' => 'upload'],
|
||||
],
|
||||
'base_upload_application_name' => 'Cargar aplicación',
|
||||
'base_nav_more_plugins_download_name' => 'Descarga de más plug - ins',
|
||||
// 基础页面
|
||||
'base_search_input_placeholder' => 'Introduzca el nombre / descripción',
|
||||
'base_top_tips_one' => 'Método de clasificación de lista [clasificación personalizada - > instalación más temprana]',
|
||||
'base_top_tips_two' => 'Se puede hacer clic en el botón arrastrar icono para ajustar el orden de llamada y visualización del plug - IN.',
|
||||
'base_top_tips_two' => 'Se puede hacer clic y arrastrar para ajustar el orden de llamada y exhibición del plug - IN.',
|
||||
'base_open_setup_title' => 'Activar configuración',
|
||||
'data_list_author_title' => 'Autor',
|
||||
'data_list_author_url_title' => 'Página principal',
|
||||
@ -1047,7 +1060,7 @@ return [
|
||||
|
||||
// 插件分类
|
||||
'pluginscategory' => [
|
||||
'base_nav_title' => 'Clasificación plugins',
|
||||
'base_nav_title' => 'Clasificación de aplicaciones',
|
||||
],
|
||||
|
||||
// 安装页面
|
||||
@ -1169,6 +1182,47 @@ return [
|
||||
],
|
||||
],
|
||||
|
||||
// 短信日志
|
||||
'smslog' => [
|
||||
// 动态表格
|
||||
'form_table' => [
|
||||
'platform' => 'sms platform',
|
||||
'status' => 'Estado',
|
||||
'mobile' => 'mobile',
|
||||
'template_value' => 'contenido de la plantilla',
|
||||
'template_var' => 'variables de plantilla',
|
||||
'sign_name' => 'firma de sms',
|
||||
'request_url' => 'Interfaz de solicitud',
|
||||
'request_params' => 'parámetros de solicitud',
|
||||
'response_data' => 'datos de respuesta',
|
||||
'reason' => 'causa del fracaso',
|
||||
'tsc' => 'tiempo(segundos)',
|
||||
'add_time' => 'añadir tiempo',
|
||||
'upd_time' => 'tiempo de actualización',
|
||||
],
|
||||
],
|
||||
|
||||
// 邮件日志
|
||||
'emaillog' => [
|
||||
// 动态表格
|
||||
'form_table' => [
|
||||
'email' => 'Buzón de recepción',
|
||||
'status' => 'Estado',
|
||||
'title' => 'Título del correo',
|
||||
'template_value' => 'Contenido del correo',
|
||||
'template_var' => 'Variables de correo',
|
||||
'reason' => 'causa del fracaso',
|
||||
'smtp_host' => 'Servidor SMTP',
|
||||
'smtp_port' => 'Puerto SMTP',
|
||||
'smtp_name' => 'Nombre de usuario del buzón',
|
||||
'smtp_account' => 'Correo del remitente',
|
||||
'smtp_send_name' => 'Nombre del remitente',
|
||||
'tsc' => 'tiempo(segundos)',
|
||||
'add_time' => 'añadir tiempo',
|
||||
'upd_time' => 'tiempo de actualización',
|
||||
],
|
||||
],
|
||||
|
||||
// sql控制台
|
||||
'sqlconsole' => [
|
||||
'top_tips' => 'Ps: los no desarrolladores no deben ejecutar ninguna instrucción SQL a voluntad, la operación puede causar la eliminación de toda la base de datos del sistema.',
|
||||
@ -1224,6 +1278,10 @@ return [
|
||||
'index_inspectupgradeconfirm' => 'Confirmación de la actualización del sistema',
|
||||
'index_stats' => 'Estadísticas de la página de inicio',
|
||||
'index_income' => 'Estadísticas de la página de inicio (estadísticas de ingresos)',
|
||||
'shortcutmenu_index' => 'Funciones comunes',
|
||||
'shortcutmenu_save' => 'Añadir / editar funciones comunes',
|
||||
'shortcutmenu_sort' => 'Clasificación de funciones comunes',
|
||||
'shortcutmenu_delete' => 'Eliminación de funciones comunes',
|
||||
]
|
||||
],
|
||||
'site_index' => [
|
||||
@ -1260,6 +1318,7 @@ return [
|
||||
'role_detail' => 'Detalles del personaje',
|
||||
'power_index' => 'Asignación de permisos',
|
||||
'power_save' => 'Permisos para agregar / editar',
|
||||
'power_statusupdate' => 'Actualización del Estado de permisos',
|
||||
'power_delete' => 'Eliminación de permisos',
|
||||
]
|
||||
],
|
||||
@ -1290,6 +1349,7 @@ return [
|
||||
'goods_detail' => 'Detalles del producto',
|
||||
'goodscategory_index' => 'Clasificación de mercancías',
|
||||
'goodscategory_save' => 'Añadir / editar clasificación de productos',
|
||||
'goodscategory_statusupdate' => 'Actualización del Estado de clasificación de mercancías',
|
||||
'goodscategory_delete' => 'Eliminación de la clasificación de mercancías',
|
||||
'goodsparamstemplate_index' => 'Parámetros de los productos básicos',
|
||||
'goodsparamstemplate_delete' => 'Eliminación de parámetros de productos básicos',
|
||||
@ -1376,6 +1436,7 @@ return [
|
||||
'screeningprice_delete' => 'Eliminar el precio del filtro',
|
||||
'region_index' => 'Gestión regional',
|
||||
'region_save' => 'Área añadir / editar',
|
||||
'region_statusupdate' => 'Actualización del Estado regional',
|
||||
'region_delete' => 'Área eliminada',
|
||||
'region_codedata' => 'Obtención de datos de numeración regional',
|
||||
'express_index' => 'Gestión de mensajería',
|
||||
@ -1496,26 +1557,32 @@ return [
|
||||
'refundlog_detail' => 'Detalles del registro de reembolso',
|
||||
'integrallog_index' => 'Registro de puntos',
|
||||
'integrallog_detail' => 'Detalles del registro de puntos',
|
||||
'smslog_index' => 'Registro de mensajes cortos',
|
||||
'smslog_detail' => 'Detalles del registro de mensajes cortos',
|
||||
]
|
||||
],
|
||||
'store_index' => [
|
||||
'name' => 'Centro de aplicaciones',
|
||||
'item' => [
|
||||
'pluginsadmin_index' => 'Gestión de aplicaciones',
|
||||
'plugins_index' => 'Gestión de llamadas de aplicaciones',
|
||||
'pluginsadmin_saveinfo' => 'Aplicación añadir / editar Página',
|
||||
'pluginsadmin_save' => 'Añadir / editar aplicación',
|
||||
'pluginsadmin_statusupdate' => 'Actualización del Estado de aplicación',
|
||||
'pluginsadmin_delete' => 'Eliminar aplicación',
|
||||
'pluginsadmin_upload' => 'Carga de la aplicación',
|
||||
'pluginsadmin_download' => 'Paquete de aplicaciones',
|
||||
'pluginsadmin_install' => 'Instalación de aplicaciones',
|
||||
'pluginsadmin_uninstall' => 'Desinstalación de aplicaciones',
|
||||
'pluginsadmin_sortsave' => 'Ordenar y guardar aplicaciones',
|
||||
'store_index' => 'Tienda de aplicaciones',
|
||||
'packageinstall_index' => 'Página de instalación de paquetes de software',
|
||||
'packageinstall_install' => 'Instalación de paquetes de software',
|
||||
'packageupgrade_upgrade' => 'Actualización de paquetes de software',
|
||||
'pluginsadmin_index' => 'Gestión de aplicaciones',
|
||||
'plugins_index' => 'Gestión de llamadas de aplicaciones',
|
||||
'pluginsadmin_saveinfo' => 'Aplicación añadir / editar Página',
|
||||
'pluginsadmin_save' => 'Añadir / editar aplicación',
|
||||
'pluginsadmin_statusupdate' => 'Actualización del Estado de aplicación',
|
||||
'pluginsadmin_delete' => 'Eliminar aplicación',
|
||||
'pluginsadmin_upload' => 'Carga de la aplicación',
|
||||
'pluginsadmin_download' => 'Paquete de aplicaciones',
|
||||
'pluginsadmin_install' => 'Instalación de aplicaciones',
|
||||
'pluginsadmin_uninstall' => 'Desinstalación de aplicaciones',
|
||||
'pluginsadmin_sortsave' => 'Ordenar y guardar aplicaciones',
|
||||
'store_index' => 'Tienda de aplicaciones',
|
||||
'packageinstall_index' => 'Página de instalación de paquetes de software',
|
||||
'packageinstall_install' => 'Instalación de paquetes de software',
|
||||
'packageupgrade_upgrade' => 'Actualización de paquetes de software',
|
||||
'pluginscategory_index' => 'Clasificación de aplicaciones',
|
||||
'pluginscategory_save' => 'Añadir / editar clasificación de aplicaciones',
|
||||
'pluginscategory_statusupdate' => 'Actualización del Estado de clasificación de la aplicación',
|
||||
'pluginscategory_delete' => 'Eliminar la clasificación de la aplicación',
|
||||
]
|
||||
],
|
||||
'tool_index' => [
|
||||
|
@ -21,13 +21,15 @@ return [
|
||||
'index' => [
|
||||
// 页面公共
|
||||
'page_common' => [
|
||||
'order_transaction_amount_name' => '订单成交金额走势',
|
||||
'order_trading_trend_name' => '订单交易走势',
|
||||
'order_transaction_amount_name' => '订单成交金额',
|
||||
'order_trading_trend_name' => '订单交易',
|
||||
'goods_hot_name' => '热销商品',
|
||||
'goods_hot_tips' => '仅显示前30条商品',
|
||||
'payment_name' => '支付方式',
|
||||
'order_region_name' => '订单地域分布',
|
||||
'order_region_tips' => '仅显示30条数据',
|
||||
'order_region_tips' => '仅显示10条数据',
|
||||
'new_user_name' => '新增用户',
|
||||
'buy_user_name' => '下单用户',
|
||||
'upgrade_check_loading_tips' => '正在获取最新内容、请稍候...',
|
||||
'upgrade_version_name' => '更新版本:',
|
||||
'upgrade_date_name' => '更新日期:',
|
||||
@ -44,8 +46,8 @@ return [
|
||||
'base_item_same_month_title' => '当月',
|
||||
'base_item_yesterday_title' => '昨日',
|
||||
'base_item_today_title' => '今日',
|
||||
'base_item_order_profit_title' => '订单成交金额走势',
|
||||
'base_item_order_trading_title' => '订单交易走势',
|
||||
'base_item_order_profit_title' => '订单成交金额',
|
||||
'base_item_order_trading_title' => '订单交易',
|
||||
'base_item_order_tips' => '所有订单',
|
||||
'base_item_hot_sales_goods_title' => '热销商品',
|
||||
'base_item_hot_sales_goods_tips' => '不含取消关闭的订单',
|
||||
@ -55,6 +57,8 @@ return [
|
||||
'base_item_map_whole_country_province' => '省',
|
||||
'base_item_map_whole_country_city' => '市',
|
||||
'base_item_map_whole_country_county' => '区/县',
|
||||
'base_item_new_user_title' => '新增用户',
|
||||
'base_item_buy_user_title' => '下单用户',
|
||||
'system_info_title' => '系统信息',
|
||||
'system_ver_title' => '软件版本',
|
||||
'system_os_ver_title' => '操作系统',
|
||||
@ -145,7 +149,7 @@ return [
|
||||
'address_logo_message' => '请上传logo图片',
|
||||
],
|
||||
// 主导航
|
||||
'second_nav_list' => [
|
||||
'base_nav_list' => [
|
||||
['name' => '基础配置', 'type' => 'base'],
|
||||
['name' => '网站设置', 'type' => 'siteset'],
|
||||
['name' => '站点类型', 'type' => 'sitetype'],
|
||||
@ -164,7 +168,6 @@ return [
|
||||
['name' => '商品', 'type' => 'goods'],
|
||||
['name' => '搜索', 'type' => 'search'],
|
||||
['name' => '订单', 'type' => 'order'],
|
||||
['name' => '优惠', 'type' => 'discount'],
|
||||
['name' => '扩展', 'type' => 'extends'],
|
||||
],
|
||||
// 页面基础
|
||||
@ -176,6 +179,7 @@ return [
|
||||
'base_item_data_cache_title' => '数据缓存配置',
|
||||
'base_item_redis_cache_title' => 'redis缓存配置',
|
||||
'base_item_crontab_config_title' => '定时脚本配置',
|
||||
'base_item_regex_config_title' => '正则配置',
|
||||
'base_item_quick_nav_title' => '快捷导航',
|
||||
'base_item_user_base_title' => '用户基础',
|
||||
'base_item_user_address_title' => '用户地址',
|
||||
@ -225,7 +229,7 @@ return [
|
||||
'left_images_random_tips' => '左侧图片最多可上传3张图片、每次随机展示其中一张',
|
||||
'background_color_tips' => '可自定义背景图片、默认底灰色',
|
||||
'site_setup_layout_tips' => '拖拽模式需要自行进入首页设计页面、请先保存选中配置后再',
|
||||
'site_setup_layout_button_name' => '去设计页面 >>',
|
||||
'site_setup_layout_button_name' => '设计页面',
|
||||
'site_setup_goods_category_tips' => '如需更多楼层展示,请先到 / 商品管理->商品分类、一级分类设置首页推荐',
|
||||
'site_setup_goods_category_no_data_tips'=> '暂无数据,请先到 / 商品管理->商品分类、一级分类设置首页推荐',
|
||||
'site_setup_order_default_payment_tips' => '可以设置不同平台对应的默认支付方式、请先在[ 网站管理 -> 支付方式 ]中安装好支付插件启用并对用户开放',
|
||||
@ -260,7 +264,7 @@ return [
|
||||
'admin_login_title' => '后台登录',
|
||||
'admin_login_info_bg_images_list_tips' => [
|
||||
'1. 背景图片位于[ public/static/admin/default/images/login ]目录下',
|
||||
'2. 背景图片命名规则(1~50)、如 1.jpg',
|
||||
'2. 背景图片命名规则(1~50)、如 1.png',
|
||||
],
|
||||
'map_type_tips' => '由于每一家的地图标准不一样、请勿随意切换地图、会导致地图坐标标注不准确的情况。',
|
||||
'apply_map_baidu_name' => '请到百度地图开放平台申请',
|
||||
@ -427,6 +431,7 @@ return [
|
||||
'login_type_mobile_title' => '手机验证码',
|
||||
'login_type_email_title' => '邮箱验证码',
|
||||
'login_close_tips' => '暂时关闭了登录',
|
||||
'login_welcome_title' => '欢迎登录',
|
||||
// 忘记密码
|
||||
'form_forget_password_name' => '忘记密码?',
|
||||
'form_forget_password_tips' => '请联系管理员重置密码',
|
||||
@ -490,7 +495,7 @@ return [
|
||||
],
|
||||
'nav_store_theme_name' => '更多主题下载',
|
||||
'nav_theme_download_name' => '查看小程序打包教程',
|
||||
'nav_theme_download_tips' => '手机端主题采用uniapp开发(支持多端小程序+H5),APP也在紧急适配中。',
|
||||
'nav_theme_download_tips' => '手机端主题采用uniapp开发(支持多端小程序、H5、APP)',
|
||||
'form_alipay_extend_title' => '客服配置',
|
||||
'form_alipay_extend_tips' => 'PS:如【APP/小程序】中开启(开启在线客服),则以下配置必填 [企业编码] 和 [聊天窗编码]',
|
||||
'form_theme_upload_tips' => '上传一个zip压缩格式的安装包',
|
||||
@ -549,7 +554,8 @@ return [
|
||||
'base_nav_title' => '商品',
|
||||
'goods_nav_list' => [
|
||||
'base' => ['name' => '基础信息', 'type'=>'base'],
|
||||
'specifications' => ['name' => '商品规格', 'type'=>'specifications'],
|
||||
'spec' => ['name' => '商品规格', 'type'=>'spec'],
|
||||
'spec_images' => ['name' => '规格图片', 'type'=>'spec_images'],
|
||||
'parameters' => ['name' => '商品参数', 'type'=>'parameters'],
|
||||
'photo' => ['name' => '商品相册', 'type'=>'photo'],
|
||||
'video' => ['name' => '商品视频', 'type'=>'video'],
|
||||
@ -568,8 +574,8 @@ return [
|
||||
'info_placeholder' => '请输入商品名称/简述/编码/条码/SEO信息',
|
||||
'category_text' => '商品分类',
|
||||
'brand_name' => '品牌',
|
||||
'price' => '销售价格(元)',
|
||||
'original_price' => '原价(元)',
|
||||
'price' => '销售价格',
|
||||
'original_price' => '原价',
|
||||
'inventory' => '库存总量',
|
||||
'is_shelves' => '上下架',
|
||||
'is_deduction_inventory' => '扣减库存',
|
||||
@ -649,8 +655,8 @@ return [
|
||||
'user_placeholder' => '请输入用户名/昵称/手机/邮箱',
|
||||
'goods' => '商品信息',
|
||||
'goods_placeholder' => '请输入商品名称/简述/SEO信息',
|
||||
'price' => '销售价格(元)',
|
||||
'original_price' => '原价(元)',
|
||||
'price' => '销售价格',
|
||||
'original_price' => '原价',
|
||||
'add_time' => '创建时间',
|
||||
],
|
||||
],
|
||||
@ -663,8 +669,8 @@ return [
|
||||
'user_placeholder' => '请输入用户名/昵称/手机/邮箱',
|
||||
'goods' => '商品信息',
|
||||
'goods_placeholder' => '请输入商品名称/简述/SEO信息',
|
||||
'price' => '销售价格(元)',
|
||||
'original_price' => '原价(元)',
|
||||
'price' => '销售价格',
|
||||
'original_price' => '原价',
|
||||
'add_time' => '创建时间',
|
||||
],
|
||||
],
|
||||
@ -677,8 +683,8 @@ return [
|
||||
'user_placeholder' => '请输入用户名/昵称/手机/邮箱',
|
||||
'goods' => '商品信息',
|
||||
'goods_placeholder' => '请输入商品名称/简述/SEO信息',
|
||||
'price' => '销售价格(元)',
|
||||
'original_price' => '原价(元)',
|
||||
'price' => '销售价格',
|
||||
'original_price' => '原价',
|
||||
'add_time' => '创建时间',
|
||||
],
|
||||
],
|
||||
@ -772,19 +778,19 @@ return [
|
||||
'user_placeholder' => '请输入用户名/昵称/手机/邮箱',
|
||||
'status' => '订单状态',
|
||||
'pay_status' => '支付状态',
|
||||
'total_price' => '总价(元)',
|
||||
'pay_price' => '支付金额(元)',
|
||||
'price' => '单价(元)',
|
||||
'total_price' => '总价',
|
||||
'pay_price' => '支付金额',
|
||||
'price' => '单价',
|
||||
'warehouse_name' => '出货仓库',
|
||||
'order_model' => '订单模式',
|
||||
'client_type' => '来源',
|
||||
'address' => '地址信息',
|
||||
'take' => '取货信息',
|
||||
'refund_price' => '退款金额(元)',
|
||||
'refund_price' => '退款金额',
|
||||
'returned_quantity' => '退货数量',
|
||||
'buy_number_count' => '购买总数',
|
||||
'increase_price' => '增加金额(元)',
|
||||
'preferential_price' => '优惠金额(元)',
|
||||
'increase_price' => '增加金额',
|
||||
'preferential_price' => '优惠金额',
|
||||
'payment_name' => '支付方式',
|
||||
'user_note' => '用户备注',
|
||||
'extension' => '扩展信息',
|
||||
@ -823,7 +829,7 @@ return [
|
||||
'status' => '状态',
|
||||
'type' => '申请类型',
|
||||
'reason' => '原因',
|
||||
'price' => '退款金额(元)',
|
||||
'price' => '退款金额',
|
||||
'number' => '退货数量',
|
||||
'msg' => '退款说明',
|
||||
'refundment' => '退款类型',
|
||||
@ -842,8 +848,14 @@ return [
|
||||
|
||||
// 支付方式
|
||||
'payment' => [
|
||||
// 基础导航
|
||||
'base_nav_list' => [
|
||||
['name' => '已安装', 'type' => 0],
|
||||
['name' => '未安装', 'type' => 1],
|
||||
],
|
||||
'base_nav_title' => '支付方式',
|
||||
'nav_store_payment_name' => '更多支付方式下载',
|
||||
'base_upload_payment_name' => '上传支付',
|
||||
'base_nav_store_payment_name' => '更多支付方式下载',
|
||||
'upload_top_list_tips' => [
|
||||
[
|
||||
'name' => '1. 类名必须于文件名一致(去除 .php ),如 Alipay.php 则取 Alipay',
|
||||
@ -892,7 +904,8 @@ return [
|
||||
['name' => '当前主题', 'type' => 'index'],
|
||||
['name' => '主题安装', 'type' => 'upload'],
|
||||
],
|
||||
'nav_store_theme_name' => '更多主题下载',
|
||||
'base_upload_theme_name' => '上传主题',
|
||||
'base_nav_store_theme_name' => '更多主题下载',
|
||||
'list_author_title' => '作者',
|
||||
'list_version_title' => '适用版本',
|
||||
'form_theme_upload_tips' => '上传一个zip压缩格式的主题安装包',
|
||||
@ -945,8 +958,8 @@ return [
|
||||
'log_no' => '支付单号',
|
||||
'payment' => '支付方式',
|
||||
'status' => '状态',
|
||||
'total_price' => '业务订单金额(元)',
|
||||
'pay_price' => '支付金额(元)',
|
||||
'total_price' => '业务订单金额',
|
||||
'pay_price' => '支付金额',
|
||||
'business_type' => '业务类型',
|
||||
'business_list' => '业务id/单号',
|
||||
'trade_no' => '支付平台交易号',
|
||||
@ -1019,11 +1032,12 @@ return [
|
||||
['name' => '应用管理', 'type' => 'index'],
|
||||
['name' => '上传应用', 'type' => 'upload'],
|
||||
],
|
||||
'base_upload_application_name' => '上传应用',
|
||||
'base_nav_more_plugins_download_name' => '更多插件下载',
|
||||
// 基础页面
|
||||
'base_search_input_placeholder' => '请输入名称/描述',
|
||||
'base_top_tips_one' => '列表排序方式[ 自定义排序 -> 最早安装 ]',
|
||||
'base_top_tips_two' => '可点击拖动图标按钮调整插件调用和展示顺序',
|
||||
'base_top_tips_two' => '可点击拖动调整插件调用和展示顺序',
|
||||
'base_open_setup_title' => '开启设置',
|
||||
'data_list_author_title' => '作者',
|
||||
'data_list_author_url_title' => '主页',
|
||||
@ -1047,7 +1061,7 @@ return [
|
||||
|
||||
// 插件分类
|
||||
'pluginscategory' => [
|
||||
'base_nav_title' => '插件分类',
|
||||
'base_nav_title' => '应用分类',
|
||||
],
|
||||
|
||||
// 安装页面
|
||||
@ -1169,6 +1183,47 @@ return [
|
||||
],
|
||||
],
|
||||
|
||||
// 短信日志
|
||||
'smslog' => [
|
||||
// 动态表格
|
||||
'form_table' => [
|
||||
'platform' => '短信平台',
|
||||
'status' => '状态',
|
||||
'mobile' => '手机',
|
||||
'template_value' => '模板内容',
|
||||
'template_var' => '模板变量',
|
||||
'sign_name' => '短信签名',
|
||||
'request_url' => '请求接口',
|
||||
'request_params' => '请求参数',
|
||||
'response_data' => '响应数据',
|
||||
'reason' => '失败原因',
|
||||
'tsc' => '耗时(秒)',
|
||||
'add_time' => '添加时间',
|
||||
'upd_time' => '更新时间',
|
||||
],
|
||||
],
|
||||
|
||||
// 邮件日志
|
||||
'emaillog' => [
|
||||
// 动态表格
|
||||
'form_table' => [
|
||||
'email' => '收件邮箱',
|
||||
'status' => '状态',
|
||||
'title' => '邮件标题',
|
||||
'template_value' => '邮件内容',
|
||||
'template_var' => '邮件变量',
|
||||
'reason' => '失败原因',
|
||||
'smtp_host' => 'SMTP服务器',
|
||||
'smtp_port' => 'SMTP端口',
|
||||
'smtp_name' => '邮箱用户名',
|
||||
'smtp_account' => '发信人邮件',
|
||||
'smtp_send_name' => '发件人姓名',
|
||||
'tsc' => '耗时(秒)',
|
||||
'add_time' => '添加时间',
|
||||
'upd_time' => '更新时间',
|
||||
],
|
||||
],
|
||||
|
||||
// sql控制台
|
||||
'sqlconsole' => [
|
||||
'top_tips' => 'PS:非开发人员请不要随意执行任何SQL语句,操作可能导致将整个系统数据库被删除。',
|
||||
@ -1214,7 +1269,7 @@ return [
|
||||
// 后台权限菜单
|
||||
'admin_power_menu_list' => [
|
||||
'config_index' => [
|
||||
'name' => '系统设置',
|
||||
'name' => '系统',
|
||||
'item' => [
|
||||
'config_index' => '系统配置',
|
||||
'config_store' => '商店信息',
|
||||
@ -1224,10 +1279,14 @@ return [
|
||||
'index_inspectupgradeconfirm' => '系统更新确认',
|
||||
'index_stats' => '首页统计数据',
|
||||
'index_income' => '首页统计数据(收入统计)',
|
||||
'shortcutmenu_index' => '常用功能',
|
||||
'shortcutmenu_save' => '常用功能添加/编辑',
|
||||
'shortcutmenu_sort' => '常用功能排序',
|
||||
'shortcutmenu_delete' => '常用功能删除',
|
||||
]
|
||||
],
|
||||
'site_index' => [
|
||||
'name' => '站点配置',
|
||||
'name' => '站点',
|
||||
'item' => [
|
||||
'site_index' => '站点设置',
|
||||
'site_save' => '站点设置编辑',
|
||||
@ -1245,7 +1304,7 @@ return [
|
||||
]
|
||||
],
|
||||
'power_index' => [
|
||||
'name' => '权限控制',
|
||||
'name' => '权限',
|
||||
'item' => [
|
||||
'admin_index' => '管理员列表',
|
||||
'admin_saveinfo' => '管理员添加/编辑页面',
|
||||
@ -1260,11 +1319,12 @@ return [
|
||||
'role_detail' => '角色详情',
|
||||
'power_index' => '权限分配',
|
||||
'power_save' => '权限添加/编辑',
|
||||
'power_statusupdate' => '权限状态更新',
|
||||
'power_delete' => '权限删除',
|
||||
]
|
||||
],
|
||||
'user_index' => [
|
||||
'name' => '用户管理',
|
||||
'name' => '用户',
|
||||
'item' => [
|
||||
'user_index' => '用户列表',
|
||||
'user_saveinfo' => '用户编辑/添加页面',
|
||||
@ -1279,7 +1339,7 @@ return [
|
||||
]
|
||||
],
|
||||
'goods_index' => [
|
||||
'name' => '商品管理',
|
||||
'name' => '商品',
|
||||
'item' => [
|
||||
'goods_index' => '商品管理',
|
||||
'goods_saveinfo' => '商品添加/编辑页面',
|
||||
@ -1290,6 +1350,7 @@ return [
|
||||
'goods_detail' => '商品详情',
|
||||
'goodscategory_index' => '商品分类',
|
||||
'goodscategory_save' => '商品分类添加/编辑',
|
||||
'goodscategory_statusupdate' => '商品分类状态更新',
|
||||
'goodscategory_delete' => '商品分类删除',
|
||||
'goodsparamstemplate_index' => '商品参数',
|
||||
'goodsparamstemplate_delete' => '商品参数删除',
|
||||
@ -1322,7 +1383,7 @@ return [
|
||||
]
|
||||
],
|
||||
'order_index' => [
|
||||
'name' => '订单管理',
|
||||
'name' => '订单',
|
||||
'item' => [
|
||||
'order_index' => '订单管理',
|
||||
'order_delete' => '订单删除',
|
||||
@ -1342,7 +1403,7 @@ return [
|
||||
]
|
||||
],
|
||||
'navigation_index' => [
|
||||
'name' => '网站管理',
|
||||
'name' => '网站',
|
||||
'item' => [
|
||||
'navigation_index' => '导航管理',
|
||||
'navigation_save' => '导航添加/编辑',
|
||||
@ -1376,6 +1437,7 @@ return [
|
||||
'screeningprice_delete' => '筛选价格删除',
|
||||
'region_index' => '地区管理',
|
||||
'region_save' => '地区添加/编辑',
|
||||
'region_statusupdate' => '地区状态更新',
|
||||
'region_delete' => '地区删除',
|
||||
'region_codedata' => '获取地区编号数据',
|
||||
'express_index' => '快递管理',
|
||||
@ -1406,7 +1468,7 @@ return [
|
||||
]
|
||||
],
|
||||
'brand_index' => [
|
||||
'name' => '品牌管理',
|
||||
'name' => '品牌',
|
||||
'item' => [
|
||||
'brand_index' => '品牌管理',
|
||||
'brand_saveinfo' => '品牌添加/编辑页面',
|
||||
@ -1420,7 +1482,7 @@ return [
|
||||
]
|
||||
],
|
||||
'warehouse_index' => [
|
||||
'name' => '仓库管理',
|
||||
'name' => '仓库',
|
||||
'item' => [
|
||||
'warehouse_index' => '仓库管理',
|
||||
'warehouse_saveinfo' => '仓库添加/编辑页面',
|
||||
@ -1440,7 +1502,7 @@ return [
|
||||
]
|
||||
],
|
||||
'app_index' => [
|
||||
'name' => '手机管理',
|
||||
'name' => '手机',
|
||||
'item' => [
|
||||
'appconfig_index' => '基础配置',
|
||||
'appconfig_save' => '基础配置保存',
|
||||
@ -1468,7 +1530,7 @@ return [
|
||||
]
|
||||
],
|
||||
'article_index' => [
|
||||
'name' => '文章管理',
|
||||
'name' => '文章',
|
||||
'item' => [
|
||||
'article_index' => '文章管理',
|
||||
'article_saveinfo' => '文章添加/编辑页面',
|
||||
@ -1482,7 +1544,7 @@ return [
|
||||
]
|
||||
],
|
||||
'data_index' => [
|
||||
'name' => '数据管理',
|
||||
'name' => '数据',
|
||||
'item' => [
|
||||
'message_index' => '消息管理',
|
||||
'message_delete' => '消息删除',
|
||||
@ -1496,26 +1558,32 @@ return [
|
||||
'refundlog_detail' => '退款日志详情',
|
||||
'integrallog_index' => '积分日志',
|
||||
'integrallog_detail' => '积分日志详情',
|
||||
'smslog_index' => '短信日志',
|
||||
'smslog_detail' => '短信日志详情',
|
||||
]
|
||||
],
|
||||
'store_index' => [
|
||||
'name' => '应用中心',
|
||||
'name' => '应用',
|
||||
'item' => [
|
||||
'pluginsadmin_index' => '应用管理',
|
||||
'plugins_index' => '应用调用管理',
|
||||
'pluginsadmin_saveinfo' => '应用添加/编辑页面',
|
||||
'pluginsadmin_save' => '应用添加/编辑',
|
||||
'pluginsadmin_statusupdate' => '应用状态更新',
|
||||
'pluginsadmin_delete' => '应用删除',
|
||||
'pluginsadmin_upload' => '应用上传',
|
||||
'pluginsadmin_download' => '应用打包',
|
||||
'pluginsadmin_install' => '应用安装',
|
||||
'pluginsadmin_uninstall' => '应用卸载',
|
||||
'pluginsadmin_sortsave' => '应用排序保存',
|
||||
'store_index' => '应用商店',
|
||||
'packageinstall_index' => '软件包安装页面',
|
||||
'packageinstall_install' => '软件包安装',
|
||||
'packageupgrade_upgrade' => '软件包更新',
|
||||
'pluginsadmin_index' => '应用管理',
|
||||
'plugins_index' => '应用调用管理',
|
||||
'pluginsadmin_saveinfo' => '应用添加/编辑页面',
|
||||
'pluginsadmin_save' => '应用添加/编辑',
|
||||
'pluginsadmin_statusupdate' => '应用状态更新',
|
||||
'pluginsadmin_delete' => '应用删除',
|
||||
'pluginsadmin_upload' => '应用上传',
|
||||
'pluginsadmin_download' => '应用打包',
|
||||
'pluginsadmin_install' => '应用安装',
|
||||
'pluginsadmin_uninstall' => '应用卸载',
|
||||
'pluginsadmin_sortsave' => '应用排序保存',
|
||||
'store_index' => '应用商店',
|
||||
'packageinstall_index' => '软件包安装页面',
|
||||
'packageinstall_install' => '软件包安装',
|
||||
'packageupgrade_upgrade' => '软件包更新',
|
||||
'pluginscategory_index' => '应用分类',
|
||||
'pluginscategory_save' => '应用分类添加/编辑',
|
||||
'pluginscategory_statusupdate' => '应用分类状态更新',
|
||||
'pluginscategory_delete' => '应用分类删除',
|
||||
]
|
||||
],
|
||||
'tool_index' => [
|
||||
|
@ -3,7 +3,10 @@
|
||||
|
||||
<!-- 表单顶部操作栏 -->
|
||||
{{block name="form_operate_top"}}
|
||||
<a href="{{:MyUrl('admin/admin/saveinfo')}}" class="am-btn am-btn-secondary am-radius am-btn-xs am-icon-plus"> {{:MyLang('add_title')}}</a>
|
||||
<a href="{{:MyUrl('admin/admin/saveinfo')}}" class="am-btn am-btn-primary am-radius am-btn-xs">
|
||||
<i class="iconfont icon-btn-add am-show-sm-only"></i>
|
||||
<span class="am-hide-sm-only">{{:MyLang('add_title')}}</span>
|
||||
</a>
|
||||
<!-- 父级内容 -->
|
||||
{__block__}
|
||||
{{/block}}
|
||||
@ -11,8 +14,7 @@
|
||||
<!-- 底部提示信息 -->
|
||||
{{block name="form_operate_bottom"}}
|
||||
{{if isset($admin) and isset($admin['id']) and $admin['id'] eq 1 and is_array(MyLang('admin.top_tips_list'))}}
|
||||
<!-- 仅超级管理员显示的温馨提示 -->
|
||||
<div class="am-alert am-alert-danger">
|
||||
<div class="am-tips-card">
|
||||
<p>{{:implode('</p><p>', MyLang('admin.top_tips_list'))}}</p>
|
||||
</div>
|
||||
{{/if}}
|
||||
|
@ -2,132 +2,139 @@
|
||||
|
||||
<!-- content start -->
|
||||
<div class="account-pages">
|
||||
<div class="wrapper-page">
|
||||
<div class="am-text-center">
|
||||
<span class="logo">{{$admin_theme_site_name}}</span>
|
||||
</div>
|
||||
<div class="am-margin-top-lg am-nbfc admin-login">
|
||||
{{if count($admin_login_type) gt 0}}
|
||||
<div data-am-widget="tabs" class="am-tabs am-tabs-d2 am-margin-0" data-am-tabs="{noSwipe: 1}">
|
||||
{{if count($admin_login_type) gt 1}}
|
||||
<ul class="am-tabs-nav am-cf">
|
||||
{{if in_array('username', $admin_login_type)}}
|
||||
<li class="am-active"><a href="[data-tab-panel-0]">{{:MyLang('admin.login_type_username_title')}}</a></li>
|
||||
{{/if}}
|
||||
{{if in_array('sms', $admin_login_type)}}
|
||||
<li class="{{if !in_array('username', $admin_login_type) and !in_array('email', $admin_login_type)}}am-active{{/if}}"><a href="[data-tab-panel-1]">{{:MyLang('admin.login_type_mobile_title')}}</a></li>
|
||||
{{/if}}
|
||||
{{if in_array('email', $admin_login_type)}}
|
||||
<li class="{{if !in_array('username', $admin_login_type)}}am-active{{/if}}"><a href="[data-tab-panel-2]">{{:MyLang('admin.login_type_email_title')}}</a></li>
|
||||
{{/if}}
|
||||
</ul>
|
||||
<div class="wrapper-page {{if empty($admin_login_ad_images)}}not-login-ad-images{{/if}}">
|
||||
<div class="wrapper-page-content am-flex am-flex-justify-between">
|
||||
{{if !empty($admin_login_ad_images)}}
|
||||
<div class="wrapper-page-left am-flex-1 am-flex-width" style="background-image: url({{$admin_login_ad_images}});">
|
||||
{{if !empty($admin_login_logo)}}
|
||||
<img src="{{$admin_login_logo}}" width="154" />
|
||||
{{/if}}
|
||||
</div>
|
||||
{{/if}}
|
||||
<div class="wrapper-page-right admin-login am-flex am-flex-col am-flex-items-center">
|
||||
{{if count($admin_login_type) gt 0}}
|
||||
{{if count($admin_login_type) eq 1}}
|
||||
<div class="am-flex am-flex-col am-flex-items-center">
|
||||
<p class="am-text-xl am-font-weight am-margin-bottom-xs">{{:MyLang('admin.login_welcome_title')}}</p>
|
||||
<p class="am-text-lg cr-666">{{:MyLang('common.admin_browser_title')}}</p>
|
||||
</div>
|
||||
{{else /}}
|
||||
<img src="{{$admin_login_logo}}" width="154" class="am-show-sm-only" />
|
||||
{{/if}}
|
||||
<div class="am-tabs-bd am-padding-bottom-sm">
|
||||
{{if in_array('username', $admin_login_type)}}
|
||||
<div data-tab-panel-0 class="am-tab-panel am-active">
|
||||
<!-- form start -->
|
||||
<form class="am-form form-validation-username" method="post" action="{{:MyUrl('admin/admin/login')}}" request-type="ajax-url" request-value="{{:MyUrl('admin/index/index')}}">
|
||||
<div class="am-form-group am-form-group-refreshing">
|
||||
<label>{{:MyLang('common_service.admin.form_item_username')}}</label>
|
||||
<input type="text" name="accounts" class="am-radius" placeholder="{{:MyLang('common_service.admin.form_item_username_placeholder')}}" pattern="{{:MyConst('common_regex_username')}}" data-validation-message="{{:MyLang('common_service.admin.form_item_username_message')}}" autocomplete="off" data-is-clearout="0" required />
|
||||
</div>
|
||||
|
||||
<div class="am-form-group am-form-group-refreshing business-form-block am-margin-top-xs">
|
||||
<label>{{:MyLang('common_service.admin.form_item_password')}}</label>
|
||||
<div class="am-input-group am-input-group-sm">
|
||||
<input type="password" name="pwd" class="am-radius" placeholder="{{:MyLang('common_service.admin.form_item_password_placeholder')}}" pattern="{{:MyConst('common_regex_pwd')}}" data-validation-message="{{:MyLang('common_service.admin.form_item_password_message')}}" autocomplete="off" data-is-clearout="0" required />
|
||||
<span class="am-input-group-btn">
|
||||
<button class="am-btn am-btn-default am-radius am-icon-eye eye-submit" type="button"></button>
|
||||
</span>
|
||||
<div data-am-widget="tabs" class="am-tabs am-tabs-border am-margin-bottom-0 am-margin-left-0 am-margin-right-0" data-am-tabs="{noSwipe: 1}">
|
||||
{{if count($admin_login_type) gt 1}}
|
||||
<ul class="am-tabs-nav am-nav am-nav-tabs">
|
||||
{{if in_array('username', $admin_login_type)}}
|
||||
<li class="am-active"><a href="[data-tab-panel-0]">{{:MyLang('admin.login_type_username_title')}}</a></li>
|
||||
{{/if}}
|
||||
{{if in_array('sms', $admin_login_type)}}
|
||||
<li class="{{if !in_array('username', $admin_login_type) and !in_array('email', $admin_login_type)}}am-active{{/if}}"><a href="[data-tab-panel-1]">{{:MyLang('admin.login_type_mobile_title')}}</a></li>
|
||||
{{/if}}
|
||||
{{if in_array('email', $admin_login_type)}}
|
||||
<li class="{{if !in_array('username', $admin_login_type)}}am-active{{/if}}"><a href="[data-tab-panel-2]">{{:MyLang('admin.login_type_email_title')}}</a></li>
|
||||
{{/if}}
|
||||
</ul>
|
||||
{{/if}}
|
||||
<div class="am-tabs-bd">
|
||||
{{if in_array('username', $admin_login_type)}}
|
||||
<div data-tab-panel-0 class="am-tab-panel am-active">
|
||||
<!-- form start -->
|
||||
<form class="am-form form-validation-username" method="post" action="{{:MyUrl('admin/admin/login')}}" request-type="ajax-url" request-value="{{:MyUrl('admin/index/index')}}">
|
||||
<div class="am-form-group am-form-group-refreshing">
|
||||
<input type="text" name="accounts" class="am-radius" placeholder="{{:MyLang('common_service.admin.form_item_username_placeholder')}}" pattern="{{:MyConst('common_regex_username')}}" data-validation-message="{{:MyLang('common_service.admin.form_item_username_message')}}" autocomplete="off" data-is-clearout="0" required />
|
||||
</div>
|
||||
</div>
|
||||
|
||||
{{if MyC('admin_login_img_verify_state') eq 1}}
|
||||
<div class="am-form-group am-form-group-refreshing business-form-block am-margin-top-xs">
|
||||
<label>{{:MyLang('form_verify_title')}}</label>
|
||||
<div class="am-input-group am-input-group-sm">
|
||||
<input type="text" name="verify" class="am-radius" placeholder="{{:MyLang('form_verify_placeholder')}}" minlength="4" maxlength="4" data-validation-message="{{:MyLang('form_images_verify_message')}}" autocomplete="off" data-is-clearout="0" required />
|
||||
<span class="am-input-group-btn">
|
||||
<span class="am-btn am-btn-default am-radius am-padding-0 form-verify">
|
||||
<img src="{{:MyUrl('admin/admin/adminverifyentry')}}" class="am-radius c-p" id="form-verify-img" onClick="this.src=this.src+'&'+Math.random();" />
|
||||
<a href="javascript:;" class="form-verify-tips" onClick="document.getElementById('form-verify-img').src='{{:MyUrl('admin/admin/adminverifyentry')}}&'+Math.random();">{{:MyLang('form_images_verify_button_text')}}</a>
|
||||
</span>
|
||||
|
||||
<div class="am-form-group am-form-group-refreshing">
|
||||
<div class="am-form-group am-input-material">
|
||||
<input type="password" name="pwd" class="am-radius eye" placeholder="{{:MyLang('common_service.admin.form_item_password_placeholder')}}" pattern="{{:MyConst('common_regex_pwd')}}" data-validation-message="{{:MyLang('common_service.admin.form_item_password_message')}}" autocomplete="off" data-is-clearout="0" required />
|
||||
<span class="am-input-group-btn eye">
|
||||
<button class="am-btn am-btn-default am-radius am-icon-eye eye-submit" type="button"></button>
|
||||
</span>
|
||||
</div>
|
||||
</div>
|
||||
{{/if}}
|
||||
<div class="am-form-group am-form-group-refreshing am-margin-top-lg">
|
||||
<input type="hidden" name="type" value="username" />
|
||||
<button type="submit" class="am-btn am-btn-primary am-btn-block am-radius am-btn-sm btn-loading-example" data-am-loading="{loadingText: '{{:MyLang('processing_tips')}}'}">{{:MyLang('login_title')}}</button>
|
||||
</div>
|
||||
</form>
|
||||
<!-- form end -->
|
||||
</div>
|
||||
{{/if}}
|
||||
{{if in_array('sms', $admin_login_type)}}
|
||||
<div data-tab-panel-1 class="am-tab-panel {{if !in_array('username', $admin_login_type) and !in_array('email', $admin_login_type)}}am-active{{/if}}">
|
||||
<!-- form start -->
|
||||
<form class="am-form form-validation-sms" method="post" action="{{:MyUrl('admin/admin/login')}}" request-type="ajax-url" request-value="{{:MyUrl('admin/index/index')}}">
|
||||
<div class="am-form-group am-form-group-refreshing">
|
||||
<label>{{:MyLang('common_service.admin.form_item_mobile')}}</label>
|
||||
<input type="text" name="accounts" class="am-radius" placeholder="{{:MyLang('common_service.admin.form_item_mobile_placeholder')}}" pattern="{{:MyConst('common_regex_mobile')}}" data-validation-message="{{:MyLang('common_service.admin.form_item_mobile_message')}}" autocomplete="off" data-is-clearout="0" required />
|
||||
</div>
|
||||
|
||||
<div class="am-form-group am-form-group-refreshing business-form-block am-margin-top-xs">
|
||||
<label>{{:MyLang('form_verify_title')}}</label>
|
||||
<div class="am-input-group am-input-group-sm">
|
||||
<input type="number" name="verify" class="am-radius" placeholder="{{:MyLang('form_verify_placeholder')}}" min="0" minlength="4" maxlength="4" data-validation-message="{{:MyLang('form_verify_message')}}" autocomplete="off" data-is-clearout="0" required />
|
||||
<span class="am-input-group-btn">
|
||||
<button class="am-btn am-btn-default am-radius btn-loading-example verify-submit" type="button" data-am-loading="{spinner:'circle-o-notch', loadingText:'{{:MyLang('send_tips')}}'}" data-url="{{:MyUrl('admin/admin/loginverifysend')}}" data-verify="{{:MyC('common_img_verify_state')}}" data-text="{{:MyLang('form_verify_button_text')}}" data-send-text="{{:MyLang('form_verify_send_text')}}" data-time="{{:MyC('common_verify_interval_time', 30, true)}}" data-form-tag="form.form-validation-sms">{{:MyLang('form_verify_button_text')}}</button>
|
||||
</span>
|
||||
|
||||
{{if MyC('admin_login_img_verify_state') eq 1}}
|
||||
<div class="am-form-group am-form-group-refreshing">
|
||||
<div class="am-form-group am-input-material">
|
||||
<input type="text" name="verify" class="am-radius" placeholder="{{:MyLang('form_verify_placeholder')}}" minlength="4" maxlength="4" data-validation-message="{{:MyLang('form_images_verify_message')}}" autocomplete="off" data-is-clearout="0" required />
|
||||
<span class="am-input-group-btn verify-img">
|
||||
<span class="am-btn am-radius am-padding-0 form-verify">
|
||||
<img src="{{:MyUrl('admin/admin/adminverifyentry')}}" class="am-radius c-p" id="form-verify-img" onClick="this.src=this.src+'&'+Math.random();" />
|
||||
<a href="javascript:;" class="form-verify-tips" onClick="document.getElementById('form-verify-img').src='{{:MyUrl('admin/admin/adminverifyentry')}}&'+Math.random();">{{:MyLang('form_images_verify_button_text')}}</a>
|
||||
</span>
|
||||
</span>
|
||||
</div>
|
||||
</div>
|
||||
{{/if}}
|
||||
<div class="am-form-group am-form-group-refreshing">
|
||||
<input type="hidden" name="type" value="username" />
|
||||
<button type="submit" class="am-btn am-btn-primary am-btn-block am-radius am-btn-sm am-btn-sub btn-loading-example" data-am-loading="{loadingText: '{{:MyLang('processing_tips')}}'}">{{:MyLang('login_title')}}</button>
|
||||
</div>
|
||||
</div>
|
||||
<div class="am-form-group am-form-group-refreshing am-margin-top-lg">
|
||||
<input type="hidden" name="type" value="sms" />
|
||||
<button type="submit" class="am-btn am-btn-primary am-btn-block am-radius am-btn-sm btn-loading-example" data-am-loading="{loadingText: '{{:MyLang('processing_tips')}}'}">{{:MyLang('login_title')}}</button>
|
||||
</div>
|
||||
</form>
|
||||
<!-- form end -->
|
||||
</div>
|
||||
{{/if}}
|
||||
{{if in_array('email', $admin_login_type)}}
|
||||
<div data-tab-panel-2 class="am-tab-panel {{if !in_array('username', $admin_login_type)}}am-active{{/if}}">
|
||||
<!-- form start -->
|
||||
<form class="am-form form-validation-email" method="post" action="{{:MyUrl('admin/admin/login')}}" request-type="ajax-url" request-value="{{:MyUrl('admin/index/index')}}">
|
||||
<div class="am-form-group am-form-group-refreshing">
|
||||
<label>{{:MyLang('common_service.admin.form_item_email')}}</label>
|
||||
<input type="email" name="accounts" class="am-radius" placeholder="{{:MyLang('common_service.admin.form_item_email_placeholder')}}" data-validation-message="{{:MyLang('common_service.admin.form_item_email_message')}}" autocomplete="off" data-is-clearout="0" required />
|
||||
</div>
|
||||
|
||||
<div class="am-form-group am-form-group-refreshing business-form-block am-margin-top-xs">
|
||||
<label>{{:MyLang('form_verify_title')}}</label>
|
||||
<div class="am-input-group am-input-group-sm">
|
||||
<input type="number" name="verify" class="am-radius" placeholder="{{:MyLang('form_verify_placeholder')}}" min="0" minlength="4" maxlength="4" data-validation-message="{{:MyLang('form_verify_message')}}" autocomplete="off" data-is-clearout="0" required />
|
||||
<span class="am-input-group-btn">
|
||||
<button class="am-btn am-btn-default am-radius btn-loading-example verify-submit" type="button" data-am-loading="{spinner:'circle-o-notch', loadingText:'{{:MyLang('send_tips')}}'}" data-url="{{:MyUrl('admin/admin/loginverifysend')}}" data-verify="{{:MyC('common_img_verify_state')}}" data-text="{{:MyLang('form_verify_button_text')}}" data-send-text="{{:MyLang('form_verify_send_text')}}" data-time="{{:MyC('common_verify_interval_time', 30, true)}}" data-form-tag="form.form-validation-email">{{:MyLang('form_verify_button_text')}}</button>
|
||||
</span>
|
||||
</form>
|
||||
<!-- form end -->
|
||||
</div>
|
||||
{{/if}}
|
||||
{{if in_array('sms', $admin_login_type)}}
|
||||
<div data-tab-panel-1 class="am-tab-panel {{if !in_array('username', $admin_login_type) and !in_array('email', $admin_login_type)}}am-active{{/if}}">
|
||||
<!-- form start -->
|
||||
<form class="am-form form-validation-sms" method="post" action="{{:MyUrl('admin/admin/login')}}" request-type="ajax-url" request-value="{{:MyUrl('admin/index/index')}}">
|
||||
<div class="am-form-group am-form-group-refreshing">
|
||||
<input type="text" name="accounts" class="am-radius" placeholder="{{:MyLang('common_service.admin.form_item_mobile_placeholder')}}" pattern="{{:MyConst('common_regex_mobile')}}" data-validation-message="{{:MyLang('common_service.admin.form_item_mobile_message')}}" autocomplete="off" data-is-clearout="0" required />
|
||||
</div>
|
||||
</div>
|
||||
<div class="am-form-group am-form-group-refreshing am-margin-top-lg">
|
||||
<input type="hidden" name="type" value="email" />
|
||||
<button type="submit" class="am-btn am-btn-primary am-btn-block am-radius am-btn-sm btn-loading-example" data-am-loading="{loadingText: '{{:MyLang('processing_tips')}}'}">{{:MyLang('login_title')}}</button>
|
||||
</div>
|
||||
</form>
|
||||
<!-- form end -->
|
||||
|
||||
<div class="am-form-group am-form-group-refreshing business-form-block am-margin-top-xs">
|
||||
<div class="am-form-group am-input-material">
|
||||
<input type="number" name="verify" class="am-radius sms" placeholder="{{:MyLang('form_verify_placeholder')}}" min="0" minlength="4" maxlength="4" data-validation-message="{{:MyLang('form_verify_message')}}" autocomplete="off" data-is-clearout="0" required />
|
||||
<span class="am-input-group-btn verify-sms">
|
||||
<button class="am-btn am-btn-default am-radius btn-loading-example verify-submit" type="button" data-am-loading="{spinner:'circle-o-notch', loadingText:'{{:MyLang('send_tips')}}'}" data-url="{{:MyUrl('admin/admin/loginverifysend')}}" data-verify="{{:MyC('common_img_verify_state')}}" data-text="{{:MyLang('form_verify_button_text')}}" data-send-text="{{:MyLang('form_verify_send_text')}}" data-time="{{:MyC('common_verify_interval_time', 30, true)}}" data-form-tag="form.form-validation-sms">{{:MyLang('form_verify_button_text')}}</button>
|
||||
</span>
|
||||
</div>
|
||||
</div>
|
||||
<div class="am-form-group am-form-group-refreshing am-margin-top-lg">
|
||||
<input type="hidden" name="type" value="sms" />
|
||||
<button type="submit" class="am-btn am-btn-primary am-btn-block am-radius am-btn-sm am-btn-sub btn-loading-example" data-am-loading="{loadingText: '{{:MyLang('processing_tips')}}'}">{{:MyLang('login_title')}}</button>
|
||||
</div>
|
||||
</form>
|
||||
<!-- form end -->
|
||||
</div>
|
||||
{{/if}}
|
||||
{{if in_array('email', $admin_login_type)}}
|
||||
<div data-tab-panel-2 class="am-tab-panel {{if !in_array('username', $admin_login_type)}}am-active{{/if}}">
|
||||
<!-- form start -->
|
||||
<form class="am-form form-validation-email" method="post" action="{{:MyUrl('admin/admin/login')}}" request-type="ajax-url" request-value="{{:MyUrl('admin/index/index')}}">
|
||||
<div class="am-form-group am-form-group-refreshing">
|
||||
<input type="email" name="accounts" class="am-radius" placeholder="{{:MyLang('common_service.admin.form_item_email_placeholder')}}" data-validation-message="{{:MyLang('common_service.admin.form_item_email_message')}}" autocomplete="off" data-is-clearout="0" required />
|
||||
</div>
|
||||
|
||||
<div class="am-form-group am-form-group-refreshing business-form-block am-margin-top-xs">
|
||||
<div class="am-form-group am-input-material">
|
||||
<input type="number" name="verify" class="am-radius email" placeholder="{{:MyLang('form_verify_placeholder')}}" min="0" minlength="4" maxlength="4" data-validation-message="{{:MyLang('form_verify_message')}}" autocomplete="off" data-is-clearout="0" required />
|
||||
<span class="am-input-group-btn verify-email">
|
||||
<button class="am-btn am-btn-default am-radius btn-loading-example verify-submit" type="button" data-am-loading="{spinner:'circle-o-notch', loadingText:'{{:MyLang('send_tips')}}'}" data-url="{{:MyUrl('admin/admin/loginverifysend')}}" data-verify="{{:MyC('common_img_verify_state')}}" data-text="{{:MyLang('form_verify_button_text')}}" data-send-text="{{:MyLang('form_verify_send_text')}}" data-time="{{:MyC('common_verify_interval_time', 30, true)}}" data-form-tag="form.form-validation-email">{{:MyLang('form_verify_button_text')}}</button>
|
||||
</span>
|
||||
</div>
|
||||
</div>
|
||||
<div class="am-form-group am-form-group-refreshing am-margin-top-lg">
|
||||
<input type="hidden" name="type" value="email" />
|
||||
<button type="submit" class="am-btn am-btn-primary am-btn-block am-radius am-btn-sm am-btn-sub btn-loading-example" data-am-loading="{loadingText: '{{:MyLang('processing_tips')}}'}">{{:MyLang('login_title')}}</button>
|
||||
</div>
|
||||
</form>
|
||||
<!-- form end -->
|
||||
</div>
|
||||
{{/if}}
|
||||
<div class="am-padding-horizontal-lg am-nbfc am-text-right forgot_pwd">
|
||||
<a href="javascript:;" class="text-muted" data-am-popover="{theme: 'sm', content: '{{:MyLang('admin.form_forget_password_tips')}}', trigger: 'hover focus'}">{{:MyLang('admin.form_forget_password_name')}}</a>
|
||||
</div>
|
||||
{{/if}}
|
||||
|
||||
<div class="am-padding-horizontal am-nbfc">
|
||||
<a href="javascript:;" class="text-muted" data-am-popover="{theme: 'danger sm', content: '{{:MyLang('admin.form_forget_password_tips')}}', trigger: 'hover focus'}">{{:MyLang('admin.form_forget_password_name')}}</a>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
{{else /}}
|
||||
<div class="am-text-center am-padding-vertical-lg register-close">
|
||||
<i class="am-icon-warning"></i>
|
||||
<span>{{:MyLang('admin.login_close_tips')}}</span>
|
||||
</div>
|
||||
{{/if}}
|
||||
{{else /}}
|
||||
<div class="am-text-center am-padding-vertical-lg register-close">
|
||||
<i class="am-icon-warning"></i>
|
||||
<span>{{:MyLang('admin.login_close_tips')}}</span>
|
||||
</div>
|
||||
{{/if}}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@ -141,14 +148,16 @@
|
||||
<a href="javascript:;" class="am-close" data-am-modal-close>×</a>
|
||||
</div>
|
||||
<div class="am-modal-bd">
|
||||
<div class="base">
|
||||
<div class="base am-form-group am-input-material">
|
||||
<input type="text" placeholder="{{:MyLang('form_images_verify_title')}}" minlength="4" maxlength="4" id="verify-img-value" data-validation-message="{{:MyLang('form_images_verify_message')}}" class="am-form-field am-radius" />
|
||||
<div class="am-fl">
|
||||
<div class="am-input-group-btn verify-img">
|
||||
<img src="{{:MyUrl('admin/admin/adminverifyentry')}}" class="am-radius c-p" id="verify-img" onClick="this.src=this.src+'&'+Math.random();" />
|
||||
<a href="javascript:;" class="verify-tips" onClick="document.getElementById('verify-img').src='{{:MyUrl('admin/admin/adminverifyentry')}}&'+Math.random();">{{:MyLang('form_images_verify_button_text')}}</a>
|
||||
</div>
|
||||
</div>
|
||||
<button type="button" class="am-btn am-btn-secondary am-radius am-btn-sm block m-t-20 btn-loading-example verify-submit-win" data-am-loading="{spinner:'circle-o-notch', loadingText:'{{:MyLang('send_tips')}}'}" data-win="1">{{:MyLang('confirm_title')}}</button>
|
||||
<div>
|
||||
<button type="button" class="am-btn am-btn-primary am-radius am-btn-sm block m-t-20 btn-loading-example verify-submit-win" data-am-loading="{spinner:'circle-o-notch', loadingText:'{{:MyLang('send_tips')}}'}" data-win="1">{{:MyLang('confirm_title')}}</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
@ -1,5 +1,5 @@
|
||||
<!-- 操作栏 -->
|
||||
<button type="button" class="am-btn am-btn-default am-btn-xs am-radius am-btn-block submit-popup" data-url="{{:MyUrl('admin/admin/detail', ['id'=>$module_data['id']])}}">
|
||||
<button type="button" class="am-btn am-btn-default am-btn-xs am-radius am-btn-block submit-popup" data-url="{{:MyUrl('admin/admin/detail', ['id'=>$module_data['id']])}}" data-title="{{:MyLang('detail_title')}}">
|
||||
<i class="am-icon-eye"></i>
|
||||
<span>{{:MyLang('detail_title')}}</span>
|
||||
</button>
|
||||
|
@ -3,107 +3,85 @@
|
||||
<!-- right content start -->
|
||||
<div class="content-right">
|
||||
<div class="content">
|
||||
<!-- form start -->
|
||||
<form class="am-form form-validation am-form-full-screen am-form-popup-fixed" action="{{:MyUrl('admin/admin/save')}}" method="POST" request-type="ajax-url" request-value="{{:MyUrl('admin/admin/index', $params)}}">
|
||||
<legend>
|
||||
<span class="am-text-default">{{:MyLang('admin.base_nav_title')}}{{if empty($data['id'])}}{{:MyLang('created_title')}}{{else /}}{{:MyLang('edit_title')}}{{/if}}</span>
|
||||
<a href="{{:MyUrl('admin/admin/index', $params)}}" class="am-fr am-text-sm am-margin-top-sm am-icon-mail-reply"> {{:MyLang('retreat_title')}}</a>
|
||||
</legend>
|
||||
<div class="am-cf">
|
||||
<div class="am-u-sm-6 am-padding-horizontal-0">
|
||||
<div class="am-form-group">
|
||||
<label>{{:MyLang('common_service.admin.form_item_username')}}{{if empty($data)}}<span class="am-form-group-label-tips-must">*</span>{{/if}}{{if is_array(MyLang('goods.form_item_give_integral_tips'))}}<a href="javascript:;" class="am-icon-question-circle am-text-warning am-margin-left-sm" data-am-popover="{content: '{{if empty($data)}}{{:MyLang('common_service.admin.form_item_username_created_tips')}}{{else /}}{{:MyLang('common_service.admin.form_item_username_edit_tips')}}{{/if}}', trigger: 'hover focus', theme: 'sm'}"></a>{{/if}}</label>
|
||||
<input type="text" name="username" placeholder="{{:MyLang('common_service.admin.form_item_username_message')}}" pattern="{{:MyConst('common_regex_username')}}" data-validation-message="{{:MyLang('common_service.admin.form_item_username_message')}}" class="am-radius" {{if !empty($data['username'])}}value="{{$data.username}}" disabled{{/if}} required />
|
||||
</div>
|
||||
<!-- nav start -->
|
||||
{{:ModuleInclude('public/admin_nav', [
|
||||
'title' => MyLang('admin.base_nav_title').(empty($data['id']) ? MyLang('created_title') : MyLang('edit_title')),
|
||||
'back_url' => MyUrl('admin/admin/index', $params)
|
||||
])}}
|
||||
<!-- nav end -->
|
||||
<!-- form start -->
|
||||
<form class="am-form form-validation am-form-full-screen am-form-popup-sticky" action="{{:MyUrl('admin/admin/save')}}" method="POST" request-type="ajax-url" request-value="{{:MyUrl('admin/admin/index', $params)}}">
|
||||
<div class="am-form-group">
|
||||
<label>{{:MyLang('common_service.admin.form_item_username')}}{{if empty($data)}}<span class="am-form-group-label-tips-must">*</span>{{/if}}{{if is_array(MyLang('goods.form_item_give_integral_tips'))}}<a href="javascript:;" class="am-icon-question-circle am-text-warning am-margin-left-sm" data-am-popover="{content: '{{if empty($data)}}{{:MyLang('common_service.admin.form_item_username_created_tips')}}{{else /}}{{:MyLang('common_service.admin.form_item_username_edit_tips')}}{{/if}}', trigger: 'hover focus', theme: 'sm'}"></a>{{/if}}</label>
|
||||
<input type="text" name="username" placeholder="{{:MyLang('common_service.admin.form_item_username_message')}}" pattern="{{:MyConst('common_regex_username')}}" data-validation-message="{{:MyLang('common_service.admin.form_item_username_message')}}" class="am-radius" {{if !empty($data['username'])}}value="{{$data.username}}" disabled{{/if}} required />
|
||||
</div>
|
||||
<div class="am-form-group">
|
||||
<label>{{:MyLang('common_service.admin.form_item_password')}}{{if empty($data)}}<span class="am-form-group-label-tips-must">*</span>{{else /}}<span class="am-form-group-label-tips">{{:MyLang('common_service.admin.form_item_password_edit_tips')}}</span>{{/if}}</label>
|
||||
<input type="password" name="login_pwd" placeholder="{{:MyLang('common_service.admin.form_item_password')}}" pattern="{{:MyConst('common_regex_pwd')}}" data-validation-message="{{:MyLang('common_service.admin.form_item_password_message')}}" class="am-radius" autocomplete="off" {{if empty($data)}}required{{/if}} />
|
||||
</div>
|
||||
<div class="am-form-group">
|
||||
<label>{{:MyLang('common_service.admin.form_item_mobile')}}</label>
|
||||
<input type="text" name="mobile" placeholder="{{:MyLang('common_service.admin.form_item_mobile')}}" pattern="{{:MyConst('common_regex_mobile')}}" data-validation-message="{{:MyLang('common_service.admin.form_item_mobile_message')}}" class="am-radius" {{if !empty($data['mobile'])}}value="{{$data.mobile}}"{{/if}} />
|
||||
</div>
|
||||
<div class="am-form-group">
|
||||
<label>{{:MyLang('common_service.admin.form_item_email')}}</label>
|
||||
<input type="email" name="email" placeholder="{{:MyLang('common_service.admin.form_item_email')}}" maxlength="60" data-validation-message="{{:MyLang('common_service.admin.form_item_email_message')}}" class="am-radius" value="{{if !empty($data['email'])}}{{$data.email}}{{/if}}" />
|
||||
</div>
|
||||
{{if !isset($data['id']) or $admin['id'] neq $data['id']}}
|
||||
<div class="am-form-group">
|
||||
<label>{{:MyLang('common_service.admin.form_item_role')}}<span class="am-form-group-label-tips-must">*</span></label>
|
||||
<select class="am-radius chosen-select" name="role_id" data-validation-message="{{:MyLang('common_service.admin.form_item_role_message')}}" required>
|
||||
<option value="">{{:MyLang('optional_tips')}}</option>
|
||||
{{foreach $role_list as $v}}
|
||||
<option value="{{$v.id}}" {{if isset($data['role_id']) and $data['role_id'] eq $v['id']}}selected{{/if}}>{{$v.name}}</option>
|
||||
{{/foreach}}
|
||||
</select>
|
||||
</div>
|
||||
<div class="am-u-sm-6 am-padding-horizontal-0">
|
||||
<div class="am-form-group">
|
||||
<label>{{:MyLang('common_service.admin.form_item_password')}}{{if empty($data)}}<span class="am-form-group-label-tips-must">*</span>{{else /}}<span class="am-form-group-label-tips">{{:MyLang('common_service.admin.form_item_password_edit_tips')}}</span>{{/if}}</label>
|
||||
<input type="password" name="login_pwd" placeholder="{{:MyLang('common_service.admin.form_item_password')}}" pattern="{{:MyConst('common_regex_pwd')}}" data-validation-message="{{:MyLang('common_service.admin.form_item_password_message')}}" class="am-radius" autocomplete="off" {{if empty($data)}}required{{/if}} />
|
||||
</div>
|
||||
{{/if}}
|
||||
{{include file="lib/gender" /}}
|
||||
<div class="am-form-group">
|
||||
<label>{{:MyLang('common_service.admin.form_item_status')}}<span class="am-form-group-label-tips-must">*</span></label>
|
||||
<div class="am-radio-group">
|
||||
{{foreach :MyConst('common_admin_status_list') as $v}}
|
||||
<label class="am-radio-inline am-margin-right-sm">
|
||||
<input type="radio" name="status" value="{{$v.value}}" {{if isset($data['status']) and $data['status'] eq $v['value']}}checked="checked"{{else /}}{{if !isset($data['status']) and isset($v['checked']) and $v['checked'] eq true}}checked="checked"{{/if}}{{/if}} data-am-ucheck /> {{$v.name}}
|
||||
</label>
|
||||
{{/foreach}}
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="am-cf">
|
||||
<div class="am-u-sm-6 am-padding-horizontal-0">
|
||||
<div class="am-form-group">
|
||||
<label>{{:MyLang('common_service.admin.form_item_mobile')}}</label>
|
||||
<input type="text" name="mobile" placeholder="{{:MyLang('common_service.admin.form_item_mobile')}}" pattern="{{:MyConst('common_regex_mobile')}}" data-validation-message="{{:MyLang('common_service.admin.form_item_mobile_message')}}" class="am-radius" {{if !empty($data['mobile'])}}value="{{$data.mobile}}"{{/if}} />
|
||||
</div>
|
||||
</div>
|
||||
<div class="am-u-sm-6 am-padding-horizontal-0">
|
||||
<div class="am-form-group">
|
||||
<label>{{:MyLang('common_service.admin.form_item_email')}}</label>
|
||||
<input type="email" name="email" placeholder="{{:MyLang('common_service.admin.form_item_email')}}" maxlength="60" data-validation-message="{{:MyLang('common_service.admin.form_item_email_message')}}" class="am-radius" value="{{if !empty($data['email'])}}{{$data.email}}{{/if}}" />
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="am-cf">
|
||||
<div class="am-u-sm-6 am-padding-horizontal-0">
|
||||
{{include file="lib/gender" /}}
|
||||
</div>
|
||||
<div class="am-u-sm-6 am-padding-horizontal-0">
|
||||
<div class="am-form-group">
|
||||
<label>{{:MyLang('common_service.admin.form_item_status')}}<span class="am-form-group-label-tips-must">*</span></label>
|
||||
<select name="status" class="am-radius chosen-select" data-validation-message="{{:MyLang('common_service.admin.form_item_status_message')}}" required>
|
||||
{{foreach :MyConst('common_admin_status_list') as $v}}
|
||||
<option value="{{$v.value}}" {{if isset($data['status']) and $data['status'] eq $v['value']}}selected{{else /}}{{if !isset($data['status']) and isset($v['checked']) and $v['checked'] eq true}}selected{{/if}}{{/if}}>{{$v.name}}</option>
|
||||
{{/foreach}}
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
{{if !isset($data['id']) or $admin['id'] neq $data['id']}}
|
||||
<div class="am-form-group">
|
||||
<label>{{:MyLang('common_service.admin.form_item_role')}}<span class="am-form-group-label-tips-must">*</span></label>
|
||||
<select class="am-radius chosen-select" name="role_id" data-validation-message="{{:MyLang('common_service.admin.form_item_role_message')}}" required>
|
||||
<option value="">{{:MyLang('optional_tips')}}</option>
|
||||
{{foreach $role_list as $v}}
|
||||
<option value="{{$v.id}}" {{if isset($data['role_id']) and $data['role_id'] eq $v['id']}}selected{{/if}}>{{$v.name}}</option>
|
||||
{{/foreach}}
|
||||
</select>
|
||||
</div>
|
||||
{{/if}}
|
||||
|
||||
<!-- 插件扩展数据 start -->
|
||||
{{if isset($shopxo_is_develop) and $shopxo_is_develop eq true}}
|
||||
<!-- 插件扩展数据 start -->
|
||||
{{if isset($shopxo_is_develop) and $shopxo_is_develop eq true}}
|
||||
<div class="plugins-tag">
|
||||
<span>plugins_view_admin_admin_save</span>
|
||||
</div>
|
||||
{{/if}}
|
||||
{{if !empty($plugins_view_admin_admin_save_data) and is_array($plugins_view_admin_admin_save_data)}}
|
||||
<div class="am-alert am-alert-secondary">
|
||||
<label class="am-text-sm am-text-warning">{{:MyLang('plugins_view_region_config_tips')}}</label>
|
||||
<div>
|
||||
{{foreach $plugins_view_admin_admin_save_data as $hook}}
|
||||
{{if is_string($hook) or is_int($hook)}}
|
||||
{{$hook|raw}}
|
||||
{{/if}}
|
||||
{{/foreach}}
|
||||
</div>
|
||||
</div>
|
||||
{{/if}}
|
||||
<!-- 插件扩展数据 end -->
|
||||
|
||||
<div class="am-form-popup-submit">
|
||||
<input type="hidden" name="id" {{if !empty($data['id'])}}value="{{$data.id}}"{{/if}} />
|
||||
<a href="{{:MyUrl('admin/admin/index', $params)}}" class="am-btn am-btn-warning am-radius am-btn-xs am-margin-right-lg">
|
||||
<i class="am-icon-mail-reply"></i>
|
||||
<span>{{:MyLang('retreat_title')}}</span>
|
||||
</a>
|
||||
{{if !empty($plugins_view_admin_admin_save_data) and is_array($plugins_view_admin_admin_save_data)}}
|
||||
<div class="card-grey">
|
||||
<label class="am-text-sm am-text-warning">{{:MyLang('plugins_view_region_config_tips')}}</label>
|
||||
<div>
|
||||
{{foreach $plugins_view_admin_admin_save_data as $hook}}
|
||||
{{if is_string($hook) or is_int($hook)}}
|
||||
{{$hook|raw}}
|
||||
{{/if}}
|
||||
{{/foreach}}
|
||||
</div>
|
||||
</div>
|
||||
{{/if}}
|
||||
<!-- 插件扩展数据 end -->
|
||||
|
||||
<div class="am-form-popup-submit">
|
||||
<input type="hidden" name="id" {{if !empty($data['id'])}}value="{{$data.id}}"{{/if}} />
|
||||
<button type="submit" class="am-btn am-btn-primary am-radius am-btn-xs btn-loading-example" data-am-loading="{spinner: 'circle-o-notch', loadingText:'{{:MyLang('save_title')}}'}">
|
||||
<i class="am-icon-save"></i>
|
||||
<span>{{:MyLang('save_title')}}</span>
|
||||
</button>
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
</form>
|
||||
<!-- form end -->
|
||||
</div>
|
||||
</div>
|
||||
<!-- right content end -->
|
||||
|
||||
<!-- footer start -->
|
||||
{{include file="public/footer" /}}
|
||||
<!-- footer end -->
|
||||
{{include file="public/footer" /}}
|
@ -2,26 +2,32 @@
|
||||
|
||||
<!-- right content start -->
|
||||
<div class="content-right">
|
||||
<!-- table nav start -->
|
||||
{{include file="agreement/nav" /}}
|
||||
<!-- table nav end -->
|
||||
|
||||
<div class="content">
|
||||
<!-- nav start -->
|
||||
{{:ModuleInclude('public/nav_switch_tabs', [
|
||||
'nav_data' => $nav_data,
|
||||
'nav_type' => $type,
|
||||
'url' => 'admin/agreement/index'
|
||||
])}}
|
||||
<!-- nav end -->
|
||||
<!-- form start -->
|
||||
<form class="am-form form-validation am-form-full-screen am-form-popup-fixed" action="{{:MyUrl('admin/agreement/save')}}" method="POST" request-type="ajax-url" request-value="{{:MyUrl('admin/agreement/index', ['nav_type'=>$nav_type])}}">
|
||||
<div class="am-form-group">
|
||||
<div class="am-cf">
|
||||
<label><span class="am-form-group-label-tips am-margin-left-0">{{$data.common_agreement_userlogout.describe}}</span></label>
|
||||
<a href="{{:MyUrl('index/agreement/index', ['document'=>'userlogout'])}}" target="_blank" class="am-fr">{{:MyLang('agreement.view_detail_name')}}</a>
|
||||
<form class="am-form form-validation am-form-full-screen am-form-popup-sticky" action="{{:MyUrl('admin/agreement/save')}}" method="POST" request-type="ajax-view" request-value="{{:MyUrl('admin/agreement/index', ['type'=>$type])}}">
|
||||
<div class="nav-content">
|
||||
<!-- table tips start -->
|
||||
{{include file="agreement/tips" /}}
|
||||
<!-- table tips end -->
|
||||
<div class="am-form-group">
|
||||
<div class="am-flex am-flex-justify-between am-flex-items-center">
|
||||
<label><span class="am-form-group-label-tips am-margin-left-0">{{$data.common_agreement_userlogout.describe}}</span></label>
|
||||
<a href="{{:MyUrl('index/agreement/index', ['document'=>'userlogout'])}}" class="am-btn am-btn-primary-light-plain am-border-0 am-radius am-btn-xs" target="_blank">
|
||||
<span>{{:MyLang('agreement.view_detail_name')}}</span>
|
||||
</a>
|
||||
</div>
|
||||
<textarea class="am-radius am-validate" name="{{$data.common_agreement_userlogout.only_tag}}" maxlength="105000" id="editor-tag" data-validation-message="{{$data.common_agreement_userlogout.error_tips}}">{{if !empty($data)}}{{$data.common_agreement_userlogout.value|raw}}{{/if}}</textarea>
|
||||
</div>
|
||||
<textarea class="am-radius am-validate" name="{{$data.common_agreement_userlogout.only_tag}}" maxlength="105000" id="editor-tag" data-validation-message="{{$data.common_agreement_userlogout.error_tips}}">{{if !empty($data)}}{{$data.common_agreement_userlogout.value|raw}}{{/if}}</textarea>
|
||||
</div>
|
||||
|
||||
<div class="am-form-popup-submit">
|
||||
<a href="{{:MyUrl('index/agreement/index', ['document'=>'userlogout'])}}" class="am-btn am-btn-default am-radius am-btn-xs am-margin-right-lg" target="_blank">
|
||||
<i class="am-icon-eye"></i>
|
||||
<span>{{:MyLang('agreement.view_detail_name')}}</span>
|
||||
</a>
|
||||
<button type="submit" class="am-btn am-btn-primary am-radius am-btn-xs btn-loading-example" data-am-loading="{spinner: 'circle-o-notch', loadingText:'{{:MyLang('save_title')}}'}">
|
||||
<i class="am-icon-save"></i>
|
||||
<span>{{:MyLang('save_title')}}</span>
|
||||
@ -34,5 +40,4 @@
|
||||
<!-- right content end -->
|
||||
|
||||
<!-- footer start -->
|
||||
{{include file="public/footer" /}}
|
||||
<!-- footer end -->
|
||||
{{include file="public/footer" /}}
|
@ -1,13 +0,0 @@
|
||||
<ul class="am-nav am-nav-pills table-nav second-nav">
|
||||
{{if !empty($nav_data) and is_array($nav_data)}}
|
||||
{{foreach $nav_data as $v}}
|
||||
<li {{if $nav_type eq $v['type']}}class="am-active"{{/if}} data-type="{{$v.type}}">
|
||||
<a href="{{:MyUrl('admin/agreement/index', ['nav_type'=>$v['type']])}}">{{$v.name}}</a>
|
||||
</li>
|
||||
{{/foreach}}
|
||||
{{/if}}
|
||||
</ul>
|
||||
<div class="am-alert am-radius am-margin-horizontal-sm am-margin-bottom-0" data-am-alert>
|
||||
<button type="button" class="am-close">×</button>
|
||||
<p>{{:MyLang('agreement.top_tips')}}</p>
|
||||
</div>
|
@ -2,26 +2,31 @@
|
||||
|
||||
<!-- right content start -->
|
||||
<div class="content-right">
|
||||
<!-- table nav start -->
|
||||
{{include file="agreement/nav" /}}
|
||||
<!-- table nav end -->
|
||||
|
||||
<div class="content">
|
||||
<!-- nav start -->
|
||||
{{:ModuleInclude('public/nav_switch_tabs', [
|
||||
'nav_data' => $nav_data,
|
||||
'nav_type' => $type,
|
||||
'url' => 'admin/agreement/index'
|
||||
])}}
|
||||
<!-- form start -->
|
||||
<form class="am-form form-validation am-form-full-screen am-form-popup-fixed" action="{{:MyUrl('admin/agreement/save')}}" method="POST" request-type="ajax-url" request-value="{{:MyUrl('admin/agreement/index', ['nav_type'=>$nav_type])}}">
|
||||
<div class="am-form-group">
|
||||
<div class="am-cf">
|
||||
<label><span class="am-form-group-label-tips am-margin-left-0">{{$data.common_agreement_userprivacy.describe}}</span></label>
|
||||
<a href="{{:MyUrl('index/agreement/index', ['document'=>'userprivacy'])}}" target="_blank" class="am-fr">{{:MyLang('agreement.view_detail_name')}}</a>
|
||||
<form class="am-form form-validation am-form-full-screen am-form-popup-sticky" action="{{:MyUrl('admin/agreement/save')}}" method="POST" request-type="ajax-view" request-value="{{:MyUrl('admin/agreement/index', ['type'=>$type])}}">
|
||||
<div class="nav-content">
|
||||
<!-- table tips start -->
|
||||
{{include file="agreement/tips" /}}
|
||||
<!-- table tips end -->
|
||||
<div class="am-form-group">
|
||||
<div class="am-flex am-flex-justify-between am-flex-items-center">
|
||||
<label><span class="am-form-group-label-tips am-margin-left-0">{{$data.common_agreement_userprivacy.describe}}</span></label>
|
||||
<a href="{{:MyUrl('index/agreement/index', ['document'=>'userprivacy'])}}" class="am-btn am-btn-primary-light-plain am-border-0 am-radius am-btn-xs" target="_blank">
|
||||
<span>{{:MyLang('agreement.view_detail_name')}}</span>
|
||||
</a>
|
||||
</div>
|
||||
<textarea class="am-radius am-validate" name="{{$data.common_agreement_userprivacy.only_tag}}" maxlength="105000" id="editor-tag" data-validation-message="{{$data.common_agreement_userprivacy.error_tips}}">{{if !empty($data)}}{{$data.common_agreement_userprivacy.value|raw}}{{/if}}</textarea>
|
||||
</div>
|
||||
<textarea class="am-radius am-validate" name="{{$data.common_agreement_userprivacy.only_tag}}" maxlength="105000" id="editor-tag" data-validation-message="{{$data.common_agreement_userprivacy.error_tips}}">{{if !empty($data)}}{{$data.common_agreement_userprivacy.value|raw}}{{/if}}</textarea>
|
||||
</div>
|
||||
|
||||
<div class="am-form-popup-submit">
|
||||
<a href="{{:MyUrl('index/agreement/index', ['document'=>'userprivacy'])}}" class="am-btn am-btn-default am-radius am-btn-xs am-margin-right-lg" target="_blank">
|
||||
<i class="am-icon-eye"></i>
|
||||
<span>{{:MyLang('agreement.view_detail_name')}}</span>
|
||||
</a>
|
||||
<button type="submit" class="am-btn am-btn-primary am-radius am-btn-xs btn-loading-example" data-am-loading="{spinner: 'circle-o-notch', loadingText:'{{:MyLang('save_title')}}'}">
|
||||
<i class="am-icon-save"></i>
|
||||
<span>{{:MyLang('save_title')}}</span>
|
||||
@ -34,5 +39,4 @@
|
||||
<!-- right content end -->
|
||||
|
||||
<!-- footer start -->
|
||||
{{include file="public/footer" /}}
|
||||
<!-- footer end -->
|
||||
{{include file="public/footer" /}}
|
@ -2,25 +2,30 @@
|
||||
|
||||
<!-- right content start -->
|
||||
<div class="content-right">
|
||||
<!-- table nav start -->
|
||||
{{include file="agreement/nav" /}}
|
||||
<!-- table nav end -->
|
||||
|
||||
<div class="content">
|
||||
<!-- nav start -->
|
||||
{{:ModuleInclude('public/nav_switch_tabs', [
|
||||
'nav_data' => $nav_data,
|
||||
'nav_type' => $type,
|
||||
'url' => 'admin/agreement/index'
|
||||
])}}
|
||||
<!-- form start -->
|
||||
<form class="am-form form-validation am-form-full-screen am-form-popup-fixed" action="{{:MyUrl('admin/agreement/save')}}" method="POST" request-type="ajax-url" request-value="{{:MyUrl('admin/agreement/index', ['nav_type'=>$nav_type])}}">
|
||||
<div class="am-form-group">
|
||||
<div class="am-cf">
|
||||
<label><span class="am-form-group-label-tips am-margin-left-0">{{$data.common_agreement_userregister.describe}}</span></label>
|
||||
<a href="{{:MyUrl('index/agreement/index', ['document'=>'userregister'])}}" target="_blank" class="am-fr">{{:MyLang('agreement.view_detail_name')}}</a>
|
||||
<form class="am-form form-validation am-form-full-screen am-form-popup-sticky" action="{{:MyUrl('admin/agreement/save')}}" method="POST" request-type="ajax-view" request-value="{{:MyUrl('admin/agreement/index', ['type'=>$type])}}">
|
||||
<div class="nav-content">
|
||||
<!-- table tips start -->
|
||||
{{include file="agreement/tips" /}}
|
||||
<!-- table tips end -->
|
||||
<div class="am-form-group">
|
||||
<div class="am-flex am-flex-justify-between am-flex-items-center">
|
||||
<label><span class="am-form-group-label-tips am-margin-left-0">{{$data.common_agreement_userregister.describe}}</span></label>
|
||||
<a href="{{:MyUrl('index/agreement/index', ['document'=>'userregister'])}}" class="am-btn am-btn-primary-light-plain am-radius am-btn-xs am-border-0" target="_blank">
|
||||
<span>{{:MyLang('agreement.view_detail_name')}}</span>
|
||||
</a>
|
||||
</div>
|
||||
<textarea class="am-radius am-validate" name="{{$data.common_agreement_userregister.only_tag}}" maxlength="105000" id="editor-tag" data-validation-message="{{$data.common_agreement_userregister.error_tips}}">{{if !empty($data)}}{{$data.common_agreement_userregister.value|raw}}{{/if}}</textarea>
|
||||
</div>
|
||||
<textarea class="am-radius am-validate" name="{{$data.common_agreement_userregister.only_tag}}" maxlength="105000" id="editor-tag" data-validation-message="{{$data.common_agreement_userregister.error_tips}}">{{if !empty($data)}}{{$data.common_agreement_userregister.value|raw}}{{/if}}</textarea>
|
||||
</div>
|
||||
<div class="am-form-popup-submit">
|
||||
<a href="{{:MyUrl('index/agreement/index', ['document'=>'userregister'])}}" class="am-btn am-btn-default am-radius am-btn-xs am-margin-right-lg" target="_blank">
|
||||
<i class="am-icon-eye"></i>
|
||||
<span>{{:MyLang('agreement.view_detail_name')}}</span>
|
||||
</a>
|
||||
<button type="submit" class="am-btn am-btn-primary am-radius am-btn-xs btn-loading-example" data-am-loading="{spinner: 'circle-o-notch', loadingText:'{{:MyLang('save_title')}}'}">
|
||||
<i class="am-icon-save"></i>
|
||||
<span>{{:MyLang('save_title')}}</span>
|
||||
@ -33,5 +38,4 @@
|
||||
<!-- right content end -->
|
||||
|
||||
<!-- footer start -->
|
||||
{{include file="public/footer" /}}
|
||||
<!-- footer end -->
|
||||
{{include file="public/footer" /}}
|
8
app/admin/view/default/agreement/tips.html
Normal file
8
app/admin/view/default/agreement/tips.html
Normal file
@ -0,0 +1,8 @@
|
||||
<div class="am-operate-stretch-tips">
|
||||
<div class="title">
|
||||
<i class="iconfont icon-tips"></i>
|
||||
<strong title="{{:MyLang('operate_list_tips_msg')}}">{{:MyLang('operate_list_tips_button_text')}}</strong>
|
||||
<i class="iconfont icon-contract contract" title="{{:MyLang('operate_list_tips_retract_text')}}"></i>
|
||||
</div>
|
||||
<p>{{:MyLang('agreement.top_tips')}}</p>
|
||||
</div>
|
@ -3,7 +3,10 @@
|
||||
|
||||
<!-- 表单顶部操作栏 -->
|
||||
{{block name="form_operate_top"}}
|
||||
<a href="{{:MyUrl('admin/appcenternav/saveinfo')}}" class="am-btn am-btn-secondary am-radius am-btn-xs am-icon-plus"> {{:MyLang('add_title')}}</a>
|
||||
<a href="{{:MyUrl('admin/appcenternav/saveinfo')}}" class="am-btn am-btn-primary am-radius am-btn-xs">
|
||||
<i class="iconfont icon-btn-add am-show-sm-only"></i>
|
||||
<span class="am-hide-sm-only">{{:MyLang('add_title')}}</span>
|
||||
</a>
|
||||
<!-- 父级内容 -->
|
||||
{__block__}
|
||||
{{/block}}
|
@ -1,5 +1,5 @@
|
||||
<!-- 操作栏 -->
|
||||
<button type="button" class="am-btn am-btn-default am-btn-xs am-radius am-btn-block submit-popup" data-url="{{:MyUrl('admin/appcenternav/detail', ['id'=>$module_data['id']])}}">
|
||||
<button type="button" class="am-btn am-btn-default am-btn-xs am-radius am-btn-block submit-popup" data-url="{{:MyUrl('admin/appcenternav/detail', ['id'=>$module_data['id']])}}" data-title="{{:MyLang('detail_title')}}">
|
||||
<i class="am-icon-eye"></i>
|
||||
<span>{{:MyLang('detail_title')}}</span>
|
||||
</button>
|
||||
|
@ -3,101 +3,79 @@
|
||||
<!-- right content start -->
|
||||
<div class="content-right">
|
||||
<div class="content">
|
||||
<!-- form start -->
|
||||
<form class="am-form form-validation am-form-full-screen am-form-popup-fixed" action="{{:MyUrl('admin/appcenternav/save')}}" method="POST" request-type="ajax-url" request-value="{{:MyUrl('admin/appcenternav/index', $params)}}" enctype="multipart/form-data">
|
||||
<legend>
|
||||
<span class="am-text-default">{{:MyLang('appcenternav.base_nav_title')}}{{if empty($data['id'])}}{{:MyLang('created_title')}}{{else /}}{{:MyLang('edit_title')}}{{/if}}</span>
|
||||
<a href="{{:MyUrl('admin/appcenternav/index', $params)}}" class="am-fr am-text-sm am-margin-top-sm am-icon-mail-reply"> {{:MyLang('retreat_title')}}</a>
|
||||
</legend>
|
||||
<!-- nav start -->
|
||||
{{:ModuleInclude('public/admin_nav', [
|
||||
'title' => MyLang('appcenternav.base_nav_title').(empty($data['id']) ? MyLang('created_title') : MyLang('edit_title')),
|
||||
'back_url' => MyUrl('admin/appcenternav/index', $params)
|
||||
])}}
|
||||
<!-- nav end -->
|
||||
<!-- form start -->
|
||||
<form class="am-form form-validation am-form-full-screen am-form-popup-sticky" action="{{:MyUrl('admin/appcenternav/save')}}" method="POST" request-type="ajax-url" request-value="{{:MyUrl('admin/appcenternav/index', $params)}}" enctype="multipart/form-data">
|
||||
<div class="am-form-group">
|
||||
<label>{{:MyLang('common_service.appcenternav.form_item_name')}}<span class="am-form-group-label-tips-must">*</span></label>
|
||||
<input type="text" name="name" placeholder="{{:MyLang('common_service.appcenternav.form_item_name_message')}}" minlength="2" maxlength="60" data-validation-message="{{:MyLang('common_service.appcenternav.form_item_name_message')}}" class="am-radius" {{if !empty($data['name'])}} value="{{$data.name}}"{{/if}} required />
|
||||
</div>
|
||||
<div class="am-form-group">
|
||||
<label>{{:MyLang('form_platform_title')}}<span class="am-form-group-label-tips-must">*</span></label>
|
||||
<select name="platform" class="am-radius chosen-select" data-placeholder="{{:MyLang('optional_tips')}}" data-validation-message="{{:MyLang('form_platform_message')}}" required>
|
||||
<option value="">{{:MyLang('optional_tips')}}</option>
|
||||
{{foreach $common_platform_type as $v}}
|
||||
<option value="{{$v.value}}" {{if isset($data['platform']) and $data['platform'] eq $v['value']}}selected{{else /}}{{if !isset($data['platform']) and isset($v['checked']) and $v['checked'] eq true}}selected{{/if}}{{/if}}>{{$v.name}}</option>
|
||||
{{/foreach}}
|
||||
</select>
|
||||
</div>
|
||||
<div class="am-form-group">
|
||||
<label>{{:MyLang('form_event_type_title')}}</label>
|
||||
<select name="event_type" class="am-radius chosen-select" data-placeholder="{{:MyLang('optional_tips')}}" data-validation-message="{{:MyLang('form_event_type_message')}}">
|
||||
<option value="">{{:MyLang('optional_tips')}}</option>
|
||||
{{foreach $common_app_event_type as $v}}
|
||||
<option value="{{$v.value}}" {{if isset($data['event_type']) and $data['event_type'] eq $v['value']}}selected{{else /}}{{if !isset($data['event_type']) and isset($v['checked']) and $v['checked'] eq true}}selected{{/if}}{{/if}}>{{$v.name}}</option>
|
||||
{{/foreach}}
|
||||
</select>
|
||||
</div>
|
||||
<div class="am-form-group">
|
||||
<label>{{:MyLang('common_service.appcenternav.form_item_desc')}}</label>
|
||||
<input type="text" name="desc" placeholder="{{:MyLang('common_service.appcenternav.form_item_desc_message')}}" data-validation-message="{{:MyLang('common_service.appcenternav.form_item_desc_message')}}" class="am-radius" {{if !empty($data['desc'])}} value="{{$data.desc}}"{{/if}} />
|
||||
</div>
|
||||
|
||||
<div class="am-cf">
|
||||
<div class="am-u-sm-6 am-padding-horizontal-0">
|
||||
<div class="am-form-group">
|
||||
<label>{{:MyLang('common_service.appcenternav.form_item_name')}}<span class="am-form-group-label-tips-must">*</span></label>
|
||||
<input type="text" name="name" placeholder="{{:MyLang('common_service.appcenternav.form_item_name_message')}}" minlength="2" maxlength="60" data-validation-message="{{:MyLang('common_service.appcenternav.form_item_name_message')}}" class="am-radius" {{if !empty($data['name'])}} value="{{$data.name}}"{{/if}} required />
|
||||
</div>
|
||||
</div>
|
||||
<div class="am-u-sm-6 am-padding-horizontal-0">
|
||||
<div class="am-form-group">
|
||||
<label>{{:MyLang('form_platform_title')}}<span class="am-form-group-label-tips-must">*</span></label>
|
||||
<select name="platform" class="am-radius chosen-select" data-placeholder="{{:MyLang('optional_tips')}}" data-validation-message="{{:MyLang('form_platform_message')}}" required>
|
||||
<option value="">{{:MyLang('optional_tips')}}</option>
|
||||
{{foreach $common_platform_type as $v}}
|
||||
<option value="{{$v.value}}" {{if isset($data['platform']) and $data['platform'] eq $v['value']}}selected{{else /}}{{if !isset($data['platform']) and isset($v['checked']) and $v['checked'] eq true}}selected{{/if}}{{/if}}>{{$v.name}}</option>
|
||||
{{/foreach}}
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="am-form-group">
|
||||
<label>{{:MyLang('form_event_value_title')}}</label>
|
||||
<input type="text" name="event_value" placeholder="{{:MyLang('form_event_value_message')}}" data-validation-message="{{:MyLang('common_service.appcenternav.form_item_event_value_message')}}" class="am-radius" {{if !empty($data['event_value'])}} value="{{$data.event_value}}"{{/if}} />
|
||||
{{include file="public/event_value_tips" /}}
|
||||
</div>
|
||||
|
||||
<div class="am-cf">
|
||||
<div class="am-u-sm-6 am-padding-horizontal-0">
|
||||
<div class="am-form-group">
|
||||
<label>{{:MyLang('form_event_type_title')}}</label>
|
||||
<select name="event_type" class="am-radius chosen-select" data-placeholder="{{:MyLang('optional_tips')}}" data-validation-message="{{:MyLang('form_event_type_message')}}">
|
||||
<option value="">{{:MyLang('optional_tips')}}</option>
|
||||
{{foreach $common_app_event_type as $v}}
|
||||
<option value="{{$v.value}}" {{if isset($data['event_type']) and $data['event_type'] eq $v['value']}}selected{{else /}}{{if !isset($data['event_type']) and isset($v['checked']) and $v['checked'] eq true}}selected{{/if}}{{/if}}>{{$v.name}}</option>
|
||||
{{/foreach}}
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
<div class="am-u-sm-6 am-padding-horizontal-0">
|
||||
<div class="am-form-group">
|
||||
<label>{{:MyLang('common_service.appcenternav.form_item_desc')}}</label>
|
||||
<input type="text" name="desc" placeholder="{{:MyLang('common_service.appcenternav.form_item_desc_message')}}" data-validation-message="{{:MyLang('common_service.appcenternav.form_item_desc_message')}}" class="am-radius" {{if !empty($data['desc'])}} value="{{$data.desc}}"{{/if}} />
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="am-form-group am-form-file">
|
||||
<label class="am-block">{{:MyLang('common_service.appcenternav.form_item_images_url')}}<span class="am-form-group-label-tips-must">*</span></label>
|
||||
<div class="am-form-file-upload-container">
|
||||
<ul class="plug-file-upload-view slide-images_url-images-view" data-form-name="images_url" data-max-number="1" data-dialog-type="images" data-is-eye="1">
|
||||
<li class="plug-file-upload-submit" data-view-tag="ul.slide-images_url-images-view">
|
||||
{{if empty($data['images_url'])}}
|
||||
<i class="iconfont icon-upload-add"></i>
|
||||
{{else /}}
|
||||
<input type="text" name="images_url" value="{{$data.images_url}}" />
|
||||
<img src="{{$data.images_url}}" />
|
||||
<i>×</i>
|
||||
<i class="iconfont icon-eye"></i>
|
||||
{{/if}}
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
{{include file="lib/sort" /}}
|
||||
{{include file="lib/is_enable" /}}
|
||||
|
||||
<div class="am-form-group">
|
||||
<label>{{:MyLang('form_event_value_title')}}</label>
|
||||
<input type="text" name="event_value" placeholder="{{:MyLang('form_event_value_message')}}" data-validation-message="{{:MyLang('common_service.appcenternav.form_item_event_value_message')}}" class="am-radius" {{if !empty($data['event_value'])}} value="{{$data.event_value}}"{{/if}} />
|
||||
{{include file="public/event_value_tips" /}}
|
||||
</div>
|
||||
|
||||
<div class="am-cf">
|
||||
<div class="am-u-sm-6 am-padding-horizontal-0">
|
||||
<div class="am-form-group am-form-file">
|
||||
<label class="am-block">{{:MyLang('common_service.appcenternav.form_item_images_url')}}<span class="am-form-group-label-tips-must">*</span></label>
|
||||
<ul class="plug-file-upload-view slide-images_url-images-view" data-form-name="images_url" data-max-number="1" data-delete="0" data-dialog-type="images">
|
||||
<li>
|
||||
<input type="text" name="images_url" value="{{if !empty($data['images_url'])}}{{$data.images_url}}{{/if}}" data-validation-message="{{:MyLang('form_upload_images_message')}}" required />
|
||||
<img src="{{if !empty($data['images_url'])}}{{$data.images_url}}{{else /}}{{$attachment_host}}/static/admin/default/images/default-images.jpg{{/if}}" />
|
||||
</li>
|
||||
</ul>
|
||||
<div class="plug-file-upload-submit" data-view-tag="ul.slide-images_url-images-view">+ {{:MyLang('form_upload_images_title')}}</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="am-u-sm-6 am-padding-horizontal-0">
|
||||
<div class="am-cf">
|
||||
<div class="am-u-sm-12 am-padding-horizontal-0">
|
||||
{{include file="lib/sort" /}}
|
||||
</div>
|
||||
<div class="am-u-sm-12 am-padding-horizontal-0">
|
||||
{{include file="lib/is_enable" /}}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="am-form-popup-submit">
|
||||
<input type="hidden" name="id" {{if !empty($data)}} value="{{$data.id}}"{{/if}} />
|
||||
<a href="{{:MyUrl('admin/appcenternav/index', $params)}}" class="am-btn am-btn-warning am-radius am-btn-xs am-margin-right-lg">
|
||||
<i class="am-icon-mail-reply"></i>
|
||||
<span>{{:MyLang('retreat_title')}}</span>
|
||||
</a>
|
||||
<div class="am-form-popup-submit">
|
||||
<input type="hidden" name="id" {{if !empty($data)}} value="{{$data.id}}"{{/if}} />
|
||||
<button type="submit" class="am-btn am-btn-primary am-radius am-btn-xs btn-loading-example" data-am-loading="{spinner: 'circle-o-notch', loadingText:'{{:MyLang('save_title')}}'}">
|
||||
<i class="am-icon-save"></i>
|
||||
<span>{{:MyLang('save_title')}}</span>
|
||||
</button>
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
</form>
|
||||
<!-- form end -->
|
||||
</div>
|
||||
</div>
|
||||
<!-- right content end -->
|
||||
|
||||
<!-- footer start -->
|
||||
{{include file="public/footer" /}}
|
||||
<!-- footer end -->
|
||||
{{include file="public/footer" /}}
|
@ -2,49 +2,66 @@
|
||||
|
||||
<!-- right content start -->
|
||||
<div class="content-right">
|
||||
<!-- table nav start -->
|
||||
{{include file="appconfig/nav" /}}
|
||||
<!-- table nav end -->
|
||||
|
||||
<div class="content">
|
||||
<!-- table nav start -->
|
||||
{{:ModuleInclude('public/nav_switch_tabs', [
|
||||
'nav_data' => $nav_data,
|
||||
'nav_type' => $nav_type,
|
||||
'url' => 'admin/appconfig/index'
|
||||
])}}
|
||||
<!-- table nav end -->
|
||||
<!-- form start -->
|
||||
<form class="am-form form-validation am-form-popup-fixed" action="{{:MyUrl('admin/appconfig/save', ['nav_type'=>$nav_type])}}" method="POST" request-type="ajax-reload">
|
||||
<!-- 基础配置 -->
|
||||
<div class="am-panel am-panel-default am-radius">
|
||||
<div class="am-panel-hd">
|
||||
<h3 class="am-panel-title">{{:MyLang('base_config_title')}}</h3>
|
||||
</div>
|
||||
<div class="am-panel-bd am-padding-vertical-xs">
|
||||
<form class="am-form form-validation am-form-popup-sticky" action="{{:MyUrl('admin/appconfig/save', ['nav_type'=>$nav_type])}}" method="POST" request-type="ajax-view">
|
||||
{{:ModuleInclude('public/nav_switch_btn', [
|
||||
'nav_data' => [
|
||||
[
|
||||
'name' => MyLang('base_config_title'),
|
||||
'key' => 'base-config-title',
|
||||
],
|
||||
[
|
||||
'name' => MyLang('appconfig.user_base_popup_title'),
|
||||
'key' => 'user-base-popup',
|
||||
]
|
||||
]
|
||||
])}}
|
||||
<div class="nav-content">
|
||||
<!-- 基础配置 -->
|
||||
<div class="item am-active" data-key="base-config-title">
|
||||
<div class="am-form-group">
|
||||
<label class="am-block">{{$data.common_app_is_use_mobile_detail.name}}<span class="am-form-group-label-tips">{{$data.common_app_is_use_mobile_detail.describe}}</span></label>
|
||||
<select name="{{$data.common_app_is_use_mobile_detail.only_tag}}" class="am-radius chosen-select" data-validation-message="{{$data.common_app_is_use_mobile_detail.error_tips}}" required>
|
||||
<div class="am-radio-group">
|
||||
{{foreach :MyConst('common_is_text_list') as $v}}
|
||||
<option value="{{$v.id}}" {{if isset($data['common_app_is_use_mobile_detail']['value']) and $data['common_app_is_use_mobile_detail']['value'] eq $v['id']}}selected{{/if}}>{{$v.name}}</option>
|
||||
<label class="am-radio-inline">
|
||||
<input type="radio" value="{{$v.id}}" name="{{$data.common_app_is_use_mobile_detail.only_tag}}" data-validation-message="{{$data.common_app_is_use_mobile_detail.error_tips}}" required {{if isset($data['common_app_is_use_mobile_detail']['value']) and $data['common_app_is_use_mobile_detail']['value'] eq $v['id']}}checked{{/if}} data-am-ucheck>{{$v.name}}
|
||||
</label>
|
||||
{{/foreach}}
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="am-form-group">
|
||||
<label class="am-block">{{$data.common_user_is_mandatory_bind_mobile.name}}<span class="am-form-group-label-tips">{{$data.common_user_is_mandatory_bind_mobile.describe}}</span></label>
|
||||
<select name="{{$data.common_user_is_mandatory_bind_mobile.only_tag}}" class="am-radius chosen-select" data-validation-message="{{$data.common_user_is_mandatory_bind_mobile.error_tips}}" required>
|
||||
<div class="am-radio-group">
|
||||
{{foreach :MyConst('common_is_text_list') as $v}}
|
||||
<option value="{{$v.id}}" {{if isset($data['common_user_is_mandatory_bind_mobile']['value']) and $data['common_user_is_mandatory_bind_mobile']['value'] eq $v['id']}}selected{{/if}}>{{$v.name}}</option>
|
||||
<label class="am-radio-inline">
|
||||
<input type="radio" value="{{$v.id}}" name="{{$data.common_user_is_mandatory_bind_mobile.only_tag}}" data-validation-message="{{$data.common_user_is_mandatory_bind_mobile.error_tips}}" required {{if isset($data['common_user_is_mandatory_bind_mobile']['value']) and $data['common_user_is_mandatory_bind_mobile']['value'] eq $v['id']}}checked{{/if}} data-am-ucheck>{{$v.name}}
|
||||
</label>
|
||||
{{/foreach}}
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="am-form-group">
|
||||
<label class="am-block">{{$data.common_user_onekey_bind_mobile_list.name}}<span class="am-form-group-label-tips">{{$data.common_user_onekey_bind_mobile_list.describe}}</span></label>
|
||||
{{foreach :MyConst('common_platform_type') as $v}}
|
||||
{{if in_array($v['value'], ['weixin', 'baidu', 'toutiao'])}}
|
||||
<label class="am-checkbox-inline">
|
||||
<input type="checkbox" name="{{$data.common_user_onekey_bind_mobile_list.only_tag}}" value="{{$v.value}}" {{if isset($data['common_user_onekey_bind_mobile_list']['value']) and in_array($v['value'], $data['common_user_onekey_bind_mobile_list']['value'])}}checked{{/if}} data-validation-message="{{$data.common_user_onekey_bind_mobile_list.error_tips}}" data-am-ucheck /> {{$v.name}}
|
||||
</label>
|
||||
{{/if}}
|
||||
{{/foreach}}
|
||||
<div class="am-checkbox-group am-flex am-gap-12">
|
||||
{{foreach :MyConst('common_platform_type') as $v}}
|
||||
{{if in_array($v['value'], ['weixin', 'baidu', 'toutiao'])}}
|
||||
<label class="am-checkbox-inline">
|
||||
<input type="checkbox" name="{{$data.common_user_onekey_bind_mobile_list.only_tag}}" value="{{$v.value}}" {{if !empty($data['common_user_onekey_bind_mobile_list']) and isset($data['common_user_onekey_bind_mobile_list']['value']) and is_array($data['common_user_onekey_bind_mobile_list']['value']) and in_array($v['value'], $data['common_user_onekey_bind_mobile_list']['value'])}}checked{{/if}} data-validation-message="{{$data.common_user_onekey_bind_mobile_list.error_tips}}" data-am-ucheck /> {{$v.name}}
|
||||
</label>
|
||||
{{/if}}
|
||||
{{/foreach}}
|
||||
</div>
|
||||
{{if is_array(MyLang('appconfig.user_onekey_bind_mobile_tips_list'))}}
|
||||
<div class="am-alert am-alert-warning" data-am-alert>
|
||||
<button type="button" class="am-close">×</button>
|
||||
<div class="am-tips-card">
|
||||
<p>{{:implode('</p><p>', MyLang('appconfig.user_onekey_bind_mobile_tips_list'))}}</p>
|
||||
</div>
|
||||
{{/if}}
|
||||
@ -52,16 +69,17 @@
|
||||
|
||||
<div class="am-form-group">
|
||||
<label class="am-block">{{$data.common_user_address_platform_import_list.name}}<span class="am-form-group-label-tips">{{$data.common_user_address_platform_import_list.describe}}</span></label>
|
||||
{{foreach :MyConst('common_platform_type') as $v}}
|
||||
{{if in_array($v['value'], ['weixin', 'baidu', 'alipay', 'qq', 'toutiao'])}}
|
||||
<label class="am-checkbox-inline">
|
||||
<input type="checkbox" name="{{$data.common_user_address_platform_import_list.only_tag}}" value="{{$v.value}}" {{if isset($data['common_user_address_platform_import_list']['value']) and in_array($v['value'], $data['common_user_address_platform_import_list']['value'])}}checked{{/if}} data-validation-message="{{$data.common_user_address_platform_import_list.error_tips}}" data-am-ucheck /> {{$v.name}}
|
||||
</label>
|
||||
{{/if}}
|
||||
{{/foreach}}
|
||||
<div class="am-checkbox-group am-flex am-gap-12">
|
||||
{{foreach :MyConst('common_platform_type') as $v}}
|
||||
{{if in_array($v['value'], ['weixin', 'baidu', 'alipay', 'qq', 'toutiao'])}}
|
||||
<label class="am-checkbox-inline">
|
||||
<input type="checkbox" name="{{$data.common_user_address_platform_import_list.only_tag}}" value="{{$v.value}}" {{if !empty($data['common_user_address_platform_import_list']) and isset($data['common_user_address_platform_import_list']['value']) and is_array($data['common_user_address_platform_import_list']['value']) and in_array($v['value'], $data['common_user_address_platform_import_list']['value'])}}checked{{/if}} data-validation-message="{{$data.common_user_address_platform_import_list.error_tips}}" data-am-ucheck /> {{$v.name}}
|
||||
</label>
|
||||
{{/if}}
|
||||
{{/foreach}}
|
||||
</div>
|
||||
{{if is_array(MyLang('appconfig.user_address_platform_import_tips_list'))}}
|
||||
<div class="am-alert am-alert-warning" data-am-alert>
|
||||
<button type="button" class="am-close">×</button>
|
||||
<div class="am-tips-card">
|
||||
<p>{{:implode('</p><p>', MyLang('appconfig.user_address_platform_import_tips_list'))}}</p>
|
||||
</div>
|
||||
{{/if}}
|
||||
@ -69,80 +87,86 @@
|
||||
|
||||
<div class="am-form-group">
|
||||
<label class="am-block">{{$data.common_app_is_enable_search.name}}<span class="am-form-group-label-tips">{{$data.common_app_is_enable_search.describe}}</span></label>
|
||||
<select name="{{$data.common_app_is_enable_search.only_tag}}" class="am-radius chosen-select" data-validation-message="{{$data.common_app_is_enable_search.error_tips}}" required>
|
||||
<div class="am-radio-group">
|
||||
{{foreach :MyConst('common_is_text_list') as $v}}
|
||||
<option value="{{$v.id}}" {{if isset($data['common_app_is_enable_search']['value']) and $data['common_app_is_enable_search']['value'] eq $v['id']}}selected{{/if}}>{{$v.name}}</option>
|
||||
<label class="am-radio-inline">
|
||||
<input type="radio" value="{{$v.id}}" name="{{$data.common_app_is_enable_search.only_tag}}" data-validation-message="{{$data.common_app_is_enable_search.error_tips}}" required {{if isset($data['common_app_is_enable_search']['value']) and $data['common_app_is_enable_search']['value'] eq $v['id']}}checked{{/if}} data-am-ucheck>{{$v.name}}
|
||||
</label>
|
||||
{{/foreach}}
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="am-form-group">
|
||||
<label class="am-block">{{$data.common_app_is_header_nav_fixed.name}}<span class="am-form-group-label-tips">{{$data.common_app_is_header_nav_fixed.describe}}</span></label>
|
||||
<select name="{{$data.common_app_is_header_nav_fixed.only_tag}}" class="am-radius chosen-select" data-validation-message="{{$data.common_app_is_header_nav_fixed.error_tips}}" required>
|
||||
<div class="am-radio-group">
|
||||
{{foreach :MyConst('common_is_text_list') as $v}}
|
||||
<option value="{{$v.id}}" {{if isset($data['common_app_is_header_nav_fixed']['value']) and $data['common_app_is_header_nav_fixed']['value'] eq $v['id']}}selected{{/if}}>{{$v.name}}</option>
|
||||
<label class="am-radio-inline">
|
||||
<input type="radio" value="{{$v.id}}" name="{{$data.common_app_is_header_nav_fixed.only_tag}}" data-validation-message="{{$data.common_app_is_header_nav_fixed.error_tips}}" required {{if isset($data['common_app_is_header_nav_fixed']['value']) and $data['common_app_is_header_nav_fixed']['value'] eq $v['id']}}checked{{/if}} data-am-ucheck>{{$v.name}}
|
||||
</label>
|
||||
{{/foreach}}
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="am-form-group">
|
||||
<label class="am-block">{{$data.common_app_is_online_service.name}}<span class="am-form-group-label-tips">{{$data.common_app_is_online_service.describe}}</span></label>
|
||||
<select name="{{$data.common_app_is_online_service.only_tag}}" class="am-radius chosen-select" data-validation-message="{{$data.common_app_is_online_service.error_tips}}" required>
|
||||
<div class="am-radio-group">
|
||||
{{foreach :MyConst('common_is_text_list') as $v}}
|
||||
<option value="{{$v.id}}" {{if isset($data['common_app_is_online_service']['value']) and $data['common_app_is_online_service']['value'] eq $v['id']}}selected{{/if}}>{{$v.name}}</option>
|
||||
<label class="am-radio-inline">
|
||||
<input type="radio" value="{{$v.id}}" name="{{$data.common_app_is_online_service.only_tag}}" data-validation-message="{{$data.common_app_is_online_service.error_tips}}" required {{if isset($data['common_app_is_online_service']['value']) and $data['common_app_is_online_service']['value'] eq $v['id']}}checked{{/if}} data-am-ucheck>{{$v.name}}
|
||||
</label>
|
||||
{{/foreach}}
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="am-form-group">
|
||||
<label class="am-block">{{$data.common_app_is_head_vice_nav.name}}<span class="am-form-group-label-tips">{{$data.common_app_is_head_vice_nav.describe}}</span></label>
|
||||
<select name="{{$data.common_app_is_head_vice_nav.only_tag}}" class="am-radius chosen-select" data-validation-message="{{$data.common_app_is_head_vice_nav.error_tips}}" required>
|
||||
<div class="am-radio-group">
|
||||
{{foreach :MyConst('common_is_text_list') as $v}}
|
||||
<option value="{{$v.id}}" {{if isset($data['common_app_is_head_vice_nav']['value']) and $data['common_app_is_head_vice_nav']['value'] eq $v['id']}}selected{{/if}}>{{$v.name}}</option>
|
||||
<label class="am-radio-inline">
|
||||
<input type="radio" value="{{$v.id}}" name="{{$data.common_app_is_head_vice_nav.only_tag}}" data-validation-message="{{$data.common_app_is_head_vice_nav.error_tips}}" required {{if isset($data['common_app_is_head_vice_nav']['value']) and $data['common_app_is_head_vice_nav']['value'] eq $v['id']}}checked{{/if}} data-am-ucheck>{{$v.name}}
|
||||
</label>
|
||||
{{/foreach}}
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- 用户基础数据 -->
|
||||
<div class="am-panel am-panel-default am-radius">
|
||||
<div class="am-panel-hd">
|
||||
<h3 class="am-panel-title">{{:MyLang('appconfig.user_base_popup_title')}}</h3>
|
||||
</div>
|
||||
<div class="am-panel-bd am-padding-vertical-xs">
|
||||
<!-- 用户基础数据 -->
|
||||
<div class="item" data-key="user-base-popup">
|
||||
{{if is_array(MyLang('appconfig.user_base_popup_top_tips_list'))}}
|
||||
<div class="am-alert am-alert-warning am-margin-top-sm" data-am-alert>
|
||||
<button type="button" class="am-close">×</button>
|
||||
<div class="am-operate-stretch-tips">
|
||||
<div class="title">
|
||||
<i class="iconfont icon-tips"></i>
|
||||
<strong title="{{:MyLang('operate_list_tips_msg')}}">{{:MyLang('operate_list_tips_button_text')}}</strong>
|
||||
<i class="iconfont icon-contract contract" title="{{:MyLang('operate_list_tips_retract_text')}}"></i>
|
||||
</div>
|
||||
<p>{{:implode('</p><p>', MyLang('appconfig.user_base_popup_top_tips_list'))}}</p>
|
||||
</div>
|
||||
{{/if}}
|
||||
<div class="am-form-group">
|
||||
<label class="am-block">{{$data.common_app_user_base_popup_pages.name}}<span class="am-form-group-label-tips">{{$data.common_app_user_base_popup_pages.describe}}</span></label>
|
||||
{{foreach :MyConst('common_user_base_popup_pages_list') as $v}}
|
||||
<label class="am-checkbox-inline">
|
||||
<input type="checkbox" name="{{$data.common_app_user_base_popup_pages.only_tag}}" value="{{$v.value}}" {{if isset($data['common_app_user_base_popup_pages']['value']) and in_array($v['value'], $data['common_app_user_base_popup_pages']['value'])}}checked{{/if}} data-validation-message="{{$data.common_app_user_base_popup_pages.error_tips}}" data-am-ucheck /> {{$v.name}}
|
||||
</label>
|
||||
{{/foreach}}
|
||||
<div class="am-checkbox-group am-flex am-gap-12">
|
||||
{{foreach :MyConst('common_user_base_popup_pages_list') as $v}}
|
||||
<label class="am-checkbox-inline">
|
||||
<input type="checkbox" name="{{$data.common_app_user_base_popup_pages.only_tag}}" value="{{$v.value}}" {{if isset($data['common_app_user_base_popup_pages']['value']) and in_array($v['value'], $data['common_app_user_base_popup_pages']['value'])}}checked{{/if}} data-validation-message="{{$data.common_app_user_base_popup_pages.error_tips}}" data-am-ucheck /> {{$v.name}}
|
||||
</label>
|
||||
{{/foreach}}
|
||||
</div>
|
||||
</div>
|
||||
<div class="am-form-group">
|
||||
<label class="am-block">{{$data.common_app_user_base_popup_client.name}}<span class="am-form-group-label-tips">{{$data.common_app_user_base_popup_client.describe}}</span></label>
|
||||
{{foreach :MyConst('common_platform_type') as $v}}
|
||||
{{if !in_array($v['value'], ['pc'])}}
|
||||
<label class="am-checkbox-inline">
|
||||
<input type="checkbox" name="{{$data.common_app_user_base_popup_client.only_tag}}" value="{{$v.value}}" {{if isset($data['common_app_user_base_popup_client']['value']) and in_array($v['value'], $data['common_app_user_base_popup_client']['value'])}}checked{{/if}} data-validation-message="{{$data.common_app_user_base_popup_client.error_tips}}" data-am-ucheck /> {{$v.name}}
|
||||
</label>
|
||||
{{/if}}
|
||||
{{/foreach}}
|
||||
<div class="am-checkbox-group am-flex am-gap-12">
|
||||
{{foreach :MyConst('common_platform_type') as $v}}
|
||||
{{if !in_array($v['value'], ['pc'])}}
|
||||
<label class="am-checkbox-inline">
|
||||
<input type="checkbox" name="{{$data.common_app_user_base_popup_client.only_tag}}" value="{{$v.value}}" {{if isset($data['common_app_user_base_popup_client']['value']) and in_array($v['value'], $data['common_app_user_base_popup_client']['value'])}}checked{{/if}} data-validation-message="{{$data.common_app_user_base_popup_client.error_tips}}" data-am-ucheck /> {{$v.name}}
|
||||
</label>
|
||||
{{/if}}
|
||||
{{/foreach}}
|
||||
</div>
|
||||
</div>
|
||||
<div class="am-form-group">
|
||||
<label class="am-block">{{$data.common_app_user_base_popup_interval_time.name}}<span class="am-form-group-label-tips">{{$data.common_app_user_base_popup_interval_time.describe}}</span></label>
|
||||
<div class="am-input-group am-input-group-sm">
|
||||
<input type="number" min="0" name="{{$data.common_app_user_base_popup_interval_time.only_tag}}" placeholder="{{$data.common_app_user_base_popup_interval_time.name}}" data-validation-message="{{$data.common_app_user_base_popup_interval_time.error_tips}}" class="am-radius am-form-field" {{if !empty($data)}}value="{{$data.common_app_user_base_popup_interval_time.value}}"{{/if}} />
|
||||
<span class="am-input-group-btn">
|
||||
<button class="am-btn am-btn-default" type="button">{{:MyLang('second_title')}}</button>
|
||||
</span>
|
||||
</div>
|
||||
<input type="number" min="0" name="{{$data.common_app_user_base_popup_interval_time.only_tag}}" placeholder="{{$data.common_app_user_base_popup_interval_time.name}}" data-validation-message="{{$data.common_app_user_base_popup_interval_time.error_tips}}" class="am-radius am-form-field" {{if !empty($data)}}value="{{$data.common_app_user_base_popup_interval_time.value}}"{{/if}} />
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
@ -2,53 +2,57 @@
|
||||
|
||||
<!-- right content start -->
|
||||
<div class="content-right">
|
||||
<!-- table nav start -->
|
||||
{{include file="appconfig/nav" /}}
|
||||
<!-- table nav end -->
|
||||
|
||||
<div class="content">
|
||||
<!-- form start -->
|
||||
<form class="am-form form-validation am-form-popup-fixed" action="{{:MyUrl('admin/appconfig/save', ['nav_type'=>$nav_type])}}" method="POST" request-type="ajax-reload">
|
||||
<div class="am-form-group">
|
||||
<!-- table nav start -->
|
||||
{{:ModuleInclude('public/nav_switch_tabs', [
|
||||
'nav_data' => $nav_data,
|
||||
'nav_type' => $nav_type,
|
||||
'url' => 'admin/appconfig/index'
|
||||
])}}
|
||||
<!-- table nav end -->
|
||||
<!-- form start -->
|
||||
<form class="am-form form-validation am-form-popup-sticky" action="{{:MyUrl('admin/appconfig/save', ['nav_type'=>$nav_type])}}" method="POST" request-type="ajax-view">
|
||||
<div class="am-form-group">
|
||||
<label>{{$data.common_app_h5_url.name}}<span class="am-form-group-label-tips">{{$data.common_app_h5_url.describe}}</span></label>
|
||||
<input type="text" name="{{$data.common_app_h5_url.only_tag}}" placeholder="{{$data.common_app_h5_url.name}}" data-validation-message="{{$data.common_app_h5_url.error_tips}}" class="am-radius" {{if !empty($data)}}value="{{$data.common_app_h5_url.value}}"{{/if}} />
|
||||
</div>
|
||||
<div class="am-form-group">
|
||||
<div class="am-form-group">
|
||||
<label>{{$data.common_is_mobile_concise_model.name}}<span class="am-form-group-label-tips">{{$data.common_is_mobile_concise_model.describe}}</span></label>
|
||||
<select name="{{$data.common_is_mobile_concise_model.only_tag}}" class="am-radius chosen-select" data-validation-message="{{$data.common_is_mobile_concise_model.error_tips}}" required>
|
||||
<div class="am-radio-group">
|
||||
{{foreach :MyConst('common_is_text_list') as $v}}
|
||||
<option value="{{$v.id}}" {{if isset($data['common_is_mobile_concise_model']['value']) and $data['common_is_mobile_concise_model']['value'] eq $v['id']}}selected{{/if}}>{{$v.name}}</option>
|
||||
<label class="am-radio-inline">
|
||||
<input type="radio" value="{{$v.id}}" name="{{$data.common_is_mobile_concise_model.only_tag}}" data-validation-message="{{$data.common_is_mobile_concise_model.error_tips}}" required {{if isset($data['common_is_mobile_concise_model']['value']) and $data['common_is_mobile_concise_model']['value'] eq $v['id']}}checked{{/if}} data-am-ucheck>{{$v.name}}
|
||||
</label>
|
||||
{{/foreach}}
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="am-form-group">
|
||||
<label>{{$data.common_app_customer_service_tel.name}}<span class="am-form-group-label-tips">{{$data.common_app_customer_service_tel.describe}}</span></label>
|
||||
<input type="text" name="{{$data.common_app_customer_service_tel.only_tag}}" placeholder="{{$data.common_app_customer_service_tel.name}}" data-validation-message="{{$data.common_app_customer_service_tel.error_tips}}" class="am-radius" {{if !empty($data)}}value="{{$data.common_app_customer_service_tel.value}}"{{/if}} />
|
||||
</div>
|
||||
<div class="am-form-group">
|
||||
<label>{{$data.common_app_customer_service_tel.name}}<span class="am-form-group-label-tips">{{$data.common_app_customer_service_tel.describe}}</span></label>
|
||||
<input type="text" name="{{$data.common_app_customer_service_tel.only_tag}}" placeholder="{{$data.common_app_customer_service_tel.name}}" data-validation-message="{{$data.common_app_customer_service_tel.error_tips}}" class="am-radius" {{if !empty($data)}}value="{{$data.common_app_customer_service_tel.value}}"{{/if}} />
|
||||
</div>
|
||||
|
||||
<div class="am-form-group">
|
||||
<label>{{$data.common_shop_notice.name}}<span class="am-form-group-label-tips">{{$data.common_shop_notice.describe}}</span></label>
|
||||
<textarea rows="3" name="{{$data.common_shop_notice.only_tag}}" class="am-radius" placeholder="{{$data.common_shop_notice.name}}" data-validation-message="{{$data.common_shop_notice.error_tips}}">{{if !empty($data)}}{{$data.common_shop_notice.value}}{{/if}}</textarea>
|
||||
</div>
|
||||
<div class="am-form-group">
|
||||
<label>{{$data.common_user_center_notice.name}}<span class="am-form-group-label-tips">{{$data.common_user_center_notice.describe}}</span></label>
|
||||
<textarea rows="4" name="{{$data.common_user_center_notice.only_tag}}" class="am-radius" placeholder="{{$data.common_user_center_notice.name}}" data-validation-message="{{$data.common_user_center_notice.error_tips}}">{{if !empty($data)}}{{$data.common_user_center_notice.value}}{{/if}}</textarea>
|
||||
</div>
|
||||
|
||||
<div class="am-form-popup-submit">
|
||||
<div class="am-form-group">
|
||||
<label>{{$data.common_shop_notice.name}}<span class="am-form-group-label-tips">{{$data.common_shop_notice.describe}}</span></label>
|
||||
<textarea rows="3" name="{{$data.common_shop_notice.only_tag}}" class="am-radius" placeholder="{{$data.common_shop_notice.name}}" data-validation-message="{{$data.common_shop_notice.error_tips}}">{{if !empty($data)}}{{$data.common_shop_notice.value}}{{/if}}</textarea>
|
||||
</div>
|
||||
<div class="am-form-group">
|
||||
<label>{{$data.common_user_center_notice.name}}<span class="am-form-group-label-tips">{{$data.common_user_center_notice.describe}}</span></label>
|
||||
<textarea rows="4" name="{{$data.common_user_center_notice.only_tag}}" class="am-radius" placeholder="{{$data.common_user_center_notice.name}}" data-validation-message="{{$data.common_user_center_notice.error_tips}}">{{if !empty($data)}}{{$data.common_user_center_notice.value}}{{/if}}</textarea>
|
||||
</div>
|
||||
|
||||
<div class="am-form-popup-submit">
|
||||
<input type="hidden" name="nav_type" value="{{$nav_type}}" />
|
||||
<button type="submit" class="am-btn am-btn-primary am-radius am-btn-xs btn-loading-example" data-am-loading="{spinner: 'circle-o-notch', loadingText:'{{:MyLang('save_title')}}'}">
|
||||
<button type="submit" class="am-btn am-btn-primary am-radius am-btn-xs btn-loading-example" data-am-loading="{spinner: 'circle-o-notch', loadingText:'{{:MyLang('save_title')}}'}">
|
||||
<i class="am-icon-save"></i>
|
||||
<span>{{:MyLang('save_title')}}</span>
|
||||
</button>
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
</form>
|
||||
<!-- form end -->
|
||||
</div>
|
||||
</div>
|
||||
<!-- right content end -->
|
||||
|
||||
<!-- footer start -->
|
||||
{{include file="public/footer" /}}
|
||||
<!-- footer end -->
|
||||
{{include file="public/footer" /}}
|
@ -1,9 +0,0 @@
|
||||
{{if !empty($nav_data) and is_array($nav_data)}}
|
||||
<ul class="am-nav am-nav-pills table-nav second-nav">
|
||||
{{foreach $nav_data as $v}}
|
||||
<li {{if $nav_type eq $v['type']}}class="am-active"{{/if}} data-type="{{$v.type}}">
|
||||
<a href="{{:MyUrl('admin/appconfig/index', ['nav_type'=>$v['type']])}}">{{$v.name}}</a>
|
||||
</li>
|
||||
{{/foreach}}
|
||||
</ul>
|
||||
{{/if}}
|
@ -3,7 +3,10 @@
|
||||
|
||||
<!-- 表单顶部操作栏 -->
|
||||
{{block name="form_operate_top"}}
|
||||
<a href="{{:MyUrl('admin/apphomenav/saveinfo')}}" class="am-btn am-btn-secondary am-radius am-btn-xs am-icon-plus"> {{:MyLang('add_title')}}</a>
|
||||
<a href="{{:MyUrl('admin/apphomenav/saveinfo')}}" class="am-btn am-btn-primary am-radius am-btn-xs">
|
||||
<i class="iconfont icon-btn-add am-show-sm-only"></i>
|
||||
<span class="am-hide-sm-only">{{:MyLang('add_title')}}</span>
|
||||
</a>
|
||||
<!-- 父级内容 -->
|
||||
{__block__}
|
||||
{{/block}}
|
@ -1,5 +1,5 @@
|
||||
<!-- 操作栏 -->
|
||||
<button type="button" class="am-btn am-btn-default am-btn-xs am-radius am-btn-block submit-popup" data-url="{{:MyUrl('admin/apphomenav/detail', ['id'=>$module_data['id']])}}">
|
||||
<button type="button" class="am-btn am-btn-default am-btn-xs am-radius am-btn-block submit-popup" data-url="{{:MyUrl('admin/apphomenav/detail', ['id'=>$module_data['id']])}}" data-title="{{:MyLang('detail_title')}}">
|
||||
<i class="am-icon-eye"></i>
|
||||
<span>{{:MyLang('detail_title')}}</span>
|
||||
</button>
|
||||
|
@ -3,114 +3,86 @@
|
||||
<!-- right content start -->
|
||||
<div class="content-right">
|
||||
<div class="content">
|
||||
<!-- form start -->
|
||||
<form class="am-form form-validation am-form-full-screen am-form-popup-fixed" action="{{:MyUrl('admin/apphomenav/save')}}" method="POST" request-type="ajax-url" request-value="{{:MyUrl('admin/apphomenav/index', $params)}}" enctype="multipart/form-data">
|
||||
<legend>
|
||||
<span class="am-text-default">{{:MyLang('apphomenav.base_nav_title')}}{{if empty($data['id'])}}{{:MyLang('created_title')}}{{else /}}{{:MyLang('edit_title')}}{{/if}}</span>
|
||||
<a href="{{:MyUrl('admin/apphomenav/index', $params)}}" class="am-fr am-text-sm am-margin-top-sm am-icon-mail-reply"> {{:MyLang('retreat_title')}}</a>
|
||||
</legend>
|
||||
<!-- nav start -->
|
||||
{{:ModuleInclude('public/admin_nav', [
|
||||
'title' => MyLang('apphomenav.base_nav_title').(empty($data['id']) ? MyLang('created_title') : MyLang('edit_title')),
|
||||
'back_url' => MyUrl('admin/apphomenav/index', $params)
|
||||
])}}
|
||||
<!-- nav end -->
|
||||
<!-- form start -->
|
||||
<form class="am-form form-validation am-form-full-screen am-form-popup-sticky" action="{{:MyUrl('admin/apphomenav/save')}}" method="POST" request-type="ajax-url" request-value="{{:MyUrl('admin/apphomenav/index', $params)}}" enctype="multipart/form-data">
|
||||
<div class="am-form-group">
|
||||
<label>{{:MyLang('common_service.apphomenav.form_item_name')}}<span class="am-form-group-label-tips-must">*</span></label>
|
||||
<input type="text" name="name" placeholder="{{:MyLang('common_service.apphomenav.form_item_name_message')}}" minlength="2" maxlength="60" data-validation-message="{{:MyLang('common_service.apphomenav.form_item_name_message')}}" class="am-radius" {{if !empty($data['name'])}} value="{{$data.name}}"{{/if}} required />
|
||||
</div>
|
||||
<div class="am-form-group">
|
||||
<label>{{:MyLang('form_platform_title')}}<span class="am-form-group-label-tips-must">*</span></label>
|
||||
<select name="platform" class="am-radius chosen-select" data-placeholder="{{:MyLang('optional_tips')}}" data-validation-message="{{:MyLang('form_platform_message')}}" required>
|
||||
<option value="">{{:MyLang('optional_tips')}}</option>
|
||||
{{foreach $common_platform_type as $v}}
|
||||
<option value="{{$v.value}}" {{if isset($data['platform']) and $data['platform'] eq $v['value']}}selected{{else /}}{{if !isset($data['platform']) and isset($v['checked']) and $v['checked'] eq true}}selected{{/if}}{{/if}}>{{$v.name}}</option>
|
||||
{{/foreach}}
|
||||
</select>
|
||||
</div>
|
||||
<div class="am-form-group">
|
||||
<label>{{:MyLang('form_event_type_title')}}</label>
|
||||
<select name="event_type" class="am-radius chosen-select" data-placeholder="{{:MyLang('optional_tips')}}" data-validation-message="{{:MyLang('form_event_type_message')}}">
|
||||
<option value="">{{:MyLang('optional_tips')}}</option>
|
||||
{{foreach $common_app_event_type as $v}}
|
||||
<option value="{{$v.value}}" {{if isset($data['event_type']) and $data['event_type'] eq $v['value']}}selected{{else /}}{{if !isset($data['event_type']) and isset($v['checked']) and $v['checked'] eq true}}selected{{/if}}{{/if}}>{{$v.name}}</option>
|
||||
{{/foreach}}
|
||||
</select>
|
||||
</div>
|
||||
<div class="am-form-group">
|
||||
<label>{{:MyLang('form_bg_color_title')}}</label>
|
||||
<div class="colorpicker-container">
|
||||
<input type="hidden" name="bg_color" value="{{if !empty($data['bg_color'])}}{{$data.bg_color}}{{/if}}" />
|
||||
<div class="colorpicker-submit" data-color="{{if !empty($data['bg_color'])}}{{$data.bg_color}}{{/if}}" data-color-style="background-color" data-color-tag="input[name='bg_color']"></div>
|
||||
<img class="imitate-colorpicker-submit" src="{{$attachment_host}}/static/common/images/colorpicker.png" width="24" height="24" />
|
||||
</div>
|
||||
</div>
|
||||
<div class="am-form-group">
|
||||
<label>{{:MyLang('form_event_value_title')}}</label>
|
||||
<input type="text" name="event_value" placeholder="{{:MyLang('form_event_value_message')}}" data-validation-message="{{:MyLang('form_event_value_message')}}" class="am-radius" {{if !empty($data['event_value'])}} value="{{$data.event_value}}"{{/if}} />
|
||||
{{include file="public/event_value_tips" /}}
|
||||
</div>
|
||||
|
||||
<div class="am-cf">
|
||||
<div class="am-u-sm-6 am-padding-horizontal-0">
|
||||
<div class="am-form-group">
|
||||
<label>{{:MyLang('common_service.apphomenav.form_item_name')}}<span class="am-form-group-label-tips-must">*</span></label>
|
||||
<input type="text" name="name" placeholder="{{:MyLang('common_service.apphomenav.form_item_name_message')}}" minlength="2" maxlength="60" data-validation-message="{{:MyLang('common_service.apphomenav.form_item_name_message')}}" class="am-radius" {{if !empty($data['name'])}} value="{{$data.name}}"{{/if}} required />
|
||||
</div>
|
||||
</div>
|
||||
<div class="am-u-sm-6 am-padding-horizontal-0">
|
||||
<div class="am-form-group">
|
||||
<label>{{:MyLang('form_platform_title')}}<span class="am-form-group-label-tips-must">*</span></label>
|
||||
<select name="platform" class="am-radius chosen-select" data-placeholder="{{:MyLang('optional_tips')}}" data-validation-message="{{:MyLang('form_platform_message')}}" required>
|
||||
<option value="">{{:MyLang('optional_tips')}}</option>
|
||||
{{foreach $common_platform_type as $v}}
|
||||
<option value="{{$v.value}}" {{if isset($data['platform']) and $data['platform'] eq $v['value']}}selected{{else /}}{{if !isset($data['platform']) and isset($v['checked']) and $v['checked'] eq true}}selected{{/if}}{{/if}}>{{$v.name}}</option>
|
||||
{{/foreach}}
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="am-form-group am-form-file">
|
||||
<label class="am-block">{{:MyLang('common_service.apphomenav.form_item_images_url')}}<span class="am-form-group-label-tips-must">*</span></label>
|
||||
<div class="am-form-file-upload-container">
|
||||
<ul class="plug-file-upload-view slide-images_url-images-view" data-form-name="images_url" data-max-number="1" data-dialog-type="images" data-is-eye="1">
|
||||
<li class="plug-file-upload-submit" data-view-tag="ul.slide-images_url-images-view">
|
||||
{{if empty($data['images_url'])}}
|
||||
<i class="iconfont icon-upload-add"></i>
|
||||
{{else /}}
|
||||
<input type="text" name="images_url" value="{{$data.images_url}}" />
|
||||
<img src="{{$data.images_url}}" />
|
||||
<i>×</i>
|
||||
<i class="iconfont icon-eye"></i>
|
||||
{{/if}}
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
{{include file="lib/sort" /}}
|
||||
{{include file="lib/is_enable" /}}
|
||||
<div class="am-form-group">
|
||||
<label class="am-block">{{:MyLang('common_service.apphomenav.form_item_is_need_login')}}</label>
|
||||
<input name="is_need_login" value="1" type="checkbox" data-off-text="{{:MyLang('no_title')}}" data-on-text="{{:MyLang('yes_title')}}" data-size="xs" data-on-color="success" data-off-color="default" data-handle-width="50" data-am-switch {{if !empty($data) and $data['is_need_login'] eq 1}} checked="true"{{/if}} />
|
||||
</div>
|
||||
|
||||
<div class="am-cf">
|
||||
<div class="am-u-sm-6 am-padding-horizontal-0">
|
||||
<div class="am-form-group">
|
||||
<label>{{:MyLang('form_event_type_title')}}</label>
|
||||
<select name="event_type" class="am-radius chosen-select" data-placeholder="{{:MyLang('optional_tips')}}" data-validation-message="{{:MyLang('form_event_type_message')}}">
|
||||
<option value="">{{:MyLang('optional_tips')}}</option>
|
||||
{{foreach $common_app_event_type as $v}}
|
||||
<option value="{{$v.value}}" {{if isset($data['event_type']) and $data['event_type'] eq $v['value']}}selected{{else /}}{{if !isset($data['event_type']) and isset($v['checked']) and $v['checked'] eq true}}selected{{/if}}{{/if}}>{{$v.name}}</option>
|
||||
{{/foreach}}
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
<div class="am-u-sm-6 am-padding-horizontal-0">
|
||||
<div class="am-form-group">
|
||||
<label>{{:MyLang('form_bg_color_title')}}</label>
|
||||
<input type="hidden" name="bg_color" value="{{if !empty($data['bg_color'])}}{{$data.bg_color}}{{/if}}" />
|
||||
<button class="am-btn am-btn-default am-btn-xs colorpicker-submit bg-color-tag am-btn-block bk-cr-white t-r" type="button" data-input-tag="button.bg-color-tag" data-color-tag="input[name='bg_color']" data-color-style="background-color" {{if !empty($data)}} style="background-color:{{$data.bg_color}};"{{/if}}>
|
||||
<img src="{{$attachment_host}}/static/common/images/colorpicker.png" />
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="am-form-group">
|
||||
<label>{{:MyLang('form_event_value_title')}}</label>
|
||||
<input type="text" name="event_value" placeholder="{{:MyLang('form_event_value_message')}}" data-validation-message="{{:MyLang('form_event_value_message')}}" class="am-radius" {{if !empty($data['event_value'])}} value="{{$data.event_value}}"{{/if}} />
|
||||
{{include file="public/event_value_tips" /}}
|
||||
</div>
|
||||
|
||||
<div class="am-cf">
|
||||
<div class="am-u-sm-6 am-padding-horizontal-0">
|
||||
<div class="am-form-group am-form-file">
|
||||
<label class="am-block">{{:MyLang('common_service.apphomenav.form_item_images_url')}}<span class="am-form-group-label-tips-must">*</span></label>
|
||||
<ul class="plug-file-upload-view slide-images_url-images-view" data-form-name="images_url" data-max-number="1" data-delete="0" data-dialog-type="images">
|
||||
<li>
|
||||
<input type="text" name="images_url" value="{{if !empty($data['images_url'])}}{{$data.images_url}}{{/if}}" data-validation-message="{{:MyLang('form_upload_images_message')}}" required />
|
||||
<img src="{{if !empty($data['images_url'])}}{{$data.images_url}}{{else /}}{{$attachment_host}}/static/admin/default/images/default-images.jpg{{/if}}" />
|
||||
</li>
|
||||
</ul>
|
||||
<div class="plug-file-upload-submit" data-view-tag="ul.slide-images_url-images-view">+ {{:MyLang('form_upload_images_title')}}</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="am-u-sm-6 am-padding-horizontal-0">
|
||||
<div class="am-cf">
|
||||
<div class="am-u-sm-12 am-padding-horizontal-0">
|
||||
{{include file="lib/sort" /}}
|
||||
</div>
|
||||
<div class="am-u-sm-12 am-padding-horizontal-0">
|
||||
<div class="am-cf">
|
||||
<div class="am-u-sm-12 am-u-md-6 am-padding-horizontal-0">
|
||||
{{include file="lib/is_enable" /}}
|
||||
</div>
|
||||
<div class="am-u-sm-12 am-u-md-6 am-padding-horizontal-0">
|
||||
<div class="am-form-group">
|
||||
<label class="am-block">{{:MyLang('common_service.apphomenav.form_item_is_need_login')}}</label>
|
||||
<input name="is_need_login" value="1" type="checkbox" data-off-text="{{:MyLang('no_title')}}" data-on-text="{{:MyLang('yes_title')}}" data-size="xs" data-on-color="success" data-off-color="default" data-handle-width="50" data-am-switch {{if !empty($data) and $data['is_need_login'] eq 1}} checked="true"{{/if}} />
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="am-form-popup-submit">
|
||||
<input type="hidden" name="id" {{if !empty($data['id'])}} value="{{$data.id}}"{{/if}} />
|
||||
<a href="{{:MyUrl('admin/apphomenav/index', $params)}}" class="am-btn am-btn-warning am-radius am-btn-xs am-margin-right-lg">
|
||||
<i class="am-icon-mail-reply"></i>
|
||||
<span>{{:MyLang('retreat_title')}}</span>
|
||||
</a>
|
||||
<div class="am-form-popup-submit">
|
||||
<input type="hidden" name="id" {{if !empty($data['id'])}} value="{{$data.id}}"{{/if}} />
|
||||
<button type="submit" class="am-btn am-btn-primary am-radius am-btn-xs btn-loading-example" data-am-loading="{spinner: 'circle-o-notch', loadingText:'{{:MyLang('save_title')}}'}">
|
||||
<i class="am-icon-save"></i>
|
||||
<span>{{:MyLang('save_title')}}</span>
|
||||
</button>
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
</form>
|
||||
<!-- form end -->
|
||||
</div>
|
||||
</div>
|
||||
<!-- right content end -->
|
||||
|
||||
<!-- footer start -->
|
||||
{{include file="public/footer" /}}
|
||||
<!-- footer end -->
|
||||
{{include file="public/footer" /}}
|
@ -2,243 +2,227 @@
|
||||
|
||||
<!-- right content start -->
|
||||
<div class="content-right">
|
||||
<!-- second nav start -->
|
||||
{{include file="appmini/nav" /}}
|
||||
<!-- second nav end -->
|
||||
<div class="content">
|
||||
<!-- 新版本小程序主题提示 -->
|
||||
<div class="am-alert am-alert-warning am-radius">
|
||||
<a class="am-fr" href="{{$store_theme_url}}" target="_blank">{{:MyLang('appmini.nav_store_theme_name')}} <i class="am-icon-external-link"></i></a>
|
||||
<p class="am-text-sm">{{:MyLang('appmini.nav_theme_download_tips')}}</p>
|
||||
<p class="am-margin-top-xs">
|
||||
<a href="https://uniapp.shopxo.net/" target="_blank">{{:MyLang('appmini.nav_theme_download_name')}} <i class="am-icon-external-link"></i></a>
|
||||
</p>
|
||||
</div>
|
||||
<!-- 新版本小程序主题提示 -->
|
||||
<div class="am-operate-stretch-tips">
|
||||
<div class="title">
|
||||
<i class="iconfont icon-tips"></i>
|
||||
<strong title="{{:MyLang('operate_list_tips_msg')}}">{{:MyLang('operate_list_tips_button_text')}}</strong>
|
||||
<i class="iconfont icon-contract contract" title="{{:MyLang('operate_list_tips_retract_text')}}"></i>
|
||||
</div>
|
||||
<div class="am-pr">
|
||||
<p class="am-text-sm">{{:MyLang('appmini.nav_theme_download_tips')}}</p>
|
||||
<a class="am-fr" href="{{$store_theme_url}}" target="_blank">
|
||||
<i class="iconfont icon-download-btn"></i>
|
||||
<span>{{:MyLang('appmini.nav_store_theme_name')}}</span>
|
||||
</a>
|
||||
<p class="am-margin-top-xs">
|
||||
<a href="https://uniapp.shopxo.net/" target="_blank">{{:MyLang('appmini.nav_theme_download_name')}} <i class="am-icon-external-link"></i></a>
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- form start -->
|
||||
<form class="am-form form-validation am-form-popup-fixed" action="{{:MyUrl('admin/appmini/save', ['nav_type'=>$nav_type])}}" method="POST" request-type="ajax-url" request-value="{{:MyUrl('admin/appmini/config', ['nav_type'=>$nav_type])}}">
|
||||
{{switch $nav_type}}
|
||||
{{case weixin}}
|
||||
<!-- 微信 -->
|
||||
<div class="am-panel am-panel-default am-radius">
|
||||
<div class="am-panel-hd">
|
||||
<h3 class="am-panel-title">{{:MyLang('base_config_title')}}</h3>
|
||||
</div>
|
||||
<div class="am-panel-bd">
|
||||
<div class="am-form-group">
|
||||
<label>{{$data.common_app_mini_weixin_appid.name}}<span class="am-form-group-label-tips">{{$data.common_app_mini_weixin_appid.describe}}</span></label>
|
||||
<input type="text" name="{{$data.common_app_mini_weixin_appid.only_tag}}" placeholder="{{$data.common_app_mini_weixin_appid.name}}" data-validation-message="{{$data.common_app_mini_weixin_appid.error_tips}}" class="am-radius" {{if !empty($data)}}value="{{$data.common_app_mini_weixin_appid.value}}"{{/if}} />
|
||||
</div>
|
||||
<div class="am-form-group">
|
||||
<label>{{$data.common_app_mini_weixin_appsecret.name}}<span class="am-form-group-label-tips">{{$data.common_app_mini_weixin_appsecret.describe}}</span></label>
|
||||
<input type="text" name="{{$data.common_app_mini_weixin_appsecret.only_tag}}" placeholder="{{$data.common_app_mini_weixin_appsecret.name}}" data-validation-message="{{$data.common_app_mini_weixin_appsecret.error_tips}}" class="am-radius" {{if !empty($data)}}value="{{$data.common_app_mini_weixin_appsecret.value}}"{{/if}} />
|
||||
</div>
|
||||
<div class="am-form-group">
|
||||
<label>{{$data.common_app_mini_weixin_title.name}}</label>
|
||||
<input type="text" name="{{$data.common_app_mini_weixin_title.only_tag}}" placeholder="{{$data.common_app_mini_weixin_title.name}}" data-validation-message="{{$data.common_app_mini_weixin_title.error_tips}}" class="am-radius" {{if !empty($data)}}value="{{$data.common_app_mini_weixin_title.value}}"{{/if}} />
|
||||
</div>
|
||||
<div class="am-form-group">
|
||||
<label>{{$data.common_app_mini_weixin_describe.name}}</label>
|
||||
<input type="text" name="{{$data.common_app_mini_weixin_describe.only_tag}}" placeholder="{{$data.common_app_mini_weixin_describe.name}}" data-validation-message="{{$data.common_app_mini_weixin_describe.error_tips}}" class="am-radius" {{if !empty($data)}}value="{{$data.common_app_mini_weixin_describe.value}}"{{/if}} />
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="am-panel am-panel-default am-radius">
|
||||
<div class="am-panel-hd">
|
||||
<h3 class="am-panel-title">{{:MyLang('extend_config_title')}}</h3>
|
||||
</div>
|
||||
<div class="am-panel-bd">
|
||||
<div class="am-form-group">
|
||||
<label>{{$data.common_app_mini_weixin_privacy_content.name}}<span class="am-form-group-label-tips">{{$data.common_app_mini_weixin_privacy_content.describe}}</span></label>
|
||||
<textarea rows="4" name="{{$data.common_app_mini_weixin_privacy_content.only_tag}}" class="am-radius" placeholder="{{$data.common_app_mini_weixin_privacy_content.name}}" data-validation-message="{{$data.common_app_mini_weixin_privacy_content.error_tips}}">{{if !empty($data)}}{{$data.common_app_mini_weixin_privacy_content.value}}{{/if}}</textarea>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
{{/case}}
|
||||
{{case alipay}}
|
||||
<!-- 支付宝 -->
|
||||
<div class="am-panel am-panel-default am-radius">
|
||||
<div class="am-panel-hd">
|
||||
<h3 class="am-panel-title">{{:MyLang('base_config_title')}}</h3>
|
||||
</div>
|
||||
<div class="am-panel-bd">
|
||||
<div class="am-form-group">
|
||||
<label>{{$data.common_app_mini_alipay_appid.name}}</label>
|
||||
<input type="text" name="{{$data.common_app_mini_alipay_appid.only_tag}}" placeholder="{{$data.common_app_mini_alipay_appid.name}}" data-validation-message="{{$data.common_app_mini_alipay_appid.error_tips}}" class="am-radius" {{if !empty($data)}}value="{{$data.common_app_mini_alipay_appid.value}}"{{/if}} />
|
||||
</div>
|
||||
<div class="am-form-group">
|
||||
<label>{{$data.common_app_mini_alipay_rsa_public.name}}</label>
|
||||
<textarea rows="3" name="{{$data.common_app_mini_alipay_rsa_public.only_tag}}" class="am-radius" placeholder="{{$data.common_app_mini_alipay_rsa_public.name}}" data-validation-message="{{$data.common_app_mini_alipay_rsa_public.error_tips}}">{{if !empty($data)}}{{$data.common_app_mini_alipay_rsa_public.value}}{{/if}}</textarea>
|
||||
</div>
|
||||
<div class="am-form-group">
|
||||
<label>{{$data.common_app_mini_alipay_rsa_private.name}}</label>
|
||||
<textarea rows="3" name="{{$data.common_app_mini_alipay_rsa_private.only_tag}}" class="am-radius" placeholder="{{$data.common_app_mini_alipay_rsa_private.name}}" data-validation-message="{{$data.common_app_mini_alipay_rsa_private.error_tips}}">{{if !empty($data)}}{{$data.common_app_mini_alipay_rsa_private.value}}{{/if}}</textarea>
|
||||
</div>
|
||||
<div class="am-form-group">
|
||||
<label>{{$data.common_app_mini_alipay_out_rsa_public.name}}</label>
|
||||
<textarea rows="3" name="{{$data.common_app_mini_alipay_out_rsa_public.only_tag}}" class="am-radius" placeholder="{{$data.common_app_mini_alipay_out_rsa_public.name}}" data-validation-message="{{$data.common_app_mini_alipay_out_rsa_public.error_tips}}">{{if !empty($data)}}{{$data.common_app_mini_alipay_out_rsa_public.value}}{{/if}}</textarea>
|
||||
</div>
|
||||
<div class="am-form-group">
|
||||
<label>{{$data.common_app_mini_alipay_title.name}}</label>
|
||||
<input type="text" name="{{$data.common_app_mini_alipay_title.only_tag}}" placeholder="{{$data.common_app_mini_alipay_title.name}}" data-validation-message="{{$data.common_app_mini_alipay_title.error_tips}}" class="am-radius" {{if !empty($data)}}value="{{$data.common_app_mini_alipay_title.value}}"{{/if}} />
|
||||
</div>
|
||||
<div class="am-form-group">
|
||||
<label>{{$data.common_app_mini_alipay_describe.name}}</label>
|
||||
<input type="text" name="{{$data.common_app_mini_alipay_describe.only_tag}}" placeholder="{{$data.common_app_mini_alipay_describe.name}}" data-validation-message="{{$data.common_app_mini_alipay_describe.error_tips}}" class="am-radius" {{if !empty($data)}}value="{{$data.common_app_mini_alipay_describe.value}}"{{/if}} />
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="am-panel am-panel-default am-radius">
|
||||
<div class="am-panel-hd">
|
||||
<h3 class="am-panel-title">{{:MyLang('appmini.form_alipay_extend_title')}}</h3>
|
||||
</div>
|
||||
<div class="am-panel-bd">
|
||||
<!-- tips -->
|
||||
<div class="am-alert am-alert-warning" data-am-alert>
|
||||
<button type="button" class="am-close">×</button>
|
||||
<p>
|
||||
<span>{{:MyLang('appmini.form_alipay_extend_tips')}}</span>
|
||||
<a href="https://opendocs.alipay.com/mini/component/contact-button" target="_blank" class="am-margin-left-sm">{{:MyLang('view_title')}} <i class="am-icon-external-link"></i></a>
|
||||
</p>
|
||||
</div>
|
||||
<div class="am-form-group">
|
||||
<label>{{$data.common_app_mini_alipay_tnt_inst_id.name}}<span class="am-form-group-label-tips">{{$data.common_app_mini_alipay_tnt_inst_id.describe}}</span></label>
|
||||
<input type="text" name="{{$data.common_app_mini_alipay_tnt_inst_id.only_tag}}" placeholder="{{$data.common_app_mini_alipay_tnt_inst_id.name}}" data-validation-message="{{$data.common_app_mini_alipay_tnt_inst_id.error_tips}}" class="am-radius" {{if !empty($data)}}value="{{$data.common_app_mini_alipay_tnt_inst_id.value}}"{{/if}} />
|
||||
</div>
|
||||
<div class="am-form-group">
|
||||
<label>{{$data.common_app_mini_alipay_scene.name}}<span class="am-form-group-label-tips">{{$data.common_app_mini_alipay_scene.describe}}</span></label>
|
||||
<input type="text" name="{{$data.common_app_mini_alipay_scene.only_tag}}" placeholder="{{$data.common_app_mini_alipay_scene.name}}" data-validation-message="{{$data.common_app_mini_alipay_scene.error_tips}}" class="am-radius" {{if !empty($data)}}value="{{$data.common_app_mini_alipay_scene.value}}"{{/if}} />
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
{{/case}}
|
||||
{{case baidu}}
|
||||
<!-- 百度 -->
|
||||
<div class="am-panel am-panel-default am-radius">
|
||||
<div class="am-panel-hd">
|
||||
<h3 class="am-panel-title">{{:MyLang('base_config_title')}}</h3>
|
||||
</div>
|
||||
<div class="am-panel-bd">
|
||||
<div class="am-form-group">
|
||||
<label>{{$data.common_app_mini_baidu_appid.name}}<span class="am-form-group-label-tips">{{$data.common_app_mini_baidu_appid.describe}}</span></label>
|
||||
<input type="text" name="{{$data.common_app_mini_baidu_appid.only_tag}}" placeholder="{{$data.common_app_mini_baidu_appid.name}}" data-validation-message="{{$data.common_app_mini_baidu_appid.error_tips}}" class="am-radius" {{if !empty($data)}}value="{{$data.common_app_mini_baidu_appid.value}}"{{/if}} />
|
||||
</div>
|
||||
<div class="am-form-group">
|
||||
<label>{{$data.common_app_mini_baidu_appkey.name}}<span class="am-form-group-label-tips">{{$data.common_app_mini_baidu_appkey.describe}}</span></label>
|
||||
<input type="text" name="{{$data.common_app_mini_baidu_appkey.only_tag}}" placeholder="{{$data.common_app_mini_baidu_appkey.name}}" data-validation-message="{{$data.common_app_mini_baidu_appkey.error_tips}}" class="am-radius" {{if !empty($data)}}value="{{$data.common_app_mini_baidu_appkey.value}}"{{/if}} />
|
||||
</div>
|
||||
<div class="am-form-group">
|
||||
<label>{{$data.common_app_mini_baidu_appsecret.name}}<span class="am-form-group-label-tips">{{$data.common_app_mini_baidu_appsecret.describe}}</span></label>
|
||||
<input type="text" name="{{$data.common_app_mini_baidu_appsecret.only_tag}}" placeholder="{{$data.common_app_mini_baidu_appsecret.name}}" data-validation-message="{{$data.common_app_mini_baidu_appsecret.error_tips}}" class="am-radius" {{if !empty($data)}}value="{{$data.common_app_mini_baidu_appsecret.value}}"{{/if}} />
|
||||
</div>
|
||||
<div class="am-form-group">
|
||||
<label>{{$data.common_app_mini_baidu_title.name}}</label>
|
||||
<input type="text" name="{{$data.common_app_mini_baidu_title.only_tag}}" placeholder="{{$data.common_app_mini_baidu_title.name}}" data-validation-message="{{$data.common_app_mini_baidu_title.error_tips}}" class="am-radius" {{if !empty($data)}}value="{{$data.common_app_mini_baidu_title.value}}"{{/if}} />
|
||||
</div>
|
||||
<div class="am-form-group">
|
||||
<label>{{$data.common_app_mini_baidu_describe.name}}</label>
|
||||
<input type="text" name="{{$data.common_app_mini_baidu_describe.only_tag}}" placeholder="{{$data.common_app_mini_baidu_describe.name}}" data-validation-message="{{$data.common_app_mini_baidu_describe.error_tips}}" class="am-radius" {{if !empty($data)}}value="{{$data.common_app_mini_baidu_describe.value}}"{{/if}} />
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
{{/case}}
|
||||
{{case toutiao}}
|
||||
<!-- 头条 -->
|
||||
<div class="am-panel am-panel-default am-radius">
|
||||
<div class="am-panel-hd">
|
||||
<h3 class="am-panel-title">{{:MyLang('base_config_title')}}</h3>
|
||||
</div>
|
||||
<div class="am-panel-bd">
|
||||
<div class="am-form-group">
|
||||
<label>{{$data.common_app_mini_toutiao_appid.name}}<span class="am-form-group-label-tips">{{$data.common_app_mini_toutiao_appid.describe}}</span></label>
|
||||
<input type="text" name="{{$data.common_app_mini_toutiao_appid.only_tag}}" placeholder="{{$data.common_app_mini_toutiao_appid.name}}" data-validation-message="{{$data.common_app_mini_toutiao_appid.error_tips}}" class="am-radius" {{if !empty($data)}}value="{{$data.common_app_mini_toutiao_appid.value}}"{{/if}} />
|
||||
</div>
|
||||
<div class="am-form-group">
|
||||
<label>{{$data.common_app_mini_toutiao_appsecret.name}}<span class="am-form-group-label-tips">{{$data.common_app_mini_toutiao_appsecret.describe}}</span></label>
|
||||
<input type="text" name="{{$data.common_app_mini_toutiao_appsecret.only_tag}}" placeholder="{{$data.common_app_mini_toutiao_appsecret.name}}" data-validation-message="{{$data.common_app_mini_toutiao_appsecret.error_tips}}" class="am-radius" {{if !empty($data)}}value="{{$data.common_app_mini_toutiao_appsecret.value}}"{{/if}} />
|
||||
</div>
|
||||
<div class="am-form-group">
|
||||
<label>{{$data.common_app_mini_toutiao_title.name}}</label>
|
||||
<input type="text" name="{{$data.common_app_mini_toutiao_title.only_tag}}" placeholder="{{$data.common_app_mini_toutiao_title.name}}" data-validation-message="{{$data.common_app_mini_toutiao_title.error_tips}}" class="am-radius" {{if !empty($data)}}value="{{$data.common_app_mini_toutiao_title.value}}"{{/if}} />
|
||||
</div>
|
||||
<div class="am-form-group">
|
||||
<label>{{$data.common_app_mini_toutiao_describe.name}}</label>
|
||||
<input type="text" name="{{$data.common_app_mini_toutiao_describe.only_tag}}" placeholder="{{$data.common_app_mini_toutiao_describe.name}}" data-validation-message="{{$data.common_app_mini_toutiao_describe.error_tips}}" class="am-radius" {{if !empty($data)}}value="{{$data.common_app_mini_toutiao_describe.value}}"{{/if}} />
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
{{/case}}
|
||||
{{case qq}}
|
||||
<!-- QQ -->
|
||||
<div class="am-panel am-panel-default am-radius">
|
||||
<div class="am-panel-hd">
|
||||
<h3 class="am-panel-title">{{:MyLang('base_config_title')}}</h3>
|
||||
</div>
|
||||
<div class="am-panel-bd">
|
||||
<div class="am-form-group">
|
||||
<label>{{$data.common_app_mini_qq_appid.name}}<span class="am-form-group-label-tips">{{$data.common_app_mini_qq_appid.describe}}</span></label>
|
||||
<input type="text" name="{{$data.common_app_mini_qq_appid.only_tag}}" placeholder="{{$data.common_app_mini_qq_appid.name}}" data-validation-message="{{$data.common_app_mini_qq_appid.error_tips}}" class="am-radius" {{if !empty($data)}}value="{{$data.common_app_mini_qq_appid.value}}"{{/if}} />
|
||||
</div>
|
||||
<div class="am-form-group">
|
||||
<label>{{$data.common_app_mini_qq_appsecret.name}}<span class="am-form-group-label-tips">{{$data.common_app_mini_qq_appsecret.describe}}</span></label>
|
||||
<input type="text" name="{{$data.common_app_mini_qq_appsecret.only_tag}}" placeholder="{{$data.common_app_mini_qq_appsecret.name}}" data-validation-message="{{$data.common_app_mini_qq_appsecret.error_tips}}" class="am-radius" {{if !empty($data)}}value="{{$data.common_app_mini_qq_appsecret.value}}"{{/if}} />
|
||||
</div>
|
||||
<div class="am-form-group">
|
||||
<label>{{$data.common_app_mini_qq_apptoken.name}}<span class="am-form-group-label-tips">{{$data.common_app_mini_qq_apptoken.describe}}</span></label>
|
||||
<input type="text" name="{{$data.common_app_mini_qq_apptoken.only_tag}}" placeholder="{{$data.common_app_mini_qq_apptoken.name}}" data-validation-message="{{$data.common_app_mini_qq_apptoken.error_tips}}" class="am-radius" {{if !empty($data)}}value="{{$data.common_app_mini_qq_apptoken.value}}"{{/if}} />
|
||||
</div>
|
||||
<div class="am-form-group">
|
||||
<label>{{$data.common_app_mini_qq_title.name}}</label>
|
||||
<input type="text" name="{{$data.common_app_mini_qq_title.only_tag}}" placeholder="{{$data.common_app_mini_qq_title.name}}" data-validation-message="{{$data.common_app_mini_qq_title.error_tips}}" class="am-radius" {{if !empty($data)}}value="{{$data.common_app_mini_qq_title.value}}"{{/if}} />
|
||||
</div>
|
||||
<div class="am-form-group">
|
||||
<label>{{$data.common_app_mini_qq_describe.name}}</label>
|
||||
<input type="text" name="{{$data.common_app_mini_qq_describe.only_tag}}" placeholder="{{$data.common_app_mini_qq_describe.name}}" data-validation-message="{{$data.common_app_mini_qq_describe.error_tips}}" class="am-radius" {{if !empty($data)}}value="{{$data.common_app_mini_qq_describe.value}}"{{/if}} />
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
{{/case}}
|
||||
{{case kuaishou}}
|
||||
<!-- 头条 -->
|
||||
<div class="am-panel am-panel-default am-radius">
|
||||
<div class="am-panel-hd">
|
||||
<h3 class="am-panel-title">{{:MyLang('base_config_title')}}</h3>
|
||||
</div>
|
||||
<div class="am-panel-bd">
|
||||
<div class="am-form-group">
|
||||
<label>{{$data.common_app_mini_kuaishou_appid.name}}<span class="am-form-group-label-tips">{{$data.common_app_mini_kuaishou_appid.describe}}</span></label>
|
||||
<input type="text" name="{{$data.common_app_mini_kuaishou_appid.only_tag}}" placeholder="{{$data.common_app_mini_kuaishou_appid.name}}" data-validation-message="{{$data.common_app_mini_kuaishou_appid.error_tips}}" class="am-radius" {{if !empty($data)}}value="{{$data.common_app_mini_kuaishou_appid.value}}"{{/if}} />
|
||||
</div>
|
||||
<div class="am-form-group">
|
||||
<label>{{$data.common_app_mini_kuaishou_appsecret.name}}<span class="am-form-group-label-tips">{{$data.common_app_mini_kuaishou_appsecret.describe}}</span></label>
|
||||
<input type="text" name="{{$data.common_app_mini_kuaishou_appsecret.only_tag}}" placeholder="{{$data.common_app_mini_kuaishou_appsecret.name}}" data-validation-message="{{$data.common_app_mini_kuaishou_appsecret.error_tips}}" class="am-radius" {{if !empty($data)}}value="{{$data.common_app_mini_kuaishou_appsecret.value}}"{{/if}} />
|
||||
</div>
|
||||
<div class="am-form-group">
|
||||
<label>{{$data.common_app_mini_kuaishou_title.name}}</label>
|
||||
<input type="text" name="{{$data.common_app_mini_kuaishou_title.only_tag}}" placeholder="{{$data.common_app_mini_kuaishou_title.name}}" data-validation-message="{{$data.common_app_mini_kuaishou_title.error_tips}}" class="am-radius" {{if !empty($data)}}value="{{$data.common_app_mini_kuaishou_title.value}}"{{/if}} />
|
||||
</div>
|
||||
<div class="am-form-group">
|
||||
<label>{{$data.common_app_mini_kuaishou_describe.name}}</label>
|
||||
<input type="text" name="{{$data.common_app_mini_kuaishou_describe.only_tag}}" placeholder="{{$data.common_app_mini_kuaishou_describe.name}}" data-validation-message="{{$data.common_app_mini_kuaishou_describe.error_tips}}" class="am-radius" {{if !empty($data)}}value="{{$data.common_app_mini_kuaishou_describe.value}}"{{/if}} />
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
{{/case}}
|
||||
{{default /}}
|
||||
<div class="table-no"><i class="am-icon-warning"></i> {{$nav_type}}{{:MyLang('no_config_data_tips')}}</div>
|
||||
{{/switch}}
|
||||
<div class="am-form-popup-submit">
|
||||
<!-- form start -->
|
||||
<form class="am-form form-validation am-form-popup-sticky" action="{{:MyUrl('admin/appmini/save', ['nav_type'=>$nav_type])}}" method="POST" request-type="ajax-url" request-value="{{:MyUrl('admin/appmini/config', ['nav_type'=>$nav_type])}}">
|
||||
{{switch $nav_type}}
|
||||
{{case weixin}}
|
||||
<!-- 微信 -->
|
||||
<div class="am-form-group">
|
||||
<label>{{$data.common_app_mini_weixin_appid.name}}<span class="am-form-group-label-tips">{{$data.common_app_mini_weixin_appid.describe}}</span></label>
|
||||
<input type="text" name="{{$data.common_app_mini_weixin_appid.only_tag}}" placeholder="{{$data.common_app_mini_weixin_appid.name}}" data-validation-message="{{$data.common_app_mini_weixin_appid.error_tips}}" class="am-radius" {{if !empty($data)}}value="{{$data.common_app_mini_weixin_appid.value}}"{{/if}} />
|
||||
</div>
|
||||
<div class="am-form-group">
|
||||
<label>{{$data.common_app_mini_weixin_appsecret.name}}<span class="am-form-group-label-tips">{{$data.common_app_mini_weixin_appsecret.describe}}</span></label>
|
||||
<input type="text" name="{{$data.common_app_mini_weixin_appsecret.only_tag}}" placeholder="{{$data.common_app_mini_weixin_appsecret.name}}" data-validation-message="{{$data.common_app_mini_weixin_appsecret.error_tips}}" class="am-radius" {{if !empty($data)}}value="{{$data.common_app_mini_weixin_appsecret.value}}"{{/if}} />
|
||||
</div>
|
||||
<div class="am-form-group">
|
||||
<label>{{$data.common_app_mini_weixin_title.name}}</label>
|
||||
<input type="text" name="{{$data.common_app_mini_weixin_title.only_tag}}" placeholder="{{$data.common_app_mini_weixin_title.name}}" data-validation-message="{{$data.common_app_mini_weixin_title.error_tips}}" class="am-radius" {{if !empty($data)}}value="{{$data.common_app_mini_weixin_title.value}}"{{/if}} />
|
||||
</div>
|
||||
<div class="am-form-group">
|
||||
<label>{{$data.common_app_mini_weixin_describe.name}}</label>
|
||||
<input type="text" name="{{$data.common_app_mini_weixin_describe.only_tag}}" placeholder="{{$data.common_app_mini_weixin_describe.name}}" data-validation-message="{{$data.common_app_mini_weixin_describe.error_tips}}" class="am-radius" {{if !empty($data)}}value="{{$data.common_app_mini_weixin_describe.value}}"{{/if}} />
|
||||
</div>
|
||||
<div class="am-form-group">
|
||||
<label>{{$data.common_app_mini_weixin_share_original_id.name}}<span class="am-form-group-label-tips">{{$data.common_app_mini_weixin_share_original_id.describe}}</span></label>
|
||||
<input type="text" name="{{$data.common_app_mini_weixin_share_original_id.only_tag}}" placeholder="{{$data.common_app_mini_weixin_share_original_id.name}}" data-validation-message="{{$data.common_app_mini_weixin_share_original_id.error_tips}}" class="am-radius" {{if !empty($data)}}value="{{$data.common_app_mini_weixin_share_original_id.value}}"{{/if}} />
|
||||
</div>
|
||||
<div class="am-form-group">
|
||||
<label class="am-block">{{$data.common_app_mini_weixin_upload_shipping_status.name}}<span class="am-form-group-label-tips">{{$data.common_app_mini_weixin_upload_shipping_status.describe}}</span></label>
|
||||
<div class="am-radio-group">
|
||||
{{foreach $common_close_open_list as $v}}
|
||||
<label class="am-radio-inline">
|
||||
<input type="radio" value="{{$v.value}}" name="{{$data.common_app_mini_weixin_upload_shipping_status.only_tag}}" data-validation-message="{{$data.common_app_mini_weixin_upload_shipping_status.error_tips}}" required {{if isset($data['common_app_mini_weixin_upload_shipping_status']['value']) and $data['common_app_mini_weixin_upload_shipping_status']['value'] eq $v['value']}}checked{{/if}} data-am-ucheck>{{$v.name}}
|
||||
</label>
|
||||
{{/foreach}}
|
||||
</div>
|
||||
</div>
|
||||
<div class="am-form-group">
|
||||
<label>{{$data.common_app_mini_weixin_privacy_content.name}}<span class="am-form-group-label-tips">{{$data.common_app_mini_weixin_privacy_content.describe}}</span></label>
|
||||
<textarea rows="4" name="{{$data.common_app_mini_weixin_privacy_content.only_tag}}" class="am-radius" placeholder="{{$data.common_app_mini_weixin_privacy_content.name}}" data-validation-message="{{$data.common_app_mini_weixin_privacy_content.error_tips}}">{{if !empty($data)}}{{$data.common_app_mini_weixin_privacy_content.value}}{{/if}}</textarea>
|
||||
</div>
|
||||
{{/case}}
|
||||
{{case alipay}}
|
||||
{{:ModuleInclude('public/nav_switch_btn', [
|
||||
'nav_data' => [
|
||||
[
|
||||
'name' => MyLang('base_config_title'),
|
||||
'key' => 'base-confit-title',
|
||||
],
|
||||
[
|
||||
'name' => MyLang('appmini.form_alipay_extend_title'),
|
||||
'key' => 'form-alipay-extend',
|
||||
]
|
||||
]
|
||||
])}}
|
||||
<!-- 支付宝 -->
|
||||
<div class="nav-content">
|
||||
<div class="item am-active" data-key="base-confit-title">
|
||||
<div class="am-form-group">
|
||||
<label>{{$data.common_app_mini_alipay_appid.name}}</label>
|
||||
<input type="text" name="{{$data.common_app_mini_alipay_appid.only_tag}}" placeholder="{{$data.common_app_mini_alipay_appid.name}}" data-validation-message="{{$data.common_app_mini_alipay_appid.error_tips}}" class="am-radius" {{if !empty($data)}}value="{{$data.common_app_mini_alipay_appid.value}}"{{/if}} />
|
||||
</div>
|
||||
<div class="am-form-group">
|
||||
<label>{{$data.common_app_mini_alipay_rsa_public.name}}</label>
|
||||
<textarea rows="3" name="{{$data.common_app_mini_alipay_rsa_public.only_tag}}" class="am-radius" placeholder="{{$data.common_app_mini_alipay_rsa_public.name}}" data-validation-message="{{$data.common_app_mini_alipay_rsa_public.error_tips}}">{{if !empty($data)}}{{$data.common_app_mini_alipay_rsa_public.value}}{{/if}}</textarea>
|
||||
</div>
|
||||
<div class="am-form-group">
|
||||
<label>{{$data.common_app_mini_alipay_rsa_private.name}}</label>
|
||||
<textarea rows="3" name="{{$data.common_app_mini_alipay_rsa_private.only_tag}}" class="am-radius" placeholder="{{$data.common_app_mini_alipay_rsa_private.name}}" data-validation-message="{{$data.common_app_mini_alipay_rsa_private.error_tips}}">{{if !empty($data)}}{{$data.common_app_mini_alipay_rsa_private.value}}{{/if}}</textarea>
|
||||
</div>
|
||||
<div class="am-form-group">
|
||||
<label>{{$data.common_app_mini_alipay_out_rsa_public.name}}</label>
|
||||
<textarea rows="3" name="{{$data.common_app_mini_alipay_out_rsa_public.only_tag}}" class="am-radius" placeholder="{{$data.common_app_mini_alipay_out_rsa_public.name}}" data-validation-message="{{$data.common_app_mini_alipay_out_rsa_public.error_tips}}">{{if !empty($data)}}{{$data.common_app_mini_alipay_out_rsa_public.value}}{{/if}}</textarea>
|
||||
</div>
|
||||
<div class="am-form-group">
|
||||
<label>{{$data.common_app_mini_alipay_title.name}}</label>
|
||||
<input type="text" name="{{$data.common_app_mini_alipay_title.only_tag}}" placeholder="{{$data.common_app_mini_alipay_title.name}}" data-validation-message="{{$data.common_app_mini_alipay_title.error_tips}}" class="am-radius" {{if !empty($data)}}value="{{$data.common_app_mini_alipay_title.value}}"{{/if}} />
|
||||
</div>
|
||||
<div class="am-form-group">
|
||||
<label>{{$data.common_app_mini_alipay_describe.name}}</label>
|
||||
<input type="text" name="{{$data.common_app_mini_alipay_describe.only_tag}}" placeholder="{{$data.common_app_mini_alipay_describe.name}}" data-validation-message="{{$data.common_app_mini_alipay_describe.error_tips}}" class="am-radius" {{if !empty($data)}}value="{{$data.common_app_mini_alipay_describe.value}}"{{/if}} />
|
||||
</div>
|
||||
</div>
|
||||
<div class="item" data-key="form-alipay-extend">
|
||||
<div class="am-form-group">
|
||||
<label>{{$data.common_app_mini_alipay_tnt_inst_id.name}}<span class="am-form-group-label-tips">{{$data.common_app_mini_alipay_tnt_inst_id.describe}}</span></label>
|
||||
<input type="text" name="{{$data.common_app_mini_alipay_tnt_inst_id.only_tag}}" placeholder="{{$data.common_app_mini_alipay_tnt_inst_id.name}}" data-validation-message="{{$data.common_app_mini_alipay_tnt_inst_id.error_tips}}" class="am-radius" {{if !empty($data)}}value="{{$data.common_app_mini_alipay_tnt_inst_id.value}}"{{/if}} />
|
||||
</div>
|
||||
<div class="am-form-group">
|
||||
<label>{{$data.common_app_mini_alipay_scene.name}}<span class="am-form-group-label-tips">{{$data.common_app_mini_alipay_scene.describe}}</span></label>
|
||||
<input type="text" name="{{$data.common_app_mini_alipay_scene.only_tag}}" placeholder="{{$data.common_app_mini_alipay_scene.name}}" data-validation-message="{{$data.common_app_mini_alipay_scene.error_tips}}" class="am-radius" {{if !empty($data)}}value="{{$data.common_app_mini_alipay_scene.value}}"{{/if}} />
|
||||
</div>
|
||||
<!-- tips -->
|
||||
<div class="am-form-group">
|
||||
<div class="am-tips-card">
|
||||
<p>
|
||||
<span>{{:MyLang('appmini.form_alipay_extend_tips')}}</span>
|
||||
<a href="https://opendocs.alipay.com/mini/component/contact-button" target="_blank" class="am-margin-left-sm">{{:MyLang('view_title')}} <i class="am-icon-external-link"></i></a>
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
{{/case}}
|
||||
{{case baidu}}
|
||||
<!-- 百度 -->
|
||||
<div class="am-form-group">
|
||||
<label>{{$data.common_app_mini_baidu_appid.name}}<span class="am-form-group-label-tips">{{$data.common_app_mini_baidu_appid.describe}}</span></label>
|
||||
<input type="text" name="{{$data.common_app_mini_baidu_appid.only_tag}}" placeholder="{{$data.common_app_mini_baidu_appid.name}}" data-validation-message="{{$data.common_app_mini_baidu_appid.error_tips}}" class="am-radius" {{if !empty($data)}}value="{{$data.common_app_mini_baidu_appid.value}}"{{/if}} />
|
||||
</div>
|
||||
<div class="am-form-group">
|
||||
<label>{{$data.common_app_mini_baidu_appkey.name}}<span class="am-form-group-label-tips">{{$data.common_app_mini_baidu_appkey.describe}}</span></label>
|
||||
<input type="text" name="{{$data.common_app_mini_baidu_appkey.only_tag}}" placeholder="{{$data.common_app_mini_baidu_appkey.name}}" data-validation-message="{{$data.common_app_mini_baidu_appkey.error_tips}}" class="am-radius" {{if !empty($data)}}value="{{$data.common_app_mini_baidu_appkey.value}}"{{/if}} />
|
||||
</div>
|
||||
<div class="am-form-group">
|
||||
<label>{{$data.common_app_mini_baidu_appsecret.name}}<span class="am-form-group-label-tips">{{$data.common_app_mini_baidu_appsecret.describe}}</span></label>
|
||||
<input type="text" name="{{$data.common_app_mini_baidu_appsecret.only_tag}}" placeholder="{{$data.common_app_mini_baidu_appsecret.name}}" data-validation-message="{{$data.common_app_mini_baidu_appsecret.error_tips}}" class="am-radius" {{if !empty($data)}}value="{{$data.common_app_mini_baidu_appsecret.value}}"{{/if}} />
|
||||
</div>
|
||||
<div class="am-form-group">
|
||||
<label>{{$data.common_app_mini_baidu_title.name}}</label>
|
||||
<input type="text" name="{{$data.common_app_mini_baidu_title.only_tag}}" placeholder="{{$data.common_app_mini_baidu_title.name}}" data-validation-message="{{$data.common_app_mini_baidu_title.error_tips}}" class="am-radius" {{if !empty($data)}}value="{{$data.common_app_mini_baidu_title.value}}"{{/if}} />
|
||||
</div>
|
||||
<div class="am-form-group">
|
||||
<label>{{$data.common_app_mini_baidu_describe.name}}</label>
|
||||
<input type="text" name="{{$data.common_app_mini_baidu_describe.only_tag}}" placeholder="{{$data.common_app_mini_baidu_describe.name}}" data-validation-message="{{$data.common_app_mini_baidu_describe.error_tips}}" class="am-radius" {{if !empty($data)}}value="{{$data.common_app_mini_baidu_describe.value}}"{{/if}} />
|
||||
</div>
|
||||
{{/case}}
|
||||
{{case toutiao}}
|
||||
<!-- 头条 -->
|
||||
<div class="am-form-group">
|
||||
<label>{{$data.common_app_mini_toutiao_appid.name}}<span class="am-form-group-label-tips">{{$data.common_app_mini_toutiao_appid.describe}}</span></label>
|
||||
<input type="text" name="{{$data.common_app_mini_toutiao_appid.only_tag}}" placeholder="{{$data.common_app_mini_toutiao_appid.name}}" data-validation-message="{{$data.common_app_mini_toutiao_appid.error_tips}}" class="am-radius" {{if !empty($data)}}value="{{$data.common_app_mini_toutiao_appid.value}}"{{/if}} />
|
||||
</div>
|
||||
<div class="am-form-group">
|
||||
<label>{{$data.common_app_mini_toutiao_appsecret.name}}<span class="am-form-group-label-tips">{{$data.common_app_mini_toutiao_appsecret.describe}}</span></label>
|
||||
<input type="text" name="{{$data.common_app_mini_toutiao_appsecret.only_tag}}" placeholder="{{$data.common_app_mini_toutiao_appsecret.name}}" data-validation-message="{{$data.common_app_mini_toutiao_appsecret.error_tips}}" class="am-radius" {{if !empty($data)}}value="{{$data.common_app_mini_toutiao_appsecret.value}}"{{/if}} />
|
||||
</div>
|
||||
<div class="am-form-group">
|
||||
<label>{{$data.common_app_mini_toutiao_title.name}}</label>
|
||||
<input type="text" name="{{$data.common_app_mini_toutiao_title.only_tag}}" placeholder="{{$data.common_app_mini_toutiao_title.name}}" data-validation-message="{{$data.common_app_mini_toutiao_title.error_tips}}" class="am-radius" {{if !empty($data)}}value="{{$data.common_app_mini_toutiao_title.value}}"{{/if}} />
|
||||
</div>
|
||||
<div class="am-form-group">
|
||||
<label>{{$data.common_app_mini_toutiao_describe.name}}</label>
|
||||
<input type="text" name="{{$data.common_app_mini_toutiao_describe.only_tag}}" placeholder="{{$data.common_app_mini_toutiao_describe.name}}" data-validation-message="{{$data.common_app_mini_toutiao_describe.error_tips}}" class="am-radius" {{if !empty($data)}}value="{{$data.common_app_mini_toutiao_describe.value}}"{{/if}} />
|
||||
</div>
|
||||
{{/case}}
|
||||
{{case qq}}
|
||||
<!-- QQ -->
|
||||
<div class="am-form-group">
|
||||
<label>{{$data.common_app_mini_qq_appid.name}}<span class="am-form-group-label-tips">{{$data.common_app_mini_qq_appid.describe}}</span></label>
|
||||
<input type="text" name="{{$data.common_app_mini_qq_appid.only_tag}}" placeholder="{{$data.common_app_mini_qq_appid.name}}" data-validation-message="{{$data.common_app_mini_qq_appid.error_tips}}" class="am-radius" {{if !empty($data)}}value="{{$data.common_app_mini_qq_appid.value}}"{{/if}} />
|
||||
</div>
|
||||
<div class="am-form-group">
|
||||
<label>{{$data.common_app_mini_qq_appsecret.name}}<span class="am-form-group-label-tips">{{$data.common_app_mini_qq_appsecret.describe}}</span></label>
|
||||
<input type="text" name="{{$data.common_app_mini_qq_appsecret.only_tag}}" placeholder="{{$data.common_app_mini_qq_appsecret.name}}" data-validation-message="{{$data.common_app_mini_qq_appsecret.error_tips}}" class="am-radius" {{if !empty($data)}}value="{{$data.common_app_mini_qq_appsecret.value}}"{{/if}} />
|
||||
</div>
|
||||
<div class="am-form-group">
|
||||
<label>{{$data.common_app_mini_qq_apptoken.name}}<span class="am-form-group-label-tips">{{$data.common_app_mini_qq_apptoken.describe}}</span></label>
|
||||
<input type="text" name="{{$data.common_app_mini_qq_apptoken.only_tag}}" placeholder="{{$data.common_app_mini_qq_apptoken.name}}" data-validation-message="{{$data.common_app_mini_qq_apptoken.error_tips}}" class="am-radius" {{if !empty($data)}}value="{{$data.common_app_mini_qq_apptoken.value}}"{{/if}} />
|
||||
</div>
|
||||
<div class="am-form-group">
|
||||
<label>{{$data.common_app_mini_qq_title.name}}</label>
|
||||
<input type="text" name="{{$data.common_app_mini_qq_title.only_tag}}" placeholder="{{$data.common_app_mini_qq_title.name}}" data-validation-message="{{$data.common_app_mini_qq_title.error_tips}}" class="am-radius" {{if !empty($data)}}value="{{$data.common_app_mini_qq_title.value}}"{{/if}} />
|
||||
</div>
|
||||
<div class="am-form-group">
|
||||
<label>{{$data.common_app_mini_qq_describe.name}}</label>
|
||||
<input type="text" name="{{$data.common_app_mini_qq_describe.only_tag}}" placeholder="{{$data.common_app_mini_qq_describe.name}}" data-validation-message="{{$data.common_app_mini_qq_describe.error_tips}}" class="am-radius" {{if !empty($data)}}value="{{$data.common_app_mini_qq_describe.value}}"{{/if}} />
|
||||
</div>
|
||||
{{/case}}
|
||||
{{case kuaishou}}
|
||||
<!-- 头条 -->
|
||||
<div class="am-form-group">
|
||||
<label>{{$data.common_app_mini_kuaishou_appid.name}}<span class="am-form-group-label-tips">{{$data.common_app_mini_kuaishou_appid.describe}}</span></label>
|
||||
<input type="text" name="{{$data.common_app_mini_kuaishou_appid.only_tag}}" placeholder="{{$data.common_app_mini_kuaishou_appid.name}}" data-validation-message="{{$data.common_app_mini_kuaishou_appid.error_tips}}" class="am-radius" {{if !empty($data)}}value="{{$data.common_app_mini_kuaishou_appid.value}}"{{/if}} />
|
||||
</div>
|
||||
<div class="am-form-group">
|
||||
<label>{{$data.common_app_mini_kuaishou_appsecret.name}}<span class="am-form-group-label-tips">{{$data.common_app_mini_kuaishou_appsecret.describe}}</span></label>
|
||||
<input type="text" name="{{$data.common_app_mini_kuaishou_appsecret.only_tag}}" placeholder="{{$data.common_app_mini_kuaishou_appsecret.name}}" data-validation-message="{{$data.common_app_mini_kuaishou_appsecret.error_tips}}" class="am-radius" {{if !empty($data)}}value="{{$data.common_app_mini_kuaishou_appsecret.value}}"{{/if}} />
|
||||
</div>
|
||||
<div class="am-form-group">
|
||||
<label>{{$data.common_app_mini_kuaishou_title.name}}</label>
|
||||
<input type="text" name="{{$data.common_app_mini_kuaishou_title.only_tag}}" placeholder="{{$data.common_app_mini_kuaishou_title.name}}" data-validation-message="{{$data.common_app_mini_kuaishou_title.error_tips}}" class="am-radius" {{if !empty($data)}}value="{{$data.common_app_mini_kuaishou_title.value}}"{{/if}} />
|
||||
</div>
|
||||
<div class="am-form-group">
|
||||
<label>{{$data.common_app_mini_kuaishou_describe.name}}</label>
|
||||
<input type="text" name="{{$data.common_app_mini_kuaishou_describe.only_tag}}" placeholder="{{$data.common_app_mini_kuaishou_describe.name}}" data-validation-message="{{$data.common_app_mini_kuaishou_describe.error_tips}}" class="am-radius" {{if !empty($data)}}value="{{$data.common_app_mini_kuaishou_describe.value}}"{{/if}} />
|
||||
</div>
|
||||
{{/case}}
|
||||
{{default /}}
|
||||
<div class="table-no"><i class="am-icon-warning"></i> {{$nav_type}}{{:MyLang('no_config_data_tips')}}</div>
|
||||
{{/switch}}
|
||||
<div class="am-form-popup-submit">
|
||||
<button type="submit" class="am-btn am-btn-primary am-radius am-btn-xs btn-loading-example" data-am-loading="{spinner: 'circle-o-notch', loadingText:'{{:MyLang('save_title')}}'}">
|
||||
<i class="am-icon-save"></i>
|
||||
<span>{{:MyLang('save_title')}}</span>
|
||||
</button>
|
||||
</div>
|
||||
</form>
|
||||
</form>
|
||||
<!-- form end -->
|
||||
</div>
|
||||
</div>
|
||||
<!-- right content end -->
|
||||
|
||||
<!-- footer start -->
|
||||
{{include file="public/footer" /}}
|
||||
<!-- footer end -->
|
||||
{{include file="public/footer" /}}
|
@ -2,14 +2,7 @@
|
||||
|
||||
<!-- right content start -->
|
||||
<div class="content-right">
|
||||
<!-- second nav start -->
|
||||
{{include file="appmini/nav" /}}
|
||||
<!-- second nav end -->
|
||||
<div class="content">
|
||||
<!-- nav start -->
|
||||
{{include file="appmini/base_nav" /}}
|
||||
<!-- nav end -->
|
||||
|
||||
<!-- list start -->
|
||||
{{if !empty($data_list)}}
|
||||
<ul data-am-widget="gallery" class="am-gallery am-avg-sm-2 am-avg-md-3 am-avg-lg-4 am-gallery-bordered data-list" data-am-gallery="{}" data-select-url="{{:MyUrl('admin/appmini/themesave')}}" data-nav-type="{{$nav_type}}">
|
||||
@ -59,5 +52,4 @@
|
||||
<!-- right content end -->
|
||||
|
||||
<!-- footer start -->
|
||||
{{include file="public/footer" /}}
|
||||
<!-- footer end -->
|
||||
{{include file="public/footer" /}}
|
@ -1,9 +0,0 @@
|
||||
{{if !empty($common_appmini_type) and is_array($common_appmini_type)}}
|
||||
<ul class="am-nav am-nav-pills table-nav second-nav">
|
||||
{{foreach $common_appmini_type as $nav}}
|
||||
<li {{if isset($nav_type) and $nav_type eq $nav['value']}}class="am-active"{{/if}} data-type="{{$nav.value}}">
|
||||
<a href="{{:MyUrl('admin/appmini/'.$action_name, ['nav_type'=>$nav['value'], 'view_type'=>$view_type])}}">{{$nav.name}}</a>
|
||||
</li>
|
||||
{{/foreach}}
|
||||
</ul>
|
||||
{{/if}}
|
@ -32,5 +32,4 @@
|
||||
<!-- right content end -->
|
||||
|
||||
<!-- footer start -->
|
||||
{{include file="public/footer" /}}
|
||||
<!-- footer end -->
|
||||
{{include file="public/footer" /}}
|
@ -3,13 +3,32 @@
|
||||
|
||||
<!-- 重写数据模块 -->
|
||||
{{block name="detail_data"}}
|
||||
<!-- 父级内容 -->
|
||||
{__block__}
|
||||
|
||||
<!-- 详情内容 -->
|
||||
<div class="am-panel am-panel-default am-radius">
|
||||
<div class="am-panel-hd">{{:MyLang('article.detail_content_title')}}</div>
|
||||
<div class="am-panel-bd">
|
||||
{{:ModuleInclude('public/detail_nav_switch_tabs', [
|
||||
'nav_data' => [
|
||||
[
|
||||
'name' => MyLang('form_base_data_title'),
|
||||
'key' => 'base',
|
||||
],
|
||||
[
|
||||
'name' => MyLang('article.detail_content_title'),
|
||||
'key' => 'detail-content',
|
||||
],
|
||||
[
|
||||
'name' => MyLang('article.detail_images_title'),
|
||||
'key' => 'detail-images',
|
||||
],
|
||||
[
|
||||
'name' => MyLang('form_seo_data_title'),
|
||||
'key' => 'seo-data',
|
||||
]
|
||||
]
|
||||
])}}
|
||||
<div class="detail-content-switch-data-item">
|
||||
<!-- 父级内容 -->
|
||||
{__block__}
|
||||
|
||||
<!-- 详情内容 -->
|
||||
<div class="item am-padding-sm" data-key="detail-content">
|
||||
{{if !empty($data['content'])}}
|
||||
<div class="am-scrollable-vertical am-nowrap-initial">
|
||||
{{$data.content|raw}}
|
||||
@ -18,12 +37,9 @@
|
||||
{{include file="public/not_data" /}}
|
||||
{{/if}}
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- 详情图片 -->
|
||||
<div class="am-panel am-panel-default am-radius">
|
||||
<div class="am-panel-hd">{{:MyLang('article.detail_images_title')}}</div>
|
||||
<div class="am-panel-bd">
|
||||
<!-- 详情图片 -->
|
||||
<div class="item am-padding-sm" data-key="detail-images">
|
||||
{{if !empty($data['images'])}}
|
||||
<div data-am-widget="slider" class="am-slider am-slider-default" data-am-slider='{"controlNav":false}'>
|
||||
<ul class="am-slides">
|
||||
@ -47,8 +63,11 @@
|
||||
{{include file="public/not_data" /}}
|
||||
{{/if}}
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- SEO信息 -->
|
||||
{{include file="lib/seo_data" /}}
|
||||
<!-- SEO信息 -->
|
||||
<div class="item am-padding-sm" data-key="seo-data">
|
||||
{{include file="lib/seo_data" /}}
|
||||
</div>
|
||||
|
||||
</div>
|
||||
{{/block}}
|
@ -3,7 +3,10 @@
|
||||
|
||||
<!-- 表单顶部操作栏 -->
|
||||
{{block name="form_operate_top"}}
|
||||
<a href="{{:MyUrl('admin/article/saveinfo')}}" class="am-btn am-btn-secondary am-radius am-btn-xs am-icon-plus"> {{:MyLang('add_title')}}</a>
|
||||
<a href="{{:MyUrl('admin/article/saveinfo')}}" class="am-btn am-btn-primary am-radius am-btn-xs">
|
||||
<i class="iconfont icon-btn-add am-show-sm-only"></i>
|
||||
<span class="am-hide-sm-only">{{:MyLang('add_title')}}</span>
|
||||
</a>
|
||||
<!-- 父级内容 -->
|
||||
{__block__}
|
||||
{{/block}}
|
@ -1,5 +1,5 @@
|
||||
<!-- 操作栏 -->
|
||||
<button type="button" class="am-btn am-btn-default am-btn-xs am-radius am-btn-block submit-popup" data-url="{{:MyUrl('admin/article/detail', ['id'=>$module_data['id']])}}">
|
||||
<button type="button" class="am-btn am-btn-default am-btn-xs am-radius am-btn-block submit-popup" data-url="{{:MyUrl('admin/article/detail', ['id'=>$module_data['id']])}}" data-title="{{:MyLang('detail_title')}}">
|
||||
<i class="am-icon-eye"></i>
|
||||
<span>{{:MyLang('detail_title')}}</span>
|
||||
</button>
|
||||
|
@ -3,110 +3,84 @@
|
||||
<!-- right content start -->
|
||||
<div class="content-right">
|
||||
<div class="content">
|
||||
<!-- form start -->
|
||||
<form class="am-form form-validation am-form-full-screen am-form-popup-fixed" action="{{:MyUrl('admin/article/save')}}" method="POST" request-type="ajax-url" request-value="{{:MyUrl('admin/article/index', $params)}}">
|
||||
<legend>
|
||||
<span class="am-text-default">{{:MyLang('article.base_nav_title')}}{{if empty($data['id'])}}{{:MyLang('created_title')}}{{else /}}{{:MyLang('edit_title')}}{{/if}}</span>
|
||||
<a href="{{:MyUrl('admin/article/index', $params)}}" class="am-fr am-text-sm am-margin-top-sm am-icon-mail-reply"> {{:MyLang('retreat_title')}}</a>
|
||||
</legend>
|
||||
<div class="am-cf">
|
||||
<div class="am-u-sm-6 am-padding-horizontal-0">
|
||||
<div class="am-form-group">
|
||||
<label>{{:MyLang('common_service.article.form_item_title')}}<span class="am-form-group-label-tips-must">*</span></label>
|
||||
<!-- nav start -->
|
||||
{{:ModuleInclude('public/admin_nav', [
|
||||
'title' => MyLang('article.base_nav_title').(empty($data['id']) ? MyLang('created_title') : MyLang('edit_title')),
|
||||
'back_url' => MyUrl('admin/article/index', $params)
|
||||
])}}
|
||||
<!-- nav end -->
|
||||
<!-- form start -->
|
||||
<form class="am-form form-validation am-form-full-screen am-form-popup-sticky" action="{{:MyUrl('admin/article/save')}}" method="POST" request-type="ajax-url" request-value="{{:MyUrl('admin/article/index', $params)}}">
|
||||
<div class="am-form-group">
|
||||
<label>{{:MyLang('common_service.article.form_item_title')}}<span class="am-form-group-label-tips-must">*</span></label>
|
||||
<div class="am-flex am-flex-items-center am-gap-1">
|
||||
<input type="text" name="title" placeholder="{{:MyLang('common_service.article.form_item_title_message')}}" minlength="2" maxlength="60" data-validation-message="{{:MyLang('common_service.article.form_item_title_message')}}" class="am-form-field am-radius" {{if !empty($data['title'])}} value="{{$data.title}}" {{/if}} {{if !empty($data['title_color'])}} style="color:{{$data.title_color}};" {{/if}} required />
|
||||
<div class="colorpicker-container colorpicker-simple">
|
||||
<input type="hidden" name="title_color" value="{{if !empty($data['title_color'])}}{{$data.title_color}}{{/if}}" />
|
||||
<div class="am-input-group am-input-group-sm">
|
||||
<input type="text" name="title" placeholder="{{:MyLang('common_service.article.form_item_title_message')}}" minlength="2" maxlength="60" data-validation-message="{{:MyLang('common_service.article.form_item_title_message')}}" class="am-form-field am-radius" {{if !empty($data['title'])}} value="{{$data.title}}" {{/if}} {{if !empty($data['title_color'])}} style="color:{{$data.title_color}};" {{/if}} required />
|
||||
<span class="am-input-group-btn">
|
||||
<button class="am-btn am-btn-default am-btn-xs colorpicker-submit" type="button" data-input-tag="input[name='title']" data-color-tag="input[name='title_color']">
|
||||
<img src="{{$attachment_host}}/static/common/images/colorpicker.png" />
|
||||
</button>
|
||||
</span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="am-u-sm-6 am-padding-horizontal-0">
|
||||
<div class="am-form-group">
|
||||
<label>{{:MyLang('common_service.article.form_item_article_category')}}<span class="am-form-group-label-tips-must">*</span></label>
|
||||
<select name="article_category_id" class="am-radius chosen-select" data-placeholder="{{:MyLang('optional_tips')}}" data-validation-message="{{:MyLang('common_service.article.form_item_article_category_message')}}" required>
|
||||
<option value="">{{:MyLang('optional_tips')}}</option>
|
||||
{{foreach $article_category_list as $v}}
|
||||
<option value="{{$v.id}}" {{if isset($data['article_category_id']) and $data['article_category_id'] eq $v['id']}}selected{{/if}}>{{$v.name}}</option>
|
||||
{{/foreach}}
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="colorpicker-submit" data-color="{{if !empty($data['title_color'])}}{{$data.title_color}}{{/if}}" data-input-tag="input[name='title']" data-color-tag="input[name='title_color']"></div>
|
||||
<img class="imitate-colorpicker-submit" src="{{$attachment_host}}/static/common/images/colorpicker.png" width="24" height="24" />
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="am-form-group">
|
||||
<label>{{:MyLang('common_service.article.form_item_article_category')}}<span class="am-form-group-label-tips-must">*</span></label>
|
||||
<select name="article_category_id" class="am-radius chosen-select" data-placeholder="{{:MyLang('optional_tips')}}" data-validation-message="{{:MyLang('common_service.article.form_item_article_category_message')}}" required>
|
||||
<option value="">{{:MyLang('optional_tips')}}</option>
|
||||
{{foreach $article_category_list as $v}}
|
||||
<option value="{{$v.id}}" {{if isset($data['article_category_id']) and $data['article_category_id'] eq $v['id']}}selected{{/if}}>{{$v.name}}</option>
|
||||
{{/foreach}}
|
||||
</select>
|
||||
</div>
|
||||
|
||||
<div class="am-cf">
|
||||
<div class="am-u-md-6 am-padding-horizontal-0">
|
||||
<div class="am-form-group">
|
||||
<label>{{:MyLang('common_service.article.form_item_jump_url_title')}}<a href="javascript:;" class="am-icon-question-circle am-text-warning am-margin-left-sm" data-am-popover="{content: '{{:MyLang('common_service.article.form_item_jump_url_tips')}}', trigger: 'hover focus', theme: 'sm'}"></a></label>
|
||||
<input type="url" name="jump_url" placeholder="{{:MyLang('common_service.article.form_item_jump_url_title')}}" data-validation-message="{{:MyLang('common_service.article.form_item_jump_url_message')}}" class="am-radius" {{if !empty($data['jump_url'])}} value="{{$data.jump_url}}"{{/if}} />
|
||||
</div>
|
||||
</div>
|
||||
<div class="am-u-md-6 am-padding-horizontal-0">
|
||||
<div class="am-cf">
|
||||
<div class="am-u-sm-6 am-padding-horizontal-0">
|
||||
{{include file="lib/is_enable" /}}
|
||||
</div>
|
||||
<div class="am-u-sm-6 am-padding-horizontal-0">
|
||||
<div class="am-form-group">
|
||||
<label class="am-block">{{:MyLang('common_service.article.form_item_is_home_recommended_title')}}</label>
|
||||
<input name="is_home_recommended" value="1" type="checkbox" data-off-text="{{:MyLang('no_title')}}" data-on-text="{{:MyLang('yes_title')}}" data-size="xs" data-on-color="success" data-off-color="default" data-handle-width="50" data-am-switch {{if isset($data['is_home_recommended']) and $data['is_home_recommended'] eq 1}}checked="true"{{/if}} />
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="am-form-group">
|
||||
<label>{{:MyLang('common_service.article.form_item_jump_url_title')}}<a href="javascript:;" class="am-icon-question-circle am-text-warning am-margin-left-sm" data-am-popover="{content: '{{:MyLang('common_service.article.form_item_jump_url_tips')}}', trigger: 'hover focus', theme: 'sm'}"></a></label>
|
||||
<input type="url" name="jump_url" placeholder="{{:MyLang('common_service.article.form_item_jump_url_title')}}" data-validation-message="{{:MyLang('common_service.article.form_item_jump_url_message')}}" class="am-radius" {{if !empty($data['jump_url'])}} value="{{$data.jump_url}}"{{/if}} />
|
||||
</div>
|
||||
{{include file="lib/is_enable" /}}
|
||||
<div class="am-form-group">
|
||||
<label class="am-block">{{:MyLang('common_service.article.form_item_is_home_recommended_title')}}</label>
|
||||
<input name="is_home_recommended" value="1" type="checkbox" data-off-text="{{:MyLang('no_title')}}" data-on-text="{{:MyLang('yes_title')}}" data-size="xs" data-on-color="success" data-off-color="default" data-handle-width="50" data-am-switch {{if isset($data['is_home_recommended']) and $data['is_home_recommended'] eq 1}}checked="true"{{/if}} />
|
||||
</div>
|
||||
|
||||
<div class="am-form-group">
|
||||
<label>{{:MyLang('common_service.article.form_item_content_title')}}<span class="am-form-group-label-tips-must">*</span></label>
|
||||
<textarea class="am-radius am-validate" name="content" rows="5" minlength="10" maxlength="105000" {{if !IsMobile()}}id="editor-tag" data-url="{{:MyUrl('admin/ueditor/index', ['path_type'=>'article'])}}" placeholder="{{:MyLang('common_service.article.form_item_content_message')}}" {{else /}} placeholder="{{:MyLang('common_service.article.form_item_content_placeholder')}}" {{/if}} data-validation-message="{{:MyLang('common_service.article.form_item_content_message')}}" required>{{if !empty($data['content'])}}{{$data.content}}{{/if}}</textarea>
|
||||
</div>
|
||||
<div class="am-form-group">
|
||||
<label>{{:MyLang('common_service.article.form_item_content_title')}}<span class="am-form-group-label-tips-must">*</span></label>
|
||||
<textarea class="am-radius am-validate" name="content" rows="5" minlength="10" maxlength="105000" {{if !IsMobile()}}id="editor-tag" data-url="{{:MyUrl('admin/ueditor/index', ['path_type'=>'article'])}}" placeholder="{{:MyLang('common_service.article.form_item_content_message')}}" {{else /}} placeholder="{{:MyLang('common_service.article.form_item_content_placeholder')}}" {{/if}} data-validation-message="{{:MyLang('common_service.article.form_item_content_message')}}" required>{{if !empty($data['content'])}}{{$data.content}}{{/if}}</textarea>
|
||||
</div>
|
||||
|
||||
<!-- 插件扩展数据 start -->
|
||||
{{if isset($shopxo_is_develop) and $shopxo_is_develop eq true}}
|
||||
<!-- 插件扩展数据 start -->
|
||||
{{if isset($shopxo_is_develop) and $shopxo_is_develop eq true}}
|
||||
<div class="plugins-tag">
|
||||
<span>plugins_view_admin_article_save</span>
|
||||
</div>
|
||||
{{/if}}
|
||||
{{if !empty($plugins_view_admin_article_save_data) and is_array($plugins_view_admin_article_save_data)}}
|
||||
<div class="am-alert am-alert-secondary">
|
||||
<label class="am-text-sm am-text-warning">{{:MyLang('plugins_view_region_config_tips')}}</label>
|
||||
<div>
|
||||
{{foreach $plugins_view_admin_article_save_data as $hook}}
|
||||
{{if is_string($hook) or is_int($hook)}}
|
||||
{{$hook|raw}}
|
||||
{{/if}}
|
||||
{{/foreach}}
|
||||
</div>
|
||||
</div>
|
||||
{{/if}}
|
||||
<!-- 插件扩展数据 end -->
|
||||
|
||||
<div class="am-panel am-panel-default am-radius am-margin-horizontal-xs am-margin-top">
|
||||
<div class="am-panel-bd">
|
||||
{{include file="lib/seo" /}}
|
||||
{{if !empty($plugins_view_admin_article_save_data) and is_array($plugins_view_admin_article_save_data)}}
|
||||
<div class="card-grey am-margin-bottom-lg">
|
||||
<label class="am-text-sm am-text-warning">{{:MyLang('plugins_view_region_config_tips')}}</label>
|
||||
<div>
|
||||
{{foreach $plugins_view_admin_article_save_data as $hook}}
|
||||
{{if is_string($hook) or is_int($hook)}}
|
||||
{{$hook|raw}}
|
||||
{{/if}}
|
||||
{{/foreach}}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
{{/if}}
|
||||
<!-- 插件扩展数据 end -->
|
||||
|
||||
<div class="am-form-popup-submit">
|
||||
<input type="hidden" name="id" {{if !empty($data)}} value="{{$data.id}}"{{/if}} />
|
||||
<a href="{{:MyUrl('admin/article/index', $params)}}" class="am-btn am-btn-warning am-radius am-btn-xs am-margin-right-lg">
|
||||
<i class="am-icon-mail-reply"></i>
|
||||
<span>{{:MyLang('retreat_title')}}</span>
|
||||
</a>
|
||||
{{include file="lib/seo" /}}
|
||||
|
||||
<div class="am-form-popup-submit">
|
||||
<input type="hidden" name="id" {{if !empty($data)}} value="{{$data.id}}"{{/if}} />
|
||||
<button type="submit" class="am-btn am-btn-primary am-radius am-btn-xs btn-loading-example" data-am-loading="{spinner: 'circle-o-notch', loadingText:'{{:MyLang('save_title')}}'}">
|
||||
<i class="am-icon-save"></i>
|
||||
<span>{{:MyLang('save_title')}}</span>
|
||||
</button>
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
</form>
|
||||
<!-- form end -->
|
||||
</div>
|
||||
</div>
|
||||
<!-- right content end -->
|
||||
|
||||
<!-- footer start -->
|
||||
{{include file="public/footer" /}}
|
||||
<!-- footer end -->
|
||||
{{include file="public/footer" /}}
|
@ -3,66 +3,59 @@
|
||||
<!-- right content start -->
|
||||
<div class="content-right">
|
||||
<div class="content">
|
||||
<!-- operation start -->
|
||||
<div class="am-g">
|
||||
<button class="am-btn am-btn-secondary am-radius am-btn-xs am-icon-plus tree-submit-add" data-am-modal="{target: '#data-save-win'}"> {{:MyLang('add_title')}}</button>
|
||||
</div>
|
||||
<!-- operation end -->
|
||||
|
||||
<!-- save win start -->
|
||||
<div class="am-popup am-radius" id="data-save-win">
|
||||
<div class="am-popup-inner">
|
||||
<div class="am-popup-hd">
|
||||
<h4 class="am-popup-title" data-add-title="{{:MyLang('articlecategory.base_nav_title')}}{{:MyLang('add_title')}}" data-edit-title="{{:MyLang('articlecategory.base_nav_title')}}{{:MyLang('edit_title')}}">{{:MyLang('articlecategory.base_nav_title')}}{{:MyLang('add_title')}}</h4>
|
||||
<span data-am-modal-close class="am-close">×</span>
|
||||
</div>
|
||||
<div class="am-popup-bd">
|
||||
<!-- form start -->
|
||||
<form class="am-form form-validation am-form-popup-fixed" action="{{:MyUrl('admin/articlecategory/save')}}" method="POST" request-type="ajax-fun" request-value="TreeFormSaveBack">
|
||||
<div class="am-form-group">
|
||||
<label>{{:MyLang('common_service.articlecategory.form_item_name')}}<span class="am-form-group-label-tips-must">*</span></label>
|
||||
<input type="text" placeholder="{{:MyLang('common_service.articlecategory.form_item_name_message')}}" name="name" minlength="1" maxlength="60" data-validation-message="{{:MyLang('common_service.articlecategory.form_item_name_message')}}" class="am-radius" required />
|
||||
</div>
|
||||
{{include file="lib/sort" /}}
|
||||
{{include file="lib/is_enable" /}}
|
||||
<div class="am-form-popup-submit">
|
||||
<input type="hidden" name="id" />
|
||||
<button type="button" class="am-btn am-btn-warning am-radius am-btn-xs btn-loading-example am-margin-right-lg" data-am-modal-close>
|
||||
<i class="am-icon-paint-brush"></i>
|
||||
<span>{{:MyLang('cancel_title')}}</span>
|
||||
</button>
|
||||
<button type="submit" class="am-btn am-btn-primary am-radius am-btn-xs btn-loading-example" data-am-loading="{spinner: 'circle-o-notch', loadingText:'{{:MyLang('save_title')}}'}">
|
||||
<i class="am-icon-save"></i>
|
||||
<span>{{:MyLang('save_title')}}</span>
|
||||
</button>
|
||||
</div>
|
||||
</form>
|
||||
<!-- form end -->
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<!-- save win end -->
|
||||
<div class="am-popup-inner">
|
||||
<div class="am-popup-hd">
|
||||
<h4 class="am-popup-title" data-add-title="{{:MyLang('articlecategory.base_nav_title')}}{{:MyLang('add_title')}}" data-edit-title="{{:MyLang('articlecategory.base_nav_title')}}{{:MyLang('edit_title')}}">{{:MyLang('articlecategory.base_nav_title')}}{{:MyLang('add_title')}}</h4>
|
||||
<span data-am-modal-close class="am-close">×</span>
|
||||
</div>
|
||||
<div class="am-popup-bd">
|
||||
<!-- form start -->
|
||||
<form class="am-form form-validation am-form-popup-fixed" action="{{:MyUrl('admin/articlecategory/save')}}" method="POST" request-type="ajax-fun" request-value="CardFormSaveBack">
|
||||
<div class="am-form-group row">
|
||||
<label>{{:MyLang('common_service.articlecategory.form_item_name')}}<span class="am-form-group-label-tips-must">*</span></label>
|
||||
<input type="text" placeholder="{{:MyLang('common_service.articlecategory.form_item_name_message')}}" name="name" minlength="1" maxlength="60" data-validation-message="{{:MyLang('common_service.articlecategory.form_item_name_message')}}" class="am-radius" required />
|
||||
</div>
|
||||
{{include file="lib/sort_row" /}}
|
||||
{{include file="lib/is_enable_row" /}}
|
||||
<div class="am-form-popup-submit">
|
||||
<input type="hidden" name="id" />
|
||||
<button type="button" class="am-btn am-btn-warning am-radius am-btn-xs btn-loading-example am-margin-right-lg" data-am-modal-close>
|
||||
<i class="am-icon-paint-brush"></i>
|
||||
<span>{{:MyLang('cancel_title')}}</span>
|
||||
</button>
|
||||
<button type="submit" class="am-btn am-btn-primary am-radius am-btn-xs btn-loading-example" data-am-loading="{spinner: 'circle-o-notch', loadingText:'{{:MyLang('save_title')}}'}">
|
||||
<i class="am-icon-save"></i>
|
||||
<span>{{:MyLang('save_title')}}</span>
|
||||
</button>
|
||||
</div>
|
||||
</form>
|
||||
<!-- form end -->
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<!-- save win end -->
|
||||
|
||||
<!-- list start -->
|
||||
<div id="tree" class="am-margin-top-sm" data-node-url="{{:MyUrl('admin/articlecategory/getnodeson')}}" data-del-url="{{:MyUrl('admin/articlecategory/delete')}}" data-popup-tag="#data-save-win">
|
||||
{{include file="public/loading" /}}
|
||||
</div>
|
||||
<!-- list end -->
|
||||
<div id="card" data-node-url="{{:MyUrl('admin/articlecategory/getnodeson')}}" data-del-url="{{:MyUrl('admin/articlecategory/delete')}}" data-popup-tag="#data-save-win">
|
||||
{{include file="public/loading" /}}
|
||||
</div>
|
||||
<!-- list end -->
|
||||
</div>
|
||||
</div>
|
||||
<!-- right content end -->
|
||||
|
||||
<!-- footer start -->
|
||||
{{include file="public/footer" /}}
|
||||
<!-- footer end -->
|
||||
|
||||
<script type="text/javascript">
|
||||
// 初始化
|
||||
Tree(0, $('#tree').data('node-url'), 0);
|
||||
Card(0, $('#card').data('node-url'), 0);
|
||||
|
||||
// 回调处理
|
||||
function TreeFormSaveBack(e)
|
||||
function CardFormSaveBack(e)
|
||||
{
|
||||
TreeFormSaveBackHandle(e);
|
||||
CardFormSaveBackHandle(e);
|
||||
}
|
||||
</script>
|
@ -3,7 +3,10 @@
|
||||
|
||||
<!-- 表单顶部操作栏 -->
|
||||
{{block name="form_operate_top"}}
|
||||
<a href="{{:MyUrl('admin/brand/saveinfo')}}" class="am-btn am-btn-secondary am-radius am-btn-xs am-icon-plus"> {{:MyLang('add_title')}}</a>
|
||||
<a href="{{:MyUrl('admin/brand/saveinfo')}}" class="am-btn am-btn-primary am-radius am-btn-xs">
|
||||
<i class="iconfont icon-btn-add am-show-sm-only"></i>
|
||||
<span class="am-hide-sm-only">{{:MyLang('add_title')}}</span>
|
||||
</a>
|
||||
<!-- 父级内容 -->
|
||||
{__block__}
|
||||
{{/block}}
|
@ -1,6 +0,0 @@
|
||||
<!-- logo -->
|
||||
{{if !empty($module_data) and !empty($module_data['logo'])}}
|
||||
<a href="{{$module_data['logo']}}" target="_blank">
|
||||
<img src="{{$module_data.logo}}" alt="{{$module_data.name}}" class="am-radius" width="100" />
|
||||
</a>
|
||||
{{/if}}
|
@ -1,5 +1,5 @@
|
||||
<!-- 操作栏 -->
|
||||
<button type="button" class="am-btn am-btn-default am-btn-xs am-radius am-btn-block submit-popup" data-url="{{:MyUrl('admin/brand/detail', ['id'=>$module_data['id']])}}">
|
||||
<button type="button" class="am-btn am-btn-default am-btn-xs am-radius am-btn-block submit-popup" data-url="{{:MyUrl('admin/brand/detail', ['id'=>$module_data['id']])}}" data-title="{{:MyLang('detail_title')}}">
|
||||
<i class="am-icon-eye"></i>
|
||||
<span>{{:MyLang('detail_title')}}</span>
|
||||
</button>
|
||||
|
@ -3,117 +3,93 @@
|
||||
<!-- right content start -->
|
||||
<div class="content-right">
|
||||
<div class="content">
|
||||
<!-- form start -->
|
||||
<form class="am-form form-validation am-form-full-screen am-form-popup-fixed" action="{{:MyUrl('admin/brand/save')}}" method="POST" request-type="ajax-url" request-value="{{:MyUrl('admin/brand/index', $params)}}" enctype="multipart/form-data">
|
||||
<legend>
|
||||
<span class="am-text-default">{{:MyLang('brand.base_nav_title')}}{{if empty($data['id'])}}{{:MyLang('created_title')}}{{else /}}{{:MyLang('edit_title')}}{{/if}}</span>
|
||||
<a href="{{:MyUrl('admin/brand/index', $params)}}" class="am-fr am-text-sm am-margin-top-sm am-icon-mail-reply"> {{:MyLang('retreat_title')}}</a>
|
||||
</legend>
|
||||
<div class="am-cf">
|
||||
<div class="am-u-sm-6 am-padding-horizontal-0">
|
||||
<div class="am-form-group">
|
||||
<label>{{:MyLang('common_service.brand.form_item_name')}}<span class="am-form-group-label-tips-must">*</span></label>
|
||||
<input type="text" name="name" placeholder="{{:MyLang('common_service.brand.form_item_name_message')}}" minlength="1" maxlength="80" data-validation-message="{{:MyLang('common_service.brand.form_item_name_message')}}" class="am-radius" {{if !empty($data['name'])}} value="{{$data.name}}"{{/if}} required />
|
||||
</div>
|
||||
</div>
|
||||
<div class="am-u-sm-6 am-padding-horizontal-0">
|
||||
<div class="am-form-group">
|
||||
<label>{{:MyLang('common_service.brand.form_item_brand_category_id')}}<span class="am-form-group-label-tips-must">*</span></label>
|
||||
<select name="brand_category_id" class="am-radius chosen-select" multiple="multiple" minchecked="1" data-placeholder="{{:MyLang('optional_tips')}}" data-validation-message="{{:MyLang('common_service.brand.form_item_brand_category_id_message')}}" required>
|
||||
{{foreach $brand_category as $v}}
|
||||
<option value="{{$v.id}}" {{if isset($data['brand_category_ids']) and is_array($data['brand_category_ids']) and in_array($v['id'], $data['brand_category_ids'])}}selected{{/if}}>{{$v.name}}</option>
|
||||
{{/foreach}}
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<!-- nav start -->
|
||||
{{:ModuleInclude('public/admin_nav', [
|
||||
'title' => MyLang('brand.base_nav_title').(empty($data['id']) ? MyLang('created_title') : MyLang('edit_title')),
|
||||
'back_url' => MyUrl('admin/brand/index', $params)
|
||||
])}}
|
||||
<!-- nav end -->
|
||||
<!-- form start -->
|
||||
<form class="am-form form-validation am-form-full-screen am-form-popup-sticky" action="{{:MyUrl('admin/brand/save')}}" method="POST" request-type="ajax-url" request-value="{{:MyUrl('admin/brand/index', $params)}}" enctype="multipart/form-data">
|
||||
<div class="am-form-group">
|
||||
<label>{{:MyLang('common_service.brand.form_item_name')}}<span class="am-form-group-label-tips-must">*</span></label>
|
||||
<input type="text" name="name" placeholder="{{:MyLang('common_service.brand.form_item_name_message')}}" minlength="1" maxlength="80" data-validation-message="{{:MyLang('common_service.brand.form_item_name_message')}}" class="am-radius" {{if !empty($data['name'])}} value="{{$data.name}}"{{/if}} required />
|
||||
</div>
|
||||
<div class="am-form-group">
|
||||
<label>{{:MyLang('common_service.brand.form_item_brand_category_id')}}<span class="am-form-group-label-tips-must">*</span></label>
|
||||
<select name="brand_category_id" class="am-radius chosen-select" multiple="multiple" minchecked="1" data-placeholder="{{:MyLang('optional_tips')}}" data-validation-message="{{:MyLang('common_service.brand.form_item_brand_category_id_message')}}" required>
|
||||
{{foreach $brand_category as $v}}
|
||||
<option value="{{$v.id}}" {{if isset($data['brand_category_ids']) and is_array($data['brand_category_ids']) and in_array($v['id'], $data['brand_category_ids'])}}selected{{/if}}>{{$v.name}}</option>
|
||||
{{/foreach}}
|
||||
</select>
|
||||
</div>
|
||||
|
||||
<div class="am-form-group">
|
||||
<label>{{:MyLang('common_service.brand.form_item_website_url')}}</label>
|
||||
<input type="url" placeholder="{{:MyLang('common_service.brand.form_item_website_url_placeholder')}}" name="website_url" data-validation-message="{{:MyLang('common_service.brand.form_item_website_url_message')}}" class="am-radius" {{if !empty($data['website_url'])}} value="{{$data.website_url}}"{{/if}} />
|
||||
</div>
|
||||
|
||||
<div class="am-form-group">
|
||||
<label>{{:MyLang('common_service.brand.form_item_describe')}}</label>
|
||||
<textarea rows="3" name="describe" maxlength="230" class="am-radius" placeholder="{{:MyLang('common_service.brand.form_item_describe_message')}}" data-validation-message="{{:MyLang('common_service.brand.form_item_describe_message')}}">{{if !empty($data['describe'])}} {{$data.describe}}{{/if}}</textarea>
|
||||
</div>
|
||||
|
||||
<div class="am-form-group am-form-file">
|
||||
<label class="am-block">{{:MyLang('common_service.brand.form_item_logo')}}<span class="am-form-group-label-tips">{{:MyLang('common_service.brand.form_item_logo_tips')}}</span></label>
|
||||
<div class="am-form-file-upload-container plug-file-upload-view-width-auto">
|
||||
<ul class="plug-file-upload-view brand-logo-images-view" data-form-name="logo" data-max-number="1" data-dialog-type="images" data-is-eye="1">
|
||||
<li class="plug-file-upload-submit" data-view-tag="ul.brand-logo-images-view">
|
||||
{{if empty($data['logo'])}}
|
||||
<i class="iconfont icon-upload-add"></i>
|
||||
{{else /}}
|
||||
<input type="text" name="logo" value="{{$data.logo}}" />
|
||||
<img src="{{$data.logo}}" />
|
||||
<i>×</i>
|
||||
<i class="iconfont icon-eye"></i>
|
||||
{{/if}}
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
{{include file="lib/sort" /}}
|
||||
|
||||
{{include file="lib/is_enable" /}}
|
||||
|
||||
<div class="am-cf">
|
||||
<div class="am-u-sm-6 am-padding-horizontal-0">
|
||||
<div class="am-form-group">
|
||||
<label>{{:MyLang('common_service.brand.form_item_website_url')}}</label>
|
||||
<input type="url" placeholder="{{:MyLang('common_service.brand.form_item_website_url_placeholder')}}" name="website_url" data-validation-message="{{:MyLang('common_service.brand.form_item_website_url_message')}}" class="am-radius" {{if !empty($data['website_url'])}} value="{{$data.website_url}}"{{/if}} />
|
||||
</div>
|
||||
</div>
|
||||
<div class="am-u-sm-6 am-padding-horizontal-0">
|
||||
<div class="am-form-group">
|
||||
<label>{{:MyLang('common_service.brand.form_item_describe')}}</label>
|
||||
<textarea rows="1" name="describe" maxlength="230" class="am-radius" placeholder="{{:MyLang('common_service.brand.form_item_describe_message')}}" data-validation-message="{{:MyLang('common_service.brand.form_item_describe_message')}}">{{if !empty($data['describe'])}} {{$data.describe}}{{/if}}</textarea>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="am-cf">
|
||||
<div class="am-u-sm-6 am-padding-horizontal-0">
|
||||
<div class="am-form-group am-form-file">
|
||||
<label class="am-block">{{:MyLang('common_service.brand.form_item_logo')}}<span class="am-form-group-label-tips">{{:MyLang('common_service.brand.form_item_logo_tips')}}</span></label>
|
||||
<ul class="plug-file-upload-view brand-logo-images-view" data-form-name="logo" data-max-number="1" data-dialog-type="images">
|
||||
{{if !empty($data['logo'])}}
|
||||
<li>
|
||||
<input type="text" name="logo" value="{{$data.logo}}" />
|
||||
<img src="{{$data.logo}}" />
|
||||
<i>×</i>
|
||||
</li>
|
||||
{{/if}}
|
||||
</ul>
|
||||
<div class="plug-file-upload-submit" data-view-tag="ul.brand-logo-images-view">+ {{:MyLang('form_upload_images_title')}}</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="am-u-sm-6 am-padding-horizontal-0">
|
||||
<div class="am-cf">
|
||||
<div class="am-u-md-6 am-padding-horizontal-0">
|
||||
{{include file="lib/sort" /}}
|
||||
</div>
|
||||
<div class="am-u-md-6 am-padding-horizontal-0">
|
||||
{{include file="lib/is_enable" /}}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- 插件扩展数据 start -->
|
||||
{{if isset($shopxo_is_develop) and $shopxo_is_develop eq true}}
|
||||
<!-- 插件扩展数据 start -->
|
||||
{{if isset($shopxo_is_develop) and $shopxo_is_develop eq true}}
|
||||
<div class="plugins-tag">
|
||||
<span>plugins_view_admin_brand_save</span>
|
||||
</div>
|
||||
{{/if}}
|
||||
{{if !empty($plugins_view_admin_brand_save_data) and is_array($plugins_view_admin_brand_save_data)}}
|
||||
<div class="am-alert am-alert-secondary">
|
||||
<label class="am-text-sm am-text-warning">{{:MyLang('plugins_view_region_config_tips')}}</label>
|
||||
<div>
|
||||
{{foreach $plugins_view_admin_brand_save_data as $hook}}
|
||||
{{if is_string($hook) or is_int($hook)}}
|
||||
{{$hook|raw}}
|
||||
{{/if}}
|
||||
{{/foreach}}
|
||||
</div>
|
||||
</div>
|
||||
{{/if}}
|
||||
<!-- 插件扩展数据 end -->
|
||||
{{if !empty($plugins_view_admin_brand_save_data) and is_array($plugins_view_admin_brand_save_data)}}
|
||||
<div class="card-grey">
|
||||
<label class="am-text-sm">{{:MyLang('plugins_view_region_config_tips')}}</label>
|
||||
<div>
|
||||
{{foreach $plugins_view_admin_brand_save_data as $hook}}
|
||||
{{if is_string($hook) or is_int($hook)}}
|
||||
{{$hook|raw}}
|
||||
{{/if}}
|
||||
{{/foreach}}
|
||||
</div>
|
||||
</div>
|
||||
{{/if}}
|
||||
<!-- 插件扩展数据 end -->
|
||||
|
||||
<div class="am-panel am-panel-default am-radius am-margin-horizontal-xs am-margin-top">
|
||||
<div class="am-panel-bd">
|
||||
{{include file="lib/seo" /}}
|
||||
</div>
|
||||
</div>
|
||||
{{include file="lib/seo" /}}
|
||||
|
||||
<div class="am-form-popup-submit">
|
||||
<input type="hidden" name="id" {{if !empty($data)}} value="{{$data.id}}"{{/if}} />
|
||||
<a href="{{:MyUrl('admin/brand/index', $params)}}" class="am-btn am-btn-warning am-radius am-btn-xs am-margin-right-lg">
|
||||
<i class="am-icon-mail-reply"></i>
|
||||
<span>{{:MyLang('retreat_title')}}</span>
|
||||
</a>
|
||||
<div class="am-form-popup-submit">
|
||||
<input type="hidden" name="id" {{if !empty($data)}} value="{{$data.id}}"{{/if}} />
|
||||
<button type="submit" class="am-btn am-btn-primary am-radius am-btn-xs btn-loading-example" data-am-loading="{spinner: 'circle-o-notch', loadingText:'{{:MyLang('save_title')}}'}">
|
||||
<i class="am-icon-save"></i>
|
||||
<span>{{:MyLang('save_title')}}</span>
|
||||
</button>
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
</form>
|
||||
<!-- form end -->
|
||||
</div>
|
||||
</div>
|
||||
<!-- right content end -->
|
||||
|
||||
<!-- footer start -->
|
||||
{{include file="public/footer" /}}
|
||||
<!-- footer end -->
|
||||
{{include file="public/footer" /}}
|
@ -3,77 +3,69 @@
|
||||
<!-- right content start -->
|
||||
<div class="content-right">
|
||||
<div class="content">
|
||||
<!-- operation start -->
|
||||
<div class="am-g">
|
||||
<button class="am-btn am-btn-secondary am-radius am-btn-xs am-icon-plus tree-submit-add" data-am-modal="{target: '#data-save-win'}"> {{:MyLang('add_title')}}</button>
|
||||
</div>
|
||||
<!-- operation end -->
|
||||
|
||||
<!-- save win start -->
|
||||
<div class="am-popup am-radius" id="data-save-win">
|
||||
<div class="am-popup-inner">
|
||||
<div class="am-popup-hd">
|
||||
<h4 class="am-popup-title" data-add-title="{{:MyLang('brandcategory.base_nav_title')}}{{:MyLang('add_title')}}" data-edit-title="{{:MyLang('brandcategory.base_nav_title')}}{{:MyLang('edit_title')}}">{{:MyLang('brandcategory.base_nav_title')}}{{:MyLang('add_title')}}</h4>
|
||||
<span data-am-modal-close class="am-close">×</span>
|
||||
</div>
|
||||
<div class="am-popup-bd">
|
||||
<!-- form start -->
|
||||
<form class="am-form form-validation am-form-popup-fixed" action="{{:MyUrl('admin/brandcategory/save')}}" method="POST" request-type="ajax-fun" request-value="TreeFormSaveBack">
|
||||
<div class="am-form-group am-form-file">
|
||||
<label class="am-block">{{:MyLang('common_service.brandcategory.form_item_icon')}}<a href="javascript:;" class="am-icon-question-circle am-text-warning am-margin-left-sm" data-am-popover="{content: '{{:MyLang('common_service.brandcategory.form_item_icon_tips')}}', trigger: 'hover focus', theme: 'sm'}"></a></label>
|
||||
<ul class="plug-file-upload-view brand-category-icon-images-view" data-form-name="icon" data-max-number="1" data-dialog-type="images">
|
||||
<li>
|
||||
<input type="hidden" name="icon" value="" />
|
||||
<img src="{{$attachment_host}}/static/common/images/default-images.jpg" />
|
||||
<i>×</i>
|
||||
</li>
|
||||
</ul>
|
||||
<div class="plug-file-upload-submit" data-view-tag="ul.brand-category-icon-images-view">+ {{:MyLang('form_upload_images_title')}}</div>
|
||||
</div>
|
||||
<div class="am-form-group">
|
||||
<label>{{:MyLang('common_service.brandcategory.form_item_name')}}<span class="am-form-group-label-tips-must">*</span></label>
|
||||
<input type="text" placeholder="{{:MyLang('common_service.brandcategory.form_item_name_message')}}" name="name" minlength="1" maxlength="60" data-validation-message="{{:MyLang('common_service.brandcategory.form_item_name_message')}}" class="am-radius" required />
|
||||
</div>
|
||||
{{include file="lib/sort" /}}
|
||||
{{include file="lib/is_enable" /}}
|
||||
<div class="am-form-popup-submit">
|
||||
<input type="hidden" name="id" />
|
||||
<button type="button" class="am-btn am-btn-warning am-radius am-btn-xs btn-loading-example am-margin-right-lg" data-am-modal-close>
|
||||
<i class="am-icon-paint-brush"></i>
|
||||
<span>{{:MyLang('cancel_title')}}</span>
|
||||
</button>
|
||||
<button type="submit" class="am-btn am-btn-primary am-radius am-btn-xs btn-loading-example" data-am-loading="{spinner: 'circle-o-notch', loadingText:'{{:MyLang('save_title')}}'}">
|
||||
<i class="am-icon-save"></i>
|
||||
<span>{{:MyLang('save_title')}}</span>
|
||||
</button>
|
||||
</div>
|
||||
</form>
|
||||
<!-- form end -->
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<!-- save win end -->
|
||||
<div class="am-popup-inner">
|
||||
<div class="am-popup-hd">
|
||||
<h4 class="am-popup-title" data-add-title="{{:MyLang('brandcategory.base_nav_title')}}{{:MyLang('add_title')}}" data-edit-title="{{:MyLang('brandcategory.base_nav_title')}}{{:MyLang('edit_title')}}">{{:MyLang('brandcategory.base_nav_title')}}{{:MyLang('add_title')}}</h4>
|
||||
<span data-am-modal-close class="am-close">×</span>
|
||||
</div>
|
||||
<div class="am-popup-bd">
|
||||
<!-- form start -->
|
||||
<form class="am-form form-validation am-form-popup-fixed" action="{{:MyUrl('admin/brandcategory/save')}}" method="POST" request-type="ajax-fun" request-value="CardFormSaveBack">
|
||||
<div class="am-form-group row am-form-file">
|
||||
<label class="am-block">{{:MyLang('common_service.brandcategory.form_item_icon')}}<a href="javascript:;" class="am-icon-question-circle am-text-primary am-margin-left-sm" data-am-popover="{content: '{{:MyLang('common_service.brandcategory.form_item_icon_tips')}}', trigger: 'hover focus', theme: 'sm'}"></a></label>
|
||||
<div class="am-form-file-upload-container">
|
||||
<ul class="plug-file-upload-view brand-category-icon-images-view" data-form-name="icon" data-max-number="1" data-dialog-type="images">
|
||||
<li class="plug-file-upload-submit" data-view-tag="ul.brand-category-icon-images-view">
|
||||
<i class="iconfont icon-upload-add"></i>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
<div class="am-form-group row">
|
||||
<label>{{:MyLang('common_service.brandcategory.form_item_name')}}<span class="am-form-group-label-tips-must">*</span></label>
|
||||
<input type="text" placeholder="{{:MyLang('common_service.brandcategory.form_item_name_message')}}" name="name" minlength="1" maxlength="60" data-validation-message="{{:MyLang('common_service.brandcategory.form_item_name_message')}}" class="am-radius" required />
|
||||
</div>
|
||||
{{include file="lib/sort_row" /}}
|
||||
{{include file="lib/is_enable_row" /}}
|
||||
<div class="am-form-popup-submit">
|
||||
<input type="hidden" name="id" />
|
||||
<button type="button" class="am-btn am-btn-warning am-radius am-btn-xs btn-loading-example am-margin-right-lg" data-am-modal-close>
|
||||
<i class="am-icon-paint-brush"></i>
|
||||
<span>{{:MyLang('cancel_title')}}</span>
|
||||
</button>
|
||||
<button type="submit" class="am-btn am-btn-primary am-radius am-btn-xs btn-loading-example" data-am-loading="{spinner: 'circle-o-notch', loadingText:'{{:MyLang('save_title')}}'}">
|
||||
<i class="am-icon-save"></i>
|
||||
<span>{{:MyLang('save_title')}}</span>
|
||||
</button>
|
||||
</div>
|
||||
</form>
|
||||
<!-- form end -->
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<!-- save win end -->
|
||||
|
||||
<!-- list start -->
|
||||
<div id="tree" class="am-margin-top-sm" data-additional='[{"field":"icon", "value":"", "type":"input"}, {"field":"icon", "value":"{{$attachment_host}}/static/common/images/default-images.jpg", "type":"attr", "tag":"ul.brand-category-icon-images-view li img", "style":"src"}]' data-node-url="{{:MyUrl('admin/brandcategory/getnodeson')}}" data-del-url="{{:MyUrl('admin/brandcategory/delete')}}" data-popup-tag="#data-save-win">
|
||||
{{include file="public/loading" /}}
|
||||
</div>
|
||||
<!-- list end -->
|
||||
<div id="card" data-prefix='{"field":"icon","type":"img"}' data-suffix="" data-additional='[{"field":"icon", "value":"", "type":"input"}, {"field":"icon", "value":"", "type":"annex", "tag":"ul.brand-category-icon-images-view", "style":"src"}]' data-node-url="{{:MyUrl('admin/brandcategory/getnodeson')}}" data-del-url="{{:MyUrl('admin/brandcategory/delete')}}" data-popup-tag="#data-save-win">
|
||||
{{include file="public/loading" /}}
|
||||
</div>
|
||||
<!-- list end -->
|
||||
</div>
|
||||
</div>
|
||||
<!-- right content end -->
|
||||
|
||||
<!-- footer start -->
|
||||
{{include file="public/footer" /}}
|
||||
<!-- footer end -->
|
||||
|
||||
<script type="text/javascript">
|
||||
// 初始化
|
||||
Tree(0, $('#tree').data('node-url'), 0);
|
||||
Card(0, $('#card').data('node-url'), 0);
|
||||
|
||||
// 回调处理
|
||||
function TreeFormSaveBack(e)
|
||||
function CardFormSaveBack(e)
|
||||
{
|
||||
TreeFormSaveBackHandle(e);
|
||||
CardFormSaveBackHandle(e);
|
||||
}
|
||||
</script>
|
28
app/admin/view/default/cache/index.html
vendored
28
app/admin/view/default/cache/index.html
vendored
@ -3,23 +3,21 @@
|
||||
<!-- right content start -->
|
||||
<div class="content-right">
|
||||
<div class="content">
|
||||
<!-- cache list start -->
|
||||
{{foreach $cache_type_list as $v}}
|
||||
{{if $v['is_enable'] eq 1}}
|
||||
<div class="am-panel am-panel-default am-radius">
|
||||
<div class="am-panel-hd">{{$v.name}}</div>
|
||||
<a href="javascript:;" class="submit-ajax" data-url="{{$v.url}}" data-is-confirm="0">
|
||||
<button type="button" class="am-btn am-btn-secondary am-radius am-btn-xs am-fr cache-submit">{{:MyLang('update_title')}}</button>
|
||||
</a>
|
||||
<div class="am-panel-bd">{{$v.desc}}</div>
|
||||
</div>
|
||||
{{/if}}
|
||||
{{/foreach}}
|
||||
<!-- cache list end -->
|
||||
<!-- cache list start -->
|
||||
{{foreach $cache_type_list as $v}}
|
||||
{{if $v['is_enable'] eq 1}}
|
||||
<div class="cache-item am-flex am-flex-col am-gap-12 am-border-bottom-f8 am-margin-bottom-xl am-padding-bottom">
|
||||
<label>{{$v.name}}<span class="am-form-group-label-tips">{{$v.desc}}</span></label>
|
||||
<div>
|
||||
<button type="button" class="am-btn am-btn-primary am-radius am-btn-xs cache-submit submit-ajax" data-url="{{$v.url}}" data-is-confirm="0">{{:MyLang('update_title')}}</button>
|
||||
</div>
|
||||
</div>
|
||||
{{/if}}
|
||||
{{/foreach}}
|
||||
<!-- cache list end -->
|
||||
</div>
|
||||
</div>
|
||||
<!-- right content end -->
|
||||
|
||||
<!-- footer start -->
|
||||
{{include file="public/footer" /}}
|
||||
<!-- footer end -->
|
||||
{{include file="public/footer" /}}
|
@ -3,14 +3,56 @@
|
||||
<!-- right content start -->
|
||||
<div class="content-right">
|
||||
<div class="content">
|
||||
<!-- form start -->
|
||||
<form class="am-form form-validation am-form-popup-fixed" action="{{:MyUrl('admin/config/save', ['view_type'=>$view_type])}}" method="POST" request-type="ajax-url" request-value="{{:MyUrl('admin/config/index')}}">
|
||||
<!-- 基础配置 -->
|
||||
<div class="am-panel am-panel-default am-radius">
|
||||
<div class="am-panel-hd">
|
||||
<h3 class="am-panel-title">{{:MyLang('base_config_title')}}</h3>
|
||||
</div>
|
||||
<div class="am-panel-bd am-padding-vertical-xs">
|
||||
<!-- form start -->
|
||||
<form class="am-form form-validation am-form-popup-sticky" action="{{:MyUrl('admin/config/save', ['view_type'=>$view_type])}}" method="POST" request-type="ajax-view" request-value="{{:MyUrl('admin/config/index')}}">
|
||||
{{:ModuleInclude('public/nav_switch_btn', [
|
||||
'nav_data' => [
|
||||
[
|
||||
'name' => MyLang('base_config_title'),
|
||||
'key' => 'base-config-title',
|
||||
],
|
||||
[
|
||||
'name' => MyLang('config.admin_login_title'),
|
||||
'key' => 'admin-login',
|
||||
],
|
||||
[
|
||||
'name' => MyLang('goods_title'),
|
||||
'key' => 'goods',
|
||||
],
|
||||
[
|
||||
'name' => MyLang('map_title'),
|
||||
'key' => 'map',
|
||||
],
|
||||
[
|
||||
'name' => MyLang('extend_title'),
|
||||
'key' => 'extend',
|
||||
],
|
||||
[
|
||||
'name' => MyLang('safety_title'),
|
||||
'key' => 'safety',
|
||||
]
|
||||
]
|
||||
])}}
|
||||
<div class="nav-content">
|
||||
<!-- 基础配置 -->
|
||||
<div class="item am-active" data-key="base-config-title">
|
||||
<div class="am-form-group">
|
||||
<label class="am-block">{{$data.admin_logo.name}}<span class="am-form-group-label-tips">{{$data.admin_logo.describe}}</span></label>
|
||||
<div class="am-form-file-upload-container plug-file-upload-view-width-auto">
|
||||
<ul class="plug-file-upload-view admin_logo-images-view" data-form-name="admin_logo" data-max-number="1" data-dialog-type="images" data-is-eye="1">
|
||||
<li class="plug-file-upload-submit" data-view-tag="ul.admin_logo-images-view">
|
||||
{{if empty($data['admin_logo']['value'])}}
|
||||
<i class="iconfont icon-upload-add"></i>
|
||||
{{else /}}
|
||||
<input type="text" name="admin_logo" value="{{$data.admin_logo.value}}" />
|
||||
<img src="{{:AttachmentPathViewHandle($data.admin_logo.value)}}" />
|
||||
<i>x</i>
|
||||
<i class="iconfont icon-eye"></i>
|
||||
{{/if}}
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
<div class="am-form-group">
|
||||
<label>{{$data.admin_excel_charset.name}}<span class="am-form-group-label-tips">{{$data.admin_excel_charset.describe}}</span></label>
|
||||
<select name="{{$data.admin_excel_charset.only_tag}}" class="am-radius chosen-select" data-validation-message="{{$data.admin_excel_charset.error_tips}}" required>
|
||||
@ -36,14 +78,43 @@
|
||||
<textarea rows="4" name="{{$data.admin_notice.only_tag}}" class="am-radius" placeholder="{{$data.admin_notice.name}}" data-validation-message="{{$data.admin_notice.error_tips}}">{{if !empty($data)}}{{$data.admin_notice.value}}{{/if}}</textarea>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- 后台登录 -->
|
||||
<div class="am-panel am-panel-default am-radius">
|
||||
<div class="am-panel-hd">
|
||||
<h3 class="am-panel-title">{{:MyLang('config.admin_login_title')}}</h3>
|
||||
</div>
|
||||
<div class="am-panel-bd am-padding-vertical-xs">
|
||||
<!-- 后台登录 -->
|
||||
<div class="item" data-key="admin-login">
|
||||
<div class="am-form-group">
|
||||
<label class="am-block">{{$data.admin_login_logo.name}}<span class="am-form-group-label-tips">{{$data.admin_login_logo.describe}}</span></label>
|
||||
<div class="am-form-file-upload-container plug-file-upload-view-width-auto">
|
||||
<ul class="plug-file-upload-view admin_login_logo-images-view" data-form-name="admin_login_logo" data-max-number="1" data-dialog-type="images" data-is-eye="1">
|
||||
<li class="plug-file-upload-submit" data-view-tag="ul.admin_login_logo-images-view">
|
||||
{{if empty($data['admin_login_logo']['value'])}}
|
||||
<i class="iconfont icon-upload-add"></i>
|
||||
{{else /}}
|
||||
<input type="text" name="admin_login_logo" value="{{$data.admin_login_logo.value}}" />
|
||||
<img src="{{:AttachmentPathViewHandle($data.admin_login_logo.value)}}" />
|
||||
<i>x</i>
|
||||
<i class="iconfont icon-eye"></i>
|
||||
{{/if}}
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
<div class="am-form-group">
|
||||
<label class="am-block">{{$data.admin_login_ad_images.name}}<span class="am-form-group-label-tips">{{$data.admin_login_ad_images.describe}}</span></label>
|
||||
<div class="am-form-file-upload-container plug-file-upload-view-width-auto">
|
||||
<ul class="plug-file-upload-view admin_login_ad_images-images-view" data-form-name="admin_login_ad_images" data-max-number="1" data-dialog-type="images" data-is-eye="1">
|
||||
<li class="plug-file-upload-submit" data-view-tag="ul.admin_login_ad_images-images-view">
|
||||
{{if empty($data['admin_login_ad_images']['value'])}}
|
||||
<i class="iconfont icon-upload-add"></i>
|
||||
{{else /}}
|
||||
<input type="text" name="admin_login_ad_images" value="{{$data.admin_login_ad_images.value}}" />
|
||||
<img src="{{:AttachmentPathViewHandle($data.admin_login_ad_images.value)}}" />
|
||||
<i>x</i>
|
||||
<i class="iconfont icon-eye"></i>
|
||||
{{/if}}
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
<div class="am-form-group">
|
||||
<label>{{$data.admin_login_info_bg_images_rand.name}}<span class="am-form-group-label-tips">{{$data.admin_login_info_bg_images_rand.describe}}</span></label>
|
||||
<select name="{{$data.admin_login_info_bg_images_rand.only_tag}}" class="am-radius chosen-select" data-validation-message="{{$data.admin_login_info_bg_images_rand.error_tips}}" required>
|
||||
@ -52,7 +123,7 @@
|
||||
{{/foreach}}
|
||||
</select>
|
||||
{{if is_array(MyLang('config.admin_login_info_bg_images_list_tips'))}}
|
||||
<div class="am-alert am-alert-warning">
|
||||
<div class="am-tips-card">
|
||||
<p>{{:implode('</p><p>', MyLang('config.admin_login_info_bg_images_list_tips'))}}</p>
|
||||
</div>
|
||||
{{/if}}
|
||||
@ -74,29 +145,19 @@
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- 商品 -->
|
||||
<div class="am-panel am-panel-default am-radius">
|
||||
<div class="am-panel-hd">
|
||||
<h3 class="am-panel-title">{{:MyLang('goods_title')}}</h3>
|
||||
</div>
|
||||
<div class="am-panel-bd am-padding-vertical-xs">
|
||||
<!-- 商品 -->
|
||||
<div class="item" data-key="goods">
|
||||
<div class="am-form-group">
|
||||
<label>{{$data.common_spec_add_max_number.name}}<span class="am-form-group-label-tips">{{$data.common_spec_add_max_number.describe}}</span></label>
|
||||
<input type="number" name="{{$data.common_spec_add_max_number.only_tag}}" placeholder="{{$data.common_spec_add_max_number.describe}}" data-validation-message="{{$data.common_spec_add_max_number.error_tips}}" class="am-radius" {{if !empty($data)}}value="{{$data.common_spec_add_max_number.value}}"{{/if}} />
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- 地图 -->
|
||||
<div class="am-panel am-panel-default am-radius">
|
||||
<div class="am-panel-hd">
|
||||
<h3 class="am-panel-title">{{:MyLang('map_title')}}</h3>
|
||||
</div>
|
||||
<div class="am-panel-bd am-padding-vertical-xs">
|
||||
<!-- 地图 -->
|
||||
<div class="item" data-key="map">
|
||||
<div class="am-form-group">
|
||||
<label>{{$data.common_map_type.name}}<span class="am-form-group-label-tips">{{$data.common_map_type.describe}}</span><a href="javascript:;" class="am-icon-question-circle am-text-warning am-margin-left-sm" data-am-popover="{content: '{{:MyLang('config.map_type_tips')}}', trigger: 'hover focus', theme: 'sm'}"></a></label>
|
||||
<label>{{$data.common_map_type.name}}<span class="am-form-group-label-tips">{{$data.common_map_type.describe}}</span><a href="javascript:;" class="am-icon-question-circle am-text-primary am-margin-left-sm" data-am-popover="{content: '{{:MyLang('config.map_type_tips')}}', trigger: 'hover focus', theme: 'sm'}"></a></label>
|
||||
<select name="{{$data.common_map_type.only_tag}}" class="am-radius chosen-select" data-validation-message="{{$data.common_map_type.error_tips}}" required>
|
||||
{{foreach :MyConst('common_map_type_list') as $v}}
|
||||
<option value="{{$v.id}}" {{if isset($data['common_map_type']['value']) and $data['common_map_type']['value'] eq $v['id']}}selected{{/if}}>{{$v.name}}</option>
|
||||
@ -110,9 +171,7 @@
|
||||
<div class="am-form-group">
|
||||
<label>{{$data.common_baidu_map_ak_server.name}}<span class="am-form-group-label-tips">{{$data.common_baidu_map_ak_server.describe}}</span></label>
|
||||
<input type="text" name="{{$data.common_baidu_map_ak_server.only_tag}}" placeholder="{{$data.common_baidu_map_ak_server.describe}}" data-validation-message="{{$data.common_baidu_map_ak_server.error_tips}}" class="am-radius" {{if !empty($data)}}value="{{$data.common_baidu_map_ak_server.value}}"{{/if}} />
|
||||
</div>
|
||||
<div class="business-form-group am-padding-top-0">
|
||||
<div class="am-alert am-alert-warning am-margin-top-0">
|
||||
<div class="am-tips-card">
|
||||
{{:MyLang('config.apply_map_baidu_name')}} {{if !empty($site_store_links) and !empty($site_store_links['baidu_map_course'])}}<a href="{{$site_store_links.baidu_map_course}}" target="_blank" class="am-margin-left-sm">{{:MyLang('view_config_course_name')}} <i class="am-icon-external-link"></i></a>{{/if}}
|
||||
</div>
|
||||
</div>
|
||||
@ -125,9 +184,7 @@
|
||||
<div class="am-form-group">
|
||||
<label>{{$data.common_amap_map_ak_server.name}}<span class="am-form-group-label-tips">{{$data.common_amap_map_ak_server.describe}}</span></label>
|
||||
<input type="text" name="{{$data.common_amap_map_ak_server.only_tag}}" placeholder="{{$data.common_amap_map_ak_server.describe}}" data-validation-message="{{$data.common_amap_map_ak_server.error_tips}}" class="am-radius" {{if !empty($data)}}value="{{$data.common_amap_map_ak_server.value}}"{{/if}} />
|
||||
</div>
|
||||
<div class="business-form-group am-padding-top-0">
|
||||
<div class="am-alert am-alert-warning am-margin-top-0">
|
||||
<div class="am-tips-card">
|
||||
{{:MyLang('config.apply_map_amap_name')}} {{if !empty($site_store_links) and !empty($site_store_links['amap_map_course'])}}<a href="{{$site_store_links.amap_map_course}}" target="_blank" class="am-margin-left-sm">{{:MyLang('view_config_course_name')}} <i class="am-icon-external-link"></i></a>{{/if}}
|
||||
</div>
|
||||
</div>
|
||||
@ -139,9 +196,7 @@
|
||||
<div class="am-form-group">
|
||||
<label>{{$data.common_tencent_map_ak_server.name}}<span class="am-form-group-label-tips">{{$data.common_tencent_map_ak_server.describe}}</span></label>
|
||||
<input type="text" name="{{$data.common_tencent_map_ak_server.only_tag}}" placeholder="{{$data.common_tencent_map_ak_server.describe}}" data-validation-message="{{$data.common_tencent_map_ak_server.error_tips}}" class="am-radius" {{if !empty($data)}}value="{{$data.common_tencent_map_ak_server.value}}"{{/if}} />
|
||||
</div>
|
||||
<div class="business-form-group am-padding-top-0">
|
||||
<div class="am-alert am-alert-warning am-margin-top-0">
|
||||
<div class="am-tips-card">
|
||||
{{:MyLang('config.apply_map_tencent_name')}} {{if !empty($site_store_links) and !empty($site_store_links['tencent_map_course'])}}<a href="{{$site_store_links.tencent_map_course}}" target="_blank" class="am-margin-left-sm">{{:MyLang('view_config_course_name')}} <i class="am-icon-external-link"></i></a>{{/if}}
|
||||
</div>
|
||||
</div>
|
||||
@ -153,21 +208,14 @@
|
||||
<div class="am-form-group">
|
||||
<label>{{$data.common_tianditu_map_ak_server.name}}<span class="am-form-group-label-tips">{{$data.common_tianditu_map_ak_server.describe}}</span></label>
|
||||
<input type="text" name="{{$data.common_tianditu_map_ak_server.only_tag}}" placeholder="{{$data.common_tianditu_map_ak_server.describe}}" data-validation-message="{{$data.common_tianditu_map_ak_server.error_tips}}" class="am-radius" {{if !empty($data)}}value="{{$data.common_tianditu_map_ak_server.value}}"{{/if}} />
|
||||
</div>
|
||||
<div class="business-form-group am-padding-top-0">
|
||||
<div class="am-alert am-alert-warning am-margin-top-0">
|
||||
<div class="am-tips-card">
|
||||
{{:MyLang('config.apply_map_tianditu_name')}} {{if !empty($site_store_links) and !empty($site_store_links['tianditu_map_course'])}}<a href="{{$site_store_links.tianditu_map_course}}" target="_blank" class="am-margin-left-sm">{{:MyLang('view_config_course_name')}} <i class="am-icon-external-link"></i></a>{{/if}}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- 扩展 -->
|
||||
<div class="am-panel am-panel-default am-radius">
|
||||
<div class="am-panel-hd">
|
||||
<h3 class="am-panel-title">{{:MyLang('extend_title')}}</h3>
|
||||
</div>
|
||||
<div class="am-panel-bd am-padding-vertical-xs">
|
||||
<!-- 扩展 -->
|
||||
<div class="item" data-key="extend">
|
||||
<div class="am-form-group">
|
||||
<label>{{$data.common_is_https_connect_store.name}}<span class="am-form-group-label-tips">{{$data.common_is_https_connect_store.describe}}</span></label>
|
||||
<select name="{{$data.common_is_https_connect_store.only_tag}}" class="am-radius chosen-select" data-validation-message="{{$data.common_is_https_connect_store.error_tips}}" required>
|
||||
@ -177,14 +225,9 @@
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- 安全 -->
|
||||
<div class="am-panel am-panel-default am-radius">
|
||||
<div class="am-panel-hd">
|
||||
<h3 class="am-panel-title">{{:MyLang('safety_title')}}</h3>
|
||||
</div>
|
||||
<div class="am-panel-bd am-padding-vertical-xs">
|
||||
<!-- 安全 -->
|
||||
<div class="item" data-key="safety">
|
||||
<div class="am-form-group">
|
||||
<label>{{$data.common_data_encryption_secret.name}}<span class="am-form-group-label-tips">{{$data.common_data_encryption_secret.describe}}</span></label>
|
||||
<input type="text" name="{{$data.common_data_encryption_secret.only_tag}}" placeholder="{{$data.common_data_encryption_secret.describe}}" data-validation-message="{{$data.common_data_encryption_secret.error_tips}}" class="am-radius" {{if !empty($data)}}value="{{$data.common_data_encryption_secret.value}}"{{/if}} />
|
||||
@ -194,26 +237,24 @@
|
||||
<label>{{$data.common_cookie_domain.name}}<span class="am-form-group-label-tips">{{$data.common_cookie_domain.describe}}</span></label>
|
||||
<input type="text" name="{{$data.common_cookie_domain.only_tag}}" placeholder="{{$data.common_cookie_domain.describe}}" data-validation-message="{{$data.common_cookie_domain.error_tips}}" class="am-radius" {{if !empty($data)}}value="{{$data.common_cookie_domain.value}}"{{/if}} />
|
||||
{{if is_array(MyLang('config.cookie_domain_list_tips'))}}
|
||||
<div class="am-alert am-alert-warning">
|
||||
<div class="am-tips-card">
|
||||
<p>{{:implode('</p><p>', MyLang('config.cookie_domain_list_tips'))}}</p>
|
||||
</div>
|
||||
{{/if}}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="am-form-popup-submit">
|
||||
<button type="submit" class="am-btn am-btn-primary am-radius am-btn-xs btn-loading-example" data-am-loading="{spinner: 'circle-o-notch', loadingText:'{{:MyLang('save_title')}}'}">
|
||||
<div class="am-form-popup-submit">
|
||||
<button type="submit" class="am-btn am-btn-primary am-radius am-btn-xs btn-loading-example" data-am-loading="{spinner: 'circle-o-notch', loadingText:'{{:MyLang('save_title')}}'}">
|
||||
<i class="am-icon-save"></i>
|
||||
<span>{{:MyLang('save_title')}}</span>
|
||||
</button>
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
</form>
|
||||
<!-- form end -->
|
||||
</div>
|
||||
</div>
|
||||
<!-- right content end -->
|
||||
|
||||
<!-- footer start -->
|
||||
{{include file="public/footer" /}}
|
||||
<!-- footer end -->
|
||||
{{include file="public/footer" /}}
|
@ -4,31 +4,37 @@
|
||||
<div class="content-right">
|
||||
<div class="content">
|
||||
<!-- form start -->
|
||||
<form class="am-form form-validation am-form-popup-fixed" action="{{:MyUrl('admin/config/save', ['view_type'=>$view_type])}}" method="POST" request-type="ajax-url" request-value="{{:MyUrl('admin/config/store')}}">
|
||||
<div class="am-form-group">
|
||||
<label>{{$data.common_customer_store_tel.name}}<span class="am-form-group-label-tips">{{$data.common_customer_store_tel.describe}}</span></label>
|
||||
<input type="text" name="{{$data.common_customer_store_tel.only_tag}}" placeholder="{{$data.common_customer_store_tel.name}}" data-validation-message="{{$data.common_customer_store_tel.error_tips}}" class="am-radius" {{if !empty($data)}}value="{{$data.common_customer_store_tel.value}}"{{/if}} />
|
||||
</div>
|
||||
<div class="am-form-group">
|
||||
<label>{{$data.common_customer_store_email.name}}<span class="am-form-group-label-tips">{{$data.common_customer_store_email.describe}}</span></label>
|
||||
<input type="email" name="{{$data.common_customer_store_email.only_tag}}" placeholder="{{$data.common_customer_store_email.name}}" data-validation-message="{{$data.common_customer_store_email.error_tips}}" class="am-radius" {{if !empty($data)}}value="{{$data.common_customer_store_email.value}}"{{/if}} />
|
||||
</div>
|
||||
<div class="am-form-group">
|
||||
<label>{{$data.common_customer_store_address.name}}<span class="am-form-group-label-tips">{{$data.common_customer_store_address.describe}}</span></label>
|
||||
<input type="text" name="{{$data.common_customer_store_address.only_tag}}" placeholder="{{$data.common_customer_store_address.name}}" data-validation-message="{{$data.common_customer_store_address.error_tips}}" class="am-radius" {{if !empty($data)}}value="{{$data.common_customer_store_address.value}}"{{/if}} />
|
||||
</div>
|
||||
<div class="am-form-group">
|
||||
<label class="am-block">{{$data.common_customer_store_qrcode.name}}<span class="am-form-group-label-tips">{{$data.common_customer_store_qrcode.describe}}</span></label>
|
||||
<ul class="plug-file-upload-view common_customer_store_qrcode-images-view" data-form-name="common_customer_store_qrcode" data-max-number="1" data-dialog-type="images">
|
||||
{{if !empty($data['common_customer_store_qrcode']['value'])}}
|
||||
<li>
|
||||
<input type="text" name="common_customer_store_qrcode" value="{{$data.common_customer_store_qrcode.value}}" />
|
||||
<img src="{{:AttachmentPathViewHandle($data.common_customer_store_qrcode.value)}}" />
|
||||
<i>×</i>
|
||||
</li>
|
||||
{{/if}}
|
||||
</ul>
|
||||
<div class="plug-file-upload-submit" data-view-tag="ul.common_customer_store_qrcode-images-view">+{{:MyLang('form_choice_images_title')}}</div>
|
||||
<form class="am-form form-validation am-form-popup-sticky" action="{{:MyUrl('admin/config/save', ['view_type'=>$view_type])}}" method="POST" request-type="ajax-view" request-value="{{:MyUrl('admin/config/store')}}">
|
||||
<div class="nav-content">
|
||||
<div class="am-form-group">
|
||||
<label>{{$data.common_customer_store_tel.name}}<span class="am-form-group-label-tips">{{$data.common_customer_store_tel.describe}}</span></label>
|
||||
<input type="text" name="{{$data.common_customer_store_tel.only_tag}}" placeholder="{{$data.common_customer_store_tel.name}}" data-validation-message="{{$data.common_customer_store_tel.error_tips}}" class="am-radius" {{if !empty($data)}}value="{{$data.common_customer_store_tel.value}}"{{/if}} />
|
||||
</div>
|
||||
<div class="am-form-group">
|
||||
<label>{{$data.common_customer_store_email.name}}<span class="am-form-group-label-tips">{{$data.common_customer_store_email.describe}}</span></label>
|
||||
<input type="email" name="{{$data.common_customer_store_email.only_tag}}" placeholder="{{$data.common_customer_store_email.name}}" data-validation-message="{{$data.common_customer_store_email.error_tips}}" class="am-radius" {{if !empty($data)}}value="{{$data.common_customer_store_email.value}}"{{/if}} />
|
||||
</div>
|
||||
<div class="am-form-group">
|
||||
<label>{{$data.common_customer_store_address.name}}<span class="am-form-group-label-tips">{{$data.common_customer_store_address.describe}}</span></label>
|
||||
<input type="text" name="{{$data.common_customer_store_address.only_tag}}" placeholder="{{$data.common_customer_store_address.name}}" data-validation-message="{{$data.common_customer_store_address.error_tips}}" class="am-radius" {{if !empty($data)}}value="{{$data.common_customer_store_address.value}}"{{/if}} />
|
||||
</div>
|
||||
<div class="am-form-group">
|
||||
<label class="am-block">{{$data.common_customer_store_qrcode.name}}<span class="am-form-group-label-tips">{{$data.common_customer_store_qrcode.describe}}</span></label>
|
||||
<div class="am-form-file-upload-container">
|
||||
<ul class="plug-file-upload-view common_customer_store_qrcode-images-view" data-form-name="common_customer_store_qrcode" data-max-number="1" data-dialog-type="images" data-is-eye="1">
|
||||
<li class="plug-file-upload-submit" data-view-tag="ul.common_customer_store_qrcode-images-view">
|
||||
{{if empty($data['common_customer_store_qrcode']['value'])}}
|
||||
<i class="iconfont icon-upload-add"></i>
|
||||
{{else /}}
|
||||
<input type="text" name="common_customer_store_qrcode" value="{{$data.common_customer_store_qrcode.value}}" />
|
||||
<img src="{{:AttachmentPathViewHandle($data.common_customer_store_qrcode.value)}}" />
|
||||
<i>x</i>
|
||||
<i class="iconfont icon-eye"></i>
|
||||
{{/if}}
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="am-form-popup-submit">
|
||||
<button type="submit" class="am-btn am-btn-primary am-radius am-btn-xs btn-loading-example" data-am-loading="{spinner: 'circle-o-notch', loadingText:'{{:MyLang('save_title')}}'}">
|
||||
@ -43,5 +49,4 @@
|
||||
<!-- right content end -->
|
||||
|
||||
<!-- footer start -->
|
||||
{{include file="public/footer" /}}
|
||||
<!-- footer end -->
|
||||
{{include file="public/footer" /}}
|
@ -3,7 +3,10 @@
|
||||
|
||||
<!-- 表单顶部操作栏 -->
|
||||
{{block name="form_operate_top"}}
|
||||
<a href="{{:MyUrl('admin/customview/saveinfo')}}" class="am-btn am-btn-secondary am-radius am-btn-xs am-icon-plus" target="_blank"> {{:MyLang('add_title')}}</a>
|
||||
<a href="{{:MyUrl('admin/customview/saveinfo')}}" class="am-btn am-btn-primary am-radius am-btn-xs" target="_blank">
|
||||
<i class="iconfont icon-btn-add am-show-sm-only"></i>
|
||||
<span class="am-hide-sm-only"></span>{{:MyLang('add_title')}}</span>
|
||||
</a>
|
||||
<!-- 父级内容 -->
|
||||
{__block__}
|
||||
{{/block}}
|
@ -1,10 +1,12 @@
|
||||
<!-- 基础信息 -->
|
||||
{{if !empty($module_data)}}
|
||||
<div class="am-nbfc">
|
||||
<a href="{{:MyUrl('index/customview/index', ['id'=>$module_data['id']])}}" target="_blank" title="{{$module_data.name}}">
|
||||
<img src="{{if empty($module_data['logo'])}}{{$attachment_host}}/static/common/images/default-images-mini.png{{else /}}{{$module_data.logo}}{{/if}}" class="am-img-thumbnail am-radius am-margin-right-sm am-fl" width="60" height="60" />
|
||||
</a>
|
||||
<a href="{{:MyUrl('index/customview/index', ['id'=>$module_data['id']])}}" target="_blank" title="{{$module_data.name}}">
|
||||
{{if !empty($module_data['logo'])}}
|
||||
<a href="{{:MyUrl('index/customview/index', ['id'=>$module_data['id']])}}" target="_blank">
|
||||
<img src="{{$module_data.logo}}" class="am-img-thumbnail am-radius am-margin-right-sm am-fl" width="25" height="25" />
|
||||
</a>
|
||||
{{/if}}
|
||||
<a href="{{:MyUrl('index/customview/index', ['id'=>$module_data['id']])}}" target="_blank">
|
||||
<span class="am-nowrap-initial">{{$module_data.name}}</span>
|
||||
</a>
|
||||
</div>
|
||||
|
@ -13,16 +13,20 @@
|
||||
<div class="am-panel-bd am-padding-vertical-xs">
|
||||
<div class="am-form-group am-form-file">
|
||||
<label class="am-block">{{:MyLang('common_service.customview.form_logo_name')}}<a href="javascript:;" class="am-icon-question-circle am-text-warning am-margin-left-sm" data-am-popover="{content: '{{:MyLang('common_service.customview.form_logo_tips')}}', trigger: 'hover focus', theme: 'sm'}"></a></label>
|
||||
<ul class="plug-file-upload-view logo-images-view" data-form-name="logo" data-max-number="1" data-dialog-type="images">
|
||||
{{if !empty($data['logo'])}}
|
||||
<li>
|
||||
<input type="text" name="logo" value="{{$data.logo}}" data-validation-message="{{:MyLang('form_upload_images_message')}}" />
|
||||
<img src="{{$data.logo}}" />
|
||||
<i>×</i>
|
||||
<div class="am-form-file-upload-container">
|
||||
<ul class="plug-file-upload-view logo-images-view" data-form-name="logo" data-max-number="1" data-dialog-type="images">
|
||||
<li class="plug-file-upload-submit" data-view-tag="ul.logo-images-view">
|
||||
{{if empty($data['logo'])}}
|
||||
<i class="iconfont icon-upload-add"></i>
|
||||
{{else /}}
|
||||
<input type="text" name="logo" value="{{$data.logo}}" />
|
||||
<img src="{{:AttachmentPathViewHandle($data.logo)}}" />
|
||||
<i>x</i>
|
||||
<i class="iconfont icon-eye"></i>
|
||||
{{/if}}
|
||||
</li>
|
||||
{{/if}}
|
||||
</ul>
|
||||
<div class="plug-file-upload-submit" data-view-tag="ul.logo-images-view">+ {{:MyLang('form_upload_images_title')}}</div>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
<div class="am-form-group">
|
||||
<label>{{:MyLang('common_service.customview.form_item_name')}}<span class="am-form-group-label-tips-must">*</span></label>
|
||||
|
@ -5,7 +5,7 @@
|
||||
<img src="{{if empty($data['logo'])}}{{$attachment_host}}/static/common/images/default-images-mini.png{{else /}}{{$data.logo}}{{/if}}" class="am-img-thumbnail am-radius page-top-nav-logo" />
|
||||
<span class="page-top-nav-title">
|
||||
<span class="am-text-xs">{{if !empty($data['name'])}}{{$data.name}}{{/if}}</span>
|
||||
<a href="javascript:;" class="am-icon-eyedropper am-text-xs am-margin-left-xs base-edit-submit"></a>
|
||||
<a href="javascript:;" class="am-icon-edit am-text-xs am-margin-left-xs base-edit-submit"></a>
|
||||
</span>
|
||||
<div class="page-operate-container am-fr">
|
||||
<button type="button" class="am-btn am-btn-warning am-btn-xs am-radius window-close-event" data-msg="{{:MyLang('save_close_page_confirm_tips')}}">
|
||||
@ -35,7 +35,6 @@
|
||||
|
||||
<!-- footer start -->
|
||||
{{include file="public/footer" /}}
|
||||
<!-- footer end -->
|
||||
<script type="text/javascript">
|
||||
// 基础数据保存回调处理
|
||||
function FormBackSaveinfoEdit(e)
|
||||
|
@ -3,8 +3,14 @@
|
||||
|
||||
<!-- 表单顶部操作栏 -->
|
||||
{{block name="form_operate_top"}}
|
||||
<button type="button" class="am-btn am-btn-success am-btn-xs am-icon-cloud-upload am-radius" data-am-modal="{target: '#popup-design-upload'}"> {{:MyLang('import_title')}}</button>
|
||||
<a href="{{:MyUrl('admin/design/saveinfo')}}" class="am-btn am-btn-secondary am-radius am-btn-xs am-icon-plus" target="_blank"> {{:MyLang('add_title')}}</a>
|
||||
<a href="{{:MyUrl('admin/design/saveinfo')}}" class="am-btn am-btn-primary am-radius am-btn-xs" target="_blank">
|
||||
<i class="iconfont icon-btn-add am-show-sm-only"></i>
|
||||
<span class="am-hide-sm-only">{{:MyLang('add_title')}}</span>
|
||||
</a>
|
||||
<button type="button" class="am-btn am-btn-default-plain am-btn-xs am-radius" data-am-modal="{target: '#popup-design-upload'}">
|
||||
<i class="iconfont icon-import am-show-sm-only"></i>
|
||||
<span class="am-hide-sm-only">{{:MyLang('import_title')}}</span>
|
||||
</button>
|
||||
<!-- 父级内容 -->
|
||||
{__block__}
|
||||
{{if $is_system_show_base eq 1 and !empty($store_design_url)}}
|
||||
@ -23,17 +29,18 @@
|
||||
</div>
|
||||
<div class="am-popup-bd">
|
||||
<!-- win form start -->
|
||||
<form class="am-form form-validation am-form-popup-fixed" action="{{:MyUrl('admin/design/upload')}}" method="POST" request-type="ajax-reload" enctype="multipart/form-data">
|
||||
{{if is_array(MyLang('design.upload_list_tips'))}}
|
||||
<div class="am-alert am-radius am-alert-tips">
|
||||
<p class="am-margin-top-xs">{{:implode('</p><p class="am-margin-top-xs">', MyLang('design.upload_list_tips'))}}</p>
|
||||
</div>
|
||||
{{/if}}
|
||||
<form class="am-form form-validation am-form-popup-fixed am-upload-file" action="{{:MyUrl('admin/design/upload')}}" method="POST" request-type="ajax-reload" enctype="multipart/form-data">
|
||||
<div class="am-form-group am-form-group-refreshing">
|
||||
<div class="am-form-file">
|
||||
<button type="button" class="am-btn am-btn-default am-btn-sm am-radius"><i class="am-icon-cloud-upload"></i> {{:MyLang('form_choice_file_title')}}</button>
|
||||
<button type="button" class="am-btn am-btn-default am-btn-sm am-radius"><i class="iconfont icon-upload-file"></i></button>
|
||||
<input type="file" name="file" class="file-event" data-tips-tag="#form-payment-tips" data-validation-message="{{:MyLang('form_upload_file_message')}}" accept=".zip" multiple required />
|
||||
<div id="form-payment-tips" class="am-margin-top-xs"></div>
|
||||
<div class="tips am-text-xs cr-ccc am-margin-top-sm">
|
||||
{{:MyLang('common_service.theme.form_item_upload_tips')}}
|
||||
{{if is_array(MyLang('design.upload_list_tips'))}}
|
||||
<p class="am-margin-top-xs">{{:implode('</p><p class="am-margin-top-xs">', MyLang('design.upload_list_tips'))}}</p>
|
||||
{{/if}}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="am-form-popup-submit">
|
||||
|
@ -1,10 +1,12 @@
|
||||
<!-- 基础信息 -->
|
||||
{{if !empty($module_data)}}
|
||||
<div class="am-nbfc">
|
||||
<a href="{{:MyUrl('index/design/index', ['id'=>$module_data['id']])}}" target="_blank" title="{{$module_data.name}}">
|
||||
<img src="{{if empty($module_data['logo'])}}{{$attachment_host}}/static/common/images/default-images-mini.png{{else /}}{{$module_data.logo}}{{/if}}" class="am-img-thumbnail am-radius am-margin-right-sm am-fl" width="60" height="60" />
|
||||
</a>
|
||||
<a href="{{:MyUrl('index/design/index', ['id'=>$module_data['id']])}}" target="_blank" title="{{$module_data.name}}">
|
||||
{{if !empty($module_data['logo'])}}
|
||||
<a href="{{:MyUrl('index/design/index', ['id'=>$module_data['id']])}}" target="_blank">
|
||||
<img src="{{$module_data.logo}}" class="am-img-thumbnail am-radius am-margin-right-sm am-fl" width="25" height="25" />
|
||||
</a>
|
||||
{{/if}}
|
||||
<a href="{{:MyUrl('index/design/index', ['id'=>$module_data['id']])}}" target="_blank">
|
||||
<span class="am-nowrap-initial">{{$module_data.name}}</span>
|
||||
</a>
|
||||
</div>
|
||||
|
@ -27,16 +27,20 @@
|
||||
<div class="am-u-sm-6 am-padding-horizontal-0">
|
||||
<div class="am-form-group am-form-file">
|
||||
<label class="am-block">{{:MyLang('common_service.design.form_logo_name')}}<a href="javascript:;" class="am-icon-question-circle am-text-warning am-margin-left-sm" data-am-popover="{content: '{{:MyLang('common_service.design.form_logo_tips')}}', trigger: 'hover focus', theme: 'sm'}"></a></label>
|
||||
<ul class="plug-file-upload-view logo-images-view" data-form-name="logo" data-max-number="1" data-dialog-type="images">
|
||||
{{if !empty($data['logo'])}}
|
||||
<li>
|
||||
<input type="text" name="logo" value="{{$data.logo}}" data-validation-message="{{:MyLang('form_upload_images_message')}}" />
|
||||
<img src="{{$data.logo}}" />
|
||||
<i>×</i>
|
||||
<div class="am-form-file-upload-container">
|
||||
<ul class="plug-file-upload-view logo-images-view" data-form-name="logo" data-max-number="1" data-dialog-type="images">
|
||||
<li class="plug-file-upload-submit" data-view-tag="ul.logo-images-view">
|
||||
{{if empty($data['logo'])}}
|
||||
<i class="iconfont icon-upload-add"></i>
|
||||
{{else /}}
|
||||
<input type="text" name="logo" value="{{$data.logo}}" />
|
||||
<img src="{{:AttachmentPathViewHandle($data.logo)}}" />
|
||||
<i>x</i>
|
||||
<i class="iconfont icon-eye"></i>
|
||||
{{/if}}
|
||||
</li>
|
||||
{{/if}}
|
||||
</ul>
|
||||
<div class="plug-file-upload-submit" data-view-tag="ul.logo-images-view">+ {{:MyLang('form_upload_images_title')}}</div>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="am-u-sm-6 am-padding-horizontal-0">
|
||||
@ -65,7 +69,7 @@
|
||||
<i class="am-icon-paint-brush"></i>
|
||||
<span>{{:MyLang('cancel_title')}}</span>
|
||||
</button>
|
||||
<button type="submit" class="am-btn am-btn-primary am-btn-xs am-radius btn-loading-example am-margin-left-lg" data-am-loading="{loadingText:'{{:MyLang('processing_tips')}}'}">
|
||||
<button type="submit" class="am-btn am-btn-primary am-btn-xs am-radius btn-loading-example" data-am-loading="{loadingText:'{{:MyLang('processing_tips')}}'}">
|
||||
<i class="am-icon-check"></i>
|
||||
<span>{{:MyLang('confirm_title')}}</span>
|
||||
</button>
|
||||
|
@ -5,7 +5,7 @@
|
||||
<img src="{{if empty($data['logo'])}}{{$attachment_host}}/static/common/images/default-images-mini.png{{else /}}{{$data.logo}}{{/if}}" class="am-img-thumbnail am-radius page-top-nav-logo" />
|
||||
<span class="page-top-nav-title">
|
||||
<span class="am-text-xs">{{if !empty($data['name'])}}{{$data.name}}{{/if}}</span>
|
||||
<a href="javascript:;" class="am-icon-eyedropper am-text-xs am-margin-left-xs" data-am-modal="{target: '#popup-saveinfo'}"></a>
|
||||
<a href="javascript:;" class="am-icon-edit am-text-xs am-margin-left-xs" data-am-modal="{target: '#popup-saveinfo'}"></a>
|
||||
</span>
|
||||
<a href="{{:MyUrl('index/design/index', ['id'=>$data['id']])}}" target="_blank" class="am-fr am-text-xs am-margin-top-sm">{{:MyLang('view_title')}} >></a>
|
||||
</legend>
|
||||
@ -34,7 +34,6 @@
|
||||
|
||||
<!-- footer start -->
|
||||
{{include file="public/footer" /}}
|
||||
<!-- footer end -->
|
||||
<script type="text/javascript">
|
||||
// 基础数据保存回调处理
|
||||
function FormBackSaveinfoEdit(e)
|
||||
|
@ -2,66 +2,76 @@
|
||||
|
||||
<!-- right content start -->
|
||||
<div class="content-right">
|
||||
<!-- table nav start -->
|
||||
{{include file="email/nav"" /}}
|
||||
<!-- table nav end -->
|
||||
|
||||
<div class="content">
|
||||
<!-- form start -->
|
||||
<form class="am-form form-validation am-form-popup-fixed" action="{{:MyUrl('admin/email/save')}}" method="POST" request-type="ajax-url" request-value="{{:MyUrl('admin/email/index', ['type'=>'index'])}}">
|
||||
<div class="am-form-group">
|
||||
<label>{{$data.common_email_smtp_host.name}}<span class="am-form-group-label-tips">{{$data.common_email_smtp_host.describe}}</span></label>
|
||||
<input type="text" name="{{$data.common_email_smtp_host.only_tag}}" placeholder="{{$data.common_email_smtp_host.name}}" data-validation-message="{{$data.common_email_smtp_host.error_tips}}" class="am-radius" {{if !empty($data)}}value="{{$data.common_email_smtp_host.value}}"{{/if}} />
|
||||
</div>
|
||||
<div class="am-form-group">
|
||||
<label>{{$data.common_email_smtp_port.name}}<span class="am-form-group-label-tips">{{$data.common_email_smtp_port.describe}}</span></label>
|
||||
<input type="number" name="{{$data.common_email_smtp_port.only_tag}}" placeholder="{{$data.common_email_smtp_port.name}}" data-validation-message="{{$data.common_email_smtp_port.error_tips}}" class="am-radius" {{if !empty($data)}}value="{{$data.common_email_smtp_port.value}}"{{/if}} />
|
||||
</div>
|
||||
<div class="am-form-group">
|
||||
<label>{{$data.common_email_smtp_account.name}}<span class="am-form-group-label-tips">{{$data.common_email_smtp_account.describe}}</span></label>
|
||||
<input type="text" name="{{$data.common_email_smtp_account.only_tag}}" placeholder="{{$data.common_email_smtp_account.name}}" data-validation-message="{{$data.common_email_smtp_account.error_tips}}" class="am-radius" {{if !empty($data)}}value="{{$data.common_email_smtp_account.value}}"{{/if}} />
|
||||
</div>
|
||||
<div class="am-form-group">
|
||||
<label>{{$data.common_email_smtp_name.name}}<span class="am-form-group-label-tips">{{$data.common_email_smtp_name.describe}}</span></label>
|
||||
<input type="text" name="{{$data.common_email_smtp_name.only_tag}}" placeholder="{{$data.common_email_smtp_name.name}}" data-validation-message="{{$data.common_email_smtp_name.error_tips}}" class="am-radius" {{if !empty($data)}}value="{{$data.common_email_smtp_name.value}}"{{/if}} />
|
||||
</div>
|
||||
<div class="am-form-group">
|
||||
<label>{{$data.common_email_smtp_pwd.name}}<span class="am-form-group-label-tips">{{$data.common_email_smtp_pwd.describe}}</span></label>
|
||||
<input type="password" name="{{$data.common_email_smtp_pwd.only_tag}}" placeholder="{{$data.common_email_smtp_pwd.name}}" data-validation-message="{{$data.common_email_smtp_pwd.error_tips}}" class="am-radius" {{if !empty($data)}}value="{{$data.common_email_smtp_pwd.value}}"{{/if}} />
|
||||
</div>
|
||||
<div class="am-form-group">
|
||||
<label>{{$data.common_email_is_use_ssl.name}}</label>
|
||||
<select name="{{$data.common_email_is_use_ssl.only_tag}}" class="am-radius chosen-select" data-validation-message="{{$data.common_email_is_use_ssl.error_tips}}" required>
|
||||
{{foreach :MyConst('common_is_text_list') as $v}}
|
||||
<option value="{{$v.id}}" {{if isset($data['common_email_is_use_ssl']['value']) and $data['common_email_is_use_ssl']['value'] eq $v['id']}}selected{{/if}}>{{$v.name}}</option>
|
||||
{{/foreach}}
|
||||
</select>
|
||||
<!-- nav start -->
|
||||
{{:ModuleInclude('public/nav_switch_tabs', [
|
||||
'nav_data' => $nav_data,
|
||||
'nav_type' => $type,
|
||||
'url' => 'admin/email/index'
|
||||
])}}
|
||||
<!-- nav end -->
|
||||
<!-- form start -->
|
||||
<form class="am-form form-validation am-form-popup-sticky" action="{{:MyUrl('admin/email/save')}}" method="POST" request-type="ajax-view" request-value="{{:MyUrl('admin/email/index', ['type'=>'index'])}}">
|
||||
<div class="nav-content">
|
||||
<!-- table tips start -->
|
||||
{{include file="email/tips"" /}}
|
||||
<!-- table tips end -->
|
||||
<div class="am-form-group">
|
||||
<label>{{$data.common_email_smtp_host.name}}<span class="am-form-group-label-tips">{{$data.common_email_smtp_host.describe}}</span></label>
|
||||
<input type="text" name="{{$data.common_email_smtp_host.only_tag}}" placeholder="{{$data.common_email_smtp_host.name}}" data-validation-message="{{$data.common_email_smtp_host.error_tips}}" class="am-radius" {{if !empty($data)}}value="{{$data.common_email_smtp_host.value}}"{{/if}} />
|
||||
</div>
|
||||
<div class="am-form-group">
|
||||
<label>{{$data.common_email_smtp_port.name}}<span class="am-form-group-label-tips">{{$data.common_email_smtp_port.describe}}</span></label>
|
||||
<input type="number" name="{{$data.common_email_smtp_port.only_tag}}" placeholder="{{$data.common_email_smtp_port.name}}" data-validation-message="{{$data.common_email_smtp_port.error_tips}}" class="am-radius" {{if !empty($data)}}value="{{$data.common_email_smtp_port.value}}"{{/if}} />
|
||||
</div>
|
||||
<div class="am-form-group">
|
||||
<label>{{$data.common_email_smtp_account.name}}<span class="am-form-group-label-tips">{{$data.common_email_smtp_account.describe}}</span></label>
|
||||
<input type="text" name="{{$data.common_email_smtp_account.only_tag}}" placeholder="{{$data.common_email_smtp_account.name}}" data-validation-message="{{$data.common_email_smtp_account.error_tips}}" class="am-radius" {{if !empty($data)}}value="{{$data.common_email_smtp_account.value}}"{{/if}} />
|
||||
</div>
|
||||
<div class="am-form-group">
|
||||
<label>{{$data.common_email_smtp_name.name}}<span class="am-form-group-label-tips">{{$data.common_email_smtp_name.describe}}</span></label>
|
||||
<input type="text" name="{{$data.common_email_smtp_name.only_tag}}" placeholder="{{$data.common_email_smtp_name.name}}" data-validation-message="{{$data.common_email_smtp_name.error_tips}}" class="am-radius" {{if !empty($data)}}value="{{$data.common_email_smtp_name.value}}"{{/if}} />
|
||||
</div>
|
||||
<div class="am-form-group">
|
||||
<label>{{$data.common_email_smtp_pwd.name}}<span class="am-form-group-label-tips">{{$data.common_email_smtp_pwd.describe}}</span></label>
|
||||
<input type="password" name="{{$data.common_email_smtp_pwd.only_tag}}" placeholder="{{$data.common_email_smtp_pwd.name}}" data-validation-message="{{$data.common_email_smtp_pwd.error_tips}}" class="am-radius" {{if !empty($data)}}value="{{$data.common_email_smtp_pwd.value}}"{{/if}} />
|
||||
</div>
|
||||
<div class="am-form-group">
|
||||
<label>{{$data.common_email_is_use_ssl.name}}</label>
|
||||
<div class="am-radio-group">
|
||||
{{foreach :MyConst('common_is_text_list') as $v}}
|
||||
<label class="am-radio-inline">
|
||||
<input type="radio" value="{{$v.id}}" name="{{$data.common_email_is_use_ssl.only_tag}}" data-validation-message="{{$data.common_email_is_use_ssl.error_tips}}" required {{if isset($data['common_email_is_use_ssl']['value']) and $data['common_email_is_use_ssl']['value'] eq $v['id']}}checked{{/if}} data-am-ucheck>{{$v.name}}
|
||||
</label>
|
||||
{{/foreach}}
|
||||
</div>
|
||||
</div>
|
||||
<div class="am-form-group">
|
||||
<label>{{$data.common_email_smtp_send_name.name}}<span class="am-form-group-label-tips">{{$data.common_email_smtp_send_name.describe}}</span></label>
|
||||
<input type="text" name="{{$data.common_email_smtp_send_name.only_tag}}" placeholder="{{$data.common_email_smtp_send_name.name}}" data-validation-message="{{$data.common_email_smtp_send_name.error_tips}}" class="am-radius" {{if !empty($data)}}value="{{$data.common_email_smtp_send_name.value}}"{{/if}} />
|
||||
</div>
|
||||
<div class="am-form-group">
|
||||
<label>{{:MyLang('email.form_item_test')}}<span class="am-form-group-label-tips">{{:MyLang('email.form_item_test_tips')}}</span></label>
|
||||
<div class="am-flex am-gap-1">
|
||||
<input type="text" placeholder="{{:MyLang('email.form_item_test')}}" class="am-radius test-email-value" />
|
||||
<button class="am-btn am-btn-primary-plain am-radius test-email-submit" type="button" data-url="{{:MyUrl('admin/email/emailtest')}}">
|
||||
<i class="iconfont icon-check"></i>
|
||||
{{:MyLang('email.form_item_test_button_title')}}
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="am-form-group">
|
||||
<label>{{$data.common_email_smtp_send_name.name}}<span class="am-form-group-label-tips">{{$data.common_email_smtp_send_name.describe}}</span></label>
|
||||
<input type="text" name="{{$data.common_email_smtp_send_name.only_tag}}" placeholder="{{$data.common_email_smtp_send_name.name}}" data-validation-message="{{$data.common_email_smtp_send_name.error_tips}}" class="am-radius" {{if !empty($data)}}value="{{$data.common_email_smtp_send_name.value}}"{{/if}} />
|
||||
</div>
|
||||
<div class="am-form-group">
|
||||
<label>{{:MyLang('email.form_item_test')}}<span class="am-form-group-label-tips">{{:MyLang('email.form_item_test_tips')}}</span></label>
|
||||
<div class="am-input-group am-input-group-sm">
|
||||
<input type="text" placeholder="{{:MyLang('email.form_item_test')}}" class="am-radius test-email-value" />
|
||||
<span class="am-input-group-btn">
|
||||
<button class="am-btn am-btn-default am-radius test-email-submit" type="button" data-url="{{:MyUrl('admin/email/emailtest')}}">{{:MyLang('email.form_item_test_button_title')}}</button>
|
||||
</span>
|
||||
</div>
|
||||
</div>
|
||||
<div class="am-form-popup-submit">
|
||||
<button type="submit" class="am-btn am-btn-primary am-radius am-btn-xs btn-loading-example" data-am-loading="{spinner: 'circle-o-notch', loadingText:'{{:MyLang('save_title')}}'}">
|
||||
<div class="am-form-popup-submit">
|
||||
<button type="submit" class="am-btn am-btn-primary am-radius am-btn-xs btn-loading-example" data-am-loading="{spinner: 'circle-o-notch', loadingText:'{{:MyLang('save_title')}}'}">
|
||||
<i class="am-icon-save"></i>
|
||||
<span>{{:MyLang('save_title')}}</span>
|
||||
</button>
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
</form>
|
||||
<!-- form end -->
|
||||
</div>
|
||||
</div>
|
||||
<!-- right content end -->
|
||||
|
||||
<!-- footer start -->
|
||||
{{include file="public/footer" /}}
|
||||
<!-- footer end -->
|
||||
{{include file="public/footer" /}}
|
@ -2,66 +2,61 @@
|
||||
|
||||
<!-- right content start -->
|
||||
<div class="content-right">
|
||||
<!-- table nav start -->
|
||||
{{include file="email/nav"" /}}
|
||||
<!-- table nav end -->
|
||||
|
||||
<div class="content">
|
||||
<!-- form start -->
|
||||
<form class="am-form form-validation am-form-popup-fixed" action="{{:MyUrl('admin/email/save')}}" method="POST" request-type="ajax-url" request-value="{{:MyUrl('admin/email/index', ['type'=>'message'])}}">
|
||||
<!-- 后台 -->
|
||||
<div class="am-panel am-panel-default am-radius">
|
||||
<div class="am-panel-hd">
|
||||
<h3 class="am-panel-title">{{:MyLang('email.base_item_admin_title')}}</h3>
|
||||
<!-- nav start -->
|
||||
{{:ModuleInclude('public/nav_switch_tabs', [
|
||||
'nav_data' => $nav_data,
|
||||
'nav_type' => $type,
|
||||
'url' => 'admin/email/index'
|
||||
])}}
|
||||
<!-- nav end -->
|
||||
<!-- form start -->
|
||||
<form class="am-form form-validation am-form-popup-sticky" action="{{:MyUrl('admin/email/save')}}" method="POST" request-type="ajax-view" request-value="{{:MyUrl('admin/email/index', ['type'=>'message'])}}">
|
||||
<div class="nav-content rich-text">
|
||||
<!-- table tips start -->
|
||||
{{include file="email/tips"" /}}
|
||||
<!-- table tips end -->
|
||||
<!-- 后台 -->
|
||||
<p class="am-margin-bottom-xl am-text-sm cr-333">{{:MyLang('email.base_item_admin_title')}}</p>
|
||||
<div class="am-form-group">
|
||||
<label>{{$data.admin_email_login_template.name}}<span class="am-form-group-label-tips">{{$data.admin_email_login_template.describe}}</span></label>
|
||||
<textarea id="admin_email_login_template" name="{{$data.admin_email_login_template.only_tag}}">{{if !empty($data)}}{{$data.admin_email_login_template.value}}{{/if}}</textarea>
|
||||
</div>
|
||||
<div class="am-panel-bd am-padding-vertical-xs">
|
||||
<div class="am-form-group">
|
||||
<label>{{$data.admin_email_login_template.name}}<span class="am-form-group-label-tips">{{$data.admin_email_login_template.describe}}</span></label>
|
||||
<textarea id="admin_email_login_template" name="{{$data.admin_email_login_template.only_tag}}">{{if !empty($data)}}{{$data.admin_email_login_template.value}}{{/if}}</textarea>
|
||||
</div>
|
||||
|
||||
<!-- 前端 -->
|
||||
<p class="am-margin-bottom-xl am-text-sm cr-333">{{:MyLang('email.base_item_index_title')}}</p>
|
||||
<div class="am-form-group">
|
||||
<label>{{$data.common_email_currency_template.name}}<span class="am-form-group-label-tips">{{$data.common_email_currency_template.describe}}</span></label>
|
||||
<textarea id="common_email_currency_template" name="{{$data.common_email_currency_template.only_tag}}">{{if !empty($data)}}{{$data.common_email_currency_template.value}}{{/if}}</textarea>
|
||||
</div>
|
||||
<div class="am-form-group">
|
||||
<label>{{$data.home_email_login_template.name}}<span class="am-form-group-label-tips">{{$data.home_email_login_template.describe}}</span></label>
|
||||
<textarea id="home_email_login_template" name="{{$data.home_email_login_template.only_tag}}">{{if !empty($data)}}{{$data.home_email_login_template.value}}{{/if}}</textarea>
|
||||
</div>
|
||||
<div class="am-form-group">
|
||||
<label>{{$data.home_email_user_reg_template.name}}<span class="am-form-group-label-tips">{{$data.home_email_user_reg_template.describe}}</span></label>
|
||||
<textarea id="email_user_reg" name="{{$data.home_email_user_reg_template.only_tag}}">{{if !empty($data)}}{{$data.home_email_user_reg_template.value}}{{/if}}</textarea>
|
||||
</div>
|
||||
<div class="am-form-group">
|
||||
<label>{{$data.home_email_user_forget_pwd_template.name}}<span class="am-form-group-label-tips">{{$data.home_email_user_forget_pwd_template.describe}}</span></label>
|
||||
<textarea id="email_user_forget_pwd" name="{{$data.home_email_user_forget_pwd_template.only_tag}}">{{if !empty($data)}}{{$data.home_email_user_forget_pwd_template.value}}{{/if}}</textarea>
|
||||
</div>
|
||||
<div class="am-form-group">
|
||||
<label>{{$data.home_email_user_email_binding_template.name}}<span class="am-form-group-label-tips">{{$data.home_email_user_email_binding_template.describe}}</span></label>
|
||||
<textarea id="email_user_email_binding" name="{{$data.home_email_user_email_binding_template.only_tag}}">{{if !empty($data)}}{{$data.home_email_user_email_binding_template.value}}{{/if}}</textarea>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- 前端 -->
|
||||
<div class="am-panel am-panel-default am-radius">
|
||||
<div class="am-panel-hd">
|
||||
<h3 class="am-panel-title">{{:MyLang('email.base_item_index_title')}}</h3>
|
||||
</div>
|
||||
<div class="am-panel-bd am-padding-vertical-xs">
|
||||
<div class="am-form-group">
|
||||
<label>{{$data.common_email_currency_template.name}}<span class="am-form-group-label-tips">{{$data.common_email_currency_template.describe}}</span></label>
|
||||
<textarea id="common_email_currency_template" name="{{$data.common_email_currency_template.only_tag}}">{{if !empty($data)}}{{$data.common_email_currency_template.value}}{{/if}}</textarea>
|
||||
</div>
|
||||
<div class="am-form-group">
|
||||
<label>{{$data.home_email_login_template.name}}<span class="am-form-group-label-tips">{{$data.home_email_login_template.describe}}</span></label>
|
||||
<textarea id="home_email_login_template" name="{{$data.home_email_login_template.only_tag}}">{{if !empty($data)}}{{$data.home_email_login_template.value}}{{/if}}</textarea>
|
||||
</div>
|
||||
<div class="am-form-group">
|
||||
<label>{{$data.home_email_user_reg.name}}<span class="am-form-group-label-tips">{{$data.home_email_user_reg.describe}}</span></label>
|
||||
<textarea id="email_user_reg" name="{{$data.home_email_user_reg.only_tag}}">{{if !empty($data)}}{{$data.home_email_user_reg.value}}{{/if}}</textarea>
|
||||
</div>
|
||||
<div class="am-form-group">
|
||||
<label>{{$data.home_email_user_forget_pwd.name}}<span class="am-form-group-label-tips">{{$data.home_email_user_forget_pwd.describe}}</span></label>
|
||||
<textarea id="email_user_forget_pwd" name="{{$data.home_email_user_forget_pwd.only_tag}}">{{if !empty($data)}}{{$data.home_email_user_forget_pwd.value}}{{/if}}</textarea>
|
||||
</div>
|
||||
<div class="am-form-group">
|
||||
<label>{{$data.home_email_user_email_binding.name}}<span class="am-form-group-label-tips">{{$data.home_email_user_email_binding.describe}}</span></label>
|
||||
<textarea id="email_user_email_binding" name="{{$data.home_email_user_email_binding.only_tag}}">{{if !empty($data)}}{{$data.home_email_user_email_binding.value}}{{/if}}</textarea>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="am-form-popup-submit">
|
||||
<button type="submit" class="am-btn am-btn-primary am-radius am-btn-xs btn-loading-example" data-am-loading="{spinner: 'circle-o-notch', loadingText:'{{:MyLang('save_title')}}'}">
|
||||
<div class="am-form-popup-submit">
|
||||
<button type="submit" class="am-btn am-btn-primary am-radius am-btn-xs btn-loading-example" data-am-loading="{spinner: 'circle-o-notch', loadingText:'{{:MyLang('save_title')}}'}">
|
||||
<i class="am-icon-save"></i>
|
||||
<span>{{:MyLang('save_title')}}</span>
|
||||
</button>
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
</form>
|
||||
<!-- form end -->
|
||||
</div>
|
||||
</div>
|
||||
<!-- right content end -->
|
||||
|
||||
<!-- footer start -->
|
||||
{{include file="public/footer" /}}
|
||||
<!-- footer end -->
|
||||
{{include file="public/footer" /}}
|
@ -1,13 +0,0 @@
|
||||
<ul class="am-nav am-nav-pills table-nav second-nav">
|
||||
{{if !empty($nav_data) and is_array($nav_data)}}
|
||||
{{foreach $nav_data as $v}}
|
||||
<li {{if $nav_type eq $v['type']}}class="am-active"{{/if}} data-type="{{$v.type}}">
|
||||
<a href="{{:MyUrl('admin/email/index', ['type'=>$v['type']])}}">{{$v.name}}</a>
|
||||
</li>
|
||||
{{/foreach}}
|
||||
{{/if}}
|
||||
</ul>
|
||||
<div class="am-alert am-alert-warning am-radius am-margin-horizontal-sm am-margin-bottom-0" data-am-alert>
|
||||
<button type="button" class="am-close">×</button>
|
||||
<p class="am-text-xs">{{:MyLang('email.top_tips')}} {{if !empty($site_store_links) and !empty($site_store_links['email_set_course'])}}<a href="{{$site_store_links.email_set_course}}" class="am-margin-left-sm" target="_blank">{{:MyLang('view_config_course_name')}} <i class="am-icon-external-link"></i></a>{{/if}}</p>
|
||||
</div>
|
8
app/admin/view/default/email/tips.html
Executable file
8
app/admin/view/default/email/tips.html
Executable file
@ -0,0 +1,8 @@
|
||||
<div class="am-operate-stretch-tips">
|
||||
<div class="title">
|
||||
<i class="iconfont icon-tips"></i>
|
||||
<strong title="{{:MyLang('operate_list_tips_msg')}}">{{:MyLang('operate_list_tips_button_text')}}</strong>
|
||||
<i class="iconfont icon-contract contract" title="{{:MyLang('operate_list_tips_retract_text')}}"></i>
|
||||
</div>
|
||||
<p class="am-text-xs">{{:MyLang('email.top_tips')}} {{if !empty($site_store_links) and !empty($site_store_links['email_set_course'])}}<a href="{{$site_store_links.email_set_course}}" class="am-margin-left-sm" target="_blank">{{:MyLang('view_config_course_name')}} <i class="am-icon-external-link"></i></a>{{/if}}</p>
|
||||
</div>
|
2
app/admin/view/default/emaillog/detail.html
Normal file
2
app/admin/view/default/emaillog/detail.html
Normal file
@ -0,0 +1,2 @@
|
||||
<!-- 继承公共的 form -->
|
||||
{{extend name="public/module/detail" /}}
|
13
app/admin/view/default/emaillog/index.html
Normal file
13
app/admin/view/default/emaillog/index.html
Normal file
@ -0,0 +1,13 @@
|
||||
<!-- 继承公共的 form -->
|
||||
{{extend name="public/module/form" /}}
|
||||
|
||||
<!-- 表单顶部操作栏 -->
|
||||
{{block name="form_operate_top"}}
|
||||
<button type="button" class="am-btn am-btn-default-plain am-btn-xs am-radius submit-ajax" data-url="{{:MyUrl('admin/emaillog/alldelete')}}" data-view="reload">
|
||||
<i class="iconfont icon-clear-session am-show-sm-only"></i>
|
||||
<span class="am-hide-sm-only">{{:MyLang('delete_all_title')}}</span>
|
||||
</button>
|
||||
|
||||
<!-- 父级内容 -->
|
||||
{__block__}
|
||||
{{/block}}
|
9
app/admin/view/default/emaillog/module/operate.html
Normal file
9
app/admin/view/default/emaillog/module/operate.html
Normal file
@ -0,0 +1,9 @@
|
||||
<!-- 操作栏 -->
|
||||
<button type="button" class="am-btn am-btn-default am-btn-xs am-radius am-btn-block submit-popup" data-url="{{:MyUrl('admin/emaillog/detail', ['id'=>$module_data['id']])}}" data-title="{{:MyLang('detail_title')}}">
|
||||
<i class="am-icon-eye"></i>
|
||||
<span>{{:MyLang('detail_title')}}</span>
|
||||
</button>
|
||||
<button type="button" class="am-btn am-btn-danger am-btn-xs am-radius am-btn-block submit-delete" data-url="{{:MyUrl('admin/emaillog/delete')}}" data-id="{{$module_data.id}}" data-key="ids">
|
||||
<i class="am-icon-trash-o"></i>
|
||||
<span>{{:MyLang('delete_title')}}</span>
|
||||
</button>
|
@ -0,0 +1,3 @@
|
||||
{{if !empty($module_data) and !empty($module_data['template_value'])}}
|
||||
<pre class="am-scrollable-vertical am-scrollable-horizontal am-padding-xs am-radius pre-container">{{$module_data.template_value|raw}}</pre>
|
||||
{{/if}}
|
3
app/admin/view/default/emaillog/module/template_var.html
Normal file
3
app/admin/view/default/emaillog/module/template_var.html
Normal file
@ -0,0 +1,3 @@
|
||||
{{if !empty($module_data) and !empty($module_data['template_var'])}}
|
||||
<pre class="am-scrollable-vertical am-scrollable-horizontal am-padding-xs am-radius pre-container">{{$module_data.template_var}}</pre>
|
||||
{{/if}}
|
@ -3,81 +3,73 @@
|
||||
<!-- right content start -->
|
||||
<div class="content-right">
|
||||
<div class="content">
|
||||
<!-- operation start -->
|
||||
<div class="am-g">
|
||||
<button class="am-btn am-btn-secondary am-radius am-btn-xs am-icon-plus tree-submit-add" data-am-modal="{target: '#data-save-win'}"> {{:MyLang('add_title')}}</button>
|
||||
</div>
|
||||
<!-- operation end -->
|
||||
|
||||
<!-- save win start -->
|
||||
<div class="am-popup am-radius" id="data-save-win">
|
||||
<div class="am-popup-inner">
|
||||
<div class="am-popup-hd">
|
||||
<h4 class="am-popup-title" data-add-title="{{:MyLang('express.base_nav_title')}}{{:MyLang('add_title')}}" data-edit-title="{{:MyLang('express.base_nav_title')}}{{:MyLang('edit_title')}}">{{:MyLang('express.base_nav_title')}}{{:MyLang('add_title')}}</h4>
|
||||
<span data-am-modal-close class="am-close">×</span>
|
||||
</div>
|
||||
<div class="am-popup-bd">
|
||||
<!-- form start -->
|
||||
<form class="am-form form-validation am-form-popup-fixed" action="{{:MyUrl('admin/express/save')}}" method="POST" request-type="ajax-fun" request-value="TreeFormSaveBack">
|
||||
<div class="am-form-group am-form-file">
|
||||
<label class="am-block">{{:MyLang('common_service.express.form_item_icon')}}</label>
|
||||
<ul class="plug-file-upload-view express-icon-images-view" data-form-name="icon" data-max-number="1" data-dialog-type="images">
|
||||
<li>
|
||||
<input type="hidden" name="icon" value="" />
|
||||
<img src="{{$attachment_host}}/static/common/images/default-images.jpg" />
|
||||
<i>×</i>
|
||||
</li>
|
||||
</ul>
|
||||
<div class="plug-file-upload-submit" data-view-tag="ul.express-icon-images-view">+ {{:MyLang('form_upload_images_title')}}</div>
|
||||
</div>
|
||||
<div class="am-form-group">
|
||||
<label>{{:MyLang('common_service.express.form_item_name')}}<span class="am-form-group-label-tips-must">*</span></label>
|
||||
<input type="text" placeholder="{{:MyLang('common_service.express.form_item_name_message')}}" name="name" minlength="1" maxlength="60" data-validation-message="{{:MyLang('common_service.express.form_item_name_message')}}" class="am-radius" required />
|
||||
</div>
|
||||
<div class="am-form-group">
|
||||
<label>{{:MyLang('common_service.express.form_item_website_url')}}</label>
|
||||
<input type="url" placeholder="{{:MyLang('common_service.express.form_item_website_url_placeholder')}}" name="website_url" data-validation-message="{{:MyLang('common_service.express.form_item_website_url_message')}}" class="am-radius" {{if !empty($data['website_url'])}} value="{{$data.website_url}}"{{/if}} />
|
||||
</div>
|
||||
{{include file="lib/sort" /}}
|
||||
{{include file="lib/is_enable" /}}
|
||||
<div class="am-form-popup-submit">
|
||||
<input type="hidden" name="id" />
|
||||
<button type="button" class="am-btn am-btn-warning am-radius am-btn-xs btn-loading-example am-margin-right-lg" data-am-modal-close>
|
||||
<i class="am-icon-paint-brush"></i>
|
||||
<span>{{:MyLang('cancel_title')}}</span>
|
||||
</button>
|
||||
<button type="submit" class="am-btn am-btn-primary am-radius am-btn-xs btn-loading-example" data-am-loading="{spinner: 'circle-o-notch', loadingText:'{{:MyLang('save_title')}}'}">
|
||||
<i class="am-icon-save"></i>
|
||||
<span>{{:MyLang('save_title')}}</span>
|
||||
</button>
|
||||
</div>
|
||||
</form>
|
||||
<!-- form end -->
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<!-- save win end -->
|
||||
<div class="am-popup-inner">
|
||||
<div class="am-popup-hd">
|
||||
<h4 class="am-popup-title" data-add-title="{{:MyLang('express.base_nav_title')}}{{:MyLang('add_title')}}" data-edit-title="{{:MyLang('express.base_nav_title')}}{{:MyLang('edit_title')}}">{{:MyLang('express.base_nav_title')}}{{:MyLang('add_title')}}</h4>
|
||||
<span data-am-modal-close class="am-close">×</span>
|
||||
</div>
|
||||
<div class="am-popup-bd">
|
||||
<!-- form start -->
|
||||
<form class="am-form form-validation am-form-popup-fixed" action="{{:MyUrl('admin/express/save')}}" method="POST" request-type="ajax-fun" request-value="CardFormSaveBack">
|
||||
<div class="am-form-group row am-form-file">
|
||||
<label class="am-block">{{:MyLang('common_service.express.form_item_icon')}}</label>
|
||||
<div class="am-form-file-upload-container">
|
||||
<ul class="plug-file-upload-view express-icon-images-view" data-form-name="icon" data-max-number="1" data-dialog-type="images">
|
||||
<li class="plug-file-upload-submit" data-view-tag="ul.express-icon-images-view">
|
||||
<i class="iconfont icon-upload-add"></i>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
<div class="am-form-group row">
|
||||
<label>{{:MyLang('common_service.express.form_item_name')}}<span class="am-form-group-label-tips-must">*</span></label>
|
||||
<input type="text" placeholder="{{:MyLang('common_service.express.form_item_name_message')}}" name="name" minlength="1" maxlength="60" data-validation-message="{{:MyLang('common_service.express.form_item_name_message')}}" class="am-radius" required />
|
||||
</div>
|
||||
<div class="am-form-group row">
|
||||
<label>{{:MyLang('common_service.express.form_item_website_url')}}</label>
|
||||
<input type="url" placeholder="{{:MyLang('common_service.express.form_item_website_url_placeholder')}}" name="website_url" data-validation-message="{{:MyLang('common_service.express.form_item_website_url_message')}}" class="am-radius" {{if !empty($data['website_url'])}} value="{{$data.website_url}}"{{/if}} />
|
||||
</div>
|
||||
{{include file="lib/sort_row" /}}
|
||||
{{include file="lib/is_enable_row" /}}
|
||||
<div class="am-form-popup-submit">
|
||||
<input type="hidden" name="id" />
|
||||
<button type="button" class="am-btn am-btn-warning am-radius am-btn-xs btn-loading-example am-margin-right-lg" data-am-modal-close>
|
||||
<i class="am-icon-paint-brush"></i>
|
||||
<span>{{:MyLang('cancel_title')}}</span>
|
||||
</button>
|
||||
<button type="submit" class="am-btn am-btn-primary am-radius am-btn-xs btn-loading-example" data-am-loading="{spinner: 'circle-o-notch', loadingText:'{{:MyLang('save_title')}}'}">
|
||||
<i class="am-icon-save"></i>
|
||||
<span>{{:MyLang('save_title')}}</span>
|
||||
</button>
|
||||
</div>
|
||||
</form>
|
||||
<!-- form end -->
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<!-- save win end -->
|
||||
|
||||
<!-- list start -->
|
||||
<div id="tree" class="am-margin-top-sm" data-additional='[{"field":"icon", "value":"", "type":"input"}, {"field":"icon", "value":"{{$attachment_host}}/static/common/images/default-images.jpg", "type":"attr", "tag":"ul.express-icon-images-view li img", "style":"src"}]' data-node-url="{{:MyUrl('admin/express/getnodeson')}}" data-del-url="{{:MyUrl('admin/express/delete')}}" data-popup-tag="#data-save-win">
|
||||
{{include file="public/loading" /}}
|
||||
</div>
|
||||
<!-- list end -->
|
||||
<div id="card" data-prefix='{"name":"{{$currency_symbol}}","field":"icon","type":"img"}' data-suffix="" data-additional='[{"field":"icon", "value":"", "type":"input"}, {"field":"icon", "value":"", "type":"annex", "tag":"ul.express-icon-images-view", "style":"src"}]' data-node-url="{{:MyUrl('admin/express/getnodeson')}}" data-del-url="{{:MyUrl('admin/express/delete')}}" data-popup-tag="#data-save-win">
|
||||
{{include file="public/loading" /}}
|
||||
</div>
|
||||
<!-- list end -->
|
||||
</div>
|
||||
</div>
|
||||
<!-- right content end -->
|
||||
|
||||
<!-- footer start -->
|
||||
{{include file="public/footer" /}}
|
||||
<!-- footer end -->
|
||||
|
||||
<script type="text/javascript">
|
||||
// 初始化
|
||||
Tree(0, $('#tree').data('node-url'), 0);
|
||||
Card(0, $('#card').data('node-url'), 0);
|
||||
|
||||
// 回调处理
|
||||
function TreeFormSaveBack(e)
|
||||
function CardFormSaveBack(e)
|
||||
{
|
||||
TreeFormSaveBackHandle(e);
|
||||
CardFormSaveBackHandle(e);
|
||||
}
|
||||
</script>
|
@ -3,13 +3,56 @@
|
||||
|
||||
<!-- 重写数据模块 -->
|
||||
{{block name="detail_data"}}
|
||||
<!-- 父级内容 -->
|
||||
{__block__}
|
||||
{{:ModuleInclude('public/detail_nav_switch_tabs', [
|
||||
'nav_data' => [
|
||||
[
|
||||
'name' => MyLang('form_base_data_title'),
|
||||
'key' => 'base',
|
||||
],
|
||||
[
|
||||
'name' => $goods_nav_list.video.name,
|
||||
'key' => 'video',
|
||||
],
|
||||
[
|
||||
'name' => $goods_nav_list.photo.name,
|
||||
'key' => 'photo',
|
||||
],
|
||||
[
|
||||
'name' => $goods_nav_list.spec.name,
|
||||
'key' => 'spec',
|
||||
],
|
||||
[
|
||||
'name' => $goods_nav_list.spec_images.name,
|
||||
'key' => 'spec-images',
|
||||
],
|
||||
[
|
||||
'name' => $goods_nav_list.parameters.name,
|
||||
'key' => 'parameters',
|
||||
],
|
||||
[
|
||||
'name' => $goods_nav_list.web.name,
|
||||
'key' => 'web',
|
||||
],
|
||||
[
|
||||
'name' => $goods_nav_list.app.name,
|
||||
'key' => 'app',
|
||||
],
|
||||
[
|
||||
'name' => $goods_nav_list.fictitious.name,
|
||||
'key' => 'fictitious',
|
||||
],
|
||||
[
|
||||
'name' => $goods_nav_list.seo.name,
|
||||
'key' => 'seo-data-title',
|
||||
]
|
||||
]
|
||||
])}}
|
||||
<div class="detail-content-switch-data-item">
|
||||
<!-- 父级内容 -->
|
||||
{__block__}
|
||||
|
||||
<!-- 商品视频 -->
|
||||
<div class="am-panel am-panel-default am-radius">
|
||||
<div class="am-panel-hd">{{$goods_nav_list.video.name}}</div>
|
||||
<div class="am-panel-bd">
|
||||
<!-- 商品视频 -->
|
||||
<div class="item" data-key="video">
|
||||
{{if !empty($data['video'])}}
|
||||
<video src="{{$data.video}}" class="am-img-responsive" controls="controls" preload="auto">
|
||||
your browser does not support the video tag
|
||||
@ -18,38 +61,30 @@
|
||||
{{include file="public/not_data" /}}
|
||||
{{/if}}
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- 商品相册 -->
|
||||
<div class="am-panel am-panel-default am-radius">
|
||||
<div class="am-panel-hd">{{$goods_nav_list.photo.name}}</div>
|
||||
<div class="am-panel-bd">
|
||||
<!-- 商品相册 -->
|
||||
<div class="item" data-key="photo">
|
||||
{{if !empty($data['photo']) and is_array($data['photo'])}}
|
||||
<div class="am-scrollable-vertical am-nowrap-initial">
|
||||
<div data-am-widget="slider" class="am-slider am-slider-default" data-am-slider='{"animation":"slide","animationLoop":false,"itemWidth":200,"itemMargin":5}'>
|
||||
<ul class="am-slides">
|
||||
{{foreach $data.photo as $v}}
|
||||
<li>
|
||||
<a href="{{$v.images}}" target="_blank">
|
||||
<img src="{{$v.images}}" height="225" />
|
||||
</a>
|
||||
</li>
|
||||
{{/foreach}}
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
<ul data-am-widget="gallery" class="am-gallery am-avg-sm-4 am-avg-md-4 am-avg-lg-4 am-gallery-default am-padding-0" data-am-gallery="{ pureview: true }">
|
||||
{{foreach $data.photo as $k=>$v}}
|
||||
<li class="am-padding-0 {{if $k gt 0}}am-margin-left-sm{{/if}}">
|
||||
<div class="am-gallery-item am-nbfc">
|
||||
<a href="javascript:;">
|
||||
<img src="{{$v.images}}" />
|
||||
</a>
|
||||
</div>
|
||||
</li>
|
||||
{{/foreach}}
|
||||
</ul>
|
||||
{{else /}}
|
||||
{{include file="public/not_data" /}}
|
||||
{{/if}}
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- 商品规格 -->
|
||||
<div class="am-panel am-panel-default am-radius">
|
||||
<div class="am-panel-hd">{{$goods_nav_list.specifications.name}}</div>
|
||||
<div class="am-panel-bd">
|
||||
<!-- 商品规格 -->
|
||||
<div class="item" data-key="spec">
|
||||
{{if !empty($specifications) and is_array($specifications)}}
|
||||
<div class="am-scrollable-vertical am-scrollable-horizontal">
|
||||
<div class="am-scrollable-horizontal">
|
||||
<table class="am-table am-table-bordered am-table-striped am-text-nowrap">
|
||||
<thead>
|
||||
<tr>
|
||||
@ -104,65 +139,51 @@
|
||||
{{include file="public/not_data" /}}
|
||||
{{/if}}
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- 商品规格图片 -->
|
||||
<div class="am-panel am-panel-default am-radius">
|
||||
<div class="am-panel-hd">{{:MyLang('common_service.goods.form_spec_images_title')}}</div>
|
||||
<div class="am-panel-bd am-padding-xs">
|
||||
<!-- 商品规格图片 -->
|
||||
<div class="item" data-key="spec-images">
|
||||
{{if !empty($specifications) and is_array($specifications)}}
|
||||
<div class="am-scrollable-vertical">
|
||||
<ul data-am-widget="gallery" class="am-gallery am-avg-sm-2 am-avg-md-4 am-avg-lg-6 am-gallery-bordered am-padding-0">
|
||||
{{foreach $specifications.type as $line_k=>$line_v}}
|
||||
{{foreach $line_v.value as $v}}
|
||||
{{if !empty($v['images'])}}
|
||||
<li>
|
||||
<div class="am-gallery-item">
|
||||
<a href="{{$v.images}}" target="_blank">
|
||||
<img src="{{$v.images}}" alt="{{$v.name}}"/>
|
||||
<h3 class="am-gallery-title am-text-center">{{$v.name}}</h3>
|
||||
</a>
|
||||
</div>
|
||||
</li>
|
||||
{{/if}}
|
||||
{{/foreach}}
|
||||
<ul data-am-widget="gallery" class="am-gallery am-avg-sm-4 am-avg-md-4 am-avg-lg-4 am-gallery-default am-padding-0" data-am-gallery="{ pureview: true }">
|
||||
{{foreach $specifications.type as $line_k=>$line_v}}
|
||||
{{foreach $line_v.value as $v}}
|
||||
{{if !empty($v['images'])}}
|
||||
<li>
|
||||
<div class="am-gallery-item">
|
||||
<a href="{{$v.images}}" target="_blank">
|
||||
<img src="{{$v.images}}" alt="{{$v.name}}"/>
|
||||
<h3 class="am-gallery-title am-text-center">{{$v.name}}</h3>
|
||||
</a>
|
||||
</div>
|
||||
</li>
|
||||
{{/if}}
|
||||
{{/foreach}}
|
||||
</ul>
|
||||
</div>
|
||||
{{/foreach}}
|
||||
</ul>
|
||||
{{else /}}
|
||||
{{include file="public/not_data" /}}
|
||||
{{/if}}
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- 商品参数 -->
|
||||
<div class="am-panel am-panel-default am-radius">
|
||||
<div class="am-panel-hd">{{$goods_nav_list.parameters.name}}</div>
|
||||
<div class="am-panel-bd">
|
||||
<!-- 商品参数 -->
|
||||
<div class="item" data-key="parameters">
|
||||
{{include file="public/goodsparamstemplate/detail" /}}
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- 电脑端详情 -->
|
||||
<div class="am-panel am-panel-default am-radius">
|
||||
<div class="am-panel-hd">{{$goods_nav_list.web.name}}</div>
|
||||
<div class="am-panel-bd">
|
||||
<!-- 电脑端详情 -->
|
||||
<div class="item" data-key="web">
|
||||
{{if !empty($data['content_web'])}}
|
||||
<div class="am-scrollable-vertical am-nowrap-initial am-img-responsive">
|
||||
<div class="am-nowrap-initial am-img-responsive">
|
||||
{{$data.content_web|raw}}
|
||||
</div>
|
||||
{{else /}}
|
||||
{{include file="public/not_data" /}}
|
||||
{{/if}}
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- 手机端详情 -->
|
||||
<div class="am-panel am-panel-default am-radius">
|
||||
<div class="am-panel-hd">{{$goods_nav_list.app.name}}</div>
|
||||
<div class="am-panel-bd">
|
||||
<!-- 手机端详情 -->
|
||||
<div class="item" data-key="app">
|
||||
{{if !empty($data['content_app']) and is_array($data['content_app'])}}
|
||||
<div class="am-scrollable-vertical am-nowrap-initial am-img-responsive">
|
||||
<div class="am-nowrap-initial am-img-responsive">
|
||||
<ul>
|
||||
{{foreach $data.content_app as $v}}
|
||||
<li class="am-margin-bottom-sm">
|
||||
@ -184,22 +205,19 @@
|
||||
{{include file="public/not_data" /}}
|
||||
{{/if}}
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- 虚拟商品展示数据 -->
|
||||
<div class="am-panel am-panel-default am-radius">
|
||||
<div class="am-panel-hd">{{$goods_nav_list.fictitious.name}}</div>
|
||||
<div class="am-panel-bd">
|
||||
<!-- 虚拟商品展示数据 -->
|
||||
<div class="item" data-key="fictitious">
|
||||
{{if !empty($data['fictitious_goods_value'])}}
|
||||
<div class="am-scrollable-vertical am-nowrap-initial am-img-responsive">
|
||||
<div class="am-nowrap-initial am-img-responsive">
|
||||
{{$data.fictitious_goods_value|raw}}
|
||||
</div>
|
||||
{{else /}}
|
||||
{{include file="public/not_data" /}}
|
||||
{{/if}}
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- SEO信息 -->
|
||||
{{include file="lib/seo_data" /}}
|
||||
<!-- SEO信息 -->
|
||||
{{include file="lib/seo_data" /}}
|
||||
</div>
|
||||
{{/block}}
|
@ -3,7 +3,10 @@
|
||||
|
||||
<!-- 表单顶部操作栏 -->
|
||||
{{block name="form_operate_top"}}
|
||||
<a href="{{:MyUrl('admin/goods/saveinfo')}}" class="am-btn am-btn-secondary am-radius am-btn-xs am-icon-plus"> {{:MyLang('add_title')}}</a>
|
||||
<a href="{{:MyUrl('admin/goods/saveinfo')}}" class="am-btn am-btn-primary am-radius am-btn-xs">
|
||||
<i class="iconfont icon-btn-add am-show-sm-only"></i>
|
||||
<span class="am-hide-sm-only">{{:MyLang('add_title')}}</span>
|
||||
</a>
|
||||
<!-- 父级内容 -->
|
||||
{__block__}
|
||||
{{/block}}
|
@ -1,5 +1,5 @@
|
||||
<!-- 操作栏 -->
|
||||
<button type="button" class="am-btn am-btn-default am-btn-xs am-radius am-btn-block submit-popup" data-url="{{:MyUrl('admin/goods/detail', ['id'=>$module_data['id']])}}">
|
||||
<button type="button" class="am-btn am-btn-default am-btn-xs am-radius am-btn-block submit-popup" data-url="{{:MyUrl('admin/goods/detail', ['id'=>$module_data['id']])}}" data-title="{{:MyLang('detail_title')}}">
|
||||
<i class="am-icon-eye"></i>
|
||||
<span>{{:MyLang('detail_title')}}</span>
|
||||
</button>
|
||||
@ -11,13 +11,13 @@
|
||||
<i class="am-icon-copy"></i>
|
||||
<span>{{:MyLang('copy_title')}}</span>
|
||||
</a>
|
||||
<div class="am-dropdown am-dropdown-up am-btn am-btn-danger am-btn-xs am-radius am-btn-block" data-am-dropdown>
|
||||
<div class="am-dropdown am-dropdown-down am-btn am-btn-danger am-btn-xs am-radius am-btn-block" data-am-dropdown>
|
||||
<div class="am-dropdown-toggle">
|
||||
<i class="am-icon-trash-o"></i>
|
||||
<span>{{:MyLang('delete_title')}}</span>
|
||||
</div>
|
||||
<div class="am-dropdown-content am-radius">
|
||||
<a href="javascript:;" class="am-badge am-badge-warning am-radius submit-delete" data-url="{{:MyUrl('admin/goods/delete')}}" data-id="{{$module_data.id}}" data-key="ids">{{:MyLang('goods.delete_only_goods_text')}}</a>
|
||||
<a href="javascript:;" class="am-badge am-badge-danger am-radius am-margin-left-sm submit-delete" data-url="{{:MyUrl('admin/goods/delete', ['is_del_images'=>1])}}" data-id="{{$module_data.id}}" data-key="ids">{{:MyLang('goods.delete_goods_and_images_text')}}</a>
|
||||
<div class="am-dropdown-content am-padding-sm am-radius">
|
||||
<a href="javascript:;" class="am-badge am-badge-warning am-radius am-margin-bottom-0 submit-delete" data-url="{{:MyUrl('admin/goods/delete')}}" data-id="{{$module_data.id}}" data-key="ids">{{:MyLang('goods.delete_only_goods_text')}}</a>
|
||||
<a href="javascript:;" class="am-badge am-badge-danger am-radius am-margin-bottom-0 am-margin-left-sm submit-delete" data-url="{{:MyUrl('admin/goods/delete', ['is_del_images'=>1])}}" data-id="{{$module_data.id}}" data-key="ids">{{:MyLang('goods.delete_goods_and_images_text')}}</a>
|
||||
</div>
|
||||
</div>
|
@ -3,428 +3,409 @@
|
||||
<!-- right content start -->
|
||||
<div class="content-right">
|
||||
<div class="content">
|
||||
<!-- form start -->
|
||||
<form class="am-form form-validation am-form-full-screen am-form-popup-fixed" action="{{:MyUrl('admin/goods/save')}}" method="POST" request-type="ajax-url" request-value="{{:MyUrl('admin/goods/index', $params)}}" enctype="multipart/form-data">
|
||||
<legend>
|
||||
<span class="am-text-default">{{:MyLang('goods.base_nav_title')}}{{if empty($data['id'])}}{{:MyLang('created_title')}}{{else /}}{{:MyLang('edit_title')}}{{/if}}</span>
|
||||
<a href="{{:MyUrl('admin/goods/index', $params)}}" class="am-fr am-text-sm am-margin-top-sm am-icon-mail-reply"> {{:MyLang('retreat_title')}}</a>
|
||||
</legend>
|
||||
|
||||
<!-- 右侧快捷导航 -->
|
||||
{{if !empty($goods_nav_list) and is_array($goods_nav_list)}}
|
||||
<nav class="goods-nav goods-nav-retract" style="right:-110px;">
|
||||
<ul>
|
||||
{{foreach $goods_nav_list as $v}}
|
||||
<li>
|
||||
<a href="javascript:;" data-value="#goods-nav-{{$v.type}}">{{$v.name}}</a>
|
||||
</li>
|
||||
{{/foreach}}
|
||||
<li class="am-text-center am-padding-xs nav-shrink-submit" style="width:50px;left:-80px;">
|
||||
<i class="am-icon-sm am-icon-angle-double-left"></i>
|
||||
</li>
|
||||
</ul>
|
||||
</nav>
|
||||
{{/if}}
|
||||
|
||||
<!-- 基础信息 -->
|
||||
<div class="am-panel am-panel-default am-radius" id="goods-nav-base">
|
||||
<div class="am-panel-hd">
|
||||
<h3 class="am-panel-title">{{$goods_nav_list.base.name}}</h3>
|
||||
</div>
|
||||
<div class="am-panel-bd am-padding-vertical-xs">
|
||||
<div class="am-cf">
|
||||
<div class="am-u-sm-6 am-padding-horizontal-0">
|
||||
<div class="am-form-group">
|
||||
<label>{{:MyLang('common_service.goods.form_item_title')}}<span class="am-form-group-label-tips-must">*</span></label>
|
||||
<input type="hidden" name="title_color" value="{{if !empty($data['title_color'])}}{{$data.title_color}}{{/if}}" />
|
||||
<div class="am-input-group am-input-group-sm">
|
||||
<input type="text" name="title" placeholder="{{:MyLang('common_service.goods.form_item_title_message')}}" minlength="2" maxlength="160" data-validation-message="{{:MyLang('common_service.goods.form_item_title_message')}}" class="am-form-field am-radius" {{if !empty($data['title'])}} value="{{$data.title}}" {{/if}} {{if !empty($data['title_color'])}} style="color:{{$data.title_color}};" {{/if}} required />
|
||||
<span class="am-input-group-btn">
|
||||
<button type="button" class="am-btn am-btn-default am-btn-xs colorpicker-submit" data-input-tag="input[name='title']" data-color-tag="input[name='title_color']">
|
||||
<img src="{{$attachment_host}}/static/common/images/colorpicker.png" />
|
||||
</button>
|
||||
</span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="am-u-sm-6 am-padding-horizontal-0">
|
||||
<div class="am-form-group">
|
||||
<label>{{:MyLang('common_service.goods.form_item_category_id')}}<span class="am-form-group-label-tips-must">*</span></label>
|
||||
<br />
|
||||
<select name="category_id" class="am-radius chosen-select" multiple="multiple" minchecked="1" data-placeholder="{{:MyLang('please_select_tips')}}" data-validation-message="{{:MyLang('common_service.goods.form_item_category_id_message')}}" data-base-template-url="{{:MyUrl('admin/goods/basetemplate')}}" required>
|
||||
{{if !empty($goods_category_list)}}
|
||||
{{foreach $goods_category_list as $v}}
|
||||
<option value="{{$v.id}}" {{if !empty($data['category_ids']) and in_array($v['id'], $data['category_ids'])}}selected{{/if}}>{{$v.name}}</option>
|
||||
{{if !empty($v['items'])}}
|
||||
{{foreach $v.items as $vs}}
|
||||
<option style="padding-left: 20px;" value="{{$vs.id}}" {{if !empty($data['category_ids']) and in_array($vs['id'], $data['category_ids'])}}selected{{/if}}>{{if empty($vs['items'])}}├{{else /}}└{{/if}}² {{$vs.name}}</option>
|
||||
{{if !empty($vs['items'])}}
|
||||
{{foreach $vs.items as $kss=>$vss}}
|
||||
<option style="padding-left: 40px;" value="{{$vss.id}}" {{if !empty($data['category_ids']) and in_array($vss['id'], $data['category_ids'])}}selected{{/if}}>{{if $kss eq count($vs['items'])-1}}└{{else /}}├{{/if}}³ {{$vss.name}}</option>
|
||||
{{/foreach}}
|
||||
{{/if}}
|
||||
{{/foreach}}
|
||||
{{/if}}
|
||||
{{/foreach}}
|
||||
{{/if}}
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="am-cf">
|
||||
<div class="am-u-sm-6 am-padding-horizontal-0">
|
||||
<div class="am-form-group">
|
||||
<label>{{:MyLang('common_service.goods.form_item_simple_desc')}}</label>
|
||||
<input type="text" name="simple_desc" placeholder="{{:MyLang('common_service.goods.form_item_simple_desc_message')}}" maxlength="230" data-validation-message="{{:MyLang('common_service.goods.form_item_simple_desc_message')}}" class="am-radius" {{if !empty($data['simple_desc'])}} value="{{$data.simple_desc}}"{{/if}} />
|
||||
</div>
|
||||
</div>
|
||||
<div class="am-u-sm-6 am-padding-horizontal-0">
|
||||
<div class="am-form-group">
|
||||
<label>{{:MyLang('common_service.goods.form_item_model')}}</label>
|
||||
<input type="text" name="model" placeholder="{{:MyLang('common_service.goods.form_item_model_message')}}" maxlength="30" data-validation-message="{{:MyLang('common_service.goods.form_item_model_message')}}" class="am-radius" {{if !empty($data['model'])}} value="{{$data.model}}"{{/if}} />
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="am-cf">
|
||||
<div class="am-u-sm-6 am-padding-horizontal-0">
|
||||
<div class="am-form-group">
|
||||
<label class="am-block">{{:MyLang('common_service.goods.form_item_brand')}}</label>
|
||||
<select name="brand_id" class="am-radius chosen-select" data-placeholder="{{:MyLang('please_select_tips')}}" data-validation-message="{{:MyLang('common_service.goods.form_item_brand_message')}}">
|
||||
{{if !empty($brand_list)}}
|
||||
<option value="0">{{:MyLang('please_select_tips')}}</option>
|
||||
{{foreach $brand_list as $v}}
|
||||
<option value="{{$v.id}}" {{if isset($data['brand_id']) and $data['brand_id'] eq $v['id']}}selected{{/if}}>{{$v.name}}</option>
|
||||
{{/foreach}}
|
||||
{{/if}}
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
<div class="am-u-sm-6 am-padding-horizontal-0">
|
||||
<div class="am-form-group">
|
||||
<label class="am-block">{{:MyLang('common_service.goods.form_item_place_origin')}}</label>
|
||||
<select name="place_origin" class="am-radius chosen-select" data-placeholder="{{:MyLang('please_select_tips')}}" data-validation-message="{{:MyLang('common_service.goods.form_item_place_origin_message')}}">
|
||||
<option value="0">{{:MyLang('please_select_tips')}}</option>
|
||||
{{if !empty($region_province_list)}}
|
||||
{{foreach $region_province_list as $v}}
|
||||
<option value="{{$v.id}}" {{if !empty($data['place_origin']) and $v['id'] eq $data['place_origin']}}selected{{/if}}>{{$v.name}}</option>
|
||||
{{/foreach}}
|
||||
{{/if}}
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="am-cf">
|
||||
<div class="am-u-sm-6 am-padding-horizontal-0">
|
||||
<div class="am-form-group">
|
||||
<label>{{:MyLang('common_service.goods.form_item_inventory_unit')}}<span class="am-form-group-label-tips-must">*</span></label>
|
||||
<input type="text" name="inventory_unit" placeholder="{{:MyLang('common_service.goods.form_item_inventory_unit_message')}}" minlength="1" maxlength="6" data-validation-message="{{:MyLang('common_service.goods.form_item_inventory_unit_message')}}" class="am-radius" {{if !empty($data['inventory_unit'])}} value="{{$data.inventory_unit}}"{{/if}} required />
|
||||
</div>
|
||||
</div>
|
||||
<div class="am-u-sm-6 am-padding-horizontal-0">
|
||||
<div class="am-form-group">
|
||||
<label>{{:MyLang('common_service.goods.form_item_give_integral')}}{{if is_array(MyLang('common_service.goods.form_item_give_integral_tips'))}}<a href="javascript:;" class="am-icon-question-circle am-text-warning am-margin-left-sm" data-am-popover="{content: '{{:implode('<br />', MyLang('common_service.goods.form_item_give_integral_tips'))}}', trigger: 'hover focus', theme: 'sm'}"></a>{{/if}}</label>
|
||||
<div class="am-input-group am-input-group-sm">
|
||||
<input type="number" name="give_integral" placeholder="{{:MyLang('common_service.goods.form_item_give_integral_placeholder')}}" min="0" max="100" data-validation-message="{{:MyLang('common_service.goods.form_item_give_integral_message')}}" class="am-form-field am-radius" {{if !empty($data['give_integral'])}} value="{{$data.give_integral}}"{{/if}} />
|
||||
<span class="am-input-group-btn">
|
||||
<button type="button" class="am-btn am-btn-default am-radius">%</button>
|
||||
</span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="am-cf">
|
||||
<div class="am-u-md-6 am-padding-horizontal-0">
|
||||
<div class="am-form-group">
|
||||
<label>{{:MyLang('common_service.goods.form_item_site_type')}}</label>
|
||||
{{if is_array(MyLang('common_service.goods.form_item_site_type_tips'))}}
|
||||
<div class="am-alert am-alert-warning am-radius am-margin-top-0" data-am-alert>
|
||||
<p>{{:implode('</p><p>', MyLang('common_service.goods.form_item_site_type_tips'))}}</p>
|
||||
</div>
|
||||
{{/if}}
|
||||
<select name="site_type" class="am-radius chosen-select am-margin-top-xs" data-placeholder="{{:MyLang('optional_tips')}}" data-validation-message="{{:MyLang('common_service.goods.form_item_site_type_message')}}">
|
||||
<option value="">{{:MyLang('optional_tips')}}</option>
|
||||
{{if !empty($common_site_type_list)}}
|
||||
{{foreach $common_site_type_list as $v}}
|
||||
<option value="{{$v.value}}" {{if isset($data['site_type']) and $v['value'] eq $data['site_type']}}selected{{/if}}>{{$v.name}}</option>
|
||||
{{/foreach}}
|
||||
{{/if}}
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
<div class="am-u-md-6 am-padding-horizontal-0">
|
||||
<div class="am-cf">
|
||||
<div class="am-u-sm-6 am-padding-horizontal-0">
|
||||
<div class="am-form-group am-form-file">
|
||||
<label class="am-block">{{:MyLang('common_service.goods.form_item_images')}}<a href="javascript:;" class="am-icon-question-circle am-text-warning am-margin-left-sm" data-am-popover="{content: '{{:MyLang('common_service.goods.form_item_images_tips')}}', trigger: 'hover focus', theme: 'sm'}"></a></label>
|
||||
<ul class="plug-file-upload-view goods-recommended-images-view" data-form-name="images" data-max-number="1" data-dialog-type="images">
|
||||
{{if !empty($data['images'])}}
|
||||
<li>
|
||||
<input type="text" name="images" value="{{$data.images}}" />
|
||||
<img src="{{$data.images}}" />
|
||||
<i>×</i>
|
||||
</li>
|
||||
{{/if}}
|
||||
</ul>
|
||||
<div class="plug-file-upload-submit" data-view-tag="ul.goods-recommended-images-view">+ {{:MyLang('form_upload_images_title')}}</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="am-u-sm-6 am-padding-horizontal-0">
|
||||
<div class="am-form-group">
|
||||
<label class="am-block">{{:MyLang('common_service.goods.form_item_is_deduction_inventory')}}<a href="javascript:;" class="am-icon-question-circle am-text-warning am-margin-left-sm" data-am-popover="{content: '{{:MyLang('common_service.goods.form_item_is_deduction_inventory_tips')}}', trigger: 'hover focus', theme: 'sm'}"></a></label>
|
||||
<input name="is_deduction_inventory" value="1" type="checkbox" data-off-text="{{:MyLang('no_title')}}" data-on-text="{{:MyLang('yes_title')}}" data-size="xs" data-on-color="success" data-off-color="default" data-handle-width="50" data-am-switch {{if (isset($data['is_deduction_inventory']) and $data['is_deduction_inventory'] eq 1) or empty($data)}}checked="true"{{/if}} />
|
||||
</div>
|
||||
<div class="am-form-group">
|
||||
<label class="am-block">{{:MyLang('common_service.goods.form_item_is_shelves')}}<a href="javascript:;" class="am-icon-question-circle am-text-warning am-margin-left-sm" data-am-popover="{content: '{{:MyLang('common_service.goods.form_item_is_shelves_tips')}}', trigger: 'hover focus', theme: 'sm'}"></a></label>
|
||||
<input name="is_shelves" value="1" type="checkbox" data-off-text="{{:MyLang('no_title')}}" data-on-text="{{:MyLang('yes_title')}}" data-size="xs" data-on-color="success" data-off-color="default" data-handle-width="50" data-am-switch {{if (isset($data['is_shelves']) and $data['is_shelves'] eq 1) or empty($data)}}checked="true"{{/if}} />
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- 商品规格 -->
|
||||
<div class="am-panel am-panel-default am-radius" id="goods-nav-specifications">
|
||||
<div class="am-panel-hd">
|
||||
<h3 class="am-panel-title">{{$goods_nav_list.specifications.name}}<span class="am-form-group-label-tips-must">*</span></h3>
|
||||
</div>
|
||||
<div class="am-panel-bd business-form-group">
|
||||
<div class="am-margin-horizontal-sm">
|
||||
{{include file="goods/spec" /}}
|
||||
<!-- nav start -->
|
||||
{{:ModuleInclude('public/admin_nav', [
|
||||
'title' => MyLang('goods.base_nav_title').(empty($data['id']) ? MyLang('created_title') : MyLang('edit_title')),
|
||||
'back_url' => MyUrl('admin/goods/index', $params)
|
||||
])}}
|
||||
<!-- nav end -->
|
||||
<!-- form start -->
|
||||
<form class="am-form form-validation am-form-full-screen am-form-popup-sticky" action="{{:MyUrl('admin/goods/save')}}" method="POST" request-type="ajax-url" request-value="{{:MyUrl('admin/goods/index', $params)}}" enctype="multipart/form-data">
|
||||
{{:ModuleInclude('public/nav_switch_btn', [
|
||||
'nav_data' => [
|
||||
[
|
||||
'name' => $goods_nav_list.base.name,
|
||||
'key' => 'base',
|
||||
],
|
||||
[
|
||||
'name' => $goods_nav_list.spec.name,
|
||||
'key' => 'spec',
|
||||
],
|
||||
[
|
||||
'name' => $goods_nav_list.parameters.name,
|
||||
'key' => 'parameters',
|
||||
],
|
||||
[
|
||||
'name' => $goods_nav_list.photo.name . '/' . $goods_nav_list.video.name,
|
||||
'key' => 'photo-video',
|
||||
],
|
||||
[
|
||||
'name' => $goods_nav_list.app.name,
|
||||
'key' => 'app',
|
||||
],
|
||||
[
|
||||
'name' => $goods_nav_list.web.name,
|
||||
'key' => 'web',
|
||||
],
|
||||
[
|
||||
'name' => $goods_nav_list.fictitious.name,
|
||||
'key' => 'fictitious',
|
||||
],
|
||||
[
|
||||
'name' => $goods_nav_list.extends.name,
|
||||
'key' => 'extends',
|
||||
],
|
||||
[
|
||||
'name' => $goods_nav_list.seo.name,
|
||||
'key' => 'seo',
|
||||
]
|
||||
]
|
||||
])}}
|
||||
<!-- nav end -->
|
||||
<div class="nav-content">
|
||||
<!-- 基础信息 -->
|
||||
<div id="goods-nav-base" class="item am-active" data-key="base">
|
||||
<div class="am-form-group">
|
||||
<label>{{:MyLang('common_service.goods.form_item_title')}}<span class="am-form-group-label-tips-must">*</span></label>
|
||||
<div class="am-flex am-flex-items-center am-gap-1">
|
||||
<input type="text" name="title" placeholder="{{:MyLang('common_service.goods.form_item_title_message')}}" minlength="2" maxlength="160" data-validation-message="{{:MyLang('common_service.goods.form_item_title_message')}}" class="am-form-field am-radius" {{if !empty($data['title'])}} value="{{$data.title}}" {{/if}} {{if !empty($data['title_color'])}} style="color:{{$data.title_color}};" {{/if}} required />
|
||||
<div class="colorpicker-container colorpicker-simple">
|
||||
<input type="hidden" name="title_color" value="{{if !empty($data['title_color'])}}{{$data.title_color}}{{/if}}" />
|
||||
<div class="colorpicker-submit" data-color="{{if !empty($data['title_color'])}}{{$data.title_color}}{{/if}}" data-input-tag="input[name='title']" data-color-tag="input[name='title_color']"></div>
|
||||
<img class="imitate-colorpicker-submit" src="{{$attachment_host}}/static/common/images/colorpicker.png" width="24" height="24" />
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="am-form-group">
|
||||
<label>{{:MyLang('common_service.goods.form_item_category_id')}}<span class="am-form-group-label-tips-must">*</span></label>
|
||||
<select name="category_id" class="am-radius chosen-select" multiple="multiple" minchecked="1" data-placeholder="{{:MyLang('please_select_tips')}}" data-validation-message="{{:MyLang('common_service.goods.form_item_category_id_message')}}" data-base-template-url="{{:MyUrl('admin/goods/basetemplate')}}" required>
|
||||
{{if !empty($goods_category_list)}}
|
||||
{{foreach $goods_category_list as $v}}
|
||||
<option value="{{$v.id}}" {{if !empty($data['category_ids']) and in_array($v['id'], $data['category_ids'])}}selected{{/if}}>{{$v.name}}</option>
|
||||
{{if !empty($v['items'])}}
|
||||
{{foreach $v.items as $vs}}
|
||||
<option style="padding-left: 20px;" value="{{$vs.id}}" {{if !empty($data['category_ids']) and in_array($vs['id'], $data['category_ids'])}}selected{{/if}}>{{if empty($vs['items'])}}├{{else /}}└{{/if}}² {{$vs.name}}</option>
|
||||
{{if !empty($vs['items'])}}
|
||||
{{foreach $vs.items as $kss=>$vss}}
|
||||
<option style="padding-left: 40px;" value="{{$vss.id}}" {{if !empty($data['category_ids']) and in_array($vss['id'], $data['category_ids'])}}selected{{/if}}>{{if $kss eq count($vs['items'])-1}}└{{else /}}├{{/if}}³ {{$vss.name}}</option>
|
||||
{{/foreach}}
|
||||
{{/if}}
|
||||
{{/foreach}}
|
||||
{{/if}}
|
||||
{{/foreach}}
|
||||
{{/if}}
|
||||
</select>
|
||||
</div>
|
||||
<div class="am-form-group">
|
||||
<label>{{:MyLang('common_service.goods.form_item_simple_desc')}}</label>
|
||||
<input type="text" name="simple_desc" placeholder="{{:MyLang('common_service.goods.form_item_simple_desc_message')}}" maxlength="230" data-validation-message="{{:MyLang('common_service.goods.form_item_simple_desc_message')}}" class="am-radius" {{if !empty($data['simple_desc'])}} value="{{$data.simple_desc}}"{{/if}} />
|
||||
</div>
|
||||
<div class="am-form-group">
|
||||
<label>{{:MyLang('common_service.goods.form_item_model')}}</label>
|
||||
<input type="text" name="model" placeholder="{{:MyLang('common_service.goods.form_item_model_message')}}" maxlength="30" data-validation-message="{{:MyLang('common_service.goods.form_item_model_message')}}" class="am-radius" {{if !empty($data['model'])}} value="{{$data.model}}"{{/if}} />
|
||||
</div>
|
||||
<div class="am-form-group">
|
||||
<label class="am-block">{{:MyLang('common_service.goods.form_item_brand')}}</label>
|
||||
<select name="brand_id" class="am-radius chosen-select" data-placeholder="{{:MyLang('please_select_tips')}}" data-validation-message="{{:MyLang('common_service.goods.form_item_brand_message')}}">
|
||||
{{if !empty($brand_list)}}
|
||||
<option value="0">{{:MyLang('please_select_tips')}}</option>
|
||||
{{foreach $brand_list as $v}}
|
||||
<option value="{{$v.id}}" {{if isset($data['brand_id']) and $data['brand_id'] eq $v['id']}}selected{{/if}}>{{$v.name}}</option>
|
||||
{{/foreach}}
|
||||
{{/if}}
|
||||
</select>
|
||||
</div>
|
||||
<div class="am-form-group">
|
||||
<label class="am-block">{{:MyLang('common_service.goods.form_item_place_origin')}}</label>
|
||||
<select name="place_origin" class="am-radius chosen-select" data-placeholder="{{:MyLang('please_select_tips')}}" data-validation-message="{{:MyLang('common_service.goods.form_item_place_origin_message')}}">
|
||||
<option value="0">{{:MyLang('please_select_tips')}}</option>
|
||||
{{if !empty($region_province_list)}}
|
||||
{{foreach $region_province_list as $v}}
|
||||
<option value="{{$v.id}}" {{if !empty($data['place_origin']) and $v['id'] eq $data['place_origin']}}selected{{/if}}>{{$v.name}}</option>
|
||||
{{/foreach}}
|
||||
{{/if}}
|
||||
</select>
|
||||
</div>
|
||||
<div class="am-form-group">
|
||||
<label>{{:MyLang('common_service.goods.form_item_inventory_unit')}}<span class="am-form-group-label-tips-must">*</span></label>
|
||||
<input type="text" name="inventory_unit" placeholder="{{:MyLang('common_service.goods.form_item_inventory_unit_message')}}" minlength="1" maxlength="6" data-validation-message="{{:MyLang('common_service.goods.form_item_inventory_unit_message')}}" class="am-radius" {{if !empty($data['inventory_unit'])}} value="{{$data.inventory_unit}}"{{/if}} required />
|
||||
</div>
|
||||
<div class="am-form-group">
|
||||
<label>
|
||||
{{:MyLang('common_service.goods.form_item_give_integral')}}
|
||||
{{if is_array(MyLang('common_service.goods.form_item_give_integral_tips'))}}
|
||||
<a href="javascript:;" class="am-icon-question-circle am-text-primary am-margin-left-sm" data-am-popover="{content: '{{:implode('<br />', MyLang('common_service.goods.form_item_give_integral_tips'))}}', trigger: 'hover focus', theme: 'sm'}"></a>
|
||||
{{/if}}
|
||||
</label>
|
||||
<input type="number" name="give_integral" placeholder="{{:MyLang('common_service.goods.form_item_give_integral_placeholder')}}(%)" min="0" max="100" data-validation-message="{{:MyLang('common_service.goods.form_item_give_integral_message')}}" class="am-form-field am-radius" {{if !empty($data['give_integral'])}} value="{{$data.give_integral}}"{{/if}} />
|
||||
</div>
|
||||
<div class="am-form-group">
|
||||
<label>
|
||||
{{:MyLang('common_service.goods.form_item_site_type')}}
|
||||
{{if is_array(MyLang('common_service.goods.form_item_site_type_tips'))}}
|
||||
<a href="javascript:;" class="am-icon-question-circle am-text-primary am-margin-left-sm" data-am-popover="{content: '{{:implode('</p><p>', MyLang('common_service.goods.form_item_site_type_tips'))}}', trigger: 'hover focus', theme: 'sm'}"></a>
|
||||
{{/if}}
|
||||
</label>
|
||||
<select name="site_type" class="am-radius chosen-select am-margin-top-xs" data-placeholder="{{:MyLang('optional_tips')}}" data-validation-message="{{:MyLang('common_service.goods.form_item_site_type_message')}}">
|
||||
<option value="">{{:MyLang('optional_tips')}}</option>
|
||||
{{if !empty($common_site_type_list)}}
|
||||
{{foreach $common_site_type_list as $v}}
|
||||
<option value="{{$v.value}}" {{if isset($data['site_type']) and $v['value'] eq $data['site_type']}}selected{{/if}}>{{$v.name}}</option>
|
||||
{{/foreach}}
|
||||
{{/if}}
|
||||
</select>
|
||||
</div>
|
||||
<div class="am-form-group am-form-file">
|
||||
<label class="am-block">{{:MyLang('common_service.goods.form_item_images')}}<a href="javascript:;" class="am-icon-question-circle am-text-primary am-margin-left-sm" data-am-popover="{content: '{{:MyLang('common_service.goods.form_item_images_tips')}}', trigger: 'hover focus', theme: 'sm'}"></a></label>
|
||||
<div class="am-form-file-upload-container">
|
||||
<ul class="plug-file-upload-view goods-recommended-images-view" data-form-name="images" data-max-number="1" data-dialog-type="images" data-is-eye="1">
|
||||
<li class="plug-file-upload-submit" data-view-tag="ul.goods-recommended-images-view">
|
||||
{{if empty($data['images'])}}
|
||||
<i class="iconfont icon-upload-add"></i>
|
||||
{{else /}}
|
||||
<input type="text" name="images" value="{{$data.images}}" />
|
||||
<img src="{{$data.images}}" />
|
||||
<i>×</i>
|
||||
<i class="iconfont icon-eye"></i>
|
||||
{{/if}}
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
<div class="am-form-group">
|
||||
<label class="am-block">{{:MyLang('common_service.goods.form_item_is_deduction_inventory')}}<a href="javascript:;" class="am-icon-question-circle am-text-primary am-margin-left-sm" data-am-popover="{content: '{{:MyLang('common_service.goods.form_item_is_deduction_inventory_tips')}}', trigger: 'hover focus', theme: 'sm'}"></a></label>
|
||||
<input name="is_deduction_inventory" value="1" type="checkbox" data-off-text="{{:MyLang('no_title')}}" data-on-text="{{:MyLang('yes_title')}}" data-size="xs" data-on-color="success" data-off-color="default" data-handle-width="50" data-am-switch {{if (isset($data['is_deduction_inventory']) and $data['is_deduction_inventory'] eq 1) or empty($data)}}checked="true"{{/if}} />
|
||||
</div>
|
||||
<div class="am-form-group">
|
||||
<label class="am-block">{{:MyLang('common_service.goods.form_item_is_shelves')}}<a href="javascript:;" class="am-icon-question-circle am-text-primary am-margin-left-sm" data-am-popover="{content: '{{:MyLang('common_service.goods.form_item_is_shelves_tips')}}', trigger: 'hover focus', theme: 'sm'}"></a></label>
|
||||
<input name="is_shelves" value="1" type="checkbox" data-off-text="{{:MyLang('no_title')}}" data-on-text="{{:MyLang('yes_title')}}" data-size="xs" data-on-color="success" data-off-color="default" data-handle-width="50" data-am-switch {{if (isset($data['is_shelves']) and $data['is_shelves'] eq 1) or empty($data)}}checked="true"{{/if}} />
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- 商品参数 -->
|
||||
<div class="am-panel am-panel-default am-radius" id="goods-nav-parameters">
|
||||
<div class="am-panel-hd">
|
||||
<h3 class="am-panel-title">{{$goods_nav_list.parameters.name}}</h3>
|
||||
</div>
|
||||
<div class="am-panel-bd business-form-group">
|
||||
<div class="am-margin-horizontal-sm">
|
||||
{{include file="public/goodsparamstemplate/tips" /}}
|
||||
<!-- 通过配置生成商品参数 -->
|
||||
<div class="am-dropdown" id="parameters-quick-container" data-am-dropdown>
|
||||
<span class="business-operations-submit am-dropdown-toggle parameters-quick-add">
|
||||
<span>{{:MyLang('common_service.goods.form_params_select_title')}}</span>
|
||||
<i class="am-icon-caret-down"></i>
|
||||
</span>
|
||||
<div class="am-dropdown-content parameters-quick-config">
|
||||
<div class="am-margin-bottom-sm">
|
||||
<select class="am-radius chosen-select" data-placeholder="{{:MyLang('common_service.goods.form_params_select_placeholder')}}" data-validation-message="{{:MyLang('common_service.goods.form_params_select_message')}}">
|
||||
<option value="">{{:MyLang('common_service.goods.form_params_select_placeholder')}}</option>
|
||||
{{if !empty($goods_base_template) and !empty($goods_base_template['params']) and is_array($goods_base_template['params'])}}
|
||||
{{foreach $goods_base_template.params as $v}}
|
||||
<option value="{{:urlencode(json_encode($v['config_data'], JSON_UNESCAPED_UNICODE))}}" data-origin-name="{{$v.name}}">{{$v.name}}</option>
|
||||
{{/foreach}}
|
||||
{{/if}}
|
||||
</select>
|
||||
</div>
|
||||
<textarea rows="5" placeholder="{{:MyLang('common_service.goods.form_params_value_placeholder')}}"></textarea>
|
||||
<button type="button" class="am-btn am-btn-secondary am-btn-xs am-radius am-btn-block am-margin-top-sm">{{:MyLang('confirm_title')}}</button>
|
||||
</div>
|
||||
</div>
|
||||
<!-- 复制操作 -->
|
||||
<span class="business-operations-submit am-margin-left-sm parameters-quick-copy">
|
||||
<i class="am-icon-copy"></i>
|
||||
<span>{{:MyLang('common_service.goods.form_params_config_copy_title')}}</span>
|
||||
</span>
|
||||
<!-- 清空操作 -->
|
||||
<span class="business-operations-submit am-margin-left-sm parameters-quick-remove">
|
||||
<i class="am-icon-times"></i>
|
||||
<span>{{:MyLang('common_service.goods.form_params_config_empty_title')}}</span>
|
||||
</span>
|
||||
<span class="am-text-warning am-margin-left-sm">{{:MyLang('common_service.goods.form_params_list_content_tips')}}</span>
|
||||
|
||||
<!-- 参数表格 -->
|
||||
{{include file="public/goodsparamstemplate/table" /}}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- 相册 -->
|
||||
<div class="am-panel am-panel-default am-radius" id="goods-nav-photo">
|
||||
<div class="am-panel-hd">
|
||||
<h3 class="am-panel-title">{{$goods_nav_list.photo.name}}<span class="am-form-group-label-tips-must">*</span></h3>
|
||||
</div>
|
||||
<div class="am-panel-bd business-form-group">
|
||||
<div class="am-margin-horizontal-sm">
|
||||
<div class="am-alert am-alert-warning am-radius" data-am-alert>
|
||||
<button type="button" class="am-close">×</button>
|
||||
<p>{{:MyLang('common_service.goods.form_photo_top_tips')}}</p>
|
||||
</div>
|
||||
<ul class="plug-file-upload-view goods-photo-view" data-form-name="photo[]" data-max-number="30" data-dialog-type="images">
|
||||
{{if !empty($data['photo'])}}
|
||||
{{foreach $data.photo as $v}}
|
||||
<li>
|
||||
<input type="text" name="photo[]" value="{{$v.images_old}}" />
|
||||
<img src="{{$v.images}}" />
|
||||
<i>×</i>
|
||||
</li>
|
||||
{{/foreach}}
|
||||
{{/if}}
|
||||
</ul>
|
||||
<div class="plug-file-upload-submit" data-view-tag="ul.goods-photo-view">+ {{:MyLang('common_service.goods.form_photo_button_add_name')}}</div>
|
||||
<!-- 商品规格 -->
|
||||
<div id="goods-nav-spec" class="item" data-key="spec">
|
||||
{{if is_array(MyLang('common_service.goods.form_spec_top_list_tips'))}}
|
||||
<div class="am-operate-stretch-tips">
|
||||
<div class="title">
|
||||
<i class="iconfont icon-tips"></i>
|
||||
<strong title="{{:MyLang('operate_list_tips_msg')}}">{{:MyLang('operate_list_tips_button_text')}}</strong>
|
||||
<i class="iconfont icon-contract contract" title="{{:MyLang('operate_list_tips_retract_text')}}"></i>
|
||||
</div>
|
||||
<p>{{:implode('</p><p>', MyLang('common_service.goods.form_spec_top_list_tips'))}}</p>
|
||||
</div>
|
||||
{{/if}}
|
||||
<div class="am-form-group">
|
||||
<label>{{$goods_nav_list.spec.name}}<span class="am-form-group-label-tips-must">*</span></label>
|
||||
<div>
|
||||
{{include file="goods/spec" /}}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- 视频 -->
|
||||
<div class="am-panel am-panel-default am-radius" id="goods-nav-video">
|
||||
<div class="am-panel-hd">
|
||||
<h3 class="am-panel-title">{{$goods_nav_list.video.name}}</h3>
|
||||
</div>
|
||||
<div class="am-panel-bd business-form-group">
|
||||
<div class="am-margin-horizontal-sm">
|
||||
<div class="am-alert am-alert-warning am-radius" data-am-alert>
|
||||
<button type="button" class="am-close">×</button>
|
||||
<p>{{:MyLang('common_service.goods.form_video_top_tips')}}</p>
|
||||
</div>
|
||||
<ul class="plug-file-upload-view plug-file-upload-view-video goods-video-view" data-form-name="video" data-max-number="1" data-dialog-type="video">
|
||||
{{if !empty($data['video'])}}
|
||||
<li>
|
||||
<input type="text" name="video" value="{{$data.video}}" />
|
||||
<video src="{{$data.video}}" controls>your browser does not support the video tag</video>
|
||||
<i>×</i>
|
||||
</li>
|
||||
{{/if}}
|
||||
</ul>
|
||||
<div class="plug-file-upload-submit" data-view-tag="ul.goods-video-view">+ {{:MyLang('common_service.goods.form_video_button_add_name')}}</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<!-- 商品参数 -->
|
||||
<div id="goods-nav-parameters" class="item" data-key="parameters">
|
||||
<div class="am-form-group">
|
||||
<label>选择参数<a href="javascript:;" class="am-icon-question-circle am-text-primary am-margin-left-sm" data-am-popover="{content: '{{:MyLang('common_service.goods.form_params_list_content_tips')}}', trigger: 'hover focus', theme: 'sm'}"></a></label>
|
||||
<div class="am-flex am-flex-items-center am-gap-2">
|
||||
<!-- 通过配置生成商品参数 -->
|
||||
<div class="am-dropdown goods-params" id="parameters-quick-container" data-am-dropdown>
|
||||
<span class="business-operations-submit am-dropdown-toggle parameters-quick-add">
|
||||
<span>{{:MyLang('common_service.goods.form_params_select_title')}}</span>
|
||||
<i class="am-icon-caret-down"></i>
|
||||
</span>
|
||||
<div class="am-dropdown-content am-radius parameters-quick-config">
|
||||
<div class="am-margin-bottom-sm">
|
||||
<select class="am-radius chosen-select" data-placeholder="{{:MyLang('common_service.goods.form_params_select_placeholder')}}" data-validation-message="{{:MyLang('common_service.goods.form_params_select_message')}}">
|
||||
<option value="">{{:MyLang('common_service.goods.form_params_select_placeholder')}}</option>
|
||||
{{if !empty($goods_base_template) and !empty($goods_base_template['params']) and is_array($goods_base_template['params'])}}
|
||||
{{foreach $goods_base_template.params as $v}}
|
||||
<option value="{{:urlencode(json_encode($v['config_data'], JSON_UNESCAPED_UNICODE))}}" data-origin-name="{{$v.name}}">{{$v.name}}</option>
|
||||
{{/foreach}}
|
||||
{{/if}}
|
||||
</select>
|
||||
</div>
|
||||
<textarea rows="5" placeholder="{{:MyLang('common_service.goods.form_params_value_placeholder')}}"></textarea>
|
||||
<button type="button" class="am-btn am-btn-primary am-btn-xs am-radius am-btn-block am-margin-top-sm">{{:MyLang('confirm_title')}}</button>
|
||||
</div>
|
||||
</div>
|
||||
<!-- 复制操作 -->
|
||||
<span class="business-operations-submit parameters-quick-copy">
|
||||
<i class="iconfont icon-copy"></i>
|
||||
<span>{{:MyLang('common_service.goods.form_params_config_copy_title')}}</span>
|
||||
</span>
|
||||
<!-- 清空操作 -->
|
||||
<span class="business-operations-submit parameters-quick-remove">
|
||||
<i class="iconfont icon-clear"></i>
|
||||
<span>{{:MyLang('common_service.goods.form_params_config_empty_title')}}</span>
|
||||
</span>
|
||||
</div>
|
||||
|
||||
<!-- 手机详情 -->
|
||||
<div class="am-panel am-panel-default am-radius" id="goods-nav-app">
|
||||
<div class="am-panel-hd">
|
||||
<h3 class="am-panel-title">{{$goods_nav_list.app.name}}</h3>
|
||||
<!-- 参数表格 -->
|
||||
{{include file="public/goodsparamstemplate/table" /}}
|
||||
</div>
|
||||
<div class="am-form-group">
|
||||
{{include file="public/goodsparamstemplate/tips" /}}
|
||||
</div>
|
||||
</div>
|
||||
<div class="am-panel-bd business-form-group">
|
||||
<div class="am-margin-horizontal-sm">
|
||||
<div class="am-alert am-alert-warning am-radius" data-am-alert>
|
||||
<button type="button" class="am-close">×</button>
|
||||
<p>{{:MyLang('common_service.goods.form_app_top_tips')}}</p>
|
||||
</div>
|
||||
<ul class="content-app-items"
|
||||
data-max-count="10"
|
||||
data-required="1"
|
||||
data-images-name="content_app_images"
|
||||
data-content-name="content_app_text"
|
||||
data-images-title="{{:MyLang('form_upload_images_title')}}"
|
||||
data-content-title="{{:MyLang('common_service.goods.form_app_value_title')}}"
|
||||
data-delete-title="{{:MyLang('delete_title')}}"
|
||||
data-drag-title="{{:MyLang('sort_title')}}"
|
||||
>
|
||||
{{if !empty($data['content_app'])}}
|
||||
{{foreach $data.content_app as $v}}
|
||||
<li>
|
||||
<div>
|
||||
<div class="content-app-left">
|
||||
<label class="am-block">{{:MyLang('images_title')}}</label>
|
||||
<ul class="plug-file-upload-view goods-content-app-images-view-{{$v.id}}" data-form-name="content_app_images_{{$v.id}}" data-max-number="1" data-dialog-type="images">
|
||||
{{if !empty($v['images'])}}
|
||||
<li>
|
||||
<input type="text" name="content_app_images_{{$v.id}}" value="{{$v.images_old}}" />
|
||||
<img src="{{$v.images}}" />
|
||||
<i>×</i>
|
||||
</li>
|
||||
{{/if}}
|
||||
</ul>
|
||||
<div class="plug-file-upload-submit" data-view-tag="ul.goods-content-app-images-view-{{$v.id}}">+ {{:MyLang('form_upload_images_title')}}</div>
|
||||
</div>
|
||||
<div class="am-form-group content-app-right fr">
|
||||
<label>{{:MyLang('common_service.goods.form_app_value_title')}}</label>
|
||||
<textarea rows="5" name="content_app_text_{{$v.id}}" maxlength="105000" class="am-radius" placeholder="{{:MyLang('common_service.goods.form_app_value_title')}}" data-validation-message="{{:MyLang('common_service.goods.form_app_value_message')}}">{{if !empty($v)}}{{$v.content_old|raw}}{{/if}}</textarea>
|
||||
</div>
|
||||
</div>
|
||||
<a href="javascript:;" class="am-text-xs am-text-danger am-icon-remove content-app-items-rem-sub"> {{:MyLang('delete_title')}}</a>
|
||||
<a href="javascript:;" class="am-text-xs am-margin-left-lg am-icon-arrows drag-sort-submit"> {{:MyLang('sort_title')}}</a>
|
||||
</li>
|
||||
{{/foreach}}
|
||||
{{/if}}
|
||||
</ul>
|
||||
<span class="business-operations-submit content-app-items-add-sub">+ {{:MyLang('common_service.goods.form_app_button_add_name')}}</span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- 电脑详情 -->
|
||||
<div class="am-panel am-panel-default am-radius" id="goods-nav-web">
|
||||
<div class="am-panel-hd">
|
||||
<h3 class="am-panel-title">{{$goods_nav_list.web.name}}<span class="am-form-group-label-tips-must">*</span></h3>
|
||||
<!-- 相册/视频 -->
|
||||
<div class="item" data-key="photo-video">
|
||||
<div id="goods-nav-photo" class="am-form-group">
|
||||
<label>{{$goods_nav_list.photo.name}}<span class="am-form-group-label-tips-must">*</span><a href="javascript:;" class="am-icon-question-circle am-text-primary am-margin-left-sm" data-am-popover="{content: '{{:MyLang('common_service.goods.form_photo_top_tips')}}', trigger: 'hover focus', theme: 'sm'}"></a>
|
||||
</label>
|
||||
<div class="am-panel-bd business-form-group">
|
||||
<div class="am-form-file-upload-container">
|
||||
<ul class="plug-file-upload-view goods-photo-view" data-form-name="photo[]" data-max-number="30" data-dialog-type="images" data-is-eye="1">
|
||||
{{if !empty($data['photo'])}}
|
||||
{{foreach $data.photo as $v}}
|
||||
<li>
|
||||
<input type="text" name="photo[]" value="{{$v.images_old}}" />
|
||||
<img src="{{$v.images}}" />
|
||||
<i>×</i>
|
||||
<i class="iconfont icon-eye"></i>
|
||||
</li>
|
||||
{{/foreach}}
|
||||
{{/if}}
|
||||
</ul>
|
||||
<div class="plug-file-upload-submit" data-view-tag="ul.goods-photo-view">
|
||||
<i class="iconfont icon-upload-add"></i>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<!-- 视频 -->
|
||||
<div id="goods-nav-video" class="am-form-group">
|
||||
<label>{{$goods_nav_list.video.name}}<a href="javascript:;" class="am-icon-question-circle am-text-primary am-margin-left-sm" data-am-popover="{content: '{{:MyLang('common_service.goods.form_video_top_tips')}}', trigger: 'hover focus', theme: 'sm'}"></a>
|
||||
</label>
|
||||
<div class="am-form-file-upload-container">
|
||||
<ul class="plug-file-upload-view plug-file-upload-view-video goods-video-view" data-form-name="video" data-max-number="1" data-dialog-type="video" data-is-eye="1">
|
||||
<li class="plug-file-upload-submit" data-view-tag="ul.goods-video-view">
|
||||
{{if empty($data['video'])}}
|
||||
<i class="iconfont icon-upload-add"></i>
|
||||
{{else /}}
|
||||
<input type="text" name="video" value="{{$data.video}}" />
|
||||
<video src="{{$data.video}}" controls>your browser does not support the video tag</video>
|
||||
<i>×</i>
|
||||
<i class="iconfont icon-eye"></i>
|
||||
{{/if}}
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="am-panel-bd business-form-group">
|
||||
<div class="am-margin-horizontal-sm">
|
||||
<!-- 手机详情 -->
|
||||
<div id="goods-nav-app" class="item" data-key="app">
|
||||
<div class="am-operate-stretch-tips">
|
||||
<div class="title">
|
||||
<i class="iconfont icon-tips"></i>
|
||||
<strong title="{{:MyLang('operate_list_tips_msg')}}">{{:MyLang('operate_list_tips_button_text')}}</strong>
|
||||
<i class="iconfont icon-contract contract" title="{{:MyLang('operate_list_tips_retract_text')}}"></i>
|
||||
</div>
|
||||
<p>{{:MyLang('common_service.goods.form_app_top_tips')}}</p>
|
||||
</div>
|
||||
<div class="am-form-group">
|
||||
<ul class="content-app-items"
|
||||
data-max-count="10"
|
||||
data-required="1"
|
||||
data-images-name="content_app_images"
|
||||
data-content-name="content_app_text"
|
||||
data-images-title="{{:MyLang('form_upload_images_title')}}"
|
||||
data-content-title="{{:MyLang('common_service.goods.form_app_value_title')}}"
|
||||
data-delete-title="{{:MyLang('delete_title')}}"
|
||||
data-drag-title="{{:MyLang('sort_title')}}"
|
||||
>
|
||||
{{if !empty($data['content_app'])}}
|
||||
{{foreach $data.content_app as $v}}
|
||||
<li>
|
||||
<div class="am-flex am-flex-warp am-gap-32">
|
||||
<div class="am-form-group content-app-left">
|
||||
<label class="am-block">{{:MyLang('images_title')}}</label>
|
||||
<div class="am-form-file-upload-container">
|
||||
<ul class="plug-file-upload-view goods-content-app-images-view-{{$v.id}}" data-form-name="content_app_images_{{$v.id}}" data-max-number="1" data-dialog-type="images" data-is-eye="1">
|
||||
<li class="plug-file-upload-submit" data-view-tag="ul.goods-content-app-images-view-{{$v.id}}">
|
||||
{{if empty($v['images'])}}
|
||||
<i class="iconfont icon-upload-add"></i>
|
||||
{{else /}}
|
||||
<input type="text" name="content_app_images_{{$v.id}}" value="{{$v.images_old}}" />
|
||||
<img src="{{$v.images}}" />
|
||||
<i>×</i>
|
||||
<i class="iconfont icon-eye"></i>
|
||||
{{/if}}
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
<div class="am-form-group content-app-right">
|
||||
<label>{{:MyLang('common_service.goods.form_app_value_title')}}</label>
|
||||
<textarea rows="5" name="content_app_text_{{$v.id}}" maxlength="105000" class="am-radius" placeholder="{{:MyLang('common_service.goods.form_app_value_title')}}" data-validation-message="{{:MyLang('common_service.goods.form_app_value_message')}}">{{if !empty($v)}}{{$v.content_old|raw}}{{/if}}</textarea>
|
||||
</div>
|
||||
</div>
|
||||
<div class="am-flex am-flex-items-center am-gap-32">
|
||||
<a href="javascript:;" class="am-text-xs am-text-danger content-app-items-rem-sub am-flex am-flex-items-center">
|
||||
<i class="iconfont icon-delete"></i>
|
||||
{{:MyLang('delete_title')}}
|
||||
</a>
|
||||
<a href="javascript:;" class="am-text-xs drag-sort-submit am-flex am-flex-items-center">
|
||||
<i class="iconfont icon-sort"></i>
|
||||
{{:MyLang('sort_title')}}
|
||||
</a>
|
||||
</div>
|
||||
</li>
|
||||
{{/foreach}}
|
||||
{{/if}}
|
||||
</ul>
|
||||
<span class="business-operations-submit content-app-items-add-sub am-border-0 am-text-sm">
|
||||
<i class="iconfont icon-add"></i>
|
||||
{{:MyLang('common_service.goods.form_app_button_add_name')}}
|
||||
</span>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- 电脑详情 -->
|
||||
<div id="goods-nav-web" class="item" data-key="web">
|
||||
<div class="am-form-group">
|
||||
<label>{{$goods_nav_list.web.name}}<span class="am-form-group-label-tips-must">*</span></label>
|
||||
<textarea class="am-radius" name="content_web" maxlength="105000" id="editor-tag" data-validation-message="{{:MyLang('common_service.goods.form_web_content_message')}}">{{if !empty($data['content_web'])}}{{$data.content_web}}{{/if}}</textarea>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- 虚拟信息 -->
|
||||
<div class="am-panel am-panel-default am-radius" id="goods-nav-fictitious">
|
||||
<div class="am-panel-hd">
|
||||
<h3 class="am-panel-title">{{$goods_nav_list.fictitious.name}}</h3>
|
||||
</div>
|
||||
<div class="am-panel-bd business-form-group">
|
||||
<div class="am-margin-horizontal-sm">
|
||||
<!-- 虚拟信息 -->
|
||||
<div id="goods-nav-fictitious" class="item" data-key="fictitious">
|
||||
<div class="am-form-group">
|
||||
<label>{{$goods_nav_list.fictitious.name}}</label>
|
||||
<textarea id="goods-fictitious-container" name="fictitious_goods_value">{{if !empty($data['fictitious_goods_value'])}}{{$data.fictitious_goods_value|raw}}{{/if}}</textarea>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- 扩展数据 -->
|
||||
<div class="am-panel am-panel-default am-radius" id="goods-nav-extends">
|
||||
<div class="am-panel-hd">
|
||||
<h3 class="am-panel-title">{{$goods_nav_list.extends.name}}<span class="am-form-group-label-tips">{{:MyLang('plugins_view_region_config_tips')}}</span></h3>
|
||||
<!-- 扩展数据 -->
|
||||
<div id="goods-nav-extends" class="item" data-key="extends">
|
||||
<div class="am-form-group">
|
||||
<label>{{$goods_nav_list.extends.name}}<a href="javascript:;" class="am-icon-question-circle am-text-primary am-margin-left-sm" data-am-popover="{content: '{{:MyLang('plugins_view_region_config_tips')}}', trigger: 'hover focus', theme: 'sm'}"></a></label>
|
||||
<div class="am-flex am-flex-col am-gap-32">
|
||||
<!-- 插件扩展数据 start -->
|
||||
{{if isset($shopxo_is_develop) and $shopxo_is_develop eq true}}
|
||||
<div class="plugins-tag">
|
||||
<span>plugins_view_admin_goods_save</span>
|
||||
</div>
|
||||
{{/if}}
|
||||
{{if !empty($plugins_view_admin_goods_save_data) and is_array($plugins_view_admin_goods_save_data) and !empty(array_filter($plugins_view_admin_goods_save_data))}}
|
||||
{{foreach $plugins_view_admin_goods_save_data as $hook}}
|
||||
{{if is_string($hook) or is_int($hook)}}
|
||||
{{$hook|raw}}
|
||||
{{/if}}
|
||||
{{/foreach}}
|
||||
{{else /}}
|
||||
{{include file="public/not_data" /}}
|
||||
{{/if}}
|
||||
<!-- 插件扩展数据 end -->
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="am-panel-bd business-form-group">
|
||||
<div class="am-margin-horizontal-sm">
|
||||
<!-- 插件扩展数据 start -->
|
||||
{{if isset($shopxo_is_develop) and $shopxo_is_develop eq true}}
|
||||
<div class="plugins-tag">
|
||||
<span>plugins_view_admin_goods_save</span>
|
||||
</div>
|
||||
{{/if}}
|
||||
{{if !empty($plugins_view_admin_goods_save_data) and is_array($plugins_view_admin_goods_save_data) and !empty(array_filter($plugins_view_admin_goods_save_data))}}
|
||||
{{foreach $plugins_view_admin_goods_save_data as $hook}}
|
||||
{{if is_string($hook) or is_int($hook)}}
|
||||
{{$hook|raw}}
|
||||
{{/if}}
|
||||
{{/foreach}}
|
||||
{{else /}}
|
||||
{{include file="public/not_data" /}}
|
||||
{{/if}}
|
||||
<!-- 插件扩展数据 end -->
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- SEO信息 -->
|
||||
<div class="am-panel am-panel-default am-radius" id="goods-nav-seo">
|
||||
<div class="am-panel-hd">
|
||||
<h3 class="am-panel-title">{{$goods_nav_list.seo.name}}</h3>
|
||||
</div>
|
||||
<div class="am-panel-bd am-padding-vertical-xs">
|
||||
<!-- SEO信息 -->
|
||||
<div id="goods-nav-seo" class="item" data-key="seo">
|
||||
{{include file="lib/seo" /}}
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="am-form-popup-submit">
|
||||
<input type="hidden" name="id" {{if isset($data) and !empty($data['id']) and (!isset($is_copy) or $is_copy neq 1)}} value="{{$data.id}}"{{/if}} />
|
||||
<a href="{{:MyUrl('admin/goods/index', $params)}}" class="am-btn am-btn-warning am-radius am-btn-xs am-margin-right-lg">
|
||||
<i class="am-icon-mail-reply"></i>
|
||||
<span>{{:MyLang('retreat_title')}}</span>
|
||||
</a>
|
||||
<div class="am-form-popup-submit">
|
||||
<input type="hidden" name="id" {{if isset($data) and !empty($data['id']) and (!isset($is_copy) or $is_copy neq 1)}} value="{{$data.id}}"{{/if}} />
|
||||
<button type="submit" class="am-btn am-btn-primary am-radius am-btn-xs btn-loading-example" data-am-loading="{spinner: 'circle-o-notch', loadingText:'{{:MyLang('save_title')}}'}">
|
||||
<i class="am-icon-save"></i>
|
||||
<span>{{:MyLang('save_title')}}</span>
|
||||
</button>
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
</form>
|
||||
<!-- form end -->
|
||||
</div>
|
||||
</div>
|
||||
@ -435,7 +416,6 @@
|
||||
|
||||
<!-- footer start -->
|
||||
{{include file="public/footer" /}}
|
||||
<!-- footer end -->
|
||||
|
||||
<script type="text/javascript">
|
||||
// 规格扩展返回处理
|
||||
|
@ -1,12 +1,6 @@
|
||||
<!-- 规格快捷操作 -->
|
||||
<div class="spec-quick am-margin-bottom-lg">
|
||||
<div>
|
||||
{{if is_array(MyLang('common_service.goods.form_spec_top_list_tips'))}}
|
||||
<div class="am-alert am-alert-warning am-radius" data-am-alert>
|
||||
<button type="button" class="am-close">×</button>
|
||||
<p>{{:implode('</p><p>', MyLang('common_service.goods.form_spec_top_list_tips'))}}</p>
|
||||
</div>
|
||||
{{/if}}
|
||||
<div class="am-flex am-gap-32">
|
||||
<!-- 规格模板 -->
|
||||
<div class="am-inline-block business-operations-submit" id="specifications-quick-container"
|
||||
data-spec-template-tips="{{:MyLang('common_service.goods.form_spec_template_tips')}}"
|
||||
@ -21,11 +15,19 @@
|
||||
{{/if}}
|
||||
</select>
|
||||
</div>
|
||||
<span class="business-operations-submit am-margin-left-sm quick-spec-title-add">+ {{:MyLang('common_service.goods.form_spec_quick_add_title')}}</span>
|
||||
<span class="business-operations-submit am-margin-left-sm am-icon-gg quick-spec-created"> {{:MyLang('common_service.goods.form_spec_quick_generate_title')}}</span>
|
||||
<div class="am-flex am-gap-2">
|
||||
<span class="business-operations-submit quick-spec-title-add">
|
||||
<i class="iconfont icon-add"></i>
|
||||
{{:MyLang('common_service.goods.form_spec_quick_add_title')}}
|
||||
</span>
|
||||
<span class="business-operations-submit quick-spec-created">
|
||||
<i class="iconfont icon-check"></i>
|
||||
{{:MyLang('common_service.goods.form_spec_quick_generate_title')}}
|
||||
</span>
|
||||
</div>
|
||||
</div>
|
||||
<div class="goods-specifications am-margin-top-sm" {{if empty($data['spec_base'])}}style="display: none;"{{/if}}>
|
||||
<table class="am-table am-table-bordered am-table-centered am-table-striped am-table-hover table-thead-beautify">
|
||||
<table class="am-table am-table-bordered am-table-centered am-table-striped am-table-hover table-thead-beautify am-border-0">
|
||||
<thead>
|
||||
<tr>
|
||||
<th class="spec-quick-th-title">{{:MyLang('common_service.goods.form_spec_type_title')}}</th>
|
||||
@ -37,19 +39,25 @@
|
||||
{{foreach $data.spec_base as $spec_base_key=>$spec_base}}
|
||||
<tr>
|
||||
<td class="am-text-middle">
|
||||
<i class="am-close quick-title-remove">×</i>
|
||||
<input type="text" value="{{$spec_base.title}}" name="spec_base_title_{{$spec_base_key}}" placeholder="{{:MyLang('common_service.goods.form_spec_type_title')}}" class="am-radius" />
|
||||
<div class="am-flex am-flex-items-center am-gap-1">
|
||||
<input type="text" value="{{$spec_base.title}}" name="spec_base_title_{{$spec_base_key}}" placeholder="{{:MyLang('common_service.goods.form_spec_type_title')}}" class="am-radius" />
|
||||
<i class="am-close quick-title-remove iconfont icon-delete cr-red"></i>
|
||||
</div>
|
||||
</td>
|
||||
<td class="spec-quick-td-value am-cf">
|
||||
{{if !empty($spec_base['value'])}}
|
||||
{{foreach $spec_base.value as $value}}
|
||||
<div class="am-fl am-margin-xs value-item">
|
||||
<input type="text" class="am-fl am-radius" name="spec_base_value_{{$spec_base_key}}[]" value="{{$value}}" placeholder="{{:MyLang('common_service.goods.form_spec_value_title')}}" />
|
||||
<i class="am-close quick-value-remove">×</i>
|
||||
</div>
|
||||
{{/foreach}}
|
||||
{{/if}}
|
||||
<div class="am-fl am-margin-xs value-item am-text-left"><span class="business-operations-submit quick-spec-value-add" data-index="{{$spec_base_key}}">+ {{:MyLang('common_service.goods.form_spec_value_add_title')}}</span>
|
||||
<div class="am-flex am-flex-warp am-gap-1">
|
||||
{{if !empty($spec_base['value'])}}
|
||||
{{foreach $spec_base.value as $value}}
|
||||
<div class="am-fl value-item">
|
||||
<div class="am-flex am-flex-items-center am-gap-1">
|
||||
<input type="text" class="am-fl am-radius" name="spec_base_value_{{$spec_base_key}}[]" value="{{$value}}" placeholder="{{:MyLang('common_service.goods.form_spec_value_title')}}" />
|
||||
<i class="am-close quick-value-remove iconfont icon-delete cr-red"></i>
|
||||
</div>
|
||||
</div>
|
||||
{{/foreach}}
|
||||
{{/if}}
|
||||
<div class="am-fl value-item am-text-left"><span class="business-operations-submit quick-spec-value-add" data-index="{{$spec_base_key}}">+ {{:MyLang('common_service.goods.form_spec_value_add_title')}}</span>
|
||||
</div>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
@ -61,211 +69,228 @@
|
||||
</div>
|
||||
|
||||
<!-- 规格常规操作 -->
|
||||
<div>
|
||||
<span class="business-operations-submit specifications-nav-title-add">+ {{:MyLang('common_service.goods.form_spec_value_add_title')}}</span>
|
||||
<span class="business-operations-submit am-margin-left-sm specifications-nav-set-all am-icon-cogs" data-am-modal="{target: '#spec-popup-all-operation'}"> {{:MyLang('common_service.goods.form_spec_advanced_batch_setup_title')}}</span>
|
||||
<span class="am-text-warning am-margin-left-sm">{{:MyLang('common_service.goods.form_spec_list_content_tips')}}</span>
|
||||
</div>
|
||||
<div class="goods-specifications am-padding-top-sm">
|
||||
<!-- 规格列表 -->
|
||||
<div class="specifications-container am-scrollable-horizontal">
|
||||
<table class="am-table am-table-bordered am-table-centered specifications-table am-margin-bottom-sm am-table-striped am-table-hover table-thead-beautify am-margin-bottom-0"
|
||||
data-spec-add-max-number="{{:MyC('common_spec_add_max_number', 3, true)}}"
|
||||
data-spec-max-error="{{:MyLang('common_service.goods.form_spec_max_error')}}"
|
||||
data-spec-type-name="{{:MyLang('common_service.goods.form_spec_type_title')}}"
|
||||
data-spec-value-name="{{:MyLang('common_service.goods.form_spec_value_title')}}"
|
||||
data-spec-type-message="{{:MyLang('common_service.goods.form_spec_type_message')}}"
|
||||
data-spec-value-message="{{:MyLang('common_service.goods.form_spec_value_message')}}"
|
||||
data-spec-empty-data-tips="{{:MyLang('common_service.goods.form_spec_empty_data_tips')}}"
|
||||
data-spec-empty-fill-tips="{{:MyLang('common_service.goods.form_spec_empty_fill_tips')}}"
|
||||
data-spec-images-name="{{:MyLang('form_upload_images_title')}}"
|
||||
data-spec-images-message="{{:MyLang('common_service.goods.form_spec_images_message')}}"
|
||||
data-spec-add-value-message="{{:MyLang('common_service.goods.form_spec_value_add_title')}}"
|
||||
data-spec-min-tips-message="{{:MyLang('common_service.goods.form_spec_min_tips_message')}}"
|
||||
data-spec-all-name="{{:MyLang('all_title')}}"
|
||||
data-spec-quick-error="{{:MyLang('common_service.goods.form_spec_quick_error')}}"
|
||||
data-spec-quick-tips-title="{{:MyLang('reminder_title')}}"
|
||||
data-spec-quick-tips-msg="{{:MyLang('common_service.goods.form_spec_quick_tips_msg')}}"
|
||||
data-spec-quick-success="{{:MyLang('created_success')}}"
|
||||
data-move-type-tips="{{:MyLang('common_service.goods.form_spec_move_type_tips')}}"
|
||||
data-move-top-tips="{{:MyLang('common_service.goods.form_spec_move_top_tips')}}"
|
||||
data-move-bottom-tips="{{:MyLang('common_service.goods.form_spec_move_bottom_tips')}}"
|
||||
>
|
||||
<thead class="title-nav">
|
||||
<tr>
|
||||
{{if !empty($specifications['type'])}}
|
||||
{{foreach $specifications.type as $type_v}}
|
||||
<th class="table-title table-title-{{$type_v.id}}">
|
||||
<i class="am-close title-nav-remove" data-index="{{$type_v.id}}">×</i>
|
||||
<input type="text" name="specifications_name_{{$type_v.id}}" placeholder="{{:MyLang('common_service.goods.form_spec_type_title')}}" value="{{$type_v.name}}" data-validation-message="{{:MyLang('common_service.goods.form_spec_type_message')}}" class="am-radius" required />
|
||||
</th>
|
||||
<div class="am-form-group am-padding-0">
|
||||
<label>批量设置<a href="javascript:;" class="am-icon-question-circle am-text-primary am-margin-left-sm" data-am-popover="{content: '{{:MyLang('common_service.goods.form_spec_list_content_tips')}}', trigger: 'hover focus', theme: 'sm'}"></a></label>
|
||||
<div>
|
||||
<span class="business-operations-submit specifications-nav-title-add">
|
||||
<i class="iconfont icon-add"></i>
|
||||
{{:MyLang('common_service.goods.form_spec_add_column_title')}}
|
||||
</span>
|
||||
<span class="business-operations-submit am-margin-left-sm specifications-nav-set-all" data-am-modal="{target: '#spec-popup-all-operation'}">
|
||||
<i class="iconfont icon-cog"></i>
|
||||
{{:MyLang('common_service.goods.form_spec_advanced_batch_setup_title')}}
|
||||
</span>
|
||||
<span class="am-text-warning am-margin-left-sm"></span>
|
||||
</div>
|
||||
<div class="goods-specifications am-padding-top-sm">
|
||||
<!-- 规格列表 -->
|
||||
<div class="specifications-container am-scrollable-horizontal">
|
||||
<table class="am-table am-table-bordered am-table-centered specifications-table am-margin-bottom-sm am-table-striped am-table-hover table-thead-beautify am-margin-bottom-0"
|
||||
data-spec-add-max-number="{{:MyC('common_spec_add_max_number', 3, true)}}"
|
||||
data-spec-max-error="{{:MyLang('common_service.goods.form_spec_max_error')}}"
|
||||
data-spec-type-name="{{:MyLang('common_service.goods.form_spec_type_title')}}"
|
||||
data-spec-value-name="{{:MyLang('common_service.goods.form_spec_value_title')}}"
|
||||
data-spec-type-message="{{:MyLang('common_service.goods.form_spec_type_message')}}"
|
||||
data-spec-value-message="{{:MyLang('common_service.goods.form_spec_value_message')}}"
|
||||
data-spec-empty-data-tips="{{:MyLang('common_service.goods.form_spec_empty_data_tips')}}"
|
||||
data-spec-empty-fill-tips="{{:MyLang('common_service.goods.form_spec_empty_fill_tips')}}"
|
||||
data-spec-images-name="{{:MyLang('form_upload_images_title')}}"
|
||||
data-spec-images-message="{{:MyLang('common_service.goods.form_spec_images_message')}}"
|
||||
data-spec-add-value-message="{{:MyLang('common_service.goods.form_spec_value_add_title')}}"
|
||||
data-spec-min-tips-message="{{:MyLang('common_service.goods.form_spec_min_tips_message')}}"
|
||||
data-spec-all-name="{{:MyLang('all_title')}}"
|
||||
data-spec-quick-error="{{:MyLang('common_service.goods.form_spec_quick_error')}}"
|
||||
data-spec-quick-tips-title="{{:MyLang('reminder_title')}}"
|
||||
data-spec-quick-tips-msg="{{:MyLang('common_service.goods.form_spec_quick_tips_msg')}}"
|
||||
data-spec-quick-success="{{:MyLang('created_success')}}"
|
||||
data-move-type-tips="{{:MyLang('common_service.goods.form_spec_move_type_tips')}}"
|
||||
data-move-top-tips="{{:MyLang('common_service.goods.form_spec_move_top_tips')}}"
|
||||
data-move-bottom-tips="{{:MyLang('common_service.goods.form_spec_move_bottom_tips')}}"
|
||||
>
|
||||
<thead class="title-nav">
|
||||
<tr>
|
||||
{{if !empty($specifications['type'])}}
|
||||
{{foreach $specifications.type as $type_v}}
|
||||
<th class="table-title table-title-{{$type_v.id}}">
|
||||
<div class="am-flex am-am-flex-items-center am-gap-1">
|
||||
<input type="text" name="specifications_name_{{$type_v.id}}" placeholder="{{:MyLang('common_service.goods.form_spec_type_title')}}" value="{{$type_v.name}}" data-validation-message="{{:MyLang('common_service.goods.form_spec_type_message')}}" class="am-radius" data-is-clearout="0" required />
|
||||
<i class="am-close title-nav-remove iconfont icon-delete cr-red" data-index="{{$type_v.id}}"></i>
|
||||
</div>
|
||||
</th>
|
||||
{{/foreach}}
|
||||
{{/if}}
|
||||
<th class="title-start">
|
||||
<span>{{:MyLang('common_service.goods.form_spec_thead_price_title')}}</span>
|
||||
<i class="iconfont icon-edit am-fr"></i>
|
||||
</th>
|
||||
<th>
|
||||
<span>{{:MyLang('common_service.goods.form_spec_thead_original_price_title')}}</span>
|
||||
<i class="iconfont icon-edit am-fr"></i>
|
||||
</th>
|
||||
<th>
|
||||
<span>{{:MyLang('common_service.goods.form_spec_thead_buy_min_number_title')}}</span>
|
||||
<i class="iconfont icon-edit am-fr"></i>
|
||||
</th>
|
||||
<th>
|
||||
<span>{{:MyLang('common_service.goods.form_spec_thead_buy_max_number_title')}}</span>
|
||||
<i class="iconfont icon-edit am-fr"></i>
|
||||
</th>
|
||||
<th>
|
||||
<span>{{:MyLang('common_service.goods.form_spec_thead_weight_title')}}</span>
|
||||
<i class="iconfont icon-edit am-fr"></i>
|
||||
</th>
|
||||
<th>
|
||||
<span>{{:MyLang('common_service.goods.form_spec_thead_volume_title')}}</span>
|
||||
<i class="iconfont icon-edit am-fr"></i>
|
||||
</th>
|
||||
<th>
|
||||
<span>{{:MyLang('common_service.goods.form_spec_thead_coding_title')}}</span>
|
||||
<i class="iconfont icon-edit am-fr"></i>
|
||||
</th>
|
||||
<th>
|
||||
<span>{{:MyLang('common_service.goods.form_spec_thead_barcode_title')}}</span>
|
||||
<i class="iconfont icon-edit am-fr"></i>
|
||||
</th>
|
||||
<th class="extend-btn">{{:MyLang('extend_title')}}</th>
|
||||
<th class="operation-btn">{{:MyLang('operate_title')}}</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
{{if empty($specifications['value'])}}
|
||||
<tr class="line-0" data-line-tag=".line-0">
|
||||
<td class="am-text-middle value-start">
|
||||
<input type="text" name="specifications_price[]" placeholder="{{:MyLang('common_service.goods.form_spec_thead_price_title')}}" class="am-radius" pattern="{{$default_price_regex}}" data-validation-message="{{:MyLang('common_service.goods.form_spec_thead_price_message')}}" data-is-clearout="0" required />
|
||||
</td>
|
||||
<td class="am-text-middle">
|
||||
<input type="text" name="specifications_original_price[]" placeholder="{{:MyLang('common_service.goods.form_spec_thead_original_price_title')}}" class="am-radius" pattern="{{$default_price_regex}}" data-validation-message="{{:MyLang('common_service.goods.form_spec_thead_original_price_message')}}" data-is-clearout="0" />
|
||||
</td>
|
||||
<td class="am-text-middle">
|
||||
<input type="number" name="specifications_buy_min_number[]" placeholder="{{:MyLang('common_service.goods.form_spec_thead_buy_min_number_title')}}" class="am-radius" min="0" data-validation-message="{{:MyLang('common_service.goods.form_spec_thead_buy_min_number_message')}}" data-is-clearout="0" />
|
||||
</td>
|
||||
<td class="am-text-middle">
|
||||
<input type="number" name="specifications_buy_max_number[]" placeholder="{{:MyLang('common_service.goods.form_spec_thead_buy_max_number_title')}}" class="am-radius" min="0" data-validation-message="{{:MyLang('common_service.goods.form_spec_thead_buy_max_number_message')}}" data-is-clearout="0" />
|
||||
</td>
|
||||
<td class="am-text-middle">
|
||||
<input type="number" name="specifications_weight[]" placeholder="{{:MyLang('common_service.goods.form_spec_thead_weight_title')}}" class="am-radius" min="0.00" max="100000000.00" step="0.01" data-validation-message="{{:MyLang('common_service.goods.form_spec_thead_weight_message')}}" data-is-clearout="0" />
|
||||
</td>
|
||||
<td class="am-text-middle">
|
||||
<input type="number" name="specifications_volume[]" placeholder="{{:MyLang('common_service.goods.form_spec_thead_volume_title')}}" class="am-radius" min="0.00" max="100000000.00" step="0.01" data-validation-message="{{:MyLang('common_service.goods.form_spec_thead_volume_message')}}" data-is-clearout="0" />
|
||||
</td>
|
||||
<td class="am-text-middle">
|
||||
<input type="text" name="specifications_coding[]" placeholder="{{:MyLang('common_service.goods.form_spec_thead_coding_title')}}" class="am-radius" maxlength="60" data-validation-message="{{:MyLang('common_service.goods.form_spec_thead_coding_message')}}" data-is-clearout="0" />
|
||||
</td>
|
||||
<td class="am-text-middle">
|
||||
<input type="text" name="specifications_barcode[]" placeholder="{{:MyLang('common_service.goods.form_spec_thead_barcode_title')}}" class="am-radius" maxlength="60" data-validation-message="{{:MyLang('common_service.goods.form_spec_thead_barcode_message')}}" data-is-clearout="0" />
|
||||
</td>
|
||||
<td class="am-text-middle">
|
||||
<input type="hidden" name="specifications_extends[]" class="line-extend-input" />
|
||||
<a href="javascript:;" class="am-text-xs am-text-secondary line-extend-btn">{{:MyLang('edit_title')}}</a>
|
||||
</td>
|
||||
<td class="am-text-middle">
|
||||
<a href="javascript:;" class="am-text-xs am-text-secondary am-margin-right-sm line-move" data-type="top">{{:MyLang('moveup_title')}}</a>
|
||||
<a href="javascript:;" class="am-text-xs am-text-secondary am-margin-right-sm line-move" data-type="bottom">{{:MyLang('movedown_title')}}</a>
|
||||
<a href="javascript:;" class="am-text-xs am-text-secondary am-margin-right-xs line-copy">{{:MyLang('copy_title')}}</a>
|
||||
<a href="javascript:;" class="am-text-xs am-text-danger line-remove">{{:MyLang('remove_title')}}</a>
|
||||
</td>
|
||||
</tr>
|
||||
{{/if}}
|
||||
|
||||
{{if !empty($specifications['value'])}}
|
||||
{{foreach $specifications.value as $line_k=>$line_v}}
|
||||
<tr class="line-{{$line_k}} {{if $line_k gt 0}} line-not-first{{/if}}" data-line-tag=".line-{{$line_k}}">
|
||||
{{foreach $line_v as $v}}
|
||||
{{if isset($v['data_type'])}}
|
||||
{{switch v.data_type}}
|
||||
{{case spec}}
|
||||
<td class="am-text-middle table-value table-value-{{$v.data.key}}">
|
||||
<input type="text" name="specifications_value_{{$v.data.key}}[]" placeholder="{{:MyLang('common_service.goods.form_spec_value_title')}}" value="{{$v.data.value}}" data-validation-message="{{:MyLang('common_service.goods.form_spec_value_message')}}" class="am-radius" data-is-clearout="0" required />
|
||||
</td>
|
||||
{{/case}}
|
||||
|
||||
{{case base}}
|
||||
<td class="am-text-middle value-start">
|
||||
<input type="text" name="specifications_price[]" placeholder="{{:MyLang('common_service.goods.form_spec_thead_price_title')}}" class="am-radius" pattern="{{$default_price_regex}}" data-validation-message="{{:MyLang('common_service.goods.form_spec_thead_price_message')}}" value="{{if isset($v['data']['price'])}}{{$v.data.price}}{{/if}}" data-is-clearout="0" required />
|
||||
</td>
|
||||
<td class="am-text-middle">
|
||||
<input type="text" name="specifications_original_price[]" placeholder="{{:MyLang('common_service.goods.form_spec_thead_original_price_title')}}" class="am-radius" pattern="{{$default_price_regex}}" data-validation-message="{{:MyLang('common_service.goods.form_spec_thead_original_price_message')}}" value="{{if $v['data']['original_price'] gt 0}}{{$v.data.original_price}}{{/if}}" data-is-clearout="0" />
|
||||
</td>
|
||||
<td class="am-text-middle">
|
||||
<input type="number" name="specifications_buy_min_number[]" placeholder="{{:MyLang('common_service.goods.form_spec_thead_buy_min_number_title')}}" class="am-radius" min="0" data-validation-message="{{:MyLang('common_service.goods.form_spec_thead_buy_min_number_message')}}" value="{{if !empty($v['data']['buy_min_number'])}}{{$v.data.buy_min_number}}{{/if}}" data-is-clearout="0" />
|
||||
</td>
|
||||
<td class="am-text-middle">
|
||||
<input type="number" name="specifications_buy_max_number[]" placeholder="{{:MyLang('common_service.goods.form_spec_thead_buy_max_number_title')}}" class="am-radius" min="0" data-validation-message="{{:MyLang('common_service.goods.form_spec_thead_buy_max_number_message')}}" value="{{if !empty($v['data']['buy_max_number'])}}{{$v.data.buy_max_number}}{{/if}}" data-is-clearout="0" />
|
||||
</td>
|
||||
<td class="am-text-middle">
|
||||
<input type="number" name="specifications_weight[]" placeholder="{{:MyLang('common_service.goods.form_spec_thead_weight_title')}}" class="am-radius" min="0.00" max="100000000.00" step="0.01" data-validation-message="{{:MyLang('common_service.goods.form_spec_thead_weight_message')}}" value="{{if isset($v['data']['weight']) and $v['data']['weight'] gt 0}}{{$v.data.weight}}{{/if}}" data-is-clearout="0" />
|
||||
</td>
|
||||
<td class="am-text-middle">
|
||||
<input type="number" name="specifications_volume[]" placeholder="{{:MyLang('common_service.goods.form_spec_thead_volume_title')}}" class="am-radius" max="100000000" min="0.00" max="100000000.00" step="0.01" data-validation-message="{{:MyLang('common_service.goods.form_spec_thead_volume_message')}}" value="{{if isset($v['data']['volume']) and $v['data']['volume'] gt 0}}{{$v.data.volume}}{{/if}}" data-is-clearout="0" />
|
||||
</td>
|
||||
<td class="am-text-middle">
|
||||
<input type="text" name="specifications_coding[]" placeholder="{{:MyLang('common_service.goods.form_spec_thead_coding_title')}}" class="am-radius" maxlength="60" data-validation-message="{{:MyLang('common_service.goods.form_spec_thead_coding_message')}}" value="{{if isset($v['data']['coding'])}}{{$v.data.coding}}{{/if}}" data-is-clearout="0" />
|
||||
</td>
|
||||
<td class="am-text-middle">
|
||||
<input type="text" name="specifications_barcode[]" placeholder="{{:MyLang('common_service.goods.form_spec_thead_barcode_title')}}" class="am-radius" maxlength="60" data-validation-message="{{:MyLang('common_service.goods.form_spec_thead_barcode_message')}}" value="{{if isset($v['data']['barcode'])}}{{$v.data.barcode}}{{/if}}" data-is-clearout="0" />
|
||||
</td>
|
||||
<td class="am-text-middle">
|
||||
<input type="hidden" name="specifications_extends[]" value="{{$v.data.extends}}" class="line-extend-input" />
|
||||
<a href="javascript:;" class="am-text-xs am-text-secondary line-extend-btn">{{:MyLang('edit_title')}}</a>
|
||||
</td>
|
||||
<td class="am-text-middle">
|
||||
<a href="javascript:;" class="am-text-xs am-text-secondary am-margin-right-sm line-move" data-type="top">{{:MyLang('moveup_title')}}</a>
|
||||
<a href="javascript:;" class="am-text-xs am-text-secondary am-margin-right-sm line-move" data-type="bottom">{{:MyLang('movedown_title')}}</a>
|
||||
<a href="javascript:;" class="am-text-xs am-text-secondary am-margin-right-xs line-copy">{{:MyLang('copy_title')}}</a>
|
||||
<a href="javascript:;" class="am-text-xs am-text-secondary line-remove">{{:MyLang('remove_title')}}</a>
|
||||
</td>
|
||||
{{/case}}
|
||||
{{/switch}}
|
||||
{{/if}}
|
||||
{{/foreach}}
|
||||
</tr>
|
||||
{{/foreach}}
|
||||
{{/if}}
|
||||
<th class="title-start">
|
||||
<span>{{:MyLang('common_service.goods.form_spec_thead_price_title')}}</span>
|
||||
<i class="am-icon-edit"></i>
|
||||
</th>
|
||||
<th>
|
||||
<span>{{:MyLang('common_service.goods.form_spec_thead_original_price_title')}}</span>
|
||||
<i class="am-icon-edit"></i>
|
||||
</th>
|
||||
<th>
|
||||
<span>{{:MyLang('common_service.goods.form_spec_thead_buy_min_number_title')}}</span>
|
||||
<i class="am-icon-edit"></i>
|
||||
</th>
|
||||
<th>
|
||||
<span>{{:MyLang('common_service.goods.form_spec_thead_buy_max_number_title')}}</span>
|
||||
<i class="am-icon-edit"></i>
|
||||
</th>
|
||||
<th>
|
||||
<span>{{:MyLang('common_service.goods.form_spec_thead_weight_title')}}</span>
|
||||
<i class="am-icon-edit"></i>
|
||||
</th>
|
||||
<th>
|
||||
<span>{{:MyLang('common_service.goods.form_spec_thead_volume_title')}}</span>
|
||||
<i class="am-icon-edit"></i>
|
||||
</th>
|
||||
<th>
|
||||
<span>{{:MyLang('common_service.goods.form_spec_thead_coding_title')}}</span>
|
||||
<i class="am-icon-edit"></i>
|
||||
</th>
|
||||
<th>
|
||||
<span>{{:MyLang('common_service.goods.form_spec_thead_barcode_title')}}</span>
|
||||
<i class="am-icon-edit"></i>
|
||||
</th>
|
||||
<th class="extend-btn">{{:MyLang('extend_title')}}</th>
|
||||
<th class="operation-btn">{{:MyLang('operate_title')}}</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
{{if empty($specifications['value'])}}
|
||||
<tr class="line-0" data-line-tag=".line-0">
|
||||
<td class="am-text-middle value-start">
|
||||
<input type="text" name="specifications_price[]" placeholder="{{:MyLang('common_service.goods.form_spec_thead_price_title')}}" class="am-radius" pattern="{{$default_price_regex}}" data-validation-message="{{:MyLang('common_service.goods.form_spec_thead_price_message')}}" data-is-clearout="0" required />
|
||||
</td>
|
||||
<td class="am-text-middle">
|
||||
<input type="text" name="specifications_original_price[]" placeholder="{{:MyLang('common_service.goods.form_spec_thead_original_price_title')}}" class="am-radius" pattern="{{$default_price_regex}}" data-validation-message="{{:MyLang('common_service.goods.form_spec_thead_original_price_message')}}" data-is-clearout="0" />
|
||||
</td>
|
||||
<td class="am-text-middle">
|
||||
<input type="number" name="specifications_buy_min_number[]" placeholder="{{:MyLang('common_service.goods.form_spec_thead_buy_min_number_title')}}" class="am-radius" min="0" data-validation-message="{{:MyLang('common_service.goods.form_spec_thead_buy_min_number_message')}}" data-is-clearout="0" />
|
||||
</td>
|
||||
<td class="am-text-middle">
|
||||
<input type="number" name="specifications_buy_max_number[]" placeholder="{{:MyLang('common_service.goods.form_spec_thead_buy_max_number_title')}}" class="am-radius" min="0" data-validation-message="{{:MyLang('common_service.goods.form_spec_thead_buy_max_number_message')}}" data-is-clearout="0" />
|
||||
</td>
|
||||
<td class="am-text-middle">
|
||||
<input type="number" name="specifications_weight[]" placeholder="{{:MyLang('common_service.goods.form_spec_thead_weight_title')}}" class="am-radius" min="0.00" max="100000000.00" step="0.01" data-validation-message="{{:MyLang('common_service.goods.form_spec_thead_weight_message')}}" data-is-clearout="0" />
|
||||
</td>
|
||||
<td class="am-text-middle">
|
||||
<input type="number" name="specifications_volume[]" placeholder="{{:MyLang('common_service.goods.form_spec_thead_volume_title')}}" class="am-radius" min="0.00" max="100000000.00" step="0.01" data-validation-message="{{:MyLang('common_service.goods.form_spec_thead_volume_message')}}" data-is-clearout="0" />
|
||||
</td>
|
||||
<td class="am-text-middle">
|
||||
<input type="text" name="specifications_coding[]" placeholder="{{:MyLang('common_service.goods.form_spec_thead_coding_title')}}" class="am-radius" maxlength="60" data-validation-message="{{:MyLang('common_service.goods.form_spec_thead_coding_message')}}" data-is-clearout="0" />
|
||||
</td>
|
||||
<td class="am-text-middle">
|
||||
<input type="text" name="specifications_barcode[]" placeholder="{{:MyLang('common_service.goods.form_spec_thead_barcode_title')}}" class="am-radius" maxlength="60" data-validation-message="{{:MyLang('common_service.goods.form_spec_thead_barcode_message')}}" data-is-clearout="0" />
|
||||
</td>
|
||||
<td class="am-text-middle">
|
||||
<input type="hidden" name="specifications_extends[]" class="line-extend-input" />
|
||||
<a href="javascript:;" class="am-text-xs am-text-secondary line-extend-btn">{{:MyLang('edit_title')}}</a>
|
||||
</td>
|
||||
<td class="am-text-middle">
|
||||
<a href="javascript:;" class="am-text-xs am-text-secondary am-margin-right-sm line-move" data-type="top">{{:MyLang('moveup_title')}}</a>
|
||||
<a href="javascript:;" class="am-text-xs am-text-secondary am-margin-right-sm line-move" data-type="bottom">{{:MyLang('movedown_title')}}</a>
|
||||
<a href="javascript:;" class="am-text-xs am-text-secondary am-margin-right-xs line-copy">{{:MyLang('copy_title')}}</a>
|
||||
<a href="javascript:;" class="am-text-xs am-text-danger line-remove">{{:MyLang('remove_title')}}</a>
|
||||
</td>
|
||||
</tr>
|
||||
{{/if}}
|
||||
|
||||
{{if !empty($specifications['value'])}}
|
||||
{{foreach $specifications.value as $line_k=>$line_v}}
|
||||
<tr class="line-{{$line_k}} {{if $line_k gt 0}} line-not-first{{/if}}" data-line-tag=".line-{{$line_k}}">
|
||||
{{foreach $line_v as $v}}
|
||||
{{if isset($v['data_type'])}}
|
||||
{{switch v.data_type}}
|
||||
{{case spec}}
|
||||
<td class="am-text-middle table-value table-value-{{$v.data.key}}">
|
||||
<input type="text" name="specifications_value_{{$v.data.key}}[]" placeholder="{{:MyLang('common_service.goods.form_spec_value_title')}}" value="{{$v.data.value}}" data-validation-message="{{:MyLang('common_service.goods.form_spec_value_message')}}" class="am-radius" data-is-clearout="0" required />
|
||||
</td>
|
||||
{{/case}}
|
||||
|
||||
{{case base}}
|
||||
<td class="am-text-middle value-start">
|
||||
<input type="text" name="specifications_price[]" placeholder="{{:MyLang('common_service.goods.form_spec_thead_price_title')}}" class="am-radius" pattern="{{$default_price_regex}}" data-validation-message="{{:MyLang('common_service.goods.form_spec_thead_price_message')}}" value="{{if isset($v['data']['price'])}}{{$v.data.price}}{{/if}}" data-is-clearout="0" required />
|
||||
</td>
|
||||
<td class="am-text-middle">
|
||||
<input type="text" name="specifications_original_price[]" placeholder="{{:MyLang('common_service.goods.form_spec_thead_original_price_title')}}" class="am-radius" pattern="{{$default_price_regex}}" data-validation-message="{{:MyLang('common_service.goods.form_spec_thead_original_price_message')}}" value="{{if $v['data']['original_price'] gt 0}}{{$v.data.original_price}}{{/if}}" data-is-clearout="0" />
|
||||
</td>
|
||||
<td class="am-text-middle">
|
||||
<input type="number" name="specifications_buy_min_number[]" placeholder="{{:MyLang('common_service.goods.form_spec_thead_buy_min_number_title')}}" class="am-radius" min="0" data-validation-message="{{:MyLang('common_service.goods.form_spec_thead_buy_min_number_message')}}" value="{{if !empty($v['data']['buy_min_number'])}}{{$v.data.buy_min_number}}{{/if}}" data-is-clearout="0" />
|
||||
</td>
|
||||
<td class="am-text-middle">
|
||||
<input type="number" name="specifications_buy_max_number[]" placeholder="{{:MyLang('common_service.goods.form_spec_thead_buy_max_number_title')}}" class="am-radius" min="0" data-validation-message="{{:MyLang('common_service.goods.form_spec_thead_buy_max_number_message')}}" value="{{if !empty($v['data']['buy_max_number'])}}{{$v.data.buy_max_number}}{{/if}}" data-is-clearout="0" />
|
||||
</td>
|
||||
<td class="am-text-middle">
|
||||
<input type="number" name="specifications_weight[]" placeholder="{{:MyLang('common_service.goods.form_spec_thead_weight_title')}}" class="am-radius" min="0.00" max="100000000.00" step="0.01" data-validation-message="{{:MyLang('common_service.goods.form_spec_thead_weight_message')}}" value="{{if isset($v['data']['weight']) and $v['data']['weight'] gt 0}}{{$v.data.weight}}{{/if}}" data-is-clearout="0" />
|
||||
</td>
|
||||
<td class="am-text-middle">
|
||||
<input type="number" name="specifications_volume[]" placeholder="{{:MyLang('common_service.goods.form_spec_thead_volume_title')}}" class="am-radius" max="100000000" min="0.00" max="100000000.00" step="0.01" data-validation-message="{{:MyLang('common_service.goods.form_spec_thead_volume_message')}}" value="{{if isset($v['data']['volume']) and $v['data']['volume'] gt 0}}{{$v.data.volume}}{{/if}}" data-is-clearout="0" />
|
||||
</td>
|
||||
<td class="am-text-middle">
|
||||
<input type="text" name="specifications_coding[]" placeholder="{{:MyLang('common_service.goods.form_spec_thead_coding_title')}}" class="am-radius" maxlength="60" data-validation-message="{{:MyLang('common_service.goods.form_spec_thead_coding_message')}}" value="{{if isset($v['data']['coding'])}}{{$v.data.coding}}{{/if}}" data-is-clearout="0" />
|
||||
</td>
|
||||
<td class="am-text-middle">
|
||||
<input type="text" name="specifications_barcode[]" placeholder="{{:MyLang('common_service.goods.form_spec_thead_barcode_title')}}" class="am-radius" maxlength="60" data-validation-message="{{:MyLang('common_service.goods.form_spec_thead_barcode_message')}}" value="{{if isset($v['data']['barcode'])}}{{$v.data.barcode}}{{/if}}" data-is-clearout="0" />
|
||||
</td>
|
||||
<td class="am-text-middle">
|
||||
<input type="hidden" name="specifications_extends[]" value="{{$v.data.extends}}" class="line-extend-input" />
|
||||
<a href="javascript:;" class="am-text-xs am-text-secondary line-extend-btn">{{:MyLang('edit_title')}}</a>
|
||||
</td>
|
||||
<td class="am-text-middle">
|
||||
<a href="javascript:;" class="am-text-xs am-text-secondary am-margin-right-sm line-move" data-type="top">{{:MyLang('moveup_title')}}</a>
|
||||
<a href="javascript:;" class="am-text-xs am-text-secondary am-margin-right-sm line-move" data-type="bottom">{{:MyLang('movedown_title')}}</a>
|
||||
<a href="javascript:;" class="am-text-xs am-text-secondary am-margin-right-xs line-copy">{{:MyLang('copy_title')}}</a>
|
||||
<a href="javascript:;" class="am-text-xs am-text-danger line-remove">{{:MyLang('remove_title')}}</a>
|
||||
</td>
|
||||
{{/case}}
|
||||
{{/switch}}
|
||||
{{/if}}
|
||||
{{/foreach}}
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
<div class="am-margin-top-sm am-border-bottom-table">
|
||||
<span class="business-operations-submit specifications-line-add am-border-0 am-text-sm">
|
||||
<i class="iconfont icon-add"></i>
|
||||
{{:MyLang('common_service.goods.form_spec_row_add_title')}}
|
||||
</span>
|
||||
</div>
|
||||
<div class="spec-images-list">
|
||||
<div class="am-alert am-radius">
|
||||
<span>{{:MyLang('common_service.goods.form_spec_images_tips')}}</span>
|
||||
<span class="business-operations-submit specifications-line-images-add">
|
||||
<i class="iconfont icon-add"></i>
|
||||
{{:MyLang('common_service.goods.form_spec_images_add_title')}}
|
||||
</span>
|
||||
<span class="business-operations-submit specifications-line-images-auto-add am-margin-left-sm am-icon-dot-circle-o"> {{:MyLang('common_service.goods.form_spec_images_add_auto_first')}}<input type="text" class="am-inline-block am-text-center am-margin-horizontal-xs am-radius" value="1" data-is-clearout="0" />{{:MyLang('common_service.goods.form_spec_images_add_auto_last')}}</span>
|
||||
</div>
|
||||
<ul class="spec-images-content am-margin-top-sm">
|
||||
{{if !empty($specifications['type'])}}
|
||||
{{foreach $specifications.type as $type}}
|
||||
{{if !empty($type['value'])}}
|
||||
{{foreach $type.value as $spec_key=>$spec}}
|
||||
{{if !empty($spec['images'])}}
|
||||
<li class="spec-images-items spec-images-items-{{$type.id}}{{$spec_key}}">
|
||||
<input type="text" name="spec_images_name[{{$type.id}}{{$spec_key}}]" placeholder="{{:MyLang('common_service.goods.form_spec_images_type_title')}}" class="am-radius am-text-center" data-validation-message="{{:MyLang('common_service.goods.form_spec_images_type_message')}}" value="{{$spec.name}}" data-is-clearout="0" required >
|
||||
<ul class="plug-file-upload-view spec-images-view-{{$type.id}}{{$spec_key}}" data-form-name="spec_images[{{$type.id}}{{$spec_key}}]" data-max-number="1" data-dialog-type="images">
|
||||
<li>
|
||||
<input type="hidden" name="spec_images[{{$type.id}}{{$spec_key}}]" value="{{$spec.images_old}}" data-validation-message="{{:MyLang('common_service.goods.form_spec_images_images_message')}}" required />
|
||||
<img src="{{$spec.images}}" />
|
||||
<i>×</i>
|
||||
</li>
|
||||
</ul>
|
||||
<div class="plug-file-upload-submit" data-view-tag="ul.spec-images-view-{{$type.id}}{{$spec_key}}">+ {{:MyLang('form_upload_images_title')}}</div>
|
||||
</li>
|
||||
{{/if}}
|
||||
{{/foreach}}
|
||||
{{/if}}
|
||||
{{/foreach}}
|
||||
{{/if}}
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
<div class="am-margin-top-sm">
|
||||
<span class="business-operations-submit specifications-line-add">+ {{:MyLang('common_service.goods.form_spec_row_add_title')}}</span>
|
||||
</div>
|
||||
<div class="spec-images-list">
|
||||
<div class="am-alert am-radius">
|
||||
<span>{{:MyLang('common_service.goods.form_spec_images_tips')}}</span>
|
||||
<span class="business-operations-submit specifications-line-images-add">+ {{:MyLang('common_service.goods.form_spec_images_add_title')}}</span>
|
||||
<span class="business-operations-submit specifications-line-images-auto-add am-margin-left-sm am-icon-dot-circle-o"> {{:MyLang('common_service.goods.form_spec_images_add_auto_first')}}<input type="text" class="am-inline-block am-text-center am-margin-horizontal-xs am-radius" value="1" />{{:MyLang('common_service.goods.form_spec_images_add_auto_last')}}</span>
|
||||
</ul>
|
||||
</div>
|
||||
<ul class="spec-images-content">
|
||||
{{if !empty($specifications['type'])}}
|
||||
{{foreach $specifications.type as $type}}
|
||||
{{if !empty($type['value'])}}
|
||||
{{foreach $type.value as $spec_key=>$spec}}
|
||||
{{if !empty($spec['images'])}}
|
||||
<li class="spec-images-items spec-images-items-{{$type.id}}{{$spec_key}}">
|
||||
<input type="text" name="spec_images_name[{{$type.id}}{{$spec_key}}]" placeholder="{{:MyLang('common_service.goods.form_spec_images_type_title')}}" class="am-radius am-text-center" data-validation-message="{{:MyLang('common_service.goods.form_spec_images_type_message')}}" value="{{$spec.name}}" required >
|
||||
<ul class="plug-file-upload-view spec-images-view-{{$type.id}}{{$spec_key}}" data-form-name="spec_images[{{$type.id}}{{$spec_key}}]" data-max-number="1" data-delete='0' data-dialog-type="images">
|
||||
<li>
|
||||
<input type="hidden" name="spec_images[{{$type.id}}{{$spec_key}}]" value="{{$spec.images_old}}" data-validation-message="{{:MyLang('common_service.goods.form_spec_images_images_message')}}" required />
|
||||
<img src="{{$spec.images}}" />
|
||||
<i>×</i>
|
||||
</li>
|
||||
</ul>
|
||||
<div class="plug-file-upload-submit" data-view-tag="ul.spec-images-view-{{$type.id}}{{$spec_key}}">+ {{:MyLang('form_upload_images_title')}}</div>
|
||||
</li>
|
||||
{{/if}}
|
||||
{{/foreach}}
|
||||
{{/if}}
|
||||
{{/foreach}}
|
||||
{{/if}}
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@ -277,35 +302,37 @@
|
||||
<span data-am-modal-close class="am-close">×</span>
|
||||
</div>
|
||||
<div class="am-popup-bd">
|
||||
<div class="am-alert am-alert-secondary am-radius spec-title-container"></div>
|
||||
<div class="am-form-group">
|
||||
<label class="am-block">{{:MyLang('common_service.goods.form_spec_thead_price_title')}}</label>
|
||||
<input type="text" placeholder="{{:MyLang('common_service.goods.form_spec_thead_price_title')}}" class="am-radius popup_all_price" pattern="{{$default_price_regex}}" data-validation-message="{{:MyLang('common_service.goods.form_spec_thead_price_message')}}" />
|
||||
<div class="form-content">
|
||||
<div class="am-tips-card spec-title-container"></div>
|
||||
<div class="am-form-group">
|
||||
<label class="am-block">{{:MyLang('common_service.goods.form_spec_thead_price_title')}}</label>
|
||||
<input type="text" placeholder="{{:MyLang('common_service.goods.form_spec_thead_price_title')}}" class="am-radius popup_all_price" pattern="{{$default_price_regex}}" data-validation-message="{{:MyLang('common_service.goods.form_spec_thead_price_message')}}" />
|
||||
</div>
|
||||
<div class="am-form-group">
|
||||
<label class="am-block">{{:MyLang('common_service.goods.form_spec_thead_original_price_title')}}</label>
|
||||
<input type="text" placeholder="{{:MyLang('common_service.goods.form_spec_thead_original_price_title')}}" class="am-radius popup_all_original_price" pattern="{{$default_price_regex}}" data-validation-message="{{:MyLang('common_service.goods.form_spec_thead_original_price_message')}}" />
|
||||
</div>
|
||||
<div class="am-form-group">
|
||||
<label class="am-block">{{:MyLang('common_service.goods.form_spec_thead_weight_title')}}</label>
|
||||
<input type="number" placeholder="{{:MyLang('common_service.goods.form_spec_thead_weight_title')}}" class="am-radius popup_all_weight" maxlength="80" min="0.00" max="100000000.00" step="0.01" data-validation-message="{{:MyLang('common_service.goods.form_spec_thead_weight_message')}}" />
|
||||
</div>
|
||||
<div class="am-form-group">
|
||||
<label class="am-block">{{:MyLang('common_service.goods.form_spec_thead_volume_title')}}</label>
|
||||
<input type="number" placeholder="{{:MyLang('common_service.goods.form_spec_thead_volume_title')}}" class="am-radius popup_all_volume" maxlength="80" min="0.00" max="100000000.00" step="0.01" data-validation-message="{{:MyLang('common_service.goods.form_spec_thead_volume_message')}}" />
|
||||
</div>
|
||||
<div class="am-form-group">
|
||||
<label class="am-block">{{:MyLang('common_service.goods.form_spec_thead_coding_title')}}</label>
|
||||
<input type="text" placeholder="{{:MyLang('common_service.goods.form_spec_thead_coding_title')}}" class="am-radius popup_all_coding" maxlength="80" data-validation-message="{{:MyLang('common_service.goods.form_spec_thead_coding_message')}}" />
|
||||
</div>
|
||||
<div class="am-form-group">
|
||||
<label class="am-block">{{:MyLang('common_service.goods.form_spec_thead_barcode_title')}}</label>
|
||||
<input type="text" placeholder="{{:MyLang('common_service.goods.form_spec_thead_barcode_title')}}" class="am-radius popup_all_barcode" maxlength="80" data-validation-message="{{:MyLang('common_service.goods.form_spec_thead_barcode_message')}}" />
|
||||
</div>
|
||||
</div>
|
||||
<div class="am-form-group">
|
||||
<label class="am-block">{{:MyLang('common_service.goods.form_spec_thead_original_price_title')}}</label>
|
||||
<input type="text" placeholder="{{:MyLang('common_service.goods.form_spec_thead_original_price_title')}}" class="am-radius popup_all_original_price" pattern="{{$default_price_regex}}" data-validation-message="{{:MyLang('common_service.goods.form_spec_thead_original_price_message')}}" />
|
||||
</div>
|
||||
<div class="am-form-group">
|
||||
<label class="am-block">{{:MyLang('common_service.goods.form_spec_thead_weight_title')}}</label>
|
||||
<input type="number" placeholder="{{:MyLang('common_service.goods.form_spec_thead_weight_title')}}" class="am-radius popup_all_weight" maxlength="80" min="0.00" max="100000000.00" step="0.01" data-validation-message="{{:MyLang('common_service.goods.form_spec_thead_weight_message')}}" />
|
||||
</div>
|
||||
<div class="am-form-group">
|
||||
<label class="am-block">{{:MyLang('common_service.goods.form_spec_thead_volume_title')}}</label>
|
||||
<input type="number" placeholder="{{:MyLang('common_service.goods.form_spec_thead_volume_title')}}" class="am-radius popup_all_volume" maxlength="80" min="0.00" max="100000000.00" step="0.01" data-validation-message="{{:MyLang('common_service.goods.form_spec_thead_volume_message')}}" />
|
||||
</div>
|
||||
<div class="am-form-group">
|
||||
<label class="am-block">{{:MyLang('common_service.goods.form_spec_thead_coding_title')}}</label>
|
||||
<input type="text" placeholder="{{:MyLang('common_service.goods.form_spec_thead_coding_title')}}" class="am-radius popup_all_coding" maxlength="80" data-validation-message="{{:MyLang('common_service.goods.form_spec_thead_coding_message')}}" />
|
||||
</div>
|
||||
<div class="am-form-group">
|
||||
<label class="am-block">{{:MyLang('common_service.goods.form_spec_thead_coding_title')}}</label>
|
||||
<input type="text" placeholder="{{:MyLang('common_service.goods.form_spec_thead_coding_title')}}" class="am-radius popup_all_barcode" maxlength="80" data-validation-message="{{:MyLang('common_service.goods.form_spec_thead_coding_message')}}" />
|
||||
</div>
|
||||
<div class="am-form-group am-form-group-refreshing am-text-center">
|
||||
<div class="am-padding-vertical-sm">
|
||||
<button type="button" class="am-btn am-btn-warning am-radius am-btn-sm am-margin-right-lg" data-am-modal-close>{{:MyLang('cancel_title')}}</button>
|
||||
<button type="button" class="am-btn am-btn-secondary am-radius am-btn-sm am-margin-left-lg">{{:MyLang('confirm_title')}}</button>
|
||||
<div class="am-form-popup-submit">
|
||||
<div class="am-flex am-flex-justify-right am-flex-items-center am-gap-2">
|
||||
<button type="button" class="am-btn am-btn-warning am-radius am-btn-sm" data-am-modal-close>{{:MyLang('cancel_title')}}</button>
|
||||
<button type="button" class="am-btn am-btn-primary am-radius am-btn-sm">{{:MyLang('confirm_title')}}</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@ -315,15 +342,18 @@
|
||||
<!-- 单个规格批量操作弹层 -->
|
||||
<div class="am-modal am-modal-no-btn" tabindex="-1" id="spec-modal-all-operation">
|
||||
<div class="am-modal-dialog">
|
||||
<div class="am-modal-hd am-radius">{{:MyLang('common_service.goods.form_spec_all_operate_title')}}
|
||||
<div class="am-modal-hd am-radius">
|
||||
<span>{{:MyLang('common_service.goods.form_spec_all_operate_title')}}</span>
|
||||
<a href="javascript: void(0)" class="am-close" data-am-modal-close>×</a>
|
||||
</div>
|
||||
<div class="am-modal-bd">
|
||||
<div class="am-input-group am-input-group-sm">
|
||||
<input type="text" class="am-form-field" placeholder="{{:MyLang('common_service.goods.form_spec_all_operate_placeholder')}}" />
|
||||
<span class="am-input-group-btn">
|
||||
<button type="button" class="am-btn am-btn-default">{{:MyLang('confirm_title')}}</button>
|
||||
</span>
|
||||
<div class="am-padding-top am-padding-horizontal-sm">
|
||||
<div class="am-input-group am-input-group-sm">
|
||||
<input type="text" class="am-form-field am-radius" placeholder="{{:MyLang('common_service.goods.form_spec_all_operate_placeholder')}}" />
|
||||
<span class="am-input-group-btn">
|
||||
<button type="button" class="am-btn am-btn-default am-radius">{{:MyLang('confirm_title')}}</button>
|
||||
</span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
@ -1,5 +1,5 @@
|
||||
<!-- 操作栏 -->
|
||||
<button type="button" class="am-btn am-btn-default am-btn-xs am-radius am-btn-block submit-popup" data-url="{{:MyUrl('admin/goodsbrowse/detail', ['id'=>$module_data['id']])}}">
|
||||
<button type="button" class="am-btn am-btn-default am-btn-xs am-radius am-btn-block submit-popup" data-url="{{:MyUrl('admin/goodsbrowse/detail', ['id'=>$module_data['id']])}}" data-title="{{:MyLang('detail_title')}}">
|
||||
<i class="am-icon-eye"></i>
|
||||
<span>{{:MyLang('detail_title')}}</span>
|
||||
</button>
|
||||
|
@ -1,5 +1,5 @@
|
||||
<!-- 操作栏 -->
|
||||
<button type="button" class="am-btn am-btn-default am-btn-xs am-radius am-btn-block submit-popup" data-url="{{:MyUrl('admin/goodscart/detail', ['id'=>$module_data['id']])}}">
|
||||
<button type="button" class="am-btn am-btn-default am-btn-xs am-radius am-btn-block submit-popup" data-url="{{:MyUrl('admin/goodscart/detail', ['id'=>$module_data['id']])}}" data-title="{{:MyLang('detail_title')}}">
|
||||
<i class="am-icon-eye"></i>
|
||||
<span>{{:MyLang('detail_title')}}</span>
|
||||
</button>
|
||||
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue
Block a user