Commit da850ac0 authored by 谢希宇's avatar 谢希宇

Aidea product update by Strive Date 2020-10-28

parent 6b9704b1
......@@ -61,10 +61,10 @@
<sql id="sqlColumns">
a.id,
a.consult_id,
CONVERT(AES_DECRYPT(a.user_name,'aideakey') USING UTF8),
CONVERT(AES_DECRYPT(a.number_id,'aideakey') USING UTF8),
CONVERT(AES_DECRYPT(a.user_name,'aideakey') USING UTF8) ,
CONVERT(AES_DECRYPT(a.number_id,'aideakey') USING UTF8) ,
a.sex,
CONVERT(AES_DECRYPT(a.iphone,'aideakey') USING UTF8),
CONVERT(AES_DECRYPT(a.iphone,'aideakey') USING UTF8) ,
a.past_records,
a.prescription,
a.doctor_id,
......
<!DOCTYPE html>
<!--[if IE 8]>
<html lang="en" class="ie8 no-js"> <![endif]-->
<!--[if IE 9]>
<html lang="en" class="ie9 no-js"> <![endif]-->
<!--[if !IE]><!-->
<html>
<!--<![endif]-->
<!-- BEGIN HEAD -->
<head>
<base href="#springUrl('/assets/adminlte/')"/>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<title>工作台</title>
<!-- Tell the browser to be responsive to screen width -->
<meta content="width=device-width, initial-scale=1, maximum-scale=1, user-scalable=no" name="viewport">
<!-- Bootstrap 3.3.5 -->
<link rel="stylesheet" href="bootstrap/css/bootstrap.min.css">
<!-- Font Awesome -->
<link rel="stylesheet" href="plugins/font-awesome/css/font-awesome.min.css">
<!-- Ionicons -->
<link rel="stylesheet" href="plugins/ionicons/css/ionicons.min.css">
<!-- DataTables -->
<link rel="stylesheet" href="plugins/datatables/dataTables.bootstrap.css">
<link rel="stylesheet" href="plugins/select2/select2.min.css">
<!-- Theme style -->
<link rel="stylesheet" href="dist/css/AdminLTE.min.css">
<!-- AdminLTE Skins. Choose a skin from the css/skins
folder instead of downloading all of them to reduce the load. -->
<link rel="stylesheet" href="dist/css/skins/_all-skins.min.css">
<!-- iCheck -->
<link rel="stylesheet" href="plugins/iCheck/flat/blue.css">
<!-- Date Picker -->
<link rel="stylesheet" href="plugins/datepicker/datepicker3.css">
<!-- Daterange picker -->
<link rel="stylesheet" href="plugins/daterangepicker/daterangepicker-bs3.css">
<!-- bootstrap wysihtml5 - text editor -->
<link rel="stylesheet" href="plugins/bootstrap-wysihtml5/bootstrap3-wysihtml5.min.css">
<!--validate css-->
<link rel="stylesheet" href="plugins/jquery-validation/css/validate.css">
<!--fileinput css-->
<link rel="stylesheet" href="plugins/bootstrap-fileinput/bootstrap-fileinput.css">
<!-- HTML5 Shim and Respond.js IE8 support of HTML5 elements and media queries -->
<!-- WARNING: Respond.js doesn't work if you view the page via file:// -->
<!--[if lt IE 9]>
<script src="https://oss.maxcdn.com/html5shiv/3.7.3/html5shiv.min.js"></script>
<script src="https://oss.maxcdn.com/respond/1.4.2/respond.min.js"></script>
<![endif]-->
</head>
<!-- END HEAD -->
<body class="hold-transition skin-blue sidebar-mini">
<div class="wrapper">
<div class="content-wrapper" style="margin-left:0;">
<section class="content-header">
<h1>
需求清单管理
<small>需求清单管理</small>
</h1>
<ol class="breadcrumb">
<li><a href="#"><i class="fa fa-dashboard"></i>首页</a></li>
<li><a class="active">需求清单管理</a></li>
</ol>
</section>
<!-- Main content -->
<section class="content">
<div class="row">
<div class="col-xs-12">
<!-- general form elements disabled -->
<div class="box box-primary">
<!--<form role="form" id="myForm">-->
<input id="id" name="id" value="$!{data.id}" hidden="true"/>
<div class="box-body">
<div class="panel panel-primary">
<div class="panel-heading">订单信息</div>
<div class="panel-body">
<div class="form-group form-md-line-input col-xs-5">
<label>订单编码<font style="color: red"></font></label>
<input type="text"
class="form-control" name="orderCode"
id="number" readonly="readonly"
maxlength="50" placeholder="订单编码"
value="$!{data.number}">
</div>
<div class="form-group form-md-line-input col-xs-5">
<label>快递单号<font style="color: red"></font></label>
<input type="text"
class="form-control" name="courierNumber"
id="courierNumber" readonly="readonly"
maxlength="50" placeholder="快递单号"
value="$!{data.courierNumber}" >
</div>
<div class="form-group form-md-line-input col-xs-5">
<label>订单总价<font style="color: red"></font></label>
<input type="text"
class="form-control" name="orderAmount"
id="orderAmount" readonly="readonly"
maxlength="50" placeholder="订单金额"
value="$!{data.orderAmount}"
>
</div>
<div class="form-group form-md-line-input col-xs-5">
<label>收货地址<font style="color: red"></font></label>
<input type="text"
class="form-control" name="address"
id="address" readonly="readonly"
maxlength="50" placeholder="收货地址"
value="$!{data.address}"
>
</div>
<div class="form-group form-md-line-input col-xs-5">
<label>订单状态<font style="color: red"></font></label>
<input type="text"
class="form-control" name="payStatus"
id="payStatus" readonly="readonly"
maxlength="50" placeholder=""
value="$!{data.payStatus}"
>
</div>
<div class="form-group form-md-line-input col-xs-5">
<label>支付备注<font style="color: red"></font></label>
<input type="text"
class="form-control" name="description"
id="description" readonly="readonly"
maxlength="50" placeholder=""
value="$!{data.description}"
>
</div>
<div class="form-group form-md-line-input col-xs-5">
<label>支付交易号<font style="color: red"></font></label>
<input type="text"
class="form-control" name="tradeNo"
id="tradeNo" readonly="readonly"
maxlength="50" placeholder=""
value="$!{data.tradeNo}"
>
</div>
<div class="form-group form-md-line-input col-xs-5">
<label>创建时间<font style="color: red"></font></label>
<input type="text"
class="form-control" name="createTime"
id="createTime" readonly="readonly"
maxlength="50" placeholder=""
value="$!{data.createTime}"
>
</div>
<div class="form-group form-md-line-input col-xs-8">
<label>订单取消原因<font style="color: red"></font></label>
<textarea class="form-control" id="orderCancel" name="orderCancel" rows="3" readonly>$!{data.orderCancel}</textarea>
</div>
</div>
</div>
<div class="panel panel-primary">
<div class="panel-heading">商品信息</div>
<div class="panel-body">
<div class="form-group form-md-line-input">
<div id="group" class="list-group">
<li class="list-group-item">
<th style=""><label style="width: 180px;margin-right: 50px;text-align: center">商品名称</label></th>
<th style=""><label style="width: 160px;margin-right: 50px;text-align: center">商品编码</label></th>
<th style=""><label style="width: 180px;margin-right: 50px;text-align: center">购买数量</label></th>
<th style=""><label style="width: 180px;margin-right: 50px;text-align: center">出货数量</label></th>
</li>
</div>
<div class="form-group form-md-line-input col-xs-8">
<label>已扫商品编码<font></font></label>
<textarea class="form-control" id="scanGoodsCode" name="scanGoodsCode" rows="5" readonly></textarea>
</div>
<!--<button type="button" class="search btn btn-primary" onclick="clickAdd()">添加商品和数量</button>-->
</div>
</div>
</div>
<div class="box-footer">
#if($shiro.hasPermission("qy:order:edit"))
<button class="btn btn-primary" onclick="save()">保存</button>
#end
<a href="#springUrl('/a/order/list')" class="btn btn-default">取消</a>
</div>
<!--</form>-->
<!-- /.box-body -->
</div><!-- /.box -->
</div>
</div><!-- /.col -->
</div><!-- /.row -->
</section><!-- /.content -->
</div><!-- /.content-wrapper -->
<!-- Add the sidebar's background. This div must be placed
immediately after the control sidebar -->
<div class="control-sidebar-bg"></div>
</div><!-- ./wrapper -->
<script src="plugins/jQuery/jQuery-2.1.4.min.js"></script>
<!-- Bootstrap 3.3.5 -->
<script src="bootstrap/js/bootstrap.min.js"></script>
<script src="plugins/select2/select2.full.min.js"></script>
<!-- DataTables -->
<script src="plugins/datatables/jquery.dataTables.min.js"></script>
<script src="plugins/datatables/extensions/i18n/lanauage_ch.js"></script>
<script src="plugins/datatables/dataTables.bootstrap.min.js"></script>
<!-- SlimScroll -->
<script src="plugins/slimScroll/jquery.slimscroll.min.js"></script>
<!-- FastClick -->
<script src="plugins/fastclick/fastclick.min.js"></script>
<!--fileinput js-->
<script src="plugins/bootstrap-fileinput/bootstrap-fileinput.js"></script>
<!-- AdminLTE App -->
<script src="dist/js/app.min.js"></script>
<script src="plugins/bootstrap-maxlength/bootstrap-maxlength.min.js" type="text/javascript"></script>
<script src="plugins/security/sha256.js" type="text/javascript"></script>
<script src="plugins/jquery-validation/js/jquery.validate.min.js"></script>
<script src="js/jquery.form.min.js"></script>
<script type="text/javascript" charset="utf-8" src="plugins/ueditor-min-1.4.3/ueditor.config.js"></script>
<script type="text/javascript" charset="utf-8" src="plugins/ueditor-min-1.4.3/ueditor.all.js"></script>
<script type="text/javascript" charset="utf-8" src="plugins/ueditor-min-1.4.3/lang/zh-cn/zh-cn.js"></script>
<script src="common/js/cfapp.js"></script>
<!-- END PAGE LEVEL PLUGINS -->
<script>
var csrf='${_csrf.token}';
var csrf_header='${_csrf.headerName}';
var areaList = [];
//扫码全局变量
var scanCodeStr = "";
var scanSubCode = "";
var avgTime = 30;
var lastTime = 0;
//触发顺序keydown keypress keyup
$(document).on('keydown', function(event){
let subCode = String.fromCharCode(event.keyCode);
let currTime = new Date().getTime();
let spaceTime = currTime - lastTime;
//扫码间隔大于30,未认为输入
if (lastTime != 0 && spaceTime > avgTime) {
return;
}
if (event.keyCode == 13) {
lastTime = 0;
let nextEleV = 0;
let scanNumEle = null;
let flag = false;
$("#group").find('input[name="productCode"]').each(function() {
if ($(this).val() == scanSubCode) {
nextEleV = $(this).next().val();
scanNumEle = $(this).next().next();
flag = true;
}
});
if (!flag) {
Cfapp.alert({
message: "商品未在订单中!",
btntext: "确定",
success: function () {}
});
scanSubCode = "";
return;
}
scanCodeStr += scanSubCode + "|";
let count = 0;
if (scanCodeStr != "" && scanCodeStr != null) {
let arr = scanCodeStr.split("|");
console.log(arr.length);
for(let i=0; i<arr.length; i++) {
if (arr[i] == scanSubCode)
count++;
}
if (nextEleV < count) {
Cfapp.alert({
message: "商品超过订单数量!",
btntext: "确定",
success: function () {}
});
scanSubCode = "";
return;
}
}
scanNumEle.val(count);
$('textarea[name="scanGoodsCode"]').text(scanCodeStr);
scanSubCode = "";
return;
}
scanSubCode += subCode;
lastTime = currTime;
});
// $(document).on('keypress', function(event){
// if(event.keyCode == 13){
// //alert('你按下了Enter' + 2);
// }
// });
//
// $(document).on('keyup', function(event){
// if(event.keyCode == 13){
// //alert('你按下了Enter' + 3);
// }
// });
function checkProductCode(code) {
let flag = true;
$("#group").find('input[name="productCode"]').each(function(e) {
if (e.val() == code) {
let count = e.next().val();
let length = $('textarea[name="scanGoodsCode"]').text().split(code).length - 1;
if (count >= length)
return true;
}
});
if (!flag) {
return flag;
}
}
function list() {
var url = "#springUrl('/a/order/fromProduct')"
$.ajax({
url: url,
type: "GET",
success: function (data) {
areaList = JSON.parse(data.data);
// var province = document.querySelector('#selectProduct')
// for (index in areaList) {
// var op = new Option(areaList[index].productName, areaList[index].id, false, false)
// province.options[province.length] = op
// }
var provinceId = '$!{data.productId}';
var selectProductList = '$!{list}';
if (selectProductList != null && selectProductList != '') {
selectProductList = JSON.parse(selectProductList);
for (var i = 0; i < selectProductList.length; i++) {
var obj = selectProductList[i];
// if($(this).val() == obj.provinceId){
// $(this).attr('selected', 'selected');
// }
clickAdd(obj.id, obj.productId, obj.productName, obj.drugsNum, obj.price, obj.amount, obj.productNumber);
}
}
// $('#selectProduct option').each(function () {
// for(var index= 0;i<selectProductList.length;i++){
// var obj = selectProductList[i];
// if($(this).val() == obj.provinceId){
// $(this).attr('selected', 'selected');
// }
// }
//
// })
}
});
}
$().ready(function () {
$("#divClass").css('display', 'none')
var payStatus = $("#payStatus").val();
if (payStatus == '0') {
$("#payStatus").val("未付款");
} else if (payStatus == '1') {
$("#payStatus").val("已付款");
} else if (payStatus == '2') {
$("#payStatus").val("已取消");
} else {
$("#payStatus").val("");
}
var confirm = $("#confirm").val();
if (confirm = '0') {
$("#divClass").css('display', 'blocks')
}
Cfapp.init();
list();
// var selectdrugsNum = $("#selectdrugsNum");
// for (var i = 1; i <=30; i ++){
// selectdrugsNum.append("<option value='"+[i]+"'>"+[i]+"</option>")
// }
// var drugsNum = "$!{data.drugsNum}";
// $('#selectdrugsNum option').each(function () {
// if($(this).val() == drugsNum){
// $(this).attr('selected', 'selected');
// }
// })
});
function clickAdd(id, productId, productName, count, price, amount, number) {
var options = "";
if (productName && productName != null) {
options = `<input name="productName" class="form-control" style="width: 180px ;margin-right: 50px" type='text' readonly="readonly" value="`+productName+`"></input>`;
}
var idHtml = "";
if (id && id != null){
idHtml +=`<input type="hidden" name="idDetail" value="${id}">`
}else{
idHtml +=`<input type="hidden" name="idDetail" value="">`
}
var htmlNumber = "";
if (number && number != null) {
htmlNumber += `<input name="productCode" class="form-control" style="width: 180px ;margin-right: 50px" type='text' readonly="readonly" value="`+number+`"></input>`;
}
var listHtml = "";
if (count && count != null) {
price
listHtml += `<input name="orderNum" class="form-control" type="text" style="width: 180px;margin-right: 50px;" readonly value=${count} ></input>`;
} else {
listHtml += `<input name="orderNum" class="form-control" type="text" style="width: 180px ;margin-right: 50px;" readonly value="1"></input>`;
}
var HtmlAmount = `<input name="sendNum" class="form-control" type="text" style="width: 180px ;margin-right: 50px;" readonly value="0"></input>`;
//扫码商品编码
var HtmlCode = `<button name="delGoods" type="button" class="btn btn-danger">删除</button>`;
let html = `<li id="form-translate" class="list-group-item" style="display:flex;">
${idHtml}
${options}
${htmlNumber}
${listHtml}
${HtmlAmount}
${HtmlCode}
</li>`;
$("#group").append(html);
toTal()
}
function toTal() {
// $('#group').on('click', '.scanGoods', function() {
// $(this).prev().val("11111111111");
// });
var count = 0
$('.group [name="htmlAmount"]').each(function(index, item){
count += +item.value
})
$("#orderAmount").val(count.toFixed(2));
}
/**
* 保存事件
*/
function save() {
var arr = []
var obj = {}
$('.translate').each((index, item) => {
var txt = $(item).find('[name="releas"]').val()
if (obj[txt]) {
arr.push(index)
return
} else {
obj[txt] = true
}
})
if (arr.length > 0) {
Cfapp.alert({
message: "无法增加重复商品!",
btntext: "确定",
success: function () {
}
});
return;
}
var id = $("#id").val()
var orderAmount = $("#orderAmount").val()
var datas = [];
$('.translate').each(function (index,item){
const idDetail = $(item).find('[name="idDetail"]').val()
const productId = $(item).find('[name="releas"]').val()
const drugsNum = $(item).find('[name="listHtml"]').val()
const price = $(item).find('[name="htmlPrice"]').val()
const amount = $(item).find('[name="htmlAmount"]').val()
datas.push({
id : id,
idDetail : idDetail,
productId :productId,
drugsNum : drugsNum,
price : price,
amount : amount,
orderAmount :orderAmount
})
})
var url = "#springUrl('/a/order/formData')"
$.ajax({
url: url,
type: "POST",
dateType:'json',
headers:{"Accept": "application/json;charset=UTF-8"},
data : {_csrf:csrf,_csrf_header:csrf_header,datas:JSON.stringify(datas)},
success :function (rsp) {
if(rsp.errorNo == "0"){
Cfapp.alert({
message: "修改成功",
btntext: "确定",
success: function () {
location.href = "#springUrl('/a/order/list')";
}
});
}else{
Cfapp.alert({
message: "修改失败",
btntext: "确定",
success: function () {
let idTmp = $('input[name="id"]').val();
location.href = "#springUrl('/a/order/form?id="+idTmp+"')";
}
});
}
}
});
}
var recdTypeAdd = function () {
var initForm = function () {
var initFormCtrl = function () {
bindEvent();
};
var bindEvent = function () {
$('.scanCode').focus();
};
initFormCtrl();
};
return {
//main function to initiate the module
init: function () {
initForm();
}
};
}();
</script>
</body>
<!-- END BODY -->
</html>
\ No newline at end of file
......@@ -24,6 +24,8 @@
<!-- DataTables -->
<link rel="stylesheet" href="plugins/datatables/dataTables.bootstrap.css">
<link rel="stylesheet" href="plugins/select2/select2.min.css">
<!-- Theme style -->
<link rel="stylesheet" href="dist/css/AdminLTE.min.css">
<!-- AdminLTE Skins. Choose a skin from the css/skins
......@@ -76,60 +78,48 @@
<input id="id" name="id" value="$!{data.id}" hidden="true"/>
<div class="box-body">
<div class="form-group form-md-line-input">
<div class="panel panel-primary">
<div class="panel-heading">订单信息</div>
<div class="panel-body">
<div class="form-group form-md-line-input col-xs-5">
<label>订单编码<font style="color: red"></font></label>
<input type="text"
class="form-control" name="orderCode"
id="orderCode" readonly="readonly"
id="number" readonly="readonly"
maxlength="50" placeholder="订单编码"
value="$!{data.orderCode}"
>
value="$!{data.number}">
</div>
<div class="form-group form-md-line-input col-xs-5">
<label>快递单号<font style="color: red"></font></label>
<input type="text"
class="form-control" name="courierNumber"
id="courierNumber" readonly="readonly"
maxlength="50" placeholder="快递单号"
value="$!{data.courierNumber}"
>
<label>商品编码<font style="color: red"></font></label>
<input type="text"
class="form-control" name="productNumber"
id="productNumber" readonly="readonly"
maxlength="50" placeholder="商品编码"
value="$!{data.productNumber}"
>
<br/>
<div id="group" class="group">
<th style="width:15%; "><label
style="width: 180px;margin-right: 80px;text-align: center">商品名称</label></th>
<th style=""><label style="width: 180px;margin-right: 80px;text-align: center">商品购买数量</label>
</th>
<th style=""><label style="width: 160px;margin-right: 80px;text-align: center">商品单价</label></th>
<th style=""><label style="width: 180px;margin-right: 80px;text-align: center">商品总价</label></th>
value="$!{data.courierNumber}" >
</div>
<br/>
<button type="button" class="search btn btn-primary" onclick="clickAdd()">添加商品和数量
</button>
<br/><br/>
<div class="form-group form-md-line-input col-xs-5">
<label>订单总价<font style="color: red"></font></label>
<input type="text"
class="form-control" name="orderAmount"
id="orderAmount" readonly="readonly"
maxlength="50" placeholder="订单金额"
value="$!{data.orderAmount}"
> <label>收货地址<font style="color: red"></font></label>
>
</div>
<div class="form-group form-md-line-input col-xs-5">
<label>收货地址<font style="color: red"></font></label>
<input type="text"
class="form-control" name="address"
id="address" readonly="readonly"
maxlength="50" placeholder="收货地址"
value="$!{data.address}"
>
</div>
<div class="form-group form-md-line-input col-xs-5">
<label>订单状态<font style="color: red"></font></label>
<input type="text"
class="form-control" name="payStatus"
......@@ -137,6 +127,8 @@
maxlength="50" placeholder=""
value="$!{data.payStatus}"
>
</div>
<div class="form-group form-md-line-input col-xs-5">
<label>支付备注<font style="color: red"></font></label>
<input type="text"
class="form-control" name="description"
......@@ -144,6 +136,8 @@
maxlength="50" placeholder=""
value="$!{data.description}"
>
</div>
<div class="form-group form-md-line-input col-xs-5">
<label>支付交易号<font style="color: red"></font></label>
<input type="text"
class="form-control" name="tradeNo"
......@@ -151,6 +145,9 @@
maxlength="50" placeholder=""
value="$!{data.tradeNo}"
>
</div>
<div class="form-group form-md-line-input col-xs-5">
<label>创建时间<font style="color: red"></font></label>
<input type="text"
class="form-control" name="createTime"
......@@ -158,17 +155,34 @@
maxlength="50" placeholder=""
value="$!{data.createTime}"
>
<div id="divClass">
</div>
<div class="form-group form-md-line-input col-xs-8">
<label>订单取消原因<font style="color: red"></font></label>
<input type="text"
class="form-control" name="orderCancel"
id="orderCancel" readonly="readonly"
maxlength="50" placeholder=""
value="$!{data.orderCancel}"
>
<textarea class="form-control" id="orderCancel" name="orderCancel" rows="3" readonly>$!{data.orderCancel}</textarea>
</div>
<div/>
</div>
</div>
<div class="panel panel-primary">
<div class="panel-heading">商品信息</div>
<div class="panel-body">
<div class="form-group form-md-line-input">
<div id="group" class="list-group">
<li class="list-group-item">
<th style=""><label style="width: 180px;margin-right: 50px;text-align: center">商品名称</label></th>
<th style=""><label style="width: 180px;margin-right: 50px;text-align: center">商品购买数量</label> </th>
<th style=""><label style="width: 160px;margin-right: 50px;text-align: center">商品单价</label></th>
<th style=""><label style="width: 180px;margin-right: 50px;text-align: center">商品总价</label></th>
</li>
</div>
<button type="button" class="search btn btn-primary" onclick="clickAdd()">添加商品</button>
</div>
</div>
</div>
<div class="box-footer">
#if($shiro.hasPermission("qy:order:edit"))
......@@ -176,12 +190,10 @@
#end
<a href="#springUrl('/a/order/list')" class="btn btn-default">取消</a>
</div>
</div>
<!--</form>-->
<!-- /.box-body -->
</div><!-- /.box -->
</div>
</div><!-- /.col -->
</div><!-- /.row -->
</section><!-- /.content -->
......@@ -196,6 +208,8 @@
<script src="plugins/jQuery/jQuery-2.1.4.min.js"></script>
<!-- Bootstrap 3.3.5 -->
<script src="bootstrap/js/bootstrap.min.js"></script>
<script src="plugins/select2/select2.full.min.js"></script>
<!-- DataTables -->
<script src="plugins/datatables/jquery.dataTables.min.js"></script>
<script src="plugins/datatables/extensions/i18n/lanauage_ch.js"></script>
......@@ -244,7 +258,7 @@
// if($(this).val() == obj.provinceId){
// $(this).attr('selected', 'selected');
// }
clickAdd(obj.id,obj.productId, obj.drugsNum, obj.price, obj.amount);
clickAdd(obj.id, obj.productId, obj.drugsNum, obj.price, obj.amount);
}
}
// $('#selectProduct option').each(function () {
......@@ -299,7 +313,7 @@
});
function clickAdd(id,productId, count, price, amount) {
function clickAdd(id, productId, count, price, amount) {
var options = areaList.map(function (item) {
if (productId && productId != null && item.id === productId) {
return `<option selected value="${item.id}" data-price="${item.price}">${item.productName}</option>`
......@@ -310,65 +324,66 @@
var idHtml = "";
if (id && id != null){
idHtml +=`<input type="hidden" name="idDetail" value="${id}">`
}else{
idHtml +=`<input type="hidden" name="idDetail" value="">`
}
var listHtml = "";
if (count && count != null) {
price
listHtml += `<input name="listHtml" type='number' style="width: 180px;margin-right: 80px" oninput="if(value>100)value=100;if(value.length>2)value=value.slice(0,2);if(value<=0)value=1" onchange="updateCount(this)" value=${count} ></input>`;
listHtml += `<input name="listHtml" class="form-control" type='number' style="width: 180px;margin-right: 50px; margin-left: 50px;" oninput="if(value>100)value=100;if(value.length>2)value=value.slice(0,2);if(value<=0)value=1" onchange="updateCount(this)" value=${count} ></input>`;
} else {
listHtml += `<input name="listHtml" type='number' style="width: 180px ;margin-right: 80px" oninput="if(value>100)value=100;if(value.length>2)value=value.slice(0,2);if(value<=0)value=1" onchange="updateCount(this)" value="1"></input>`;
listHtml += `<input name="listHtml" class="form-control" type='number' style="width: 180px ;margin-right: 50px; margin-left: 50px;" oninput="if(value>100)value=100;if(value.length>2)value=value.slice(0,2);if(value<=0)value=1" onchange="updateCount(this)" value="1"></input>`;
}
var HtmlPrice = "";
if (price && price != null) {
HtmlPrice += `<input name="htmlPrice" style="width: 180px ;margin-right: 80px" type='text' readonly="readonly" value="`+price.toFixed(2)+`"></input>`;
HtmlPrice += `<input name="htmlPrice" class="form-control" style="width: 180px ;margin-right: 50px" type='text' readonly="readonly" value="`+price.toFixed(2)+`"></input>`;
} else {
// var item = areaList.find(item => item.id === id)
var item = areaList[0]
priveTmp = item.price.toFixed(2)
HtmlPrice += `<input name="htmlPrice" data-price="${item.id}" style="width: 180px ;margin-right: 80px" type="text" readonly="readonly" value="${priveTmp}"></input>`
HtmlPrice += `<input name="htmlPrice" class="form-control" data-price="${item.id}" style="width: 180px ;margin-right: 50px" type="text" readonly="readonly" value="${priveTmp}"></input>`
}
var HtmlAmount = "";
if (amount && amount != null) {
// var amout = ${amount};
HtmlAmount += `<input id="htmlAmount" name="htmlAmount" style="width: 180px ;margin-right: 80px" type='text' readonly="readonly" value="`+amount .toFixed(2)+`" ></input>`;
HtmlAmount += `<input id="htmlAmount" class="form-control" name="htmlAmount" style="width: 180px ;margin-right: 50px" type='text' readonly="readonly" value="`+amount .toFixed(2)+`" ></input>`;
} else {
// var item = areaList.find(item => item.id === id)
var countSi = 1;
var amountPrice = countSi * item.price
var amountTmp = amountPrice.toFixed(2)
var item = areaList[0]
HtmlAmount += `<input id="htmlAmount" name="htmlAmount" data-price="${item.id}" style="width: 180px ;margin-right: 80px" type="text" readonly="readonly" value="${amountTmp}"></input>`
HtmlAmount += `<input id="htmlAmount" class="form-control" name="htmlAmount" data-price="${item.id}" style="width: 180px;margin-right: 50px" type="text" readonly="readonly" value="${amountTmp}"></input>`
}
let html = `<div id="form-translate" class="translate" style="display: flex ;margin-bottom: 30px">
let html = `<li id="form-translate" class="list-group-item" style="display:flex ;">
${idHtml}
<select class="form-control" name="releas" style="width: 180px ;margin-right: 80px" onchange="getPrice(this)">
<select class="form-control select2 releas" name="releas" style="width: 180px;" onchange="getPrice(this)">
${options}
</select>
${listHtml}
${HtmlPrice}
${HtmlAmount}
<button type="button" class="search btn btn-primary" style="background-color: #d73925 ;margin-left: 200px" onclick="deleteSelect(event)">删除
<button type="button" class="search btn btn-primary" style="background-color: #d73925 ;" onclick="deleteSelect(event)">删除
</button>
</div>`
</li>`;
$("#group").append(html);
initSelect2();
toTal()
}
function initSelect2() {
$('.releas').select2({
placeholder: '选择商品'
});
}
function getPrice(e) {
let price = $(e).find("option:selected").attr('data-price');
//let price = $(e).parent().find('input[name="htmlPrice"]').attr("target-data");
......
......@@ -80,7 +80,7 @@
<div class="col-xs-2">
<input type="text" class="form-control "
name="orderCode" placeholder="订单编号">
name="number" placeholder="订单编号">
</div>
<div class="col-xs-2">
<input type="text" class="form-control "
......@@ -105,7 +105,7 @@
<th>订单编码</th>
<th>产品名称</th>
<th>订单金额</th>
<th>订单总价</th>
<th>付款金额</th>
<th>收货地址</th>
<th>快递单号</th>
<th>订单状态</th>
......@@ -209,19 +209,17 @@
"mData": "id"
},
{
"mData": "orderCode"
"mData": "number"
},
{
"mData": "productName"
}
,
},
{
"mData": "payAmount"
"mData": "orderAmount"
}
,
{
"mData": "orderAmount"
"mData": "totalAmount"
}
,
{
......@@ -261,7 +259,7 @@
},
{
"aTargets": [1],
"mData": "orderCode",
"mData": "number",
"mRender": function (a, b, c, d) {
return a;
}
......@@ -277,7 +275,7 @@
,
{
"aTargets": [3],
"mData": "payAmount",
"mData": "orderAmount",
"mRender": function (a, b, c, d) {
return a;
}
......@@ -285,7 +283,7 @@
,
{
"aTargets": [4],
"mData": "orderAmount",
"mData": "totalAmount",
"mRender": function (a, b, c, d) {
return a;
}
......@@ -359,6 +357,7 @@
'</button>\n' +
'<ul class="dropdown-menu" role="menu">\n';
html += '<li><a href="#springUrl("/a/order/form?id=' + a + '")">查看</a></li>';
html += '<li><a href="#springUrl("/a/order/sendOut?id=' + a + '")">订单出库</a></li>';
html += '</ul>';
html += '#end';
return html;
......
......@@ -4,7 +4,6 @@
<resultMap id="resultMap" type="com.cftech.order.model.Order">
<id column="id" property="id"/>
<result column="order_code" property="orderCode"/>
<result column="consult_id" property="consultId"/>
<result column="number" property="number"/>
<result column="member_id" property="memberId"/>
......@@ -38,7 +37,6 @@
<resultMap id="resultMapList" type="com.cftech.order.model.Order">
<id column="id" property="id"/>
<result column="order_code" property="orderCode"/>
<result column="consult_id" property="consultId"/>
<result column="number" property="number"/>
<result column="member_id" property="memberId"/>
......@@ -102,13 +100,13 @@
<sql id="sqlColumns">
o.id,
o.order_code,
t.product_number,
o.consult_id,
t.product_name,
o.number,
o.pay_amount,
o.order_amount,
o.total_amount,
o.pay_status,
o.order_cancel,
o.trade_no,
......@@ -119,14 +117,12 @@
o.confirm,
d.drugs_num,
o.courier_number,
CONCAT(a.areaname,
b.areaname,
c.areaname,s.address) as address,
CONCAT(a.areaname, b.areaname, c.areaname,s.address) as address,
t.id as productId
</sql>
<sql id="sqlColumnFrom">
o.id,
o.order_code AS orderCode,
o.consult_id AS consultId,
o.number,
o.pay_amount AS payAmount,
......@@ -154,7 +150,6 @@
<sql id="Column">
order_id,
order_code,
drugs_id,
drugs_num,
openid,
......@@ -163,7 +158,6 @@
drugs_code,
drugs_sku,
accounts_id
</sql>
......@@ -195,7 +189,6 @@
#{status, jdbcType=VARCHAR},
now(),
now()
)
</insert>
......@@ -249,13 +242,13 @@
LEFT JOIN area c ON s.area_id = c.areaid
LEFT JOIN t_qyuser q ON o.service_id = q.id AND o.doctor_id = q.id
<include refid="sqlWhere"/>
<if test="id!=null">and(o.service_id = ${id} or o.doctor_id =${id} or o.clerk_id = ${id}) </if>
<if test="id!=null">and(o.service_id = ${id} or o.doctor_id =${id} or o.clerk_id = ${id})</if>
<if test="sort!=null">ORDER BY ${sort.param} ${sort.type}</if>
<if test="limit>0">limit #{offset},#{limit}</if>
</select>
<select id="listProduct" resultType="com.cftech.order.model.ProductOrder">
SELECT id,product_name as productName,price FROM t_aidea_product
SELECT id, product_name as productName,price FROM t_aidea_product
</select>
<update id="update" parameterType="com.cftech.order.model.Order">
update t_order
......@@ -342,7 +335,7 @@
<select id="fetcheDeta" parameterType="java.util.Map" resultType="java.lang.Integer">
select * from t_order_details where order_id =#{id} and accounts_id=#{accountsId} and drugs_id =#{productId}
</select>
<insert id="saveDetill" parameterType="com.cftech.order.model.OrderDetailDto" >
<insert id="saveDetill" parameterType="com.cftech.order.model.OrderDetailDto">
insert into t_order_details
(
<include refid="Column"/>
......@@ -350,7 +343,6 @@
values
(
#{orderId},
#{orderCode},
#{drugsId},
#{drugsNum},
#{openid},
......
......@@ -16,19 +16,15 @@ import java.util.stream.Collectors;
* @author Licc
* @date: 2020-10-10 14:20
*/
public class Order extends OrderDetail implements Serializable {
/* 主键id */
private Long id;
/* 订单编码 */
@ExportConfig(value = "订单编码", width = 100, showLevel = 1)
private String orderCode;
/* 咨询单id */
@ExportConfig(value = "咨询单id", width = 100, showLevel = 1)
private Long consultId;
/* 咨询单编码 */
@ExportConfig(value = "咨询单编码", width = 100, showLevel = 1)
/* 单编码 */
@ExportConfig(value = "单编码", width = 100, showLevel = 1)
private String number;
/* 所属会员id */
@ExportConfig(value = "所属会员id", width = 100, showLevel = 1)
......@@ -114,16 +110,6 @@ public class Order extends OrderDetail implements Serializable {
this.id = id;
}
@Override
public String getOrderCode() {
return orderCode;
}
@Override
public void setOrderCode(String orderCode) {
this.orderCode = orderCode;
}
public Long getConsultId() {
return consultId;
}
......
......@@ -20,9 +20,6 @@ public class OrderDetail implements Serializable {
/* 订单id */
@ExportConfig(value = "订单id", width = 100, showLevel = 1)
private Long orderId;
/* 订单编码 */
@ExportConfig(value = "订单编码", width = 100, showLevel = 1)
private String orderCode;
/* 商品id */
@ExportConfig(value = "商品id", width = 100, showLevel = 1)
private Long drugsId;
......
......@@ -11,8 +11,6 @@ import lombok.Data;
public class OrderDetailDto {
/* 订单id */
private Long orderId;
/* 订单编码 */
private String orderCode;
/* 商品id */
private Long drugsId;
private Long drugsNum;
......
......@@ -13,9 +13,10 @@ import java.util.Date;
@Data
public class OrderFromVO {
private Long id;
private String orderCode;
private String number;
private String courierNumber;
private String productNumber;
private String productName;
private Long productId;
private Long drugsNum;
private double orderAmount;
......
......@@ -12,9 +12,6 @@ import java.util.Date;
*/
@Data
public class OrderVO {
/* 订单编码 */
@ExportConfig(value = "订单编码", width = 100, showLevel = 1)
private String orderCode;
/* 产品编码 */
@ExportConfig(value = "商品编码",width = 100,showLevel = 1)
private String productNumber;
......
......@@ -106,7 +106,6 @@ public class OrderServiceImpl extends GenericServiceImpl<Order> implements Order
orderDetailDto = new OrderDetailDto();
Order orders = orderMapper.fetchOrder(id);
orderDetailDto.setOrderId(id);
orderDetailDto.setOrderCode(orders.getOrderCode());
orderDetailDto.setDrugsId(productDtos.getId());
orderDetailDto.setOpenid(orders.getOpenid());
orderDetailDto.setPrice(productDtos.getPrice());
......
package com.cftech.order.web;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONAware;
import com.alibaba.fastjson.JSONObject;
import com.alibaba.fastjson.serializer.SerializerFeature;
import com.cftech.order.model.Order;
......@@ -17,12 +16,11 @@ import com.cftech.core.util.Constants;
import com.cftech.order.utils.DoubleJSONFilter;
import com.cftech.sys.security.UserUtils;
import lombok.extern.slf4j.Slf4j;
import net.sf.json.JSONArray;
import org.apache.commons.lang3.StringUtils;
import org.apache.shiro.authz.annotation.RequiresPermissions;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.util.StringUtils;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;
......@@ -76,19 +74,35 @@ public class OrderController {
OrderFromVO orderFromVO = orderService.fetchId(id);
List<OrderFromVO> fromVO = orderService.fetchProductId(id);
JSONObject jsonObject = JSON.parseObject(JSON.toJSONString(orderFromVO));
String jsonArray = JSON.toJSONString(fromVO, DOUBLE_JSON_FILTER ,SerializerFeature.WriteMapNullValue);
String jsonArray = JSON.toJSONString(fromVO, DOUBLE_JSON_FILTER, SerializerFeature.WriteMapNullValue);
model.addAttribute("data", jsonObject);
model.addAttribute("list", jsonArray);
}
return "order/orderform";
}
//订单出货页面
@RequiresPermissions(value = ORDER_VIEW)
@RequestMapping("/sendOut")
public String sendOut(HttpServletRequest request, String id, Model model) {
if (StringUtils.isNoneBlank(id)) {
OrderFromVO orderFromVO = orderService.fetchId(id);
List<OrderFromVO> fromVO = orderService.fetchProductId(id);
JSONObject jsonObject = JSON.parseObject(JSON.toJSONString(orderFromVO));
String jsonArray = JSON.toJSONString(fromVO, DOUBLE_JSON_FILTER, SerializerFeature.WriteMapNullValue);
model.addAttribute("data", jsonObject);
model.addAttribute("list", jsonArray);
}
return "order/orderSendOut";
}
@RequestMapping("/fromProduct")
@ResponseBody
public JSONObject fromProduct(){
public JSONObject fromProduct() {
List<ProductOrder> orders = orderService.listProduct();
String jsonArray = JSON.toJSONString(orders, DOUBLE_JSON_FILTER ,SerializerFeature.WriteMapNullValue);
String jsonArray = JSON.toJSONString(orders, DOUBLE_JSON_FILTER, SerializerFeature.WriteMapNullValue);
JSONObject object = new JSONObject();
object.put("data",jsonArray);
object.put("data", jsonArray);
return object;
}
......@@ -97,7 +111,7 @@ public class OrderController {
@RequiresPermissions(value = ORDER_EDIT)
@PostMapping(value = "/formData", produces = {"application/json;charset=utf-8"})
@ResponseBody
public JSONObject formData(HttpServletRequest request,String datas) {
public JSONObject formData(HttpServletRequest request, String datas) {
Long accountsId = UserUtils.getmpaccounts(request);
JSONObject jsonObject = orderService.newlyAdded(datas, accountsId);
return jsonObject;
......@@ -114,14 +128,14 @@ public class OrderController {
conds.equal("o.del_flag", Constants.DEL_FLAG_0);
conds.equal("o.accounts_id", accountsId);
Sort sort = new Sort("o.create_time", OrderType.DESC);
if(!StringUtils.isEmpty(order.getOrderCode())){
conds.like("o.order_code",order.getOrderCode()) ;
if (!StringUtils.isEmpty(order.getNumber())) {
conds.like("o.order_code", order.getNumber());
}
if (!StringUtils.isEmpty(order.getProductName())){
conds.like("t.product_name",order.getProductName());
if (!StringUtils.isEmpty(order.getProductName())) {
conds.like("t.product_name", order.getProductName());
}
List<Order> list = orderService.fetchSearchBy(conds, sort, iDisplayStart, iDisplayLength,id);
List<Order> list = orderService.fetchSearchBy(conds, sort, iDisplayStart, iDisplayLength, id);
Integer counts = orderService.count(conds);
JSONObject rtnJson = new JSONObject();
rtnJson.put("iTotalRecords", counts);
......@@ -156,9 +170,8 @@ public class OrderController {
List<Order> list = orderService.fetchSearchByPage(conds, sort, 0, 0);
SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd");
LinkedList<OrderVO> orderVOS = new LinkedList<>();
for(Order order :list){
for (Order order : list) {
OrderVO orderVO = new OrderVO();
orderVO.setOrderCode(order.getOrderCode());
orderVO.setProductNumber(order.getProductNumber());
orderVO.setProductName(order.getProductName());
orderVO.setOrderAmount(order.getOrderAmount());
......@@ -185,7 +198,7 @@ public class OrderController {
if (file == null) {
return list(request, model);
}
// 构造临时路径来存储上传的文件
// 构造临时路径来存储上传的文件
String uploadPath = System.getProperty("java.io.tmpdir");
File uploadDir = new File(uploadPath);
if (!uploadDir.exists()) {
......
......@@ -320,7 +320,7 @@
$("#columnSelect").click(function () {
Cfapp.f7({
dataUrl: classify,
checkType: 'single', // 多选为multi
checkType: 'multi', // 多选为multi
title: "选择产品分类",
btnoktext: "确定",
btncanceltext: "取消",
......
......@@ -2,12 +2,12 @@
# Redis\u6570\u636E\u5E93\u7D22\u5F15\uFF08\u9ED8\u8BA4\u4E3A0\uFF09
spring.redis.database=15
# Redis\u670D\u52A1\u5668\u5730\u5740
spring.redis.host=211.159.220.36
spring.redis.host=r-uf6ofe37sshorzyjw1pd.redis.rds.aliyuncs.com
#spring.redis.host=127.0.0.1
# Redis\u670D\u52A1\u5668\u8FDE\u63A5\u7AEF\u53E3
spring.redis.port=6379
# Redis\u670D\u52A1\u5668\u8FDE\u63A5\u5BC6\u7801\uFF08\u9ED8\u8BA4\u4E3A\u7A7A\uFF09
spring.redis.password=kqBfJ/3Z9sQe2GNhYe4lLQ==
spring.redis.password=XR123456xr
#spring.redis.password=fyJIAJk9NqYWHoG7Eu+1vg==
# \u8FDE\u63A5\u6C60\u6700\u5927\u8FDE\u63A5\u6570\uFF08\u4F7F\u7528\u8D1F\u503C\u8868\u793A\u6CA1\u6709\u9650\u5236\uFF09
spring.redis.pool.max-active=8
......
......@@ -200,7 +200,7 @@
<table id="table" class="table">
<thead>
<tr>
<th style="width:15%;"><label>公众号</label></th>
<!--<th style="width:15%;"><label>公众号</label></th>-->
<th style="width:45%;"><label>角色</label></th>
<th style="width:30%;"></th>
</tr>
......@@ -210,7 +210,7 @@
</tbody>
</table>
</div>
<button type="button" class="btn btn-info" id="addAccounts">添加公众号</button>
<!--<button type="button" class="btn btn-info" id="addAccounts">添加公众号</button>-->
</div>
<div class="box-footer">
<input class="btn btn-primary" id="save" type="submit" value="保存">
......@@ -306,9 +306,9 @@
var rolehtml = $(".role").html();
var html = "";
html += "<tr class='trEle'>";
html += "<td>";
html += "<select class='form-control select2 account' data-placeholder='请选择公众号'>" + accounthtml;
html += "</select></td>";
// html += "<td>";
// html += "<select class='form-control select2 account' data-placeholder='请选择公众号'>" + accounthtml;
// html += "</select></td>";
html += "<td>";
html += "<select class='form-control select2 role' style='width:100%;' multiple='multiple' data-placeholder='请选择角色'>";
html += rolehtml;
......@@ -338,9 +338,9 @@
var rolehtml = $(".qyrole").html();
var html = "";
html += "<tr class='trEle'>";
html += "<td>";
html += "<select class='form-control select2 qyaccount' data-placeholder='请选择公众号'>" + accounthtml;
html += "</select></td>";
// html += "<td>";
// html += "<select class='form-control select2 qyaccount' data-placeholder='请选择公众号'>" + accounthtml;
// html += "</select></td>";
html += "<td>";
html += "<select class='form-control select2 qyrole' style='width:100%;' multiple='multiple' data-placeholder='请选择角色'>";
html += rolehtml;
......@@ -392,9 +392,9 @@
var rolehtml = $(".role").html();
var html = "";
html += "<tr class='trEle'>";
html += "<td>";
html += "<select class='form-control select2 account' data-placeholder='请选择公众号'>" + accounthtml;
html += "</select></td>";
// html += "<td>";
// html += "<select class='form-control select2 account' data-placeholder='请选择公众号'>" + accounthtml;
// html += "</select></td>";
html += "<td>";
html += "<select class='form-control select2 role' style='width:100%;' multiple='multiple' data-placeholder='请选择角色'>";
html += rolehtml;
......@@ -415,10 +415,10 @@
var rolehtml = $(".qyrole").html();
var html = "";
html += "<tr class='trEle'>";
html += "<td>";
html += "<select class='form-control select2 qyaccount' data-placeholder='请选择企业号'>" + accounthtml;
html += "</select></td>";
html += "<td>";
// html += "<td>";
// html += "<select class='form-control select2 qyaccount' data-placeholder='请选择企业号'>" + accounthtml;
// html += "</select></td>";
// html += "<td>";
html += "<select class='form-control select2 qyrole' style='width:100%;' multiple='multiple' data-placeholder='请选择角色'>";
html += rolehtml;
html += '</select></td>' +
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment