This commit is contained in:
manghe 2025-04-02 14:56:13 +00:00
parent cbb67fdd5a
commit b2a25c39f9
19 changed files with 1518 additions and 1140 deletions

View File

@ -478,7 +478,7 @@ class Cardextractor extends Base
// if (!$goods) { // if (!$goods) {
// return $this->renderError("请求参数错误"); // return $this->renderError("请求参数错误");
// } // }
$data = Shang::where('id','<',39) ->order('sort desc,id asc') $data = Shang::where('id','<',39)->whereOr('id','>',113) ->order('id desc')
->select()->toArray(); ->select()->toArray();
#概率 #概率
$pro = array_sum(array_column($data, 'pro')); $pro = array_sum(array_column($data, 'pro'));
@ -495,25 +495,25 @@ class Cardextractor extends Base
public function card_shang_add(Request $request) public function card_shang_add(Request $request)
{ {
if (!$request->isPost()) { if (!$request->isPost()) {
$goods_id = request()->param('goods_id/d', 0); // $goods_id = request()->param('goods_id/d', 0);
$goods = GoodsModel::where(['id' => $goods_id])->find(); // $goods = GoodsModel::where(['id' => $goods_id])->find();
if (!$goods) { // if (!$goods) {
return $this->renderError("请求参数错误"); // return $this->renderError("请求参数错误");
} // }
if ($goods['type'] != 4) { // if ($goods['type'] != 4) {
return $this->renderError("请求参数错误1"); // return $this->renderError("请求参数错误1");
} // }
View::assign('goods_id', $goods_id); View::assign('goods_id', 0);
return View::fetch("Cardextractor/card_shang_add"); return View::fetch("Cardextractor/card_shang_add");
} else { } else {
$data = input('post.'); $data = input('post.');
if (empty($data['goods_id'])) { // if (empty($data['goods_id'])) {
return $this->renderError("请求参数错误"); // return $this->renderError("请求参数错误");
} // }
$goods = GoodsModel::where(['id' => $data['goods_id']])->find(); // $goods = GoodsModel::where(['id' => $data['goods_id']])->find();
if (!$goods) { // if (!$goods) {
return $this->renderError("请求参数错误1"); // return $this->renderError("请求参数错误1");
} // }
if (empty($data['title'])) { if (empty($data['title'])) {
return $this->renderError("请输入等级名称"); return $this->renderError("请输入等级名称");
} }
@ -523,9 +523,9 @@ class Cardextractor extends Base
if (RegZero($data['sort'])) { if (RegZero($data['sort'])) {
return $this->renderError("排序输入不规范,请输入整数"); return $this->renderError("排序输入不规范,请输入整数");
} }
if (empty($data['imgurl'])) { // if (empty($data['imgurl'])) {
return $this->renderError("请上传等级图标"); // return $this->renderError("请上传等级图标");
} // }
$data['update_time'] = time(); $data['update_time'] = time();
$dd = Shang::insert($data); $dd = Shang::insert($data);
if ($dd) { if ($dd) {

View File

@ -12,7 +12,7 @@ use app\common\model\GoodsList;
use app\common\model\AdminGoodsLog; use app\common\model\AdminGoodsLog;
use think\facade\Db; use think\facade\Db;
use app\common\model\Shang; use app\common\model\Shang;
use app\common\model\Reward;
class Goods extends Base class Goods extends Base
{ {
/** /**
@ -232,6 +232,55 @@ class Goods extends Base
$data['integral_is'] = 0; $data['integral_is'] = 0;
$data['category_id'] = 0; $data['category_id'] = 0;
$data['stock'] = 1; $data['stock'] = 1;
} elseif ($data['type'] == 15) {
// 福利屋类型处理
$data['stock'] = 0; // 隐藏套数
$data['lock_is'] = 0; // 隐藏锁箱类型
$data['lock_time'] = 0; // 隐藏锁箱时间
$data['coupon_is'] = 0; // 隐藏发券开关
$data['coupon_pro'] = 0; // 隐藏发券概率
$data['integral_is'] = 0; // 隐藏发积分开关
$data['prize_num'] = 0;
$data['category_id'] = 0;
$data['is_flw'] = 1; // 标记为福利屋
// 处理时间字段
if (!empty($data['flw_start_time'])) {
$data['flw_start_time'] = strtotime($data['flw_start_time']);
} else {
return $this->renderError("请选择开始时间");
}
if (!empty($data['flw_end_time'])) {
$data['flw_end_time'] = strtotime($data['flw_end_time']);
} else {
return $this->renderError("请选择结束时间");
}
if (!empty($data['open_time'])) {
$data['open_time'] = strtotime($data['open_time']);
} else {
return $this->renderError("请选择开奖时间");
}
// 验证时间逻辑
if ($data['flw_start_time'] >= $data['flw_end_time']) {
return $this->renderError("开始时间必须早于结束时间");
}
if ($data['flw_end_time'] >= $data['open_time']) {
return $this->renderError("结束时间必须早于开奖时间");
}
// 验证抽奖门槛
if (!isset($data['choujiang_xianzhi']) || $data['choujiang_xianzhi'] === '') {
$data['choujiang_xianzhi'] = 0;
} else if (!is_numeric($data['choujiang_xianzhi']) || intval($data['choujiang_xianzhi']) < 0) {
return $this->renderError("抽奖门槛必须是非负整数");
}
// 默认未开奖
$data['is_open'] = 0;
} else { } else {
return $this->renderError("盒子类型选择错误"); return $this->renderError("盒子类型选择错误");
} }
@ -407,11 +456,61 @@ class Goods extends Base
$data['lock_is'] = 0; $data['lock_is'] = 0;
$data['lock_time'] = 0; $data['lock_time'] = 0;
$data['prize_num'] = 0; $data['prize_num'] = 0;
$data['show_is'] = 0;
$data['coupon_is'] = 0; $data['coupon_is'] = 0;
$data['coupon_pro'] = 0; $data['coupon_pro'] = 0;
$data['integral_is'] = 0; $data['integral_is'] = 0;
$data['category_id'] = 0; $data['category_id'] = 0;
$data['stock'] = 1; $data['stock'] = 1;
} elseif ($type == 15) {
// 福利屋类型处理
$data['stock'] = 0; // 隐藏套数
$data['lock_is'] = 0; // 隐藏锁箱类型
$data['lock_time'] = 0; // 隐藏锁箱时间
$data['coupon_is'] = 0; // 隐藏发券开关
$data['coupon_pro'] = 0; // 隐藏发券概率
$data['integral_is'] = 0; // 隐藏发积分开关
$data['prize_num'] = 0;
$data['category_id'] = 0;
$data['is_flw'] = 1; // 标记为福利屋
// 处理时间字段
if (!empty($data['flw_start_time'])) {
$data['flw_start_time'] = strtotime($data['flw_start_time']);
} else {
return $this->renderError("请选择开始时间");
}
if (!empty($data['flw_end_time'])) {
$data['flw_end_time'] = strtotime($data['flw_end_time']);
} else {
return $this->renderError("请选择结束时间");
}
if (!empty($data['open_time'])) {
$data['open_time'] = strtotime($data['open_time']);
} else {
return $this->renderError("请选择开奖时间");
}
// 验证时间逻辑
if ($data['flw_start_time'] >= $data['flw_end_time']) {
return $this->renderError("开始时间必须早于结束时间");
}
if ($data['flw_end_time'] >= $data['open_time']) {
return $this->renderError("结束时间必须早于开奖时间");
}
// 验证抽奖门槛
if (!isset($data['choujiang_xianzhi']) || $data['choujiang_xianzhi'] === '') {
$data['choujiang_xianzhi'] = 0;
} else if (!is_numeric($data['choujiang_xianzhi']) || intval($data['choujiang_xianzhi']) < 0) {
return $this->renderError("抽奖门槛必须是非负整数");
}
// 默认未开奖
$data['is_open'] = 0;
} else { } else {
return $this->renderError("盒子类型选择错误"); return $this->renderError("盒子类型选择错误");
} }
@ -521,7 +620,7 @@ class Goods extends Base
if ($type == 1 || $type == 3 || $type == 5 || $type == 6 || $type == 10 || $type == 11) { if ($type == 1 || $type == 3 || $type == 5 || $type == 6 || $type == 10 || $type == 11) {
$whe[] = ['num', '=', 1]; $whe[] = ['num', '=', 1];
} elseif ($type == 2 || $type == 8 || $type == 9) { } elseif ($type == 2 || $type == 8 || $type == 9 || $type == 15) {
$whe[] = ['num', '=', 0]; $whe[] = ['num', '=', 0];
} else { } else {
return $this->renderError('请求参数错误1'); return $this->renderError('请求参数错误1');
@ -572,6 +671,8 @@ class Goods extends Base
$shang = Shang::where('id', 'between', [34, 38])->select()->toArray(); $shang = Shang::where('id', 'between', [34, 38])->select()->toArray();
} elseif ($info['type'] == 3) { } elseif ($info['type'] == 3) {
$shang = Shang::where('id', 'between', [4, 33])->select()->toArray(); $shang = Shang::where('id', 'between', [4, 33])->select()->toArray();
} elseif ($info['type'] == 15) {
$shang = Shang::where('id', '>=', 114)->select()->toArray();
} else { } else {
return $this->renderError('请求参数错误1'); return $this->renderError('请求参数错误1');
} }
@ -615,6 +716,8 @@ class Goods extends Base
if ($today_time >= $data['sale_time']) { if ($today_time >= $data['sale_time']) {
return $this->renderError('预售时间请在今天之后'); return $this->renderError('预售时间请在今天之后');
} }
} elseif ($type == 15) {
$data['sale_time'] = 0;
} else { } else {
return $this->err('奖品类型选择错误'); return $this->err('奖品类型选择错误');
} }
@ -649,7 +752,7 @@ class Goods extends Base
$prize_code = getPrizeCode() . '_' . time(); $prize_code = getPrizeCode() . '_' . time();
$data['prize_code'] = $prize_code; $data['prize_code'] = $prize_code;
} else if ($type == 3) { } elseif ($type == 3) {
if ($data['shang_id'] == 1 || $data['shang_id'] == 2 || $data['shang_id'] == 3 || $data['shang_id'] == 5) { if ($data['shang_id'] == 1 || $data['shang_id'] == 2 || $data['shang_id'] == 3 || $data['shang_id'] == 5) {
if ($data['stock'] != 1) { if ($data['stock'] != 1) {
return $this->renderError('特殊奖品库存请设置为1'); return $this->renderError('特殊奖品库存请设置为1');
@ -672,18 +775,19 @@ class Goods extends Base
if (RegInt($data['prize_num']) && $data['shang_id'] == 5) { if (RegInt($data['prize_num']) && $data['shang_id'] == 5) {
return $this->renderError("擂台赏抽全局赏数量设置错误,请设置大于0的整数"); return $this->renderError("擂台赏抽全局赏数量设置错误,请设置大于0的整数");
} }
} elseif ($type == 15) {
$prize_code = getPrizeCode() . '_' . time();
$data['prize_code'] = $prize_code;
if (RegInt($data['stock'])) {
return $this->renderError('奖品数量设置错误,请设置大于0的整数');
}
} else { } else {
return $this->err('请求参数错误'); return $this->err('请求参数错误');
} }
if (RegZero($data['sort'])) { if (RegZero($data['sort'])) {
return $this->renderError('排序请输入整数'); return $this->renderError('排序请输入整数');
} }
// if ($data['card_no']) {
// $card_no_info = GoodsList::field('id')->where('card_no', '=', $data['card_no'])->find();
// if ($card_no_info) {
// return $this->renderError('赠送编号已存在');
// }
// } else {
$data['card_no'] = NULL; $data['card_no'] = NULL;
// } // }
@ -729,6 +833,8 @@ class Goods extends Base
$shang = Shang::where('id', '<=', 33)->where('id', '<>', 5)->select()->toArray(); $shang = Shang::where('id', '<=', 33)->where('id', '<>', 5)->select()->toArray();
} elseif ($info['type'] == 2 || $info['type'] == 8 || $info['type'] == 9) { } elseif ($info['type'] == 2 || $info['type'] == 8 || $info['type'] == 9) {
$shang = Shang::where('id', 'between', [34, 38])->select()->toArray(); $shang = Shang::where('id', 'between', [34, 38])->select()->toArray();
} elseif ($info['type'] == 15) {
$shang = Shang::where('id', '>=', 114)->select()->toArray();
} elseif ($info['type'] == 3) { } elseif ($info['type'] == 3) {
$shang = Shang::where('id', 'between', [4, 33])->select()->toArray(); $shang = Shang::where('id', 'between', [4, 33])->select()->toArray();
} else { } else {
@ -780,6 +886,8 @@ class Goods extends Base
if ($today_time >= $data['sale_time']) { if ($today_time >= $data['sale_time']) {
return $this->renderError('预售时间请在今天之后'); return $this->renderError('预售时间请在今天之后');
} }
} elseif ($data['goods_type'] == 3) {
$data['sale_time'] = 0;
} else { } else {
return $this->err('奖品类型选择错误'); return $this->err('奖品类型选择错误');
} }
@ -788,7 +896,7 @@ class Goods extends Base
$data['reward_num'] = 0; $data['reward_num'] = 0;
// //
if ($type == 1 || $type == 5 || $type == 10 || $type == 6 || $type == 11) { if ($type == 1 || $type == 5 || $type == 10 || $type == 6 || $type == 11 || $type == 15) {
} elseif ($type == 2 || $type == 8 || $type == 9) { } elseif ($type == 2 || $type == 8 || $type == 9) {
if (RegMoney($data['real_pro'] * 1000)) { if (RegMoney($data['real_pro'] * 1000)) {
@ -804,17 +912,8 @@ class Goods extends Base
if (RegZero($data['sort'])) { if (RegZero($data['sort'])) {
return $this->renderError('排序请输入整数'); return $this->renderError('排序请输入整数');
} }
// if ($data['card_no']) {
// $card_no_info = GoodsList::field('id')
// ->where('prize_code', '<>', $goods['prize_code'])
// ->where('card_no', '=', trim($data['card_no']))
// ->find();
// if ($card_no_info) {
// return $this->renderError('赠送编号已存在');
// }
// } else {
$data['card_no'] = NULL; $data['card_no'] = NULL;
// }
if (empty($data['imgurl'])) { if (empty($data['imgurl'])) {
return $this->renderError('请上传图片'); return $this->renderError('请上传图片');
@ -845,9 +944,9 @@ class Goods extends Base
$prize_code = GoodsList::field('prize_code') $prize_code = GoodsList::field('prize_code')
->where(['id' => $id]) ->where(['id' => $id])
->value('prize_code'); ->value('prize_code');
if (!$prize_code) { // if (!$prize_code) {
return $this->renderError("请勿重复操作"); // return $this->renderError("请勿重复操作");
} // }
#删除奖品 #删除奖品
$res = GoodsList::field('id') $res = GoodsList::field('id')
->where(['prize_code' => $prize_code]) ->where(['prize_code' => $prize_code])
@ -1325,49 +1424,120 @@ class Goods extends Base
*/ */
public function clear_goods_data(Request $request) public function clear_goods_data(Request $request)
{ {
$id = $request->post('id/d'); if (!$request->isPost()) {
if (!$id) { return $this->renderError('请求方式错误');
return $this->renderError('盒子ID不能为空');
} }
// 检查盒子是否存在 $id = $request->post('id/d');
$goods = GoodsModel::where(['id' => $id])->find(); $goods = GoodsModel::where(['id' => $id])->find();
if (!$goods) { if (!$goods) {
return $this->renderError('盒子不存在'); return $this->renderError('盒子不存在');
} }
// 开启事务
Db::startTrans(); Db::startTrans();
try { try {
// 清空订单表 // 删除相关订单数据
$orderCount = Db::name('order')->where('goods_id', $id)->delete(); Db::name('order')->where('goods_id', $id)->delete();
Db::name('order_list')->where('goods_id', $id)->delete();
// 清空订单详情表 // 重置奖品剩余数量
$orderListCount = Db::name('order_list')->where('goods_id', $id)->delete(); Db::name('goods_list')->where('goods_id', $id)->update(['surplus_stock' => Db::raw('stock')]);
// 提交事务
Db::commit(); Db::commit();
return $this->renderSuccess('盒子抽奖数据已清空');
// 记录管理员操作日志
AdminGoodsLog::add_goods_log(
session('admin_id'),
$id,
0,
json_encode(['operation' => '清空抽奖数据前']),
json_encode([
'operation' => '清空抽奖数据后',
'clear_order_count' => $orderCount,
'clear_order_list_count' => $orderListCount
])
);
return $this->renderSuccess("操作成功,共清空订单 {$orderCount} 条,订单详情 {$orderListCount}");
} catch (\Exception $e) { } catch (\Exception $e) {
// 回滚事务
Db::rollback(); Db::rollback();
return $this->renderError('操作失败:' . $e->getMessage()); return $this->renderError('操作失败:' . $e->getMessage());
} }
} }
/**
* 复制盒子
*/
public function copy_goods(Request $request)
{
if (!$request->isPost()) {
return $this->renderError('请求方式错误');
}
$id = $request->post('id/d');
$goods = GoodsModel::where(['id' => $id])->find();
if (!$goods) {
return $this->renderError('盒子不存在');
}
// 开启事务
Db::startTrans();
try {
// 复制盒子基本信息
$goodsData = $goods->toArray();
unset($goodsData['id']);
unset($goodsData['delete_time']);
// 修改标题,添加"复制"标识
$goodsData['title'] = $goodsData['title'] . '(复制)';
$goodsData['status'] = 2; // 默认下架状态
$goodsData['addtime'] = time();
$goodsData['async_code'] = ''; // 清空同步代码,避免混淆
// 插入新盒子
$newGoods = new GoodsModel();
$newGoods->save($goodsData);
$newGoodsId = $newGoods->id;
// 复制盒子奖品
$goodsLists = GoodsList::where(['goods_id' => $id])->select();
foreach ($goodsLists as $item) {
$listData = $item->toArray();
unset($listData['id']);
$listData['goods_id'] = $newGoodsId;
$listData['addtime'] = time();
if ($listData['reward_id'] && $listData['reward_id'] != '') {
$reward = Reward::where(['reward_id' => $listData['reward_id']])->select();
$listData['reward_id'] = 'MHHZ' . date('YmdHis') . mt_rand(1000, 9999);//$this->generateUUID();
if ($reward) {
$rewards = $reward->toArray();
foreach ($rewards as $item2) {
unset($item2['id']);
$item2['reward_id'] = $listData['reward_id'];
$item2['create_time'] = time();
$item2['update_time'] = time();
Reward::insert($item2);
}
}
}
// 插入新奖品
$newGoodsList = new GoodsList();
$newGoodsList->save($listData);
// 如果有扩展奖品,也进行复制
if ($goods['type'] == 1 || $goods['type'] == 11) {
$goodsExtends = Db::name('goods_extend_list')
->where(['goods_list_id' => $item['id']])
->select()
->toArray();
foreach ($goodsExtends as $extend) {
unset($extend['id']);
$extend['goods_id'] = $newGoodsId;
$extend['goods_list_id'] = $newGoodsList->id;
$extend['addtime'] = time();
Db::name('goods_extend_list')->insert($extend);
}
}
}
Db::commit();
return $this->renderSuccess('盒子复制成功');
} catch (\Exception $e) {
Db::rollback();
return $this->renderError('复制失败:' . $e->getMessage());
}
}
/** /**
* 生成UUID * 生成UUID
*/ */

View File

@ -17,20 +17,20 @@ class Reward extends Base
{ {
$reward_type = trim(input('get.reward_type', '')); $reward_type = trim(input('get.reward_type', ''));
$keyword = trim(input('get.keyword')); $keyword = trim(input('get.keyword'));
$where = []; $where = [];
if (!empty($keyword)) { if (!empty($keyword)) {
$where[] = ['title', 'like', '%' . $keyword . '%']; $where[] = ['title', 'like', '%' . $keyword . '%'];
} }
if ($reward_type !== '') { if ($reward_type !== '') {
$where[] = ['reward_type', '=', $reward_type]; $where[] = ['reward_type', '=', $reward_type];
} }
$field = "*"; $field = "*";
$order = "id desc"; $order = "id desc";
$data = RewardModel::getList($where, $field, $order, $this->page); $data = RewardModel::getList($where, $field, $order, $this->page);
// 获取关联的优惠券信息 // 获取关联的优惠券信息
foreach ($data['list'] as $key => &$item) { foreach ($data['list'] as $key => &$item) {
if ($item['reward_type'] == 1 && !empty($item['reward_id'])) { if ($item['reward_type'] == 1 && !empty($item['reward_id'])) {
@ -38,15 +38,15 @@ class Reward extends Base
$item['coupon'] = $coupon; $item['coupon'] = $coupon;
} }
} }
View::assign('list', $data['list']); View::assign('list', $data['list']);
View::assign('count', $data['count']); View::assign('count', $data['count']);
View::assign('page', $data['page']); View::assign('page', $data['page']);
View::assign('reward_type', $reward_type); View::assign('reward_type', $reward_type);
return View::fetch("Reward/index"); return View::fetch("Reward/index");
} }
/** /**
* 添加奖励 * 添加奖励
*/ */
@ -56,17 +56,17 @@ class Reward extends Base
// 获取优惠券列表供选择 // 获取优惠券列表供选择
$coupons = Coupon::where('status', 0)->select(); $coupons = Coupon::where('status', 0)->select();
View::assign('coupons', $coupons); View::assign('coupons', $coupons);
return View::fetch("Reward/add"); return View::fetch("Reward/add");
} else { } else {
$data = input('post.'); $data = input('post.');
// 处理优惠券类型的特殊情况 // 处理优惠券类型的特殊情况
if ($data['reward_type'] == 1) { if ($data['reward_type'] == 1) {
if (empty($data['reward_id'])) { if (empty($data['reward_id'])) {
return $this->renderError("请选择优惠券"); return $this->renderError("请选择优惠券");
} }
// 获取优惠券信息,设置默认标题 // 获取优惠券信息,设置默认标题
if (empty($data['title'])) { if (empty($data['title'])) {
$coupon = Coupon::find($data['reward_id']); $coupon = Coupon::find($data['reward_id']);
@ -78,12 +78,12 @@ class Reward extends Base
// 非优惠券类型reward_id设为0 // 非优惠券类型reward_id设为0
$data['reward_id'] = 0; $data['reward_id'] = 0;
} }
$data['create_time'] = time(); $data['create_time'] = time();
$data['update_time'] = time(); $data['update_time'] = time();
$result = RewardModel::insertGetId($data); $result = RewardModel::insertGetId($data);
if ($result) { if ($result) {
return $this->renderSuccess("添加成功"); return $this->renderSuccess("添加成功");
} else { } else {
@ -91,7 +91,7 @@ class Reward extends Base
} }
} }
} }
/** /**
* 编辑奖励 * 编辑奖励
*/ */
@ -99,31 +99,31 @@ class Reward extends Base
{ {
if (!$request->isPost()) { if (!$request->isPost()) {
$id = input('get.id/d', 0); $id = input('get.id/d', 0);
if (empty($id)) { if (empty($id)) {
return $this->renderError("参数错误"); return $this->renderError("参数错误");
} }
$info = RewardModel::find($id); $info = RewardModel::find($id);
if (empty($info)) { if (empty($info)) {
return $this->renderError("奖励不存在"); return $this->renderError("奖励不存在");
} }
// 获取优惠券列表供选择 // 获取优惠券列表供选择
$coupons = Coupon::where('status', 0)->select(); $coupons = Coupon::where('status', 0)->select();
View::assign('info', $info); View::assign('info', $info);
View::assign('coupons', $coupons); View::assign('coupons', $coupons);
return View::fetch("Reward/edit"); return View::fetch("Reward/edit");
} else { } else {
$data = input('post.'); $data = input('post.');
$id = isset($data['id']) ? intval($data['id']) : 0; $id = isset($data['id']) ? intval($data['id']) : 0;
if (empty($id)) { if (empty($id)) {
return $this->renderError("参数错误"); return $this->renderError("参数错误");
} }
// 处理优惠券类型的特殊情况 // 处理优惠券类型的特殊情况
if ($data['reward_type'] == 1) { if ($data['reward_type'] == 1) {
if (empty($data['reward_id'])) { if (empty($data['reward_id'])) {
@ -133,11 +133,11 @@ class Reward extends Base
// 非优惠券类型reward_id设为0 // 非优惠券类型reward_id设为0
$data['reward_id'] = 0; $data['reward_id'] = 0;
} }
$data['update_time'] = time(); $data['update_time'] = time();
$result = RewardModel::where('id', $id)->update($data); $result = RewardModel::where('id', $id)->update($data);
if ($result !== false) { if ($result !== false) {
return $this->renderSuccess("编辑成功"); return $this->renderSuccess("编辑成功");
} else { } else {
@ -145,27 +145,27 @@ class Reward extends Base
} }
} }
} }
/** /**
* 删除奖励 * 删除奖励
*/ */
public function delete(Request $request) public function delete(Request $request)
{ {
$id = input('post.id/d', 0); $id = input('post.id/d', 0);
if (empty($id)) { if (empty($id)) {
return $this->renderError("参数错误"); return $this->renderError("参数错误");
} }
$result = RewardModel::destroy($id); $result = RewardModel::destroy($id);
if ($result) { if ($result) {
return $this->renderSuccess("删除成功"); return $this->renderSuccess("删除成功");
} else { } else {
return $this->renderError("删除失败"); return $this->renderError("删除失败");
} }
} }
/** /**
* 修改状态 * 修改状态
*/ */
@ -173,13 +173,13 @@ class Reward extends Base
{ {
$id = input('post.id/d', 0); $id = input('post.id/d', 0);
$status = input('post.status/d', 0); $status = input('post.status/d', 0);
if (empty($id)) { if (empty($id)) {
return $this->renderError("参数错误"); return $this->renderError("参数错误");
} }
$result = RewardModel::where('id', $id)->update(['status' => $status, 'update_time' => time()]); $result = RewardModel::where('id', $id)->update(['status' => $status, 'update_time' => time()]);
if ($result !== false) { if ($result !== false) {
return $this->renderSuccess("状态更新成功"); return $this->renderSuccess("状态更新成功");
} else { } else {
@ -193,19 +193,19 @@ class Reward extends Base
public function getRewardsByRewardId(Request $request) public function getRewardsByRewardId(Request $request)
{ {
$reward_id = trim(input('get.reward_id', '')); $reward_id = trim(input('get.reward_id', ''));
if (empty($reward_id)) { if (empty($reward_id)) {
return json([ return json([
'code' => 1, 'status' => 0,
'msg' => '参数错误', 'msg' => '参数错误',
'data' => [] 'data' => []
]); ]);
} }
try { try {
// 查询对应的奖励列表 // 查询对应的奖励列表
$rewards = RewardModel::where('reward_id', $reward_id)->select()->toArray(); $rewards = RewardModel::where('reward_id', $reward_id)->select()->toArray();
// 处理优惠券数据 // 处理优惠券数据
foreach ($rewards as &$reward) { foreach ($rewards as &$reward) {
if ($reward['reward_type'] == 1) { // 优惠券类型 if ($reward['reward_type'] == 1) { // 优惠券类型
@ -216,18 +216,63 @@ class Reward extends Base
} }
} }
} }
return json([ return json([
'code' => 0, 'status' => 1,
'msg' => '获取成功', 'msg' => '获取成功',
'data' => $rewards 'data' => $rewards
]); ]);
} catch (\Exception $e) { } catch (\Exception $e) {
return json([ return json([
'code' => 1, 'status' => 0,
'msg' => '获取奖励失败: ' . $e->getMessage(), 'msg' => '获取奖励失败: ' . $e->getMessage(),
'data' => [] 'data' => []
]); ]);
} }
} }
}
/**
* 添加奖励
*/
public function addReward(Request $request)
{
$data = input('post.');
//签到奖励
$reward = json_decode($data['reward'], true);
$reward_id = $data['reward_id'];
$reward_id_pre = $data['reward_id_pre'];
if (!$reward_id_pre) {
$reward_id_pre = "MHCC";
}
if (!$reward_id || $reward_id == '') {
$reward_id = $reward_id_pre . date('YmdHis') . mt_rand(1000, 9999);
}
// 开启事务
\think\facade\Db::startTrans();
try {
RewardModel::where('reward_id', $reward_id)->delete();
if (!empty($reward) && is_array($reward)) {
foreach ($reward as $item) {
$rewardData = [
'reward_type' => $item['reward_type'],
'reward_value' => isset($item['reward_value']) && !empty($item['reward_value']) ? $item['reward_value'] : 0,
'reward_extend' => isset($item['coupon_id']) && !empty($item['coupon_id']) ? $item['coupon_id'] : 0,
'description' => '',
'create_time' => time(),
'update_time' => time(),
'reward_id' => $reward_id
];
RewardModel::insert($rewardData);
}
}
\think\facade\Db::commit();
return $this->renderSuccess("更新成功", ['reward_id' => $reward_id]);
} catch (\Exception $e) {
\think\facade\Db::rollback();
return $this->renderError("更新失败: " . $e->getMessage());
}
}
}

View File

@ -180,6 +180,7 @@ Route::rule('yushou_rili_edit', 'Goods/yushou_rili_edit', 'GET|POST');
Route::rule('yushou_rili_del', 'Goods/yushou_rili_del', 'GET|POST'); Route::rule('yushou_rili_del', 'Goods/yushou_rili_del', 'GET|POST');
Route::rule('offshelf_log', 'Goods/offshelf_log', 'GET|POST'); Route::rule('offshelf_log', 'Goods/offshelf_log', 'GET|POST');
Route::rule('clear_goods_data', 'Goods/clear_goods_data', 'POST'); Route::rule('clear_goods_data', 'Goods/clear_goods_data', 'POST');
Route::rule('copy_goods', 'Goods/copy_goods', 'POST');
Route::rule('draw_raffle', 'Draw/goods', 'GET|POST'); Route::rule('draw_raffle', 'Draw/goods', 'GET|POST');
Route::rule('draw_edit', 'Draw/draw_edit', 'GET|POST'); Route::rule('draw_edit', 'Draw/draw_edit', 'GET|POST');
Route::rule('drawlist', 'Draw/drawlist', 'GET|POST'); Route::rule('drawlist', 'Draw/drawlist', 'GET|POST');
@ -365,6 +366,7 @@ Route::rule('reward_edit', 'Reward/edit', 'GET|POST');
Route::rule('reward_delete', 'Reward/delete', 'POST'); Route::rule('reward_delete', 'Reward/delete', 'POST');
Route::rule('reward_status', 'Reward/status', 'POST'); Route::rule('reward_status', 'Reward/status', 'POST');
Route::rule('get_rewards_by_id', 'Reward/getRewardsByRewardId', 'GET'); Route::rule('get_rewards_by_id', 'Reward/getRewardsByRewardId', 'GET');
Route::rule('reward_add_json', 'Reward/addReward', 'POST');
// 签到配置 // 签到配置
Route::get('sign_config', 'SignConfig/index'); Route::get('sign_config', 'SignConfig/index');

View File

@ -5,13 +5,14 @@
<div class="layui-card-body"> <div class="layui-card-body">
<xblock> <xblock>
<div style="padding-bottom: 10px;"> <div style="padding-bottom: 10px;">
<!-- <a class="layui-btn" onclick="card_shang_add({$goods_id})">添加等级</a> --> <a class="layui-btn" onclick="card_shang_add(0)">添加等级</a>
<span style="line-height:40px;float:right;">共有数据: {$count}条</span> <span style="line-height:40px;float:right;">共有数据: {$count}条</span>
</div> </div>
</xblock> </xblock>
<table class="layui-table" style="text-align:center"> <table class="layui-table" style="text-align:center">
<thead> <thead>
<tr> <tr>
<th></th>
<th>等级名称</th> <th>等级名称</th>
<th>等级图标</th> <th>等级图标</th>
<th>发光特效</th> <th>发光特效</th>
@ -24,6 +25,7 @@
<tbody> <tbody>
{volist name="list" id="vo"} {volist name="list" id="vo"}
<tr> <tr>
<td>{$vo['id']}</td>
<td>{$vo['title']}</td> <td>{$vo['title']}</td>
<td>{if $vo['imgurl']}<img src="{:imageUrl($vo['imgurl'])}" style="width:50px;height:30px;">{/if}</td> <td>{if $vo['imgurl']}<img src="{:imageUrl($vo['imgurl'])}" style="width:50px;height:30px;">{/if}</td>
<td>{if $vo['special_imgurl']}<img src="{PHP} echo imageUrl($vo['special_imgurl']){/php}" style="width:60px;height:60px;">{/if}</td> <td>{if $vo['special_imgurl']}<img src="{PHP} echo imageUrl($vo['special_imgurl']){/php}" style="width:60px;height:60px;">{/if}</td>

View File

@ -25,6 +25,12 @@
<input type="text" name="sort" value="0" autocomplete="off" placeholder="请输入卡等级排序" class="layui-input" style="width: 200px" > <input type="text" name="sort" value="0" autocomplete="off" placeholder="请输入卡等级排序" class="layui-input" style="width: 200px" >
</div> </div>
</div> </div>
<div class="layui-form-item">
<label class="layui-form-label">颜色</label>
<div class="layui-input-inline">
<input type="text" name="color" value="" autocomplete="off" placeholder="请输入颜色" class="layui-input" style="width: 200px" >
</div>
</div>
<div class="layui-form-item"> <div class="layui-form-item">
<label class="layui-form-label">卡等级图标</label> <label class="layui-form-label">卡等级图标</label>
<div class="layui-input-inline"> <div class="layui-input-inline">

View File

@ -115,17 +115,22 @@
</a> </a>
</div> </div>
<div> <div>
<a style="text-decoration:none" lay-event="copy" class="layui-btn layui-btn-normal layui-btn-xs">
<i class="layui-icon layui-icon-template"></i>复制
</a>
<a style="text-decoration:none" lay-event="sync" class="layui-btn layui-btn-normal layui-btn-xs"> <a style="text-decoration:none" lay-event="sync" class="layui-btn layui-btn-normal layui-btn-xs">
<i class="layui-icon layui-icon-sync"></i>同步 <i class="layui-icon layui-icon-sync"></i>同步
</a> </a>
</div>
<div>
<a style="text-decoration:none" lay-event="clear" class="layui-btn layui-btn-danger layui-btn-xs"> <a style="text-decoration:none" lay-event="clear" class="layui-btn layui-btn-danger layui-btn-xs">
<i class="layui-icon layui-icon-delete"></i>清空抽奖 <i class="layui-icon layui-icon-delete"></i>清空抽奖
</a> </a>
</div>
<a style="text-decoration:none" lay-event="delete" class="layui-btn layui-btn-danger layui-btn-xs"> <a style="text-decoration:none" lay-event="delete" class="layui-btn layui-btn-danger layui-btn-xs">
<i class="layui-icon layui-icon-delete"></i>删除 <i class="layui-icon layui-icon-delete"></i>删除
</a> </a>
</div> </div>
</div>
</script> </script>
<!-- 同步弹窗模板 --> <!-- 同步弹窗模板 -->
@ -218,6 +223,21 @@
{ field: 'unlock_amount', title: '解锁金额', width: 100, templet: function(d) { { field: 'unlock_amount', title: '解锁金额', width: 100, templet: function(d) {
return d.unlock_amount > 0 ? '<span class="layui-badge layui-bg-orange">' + d.unlock_amount + '</span>' : '无需解锁'; return d.unlock_amount > 0 ? '<span class="layui-badge layui-bg-orange">' + d.unlock_amount + '</span>' : '无需解锁';
}}, }},
// 福利屋时间信息
{ field: 'is_flw', title: '福利屋信息', width: 200, templet: function(d) {
if (d.type == 15) {
var startTime = d.flw_start_time ? new Date(d.flw_start_time * 1000).toLocaleString() : '未设置';
var endTime = d.flw_end_time ? new Date(d.flw_end_time * 1000).toLocaleString() : '未设置';
var openTime = d.open_time ? new Date(d.open_time * 1000).toLocaleString() : '未设置';
var isOpen = d.is_open == 1 ? '<span class="layui-badge layui-bg-green">已开奖</span>' : '<span class="layui-badge layui-bg-gray">未开奖</span>';
return '<div><b>开始:</b> ' + startTime + '</div>' +
'<div><b>结束:</b> ' + endTime + '</div>' +
'<div><b>开奖:</b> ' + openTime + '</div>' +
'<div><b>状态:</b> ' + isOpen + '</div>';
} else {
return '';
}
}},
{ field: 'sort', title: '排序', width: 80 }, { field: 'sort', title: '排序', width: 80 },
{ field: 'addtime_text', title: '添加时间', width: 160 }, { field: 'addtime_text', title: '添加时间', width: 160 },
{ fixed: 'right',field: 'status', title: '状态', width: 100, templet: '#statusTpl' }, { fixed: 'right',field: 'status', title: '状态', width: 100, templet: '#statusTpl' },
@ -279,6 +299,9 @@
} else if (layEvent === 'sync') { } else if (layEvent === 'sync') {
// 同步盒子 // 同步盒子
goods_sync(data.id, data.async_code); goods_sync(data.id, data.async_code);
} else if (layEvent === 'copy') {
// 复制盒子
copy_goods(data.id);
} else if (layEvent === 'clear') { } else if (layEvent === 'clear') {
// 清空抽奖数据 // 清空抽奖数据
clear_goods_data(data.id); clear_goods_data(data.id);
@ -474,6 +497,31 @@
}); });
} }
// 复制盒子
function copy_goods(id) {
layer.confirm('确定要复制此盒子及其所有奖品吗?', {
btn: ['确定', '取消'],
title: '复制确认'
}, function (index) {
var url = "{:url('/admin/copy_goods')}";
var load = layer.load(2);
var $ = layui.$;
$.post(url, { "id": id }, function (data) {
layer.close(load);
if (data.status == 1) {
layer.msg(data.msg, { icon: 1, time: 2000 }, function () {
table.reload('goodsTable');
});
} else {
layer.msg(data.msg, { icon: 2, anim: 6, time: 2000 }, function () {
layer.close(load);
});
}
});
layer.close(index);
});
}
// 图片预览功能 // 图片预览功能
function previewImg(obj) { function previewImg(obj) {
var img = new Image(); var img = new Image();
@ -503,7 +551,7 @@
} }
.layui-table-cell { .layui-table-cell {
height: 100px !important; height: 120px !important;
line-height: 28px; line-height: 28px;
padding: 0 15px; padding: 0 15px;
position: relative; position: relative;

View File

@ -55,6 +55,30 @@
class="layui-input" style="width: 600px"> class="layui-input" style="width: 600px">
</div> </div>
</div> </div>
<!-- 福利屋时间配置 -->
<div class="layui-form-item flw_time_config" style="display: none;">
<label class="layui-form-label">开始时间</label>
<div class="layui-input-inline">
<input type="text" name="flw_start_time" id="flw_start_time" value=""
placeholder="请选择开始时间" class="layui-input" style="width: 600px">
</div>
</div>
<div class="layui-form-item flw_time_config" style="display: none;">
<label class="layui-form-label">结束时间</label>
<div class="layui-input-inline">
<input type="text" name="flw_end_time" id="flw_end_time" value=""
placeholder="请选择结束时间" class="layui-input" style="width: 600px">
</div>
</div>
<div class="layui-form-item flw_time_config" style="display: none;">
<label class="layui-form-label">开奖时间</label>
<div class="layui-input-inline">
<input type="text" name="open_time" id="open_time" value=""
placeholder="请选择开奖时间" class="layui-input" style="width: 600px">
</div>
</div>
<div class="layui-form-item"> <div class="layui-form-item">
<label class="layui-form-label">抽奖门槛:</label> <label class="layui-form-label">抽奖门槛:</label>
<div class="layui-input-inline"> <div class="layui-input-inline">
@ -236,7 +260,7 @@
<div class="layui-input-inline" style="width: 600px"> <div class="layui-input-inline" style="width: 600px">
<input type="number" name="unlock_amount" value="0" <input type="number" name="unlock_amount" value="0"
placeholder="请输入解锁金额0表示无需解锁" class="layui-input" style="width: 600px"> placeholder="请输入解锁金额0表示无需解锁" class="layui-input" style="width: 600px">
<div class="layui-form-mid layui-word-aux">新用户需要消费满此金额才能解锁此盒子0表示无需解锁</div> <div class="layui-form-mid layui-word-aux">用户需要消费满此金额才能看到此盒子0表示都能看到</div>
</div> </div>
</div> </div>
<div class="layui-form-item"> <div class="layui-form-item">
@ -271,24 +295,51 @@
</div> </div>
{include file="Public:footer"/} {include file="Public:footer"/}
<script type="text/javascript"> <script type="text/javascript">
layui.use(['form', 'layedit', 'laydate', 'jquery'], function () { layui.use(['layer', 'form', 'upload', 'laydate'], function () {
let form = layui.form, var $ = layui.$;
$ = layui.jquery, var form = layui.form;
layer = layui.layer; var upload = layui.upload;
var laydate = layui.laydate;
// 自动下架开关切换事件 var new_data = new Date();
form.on('radio(autoXiajia)', function (data) { new_data.setTime(new_data.getTime() + 24 * 60 * 60 * 1000);
if (data.value == "1") { var tomorrow_time = new_data.getFullYear() + "-" + (new_data.getMonth() + 1) + "-" + new_data.getDate();
$('.xiajia-config').show(); laydate.render({
} else { elem: '#sale_time',
$('.xiajia-config').hide(); min: tomorrow_time,
} type: 'datetime'
}); });
// 检查盒子类型,根据类型显示不同的表单项 // 福利屋时间选择器初始化
laydate.render({
elem: '#flw_start_time',
type: 'datetime'
});
laydate.render({
elem: '#flw_end_time',
type: 'datetime'
});
laydate.render({
elem: '#open_time',
type: 'datetime'
});
//2023-11
$(".new_is").show();
$(".rage_is").hide();
$(".rage").hide();
$(".item_card_id").hide();
$(".lingzhu_is").hide();
$(".lingzhu_fan").hide();
$(".lingzhu_shang_id").hide();
$("#goods_describe_div").hide();
$("#div_daily_xiangou").show(); // 初始显示每日限购次数
$(".flw_time_config").hide(); // 显示福利屋时间配置
$(".lian_ji_num").hide();
form.on('radio(type)', function (data) { form.on('radio(type)', function (data) {
var value = data.value; // 当前选中的value值 var value = data.value; // 当前选中的value值
$("#div_daily_xiangou").show();
$("#goods_describe_div").hide(); $("#goods_describe_div").hide();
if (value == 1 || value == 11) { if (value == 1 || value == 11) {
$(".id_stock").show(); $(".id_stock").show();
@ -300,7 +351,7 @@
$(".integral_is").show(); $(".integral_is").show();
$(".show_is").show(); $(".show_is").show();
$(".sale_time").show(); $(".sale_time").show();
$("#div_daily_xiangou").show(); $("#div_daily_xiangou").show(); // 显示每日限购
//2023-11 //2023-11
$(".rage_is").hide(); $(".rage_is").hide();
@ -321,7 +372,7 @@
$(".integral_is").show(); $(".integral_is").show();
$(".show_is").hide(); $(".show_is").hide();
$(".sale_time").hide(); $(".sale_time").hide();
$("#div_daily_xiangou").hide(); $("#div_daily_xiangou").hide(); // 隐藏每日限购
//2023-11 //2023-11
$(".rage_is").show(); $(".rage_is").show();
@ -339,6 +390,7 @@
$(".integral_is").show(); $(".integral_is").show();
$(".show_is").hide(); $(".show_is").hide();
$(".sale_time").hide(); $(".sale_time").hide();
$("#div_daily_xiangou").hide(); // 隐藏每日限购
//2023-11 //2023-11
$(".rage_is").hide(); $(".rage_is").hide();
@ -359,6 +411,7 @@
$(".integral_is").hide(); $(".integral_is").hide();
$(".show_is").hide(); $(".show_is").hide();
$(".sale_time").hide(); $(".sale_time").hide();
//$("#div_daily_xiangou").hide(); // 隐藏每日限购
//2023-11 //2023-11
$(".rage_is").hide(); $(".rage_is").hide();
@ -384,6 +437,7 @@
$(".show_is").show(); $(".show_is").show();
$(".sale_time").show(); $(".sale_time").show();
$("div_quanju_xiangou").show(); $("div_quanju_xiangou").show();
// 显示每日限购
//2023-11 //2023-11
$(".rage_is").hide(); $(".rage_is").hide();
$(".rage").hide(); $(".rage").hide();
@ -403,6 +457,7 @@
$(".integral_is").show(); $(".integral_is").show();
$(".show_is").show(); $(".show_is").show();
$(".sale_time").show(); $(".sale_time").show();
$("#div_daily_xiangou").hide(); // 隐藏每日限购
//2023-11 //2023-11
$(".rage_is").hide(); $(".rage_is").hide();
@ -423,6 +478,7 @@
$(".integral_is").show(); $(".integral_is").show();
$(".show_is").show(); $(".show_is").show();
$(".sale_time").show(); $(".sale_time").show();
$("#div_daily_xiangou").hide(); // 隐藏每日限购
//2023-11 //2023-11
$(".rage_is").hide(); $(".rage_is").hide();
@ -433,259 +489,110 @@
$(".lingzhu_shang_id").hide(); $(".lingzhu_shang_id").hide();
$(".lian_ji_num").show(); $(".lian_ji_num").show();
$(".lian_ji_shang_id").show(); $(".lian_ji_shang_id").show();
} else if (value == 15) {
// 福利屋类型
$(".id_stock").hide(); // 隐藏套数
$(".id_lock_is").hide(); // 隐藏锁箱类型
$(".id_lock_time").hide(); // 隐藏锁箱时间
$(".coupon_is").hide(); // 隐藏发券开关
$(".coupon_pro").hide(); // 隐藏发券概率
$(".integral_is").hide(); // 隐藏发积分开关
$(".id_prize_num").hide();
$(".xiajia-config").hide(); // 隐藏自动下架配置
$("[name='is_auto_xiajia']").parents(".layui-form-item").hide(); // 隐藏自动下架开关
$(".show_is").hide();
// 显示福利屋相关字段
$("#goods_describe_div").show(); // 显示盒子描述
$(".flw_time_config").show(); // 显示福利屋时间配置
$("#div_daily_xiangou").hide(); // 显示每日限购次数
$("#div_quanju_xiangou").show();
// 2023-11
$(".rage_is").hide();
$(".rage").hide();
$(".item_card_id").hide();
$(".lingzhu_is").hide();
$(".lingzhu_fan").hide();
$(".lingzhu_shang_id").hide();
$(".lian_ji_num").hide();
$(".lian_ji_shang_id").hide();
} }
}); });
// 自动下架开关切换事件
form.on('radio(autoXiajia)', function (data) {
if (data.value == "1") {
$('.xiajia-config').show();
} else {
$('.xiajia-config').hide();
}
});
//执行实例
upload.render({
accept: 'imgurl'
, elem: '#imgurl' //绑定元素
, url: '/admin/picture' //上传接口
, done: function (res) {
//上传完毕回调
if (res.status == 1) { //成功
layer.msg("上传成功", { icon: 1, time: 1000 }, function () {
$("#imgurl").attr("src", res.data.path); //单图
$("input[name=imgurl]").val(res.data.imgurl);
});
} else { //失败
layer.msg(res.msg, { icon: 2, anim: 6, time: 1500 });
}
}
, error: function () {
//请求异常回调
layer.msg('服务繁忙,请稍后再试', { icon: 2, anim: 6, time: 1500 });
}
});
//执行实例
upload.render({
accept: 'imgurl'
, elem: '#imgurl_detail' //绑定元素
, url: '/admin/picture' //上传接口
, done: function (res) {
//上传完毕回调
if (res.status == 1) { //成功
layer.msg("上传成功", { icon: 1, time: 1000 }, function () {
$("#imgurl_detail").attr("src", res.data.path); //单图
$("input[name=imgurl_detail]").val(res.data.imgurl);
});
} else { //失败
layer.msg(res.msg, { icon: 2, anim: 6, time: 1500 });
}
}
, error: function () {
//请求异常回调
layer.msg('服务繁忙,请稍后再试', { icon: 2, anim: 6, time: 1500 });
}
});
}); });
function check() {
var url = "{:url('/admin/goods_add')}";
var $ = layui.$;
var load = layer.load(2);
$.post(url, $("form").serialize(), function (data) {
if (data.status == 1) {
layer.msg(data.msg, { icon: 1, time: 1500 }, function () {
var index = parent.layer.getFrameIndex(window.name); //先得到当前iframe层的索引
parent.layer.close(index);
// parent.location.reload();
parent.table.reload('goodsTable');
});
} else {
layer.msg(data.msg, { icon: 2, anim: 6, time: 1500 }, function () {
layer.close(load);
});
}
})
}
</script> </script>
</body> </body>
</html> </html>
<script type="text/javascript">
layui.use(['layer', 'form', 'upload', 'laydate'], function () {
var $ = layui.$;
var form = layui.form;
var upload = layui.upload;
var laydate = layui.laydate;
var new_data = new Date();
new_data.setTime(new_data.getTime() + 24 * 60 * 60 * 1000);
var tomorrow_time = new_data.getFullYear() + "-" + (new_data.getMonth() + 1) + "-" + new_data.getDate();
laydate.render({
elem: '#sale_time',
min: tomorrow_time
});
//2023-11
$(".new_is").show();
$(".rage_is").hide();
$(".rage").hide();
$(".item_card_id").hide();
$(".lingzhu_is").hide();
$(".lingzhu_fan").hide();
$(".lingzhu_shang_id").hide();
$(".lian_ji_num").hide();
$(".lian_ji_shang_id").hide();
$("#goods_describe_div").hide();
$("#div_daily_xiangou").show(); // 初始显示每日限购次数
form.on('radio(type)', function (data) {
var value = data.value; // 当前选中的value值
$("#div_daily_xiangou").show();
$("#goods_describe_div").hide();
if (value == 1 || value == 11) {
$(".id_stock").show();
$(".id_lock_is").show();
$(".id_lock_time").show();
$(".id_prize_num").hide();
$(".coupon_is").show();
$(".coupon_pro").show();
$(".integral_is").show();
$(".show_is").show();
$(".sale_time").show();
$("#div_daily_xiangou").show(); // 显示每日限购
//2023-11
$(".rage_is").hide();
$(".rage").hide();
$(".item_card_id").hide();
$(".lingzhu_is").hide();
$(".lingzhu_fan").hide();
$(".lingzhu_shang_id").hide();
$(".lian_ji_num").hide();
$(".lian_ji_shang_id").hide();
} else if (value == 2) {
$(".id_stock").hide();
$(".id_lock_is").hide();
$(".id_lock_time").hide();
$(".id_prize_num").hide();
$(".coupon_is").show();
$(".coupon_pro").show();
$(".integral_is").show();
$(".show_is").hide();
$(".sale_time").hide();
$("#div_daily_xiangou").hide(); // 隐藏每日限购
//2023-11
$(".rage_is").show();
$(".rage").show();
$(".item_card_id").show();
$(".lian_ji_num").hide();
$(".lian_ji_shang_id").hide();
} else if (value == 3) {
$(".id_stock").hide();
$(".id_lock_is").hide();
$(".id_lock_time").hide();
$(".id_prize_num").show();
$(".coupon_is").show();
$(".coupon_pro").show();
$(".integral_is").show();
$(".show_is").hide();
$(".sale_time").hide();
$("#div_daily_xiangou").hide(); // 隐藏每日限购
//2023-11
$(".rage_is").hide();
$(".rage").hide();
$(".item_card_id").hide();
$(".lingzhu_is").hide();
$(".lingzhu_fan").hide();
$(".lingzhu_shang_id").hide();
$(".lian_ji_num").hide();
$(".lian_ji_shang_id").hide();
} else if (value == 5 || value == 10) {
$(".id_stock").show();
$(".id_lock_is").hide();
$(".id_lock_time").hide();
$(".id_prize_num").hide();
$(".coupon_is").hide();
$(".coupon_pro").hide();
$(".integral_is").hide();
$(".show_is").hide();
$(".sale_time").hide();
//$("#div_daily_xiangou").hide(); // 隐藏每日限购
//2023-11
$(".rage_is").hide();
$(".rage").hide();
$(".item_card_id").hide();
$(".lingzhu_is").hide();
$(".lingzhu_fan").hide();
$(".lingzhu_shang_id").hide();
$(".lian_ji_num").hide();
$(".lian_ji_shang_id").hide();
if (value == 10) {
$("#goods_describe_div").show();
}
} else if (value == 6) {
$(".id_stock").show();
$(".id_lock_is").show();
$(".id_lock_time").show();
$(".id_prize_num").hide();
$(".coupon_is").show();
$(".coupon_pro").show();
$(".integral_is").show();
$(".show_is").show();
$(".sale_time").show();
$("div_quanju_xiangou").show();
// 显示每日限购
//2023-11
$(".rage_is").hide();
$(".rage").hide();
$(".item_card_id").hide();
$(".lingzhu_is").hide();
$(".lingzhu_fan").hide();
$(".lingzhu_shang_id").hide();
$(".lian_ji_num").hide();
$(".lian_ji_shang_id").hide();
} else if (value == 8) {
$(".id_stock").hide();
$(".id_lock_is").hide();
$(".id_lock_time").hide();
$(".id_prize_num").hide();
$(".coupon_is").show();
$(".coupon_pro").show();
$(".integral_is").show();
$(".show_is").show();
$(".sale_time").show();
$("#div_daily_xiangou").hide(); // 隐藏每日限购
//2023-11
$(".rage_is").hide();
$(".rage").hide();
$(".item_card_id").hide();
$(".lingzhu_is").show();
$(".lingzhu_fan").show();
$(".lingzhu_shang_id").show();
$(".lian_ji_num").hide();
$(".lian_ji_shang_id").hide();
} else if (value == 9) {
$(".id_stock").hide();
$(".id_lock_is").hide();
$(".id_lock_time").hide();
$(".id_prize_num").hide();
$(".coupon_is").show();
$(".coupon_pro").show();
$(".integral_is").show();
$(".show_is").show();
$(".sale_time").show();
$("#div_daily_xiangou").hide(); // 隐藏每日限购
//2023-11
$(".rage_is").hide();
$(".rage").hide();
$(".item_card_id").hide();
$(".lingzhu_is").hide();
$(".lingzhu_fan").hide();
$(".lingzhu_shang_id").hide();
$(".lian_ji_num").show();
$(".lian_ji_shang_id").show();
}
});
//执行实例
upload.render({
accept: 'imgurl'
, elem: '#imgurl' //绑定元素
, url: '/admin/picture' //上传接口
, done: function (res) {
//上传完毕回调
if (res.status == 1) { //成功
layer.msg("上传成功", { icon: 1, time: 1000 }, function () {
$("#imgurl").attr("src", res.data.path); //单图
$("input[name=imgurl]").val(res.data.imgurl);
});
} else { //失败
layer.msg(res.msg, { icon: 2, anim: 6, time: 1500 });
}
}
, error: function () {
//请求异常回调
layer.msg('服务繁忙,请稍后再试', { icon: 2, anim: 6, time: 1500 });
}
});
//执行实例
upload.render({
accept: 'imgurl'
, elem: '#imgurl_detail' //绑定元素
, url: '/admin/picture' //上传接口
, done: function (res) {
//上传完毕回调
if (res.status == 1) { //成功
layer.msg("上传成功", { icon: 1, time: 1000 }, function () {
$("#imgurl_detail").attr("src", res.data.path); //单图
$("input[name=imgurl_detail]").val(res.data.imgurl);
});
} else { //失败
layer.msg(res.msg, { icon: 2, anim: 6, time: 1500 });
}
}
, error: function () {
//请求异常回调
layer.msg('服务繁忙,请稍后再试', { icon: 2, anim: 6, time: 1500 });
}
});
});
function check() {
var url = "{:url('/admin/goods_add')}";
var $ = layui.$;
var load = layer.load(2);
$.post(url, $("form").serialize(), function (data) {
if (data.status == 1) {
layer.msg(data.msg, { icon: 1, time: 1500 }, function () {
var index = parent.layer.getFrameIndex(window.name); //先得到当前iframe层的索引
parent.layer.close(index);
// parent.location.reload();
parent.table.reload('goodsTable');
});
} else {
layer.msg(data.msg, { icon: 2, anim: 6, time: 1500 }, function () {
layer.close(load);
});
}
})
}
</script>

View File

@ -65,6 +65,30 @@
class="layui-input" style="width: 600px"> class="layui-input" style="width: 600px">
</div> </div>
</div> </div>
<div class="layui-form-item flw_time_config" {if $type eq 15}style="display: block;"{else}style="display: none;"{/if}>
<label class="layui-form-label">开始时间</label>
<div class="layui-input-inline">
<input type="text" name="flw_start_time" id="flw_start_time"
value="{$info.flw_start_time|date='Y-m-d H:i:s'|default=''}"
placeholder="请选择开始时间" class="layui-input" style="width: 600px">
</div>
</div>
<div class="layui-form-item flw_time_config" {if $type eq 15}style="display: block;"{else}style="display: none;"{/if}>
<label class="layui-form-label">结束时间</label>
<div class="layui-input-inline">
<input type="text" name="flw_end_time" id="flw_end_time"
value="{$info.flw_end_time|date='Y-m-d H:i:s'|default=''}"
placeholder="请选择结束时间" class="layui-input" style="width: 600px">
</div>
</div>
<div class="layui-form-item flw_time_config" {if $type eq 15}style="display: block;"{else}style="display: none;"{/if}>
<label class="layui-form-label">开奖时间</label>
<div class="layui-input-inline">
<input type="text" name="open_time" id="open_time"
value="{$info.open_time|date='Y-m-d H:i:s'|default=''}"
placeholder="请选择开奖时间" class="layui-input" style="width: 600px">
</div>
</div>
<div class="layui-form-item id_stock"> <div class="layui-form-item id_stock">
<label class="layui-form-label">套数</label> <label class="layui-form-label">套数</label>
<div class="layui-input-inline"> <div class="layui-input-inline">
@ -247,7 +271,7 @@
<div class="layui-input-inline" style="width: 600px"> <div class="layui-input-inline" style="width: 600px">
<input type="number" name="unlock_amount" value="{$info.unlock_amount|default=0}" <input type="number" name="unlock_amount" value="{$info.unlock_amount|default=0}"
placeholder="请输入解锁金额0表示无需解锁" class="layui-input" style="width: 600px"> placeholder="请输入解锁金额0表示无需解锁" class="layui-input" style="width: 600px">
<div class="layui-form-mid layui-word-aux">新用户需要消费满此金额才能解锁此盒子0表示无需解锁</div> <div class="layui-form-mid layui-word-aux">用户需要消费满此金额才能看到此盒子0表示都能看到</div>
</div> </div>
</div> </div>
<div class="layui-form-item"> <div class="layui-form-item">
@ -284,270 +308,299 @@
</div> </div>
{include file="Public:footer"/} {include file="Public:footer"/}
<script type="text/javascript"> <script type="text/javascript">
layui.use(['form', 'layedit', 'laydate', 'jquery'], function () { layui.use(['layer', 'form', 'upload', 'laydate'], function () {
let form = layui.form, var $ = layui.$;
$ = layui.jquery, var form = layui.form;
layer = layui.layer; var upload = layui.upload;
var laydate = layui.laydate;
var new_data = new Date();
new_data.setTime(new_data.getTime() + 24 * 60 * 60 * 1000);
var tomorrow_time = new_data.getFullYear() + "-" + (new_data.getMonth() + 1) + "-" + new_data.getDate();
laydate.render({
elem: '#sale_time',
min: tomorrow_time
});
$(function () {
var value = "{$type}";
type_switch(value);
})
// 初始化时间选择器
laydate.render({
elem: '#flw_start_time',
type: 'datetime'
});
laydate.render({
elem: '#flw_end_time',
type: 'datetime'
});
laydate.render({
elem: '#open_time',
type: 'datetime'
});
// 如果是福利屋类型,初始时隐藏自动下架选项
if ({$type} == 15) {
$("[name='is_auto_xiajia']").parents(".layui-form-item").hide();
}
form.on('radio(type)', function (data) {
var value = data.value; // 当前选中的value值
type_switch(value);
});
function type_switch(value) {
$('#isshouwchou').show();
$("#goods_describe_div").hide();
$(".lian_ji_num").hide();
if (value == 1 || value == 11) {
$(".id_stock").show();
$(".id_lock_is").show();
$(".id_lock_time").show();
$(".id_prize_num").hide();
$(".coupon_is").show();
$(".coupon_pro").show();
$(".integral_is").show();
$(".show_is").show();
$(".new_is").show();
$(".sale_time").show();
$("#div_daily_xiangou").show();
$(".rage_is").hide();
$(".rage").hide();
$(".item_card_id").hide();
$(".lingzhu_is").hide();
$(".lingzhu_fan").hide();
$(".lingzhu_shang_id").hide();
$(".lian_ji_num").hide();
$(".lian_ji_shang_id").hide();
} else if (value == 2) {
$(".id_stock").hide();
$(".id_lock_is").hide();
$(".id_lock_time").hide();
$(".id_prize_num").hide();
$(".coupon_is").show();
$(".coupon_pro").show();
$(".integral_is").show();
$(".show_is").hide();
$(".new_is").show();
$(".sale_time").hide();
$("#div_daily_xiangou").hide();
$(".rage_is").show();
$(".rage").show();
$(".item_card_id").show();
$(".lingzhu_is").hide();
$(".lingzhu_fan").hide();
$(".lingzhu_shang_id").hide();
$(".lian_ji_num").hide();
$(".lian_ji_shang_id").hide();
} else if (value == 3) {
$(".id_stock").hide();
$(".id_lock_is").hide();
$(".id_lock_time").hide();
$(".id_prize_num").show();
$(".coupon_is").show();
$(".coupon_pro").show();
$(".integral_is").show();
$(".show_is").hide();
$(".new_is").show();
$(".sale_time").hide();
$("#div_daily_xiangou").hide();
$(".rage_is").hide();
$(".rage").hide();
$(".item_card_id").hide();
$(".lingzhu_is").hide();
$(".lingzhu_fan").hide();
$(".lingzhu_shang_id").hide();
$(".lian_ji_num").hide();
$(".lian_ji_shang_id").hide();
} else if (value == 5 || value == 10) {
$(".id_stock").show();
$(".id_lock_is").hide();
$(".id_lock_time").hide();
$(".id_prize_num").hide();
$(".coupon_is").hide();
$(".coupon_pro").hide();
$(".integral_is").hide();
$(".show_is").hide();
$(".sale_time").hide();
$("#div_daily_xiangou").hide();
$(".rage_is").hide();
$(".rage").hide();
$(".item_card_id").hide();
$(".lingzhu_is").hide();
$(".lingzhu_fan").hide();
$(".lingzhu_shang_id").hide();
$(".lian_ji_num").hide();
$(".lian_ji_shang_id").hide();
if (value == 10) {
$('#isshouwchou').hide();
$("#goods_describe_div").show();
}
} else if (value == 6) {
$(".id_stock").show();
$(".id_lock_is").show();
$(".id_lock_time").show();
$(".id_prize_num").hide();
$(".coupon_is").show();
$(".coupon_pro").show();
$(".integral_is").show();
$(".show_is").show();
$(".new_is").show();
$(".sale_time").show();
$("#div_daily_xiangou").show();
$(".rage_is").hide();
$(".rage").hide();
$(".item_card_id").hide();
$(".lingzhu_is").hide();
$(".lingzhu_fan").hide();
$(".lingzhu_shang_id").hide();
$(".lian_ji_num").hide();
$(".lian_ji_shang_id").hide();
} else if (value == 8) {
$(".id_stock").hide();
$(".id_lock_is").hide();
$(".id_lock_time").hide();
$(".id_prize_num").hide();
$(".coupon_is").show();
$(".coupon_pro").show();
$(".integral_is").show();
$(".show_is").show();
$(".new_is").show();
$(".sale_time").show();
$("#div_daily_xiangou").hide();
$(".rage_is").hide();
$(".rage").hide();
$(".item_card_id").hide();
$(".lingzhu_is").show();
$(".lingzhu_fan").show();
$(".lingzhu_shang_id").show();
$(".lian_ji_num").hide();
$(".lian_ji_shang_id").hide();
} else if (value == 9) {
$(".id_stock").hide();
$(".id_lock_is").hide();
$(".id_lock_time").hide();
$(".id_prize_num").hide();
$(".coupon_is").show();
$(".coupon_pro").show();
$(".integral_is").show();
$(".show_is").show();
$(".sale_time").show();
//2023-11
$(".rage_is").hide();
$(".rage").hide();
$(".item_card_id").hide();
$(".lingzhu_is").hide();
$(".lingzhu_fan").hide();
$(".lingzhu_shang_id").hide();
$(".lian_ji_num").show();
$(".lian_ji_shang_id").show();
} else if (value == 15) {
// 福利屋类型
$(".id_stock").hide(); // 隐藏套数
$(".id_lock_is").hide(); // 隐藏锁箱类型
$(".id_lock_time").hide(); // 隐藏锁箱时间
$(".coupon_is").hide(); // 隐藏发券开关
$(".coupon_pro").hide(); // 隐藏发券概率
$(".integral_is").hide(); // 隐藏发积分开关
$(".id_prize_num").hide();
$(".xiajia-config").hide(); // 隐藏自动下架配置
$("[name='is_auto_xiajia']").parents(".layui-form-item").hide(); // 隐藏自动下架开关
$(".show_is").hide();
// 自动下架开关切换事件 // 显示福利屋相关字段
form.on('radio(autoXiajia)', function (data) { $("#goods_describe_div").show(); // 显示盒子描述
if (data.value == "1") { $(".flw_time_config").show(); // 显示福利屋时间配置
$('.xiajia-config').show(); $("#div_daily_xiangou").hide(); // 显示每日限购次数
} else { $("#div_quanju_xiangou").show();
$('.xiajia-config').hide(); // 2023-11
$(".rage_is").hide();
$(".rage").hide();
$(".item_card_id").hide();
$(".lingzhu_is").hide();
$(".lingzhu_fan").hide();
$(".lingzhu_shang_id").hide();
$(".lian_ji_num").hide();
$(".lian_ji_shang_id").hide();
}
}
//执行实例
upload.render({
accept: 'imgurl'
, elem: '#imgurl' //绑定元素
, url: '/admin/picture' //上传接口
, done: function (res) {
//上传完毕回调
if (res.status == 1) { //成功
layer.msg("上传成功", { icon: 1, time: 1000 }, function () {
$("#imgurl").attr("src", res.data.path); //单图
$("input[name=imgurl]").val(res.data.imgurl);
});
} else { //失败
layer.msg(res.msg, { icon: 2, anim: 6, time: 1500 });
}
}
, error: function () {
//请求异常回调
layer.msg('服务繁忙,请稍后再试', { icon: 2, anim: 6, time: 1500 });
} }
}); });
// 检查盒子类型,根据类型显示不同的表单项 //执行实例
// ... 现有代码 ... upload.render({
accept: 'imgurl'
, elem: '#imgurl_detail' //绑定元素
, url: '/admin/picture' //上传接口
, done: function (res) {
//上传完毕回调
if (res.status == 1) { //成功
layer.msg("上传成功", { icon: 1, time: 1000 }, function () {
$("#imgurl_detail").attr("src", res.data.path); //单图
$("input[name=imgurl_detail]").val(res.data.imgurl);
});
} else { //失败
layer.msg(res.msg, { icon: 2, anim: 6, time: 1500 });
}
}
, error: function () {
//请求异常回调
layer.msg('服务繁忙,请稍后再试', { icon: 2, anim: 6, time: 1500 });
}
});
}); });
function check() {
var url = "{:url('/admin/goods_edit')}";
var $ = layui.$;
var load = layer.load(2);
$.post(url, $("form").serialize(), function (data) {
if (data.status == 1) {
layer.msg(data.msg, { icon: 1, time: 1500 }, function () {
var index = parent.layer.getFrameIndex(window.name); //先得到当前iframe层的索引
parent.layer.close(index);
// parent.location.reload();
parent.table.reload('goodsTable');
});
} else {
layer.msg(data.msg, { icon: 2, anim: 6, time: 1500 }, function () {
layer.close(load);
});
}
})
}
</script> </script>
</body> </body>
</html> </html>
<script type="text/javascript">
layui.use(['layer', 'form', 'upload', 'laydate'], function () {
var $ = layui.$;
var form = layui.form;
var upload = layui.upload;
var laydate = layui.laydate;
var new_data = new Date();
new_data.setTime(new_data.getTime() + 24 * 60 * 60 * 1000);
var tomorrow_time = new_data.getFullYear() + "-" + (new_data.getMonth() + 1) + "-" + new_data.getDate();
laydate.render({
elem: '#sale_time',
min: tomorrow_time
});
$(function () {
var value = "{$type}";
type_switch(value);
})
form.on('radio(type)', function (data) {
var value = data.value; // 当前选中的value值
type_switch(value);
});
function type_switch(value) {
$('#isshouwchou').show();
$("#goods_describe_div").hide();
if (value == 1 || value == 11) {
$(".id_stock").show();
$(".id_lock_is").show();
$(".id_lock_time").show();
$(".id_prize_num").hide();
$(".coupon_is").show();
$(".coupon_pro").show();
$(".integral_is").show();
$(".show_is").show();
$(".new_is").show();
$(".sale_time").show();
$("#div_daily_xiangou").show();
$(".rage_is").hide();
$(".rage").hide();
$(".item_card_id").hide();
$(".lingzhu_is").hide();
$(".lingzhu_fan").hide();
$(".lingzhu_shang_id").hide();
$(".lian_ji_num").hide();
$(".lian_ji_shang_id").hide();
} else if (value == 2) {
$(".id_stock").hide();
$(".id_lock_is").hide();
$(".id_lock_time").hide();
$(".id_prize_num").hide();
$(".coupon_is").show();
$(".coupon_pro").show();
$(".integral_is").show();
$(".show_is").hide();
$(".new_is").show();
$(".sale_time").hide();
$("#div_daily_xiangou").hide();
$(".rage_is").show();
$(".rage").show();
$(".item_card_id").show();
$(".lingzhu_is").hide();
$(".lingzhu_fan").hide();
$(".lingzhu_shang_id").hide();
$(".lian_ji_num").hide();
$(".lian_ji_shang_id").hide();
} else if (value == 3) {
$(".id_stock").hide();
$(".id_lock_is").hide();
$(".id_lock_time").hide();
$(".id_prize_num").show();
$(".coupon_is").show();
$(".coupon_pro").show();
$(".integral_is").show();
$(".show_is").hide();
$(".new_is").show();
$(".sale_time").hide();
$("#div_daily_xiangou").hide();
$(".rage_is").hide();
$(".rage").hide();
$(".item_card_id").hide();
$(".lingzhu_is").hide();
$(".lingzhu_fan").hide();
$(".lingzhu_shang_id").hide();
$(".lian_ji_num").hide();
$(".lian_ji_shang_id").hide();
} else if (value == 5 || value == 10) {
$(".id_stock").show();
$(".id_lock_is").hide();
$(".id_lock_time").hide();
$(".id_prize_num").hide();
$(".coupon_is").hide();
$(".coupon_pro").hide();
$(".integral_is").hide();
$(".show_is").hide();
$(".sale_time").hide();
$("#div_daily_xiangou").hide();
$(".rage_is").hide();
$(".rage").hide();
$(".item_card_id").hide();
$(".lingzhu_is").hide();
$(".lingzhu_fan").hide();
$(".lingzhu_shang_id").hide();
$(".lian_ji_num").hide();
$(".lian_ji_shang_id").hide();
if (value == 10) {
$('#isshouwchou').hide();
$("#goods_describe_div").show();
}
} else if (value == 6) {
$(".id_stock").show();
$(".id_lock_is").show();
$(".id_lock_time").show();
$(".id_prize_num").hide();
$(".coupon_is").show();
$(".coupon_pro").show();
$(".integral_is").show();
$(".show_is").show();
$(".new_is").show();
$(".sale_time").show();
$("#div_daily_xiangou").show();
$(".rage_is").hide();
$(".rage").hide();
$(".item_card_id").hide();
$(".lingzhu_is").hide();
$(".lingzhu_fan").hide();
$(".lingzhu_shang_id").hide();
$(".lian_ji_num").hide();
$(".lian_ji_shang_id").hide();
} else if (value == 8) {
$(".id_stock").hide();
$(".id_lock_is").hide();
$(".id_lock_time").hide();
$(".id_prize_num").hide();
$(".coupon_is").show();
$(".coupon_pro").show();
$(".integral_is").show();
$(".show_is").show();
$(".new_is").show();
$(".sale_time").show();
$("#div_daily_xiangou").hide();
$(".rage_is").hide();
$(".rage").hide();
$(".item_card_id").hide();
$(".lingzhu_is").show();
$(".lingzhu_fan").show();
$(".lingzhu_shang_id").show();
$(".lian_ji_num").hide();
$(".lian_ji_shang_id").hide();
} else if (value == 9) {
$(".id_stock").hide();
$(".id_lock_is").hide();
$(".id_lock_time").hide();
$(".id_prize_num").hide();
$(".coupon_is").show();
$(".coupon_pro").show();
$(".integral_is").show();
$(".show_is").show();
$(".new_is").show();
$(".sale_time").show();
$("#div_daily_xiangou").hide();
$(".rage_is").hide();
$(".rage").hide();
$(".item_card_id").hide();
$(".lingzhu_is").hide();
$(".lingzhu_fan").hide();
$(".lingzhu_shang_id").hide();
$(".lian_ji_num").show();
$(".lian_ji_shang_id").show();
}
}
//执行实例
upload.render({
accept: 'imgurl'
, elem: '#imgurl' //绑定元素
, url: '/admin/picture' //上传接口
, done: function (res) {
//上传完毕回调
if (res.status == 1) { //成功
layer.msg("上传成功", { icon: 1, time: 1000 }, function () {
$("#imgurl").attr("src", res.data.path); //单图
$("input[name=imgurl]").val(res.data.imgurl);
});
} else { //失败
layer.msg(res.msg, { icon: 2, anim: 6, time: 1500 });
}
}
, error: function () {
//请求异常回调
layer.msg('服务繁忙,请稍后再试', { icon: 2, anim: 6, time: 1500 });
}
});
//执行实例
upload.render({
accept: 'imgurl'
, elem: '#imgurl_detail' //绑定元素
, url: '/admin/picture' //上传接口
, done: function (res) {
//上传完毕回调
if (res.status == 1) { //成功
layer.msg("上传成功", { icon: 1, time: 1000 }, function () {
$("#imgurl_detail").attr("src", res.data.path); //单图
$("input[name=imgurl_detail]").val(res.data.imgurl);
});
} else { //失败
layer.msg(res.msg, { icon: 2, anim: 6, time: 1500 });
}
}
, error: function () {
//请求异常回调
layer.msg('服务繁忙,请稍后再试', { icon: 2, anim: 6, time: 1500 });
}
});
});
function check() {
var url = "{:url('/admin/goods_edit')}";
var $ = layui.$;
var load = layer.load(2);
$.post(url, $("form").serialize(), function (data) {
if (data.status == 1) {
layer.msg(data.msg, { icon: 1, time: 1500 }, function () {
var index = parent.layer.getFrameIndex(window.name); //先得到当前iframe层的索引
parent.layer.close(index);
// parent.location.reload();
parent.table.reload('goodsTable');
});
} else {
layer.msg(data.msg, { icon: 2, anim: 6, time: 1500 }, function () {
layer.close(load);
});
}
})
}
</script>

View File

@ -48,7 +48,7 @@
<th>奖品图片</th> <th>奖品图片</th>
<th>奖品售价</th> <th>奖品售价</th>
<th>奖品兑换价</th> <th>奖品兑换价</th>
{if $type eq 1 || $type eq 3 || $type eq 5 || $type eq 10 || $type eq 11} {if $type eq 1 || $type eq 3 || $type eq 5 || $type eq 10 || $type eq 11|| $type eq 15}
<th>奖品数量</th> <th>奖品数量</th>
{/if} {/if}
{if $type eq 2 || $type eq 8 || $type eq 9} {if $type eq 2 || $type eq 8 || $type eq 9}
@ -74,7 +74,7 @@
<td>{$vo['money']}</td> <td>{$vo['money']}</td>
{if $type eq 1} {if $type eq 1}
{/if} {/if}
{if $type eq 1 || $type eq 3 || $type eq 5 || $type eq 10 || $type eq 11} {if $type eq 1 || $type eq 3 || $type eq 5 || $type eq 10 || $type eq 11 || $type eq 15}
<td>{$vo['stock']}</td> <td>{$vo['stock']}</td>
{/if} {/if}
{if $type eq 2 || $type eq 8 || $type eq 9} {if $type eq 2 || $type eq 8 || $type eq 9}
@ -140,7 +140,7 @@
} }
//编辑奖品 //编辑奖品
function goodslist_edit(id) { function goodslist_edit(id) {
var url = "{:url('/admin/goodslist_edit?id=" + id + "')}"; var url = "{:url('/admin/goodslist_edit?id=" + id + "')}";

View File

@ -1,197 +1,224 @@
{include file="Public:header2"/} {include file="Public:header2"/}
<body style="min-height: 100%;background-color: #fff">
<div class="layui-fluid">
<div class="layui-row layui-col-space15">
<div class="layui-col-md12">
<div class="layui-card">
<div class="layui-card-body">
<form onsubmit="return false;">
<div class="layui-form" wid100 lay-filter="">
<div class="layui-form-item">
<label class="layui-form-label">奖品名称</label>
<div class="layui-input-inline">
<input type="text" name="title" autocomplete="off" placeholder="请输入奖品名称" class="layui-input" style="width: 521px">
</div>
</div>
{if $type eq 9}
<div class="layui-form-item lian_ji_type">
<label class="layui-form-label">奖池分类</label>
<div class="layui-input-inline" style="width: 700px">
<input type="radio" name="lian_ji_type" value="0" lay-filter="type" class="layui-input" title="连击赏池" checked>
<input type="radio" name="lian_ji_type" value="1" lay-filter="type" class="layui-input" title="秘宝池" >
</div>
</div>
{/if}
<div class="layui-form-item">
<label class="layui-form-label">奖品类型</label>
<div class="layui-input-inline" style="width: 521px">
<select name="shang_id">
<option value="">--请选择--</option>
{foreach name="shang" item="vo"}
<option value="{$vo.id}">{$vo.title}</option>
{/foreach}
</select>
</div>
</div>
<div class="layui-form-item">
<label class="layui-form-label">奖品售价</label>
<div class="layui-input-inline">
<input type="text" name="price" autocomplete="off" placeholder="请输入奖品售价" class="layui-input">
</div>
<label class="layui-form-label">兑换价格</label>
<div class="layui-input-inline">
<input type="text" name="money" autocomplete="off" placeholder="请输入兑换价格" class="layui-input">
</div>
</div>
<div class="layui-form-item">
<label class="layui-form-label">参考价格</label>
<div class="layui-input-inline">
<input type="text" name="sc_money" autocomplete="off" placeholder="请输入市场参考价格" class="layui-input">
</div>
</div>
{if $type eq 1 || $type eq 3 || $type eq 5 || $type eq 10 || $type eq 6 || $type eq 11}
<div class="layui-form-item">
<label class="layui-form-label">奖品数量</label>
<div class="layui-input-inline">
<input type="text" name="stock" autocomplete="off" placeholder="请输入奖品数量" class="layui-input" style="width: 521px">
</div>
</div>
{/if} <body style="min-height: 100%;background-color: #fff">
{if $type eq 3} <div class="layui-fluid">
<div class="layui-form-item id_prize_num"> <div class="layui-row layui-col-space15">
<label class="layui-form-label">擂台赏抽全局赏数量</label> <div class="layui-col-md12">
<div class="layui-input-inline"> <div class="layui-card">
<input type="text" name="prize_num" value="0" placeholder="请输入擂台赏抽全局赏数量" class="layui-input" style="width: 600px"> <div class="layui-card-body">
<form onsubmit="return false;">
<div class="layui-form" wid100 lay-filter="">
<div class="layui-form-item">
<label class="layui-form-label">奖品名称</label>
<div class="layui-input-inline">
<input type="text" name="title" autocomplete="off" placeholder="请输入奖品名称"
class="layui-input" style="width: 521px">
</div>
</div>
{if $type eq 9}
<div class="layui-form-item lian_ji_type">
<label class="layui-form-label">奖池分类</label>
<div class="layui-input-inline" style="width: 700px">
<input type="radio" name="lian_ji_type" value="0" lay-filter="type"
class="layui-input" title="连击赏池" checked>
<input type="radio" name="lian_ji_type" value="1" lay-filter="type"
class="layui-input" title="秘宝池">
</div>
</div>
{/if}
<div class="layui-form-item">
<label class="layui-form-label">奖品分类</label>
<div class="layui-input-inline" style="width: 512px;">
<input type="radio" lay-filter="goods_type" name="goods_type" value="1"
title="现货" checked>
<input type="radio" lay-filter="goods_type" name="goods_type" value="2"
title="预售">
<input type="radio" lay-filter="goods_type" name="goods_type" value="3"
title="货币">
</div>
</div>
<div class="layui-form-item">
<label class="layui-form-label">奖品类型</label>
<div class="layui-input-inline" style="width: 521px">
<select name="shang_id">
<option value="">--请选择--</option>
{foreach name="shang" item="vo"}
<option value="{$vo.id}">{$vo.title}</option>
{/foreach}
</select>
</div>
</div>
<div class="layui-form-item">
<label class="layui-form-label">奖品售价</label>
<div class="layui-input-inline">
<input type="text" name="price" autocomplete="off" placeholder="请输入奖品售价"
class="layui-input">
</div>
<label class="layui-form-label">兑换价格</label>
<div class="layui-input-inline">
<input type="text" name="money" autocomplete="off" placeholder="请输入兑换价格"
class="layui-input">
</div>
</div>
<div class="layui-form-item">
<label class="layui-form-label">参考价格</label>
<div class="layui-input-inline">
<input type="text" name="sc_money" autocomplete="off" placeholder="请输入市场参考价格"
class="layui-input">
</div>
</div>
{if $type eq 1 || $type eq 3 || $type eq 5 || $type eq 10 || $type eq 6 || $type eq 11 || $type eq 15}
<div class="layui-form-item">
<label class="layui-form-label">奖品数量</label>
<div class="layui-input-inline">
<input type="text" name="stock" autocomplete="off" placeholder="请输入奖品数量"
class="layui-input" style="width: 521px">
</div>
</div>
{/if}
{if $type eq 3}
<div class="layui-form-item id_prize_num">
<label class="layui-form-label">擂台赏抽全局赏数量</label>
<div class="layui-input-inline">
<input type="text" name="prize_num" value="0" placeholder="请输入擂台赏抽全局赏数量"
class="layui-input" style="width: 600px">
</div>
</div>
{/if}
{if $type eq 2 || $type eq 8 || $type eq 9}
<div class="layui-form-item">
<label class="layui-form-label">真实概率</label>
<div class="layui-input-inline" style="width: 700px">
<input type="text" name="real_pro" autocomplete="off" placeholder="请输入真实概率"
class="layui-input" style="width: 521px;display: inline-block">%
</div>
</div>
{/if}
<div class="layui-form-item sale_time" style="display: none">
<label class="layui-form-label">预售时间</label>
<div class="layui-input-inline" style="width: 512px;">
<input type="text" name="sale_time" id="sale_time" placeholder="请选择预售时间"
autocomplete="off" class="layui-input">
</div>
</div>
<div class="layui-form-item">
<label class="layui-form-label">排序</label>
<div class="layui-input-inline">
<input type="text" name="sort" value="0" autocomplete="off" placeholder="请输入排序"
class="layui-input" style="width: 521px">
</div>
</div>
<div class="layui-form-item">
<label class="layui-form-label">赠送货币</label>
<div class="layui-input-inline " style="width: 80%">
<div id="rewardInfoContainer" style="width: 100%;"></div>
</div>
</div>
<div class="layui-form-item">
<label class="layui-form-label">奖品图片</label>
<div class="layui-input-inline">
<input type="hidden" name="imgurl" value="" lay-verify="required"
placeholder="请上传图片" autocomplete="off" class="layui-input">
<img style="float:left;width:120px;" class="" id="imgurl"
src="/static/image/upload.jpg">
</div>
</div>
<input type="hidden" name="goods_id" value="{$goods_id}">
<div class="layui-form-item">
<div class="layui-input-block">
<button class="layui-btn" onclick="return check()">确认保存</button>
</div>
</div> </div>
</div> </div>
{/if} </form>
{if $type eq 2 || $type eq 8 || $type eq 9} </div>
<div class="layui-form-item">
<label class="layui-form-label">真实概率</label>
<div class="layui-input-inline" style="width: 700px">
<input type="text" name="real_pro" autocomplete="off" placeholder="请输入真实概率" class="layui-input" style="width: 521px;display: inline-block">%
</div>
</div>
{/if}
<div class="layui-form-item">
<label class="layui-form-label">奖品类型</label>
<div class="layui-input-inline" style="width: 512px;">
<input type="radio" lay-filter="goods_type" name="goods_type" value="1" title="现货" checked>
<input type="radio" lay-filter="goods_type" name="goods_type" value="2" title="预售">
</div>
</div>
<div class="layui-form-item sale_time" style="display: none">
<label class="layui-form-label">预售时间</label>
<div class="layui-input-inline" style="width: 512px;">
<input type="text" name="sale_time" id="sale_time" placeholder="请选择预售时间" autocomplete="off" class="layui-input">
</div>
</div>
<div class="layui-form-item">
<label class="layui-form-label">排序</label>
<div class="layui-input-inline">
<input type="text" name="sort" value="0" autocomplete="off"placeholder="请输入排序" class="layui-input" style="width: 521px">
</div>
</div>
<!-- <div class="layui-form-item">-->
<!-- <label class="layui-form-label">赠送编码</label>-->
<!-- <div class="layui-input-inline">-->
<!-- <input type="text" name="card_no" value="" autocomplete="off"placeholder="请输入奖品编号" class="layui-input" style="width: 521px">-->
<!-- </div>-->
<!-- </div>-->
<div class="layui-form-item">
<label class="layui-form-label">奖品图片</label>
<div class="layui-input-inline">
<input type="hidden" name="imgurl" value="" lay-verify="required" placeholder="请上传图片" autocomplete="off" class="layui-input" >
<img style="float:left;width:120px;" class="" id="imgurl" src="/static/image/upload.jpg">
</div>
</div>
<input type="hidden" name="goods_id" value="{$goods_id}">
<div class="layui-form-item">
<div class="layui-input-block">
<button class="layui-btn" onclick="return check()">确认保存</button>
</div>
</div>
</div>
</form>
</div> </div>
</div> </div>
</div> </div>
</div> </div>
</div> {include file="Public:footer"/}
{include file="Public:footer"/} <script type="text/javascript" src="/static/admin/lib/ueditor/1.4.3/ueditor.config.js"></script>
</body> <script type="text/javascript" src="/static/admin/lib/ueditor/1.4.3/ueditor.all.min.js"> </script>
<script type="text/javascript" src="/static/admin/lib/ueditor/1.4.3/ueditor.config.js"></script> <script type="text/javascript" src="/static/admin/lib/ueditor/1.4.3/lang/zh-cn/zh-cn.js"></script>
<script type="text/javascript" src="/static/admin/lib/ueditor/1.4.3/ueditor.all.min.js"> </script> <script type="text/javascript">
<script type="text/javascript" src="/static/admin/lib/ueditor/1.4.3/lang/zh-cn/zh-cn.js"></script> layui.use(['layer', 'form', 'upload', 'element', 'laydate'], function () {
</html> var $ = layui.$;
<script type="text/javascript"> var form = layui.form;
layui.use(['layer','form','upload','element','laydate'], function(){ var upload = layui.upload;
var $ = layui.$; var element = layui.element;
var form = layui.form; var laydate = layui.laydate;
var upload = layui.upload; // 页面加载时初始化奖励信息区域
var element = layui.element; initRewardInfo('rewardInfoContainer');
var laydate = layui.laydate; var new_data = new Date();
var new_data = new Date(); new_data.setTime(new_data.getTime() + 24 * 60 * 60 * 1000);
new_data.setTime(new_data.getTime()+24*60*60*1000); var tomorrow_time = new_data.getFullYear() + "-" + (new_data.getMonth() + 1) + "-" + new_data.getDate();
var tomorrow_time = new_data.getFullYear()+"-" + (new_data.getMonth()+1) + "-" + new_data.getDate(); laydate.render({
laydate.render({ elem: '#sale_time',
elem: '#sale_time', min: tomorrow_time
min:tomorrow_time });
}); //现货/预售切换
//现货/预售切换 form.on('radio(goods_type)', function (data) {
form.on('radio(goods_type)', function (data) { console.log(111111);
console.log(111111); var value = data.value; // 当前选中的value值
var value = data.value; // 当前选中的value值 if (value == 1) {
if(value == 1){ $("#sale_time").val('')
$("#sale_time").val('') $(".sale_time").hide()
$(".sale_time").hide() } else if (value == 2) {
}else{ $(".sale_time").show()
$(".sale_time").show() } else if (value == 3) {
}
});
upload.render({
accept:'imgurl'
,elem: '#imgurl' //绑定元素
,url: '/admin/picture' //上传接口
,done: function(res){
//上传完毕回调
if(res.status == 1){ //成功
layer.msg("上传成功",{icon:1,time:1000},function(){
$("#imgurl").attr("src",res.data.path); //单图
$("input[name=imgurl]").val(res.data.imgurl);
});
}else{ //失败
layer.msg(res.msg,{icon:2,anim:6,time:1500});
} }
} });
,error: function(){
//请求异常回调 upload.render({
layer.msg('服务繁忙,请稍后再试',{icon:2,anim:6,time:1500}); accept: 'imgurl'
} , elem: '#imgurl' //绑定元素
, url: '/admin/picture' //上传接口
, done: function (res) {
//上传完毕回调
if (res.status == 1) { //成功
layer.msg("上传成功", { icon: 1, time: 1000 }, function () {
$("#imgurl").attr("src", res.data.path); //单图
$("input[name=imgurl]").val(res.data.imgurl);
});
} else { //失败
layer.msg(res.msg, { icon: 2, anim: 6, time: 1500 });
}
}
, error: function () {
//请求异常回调
layer.msg('服务繁忙,请稍后再试', { icon: 2, anim: 6, time: 1500 });
}
});
}); });
}); async function check() {
await processRewardIdData('MHHZ');
var url = "{:url('/admin/goodslist_add')}";
var $ = layui.$;
var load = layer.load(2);
console.log($("form").serialize());
function check(){ $.post(url, $("form").serialize(), function (data) {
var url="{:url('/admin/goodslist_add')}"; if (data.status == 1) {
var $ = layui.$; layer.msg(data.msg, { icon: 1, time: 1500 }, function () {
var load=layer.load(2); var index = parent.layer.getFrameIndex(window.name); //先得到当前iframe层的索引
$.post(url,$("form").serialize(),function(data){ parent.layer.close(index);
if(data.status==1){ parent.location.reload();
layer.msg(data.msg,{icon:1,time:1500},function(){ });
var index = parent.layer.getFrameIndex(window.name); //先得到当前iframe层的索引 } else {
parent.layer.close(index); layer.msg(data.msg, { icon: 2, anim: 6, time: 1500 }, function () {
parent.location.reload(); layer.close(load);
}); });
}else{ }
layer.msg(data.msg,{icon:2,anim:6,time:1500},function(){ })
layer.close(load); }
});
}
})
}
</script> </script>
</body>
</html>

View File

@ -1,186 +1,219 @@
{include file="Public:header2"/} {include file="Public:header2"/}
<body style="min-height: 100%;background-color: #fff"> <body style="min-height: 100%;background-color: #fff">
<div class="layui-fluid"> <div class="layui-fluid">
<div class="layui-row layui-col-space15"> <div class="layui-row layui-col-space15">
<div class="layui-col-md12"> <div class="layui-col-md12">
<div class="layui-card"> <div class="layui-card">
<div class="layui-card-body"> <div class="layui-card-body">
<form onsubmit="return false;"> <form onsubmit="return false;">
<div class="layui-form" wid100 lay-filter=""> <div class="layui-form" wid100 lay-filter="">
<div class="layui-form-item"> <div class="layui-form-item">
<label class="layui-form-label">奖品名称</label> <label class="layui-form-label">奖品名称</label>
<div class="layui-input-inline"> <div class="layui-input-inline">
<input type="text" name="title" value="{$goods.title}" autocomplete="off" placeholder="请输入奖品名称" class="layui-input" style="width: 521px"> <input type="text" name="title" value="{$goods.title}" autocomplete="off"
placeholder="请输入奖品名称" class="layui-input" style="width: 521px">
</div>
</div>
{if $type eq 9}
<div class="layui-form-item lian_ji_type">
<label class="layui-form-label">奖池分类</label>
<div class="layui-input-inline" style="width: 700px">
<input type="radio" name="lian_ji_type" value="0" lay-filter="type"
class="layui-input" title="连击赏池" {if $goods.lian_ji_type eq 0} checked
{/if}>
<input type="radio" name="lian_ji_type" value="1" lay-filter="type"
class="layui-input" title="秘宝池" {if $goods.lian_ji_type eq 1} checked {/if}>
</div>
</div>
{/if}
<div class="layui-form-item">
<label class="layui-form-label">奖品类型</label>
<div class="layui-input-inline" style="width: 521px">
<select name="shang_id">
<option value="">--请选择--</option>
{foreach name="shang" item="vo"}
<option value="{$vo.id}" {if $goods.shang_id eq $vo.id} selected {/if}>
{$vo.title}</option>
{/foreach}
</select>
</div>
</div>
<div class="layui-form-item">
<label class="layui-form-label">奖品售价</label>
<div class="layui-input-inline">
<input type="text" name="price" value="{$goods.price}" autocomplete="off"
placeholder="请输入奖品售价" class="layui-input">
</div>
<label class="layui-form-label">兑换价格</label>
<div class="layui-input-inline">
<input type="text" name="money" value="{$goods.money}" autocomplete="off"
placeholder="请输入兑换价格" class="layui-input">
</div>
</div>
<div class="layui-form-item">
<label class="layui-form-label">参考价格</label>
<div class="layui-input-inline">
<input type="text" name="sc_money" value="{$goods.sc_money}" autocomplete="off"
placeholder="请输入市场参考价格" class="layui-input">
</div>
</div>
{if $type eq 1 || $type eq 3 || $type eq 5 || $type eq 10 || $type eq 11 || $type eq 6
|| $type eq 15}
<div class="layui-form-item">
<label class="layui-form-label">奖品数量</label>
<div class="layui-input-inline">
<input type="text" value="{$goods.stock}" autocomplete="off"
placeholder="请输入奖品数量" class="layui-input" style="width: 521px" disabled>
</div>
</div>
{/if}
{if $type eq 3}
<div class="layui-form-item id_prize_num">
<label class="layui-form-label">擂台赏抽全局赏数量</label>
<div class="layui-input-inline">
<input type="text" name="prize_num" value="{$goods.prize_num}"
placeholder="请输入擂台赏抽全局赏数量" class="layui-input" style="width: 600px">
</div>
</div>
{/if}
{if $type eq 2 || $type eq 8 || $type eq 9}
<div class="layui-form-item">
<label class="layui-form-label">真实概率</label>
<div class="layui-input-inline" style="width: 700px">
<input type="text" name="real_pro" value="{$goods.real_pro}" autocomplete="off"
placeholder="请输入真实概率" class="layui-input"
style="width: 521px;display: inline-block">%
</div>
</div>
{/if}
<div class="layui-form-item">
<label class="layui-form-label">奖品类型</label>
<div class="layui-input-inline" style="width: 521px;">
<input type="radio" lay-filter="goods_type" name="goods_type" value="1"
title="现货" {if $goods.goods_type eq 1} checked {/if}>
<input type="radio" lay-filter="goods_type" name="goods_type" value="2"
title="预售" {if $goods.goods_type eq 2} checked {/if}>
<input type="radio" lay-filter="goods_type" name="goods_type" value="3"
title="货币" {if $goods.goods_type eq 3} checked {/if}>
</div>
</div>
<div class="layui-form-item sale_time" {if $goods.goods_type eq 1 || $goods.goods_type eq 3} style="display: none"
{/if}>
<label class="layui-form-label">预售时间</label>
<div class="layui-input-inline" style="width: 521px;">
<input type="text" name="sale_time" value="{$goods.sale_time}" id="sale_time"
placeholder="请选择预售时间" autocomplete="off" class="layui-input">
</div>
</div>
<div class="layui-form-item">
<label class="layui-form-label">排序</label>
<div class="layui-input-inline">
<input type="text" name="sort" value="{$goods.sort}" autocomplete="off"
placeholder="请输入排序" class="layui-input" style="width: 521px">
</div>
</div>
<div class="layui-form-item">
<label class="layui-form-label">赠送货币</label>
<div class="layui-input-inline " style="width: 80%">
<div id="rewardInfoContainer" style="width: 100%;"></div>
</div>
</div>
<div class="layui-form-item">
<label class="layui-form-label">奖品图片</label>
<div class="layui-input-inline">
<input type="hidden" name="imgurl" value="{$goods.imgurl}" lay-verify="required"
placeholder="请上传图片" autocomplete="off" class="layui-input">
<img style="float:left;width:120px;" class="" id="imgurl"
src="{:imageUrl($goods.imgurl)}">
</div>
</div>
<input type="hidden" name="id" value="{$goods.id}">
<div class="layui-form-item">
<div class="layui-input-block">
<button class="layui-btn" onclick="return check()">确认保存</button>
</div>
</div> </div>
</div> </div>
{if $type eq 9} </form>
<div class="layui-form-item lian_ji_type"> </div>
<label class="layui-form-label">奖池分类</label>
<div class="layui-input-inline" style="width: 700px">
<input type="radio" name="lian_ji_type" value="0" lay-filter="type" class="layui-input" title="连击赏池" {if $goods.lian_ji_type eq 0} checked {/if}>
<input type="radio" name="lian_ji_type" value="1" lay-filter="type" class="layui-input" title="秘宝池" {if $goods.lian_ji_type eq 1} checked {/if}>
</div>
</div>
{/if}
<div class="layui-form-item">
<label class="layui-form-label">奖品类型</label>
<div class="layui-input-inline" style="width: 521px">
<select name="shang_id" >
<option value="">--请选择--</option>
{foreach name="shang" item="vo"}
<option value="{$vo.id}" {if $goods.shang_id eq $vo.id} selected {/if}>{$vo.title}</option>
{/foreach}
</select>
</div>
</div>
<div class="layui-form-item">
<label class="layui-form-label">奖品售价</label>
<div class="layui-input-inline">
<input type="text" name="price" value="{$goods.price}" autocomplete="off" placeholder="请输入奖品售价" class="layui-input">
</div>
<label class="layui-form-label">兑换价格</label>
<div class="layui-input-inline">
<input type="text" name="money" value="{$goods.money}" autocomplete="off" placeholder="请输入兑换价格" class="layui-input">
</div>
</div>
<div class="layui-form-item">
<label class="layui-form-label">参考价格</label>
<div class="layui-input-inline">
<input type="text" name="sc_money" value="{$goods.sc_money}" autocomplete="off" placeholder="请输入市场参考价格" class="layui-input">
</div>
</div>
{if $type eq 1 || $type eq 3 || $type eq 5 || $type eq 10 || $type eq 11 || $type eq 6}
<div class="layui-form-item">
<label class="layui-form-label">奖品数量</label>
<div class="layui-input-inline">
<input type="text" value="{$goods.stock}" autocomplete="off" placeholder="请输入奖品数量" class="layui-input" style="width: 521px" disabled>
</div>
</div>
{/if}
{if $type eq 3}
<div class="layui-form-item id_prize_num">
<label class="layui-form-label">擂台赏抽全局赏数量</label>
<div class="layui-input-inline">
<input type="text" name="prize_num" value="{$goods.prize_num}" placeholder="请输入擂台赏抽全局赏数量" class="layui-input" style="width: 600px">
</div>
</div>
{/if}
{if $type eq 2 || $type eq 8 || $type eq 9}
<div class="layui-form-item">
<label class="layui-form-label">真实概率</label>
<div class="layui-input-inline" style="width: 700px">
<input type="text" name="real_pro" value="{$goods.real_pro}" autocomplete="off" placeholder="请输入真实概率" class="layui-input" style="width: 521px;display: inline-block">%
</div>
</div>
{/if}
<div class="layui-form-item">
<label class="layui-form-label">奖品类型</label>
<div class="layui-input-inline" style="width: 521px;">
<input type="radio" lay-filter="goods_type" name="goods_type" value="1" title="现货" {if $goods.goods_type eq 1} checked {/if}>
<input type="radio" lay-filter="goods_type" name="goods_type" value="2" title="预售" {if $goods.goods_type eq 2} checked {/if}>
</div>
</div>
<div class="layui-form-item sale_time" {if $goods.goods_type eq 1} style="display: none" {/if}>
<label class="layui-form-label">预售时间</label>
<div class="layui-input-inline" style="width: 521px;">
<input type="text" name="sale_time" value="{$goods.sale_time}" id="sale_time" placeholder="请选择预售时间" autocomplete="off" class="layui-input">
</div>
</div>
<div class="layui-form-item">
<label class="layui-form-label">排序</label>
<div class="layui-input-inline">
<input type="text" name="sort" value="{$goods.sort}" autocomplete="off"placeholder="请输入排序" class="layui-input" style="width: 521px">
</div>
</div>
<div class="layui-form-item">
<label class="layui-form-label">奖品图片</label>
<div class="layui-input-inline">
<input type="hidden" name="imgurl" value="{$goods.imgurl}" lay-verify="required" placeholder="请上传图片" autocomplete="off" class="layui-input" >
<img style="float:left;width:120px;" class="" id="imgurl" src="{:imageUrl($goods.imgurl)}">
</div>
</div>
<input type="hidden" name="id" value="{$goods.id}">
<div class="layui-form-item">
<div class="layui-input-block">
<button class="layui-btn" onclick="return check()">确认保存</button>
</div>
</div>
</div>
</form>
</div> </div>
</div> </div>
</div> </div>
</div> </div>
</div> {include file="Public:footer"/}
{include file="Public:footer"/}
</body> </body>
<script type="text/javascript" src="/static/admin/lib/ueditor/1.4.3/ueditor.config.js"></script> <script type="text/javascript" src="/static/admin/lib/ueditor/1.4.3/ueditor.config.js"></script>
<script type="text/javascript" src="/static/admin/lib/ueditor/1.4.3/ueditor.all.min.js"> </script> <script type="text/javascript" src="/static/admin/lib/ueditor/1.4.3/ueditor.all.min.js"> </script>
<script type="text/javascript" src="/static/admin/lib/ueditor/1.4.3/lang/zh-cn/zh-cn.js"></script> <script type="text/javascript" src="/static/admin/lib/ueditor/1.4.3/lang/zh-cn/zh-cn.js"></script>
</html>
<script type="text/javascript"> <script type="text/javascript">
layui.use(['layer','form','upload','element','laydate'], function(){ layui.use(['layer', 'form', 'upload', 'element', 'laydate'], function () {
var $ = layui.$; var $ = layui.$;
var form = layui.form; var form = layui.form;
var upload = layui.upload; var upload = layui.upload;
var element = layui.element; var element = layui.element;
var laydate = layui.laydate; var laydate = layui.laydate;
var new_data = new Date(); var new_data = new Date();
new_data.setTime(new_data.getTime()+24*60*60*1000); // 页面加载时初始化奖励信息区域
var tomorrow_time = new_data.getFullYear()+"-" + (new_data.getMonth()+1) + "-" + new_data.getDate(); initRewardInfo('rewardInfoContainer', '{$goods.reward_id}');
new_data.setTime(new_data.getTime() + 24 * 60 * 60 * 1000);
var tomorrow_time = new_data.getFullYear() + "-" + (new_data.getMonth() + 1) + "-" + new_data.getDate();
laydate.render({ laydate.render({
elem: '#sale_time', elem: '#sale_time',
min:tomorrow_time min: tomorrow_time
}); });
//现货/预售切换 //现货/预售切换
form.on('radio(goods_type)', function (data) { form.on('radio(goods_type)', function (data) {
var value = data.value; // 当前选中的value值 var value = data.value; // 当前选中的value值
if(value == 1){ if (value == 1) {
$("#sale_time").val('') $("#sale_time").val('')
$(".sale_time").hide() $(".sale_time").hide()
}else{ } else if (value == 2) {
$(".sale_time").show() $(".sale_time").show()
} else if (value == 3) {
} }
}); });
upload.render({ upload.render({
accept:'imgurl' accept: 'imgurl'
,elem: '#imgurl' //绑定元素 , elem: '#imgurl' //绑定元素
,url: '/admin/picture' //上传接口 , url: '/admin/picture' //上传接口
,done: function(res){ , done: function (res) {
//上传完毕回调 //上传完毕回调
if(res.status == 1){ //成功 if (res.status == 1) { //成功
layer.msg("上传成功",{icon:1,time:1000},function(){ layer.msg("上传成功", { icon: 1, time: 1000 }, function () {
$("#imgurl").attr("src",res.data.path); //单图 $("#imgurl").attr("src", res.data.path); //单图
$("input[name=imgurl]").val(res.data.imgurl); $("input[name=imgurl]").val(res.data.imgurl);
}); });
}else{ //失败 } else { //失败
layer.msg(res.msg,{icon:2,anim:6,time:1500}); layer.msg(res.msg, { icon: 2, anim: 6, time: 1500 });
} }
} }
,error: function(){ , error: function () {
//请求异常回调 //请求异常回调
layer.msg('服务繁忙,请稍后再试',{icon:2,anim:6,time:1500}); layer.msg('服务繁忙,请稍后再试', { icon: 2, anim: 6, time: 1500 });
} }
}); });
}); });
function check(){ async function check() {
var url="{:url('/admin/goodslist_edit')}"; var url = "{:url('/admin/goodslist_edit')}";
var $ = layui.$; var $ = layui.$;
var load=layer.load(2); await processRewardIdData('MHHZ');
$.post(url,$("form").serialize(),function(data){ var load = layer.load(2);
if(data.status==1){ $.post(url, $("form").serialize(), function (data) {
layer.msg(data.msg,{icon:1,time:1500},function(){ if (data.status == 1) {
layer.msg(data.msg, { icon: 1, time: 1500 }, function () {
var index = parent.layer.getFrameIndex(window.name); //先得到当前iframe层的索引 var index = parent.layer.getFrameIndex(window.name); //先得到当前iframe层的索引
parent.layer.close(index); parent.layer.close(index);
parent.location.reload(); parent.location.reload();
}); });
}else{ } else {
layer.msg(data.msg,{icon:2,anim:6,time:1500},function(){ layer.msg(data.msg, { icon: 2, anim: 6, time: 1500 }, function () {
layer.close(load); layer.close(load);
}); });
} }
@ -188,3 +221,5 @@
} }
</script> </script>
</html>

View File

@ -83,8 +83,10 @@ class Goods extends Base
$whe[] = ['type', '=', 11]; $whe[] = ['type', '=', 11];
} elseif ($type_str == 12) { } elseif ($type_str == 12) {
$whe[] = ['type', '=', 12]; $whe[] = ['type', '=', 12];
} elseif ($type_str == 15) {
$whe[] = ['type', '=', 15];
} else { } else {
$whe[] = ['type', 'not in', [4, 10]]; $whe[] = ['type', 'not in', [4, 10, 15]];
} }
$user_id = $this->getUserId(); $user_id = $this->getUserId();
@ -166,7 +168,64 @@ class Goods extends Base
} }
/**
* 福利屋
* @param \think\Request $request
* @return \think\response\Json
*/
public function goods_fuliwu(Request $request)
{
$type_str = request()->param('type', 1);
if ($type_str != 1 && $type_str != 3) {
return $this->renderError('参数错误');
}
$whe = [];
$whe[] = ['status', '=', $type_str];
$paginate = 15;
$whe[] = ['type', '=', 15];
$user_id = $this->getUserId();
if ($user_id == 0) {
//充值金额
$whe[] = ['unlock_amount', '=', 0];
} else {
$order_money = Order::where('status', '=', 1)->where('user_id', '=', $user_id)->sum('price');
$userInfo = User::where('id', '=', $user_id)->field('istest')->find();
if ($userInfo && $userInfo['istest'] > 0) {
//推广账号,门槛计算是全部的
$order_money = Order::where('status', '=', 1)->where('user_id', '=', $user_id)->sum('order_zhe_total');
}
$whe[] = ['unlock_amount', '<=', $order_money];
}
#盒子
$goods = GoodsModel::where($whe)
->field("id,title,imgurl,price,type,new_is,quanju_xiangou,choujiang_xianzhi,flw_start_time,flw_end_time,open_time,goods_describe,is_open")
->order("sort desc,id desc")->paginate($paginate)->each(function ($itme) {
$itme['imgurl'] = imageUrl($itme['imgurl']);
$itme['flw_start_time'] = date('Y-m-d H:i:s', $itme['flw_start_time']);
$itme['flw_end_time'] = date('Y-m-d H:i:s', $itme['flw_end_time']);
$itme['open_time'] = date('Y-m-d H:i:s', $itme['open_time']);
$goodslist = GoodsList::where('goods_id', '=', $itme['id'])
->where('num', '=', 0)
->field('title,imgurl,stock,price,sc_money')
->select()
->toArray();
$itme['goodslist'] = $goodslist;
#参与次数
$join_count = OrderList::field('id')
->where('goods_id', '=', $itme['id'])
->where('order_type', '=', $itme['type'])
->count();
$itme['join_count'] = $join_count;
});
$new_data = [
'data' => $goods->items(),
'last_page' => $goods->lastPage(),
];
return $this->renderSuccess('请求成功', $new_data);
}
/** /**
* 商品详情 * 商品详情
* @param $goods_id 盒子id * @param $goods_id 盒子id
@ -627,6 +686,31 @@ class Goods extends Base
if ($shou_zhe_price <= 0) { if ($shou_zhe_price <= 0) {
$iszhifu = 0; $iszhifu = 0;
# 余额抵扣
if ($use_money_is == 1 && $goodsType['pay_balance'] == 1) {
if ($goodsType['is_deduction'] == 1) {
# 抵扣模式
if ($user['money'] >= $price) {
$use_money = $price;
$price = 0;
} else {
$use_money = $user['money'];
$price = bcsub("$price", "$use_money", 2);
}
} else {
# 支付模式
if ($user['money'] >= $price) {
$use_money = $price;
$price = 0;
$iszhifu++;
} else {
# 支付模式下余额不足无法抵扣
$use_money = 0;
return $this->renderError('金额不足');
}
}
}
# 货币1抵扣 # 货币1抵扣
if ($use_integral_is == 1 && $goodsType['pay_currency'] == 1) { if ($use_integral_is == 1 && $goodsType['pay_currency'] == 1) {
$price_in_currency = $price * 100; # 1:100比例 $price_in_currency = $price * 100; # 1:100比例
@ -653,30 +737,7 @@ class Goods extends Base
} }
} }
# 余额抵扣
if ($use_money_is == 1 && $goodsType['pay_balance'] == 1) {
if ($goodsType['is_deduction'] == 1) {
# 抵扣模式
if ($user['money'] >= $price) {
$use_money = $price;
$price = 0;
} else {
$use_money = $user['money'];
$price = bcsub("$price", "$use_money", 2);
}
} else {
# 支付模式
if ($user['money'] >= $price) {
$use_money = $price;
$price = 0;
$iszhifu++;
} else {
# 支付模式下余额不足无法抵扣
$use_money = 0;
return $this->renderError('金额不足');
}
}
}
# 货币2抵扣 # 货币2抵扣
if ($use_money2_is == 1 && $goodsType['pay_currency2'] == 1) { if ($use_money2_is == 1 && $goodsType['pay_currency2'] == 1) {
@ -888,7 +949,35 @@ class Goods extends Base
# 对于非积分赏类型,应用会员折扣 # 对于非积分赏类型,应用会员折扣
if ($shou_zhe_price <= 0) { if ($shou_zhe_price <= 0) {
$iszhifu = 0; $iszhifu = 0;
# 余额抵扣
if ($use_money_is == 1 && $goodsType['pay_balance'] == 1) {
if ($goodsType['is_deduction'] == 1) {
# 抵扣模式
if ($user['money'] >= $price) {
$use_money = $price;
$price = 0;
} else {
$use_money = $user['money'];
$price = bcsub("$price", "$use_money", 2);
}
} else {
# 支付模式
if ($user['money'] >= $price) {
$use_money = $price;
$price = 0;
$iszhifu++;
} else {
# 支付模式下余额不足无法抵扣
$use_money = 0;
return $this->renderError('金额不足');
}
}
}
# 货币1抵扣 # 货币1抵扣
if ($use_integral_is == 1 && $goodsType['pay_currency'] == 1) { if ($use_integral_is == 1 && $goodsType['pay_currency'] == 1) {
$price_in_currency = $price * 100; # 1:100比例 $price_in_currency = $price * 100; # 1:100比例
@ -915,30 +1004,7 @@ class Goods extends Base
} }
} }
# 余额抵扣
if ($use_money_is == 1 && $goodsType['pay_balance'] == 1) {
if ($goodsType['is_deduction'] == 1) {
# 抵扣模式
if ($user['money'] >= $price) {
$use_money = $price;
$price = 0;
} else {
$use_money = $user['money'];
$price = bcsub("$price", "$use_money", 2);
}
} else {
# 支付模式
if ($user['money'] >= $price) {
$use_money = $price;
$price = 0;
$iszhifu++;
} else {
# 支付模式下余额不足无法抵扣
$use_money = 0;
return $this->renderError('金额不足');
}
}
}
# 货币2抵扣 # 货币2抵扣
if ($use_money2_is == 1 && $goodsType['pay_currency2'] == 1) { if ($use_money2_is == 1 && $goodsType['pay_currency2'] == 1) {
@ -1114,7 +1180,7 @@ class Goods extends Base
$attach = 'order_lts'; $attach = 'order_lts';
} elseif ($goods['type'] == 5) { } elseif ($goods['type'] == 5) {
$attach = 'order_jfs'; $attach = 'order_jfs';
}elseif ($goods['type'] == 6) { } elseif ($goods['type'] == 6) {
$attach = 'order_lts'; $attach = 'order_lts';
} elseif ($goods['type'] == 11) { } elseif ($goods['type'] == 11) {
$attach = 'order_zzs'; $attach = 'order_zzs';

View File

@ -343,13 +343,13 @@ class Infinite extends Base
if (!$goods) { if (!$goods) {
return $this->renderError("盒子不存在"); return $this->renderError("盒子不存在");
} }
# 获取盒子类型配置 # 获取盒子类型配置
$goodsType = \app\common\model\GoodsType::where('value', $goods['type'])->find(); $goodsType = \app\common\model\GoodsType::where('value', $goods['type'])->find();
if (!$goodsType) { if (!$goodsType) {
return $this->renderError("盒子类型配置不存在"); return $this->renderError("盒子类型配置不存在");
} }
if ($goods['status'] != 1) { if ($goods['status'] != 1) {
return $this->renderError("盒子已下架"); return $this->renderError("盒子已下架");
} }
@ -390,7 +390,7 @@ class Infinite extends Base
$use_money2 = 0; # 货币2抵扣 $use_money2 = 0; # 货币2抵扣
$zhe = 0; # 会员折扣 $zhe = 0; # 会员折扣
$coupon_price = 0; # 优惠券金额 $coupon_price = 0; # 优惠券金额
#首抽半价 #首抽半价
if ($shou_zhe_price <= 0) { if ($shou_zhe_price <= 0) {
# 判断是否可使用优惠券 # 判断是否可使用优惠券
@ -419,7 +419,7 @@ class Infinite extends Base
$price = 0; $price = 0;
} }
$order_zhe_total = $price; $order_zhe_total = $price;
# 会员折扣 # 会员折扣
$vip_info = UserVip::where(['id' => $user['vip']])->find(); $vip_info = UserVip::where(['id' => $user['vip']])->find();
if ($vip_info && $vip_info['discount'] > 0 && $goods['type'] != 10) { if ($vip_info && $vip_info['discount'] > 0 && $goods['type'] != 10) {
@ -427,8 +427,34 @@ class Infinite extends Base
$zhe_bl = bcdiv("$zhe", "10", 2); $zhe_bl = bcdiv("$zhe", "10", 2);
$order_zhe_total = $price = bcmul("$price", "$zhe_bl", 2); $order_zhe_total = $price = bcmul("$price", "$zhe_bl", 2);
} }
$iszhifu = 0; $iszhifu = 0;
# 余额抵扣
if ($use_money_is == 1 && $goodsType['pay_balance'] == 1) {
if ($goodsType['is_deduction'] == 1) {
# 抵扣模式
if ($user['money'] >= $price) {
$use_money = $price;
$price = 0;
} else {
$use_money = $user['money'];
$price = bcsub("$price", "$use_money", 2);
}
} else {
# 支付模式
if ($user['money'] >= $price) {
$use_money = $price;
$price = 0;
$iszhifu++;
} else {
# 支付模式下余额不足无法抵扣
$use_money = 0;
return $this->renderError('金额不足');
}
}
}
# 货币1抵扣吧唧币 # 货币1抵扣吧唧币
if ($use_integral_is == 1 && $goodsType['pay_currency'] == 1 && $goods_type != 10) { if ($use_integral_is == 1 && $goodsType['pay_currency'] == 1 && $goods_type != 10) {
$price_in_currency = $price * 100; # 1:100比例 $price_in_currency = $price * 100; # 1:100比例
@ -454,32 +480,9 @@ class Infinite extends Base
} }
} }
} }
# 余额抵扣
if ($use_money_is == 1 && $goodsType['pay_balance'] == 1) {
if ($goodsType['is_deduction'] == 1) {
# 抵扣模式
if ($user['money'] >= $price) {
$use_money = $price;
$price = 0;
} else {
$use_money = $user['money'];
$price = bcsub("$price", "$use_money", 2);
}
} else {
# 支付模式
if ($user['money'] >= $price) {
$use_money = $price;
$price = 0;
$iszhifu++;
} else {
# 支付模式下余额不足无法抵扣
$use_money = 0;
return $this->renderError('金额不足');
}
}
}
# 货币2抵扣 # 货币2抵扣
if ($use_money2_is == 1 && $goodsType['pay_currency2'] == 1) { if ($use_money2_is == 1 && $goodsType['pay_currency2'] == 1) {
$price_in_currency2 = $price * 100; # 1:100比例 $price_in_currency2 = $price * 100; # 1:100比例
@ -505,7 +508,7 @@ class Infinite extends Base
} }
} }
} }
if ($goodsType['is_deduction'] == 0 && $iszhifu == 0 && $goodsType['pay_wechat'] == 0) { if ($goodsType['is_deduction'] == 0 && $iszhifu == 0 && $goodsType['pay_wechat'] == 0) {
return $this->renderError('请选择支付方式'); return $this->renderError('请选择支付方式');
} }
@ -555,7 +558,7 @@ class Infinite extends Base
*/ */
public function infinite_orderbuy() public function infinite_orderbuy()
{ {
$user = $this->getUser(); $user = $this->getUser();
if (empty($user['mobile'])) { if (empty($user['mobile'])) {
return $this->renderError('请先绑定手机号', [], -9); return $this->renderError('请先绑定手机号', [], -9);
@ -575,13 +578,13 @@ class Infinite extends Base
if (!$goods) { if (!$goods) {
return $this->renderError("盒子不存在"); return $this->renderError("盒子不存在");
} }
# 获取盒子类型配置 # 获取盒子类型配置
$goodsType = \app\common\model\GoodsType::where('value', $goods['type'])->find(); $goodsType = \app\common\model\GoodsType::where('value', $goods['type'])->find();
if (!$goodsType) { if (!$goodsType) {
return $this->renderError("盒子类型配置不存在"); return $this->renderError("盒子类型配置不存在");
} }
if ($goods['status'] != 1) { if ($goods['status'] != 1) {
return $this->renderError("盒子已下架"); return $this->renderError("盒子已下架");
} }
@ -693,7 +696,7 @@ class Infinite extends Base
} else { } else {
$coupon_id = 0; $coupon_id = 0;
} }
$price = bcsub("$price", "$coupon_price", 2); $price = bcsub("$price", "$coupon_price", 2);
if ($price <= 0) { if ($price <= 0) {
@ -709,8 +712,34 @@ class Infinite extends Base
$zhe_bl = bcdiv("$zhe", "10", 2); $zhe_bl = bcdiv("$zhe", "10", 2);
$order_zhe_total = $price = bcmul("$price", "$zhe_bl", 2); $order_zhe_total = $price = bcmul("$price", "$zhe_bl", 2);
} }
$iszhifu = 0; $iszhifu = 0;
# 余额抵扣
if ($use_money_is == 1 && $goodsType['pay_balance'] == 1) {
if ($goodsType['is_deduction'] == 1) {
# 抵扣模式
if ($user['money'] >= $price) {
$use_money = $price;
$price = 0;
} else {
$use_money = $user['money'];
$price = bcsub("$price", "$use_money", 2);
}
} else {
# 支付模式
if ($user['money'] >= $price) {
$use_money = $price;
$price = 0;
$iszhifu++;
} else {
# 支付模式下余额不足无法抵扣
$use_money = 0;
return $this->renderError('金额不足');
}
}
}
# 货币1抵扣吧唧币 # 货币1抵扣吧唧币
if ($use_integral_is == 1 && $goodsType['pay_currency'] == 1 && $goods['type'] != 10) { if ($use_integral_is == 1 && $goodsType['pay_currency'] == 1 && $goods['type'] != 10) {
$price_in_currency = $price * 100; # 1:100比例 $price_in_currency = $price * 100; # 1:100比例
@ -736,32 +765,9 @@ class Infinite extends Base
} }
} }
} }
# 余额抵扣
if ($use_money_is == 1 && $goodsType['pay_balance'] == 1) {
if ($goodsType['is_deduction'] == 1) {
# 抵扣模式
if ($user['money'] >= $price) {
$use_money = $price;
$price = 0;
} else {
$use_money = $user['money'];
$price = bcsub("$price", "$use_money", 2);
}
} else {
# 支付模式
if ($user['money'] >= $price) {
$use_money = $price;
$price = 0;
$iszhifu++;
} else {
# 支付模式下余额不足无法抵扣
$use_money = 0;
return $this->renderError('金额不足');
}
}
}
# 货币2抵扣 # 货币2抵扣
if ($use_money2_is == 1 && $goodsType['pay_currency2'] == 1) { if ($use_money2_is == 1 && $goodsType['pay_currency2'] == 1) {
$price_in_currency2 = $price * 100; # 1:100比例 $price_in_currency2 = $price * 100; # 1:100比例
@ -787,7 +793,7 @@ class Infinite extends Base
} }
} }
} }
if ($goodsType['is_deduction'] == 0 && $iszhifu == 0 && $goodsType['pay_wechat'] == 0) { if ($goodsType['is_deduction'] == 0 && $iszhifu == 0 && $goodsType['pay_wechat'] == 0) {
return $this->renderError('请选择支付方式'); return $this->renderError('请选择支付方式');
} }
@ -864,7 +870,7 @@ class Infinite extends Base
'order_num' => $order_num, 'order_num' => $order_num,
]; ];
} }
if (resCheck($res)) { if (resCheck($res)) {
Db::commit(); Db::commit();
#删除redis #删除redis

View File

@ -143,7 +143,7 @@ class Sign extends Base
if ($signDays >= $day) { if ($signDays >= $day) {
$config['is_sign'] = 2; $config['is_sign'] = 2;
} else { } else {
if ($nowDay == $day) { if (($signDays + 1) == $day) {
$config['is_sign'] = 1; $config['is_sign'] = 1;
} else { } else {
$config['is_sign'] = 0; $config['is_sign'] = 0;

View File

@ -1,55 +0,0 @@
<?php
declare (strict_types=1);
namespace app\api\controller;
use app\api\controller\Base;
use app\common\model\Coupon;
use app\common\model\User;
use app\common\model\UserSign as UserSignmodel;
use app\common\server\RedisLock as Lock;
use \think\Request;
class UserSign extends Base
{
/**
* 签到页面
*/
public function index(Request $request)
{
$user = $this->getUser();
//获取签到信息
$data = UserSignmodel::getListByUserId($user['id']);
$sign = [];
$sign['days'] = $data[0]; //连续签到天数
$sign['is_sign'] = $data[1]; //今日是否签到
$config = getConfig('sign');
$sign_info = []; //签到奖励信息
$sign_info[] = $config['one_num'];
$sign_info[] = $config['two_num'];
$sign_info[] = $config['three_num'];
$sign_info[] = $config['four_num'];
$sign_info[] = $config['five_num'];
$sign_info[] = $config['six_num'];
$sign_info[] = $config['seven_num'];
$sign['sign_info'] = $sign_info;
return $this->renderSuccess("请求成功", compact('sign'));
}
/**
* 签到
*/
public function sign_add(Request $request)
{
$user = $this->getUser();
$data = UserSignmodel::add($user['id']);
if ($data != '今日您已签到') {
return $this->renderSuccess($data['msg'], $data['data']);
} else {
return $this->renderError($data);
}
}
}

View File

@ -80,6 +80,8 @@ Route::any('quan_yi_ling', 'QuanYi/quan_yi_ling');
#Goods.php盒子管理 #Goods.php盒子管理
#============================ #============================
Route::any('goods', 'Goods/goods'); Route::any('goods', 'Goods/goods');
Route::any('goods_fuliwu', 'Goods/goods_fuliwu');
Route::any('goodsdetail', 'Goods/goodsdetail'); Route::any('goodsdetail', 'Goods/goodsdetail');
Route::any('goodslist_count', 'Goods/goodslist_count'); Route::any('goodslist_count', 'Goods/goodslist_count');
Route::any('goodslist_content', 'Goods/goodslist_content'); Route::any('goodslist_content', 'Goods/goodslist_content');

View File

@ -14,9 +14,9 @@ function initRewardInfo(containerId, existingRewards = null) {
// 奖励类型选项 // 奖励类型选项
var rewardTypes = [ var rewardTypes = [
{ value: '1', text: '余额' }, { value: '1', text: '钻石' },
{ value: '2', text: '货币1' }, { value: '2', text: 'UU币' },
{ value: '3', text: '货币2' }, { value: '3', text: '达达卷' },
{ value: '4', text: '优惠券' } { value: '4', text: '优惠券' }
]; ];
@ -36,6 +36,9 @@ function initRewardInfo(containerId, existingRewards = null) {
'</div>' + '</div>' +
'</div>' + '</div>' +
'</div>'; '</div>';
if ($('input[name="reward_id"]').length == 0) {
cardHtml += '<input type="hidden" name="reward_id" value="">';
}
// 渲染奖励信息卡片 // 渲染奖励信息卡片
$('#' + containerId).html(cardHtml); $('#' + containerId).html(cardHtml);
@ -192,7 +195,7 @@ function initRewardInfo(containerId, existingRewards = null) {
// 如果传入的是字符串reward_id则通过接口获取奖励数据 // 如果传入的是字符串reward_id则通过接口获取奖励数据
if (typeof existingRewards === 'string' && existingRewards.trim() !== '') { if (typeof existingRewards === 'string' && existingRewards.trim() !== '') {
var rewardId = existingRewards; var rewardId = existingRewards;
// 通过API获取奖励数据 // 通过API获取奖励数据
var loadingIndex = layer.load(1, { shade: [0.1, '#fff'] }); var loadingIndex = layer.load(1, { shade: [0.1, '#fff'] });
$.ajax({ $.ajax({
@ -200,11 +203,14 @@ function initRewardInfo(containerId, existingRewards = null) {
type: 'GET', type: 'GET',
data: { reward_id: rewardId }, data: { reward_id: rewardId },
dataType: 'json', dataType: 'json',
success: function(res) { success: function (res) {
layer.close(loadingIndex); layer.close(loadingIndex);
if (res.status === 1 && res.data && res.data.length > 0) { if (res.status === 1 && res.data && res.data.length > 0) {
// 先获取优惠券数据,再初始化奖励表单 // 先获取优惠券数据,再初始化奖励表单
fetchCoupons(function() { if ($('input[name="reward_id"]').length > 0) {
$('input[name="reward_id"]').val(rewardId);
}
fetchCoupons(function () {
// 遍历奖励数据,添加奖励项 // 遍历奖励数据,添加奖励项
for (var i = 0; i < res.data.length; i++) { for (var i = 0; i < res.data.length; i++) {
var rewardItem = { var rewardItem = {
@ -219,16 +225,16 @@ function initRewardInfo(containerId, existingRewards = null) {
layer.msg('没有找到奖励数据或获取失败', { icon: 2, time: 2000 }); layer.msg('没有找到奖励数据或获取失败', { icon: 2, time: 2000 });
} }
}, },
error: function() { error: function () {
layer.close(loadingIndex); layer.close(loadingIndex);
layer.msg('网络错误,无法获取奖励数据', { icon: 2, time: 2000 }); layer.msg('网络错误,无法获取奖励数据', { icon: 2, time: 2000 });
} }
}); });
} }
// 如果传入的是数组,直接使用 // 如果传入的是数组,直接使用
else if (Array.isArray(existingRewards) && existingRewards.length > 0) { else if (Array.isArray(existingRewards) && existingRewards.length > 0) {
// 先获取优惠券数据,再初始化奖励表单 // 先获取优惠券数据,再初始化奖励表单
fetchCoupons(function() { fetchCoupons(function () {
for (var i = 0; i < existingRewards.length; i++) { for (var i = 0; i < existingRewards.length; i++) {
addRewardItem(existingRewards[i]); addRewardItem(existingRewards[i]);
} }
@ -321,6 +327,64 @@ function processRewardData() {
$('form').append('<input type="hidden" name="reward" value=\'' + rewardJson + '\'>'); $('form').append('<input type="hidden" name="reward" value=\'' + rewardJson + '\'>');
} }
// 清除可能残留的旧字段(兼容性考虑)
$('input[name="reward_type[]"], input[name="reward_value[]"], input[name="coupon_id[]"]').remove();
}
/**
* 处理奖励数据将其转换为JSON格式并添加到隐藏字段
*/
async function processRewardIdData(pre, reward_id = '') {
var $ = layui.$;
var rewardData = [];
// 收集所有奖励项的数据
$('.reward-item').each(function () {
var $item = $(this);
var rewardType = $item.find('.reward-type-select').val();
if (rewardType) {
var rewardObj = {
reward_type: rewardType,
reward_value: '',
coupon_id: ''
};
// 根据奖励类型设置相应的值
if (rewardType == '4') { // 优惠券类型
rewardObj.coupon_id = $item.find('.coupon-select').val() || '';
} else { // 其他类型
rewardObj.reward_value = $item.find('.reward-value-input').val() || '';
}
rewardData.push(rewardObj);
}
});
if (reward_id || reward_id == '') {
if ($('input[name="reward_id"]').length > 0) {
reward_id = $('input[name="reward_id"]').val();
}
}
// 将奖励数据转换为JSON字符串
var rewardJson = JSON.stringify(rewardData);
// reward_add_json
var url = "/admin/reward_add_json.html";
var $ = layui.$;
var load = layer.load(2);
let l = await $.post(url, { reward: rewardJson, reward_id: reward_id, reward_id_pre: pre });
layer.close(load);
console.log(l);
if (l && l.status === 1) {
reward_id = l.data.reward_id;
}
// 检查表单中是否已存在reward隐藏字段
if ($('input[name="reward_id"]').length > 0) {
$('input[name="reward_id"]').val(reward_id);
} else {
// 创建隐藏字段并添加到表单中
$('form').append('<input type="hidden" name="reward_id" value=\'' + reward_id + '\'>');
}
// 清除可能残留的旧字段(兼容性考虑) // 清除可能残留的旧字段(兼容性考虑)
$('input[name="reward_type[]"], input[name="reward_value[]"], input[name="coupon_id[]"]').remove(); $('input[name="reward_type[]"], input[name="reward_value[]"], input[name="coupon_id[]"]').remove();
} }

Binary file not shown.

After

Width:  |  Height:  |  Size: 391 KiB