theme=2,增加vip围餐功能
Change-Id: I53231da8c8e7e58e6af4dba5ade98de7d7d284a3
This commit is contained in:
parent
3ba4e84793
commit
9c70e8586b
|
@ -173,6 +173,7 @@ class Dishes extends REST_Controller
|
|||
$meal_date = $this->get_meal_date($meal_dates[$dining_hall_id], $date_id);
|
||||
|
||||
}
|
||||
$data['deliver_place_meal_list'] = $meal_date->deliver_place_list;
|
||||
|
||||
$is_birth = $this->common->is_birth_date($user, $date_id);
|
||||
if($is_birth) { //生日餐
|
||||
|
@ -228,6 +229,9 @@ class Dishes extends REST_Controller
|
|||
$total = $this->common->get_cart_total_price($this->user, $type);
|
||||
$cart_total_price = $total['total_price'];
|
||||
$cart_total_num = $total['total_num'];
|
||||
// 当前date_id的购物车,围餐房间号id
|
||||
$cart_info = $this->common->get_cart_total_price($this->user, $type, $date_id);
|
||||
$data['deliver_place_data'] = $cart_info['deliver_place_data'];
|
||||
|
||||
$data['order'] = array('num' => $cart_total_num, 'price' => $cart_total_price, 'status' => $status);
|
||||
$data['dining_hall_id'] = $dining_hall_id;
|
||||
|
@ -1041,6 +1045,7 @@ class Dishes extends REST_Controller
|
|||
$date_dishes_id = $this->input->post('date_dish_id');
|
||||
$num = $this->input->post('num');
|
||||
$date_dishes_ids = stripslashes($this->input->post('date_dish_ids'));
|
||||
$deliver_place_id = intval($this->input->post('deliver_place_id')) ?: null;
|
||||
|
||||
// 限制订餐时间 order/add 也有判断
|
||||
$companyInfo = $this->Common_model->sql_get_one("select * from tb_company where id=".$this->user->company_id);
|
||||
|
@ -1186,7 +1191,7 @@ class Dishes extends REST_Controller
|
|||
$type = $this->get_type($dishes_info->dish_type);
|
||||
//$date = $this->Common_model->get_date_by_date_id($dishes_info->date_id);
|
||||
|
||||
$result = $this->update_cart_single_dishes($dishes_info, $type, $v->num);
|
||||
$result = $this->update_cart_single_dishes($dishes_info, $type, $v->num, $deliver_place_id);
|
||||
if ($result['status'] != 1) {
|
||||
$result['data'] = $data;
|
||||
$this->response($result, REST_Controller::HTTP_OK);
|
||||
|
@ -1226,7 +1231,7 @@ class Dishes extends REST_Controller
|
|||
}
|
||||
}
|
||||
|
||||
private function update_cart_single_dishes($dishes_info, $type, $num)
|
||||
private function update_cart_single_dishes($dishes_info, $type, $num, $deliver_place_id = '')
|
||||
{
|
||||
//print_r($dishes_info);
|
||||
$cart_dishes = $this->Cart_model->get_cart_dishes($this->user->id, $dishes_info->id);
|
||||
|
@ -1241,11 +1246,26 @@ class Dishes extends REST_Controller
|
|||
}
|
||||
|
||||
|
||||
// 围餐的判断:
|
||||
if($deliver_place_id == ''){
|
||||
// 如果mealtype=6,且deliver_place_id=空,就返回错误
|
||||
$mealTypeInfo = $this->Common_model->sql_get_one("select c.mealtype from tb_date_dish a, tb_date b, tb_meal_type c where a.date_id=b.id and b.dc_type=c.id and a.id=".$dishes_info->id);
|
||||
if ($mealTypeInfo['mealtype'] == 6) {
|
||||
return array(
|
||||
'status' => 0,
|
||||
'message' => '请选择围餐房间',
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
if (count($cart_dishes) > 0) {
|
||||
$cart_dishes = $cart_dishes[0];
|
||||
if ($num > 0) {
|
||||
$t_data = array("id" => $cart_dishes->id, "uid" => $this->user->id, "date_dish_id" => $dishes_info->id,
|
||||
"num" => $num, "price" => $dish_price, "type" => $type, "expire_time" => time() + $cart_expire_time);
|
||||
if($deliver_place_id != ''){
|
||||
$t_data['deliver_place_id'] = $deliver_place_id;
|
||||
}
|
||||
|
||||
$r = $this->Cart_model->replace_cart($t_data);
|
||||
if (!$r) {
|
||||
|
@ -1266,7 +1286,9 @@ class Dishes extends REST_Controller
|
|||
} else if ($num > 0) {
|
||||
$t_data = array("uid" => $this->user->id, "date_dish_id" => $dishes_info->id,
|
||||
"num" => $num, "price" => $dish_price, "type" => $type, "expire_time" => time() + $cart_expire_time);
|
||||
|
||||
if($deliver_place_id != ''){
|
||||
$t_data['deliver_place_id'] = $deliver_place_id;
|
||||
}
|
||||
$r = $this->Cart_model->insert_cart($t_data);
|
||||
if ($r > 0) {
|
||||
// $cart_id = $r;
|
||||
|
@ -1356,11 +1378,13 @@ class Dishes extends REST_Controller
|
|||
$date_text = $month . '月' . $day . '日' . '(周' . cnWeek($date) . ')';
|
||||
|
||||
$dc_type_info = $this->Common_model->get_meal_type_by_id($cd->dc_type);
|
||||
|
||||
$result[$cd->dining_hall_id]['data'][$cd->dc_date]['date_name'] = $date_text;
|
||||
$result[$cd->dining_hall_id]['data'][$cd->dc_date]['data'][$cd->dc_type]['type'] = $cd->type;
|
||||
$result[$cd->dining_hall_id]['data'][$cd->dc_date]['data'][$cd->dc_type]['date_id'] = $cd->date_id;
|
||||
$result[$cd->dining_hall_id]['data'][$cd->dc_date]['data'][$cd->dc_type]['meal_name'] = $dc_type_info->name;
|
||||
$result[$cd->dining_hall_id]['data'][$cd->dc_date]['data'][$cd->dc_type]['notes'] = $dc_type_info->notes;
|
||||
$result[$cd->dining_hall_id]['data'][$cd->dc_date]['data'][$cd->dc_type]['mealtype'] = $dc_type_info->mealtype;
|
||||
$dishes = $this->Dishes_model->get_dishes_by_dishes_id($cd->dish_id);
|
||||
$cd->dish_name = $dishes->dish_name;
|
||||
$result[$cd->dining_hall_id]['data'][$cd->dc_date]['data'][$cd->dc_type]['data'][] = $cd;
|
||||
|
@ -1385,6 +1409,20 @@ class Dishes extends REST_Controller
|
|||
|
||||
foreach ($v2['data'] as &$v3) {
|
||||
// print_r($v3);
|
||||
if($v3['mealtype'] == 6){
|
||||
$v3Data = json_decode(json_encode($v3['data']), 1);
|
||||
// 围餐展示房间信息
|
||||
$cart_deliver_place_ids = array_column($v3Data, 'deliver_place_id');
|
||||
// 去重
|
||||
$cart_deliver_place_ids = array_unique($cart_deliver_place_ids);
|
||||
if(count($cart_deliver_place_ids) == 1 && !empty($cart_deliver_place_ids[0])){
|
||||
$v3['deliver_place_id'] = $cart_deliver_place_ids[0];
|
||||
$v3['deliver_place_name'] = $this->Common_model->sql_get_one("select name from tb_order_deliver_place where enabled=1 and id=".$cart_deliver_place_ids[0])['name'];
|
||||
}else{
|
||||
$v3['deliver_place_id'] = null;
|
||||
$v3['deliver_place_name'] = null;
|
||||
}
|
||||
}
|
||||
|
||||
$total = $this->common->get_cart_total_price($this->user, $v3['type'], $v3['date_id']);
|
||||
|
||||
|
@ -1713,4 +1751,26 @@ class Dishes extends REST_Controller
|
|||
)
|
||||
), REST_Controller::HTTP_OK);
|
||||
}
|
||||
|
||||
public function updateCartDeliverPlaceId_post(){
|
||||
$user_id = $this->user->id;
|
||||
$date_id = $this->input->post('date_id');
|
||||
$deliver_place_id = $this->input->post('deliver_place_id');
|
||||
|
||||
$res = $this->Cart_model->update_cart_by_uid_and_date_id($date_id, $user_id, $deliver_place_id);
|
||||
if($res){
|
||||
$this->response(array(
|
||||
'status' => 1,
|
||||
'message' => 'ok',
|
||||
'data' => array()
|
||||
), REST_Controller::HTTP_OK);
|
||||
|
||||
}else{
|
||||
$this->response(array(
|
||||
'status' => 0,
|
||||
'message' => '更新失败',
|
||||
'data' => array()
|
||||
), REST_Controller::HTTP_OK);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -169,6 +169,44 @@ class Order extends REST_Controller
|
|||
}
|
||||
}
|
||||
|
||||
// 判断围餐,mealtype=6,deliver_place_id不能为空
|
||||
$dateInfo = $this->Dishes_model->get_date_info_by_date_id($k);
|
||||
if($dateInfo['mealtype'] == 6){
|
||||
$date = $dateInfo['dc_date'];
|
||||
$dc_type_name = $dateInfo['dc_type_name'];
|
||||
foreach ($d as $cart_k => $cart_v) {
|
||||
if(empty($cart_v->deliver_place_id)){
|
||||
// 找出$k(date_id)对应的日期和餐次
|
||||
$dateInfo = $this->Dishes_model->get_date_info_by_date_id($k);
|
||||
|
||||
$this->response(array(
|
||||
'status' => 0,
|
||||
'message' => "请先选择【{$date} {$dc_type_name}】的围餐房间",
|
||||
'data' => $data
|
||||
), REST_Controller::HTTP_OK);
|
||||
}
|
||||
}
|
||||
$deliver_place_ids = json_decode(json_encode($d), 1);
|
||||
// 获取deliver_place_id
|
||||
$deliver_place_ids = array_column($deliver_place_ids, 'deliver_place_id');
|
||||
$deliver_place_ids = array_unique($deliver_place_ids);
|
||||
if(count($deliver_place_ids) != 1){
|
||||
$this->response(array(
|
||||
'status' => 0,
|
||||
'message' => "请先选择【{$date} {$dc_type_name}】的围餐房间。",
|
||||
'data' => $data
|
||||
), REST_Controller::HTTP_OK);
|
||||
}
|
||||
// 再判断当前date_id,deliver_place_id是否已经被占用
|
||||
$check_deliver_place_id = $this->Common_model->sql_get_one("select * from tb_order where date_id = {$k} and deliver_place_id = {$deliver_place_ids[0]} and state_id in (3,6)");
|
||||
if($check_deliver_place_id){
|
||||
$this->response(array(
|
||||
'status' => 0,
|
||||
'message' => "【{$date} {$dc_type_name}】的围餐房间已被占用,请重新选择。",
|
||||
'data' => $data
|
||||
), REST_Controller::HTTP_OK);
|
||||
}
|
||||
}
|
||||
}
|
||||
$this->load->model('User_model', '', TRUE);
|
||||
|
||||
|
@ -378,6 +416,13 @@ class Order extends REST_Controller
|
|||
// print_r($order);
|
||||
// exit;
|
||||
|
||||
// 设置围餐的信息
|
||||
$dateInfo = $this->Dishes_model->get_date_info_by_date_id($k);
|
||||
if($dateInfo['mealtype'] == 6) {
|
||||
// 获取房间号
|
||||
$order['deliver_place_id'] = $d[0]->deliver_place_id;
|
||||
}
|
||||
|
||||
$t_total_price += $total['total_price'];
|
||||
$t_total_num += $total['total_num'];
|
||||
|
||||
|
|
|
@ -289,11 +289,19 @@ class Common
|
|||
$total_price = 0;
|
||||
|
||||
$cart_dishes_sort = $this->sort_cart_dishes_by_date_id($cart_dishes);
|
||||
|
||||
// 围餐房间id
|
||||
$deliver_place_ids = [];
|
||||
foreach ($cart_dishes_sort as $k => $cd) {
|
||||
$fee = 0;
|
||||
$date = $this->_CI->Common_model->get_date_by_date_id($k);
|
||||
|
||||
if($date_id){
|
||||
foreach ($cd as $v) {
|
||||
// 传了date_id,就是当前date_id的购物车内容
|
||||
$deliver_place_ids[] = $v->deliver_place_id;
|
||||
}
|
||||
}
|
||||
|
||||
if ($type == DISHES_TYPE_COMMON) {
|
||||
$fee = $this->get_fee($type, $date);
|
||||
}
|
||||
|
@ -314,9 +322,31 @@ class Common
|
|||
$cart_total_num += $v->num;
|
||||
}
|
||||
}
|
||||
$total_price += $fee;
|
||||
$total_price += $fee;
|
||||
}
|
||||
return array("total_price" => $total_price, "total_num" => $cart_total_num);
|
||||
|
||||
if($date_id){
|
||||
// 去重,如果存在空值,或者数量不等于1,就不不返回,让它重新选择房间号,update房间号到tb_cart.deliver_place_id
|
||||
$deliver_place_ids = array_unique($deliver_place_ids);
|
||||
if(count($deliver_place_ids) == 1 && $deliver_place_ids[0] != '') {
|
||||
$deliver_place_id = $deliver_place_ids[0];
|
||||
$deliver_place_name = $this->_CI->Common_model->sql_get_one("select * from tb_order_deliver_place where id = '{$deliver_place_id}' and enabled = 1");
|
||||
if($deliver_place_name){
|
||||
$deliver_place_data = $date_id."_".$deliver_place_id."_".$deliver_place_name['name'];
|
||||
// 判断当前的围餐房间号是否被占用
|
||||
// 已被占用,再次遍历$cart_dishes_sort,将deliver_place_id置空
|
||||
$order_has_deliver_place_id = $this->_CI->Common_model->sql_get_one("select * from tb_order where date_id='{$date_id}' and deliver_place_id = '{$deliver_place_id}' and state_id in (3,6) ");
|
||||
if($order_has_deliver_place_id){
|
||||
// 当前房间号已被占用
|
||||
$deliver_place_data = '';
|
||||
}
|
||||
}else{
|
||||
$deliver_place_data = '';
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return array("total_price" => $total_price, "total_num" => $cart_total_num, 'deliver_place_data' => $deliver_place_data);
|
||||
} else {
|
||||
return array("total_price" => 0, "total_num" => 0);
|
||||
}
|
||||
|
@ -507,7 +537,6 @@ class Common
|
|||
if ($order) {
|
||||
$orderid = $order->id;
|
||||
$order_detail = $this->_CI->Order_model->get_order_detail_by_order_id($orderid, base_url(), '');
|
||||
|
||||
$take_code = $order->take_food_code;
|
||||
//$take_qrcode = base_url($order->qrcode_path);
|
||||
|
||||
|
|
|
@ -50,9 +50,9 @@ class Cart_model extends CI_Model
|
|||
if ($cart_id != 0) {
|
||||
$where .= " and a.id = {$cart_id}";
|
||||
}
|
||||
$query = $this->db->query("select a.*, b.date_id, b.dish_id, c.dining_hall_id, c.dc_type, d.dish_type, c.dc_date, b.max_num, b.total_max_num, b.book_num
|
||||
from tb_cart a, tb_date_dish b, tb_date c, tb_dish d
|
||||
where a.date_dish_id = b.id and b.date_id = c.id and b.dish_id = d.id and a.uid = {$uid} {$where} and d.enabled = 1 order by c.dc_date asc, c.dc_type asc");
|
||||
$query = $this->db->query("select a.*, b.date_id, b.dish_id, c.dining_hall_id, c.dc_type, d.dish_type, c.dc_date, b.max_num, b.total_max_num, b.book_num, e.mealtype
|
||||
from tb_cart a, tb_date_dish b, tb_date c, tb_dish d, tb_meal_type e
|
||||
where a.date_dish_id = b.id and b.date_id = c.id and b.dish_id = d.id and c.dc_type=e.id and a.uid = {$uid} {$where} and d.enabled = 1 order by c.dc_date asc, c.dc_type asc");
|
||||
return $query->result();
|
||||
}
|
||||
|
||||
|
@ -160,4 +160,19 @@ class Cart_model extends CI_Model
|
|||
$query = $this->db->query("select sum(price*num) total_price from tb_shopping_cart a where uid = {$uid} {$where}");
|
||||
return $query->row();
|
||||
}
|
||||
|
||||
public function update_cart_by_uid_and_date_id($date_id, $uid, $deliver_place_id){
|
||||
// $this->db->where_in('date_dish_id', $this->db->select('id')->get_where('tb_date_dish', array('date_id' => $date_id))->result_array());
|
||||
// $this->db->set('deliver_place_id', $deliver_place_id);
|
||||
// $this->db->where('uid', $uid);
|
||||
// return $this->db->update('tb_cart');
|
||||
|
||||
$date_dish_ids = $this->db->select('id')->get_where('tb_date_dish', ['date_id' => $date_id])->result_array();
|
||||
$date_dish_ids = array_column($date_dish_ids, 'id');
|
||||
|
||||
return $this->db->where_in('date_dish_id', $date_dish_ids)
|
||||
->where('uid', $uid)
|
||||
->set('deliver_place_id', $deliver_place_id)
|
||||
->update('tb_cart');
|
||||
}
|
||||
}
|
|
@ -138,13 +138,17 @@ class Common_model extends CI_Model
|
|||
}
|
||||
|
||||
$where = str_replace('for_dc_type', 'dc_type', $where);
|
||||
$sql = "SELECT a.* from tb_date a, tb_meal_type c where a.dc_type = c.id and dc_date >= '".date("Y-m-d")."' {$where} order by a.dc_date asc, c.idx desc, a.dc_type asc";
|
||||
$sql = "SELECT a.*, c.mealtype from tb_date a, tb_meal_type c where a.dc_type = c.id and dc_date >= '".date("Y-m-d")."' {$where} order by a.dc_date asc, c.idx desc, a.dc_type asc";
|
||||
|
||||
$dates = $this->db->query($sql)->result();
|
||||
|
||||
// 获取vip围餐所有的房间号
|
||||
$deliver_place_list = $this->db->query("select * from tb_order_deliver_place where enabled=1 and dining_hall_id='".$user->dining_hall_id."'")->result_array();
|
||||
$deliver_place_ids = array_column($deliver_place_list, "id");
|
||||
|
||||
$dates2 = array();
|
||||
$nowtime = time();
|
||||
foreach($dates as $item) {
|
||||
foreach($dates as $index => $item) {
|
||||
$dc_type = $item->dc_type;
|
||||
$dc_date = $item->dc_date;
|
||||
$rule = $rulesInfo[$dc_type];
|
||||
|
@ -154,6 +158,48 @@ class Common_model extends CI_Model
|
|||
|
||||
$time1 = $dc_date." ".$rule['time'];
|
||||
|
||||
// vip围餐修改,如果是围餐类型 且 用户积分账户余额==0,则不显示 (vip围餐:tb_meal_type.mealtype=6)
|
||||
if($item->mealtype == 6){
|
||||
if(!isset($user->jf) || $user->jf <=0){
|
||||
// 没有积分账户,或者账户积分<=0,则不能订vip围餐
|
||||
continue;
|
||||
}
|
||||
// 查找当前date_id 可预定的房间列表
|
||||
$date_id = $item->id;
|
||||
// 所有房间列表的id,用,分隔的字符串
|
||||
$deliver_place_ids_str = join(",", $deliver_place_ids);
|
||||
// 所有房间列表的占用情况情况
|
||||
$deliver_place_arr = array();
|
||||
// 获取当前date_id 已经被占用的房间列表
|
||||
$get_deliver_place_list = array();
|
||||
if(!empty($deliver_place_ids_str)){
|
||||
$get_deliver_place_list = $this->db->query("select * from tb_order where date_id='{$date_id}' and state_id in (3,6) and deliver_place_id in ({$deliver_place_ids_str})")->result_array();
|
||||
}
|
||||
// 如果含有已经被占用的房间,则判断房间是否已经被占用
|
||||
// if(!empty($get_deliver_place_list)){
|
||||
// foreach ($get_deliver_place_list as $deliver_place_item){
|
||||
// $is_occupy = in_array($deliver_place_item['deliver_place_id'], $deliver_place_ids) ? 1 : 0;
|
||||
// $deliver_place_arr[] = array(
|
||||
// 'id' => $deliver_place_item['deliver_place_id'],
|
||||
// 'name' => $deliver_place_item['deliver_place_name'],
|
||||
// 'is_occupy' => $is_occupy // 是否占用
|
||||
// );
|
||||
// }
|
||||
// }else{
|
||||
// 如果没有被占用的房间,则显示所有房间且设置未占用
|
||||
foreach ($deliver_place_list as $deliver_place_item){
|
||||
$get_deliver_place_ids = array_column($get_deliver_place_list, "deliver_place_id");
|
||||
$is_occupy = in_array($deliver_place_item['id'], $get_deliver_place_ids) ? 1 : 0;
|
||||
$deliver_place_arr[] = array(
|
||||
'id' => $deliver_place_item['id'],
|
||||
'name' => $deliver_place_item['name'],
|
||||
'is_occupy' => $is_occupy // 是否占用
|
||||
);
|
||||
}
|
||||
// }
|
||||
$item->deliver_place_list = $deliver_place_arr;
|
||||
}
|
||||
|
||||
if(strtotime($time1) - $relative_day*86400 > $nowtime) {
|
||||
$dates2[] = $item;
|
||||
}
|
||||
|
|
|
@ -296,4 +296,9 @@ class Dishes_model extends CI_Model
|
|||
return true;
|
||||
}
|
||||
|
||||
public function get_date_info_by_date_id($date_id)
|
||||
{
|
||||
$query = $this->db->query("select a.*, b.name as dc_type_name, b.mealtype from tb_date a,tb_meal_type b where a.dc_type=b.id and a.id = {$date_id}");
|
||||
return $query->row_array();
|
||||
}
|
||||
}
|
|
@ -8,6 +8,7 @@
|
|||
<meta name="viewport" content="initial-scale=1, maximum-scale=1">
|
||||
<link rel="stylesheet" href="css/light7.min.css?v=<?=filemtime('css/light7.min.css')?>" />
|
||||
<link rel="stylesheet" href="css/main.css?v=<?=filemtime('css/main.css')?>" />
|
||||
<link rel="stylesheet" href="css/uno.css?v=<?=filemtime('css/uno.css')?>" />
|
||||
</head>
|
||||
|
||||
<body>
|
||||
|
|
|
@ -5653,3 +5653,47 @@ input[name='custom_recharge'].custom_recharge {
|
|||
font-size: 0.65rem;
|
||||
display: none;
|
||||
}
|
||||
|
||||
/*vip围餐样式*/
|
||||
.popup-deliver-place{
|
||||
width: 90%;
|
||||
margin: 5%;
|
||||
height: auto;
|
||||
border-radius: 0.5rem;
|
||||
}
|
||||
.deliver-place-close{
|
||||
position: absolute;
|
||||
right: 0.6rem;
|
||||
top: -0.3rem;
|
||||
font-size: 1.2rem;
|
||||
color: #000;
|
||||
margin: 0;
|
||||
}
|
||||
|
||||
.deliver-place-close a{
|
||||
color: #ef4437;
|
||||
}
|
||||
.flex-row{
|
||||
flex-direction: row;
|
||||
}
|
||||
.flex-wrap{
|
||||
flex-wrap: wrap;
|
||||
}
|
||||
.deliver-place-bg-btn-color{
|
||||
background-color: #f6f6f6;
|
||||
color: #000;
|
||||
border: 2px solid #fff;
|
||||
font-size: 0.65rem;
|
||||
}
|
||||
.deliver-place-bg-btn-color.active{
|
||||
border: 2px solid #ef4437;
|
||||
color: #ef4437;
|
||||
}
|
||||
.deliver-place-bg-btn-color.disabled{
|
||||
background-color: #f6f6f6;
|
||||
color: #ccc;
|
||||
border: 2px solid #f6f6f6;
|
||||
}
|
||||
.py-3{padding-top:0.75rem;padding-bottom:0.75rem;}
|
||||
.font-bold{font-weight: bold;}
|
||||
.pr-2{padding-right: 0.5rem;}
|
|
@ -63,6 +63,10 @@
|
|||
|
||||
</div>
|
||||
|
||||
<!--围餐隐藏参数-->
|
||||
<input type="hidden" name="deliver-place-data" id="deliver-place-data" value="">
|
||||
<input type="hidden" name="deliver-place" id="deliver-place" value="">
|
||||
|
||||
<div class="panel-overlay"></div>
|
||||
<div class="panel panel-left panel-reveal" id="panel-left">
|
||||
<div class="panel-hd">
|
||||
|
|
137
m/js/main.js
137
m/js/main.js
|
@ -7525,6 +7525,20 @@ $(function () {
|
|||
//$('.panel-footer .shop-fl').show();
|
||||
}
|
||||
|
||||
// 如果是vip围餐的date_id,而且 deliver_place_meal_list 非空,就弹窗选房间
|
||||
if(data.deliver_place_meal_list){
|
||||
$("#deliver-place").val(JSON.stringify(data.deliver_place_meal_list));
|
||||
if(data.deliver_place_data){
|
||||
$("#deliver-place-data").val(data.deliver_place_data);
|
||||
}else{
|
||||
$("#deliver-place-data").val("");
|
||||
popup_deliver_place(data.deliver_place_meal_list);
|
||||
}
|
||||
}else{
|
||||
$("#deliver-place-data").val("");
|
||||
$("#deliver-place").val("");
|
||||
}
|
||||
|
||||
/*
|
||||
if(data.user.show_fuli === 1){
|
||||
$('.panel-footer .shop-fl').show();
|
||||
|
@ -7802,6 +7816,13 @@ $(function () {
|
|||
//初始化待阅通知数
|
||||
|
||||
$('#page-index2 .cp').html(cp_li);
|
||||
|
||||
// 判断当前是不是围餐
|
||||
if(data.deliver_place_meal_list){
|
||||
$('#page-index2 .cp').append(
|
||||
' <li class="cp-menu deliverPlace"><div class="item-inner"><div class="item-title">围餐房间</div><div class="item-after"></div></div></li>'
|
||||
);
|
||||
}
|
||||
$('#page-index2 .ftpic').attr('id', 'ft' + data.dining_hall_id);
|
||||
|
||||
$('.noticeList num').html(
|
||||
|
@ -7812,7 +7833,40 @@ $(function () {
|
|||
dining_halls = data.dining_halls;
|
||||
}
|
||||
|
||||
function printReload(self, num, limit, price, type) {
|
||||
// 弹窗选择房间
|
||||
function popup_deliver_place(data, type = 'init'){
|
||||
// 判断当前的date_id 是否一样,如果一样就不重新渲染弹窗
|
||||
var input_deliver_place_data_val = $("#deliver-place-data").val();
|
||||
var input_date_id = input_deliver_place_data_val.split("_")[0];
|
||||
var input_deliver_place_id = input_deliver_place_data_val.split("_")[1];
|
||||
if(type != 'init' || (input_deliver_place_data_val == '' || input_date_id != date_id)){
|
||||
// 弹窗选择房间
|
||||
var place_list = `<div class="popup popup-deliver-place">
|
||||
<div class="relative">
|
||||
<h3 class="text-center">围餐房间预约</h3>
|
||||
<div class="deliver-place-close"><a href="#" class="close-popup"><i class="icon-close icon"></i></a></div>
|
||||
<div class="place-list"><ul class="flex flex-row flex-wrap ma-1 pa-0">`;
|
||||
for(var x in data){
|
||||
var active = "";
|
||||
var disabled = "";
|
||||
var is_occupy_txt = "";
|
||||
if(data[x].is_occupy == 1){
|
||||
disabled = " disabled";
|
||||
is_occupy_txt = "(已订)";
|
||||
}
|
||||
if(input_deliver_place_id != '' && typeof input_deliver_place_id !== 'undefined' && input_deliver_place_id == data[x].id){
|
||||
active = " active";
|
||||
}
|
||||
place_list += "<li style='width:50%;' class='text-center pa-1'><a href='javascript:;' class='vip-room py-3 rounded deliver-place-bg-btn-color block "+disabled+active+"' data-id='"+data[x].id+"'>"+data[x].name+is_occupy_txt+"</a></li>";
|
||||
}
|
||||
place_list += `</div></div></div>`;
|
||||
// console.log(place_list)
|
||||
$.popup(place_list);
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
function printReload(self, num, limit, price, type) {
|
||||
var thisCpNum = $('.cp .active .badge').html()
|
||||
? parseInt($('.cp .active .badge').html())
|
||||
: 0;
|
||||
|
@ -8157,6 +8211,52 @@ $(function () {
|
|||
.on('click', '.changeFt', function () {
|
||||
$(page).find('input[name=changeFt]').select('open');
|
||||
});
|
||||
$(document)
|
||||
.off('click', '.deliverPlace')
|
||||
.on('click', '.deliverPlace', function () {
|
||||
var data = $("#deliver-place").val();
|
||||
data = JSON.parse(data);
|
||||
popup_deliver_place(data, "");
|
||||
});
|
||||
|
||||
$(document)
|
||||
.off('click', '.popup-deliver-place .vip-room')
|
||||
.on('click', '.popup-deliver-place .vip-room', function () {
|
||||
if($(this).hasClass("disabled")){
|
||||
return;
|
||||
}
|
||||
// 给选中的房间添加样式
|
||||
var deliver_place_id = $(this).data('id');
|
||||
var vip_meal_name = $(this).text();
|
||||
|
||||
// 异步,把deliver_place_id传到后台,保存到tb_cart的菜品里
|
||||
$.ajax({
|
||||
type: 'POST',
|
||||
url: '../api/dishes/updateCartDeliverPlaceId/',
|
||||
dataType: 'json',
|
||||
data: {
|
||||
date_id: date_id,
|
||||
deliver_place_id: deliver_place_id,
|
||||
token: user.token,
|
||||
},
|
||||
success: function (ret) {
|
||||
if (typeof ret.status !== 'undefined') {
|
||||
if (ret.status === 1) {
|
||||
$(".popup-deliver-place .vip-room").removeClass("active");
|
||||
$(this).addClass('active');
|
||||
$("#deliver-place-data").val(date_id+"_"+deliver_place_id+"_"+vip_meal_name);
|
||||
$.closeModal(".popup-deliver-place");
|
||||
}else{
|
||||
$.alert(ret.message);
|
||||
}
|
||||
}
|
||||
},
|
||||
error: function () {
|
||||
$.alert('请检查网络!');
|
||||
},
|
||||
});
|
||||
|
||||
});
|
||||
|
||||
$('.app-qrcode')
|
||||
.off('click')
|
||||
|
@ -8258,7 +8358,15 @@ $(function () {
|
|||
num = printReload(self, num, limit, price, type);
|
||||
//cookie不存在
|
||||
var token = user.token;
|
||||
// 获取围餐房间号
|
||||
var deliver_place_data = $("#deliver-place-data").val();
|
||||
|
||||
var deliver_place_id = null;
|
||||
if(deliver_place_data){
|
||||
// 获取房间号id
|
||||
console.log(deliver_place_data)
|
||||
deliver_place_id = deliver_place_data.split("_")[1];
|
||||
}
|
||||
$.ajax({
|
||||
type: 'POST',
|
||||
url: '../api/dishes/add/',
|
||||
|
@ -8267,6 +8375,7 @@ $(function () {
|
|||
token: token,
|
||||
date_dish_id: cid,
|
||||
num: num,
|
||||
deliver_place_id: deliver_place_id
|
||||
},
|
||||
success: function (ret) {
|
||||
if (typeof ret.status !== 'undefined') {
|
||||
|
@ -10329,6 +10438,11 @@ $(function () {
|
|||
'&pid=' +
|
||||
ft.dining_hall_id +
|
||||
'" data-no-cache="true"><span class="icon icon-add"></span>增加</a></div></div></li>';
|
||||
|
||||
var deliver_place_html = "";
|
||||
if(meal.mealtype == 6){
|
||||
deliver_place_html = "data-deliver_place_id='"+meal.deliver_place_id+"'";
|
||||
}
|
||||
$.each(meal.data, function (i, cs) {
|
||||
cartHtml +=
|
||||
'<li data-id="' +
|
||||
|
@ -10347,7 +10461,7 @@ $(function () {
|
|||
cs.max_num +
|
||||
'" data-price="' +
|
||||
cs.price +
|
||||
'"><a href="javascript:;" class="button button-link button-nav minus" data-type="minus"><span class="icon icon-minus"></span></a><a href="javascript:;" class="button button-link button-nav num">' +
|
||||
'" '+deliver_place_html+'><a href="javascript:;" class="button button-link button-nav minus" data-type="minus"><span class="icon icon-minus"></span></a><a href="javascript:;" class="button button-link button-nav num">' +
|
||||
cs.num +
|
||||
'</a><a href="javascript:;" class="button button-link button-nav add" style="" data-type="add"><span class="icon icon-add"></span></a></p></div></li>';
|
||||
});
|
||||
|
@ -10357,10 +10471,17 @@ $(function () {
|
|||
meal.rise_info.rise_tip +
|
||||
'</p></div></div></li>';
|
||||
}
|
||||
if(typeof meal.deliver_place_name !== 'undefined'){
|
||||
console.log(meal)
|
||||
var deliver_place_name = meal.deliver_place_name ? "<span>"+meal.deliver_place_name+"</span>" : "<span class='text-red'>请先选择围餐房间号再下单</span>";
|
||||
cartHtml +=
|
||||
'<li class="deliver_place"><div class="row no-gutter"><div class="col-100"><p class="ma-0 tips pr-2" style="display:flex;flex-wrap: wrap;justify-content: space-between;"><span class="font-bold">围餐房间:</span>'+deliver_place_name+'</p></div></div></li>';
|
||||
}
|
||||
|
||||
if(meal.notes){
|
||||
var notes = JSON.parse(meal.notes);
|
||||
cartHtml +=
|
||||
'<li><div class="row no-gutter"><div class="col-100"><p class="ma-0 tips text-red" style="display:flex;flex-direction: row; "><span>备注:</span><textarea rows="1" type="text" style="width:75%;height: 2.15rem;display:inline-block;font-size:0.65rem;padding-top:0.2rem" class="notes['+ meal.date_id +']" placeholder="' +
|
||||
'<li><div class="row no-gutter"><div class="col-100"><p class="ma-0 tips text-red" style="display:flex;flex-direction: row; "><span>备注:</span><textarea rows="1" type="text" style="width:75%;height: 2.5rem;display:inline-block;font-size:0.65rem;padding-top:0.2rem" class="notes['+ meal.date_id +']" placeholder="' +
|
||||
notes.text +
|
||||
'"></textarea></p></div></div></li>';
|
||||
}
|
||||
|
@ -10390,6 +10511,8 @@ $(function () {
|
|||
setTimeout(function () {
|
||||
$.showIndicator();
|
||||
}, 0);
|
||||
|
||||
|
||||
var token = user.token;
|
||||
$.ajax({
|
||||
type: 'GET',
|
||||
|
@ -10482,6 +10605,13 @@ $(function () {
|
|||
|
||||
var limit = parseInt(self.parent('p').data('limit'));
|
||||
var cid = parseInt(self.parent('p').data('id'));
|
||||
|
||||
// 判断是否有deliver_place_id
|
||||
var deliver_place_id = null;
|
||||
if(self.parent('p').data('deliver_place_id')){
|
||||
deliver_place_id = self.parent('p').data('deliver_place_id');
|
||||
}
|
||||
|
||||
var type = self.data('type');
|
||||
if (type === 'add') {
|
||||
if (num >= limit) {
|
||||
|
@ -10504,6 +10634,7 @@ $(function () {
|
|||
token: token,
|
||||
date_dish_id: cid,
|
||||
num: num,
|
||||
deliver_place_id: deliver_place_id,
|
||||
},
|
||||
success: function (ret) {
|
||||
if (typeof ret.status !== 'undefined') {
|
||||
|
|
Loading…
Reference in New Issue