代码格式化

This commit is contained in:
邹景立 2021-03-26 16:03:41 +08:00
parent 0324483fe7
commit 4a410e54f0
85 changed files with 1190 additions and 1186 deletions

View File

@ -8,6 +8,12 @@ use think\admin\Exception;
use think\admin\storage\LocalStorage;
use think\console\Input;
use think\console\Output;
use think\db\exception\DataNotFoundException;
use think\db\exception\DbException;
use think\db\exception\ModelNotFoundException;
use WeChat\Exceptions\InvalidDecryptException;
use WeChat\Exceptions\InvalidResponseException;
use WeChat\Exceptions\LocalCacheException;
use WePay\Transfers;
use WePay\TransfersBank;
@ -30,7 +36,7 @@ class UserTransfer extends Command
* @param Output $output
* @return void
* @throws Exception
* @throws \think\db\exception\DbException
* @throws DbException
*/
protected function execute(Input $input, Output $output)
{
@ -83,12 +89,12 @@ class UserTransfer extends Command
* @param array $item
* @return array [config, result]
* @throws Exception
* @throws \WeChat\Exceptions\InvalidDecryptException
* @throws \WeChat\Exceptions\InvalidResponseException
* @throws \WeChat\Exceptions\LocalCacheException
* @throws \think\db\exception\DataNotFoundException
* @throws \think\db\exception\DbException
* @throws \think\db\exception\ModelNotFoundException
* @throws InvalidDecryptException
* @throws InvalidResponseException
* @throws LocalCacheException
* @throws DataNotFoundException
* @throws DbException
* @throws ModelNotFoundException
*/
private function createTransferBank(array $item): array
{
@ -103,103 +109,14 @@ class UserTransfer extends Command
])];
}
/**
* 尝试提现转账到微信钱包
* @param array $item
* @return array [config, result]
* @throws Exception
* @throws \WeChat\Exceptions\InvalidResponseException
* @throws \WeChat\Exceptions\LocalCacheException
* @throws \think\db\exception\DataNotFoundException
* @throws \think\db\exception\DbException
* @throws \think\db\exception\ModelNotFoundException
*/
private function createTransferWallet(array $item): array
{
$config = $this->getConfig($item['uid']);
return [$config, Transfers::instance($config)->create([
'openid' => $config['openid'],
'amount' => intval($item['amount'] - $item['charge_amount']) * 100,
'partner_trade_no' => $item['code'],
'spbill_create_ip' => '127.0.0.1',
'check_name' => 'NO_CHECK',
'desc' => '微信余额提现',
])];
}
/**
* 查询更新提现打款状态
* @param array $item
* @throws Exception
* @throws \WeChat\Exceptions\InvalidResponseException
* @throws \WeChat\Exceptions\LocalCacheException
* @throws \think\db\exception\DataNotFoundException
* @throws \think\db\exception\DbException
* @throws \think\db\exception\ModelNotFoundException
*/
private function queryTransferWallet(array $item)
{
$config = $this->getConfig($item['uid']);
[$config['appid'], $config['openid']] = [$item['appid'], $item['openid']];
$result = Transfers::instance($config)->query($item['partner_trade_no']);
if ($result['return_code'] === 'SUCCESS' && $result['result_code'] === 'SUCCESS') {
$this->app->db->name('DataUserTransfer')->where(['code' => $item['code']])->update([
'status' => 5,
'appid' => $config['appid'],
'openid' => $config['openid'],
'trade_time' => $result['payment_time'],
'change_time' => date('Y-m-d H:i:s'),
'change_desc' => '微信提现打款成功',
]);
}
}
/**
* 查询更新提现打款状态
* @param array $item
* @throws Exception
* @throws \WeChat\Exceptions\InvalidResponseException
* @throws \WeChat\Exceptions\LocalCacheException
* @throws \think\db\exception\DataNotFoundException
* @throws \think\db\exception\DbException
* @throws \think\db\exception\ModelNotFoundException
*/
private function queryTransferBank(array $item)
{
$config = $this->getConfig($item['uid']);
[$config['appid'], $config['openid']] = [$item['appid'], $item['openid']];
$result = TransfersBank::instance($config)->query($item['partner_trade_no']);
if ($result['return_code'] === 'SUCCESS' && $result['result_code'] === 'SUCCESS') {
if ($result['status'] === 'SUCCESS') {
$this->app->db->name('DataUserTransfer')->where(['code' => $item['code']])->update([
'status' => 5,
'appid' => $config['appid'],
'openid' => $config['openid'],
'trade_time' => $result['pay_succ_time'] ?: date('Y-m-d H:i:s'),
'change_time' => date('Y-m-d H:i:s'),
'change_desc' => '微信提现打款成功',
]);
}
if (in_array($result['status'], ['FAILED', 'BANK_FAIL'])) {
$this->app->db->name('DataUserTransfer')->where(['code' => $item['code']])->update([
'status' => 0,
'change_time' => date('Y-m-d H:i:s'),
'change_desc' => '微信提现打款失败',
]);
// 刷新用户可提现余额
UserRebateService::instance()->amount($item['uid']);
}
}
}
/**
* 获取微信提现参数
* @param int $uid
* @return array
* @throws Exception
* @throws \think\db\exception\DataNotFoundException
* @throws \think\db\exception\DbException
* @throws \think\db\exception\ModelNotFoundException
* @throws DataNotFoundException
* @throws DbException
* @throws ModelNotFoundException
*/
private function getConfig(int $uid): array
{
@ -232,9 +149,9 @@ class UserTransfer extends Command
* @param int $uid
* @param string $type
* @return mixed|null
* @throws \think\db\exception\DataNotFoundException
* @throws \think\db\exception\DbException
* @throws \think\db\exception\ModelNotFoundException
* @throws DataNotFoundException
* @throws DbException
* @throws ModelNotFoundException
*/
private function getWechatInfo(int $uid, string $type): ?array
{
@ -258,4 +175,93 @@ class UserTransfer extends Command
}
return null;
}
/**
* 尝试提现转账到微信钱包
* @param array $item
* @return array [config, result]
* @throws Exception
* @throws InvalidResponseException
* @throws LocalCacheException
* @throws DataNotFoundException
* @throws DbException
* @throws ModelNotFoundException
*/
private function createTransferWallet(array $item): array
{
$config = $this->getConfig($item['uid']);
return [$config, Transfers::instance($config)->create([
'openid' => $config['openid'],
'amount' => intval($item['amount'] - $item['charge_amount']) * 100,
'partner_trade_no' => $item['code'],
'spbill_create_ip' => '127.0.0.1',
'check_name' => 'NO_CHECK',
'desc' => '微信余额提现',
])];
}
/**
* 查询更新提现打款状态
* @param array $item
* @throws Exception
* @throws InvalidResponseException
* @throws LocalCacheException
* @throws DataNotFoundException
* @throws DbException
* @throws ModelNotFoundException
*/
private function queryTransferBank(array $item)
{
$config = $this->getConfig($item['uid']);
[$config['appid'], $config['openid']] = [$item['appid'], $item['openid']];
$result = TransfersBank::instance($config)->query($item['partner_trade_no']);
if ($result['return_code'] === 'SUCCESS' && $result['result_code'] === 'SUCCESS') {
if ($result['status'] === 'SUCCESS') {
$this->app->db->name('DataUserTransfer')->where(['code' => $item['code']])->update([
'status' => 5,
'appid' => $config['appid'],
'openid' => $config['openid'],
'trade_time' => $result['pay_succ_time'] ?: date('Y-m-d H:i:s'),
'change_time' => date('Y-m-d H:i:s'),
'change_desc' => '微信提现打款成功',
]);
}
if (in_array($result['status'], ['FAILED', 'BANK_FAIL'])) {
$this->app->db->name('DataUserTransfer')->where(['code' => $item['code']])->update([
'status' => 0,
'change_time' => date('Y-m-d H:i:s'),
'change_desc' => '微信提现打款失败',
]);
// 刷新用户可提现余额
UserRebateService::instance()->amount($item['uid']);
}
}
}
/**
* 查询更新提现打款状态
* @param array $item
* @throws Exception
* @throws InvalidResponseException
* @throws LocalCacheException
* @throws DataNotFoundException
* @throws DbException
* @throws ModelNotFoundException
*/
private function queryTransferWallet(array $item)
{
$config = $this->getConfig($item['uid']);
[$config['appid'], $config['openid']] = [$item['appid'], $item['openid']];
$result = Transfers::instance($config)->query($item['partner_trade_no']);
if ($result['return_code'] === 'SUCCESS' && $result['result_code'] === 'SUCCESS') {
$this->app->db->name('DataUserTransfer')->where(['code' => $item['code']])->update([
'status' => 5,
'appid' => $config['appid'],
'openid' => $config['openid'],
'trade_time' => $result['payment_time'],
'change_time' => date('Y-m-d H:i:s'),
'change_desc' => '微信提现打款成功',
]);
}
}
}

View File

@ -22,7 +22,7 @@ class ShopGoods extends Controller
private $table = 'ShopGoods';
/**
* 最大分类
* 最大分类
* @var integer
*/
protected $cateLevel;

View File

@ -20,7 +20,7 @@ class ShopGoodsCate extends Controller
private $table = 'ShopGoodsCate';
/**
* 最大分类
* 最大分类
* @var integer
*/
protected $cateLevel;

View File

@ -63,7 +63,7 @@ class ExpressService extends Service
/**
* 配送区域树型数据
* @param integer $level 最大
* @param integer $level 最大
* @param null|integer $status 状态筛选
* @return array
*/
@ -97,16 +97,6 @@ class ExpressService extends Service
]);
}
/**
* 楚才开放平台快递公司
* @return array
* @throws \think\admin\Exception
*/
public function company(): array
{
return $this->_getInterface()->doRequest('api.auth.express/getCompany');
}
/**
* 获取楚才开放平台接口实例
* @return InterfaceService
@ -120,4 +110,14 @@ class ExpressService extends Service
return $service;
}
/**
* 楚才开放平台快递公司
* @return array
* @throws \think\admin\Exception
*/
public function company(): array
{
return $this->_getInterface()->doRequest('api.auth.express/getCompany');
}
}

View File

@ -13,15 +13,6 @@ use think\admin\Service;
class GoodsService extends Service
{
/**
* 最大分类级别
* @return integer
*/
public function getCateMax(): int
{
return 3;
}
/**
* 获取分类数据
* @param string $type 数据格式 arr2tree | arr2table
@ -37,33 +28,6 @@ class GoodsService extends Service
return DataExtend::$type($query->withoutField('sort,status,deleted,create_at')->select()->toArray());
}
/**
* 获取分类数据
* @param boolean $simple 简化数据
* @return array
*/
public function getCateData($simple = true): array
{
$map = ['status' => 1, 'deleted' => 0];
$cates = $this->app->db->name('ShopGoodsCate')->where($map)->column('id,pid,name', 'id');
foreach ($cates as $cate) if (isset($cates[$cate['pid']])) $cates[$cate['id']]['parent'] =& $cates[$cate['pid']];
foreach ($cates as $key => $cate) {
$id = $cate['id'];
$cates[$id]['ids'][] = $cate['id'];
$cates[$id]['names'][] = $cate['name'];
while (isset($cate['parent']) && $cate = $cate['parent']) {
$cates[$id]['ids'][] = $cate['id'];
$cates[$id]['names'][] = $cate['name'];
}
$cates[$id]['ids'] = array_reverse($cates[$id]['ids']);
$cates[$id]['names'] = array_reverse($cates[$id]['names']);
if ($simple && count($cates[$id]['names']) !== $this->getCateMax()) {
unset($cates[$key]);
}
}
return $cates;
}
/**
* 获取商品标签数据
* @return array
@ -141,4 +105,40 @@ class GoodsService extends Service
return $data;
}
/**
* 获取分类数据
* @param boolean $simple 简化数据
* @return array
*/
public function getCateData($simple = true): array
{
$map = ['status' => 1, 'deleted' => 0];
$cates = $this->app->db->name('ShopGoodsCate')->where($map)->column('id,pid,name', 'id');
foreach ($cates as $cate) if (isset($cates[$cate['pid']])) $cates[$cate['id']]['parent'] =& $cates[$cate['pid']];
foreach ($cates as $key => $cate) {
$id = $cate['id'];
$cates[$id]['ids'][] = $cate['id'];
$cates[$id]['names'][] = $cate['name'];
while (isset($cate['parent']) && $cate = $cate['parent']) {
$cates[$id]['ids'][] = $cate['id'];
$cates[$id]['names'][] = $cate['name'];
}
$cates[$id]['ids'] = array_reverse($cates[$id]['ids']);
$cates[$id]['names'] = array_reverse($cates[$id]['names']);
if ($simple && count($cates[$id]['names']) !== $this->getCateMax()) {
unset($cates[$key]);
}
}
return $cates;
}
/**
* 最大分类等级
* @return integer
*/
public function getCateMax(): int
{
return 3;
}
}

View File

@ -23,35 +23,6 @@ class MessageService extends Service
*/
protected $password;
/**
* 短信服务初始化
* @return MessageService
* @throws \think\db\exception\DataNotFoundException
* @throws \think\db\exception\DbException
* @throws \think\db\exception\ModelNotFoundException
*/
protected function initialize(): MessageService
{
$this->username = sysconf('zt.username');
$this->password = sysconf('zt.password');
return $this;
}
/**
* 发送自定义短信内容
* @param string $phone
* @param string $content
* @return array
*/
public function send(string $phone, string $content): array
{
[$state, $message, $record] = $this->_request('v2/sendSms', ['mobile' => $phone, 'content' => $content]);
$this->app->db->name('DataUserMessage')->insert([
'phone' => $phone, 'content' => $content, 'result' => $message, 'status' => $state ? 1 : 0,
]);
return [$state, $message, $record];
}
/**
* 短信条数查询
*/
@ -61,53 +32,6 @@ class MessageService extends Service
return [$state, $message, $state ? $result['sumSms'] : 0];
}
/**
* 验证手机短信验证码
* @param string $code 验证码
* @param string $phone 手机号验证
* @param string $tplcode
* @return boolean
*/
public function checkVerifyCode(string $code, string $phone, string $tplcode = 'zt.tplcode_register'): bool
{
$cache = $this->app->cache->get($ckey = md5("code-{$tplcode}-{$phone}"), []);
return is_array($cache) && isset($cache['code']) && $cache['code'] == $code;
}
/**
* 验证手机短信验证码
* @param string $phone 手机号码
* @param integer $wait 等待时间
* @param string $tplcode 模板编号
* @return array
* @throws \think\db\exception\DataNotFoundException
* @throws \think\db\exception\DbException
* @throws \think\db\exception\ModelNotFoundException
*/
public function sendVerifyCode(string $phone, int $wait = 120, string $tplcode = 'zt.tplcode_register'): array
{
$content = sysconf($tplcode) ?: '您的短信验证码为{code},请在十分钟内完成操作!';
$cache = $this->app->cache->get($ckey = md5("code-{$tplcode}-{$phone}"), []);
// 检查是否已经发送
if (is_array($cache) && isset($cache['time']) && $cache['time'] > time() - $wait) {
$dtime = ($cache['time'] + $wait < time()) ? 0 : ($wait - time() + $cache['time']);
return [1, '短信验证码已经发送!', ['time' => $dtime]];
}
// 生成新的验证码
[$code, $time] = [rand(100000, 999999), time()];
$this->app->cache->set($ckey, ['code' => $code, 'time' => $time], 600);
// 尝试发送短信内容
[$state] = $this->send($phone, preg_replace_callback("|{(.*?)}|", function ($matches) use ($code) {
return $matches[1] === 'code' ? $code : $matches[1];
}, $content));
if ($state) return [1, '短信验证码发送成功!', [
'time' => ($time + $wait < time()) ? 0 : ($wait - time() + $time)],
]; else {
$this->app->cache->delete($ckey);
return [0, '短信发送失败,请稍候再试!', []];
}
}
/**
* 执行网络请求
* @param string $url 接口请求地址
@ -174,4 +98,80 @@ class MessageService extends Service
return $arrs[$code] ?? $code;
}
/**
* 验证手机短信验证码
* @param string $code 验证码
* @param string $phone 手机号验证
* @param string $tplcode
* @return boolean
*/
public function checkVerifyCode(string $code, string $phone, string $tplcode = 'zt.tplcode_register'): bool
{
$cache = $this->app->cache->get($ckey = md5("code-{$tplcode}-{$phone}"), []);
return is_array($cache) && isset($cache['code']) && $cache['code'] == $code;
}
/**
* 验证手机短信验证码
* @param string $phone 手机号码
* @param integer $wait 等待时间
* @param string $tplcode 模板编号
* @return array
* @throws \think\db\exception\DataNotFoundException
* @throws \think\db\exception\DbException
* @throws \think\db\exception\ModelNotFoundException
*/
public function sendVerifyCode(string $phone, int $wait = 120, string $tplcode = 'zt.tplcode_register'): array
{
$content = sysconf($tplcode) ?: '您的短信验证码为{code},请在十分钟内完成操作!';
$cache = $this->app->cache->get($ckey = md5("code-{$tplcode}-{$phone}"), []);
// 检查是否已经发送
if (is_array($cache) && isset($cache['time']) && $cache['time'] > time() - $wait) {
$dtime = ($cache['time'] + $wait < time()) ? 0 : ($wait - time() + $cache['time']);
return [1, '短信验证码已经发送!', ['time' => $dtime]];
}
// 生成新的验证码
[$code, $time] = [rand(100000, 999999), time()];
$this->app->cache->set($ckey, ['code' => $code, 'time' => $time], 600);
// 尝试发送短信内容
[$state] = $this->send($phone, preg_replace_callback("|{(.*?)}|", function ($matches) use ($code) {
return $matches[1] === 'code' ? $code : $matches[1];
}, $content));
if ($state) return [1, '短信验证码发送成功!', [
'time' => ($time + $wait < time()) ? 0 : ($wait - time() + $time)],
]; else {
$this->app->cache->delete($ckey);
return [0, '短信发送失败,请稍候再试!', []];
}
}
/**
* 发送自定义短信内容
* @param string $phone
* @param string $content
* @return array
*/
public function send(string $phone, string $content): array
{
[$state, $message, $record] = $this->_request('v2/sendSms', ['mobile' => $phone, 'content' => $content]);
$this->app->db->name('DataUserMessage')->insert([
'phone' => $phone, 'content' => $content, 'result' => $message, 'status' => $state ? 1 : 0,
]);
return [$state, $message, $record];
}
/**
* 短信服务初始化
* @return MessageService
* @throws \think\db\exception\DataNotFoundException
* @throws \think\db\exception\DbException
* @throws \think\db\exception\ModelNotFoundException
*/
protected function initialize(): MessageService
{
$this->username = sysconf('zt.username');
$this->password = sysconf('zt.password');
return $this;
}
}

View File

@ -96,7 +96,7 @@ class OrderService extends Service
}
/**
* 获取折扣比例
* 获取级折扣比例
* @param int $disId 折扣方案ID
* @param int $vipCode 等级序号
* @param float $disRate 默认比例

View File

@ -120,36 +120,31 @@ abstract class PaymentService
'bind' => [UserAdminService::API_TYPE_WECHAT],
],
];
/**
* 当前应用
* @var App
*/
protected $app;
/**
* 支付参数编号
* @var string
*/
protected $code;
/**
* 默认支付类型
* @var string
*/
protected $type;
/**
* 当前支付参数
* @var array
*/
protected $params;
/**
* 支付服务对象
* @var array
*/
protected static $driver = [];
/**
* 当前应用
* @var App
*/
protected $app;
/**
* 支付参数编号
* @var string
*/
protected $code;
/**
* 默认支付类型
* @var string
*/
protected $type;
/**
* 当前支付参数
* @var array
*/
protected $params;
/**
* PaymentService constructor.
@ -195,31 +190,6 @@ abstract class PaymentService
}
}
/**
* 获取支付支付名称
* @param string $type
* @return string
*/
public static function name(string $type): string
{
return self::TYPES[$type]['name'] ?? $type;
}
/**
* 获取支付类型
* @return array
*/
public static function types(): array
{
$types = [];
foreach (self::TYPES as $k => $v) if (isset($v['bind'])) {
if (array_intersect($v['bind'], array_keys(UserAdminService::TYPES))) {
$types[$k] = $v;
}
}
return $types;
}
/**
* 获取支付配置参数
* @param string $code
@ -250,6 +220,101 @@ abstract class PaymentService
}
}
/**
* 获取支付支付名称
* @param string $type
* @return string
*/
public static function name(string $type): string
{
return self::TYPES[$type]['name'] ?? $type;
}
/**
* 获取支付类型
* @return array
*/
public static function types(): array
{
$types = [];
foreach (self::TYPES as $k => $v) if (isset($v['bind'])) {
if (array_intersect($v['bind'], array_keys(UserAdminService::TYPES))) {
$types[$k] = $v;
}
}
return $types;
}
/**
* 订单主动查询
* @param string $orderNo
* @return array
*/
abstract public function query(string $orderNo): array;
/**
* 支付通知处理
* @return string
*/
abstract public function notify(): string;
/**
* 创建支付订单
* @param string $openid 用户OPENID
* @param string $orderNo 交易订单单号
* @param string $paymentAmount 交易订单金额(元)
* @param string $paymentTitle 交易订单名称
* @param string $paymentRemark 交易订单描述
* @param string $paymentReturn 支付回跳地址
* @param string $paymentImage 支付凭证图片
* @return array
*/
abstract public function create(string $openid, string $orderNo, string $paymentAmount, string $paymentTitle, string $paymentRemark, string $paymentReturn = '', string $paymentImage = ''): array;
/**
* 创建支付行为
* @param string $orderNo 商户订单单号
* @param string $paymentTitle 商户订单标题
* @param string $paymentAmount 需要支付金额
*/
protected function createPaymentAction(string $orderNo, string $paymentTitle, string $paymentAmount)
{
$this->app->db->name('ShopPaymentItem')->insert([
'payment_code' => $this->code, 'payment_type' => $this->type,
'order_amount' => $paymentAmount, 'order_name' => $paymentTitle, 'order_no' => $orderNo,
]);
}
/**
* 更新支付记录并更新订单
* @param string $orderNo 商户订单单号
* @param string $paymentTrade 平台交易单号
* @param string $paymentAmount 实际到账金额
* @param string $paymentRemark 平台支付备注
* @return boolean
* @throws \think\db\exception\DataNotFoundException
* @throws \think\db\exception\DbException
* @throws \think\db\exception\ModelNotFoundException
*/
protected function updatePaymentAction(string $orderNo, string $paymentTrade, string $paymentAmount, string $paymentRemark = '在线支付'): bool
{
// 更新支付记录
data_save('ShopPaymentItem', [
'order_no' => $orderNo,
'payment_code' => $this->code,
'payment_type' => $this->type,
'payment_trade' => $paymentTrade,
'payment_amount' => $paymentAmount,
'payment_status' => 1,
'payment_datatime' => date('Y-m-d H:i:s'),
], 'order_no', [
'payment_code' => $this->code,
'payment_type' => $this->type,
]);
// 更新记录状态
return $this->updateOrder($orderNo, $paymentTrade, $paymentAmount, $paymentRemark);
}
/**
* 订单支付更新操作
* @param string $orderNo 订单单号
@ -295,74 +360,4 @@ abstract class PaymentService
}
return true;
}
/**
* 创建支付行为
* @param string $orderNo 商户订单单号
* @param string $paymentTitle 商户订单标题
* @param string $paymentAmount 需要支付金额
*/
protected function createPaymentAction(string $orderNo, string $paymentTitle, string $paymentAmount)
{
$this->app->db->name('ShopPaymentItem')->insert([
'payment_code' => $this->code, 'payment_type' => $this->type,
'order_amount' => $paymentAmount, 'order_name' => $paymentTitle, 'order_no' => $orderNo,
]);
}
/**
* 更新支付记录并更新订单
* @param string $orderNo 商户订单单号
* @param string $paymentTrade 平台交易单号
* @param string $paymentAmount 实际到账金额
* @param string $paymentRemark 平台支付备注
* @return boolean
* @throws \think\db\exception\DataNotFoundException
* @throws \think\db\exception\DbException
* @throws \think\db\exception\ModelNotFoundException
*/
protected function updatePaymentAction(string $orderNo, string $paymentTrade, string $paymentAmount, string $paymentRemark = '在线支付'): bool
{
// 更新支付记录
data_save('ShopPaymentItem', [
'order_no' => $orderNo,
'payment_code' => $this->code,
'payment_type' => $this->type,
'payment_trade' => $paymentTrade,
'payment_amount' => $paymentAmount,
'payment_status' => 1,
'payment_datatime' => date('Y-m-d H:i:s'),
], 'order_no', [
'payment_code' => $this->code,
'payment_type' => $this->type,
]);
// 更新记录状态
return $this->updateOrder($orderNo, $paymentTrade, $paymentAmount, $paymentRemark);
}
/**
* 订单主动查询
* @param string $orderNo
* @return array
*/
abstract public function query(string $orderNo): array;
/**
* 支付通知处理
* @return string
*/
abstract public function notify(): string;
/**
* 创建支付订单
* @param string $openid 用户OPENID
* @param string $orderNo 交易订单单号
* @param string $paymentAmount 交易订单金额(元)
* @param string $paymentTitle 交易订单名称
* @param string $paymentRemark 交易订单描述
* @param string $paymentReturn 支付回跳地址
* @param string $paymentImage 支付凭证图片
* @return array
*/
abstract public function create(string $openid, string $orderNo, string $paymentAmount, string $paymentTitle, string $paymentRemark, string $paymentReturn = '', string $paymentImage = ''): array;
}

View File

@ -62,31 +62,6 @@ class RebateService extends Service
*/
private $table = 'DataUserRebate';
/**
* 返利服务初始化
* @return void
* @throws \think\db\exception\DataNotFoundException
* @throws \think\db\exception\DbException
* @throws \think\db\exception\ModelNotFoundException
*/
protected function initialize()
{
// 返利奖励到账时机
// settl_type 为 1 支付后立即到账
// settl_type 为 2 确认后立即到账
$this->status = $this->config('settl_type') > 1 ? 0 : 1;
}
/**
* 获取奖励名称
* @param string $prize
* @return string
*/
public function name(string $prize): string
{
return self::PRIZES[$prize]['name'] ?? $prize;
}
/**
* 执行订单返利处理
* @param string $orderNo
@ -130,6 +105,36 @@ class RebateService extends Service
}
}
/**
* 返利服务初始化
* @return void
* @throws \think\db\exception\DataNotFoundException
* @throws \think\db\exception\DbException
* @throws \think\db\exception\ModelNotFoundException
*/
protected function initialize()
{
// 返利奖励到账时机
// settl_type 为 1 支付后立即到账
// settl_type 为 2 确认后立即到账
$this->status = $this->config('settl_type') > 1 ? 0 : 1;
}
/**
* 获取配置数据
* @param ?string $name 配置名称
* @return array|string
* @throws \think\db\exception\DataNotFoundException
* @throws \think\db\exception\DbException
* @throws \think\db\exception\ModelNotFoundException
*/
public function config(?string $name = null)
{
static $data = [];
if (empty($data)) $data = sysdata('RebateRule');
return is_null($name) ? $data : ($data[$name] ?? '');
}
/**
* 用户首推奖励
* @return boolean
@ -161,6 +166,53 @@ class RebateService extends Service
return true;
}
/**
* 检查等级是否有奖励
* @param string $prize 奖励规则
* @param integer $level 用户等级
* @return boolean
*/
private function isPrizeStatus(string $prize, int $level): bool
{
$map = [['number', '=', $level], ['rebate_rule', 'like', "%,{$prize},%"]];
return $this->app->db->name('DataBaseUpgrade')->where($map)->count() > 0;
}
/**
* 获取奖励名称
* @param string $prize
* @return string
*/
public function name(string $prize): string
{
return self::PRIZES[$prize]['name'] ?? $prize;
}
/**
* 写返利记录
* @param int $uid
* @param array $map
* @param string $name
* @param float $amount
* @throws \think\db\exception\DbException
*/
private function addRebateRecord(int $uid, array $map, string $name, float $amount)
{
$this->app->db->name($this->table)->insert(array_merge($map, [
'uid' => $uid,
'date' => date('Y-m-d'),
'code' => CodeExtend::uniqidDate(20, 'R'),
'name' => $name,
'amount' => $amount,
'status' => $this->status,
'order_no' => $this->order['order_no'],
'order_uid' => $this->order['uid'],
'order_amount' => $this->order['amount_total'],
]));
// 刷新用户返利统计
UserRebateService::instance()->amount($uid);
}
/**
* 用户复购奖励
* @return boolean
@ -366,56 +418,4 @@ class RebateService extends Service
}
return true;
}
/**
* 获取配置数据
* @param ?string $name 配置名称
* @return array|string
* @throws \think\db\exception\DataNotFoundException
* @throws \think\db\exception\DbException
* @throws \think\db\exception\ModelNotFoundException
*/
public function config(?string $name = null)
{
static $data = [];
if (empty($data)) $data = sysdata('RebateRule');
return is_null($name) ? $data : ($data[$name] ?? '');
}
/**
* 写返利记录
* @param int $uid
* @param array $map
* @param string $name
* @param float $amount
* @throws \think\db\exception\DbException
*/
private function addRebateRecord(int $uid, array $map, string $name, float $amount)
{
$this->app->db->name($this->table)->insert(array_merge($map, [
'uid' => $uid,
'date' => date('Y-m-d'),
'code' => CodeExtend::uniqidDate(20, 'R'),
'name' => $name,
'amount' => $amount,
'status' => $this->status,
'order_no' => $this->order['order_no'],
'order_uid' => $this->order['uid'],
'order_amount' => $this->order['amount_total'],
]));
// 刷新用户返利统计
UserRebateService::instance()->amount($uid);
}
/**
* 检查等级是否有奖励
* @param string $prize 奖励规则
* @param integer $level 用户等级
* @return boolean
*/
private function isPrizeStatus(string $prize, int $level): bool
{
$map = [['number', '=', $level], ['rebate_rule', 'like', "%,{$prize},%"]];
return $this->app->db->name('DataBaseUpgrade')->where($map)->count() > 0;
}
}

View File

@ -48,30 +48,6 @@ class UserAdminService extends Service
],
];
/**
* 获取用户数据
* @param integer $uuid 用户UID
* @param ?string $type 接口类型
* @return array
* @throws DbException
* @throws Exception
*/
public function get(int $uuid, ?string $type = null): array
{
$user = $this->app->db->name('DataUser')->where(['id' => $uuid, 'deleted' => 0])->findOrEmpty();
if (empty($user)) throw new Exception('指定UID用户不存在');
if (!is_null($type)) {
$data = $this->app->db->name('DataUserToken')->where(['uid' => $uuid, 'type' => $type])->findOrEmpty();
if (empty($data)) {
[$state, $info, $data] = UserTokenService::instance()->token($uuid, $type);
if (empty($state) || empty($data)) throw new Exception($info);
}
$user['token'] = ['token' => $data['token'], 'expire' => $data['time']];
}
unset($user['deleted'], $user['password']);
return $user;
}
/**
* 更新用户用户参数
* @param array $map 查询条件
@ -99,6 +75,30 @@ class UserAdminService extends Service
return $this->get($uuid, $type);
}
/**
* 获取用户数据
* @param integer $uuid 用户UID
* @param ?string $type 接口类型
* @return array
* @throws DbException
* @throws Exception
*/
public function get(int $uuid, ?string $type = null): array
{
$user = $this->app->db->name('DataUser')->where(['id' => $uuid, 'deleted' => 0])->findOrEmpty();
if (empty($user)) throw new Exception('指定UID用户不存在');
if (!is_null($type)) {
$data = $this->app->db->name('DataUserToken')->where(['uid' => $uuid, 'type' => $type])->findOrEmpty();
if (empty($data)) {
[$state, $info, $data] = UserTokenService::instance()->token($uuid, $type);
if (empty($state) || empty($data)) throw new Exception($info);
}
$user['token'] = ['token' => $data['token'], 'expire' => $data['time']];
}
unset($user['deleted'], $user['password']);
return $user;
}
/**
* 获取用户数据统计
* @param int $uuid 用户UID

View File

@ -12,30 +12,6 @@ use think\admin\Service;
class UserBalanceService extends Service
{
/**
* 同步刷新用户余额
* @param int $uuid 用户UID
* @param array $nots 排除的订单
* @return array [total, count]
* @throws \think\db\exception\DbException
*/
public function amount(int $uuid, array $nots = []): array
{
if ($uuid > 0) {
$total = abs($this->app->db->name('DataUserBalance')->whereRaw("uid='{$uuid}' and amount>0 and deleted=0")->sum('amount'));
$count = abs($this->app->db->name('DataUserBalance')->whereRaw("uid='{$uuid}' and amount<0 and deleted=0")->sum('amount'));
if (empty($nots)) {
$this->app->db->name('DataUser')->where(['id' => $uuid])->update(['balance_total' => $total, 'balance_used' => $count]);
} else {
$count -= $this->app->db->name('DataUserBalance')->whereRaw("uid={$uuid}")->whereIn('code', $nots)->sum('amount');
}
} else {
$total = abs($this->app->db->name('DataUserBalance')->whereRaw("amount>0 and deleted=0")->sum('amount'));
$count = abs($this->app->db->name('DataUserBalance')->whereRaw("amount<0 and deleted=0")->sum('amount'));
}
return [$total, $count];
}
/**
* 验证订单发放余额
* @param string $orderNo
@ -62,4 +38,28 @@ class UserBalanceService extends Service
return $this->amount($order['uid']);
}
/**
* 同步刷新用户余额
* @param int $uuid 用户UID
* @param array $nots 排除的订单
* @return array [total, count]
* @throws \think\db\exception\DbException
*/
public function amount(int $uuid, array $nots = []): array
{
if ($uuid > 0) {
$total = abs($this->app->db->name('DataUserBalance')->whereRaw("uid='{$uuid}' and amount>0 and deleted=0")->sum('amount'));
$count = abs($this->app->db->name('DataUserBalance')->whereRaw("uid='{$uuid}' and amount<0 and deleted=0")->sum('amount'));
if (empty($nots)) {
$this->app->db->name('DataUser')->where(['id' => $uuid])->update(['balance_total' => $total, 'balance_used' => $count]);
} else {
$count -= $this->app->db->name('DataUserBalance')->whereRaw("uid={$uuid}")->whereIn('code', $nots)->sum('amount');
}
} else {
$total = abs($this->app->db->name('DataUserBalance')->whereRaw("amount>0 and deleted=0")->sum('amount'));
$count = abs($this->app->db->name('DataUserBalance')->whereRaw("amount<0 and deleted=0")->sum('amount'));
}
return [$total, $count];
}
}

View File

@ -49,6 +49,29 @@ class UserTokenService extends Service
}
}
/**
* 获取令牌的认证值
* @return string
*/
private function _buildTokenVerify(): string
{
return md5($this->app->request->server('HTTP_USER_AGENT', '-'));
}
/**
* 延期 TOKEN 有效时间
* @param string $type 接口类型
* @param string $token 授权令牌
* @throws DbException
*/
public function expire(string $type, string $token)
{
$map = ['type' => $type, 'token' => $token];
$this->app->db->name('DataUserToken')->where($map)->update([
'time' => time() + $this->expire,
]);
}
/**
* 生成新的用户令牌
* @param int $uuid 授权用户
@ -73,27 +96,4 @@ class UserTokenService extends Service
return [0, '刷新认证失败', []];
}
}
/**
* 延期 TOKEN 有效时间
* @param string $type 接口类型
* @param string $token 授权令牌
* @throws DbException
*/
public function expire(string $type, string $token)
{
$map = ['type' => $type, 'token' => $token];
$this->app->db->name('DataUserToken')->where($map)->update([
'time' => time() + $this->expire,
]);
}
/**
* 获取令牌的认证值
* @return string
*/
private function _buildTokenVerify(): string
{
return md5($this->app->request->server('HTTP_USER_AGENT', '-'));
}
}

View File

@ -22,6 +22,43 @@ class UserUpgradeService extends Service
return $query->where(['status' => 1])->order('number asc')->column('*', 'number');
}
/**
* 尝试绑定上级代理
* @param integer $uid 用户UID
* @param integer $pid 代理UID
* @param boolean $force 正式绑定
* @return array
* @throws \think\db\exception\DataNotFoundException
* @throws \think\db\exception\DbException
* @throws \think\db\exception\ModelNotFoundException
*/
public function bindAgent(int $uid, int $pid = 0, bool $force = true): array
{
$user = $this->app->db->name('DataUser')->where(['id' => $uid])->find();
if (empty($user)) return [0, '用户查询失败'];
if (!empty($user['pids'])) return [1, '已绑定推荐人'];
// 检查代理用户
if (empty($pid)) $pid = $user['pid0'];
if (empty($pid)) return [0, '绑定推荐人不存在'];
if ($uid == $pid) return [0, '推荐人不能是自己'];
$parant = $this->app->db->name('DataUser')->where(['id' => $pid])->find();
if (empty($parant['vip_code'])) return [0, '推荐人无推荐资格'];
if (stripos($parant['path'], "-{$uid}-") !== false) return [0, '不能绑定下属'];
// 组装代理数据
$path = rtrim($parant['path'] ?: '-', '-') . "-{$parant['id']}-";
$data = [
'pid0' => $parant['id'], 'pid1' => $parant['id'], 'pid2' => $parant['pid1'],
'pids' => $force ? 1 : 0, 'path' => $path, 'layer' => substr_count($path, '-'),
];
// 更新用户代理
if ($this->app->db->name('DataUser')->where(['id' => $uid])->update($data) !== false) {
$this->upgrade($uid);
return [1, '绑定代理成功'];
} else {
return [0, '绑定代理失败'];
}
}
/**
* 同步计算用户等级
* @param integer $uid 指定用户UID
@ -101,41 +138,4 @@ class UserUpgradeService extends Service
]);
return ($parent && $user['pid1'] > 0) ? $this->upgrade($user['pid1'], false) : true;
}
/**
* 尝试绑定上级代理
* @param integer $uid 用户UID
* @param integer $pid 代理UID
* @param boolean $force 正式绑定
* @return array
* @throws \think\db\exception\DataNotFoundException
* @throws \think\db\exception\DbException
* @throws \think\db\exception\ModelNotFoundException
*/
public function bindAgent(int $uid, int $pid = 0, bool $force = true): array
{
$user = $this->app->db->name('DataUser')->where(['id' => $uid])->find();
if (empty($user)) return [0, '用户查询失败'];
if (!empty($user['pids'])) return [1, '已绑定推荐人'];
// 检查代理用户
if (empty($pid)) $pid = $user['pid0'];
if (empty($pid)) return [0, '绑定推荐人不存在'];
if ($uid == $pid) return [0, '推荐人不能是自己'];
$parant = $this->app->db->name('DataUser')->where(['id' => $pid])->find();
if (empty($parant['vip_code'])) return [0, '推荐人无推荐资格'];
if (stripos($parant['path'], "-{$uid}-") !== false) return [0, '不能绑定下属'];
// 组装代理数据
$path = rtrim($parant['path'] ?: '-', '-') . "-{$parant['id']}-";
$data = [
'pid0' => $parant['id'], 'pid1' => $parant['id'], 'pid2' => $parant['pid1'],
'pids' => $force ? 1 : 0, 'path' => $path, 'layer' => substr_count($path, '-'),
];
// 更新用户代理
if ($this->app->db->name('DataUser')->where(['id' => $uid])->update($data) !== false) {
$this->upgrade($uid);
return [1, '绑定代理成功'];
} else {
return [0, '绑定代理失败'];
}
}
}

View File

@ -19,41 +19,6 @@ class AlipayPaymentService extends PaymentService
*/
protected $config = [];
/**
* 支付服务初始化
* @return $this
*/
protected function initialize(): AlipayPaymentService
{
$this->config = [
// 沙箱模式
'debug' => false,
// 签名类型RSA|RSA2
'sign_type' => "RSA2",
// 应用ID
'appid' => $this->params['alipay_appid'],
// 支付宝公钥 (1行填写特别注意这里是支付宝公钥不是应用公钥最好从开发者中心的网页上去复制)
'public_key' => $this->_trimCertHeader($this->params['alipay_public_key']),
// 支付宝私钥 (1行填写)
'private_key' => $this->_trimCertHeader($this->params['alipay_private_key']),
// 支付成功通知地址
'notify_url' => '',
// 网页支付回跳地址
'return_url' => '',
];
return $this;
}
/**
* 去除证书内容前后缀
* @param string $content
* @return string
*/
private function _trimCertHeader(string $content): string
{
return preg_replace(['/\s+/', '/-{5}.*?-{5}/'], '', $content);
}
/**
* 创建订单支付参数
* @param string $openid 用户OPENID
@ -138,4 +103,39 @@ class AlipayPaymentService extends PaymentService
{
return \AliPay\App::instance($this->config)->query($orderNo);
}
/**
* 支付服务初始化
* @return $this
*/
protected function initialize(): AlipayPaymentService
{
$this->config = [
// 沙箱模式
'debug' => false,
// 签名类型RSA|RSA2
'sign_type' => "RSA2",
// 应用ID
'appid' => $this->params['alipay_appid'],
// 支付宝公钥 (1行填写特别注意这里是支付宝公钥不是应用公钥最好从开发者中心的网页上去复制)
'public_key' => $this->_trimCertHeader($this->params['alipay_public_key']),
// 支付宝私钥 (1行填写)
'private_key' => $this->_trimCertHeader($this->params['alipay_private_key']),
// 支付成功通知地址
'notify_url' => '',
// 网页支付回跳地址
'return_url' => '',
];
return $this;
}
/**
* 去除证书内容前后缀
* @param string $content
* @return string
*/
private function _trimCertHeader(string $content): string
{
return preg_replace(['/\s+/', '/-{5}.*?-{5}/'], '', $content);
}
}

View File

@ -5,6 +5,9 @@ namespace app\data\service\payment;
use app\data\service\PaymentService;
use think\admin\Exception;
use think\admin\extend\CodeExtend;
use think\db\exception\DataNotFoundException;
use think\db\exception\DbException;
use think\db\exception\ModelNotFoundException;
/**
* 空支付支付
@ -44,9 +47,9 @@ class EmptyPaymentService extends PaymentService
* @param string $paymentImage 支付凭证图片
* @return array
* @throws Exception
* @throws \think\db\exception\DataNotFoundException
* @throws \think\db\exception\DbException
* @throws \think\db\exception\ModelNotFoundException
* @throws DataNotFoundException
* @throws DbException
* @throws ModelNotFoundException
*/
public function create(string $openid, string $orderNo, string $paymentAmount, string $paymentTitle, string $paymentRemark, string $paymentReturn = '', string $paymentImage = ''): array
{

View File

@ -43,19 +43,6 @@ class JoinpayPaymentService extends PaymentService
*/
protected $mchkey;
/**
* 汇聚支付服务初始化
* @return JoinpayPaymentService
*/
protected function initialize(): JoinpayPaymentService
{
$this->appid = $this->params['joinpay_appid'];
$this->trade = $this->params['joinpay_trade'];;
$this->mchid = $this->params['joinpay_mch_id'];
$this->mchkey = $this->params['joinpay_mch_key'];
return $this;
}
/**
* 创建订单支付参数
* @param string $openid 用户OPENID
@ -110,6 +97,29 @@ class JoinpayPaymentService extends PaymentService
}
}
/**
* 执行数据请求
* @param array $data
* @return array
*/
private function _doReuest($data = []): array
{
$data['hmac'] = $this->_doSign($data);
return json_decode(HttpExtend::post($this->uri, $data), true);
}
/**
* 请求数据签名
* @param array $data
* @return string
*/
private function _doSign(array $data): string
{
ksort($data);
unset($data['hmac']);
return md5(join('', $data) . $this->mchkey);
}
/**
* 查询订单数据
* @param string $orderNo
@ -147,25 +157,15 @@ class JoinpayPaymentService extends PaymentService
}
/**
* 请求数据签名
* @param array $data
* @return string
* 汇聚支付服务初始化
* @return JoinpayPaymentService
*/
private function _doSign(array $data): string
protected function initialize(): JoinpayPaymentService
{
ksort($data);
unset($data['hmac']);
return md5(join('', $data) . $this->mchkey);
}
/**
* 执行数据请求
* @param array $data
* @return array
*/
private function _doReuest($data = []): array
{
$data['hmac'] = $this->_doSign($data);
return json_decode(HttpExtend::post($this->uri, $data), true);
$this->appid = $this->params['joinpay_appid'];
$this->trade = $this->params['joinpay_trade'];;
$this->mchid = $this->params['joinpay_mch_id'];
$this->mchkey = $this->params['joinpay_mch_key'];
return $this;
}
}

View File

@ -19,21 +19,6 @@ class WechatPaymentService extends PaymentService
*/
protected $payment;
/**
* 微信支付服务初始化
* @return WechatPaymentService
*/
protected function initialize(): WechatPaymentService
{
$this->payment = Order::instance([
'appid' => $this->params['wechat_appid'],
'mch_id' => $this->params['wechat_mch_id'],
'mch_key' => $this->params['wechat_mch_key'],
'cache_path' => $this->app->getRootPath() . 'runtime' . DIRECTORY_SEPARATOR . 'wechat',
]);
return $this;
}
/**
* 创建订单支付参数
* @param string $openid 用户OPENID
@ -127,4 +112,19 @@ class WechatPaymentService extends PaymentService
return $this->payment->getNotifySuccessReply();
}
}
/**
* 微信支付服务初始化
* @return WechatPaymentService
*/
protected function initialize(): WechatPaymentService
{
$this->payment = Order::instance([
'appid' => $this->params['wechat_appid'],
'mch_id' => $this->params['wechat_mch_id'],
'mch_key' => $this->params['wechat_mch_key'],
'cache_path' => $this->app->getRootPath() . 'runtime' . DIRECTORY_SEPARATOR . 'wechat',
]);
return $this;
}
}

View File

@ -9,10 +9,10 @@
<p>3. 保存位置数据,下次可直接显示</p>
</div>
<div class="margin-top-20">
<img alt="img" id="target" style="width:800px;height:400px" src="{$data.image|default='https://d3o1694hluedf9.cloudfront.net/market-750.jpg'}">
<img alt="img" id="target" src="{$data.image|default='https://d3o1694hluedf9.cloudfront.net/market-750.jpg'}" style="width:800px;height:400px">
<div class="margin-top-5">
<label class="margin-top-5 block"><input id="inputImage" readonly value='' class="layui-input layui-bg-gray"></label>
<label class="margin-top-5 block"><input id="inputData" readonly value='' class="layui-input layui-bg-gray"></label>
<label class="margin-top-5 block"><input class="layui-input layui-bg-gray" id="inputImage" readonly value=''></label>
<label class="margin-top-5 block"><input class="layui-input layui-bg-gray" id="inputData" readonly value=''></label>
</div>
</div>
<div class="margin-top-20 text-center">

View File

@ -1,13 +1,13 @@
{extend name="../../admin/view/main"}
{block name='content'}
<form class="layui-form layui-card" action="{:request()->url()}" data-auto="true" method="post" autocomplete="off">
<form action="{:request()->url()}" autocomplete="off" class="layui-form layui-card" data-auto="true" method="post">
<div class="layui-card-body padding-40">
<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 required name="name" value='{$data.name|default=""}' placeholder="请输入页面名称" class="layui-input">
<input class="layui-input" name="name" placeholder="请输入页面名称" required value='{$data.name|default=""}'>
</label>
<div class="layui-form-item relative block">
@ -21,8 +21,8 @@
<div class="hr-line-dashed"></div>
<div class="layui-form-item text-center">
<button type="submit" class="layui-btn">保存数据</button>
<button type='button' class="layui-btn layui-btn-danger" data-confirm="确定要取消编辑吗?" data-history-back>取消编辑</button>
<button class="layui-btn" type="submit">保存数据</button>
<button class="layui-btn layui-btn-danger" data-confirm="确定要取消编辑吗?" data-history-back type='button'>取消编辑</button>
</div>
</div>

View File

@ -2,14 +2,14 @@
{block name="content"}
<div class="think-box-shadow">
<form onsubmit="return false;" id="DataForm" class='layui-form layui-card' autocomplete="off" style="width:850px">
<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 data-item-add class="layui-btn layui-btn-primary">添加图片</a>
<a class="layui-btn layui-btn-primary" data-item-add>添加图片</a>
</div>
</div>
<div class="hr-line-dashed margin-top-30"></div>
@ -20,23 +20,23 @@
</form>
</div>
<div data-item-tpl class="layui-hide">
<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" style="width:240px" name="name[]" value="#" required placeholder="请输入图片名称">
<a data-item-up class="layui-btn layui-btn-primary"><i class="layui-icon layui-icon-up margin-0"></i></a>
<a data-item-dn class="layui-btn layui-btn-primary"><i class="layui-icon layui-icon-down margin-0"></i></a>
<a data-item-rm class="layui-btn layui-btn-primary"><i class="layui-icon layui-icon-close margin-0"></i></a>
<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" style="width:240px" name="rule[]" value="#" required placeholder="请输入跳转规则">
<a data-prefix="NEWS" data-rule-page="{:url('data/news_item/select')}" class="layui-btn layui-btn-primary">选择文章</a>
<a data-prefix="GOODS" data-rule-page="{:url('data/shop_goods/select')}" class="layui-btn layui-btn-primary">选择商品</a>
<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>

View File

@ -2,7 +2,7 @@
{block name="content"}
<div class="think-box-shadow">
<form class="layui-form layui-card" action="{:request()->url()}" data-auto="true" method="post" autocomplete="off" style="width:850px">
<form action="{:request()->url()}" 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>
</div>
@ -10,13 +10,13 @@
<label class="layui-form-item margin-bottom-20 block relative">
<span class="color-green font-s14 font-w7 margin-right-10">小程序 AppId</span>
<input name="data.wxapp_appid" required maxlength="18" pattern="^wx[0-9a-z]{16}$" placeholder="请输入18位小程序 AppID" value="{:sysconf('data.wxapp_appid')}" class="layui-input">
<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')}">
<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 name="data.wxapp_appkey" required maxlength="32" pattern="^[0-9a-z]{32}$" placeholder="请输入32位小程序 AppSecret" value="{:sysconf('data.wxapp_appkey')}" class="layui-input">
<input class="layui-input" maxlength="32" name="data.wxapp_appkey" pattern="^[0-9a-z]{32}$" placeholder="请输入32位小程序 AppSecret" required value="{:sysconf('data.wxapp_appkey')}">
<span class="help-block"><b>必选</b>,微信小程序 AppSecret 需要微信公众号平台获取!</span>
</label>

View File

@ -1,10 +1,10 @@
<form class="layui-form layui-card" action="{:request()->url()}" data-auto="true" method="post" autocomplete="off">
<form action="{:request()->url()}" autocomplete="off" class="layui-form layui-card" data-auto="true" method="post">
<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>
<input class="layui-input" name="name" required value="{$vo.name|default=''}" placeholder="请输入折扣方案名称">
<input class="layui-input" name="name" placeholder="请输入折扣方案名称" required value="{$vo.name|default=''}">
</label>
<div class="layui-form-item">
@ -26,7 +26,7 @@
<td class="nowrap padding-0">
<label>
{php} $key = "_level_" . $level['number']; {/php}
<input name="_level_{$level.number}" data-blur-number="4" data-value-max="100" data-value-min="0" value="{$vo[$key]??'100.0000'}" placeholder="请输入用户等级折扣">
<input data-blur-number="4" data-value-max="100" data-value-min="0" name="_level_{$level.number}" placeholder="请输入用户等级折扣" value="{$vo[$key]??'100.0000'}">
<span class="notselect margin-left-5">%</span>
</label>
</td>
@ -39,15 +39,15 @@
<label class="layui-form-item block relative">
<span class="color-green font-w7">折扣方案备注</span>
<span class="color-desc margin-left-5">Discount Remark</span>
<textarea name="remark" class="layui-textarea" placeholder="请输入折扣方案备注">{$vo.remark|default=''}</textarea>
<textarea class="layui-textarea" name="remark" placeholder="请输入折扣方案备注">{$vo.remark|default=''}</textarea>
</label>
<div class="hr-line-dashed"></div>
{notempty name='vo.id'}<input type='hidden' value='{$vo.id}' name='id'>{/notempty}
{notempty name='vo.id'}<input name='id' type='hidden' value='{$vo.id}'>{/notempty}
<div class="layui-form-item text-center">
<button class="layui-btn" type='submit'>保存数据</button>
<button class="layui-btn layui-btn-danger" type='button' data-confirm="确定要取消编辑吗?" data-close>取消编辑</button>
<button class="layui-btn layui-btn-danger" data-close data-confirm="确定要取消编辑吗?" type='button'>取消编辑</button>
</div>
</div>

View File

@ -2,7 +2,7 @@
{block name="button"}
<!--{if auth("add")}-->
<button data-modal="{:url('add')}" data-title="添加折扣方案" class='layui-btn layui-btn-sm layui-btn-primary'>添加折扣方案</button>
<button class='layui-btn layui-btn-sm layui-btn-primary' data-modal="{:url('add')}" data-title="添加折扣方案">添加折扣方案</button>
<!--{/if}-->
{/block}
@ -19,7 +19,7 @@
<label><input data-auto-none data-check-target='.list-check-box' type='checkbox'></label>
</th>
<th class='list-table-sort-td'>
<button type="button" data-reload class="layui-btn layui-btn-xs">刷 新</button>
<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>
@ -32,10 +32,10 @@
{foreach $list as $key=>$vo}
<tr>
<td class='list-table-check-td think-checkbox'>
<label><input class="list-check-box" value='{$vo.id}' type='checkbox'></label>
<label><input class="list-check-box" type='checkbox' value='{$vo.id}'></label>
</td>
<td class='list-table-sort-td'>
<label><input data-action-blur="{:request()->url()}" data-value="id#{$vo.id};action#sort;sort#{value}" data-loading="false" value="{$vo.sort}" class="list-sort-input"></label>
<label><input class="list-sort-input" data-action-blur="{:request()->url()}" data-loading="false" data-value="id#{$vo.id};action#sort;sort#{value}" value="{$vo.sort}"></label>
</td>
<td class="text-left nowrap">{$vo.name|default=''}</td>
<td class="text-left">
@ -55,13 +55,13 @@
<!--{/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" data-csrf="{:systoken('state')}">禁 用</a>
<a class="layui-btn layui-btn-sm layui-btn-warm" data-action="{:url('state')}" data-csrf="{:systoken('state')}" data-value="id#{$vo.id};status#0">禁 用</a>
<!--{elseif auth("state")}-->
<a class="layui-btn layui-btn-sm layui-btn-warm" data-action="{:url('state')}" data-value="id#{$vo.id};status#1" data-csrf="{:systoken('state')}">启 用</a>
<a class="layui-btn layui-btn-sm layui-btn-warm" data-action="{:url('state')}" data-csrf="{:systoken('state')}" data-value="id#{$vo.id};status#1">启 用</a>
<!--{/if}-->
<!--{if auth("remove")}-->
<a class="layui-btn layui-btn-sm layui-btn-danger" data-confirm="确定要删除折扣方案吗?" data-action="{:url('remove')}" data-value="id#{$vo.id}" data-csrf="{:systoken('remove')}">删 除</a>
<a class="layui-btn layui-btn-sm layui-btn-danger" data-action="{:url('remove')}" data-confirm="确定要删除折扣方案吗?" data-csrf="{:systoken('remove')}" data-value="id#{$vo.id}">删 除</a>
<!--{/if}-->
</td>

View File

@ -1,30 +1,30 @@
{extend name="../../admin/view/main"}
{block name='content'}
<form class="layui-form layui-card" action="{:request()->url()}" data-auto="true" method="post" autocomplete="off">
<form action="{:request()->url()}" autocomplete="off" class="layui-form layui-card" data-auto="true" method="post">
<div class="layui-card-body padding-40">
<label class="layui-form-item relative block">
<span class="color-green font-w7">通知标题</span>
<span class="color-desc margin-left-5">Notify Title</span>
<input required name="name" value='{$vo.name|default=""}' placeholder="请输入通知标题" class="layui-input">
<input class="layui-input" name="name" placeholder="请输入通知标题" required value='{$vo.name|default=""}'>
</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">Notify Content</span>
<label class="relative block">
<textarea class="layui-textarea" placeholder="请输入通知内容" name="content">{$vo.content|default=''}</textarea>
<textarea class="layui-textarea" name="content" placeholder="请输入通知内容">{$vo.content|default=''}</textarea>
</label>
</div>
<div class="hr-line-dashed"></div>
{notempty name='vo.id'}<input type='hidden' value='{$vo.id}' name='id'>{/notempty}
{notempty name='vo.code'}<input type='hidden' value='{$vo.code}' name='code'>{/notempty}
{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 type="submit" class="layui-btn">保存数据</button>
<button type='button' class="layui-btn layui-btn-danger" data-confirm="确定要取消编辑吗?" data-history-back>取消编辑</button>
<button class="layui-btn" type="submit">保存数据</button>
<button class="layui-btn layui-btn-danger" data-confirm="确定要取消编辑吗?" data-history-back type='button'>取消编辑</button>
</div>
</div>

View File

@ -3,11 +3,11 @@
{block name="button"}
<!--{if auth("add")}-->
<button data-open='{:url("add")}' class='layui-btn layui-btn-sm layui-btn-primary'>添加通知</button>
<button class='layui-btn layui-btn-sm layui-btn-primary' data-open='{:url("add")}'>添加通知</button>
<!--{/if}-->
<!--{if auth("remove")}-->
<button data-action='{:url("remove")}' data-rule="id#{key}" data-confirm="确定要删除这些通知吗?" class='layui-btn layui-btn-sm layui-btn-primary'>删除通知</button>
<button class='layui-btn layui-btn-sm layui-btn-primary' data-action='{:url("remove")}' data-confirm="确定要删除这些通知吗?" data-rule="id#{key}">删除通知</button>
<!--{/if}-->
{/block}
@ -22,7 +22,7 @@
<label><input data-auto-none data-check-target='.list-check-box' type='checkbox'></label>
</th>
<th class='list-table-sort-td'>
<button type="button" data-reload class="layui-btn layui-btn-xs">刷 新</button>
<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>
@ -35,10 +35,10 @@
{foreach $list as $key=>$vo}
<tr>
<td class='list-table-check-td think-checkbox'>
<label><input class="list-check-box" value='{$vo.id}' type='checkbox'></label>
<label><input class="list-check-box" type='checkbox' value='{$vo.id}'></label>
</td>
<td class='list-table-sort-td'>
<label><input data-action-blur="{:request()->url()}" data-value="id#{$vo.id};action#sort;sort#{value}" data-loading="false" value="{$vo.sort}" class="list-sort-input"></label>
<label><input class="list-sort-input" data-action-blur="{:request()->url()}" data-loading="false" data-value="id#{$vo.id};action#sort;sort#{value}" value="{$vo.sort}"></label>
</td>
<td class="text-left nowrap">{$vo.name|default=''}</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>
@ -46,7 +46,7 @@
<td class='text-left nowrap'>
<!--{if auth("edit")}-->
<a data-dbclick class="layui-btn layui-btn-sm" data-title="编辑系统通知" data-open="{:url('edit')}?id={$vo.id}">编 辑</a>
<a class="layui-btn layui-btn-sm" data-dbclick data-open="{:url('edit')}?id={$vo.id}" data-title="编辑系统通知">编 辑</a>
<!--{/if}-->
<!--{if auth("state") and $vo.status eq 1}-->
@ -56,7 +56,7 @@
<!--{/if}-->
<!--{if auth("remove")}-->
<a class="layui-btn layui-btn-sm layui-btn-danger" data-confirm="确定要删除该通知吗?" data-action="{:url('remove')}" data-value="id#{$vo.id}">删 除</a>
<a class="layui-btn layui-btn-sm layui-btn-danger" data-action="{:url('remove')}" data-confirm="确定要删除该通知吗?" data-value="id#{$vo.id}">删 除</a>
<!--{/if}-->
</td>

View File

@ -1,10 +1,10 @@
<fieldset>
<legend>条件搜索</legend>
<form class="layui-form layui-form-pane form-search" action="{:request()->url()}" onsubmit="return false" method="get" autocomplete="off">
<form action="{:request()->url()}" 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 name="name" value="{:input('name','')}" placeholder="请输入通知标题" class="layui-input">
<input class="layui-input" name="name" placeholder="请输入通知标题" value="{:input('name','')}">
</label>
</div>
@ -26,7 +26,7 @@
<div class="layui-form-item layui-inline">
<label class="layui-form-label">创建时间</label>
<label class="layui-input-inline">
<input data-date-range name="create_at" value="{:input('create_at','')}" placeholder="请选择创建时间" class="layui-input">
<input class="layui-input" data-date-range name="create_at" placeholder="请选择创建时间" value="{:input('create_at','')}">
</label>
</div>

View File

@ -1,4 +1,4 @@
<form class="layui-form layui-card" action="{:request()->url()}" data-auto="true" method="post" autocomplete="off">
<form action="{:request()->url()}" autocomplete="off" class="layui-form layui-card" data-auto="true" method="post">
<div class="layui-card-body padding-left-40">
<fieldset class="layui-form-item">
@ -16,7 +16,7 @@
</div>
<label class="layui-col-xs9 block relative">
<span class="color-green label-required-prev">等级名称</span><span class="margin-left-5 color-desc">Level Name</span>
<input class="layui-input" name="name" required value="{$vo.name|default=''}" placeholder="请输入等级名称">
<input class="layui-input" name="name" placeholder="请输入等级名称" required value="{$vo.name|default=''}">
</label>
</div>
</fieldset>
@ -27,9 +27,9 @@
{php}$vo['upgrade_type'] = $vo['upgrade_type'] ?? 1;{/php}
{foreach [1=>'达成所有条件',0=>'达成任何条件'] as $k => $v}
{if isset($vo.upgrade_type) and $vo.upgrade_type eq $k}
<label class="think-radio"><input checked type="radio" name="upgrade_type" value="{$k}" lay-ignore> {$v}</label>
<label class="think-radio"><input checked lay-ignore name="upgrade_type" type="radio" value="{$k}"> {$v}</label>
{else}
<label class="think-radio"><input type="radio" name="upgrade_type" value="{$k}" lay-ignore> {$v}</label>
<label class="think-radio"><input lay-ignore name="upgrade_type" type="radio" value="{$k}"> {$v}</label>
{/if}{/foreach}
</div>
</fieldset>
@ -39,54 +39,54 @@
<div class="font-s13">
<label class="layui-form-item block relative think-checkbox notselect">
{if isset($vo.goods_vip_status) and $vo.goods_vip_status eq 1}
<input type="checkbox" checked name="goods_vip_status" value="1" lay-ignore>开启
<input checked lay-ignore name="goods_vip_status" type="checkbox" value="1">开启
{else}
<input type="checkbox" name="goods_vip_status" value="1" lay-ignore>开启
<input lay-ignore name="goods_vip_status" type="checkbox" value="1">开启
{/if}
需要 <span class="color-blue">购买入会礼包</span> 达成升级;
</label>
<label class="layui-form-item block relative think-checkbox notselect">
{if isset($vo.teams_direct_status) and $vo.teams_direct_status eq 1}
<input type="checkbox" checked name="teams_direct_status" value="1" lay-ignore>开启
<input checked lay-ignore name="teams_direct_status" type="checkbox" value="1">开启
{else}
<input type="checkbox" name="teams_direct_status" value="1" lay-ignore>开启
<input lay-ignore name="teams_direct_status" type="checkbox" value="1">开启
{/if}
<span class="color-blue">直推团队</span> 升级,<span class="color-blue">直推团队</span> 达到
<input class="inline-block text-center" data-blur-number="0" style="width:80px" name="teams_direct_number" value="{$vo.teams_direct_number|default='0'}">
<input class="inline-block text-center" data-blur-number="0" name="teams_direct_number" style="width:80px" value="{$vo.teams_direct_number|default='0'}">
人;
</label>
<label class="layui-form-item block relative think-checkbox notselect">
{if isset($vo.teams_indirect_status) and $vo.teams_indirect_status eq 1}
<input type="checkbox" checked name="teams_indirect_status" value="1" lay-ignore>开启
<input checked lay-ignore name="teams_indirect_status" type="checkbox" value="1">开启
{else}
<input type="checkbox" name="teams_indirect_status" value="1" lay-ignore>开启
<input lay-ignore name="teams_indirect_status" type="checkbox" value="1">开启
{/if}
<span class="color-blue">间接团队</span> 升级,<span class="color-blue">间接团队</span> 达到
<input class="inline-block text-center" data-blur-number="0" style="width:80px" name="teams_indirect_number" value="{$vo.teams_indirect_number|default='0'}">
<input class="inline-block text-center" data-blur-number="0" name="teams_indirect_number" style="width:80px" value="{$vo.teams_indirect_number|default='0'}">
人;
</label>
<label class="layui-form-item block relative think-checkbox notselect">
{if isset($vo.teams_users_status) and $vo.teams_users_status eq 1}
<input type="checkbox" checked name="teams_users_status" value="1" lay-ignore>开启
<input checked lay-ignore name="teams_users_status" type="checkbox" value="1">开启
{else}
<input type="checkbox" name="teams_users_status" value="1" lay-ignore>开启
<input lay-ignore name="teams_users_status" type="checkbox" value="1">开启
{/if}
<span class="color-blue">团队总数</span> 升级,<span class="color-blue">团队总数</span> 达到
<input class="inline-block text-center" data-blur-number="0" style="width:80px" name="teams_users_number" value="{$vo.teams_users_number|default='0'}">
<input class="inline-block text-center" data-blur-number="0" name="teams_users_number" style="width:80px" value="{$vo.teams_users_number|default='0'}">
人;
</label>
<label class="layui-form-item block relative think-checkbox notselect">
{if isset($vo.order_amount_status) and $vo.order_amount_status eq 1}
<input type="checkbox" checked name="order_amount_status" value="1" lay-ignore>开启
<input checked lay-ignore name="order_amount_status" type="checkbox" value="1">开启
{else}
<input type="checkbox" name="order_amount_status" value="1" lay-ignore>开启
<input lay-ignore name="order_amount_status" type="checkbox" value="1">开启
{/if}
<span class="color-blue">订单总额</span> 升级,<span class="color-blue">订单总额</span> 达到
<input class="inline-block text-center" data-blur-number="2" style="width:80px" name="order_amount_number" value="{$vo.order_amount_number|default='0'}">
<input class="inline-block text-center" data-blur-number="2" name="order_amount_number" style="width:80px" value="{$vo.order_amount_number|default='0'}">
元;
</label>
</div>
@ -96,9 +96,9 @@
<legend><span class="layui-badge layui-bg-cyan">发放奖利</span></legend>
<div class="layui-form-item notselect">
{foreach $prizes as $prize}{if isset($vo.rebate_rule) && is_array($vo.rebate_rule) && in_array($prize.code, $vo.rebate_rule)}
<label class="think-checkbox"><input type="checkbox" name="rebate_rule[]" value="{$prize.code}" lay-ignore checked> {$prize.name}</label>
<label class="think-checkbox"><input checked lay-ignore name="rebate_rule[]" type="checkbox" value="{$prize.code}"> {$prize.name}</label>
{else}
<label class="think-checkbox"><input type="checkbox" name="rebate_rule[]" value="{$prize.code}" lay-ignore> {$prize.name}</label>
<label class="think-checkbox"><input lay-ignore name="rebate_rule[]" type="checkbox" value="{$prize.code}"> {$prize.name}</label>
{/if}{/foreach}
</div>
</fieldset>
@ -106,17 +106,17 @@
<fieldset class="layui-form-item layui-hide">
<legend><span class="layui-badge layui-bg-cyan">等级描述</span></legend>
<label class="layui-form-item block relative">
<textarea name="remark" class="layui-textarea" placeholder="请输入用户等级描述">{$vo.remark|default=''}</textarea>
<textarea class="layui-textarea" name="remark" placeholder="请输入用户等级描述">{$vo.remark|default=''}</textarea>
</label>
</fieldset>
<div class="hr-line-dashed"></div>
{notempty name='vo.id'}<input type='hidden' value='{$vo.id}' name='id'>{/notempty}
{notempty name='vo.number'}<input type='hidden' value='{$vo.number}' name='old_number'>{/notempty}
{notempty name='vo.id'}<input name='id' type='hidden' value='{$vo.id}'>{/notempty}
{notempty name='vo.number'}<input name='old_number' type='hidden' value='{$vo.number}'>{/notempty}
<div class="layui-form-item text-center">
<button class="layui-btn" type='submit'>保存数据</button>
<button class="layui-btn layui-btn-danger" type='button' data-confirm="确定要取消编辑吗?" data-close>取消编辑</button>
<button class="layui-btn layui-btn-danger" data-close data-confirm="确定要取消编辑吗?" type='button'>取消编辑</button>
</div>
</div>

View File

@ -2,11 +2,11 @@
{block name="button"}
<!--{if auth("add") and $page.total <= 9}-->
<button data-modal="{:url('add')}" class='layui-btn layui-btn-sm layui-btn-primary'>添加用户等级</button>
<button class='layui-btn layui-btn-sm layui-btn-primary' data-modal="{:url('add')}">添加用户等级</button>
<!--{/if}-->
<!--{if auth("sync")}-->
<button data-queue="{:url('sync')}" class='layui-btn layui-btn-sm layui-btn-primary'>刷新用户数据</button>
<button class='layui-btn layui-btn-sm layui-btn-primary' data-queue="{:url('sync')}">刷新用户数据</button>
<!--{/if}-->
{/block}
@ -40,7 +40,7 @@
{foreach $list as $key=>$vo}
<tr>
<td class='list-table-check-td think-checkbox'>
<label><input class="list-check-box" value='{$vo.id}' type='checkbox'></label>
<label><input class="list-check-box" type='checkbox' value='{$vo.id}'></label>
</td>
<td class="text-left nowrap"> [ <span class="color-blue">{$vo.number}</span> ] {$vo.name|default=''}</td>
<td class="text-left nowrap">{if $vo.upgrade_type eq 1}<span class="color-green">全部完成</span>{else}<span class="color-blue">任何条件</span>{/if}</td>
@ -63,7 +63,7 @@
<!--{/if}-->
<!--{if auth("remove")}-->
<a class="layui-btn layui-btn-sm layui-btn-danger" data-confirm="确定要删除用户等级吗?" data-action="{:url('remove')}" data-value="id#{$vo.id}" data-csrf="{:systoken('remove')}">删 除</a>
<a class="layui-btn layui-btn-sm layui-btn-danger" data-action="{:url('remove')}" data-confirm="确定要删除用户等级吗?" data-csrf="{:systoken('remove')}" data-value="id#{$vo.id}">删 除</a>
<!--{/if}-->
</td>
</tr>

View File

@ -1,7 +1,7 @@
{extend name="../../admin/view/main"}
{block name='content'}
<form class="layui-form layui-card" action="{:request()->url()}" data-auto="true" method="post" autocomplete="off">
<form action="{:request()->url()}" autocomplete="off" class="layui-form layui-card" data-auto="true" method="post">
<div class="layui-card-body padding-40">
{notempty name='marks'}
<div class="layui-form-item relative block">
@ -9,9 +9,9 @@
<span class="color-desc margin-left-5">Mark Name</span>
<div class="markbox layui-textarea">
{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 type="checkbox" name="mark[]" value="{$tag.name}" lay-ignore> {$tag.name}</label>
<label class="think-checkbox notselect"><input checked lay-ignore name="mark[]" type="checkbox" value="{$tag.name}"> {$tag.name}</label>
{else}
<label class="think-checkbox notselect"><input type="checkbox" name="mark[]" value="{$tag.name}" lay-ignore> {$tag.name}</label>
<label class="think-checkbox notselect"><input lay-ignore name="mark[]" type="checkbox" value="{$tag.name}"> {$tag.name}</label>
{/if}{/foreach}
</div>
</div>
@ -21,8 +21,8 @@
<span class="color-green font-w7 label-required-prev">文章封面</span>
<span class="color-desc margin-left-5">Conver Image</span>
<label class="relative block label-required-null">
<input required name="cover" value='{$vo.cover|default=""}' placeholder="请上传文章封面&nbsp;&nbsp;&nbsp;&nbsp;" class="layui-input">
<a data-file data-type="png,jpg,gif" data-field="cover" class="input-right-icon layui-icon layui-icon-upload"></a>
<input class="layui-input" name="cover" placeholder="请上传文章封面&nbsp;&nbsp;&nbsp;&nbsp;" 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>
</label>
</div>
@ -30,30 +30,30 @@
<label class="layui-form-item relative block">
<span class="color-green font-w7">文章标题</span>
<span class="color-desc margin-left-5">Article Name</span>
<input required name="name" value='{$vo.name|default=""}' placeholder="请输入文章标题" class="layui-input">
<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">简介描述</span>
<span class="color-desc margin-left-5">Article Remark</span>
<textarea required class="layui-textarea" placeholder="请输入简介描述" name="remark">{$vo.remark|default=''}</textarea>
<textarea class="layui-textarea" name="remark" placeholder="请输入简介描述" required>{$vo.remark|default=''}</textarea>
</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">Article Content</span>
<label class="relative block">
<textarea class="layui-textarea" placeholder="请输入文章内容" name="content">{$vo.content|default=''}</textarea>
<textarea class="layui-textarea" name="content" placeholder="请输入文章内容">{$vo.content|default=''}</textarea>
</label>
</div>
<div class="hr-line-dashed"></div>
{notempty name='vo.id'}<input type='hidden' value='{$vo.id}' name='id'>{/notempty}
{notempty name='vo.code'}<input type='hidden' value='{$vo.code}' name='code'>{/notempty}
{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 type="submit" class="layui-btn">保存数据</button>
<button type='button' class="layui-btn layui-btn-danger" data-confirm="确定要取消编辑吗?" data-close>取消编辑</button>
<button class="layui-btn" type="submit">保存数据</button>
<button class="layui-btn layui-btn-danger" data-close data-confirm="确定要取消编辑吗?" type='button'>取消编辑</button>
</div>
</div>

View File

@ -2,15 +2,15 @@
{block name="button"}
<!--{if auth("add")}-->
<button data-open='{:url("add")}' class='layui-btn layui-btn-sm layui-btn-primary'>添加文章</button>
<button class='layui-btn layui-btn-sm layui-btn-primary' data-open='{:url("add")}'>添加文章</button>
<!--{/if}-->
<!--{if auth("remove")}-->
<button data-action='{:url("remove")}' data-rule="id#{key}" data-confirm="确定要删除这些文章吗?" class='layui-btn layui-btn-sm layui-btn-primary'>删除文章</button>
<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 data-iframe='{:url("news_mark/index")}' data-width="900px" data-title="标签管理" class='layui-btn layui-btn-sm layui-btn-primary'>标签管理</button>
<button class='layui-btn layui-btn-sm layui-btn-primary' data-iframe='{:url("news_mark/index")}' data-title="标签管理" data-width="900px">标签管理</button>
<!--{/if}-->
{/block}
@ -25,7 +25,7 @@
<label><input data-auto-none data-check-target='.list-check-box' type='checkbox'></label>
</th>
<th class='list-table-sort-td'>
<button type="button" data-reload class="layui-btn layui-btn-xs">刷 新</button>
<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>
@ -40,10 +40,10 @@
{foreach $list as $key=>$vo}
<tr>
<td class='list-table-check-td think-checkbox'>
<label><input class="list-check-box" value='{$vo.id}' type='checkbox'></label>
<label><input class="list-check-box" type='checkbox' value='{$vo.id}'></label>
</td>
<td class='list-table-sort-td'>
<label><input data-action-blur="{:request()->url()}" data-value="id#{$vo.id};action#sort;sort#{value}" data-loading="false" value="{$vo.sort}" class="list-sort-input"></label>
<label><input class="list-sort-input" data-action-blur="{:request()->url()}" 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>
@ -53,7 +53,7 @@
<td class='text-left nowrap'>
<!--{if auth("edit")}-->
<a data-dbclick class="layui-btn layui-btn-sm" data-title="编辑文章文章" data-open="{:url('edit')}?id={$vo.id}">编 辑</a>
<a class="layui-btn layui-btn-sm" data-dbclick data-open="{:url('edit')}?id={$vo.id}" data-title="编辑文章文章">编 辑</a>
<!--{/if}-->
<!--{if auth("state") and $vo.status eq 1}-->
@ -65,7 +65,7 @@
<!--{/if}-->
<!--{if auth("remove")}-->
<a class="layui-btn layui-btn-sm layui-btn-danger" data-confirm="确定要删除该文章吗?" data-action="{:url('remove')}" data-value="id#{$vo.id}">删 除</a>
<a class="layui-btn layui-btn-sm layui-btn-danger" data-action="{:url('remove')}" data-confirm="确定要删除该文章吗?" data-value="id#{$vo.id}">删 除</a>
<!--{/if}-->
</td>

View File

@ -1,17 +1,17 @@
<fieldset>
<legend>条件搜索</legend>
<form class="layui-form layui-form-pane form-search" action="{:request()->url()}" onsubmit="return false" method="get" autocomplete="off">
<form action="{:request()->url()}" 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 name="name" value="{:input('name','')}" placeholder="请输入文章标题" class="layui-input">
<input class="layui-input" name="name" placeholder="请输入文章标题" value="{:input('name','')}">
</label>
</div>
<div class="layui-form-item layui-inline">
<label class="layui-form-label">搜索标签</label>
<label class="layui-input-inline">
<input name="mark" value="{:input('mark','')}" placeholder="请输入搜索标签" class="layui-input">
<input class="layui-input" name="mark" placeholder="请输入搜索标签" value="{:input('mark','')}">
</label>
</div>
@ -33,7 +33,7 @@
<div class="layui-form-item layui-inline">
<label class="layui-form-label">创建时间</label>
<label class="layui-input-inline">
<input data-date-range name="create_at" value="{:input('create_at','')}" placeholder="请选择创建时间" class="layui-input">
<input class="layui-input" data-date-range name="create_at" placeholder="请选择创建时间" value="{:input('create_at','')}">
</label>
</div>

View File

@ -1,10 +1,10 @@
<fieldset>
<legend>条件搜索</legend>
<form class="layui-form layui-form-pane form-search" action="{:request()->url()}" onsubmit="return false" method="get" autocomplete="off">
<form action="{:request()->url()}" 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 name="name" value="{:input('name','')}" placeholder="请输入文章标题" class="layui-input">
<input class="layui-input" name="name" placeholder="请输入文章标题" value="{:input('name','')}">
</label>
</div>
@ -25,7 +25,7 @@
<div class="layui-form-item layui-inline">
<label class="layui-form-label">创建时间</label>
<label class="layui-input-inline">
<input data-date-range name="create_at" value="{:input('create_at','')}" placeholder="请选择创建时间" class="layui-input">
<input class="layui-input" data-date-range name="create_at" placeholder="请选择创建时间" value="{:input('create_at','')}">
</label>
</div>

View File

@ -1,9 +1,9 @@
<form class="layui-form layui-card" action="{:request()->url()}" data-auto="true" method="post" autocomplete="off">
<form action="{:request()->url()}" autocomplete="off" class="layui-form layui-card" data-auto="true" method="post">
<div class="layui-card-body padding-left-40">
<label class="layui-form-item relative block">
<span class="color-green font-w7">标签名称</span>
<span class="color-desc margin-left-5">Mark Name</span>
<input class="layui-input" required placeholder="请输入标签名称" name="name" value="{$vo.name|default=''}"/>
<input class="layui-input" name="name" placeholder="请输入标签名称" required value="{$vo.name|default=''}"/>
<span class="help-block"><b>必填,</b>请填写标签名称建议字符不要太长一般4-6个汉字</span>
</label>
@ -11,16 +11,16 @@
<span class="color-green font-w7">标签描述</span>
<span class="color-desc margin-left-5">Mark Remark</span>
<label class="relative block">
<textarea class="layui-textarea" placeholder="请输入文档描述" name="desc">{$vo.desc|default=''}</textarea>
<textarea class="layui-textarea" name="desc" placeholder="请输入文档描述">{$vo.desc|default=''}</textarea>
</label>
</div>
</div>
<div class="hr-line-dashed"></div>
{notempty name='vo.id'}<input type='hidden' value='{$vo.id}' name='id'>{/notempty}
{notempty name='vo.id'}<input name='id' type='hidden' value='{$vo.id}'>{/notempty}
<div class="layui-form-item text-center">
<button class="layui-btn" type='submit'>保存数据</button>
<button class="layui-btn layui-btn-danger" type='button' data-confirm="确定要取消编辑吗?" data-close>取消编辑</button>
<button class="layui-btn layui-btn-danger" data-close data-confirm="确定要取消编辑吗?" type='button'>取消编辑</button>
</div>
</form>

View File

@ -11,7 +11,7 @@
<label><input data-auto-none data-check-target='.list-check-box' type='checkbox'></label>
</th>
<th class='list-table-sort-td'>
<button type="button" data-reload class="layui-btn layui-btn-xs">刷 新</button>
<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>
@ -24,17 +24,17 @@
{foreach $list as $key=>$vo}
<tr data-dbclick>
<td class='list-table-check-td think-checkbox'>
<label><input class="list-check-box" value='{$vo.id}' type='checkbox'></label>
<label><input class="list-check-box" type='checkbox' value='{$vo.id}'></label>
</td>
<td class='list-table-sort-td'>
<label><input data-action-blur="{:request()->url()}" data-value="id#{$vo.id};action#sort;sort#{value}" data-loading="false" value="{$vo.sort}" class="list-sort-input"></label>
<label><input class="list-sort-input" data-action-blur="{:request()->url()}" data-loading="false" data-value="id#{$vo.id};action#sort;sort#{value}" value="{$vo.sort}"></label>
</td>
<td class="text-left 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 class="text-left nowrap">{$vo.create_at|format_datetime}</td>
<td class='text-left nowrap'>
{if auth("edit")}
<a data-dbclick class="layui-btn layui-btn-sm" data-width="500px" data-title="编辑标签" data-modal="{:url('edit')}?id={$vo.id}">编 辑</a>
<a class="layui-btn layui-btn-sm" data-dbclick data-modal="{:url('edit')}?id={$vo.id}" data-title="编辑标签" data-width="500px">编 辑</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>
@ -43,7 +43,7 @@
<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-confirm="确定要删除该标签吗?" data-action="{:url('remove')}" data-value="id#{$vo.id}">删 除</a>
<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>
@ -53,7 +53,7 @@
{empty name='list'}<span class="notdata">没有记录哦</span>{else}{$pagehtml|raw|default=''}{/empty}
<div class="absolute" style="bottom:5px;right:10px">
<!--{if auth("add")}-->
<button type="button" data-width="500px" data-modal='{:url("add")}' data-title="添加标签" class='layui-btn layui-btn-sm'>添加标签</button>
<button class='layui-btn layui-btn-sm' data-modal='{:url("add")}' data-title="添加标签" data-width="500px" type="button">添加标签</button>
<!--{/if}-->
</div>
</div>

View File

@ -1,10 +1,10 @@
<fieldset>
<legend>条件搜索</legend>
<form class="layui-form layui-form-pane form-search" action="{:request()->url()}" onsubmit="return false" method="get" autocomplete="off">
<form action="{:request()->url()}" 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 name="name" value="{:input('name','')}" placeholder="请输入标签名称" class="layui-input">
<input class="layui-input" name="name" placeholder="请输入标签名称" value="{:input('name','')}">
</label>
</div>
@ -26,7 +26,7 @@
<div class="layui-form-item layui-inline">
<label class="layui-form-label">创建时间</label>
<label class="layui-input-inline">
<input data-date-range name="create_at" value="{:input('create_at','')}" placeholder="请选择创建时间" class="layui-input">
<input class="layui-input" data-date-range name="create_at" placeholder="请选择创建时间" value="{:input('create_at','')}">
</label>
</div>

View File

@ -2,7 +2,7 @@
{block name="content"}
{include file='shop_goods/formstyle'}
<form onsubmit="return false;" id="GoodsForm" data-auto="true" method="post" class='layui-form layui-card' autocomplete="off">
<form autocomplete="off" class='layui-form layui-card' data-auto="true" id="GoodsForm" method="post" onsubmit="return false;">
<div class="layui-card-body padding-40 padding-bottom-20">
<!--{notempty name='marks'}-->
@ -11,9 +11,9 @@
<span class="color-desc margin-left-5">Mark Name</span>
<div class="layui-textarea">
{foreach $marks as $mark}{if isset($vo.marks) && is_array($vo.marks) && in_array($mark, $vo.marks)}
<input checked type="checkbox" name="marks[]" value="{$mark}" title="{$mark}">
<input checked name="marks[]" title="{$mark}" type="checkbox" value="{$mark}">
{else}
<input type="checkbox" name="marks[]" value="{$mark}" title="{$mark}">
<input name="marks[]" title="{$mark}" type="checkbox" value="{$mark}">
{/if}{/foreach}
</div>
</div>
@ -23,7 +23,7 @@
<label class="layui-form-item block relative">
<span class="color-green font-w7 label-required-prev">所属分类</span>
<span class="color-desc margin-left-5">Category Name</span>
<select class="layui-select" name="cateids" lay-search>
<select class="layui-select" lay-search name="cateids">
{foreach $cates as $cate}{if in_array($cate.id, $cate.ids)}
<option selected value="{:arr2str($cate.ids)}">{:join(' ', $cate.names)}</option>
{else}
@ -39,9 +39,9 @@
<span class="color-desc margin-left-5">Goods Payment</span>
<div class="layui-textarea">
{foreach $payments as $payment}{if isset($vo.payment) && is_array($vo.payment) && in_array($payment.code, $vo.payment)}
<input checked type="checkbox" name="payment[]" value="{$payment.code}" title="{$payment.name}">
<input checked name="payment[]" title="{$payment.name}" type="checkbox" value="{$payment.code}">
{else}
<input type="checkbox" name="payment[]" value="{$payment.code}" title="{$payment.name}">
<input name="payment[]" title="{$payment.name}" type="checkbox" value="{$payment.code}">
{/if}{/foreach}
</div>
</div>
@ -50,14 +50,14 @@
<label class="layui-form-item block relative">
<span class="color-green font-w7">商品名称</span>
<span class="color-desc margin-left-5">Goods Name</span>
<input name="name" required class="layui-input" placeholder="请输入商品名称" value="{$vo.name|default=''}">
<input class="layui-input" name="name" placeholder="请输入商品名称" required value="{$vo.name|default=''}">
</label>
<!--{notempty name='trucks'}-->
<label class="layui-form-item block relative">
<span class="color-green font-w7 label-required-prev">邮费模板</span>
<span class="color-desc margin-left-5">Truck Template</span>
<select class="layui-select" name="truck_code" lay-search>
<select class="layui-select" lay-search name="truck_code">
<option value="">--- 包 邮 ---</option>
{foreach $trucks as $truck}{if isset($vo.truck_code) and $vo.truck_code eq $truck.code}
<option selected value="{$truck.code}">{$truck.code} - {$truck.name|default=''}</option>
@ -74,8 +74,8 @@
<table class="layui-table">
<thead>
<tr>
<th style="width:90px" class="text-center">商品封面</th>
<th style="width:auto" class="text-left">轮播图片</th>
<th class="text-center" style="width:90px">商品封面</th>
<th class="text-left" style="width:auto">轮播图片</th>
</tr>
<tr>
<td class="text-center">
@ -98,28 +98,28 @@
<div class="layui-form-item">
{foreach ['非返利商品,其代理不会获得奖励','是返利商品,其代理将会获得奖励'] as $k => $v}
{if (isset($vo.rebate_type) and $vo.rebate_type eq $k) or (empty($vo.rebate_type) and $k eq 0)}
<input type="radio" name="rebate_type" value="{$k}" title="{$v}" checked>
<input checked name="rebate_type" title="{$v}" type="radio" value="{$k}">
{else}
<input type="radio" name="rebate_type" value="{$k}" title="{$v}">
<input name="rebate_type" title="{$v}" type="radio" value="{$k}">
{/if}{/foreach}
</div>
</fieldset>
<fieldset>
<legend><span class="layui-badge think-bg-violet">入会礼包配置</span></legend>
<div class="layui-form-item">
{foreach ['非入会礼包,购买后不会升级等级','是入会礼包,购买后升级会员级'] as $k=>$v}
{foreach ['非入会礼包,购买后不会升级等级','是入会礼包,购买后升级会员级'] as $k=>$v}
{if (isset($vo.vip_entry) and $vo.vip_entry eq $k) or (empty($vo.vip_entry) and $k eq 0)}
<input type="radio" name="vip_entry" value="{$k}" title="{$v}" checked lay-filter="vip_entry">
<input checked lay-filter="vip_entry" name="vip_entry" title="{$v}" type="radio" value="{$k}">
{else}
<input type="radio" name="vip_entry" value="{$k}" title="{$v}" lay-filter="vip_entry">
<input lay-filter="vip_entry" name="vip_entry" title="{$v}" type="radio" value="{$k}">
{/if}{/foreach}
</div>
</fieldset>
<!--{notempty name='upgrades'}-->
<fieldset>
<legend><span class="layui-badge think-bg-violet">升级用户级</span></legend>
<legend><span class="layui-badge think-bg-violet">升级用户</span></legend>
<label class="layui-form-item">
<select name="vip_upgrade" class="layui-select" lay-filter="vip_upgrade">
<select class="layui-select" lay-filter="vip_upgrade" name="vip_upgrade">
{foreach $upgrades as $upgrade}{if isset($vo.vip_upgrade) and $vo.vip_upgrade eq $upgrade.number}
<option selected value="{$upgrade.number|default=0}">[ {$upgrade.number|default='0'} ] {$upgrade.name|default=''}</option>
{else}
@ -138,9 +138,9 @@
<div class="layui-form-item">
{foreach ['虚拟商品,无需物流配送','实物商品,需要物流配送'] as $k=>$v}
{if (isset($vo.truck_type) and $vo.truck_type eq $k) or (empty($vo.truck_type) and $k eq 0)}
<input type="radio" name="truck_type" value="{$k}" title="{$v}" checked>
<input checked name="truck_type" title="{$v}" type="radio" value="{$k}">
{else}
<input type="radio" name="truck_type" value="{$k}" title="{$v}">
<input name="truck_type" title="{$v}" type="radio" value="{$k}">
{/if}{/foreach}
</div>
</fieldset>
@ -148,7 +148,7 @@
<fieldset>
<legend><span class="layui-badge think-bg-violet">用户购买折扣方案</span></legend>
<label class="layui-form-item">
<select name="discount_id" class="layui-select" lay-search>
<select class="layui-select" lay-search name="discount_id">
<option value="0"> -- 不设置 --</option>
{foreach $discounts as $discount}{if isset($vo.discount_id) and $vo.discount_id eq $discount.id}
<option selected value="{$discount.id|default=0}">{$discount.name|default='0'}</option>
@ -164,7 +164,7 @@
<fieldset>
<legend><span class="layui-badge think-bg-violet">限制最低购买等级</span></legend>
<label class="layui-form-item">
<select name="limit_low_vip" class="layui-select">
<select class="layui-select" name="limit_low_vip">
<option value="0"> -- 不设置 --</option>
{foreach $upgrades as $upgrade}{if isset($vo.limit_low_vip) and $vo.limit_low_vip eq $upgrade.number}
<option selected value="{$upgrade.number|default=0}">[ {$upgrade.number|default='0'} ] {$upgrade.name|default=''}</option>
@ -179,7 +179,7 @@
<fieldset>
<legend><span class="layui-badge think-bg-violet">商品限购数量</span></legend>
<label class="layui-form-item">
<input class="layui-input" data-blur-number="0" name="limit_max_num" value="{$vo.limit_max_num|default=0}" placeholder="请输入商品限购数量">
<input class="layui-input" data-blur-number="0" name="limit_max_num" placeholder="请输入商品限购数量" value="{$vo.limit_max_num|default=0}">
<span class="help-block">限制每人可购买数量(为 0 时不限制)!</span>
</label>
</fieldset>
@ -188,11 +188,11 @@
<div class="layui-form-item">
<span class="color-green font-w7 label-required-prev">商品规格及商品SKU绑定<span class="color-red font-s12">(规格填写后不允许再次修改)</span></span>
<div ng-repeat="x in specs track by $index" style="display:none" class="margin-bottom-10" ng-class="{true:'layui-show'}[mode==='add'&&specs.length>0]">
<div class="margin-bottom-10" ng-class="{true:'layui-show'}[mode==='add'&&specs.length>0]" ng-repeat="x in specs track by $index" style="display:none">
<div class="goods-spec-box padding-10 margin-0 relative" style="background:#ddd">
<span class="text-center goods-spec-name">分组</span>
<label class="label-required-null inline-block">
<input ng-blur="x.name=trimSpace(x.name)" ng-model="x.name" required placeholder="请输入分组名称">
<input ng-blur="x.name=trimSpace(x.name)" ng-model="x.name" placeholder="请输入分组名称" required>
</label>
<div class="pull-right">
<a class="layui-btn layui-btn-sm layui-btn-primary goods-spec-btn" ng-click="addSpecVal(x.list)">增加</a>
@ -203,71 +203,71 @@
</div>
<div class="goods-spec-box padding-10 margin-0 layui-bg-gray block relative" ng-if="x.list && x.list.length > 0">
<label class="label-required-null inline-block margin-right-10 margin-bottom-5 relative nowrap" ng-repeat="xx in x.list">
<input type="checkbox" lay-ignore ng-model="xx.check" ng-click="xx.check=checkListChecked(x.list,$event.target.checked)">
<input type="text" ng-blur="xx.name=trimSpace(xx.name)" ng-model="xx.name" ng-keyup="xx.name=$event.target.value" required placeholder="请输入规格">
<a ng-if="x.list.length>1" ng-click="x.list=delSpecVal(x.list,$index)" class="layui-icon layui-icon-close font-s12 goods-spec-close"></a>
<input lay-ignore ng-click="xx.check=checkListChecked(x.list,$event.target.checked)" ng-model="xx.check" type="checkbox">
<input ng-blur="xx.name=trimSpace(xx.name)" ng-keyup="xx.name=$event.target.value" ng-model="xx.name" placeholder="请输入规格" required type="text">
<a class="layui-icon layui-icon-close font-s12 goods-spec-close" ng-click="x.list=delSpecVal(x.list,$index)" ng-if="x.list.length>1"></a>
</label>
</div>
</div>
<div ng-if="mode==='add'">
<a ng-if="specs.length<3" class="layui-btn layui-btn-sm layui-btn-primary" ng-click="addSpecRow(specs)">增加规则分组</a>
<a class="layui-btn layui-btn-sm layui-btn-primary" ng-click="addSpecRow(specs)" ng-if="specs.length<3">增加规则分组</a>
<p class="margin-top-10"><span class="color-red">请完成属性修改后再编辑下面的规格信息,否则规格数据会丢失!</span></p>
</div>
<table class="layui-table margin-top-10">
<thead>
<tr>
<th ng-repeat="x in navas track by $index" class="nowrap"><b ng-bind="x"></b></th>
<th width="12%" class="text-center nowrap pointer" ng-click="batchSet('sku',null)" data-tips-text="批量设置商品SKU"><b>商品SKU</b> <i class="layui-icon">&#xe63c;</i></th>
<th width="10%" class="text-center nowrap pointer" ng-click="batchSet('market',2)" data-tips-text="批量设置市场价格"><b>市场价格</b> <i class="layui-icon">&#xe63c;</i></th>
<th width="10%" class="text-center nowrap pointer" ng-click="batchSet('selling',2)" data-tips-text="批量设置销售价格"><b>销售价格</b> <i class="layui-icon">&#xe63c;</i></th>
<th width="10%" class="text-center nowrap pointer" ng-click="batchSet('balance',2)" data-tips-text="批量设置奖励余额"><b>奖励余额</b> <i class="layui-icon">&#xe63c;</i></th>
<th width="10%" class="text-center nowrap pointer layui-hide" ng-click="batchSet('integral',0)" data-tips-text="批量设置奖励积分"><b>奖励积分</b> <i class="layui-icon">&#xe63c;</i></th>
<th width="10%" class="text-center nowrap pointer" ng-click="batchSet('virtual',0)" data-tips-text="批量设置虚拟销量"><b>虚拟销量</b> <i class="layui-icon">&#xe63c;</i></th>
<th width="10%" class="text-center nowrap pointer" ng-click="batchSet('express',0)" data-tips-text="批量设置快递计件"><b>快递计件</b> <i class="layui-icon">&#xe63c;</i></th>
<th width="08%" class="text-center nowrap pointer"><b>销售状态</b></th>
<th class="nowrap" ng-repeat="x in navas track by $index"><b ng-bind="x"></b></th>
<th class="text-center nowrap pointer" data-tips-text="批量设置商品SKU" ng-click="batchSet('sku',null)" width="12%"><b>商品SKU</b> <i class="layui-icon">&#xe63c;</i></th>
<th class="text-center nowrap pointer" data-tips-text="批量设置市场价格" ng-click="batchSet('market',2)" width="10%"><b>市场价格</b> <i class="layui-icon">&#xe63c;</i></th>
<th class="text-center nowrap pointer" data-tips-text="批量设置销售价格" ng-click="batchSet('selling',2)" width="10%"><b>销售价格</b> <i class="layui-icon">&#xe63c;</i></th>
<th class="text-center nowrap pointer" data-tips-text="批量设置奖励余额" ng-click="batchSet('balance',2)" width="10%"><b>奖励余额</b> <i class="layui-icon">&#xe63c;</i></th>
<th class="text-center nowrap pointer layui-hide" data-tips-text="批量设置奖励积分" ng-click="batchSet('integral',0)" width="10%"><b>奖励积分</b> <i class="layui-icon">&#xe63c;</i></th>
<th class="text-center nowrap pointer" data-tips-text="批量设置虚拟销量" ng-click="batchSet('virtual',0)" width="10%"><b>虚拟销量</b> <i class="layui-icon">&#xe63c;</i></th>
<th class="text-center nowrap pointer" data-tips-text="批量设置快递计件" ng-click="batchSet('express',0)" width="10%"><b>快递计件</b> <i class="layui-icon">&#xe63c;</i></th>
<th class="text-center nowrap pointer" width="08%"><b>销售状态</b></th>
</tr>
</thead>
<tbody>
<tr ng-repeat="rows in items track by $index">
<td class="layui-bg-gray nowrap" ng-if="td.show" ng-repeat="td in rows" ng-bind="td.name"></td>
<td class="layui-bg-gray nowrap" ng-bind="td.name" ng-if="td.show" ng-repeat="td in rows"></td>
<td class="padding-0">
<label>
<input ng-blur="rows[0].sku=setValue(rows[0].key,'sku',$event.target.value)" class="layui-input border-0 padding-left-0 text-center" ng-model="rows[0].sku">
<input class="layui-input border-0 padding-left-0 text-center" ng-blur="rows[0].sku=setValue(rows[0].key,'sku',$event.target.value)" ng-model="rows[0].sku">
</label>
</td>
<td class="padding-0">
<label class="padding-0 margin-0">
<input ng-blur="rows[0].market=setValue(rows[0].key,'market',$event.target.value,'(parseFloat(_)||0).toFixed(2)')" class="layui-input border-0 padding-left-0 text-center" ng-model="rows[0].market">
<input class="layui-input border-0 padding-left-0 text-center" ng-blur="rows[0].market=setValue(rows[0].key,'market',$event.target.value,'(parseFloat(_)||0).toFixed(2)')" ng-model="rows[0].market">
</label>
</td>
<td class="padding-0">
<label class="padding-0 margin-0">
<input ng-blur="rows[0].selling=setValue(rows[0].key,'selling',$event.target.value,'(parseFloat(_)||0).toFixed(2)')" class="layui-input border-0 padding-left-0 text-center" ng-model="rows[0].selling">
<input class="layui-input border-0 padding-left-0 text-center" ng-blur="rows[0].selling=setValue(rows[0].key,'selling',$event.target.value,'(parseFloat(_)||0).toFixed(2)')" ng-model="rows[0].selling">
</label>
</td>
<td class="padding-0">
<label class="padding-0 margin-0">
<input ng-blur="rows[0].balance=setValue(rows[0].key,'balance',$event.target.value,'(parseFloat(_)||0).toFixed(2)')" class="layui-input border-0 padding-left-0 text-center" ng-model="rows[0].balance">
<input class="layui-input border-0 padding-left-0 text-center" ng-blur="rows[0].balance=setValue(rows[0].key,'balance',$event.target.value,'(parseFloat(_)||0).toFixed(2)')" ng-model="rows[0].balance">
</label>
</td>
<td class="padding-0 layui-hide">
<label class="padding-0 margin-0">
<input ng-blur="rows[0].integral=setValue(rows[0].key,'integral',$event.target.value,'(parseInt(_)||0)')" class="layui-input border-0 padding-left-0 text-center" ng-model="rows[0].integral">
<input class="layui-input border-0 padding-left-0 text-center" ng-blur="rows[0].integral=setValue(rows[0].key,'integral',$event.target.value,'(parseInt(_)||0)')" ng-model="rows[0].integral">
</label>
</td>
<td class="padding-0">
<label class="padding-0 margin-0">
<input ng-blur="rows[0].virtual=setValue(rows[0].key,'virtual',$event.target.value,'(parseInt(_)||0)')" class="layui-input border-0 padding-left-0 text-center" ng-model="rows[0].virtual">
<input class="layui-input border-0 padding-left-0 text-center" ng-blur="rows[0].virtual=setValue(rows[0].key,'virtual',$event.target.value,'(parseInt(_)||0)')" ng-model="rows[0].virtual">
</label>
</td>
<td class="padding-0">
<label class="padding-0 margin-0">
<input ng-blur="rows[0].express=setValue(rows[0].key,'express',$event.target.value,'(parseInt(_)||0)')" class="layui-input border-0 padding-left-0 text-center" ng-model="rows[0].express">
<input class="layui-input border-0 padding-left-0 text-center" ng-blur="rows[0].express=setValue(rows[0].key,'express',$event.target.value,'(parseInt(_)||0)')" ng-model="rows[0].express">
</label>
</td>
<td class="text-center layui-bg-gray">
<label class="think-checkbox margin-0 full-width full-height block">
<input lay-ignore type="checkbox" ng-model="rows[0].status">
<input lay-ignore ng-model="rows[0].status" type="checkbox">
</label>
</td>
</tr>
@ -282,16 +282,16 @@
<label class="layui-form-item block">
<span class="font-w7 color-green">商品简介描述</span>
<textarea class="layui-textarea" placeholder="请输入商品简介描述" name="remarks">{$vo.remarks|default=''|raw}</textarea>
<textarea class="layui-textarea" name="remarks" placeholder="请输入商品简介描述">{$vo.remarks|default=''|raw}</textarea>
</label>
<div class="layui-form-item block">
<span class="label-required-prev font-w7 color-green">商品富文本详情</span>
<textarea name="content" class="layui-hide">{$vo.content|default=''|raw}</textarea>
<textarea class="layui-hide" name="content">{$vo.content|default=''|raw}</textarea>
</div>
<div class="hr-line-dashed margin-top-40"></div>
{notempty name='vo.code'}<input type="hidden" name="code" value="{$vo.code}">{/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 layui-btn-danger" ng-click="pageBack()" type="button">取消编辑</button>

View File

@ -2,21 +2,21 @@
{block name="button"}
<!--{if auth("add")}-->
<button data-open='{:url("add")}' class='layui-btn layui-btn-sm layui-btn-primary'>添加商品</button>
<button class='layui-btn layui-btn-sm layui-btn-primary' data-open='{:url("add")}'>添加商品</button>
<!--{/if}-->
{if isset($type) and $type eq 'index'}
<!--{if auth("remove")}-->
<button data-action='{:url("remove")}' data-rule="code#{key};deleted#1" class='layui-btn layui-btn-sm layui-btn-primary'>删除商品</button>
<button class='layui-btn layui-btn-sm layui-btn-primary' data-action='{:url("remove")}' data-rule="code#{key};deleted#1">删除商品</button>
<!--{/if}-->
{else}
<!--{if auth("remove")}-->
<button data-action='{:url("remove")}' data-rule="code#{key};deleted#0" data-confirm="确定要恢复这些数据吗?" class='layui-btn layui-btn-sm layui-btn-primary'>恢复商品</button>
<button class='layui-btn layui-btn-sm layui-btn-primary' data-action='{:url("remove")}' data-confirm="确定要恢复这些数据吗?" data-rule="code#{key};deleted#0">恢复商品</button>
<!--{/if}-->
{/if}
<!--{if auth("shop_goods_mark/index")}-->
<button data-iframe='{:url("shop_goods_mark/index")}' data-width="900px" data-title="标签管理" class='layui-btn layui-btn-sm layui-btn-primary'>标签管理</button>
<button class='layui-btn layui-btn-sm layui-btn-primary' data-iframe='{:url("shop_goods_mark/index")}' data-title="标签管理" data-width="900px">标签管理</button>
<!--{/if}-->
{/block}
@ -25,7 +25,7 @@
<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">{$v}</li>
<li class="layui-this" data-open="{:url('index')}?type={$k}">{$v}</li>
{else}
<li data-open="{:url('index')}?type={$k}">{$v}</li>
{/if}{/foreach}
@ -40,7 +40,7 @@
<label><input data-auto-none data-check-target='.list-check-box' type='checkbox'></label>
</th>
<th class='list-table-sort-td'>
<button type="button" data-reload class="layui-btn layui-btn-xs">刷 新</button>
<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>
@ -53,14 +53,14 @@
{foreach $list as $key=>$vo}
<tr>
<td class='list-table-check-td think-checkbox'>
<label><input class="list-check-box" value='{$vo.code}' type='checkbox'></label>
<label><input class="list-check-box" type='checkbox' value='{$vo.code}'></label>
</td>
<td class='list-table-sort-td'>
<label><input data-action-blur="{:request()->url()}" data-value="id#{$vo.id};action#sort;sort#{value}" data-loading="false" value="{$vo.sort}" class="list-sort-input"></label>
<label><input class="list-sort-input" data-action-blur="{:request()->url()}" data-loading="false" data-value="id#{$vo.id};action#sort;sort#{value}" value="{$vo.sort}"></label>
</td>
<td class='nowrap'>
{notempty name='vo.cover'}
<div class="headimg" data-tips-image data-lazy-src="{$vo.cover}"></div>
<div class="headimg" data-lazy-src="{$vo.cover}" data-tips-image></div>
{/notempty}
<div class="inline-block text-top sub-span-blue">
<div>商品名称:<span>{$vo.name|default='--'}</span></div>
@ -100,7 +100,7 @@
<!--{if auth("edit")}-->
<a class="layui-btn layui-btn-xs" data-open='{:url("edit")}?code={$vo.code}'>编 辑</a>
<!--{else}-->
<a data-tips-text="您没有编辑商品的权限哦!" class="layui-btn layui-btn-xs layui-btn-primary layui-disabled">编 辑</a>
<a class="layui-btn layui-btn-xs layui-btn-primary layui-disabled" data-tips-text="您没有编辑商品的权限哦!">编 辑</a>
<!--{/if}-->
{if isset($type) and $type eq 'index'}
@ -108,22 +108,22 @@
<!--{if auth("state")}-->
<a class="layui-btn layui-btn-xs layui-btn-warm" data-action="{:url('state')}" data-value="code#{$vo.code};status#0">下 架</a>
<!--{else}-->
<a data-tips-text="您没有下架商品的权限哦!" class="layui-btn layui-btn-xs layui-btn-primary layui-disabled">下 架</a>
<a class="layui-btn layui-btn-xs layui-btn-primary layui-disabled" data-tips-text="您没有下架商品的权限哦!">下 架</a>
<!--{/if}-->
{else}
<!--{if auth("state")}-->
<a class="layui-btn layui-btn-xs layui-btn-warm" data-action="{:url('state')}" data-value="code#{$vo.code};status#1">上 架</a>
<!--{else}-->
<a data-tips-text="您没有上架商品的权限哦!" class="layui-btn layui-btn-xs layui-btn-primary layui-disabled">上 架</a>
<a class="layui-btn layui-btn-xs layui-btn-primary layui-disabled" data-tips-text="您没有上架商品的权限哦!">上 架</a>
<!--{/if}-->
{/if}
<!--{if auth("stock")}-->
<a class="layui-btn layui-btn-xs layui-btn-normal" data-title="商品入库" data-modal='{:url("stock")}?code={$vo.code}'>入 库</a>
<a class="layui-btn layui-btn-xs layui-btn-normal" data-modal='{:url("stock")}?code={$vo.code}' data-title="商品入库">入 库</a>
<!--{else}-->
<a data-tips-text="您没有商品入库的权限哦!" class="layui-btn layui-btn-xs layui-btn-primary layui-disabled">入 库</a>
<a class="layui-btn layui-btn-xs layui-btn-primary layui-disabled" data-tips-text="您没有商品入库的权限哦!">入 库</a>
<!--{/if}-->
<!--{if auth("remove")}-->
<a class="layui-btn layui-btn-xs layui-btn-danger" data-confirm="确定要移入回收站吗?" data-action="{:url('remove')}" data-value="code#{$vo.code};deleted#1">删 除</a>
<a class="layui-btn layui-btn-xs layui-btn-danger" data-action="{:url('remove')}" data-confirm="确定要移入回收站吗?" data-value="code#{$vo.code};deleted#1">删 除</a>
<!--{/if}-->
{else}
<!--{if auth("remove")}-->

View File

@ -1,17 +1,17 @@
<fieldset>
<legend>条件搜索</legend>
<form class="layui-form layui-form-pane form-search" action="{:request()->url()}" onsubmit="return false" method="get" autocomplete="off">
<form action="{:request()->url()}" 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 name="code" value="{:input('code','')}" placeholder="请输入商品编号" class="layui-input">
<input class="layui-input" name="code" placeholder="请输入商品编号" value="{:input('code','')}">
</label>
</div>
<div class="layui-form-item layui-inline">
<label class="layui-form-label">商品名称</label>
<label class="layui-input-inline">
<input name="name" value="{:input('name','')}" placeholder="请输入商品名称" class="layui-input">
<input class="layui-input" name="name" placeholder="请输入商品名称" value="{:input('name','')}">
</label>
</div>
@ -19,7 +19,7 @@
<div class="layui-form-item layui-inline">
<label class="layui-form-label">商品标签</label>
<label class="layui-input-inline">
<select class="layui-select" name="marks" lay-search>
<select class="layui-select" lay-search name="marks">
<option value="">-- 全部标签 --</option>
{foreach $marks as $mark}{if input('marks','') eq $mark}
<option selected value="{$mark}">{$mark}</option>
@ -36,7 +36,7 @@
<label class="layui-form-label">商品分类</label>
<div class="layui-input-inline">
<label class="layui-input-inline">
<select class="layui-select" name="cateids" lay-search>
<select class="layui-select" lay-search name="cateids">
<option value="">-- 全部分类 --</option>
{foreach $cates as $cate}{if input('cateids') eq $cate.id}
<option selected value="{$cate.id}">{$cate.spl}{$cate.name|default=''}</option>

View File

@ -18,7 +18,7 @@
<tr>
<td class='nowrap'>
{notempty name='vo.cover'}
<div class="headimg" data-tips-image data-lazy-src="{$vo.cover}"></div>
<div class="headimg" data-lazy-src="{$vo.cover}" data-tips-image></div>
{/notempty}
<div class="inline-block">
商品编号:{$vo.code|default='--'}<br>

View File

@ -1,17 +1,17 @@
<fieldset>
<legend>条件搜索</legend>
<form class="layui-form layui-form-pane form-search" action="{:request()->url()}" onsubmit="return false" method="get" autocomplete="off">
<form action="{:request()->url()}" 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 name="code" value="{:input('code','')}" placeholder="请输入商品编号" class="layui-input">
<input class="layui-input" name="code" placeholder="请输入商品编号" value="{:input('code','')}">
</label>
</div>
<div class="layui-form-item layui-inline">
<label class="layui-form-label">商品名称</label>
<label class="layui-input-inline">
<input name="name" value="{:input('name','')}" placeholder="请输入商品名称" class="layui-input">
<input class="layui-input" name="name" placeholder="请输入商品名称" value="{:input('name','')}">
</label>
</div>

View File

@ -1,4 +1,4 @@
<form class="layui-form layui-card" action="{:request()->url()}" data-auto="true" method="post" autocomplete="off">
<form action="{:request()->url()}" autocomplete="off" 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">
@ -64,10 +64,10 @@
<td class="layui-bg-gray text-center">{$goods.stock_sales|default=0}</td>
<td class="layui-bg-gray text-center">{$goods.stock_total-$goods.stock_sales}</td>
<td class="padding-0 nowrap">
<input type="hidden" name="goods_code[]" value="{$goods.goods_code|default=''}">
<input type="hidden" name="goods_spec[]" value="{$goods.goods_spec|default=''}">
<input name="goods_code[]" type="hidden" value="{$goods.goods_code|default=''}">
<input name="goods_spec[]" type="hidden" value="{$goods.goods_spec|default=''}">
<label>
<input class="layui-input text-right border-0 padding-right-40" maxlength="20" data-blur-number="0" name="goods_stock[]" value="0">
<input class="layui-input text-right border-0 padding-right-40" data-blur-number="0" maxlength="20" name="goods_stock[]" value="0">
<span class="input-right-icon layui-bg-gray"></span>
</label>
</td>
@ -83,7 +83,7 @@
<div class="hr-line-dashed"></div>
<div class="layui-form-item text-center">
<button class="layui-btn" type='submit'>确定入库</button>
<button class="layui-btn layui-btn-danger" type='button' data-confirm="确定要取消入库吗?" data-close>取消入库</button>
<button class="layui-btn layui-btn-danger" data-close data-confirm="确定要取消入库吗?" type='button'>取消入库</button>
</div>
</form>

View File

@ -1,9 +1,9 @@
<form class="layui-form layui-card" action="{:request()->url()}" data-auto="true" method="post" autocomplete="off">
<form action="{:request()->url()}" autocomplete="off" class="layui-form layui-card" data-auto="true" method="post">
<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="color-desc margin-left-5">Category Parent</span>
<select name='pid' class='layui-select' lay-search>
<select class='layui-select' lay-search name='pid'>
{foreach $cates as $cate}
{eq name='cate.id' value='$vo.pid|default=0'}
<option selected value='{$cate.id}'>{$cate.spl|raw}{$cate.name}</option>
@ -16,15 +16,15 @@
<label class="layui-form-item relative block">
<span class="color-green font-w7">商品分类名称</span>
<span class="color-desc margin-left-5">Category Name</span>
<input name="name" value='{$vo.name|default=""}' required placeholder="请输入分类名称" class="layui-input">
<input class="layui-input" name="name" placeholder="请输入分类名称" required value='{$vo.name|default=""}'>
<span class="help-block"><b>必填,</b>请填写商品分类名称建议字符不要太长一般4-6个汉字系统管理</span>
</label>
<div class="layui-form-item relative block">
<span class="color-green font-w7">商品分类图标</span>
<span class="color-desc margin-left-5">Category Icon</span>
<label class="relative block">
<input name="cover" value='{$vo.cover|default=""}' placeholder="请上传商品分类图标&nbsp;&nbsp;&nbsp;&nbsp;" class="layui-input">
<a data-file data-field="cover" data-type="png,jpg,gif" class="input-right-icon layui-icon layui-icon-upload"></a>
<input class="layui-input" name="cover" placeholder="请上传商品分类图标&nbsp;&nbsp;&nbsp;&nbsp;" 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>
</label>
<span class="help-block"><b>可选,</b>请上传商品分类图标,需要是 http 可访问的图片资源链接</span>
</div>
@ -35,10 +35,10 @@
</label>
</div>
<div class="hr-line-dashed"></div>
{notempty name='vo.id'}<input type='hidden' value='{$vo.id}' name='id'>{/notempty}
{notempty name='vo.id'}<input name='id' type='hidden' value='{$vo.id}'>{/notempty}
<div class="layui-form-item text-center">
<button class="layui-btn" type='submit'>保存数据</button>
<button class="layui-btn layui-btn-danger" type='button' data-confirm="确定要取消编辑吗?" data-close>取消编辑</button>
<button class="layui-btn layui-btn-danger" data-close data-confirm="确定要取消编辑吗?" type='button'>取消编辑</button>
</div>
<script>form.render()</script>
</form>

View File

@ -2,11 +2,11 @@
{block name="button"}
<!--{if auth("add")}-->
<button data-modal='{:url("add")}' data-title="添加分类" class='layui-btn layui-btn-sm layui-btn-primary'>添加分类</button>
<button class='layui-btn layui-btn-sm layui-btn-primary' data-modal='{:url("add")}' data-title="添加分类">添加分类</button>
<!--{/if}-->
<!--{if auth("remove")}-->
<button data-action='{:url("remove")}' data-rule="id#{key}" class='layui-btn layui-btn-sm layui-btn-primary'>删除分类</button>
<button class='layui-btn layui-btn-sm layui-btn-primary' data-action='{:url("remove")}' data-rule="id#{key}">删除分类</button>
<!--{/if}-->
{/block}
@ -20,7 +20,7 @@
<label><input data-auto-none data-check-target='.list-check-box' type='checkbox'></label>
</th>
<th class='list-table-sort-td'>
<button type="button" data-reload class="layui-btn layui-btn-xs">刷 新</button>
<button class="layui-btn layui-btn-xs" data-reload type="button">刷 新</button>
</th>
<th class='text-center'></th>
<th colspan="3"></th>
@ -30,10 +30,10 @@
{foreach $list as $key=>$vo}
<tr>
<td class='list-table-check-td think-checkbox'>
<label><input class="list-check-box" value='{$vo.ids}' type='checkbox'></label>
<label><input class="list-check-box" type='checkbox' value='{$vo.ids}'></label>
</td>
<td class='list-table-sort-td'>
<label><input data-action-blur="{:request()->url()}" data-value="id#{$vo.id};action#sort;sort#{value}" data-loading="false" value="{$vo.sort}" class="list-sort-input"></label>
<label><input class="list-sort-input" data-action-blur="{:request()->url()}" data-loading="false" data-value="id#{$vo.id};action#sort;sort#{value}" value="{$vo.sort}"></label>
</td>
<td class="nowrap"><span class="color-desc notselect">{$vo.spl|raw}</span>{$vo.name}</td>
<td class="color-desc">{$vo.remark|default=''}</td>
@ -42,26 +42,26 @@
{if auth("add")}
<!--{if $vo.spt < $cateLevel-1}-->
<a class="layui-btn layui-btn-xs layui-btn-primary" data-title="添加子分类" data-modal='{:url("add")}?pid={$vo.id}'>添 加</a>
<a class="layui-btn layui-btn-xs layui-btn-primary" data-modal='{:url("add")}?pid={$vo.id}' data-title="添加子分类">添 加</a>
<!--{else}-->
<a class="layui-btn layui-btn-xs layui-btn-disabled">添 加</a>
<!--{/if}-->
{/if}
<!--{if auth("edit")}-->
<a data-dbclick class="layui-btn layui-btn-xs" data-title="编辑分类" data-modal='{:url("edit")}?id={$vo.id}'>编 辑</a>
<a class="layui-btn layui-btn-xs" data-dbclick data-modal='{:url("edit")}?id={$vo.id}' data-title="编辑分类">编 辑</a>
<!--{/if}-->
<!--{if $vo.status eq 0 and auth("state")}-->
<a class="layui-btn layui-btn-warm layui-btn-xs" data-action="{:url('state')}" data-value="id#{$vo.ids};status#1" data-csrf="{:systoken('state')}">激 活</a>
<a class="layui-btn layui-btn-warm layui-btn-xs" data-action="{:url('state')}" data-csrf="{:systoken('state')}" data-value="id#{$vo.ids};status#1">激 活</a>
<!--{/if}-->
<!--{if $vo.status eq 1 and auth("state")}-->
<a class="layui-btn layui-btn-warm layui-btn-xs" data-action="{:url('state')}" data-value="id#{$vo.ids};status#0" data-csrf="{:systoken('state')}">禁 用</a>
<a class="layui-btn layui-btn-warm layui-btn-xs" data-action="{:url('state')}" data-csrf="{:systoken('state')}" data-value="id#{$vo.ids};status#0">禁 用</a>
<!--{/if}-->
<!--{if auth("remove")}-->
<a class="layui-btn layui-btn-danger layui-btn-xs" data-confirm="确定要删除数据吗?" data-action="{:url('remove')}" data-value="id#{$vo.ids}" data-csrf="{:systoken('remove')}">删 除</a>
<a class="layui-btn layui-btn-danger layui-btn-xs" data-action="{:url('remove')}" data-confirm="确定要删除数据吗?" data-csrf="{:systoken('remove')}" data-value="id#{$vo.ids}">删 除</a>
<!--{/if}-->
</td>

View File

@ -1,9 +1,9 @@
<form class="layui-form layui-card" action="{:request()->url()}" data-auto="true" method="post" autocomplete="off">
<form action="{:request()->url()}" autocomplete="off" class="layui-form layui-card" data-auto="true" method="post">
<div class="layui-card-body padding-left-40">
<label class="layui-form-item relative block">
<span class="color-green font-w7">标签名称</span>
<span class="color-desc margin-left-5">Mark Name</span>
<input class="layui-input" required placeholder="请输入标签名称" name="name" value="{$vo.name|default=''}"/>
<input class="layui-input" name="name" placeholder="请输入标签名称" required value="{$vo.name|default=''}"/>
<span class="help-block"><b>必填,</b>请填写标签名称建议字符不要太长一般4-6个汉字</span>
</label>
@ -11,16 +11,16 @@
<span class="color-green font-w7">标签描述</span>
<span class="color-desc margin-left-5">Mark Remark</span>
<label class="relative block">
<textarea class="layui-textarea" placeholder="请输入文档描述" name="desc">{$vo.desc|default=''}</textarea>
<textarea class="layui-textarea" name="desc" placeholder="请输入文档描述">{$vo.desc|default=''}</textarea>
</label>
</div>
</div>
<div class="hr-line-dashed"></div>
{notempty name='vo.id'}<input type='hidden' value='{$vo.id}' name='id'>{/notempty}
{notempty name='vo.id'}<input name='id' type='hidden' value='{$vo.id}'>{/notempty}
<div class="layui-form-item text-center">
<button class="layui-btn" type='submit'>保存数据</button>
<button class="layui-btn layui-btn-danger" type='button' data-confirm="确定要取消编辑吗?" data-close>取消编辑</button>
<button class="layui-btn layui-btn-danger" data-close data-confirm="确定要取消编辑吗?" type='button'>取消编辑</button>
</div>
</form>

View File

@ -11,7 +11,7 @@
<label><input data-auto-none data-check-target='.list-check-box' type='checkbox'></label>
</th>
<th class='list-table-sort-td'>
<button type="button" data-reload class="layui-btn layui-btn-xs">刷 新</button>
<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>
@ -24,10 +24,10 @@
{foreach $list as $key=>$vo}
<tr data-dbclick>
<td class='list-table-check-td think-checkbox'>
<label><input class="list-check-box" value='{$vo.id}' type='checkbox'></label>
<label><input class="list-check-box" type='checkbox' value='{$vo.id}'></label>
</td>
<td class='list-table-sort-td'>
<label><input data-action-blur="{:request()->url()}" data-value="id#{$vo.id};action#sort;sort#{value}" data-loading="false" value="{$vo.sort}" class="list-sort-input"></label>
<label><input class="list-sort-input" data-action-blur="{:request()->url()}" data-loading="false" data-value="id#{$vo.id};action#sort;sort#{value}" value="{$vo.sort}"></label>
</td>
<td class="text-left 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>
@ -35,7 +35,7 @@
<td class='text-left nowrap'>
<!--{if auth("edit")}-->
<a data-dbclick class="layui-btn layui-btn-sm" data-width="500px" data-title="编辑标签" data-modal="{:url('edit')}?id={$vo.id}">编 辑</a>
<a class="layui-btn layui-btn-sm" data-dbclick data-modal="{:url('edit')}?id={$vo.id}" data-title="编辑标签" data-width="500px">编 辑</a>
<!--{/if}-->
<!--{if auth("state") and $vo.status eq 1}-->
@ -47,7 +47,7 @@
<!--{/if}-->
<!--{if auth("remove")}-->
<a class="layui-btn layui-btn-sm layui-btn-danger" data-confirm="确定要删除该标签吗?" data-action="{:url('remove')}" data-value="id#{$vo.id}">删 除</a>
<a class="layui-btn layui-btn-sm layui-btn-danger" data-action="{:url('remove')}" data-confirm="确定要删除该标签吗?" data-value="id#{$vo.id}">删 除</a>
<!--{/if}-->
</td>
@ -59,7 +59,7 @@
<div class="absolute" style="bottom:5px;right:10px">
<!--{if auth("add")}-->
<button type="button" data-width="500px" data-modal='{:url("add")}' data-title="添加标签" class='layui-btn layui-btn-sm'>添加标签</button>
<button class='layui-btn layui-btn-sm' data-modal='{:url("add")}' data-title="添加标签" data-width="500px" type="button">添加标签</button>
<!--{/if}-->
</div>
</div>

View File

@ -1,10 +1,10 @@
<fieldset>
<legend>条件搜索</legend>
<form class="layui-form layui-form-pane form-search" action="{:request()->url()}" onsubmit="return false" method="get" autocomplete="off">
<form action="{:request()->url()}" 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 name="name" value="{:input('name','')}" placeholder="请输入标签名称" class="layui-input">
<input class="layui-input" name="name" placeholder="请输入标签名称" value="{:input('name','')}">
</label>
</div>
@ -26,7 +26,7 @@
<div class="layui-form-item layui-inline">
<label class="layui-form-label">创建时间</label>
<label class="layui-input-inline">
<input data-date-range name="create_at" value="{:input('create_at','')}" placeholder="请选择创建时间" class="layui-input">
<input class="layui-input" data-date-range name="create_at" placeholder="请选择创建时间" value="{:input('create_at','')}">
</label>
</div>

View File

@ -1,4 +1,4 @@
<form class="layui-form layui-card" action="{:request()->url()}" data-auto="true" method="post" autocomplete="off">
<form action="{:request()->url()}" autocomplete="off" class="layui-form layui-card" data-auto="true" method="post">
<div class="layui-card-body padding-left-40">
@ -9,7 +9,7 @@
<span class="layui-badge think-bg-violet">订单需要支付 {$vo.amount_real+0} 元</span>
</legend>
<div class="layui-form-item relative block">
<img data-tips-image style="width:auto;height:220px" src="{$vo.payment_image|default=''}" alt="img">
<img alt="img" data-tips-image src="{$vo.payment_image|default=''}" style="width:auto;height:220px">
</div>
</fieldset>
@ -20,9 +20,9 @@
{php} $status = 0; {/php}
{foreach [1 => '审核通过并完成订单支付', 0 => '驳回审核并取消订单'] as $k => $v}
{if $k eq $status}
<input checked type="radio" name="status" value='{$k}' title="{$v}">
<input checked name="status" title="{$v}" type="radio" value='{$k}'>
{else}
<input checked type="radio" name="status" value='{$k}' title="{$v}">
<input checked name="status" title="{$v}" type="radio" value='{$k}'>
{/if}{/foreach}
</div>
</div>
@ -30,17 +30,17 @@
<label class="layui-form-item relative block">
<span class="color-green font-w7">订单审核描述</span>
<span class="color-desc margin-left-5"></span>
<textarea name="remark" class="layui-textarea" placeholder="请输入订单审核描述">{$vo.remark|default=''}</textarea>
<textarea class="layui-textarea" name="remark" placeholder="请输入订单审核描述">{$vo.remark|default=''}</textarea>
</label>
<div class="hr-line-dashed"></div>
{notempty name='vo.id'}<input type='hidden' value='{$vo.id}' name='id'>{/notempty}
{notempty name='vo.order_no'}<input type='hidden' value='{$vo.order_no}' name='order_no'>{/notempty}
{notempty name='vo.id'}<input name='id' type='hidden' value='{$vo.id}'>{/notempty}
{notempty name='vo.order_no'}<input name='order_no' type='hidden' value='{$vo.order_no}'>{/notempty}
<div class="layui-form-item text-center">
<button class="layui-btn" type='submit'>审核</button>
<button class="layui-btn layui-btn-danger" type='button' data-confirm="确定要取消吗?" data-close>取消</button>
<button class="layui-btn layui-btn-danger" data-close data-confirm="确定要取消吗?" type='button'>取消</button>
</div>
</div>
<script>form.render()</script>

View File

@ -2,7 +2,7 @@
{block name="button"}
<!--{if auth("clean")}-->
<button data-queue='{:url("clean")}' class='layui-btn layui-btn-sm layui-btn-primary'>定时清理订单</button>
<button class='layui-btn layui-btn-sm layui-btn-primary' data-queue='{:url("clean")}'>定时清理订单</button>
<!--{/if}-->
{/block}
@ -11,7 +11,7 @@
<ul class="layui-tab-title notselect">
{foreach ['ta'=>'全部订单','t2'=>'待支付的订单','t3'=>'待审核的订单','t4'=>'待发货的订单','t5'=>'待收货的订单','t6'=>'已完成的订单','t0'=>'已取消的订单'] as $k=>$v}
{if isset($type) and 't'.$type eq $k}
<li data-open="{:url('index')}?type={$k}" class="layui-this">{$v}<sup class="layui-badge border-radius">{$total[$k]??0}</sup></li>
<li class="layui-this" data-open="{:url('index')}?type={$k}">{$v}<sup class="layui-badge border-radius">{$total[$k]??0}</sup></li>
{else}
<li data-open="{:url('index')}?type={$k}">{$v}<sup class="layui-badge border-radius">{$total[$k]??0}</sup></li>
{/if}{/foreach}
@ -36,12 +36,12 @@
{foreach $list as $key=>$vo}
<tr>
<td class='list-table-check-td think-checkbox'>
<label><input class="list-check-box" value='{$vo.id}' type='checkbox'></label>
<label><input class="list-check-box" type='checkbox' value='{$vo.id}'></label>
</td>
<td class="nowrap relative">
<div>
<!--{notempty name='vo.from'}-->
<div class="headimg" data-tips-image data-lazy-src="{$vo.from.headimg|default='__ROOT__/static/theme/img/headimg.png'}"></div>
<div class="headimg" data-lazy-src="{$vo.from.headimg|default='__ROOT__/static/theme/img/headimg.png'}" data-tips-image></div>
<div class="inline-block sub-span-blue">
推荐用户:{$vo.from.nickname|default='--'} <span>[ <b class="color-red">VIP{$vo.from.vip_code}</b> ] <b class="color-red">{$vo.from.vip_name}</b></span><br>
推荐手机:<span>{$vo.from.phone|default='--'}</span><br>
@ -51,7 +51,7 @@
<!--{/notempty}-->
</div>
<div>
<div class="headimg" data-tips-image data-lazy-src="{$vo.user.headimg|default='__ROOT__/static/theme/img/headimg.png'}"></div>
<div class="headimg" data-lazy-src="{$vo.user.headimg|default='__ROOT__/static/theme/img/headimg.png'}" data-tips-image></div>
<div class="inline-block sub-span-blue">
用户昵称:{$vo.user.nickname|default='--'} <span>[ <b class="color-red">VIP{$vo.user.vip_code}</b> ] <b class="color-red">{$vo.user.vip_name}</b></span><br>
用户手机:<span>{$vo.user.phone|default='--'}</span><br>
@ -70,7 +70,7 @@
<div class="sub-strong-blue">
订单单号:<b>{$vo.order_no|default=''}</b>
<!--{eq name='vo.status' value='3'}-->
<a data-modal="{:url('audit')}?order_no={$vo.order_no}" class="margin-left-5 layui-badge layui-bg-blue">凭证审核</a>
<a class="margin-left-5 layui-badge layui-bg-blue" data-modal="{:url('audit')}?order_no={$vo.order_no}">凭证审核</a>
<!--{/eq}-->
</div>
<div class="sub-strong-blue sub-span-blue">
@ -84,7 +84,7 @@
支付时间:{$vo.payment_datetime|format_datetime}
{notempty name='vo.payment_name'}
<!--{notempty name='vo.payment_image'}-->
<span data-tips-text="{$vo.payment_remark|default=''}" data-tips-image="{$vo.payment_image}" class="margin-left-5 color-blue">({$vo.payment_name|default='-'})</span>
<span class="margin-left-5 color-blue" data-tips-image="{$vo.payment_image}" data-tips-text="{$vo.payment_remark|default=''}">({$vo.payment_name|default='-'})</span>
<!--{else}-->
<span class="margin-left-5 color-blue">({$vo.payment_name|default='-'})</span>
<!--{/notempty}-->
@ -102,13 +102,13 @@
<div>收货信息:{$vo.truck.address_name|default='--'}<span class="margin-left-5 color-blue">{$vo.truck.address_phone|default=''}</span></div>
<div>收货地址:{$vo.truck.address_province|default='--'}{$vo.truck.address_city|default=''}{$vo.truck.address_area|default=''}{$vo.truck.address_content|default=''}</div>
<div>发货状态:<!--{if empty($vo.truck.send_number)}--><span class="layui-badge layui-bg-black">未发货</span><!--{else}--><span class="layui-badge layui-bg-blue">{$vo.truck.company_name|default='--'}</span>
<a data-title="快递查询" data-modal="{:url('truckQuery')}?code={$vo.truck.company_code|default=''}&number={$vo.truck.send_number|default=''}" class="layui-badge layui-bg-orange">{$vo.truck.send_number|default='--'}</a>
<a class="layui-badge layui-bg-orange" data-modal="{:url('truckQuery')}?code={$vo.truck.company_code|default=''}&number={$vo.truck.send_number|default=''}" data-title="快递查询">{$vo.truck.send_number|default='--'}</a>
<!--{/if}-->
<!--{if auth('truck') and $vo.status eq 3}-->
<a class="margin-left-5" data-title="填写订单信息" data-modal="{:url('truck')}?order_no={$vo.order_no}">填写发货</a>
<a class="margin-left-5" data-modal="{:url('truck')}?order_no={$vo.order_no}" data-title="填写订单信息">填写发货</a>
<!--{elseif auth('truck') and $vo.status eq 4}-->
<a class="margin-left-5" data-title="修改发货信息" data-modal="{:url('truck')}?order_no={$vo.order_no}">修改发货</a>
<a class="margin-left-5" data-modal="{:url('truck')}?order_no={$vo.order_no}" data-title="修改发货信息">修改发货</a>
<!--{/if}-->
<!--{if auth('cancel') and in_array($vo.status, [1,2])}-->

View File

@ -1,46 +1,46 @@
<fieldset>
<legend>条件搜索</legend>
<form class="layui-form layui-form-pane form-search" action="{:request()->url()}" onsubmit="return false" method="get" autocomplete="off">
<form action="{:request()->url()}" 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 name="user_phone" value="{:input('user_phone')}" placeholder="请输入用户手机" class="layui-input">
<input class="layui-input" name="user_phone" placeholder="请输入用户手机" value="{:input('user_phone')}">
</label>
</div>
<div class="layui-form-item layui-inline">
<label class="layui-form-label">用户昵称</label>
<label class="layui-input-inline">
<input name="user_nickname" value="{:input('user_nickname')}" placeholder="请输入用户昵称" class="layui-input">
<input class="layui-input" name="user_nickname" placeholder="请输入用户昵称" value="{:input('user_nickname')}">
</label>
</div>
<div class="layui-form-item layui-inline">
<label class="layui-form-label">推荐手机</label>
<label class="layui-input-inline">
<input name="from_phone" value="{:input('from_phone')}" placeholder="请输入用户手机" class="layui-input">
<input class="layui-input" name="from_phone" placeholder="请输入用户手机" value="{:input('from_phone')}">
</label>
</div>
<div class="layui-form-item layui-inline">
<label class="layui-form-label">推荐昵称</label>
<label class="layui-input-inline">
<input name="from_nickname" value="{:input('from_nickname')}" placeholder="请输入用户昵称" class="layui-input">
<input class="layui-input" name="from_nickname" placeholder="请输入用户昵称" value="{:input('from_nickname')}">
</label>
</div>
<div class="layui-form-item layui-inline">
<label class="layui-form-label">订单单号</label>
<label class="layui-input-inline">
<input name="order_no" value="{:input('order_no')}" placeholder="请输入订单单号" class="layui-input">
<input class="layui-input" name="order_no" placeholder="请输入订单单号" value="{:input('order_no')}">
</label>
</div>
<div class="layui-form-item layui-inline">
<label class="layui-form-label">发货单号</label>
<label class="layui-input-inline">
<input name="truck_send_number" value="{:input('truck_send_number')}" placeholder="请输入发货单号" class="layui-input">
<input class="layui-input" name="truck_send_number" placeholder="请输入发货单号" value="{:input('truck_send_number')}">
</label>
</div>
@ -92,41 +92,41 @@
<div class="layui-form-item layui-inline">
<label class="layui-form-label">下单时间</label>
<label class="layui-input-inline">
<input data-date-range name="create_at" value="{:input('create_at')}" placeholder="请选择下单时间" class="layui-input">
<input class="layui-input" data-date-range name="create_at" placeholder="请选择下单时间" value="{:input('create_at')}">
</label>
</div>
<div class="layui-form-item layui-inline">
<label class="layui-form-label">支付时间</label>
<label class="layui-input-inline">
<input data-date-range name="payment_datetime" value="{:input('payment_datetime')}" placeholder="请选择支付时间" class="layui-input">
<input class="layui-input" data-date-range name="payment_datetime" placeholder="请选择支付时间" value="{:input('payment_datetime')}">
</label>
</div>
<div class="layui-form-item layui-inline">
<label class="layui-form-label">收货姓名</label>
<label class="layui-input-inline">
<input name="truck_address_name" value="{:input('truck_address_name')}" placeholder="请输入收货姓名" class="layui-input">
<input class="layui-input" name="truck_address_name" placeholder="请输入收货姓名" value="{:input('truck_address_name')}">
</label>
</div>
<div class="layui-form-item layui-inline">
<label class="layui-form-label">收货手机</label>
<label class="layui-input-inline">
<input name="truck_address_phone" value="{:input('truck_address_phone')}" placeholder="请输入收货手机" class="layui-input">
<input class="layui-input" name="truck_address_phone" placeholder="请输入收货手机" value="{:input('truck_address_phone')}">
</label>
</div>
<div class="layui-form-item layui-inline">
<label class="layui-form-label">收货地址</label>
<label class="layui-input-inline">
<input name="truck_address_content" value="{:input('truck_address_content')}" placeholder="请输入收货省份" class="layui-input">
<input class="layui-input" name="truck_address_content" placeholder="请输入收货省份" value="{:input('truck_address_content')}">
</label>
</div>
<div class="layui-form-item layui-inline">
<button type="submit" class="layui-btn layui-btn-primary"><i class="layui-icon">&#xe615;</i> 搜 索</button>
<button type="button" data-form-export="{:url('index')}?type={$type|default=''}" class="layui-btn layui-btn-primary">
<button class="layui-btn layui-btn-primary" type="submit"><i class="layui-icon">&#xe615;</i> 搜 索</button>
<button class="layui-btn layui-btn-primary" data-form-export="{:url('index')}?type={$type|default=''}" type="button">
<i class="layui-icon layui-icon-export"></i> 导 出
</button>
</div>

View File

@ -1,4 +1,4 @@
<form class="layui-form layui-card margin-bottom-0 overhide" action="{:request()->url()}" data-auto="true" method="post" autocomplete="off">
<form action="{:request()->url()}" autocomplete="off" class="layui-form layui-card margin-bottom-0 overhide" data-auto="true" method="post">
<div class="layui-card-body padding-left-40">
<fieldset>
<legend><span class="layui-badge layui-bg-cyan">收货信息</span></legend>
@ -6,13 +6,13 @@
<label class="layui-col-xs6 relative block">
<span class="color-green font-w7 label-required-prev">收货人姓名</span>
<span class="color-desc margin-left-5">User Name</span>
<input class="layui-input" required placeholder="请输入收货姓名" name="address_name" value="{$vo.address_name|default=''}">
<input class="layui-input" name="address_name" placeholder="请输入收货姓名" required value="{$vo.address_name|default=''}">
</label>
<label class="layui-col-xs6 relative block">
<span class="color-green font-w7 label-required-prev">收货人手机</span>
<span class="color-desc margin-left-5">User Mobile</span>
<input class="layui-input" required placeholder="请输入收货人手机" name="address_phone" value="{$vo.address_phone|default=''}">
<input class="layui-input" name="address_phone" placeholder="请输入收货人手机" required value="{$vo.address_phone|default=''}">
</label>
<div class="layui-col-xs12 relative block">
@ -28,7 +28,7 @@
<label class="layui-col-xs12 relative block">
<span class="color-green font-w7 label-required-prev">收货详细地址</span>
<span class="color-desc margin-left-5">(原地址:{$vo.address_content|default=""} )</span>
<input name="address_content" required value='{$vo.address_content|default=""}' placeholder="请输入收货地址" class="layui-input">
<input class="layui-input" name="address_content" placeholder="请输入收货地址" required value='{$vo.address_content|default=""}'>
</label>
</div>
</fieldset>
@ -41,7 +41,7 @@
<label class="layui-form-item relative block">
<span class="color-green font-w7 label-required-prev">快递配送公司</span>
<span class="color-desc margin-left-5">Express Company</span>
<select data-truck-code class="layui-select" name="company_code" lay-search>
<select class="layui-select" data-truck-code lay-search name="company_code">
{foreach $items as $item}{if isset($vo.company_code) and $vo.company_code eq $item.code_1}
<option selected value="{$item.code_1}">{$item.name} ( {$item.code_1} )</option>
{else}
@ -53,24 +53,24 @@
<label class="layui-form-item relative block">
<span class="color-green font-w7 label-required-prev">快递配送单号</span>
<span class="color-desc margin-left-5">Express Number</span>
<input data-truck-number name="send_number" required value='{$vo.send_number|default=""}' placeholder="请输入快递配送单号" class="layui-input">
<input class="layui-input" data-truck-number name="send_number" placeholder="请输入快递配送单号" required value='{$vo.send_number|default=""}'>
</label>
<label class="layui-form-item relative block">
<span class="color-green font-w7">快递配送描述</span>
<span class="color-desc margin-left-5">Express Description</span>
<textarea placeholder="请输入快递配送描述" class="layui-textarea" name="send_remark">{$vo.send_remark|default=""}</textarea>
<textarea class="layui-textarea" name="send_remark" placeholder="请输入快递配送描述">{$vo.send_remark|default=""}</textarea>
</label>
</fieldset>
</div>
<div class="hr-line-dashed"></div>
{notempty name='vo.order_no'}<input type='hidden' value='{$vo.order_no}' name='order_no'>{/notempty}
{notempty name='vo.send_datetime'}<input type='hidden' value='{$vo.send_datetime}' name='send_datetime'>{/notempty}
{notempty name='vo.order_no'}<input name='order_no' type='hidden' value='{$vo.order_no}'>{/notempty}
{notempty name='vo.send_datetime'}<input name='send_datetime' type='hidden' value='{$vo.send_datetime}'>{/notempty}
<div class="layui-form-item text-center">
<button class="layui-btn" type='submit'>保存数据</button>
<button class="layui-btn layui-btn-danger" type='button' data-confirm="确定要取消编辑吗?" data-close>取消编辑</button>
<button class="layui-btn layui-btn-danger" data-close data-confirm="确定要取消编辑吗?" type='button'>取消编辑</button>
</div>
<script>

View File

@ -1,14 +1,14 @@
<form class="layui-form layui-card margin-bottom-0" action="{:request()->url()}" data-auto="true" method="post" autocomplete="off">
<form action="{:request()->url()}" autocomplete="off" class="layui-form layui-card margin-bottom-0" data-auto="true" method="post">
<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>
<input class="layui-input" required placeholder="请输入发货人姓名" name="name" value="{$vo.name|default=''}">
<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>
<input class="layui-input" required placeholder="请输入发货人手机" name="phone" value="{$vo.phone|default=''}">
<input class="layui-input" name="phone" placeholder="请输入发货人手机" required value="{$vo.phone|default=''}">
</label>
<div class="layui-form-item relative block">
@ -22,7 +22,7 @@
<label class="layui-form-item relative block">
<span class="color-green font-w7 label-required-prev">发货详细地址</span>
<textarea class="layui-textarea" name="content" required placeholder="请输入发货详细地址">{$vo.content|default=""}</textarea>
<textarea class="layui-textarea" name="content" placeholder="请输入发货详细地址" required>{$vo.content|default=""}</textarea>
</label>
</div>
@ -30,7 +30,7 @@
<div class="layui-form-item text-center">
<button class="layui-btn" type='submit'>保存数据</button>
<button class="layui-btn layui-btn-danger" type='button' data-confirm="确定要取消编辑吗?" data-close>取消编辑</button>
<button class="layui-btn layui-btn-danger" data-close data-confirm="确定要取消编辑吗?" type='button'>取消编辑</button>
</div>
<script>

View File

@ -11,7 +11,7 @@
<ul class="layui-tab-title notselect">
{foreach ['ta'=>'全部订单','t1'=>'待发货的订单','t2'=>'已发货的订单','t0'=>'已取消的订单'] as $k => $v}
{if isset($type) and 't'.$type eq $k}
<li data-open="{:url('index')}?type={$k}" class="layui-this">{$v}<sup class="layui-badge border-radius">{$total[$k]??0}</sup></li>
<li class="layui-this" data-open="{:url('index')}?type={$k}">{$v}<sup class="layui-badge border-radius">{$total[$k]??0}</sup></li>
{else}
<li data-open="{:url('index')}?type={$k}">{$v}<sup class="layui-badge border-radius">{$total[$k]??0}</sup></li>
{/if}{/foreach}
@ -36,10 +36,10 @@
{foreach $list as $key=>$vo}
<tr>
<td class='list-table-check-td think-checkbox'>
<label><input class="list-check-box" value='{$vo.id}' type='checkbox'></label>
<label><input class="list-check-box" type='checkbox' value='{$vo.id}'></label>
</td>
<td class="nowrap relative">
<div class="headimg" style="width:56px;height:56px" data-tips-image data-lazy-src="{$vo.user.headimg|default='__ROOT__/static/theme/img/headimg.png'}"></div>
<div class="headimg" data-lazy-src="{$vo.user.headimg|default='__ROOT__/static/theme/img/headimg.png'}" data-tips-image style="width:56px;height:56px"></div>
<div class="inline-block sub-span-blue">
用户昵称:<span>{$vo.user.nickname|default='-'}</span><br>
用户手机:<span>{$vo.user.phone|default='-'}</span><br>
@ -59,17 +59,17 @@
<span class="layui-badge layui-bg-black">未发货</span>
{else}
<span class="layui-badge layui-bg-blue">{$vo.company_name|default='-'}</span>
<a data-title="{$vo.company_name}{$vo.send_number}" data-tips-text="快递追踪查询"
data-modal="{:url('shop_order/truckQuery')}?code={$vo.company_code}&number={$vo.send_number}"
class="layui-badge layui-bg-orange margin-left-5">{$vo.send_number|default='-'}</a>
<a class="layui-badge layui-bg-orange margin-left-5" data-modal="{:url('shop_order/truckQuery')}?code={$vo.company_code}&number={$vo.send_number}"
data-tips-text="快递追踪查询"
data-title="{$vo.company_name}{$vo.send_number}">{$vo.send_number|default='-'}</a>
<div class="margin-top-5"><b>{$vo.send_datetime|format_datetime} 发货!</b></div>
{/if}
</td>
<td class="color-desc">
<!--{if auth('shop_order/truck') and $vo.status eq 1}-->
<a class="layui-btn layui-btn-sm" data-title="填写订单信息" data-modal="{:url('shop_order/truck')}?order_no={$vo.order_no}">填写发货</a>
<a class="layui-btn layui-btn-sm" data-modal="{:url('shop_order/truck')}?order_no={$vo.order_no}" data-title="填写订单信息">填写发货</a>
<!--{elseif auth('shop_order/truck') and $vo.status eq 2}-->
<a class="layui-btn layui-btn-sm" data-title="修改发货信息" data-modal="{:url('shop_order/truck')}?order_no={$vo.order_no}">修改发货</a>
<a class="layui-btn layui-btn-sm" data-modal="{:url('shop_order/truck')}?order_no={$vo.order_no}" data-title="修改发货信息">修改发货</a>
<!--{/if}-->
</td>
</tr>

View File

@ -1,31 +1,31 @@
<fieldset>
<legend>条件搜索</legend>
<form class="layui-form layui-form-pane form-search" action="{:request()->url()}" onsubmit="return false" method="get" autocomplete="off">
<form action="{:request()->url()}" 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 name="user_phone" value="{:input('user_phone')}" placeholder="请输入用户手机" class="layui-input">
<input class="layui-input" name="user_phone" placeholder="请输入用户手机" value="{:input('user_phone')}">
</label>
</div>
<div class="layui-form-item layui-inline">
<label class="layui-form-label">用户昵称</label>
<label class="layui-input-inline">
<input name="user_nickname" value="{:input('user_nickname')}" placeholder="请输入用户昵称" class="layui-input">
<input class="layui-input" name="user_nickname" placeholder="请输入用户昵称" value="{:input('user_nickname')}">
</label>
</div>
<div class="layui-form-item layui-inline">
<label class="layui-form-label">订单单号</label>
<label class="layui-input-inline">
<input name="order_no" value="{:input('order_no')}" placeholder="请输入订单单号" class="layui-input">
<input class="layui-input" name="order_no" placeholder="请输入订单单号" value="{:input('order_no')}">
</label>
</div>
<div class="layui-form-item layui-inline">
<label class="layui-form-label">发货单号</label>
<label class="layui-input-inline">
<input name="truck_number" value="{:input('truck_number')}" placeholder="请输入发货单号" class="layui-input">
<input class="layui-input" name="truck_number" placeholder="请输入发货单号" value="{:input('truck_number')}">
</label>
</div>
@ -47,41 +47,41 @@
<div class="layui-form-item layui-inline">
<label class="layui-form-label">提交时间</label>
<label class="layui-input-inline">
<input data-date-range name="address_datetime" value="{:input('address_datetime')}" placeholder="请选择提交时间" class="layui-input">
<input class="layui-input" data-date-range name="address_datetime" placeholder="请选择提交时间" value="{:input('address_datetime')}">
</label>
</div>
<div class="layui-form-item layui-inline">
<label class="layui-form-label">发货时间</label>
<label class="layui-input-inline">
<input data-date-range name="send_datetime" value="{:input('send_datetime')}" placeholder="请选择发货时间" class="layui-input">
<input class="layui-input" data-date-range name="send_datetime" placeholder="请选择发货时间" value="{:input('send_datetime')}">
</label>
</div>
<div class="layui-form-item layui-inline">
<label class="layui-form-label">收货姓名</label>
<label class="layui-input-inline">
<input name="address_name" value="{:input('address_name')}" placeholder="请输入收货姓名" class="layui-input">
<input class="layui-input" name="address_name" placeholder="请输入收货姓名" value="{:input('address_name')}">
</label>
</div>
<div class="layui-form-item layui-inline">
<label class="layui-form-label">收货手机</label>
<label class="layui-input-inline">
<input name="address_phone" value="{:input('address_phone')}" placeholder="请输入收货手机" class="layui-input">
<input class="layui-input" name="address_phone" placeholder="请输入收货手机" value="{:input('address_phone')}">
</label>
</div>
<div class="layui-form-item layui-inline">
<label class="layui-form-label">配送地址</label>
<label class="layui-input-inline">
<input name="address_content" value="{:input('address_content')}" placeholder="请输入配送地址" class="layui-input">
<input class="layui-input" name="address_content" placeholder="请输入配送地址" value="{:input('address_content')}">
</label>
</div>
<div class="layui-form-item layui-inline">
<button type="submit" class="layui-btn layui-btn-primary"><i class="layui-icon">&#xe615;</i> 搜 索</button>
<button type="button" data-form-export="{:url('index')}?type={$type|default=''}" class="layui-btn layui-btn-primary">
<button class="layui-btn layui-btn-primary" type="submit"><i class="layui-icon">&#xe615;</i> 搜 索</button>
<button class="layui-btn layui-btn-primary" data-form-export="{:url('index')}?type={$type|default=''}" type="button">
<i class="layui-icon layui-icon-export"></i> 导 出
</button>
</div>

View File

@ -5,7 +5,7 @@
<ul class="layui-tab-title notselect">
{foreach ['all'=>'全部订单','2'=>'待支付的订单','3'=>'待发货的订单','4'=>'待收货的订单','5'=>'已完成的订单','0'=>'已取消的订单'] as $k=>$v}
{if isset($type) and $type eq $k}
<li data-open="{:url('index')}?type={$k}" class="layui-this">{$v}<sup class="layui-badge border-radius">{$total[$k]??0}</sup></li>
<li class="layui-this" data-open="{:url('index')}?type={$k}">{$v}<sup class="layui-badge border-radius">{$total[$k]??0}</sup></li>
{else}
<li data-open="{:url('index')}?type={$k}">{$v}<sup class="layui-badge border-radius">{$total[$k]??0}</sup></li>
{/if}{/foreach}
@ -30,18 +30,18 @@
{foreach $list as $key=>$vo}
<tr>
<td class='list-table-check-td think-checkbox'>
<label><input class="list-check-box" value='{$vo.id}' type='checkbox'></label>
<label><input class="list-check-box" type='checkbox' value='{$vo.id}'></label>
</td>
<td class="nowrap relative">
<div>
<img data-tips-image style="width:35px;height:35px" src="{$vo.fromer.headimg|default='__ROOT__/static/theme/img/headimg.png'}" class="margin-right-5" alt="img">
<img alt="img" class="margin-right-5" data-tips-image src="{$vo.fromer.headimg|default='__ROOT__/static/theme/img/headimg.png'}" style="width:35px;height:35px">
<div class="inline-block text-middle sub-span-blue">
推荐用户:{$vo.fromer.nickname|default='--'}<br>
推荐手机:<span>{$vo.fromer.phone|default='--'}</span>{notempty name='vo.fromer.vip_level'} [ <b class="color-red">VIP{$vo.fromer.vip_level}</b> ] <b class="color-red">{$vo.fromer.vip_title}</b>{/notempty}<br>
</div>
</div>
<div>
<img data-tips-image style="width:35px;height:35px" src="{$vo.member.headimg|default='__ROOT__/static/theme/img/headimg.png'}" class="margin-right-5" alt="img">
<img alt="img" class="margin-right-5" data-tips-image src="{$vo.member.headimg|default='__ROOT__/static/theme/img/headimg.png'}" style="width:35px;height:35px">
<div class="inline-block text-middle sub-span-blue">
用户昵称:{$vo.member.nickname|default='--'}<br>
用户手机:<span>{$vo.member.phone|default='--'}</span>{notempty name='vo.member.vip_level'} [ <b class="color-red">VIP{$vo.member.vip_level}</b> ] <b class="color-red">{$vo.member.vip_title}</b>{/notempty}<br>
@ -71,12 +71,12 @@
<span class="layui-badge layui-bg-black">未发货</span>
{else}
<span class="layui-badge layui-bg-blue">{$vo.express_company_title|default='--'}</span>
<a data-title="{$vo.express_company_title}{$vo.express_send_no}" data-tips-text="快递追踪查询"
data-modal="{:url('truckQuery')}?code={$vo.express_company_code}&number={$vo.express_send_no}"
class="layui-badge layui-bg-gray margin-left-5">{$vo.express_send_no|default='--'}</a>
<a class="layui-badge layui-bg-gray margin-left-5" data-modal="{:url('truckQuery')}?code={$vo.express_company_code}&number={$vo.express_send_no}"
data-tips-text="快递追踪查询"
data-title="{$vo.express_company_title}{$vo.express_send_no}">{$vo.express_send_no|default='--'}</a>
{/eq}
{if $vo.status eq 3}
<a class=" margin-left-5" data-title="填写订单信息" data-modal="{:url('express')}?id={$vo.id}">填写发货</a>
<a class=" margin-left-5" data-modal="{:url('express')}?id={$vo.id}" data-title="填写订单信息">填写发货</a>
<!--{if auth('store/order/pushJushuitan') && isset($jushuitanType) and $jushuitanType > 0}-->
<a class=" margin-left-5" data-confirm="确认要使用仓库发货吗?" data-load="{:url('pushJushuitan')}?order_no={$vo.order_no}">提交仓库</a>
<!--{/if}-->
@ -84,7 +84,7 @@
<a class=" margin-left-5" data-confirm="确认要取消并创建退款申请吗?" data-load="{:url('cancel')}?order_no={$vo.order_no}">取消并退款</a>
<!--{/if}-->
{elseif $vo.status eq 4}
<a class=" margin-left-5" data-title="修改发货信息" data-modal="{:url('express')}?id={$vo.id}">修改发货</a>
<a class=" margin-left-5" data-modal="{:url('express')}?id={$vo.id}" data-title="修改发货信息">修改发货</a>
{/if}
<br>
发货时间:{$vo.express_send_at|format_datetime}<br>

View File

@ -1,45 +1,45 @@
<fieldset>
<legend>条件搜索</legend>
<form class="layui-form layui-form-pane form-search" action="{:request()->url()}" onsubmit="return false" method="get" autocomplete="off">
<form action="{:request()->url()}" 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 name="member_phone" value="{:input('member_phone')}" placeholder="请输入用户手机" class="layui-input">
<input class="layui-input" name="member_phone" placeholder="请输入用户手机" value="{:input('member_phone')}">
</label>
</div>
<div class="layui-form-item layui-inline">
<label class="layui-form-label">用户昵称</label>
<label class="layui-input-inline">
<input name="member_nickname" value="{:input('member_nickname')}" placeholder="请输入用户昵称" class="layui-input">
<input class="layui-input" name="member_nickname" placeholder="请输入用户昵称" value="{:input('member_nickname')}">
</label>
</div>
<div class="layui-form-item layui-inline">
<label class="layui-form-label">推荐手机</label>
<label class="layui-input-inline">
<input name="agent_phone" value="{:input('agent_phone')}" placeholder="请输入用户手机" class="layui-input">
<input class="layui-input" name="agent_phone" placeholder="请输入用户手机" value="{:input('agent_phone')}">
</label>
</div>
<div class="layui-form-item layui-inline">
<label class="layui-form-label">推荐昵称</label>
<label class="layui-input-inline">
<input name="agent_nickname" value="{:input('agent_nickname')}" placeholder="请输入用户昵称" class="layui-input">
<input class="layui-input" name="agent_nickname" placeholder="请输入用户昵称" value="{:input('agent_nickname')}">
</label>
</div>
<div class="layui-form-item layui-inline">
<label class="layui-form-label">订单单号</label>
<label class="layui-input-inline">
<input name="order_no" value="{:input('order_no')}" placeholder="请输入订单单号" class="layui-input">
<input class="layui-input" name="order_no" placeholder="请输入订单单号" value="{:input('order_no')}">
</label>
</div>
<div class="layui-form-item layui-inline">
<label class="layui-form-label">发货单号</label>
<label class="layui-input-inline">
<input name="express_send_no" value="{:input('express_send_no')}" placeholder="请输入发货单号" class="layui-input">
<input class="layui-input" name="express_send_no" placeholder="请输入发货单号" value="{:input('express_send_no')}">
</label>
</div>
@ -76,56 +76,56 @@
<div class="layui-form-item layui-inline">
<label class="layui-form-label">下单时间</label>
<label class="layui-input-inline">
<input data-date-range name="create_at" value="{:input('create_at')}" placeholder="请选择下单时间" class="layui-input">
<input class="layui-input" data-date-range name="create_at" placeholder="请选择下单时间" value="{:input('create_at')}">
</label>
</div>
<div class="layui-form-item layui-inline">
<label class="layui-form-label">支付时间</label>
<label class="layui-input-inline">
<input data-date-range name="pay_datetime" value="{:input('pay_datetime')}" placeholder="请选择支付时间" class="layui-input">
<input class="layui-input" data-date-range name="pay_datetime" placeholder="请选择支付时间" value="{:input('pay_datetime')}">
</label>
</div>
<div class="layui-form-item layui-inline">
<label class="layui-form-label">收货姓名</label>
<label class="layui-input-inline">
<input name="express_name" value="{:input('express_name')}" placeholder="请输入收货姓名" class="layui-input">
<input class="layui-input" name="express_name" placeholder="请输入收货姓名" value="{:input('express_name')}">
</label>
</div>
<div class="layui-form-item layui-inline">
<label class="layui-form-label">收货手机</label>
<label class="layui-input-inline">
<input name="express_phone" value="{:input('express_phone')}" placeholder="请输入收货手机" class="layui-input">
<input class="layui-input" name="express_phone" placeholder="请输入收货手机" value="{:input('express_phone')}">
</label>
</div>
<div class="layui-form-item layui-inline">
<label class="layui-form-label">收货省份</label>
<label class="layui-input-inline">
<input name="express_province" value="{:input('express_province')}" placeholder="请输入收货省份" class="layui-input">
<input class="layui-input" name="express_province" placeholder="请输入收货省份" value="{:input('express_province')}">
</label>
</div>
<div class="layui-form-item layui-inline">
<label class="layui-form-label">收货城市</label>
<label class="layui-input-inline">
<input name="express_city" value="{:input('express_city')}" placeholder="请输入收货城市" class="layui-input">
<input class="layui-input" name="express_city" placeholder="请输入收货城市" value="{:input('express_city')}">
</label>
</div>
<div class="layui-form-item layui-inline">
<label class="layui-form-label">收货区域</label>
<label class="layui-input-inline">
<input name="express_area" value="{:input('express_area')}" placeholder="请输入收货区域" class="layui-input">
<input class="layui-input" name="express_area" placeholder="请输入收货区域" value="{:input('express_area')}">
</label>
</div>
<div class="layui-form-item layui-inline">
<label class="layui-form-label">详细地址</label>
<label class="layui-input-inline">
<input name="express_address" value="{:input('express_address')}" placeholder="请输入详细地址" class="layui-input">
<input class="layui-input" name="express_address" placeholder="请输入详细地址" value="{:input('express_address')}">
</label>
</div>

View File

@ -1,15 +1,15 @@
{extend name="../../admin/view/main"}
{block name='content'}
<form class="layui-form layui-card" action="{:request()->url()}" data-auto="true" method="post" autocomplete="off">
<form action="{:request()->url()}" autocomplete="off" class="layui-form layui-card" data-auto="true" method="post">
<div class="layui-card-body padding-40">
<div class="layui-form-item">
<span class="color-green font-w7 label-required-prev">支付方式图标</span>
<span class="color-desc margin-left-5">Payment Image</span>
<label class="relative block label-required-null">
<input required name="cover" value='{$vo.cover|default=""}' placeholder="请上传支付方式图标 &nbsp;&nbsp;&nbsp;&nbsp;" class="layui-input">
<a data-file data-type="png,jpg,gif" data-field="cover" class="layui-icon layui-icon-upload input-right-icon"></a>
<input class="layui-input" name="cover" placeholder="请上传支付方式图标 &nbsp;&nbsp;&nbsp;&nbsp;" required value='{$vo.cover|default=""}'>
<a class="layui-icon layui-icon-upload input-right-icon" data-field="cover" data-file data-type="png,jpg,gif"></a>
<script>$('[name="cover"]').uploadOneImage()</script>
</label>
</div>
@ -17,7 +17,7 @@
<label class="layui-form-item relative block">
<span class="color-green font-w7">支付方式名称</span>
<span class="color-desc margin-left-5">Payment Name</span>
<input class="layui-input" required placeholder="请输入支付名称" maxlength="50" name="name" value="{$vo.name|default=''}"/>
<input class="layui-input" maxlength="50" name="name" placeholder="请输入支付名称" required value="{$vo.name|default=''}"/>
<span class="help-block"><b>必填,</b>请填写支付方式名称支付名称尽量不要重复字符不要太长一般4-6个汉字</span>
</label>
@ -26,7 +26,7 @@
<span class="color-desc margin-left-5">Payment Channel</span>
<label class="block full-width">
{empty name='vo.type'}
<select name="type" class="layui-select" lay-search lay-filter="payment-type">
<select class="layui-select" lay-filter="payment-type" lay-search name="type">
{foreach $payments as $k=>$v}{if isset($vo.type) and $vo.type eq $k}
<option selected value="{$k}">{$v.name} ( {$v.allow} )</option>
{else}
@ -34,38 +34,38 @@
{/if}{/foreach}
</select>
{else}
<select name="type" disabled class="layui-select" lay-filter="payment-type">
<select class="layui-select" disabled lay-filter="payment-type" name="type">
{foreach $payments as $k=>$v}{if isset($vo.type) and $vo.type eq $k}
<option selected value="{$k}">{$v.name} ( {$v.allow} )</option>
{else}
<option value="{$k}">{$v.name} ( {$v.allow} )</option>
{/if}{/foreach}
</select>
<input type="hidden" name="type" value="{$vo.type}">
<input name="type" type="hidden" value="{$vo.type}">
{/empty}
<span class="help-block"><b>必选,</b>请选择预置的支付方式,支付参数创建之后不能修改,请谨慎选择并配置参数</span>
</label>
</div>
<div data-payment-type="wechat" class="layui-hide">{include file='shop_payment/form_wechat'}</div>
<div data-payment-type="alipay" class="layui-hide">{include file='shop_payment/form_alipay'}</div>
<div data-payment-type="joinpay" class="layui-hide">{include file='shop_payment/form_joinpay'}</div>
<div class="layui-hide" data-payment-type="wechat">{include file='shop_payment/form_wechat'}</div>
<div class="layui-hide" data-payment-type="alipay">{include file='shop_payment/form_alipay'}</div>
<div class="layui-hide" data-payment-type="joinpay">{include file='shop_payment/form_joinpay'}</div>
<div class="layui-form-item relative layui-hide">
<span class="color-green font-w7">支付描述</span>
<span class="color-desc margin-left-5">Payment Remark</span>
<label class="relative block">
<textarea class="layui-textarea" placeholder="请输入支付描述" name="remark">{$vo.remark|default=''}</textarea>
<textarea class="layui-textarea" name="remark" placeholder="请输入支付描述">{$vo.remark|default=''}</textarea>
</label>
</div>
<div class="hr-line-dashed"></div>
{notempty name='vo.id'}<input type='hidden' value='{$vo.id}' name='id'>{/notempty}
{notempty name='vo.code'}<input type='hidden' value='{$vo.code}' name='code'>{/notempty}
{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>
<button class="layui-btn layui-btn-danger" type='button' data-confirm="确定要取消编辑吗?" data-history-back>取消编辑</button>
<button class="layui-btn layui-btn-danger" data-confirm="确定要取消编辑吗?" data-history-back type='button'>取消编辑</button>
</div>
</div>

View File

@ -1,18 +1,18 @@
<label class="layui-form-item block relative">
<span class="color-green font-w7">支付宝商户编号</span>
<span class="color-desc margin-left-5">Alipay Payment Number</span>
<input name="alipay_appid" required placeholder="请输入支付宝商户编号(必填)" value="{$vo.content.alipay_appid|default=''}" class="layui-input">
<input class="layui-input" name="alipay_appid" placeholder="请输入支付宝商户编号(必填)" required value="{$vo.content.alipay_appid|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>
<textarea name="alipay_private_key" required placeholder="请输入支付宝私钥文件内容(必填)" class="layui-textarea">{$vo.content.alipay_private_key|default=''}</textarea>
<textarea class="layui-textarea" name="alipay_private_key" placeholder="请输入支付宝私钥文件内容(必填)" required>{$vo.content.alipay_private_key|default=''}</textarea>
<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>
<textarea name="alipay_public_key" required placeholder="请输入应用公钥证书文件内容(必填)" class="layui-textarea">{$vo.content.alipay_public_key|default=''}</textarea>
<textarea class="layui-textarea" name="alipay_public_key" placeholder="请输入应用公钥证书文件内容(必填)" required>{$vo.content.alipay_public_key|default=''}</textarea>
<span class="help-block">从商户平台上下载支付证书,解压并取得其中的应用公钥证书文件用记事本打开并复制文件内容填至此处</span>
</label>

View File

@ -1,23 +1,23 @@
<label class="layui-form-item block relative">
<span class="color-green font-w7">商户绑定的公众号</span>
<input name="joinpay_appid" required placeholder="请输入商户绑定的公众号(必填)" value="{$vo.content.joinpay_appid|default=''}" class="layui-input">
<input class="layui-input" name="joinpay_appid" placeholder="请输入商户绑定的公众号(必填)" required value="{$vo.content.joinpay_appid|default=''}">
<span class="help-block">商户绑定的公众号授权给汇聚支付平台的公众号APPID</span>
</label>
<label class="layui-form-item block relative">
<span class="color-green font-w7">汇聚支付报备商户号</span>
<input name="joinpay_trade" required maxlength="15" placeholder="请输入汇聚支付报备商户号(必填)" value="{$vo.content.joinpay_trade|default=''}" class="layui-input">
<input class="layui-input" maxlength="15" name="joinpay_trade" placeholder="请输入汇聚支付报备商户号(必填)" required value="{$vo.content.joinpay_trade|default=''}">
<span class="help-block">汇聚支付报备商户号,需要联系汇聚支付平台的客服获取,通常以 777 开头的15位数字</span>
</label>
<label class="layui-form-item block relative">
<span class="color-green font-w7 margin-right-5">汇聚支付的商户编号</span>
<input name="joinpay_mch_id" required maxlength="15" placeholder="请输入汇聚支付的商户编号(必填)" value="{$vo.content.joinpay_mch_id|default=''}" class="layui-input">
<input class="layui-input" maxlength="15" name="joinpay_mch_id" placeholder="请输入汇聚支付的商户编号(必填)" required value="{$vo.content.joinpay_mch_id|default=''}">
<span class="help-block">汇聚支付的商户编号,需要在汇聚支付平台商户中心获取,通常是以 888 开头的15位数字</span>
</label>
<label class="layui-form-item block relative">
<span class="color-green font-w7 margin-right-5">汇聚支付的商户密钥</span>
<input name="joinpay_mch_key" required maxlength="32" placeholder="请输入汇聚支付的商户密钥(必填)" value="{$vo.content.joinpay_mch_key|default=''}" class="layui-input">
<input class="layui-input" maxlength="32" name="joinpay_mch_key" placeholder="请输入汇聚支付的商户密钥(必填)" required value="{$vo.content.joinpay_mch_key|default=''}">
<span class="help-block">汇聚支付的商户密钥需要在汇聚支付平台商户中心的密钥管理处获取通常为32位字符串</span>
</label>

View File

@ -1,32 +1,32 @@
<label class="layui-form-item block relative">
<span class="color-green font-w7">绑定公众号</span>
<span class="color-desc margin-left-5">Bind WeChat Appid</span>
<input name="wechat_appid" required maxlength="18" pattern="^wx[0-9a-z]{16}$" placeholder="请输入18位绑定公众号必填" value="{$vo.content.wechat_appid|default=''}" class="layui-input">
<input class="layui-input" maxlength="18" name="wechat_appid" pattern="^wx[0-9a-z]{16}$" placeholder="请输入18位绑定公众号必填" required value="{$vo.content.wechat_appid|default=''}">
<span class="help-block">公众号APPID微信商户绑定的服务号APPID或小程序APPID</span>
</label>
<label class="layui-form-item block relative">
<span class="color-green font-w7">微信商户号</span>
<span class="color-desc margin-left-5">WeChat Payment Number</span>
<input name="wechat_mch_id" required placeholder="请输入微信商户号(必填)" value="{$vo.content.wechat_mch_id|default=''}" class="layui-input">
<input class="layui-input" name="wechat_mch_id" placeholder="请输入微信商户号(必填)" required value="{$vo.content.wechat_mch_id|default=''}">
<span class="help-block">微信商户编号,需要在微信商户平台获取,微信商户号 与 公众号APPID 匹配</span>
</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>
<input name="wechat_mch_key" required maxlength="32" pattern=".{32}" placeholder="请输入32位微信商户密钥必填" value="{$vo.content.wechat_mch_key|default=''}" class="layui-input">
<input class="layui-input" maxlength="32" name="wechat_mch_key" pattern=".{32}" placeholder="请输入32位微信商户密钥必填" required value="{$vo.content.wechat_mch_key|default=''}">
<span class="help-block">微信商户密钥,需要在微信商户平台操作设置密码并获取密钥,建议定期更换密钥</span>
</label>
<label class="layui-form-item layui-hide relative">
<span class="color-green font-w7">微信商户密钥文件内容</span><span class="nowrap color-desc"> 需要填写文件的全部内容 </span>
<textarea name="wechat_mch_key_text" placeholder="请输入微信KEY密钥内容" class="layui-textarea">{$vo.content.wechat_mch_key_text|default=''}</textarea>
<textarea class="layui-textarea" name="wechat_mch_key_text" placeholder="请输入微信KEY密钥内容">{$vo.content.wechat_mch_key_text|default=''}</textarea>
<span class="help-block">从商户平台上下载支付证书,解压并取得其中的 apiclient_key.pem 用记事本打开并复制文件内容填至此处</span>
</label>
<label class="layui-form-item layui-hide relative">
<span class="color-green font-w7">微信商户证书文件内容</span><span class="nowrap color-desc"> 需要填写文件的全部内容 </span>
<textarea name="wechat_mch_cert_text" placeholder="请输入微信CERT证书内容" class="layui-textarea">{$vo.content.wechat_mch_cert_text|default=''}</textarea>
<textarea class="layui-textarea" name="wechat_mch_cert_text" placeholder="请输入微信CERT证书内容">{$vo.content.wechat_mch_cert_text|default=''}</textarea>
<span class="help-block">从商户平台上下载支付证书,解压并取得其中的 apiclient_cert.pem 用记事本打开并复制文件内容填至此处</span>
</label>

View File

@ -2,11 +2,11 @@
{block name="button"}
<!--{if auth("add")}-->
<button data-open='{:url("add")}' class='layui-btn layui-btn-sm layui-btn-primary'>添加支付</button>
<button class='layui-btn layui-btn-sm layui-btn-primary' data-open='{:url("add")}'>添加支付</button>
<!--{/if}-->
<!--{if auth("remove")}-->
<button data-action='{:url("remove")}' data-rule="id#{key}" data-confirm="确定要删除这些支付吗?" class='layui-btn layui-btn-sm layui-btn-primary'>删除支付</button>
<button class='layui-btn layui-btn-sm layui-btn-primary' data-action='{:url("remove")}' data-confirm="确定要删除这些支付吗?" data-rule="id#{key}">删除支付</button>
<!--{/if}-->
{/block}
@ -21,7 +21,7 @@
<label><input data-auto-none data-check-target='.list-check-box' type='checkbox'></label>
</th>
<th class='list-table-sort-td'>
<button type="button" data-reload class="layui-btn layui-btn-xs">刷 新</button>
<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>
@ -36,10 +36,10 @@
{foreach $list as $key=>$vo}
<tr>
<td class='list-table-check-td think-checkbox'>
<label><input class="list-check-box" value='{$vo.id}' type='checkbox'></label>
<label><input class="list-check-box" type='checkbox' value='{$vo.id}'></label>
</td>
<td class='list-table-sort-td'>
<label><input data-action-blur="{:request()->url()}" data-value="id#{$vo.id};action#sort;sort#{value}" data-loading="false" value="{$vo.sort}" class="list-sort-input"></label>
<label><input class="list-sort-input" data-action-blur="{:request()->url()}" 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-lazy-src="{$vo.cover}"></div>
@ -61,7 +61,7 @@
<!--{/if}-->
<!--{if auth("remove")}-->
<a class="layui-btn layui-btn-sm layui-btn-danger" data-confirm="确定要删除该支付吗?" data-action="{:url('remove')}" data-value="id#{$vo.id}">删 除</a>
<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>

View File

@ -1,17 +1,17 @@
<fieldset>
<legend>条件搜索</legend>
<form class="layui-form layui-form-pane form-search" action="{:request()->url()}" onsubmit="return false" method="get" autocomplete="off">
<form action="{:request()->url()}" 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 name="name" value="{:input('name','')}" placeholder="请输入支付名称" class="layui-input">
<input class="layui-input" name="name" placeholder="请输入支付名称" value="{:input('name','')}">
</label>
</div>
<div class="layui-form-item layui-inline">
<label class="layui-form-label">支付编号</label>
<label class="layui-input-inline">
<input name="code" value="{:input('code','')}" placeholder="请输入支付编号" class="layui-input">
<input class="layui-input" name="code" placeholder="请输入支付编号" value="{:input('code','')}">
</label>
</div>
@ -47,7 +47,7 @@
<div class="layui-form-item layui-inline">
<label class="layui-form-label">创建时间</label>
<label class="layui-input-inline">
<input data-date-range name="create_at" value="{:input('create_at','')}" placeholder="请选择创建时间" class="layui-input">
<input class="layui-input" data-date-range name="create_at" placeholder="请选择创建时间" value="{:input('create_at','')}">
</label>
</div>

View File

@ -1,28 +1,28 @@
<form onsubmit="return false;" action="{:request()->url()}" data-auto="true" method="post" class='layui-form layui-card' autocomplete="off">
<form action="{:request()->url()}" autocomplete="off" class='layui-form layui-card' data-auto="true" method="post" onsubmit="return false;">
<div class="layui-card-body padding-left-40">
<label class="layui-form-item block relative">
<span class="color-green font-w7 margin-right-5">快递公司名称</span><span class="nowrap color-desc">Name</span>
<input name="name" required value='{$vo.name|default=""}' placeholder="请输入快递公司名称" class="layui-input">
<input class="layui-input" name="name" placeholder="请输入快递公司名称" required value='{$vo.name|default=""}'>
<p class="color-desc">必填,快递公司名称用于显示快递配送的公司标识,请尽量保持其精准性。</p>
</label>
<label class="layui-form-item block relative">
<span class="color-green font-w7 margin-right-5">快递鸟接口查询编码</span><span class="nowrap color-desc">Code01</span>
<input name="code_1" required value='{$vo.code_1|default=""}' placeholder="请输入快递鸟接口查询编码" class="layui-input">
<input class="layui-input" name="code_1" placeholder="请输入快递鸟接口查询编码" required value='{$vo.code_1|default=""}'>
<p class="color-desc">必填,快递公司对应在快递鸟接口的编码,可以从快递鸟官方接口文档中获取到。</p>
</label>
<label class="layui-form-item block relative">
<span class="color-green font-w7 margin-right-5">快递100百度查询编码</span><span class="nowrap color-desc">Code02</span>
<input name="code_2" value='{$vo.code_2|default=""}' placeholder="请输入快递100百度查询编码" class="layui-input">
<input class="layui-input" name="code_2" placeholder="请输入快递100百度查询编码" value='{$vo.code_2|default=""}'>
<p class="color-desc">可选快递公司在百度快递100应用程序搜索时使用的编码需要使用网络模拟请求抓取。</p>
</label>
<label class="layui-form-item block relative">
<span class="color-green font-w7 margin-right-5">快递100接口查询编码</span><span class="nowrap color-desc">Code03</span>
<input name="code_3" value='{$vo.code_3|default=""}' placeholder="请输入快递100接口查询编码" class="layui-input">
<input class="layui-input" name="code_3" placeholder="请输入快递100接口查询编码" value='{$vo.code_3|default=""}'>
<p class="color-desc">必填快递公司对应在快递100接口的编码可以从快递100官方接口文档中获取到。</p>
</label>
@ -33,10 +33,10 @@
</div>
<div class="hr-line-dashed"></div>
{notempty name='vo.id'}<input type='hidden' value='{$vo.id}' name='id'>{/notempty}
{notempty name='vo.id'}<input name='id' type='hidden' value='{$vo.id}'>{/notempty}
<div class="layui-form-item text-center">
<button class="layui-btn" type='submit'>保存数据</button>
<button class="layui-btn layui-btn-danger" type='button' data-confirm="确定要取消编辑吗?" data-close>取消编辑</button>
<button class="layui-btn layui-btn-danger" data-close data-confirm="确定要取消编辑吗?" type='button'>取消编辑</button>
</div>
</form>

View File

@ -2,23 +2,23 @@
{block name="button"}
<!--{if auth("synchronize") and $type eq 'index'}-->
<button data-load='{:url("synchronize")}' data-confirm="确定要同步快递公司数据吗?" class='layui-btn layui-btn-sm layui-btn-primary'>同步公司</button>
<button class='layui-btn layui-btn-sm layui-btn-primary' data-confirm="确定要同步快递公司数据吗?" data-load='{:url("synchronize")}'>同步公司</button>
<!--{/if}-->
<!--{if auth("add") and $type eq 'index'}-->
<button data-modal='{:url("add")}' data-title="添加快递公司" class='layui-btn layui-btn-sm layui-btn-primary'>添加公司</button>
<button class='layui-btn layui-btn-sm layui-btn-primary' data-modal='{:url("add")}' data-title="添加快递公司">添加公司</button>
<!--{/if}-->
<!--{if auth("state") and $type eq 'index'}-->
<button data-action='{:url("state")}' data-confirm="确定要禁用快递公司?" data-rule="id#{key};status#0" class='layui-btn layui-btn-sm layui-btn-primary'>批量禁用</button>
<button class='layui-btn layui-btn-sm layui-btn-primary' data-action='{:url("state")}' data-confirm="确定要禁用快递公司?" data-rule="id#{key};status#0">批量禁用</button>
<!--{/if}-->
<!--{if auth("state") and $type eq 'recycle'}-->
<button data-action='{:url("state")}' data-rule="id#{key};status#1" class='layui-btn layui-btn-sm layui-btn-primary'>批量启用</button>
<button class='layui-btn layui-btn-sm layui-btn-primary' data-action='{:url("state")}' data-rule="id#{key};status#1">批量启用</button>
<!--{/if}-->
<!--{if auth("remove") and $type eq 'recycle'}-->
<button data-action='{:url("remove")}' data-csrf="{:systoken('remove')}" data-rule="id#{key}" class='layui-btn layui-btn-sm layui-btn-primary'>批量删除</button>
<button class='layui-btn layui-btn-sm layui-btn-primary' data-action='{:url("remove")}' data-csrf="{:systoken('remove')}" data-rule="id#{key}">批量删除</button>
<!--{/if}-->
{/block}
@ -27,7 +27,7 @@
<ul class="layui-tab-title">
{foreach ['index'=>'快递公司','recycle'=>'回 收 站'] as $k=>$v}
{if $type eq $k}
<li data-open="{:url('index')}?type={$k}" class="layui-this">{$v}</li>
<li class="layui-this" data-open="{:url('index')}?type={$k}">{$v}</li>
{else}
<li data-open="{:url('index')}?type={$k}">{$v}</li>
{/if}{/foreach}
@ -42,7 +42,7 @@
<label><input data-auto-none data-check-target='.list-check-box' type='checkbox'></label>
</th>
<th class='list-table-sort-td'>
<button type="button" data-reload class="layui-btn layui-btn-xs">刷 新</button>
<button class="layui-btn layui-btn-xs" data-reload type="button">刷 新</button>
</th>
<th class='text-left nowrap'>快递名称</th>
<th class='text-center nowrap'>快递鸟接口编码</th>
@ -57,10 +57,10 @@
{foreach $list as $key=>$vo}
<tr data-dbclick>
<td class='list-table-check-td think-checkbox'>
<label><input class="list-check-box" value='{$vo.id}' type='checkbox'></label>
<label><input class="list-check-box" type='checkbox' value='{$vo.id}'></label>
</td>
<td class='list-table-sort-td'>
<label><input data-action-blur="{:request()->url()}" data-value="id#{$vo.id};action#sort;sort#{value}" data-loading="false" value="{$vo.sort}" class="list-sort-input"></label>
<label><input class="list-sort-input" data-action-blur="{:request()->url()}" data-loading="false" data-value="id#{$vo.id};action#sort;sort#{value}" value="{$vo.sort}"></label>
</td>
<td class='text-left nowrap'>{$vo.name|default=''}</td>
<td class='text-center nowrap'>{$vo.code_1|default='-'}</td>
@ -69,7 +69,7 @@
<td class='text-center nowrap'>{$vo.create_at|format_datetime}</td>
<td class='text-left nowrap'>
<!--{if auth("edit") and $type eq 'index'}-->
<a data-dbclick class="layui-btn layui-btn-sm" data-title="编辑快递公司" data-modal='{:url("edit")}?id={$vo.id}'>编 辑</a>
<a class="layui-btn layui-btn-sm" data-dbclick data-modal='{:url("edit")}?id={$vo.id}' data-title="编辑快递公司">编 辑</a>
<!--{/if}-->
<!--{if $vo.status eq 1 and auth("state")}-->
@ -79,7 +79,7 @@
<!--{/if}-->
<!--{if auth("remove") and $type eq 'recycle'}-->
<a class="layui-btn layui-btn-danger layui-btn-sm" data-confirm="确定要删除数据吗?" data-action="{:url('remove')}" data-value="id#{$vo.id}">删 除</a>
<a class="layui-btn layui-btn-danger layui-btn-sm" data-action="{:url('remove')}" data-confirm="确定要删除数据吗?" data-value="id#{$vo.id}">删 除</a>
<!--{/if}-->
</td>
</tr>

View File

@ -1,29 +1,29 @@
<fieldset>
<legend>条件搜索</legend>
<form class="layui-form layui-form-pane form-search" action="{:url('index')}" onsubmit="return false" method="get" autocomplete="off">
<form action="{:url('index')}" 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 name="name" value="{:input('name','')}" placeholder="请输入快递名称" class="layui-input">
<input class="layui-input" name="name" placeholder="请输入快递名称" value="{:input('name','')}">
</label>
</div>
<div class="layui-form-item layui-inline">
<label class="layui-form-label">快递编码</label>
<label class="layui-input-inline">
<input name="code" value="{:input('code','')}" placeholder="请输入快递编码" class="layui-input">
<input class="layui-input" name="code" placeholder="请输入快递编码" value="{:input('code','')}">
</label>
</div>
<div class="layui-form-item layui-inline">
<label class="layui-form-label">添加时间</label>
<label class="layui-input-inline">
<input data-date-range name="create_at" value="{:input('create_at','')}" placeholder="请选择添加时间" class="layui-input">
<input class="layui-input" data-date-range name="create_at" placeholder="请选择添加时间" value="{:input('create_at','')}">
</label>
</div>
<div class="layui-form-item layui-inline">
<input type="hidden" name="type" value="{$type|default='index'}">
<input name="type" type="hidden" value="{$type|default='index'}">
<button class="layui-btn layui-btn-primary"><i class="layui-icon">&#xe615;</i> 搜 索</button>
</div>
</form>

View File

@ -2,12 +2,12 @@
{block name="content"}
<div id="TruckForm">
<form onsubmit="return false;" data-auto="true" action="{:request()->url()}" method="post" class='layui-form layui-card' autocomplete="off">
<form action="{:request()->url()}" autocomplete="off" class='layui-form layui-card' data-auto="true" method="post" onsubmit="return false;">
<div class="layui-card-body padding-40">
<label class="layui-form-item block relative">
<span class="color-green font-w7">邮费模板名称</span>
<span class="color-desc margin-left-5">Name</span>
<input name="name" required value='{$vo.name|default=""}' placeholder="请输入邮费模板名称" class="layui-input">
<input class="layui-input" name="name" placeholder="请输入邮费模板名称" required value='{$vo.name|default=""}'>
<p class="color-desc"><b>必填</b>,邮费模板名称用于区分邮费模板规则,仅在后台选择邮费模板时使用。</p>
</label>
<div class="layui-form-item">
@ -25,10 +25,10 @@
</thead>
<tbody>
<!--已选择的区域邮费规则-->
<tr ng-repeat="item in rules" ng-if="item.city.length > 0">
<tr ng-if="item.city.length > 0" ng-repeat="item in rules">
<td>
<b class="color-green">自定区域:</b>
<div class="margin-right-5 inline-block" ng-repeat="province in item.city" ng-if="ShowProvinceStatus(province)">
<div class="margin-right-5 inline-block" ng-if="ShowProvinceStatus(province)" ng-repeat="province in item.city">
<b class="font-w7" ng-bind="province.name"></b>
<span class="color-desc">{{ShowProvinceCityName(province)}}</span>
</div>
@ -77,11 +77,11 @@
</table>
</div>
<label class="layui-form-item layui-hide">
<textarea name="normal" class="layui-textarea layui-bg-gray">{{defs.rule}}</textarea>
<textarea name="content" class="layui-textarea layui-bg-gray">{{GetRuleData()}}</textarea>
<textarea class="layui-textarea layui-bg-gray" name="normal">{{defs.rule}}</textarea>
<textarea class="layui-textarea layui-bg-gray" name="content">{{GetRuleData()}}</textarea>
</label>
<div class="hr-line-dashed margin-top-30"></div>
{notempty name='vo.code'}<input type="hidden" name="code" value="{$vo.code}">{/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>
</div>
@ -99,12 +99,12 @@
</div>
<hr class="hr-line-dashed margin-top-5 margin-bottom-5">
<div class="layui-row layui-col-space5">
<div class="layui-col-xs3 nowrap" ng-repeat="x in citys" ng-if="ShowProvinceShow(x)">
<div class="layui-col-xs3 nowrap" ng-if="ShowProvinceShow(x)" ng-repeat="x in citys">
<label class="think-checkbox margin-right-0">
<input type="checkbox" ng-model="x.status" ng-change="SwitchActiveProvince(x, true)" ng-value="x.name" lay-ignore>
<input lay-ignore ng-change="SwitchActiveProvince(x, true)" ng-model="x.status" ng-value="x.name" type="checkbox">
</label>
<span ng-if="x.name==city.name" class="pointer notselect color-blue" ng-click="SwitchActiveProvince(x, false)">{{x.name}}</span>
<span ng-if="x.name!=city.name" class="pointer notselect color-text" ng-click="SwitchActiveProvince(x, false)">{{x.name}}</span>
<span class="pointer notselect color-blue" ng-click="SwitchActiveProvince(x, false)" ng-if="x.name==city.name">{{x.name}}</span>
<span class="pointer notselect color-text" ng-click="SwitchActiveProvince(x, false)" ng-if="x.name!=city.name">{{x.name}}</span>
</div>
</div>
</div>
@ -117,8 +117,8 @@
<b class="pull-right color-blue" ng-bind="city.name"></b>
</div>
<hr class="hr-line-dashed margin-top-5 margin-bottom-5">
<label ng-repeat="x in city.subs" class="think-checkbox nowrap layui-elip" ng-if="x.show">
<input type="checkbox" ng-model="x.status" ng-value="x.name" value="" lay-ignore> {{x.name}}
<label class="think-checkbox nowrap layui-elip" ng-if="x.show" ng-repeat="x in city.subs">
<input lay-ignore ng-model="x.status" ng-value="x.name" type="checkbox" value=""> {{x.name}}
</label>
</div>
</div>

View File

@ -5,11 +5,11 @@
<div class="layui-card border-line">
<div class="layui-card-header layui-bg-gray border-bottom-line">
<b class="color-green">全国</b><span class="font-s12 color-desc margin-left-10">配送省份</span>
<a ng-click="SetAllChecked()" class="pull-right notselect">全选</a>
<a class="pull-right notselect" ng-click="SetAllChecked()">全选</a>
</div>
<div class="layui-card-body">
<div ng-repeat="x in items" ng-click="SetActiveProvince(x)" ng-class="{true:'layui-btn-normal',false:'layui-btn-warm'}[x.status]" class="layui-btn layui-btn-radius margin-left-0 margin-right-5 margin-bottom-5">
<label class="think-checkbox margin-right-0"><input ng-change="SetChangeCity(x,x.status)" type="checkbox" ng-model="x.status"></label><span ng-bind="x.name"></span>
<div class="layui-btn layui-btn-radius margin-left-0 margin-right-5 margin-bottom-5" ng-class="{true:'layui-btn-normal',false:'layui-btn-warm'}[x.status]" ng-click="SetActiveProvince(x)" ng-repeat="x in items">
<label class="think-checkbox margin-right-0"><input ng-change="SetChangeCity(x,x.status)" ng-model="x.status" type="checkbox"></label><span ng-bind="x.name"></span>
</div>
</div>
</div>
@ -17,8 +17,8 @@
<div class="layui-card border-line">
<div class="layui-card-header layui-bg-gray border-bottom-line"><b class="color-green" ng-bind="province.name"></b><span class="font-s12 color-desc margin-left-10">配送城市</span></div>
<div class="layui-card-body">
<div ng-repeat="x in province.subs" ng-click="SetActiveCity(x)" ng-class="{true:'layui-btn-normal',false:'layui-btn-warm'}[x.status]" class="layui-btn layui-btn-radius margin-left-0 margin-right-5 margin-bottom-5">
<label class="think-checkbox margin-right-0"><input ng-change="SetChangeCity(x,x.status)" type="checkbox" ng-model="x.status"></label><span ng-bind="x.name"></span>
<div class="layui-btn layui-btn-radius margin-left-0 margin-right-5 margin-bottom-5" ng-class="{true:'layui-btn-normal',false:'layui-btn-warm'}[x.status]" ng-click="SetActiveCity(x)" ng-repeat="x in province.subs">
<label class="think-checkbox margin-right-0"><input ng-change="SetChangeCity(x,x.status)" ng-model="x.status" type="checkbox"></label><span ng-bind="x.name"></span>
</div>
</div>
</div>
@ -26,8 +26,8 @@
<div class="layui-card border-line">
<div class="layui-card-header layui-bg-gray border-bottom-line"><b class="color-green" ng-bind="city.name"></b><span class="font-s12 color-desc margin-left-10">配送区域</span></div>
<div class="layui-card-body">
<div ng-repeat="x in city.subs" ng-class="{true:'layui-btn-normal',false:'layui-btn-warm'}[x.status]" class="layui-btn layui-btn-radius margin-left-0 margin-right-5 margin-bottom-5">
<label class="think-checkbox margin-right-0"><input type="checkbox" ng-model="x.status"></label><span ng-bind="x.name"></span>
<div class="layui-btn layui-btn-radius margin-left-0 margin-right-5 margin-bottom-5" ng-class="{true:'layui-btn-normal',false:'layui-btn-warm'}[x.status]" ng-repeat="x in city.subs">
<label class="think-checkbox margin-right-0"><input ng-model="x.status" type="checkbox"></label><span ng-bind="x.name"></span>
</div>
</div>
</div>

View File

@ -2,7 +2,7 @@
{block name="button"}
<!--{if auth("add")}-->
<button data-open='{:url("add")}' data-title="添加邮费模板" class='layui-btn layui-btn-sm layui-btn-primary'>添加邮费模板</button>
<button class='layui-btn layui-btn-sm layui-btn-primary' data-open='{:url("add")}' data-title="添加邮费模板">添加邮费模板</button>
<!--{/if}-->
{/block}
@ -18,7 +18,7 @@
<label><input data-auto-none data-check-target='.list-check-box' type='checkbox'></label>
</th>
<th class='list-table-sort-td'>
<button type="button" data-reload class="layui-btn layui-btn-xs">刷 新</button>
<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>
@ -32,10 +32,10 @@
{foreach $list as $key=>$vo}
<tr data-dbclick>
<td class='list-table-check-td think-checkbox'>
<label><input class="list-check-box" value='{$vo.id}' type='checkbox'></label>
<label><input class="list-check-box" type='checkbox' value='{$vo.id}'></label>
</td>
<td class='list-table-sort-td'>
<label><input data-action-blur="{:request()->url()}" data-value="id#{$vo.id};action#sort;sort#{value}" data-loading="false" value="{$vo.sort}" class="list-sort-input"></label>
<label><input class="list-sort-input" data-action-blur="{:request()->url()}" 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>
@ -43,7 +43,7 @@
<td class='text-left nowrap'>{$vo.create_at|format_datetime}</td>
<td class='text-left nowrap'>
<!--{if auth("edit")}-->
<a data-dbclick class="layui-btn layui-btn-sm" data-title="编辑快递公司" data-open='{:url("edit")}?code={$vo.code}'>编 辑</a>
<a class="layui-btn layui-btn-sm" data-dbclick data-open='{:url("edit")}?code={$vo.code}' data-title="编辑快递公司">编 辑</a>
<!--{/if}-->
<!--{if auth("state") and $vo.status eq 1}-->
@ -53,7 +53,7 @@
<!--{/if}-->
<!--{if auth("remove")}-->
<a class="layui-btn layui-btn-danger layui-btn-sm" data-confirm="确定要删除数据吗?" data-action="{:url('remove')}" data-value="code#{$vo.code}">删 除</a>
<a class="layui-btn layui-btn-danger layui-btn-sm" data-action="{:url('remove')}" data-confirm="确定要删除数据吗?" data-value="code#{$vo.code}">删 除</a>
<!--{/if}-->
</td>
</tr>

View File

@ -1,17 +1,17 @@
<fieldset>
<legend>条件搜索</legend>
<form class="layui-form layui-form-pane form-search" action="{:url('index')}" onsubmit="return false" method="get" autocomplete="off">
<form action="{:url('index')}" 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 name="code" value="{:input('code','')}" placeholder="请输入模板编号" class="layui-input">
<input class="layui-input" name="code" placeholder="请输入模板编号" value="{:input('code','')}">
</label>
</div>
<div class="layui-form-item layui-inline">
<label class="layui-form-label">模板名称</label>
<label class="layui-input-inline">
<input name="name" value="{:input('name','')}" placeholder="请输入模板名称" class="layui-input">
<input class="layui-input" name="name" placeholder="请输入模板名称" value="{:input('name','')}">
</label>
</div>
@ -33,7 +33,7 @@
<div class="layui-form-item layui-inline">
<label class="layui-form-label">添加时间</label>
<label class="layui-input-inline">
<input data-date-range name="create_at" value="{:input('create_at','')}" placeholder="请选择添加时间" class="layui-input">
<input class="layui-input" data-date-range name="create_at" placeholder="请选择添加时间" value="{:input('create_at','')}">
</label>
</div>

View File

@ -2,7 +2,7 @@
{block name="button"}
<!--{if auth("sync")}-->
<button data-queue="{:url('sync')}" class='layui-btn layui-btn-sm layui-btn-primary'>刷新账户金额</button>
<button class='layui-btn layui-btn-sm layui-btn-primary' data-queue="{:url('sync')}">刷新账户金额</button>
<!--{/if}-->
{/block}
@ -30,10 +30,10 @@
{foreach $list as $key=>$vo}
<tr>
<td class='list-table-check-td think-checkbox'>
<label><input class="list-check-box" value='{$vo.id}' type='checkbox'></label>
<label><input class="list-check-box" type='checkbox' value='{$vo.id}'></label>
</td>
<td class="nowrap">
<div class="headimg headimg-md" data-tips-image data-lazy-src="{$vo.headimg|default='__ROOT__/static/theme/img/headimg.png'}"></div>
<div class="headimg headimg-md" data-lazy-src="{$vo.headimg|default='__ROOT__/static/theme/img/headimg.png'}" data-tips-image></div>
<div class="inline-block">
<div>
{notempty name='vo.username'}
@ -48,7 +48,7 @@
</td>
<td class="nowrap">
{notempty name='vo.from'}
<div class="headimg headimg-md" data-tips-image data-lazy-src="{$vo.from.headimg|default='__ROOT__/static/theme/img/headimg.png'}"></div>
<div class="headimg headimg-md" data-lazy-src="{$vo.from.headimg|default='__ROOT__/static/theme/img/headimg.png'}" data-tips-image></div>
<div class="inline-block text-middle">
<div>
{notempty name='vo.from.username'}
@ -98,7 +98,7 @@
<td class="nowrap">
<!--{if auth("parent") and false}-->
<a class="layui-btn layui-btn-sm layui-btn-primary" data-width="900px" data-iframe="{:url('parent')}?uid={$vo.id}">修改上级</a>
<a class="layui-btn layui-btn-sm layui-btn-primary" data-iframe="{:url('parent')}?uid={$vo.id}" data-width="900px">修改上级</a>
<!--{/if}-->
<!--{if auth("user_balance/add")}-->
@ -106,7 +106,7 @@
<!--{/if}-->
<!--{if auth("state") and $vo.status eq 1}-->
<a class="layui-btn layui-btn-sm layui-btn-danger" data-action="{:url('state')}" data-value="id#{$vo.id};status#0" data-confirm="账号冻结后将不能下单和提现,确认吗?">冻 结</a>
<a class="layui-btn layui-btn-sm layui-btn-danger" data-action="{:url('state')}" data-confirm="账号冻结后将不能下单和提现,确认吗?" data-value="id#{$vo.id};status#0">冻 结</a>
<!--{/if}-->
<!--{if auth("state") and $vo.status eq 0}-->

View File

@ -1,17 +1,17 @@
<fieldset>
<legend>条件搜索</legend>
<form class="layui-form layui-form-pane form-search" action="{:request()->url()}" onsubmit="return false" method="get" autocomplete="off">
<form action="{:request()->url()}" 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 name="phone" value="{:input('phone')}" placeholder="请输入用户手机" class="layui-input">
<input class="layui-input" name="phone" placeholder="请输入用户手机" value="{:input('phone')}">
</label>
</div>
<div class="layui-form-item layui-inline">
<label class="layui-form-label">用户昵称</label>
<label class="layui-input-inline">
<input name="username" value="{:input('username')}" placeholder="请输入用户昵称" class="layui-input">
<input class="layui-input" name="username" placeholder="请输入用户昵称" value="{:input('username')}">
</label>
</div>
@ -19,7 +19,7 @@
<div class="layui-form-item layui-inline">
<label class="layui-form-label">用户等级</label>
<div class="layui-input-inline">
<select name="vip_code" class="layui-select">
<select class="layui-select" name="vip_code">
<option value="">-- 全部 --</option>
{foreach $upgrades as $upgrade}{if input('vip_code') eq $upgrade.number}
<option selected value="{$upgrade.number|default=0}">[ {$upgrade.number|default='0'} ] {$upgrade.name|default=''}</option>
@ -34,14 +34,14 @@
<div class="layui-form-item layui-inline">
<label class="layui-form-label">推荐人手机</label>
<label class="layui-input-inline">
<input name="from_phone" value="{:input('from_phone')}" placeholder="请输入推荐人手机" class="layui-input">
<input class="layui-input" name="from_phone" placeholder="请输入推荐人手机" value="{:input('from_phone')}">
</label>
</div>
<div class="layui-form-item layui-inline">
<label class="layui-form-label">推荐人昵称</label>
<label class="layui-input-inline">
<input name="from_username" value="{:input('from_username')}" placeholder="请输入推荐人昵称" class="layui-input">
<input class="layui-input" name="from_username" placeholder="请输入推荐人昵称" value="{:input('from_username')}">
</label>
</div>
@ -49,7 +49,7 @@
<div class="layui-form-item layui-inline">
<label class="layui-form-label">推荐人等级</label>
<div class="layui-input-inline">
<select name="from_vipcode" class="layui-select">
<select class="layui-select" name="from_vipcode">
<option value="">-- 全部 --</option>
{foreach $upgrades as $upgrade}{if input('from_vipcode') eq $upgrade.number}
<option selected value="{$upgrade.number|default=0}">[ {$upgrade.number|default='0'} ] {$upgrade.name|default=''}</option>
@ -79,13 +79,13 @@
<div class="layui-form-item layui-inline">
<label class="layui-form-label">注册时间</label>
<div class="layui-input-inline">
<input data-date-range name="create_at" value="{:input('create_at','')}" placeholder="请选择注册时间" class="layui-input">
<input class="layui-input" data-date-range name="create_at" placeholder="请选择注册时间" value="{:input('create_at','')}">
</div>
</div>
<div class="layui-form-item layui-inline">
<button class="layui-btn layui-btn-primary"><i class="layui-icon">&#xe615;</i> 搜 索</button>
<button type="button" data-export-list class="layui-btn layui-btn-primary layui-hide"><i class="layui-icon layui-icon-export"></i> 导 出</button>
<button class="layui-btn layui-btn-primary layui-hide" data-export-list type="button"><i class="layui-icon layui-icon-export"></i> 导 出</button>
</div>
</form>

View File

@ -18,7 +18,7 @@
{foreach $list as $key=>$vo}
<tr>
<td class="nowrap">
<div class="headimg" data-tips-image data-lazy-src="{$vo.headimg|default='__ROOT__/static/theme/img/headimg.png'}"></div>
<div class="headimg" data-lazy-src="{$vo.headimg|default='__ROOT__/static/theme/img/headimg.png'}" data-tips-image></div>
<div class="inline-block">
<div>
{notempty name='vo.username'}
@ -33,7 +33,7 @@
</td>
<td class="nowrap">
{notempty name='vo.from'}
<div class="headimg" data-tips-image data-lazy-src="{$vo.from.headimg|default='__ROOT__/static/theme/img/headimg.png'}"></div>
<div class="headimg" data-lazy-src="{$vo.from.headimg|default='__ROOT__/static/theme/img/headimg.png'}" data-tips-image></div>
<div class="inline-block text-middle">
<!--{notempty name='vo.pids'}-->
<span class="layui-badge layui-badge-middle layui-bg-green">永久</span>

View File

@ -1,4 +1,4 @@
<form class="layui-form layui-card overhide" action="{:request()->url()}" data-auto="true" method="post" autocomplete="off">
<form action="{:request()->url()}" autocomplete="off" class="layui-form layui-card overhide" data-auto="true" method="post">
<div class="layui-card-body padding-left-40">
<fieldset class="layui-form-item">
@ -6,19 +6,19 @@
<div class="layui-row layui-col-space15">
<div class="layui-col-xs3">
<div class="layui-table">
<div class="headimg WechatUserHead" data-tips-image data-lazy-src="{$user.headimg|default='__ROOT__/static/theme/img/headimg.png'}"></div>
<div class="headimg WechatUserHead" data-lazy-src="{$user.headimg|default='__ROOT__/static/theme/img/headimg.png'}" data-tips-image></div>
</div>
</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>
<input data-bind="nickname" class="layui-input layui-bg-gray" readonly placeholder="请使用微信扫码登录" value="{$user.nickname|default=''}">
<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>
<input data-bind="openid" class="layui-input layui-bg-gray" readonly placeholder="请使用微信扫码登录" value="{$user['openid1']?:$user['openid2']}">
<input class="layui-input layui-bg-gray" data-bind="openid" placeholder="请使用微信扫码登录" readonly value="{$user['openid1']?:$user['openid2']}">
</label>
</div>
</div>
@ -27,26 +27,26 @@
<label class="layui-form-item layui-hide">
<span class="color-green font-w7">充值单号</span>
<span class="color-desc margin-left-5">Code</span>
<input class="layui-input layui-bg-gray" readonly required placeholder="请输入充值单号" name="name" value="{$vo.code|default=''}">
<input class="layui-input layui-bg-gray" name="name" 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>
<input class="layui-input" maxlength="100" required placeholder="请输入余额充值名称" name="name" value="{$vo.name|default='后台余额充值'}">
<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>
<input class="layui-input" maxlength="10" data-blur-number="2" required placeholder="请输入充值账户余额" name="amount" value="{$vo.amount|default='0.00'}">
<input class="layui-input" data-blur-number="2" maxlength="10" 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 name="vip_upgrade" class="layui-select" lay-filter="vip_upgrade">
<select class="layui-select" lay-filter="vip_upgrade" name="vip_upgrade">
<option value="0">-- 不升级 --</option>
{foreach $upgrades as $upgrade}{if isset($vo.vip_upgrade) and $vo.vip_upgrade eq $upgrade.number}
<option selected value="{$upgrade.number|default=0}">升级到 [ {$upgrade.number|default='0'} ] {$upgrade.name|default=''}</option>
@ -61,19 +61,19 @@
<span class="color-green font-w7">余额充值备注</span>
<span class="color-desc margin-left-5">Remark</span>
<label class="relative block">
<textarea class="layui-textarea" placeholder="请输入余额充值备注" name="remark">{$vo.remark|default=''}</textarea>
<textarea class="layui-textarea" name="remark" placeholder="请输入余额充值备注">{$vo.remark|default=''}</textarea>
</label>
</div>
</div>
<div class="hr-line-dashed"></div>
<input type='hidden' value='{$vo.uid|default=$user.id}' name='uid'>
{notempty name='vo.id'}<input type='hidden' value='{$vo.id}' name='id'>{/notempty}
<input name='uid' type='hidden' value='{$vo.uid|default=$user.id}'>
{notempty name='vo.id'}<input name='id' type='hidden' value='{$vo.id}'>{/notempty}
<div class="layui-form-item text-center">
<button class="layui-btn" type='submit'>保存数据</button>
<button class="layui-btn layui-btn-danger" type='button' data-confirm="确定要取消编辑吗?" data-close>取消编辑</button>
<button class="layui-btn layui-btn-danger" data-close data-confirm="确定要取消编辑吗?" type='button'>取消编辑</button>
</div>
</form>

View File

@ -2,7 +2,7 @@
{block name="button"}
<!--{if auth("remove")}-->
<button data-action='{:url("remove")}' data-rule="id#{key}" data-confirm="确定要删除这些充值记录吗?" class='layui-btn layui-btn-sm layui-btn-primary'>删除充值</button>
<button class='layui-btn layui-btn-sm layui-btn-primary' data-action='{:url("remove")}' data-confirm="确定要删除这些充值记录吗?" data-rule="id#{key}">删除充值</button>
<!--{/if}-->
{/block}
@ -30,10 +30,10 @@
{foreach $list as $key=>$vo}
<tr>
<td class='list-table-check-td think-checkbox'>
<label><input class="list-check-box" value='{$vo.id}' type='checkbox'></label>
<label><input class="list-check-box" type='checkbox' value='{$vo.id}'></label>
</td>
<td class="nowrap">
<div class="headimg headimg-md" data-tips-image data-lazy-src="{$vo.user.headimg|default='__ROOT__/static/theme/img/headimg.png'}"></div>
<div class="headimg headimg-md" data-lazy-src="{$vo.user.headimg|default='__ROOT__/static/theme/img/headimg.png'}" data-tips-image></div>
<div class="inline-block">
<div>用户昵称:<span class="color-blue">{$vo.user.nickname|default='--'}</span></div>
<div>用户手机:<span class="color-blue">{$vo.user.phone|default='--'}</span></div>
@ -56,7 +56,7 @@
</td>
<td class="nowrap">
<!--{if auth("remove") and stripos($vo.code,'B') === 0}-->
<a class="layui-btn layui-btn-sm layui-btn-danger" data-confirm="确定要删除数据吗?" data-action="{:url('remove')}" data-value="id#{$vo.id}">删 除</a>
<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>

View File

@ -1,17 +1,17 @@
<fieldset>
<legend>条件搜索</legend>
<form class="layui-form layui-form-pane form-search" action="{$request->url()}" onsubmit="return false" method="get" autocomplete="off">
<form action="{$request->url()}" 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 name="user_phone" value="{:input('user_phone')}" placeholder="请输入用户手机" class="layui-input">
<input class="layui-input" name="user_phone" placeholder="请输入用户手机" value="{:input('user_phone')}">
</label>
</div>
<div class="layui-form-item layui-inline">
<label class="layui-form-label">用户昵称</label>
<label class="layui-input-inline">
<input name="user_nickname" value="{:input('user_nickname')}" placeholder="请输入用户昵称" class="layui-input">
<input class="layui-input" name="user_nickname" placeholder="请输入用户昵称" value="{:input('user_nickname')}">
</label>
</div>
@ -19,7 +19,7 @@
<div class="layui-form-item layui-inline">
<label class="layui-form-label">升级等级</label>
<div class="layui-input-inline">
<select name="vip_upgrade" class="layui-select">
<select class="layui-select" name="vip_upgrade">
<option value="">-- 全部 --</option>
{foreach $upgrades as $upgrade}{if input('vip_upgrade') eq $upgrade.number}
<option selected value="{$upgrade.number|default=0}">[ {$upgrade.number|default='0'} ] {$upgrade.name|default=''}</option>
@ -35,7 +35,7 @@
<div class="layui-form-item layui-inline">
<label class="layui-form-label">充值名称</label>
<div class="layui-input-inline">
<select name="name" class="layui-select">
<select class="layui-select" name="name">
<option value="">-- 全部 --</option>
{foreach $names as $name}{if input('name') eq $name}
<option selected value="{$name}">{$name}</option>
@ -50,14 +50,14 @@
<div class="layui-form-item layui-inline">
<label class="layui-form-label">充值备注</label>
<label class="layui-input-inline">
<input name="remark" value="{:input('remark')}" placeholder="请输入充值备注" class="layui-input">
<input class="layui-input" name="remark" placeholder="请输入充值备注" value="{:input('remark')}">
</label>
</div>
<div class="layui-form-item layui-inline">
<label class="layui-form-label">操作时间</label>
<label class="layui-input-inline">
<input data-date-range name="create_at" value="{:input('create_at','')}" placeholder="请选择操作时间" class="layui-input">
<input class="layui-input" data-date-range name="create_at" placeholder="请选择操作时间" value="{:input('create_at','')}">
</label>
</div>

View File

@ -5,7 +5,7 @@
注意:短信接口配置的参数不能随意修改,会影响到用户注册发送短信通知功能,若有需要调整请联系客服!
</div>
<div class="think-box-shadow">
<form style="width:800px" onsubmit="return false;" data-auto="true" action="{$request->url()}" method="post" class='layui-form layui-card shadow-none' autocomplete="off">
<form action="{$request->url()}" autocomplete="off" class='layui-form layui-card shadow-none' data-auto="true" method="post" onsubmit="return false;" style="width:800px">
<div class="layui-card-body padding-left-40">
@ -23,19 +23,19 @@
<label class="layui-form-item block relative">
<span class="color-green font-w7 margin-right-10">短信授权账号</span><span class="nowrap color-desc">Username</span>
<input name="zt.username" required placeholder="请输入短信授权账号" value="{:sysconf('zt.username')}" class="layui-input">
<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>
<input name="zt.password" required placeholder="请输入短信授权密码" value="{:sysconf('zt.password')}" class="layui-input">
<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>
<input name="zt.secure_code" required placeholder="请输入短信发送安全码" value="{:sysconf('zt.secure_code')}" class="layui-input">
<input class="layui-input" name="zt.secure_code" placeholder="请输入短信发送安全码" required value="{:sysconf('zt.secure_code')}">
<span class="help-block">短信发送安全码,调用接口发短信时需要传入此参数</span>
</label>

View File

@ -2,7 +2,7 @@
{block name="button"}
<!--{if auth("remove")}-->
<button data-action='{:url("remove")}' data-rule="id#{key}" data-confirm="确实要删除这些记录吗?" class='layui-btn layui-btn-sm layui-btn-primary'>删除记录</button>
<button class='layui-btn layui-btn-sm layui-btn-primary' data-action='{:url("remove")}' data-confirm="确实要删除这些记录吗?" data-rule="id#{key}">删除记录</button>
<!--{/if}-->
{/block}
@ -28,7 +28,7 @@
{foreach $list as $key=>$vo}
<tr>
<td class='list-table-check-td think-checkbox'>
<label><input class="list-check-box" value='{$vo.id}' type='checkbox'></label>
<label><input class="list-check-box" type='checkbox' value='{$vo.id}'></label>
</td>
<td>{$vo.phone|default=''}</td>
<td>{$vo.content|default=''}</td>
@ -40,7 +40,7 @@
<td>{$vo.create_at|default=''}<br></td>
<td>
<!--{if auth("remove")}-->
<a class="layui-btn layui-btn-xs layui-btn-danger" data-confirm="确定要删除数据吗?" data-action="{:url('remove')}" data-value="id#{$vo.id}">删 除</a>
<a class="layui-btn layui-btn-xs layui-btn-danger" data-action="{:url('remove')}" data-confirm="确定要删除数据吗?" data-value="id#{$vo.id}">删 除</a>
<!--{/if}-->
</td>
</tr>

View File

@ -1,17 +1,17 @@
<fieldset>
<legend>条件搜索</legend>
<form class="layui-form layui-form-pane form-search" action="{$request->url()}" onsubmit="return false" method="get" autocomplete="off">
<form action="{$request->url()}" 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 name="phone" value="{:input('phone')}" placeholder="请输入目标手机" class="layui-input">
<input class="layui-input" name="phone" placeholder="请输入目标手机" value="{:input('phone')}">
</label>
</div>
<div class="layui-form-item layui-inline">
<label class="layui-form-label">短信内容</label>
<label class="layui-input-inline">
<input name="content" value="{:input('content')}" placeholder="请输入短信内容" class="layui-input">
<input class="layui-input" name="content" placeholder="请输入短信内容" value="{:input('content')}">
</label>
</div>
@ -33,7 +33,7 @@
<div class="layui-form-item layui-inline">
<label class="layui-form-label">发送时间</label>
<div class="layui-input-inline">
<input data-date-range name="create_at" value="{:input('create_at','')}" placeholder="请选择发送时间" class="layui-input">
<input class="layui-input" data-date-range name="create_at" placeholder="请选择发送时间" value="{:input('create_at','')}">
</div>
</div>

View File

@ -2,7 +2,7 @@
{block name='content'}
<div class="think-box-shadow">
<form class="layui-form layui-card" action="{:request()->url()}" data-auto="true" method="post" autocomplete="off">
<form action="{:request()->url()}" autocomplete="off" class="layui-form layui-card" data-auto="true" method="post">
<div class="layui-card-body padding-left-40 padding-top-30" style="width:1200px">
<!-- 结算方式 开始 -->
@ -14,9 +14,9 @@
<div class="layui-form-item">
{php} $data['settl_type'] = $data['settl_type'] ?? 1; {/php}
{foreach [1 => '支付后立即到账', 2 => '确认收货后到账'] as $key => $val}{if $data.settl_type eq $key}
<input checked class="layui-input" type="radio" name="settl_type" value="{$key}" title="{$val}">
<input checked class="layui-input" name="settl_type" title="{$val}" type="radio" value="{$key}">
{else}
<input class="layui-input" type="radio" name="settl_type" value="{$key}" title="{$val}">
<input class="layui-input" name="settl_type" title="{$val}" type="radio" value="{$key}">
{/if}{/foreach}
</div>
</fieldset>
@ -27,9 +27,9 @@
<div class="layui-form-item">
{php} $data['teams_type'] = $data['teams_type'] ?? 1; {/php}
{foreach [1 => '实时结算'] as $key=>$val}{if $data.teams_type eq $key}
<input checked class="layui-input" type="radio" name="teams_type" value="{$key}" title="{$val}">
<input checked class="layui-input" name="teams_type" title="{$val}" type="radio" value="{$key}">
{else}
<input class="layui-input" type="radio" name="teams_type" value="{$key}" title="{$val}">
<input class="layui-input" name="teams_type" title="{$val}" type="radio" value="{$key}">
{/if}{/foreach}
</div>
</fieldset>
@ -48,12 +48,12 @@
<fieldset class="block margin-0">
<legend>
{php} $key = 'equal_state_vip_'.$level['number']; {/php}
<input type="hidden" name="{$key}" value="0">
<input name="{$key}" type="hidden" value="0">
{php} $data[$key] = $data[$key] ?? 0; {/php}
{if isset($data[$key]) and $data[$key] eq 1}
<input checked type="checkbox" name="{$key}" lay-skin="switch" value="1" lay-text="已启用平推 {$level.name} 奖励|已停用平推 {$level.name} 奖励">
<input checked lay-skin="switch" lay-text="已启用平推 {$level.name} 奖励|已停用平推 {$level.name} 奖励" name="{$key}" type="checkbox" value="1">
{else}
<input type="checkbox" name="{$key}" lay-skin="switch" value="1" lay-text="已启用平推 {$level.name} 奖励|已停用平推 {$level.name} 奖励">
<input lay-skin="switch" lay-text="已启用平推 {$level.name} 奖励|已停用平推 {$level.name} 奖励" name="{$key}" type="checkbox" value="1">
{/if}
</legend>
<div class="layui-form-item">
@ -62,14 +62,14 @@
<label class="block">
{php} $key = 'equal_value_vip_1_'.$level['number']; {/php}
<span><b class="color-blue">请输入直属上级奖励金额</b><br>如:比例填写 10.00 表示 10.00 元</span>
<input class="layui-input" type="text" name="{$key}" data-blur-number="2" placeholder="请输入奖励金额" value="{$data[$key]??'0.00'}">
<input class="layui-input" data-blur-number="2" name="{$key}" placeholder="请输入奖励金额" type="text" value="{$data[$key]??'0.00'}">
</label>
</div>
<div class="layui-col-xs6">
<label class="block">
{php} $key = 'equal_value_vip_2_'.$level['number']; {/php}
<span><b class="color-blue">请输入上上级奖励金额</b><br>如:比例填写 10.00 表示 10.00 元</span>
<input class="layui-input" type="text" name="{$key}" data-blur-number="2" placeholder="请输入奖励金额" value="{$data[$key]??'0.00'}">
<input class="layui-input" data-blur-number="2" name="{$key}" placeholder="请输入奖励金额" type="text" value="{$data[$key]??'0.00'}">
</label>
</div>
</div>
@ -107,29 +107,29 @@
<fieldset class="block margin-0">
<legend>
{php} $key = 'frist_state_vip_'.$level['number'].'_'.$l['number']; {/php}
<input type="hidden" name="{$key}" value="0">
<input name="{$key}" type="hidden" value="0">
{php} $data[$key] = $data[$key] ?? 0; {/php}
{if isset($data[$key]) and $data[$key] eq 1}
<input checked type="checkbox" name="{$key}" value="1" lay-skin="switch" lay-text="已启用首推奖励|已停用首推奖励">
<input checked lay-skin="switch" lay-text="已启用首推奖励|已停用首推奖励" name="{$key}" type="checkbox" value="1">
{else}
<input type="checkbox" name="{$key}" value="1" lay-skin="switch" lay-text="已启用首推奖励|已停用首推奖励">
<input lay-skin="switch" lay-text="已启用首推奖励|已停用首推奖励" name="{$key}" type="checkbox" value="1">
{/if}
</legend>
<div class="layui-form-item">
{php} $key = 'frist_type_vip_'.$level['number'].'_'.$l['number']; {/php}
<input type="hidden" name="{$key}" value="1">
<input name="{$key}" type="hidden" value="1">
{php} $data[$key] = $data[$key] ?? 1; {/php}
{foreach [1 => '奖励固定金额 / 每单',2 => '按订单参与的返利金额比例'] as $k => $v}
{if isset($data[$key]) and $data[$key] eq $k}
<input checked class="layui-input" type="radio" name="{$key}" value="{$k}" title="{$v}">
<input checked class="layui-input" name="{$key}" title="{$v}" type="radio" value="{$k}">
{else}
<input class="layui-input" type="radio" name="{$key}" value="{$k}" title="{$v}">
<input class="layui-input" name="{$key}" title="{$v}" type="radio" value="{$k}">
{/if}{/foreach}
{php} $key = 'frist_value_vip_'.$level['number'].'_'.$l['number']; {/php}
<input type="hidden" name="{$key}" value="0.0000">
<input name="{$key}" type="hidden" value="0.0000">
<label class="block relative">
<span class="color-blue"><b>请输入奖励金额或返利金额比例</b> 如:比例填写 10.00 表示 10.00% 或 10.00 元 </span>
<input class="layui-input" type="text" name="{$key}" data-blur-number="4" placeholder="请输入奖励金额或返利金额比例" value="{$data[$key]??'0.00000'}">
<input class="layui-input" data-blur-number="4" name="{$key}" placeholder="请输入奖励金额或返利金额比例" type="text" value="{$data[$key]??'0.00000'}">
</label>
</div>
</fieldset>
@ -138,12 +138,12 @@
<fieldset class="block margin-0">
<legend>
{php} $key = 'repeat_state_vip_'.$level['number'].'_'.$l['number']; {/php}
<input type="hidden" name="{$key}" value="0">
<input name="{$key}" type="hidden" value="0">
{php} $data[$key] = $data[$key] ?? 0; {/php}
{if isset($data[$key]) and $data[$key] eq 1}
<input checked type="checkbox" name="{$key}" value="1" lay-skin="switch" lay-text="已启用复购奖励|已停用复购奖励">
<input checked lay-skin="switch" lay-text="已启用复购奖励|已停用复购奖励" name="{$key}" type="checkbox" value="1">
{else}
<input type="checkbox" name="{$key}" value="1" lay-skin="switch" lay-text="已启用复购奖励|已停用复购奖励">
<input lay-skin="switch" lay-text="已启用复购奖励|已停用复购奖励" name="{$key}" type="checkbox" value="1">
{/if}
</legend>
<div class="layui-form-item">
@ -151,14 +151,14 @@
{php} $data[$key] = $data[$key] ?? 1; {/php}
{foreach [1 => '奖励固定金额 / 每单', 2 => '按订单参与的返利金额比例'] as $k => $v}
{if isset($data[$key]) and $data[$key] eq $k}
<input checked class="layui-input" type="radio" name="{$key}" value="{$k}" title="{$v}">
<input checked class="layui-input" name="{$key}" title="{$v}" type="radio" value="{$k}">
{else}
<input class="layui-input" type="radio" name="{$key}" value="{$k}" title="{$v}">
<input class="layui-input" name="{$key}" title="{$v}" type="radio" value="{$k}">
{/if}{/foreach}
{php} $key = 'repeat_value_vip_'.$level['number'].'_'.$l['number']; {/php}
<label class="block relative">
<span class="color-blue"><b>请输入奖励金额或返利金额比例</b> 如:比例填写 10.00 表示 10.00% 或 10.00 元 </span>
<input class="layui-input" type="text" name="{$key}" data-blur-number="4" placeholder="请输入奖励金额或返利金额比例" value="{$data[$key]??'0.0000'}">
<input class="layui-input" data-blur-number="4" name="{$key}" placeholder="请输入奖励金额或返利金额比例" type="text" value="{$data[$key]??'0.0000'}">
</label>
</div>
</fieldset>
@ -174,20 +174,20 @@
<fieldset class="block">
<legend>
{php} $key = 'direct_state_vip_'.$level['number']; {/php}
<input type="hidden" name="{$key}" value="0">
<input name="{$key}" type="hidden" value="0">
{php} $data[$key] = $data[$key] ?? 0; {/php}
{if isset($data[$key]) and $data[$key] eq 1}
<input checked type="checkbox" name="{$key}" value="1" lay-skin="switch" lay-text="已启用 {$level.name} 的直属团队奖励|已停用 {$level.name} 的直属团队奖励">
<input checked lay-skin="switch" lay-text="已启用 {$level.name} 的直属团队奖励|已停用 {$level.name} 的直属团队奖励" name="{$key}" type="checkbox" value="1">
{else}
<input type="checkbox" name="{$key}" value="1" lay-skin="switch" lay-text="已启用 {$level.name} 的直属团队奖励|已停用 {$level.name} 的直属团队奖励">
<input lay-skin="switch" lay-text="已启用 {$level.name} 的直属团队奖励|已停用 {$level.name} 的直属团队奖励" name="{$key}" type="checkbox" value="1">
{/if}
</legend>
<div class="layui-form-item">
{php} $key = 'direct_value_vip_'.$level['number']; {/php}
<input class="layui-input" type="hidden" name="direct_type_vip_{$level.number}" value="2">
<input class="layui-input" name="direct_type_vip_{$level.number}" type="hidden" value="2">
<label class="block nowrap">
<span class="color-blue"><b>请输入团队业绩金额比例</b> 如:比例填写 10.00 表示 10.00% </span>
<input class="layui-input" type="text" name="{$key}" data-blur-number="4" placeholder="请输入奖励金额或返利金额比例" value="{$data[$key]??'0.0000'}">
<input class="layui-input" data-blur-number="4" name="{$key}" placeholder="请输入奖励金额或返利金额比例" type="text" value="{$data[$key]??'0.0000'}">
</label>
</div>
</fieldset>
@ -196,20 +196,20 @@
<fieldset class="block">
<legend>
{php} $key = 'indirect_state_vip_'.$level['number']; {/php}
<input type="hidden" name="{$key}" value="0">
<input name="{$key}" type="hidden" value="0">
{php} $data[$key] = $data[$key] ?? 0; {/php}
{if isset($data[$key]) and $data[$key] eq 1}
<input checked type="checkbox" name="{$key}" lay-skin="switch" value="1" lay-text="已启用 {$level.name} 的间接团队奖励|已停用 {$level.name} 的间接团队奖励">
<input checked lay-skin="switch" lay-text="已启用 {$level.name} 的间接团队奖励|已停用 {$level.name} 的间接团队奖励" name="{$key}" type="checkbox" value="1">
{else}
<input type="checkbox" name="{$key}" lay-skin="switch" value="1" lay-text="已启用 {$level.name} 的间接团队奖励|已停用 {$level.name} 的间接团队奖励">
<input lay-skin="switch" lay-text="已启用 {$level.name} 的间接团队奖励|已停用 {$level.name} 的间接团队奖励" name="{$key}" type="checkbox" value="1">
{/if}
</legend>
<div class="layui-form-item nowrap">
{php} $key = 'indirect_value_vip_'.$level['number']; {/php}
<input class="layui-input" type="hidden" name="indirect_type_vip_{$level.number}" value="2">
<input class="layui-input" name="indirect_type_vip_{$level.number}" type="hidden" value="2">
<label class="block">
<span class="color-blue"><b>请输入团队业绩金额比例</b> 如:比例填写 10.00 表示 10.00% </span>
<input class="layui-input" type="text" name="{$key}" data-blur-number="4" placeholder="请输入奖励金额或返利金额比例" value="{$data[$key]??'0.0000'}">
<input class="layui-input" data-blur-number="4" name="{$key}" placeholder="请输入奖励金额或返利金额比例" type="text" value="{$data[$key]??'0.0000'}">
</label>
</div>
</fieldset>
@ -220,29 +220,29 @@
<fieldset class="block">
<legend>
{php} $key = 'upgrade_state_vip_'.$level['number']; {/php}
<input type="hidden" name="{$key}" value="0">
<input name="{$key}" type="hidden" value="0">
{php} $data[$key] = $data[$key] ?? 0; {/php}
{if isset($data[$key]) and $data[$key] eq 1}
<input checked type="checkbox" name="{$key}" lay-skin="switch" value="1" lay-text="已启用用户升级 {$level.name} 奖励|已停用用户升级 {$level.name} 奖励">
<input checked lay-skin="switch" lay-text="已启用用户升级 {$level.name} 奖励|已停用用户升级 {$level.name} 奖励" name="{$key}" type="checkbox" value="1">
{else}
<input type="checkbox" name="{$key}" lay-skin="switch" value="1" lay-text="已启用用户升级 {$level.name} 奖励|已停用用户升级 {$level.name} 奖励">
<input lay-skin="switch" lay-text="已启用用户升级 {$level.name} 奖励|已停用用户升级 {$level.name} 奖励" name="{$key}" type="checkbox" value="1">
{/if}
</legend>
<div class="layui-form-item nowrap">
{php} $key = 'upgrade_type_vip_'.$level['number'].'_'.$l['number']; {/php}
<input type="hidden" name="{$key}" value="1">
<input name="{$key}" type="hidden" value="1">
{php} $data[$key] = $data[$key] ?? 1; {/php}
{foreach [1 => '奖励固定金额 / 每单',2 => '按订单参与的返利金额比例'] as $k => $v}
{if isset($data[$key]) and $data[$key] eq $k}
<input checked class="layui-input" type="radio" name="{$key}" value="{$k}" title="{$v}">
<input checked class="layui-input" name="{$key}" title="{$v}" type="radio" value="{$k}">
{else}
<input class="layui-input" type="radio" name="{$key}" value="{$k}" title="{$v}">
<input class="layui-input" name="{$key}" title="{$v}" type="radio" value="{$k}">
{/if}{/foreach}
{php} $key = 'upgrade_value_vip_'.$level['number']; {/php}
<input class="layui-input" type="hidden" name="upgrade_type_vip_{$level.number}" value="2">
<input class="layui-input" name="upgrade_type_vip_{$level.number}" type="hidden" value="2">
<label class="block">
<span class="color-blue"><b>请输入固定奖励金额</b> 如:比例填写 10.00 表示 10.00 元或 10.00% <b class="color-red">仅针对订单升级有效!</b></span>
<input class="layui-input" type="text" name="{$key}" data-blur-number="4" placeholder="请输入奖励金额或返利金额比例" value="{$data[$key]??'0.0000'}">
<input class="layui-input" data-blur-number="4" name="{$key}" placeholder="请输入奖励金额或返利金额比例" type="text" value="{$data[$key]??'0.0000'}">
</label>
</div>
</fieldset>
@ -251,12 +251,12 @@
<fieldset class="block">
<legend>
{php} $key = 'manage_state_vip_'.$level['number']; {/php}
<input type="hidden" name="{$key}" value="0">
<input name="{$key}" type="hidden" value="0">
{php} $data[$key] = $data[$key] ?? 0; {/php}
{if isset($data[$key]) and $data[$key] eq 1}
<input checked type="checkbox" name="{$key}" lay-skin="switch" value="1" lay-text="已启用用户 {$level.name} 管理奖励|已停用用户 {$level.name} 管理奖励">
<input checked lay-skin="switch" lay-text="已启用用户 {$level.name} 管理奖励|已停用用户 {$level.name} 管理奖励" name="{$key}" type="checkbox" value="1">
{else}
<input type="checkbox" name="{$key}" lay-skin="switch" value="1" lay-text="已启用用户 {$level.name} 管理奖励|已停用用户 {$level.name} 管理奖励">
<input lay-skin="switch" lay-text="已启用用户 {$level.name} 管理奖励|已停用用户 {$level.name} 管理奖励" name="{$key}" type="checkbox" value="1">
{/if}
</legend>
<div class="layui-form-item nowrap">
@ -264,14 +264,14 @@
{php} $data[$key] = $data[$key] ?? 1; {/php}
{foreach [1 => '不累计未发管理奖金额', 2 => '累计未发放管理奖金'] as $k => $v}
{if isset($data[$key]) and $data[$key] eq $k}
<input checked class="layui-input" type="radio" name="{$key}" value="{$k}" title="{$v}">
<input checked class="layui-input" name="{$key}" title="{$v}" type="radio" value="{$k}">
{else}
<input class="layui-input" type="radio" name="{$key}" value="{$k}" title="{$v}">
<input class="layui-input" name="{$key}" title="{$v}" type="radio" value="{$k}">
{/if}{/foreach}
<label class="block">
{php} $key = 'manage_value_vip_'.$level['number']; {/php}
<span class="color-blue"><b>请输入固定奖励金额</b> 如:比例填写 10.00 表示 10.00 元 </span>
<input class="layui-input" type="text" name="{$key}" data-blur-number="4" placeholder="请输入奖励金额或返利金额比例" value="{$data[$key]??'0.0000'}">
<input class="layui-input" data-blur-number="4" name="{$key}" placeholder="请输入奖励金额或返利金额比例" type="text" value="{$data[$key]??'0.0000'}">
</label>
</div>
</fieldset>
@ -286,7 +286,7 @@
<div class="layui-form-item text-center margin-top-30">
<button class="layui-btn" type='submit'>保存配置</button>
<button class="layui-btn layui-btn-danger" type='button' data-confirm="确定要取消编辑吗?" data-history-back>取消编辑</button>
<button class="layui-btn layui-btn-danger" data-confirm="确定要取消编辑吗?" data-history-back type='button'>取消编辑</button>
</div>
</div>

View File

@ -30,11 +30,11 @@
{foreach $list as $key=>$vo}
<tr>
<td class='list-table-check-td think-checkbox'>
<label><input class="list-check-box" value='{$vo.id}' type='checkbox'></label>
<label><input class="list-check-box" type='checkbox' value='{$vo.id}'></label>
</td>
<td class="text-left nowrap relative">
{notempty name='vo.agent.headimg'}
<div class="headimg headimg-md" data-tips-image data-lazy-src="{$vo.agent.headimg|default='__ROOT__/static/theme/img/headimg.png'}"></div>
<div class="headimg headimg-md" data-lazy-src="{$vo.agent.headimg|default='__ROOT__/static/theme/img/headimg.png'}" data-tips-image></div>
{/notempty}
<div class="inline-block text-middle">
代理昵称:{$vo.agent.nickname|default='--'}<br>
@ -44,7 +44,7 @@
</td>
<td class="text-left nowrap relative">
{notempty name='vo.user.headimg'}
<div class="headimg headimg-md" data-tips-image data-lazy-src="{$vo.user.headimg|default='__ROOT__/static/theme/img/headimg.png'}"></div>
<div class="headimg headimg-md" data-lazy-src="{$vo.user.headimg|default='__ROOT__/static/theme/img/headimg.png'}" data-tips-image></div>
{/notempty}
<div class="inline-block text-middle">
用户昵称:{$vo.user.nickname|default='--'}<br>

View File

@ -1,34 +1,34 @@
<fieldset>
<legend>条件搜索</legend>
<form class="layui-form layui-form-pane form-search" action="{:request()->url()}" onsubmit="return false" method="get" autocomplete="off">
<form action="{:request()->url()}" 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 name="agent_nickname" value="{:input('agent_nickname','')}" placeholder="请输入代理昵称" class="layui-input">
<input class="layui-input" name="agent_nickname" placeholder="请输入代理昵称" value="{:input('agent_nickname','')}">
</label>
</div>
<div class="layui-form-item layui-inline">
<label class="layui-form-label">代理手机</label>
<label class="layui-input-inline">
<input name="agent_phone" value="{:input('agent_phone','')}" placeholder="请输入代理手机" class="layui-input">
<input class="layui-input" name="agent_phone" placeholder="请输入代理手机" value="{:input('agent_phone','')}">
</label>
</div>
<div class="layui-form-item layui-inline">
<label class="layui-form-label">用户昵称</label>
<label class="layui-input-inline">
<input name="order_nickname" value="{:input('order_nickname','')}" placeholder="请输入用户昵称" class="layui-input">
<input class="layui-input" name="order_nickname" placeholder="请输入用户昵称" value="{:input('order_nickname','')}">
</label>
</div>
<div class="layui-form-item layui-inline">
<label class="layui-form-label">用户手机</label>
<label class="layui-input-inline">
<input name="order_phone" value="{:input('order_phone','')}" placeholder="请输入用户手机" class="layui-input">
<input class="layui-input" name="order_phone" placeholder="请输入用户手机" value="{:input('order_phone','')}">
</label>
</div>
<div class="layui-form-item layui-inline">
<label class="layui-form-label">订单单号</label>
<label class="layui-input-inline">
<input name="order_no" value="{:input('order_no','')}" placeholder="请输入订单单号" class="layui-input">
<input class="layui-input" name="order_no" placeholder="请输入订单单号" value="{:input('order_no','')}">
</label>
</div>
<div class="layui-form-item layui-inline">
@ -47,13 +47,13 @@
<div class="layui-form-item layui-inline">
<label class="layui-form-label">返利描述</label>
<label class="layui-input-inline">
<input name="name" value="{:input('name','')}" placeholder="请输入返利描述" class="layui-input">
<input class="layui-input" name="name" placeholder="请输入返利描述" value="{:input('name','')}">
</label>
</div>
<div class="layui-form-item layui-inline">
<label class="layui-form-label">返佣时间</label>
<div class="layui-input-inline">
<input data-date-range name="create_at" value="{:input('create_at','')}" placeholder="请选择返佣时间" class="layui-input">
<input class="layui-input" data-date-range name="create_at" placeholder="请选择返佣时间" value="{:input('create_at','')}">
</div>
</div>
<div class="layui-form-item layui-inline">

View File

@ -1,4 +1,4 @@
<form class="layui-form layui-card" action="{:request()->url()}" data-auto="true" method="post" autocomplete="off">
<form action="{:request()->url()}" autocomplete="off" class="layui-form layui-card" data-auto="true" method="post">
<div class="layui-card-body padding-left-40">
@ -6,19 +6,19 @@
<div class="layui-row layui-form-item layui-col-space15">
<label class="layui-col-xs3">
<span class="color-green font-w7">提现单号</span>
<input disabled class='layui-input layui-disabled layui-bg-gray' value='{$vo.code|default="-"}'>
<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>
<input disabled class='layui-input layui-disabled layui-bg-gray' value='{$vo.amount|default="0.00"}'>
<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>
<input disabled class='layui-input layui-disabled layui-bg-gray' value='{$vo.charge_amount|default="0.00"}'>
<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>
<input disabled class='layui-input layui-disabled layui-bg-gray' value='{$vo.type|default="-"}'>
<input class='layui-input layui-disabled layui-bg-gray' disabled value='{$vo.type|default="-"}'>
</label>
</div>
@ -26,7 +26,7 @@
{in name='vo.type' value='wechat_qrcode,alipay_qrcode'}
<fieldset class="layui-form-item">
<legend><span class="layui-badge layui-bg-blue">付款二维码</span></legend>
<div data-tips-image style="height:300px" data-lazy-src="{$vo.qrcode}"></div>
<div data-lazy-src="{$vo.qrcode}" data-tips-image style="height:300px"></div>
</fieldset>
{/in}
@ -35,11 +35,11 @@
<div class="layui-row layui-form-item layui-col-space15">
<label class="layui-col-xs3">
<span class="color-green font-w7">支付宝姓名</span>
<input disabled class='layui-input layui-disabled layui-bg-gray' value='{$vo.alipay_user|default="0.00"}'>
<input class='layui-input layui-disabled layui-bg-gray' disabled value='{$vo.alipay_user|default="0.00"}'>
</label>
<label class="layui-col-xs3">
<span class="color-green font-w7">支付宝账号</span>
<input disabled class='layui-input layui-disabled layui-bg-gray' value='{$vo.alipay_code|default="0.00"}'>
<input class='layui-input layui-disabled layui-bg-gray' disabled value='{$vo.alipay_code|default="0.00"}'>
</label>
</div>
{/in}
@ -49,19 +49,19 @@
<div class="layui-row layui-form-item layui-col-space15">
<label class="layui-col-xs3">
<span class="color-green font-w7">开户银行名称</span>
<input disabled class='layui-input layui-disabled layui-bg-gray' value='{$vo.bank_name|default="-"}'>
<input class='layui-input layui-disabled layui-bg-gray' disabled value='{$vo.bank_name|default="-"}'>
</label>
<label class="layui-col-xs3">
<span class="color-green font-w7">开户分行名称</span>
<input disabled class='layui-input layui-disabled layui-bg-gray' value='{$vo.bank_bran|default="-"}'>
<input class='layui-input layui-disabled layui-bg-gray' disabled value='{$vo.bank_bran|default="-"}'>
</label>
<label class="layui-col-xs3">
<span class="color-green font-w7">开户账号姓名</span>
<input disabled class='layui-input layui-disabled layui-bg-gray' value='{$vo.bank_user|default="-"}'>
<input class='layui-input layui-disabled layui-bg-gray' disabled value='{$vo.bank_user|default="-"}'>
</label>
<label class="layui-col-xs3">
<span class="color-green font-w7">开户银行卡号</span>
<input disabled class='layui-input layui-disabled layui-bg-gray' value='{$vo.bank_code|default="-"}'>
<input class='layui-input layui-disabled layui-bg-gray' disabled value='{$vo.bank_code|default="-"}'>
</label>
</div>
{/in}
@ -99,9 +99,9 @@
<div class="layui-textarea" style="min-height:auto;padding:10px 0 13px 18px">
{foreach($types as $k => $v)}{if $k eq $vo.status}
<input checked type="radio" name="status" value='{$k}' title="{$v}">
<input checked name="status" title="{$v}" type="radio" value='{$k}'>
{else}
<input type="radio" name="status" value='{$k}' title="{$v}">
<input name="status" title="{$v}" type="radio" value='{$k}'>
{/if}{/foreach}
</div>
</div>
@ -109,18 +109,18 @@
<div class="layui-form-item">
<label class="relative block">
<span class="color-green font-w7">审核操作描述</span>
<textarea class="layui-textarea" placeholder="请输入审核描述" name="remark">{$vo.remark|default=''}</textarea>
<textarea class="layui-textarea" name="remark" placeholder="请输入审核描述">{$vo.remark|default=''}</textarea>
</label>
</div>
</div>
<div class="hr-line-dashed"></div>
{notempty name='vo.id'}<input type='hidden' value='{$vo.id}' name='id'>{/notempty}
{notempty name='vo.id'}<input name='id' type='hidden' value='{$vo.id}'>{/notempty}
<div class="layui-form-item text-center">
<button class="layui-btn" type='submit'>保存数据</button>
<button class="layui-btn layui-btn-danger" type='button' data-confirm="确定要取消编辑吗?" data-close>取消编辑</button>
<button class="layui-btn layui-btn-danger" data-close data-confirm="确定要取消编辑吗?" type='button'>取消编辑</button>
</div>
</form>

View File

@ -22,7 +22,7 @@
}
</style>
<form class="layui-form layui-card" action="{:request()->url()}" data-auto="true" method="post" autocomplete="off">
<form action="{:request()->url()}" autocomplete="off" 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">
@ -32,9 +32,9 @@
{php} $data['status'] = $data['status'] ?? 0; {/php}
{foreach ['关闭返利提现', '开启返利提现'] as $k => $v}
{if $data.status eq $k}
<input checked class="layui-input layui-bg-gray" type="radio" title="{$v}" name="status" value="{$k}">
<input checked class="layui-input layui-bg-gray" name="status" title="{$v}" type="radio" value="{$k}">
{else}
<input class="layui-input layui-bg-gray" type="radio" title="{$v}" name="status" value="{$k}">
<input class="layui-input layui-bg-gray" name="status" title="{$v}" type="radio" value="{$k}">
{/if}{/foreach}
</div>
</div>
@ -42,7 +42,7 @@
<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 name="charge" class='layui-input' data-value-min="0.0000" data-value-max="50.0000" data-blur-number="4" value='{$data.charge|default="0.0000"}'>
<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-block'>请输入提现金额的百分比,费率的取值范围为 0.0000% - 50.0000%</span>
</label>
@ -66,23 +66,23 @@
<tr class="think-bg-white">
<td class="nowrap padding-col-5">
{php} $key = 'transfer['.$k.']["state"]'; {/php}
<input type="hidden" name="{$key}" value="0">
<input name="{$key}" type="hidden" value="0">
{if isset($data['transfer'][$k]['state']) and $data['transfer'][$k]['state'] eq 1}
<input checked type="checkbox" name="{$key}" value="1" lay-skin="primary" title="{$t}">
<input checked lay-skin="primary" name="{$key}" title="{$t}" type="checkbox" value="1">
{else}
<input type="checkbox" name="{$key}" value="1" lay-skin="primary" title="{$t}">
<input lay-skin="primary" name="{$key}" title="{$t}" type="checkbox" value="1">
{/if}
</td>
<td class="text-center padding-col-5" style="width:80px">
{php} $key = 'transfer['.$k.']["audit"]'; {/php}
<input type="hidden" name="{$key}" value="0">
<input name="{$key}" type="hidden" value="0">
{if isset($data['transfer'][$k]['audit']) and $data['transfer'][$k]['audit'] eq 1}
<input checked type="checkbox" name="{$key}" value="1" lay-skin="switch" lay-text="需审核|免审核">
<input checked lay-skin="switch" lay-text="需审核|免审核" name="{$key}" type="checkbox" value="1">
{else}
<input type="checkbox" name="{$key}" value="1" lay-skin="switch" lay-text="需审核|免审核">
<input lay-skin="switch" lay-text="需审核|免审核" name="{$key}" type="checkbox" value="1">
{/if}
{php} $key = 'transfer['.$k.'][title]'; {/php}
<input type="hidden" class="layui-input" name="{$key}" value="{$t}">
<input class="layui-input" name="{$key}" type="hidden" value="{$t}">
</td>
<td class="text-center transfer-image">
{php} $key = 'transfer['.$k.'][image]'; {/php}
@ -92,20 +92,20 @@
<td class="text-center padding-col-5">
<label>
{php} $key = 'transfer['.$k.'][minAmount]'; {/php}
<input placeholder="¥" class="layui-input" data-value-min="0.00" data-blur-number="2" name="{$key}" value="{$data['transfer'][$k]['minAmount'] ?? '1.00'}">
<input class="layui-input" data-blur-number="2" data-value-min="0.00" name="{$key}" placeholder="¥" value="{$data['transfer'][$k]['minAmount'] ?? '1.00'}">
</label>
</td>
<td class="text-center padding-col-5">-</td>
<td class="text-center padding-col-5">
<label>
{php} $key = 'transfer['.$k.'][maxAmount]'; {/php}
<input placeholder="¥" class="layui-input" data-value-max="100000.00" data-blur-number="2" name="{$key}" value="{$data['transfer'][$k]['maxAmount'] ?? '2000.00'}">
<input class="layui-input" data-blur-number="2" data-value-max="100000.00" name="{$key}" placeholder="¥" value="{$data['transfer'][$k]['maxAmount'] ?? '2000.00'}">
</label>
</td>
<td class="text-center padding-col-5">
<label>
{php} $key = 'transfer['.$k.'][dayNumber]'; {/php}
<input class="layui-input text-center padding-left-0" data-blur-number="0" data-value-min="1" data-value-max="100" name="{$key}" value="{$data['transfer'][$k]['dayNumber'] ?? '1'}">
<input class="layui-input text-center padding-left-0" data-blur-number="0" data-value-max="100" data-value-min="1" name="{$key}" value="{$data['transfer'][$k]['dayNumber'] ?? '1'}">
</label>
</td>
</tr>
@ -118,7 +118,7 @@
<span class="color-green font-w7">用户提现描述内容</span>
<span class="color-desc margin-left-5">Transfer Remark</span>
<label class="relative block">
<textarea class="layui-textarea" placeholder="请输入用户提现描述内容" name="remark">{$data.remark|default=''}</textarea>
<textarea class="layui-textarea" name="remark" placeholder="请输入用户提现描述内容">{$data.remark|default=''}</textarea>
</label>
</div>
@ -128,7 +128,7 @@
<div class="layui-form-item text-center">
<button class="layui-btn" type='submit'>保存数据</button>
<button class="layui-btn layui-btn-danger" type='button' data-confirm="确定要取消编辑吗?" data-close>取消编辑</button>
<button class="layui-btn layui-btn-danger" data-close data-confirm="确定要取消编辑吗?" type='button'>取消编辑</button>
</div>
<script>layui.form.render();</script>

View File

@ -2,7 +2,7 @@
{block name="button"}
<!--{if auth('config')}-->
<a class="layui-btn layui-btn-sm layui-btn-primary" data-width="850px" data-modal="{:url('config')}">用户提现配置</a>
<a class="layui-btn layui-btn-sm layui-btn-primary" data-modal="{:url('config')}" data-width="850px">用户提现配置</a>
<!--{/if}-->
<!--{if auth('payment')}-->
@ -40,10 +40,10 @@
{foreach $list as $key => $vo}
<tr>
<td class='list-table-check-td think-checkbox'>
<label><input class="list-check-box" value='{$vo.id}' type='checkbox'></label>
<label><input class="list-check-box" type='checkbox' value='{$vo.id}'></label>
</td>
<td class="nowrap">
<div class="headimg headimg-md" data-tips-image data-lazy-src="{$vo.user.headimg|default='__ROOT__/static/theme/img/headimg.png'}"></div>
<div class="headimg headimg-md" data-lazy-src="{$vo.user.headimg|default='__ROOT__/static/theme/img/headimg.png'}" data-tips-image></div>
<div class="inline-block sub-span-blue">
<div>
<!--{notempty name='vo.user.username'}-->
@ -82,7 +82,7 @@
{/in}
{in name='vo.type' value='wechat_qrcode,alipay_qrcode'}
<div data-tips-image class="headimg headimg-md" data-lazy-src="{$vo.qrcode}"></div>
<div class="headimg headimg-md" data-lazy-src="{$vo.qrcode}" data-tips-image></div>
{/in}
{in name='vo.type' value='alipay_account'}

View File

@ -1,18 +1,18 @@
<fieldset>
<legend>条件搜索</legend>
<form class="layui-form layui-form-pane form-search" action="{:request()->url()}" onsubmit="return false" method="get" autocomplete="off">
<form action="{:request()->url()}" 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 name="phone" value="{:input('phone')}" placeholder="请输入用户手机" class="layui-input">
<input class="layui-input" name="phone" placeholder="请输入用户手机" value="{:input('phone')}">
</label>
</div>
<div class="layui-form-item layui-inline">
<label class="layui-form-label">用户昵称</label>
<label class="layui-input-inline">
<input name="nickname" value="{:input('nickname')}" placeholder="请输入用户昵称" class="layui-input">
<input class="layui-input" name="nickname" placeholder="请输入用户昵称" value="{:input('nickname')}">
</label>
</div>
@ -49,7 +49,7 @@
<div class="layui-form-item layui-inline">
<label class="layui-form-label">申请时间</label>
<div class="layui-input-inline">
<input data-date-range name="create_at" value="{:input('create_at')}" placeholder="请选择申请时间" class="layui-input">
<input class="layui-input" data-date-range name="create_at" placeholder="请选择申请时间" value="{:input('create_at')}">
</div>
</div>

View File

@ -1,4 +1,4 @@
<form class="layui-form layui-card" action="{:request()->url()}" data-auto="true" method="post" autocomplete="off">
<form action="{:request()->url()}" autocomplete="off" class="layui-form layui-card" data-auto="true" method="post">
<div class="layui-card-body padding-left-40">
<div class="layui-form-item block relative">
@ -8,9 +8,9 @@
{php} $data['wechat_type'] = $data['wechat_type'] ?? 'normal'; {/php}
{foreach ['normal'=>'兼容模式', 'wxapp'=>'微信小程序', 'wechat'=>'微信服务号'] as $k=>$v}
{if $k eq $data.wechat_type}
<input checked type='radio' name="wechat_type" value="{$k}" title="{$v}">
<input checked name="wechat_type" title="{$v}" type='radio' value="{$k}">
{else}
<input type='radio' name="wechat_type" value="{$k}" title="{$v}">
<input name="wechat_type" title="{$v}" type='radio' value="{$k}">
{/if}{/foreach}
</div>
<span class="help-block">请选择正确的转账通道,以决定用户 OPENID 字段,兼容模式会自动选择通道</span>
@ -19,26 +19,26 @@
<label class="layui-form-item block relative">
<span class="color-green font-w7">微信商户号</span>
<span class="color-desc margin-left-5">WeChat Payment Number</span>
<input name="wechat_mch_id" maxlength="50" required placeholder="请输入微信商户号MCH_ID必填" value="{$data.wechat_mch_id|default=''}" class="layui-input">
<input class="layui-input" maxlength="50" name="wechat_mch_id" placeholder="请输入微信商户号MCH_ID必填" required value="{$data.wechat_mch_id|default=''}">
<span class="help-block">微信商户编号,需要在微信商户平台获取,微信商户号 与 公众号APPID 匹配</span>
</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>
<input name="wechat_mch_key" required maxlength="32" pattern=".{32}" placeholder="请输入32位微信商户密钥必填" value="{$data.wechat_mch_key|default=''}" class="layui-input">
<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>
<textarea required name="wechat_mch_key_text" placeholder="请输入微信商户 KEY 密钥内容" class="layui-textarea">{$data.wechat_mch_key_text|default=''}</textarea>
<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>
<textarea required name="wechat_mch_cert_text" placeholder="请输入微信商户 CERT 证书内容" class="layui-textarea">{$data.wechat_mch_cert_text|default=''}</textarea>
<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>
@ -48,7 +48,7 @@
<div class="layui-form-item text-center">
<button class="layui-btn" type='submit'>保存数据</button>
<button class="layui-btn layui-btn-danger" type='button' data-confirm="确定要取消编辑吗?" data-close>取消编辑</button>
<button class="layui-btn layui-btn-danger" data-close data-confirm="确定要取消编辑吗?" type='button'>取消编辑</button>
</div>
</form>
<script>form.render();</script>