mirror of
https://github.com/mojuncong/psi.git
synced 2024-09-20 06:46:10 +08:00
mobile商品查询
This commit is contained in:
parent
69da4f7bec
commit
f63dfb8b00
|
@ -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));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -1,5 +1,6 @@
|
|||
<?php
|
||||
namespace Mobile\Service;
|
||||
use Home\Service\PinyinService;
|
||||
class GoodsQueryService {
|
||||
public function warehouse(){
|
||||
$sql="select code,name from t_warehouse";
|
||||
|
@ -7,5 +8,70 @@
|
|||
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];
|
||||
|
||||
|
||||
|
||||
}
|
||||
}
|
85
web/Application/Mobile/View/GoodsQuery/goodsinfo.html
Normal file
85
web/Application/Mobile/View/GoodsQuery/goodsinfo.html
Normal 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>
|
115
web/Application/Mobile/View/GoodsQuery/goodspricelist.html
Normal file
115
web/Application/Mobile/View/GoodsQuery/goodspricelist.html
Normal 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>
|
|
@ -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 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>
|
||||
|
||||
|
|
|
@ -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>
|
||||
<a><span class="mui-icon mui-icon-close"></span>
|
||||
<div class="mui-media-body">退出</div>
|
||||
|
||||
</a>
|
||||
</li>
|
||||
</ul>
|
||||
<script>
|
||||
|
|
|
@ -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">
|
||||
|
||||
|
|
|
@ -20,3 +20,85 @@
|
|||
|
||||
);
|
||||
}
|
||||
|
||||
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'>商品编码:  "+value["code"] +"</li>");
|
||||
$(goodsinfo).append("<li class='mui-table-view-cell'>商品名称: "+value["name"] +"</span></li>");
|
||||
$(goodsinfo).append("<li class='mui-table-view-cell'>规格型号:"+value["spec"] +"</li>");
|
||||
$(goodsinfo).append("<li class='mui-table-view-cell'>计量单位: "+value["unit"]+"</li>");
|
||||
$(goodsinfo).append("<li class='mui-table-view-cell'>仓库: "+value["warehouse"] +"</li>");
|
||||
$(goodsinfo).append("<li class='mui-table-view-cell'>库存数量: "+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;
|
||||
|
||||
}
|
||||
|
Loading…
Reference in a new issue