Files
duolamaojiazhen/application/admin/view/order/eidt.html
2026-01-30 18:48:13 +08:00

614 lines
30 KiB
HTML
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
{layout name="layout2" /}
<link rel="stylesheet" href="/static/admin/css/goods.css" media="all">
<div class="">
<div class="layui-tab-content layui-form">
<div class="layui-tab-item goods-content layui-show">
<div class="layui-card-body" pad15>
<div lay-filter="">
<div class="layui-form-item">
<label class="layui-form-label"><span class="form-label-asterisk">*</span>客户名称:</label>
<input type="hidden" id="id" name="id">
<div class="layui-input-block">
<input type="text" name="name" lay-verify="custom_required" lay-verType="tips"
autocomplete="off"
switch-tab="0" verify-msg="请输入用户的姓名" placeholder="请输入用户名称"
class="layui-input" >
</div>
</div>
<div class="layui-form-item">
<label class="layui-form-label">用户电话:</label>
<div class="layui-input-block">
<input type="text" name="phone" lay-verType="tips" verify-msg="请输入用户电话号码" placeholder="请输入用户联系电话" autocomplete="off" switch-tab="0" class="layui-input" readonly="readonly">
</div>
</div>
<div class="layui-form-item">
<label class="layui-form-label">支付状态:</label>
<div class="layui-input-block">
<input type="radio" name="pay_status" value="0" title="已收款" >
<input type="radio" name="pay_status" value="1" title="应收款">
</div>
</div>
<div class="layui-form-item">
<label class="layui-form-label" style="margin-top: 10px;">收款渠道:</label>
<div class="layui-col-sm4" style="width: 80%; margin-top: 10px;">
<select name="gord_id" lay-verType="tips" switch-tab="0" verify-msg="请选择渠道来源">
<option value="">请选择选择付款</option>
</select>
</div>
</div>
<div class="layui-form-item">
<label class="layui-form-label" style="margin-top: 10px;">渠道来源:</label>
<div class="layui-col-sm4" style="width: 80%; margin-top: 10px;">
<select name="brand_id" lay-verType="tips" switch-tab="0" verify-msg="请选择渠道来源">
<option value="">请选择渠道来源</option>
</select>
</div>
</div>
<div class="layui-form-item">
<label class="layui-form-label"><span class="form-label-asterisk">*</span>房屋地址:</label>
<div class="layui-input-inline">
<select name="first_category_id" lay-filter="first_category" lay-verify="custom_required"
lay-verType="tips" switch-tab="0" verify-msg="请选择地区">
<option value="">请选择地区</option>
</select>
</div>
<div class="layui-input-inline">
<select name="second_category_id" lay-filter="second_category" lay-verify="custom_required"
lay-verType="tips" switch-tab="0" verify-msg="请选择地区">
<option value="">请选择地区</option>
</select>
</div>
<div class="layui-input-inline">
<select name="third_category_id" lay-filter="third_category" lay-verify="custom_required"
lay-verType="tips" switch-tab="0" verify-msg="请选择地区">
<option value="">请选择地区</option>
</select>
</div>
</div>
<div class="layui-form-item">
<label class="layui-form-label">订单单价:</label>
<div class="layui-input-block">
<input type="text" name="total_amount" lay-verType="tips" autocomplete="off" switch-tab="0" class="layui-input">
</div>
</div>
<div class="layui-form-item">
<label class="layui-form-label">联系地址:</label>
<div class="layui-input-block">
<input type="text" name="address" id="demo1" lay-verType="tips" autocomplete="off" switch-tab="0" class="layui-input">
</div>
</div>
<div class="layui-form-item">
<label class="layui-form-label">位置精度:</label>
<div class="layui-input-inline" style="width: 20%;">
<input type="text" name="store_longitude" class="layui-input" placeholder="请输入经度" value="" id="lon" lay-filter="lon" >
</div>
<label class="layui-form-label">位置维度:</label>
<div class="layui-input-inline" style="width: 20%;">
<input type="text" name="store_latitude" class="layui-input" placeholder="请输入经度" value="" id="lat" lay-filter="lat" >
</div>
</div>
<div id="tMap" class="layui-hide" style="padding: 10px;margin-left: 3%; width: 100%;">
<div class="layui-form layuimini-form">
<div class="layui-form-item">
<div class="layui-input-inline">
<input type="text" name="search_key" id="search_key" class="layui-input" placeholder="请输入地名" >
</div>
<button class="layui-btn layui-btn-normal layui-btn-sm searchKey" >查询</button>
</div>
</div>
<div id="maplocation" style="width:1080px;height:400px;"></div>
</div>
<style>
body .layui-ext-yourskin .layui-layer-btn0{
border: 1px solid #dedede;
background-color:#fff;
color: #333;
}
body .layui-ext-yourskin .layui-layer-btn1{
background-color:#1E9FFF;
border-color:#1E9FFF;
color: #fff;
}
</style>
</div>
</div>
</div>
<div class="layui-form-item layui-hide">
<input type="button" lay-submit lay-filter="adjust_user-submit" id="adjust_user-submit" value="确认">
</div>
</div>
</div>
<script charset="utf-8" src="https://map.qq.com/api/gljs?v=1.exp&libraries=service&key=EVOBZ-VX7YU-QKJVR-BVESA-AVFT3-7JBWG"></script>
<!--<script charset="utf-8" src="https://map.qq.com/api/js?v=2.exp&key=EVOBZ-VX7YU-QKJVR-BVESA-AVFT3-7JBWG&libraries=drawing,geometry,place,convertor,visualization"></script>-->
<script type="text/javascript">
//注意:选项卡 依赖 element 模块,否则无法进行功能性操作
var dragstart = 0;
var swop_element_ed = -1;
var create_table_by_spec = null;
var spec_table_data = [];
var spec_value_temp_id_number = 0;
var geocoder = null
var lat_lng = null
var map = null
layui.config({
version:"{$front_version}",
base: '/static/plug/layui-admin/dist/layuiadmin/' //静态资源所在路径
}).extend({
index: 'lib/index' //主入口模块
}).use(['index', 'element', 'jquery', 'like', 'likeedit'], function () {
var $ = layui.$;
var like = layui.like;
var form = layui.form;
var likeedit = layui.likeedit;
$('.first_ratio').bind('input propertychange', function() {
var that = $(this);
var value = that.val();
format(that,value)
});
$(document).on('click','#lon',function(){
if(!$("#demo1").val()){
layer.msg('请先填写客户所在地址', { icon: 5, anim: 6 });
return false;
}
var markers = [];
function addMarker(latlng){
markers.updateGeometries([
{
id: 'main',
position: latlng, // 将得到的坐标位置用点标记标注在地图上
},
]);
}
$("#tMap").removeClass('layui-hide');
layer.open({
type:1,
area:["800px","600px"],
title:"地图标识",
btn: ['取消','确定'],
skin: 'layui-ext-yourskin',
content:layui.jquery('#tMap'),
success:function(){
if(!map){
map = new TMap.Map('maplocation', {
zoom: 14,
center: new TMap.LatLng(39.986785, 116.301012),
});
markers = new TMap.MultiMarker({
map: map,
geometries: [],
});
map.on('click', function(event) {
lat_lng = event.latLng
addMarker(event.latLng);
});
geocoder = new TMap.service.Geocoder();
searchService = {
search:function(name){
geocoder.getLocation({ address:name })
.then((result) => {
console.log(result,999)
lat_lng = result.result.location
addMarker( result.result.location)
// markers.updateGeometries([
// {
// id: 'main',
// position: result.result.location, // 将得到的坐标位置用点标记标注在地图上
// },
// ]);
map.setCenter(result.result.location);
$('#lon').val(result.result.location.lng)
$('#lat').val(result.result.location.lat)
// 显示坐标数值
});
}
}
}
} ,
yes: function(index, layero){
console.log(lat_lng,99)
//do something
layer.close(index); //如果设定了yes回调需进行手工关闭
},
btn2:function(index){
layer.close(index)
console.log(lat_lng,88)
if(lat_lng){
$('#lon').val(lat_lng.lng)
$('#lat').val(lat_lng.lat)
}
},
cancel: function(index, layero){
//if(confirm('确定要关闭么')){ //只有当点击confirm框的确定时该层才会关闭
document.getElementById("tMap").style.display="none";//通过设置display属性可以使div隐藏后释放占用的页面空间
layer.close(index)
// }
return false;
} //这里content是一个普通的String
});
$(document).on('click','.searchKey',function(){
var search_key=$("#search_key").val();
var search_key=$("#search_key").val();
searchService.search(search_key);
// searchService.setLocation(search_key);
// searchService.search(search_key);
})
});
//渲染品牌
var brands = {$brand_lists | raw};
setBrand();
function setBrand(default_id) {
var brand_select_html = '<option value="">请选择渠道来源</option>';
for (var i in brands) {
brand_select_html += '<option value="' + brands[i]['id'] + '">' + brands[i]['name'] + '</option>';
}
$('select[name="brand_id"]').html(brand_select_html);
$('select[name="brand_id"]').val(default_id);
form.render('select');
}
//渲染收款渠道
var gord = {$gord_id | raw};
setBrandss();
function setBrandss(default_id) {
var gord_select_html = '<option value="">请选择收款渠道</option>';
for (var i in gord) {
gord_select_html += '<option value="' + gord[i]['id'] + '">' + gord[i]['cqname'] + '</option>';
}
$('select[name="gord_id"]').html(gord_select_html);
$('select[name="gord_id"]').val(default_id);
form.render('select');
}
//地区分类
var categorys = {$category_lists | raw};
setSelectFirst();
function setSelectFirst(default_id) {
console.log('setSelectFirst 被调用default_id:', default_id);
var category_select_html = '<option value="">请选择分类</option>';
var foundMatch = false;
for (var i in categorys) {
if (categorys[i]['level'] == 1) {
var selected = '';
if (default_id && String(categorys[i]['id']) == String(default_id)) {
selected = ' selected';
foundMatch = true;
console.log('找到匹配的省份:', categorys[i]['name'], 'ID:', categorys[i]['id']);
}
category_select_html += '<option value="' + categorys[i]['id'] + '"' + selected + '>' + categorys[i]['name'] + '</option>';
}
}
$('select[name="first_category_id"]').html(category_select_html);
if (default_id) {
$('select[name="first_category_id"]').val(String(default_id));
console.log('设置省份值:', String(default_id), '是否找到匹配:', foundMatch);
}
form.render('select');
}
function setSelectSecond(default_id, parent_id) {
console.log('setSelectSecond 被调用default_id:', default_id, 'parent_id:', parent_id);
parent_id = parent_id === undefined ? $('select[name="first_category_id"]').val() : parent_id;
if (!parent_id) {
console.log('setSelectSecond: parent_id 为空,返回');
return;
}
parent_id = String(parent_id);
$('select[name="second_category_id"]').html('<option value="">请选择分类</option>');
$('select[name="third_category_id"]').html('<option value="">请选择分类</option>');
var category_select_html = '<option value="">请选择分类</option>';
var foundMatch = false;
for (var i in categorys) {
if (String(categorys[i]['parent_id']) == parent_id) {
var selected = '';
if (default_id && String(categorys[i]['id']) == String(default_id)) {
selected = ' selected';
foundMatch = true;
console.log('找到匹配的城市:', categorys[i]['name'], 'ID:', categorys[i]['id']);
}
category_select_html += '<option value="' + categorys[i]['id'] + '"' + selected + '>' + categorys[i]['name'] + '</option>';
}
}
$('select[name="second_category_id"]').html(category_select_html);
if (default_id) {
$('select[name="second_category_id"]').val(String(default_id));
console.log('设置城市值:', String(default_id), '是否找到匹配:', foundMatch);
}
form.render('select');
}
function setSelectThird(default_id, parent_id) {
console.log('setSelectThird 被调用default_id:', default_id, 'parent_id:', parent_id);
parent_id = parent_id === undefined ? $('select[name="second_category_id"]').val() : parent_id;
if (!parent_id) {
console.log('setSelectThird: parent_id 为空,返回');
return;
}
parent_id = String(parent_id);
$('select[name="third_category_id"]').html('<option value="">请选择分类</option>');
var category_select_html = '<option value="">请选择分类</option>';
var foundMatch = false;
for (var i in categorys) {
if (String(categorys[i]['parent_id']) == parent_id) {
var selected = '';
if (default_id && String(categorys[i]['id']) == String(default_id)) {
selected = ' selected';
foundMatch = true;
console.log('找到匹配的区县:', categorys[i]['name'], 'ID:', categorys[i]['id']);
}
category_select_html += '<option value="' + categorys[i]['id'] + '"' + selected + '>' + categorys[i]['name'] + '</option>';
}
}
$('select[name="third_category_id"]').html(category_select_html);
if (default_id) {
$('select[name="third_category_id"]').val(String(default_id));
console.log('设置区县值:', String(default_id), '是否找到匹配:', foundMatch);
}
form.render('select');
}
form.on('select(first_category)', function (data) {
setSelectSecond('', data.value);
});
form.on('select(second_category)', function (data) {
setSelectThird('', data.value);
});
//------------------------价格库存----------------------------------
//显示或隐藏规格项删除按钮
$(document).on('mouseenter', '.goods-spec-value', function () {
$(this).find('.goods-spec-value-del-x').show();
});
$(document).on('mouseleave', '.goods-spec-value', function () {
$(this).find('.goods-spec-value-del-x').hide();
});
//多规格图片
like.imageUpload('.goods-spec-img-add', function (uris, element) {
if(uris.length>1){
layer.msg('最多最能选中1张图片');
return;
}
element.hide();
var key = element.parent().parent().parent().attr('spec-value-temp-ids');
spec_table_data["spec_image[]"+key] = uris[0];//保存图片地址
$(element).parent().html('<input name="spec_image[]" type="hidden" value="' + like.getUrlFileName(uris[0], '{$storageUrl}') + '"><a class="goods-spec-img-del-x">x</a><img class="goods-spec-img" src="' + uris[0] + '">');
});
$(document).on('mouseenter', '.goods-spec-img-div', function () {
$(this).find('.goods-spec-img-del-x').show();
});
$(document).on('mouseleave', '.goods-spec-img-div', function () {
$(this).find('.goods-spec-img-del-x').hide();
});
$(document).on('click', '.goods-spec-img-del-x', function () {
var key = 'spec_image[]' + $(this).parent().parent().parent().attr('spec-value-temp-ids');
$(this).parent().html('<input type="hidden" name="spec_image[]"><img src="/static/common/image/plug/goods-lists-add-image.png" class="goods-spec-img-add">');
spec_table_data[key] = '';
});
$(document).on('click', '.goods-spec-img', function () {
like.showImg($(this).attr('src'),600);
});
//规格生成表格
createTableBySepc = function () {
if ($('.goods-spec').size() <= 0) {
$('#more-spec-lists').hide();
return;
}
$('#more-spec-lists').show();
var table_title = [];
var table_data = [];
var spec_value_temp_arr = [];
var i = 0;
var th_html = $('#template-spec-table-th').html();
var tr_html = $('#template-spec-table-tr').html();
//遍历规格项目
$('.goods-spec').each(function () {
var spec_name = $(this).find('.spec_name').first().val();
if (isEmptyString(spec_name)) {
return true;
}
table_title[i] = spec_name;
table_data[i] = [];
spec_value_temp_arr[i] = [];
var j = 0;
$(this).find('.goods-spec-value .goods-spec-value-input').each(function () {
var spec_value = $(this).val();
var spec_value_temp_id = $(this).attr('spec-value-temp-id');
if (isEmptyString(spec_value)) {
return true;
}
table_data[i][j] = spec_value;
spec_value_temp_arr[i][j] = spec_value_temp_id;
j++;
});
i++;
});
table_html = '';
//表格头部组装
spec_th_html = '';
for (var i in table_title) {
spec_th_html += '<th>' + table_title[i] + '</th>';
}
table_html = th_html.replace('{spec_th}', spec_th_html);
spec_value_temp_arr = cartesianProduct(spec_value_temp_arr);
table_data = cartesianProduct(table_data);
for (var i in table_data) {
var spec_tr_html = '';
var tr_name_arr = [];
var specs = '';
if (Array.isArray(table_data[i])) {
//根据规格创建tr的id
var spec_value_temp_ids = '';
for(var j in spec_value_temp_arr[i]){
spec_value_temp_ids += spec_value_temp_arr[i][j]+',';
}
spec_value_temp_ids = spec_value_temp_ids.substring(0, spec_value_temp_ids.lastIndexOf(','));
spec_tr_html += '<tr spec-value-temp-ids="'+spec_value_temp_ids+'">';
for (var j in table_data[i]) {
spec_tr_html += '<td>' + table_data[i][j] + '</td>';
tr_name_arr[j] = table_data[i][j];
specs += table_data[i][j].replace(',', '') + ',';
}
} else {
var spec_value_temp_ids = spec_value_temp_arr[i];
spec_tr_html = '<tr spec-value-temp-ids="'+spec_value_temp_ids+'">';
spec_tr_html += '<td>' + table_data[i] + '</td>';
specs += table_data[i].replace(',', '') + ',';
}
specs = specs.substring(0, specs.lastIndexOf(','));
spec_table_data["spec_value_str[]"+spec_value_temp_ids] = specs;
spec_tr_html += '<td style="display: none"><input type="hidden" name="spec_value_str[]" value="' + specs + '"><input type="hidden" name="item_id[]" value=""></td>';
table_html += tr_html.replace('{spec_td}', spec_tr_html);
}
$('#more-spec-lists-table').html(table_html);
setTableValue();
}
{notempty name='info'}
var goods_info= {$info|raw|default=''};
console.log('订单数据:', goods_info);
$('input[name="id"]').val(goods_info['id']);
$('input[name="address"]').val(goods_info['address']);
$('input[name="total_amount"]').val(goods_info['total_amount']);
$('input[name="name"]').val(goods_info['consignee']);
$('input[name="phone"]').val(goods_info['mobile']);
$('input[name="store_latitude"]').val(goods_info['lng']);
$('input[name="store_longitude"]').val(goods_info['lat']);
// 设置地区选择器,根据返回的 province、city、district 字段
// 注意需要检查值是否存在包括0的情况0是有效的ID值
var province_id = '';
var city_id = '';
var district_id = '';
// 检查province字段包括0值
if (goods_info['province'] !== undefined && goods_info['province'] !== null && goods_info['province'] !== '') {
province_id = goods_info['province'];
}
// 检查city字段包括0值
if (goods_info['city'] !== undefined && goods_info['city'] !== null && goods_info['city'] !== '') {
city_id = goods_info['city'];
}
// 检查district字段包括0值
if (goods_info['district'] !== undefined && goods_info['district'] !== null && goods_info['district'] !== '') {
district_id = goods_info['district'];
}
console.log('地区数据:', {
province: goods_info['province'],
city: goods_info['city'],
district: goods_info['district'],
province_id: province_id,
city_id: city_id,
district_id: district_id
});
// 初始化地区选择器的函数
function initRegionSelectors() {
if (province_id !== '') {
// 转换为字符串,确保类型匹配
province_id = String(province_id);
// 先设置省份
setSelectFirst(province_id);
// 等待省份选择器渲染完成后再设置城市
setTimeout(function() {
// 验证省份值是否设置成功
var selectedProvince = $('select[name="first_category_id"]').val();
console.log('已选省份ID:', selectedProvince, '期望:', province_id);
if (city_id !== '' && selectedProvince == province_id) {
city_id = String(city_id);
setSelectSecond(city_id, province_id);
// 等待城市选择器渲染完成后再设置区县
setTimeout(function() {
// 验证城市值是否设置成功
var selectedCity = $('select[name="second_category_id"]').val();
console.log('已选城市ID:', selectedCity, '期望:', city_id);
if (district_id !== '' && selectedCity == city_id) {
district_id = String(district_id);
setSelectThird(district_id, city_id);
setTimeout(function() {
var selectedDistrict = $('select[name="third_category_id"]').val();
console.log('已选区县ID:', selectedDistrict, '期望:', district_id);
// 最后重新渲染一次,确保所有选择器都正确显示
form.render('select');
}, 100);
} else {
form.render('select');
}
}, 300);
} else {
form.render('select');
}
}, 300);
} else {
form.render('select');
}
}
// 延迟执行,确保页面完全加载和选择器初始化完成
setTimeout(function() {
console.log('开始初始化地区选择器...');
initRegionSelectors();
}, 200);
setBrand(goods_info['channel_id']); //部门的修改
setBrandss(goods_info['gord_id']); //部门的修改
$('input[name="areas"]').val(goods_info['areas']);
$("input[name=pay_status][value="+goods_info['pay_zd']+"]").prop("checked",true);
form.render();
{/notempty}
//------------------------编辑页面----------------------------------
});
</script>