jh-admin/addon/supply/shop/view/purchase/release.html

459 lines
16 KiB
HTML

{extend name="base"/}
{block name="resources"}
<link rel="stylesheet" href="SHOP_SUPPLY_LOCAL_CSS/release.css">
{/block}
{block name="body"}
<!-- 顶部html文件-->
<div class="ns-supply-wrap">
<div class="ns-supply-wrap-con">
{include file="addon/supply/shop/view/market_head.html"/}
<div class="ns-supply-order">
<div class="order-menu">
<ul class="layui-nav layui-nav-tree" lay-filter="test">
<li class="layui-nav-item layui-nav-itemed">
<a href="javascript:;">交易中心</a>
<dl class="layui-nav-child">
<dd><a href="{:addon_url('supply://shop/order/lists')}">我的订单</a></dd>
<dd><a href="{:addon_url('supply://shop/orderrefund/lists')}">退款/售后</a></dd>
<dd class="layui-this"><a href="{:addon_url('supply://shop/purchase/purchase')}">我的求购单</a></dd>
</dl>
</li>
</ul>
</div>
<div class="order-list">
<div class="order-list-title">发布求购单</div>
<div class="purchase-form-wrap layui-form">
<div class="layui-card ns-card-common ns-card-brief">
<div class="layui-card-header">
<span class="ns-card-title">求购产品</span>
</div>
<div class="layui-card-body">
<div class="layui-form-item">
<label class="layui-form-label"><span class="required">*</span>求购单标题:</label>
<div class="layui-input-block">
<input type="text" name="title" lay-verify="required" autocomplete="off" class="layui-input ns-len-mid">
</div>
</div>
<div class="layui-form-item">
<label class="layui-form-label"><span class="required">*</span>求购产品:</label>
<div class="layui-input-block">
<div class="layui-input-inline">
<input type="radio" name="type" value="1" lay-filter="goods_type" title="现货商品" checked />
<input type="radio" name="type" value="2" lay-filter="goods_type" title="定制商品" />
</div>
</div>
</div>
<div class="layui-input-block ns-table-box">
<table class="layui-table" id="goods" lay-skin="line" lay-size="lg">
<colgroup>
<col width="40%">
<col width="20%">
<col width="15%">
<col width="15%">
<col width="10%">
</colgroup>
<thead>
<tr>
<th><span class="required">*</span>商品名称</th>
<th><span class="required">*</span>商品分类</th>
<th><span class="required">*</span>数量</th>
<th><span class="required">*</span>目标单价</th>
<th class="operation">操作</th>
</tr>
</thead>
<tbody>
<tr data-num="1">
<td>
<input type="text" name="" lay-verify="req" placeholder="名称" autocomplete="off" class="layui-input goods-name">
</td>
<td>
<select name="" class="category" lay-verify="req" placeholder="分类">
<option value="">请选择</option>
{foreach $category_list as $cate_k => $cate_v}
<option value="{$cate_v.category_id}">{$cate_v.category_name}</option>
{/foreach}
</select>
</td>
<td>
<input type="number" name="" lay-verify="req|num" placeholder="数量" autocomplete="off" class="layui-input goods-num">
</td>
<td>
<input type="number" name="" lay-verify="req|flo" placeholder="价格" autocomplete="off" class="layui-input goods-price">
</td>
<td rowspan="2">
<a class="layui-btn" onclick="delRow(1)">删除</a>
</td>
</tr>
<tr data-num="1">
<td>
<input type="text" name="" autocomplete="off" placeholder="请输入备注" class="layui-input remark">
</td>
<td colspan="3">
<div class="upload-imgs-box">
<div class="ns-upload-default test" id="test_1" data-num="1">
<p>上传图片</p>
</div>
<div class="ns-img-wrap">
<input value="" type="hidden" lay-verify="imgReq" class="img-input" />
</div>
</div>
</td>
</tr>
</tbody>
</table>
<div class="add-goods">
<span class="ns-red-color" onclick="addGoods()"><i class="iconfont iconjia2"></i></span>
<span onclick="addGoods()">添加商品</span>
</div>
</div>
</div>
</div>
<div class="layui-card ns-card-common ns-card-brief">
<div class="layui-card-header">
<span class="ns-card-title">采购商联系方式</span>
</div>
<div class="layui-card-body">
<div class="layui-form-item">
<label class="layui-form-label"><span class="required">*</span>姓名:</label>
<div class="layui-input-block">
<input type="text" name="nickname" lay-verify="required" autocomplete="off" class="layui-input ns-len-mid">
</div>
</div>
<div class="layui-form-item">
<label class="layui-form-label"><span class="required">*</span>性别:</label>
<div class="layui-input-block">
<div class="layui-input-inline">
<input type="radio" name="sex" value="1" lay-filter="" title="男" checked />
<input type="radio" name="sex" value="2" lay-filter="" title="女" />
</div>
</div>
</div>
<div class="layui-form-item">
<label class="layui-form-label"><span class="required">*</span>联系电话:</label>
<div class="layui-input-block">
<input type="text" name="mobile" lay-verify="required|phone" autocomplete="off" class="layui-input ns-len-mid">
</div>
</div>
<div class="layui-form-item">
<label class="layui-form-label">电子邮箱:</label>
<div class="layui-input-block">
<input type="text" name="email" lay-verify="email" autocomplete="off" class="layui-input ns-len-mid">
</div>
</div>
</div>
</div>
<div class="layui-card ns-card-common ns-card-brief">
<div class="layui-card-header">
<span class="ns-card-title">采购需求</span>
</div>
<div class="layui-card-body">
<div class="layui-form-item">
<label class="layui-form-label"><span class="required">*</span>求购截止日期:</label>
<div class="layui-input-block">
<input type="text" name="end_time" id="end_time" lay-verify="required|current" class="layui-input ns-len-mid" placeholder="请选择求购截止时间" autocomplete="off" readonly>
</div>
</div>
<div class="layui-form-item">
<label class="layui-form-label"><span class="required">*</span>收货地址:</label>
<div class="layui-input-inline area-select">
<select name="province_id" lay-filter="province_id" lay-verify="province_id">
<option value="">请选择省份</option>
{foreach $province_list as $k => $v}
<option value="{$v.id}">{$v.name}</option>
{/foreach}
</select>
</div>
<div class="layui-input-inline area-select">
<select name="city_id" lay-filter="city_id" lay-verify="city_id">
<option value="">请选择城市</option>
</select>
</div>
<div class="layui-input-inline area-select">
<select name="district_id" lay-filter="district_id" lay-verify="district_id">
<option value="">请选择区/县</option>
</select>
</div>
</div>
<div class="layui-form-item">
<label class="layui-form-label"><span class="required">*</span>详细地址:</label>
<div class="layui-input-block">
<input type="text" name="address" lay-verify="required" autocomplete="off" class="layui-input ns-len-mid">
</div>
</div>
<div class="layui-form-item layui-form-text">
<label class="layui-form-label">补充说明:</label>
<div class="layui-input-block ns-len-mid">
<textarea name="remark" class="layui-textarea"></textarea>
</div>
</div>
</div>
</div>
<div class="ns-form-row">
<button class="layui-btn ns-bg-color" lay-submit lay-filter="save">发布求购单</button>
</div>
</div>
</div>
</div>
</div>
</div>
{/block}
{block name="script"}
<script type="text/javascript" src="{:get_http_type()}://webapi.amap.com/maps?v=1.4.6&amp;key=83337fd897cc6d5f83e771ce0473be66"></script>
<script type="text/javascript" src="SHOP_JS/address.js"></script>
<script type="text/javascript" src="STATIC_JS/map_address.js"></script>
<script>
var form, laydate, laytpl, goodsImage = [], repeat_flag = false;
layui.use(['form', 'laydate', 'laytpl', 'upload'], function() {
form = layui.form;
laydate = layui.laydate;
laytpl = layui.laytpl;
upload = layui.upload;
form.render();
laydate.render({
elem: '#end_time', //指定元素
type: 'datetime'
});
//初始化联系地址
var initdata = { province_id: '', city_id: '', district_id: '' };
initAddress(initdata, "storeform");
upload.render({
elem: '#test_1',
url: ns.url("shop/upload/upload"),
multiple: true,
done: function(res, index, upload){
var html = '<div class="img-box"><img layer-src src="'+ ns.img(res.data.pic_path) +'" /><input type="hidden" value="'+ res.data.pic_path +'" /><i class="iconfont iconcuo"></i></div>';
$("#test_1").siblings(".ns-img-wrap").append(html);
$("#test_1").siblings(".ns-img-wrap").find(".img-input").val(res.data.pic_path);
$(".img-box i").click(function() {
$(this).parents(".img-box").remove();
})
loadImgMagnify();
}
})
form.on('submit(save)', function(data) {
var province_name = $("select[name=province_id] option:selected").text();
var city_name = $("select[name=city_id] option:selected").text();
var district_name = $("select[name=district_id] option:selected").text();
//地址id
data.field.province = data.field.province_id;
data.field.city = data.field.city_id;
data.field.district = data.field.district_id;
data.field.community = data.field.community_id;
//地址name
data.field.province_name = province_name;
data.field.city_name = city_name;
data.field.district_name = district_name;
data.field.full_address = province_name + city_name + district_name;
var goods_arr = [];
var len = $("tbody tr").length / 2;
for (var i=1; i<=len; i++) {
var goods = {};
$("tbody tr").each(function(index, item) {
var num = $(item).attr("data-num");
if (num == i) {
if (index % 2 == 0) {
goods.goods_name = $(item).find(".goods-name").val();
goods.num = $(item).find(".goods-num").val();
goods.price = $(item).find(".goods-price").val();
goods.category_id_1 = $(item).find(".category option:selected").attr("value");
goods.category_name_1 = $(item).find(".category option:selected").text();
} else {
var goods_images = [];
$(item).find(".ns-img-wrap div").each(function(key, imgDiv) {
goods_images.push($(imgDiv).find("input").val());
})
goods.goods_images = goods_images;
goods.remark = $(item).find(".remark").val();
}
}
})
goods_arr.push(goods);
}
data.field.purchase_goods_item_json = JSON.stringify(goods_arr);
if (repeat_flag) return;
repeat_flag = true;
$.ajax({
url: ns.url("supply://shop/purchase/release"),
data: data.field,
dataType: 'JSON',
type: 'POST',
success: function(res) {
repeat_flag = false;
if(checkLogin(res)) {
layer.msg(res.message);
if (res.code == 0) {
location.href = ns.url("supply://shop/purchase/purchase");
}
}
}
})
})
//表单验证
form.verify({
province_id : function(value, item){
if(value == ''){
return '请选择省份';
}
},
city_id : function(value, item){
if(value == ''){
return '请选择城市';
}
},
district_id : function(value, item){
if(value == ''){
return '请选择区/县';
}
},
address: function(value) {
if (value == '') {
return '请输入详细地址';
}
},
req: function(value, item) {
var str = $(item).attr("placeholder");
if (value == '') {
return "请输入采购商品" + str;
}
},
num: function(value, item) {
if (value % 1 != 0 || value < 0) {
return '采购数量必须是大于0的整数';
}
},
flo: function(value, item) {
if (value != '' && value <= 0) {
return '目标单价必须大于0';
}
if (value != '' && value * 100 % 1 != 0) {
return '目标单价最多可有两位小数'
}
},
current: function(value, item) {
var now_time = (new Date()).getTime();
var end_time = (new Date(value)).getTime();
if (now_time > end_time) {
return '截止时间不能小于当前时间!'
}
},
email: function(value, item) {
var reg = /^([a-zA-Z\d])(\w|\-)+@[a-zA-Z\d]+\.[a-zA-Z]{2,4}$/;
if (value != '' && !reg.test(value)) {
return '邮箱格式不正确!'
}
},
imgReq: function(value, item) {
if (!value) {
return '请至少上传一张图片!'
}
}
});
})
var num = 1;
function addGoods() {
num++;
var data = {};
data.num = num;
laytpl($("#tableTr").html()).render(data, function(html) {
$(".ns-table-box tbody").append(html);
form.render();
upload.render({
elem: '#test_'+num,
url: ns.url("shop/upload/upload"),
multiple: true,
done: function(res, index, upload){
var html = '<div class="img-box"><img layer-src src="'+ ns.img(res.data.pic_path) +'" /><input type="hidden" value="'+ res.data.pic_path +'" /><i class="iconfont iconcuo"></i></div>';
$("#test_"+num).siblings(".ns-img-wrap").append(html);
$("#test_"+num).siblings(".ns-img-wrap").find(".img-input").val(res.data.pic_path);
$(".img-box i").click(function() {
$(this).parents(".img-box").remove();
})
loadImgMagnify();
}
})
});
}
function delRow(i) {
$("tbody tr").each(function() {
if ($(this).attr("data-num") == i) {
$(this).remove();
}
})
}
</script>
<script type="text/html" id="tableTr">
<tr data-num="{{d.num}}">
<td>
<input type="text" name="" lay-verify="req" placeholder="名称" autocomplete="off" class="layui-input goods-name">
</td>
<td>
<select name="" class="category" lay-verify="req" placeholder="分类">
<option value="">请选择</option>
{foreach $category_list as $cate_k => $cate_v}
<option value="{$cate_v.category_id}">{$cate_v.category_name}</option>
{/foreach}
</select>
</td>
<td>
<input type="number" name="" lay-verify="req|num" placeholder="数量" autocomplete="off" class="layui-input goods-num">
</td>
<td>
<input type="number" name="" lay-verify="req|flo" placeholder="价格" autocomplete="off" class="layui-input goods-price">
</td>
<td rowspan="2">
<a class="layui-btn" onclick="delRow({{d.num}})">删除</a>
</td>
</tr>
<tr data-num="{{d.num}}">
<td>
<input type="text" name="" autocomplete="off" placeholder="请输入备注" class="layui-input remark">
</td>
<td colspan="3">
<div class="upload-imgs-box">
<div class="ns-upload-default test" id="test_{{d.num}}" data-num="{{d.num}}">
<p>上传图片</p>
</div>
<div class="ns-img-wrap">
<input value="" type="hidden" lay-verify="imgReq" class="img-input" />
</div>
</div>
</td>
</tr>
</script>
{/block}