mobile商品查询

This commit is contained in:
mojuncong 2016-05-25 17:25:10 +08:00
parent 69da4f7bec
commit f63dfb8b00
9 changed files with 416 additions and 12 deletions

View file

@ -18,4 +18,32 @@ use Mobile\Service\GoodsQueryService;
$selected= new GoodsQueryService();
$this->ajaxReturn($selected->warehouse());
}
}
public function goodspricelist(){
$this->assign("uri", __ROOT__ . "/");
$this->display();
}
public function querylist(){
$this->assign("uri", __ROOT__ . "/");
if (IS_POST) {
$goodsname=I("post.goodsname");
$warehouse=I("post.warehouse");
$list= new GoodsQueryService();
$this->ajaxReturn($list->goodlist($goodsname, $warehouse));
}
}
public function goodsinfo(){
$this->assign("uri", __ROOT__ . "/");
$this->display();
}
public function queryinfo(){
$this->assign("uri", __ROOT__ . "/");
if (IS_POST) {
$gcode=I("post.gcode");
$warehouse=I("post.warehouse");
$list= new GoodsQueryService();
$this->ajaxReturn($list->goodinfos($gcode,$warehouse));
}
}
}

View file

@ -1,11 +1,77 @@
<?php
namespace Mobile\Service;
class GoodsQueryService {
use Home\Service\PinyinService;
class GoodsQueryService {
public function warehouse(){
$sql="select code,name from t_warehouse";
$warehouse=M()->query($sql);
return $warehouse;
}
public function goodlist($goodsname,$warehouse){
$goodsname=$goodsname;
$warehouse=$warehouse;
$sql="select v.code,v.name,v.spec from t_goods v where v.data_org=(select t.data_org from t_warehouse t where t.code='%s') and (v.py like '%s' or v.code = '%s') limit 10";
$param1=$warehouse;
$pys= new PinyinService();
$py = $pys->toPY($goodsname);
$param2="%{$py}%";
$result=M()->query($sql,$param1,$param2,$goodsname);
return $result;
}
public function goodinfos($gcode,$warehouse){
$param1=$gcode;
$param2=$warehouse;
$sq1="select v.code,v.name,v.spec from t_goods v where v.data_org=(select t.data_org from t_warehouse t where t.code='%s') and v.code='%s' order by v.name desc limit 1";
$sq2="select v.name from t_goods_unit v where v.id=(select t.id from t_goods t where t.code='%s') limit 1";
$sq3="select name from t_warehouse where code='%s'limit 1";
$sq4="select v.balance_count from t_inventory_detail v where v.goods_id=(select t.id from t_goods t where t.code='%s') order by v.date_created desc limit 1";
$sq5="select d.goods_price from t_ws_bill w, t_ws_bill_detail d where w.id = d.wsbill_id and d.goods_id = (select t.id from t_goods t where t.code='%s') order by w.bizdt desc limit 1";
$sq6="select d.goods_price from t_pw_bill p, t_pw_bill_detail d where p.id = d.pwbill_id and d.goods_id = (select t.id from t_goods t where t.code='%s') order by p.biz_dt desc limit 1";
$r1=M()->query($sq1,$param2,$param1);
$r2=M()->query($sq2,$param1);
$r3=M()->query($sq3,$param2);
$r4=M()->query($sq4,$param1);
$r5=M()->query($sq5,$param1);
$r6=M()->query($sq6,$param1);
foreach ($r1 as $i=>$v){
$result["name"]=$v["name"];
$result["code"]=$v["code"];
$result["spec"]=$v["spec"];
}
foreach ($r2 as $i=>$v){
$result["unit"]=$v["name"];
}
foreach ($r3 as $i=>$v){
$result["warehouse"]=$v["name"];
}
foreach ($r4 as $i=>$v){
$result["count"]=$v["balance_count"];
}
foreach ($r5 as $i=>$v){
$result["sale"]=$v["goods_price"];
}
foreach ($r6 as $i=>$v){
$result["purchase"]=$v["goods_price"];
}
// $result["name"]=$r1["name"];
// $result["code"]=$r1["code"];
// $result["spec"]=$r1["spec"];
// $result["unit"]=$r2["name"];
// $result["warehouse"]=$r3["name"];
// $result["count"]=$r4["balance_count"];
// $result["sale"]=$r5["goods_price"];
// $result["purchase"]=$r6["goods_price"];
return [$result];
}
}

View file

@ -0,0 +1,85 @@
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width,initial-scale=1,minimum-scale=1,maximum-scale=1,user-scalable=no" />
<link rel="stylesheet" href="{$uri}Public/mui/css/mui.min.css">
<link rel="stylesheet" href="{$uri}Public/mui/css/style.css">
<style>
.area {
margin: 20px auto 0px auto;
}
.mui-input-group {
margin-top: 10px;
}
.mui-input-group:first-child {
margin-top: 20px;
}
.mui-input-group label {
width: 22%;
}
.mui-input-row label~input,
.mui-input-row label~select,
.mui-input-row label~textarea {
width: 78%;
}
.mui-checkbox input[type=checkbox],
.mui-radio input[type=radio] {
top: 6px;
}
.mui-content-padded {
margin-top: 40px;
}
.mui-btn {
padding: 10px;
}
.link-area {
display: block;
margin-top: 25px;
text-align: center;
}
.spliter {
color: #bbb;
padding: 0px 8px;
}
</style>
<title>商品详细信息</title>
</head>
<body>
<div class="mui-content">
<div class="mui-table-padded" id="tb">
<ul class="mui-table-view" id="goodsinfo">
</ul>
</div>
<div class="mui-content-padded">
<div><button id='back' class="mui-btn mui-btn-block mui-btn-royal">返回</button> </div>
</div>
</div>
<script src="{$uri}Public/mui/js/mui.min.js"></script>
<script src="{$uri}Public/mui/js/jquery-2.1.4.min.js"></script>
<script src="{$uri}Public/mui/js/goodsquery.js"></script>
<script src="{$uri}Public/mui/js/app.js"></script>
<script>
var uri="{$uri}";
window.onload=function(){
var gcode=getUrlParam('gcode');
displayinfo(gcode);
}
var settings=getSettings();
var session = getSession();
var state = getState();
if(!session && !(settings.autoLogin && state.token))
location.replace("{$uri}mobile/login/login");
var backButton=document.getElementById('back');
backButton.addEventListener('tap',function(event) {
location.replace("{$uri}mobile/GoodsQuery/goodspricelist");
});
</script>
</body>
</html>

View file

@ -0,0 +1,115 @@
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width,initial-scale=1,minimum-scale=1,maximum-scale=1,user-scalable=no" />
<title>商品例表</title>
<link rel="stylesheet" href="{$uri}Public/mui/css/mui.min.css">
<link rel="stylesheet" href="{$uri}Public/mui/css/style.css">
<style>
.area {
margin: 20px auto 0px auto;
}
.mui-input-group {
margin-top: 10px;
}
.mui-input-group:first-child {
margin-top: 20px;
}
.mui-input-group label {
width: 22%;
}
.mui-input-row label~input,
.mui-input-row label~select,
.mui-input-row label~textarea {
width: 78%;
}
.mui-checkbox input[type=checkbox],
.mui-radio input[type=radio] {
top: 6px;
}
.mui-content-padded {
margin-top: 40px;
}
.mui-table-padded {
margin-top: 10px;
}
.mui-btn {
padding: 10px;
}
.link-area {
display: block;
margin-top: 25px;
text-align: center;
}
.spliter {
color: #bbb;
padding: 0px 8px;
}
</style>
</head>
<body>
<div class="mui-content">
<form id='querryprice-form' class="mui-input-group">
<div class="mui-input-row">
<label>商品</label>
<input id='goods' type="text" class="mui-input-clear mui-input" >
</div>
<div class="mui-input-row">
<label>仓库</label>
<select id="wareHouseIdSelect" >
</select>
</div>
</form>
<div class="mui-table-padded" id="tb"><table border="1" id="listtable" width="100%">
<tr>
<td>商品编码</td>
<td>商品名字</td>
<td>规格型号</td>
</tr>
</table>
</div>
<div class="mui-content-padded">
<div><button id='query' class="mui-btn mui-btn-block mui-btn-primary">查询</button></div>
<div><button id='back' class="mui-btn mui-btn-block mui-btn-royal">返回</button> </div>
</div>
</div>
<script src="{$uri}Public/mui/js/mui.min.js"></script>
<script src="{$uri}Public/mui/js/jquery-2.1.4.min.js"></script>
<script src="{$uri}Public/mui/js/goodsquery.js"></script>
<script src="{$uri}Public/mui/js/app.js"></script>
<script>
var uri="{$uri}";
var wareHouseIdSelectd=document.getElementById('wareHouseIdSelect');
window.onload=function(){
selects(wareHouseIdSelect);
goodslist();
}
var settings=getSettings();
var session = getSession();
var state = getState();
if(!session && !(settings.autoLogin && state.token))
location.replace("{$uri}mobile/login/login");
var backButton=document.getElementById('back');
var queryButton=document.getElementById('query');
backButton.addEventListener('tap',function(event) {
location.replace("{$uri}mobile/GoodsQuery/querygoodsprice");
sessionStorage.setItem('goodsname',"");
sessionStorage.setItem('warehouse',"");
});
queryButton.addEventListener('tap',function(event) {
var goodsname=$("#goods").val();
var warehouse=$("#wareHouseIdSelect").find("option:selected").val();
goodsQuery(goodsname,warehouse);
});
</script>
</body>
</html>

View file

@ -31,7 +31,7 @@
top: 6px;
}
.mui-content-padded {
margin-top: 25px;
margin-top: 40px;
}
.mui-btn {
padding: 10px;
@ -49,11 +49,11 @@
</head>
<body >
<div class="mui-content">
<div >
<form id='querryprice-form' class="mui-input-group">
<div class="mui-input-row">
<label>商品</label>
<input id='goods' type="text" class="mui-input-clear mui-input">
<input id='goods' type="text" class="mui-input-clear mui-input" placeholder="请输入商品名称或拼音缩写">
</div>
<div class="mui-input-row">
<label>仓库</label>
@ -62,18 +62,46 @@
</select>
</div>
</form>
</div>
<div class="mui-content-padded">
<div><button id='query' class="mui-btn mui-btn-block mui-btn-primary">查询</button></div>
<div><button id='cleard' class="mui-btn mui-btn-block mui-btn-danger">清空</button></div>
<div><button id='back' class="mui-btn mui-btn-block mui-btn-royal">返回</button> </div>
</div>
</div>
<script src="{$uri}Public/mui/js/mui.min.js"></script>
<script src="{$uri}Public/mui/js/jquery-2.1.4.min.js"></script>
<script src="{$uri}Public/mui/js/goodsquery.js"></script>
<script src="{$uri}Public/mui/js/app.js"></script>
<script>
var uri="{$uri}";
var wareHouseIdSelectd=document.getElementById('wareHouseIdSelect');
window.onload=function(){
selects(wareHouseIdSelect);
}
var settings=getSettings();
var session = getSession();
var state = getState();
if(!session && !(settings.autoLogin && state.token))
location.replace("{$uri}mobile/login/login");
var backButton=document.getElementById('back');
var queryButton=document.getElementById('query');
var clearButton=document.getElementById('cleard');
backButton.addEventListener('tap',function(event) {
location.replace("{$uri}mobile/index/index");
});
clearButton.addEventListener('tap',function(event) {
$("#goods").val("");
});
queryButton.addEventListener('tap',function(event) {
var goodsname=$("#goods").val();
var warehouse=$("#wareHouseIdSelect").find("option:selected").val();
goodsQuery(goodsname,warehouse);
});
</script>

View file

@ -12,9 +12,9 @@
</a>
</li>
<li id='close1' class="mui-table-view-cell mui-media mui-col-xs-4 mui-col-sm-3">
<span class="mui-icon mui-icon-close"></span>
<div class="mui-media-body">退出</div>
<a><span class="mui-icon mui-icon-close"></span>
<div class="mui-media-body">退出</div>
</a>
</li>
</ul>
<script>

View file

@ -119,7 +119,7 @@
setSettings(settings);
}, 50);
}, false);
</script>

View file

@ -3,7 +3,7 @@
<head>
<meta charset="utf-8">
<title>开源进销存PSI</title>
<meta name="viewport" content="width=device-width, initial-scale=1,maximum-scale=1,user-scalable=no">
<meta name="viewport" content="width=device-width,initial-scale=1,minimum-scale=1,maximum-scale=1,user-scalable=no" />
<meta name="apple-mobile-web-app-capable" content="yes">
<meta name="apple-mobile-web-app-status-bar-style" content="black">

View file

@ -19,4 +19,86 @@
}
);
}
}
function goodsQuery(goodsname,warehouse){
goodsname=goodsname;
warehouse=warehouse;
sessionStorage.setItem('goodsname',goodsname);
sessionStorage.setItem('warehouse',warehouse);
location.replace(window.uri+"mobile/GoodsQuery/goodspricelist");
}
function goodslist(){
var goodsname=sessionStorage.getItem('goodsname');
var warehouse=sessionStorage.getItem('warehouse');
$.post(window.uri+"Mobile/GoodsQuery/querylist",
{
goodsname:goodsname,
warehouse:warehouse
},
function(data){
if(data!=null){
$.each(data,function(key,value){
a=window.uri+"Mobile/GoodsQuery/goodsinfo";
$(listtable).append("<tr><td><a href="+a+"?gcode="+value["code"]+">"+value["code"]+"</a></td>"+"<td>"+value["name"]+"</td><td>"+value["spec"]+"</td></tr>"); ;
});
}
else{
$(tb).append("<ul>查询不到结果<ol>");
}
}
);
}
function displayinfo(gcode){
var gcode=gcode;
var warehouse=sessionStorage.getItem('warehouse');
$.post(window.uri+"Mobile/GoodsQuery/queryinfo",
{
gcode:gcode,
warehouse:warehouse
},
function(data){
$.each(data,function(key,value){
if(value["count"]==null){
$(goodsinfo).append("<li class='mui-table-view-cell'>本商品还没入过库</li>");
}else{
$(goodsinfo).append("<li class='mui-table-view-cell'>商品编码:&nbsp;&nbsp;&nbsp;&nbsp"+value["code"] +"</li>");
$(goodsinfo).append("<li class='mui-table-view-cell'>商品名称:&nbsp;&nbsp;"+value["name"] +"</span></li>");
$(goodsinfo).append("<li class='mui-table-view-cell'>规格型号:"+value["spec"] +"</li>");
$(goodsinfo).append("<li class='mui-table-view-cell'>计量单位:&nbsp;&nbsp;"+value["unit"]+"</li>");
$(goodsinfo).append("<li class='mui-table-view-cell'>仓库:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;"+value["warehouse"] +"</li>");
$(goodsinfo).append("<li class='mui-table-view-cell'>库存数量:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;"+value["count"] +"</li>");
$(goodsinfo).append("<li class='mui-table-view-cell'>最近销售价格:"+value["sale"] +"</li>");
$(goodsinfo).append("<li class='mui-table-view-cell'>最近采购价格:"+value["purchase"] +"</li>");
}
});
}
);
}
function getUrlParam(name){
//构造一个含有目标参数的正则表达式对象
var reg = new RegExp("(^|&)"+ name +"=([^&]*)(&|$)");
//匹配目标参数
var r = window.location.search.substr(1).match(reg);
//返回参数值
if (r!=null) return unescape(r[2]);
return null;
}