添加: 交易市场
This commit is contained in:
parent
08ed99effc
commit
11bd724941
|
|
@ -114,7 +114,7 @@ class User extends BaseModel{
|
||||||
for($i=0;$i<$info['order_num'];$i++){
|
for($i=0;$i<$info['order_num'];$i++){
|
||||||
$insert[] = [
|
$insert[] = [
|
||||||
'site_id' => $this->site_id,
|
'site_id' => $this->site_id,
|
||||||
'member_id' => $memberId,
|
'seller_uid' => $memberId,
|
||||||
'goods_id' => (int)$info['goods_id'],
|
'goods_id' => (int)$info['goods_id'],
|
||||||
'total' => (int)$info['goods_num'],
|
'total' => (int)$info['goods_num'],
|
||||||
'unit_price' => sprintf("%.2f",$info['unit_price'] * $info['goods_num']),
|
'unit_price' => sprintf("%.2f",$info['unit_price'] * $info['goods_num']),
|
||||||
|
|
|
||||||
|
|
@ -12,21 +12,95 @@
|
||||||
*/
|
*/
|
||||||
namespace addon\futures\shop\controller;
|
namespace addon\futures\shop\controller;
|
||||||
use app\shop\controller\BaseShop;
|
use app\shop\controller\BaseShop;
|
||||||
|
use addon\futures\model\Futures as futuresModel;
|
||||||
|
|
||||||
class Futures extends BaseShop{
|
class Futures extends BaseShop{
|
||||||
|
/**
|
||||||
// 进入首页
|
* Common: 进入交易市场
|
||||||
|
* Author: wu-hui
|
||||||
|
* Time: 2023/02/23 14:38
|
||||||
|
* @return array|mixed
|
||||||
|
*/
|
||||||
public function index(){
|
public function index(){
|
||||||
|
if(request()->isAjax()){
|
||||||
|
// 参数获取
|
||||||
|
$page = input('page',1);
|
||||||
|
$pageSize = input('page_size',PAGE_LIST_ROWS);
|
||||||
|
$nickname = input('nickname','');
|
||||||
|
$status = (int)input('status',0);// 状态(1=库存,2=已上架,3=已售出,4=提货中,5=提货完成,6=待支付,7=捡漏)
|
||||||
|
$timeType = (string)input('time_type','created');
|
||||||
|
$startTime = (int)input('start_time',0);
|
||||||
|
$endTime = (int)input('end_time',0);
|
||||||
|
// 获取内容
|
||||||
|
$field = [
|
||||||
|
'seller.username as seller_username',
|
||||||
|
'seller.nickname as seller_nickname',
|
||||||
|
'seller.headimg as seller_headimg',
|
||||||
|
'g.goods_name',
|
||||||
|
'g.goods_image',
|
||||||
|
'a.id',
|
||||||
|
'a.total',
|
||||||
|
'a.unit_price',
|
||||||
|
'a.price',
|
||||||
|
'a.status',
|
||||||
|
'a.release_time',
|
||||||
|
'a.sell_time',
|
||||||
|
'a.created_time',
|
||||||
|
'a.take_time',
|
||||||
|
];
|
||||||
|
// 表关联
|
||||||
|
$join = [
|
||||||
|
['member seller', 'seller.member_id = a.seller_uid', 'left'],// 获取卖家信息
|
||||||
|
['goods g', 'g.goods_id = a.goods_id', 'left'],// 获取商品信息
|
||||||
|
];
|
||||||
|
// 条件生成
|
||||||
|
$condition = [
|
||||||
|
['a.site_id','=',$this->site_id]
|
||||||
|
];
|
||||||
|
if($nickname) $condition[] = ['seller.username|seller.nickname',"like","%{$nickname}%"];
|
||||||
|
if($status > 0) $condition[] = ['a.status',"=",$status];
|
||||||
|
$timeField = [
|
||||||
|
'created' => 'a.created_time',
|
||||||
|
'release' => 'a.release_time',
|
||||||
|
'sell' => 'a.sell_time',
|
||||||
|
'take' => 'a.take_time',
|
||||||
|
];
|
||||||
|
if($startTime > 0) $condition[] = [$timeField[$timeType],">=",$startTime];
|
||||||
|
if($endTime > 0) $condition[] = [$timeField[$timeType],"<=",$endTime];
|
||||||
|
|
||||||
|
return (new futuresModel())->getPageList($condition, $page, $pageSize, 'a.created_time desc,a.id desc', $field, 'a', $join);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
$this->forthMenu();
|
$this->forthMenu();
|
||||||
return $this->fetch('futures/index');
|
return $this->fetch('futures/index');
|
||||||
}
|
}
|
||||||
|
/**
|
||||||
|
* Common: 查看交易详情
|
||||||
|
* Author: wu-hui
|
||||||
|
* Time: 2023/02/23 18:04
|
||||||
|
* @return mixed
|
||||||
|
*/
|
||||||
|
public function seeDetail(){
|
||||||
|
// 参数获取
|
||||||
|
$id = input('id',0);
|
||||||
|
// 获取交易信息
|
||||||
|
$field = "id,seller_uid,order_id,member_id,goods_id,total,unit_price,price,status,release_time,sell_time,created_time,take_time,old_futures_id";
|
||||||
|
$data['info'] = (array)model('futures')->getInfo(['id' => $id],$field);
|
||||||
|
// 获取卖家信息 买家信息
|
||||||
|
$memberField = "username,nickname,headimg";
|
||||||
|
$data['seller'] = (array)model('member')->getInfo(['member_id' => $data['info']['seller_uid']],$memberField);
|
||||||
|
$data['buyer'] = (array)model('member')->getInfo(['member_id' => $data['info']['member_id']],$memberField);
|
||||||
|
// 获取订单信息
|
||||||
|
$orderField = "order_no";
|
||||||
|
$data['order'] = (array)model('order')->getInfo(['order_id' => $data['info']['order_id']],$orderField);
|
||||||
|
// 商品信息
|
||||||
|
$goodsField = "goods_name,goods_image";
|
||||||
|
$data['goods'] = (array)model('goods')->getInfo(['goods_id' => $data['info']['goods_id']],$goodsField);
|
||||||
|
$data['goods']['goods_image'] = explode(',',$data['goods']['goods_image'])[0];
|
||||||
|
|
||||||
|
return $this->fetch('futures/see',$data);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -38,9 +38,12 @@ class User extends BaseShop{
|
||||||
|
|
||||||
return (new userModel($this->site_id))->changeSpecial();
|
return (new userModel($this->site_id))->changeSpecial();
|
||||||
}
|
}
|
||||||
|
/**
|
||||||
|
* Common: 商品赠送
|
||||||
// 商品赠送
|
* Author: wu-hui
|
||||||
|
* Time: 2023/02/23 14:01
|
||||||
|
* @return array|mixed
|
||||||
|
*/
|
||||||
public function sendGoods(){
|
public function sendGoods(){
|
||||||
if(request()->isAjax()) return (new userModel($this->site_id))->sendGoods();
|
if(request()->isAjax()) return (new userModel($this->site_id))->sendGoods();
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -15,136 +15,217 @@
|
||||||
height:40px;
|
height:40px;
|
||||||
margin-right:20px;
|
margin-right:20px;
|
||||||
}
|
}
|
||||||
|
.time_p{
|
||||||
|
height: 20px;
|
||||||
|
line-height: 20px;
|
||||||
|
font-size: 13px;
|
||||||
|
}
|
||||||
</style>
|
</style>
|
||||||
{/block}
|
{/block}
|
||||||
|
|
||||||
{block name="main"}
|
{block name="main"}
|
||||||
<!-- 顶部操作内容 -->
|
<!-- 筛选面板 -->
|
||||||
<div class="single-filter-box top">
|
<div class="screen layui-collapse" lay-filter="selection_panel">
|
||||||
<div class="right">
|
<div class="layui-colla-item">
|
||||||
<button class="layui-btn" onclick="addMember()">添加成员</button>
|
<div class="layui-colla-content layui-form layui-show" lay-filter="search_form">
|
||||||
<button class="layui-btn" style="background-color: #009688;" onclick="synchronization(0)">同步开发者</button>
|
<div class="layui-form-item">
|
||||||
<button class="layui-btn" style="background-color: #FFB800;" onclick="synchronization(1)">同步体验者</button>
|
<div class="layui-inline">
|
||||||
|
<label class="layui-form-label">用户昵称:</label>
|
||||||
|
<div class="layui-input-inline">
|
||||||
|
<input type="text" name="nickname" placeholder="用户昵称" autocomplete="off" class="layui-input"/>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="layui-inline">
|
||||||
|
<label class="layui-form-label">交易状态:</label>
|
||||||
|
<div class="layui-input-inline">
|
||||||
|
<select name="status" lay-filter="is_settlement">
|
||||||
|
<option value="">全部</option>
|
||||||
|
<option value="1">库存</option>
|
||||||
|
<option value="2">已上架</option>
|
||||||
|
<option value="3">已售出</option>
|
||||||
|
<option value="4">提货中</option>
|
||||||
|
<option value="5">提货完成</option>
|
||||||
|
<option value="6">待支付</option>
|
||||||
|
<option value="7">捡漏</option>
|
||||||
|
</select>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="layui-form-item">
|
||||||
|
<div class="layui-inline">
|
||||||
|
<label class="layui-form-label">交易时间:</label>
|
||||||
|
<!--交易时间类型-->
|
||||||
|
<div class="layui-input-inline">
|
||||||
|
<select name="time_type" lay-filter="is_settlement">
|
||||||
|
<option value="created">购买时间</option>
|
||||||
|
<option value="release">上架时间</option>
|
||||||
|
<option value="sell">售卖时间</option>
|
||||||
|
<option value="take">取货时间</option>
|
||||||
|
</select>
|
||||||
|
</div>
|
||||||
|
<!--时间选择-->
|
||||||
|
<div class="layui-input-inline">
|
||||||
|
<input type="text" class="layui-input" name="start_time" placeholder="开始时间" id="start_time" readonly>
|
||||||
|
<i class=" iconrili iconfont calendar"></i>
|
||||||
|
</div>
|
||||||
|
<div class="layui-form-mid">-</div>
|
||||||
|
<div class="layui-input-inline">
|
||||||
|
<input type="text" class="layui-input" name="end_time" placeholder="结束时间" id="end_time" readonly>
|
||||||
|
<i class=" iconrili iconfont calendar"></i>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="form-row">
|
||||||
|
<button class="layui-btn" lay-submit lay-filter="search">筛选</button>
|
||||||
|
<button type="reset" lay-submit lay-filter="reset" class="layui-btn layui-btn-primary">重置</button>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="left"></div>
|
|
||||||
</div>
|
</div>
|
||||||
<!-- 列表 -->
|
<!-- 列表 -->
|
||||||
<table id="listContent" lay-filter="listContent"></table>
|
<table id="listContent" lay-filter="listContent"></table>
|
||||||
<!-- 操作 -->
|
<!-- 操作 -->
|
||||||
<script type="text/html" id="operation">
|
<script type="text/html" id="operation">
|
||||||
<div class="table-btn">
|
<div class="table-btn">
|
||||||
<a class="layui-btn" lay-event="delete">删除</a>
|
<a class="layui-btn" lay-event="seeDetail">查看详情</a>
|
||||||
|
</div>
|
||||||
|
</script>
|
||||||
|
<!--会员信息-->
|
||||||
|
<script type="text/html" id="memberInfo">
|
||||||
|
<div class='table-title'>
|
||||||
|
<div class='title-pic'>
|
||||||
|
<img layer-src src="{{ns.img(d.seller_headimg)}}" onerror="this.src = '{:img(\'public/static/img/default_img/head.png\')}' ">
|
||||||
|
</div>
|
||||||
|
<div class='title-content'>
|
||||||
|
{{# if(d.seller_username){ }}
|
||||||
|
<p class="layui-elip">{{d.seller_username}}</p>
|
||||||
|
{{# } else { }}
|
||||||
|
<p class="layui-elip">{{d.seller_nickname}}</p>
|
||||||
|
{{# } }}
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</script>
|
||||||
|
<!--商品信息-->
|
||||||
|
<script type="text/html" id="goodsInfo">
|
||||||
|
<div class='table-title' title="{{d.goods_name}}">
|
||||||
|
<div class='title-pic'>
|
||||||
|
<img layer-src src="{{ns.img(d.goods_image)}}" onerror="this.src = '{:img(\'public/static/img/default_img/head.png\')}' ">
|
||||||
|
</div>
|
||||||
|
<div class='title-content'>
|
||||||
|
<p class="layui-elip">{{d.goods_name}}</p>
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</script>
|
</script>
|
||||||
{/block}
|
{/block}
|
||||||
|
|
||||||
{block name="script"}
|
{block name="script"}
|
||||||
<script>
|
<script>
|
||||||
var table, form, editIframe, repeat_flag = false;//防重复标识;
|
var table, form, editIframe,laydate, repeat_flag = false;//防重复标识;
|
||||||
layui.use(['form'], function() {
|
layui.use(['form','laydate'], function() {
|
||||||
form = layui.form;
|
form = layui.form;
|
||||||
|
laydate = layui.laydate;
|
||||||
form.render();
|
form.render();
|
||||||
|
//渲染时间
|
||||||
|
laydate.render({
|
||||||
|
elem: '#start_time'
|
||||||
|
,type: 'datetime'
|
||||||
|
,change: function(value, date, endDate){
|
||||||
|
$(".date-picker-btn").removeClass("selected");
|
||||||
|
}
|
||||||
|
});
|
||||||
|
laydate.render({
|
||||||
|
elem: '#end_time'
|
||||||
|
,type: 'datetime'
|
||||||
|
,change: function(value, date, endDate){
|
||||||
|
$(".date-picker-btn").removeClass("selected");
|
||||||
|
}
|
||||||
|
});
|
||||||
// 内容获取
|
// 内容获取
|
||||||
table = new Table({
|
table = new Table({
|
||||||
elem: '#listContent',
|
elem: '#listContent',
|
||||||
url: ns.url("aliapp://shop/member/index"),
|
url: ns.url("futures://shop/futures/index"),
|
||||||
cols: [[
|
cols: [[
|
||||||
{align: 'center', field: 'id', title: 'ID', width: '5%', unresize: 'false'},
|
{align: 'center', field: 'id', title: 'ID', width: '5%', unresize: 'false'},
|
||||||
{align: 'center', field: 'user_id', title: '支付宝用户id', unresize: 'area'},
|
{align: 'left', title: '买家信息', unresize: 'area',width: '15%', templet: '#memberInfo'},
|
||||||
{align: 'center', field: 'nick_name', title: '昵称', unresize: 'area'},
|
{align: 'left', title: '商品信息', unresize: 'area',width: '15%', templet: '#goodsInfo'},
|
||||||
|
{align: 'center', title: '商品数量', field: 'total',width: '10%', unresize: 'area'},
|
||||||
|
{align: 'center', title: '购买价格', field: 'unit_price',width: '10%', unresize: 'area'},
|
||||||
{
|
{
|
||||||
align: 'center', templet: function (d) {
|
align: 'center',width: '10%', templet: function (d) {
|
||||||
// 成员的状态,VALID-有效,UNCONFIRMED-未确认,TIMEOUT-已经失效,REFUSED-用户拒绝
|
// 状态(1=库存,2=已上架,3=已售出,4=提货中,5=提货完成,6=待支付,7=捡漏)
|
||||||
let statusText = '';
|
let statusText = '';
|
||||||
switch (d.status) {
|
switch (parseInt(d.status)) {
|
||||||
case 'VALID': statusText = '有效'; break;
|
case 1: statusText = '<p>库存</p>'; break;
|
||||||
case 'UNCONFIRMED': statusText = '未确认'; break;
|
case 2: statusText = '<p style="color: #07c160;">已上架</p>'; break;
|
||||||
case 'TIMEOUT': statusText = '已经失效'; break;
|
case 3: statusText = '<p style="color: #1989fa;">已售出</p>'; break;
|
||||||
case 'REFUSED': statusText = '用户拒绝'; break;
|
case 4: statusText = '<p style="color: #7232dd;">提货中</p>'; break;
|
||||||
|
case 5: statusText = '<p style="color: #ad0000;">提货完成</p>'; break;
|
||||||
|
case 6: statusText = '<p style="color: #ff976a;">待支付</p>'; break;
|
||||||
|
case 7: statusText = '<p style="color: #ee0a24;">捡漏</p>'; break;
|
||||||
}
|
}
|
||||||
|
|
||||||
return statusText;
|
return statusText;
|
||||||
}, title: '状态', unresize: 'false'
|
}, title: '交易状态', unresize: 'false'
|
||||||
},
|
},
|
||||||
{align: 'center', field: 'gmt_join', title: '加入时间', unresize: 'area'},
|
|
||||||
{align: 'center', field: 'logon_id', title: '支付宝账号', unresize: 'area'},
|
|
||||||
{align: 'center', field: 'gmt_invite', title: '邀请时间', unresize: 'area'},
|
|
||||||
{
|
{
|
||||||
align: 'center', templet: function (d) {
|
align: 'center',width: '15%', templet: function (d) {
|
||||||
// 角色类型:DEVELOPER-开发者;EXPERIENCER-体验者
|
let timeText = '';
|
||||||
return d.role === 'DEVELOPER' ? '开发者' : '体验者';
|
if(d.release_time > 0) timeText += '<p class="time_p">上架时间:'+ns.time_to_date(d.release_time,'YYYY-MM-DD h:m')+'</p>';
|
||||||
}, title: '角色类型', unresize: 'false'
|
if(d.sell_time > 0) timeText += '<p class="time_p">售卖时间:'+ns.time_to_date(d.sell_time,'YYYY-MM-DD h:m')+'</p>';
|
||||||
|
if(d.created_time > 0) timeText += '<p class="time_p">购买时间:'+ns.time_to_date(d.created_time,'YYYY-MM-DD h:m')+'</p>';
|
||||||
|
if(d.take_time > 0) timeText += '<p class="time_p">取货时间:'+ns.time_to_date(d.take_time,'YYYY-MM-DD h:m')+'</p>';
|
||||||
|
|
||||||
|
return timeText;
|
||||||
|
}, title: '交易时间', unresize: 'false'
|
||||||
},
|
},
|
||||||
{title: '操作', toolbar: '#operation', unresize: 'false', align: 'right'}
|
{title: '操作', toolbar: '#operation', unresize: 'false', align: 'right'}
|
||||||
]],
|
]],
|
||||||
});
|
});
|
||||||
// 监听工具栏操作
|
// 点击搜索
|
||||||
table.tool(function(obj) {
|
form.on('submit(search)', function(data) {
|
||||||
var data = obj.data;
|
|
||||||
switch (obj.event) {
|
|
||||||
case 'delete':
|
|
||||||
delMember(data.id);
|
|
||||||
break;//删除
|
|
||||||
}
|
|
||||||
});
|
|
||||||
});
|
|
||||||
// 成员同步
|
|
||||||
function synchronization(type){
|
|
||||||
let index = ns.loading('open','同步中,请等待......');
|
|
||||||
requestApi("aliapp://shop/Member/synchronization",{ type: type },function (res) {
|
|
||||||
table.reload({
|
table.reload({
|
||||||
page: {
|
page: {
|
||||||
curr: 1
|
curr: 1
|
||||||
},
|
},
|
||||||
|
where: data.field
|
||||||
});
|
});
|
||||||
layer.close(index);
|
return false;
|
||||||
})
|
});
|
||||||
}
|
// 重置表单
|
||||||
// 添加成员
|
form.on('submit(reset)', function(data) {
|
||||||
function addMember(){
|
let field = {
|
||||||
editIframe = layer.open({
|
"nickname": "",
|
||||||
|
"status": "",
|
||||||
|
"time_type": "created",
|
||||||
|
"start_time": "",
|
||||||
|
"end_time": "",
|
||||||
|
};
|
||||||
|
form.val("search_form", field);
|
||||||
|
layui.form.render();
|
||||||
|
// 刷新表格
|
||||||
|
table.reload({
|
||||||
|
page: {
|
||||||
|
curr: 1
|
||||||
|
},
|
||||||
|
where: field
|
||||||
|
});
|
||||||
|
});
|
||||||
|
// 监听工具栏操作
|
||||||
|
table.tool(function(obj) {
|
||||||
|
var data = obj.data;
|
||||||
|
eval(obj.event)(data)
|
||||||
|
});
|
||||||
|
});
|
||||||
|
// 点击查看详情
|
||||||
|
function seeDetail(data){
|
||||||
|
layer.open({
|
||||||
type: 2,
|
type: 2,
|
||||||
title: '添加名片',
|
title: '交易详情',
|
||||||
skin: 'layer-tips-class',
|
skin: 'layer-tips-class',
|
||||||
area: ['70%','90%'],
|
area: ['80%','90%'],
|
||||||
content: ns.url("aliapp://shop/Member/addMember", {}),
|
content: ns.url("futures://shop/futures/seeDetail", { id: data.id }),
|
||||||
end: function(){
|
end: function(){
|
||||||
table.reload({
|
//table.reload();
|
||||||
page: {
|
|
||||||
curr: 1
|
|
||||||
},
|
|
||||||
});
|
|
||||||
}
|
|
||||||
});
|
|
||||||
}
|
|
||||||
// 删除成员
|
|
||||||
function delMember(id){
|
|
||||||
layer.confirm('确定删除成员吗!', {icon: 3, title:'提示'}, function(confirmIndex){
|
|
||||||
layer.close(confirmIndex);
|
|
||||||
let index = ns.loading('open','删除中,请等待......');
|
|
||||||
requestApi("aliapp://shop/Member/delMember",{ id: id },function (res) {
|
|
||||||
table.reload({
|
|
||||||
page: {
|
|
||||||
curr: 1
|
|
||||||
},
|
|
||||||
});
|
|
||||||
layer.close(index);
|
|
||||||
})
|
|
||||||
});
|
|
||||||
}
|
|
||||||
// 发起请求
|
|
||||||
function requestApi(api,data,fun){
|
|
||||||
if (repeat_flag) return false;
|
|
||||||
repeat_flag = true;
|
|
||||||
$.ajax({
|
|
||||||
url: ns.url(api),
|
|
||||||
data: data,
|
|
||||||
dataType: 'JSON',
|
|
||||||
type: 'POST',
|
|
||||||
success: function(res) {
|
|
||||||
layer.msg(res.message);
|
|
||||||
repeat_flag = false;
|
|
||||||
if(typeof fun === 'function') fun(res);
|
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,242 @@
|
||||||
|
{extend name="app/shop/view/base.html"/}
|
||||||
|
{block name="resources"}
|
||||||
|
<style>
|
||||||
|
.content{
|
||||||
|
padding: 15px;
|
||||||
|
}
|
||||||
|
.content .block .title{
|
||||||
|
color: #333333;
|
||||||
|
margin-bottom: 24px;
|
||||||
|
width: 100%;
|
||||||
|
height: 16px;
|
||||||
|
line-height: 16px;
|
||||||
|
padding-left: 10px;
|
||||||
|
border-left: 3px solid rgb(254,106,0);
|
||||||
|
box-sizing: border-box;
|
||||||
|
font-size: 15px;
|
||||||
|
font-weight: bold;
|
||||||
|
}
|
||||||
|
.content .block .list{
|
||||||
|
display: inline-flex;
|
||||||
|
flex-direction: row;
|
||||||
|
flex-wrap: wrap;
|
||||||
|
align-items: center;
|
||||||
|
align-content: center;
|
||||||
|
justify-content: flex-start;
|
||||||
|
width: 100%;
|
||||||
|
}
|
||||||
|
.content .block .list .list-block{
|
||||||
|
display: flex;
|
||||||
|
font-size: 14px;
|
||||||
|
color: #a4a4a4;
|
||||||
|
margin-bottom: 14px;
|
||||||
|
width: calc(100% / 3);
|
||||||
|
justify-content: center;
|
||||||
|
flex-direction: row;
|
||||||
|
flex-wrap: nowrap;
|
||||||
|
align-content: center;
|
||||||
|
align-items: center;
|
||||||
|
}
|
||||||
|
.content .block .list .list-block .list-block-title{
|
||||||
|
min-width: 85px;
|
||||||
|
text-align: right;
|
||||||
|
}
|
||||||
|
.content .block .list .list-block .list-block-value{
|
||||||
|
color: #333333;
|
||||||
|
margin-left: 16px;
|
||||||
|
text-align: left;
|
||||||
|
display: -webkit-box;
|
||||||
|
-webkit-line-clamp: 3;
|
||||||
|
overflow: hidden;
|
||||||
|
text-overflow: ellipsis;
|
||||||
|
-webkit-box-orient: vertical;
|
||||||
|
}
|
||||||
|
.content .block .list .list-block .list-block-value .image{
|
||||||
|
max-width: 80px;
|
||||||
|
max-height: 80px;
|
||||||
|
}
|
||||||
|
.content .block .list .list-block .list-block-value .text{
|
||||||
|
width: 100%;
|
||||||
|
text-align: center;
|
||||||
|
}
|
||||||
|
.content .block .user_list .list-block{
|
||||||
|
height: 150px;
|
||||||
|
display: flex;
|
||||||
|
justify-content: flex-start;
|
||||||
|
flex-direction: column;
|
||||||
|
flex-wrap: nowrap;
|
||||||
|
align-content: center;
|
||||||
|
align-items: center;
|
||||||
|
}
|
||||||
|
.content .block .user_list .list-block .list-block-title{
|
||||||
|
width: 100%;
|
||||||
|
text-align: center;
|
||||||
|
height: 30px;
|
||||||
|
line-height: 30px;
|
||||||
|
}
|
||||||
|
.content .block .user_list .list-block .list-block-value{
|
||||||
|
width: 100%;
|
||||||
|
display: inline-flex;
|
||||||
|
flex-direction: column;
|
||||||
|
flex-wrap: nowrap;
|
||||||
|
align-items: center;
|
||||||
|
align-content: center;
|
||||||
|
justify-content: center;
|
||||||
|
margin-left: 0!important;
|
||||||
|
height: 120px;
|
||||||
|
}
|
||||||
|
.content .block .layui-timeline{
|
||||||
|
padding-left: 80px;
|
||||||
|
}
|
||||||
|
</style>
|
||||||
|
{/block}
|
||||||
|
|
||||||
|
{block name="body"}
|
||||||
|
<div class="content">
|
||||||
|
<!-- 交易信息 -->
|
||||||
|
<div class="block">
|
||||||
|
<div class="title">交易信息</div>
|
||||||
|
<div class="list">
|
||||||
|
<div class="list-block">
|
||||||
|
<div class="list-block-title">订单号:</div>
|
||||||
|
<div class="list-block-value">{$order['order_no'] ?? '--'}</div>
|
||||||
|
</div>
|
||||||
|
<div class="list-block">
|
||||||
|
<div class="list-block-title">商品数量:</div>
|
||||||
|
<div class="list-block-value">{$info['total'] ?? '--'}</div>
|
||||||
|
</div>
|
||||||
|
<div class="list-block">
|
||||||
|
<div class="list-block-title">购入价格:</div>
|
||||||
|
<div class="list-block-value">{$info['unit_price'] ?? '--'}</div>
|
||||||
|
</div>
|
||||||
|
<div class="list-block">
|
||||||
|
<div class="list-block-title">售卖价格:</div>
|
||||||
|
<div class="list-block-value">{$info['price'] ?? '--'}</div>
|
||||||
|
</div>
|
||||||
|
<div class="list-block">
|
||||||
|
<div class="list-block-title">状态:</div>
|
||||||
|
<div class="list-block-value">
|
||||||
|
{if $info['status'] == 1}
|
||||||
|
<span>库存</span>
|
||||||
|
{elseif $info['status'] == 2}
|
||||||
|
<span style="color: #07c160;">已上架</span>
|
||||||
|
{elseif $info['status'] == 3}
|
||||||
|
<span style="color: #1989fa;">已售出</span>
|
||||||
|
{elseif $info['status'] == 4}
|
||||||
|
<span style="color: #7232dd;">提货中</span>
|
||||||
|
{elseif $info['status'] == 5}
|
||||||
|
<span style="color: #ad0000;">提货完成</span>
|
||||||
|
{elseif $info['status'] == 6}
|
||||||
|
<span style="color: #ff976a;">待支付</span>
|
||||||
|
{elseif $info['status'] == 7}
|
||||||
|
<span style="color: #ee0a24;">捡漏</span>
|
||||||
|
{else}
|
||||||
|
--
|
||||||
|
{/if}
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="list-block">
|
||||||
|
<div class="list-block-title">订单来源:</div>
|
||||||
|
<div class="list-block-value">{$info['old_futures_id'] > 0 ? '购买获得' : '后台配发'}</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<!-- 会员信息 -->
|
||||||
|
<div class="block">
|
||||||
|
<div class="title">会员信息</div>
|
||||||
|
<div class="list user_list">
|
||||||
|
<div class="list-block">
|
||||||
|
<div class="list-block-title">卖家信息</div>
|
||||||
|
<div class="list-block-value">
|
||||||
|
<img src="{:img($seller.headimg)}" class="image"/>
|
||||||
|
<div class="text">
|
||||||
|
{if $seller['nickname']} {$seller['nickname']} {else} {$seller['username']} {/if}
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="list-block">
|
||||||
|
<div class="list-block-title">商品信息</div>
|
||||||
|
<div class="list-block-value">
|
||||||
|
<img src="{:img($goods.goods_image)}" class="image"/>
|
||||||
|
<div class="text">
|
||||||
|
{$goods['goods_name']}
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="list-block">
|
||||||
|
<div class="list-block-title">买家信息</div>
|
||||||
|
<div class="list-block-value">
|
||||||
|
{if $buyer}
|
||||||
|
<img src="{:img($buyer.headimg)}" class="image"/>
|
||||||
|
<div class="text">
|
||||||
|
{if $buyer['nickname']} {$buyer['nickname']} {else} {$buyer['username']} {/if}
|
||||||
|
</div>
|
||||||
|
{else}
|
||||||
|
--
|
||||||
|
{/if}
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<!-- 操作日志 -->
|
||||||
|
<div class="block">
|
||||||
|
<div class="title">交易操作日志</div>
|
||||||
|
<ul class="layui-timeline">
|
||||||
|
{if $info['take_time'] > 0}
|
||||||
|
<li class="layui-timeline-item">
|
||||||
|
<i class="layui-icon layui-timeline-axis"></i>
|
||||||
|
<div class="layui-timeline-content layui-text">
|
||||||
|
<h3 class="layui-timeline-title">{:date("Y-m-d H:i",$info['take_time'])}</h3>
|
||||||
|
<p>【{if $seller['nickname']} {$seller['nickname']} {else} {$seller['username']} {/if}】取货</p>
|
||||||
|
</div>
|
||||||
|
</li>
|
||||||
|
{/if}
|
||||||
|
{if $info['sell_time'] > 0}
|
||||||
|
<li class="layui-timeline-item">
|
||||||
|
<i class="layui-icon layui-timeline-axis"></i>
|
||||||
|
<div class="layui-timeline-content layui-text">
|
||||||
|
<h3 class="layui-timeline-title">{:date("Y-m-d H:i",$info['sell_time'])}</h3>
|
||||||
|
<p>【{if $buyer['nickname']} {$buyer['nickname']} {else} {$buyer['username']} {/if}】购入当前订单中所有商品</p>
|
||||||
|
</div>
|
||||||
|
</li>
|
||||||
|
{/if}
|
||||||
|
{if $info['release_time'] > 0}
|
||||||
|
<li class="layui-timeline-item">
|
||||||
|
<i class="layui-icon layui-timeline-axis"></i>
|
||||||
|
<div class="layui-timeline-content layui-text">
|
||||||
|
<h3 class="layui-timeline-title">{:date("Y-m-d H:i",$info['release_time'])}</h3>
|
||||||
|
<p>【{if $seller['nickname']} {$seller['nickname']} {else} {$seller['username']} {/if}】将当前订单上架售卖</p>
|
||||||
|
</div>
|
||||||
|
</li>
|
||||||
|
{/if}
|
||||||
|
{if $info['created_time'] > 0}
|
||||||
|
<li class="layui-timeline-item">
|
||||||
|
<i class="layui-icon layui-timeline-axis"></i>
|
||||||
|
<div class="layui-timeline-content layui-text">
|
||||||
|
<h3 class="layui-timeline-title">{:date("Y-m-d H:i",$info['created_time'])}</h3>
|
||||||
|
<p>【{if $seller['nickname']} {$seller['nickname']} {else} {$seller['username']} {/if}】购入</p>
|
||||||
|
</div>
|
||||||
|
</li>
|
||||||
|
{/if}
|
||||||
|
</ul>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
{/block}
|
||||||
|
{block name="script"}
|
||||||
|
<script>
|
||||||
|
var _thisIndex,form,repeat_flag = false,goods_info = {};
|
||||||
|
$(function () {
|
||||||
|
// 基本参数
|
||||||
|
_thisIndex = parent.layer.getFrameIndex(window.name); //先得到当前iframe层的索引
|
||||||
|
// 表单内容
|
||||||
|
layui.use(['form'], function() {
|
||||||
|
form = layui.form;
|
||||||
|
form.render();
|
||||||
|
});
|
||||||
|
});
|
||||||
|
// 点击关闭弹框
|
||||||
|
function closeIframe() {
|
||||||
|
parent.layer.close(_thisIndex); //再执行关闭
|
||||||
|
}
|
||||||
|
</script>
|
||||||
|
{/block}
|
||||||
|
|
@ -22,7 +22,7 @@
|
||||||
<!-- 筛选面板 -->
|
<!-- 筛选面板 -->
|
||||||
<div class="screen layui-collapse" lay-filter="selection_panel">
|
<div class="screen layui-collapse" lay-filter="selection_panel">
|
||||||
<div class="layui-colla-item">
|
<div class="layui-colla-item">
|
||||||
<div class="layui-colla-content layui-form layui-show">
|
<div class="layui-colla-content layui-form layui-show" lay-filter="search_form">
|
||||||
<div class="layui-form-item">
|
<div class="layui-form-item">
|
||||||
<div class="layui-inline">
|
<div class="layui-inline">
|
||||||
<label class="layui-form-label">用户昵称:</label>
|
<label class="layui-form-label">用户昵称:</label>
|
||||||
|
|
@ -43,7 +43,7 @@
|
||||||
</div>
|
</div>
|
||||||
<div class="form-row">
|
<div class="form-row">
|
||||||
<button class="layui-btn" lay-submit lay-filter="search">筛选</button>
|
<button class="layui-btn" lay-submit lay-filter="search">筛选</button>
|
||||||
<button type="reset" class="layui-btn layui-btn-primary">重置</button>
|
<button type="reset" lay-submit lay-filter="reset" class="layui-btn layui-btn-primary">重置</button>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
@ -58,7 +58,7 @@
|
||||||
{{# } }}
|
{{# } }}
|
||||||
|
|
||||||
|
|
||||||
<a class="layui-btn" lay-event="delete">删除</a>
|
|
||||||
</div>
|
</div>
|
||||||
</script>
|
</script>
|
||||||
<!--会员信息-->
|
<!--会员信息-->
|
||||||
|
|
@ -147,6 +147,22 @@
|
||||||
});
|
});
|
||||||
return false;
|
return false;
|
||||||
});
|
});
|
||||||
|
// 重置表单
|
||||||
|
form.on('submit(reset)', function(data) {
|
||||||
|
let field = {
|
||||||
|
"nickname": "",
|
||||||
|
"status": "",
|
||||||
|
};
|
||||||
|
form.val("search_form", field);
|
||||||
|
layui.form.render();
|
||||||
|
// 刷新表格
|
||||||
|
table.reload({
|
||||||
|
page: {
|
||||||
|
curr: 1
|
||||||
|
},
|
||||||
|
where: field
|
||||||
|
});
|
||||||
|
});
|
||||||
// 监听工具栏操作
|
// 监听工具栏操作
|
||||||
table.tool(function(obj) {
|
table.tool(function(obj) {
|
||||||
var data = obj.data;
|
var data = obj.data;
|
||||||
|
|
@ -166,12 +182,5 @@
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
</script>
|
</script>
|
||||||
{/block}
|
{/block}
|
||||||
|
|
@ -152,12 +152,6 @@
|
||||||
})
|
})
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
// 点击关闭弹框
|
// 点击关闭弹框
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue