第二期基本完成

master
wangjiuyun 2025-05-19 17:27:44 +08:00
parent a8ae726103
commit 94843d2d9d
8 changed files with 312 additions and 201 deletions

View File

@ -142,8 +142,6 @@
<div class="row">
<input id="uploadInput" type="file" accept=".xls,.xlsx" style="display: none">
<div class="col-xs-12">
<!-- <button type="button" class="btn btn-white btn-sm" onclick="addRow()"><i class="fa fa-plus"> 增加</i></button>-->
<button type="button" class="btn btn-white btn-sm" onclick="sub.delRow()"><i class="fa fa-minus"> 删除</i></button>
<button type="button" class="btn btn-white btn-sm" onclick="downloadTem()"><i class="fa fa-download"> 下载模板</i></button>
<button type="button" class="btn btn-white btn-sm" onclick="importList()"><i class="fa fa-upload"> 导入</i></button>
<div class="col-sm-12 select-table table-striped">
@ -198,16 +196,25 @@
align: 'center',
title: 'BOM编码',
formatter: function(value, row, index) {
var html = $.common.sprintf("<input class='form-control' type='text' name='orderListList[%s].productCode' value='%s'>", index, value);
var html = $.common.sprintf("<input readonly class='form-control' type='text' name='orderListList[%s].productCode' value='%s'>", index, value);
return html;
}
},
{
field: 'productName',
align: 'center',
title: '产品名称',
formatter: function(value, row, index) {
var html = $.common.sprintf("<p class='form-control-static'>%s</p>", value);
return html;
}
},
{
field: 'quantity',
align: 'center',
title: '数量',
formatter: function(value, row, index) {
var html = $.common.sprintf("<input disabled class='form-control' type='number' name='orderListList[%s].quantity' value='%s'>", index, value);
var html = $.common.sprintf("<input readonly class='form-control quantity' type='number' name='orderListList[%s].quantity' value='%s'>", index, value);
return html;
}
},
@ -216,25 +223,26 @@
align: 'center',
title: '单价',
formatter: function(value, row, index) {
var html = $.common.sprintf("<input disabled class='form-control' type='number' name='orderListList[%s].price' value='%s'>", index, value);
var html = $.common.sprintf("<input readonly class='form-control price' type='number' name='orderListList[%s].price' value='%s'>", index, value);
return html;
}
},
{
field: 'discount',
align: 'center',
title: '折扣',
formatter: function(value, row, index) {
var html = $.common.sprintf("<input class='form-control' type='number' name='orderListList[%s].price' value='%s'>", index, value);
field: 'discount',
align: 'center',
title: '折扣',
width:60,
formatter: function(value, row, index) {
var html = $.common.sprintf("<input class='form-control discount' type='number' name='orderListList[%s].discount' value='%s' step='0.1' max='1' min='0'>", index, value);
return html;
}
}
},
{
field: 'amount',
align: 'center',
title: '总价',
formatter: function(value, row, index) {
var html = $.common.sprintf("<input disabled class='form-control' type='number' name='orderListList[%s].amount' value='%s'>", index, value);
var html = $.common.sprintf("<input readonly class='form-control amount' type='number' name='orderListList[%s].amount' value='%s'>", index, value);
return html;
}
},
@ -258,21 +266,23 @@
};
$.table.init(options);
});
function addRow() {
function addRow(row) {
var count = $("#" + table.options.id).bootstrapTable('getData').length;
var row = {
index: $.table.serialNumber(count),
productId: "",
productCode: "",
quantity: "",
price: "",
amount: "",
remark: "",
createdAt: "",
updatedAt: "",
deletedAt: "",
productId: row.productId,
productCode: row.productCode,
quantity: row.quantity,
price: row.price,
amount: row.amount,
remark: row.remark,
createdAt: row.createdAt,
updatedAt: row.updatedAt,
deletedAt: row.deletedAt,
discount: row.discount,
}
sub.addRow(row);
}
function selectCustomer(){
var url = prefix+"/customer";
@ -294,6 +304,16 @@
};
$.modal.openOptions(options);
}
function selectPartner() {
var url = prefix+"/partner";
var options = {
title: '选择代理商',
width: "680",
url: url,
callBack: doSubmitPartner
};
$.modal.openOptions(options);
}
function doSubmitCustomer(index, layero){
var rows = layero.find("iframe")[0].contentWindow.getSelections();
if (rows.length == 0) {
@ -316,16 +336,6 @@
$('[name="orderAgentCode"]').val(rows[0].agentCode);
$.modal.close(index);
}
function selectPartner() {
var url = prefix+"/partner";
var options = {
title: '选择代理商',
width: "680",
url: url,
callBack: doSubmitPartner
};
$.modal.openOptions(options);
}
function doSubmitPartner(index, layero){
var rows = layero.find("iframe")[0].contentWindow.getSelections();
if (rows.length == 0) {
@ -351,21 +361,29 @@
$.modal.closeLoading();
})
} document.getElementById('uploadInput').addEventListener('change', function(event) {
}
document.getElementById('uploadInput').addEventListener('change', function(event) {
const file = event.target.files[0];
let data=new FormData()
data.append('file',file)
data.append('orderId',$('#bootstrap-table').attr('deliveryid'))
var xhr = new XMLHttpRequest(); // 创建XMLHttpRequest对象
xhr.open('POST',prefix+'/list/importData', true); // 设置请求类型和URL
xhr.open('POST',prefix+'/list/readData', true); // 设置请求类型和URL
// 当请求完成时执行的回调函数
xhr.onload = function (res) {
let data=JSON.parse(res.currentTarget.response)
if (data.code === 0) {
$.modal.msgSuccess('导入成功');
$.table.refresh();
data.data.forEach((row)=>{
addRow(row)
})
$('.discount').on('change',function (){
changeTotal($(this))
})
$('.discount').on('focus',function(){
$(this).blur()
})
} else {
$.modal.msgError(data.msg||'导入失败');
}
@ -383,6 +401,14 @@
});
function changeTotal(ele){
let price= Number($(ele).parent().parent().find('.price').val())||0
let quantity=Number($(ele).parent().parent().find('.quantity').val())||0
let discount=$(ele).val()||0
let res= Number((price*quantity*discount).toFixed(2))
$(ele).parent().parent().find('.amount').val(res)
}
</script>
</body>
</html>

View File

@ -7,6 +7,9 @@
.hideTd{
display: none;
}
.customerBox div{
padding-left: 25px !important;
}
</style>
</head>
<body class="white-bg">
@ -58,11 +61,10 @@
</div>
<div class="col-xs-6">
<div class="form-group">
<label class="col-sm-4 control-label is-required">代表处:</label>
<label class="col-sm-4 control-label is-required">代表处编码</label>
<div class="col-sm-8">
<div class="input-group">
<input name="orderAgentCode" type="hidden" th:field="*{orderAgentCode}" id="treeId"/>
<input class="form-control" type="text" name="orderAgentName" onclick="selectAgent()" id="treeName" th:field="*{orderAgentName}" required>
<input class="form-control" name="orderAgentCode" th:field="*{orderAgentCode}" onclick="selectAgent()" required/>
<span class="input-group-addon"><i class="fa fa-search"></i></span>
</div>
</div>
@ -70,12 +72,10 @@
</div>
<div class="col-xs-6">
<div class="form-group">
<label class="col-sm-4 control-label is-required">代理商:</label>
<label class="col-sm-4 control-label is-required">代理商编码</label>
<div class="col-sm-8">
<div class="input-group">
<input name="orderPartnerCode" type="hidden" th:field="*{orderPartnerCode}" id="treeId1">
<input class="form-control" type="text" name="orderPartnerName" onclick="selectPartner()" id="treeName1" th:field="*{orderPartnerName}" required>
<span class="input-group-addon"><i class="fa fa-search"></i></span>
<input class="form-control" name="orderPartnerCode" th:field="*{orderPartnerCode}" onclick="selectPartner()" required><span class="input-group-addon"><i class="fa fa-search"></i></span>
</div>
</div>
</div>
@ -104,8 +104,8 @@
<div class="col-sm-4 customerBox">
<div class="col-sm-12 is-required">客户编码:</div>
<div class="col-sm-12 input-group" style="display: flex">
<input name="customerCode" class="form-control" type="text" required style="width: 70% !important" onclick="selectCustomer()">
<span class="input-group-addon" th:field="*{customerCode}" style="width: 40px !important;"><i class="fa fa-search"></i></span>
<input name="customerCode" th:field="*{customerCode}" class="form-control" type="text" required style="width: 70% !important" onclick="selectCustomer()">
<span class="input-group-addon" style="width: 40px !important;"><i class="fa fa-search"></i></span>
</div>
</div>
<div class="col-sm-4 customerBox">
@ -136,10 +136,11 @@
</div>
<h4 class="form-header h4">合同清单列表</h4>
<input id="uploadInput" type="file" accept=".xls,.xlsx" style="display: none">
<div class="row">
<div class="col-sm-12 select-table table-striped">
<button type="button" class="btn btn-white btn-sm" onclick="sub.delRow()"><i class="fa fa-minus"> 删除</i></button>
<button type="button" class="btn btn-white btn-sm" onclick="downloadTem()"><i class="fa fa-download"> 下载模板</i></button>
<button type="button" class="btn btn-white btn-sm" onclick="downloadTem()"><i class="fa fa-download"> 下载模板</i></button>
<button type="button" class="btn btn-white btn-sm" onclick="importList()"><i class="fa fa-upload"> 导入</i></button>
<table id="bootstrap-table"></table>
@ -160,43 +161,7 @@
$.operate.save(prefix + "/edit", $('#form-order-edit').serialize());
}
}
function selectDeptTree() {
var deptId = $.common.isEmpty($("#treeId").val()) ? "100" : $("#treeId").val();
console.log(deptId)
var url = ctx + "system/user/selectDeptTree/" + deptId;
var options = {
title: '选择部门',
width: "380",
url: url,
callBack: doSubmit
};
$.modal.openOptions(options);
}
function doSubmit(index, layero){
var body = $.modal.getChildFrame(index);
$("#treeId").val(body.find('#treeId').val());
$("#treeName").val(body.find('#treeName').val());
$.modal.close(index);
}
function selectDeptTreePartner() {
var deptId = $.common.isEmpty($("#treeId1").val()) ? "100" : $("#treeId1").val();
console.log(deptId)
var url = ctx + "system/user/selectDeptTree/" + deptId;
var options = {
title: '选择部门',
width: "380",
url: url,
callBack: doSubmitPartner
};
$.modal.openOptions(options);
}
function doSubmitPartner(index, layero){
var body = $.modal.getChildFrame(index);
$("#treeId1").val(body.find('#treeId').val());
$("#treeName1").val(body.find('#treeName').val());
$.modal.close(index);
}
$("input[name='orderDate']").datetimepicker({
$("input[name='orderDate']").datetimepicker({
format: "yyyy-mm-dd",
minView: "month",
autoclose: true
@ -221,6 +186,17 @@
};
$.modal.openOptions(options);
}
function selectPartner() {
var url = prefix+"/partner";
var options = {
title: '选择代理商',
width: "680",
url: url,
callBack: doSubmitPartner
};
$.modal.openOptions(options);
}
function doSubmitCustomer(index, layero){
var rows = layero.find("iframe")[0].contentWindow.getSelections();
if (rows.length == 0) {
@ -243,16 +219,6 @@
$('[name="orderAgentCode"]').val(rows[0].agentCode);
$.modal.close(index);
}
function selectPartner() {
var url = prefix+"/partner";
var options = {
title: '选择代理商',
width: "680",
url: url,
callBack: doSubmitPartner
};
$.modal.openOptions(options);
}
function doSubmitPartner(index, layero){
var rows = layero.find("iframe")[0].contentWindow.getSelections();
if (rows.length == 0) {
@ -260,6 +226,9 @@
return;
}
$('[name="orderPartnerCode"]').val(rows[0].partnerCode);
$.modal.close(index);
}
function importList(){
@ -269,15 +238,22 @@
const file = event.target.files[0];
let data=new FormData()
data.append('file',file)
data.append('deliveryId',$('#bootstrap-table').attr('deliveryid'))
data.append('orderId',$('[name="id"]').val())
var xhr = new XMLHttpRequest(); // 创建XMLHttpRequest对象
xhr.open('POST',prefix+'/importData', true); // 设置请求类型和URL
xhr.open('POST',prefix+'/list/importData', true); // 设置请求类型和URL
// 当请求完成时执行的回调函数
xhr.onload = function (res) {
let data=JSON.parse(res.currentTarget.response)
if (data.code === 0) {
$.modal.msgSuccess('导入成功');
$.table.refresh();
$('.discount').on('change',function (){
changeTotal($(this))
})
$('.discount').on('focus',function(){
$(this).blur()
})
} else {
$.modal.msgError(data.msg||'导入失败');
@ -294,7 +270,6 @@
// // 发送数据到服务器
xhr.send(data);
});
@ -333,7 +308,7 @@
align: 'center',
title: 'BOM编码',
formatter: function(value, row, index) {
var html = $.common.sprintf("<p class='form-control-static'>%s</p>", value);
var html = $.common.sprintf("<p ='' class='form-control-static'>%s</p>", value);
return html;
}
},
@ -352,16 +327,25 @@
align: 'center',
title: '数量',
formatter: function(value, row, index) {
var html = $.common.sprintf("<input class='form-control' type='text' name='orderListList[%s].quantity' value='%s'>", index, value);
var html = $.common.sprintf("<input readonly class='form-control quantity' type='text' name='orderListList[%s].quantity' value='%s'>", index, value);
return html;
}
},
{
field: 'price',
align: 'center',
title: '单价',
formatter: function(value, row, index) {
var html = $.common.sprintf("<input readonly class='form-control price' type='text' name='orderListList[%s].price' value='%s'>", index, value);
return html;
}
},
{
field: 'discount',
align: 'center',
title: '折扣',
formatter: function(value, row, index) {
var html = $.common.sprintf("<input class='form-control' type='text' name='orderListList[%s].discount' value='%s'>", index, value);
var html = $.common.sprintf("<input class='form-control discount' type='number' name='orderListList[%s].discount' value='%s' step='0.1' max='1' min='0'>", index, value);
return html;
}
},
@ -371,7 +355,7 @@
align: 'center',
title: '总价',
formatter: function(value, row, index) {
var html = $.common.sprintf("<input class='form-control' type='text' name='orderListList[%s].amount' value='%s'>", index, value);
var html = $.common.sprintf("<input readonly class='form-control' type='text' name='orderListList[%s].amount' value='%s'>", index, value);
return html;
}
},
@ -388,6 +372,28 @@
};
$.table.init(options);
});
function downloadTem(){
$.modal.loading("正在下载,请稍候...");
$.post( prefix + "/list/export", {}, function(result) {
if (result.code == web_status.SUCCESS) {
window.location.href = ctx + "common/download?fileName=" + encodeURI(result.msg) + "&delete=" + true;
} else if (result.code == web_status.WARNING) {
$.modal.alertWarning(result.msg)
} else {
$.modal.alertError(result.msg);
}
$.modal.closeLoading();
})
}
function changeTotal(ele){
let price= Number($(ele).parent().parent().find('.price').val())||0
let quantity=Number($(ele).parent().parent().find('.quantity').val())||0
let discount=$(ele).val()||0
let res= Number((price*quantity*discount).toFixed(2))
$(ele).parent().parent().find('.amount').val(res)
}
</script>
</body>
</html>

View File

@ -22,19 +22,26 @@
</div>
</div>
</div>
<div class="col-xs-6">
<div class="form-group">
<label class="col-sm-4 control-label">所在省:</label>
<div class="col-sm-8">
<input name="province" class="form-control" type="text">
<div id="element1" class="col-xs-12" style="padding: 0">
<div class="col-xs-6">
<div class="form-group">
<label class="col-sm-4 control-label">省:</label>
<div class="col-sm-8">
<select name="province" th:data-value="*{province}" class="province form-control m-b" data-first-title="选择省">
<option value="">请选择</option>
</select>
</div>
</div>
</div>
</div>
<div class="col-xs-6">
<div class="form-group">
<label class="col-sm-4 control-label">所在市:</label>
<div class="col-sm-8">
<input name="city" class="form-control" type="text">
<div class="col-xs-6">
<div class="form-group">
<label class="col-sm-4 control-label">市:</label>
<div class="col-sm-8">
<select name="province" th:data-value="*{city}" class="city form-control m-b" data-first-title="选择省">
<option value="">请选择</option>
</select>
</div>
</div>
</div>
</div>
@ -81,6 +88,8 @@
</form>
</div>
<th:block th:include="include :: footer" />
<th:block th:include="include :: jquery-cxselect-js" />
<script th:inline="javascript">
var prefix = ctx + "system/agent"
$("#form-agent-add").validate({
@ -92,6 +101,14 @@
$.operate.save(prefix + "/add", $('#form-agent-add').serialize());
}
}
var urlChina = '/cnarea/select';
$.cxSelect.defaults.url = urlChina;
// $.cxSelect.defaults.jsonSpace = 'data';
$('#element1').cxSelect({
selects: ['province', 'city'],
nodata: 'none'
});
</script>
</body>
</html>

View File

@ -23,19 +23,26 @@
</div>
</div>
</div>
<div class="col-xs-6">
<div class="form-group">
<label class="col-sm-4 control-label">所在省:</label>
<div class="col-sm-8">
<input name="province" th:field="*{province}" class="form-control" type="text">
<div id="element1" class="col-xs-12" style="padding: 0">
<div class="col-xs-6">
<div class="form-group">
<label class="col-sm-4 control-label">省:</label>
<div class="col-sm-8">
<select name="province" th:data-value="*{province}" class="province form-control m-b" data-first-title="选择省">
<option value="">请选择</option>
</select>
</div>
</div>
</div>
</div>
<div class="col-xs-6">
<div class="form-group">
<label class="col-sm-4 control-label">所在市:</label>
<div class="col-sm-8">
<input name="city" th:field="*{city}" class="form-control" type="text">
<div class="col-xs-6">
<div class="form-group">
<label class="col-sm-4 control-label">市:</label>
<div class="col-sm-8">
<select name="city" th:data-value="*{city}" class="city form-control m-b" data-first-title="选择省">
<option value="">请选择</option>
</select>
</div>
</div>
</div>
</div>
@ -82,6 +89,8 @@
</form>
</div>
<th:block th:include="include :: footer" />
<th:block th:include="include :: jquery-cxselect-js" />
<script th:inline="javascript">
var prefix = ctx + "system/agent";
$("#form-agent-edit").validate({
@ -93,6 +102,12 @@
$.operate.save(prefix + "/edit", $('#form-agent-edit').serialize());
}
}
var urlChina = '/cnarea/select';
$.cxSelect.defaults.url = urlChina;
$('#element1').cxSelect({
selects: ['province', 'city'],
nodata: 'none'
});
</script>
</body>
</html>

View File

@ -7,97 +7,103 @@
<body class="white-bg">
<div class="wrapper wrapper-content animated fadeInRight ibox-content">
<form class="form-horizontal m" id="form-info-add">
<div class="col-xs-12">
<div class="col-xs-6">
<div class="form-group">
<label class="col-sm-3 control-label is-required">客户编码:</label>
<label class="col-sm-4 control-label is-required">客户编码:</label>
<div class="col-sm-8">
<input name="customerCode" class="form-control" type="text" required>
</div>
</div>
</div>
<div class="col-xs-12">
<div class="col-xs-6">
<div class="form-group">
<label class="col-sm-3 control-label">客户名称:</label>
<label class="col-sm-4 control-label">客户名称:</label>
<div class="col-sm-8">
<input name="customerName" class="form-control" type="text">
</div>
</div>
</div>
<div class="col-xs-12">
<div class="col-xs-6">
<div class="form-group">
<label class="col-sm-3 control-label">客户邮编:</label>
<label class="col-sm-4 control-label">客户邮编:</label>
<div class="col-sm-8">
<input name="customerPostcode" class="form-control" type="text">
</div>
</div>
</div>
<div class="col-xs-12">
<div class="form-group">
<label class="col-sm-3 control-label">所在省:</label>
<div class="col-sm-8">
<input name="province" class="form-control" type="text">
<div id="element1" class="col-xs-12" style="padding: 0">
<div class="col-xs-6">
<div class="form-group">
<label class="col-sm-4 control-label">省:</label>
<div class="col-sm-8">
<select name="province" class="province form-control m-b" data-first-title="选择省">
<option value="">请选择</option>
</select>
</div>
</div>
</div>
</div>
<div class="col-xs-12">
<div class="form-group">
<label class="col-sm-3 control-label">所在市:</label>
<div class="col-sm-8">
<input name="city" class="form-control" type="text">
<div class="col-xs-6">
<div class="form-group">
<label class="col-sm-4 control-label">市:</label>
<div class="col-sm-8">
<select name="city" class="city form-control m-b" data-first-title="选择省">
<option value="">请选择</option>
</select>
</div>
</div>
</div>
</div>
<div class="col-xs-12">
<div class="col-xs-6">
<div class="form-group">
<label class="col-sm-3 control-label">详细地址:</label>
<label class="col-sm-4 control-label">详细地址:</label>
<div class="col-sm-8">
<input name="address" class="form-control" type="text">
</div>
</div>
</div>
<div class="col-xs-12">
<div class="col-xs-6">
<div class="form-group">
<label class="col-sm-3 control-label">联系人:</label>
<label class="col-sm-4 control-label">联系人:</label>
<div class="col-sm-8">
<input name="contactPerson" class="form-control" type="text">
</div>
</div>
</div>
<div class="col-xs-12">
<div class="col-xs-6">
<div class="form-group">
<label class="col-sm-3 control-label">联系电话:</label>
<label class="col-sm-4 control-label">联系电话:</label>
<div class="col-sm-8">
<input name="contactPhone" class="form-control" type="text">
</div>
</div>
</div>
<div class="col-xs-12">
<div class="col-xs-6">
<div class="form-group">
<label class="col-sm-3 control-label">联系邮件:</label>
<label class="col-sm-4 control-label">联系邮件:</label>
<div class="col-sm-8">
<input name="contactEmail" class="form-control" type="text">
</div>
</div>
</div>
<div class="col-xs-12">
<div class="col-xs-6">
<div class="form-group">
<label class="col-sm-3 control-label">所属行业:</label>
<label class="col-sm-4 control-label">所属行业:</label>
<div class="col-sm-8">
<input name="industryType" class="form-control" type="text">
</div>
</div>
</div>
<div class="col-xs-12">
<div class="col-xs-6">
<div class="form-group">
<label class="col-sm-3 control-label">备注:</label>
<label class="col-sm-4 control-label">备注:</label>
<div class="col-sm-8">
<textarea name="remark" class="form-control"></textarea>
</div>
</div>
</div>
<div class="col-xs-12">
<div class="col-xs-6">
<div class="form-group">
<label class="col-sm-3 control-label is-required">创建时间:</label>
<label class="col-sm-4 control-label is-required">创建时间:</label>
<div class="col-sm-8">
<div class="input-group date">
<input name="createAt" class="form-control" placeholder="yyyy-MM-dd" type="text" required>
@ -106,9 +112,9 @@
</div>
</div>
</div>
<div class="col-xs-12">
<div class="col-xs-6">
<div class="form-group">
<label class="col-sm-3 control-label">更新时间:</label>
<label class="col-sm-4 control-label">更新时间:</label>
<div class="col-sm-8">
<div class="input-group date">
<input name="updateAt" class="form-control" placeholder="yyyy-MM-dd" type="text">
@ -117,9 +123,9 @@
</div>
</div>
</div>
<div class="col-xs-12">
<div class="col-xs-6">
<div class="form-group">
<label class="col-sm-3 control-label">删除时间:</label>
<label class="col-sm-4 control-label">删除时间:</label>
<div class="col-sm-8">
<div class="input-group date">
<input name="deleteAt" class="form-control" placeholder="yyyy-MM-dd" type="text">
@ -132,6 +138,8 @@
</div>
<th:block th:include="include :: footer" />
<th:block th:include="include :: datetimepicker-js" />
<th:block th:include="include :: jquery-cxselect-js" />
<script th:inline="javascript">
var prefix = ctx + "system/customer"
$("#form-info-add").validate({
@ -161,6 +169,15 @@
minView: "month",
autoclose: true
});
var urlChina = '/cnarea/select';
$.cxSelect.defaults.url = urlChina;
// $.cxSelect.defaults.jsonSpace = 'data';
$('#element1').cxSelect({
selects: ['province', 'city'],
nodata: 'none'
});
</script>
</body>
</html>

View File

@ -8,97 +8,104 @@
<div class="wrapper wrapper-content animated fadeInRight ibox-content">
<form class="form-horizontal m" id="form-info-edit" th:object="${customerInfo}">
<input name="id" th:field="*{id}" type="hidden">
<div class="col-xs-12">
<div class="col-xs-6">
<div class="form-group">
<label class="col-sm-3 control-label is-required">客户编码:</label>
<label class="col-sm-4 control-label is-required">客户编码:</label>
<div class="col-sm-8">
<input name="customerCode" th:field="*{customerCode}" class="form-control" type="text" required>
</div>
</div>
</div>
<div class="col-xs-12">
<div class="col-xs-6">
<div class="form-group">
<label class="col-sm-3 control-label">客户名称:</label>
<label class="col-sm-4 control-label">客户名称:</label>
<div class="col-sm-8">
<input name="customerName" th:field="*{customerName}" class="form-control" type="text">
</div>
</div>
</div>
<div class="col-xs-12">
<div class="col-xs-6">
<div class="form-group">
<label class="col-sm-3 control-label">客户邮编:</label>
<label class="col-sm-4 control-label">客户邮编:</label>
<div class="col-sm-8">
<input name="customerPostcode" th:field="*{customerPostcode}" class="form-control" type="text">
</div>
</div>
</div>
<div class="col-xs-12">
<div class="form-group">
<label class="col-sm-3 control-label">所在省:</label>
<div class="col-sm-8">
<input name="province" th:field="*{province}" class="form-control" type="text">
<div id="element1" class="col-xs-12" style="padding: 0">
<div class="col-xs-6">
<div class="form-group">
<label class="col-sm-4 control-label">省:</label>
<div class="col-sm-8">
<select name="province" th:data-value="*{province}" class="province form-control m-b" data-first-title="选择省">
<option value="">请选择</option>
</select>
</div>
</div>
</div>
<div class="col-xs-6">
<div class="form-group">
<label class="col-sm-4 control-label">市:</label>
<div class="col-sm-8">
<select name="city" th:data-value="*{city}" class="city form-control m-b" data-first-title="选择省">
<option value="">请选择</option>
</select>
</div>
</div>
</div>
</div>
<div class="col-xs-12">
<div class="col-xs-6">
<div class="form-group">
<label class="col-sm-3 control-label">所在市:</label>
<div class="col-sm-8">
<input name="city" th:field="*{city}" class="form-control" type="text">
</div>
</div>
</div>
<div class="col-xs-12">
<div class="form-group">
<label class="col-sm-3 control-label">详细地址:</label>
<label class="col-sm-4 control-label">详细地址:</label>
<div class="col-sm-8">
<input name="address" th:field="*{address}" class="form-control" type="text">
</div>
</div>
</div>
<div class="col-xs-12">
<div class="col-xs-6">
<div class="form-group">
<label class="col-sm-3 control-label">联系人:</label>
<label class="col-sm-4 control-label">联系人:</label>
<div class="col-sm-8">
<input name="contactPerson" th:field="*{contactPerson}" class="form-control" type="text">
</div>
</div>
</div>
<div class="col-xs-12">
<div class="col-xs-6">
<div class="form-group">
<label class="col-sm-3 control-label">联系电话:</label>
<label class="col-sm-4 control-label">联系电话:</label>
<div class="col-sm-8">
<input name="contactPhone" th:field="*{contactPhone}" class="form-control" type="text">
</div>
</div>
</div>
<div class="col-xs-12">
<div class="col-xs-6">
<div class="form-group">
<label class="col-sm-3 control-label">联系邮件:</label>
<label class="col-sm-4 control-label">联系邮件:</label>
<div class="col-sm-8">
<input name="contactEmail" th:field="*{contactEmail}" class="form-control" type="text">
</div>
</div>
</div>
<div class="col-xs-12">
<div class="col-xs-6">
<div class="form-group">
<label class="col-sm-3 control-label">所属行业:</label>
<label class="col-sm-4 control-label">所属行业:</label>
<div class="col-sm-8">
<input name="industryType" th:field="*{industryType}" class="form-control" type="text">
</div>
</div>
</div>
<div class="col-xs-12">
<div class="col-xs-6">
<div class="form-group">
<label class="col-sm-3 control-label">备注:</label>
<label class="col-sm-4 control-label">备注:</label>
<div class="col-sm-8">
<textarea name="remark" class="form-control">[[*{remark}]]</textarea>
</div>
</div>
</div>
<div class="col-xs-12">
<div class="col-xs-6">
<div class="form-group">
<label class="col-sm-3 control-label is-required">创建时间:</label>
<label class="col-sm-4 control-label is-required">创建时间:</label>
<div class="col-sm-8">
<div class="input-group date">
<input name="createAt" th:value="${#dates.format(customerInfo.createAt, 'yyyy-MM-dd')}" class="form-control" placeholder="yyyy-MM-dd" type="text" required>
@ -107,9 +114,9 @@
</div>
</div>
</div>
<div class="col-xs-12">
<div class="col-xs-6">
<div class="form-group">
<label class="col-sm-3 control-label">更新时间:</label>
<label class="col-sm-4 control-label">更新时间:</label>
<div class="col-sm-8">
<div class="input-group date">
<input name="updateAt" th:value="${#dates.format(customerInfo.updateAt, 'yyyy-MM-dd')}" class="form-control" placeholder="yyyy-MM-dd" type="text">
@ -118,9 +125,9 @@
</div>
</div>
</div>
<div class="col-xs-12">
<div class="col-xs-6">
<div class="form-group">
<label class="col-sm-3 control-label">删除时间:</label>
<label class="col-sm-4 control-label">删除时间:</label>
<div class="col-sm-8">
<div class="input-group date">
<input name="deleteAt" th:value="${#dates.format(customerInfo.deleteAt, 'yyyy-MM-dd')}" class="form-control" placeholder="yyyy-MM-dd" type="text">
@ -128,12 +135,14 @@
</div>
</div>
</div>
</div>
</form>
</div>
<th:block th:include="include :: footer" />
<th:block th:include="include :: datetimepicker-js" />
<th:block th:include="include :: jquery-cxselect-js" />
<script th:inline="javascript">
var prefix = ctx + "system/customer";
$("#form-info-edit").validate({
focusCleanup: true
@ -162,6 +171,13 @@
minView: "month",
autoclose: true
});
var urlChina = '/cnarea/select';
$.cxSelect.defaults.url = urlChina;
$('#element1').cxSelect({
selects: ['province', 'city'],
nodata: 'none'
});
</script>
</body>
</html>

View File

@ -22,7 +22,7 @@
</div>
</div>
</div>
<div id="element1" class="row">
<div id="element1" class="col-xs-12" style="padding: 0">
<div class="col-xs-6">
<div class="form-group">
<label class="col-sm-4 control-label">省:</label>

View File

@ -23,11 +23,14 @@
</div>
</div>
</div>
<div id="element1" class="col-xs-12" style="padding: 0">
<div class="col-xs-6">
<div class="form-group">
<label class="col-sm-4 control-label">省:</label>
<div class="col-sm-8">
<input name="province" th:field="*{province}" class="form-control" type="text">
<select name="province" th:data-value="*{province}" class="province form-control m-b" data-first-title="选择省">
<option value="">请选择</option>
</select>
</div>
</div>
</div>
@ -35,10 +38,14 @@
<div class="form-group">
<label class="col-sm-4 control-label">市:</label>
<div class="col-sm-8">
<input name="city" th:field="*{city}" class="form-control" type="text">
<select name="city" th:data-value="*{city}" class="city form-control m-b" data-first-title="选择省">
<option value="">请选择</option>
</select>
</div>
</div>
</div>
</div>
<div class="col-xs-6">
<div class="form-group">
<label class="col-sm-4 control-label">详细地址:</label>
@ -76,6 +83,7 @@
</form>
</div>
<th:block th:include="include :: footer" />
<th:block th:include="include :: jquery-cxselect-js" />
<script th:inline="javascript">
var prefix = ctx + "system/partner";
$("#form-partner-edit").validate({
@ -87,6 +95,12 @@
$.operate.save(prefix + "/edit", $('#form-partner-edit').serialize());
}
}
var urlChina = '/cnarea/select';
$.cxSelect.defaults.url = urlChina;
$('#element1').cxSelect({
selects: ['province', 'city'],
nodata: 'none'
});
</script>
</body>
</html>