完善本地生活商家信息的添加
This commit is contained in:
parent
d7502fb23a
commit
7e7e0c9d5b
@ -2,13 +2,15 @@
|
||||
|
||||
namespace app\admin\controller\shop;
|
||||
|
||||
use app\admin\logic\user\UserLogic;
|
||||
use app\common\basics\AdminBase;
|
||||
use app\common\server\ConfigServer;
|
||||
use app\common\enum\LocalLifeICBCEnum;
|
||||
use app\admin\logic\shop\LocalStoreLogic;
|
||||
use app\common\server\JsonServer;
|
||||
use think\facade\Request;
|
||||
|
||||
use app\common\utils\UploadAliOSS;
|
||||
use app\admin\validate\shop\LocalStoreValidate;
|
||||
|
||||
class LocalStore extends AdminBase
|
||||
{
|
||||
@ -24,6 +26,13 @@ class LocalStore extends AdminBase
|
||||
|
||||
public function add()
|
||||
{
|
||||
if ($this->request->isAjax()) {
|
||||
$post = $this->request->post();
|
||||
(new LocalStoreValidate())->goCheck();
|
||||
$lists = LocalStoreLogic::create($post);
|
||||
// return JsonServer::success('获取成功', $lists);
|
||||
}
|
||||
|
||||
return view('', [
|
||||
'crftType1List' => LocalLifeICBCEnum::crftType1List(), // 商户证件类型列表
|
||||
'crftType2List' => LocalLifeICBCEnum::crftType2List(), //法人/负责任人证件类型
|
||||
@ -118,4 +127,54 @@ class LocalStore extends AdminBase
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public function uploadImage()
|
||||
{
|
||||
if ($this->request->isAjax()) {
|
||||
$post = $this->request->post();
|
||||
$result = UploadAliOSS::uploadImage(LocalStoreLogic::$UPLOAD_PATH[$post['type']]);
|
||||
if ($result['code'] == 1) {
|
||||
return JsonServer::success('上传成功', $result['data']);
|
||||
}
|
||||
return JsonServer::error('上传失败');
|
||||
}
|
||||
}
|
||||
|
||||
public function delFile()
|
||||
{
|
||||
if ($this->request->isAjax()) {
|
||||
$post = $this->request->post();
|
||||
$result = UploadAliOSS::delFile(LocalStoreLogic::$UPLOAD_PATH[$post['type']], $post['file']);
|
||||
if ($result['code'] == 1) {
|
||||
return JsonServer::success('上传成功', $result['data']);
|
||||
}
|
||||
|
||||
return JsonServer::error('上传失败');
|
||||
}
|
||||
}
|
||||
|
||||
public function user()
|
||||
{
|
||||
if ($this->request->isAjax()) {
|
||||
$get = $this->request->get();
|
||||
return JsonServer::success('', UserLogic::lists($get));
|
||||
}
|
||||
|
||||
return view();
|
||||
}
|
||||
|
||||
public function map()
|
||||
{
|
||||
if ($this->request->isAjax()) {
|
||||
$post = $this->request->post();
|
||||
$url = 'https://apis.map.qq.com/ws/geocoder/v1?key=' . ConfigServer::get('map', 'tx_map_key') . '&address=' . $post['address'];
|
||||
$result = file_get_contents($url);
|
||||
$data = json_decode($result, true);
|
||||
if ($data['message'] == 'Success') {
|
||||
return JsonServer::success('', $data['result']['location']);
|
||||
}
|
||||
|
||||
return JsonServer::error('获取失败');
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -32,6 +32,15 @@ class LocalStoreLogic extends Logic
|
||||
);
|
||||
}
|
||||
|
||||
// 添加
|
||||
public static function create($form)
|
||||
{
|
||||
unset($form['file']);
|
||||
$form['create_time'] = date('Y-m-d H:i:s');
|
||||
$result = LocalStore::create($form);
|
||||
dump($result);die;
|
||||
}
|
||||
|
||||
public static function get_data($id)
|
||||
{
|
||||
return LocalStore::where(['lstore_id' => $id])->find();
|
||||
|
||||
47
app/admin/validate/shop/LocalStoreValidate.php
Executable file
47
app/admin/validate/shop/LocalStoreValidate.php
Executable file
@ -0,0 +1,47 @@
|
||||
<?php
|
||||
|
||||
namespace app\admin\validate\shop;
|
||||
|
||||
use app\common\basics\Validate;
|
||||
|
||||
class LocalStoreValidate extends Validate
|
||||
{
|
||||
protected $rule = [
|
||||
'shopName' => 'require',
|
||||
'shopLogo' => 'require',
|
||||
'bankType' => 'require|checkBankType',
|
||||
'bankName' => 'require',
|
||||
'bankCard' => 'require',
|
||||
'businessLicense' => 'require',
|
||||
'crftNo1' => 'require',
|
||||
'idCard' => 'require',
|
||||
'name' => 'require',
|
||||
'empowerPhone' => 'require',
|
||||
'address' => 'require',
|
||||
'longitude' => 'require',
|
||||
'latitude' => 'require',
|
||||
];
|
||||
|
||||
protected $message = [
|
||||
'shopName.require' => '商家名称不能为空',
|
||||
'shopLogo.require' => '商家Logo不能为空',
|
||||
'bankName.require' => '银行名称不能为空',
|
||||
'bankCard.require' => '银行卡号不能为空',
|
||||
'businessLicense.require' => '营业执照不能为空',
|
||||
'crftNo1.require' => '社会信用代码不能为空',
|
||||
'idCard.require' => '自拍照不能为空',
|
||||
'name.require' => '商户联系人不能为空',
|
||||
'empowerPhone.require' => '联系电话不能为空',
|
||||
'address.require' => '地址不能为空',
|
||||
'longitude.require' => '经纬度不能为空',
|
||||
'latitude.require' => '经纬度不能为空',
|
||||
];
|
||||
|
||||
protected function checkBankType($value, $rule, $data)
|
||||
{
|
||||
if ($value == 1 && empty($data['largeNumber'])) {
|
||||
return '大额卡号不能为空';
|
||||
}
|
||||
return true;
|
||||
}
|
||||
}
|
||||
@ -8,12 +8,39 @@
|
||||
|
||||
<div class="layui-card layui-form">
|
||||
<div class="layui-tab-item layui-show">
|
||||
<div class="layui-form-item" id="one-shop">
|
||||
<label class="layui-form-label">用户:</label>
|
||||
<div class="layui-input-inline" style="display: flex">
|
||||
<div id="sel_user_id"></div>
|
||||
<input type="hidden" id="user_id" name="user_id">
|
||||
<a class="layui-btn layui-btn-normal select-goods">绑定用户</a>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label"><span style="color:red;">*</span>账号类型:</label>
|
||||
<label class="layui-form-label"><span style="color:red;">*</span>商家名称:</label>
|
||||
<div class="layui-input-inline">
|
||||
<input type="text" name="shopName" id="shopName" autocomplete="off" class="layui-input">
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label"><span style="color:red;">*</span>商家Logo:</label>
|
||||
<div class="layui-input-block">
|
||||
<div class="like-upload-image">
|
||||
<div class="upload-image-elem"><a id="add-shop" class="add-upload-video" data-type="shop_logo"> + 添加图片</a></div>
|
||||
<input type="hidden" name="shopLogo" >
|
||||
</div>
|
||||
<div class="layui-form-mid layui-word-aux">建议尺寸:宽200像素*高200像素的jpg,jpeg,png图片</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label"><span style="color:red;">*</span>账户类型:</label>
|
||||
<div class="layui-input-inline">
|
||||
<select id="bankType" name="bankType" class="layui-select" lay-filter="bankType">
|
||||
<option value="1">对公账户</option>
|
||||
<option value="2">私有账户</option>
|
||||
<option value="1">对公银行账户</option>
|
||||
<option value="2">对私银行账户</option>
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
@ -29,24 +56,23 @@
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label"><span style="color:red;">*</span>银行名称:</label>
|
||||
<div class="layui-input-inline">
|
||||
<input type="text" name="bankName" id="bankName" lay-verType="tips" lay-verify="crftNo1"
|
||||
switch-tab="0" autocomplete="off" class="layui-input">
|
||||
<input type="text" name="bankName" id="bankName" autocomplete="off" class="layui-input">
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label"><span style="color:red;">*</span>银行卡号:</label>
|
||||
<div class="layui-input-inline">
|
||||
<input type="text" name="bankCard" id="bankCard" lay-verType="tips" lay-verify="crftNo1"
|
||||
switch-tab="0" autocomplete="off" class="layui-input">
|
||||
<input type="text" name="bankCard" id="bankCard" autocomplete="off" class="layui-input">
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label"><span style="color:red;">*</span>营业执照:</label>
|
||||
<div class="layui-input-block">
|
||||
<div class="like-upload-image" switch-tab="0" lay-verType="tips" lay-verify="logo">
|
||||
<div class="upload-image-elem"><a class="add-upload-image"> + 添加图片</a></div>
|
||||
<div class="like-upload-image">
|
||||
<div class="upload-image-elem"><a id="business-license" class="add-upload-video" data-type="bussines_license"> + 添加图片</a></div>
|
||||
<input type="hidden" name="businessLicense">
|
||||
</div>
|
||||
<div class="layui-form-mid layui-word-aux">建议尺寸:宽200像素*高200像素的jpg,jpeg,png图片</div>
|
||||
</div>
|
||||
@ -55,16 +81,16 @@
|
||||
<div class="layui-form-item">
|
||||
<label for="crftNo1" class="layui-form-label"><span style="color:red;">*</span>社会信用代码:</label>
|
||||
<div class="layui-input-inline">
|
||||
<input type="text" name="crftNo1" id="crftNo1" lay-verType="tips" lay-verify="crftNo1"
|
||||
switch-tab="0" autocomplete="off" class="layui-input">
|
||||
<input type="text" name="crftNo1" id="crftNo1" autocomplete="off" class="layui-input">
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label"><span style="color:red;">*</span>自拍照:</label>
|
||||
<div class="layui-input-block">
|
||||
<div class="like-upload-image" switch-tab="0" lay-verType="tips" lay-verify="logo">
|
||||
<div class="upload-image-elem"><a class="add-upload-image"> + 添加图片</a></div>
|
||||
<div class="like-upload-image">
|
||||
<div class="upload-image-elem"><a id="self-photo" class="add-upload-video" data-type="self_photo"> + 添加图片</a></div>
|
||||
<input type="hidden" name="idCard">
|
||||
</div>
|
||||
<div class="layui-form-mid layui-word-aux">建议尺寸:宽200像素*高200像素的jpg,jpeg,png图片</div>
|
||||
</div>
|
||||
@ -73,16 +99,14 @@
|
||||
<div class="layui-form-item">
|
||||
<label for="name" class="layui-form-label"><span style="color:red;">*</span>商户联系人:</label>
|
||||
<div class="layui-input-inline">
|
||||
<input type="text" name="name" id="name" lay-verType="tips" lay-verify="crftName2"
|
||||
switch-tab="0" autocomplete="off" class="layui-input">
|
||||
<input type="text" name="name" id="name" autocomplete="off" class="layui-input">
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="layui-form-item">
|
||||
<label for="empowerPhone" class="layui-form-label"><span style="color:red;">*</span>联系电话:</label>
|
||||
<div class="layui-input-inline">
|
||||
<input type="text" name="empowerPhone" id="empowerPhone" lay-verType="tips" lay-verify="crftName2"
|
||||
switch-tab="0" autocomplete="off" class="layui-input">
|
||||
<input type="text" name="empowerPhone" id="empowerPhone" autocomplete="off" class="layui-input">
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@ -123,12 +147,7 @@
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-form-item ">
|
||||
<label class="layui-form-label"></label>
|
||||
<div class="layui-input-block" style="margin-left:10px;">
|
||||
<div class="map-container" id="map-container"></div>
|
||||
</div>
|
||||
</div>
|
||||
<div id="container" style="position: relative;z-index: 500;"></div>
|
||||
</div>
|
||||
<div class="layui-form-item layui-hide">
|
||||
<input type="button" lay-submit lay-filter="addSubmit" id="addSubmit" value="确认">
|
||||
@ -137,19 +156,19 @@
|
||||
|
||||
|
||||
<script src="__PUBLIC__/static/common/js/area.js"></script>
|
||||
<script charset="utf-8" src="https://map.qq.com/api/js?v=2.exp&key={$tx_map_key}"></script>
|
||||
<script charset="utf-8" src="https://map.qq.com/api/gljs?v=1.exp&key={$tx_map_key}"></script>
|
||||
<script>
|
||||
layui.config({
|
||||
base: "/static/lib/"
|
||||
}).extend({
|
||||
likeArea: "likeArea/likeArea",
|
||||
txMap: "likeMap/txMap"
|
||||
}).use(["form", "laydate", "likeArea", "txMap"], function(){
|
||||
likeArea: "likeArea/likeArea"
|
||||
}).use(["form", "laydate", "likeArea"], function(){
|
||||
var $ = layui.$;
|
||||
var form = layui.form;
|
||||
var likeArea = layui.likeArea;
|
||||
var laydate = layui.laydate;
|
||||
var txMap = layui.txMap;
|
||||
var likeupload = layui.upload;
|
||||
|
||||
form.on('select(bankType)', function(data){
|
||||
if (data.value == 1) {
|
||||
@ -170,72 +189,92 @@
|
||||
});
|
||||
});
|
||||
|
||||
// 上传商家LOGO
|
||||
var uploadInst = likeupload.render({
|
||||
elem: '#add-shop' //绑定元素
|
||||
,url: "{:url('shop.LocalStore/uploadImage')}" //上传接口
|
||||
,accept: 'images'
|
||||
,data: {type: 'shop_logo'}
|
||||
,exts: "jpg|png|jpeg"
|
||||
,before: function(obj){ //obj参数包含的信息,跟 choose回调完全一致,可参见上文。
|
||||
layer.load(); //上传loading
|
||||
}
|
||||
,done: function(res, index, upload){
|
||||
if (res.code === 1) {
|
||||
var template = '<div class="upload-image-div">';
|
||||
template += '<img src="'+ res.data.file +'" alt="img">';
|
||||
template += '<div class="del-upload-btn">x</div>';
|
||||
$("#add-shop").parent().before(template)
|
||||
|
||||
form.verify({
|
||||
name: function (value, item) {
|
||||
if (!value) {
|
||||
switchTab($(item).attr("switch-tab"));
|
||||
return "请填写商家名称";
|
||||
}
|
||||
},
|
||||
cid: function (value, item) {
|
||||
if (!value) {
|
||||
switchTab($(item).attr("switch-tab"));
|
||||
return "请选择主营类目";
|
||||
}
|
||||
},
|
||||
nickname: function (value, item) {
|
||||
if (!value) {
|
||||
switchTab($(item).attr("switch-tab"));
|
||||
return "请填写联系人";
|
||||
}
|
||||
},
|
||||
mobile: function (value, item) {
|
||||
if (!value) {
|
||||
switchTab($(item).attr("switch-tab"));
|
||||
return "请填写联系手机号";
|
||||
}
|
||||
},
|
||||
logo: function (value, item) {
|
||||
if (!value) {
|
||||
if ($(item).find(".upload-image-div").length <= 0) {
|
||||
switchTab($(item).attr("switch-tab"))
|
||||
return "请上传商家logo";
|
||||
}
|
||||
}
|
||||
},
|
||||
expire_time: function (value, item) {
|
||||
if (!value) {
|
||||
switchTab($(item).attr("switch-tab"));
|
||||
return "请选择到期时间";
|
||||
}
|
||||
},
|
||||
trade_service_fee: function (value, item) {
|
||||
if (!value && parseInt(value) !== 0) {
|
||||
switchTab($(item).attr("switch-tab"));
|
||||
return "请填写交易服务费";
|
||||
}
|
||||
},
|
||||
account: function (value, item) {
|
||||
if (!value) {
|
||||
switchTab($(item).attr("switch-tab"));
|
||||
return "请填写商家账号";
|
||||
}
|
||||
},
|
||||
password: function (value, item) {
|
||||
if (!value) {
|
||||
switchTab($(item).attr("switch-tab"));
|
||||
return "请填写商家登录密码";
|
||||
}
|
||||
},
|
||||
pwd: function (value, item) {
|
||||
if (!value) {
|
||||
switchTab($(item).attr("switch-tab"));
|
||||
return "请填确认商家登录密码";
|
||||
$("input[name='shopLogo']").val(res.data.file)
|
||||
} else {
|
||||
layer.msg('上传错误');
|
||||
return false;
|
||||
}
|
||||
layer.closeAll('loading'); //关闭loading
|
||||
}
|
||||
,error: function(index, upload){
|
||||
layer.closeAll('loading'); //关闭loading
|
||||
}
|
||||
});
|
||||
|
||||
// 上传商家营业执照
|
||||
var uploadInst = likeupload.render({
|
||||
elem: '#business-license' //绑定元素
|
||||
,url: "{:url('shop.LocalStore/uploadImage')}" //上传接口
|
||||
,accept: 'images'
|
||||
,data: {type: 'bussines_license'}
|
||||
,exts: "jpg|png|jpeg"
|
||||
,before: function(obj){ //obj参数包含的信息,跟 choose回调完全一致,可参见上文。
|
||||
layer.load(); //上传loading
|
||||
}
|
||||
,done: function(res, index, upload){
|
||||
if (res.code === 1) {
|
||||
var template = '<div class="upload-image-div">';
|
||||
template += '<img src="'+ res.data.file +'" alt="img">';
|
||||
template += '<div class="del-upload-btn">x</div>';
|
||||
$("#business-license").parent().before(template)
|
||||
|
||||
$("input[name='businessLicense']").val(res.data.file)
|
||||
} else {
|
||||
layer.msg('上传错误');
|
||||
return false;
|
||||
}
|
||||
layer.closeAll('loading'); //关闭loading
|
||||
}
|
||||
,error: function(index, upload){
|
||||
layer.closeAll('loading'); //关闭loading
|
||||
}
|
||||
});
|
||||
|
||||
// 上传自拍照
|
||||
var uploadInst = likeupload.render({
|
||||
elem: '#self-photo' //绑定元素
|
||||
,url: "{:url('shop.LocalStore/uploadImage')}" //上传接口
|
||||
,accept: 'images'
|
||||
,data: {type: 'self_photo'}
|
||||
,exts: "jpg|png|jpeg"
|
||||
,before: function(obj){ //obj参数包含的信息,跟 choose回调完全一致,可参见上文。
|
||||
layer.load(); //上传loading
|
||||
}
|
||||
,done: function(res, index, upload){
|
||||
if (res.code === 1) {
|
||||
var template = '<div class="upload-image-div">';
|
||||
template += '<img src="'+ res.data.file +'" alt="img">';
|
||||
template += '<div class="del-upload-btn">x</div>';
|
||||
$("#self-photo").parent().before(template)
|
||||
|
||||
$("input[name='idCard']").val(res.data.file)
|
||||
} else {
|
||||
layer.msg('上传错误');
|
||||
return false;
|
||||
}
|
||||
layer.closeAll('loading'); //关闭loading
|
||||
}
|
||||
,error: function(index, upload){
|
||||
layer.closeAll('loading'); //关闭loading
|
||||
}
|
||||
});
|
||||
|
||||
function switchTab(number) {
|
||||
$('.layui-tab-card .layui-tab-title li').removeClass('layui-this');
|
||||
@ -253,7 +292,74 @@
|
||||
"", "", ""
|
||||
);
|
||||
|
||||
txMap.init("", "");
|
||||
$(document).on('click','.select-goods',function () {
|
||||
layer.open({
|
||||
type: 2
|
||||
,title: '选择商品'
|
||||
,content: '{:url("shop.LocalStore/user")}'
|
||||
,area: ['90%', '90%']
|
||||
,btn: ['确认', '取消']
|
||||
,yes: function(index, layero){
|
||||
var data = window["layui-layer-iframe" + index].callbackdata();
|
||||
$('#shop_name').html(data[0].name)
|
||||
$('#shop_id').val(data[0].id)
|
||||
}
|
||||
})
|
||||
})
|
||||
|
||||
|
||||
function initMap() {
|
||||
//定义地图中心点坐标
|
||||
var center = new TMap.LatLng(39.9088, 116.3987)
|
||||
//定义map变量,调用 TMap.Map() 构造函数创建地图
|
||||
var map = new TMap.Map(document.getElementById('container'), {
|
||||
center: center,//设置地图中心点坐标
|
||||
zoom: 17.2, //设置地图缩放级别
|
||||
pitch: 43.5, //设置俯仰角
|
||||
rotation: 45, //设置地图旋转角度
|
||||
viewMode:'2D'
|
||||
});
|
||||
|
||||
map.on("click", function (evt) {
|
||||
var lat = evt.latLng.getLat().toFixed(6);
|
||||
var lng = evt.latLng.getLng().toFixed(6);
|
||||
console.log("您点击的的坐标是:"+ lat + "," + lng);
|
||||
})
|
||||
|
||||
$(document).on("click", "#searchMap", function () {
|
||||
var province_id = $("#province");
|
||||
var city_id = $("#city");
|
||||
var district_id = $("#district");
|
||||
var shop_address = $("input[name='address']").val();
|
||||
|
||||
if(province_id.val() === null){
|
||||
layer.open({icon:2,time:2000,content:"请选择省份"});
|
||||
return;
|
||||
}
|
||||
if(city_id.val() === null){
|
||||
layer.open({icon:2,time:2000,content:"请选择市"});
|
||||
return;
|
||||
}
|
||||
if(district_id.val() === null){
|
||||
layer.open({icon:2,time:2000,content:"请选择镇/区"});
|
||||
return;
|
||||
}
|
||||
var address = province_id.find("option:selected").text() + city_id.find("option:selected").text() + district_id.find("option:selected").text() + shop_address;
|
||||
|
||||
like.ajax({
|
||||
url: "{:url('shop.LocalStore/map')}",
|
||||
data: {address},
|
||||
type: "POST",
|
||||
success:function(res) {
|
||||
if(res.code === 1) {
|
||||
map.setCenter(new TMap.LatLng(res.data.lat, res.data.lng));
|
||||
$("input[name='longitude']").val(res.data.lng)
|
||||
$("input[name='latitude']").val(res.data.lat)
|
||||
}
|
||||
}
|
||||
});
|
||||
});
|
||||
}
|
||||
initMap()
|
||||
})
|
||||
</script>
|
||||
@ -114,7 +114,7 @@
|
||||
var submit = layero.find("iframe").contents().find("#addSubmit");
|
||||
iframeWindow.layui.form.on("submit(addSubmit)", function (data) {
|
||||
like.ajax({
|
||||
url: "{:url('shop.Category/add')}",
|
||||
url: "{:url('shop.LocalStore/add')}",
|
||||
data: data.field,
|
||||
type: "POST",
|
||||
success: function (res) {
|
||||
|
||||
106
app/admin/view/shop/local_store/user.html
Executable file
106
app/admin/view/shop/local_store/user.html
Executable file
@ -0,0 +1,106 @@
|
||||
{layout name="layout1" /}
|
||||
<div class="layui-fluid">
|
||||
<div class="layui-card">
|
||||
<div class="layui-tab layui-tab-card" lay-filter="tab-all">
|
||||
<div class="layui-tab-item layui-show">
|
||||
<div class="layui-card">
|
||||
<div class="layui-form layui-card-header layuiadmin-card-header-auto">
|
||||
<div class="layui-form-item type">
|
||||
<div class="layui-inline">
|
||||
<label class="layui-form-label">商品名称:</label>
|
||||
<div class="layui-input-block">
|
||||
<input type="text" name="goods_name" id="keyword" placeholder="请输入关键词" autocomplete="off" class="layui-input">
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-inline">
|
||||
<button class="layui-btn layuiadmin-btn-goods {$view_theme_color}" lay-submit lay-filter="goods-search">查询</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-card-body">
|
||||
<table id="goods-lists" lay-filter="goods-lists"></table>
|
||||
<script type="text/html" id="goods-info">
|
||||
<img src="{{d.image}}" style="height:60px;width: 60px" class="image-show"> {{d.name}}
|
||||
</script>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-form-item layui-hide">
|
||||
<input type="button" lay-submit lay-filter="select-submit" class="select-submit" id="select-submit" value="确认">
|
||||
</div>
|
||||
</div>
|
||||
<style>
|
||||
.layui-table-cell {
|
||||
height: auto;
|
||||
}
|
||||
</style>
|
||||
<script>
|
||||
var table;
|
||||
layui.config({
|
||||
version:"{$front_version}",
|
||||
base: '/static/lib/' //静态资源所在路径
|
||||
}).use(['table','form'], function(){
|
||||
var $ = layui.$
|
||||
,form = layui.form
|
||||
,element = layui.element;
|
||||
|
||||
//监听搜索
|
||||
form.on('submit(goods-search)', function(data){
|
||||
var field = data.field;
|
||||
//执行重载
|
||||
table.reload('goods-lists', {
|
||||
where: field
|
||||
});
|
||||
});
|
||||
//清空查询
|
||||
form.on('submit(goods-clear-search)', function(){
|
||||
$('#keyword').val(''); //清空输入框
|
||||
$('#status_search').val(''); //清空输入框
|
||||
form.render('select');
|
||||
//刷新列表
|
||||
table.reload('goods-lists', {
|
||||
where: []
|
||||
});
|
||||
});
|
||||
|
||||
});
|
||||
layui.define(['table', 'form'], function (exports) {
|
||||
var $ = layui.$
|
||||
, form = layui.form;
|
||||
table = layui.table;
|
||||
|
||||
table.render({
|
||||
id: 'goods-lists'
|
||||
, elem: '#goods-lists'
|
||||
, url: '{:url("shop.LocalStore/user")}' //模拟接口
|
||||
, cols: [[
|
||||
{type: 'radio'}
|
||||
, {field: 'nickname', title: '用户名称'}
|
||||
, {field: 'abs_avatar', title: '头像'}
|
||||
]]
|
||||
, page: true
|
||||
, text: {none: '暂无数据!'}
|
||||
, parseData: function (res) { //将原始数据解析成 table 组件所规定的数据
|
||||
return {
|
||||
"code": res.code,
|
||||
"msg": res.msg,
|
||||
"count": res.data.count, //解析数据长度
|
||||
"data": res.data.lists, //解析数据列表
|
||||
};
|
||||
},
|
||||
response: {
|
||||
statusCode: 1
|
||||
}
|
||||
});
|
||||
})
|
||||
var callbackdata = function () {
|
||||
var data = table.checkStatus('goods-lists').data
|
||||
,index = parent.layer.getFrameIndex(window.name);
|
||||
parent.layer.close(index);
|
||||
return data;
|
||||
}
|
||||
|
||||
</script>
|
||||
59
app/common/utils/UploadAliOSS.php
Normal file
59
app/common/utils/UploadAliOSS.php
Normal file
@ -0,0 +1,59 @@
|
||||
<?php
|
||||
|
||||
namespace app\common\utils;
|
||||
|
||||
use app\common\server\storage\Driver as StorageDriver;
|
||||
use think\facade\Config;
|
||||
|
||||
class UploadAliOSS
|
||||
{
|
||||
// 删除图片
|
||||
public static function uploadImage($path = '')
|
||||
{
|
||||
if (!$path) {
|
||||
return ['code' => -1, 'msg' => '缺少上传路径'];
|
||||
} else {
|
||||
$StorageDriver = new StorageDriver(self::config());
|
||||
$StorageDriver->setUploadFile('file');
|
||||
if (!$StorageDriver->upload($path)) {
|
||||
return ['code' => -1, 'msg' => '上传错误'];
|
||||
}
|
||||
|
||||
$fileName = $StorageDriver->getFileName();
|
||||
if ($fileName) {
|
||||
return ['code' => 1, 'msg' => '', 'data' => array('file' => Config::get('aliyunoss.domain') . $path . '/'. $fileName)];
|
||||
}
|
||||
|
||||
return ['code' => -1, 'msg' => '上传失败'];
|
||||
}
|
||||
}
|
||||
|
||||
// 删除文件
|
||||
public static function delFile($path, $file)
|
||||
{
|
||||
if (!$path) {
|
||||
return ['code' => -1, 'msg' => '缺少上传路径'];
|
||||
} else {
|
||||
$file = $path . '/' . basename($file);
|
||||
$StorageDriver = new StorageDriver(self::config());
|
||||
$StorageDriver->delete($file);
|
||||
}
|
||||
|
||||
return ['code' => 1, 'msg' => '删除成功'];
|
||||
}
|
||||
|
||||
private static function config()
|
||||
{
|
||||
return [
|
||||
"default" => "aliyun",
|
||||
"engine" => [
|
||||
"aliyun" => [
|
||||
"bucket" => Config::get('aliyunoss.bucket'),
|
||||
"access_key_id" => Config::get('aliyunoss.access_key_id'),
|
||||
"access_key_secret" => Config::get('aliyunoss.access_key_secret'),
|
||||
"domain" => Config::get('aliyunoss.domain'),
|
||||
]
|
||||
]
|
||||
];
|
||||
}
|
||||
}
|
||||
Loading…
Reference in New Issue
Block a user