mirror of
https://gitee.com/zoujingli/ThinkAdmin.git
synced 2026-07-11 18:11:07 +08:00
Compare commits
17 Commits
74695a725d
...
ca7e8ef15e
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
ca7e8ef15e | ||
|
|
4cdf75056e | ||
|
|
bbe79e574b | ||
|
|
c4b473562b | ||
|
|
c7a74395f5 | ||
|
|
f1da20ad00 | ||
|
|
cf4b87cee4 | ||
|
|
4c31c22ddc | ||
|
|
f71819fc16 | ||
|
|
96f2c438a2 | ||
|
|
0d2871b732 | ||
|
|
cd718510b3 | ||
|
|
c379d6224e | ||
|
|
5809343603 | ||
|
|
de65ab2b66 | ||
|
|
c51fba0786 | ||
|
|
dc55a7bc91 |
@ -1,4 +1,4 @@
|
||||
<form class="layui-form layui-card" data-table-id="RoleTable" action="{:sysuri()}" data-auto="true" method="post">
|
||||
<form action="{:sysuri()}" method="post" data-auto="true" class="layui-form layui-card" data-table-id="RoleTable">
|
||||
|
||||
<div class="layui-card-body padding-left-40">
|
||||
|
||||
|
||||
@ -1,9 +1,9 @@
|
||||
<form class="layui-form layui-card" data-table-id="BaseTable" action="{:sysuri()}" data-auto="true" method="post">
|
||||
<form action="{:sysuri()}" method="post" data-auto="true" class="layui-form layui-card" data-table-id="BaseTable">
|
||||
|
||||
<div class="layui-card-body padding-left-40">
|
||||
|
||||
<div class="layui-form-item">
|
||||
<div class="help-label label-required-prev"><b>数据类型</b>DataType</div>
|
||||
<div class="layui-form-item label-required-prev">
|
||||
<div class="help-label"><b>数据类型</b>DataType</div>
|
||||
{if isset($vo.type)}
|
||||
<label><input readonly value="{$vo.type|default=''}" class="layui-input think-bg-gray"></label>
|
||||
{else}
|
||||
|
||||
@ -1,4 +1,4 @@
|
||||
<form onsubmit="return false" data-auto="true" action="{:sysuri()}" method="post" class='layui-form layui-card' autocomplete="off">
|
||||
<form action="{:sysuri()}" method="post" data-auto="true" class="layui-form layui-card">
|
||||
<div class="layui-card-body padding-top-20">
|
||||
|
||||
<div class="color-text margin-left-40 margin-bottom-20 layui-code text-center layui-bg-gray" style="border-left-width:1px">
|
||||
|
||||
@ -1,4 +1,4 @@
|
||||
<form onsubmit="return false" data-auto="true" action="{:sysuri()}" method="post" class='layui-form layui-card' autocomplete="off">
|
||||
<form action="{:sysuri()}" method="post" data-auto="true" class="layui-form layui-card">
|
||||
<div class="layui-card-body padding-top-20">
|
||||
|
||||
<div class="color-text margin-left-40 margin-bottom-20 layui-code text-center layui-bg-gray" style="border-left-width:1px">
|
||||
|
||||
@ -1,4 +1,4 @@
|
||||
<form onsubmit="return false" data-auto="true" action="{:sysuri()}" method="post" class='layui-form layui-card' autocomplete="off">
|
||||
<form action="{:sysuri()}" method="post" data-auto="true" class="layui-form layui-card">
|
||||
<div class="layui-card-body padding-top-20">
|
||||
|
||||
<div class="color-text margin-left-40 margin-bottom-20 layui-code text-center layui-bg-gray" style="border-left-width:1px">
|
||||
|
||||
@ -1,4 +1,4 @@
|
||||
<form onsubmit="return false" data-auto="true" action="{:sysuri()}" method="post" class='layui-form layui-card' autocomplete="off">
|
||||
<form action="{:sysuri()}" method="post" data-auto="true" class="layui-form layui-card">
|
||||
<div class="layui-card-body padding-top-20">
|
||||
|
||||
<div class="color-text margin-left-40 margin-bottom-20 layui-code text-center layui-bg-gray" style="border-left-width:1px">
|
||||
|
||||
@ -1,4 +1,4 @@
|
||||
<form data-auto="true" action="{:sysuri()}" method="post" class='layui-form layui-card'>
|
||||
<form action="{:sysuri()}" method="post" data-auto="true" class="layui-form layui-card">
|
||||
<div class="layui-card-body padding-left-40">
|
||||
|
||||
<div class="layui-row layui-col-space15 margin-bottom-5">
|
||||
|
||||
@ -1,4 +1,4 @@
|
||||
<form id="theme" action="{:sysuri()}" method="post" data-auto="true" class='layui-form layui-card'>
|
||||
<form action="{:sysuri()}" method="post" data-auto="true" class="layui-form layui-card" id="theme">
|
||||
<div class="layui-card-body padding-left-40">
|
||||
|
||||
<div class="layui-form-item margin-bottom-5 label-required-prev">
|
||||
|
||||
@ -1,4 +1,4 @@
|
||||
<form class="layui-form layui-card" data-table-id="MenuTable" action="{:sysuri()}" data-auto="true" method="post">
|
||||
<form action="{:sysuri()}" method="post" data-auto="true" class="layui-form layui-card" data-table-id="MenuTable">
|
||||
|
||||
<div class="layui-card-body">
|
||||
|
||||
|
||||
@ -1,4 +1,4 @@
|
||||
<form class="layui-form layui-card" action="{:sysuri()}" data-auto="true" method="post" autocomplete="off">
|
||||
<form action="{:sysuri()}" method="post" data-auto="true" class="layui-form layui-card">
|
||||
<div class="layui-card-body padding-left-40">
|
||||
<div class="layui-textarea border-0 font-s14 layui-bg-gray padding-top-20 padding-left-20">
|
||||
<div class="layui-row margin-bottom-15">
|
||||
|
||||
@ -1,4 +1,4 @@
|
||||
<form class="layui-form layui-card" action="{:sysuri()}" data-table-id="UserTable" data-auto="true" method="post">
|
||||
<form action="{:sysuri()}" method="post" data-auto="true" class="layui-form layui-card" data-table-id="UserTable">
|
||||
<div class="layui-card-body padding-left-40">
|
||||
|
||||
<fieldset>
|
||||
|
||||
@ -1,4 +1,4 @@
|
||||
<form class="layui-form layui-card" data-table-id="UserTable" action="{:sysuri()}" data-auto="true" method="post">
|
||||
<form action="{:sysuri()}" method="post" data-auto="true" class="layui-form layui-card" data-table-id="UserTable">
|
||||
<div class="layui-card-body padding-left-40">
|
||||
|
||||
<div class="layui-form-item">
|
||||
|
||||
@ -26,7 +26,7 @@ class Data extends Controller
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取轮播图片数据
|
||||
* 获取图片内容数据
|
||||
* @throws \think\db\exception\DataNotFoundException
|
||||
* @throws \think\db\exception\DbException
|
||||
* @throws \think\db\exception\ModelNotFoundException
|
||||
@ -34,7 +34,7 @@ class Data extends Controller
|
||||
public function getSlider()
|
||||
{
|
||||
$data = sysdata(input('keys', 'slider'));
|
||||
$this->success('获取轮播图片', $data);
|
||||
$this->success('获取图片内容', $data);
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
@ -11,14 +11,6 @@ use think\admin\Controller;
|
||||
*/
|
||||
class Config extends Controller
|
||||
{
|
||||
/**
|
||||
* 页面类型
|
||||
* @var array
|
||||
*/
|
||||
protected $pageTypes = [
|
||||
'关于我们' => '关于我们',
|
||||
'用户协议' => '用户协议',
|
||||
];
|
||||
|
||||
/**
|
||||
* 微信小程序配置
|
||||
@ -30,8 +22,9 @@ class Config extends Controller
|
||||
*/
|
||||
public function wxapp()
|
||||
{
|
||||
$this->skey = 'wxapp';
|
||||
$this->title = '微信小程序配置';
|
||||
$this->__sysconf('wxapp');
|
||||
$this->__sysdata('wxapp');
|
||||
}
|
||||
|
||||
/**
|
||||
@ -44,85 +37,11 @@ class Config extends Controller
|
||||
*/
|
||||
public function cropper()
|
||||
{
|
||||
$this->title = '邀请二维码设置';
|
||||
$this->skey = 'cropper';
|
||||
$this->title = '邀请二维码设置';
|
||||
$this->__sysdata('cropper');
|
||||
}
|
||||
|
||||
/**
|
||||
* 内容页面管理
|
||||
* @auth true
|
||||
* @menu true
|
||||
*/
|
||||
public function pageHome()
|
||||
{
|
||||
$this->title = '内容页面管理';
|
||||
$this->fetch('page_home');
|
||||
}
|
||||
|
||||
/**
|
||||
* 内容页面编辑
|
||||
* @auth true
|
||||
* @throws \think\db\exception\DataNotFoundException
|
||||
* @throws \think\db\exception\DbException
|
||||
* @throws \think\db\exception\ModelNotFoundException
|
||||
*/
|
||||
public function pageEdit()
|
||||
{
|
||||
$this->skey = input('type') ?: $this->pageTypes[0];
|
||||
$this->title = '编辑' . $this->pageTypes[$this->skey] ?? '';
|
||||
$this->__sysdata('page_form', 'javascript:history.back()');
|
||||
}
|
||||
|
||||
/**
|
||||
* 首页推荐位管理
|
||||
* @menu true
|
||||
* @auth true
|
||||
* @throws \think\db\exception\DataNotFoundException
|
||||
* @throws \think\db\exception\DbException
|
||||
* @throws \think\db\exception\ModelNotFoundException
|
||||
*/
|
||||
public function iconHome()
|
||||
{
|
||||
$this->skey = 'IconHome';
|
||||
$this->title = '首页推荐位管理';
|
||||
$this->__sysdata('slider');
|
||||
}
|
||||
|
||||
/**
|
||||
* 首页轮播图片
|
||||
* @menu true
|
||||
* @auth true
|
||||
* @throws \think\db\exception\DataNotFoundException
|
||||
* @throws \think\db\exception\DbException
|
||||
* @throws \think\db\exception\ModelNotFoundException
|
||||
*/
|
||||
public function sliderHome()
|
||||
{
|
||||
$this->skey = 'SliderHome';
|
||||
$this->title = '首页轮播图片';
|
||||
$this->__sysdata('slider');
|
||||
}
|
||||
|
||||
/**
|
||||
* 显示并保存配置
|
||||
* @param string $template 模板文件名称
|
||||
* @throws \think\db\exception\DataNotFoundException
|
||||
* @throws \think\db\exception\DbException
|
||||
* @throws \think\db\exception\ModelNotFoundException
|
||||
*/
|
||||
private function __sysconf(string $template)
|
||||
{
|
||||
if ($this->request->isGet()) {
|
||||
$this->fetch($template);
|
||||
}
|
||||
if ($this->request->isPost()) {
|
||||
$data = $this->request->post();
|
||||
foreach ($data as $k => $v) sysconf($k, $v);
|
||||
$this->success('配置保存成功!');
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 显示并保存数据
|
||||
* @param string $template 模板文件
|
||||
|
||||
87
app/data/controller/base/Pager.php
Normal file
87
app/data/controller/base/Pager.php
Normal file
@ -0,0 +1,87 @@
|
||||
<?php
|
||||
|
||||
namespace app\data\controller\base;
|
||||
|
||||
use think\admin\Controller;
|
||||
use think\admin\model\SystemBase;
|
||||
|
||||
/**
|
||||
* 页面内容管理
|
||||
* Class Pager
|
||||
* @package app\data\controller\base
|
||||
*/
|
||||
class Pager extends Controller
|
||||
{
|
||||
/**
|
||||
* 字典类型
|
||||
* @var string
|
||||
*/
|
||||
protected $type = '页面内容';
|
||||
|
||||
/**
|
||||
* 页面类型
|
||||
* @var array
|
||||
*/
|
||||
protected $types = [];
|
||||
|
||||
/**
|
||||
* 控制器初始化
|
||||
* @return void
|
||||
*/
|
||||
protected function initialize()
|
||||
{
|
||||
$this->types = SystemBase::mk()->items($this->type);
|
||||
}
|
||||
|
||||
/**
|
||||
* 内容页面管理
|
||||
* @auth true
|
||||
* @menu true
|
||||
*/
|
||||
public function index()
|
||||
{
|
||||
$this->title = '内容页面管理';
|
||||
$this->fetch();
|
||||
}
|
||||
|
||||
/**
|
||||
* 内容页面编辑
|
||||
* @auth true
|
||||
* @throws \think\db\exception\DataNotFoundException
|
||||
* @throws \think\db\exception\DbException
|
||||
* @throws \think\db\exception\ModelNotFoundException
|
||||
*/
|
||||
public function edit()
|
||||
{
|
||||
$this->skey = input('get.type', '');
|
||||
$this->base = $this->types[$this->skey] ?? [];
|
||||
if (empty($this->base)) $this->error('未配置基础数据!');
|
||||
$this->title = "编辑{$this->base['name']}";
|
||||
$this->sysdata();
|
||||
}
|
||||
|
||||
/**
|
||||
* 显示并保存数据
|
||||
* @throws \think\db\exception\DataNotFoundException
|
||||
* @throws \think\db\exception\DbException
|
||||
* @throws \think\db\exception\ModelNotFoundException
|
||||
*/
|
||||
private function sysdata()
|
||||
{
|
||||
if ($this->request->isGet()) {
|
||||
$this->data = sysdata($this->skey);
|
||||
$this->fetch('form');
|
||||
} elseif ($this->request->isPost()) {
|
||||
if (is_string(input('data'))) {
|
||||
$data = json_decode(input('data'), true) ?: [];
|
||||
} else {
|
||||
$data = $this->request->post();
|
||||
}
|
||||
if (sysdata($this->skey, $data) !== false) {
|
||||
$this->success('内容保存成功!', 'javascript:history.back()');
|
||||
} else {
|
||||
$this->error('内容保存失败,请稍候再试!');
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -7,6 +7,7 @@ use app\data\service\PaymentService;
|
||||
use app\data\service\UserAdminService;
|
||||
use think\admin\Controller;
|
||||
use think\admin\extend\CodeExtend;
|
||||
use think\admin\helper\QueryHelper;
|
||||
|
||||
/**
|
||||
* 支付通道管理
|
||||
@ -31,10 +32,25 @@ class Payment extends Controller
|
||||
*/
|
||||
public function index()
|
||||
{
|
||||
$this->title = '支付通道管理';
|
||||
$query = BaseUserPayment::mQuery();
|
||||
$query->where(['deleted' => 0])->order('sort desc,id desc');
|
||||
$query->like('name,code')->equal('type,status')->dateBetween('create_at')->page();
|
||||
$this->type = input('get.type', 'index');
|
||||
BaseUserPayment::mQuery()->layTable(function () {
|
||||
$this->title = '支付通道管理';
|
||||
}, function (QueryHelper $query) {
|
||||
$query->where(['status' => intval($this->type === 'index'), 'deleted' => 0]);
|
||||
$query->like('name,code')->equal('status,type#ptype')->dateBetween('create_at');
|
||||
});
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取支付名称
|
||||
* @param array $data
|
||||
* @return void
|
||||
*/
|
||||
protected function _page_filter(array &$data)
|
||||
{
|
||||
foreach ($data as &$vo) {
|
||||
$vo['ntype'] = $this->types[$vo['type']]['name'] ?? $vo['type'];
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
94
app/data/controller/base/Slider.php
Normal file
94
app/data/controller/base/Slider.php
Normal file
@ -0,0 +1,94 @@
|
||||
<?php
|
||||
|
||||
namespace app\data\controller\base;
|
||||
|
||||
use think\admin\Controller;
|
||||
use think\admin\model\SystemBase;
|
||||
|
||||
/**
|
||||
* 图片内容管理
|
||||
* Class Slider
|
||||
* @package app\data\controller\base
|
||||
*/
|
||||
class Slider extends Controller
|
||||
{
|
||||
/**
|
||||
* 跳转规则定义
|
||||
* @var string[]
|
||||
*/
|
||||
protected $rules = [
|
||||
'#' => '不跳转',
|
||||
'LK' => '自定义链接',
|
||||
'NL' => '新闻资讯列表',
|
||||
'NS' => '新闻资讯详情',
|
||||
];
|
||||
|
||||
/**
|
||||
* 数据类型
|
||||
* @var string
|
||||
*/
|
||||
protected $type = '图片内容';
|
||||
|
||||
/**
|
||||
* 页面类型
|
||||
* @var array
|
||||
*/
|
||||
protected $types = [];
|
||||
|
||||
/**
|
||||
* 控制器初始化
|
||||
* @return void
|
||||
*/
|
||||
protected function initialize()
|
||||
{
|
||||
$this->types = SystemBase::mk()->items($this->type);
|
||||
}
|
||||
|
||||
/**
|
||||
* 图片内容管理
|
||||
* @auth true
|
||||
* @menu true
|
||||
*/
|
||||
public function index()
|
||||
{
|
||||
$this->title = '图片内容管理';
|
||||
$this->fetch();
|
||||
}
|
||||
|
||||
/**
|
||||
* 编辑图片内容
|
||||
* @auth true
|
||||
* @throws \think\db\exception\DataNotFoundException
|
||||
* @throws \think\db\exception\DbException
|
||||
* @throws \think\db\exception\ModelNotFoundException
|
||||
*/
|
||||
public function edit()
|
||||
{
|
||||
$this->skey = input('get.type', '');
|
||||
$this->base = $this->types[$this->skey] ?? [];
|
||||
if (empty($this->base)) $this->error('未配置基础数据!');
|
||||
$this->number = 10;
|
||||
$this->sysdata();
|
||||
}
|
||||
|
||||
/**
|
||||
* 保存图片内容
|
||||
* @throws \think\db\exception\DataNotFoundException
|
||||
* @throws \think\db\exception\DbException
|
||||
* @throws \think\db\exception\ModelNotFoundException
|
||||
*/
|
||||
private function sysdata()
|
||||
{
|
||||
if ($this->request->isGet()) {
|
||||
$this->data = sysdata($this->skey);
|
||||
$this->title = "{$this->base['name']}管理";
|
||||
$this->fetch('form');
|
||||
} else {
|
||||
if (sysdata($this->skey, json_decode(input('data'), true))) {
|
||||
$this->success("{$this->base['name']}保存成功!");
|
||||
} else {
|
||||
$this->error("{$this->base['name']}保存失败,请稍候再试!");
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -7,6 +7,8 @@ use app\data\model\DataNewsMark;
|
||||
use app\data\service\NewsService;
|
||||
use think\admin\Controller;
|
||||
use think\admin\extend\CodeExtend;
|
||||
use think\admin\helper\QueryHelper;
|
||||
use think\admin\model\SystemBase;
|
||||
|
||||
/**
|
||||
* 文章内容管理
|
||||
@ -25,24 +27,14 @@ class Item extends Controller
|
||||
*/
|
||||
public function index()
|
||||
{
|
||||
$this->title = '文章内容管理';
|
||||
$query = DataNewsItem::mQuery();
|
||||
$query->like('mark,name')->dateBetween('create_at');
|
||||
$query->where(['deleted' => 0])->order('sort desc,id desc')->page();
|
||||
}
|
||||
|
||||
/**
|
||||
* 文章内容选择器
|
||||
* @login true
|
||||
* @throws \think\db\exception\DataNotFoundException
|
||||
* @throws \think\db\exception\DbException
|
||||
* @throws \think\db\exception\ModelNotFoundException
|
||||
*/
|
||||
public function select()
|
||||
{
|
||||
$query = DataNewsItem::mQuery();
|
||||
$query->equal('status')->like('name')->dateBetween('create_at');
|
||||
$query->where(['deleted' => 0])->order('sort desc,id desc')->page();
|
||||
$this->type = input('get.type', 'index');
|
||||
DataNewsItem::mQuery($this->get)->layTable(function () {
|
||||
$this->title = '文章内容管理';
|
||||
$this->marks = DataNewsMark::items();
|
||||
}, function (QueryHelper $query) {
|
||||
$query->like('code,name')->like('mark', ',')->dateBetween('create_at');
|
||||
$query->where(['status' => intval($this->type === 'index'), 'deleted' => 0]);
|
||||
});
|
||||
}
|
||||
|
||||
/**
|
||||
@ -126,4 +118,17 @@ class Item extends Controller
|
||||
{
|
||||
DataNewsItem::mDelete();
|
||||
}
|
||||
|
||||
/**
|
||||
* 文章内容选择
|
||||
* @login true
|
||||
* @throws \think\db\exception\DataNotFoundException
|
||||
* @throws \think\db\exception\DbException
|
||||
* @throws \think\db\exception\ModelNotFoundException
|
||||
*/
|
||||
public function select()
|
||||
{
|
||||
$this->get['status'] = 1;
|
||||
$this->index();
|
||||
}
|
||||
}
|
||||
@ -11,5 +11,13 @@ use think\admin\Model;
|
||||
*/
|
||||
class BaseUserPayment extends Model
|
||||
{
|
||||
|
||||
/**
|
||||
* 格式化创建时间
|
||||
* @param string $value
|
||||
* @return string
|
||||
*/
|
||||
public function getCreateAtAttr(string $value): string
|
||||
{
|
||||
return format_datetime($value);
|
||||
}
|
||||
}
|
||||
@ -5,11 +5,19 @@ namespace app\data\model;
|
||||
use think\admin\Model;
|
||||
|
||||
/**
|
||||
*
|
||||
* 新闻内容模型
|
||||
* Class DataNewsItem
|
||||
* @package app\data\model
|
||||
*/
|
||||
class DataNewsItem extends Model
|
||||
{
|
||||
|
||||
/**
|
||||
* 格式化创建时间
|
||||
* @param string $value
|
||||
* @return string
|
||||
*/
|
||||
public function getCreateAtAttr(string $value): string
|
||||
{
|
||||
return format_datetime($value);
|
||||
}
|
||||
}
|
||||
@ -10,6 +10,19 @@ use think\admin\Model;
|
||||
*/
|
||||
class DataNewsMark extends Model
|
||||
{
|
||||
/**
|
||||
* 获取标签数据
|
||||
* @return array
|
||||
* @throws \think\db\exception\DataNotFoundException
|
||||
* @throws \think\db\exception\DbException
|
||||
* @throws \think\db\exception\ModelNotFoundException
|
||||
*/
|
||||
public static function items(): array
|
||||
{
|
||||
$query = static::mk()->where(['status' => 1, 'deleted' => 0]);
|
||||
return $query->field('id,name,remark')->order('sort desc,id desc')->select()->toArray();
|
||||
}
|
||||
|
||||
/**
|
||||
* 格式化创建时间
|
||||
* @param string $value
|
||||
|
||||
@ -25,14 +25,15 @@ if ($app->request->isCli()) {
|
||||
} else {
|
||||
// 注册订单支付处理事件
|
||||
$app->event->listen('ShopOrderPayment', function ($orderNo) use ($app) {
|
||||
$app->log->notice("订单 {$orderNo} 支付事件,执行用户升级行为");
|
||||
OrderService::instance()->upgrade($orderNo);
|
||||
|
||||
$app->log->notice("订单 {$orderNo} 支付事件,执行用户返利行为");
|
||||
RebateService::instance()->execute($orderNo);
|
||||
|
||||
$app->log->notice("订单 {$orderNo} 支付事件,执行发放余额行为");
|
||||
UserBalanceService::instance()->confirm($orderNo);
|
||||
|
||||
$app->log->notice("订单 {$orderNo} 支付事件,执行用户升级行为");
|
||||
OrderService::instance()->upgrade($orderNo);
|
||||
});
|
||||
|
||||
// 注册订单确认支付事件
|
||||
|
||||
@ -1,25 +0,0 @@
|
||||
{extend name="../../admin/view/main"}
|
||||
|
||||
{block name='content'}
|
||||
<div class="layui-row layui-col-space20 portal-block-container notselect">
|
||||
{foreach $pageTypes as $key=>$type}
|
||||
<div class="layui-col-sm4 layui-col-md4 layui-col-lg3">
|
||||
<!--{if auth('pageEdit')}-->
|
||||
<div class="pointer" data-open="{:url('pageEdit')}?type={$key}">
|
||||
<div class="portal-block-item nowrap think-bg-violet">
|
||||
<div>编辑页面内容</div>
|
||||
<div style="font-size:26px">{$type|default=''}</div>
|
||||
</div>
|
||||
<i class="portal-block-icon layui-icon layui-icon-read"></i>
|
||||
</div>
|
||||
<!--{else}-->
|
||||
<div class="portal-block-item nowrap think-bg-violet">
|
||||
<div>编辑页面内容</div>
|
||||
<div style="font-size:26px">{$type|default=''}</div>
|
||||
</div>
|
||||
<i class="portal-block-icon layui-icon layui-icon-read"></i>
|
||||
<!--{/if}-->
|
||||
</div>
|
||||
{/foreach}
|
||||
</div>
|
||||
{/block}
|
||||
@ -1,124 +0,0 @@
|
||||
{extend name="../../admin/view/main"}
|
||||
|
||||
{block name="content"}
|
||||
<div class="think-box-shadow">
|
||||
<form autocomplete="off" class='layui-form layui-card' id="DataForm" onsubmit="return false;" style="width:850px">
|
||||
<div class="layui-card-header text-center margin-20 font-w7 color-text layui-bg-gray border-radius-5">
|
||||
{$title|default='图片数据管理'}<span class="color-desc font-s12"> ( 建议上传图片尺寸为 690px 250px )</span>
|
||||
</div>
|
||||
<div class="layui-card-body margin-top-20 padding-bottom-0">
|
||||
<div class="padding-left-20" data-rule-list>
|
||||
<div class="layui-form-item text-center">
|
||||
<a class="layui-btn layui-btn-primary" data-item-add>添加图片</a>
|
||||
</div>
|
||||
</div>
|
||||
<div class="hr-line-dashed margin-top-30"></div>
|
||||
<div class="layui-form-item text-center padding-left-20">
|
||||
<button class="layui-btn" data-submit>保存数据</button>
|
||||
</div>
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
|
||||
<div class="layui-hide" data-item-tpl>
|
||||
<div class="layui-form-item" data-rule-item>
|
||||
<div class="layui-input-inline nowrap relative" style="width:180px">
|
||||
<input data-upload-image name="img[]" type="hidden">
|
||||
</div>
|
||||
<label class="layui-input-inline nowrap relative margin-bottom-5" style="width:300px">
|
||||
<b class="notselect color-green margin-right-5">图片名称</b>
|
||||
<input class="layui-input inline-block" name="name[]" placeholder="请输入图片名称" required style="width:240px" value="#">
|
||||
<a class="layui-btn layui-btn-primary" data-item-up><i class="layui-icon layui-icon-up margin-0"></i></a>
|
||||
<a class="layui-btn layui-btn-primary" data-item-dn><i class="layui-icon layui-icon-down margin-0"></i></a>
|
||||
<a class="layui-btn layui-btn-primary" data-item-rm><i class="layui-icon layui-icon-close margin-0"></i></a>
|
||||
</label>
|
||||
<label class="layui-input-inline nowrap relative margin-bottom-5" style="width:300px">
|
||||
<b class="notselect color-green margin-right-5">跳转规则</b>
|
||||
<input class="layui-input inline-block" name="rule[]" placeholder="请输入跳转规则" required style="width:240px" value="#">
|
||||
<a class="layui-btn layui-btn-primary" data-prefix="NEWS" data-rule-page="{:url('data/news.item/select')}">选择文章</a>
|
||||
<a class="layui-btn layui-btn-primary" data-prefix="GOODS" data-rule-page="{:url('data/shop.goods/select')}">选择商品</a>
|
||||
<span class="help-block block notselect">若要跳转页面,请选择对应的数据或填写跳转的 URL 地址,不跳转请填写 “#” 号占位。</span>
|
||||
</label>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<label class="layui-hide">
|
||||
<textarea id="DefaultData">{$data|default=[]|json_encode}</textarea>
|
||||
</label>
|
||||
|
||||
<style>
|
||||
[data-rule-page] {
|
||||
margin-top: -3px;
|
||||
margin-left: 5px;
|
||||
}
|
||||
|
||||
[data-rule-item] {
|
||||
padding-left: 40px;
|
||||
margin-bottom: 20px;
|
||||
}
|
||||
|
||||
[data-rule-item] .uploadimage {
|
||||
width: 135px;
|
||||
height: 100px;
|
||||
}
|
||||
|
||||
[data-item-dn], [data-item-up], [data-item-rm] {
|
||||
margin-top: -4px;
|
||||
margin-left: 5px;
|
||||
}
|
||||
</style>
|
||||
|
||||
<script>
|
||||
(function (data) {
|
||||
/*! 默认数据渲染 */
|
||||
if (data.length < 1) addItem();
|
||||
else data.forEach(function (item) {
|
||||
addItem(item)
|
||||
});
|
||||
/*! 初始化上传插件 */
|
||||
(function initUpload() {
|
||||
$('[data-rule-list] input[data-upload-image]').map(function () {
|
||||
if (!$(this).attr('inited')) $(this).attr('inited', true).uploadOneImage();
|
||||
});
|
||||
setTimeout(initUpload, 100);
|
||||
})();
|
||||
/*! 数据选项操作 */
|
||||
$('[data-rule-list]').on('click', '[data-rule-page]', function ($that) {
|
||||
$that = $(this), top.setItemValue = function (value) {
|
||||
$that.prevAll('input').val(($that.data('prefix') + '#{v}').replace('{v}', value));
|
||||
};
|
||||
$.form.iframe($(this).data('rule-page'), $that.data('title') || $that.text(), ['930px', '600px']);
|
||||
}).on('click', '[data-item-add]', function () {
|
||||
addItem();
|
||||
}).on('click', '[data-item-rm]', function () {
|
||||
$(this).parents('[data-rule-item]').remove();
|
||||
}).on('click', '[data-item-up]', function () {
|
||||
var item = $(this).parents('[data-rule-item]');
|
||||
var prev = item.prev('[data-rule-item]');
|
||||
if (item.index() > 0) item.insertBefore(prev);
|
||||
}).on('click', '[data-item-dn]', function () {
|
||||
var item = $(this).parents('[data-rule-item]');
|
||||
var next = item.next('[data-rule-item]');
|
||||
if (next) item.insertAfter(next);
|
||||
});
|
||||
/*! 表单提交处理 */
|
||||
$('form#DataForm').vali(function (ret) {
|
||||
var idx, data = [];
|
||||
for (idx in ret.img) {
|
||||
if (!ret.img[idx]) return $.msg.tips('请上传展示图片哦!');
|
||||
data.push({img: ret.img[idx], rule: ret.rule[idx], name: ret.name[idx]});
|
||||
}
|
||||
$.form.load('{$request->url()}', {data: JSON.stringify(data)}, 'post');
|
||||
});
|
||||
})(JSON.parse($('#DefaultData').val() || '[]') || []);
|
||||
|
||||
/*! 添加数据选项 */
|
||||
function addItem(data) {
|
||||
this.$html = $($('[data-item-tpl]').html());
|
||||
if (data) for (this.index in data) this.$html.find('[name^="' + this.index + '"]').val(data[this.index]);
|
||||
$('[data-item-add]').parent().before(this.$html), setTimeout(function () {
|
||||
$.form.reInit();
|
||||
}, 100);
|
||||
}
|
||||
</script>
|
||||
{/block}
|
||||
@ -2,21 +2,21 @@
|
||||
|
||||
{block name="content"}
|
||||
<div class="think-box-shadow">
|
||||
<form action="{:sysuri()}" autocomplete="off" class="layui-form layui-card" data-auto="true" method="post" style="width:850px">
|
||||
<div class="layui-card-header text-center margin-20 font-w7 color-text layui-bg-gray border-radius-5">
|
||||
{$title|default='小程序接口配置'}<span class="color-desc font-s12"> ( 微信公众号平台配置获取 )</span>
|
||||
<form action="{:sysuri()}" method="post" data-auto="true" class="layui-form layui-card" style="width:850px">
|
||||
<div class="layui-card-header text-center margin-20">
|
||||
<b>{$title|default='小程序接口配置'}</b><span class="color-desc font-s12"> ( 微信公众号平台配置获取 )</span>
|
||||
</div>
|
||||
<div class="layui-card-body padding-left-40 padding-bottom-0">
|
||||
|
||||
<label class="layui-form-item margin-bottom-20 block relative">
|
||||
<span class="color-green font-s14 font-w7 margin-right-10">小程序 AppId</span>
|
||||
<input class="layui-input" maxlength="18" name="data.wxapp_appid" pattern="^wx[0-9a-z]{16}$" placeholder="请输入18位小程序 AppID" required value="{:sysconf('data.wxapp_appid')}">
|
||||
<label class="layui-form-item block relative">
|
||||
<span class='help-label'><b>小程序 AppId</b></span>
|
||||
<input class="layui-input" maxlength="18" name="appid" pattern="^wx[0-9a-z]{16}$" placeholder="请输入18位小程序 AppID" required value="{$data.appid|default=''}">
|
||||
<span class="help-block"><b>必选</b>,微信小程序 AppID 需要微信公众号平台获取!</span>
|
||||
</label>
|
||||
|
||||
<label class="layui-form-item margin-bottom-20 block relative">
|
||||
<span class="color-green font-s14 font-w7 margin-right-10">小程序密钥 AppSecret</span>
|
||||
<input class="layui-input" maxlength="32" name="data.wxapp_appkey" pattern="^[0-9a-z]{32}$" placeholder="请输入32位小程序 AppSecret" required value="{:sysconf('data.wxapp_appkey')}">
|
||||
<label class="layui-form-item block relative">
|
||||
<span class="help-label"><b>小程序密钥 AppSecret</b></span>
|
||||
<input class="layui-input" maxlength="32" name="appkey" pattern="^[0-9a-z]{32}$" placeholder="请输入32位小程序 AppSecret" required value="{$data.appkey|default=''}">
|
||||
<span class="help-block"><b>必选</b>,微信小程序 AppSecret 需要微信公众号平台获取!</span>
|
||||
</label>
|
||||
|
||||
|
||||
@ -1,15 +1,13 @@
|
||||
<form action="{:sysuri()}" autocomplete="off" class="layui-form layui-card" data-auto="true" method="post">
|
||||
<form action="{:sysuri()}" method="post" data-auto="true" class="layui-form layui-card">
|
||||
<div class="layui-card-body padding-left-40">
|
||||
|
||||
<label class="layui-form-item block relative">
|
||||
<span class="color-green font-w7 label-required-prev">折扣方案名称</span>
|
||||
<span class="color-desc margin-left-5">Discount Name</span>
|
||||
<span class="help-label"><b>折扣方案名称</b>Discount Name</span>
|
||||
<input class="layui-input" name="name" placeholder="请输入折扣方案名称" required value="{$vo.name|default=''}">
|
||||
</label>
|
||||
|
||||
<div class="layui-form-item">
|
||||
<span class="color-green font-w7 label-required-prev">用户等级折扣</span>
|
||||
<span class="color-desc margin-left-5">Discount Scheme</span>
|
||||
<div class="layui-form-item label-required-prev">
|
||||
<span class="help-label"><b>用户等级折扣</b>Discount Scheme</span>
|
||||
<table class="layui-table think-level-box" lay-skin="line">
|
||||
<thead>
|
||||
<tr>
|
||||
@ -37,8 +35,7 @@
|
||||
</div>
|
||||
|
||||
<label class="layui-form-item block relative">
|
||||
<span class="color-green font-w7">折扣方案备注</span>
|
||||
<span class="color-desc margin-left-5">Discount Remark</span>
|
||||
<span class="help-label"><b>折扣方案备注</b>Discount Remark</span>
|
||||
<textarea class="layui-textarea" name="remark" placeholder="请输入折扣方案备注">{$vo.remark|default=''}</textarea>
|
||||
</label>
|
||||
|
||||
|
||||
@ -1,7 +1,7 @@
|
||||
{extend name="../../admin/view/main"}
|
||||
|
||||
{block name='content'}
|
||||
<form data-table-id="MessageTable" action="{:sysuri()}" class="layui-card layui-form" data-auto="true" method="post">
|
||||
<form action="{:sysuri()}" method="post" data-auto="true" class="layui-form layui-card" data-table-id="MessageTable">
|
||||
<div class="layui-card-body">
|
||||
|
||||
<label class="layui-form-item relative block">
|
||||
|
||||
@ -1,36 +1,35 @@
|
||||
{extend name="../../admin/view/main"}
|
||||
|
||||
{block name='content'}
|
||||
<form action="{:sysuri()}" autocomplete="off" class="layui-form layui-card" data-auto="true" method="post">
|
||||
<form action="{:sysuri()}?type={$get.type|default=''}" method="post" data-auto="true" class="layui-form layui-card">
|
||||
<div class="layui-card-body">
|
||||
|
||||
<label class="layui-form-item relative block">
|
||||
<span class="color-green font-w7">页面名称</span>
|
||||
<span class="color-desc margin-left-5">Page Name</span>
|
||||
<input class="layui-input" name="name" placeholder="请输入页面名称" required value='{$data.name|default=""}'>
|
||||
<span class="help-label"><b>页面名称</b>Page Name</span>
|
||||
<input class="layui-input" name="name" placeholder="请输入页面名称" required value='{$data.name|default=$base.name}'>
|
||||
</label>
|
||||
|
||||
<div class="layui-form-item relative block">
|
||||
<span class="color-green font-w7 label-required-prev">页面内容</span>
|
||||
<span class="color-desc margin-left-5">Page Content</span>
|
||||
<label class="relative block">
|
||||
<textarea class="layui-hide" name="content">{$data.content|default=''}</textarea>
|
||||
<div class="layui-form-item label-required-prev">
|
||||
<span class="help-label"><b>页面内容</b>Page Content</span>
|
||||
<label class="relative block" style="height:606px">
|
||||
<textarea class="layui-hide" name="content">{$data.content|default=$base.content}</textarea>
|
||||
</label>
|
||||
</div>
|
||||
|
||||
<div class="hr-line-dashed"></div>
|
||||
<input type="hidden" name="type" value="{$get.type|default=''}">
|
||||
|
||||
<div class="layui-form-item text-center">
|
||||
<button class="layui-btn" type="submit">保存数据</button>
|
||||
<button class="layui-btn layui-btn-danger" data-confirm="确定要取消编辑吗?" data-history-back type='button'>取消编辑</button>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</form>
|
||||
|
||||
<script>
|
||||
require(['ckeditor'], function () {
|
||||
window.createEditor('[name=content]', {height: 535});
|
||||
window.createEditor('[name=content]', {height: 533});
|
||||
});
|
||||
</script>
|
||||
{/block}
|
||||
28
app/data/view/base/pager/index.html
Normal file
28
app/data/view/base/pager/index.html
Normal file
@ -0,0 +1,28 @@
|
||||
{extend name="../../admin/view/main"}
|
||||
|
||||
{block name='content'}
|
||||
<div class="think-box-notify">温馨提示:如需添加新内容,需要在系统管理的基础数据添加类似为 “<b>{$type|default=''}</b>” 的基础数据。</div>
|
||||
<div class="layui-row layui-col-space20 portal-block-container notselect">
|
||||
{foreach $types as $key=>$type}
|
||||
<div class="layui-col-sm4 layui-col-md4 layui-col-lg3">
|
||||
<!--{if auth('edit')}-->
|
||||
<div class="pointer" data-open="{:url('edit')}?type={$key}">
|
||||
<div class="portal-block-item nowrap think-bg-violet">
|
||||
<div class="font-s14">编辑页面</div>
|
||||
<div class="font-s16">{$type.name|default=''}</div>
|
||||
</div>
|
||||
<i class="portal-block-icon layui-icon layui-icon-read"></i>
|
||||
</div>
|
||||
<!--{else}-->
|
||||
<div>
|
||||
<div class="portal-block-item nowrap think-bg-violet">
|
||||
<div class="font-s14">编辑页面</div>
|
||||
<div class="font-s16">{$type.name|default=''}</div>
|
||||
</div>
|
||||
<i class="portal-block-icon layui-icon layui-icon-read"></i>
|
||||
</div>
|
||||
<!--{/if}-->
|
||||
</div>
|
||||
{/foreach}
|
||||
</div>
|
||||
{/block}
|
||||
@ -1,4 +1,4 @@
|
||||
{extend name="../../admin/view/main"}
|
||||
{extend name='../../admin/view/table'}
|
||||
|
||||
{block name="button"}
|
||||
<!--{if auth("add")}-->
|
||||
@ -6,68 +6,90 @@
|
||||
<!--{/if}-->
|
||||
|
||||
<!--{if auth("remove")}-->
|
||||
<button class='layui-btn layui-btn-sm layui-btn-primary' data-action='{:url("remove")}' data-confirm="确定要删除这些支付吗?" data-rule="id#{key}">删除支付</button>
|
||||
<button class='layui-btn layui-btn-sm layui-btn-primary' data-action='{:url("remove")}' data-confirm="确定要删除这些支付吗?" data-rule="id#{id}">删除支付</button>
|
||||
<!--{/if}-->
|
||||
{/block}
|
||||
|
||||
{block name='content'}
|
||||
<div class="think-box-shadow">
|
||||
{include file='base/payment/index_search'}
|
||||
<table class="layui-table margin-top-10" lay-skin="line">
|
||||
{notempty name='list'}
|
||||
<thead>
|
||||
<tr>
|
||||
<th class='list-table-check-td think-checkbox'>
|
||||
<label><input data-auto-none data-check-target='.list-check-box' type='checkbox'></label>
|
||||
</th>
|
||||
<th class='list-table-sort-td'>
|
||||
<button class="layui-btn layui-btn-xs" data-reload type="button">刷 新</button>
|
||||
</th>
|
||||
<th class="text-left nowrap">支付名称</th>
|
||||
<th class="text-left nowrap">支付编号</th>
|
||||
<th class="text-left nowrap">支付方式</th>
|
||||
<th class="text-left nowrap">使用状态</th>
|
||||
<th class="text-left nowrap">创建时间</th>
|
||||
<th class="text-left nowrap"></th>
|
||||
</tr>
|
||||
</thead>
|
||||
{/notempty}
|
||||
<tbody>
|
||||
{foreach $list as $key=>$vo}
|
||||
<tr>
|
||||
<td class='list-table-check-td think-checkbox'>
|
||||
<label><input class="list-check-box" type='checkbox' value='{$vo.id}'></label>
|
||||
</td>
|
||||
<td class='list-table-sort-td'>
|
||||
<label><input class="list-sort-input" data-action-blur="{:sysuri()}" data-loading="false" data-value="id#{$vo.id};action#sort;sort#{value}" value="{$vo.sort}"></label>
|
||||
</td>
|
||||
<td class="text-left nowrap">
|
||||
<div class="headimg headimg-xs headimg-no" data-tips-hover data-tips-image data-lazy-src="{$vo.cover}"></div>
|
||||
{$vo.name|default=''}
|
||||
</td>
|
||||
<td class="text-left nowrap">{$vo.code|default=''}</td>
|
||||
<td class="text-left nowrap">{$types[$vo.type]['name']??$vo.type}</td>
|
||||
<td>{if $vo.status eq 0}<span class="color-red">已禁用</span>{elseif $vo.status eq 1}<span class="color-green">已激活</span>{/if}</td>
|
||||
<td class="text-left nowrap">{$vo.create_at|format_datetime}</td>
|
||||
<td class='text-left nowrap'>
|
||||
<!--{if auth("edit")}-->
|
||||
<a class="layui-btn layui-btn-sm" data-open="{:url('edit')}?id={$vo.id}">编 辑</a>
|
||||
<!--{/if}-->
|
||||
|
||||
<!--{if auth("state") and $vo.status eq 1}-->
|
||||
<a class="layui-btn layui-btn-sm layui-btn-warm" data-action="{:url('state')}" data-value="id#{$vo.id};status#0">禁 用</a>
|
||||
<!--{elseif auth("state") and $vo.status eq 0}-->
|
||||
<a class="layui-btn layui-btn-sm layui-btn-warm" data-action="{:url('state')}" data-value="id#{$vo.id};status#1">激 活</a>
|
||||
<!--{/if}-->
|
||||
|
||||
<!--{if auth("remove")}-->
|
||||
<a class="layui-btn layui-btn-sm layui-btn-danger" data-action="{:url('remove')}" data-confirm="确定要删除该支付吗?" data-value="id#{$vo.id}">删 除</a>
|
||||
<!--{/if}-->
|
||||
</td>
|
||||
</tr>
|
||||
{/foreach}
|
||||
</tbody>
|
||||
</table>
|
||||
{empty name='list'}<span class="notdata">没有记录哦</span>{else}{$pagehtml|raw|default=''}{/empty}
|
||||
{block name="content"}
|
||||
<div class="layui-tab layui-tab-card">
|
||||
<ul class="layui-tab-title">
|
||||
{foreach ['index'=>'支付管理','recycle'=>'回 收 站'] as $k=>$v}{if isset($type) and $type eq $k}
|
||||
<li data-open="{:url('index')}?type={$k}" class="layui-this color-green">{$v}</li>
|
||||
{else}
|
||||
<li data-open="{:url('index')}?type={$k}">{$v}</li>
|
||||
{/if}{/foreach}
|
||||
</ul>
|
||||
<div class="layui-tab-content">
|
||||
{include file='base/payment/index_search'}
|
||||
<table id="PaymentTable" data-url="{:sysuri()}" data-target-search="form.form-search"></table>
|
||||
</div>
|
||||
</div>
|
||||
{/block}
|
||||
|
||||
{block name='script'}
|
||||
<script>
|
||||
$(function () {
|
||||
// 初始化表格组件
|
||||
$('#PaymentTable').layTable({
|
||||
even: true, height: 'full',
|
||||
sort: {field: 'sort desc,code', type: 'desc'},
|
||||
where: {type: '{$type|default="index"}'},
|
||||
cols: [[
|
||||
{checkbox: true, fixed: true},
|
||||
{field: 'sort', title: '排序权重', align: 'center', width: 100, sort: true, templet: '#SortInputTpl'},
|
||||
{field: 'code', title: '支付编号', align: "center", minWidth: 170},
|
||||
{field: 'ntype', title: '支付类型', align: "center", minWidth: 170},
|
||||
{
|
||||
field: 'cover', title: '图片', width: 60, align: 'center', templet: function (d) {
|
||||
if (!d.cover) return '';
|
||||
return layui.laytpl('<div data-tips-image data-tips-hover class="headimg headimg-xs headimg-no margin-0" data-lazy-src="{{d.cover}}"></div>').render(d);
|
||||
}
|
||||
},
|
||||
{field: 'name', title: '支付名称', align: 'left', minWidth: 140},
|
||||
{field: 'status', title: '支付状态', align: 'center', minWidth: 110, templet: '#StatusSwitchTpl'},
|
||||
{field: 'create_at', title: '创建时间', align: 'center', minWidth: 170, sort: true},
|
||||
{toolbar: '#toolbar', title: '操作面板', align: 'center', minWidth: 80, fixed: 'right'},
|
||||
]]
|
||||
});
|
||||
|
||||
// 数据状态切换操作
|
||||
layui.form.on('switch(StatusSwitch)', function (obj) {
|
||||
var data = {id: obj.value, status: obj.elem.checked > 0 ? 1 : 0};
|
||||
$.form.load("{:url('state')}", data, 'post', function (ret) {
|
||||
if (ret.code < 1) $.msg.error(ret.info, 3, function () {
|
||||
$('#PaymentTable').trigger('reload');
|
||||
}); else {
|
||||
$('#PaymentTable').trigger('reload');
|
||||
}
|
||||
return false;
|
||||
}, false);
|
||||
});
|
||||
});
|
||||
|
||||
</script>
|
||||
|
||||
<!-- 列表排序权重模板 -->
|
||||
<script type="text/html" id="SortInputTpl">
|
||||
<input type="number" min="0" data-blur-number="0" data-action-blur="{:sysuri()}" data-value="id#{{d.id}};action#sort;sort#{value}" data-loading="false" value="{{d.sort}}" class="layui-input text-center">
|
||||
</script>
|
||||
|
||||
<!-- 数据状态切换模板 -->
|
||||
<script type="text/html" id="StatusSwitchTpl">
|
||||
<!--{if auth("state")}-->
|
||||
<input type="checkbox" value="{{d.id}}" lay-skin="switch" lay-text="已激活|已禁用" lay-filter="StatusSwitch" {{d.status>0?'checked':''}}>
|
||||
<!--{else}-->
|
||||
{{d.status ? '<b class="color-green">已启用</b>' : '<b class="color-red">已禁用</b>'}}
|
||||
<!--{/if}-->
|
||||
</script>
|
||||
|
||||
<!-- 数据操作工具条模板 -->
|
||||
<script type="text/html" id="toolbar">
|
||||
<!--{if auth("edit") and isset($type) and $type eq 'index'}-->
|
||||
<a class="layui-btn layui-btn-primary layui-btn-sm" data-open='{:url("edit")}?id={{d.id}}'>编 辑</a>
|
||||
<!--{/if}-->
|
||||
|
||||
<!--{if auth("remove") and isset($type) and $type neq 'index'}-->
|
||||
<a class="layui-btn layui-btn-danger layui-btn-sm" data-action="{:url('remove')}" data-value="id#{{d.id}}" data-confirm="确定要删除文章吗?">删 除</a>
|
||||
<!--{/if}-->
|
||||
</script>
|
||||
{/block}
|
||||
@ -1,12 +1,6 @@
|
||||
<fieldset>
|
||||
<legend>条件搜索</legend>
|
||||
<form action="{:sysuri()}" autocomplete="off" class="layui-form layui-form-pane form-search" method="get" onsubmit="return false">
|
||||
<div class="layui-form-item layui-inline">
|
||||
<label class="layui-form-label">支付名称</label>
|
||||
<label class="layui-input-inline">
|
||||
<input class="layui-input" name="name" placeholder="请输入支付名称" value="{$get.name|default=''}">
|
||||
</label>
|
||||
</div>
|
||||
|
||||
<div class="layui-form-item layui-inline">
|
||||
<label class="layui-form-label">支付编号</label>
|
||||
@ -15,12 +9,20 @@
|
||||
</label>
|
||||
</div>
|
||||
|
||||
<div class="layui-form-item layui-inline">
|
||||
<label class="layui-form-label">支付名称</label>
|
||||
<label class="layui-input-inline">
|
||||
<input class="layui-input" name="name" placeholder="请输入支付名称" value="{$get.name|default=''}">
|
||||
</label>
|
||||
</div>
|
||||
|
||||
<div class="layui-form-item layui-inline">
|
||||
<label class="layui-form-label">支付方式</label>
|
||||
<div class="layui-input-inline">
|
||||
<select class="layui-select" name="type">
|
||||
<select class="layui-select" name="ptype">
|
||||
<option value="">-- 全部 --</option>
|
||||
{foreach $types as $k=>$v}{if !empty($v['bind'])}{if $k eq input('type')}
|
||||
{foreach $types as $k=>$v}{if !empty($v['bind'])}
|
||||
{if isset($get.ptype) and $k eq $get.ptype}
|
||||
<option selected value="{$k}">{$v.name}</option>
|
||||
{else}
|
||||
<option value="{$k}">{$v.name}</option>
|
||||
@ -29,21 +31,6 @@
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="layui-form-item layui-inline">
|
||||
<label class="layui-form-label">使用状态</label>
|
||||
<div class="layui-input-inline">
|
||||
<select class="layui-select" name="status">
|
||||
<option value="">-- 全部 --</option>
|
||||
{foreach ['已禁用的记录', '已激活的记录'] as $k=>$v}
|
||||
{if $k.'' eq input('status')}
|
||||
<option selected value="{$k}">{$v}</option>
|
||||
{else}
|
||||
<option value="{$k}">{$v}</option>
|
||||
{/if}{/foreach}
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="layui-form-item layui-inline">
|
||||
<label class="layui-form-label">创建时间</label>
|
||||
<label class="layui-input-inline">
|
||||
|
||||
141
app/data/view/base/slider/form.html
Normal file
141
app/data/view/base/slider/form.html
Normal file
@ -0,0 +1,141 @@
|
||||
{extend name="../../admin/view/main"}
|
||||
|
||||
{block name="content"}
|
||||
<style>
|
||||
[data-upload-image] + .uploadimage {
|
||||
width: 100px;
|
||||
height: 100px;
|
||||
margin: 0 !important;
|
||||
}
|
||||
</style>
|
||||
|
||||
<div class="think-box-shadow">
|
||||
<form id="DataForm" class='layui-form' autocomplete='off' action="{:sysuri()}?type={$get.type|default=''}" onsubmit="return false" style="width:850px">
|
||||
<div class="text-center padding-top-10">
|
||||
<b class="color-text font-s16">{$title|default='图片内容管理'}</b>
|
||||
<div class="color-desc font-s12">{$base.content|default='图片尺寸:1080px * 1882px'}</div>
|
||||
<!--{if $app->isDebug() && !empty($skey)}-->
|
||||
<i class="color-desc pull-right">{$skey}</i>
|
||||
<!--{/if}-->
|
||||
</div>
|
||||
<div class="hr-line-dashed margin-bottom-25"></div>
|
||||
<div class="layui-form-item" data-item-box>
|
||||
<div class="layui-form-item text-center">
|
||||
<a class="layui-btn layui-btn-normal" data-item-add>添加选项</a>
|
||||
</div>
|
||||
</div>
|
||||
<div class="hr-line-dashed"></div>
|
||||
<div class="layui-form-item text-center">
|
||||
<button class="layui-btn" data-submit>保存数据</button>
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
|
||||
<div data-item-tpl class="layui-hide">
|
||||
<div class="layui-form-item" style="padding-left:80px" data-news-item>
|
||||
<div class="layui-input-inline text-center" style="width:140px">
|
||||
<input data-upload-image name="img[]" type="hidden">
|
||||
</div>
|
||||
<div class="nowrap margin-bottom-5">
|
||||
<label class="inline-block relative text-middle">
|
||||
<span class="color-green font-s13 margin-right-5">图标标题</span>
|
||||
<input class="layui-input inline-block" style="width:280px" name="title[]" value="#" required placeholder="请输入图标标题">
|
||||
</label>
|
||||
<div class="inline-block margin-left-5">
|
||||
<a data-item-up class="layui-btn layui-btn-primary"><i class="layui-icon layui-icon-up"></i></a>
|
||||
<a data-item-dn class="layui-btn layui-btn-primary"><i class="layui-icon layui-icon-down"></i></a>
|
||||
<a data-item-rm class="layui-btn layui-btn-primary"><i class="layui-icon layui-icon-close"></i></a>
|
||||
</div>
|
||||
</div>
|
||||
<div class="nowrap margin-bottom-5">
|
||||
<label class="inline-block relative">
|
||||
<span class="color-green font-s13 margin-right-5">跳转规则</span>
|
||||
<input class="layui-input inline-block" style="width:280px" name="url[]" value="#" required placeholder="请输入跳转规则">
|
||||
</label>
|
||||
<div class="inline-block margin-left-5">
|
||||
<select class="layui-select" name="type[]" lay-filter="TypeSelect" data-item-rule lay-ignore>
|
||||
{foreach $rules as $k=>$v}
|
||||
<option value="{$k}">{$k} - {$v}</option>
|
||||
{/foreach}
|
||||
</select>
|
||||
</div>
|
||||
<div class="help-block">若要跳转页面,请选择对应的数据或填写跳转的 URL 地址,不跳转请填写 “#” 号占位。</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<label class="layui-hide">
|
||||
<textarea id="DefaultData">{$data|default=[]|json_encode}</textarea>
|
||||
</label>
|
||||
|
||||
<script>
|
||||
$(function () {
|
||||
|
||||
/*! 默认数据处理 */
|
||||
var defas = JSON.parse($('#DefaultData').val()), idx;
|
||||
if (defas.length > 0) for (idx in defas) addItem(defas[idx]); else addItem({});
|
||||
|
||||
/*! 跳转规则选择器 */
|
||||
layui.form.on('select(TypeSelect)', function (data) {
|
||||
var input = $(data.elem).parent().prev('label').find('input');
|
||||
var title = data.elem.options[data.elem.selectedIndex].innerText.split(' - ').pop();
|
||||
window.setItemValue = function (id, name) {
|
||||
input.val(data.value + '#' + (id || '0') + '#' + (name || title));
|
||||
}, this.openModel = function (url) {
|
||||
return $.form.modal(url, {}, title, null, true, null, '840px', '5%');
|
||||
};
|
||||
if (data.value === '#') return input.val('#');
|
||||
if (data.value === 'LK') return /^https?:\/\//.test(input.val()) || input.val('#').focus();
|
||||
if (data.value === 'NS') return this.openModel('{:url("data/news.item/select")}');
|
||||
return window.setItemValue();
|
||||
});
|
||||
|
||||
/*! 表单元素操作 */
|
||||
$('form#DataForm').on('click', '[data-item-add]', function () {
|
||||
addItem({});
|
||||
}).on('click', '[data-item-rm]', function () {
|
||||
$(this).parents('[data-news-item]').remove();
|
||||
setAddButton();
|
||||
}).on('click', '[data-item-up]', function () {
|
||||
var item = $(this).parents('[data-news-item]');
|
||||
var prev = item.prev('[data-news-item]');
|
||||
if (item.index() > 0) item.insertBefore(prev);
|
||||
}).on('click', '[data-item-dn]', function () {
|
||||
var item = $(this).parents('[data-news-item]');
|
||||
var next = item.next('[data-news-item]');
|
||||
if (next) item.insertAfter(next);
|
||||
}).vali(function (form, data) {
|
||||
for (idx in form.img) {
|
||||
if (!form.img[idx]) return $.msg.tips('需要上传图片文件哦!');
|
||||
data.push({img: form.img[idx], url: form.url[idx], type: form.type[idx], title: form.title[idx]});
|
||||
}
|
||||
$.form.load(this.action, {data: JSON.stringify(data)}, 'post');
|
||||
});
|
||||
|
||||
/*! 添加图片数据项 */
|
||||
function addItem(data) {
|
||||
data.url = data.url || '#';
|
||||
var $html = $($('[data-item-tpl]').html());
|
||||
for (idx in data) $html.find('[name^=' + idx + ']').val(data[idx]);
|
||||
$html.find('select').removeAttr('lay-ignore').find('option').each(function () {
|
||||
if (data.url === '#' && this.value === data.url) this.selected = true;
|
||||
else if (this.value === data.url.split('#')[0]) this.selected = true;
|
||||
}), $('[data-item-add]').parent().before($html), setAddButton();
|
||||
/*! 初始化插件绑定 */
|
||||
$.form.reInit($html).find('input[data-upload-image]').uploadOneImage();
|
||||
}
|
||||
|
||||
/*! 检查并操作按钮 */
|
||||
function setAddButton() {
|
||||
this.limit = parseInt('{$number|default=0}');
|
||||
this.laster = $('[data-item-box] [data-item-add]').parent();
|
||||
this.number = $('[data-item-box] [data-news-item]').size();
|
||||
if (this.number >= this.limit && this.limit > 0) {
|
||||
this.laster.addClass('layui-hide');
|
||||
} else {
|
||||
this.laster.removeClass('layui-hide');
|
||||
}
|
||||
}
|
||||
});
|
||||
</script>
|
||||
{/block}
|
||||
28
app/data/view/base/slider/index.html
Normal file
28
app/data/view/base/slider/index.html
Normal file
@ -0,0 +1,28 @@
|
||||
{extend name="../../admin/view/main"}
|
||||
|
||||
{block name='content'}
|
||||
<div class="think-box-notify">温馨提示:如需添加新内容,需要在系统管理的基础数据添加类似为 “<b>{$type|default=''}</b>” 的基础数据。</div>
|
||||
<div class="layui-row layui-col-space20 portal-block-container notselect">
|
||||
{foreach $types as $key=>$type}
|
||||
<div class="layui-col-sm4 layui-col-md4 layui-col-lg3">
|
||||
<!--{if auth('edit')}-->
|
||||
<div class="pointer" data-open="{:url('edit')}?type={$key}">
|
||||
<div class="portal-block-item nowrap think-bg-violet">
|
||||
<div class="font-s14">编辑页面</div>
|
||||
<div class="font-s16">{$type.name|default=''}</div>
|
||||
</div>
|
||||
<i class="portal-block-icon layui-icon layui-icon-carousel"></i>
|
||||
</div>
|
||||
<!--{else}-->
|
||||
<div>
|
||||
<div class="portal-block-item nowrap think-bg-violet">
|
||||
<div class="font-s14">编辑页面</div>
|
||||
<div class="font-s16">{$type.name|default=''}</div>
|
||||
</div>
|
||||
<i class="portal-block-icon layui-icon layui-icon-carousel"></i>
|
||||
</div>
|
||||
<!--{/if}-->
|
||||
</div>
|
||||
{/foreach}
|
||||
</div>
|
||||
{/block}
|
||||
@ -14,7 +14,7 @@
|
||||
}
|
||||
</style>
|
||||
|
||||
<form action="{:sysuri()}" autocomplete="off" class="layui-form layui-card" data-auto="true" method="post">
|
||||
<form action="{:sysuri()}" class="layui-form layui-card" data-auto="true" method="post">
|
||||
<div class="layui-card-body padding-left-40">
|
||||
|
||||
<fieldset class="layui-form-item">
|
||||
|
||||
@ -1,12 +1,12 @@
|
||||
{extend name="../../admin/view/main"}
|
||||
|
||||
{block name='content'}
|
||||
<form action="{:sysuri()}" class="layui-form layui-card" data-auto="true" method="post">
|
||||
<form action="{:sysuri()}" class="layui-card layui-form" data-auto="true" method="post">
|
||||
<div class="layui-card-body">
|
||||
|
||||
{notempty name='marks'}
|
||||
<div class="layui-form-item">
|
||||
<span class="help-label"><b>文章标签</b>Mark Name</span>
|
||||
<!--{notempty name='marks'}-->
|
||||
<div class="layui-form-item label-required-prev">
|
||||
<span class="help-label"><b>文章标签</b>News Mark</span>
|
||||
<div class="layui-textarea help-checks">
|
||||
{foreach $marks as $tag}{if isset($vo.mark) && is_array($vo.mark) && in_array($tag.name, $vo.mark)}
|
||||
<label class="think-checkbox notselect"><input checked lay-ignore name="mark[]" type="checkbox" value="{$tag.name}"> {$tag.name}</label>
|
||||
@ -15,37 +15,30 @@
|
||||
{/if}{/foreach}
|
||||
</div>
|
||||
</div>
|
||||
{/notempty}
|
||||
<!--{/notempty}-->
|
||||
|
||||
<div class="layui-form-item label-required-prev">
|
||||
<span class="help-label"><b>文章封面</b>Conver Image</span>
|
||||
<span class="help-label"><b>文章封面</b>News Conver</span>
|
||||
<div class="relative block label-required-null">
|
||||
<input class="layui-input think-bg-gray" readonly name="cover" placeholder="请上传文章封面" required value='{$vo.cover|default=""}'>
|
||||
<a class="input-right-icon layui-icon layui-icon-upload" data-field="cover" data-file data-type="png,jpg,gif"></a>
|
||||
<script>$('[name="cover"]').uploadOneImage()</script>
|
||||
<input class="layui-input think-bg-gray" name="cover" placeholder="请上传文章封面" readonly required value='{$vo.cover|default=""}'>
|
||||
<a class="layui-icon layui-icon-upload input-right-icon" data-file data-field="cover" data-type="gif,png,jpg,jpeg"></a>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<label class="layui-form-item relative block">
|
||||
<span class="help-label"><b>文章标题</b>Article Name</span>
|
||||
<span class="help-label"><b>文章标题</b>News Title</span>
|
||||
<input class="layui-input" name="name" placeholder="请输入文章标题" required value='{$vo.name|default=""}'>
|
||||
</label>
|
||||
|
||||
<label class="layui-form-item relative block">
|
||||
<span class="help-label"><b>简介描述</b>Article Remark</span>
|
||||
<textarea class="layui-textarea" name="remark" placeholder="请输入简介描述" required>{$vo.remark|default=''}</textarea>
|
||||
</label>
|
||||
|
||||
<div class="layui-form-item label-required-prev">
|
||||
<span class="help-label"><b>富文本内容</b>Article Content</span>
|
||||
<span class="help-label"><b>文章内容</b>News Content</span>
|
||||
<label class="relative block">
|
||||
<textarea class="layui-textarea" name="content" placeholder="请输入文章内容">{$vo.content|default=''}</textarea>
|
||||
<textarea class="layui-hide" name="content" placeholder="请输入文章内容">{$vo.content|default=''}</textarea>
|
||||
</label>
|
||||
</div>
|
||||
|
||||
<div class="hr-line-dashed"></div>
|
||||
{notempty name='vo.id'}<input name='id' type='hidden' value='{$vo.id}'>{/notempty}
|
||||
{notempty name='vo.code'}<input name='code' type='hidden' value='{$vo.code}'>{/notempty}
|
||||
|
||||
<div class="layui-form-item text-center">
|
||||
<button class="layui-btn" type="submit">保存数据</button>
|
||||
@ -57,7 +50,8 @@
|
||||
|
||||
<script>
|
||||
require(['ckeditor'], function () {
|
||||
window.createEditor('[name=content]', {height: 300});
|
||||
$('input[name="cover"]').uploadOneImage();
|
||||
window.createEditor('[name=content]', {height: 350});
|
||||
});
|
||||
</script>
|
||||
{/block}
|
||||
{/block}
|
||||
|
||||
@ -1,78 +1,104 @@
|
||||
{extend name="../../admin/view/main"}
|
||||
{extend name='../../admin/view/table'}
|
||||
|
||||
{block name="button"}
|
||||
<!--{if auth("add")}-->
|
||||
<button class='layui-btn layui-btn-sm layui-btn-primary' data-open='{:url("add")}'>添加文章</button>
|
||||
<button data-open='{:url("add")}' class='layui-btn layui-btn-sm layui-btn-primary'>添加文章</button>
|
||||
<!--{/if}-->
|
||||
|
||||
<!--{if auth("remove")}-->
|
||||
<button class='layui-btn layui-btn-sm layui-btn-primary' data-action='{:url("remove")}' data-confirm="确定要删除这些文章吗?" data-rule="id#{key}">删除文章</button>
|
||||
<!--{/if}-->
|
||||
|
||||
<!--{if auth("news.mark/index")}-->
|
||||
<button class='layui-btn layui-btn-sm layui-btn-primary' data-modal='{:url("news.mark/index")}' data-title="标签管理" data-width="900px">标签管理</button>
|
||||
<button data-action='{:url("remove")}' data-table-id="NewsTable" data-rule="id#{id}" data-confirm="确定要批量删除文章吗?" class='layui-btn layui-btn-sm layui-btn-primary'>批量删除</button>
|
||||
<!--{/if}-->
|
||||
{/block}
|
||||
|
||||
{block name='content'}
|
||||
<div class="think-box-shadow">
|
||||
{include file='news/item/index_search'}
|
||||
<table class="layui-table margin-top-10" lay-skin="line">
|
||||
{notempty name='list'}
|
||||
<thead>
|
||||
<tr>
|
||||
<th class='list-table-check-td think-checkbox'>
|
||||
<label><input data-auto-none data-check-target='.list-check-box' type='checkbox'></label>
|
||||
</th>
|
||||
<th class='list-table-sort-td'>
|
||||
<button class="layui-btn layui-btn-xs" data-reload type="button">刷 新</button>
|
||||
</th>
|
||||
<th class="text-left nowrap">文章编号</th>
|
||||
<th class="text-left nowrap">文章名称</th>
|
||||
<th class="text-left nowrap">搜索标签</th>
|
||||
<th class="text-left nowrap">文章状态</th>
|
||||
<th class="text-left nowrap">创建时间</th>
|
||||
<th class="text-left nowrap"></th>
|
||||
</tr>
|
||||
</thead>
|
||||
{/notempty}
|
||||
<tbody>
|
||||
{foreach $list as $key=>$vo}
|
||||
<tr>
|
||||
<td class='list-table-check-td think-checkbox'>
|
||||
<label><input class="list-check-box" type='checkbox' value='{$vo.id}'></label>
|
||||
</td>
|
||||
<td class='list-table-sort-td'>
|
||||
<label><input class="list-sort-input" data-action-blur="{:sysuri()}" data-loading="false" data-value="id#{$vo.id};action#sort;sort#{value}" value="{$vo.sort}"></label>
|
||||
</td>
|
||||
<td class="text-left nowrap">{$vo.code|default=''}</td>
|
||||
<td class="text-left nowrap">{$vo.name|default=''}</td>
|
||||
<td class="text-left nowrap">{notempty name='vo.mark'}{foreach $vo.mark as $tag}<span class="margin-right-5 layui-badge layui-bg-cyan">{$tag}</span>{/foreach}{/notempty}<br></td>
|
||||
<td class="text-left nowrap">{if $vo.status eq 0}<span class="color-red">已禁用</span>{elseif $vo.status eq 1}<span class="color-green">已激活</span>{/if}</td>
|
||||
<td class="text-left nowrap">{$vo.create_at|format_datetime}</td>
|
||||
<td class='text-left nowrap'>
|
||||
|
||||
<!--{if auth("edit")}-->
|
||||
<a class="layui-btn layui-btn-sm" data-open="{:url('edit')}?id={$vo.id}">编 辑</a>
|
||||
<!--{/if}-->
|
||||
|
||||
<!--{if auth("state") and $vo.status eq 1}-->
|
||||
<a class="layui-btn layui-btn-sm layui-btn-warm" data-action="{:url('state')}" data-value="id#{$vo.id};status#0">禁 用</a>
|
||||
<!--{/if}-->
|
||||
|
||||
<!--{if auth("state") and $vo.status eq 0}-->
|
||||
<a class="layui-btn layui-btn-sm layui-btn-warm" data-action="{:url('state')}" data-value="id#{$vo.id};status#1">激 活</a>
|
||||
<!--{/if}-->
|
||||
|
||||
<!--{if auth("remove")}-->
|
||||
<a class="layui-btn layui-btn-sm layui-btn-danger" data-action="{:url('remove')}" data-confirm="确定要删除该文章吗?" data-value="id#{$vo.id}">删 除</a>
|
||||
<!--{/if}-->
|
||||
|
||||
</td>
|
||||
</tr>
|
||||
{/foreach}
|
||||
</tbody>
|
||||
</table>
|
||||
{empty name='list'}<span class="notdata">没有记录哦</span>{else}{$pagehtml|raw|default=''}{/empty}
|
||||
{block name="content"}
|
||||
<div class="layui-tab layui-tab-card">
|
||||
<ul class="layui-tab-title">
|
||||
{foreach ['index'=>'文章管理','recycle'=>'回 收 站'] as $k=>$v}{if isset($type) and $type eq $k}
|
||||
<li data-open="{:url('index')}?type={$k}" class="layui-this color-green">{$v}</li>
|
||||
{else}
|
||||
<li data-open="{:url('index')}?type={$k}">{$v}</li>
|
||||
{/if}{/foreach}
|
||||
</ul>
|
||||
<div class="layui-tab-content">
|
||||
{include file='news/item/index_search'}
|
||||
<table id="NewsTable" data-url="{:sysuri()}" data-target-search="form.form-search"></table>
|
||||
</div>
|
||||
</div>
|
||||
{/block}
|
||||
|
||||
{block name='script'}
|
||||
<script>
|
||||
$(function () {
|
||||
// 初始化表格组件
|
||||
$('#NewsTable').layTable({
|
||||
even: true, height: 'full',
|
||||
sort: {field: 'sort desc,code', type: 'desc'},
|
||||
where: {type: '{$type|default="index"}'},
|
||||
cols: [[
|
||||
{checkbox: true, fixed: true},
|
||||
{field: 'sort', title: '排序权重', align: 'center', width: 100, sort: true, templet: '#SortInputTpl'},
|
||||
{field: 'id', title: 'ID', align: "center", width: 80},
|
||||
/* {notempty name='marks'} */
|
||||
{
|
||||
field: 'mark', title: '文章标签', align: 'left', minWidth: 100, templet: function (d) {
|
||||
return (d.html = ''), d.mark.forEach(function (val) {
|
||||
d.html += '<span class="layui-badge layui-bg-blue">' + val + '</span>';
|
||||
}), d.html;
|
||||
}
|
||||
},
|
||||
/* {/marks} */
|
||||
{
|
||||
field: 'cover', title: '图片', width: 60, align: 'center', templet: function (d) {
|
||||
if (!d.cover) return '';
|
||||
return layui.laytpl('<div data-tips-image data-tips-hover class="headimg headimg-xs headimg-no margin-0" data-lazy-src="{{d.cover}}"></div>').render(d);
|
||||
}
|
||||
},
|
||||
{field: 'name', title: '文章标题', align: 'left', minWidth: 140},
|
||||
{field: 'num_read', title: '阅读数', align: 'center', minWidth: 80, sort: true, style: 'color:blue;font-size:16px'},
|
||||
{field: 'status', title: '状态', align: 'center', minWidth: 110, templet: '#StatusSwitchTpl'},
|
||||
{field: 'create_at', title: '创建时间', align: 'center', minWidth: 170, sort: true},
|
||||
{toolbar: '#toolbar', title: '操作面板', align: 'center', minWidth: 160, fixed: 'right'},
|
||||
]]
|
||||
});
|
||||
|
||||
// 数据状态切换操作
|
||||
layui.form.on('switch(StatusSwitch)', function (obj) {
|
||||
var data = {id: obj.value, status: obj.elem.checked > 0 ? 1 : 0};
|
||||
$.form.load("{:url('state')}", data, 'post', function (ret) {
|
||||
if (ret.code < 1) $.msg.error(ret.info, 3, function () {
|
||||
$('#NewsTable').trigger('reload');
|
||||
}); else {
|
||||
$('#NewsTable').trigger('reload');
|
||||
}
|
||||
return false;
|
||||
}, false);
|
||||
});
|
||||
});
|
||||
|
||||
</script>
|
||||
|
||||
<!-- 列表排序权重模板 -->
|
||||
<script type="text/html" id="SortInputTpl">
|
||||
<input type="number" min="0" data-blur-number="0" data-action-blur="{:sysuri()}" data-value="id#{{d.id}};action#sort;sort#{value}" data-loading="false" value="{{d.sort}}" class="layui-input text-center">
|
||||
</script>
|
||||
|
||||
<!-- 数据状态切换模板 -->
|
||||
<script type="text/html" id="StatusSwitchTpl">
|
||||
<!--{if auth("state")}-->
|
||||
<input type="checkbox" value="{{d.id}}" lay-skin="switch" lay-text="已激活|已禁用" lay-filter="StatusSwitch" {{d.status>0?'checked':''}}>
|
||||
<!--{else}-->
|
||||
{{d.status ? '<b class="color-green">已启用</b>' : '<b class="color-red">已禁用</b>'}}
|
||||
<!--{/if}-->
|
||||
</script>
|
||||
|
||||
<!-- 数据操作工具条模板 -->
|
||||
<script type="text/html" id="toolbar">
|
||||
<!--{if auth("edit") and isset($type) and $type eq 'index'}-->
|
||||
<a class="layui-btn layui-btn-primary layui-btn-sm" data-open='{:url("edit")}?id={{d.id}}'>编 辑</a>
|
||||
<!--{/if}-->
|
||||
|
||||
<!--{if auth("remove") and isset($type) and $type neq 'index'}-->
|
||||
<a class="layui-btn layui-btn-danger layui-btn-sm" data-action="{:url('remove')}" data-value="id#{{d.id}}" data-confirm="确定要删除文章吗?">删 除</a>
|
||||
<!--{/if}-->
|
||||
</script>
|
||||
{/block}
|
||||
@ -1,6 +1,23 @@
|
||||
<fieldset>
|
||||
<legend>条件搜索</legend>
|
||||
<form action="{:sysuri()}" autocomplete="off" class="layui-form layui-form-pane form-search" method="get" onsubmit="return false">
|
||||
|
||||
<!-- {notempty name='marks'} -->
|
||||
<div class="layui-form-item layui-inline">
|
||||
<label class="layui-form-label">文章标签</label>
|
||||
<div class="layui-input-inline">
|
||||
<select name="mark" lay-search class="layui-select">
|
||||
<option value=''>-- 文章标签 --</option>
|
||||
{foreach $marks as $mark}{if isset($get.mark) and $mark eq $get.mark}
|
||||
<option selected value="{$mark.name}">{$mark.name}</option>
|
||||
{else}
|
||||
<option value="{$mark.name}">{$mark.name}</option>
|
||||
{/if}{/foreach}
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
<!-- {/notempty} -->
|
||||
|
||||
<div class="layui-form-item layui-inline">
|
||||
<label class="layui-form-label">文章标题</label>
|
||||
<label class="layui-input-inline">
|
||||
@ -8,28 +25,6 @@
|
||||
</label>
|
||||
</div>
|
||||
|
||||
<div class="layui-form-item layui-inline">
|
||||
<label class="layui-form-label">搜索标签</label>
|
||||
<label class="layui-input-inline">
|
||||
<input class="layui-input" name="mark" placeholder="请输入搜索标签" value="{$get.mark|default=''}">
|
||||
</label>
|
||||
</div>
|
||||
|
||||
<div class="layui-form-item layui-inline">
|
||||
<label class="layui-form-label">使用状态</label>
|
||||
<div class="layui-input-inline">
|
||||
<select class="layui-select" name="status">
|
||||
<option value=''>-- 全部 --</option>
|
||||
{foreach ['显示禁止的文章', '显示正常的文章'] as $k=>$v}
|
||||
{if $k.'' eq input('status')}
|
||||
<option selected value="{$k}">{$v}</option>
|
||||
{else}
|
||||
<option value="{$k}">{$v}</option>
|
||||
{/if}{/foreach}
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="layui-form-item layui-inline">
|
||||
<label class="layui-form-label">创建时间</label>
|
||||
<label class="layui-input-inline">
|
||||
|
||||
@ -1,41 +1,87 @@
|
||||
{extend name="../../admin/view/full"}
|
||||
{block name="content"}
|
||||
<div class="iframe-pagination notfooter">
|
||||
<fieldset>
|
||||
<legend>条件搜索</legend>
|
||||
<form action="{:sysuri()}" id="NewsTableSearch" autocomplete="off" class="layui-form layui-form-pane form-search" method="get" onsubmit="return false">
|
||||
|
||||
{block name='content'}
|
||||
<div class="iframe-pagination">
|
||||
{include file='news/item/select_search'}
|
||||
<table class="layui-table" lay-skin="line">
|
||||
{notempty name='list'}
|
||||
<thead>
|
||||
<tr>
|
||||
<th>文章标题</th>
|
||||
<th>文章状态</th>
|
||||
<th>创建时间</th>
|
||||
<th></th>
|
||||
</tr>
|
||||
</thead>
|
||||
{/notempty}
|
||||
<tbody>
|
||||
{foreach $list as $key => $vo}
|
||||
<tr>
|
||||
<td class="nowrap">{$vo.name|default=''}</td>
|
||||
<td>{if $vo.status eq 0}<span class="color-red">已禁用</span>{elseif $vo.status eq 1}<span class="color-green">已激活</span>{/if}</td>
|
||||
<td>{$vo.create_at|format_datetime}</td>
|
||||
<td class='text-right'><a class="layui-btn layui-btn-sm layui-btn-normal" data-item="{$vo.code}">选择文章</a></td>
|
||||
</tr>
|
||||
{/foreach}
|
||||
</tbody>
|
||||
</table>
|
||||
{empty name='list'}<span class="notdata">没有记录哦</span>{else}{$pagehtml|raw|default=''}{/empty}
|
||||
<!-- {notempty name='marks'} -->
|
||||
<div class="layui-form-item layui-inline">
|
||||
<label class="layui-form-label">文章标签</label>
|
||||
<div class="layui-input-inline">
|
||||
<select name="mark" lay-search class="layui-select">
|
||||
<option value=''>-- 文章标签 --</option>
|
||||
{foreach $marks as $mark}{if isset($get.mark) and $mark eq $get.mark}
|
||||
<option selected value="{$mark.name}">{$mark.name}</option>
|
||||
{else}
|
||||
<option value="{$mark.name}">{$mark.name}</option>
|
||||
{/if}{/foreach}
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
<!-- {/notempty} -->
|
||||
|
||||
<div class="layui-form-item layui-inline">
|
||||
<label class="layui-form-label">文章标题</label>
|
||||
<label class="layui-input-inline">
|
||||
<input class="layui-input" name="name" placeholder="请输入文章标题" value="{$get.name|default=''}">
|
||||
</label>
|
||||
</div>
|
||||
|
||||
<div class="layui-form-item layui-inline">
|
||||
<label class="layui-form-label">创建时间</label>
|
||||
<label class="layui-input-inline">
|
||||
<input class="layui-input" data-date-range name="create_at" placeholder="请选择创建时间" value="{$get.create_at|default=''}">
|
||||
</label>
|
||||
</div>
|
||||
|
||||
<div class="layui-form-item layui-inline">
|
||||
<button class="layui-btn layui-btn-primary"><i class="layui-icon"></i> 搜 索</button>
|
||||
</div>
|
||||
</form>
|
||||
</fieldset>
|
||||
<table id="NewsTable" data-url="{:sysuri()}" data-target-search="#NewsTableSearch"></table>
|
||||
</div>
|
||||
{/block}
|
||||
|
||||
{block name='script'}
|
||||
<script>
|
||||
$(function () {
|
||||
$.form.reInit(), $('[data-item]').on('click', function () {
|
||||
top.setItemValue(this.getAttribute('data-item') || '');
|
||||
parent.layer.close(parent.layer.getFrameIndex(window.name));
|
||||
// 初始化表格组件
|
||||
$('#NewsTable').layTable({
|
||||
even: true, height: 'full',
|
||||
sort: {field: 'sort desc,id', type: 'desc'},
|
||||
cols: [[
|
||||
{field: 'id', title: 'ID', align: 'center', width: 60, sort: true},
|
||||
/* {notempty name='marks'} */
|
||||
{
|
||||
field: 'mark', title: '文章标签', align: 'left', minWidth: 100, templet: function (d) {
|
||||
return (d.html = ''), d.mark.forEach(function (val) {
|
||||
d.html += '<span class="layui-badge layui-bg-blue">' + val + '</span>';
|
||||
}), d.html;
|
||||
}
|
||||
},
|
||||
/* {/marks} */
|
||||
{field: 'name', title: '文章标题', align: 'left', minWidth: 140},
|
||||
{field: 'num_read', title: '阅读数', align: 'center', width: 85, sort: true, style: 'color:blue;font-size:16px'},
|
||||
{field: 'status', title: '状态', align: 'center', width: 80, templet: '#StatusSwitchTpl'},
|
||||
{field: 'create_at', title: '创建时间', align: 'center', width: 170, sort: true},
|
||||
{toolbar: '#toolbar', title: '操作', align: 'center', width: 100}
|
||||
]]
|
||||
}).trigger('tool', function (item) {
|
||||
window.setItemValue(item.data.id, item.data.name);
|
||||
item.tr.parents('div.layui-layer-page').find('a.layui-layer-close').trigger('click');
|
||||
});
|
||||
});
|
||||
</script>
|
||||
|
||||
<!-- 操作工具条模板 -->
|
||||
<script type="text/html" id="toolbar">
|
||||
<a class="layui-btn layui-btn-sm" lay-event="select">选 择</a>
|
||||
</script>
|
||||
|
||||
<!-- 数据状态切换模板 -->
|
||||
<script type="text/html" id="StatusSwitchTpl">
|
||||
{{d.status ? '<b class="color-green">已激活</b>' : '<b class="color-red">已禁用</b>'}}
|
||||
</script>
|
||||
|
||||
{/block}
|
||||
|
||||
@ -1,36 +0,0 @@
|
||||
<fieldset>
|
||||
<legend>条件搜索</legend>
|
||||
<form action="{:sysuri()}" autocomplete="off" class="layui-form layui-form-pane form-search" method="get" onsubmit="return false">
|
||||
<div class="layui-form-item layui-inline">
|
||||
<label class="layui-form-label">文章标题</label>
|
||||
<label class="layui-input-inline">
|
||||
<input class="layui-input" name="name" placeholder="请输入文章标题" value="{$get.name|default=''}">
|
||||
</label>
|
||||
</div>
|
||||
|
||||
<div class="layui-form-item layui-inline">
|
||||
<label class="layui-form-label">使用状态</label>
|
||||
<div class="layui-input-inline">
|
||||
<select class="layui-select" name="status">
|
||||
{foreach [''=>'-- 全部 --','0'=>'显示禁止的文章','1'=>'显示正常的文章'] as $k=>$v}
|
||||
{if $k.'' eq input('status')}
|
||||
<option selected value="{$k}">{$v}</option>
|
||||
{else}
|
||||
<option value="{$k}">{$v}</option>
|
||||
{/if}{/foreach}
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="layui-form-item layui-inline">
|
||||
<label class="layui-form-label">创建时间</label>
|
||||
<label class="layui-input-inline">
|
||||
<input class="layui-input" data-date-range name="create_at" placeholder="请选择创建时间" value="{$get.create_at|default=''}">
|
||||
</label>
|
||||
</div>
|
||||
|
||||
<div class="layui-form-item layui-inline">
|
||||
<button class="layui-btn layui-btn-primary"><i class="layui-icon"></i> 搜 索</button>
|
||||
</div>
|
||||
</form>
|
||||
</fieldset>
|
||||
@ -2,7 +2,7 @@
|
||||
|
||||
{block name="content"}
|
||||
{include file='shop/goods/formstyle'}
|
||||
<form autocomplete="off" class='layui-form layui-card' data-auto="true" id="GoodsForm" method="post" onsubmit="return false;">
|
||||
<form action="{:sysuri()}" method="post" data-auto="true" class="layui-form layui-card" id="GoodsForm">
|
||||
<div class="layui-card-body padding-40 padding-bottom-20">
|
||||
|
||||
<!--{notempty name='marks'}-->
|
||||
|
||||
@ -1,4 +1,4 @@
|
||||
<form action="{:sysuri()}?code={$get.code|default=''}" autocomplete="off" class="layui-form layui-card" data-auto="true" method="post">
|
||||
<form action="{:sysuri()}?code={$get.code|default=''}" class="layui-form layui-card" data-auto="true" method="post">
|
||||
<div class="layui-card-body padding-left-40">
|
||||
|
||||
<div class="layui-form-item relative block">
|
||||
|
||||
@ -1,4 +1,4 @@
|
||||
<form action="{:sysuri()}" data-table-id="TagsData" class="layui-form layui-card" data-auto="true" method="post">
|
||||
<form action="{:sysuri()}" method="post" data-auto="true" class="layui-form layui-card" data-table-id="TagsData">
|
||||
<div class="layui-card-body padding-left-40">
|
||||
|
||||
<label class="layui-form-item relative block">
|
||||
|
||||
@ -1,4 +1,4 @@
|
||||
<form action="{:sysuri()}" autocomplete="off" class="layui-form layui-card" data-auto="true" method="post">
|
||||
<form action="{:sysuri()}" method="post" data-auto="true" class="layui-form layui-card">
|
||||
|
||||
<div class="layui-card-body padding-left-40">
|
||||
|
||||
|
||||
@ -1,18 +1,18 @@
|
||||
<form action="{:sysuri()}" autocomplete="off" class="layui-form layui-card margin-bottom-0" data-auto="true" method="post">
|
||||
<form action="{:sysuri()}" method="post" data-auto="true" class="layui-form layui-card">
|
||||
<div class="layui-card-body padding-left-40">
|
||||
|
||||
<label class="layui-form-item relative block">
|
||||
<span class="color-green font-w7 label-required-prev">发货人姓名</span>
|
||||
<span class="help-label"><b>发货人姓名</b></span>
|
||||
<input class="layui-input" name="name" placeholder="请输入发货人姓名" required value="{$vo.name|default=''}">
|
||||
</label>
|
||||
|
||||
<label class="layui-form-item relative block">
|
||||
<span class="color-green font-w7 label-required-prev">发货人手机</span>
|
||||
<span class="help-label"><b>发货人手机</b></span>
|
||||
<input class="layui-input" name="phone" placeholder="请输入发货人手机" required value="{$vo.phone|default=''}">
|
||||
</label>
|
||||
|
||||
<div class="layui-form-item relative block">
|
||||
<span class="color-green font-w7 label-required-prev">发货所在区域</span>
|
||||
<div class="layui-form-item label-required-prev">
|
||||
<span class="help-label"><b>发货所在区域</b></span>
|
||||
<div class="layui-row layui-col-space10">
|
||||
<label class="layui-col-xs4"><select class="layui-select block full-width" lay-ignore name="province"></select></label>
|
||||
<label class="layui-col-xs4"><select class="layui-select block full-width" lay-ignore name="city"></select></label>
|
||||
@ -21,7 +21,7 @@
|
||||
</div>
|
||||
|
||||
<label class="layui-form-item relative block">
|
||||
<span class="color-green font-w7 label-required-prev">发货详细地址</span>
|
||||
<span class="help-label"><b>发货详细地址</b></span>
|
||||
<textarea class="layui-textarea" name="content" placeholder="请输入发货详细地址" required>{$vo.content|default=""}</textarea>
|
||||
</label>
|
||||
</div>
|
||||
|
||||
@ -1,4 +1,4 @@
|
||||
<form action="{:sysuri()}" autocomplete="off" class="layui-form layui-card margin-bottom-0 overhide" data-auto="true" method="post">
|
||||
<form action="{:sysuri()}" method="post" data-auto="true" class="layui-form layui-card">
|
||||
<div class="layui-card-body padding-left-40">
|
||||
<fieldset>
|
||||
<legend><span class="layui-badge layui-bg-cyan">收货信息</span></legend>
|
||||
|
||||
@ -1,4 +1,4 @@
|
||||
<form action="{:sysuri()}" autocomplete="off" class="layui-form layui-card overhide" data-auto="true" method="post">
|
||||
<form action="{:sysuri()}" method="post" data-auto="true" class="layui-form layui-card">
|
||||
<div class="layui-card-body padding-left-40">
|
||||
|
||||
<fieldset class="layui-form-item">
|
||||
@ -11,13 +11,11 @@
|
||||
</div>
|
||||
<div class="layui-col-xs9">
|
||||
<label class="layui-form-item relative block">
|
||||
<span class="color-green font-w7">微信昵称</span>
|
||||
<span class="color-desc margin-left-5">Wechat Nickname</span>
|
||||
<span class="help-label"><b>微信昵称</b>Wechat Nickname</span>
|
||||
<input class="layui-input layui-bg-gray" data-bind="nickname" placeholder="请使用微信扫码登录" readonly value="{$user.nickname|default=''}">
|
||||
</label>
|
||||
<label class="relative block">
|
||||
<span class="color-green font-w7">微信标识</span>
|
||||
<span class="color-desc margin-left-5">Wechat Openid</span>
|
||||
<span class="help-label"><b>微信标识</b>Wechat Openid</span>
|
||||
<input class="layui-input layui-bg-gray" data-bind="openid" placeholder="请使用微信扫码登录" readonly value="{$user['openid1']?:$user['openid2']}">
|
||||
</label>
|
||||
</div>
|
||||
@ -25,28 +23,24 @@
|
||||
</fieldset>
|
||||
|
||||
<label class="layui-form-item layui-hide">
|
||||
<span class="color-green font-w7">充值单号</span>
|
||||
<span class="color-desc margin-left-5">Code</span>
|
||||
<span class="help-label"><b>充值单号</b>Code</span>
|
||||
<input class="layui-input layui-bg-gray" name="code" placeholder="请输入充值单号" readonly required value="{$vo.code|default=''}">
|
||||
</label>
|
||||
|
||||
<label class="layui-form-item layui-hide">
|
||||
<span class="color-green font-w7">余额充值名称</span>
|
||||
<span class="color-desc margin-left-5">Name</span>
|
||||
<span class="help-label"><b>余额充值名称</b>Name</span>
|
||||
<input class="layui-input" maxlength="100" name="name" placeholder="请输入余额充值名称" required value="{$vo.name|default='后台余额充值'}">
|
||||
</label>
|
||||
|
||||
<label class="layui-form-item relative block">
|
||||
<span class="color-green font-w7">充值账户余额</span>
|
||||
<span class="color-desc margin-left-5">Amount</span>
|
||||
<span class="help-label"><b>充值账户余额</b>Amount</span>
|
||||
<input class="layui-input" data-blur-number="2" data-value-max="999999999.99" maxlength="12" name="amount" placeholder="请输入充值账户余额" required value="{$vo.amount|default='0.00'}">
|
||||
<span class="help-block">请输入要充值的金额,充值后可以使用此余额购买商品</span>
|
||||
</label>
|
||||
|
||||
<div class="layui-form-item">
|
||||
<span class="color-green font-w7 label-required-prev">升级用户等级</span>
|
||||
<span class="color-desc margin-left-5">Upgrade</span>
|
||||
<select class="layui-select" lay-filter="upgrade" name="upgrade">
|
||||
<div class="layui-form-item label-required-prev">
|
||||
<span class="help-label"><b>升级用户等级</b>Upgrade</span>
|
||||
<select class="layui-select" name="upgrade" lay-filter="upgrade">
|
||||
<option value="0">-- 不升级 --</option>
|
||||
{foreach $upgrades as $upgrade}{if isset($vo.upgrade) and $vo.upgrade eq $upgrade.number}
|
||||
<option selected value="{$upgrade.number|default=0}">升级到 [ VIP{$upgrade.number|default='0'} ] {$upgrade.name|default=''}</option>
|
||||
@ -58,8 +52,7 @@
|
||||
</div>
|
||||
|
||||
<div class="layui-form-item relative block">
|
||||
<span class="color-green font-w7">余额充值备注</span>
|
||||
<span class="color-desc margin-left-5">Remark</span>
|
||||
<span class="help-label"><b>余额充值备注</b>Remark</span>
|
||||
<label class="relative block">
|
||||
<textarea class="layui-textarea" name="remark" placeholder="请输入余额充值备注">{$vo.remark|default=''}</textarea>
|
||||
</label>
|
||||
|
||||
@ -5,12 +5,12 @@
|
||||
注意:短信接口配置的参数不能随意修改,会影响到用户注册发送短信通知功能,若有需要调整请联系客服!
|
||||
</div>
|
||||
<div class="think-box-shadow">
|
||||
<form action="{$request->url()}" autocomplete="off" class='layui-form layui-card shadow-none' data-auto="true" method="post" onsubmit="return false;" style="width:800px">
|
||||
<form action="{:sysuri()}" method="post" data-auto="true" class="layui-form layui-card" style="width:800px">
|
||||
|
||||
<div class="layui-card-body padding-left-40">
|
||||
|
||||
<label class="layui-form-item block relative">
|
||||
<span class="color-green font-w7 margin-right-10">接口查询状态</span><span class="nowrap color-desc">Status</span>
|
||||
<span class="help-label"><b>接口查询状态</b>Status</span>
|
||||
{if empty($result.0)}
|
||||
<span class="layui-input layui-bg-gray color-red">{$result.1|default=''}</span>
|
||||
{elseif $result.0 eq 1}
|
||||
@ -22,25 +22,25 @@
|
||||
</label>
|
||||
|
||||
<label class="layui-form-item block relative">
|
||||
<span class="color-green font-w7 margin-right-10">短信授权账号</span><span class="nowrap color-desc">Username</span>
|
||||
<span class="help-label"><b>短信授权账号</b>Username</span>
|
||||
<input class="layui-input" name="zt.username" placeholder="请输入短信授权账号" required value="{:sysconf('zt.username')}">
|
||||
<span class="help-block">短信授权账号,可以联系 18122377655 获取账号与密码</span>
|
||||
</label>
|
||||
|
||||
<label class="layui-form-item block relative">
|
||||
<span class="color-green font-w7 margin-right-10">短信授权密码</span><span class="nowrap color-desc">Password</span>
|
||||
<span class="help-label"><b>短信授权密码</b>Password</span>
|
||||
<input class="layui-input" name="zt.password" placeholder="请输入短信授权密码" required value="{:sysconf('zt.password')}">
|
||||
<span class="help-block">短信授权密码,可以联系 18122377655 获取账号与密码</span>
|
||||
</label>
|
||||
|
||||
<label class="layui-form-item block relative">
|
||||
<span class="color-green font-w7 margin-right-10">短信发送安全码</span><span class="nowrap color-desc">SecureCode</span>
|
||||
<span class="help-label"><b>短信发送安全码</b>SecureCode</span>
|
||||
<input class="layui-input" name="zt.secure_code" placeholder="请输入短信发送安全码" required value="{:sysconf('zt.secure_code')}">
|
||||
<span class="help-block">短信发送安全码,调用接口发短信时需要传入此参数</span>
|
||||
</label>
|
||||
|
||||
<label class="layui-form-item block relative">
|
||||
<span class="color-green font-w7 margin-right-10">用户注册通知模板</span><span class="nowrap color-desc">RegisterTemplate</span>
|
||||
<span class="help-label"><b>用户注册通知模板</b>RegisterTemplate</span>
|
||||
<textarea class="layui-textarea" name="zt.tplcode_register">{:sysconf('zt.tplcode_register')}</textarea>
|
||||
<span class="help-block">用户注册短信模板,验证码变量使用 {code} 代替</span>
|
||||
</label>
|
||||
|
||||
@ -1,7 +1,7 @@
|
||||
{extend name="../../admin/view/main"}
|
||||
|
||||
{block name='content'}
|
||||
<form action="{:sysuri()}" autocomplete="off" class="layui-form layui-card" data-auto="true" method="post">
|
||||
<form action="{:sysuri()}" method="post" data-auto="true" class="layui-form layui-card">
|
||||
<div class="layui-card-body" style="min-width:1000px">
|
||||
|
||||
<!-- 结算方式 开始 -->
|
||||
|
||||
@ -1,22 +1,22 @@
|
||||
<form action="{:sysuri()}" autocomplete="off" class="layui-form layui-card" data-auto="true" method="post">
|
||||
<form action="{:sysuri()}" method="post" data-auto="true" class="layui-form layui-card">
|
||||
|
||||
<div class="layui-card-body padding-left-40">
|
||||
|
||||
<div class="layui-row layui-form-item layui-col-space15">
|
||||
<label class="layui-col-xs3">
|
||||
<span class="color-green font-w7">提现单号</span>
|
||||
<span class="help-label"><b>提现单号</b></span>
|
||||
<input class='layui-input layui-disabled layui-bg-gray' disabled value='{$vo.code|default="-"}'>
|
||||
</label>
|
||||
<label class="layui-col-xs3">
|
||||
<span class="color-green font-w7">提现金额</span>
|
||||
<span class="help-label"><b>提现金额</b></span>
|
||||
<input class='layui-input layui-disabled layui-bg-gray' disabled value='{$vo.amount|default="0.00"}'>
|
||||
</label>
|
||||
<label class="layui-col-xs3">
|
||||
<span class="color-green font-w7">提现手续费</span>
|
||||
<span class="help-label"><b>提现手续费</b></span>
|
||||
<input class='layui-input layui-disabled layui-bg-gray' disabled value='{$vo.charge_amount|default="0.00"}'>
|
||||
</label>
|
||||
<label class="layui-col-xs3">
|
||||
<span class="color-green font-w7 label-required-prev">提现方式</span>
|
||||
<span class="help-label"><b>提现方式</b></span>
|
||||
<input class='layui-input layui-disabled layui-bg-gray' disabled value='{$vo.type|default="-"}'>
|
||||
</label>
|
||||
</div>
|
||||
|
||||
@ -23,7 +23,7 @@
|
||||
}
|
||||
</style>
|
||||
|
||||
<form action="{:sysuri()}" class="layui-form layui-card" data-auto="true" method="post">
|
||||
<form action="{:sysuri()}" method="post" data-auto="true" class="layui-form layui-card">
|
||||
<div class="layui-card-body padding-left-40">
|
||||
|
||||
<div class="layui-form-item relative block">
|
||||
@ -40,15 +40,13 @@
|
||||
</div>
|
||||
|
||||
<label class="layui-form-item relative block">
|
||||
<span class="color-green font-w7 label-required-prev">提现手续费配置</span>
|
||||
<span class="color-desc margin-left-5">Transfer Charge</span>
|
||||
<input class='layui-input' data-blur-number="4" data-value-max="50.0000" data-value-min="0.0000" name="charge" value='{$data.charge|default="0.0000"}'>
|
||||
<span class="help-label"><b>提现手续费配置</b>Transfer Charge</span>
|
||||
<input class='layui-input' required data-blur-number="4" data-value-max="50.0000" data-value-min="0.0000" name="charge" value='{$data.charge|default="0.0000"}'>
|
||||
<span class='help-block'>请输入提现金额的百分比,费率的取值范围为 0.0000% - 50.0000%</span>
|
||||
</label>
|
||||
|
||||
<div class="layui-form-item">
|
||||
<span class="color-green font-w7 label-required-prev">提现方式状态配置</span>
|
||||
<span class="color-desc margin-left-5">Transfer Types</span>
|
||||
<div class="layui-form-item label-required-prev">
|
||||
<span class="help-label"><b>提现方式状态配置</b>Transfer Types</span>
|
||||
<table class="layui-table payment-type" lay-skin="nob">
|
||||
<thead>
|
||||
<tr>
|
||||
@ -115,8 +113,7 @@
|
||||
</div>
|
||||
|
||||
<div class="layui-form-item relative block">
|
||||
<span class="color-green font-w7">用户提现描述内容</span>
|
||||
<span class="color-desc margin-left-5">Transfer Remark</span>
|
||||
<span class="help-label"><b>用户提现描述内容</b>Transfer Remark</span>
|
||||
<label class="relative block">
|
||||
<textarea class="layui-textarea" name="remark" placeholder="请输入用户提现描述内容">{$data.remark|default=''}</textarea>
|
||||
</label>
|
||||
|
||||
@ -1,9 +1,9 @@
|
||||
<form action="{:sysuri()}" autocomplete="off" class="layui-form layui-card" data-auto="true" method="post">
|
||||
<form action="{:sysuri()}" method="post" data-auto="true" class="layui-form layui-card">
|
||||
<div class="layui-card-body padding-left-40">
|
||||
|
||||
<div class="layui-form-item label-required-prev">
|
||||
<span class="help-label"><b>绑定公众号</b>Bind WeChat Type</span>
|
||||
<div class="layui-textarea" style="min-height:unset">
|
||||
<div class="layui-textarea help-checks">
|
||||
{php} $data['wechat_type'] = $data['wechat_type'] ?? 'normal'; {/php}
|
||||
{foreach ['normal'=>'兼容模式', 'wxapp'=>'微信小程序', 'wechat'=>'微信服务号'] as $k=>$v}
|
||||
{if $k eq $data.wechat_type}
|
||||
@ -22,20 +22,19 @@
|
||||
</label>
|
||||
|
||||
<label class="layui-form-item block relative">
|
||||
<span class="color-green font-w7">微信商户密钥</span>
|
||||
<span class="color-desc margin-left-5">WeChat Payment Secret Key</span>
|
||||
<span class="help-label"><b>微信商户密钥</b>WeChat Payment Secret Key</span>
|
||||
<input class="layui-input" maxlength="32" name="wechat_mch_key" pattern=".{32}" placeholder="请输入32位微信商户密钥(必填)" required value="{$data.wechat_mch_key|default=''}">
|
||||
<span class="help-block">微信商户密钥,需要在微信商户平台操作设置密码并获取密钥,建议定期更换密钥</span>
|
||||
</label>
|
||||
|
||||
<label class="layui-form-item block relative">
|
||||
<span class="color-green font-w7">微信商户密钥文件内容</span><span class="nowrap color-desc">( 需要填写文件的全部内容 )</span>
|
||||
<span class="help-label"><b>微信商户密钥文件内容</b>( 需要填写文件的全部内容 )</span>
|
||||
<textarea class="layui-textarea" name="wechat_mch_key_text" placeholder="请输入微信商户 KEY 密钥内容" required>{$data.wechat_mch_key_text|default=''}</textarea>
|
||||
<span class="help-block">从商户平台上下载支付证书,解压并取得其中的 apiclient_key.pem 用记事本打开并复制文件内容填至此处</span>
|
||||
</label>
|
||||
|
||||
<label class="layui-form-item block relative">
|
||||
<span class="color-green font-w7">微信商户证书文件内容</span><span class="nowrap color-desc">( 需要填写文件的全部内容 )</span>
|
||||
<span class="help-label"><b>微信商户证书文件内容</b>( 需要填写文件的全部内容 )</span>
|
||||
<textarea class="layui-textarea" name="wechat_mch_cert_text" placeholder="请输入微信商户 CERT 证书内容" required>{$data.wechat_mch_cert_text|default=''}</textarea>
|
||||
<span class="help-block">从商户平台上下载支付证书,解压并取得其中的 apiclient_cert.pem 用记事本打开并复制文件内容填至此处</span>
|
||||
</label>
|
||||
|
||||
@ -37,7 +37,7 @@
|
||||
<div class='mobile-body' data-iframe-box></div>
|
||||
</div>
|
||||
<div class="keys-container inline-block absolute margin-left-10 margin-right-15">
|
||||
<form class="layui-form" onsubmit="return false" autocomplete="off" data-auto="true" action="{:request()->url()}" method="post">
|
||||
<form action="{:sysuri()}" method="post" data-auto="true" class="layui-form layui-card">
|
||||
<div class="layui-card relative">
|
||||
<div class="layui-card-header layui-bg-gray text-center">编辑关键字</div>
|
||||
<div class="layui-card-body">
|
||||
|
||||
@ -1,4 +1,4 @@
|
||||
<form onsubmit="return false;" data-auto="true" method="post" class='layui-form layui-card shadow-none' autocomplete="off">
|
||||
<form action="{:sysuri()}" method="post" data-auto="true" class="layui-form layui-card">
|
||||
|
||||
<div class="layui-card-header border-0">
|
||||
<div class="layui-bg-gray padding-col-20 border-radius-5 layui-elip">
|
||||
|
||||
@ -1,4 +1,4 @@
|
||||
<form onsubmit="return false;" data-auto="true" method="post" class='layui-form layui-card shadow-none' autocomplete="off">
|
||||
<form action="{:sysuri()}" method="post" data-auto="true" class="layui-form layui-card">
|
||||
|
||||
<div class="layui-card-header border-0">
|
||||
<div class="layui-bg-gray padding-col-20 border-radius-5 layui-elip">
|
||||
|
||||
@ -9,7 +9,7 @@
|
||||
{block name="content"}
|
||||
<div class="think-box-shadow">
|
||||
<div class="layui-anim layui-anim-fadein padding-top-20" style="width:850px">
|
||||
<form onsubmit="return false;" action="{:url('payment_save')}" data-auto="true" method="post" class='layui-form layui-card shadow-none' autocomplete="off" lay-filter="payment">
|
||||
<form action="{:url('payment_save')}" method="post" data-auto="true" class='layui-form layui-card shadow-none' lay-filter="payment">
|
||||
|
||||
<div class="layui-card-header border-0">
|
||||
<div class="layui-bg-gray padding-col-20 border-radius-5">
|
||||
|
||||
@ -35,7 +35,7 @@
|
||||
<div class='mobile-body' data-iframe-box></div>
|
||||
</div>
|
||||
<div class="keys-container inline-block absolute margin-left-10 margin-right-15">
|
||||
<form class="layui-form" onsubmit="return false" autocomplete="off" data-auto="true" action="{:request()->url()}" method="post">
|
||||
<form action="{:sysuri()}" method="post" data-auto="true" class="layui-form layui-card">
|
||||
<div class="layui-card relative shadow-none">
|
||||
<div class="layui-card-header layui-bg-gray text-center">编辑关键字</div>
|
||||
<div class="layui-card-body">
|
||||
|
||||
82
public/static/plugs/jquery/area/area.js
vendored
82
public/static/plugs/jquery/area/area.js
vendored
@ -1,82 +0,0 @@
|
||||
/********************************************************
|
||||
*** 加载脚本文件 ***
|
||||
<script src="pcasunzip.js"></script>
|
||||
|
||||
*** 省市联动 ***
|
||||
new PCAS("Province","City")
|
||||
new PCAS("Province","City","吉林省")
|
||||
new PCAS("Province","City","吉林省","吉林市")
|
||||
|
||||
*** 省市区联动 ***
|
||||
new PCAS("Province","City","Area")
|
||||
new PCAS("Province","City","Area","吉林省")
|
||||
new PCAS("Province","City","Area","吉林省","松原市")
|
||||
new PCAS("Province","City","Area","吉林省","松原市","宁江区")
|
||||
|
||||
省、市、地区对象取得的值均为实际值。
|
||||
注:省、市、地区提示信息选项的值为""(空字符串)
|
||||
*********************************************************/
|
||||
|
||||
SPT = window.SPT || "-省份-";
|
||||
SCT = window.SCT || "-城市-";
|
||||
SAT = window.SAT || "-地区-";
|
||||
SWT = window.SWT || 0; // 提示文字 0:不显示 1:显示
|
||||
|
||||
function PCAS() {
|
||||
this.SelP = document.getElementsByName(arguments[0])[0];
|
||||
this.SelC = document.getElementsByName(arguments[1])[0];
|
||||
this.SelA = document.getElementsByName(arguments[2])[0];
|
||||
this.DefP = this.SelA ? arguments[3] : arguments[2];
|
||||
this.DefC = this.SelA ? arguments[4] : arguments[3];
|
||||
this.DefA = this.SelA ? arguments[5] : arguments[4];
|
||||
if (this.SelP) this.SelP.PCA = this;
|
||||
if (this.SelC) this.SelC.PCA = this;
|
||||
if (this.SelA) this.SelA.PCA = this;
|
||||
if (this.SelP && this.SelC) {
|
||||
this.SelP.onchange = function () {
|
||||
PCAS.SetC(this.PCA)
|
||||
};
|
||||
if (this.SelA) this.SelC.onchange = function () {
|
||||
PCAS.SetA(this.PCA)
|
||||
};
|
||||
}
|
||||
PCAS.init(this).SetP(this)
|
||||
}
|
||||
|
||||
PCAS.init = function (PCA) {
|
||||
PCA.PCAP = [], PCA.PCAC = [], PCA.PCAA = [], PCA.PCAD = "__STRING__";
|
||||
if (SWT) PCA.PCAD = SPT + "$" + SCT + "," + SAT + "#" + PCA.PCAD;
|
||||
PCA.PCAD.split("#").forEach(function (VAL1, ID1) {
|
||||
PCA.PCAP[ID1] = VAL1.split("$")[0], PCA.PCAC[ID1] = [], PCA.PCAA[ID1] = [];
|
||||
VAL1.split("$")[1].split("|").forEach(function (VAL2, ID2) {
|
||||
PCA.PCAC[ID1].push((PCA.PCAR = VAL2.split(",")).shift()), PCA.PCAA[ID1][ID2] = PCA.PCAR;
|
||||
});
|
||||
});
|
||||
return this;
|
||||
};
|
||||
PCAS.SetP = function (PCA) {
|
||||
PCA.PCAP.forEach(function (VAL, IDX) {
|
||||
PCA.PCAT = PCA.PCAV = VAL;
|
||||
if (PCA.PCAT === SPT) PCA.PCAV = "";
|
||||
PCA.SelP.options.add(new Option(PCA.PCAT, PCA.PCAV));
|
||||
if (PCA.DefP === PCA.PCAV) PCA.SelP[IDX].selected = true
|
||||
}), PCA.SelC ? PCAS.SetC(PCA) : $(PCA.SelP).trigger('change');
|
||||
};
|
||||
PCAS.SetC = function (PCA) {
|
||||
PCA.SelC.length = 0;
|
||||
PCA.PCAC[PCA.SelP.selectedIndex].forEach(function (VAL, IDX) {
|
||||
PCA.PCAT = PCA.PCAV = VAL;
|
||||
if (PCA.PCAT === SCT) PCA.PCAV = "";
|
||||
PCA.SelC.options.add(new Option(PCA.PCAT, PCA.PCAV));
|
||||
if (PCA.DefC === PCA.PCAV) PCA.SelC[IDX].selected = true
|
||||
}), PCA.SelA ? PCAS.SetA(PCA) : $(PCA.SelC).trigger('change');
|
||||
};
|
||||
PCAS.SetA = function (PCA) {
|
||||
PCA.SelA.length = 0;
|
||||
PCA.PCAA[PCA.SelP.selectedIndex][PCA.SelC.selectedIndex].forEach(function (VAL, IDX) {
|
||||
PCA.PCAT = PCA.PCAV = VAL;
|
||||
if (PCA.PCAT === SAT) PCA.PCAV = "";
|
||||
PCA.SelA.options.add(new Option(PCA.PCAT, PCA.PCAV));
|
||||
if (PCA.DefA === PCA.PCAV) PCA.SelA[IDX].selected = true
|
||||
}), $(PCA.SelA).trigger('change')
|
||||
};
|
||||
@ -1,23 +1,24 @@
|
||||
<?php
|
||||
|
||||
header('content-type:application/json');
|
||||
PHP_SAPI === 'cli' or die('Can only run in CLI mode.');
|
||||
|
||||
$items = [];
|
||||
// 从腾讯地址接口获取数据
|
||||
$url = 'https://apis.map.qq.com/ws/district/v1/list?key=AVDBZ-VXMC6-VD2SU-M7DX2-TGSV7-WVF3U';
|
||||
$result = json_decode(file_get_contents($url), true)['result'];
|
||||
|
||||
$items = [];
|
||||
foreach ($result[0] as $pro) {
|
||||
$items[$pro['id']] = ['name' => $pro['fullname'], 'list' => []];
|
||||
}
|
||||
|
||||
foreach ($result[1] as $city) {
|
||||
$pkey = substr($city['id'], 0, 2) . '0000';
|
||||
if (substr($city['id'], 4, 2) > 0) {
|
||||
$ckey = substr($city['id'], 0, 4) . '00';
|
||||
foreach ($result[1] as $prov) {
|
||||
$pkey = substr($prov['id'], 0, 2) . '0000';
|
||||
if (substr($prov['id'], 4, 2) > 0) {
|
||||
$ckey = substr($prov['id'], 0, 4) . '00';
|
||||
$items[$pkey]['list'][$ckey]['name'] = $items[$pkey]['name'];
|
||||
$items[$pkey]['list'][$ckey]['list'][$city['id']] = ['name' => $city['fullname'], 'list' => []];
|
||||
$items[$pkey]['list'][$ckey]['list'][$prov['id']] = ['name' => $prov['fullname'], 'list' => []];
|
||||
} else {
|
||||
$items[$pkey]['list'][$city['id']] = ['name' => $city['fullname'], 'list' => []];
|
||||
$items[$pkey]['list'][$prov['id']] = ['name' => $prov['fullname'], 'list' => []];
|
||||
}
|
||||
}
|
||||
|
||||
@ -28,18 +29,110 @@ foreach ($result[2] as $area) {
|
||||
}
|
||||
|
||||
$data = [];
|
||||
foreach ($items as $citys) {
|
||||
foreach ($items as &$prov) {
|
||||
$lines = [];
|
||||
foreach ($citys['list'] as $area) {
|
||||
$lines[] = $area['name'] . ',' . join(',', array_column($area['list'], 'name'));
|
||||
$prov['list'] = array_values($prov['list']);
|
||||
foreach ($prov['list'] as &$city) {
|
||||
$city['list'] = array_values($city['list']);
|
||||
$lines[] = $city['name'] . ',' . join(',', array_column($city['list'], 'name'));
|
||||
}
|
||||
$data[] = $citys['name'] . '$' . join('|', $lines);
|
||||
$data[] = $prov['name'] . '$' . join('|', $lines);
|
||||
}
|
||||
|
||||
$filename = dirname(__DIR__) . '/pcasunzips.js';
|
||||
$content = str_replace('__STRING__', join('#', $data), file_get_contents(__DIR__ . '/area.js'));
|
||||
$jsonFile = __DIR__ . '/data.json';
|
||||
$scriptFile = dirname(__DIR__) . '/pcasunzips.js';
|
||||
$jsonContent = json_encode(array_values($items), JSON_UNESCAPED_UNICODE);
|
||||
$scriptContent = str_replace('__STRING__', join('#', $data), <<<EOL
|
||||
/********************************************************
|
||||
*** 加载脚本文件 ***
|
||||
<script src="pcasunzip.js"></script>
|
||||
|
||||
if (file_put_contents($filename, $content)) {
|
||||
*** 省市联动 ***
|
||||
new PCAS("Province","City")
|
||||
new PCAS("Province","City","吉林省")
|
||||
new PCAS("Province","City","吉林省","吉林市")
|
||||
|
||||
*** 省市区联动 ***
|
||||
new PCAS("Province","City","Area")
|
||||
new PCAS("Province","City","Area","吉林省")
|
||||
new PCAS("Province","City","Area","吉林省","松原市")
|
||||
new PCAS("Province","City","Area","吉林省","松原市","宁江区")
|
||||
|
||||
省、市、地区对象取得的值均为实际值。
|
||||
注:省、市、地区提示信息选项的值为""(空字符串)
|
||||
*********************************************************/
|
||||
|
||||
SPT = window.SPT || "-省份-";
|
||||
SCT = window.SCT || "-城市-";
|
||||
SAT = window.SAT || "-地区-";
|
||||
SWT = window.SWT || 0; // 提示文字 0:不显示 1:显示
|
||||
|
||||
function PCAS() {
|
||||
this.SelP = document.getElementsByName(arguments[0])[0];
|
||||
this.SelC = document.getElementsByName(arguments[1])[0];
|
||||
this.SelA = document.getElementsByName(arguments[2])[0];
|
||||
this.DefP = this.SelA ? arguments[3] : arguments[2];
|
||||
this.DefC = this.SelA ? arguments[4] : arguments[3];
|
||||
this.DefA = this.SelA ? arguments[5] : arguments[4];
|
||||
if (this.SelP) this.SelP.PCA = this;
|
||||
if (this.SelC) this.SelC.PCA = this;
|
||||
if (this.SelA) this.SelA.PCA = this;
|
||||
if (this.SelP && this.SelC) {
|
||||
this.SelP.onchange = function () {
|
||||
PCAS.SetC(this.PCA)
|
||||
};
|
||||
if (this.SelA) this.SelC.onchange = function () {
|
||||
PCAS.SetA(this.PCA)
|
||||
};
|
||||
}
|
||||
PCAS.init(this).SetP(this)
|
||||
}
|
||||
|
||||
PCAS.init = function (PCA) {
|
||||
PCA.PCAP = [], PCA.PCAC = [], PCA.PCAA = [], PCA.PCAD = "__STRING__";
|
||||
if (SWT) PCA.PCAD = SPT + "$" + SCT + "," + SAT + "#" + PCA.PCAD;
|
||||
PCA.PCAD.split("#").forEach(function (VAL1, ID1) {
|
||||
PCA.PCAP[ID1] = VAL1.split("$")[0], PCA.PCAC[ID1] = [], PCA.PCAA[ID1] = [];
|
||||
VAL1.split("$")[1].split("|").forEach(function (VAL2, ID2) {
|
||||
PCA.PCAC[ID1].push((PCA.PCAR = VAL2.split(",")).shift()), PCA.PCAA[ID1][ID2] = PCA.PCAR;
|
||||
});
|
||||
});
|
||||
return this;
|
||||
};
|
||||
|
||||
PCAS.SetP = function (PCA) {
|
||||
PCA.PCAP.forEach(function (VAL, IDX) {
|
||||
PCA.PCAT = PCA.PCAV = VAL;
|
||||
if (PCA.PCAT === SPT) PCA.PCAV = "";
|
||||
PCA.SelP.options.add(new Option(PCA.PCAT, PCA.PCAV));
|
||||
if (PCA.DefP === PCA.PCAV) PCA.SelP[IDX].selected = true
|
||||
}), PCA.SelC ? PCAS.SetC(PCA) : $(PCA.SelP).trigger('change');
|
||||
};
|
||||
|
||||
PCAS.SetC = function (PCA) {
|
||||
PCA.SelC.length = 0;
|
||||
PCA.PCAC[PCA.SelP.selectedIndex].forEach(function (VAL, IDX) {
|
||||
PCA.PCAT = PCA.PCAV = VAL;
|
||||
if (PCA.PCAT === SCT) PCA.PCAV = "";
|
||||
PCA.SelC.options.add(new Option(PCA.PCAT, PCA.PCAV));
|
||||
if (PCA.DefC === PCA.PCAV) PCA.SelC[IDX].selected = true
|
||||
}), PCA.SelA ? PCAS.SetA(PCA) : $(PCA.SelC).trigger('change');
|
||||
};
|
||||
|
||||
PCAS.SetA = function (PCA) {
|
||||
PCA.SelA.length = 0;
|
||||
PCA.PCAA[PCA.SelP.selectedIndex][PCA.SelC.selectedIndex].forEach(function (VAL, IDX) {
|
||||
PCA.PCAT = PCA.PCAV = VAL;
|
||||
if (PCA.PCAT === SAT) PCA.PCAV = "";
|
||||
PCA.SelA.options.add(new Option(PCA.PCAT, PCA.PCAV));
|
||||
if (PCA.DefA === PCA.PCAV) PCA.SelA[IDX].selected = true
|
||||
}), $(PCA.SelA).trigger('change')
|
||||
};
|
||||
EOL
|
||||
);
|
||||
|
||||
// 写入区域文件
|
||||
if (file_put_contents($scriptFile, $scriptContent) && file_put_contents($jsonFile, $jsonContent)) {
|
||||
echo 'success';
|
||||
} else {
|
||||
echo 'error';
|
||||
|
||||
1
public/static/plugs/jquery/area/data.json
Normal file
1
public/static/plugs/jquery/area/data.json
Normal file
File diff suppressed because one or more lines are too long
3
public/static/plugs/jquery/pcasunzips.js
vendored
3
public/static/plugs/jquery/pcasunzips.js
vendored
@ -54,6 +54,7 @@ PCAS.init = function (PCA) {
|
||||
});
|
||||
return this;
|
||||
};
|
||||
|
||||
PCAS.SetP = function (PCA) {
|
||||
PCA.PCAP.forEach(function (VAL, IDX) {
|
||||
PCA.PCAT = PCA.PCAV = VAL;
|
||||
@ -62,6 +63,7 @@ PCAS.SetP = function (PCA) {
|
||||
if (PCA.DefP === PCA.PCAV) PCA.SelP[IDX].selected = true
|
||||
}), PCA.SelC ? PCAS.SetC(PCA) : $(PCA.SelP).trigger('change');
|
||||
};
|
||||
|
||||
PCAS.SetC = function (PCA) {
|
||||
PCA.SelC.length = 0;
|
||||
PCA.PCAC[PCA.SelP.selectedIndex].forEach(function (VAL, IDX) {
|
||||
@ -71,6 +73,7 @@ PCAS.SetC = function (PCA) {
|
||||
if (PCA.DefC === PCA.PCAV) PCA.SelC[IDX].selected = true
|
||||
}), PCA.SelA ? PCAS.SetA(PCA) : $(PCA.SelC).trigger('change');
|
||||
};
|
||||
|
||||
PCAS.SetA = function (PCA) {
|
||||
PCA.SelA.length = 0;
|
||||
PCA.PCAA[PCA.SelP.selectedIndex][PCA.SelC.selectedIndex].forEach(function (VAL, IDX) {
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user