📖 File Reader
<?php
namespace app\admin\common;
use app\BaseController;
use think\facade\Db;
use think\facade\Session;
use think\facade\View;
/**
* 商品逻辑处理
*/
class Common_goods extends BaseController
{
/**
* 规格信息查询
* @param $goods_id 产品id
*/
static public function guige_info($goods_id)
{
//规格信息
$list = db::name("goods_guige_attr")->where("goods_id = $goods_id")->order("id asc")->select();
$guige_name = '';//规格名称
$guige_shuxing = '';//规格属性
foreach ($list as $k => $v){
/*规格名称*/
$guige_name .= ' <div class="gui_box1_1_int">
<input type="text" placeholder="" id="guige_name'.$v["id"].'" value="'.$v["name"].'">
<text onclick="guige_name_del('.$v["id"].')">x</text>
</div>
<script>
$("#guige_name'.$v["id"].'").blur(function(){
var guige_id = '.$v["id"].';
var guige_name = $("#guige_name'.$v["id"].'").val();
var goods_id = '.$v["goods_id"].';
$.ajax({
type: "POST",
url: "/admin/Goods/guige_name_upload",
data: {"guige_id":guige_id,"guige_name":guige_name},
dataType: "json",
success: function(res){
guige(goods_id);
}
});
})
</script>';
/*规格属性*/
$attribute = explode(',',$v['value']);
$attribute_zhi = '';
foreach ($attribute as $k2 => $v2){
if(!empty($v2)){
$attribute_zhi .= '<div class="gui_yan_1">
<span>'.$v2.'</span>
<text onclick="guige_shuxing_del('.$v["goods_id"].','.$v["id"].','.$k2.')">x</text>
</div>';
}
}
$guige_shuxing .= '<div class="gui_box1_1">
<span class="gui_box1_1_span" style="width: 80px;overflow: hidden;text-overflow:ellipsis;white-space: nowrap;">'.$v["name"].':</span>
<div class="gui_yan_box1" style="margin-left: 10px;">
<input type="text" placeholder="设置属性" id="shuxing'.$v["id"].'" value="">
<a href="javascript:void(0)" onclick="guige_shuxing_add('.$v["goods_id"].','.$v["id"].')">添加</a>
</div>
</div>
<div class="gui_yan">
'.$attribute_zhi.'
</div>';
}
//已生成的规格查询
$list = Common_goods::goods_guige_value($goods_id);
$data = [
'guige_name'=>$guige_name,
'guige_shuxing'=>$guige_shuxing,
'guige_list'=>$list,
];
return $data;
}
/**
* 查询已生成的规格数据
* @param $goods_id 产品id
*/
static function goods_guige_value($goods_id)
{
$list = db::name("goods_guige_value")->where("goods_id = $goods_id")->order("id asc")->select();
$str = '';
foreach ($list as $k => $v){
if (empty($v["img"])){
$img = '<img src="/public/admin/img/tianjia.png" class="img1-img">';
}else{
$img = '<img src="'.$v["img"].'" class="img1-img">';
}
$str .= ' <div class="gui_box2">
<div class="gui_box2_1">
<span>'.$v["guige_name"].'</span>
</div>
<div class="gui_box2_1">
<span>金额:</span>
<input type="text" id="guige_price'.$v["id"].'" value="'.$v["price"].'">
</div>
<div class="gui_box2_1">
<span>库存:</span>
<input type="text" id="guige_stocks'.$v["id"].'" value="'.$v["stocks"].'">
</div>
<form method="post" onSubmit="return chkform(this)" name="guige_form'.$v["id"].'" id="guige_form'.$v["id"].'" action="" enctype="multipart/form-data">
<div class="upload">
<input type="file" name="img" id="guige_img'.$v["id"].'" class="test">
<div class="img_center">
'.$img.'
</div>
</div>
<input type="hidden" name="guige_id" value="'.$v["id"].'">
</form>
<div class="gui_box2_shan" onclick="guige_list_del('.$v["id"].','.$v["goods_id"].')">删除</div>
</div>
<script>
//规格金额修改
$("#guige_price'.$v["id"].'").blur(function(){
var guige_id = '.$v["id"].';
var price = $("#guige_price'.$v["id"].'").val();
$.ajax({
type: "POST",
url: "/admin/Goods/guige_pric_amend",
data: {"guige_id":guige_id,"price":price},
dataType: "json",
success: function(res){
}
});
})
//库存修改
$("#guige_stocks'.$v["id"].'").blur(function(){
var guige_id = '.$v["id"].';
var stocks = $("#guige_stocks'.$v["id"].'").val();
$.ajax({
type: "POST",
url: "/admin/Goods/guige_stocks_amend",
data: {"guige_id":guige_id,"stocks":stocks},
dataType: "json",
success: function(res){
}
});
})
//缩略图修改
$("#guige_img'.$v["id"].'").change(function(){
var guige_id = '.$v["id"].';
var formData = new FormData($("#guige_form'.$v["id"].'")[0])
$.ajax({
type:"post",
url:"/admin/Goods/guige_img_amend",
data:formData,
cache: false,
contentType: false,
processData: false,
dataType: "json",
success: function(res) {
guige('.$v["goods_id"].');
}
});
})
</script>';
}
return $str;
}
/**
* 获取组合的结果
* @param $val 规则属性值
*/
static function getCombinationToString($val)
{
//保存上一个的值
static $res = array();
if (empty($res)) {
$res = $val;
} else {
// 临时数组保存结合的结果
$list = array();
foreach ($res as $k => $v) {
foreach ($val as $key => $value) {
$list[$k . '_' . $key] = $v . '_' . $value;
}
}
$res = $list;
}
return $res;
}
}