mirror of
http://git.coreshop.cn/jianweie/coreshoppro.git
synced 2026-05-14 01:07:21 +08:00
【新增】新增【微信发货信息管理】功能对接。实现微信小程序二次发货功能平移到后台业务,减少繁琐的二次发货操作。
This commit is contained in:
@@ -0,0 +1,47 @@
|
||||
<script type="text/html" template lay-done="layui.data.done(d);">
|
||||
<div class="layui-form coreshop-form layui-form-pane" lay-filter="LAY-app-WeChatShippingDelivery-createForm" id="LAY-app-WeChatShippingDelivery-createForm">
|
||||
|
||||
<div class="layui-form-item">
|
||||
<label for="deliveryId" class="layui-form-label layui-form-required">快递公司编码</label>
|
||||
<div class="layui-input-block">
|
||||
<input name="deliveryId" lay-verType="tips" lay-verify="required|verifydeliveryId" class="layui-input" lay-reqText="请输入快递公司编码" placeholder="请输入快递公司编码" />
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="layui-form-item">
|
||||
<label for="deliveryName" class="layui-form-label layui-form-required">快递公司名称</label>
|
||||
<div class="layui-input-block">
|
||||
<input name="deliveryName" lay-verType="tips" lay-verify="required|verifydeliveryName" class="layui-input" lay-reqText="请输入快递公司名称" placeholder="请输入快递公司名称" />
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="layui-form-item text-right core-hidden">
|
||||
<input type="button" class="layui-btn" lay-submit lay-filter="LAY-app-WeChatShippingDelivery-createForm-submit" id="LAY-app-WeChatShippingDelivery-createForm-submit" value="确认添加">
|
||||
</div>
|
||||
</div>
|
||||
</script>
|
||||
<script>
|
||||
var debug = layui.setter.debug;
|
||||
layui.data.done = function (d) {
|
||||
//开启调试情况下获取接口赋值数据
|
||||
if (debug) { console.log(d.params.data); }
|
||||
layui.use(['admin', 'form', 'laydate', 'upload', 'coreHelper', 'cropperImg'],
|
||||
function () {
|
||||
var $ = layui.$
|
||||
, form = layui.form
|
||||
, admin = layui.admin
|
||||
, laydate = layui.laydate
|
||||
, upload = layui.upload
|
||||
, cropperImg = layui.cropperImg
|
||||
, coreHelper = layui.coreHelper;
|
||||
|
||||
form.verify({
|
||||
|
||||
verifydeliveryId: [/^.{0,50}$/, '快递公司编码最大只允许输入50位字符'],
|
||||
verifydeliveryName: [/^.{0,50}$/, '快递公司名称最大只允许输入50位字符'],
|
||||
});
|
||||
//重载form
|
||||
form.render(null, 'LAY-app-WeChatShippingDelivery-createForm');
|
||||
})
|
||||
};
|
||||
</script>
|
||||
@@ -0,0 +1,54 @@
|
||||
<script type="text/html" template lay-done="layui.data.done(d);">
|
||||
<table class="layui-table layui-form" lay-filter="LAY-app-WeChatShippingDelivery-detailsForm" id="LAY-app-WeChatShippingDelivery-detailsForm">
|
||||
<colgroup>
|
||||
<col width="100">
|
||||
<col>
|
||||
</colgroup>
|
||||
<tbody>
|
||||
|
||||
<tr>
|
||||
<td>
|
||||
<label for="id">序列</label>
|
||||
</td>
|
||||
<td>
|
||||
{{ d.params.data.id || '' }}
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td>
|
||||
<label for="deliveryId">快递公司编码</label>
|
||||
</td>
|
||||
<td>
|
||||
{{ d.params.data.deliveryId || '' }}
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td>
|
||||
<label for="deliveryName">快递公司名称</label>
|
||||
</td>
|
||||
<td>
|
||||
{{ d.params.data.deliveryName || '' }}
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
</tbody>
|
||||
</table>
|
||||
</script>
|
||||
<script>
|
||||
var debug= layui.setter.debug;
|
||||
layui.data.done = function (d) {
|
||||
//开启调试情况下获取接口赋值数据
|
||||
if (debug) { console.log(d.params.data); }
|
||||
|
||||
layui.use(['admin', 'form', 'coreHelper'], function () {
|
||||
var $ = layui.$
|
||||
, setter = layui.setter
|
||||
, admin = layui.admin
|
||||
, coreHelper = layui.coreHelper
|
||||
, form = layui.form;
|
||||
form.render(null, 'LAY-app-WeChatShippingDelivery-detailsForm');
|
||||
});
|
||||
};
|
||||
</script>
|
||||
@@ -0,0 +1,48 @@
|
||||
<script type="text/html" template lay-done="layui.data.sendParams(d);">
|
||||
<div class="layui-form coreshop-form layui-form-pane" lay-filter="LAY-app-WeChatShippingDelivery-editForm" id="LAY-app-WeChatShippingDelivery-editForm">
|
||||
<input type="hidden" name="id" value="{{d.params.data.id || '' }}" />
|
||||
|
||||
<div class="layui-form-item">
|
||||
<label for="deliveryId" class="layui-form-label layui-form-required">快递公司编码</label>
|
||||
<div class="layui-input-block">
|
||||
<input name="deliveryId" lay-verType="tips" lay-verify="required|verifydeliveryId" class="layui-input" placeholder="请输入快递公司编码" lay-reqText="请输入快递公司编码" value="{{d.params.data.deliveryId || '' }}" />
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="layui-form-item">
|
||||
<label for="deliveryName" class="layui-form-label layui-form-required">快递公司名称</label>
|
||||
<div class="layui-input-block">
|
||||
<input name="deliveryName" lay-verType="tips" lay-verify="required|verifydeliveryName" class="layui-input" placeholder="请输入快递公司名称" lay-reqText="请输入快递公司名称" value="{{d.params.data.deliveryName || '' }}" />
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="layui-form-item text-right core-hidden">
|
||||
<input type="button" class="layui-btn" lay-submit lay-filter="LAY-app-WeChatShippingDelivery-editForm-submit" id="LAY-app-WeChatShippingDelivery-editForm-submit" value="确认编辑">
|
||||
</div>
|
||||
</div>
|
||||
</script>
|
||||
<script>
|
||||
var debug = layui.setter.debug;
|
||||
layui.data.sendParams = function (d) {
|
||||
//开启调试情况下获取接口赋值数据
|
||||
if (debug) { console.log(d.params.data); }
|
||||
layui.use(['admin', 'form', 'laydate', 'upload', 'coreHelper', 'cropperImg'],
|
||||
function () {
|
||||
var $ = layui.$
|
||||
, form = layui.form
|
||||
, admin = layui.admin
|
||||
, laydate = layui.laydate
|
||||
, upload = layui.upload
|
||||
, cropperImg = layui.cropperImg
|
||||
, coreHelper = layui.coreHelper;
|
||||
|
||||
form.verify({
|
||||
|
||||
verifydeliveryId: [/^.{0,50}$/, '快递公司编码最大只允许输入50位字符'],
|
||||
verifydeliveryName: [/^.{0,50}$/, '快递公司名称最大只允许输入50位字符'],
|
||||
});
|
||||
//重载form
|
||||
form.render(null, 'LAY-app-WeChatShippingDelivery-editForm');
|
||||
})
|
||||
};
|
||||
</script>
|
||||
@@ -0,0 +1,148 @@
|
||||
<title>微信发货快递公司信息</title>
|
||||
<!--当前位置开始-->
|
||||
<div class="layui-card layadmin-header">
|
||||
<div class="layui-breadcrumb" lay-filter="breadcrumb">
|
||||
<script type="text/html" template lay-done="layui.data.updateMainBreadcrumb();">
|
||||
</script>
|
||||
</div>
|
||||
</div>
|
||||
<!--当前位置结束-->
|
||||
<style>
|
||||
/* 重写样式 */
|
||||
</style>
|
||||
<script type="text/html" template lay-type="Post" lay-url="Api/WeChatShippingDelivery/GetIndex" lay-done="layui.data.done(d);">
|
||||
|
||||
</script>
|
||||
<div class="table-body">
|
||||
<table id="LAY-app-WeChatShippingDelivery-tableBox" lay-filter="LAY-app-WeChatShippingDelivery-tableBox"></table>
|
||||
</div>
|
||||
|
||||
<script type="text/html" id="LAY-app-WeChatShippingDelivery-toolbar">
|
||||
<div class="layui-form coreshop-toolbar-search-form">
|
||||
<div class="layui-form-item">
|
||||
<div class="layui-inline">
|
||||
<label class="layui-form-label" for="deliveryId">快递公司编码</label>
|
||||
<div class="layui-input-inline">
|
||||
<input type="text" name="deliveryId" placeholder="请输入快递公司编码" class="layui-input">
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-inline">
|
||||
<label class="layui-form-label" for="deliveryName">快递公司名称</label>
|
||||
<div class="layui-input-inline">
|
||||
<input type="text" name="deliveryName" placeholder="请输入快递公司名称" class="layui-input">
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-inline">
|
||||
<button class="layui-btn layui-btn-sm" lay-submit lay-filter="LAY-app-WeChatShippingDelivery-search"><i class="layui-icon layui-icon-search"></i>筛选</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</script>
|
||||
|
||||
<script type="text/html" id="LAY-app-WeChatShippingDelivery-pagebar">
|
||||
<div class="layui-btn-container">
|
||||
<button class="layui-btn layui-btn-sm" lay-event="updateCompany"><i class="layui-icon layui-icon-refresh-1"></i>同步获取新数据</button>
|
||||
</div>
|
||||
</script>
|
||||
|
||||
<script>
|
||||
var indexData;
|
||||
var debug = layui.setter.debug;
|
||||
layui.data.done = function (d) {
|
||||
//开启调试情况下获取接口赋值数据
|
||||
if (debug) { console.log(d); }
|
||||
|
||||
indexData = d.data;
|
||||
layui.use(['index', 'table', 'laydate', 'util', 'coredropdown', 'coreHelper'],
|
||||
function () {
|
||||
var $ = layui.$
|
||||
, admin = layui.admin
|
||||
, table = layui.table
|
||||
, form = layui.form
|
||||
, laydate = layui.laydate
|
||||
, setter = layui.setter
|
||||
, coreHelper = layui.coreHelper
|
||||
, util = layui.util
|
||||
, view = layui.view;
|
||||
|
||||
var searchwhere;
|
||||
//监听搜索
|
||||
form.on('submit(LAY-app-WeChatShippingDelivery-search)',
|
||||
function (data) {
|
||||
var field = data.field;
|
||||
searchwhere = field;
|
||||
//执行重载
|
||||
table.reloadData('LAY-app-WeChatShippingDelivery-tableBox', { where: field });
|
||||
});
|
||||
//数据绑定
|
||||
table.render({
|
||||
elem: '#LAY-app-WeChatShippingDelivery-tableBox',
|
||||
url: layui.setter.apiUrl + 'Api/WeChatShippingDelivery/GetPageList',
|
||||
method: 'POST',
|
||||
toolbar: '#LAY-app-WeChatShippingDelivery-toolbar',
|
||||
pagebar: '#LAY-app-WeChatShippingDelivery-pagebar',
|
||||
className: 'pagebarbox',
|
||||
defaultToolbar: ['filter', 'print', 'exports'],
|
||||
height: 'full-127',//面包屑142px,搜索框4行172,3行137,2行102,1行67
|
||||
page: true,
|
||||
limit: 30,
|
||||
limits: [10, 15, 20, 25, 30, 50, 100, 200],
|
||||
text: { none: '暂无相关数据' },
|
||||
cols: [
|
||||
[
|
||||
{ type: "checkbox", fixed: "left" },
|
||||
{ field: 'id', title: '序列', width: 60, sort: false },
|
||||
{ field: 'deliveryId', title: '快递公司编码', sort: false, width: 205 },
|
||||
{ field: 'deliveryName', title: '快递公司名称', sort: false, width: 205 },
|
||||
]
|
||||
]
|
||||
});
|
||||
//监听排序事件
|
||||
table.on('sort(LAY-app-WeChatShippingDelivery-tableBox)', function (obj) {
|
||||
table.reloadData('LAY-app-WeChatShippingDelivery-tableBox', {
|
||||
initSort: obj, //记录初始排序,如果不设的话,将无法标记表头的排序状态。
|
||||
where: { //请求参数(注意:这里面的参数可任意定义,并非下面固定的格式)
|
||||
orderField: obj.field, //排序字段
|
||||
orderDirection: obj.type //排序方式
|
||||
}
|
||||
});
|
||||
});
|
||||
//头工具栏事件
|
||||
table.on('pagebar(LAY-app-WeChatShippingDelivery-tableBox)', function (obj) {
|
||||
var checkStatus = table.checkStatus(obj.config.id);
|
||||
switch (obj.event) {
|
||||
case 'updateCompany':
|
||||
updateCompany();
|
||||
break;
|
||||
};
|
||||
});
|
||||
//监听工具条
|
||||
table.on('tool(LAY-app-WeChatShippingDelivery-tableBox)',
|
||||
function (obj) {
|
||||
if (obj.event === 'detail') {
|
||||
doDetails(obj);
|
||||
} else if (obj.event === 'del') {
|
||||
doDelete(obj);
|
||||
} else if (obj.event === 'edit') {
|
||||
doEdit(obj)
|
||||
}
|
||||
});
|
||||
|
||||
|
||||
//刷新数据
|
||||
function updateCompany(obj) {
|
||||
layer.confirm('确定刷新吗?刷新后将删除老数据。', function (index) {
|
||||
coreHelper.Post("Api/WeChatShippingDelivery/DoUpdateCompany", null, function (e) {
|
||||
if (debug) { console.log(e); } //开启调试返回数据
|
||||
table.reloadData('LAY-app-WeChatShippingDelivery-tableBox'); //重载表格
|
||||
layer.msg(e.msg);
|
||||
});
|
||||
});
|
||||
}
|
||||
|
||||
//重载form
|
||||
form.render();
|
||||
});
|
||||
};
|
||||
</script>
|
||||
|
||||
@@ -0,0 +1,236 @@
|
||||
<script type="text/html" template lay-done="layui.data.done(d);">
|
||||
<div class="layui-form coreshop-form layui-form-pane" lay-filter="LAY-app-WeChatShippingOrder-createForm" id="LAY-app-WeChatShippingOrder-createForm">
|
||||
<input type="hidden" name="transaction_id" value="{{d.params.data.order.transaction_id }}" />
|
||||
<input type="hidden" name="openid" value="{{d.params.data.order.openid }}" />
|
||||
<input type="hidden" name="merchant_id" value="{{d.params.data.order.merchant_id }}" />
|
||||
<input type="hidden" name="merchant_trade_no" value="{{d.params.data.order.merchant_trade_no }}" />
|
||||
|
||||
<blockquote class="layui-elem-quote">
|
||||
商户单号:{{d.params.data.order.merchant_trade_no }}<br />
|
||||
交易单号:{{d.params.data.order.transaction_id }}<br />
|
||||
支付金额:¥ {{d.params.data.order.paid_amount / 100 }} 元<br />
|
||||
支付时间:{{ layui.util.toDateString(d.params.data.order.pay_time * 1000, 'yyyy-MM-dd HH:mm:ss')}}<br />
|
||||
</blockquote>
|
||||
|
||||
|
||||
<div class="layui-form-item layui-form-text">
|
||||
<label class="layui-form-label">商品信息</label>
|
||||
<div class="layui-input-block">
|
||||
<textarea name="item_desc" placeholder="商品信息会向用户展示,请保持和订单信息一致。输入多个商品时用“ ; ”隔开。" class="layui-textarea">{{d.params.data.orderTitle}}</textarea>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label">发货方式</label>
|
||||
<div class="layui-input-block">
|
||||
{{# layui.each(d.params.data.logisticsType, function(index, item){ }}
|
||||
<input type="radio" name="logistics_type" value="{{item.value}}" title="{{item.title}}" {{item.value==d.params.data.logisticsTypeValue ? 'checked':''}} lay-filter="logistics-type-filter">
|
||||
{{# }); }}
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
<div id="logisticsBox">
|
||||
<div class="layui-form-item">
|
||||
<label for="matchKey" class="layui-form-label ">
|
||||
快递信息
|
||||
</label>
|
||||
<div class="layui-input-block">
|
||||
<table class="layui-table">
|
||||
<thead>
|
||||
<tr>
|
||||
<th>物流公司</th>
|
||||
<th style="width: 250px;">快递单号</th>
|
||||
<th style="width: 82px;">操作</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody id="logisticsView">
|
||||
<tr data-id="0">
|
||||
<td>
|
||||
<select lay-search="" id="express_company" name="shipping_list.express_company[0]" class="layui-input">
|
||||
<option value="">请选择,可直接输入搜索</option>
|
||||
{{# layui.each(d.params.data.deliveryCompany, function(index, item){ }}
|
||||
<option value="{{item.deliveryId}}">{{item.deliveryName}}</option>
|
||||
{{# }); }}
|
||||
</select>
|
||||
</td>
|
||||
<td class="field_value">
|
||||
<input type="text" id="tracking_no" name="shipping_list.tracking_no[0]" required value="" placeholder="填写快递单号" autocomplete="off" class="layui-input">
|
||||
</td>
|
||||
<td>
|
||||
<a class="layui-btn layui-btn-xs addfield-class table-button">
|
||||
添加
|
||||
</a>
|
||||
<!--<a class="layui-btn layui-btn-danger layui-btn-xs del-class table-button">
|
||||
删除
|
||||
</a>-->
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label">全部发货</label>
|
||||
<div class="layui-input-block">
|
||||
<input type="checkbox" name="is_all_delivered" lay-skin="switch" lay-filter="switchTest" checked="checked" title="是|否">
|
||||
</div>
|
||||
</div>
|
||||
{{# if(d.params.data.billDeliveryList){ }}
|
||||
<div class="layui-bg-gray" style="padding: 16px;">
|
||||
<div class="layui-row layui-col-space15">
|
||||
<div class="layui-col-md12">
|
||||
<div class="layui-card">
|
||||
<div class="layui-card-header">订单发货信息</div>
|
||||
<div class="layui-card-body">
|
||||
{{# layui.each(d.params.data.billDeliveryList, function(index, item){ }}
|
||||
发货快递:{{item.logiCode}} 快递编号:{{item.logiNo}}
|
||||
{{# }); }}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
{{# } }}
|
||||
|
||||
</div>
|
||||
|
||||
<div id="cityDistributionBox" style="display:none;">
|
||||
<div class="layui-form-item">
|
||||
<label for="matchKey" class="layui-form-label">
|
||||
快递信息
|
||||
</label>
|
||||
<div class="layui-input-inline layui-inline-4">
|
||||
<input name="cityDistributionName" class="layui-input" placeholder="填写同城配送公司名称" />
|
||||
</div>
|
||||
<div class="layui-input-inline layui-inline-4">
|
||||
<input name="cityDistributionNumber" class="layui-input" placeholder="填写快递单号" />
|
||||
</div>
|
||||
<div class="layui-form-mid">
|
||||
如商家自配,则该项可选填
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="layui-form-item text-right core-hidden">
|
||||
<input type="button" class="layui-btn" lay-submit lay-filter="LAY-app-WeChatShippingOrder-createForm-submit" id="LAY-app-WeChatShippingOrder-createForm-submit" value="确认添加">
|
||||
</div>
|
||||
</div>
|
||||
</script>
|
||||
|
||||
|
||||
<script id="tr_tpl" type="text/html">
|
||||
<tr data-id="{{ d.id }}">
|
||||
<td>
|
||||
<select lay-search="" id="express_company" name="shipping_list.express_company[{{ d.id }}]" class="layui-input">
|
||||
<option value="">请选择,可直接输入搜索</option>
|
||||
{{# layui.each(d.deliveryCompany, function(index, item){ }}
|
||||
<option value="{{item.deliveryId}}">{{item.deliveryName}}</option>
|
||||
{{# }); }}
|
||||
</select>
|
||||
</td>
|
||||
<td class="field_value">
|
||||
<input type="text" id="tracking_no" name="shipping_list.tracking_no[{{ d.id }}]" required value="" placeholder="填写快递单号" autocomplete="off" class="layui-input">
|
||||
</td>
|
||||
<td>
|
||||
<a class="layui-btn layui-btn-xs addfield-class table-button">
|
||||
添加
|
||||
</a>
|
||||
<a class="layui-btn layui-btn-danger layui-btn-xs del-class table-button">
|
||||
删除
|
||||
</a>
|
||||
</td>
|
||||
</tr>
|
||||
</script>
|
||||
|
||||
|
||||
|
||||
<script>
|
||||
var data;
|
||||
var debug = layui.setter.debug;
|
||||
layui.data.done = function (d) {
|
||||
//开启调试情况下获取接口赋值数据
|
||||
if (debug) { console.log(d.params.data); }
|
||||
data = d.params.data;
|
||||
layui.use(['admin', 'form', 'laydate', 'upload', 'coreHelper', 'cropperImg', 'laytpl'],
|
||||
function () {
|
||||
var $ = layui.$
|
||||
, form = layui.form
|
||||
, admin = layui.admin
|
||||
, laydate = layui.laydate
|
||||
, upload = layui.upload
|
||||
, cropperImg = layui.cropperImg
|
||||
, laytpl = layui.laytpl
|
||||
, coreHelper = layui.coreHelper;
|
||||
|
||||
hideBox(d.params.data.logisticsTypeValue);
|
||||
|
||||
$(".layui-table").on('click', '.addfield-class', function (e) {
|
||||
var getTpl = tr_tpl.innerHTML;
|
||||
var lastId = $(this).parent().parent().parent().find('tr').last().attr('data-id');
|
||||
console.log(lastId);
|
||||
var tmpData = {};
|
||||
tmpData.id = parseInt(lastId) + 1;
|
||||
tmpData.deliveryCompany = d.params.data.deliveryCompany;
|
||||
laytpl(getTpl).render(tmpData, function (html) {
|
||||
$("#logisticsView").append(html);
|
||||
form.render();
|
||||
});
|
||||
});
|
||||
|
||||
$(".layui-table").on('click', '.del-class', function (e) {
|
||||
if ($(".del-class").length > 0) {
|
||||
$(this).parent().parent().remove();
|
||||
resetInputNameID();
|
||||
} else {
|
||||
layer.msg("至少保留1个物流信息录入框");
|
||||
}
|
||||
})
|
||||
|
||||
//重置排序
|
||||
function resetInputNameID() {
|
||||
$.each($("#logisticsView tr"), function (i, tr) {
|
||||
$(this).attr('data-id', i);
|
||||
$(this).find("#express_company").attr("name", "shipping_list.express_company[" + i + "]");
|
||||
$(this).find("#tracking_no").attr("name", "shipping_list.tracking_no[" + i + "]");
|
||||
});
|
||||
}
|
||||
|
||||
// radio 事件
|
||||
form.on('radio(logistics-type-filter)', function (data) {
|
||||
var elem = data.elem; // 获得 radio 原始 DOM 对象
|
||||
var value = elem.value; // 获得 radio 值
|
||||
|
||||
hideBox(value);
|
||||
});
|
||||
|
||||
function hideBox(value) {
|
||||
if (value == 1) {
|
||||
$('#logisticsBox').show();
|
||||
$('#cityDistributionBox').hide();
|
||||
} else if (value == 2) {
|
||||
$('#logisticsBox').hide();
|
||||
$('#cityDistributionBox').show();
|
||||
} else {
|
||||
$('#logisticsBox').hide();
|
||||
$('#cityDistributionBox').hide();
|
||||
}
|
||||
}
|
||||
|
||||
form.verify({
|
||||
|
||||
verifymatchKey: [/^.{0,100}$/, '匹配字符最大只允许输入100位字符'],
|
||||
verifyimgTextUrl: [/^.{0,1000}$/, '图片回复图片地址最大只允许输入1000位字符'],
|
||||
verifyimgTextLink: [/^.{0,1000}$/, '图片回复超链接最大只允许输入1000位字符'],
|
||||
verifymeidaUrl: [/^.{0,1000}$/, '语音回复地址最大只允许输入1000位字符'],
|
||||
verifymeidaLink: [/^.{0,1000}$/, '语音回复超链接最大只允许输入1000位字符'],
|
||||
verifyremark: [/^.{0,1000}$/, '备注最大只允许输入1000位字符'],
|
||||
verifycreateBy: [/^.{0,100}$/, '创建来源最大只允许输入100位字符'],
|
||||
verifymodifyBy: [/^.{0,100}$/, '修改来源最大只允许输入100位字符'],
|
||||
});
|
||||
//重载form
|
||||
form.render(null, 'LAY-app-WeChatShippingOrder-createForm');
|
||||
})
|
||||
};
|
||||
</script>
|
||||
@@ -0,0 +1,104 @@
|
||||
<script type="text/html" template lay-done="layui.data.done(d);">
|
||||
<div class="layui-table layui-form" lay-filter="LAY-app-WeChatMessageResponse-detailsForm" id="LAY-app-WeChatMessageResponse-detailsForm">
|
||||
{{ d.params.data.id || '' }}
|
||||
|
||||
|
||||
<div class="layui-bg-gray" style="padding: 5px;">
|
||||
<div class="layui-row layui-col-space15">
|
||||
<div class="layui-col-md12">
|
||||
<div class="layui-card">
|
||||
<div class="layui-card-header">发货状态</div>
|
||||
<div class="layui-card-body">
|
||||
{{# layui.each(d.params.data.status, function(index, item){ }}
|
||||
|
||||
{{# if(d.params.data.order.order_state==item.value) { }}
|
||||
|
||||
{{- item.description }}
|
||||
|
||||
{{# } }}
|
||||
|
||||
{{# }); }}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
<div class="layui-bg-gray" style="padding: 5px;">
|
||||
<div class="layui-row layui-col-space15">
|
||||
<div class="layui-col-md12">
|
||||
<div class="layui-card">
|
||||
<div class="layui-card-header">发货状态</div>
|
||||
<div class="layui-card-body">
|
||||
商户号:{{d.params.data.order.merchant_id }}<br />
|
||||
商户单号:{{d.params.data.order.merchant_trade_no }}<br />
|
||||
交易单号:{{d.params.data.order.transaction_id }}<br />
|
||||
支付金额:¥ {{d.params.data.order.paid_amount / 100 }} 元<br />
|
||||
支付时间:{{ layui.util.toDateString(d.params.data.order.pay_time * 1000, 'yyyy-MM-dd HH:mm:ss')}}<br />
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="layui-bg-gray" style="padding: 5px;">
|
||||
<div class="layui-row layui-col-space15">
|
||||
<div class="layui-col-md12">
|
||||
<div class="layui-card">
|
||||
<div class="layui-card-header">
|
||||
发货信息
|
||||
</div>
|
||||
<div class="layui-card-body">
|
||||
商品信息:{{d.params.data.order.description }}<br />
|
||||
发货方式:
|
||||
{{# layui.each(d.params.data.logisticsType, function(index, item){ }}
|
||||
{{d.params.data.order.shipping.logistics_type==item.value ? item.title:''}}
|
||||
{{# }); }}
|
||||
<br />
|
||||
|
||||
|
||||
{{# if(d.params.data.order.shipping.logistics_type==1) { }}
|
||||
{{# layui.each(d.params.data.order.shipping.shipping_list, function(index, itemP){ }}
|
||||
发货时间:{{ layui.util.toDateString(itemP.upload_time * 1000, 'yyyy-MM-dd HH:mm:ss')}}<br />
|
||||
包裹{{index+1}}:
|
||||
|
||||
{{# layui.each(d.params.data.deliveryCompany, function(index, item){ }}
|
||||
|
||||
{{itemP.express_company==item.deliveryId ? item.deliveryName:''}}
|
||||
|
||||
{{# }); }}
|
||||
|
||||
{{itemP.tracking_no}}
|
||||
<br />
|
||||
{{# }); }}
|
||||
|
||||
{{# }; }}
|
||||
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</script>
|
||||
<script>
|
||||
var debug = layui.setter.debug;
|
||||
layui.data.done = function (d) {
|
||||
//开启调试情况下获取接口赋值数据
|
||||
if (debug) { console.log(d.params.data); }
|
||||
|
||||
layui.use(['admin', 'form', 'coreHelper'], function () {
|
||||
var $ = layui.$
|
||||
, setter = layui.setter
|
||||
, admin = layui.admin
|
||||
, coreHelper = layui.coreHelper
|
||||
, form = layui.form;
|
||||
form.render(null, 'LAY-app-WeChatMessageResponse-detailsForm');
|
||||
});
|
||||
};
|
||||
</script>
|
||||
@@ -0,0 +1,387 @@
|
||||
<title>微信自动回复消息表</title>
|
||||
<!--当前位置开始-->
|
||||
<div class="layui-card layadmin-header">
|
||||
<div class="layui-breadcrumb" lay-filter="breadcrumb">
|
||||
<script type="text/html" template lay-done="layui.data.updateMainBreadcrumb();">
|
||||
</script>
|
||||
</div>
|
||||
</div>
|
||||
<!--当前位置结束-->
|
||||
<style>
|
||||
/* 重写样式 */
|
||||
</style>
|
||||
<script type="text/html" template lay-type="Post" lay-url="Api/WeChatShippingOrder/GetIndex" lay-done="layui.data.done(d);">
|
||||
|
||||
</script>
|
||||
<div class="table-body">
|
||||
<table id="LAY-app-WeChatShippingOrder-tableBox" lay-filter="LAY-app-WeChatShippingOrder-tableBox"></table>
|
||||
<div id="demo-laypage-pn-show"></div>
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
<script type="text/html" id="LAY-app-WeChatShippingOrder-toolbar">
|
||||
<div class="layui-form coreshop-toolbar-search-form">
|
||||
<div class="layui-form-item">
|
||||
|
||||
<div class="layui-inline">
|
||||
<div class="layui-input-inline">
|
||||
<select name="status">
|
||||
<option value="">请选择订单状态</option>
|
||||
{{# layui.each(indexData.status, function(index, item){ }}
|
||||
<option value="{{item.value}}">{{- item.description}}</option>
|
||||
{{# }); }}
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-inline">
|
||||
<button class="layui-btn layui-btn-sm" lay-submit lay-filter="LAY-app-WeChatShippingOrder-search"><i class="layui-icon layui-icon-search"></i>筛选</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</script>
|
||||
|
||||
<script type="text/html" id="LAY-app-WeChatShippingOrder-tableBox-bar">
|
||||
|
||||
<!--<a class="layui-btn layui-btn-primary layui-btn-xs" lay-event="detail">关联订单</a>-->
|
||||
{{# if(d.order_state>1){ }}
|
||||
<a class="layui-btn layui-btn-primary layui-btn-xs" lay-event="detail">发货详情</a>
|
||||
{{# } }}
|
||||
|
||||
{{# if(d.order_state==1){ }}
|
||||
<a class="layui-btn layui-btn-xs" lay-event="addData">立即发货</a>
|
||||
{{# } else if(d.order_state==2){ }}
|
||||
<a class="layui-btn layui-bg-blue layui-btn-xs" lay-event="updateData">重新发货</a>
|
||||
{{# } }}
|
||||
|
||||
</script>
|
||||
|
||||
|
||||
|
||||
<script>
|
||||
var _this = this;
|
||||
var indexData;
|
||||
var debug = layui.setter.debug;
|
||||
var has_more = false;
|
||||
var last_index = "";
|
||||
layui.data.done = function (d) {
|
||||
//开启调试情况下获取接口赋值数据
|
||||
if (debug) { console.log(d); }
|
||||
|
||||
indexData = d.data;
|
||||
layui.use(['index', 'table', 'laydate', 'util', 'coredropdown', 'coreHelper', 'laypage'],
|
||||
function () {
|
||||
var $ = layui.$
|
||||
, admin = layui.admin
|
||||
, table = layui.table
|
||||
, form = layui.form
|
||||
, laydate = layui.laydate
|
||||
, setter = layui.setter
|
||||
, coreHelper = layui.coreHelper
|
||||
, util = layui.util
|
||||
, laypage = layui.laypage
|
||||
, view = layui.view;
|
||||
var searchwhere;
|
||||
|
||||
//监听搜索
|
||||
form.on('submit(LAY-app-WeChatShippingOrder-search)',
|
||||
function (data) {
|
||||
var field = data.field;
|
||||
searchwhere = field;
|
||||
//执行重载
|
||||
table.reloadData('LAY-app-WeChatShippingOrder-tableBox', { where: field });
|
||||
});
|
||||
//数据绑定
|
||||
table.render({
|
||||
elem: '#LAY-app-WeChatShippingOrder-tableBox',
|
||||
url: layui.setter.apiUrl + 'Api/WeChatShippingOrder/GetPageList',
|
||||
method: 'POST',
|
||||
where: { last_index: last_index, has_more: has_more },
|
||||
toolbar: '#LAY-app-WeChatShippingOrder-toolbar',
|
||||
//pagebar: '#LAY-app-WeChatShippingOrder-pagebar',
|
||||
className: 'pagebarbox',
|
||||
defaultToolbar: ['filter', 'print', 'exports'],
|
||||
//height: 'full-127',//面包屑142px,搜索框4行172,3行137,2行102,1行67
|
||||
page: false,
|
||||
limit: 10,
|
||||
limits: [10, 15, 20, 25, 30, 50, 100, 200],
|
||||
text: { none: '暂无相关数据' },
|
||||
cols: [
|
||||
[
|
||||
{ type: "checkbox", fixed: "left" },
|
||||
//{ field: 'merchant_id', title: '商户号', align: 'center', width: 100, sort: false },
|
||||
//{ field: 'sub_merchant_id', title: '二级商户号', width: 80, sort: false },
|
||||
{ field: 'transaction_id', title: '微信订单号', sort: false, width: 205 },
|
||||
{ field: 'merchant_trade_no', title: '支付单号', sort: false, width: 125 },
|
||||
{
|
||||
field: 'order_state', title: '发货单状态', sort: false, align: 'center', width: 80, templet: function (data) {
|
||||
for (var i = 0; i < d.data.status.length; i++) {
|
||||
if (d.data.status[i].value == data.order_state) {
|
||||
return d.data.status[i].description;
|
||||
}
|
||||
}
|
||||
return "";
|
||||
}
|
||||
},
|
||||
{
|
||||
field: 'logistics_type', title: '发货模式', sort: false, align: 'center', width: 80, templet: function (data) {
|
||||
for (var i = 0; i < d.data.logisticsType.length; i++) {
|
||||
if (d.data.logisticsType[i].value == data.shipping.logistics_type) {
|
||||
return d.data.logisticsType[i].description;
|
||||
}
|
||||
}
|
||||
return "";
|
||||
}
|
||||
},
|
||||
{ field: 'description', title: '发货商品描述', sort: false },
|
||||
{
|
||||
field: 'paid_amount', title: '实际支付', sort: false, align: 'center', width: 80, templet: function (data) {
|
||||
return '<div>' + (data.paid_amount / 100) + '元' + '</div>';
|
||||
}
|
||||
},
|
||||
{ field: 'openid', title: 'openid', sort: false, width: 220 },
|
||||
{
|
||||
field: 'trade_create_time', title: '交易创建时间', sort: false, width: 130, templet: function (data) {
|
||||
return util.toDateString(data.trade_create_time * 1000, 'yyyy-MM-dd HH:mm:ss');;
|
||||
}
|
||||
},
|
||||
{
|
||||
field: 'pay_time', title: '支付时间', sort: false, width: 130, templet: function (data) {
|
||||
return util.toDateString(data.pay_time * 1000, 'yyyy-MM-dd HH:mm:ss');
|
||||
}
|
||||
},
|
||||
{ field: 'in_complaint', title: '交易纠纷中', width: 85, templet: '#switch_in_complaint', align: 'center', sort: false, unresize: true },
|
||||
|
||||
{ width: 220, align: 'center', title: '操作', fixed: 'right', toolbar: '#LAY-app-WeChatShippingOrder-tableBox-bar' }
|
||||
]
|
||||
],
|
||||
done: function (res, curr, count, origin) {
|
||||
console.log(res); // 得到当前渲染的数据
|
||||
console.log(curr); // 得到当前页码
|
||||
console.log(count); // 得到数据总量
|
||||
console.log(res.otherData.has_more);
|
||||
if (res.code == 0) {
|
||||
has_more = res.otherData.has_more;
|
||||
if (res.otherData.has_more) {
|
||||
last_index = res.otherData.last_index;
|
||||
} else {
|
||||
last_index = "";
|
||||
}
|
||||
}
|
||||
|
||||
},
|
||||
});
|
||||
//监听排序事件
|
||||
table.on('sort(LAY-app-WeChatShippingOrder-tableBox)', function (obj) {
|
||||
table.reloadData('LAY-app-WeChatShippingOrder-tableBox', {
|
||||
initSort: obj, //记录初始排序,如果不设的话,将无法标记表头的排序状态。
|
||||
where: { //请求参数(注意:这里面的参数可任意定义,并非下面固定的格式)
|
||||
orderField: obj.field, //排序字段
|
||||
orderDirection: obj.type //排序方式
|
||||
}
|
||||
});
|
||||
});
|
||||
|
||||
//监听工具条
|
||||
table.on('tool(LAY-app-WeChatShippingOrder-tableBox)',
|
||||
function (obj) {
|
||||
if (obj.event === 'detail') {
|
||||
doDetails(obj);
|
||||
} else if (obj.event === 'updateData') {
|
||||
doUpdate(obj)
|
||||
} else if (obj.event === 'addData') {
|
||||
doCreate(obj)
|
||||
}
|
||||
});
|
||||
//执行创建操作
|
||||
function doCreate(obj) {
|
||||
coreHelper.Post("Api/WeChatShippingOrder/GetCreate", { data: obj.data.transaction_id, id: obj.data.merchant_trade_no }, function (e) {
|
||||
if (e.code === 0) {
|
||||
admin.popup({
|
||||
shadeClose: false,
|
||||
title: '创建数据',
|
||||
area: ['800px', '90%'],
|
||||
id: 'LAY-popup-WeChatShippingOrder-create',
|
||||
success: function (layero, index) {
|
||||
view(this.id).render('wechatshipping/order/create', { data: e.data }).done(function () {
|
||||
//监听提交
|
||||
form.on('submit(LAY-app-WeChatShippingOrder-createForm-submit)',
|
||||
function (data) {
|
||||
var field = data.field; //获取提交的字段
|
||||
|
||||
field.is_all_delivered = field.is_all_delivered == 'on';
|
||||
|
||||
var keys = Object.keys(field);
|
||||
var keysCount = 0;
|
||||
for (var i = 0; i < keys.length; i++) {
|
||||
if (keys[i].indexOf('shipping_list.express_company') != -1) {
|
||||
keysCount++;
|
||||
}
|
||||
}
|
||||
var items = [];
|
||||
if (keysCount > 0) {
|
||||
for (var i = 0; i < keysCount; i++) {
|
||||
var item = {};
|
||||
item.express_company = field['shipping_list.express_company[' + i + ']'];
|
||||
item.tracking_no = field['shipping_list.tracking_no[' + i + ']'];
|
||||
items.push(item);
|
||||
}
|
||||
}
|
||||
field.shipping_list = items;
|
||||
|
||||
if (debug) { console.log(field); } //开启调试返回数据
|
||||
//提交 Ajax 成功后,关闭当前弹层并重载表格
|
||||
coreHelper.Post("Api/WeChatShippingOrder/DoCreate", field, function (e) {
|
||||
console.log(e)
|
||||
if (e.code === 0) {
|
||||
layui.table.reloadData('LAY-app-WeChatShippingOrder-tableBox'); //重载表格
|
||||
layer.close(index); //再执行关闭
|
||||
layer.msg(e.msg);
|
||||
} else {
|
||||
layer.msg(e.msg);
|
||||
}
|
||||
});
|
||||
});
|
||||
});
|
||||
// 禁止弹窗出现滚动条
|
||||
//$(layero).children('.layui-layer-content').css('overflow', 'visible');
|
||||
}
|
||||
, btn: ['确定', '取消']
|
||||
, yes: function (index, layero) {
|
||||
layero.contents().find("#LAY-app-WeChatShippingOrder-createForm-submit").click();
|
||||
}
|
||||
});
|
||||
} else {
|
||||
layer.msg(e.msg);
|
||||
}
|
||||
});
|
||||
}
|
||||
//执行编辑操作
|
||||
function doUpdate(obj) {
|
||||
coreHelper.Post("Api/WeChatShippingOrder/GetUpdate", { data: obj.data.transaction_id, id: obj.data.merchant_trade_no }, function (e) {
|
||||
if (e.code === 0) {
|
||||
admin.popup({
|
||||
shadeClose: false,
|
||||
title: '编辑数据',
|
||||
area: ['800px', '90%'],
|
||||
id: 'LAY-popup-WeChatShippingOrder-update',
|
||||
success: function (layero, index) {
|
||||
view(this.id).render('wechatshipping/order/update', { data: e.data }).done(function () {
|
||||
//监听提交
|
||||
form.on('submit(LAY-app-WeChatMessageResponse-updateForm-submit)',
|
||||
function (data) {
|
||||
var field = data.field; //获取提交的字段
|
||||
|
||||
field.is_all_delivered = field.is_all_delivered == 'on';
|
||||
|
||||
var keys = Object.keys(field);
|
||||
var keysCount = 0;
|
||||
for (var i = 0; i < keys.length; i++) {
|
||||
if (keys[i].indexOf('shipping_list.express_company') != -1) {
|
||||
keysCount++;
|
||||
}
|
||||
}
|
||||
var items = [];
|
||||
if (keysCount > 0) {
|
||||
for (var i = 0; i < keysCount; i++) {
|
||||
var item = {};
|
||||
item.express_company = field['shipping_list.express_company[' + i + ']'];
|
||||
item.tracking_no = field['shipping_list.tracking_no[' + i + ']'];
|
||||
items.push(item);
|
||||
}
|
||||
}
|
||||
field.shipping_list = items;
|
||||
|
||||
if (debug) { console.log(field); } //开启调试返回数据
|
||||
//提交 Ajax 成功后,关闭当前弹层并重载表格
|
||||
coreHelper.Post("Api/WeChatShippingOrder/DoCreate", field, function (e) {
|
||||
console.log(e)
|
||||
if (e.code === 0) {
|
||||
layui.table.reloadData('LAY-app-WeChatShippingOrder-tableBox'); //重载表格
|
||||
layer.close(index); //再执行关闭
|
||||
layer.msg(e.msg);
|
||||
} else {
|
||||
layer.msg(e.msg);
|
||||
}
|
||||
});
|
||||
});
|
||||
})
|
||||
// 禁止弹窗出现滚动条
|
||||
//$(layero).children('.layui-layer-content').css('overflow', 'visible');
|
||||
}
|
||||
, btn: ['确定', '取消']
|
||||
, yes: function (index, layero) {
|
||||
layero.contents().find("#LAY-app-WeChatMessageResponse-updateForm-submit").click();
|
||||
}
|
||||
});
|
||||
} else {
|
||||
layer.msg(e.msg);
|
||||
}
|
||||
});
|
||||
}
|
||||
//执行预览操作
|
||||
function doDetails(obj) {
|
||||
coreHelper.Post("Api/WeChatShippingOrder/GetDetails", { data: obj.data.transaction_id, id: obj.data.merchant_trade_no }, function (e) {
|
||||
if (e.code === 0) {
|
||||
admin.popup({
|
||||
shadeClose: false,
|
||||
title: '查看详情',
|
||||
area: ['800px', '600px'],
|
||||
id: 'LAY-popup-WeChatShippingOrder-details',
|
||||
success: function (layero, index) {
|
||||
view(this.id).render('wechatshipping/order/details', { data: e.data }).done(function () {
|
||||
form.render();
|
||||
});
|
||||
// 禁止弹窗出现滚动条
|
||||
//$(layero).children('.layui-layer-content').css('overflow', 'visible');
|
||||
}
|
||||
});
|
||||
} else {
|
||||
layer.msg(e.msg);
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
// 只显示上一页、下一页、当前页
|
||||
laypage.render({
|
||||
elem: 'demo-laypage-pn-show',
|
||||
count: 99999,
|
||||
groups: 1,
|
||||
first: '首页',
|
||||
last: false,
|
||||
layout: ['first', 'page', 'next'],
|
||||
jump: function (obj, first) {
|
||||
// 首次不执行
|
||||
if (!first) {
|
||||
layer.msg('第 ' + obj.curr + ' 页');
|
||||
|
||||
if (has_more) {
|
||||
table.reloadData('LAY-app-WeChatShippingOrder-tableBox', {
|
||||
where: { last_index: last_index },
|
||||
scrollPos: true,
|
||||
});
|
||||
} else {
|
||||
layer.msg('没有更多内容了');
|
||||
|
||||
}
|
||||
|
||||
if (obj.curr == 1) {
|
||||
last_index = '';
|
||||
table.reloadData('LAY-app-WeChatShippingOrder-tableBox', {
|
||||
where: { last_index: '' },
|
||||
scrollPos: true,
|
||||
});
|
||||
}
|
||||
}
|
||||
}
|
||||
});
|
||||
//重载form
|
||||
form.render();
|
||||
});
|
||||
};
|
||||
</script>
|
||||
|
||||
<!--设置是否启用-->
|
||||
<script type="text/html" id="switch_in_complaint">
|
||||
<input type="checkbox" name="switch_in_complaint" value="{{d.in_complaint}}" lay-skin="switch" lay-text="是|否" disabled="disabled">
|
||||
</script>
|
||||
@@ -0,0 +1,241 @@
|
||||
<script type="text/html" template lay-done="layui.data.sendParams(d);">
|
||||
<div class="layui-form coreshop-form layui-form-pane" lay-filter="LAY-app-WeChatMessageResponse-updateForm" id="LAY-app-WeChatMessageResponse-updateForm">
|
||||
|
||||
<input type="hidden" name="transaction_id" value="{{d.params.data.order.transaction_id }}" />
|
||||
<input type="hidden" name="openid" value="{{d.params.data.order.openid }}" />
|
||||
<input type="hidden" name="merchant_id" value="{{d.params.data.order.merchant_id }}" />
|
||||
<input type="hidden" name="merchant_trade_no" value="{{d.params.data.order.merchant_trade_no }}" />
|
||||
|
||||
<blockquote class="layui-elem-quote">
|
||||
商户单号:{{d.params.data.order.merchant_trade_no }}<br />
|
||||
交易单号:{{d.params.data.order.transaction_id }}<br />
|
||||
支付金额:¥ {{d.params.data.order.paid_amount / 100 }} 元<br />
|
||||
支付时间:{{ layui.util.toDateString(d.params.data.order.pay_time * 1000, 'yyyy-MM-dd HH:mm:ss')}}<br />
|
||||
</blockquote>
|
||||
|
||||
|
||||
<div class="layui-form-item layui-form-text">
|
||||
<label class="layui-form-label">商品信息</label>
|
||||
<div class="layui-input-block">
|
||||
<textarea name="item_desc" placeholder="商品信息会向用户展示,请保持和订单信息一致。输入多个商品时用“ ; ”隔开。" class="layui-textarea">{{d.params.data.order.description}}</textarea>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label">发货方式</label>
|
||||
<div class="layui-input-block">
|
||||
{{# layui.each(d.params.data.logisticsType, function(index, item){ }}
|
||||
<input type="radio" name="logistics_type" value="{{item.value}}" title="{{item.title}}" {{d.params.data.order.shipping.logistics_type==item.value ? 'checked':''}} lay-filter="logistics-type-filter">
|
||||
{{# }); }}
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
<div id="logisticsBox">
|
||||
<div class="layui-form-item">
|
||||
<label for="matchKey" class="layui-form-label ">
|
||||
快递信息
|
||||
</label>
|
||||
<div class="layui-input-block">
|
||||
<table class="layui-table">
|
||||
<thead>
|
||||
<tr>
|
||||
<th>物流公司</th>
|
||||
<th style="width: 250px;">快递单号</th>
|
||||
<th style="width: 82px;">操作</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody id="logisticsView">
|
||||
{{# if(d.params.data.order.shipping.logistics_type==1) { }}
|
||||
{{# layui.each(d.params.data.order.shipping.shipping_list, function(index, itemP){ }}
|
||||
<tr data-id="{{index}}">
|
||||
<td>
|
||||
<select lay-search="" id="express_company" name="shipping_list.express_company[0]" class="layui-input">
|
||||
<option value="">请选择,可直接输入搜索</option>
|
||||
{{# layui.each(d.params.data.deliveryCompany, function(index, item){ }}
|
||||
<option value="{{item.deliveryId}}" {{itemP.express_company==item.deliveryId ? 'selected="selected"':''}}>{{item.deliveryName}}</option>
|
||||
{{# }); }}
|
||||
</select>
|
||||
</td>
|
||||
<td class="field_value">
|
||||
<input type="text" id="tracking_no" name="shipping_list.tracking_no[0]" required value="{{itemP.tracking_no}}" placeholder="填写快递单号" autocomplete="off" class="layui-input">
|
||||
</td>
|
||||
<td>
|
||||
<a class="layui-btn layui-btn-xs addfield-class table-button">
|
||||
添加
|
||||
</a>
|
||||
</td>
|
||||
</tr>
|
||||
{{# }); }}
|
||||
{{# } else { }}
|
||||
<tr data-id="0">
|
||||
<td>
|
||||
<select lay-search="" id="express_company" name="shipping_list.express_company[0]" class="layui-input">
|
||||
<option value="">请选择,可直接输入搜索</option>
|
||||
{{# layui.each(d.params.data.deliveryCompany, function(index, item){ }}
|
||||
<option value="{{item.deliveryId}}">{{item.deliveryName}}</option>
|
||||
{{# }); }}
|
||||
</select>
|
||||
</td>
|
||||
<td class="field_value">
|
||||
<input type="text" id="tracking_no" name="shipping_list.tracking_no[0]" required value="" placeholder="填写快递单号" autocomplete="off" class="layui-input">
|
||||
</td>
|
||||
<td>
|
||||
<a class="layui-btn layui-btn-xs addfield-class table-button">
|
||||
添加
|
||||
</a>
|
||||
</td>
|
||||
</tr>
|
||||
{{# }; }}
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label">全部发货</label>
|
||||
<div class="layui-input-block">
|
||||
<input type="checkbox" name="is_all_delivered" lay-skin="switch" lay-filter="switchTest" checked="checked" title="是|否">
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="cityDistributionBox" style="display:none;">
|
||||
<div class="layui-form-item">
|
||||
<label for="matchKey" class="layui-form-label">
|
||||
快递信息
|
||||
</label>
|
||||
<div class="layui-input-inline layui-inline-4">
|
||||
<input name="cityDistributionName" class="layui-input" placeholder="填写同城配送公司名称" value="{{d.params.data.order.shipping.logistics_type==2 ? d.params.data.order.shipping.shipping_list[0].express_company : ''}}" />
|
||||
</div>
|
||||
<div class="layui-input-inline layui-inline-4">
|
||||
<input name="cityDistributionNumber" class="layui-input" placeholder="填写快递单号" value="{{d.params.data.order.shipping.logistics_type==2 ? d.params.data.order.shipping.shipping_list[0].tracking_no : ''}}" />
|
||||
</div>
|
||||
<div class="layui-form-mid">
|
||||
如商家自配,则该项可选填
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
<div class="layui-form-item text-right core-hidden">
|
||||
<input type="button" class="layui-btn" lay-submit lay-filter="LAY-app-WeChatMessageResponse-updateForm-submit" id="LAY-app-WeChatMessageResponse-updateForm-submit" value="确认编辑">
|
||||
</div>
|
||||
</div>
|
||||
</script>
|
||||
|
||||
|
||||
<script id="tr_tpl" type="text/html">
|
||||
<tr data-id="{{ d.id }}">
|
||||
<td>
|
||||
<select lay-search="" id="express_company" name="shipping_list.express_company[{{ d.id }}]" class="layui-input">
|
||||
<option value="">请选择,可直接输入搜索</option>
|
||||
{{# layui.each(d.deliveryCompany, function(index, item){ }}
|
||||
<option value="{{item.deliveryId}}">{{item.deliveryName}}</option>
|
||||
{{# }); }}
|
||||
</select>
|
||||
</td>
|
||||
<td class="field_value">
|
||||
<input type="text" id="tracking_no" name="shipping_list.tracking_no[{{ d.id }}]" required value="" placeholder="填写快递单号" autocomplete="off" class="layui-input">
|
||||
</td>
|
||||
<td>
|
||||
<a class="layui-btn layui-btn-xs addfield-class table-button">
|
||||
添加
|
||||
</a>
|
||||
<a class="layui-btn layui-btn-danger layui-btn-xs del-class table-button">
|
||||
删除
|
||||
</a>
|
||||
</td>
|
||||
</tr>
|
||||
</script>
|
||||
|
||||
|
||||
|
||||
<script>
|
||||
var debug = layui.setter.debug;
|
||||
layui.data.sendParams = function (d) {
|
||||
//开启调试情况下获取接口赋值数据
|
||||
if (debug) { console.log(d.params.data); }
|
||||
layui.use(['admin', 'form', 'laydate', 'upload', 'coreHelper', 'cropperImg', 'laytpl'],
|
||||
function () {
|
||||
var $ = layui.$
|
||||
, form = layui.form
|
||||
, admin = layui.admin
|
||||
, laydate = layui.laydate
|
||||
, upload = layui.upload
|
||||
, cropperImg = layui.cropperImg
|
||||
, laytpl = layui.laytpl
|
||||
, coreHelper = layui.coreHelper;
|
||||
|
||||
hideBox(d.params.data.order.shipping.logistics_type);
|
||||
|
||||
$(".layui-table").on('click', '.addfield-class', function (e) {
|
||||
var getTpl = tr_tpl.innerHTML;
|
||||
var lastId = $(this).parent().parent().parent().find('tr').last().attr('data-id');
|
||||
console.log(lastId);
|
||||
var tmpData = {};
|
||||
tmpData.id = parseInt(lastId) + 1;
|
||||
tmpData.deliveryCompany = d.params.data.deliveryCompany;
|
||||
laytpl(getTpl).render(tmpData, function (html) {
|
||||
$("#logisticsView").append(html);
|
||||
form.render();
|
||||
});
|
||||
});
|
||||
|
||||
$(".layui-table").on('click', '.del-class', function (e) {
|
||||
if ($(".del-class").length > 0) {
|
||||
$(this).parent().parent().remove();
|
||||
resetInputNameID();
|
||||
} else {
|
||||
layer.msg("至少保留1个物流信息录入框");
|
||||
}
|
||||
})
|
||||
|
||||
//重置排序
|
||||
function resetInputNameID() {
|
||||
$.each($("#logisticsView tr"), function (i, tr) {
|
||||
$(this).attr('data-id', i);
|
||||
$(this).find("#express_company").attr("name", "shipping_list.express_company[" + i + "]");
|
||||
$(this).find("#tracking_no").attr("name", "shipping_list.tracking_no[" + i + "]");
|
||||
});
|
||||
}
|
||||
|
||||
// radio 事件
|
||||
form.on('radio(logistics-type-filter)', function (data) {
|
||||
var elem = data.elem; // 获得 radio 原始 DOM 对象
|
||||
var value = elem.value; // 获得 radio 值
|
||||
|
||||
hideBox(value);
|
||||
});
|
||||
|
||||
function hideBox(value) {
|
||||
if (value == 1) {
|
||||
$('#logisticsBox').show();
|
||||
$('#cityDistributionBox').hide();
|
||||
} else if (value == 2) {
|
||||
$('#logisticsBox').hide();
|
||||
$('#cityDistributionBox').show();
|
||||
} else {
|
||||
$('#logisticsBox').hide();
|
||||
$('#cityDistributionBox').hide();
|
||||
}
|
||||
}
|
||||
|
||||
form.verify({
|
||||
|
||||
verifymatchKey: [/^.{0,100}$/, '匹配字符最大只允许输入100位字符'],
|
||||
verifyimgTextUrl: [/^.{0,1000}$/, '图片回复图片地址最大只允许输入1000位字符'],
|
||||
verifyimgTextLink: [/^.{0,1000}$/, '图片回复超链接最大只允许输入1000位字符'],
|
||||
verifymeidaUrl: [/^.{0,1000}$/, '语音回复地址最大只允许输入1000位字符'],
|
||||
verifymeidaLink: [/^.{0,1000}$/, '语音回复超链接最大只允许输入1000位字符'],
|
||||
verifyremark: [/^.{0,1000}$/, '备注最大只允许输入1000位字符'],
|
||||
verifycreateBy: [/^.{0,100}$/, '创建来源最大只允许输入100位字符'],
|
||||
verifymodifyBy: [/^.{0,100}$/, '修改来源最大只允许输入100位字符'],
|
||||
});
|
||||
|
||||
//重载form
|
||||
form.render(null, 'LAY-app-WeChatMessageResponse-updateForm');
|
||||
})
|
||||
};
|
||||
</script>
|
||||
Reference in New Issue
Block a user