Current Path : /www/wwwroot/jsnz.xshop.geekdanceshop.com/app/shop/view/local/
Upload File :
Current File : /www/wwwroot/jsnz.xshop.geekdanceshop.com/app/shop/view/local/local.html

<style>
	.map-view{position:relative}
	.map-block-view{display:none}
	.map-block{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;width:1100px}
	.local-map{-webkit-box-flex:0;-webkit-flex:0 0 750px;-ms-flex:0 0 750px;flex:0 0 750px;height:500px;border:1px solid #ededed;margin-right:20px;border-radius:4px;overflow-y:hidden;position:relative;}
	.overlayers{-webkit-box-flex:1;-webkit-flex:1 1 auto;-ms-flex:1 1 auto;flex:1 1 auto;border:1px solid #ededed;border-radius:4px;width:100%;height:494px;overflow-y:auto}
	.overlayers::-webkit-scrollbar{width:10px;height:1px}
	.overlayers::-webkit-scrollbar-thumb{border-radius:10px;box-shadow:inset 0 0 5px var(--base-color);background:var(--base-color)}
	.overlayers::-webkit-scrollbar-track{box-shadow:inset 0 0 5px #ededed;border-radius:10px;background:#ededed}
	.map{height:500px;width:100%;position: relative;}
	.region-list{}
	.region-list li{padding:30px 12px;position:relative;border:1px solid transparent;border-bottom-color:#ebedf0}
	.area-content{overflow:hidden;margin:8px 0}
	.area-label{display:inline-block;width:70px;float:left}
	.area-input-inline{float:left;width:190px}
	.region-add-block button{display:block;padding:0;margin:10px auto;font-size:14px;width:196px;color:#323233;line-height:32px;background:#fff;outline:0;border:1px solid #dcdee0;border-radius:2px;cursor:pointer}
	.region-add-block button:hover{border-color:var(--base-color);color:var(--base-color)}
	.region-view{display:none;}
	.radius-view{display:none;}
	.administrative-view{display:none;}
	.administrative-region-view{display:none;}
	.administrative-radius-view{display:none;}
	.time-view{display:none;}
	.time-type-view{display:none;}
	.area-block-delete{position:absolute;top:-2px;right:5px;font-size:12px;cursor:pointer}
	.layui-form-item .layui-form-checkbox[lay-skin=primary] {margin-top: 0;}
	.layui-form-radio {margin-top: 0;}
	.empty-local-map{-webkit-box-flex:0;-webkit-flex:0 0 750px;-ms-flex:0 0 750px;flex:0 0 750px;height:500px;margin-right:20px;border-radius:4px;overflow-y:hidden;position:relative;}
	.empty-address-text{font-size: 14px;color: #f43530;height: 34px;line-height: 34px;}
	.day-wrap {display: flex;align-items: center}
	.day-input {width: 80px}
	.day-input[readonly] {background: #f5f5f5}
    .day-wrap .layui-form-radio:nth-child(4) {margin-right: 0px}
    .layui-card-body{ display: block; }
</style>
<link rel="stylesheet" href="SHOP_CSS/formSelects-v4.css" />

<div class="layui-form">
	<div class="layui-card card-common card-brief">
		<div class="layui-card-header">
			<span class="card-title">同城配送基础设置</span>
		</div>
		<div class="layui-card-body">
			<div class="layui-form-item">
				<label class="layui-form-label">配送方式:</label>
				<div class="layui-input-inline">
					<input type="checkbox" name="type" value="default" title="商家自配送" lay-skin="primary" checked>
					<input type="checkbox" name="type" value="other" title="第三方配送" lay-skin="primary" disabled>
				</div>
			</div>

			<!--配送时间设置-->
			<div class="layui-form-item">
				<div class="layui-inline">
					<label class="layui-form-label">配送时间设置:</label>
					<div class="layui-input-block">
						<input type="radio" name="time_is_open" value="1" title="开启"  lay-filter="time_is_open" {if $local_info.time_is_open == 1}checked{/if}/>
						<input type="radio" name="time_is_open" value="0" title="关闭"  lay-filter="time_is_open" {if $local_info.time_is_open == 0 || !isset($local_info.time_is_open)}checked{/if}/>
					</div>
					<div class="word-aux">开启后,买家下单选择同城配送时,可选择配送时间,提交订单后,将在买家备注中显示。</div>
				</div>
			</div>
			<div class="layui-form-item time-view" {if $local_info.time_is_open == 0} style="display:none;"{/if}>
				<div class="layui-inline">
					<label class="layui-form-label"></label>
					<div class="layui-input-inline">
						<input type="radio" name="time_type" value="0" title="每天"  lay-filter="time_type" {if $local_info.time_type == 0 || !isset($local_info.time_type)}checked{/if}/>
						<input type="radio" name="time_type" value="1" title="自定义"  lay-filter="time_type" {if $local_info.time_type == 1 }checked{/if}/>
					</div>
				</div>
			</div>
			<div class="time-view ">
				<div class="layui-form-item time-type-view" lay-verify="time_week">
					<div class="layui-inline">
						<label class="layui-form-label"></label>
						<div class="layui-input-inline">
							<input type="checkbox" value="1" class='time-week' name="time_week[]" title="周一" lay-skin="primary" {if !empty($local_info.time_week) && in_array(1,$local_info.time_week)} checked {/if}>
							<input type="checkbox" value="2" class='time-week' name="time_week[]" title="周二" lay-skin="primary" {if !empty($local_info.time_week) && in_array(2,$local_info.time_week)} checked {/if}>
							<input type="checkbox" value="3" class='time-week' name="time_week[]" title="周三" lay-skin="primary" {if !empty($local_info.time_week) && in_array(3,$local_info.time_week)} checked {/if}>
							<input type="checkbox" value="4" class='time-week' name="time_week[]" title="周四" lay-skin="primary" {if !empty($local_info.time_week) && in_array(4,$local_info.time_week)} checked {/if}>
							<input type="checkbox" value="5" class='time-week' name="time_week[]" title="周五" lay-skin="primary" {if !empty($local_info.time_week) && in_array(5,$local_info.time_week)} checked {/if}>
							<input type="checkbox" value="6" class='time-week' name="time_week[]" title="周六" lay-skin="primary" {if !empty($local_info.time_week) && in_array(6,$local_info.time_week)} checked {/if}>
							<input type="checkbox" value="0" class='time-week' name="time_week[]" title="周日" lay-skin="primary" {if !empty($local_info.time_week) && in_array(0,$local_info.time_week)} checked {/if}>
						</div>
					</div>
				</div>
				<div class="time-type-view-all">
					<div class="delivery-time">
						{foreach name="$local_info.delivery_time" key="k" item="item"}
						<div class="layui-form-item" >
							<label class="layui-form-label">{$k == 0 ? '配送时段设置:' : ''}</label>
							<div class="layui-input-inline">
								<input type="text" class="layui-input" id="startTime{$k == 0 ? '' : $k}" lay-verify="start_time" placeholder="配送开始时间" value="" readonly >
								<input type="hidden" class="layui-input" name="start_time" placeholder="配送开始时间" value="{$item.start_time}">
							</div>
							<div class="layui-form-mid layui-word-aux">~</div>
							<div class="layui-input-inline">
								<input type="text" class="layui-input" id="endTime{$k == 0 ? '' : $k}" lay-verify="end_time" placeholder="配送结束时间" value="" readonly >
								<input type="hidden" class="layui-input" name="end_time" placeholder="配送结束时间" value="{$item.end_time}">
							</div>
							<div class="layui-form-mid layui-word-aux">
								{if $k eq 0}
								<a href="javascript:;" class="text-color add">添加</a>
								{else/}
								<a href="javascript:;" class="text-color delete">删除</a>
								{/if}
							</div>
						</div>
						{/foreach}
					</div>
				</div>

				<div class="layui-form-item">
					<div class="layui-inline">
						<label class="layui-form-label">细分时段:</label>
						<div class="layui-input-block">
							<input type="radio" name="time_interval" value="30" title="30分钟" {if $local_info.time_interval == 30}checked{/if}/>
							<input type="radio" name="time_interval" value="60" title="一小时" {if $local_info.time_interval == 60}checked{/if}/>
							<input type="radio" name="time_interval" value="90" title="90分钟" {if $local_info.time_interval == 90}checked{/if}/>
							<input type="radio" name="time_interval" value="120" title="两小时" {if $local_info.time_interval == 120}checked{/if}/>
						</div>
					</div>
				</div>

				<div class="layui-form-item">
					<label class="layui-form-label">提前预约:</label>
					<div class="layui-input-block day-wrap">
						<input type="radio" name="advance_day" value="0" title="无需提前" {if $local_info.advance_day == 0}checked{/if} lay-filter="day_select"/>
						<input type="radio" name="advance_day" value="1" title="提前" {if $local_info.advance_day != 0}checked{/if} lay-filter="day_select"/>
						<div class="layui-input-inline">
							<input type="number" name="advance_day_num" lay-verify="advance_day" class="layui-input day-input" {if $local_info.advance_day == 0}readonly{else/}value="{$local_info.advance_day}"{/if}>
						</div>
						<div class="layui-form-mid layui-word-aux">天</div>
					</div>
					<div class="word-aux">预约配送是否需提前进行预约</div>
				</div>

				<div class="layui-form-item">
					<label class="layui-form-label">最长预约:</label>
					<div class="layui-input-block day-wrap">
						<input type="radio" name="most_day" value="0" title="仅当日" {if $local_info.most_day == 0}checked{/if} lay-filter="day_select"/>
						<input type="radio" name="most_day" value="1" title="可预约" {if $local_info.most_day != 0}checked{/if} lay-filter="day_select"/>
						<div class="layui-input-inline">
							<input type="number" name="most_day_num" lay-verify="most_day" class="layui-input day-input" {if $local_info.most_day == 0}readonly{else/}value="{$local_info.most_day}"{/if}>
						</div>
						<div class="layui-form-mid layui-word-aux">天内</div>
					</div>
					<div class="word-aux">预约配送最长可预约多少天内进行提货</div>
				</div>
			</div>
		</div>

		<div class="layui-card card-common card-brief">
			<div class="layui-card-header">
				<span class="card-title">配送区域设置</span>
			</div>
			<div class="layui-card-body">
				<div class="layui-form-item">
					<label class="layui-form-label">店铺地址:</label>
					<div class="layui-input-block">
					<div class="layui-input-inline">
						<input type="text" class="layui-input len-long" readonly disabled  value="{$shop_detail.full_address}">
					</div>
					<div class="layui-form-mid layui-word-aux"><a href="{:href_url('shop/shop/contact')}" target='_blank' class="text-color">修改</a></div>
					</div>
					<div class="word-aux">配送区域以此地址为起点进行距离计算。</div>
				</div>

				<div class="layui-form-item">
					<div class="layui-inline">
						<label class="layui-form-label">配送区域:</label>
						<div class="layui-input-block">
							<input type="radio" name="area_type" value="1" title="服务半径"  lay-filter="area_type" {if $local_info.area_type == 1}checked{/if}/>
							<input type="radio" name="area_type" value="2" title="自定义区域"  lay-filter="area_type" {if $local_info.area_type == 2}checked{/if}/>
							<input type="radio" name="area_type" value="3" title="行政区域"  lay-filter="area_type" {if $local_info.area_type == 3}checked{/if}/>
						</div>
						<div class="word-aux">订单中商品在优惠前的价格(不包含运费)低于起送金额时,买家无法下单</div>
					</div>
				</div>

				<div class="layui-form-item man_type">
					<div class="layui-inline">
						<label class="layui-form-label">配送优惠:</label>
						<div class="layui-input-block">
							<input type="radio" name="man_type" lay-filter="man_type" value="free" title="免邮" {if $local_info.man_type == 'free' || empty($local_info.man_type)} checked {/if}>
							<input type="radio" name="man_type" lay-filter="man_type" value="discount" title="优惠" {if $local_info.man_type == 'discount'} checked {/if}>
						</div>
		<!--				<div class="word-aux">当配送区域交叉时,以最低费用计算费用。 因考虑实际送货路况,配送费按汽车导航距离计算,非地图直线距离。</div>-->
					</div>
					<div class="layui-block">
						<label class="layui-form-label"></label>
						<div class="layui-input-block">
							<div class="layui-form-mid">满</div>
							<div class="layui-input-inline">
								<input type="number" name="man_money" lay-verify="man_money"  class="layui-input"  value="{$local_info.man_money}" onblur="$('input[name=\'man_money\']').val(Math.abs($('input[name=\'man_money\']').val()));">
							</div>
							<div class="layui-form-mid discount-txt-before">元,免邮</div>
							<div class="layui-input-inline man-discount" style="width: 100px;">
								<input type="number" name="man_discount" lay-verify="man_discount" lay-verify="man_discount"  placeholder="" autocomplete="off" class="layui-input" value="{$local_info.man_discount}" onblur="manDiscount()">
							</div>
							<div class="layui-form-mid discount-txt-after">元</div>
						</div>
					</div>
				</div>

				<div class="layui-form-item administrative-view">
					<label class="layui-form-label"><span class="required">*</span>可配送区域:</label>
					<div class="layui-input-inline  len-long area-select">
						<select name="district_id" xm-select="select1" lay-search lay-filter="district_id" lay-verify="district_id">
							{foreach $district_list as $k => $v}
								<option value="{$v.id}" {if in_array($v.id, $local_info.area_array)}selected="selected"{/if}>{$v.name}</option>
							{/foreach}
						</select>
					</div>
				</div>
				<div class="layui-form-item radius-view">
					<div class="layui-inline">
						<label class="layui-form-label"></label>
						<div class="layui-input-block">

							<div class="layui-form-mid">距离</div>
							<div class="layui-input-inline">
								<input type="number" name="radius_start_distance" lay-verify="radius_start_distance" class="layui-input" value="{if $local_info.area_type == 1}{$local_info.start_distance}{/if}">
							</div>
							<div class="layui-form-mid">公里以内,配送费用</div>
							<div class="layui-input-inline" style="width: 100px;">
								<input type="number" name="radius_start_delivery_money" lay-verify="radius_start_delivery_money" placeholder="¥" autocomplete="off" class="layui-input" value="{if $local_info.area_type == 1}{$local_info.start_delivery_money}{/if}">
							</div>
						</div>
					</div>
				</div>
				<div class="layui-form-item radius-view">
					<div class="layui-inline">
						<label class="layui-form-label"></label>
						<div class="layui-input-block">

							<div class="layui-form-mid">距离每增加</div>
							<div class="layui-input-inline">
								<input type="number" name="radius_continued_distance" lay-verify="radius_continued_distance"  class="layui-input"  value="{if $local_info.area_type == 1}{$local_info.continued_distance}{/if}">
							</div>
							<div class="layui-form-mid">公里,运费将增加</div>
							<div class="layui-input-inline" style="width: 100px;">
								<input type="number" name="radius_continued_delivery_money" lay-verify="radius_continued_delivery_money"  placeholder="¥" autocomplete="off" class="layui-input" value="{if $local_info.area_type == 1}{$local_info.continued_delivery_money}{/if}">
							</div>
						</div>
						<div class="word-aux">当配送区域交叉时,以最低费用计算费用。 因考虑实际送货路况,配送费按汽车导航距离计算,非地图直线距离。</div>

					</div>
				</div>

				<div class="layui-inline map-block-view">
					<label class="layui-form-label">地图定位:</label>
					<div class="layui-input-block map-view">
							<div class="map-block">
								{if $tencent_map_key}
									{if $check_map_key.status == 0}
									<div class="local-map">
										<div class="map" id="container"></div>
									</div>
									<div class="overlayers">
										<ul class="region-list"></ul>
										<div class="region-add-block">
											<button onclick="addArea();">增加配送区域</button>
										</div>
									</div>
									{else/}
									<div class="empty-address-text">{$check_map_key.message}。<a href="{:href_url('/shop/config/map')}" class="text-color">重新配置</a></div>
									{/if}
								{else/}
								<div class="empty-address-text">腾讯地图尚未配置,无法定位地址。<a href="{:href_url('/shop/config/map')}" class="text-color">点击配置</a></div>
								{/if}
							</div>
						</div>

					</div>

				</div>

		</div>

		<div class="layui-card card-common card-brief administrative-view">
			<div class="layui-card-header">
				<span class="card-title">配送价格</span>
			</div>
			<div class="layui-form-item">
				<div class="layui-inline">
					<label class="layui-form-label">起送价格:</label>

					<div class="layui-input-block">
						<div class="layui-input-inline">
							<input type="number" name='xz_start_money' lay-verify="xz_start_money"  class="layui-input" value="{if $local_info.area_type == 3}{$local_info.start_money}{/if}">
						</div>
						<div class="layui-form-mid">元</div>
					</div>
					<div class="word-aux">订单中商品在优惠券的价格(不包含运费)低于配送价时,买家无法下单</div>

				</div>
			</div>
			<div class="layui-form-item administrative-region-view">
				<div class="layui-inline">
					<label class="layui-form-label">配送费:</label>
					<div class="layui-input-inline">
						<div class="layui-input-inline">
							<input type="number" name='xz_delivery_money'  lay-verify="xz_delivery_money" class="layui-input administrative-delivery-money" value="{if $local_info.area_type == 3}{$local_info.delivery_money}{/if}">
						</div>
						<div class="layui-form-mid">元</div>
					</div>

				</div>
			</div>
			<div class="layui-form-item">
				<div class="layui-inline">
					<label class="layui-form-label">阶梯价:</label>
					<div class="layui-input-inline">
						<div class="layui-input-inline">
							<input type="checkbox" name="is_open_step" value="1" lay-skin="switch" lay-filter="is_open_step" {if isset($local_info.is_open_step) && $local_info.is_open_step == 1}checked{/if}/>
						</div>
						<div class="layui-form-mid">元</div>
					</div>

				</div>
			</div>

			<div class="layui-form-item administrative-radius-view">
				<div class="layui-inline">
					<label class="layui-form-label"></label>
					<div class="layui-input-inline">

						<div class="layui-form-mid">半径</div>
						<div class="layui-input-inline">
							<input type="number" name="xz_start_distance"  lay-verify="xz_start_distance" class="layui-input" value="{if $local_info.area_type == 3}{$local_info.start_distance}{/if}">
						</div>
						<div class="layui-form-mid">公里以内,配送费用</div>
						<div class="layui-input-inline" style="width: 100px;">
							<input type="number" name="xz_start_delivery_money" placeholder="¥"  lay-verify="xz_start_delivery_money" autocomplete="off" class="layui-input" value="{if $local_info.area_type == 3}{$local_info.start_delivery_money}{/if}">
						</div>
					</div>

				</div>
			</div>
			<div class="layui-form-item administrative-radius-view">
				<div class="layui-inline">
					<label class="layui-form-label"></label>
					<div class="layui-input-inline">

						<div class="layui-form-mid">距离每增加</div>
						<div class="layui-input-inline">
							<input type="number" name="xz_continued_distance" lay-verify="xz_continued_distance" class="layui-input" value="{if $local_info.area_type == 3}{$local_info.continued_distance}{/if}">
						</div>
						<div class="layui-form-mid">公里,运费将增加</div>
						<div class="layui-input-inline" style="width: 100px;">
							<input type="number" name="xz_continued_delivery_money" lay-verify="xz_continued_delivery_money" placeholder="¥" autocomplete="off" class="layui-input" value="{if $local_info.area_type == 3}{$local_info.continued_delivery_money}{/if}">
						</div>
					</div>

				</div>
			</div>

		</div>

	<div class="form-row">
		<button class="layui-btn" lay-submit lay-filter="save">保存</button>
	</div>
</div>

<!--<script type="text/javascript" src="{:get_http_type()}://webapi.amap.com/maps?v=1.4.15&amp;key=2df5711d4e2fd9ecd1622b5a53fc6b1d&plugin=AMap.CircleEditor,AMap.PolyEditor"></script>-->
<script src="https://map.qq.com/api/gljs?libraries=tools,service&v=1.exp&key={$tencent_map_key}"></script>
<script type="text/javascript" src="SHOP_JS/qq_local.js"></script>
<script type="text/html" id="area-html">
	<li key = '{{ d.key }}'>
		<div class="area-content">
			<label class="area-label">区域名称</label>
			<div class="area-input-inline">
				<input type="text" class="layui-input area-name" lay-verify="area_name" value="{{ d.area_name || '' }}">
			</div>

		</div>
		<div class="area-content">
			<label class="area-label">起送价</label>
			<div class="area-input-inline">
				<input type="number" class="layui-input start-price"  lay-verify="start_price" value="{{ d.start_price || '' }}">
			</div>

		</div>
		<div class="area-content region-view">
			<label class="area-label">配送费</label>
			<div class="area-input-inline">
				<input type="number" class="layui-input delivery-money"  lay-verify="delivery_money" value="{{ d.delivery_money || ''  }}">
			</div>
		</div>
		<div class="area-content">
			<label class="area-label">划分方式</label>
			<div class="area-input-inline layui-input-inline">
				<input type="radio" name="rule_type{{ d.key }}" class='rule-type' value="circle" title="半径"  lay-filter="huafen_type{{ d.key }}" {{#  if(d.rule_type == 'circle' || d.rule_type == undefined){ }} checked{{#  } }} />
				<input type="radio" name="rule_type{{ d.key }}" class='rule-type' value="polygon" title="自定义"  lay-filter="huafen_type{{ d.key }}" {{#  if(d.rule_type == 'polygon'){ }} checked{{#  } }}/>
			</div>
		</div>
		<div class="area-block-delete text-color" onclick="deleteArea('{{ d.key }}');">删除</div>
	</li>
</script>
<script>
var laytpl,form;
var init_key = 1;
var tencentMapKey = '{$tencent_map_key}';

{if empty($local_info.local_area_array)}
	var area_array = [
		{
			rule_type:'circle'
		}
	];

{else/}
	var area_array = JSON.parse('{:json_encode($local_info.local_area_array, JSON_UNESCAPED_UNICODE)}');
{/if}

	layui.use([ 'laydate', 'form', 'laytpl', 'formSelects'], function() {
		var laydate = layui.laydate;
		var formSelects = layui.formSelects;

		form = layui.form;
		laytpl = layui.laytpl;
		form.render();
		formSelects.render();

		function fetchTimeSelect(){
			$('.delivery-time .layui-form-item').each(function (index, item) {
				//时间选择器
				var startTime = $(item).find("input[name=start_time]").val(), endTime = $(item).find("input[name=end_time]").val(), initTime = parseInt({:strtotime(date('Y-m-d'))});
				laydate.render({
					elem: '#startTime' + (index ? index : '')
					,type: 'time'
					,value: startTime ? ns.time_to_date((initTime + parseInt(startTime)), 'h:m:s') : ''
					,done: function(value, date, endDate){
						var time = date.hours * 3600 + date.minutes * 60 + date.seconds;
						$(item).find("input[name=start_time]").val(time);
					}
				});
				//时间选择器
				laydate.render({
					elem: '#endTime' + (index ? index : '')
					,type: 'time'
					,value: startTime ? ns.time_to_date((initTime + parseInt(endTime)), 'h:m:s') : ''
					,done: function(value, date, endDate){
						var time = date.hours * 3600 + date.minutes * 60 + date.seconds;
						$(item).find("input[name=end_time]").val(time);
					}
				});
			})
		}
		fetchTimeSelect();

		$('body').off('click', '.delivery-time .delete').on('click', '.delivery-time .delete', function () {
			$(this).parents('.layui-form-item').remove()
		})

		$('body').off('click', '.delivery-time .add').on('click', '.delivery-time .add', function () {
			var length = $('.delivery-time .layui-form-item').length;
			if (length >= 3) { layer.msg('最多添加三个时段'); return;}
			var h = `<div class="layui-form-item" >
				<label class="layui-form-label"></label>
				<div class="layui-input-inline">
					<input type="text" class="layui-input" id="startTime`+ length +`" lay-verify="start_time" placeholder="配送开始时间" value="" readonly >
					<input type="hidden" class="layui-input" name="start_time" placeholder="配送开始时间" value="">
				</div>
				<div class="layui-form-mid layui-word-aux">~</div>
				<div class="layui-input-inline">
					<input type="text" class="layui-input" id="endTime`+ length +`" lay-verify="end_time" placeholder="配送结束时间" value="" readonly >
					<input type="hidden" class="layui-input" name="end_time" placeholder="配送结束时间" value="">
				</div>
				<div class="layui-form-mid layui-word-aux">
					<a href="javascript:;" class="text-color delete">删除</a>
				</div>
			</div>`;
			$('.delivery-time').append(h);
			fetchTimeSelect();
		})

		//开启定时达
		form.on('radio(time_is_open)', function(data){
			timeChange(data.value);
		});

		//运费优惠设置
		form.on('radio(man_type)', function(data){
			switchManType();
		});

		//开启定时达
		form.on('radio(time_type)', function(data){
			timeTypeChange(data.value);
		});
		//区域类型
		form.on('radio(area_type)', function(data){
			areaChange(data.value);
		});

		//启用阶梯价
		form.on('switch(is_open_step)', function(data){
			stepPriceChange(data.elem.checked ? 1 : 0);
		});

		form.on('radio(day_select)', function (data){
			if (data.value == 1) {
				$(data.elem).parents('.day-wrap').find('input[type="number"]').prop('readonly', false);
			} else {
				$(data.elem).parents('.day-wrap').find('input[type="number"]').prop('readonly', true);
			}
		})

		init();

		form.verify({
			start_time: function(value, item){
				if ($('[name="time_is_open"]:checked').val() == 1) {
					var end_time = $(item).parents('.layui-form-item').find("input[name=end_time]").val();
					var start_time = $(item).parents('.layui-form-item').find("input[name=start_time]").val();
					if (parseInt(start_time) > parseInt(end_time)) {
						return '配送开始时间不能大于配送结束时间';
					}
					var prev_endtime = $(item).parents('.layui-form-item').prev('.layui-form-item').find("input[name=end_time]").val();
					if (prev_endtime && parseInt(prev_endtime) > parseInt(start_time)) return '配送开始时间不能小于上一阶段配送结束时间';
				}
			},
			end_time: function(value, item){
				if ($('[name="time_is_open"]:checked').val() == 1) {
					var end_time = $(item).parents('.layui-form-item').find("input[name=end_time]").val();
					var start_time = $(item).parents('.layui-form-item').find("input[name=start_time]").val();
					var time_interval = $('[name="time_interval"]:checked').val();

					if (parseInt(end_time) < parseInt(start_time)) {
						return '配送结束时间不能小于配送开始时间';
					}
					if ((parseInt(end_time) - parseInt(start_time)) < parseInt(time_interval)) {
						return '配送时间间隔不能小于' + time_interval + '分钟';
					}
				}
			},
			time_week: function(){
				if ($('[name="time_is_open"]:checked').val() == 1 && $('[name="time_type"]:checked').val() == 1 && !$('.time-week:checked').length)
					return '请选择可配送日期';
			},
			advance_day: function (value){
				if ($('[name="advance_day"]:checked').val() == 1) {
					if (value == '' || value == 0) return '请输入提前预约时间';
					if (value < 0) return '提前预约时间不能为负数';
				}
			},
			most_day: function (value){
				if ($('[name="most_day"]:checked').val() == 1) {
					if (value == '' || value == 0) return '请输入最长可预约时间';
					if (value < 0) return '最长可预约时间不能为负数';
					if (value > 15) return '最长可预约时间不能超过15天';
				}
			},
			radius_start_distance: function(value, item){
				var area_type = $("input[name=area_type]:checked").val();
				if(area_type == 1 && value == ''){
					return '请填写配送区域相关信息';
				}
                if (area_type == 1 && parseFloat(value) <= 0) {
                    return '距离不能小于等于0';
                }
			},
			radius_start_delivery_money: function(value, item){
				var area_type = $("input[name=area_type]:checked").val();
				if(area_type == 1 && value == ''){
					return '请填写配送区域相关信息';
				}
			},
			radius_continued_distance: function(value, item){
				var area_type = $("input[name=area_type]:checked").val();
				if(area_type == 1 && value == ''){
					return '请填写配送区域相关信息';
				}
                if (area_type == 1 && parseFloat(value) <= 0) {
                    return '距离不能小于等于0';
                }
			},
			radius_continued_delivery_money: function(value, item){
				var area_type = $("input[name=area_type]:checked").val();
				if(area_type == 1 && value == ''){
					return '请填写配送区域相关信息';
				}

			},

			xz_start_distance: function(value, item){
				var area_type = $("input[name=area_type]:checked").val();
				var is_open_step = $("input[name=is_open_step]:checked").val();
				if(area_type == 3 && is_open_step == 1 && value == ''){
					return '请填写配送区域相关信息';
				}
			},
			xz_start_delivery_money: function(value, item){
				var area_type = $("input[name=area_type]:checked").val();
				var is_open_step = $("input[name=is_open_step]:checked").val();
				if(area_type == 3 && is_open_step == 1 && value == ''){
					return '请填写配送区域相关信息';
				}

			},
			xz_continued_distance: function(value, item){
				var area_type = $("input[name=area_type]:checked").val();
				var is_open_step = $("input[name=is_open_step]:checked").val();
				if(area_type == 3 && is_open_step == 1 && value == ''){
					return '请填写配送区域相关信息';

				}

			},
			xz_continued_delivery_money: function(value, item){
				var area_type = $("input[name=area_type]:checked").val();
				var is_open_step = $("input[name=is_open_step]:checked").val();
				if(area_type == 3 && is_open_step == 1 && value == ''){
					return '请填写配送区域相关信息';

				}

			},

			xz_start_money: function(value, item){
				var area_type = $("input[name=area_type]:checked").val();
				var is_open_step = $("input[name=is_open_step]:checked").val();
				if(area_type == 3 && value == ''){
					return '请填写配送区域相关信息';

				}

			},
			xz_delivery_money: function(value, item){
				var area_type = $("input[name=area_type]:checked").val();
				var is_open_step = $("input[name=is_open_step]:checked").val();
				if(area_type == 3 && is_open_step == 0 && value == ''){
					return '请填写配送区域相关信息';

				}

			},

			start_price: function(value, item){
				var area_type = $("input[name=area_type]:checked").val();
				if((area_type == 1 || area_type == 2) && value == ''){
					return '请填写配送区域相关信息';

				}

			},
			delivery_money: function(value, item){
				var area_type = $("input[name=area_type]:checked").val();

				if(area_type == 2 && value == ''){
					return '请填写配送区域相关信息';

				}

			},
			//配送区域
			area_name: function(value, item){
				var area_type = $("input[name=area_type]:checked").val();
				if((area_type == 1 || area_type == 2) && value == ''){
					return '请填写配送区域相关信息';

				}

			},
			district_id : function(value, item){
				var area_type = $("input[name=area_type]:checked").val();
				if(area_type == 3 && value == ''){
					return '请填写配送区域相关信息';
				}

			},
			man_discount: function(value, item){
				var man_type = $("[name=man_type]:checked").val();
				if(man_type == 'discount'){
					if(parseFloat(value) < 0){
						return '运费折扣不能小于0';
					}
				}

			},
			man_money: function(value, item){
				if(parseFloat(value) < 0){
					return '金额不能小于0';
				}
			},

		});

		var repeat_flag = false;
		//提交
		form.on('submit(save)', function(data) {

			if (repeat_flag) return false;
			repeat_flag = true;
			var transfer_type =$("input[name=type]:checked()");
			if(transfer_type.length <= 0){
				repeat_flag = false;
				layer.msg("请至少选择一种配送方式!");
				return
			}
			var field = data.field;
			var json = {};
			json.type = field.type;
			json.man_money = field.man_money;
			json.man_type = field.man_type;
			json.man_discount = field.man_discount;
			json.area_type = field.area_type;
			//是否开启定时达
			json.time_is_open = field.time_is_open;
			json.time_interval = $('[name="time_interval"]:checked').val();
			if(field.time_is_open){
				//时间类型
				json.time_type =  field.time_type;
				//自定义时间
				if(field.time_type == 1){
					var time_week = [];
					$('.time-week').each(function(){
						if($(this).prop('checked')){
							time_week.push($(this).val());
						}
					});
					json.time_week =  time_week.toString();

				}
			}

			json.delivery_time = [];
			$('.delivery-time .layui-form-item').each(function (index, item) {
				json.delivery_time.push({
					start_time: $(item).find("input[name=start_time]").val(),
					end_time: $(item).find("input[name=end_time]").val()
				})
			})

			json.start_time =  json.delivery_time[0].start_time;
			json.end_time =  json.delivery_time[0].end_time;

			json.delivery_time = JSON.stringify(json.delivery_time);
			json.advance_day = $('[name="advance_day"]:checked').val() == 0 ? 0 : $('[name="advance_day_num"]').val();
			json.most_day = $('[name="most_day"]:checked').val() == 0 ? 0 : $('[name="most_day_num"]').val();

			switch(field.area_type){
				case '1':
					json.start_distance = field.radius_start_distance;
					json.start_delivery_money = field.radius_start_delivery_money;
					json.continued_distance = field.radius_continued_distance;
					json.continued_delivery_money = field.radius_continued_delivery_money;
					var local_area_json = eachOverlayers(field.area_type);

					json.local_area_json = JSON.stringify(local_area_json);
					break;
				case '2':
					var local_area_json = eachOverlayers(field.area_type);
					json.local_area_json = JSON.stringify(local_area_json);
					break;
				case '3':
					//地址id
					var area_array = formSelects.value('select1', 'val').toString();
					json.area_array = area_array;
					json.start_money = field.xz_start_money;
					json.is_open_step = field.is_open_step;
					if(field.is_open_step){
						json.start_distance = field.xz_start_distance;
						json.start_delivery_money = field.xz_start_delivery_money;
						json.continued_distance = field.xz_continued_distance;
						json.continued_delivery_money = field.xz_continued_delivery_money;
					}else{
						json.delivery_money = field.xz_delivery_money;
					}
					break;
			}
			if(json.local_area_json == '[]'){
				repeat_flag = false;
				layer.msg('至少保留一个配送区域');
				return;
			}
			$.ajax({
				type: 'POST',
				dataType: 'JSON',
				url: ns.url("shop/local/local"),
				data: json,
				success: function(res) {
					layer.msg(res.message);
					repeat_flag = false;
				}
			});
		});

	});

	//删除区域
	function deleteArea(key){
		var parent = $('li[key='+key+']');
		parent.remove();
		removeOverlayers(key);
	}
	//遍历获取区域配置
	function eachOverlayers(area_type){
		var area_json = [];
		$('.region-list li').each(function(){
			var start_price = $(this).find('.start-price').val();
			var area_name = $(this).find('.area-name').val();
			var rule_type = $(this).find('.rule-type:checked').val();

			var key = $(this).attr('key');
			var path = getOverlayersPath(key, rule_type);
			var item_json = {
				start_price:start_price,
				area_name:area_name,
				rule_type:rule_type,
				path:path,
			};
			if(area_type == 2){
				var delivery_money = $(this).find('.delivery-money').val();
				item_json.delivery_money = delivery_money;
			}

			area_json.push(item_json);
		});
		return area_json;
	}

	$("body").off('click', '.region-list li').on('click', '.region-list li', function(){
		$('.region-list li').removeClass('border-color');

		$(this).addClass('border-color');
		// var rule_type = $(this).find('.rule_type:checked');
		var key = $(this).attr('key');
		//创建覆盖物
		foursOverlayers(key);
	});

	//初始化
	function init() {
		//是否启用定时达
		timeChange($("input[name=time_is_open]:checked").val());
		//是否启用定时达
		timeTypeChange($("input[name=time_type]:checked").val());

		setTimeout(function () {
			//初始化区域类型
			areaChange($("input[name=area_type]:checked").val());
			//初始化阶梯价
			stepPriceChange($("input[name=is_open_step]").prop('checked') ? 1 : 0);

			if ($("input[name=area_type]:checked").val() == 1) {
				initMap();
			}
		}, 200);
		form.render();
	}

	function initMap() {
		if(tencentMapKey == '') return;

		if ($('#container canvas').length) return;

		if ('{$shop_detail.latitude}' == "" || '{$shop_detail.longitude}' == "") {
			var latlng = {lat: '', lng: ''};
		} else {
			var latlng = {lat: '{$shop_detail.latitude}', lng: '{$shop_detail.longitude}'};
		}

		createMap('container', latlng);

		$.each(area_array, function (i, item) {
			addArea(item);
		});
	}

	function timeChange(is_open){
		$('.time-view').hide();
		if(is_open == 0){

		}else if(is_open == 1){
			$('.time-view').show();
		}
	}

	function manDiscount(){
		$('input[name="man_discount"]').val(Math.abs($('input[name="man_discount"]').val()));
	}
	switchManType(1);
	function switchManType(init = 0){
		let data = $('[name="man_type"]:checked').val();
		if(data == 'free'){
			$('.man_type .discount-txt-before').text('元,免邮费');
			$('.man_type .discount-txt-after, .man_type .man-discount').addClass('layui-hide');

		}else if(data == 'discount'){
			$('.man_type .discount-txt-after, .man_type .man-discount').removeClass('layui-hide');
			$('.man_type .discount-txt-before').text('元,运费优惠');
		}
		manDiscount();
	}
	function timeTypeChange(type){
		$('.time-type-view').hide();
		if(type == 0){

		}else if(type == 1){
			$('.time-type-view').show();
		}
	}

	function areaChange(area_type){
		$(".region-view").hide();
		$(".radius-view").hide();
		$(".administrative-view").hide();
		$(".map-block-view").hide();
		if(area_type== 1){
			$(".radius-view").show();
			$(".map-block-view").show();
			initMap();
		}else if(area_type == 2){
			$(".region-view").show();
			$(".map-block-view").show();
			initMap();
		}else if(area_type == 3){
			$(".administrative-view").show();
		}
	}

	function stepPriceChange(is_open){
		$(".administrative-region-view").hide();
		$(".administrative-radius-view").hide();
		if(is_open == 0){
			$(".administrative-region-view").show();
		}else if(is_open == 1){
			$(".administrative-radius-view").show();
		}
	}

	/**
	 * 创建配送区域
	 */
	function addArea(data){
		var temp_data = data != undefined ? data : [];
		var rule_type = temp_data.length == 0 ? 'circle' : data.rule_type;
		var key = init_key;
		temp_data['key'] = key;
		temp_data['rule_type'] = rule_type;
		var tpl = $("#area-html").html();
		laytpl(tpl).render(temp_data, function(html){
			$('.region-list li').removeClass('border-color');
			$('.region-list').append(html);
			$('.region-list li').last().addClass('border-color');
			form.render();

			form.on('radio(huafen_type'+key +')', function(data){
				var parent_obj = $(data.elem).parent().parent().parent();
				var rule_type = data.value;
				var key = parent_obj.attr('key');
				removeOverlayers(key);
				//创建覆盖物
				createOverlayers(rule_type, key);
			});
		});

		var path = data != undefined ? data.path : undefined;

		//创建覆盖物
		createOverlayers(rule_type, key, path);

		areaChange($("input[name=area_type]:checked").val());
		init_key++;

	}

/**
 * 创建覆盖物
 * @param type
 * @param key
 * @param path
 */
	function createOverlayers(type, key, path){
		switch(type){
			//多边形
			case 'polygon':{
				createPolygon(key, getRandomColor(), getRandomColor(), path);
				break;
			}
			//圆
			case 'circle':{
				createCircle(key, getRandomColor(), getRandomColor(), path);
				break;
			}
		}
	}

/**
 * 随机生成颜色
 * @returns {string}
 */
function getRandomColor(){
	return  '#' + (function(color){
		return (color +=  '0123456789abcdef'[Math.floor(Math.random()*16)])
		&& (color.length == 6) ?  color : arguments.callee(color);
	})('');
}

/**
 * 一天内的时间比较
 * @param start_time
 * @param end_time
 * @returns {boolean}
 * @constructor
 */
function compareDate(start_time, end_time)
{
	var date = new Date();
	var start_time_arr = start_time.split(":");
	var end_time_arr = end_time.split(":");
	return date.setHours(end_time_arr[0],end_time_arr[1],end_time_arr[2]) > date.setHours(start_time_arr[0],start_time_arr[1],start_time_arr[2]);
}
</script>
金穗农资
captcha