c39f8841 by liuhejuan

spd-pad项目代码

1 parent b3dedc97
Showing 139 changed files with 23838 additions and 0 deletions
<?xml version="1.0" encoding="UTF-8"?>
<projectDescription>
<name>spd</name>
<comment></comment>
<projects>
</projects>
<buildSpec>
<buildCommand>
<name>com.aptana.ide.core.unifiedBuilder</name>
<arguments>
</arguments>
</buildCommand>
<buildCommand>
<name>com.pandora.projects.ui.MKeyBuilder</name>
<arguments>
</arguments>
</buildCommand>
</buildSpec>
<natures>
<nature>com.pandora.projects.ui.MKeyNature</nature>
<nature>com.aptana.projects.webnature</nature>
</natures>
<filteredResources>
<filter>
<id>1537165259397</id>
<name></name>
<type>26</type>
<matcher>
<id>org.eclipse.ui.ide.multiFilter</id>
<arguments>1.0-name-matches-false-false-node_modules</arguments>
</matcher>
</filter>
<filter>
<id>1537265424073</id>
<name></name>
<type>26</type>
<matcher>
<id>org.eclipse.ui.ide.multiFilter</id>
<arguments>1.0-name-matches-false-false-node_modules</arguments>
</matcher>
</filter>
<filter>
<id>1537983961577</id>
<name></name>
<type>26</type>
<matcher>
<id>org.eclipse.ui.ide.multiFilter</id>
<arguments>1.0-name-matches-false-false-node_modules</arguments>
</matcher>
</filter>
<filter>
<id>1538142712517</id>
<name></name>
<type>26</type>
<matcher>
<id>org.eclipse.ui.ide.multiFilter</id>
<arguments>1.0-name-matches-false-false-node_modules</arguments>
</matcher>
</filter>
</filteredResources>
</projectDescription>
<?xml version="1.0" standalone="no"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg class="icon" width="48px" height="48.00px" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg"><path fill="#f2a11c" d="M868.593046 403.832442c-30.081109-28.844955-70.037123-44.753273-112.624057-44.753273L265.949606 359.079168c-42.554188 0-82.510202 15.908318-112.469538 44.690852-30.236652 28.782533-46.857191 67.222007-46.857191 108.198258l0 294.079782c0 40.977273 16.619516 79.414701 46.702672 108.136859 29.959336 28.844955 70.069869 44.814672 112.624057 44.814672l490.019383 0c42.585911 0 82.696444-15.969717 112.624057-44.814672 30.082132-28.844955 46.579875-67.222007 46.579875-108.136859L915.172921 511.968278C915.171897 471.053426 898.675178 432.677397 868.593046 403.832442zM841.821309 806.049083c0 22.098297-8.882298 42.772152-25.099654 58.306964-16.154935 15.661701-37.81935 24.203238-60.752666 24.203238L265.949606 888.559285c-22.934339 0-44.567032-8.54256-60.877509-24.264637-16.186657-15.474436-25.067932-36.148291-25.067932-58.246589L180.004165 511.968278c0-22.035876 8.881274-42.772152 25.192775-58.307987 16.186657-15.536858 37.81935-24.139793 60.753689-24.139793l490.019383 0c22.933315 0 44.597731 8.602935 60.752666 24.139793 16.21838 15.535835 25.099654 36.272112 25.099654 58.307987L841.822332 806.049083zM510.974136 135.440715c114.914216 0 208.318536 89.75214 208.318536 200.055338l73.350588 0c0-149.113109-126.366036-270.496667-281.669124-270.496667-155.333788 0-281.699824 121.383558-281.699824 270.496667l73.350588 0C302.623877 225.193879 396.059919 135.440715 510.974136 135.440715zM474.299865 747.244792l73.350588 0L547.650453 629.576859l-73.350588 0L474.299865 747.244792z" /></svg>
\ No newline at end of file
<?xml version="1.0" standalone="no"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg t="1537252931070" class="icon" style="" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="1137" xmlns:xlink="http://www.w3.org/1999/xlink" width="200" height="200"><defs><style type="text/css"></style></defs><path d="M510.545 28.22c-267.043 0-483.521 216.477-483.521 483.52s216.479 483.521 483.521 483.521 483.52-216.479 483.52-483.521S777.588 28.22 510.545 28.22zM776.855 407.855l-315.37 315.37c-9.763 9.763-22.559 14.645-35.355 14.645-12.796 0-25.592-4.882-35.355-14.645l-176.13-176.13c-19.526-19.525-19.526-51.184 0-70.71 19.526-19.526 51.184-19.527 70.711 0L426.13 617.159l280.015-280.015c19.527-19.526 51.184-19.526 70.711 0C796.382 356.671 796.382 388.329 776.855 407.855z" p-id="1138" fill="#f2a11c"></path></svg>
\ No newline at end of file
<?xml version="1.0" standalone="no"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg t="1537337112042" class="icon" style="" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="3922" xmlns:xlink="http://www.w3.org/1999/xlink" width="128" height="128"><defs><style type="text/css"></style></defs><path d="M515.478588 14.230588c-274.025412 0-496.941176 222.945882-496.941176 496.941176 0 274.010353 222.915765 496.926118 496.941176 496.926118 273.980235 0 496.926118-222.915765 496.926118-496.926118C1012.404706 237.176471 789.473882 14.230588 515.478588 14.230588zM801.942588 878.742588c-14.652235-145.182118-137.532235-258.846118-286.479059-258.846118-148.946824 0-271.826824 113.679059-286.464 258.846118C119.627294 793.313882 49.136941 660.374588 49.136941 511.171765c0-257.144471 209.212235-466.386824 466.356706-466.386824 257.129412 0 466.341647 209.242353 466.341647 466.386824C981.820235 660.374588 911.329882 793.344 801.942588 878.742588z" p-id="3923" fill="#f2a11c"></path><path d="M511.713882 241.829647c-89.765647 0-162.816 73.065412-162.816 162.816s73.065412 162.800941 162.816 162.800941c89.720471 0 162.785882-73.035294 162.785882-162.800941S601.434353 241.829647 511.713882 241.829647z" p-id="3924" fill="#f2a11c"></path></svg>
\ No newline at end of file
<?xml version="1.0" standalone="no"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg class="icon" width="48px" height="48.00px" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg"><path fill="#f2a11c" d="M691.2 569.6c81.067-55.467 134.4-149.333 134.4-256C825.6 140.8 684.8 0 512 0S200.533 140.8 200.533 311.467c0 106.666 53.334 200.533 134.4 256C151.467 640 23.467 817.067 23.467 1024h87.466c0-204.8 155.734-375.467 354.134-398.933 2.133 0 55.466-4.267 100.266 0h4.267c194.133 27.733 343.467 194.133 343.467 396.8h89.6C1000.533 817.067 872.533 640 691.2 569.6zM512 546.133c-130.133 0-234.667-104.533-234.667-234.666C277.333 181.333 381.867 76.8 512 76.8c130.133 0 234.667 104.533 234.667 234.667 0 130.133-104.534 234.666-234.667 234.666z" /></svg>
\ No newline at end of file
<!--验收列表 - 药品信息 列表页 - wwb-->
<!doctype html>
<html>
<head>
<meta charset="UTF-8">
<title></title>
<link rel="import" href="batch_list_tpl.html" id="list_tpl" />
<meta name="viewport" content="width=device-width,initial-scale=1,minimum-scale=1,maximum-scale=1,user-scalable=no" />
<link href="../../css/mui.min.css" rel="stylesheet" />
<link href="../../css/themes.css" rel="stylesheet" />
<link href="../../css/index_view.css" rel="stylesheet" />
</head>
<body>
<div class="mui-content">
<header class="mui-bar mui-bar-nav themes_bg_color">
<a class="mui-action-back mui-icon mui-icon-left-nav mui-pull-left">
<label class="mui-pull-right theme_back_font">返回</label>
</a>
<h1 class="mui-title themes_title">药品信息</h1>
</header>
<div class="home-card-wrapper" style="padding: 8px;margin-top: 0;margin-bottom: 8px;">
<div class="home-card-title">待验收</div>
</div>
<div id="slider" class="mui-slider themes_tab mui-fullscreen" style="margin-top: 45px;padding-bottom: 59px;">
<div class="mui-slider-group">
<div id="item1mobile" class="mui-slider-item mui-control-content">
<div id="scroll1" class="mui-scroll-wrapper">
<div class="mui-scroll" id="mui-table-view-tab1">
<ul class="mui-table-view">
<li class="mui-table-view-cell mui-tab1" style="padding: 0;">
</li>
</ul>
</div>
</div>
</div>
</div>
</div>
<div class="fix_bottom-wraper">
<div class="fix-bottom-content">
<div class="mui-checkbox mui-left">
<label>全选</label>
<input name="checkboxAll" value="1" id="checkall" type="checkbox" style="top: -5px;z-index: 10;">
</div>
<span style="margin-left: 8px;">已选中 <label class="total"> 0 </label></span>
</div>
<a href="javascript:;" class="btn acceptance fix-bottom-extra">验 收</a>
</div>
</div>
<script src="../../js/mui.min.js"></script>
<script src="../../js/jquery.min.js"></script>
<script src="../../js/mui.pullToRefresh.js"></script>
<script src="../../js/mui.pullToRefresh.material.js"></script>
<script src="../../js/template-web.js" type="text/javascript" charset="utf-8"></script>
<script src="../../js/utils.js" type="text/javascript" charset="utf-8"></script>
<script src="../../js/common.js" type="text/javascript" charset="utf-8"></script>
<script src="../../js/request.js" type="text/javascript" charset="utf-8"></script>
<script type="text/javascript">
(function($, $JQ) {
$.init({
beforeback: function() {
var list = plus.webview.currentWebview().opener();
mui.fire(list, 'pagefresh', { selectTabs: '1', query: params.query || {} });
return true;
}
})
var page = 1,
totalPage = undefined,
pageSize = 15,
isMore = true;
var checkType = undefined,
status = undefined, // 验收单类型 // 验收状态 1 待验收 2 已验收
params = undefined,
distributeCode = undefined,
isShowTemprature = undefined,
barcode = undefined,
isPsList = undefined,
selectedRows = [],
acceptList = [],// 数据
selecteIndex = [];
var _url = '/a/exam/detail', // 分页接口
checkUrl = '/a/checkacceptdetail/checkList';
/* 渲染模板 */
var utils = new Utils();
utils.appendModule('#list_tpl');
var deceleration = mui.os.ios?0.003:0.0009;
$('.mui-scroll-wrapper').scroll({
bounce: true,
indicators: true, //是否显示滚动条
deceleration:deceleration
});
function template(data, insertType,render) {
utils.innerTplHtml('batch_list_tpl_view', '.mui-tab1', data, insertType);
if(render){
var checkList = document.querySelectorAll('.checkone');
mui.each(selecteIndex, function(index, item) {
checkList[item].checked = true;
});
}
}
/* 下拉刷新 */
function pulldownRefresh() {
// 重置 勾选项
document.querySelector('.total').innerText = 0;
document.querySelector('#checkall').checked = false;
selecteIndex = [];
var self = this;
page = 1;
var postData = {
distributeCode: distributeCode,
status: status,
pageNo: page,
pageSize: pageSize
};
if(barcode){
postData = {
barcode: barcode,
status: status,
pageNo: page,
pageSize: pageSize
};
}
mui.ajaxRequest(_url, {
type: 'POST',
data: postData,
success: function(data) {
if(data.code == 200){
var resData = data.data;
resData.page = page;
resData.pageSize = pageSize;
acceptList = resData.list;
resData.acceptance = true;
resData.checkType = checkType;
resData.barcode = barcode;
resData.isPsList = isPsList;
totalPage = data.totalPage;
console.log( resData.list.length === 0 || (resData.list.length <= resData.pageSize && resData.pageNo === resData.totalPage))
if(resData.list.length === 0 || (resData.list.length <= resData.pageSize && resData.pageNo === resData.totalPage)){
isMore = false;
self.endPullDownToRefresh(true);
document.querySelectorAll('.mui-pull-loading')[0].innerHTML = '没有更多数据';
} else {
isMore = true;
self.endPullDownToRefresh(false);
self.refresh(true);
}
return template(resData, false)
}else{
self.endPullDownToRefresh(true);
document.querySelectorAll('.mui-pull-loading')[0].innerHTML = '没有更多数据';
//mui.alert(data.msg,'提示','确定',function (e) {},'div');
}
},
error: function(xhr, type, errorThrown) {
console.log(xhr.responseText)
}
});
}
/*
* 上拉加载更多
* */
function pullupRefresh() {
document.querySelector('#checkall').checked = false;
var self = this;
console.log(isMore, 'isMore');
if (isMore) {
page++;
var paramData = {
distributeCode: distributeCode,
status: status,
pageNo: page,
pageSize: pageSize
}
if(barcode){
paramData = {
barcode: barcode,
status: status,
pageNo: page,
pageSize: pageSize
};
}
mui.ajaxRequest(_url, {
type: 'POST',
data: paramData,
success: function(data) {
if(data.code == 200){
var resData = data.data;
resData.page = page;
resData.pageSize = pageSize;
mui.each(resData.list,function(index,item){
acceptList.push(item)
});
resData.acceptance = true;
resData.checkType = checkType;
resData.barcode = barcode;
resData.isPsList = isPsList;
if (resData.pageNo === resData.totalPage) {
isMore = false;
self.endPullUpToRefresh(true);
} else {
isMore = true;
self.endPullUpToRefresh(false);
self.refresh(true);
}
return template(resData, true,'rerender')
}else{
//mui.alert(data.msg,'提示','确定',function (e) {},'div');
isMore = false;
self.endPullUpToRefresh(true);
}
},
error: function(xhr, type, errorThrown) {
console.log(xhr.responseText)
}
});
} else {
document.querySelectorAll('.mui-pull-loading')[0].innerHTML = '没有更多数据';
self.endPullUpToRefresh(true);
}
}
// 模板加载
$.plusReady(function() {
window.addEventListener('pagefresh',function(event){
mui('.mui-scroll-wrapper').scroll().scrollTo(0,0,100);
mui(".mui-scroll").pullToRefresh().pullDownLoading();
});
var self = plus.webview.currentWebview();
params = JSON.parse(self.params); //获得参数
distributeCode = params.distributeCode;
status = params.status;
checkType = params.checkType;
isShowTemprature = params.isShowTemprature;
barcode = params.barcode;
isPsList = params.isPsList;
console.log(checkType,'checkType')
console.log(params);
//循环初始化所有下拉刷新,上拉加载。
$.each(document.querySelectorAll('.mui-scroll'), function(index, pullRefreshEl) {
$(pullRefreshEl).pullToRefresh({
down: {
style: 'circle',
contentdown: "下拉可以刷新",
contentover: "释放立即刷新",
contentrefresh: "正在刷新...",
callback: pulldownRefresh
},
up: {
contentrefresh: "正在加载...", //可选,正在加载状态时,上拉加载控件上显示的标题内容
contentnomore: '没有更多数据',
callback: pullupRefresh
}
});
});
// 第一个tab 默认加载一次数据
mui(".mui-scroll").pullToRefresh().pullDownLoading();
// 全选 及反选
$('.fix_bottom-wraper').on('click', '#checkall', function() {
selecteIndex = [];
var checkList = document.querySelectorAll('.checkone');
if (document.querySelector('#checkall').checked) {
// 全选
mui.each(checkList, function(index, item) {
item.checked = true;
selecteIndex.push(index);
});
document.querySelector('.total').innerText = checkList.length;
} else {
// 取消全选
mui.each(checkList, function(index, item) {
item.checked = false
});
document.querySelector('.total').innerText = 0;
selectedRows = [];
selecteIndex = []
}
console.log(selecteIndex)
});
// 复选框选中
$('#slider').on('change', '.checkone', function(e, index) {
selectedRows = [];
selecteIndex = [];
console.log(JSON.stringify(e), this.dataset)
var checkList = document.querySelectorAll('.checkone')
var checkAll = document.querySelector('#checkall');
var checkLen = checkList.length;
var len = 0;
mui.each(checkList,function(index,item){
if(item.checked){
len++;
selecteIndex.push(Number(this.dataset.index));
}
});
checkAll.checked = len === checkLen ? true : false;
document.querySelector('.total').innerText = len;
console.log(selecteIndex)
})
// 绑定事件 --确认验收
$('.fix_bottom-wraper').on('tap', '.acceptance', function() {
document.activeElement.blur(); // 隐藏软键盘
console.log(document.querySelector('.total').innerText)
if (Number(document.querySelector('.total').innerText) === 0) {
return mui.alert('请至少选中一项', '警告', ['确认'], function() {}, 'div')
}
var cards = document.querySelectorAll('.am-card');
let detailList = [],
submitData = {};
if (params.isPsList || params.barcode) {
let selectedCards = [],
cardFactNum = [];
mui.each(selecteIndex, function(index, item) {
selectedCards.push(cards[item]);
if (cards[index].dataset.isusual === '0') {
// 正常单据
cardFactNum.push(cards[item].querySelector('.realReceiveQuantiry'));
} else {
// 异常单据
cardFactNum.push(cards[item].querySelector('.errorQuantiry'))
}
});
var flag = true;
mui.each(cardFactNum, function(index, item) {
if (item.tagName === 'INPUT') {
if (!item.value) {
flag = false;
}
}
})
if (!flag) {
return mui.alert('实到数量不能为空', '警告', ['确定'], function() {}, 'div');
};
mui.each(selectedCards, function(index, item) {
var postData = {};
postData.id = item.dataset.id;
postData.isUsual = item.dataset.isusual;
postData.drugCode = item.dataset.drugcode;
postData.distributeCode = item.dataset.distributecode;
postData.rowNo = item.dataset.rowno;
if (item.dataset.isusual === '0') {
var realReceiveQuantiry = item.querySelector('.realReceiveQuantiry').value;
var realProductTime = item.querySelector('.realProductTime').value;
var productBatchNo = item.querySelector('.productBatchNo').value;
var realValidEndDate = item.querySelector('.realValidEndDate').value;
if (isShowTemprature === 1) {
var realAcceptanceTemperature = item.querySelector('.realAcceptanceTemperature').value;
postData.realAcceptanceTemperature = realAcceptanceTemperature
}
postData.realReceiveQuantiry = realReceiveQuantiry;
postData.realProductTime = realProductTime;
postData.productBatchNo = productBatchNo;
postData.realValidEndDate = realValidEndDate;
} else {
var errorQuantiry = item.querySelector('.errorQuantiry').innerText;
var errRealProductTime = item.querySelector('.errRealProductTime').innerText;
var errVailEndDate = item.querySelector('.errVailEndDate').innerText;
postData.realReceiveQuantiry = errorQuantiry;
postData.realProductTime = errRealProductTime;
postData.productBatchNo = item.dataset.productbatchno;
postData.realValidEndDate = errVailEndDate;
}
detailList.push(postData);
});
} else {
mui.each(selecteIndex, function(index, item) {
let postData = {};
postData.realReceiveQuantiry = acceptList[item].realNum;//应海洪的要求改的
postData.realProductTime = acceptList[item].realProductTime;
postData.productBatchNo = acceptList[item].productBatchNo;
postData.realValidEndDate = acceptList[item].realValidEndDate;
postData.id = acceptList[item].id;
postData.isUsual = acceptList[item].isUsual;
if (isShowTemprature === 1) {
postData.realAcceptanceTemperature = acceptList[item].realAcceptanceTemperature;
}
postData.drugCode = acceptList[item].drugCode;
postData.distributeCode = acceptList[item].distributeCode;
postData.rowNo = acceptList[item].rowNo;
detailList.push(postData);
});
}
submitData.detailList = detailList;
submitData.distributeCode = distributeCode;
if(barcode){
submitData.barcode = barcode;
}
console.log(submitData)
var btnArray = ['否', '是'];
mui.confirm('确认批量验收选中的药品?', '确认', btnArray, function(e) {
if (e.index == 1) {
mui.ajaxRequest(checkUrl, {
type: 'POST',
data: submitData,
showWaiting: true,
contentType: "application/json",
success: function(data) {
if (data.code === 200) {
var text = "验收成功!";
if(data.data[0]){
text = data.data[0];
}
mui.alert(text,'提示','确定',function (e) {
$JQ('.total').text(0);
document.querySelector('#checkall').checked=false;
setTimeout(function(){
mui('.mui-scroll-wrapper').scroll().scrollTo(0,0);
mui(".mui-scroll").pullToRefresh().pullDownLoading();
},300)
},'div');
}else{
mui.alert(data.mag,'提示','确定',function (e) {},'div');
}
},
error: function(xhr, type, errorThrown) {
console.log(xhr.responseText)
}
})
}
}, 'div')
});
//绑定输入实到数量验证
var countModal = false;
$JQ('#slider').on('keyup','.realReceiveQuantiry',function(){
var _this = this,$this = $JQ(this);
var index = this.dataset.index;
var value = Number(this.value?this.value:0);
var _this_node = document.querySelectorAll('.am-card')[index];
var realDeliveryQuantiry = _this_node.dataset.realdeliveryquantiry?_this_node.dataset.realdeliveryquantiry:0;
var realReceiveQuantiry = _this_node.dataset.realnum?_this_node.dataset.realnum:0;
var compareNum = realDeliveryQuantiry;
var text = "实到数量不能大于数量"+compareNum+",且不能小于0!";
if(barcode){
compareNum = realReceiveQuantiry;
text = "实到数量不能大于条码数量"+compareNum+",且不能小于0!";
}
if(!countModal){
if(value<0 || value>compareNum){
countModal = true;
mui.alert(text,'提示','确定',function (e) {
countModal = false;
_this.value = compareNum;
},'div')
}
}
});
//生产日期与有效日期验证
$JQ('#slider').on('change','.realProductTime,.realValidEndDate',function(){
var _this = this,$this = $JQ(this);
var index = this.dataset.index,cls = this.className;
var _this_node = document.querySelectorAll('.am-card')[index];
var realProductTime = _this_node.dataset.realproducttime?_this_node.dataset.realproducttime:"0";
var realValidEndDate = _this_node.dataset.realvalidenddate?_this_node.dataset.realvalidenddate:"0";
var value = this.value?this.value:"0";
var _realProductTime = "",_realValidEndDate = "";
if(realProductTime.indexOf("-") != -1){
_realProductTime = Number(realProductTime.replace(/-/g,""));
}
if(realValidEndDate.indexOf("-") != -1){
_realValidEndDate = Number(realValidEndDate.replace(/-/g,""));
}
if(value.indexOf("-") != -1){
value = Number(value.replace(/-/g,""));
}
if(cls.indexOf("realProductTime")!=-1){//生产日期
var text1 = "生产日期不能大于有效日期!";
if(value > _realValidEndDate){
mui.alert(text1,'提示','确定',function (e) {
_this.value = realProductTime;
},'div')
}
}else if(cls.indexOf("realValidEndDate")!=-1){//有效期至
var text2 = "有效日期不能小于生产日期!";
if(value < _realProductTime){
mui.alert(text2,'提示','确定',function (e) {
_this.value = realValidEndDate;
},'div')
}
}
});
});
})(mui, jQuery);
</script>
</body>
</html>
<!--验收 - 详情页 - wwb-->
<!doctype html>
<html>
<head>
<meta charset="UTF-8">
<title></title>
<link rel="import" href="./detail_tpl.html" id="acc_detail_tpl"/>
<meta name="viewport" content="width=device-width,initial-scale=1,minimum-scale=1,maximum-scale=1,user-scalable=no" />
<link href="../../css/mui.min.css" rel="stylesheet" />
<link href="../../css/themes.css" rel="stylesheet" />
<link href="../../css/check.css" rel="stylesheet"/>
<link href="../../css/index_view.css" rel="stylesheet" />
</head>
<body>
<div class="mui-content detailRow">
<form class="mui-input-group" id="detailContent" style="background:none;">
<ul class="mui-table-view" style="margin-bottom:12px;">
<li class="mui-table-view-cell mui-collapse">
<a class="mui-navigate-right" href="#">产品信息</a>
<div class="mui-collapse-content">
</div>
</li>
</ul>
</form>
<form id="List">
</form>
</div>
<script src="../../js/mui.min.js"></script>
<script src="../../js/jquery.min.js" ></script>
<script src="../../js/template-web.js" type="text/javascript" charset="utf-8"></script>
<script src="../../js/utils.js" type="text/javascript" charset="utf-8"></script>
<script src="../../js/common.js" type="text/javascript" charset="utf-8"></script>
<script type="text/javascript" src="../../js/request.js" ></script>
<script type="text/javascript">
(function($,$$) {
var utils = new Utils();
utils.appendModule('#acc_detail_tpl');
function showData(data){
var html = template('detail_tpl', data);
if(html){
document.getElementById('detailContent').innerHTML = html;
}
}
var checkType = undefined,
type = undefined,
data = null,
details = undefined,
barcode = undefined,
isPsList = undefined,
url = '/a/exam/detail', // 分页接口
titleUrl = '/a/exam/detailhead',// 头部接口
checkUrl = '/a/checkacceptdetail/checkList';
$.plusReady(function(){
$.init({
beforeback: function() {
var list = plus.webview.currentWebview().opener();
console.log(details.selectTabs)
mui.fire(list, 'pagefresh',{ selectTabs: details.selectTabs === 1 ? '1': '0' , query: details.query });
return true;
}
})
var self = plus.webview.currentWebview();
details = JSON.parse(self.details);//获得参数
checkType = details.checkType;
status = details.status;
barcode = details.barcode;
isPsList = details.isPsList;
console.log(JSON.stringify(details) );
console.log(typeof details.selectTabs)
var postData = {
distributeCode: details.distributeCode,
status: details.status,
id: details.id
};
if(barcode){
postData.barcode = barcode;
}
var detailData = {};
plus.nativeUI.showWaiting('加载中...');
mui.ajaxRequest(titleUrl,{
type: 'POST',
data: { distributeCode: postData.distributeCode },
success: function(data){
if(data.code === 200){
for(var key in data.data){
detailData[key] = data.data[key];
}
detailData.isPsList = details.isPsList;
detailData.barcode = details.barcode;
detailData.checkType = details.checkType;
mui.ajaxRequest(url,{
type: 'POST',
data: postData,
success: function(data){
plus.nativeUI.closeWaiting();
if(data.code === 200){
detailData.list = data.data.list;
console.log(detailData)
showData(detailData);
if(details.hasAcceptance){
setTimeout(function(){
// showOrHideBtn()
var acceptanceBtn = '<button type="button" id="acceptance" class="mui-btn mui-btn-warning mui-btn-block" style="margin-bottom: 20px;" data-loading-text = "提交中" data-loading-icon-position="right">确认验收</button>'
document.querySelector('.detailRow').insertAdjacentHTML("beforeEnd",acceptanceBtn);
},100)
}
}else{
mui.toast(data.msg,{ type: 'div' });
}
},
error: function(xhr,type,errorThrown){
console.log(xhr.responseText)
}
});
}else{
mui.toast(data.msg,{ type: 'div' });
}
},
error: function(xhr,type,errorThrown){
console.log(xhr.responseText)
}
});
// checkType 1 2 4 配送单 可编辑 其余 出库单 不能编辑
function showOrHideBtn(){
if(checkType === 1 && (details.isPsList || details.barcode) && status === '1' && detailData.list[0].isUsual === 0){
var node = '<div id="addBtn"><button class="mui-btn mui-btn-block btn">+ 增加批号</button></div>';
document.querySelector('#List').insertAdjacentHTML('afterEnd',node);
}
}
/*
*2 点击添加按钮 增加选填项 开始
*
* 拖拽后显示操作图标,点击操作图标删除元素
*/
var itemNum = 0, orderList = [];
mui(".detailRow").on('tap', '.btn', function() {
var ParentDiv = document.createElement("div")
ParentDiv.className = "mui-table-view-cell slide-main";
ParentDiv.setAttribute('data-index', itemNum);
ParentDiv.innerHTML = '<div class="mui-slider-handle">' +
'<div class="mui-input-group">' +
'<div class="mui-input-row">' +
'<label>生产批号</label>' +
'<input type="text" name="acc_lot" class="mui-input-clear mui-input mui-input-ph" placeholder="请输入" >' +
'</div>' +
'<div class="mui-input-row">' +
'<label>数量</label>' +
'<input type="number" name="acc_num" class="mui-input-clear mui-input mui-input-num" value="0" placeholder="请输入" >' +
'</div>' +
'</div>' +
'</div>' +
'<div class="mui-slider-right mui-disabled">' +
'<a class="mui-btn mui-btn-red">删除</a>' +
'</div>';
document.getElementById("List").appendChild(ParentDiv);
itemNum++;
addSlideDelete(); //添加侧滑删除
})
function addSlideDelete() {
mui('.slide-main').off('tap', '.mui-btn').on('tap', '.mui-btn', function(event) {
var elem = this;
var li = elem.parentNode.parentNode;
var btnArray = ['确认', '取消'];
mui.confirm('确认删除该条记录?', '操作提醒', btnArray, function(e) {
if(e.index == 0) {
setTimeout(function() {
mui.swipeoutClose(li);
}, 0);
itemNum--;
li.parentNode.removeChild(li);
var index = li.getAttribute('data-index');
} else {
setTimeout(function() {
mui.swipeoutClose(li);
}, 0);
}
},'div');
});
}
mui('#List').on('keypress','input',function(e){
if(e.keyCode === 13){
}
})
// 验收
mui('.detailRow').on('tap','#acceptance',function(event){
let postData = [],submitData = {};
if((details.isPsList || details.barcode) && detailData.list[0].isUsual === 0){ // 配送单验收 可以修改
// 获取产品信息详情中编辑字段值
var phValue = document.querySelector('.mui-input').value; // 批号文号
var phList = document.querySelector('#List').querySelectorAll('.mui-input-ph'); // 新增批号数据
var numList = document.querySelector('#List').querySelectorAll('.mui-input-num'); // 批号对应的数值
var editBatchNo = document.querySelector('.BatchNo').value;
var realProductTime = document.querySelector('.realProductTime').value;
var realValidEndDate = document.querySelector('.realValidEndDate').value;
if(details.isShowTemprature === 1){
realAcceptanceTemperature = document.querySelector('.realAcceptanceTemperature').value;
}
var realReceiveQuantiry = document.querySelector('.realReceiveQuantiry').value;
let parentData = {
productBatchNo: detailData.list[0].productBatchNo,
realReceiveQuantiry: realReceiveQuantiry,
realProductTime: realProductTime,
realValidEndDate: realValidEndDate,
isUsual: detailData.list[0].isUsual,
id: detailData.list[0].id,
drugCode: detailData.list[0].drugCode,
parentId: null,
}
if(phList.length){
postData.push(parentData);
for (let i = 0 ;i < phList.length; i++) {
let values = {};
values.productBatchNo = phList[i].value;
values.realReceiveQuantiry = numList[i].value;
values.realProductTime = realProductTime;
values.realValidEndDate = realValidEndDate;
if(details.isShowTemprature === 1){
values.realAcceptanceTemperature = realAcceptanceTemperature;
}
values.isUsual = detailData.list[0].isUsual;
values.drugCode = detailData.list[0].drugCode;
values.distributeCode = detailData.list[0].distributeCode;
values.rowNo = detailData.list[0].rowNo;
values.id = null;
values.parentId = detailData.list[0].id;
postData.push(values);
}
}else{
let values = {};
values.productBatchNo = editBatchNo;
values.realProductTime = realProductTime;
values.realValidEndDate = realValidEndDate;
if(details.isShowTemprature === 1){
values.realAcceptanceTemperature = realAcceptanceTemperature;
}
values.realReceiveQuantiry = realReceiveQuantiry;
values.drugCode = detailData.list[0].drugCode;
values.isUsual = detailData.list[0].isUsual;
values.id = detailData.list[0].id;
values.distributeCode = detailData.list[0].distributeCode;
values.rowNo = detailData.list[0].rowNo;
values.parentId = null;
postData.push(values);
}
}else{
// 非配送单验收,不能修改
let values = {};
values.productBatchNo = detailData.list[0].productBatchNo;
values.realProductTime = detailData.list[0].realProductTime;
values.realValidEndDate = detailData.list[0].realValidEndDate;
if(defaultStatus.isShowTemprature === 1){
values.realAcceptanceTemperature = detailData.list[0].realAcceptanceTemperature;
}
values.realReceiveQuantiry = detailData.list[0].realNum;//应海洪要求改的
values.drugCode = detailData.list[0].drugCode;
values.isUsual = detailData.list[0].isUsual;
values.id = detailData.list[0].id;
values.parentId = detailData.list[0].id;
values.distributeCode = detailData.list[0].distributeCode;
values.rowNo = detailData.list[0].rowNo;
postData.push(values);
}
submitData.detailList = postData;
submitData.distributeCode = detailData.distributeCode;
if(barcode){
submitData.barcode = barcode;
}
let count = 0;
mui.each(submitData.detailList,function(index,item){
count += Number(item.realReceiveQuantiry)
});
if(count > detailData.list[0].realNum){
mui.toast('请注意:实到数量比配送数量多');
}
console.log(submitData,'submitData'); // 批号 数据
document.activeElement.blur(); // 隐藏软键盘
var btnArray = ['否', '是'];
mui.confirm('是否确认验收?', '确认', btnArray, function(e) {
if (e.index == 1) {
var data = submitData;
mui.ajaxRequest(checkUrl,{
type: 'POST',
data: submitData,
showWaiting: true,
contentType: "application/json",
success: function(data){
if(data.code === 200){
var text = "验收成功!";
if(data.data[0]){
text = data.data[0];
}
mui.alert(text,'提示','确定',function (e) {
var page = plus.webview.getWebviewById('acc_not_list');
mui.fire(page,'pagefresh',{ selectTabs: '1', query:{} });
common.gotowin('acc_not_list',{ });
plus.webview.currentWebview().close();
},'div');
}else{
mui.alert(data.msg,'提示','确定',function (e) {},'div');
}
},
error: function(xhr,type,errorThrown){
console.log(xhr.responseText)
}
})
}
},'div')
})
//绑定输入实到数量验证
var countModal = false;
$$('.detailRow').on('keyup','.realReceiveQuantiry',function(){
var _this = this,$this = $$(this);
var value = Number(this.value?this.value:0);
var realDeliveryQuantiry = detailData.list[0].realDeliveryQuantiry?detailData.list[0].realDeliveryQuantiry:0;
var realReceiveQuantiry = detailData.list[0].realNum?detailData.list[0].realNum:0;
var compareNum = realDeliveryQuantiry;
var text = "实到数量不能大于配送数量"+compareNum+",且不能小于0!";
if(barcode){
compareNum = realReceiveQuantiry;
text = "实到数量不能大于条码数量"+compareNum+",且不能小于0!";
}
if(!countModal){
if(value<0 || value>compareNum){
countModal = true;
mui.alert(text,'提示','确定',function (e) {
countModal = false;
_this.value = compareNum;
},'div')
}
}
});
//生产日期与有效日期验证
$$('.detailRow').on('change','.realProductTime,.realValidEndDate',function(){
var _this = this,$this = $$(this),cls = this.className;
var realProductTime = detailData.list[0].realProductTime?detailData.list[0].realProductTime:"0";
var realValidEndDate = detailData.list[0].realValidEndDate?detailData.list[0].realValidEndDate:"0";
var value = this.value?this.value:"0";
var _realProductTime = "",_realValidEndDate = "";
if(realProductTime.indexOf("-") != -1){
_realProductTime = Number(realProductTime.replace(/-/g,""));
}
if(realValidEndDate.indexOf("-") != -1){
_realValidEndDate = Number(realValidEndDate.replace(/-/g,""));
}
if(value.indexOf("-") != -1){
value = Number(value.replace(/-/g,""));
}
if(cls.indexOf("realProductTime")!=-1){//生产日期
var text1 = "生产日期不能大于有效日期!";
if(value > _realValidEndDate){
mui.alert(text1,'提示','确定',function (e) {
_this.value = realProductTime;
},'div')
}
}else if(cls.indexOf("realValidEndDate")!=-1){//有效期至
var text2 = "有效日期不能小于生产日期!";
if(value < _realProductTime){
mui.alert(text2,'提示','确定',function (e) {
_this.value = realValidEndDate;
},'div')
}
}
});
})
})(mui,jQuery);
</script>
</body>
</html>
\ No newline at end of file
<!--验收列表 - 药品信息 列表页 - wwb-->
<!doctype html>
<html>
<head>
<meta charset="UTF-8">
<title></title>
<link rel="import" href="./list_tpl.html" id="acc_list_tpl"/>
<meta name="viewport" content="width=device-width,initial-scale=1,minimum-scale=1,maximum-scale=1,user-scalable=no" />
<link href="../../css/mui.min.css" rel="stylesheet" />
<link href="../../css/themes.css" rel="stylesheet" />
<link href="../../css/index_view.css" rel="stylesheet" />
</head>
<body>
<header class="mui-bar mui-bar-nav themes_bg_color">
<a class="mui-action-back mui-icon mui-icon-left-nav mui-pull-left">
<label class="mui-pull-right theme_back_font">返回</label>
</a>
<h1 class="mui-title themes_title">药品信息</h1>
</header>
<div class="mui-content">
<div class="mui-input-row mui-search search_head" onclick="toSearchPage()">
<input type="search" class="mui-input-clear" readonly="readonly" placeholder="通用名/商品名/生产厂家" >
</div>
<div class="home-card-wrapper" style="padding: 8px;margin-top: 0;margin-bottom: 8px;">
<div class="home-card-title">已验收</div>
</div>
<div id="slider" class="mui-slider themes_tab mui-fullscreen" style="margin-top: 45px;">
<div id="sliderProgressBar" class="mui-slider-progress-bar mui-col-xs-6"></div>
<div class="mui-slider-group">
<div id="item1mobile" class="mui-slider-item mui-control-content">
<div id="scroll1" class="mui-scroll-wrapper">
<div class="mui-scroll" id="mui-table-view-tab1">
<ul class="mui-table-view">
<li class="mui-table-view-cell mui-tab1" style="padding: 0;">
</li>
</ul>
</div>
</div>
</div>
</div>
</div>
</div>
<script src="../../js/mui.min.js"></script>
<script src="../../js/jquery.min.js" ></script>
<script src="../../js/mui.pullToRefresh.js"></script>
<script src="../../js/mui.pullToRefresh.material.js"></script>
<script src="../../js/template-web.js" type="text/javascript" charset="utf-8"></script>
<script src="../../js/utils.js" type="text/javascript" charset="utf-8"></script>
<script src="../../js/common.js" type="text/javascript" charset="utf-8"></script>
<script src="../../js/request.js" type="text/javascript" charset="utf-8"></script>
<script type="text/javascript">
if(window.plus) {
plusready();
} else {
document.addEventListener('plusready', plusready, false);
}
function plusready() {
plus.key.addEventListener('backbutton',function(){
plus.webview.currentWebview().close();
})
}
//去搜索页面
function toSearchPage (){
document.activeElement.blur(); // 隐藏软键盘
var params = {};
params.id = 'acc_list';
params.route = '../acceptance/acc_list';
params.auditStatus = '2'; // 都是已验收单据
params.selectTabs = 2;
params.selected = 'right';
params.module = 'acceptance';
params.location = 'sub_list';
common.openwin('../commonPages/searchPage',{ params: JSON.stringify(params) },false)
}
(function($,$JQ) {
$.init({
beforeback: function() {
var list = plus.webview.currentWebview().opener();
mui.fire(list, 'pagefresh',{ hasAcceptance: true }); // 参数判断是某一个Tabs 右侧tabs 刷寻右侧列表
return true;
}
})
var deceleration = mui.os.ios?0.003:0.0009;
$('.mui-scroll-wrapper').scroll({
scrollX: false,
bounce: true,
indicators: true, //是否显示滚动条
deceleration:deceleration
});
/* 渲染模板 */
var params = undefined,
checkType = undefined,
type = undefined,
isShowTemprature = undefined, //是否显示验收温度 1 显示 0 隐藏
isPsList = undefined; // 验收单类型
var utils = new Utils();
utils.appendModule('#acc_list_tpl');
var page = 1, totalPage = undefined, pageSize = 15, isMore = true, query = {};
var _url = '/a/exam/detail', // 分页接口
checkUrl = '/a/checkacceptdetail/checkList';
url = '/a/checkaccept/detail';
var distributeCode = undefined, status = '2';
function template(data, insertType){
utils.innerTplHtml('list_tpl_view','.mui-tab1', data, insertType);
}
/*
下拉刷新
* */
function pulldownRefresh(){
var self = this;
page = 1;
var postData = {
distributeCode: distributeCode,
status,status,
pageNo: page,
pageSize: pageSize
};
if(query.hisDrugCode){
postData.hisDrugCode = query.hisDrugCode
}else{
globalQuery={}
$JQ('.mui-input-clear').val('');
$JQ('.mui-placeholder').show();
}
query = {};
mui.ajaxRequest(_url,{
type: 'POST',
data: postData,
success: function(data){
var resData = data.data;
resData.acceptance = false;
console.log(resData)
totalPage = data.totalPage;
if(resData.list.length <= resData.pageSize && resData.pageNo === resData.totalPage){
isMore = false;
self.endPullDownToRefresh(true);
document.querySelectorAll('.mui-pull-loading')[0].innerHTML = '没有更多数据';
}else{
isMore = true;
self.endPullDownToRefresh(false);
self.refresh(true);
}
return template(resData, false)
},
error: function(xhr,type,errorThrown){
console.log(xhr.responseText)
}
});
}
/*
* 上拉加载更多
* */
function pullupRefresh(){
var self = this;
console.log(isMore,'isMore')
if(isMore){
page++;
mui.ajaxRequest(_url,{
type: 'POST',
data:{
distributeCode: distributeCode,
status,status,
pageNo: page,
pageSize: pageSize
},
success: function(data){
var resData = data.data;
resData.acceptance = false;
if(resData.list.length <= resData.pageSize && resData.pageNo === resData.totalPage){
isMore = false;
self.endPullUpToRefresh(true);
document.querySelectorAll('.mui-pull-loading').innerHTML = '没有更多数据';
}else{
isMore = true;
self.endPullUpToRefresh(false);
self.refresh(true);
}
return template(resData, true)
},
error: function(xhr,type,errorThrown){
console.log(xhr.responseText)
}
});
}else{
document.querySelector('.mui-pull-loading').innerHTML = '没有更多数据';
self.endPullUpToRefresh(true);
}
}
// 模板加载
$.plusReady(function(){
let globalQuery = {};
window.addEventListener('pagefresh',function(e){
console.log('从详情回来')
console.log(e.detail.query)
query = e.detail.query;
setTimeout(function(){
console.log('刷新了啊啊啊啊 啊');
mui('.mui-scroll-wrapper').scroll().scrollTo(0,0);
mui(".mui-scroll").pullToRefresh().pullDownLoading();
},200)
});
// 触发刷新 搜索页面搜的值
window.addEventListener('sub_search',function(event){
console.log('从搜索页面回来')
console.log(JSON.stringify(event.detail) );
query = globalQuery = JSON.parse(event.detail.searchParams);
$JQ('.mui-input-clear').val(query.hisDrugName);
$JQ('.mui-placeholder').hide();
setTimeout(function(){
mui(".mui-scroll").pullToRefresh().pullDownLoading();
},200)
console.log('刷新了')
})
var isUsual = undefined;
var self = plus.webview.currentWebview();
params = JSON.parse(self.params);//获得参数
console.log(JSON.stringify(params))
distributeCode = params.distributecode;
isUsual = params.isusual;
// 判断是否是配送单
isPsList = (params.accepttype === '101' || params.accepttype === '102' || params.accepttype === '103' ||params.accepttype === '104' ) ? true: false;
console.log(isPsList)
//循环初始化所有下拉刷新,上拉加载。
$.each(document.querySelectorAll('.mui-scroll'), function(index, pullRefreshEl) {
$(pullRefreshEl).pullToRefresh({
down: {
style:'circle',
contentdown : "下拉可以刷新",
contentover : "释放立即刷新",
contentrefresh : "正在刷新...",
callback: pulldownRefresh
},
up: {
contentrefresh : "正在加载...",//可选,正在加载状态时,上拉加载控件上显示的标题内容
contentnomore:'没有更多数据',
callback: pullupRefresh
}
});
});
// 第一个tab 默认加载一次数据
mui(".mui-scroll").pullToRefresh().pullDownLoading();
if(plus.storage.getItem('currDept')){
type = JSON.parse(plus.storage.getItem('currDept')).deptType;
switch(type){
case '3':
checkType = 1; // 药库
break;
case '4':
checkType = 2; // 药房
break;
case '5':
checkType = 3; // 基数药
break;
default:
break;
}
}
//绑定点击事件 - 进入详情页
$('#slider').on('tap','.moreDetail',function(){
let id = this.dataset.id;
let newData = {};
newData.checkType = checkType; // 药房,药库,基数药 区分
newData.distributeCode = distributeCode;
newData.isShowTemprature = isShowTemprature;
newData.hasAcceptance = false;// 判断 详情页面是否有验收按钮
newData.status = status;
newData.id = id;
newData.isPsList = isPsList; // 是否是配送单
newData.query = globalQuery ;
console.log('newData',JSON.stringify(newData))
console.log('query',JSON.stringify(globalQuery))
console.log(JSON.stringify(Object.assign(newData,globalQuery)))
document.activeElement.blur(); // 隐藏软键盘
common.openwin('acc_detail',{ details: JSON.stringify(newData) },{
titleText: '验收详情'
})
});
});
})(mui,jQuery);
</script>
</body>
</html>
\ No newline at end of file
<!--验收列表 - 药品信息 列表页 - wwb-->
<!doctype html>
<html>
<head>
<meta charset="UTF-8">
<title></title>
<link rel="import" href="./list_tpl.html" id="acc_list_tpl"/>
<meta name="viewport" content="width=device-width,initial-scale=1,minimum-scale=1,maximum-scale=1,user-scalable=no" />
<link href="../../css/mui.min.css" rel="stylesheet" />
<link href="../../css/themes.css" rel="stylesheet" />
<link href="../../css/index_view.css" rel="stylesheet" />
</head>
<body>
<header class="mui-bar mui-bar-nav themes_bg_color">
<a class="mui-action-back mui-icon mui-icon-left-nav mui-pull-left">
<label class="mui-pull-right theme_back_font">返回</label>
</a>
<h1 class="mui-title themes_title">药品信息</h1>
<a href="#" class="mui-pull-right batchAccetpance" style="height: 45px;padding-top: 12px;">
批量验收
</a>
</header>
<div class="mui-content">
<div class="mui-input-row mui-search search_head" onclick="toSearchPage()">
<input type="search" class="mui-input-clear" readonly="readonly" placeholder="通用名/商品名/生产厂家">
</div>
<div id="slider" class="mui-slider themes_tab mui-fullscreen">
<div id="sliderSegmentedControl" class="mui-slider-indicator mui-segmented-control mui-segmented-control-inverted">
<a class="mui-control-item themes_font_color_tab" href="#item1mobile">待验收</a>
<a class="mui-control-item themes_font_color_tab" href="#item2mobile">已验收</a>
</div>
<div id="sliderProgressBar" class="mui-slider-progress-bar mui-col-xs-6"></div>
<div class="mui-slider-group">
<div id="item1mobile" class="mui-slider-item mui-control-content">
<div id="scroll1" class="mui-scroll-wrapper">
<div class="mui-scroll" id="mui-table-view-tab1">
<ul class="mui-table-view">
<li class="mui-table-view-cell mui-tab1" style="padding: 0;">
</li>
</ul>
</div>
</div>
</div>
<div id="item2mobile" class="mui-slider-item mui-control-content">
<div id="scroll1" class="mui-scroll-wrapper">
<div class="mui-scroll" id="mui-table-view-tab2">
<ul class="mui-table-view">
<li class="mui-table-view-cell mui-tab2" style="padding: 0;">
</li>
</ul>
</div>
</div>
</div>
</div>
</div>
</div>
<script src="../../js/mui.min.js"></script>
<script src="../../js/jquery.min.js" ></script>
<script src="../../js/mui.pullToRefresh.js"></script>
<script src="../../js/mui.pullToRefresh.material.js"></script>
<script src="../../js/template-web.js" type="text/javascript" charset="utf-8"></script>
<script src="../../js/utils.js" type="text/javascript" charset="utf-8"></script>
<script src="../../js/common.js" type="text/javascript" charset="utf-8"></script>
<script src="../../js/request.js" type="text/javascript" charset="utf-8"></script>
<script type="text/javascript">
if(window.plus) {
plusready();
} else {
document.addEventListener('plusready', plusready, false);
}
function plusready() {
plus.key.addEventListener('backbutton',function(){
plus.webview.currentWebview().close();
})
}
var auditStatus = undefined, //验收状态 1 待验收 2 已验收
selectTabs = 1; // 默认选中第一个tab
var storeData = undefined;//批量传参的时候用来取第一个distributeCode,不在乎传哪一个,一定要传一个
//去搜索页面
function toSearchPage (){
var params = {};
params.id = 'acc_not_list';
params.route = '../acceptance/acc_not_list';
params.auditStatus = auditStatus;
params.selectTabs = selectTabs;
params.selected = selected;
params.module = 'acceptance';
params.location = 'sub_list';
common.openwin('../commonPages/searchPage',{ params: JSON.stringify(params) },false);
document.activeElement.blur(); // 隐藏软键盘
}
(function($,$$) {
$.init({
beforeback: function() {
var list = plus.webview.currentWebview().opener();
mui.fire(list, 'pagefresh',{ hasAcceptance: selectTabs === 1 ? true: false});
return true;
}
})
var deceleration = mui.os.ios?0.003:0.0009;
$('.mui-scroll-wrapper').scroll({
bounce: true,
indicators: true, //是否显示滚动条
deceleration:deceleration
});
var currentSelected = undefined;
/* 渲染模板 */
var params = undefined,
checkType = undefined,
type = undefined,
isShowTemprature = undefined, //是否显示验收温度 1 显示 0 隐藏
isPsList = undefined; // 验收单类型
selected = '.mui-tab1'; // 默认选中内容区块
var utils = new Utils();
utils.appendModule('#acc_list_tpl');
var page = 1, totalPage = undefined, pageSize = 15, isMore = true, query = {};
var _url = '/a/exam/detail', // 分页接口
checkUrl = '/a/checkacceptdetail/checkList';
url = '/a/checkaccept/detail',
pageLeft = 1,
pageRight = 1,
totalPageLeft = undefined,
totalPageRight = undefined,
isMore = true,
distributeCode = undefined,
status = undefined;
barcode = undefined;
function template(selected, data, insertType){
utils.innerTplHtml('list_tpl_view', selected , data, insertType);
}
/*
下拉刷新
* */
function pulldownRefresh(){
var self = this;
pageLeft = 1; pageRight = 1;
status = selectTabs === 1 ? '1': '2';
var postData = {
distributeCode: distributeCode,
status:status,
pageNo: 1,
pageSize: pageSize
};
if(barcode){
postData = {
barcode: barcode,
status:status,
pageNo: 1,
pageSize: pageSize
};
}
if(query.hisDrugCode){
postData.hisDrugCode = query.hisDrugCode
$$('.mui-input-clear').val(query.hisDrugName);
}else{
globalQuery={}
$$('.mui-input-clear').val('');
$$('.mui-placeholder').show();
}
query = {};
mui.ajaxRequest(_url,{
type: 'POST',
data: postData,
success: function(data){
var code = data.code;
if(code == 200){
var resData = data.data;
storeData = resData;
resData.acceptance = selectTabs === 1 ? true: false;
resData.checkType = checkType;
resData.barcode = barcode;
resData.isPsList = isPsList;
totalPage = data.totalPage;
if(resData.list.length === 0 || (resData.list.length <= resData.pageSize && resData.pageNo === resData.totalPage)){
var i = selectTabs === 1 ? 0 : 1;
isMore = false;
self.endPullDownToRefresh(true);
document.querySelectorAll('.mui-pull-loading')[i].innerHTML = '没有更多数据';
}else{
isMore = true;
self.endPullDownToRefresh(false);
self.refresh(true);
}
return template(selected,resData, false)
}else{
mui.alert(data.msg,'提示','确定',function (e) {},'div');
var i = selectTabs === 1 ? 0 : 1;
isMore = false;
self.endPullDownToRefresh(true);
document.querySelectorAll('.mui-pull-loading')[i].innerHTML = '没有更多数据';
}
},
error: function(xhr,type,errorThrown){
console.log(xhr.responseText)
}
});
}
/*
* 上拉加载更多
* */
function pullupRefresh(){
var self = this;
console.log(isMore,'isMore')
if(isMore){
page++;
var paramData = {
distributeCode: distributeCode,
status:status,
pageNo: page,
pageSize: pageSize
};
if(barcode){
paramData = {
barcode: barcode,
status:status,
pageNo: page,
pageSize: pageSize
};
}
mui.ajaxRequest(_url,{
type: 'POST',
data:paramData,
success: function(data){
var code = data.code;
if(code == 200){
var resData = data.data;
storeData = resData;
//resData.acceptance = selectTabs === 1 && checkType === 1 ? true: false;
resData.acceptance = status === '1'? true: false;
resData.checkType = checkType;
resData.barcode = barcode;
resData.isPsList = isPsList;
if(resData.list.length <= resData.pageSize && resData.pageNo === resData.totalPage){
var i = selectTabs === 1 ? 0 : 1;
isMore = false;
self.endPullUpToRefresh(true);
document.querySelectorAll('.mui-pull-loading')[i].innerHTML = '没有更多数据';
}else{
isMore = true;
self.endPullUpToRefresh(false);
self.refresh(true);
}
return template(selected, resData, true)
}else{
mui.alert(data.msg,'提示','确定',function (e) {},'div');
var i = selectTabs === 1 ? 0 : 1;
isMore = false;
self.endPullUpToRefresh(true);
document.querySelectorAll('.mui-pull-loading')[i].innerHTML = '没有更多数据';
}
},
error: function(xhr,type,errorThrown){
console.log(xhr.responseText)
}
});
}else{
var i = selectTabs === 1 ? 0 : 1;
document.querySelectorAll('.mui-pull-loading')[i].innerHTML = '没有更多数据';
self.endPullUpToRefresh(true);
}
}
// 模板加载
$.plusReady(function(){
let globalQuery = {};
window.addEventListener('pagefresh',function(event){
console.log('从详情回来')
console.log(JSON.stringify(event.detail))
query = event.detail.query;
console.log(typeof event.detail.selectTabs);
let index = event.detail.selectTabs === '1' ? 0 : 1;
console.log(index,'index')
if(index === 1){
mui('#slider').slider().gotoItem(1);
}
setTimeout(function(){
mui('.mui-scroll-wrapper').scroll()[index].scrollTo(0,0,100);
mui(".mui-scroll").pullToRefresh()[index].pullDownLoading();
},200)
});
// 触发刷新 搜索页面搜的值
window.addEventListener('sub_search',function(event){
console.log('从搜索页面回来')
console.log(JSON.stringify(event.detail) );
query = globalQuery = JSON.parse(event.detail.searchParams);
console.log(typeof event.detail.selectTabs)
let index = event.detail.selectTabs === 1 ? 0 : 1;
$$('.mui-input-clear').val(query.hisDrugName);
$$('.mui-placeholder').hide();
setTimeout(function(){
mui('.mui-scroll-wrapper').scroll()[index].scrollTo(0,0,100);
mui(".mui-scroll").pullToRefresh()[index].pullDownLoading();
},300)
console.log('刷新了')
});
if(plus.storage.getItem('currDept')){
type = JSON.parse(plus.storage.getItem('currDept')).deptType;
switch(type){
case '3':
checkType = 1; // 药库
break;
case '4':
checkType = 2; // 药房
break;
case '5':
checkType = 3; // 基数药
break;
default:
break;
}
}
var isUsual = undefined;
var self = plus.webview.currentWebview();
params = JSON.parse(self.params);//获得参数
console.log(params)
distributeCode = params.distributecode;
barcode = params.barcode;
isUsual = params.isusual;
// 判断是否是配送单
isPsList = (params.accepttype === '101' || params.accepttype === '102' || params.accepttype === '103' ||params.accepttype === '104' ) ? true: false;
console.log(isPsList)
currentSelected = params.currentSelected; // 当前选中tabs
status = currentSelected === 'left'? '1': '2';
auditStatus = currentSelected === 'left'? '1': '2';
selectTabs = currentSelected === 'left'? 1: 2;
console.log(status)
if(currentSelected === 'left'){
$$('.batchAccetpance').show();
}else{
$$('.batchAccetpance').hide();
}
console.log(currentSelected);
//循环初始化所有下拉刷新,上拉加载。
$.each(document.querySelectorAll('.mui-scroll'), function(index, pullRefreshEl) {
$(pullRefreshEl).pullToRefresh({
down: {
style:'circle',
contentdown : "下拉可以刷新",
contentover : "释放立即刷新",
contentrefresh : "正在刷新...",
callback: pulldownRefresh
},
up: {
contentrefresh : "正在加载...",//可选,正在加载状态时,上拉加载控件上显示的标题内容
contentnomore:'没有更多数据',
callback: pullupRefresh
}
});
});
// 第一个tab 默认加载一次数据
mui(".mui-scroll").pullToRefresh()[ selectTabs -1 ].pullDownLoading();
// 展开编辑
$('#slider').on('tap','.edit',function(){
this.innerHTML = this.innerHTML === '收起编辑' ? '展开编辑':'收起编辑' ;
var editFormNode = this.parentNode.parentNode.previousElementSibling.querySelector('.editForm')
editFormNode.style.display = editFormNode.style.display === 'block' ? 'none': 'block';
});
var item2 = document.querySelector('#item2mobile');
var item1 = document.querySelector('#item1mobile');
document.getElementById('slider').addEventListener('slide', function(e) {
$$('.mui-input-clear').val('');
let index = e.detail.slideNumber;
if (index === 1) {
status = '2';
selected = '.mui-tab2';
selectTabs = 2;
mui('#slider').slider().gotoItem(1);
$$('.batchAccetpance').hide();
$('.mui-slider-group .mui-scroll .mui-tab2')[0].innerHTML = '';
if (!item2.querySelector('.am-card')) {
mui(".mui-slider-group .mui-scroll").pullToRefresh()[index].pullDownLoading();
}
}
if(index === 0){
status = '1';
selected = '.mui-tab1';
selectTabs = 1;
$$('.batchAccetpance').show();
mui('#slider').slider().gotoItem(0);
$('.mui-slider-group .mui-scroll .mui-tab1')[0].innerHTML = '';
if (!item1.querySelector('.am-card')) {
mui(".mui-slider-group .mui-scroll").pullToRefresh()[index].pullDownLoading();
}
}
});
//绑定点击事件 - 进入详情页
$('#slider').on('tap','.moreDetail',function(){
let id = this.dataset.id;
let newData = {};
newData.checkType = checkType; // 药房,药库,基数药 区分
hasAcceptance = selectTabs === 1 ? true: false;
newData.distributeCode = distributeCode;
newData.isShowTemprature = isShowTemprature;
newData.hasAcceptance = hasAcceptance;// 判断 详情页面是否有验收按钮
newData.status = status;//1
newData.id = id;
newData.selectTabs = selectTabs;
newData.isPsList = isPsList; // 是否是配送单true
newData.query = globalQuery;
if(barcode){
newData.distributeCode = this.dataset.distributecode;
newData.barcode = barcode;//标记是扫描的数据,达到和isPlist同样的目的,显示数据可以修改
}
console.log(JSON.stringify(newData))
document.activeElement.blur(); // 隐藏软键盘
common.openwin('acc_detail',{ details: JSON.stringify(newData) },{
titleText: '验收详情'
})
});
/* 批量验收 */
$('.mui-bar').on('tap','.batchAccetpance',function(){
var paramsData = {};
paramsData.isPsList = isPsList;
paramsData.distributeCode = distributeCode;
paramsData.status = '1';
paramsData.isShowTemprature = isShowTemprature;
paramsData.itemData = params;
paramsData.checkType = checkType;
paramsData.acceptance = true;
if(barcode){//批量不带distributeCode查询
paramsData.barcode = barcode;//标记是扫描的数据,达到和isPlist同样的目的,显示数据可以修改
if(storeData && storeData.list && storeData.list[0]){
paramsData.distributeCode = storeData.list[0].distributeCode;
}
}
console.log(JSON.stringify(paramsData));
common.openwin('acc_batch',{ params: JSON.stringify(paramsData) },false)
})
// 绑定事件 --确认验收
$('#slider').on('tap','.acceptance',function(){
document.activeElement.blur(); // 隐藏软键盘
var editFormNode = this.parentNode.parentNode.previousElementSibling.querySelector('.editForm')
let id = this.dataset.id;
let index = this.dataset.index;
let rowNo = this.dataset.rowno;
let postData = {}, detailList = [], submitData = {};
var _this_node = document.querySelectorAll('.am-card')[index];
console.log(_this_node.dataset)
postData.id = _this_node.dataset.id;
postData.drugCode = _this_node.dataset.drugcode;
postData.isUsual = Number(_this_node.dataset.isusual);
//扫描的也能输入
if((barcode || isPsList) && Number(_this_node.dataset.isusual) === 0){
// 配送单验收
var realReceiveQuantiry = editFormNode.querySelector('.realReceiveQuantiry').value?editFormNode.querySelector('.realReceiveQuantiry').value:"0";
var realProductTime = editFormNode.querySelector('.realProductTime').value;
var productBatchNo = editFormNode.querySelector('.productBatchNo').value;
var realValidEndDate = editFormNode.querySelector('.realValidEndDate').value;
if(isShowTemprature === 1){
var realAcceptanceTemperature = editFormNode.querySelector('.realAcceptanceTemperature').value;
}
if(realReceiveQuantiry && realProductTime && productBatchNo && realValidEndDate){
postData.realReceiveQuantiry = Number(realReceiveQuantiry);
postData.realProductTime = realProductTime;
postData.productBatchNo = productBatchNo;
postData.realValidEndDate = realValidEndDate;
postData.distributeCode = _this_node.dataset.distributecode;
postData.rowNo = rowNo;
if(isShowTemprature === 1){
postData.realAcceptanceTemperature = realAcceptanceTemperature;
}
}
}else{
// 送货单验收
postData.realReceiveQuantiry = _this_node.dataset.realnum;//realreceivequantiry->realnum,//应海洪要求改的
postData.realProductTime = _this_node.dataset.realproducttime;
postData.productBatchNo = _this_node.dataset.productbatchno;
postData.realValidEndDate = _this_node.dataset.realvalidenddate;
postData.distributeCode = _this_node.dataset.distributecode;
postData.rowNo = rowNo;
}
detailList.push(postData);
submitData.detailList = detailList;
submitData.distributeCode = distributeCode;
if(barcode){
submitData.barcode = barcode;
submitData.distributeCode = this.dataset.distributecode;
}
console.log(submitData);
var btnArray = ['否', '是'];
mui.confirm('是否确认验收?', '确认', btnArray, function(e) {
if (e.index == 1) {
var data = submitData;
mui.ajaxRequest(checkUrl,{
type: 'POST',
data: submitData,
showWaiting: true,
contentType: "application/json",
success: function(data){
if(data.code === 200){
var text = "验收成功!";
if(data.data[0]){
text = data.data[0];
}
mui.alert(text,'提示','确定',function (e) {
mui(".mui-scroll").pullToRefresh()[ selectTabs -1 ].pullDownLoading();
},'div');
}else{
mui.alert(data.msg,'提示','确定',function (e) {},'div');
}
},
error: function(xhr,type,errorThrown){
console.log(xhr.responseText)
}
})
}
},'div')
});
//绑定输入实到数量验证
var countModal = false;
$$('#slider').on('keyup','.realReceiveQuantiry',function(){
var _this = this,$this = $$(this);
var index = this.dataset.index;
var value = Number(this.value?this.value:0);
var _this_node = document.querySelectorAll('.am-card')[index];
var realDeliveryQuantiry = _this_node.dataset.realdeliveryquantiry?_this_node.dataset.realdeliveryquantiry:0;
var realReceiveQuantiry = _this_node.dataset.realnum?_this_node.dataset.realnum:0;
var compareNum = realDeliveryQuantiry;
var text = "实到数量不能大于数量"+compareNum+",且不能小于0!";
if(barcode){//扫码
compareNum = realReceiveQuantiry;
text = "实到数量不能大于条码数量"+compareNum+",且不能小于0!";
}
if(!countModal){
if(value<0 || value>compareNum){
countModal = true;
mui.alert(text,'提示','确定',function (e) {
countModal = false;
_this.value = compareNum;
},'div')
}
}
});
//生产日期与有效日期验证
$$('#slider').on('change','.realProductTime,.realValidEndDate',function(){
var _this = this,$this = $$(this);
var index = this.dataset.index,cls = this.className;
var _this_node = document.querySelectorAll('.am-card')[index];
var realProductTime = _this_node.dataset.realproducttime?_this_node.dataset.realproducttime:"0";
var realValidEndDate = _this_node.dataset.realvalidenddate?_this_node.dataset.realvalidenddate:"0";
var value = this.value?this.value:"0";
var _realProductTime = "",_realValidEndDate = "";
if(realProductTime.indexOf("-") != -1){
_realProductTime = Number(realProductTime.replace(/-/g,""));
}
if(realValidEndDate.indexOf("-") != -1){
_realValidEndDate = Number(realValidEndDate.replace(/-/g,""));
}
if(value.indexOf("-") != -1){
value = Number(value.replace(/-/g,""));
}
if(cls.indexOf("realProductTime")!=-1){//生产日期
var text1 = "生产日期不能大于有效日期!";
if(value > _realValidEndDate){
mui.alert(text1,'提示','确定',function (e) {
_this.value = realProductTime;
},'div')
}
}else if(cls.indexOf("realValidEndDate")!=-1){//有效期至
var text2 = "有效日期不能小于生产日期!";
if(value < _realProductTime){
mui.alert(text2,'提示','确定',function (e) {
_this.value = realValidEndDate;
},'div')
}
}
});
});
})(mui,jQuery);
</script>
</body>
</html>
\ No newline at end of file
<script type="text/html" id='batch_list_tpl_view'>
{{ each list value i}}
<div class="batch-wrapper">
<div class="checkoneParent">
<div class="mui-checkbox mui-left" style="width: 48px;height:48px;padding:50px 0 ;display: block;">
<input name="selected" class="checkone" type="checkbox" data-index="{{ (page-1)*pageSize + i }}" style="top: 35px;left: 10px;">
</div>
</div>
<div class="am-card scrollList-item am-card-full" style="width: 90%;border: none;"
data-id="{{ value.id }}"
data-drugCode="{{ value.drugCode }}"
data-isUsual="{{ value.isUsual }}"
data-parentId="{{ value.parentId }}"
data-productBatchNo="{{ value.productBatchNo }}"
data-realProductTime = "{{ value.realProductTime }}"
data-realValidEndDate = "{{ value.realValidEndDate }}"
data-realDeliveryQuantiry = "{{ value.realDeliveryQuantiry }}"
data-realReceiveQuantiry = "{{ value.realReceiveQuantiry }}"
data-realNum = "{{ value.realNum }}"
data-distributeCode="{{ value.distributeCode }}"
data-rowNo = "{{ value.rowNo }}"
>
<div class="am-card-header" style="padding: 9px 15px 0px 5px !important;">
<div class="am-card-header-content">
<span style="font-size: 18px; color: rgb(51, 51, 51); font-weight: bold;">
{{ value.ctmmGenericName ? value.ctmmGenericName:value.ctmmTradeName ? value.ctmmTradeName: '' }}</span>
</div>
<div class="am-card-header-extra">
<span>待验收</span>
</div>
</div>
<div class="am-card-body" style="padding: 5px !important;">
<div class="am-flexbox am-flexbox-align-center">
<div class="am-flexbox-item">
单位:<span>{{ value.unit }}</span>
</div>
<div class="am-flexbox-item">
规格:<span>{{ value.ctmmSpecification }}</span>
</div>
<div class="am-flexbox-item">
数量:<span>{{ value.realDeliveryQuantiry }}</span>
</div>
</div>
{{ if acceptance }}
{{ if value.isUsual === 0 && checkType === 1 && (isPsList || barcode)}}
<div class="editForm" style="display: block;">
<div class="am-flexbox am-flexbox-align-center">
<div class="am-flexbox-item">
<div class="am-list-item am-input-item am-list-item-middle">
<div class="am-list-line">
<div class="am-input-label am-input-label-4 font-warning">实到数量:</div>
<div class="am-input-control">
<input pattern="[0-9]*" type="number" value="{{ value.realNum ? value.realNum: value.realDeliveryQuantiry }}" data-index="{{ i }}" placeholder="请输入" class="realReceiveQuantiry flex-item-input" />
</div>
</div>
</div>
</div>
<div class="am-flexbox-item">
<div class="am-list-item am-input-item am-list-item-middle">
<div class="am-list-line">
<div class="am-input-label am-input-label-5 font-warning">生产日期:</div>
<div class="am-input-control">
<input pattern="[0-9]*" type="date" value="{{ value.realProductTime }}" data-index="{{ i }}" placeholder="请输入" class="realProductTime flex-item-input" />
</div>
</div>
</div>
</div>
<div class="am-flexbox-item">
<div class="am-list-item am-input-item am-list-item-middle">
<div class="am-list-line">
<div class="am-input-label am-input-label-5 font-warning">有效期至:</div>
<div class="am-input-control">
<input pattern="[0-9]*" type="date" value="{{ value.realValidEndDate }}" data-index="{{ i }}" placeholder="请输入" class="realValidEndDate flex-item-input" />
</div>
</div>
</div>
</div>
</div>
<div class="am-flexbox am-flexbox-align-center">
<div class="am-flexbox-item">
<div class="am-list-item am-input-item am-list-item-middle">
<div class="am-list-line">
<div class="am-input-label am-input-label-4 font-warning">生产批号:</div>
<div class="am-input-control">
<input pattern="[0-9]*" type="text" value="{{ value.productBatchNo }}" placeholder="请输入" class="productBatchNo flex-item-input"/>
</div>
</div>
</div>
</div>
<div class="am-flexbox-item">
指示货位:<span>{{ value.replanStoreName }}</span>
</div>
{{ if isShowTemprature === 1 }}
<div class="am-flexbox-item">
<div class="am-list-item am-input-item am-list-item-middle">
<div class="am-list-line">
<div class="am-input-label am-input-label-4 font-warning">验收温度:</div>
<div class="am-input-control">
<input pattern="[0-9]*" type="number" value="{{ value.realAcceptanceTemperature ? value.realAcceptanceTemperature: '' }}" placeholder="请输入" class="realAcceptanceTemperature flex-item-input"/>
</div>
</div>
</div>
</div>
{{ else }}
{{ /if }}
</div>
</div>
{{ else }}
<div class="am-flexbox am-flexbox-align-center">
<div class="am-flexbox-item">
实到数量:<span class='errorQuantiry'>{{ value.realNum }}</span>
</div>
<div class="am-flexbox-item am-last-flexItem">
生产日期:<span class="errRealProductTime">{{ value.realProductTime }}</span>
</div>
<div class="am-flexbox-item am-last-flexItem">
有效期至:<span class="errVailEndDate">{{ value.realValidEndDate }}</span>
</div>
</div>
{{ /if }}
<div class="am-flexbox am-flexbox-align-center">
<div class="am-flexbox-item">
批准文号:<span>{{ value.approvalNo }}</span>
</div>
{{ if checkType !== 1}}
<div class="am-flexbox-item">
指示货位: <span>{{ value.replanStoreName }}</span>
</div>
{{ /if }}
<div class="am-flexbox-item am-last-flexItem" style="margin-left: -50px;">
生产厂家:<span>{{ value.ctmmManufacturerName }}</span>
</div>
</div>
{{ /if }}
</div>
</div>
</div>
{{/each}}
</script>
\ No newline at end of file
<script type="text/html" id='detail_tpl'>
<div style="margin-top:10px;">
{{ each list value i }}
<ul class="mui-table-view" style="margin-bottom:8px;">
<li class="mui-table-view-cell mui-collapse mui-active">
<a class="mui-navigate-right" href="#">单据信息</a>
<div class="mui-collapse-content">
<div class="mui-input-row">
<label>配送/验收单</label>
<p class="detailRow_content">{{ distributeCode ? distributeCode: '' }}</p>
</div>
<div class="mui-input-row">
<label>状态</label>
<p class="detailRow_content">{{ value.status ? value.status === 1 ? '待验收':'已验收': '' }}</p>
</div>
<div class="mui-input-row">
<label>类型</label>
<p class="detailRow_content">{{ typeName ? typeName: '' }}</p>
</div>
</div>
</li>
</ul>
<ul class="mui-table-view" style="margin-bottom:8px;">
<li class="mui-table-view-cell mui-collapse mui-active">
<a class="mui-navigate-right" href="#">产品信息</a>
<div class="mui-collapse-content">
<div class="mui-input-row">
<label>通用名称</label>
<p class="detailRow_content">{{value && value.ctmmGenericName ? value.ctmmGenericName: ''}}</p>
</div>
<div class="mui-input-row">
<label>商品名</label>
<p class="detailRow_content">{{value && value.ctmmTradeName ? value.ctmmTradeName: ''}}</p>
</div>
<div class="mui-input-row">
<label>规格</label>
<p class="detailRow_content">{{value && value.ctmmSpecification? value.ctmmSpecification:''}}</p>
</div>
<div class="mui-input-row">
<label>剂型</label>
<p class="detailRow_content">{{value && value.ctmmDosageFormDesc ? value.ctmmDosageFormDesc:''}}</p>
</div>
<div class="mui-input-row">
<label>生产厂家</label>
<p class="detailRow_content">{{value && value.ctmmManufacturerName ? value.ctmmManufacturerName: ''}}</p>
</div>
<div class="mui-input-row">
<label>批准文号</label>
<p class="detailRow_content">{{ value && value.approvalNo ? value.approvalNo: ''}}</p>
</div>
<div class="mui-input-row">
<label>包装规格</label>
<p class="detailRow_content">{{value && value.packageSpecification ? value.packageSpecification: ''}}</p>
</div>
<div class="mui-input-row">
<label>单位</label>
<p class="detailRow_content">{{ value && value.unit ? value.unit: ''}}</p>
</div>
<div class="mui-input-row">
{{ if (isPsList || barcode) && value.status === 1 && value.isUsual === 0 && checkType === 1}}
<label class="font-warning">生产批号</label>
<input class="mui-input editInput BatchNo" value="{{ value && value.productBatchNo ? value.productBatchNo: ''}}" />
{{ else }}
<label>生产批号</label>
<p class="detailRow_content">{{ value && value.productBatchNo ?value.productBatchNo: ''}}</p>
{{ /if }}
</div>
<div class="mui-input-row">
{{ if (isPsList || barcode) && value.status === 1 && value.isUsual === 0 && checkType === 1}}
<label class="font-warning">生产日期</label>
<input class="mui-input editInput realProductTime" type='date' value="{{ value && value.realProductTime ? value.realProductTime: ''}}" />
{{ else }}
<label>生产日期</label>
<p class="detailRow_content">{{value && value.realProductTime ? value.realProductTime: ''}}</p>
{{ /if }}
</div>
<div class="mui-input-row">
<label>指示货位</label>
<p class="detailRow_content">{{value && value.replanStoreName ? value.replanStoreName: ''}}</p>
</div>
<div class="mui-input-row">
{{ if (isPsList || barcode) && value.status === 1 && isUsual === 0 && checkType === 1}}
<label class="font-warning">有效期至</label>
<input class="mui-input editInput realValidEndDate" type='date' value="{{ value && value.realValidEndDate ? value.realValidEndDate: '' }}" />
{{ else }}
<label>有效期至</label>
<p class="detailRow_content">{{value && value.realValidEndDate ? value.realValidEndDate: ''}}</p>
{{ /if }}
</div>
{{ if isShowTemprature === 1 }}
<div class="mui-input-row">
{{ if (isPsList || barcode) && value.status === 1 && isUsual === 0 && checkType === 1}}
<label class="font-warning">验收温度(℃)</label>
<input class="mui-input editInput realAcceptanceTemperature" type='number' value="{{ value && value.realAcceptanceTemperature ? value.realAcceptanceTemperature: ''}}" />
{{ else }}
<label>验收温度(℃)</label>
<p class="detailRow_content">{{value && value.realAcceptanceTemperature ? value.realAcceptanceTemperature: ''}}</p>
{{ /if }}
</div>
{{ /if }}
<div class="mui-input-row">
<label>配送数量</label>
<p class="detailRow_content">{{ value && value.realDeliveryQuantiry ? value.realDeliveryQuantiry: 0 }}</p>
</div>
<div class="mui-input-row">
{{ if (isPsList || barcode) && value.status === 1 && isUsual === 0 && checkType === 1}}
<label class="font-warning">实到数量</label>
<input class="mui-input editInput realReceiveQuantiry" type="number" pattern="[0-9]*" value="{{ value && value.realNum ? value.realNum: value && value.realDeliveryQuantiry ? value.realDeliveryQuantiry: '' }}" />
{{ else }}
<label>实到数量</label>
<p class="detailRow_content">{{value && value.isUsual === 0 && value.realNum ? value.realNum: 0 }}</p>
{{ /if }}
</div>
<div class="mui-input-row">
<label>供应商</label>
<p class="detailRow_content">{{value && value.supplierName ? value.supplierName: ''}}</p>
</div>
</div>
</li>
</ul>
{{ /each }}
</div>
</script>
\ No newline at end of file
<!--验收列表 - 列表页 - wwb-->
<!doctype html>
<html>
<head>
<meta charset="UTF-8">
<title></title>
<meta name="viewport" content="width=device-width,initial-scale=1,minimum-scale=1,maximum-scale=1,user-scalable=no" />
<link href="../../css/mui.min.css" rel="stylesheet" />
<link href="../../css/themes.css" rel="stylesheet" />
<link href="../../css/index_view.css" rel="stylesheet" />
<link rel="import" href="../../tpl/acceptance_card.html " id="card_view"/>
</head>
<body>
<header class="mui-bar mui-bar-nav themes_bg_color">
<a class="mui-action-back mui-icon mui-icon-left-nav mui-pull-left">
<label class="mui-pull-right theme_back_font">返回</label>
</a>
<h1 class="mui-title themes_title">验收</h1>
<a id="barcode" href="#modal" class="mui-pull-right" style="height: 45px;padding-top: 12px;">
<div class="qrcode" id="qrcode" onclick="clicked('../commonPages/qrcode',true,true)">
<img src="../../assest/qrcode.png" width="24" height="24"/>
</div>
</a>
</header>
<div class="mui-content">
<div class="mui-input-row mui-search search_head" onclick="toSearchPage()">
<input type="search" class="mui-input-clear" readonly="readonly" placeholder="供应商名称">
</div>
<div id="slider" class="mui-slider themes_tab mui-fullscreen" style="top: 102px;">
<div id="sliderSegmentedControl" class="mui-slider-indicator mui-segmented-control mui-segmented-control-inverted">
<a class="mui-control-item themes_font_color_tab" href="#item1mobile">待验收</a>
<a class="mui-control-item themes_font_color_tab" href="#item2mobile">已验收</a>
</div>
<div id="sliderProgressBar" class="mui-slider-progress-bar mui-col-xs-6"></div>
<div class="mui-slider-group">
<div id="item1mobile" class="mui-slider-item mui-control-content mui-active">
<div id="scroll1" class="mui-scroll-wrapper">
<div class="mui-scroll" id='mui-table-view-tab1'>
<ul class="mui-table-view">
<li class="mui-table-view-cell mui-tab1" style="padding: 0;"></li>
</ul>
</div>
</div>
</div>
<div id="item2mobile" class="mui-slider-item mui-control-content">
<div id="scroll2" class="mui-scroll-wrapper">
<div class="mui-scroll" id='mui-table-view-tab2'>
<ul class="mui-table-view">
<li class="mui-table-view-cell mui-tab2" style="padding: 0;"></li>
</ul>
</div>
</div>
</div>
</div>
</div>
</div>
<script src="../../js/mui.js"></script>
<script src="../../js/jquery.min.js" ></script>
<script src="../../js/mui.pullToRefresh.js"></script>
<script src="../../js/mui.pullToRefresh.material.js"></script>
<script src="../../js/template-web.js" type="text/javascript" charset="utf-8"></script>
<script src="../../js/utils.js" type="text/javascript" charset="utf-8"></script>
<script src="../../js/common.js" type="text/javascript" charset="utf-8"></script>
<script src="../../js/request.js" type="text/javascript" charset="utf-8"></script>
<script type="text/javascript">
var selectTabs = 1; // 默认选中第一个tab
//货位码
function clicked(){
common.openwin('../commonPages/qrcode',true,{ titleText: '扫码验收' })
}
/*获取二维码返回值*/
function scaned(t, r, f) {
console.log(r+"条形码读取的数据");//返回二维码读取的数据
if(r){
var itemData = {barcode:r}
itemData.currentSelected = selectTabs === 1 ? 'left': 'right';
console.log(JSON.stringify(itemData))
document.activeElement.blur(); // 隐藏软键盘
let openwinUrl = 'acc_not_list';
common.openwin(openwinUrl,{ params: JSON.stringify(itemData) },false)
}
}
//去搜索页面
function toSearchPage (){
var params = {};
params.key = 'supplier';
params.route = '../acceptance/index';
params.module = 'acceptance';
params.selectTabs = selectTabs;
params.location = 'main_list'
common.openwin('../commonPages/searchPage',{ params: JSON.stringify(params) },false)
document.activeElement.blur(); // 隐藏软键盘
}
(function($,$$) {
$.init({
beforeback:function(){
var list = plus.webview.currentWebview().opener();
mui.fire(list, 'refresh',{ getCountFlag: true });
return true;
}
});
var deceleration = mui.os.ios?0.003:0.0009;
$('.mui-scroll-wrapper').scroll({
bounce: true,
indicators: true, //是否显示滚动条
deceleration:deceleration
});
var utils = new Utils();
utils.appendModule('#card_view');
/* 渲染模板 */
var page = undefined, pageSize = 15,totalPage = undefined, query = {};
var checkType, type, acceptanceType// 验收单类型 // 验收状态 5 待验收 2 已验收
var requestUrl = '/a/checkaccept/list'; // 请求地址
var pageLeft = 1,
pageRight = 1,
totalPageLeft,
totalPageRight,
isMore = true,
selected = '.mui-tab1'; // 默认选中内容区块
function template(selected, data, insertType){
utils.innerTplHtml('acceptance', selected, data, insertType);
}
/*
下拉刷新
* */
function pulldownRefresh(){
console.log(query)
var self = this;
pageLeft = 1; pageRight = 1
acceptanceType = selectTabs === 1 ? '5': '2';
page = 1;
var postData = {
acceptanceType: acceptanceType,
checkType: checkType,
pageNo: page,
pageSize: pageSize
}
if(query.supplierCode){
postData.supplierCodeList = [ query.supplierCode ];
}
query = {};
mui.ajaxRequest(requestUrl,{
type: 'POST',
data: postData,
contentType: "application/json",
success: function(data){
var resData = data.data;
var total = resData.totalPage;
if(selectTabs === 1){
totalPageLeft = total;
}else{
totalPageRight = total;
}
if(resData.list.length === 0 || (resData.list.length <= resData.pageSize && resData.pageNo === resData.totalPage)){
var i = selectTabs === 1 ? 0 : 1;
document.querySelectorAll('.mui-pull-loading')[i].innerHTML = '没有更多数据';
isMore = false;
self.endPullDownToRefresh(true);
}else{
isMore = true;
self.endPullDownToRefresh(false);
self.refresh(true);
}
return template(selected,resData,false)
},
error: function(xhr,type,errorThrown){
console.log(xhr)
}
});
}
/*
* 上拉加载更多
* */
function pullupRefresh(){
var self = this;
if(isMore){
if(selectTabs === 1){
pageLeft ++
}else{
pageRight ++;
}
page = selectTabs === 1 ? pageLeft: pageRight;
totalPage = selectTabs === 1 ? totalPageLeft: totalPageRight;
acceptanceType = selectTabs === 1 ? '5': '2';
var postData = {
acceptanceType: acceptanceType,
checkType: checkType,
pageNo: page,
pageSize: pageSize
}
console.log(JSON.stringify(postData))
if(page <= totalPage){
mui.ajaxRequest(requestUrl,{
type: 'POST',
data: postData,
contentType: "application/json",
success: function(data){
var resData = data.data;
if(resData.pageNo === resData.totalPage){
isMore = false;
self.endPullUpToRefresh(true);
}else{
isMore = true;
self.endPullUpToRefresh(false);
self.refresh(true);
}
return template(selected,resData,true)
},
error: function(xhr,type,errorThrown){
console(xhr.responseText)
}
});
}
}else{
var i = selectTabs === 1 ? 0 : 1;
document.querySelectorAll('.mui-pull-loading')[i].innerHTML = '没有更多数据';
self.endPullUpToRefresh(true);
}
}
$.plusReady(function(){
// 触发刷新 搜索页面搜的值
window.addEventListener('search',function(event){
console.log(event.detail)
query.supplierCode = JSON.parse(event.detail.searchParams).supplierCode;
query.supplierName = JSON.parse(event.detail.searchParams).supplierName;
console.log(JSON.stringify(query),'query')
$$('.mui-placeholder').hide();
$$('.mui-input-clear').val(query.supplierName);
mui(".mui-slider-group .mui-scroll").pullToRefresh()[0].pullDownLoading();
})
window.addEventListener('pagefresh',function(e){
let index = e.detail.hasAcceptance ? 0: 1;
if(index === 1){
mui('#slider').slider().gotoItem(1);
}
mui('.mui-scroll-wrapper').scroll()[index].scrollTo(0,0,100);
setTimeout(function(){
mui(".mui-slider-group .mui-scroll").pullToRefresh()[index].pullDownLoading();
},300)
})
plus.key.addEventListener('backbutton',function(){
plus.webview.currentWebview().close();
})
if(plus.storage.getItem('currDept')){
type = JSON.parse(plus.storage.getItem('currDept')).deptType;
switch(type){
case '3'://药房
checkType = 1;
break;
case '4':// 药库
checkType = 2;
break;
case '5': // 基数药
checkType = 3;
break;
default:
break;
}
//除了药库显示右上角扫描按钮,其他都不显示
if(type == "3"){
$$("#barcode").css("display","black");
}else{
$$("#barcode").css("display","none");
}
}else{
mui.toast('请重新登陆');
common.openwin('../login/index')
}
var item2 = document.querySelector('#item2mobile');
var item1 = document.querySelector('#item1mobile');
document.getElementById('slider').addEventListener('slide', function(e) {
$$('.mui-input-clear').val('');
let index = e.detail.slideNumber;
if (index === 1) {
selected = '.mui-tab2';
selectTabs = 2;
mui('#slider').slider().gotoItem(1);
$('.mui-slider-group .mui-scroll .mui-tab2')[0].innerHTML = '';
if (!item2.querySelector('.am-card')) {
mui(".mui-slider-group .mui-scroll").pullToRefresh()[index].pullDownLoading();
}
}
if(index === 0){
selected = '.mui-tab1';
selectTabs = 1;
mui('#slider').slider().gotoItem(0);
$('.mui-slider-group .mui-scroll .mui-tab1')[0].innerHTML = '';
if (!item1.querySelector('.am-card')) {
mui(".mui-slider-group .mui-scroll").pullToRefresh()[index].pullDownLoading();
}
}
});
//循环初始化所有下拉刷新,上拉加载。
$.each(document.querySelectorAll('.mui-slider-group .mui-scroll'), function(index, pullRefreshEl) {
$(pullRefreshEl).pullToRefresh({
down: {
style:'circle',
contentdown : "下拉可以刷新",
contentover : "释放立即刷新",
contentrefresh : "正在刷新...",
callback: pulldownRefresh
},
up: {
contentrefresh : "正在加载...",//可选,正在加载状态时,上拉加载控件上显示的标题内容
contentnomore:'没有更多数据',
callback: pullupRefresh
}
});
});
// 第一个tab 默认加载一次数据
mui(".mui-slider-group .mui-scroll").pullToRefresh()[0].pullDownLoading();
//绑定点击事件 - 进入详情页
$('#slider').on('tap','.am-card',function(){
let itemData = this.dataset;
itemData.currentSelected = selectTabs === 1 ? 'left': 'right';
console.log(JSON.stringify(itemData))
document.activeElement.blur(); // 隐藏软键盘
let openwinUrl = selectTabs === 1 ? 'acc_not_list':'acc_list';
common.openwin(openwinUrl,{ params: JSON.stringify(itemData) },false)
})
});
})(mui,jQuery);
</script>
</body>
</html>
\ No newline at end of file
<script type="text/html" id='list_tpl_view'>
{{ each list value i}}
<div class="am-card scrollList-item am-card-full"
data-id="{{ value.id }}"
data-isUsual="{{ value.isUsual }}"
data-drugCode = "{{ value.drugCode }}"
data-parentId = "{{ value.parentId ? value.parentId:'-' }}"
data-realReceiveQuantiry = "{{ value.realReceiveQuantiry }}"
data-realNum = "{{ value.realNum }}"
data-realProductTime = "{{ value.realProductTime }}"
data-productBatchNo = "{{ value.productBatchNo}}"
data-realValidEndDate = "{{ value.realValidEndDate }}"
data-realDeliveryQuantiry = "{{ value.realDeliveryQuantiry }}"
data-distributeCode="{{ value.distributeCode }}"
>
<div class="am-card-header">
<div class="am-card-header-content">
<span style="font-size: 18px; color: rgb(51, 51, 51); font-weight: bold;">
{{ value.ctmmGenericName ? value.ctmmGenericName:value.ctmmTradeName ? value.ctmmTradeName: '' }}</span>
</div>
<div class="am-card-header-extra">
<span>{{ value.type }}</span>
</div>
</div>
<div class="am-card-body">
<div class="am-flexbox am-flexbox-align-center">
<div class="am-flexbox-item">
单位:<span>{{ value.unit }}</span>
</div>
<div class="am-flexbox-item">
规格:<span>{{ value.ctmmSpecification }}</span>
</div>
<div class="am-flexbox-item">
数量:<span>{{ value.realDeliveryQuantiry }}</span>
</div>
</div>
{{ if acceptance }}
{{ if value.isUsual === 0 && checkType === 1 && (isPsList || barcode)}}
<div class="editForm" data-index="{{i}}" style="display: block;">
<div class="am-flexbox am-flexbox-align-center">
<div class="am-flexbox-item">
<div class="am-list-item am-input-item am-list-item-middle">
<div class="am-list-line">
<div class="am-input-label am-input-label-4 font-warning">实到数量:</div>
<div class="am-input-control">
<input pattern="[0-9]*" type="number" value="{{ value.realNum ? value.realNum: value.realDeliveryQuantiry }}" data-index="{{i}}" placeholder="请输入" class="realReceiveQuantiry flex-item-input"/>
</div>
</div>
</div>
</div>
<div class="am-flexbox-item">
<div class="am-list-item am-input-item am-list-item-middle">
<div class="am-list-line">
<div class="am-input-label am-input-label-5 font-warning">生产日期:</div>
<div class="am-input-control">
<input pattern="[0-9]*" type="date" value="{{ value.realProductTime }}" data-index="{{i}}" placeholder="请输入" class="realProductTime flex-item-input" />
</div>
</div>
</div>
</div>
<div class="am-flexbox-item">
<div class="am-list-item am-input-item am-list-item-middle">
<div class="am-list-line">
<div class="am-input-label am-input-label-5 font-warning">有效期至:</div>
<div class="am-input-control">
<input pattern="[0-9]*" type="date" value="{{ value.realValidEndDate }}" data-index="{{i}}" placeholder="请输入" class="realValidEndDate flex-item-input" />
</div>
</div>
</div>
</div>
</div>
<div class="am-flexbox am-flexbox-align-center">
<div class="am-flexbox-item">
<div class="am-list-item am-input-item am-list-item-middle">
<div class="am-list-line">
<div class="am-input-label am-input-label-4 font-warning">生产批号:</div>
<div class="am-input-control">
<input pattern="[0-9]*" type="text" value="{{ value.productBatchNo }}" placeholder="请输入" class="productBatchNo flex-item-input"/>
</div>
</div>
</div>
</div>
<div class="am-flexbox-item">
指示货位:<span>{{ value.replanStoreName }}</span>
</div>
{{ if isShowTemprature === 1 }}
<div class="am-flexbox-item">
<div class="am-list-item am-input-item am-list-item-middle">
<div class="am-list-line">
<div class="am-input-label am-input-label-4 font-warning">验收温度:</div>
<div class="am-input-control">
<input pattern="[0-9]*" type="number" value="{{ value.realAcceptanceTemperature ? value.realAcceptanceTemperature: '' }}" placeholder="请输入" class="realAcceptanceTemperature flex-item-input"/>
</div>
</div>
</div>
</div>
{{ else }}
{{ /if }}
</div>
</div>
{{ else }}
<div class="am-flexbox am-flexbox-align-center">
<div class="am-flexbox-item">
实到数量:<span>{{ value.realNum }}</span>
</div>
<div class="am-flexbox-item am-last-flexItem">
生产日期:<span>{{ value.realProductTime }}</span>
</div>
<div class="am-flexbox-item am-last-flexItem">
有效期至:<span>{{ value.realValidEndDate }}</span>
</div>
</div>
{{ /if }}
<div class="am-flexbox am-flexbox-align-center">
<div class="am-flexbox-item">
批准文号: <span>{{ value.approvalNo }}</span>
</div>
{{ if checkType !== 1}}
<div class="am-flexbox-item">
指示货位: <span>{{ value.replanStoreName }}</span>
</div>
{{ /if }}
<div class="am-flexbox-item am-last-flexItem">
生产厂家: <span>{{ value.ctmmManufacturerName }}</span>
</div>
</div>
{{ /if }}
</div>
<div class="am-card-footer">
<div class="am-card-footer-content"></div>
<div class="am-card-footer-extra">
{{ if acceptance && value.isUsual === 0 && value.showEditBtn }}
<button type="button" class="mui-btn mui-btn-blue mui-btn-outlined edit" data-id="{{ value.id }}" data-index="{{i}}">收起编辑</button>
{{ /if }}
<button type="button" class="mui-btn mui-btn-blue mui-btn-outlined moreDetail" data-distributeCode="{{ value.distributeCode }}" data-id="{{ value.id }}" data-index="{{i}}" style="margin: 0 5px;">更多详情</button>
{{ if acceptance }}
<button type="button" class="mui-btn mui-btn-blue mui-btn-danger acceptance" data-rowNo="{{ value.rowNo }}" data-distributeCode="{{ value.distributeCode }}" data-id="{{ value.id }}" data-index="{{i}}">确认验收</button>
{{ /if }}
</div>
</div>
</div>
<div style="background-color: #f5f5f9; height: 6px;">
</div>
{{/each}}
</script>
\ No newline at end of file
<!--验收 - 详情页 - wwb-->
<!doctype html>
<html>
<head>
<meta charset="UTF-8">
<title></title>
<link rel="import" href="./detail_tpl.html" id="acc_detail_tpl"/>
<meta name="viewport" content="width=device-width,initial-scale=1,minimum-scale=1,maximum-scale=1,user-scalable=no" />
<link href="../../css/mui.min.css" rel="stylesheet" />
<link href="../../css/themes.css" rel="stylesheet" />
<link href="../../css/check.css" rel="stylesheet"/>
<link href="../../css/index_view.css" rel="stylesheet" />
</head>
<body>
<div class="mui-content detailRow">
<form class="mui-input-group" id="detailContent" style="background:none;">
<ul class="mui-table-view" style="margin-bottom:12px;">
<li class="mui-table-view-cell mui-collapse">
<a class="mui-navigate-right" href="#">产品信息</a>
<div class="mui-collapse-content">
</div>
</li>
</ul>
</form>
<form id="List">
</form>
</div>
<script src="../../js/mui.min.js"></script>
<script src="../../js/template-web.js" type="text/javascript" charset="utf-8"></script>
<script src="../../js/utils.js" type="text/javascript" charset="utf-8"></script>
<script src="../../js/common.js" type="text/javascript" charset="utf-8"></script>
<script type="text/javascript" src="../../js/request.js" ></script>
<script type="text/javascript">
(function($) {
var utils = new Utils();
utils.appendModule('#acc_detail_tpl');
function showData(data){
var html = template('detail_tpl', data);
if(html){
document.getElementById('detailContent').innerHTML = html;
}
}
var checkType = undefined,
type = undefined,
data = null,
details = undefined,
url = '/a/exam/detail', // 分页接口
titleUrl = '/a/exam/detailhead',// 头部接口
checkUrl = '/a/checkacceptdetail/basemedic'; // 验收接口
$.plusReady(function(){
$.init({
beforeback: function() {
var list = plus.webview.currentWebview().opener();
console.log(details.selectTabs)
mui.fire(list, 'pagefresh',{ selectTabs: details.selectTabs === 1 ? '1': '0' , query: details.query });
return true;
}
})
var self = plus.webview.currentWebview();
details = JSON.parse(self.details);//获得参数
checkType = details.checkType;
status = details.status;
console.log(JSON.stringify(details) );
console.log(typeof details.selectTabs)
var postData = {
distributeCode: details.distributeCode,
status: details.status,
id: details.id
};
var detailData = {};
plus.nativeUI.showWaiting('加载中...');
mui.ajaxRequest(titleUrl,{
type: 'POST',
data: { distributeCode: postData.distributeCode },
success: function(data){
if(data.code === 200){
console.log('titleUrl*****************')
console.log(JSON.stringify(data))
for(var key in data.data){
detailData[key] = data.data[key];
detailData.isPsList = details.isPsList;
}
mui.ajaxRequest(url,{
type: 'POST',
data: postData,
success: function(data){
console.log('url*****************')
console.log(JSON.stringify(data))
plus.nativeUI.closeWaiting();
if(data.code === 200){
detailData.list = data.data.list;
console.log(detailData)
showData(detailData);
if(details.hasAcceptance){
setTimeout(function(){
// showOrHideBtn()
var acceptanceBtn = '<button type="button" id="acceptance" class="mui-btn mui-btn-warning mui-btn-block" style="margin-bottom: 20px;" data-loading-text = "提交中" data-loading-icon-position="right">确认验收</button>'
document.querySelector('.detailRow').insertAdjacentHTML("beforeEnd",acceptanceBtn);
},100)
}
}else{
mui.toast(data.msg,{ type: 'div' });
}
},
error: function(xhr,type,errorThrown){
console.log(xhr.responseText)
}
});
}else{
mui.toast(data.msg,{ type: 'div' });
}
},
error: function(xhr,type,errorThrown){
console.log(xhr.responseText)
}
});
// checkType 1 2 4 配送单 可编辑 其余 出库单 不能编辑
// 验收
mui('.detailRow').on('tap','#acceptance',function(event){
let postData = [], submitData = {}, values = {};
values.productBatchNo = detailData.list[0].productBatchNo;
values.realProductTime = detailData.list[0].realProductTime;
values.realValidEndDate = detailData.list[0].realValidEndDate;
if(defaultStatus.isShowTemprature === 1){
values.realAcceptanceTemperature = detailData.list[0].realAcceptanceTemperature;
}
values.realReceiveQuantiry = detailData.list[0].realReceiveQuantiry;
values.drugCode = detailData.list[0].drugCode;
values.isUsual = detailData.list[0].isUsual;
values.id = detailData.list[0].id;
values.parentId = detailData.list[0].id;
postData.push(values);
submitData.detailList = postData;
submitData.distributeCode = detailData.distributeCode;
let count = 0;
mui.each(submitData.detailList,function(index,item){
count += Number(item.realReceiveQuantiry)
});
if(count > detailData.list[0].realReceiveQuantiry){
mui.toast('请注意:实到数量比配送数量多');
}
console.log(submitData,'submitData'); // 批号 数据
document.activeElement.blur(); // 隐藏软键盘
var btnArray = ['否', '是'];
mui.confirm('是否确认验收?', '确认', btnArray, function(e) {
if (e.index == 1) {
mui.ajaxRequest(checkUrl,{
type: 'POST',
data: submitData,
showWaiting: true,
contentType: "application/json",
success: function(data){
if(data.code === 200){
mui.toast('验收成功',{ type: 'div' });
var page = plus.webview.getWebviewById('basic_acc_list');
mui.fire(page,'pagefresh',{ selectTabs: '1', query:{} });
common.gotowin('basic_acc_list',{ });
plus.webview.currentWebview().close();
}
},
error: function(xhr,type,errorThrown){
console.log(xhr.responseText)
}
})
}
},'div')
})
})
})(mui);
</script>
</body>
</html>
\ No newline at end of file
<!--验收列表 - 药品信息 列表页 - wwb-->
<!doctype html>
<html>
<head>
<meta charset="UTF-8">
<title></title>
<link rel="import" href="basic_acc_batch_tpl.html" id="list_tpl"/>
<meta name="viewport" content="width=device-width,initial-scale=1,minimum-scale=1,maximum-scale=1,user-scalable=no" />
<link href="../../css/mui.min.css" rel="stylesheet" />
<link href="../../css/themes.css" rel="stylesheet" />
<link href="../../css/index_view.css" rel="stylesheet" />
</head>
<body>
<div class="mui-content">
<div id="slider" class="mui-slider themes_tab mui-fullscreen" style="padding-bottom: 59px;">
<div class="mui-slider-group">
<div id="item1mobile" class="mui-slider-item mui-control-content">
<div id="scroll1" class="mui-scroll-wrapper">
<div class="mui-scroll" id="mui-table-view-tab1">
<ul class="mui-table-view">
<li class="mui-table-view-cell mui-tab1" style="padding: 0;">
</li>
</ul>
</div>
</div>
</div>
</div>
</div>
<div class="fix_bottom-wraper">
<div class="fix-bottom-content">
<div class="mui-checkbox mui-left">
<label>全选</label>
<input name="checkboxAll" value="1" id="checkall" type="checkbox" style="top: -5px;z-index: 10;">
</div>
<span style="margin-left: 8px;">已选中 <label class="total"> 0 </label></span>
</div>
<a href="javascript:;" class="btn acceptance fix-bottom-extra">验 收</a>
</div>
</div>
<script src="../../js/mui.min.js"></script>
<script src="../../js/jquery.min.js"></script>
<script src="../../js/mui.pullToRefresh.js"></script>
<script src="../../js/mui.pullToRefresh.material.js"></script>
<script src="../../js/template-web.js" type="text/javascript" charset="utf-8"></script>
<script src="../../js/utils.js" type="text/javascript" charset="utf-8"></script>
<script src="../../js/common.js" type="text/javascript" charset="utf-8"></script>
<script src="../../js/request.js" type="text/javascript" charset="utf-8"></script>
<script type="text/javascript">
(function($,$JQ) {
var query ={};
$.init({
beforeback: function() {
var list = plus.webview.currentWebview().opener();
mui.fire(list, 'pagefresh',{ selectTabs: '1', query: params.query || {} });
return true;
}
})
function template(data, insertType,render) {
utils.innerTplHtml('list_tpl_view', '.mui-tab1', data, insertType);
if(render){
var checkList = document.querySelectorAll('.checkone');
console.log(selecteIndex,'selecteIndex')
mui.each(selecteIndex, function(index, item) {
checkList[item].checked = true;
});
}
}
var deceleration = mui.os.ios?0.003:0.0009;
$('.mui-scroll-wrapper').scroll({
scrollX: false,
bounce: true,
indicators: true, //是否显示滚动条
deceleration:deceleration
});
/* 渲染模板 */
var checkType, type, auditStatus;// 验收单类型 // 验收状态 1 待验收 2 已验收 ;
var acceptList = [];
var nullDataHtml = '<div class="mui-pull-bottom-tips"><div class="mui-pull-bottom-wrapper">'+
'<span class="mui-pull-loading">暂无数据</span></div></div>'
var page = 1,
totalPage = undefined,
pageSize = 15,
isMore = true;
var checkType = undefined,
status = undefined, // 验收单类型 // 验收状态 1 待验收 2 已验收
params = undefined,
distributeCode = undefined,
isShowTemprature = undefined,
selectedRows = [],
selecteIndex = [];
var _url = '/a/exam/detail', // 分页接口
checkUrl = '/a/examdetail/checkList'; // 原验收接口'/a/checkacceptdetail/checkList';
var utils = new Utils();
utils.appendModule('#list_tpl');
//下拉刷新
function pulldownRefresh() {
document.querySelector('.total').innerText = 0;
document.querySelector('#checkall').checked = false;
selecteIndex = [];
var self = this;
page = 1;
var postData = {
distributeCode: distributeCode,
status: status,
pageNo: page,
pageSize: pageSize
};
console.log('下拉**************')
mui.ajaxRequest(_url, {
type: 'POST',
data: postData,
success: function(data) {
var resData = data.data;
resData.page = page;
resData.pageSize = pageSize;
acceptList = resData.list;
resData.acceptance = true;
totalPage = data.totalPage;
console.log(resData.list.length <= resData.pageSize && resData.pageNo === resData.totalPage)
if (resData.list.length === 0 || resData.list.length <= resData.pageSize && resData.pageNo === resData.totalPage) {
isMore = false;
self.endPullDownToRefresh(true);
document.querySelectorAll('.mui-pull-loading')[0].innerHTML = '没有更多数据';
} else {
isMore = true;
self.endPullDownToRefresh(false);
self.refresh(true);
}
return template(resData, false)
},
error: function(xhr, type, errorThrown) {
console.log(xhr.responseText)
self.endPullDownToRefresh(false);
self.refresh(true);
}
});
}
//上拉加载更多
function pullupRefresh() {
document.querySelector('#checkall').checked = false;
var self = this;
console.log(isMore, 'isMore')
console.log('上拉**************')
if (isMore) {
page++;
mui.ajaxRequest(_url, {
type: 'POST',
data: {
distributeCode: distributeCode,
status: status,
pageNo: page,
pageSize: pageSize
},
success: function(data) {
var resData = data.data;
resData.page = page;
resData.pageSize = pageSize;
mui.each(resData.list,function(index,item){
acceptList.push(item)
});
resData.acceptance = true;
if (resData.list.length === 0 ||resData.pageNo === resData.totalPage) {
isMore = false;
self.endPullUpToRefresh(true);
} else {
isMore = true;
self.endPullUpToRefresh(false);
self.refresh(true);
}
return template(resData, true, 'rerender')
},
error: function(xhr, type, errorThrown) {
console.log(xhr.responseText)
}
});
} else {
document.querySelectorAll('.mui-pull-loading')[0].innerHTML = '没有更多数据';
self.endPullUpToRefresh(true);
}
}
//模板加载
$.plusReady(function(){
// var params, distributeCode, isShowTemprature, selectedRows = [],selecteIndex = [];
window.addEventListener('pagefresh',function(event){
mui('.mui-scroll-wrapper').scroll().scrollTo(0,0,100);
mui(".mui-scroll").pullToRefresh().pullDownLoading();
});
var self = plus.webview.currentWebview();
params = JSON.parse(self.params); //获得参数
distributeCode = params.distributeCode;
status = 1;
isShowTemprature = params.isShowTemprature;
console.log(JSON.stringify(params))
//循环初始化所有下拉刷新,上拉加载。
$.each(document.querySelectorAll('.mui-scroll'), function(index, pullRefreshEl) {
mui(".mui-scroll").pullToRefresh({
down: {
style: 'circle',
contentdown: "下拉可以刷新",
contentover: "释放立即刷新",
contentrefresh: "正在刷新...",
callback: pulldownRefresh
},
up: {
contentrefresh: "正在加载...", //可选,正在加载状态时,上拉加载控件上显示的标题内容
contentnomore: '没有更多数据',
callback: pullupRefresh
}
});
});
mui(".mui-scroll").pullToRefresh().pullDownLoading();
// 全选 及反选
$('.fix_bottom-wraper').on('click','#checkall',function(){
selecteIndex = [];
var checkList = document.querySelectorAll('.checkone');
if (document.querySelector('#checkall').checked){
// 全选
mui.each(checkList,function(index,item){
item.checked = true
});
document.querySelector('.total').innerText = checkList.length;
selectedRows = acceptList;
mui.each(selectedRows,function(index,item){
selecteIndex.push(index);
});
console.log(selecteIndex)
} else {
// 取消全选
mui.each(checkList,function(index,item){
item.checked = false
});
document.querySelector('.total').innerText = 0;
selectedRows = [];
selecteIndex = []
}
console.log(selectedRows)
});
// 复选框选中
$('#slider').on('change','.checkone',function(){
console.log('change')
selectedRows = [];
selecteIndex = [];
var checkList = document.querySelectorAll('.checkone')
var checkAll = document.querySelector('#checkall');
var checkLen = checkList.length;
var len = 0;
mui.each(checkList,function(index,item){
if(item.checked){
len++;
// selecteIndex.push(this.dataset.index);
selecteIndex.push(Number(this.dataset.index));
}
});
checkAll.checked = len === checkLen ? true: false;
document.querySelector('.total').innerText = len;
console.log(selectedRows);
console.log(selecteIndex)
})
// 绑定事件 --确认验收
$('.fix_bottom-wraper').on('tap','.acceptance',function(){
document.activeElement.blur(); // 隐藏软键盘
if(Number(document.querySelector('.total').innerText) === 0){
return mui.alert('请至少选中一项','警告',['确认'],function(){},'div')
}
var cards = document.querySelectorAll('.am-card');
let detailList = [],
submitData = {};
if(params.isPsList){
let selectedCards = [], cardFactNum = [];
mui.each(selecteIndex, function(index, item) {
selectedCards.push(cards[item]);
if (cards[index].dataset.isusual === '0') {
// 正常单据
cardFactNum.push(cards[item].querySelector('.realReceiveQuantity'));
} else {
// 异常单据
cardFactNum.push(cards[item].querySelector('.errorQuantiry'))
}
});
console.log(cardFactNum,'cardFactNum')
console.log(selectedCards,'selectedCards');
var flag = true;
mui.each(cardFactNum,function(index,item){
if(item.tagName === 'INPUT'){
if(!item.value){
flag = false;
}
}
})
if(!flag){
return mui.alert('实到数量不能为空','警告',['确定'],function(){},'div');
};
mui.each(selectedCards,function(index,item){
var postData = {};
postData.id = item.dataset.id;
postData.isUsual = item.dataset.isusual;
postData.drugCode = item.dataset.drugcode;
if(item.dataset.isusual === '0'){
var realReceiveQuantity = item.querySelector('.realReceiveQuantity').value;
var realProductTime = item.querySelector('.realProductTime').value;
var productBatchNo = item.querySelector('.productBatchNo').value;
var realValidEndDate = item.querySelector('.realValidEndDate').value;
if(isShowTemprature === 1){
var realAcceptanceTemperature = item.querySelector('.realAcceptanceTemperature').value;
postData.realAcceptanceTemperature = realAcceptanceTemperature
}
postData.realReceiveQuantiry = realReceiveQuantity;
postData.realProductTime = realProductTime;
postData.productBatchNo = productBatchNo;
postData.realValidEndDate = realValidEndDate;
}else{
var errorQuantiry = item.querySelector('.errorQuantiry').innerText;
var errRealProductTime = item.querySelector('.errRealProductTime').innerText;
var errVailEndDate = item.querySelector('.errVailEndDate').innerText;
postData.realReceiveQuantiry = errorQuantiry;
postData.realProductTime = errRealProductTime;
postData.productBatchNo = item.dataset.productbatchno;
postData.realValidEndDate = errVailEndDate;
}
detailList.push(postData);
});
}else{
mui.each(selecteIndex,function(index,item){
let postData = {};
postData.realReceiveQuantiry = acceptList[item].realReceiveQuantiry;
postData.realProductTime = acceptList[item].realProductTime;
postData.productBatchNo = acceptList[item].productBatchNo;
postData.realValidEndDate = acceptList[item].realValidEndDate;
postData.id = acceptList[item].id;
postData.isUsual = acceptList[item].isUsual;
if(isShowTemprature === 1){
postData.realAcceptanceTemperature = acceptList[item].realAcceptanceTemperature;
}
postData.drugCode = acceptList[item].drugCode;
detailList.push(postData);
});
}
submitData.detailList = detailList;
submitData.distributeCode = distributeCode;
submitData.checkType= 3;
console.log(submitData)
var btnArray = ['否', '是'];
mui.confirm('确认批量验收选中的药品?', '确认', btnArray, function(e) {
if (e.index == 1) {
mui.ajaxRequest(checkUrl,{
type: 'POST',
data: submitData,
showWaiting: true,
contentType: "application/json",
success: function(data){
if(data.code === 200){
mui.toast('验收成功',{ type: 'div' });
$JQ('.total').text(0);
document.querySelector('#checkall').checked=false;
setTimeout(function(){
mui('.mui-scroll-wrapper').scroll().scrollTo(0,0);
mui(".mui-scroll").pullToRefresh().pullDownLoading();
},300)
}
},
error: function(xhr,type,errorThrown){
console.log(xhr.responseText)
}
})
}
},'div')
});
});
})(mui,jQuery);
</script>
</body>
</html>
\ No newline at end of file
<script type="text/html" id='list_tpl_view'>
{{ each list value i}}
<div class="batch-wrapper">
<div>
<div class="mui-checkbox mui-left" style="width: 48px;">
<input name="selected" class="checkone" type="checkbox" data-index="{{ (page-1)*pageSize + i }}" style="top: -10px;left: 10px;">
</div>
</div>
<div class="am-card scrollList-item am-card-full" style="width: 90%;border: none;"
data-id="{{ value.id }}"
data-drugCode="{{ value.drugCode }}"
data-isUsual="{{ value.isUsual }}"
data-parentId="{{ value.parentId }}"
data-productBatchNo="{{ value.productBatchNo }}"
>
<div class="am-card-header" style="padding: 9px 15px 0px 5px !important;">
<div class="am-card-header-content">
<span style="font-size: 18px; color: rgb(51, 51, 51); font-weight: bold;">
{{ value.ctmmGenericName ? value.ctmmGenericName:value.ctmmTradeName ? value.ctmmTradeName: '' }}</span>
</div>
<div class="am-card-header-extra">
<span>待验收</span>
</div>
</div>
<div class="am-card-body" style="padding: 5px !important;">
<div class="am-flexbox am-flexbox-align-center">
<div class="am-flexbox-item">
单位:<span>{{ value.unit }}</span>
</div>
<div class="am-flexbox-item">
规格:<span>{{ value.ctmmSpecification }}</span>
</div>
<div class="am-flexbox-item">
数量:<span>{{ value.realDeliveryQuantiry }}</span>
</div>
</div>
{{ if acceptance }}
{{ if value.editable && value.isUsual === 0 }}
<!--<div class="editForm" style="display: block;">
<div class="am-flexbox am-flexbox-align-center">
<div class="am-flexbox-item">
<div class="am-list-item am-input-item am-list-item-middle">
<div class="am-list-line">
<div class="am-input-label am-input-label-4 font-warning">实到数量:</div>
<div class="am-input-control">
<input pattern="[0-9]*" type="number" value={{ value.realReceiveQuantiry?value.realReceiveQuantiry: '' }} placeholder="请输入" class="realReceiveQuantity flex-item-input" />
</div>
</div>
</div>
</div>
<div class="am-flexbox-item">
<div class="am-list-item am-input-item am-list-item-middle">
<div class="am-list-line">
<div class="am-input-label am-input-label-5 font-warning">生产日期:</div>
<div class="am-input-control">
<input pattern="[0-9]*" type="date" value={{ value.realProductTime }} placeholder="请输入" class="realProductTime flex-item-input" />
</div>
</div>
</div>
</div>
<div class="am-flexbox-item">
<div class="am-list-item am-input-item am-list-item-middle">
<div class="am-list-line">
<div class="am-input-label am-input-label-5 font-warning">有效期至:</div>
<div class="am-input-control">
<input pattern="[0-9]*" type="date" value={{ value.realValidEndDate }} placeholder="请输入" class="realValidEndDate flex-item-input" />
</div>
</div>
</div>
</div>
</div>
<div class="am-flexbox am-flexbox-align-center">
<div class="am-flexbox-item">
<div class="am-list-item am-input-item am-list-item-middle">
<div class="am-list-line">
<div class="am-input-label am-input-label-4 font-warning">生产批号:</div>
<div class="am-input-control">
<input pattern="[0-9]*" type="text" value={{ value.productBatchNo }} placeholder="请输入" class="productBatchNo flex-item-input"/>
</div>
</div>
</div>
</div>
{{ if isShowTemprature === 1 }}
<div class="am-flexbox-item">
<div class="am-list-item am-input-item am-list-item-middle">
<div class="am-list-line">
<div class="am-input-label am-input-label-4 font-warning">验收温度:</div>
<div class="am-input-control">
<input pattern="[0-9]*" type="number" value={{ value.realAcceptanceTemperature ? value.realAcceptanceTemperature: '' }} placeholder="请输入" class="realAcceptanceTemperature flex-item-input"/>
</div>
</div>
</div>
</div>
{{ else }}
<div class="am-flexbox-item">
</div>
{{ /if }}
<div class="am-flexbox-item">
</div>
</div>
</div>-->
{{ else }}
<div class="am-flexbox am-flexbox-align-center">
<div class="am-flexbox-item">
实到数量:<span class='errorQuantiry'>{{ value.realReceiveQuantiry || value.realReceiveQuantiry === 0 ? value.realReceiveQuantiry: '' }}</span>
</div>
<div class="am-flexbox-item am-last-flexItem">
生产日期:<span class="errRealProductTime">{{ value.realProductTime }}</span>
</div>
<div class="am-flexbox-item am-last-flexItem">
有效期至:<span class="errVailEndDate">{{ value.realValidEndDate }}</span>
</div>
</div>
{{ /if }}
<div class="am-flexbox am-flexbox-align-center">
<div class="am-flexbox-item">
批准文号:<span>{{ value.approvalNo }}</span>
</div>
<div class="am-flexbox-item am-last-flexItem" style="margin-left: -50px;">
生产厂家:<span>{{ value.ctmmManufacturerName }}</span>
</div>
</div>
{{ /if }}
</div>
</div>
</div>
{{/each}}
</script>
\ No newline at end of file
<!--验收列表 - 药品信息 列表页 - wwb-->
<!doctype html>
<html>
<head>
<meta charset="UTF-8">
<title></title>
<link rel="import" href="./list_tpl.html" id="list_tpl"/>
<meta name="viewport" content="width=device-width,initial-scale=1,minimum-scale=1,maximum-scale=1,user-scalable=no" />
<link href="../../css/mui.min.css" rel="stylesheet" />
<link href="../../css/themes.css" rel="stylesheet" />
<link href="../../css/index_view.css" rel="stylesheet" />
</head>
<body>
<header class="mui-bar mui-bar-nav themes_bg_color">
<a class="mui-action-back mui-icon mui-icon-left-nav mui-pull-left">
<label class="mui-pull-right theme_back_font">返回</label>
</a>
<h1 class="mui-title themes_title">药品信息</h1>
<a href="#" class="mui-pull-right batchAccetpance" style="height: 45px;padding-top: 12px;">
批量验收
</a>
</header>
<div class="mui-content">
<div class="mui-input-row mui-search search_head" onclick="toSearchPage()">
<input type="search" class="mui-input-clear" readonly="readonly" placeholder="通用名/商品名/生产厂家" >
</div>
<div id="slider" class="mui-slider themes_tab mui-fullscreen">
<div id="sliderSegmentedControl" class="mui-slider-indicator mui-segmented-control mui-segmented-control-inverted">
<a class="mui-control-item themes_font_color_tab" href="#item1mobile">待验收</a>
<a class="mui-control-item themes_font_color_tab" href="#item2mobile">已验收</a>
</div>
<div id="sliderProgressBar" class="mui-slider-progress-bar mui-col-xs-6"></div>
<div class="mui-slider-group">
<div id="item1mobile" class="mui-slider-item mui-control-content">
<div id="scroll1" class="mui-scroll-wrapper">
<div class="mui-scroll" id="mui-table-view-tab1">
<ul class="mui-table-view">
<li class="mui-table-view-cell mui-tab1" style="padding: 0;">
</li>
</ul>
</div>
</div>
</div>
<div id="item2mobile" class="mui-slider-item mui-control-content">
<div id="scroll2" class="mui-scroll-wrapper">
<div class="mui-scroll" id="mui-table-view-tab2">
<ul class="mui-table-view">
<li class="mui-table-view-cell mui-tab2" style="padding: 0;">
</li>
</ul>
</div>
</div>
</div>
</div>
</div>
</div>
<script src="../../js/mui.min.js"></script>
<script src="../../js/jquery.min.js" ></script>
<script src="../../js/mui.pullToRefresh.js"></script>
<script src="../../js/mui.pullToRefresh.material.js"></script>
<script src="../../js/template-web.js" type="text/javascript" charset="utf-8"></script>
<script src="../../js/utils.js" type="text/javascript" charset="utf-8"></script>
<script src="../../js/common.js" type="text/javascript" charset="utf-8"></script>
<script src="../../js/request.js" type="text/javascript" charset="utf-8"></script>
<script type="text/javascript">
if(window.plus) {
plusready();
} else {
document.addEventListener('plusready', plusready, false);
}
function plusready() {
plus.key.addEventListener('backbutton',function(){
plus.webview.currentWebview().close();
})
}
var auditStatus = undefined,
selected = undefined, //验收状态 1 待验收 2 已验收
selectTabs = 1;
//去搜索页面
function toSearchPage (){
// document.activeElement.blur(); // 隐藏软键盘
var params = {};
params.id = 'basic_acc_list';
params.route = '../basicMedicine/basic_acc_list';
params.selected = selected;
params.auditStatus = auditStatus;
params.selectTabs = selectTabs;
params.module = 'basicMedicine';
params.location = 'sub_list';
common.openwin('../commonPages/searchPage',{ params: JSON.stringify(params) },false)
}
(function($,$$) {
$.init({
beforeback: function() {
var list = plus.webview.currentWebview().opener();
mui.fire(list, 'pagefresh',{ hasAcceptance: selectTabs === 1 ? true: false});
return true;
}
})
var deceleration = mui.os.ios?0.003:0.0009;
$('.mui-scroll-wrapper').scroll({
bounce: true,
indicators: true, //是否显示滚动条
deceleration:deceleration
});
var currentSelected = undefined;
/* 渲染模板 */
var params = undefined,
checkType = undefined,
type = undefined,
isShowTemprature = undefined, //是否显示验收温度 1 显示 0 隐藏
isPsList = undefined; // 验收单类型
selected = '.mui-tab1'; // 默认选中内容区块
var utils = new Utils();
utils.appendModule('#list_tpl');
var nullDataHtml = '<div class="mui-pull-bottom-tips"><div class="mui-pull-bottom-wrapper">'+
'<span class="mui-pull-loading">暂无数据</span></div></div>'
var page = 1, totalPage = undefined, pageSize = 15, isMore = true, query = {};
var _url = '/a/exam/detail', // 分页接口
checkUrl = '/a/checkacceptdetail/checkList';
url = '/a/checkaccept/detail',
pageLeft = 1,
pageRight = 1,
totalPageLeft = undefined,
totalPageRight = undefined,
isMore = true,
distributeCode = undefined,
status = undefined;
function template(selected, data, insertType){
utils.innerTplHtml('list_tpl_view', selected , data, insertType);
}
// /*
// 获取列表数据
// * */
// function genData(url,postData,selected){
// mui.ajaxRequest(url,{
// type: 'post',
// data: postData,
// showWaiting: true,
// success: function(data){
// plus.nativeUI.closeWaiting();
// if(data.code === 200){
// detailData = {
// unVerfiyList: { list: [] },
// verifyList: { list: [] }
// }
// isShowTemprature = data.data.isShowTemprature;
// detailData.unVerfiyList.list = data.data.unVerfiyList && data.data.unVerfiyList.length ? data.data.unVerfiyList: [];
// detailData.unVerfiyList.acceptance = true;
// detailData.unVerfiyList.checkType = checkType;
// detailData.unVerfiyList.isShowTemprature = data.data.isShowTemprature;
// detailData.verifyList.list = data.data.verifyList && data.data.verifyList.length ? data.data.verifyList: [] ;
// detailData.verifyList.acceptance = false;
// detailData.verifyList.isShowTemprature = data.data.isShowTemprature;
// showData(detailData,selected)
// }else{
// mui.alert(data.msg)
// }
// },
// error: function(xhr,type,errorThrown){
// console.log(xhr.responseText)
// }
// });
// }
//
// /*
// 展示数据
// * */
// function showData(data,selected){
// var batchAccetpance = document.querySelector('.batchAccetpance');
// var acceptanceTab1 = document.querySelector('.mui-tab1');
// var acceptanceTab2 = document.querySelector('.mui-tab2');
// var html1 = undefined, html2 = undefined;
// batchAccetpance.style.display = selected === 'left'? 'block': 'none';
// if(data.unVerfiyList.list.length === 0){
// html1 = nullDataHtml;
// }else{
// mui.each(data.unVerfiyList.list,function(index,item){
// item.editable = (params.accepttype === '101' || params.accepttype === '102' || params.accepttype === '103'|| params.accepttype === '104' ) ? true: false;
// item.showEditBtn = item.editable;
// });
// html1 = template('list_tpl_view',data.unVerfiyList);
// }
// acceptanceTab1.innerHTML = html1;
// if(data.verifyList.list.length === 0){
// html2 = nullDataHtml
// }else{
// html2 = template('list_tpl_view',data.verifyList);
// }
// acceptanceTab2.innerHTML = html2;
// }
//
$.plusReady(function(){
let globalQuery = {};
window.addEventListener('pagefresh',function(event){
console.log('从详情回来')
console.log(JSON.stringify(event.detail))
query = event.detail.query;
console.log(typeof event.detail.selectTabs);
let index = event.detail.selectTabs === '1' ? 0 : 1;
console.log(index,'index')
if(index === 1){
mui('#slider').slider().gotoItem(1);
}
setTimeout(function(){
mui('.mui-scroll-wrapper').scroll()[index].scrollTo(0,0,100);
mui(".mui-scroll").pullToRefresh()[index].pullDownLoading();
},200)
});
// 触发刷新 搜索页面搜的值
window.addEventListener('sub_search',function(event){
console.log('从搜索页面回来')
console.log(JSON.stringify(event.detail) );
query = globalQuery = JSON.parse(event.detail.searchParams);
console.log(typeof event.detail.selectTabs)
let index = event.detail.selectTabs === 1 ? 0 : 1;
$$('.mui-input-clear').val(query.hisDrugName);
$$('.mui-placeholder').hide();
setTimeout(function(){
mui('.mui-scroll-wrapper').scroll()[index].scrollTo(0,0,100);
mui(".mui-scroll").pullToRefresh()[index].pullDownLoading();
},300)
console.log('刷新了')
})
if(plus.storage.getItem('currDept')){
type = JSON.parse(plus.storage.getItem('currDept')).deptType;
switch(type){
case '3':
checkType = 1; // 药库
break;
case '4':
checkType = 2; // 药房
break;
case '5':
checkType = 3; // 基数药
break;
default:
break;
}
}
var isUsual = undefined;
var self = plus.webview.currentWebview();
params = JSON.parse(self.params);//获得参数
console.log(self.params)
distributeCode = params.distributecode;
isUsual = params.isusual;
// 判断是否是配送单
isPsList = (params.accepttype === '101' || params.accepttype === '102' || params.accepttype === '103' ||params.accepttype === '104' ) ? true: false;
console.log(isPsList)
currentSelected = params.currentSelected; // 当前选中tabs
console.log(currentSelected)
status = currentSelected === 'left'? '1': '2';
auditStatus = currentSelected === 'left'? '1': '2';
selectTabs = currentSelected === 'left'? 1: 2;
console.log('selectTabs')
console.log(selectTabs)
if(currentSelected === 'left'){
$$('.batchAccetpance').show();
}else{
$$('.batchAccetpance').hide();
}
var checkUrl = '/a/checkacceptdetail/basemedic';
var url = '/a/checkaccept/detail';
var item2 = document.querySelector('#item2mobile');
var item1 = document.querySelector('#item1mobile');
document.getElementById('slider').addEventListener('slide', function(e) {
$$('.mui-input-clear').val('');
let index = e.detail.slideNumber;
if (index === 1) {
status = '2';
selected = '.mui-tab2';
selectTabs = 2;
mui('#slider').slider().gotoItem(1);
$$('.batchAccetpance').hide();
$('.mui-slider-group .mui-scroll .mui-tab2')[0].innerHTML = '';
if (!item2.querySelector('.am-card')) {
mui(".mui-slider-group .mui-scroll").pullToRefresh()[index].pullDownLoading();
}
}
if(index === 0){
status = '1';
selected = '.mui-tab1';
selectTabs = 1;
$$('.batchAccetpance').show();
mui('#slider').slider().gotoItem(0);
$('.mui-slider-group .mui-scroll .mui-tab1')[0].innerHTML = '';
if (!item1.querySelector('.am-card')) {
mui(".mui-slider-group .mui-scroll").pullToRefresh()[index].pullDownLoading();
}
}
});
//循环初始化所有下拉刷新,上拉加载。
$.each(document.querySelectorAll('.mui-scroll'), function(index, pullRefreshEl) {
$(pullRefreshEl).pullToRefresh({
down: {
style:'circle',
contentdown : "下拉可以刷新",
contentover : "释放立即刷新",
contentrefresh : "正在刷新...",
callback: pulldownRefresh
},
up: {
contentrefresh : "正在加载...",//可选,正在加载状态时,上拉加载控件上显示的标题内容
contentnomore:'没有更多数据',
callback: pullupRefresh
}
});
});
// 第一个tab 默认加载一次数据
mui(".mui-scroll").pullToRefresh()[ selectTabs -1 ].pullDownLoading();
//下拉刷新
function pulldownRefresh(){
console.log('下拉')
var self = this;
pageLeft = 1; pageRight = 1;
status = selectTabs === 1 ? '1': '2';
var postData = {
distributeCode: distributeCode,
status:status,
pageNo: 1,
pageSize: pageSize
};
if(query.hisDrugCode){
postData.hisDrugCode = query.hisDrugCode
$$('.mui-input-clear').val(query.hisDrugName);
}else{
globalQuery={}
$$('.mui-input-clear').val('');
$$('.mui-placeholder').show();
}
query = {};
console.log(JSON.stringify(postData))
mui.ajaxRequest(_url,{
type: 'POST',
data: postData,
success: function(data){
console.log( '*************************' )
var resData = data.data;
resData.acceptance = selectTabs === 1 ? true: false;
resData.checkType = checkType;
totalPage = data.totalPage;
if(resData.list.length === 0 || (resData.list.length <= resData.pageSize && resData.pageNo === resData.totalPage)){
var i = selectTabs === 1 ? 0 : 1;
isMore = false;
self.endPullDownToRefresh(true);
document.querySelectorAll('.mui-pull-loading')[i].innerHTML = '没有更多数据';
}else{
isMore = true;
self.endPullDownToRefresh(false);
self.refresh(true);
}
return template(selected,resData, false)
},
error: function(xhr,type,errorThrown){
console.log(xhr.responseText)
}
});
}
//上拉加载更多
function pullupRefresh(){
console.log('下拉')
var self = this;
console.log(isMore,'isMore')
if(isMore){
page++;
mui.ajaxRequest(_url,{
type: 'POST',
data:{
distributeCode: distributeCode,
status:status,
pageNo: page,
pageSize: pageSize
},
success: function(data){
var resData = data.data;
// resData.acceptance = selectTabs === 1 && checkType === 1 ? true: false;
resData.acceptance = status === '1'? true: false;
resData.checkType = checkType;
if(resData.list.length <= resData.pageSize && resData.pageNo === resData.totalPage){
var i = selectTabs === 1 ? 0 : 1;
isMore = false;
self.endPullUpToRefresh(true);
document.querySelectorAll('.mui-pull-loading')[i].innerHTML = '没有更多数据';
}else{
isMore = true;
self.endPullUpToRefresh(false);
self.refresh(true);
}
return template(selected, resData, true)
},
error: function(xhr,type,errorThrown){
console.log(xhr.responseText)
}
});
}else{
var i = selectTabs === 1 ? 0 : 1;
document.querySelectorAll('.mui-pull-loading')[i].innerHTML = '没有更多数据';
self.endPullUpToRefresh(true);
}
}
//绑定点击事件 - 进入详情页
$('#slider').on('tap','.moreDetail',function(){
let id = this.dataset.id;
let newData = {};
newData.checkType = checkType; // 药房,药库,基数药 区分
hasAcceptance = selectTabs === 1 ? true: false;
newData.distributeCode = distributeCode;
newData.isShowTemprature = isShowTemprature;
newData.hasAcceptance = hasAcceptance;// 判断 详情页面是否有验收按钮
newData.status = status;
newData.id = id;
newData.selectTabs = selectTabs;
newData.isPsList = isPsList; // 是否是配送单
newData.query = globalQuery;
console.log(JSON.stringify(newData))
document.activeElement.blur(); // 隐藏软键盘
common.openwin('acc_detail',{ details: JSON.stringify(newData) },{
titleText: '验收详情'
})
});
/* 批量验收 */
$('.mui-bar').on('tap','.batchAccetpance',function(){
var paramsData = {};
paramsData.isPsList = isPsList;
paramsData.distributeCode = distributeCode;
paramsData.status = '1';
paramsData.isShowTemprature = isShowTemprature;
paramsData.itemData = params;
paramsData.checkType = checkType;
paramsData.acceptance = true;
console.log(JSON.stringify(paramsData));
common.openwin('basic_acc_batch',{ params: JSON.stringify(paramsData) },{
titleText: '药品信息'
})
// common.openwin('acc_batch',{ params: JSON.stringify(paramsData) },false)
})
// 绑定事件 --确认验收
$('#slider').on('tap','.acceptance',function(){
document.activeElement.blur(); // 隐藏软键盘
let postData = {}, detailList = [], submitData = {};
postData.id = this.dataset.id;
detailList.push(postData);
submitData.detailList = detailList;
submitData.distributeCode = distributeCode;
console.log(submitData);
var btnArray = ['否', '是'];
mui.confirm('是否确认验收?', '确认', btnArray, function(e) {
if (e.index == 1) {
mui.ajaxRequest(checkUrl,{
type: 'POST',
data: submitData,
showWaiting: true,
contentType: "application/json",
success: function(data){
if(data.code === 200){
mui.toast('验收成功');
mui(".mui-scroll").pullToRefresh()[ selectTabs -1 ].pullDownLoading();
}
},
error: function(xhr,type,errorThrown){
console.log(xhr.responseText)
}
})
}
},'div')
});
});
})(mui,jQuery);
</script>
</body>
</html>
\ No newline at end of file
<!--验收列表 - 药品信息 列表页 - wwb-->
<!doctype html>
<html>
<head>
<meta charset="UTF-8">
<title></title>
<link rel="import" href="./list_tpl.html" id="acc_list_tpl"/>
<meta name="viewport" content="width=device-width,initial-scale=1,minimum-scale=1,maximum-scale=1,user-scalable=no" />
<link href="../../css/mui.min.css" rel="stylesheet" />
<link href="../../css/themes.css" rel="stylesheet" />
<link href="../../css/index_view.css" rel="stylesheet" />
</head>
<body>
<header class="mui-bar mui-bar-nav themes_bg_color">
<a class="mui-action-back mui-icon mui-icon-left-nav mui-pull-left">
<label class="mui-pull-right theme_back_font">返回</label>
</a>
<h1 class="mui-title themes_title">药品信息</h1>
</header>
<div class="mui-content">
<div class="mui-input-row mui-search search_head" onclick="toSearchPage()">
<input type="search" class="mui-input-clear" readonly="readonly" placeholder="通用名/商品名/生产厂家" >
</div>
<div class="home-card-wrapper" style="padding: 8px;margin-top: 0;margin-bottom: 8px;">
<div class="home-card-title">已验收</div>
</div>
<div id="slider" class="mui-slider themes_tab mui-fullscreen" style="margin-top: 45px;">
<div id="sliderProgressBar" class="mui-slider-progress-bar mui-col-xs-6"></div>
<div class="mui-slider-group">
<div id="item1mobile" class="mui-slider-item mui-control-content">
<div id="scroll1" class="mui-scroll-wrapper">
<div class="mui-scroll" id="mui-table-view-tab1">
<ul class="mui-table-view">
<li class="mui-table-view-cell mui-tab1" style="padding: 0;">
</li>
</ul>
</div>
</div>
</div>
</div>
</div>
</div>
<script src="../../js/mui.min.js"></script>
<script src="../../js/jquery.min.js" ></script>
<script src="../../js/mui.pullToRefresh.js"></script>
<script src="../../js/mui.pullToRefresh.material.js"></script>
<script src="../../js/template-web.js" type="text/javascript" charset="utf-8"></script>
<script src="../../js/utils.js" type="text/javascript" charset="utf-8"></script>
<script src="../../js/common.js" type="text/javascript" charset="utf-8"></script>
<script src="../../js/request.js" type="text/javascript" charset="utf-8"></script>
<script type="text/javascript">
if(window.plus) {
plusready();
} else {
document.addEventListener('plusready', plusready, false);
}
function plusready() {
plus.key.addEventListener('backbutton',function(){
plus.webview.currentWebview().close();
})
}
//去搜索页面
function toSearchPage (){
document.activeElement.blur(); // 隐藏软键盘
var params = {};
params.id = 'basic_has_acc';
params.route = '../basicMedicine/basic_has_acc';
params.auditStatus = '2'; // 都是已验收单据
params.selectTabs = 2;
params.selected = 'right';
params.module = 'basicMedicine';
params.location = 'sub_list';
common.openwin('../commonPages/searchPage',{ params: JSON.stringify(params) },false)
}
(function($,$JQ) {
$.init({
beforeback: function() {
var list = plus.webview.currentWebview().opener();
mui.fire(list, 'pagefresh',{ hasAcceptance: true }); // 参数判断是某一个Tabs 右侧tabs 刷寻右侧列表
return true;
}
})
var deceleration = mui.os.ios?0.003:0.0009;
$('.mui-scroll-wrapper').scroll({
scrollX: false,
bounce: true,
indicators: true, //是否显示滚动条
deceleration:deceleration
});
/* 渲染模板 */
var params = undefined,
checkType = undefined,
type = undefined,
isShowTemprature = undefined, //是否显示验收温度 1 显示 0 隐藏
isPsList = undefined; // 验收单类型
var utils = new Utils();
utils.appendModule('#acc_list_tpl');
$('.mui-scroll-wrapper').scroll({
bounce: true,
indicators: true, //是否显示滚动条
deceleration:deceleration
});
var page = 1,
totalPage = undefined,
pageSize = 15,
isMore = true,
query = {};
var _url = '/a/exam/detail'; // 分页接口
var distributeCode = undefined , status = '2';
function template(data, insertType){
utils.innerTplHtml('list_tpl_view','.mui-tab1', data, insertType);
}
/*
下拉刷新
* */
function pulldownRefresh(){
var self = this;
page = 1;
var postData = {
distributeCode: distributeCode,
status,status,
pageNo: page,
pageSize: pageSize
};
if(query.hisDrugCode){
postData.hisDrugCode = query.hisDrugCode
}else{
globalQuery={}
$JQ('.mui-input-clear').val('');
$JQ('.mui-placeholder').show();
}
query = {};
mui.ajaxRequest(_url,{
type: 'POST',
data: postData,
success: function(data){
var resData = data.data;
resData.acceptance = false;
console.log(resData)
totalPage = data.totalPage;
if(resData.list.length === 0 ||resData.list.length <= resData.pageSize && resData.pageNo === resData.totalPage){
isMore = false;
self.endPullDownToRefresh(true);
document.querySelectorAll('.mui-pull-loading')[0].innerHTML = '没有更多数据';
}else{
isMore = true;
self.endPullDownToRefresh(false);
self.refresh(true);
}
return template(resData, false)
},
error: function(xhr,type,errorThrown){
console.log(xhr.responseText)
}
});
}
/*
* 上拉加载更多
* */
function pullupRefresh(){
var self = this;
console.log(isMore,'isMore')
if(isMore){
page++;
mui.ajaxRequest(_url,{
type: 'POST',
data:{
distributeCode: distributeCode,
status,status,
pageNo: page,
pageSize: pageSize
},
success: function(data){
var resData = data.data;
resData.acceptance = false;
if(resData.list.length <= resData.pageSize && resData.pageNo === resData.totalPage){
isMore = false;
self.endPullUpToRefresh(true);
document.querySelectorAll('.mui-pull-loading').innerHTML = '没有更多数据';
}else{
isMore = true;
self.endPullUpToRefresh(false);
self.refresh(true);
}
return template(resData, true)
},
error: function(xhr,type,errorThrown){
console.log(xhr.responseText)
}
});
}else{
document.querySelector('.mui-pull-loading').innerHTML = '没有更多数据';
self.endPullUpToRefresh(true);
}
}
// 模板加载
$.plusReady(function(){
let globalQuery = {};
window.addEventListener('pagefresh',function(e){
console.log('从详情回来')
console.log(e.detail.query)
query = e.detail.query;
setTimeout(function(){
console.log('刷新了啊啊啊啊 啊');
mui('.mui-scroll-wrapper').scroll().scrollTo(0,0);
mui(".mui-scroll").pullToRefresh().pullDownLoading();
},200)
});
// 触发刷新 搜索页面搜的值
window.addEventListener('sub_search',function(event){
console.log('从搜索页面回来')
console.log(JSON.stringify(event.detail) );
query = globalQuery = JSON.parse(event.detail.searchParams);
$JQ('.mui-input-clear').val(query.hisDrugName);
$JQ('.mui-placeholder').hide();
setTimeout(function(){
mui(".mui-scroll").pullToRefresh().pullDownLoading();
},200)
console.log('刷新了')
})
var isUsual = undefined;
var self = plus.webview.currentWebview();
params = JSON.parse(self.params);//获得参数
console.log(JSON.stringify(params))
distributeCode = params.distributecode;
isUsual = params.isusual;
//循环初始化所有下拉刷新,上拉加载。
$.each(document.querySelectorAll('.mui-scroll'), function(index, pullRefreshEl) {
$(pullRefreshEl).pullToRefresh({
down: {
style:'circle',
contentdown : "下拉可以刷新",
contentover : "释放立即刷新",
contentrefresh : "正在刷新...",
callback: pulldownRefresh
},
up: {
contentrefresh : "正在加载...",//可选,正在加载状态时,上拉加载控件上显示的标题内容
contentnomore:'没有更多数据',
callback: pullupRefresh
}
});
});
// 第一个tab 默认加载一次数据
mui(".mui-scroll").pullToRefresh().pullDownLoading();
if(plus.storage.getItem('currDept')){
checkType = '3';
}else{
mui.toast('请重新登陆');
common.openwin('../login/index')
}
//绑定点击事件 - 进入详情页
$('#slider').on('tap','.moreDetail',function(){
let id = this.dataset.id;
let newData = {};
newData.checkType = checkType; // 药房,药库,基数药 区分
newData.distributeCode = distributeCode;
newData.isShowTemprature = isShowTemprature;
newData.hasAcceptance = false;// 判断 详情页面是否有验收按钮
newData.status = status;
newData.id = id;
newData.isPsList = false; // 是否是配送单
newData.query = globalQuery ;
console.log('newData',JSON.stringify(newData))
console.log('query',JSON.stringify(globalQuery))
console.log(JSON.stringify(Object.assign(newData,globalQuery)))
document.activeElement.blur(); // 隐藏软键盘
common.openwin('acc_detail',{ details: JSON.stringify(newData) },{
titleText: '验收详情'
})
});
});
})(mui,jQuery);
</script>
</body>
</html>
\ No newline at end of file
<script type="text/html" id='detail_tpl'>
<div style="margin-top:10px;">
{{ each list value i }}
<ul class="mui-table-view" style="margin-bottom:8px;">
<li class="mui-table-view-cell mui-collapse mui-active">
<a class="mui-navigate-right" href="#">单据信息</a>
<div class="mui-collapse-content">
<div class="mui-input-row">
<label>配送/验收单</label>
<p class="detailRow_content">{{ distributeCode ? distributeCode: '' }}</p>
</div>
<div class="mui-input-row">
<label>状态</label>
<p class="detailRow_content">{{ value.status ? value.status === 1 ? '待验收':'已验收': '' }}</p>
</div>
<div class="mui-input-row">
<label>类型</label>
<p class="detailRow_content">{{ typeName ? typeName: '' }}</p>
</div>
</div>
</li>
</ul>
<ul class="mui-table-view" style="margin-bottom:8px;">
<li class="mui-table-view-cell mui-collapse mui-active">
<a class="mui-navigate-right" href="#">产品信息</a>
<div class="mui-collapse-content">
<div class="mui-input-row">
<label>通用名称</label>
<p class="detailRow_content">{{value.ctmmGenericName}}</p>
</div>
<div class="mui-input-row">
<label>商品名</label>
<p class="detailRow_content">{{value.ctmmTradeName}}</p>
</div>
<div class="mui-input-row">
<label>规格</label>
<p class="detailRow_content">{{value.ctmmSpecification}}</p>
</div>
<div class="mui-input-row">
<label>剂型</label>
<p class="detailRow_content">{{value.ctmmDosageFormDesc}}</p>
</div>
<div class="mui-input-row">
<label>生产厂家</label>
<p class="detailRow_content">{{value.ctmmManufacturerName}}</p>
</div>
<div class="mui-input-row">
<label>批准文号</label>
<p class="detailRow_content">{{value.approvalNo}}</p>
</div>
<div class="mui-input-row">
<label>包装规格</label>
<p class="detailRow_content">{{value.packageSpecification}}</p>
</div>
<div class="mui-input-row">
<label>单位</label>
<p class="detailRow_content">{{value.unit}}</p>
</div>
<div class="mui-input-row">
{{ if (accepttype === '101' || accepttype === '102' || accepttype === '103'|| accepttype === '104') && hasAcceptance && value.isUsual === 0 }}
<label class="font-warning">生产批号</label>
<input class="mui-input editInput BatchNo" value="{{ value.productBatchNo }}" />
{{ else }}
<label>生产批号</label>
<p class="detailRow_content">{{value.productBatchNo}}</p>
{{ /if }}
</div>
<div class="mui-input-row">
{{ if (accepttype === '101' || accepttype === '102' || accepttype === '103'|| accepttype === '104') && hasAcceptance && value.isUsual === 0 }}
<label class="font-warning">生产日期</label>
<input class="mui-input editInput realProductTime" type='date' value="{{ value.realProductTime }}" />
{{ else }}
<label>生产日期</label>
<p class="detailRow_content">{{value.realProductTime}}</p>
{{ /if }}
</div>
<div class="mui-input-row">
{{ if (accepttype === '101' || accepttype === '102' || accepttype === '103' || accepttype === '104') && hasAcceptance && value.isUsual === 0 }}
<label class="font-warning">有效期至</label>
<input class="mui-input editInput realValidEndDate" type='date' value="{{ value.realValidEndDate }}" />
{{ else }}
<label>有效期至</label>
<p class="detailRow_content">{{value.realValidEndDate}}</p>
{{ /if }}
</div>
{{ if isShowTemprature === 1 }}
<div class="mui-input-row">
{{ if (accepttype === '101' || accepttype === '102' || accepttype === '103'|| accepttype === '104') && hasAcceptance && value.isUsual === 0 }}
<label class="font-warning">验收温度(℃)</label>
<input class="mui-input editInput realAcceptanceTemperature" type='number' value="{{ value.realAcceptanceTemperature}}"/>
{{ else }}
<label>验收温度(℃)</label>
<p class="detailRow_content">{{value.realAcceptanceTemperature}}</p>
{{ /if }}
</div>
{{ /if }}
<div class="mui-input-row">
<label>配送数量</label>
<p class="detailRow_content">{{value.realDeliveryQuantiry}}</p>
</div>
<div class="mui-input-row">
{{ if (accepttype === '101' || accepttype === '102' || accepttype === '103' ||accepttype === '104') && hasAcceptance && value.isUsual === 0 }}
<label class="font-warning">实到数量</label>
<input class="mui-input editInput realReceiveQuantiry" type="number" pattern="[0-9]*" value="{{ value.realReceiveQuantiry ? value.realReceiveQuantiry: value.realDeliveryQuantiry }}" />
{{ else }}
<label>实到数量</label>
<p class="detailRow_content">{{value.isUsual === 0 && value.realReceiveQuantiry ? value.realReceiveQuantiry: 0 }}</p>
{{ /if }}
</div>
<div class="mui-input-row">
<label>供应商</label>
<p class="detailRow_content">{{value.supplierName}}</p>
</div>
</div>
</li>
</ul>
{{ /each }}
</div>
</script>
\ No newline at end of file
<!--验收列表 - 列表页 - wwb-->
<!doctype html>
<html>
<head>
<meta charset="UTF-8">
<title></title>
<meta name="viewport" content="width=device-width,initial-scale=1,minimum-scale=1,maximum-scale=1,user-scalable=no" />
<link href="../../css/mui.min.css" rel="stylesheet" />
<link href="../../css/themes.css" rel="stylesheet" />
<link href="../../css/index_view.css" rel="stylesheet" />
<link rel="import" href="../../tpl/acceptance_card.html " id="card_view"/>
</head>
<body>
<header class="mui-bar mui-bar-nav themes_bg_color">
<a class="mui-action-back mui-icon mui-icon-left-nav mui-pull-left">
<label class="mui-pull-right theme_back_font">返回</label>
</a>
<h1 class="mui-title themes_title">验收</h1>
<a href="#modal" class="mui-pull-right" style="height: 45px;padding-top: 12px;">
<div class="qrcode" id="qrcode" onclick="clicked('../commonPages/qrcode',true,true)">
<img src="../../assest/qrcode.png" width="24" height="24"/>
</div>
</a>
</header>
<div class="mui-content">
<div class="mui-input-row mui-search search_head" onclick="toSearchPage()">
<input type="search" class="mui-input-clear" value="" readonly="readonly" placeholder="供应商名称" >
</div>
<div id="slider" class="mui-slider themes_tab mui-fullscreen" style="top: 102px;">
<div id="sliderSegmentedControl" class="mui-slider-indicator mui-segmented-control mui-segmented-control-inverted">
<a class="mui-control-item themes_font_color_tab" href="#item1mobile">待验收</a>
<a class="mui-control-item themes_font_color_tab" href="#item2mobile">已验收</a>
</div>
<div id="sliderProgressBar" class="mui-slider-progress-bar mui-col-xs-6"></div>
<div class="mui-slider-group">
<div id="item1mobile" class="mui-slider-item mui-control-content mui-active">
<div id="scroll1" class="mui-scroll-wrapper">
<div class="mui-scroll" id='mui-table-view-tab1'>
<ul class="mui-table-view">
<li class="mui-table-view-cell mui-tab1" style="padding: 0;"></li>
</ul>
</div>
</div>
</div>
<div id="item2mobile" class="mui-slider-item mui-control-content">
<div id="scroll2" class="mui-scroll-wrapper">
<div class="mui-scroll" id='mui-table-view-tab2'>
<ul class="mui-table-view">
<li class="mui-table-view-cell mui-tab2" style="padding: 0;"></li>
</ul>
</div>
</div>
</div>
</div>
</div>
</div>
<script src="../../js/mui.js"></script>
<script src="../../js/jquery.min.js" ></script>
<script src="../../js/mui.pullToRefresh.js"></script>
<script src="../../js/mui.pullToRefresh.material.js"></script>
<script src="../../js/template-web.js" type="text/javascript" charset="utf-8"></script>
<script src="../../js/utils.js" type="text/javascript" charset="utf-8"></script>
<script src="../../js/common.js" type="text/javascript" charset="utf-8"></script>
<script src="../../js/request.js" type="text/javascript" charset="utf-8"></script>
<script type="text/javascript">
function clicked(){
common.openwin('../commonPages/qrcode',true,{ titleText: '扫码验收' })
}
//去搜索页面
function toSearchPage (){
document.activeElement.blur(); // 隐藏软键盘
var params = {};
params.key = 'supplier';
params.route = '../basicMedicine/index';
params.module = 'basicMedicine';
params.location = 'main_list'
common.openwin('../commonPages/searchPage',{ params: JSON.stringify(params) },false)
}
(function($,$$) {
$.init({
beforeback:function(){
var list = plus.webview.currentWebview().opener();
mui.fire(list, 'refresh',{ getCountFlag: true });
return true;
}
});
var deceleration = mui.os.ios?0.003:0.0009;
$('.mui-scroll-wrapper').scroll({
bounce: true,
indicators: true, //是否显示滚动条
deceleration:deceleration
});
var utils = new Utils();
utils.appendModule('#card_view');
/* 渲染模板 */
var selected = '.mui-tab1',
hasChecked = false,
page = undefined,
pageSize = 15,
totalPage = undefined,
query = {};
var checkType, type, auditStatus// 验收单类型 // 验收状态 1 待验收 2 已验收
var requestUrl = '/a/checkaccept/basicMediclist'; // 请求地址
var pageLeft = 1,
pageRight = 1,
totalPageLeft,
totalPageRight,
isMore = true,
selectTabs = 1;
function template(selected, data, insertType){
utils.innerTplHtml('acceptance', selected, data, insertType);
}
/*
下拉刷新
* */
function pulldownRefresh(){
var self = this;
if(selectTabs === 1){
pageLeft = 1
}else{
pageRight = 1;
}
auditStatus = selectTabs === 1 ? '1': '3';
page = selectTabs === 1 ? pageLeft: pageRight;
var postData = {
auditStatus: auditStatus,
checkType: checkType,
pageNo: 1,
pageSize: pageSize
}
if(query.supplierCode){
postData.supplierCodeList = [ query.supplierCode ];
}
query = {};
mui.ajaxRequest(requestUrl,{
type: 'POST',
data: postData,
contentType: "application/json",
success: function(data){
var resData = data.data;
var total = resData.totalPage;
if(selectTabs === 1){
totalPageLeft = total;
}else{
totalPageRight = total;
}
if(resData.list.length === 0 || (resData.list.length <= resData.pageSize && resData.pageNo === resData.totalPage)){
var i = selectTabs === 1 ? 0 : 1;
document.querySelectorAll('.mui-pull-loading')[i].innerHTML = '没有更多数据';
isMore = false;
self.endPullDownToRefresh(true);
}else{
isMore = true;
self.endPullDownToRefresh(false);
self.refresh(true);
}
return template(selected,resData,false)
},
error: function(xhr,type,errorThrown){
console.log(xhr.responseText)
}
});
}
/*
* 上拉加载更多
* */
function pullupRefresh(){
var self = this;
if(isMore){
if(selectTabs === 1){
pageLeft ++
}else{
pageRight ++;
}
page = selectTabs === 1 ? pageLeft: pageRight;
totalPage = selectTabs === 1 ? totalPageLeft: totalPageRight;
console.log(page);
console.log(totalPage)
auditStatus = selectTabs === 1 ? '1': '3';
var postData = {
auditStatus: auditStatus,
checkType: checkType,
pageNo: page,
pageSize: pageSize
}
console.log(JSON.stringify(postData))
if(page <= totalPage){
mui.ajaxRequest(requestUrl,{
type: 'POST',
data: postData,
contentType: "application/json",
success: function(data){
var resData = data.data;
if(resData.pageNo === resData.totalPage){
isMore = false;
self.endPullUpToRefresh(true);
}else{
isMore = true;
self.endPullUpToRefresh(false);
self.refresh(true);
}
return template(selected,resData,true);
},
error: function(xhr,type,errorThrown){
console.log(xhr.responseText)
}
});
}
}else{
var i = selectTabs === 1 ? 0 : 1;
document.querySelectorAll('.mui-pull-loading')[i].innerHTML = '没有更多数据';
self.endPullUpToRefresh(true);
}
}
$.plusReady(function(){
// 触发刷新 搜索页面搜的值
window.addEventListener('search',function(event){
console.log(JSON.stringify(event.detail))
query.supplierCode = JSON.parse(event.detail.searchParams).supplierCode;
query.supplierName = JSON.parse(event.detail.searchParams).supplierName;
console.log(JSON.stringify(query),'query')
$$('.mui-placeholder').hide();
$$('.mui-input-clear').val(query.supplierName);
mui(".mui-slider-group .mui-scroll").pullToRefresh()[0].pullDownLoading();
})
window.addEventListener('pagefresh',function(e){
let index = e.detail.hasAcceptance ? 0: 1;
if(index === 1){
mui('#slider').slider().gotoItem(1);
}
mui('.mui-scroll-wrapper').scroll()[index].scrollTo(0,0,100);
setTimeout(function(){
mui(".mui-slider-group .mui-scroll").pullToRefresh()[index].pullDownLoading();
},300)
});
plus.key.addEventListener('backbutton',function(){
plus.webview.currentWebview().close();
})
if(plus.storage.getItem('currDept')){
checkType = '3';
}else{
mui.toast('请重新登陆');
common.openwin('../login/index')
}
var item2 = document.querySelector('#item2mobile');
var item1 = document.querySelector('#item1mobile');
document.getElementById('slider').addEventListener('slide', function(e) {
$$('.mui-input-clear').val('');
let index = e.detail.slideNumber;
if (index === 1) {
selected = '.mui-tab2';
selectTabs = 2;
mui('#slider').slider().gotoItem(1);
$('.mui-slider-group .mui-scroll .mui-tab2')[0].innerHTML = '';
if (!item2.querySelector('.am-card')) {
mui(".mui-slider-group .mui-scroll").pullToRefresh()[index].pullDownLoading();
}
}
if(index === 0){
selected = '.mui-tab1';
selectTabs = 1;
mui('#slider').slider().gotoItem(0);
$('.mui-slider-group .mui-scroll .mui-tab1')[0].innerHTML = '';
if (!item1.querySelector('.am-card')) {
mui(".mui-slider-group .mui-scroll").pullToRefresh()[index].pullDownLoading();
}
}
});
//循环初始化所有下拉刷新,上拉加载。
$.each(document.querySelectorAll('.mui-slider-group .mui-scroll'), function(index, pullRefreshEl) {
$(pullRefreshEl).pullToRefresh({
down: {
style:'circle',
contentdown : "下拉可以刷新",
contentover : "释放立即刷新",
contentrefresh : "正在刷新...",
callback: pulldownRefresh
},
up: {
contentrefresh : "正在加载...",//可选,正在加载状态时,上拉加载控件上显示的标题内容
contentnomore:'没有更多数据',
callback: pullupRefresh
}
});
});
// 第一个tab 默认加载一次数据
mui(".mui-slider-group .mui-scroll").pullToRefresh()[0].pullDownLoading();
//绑定点击事件 - 进入详情页
$('#slider').on('tap','.am-card',function(){
let itemData = this.dataset;
itemData.currentSelected = hasChecked ? 'right': 'left';
console.log(JSON.stringify(itemData))
document.activeElement.blur(); // 隐藏软键盘
if(selectTabs===2){
common.openwin('basic_has_acc',{ params: JSON.stringify(itemData) },false)
}else{
common.openwin('basic_acc_list',{ params: JSON.stringify(itemData) },false)
}
})
});
})(mui,jQuery);
</script>
</body>
</html>
\ No newline at end of file
<script type="text/html" id='list_tpl_view'>
{{ each list value i}}
<div class="am-card scrollList-item am-card-full"
data-id="{{ value.id }}"
data-isUsual="{{ value.isUsual }}"
data-drugCode="{{ value.drugCode }}"
data-parentId="{{ value.parentId }}"
>
<div class="am-card-header">
<div class="am-card-header-content">
<span style="font-size: 18px; color: rgb(51, 51, 51); font-weight: bold;">
{{ value.ctmmGenericName ? value.ctmmGenericName:value.ctmmTradeName ? value.ctmmTradeName: '' }}</span>
</div>
<div class="am-card-header-extra">
<span>{{ value.type }}</span>
</div>
</div>
<div class="am-card-body">
<div class="am-flexbox am-flexbox-align-center">
<div class="am-flexbox-item">
单位:<span>{{ value.unit }}</span>
</div>
<div class="am-flexbox-item">
规格:<span>{{ value.ctmmSpecification }}</span>
</div>
<div class="am-flexbox-item">
数量:<span>{{ value.realDeliveryQuantiry }}</span>
</div>
</div>
<div class="am-flexbox am-flexbox-align-center">
<div class="am-flexbox-item">
实到数量:<span>{{ value.realReceiveQuantiry }}</span>
</div>
<div class="am-flexbox-item am-last-flexItem">
生产日期:<span>{{ value.realProductTime }}</span>
</div>
<div class="am-flexbox-item am-last-flexItem">
有效期至:<span>{{ value.realValidEndDate }}</span>
</div>
</div>
<div class="am-flexbox am-flexbox-align-center">
<div class="am-flexbox-item">
批准文号:<span>{{ value.approvalNo }}</span>
</div>
<div class="am-flexbox-item">
指示货位:<span>{{ value.replanStoreName }}</span>
</div>
<div class="am-flexbox-item am-last-flexItem">
生产厂家:<span>{{ value.ctmmManufacturerName }}</span>
</div>
</div>
</div>
<div class="am-card-footer">
<div class="am-card-footer-content"></div>
<div class="am-card-footer-extra">
<button type="button" class="mui-btn mui-btn-blue mui-btn-outlined moreDetail" data-id="{{ value.id }}" data-index="{{ i }}" style="margin: 0 5px;">更多详情</button>
{{ if acceptance }}
<button type="button" class="mui-btn mui-btn-blue mui-btn-danger acceptance" data-id="{{ value.id }}" data-index="{{ i }}">确认验收</button>
{{ /if }}
</div>
</div>
</div>
<div style="background-color: #f5f5f9; height: 6px;">
</div>
{{/each}}
</script>
\ No newline at end of file
<!--盘点详情 - 详情页 - yuweI-->
<!doctype html>
<html>
<head>
<meta charset="UTF-8">
<title></title>
<link rel="import" href="./detail_tpl.html" id="acc_detail_tpl"/>
<meta name="viewport" content="width=device-width,initial-scale=1,minimum-scale=1,maximum-scale=1,user-scalable=no" />
<link href="../../css/mui.min.css" rel="stylesheet" />
<link href="../../css/themes.css" rel="stylesheet" />
<link href="../../css/index_view.css" rel="stylesheet" />
<link href="../../css/check.css" rel="stylesheet"/>
</head>
<body>
<!--<header class="mui-bar mui-bar-nav theme_back">
<a class="mui-action-back mui-icon mui-icon-left-nav mui-pull-left"></a>
<a class="mui-pull-left theme_back_font">返回</a>
<h1 class="mui-title">详情</h1>
</header>-->
<div class="mui-content detailRow">
<!--<div class="detail-header-flex">
<div class="am-action">
<a class="mui-icon mui-icon-arrowleft"></a>
<a class="theme_back_font">上一个</a>
</div>
<div>1/12</div>
<div class="am-action">
<a class="theme_next_font">下一个</a>
<a class="mui-icon mui-icon-arrowright"></a>
</div>
</div>-->
<form class="mui-input-group" id="detailContent" style="background:none;">
<ul class="mui-table-view" style="margin-bottom:12px;">
<li class="mui-table-view-cell mui-collapse">
<a class="mui-navigate-right" href="#">产品信息</a>
<div class="mui-collapse-content">
</div>
</li>
</ul>
</form>
</div>
<script src="../../js/mui.min.js"></script>
<script src="../../js/template-web.js" type="text/javascript" charset="utf-8"></script>
<script src="../../js/utils.js" type="text/javascript" charset="utf-8"></script>
<script src="../../js/common.js" type="text/javascript" charset="utf-8"></script>
<script src="../../js/request.js" type="text/javascript" charset="utf-8"></script>
<script type="text/javascript">
(function($) {
$.init()
// 模板加载
$.plusReady (function(){
//console.log("当前页面URL:"+plus.webview.currentWebview().getURL());
var self = plus.webview.currentWebview();
var details = JSON.parse(self.details);//获得参数
console.log(details,'details')
var data = {}, checkUrl = '/a/checkbill/submitCheck';
data.list = [];
data.list.push(details);
if(details.checkDetailStatus === 1){
var node = '<div id="List"></div><div id="addBtn"><button class="mui-btn mui-btn-block btn">+ 增加批号</button></div>';
var acceptanceBtn = '<button type="button" id="checkBtn" class="mui-btn mui-btn-warning mui-btn-block" style="margin-bottom: 20px;" data-loading-text = "提交中" data-loading-icon-position="right">确认提交</button>'
document.querySelector('#detailContent').insertAdjacentHTML('afterEnd',node);
document.querySelector('.detailRow').insertAdjacentHTML("beforeEnd",acceptanceBtn);
}
var utils = new Utils();
utils.appendModule('#acc_detail_tpl');
var html = template('detail_tpl', data);
document.getElementById('detailContent').innerHTML = html;
/*
*2 点击添加按钮 增加选填项 开始
*
* 拖拽后显示操作图标,点击操作图标删除元素
*/
var itemNum = 0;
function addSlideDelete() {
mui('.slide-main').off('tap', '.mui-btn').on('tap', '.mui-btn', function(event) {
var elem = this;
var li = elem.parentNode.parentNode;
var btnArray = ['确认', '取消'];
mui.confirm('确认删除该条记录?', '操作提醒', btnArray, function(e) {
if(e.index == 0) {
itemNum--;
li.parentNode.removeChild(li);
//if(orderList.length==orderListArray.length){
var index = li.getAttribute('data-index');
//获取该删除的子项的index
// orderList.splice(index, 1);
// orderListArray.splice(index, 1);
} else {
setTimeout(function() {
mui.swipeoutClose(li);
}, 0);
}
},'div');
});
}
if(details.checkDetailStatus === 1){
mui("#addBtn").on('tap', '.mui-btn', function() {
var ParentDiv = document.createElement("div")
ParentDiv.className = "mui-table-view-cell slide-main";
ParentDiv.setAttribute('data-index', itemNum);
ParentDiv.innerHTML = '<div class="mui-slider-handle">' +
'<div class="mui-input-group">' +
'<div class="mui-input-row">' +
'<label class="font-warning">生产批号</label>' +
'<input type="text" name="buycontent" class="mui-input-clear mui-input mui-input-ph" placeholder="请输入" >' +
'</div>' +
'<div class="mui-input-row">' +
'<label class="font-warning">数量</label>' +
'<input type="text" name="buycontent" class="mui-input-clear mui-input mui-input-num" placeholder="请输入" >' +
'</div>' +
'</div>' +
'</div>' +
'<div class="mui-slider-right mui-disabled">' +
'<a class="mui-btn mui-btn-red">删除</a>' +
'</div>';
document.getElementById("List").appendChild(ParentDiv);
itemNum++;
addSlideDelete(); //添加侧滑删除
});
}
var accountStoreNumNode = document.querySelector('#accountStoreNum');
var checkNumNode = document.querySelector('#checkNum');// 实际数量
var accountNum = document.querySelector('#accountNum');// 账面库存
var total = document.querySelector('#total');
var referencePrice = document.querySelector('#referencePrice');
accountStoreNumNode.onkeyup = function(e){
console.log(e.target.value);
console.log(accountNum.innerHTML)
let amount = e.target.value - (accountNum.innerHTML * 1);
checkNumNode.innerHTML = amount;
total.innerHTML = (amount * (referencePrice.innerHTML *1)).toFixed(4);
}
mui('.detailRow').on('tap','#checkBtn',function(event){
var phList = document.querySelector('#List').querySelectorAll('.mui-input-ph'); // 新增批号数据
var numList = document.querySelector('#List').querySelectorAll('.mui-input-num'); // 批号对应的数值
var practicalRepertory = document.querySelector('.practicalRepertory').value;
var realProductTime = document.querySelector('.realProductTime').value;
var practicalBatch = document.querySelector('.practicalBatch').value;
var validEndTime = document.querySelector('.validEndTime').value;
var currData = data.list[0];
var postData = {}, detailList = [], submitData = {};
postData.practicalRepertory = practicalRepertory;
postData.realProductTime = realProductTime;
postData.practicalBatch = practicalBatch;
postData.validEndTime = validEndTime;
postData.accountBatchNo = currData.accountBatchNo;
postData.accountEndTime = currData.accountEndTime;
postData.accountProductTime = currData.accountProductTime;
postData.accountStoreNum = currData.accountStoreNum;
postData.id = currData.id;
postData.pId = currData.pId;
detailList.push(postData);
if(phList.length){
for (let i =0 ;i < phList.length; i++) {
let values = {};
values.accountBatchNo = null;
values.accountEndTime = null;
values.accountProductTime = null;
values.accountStoreNum = 0;
values.id = null;
values.pId = currData.id;
values.practicalBatch = phList[i].value;
values.practicalRepertory = numList[i].value;
detailList.push(values);
}
}
console.log(detailList,'detailList')
mui.each(detailList,function(index,item){
item.locCode = currData.locCode;
item.bigDrugCode = currData.bigDrugCode;
item.drugCode = currData.drugCode;
item.referencePrice = currData.referencePrice;
item.supplierCode = currData.supplierCode;
item.unitCode = currData.unitCode;
item.supplierCode = currData.supplierCode;
item.validEndTime = validEndTime;
})
submitData.detailList = detailList;
submitData.checkBillNo = details.checkBillNo;
console.log(submitData);
document.activeElement.blur(); // 隐藏软键盘
var btnArray = ['否', '是'];
mui.confirm('是否确认提交?','警告',btnArray,function(e){
if (e.index == 1) {
mui.ajaxRequest(checkUrl,{
type: 'POST',
data: submitData,
showWaiting: true,
contentType: "application/json",
success: function(data){
if(data.code === 200){
mui.toast('提交成功');
var parmasData = {};
parmasData.finishUrl = '../check/index';
parmasData.keepUrl = 'checkList';
parmasData.resultType = 'check';
parmasData.itemData = details.orderInfo;
common.openwin('../result/index',{ parmas: JSON.stringify(parmasData) },{
titleText: '结果',
autoBackButton: false
})
}
},
error: function(xhr,type,errorThrown){
console.log(xhr)
}
})
}
},'div')
})
});
})(mui);
</script>
</body>
</html>
\ No newline at end of file
<!--盘点 - 列表页 药品信息 - yuweI-->
<!doctype html>
<html>
<head>
<meta charset="UTF-8">
<title></title>
<meta name="viewport" content="width=device-width,initial-scale=1,minimum-scale=1,maximum-scale=1,user-scalable=no" />
<link href="../../css/mui.min.css" rel="stylesheet" />
<link href="../../css/themes.css" rel="stylesheet" />
<link href="../../css/index_view.css" rel="stylesheet" />
<link rel="import" href="./list_tpl.html" id="card_view"/>
</head>
<body>
<div class="main-content" style='padding-top: 44px;'>
<header class="mui-bar mui-bar-nav themes_bg_color">
<a class="mui-action-back mui-icon mui-icon-left-nav mui-pull-left">
<label class="mui-pull-right theme_back_font">返回</label>
</a>
<h1 class="mui-title themes_title">药品信息</h1>
<a href="#modal" class="mui-pull-right" style="height: 45px;padding-top: 12px;">
<div class="qrcode" id="qrcode" onclick="clicked('../commonPages/qrcode',true,true)">
<img src="../../assest/qrcode.png" width="24" height="24"/>
</div>
</a>
</header>
<!--<div class="mui-input-row mui-search search_head">
<input type="search" class="mui-input-clear" placeholder="商品名/生产厂家/货位">
</div>-->
<div id="refreshContainer" class="mui-scroll-wrapper" style="top: 44px;">
<div class="mui-scroll">
<ul class="mui-table-view">
<li class="mui-table-view-cell mui-tab" style="padding: 0;"></li>
</ul>
</div>
</div>
</div>
<script src="../../js/mui.js"></script>
<script src="../../js/mui.pullToRefresh.js"></script>
<script src="../../js/mui.pullToRefresh.material.js"></script>
<script src="../../js/template-web.js" type="text/javascript" charset="utf-8"></script>
<script src="../../js/utils.js" type="text/javascript" charset="utf-8"></script>
<script src="../../js/common.js" type="text/javascript" charset="utf-8"></script>
<script src="../../js/qrcode.js" type="text/javascript" charset="utf-8"></script>
<script src="../../js/request.js" type="text/javascript" charset="utf-8"></script>
<script type="text/javascript">
if(window.plus) {
plusready();
} else {
document.addEventListener('plusready', plusready, false);
}
function plusready() {
plus.key.addEventListener('backbutton',function(){
plus.webview.currentWebview().close();
})
}
/*获取二维码返回值*/
function scaned(t, r, f) {
console.log(r);//返回二维码读取的数据
}
function clicked(){
common.openwin('../commonPages/qrcode',true,{ titleText: '扫一扫' })
}
(function($) {
$.init({
beforeback: function() {
var list = plus.webview.currentWebview().opener();
mui.fire(list, 'pagefresh');
return true;
}
})
var deceleration = mui.os.ios?0.003:0.0009;
$('.mui-scroll-wrapper').scroll({
bounce: true,
indicators: true, //是否显示滚动条
deceleration:deceleration
});
var utils = new Utils();
utils.appendModule('#card_view');
var nullDataHtml = '<div class="mui-pull-bottom-tips"><div class="mui-pull-bottom-wrapper">'+
'<span class="mui-pull-loading">暂无数据</span></div></div>'
var checkStatus,
detailData = { list: [] }, url = '/a/checkbilldetail/getListByBillNo';
var page = 0, pageSize = 15, totalPage = 0, checkBillNo = null,isMore = false;
checkUrl = '/a/checkbill/submitCheck';
begCheckUrl = '/a/checkbill/beginCheck';// 开始盘点接口
/* 渲染模板 */
function template(data, insertType){
mui.each(data.list,function(index,item){
item.checkStatus = checkStatus;
item.editable = item.checkDetailStatus === 1 ? true: false;
});
utils.innerTplHtml('check_list_tpl', '.mui-tab', data, insertType);
}
function pullupRefresh(){
var self = this;
if(isMore){
page++;
var postData = {
pageNo: page,
pageSize: pageSize,
checkBillNo: checkBillNo,
}
mui.ajaxRequest(url,{
type: 'POST',
data: postData,
contentType: 'application/json',
success: function(data){
var resData = data.data;
totalPage = resData.totalPage;
if(resData.list.length < resData.pageSize){
isMore = false;
self.endPullUpToRefresh(true);
}else{
isMore = true;
self.endPullUpToRefresh(false);
}
detailData.list = detailData.list.concat(resData.list);
return template(resData,true)
},
error: function(xhr,type,errorThrown){
console.log(xhr.responseText)
}
})
}else{
document.querySelector('.mui-pull-loading').innerHTML = '没有更多数据';
self.endPullUpToRefresh(true);
}
}
function pulldownRefresh(){
var self = this;
detailData.list = [];
page = 1;
var postData = {
pageNo: page,
pageSize: pageSize,
checkBillNo: checkBillNo
}
mui.ajaxRequest(url,{
type: 'POST',
data: postData,
contentType: 'application/json',
success: function(data){
var resData = data.data;
totalPage = resData.totalPage;
if(resData.list.length < resData.pageSize){
isMore = false;
document.querySelector('.mui-pull-loading').innerHTML = '没有更多数据';
self.endPullDownToRefresh(true);
}else{
isMore = true;
self.endPullDownToRefresh();
}
detailData.list = resData.list;
self.refresh(true);
return template(resData,false)
},
error: function(xhr,type,errorThrown){
console.log(xhr.responseText)
}
})
}
$.plusReady(function(){
window.addEventListener('pagefresh',function(event){
plus.nativeUI.showWaiting();
setTimeout(function(){
plus.nativeUI.closeWaiting();
},500);
mui(".mui-scroll").pullToRefresh().pullDownLoading();
})
var params, flag = false
var self = plus.webview.currentWebview();
params = JSON.parse(self.params);//获得参数
console.log(params)
checkBillNo = params.checkbillno;
checkStatus = params.checkStatus;
//循环初始化所有下拉刷新,上拉加载。
$.each(document.querySelectorAll('.mui-scroll'), function(index, pullRefreshEl) {
$(pullRefreshEl).pullToRefresh({
down: {
style:'circle',
contentdown : "下拉可以刷新",
contentover : "释放立即刷新",
contentrefresh : "正在刷新...",
callback: pulldownRefresh
},
up: {
contentrefresh : "正在加载...",//可选,正在加载状态时,上拉加载控件上显示的标题内容
contentnomore:'没有更多数据',
callback: pullupRefresh
}
});
});
var btnArray = ['否', '是'];
if(params.checkstatus === '1'){
var mask = mui.createMask();
mask.show();
mui.confirm('是否开始盘点?','药品信息',btnArray,function(e){
if (e.index == 1) {
mask.close();
mui.ajaxRequest(begCheckUrl,{
type: 'POST',
data: { checkBillNo: checkBillNo },
showWaiting: true,
success: function(data){
if(data.code === 200){
mui(".mui-scroll").pullToRefresh().pullDownLoading();
}else{
mui.toast(data.msg,3)
}
},
error: function(xhr,type,errorThrown){
console.log(xhr.responseText)
}
})
} else {
}
},'div')
}else{
mui(".mui-scroll").pullToRefresh().pullDownLoading();
}
// 展开编辑
$('.main-content').on('tap','.eidtRow',function(){
this.innerHTML = this.innerHTML === '展开编辑' ? '收起编辑':'展开编辑';
let index = Number(this.dataset.index);
var currCard = document.querySelectorAll('.am-card')[index];
var editForm = currCard.querySelector('.editForm');
editForm.style.display = editForm.style.display === 'block' ? 'none': 'block';
editForm.nextElementSibling.style.display = editForm.nextElementSibling.style.display === 'none'? 'flex':'none';
});
//绑定点击事件 - 进入详情页
$('.main-content').on('tap','.toPage',function(){
let index = this.dataset.index;
let data = detailData.list[index];
let newData = Object.assign({}, data, params);
newData.orderInfo = params;
console.log(JSON.stringify(newData))
document.activeElement.blur();
common.openwin('checkDetails',{ details: JSON.stringify(newData) },{
titleText:'详情'
})
})
// 提交
$('.main-content').on('tap','.submitButton',function(){
document.activeElement.blur();
var _this = this;
mui.confirm('确定要执行此操作吗?', '确认提交', btnArray, function(e) {
if (e.index == 1) {
var index = _this.dataset.index;
var _this_card = document.querySelectorAll('.am-card')[index];
// 获取实际数据
var practicalRepertory = _this_card.querySelector('.practicalRepertory').value;
var realProductTime = _this_card.querySelector('.realProductTime').value;
var practicalBatch = _this_card.querySelector('.practicalBatch').value;
var validEndTime = _this_card.querySelector('.validEndTime').value;
var currData = detailData.list[index];
var postData = {}, detailList = [], submitData = {}
console.log(index)
postData.accountBatchNo = currData.accountBatchNo;
postData.accountEndTime = currData.accountEndTime;
postData.accountProductTime = currData.accountProductTime;
postData.accountStoreNum = currData.accountStoreNum;
postData.bigDrugCode = currData.bigDrugCode;
postData.drugCode = currData.drugCode;
postData.id = currData.id;
postData.locCode = currData.locCode;
postData.pId = currData.pId;
postData.practicalBatch = practicalBatch;
postData.practicalRepertory = practicalRepertory;
postData.realProductTime = realProductTime;
postData.referencePrice = currData.referencePrice;
postData.unitCode = currData.unitCode;
postData.validEndTime = validEndTime;
postData.supplierCode = currData.supplierCode;
detailList.push(postData);
submitData.detailList = detailList;
submitData.checkBillNo = checkBillNo;
console.log(submitData);
mui.ajaxRequest(checkUrl,{
type: 'POST',
data: submitData,
showWaiting: true,
contentType: "application/json",
success: function(data){
if(data.code === 200){
mui.toast('提交成功');
mui(".mui-scroll").pullToRefresh().pullDownLoading();
}
},
error: function(xhr,type,errorThrown){
console.log(xhr.responseText)
}
})
} else {
}
},'div')
})
});
})(mui);
</script>
</body>
</html>
\ No newline at end of file
<script type="text/html" id='detail_tpl'>
<div style="margin-top:10px;">
{{ each list value i }}
<ul class="mui-table-view" style="margin-bottom:8px;">
<li class="mui-table-view-cell mui-collapse">
<a class="mui-navigate-right" href="#">单据信息</a>
<div class="mui-collapse-content">
<div class="mui-input-row">
<label>盘点单号</label>
<p class="detailRow_content">{{value.checkbillno ? value.checkbillno: '--'}}</p>
</div>
<div class="mui-input-row">
<label>类型</label>
<p class="detailRow_content">{{value.checkbilltypename?value.checkbilltypename:'--'}}</p>
</div>
<div class="mui-input-row">
<label>部门</label>
<p class="detailRow_content">{{value.checkbilldeptname?value.checkbilldeptname:'--'}}</p>
</div>
<div class="mui-input-row">
<label>制单人</label>
<p class="detailRow_content">{{value.createusername ? value.createusername:'--'}}</p>
</div>
<div class="mui-input-row">
<label>制单时间</label>
<p class="detailRow_content">{{value.createdate ? value.createdate:'--'}}</p>
</div>
<div class="mui-input-row">
<label>盘点周期</label>
<p class="detailRow_content">{{value.distributionNo}}</p>
</div>
<div class="mui-input-row">
<label>盘点人</label>
<p class="detailRow_content">{{value.sheveusername ? value.sheveusername: '--'}}</p>
</div>
<div class="mui-input-row">
<label>提交时间</label>
<p class="detailRow_content">{{value.updatedate ? value.updatedate: '--'}}</p>
</div>
</div>
</li>
</ul>
<ul class="mui-table-view" style="margin-bottom:8px;">
<li class="mui-table-view-cell mui-collapse mui-active">
<a class="mui-navigate-right" href="#">产品信息</a>
<div class="mui-collapse-content">
<div class="mui-input-row">
<label>货位</label>
<p class="detailRow_content">{{ value.locName }}</p>
</div>
<div class="mui-input-row">
<label>货位类型</label>
<p class="detailRow_content">{{ value.positionTypeName }}</p>
</div>
<div class="mui-input-row">
<label>通用名</label>
<p class="detailRow_content">{{value.ctmmGenericName}}</p>
</div>
<div class="mui-input-row">
<label>规格</label>
<p class="detailRow_content">{{value.ctmmSpecification}}</p>
</div>
<div class="mui-input-row">
<label>生产厂家</label>
<p class="detailRow_content">{{value.ctmmManufacturerName}}</p>
</div>
<div class="mui-input-row">
<label>包装规格</label>
<p class="detailRow_content">{{value.packageSpecification}}</p>
</div>
<div class="mui-input-row">
<label>单位</label>
<p class="detailRow_content">{{value.unit}}</p>
</div>
<div class="mui-input-row">
<label>账面库存</label>
<p class="detailRow_content" id="accountNum">{{value.accountStoreNum}}</p>
</div>
<div class="mui-input-row">
{{ if value.checkDetailStatus === 1 }}
<label class="font-warning">实际数量</label>
<input pattern="[0-9]*" id="accountStoreNum" type="number" value="{{ value.accountStoreNum }}" placeholder="请输入" class="practicalRepertory flex-item-input" />
{{ else }}
<label>实际数量</label>
<p class="detailRow_content">{{value.practicalRepertory}}</p>
{{ /if }}
</div>
<div class="mui-input-row">
<label>盈亏数量</label>
<p class="detailRow_content" id="checkNum">{{value.checkNum}}</p>
</div>
<div class="mui-input-row">
<label>账面批号</label>
<p class="detailRow_content">{{value.accountBatchNo}}</p>
</div>
<div class="mui-input-row">
{{ if value.checkDetailStatus === 1 }}
<label class="font-warning">实际批号</label>
<input pattern="[0-9]*" type="number" value="{{ value.accountBatchNo }}" placeholder="请输入" class="practicalBatch flex-item-input" />
{{ else }}
<label>实际批号</label>
<p class="detailRow_content">{{value.practicalBatch}}</p>
{{ /if }}
</div>
<div class="mui-input-row">
<label>生产日期</label>
<p class="detailRow_content">{{value.accountProductTime}}</p>
</div>
<div class="mui-input-row">
{{ if value.checkDetailStatus === 1 }}
<label class="font-warning">实际生产日期</label>
<input pattern="[0-9]*" type="date" value="{{ value.accountProductTime }}" placeholder="请输入" class="realProductTime flex-item-input" />
{{ else }}
<label>实际生产日期</label>
<p class="detailRow_content">{{value.realProductTime}}</p>
{{ /if }}
</div>
<div class="mui-input-row">
<label>有效期至</label>
<p class="detailRow_content">{{value.accountEndTime}}</p>
</div>
<div class="mui-input-row">
{{ if value.checkDetailStatus === 1 }}
<label class="font-warning">实际有效期至</label>
<input pattern="[0-9]*" type="date" value="{{ value.accountEndTime }}" placeholder="请输入" class="validEndTime flex-item-input"/>
{{ else }}
<label>实际有效期至</label>
<p class="detailRow_content">{{value.validEndTime}}</p>
{{ /if }}
</div>
<div class="mui-input-row">
<label>单价</label>
<p class="detailRow_content" id="referencePrice">{{ value.referencePrice }}</p>
</div>
<div class="mui-input-row">
<label>盈亏金额</label>
<p class="detailRow_content" id="total">{{ (value.referencePrice*value.checkNum).toFixed(4) }}</p>
</div>
</div>
</li>
</ul>
{{ /each }}
</div>
</script>
\ No newline at end of file
<!--盘点 - 列表页 - yuweI-->
<!doctype html>
<html>
<head>
<meta charset="UTF-8">
<title></title>
<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">
<link href="../../css/mui.min.css" rel="stylesheet" />
<link href="../../css/themes.css" rel="stylesheet" />
<link href="../../css/index_view.css" rel="stylesheet" />
<link rel="stylesheet" href="../../css/mui.picker.min.css" />
<link href="../../css/check.css" rel="stylesheet" />
<link rel="import" href="../../tpl/check_card.html" id="card_view"/>
</head>
<body>
<header class="mui-bar mui-bar-nav themes_bg_color">
<a class="mui-action-back mui-icon mui-icon-left-nav mui-pull-left">
<label class="mui-pull-right theme_back_font">返回</label>
</a>
<h1 class="mui-title themes_title">盘点</h1>
<a href="#modal" id='showModal' class="mui-pull-right" style="height: 45px;padding-top: 12px;">新建盘点</a>
</header>
<div class="mui-content">
<h4 class="title_h3">盘点记录</h4>
<div id="check_scroll1" class="mui-scroll-wrapper">
<div class="mui-scroll" id='scroll'>
<ul class="mui-table-view">
<li class="mui-table-view-cell mui-tab" style="padding: 0;"></li>
</ul>
</div>
</div>
<div id="modal1" class="mui-modal">
<header class="mui-bar mui-bar-nav">
<a class="mui-icon mui-icon-close mui-pull-right closeBtn" href="#modal1"></a>
<h1 class="mui-title">新建盘点</h1>
</header>
<div class="mui-content" style="height: 100%;padding-top: 12px;">
<form id='radioForm' style="padding: 0 12px;">
<div class="gird mui-table-view-radio" id="checkBillType">
<div class="gird-label">盘点类型:</div>
<div class="mui-input-row mui-radio mui-left">
<label for="mingpan">明盘</label>
<input name="radio1" id="mingpan" type="radio" value='1' class="radio">
</div>
<div class="mui-input-row mui-radio mui-left">
<label for="anpai">暗盘</label>
<input name="radio1" id="anpan" type="radio" value='2' class="radio">
</div>
</div>
<div class="gird mui-table-view-radio" id="checkBillSubType">
<div class="gird-label"></div>
<div class="mui-input-row mui-radio mui-left">
<label for="allpan">全盘</label>
<input name="radio2" id="allpan" type="radio" value='1' class="radio2">
</div>
<div class="mui-input-row mui-radio mui-left">
<label for="dongpan">动盘</label>
<input name="radio2" id="dongpan" type="radio" value='2' class="radio2">
</div>
<div class="mui-input-row mui-radio mui-left addDate">
<label for="dongxiaopan">动销盘</label>
<input name="radio2" id="dongxiaopan" type="radio" value='3' class="radio2">
</div>
</div>
<div style="background-color: #f5f5f9; height: 6px;" id="checkBill"></div>
<div class="mui-input-row dateRow" style="display: none;">
<label class="font-warning" style="padding:11px 5px;width:24%">起始时间:</label>
<input class="mui-input checkInputDate" data-options='{ "beginYear":2018 }' readonly="readonly" type="input"/>
</div>
<div style="background-color: #f5f5f9; height: 6px;"></div>
<div style="background-color: #f5f5f9; height: 6px;" id="divide"></div>
<div class="gird mui-table-view-radio" id="purchaseType">
<div class="gird-label">采购类型:</div>
<div class="mui-input-row mui-radio mui-left">
<label for="zero_storage">零库存</label>
<input name="purchaseType" id="zero_storage" type="radio" value='1' class="purchaseType">
</div>
<div class="mui-input-row mui-radio mui-left">
<label for="buy_myself">自采</label>
<input name="purchaseType" id="buy_myself" type="radio" value='2' class="purchaseType">
</div>
</div>
<div style="background-color: #f5f5f9; height: 6px;"></div>
<div class="gird mui-table-view-radio" id="isLocCheck">
<div class="gird-label">盘点范围:</div>
<div class="mui-input-row mui-radio mui-left">
<label for="checkAll">全部</label>
<input name="isLocCheck" id="checkAll" type="radio" value='0' class="isLocCheck">
</div>
<div class="mui-input-row mui-radio mui-left">
<label for="custom">自定义</label>
<input name="isLocCheck" id="custom" type="radio" value='1' class="isLocCheck">
</div>
</div>
<div style="background-color: #f5f5f9; height: 6px;"></div>
<div id="position" style="display: none;">
<div class="gird mui-table-view">
<div class="gird-label font-warning">起始货位:</div>
<div class="mui-input-row mui-search search_head" style="width:80%;display: inline-block;">
<input type="search" id="search_start" class="mui-input-clear" placeholder="请选择起始货位">
</div>
<div id="ulList_start">
</div>
</div>
<div style="background-color: #f5f5f9; height: 6px;"></div>
<div class="gird mui-table-view">
<div class="gird-label font-warning">结束货位:</div>
<div class="mui-input-row mui-search search_head" style="width:80%;display: inline-block;">
<input type="search" id="search_end" class="mui-input-clear" placeholder="请选择结束货位">
</div>
<div id="ulList_end">
</div>
</div>
</div>
<div class="gird textarea">
<div class="gird-label">备注:</div>
<div class="gird-content" style="padding: 0 20px">
<textarea id="textarea" rows="5" value='' placeholder="多行文本框"></textarea>
</div>
</div>
<button class="mui-btn mui-btn-block" readOnly id='check' data-loading-text = "提交中" data-loading-icon-position="right">确定</button>
</form>
</div>
</div>
</div>
<script src="../../js/mui.js"></script>
<script src="../../js/mui.pullToRefresh.js"></script>
<script src="../../js/mui.pullToRefresh.material.js"></script>
<script src="../../js/mui.picker.min.js" ></script>
<script src="../../js/template-web.js" type="text/javascript" charset="utf-8"></script>
<script src="../../js/utils.js" type="text/javascript" charset="utf-8"></script>
<script src="../../js/common.js" type="text/javascript" charset="utf-8"></script>
<script src="../../js/request.js" type="text/javascript" charset="utf-8"></script>
<script type="text/javascript">
mui.init();
(function($){
$.init({
beforeback:function(){
var list = plus.webview.currentWebview().opener();
mui.fire(list, 'refresh',{ getCountFlag: true });
return true;
}
});
var deceleration = mui.os.ios?0.003: 0.1;
$('.mui-scroll-wrapper').scroll({
bounce: true,
indicators: false, //是否显示滚动条
deceleration:deceleration
});
var url = '/a/checkbill/list', newAddUrl = '/a/checkbill/create', medicineFeautureUrl = '/a/spd/dict/type', medicineData = [];
var page = 1,
totalPage = undefined,
pageSize = 15,
isMore = true;
var utils = new Utils();
utils.appendModule('#card_view');
/*
下拉刷新
* */
function pulldownRefresh(){
var self = this;
page = 1;
mui.ajaxRequest(url,{
type: 'POST',
data: {
pageNo: page,
pageSize: pageSize
},
success: function(data){
if(data.code === 200){
var resData = data.data;
totalPage = data.totalPage;
if(resData.list.length === 0 || (resData.list.length <= resData.pageSize && resData.pageNo === resData.totalPage)){
document.querySelector('.mui-pull-loading').innerHTML = '没有更多数据';
self.endPullDownToRefresh(true);
isMore = false;
}else{
self.endPullDownToRefresh();
}
self.refresh(true);
return template(resData, false)
}
},
error: function(xhr,type,errorThrown){
console.log(xhr.responseText)
}
});
}
/*
* 上拉加载更多
* */
function pullupRefresh(){
var self = this;
if(isMore){
page++;
if( page <= totalPage ){
mui.ajaxRequest(url,{
type: 'POST',
data:{
pageNo: page
},
success: function(data){
var resData = data.data;
if(resData.pageNo === resData.totalPage){
isMore = false;
self.endPullUpToRefresh(true);
}else{
isMore = true;
self.endPullUpToRefresh(false);
self.refresh(true);
}
return template(resData,true);
},
error: function(xhr,type,errorThrown){
console.log(xhr.responseText)
}
});
}
}else{
document.querySelector('.mui-pull-loading').innerHTML = '没有更多数据';
self.endPullUpToRefresh(true);
}
}
/* 渲染模板 */
function template(data, insertType){
utils.innerTplHtml('check_list', '.mui-tab', data, insertType);
}
// 数组分割
function sliceArray(array, size) {
var result = [];
for (var x = 0; x < Math.ceil(array.length / size); x++) {
var start = x * size;
var end = start + size;
result.push(array.slice(start, end));
}
return result;
}
$.plusReady(function(){
window.addEventListener('pagefresh',function(){
mui(".mui-scroll").pullToRefresh().pullDownLoading();
})
//循环初始化所有下拉刷新,上拉加载。
$.each(document.querySelectorAll('.mui-scroll'), function(index, pullRefreshEl) {
$(pullRefreshEl).pullToRefresh({
down: {
style:'circle',
contentdown : "下拉可以刷新",
contentover : "释放立即刷新",
contentrefresh : "正在刷新...",
callback: pulldownRefresh
},
up: {
contentrefresh : "正在加载...",//可选,正在加载状态时,上拉加载控件上显示的标题内容
contentnomore:'没有更多数据',
callback: pullupRefresh
}
});
});
/*
radio 与 modal相斥 bug 处理
* */
mui('.mui-bar').on('tap','#showModal',function(){
document.activeElement.blur();
document.querySelector('#modal1').className = 'mui-modal mui-active';
// 清空值
var radios = document.getElementsByTagName('input');
for(var i=0; i <radios.length; i++){
radios[i].checked = '';
};
document.querySelector('#textarea').value = '';
document.querySelector('.dateRow').style.display = 'none';
})
/* 请求数据 */
mui(".mui-scroll").pullToRefresh().pullDownLoading();
var divideDOM = document.querySelector('#divide');
// 药品特征
mui.ajaxRequest(medicineFeautureUrl,{
type: 'POST',
data: { type: 'med_his_drug_feature' },
showWaiting: true,
success: function(data){
if(data.code === 200){
medicineData = data.data;
var medicineSplitData = sliceArray( medicineData, 3 );
mui.each(medicineSplitData,function(index,item){
var wrap_node = document.createElement('div');
var wrap_node_label = document.createElement('div');
wrap_node_label.className = 'gird-label';
wrap_node_label.innerText = index === 0 ? '药品特征:': '';
wrap_node.appendChild(wrap_node_label);
wrap_node.className = 'gird mui-table-view-radio drugFeatureCode'
if(item.length){
mui.each(item,function(_index,_item){
var div = document.createElement('div');
div.className = 'mui-input-row mui-radio mui-left';
var label = document.createElement('label');
label.innerText = _item.label;
var input = document.createElement('input');
input.name = 'drugFeatureCode';
input.className = 'drugFeatureCode_btn'
input.value = _item.value ? _item.value: '';
input.type = 'radio';
div.appendChild(label);
div.appendChild(input)
wrap_node.appendChild(div);
})
}
divideDOM.parentNode.insertBefore(wrap_node,divideDOM)
})
}else{
mui.toast(data.msg)
}
},
error: function(xhr,type,errorThrown){
console.log(xhr.responseText)
}
});
var position = document.querySelector('#position');
document.querySelector('#isLocCheck').addEventListener('click',function(e){
if(e.target.value === '1'){
position.style.display = 'block';
document.querySelector('#search_start').value = '';
document.querySelector('#search_end').value = '';
}else{
position.style.display = 'none';
}
},false)
// 动销盘判断 盘点时间
$('#radioForm').on('tap','#checkBillSubType',function(e){
let showFlag = false;
if(e.target.innerText === '动销盘' || e.target.value === '3'){
showFlag = true;
}
document.querySelector('.dateRow').style.display = showFlag ? 'block': 'none';
})
// 起始货位搜索
$('#position').on('keyup','#search_start',function(e){
var positionName = e.target.value;
if(positionName){
fetchSelect(positionName,'#ulList_start','start')
}
})
// 结束货位搜索
$('#position').on('keyup','#search_end',function(e){
var positionName = e.target.value;
if(positionName){
fetchSelect(positionName,'#ulList_end','end')
}
});
$('#radioForm').on('tap','.checkInputDate',function(){
var _self = this;
console.log(_self,'self')
if(_self.picker) {
_self.picker.show(function (rs) {
_self.value = rs.text;
_self.picker.dispose();
_self.picker = null;
});
} else{
var optionsJson = this.getAttribute('data-options') || '{}';
var options = JSON.parse(optionsJson);
var id = this.getAttribute('id');
_self.picker = new $.DtPicker(options);
_self.picker.show(function(rs) {
_self.value = rs.text;
_self.picker.dispose();
_self.picker = null;
});
}
})
function fetchSelect(name,target,key){
var url = '/a/dept/queryDeptLocationInfo';
mui.ajaxRequest(url,{
data: { positionName: name },
type:"post",
success: function(data){
if(data.code === 200){
let selectList = data.data;
createSelect(selectList,target,key);
}else{
mui.toast('暂无数据',{ type: 'div' })
}
},
error: function(xhr,type,errorThrown){
console.log(xhr.responseText)
}
})
}
var start = document.querySelector('#search_start');
var end = document.querySelector('#search_end');
function createSelect(selectList,target,key){
if(key === 'start'){
if(document.querySelector('.search_ullist_start')){
var ulList = document.querySelector('.search_ullist_start');
document.querySelector('#ulList_start').removeChild(ulList);
}
}else{
if(document.querySelector('.search_ullist_end')){
var ulList = document.querySelector('.search_ullist_end');
document.querySelector('#ulList_end').removeChild(ulList);
}
}
var ul = document.createElement('ul');
ul.className = key === 'start'? 'search_ullist_start': 'search_ullist_end';
for(var i=0;i<selectList.length; i++){
var li = document.createElement('li');
li.className = key === 'start'? 'search_ullist_start_li': 'search_ullist_end_li';
li.innerText = selectList[i].positionName;
li.setAttribute('sort',selectList[i].sort);
ul.appendChild(li);
}
document.querySelector(target).appendChild(ul)
}
// 开始货位搜索选中
$('#position').on('click','.search_ullist_start_li',function(e){
start.value = this.innerText;
start.setAttribute('sort',this.getAttribute('sort'));
document.querySelector('.search_ullist_start').style.display = 'none';
})
// 结束货位搜索选中
$('#position').on('click','.search_ullist_end_li',function(e){
end.value = this.innerText;
end.setAttribute('sort',this.getAttribute('sort'));
document.querySelector('.search_ullist_end').style.display = 'none';
})
var dateButton = document.querySelector('.checkInputDate');
// 隐藏键盘
mui('#modal1').on('tap','.closeBtn',function(e){
document.activeElement.blur();
start.value = '';
start.setAttribute('sort','');
end.value = '';
end.setAttribute('sort','');
})
// 新建盘点
mui('#modal1').on('tap','.mui-btn',function(e){
document.activeElement.blur();
var checkBillType = undefined, // 盘点类型
checkBillSubType = undefined, //盘点子类型
purchaseType = undefined, //采购类型
isLocCheck = undefined,// 盘点范围
checkStartTime = undefined;// 备注
drugFeatureCode = undefined;//药品特征
var billTypeRadio = document.querySelector('#checkBillType').querySelectorAll('input');
var subRadio = document.querySelector('#checkBillSubType').querySelectorAll('input');
var drugFeatureRadio = document.querySelectorAll('.drugFeatureCode_btn');
console.log(drugFeatureRadio)
var purchaseTypeRadio = document.querySelector('#purchaseType').querySelectorAll('input');
var isLocCheckRodio = document.querySelector('#isLocCheck').querySelectorAll('input')
var startLocSort = document.querySelector('#search_start').getAttribute('sort');
var endLocSort = document.querySelector('#search_end').getAttribute('sort');
var dateButton = undefined;
if(document.querySelector('.checkInputDate')){
checkStartTime = document.querySelector('.checkInputDate').value;
}
var remarks = document.querySelector('#textarea').value;
mui.each(billTypeRadio,function(index,item){
if(item.checked){
checkBillType = item.value;
}
});
mui.each(subRadio,function(index,item){
if(item.checked){
checkBillSubType = item.value;
}
});
mui.each(drugFeatureRadio,function(index,item){
if(item.checked){
drugFeatureCode = item.value;
}
});
mui.each(isLocCheckRodio,function(index,item){
if(item.checked){
isLocCheck = item.value;
}
})
mui.each(purchaseTypeRadio,function(index,item){
if(item.checked){
purchaseType = item.value;
}
})
if(checkBillSubType === '3'){
if(!checkStartTime){
mui.toast('请填写起始时间');
return;
}
}
var values = {};
values.checkBillType = checkBillType;
values.checkBillSubType = checkBillSubType;
values.drugFeatureCode = drugFeatureCode;
values.purchaseType = purchaseType;
if(checkBillSubType === '3'){
values.checkStartTime = checkStartTime;
}
values.isLocCheck = isLocCheck;
values.remarks = remarks;
if(isLocCheck === '1'){
values.startLocSort = startLocSort;
values.endLocSort = endLocSort;
}
console.log(values)
mui.ajaxRequest(newAddUrl,{
type: 'POST',
data: values,
showWaiting: true,
success: function(data){
if(data.code === 200){
mui.toast('新建盘点成功',{ type: 'div' });
document.querySelector('#modal1').className = 'mui-modal';
mui(".mui-scroll").pullToRefresh().pullDownLoading();
}else{
mui.toast(data.msg,{ type: 'div' })
}
},
error: function(xhr,type,errorThrown){
console.log(xhr.responseText)
}
})
})
$('#scroll').on('tap','.am-card',function(){
let itemData = this.dataset;
console.log(JSON.stringify(itemData))
document.activeElement.blur();
common.openwin('checkList',{ params: JSON.stringify(itemData) });
})
})
})(mui);
</script>
</body>
</html>
\ No newline at end of file
<script type="text/html" id='check_list_tpl'>
{{ each list value i}}
<div class="am-card scrollList-item am-card-full" data-id="{{ value.id }}">
<div class="am-card-header">
<div class="am-card-header-content">
<span style="font-size: 18px; color: rgb(51, 51, 51); font-weight: bold;">
{{ value.ctmmGenericName ? value.ctmmGenericName:value.ctmmTradeName ? value.ctmmTradeName: '' }}</span>
</div>
<div class="am-card-header-extra">
<span style="margin-right: 8px;">{{ value.checkNum }}</span>
<span>{{ value.checkDetailStatusName }}</span>
</div>
</div>
<div class="am-card-body">
<div class="am-flexbox am-flexbox-align-center">
<div class="am-flexbox-item">
单位:<span>{{ value.unit }}</span>
</div>
<div class="am-flexbox-item">
规格:<span>{{ value.ctmmSpecification }}</span>
</div>
<div class="am-flexbox-item">
货位:<span>{{ value.locName }}</span>
</div>
</div>
{{if value.checkDetailStatus === 1 }}
{{if value.editable}}
<div class="editForm" style="display: block;">
<div class="am-flexbox am-flexbox-align-center">
<div class="am-flexbox-item">
<div class="am-list-item am-input-item am-list-item-middle">
<div class="am-list-line">
<div class="am-input-label am-input-label-4 font-warning">数量:</div>
<div class="am-input-control">
<input pattern="[0-9]*" type="number" value="{{ value.accountStoreNum }}" placeholder="请输入" class="practicalRepertory flex-item-input" />
</div>
</div>
</div>
</div>
<div class="am-flexbox-item">
<div class="am-list-item am-input-item am-list-item-middle">
<div class="am-list-line">
<div class="am-input-label am-input-label-5 font-warning">生产日期:</div>
<div class="am-input-control">
<input pattern="[0-9]*" type="date" value="{{ value.accountProductTime }}" placeholder="请输入" class="realProductTime flex-item-input" />
</div>
</div>
</div>
</div>
<div class="am-flexbox-item">
<div class="am-list-item am-input-item am-list-item-middle">
<div class="am-list-line">
<div class="am-input-label am-input-label-5 font-warning">生产批号:</div>
<div class="am-input-control">
<input pattern="[0-9]*" type="text" value="{{ value.accountBatchNo }}" placeholder="请输入" class="practicalBatch flex-item-input" />
</div>
</div>
</div>
</div>
</div>
<div class="am-flexbox am-flexbox-align-center">
<div class="am-flexbox-item">
<div class="am-list-item am-input-item am-list-item-middle">
<div class="am-list-line">
<div class="am-input-label am-input-label-4 font-warning">有效期至:</div>
<div class="am-input-control">
<input pattern="[0-9]*" type="date" value="{{ value.accountEndTime }}" placeholder="请输入" class="validEndTime flex-item-input"/>
</div>
</div>
</div>
</div>
<div class="am-flexbox-item am-last-flexItem">
生产厂家:<span>{{ value.ctmmManufacturerName }}</span>
</div>
<div class="am-flexbox-item">
</div>
</div>
</div>
<div class="am-flexbox am-flexbox-align-center" style="display: none;">
<div class="am-flexbox-item">
数量:<span>{{ value.accountStoreNum }}</span>
</div>
<div class="am-flexbox-item am-last-flexItem">
生产厂家:<span>{{ value.ctmmManufacturerName }}</span>
</div>
<div class="am-flexbox-item">
</div>
</div>
{{/if}}
{{ else }}
<div class="am-flexbox am-flexbox-align-center">
<div class="am-flexbox-item">
数量:<span>{{ value.accountStoreNum }}</span>
</div>
<div class="am-flexbox-item am-last-flexItem">
生产厂家:<span>{{ value.ctmmManufacturerName }}</span>
</div>
<div class="am-flexbox-item">
</div>
</div>
{{ /if }}
</div>
<div class="am-card-footer">
<div class="am-card-footer-extra">
{{if value.checkDetailStatus === 1 }}
<button type="button" class="mui-btn mui-btn-blue mui-btn-outlined eidtRow" style="margin: 0 5px;" data-id="{{ value.id }}" data-index="{{ i }}">收起编辑</button>
{{/if}}
<button type="button" class="mui-btn mui-btn-blue mui-btn-outlined toPage" style="margin: 0 5px;" data-index="{{ i }}">更多详情</button>
{{ if value.checkDetailStatus === 1 }}
<button type="button" class="mui-btn mui-btn-blue mui-btn-danger submitButton" data-id="{{ value.id }}" data-index="{{ i }}">提交</button>
{{ /if }}
</div>
</div>
</div>
<div style="background-color: #f5f5f9; height: 6px;">
</div>
{{/each}}
</script>
\ No newline at end of file
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8"/>
<meta name="viewport" content="initial-scale=1.0, maximum-scale=1.0, user-scalable=no"/>
<meta name="HandheldFriendly" content="true"/>
<meta name="MobileOptimized" content="320"/>
<title></title>
<script type="text/javascript" src="../../js/qrcode.js"></script>
<script type="text/javascript">
var ws=null,wo=null;
var scan=null,domready=false;
// H5 plus事件处理
function plusReady(){
if(ws||!window.plus||!domready){
return;
}
// 获取当前窗口对象
ws=plus.webview.currentWebview();
ws.setStyle({
zindex:1
});
wo=ws.opener();
// 开始扫描
var filter = [plus.barcode.QR,plus.barcode.EAN13,plus.barcode.EAN8,plus.barcode.CODE128];
var styles = {frameColor: "#29E52C",scanbarColor: "#29E52C",background: ""}
ws.addEventListener('show', function(){
scan=new plus.barcode.Barcode('bcid',filter,styles);
scan.onmarked=onmarked;
scan.onerror = onerror;
scan.start({conserve:true,filename:'_doc/barcode/'});
}, false);
// 显示页面并关闭等待框
ws.show('pop-in');
// wo.evalJS('closeWaiting()');
}
if(window.plus){
plusReady();
}else{
document.addEventListener('plusready', plusReady, false);
}
// 监听DOMContentLoaded事件
document.addEventListener('DOMContentLoaded', function(){
domready=true;
plusReady();
}, false);
// 扫描失败
function onerror(e){
mui.alert(e)
}
// 二维码扫描成功
function onmarked(type, result, file){
switch(type){
case plus.barcode.QR:
type = 'QR';
break;
case plus.barcode.EAN13:
type = 'EAN13';
break;
case plus.barcode.EAN8:
type = 'EAN8';
break;
case plus.barcode.CODE128:
type = 'CODE128';
break;
default:
type = '其它'+type;
break;
}
result = result.replace(/\n/g, '');
scan.close();
// 关闭当前页面webView
/*var allws = plus.webview.all();
var len = allws.length;
for(var i=0;i<len;i++){
console.log('webview'+i+': '+ allws[i].id);
}*/
// console.log(ws.id)
// ws.close();
/*common.openwin('../acceptance/acc_list',{ result: result }, {
titleText: '药品信息'
});
//处理返回事件
plus.key.addEventListener('backbutton', function() {
plus.webview.currentWebview().close();
})*/
wo.evalJS("scaned('"+ type +"','"+ result +"','"+ file +"');");
back();
}
// 从相册中选择二维码图片
function scanPicture(){
plus.gallery.pick(function(path){
var filter = [plus.barcode.QR,plus.barcode.EAN13,plus.barcode.EAN8,plus.barcode.CODE128];
plus.barcode.scan(path,onmarked,function(error){
plus.nativeUI.alert('无法识别此图片');
},filter);
}, function(err){
console.log('Failed: '+err.message);
});
}
</script>
<style type="text/css">
#bcid {
width: 100%;
position: absolute;
top: 0px;
bottom: 44px;
text-align: center;
}
.tip {
color: #FFFFFF;
font-weight: bold;
text-shadow: 0px -1px #103E5C;
}
footer {
width: 100%;
height: 44px;
position: absolute;
bottom: 0px;
line-height: 44px;
text-align: center;
color: #FFF;
}
.fbt {
width: 49%;
height: 100%;
background-color:#f2a11c;
float: left;
}
.scanPicture{
margin-left: 5px;
}
.fbt:active {
-webkit-box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.5);
box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.5);
}
</style>
</head>
<body style="background-color: #000000;width:100vw;height:100vh;overflow: hidden;">
<div id="bcid">
<div style="height:40%"></div>
<p class="tip">...载入中...</p>
</div>
<footer>
<div class="fbt" onclick="back()">取  消</div>
<div class="fbt scanPicture" onclick="scanPicture()">从相册选择二维码</div>
</footer>
</body>
</html>
<!--单号搜索页面-->
<!doctype html>
<html>
<head>
<meta charset="UTF-8">
<title>搜索页面</title>
<meta name="viewport" content="width=device-width,initial-scale=1,minimum-scale=1,maximum-scale=1,user-scalable=no" />
<link href="../../css/mui.min.css" rel="stylesheet" />
<style>
#ulList{
padding-top: 10px;
}
.search-ullist{
z-index: 2;
background-color: #efeff4;
border-bottom: solid 1px #F5F5F9;
border-radius: 2px;
list-style: none;
position: relative;
margin-top: 0;
margin-bottom: 0;
padding-left: 0;
list-style: none;
width: 100%;
}
.search-ullist-li{
position: relative;
overflow: hidden;
padding: 10px 36px;
}
.search-ullist-li::before{
font-family: Muiicons;
content: '\e466';
position: absolute;
left: 10px;
}
.history-title{
display: flex;
justify-content: space-between;
padding-right: 10px;
}
.history-tags{
display: flex;
flex-wrap: wrap;
padding: 0 10px 10px 0;
}
.tag{
padding: 8px 10px;
margin: 8px 10px;
border: solid 1px #ccc;
background-color: #F5F5F9;
border-radius: 3px;
}
</style>
</head>
<body>
<header class="mui-bar mui-bar-nav">
<div class="mui-input-row mui-search search_head" style="width:85%;display: inline-block;">
<input type="search" id="search" class="mui-input-clear" placeholder="请输入单号">
</div>
<a class="mui-action-back mui-pull-right" style="height:45px;line-height: 45px;">取消</a>
</header>
<div class="mui-content">
<div id="ulList">
</div>
<div style="padding:10px;">
<div class="history-title">
<h4>历史搜索记录</h4>
</div>
<div class="history-tags">
</div>
</div>
</div>
<script src="../../js/mui.min.js"></script>
<script src="../../js/common.js" type="text/javascript" charset="utf-8"></script>
<script src="../../js/request.js" type="text/javascript" charset="utf-8"></script>
<script type="text/javascript">
(function($) {
mui.init();
var params = undefined, key = undefined, localStorageItem = [] // 单号
$.plusReady(function(){
var self = plus.webview.currentWebview();
params = JSON.parse(self.params);//获得参数
console.log(self.params);
key = params.key;
var searchList = JSON.parse(plus.storage.getItem('searchCodeHistory'));
console.log(searchList);
localStorageItem = searchList && searchList.list ? searchList.list: [];
if(searchList && searchList.list.length){
// 创建 删除历史记录标签
var span = document.createElement('span');
span.className = 'mui-icon mui-icon-trash clearHistory';
document.querySelector('.history-title').appendChild(span);
// 创建 历史记录tag
mui.each(searchList.list,function(index,item){
var div = document.createElement('div');
div.className = 'tag';
div.innerHTML = item;
div.setAttribute('data-distributeCode',item);
document.querySelector('.history-tags').appendChild(div)
})
}
console.log(localStorageItem)
// 删除 历史记录
$('.history-title').on('tap','.clearHistory',function(){
var btnArray = ['否', '是'];
mui.confirm('是否确认删除历史搜索记录?', '确认', btnArray, function(e) {
if (e.index == 1) {
plus.nativeUI.showWaiting();
setTimeout(function(){
plus.storage.removeItem('searchCodeHistory');
console.log(plus.storage.getItem('searchCodeHistory'))
var deleteChild = document.querySelector('.clearHistory');
document.querySelector('.history-title').removeChild(deleteChild);
document.querySelector('.history-tags').innerHTML = '';
plus.nativeUI.closeWaiting();
},1000)
}
},'div')
});
// 点击tag 进行搜索
$('.history-tags').on('tap','.tag',function(){
var dataset = this.dataset;
var page = plus.webview.getWebviewById(params.route);
var searchData = {
distributeCode: dataset.distributecode,
auditStatus: params.auditStatus
}
mui.fire(page,'search',{ searchData: JSON.stringify(searchData) });
mui.back()
})
$('.search_head').on('keyup','#search',function(e){
var paramName = e.target.value;
var url = null, data = {};
if(paramName){
if(key === 'distributeCode'){
// 单号
url = '/a/checkaccept/shelfListNoPage';
data = {
distributeCode: paramName,
auditStatus: params.auditStatus
}
}
mui.ajaxRequest(url,{
type:"post",
data: data,
success: function(data){
if(data.code === 200){
let dataList = data.data;
createSelect(dataList,key);
}
},
error: function(xhr,type,errorThrown){
alert(xhr.responseText)
}
})
}else{
document.querySelector('#ulList').innerHTML = '';
}
});
function createSelect(data,key){
if(document.querySelector('.search-ullist')){
var ulList = document.querySelector('.search-ullist');
document.querySelector('#ulList').removeChild(ulList);
}
var ul = document.createElement('ul');
ul.className = 'search-ullist';
for(var i=0;i<data.length; i++){
var li = document.createElement('li');
li.className = 'search-ullist-li';
li.setAttribute('data-distributeCode',data[i].distributeCode);
li.innerHTML = data[i].distributeCode;
ul.appendChild(li);
}
document.querySelector('#ulList').appendChild(ul)
}
$('#ulList').on('tap','.search-ullist-li',function(){
console.log(localStorageItem)
let dataset = this.dataset;
console.log(dataset)
let flag = false;
mui.each(localStorageItem,function(index,item){
if(item === dataset.distributecode){
flag = true
}
});
if(!flag){
if(localStorageItem.length > 10){
localStorageItem.shift();
}
localStorageItem.push(dataset.distributecode);
console.log('当前不存在')
}else{
console.log('已经存在')
}
let localParams = {
list: localStorageItem
}
let searchData = {
distributeCode: dataset.distributecode,
auditStatus: params.auditStatus
}
plus.storage.setItem('searchCodeHistory',JSON.stringify(localParams))
var page = plus.webview.getWebviewById(params.route);
mui.fire(page,'search',{ searchData: JSON.stringify(searchData)});
mui.back()
});
})
})(mui);
</script>
</body>
</html>
\ No newline at end of file
<!--通用 搜索页面-->
<!doctype html>
<html>
<head>
<meta charset="UTF-8">
<title>搜索页面</title>
<meta name="viewport" content="width=device-width,initial-scale=1,minimum-scale=1,maximum-scale=1,user-scalable=no" />
<link href="../../css/mui.min.css" rel="stylesheet" />
<style>
#noResult{
display: none;
padding: 5px 10px;
font-size: 14px;
color: #666;
}
#ulList{
padding-top: 10px;
}
.search-ullist{
z-index: 2;
background-color: #efeff4;
border-bottom: solid 1px #F5F5F9;
border-radius: 2px;
list-style: none;
position: relative;
margin-top: 0;
margin-bottom: 0;
padding-left: 0;
list-style: none;
width: 100%;
}
.search-ullist-li{
position: relative;
overflow: hidden;
padding: 10px 36px;
}
.search-ullist-li::before{
font-family: Muiicons;
content: '\e466';
position: absolute;
left: 10px;
}
.history-title{
display: flex;
justify-content: space-between;
padding-right: 10px;
}
.history-tags{
display: flex;
flex-wrap: wrap;
padding: 0 10px 10px 0;
}
.tag{
padding: 8px 10px;
margin: 8px 10px;
border: solid 1px #ccc;
background-color: #F5F5F9;
border-radius: 3px;
}
</style>
</head>
<body>
<header class="mui-bar mui-bar-nav">
<div class="mui-input-row mui-search search_head" style="width:85%;display: inline-block;">
<input type="search" id="search" class="mui-input-clear" autofocus="autofocus" placeholder="供应商/通用名/商品名" >
</div>
<a class="mui-action-back mui-pull-right" style="height:45px;line-height: 45px;">取消</a>
</header>
<div class="mui-content">
<div id="ulList">
</div>
<div id="noResult">暂无搜索结果</div>
<div style="padding:10px;">
<div class="history-title">
<h4>历史搜索记录</h4>
</div>
<div class="history-tags">
</div>
</div>
</div>
<script src="../../js/mui.min.js"></script>
<script src="../../js/jquery.min.js"></script>
<script src="../../js/common.js" type="text/javascript" charset="utf-8"></script>
<script src="../../js/request.js" type="text/javascript" charset="utf-8"></script>
<script type="text/javascript">
(function($,$JQ) {
mui.init();
// H5 plus事件处理
function plusReady(){
var Context = plus.android.importClass("android.content.Context");
var InputMethodManager = plus.android.importClass("android.view.inputmethod.InputMethodManager");
var main = plus.android.runtimeMainActivity();
var imm = main.getSystemService(Context.INPUT_METHOD_SERVICE);
setTimeout(function(){
imm.toggleSoftInput(0,InputMethodManager.SHOW_FORCED);
},200);
}
document.addEventListener("plusready",plusReady,false);
function back (){
let searchValue = '';
let searchParams = {}, saveData = {}, flag = false;
// 存储当前搜索记录
if(location === 'sub_list'){
searchParams = { hisDrugCode : '',hisDrugName: searchValue,type: params.auditStatus,selected: params.selected }
saveData = { hisDrugCode: '', hisDrugName: searchValue };
}
if(module === 'acceptance' || module === 'basicMedicine'){
if(location === 'main_list'){
searchParams = { supplierCode: '', supplierName: searchValue };
saveData = { supplierCode: '', supplierName: searchValue };
}
}else if(module === 'grounding'){
if(location==='main_list'){
searchParams = { distributeCode: searchValue, auditStatus: params.auditStatus };
saveData = searchValue;
}
}else if(module === 'pickingOff'){
if(location === 'main_list'){
searchParams = { pickingOrderNo: searchValue, auditStatus: params.auditStatus };
saveData = searchValue;
}
}else{
searchParams = { bigDrugCode : '',ctmmParam: searchValue };
saveData = { bigDrugCode: '', ctmmParam: searchValue };
}
var page = undefined;
if(location === 'main_list'){
page = plus.webview.getWebviewById(params.route);
mui.fire(page,'search',{ searchParams: JSON.stringify(searchParams),selectTabs: params.selectTabs });
}else{
page = plus.webview.getWebviewById(params.id);
mui.fire(page,'sub_search',{ searchParams: JSON.stringify(searchParams),selectTabs: params.selectTabs });
}
document.activeElement.blur();
}
// 重写mui-back**************************
var old_back = mui.back;
mui.back = function(){
//执行mui封装好的窗口关闭逻辑;
back();
old_back();
}
var params = undefined,
key = undefined,
selected = undefined,
module = undefined,// 模块
location = undefined;// 入口:主列表/子列表
$.plusReady(function(){
var self = plus.webview.currentWebview();
params = JSON.parse(self.params);//获得参数
console.log(self.params);
console.log(params.selectTabs,'sdfad')
key = params.key;
selected = params.selected;
module = params.module;
location = params.location;
// 输入框聚焦
var searchList = JSON.parse(plus.storage.getItem('searchHistory'));
console.log(searchList)
let currHistory = searchList[module][location];
console.log(currHistory)
// 键盘搜索按钮
document.querySelector('.search_head').addEventListener('keypress',function(e){
if(e.keyCode == "13") {
console.log(e.target.value);
let searchValue = e.target.value;
e.preventDefault(); // 阻止默认事件---阻止页面刷新
let searchParams = {}, saveData = {}, flag = false;
// 存储当前搜索记录
if(location === 'sub_list'){
searchParams = { hisDrugCode : '',hisDrugName: searchValue,type: params.auditStatus,selected: params.selected }
saveData = { hisDrugCode: '', hisDrugName: searchValue };
mui.each(currHistory,function(index,item){
if(item === saveData.hisDrugCode && item.hisDrugName === saveData.hisDrugName){
flag = true;
}
});
}
if(module === 'acceptance' || module === 'basicMedicine' ){
if(location === 'main_list'){
searchParams = { supplierCode: '', supplierName: searchValue };
saveData = { supplierCode: '', supplierName: searchValue };
mui.each(currHistory,function(index,item){
if(item === saveData.supplierCode && item.supplierName === saveData.supplierName){
flag = true;
}
});
}
}else if(module === 'grounding'){
if(location==='main_list'){
searchParams = { distributeCode: searchValue, auditStatus: params.auditStatus };
saveData = searchValue;
mui.each(currHistory,function(index,item){
if(item === searchValue){
flag = true
}
});
}
}else if(module === 'pickingOff'){
if(location === 'main_list'){
searchParams = { pickingOrderNo: searchValue, auditStatus: params.auditStatus };
saveData = searchValue;
mui.each(currHistory,function(index,item){
if(item === searchValue){
flag = true
}
});
}
}else{
searchParams = { bigDrugCode : '',ctmmParam: searchValue };
saveData = { bigDrugCode: '', ctmmParam: searchValue };
mui.each(currHistory,function(index,item){
if(item.bigDrugCode === saveData.bigDrugCode && item.ctmmParam === saveData.ctmmParam){
flag = true;
}
});
}
if(!flag){
if(currHistory.length >= 10){
currHistory.shift();
}
currHistory.unshift(saveData)
}
searchList[module][location] = currHistory;
plus.storage.setItem('searchHistory',JSON.stringify(searchList));
var page = undefined;
if(location === 'main_list'){
page = plus.webview.getWebviewById(params.route);
mui.fire(page,'search',{ searchParams: JSON.stringify(searchParams) });
}else{
page = plus.webview.getWebviewById(params.id);
mui.fire(page,'sub_search',{ searchParams: JSON.stringify(searchParams) });
}
setTimeout(function(){
document.activeElement.blur(); // 隐藏软键盘
},300)
plus.webview.currentWebview().close();
}
})
var lastChildNode = document.querySelector('.mui-placeholder').lastChild;
if(location === 'sub_list' || module === 'stock'){
lastChildNode.innerText = '请输入通用名/商品名';
}else{
if((module === 'acceptance' || module === 'basicMedicine') && location === 'main_list'){
lastChildNode.innerText = '请输入供应商'
}else if(module === 'grounding' || module === 'pickingOff'){
lastChildNode.innerText = '请输入单号'
}
}
if(currHistory && currHistory.length){
// 创建 删除历史记录标签
var span = document.createElement('span');
span.className = 'mui-icon mui-icon-trash clearHistory';
document.querySelector('.history-title').appendChild(span);
// 创建 历史记录tag
mui.each(currHistory,function(index,item){
var div = document.createElement('div');
div.className = 'tag';
if(location === 'sub_list'){
div.innerHTML = item.hisDrugName;
div.setAttribute('data-hisDrugName',item.hisDrugName);
div.setAttribute('data-hisDrugCode',item.hisDrugCode)
}
if(module === 'acceptance' || module === 'basicMedicine'){
if(location === 'main_list'){
div.innerHTML = item.supplierName
div.setAttribute('data-supplierCode',item.supplierCode);
div.setAttribute('data-supplierName',item.supplierName);
}
}else if(module === 'grounding'){
if(location === 'main_list'){
div.innerHTML = item;
div.setAttribute('data-distributeCode',item)
}
}else if(module === 'pickingOff'){
if(location === 'main_list'){
div.innerHTML = item;
div.setAttribute('data-applyOrderNo',item)
}
}else{
div.innerHTML = item.ctmmParam;
div.setAttribute('data-bigDrugCode',item.bigDrugCode);
div.setAttribute('data-ctmmParam',item.ctmmParam)
}
document.querySelector('.history-tags').appendChild(div)
})
}
// 删除 历史记录
$('.history-title').on('tap','.clearHistory',function(){
var btnArray = ['否', '是'];
mui.confirm('是否确认删除历史搜索记录?', '确认', btnArray, function(e) {
if (e.index == 1) {
plus.nativeUI.showWaiting();
setTimeout(function(){
currHistory = [];
searchList[module][location] = currHistory;
plus.storage.setItem('searchHistory',JSON.stringify(searchList));
var deleteChild = document.querySelector('.clearHistory');
document.querySelector('.history-title').removeChild(deleteChild);
document.querySelector('.history-tags').innerHTML = '';
plus.nativeUI.closeWaiting();
},500)
}
},'div')
});
// 点击tag 进行搜索
$('.history-tags').on('tap','.tag',function(){
var dataset = this.dataset;
console.log(dataset)
let searchParams = {};
if(location === 'sub_list'){
searchParams = { hisDrugCode : dataset.hisdrugcode,hisDrugName: dataset.hisdrugname,type: params.auditStatus,selected: params.selected }
}
if(module === 'acceptance' || module === 'basicMedicine'){
if(location === 'main_list'){
console.log('acceptance main_list')
if(dataset.suppliercode || dataset.suppliercode ===""){
searchParams = {
supplierCode: dataset.suppliercode,
supplierName: dataset.suppliername
}
}
}
}else if(module === 'grounding'){
if(location==='main_list'){
if(dataset.distributecode || dataset.distributecode ===""){
searchParams = { distributeCode: dataset.distributecode, auditStatus: params.auditStatus }
}
}
}else if(module === 'pickingOff'){
if(location === 'main_list'){
if(dataset.applyorderno || dataset.applyorderno ===""){
searchParams = { pickingOrderNo: dataset.applyorderno, auditStatus: params.auditStatus }
}
}
}else{
if(dataset.bigdrugcode || dataset.bigdrugcode ===""){
searchParams = { bigDrugCode : dataset.bigdrugcode,ctmmParam: dataset.ctmmparam }
}
}
var page = undefined;
console.log(searchParams)
if(location === 'main_list'){
page = plus.webview.getWebviewById(params.route);
console.log(page)
console.log(JSON.stringify(searchParams))
mui.fire(page,'search',{ searchParams: JSON.stringify(searchParams) });
}else{
page = plus.webview.getWebviewById(params.id);
mui.fire(page,'sub_search',{ searchParams: JSON.stringify(searchParams),selectTabs: params.selectTabs });
}
old_back();
setTimeout(function(){
document.activeElement.blur(); // 隐藏软键盘
},500)
})
$('.search_head').on('keyup','#search',function(e){
var paramName = e.target.value;
var url = null, data = {}, contentType = null;
if(paramName){
if(module === 'acceptance' || module === 'basicMedicine'){
if(location === 'main_list'){
url = '/a/depot/supplier/all';
data = { ctmaSupplierName: paramName }
}else{
// url = '/a/common/queryDrugByList';
url = '/a/commonCheckQuery/commonInfoSearch';
data = {
paramName: paramName,
// queryType: '4'
type: params.selectTabs === 1 ? 'cache_listVoWYS': 'cache_listVoYYS'
}
}
}else if(module === 'grounding'){
if(location === 'main_list'){
url = '/a/checkaccept/shelfListNoPage';
data = {
distributeCode: paramName,
auditStatus: params.auditStatus
}
}else{
// url = '/a/common/queryDrugByList';
url = '/a/commonCheckQuery/commonInfoSearch';
data = {
paramName: paramName,
type: params.selectTabs === 1 ?'cache_listVoWSJ':'cache_listVoYSJ'
// queryType: '4'
}
}
}else if(module === 'pickingOff'){
if(location === 'main_list'){
url = '/a/common/pickingorder/JdCodeList',
data = {
pickingOrderNo: paramName,
type: params.auditStatus
}
}else{
// url = '/a/common/queryDrugByList';
url = '/a/commonCheckQuery/commonInfoSearch'
data = {
paramName: paramName,
// queryType: '4'
type: params.selectTabs === 1 ?'Cache_notDetailList':'Cache_existDetailList'
}
}
}else{
url = '/a/common/queryDrugByList';
data = {
paramName: paramName,
queryType: '3'
}
}
console.log(url);
console.log(JSON.stringify(data))
contentType = location === 'sub_list' ? 'application/x-www-form-urlencoded':'application/json';
if( module === 'acceptance' || module === 'stock'){
contentType = 'application/x-www-form-urlencoded'
}
console.log(JSON.stringify(data))
mui.ajaxRequest(url,{
type:"post",
data: data,
contentType: contentType,
success: function(data){
if(data.code === 200){
if(!data.data.length){
$JQ('#noResult').show()
}else{
$JQ('#noResult').hide()
}
let dataList = data.data;
createSelect(dataList,module,location);
}
},
error: function(xhr,type,errorThrown){
console.log(xhr.responseText)
}
})
}else{
document.querySelector('#ulList').innerHTML = '';
}
});
function createSelect(data,module,location){
if(document.querySelector('.search-ullist')){
var ulList = document.querySelector('.search-ullist');
document.querySelector('#ulList').removeChild(ulList);
}
var ul = document.createElement('ul');
ul.className = 'search-ullist';
for(var i=0;i<data.length; i++){
var li = document.createElement('li');
li.className = 'search-ullist-li';
if(location === 'sub_list'){
// li.setAttribute('data-hisDrugCode',data[i].bigDrugCode);
// li.setAttribute('data-hisdrugname',data[i].ctmmParam);
// li.innerHTML = data[i].ctmmParam;
li.setAttribute('data-hisDrugCode',data[i].value);
li.setAttribute('data-hisdrugname',data[i].key);
li.innerHTML = data[i].key;
}
if(module === 'acceptance' || module === 'basicMedicine'){
//验收
if(location === 'main_list'){
li.setAttribute('data-supplierCode',data[i].ctmaSupplierCode);
li.setAttribute('data-supplierName',data[i].ctmaSupplierName);
li.innerHTML = data[i].ctmaSupplierName;
}
}else if(module === 'grounding'){
// 上架
if(location === 'main_list'){
li.setAttribute('data-distributeCode',data[i].distributeCode);
li.innerHTML = data[i].distributeCode;
}
}else if(module === 'pickingOff'){
// 拣货下架
if(location === 'main_list'){
li.setAttribute('data-applyOrderNo',data[i]);
li.innerHTML = data[i];
}
}else{
// 库存查询
li.setAttribute('data-ctmmParam',data[i].ctmmParam);
li.setAttribute('data-bigDrugCode',data[i].bigDrugCode);
li.innerText = data[i].ctmmParam;
}
ul.appendChild(li);
}
document.querySelector('#ulList').appendChild(ul)
}
//搜索结果电机
$('#ulList').on('tap','.search-ullist-li',function(){
let dataset = this.dataset;
console.log(currHistory)
console.log(dataset);
let searchParams = {};
if(location === 'sub_list'){
if(dataset.hisdrugcode){
let flag = false;
let saveData = {
hisDrugCode: dataset.hisdrugcode,
hisDrugName: dataset.hisdrugname
}
mui.each(currHistory,function(index,item){
if(item.hisDrugCode === dataset.hisdrugcode){
flag = true
}
});
if(!flag){
console.log('sub_list,不存在');
if(currHistory.length >= 10){
currHistory.shift();
}
currHistory.unshift(saveData)
}
searchParams = { hisDrugCode : dataset.hisdrugcode,hisDrugName: dataset.hisdrugname,type: params.auditStatus,selected: params.selected }
}
}
if(module === 'acceptance'){
if(location === 'main_list'){
if(dataset.suppliercode){
let supplier = {
supplierCode: dataset.suppliercode,
supplierName: dataset.suppliername
}
searchParams = supplier;
var flag = false;
console.log(searchList)
mui.each(currHistory,function(index,item){
if(item.supplierCode === supplier.supplierCode){
flag = true;
}
});
if(!flag){
console.log('历史记录中当前项不存在')
if(currHistory.length >= 10){
currHistory.shift()
}
currHistory.unshift(supplier)
}
}
}
}
else if(module === 'grounding'){
if(location==='main_list'){
if(dataset.distributecode){
let flag = false;
mui.each(currHistory,function(index,item){
if(item === dataset.distributecode){
flag = true
}
});
searchParams = { distributeCode: dataset.distributecode, auditStatus: params.auditStatus,selected: params.selected }
if(!flag){
console.log('不存在');
if(currHistory.length >= 10){
currHistory.shift();
}
currHistory.unshift(dataset.distributecode)
}
}
}
}else if(module === 'pickingOff'){
if(location === 'main_list'){
if(dataset.applyorderno){
let flag = false;
mui.each(currHistory,function(index,item){
if(item === dataset.applyorderno){
flag = true;
}
});
searchParams = { pickingOrderNo: dataset.applyorderno, auditStatus: params.auditStatus,selected: params.selected }
if(!flag){
console.log('pickingOff---main_list,不存在');
if(currHistory.length >= 10){
currHistory.shift();
}
currHistory.unshift(dataset.applyorderno)
}
}
}
}else{
if(dataset.bigdrugcode){
let flag = false;
mui.each(currHistory,function(index,item){
if(item.bigDrugCode === dataset.bigdrugcode){
flag = true;
}
});
if(!flag){
console.log('stockQuery---main_list,不存在');
if(currHistory.length >= 10){
currHistory.shift();
}
currHistory.unshift({ bigDrugCode: dataset.bigdrugcode,ctmmParam: dataset.ctmmparam })
}
searchParams = { bigDrugCode : dataset.bigdrugcode,ctmmParam: dataset.ctmmparam }
}
}
searchList[module][location] = currHistory;
plus.storage.setItem('searchHistory',JSON.stringify(searchList));
var page = undefined;
if(location === 'main_list'){
page = plus.webview.getWebviewById(params.route);
console.log(JSON.stringify(searchParams))
mui.fire(page,'search',{ searchParams: JSON.stringify(searchParams) });
}else{
page = plus.webview.getWebviewById(params.id);
// console.log(page);
console.log(JSON.stringify(searchParams))
mui.fire(page,'sub_search',{ searchParams: JSON.stringify(searchParams),selectTabs: params.selectTabs});
}
old_back();
// plus.webview.currentWebview().close();
setTimeout(function(){
document.activeElement.blur(); // 隐藏软键盘
},500)
});
})
})(mui,jQuery);
</script>
</body>
</html>
\ No newline at end of file
<script type="text/html" id='ground_batch_list'>
{{ each list value i}}
<div class="batch-wrapper">
<div class="checkoneParent">
<div class="mui-checkbox mui-left" style="width: 48px;height:48px;padding:50px 0 ;display: block;">
<input name="selected" class="checkone" type="checkbox" data-index="{{ (page-1)*pageSize + i }}" style="top: 35px;left: 10px;">
</div>
</div>
<div class="am-card scrollList-item am-card-full" style="width: 90%;border: none;"
data-id="{{ value.id }}" data-upParentId="{{ value.upParentId?value.upParentId:'' }}" >
<div class="am-card-header">
<div class="am-card-header-content">
<span style="font-size: 18px; color: rgb(51, 51, 51); font-weight: bold;">
{{ value.ctmmGenericName ? value.ctmmGenericName:value.ctmmTradeName ? value.ctmmTradeName: '' }}</span>
</div>
<div class="am-card-header-extra">
<span>{{ value.type }}</span>
</div>
</div>
<div class="am-card-body">
<div class="am-flexbox am-flexbox-align-center">
<div class="am-flexbox-item">
单位:<span>{{ value.replanUnit }}</span>
</div>
<div class="am-flexbox-item">
数量:<span class="groundNum">{{ value.realReceiveQuantiry }}</span>
</div>
<div class="am-flexbox-item">
规格:<span>{{ value.ctmmSpecification }}</span>
</div>
</div>
{{ if hasGround }}
{{ if value.realNum && value.realNum.length && value.realNum.length > 1}}
{{ each value.realNum num index}}
<div class="editForm" style="display: block;" data-upParentId="{{ value.upParentId[index]?value.upParentId[index]:0 }}"
data-productBatchNo = "{{value.productBatchNo}}" data-id="{{value.id}}">
<div class="am-flexbox am-flexbox-align-center">
<div class="am-flexbox-item">
<div class="am-list-item am-input-item am-list-item-middle">
<div class="am-list-line">
{{ if value.upParentId[index] != null }}
<div class="am-input-label am-input-label-4 font-warning" style="width: 56px;">备选货位:</div>
{{ else }}
<div class="am-input-label am-input-label-4 font-warning" style="width: 56px;">指示货位:</div>
{{ /if }}
<div class="am-input-control">
<select class="editInput select_actualStore" value="{{ value.replanStore }}">
{{ each value.acceptoodsVo item i }}
{{ if value.realReceiveStore[index] === item.id }}
<option value="{{ item.id }}" selected="selected">{{ item.positionName }}</option>
{{ else }}
<option value="{{ item.id }}">{{ item.positionName }}</option>
{{ /if }}
{{ /each }}
</select>
</div>
</div>
</div>
</div>
<div class="am-flexbox-item">
<div class="am-list-item am-input-item am-list-item-middle">
<div class="am-list-line">
<div class="am-input-label am-input-label-6 font-warning">实际上架数量:</div>
<div class="am-input-control">
<input type="tel" value="{{ value.realNum[index] ? value.realNum[index] : 0}}" placeholder="请输入" data-id="{{value.id}}" data-oldValue = "{{value.realNum[index] ? value.realNum[index] : 0}}" data-realReceiveQuantiry = "{{ value.realReceiveQuantiry }}" class="realNum flex-item-input" />
</div>
</div>
</div>
</div>
</div>
</div>
{{/each}}
{{ else }}
<div class="editForm" style="display: block;" data-upParentId="{{ value.upParentId?value.upParentId:0 }}"
data-productBatchNo = "{{value.productBatchNo}}" data-id="{{value.id}}">
<div class="am-flexbox am-flexbox-align-center">
<div class="am-flexbox-item">
<div class="am-list-item am-input-item am-list-item-middle">
<div class="am-list-line">
{{ if value.upParentId != null }}
<div class="am-input-label am-input-label-4 font-warning" style="width: 56px;">备选货位:</div>
{{ else }}
<div class="am-input-label am-input-label-4 font-warning" style="width: 56px;">指示货位:</div>
{{ /if }}
<div class="am-input-control">
<select class="editInput select_actualStore" value="{{ value.replanStore }}">
{{ each value.acceptoodsVo item i }}
{{ if value.realReceiveStore === item.id }}
<option value="{{ item.id }}" selected="selected">{{ item.positionName }}</option>
{{ else }}
<option value="{{ item.id }}">{{ item.positionName }}</option>
{{ /if }}
{{ /each }}
</select>
</div>
</div>
</div>
</div>
<div class="am-flexbox-item">
<div class="am-list-item am-input-item am-list-item-middle">
<div class="am-list-line">
<div class="am-input-label am-input-label-6 font-warning">实际上架数量:</div>
<div class="am-input-control">
<input type="tel" value="{{ value.realNum ? value.realNum : 0}}" placeholder="请输入" data-id="{{value.id}}" data-oldValue = "{{value.realNum ? value.realNum : 0}}" data-realReceiveQuantiry = "{{ value.realReceiveQuantiry }}" class="realNum flex-item-input" />
</div>
</div>
</div>
</div>
</div>
</div>
{{ /if }}
{{ /if }}
<div class="am-flexbox am-flexbox-align-center">
<div class="am-flexbox-item">
生产厂家:<span>{{ value.ctmmManufacturerName }}</span>
</div>
<div id='productBatchNo'>
<span style="display: none;">{{ value.productBatchNo }}</span>
</div>
</div>
</div>
</div>
</div>
{{/each}}
</script>
\ No newline at end of file
<script type="text/html" id='detail_tpl'>
<div style="margin-top:10px;">
{{ each list value i }}
{{ if value.upParentId == null }}
<ul class="mui-table-view" style="margin-bottom:8px;">
<li class="mui-table-view-cell mui-collapse mui-active">
<a class="mui-navigate-right" href="#">单据信息</a>
<div class="mui-collapse-content">
<div class="mui-input-row">
<label>配送单/验收单号</label>
<p class="detailRow_content">{{ distributeCode ? distributeCode: '' }}</p>
</div>
<div class="mui-input-row">
<label>状态</label>
<p class="detailRow_content">{{ value.upFinishType && value.upFinishType===1 ? '已上架': ' 待上架' }}</p>
</div>
<div class="mui-input-row">
<label>验收时间</label>
<p class="detailRow_content">{{ receptionTime ? receptionTime: ''}}</p>
</div>
<!--<div class="mui-input-row">
<label>上架人</label>
<p class="detailRow_content">{{ createname ? createname: '' }}</p>
</div>-->
<div class="mui-input-row">
<label>上架时间</label>
<p class="detailRow_content">{{ upUserDate ? upUserDate: ''}}</p>
</div>
</div>
</li>
</ul>
{{/if}}
<ul class="mui-table-view" style="margin-bottom:8px;">
<li class="mui-table-view-cell mui-collapse mui-active goodsInfo">
{{ if value.upParentId != null }}
<a class="mui-navigate-right" href="#">产品信息<span style="color: #f5222d;">(备选上架货位)</span></a>
{{ else }}
<a class="mui-navigate-right" href="#">产品信息</a>
{{ /if }}
<div class="mui-collapse-content">
<div class="mui-input-row">
<label>通用名称</label>
<p class="detailRow_content">{{ value.ctmmGenericName }}</p>
</div>
<div class="mui-input-row">
<label>规格</label>
<p class="detailRow_content">{{value.ctmmSpecification}}</p>
</div>
<div class="mui-input-row">
<label>生产厂家</label>
<p class="detailRow_content">{{value.ctmmManufacturerName}}</p>
</div>
<div class="mui-input-row">
<label>生产批号</label>
<p class="detailRow_content">{{value.productBatchNo}}</p>
</div>
<div class="mui-input-row">
<label>生产日期</label>
<p class="detailRow_content">{{value.realProductTime}}</p>
</div>
<div class="mui-input-row">
<label>有效期至</label>
<p class="detailRow_content">{{value.realValidEndDate}}</p>
</div>
<div class="mui-input-row">
<label>包装规格</label>
<p class="detailRow_content">{{value.packageSpecification}}</p>
</div>
<div class="mui-input-row">
<label>单位</label>
<p class="detailRow_content">{{value.unit}}</p>
</div>
<div class="mui-input-row">
<label>指示货位</label>
<p class="detailRow_content">{{value.actualStore}}</p>
</div>
<div class="mui-input-row">
{{ if value.upFinishType !== 1 }}
{{ if value.upParentId != null }}
<label class="font-warning">备选上架实际货位</label>
{{ else }}
<label class="font-warning">实际货位</label>
{{ /if }}
<select class="editInput realReceiveStore" style="float: left;width: 40%;">
{{ each value.acceptoodsVo item i }}
{{ if value.realReceiveStore === item.id }}
<option value="{{ item.id }}" selected="selected">{{ item.positionName }}</option>
{{ else }}
<option value="{{ item.id }}">{{ item.positionName }}</option>
{{ /if }}
{{ /each }}
</select>
<a href="#modal" class="mui-pull-right qrcode" id="qrcode" onclick="clicked()" style="height: 45px;padding: 8px 25px;">
<img src="../../assest/qrcode.png" width="32" height="32"/>
</a>
{{ else }}
{{ if value.upParentId != null }}
<label>备选上架实际货位</label>
{{ else }}
<label>实际货位</label>
{{ /if }}
<p class="detailRow_content">{{value.realReceiveStoreName}}</p>
{{ /if }}
</div>
<div class="mui-input-row">
<label>批准文号</label>
<p class="detailRow_content">{{value.approvalNo}}</p>
</div>
<div class="mui-input-row">
<label>数量</label>
<p class="detailRow_content">{{value.realReceiveQuantiry}}</p>
</div>
<div class="mui-input-row">
<!-- <label>实际上架数量</label>
<p class="detailRow_content">{{value.realNum}}</p> -->
{{ if value.upFinishType !== 1 }}
{{ if value.upParentId != null }}
<label class="font-warning">备选货位实际上架数量</label>
{{ else }}
<label class="font-warning">实际上架数量</label>
{{ /if }}
<input type="tel" class="mui-input editInput realNum" value="{{ value.realNum ? value.realNum : 0}}" placeholder="请输入" data-id="{{value.id}}" data-oldValue = "{{value.realNum}}" data-realReceiveQuantiry = "{{ value.realReceiveQuantiry }}" />
{{ else }}
{{ if value.upParentId != null }}
<label>备选货位实际上架数量</label>
{{ else }}
<label>实际上架数量</label>
{{ /if }}
<p class="detailRow_content">{{value.realNum}}</p>
{{ /if }}
</div>
</div>
</li>
</ul>
{{ /each }}
</div>
</script>
\ No newline at end of file
<!--批量上架 - 药品信息 列表页 - wwb-->
<!doctype html>
<html>
<head>
<meta charset="UTF-8">
<title></title>
<link rel="import" href="batch_list_tpl.html" id="batch_tpl"/>
<meta name="viewport" content="width=device-width,initial-scale=1,minimum-scale=1,maximum-scale=1,user-scalable=no" />
<link href="../../css/mui.min.css" rel="stylesheet" />
<link href="../../css/themes.css" rel="stylesheet" />
<link href="../../css/index_view.css" rel="stylesheet" />
</head>
<body>
<div class="mui-content">
<header class="mui-bar mui-bar-nav themes_bg_color">
<a class="mui-action-back mui-icon mui-icon-left-nav mui-pull-left">
<label class="mui-pull-right theme_back_font">返回</label>
</a>
<h1 class="mui-title themes_title">药品信息</h1>
</header>
<div class="home-card-wrapper" style="padding: 8px;margin-top: 0;margin-bottom: 8px;">
<div class="home-card-title">待上架</div>
</div>
<div id="slider" class="mui-slider themes_tab mui-fullscreen" style="margin-top: 45px;">
<div class="mui-slider-group">
<div id="item1mobile" class="mui-slider-item mui-control-content">
<div id="scroll1" class="mui-scroll-wrapper">
<div class="mui-scroll" id="mui-table-view-tab1">
<ul class="mui-table-view">
<li class="mui-table-view-cell mui-tab1" style="padding: 0;">
</li>
</ul>
</div>
</div>
</div>
</div>
</div>
<div class="fix_bottom-wraper">
<div class="fix-bottom-content">
<div class="mui-checkbox mui-left">
<label>全选</label>
<input name="checkboxAll" value="1" id="checkall" type="checkbox" style="top: -5px;z-index: 10;">
</div>
<span style="margin-left: 8px;">已选中 <label class="total"> 0 </label></span>
</div>
<a href="javascript:;" class="btn acceptance fix-bottom-extra"> 上 架 </a>
</div>
</div>
<script src="../../js/mui.min.js"></script>
<script src="../../js/jquery.min.js" ></script>
<script src="../../js/mui.pullToRefresh.js"></script>
<script src="../../js/mui.pullToRefresh.material.js"></script>
<script src="../../js/template-web.js" type="text/javascript" charset="utf-8"></script>
<script src="../../js/utils.js" type="text/javascript" charset="utf-8"></script>
<script src="../../js/common.js" type="text/javascript" charset="utf-8"></script>
<script src="../../js/request.js" type="text/javascript" charset="utf-8"></script>
<script type="text/javascript">
if(window.plus) {
plusready();
} else {
document.addEventListener('plusready', plusready, false);
}
function plusready() {
plus.key.addEventListener('backbutton',function(){
plus.webview.currentWebview().close();
})
}
(function($,$JQ) {
/* 渲染模板 */
var checkType, type, auditStatus// 验收单类型 // 验收状态 1 待验收 2 已验收
$.init({
beforeback:function(){
var list = plus.webview.currentWebview().opener();
mui.fire(list, 'pagefresh',{ selectTabs: 0 });
return true;
}
});
var deceleration = mui.os.ios?0.003:0.0009;
$('.mui-scroll-wrapper').scroll({
bounce: true,
indicators: true, //是否显示滚动条
deceleration:deceleration
});
var page = 1,
totalPage = undefined,
pageSize = 15,
isMore = true,
checkType = undefined,
type = undefined,
acceptList = [],// 数据
distributeCode = undefined,
upFinishType = undefined;
var params, selectedRows = [],selecteIndex = [];
var _url = '/a/shelfInfo/shelfInfoList', // '/a/checkaccept/shelfList',
groundUrl = '/a/checkacceptdetail/finish';
// 模板加载
var utils = new Utils();
utils.appendModule('#batch_tpl');
/*
下拉刷新
* */
function pulldownRefresh(){
document.querySelector('.total').innerText = 0;
document.querySelector('#checkall').checked = false;
selecteIndex = [];
var self = this;
page = 1;
var postData = {
distributeCode: distributeCode,
upFinishType:upFinishType,
pageNo: page,
pageSize: pageSize
};
console.log(JSON.stringify(postData))
mui.ajaxRequest(_url,{
type: 'POST',
data: postData,
success: function(data){
var resData = data.data;
var showDatas = filterDatas(resData);
resData.page = page;
resData.pageSize = pageSize;
resData.hasGround = true;
acceptList = resData.list
totalPage = data.totalPage;
console.log(JSON.stringify(data))
if(resData.list.length === 0 || (resData.list.length <= resData.pageSize && resData.count/resData.pageSize < 1)){
isMore = false;
document.querySelectorAll('.mui-pull-loading')[0].innerHTML = '没有更多数据';
self.endPullDownToRefresh(true);
}else{
isMore = true;
self.endPullDownToRefresh(false);
self.refresh(true);
}
console.log(JSON.stringify(data.data.list))
return template(showDatas, false)
},
error: function(xhr,type,errorThrown){
console.log(xhr.responseText)
}
});
}
function template(data, insertType,render) {
utils.innerTplHtml('ground_batch_list', '.mui-tab1', data, insertType);
if(render){
var checkList = document.querySelectorAll('.checkone');
console.log(selecteIndex,'selecteIndex')
mui.each(selecteIndex, function(index, item) {
checkList[item].checked = true;
});
}
}
/* 过滤还有备选货位的数据 */
function filterDatas(datas){
var list = datas.list;
if(list && list.length && list.length > 1){
var list = datas.list,_list = [];
for(var i = 0,len = list.length;i<len;i++){
//存在备选上架货位
var realReceiveStore = [],realNum = [],storeType= [],upParentId = [],actualStore = [],realReceiveStoreName = [];
if(list[i].upParentId){
var outList = list.filter(function(item,index){
return (index > i && item.id == list[i].id && item.upParentId == null);
});
var innerList = _list.filter(function(item,index){
return (item.id == list[i].id && item.upParentId == null);
});
list.forEach(function(item,index){
if(list[i].id == item.id){
realReceiveStore.push(item.realReceiveStore);
var realnum = item.realNum;
if(!item.upParentId){
realnum = item.realReceiveQuantiry;
}
realNum.push(realnum);
storeType.push(item.storeType);
upParentId.push(item.upParentId);
actualStore.push(item.actualStore);
realReceiveStoreName.push(item.realReceiveStoreName);
}
})
if(innerList[0]){
innerList[0].realReceiveStore = realReceiveStore;
innerList[0].realNum = realNum;
var _store = storeType.map(function(item,index){
var text = "货位";
if(item == "补货指示货位"){
text = "指示货位";
}else if(item == "备选上架货位"){
text = "备选货位";
}
return text;
})
innerList[0].storeType = _store;
innerList[0].upParentId = upParentId;
innerList[0].actualStore = actualStore;
innerList[0].realReceiveStoreName = realReceiveStoreName;
}
}else{
if(!list[i].realNum){
list[i].realNum = list[i].realReceiveQuantiry;
}
_list.push(list[i])
}
}
datas.list = _list;
return datas;
}else{
if(list[0] && !list[0].realNum){
list[0].realNum = list[0].realReceiveQuantiry;
}
return datas;
}
}
/*
* 上拉加载更多
* */
function pullupRefresh(){
document.querySelector('#checkall').checked = false;
var self = this;
console.log(isMore,'isMore')
if(isMore){
page++;
mui.ajaxRequest(_url,{
type: 'POST',
data:{
distributeCode: distributeCode,
upFinishType,upFinishType,
pageNo: page,
pageSize: pageSize
},
success: function(data){
var resData = data.data;
var showDatas = filterDatas(resData);
resData.page = page;
resData.pageSize = pageSize;
resData.hasGround = true;
mui.each(resData.list,function(index,item){
acceptList.push(item)
});
if(resData.pageNo === resData.totalPage){
isMore = false;
self.endPullUpToRefresh(true);
}else{
isMore = true;
self.endPullUpToRefresh(false);
self.refresh(true);
}
return template(showDatas, true,'render')
},
error: function(xhr,type,errorThrown){
console.log(xhr.responseText)
}
});
}else{
document.querySelectorAll('.mui-pull-loading')[0].innerHTML = '没有更多数据';
self.endPullUpToRefresh(true);
}
}
$.plusReady(function(){
window.addEventListener('pagefresh',function(event){
mui('.mui-scroll-wrapper').scroll().scrollTo(0,0,100);
mui(".mui-scroll").pullToRefresh().pullDownLoading();
});
var self = plus.webview.currentWebview();
params = JSON.parse(self.params);//获得参数
distributeCode = params.distributeCode;
upFinishType = params.upFinishType;
console.log(params.upFinishType)
console.log(JSON.stringify(params))
// showData(params);
//循环初始化所有下拉刷新,上拉加载。
$.each(document.querySelectorAll('.mui-scroll'), function(index, pullRefreshEl) {
$(pullRefreshEl).pullToRefresh({
down: {
style:'circle',
contentdown : "下拉可以刷新",
contentover : "释放立即刷新",
contentrefresh : "正在刷新...",
callback: pulldownRefresh
},
up: {
contentrefresh : "正在加载...",//可选,正在加载状态时,上拉加载控件上显示的标题内容
contentnomore:'没有更多数据',
callback: pullupRefresh
}
});
});
// 第一个tab 默认加载一次数据
mui(".mui-scroll").pullToRefresh().pullDownLoading();
// 全选 及反选
$('.fix_bottom-wraper').on('click','#checkall',function(){
selecteIndex = [];
var checkList = document.querySelectorAll('.checkone');
if (document.querySelector('#checkall').checked){
// 全选
mui.each(checkList,function(index,item){
item.checked = true;
selecteIndex.push(index);
});
document.querySelector('.total').innerText = checkList.length;
selectedRows = acceptList;
} else {
// 取消全选
mui.each(checkList,function(index,item){
item.checked = false
});
document.querySelector('.total').innerText = 0;
selectedRows = [];
selecteIndex = []
}
console.log(selectedRows);
console.log(selecteIndex)
});
// 复选框选中
$('#slider').on('change', '.checkone',function(){
selectedRows = [],selecteIndex = [];
// let currentCheckbox = $JQ(this).find('.checkone');
// if(currentCheckbox.prop('checked')){
// currentCheckbox.prop('checked',false)
// }else{
// currentCheckbox.prop('checked',true)
// }
var checkList = document.querySelectorAll('.checkone')
var checkAll = document.querySelector('#checkall');
var checkLen = checkList.length;
var len = 0;
mui.each(checkList,function(index,item){
if(item.checked){
len++;
// selectedRows.push(acceptList[index]);
selecteIndex.push(this.dataset.index)
}
});
checkAll.checked = len === checkLen ? true: false;
document.querySelector('.total').innerText = len;
console.log(selectedRows);
console.log(selecteIndex)
})
// 绑定事件 --确认验收
$('.fix_bottom-wraper').on('tap','.acceptance',function(){
document.activeElement.blur(); // 隐藏软键盘
console.log(document.querySelector('.total').innerText)
if(Number(document.querySelector('.total').innerText) === 0){
return mui.alert('请至少选中一项','警告',['确认'],function(){},'div')
}
var cards = document.querySelectorAll('.am-card');
var selectedCards = [];
mui.each(selecteIndex,function(index,item){
selectedCards.push(cards[item]);
});
console.log(selectedCards);
var edit = [];
mui.each(selectedCards,function(index,item){
var _edit = item.querySelectorAll('.editForm');
for(var i = 0,len = _edit.length;i<len;i++){
edit.push(_edit[i]);
}
});
let detailListVo = [], submitData = {};
mui.each(edit,function(index,item){
var postData = {};
var id = item.dataset.id;
var productBatchNo = item.dataset.productbatchno;
var upParentId = item.dataset.upparentid;
if(typeof upParentId == "string" && upParentId == "0"){
upParentId = "";
}
var realNum = $JQ(item).find('.realNum').val()?$JQ(item).find('.realNum').val()-0:0;
var realReceiveStore =item.querySelector('.select_actualStore').value;
console.log(productBatchNo)
console.log(realNum);
console.log(realReceiveStore,'realReceiveStore');
postData.id = id;
postData.realNum = realNum;
postData.productBatchNo = productBatchNo;
postData.realReceiveStore = realReceiveStore;
postData.upParentId = upParentId;
detailListVo.push(postData);
});
submitData.detailListVo = detailListVo;
submitData.distributeCode = distributeCode;
console.log(submitData)
var btnArray = ['否', '是'];
mui.confirm('确认批量上架选中的药品?', '确认', btnArray, function(e) {
if (e.index == 1) {
mui.ajaxRequest(groundUrl,{
type: 'POST',
data: submitData,
showWaiting: true,
contentType: "application/json",
success: function(data){
if(data.code === 200){
//mui.toast('上架成功',{ type: 'div' });
mui.alert(data.data);
$JQ('.total').text(0);
document.querySelector('#checkall').checked = false;
setTimeout(function(){
mui('.mui-scroll-wrapper').scroll().scrollTo(0,0);
mui(".mui-scroll").pullToRefresh().pullDownLoading();
},300)
}else{
mui.alert(data.msg)
}
},
error: function(xhr,type,errorThrown){
console.log(xhr.responseText)
}
})
}
},'div')
});
//绑定输入实际上架数验证
$JQ('#slider').on('keyup','.realNum',function(){
var _this = this,$JQthis = $JQ(this);
var id = _this.dataset.id,realReceiveQuantiry = _this.dataset.realreceivequantiry-0,oldValue = _this.dataset.oldvalue-0;
_this.value = _this.value.replace(/\D/g,'')-0;
var count = 0;
var eles = mui(".am-input-control input[data-id='"+id+"']"),len = eles.length;
eles.each(function (e) {
count += this.value-0;
});
if(count > realReceiveQuantiry){
if(len == 2){
var text1 = "该药品存在“补货指示货位”和“备选上架货位”,两货位实际上架数量相加不能大于指示数量"+realReceiveQuantiry+"!";
mui.alert(text1,'提示','确定',function (e) {
_this.value = oldValue;
},'div')
}else{
var text1 = "实际上架数量不能大于指示数量"+realReceiveQuantiry+"!";
mui.alert(text1,'提示','确定',function (e) {
_this.value = oldValue;
},'div')
}
}
});
});
})(mui,jQuery);
</script>
</body>
</html>
\ No newline at end of file
<!--上架 - 详情页 - wwb-->
<!doctype html>
<html>
<head>
<meta charset="UTF-8">
<title></title>
<link rel="import" href="./detail_tpl.html" id="ground_detail_tpl"/>
<meta name="viewport" content="width=device-width,initial-scale=1,minimum-scale=1,maximum-scale=1,user-scalable=no" />
<link href="../../css/mui.min.css" rel="stylesheet" />
<link href="../../css/themes.css" rel="stylesheet" />
<link href="../../css/check.css" rel="stylesheet"/>
<link href="../../css/index_view.css" rel="stylesheet" />
</head>
<body>
<div class="mui-content detailRow">
<form class="mui-input-group" id="detailContent" style="background:none;">
<ul class="mui-table-view" style="margin-bottom:12px;">
<li class="mui-table-view-cell mui-collapse">
<a class="mui-navigate-right" href="#">产品信息</a>
<div class="mui-collapse-content">
</div>
</li>
</ul>
</form>
</div>
<script src="../../js/mui.min.js"></script>
<script src="../../js/jquery.min.js"></script>
<script src="../../js/template-web.js" type="text/javascript" charset="utf-8"></script>
<script src="../../js/utils.js" type="text/javascript" charset="utf-8"></script>
<script src="../../js/common.js" type="text/javascript" charset="utf-8"></script>
<script src="../../js/request.js" type="text/javascript" charset="utf-8"></script>
<script type="text/javascript">
function clicked(){
common.openwin('../commonPages/qrcode',true,{ titleText: '扫码上架' })
}
var acceptoodsVo = [];//定义实际货位的列表集合
/*获取二维码返回值*/
function scaned(t, r, f) {
console.log(r);//返回二维码读取的数据
var list = acceptoodsVo;
if(r && Array.isArray(list) && list.length >0){
var locationCode = list.filter(function(item){
return item.positionName == r;
})[0];
if(locationCode){
mui.alert('扫描成功!','提示','确定',function (e) {
//jQuery(".realReceiveStore").val(locationCode.id);
document.getElementsByClassName('realReceiveStore')[0].value = locationCode.id;
},'div')
}else{
mui.alert('扫描的货位码不在实际货位码可选集合中,请重新扫描!','提示','确定',function (e) {},'div')
}
}
}
(function($,$$) {
var utils = new Utils();
utils.appendModule('#ground_detail_tpl');
function showData(data){
var html = template('detail_tpl', data);
document.getElementById('detailContent').innerHTML = html;
}
/* 过滤还有备选货位的数据 */
function filterDatas(datas,upFinishType){
var list = datas.list;
if(upFinishType != "1" && list.length && list.length > 0){//未上架
for(var i = 0,len = list.length;i<len;i++){
if(!list[i].upParentId){//指示货位
list[i].realNum = list[i].realReceiveQuantiry;
}
}
}
return datas;
}
$.plusReady(function(){
$.init({
beforeback: function() {
var list = plus.webview.currentWebview().opener();
mui.fire(list, 'pagefresh',{ selectTabs: details.selectTabs === 1 ? 0: 1, query: details.query });
return true;
}
})
var self = plus.webview.currentWebview();
var details = JSON.parse(self.details);//获得参数
var upParentId = details.upParentId;
console.log(JSON.stringify(details.selectTabs) );
var postData = {
distributeCode: details.distributeCode,
upFinishType: details.upFinishType,
id: details.id
};
var detailData = {};
var url = '/a/shelfInfo/shelfInfoList',
titleUrl = '/a/shelfInfo/shelfInfoTitle',
groundUrl = '/a/checkacceptdetail/finish';
plus.nativeUI.showWaiting('加载中...');
mui.ajaxRequest(titleUrl,{
type: 'POST',
data: { distributeCode: postData.distributeCode },
success: function(data){
console.log(JSON.stringify(data))
if(data.code === 200){
for(var key in data.data){
detailData[key] = data.data[key];
}
mui.ajaxRequest(url,{
type: 'POST',
data: postData,
success: function(data){
console.log(JSON.stringify(data))
plus.nativeUI.closeWaiting();
if(data.code === 200){
detailData.list = data.data.list;
if(data.data.list && data.data.list[0] && data.data.list[0].acceptoodsVo){
acceptoodsVo = data.data.list[0].acceptoodsVo;
}
console.log('detailData********************************')
var _detailData = filterDatas(detailData,details.upFinishType);
showData(_detailData);
if(details.upFinishType === '0'){
var groundBtn = '<button type="button" id="ground" class="mui-btn mui-btn-warning mui-btn-block" style="margin-bottom: 20px;" data-loading-text = "提交中" data-loading-icon-position="right">确认上架</button>'
document.querySelector('.detailRow').insertAdjacentHTML("beforeEnd",groundBtn);
}
}else{
mui.toast(data.msg,{ type: 'div' });
}
},
error: function(xhr,type,errorThrown){
console.log(xhr.responseText)
}
});
}else{
mui.toast(data.msg,{ type: 'div' });
}
},
error: function(xhr,type,errorThrown){
console.log(xhr.responseText)
}
})
// 上架
console.log(details.upFinishType)
if(details.upFinishType === '0'){
var ground = (document.querySelector('#ground'));
$('.detailRow').on('tap','#ground',function(e){
document.activeElement.blur(); // 隐藏软键盘
var edit = document.querySelectorAll('.goodsInfo');
var id = detailData.list[0].id;
if(edit[0] && edit.length > 0){
var detailListVo = [],submitData = {};
mui.each(edit,function(index,item){
var postData = {};
var $$input = $$(item).find('input.realNum'),realNum = 0;
if($$input[0]){
realNum = $$input.val()-0;
}
var realReceiveStore =item.querySelector('.realReceiveStore').value;
postData.id = id;
postData.realNum = realNum;
postData.productBatchNo = detailData.list[0].productBatchNo;
postData.realReceiveStore = realReceiveStore;
postData.upParentId = detailData.list[index].upParentId?detailData.list[index].upParentId:"";
detailListVo.push(postData);
});
submitData.detailListVo = detailListVo;
submitData.distributeCode = details.distributeCode;
console.log(submitData)
}
var btnArray = ['否', '是'];
mui.confirm('是否确认上架?', '操作提示', btnArray, function(e) {
if (e.index == 1) {
mui.ajaxRequest(groundUrl,{
type: 'POST',
data: submitData,
contentType: "application/json",
showWaiting: true,
success: function(data){
if(data.code === 200){
//mui.toast('上架成功',{ type: 'div' });
mui.alert(data.data);
var page = plus.webview.getWebviewById('ground_not_list');
mui.fire(page,'pagefresh',{ selectTab: '1' });
common.gotowin('acc_not_list',{ });
plus.webview.currentWebview().close();
}else{
mui.alert(data.msg)
}
},
error: function(xhr,type,errorThrown){
console.log(xhr.responseText)
}
});
}
},'div')
});
}
//绑定输入实际上架数验证
$$('#detailContent').on('keyup','.realNum',function(){
var _this = this,$$this = $$(this);
var id = _this.dataset.id,realReceiveQuantiry = _this.dataset.realreceivequantiry-0,oldValue = _this.dataset.oldvalue-0;
_this.value = _this.value.replace(/\D/g,'')-0;
var count = 0;
var eles = mui(".mui-input-row input[data-id='"+id+"']"),len = eles.length;
eles.each(function (e) {
count += this.value-0;
});
if(count > realReceiveQuantiry){
if(len == 2){
var text1 = "该药品存在“补货指示货位”和“备选上架货位”,两货位实际上架数量相加不能大于指示数量"+realReceiveQuantiry+"!";
mui.alert(text1,'提示','确定',function (e) {
_this.value = oldValue;
},'div')
}else{
var text1 = "实际上架数量不能大于指示数量"+realReceiveQuantiry+"!";
mui.alert(text1,'提示','确定',function (e) {
_this.value = oldValue;
},'div')
}
}
});
})
})(mui,jQuery);
</script>
</body>
</html>
\ No newline at end of file
<!--上架 - 药品信息 列表页 - wwb-->
<!doctype html>
<html>
<head>
<meta charset="UTF-8">
<title></title>
<link rel="import" href="./list_tpl.html" id="ground_list_tpl"/>
<meta name="viewport" content="width=device-width,initial-scale=1,minimum-scale=1,maximum-scale=1,user-scalable=no" />
<link href="../../css/mui.min.css" rel="stylesheet" />
<link href="../../css/themes.css" rel="stylesheet" />
<link href="../../css/index_view.css" rel="stylesheet" />
</head>
<body>
<header class="mui-bar mui-bar-nav themes_bg_color">
<a class="mui-action-back mui-icon mui-icon-left-nav mui-pull-left">
<label class="mui-pull-right theme_back_font">返回</label>
</a>
<h1 class="mui-title themes_title">药品信息</h1>
</header>
<div class="mui-content">
<div class="mui-input-row mui-search search_head" onclick="toSearchPage()">
<input type="search" class="mui-input-clear" readonly="readonly" placeholder="通用名/商品名/生产厂家">
</div>
<div class="home-card-wrapper" style="padding: 8px;margin-top: 0;margin-bottom: 8px;">
<div class="home-card-title">已上架</div>
</div>
<div id="slider" class="mui-slider themes_tab mui-fullscreen" style="margin-top: 45px;">
<!--<div id="sliderProgressBar" class="mui-slider-progress-bar mui-col-xs-6"></div>-->
<div class="mui-slider-group">
<div id="item1mobile" class="mui-slider-item mui-control-content">
<div id="scroll1" class="mui-scroll-wrapper">
<div class="mui-scroll" id="mui-table-view-tab1">
<ul class="mui-table-view">
<li class="mui-table-view-cell mui-tab1" style="padding: 0;">
</li>
</ul>
</div>
</div>
</div>
</div>
</div>
</div>
<script src="../../js/mui.min.js"></script>
<script src="../../js/jquery.min.js" ></script>
<script src="../../js/mui.pullToRefresh.js"></script>
<script src="../../js/mui.pullToRefresh.material.js"></script>
<script src="../../js/template-web.js" type="text/javascript" charset="utf-8"></script>
<script src="../../js/utils.js" type="text/javascript" charset="utf-8"></script>
<script src="../../js/common.js" type="text/javascript" charset="utf-8"></script>
<script src="../../js/request.js" type="text/javascript" charset="utf-8"></script>
<script type="text/javascript">
var auditStatus = '2', // 上架状态 1 待上架 2 已上架
selected = 'right';
if(window.plus) {
plusready();
} else {
document.addEventListener('plusready', plusready, false);
}
function plusready() {
plus.key.addEventListener('backbutton',function(){
plus.webview.currentWebview().close();
})
}
//去搜索页面
function toSearchPage (){
document.activeElement.blur(); // 隐藏软键盘
var params = {};
params.route = '../grounding/ground_list';
params.id = 'ground_list';
params.auditStatus = auditStatus;
params.selectTabs = 2;
params.selected = selected;
params.module = 'grounding';
params.location = 'sub_list';
common.openwin('../commonPages/searchPage',{ params: JSON.stringify(params) },false)
}
(function($,$$) {
$.init({
beforeback: function() {
var list = plus.webview.currentWebview().opener();
mui.fire(list, 'pagefresh',{ selectTabs: 0 }); // 参数判断是某一个Tabs 右侧tabs 刷寻右侧列表
return true;
}
});
var deceleration = mui.os.ios?0.003:0.0009;
$('.mui-scroll-wrapper').scroll({
bounce: true,
indicators: true, //是否显示滚动条
deceleration:deceleration
});
var page = 1,
totalPage = undefined,
pageSize = 15,
isMore = true,
query = {},
distributeCode = undefined,
upFinishType = '1';
var _url = '/a/shelfInfo/shelfInfoList',
groundUrl = '/a/checkacceptdetail/finish';
/* 渲染模板 */
var utils = new Utils();
utils.appendModule('#ground_list_tpl');
function template(data, insertType){
utils.innerTplHtml('ground_list','.mui-tab1', data, insertType);
}
/* 过滤还有备选货位的数据 */
function filterDatas(datas){
var list = datas.list;
var hasGround = datas.hasGround;
if(list && list.length && list.length > 1){
var list = datas.list,_list = [];
for(var i = 0,len = list.length;i<len;i++){
//存在备选上架货位
var realReceiveStore = [],realNum = [],storeType= [],upParentId = [],actualStore = [],realReceiveStoreName = [];
if(list[i].upParentId){
//外部的
var outList = list.filter(function(item,index){
return (index != i && item.id == list[i].upParentId && item.upParentId == null);
});
//内部的
var innerList = _list.filter(function(item,index){
return (item.id == list[i].upParentId && item.upParentId == null);
});
list.forEach(function(item,index){
if(list[i].upParentId == item.id || list[i].id == item.id){
realReceiveStore.push(item.realReceiveStore);
var realnum = item.realNum;
if(!item.upParentId){
realnum = item.realReceiveQuantiry;
}
realNum.push(realnum);
storeType.push(item.storeType);
upParentId.push(item.upParentId);
actualStore.push(item.actualStore);
realReceiveStoreName.push(item.realReceiveStoreName);
}
})
if(innerList[0]){
innerList[0].realReceiveStore = realReceiveStore;
innerList[0].realNum = realNum;
var _store = storeType.map(function(item,index){
var text = "货位";
if(item == "补货指示货位"){
text = "指示货位";
}else if(item == "备选上架货位"){
text = "备选货位";
}
return text;
})
innerList[0].storeType = _store;
innerList[0].upParentId = upParentId;
innerList[0].actualStore = actualStore;
innerList[0].realReceiveStoreName = realReceiveStoreName;
}
}else{
_list.push(list[i])
}
}
datas.list = _list;
return datas;
}else{
return datas;
}
}
/*
下拉刷新
* */
function pulldownRefresh(){
var self = this;
page = 1;
var postData = {
distributeCode: distributeCode,
upFinishType,upFinishType,
pageNo: 1,
pageSize: pageSize
};
if(query.hisDrugCode){
postData.hisDrugCode = query.hisDrugCode
}
query = {};
mui.ajaxRequest(_url,{
type: 'POST',
data: postData,
success: function(data){
var resData = data.data;
var showData = filterDatas(resData);
totalPage = data.totalPage;
if(resData.list.length === 0 || (resData.list.length <= resData.pageSize && resData.pageNo === resData.totalPage)){
isMore = false;
self.endPullDownToRefresh(true);
document.querySelector('.mui-pull-loading').innerHTML = '没有更多数据';
}else{
isMore = true;
self.endPullDownToRefresh(false);
self.refresh(true);
}
return template(showData, false)
},
error: function(xhr,type,errorThrown){
console.log(xhr.responseText)
}
});
}
/*
* 上拉加载更多
* */
function pullupRefresh(){
var self = this;
console.log(isMore,'isMore')
if(isMore){
page++;
mui.ajaxRequest(_url,{
type: 'POST',
data:{
distributeCode: distributeCode,
upFinishType,upFinishType,
pageNo: page,
pageSize: pageSize
},
success: function(data){
var resData = data.data;
var showData = filterDatas(resData);
if(resData.pageNo === resData.totalPage){
isMore = false;
self.endPullUpToRefresh(true);
}else{
isMore = true;
self.endPullUpToRefresh(false);
self.refresh(true);
}
return template(showData, true)
},
error: function(xhr,type,errorThrown){
console.log(xhr.responseText)
}
});
}else{
document.querySelector('.mui-pull-loading').innerHTML = '没有更多数据';
self.endPullUpToRefresh(true);
}
}
$.plusReady(function(){
window.addEventListener('pagefresh',function(event){
console.log(event.detail)
query = JSON.parse(event.detail.query);
console.log(query)
$$('.mui-placeholder').show();
$$('.mui-input-clear').val('');
mui('.mui-scroll-wrapper').scroll().scrollTo(0,0,100);
mui(".mui-scroll").pullToRefresh().pullDownLoading();
});
// 触发刷新 搜索页面搜的值
window.addEventListener('sub_search',function(event){
query = JSON.parse(event.detail.searchParams);
console.log(query)
$$('.mui-placeholder').hide();
$$('.mui-input-clear').val(query.hisDrugName);
mui('.mui-scroll-wrapper').scroll().scrollTo(0,0,100);
mui(".mui-scroll").pullToRefresh().pullDownLoading();
})
var params = undefined;
var self = plus.webview.currentWebview();
params = JSON.parse(self.params);//获得参数
console.log(params)
distributeCode = params.distributecode;
//循环初始化所有下拉刷新,上拉加载。
$.each(document.querySelectorAll('.mui-scroll'), function(index, pullRefreshEl) {
$(pullRefreshEl).pullToRefresh({
down: {
style:'circle',
contentdown : "下拉可以刷新",
contentover : "释放立即刷新",
contentrefresh : "正在刷新...",
callback: pulldownRefresh
},
up: {
contentrefresh : "正在加载...",//可选,正在加载状态时,上拉加载控件上显示的标题内容
contentnomore:'没有更多数据',
callback: pullupRefresh
}
});
});
// 第一个tab 默认加载一次数据
mui(".mui-scroll").pullToRefresh().pullDownLoading();
//绑定点击事件 - 进入详情页
$('#slider').on('tap','.moreDetail',function(){
let id = this.getAttribute('data-id');
console.log(id)
let newData = {};
newData.id = id;
newData.query = query;
newData.upFinishType = upFinishType ;
newData.distributeCode = distributeCode;
console.log(newData)
document.activeElement.blur();
common.openwin('ground_detail',{ details: JSON.stringify(newData) },{
titleText: '详情'
})
});
})
})(mui,jQuery);
</script>
</body>
</html>
\ No newline at end of file
<!--上架 - 药品信息 列表页 - wwb-->
<!doctype html>
<html>
<head>
<meta charset="UTF-8">
<title></title>
<link rel="import" href="./list_tpl.html" id="ground_list_tpl"/>
<meta name="viewport" content="width=device-width,initial-scale=1,minimum-scale=1,maximum-scale=1,user-scalable=no" />
<link href="../../css/mui.min.css" rel="stylesheet" />
<link href="../../css/themes.css" rel="stylesheet" />
<link href="../../css/index_view.css" rel="stylesheet" />
</head>
<body>
<header class="mui-bar mui-bar-nav themes_bg_color">
<a class="mui-action-back mui-icon mui-icon-left-nav mui-pull-left">
<label class="mui-pull-right theme_back_font">返回</label>
</a>
<a href="#" class="mui-pull-right batchAccetpance" style="height: 45px;padding-top: 12px;">
批量上架
</a>
</header>
<div class="mui-content">
<div class="mui-input-row mui-search search_head" onclick="toSearchPage()">
<input type="search" class="mui-input-clear" readonly="readonly" placeholder="通用名/商品名/生产厂家" >
</div>
<div id="slider" class="mui-slider themes_tab mui-fullscreen">
<div id="sliderSegmentedControl" class="mui-slider-indicator mui-segmented-control mui-segmented-control-inverted">
<a class="mui-control-item themes_font_color_tab" href="#item1mobile">待上架</a>
<a class="mui-control-item themes_font_color_tab" href="#item2mobile">已上架</a>
</div>
<div id="sliderProgressBar" class="mui-slider-progress-bar mui-col-xs-6"></div>
<div class="mui-slider-group">
<div id="item1mobile" class="mui-slider-item mui-control-content">
<div id="scroll1" class="mui-scroll-wrapper">
<div class="mui-scroll" id="mui-table-view-tab1">
<ul class="mui-table-view">
<li class="mui-table-view-cell mui-tab1" style="padding: 0;">
</li>
</ul>
</div>
</div>
</div>
<div id="item2mobile" class="mui-slider-item mui-control-content">
<div id="scroll1" class="mui-scroll-wrapper">
<div class="mui-scroll" id="mui-table-view-tab2">
<ul class="mui-table-view">
<li class="mui-table-view-cell mui-tab2" style="padding: 0;">
</li>
</ul>
</div>
</div>
</div>
</div>
</div>
</div>
<script src="../../js/mui.min.js"></script>
<script src="../../js/jquery.min.js" ></script>
<script src="../../js/mui.pullToRefresh.js"></script>
<script src="../../js/mui.pullToRefresh.material.js"></script>
<script src="../../js/template-web.js" type="text/javascript" charset="utf-8"></script>
<script src="../../js/utils.js" type="text/javascript" charset="utf-8"></script>
<script src="../../js/common.js" type="text/javascript" charset="utf-8"></script>
<script src="../../js/request.js" type="text/javascript" charset="utf-8"></script>
<script type="text/javascript">
var auditStatus = undefined,
selected = '.mui-tab1', // 默认选中内容区块 ,
selectTabs = 1;// 上架状态 1 待上架 2 已上架
if(window.plus) {
plusready();
} else {
document.addEventListener('plusready', plusready, false);
}
function plusready() {
plus.key.addEventListener('backbutton',function(){
plus.webview.currentWebview().close();
})
}
//去搜索页面
function toSearchPage (){
document.activeElement.blur(); // 隐藏软键盘
var params = {};
params.route = '../grounding/ground_not_list';
params.id = 'ground_not_list';
params.auditStatus = auditStatus;
params.selected = selected;
params.selectTabs = selectTabs;
params.module = 'grounding';
params.location = 'sub_list';
console.log(JSON.stringify(params))
common.openwin('../commonPages/searchPage',{ params: JSON.stringify(params) },false)
}
var acceptoodsVo = [],guid = '',scindex = '';
/*获取二维码返回值*/
function scaned(t, r, f) {
console.log(r);//返回二维码读取的数据
if(r && Array.isArray(acceptoodsVo) && acceptoodsVo.length >0){
var locationCode = acceptoodsVo.filter(function(item){
return item.positionName == r;
})[0];
if(locationCode){
mui.alert('扫描成功!','提示','确定',function (e) {
mui("select.select_actualStore").each(function () {
if(this.dataset.id && this.dataset.id == guid && this.dataset.index == scindex){
this.value = locationCode.id;
}
});
//document.getElementsByClassName('select_actualStore')[0].value = locationCode.id;
},'div')
}else{
mui.alert('扫描的货位码不在实际货位码可选集合中,请重新扫描!','提示','确定',function (e) {},'div')
}
}
}
(function($,$$) {
$.init({
beforeback: function() {
var list = plus.webview.currentWebview().opener();
mui.fire(list, 'pagefresh',{ selectTabs: 0 });
return true;
}
});
var deceleration = mui.os.ios?0.003:0.0009;
$('.mui-scroll-wrapper').scroll({
bounce: true,
indicators: true, //是否显示滚动条
deceleration:deceleration
});
var page = 1,
totalPage = undefined,
pageSize = 15,
isMore = true,
query = {},
checkType = undefined,
type = undefined,
distributeCode = undefined,
upFinishType = undefined;
var _url = '/a/shelfInfo/shelfInfoList',
groundUrl = '/a/checkacceptdetail/finish',
pageLeft = 1,
pageRight = 1,
totalPageLeft = undefined,
totalPageRight = undefined;
/* 渲染模板 */
var utils = new Utils();
utils.appendModule('#ground_list_tpl');
function template(selected, data, insertType){
utils.innerTplHtml('ground_list',selected, data, insertType);
}
/* 过滤还有备选货位的数据 */
function filterDatas(datas){
var list = datas.list;
var hasGround = datas.hasGround;
if(list && list.length && list.length > 1){
var list = datas.list,_list = [];
for(var i = 0,len = list.length;i<len;i++){
//存在备选上架货位
var realReceiveStore = [],realNum = [],storeType= [],upParentId = [],actualStore = [],realReceiveStoreName = [];
if(list[i].upParentId){//备选货位
//外部的
var outList = list.filter(function(item,index){
if(hasGround){
return (index != i && item.id == list[i].id && item.upParentId == null);
}else{
return (index != i && item.id == list[i].upParentId && item.upParentId == null);
}
});
//内部的
var innerList = _list.filter(function(item,index){
if(hasGround){
return (item.id == list[i].id && item.upParentId == null);
}else{
return (item.id == list[i].upParentId && item.upParentId == null);
}
});
list.forEach(function(item,index){
if(hasGround){
if(list[i].id == item.id){
realReceiveStore.push(item.realReceiveStore);
var realnum = item.realNum;
if(!item.upParentId){
realnum = item.realReceiveQuantiry;
}
realNum.push(realnum);
storeType.push(item.storeType);
upParentId.push(item.upParentId);
actualStore.push(item.actualStore);
realReceiveStoreName.push(item.realReceiveStoreName);
}
}else{
if(list[i].upParentId == item.id || list[i].id == item.id){
realReceiveStore.push(item.realReceiveStore);
var realnum = item.realNum;
if(!item.upParentId){
realnum = item.realReceiveQuantiry;
}
realNum.push(realnum);
storeType.push(item.storeType);
upParentId.push(item.upParentId);
actualStore.push(item.actualStore);
realReceiveStoreName.push(item.realReceiveStoreName);
}
}
})
if(innerList[0]){
innerList[0].realReceiveStore = realReceiveStore;
innerList[0].realNum = realNum;
var _store = storeType.map(function(item,index){
var text = "货位";
if(item == "补货指示货位"){
text = "指示货位";
}else if(item == "备选上架货位"){
text = "备选货位";
}
return text;
})
innerList[0].storeType = _store;
innerList[0].upParentId = upParentId;
innerList[0].actualStore = actualStore;
innerList[0].realReceiveStoreName = realReceiveStoreName;
}
}else{//指示货位
if(!list[i].realNum){
list[i].realNum = list[i].realReceiveQuantiry;
}
_list.push(list[i])
}
}
datas.list = _list;
return datas;
}else{
if(list[0] && !list[0].realNum){
list[0].realNum = list[0].realReceiveQuantiry;
}
return datas;
}
}
/*
下拉刷新
* */
function pulldownRefresh(){
var self = this;
pageLeft = 1;
pageRight = 1;
upFinishType = selectTabs === 1 ? '0': '1';
page = 1;
var postData = {
distributeCode: distributeCode,
upFinishType,upFinishType,
pageNo: 1,
pageSize: pageSize
};
if(query.hisDrugCode){
postData.hisDrugCode = query.hisDrugCode
}
query = {};
mui.ajaxRequest(_url,{
type: 'POST',
data: postData,
success: function(data){
var resData = data.data;
//过滤还有备选货位的数据
resData.hasGround = upFinishType === '0'? true: false;
var showData = filterDatas(resData);
totalPage = data.totalPage;
if(resData.list.length === 0 || (resData.list.length <= resData.pageSize && resData.pageNo === resData.totalPage)){
var i = selectTabs === 1 ? 0 : 1;
isMore = false;
self.endPullDownToRefresh(true);
document.querySelectorAll('.mui-pull-loading')[i].innerHTML = '没有更多数据';
}else{
isMore = true;
self.endPullDownToRefresh(false);
self.refresh(true);
}
return template(selected,showData, false)
},
error: function(xhr,type,errorThrown){
console.log(xhr.responseText)
}
});
}
/*
* 上拉加载更多
* */
function pullupRefresh(){
var self = this;
console.log(isMore,'isMore')
if(isMore){
page++;
mui.ajaxRequest(_url,{
type: 'POST',
data:{
distributeCode: distributeCode,
upFinishType,upFinishType,
pageNo: page,
pageSize: pageSize
},
success: function(data){
var resData = data.data;
var showData = filterDatas(resData);
resData.hasGround = upFinishType === '0'? true: false;
if(resData.pageNo === resData.totalPage){
isMore = false;
self.endPullUpToRefresh(true);
}else{
isMore = true;
self.endPullUpToRefresh(false);
self.refresh(true);
}
return template(selected,showData, true)
},
error: function(xhr,type,errorThrown){
console.log(xhr.responseText)
}
});
}else{
var i = selectTabs === 1 ? 0 : 1;
document.querySelector('.mui-pull-loading').innerHTML = '没有更多数据';
self.endPullUpToRefresh(true);
}
}
$.plusReady(function(){
window.addEventListener('pagefresh',function(event){
console.log('从详情回来')
console.log(JSON.stringify(event.detail))
let index = event.detail.selectTabs === 0 ? 0 : 1;
$$('.mui-placeholder').show();
$$('.mui-input-clear').val('');
if(index === 1){
mui('#slider').slider().gotoItem(1);
}
mui('.mui-scroll-wrapper').scroll()[index].scrollTo(0,0,100);
mui(".mui-scroll").pullToRefresh()[index].pullDownLoading();
});
// 触发刷新 搜索页面搜的值
window.addEventListener('sub_search',function(event){
console.log('从搜索页面回来')
console.log(JSON.stringify(event.detail) );
query = JSON.parse(event.detail.searchParams);
let index = event.detail.selectTabs === 1 ? 0 : 1;
console.log(query)
$$('.mui-placeholder').hide();
$$('.mui-input-clear').val(query.hisDrugName);
if(index === 1){
mui('#slider').slider().gotoItem(1);
}
mui('.mui-scroll-wrapper').scroll()[index].scrollTo(0,0,100);
setTimeout(function(){
mui(".mui-scroll").pullToRefresh()[index].pullDownLoading();
},300)
})
var params, currentSelected = undefined
var self = plus.webview.currentWebview();
params = JSON.parse(self.params);//获得参数
console.log(params)
distributeCode = params.distributecode;
currentSelected = params.currentSelected; // 当前选中tabs
upFinishType = currentSelected === 'left' ? '0': '1';
auditStatus = currentSelected === 'left' ? '1': '2';
selectTabs = currentSelected === 'left'? 1: 2;
if(currentSelected === 'left'){
$$('.batchAccetpance').show();
}else{
$$('.batchAccetpance').hide();
}
console.log(currentSelected)
//循环初始化所有下拉刷新,上拉加载。
$.each(document.querySelectorAll('.mui-scroll'), function(index, pullRefreshEl) {
$(pullRefreshEl).pullToRefresh({
down: {
style:'circle',
contentdown : "下拉可以刷新",
contentover : "释放立即刷新",
contentrefresh : "正在刷新...",
callback: pulldownRefresh
},
up: {
contentrefresh : "正在加载...",//可选,正在加载状态时,上拉加载控件上显示的标题内容
contentnomore:'没有更多数据',
callback: pullupRefresh
}
});
});
// 第一个tab 默认加载一次数据
mui(".mui-scroll").pullToRefresh()[0].pullDownLoading();
// 展开编辑
$('#slider').on('tap','.groundEdit',function(){
this.innerHTML = this.innerHTML === '收起编辑' ? '展开编辑':'收起编辑' ;
let index = this.dataset.index;
var editForm = document.querySelectorAll('.editForm')[index];
editForm.style.display = editForm.style.display === 'block' ? 'none': 'block';
})
var item2 = document.querySelector('#item2mobile');
var item1 = document.querySelector('#item1mobile');
document.getElementById('slider').addEventListener('slide', function(e) {
$$('.mui-input-clear').val('');
let index = e.detail.slideNumber;
if (index === 1) {
upFinishType = '1';
selected = '.mui-tab2';
selectTabs = 2;
mui('#slider').slider().gotoItem(1);
$$('.batchAccetpance').hide();
$('.mui-slider-group .mui-scroll .mui-tab2')[0].innerHTML = '';
if (!item2.querySelector('.am-card')) {
mui(".mui-slider-group .mui-scroll").pullToRefresh()[index].pullDownLoading();
}
}
if(index === 0){
upFinishType = '0';
selected = '.mui-tab1';
selectTabs = 1;
$$('.batchAccetpance').show();
mui('#slider').slider().gotoItem(0);
$('.mui-slider-group .mui-scroll .mui-tab1')[0].innerHTML = '';
if (!item1.querySelector('.am-card')) {
mui(".mui-slider-group .mui-scroll").pullToRefresh()[index].pullDownLoading();
}
}
});
//绑定点击事件 - 进入详情页
$('#slider').on('tap','.moreDetail',function(){
let id = this.getAttribute('data-id');
let upParentId = this.dataset.upparentid;
console.log(id)
let newData = {};
newData.id = id;
newData.upFinishType = upFinishType ;
newData.distributeCode = distributeCode;
newData.selectTabs = selectTabs;
newData.query = query;
newData.upParentId = upParentId;
console.log(newData)
document.activeElement.blur();
common.openwin('ground_detail',{ details: JSON.stringify(newData) },{
titleText: '详情'
})
});
/* 批量上架 */
$('.mui-bar').on('tap','.batchAccetpance',function(){
var paramsData = {};
paramsData.distributeCode = distributeCode;
paramsData.upFinishType = '0';
paramsData.selectTabs = 1;
paramsData.itemData = params;
console.log(paramsData)
common.openwin('ground_batch',{ params: JSON.stringify(paramsData) },false)
})
// 绑定事件 --确认上架
$('#slider').on('tap','.ground',function(){
document.activeElement.blur(); // 隐藏软键盘
let index = this.dataset.index;
var _this_card = document.querySelectorAll('.am-card')[index];
var edit = _this_card.querySelectorAll('.editForm');
var $$edit = $$(_this_card).find(".editForm");
var id = _this_card.dataset.id;
if(edit[0] && edit.length > 0){
var detailListVo = [],submitData = {};
mui.each(edit,function(index,item){
var postData = {};
var $$input = $$(item).find('input.realNum'),realNum = 0;
if($$input[0]){
realNum = $$input.val()-0;
}
var upParentId = item.dataset.upparentid;
if(typeof upParentId == "string" && upParentId == "0"){
upParentId = "";
}
var productBatchNo = _this_card.dataset.productbatchno;
var realReceiveStore =item.querySelector('.select_actualStore').value;
postData.id = id;
postData.realNum = realNum;
postData.productBatchNo = productBatchNo;
postData.realReceiveStore = realReceiveStore;
postData.upParentId = upParentId;
detailListVo.push(postData);
});
submitData.detailListVo = detailListVo;
submitData.distributeCode = distributeCode;
console.log(submitData)
}
var btnArray = ['否', '是'];
mui.confirm('是否确认上架?', '确认', btnArray, function(e) {
if (e.index == 1) {
mui.ajaxRequest(groundUrl,{
type: 'POST',
data: submitData,
contentType: "application/json",
showWaiting: true,
success: function(data){
if(data.code === 200){
//mui.toast('上架成功',{ type: 'div' });
mui.alert(data.data);
mui(".mui-scroll").pullToRefresh()[ selectTabs -1 ].pullDownLoading();
}else{
mui.alert(data.msg)
}
},
error: function(xhr,type,errorThrown){
console.log(xhr.responseText)
}
});
} else {
}
},'div')
});
//绑定点击事件 - 扫描
$('#slider').on('tap','#qrcode',function(){
var value = this.dataset.value;
if(value && typeof value == 'string' ){
value = JSON.parse(value);
}
acceptoodsVo = value?value.acceptoodsVo:[];
guid = value?value.id:'';
scindex = this.dataset.index;
common.openwin('../commonPages/qrcode',true,{ titleText: '扫码上架' })
});
//绑定输入实际上架数验证
$$('#slider').on('keyup','.realNum',function(){
var _this = this,$$this = $$(this);
var id = _this.dataset.id,realReceiveQuantiry = _this.dataset.realreceivequantiry-0,oldValue = _this.dataset.oldvalue-0;
_this.value = _this.value.replace(/\D/g,'')-0;
var count = 0;
var eles = mui(".am-input-control input[data-id='"+id+"']"),len = eles.length;
eles.each(function (e) {
count += this.value-0;
});
if(count > realReceiveQuantiry){
if(len == 2){
var text1 = "该药品存在“补货指示货位”和“备选上架货位”,两货位实际上架数量相加不能大于指示数量"+realReceiveQuantiry+"!";
mui.alert(text1,'提示','确定',function (e) {
_this.value = oldValue;
},'div')
}else{
var text1 = "实际上架数量不能大于指示数量"+realReceiveQuantiry+"!";
mui.alert(text1,'提示','确定',function (e) {
_this.value = oldValue;
},'div')
}
}
});
})
})(mui,jQuery);
</script>
</body>
</html>
\ No newline at end of file
<!--上架 - 列表页 - wwb-->
<!doctype html>
<html>
<head>
<meta charset="UTF-8">
<title></title>
<link rel="import" href="../../tpl/ground_card.html " id="card_view"/>
<meta name="viewport" content="width=device-width,initial-scale=1,minimum-scale=1,maximum-scale=1,user-scalable=no" />
<link href="../../css/mui.min.css" rel="stylesheet" />
<link href="../../css/themes.css" rel="stylesheet" />
<link href="../../css/index_view.css" rel="stylesheet" />
</head>
<body>
<header class="mui-bar mui-bar-nav themes_bg_color">
<a class="mui-action-back mui-icon mui-icon-left-nav mui-pull-left">
<label class="mui-pull-right theme_back_font">返回</label>
</a>
<h1 class="mui-title themes_title">上架</h1>
<a href="#modal" class="mui-pull-right" style="height: 45px;padding-top: 12px;">
<div class="qrcode" id="qrcode" onclick="clicked('../commonPages/qrcode',true,true)">
<img src="../../assest/qrcode.png" width="24" height="24"/>
</div>
</a>
</header>
<div class="mui-content">
<div class="mui-input-row mui-search search_head" onclick="toSearchPage()">
<input type="search" class="mui-input-clear" placeholder="上架单号" readonly="readonly" >
</div>
<div id="slider" class="mui-slider themes_tab mui-fullscreen" style="top: 102px;">
<div id="sliderSegmentedControl" class="mui-slider-indicator mui-segmented-control mui-segmented-control-inverted">
<a class="mui-control-item themes_font_color_tab" href="#item1mobile">待上架</a>
<a class="mui-control-item themes_font_color_tab" href="#item2mobile">已上架</a>
</div>
<div id="sliderProgressBar" class="mui-slider-progress-bar mui-col-xs-6"></div>
<div class="mui-slider-group">
<div id="item1mobile" class="mui-slider-item mui-control-content mui-active">
<div id="scroll1" class="mui-scroll-wrapper">
<div class="mui-scroll" id='mui-table-view-tab1'>
<ul class="mui-table-view">
<li class="mui-table-view-cell mui-tab1" style="padding: 0;"></li>
</ul>
</div>
</div>
</div>
<div id="item2mobile" class="mui-slider-item mui-control-content">
<div id="scroll2" class="mui-scroll-wrapper">
<div class="mui-scroll" id='mui-table-view-tab2'>
<ul class="mui-table-view">
<li class="mui-table-view-cell mui-tab2" style="padding: 0;"></li>
</ul>
</div>
</div>
</div>
</div>
</div>
</div>
<script src="../../js/mui.js"></script>
<script src="../../js/jquery.min.js" ></script>
<script src="../../js/mui.pullToRefresh.js"></script>
<script src="../../js/mui.pullToRefresh.material.js"></script>
<script src="../../js/template-web.js" type="text/javascript" charset="utf-8"></script>
<script src="../../js/utils.js" type="text/javascript" charset="utf-8"></script>
<script src="../../js/common.js" type="text/javascript" charset="utf-8"></script>
<script src="../../js/request.js" type="text/javascript" charset="utf-8"></script>
<script type="text/javascript">
var selectTabs = 1; // 默认选中第一个tab
function clicked(){
common.openwin('../commonPages/qrcode',true,{ titleText: '扫码上架' })
}
//去搜索页面
function toSearchPage (){
document.activeElement.blur(); // 隐藏软键盘
var params = {};
params.route = '../grounding/index';
params.module = 'grounding';
params.location = 'main_list';
params.selectTabs = selectTabs;
params.auditStatus = auditStatus;
common.openwin('../commonPages/searchPage',{ params: JSON.stringify(params) },false)
}
/*获取二维码返回值*/
function scaned(t, r, f) {
console.log(r);//返回二维码读取的数据
common.openwin('ground_list',{ targetId: r }, {
titleText: '药品信息'
})
}
(function($,doc,$$) {
$.init({
beforeback:function(){
var list = plus.webview.currentWebview().opener();
mui.fire(list, 'refresh',{ getCountFlag: true });
return true;
}
});
var deceleration = mui.os.ios?0.003:0.0009;
$('.mui-scroll-wrapper').scroll({
bounce: true,
indicators: true, //是否显示滚动条
deceleration:deceleration
});
var utils = new Utils();
utils.appendModule('#card_view');
/* 渲染模板 */
var selected = undefined,hasChecked = false,page = undefined, pageSize = 15,totalPage = undefined, query = {};
var checkType, type, shelfStatus// 上架类型 // 上架状态 1 待上架 2 已上架
var requestUrl = '/a/checkaccept/shelfList'; // 请求地址
var pageLeft = 1,
pageRight = 1,
totalPageLeft,
totalPageRight,
isMore = true,
selected = '.mui-tab1'; // 默认选中内容区块
function template(selected, data, insertType){
console.log(selected,'selected')
utils.innerTplHtml('ground', selected, data, insertType);
}
/*
下拉刷新
* */
function pulldownRefresh(){
pageLeft = 1;
pageRight = 1;
auditStatus = selectTabs === 1 ? '8': '4';
page = selectTabs === 1 ? pageLeft: pageRight;
var self = this;
var postData = {
auditStatus: auditStatus,
pageNo: page,
pageSize: pageSize
}
if(query.distributeCode){
postData.distributeCode = query.distributeCode;
postData.auditStatus = query.auditStatus;
}
mui.ajaxRequest(requestUrl,{
type: 'POST',
data: postData,
success: function(data){
var resData = data.data;
var total = resData.totalPage;
if(selectTabs === 1){
totalPageLeft = total;
}else{
totalPageRight = total;
}
if(resData.list.length === 0 || (resData.list.length <= resData.pageSize && resData.pageNo === resData.totalPage)){
var i = selectTabs === 1 ? 0 : 1;
document.querySelectorAll('.mui-pull-loading')[i].innerHTML = '没有更多数据';
isMore = false;
self.endPullDownToRefresh(true);
}else{
isMore = true;
self.endPullDownToRefresh(false);
self.refresh(true);
}
return template(selected,resData,false)
},
error: function(xhr,type,errorThrown){
console.log(xhr.responseText)
}
});
}
/*
* 上拉加载更多
* */
function pullupRefresh(){
var self = this;
if(isMore){
if(selectTabs === 1){
pageLeft ++
}else{
pageRight ++;
}
page = selectTabs === 1 ? pageLeft: pageRight;
totalPage = selectTabs === 1 ? totalPageLeft: totalPageRight;
auditStatus = selectTabs === 1 ? '8': '4';
if(page <= totalPage){
mui.ajaxRequest(requestUrl,{
type: 'POST',
data: {
auditStatus: auditStatus,
pageNo: page,
pageSize: pageSize
},
success: function(data){
var resData = data.data;
if(resData.pageNo === resData.totalPage){
isMore = false;
self.endPullUpToRefresh(true);
}else{
isMore = true;
self.endPullUpToRefresh(false);
self.refresh(true);
}
return template(selected,resData,true)
},
error: function(xhr,type,errorThrown){
console.log(xhr.responseText)
}
});
}
}else{
var i = selectTabs === 1 ? 0 : 1;
document.querySelectorAll('.mui-pull-loading')[i].innerHTML = '没有更多数据';
self.endPullUpToRefresh(true);
}
}
$.plusReady(function(){
// 触发刷新 搜索页面搜的值
window.addEventListener('search',function(event){
console.log(event.detail)
query.distributeCode = JSON.parse(event.detail.searchParams).distributeCode;
query.auditStatus = JSON.parse(event.detail.searchParams).auditStatus;
document.querySelector('.mui-input-clear').placeholder = '';
document.querySelector('.mui-placeholder').style.display = 'none';
document.querySelector('.mui-input-clear').value = query.distributeCode;
mui(".mui-slider-group .mui-scroll").pullToRefresh()[0].pullDownLoading();
})
// 页面刷新
window.addEventListener('pagefresh',function(e){
let index = e.detail.selectTabs === 0 ? 0: 1;
if(index === 1){
mui('#slider').slider().gotoItem(1);
}
mui('.mui-scroll-wrapper').scroll()[index].scrollTo(0,0,100);
mui(".mui-slider-group .mui-scroll").pullToRefresh()[index].pullDownLoading();
})
var item2 = document.querySelector('#item2mobile');
var item1 = document.querySelector('#item1mobile');
document.getElementById('slider').addEventListener('slide', function(e) {
$$('.mui-input-clear').val('');
let index = e.detail.slideNumber;
if (index === 1) {
selected = '.mui-tab2';
selectTabs = 2;
mui('#slider').slider().gotoItem(1);
$('.mui-slider-group .mui-scroll .mui-tab2')[0].innerHTML = '';
if (!item2.querySelector('.am-card')) {
mui(".mui-slider-group .mui-scroll").pullToRefresh()[index].pullDownLoading();
}
}
if(index === 0){
selected = '.mui-tab1';
selectTabs = 1;
mui('#slider').slider().gotoItem(0);
$('.mui-slider-group .mui-scroll .mui-tab1')[0].innerHTML = '';
if (!item1.querySelector('.am-card')) {
mui(".mui-slider-group .mui-scroll").pullToRefresh()[index].pullDownLoading();
}
}
});
//tab页切的点击事件
var sliderSegmentedControl = document.getElementById('sliderSegmentedControl');
$('.mui-input-group').on('change', 'input', function() {
if (this.checked) {
sliderSegmentedControl.className = 'mui-slider-indicator mui-segmented-control mui-segmented-control-inverted mui-segmented-control-' + this.value;
//force repaint
sliderProgressBar.setAttribute('style', sliderProgressBar.getAttribute('style'));
}
});
//循环初始化所有下拉刷新,上拉加载。
$.each(document.querySelectorAll('.mui-slider-group .mui-scroll'), function(index, pullRefreshEl) {
$(pullRefreshEl).pullToRefresh({
down: {
style:'circle',
contentdown : "下拉可以刷新",
contentover : "释放立即刷新",
contentrefresh : "正在刷新...",
callback: pulldownRefresh
},
up: {
contentrefresh : "正在加载...",//可选,正在加载状态时,上拉加载控件上显示的标题内容
contentnomore:'没有更多数据',
callback: pullupRefresh
}
});
});
// 第一个tab 默认加载一次数据
mui(".mui-slider-group .mui-scroll").pullToRefresh()[0].pullDownLoading();
//绑定点击事件 - 进入详情页
$('#slider').on('tap','.am-card',function(){
let id = this.getAttribute('data-id');
let itemData = this.dataset;
itemData.currentSelected = selectTabs === 1 ? 'left': 'right';
console.log(JSON.stringify(itemData))
document.activeElement.blur(); // 隐藏软键盘
console.log(id,'id');
let openwinUrl = selectTabs === 1 ? 'ground_not_list':'ground_list';
common.openwin(openwinUrl,{ params: JSON.stringify(itemData) }, false)
})
})
})(mui,document,jQuery);
</script>
</body>
</html>
\ No newline at end of file
<script type="text/html" id='ground_list'>
{{ each list value i}}
<div class="am-card scrollList-item am-card-full"
data-id="{{ value.id }}"
data-realnum="{{ value.realNum }}"
data-productBatchNo="{{ value.productBatchNo }}"
data-upParentId="{{ value.upParentId?value.upParentId:"" }}"
>
<div class="am-card-header">
<div class="am-card-header-content">
<span style="font-size: 18px; color: rgb(51, 51, 51); font-weight: bold;">
{{ value.ctmmGenericName ? value.ctmmGenericName:value.ctmmTradeName ? value.ctmmTradeName: '' }}</span>
</div>
<div class="am-card-header-extra">
<span>{{ value.type }}</span>
</div>
</div>
<div class="am-card-body">
<div class="am-flexbox am-flexbox-align-center">
<div class="am-flexbox-item">
单位:<span>{{ value.replanUnit }}</span>
</div>
<div class="am-flexbox-item">
数量:<span class="groundNum">{{ value.realReceiveQuantiry }}</span>
</div>
<div class="am-flexbox-item">
规格:<span>{{ value.ctmmSpecification }}</span>
</div>
</div>
{{ if hasGround }}
{{ if value.realNum && value.realNum.length && value.realNum.length > 1}}
{{ each value.realNum num index}}
<div class="editForm" style="display: block;" data-upParentId="{{ value.upParentId[index]?value.upParentId[index]:0 }}">
<div class="am-flexbox am-flexbox-align-center">
<div class="am-flexbox-item">
<div class="am-list-item am-input-item am-list-item-middle">
<div class="am-list-line">
<div class="am-input-label am-input-label-4 font-warning" style="width: 56px;">{{value.storeType[index]}}:</div>
<div class="am-input-control">
<select class="editInput select_actualStore" data-id="{{value.id}}" data-index="{{index}}">
{{ each value.acceptoodsVo item i }}
{{ if value.realReceiveStore[index] && value.realReceiveStore[index] === item.id }}
<option value="{{ item.id }}" selected="selected">{{ item.positionName }}</option>
{{ else }}
<option value="{{ item.id }}">{{ item.positionName }}</option>
{{ /if }}
{{ /each }}
</select>
</div>
</div>
</div>
</div>
<div class="am-flexbox-item">
扫描货位:
<a href="#modal" class="qrcode" id="qrcode" data-value="{{value}}" data-index="{{index}}" style="height: 32px;width: 32px;display: inline-block;">
<img src="../../assest/qrcode.png" style="width:100%;height: 100%;margin-bottom: -14px;" width="30" height="30"/>
</a>
</div>
<div class="am-flexbox-item">
<div class="am-list-item am-input-item am-list-item-middle">
<div class="am-list-line">
<div class="am-input-label am-input-label-6 font-warning">实际上架数量:</div>
<div class="am-input-control">
<input class="realNum flex-item-input" type="tel" value="{{ value.realNum[index] ? value.realNum[index] : 0}}" placeholder="请输入" data-id="{{value.id}}" data-oldValue = "{{value.realNum[index] ? value.realNum[index] : 0}}" data-realReceiveQuantiry = "{{ value.realReceiveQuantiry }}" />
</div>
</div>
</div>
</div>
</div>
</div>
{{/each}}
{{ else }}
<div class="editForm" style="display: block;" data-upParentId="{{ value.upParentId?value.upParentId:0 }}">
<div class="am-flexbox am-flexbox-align-center">
<div class="am-flexbox-item">
<div class="am-list-item am-input-item am-list-item-middle">
<div class="am-list-line">
<div class="am-input-label am-input-label-4 font-warning" style="width: 40px;">货位:</div>
<div class="am-input-control">
<select class="editInput select_actualStore" data-id="{{value.id}}" data-index="{{1}}">
{{ each value.acceptoodsVo item i }}
{{ if value.realReceiveStore === item.id }}
<option value="{{ item.id }}" selected="selected">{{ item.positionName }}</option>
{{ else }}
<option value="{{ item.id }}">{{ item.positionName }}</option>
{{ /if }}
{{ /each }}
</select>
</div>
</div>
</div>
</div>
<div class="am-flexbox-item">
扫描货位:
<a href="#modal" class="qrcode" id="qrcode" data-value="{{value}}" data-index="{{1}}" style="height: 32px;width: 32px;display: inline-block;">
<img src="../../assest/qrcode.png" style="width:100%;height: 100%;margin-bottom: -14px;" width="30" height="30"/>
</a>
</div>
<div class="am-flexbox-item">
<div class="am-list-item am-input-item am-list-item-middle">
<div class="am-list-line">
<div class="am-input-label am-input-label-6 font-warning">实际上架数量:</div>
<div class="am-input-control">
<input class="realNum flex-item-input" type="tel" value="{{ value.realNum ? value.realNum : 0}}" placeholder="请输入" data-id="{{value.id}}" data-oldValue = "{{value.realNum}}" data-realReceiveQuantiry = "{{ value.realReceiveQuantiry }}" />
</div>
</div>
</div>
</div>
</div>
</div>
{{ /if }}
{{ /if }}
<div class="am-flexbox am-flexbox-align-center">
<div class="am-flexbox-item">
生产厂家:<span>{{ value.ctmmManufacturerName }}</span>
</div>
</div>
</div>
<div class="am-card-footer">
<div class="am-card-footer-content"></div>
<div class="am-card-footer-extra">
<button type="button" class="mui-btn mui-btn-blue mui-btn-outlined moreDetail" data-id="{{ value.id }}" data-index="{{ i }}" data-upParentId="{{value.upParentId?value.upParentId:0}}" style="margin: 0 5px;">更多详情</button>
{{ if hasGround }}
<button type="button" class="mui-btn mui-btn-danger ground" data-id="{{ value.id }}" data-index="{{ i }}" >确认上架</button>
{{ /if }}
</div>
</div>
</div>
<div style="background-color: #f5f5f9; height: 6px;">
</div>
{{/each}}
</script>
\ No newline at end of file
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>Hello MUI</title>
<meta name="viewport" content="width=device-width, initial-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">
<link rel="stylesheet" href="../css/mui.min.css">
<style>
#close {
position: absolute;
width: 160px;
left: 50%;
margin-left: -80px;
/* bottom: 190px; */
bottom: 120px;
padding: 10px;
color: #fff;
border-color: #F2A11C;
background-color: #F2A11C;
}
.animate {
position: absolute;
left: 0;
bottom: 0;
width: 100%;
color: #fff;
display: -moz-box;
}
.animated {
position: absolute;
width: 100%;
height: 50px;
-webkit-animation-duration: 4s;
-webkit-animation-play-state: paused;
-webkit-animation-fill-mode: both;
}
.bounceInDown {
-webkit-animation-name: bounceInDown;
-webkit-animation-play-state: running;
-webkit-animation-delay: 1s;
display: block;
}
@-webkit-keyframes bounceInDown {
0%, 60%, 75%, 90%, 100% {
-webkit-animation-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000);
animation-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000);
}
0% {
opacity: 0;
-webkit-transform: translate3d(0, 2000px, 0);
transform: translate3d(0, 2000px, 0);
}
60% {
opacity: .8;
-webkit-transform: translate3d(0, 770px, 0);
transform: translate3d(0, 770px, 0);
}
100% {
opacity: 1;
-webkit-transform: translate3d(0, 750px, 0);
transform: translate3d(0, 750px, 0);
}
}
</style>
</head>
<body>
<div id="slider" class="mui-slider mui-fullscreen" style="background-color: #fff;">
<div class="mui-slider-group">
<!-- 第一张 -->
<div class="mui-slider-item">
<div class="animate guide-show">
<img src="../assest/guide-pic1.png"/>
</div>
</div>
<!-- 第二张 -->
<div class="mui-slider-item">
<div id="tips-2" class="animate mui-hidden">
<img src="../assest/guide-pic2.png"/>
</div>
</div>
<!-- 第三张 -->
<div class="mui-slider-item">
<div id="tips-3" class="animate mui-hidden">
<img src="../assest/guide-pic3.png"/>
</div>
<div class="animated bounceInDown">
<button id='close' class="mui-btn mui-btn-warning mui-btn-outlined">立即体验</button>
</div>
</div>
</div>
<div class="mui-slider-indicator">
<div class="mui-indicator mui-active"></div>
<div class="mui-indicator"></div>
<div class="mui-indicator"></div>
</div>
</div>
<script src="../js/mui.min.js"></script>
<script>
mui.back = function() {};
mui.plusReady(function() {
if(mui.os.ios){
plus.navigator.setFullscreen(true);
}
plus.navigator.closeSplashscreen();
});
//立即体验按钮点击事件
document.getElementById("close").addEventListener('tap', function(event) {
plus.storage.setItem("launchFlag", "true");
plus.navigator.setFullscreen(false);
// plus.webview.currentWebview().close();
mui.openWindow({
url:'login/index.html',
id:'login/index.html',
});
}, false);
//图片切换时,触发动画
document.querySelector('.mui-slider').addEventListener('slide', function(event) {
//注意slideNumber是从0开始的;
var index = event.detail.slideNumber+1;
if(index==2||index==3){
var item = document.getElementById("tips-"+index);
if(item.classList.contains("mui-hidden")){
item.classList.remove("mui-hidden");
item.classList.add("guide-show");
}
}
});
</script>
</body>
</html>
\ No newline at end of file
<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title></title>
<meta name="viewport" content="width=device-width,initial-scale=1,minimum-scale=1,maximum-scale=1,user-scalable=no" />
<link href="../../css/mui.css" rel="stylesheet" />
<link rel="stylesheet" type="text/css" href="../../css/themes.css" />
<link rel="stylesheet" type="text/css" href="../../css/home.css" />
<link rel="import" href="../../tpl/message.html" id="message" />
</head>
<body>
<header class="mui-bar mui-bar-nav themes_bg_color">
<h1 class="mui-title themes_title">药品物流管理系统</h1>
<div class="themes_font_color themes_nav_right mui-icon mui-icon-contact">
</div>
</header>
<div style="margin-top: 44px;">
<div class="home-card-wrapper">
<div class="home-card-title">我的工作</div>
<div class="home-card-content" style="height: 92px;">
<div class="mui-loading">
<div class="mui-spinner">
</div>
</div>
</div>
</div>
<div class="home-card-wrapper" style="padding: 16px">
<div class="home-card-title">提醒消息</div>
</div>
<div id="slider" class="mui-slider themes_tab mui-fullscreen" style="top: 260px;">
<div id="sliderSegmentedControl" class="mui-slider-indicator mui-segmented-control mui-segmented-control-inverted">
<a class="mui-control-item themes_font_color_tab mui-active" data-remindType='lowStock' href="#item1mobile">低库存提醒</a>
<a class="mui-control-item themes_font_color_tab" data-remindType='usefulDate' href="#item2mobile">近效期提醒</a>
</div>
<div id="sliderProgressBar" class="mui-slider-progress-bar mui-col-xs-6"></div>
<div class="mui-slider-group" id="message-list">
<div id="item1mobile" class="mui-slider-item mui-control-content mui-active">
<div id="scroll1" class="mui-scroll-wrapper">
<div class="mui-scroll" id='mui-table-view-tab1'>
<ul class="mui-table-view">
<li class="mui-table-view-cell mui-tab1" style="padding: 0;"></li>
</ul>
</div>
</div>
</div>
<div id="item2mobile" class="mui-slider-item mui-control-content">
<div id="scroll2" class="mui-scroll-wrapper">
<div class="mui-scroll" id='mui-table-view-tab2'>
<ul class="mui-table-view">
<li class="mui-table-view-cell mui-tab2" style="padding: 0;"></li>
</ul>
</div>
</div>
</div>
</div>
</div>
<!--<div id="message-list" class="mui-content mui-scroll-wrapper" style="margin-top: -16px;">
<div class="mui-scroll">
<ul class="mui-table-view mui-table-view-chevron">
</ul>
</div>
</div>-->
</div>
<script src="../../js/mui.js"></script>
<script src="../../js/mui.pullToRefresh.js"></script>
<script src="../../js/mui.pullToRefresh.material.js"></script>
<script src="../../js/template-web.js" type="text/javascript" charset="utf-8"></script>
<script src="../../js/utils.js" type="text/javascript" charset="utf-8"></script>
<script src="../../js/common.js" type="text/javascript" charset="utf-8"></script>
<script src="../../js/request.js" type="text/javascript" charset="utf-8"></script>
<script type="text/javascript">
(function ($, doc) {
var deceleration = mui.os.ios?0.003:0.0009;
$('.mui-scroll-wrapper').scroll({
bounce: true,
indicators: true, //是否显示滚动条
deceleration:deceleration
});
// 挂载模板
var utils = new Utils();
utils.appendModule('#message');
var nums = {}; // 数量
var remindType = 'lowStock', page = 1, pageSize = 15, totalPage = 0,
url = '/a/pad/drugremind/findPadRemindListTow',logoutUrl = '/a/logout';
var itemDesc = [
{
text: '验收',
url: '../acceptance/index',
src: '../../images/icon_check_before_acceptance.png'
},
{
text: '上架',
url: '../grounding/index',
src: '../../images/icon_grounding.png'
},
{
text: '拣货下架',
url: '../pickingOff/index',
src: '../../images/icon_lower_frame.png'
},
{
text: '盘点',
url: '../check/index',
src: '../../images/icon_inventory.png'
},
{
text: '库存查询',
url: '../stockQuery/index',
src: '../../images/icon_query.png'
},
{
text: '药品追溯',
url: '../trace/index',
src: '../../images/icon_trace.png'
},
{
text: '货位移动',
url: '../move/index',
src: '../../images/icon_move.png'
}
];
var basicMediclist = [
{
text: '验收',
url: '../basicMedicine/index',
src: '../../images/icon_query.png'
},
{
text: '库存查询',
url: '../stockQuery/index',
src: '../../images/icon_query.png'
}
];
var first = null;
// 监听返回按键 退出操作
document.addEventListener("plusready", function() {
// 注册返回按键事件
mui.back = function(){
 if (!first) {
            first = new Date().getTime();
            mui.toast('再按一次退出应用',{ type: 'div' });
            setTimeout(function() {
                first = null;
            }, 1000);
        } else {
            if (new Date().getTime() - first < 1000) {
mui.confirm('是否确定退出?','确定',['取消','确认'],function(event){
console.log(event.index)
if(event.index === 1){
mui.ajaxRequest(logoutUrl,{
type: 'GET',
data: {},
success: function(data){
if(data.code === 200){
console.log('退出了')
plus.runtime.quit();
}
},
error: function(){
mui.toast('网络异常,请稍后在试',{ type: 'div' });
}
})
}
},'div')
            }
        }
}
});
var selected = '.mui-tab1',
hasChecked = false,
query = {};
var pageLeft = 1,
pageRight = 1,
totalPageLeft,
totalPageRight,
isMore = true,
selectTabs = 1,
insertType = true;
// tab 切换事件
$('#sliderSegmentedControl').on('tap','.mui-control-item',function(){
remindType = this.dataset.remindtype;
url = remindType === 'lowStock' ? '/a/pad/drugremind/findPadRemindListTow': '/a/pad/drugremind/findPadRemindList';
// toTopResetRefresh(remindType);
})
function toTopResetRefresh(remindType){
page = 1;
pageSize = pageSize,
totalPage = 0;
setTimeout(function(){
let index = remindType === 'lowStock'? 0 : 1;
mui(".mui-slider-group .mui-scroll").pullToRefresh()[index].pullDownLoading();
},100)
}
function template(selected,data,insertType){
console.log(selected,'selected')
utils.innerTplHtml('message-tpl', selected, data, insertType,function(){
$('#message-list').on('tap','.message-detail',function(){
console.log(this.dataset,'dataset')
var dataset = this.dataset;
dataset.remindType = remindType;
common.openwin('./tips', {
tipId: JSON.stringify(dataset)
}, {
titleText: '提醒'
})
})
});
}
function pullupRefresh(){
var self = this;
console.log(isMore,'isMore')
if(isMore){
if(selectTabs === 1){
pageLeft ++;
}else{
pageRight ++;
}
page = selectTabs === 1 ? pageLeft: pageRight;
totalPage = selectTabs === 1 ? totalPageLeft: totalPageRight;
var postData = {
pageNo: page,
pageSize: pageSize
}
console.log(page,totalPage,'page','pageTotal')
// if(page < totalPage){
mui.ajaxRequest(url,{
type: 'POST',
data: postData,
success: function(data){
var resData = data.data;
if(resData.pageNo === resData.totalPage){
isMore = false;
self.endPullUpToRefresh(true);
}else{
isMore = true;
self.endPullUpToRefresh(false);
self.refresh(true);
}
return template(selected,resData,true)
},
error: function(xhr,type,errorThrown){
alert(xhr.responseText)
}
})
// }
}else{
var i = selectTabs === 1 ? 0 : 1;
document.querySelectorAll('.mui-pull-loading')[i].innerHTML = '没有更多数据';
self.endPullUpToRefresh(true);
}
}
function pulldownRefresh(){
var self = this;
if(selectTabs === 1){
pageLeft = 1
}else{
pageRight = 1;
}
page = selectTabs === 1 ? pageLeft: pageRight;
var postData = {
pageNo: 1,
pageSize: pageSize
}
mui.ajaxRequest(url,{
type: 'POST',
data: postData,
success: function(data){
var resData = data.data;
var total = resData.totalPage;
if(selectTabs === 1){
totalPageLeft = total;
}else{
totalPageRight = total;
}
page = resData.pageNo;
if(resData.list.length === 0 || (resData.list.length <= resData.pageSize && resData.pageNo === resData.totalPage)){
var i = selectTabs === 1 ? 0 : 1;
document.querySelectorAll('.mui-pull-loading')[i].innerHTML = '没有更多数据';
isMore = false;
self.endPullDownToRefresh(true);
}else{
isMore = true;
self.endPullDownToRefresh(false);
self.refresh(true);
}
return template(selected,resData,true)
},
error: function(xhr,type,errorThrown){
alert(xhr.responseText)
}
})
}
$.plusReady(function () {
window.addEventListener('refresh', function(e) {
if(e.detail.getCountFlag){
window.location.reload();
}
});
getCount(); // 获取数量
//循环初始化所有下拉刷新,上拉加载。
$.each(document.querySelectorAll('.mui-slider-group .mui-scroll'), function(index, pullRefreshEl) {
$(pullRefreshEl).pullToRefresh({
down: {
style:'circle',
contentdown : "下拉可以刷新",
contentover : "释放立即刷新",
contentrefresh : "正在刷新...",
callback: pulldownRefresh
},
up: {
height: 200,
contentrefresh : "正在加载...",//可选,正在加载状态时,上拉加载控件上显示的标题内容
contentnomore:'没有更多数据',
callback: pullupRefresh
}
});
});
// 第一个tab 默认加载一次数据
mui(".mui-slider-group .mui-scroll").pullToRefresh()[0].pullDownLoading();
var item2 = document.querySelector('#item2mobile');
var item1 = document.querySelector('#item1mobile');
document.getElementById('slider').addEventListener('slide', function(e) {
let index = e.detail.slideNumber;
if (index === 1) {
url = '/a/pad/drugremind/findPadRemindList';
selected = '.mui-tab2';
hasChecked = true;
selectTabs = 2;
if (!item2.querySelector('.am-card')) {
$('.mui-slider-group .mui-scroll .mui-tab2')[0].innerHTML = '';
mui(".mui-slider-group .mui-scroll").pullToRefresh()[index].pullDownLoading();
}
}
if(index === 0){
url = '/a/pad/drugremind/findPadRemindListTow'
selected = '.mui-tab1';
hasChecked = false;
selectTabs = 1;
if (!item1.querySelector('.am-card')) {
insertType = false;
$('.mui-slider-group .mui-scroll .mui-tab1')[0].innerHTML = '';
mui(".mui-slider-group .mui-scroll").pullToRefresh()[index].pullDownLoading();
}
}
});
function getExitsItem(){
if(plus.storage.getItem('currDept')){
document.querySelector('.home-card-content').innerHTML = '';
document.querySelector('.home-card-content').style.justifyContent = 'space-between';
var currDept = JSON.parse(plus.storage.getItem('currDept'));
if(currDept.deptType === '3' || currDept.deptType === '4'){
for(var i=0; i<itemDesc.length; i++){
var div = document.createElement('div');
div.className = 'home-card-item';
div.setAttribute('data-src', itemDesc[i].url);
var addHtml = '<img width="65" height="65" src=' + itemDesc[i].src + ' />'+
'<div class="home-card-text">'+ itemDesc[i].text +'</div>';
div.innerHTML = addHtml;
if(i < 3){
div.innerHTML = '<span class="mui-badge mui-badge-warning badge">'+ nums[i+1] +'</span>'+ addHtml
}
document.querySelector('.home-card-content').appendChild(div);
}
}else{
for(var i=0; i< 2; i++){
var div = document.createElement('div');
div.className = 'home-card-item';
var addHtml;
if(i === 0){
div.setAttribute('data-src', basicMediclist[0].url);
addHtml = '<span class="mui-badge mui-badge-warning badge">'+ nums[1] +'</span>' + '<img width="65" height="65" src=' + itemDesc[0].src + ' />'+
'<div class="home-card-text">'+ basicMediclist[0].text +'</div>';
}else{
div.setAttribute('data-src', basicMediclist[1].url);
addHtml = '<img width="65" height="65" src=' + basicMediclist[1].src + ' />'+
'<div class="home-card-text">'+ basicMediclist[1].text +'</div>';
}
div.innerHTML = addHtml;
document.querySelector('.home-card-content').appendChild(div);
document.querySelector('.home-card-content').style.justifyContent = 'space-around';
}
}
}else{
mui.toast('请重新登陆',{ type: 'div' });
common.openwin('../login/index',{})
}
}
// 获取数量
function getCount(){
mui.ajaxRequest('/a/pad/countUnCheck',{
type: 'POST',
data: {},
success: function(data){
if(data.code === 200){
nums = data.data;
getExitsItem(); // 获取当前用户所拥有的模块
}else{
console.log(data.msg)
}
},
error: function(xhr,type,errorThrown){
alert(xhr.responseText)
}
})
}
var btn = document.querySelector('.themes_nav_right')
btn.addEventListener('tap', function (e) {
common.openwin('./profile', {
tipId: this.dataset.id
}, {
titleText: '账号'
})
})
// 点击跳转
$('.home-card-content').on('tap', '.home-card-item',function() {
if(this.dataset.title){
common.openwin(this.dataset.src, {}, {
titleText: this.dataset.title,
isScan: true
})
}else{
common.openwin(this.dataset.src, {})
}
})
})
}(mui, document))
</script>
</body>
</html>
<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title></title>
<meta name="viewport" content="width=device-width,initial-scale=1,minimum-scale=1,maximum-scale=1,user-scalable=no" />
<link href="../../css/mui.css" rel="stylesheet" />
<style>
.theme_font_warning{
color: #f2a11c;
}
</style>
</head>
<body>
<div class="mui-content">
<ul class="mui-table-view">
<li class="mui-table-view-cell">
账号信息
<span class="mui-pull-right version" style="font-size: 14px;"></span>
</li>
</ul>
<ul class="mui-table-view" style='margin-top: 16px;'>
<li class="mui-table-view-cell">
系统信息
</li>
</ul>
<ul class="mui-table-view mui-table-view-radio">
</ul>
<div
style="width: 100%;margin-top: 16px;background: #f2a11c; text-align: center;color: #fff;"
class="mui-table-view-cell exit-btn"
>
退出
</div>
</div>
<script src="../../js/mui.js"></script>
<script src="../../js/common.js" type="text/javascript" charset="utf-8"></script>
<script type="text/javascript" src="../../js/request.js" ></script>
<script type="text/javascript">
(function ($, doc) {
var changeFlag = false;// 是否切换了系统
var logoutUrl = '/a/logout';
$.init({
beforeback: function() {
if(changeFlag){
var list = plus.webview.currentWebview().opener();
//触发列表界面的自定义事件(refresh),从而进行数据刷新
mui.fire(list, 'refresh',{ getCountFlag: true });
//返回true,继续页面关闭逻辑
return true;
}
}
})
$.plusReady(function() {
plus.runtime.getProperty(plus.runtime.appid, function(info){
console.log(info.version);
document.querySelector('.version').innerHTML = '当前版本V: '+ info.version;
});
var ul = document.body.querySelector('.mui-table-view-radio');
console.log(plus.storage.getItem('currDept'))
var deptId = JSON.parse(plus.storage.getItem('currDept')).deptId;
var btnArray = ['确认', '取消'];
if(plus.storage.getItem('deptList')){
var deptList = JSON.parse(plus.storage.getItem('deptList'));
for(var i=0; i<deptList.length; i++){
var li = document.createElement('li');
li.className = deptId === deptList[i].deptId ? 'mui-table-view-cell mui-selected theme_font_warning':'mui-table-view-cell';
li.setAttribute('data-id',deptList[i].deptId);
li.setAttribute('data-deptType',deptList[i].deptType);
li.setAttribute('data-deptname',deptList[i].deptName);
li.innerHTML = '<a class="mui-navigate-right">' + (deptList[i].deptName) + '</a>';
ul.appendChild(li)
}
};
mui('.mui-content').on('tap', '.exit-btn' ,function() {
mui.confirm('是否确认退出当前账号?', '确认', btnArray, function(e) {
if (e.index === 0) {
mui.ajaxRequest(logoutUrl,{
type: 'GET',
data: {},
success: function(data){
if(data.code === 200){
plus.storage.clear('searchHistory')
plus.storage.clear('currDept')
plus.storage.clear('deptList')
common.openwin('../login/index', {})
}
},
error: function(){
//mui.toast('网络异常,请稍后在试');
}
})
}
},'div')
})
mui('.mui-table-view-radio').on('tap','.mui-table-view-cell',function(){
var _this = this;
if(this.dataset.id === JSON.parse(plus.storage.getItem('currDept')).deptId){
return ;
}
mui.confirm('是否确认切换库房?', '确认', btnArray, function(e) {
if (e.index == 0) {
//与后台交互
var currentDept = {
deptName: _this.dataset.deptname,
deptId: _this.dataset.id,
deptType: _this.dataset.depttype,
lastSelect: true
}
let history = undefined;// 设置历史记录数据结构
if(currentDept.deptType === '3' || currentDept.deptType === '4' ){
history = {
'acceptance':{
'main_list': [],
'sub_list':[]
},
'grounding':{
'main_list': [],
'sub_list':[]
},
'pickingOff':{
'main_list': [],
'sub_list':[]
},
'stock':{
'main_list': [],
}
}
}else{
history = {
'basicMedicine':{
'main_list': [],
'sub_list':[]
},
'stock':{
'main_list': [],
}
}
}
plus.storage.setItem('currDept',JSON.stringify(currentDept));
console.log(plus.storage.getItem('currDept'));
var url = '/a/cacheCurrentDept/'+ currentDept.deptId
mui.ajaxRequest(url,{
type: 'get',
showWaiting: true,
success: function(data){
if(data.code === 200){
changeFlag = true;
plus.storage.setItem('searchHistory',JSON.stringify(history));
document.querySelector('.theme_font_warning').className = 'mui-table-view-cell'
mui.toast('切换系统成功',{ type: 'div' });
_this.className = 'mui-table-view-cell mui-selected theme_font_warning';
}else{
mui.toast('切换系统失败',{ div: 'type' });
}
},
error: function(xhr,type,errorThrown){
alert(xhr.responseText)
}
});
}
},'div')
//
})
})
}(mui, document))
</script>
</body>
</html>
<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title></title>
<meta name="viewport" content="width=device-width,initial-scale=1,minimum-scale=1,maximum-scale=1,user-scalable=no" />
<link href="../../css/mui.css" rel="stylesheet" />
<link rel="stylesheet" type="text/css" href="../../css/home.css" />
<link href="../../css/index_view.css" rel="stylesheet" />
<link rel="import" href="../../tpl/tips.html" id="tips" />
</head>
<body>
<div class="mui-content" id="tipDetail">
</div>
<script src="../../js/mui.js"></script>
<script src="../../js/template-web.js" type="text/javascript" charset="utf-8"></script>
<script src="../../js/utils.js" type="text/javascript" charset="utf-8"></script>
<script src="../../js/request.js" type="text/javascript" charset="utf-8"></script>
<script type="text/javascript">
(function($, doc) {
// 挂载模板
var utils = new Utils();
utils.appendModule('#tips');
$.plusReady(function() {
$.init();
plus.screen.lockOrientation("portrait-primary");
var self = plus.webview.currentWebview();
var params = JSON.parse(self.tipId);
console.log(params)
var detialData = { list: [] };
plus.nativeUI.showWaiting()
mui.ajaxRequest('/a/pad/drugreminddetail/findDrugRemindDetail',{
data: { id: params.id },
success: function(data){
plus.nativeUI.closeWaiting()
var result = data.data;
detialData.list.push(result)
detialData.title = params.title;
detialData.tipdate = params.tipdate;
detialData.remindType = params.remindType;
console.log(detialData)
template(detialData);
},
error: function(xhr,type,errorThrown){
alert(xhr.responseText)
}
})
});
function template(data){
utils.innerTplHtml('tips-tpl', '#tipDetail', data);
}
}(mui, document))
</script>
</body>
</html>
<!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 href="../css/mui.min.css" rel="stylesheet" />
<style type="text/css">
body {
background-color: black;
}
</style>
</head>
<body>
<script src="../js/mui.min.js"></script>
<script type="text/javascript" charset="utf-8">
mui.init();
mui.plusReady(function() {
/**
* 获取本地存储中launchFlag的值
* 若存在,说明不是首次启动,直接进入首页;
* 若不存在,说明是首次启动,进入引导页;
*/
var launchFlag = plus.storage.getItem("launchFlag");
if(launchFlag) {
mui.openWindow({
url: "login/index.html",
id: "login/index.html",
extras: {
mark: "index" //额外的参数,仅仅是个标识,实际开发中不用;
}
});
} else {
mui.openWindow({
url: "guide.html",
id: "guide"
});
}
});
</script>
</body>
</html>
\ No newline at end of file
input{font-family: '\5FAE\8F6F\96C5\9ED1','\9ED1\4F53','\5B8B\4F53'; -webkit-appearance: none;}
input,button,select,textarea{padding: 0;font: inherit;outline: none;border: 0;border-radius: 0;-webkit-tap-highlight-color: transparent;appearance: none;-webkit-appearance: none;background: transparent;line-height: normal;box-sizing: border-box;-webkit-writing-mode: horizontal-tb;outline: 0;resize: none;color: inherit;white-space: pre-wrap;word-wrap: break-word;-webkit-rtl-ordering: logical;user-select: text;/*flex-direction: column;*/}
input::-webkit-outer-spin-button,input::-webkit-inner-spin-button{-webkit-appearance: none !important; margin: 0;}
input[type=text],input[type=password]{
line-height: normal;
height: auto;
margin-bottom: inherit;
border: none;
outline: none;
background: none;
}
.ui-page-login,
body {
width: 100%;
height: 100%;
margin: 0px;
padding: 0px;
}
.mui-content{
height: 100%;
background: url(../../../assest/loginBg.jpg);
opacity: .8;
background-size: cover;
}
.am-title{
text-align: center;
font-size: 26px;
color: #F2A11C;
padding: 100px 0;
}
#login-form{
padding: 0 15px;
}
.am-input-row{
display: flex;
width: 100%;
height: 60px;
border: solid 1px goldenrod;
border-radius: 60px;
align-items: center;
justify-content: center;
padding: 0 15px;
margin-bottom: 20px;
}
.am-input-label{
width: 22%;
text-align: center;
}
.am-input-control{
width: 100%;
}
.am-input-control input{
width: 78%;
}
#login{
width: 100%;
border-radius: 40px;
margin-top: 36px;
}
<!DOCTYPE html>
<html class="ui-page-login">
<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 href="../../css/mui.min.css" rel="stylesheet" />
<link rel="stylesheet" type="text/css" href="css/style.css"/>
</head>
<body>
<div class="mui-content">
<div class="am-title">药品物流管理系统</div>
<form id='login-form'>
<div class="am-input-row">
<label class="am-input-label">
<img src="../../assest/userlogin.svg" height="24" width="24" />
</label>
<div class="am-input-control">
<input id='account' type="text" placeholder="请输入账号"/>
</div>
</div>
<div class="am-input-row">
<label class="am-input-label">
<img src="../../assest/password.svg" height="24" width="24" />
</label>
<div class="am-input-control">
<input id='password' type="password" placeholder="请输入密码"/>
</div>
</div>
</form>
<div class="mui-content-padded">
<button id='login' Readonly class="mui-btn mui-btn-block mui-btn-warning" data-loading-text = "登录中" data-loading-icon-position="right">登 录</button>
</div>
</div>
<script src="../../js/mui.min.js"></script>
<script src="../../js/common.js"></script>
<script type="text/javascript" src="../../js/request.js" ></script>
<script>
(function($, doc) {
$.init({
statusBarBackground: '#f7f7f7'
});
$.plusReady(function() {
plus.screen.lockOrientation("portrait-primary");
var loginButton = doc.getElementById('login');
var accountBox = doc.getElementById('account');
var passwordBox = doc.getElementById('password');
var btnArray = ['确认'];
loginButton.addEventListener('tap', function(event) {
document.activeElement.blur(); // 隐藏软键盘
if(!accountBox.value) return mui.toast('请输入用户名',{ type: 'div' });
if(!passwordBox.value) return mui.toast('请输入密码',{ type: 'div' });
mui(this).button('loading');
var _this = this;
mui.ajaxRequest('/a/entryPass/entryptPassword',{
type: 'POST',
data: {
password: passwordBox.value
},
success: function(data){
if(data.code === 200){
let entryPwd = data.data.password;
mui.ajaxRequest('/a/login',{
type: 'POST',
data: {
username: accountBox.value,
password: entryPwd
},
success: function(res){
mui(_this).button('reset');
if(res.code === 200){
console.log(res)
var flag = setUser(res.data);
if(!flag) return mui.toast('请重新进行登陆操作',{ duration:'long', type:'div' });
common.openwin('../home/index',{})
}else{
mui.toast(res.msg,{ type: 'div' });
mui(_this).button('reset');
}
},
error: function(xhr,type,errorThrown){
console.log(xhr.responseText)
}
})
}else{
mui.alert('账号或密码错误', '', btnArray, function(e) {
if (e.index == 0) {
// alert('你点击了是');
}
},'div')
}
},
error: function(xhr,type,errorThrown){
mui(_this).button('reset');
}
})
});
});
}(mui, document));
function setUser(res){
var deptInfo = res.deptInfo;
var deptList = [];
var currDept = {};
mui.each(deptInfo,function(index,item){
if(item.deptType === "3" || item.deptType === '4'|| item.deptType === '5'){
var deptItem = {
deptId: item.deptId,
deptType: item.deptType,
deptName: item.deptName,
lastSelect: item.lastSelect
}
if(item.lastSelect){
currDept = item;
}
deptList.push(deptItem);
}
});
currDept = currDept.deptId ? currDept: deptList[0];
plus.storage.setItem('currDept',JSON.stringify(currDept));
plus.storage.setItem('deptList',JSON.stringify(deptList));
// 后台设置当前选中库房
var url = '/a/cacheCurrentDept/'+ currDept.deptId
mui.ajaxRequest(url,{
type: 'get',
showWaiting: true,
success: function(data){
if(data.code === 200){
mui.toast('设置当前系统成功',{ type: 'div' });
let history = undefined;// 设置历史记录数据结构
if(currDept.deptType === '3' || currDept.deptType === '4' ){
history = {
'acceptance':{
'main_list': [],
'sub_list':[]
},
'grounding':{
'main_list': [],
'sub_list':[]
},
'pickingOff':{
'main_list': [],
'sub_list':[]
},
'stock':{
'main_list': [],
}
}
}else{
history = {
'acceptance':{
'main_list': [],
'sub_list':[]
},
'stock':{
'main_list': [],
}
}
}
plus.storage.setItem('searchHistory',JSON.stringify(history));
}else{
mui.toast('设置切换系统失败,请重新登陆',{ type: 'div' });
return false
}
},
error: function(xhr,type,errorThrown){
return false
}
});
return true
}
</script>
</body>
</html>
\ No newline at end of file
<!doctype html>
<html
<head>
<meta charset="UTF-8">
<title></title>
<meta name="viewport" content="width=device-width,initial-scale=1,minimum-scale=1,maximum-scale=1,user-scalable=no" />
<link href="../../css/mui.min.css" rel="stylesheet" />
<link href="../../css/themes.css" rel="stylesheet" />
<link href="../../css/index_view.css" rel="stylesheet" />
<link rel="import" href="./move_list_tpl.html" id="move_list"/>
<style>
.competition {
margin: 10px 0 0 0;
position: relative;
}
.competition>.head {
display: flex;
justify-content: flex-start;
align-items: center;
padding: 5px 0;
color: #333;
font-size: 16px;
background-color: #fff;
}
.mui-table-view-cell {
margin: 5px 7px!important;
padding: 0;
border-radius: 6px;
background: #efeff4!important;
}
.mrl-5{
margin-left: 5%;
}
.text-leart {
display: flex;
justify-content: flex-start;
align-items: center;
min-height: 150px;
margin-top: 10px;
background: #fff;
font-size: 16px;
padding-left: 5%;
}
.head-left, .head-right{
display: flex;
justify-content: flex-start;
align-items: center;
padding-left: 5%;
height: 100%;
width: 40%;
}
.head-right .qrcode{
display: flex;
justify-content: flex-start;
align-items: center;
}
.mui-row>[class*=mui-col-] {
line-height: 30px;
}
</style>
</head>
<body>
<header class="mui-bar mui-bar-nav themes_bg_color">
<a class="mui-action-back mui-icon mui-icon-left-nav mui-pull-left">
<label class="mui-pull-right theme_back_font">返回</label>
</a>
<h1 class="mui-title themes_title">货位移动</h1>
</header>
<div class="mui-content">
<div class="competition">
<div class="head">
<div class="head-left"><i class="mui-icon mui-icon-camera"></i>请扫描货位二维码</div>
<a href="#modal" class="head-right">
<div class="qrcode" id="qrcode" onclick="clicked()">
<img src="../../assest/qrcode.png" width="48" height="48"/>
</div>
</a>
</div>
<div id="content">
<div class="text-leart">
<div class="text-content">
<i class="mui-icon mui-icon-locked"></i>扫描货位成功后,即显示该货位对应商品!
</div>
</div>
</div>
</div>
</div>
<script src="../../js/mui.js"></script>
<script src="../../js/mui.pullToRefresh.js"></script>
<script src="../../js/mui.pullToRefresh.material.js"></script>
<script src="../../js/template-web.js" type="text/javascript" charset="utf-8"></script>
<script src="../../js/utils.js" type="text/javascript" charset="utf-8"></script>
<script src="../../js/common.js" type="text/javascript" charset="utf-8"></script>
<script src="../../js/request.js" type="text/javascript" charset="utf-8"></script>
<script type="text/javascript">
//货位码
var locationName = "";
function clicked(){
common.openwin('../commonPages/qrcode',true,{ titleText: '扫货位码' })
}
/*获取二维码返回值*/
function scaned(t, r, f) {
console.log(r+"二维码读取的数据");//返回二维码读取的数据
locationName = r;
getData(locationName);
}
//将tpl模板添加在页面上
var utils = new Utils();
utils.appendModule('#move_list');
//渲染模板
function renderTemplate(data, insertType){
utils.innerTplHtml('move_list_tpl', "#content", data, insertType);
}
function getData(locationName,refreshFlag){
var requestUrl = "/a/pad/locAdjust/getMedicinalLists";
console.log(locationName)
var postData = {locationName:locationName};
mui.ajaxRequest(requestUrl,{
type: 'POST',
data: postData,
success: function(data){
if(data.code == 200){
var resData = data.data;
var total = resData.detailVos.totalPage;
if(resData.detailVos.list.length == 0 || total == 0){
document.querySelectorAll('.text-content')[0].innerHTML = '此货位下没有商品!';
}else{
return renderTemplate(resData,false);
}
}else{
//继续移动,无数据,直接刷新
if(refreshFlag){
window.location.reload();
}else{
mui.alert(data.msg,'提示','确定',function (e) {},'div');
}
}
},
error: function(xhr,type,errorThrown){
console.log(xhr.responseText)
}
});
}
(function($,window) {
$.init({
beforeback:function(){
var list = plus.webview.currentWebview().opener();
mui.fire(list, 'refresh',{ getCountFlag: true });
var cur= plus.webview.currentWebview();
plus.webview.close(cur.id)
return true;
}
});
$.plusReady(function(){
window.addEventListener('pagefresh',function(event){
console.log(JSON.stringify(event.detail))
//var datas = JSON.parse(event.detai);
if(typeof event.detail.params == "string"){
var params = JSON.parse(event.detail.params);
oldLocationName = params.oldLocationName;
getData(oldLocationName,true);
}
})
//绑定点击事件(移动) - 进入详情页
$('#content').on('tap','.moveDrugs',function(event){
var dataset = event.target.dataset;
common.openwin('moveDetail',{ params: JSON.stringify({dataset}) },false)
})
})
})(mui,window);
</script>
</body>
</html>
\ No newline at end of file
<!--上架 - 详情页 - wwb-->
<!doctype html>
<html>
<head>
<meta charset="UTF-8">
<title></title>
<meta name="viewport" content="width=device-width,initial-scale=1,minimum-scale=1,maximum-scale=1,user-scalable=no" />
<link href="../../css/mui.min.css" rel="stylesheet" />
<link href="../../css/themes.css" rel="stylesheet" />
<link href="../../css/check.css" rel="stylesheet"/>
<link href="../../css/index_view.css" rel="stylesheet" />
<link rel="import" href="./move_new_tpl.html" id="move_new"/>
<style>
.competition {
margin: 10px 0 0 0;
position: relative;
}
.competition>.head {
display: flex;
justify-content: flex-start;
align-items: center;
padding: 5px 0;
color: #333;
font-size: 16px;
background-color: #fff;
}
.mui-table-view-cell {
margin: 5px 7px!important;
padding: 0;
border-radius: 6px;
background: #efeff4!important;
}
.mrl-5{
margin-left: 5%;
}
.text-leart {
display: flex;
justify-content: flex-start;
align-items: center;
min-height: 150px;
margin-top: 10px;
background: #fff;
font-size: 16px;
padding-left: 5%;
}
.head-left, .head-right{
display: flex;
justify-content: flex-start;
align-items: center;
padding-left: 5%;
height: 100%;
width: 40%;
}
.head-right .qrcode{
display: flex;
justify-content: flex-start;
align-items: center;
}
.mui-checkbox-content{
margin-bottom: 20px;
display: flex;
justify-content: center;
align-items: center;
font-size: 20px;
}
.mui-checkbox input[type=checkbox]{
position: unset !important;
}
.mui-checkbox label, .mui-radio label {
width: auto !important;
padding-right: 0 !important;
}
</style>
</style>
</head>
<body>
<header class="mui-bar mui-bar-nav themes_bg_color">
<a class="mui-action-back mui-icon mui-icon-left-nav mui-pull-left">
<label class="mui-pull-right theme_back_font">返回</label>
</a>
<h1 class="mui-title themes_title">货位移动详情</h1>
</header>
<div class="mui-content">
<div class="competition">
<div class="head">
<div class="head-left"><i class="mui-icon mui-icon-camera"></i>请扫描新货位</div>
<a href="#modal" class="head-right">
<div class="qrcode" id="qrcode">
<img src="../../assest/qrcode.png" width="48" height="48"/>
</div>
</a>
</div>
<div id="content">
<div class="text-leart">
<div class="text-content">
<i class="mui-icon mui-icon-locked"></i>扫描货位成功后,即可操作移动到新货位!
</div>
</div>
</div>
</div>
</div>
<script src="../../js/mui.min.js"></script>
<script src="../../js/jquery.min.js"></script>
<script src="../../js/template-web.js" type="text/javascript" charset="utf-8"></script>
<script src="../../js/utils.js" type="text/javascript" charset="utf-8"></script>
<script src="../../js/common.js" type="text/javascript" charset="utf-8"></script>
<script src="../../js/request.js" type="text/javascript" charset="utf-8"></script>
<script type="text/javascript">
//货位码
var locationName = "",storeId = "",medName = "";
/*获取二维码返回值*/
function scaned(t, r, f) {
console.log(r+"二维码读取的数据");//返回二维码读取的数据
locationName = r;
judgeLocationMove(locationName)
}
// 判断是否可以进行货位移动
function judgeLocationMove(locationName){
var requestUrl = "/a/pad/locAdjust/findNewLocInfo";
var postData = {locationName:locationName,storeId:storeId};
mui.ajaxRequest(requestUrl,{
type: 'POST',
data: postData,
success: function(data){
if(data.code == 200){
if(data.data.returnFla){
var sendData = data.data;
renderTemplate(sendData,false);
}else{
mui.alert(medName+"不能移动到货位:"+locationName+"下,请重新扫描货位码!",'提示','确定',function (e) {},'div')
}
}else{
mui.alert(data.msg,'提示','确定',function (e) {},'div')
}
},
error: function(xhr,type,errorThrown){
console.log(xhr.responseText)
}
});
}
//将tpl模板添加在页面上
var utils = new Utils();
utils.appendModule('#move_new');
//渲染模板
function renderTemplate(data, insertType){
utils.innerTplHtml('move_new_tpl', "#content", data, insertType);
}
(function($) {
$.plusReady(function(){
var self = plus.webview.currentWebview();
var params = JSON.parse(self.params);//获得参数
var paramData = params.dataset;
var oldLocationName = paramData.locationname;
//绑定点击事件(移动) - 进入详情页
$('#content').on('tap','.confirmMove',function(event){
var target = event.target,locationName = target.dataset.locationname,
targetLocId = target.dataset.targetlocid,
conversionRate = target.dataset.conversionrate,checked = false;
checked = $('#content input[type=checkbox]')[0].checked;
var btnArray = ['否', '是'];
mui.confirm('是否确认移动?','警告',btnArray,function(e){
if (e.index == 1) {
var requestUrl = "/a/pad/locAdjust/submitLocJust";
var postData = {
locationName:locationName,
targetLocId:targetLocId,
conversionRate:conversionRate,
storeId:storeId,
locAdjustNum:paramData.usablequantity,
locUnitCode:paramData.unitcode
};
if(checked){
postData.isEditLoc = 1;
}
mui.ajaxRequest(requestUrl,{
type: 'POST',
data: postData,
success: function(data){
if(data.code == 200){
mui.toast('提交成功');
var parmasData = {};
parmasData.finishUrl = '../home/index';
parmasData.keepUrl = '../move/index';
parmasData.resultType = 'move';
parmasData.itemData = {oldLocationName:oldLocationName};
common.openwin('../result/index',{ parmas: JSON.stringify(parmasData) },{
titleText: '结果',
autoBackButton: false
})
}else{
mui.alert(data.msg,'提示','确定',function (e) {},'div')
}
},
error: function(xhr,type,errorThrown){
console.log(xhr.responseText)
}
});
}
},'div');
});
//点击扫描
$('.head').on('tap','#qrcode',function(event){
var target = event.target;
storeId = paramData.id,medName = paramData.name;
common.openwin('../commonPages/qrcode',true,{ titleText: '扫货位码' })
});
})
})(mui);
</script>
</body>
</html>
\ No newline at end of file
<!-- 扫货下列显示 -->
<script type="text/html" id='move_list_tpl'>
<div class="mui-card">
<!--页眉,放置标题-->
<div class="mui-card-header" data-id="{{locationId}}">货位:{{locationName}}</div>
<!--内容区-->
<div class="mui-card-content">
<ul class="mui-table-view" id="list_warp">
{{ each detailVos.list value i}}
<li class="mui-table-view-cell mui-media">
<div class="mui-media-body" style="padding: 3%;">
<div class="mui-col-xs-12 mui-ellipsis mui-h4" style="font-weight: bold;margin-bottom: 8px;">{{value.medicinalDesc}}</div>
<div class="mui-row">
<span class="mui-col-xs-8 mui-ellipsis">规格:{{value.ctmmSpecification}}</span>
<span class="mui-col-xs-2" style="position: absolute;top: 25%;right: 2%;">
<button data-locationName="{{locationName}}" data-id="{{value.storeId}}" data-name="{{value.medicinalDesc}}" data-usableQuantity="{{value.usableQuantity}}" data-unitCode="{{value.unitCode}}"
style="height: 60px;box-shadow: 4px -4px 4px #888888;" type="button"
class="mui-btn mui-btn-warning moveDrugs">移动</button>
</span>
<span class="mui-col-xs-10 mui-ellipsis">厂商:{{value.ctmmManufacturerName}}</span>
<span class="mui-col-xs-6 mui-ellipsis">单位:{{value.unit}}</span>
<span class="mui-col-xs-6 mui-ellipsis">数量:{{value.usableQuantity}}</span>
<span class="mui-col-xs-8 mui-ellipsis">生产批号:{{value.lot}}</span>
<span class="mui-col-xs-6 mui-ellipsis">生产日期:{{value.productDate}}</span>
<span class="mui-col-xs-6 mui-ellipsis">有效期至:{{value.validEndDate}}</span>
</p>
</div>
</li>
{{/each}}
</ul>
</div>
</div>
</script>
\ No newline at end of file
<!-- 扫货下列显示 -->
<script type="text/html" id='move_new_tpl'>
<div class="mui-card">
<!--页眉,放置标题-->
<div class="mui-card-header">新货位:{{locationName}}</div>
<!--内容区-->
<div class="mui-card-content" style="padding: 20px 0;">
<div class="mui-checkbox-content mui-checkbox">
<input name="checkbox" value="item" type="checkbox">
<label>以后入库的也放在这里</label>
</div>
<div style="text-align: center;">
<button data-locationName="{{locationName}}" data-targetLocId="{{locationId}}" data-conversionRate="{{conversionRate}}"
style="height: 50px;width: 100px;box-shadow: 4px -4px 4px #888888;" type="button"
class="mui-btn mui-btn-warning confirmMove">确认移动</button>
</div>
</div>
</div>
</script>
\ No newline at end of file
<script type="text/html" id='detail_tpl'>
<div style="margin-top:10px;">
{{ each list value i }}
<ul class="mui-table-view" style="margin-bottom:8px;">
<li class="mui-table-view-cell mui-collapse mui-active">
<a class="mui-navigate-right" href="#">单据信息</a>
<div class="mui-collapse-content">
<div class="mui-input-row">
<label>拣货单号</label>
<p class="detailRow_content">{{ pickingOredr ? pickingOredr: ''}}</p>
</div>
<div class="mui-input-row">
<label>单号</label>
<p class="detailRow_content">{{ applyOrder ? applyOrder: ''}}</p>
</div>
<div class="mui-input-row">
<label>申领部门</label>
<p class="detailRow_content">{{ applyDeptName ? applyDeptName: ''}}</p>
</div>
<div class="mui-input-row">
<label>状态</label>
<p class="detailRow_content">{{ value.status === 0 ? '待拣货': '已拣货' }}</p>
</div>
<div class="mui-input-row">
<label>拣货人</label>
<p class="detailRow_content">{{ pickingUserName ? pickingUserName: '' }}</p>
</div>
<div class="mui-input-row">
<label>拣货时间</label>
<p class="detailRow_content">{{ pickingTime ? pickingTime: ''}}</p>
</div>
</div>
</li>
</ul>
<ul class="mui-table-view" style="margin-bottom:8px;">
<li class="mui-table-view-cell mui-collapse mui-active">
<a class="mui-navigate-right" href="#">产品信息</a>
<div class="mui-collapse-content">
<div class="mui-input-row">
<label>通用名</label>
<p class="detailRow_content">{{value.ctmmGenericName}}</p>
</div>
<div class="mui-input-row">
<label>规格</label>
<p class="detailRow_content">{{value.ctmmSpecification}}</p>
</div>
<div class="mui-input-row">
<label>生产厂家</label>
<p class="detailRow_content">{{value.ctmmManufacturerName}}</p>
</div>
<div class="mui-input-row">
<label>生产批号</label>
<p class="detailRow_content">{{value.lot}}</p>
</div>
<div class="mui-input-row">
<label>生产日期</label>
<p class="detailRow_content">{{value.productDate}}</p>
</div>
<div class="mui-input-row">
<label>有效期至</label>
<p class="detailRow_content">{{value.validEndDate}}</p>
</div>
<div class="mui-input-row">
<label>包装规格</label>
<p class="detailRow_content">{{value.packageSpecification}}</p>
</div>
<div class="mui-input-row">
<label>单位</label>
<p class="detailRow_content">{{value.replanUnit}}</p>
</div>
<div class="mui-input-row">
<label>指示货位</label>
<p class="detailRow_content">{{value.locName}}</p>
</div>
<div class="mui-input-row">
<label>数量</label>
<p class="detailRow_content">{{value.allocationNum}}</p>
</div>
<div class="mui-input-row">
{{ if hasPicked }}
<label class='font-warning'>实际下架数量</label>
<input class="mui-input editInput relNum" type="number" pattern="[0-9]*" value="{{ value.allocationNum }}" />
{{ else }}
<label>实际下架数量</label>
<p class="detailRow_content">{{ value.pickingNum }}</p>
{{ /if }}
</div>
</div>
</li>
</ul>
{{ /each }}
</div>
</script>
\ No newline at end of file
<!--拣货下架 - 列表页 - yuweI-->
<!doctype html>
<html
<head>
<meta charset="UTF-8">
<title></title>
<meta name="viewport" content="width=device-width,initial-scale=1,minimum-scale=1,maximum-scale=1,user-scalable=no" />
<link href="../../css/mui.min.css" rel="stylesheet" />
<link href="../../css/themes.css" rel="stylesheet" />
<link href="../../css/index_view.css" rel="stylesheet" />
<link rel="import" href="../../tpl/pickOff_card_index.html" id="card_view"/>
<style>
.am-card-body{
padding: 6px 15px 6px !important;
}
.am-card{
min-height: auto;
}
</style>
</head>
<body>
<header class="mui-bar mui-bar-nav themes_bg_color">
<a class="mui-action-back mui-icon mui-icon-left-nav mui-pull-left">
<label class="mui-pull-right theme_back_font">返回</label>
</a>
<h1 class="mui-title themes_title">拣货下架</h1>
<a href="#modal" class="mui-pull-right" style="height: 45px;padding-top: 12px;">
<div class="qrcode" id="qrcode" onclick="clicked('../commonPages/qrcode',true,true)">
<img src="../../assest/qrcode.png" width="24" height="24"/>
</div>
</a>
</header>
<div class="mui-content">
<div class="mui-input-row mui-search search_head" onclick="toSearchPage()">
<input type="search" class="mui-input-clear" readonly="readonly" placeholder="下架单号">
</div>
<div id="slider" class="mui-slider themes_tab mui-fullscreen" style="top: 102px;">
<div id="sliderSegmentedControl" class="mui-slider-indicator mui-segmented-control mui-segmented-control-inverted">
<a class="mui-control-item themes_font_color_tab" href="#item1mobile">待拣货</a>
<a class="mui-control-item themes_font_color_tab" href="#item2mobile">已拣货</a>
</div>
<div id="sliderProgressBar" class="mui-slider-progress-bar mui-col-xs-6"></div>
<div class="mui-slider-group">
<div id="item1mobile" class="mui-slider-item mui-control-content mui-active">
<div id="scroll1" class="mui-scroll-wrapper">
<div class="mui-scroll" id='mui-table-view-tab1'>
<ul class="mui-table-view special_list">
<li class="mui-table-view-cell mui-tab1" style="padding: 0;"></li>
</ul>
</div>
</div>
</div>
<div id="item2mobile" class="mui-slider-item mui-control-content">
<div id="scroll2" class="mui-scroll-wrapper">
<div class="mui-scroll" id='mui-table-view-tab2'>
<ul class="mui-table-view special_list">
<li class="mui-table-view-cell mui-tab2" style="padding: 0;"></li>
</ul>
</div>
</div>
</div>
</div>
</div>
</div>
<script src="../../js/mui.js"></script>
<script src="../../js/mui.pullToRefresh.js"></script>
<script src="../../js/mui.pullToRefresh.material.js"></script>
<script src="../../js/template-web.js" type="text/javascript" charset="utf-8"></script>
<script src="../../js/utils.js" type="text/javascript" charset="utf-8"></script>
<script src="../../js/common.js" type="text/javascript" charset="utf-8"></script>
<script src="../../js/request.js" type="text/javascript" charset="utf-8"></script>
<script type="text/javascript">
var queryType = undefined,// 下架状态 5 待下架 6 已下架
selectTabs = 1;
function clicked(){
common.openwin('../commonPages/qrcode',true,{ titleText: '扫码下架' })
}
// //去搜索页面
function toSearchPage (){
document.activeElement.blur(); // 隐藏软键盘
var params = {};
params.route = '../pickingOff/index';
params.auditStatus = queryType;
params.selectTabs = selectTabs;
params.location = 'main_list';// 主列表
params.module = 'pickingOff';// 所属模块
common.openwin('../commonPages/searchPage',{ params: JSON.stringify(params) },false)
}
/*获取二维码返回值*/
function scaned(t, r, f) {
console.log(r);//返回二维码读取的数据
common.openwin('pickingOffList',{ targetId: r },{
titleText: '药品信息'
})
}
(function($) {
$.init({
beforeback:function(){
var list = plus.webview.currentWebview().opener();
mui.fire(list, 'refresh',{ getCountFlag: true });
return true;
}
});
var deceleration = mui.os.ios?0.003:0.0009;
$('.mui-scroll-wrapper').scroll({
bounce: true,
indicators: true, //是否显示滚动条
deceleration:deceleration
});
var utils = new Utils();
utils.appendModule('#card_view');
var selected = undefined,hasChecked = false,page = undefined, pageSize = 15,totalPage = undefined, query = {};
var checkType, type;
var requestUrl = '/a/common/pickingorder/list'; // 请求地址
var pageLeft = 1, pageRight = 1, totalPageLeft, totalPageRight, isMore = true;
currSelected();
var searchPlaceholder = undefined;
var search_clear = undefined;
function template(selected, data, insertType){
utils.innerTplHtml('pick_list', selected, data, insertType);
}
function currSelected(){
var item1mobile = document.querySelector('#item1mobile');
var item2mobile = document.querySelector('#item2mobile');
if(item1mobile.className.indexOf('mui-active')>0){
selected = '.mui-tab1';
hasChecked = false;
selectTabs = 1;
}else{
selected = '.mui-tab2';
hasChecked = true;
selectTabs = 2;
}
}
/*
下拉刷新
* */
function pulldownRefresh(){
if(selectTabs === 1){
pageLeft = 1
}else{
pageRight = 1;
}
queryType = selectTabs === 1 ? '5': '6';
page = selectTabs === 1 ? pageLeft: pageRight;
var self = this;
var postData = {
queryType: queryType,
pageNo: page,
pageSize: pageSize,
}
if(query.applyOrderNo){
postData.applyOrderNo = query.applyOrderNo;
}
query = {};
mui.ajaxRequest(requestUrl,{
type: 'POST',
data: postData,
success: function(data){
var resData = data.data;
var total = resData.totalPage;
if(selectTabs === 1){
totalPageLeft = total;
}else{
totalPageRight = total;
}
if(resData.list.length === 0 || (resData.list.length <= resData.pageSize && resData.pageNo === resData.totalPage)){
var i = selectTabs === 1 ? 0 : 1;
isMore = false;
self.endPullDownToRefresh(true);
document.querySelectorAll('.mui-pull-loading')[i].innerHTML = '没有更多数据';
}else{
isMore = true;
self.endPullDownToRefresh(false);
self.refresh(true);
}
return template(selected,resData,false)
},
error: function(xhr,type,errorThrown){
console.log(xhr.responseText)
}
});
}
/*
* 上拉加载更多
* */
function pullupRefresh(){
var self = this;
if(isMore){
if(selectTabs === 1){
pageLeft ++
}else{
pageRight ++;
}
page = selectTabs === 1 ? pageLeft: pageRight;
totalPage = selectTabs === 1 ? totalPageLeft: totalPageRight;
queryType = selectTabs === 1 ? '5': '6';
if(page <= totalPage){
mui.ajaxRequest(requestUrl,{
type: 'POST',
data: {
queryType: queryType,
pageNo: page,
pageSize: pageSize,
},
contentType: "application/json",
success: function(data){
var resData = data.data;
if(resData.pageNo === resData.totalPage){
isMore = false;
self.endPullUpToRefresh(true);
}else{
isMore = true;
self.endPullUpToRefresh(false);
self.refresh(true);
}
return template(selected,resData,true);
},
error: function(xhr,type,errorThrown){
console.log(xhr.responseText)
}
});
}
}else{
var i = selectTabs === 1 ? 0 : 1;
document.querySelectorAll('.mui-pull-loading')[i].innerHTML = '没有更多数据';
self.endPullUpToRefresh(true);
}
}
$.plusReady(function(){
searchPlaceholder = document.querySelector('.mui-placeholder');
search_clear = document.querySelector('.mui-input-clear');
console.log(searchPlaceholder)
// 触发刷新 搜索页面搜的值
window.addEventListener('search',function(event){
console.log(event.detail)
query.applyOrderNo = JSON.parse(event.detail.searchParams).pickingOrderNo;
query.queryType = JSON.parse(event.detail.searchParams).auditStatus;
search_clear.placeholder = '';
searchPlaceholder.style.display = 'none';
search_clear.value = query.applyOrderNo;
mui(".mui-slider-group .mui-scroll").pullToRefresh()[0].pullDownLoading();
})
// 页面刷新
window.addEventListener('pagefresh',function(){
// mui('.mui-scroll-wrapper').scroll()[index].scrollTo(0,0,100);
mui(".mui-slider-group .mui-scroll").pullToRefresh()[0].pullDownLoading();
})
//循环初始化所有下拉刷新,上拉加载。
$.each(document.querySelectorAll('.mui-slider-group .mui-scroll'), function(index, pullRefreshEl) {
$(pullRefreshEl).pullToRefresh({
down: {
style:'circle',
contentdown : "下拉可以刷新",
contentover : "释放立即刷新",
contentrefresh : "正在刷新...",
callback: pulldownRefresh
},
up: {
contentrefresh : "正在加载...",//可选,正在加载状态时,上拉加载控件上显示的标题内容
contentnomore:'没有更多数据了',
callback: pullupRefresh
}
});
});
// 第一个tab 默认加载一次数据
mui(".mui-slider-group .mui-scroll").pullToRefresh()[0].pullDownLoading();
var item2 = document.querySelector('#item2mobile');
var item1 = document.querySelector('#item1mobile');
document.getElementById('slider').addEventListener('slide', function(e) {
let index = e.detail.slideNumber;
if (index === 1) {
queryType = '6';
selected = '.mui-tab2';
hasChecked = false;
selectTabs = 2;
$('.mui-slider-group .mui-scroll .mui-tab2')[0].innerHTML = '';
if (!item2.querySelector('.am-card')) {
mui(".mui-slider-group .mui-scroll").pullToRefresh()[index].pullDownLoading();
}
}
if(index === 0){
queryType = '5';
selected = '.mui-tab1';
hasChecked = true;
selectTabs = 1;
$('.mui-slider-group .mui-scroll .mui-tab1')[0].innerHTML = '';
if (!item1.querySelector('.am-card')) {
mui(".mui-slider-group .mui-scroll").pullToRefresh()[index].pullDownLoading();
}
}
});
//绑定点击事件 - 进入详情页
$('#slider').on('tap','.am-card',function(){
let itemData = this.dataset;
itemData.currentSelected = selectTabs === 1 ? 'left': 'right';
console.log(JSON.stringify(itemData))
document.activeElement.blur();
if(itemData.currentSelected ==='right'){//right 已拣货
common.openwin('pickingOffListUn',{ params: JSON.stringify(itemData) },false)
}else{
common.openwin('pickingOffList',{ params: JSON.stringify(itemData) },false)
}
})
})
})(mui);
</script>
</body>
</html>
\ No newline at end of file
<script type="text/html" id='picking_tpl'>
{{ each list value i}}
<div class="am-card scrollList-item am-card-full"
data-id="{{ value.id }}"
data-applyOrderNo="{{ applyOrderNo }}"
data-allocationNum="{{ value.allocationNum }}"
data-drugCode="{{ value.drugCode }}"
data-pickingNum="{{ value.pickingNum }}"
>
<div class="am-card-header">
<div class="am-card-header-content">
<span style="font-size: 18px; color: rgb(51, 51, 51); font-weight: bold;">
{{ value.ctmmGenericName ? value.ctmmGenericName:value.ctmmTradeName ? value.ctmmTradeName: '' }}</span>
</div>
<div class="am-card-header-extra">
<span>{{ value.type }}</span>
</div>
</div>
<div class="am-card-body">
<div class="am-flexbox am-flexbox-align-center">
<div class="am-flexbox-item">
单位:<span>{{ value.replanUnit }}</span>
</div>
{{ if hasPicked }}
<div class="am-flexbox-item">
<div class="am-list-item am-input-item am-list-item-middle">
<div class="am-list-line">
<div class="am-input-label am-input-label-4 font-warning">实到数量:</div>
<div class="am-input-control">
<input pattern="[0-9]*" type="number" data-index="{{ i }}" value="{{ value.allocationNum?value.allocationNum: '' }}" placeholder="请输入" class="allocationNum flex-item-input" />
</div>
</div>
</div>
</div>
{{ else }}
<div class="am-flexbox-item">
数量:<span>{{ value.pickingNum }}</span>
</div>
{{ /if }}
<div class="am-flexbox-item">
规格:<span>{{ value.ctmmSpecification }}</span>
</div>
</div>
<div class="am-flexbox am-flexbox-align-center">
<div class="am-flexbox-item">
货位:<span>{{ value.locName }}</span>
</div>
<div class="am-flexbox-item">
生产批号:<span>{{ value.lot }}</span>
</div>
<div class="am-flexbox-item">
生产日期:<span>{{ value.productDate }}</span>
</div>
</div>
<div class="am-flexbox am-flexbox-align-center">
<div class="am-flexbox-item">
生产厂家:<span>{{ value.ctmmManufacturerName }}</span>
</div>
</div>
</div>
<div class="am-card-footer">
<div class="am-card-footer-extra">
<button type="button" class="mui-btn mui-btn-blue mui-btn-outlined toPage" style="margin: 0 5px;" data-index="{{ i }}" data-id="{{ value.id }}">更多详情</button>
{{ if hasPicked }}
<button type="button" class="mui-btn mui-btn-blue mui-btn-danger submitButton" data-index="{{ i }}">确认拣货</button>
{{ /if }}
</div>
</div>
</div>
<div style="background-color: #f5f5f9; height: 6px;">
</div>
{{/each}}
</script>
\ No newline at end of file
<script type="text/html" id='picking_tpl'>
{{ each list value i}}
<div class="batch-wrapper">
<div class="checkoneParent">
<div class="mui-checkbox mui-left" style="width: 48px;height:48px;padding:50px 0 ;display: block;">
<input name="selected" class="checkone" type="checkbox" data-index="{{ (page-1)*pageSize + i }}" style="top: 35px;left: 10px;">
</div>
</div>
<div class="am-card scrollList-item am-card-full" style="width: 90%;border: none;"
data-id="{{ value.id }}"
data-drugCode="{{ value.drugCode }}"
data-allocationNum="{{value.allocationNum}}"
>
<div class="am-card-header">
<div class="am-card-header-content">
<span style="font-size: 18px; color: rgb(51, 51, 51); font-weight: bold;">
{{ value.ctmmGenericName ? value.ctmmGenericName:value.ctmmTradeName ? value.ctmmTradeName: '' }}</span>
</div>
<div class="am-card-header-extra">
<span>{{ value.type }}</span>
</div>
</div>
<div class="am-card-body">
<div class="am-flexbox am-flexbox-align-center">
<div class="am-flexbox-item">
单位:<span>{{ value.replanUnit }}</span>
</div>
{{ if hasPicked }}
<div class="am-flexbox-item">
<div class="am-list-item am-input-item am-list-item-middle">
<div class="am-list-line">
<div class="am-input-label am-input-label-4 font-warning">实到数量:</div>
<div class="am-input-control">
<input pattern="[0-9]*" type="number" data-index="{{ i }}" value="{{ value.allocationNum?value.allocationNum: '' }}" placeholder="请输入" class="allocationNum flex-item-input" />
</div>
</div>
</div>
</div>
{{ else }}
<div class="am-flexbox-item">
数量:<span>{{ value.allocationNum }}</span>
</div>
{{ /if }}
<div class="am-flexbox-item">
规格:<span>{{ value.ctmmSpecification }}</span>
</div>
</div>
<div class="am-flexbox am-flexbox-align-center">
<div class="am-flexbox-item">
货位:<span>{{ value.locName }}</span>
</div>
<div class="am-flexbox-item">
生产批号:<span>{{ value.lot }}</span>
</div>
<div class="am-flexbox-item">
生产日期:<span>{{ value.productDate }}</span>
</div>
</div>
<div class="am-flexbox am-flexbox-align-center">
<div class="am-flexbox-item">
生产厂家:<span>{{ value.ctmmManufacturerName }}</span>
</div>
</div>
</div>
</div>
</div>
{{/each}}
</script>
\ No newline at end of file
<!-- 拣货下架- 详情页 - yuwei-->
<!doctype html>
<html>
<head>
<meta charset="UTF-8">
<title></title>
<link rel="import" href="./detail_tpl.html" id="acc_detail_tpl"/>
<meta name="viewport" content="width=device-width,initial-scale=1,minimum-scale=1,maximum-scale=1,user-scalable=no" />
<link href="../../css/mui.min.css" rel="stylesheet" />
<link href="../../css/themes.css" rel="stylesheet" />
<link href="../../css/index_view.css" rel="stylesheet" />
<link rel="stylesheet" href="../../css/check.css" />
</head>
<body>
<div class="mui-content detailRow">
<form class="mui-input-group" id="detailContent" style="background:none;">
<ul class="mui-table-view" style="margin-bottom:12px;">
<li class="mui-table-view-cell mui-collapse">
<a class="mui-navigate-right" href="#">产品信息</a>
<div class="mui-collapse-content">
<div class="mui-input-row">
</div>
</div>
</li>
</ul>
</form>
</div>
<script src="../../js/mui.min.js"></script>
<script src="../../js/template-web.js" type="text/javascript" charset="utf-8"></script>
<script src="../../js/utils.js" type="text/javascript" charset="utf-8"></script>
<script src="../../js/common.js" type="text/javascript" charset="utf-8"></script>
<script src="../../js/request.js" type="text/javascript" charset="utf-8"></script>
<script type="text/javascript">
(function($) {
var utils = new Utils();
utils.appendModule('#acc_detail_tpl');
function showData(data){
var html = template('detail_tpl', data);
document.getElementById('detailContent').innerHTML = html;
}
// 模板加载
$.plusReady(function(){
var self = plus.webview.currentWebview();
var details = JSON.parse(self.details);//获得参数
var detailData = {};
$.init({
beforeback: function() {
var list = plus.webview.currentWebview().opener();
mui.fire(list, 'pagefresh',{ selectTab: details.selected , hasPicked: true , query : details.query });
return true;
}
})
console.log('details*******************')
console.log(JSON.stringify(details))
var titleUrl = '/a/common/pickingorderdetail/getPickingDetailPad?pickingOrderNo=' + details.pickingOrderNo,
url = '/a/common/pickingorderdetail/detailList',
pickUrl = '/a/common/pickingorder/finishPicking';
if(details.hasPicked){
var groundBtn = '<button type="button" id="picking" class="mui-btn mui-btn-warning mui-btn-block" style="margin-bottom: 20px;" data-loading-text = "提交中" data-loading-icon-position="right">确认拣货</button>'
document.querySelector('.detailRow').insertAdjacentHTML("beforeEnd",groundBtn);
}
var postData = {
pickingOrderNo: details.pickingOrderNo,
id: details.id,
pickingStatus: details.pickingStatus
};
plus.nativeUI.showWaiting('加载中...');
mui.ajaxRequest(titleUrl,{
type: 'GET',
success: function(data){
if(data.code === 200){
for(var key in data.data){
detailData[key] = data.data[key];
detailData.hasPicked = details.hasPicked;
}
mui.ajaxRequest(url,{
type: 'POST',
data: postData,
success: function(data){
plus.nativeUI.closeWaiting();
if(data.code === 200){
detailData.list = data.data.list;
console.log(detailData)
showData(detailData);
if(details.hasAcceptance){
setTimeout(function(){
showOrHideBtn()
var acceptanceBtn = '<button type="button" id="acceptance" class="mui-btn mui-btn-warning mui-btn-block" style="margin-bottom: 20px;" data-loading-text = "提交中" data-loading-icon-position="right">确认拣货</button>'
document.querySelector('.detailRow').insertAdjacentHTML("beforeEnd",acceptanceBtn);
},100)
}
}else{
mui.toast(data.msg,{ type: 'div' });
}
},
error: function(xhr,type,errorThrown){
console.log(xhr.responseText)
}
});
}else{
mui.toast(data.msg,{ type: 'div' });
}
},
error: function(xhr,type,errorThrown){
console.log(xhr.responseText)
}
});
if(details.hasPicked){
var picking = document.querySelector('#picking');
picking.addEventListener('tap',function(e){
var num = detailData.list[0].allocationNum;
var realInputNum = document.querySelector('.relNum').value;
if(realInputNum > num){
return mui.toast('实际上架数量不得大于指示数量',{ type: 'div' });
}
if(realInputNum <=0){
return mui.toast('实际上架数量不得小于或等于0',{ type: 'div' });
}
var btnArray = ['否', '是'];
mui.confirm('是否确认拣货?', '操作提示', btnArray, function(e) {
if (e.index == 1) {
console.log(detailData)
var pickingDetail = [],postData = {},submitData = {};
postData.drugCode = detailData.list[0].drugCode;
postData.id = detailData.list[0].id;
postData.pickingNum = realInputNum
pickingDetail.push(postData);
submitData.applyNo = detailData.applyOrder;
submitData.pickingOrderNo = detailData.pickingOredr;
submitData.pickingDetail = pickingDetail;
console.log(JSON.stringify(submitData));
mui.ajaxRequest(pickUrl,{
type: 'POST',
data: submitData,
contentType: "application/json",
showWaiting: true,
success: function(data){
if(data.code === 200){
// mui.toast('下架成功',{ type: 'div' });
mui.toast('拣货成功',{ type: 'div' });
setTimeout(function(){
var page = plus.webview.getWebviewById('pickingOffList');
mui.fire(page,'pagefresh',{ selectTab: '1' ,query:{ selected:"left" } });
common.gotowin('pickingOffList',{ });
plus.webview.currentWebview().close();
},300)
// var parmasData = {};
// parmasData.finishUrl = '../pickingOff/index';
// parmasData.keepUrl = 'pickingOffList';
// parmasData.resultType = 'picking';
// parmasData.itemData = details.orderInfo;
// common.openwin('../result/index',{ parmas: JSON.stringify(parmasData) },{
// titleText: '结果',
// autoBackButton: false
// })
}else{
mui.alert(data.msg)
}
},
error: function(xhr,type,errorThrown){
console.log(xhr.responseText)
}
});
}
},'div')
})
}
});
})(mui);
</script>
</body>
</html>
\ No newline at end of file
<!-- 拣货下架- 列表页 - yuwei-->
<!doctype html>
<html>
<head>
<meta charset="UTF-8">
<title></title>
<link rel="import" href="./list_tpl.html" id="list_tpl"/>
<meta name="viewport" content="width=device-width,initial-scale=1,minimum-scale=1,maximum-scale=1,user-scalable=no" />
<link href="../../css/mui.min.css" rel="stylesheet" />
<link href="../../css/themes.css" rel="stylesheet" />
<link href="../../css/index_view.css" rel="stylesheet" />
</head>
<body>
<header class="mui-bar mui-bar-nav themes_bg_color">
<a class="mui-action-back mui-icon mui-icon-left-nav mui-pull-left">
<label class="mui-pull-right theme_back_font">返回</label>
</a>
<h1 class="mui-title themes_title">药品信息</h1>
<a href="#" class="mui-pull-right batchAccetpance" style="height: 45px;padding-top: 12px;">
批量拣货
</a>
</header>
<div class="mui-content">
<div class="mui-input-row mui-search search_head" onclick="toSearchPage()">
<input type="search" class="mui-input-clear" readonly="readonly" placeholder="通用名/商品名/生产厂家" >
</div>
<div id="slider" class="mui-slider themes_tab mui-fullscreen">
<div id="sliderSegmentedControl" class="mui-slider-indicator mui-segmented-control mui-segmented-control-inverted">
<a class="mui-control-item themes_font_color_tab" href="#item1mobile">待拣货</a>
<a class="mui-control-item themes_font_color_tab" href="#item2mobile">已拣货</a>
</div>
<div id="sliderProgressBar" class="mui-slider-progress-bar mui-col-xs-6"></div>
<div class="mui-slider-group">
<div id="item1mobile" class="mui-slider-item mui-control-content">
<div id="scroll1" class="mui-scroll-wrapper">
<div class="mui-scroll" id='mui-table-view-tab1'>
<ul class="mui-table-view">
<li class="mui-table-view-cell mui-tab1" style="padding: 0;">
</li>
</ul>
</div>
</div>
</div>
<div id="item2mobile" class="mui-slider-item mui-control-content">
<div id="scroll2" class="mui-scroll-wrapper">
<div class="mui-scroll" id='mui-table-view-tab2'>
<ul class="mui-table-view">
<li class="mui-table-view-cell mui-tab2" style="padding: 0;">
</li>
</ul>
</div>
</div>
</div>
</div>
</div>
</div>
<script src="../../js/mui.min.js"></script>
<script src="../../js/jquery.min.js" ></script>
<script src="../../js/mui.pullToRefresh.js"></script>
<script src="../../js/mui.pullToRefresh.material.js"></script>
<script src="../../js/template-web.js" type="text/javascript" charset="utf-8"></script>
<script src="../../js/utils.js" type="text/javascript" charset="utf-8"></script>
<script src="../../js/common.js" type="text/javascript" charset="utf-8"></script>
<script src="../../js/request.js" type="text/javascript" charset="utf-8"></script>
<script type="text/javascript">
var pickingStatus = undefined,
selectTabs = 1;// 拣货状态 0 待拣货 1 已拣货
if(window.plus) {
plusready();
} else {
document.addEventListener('plusready', plusready, false);
}
function plusready() {
plus.key.addEventListener('backbutton',function(){
plus.webview.currentWebview().close();
})
}
//去搜索页面
function toSearchPage (){
document.activeElement.blur(); // 隐藏软键盘
var params = {};
params.route = '../pickingOff/pickingOffList';
params.id = 'pickingOffList';
params.auditStatus = pickingStatus;
params.selectTabs = pickingStatus === '0' ? 1 : 2;
params.selected = pickingStatus === '0' ? 'left': 'right';
params.module = 'pickingOff';
params.location = 'sub_list';
console.log(params,'params')
common.openwin('../commonPages/searchPage',{ params: JSON.stringify(params) },false)
}
(function($,$$) {
var deceleration = mui.os.ios?0.003:0.0009;
$.init({
beforeback:function(){
var list = plus.webview.currentWebview().opener();
mui.fire(list, 'pagefresh', {});
return true;
}
});
$('.mui-scroll-wrapper').scroll({
bounce: true,
indicators: true, //是否显示滚动条
deceleration:deceleration
});
var page = 1,
totalPage = undefined,
pageSize = 15,
isMore = true,
query = {},
selectTabs = 1,
selected = '.mui-tab1'; // 默认选中内容区块
pickingOrderNo = undefined,
pickingStatus = undefined,
applyOrderNo = undefined;
var _url = '/a/common/pickingorderdetail/detailList',
pickUrl = '/a/common/pickingorder/finishPicking',
pageLeft = 1,
pageRight = 1,
totalPageLeft = undefined,
totalPageRight = undefined;
/* 渲染模板 */
var utils = new Utils();
utils.appendModule('#list_tpl');
function template(selected, data, insertType){
utils.innerTplHtml('picking_tpl',selected, data, insertType);
}
/*
下拉刷新
* */
function pulldownRefresh(){
var self = this;
if(selectTabs === 1){
pageLeft = 1
}else{
pageRight = 1;
}
pickingStatus = selectTabs === 1 ? '0': '1';
page = 1;
var postData = {
pickingOrderNo: pickingOrderNo,
pickingStatus:pickingStatus,
pageNo: 1,
pageSize: pageSize
};
if(query.hisDrugCode){
postData.hisDrugCode = query.hisDrugCode
$$('.mui-placeholder').hide();
$$('.mui-input-clear').val(query.hisDrugName);
}else{
globalQuery={}
$$('.mui-input-clear').val('');
$$('.mui-placeholder').show();
}
query = {};
mui.ajaxRequest(_url,{
type: 'POST',
data: postData,
success: function(data){
var resData = data.data;
resData.hasPicked = pickingStatus === '0'? true: false;
resData.applyOrderNo = applyOrderNo;
totalPage = data.totalPage;
if(resData.list.length === 0 || (resData.list.length <= resData.pageSize && resData.pageNo === resData.totalPage)){
var i = selectTabs === 1 ? 0 : 1;
isMore = false;
self.endPullDownToRefresh(true);
document.querySelectorAll('.mui-pull-loading')[i].innerHTML = '没有更多数据';
}else{
isMore = true;
self.endPullDownToRefresh(false);
self.refresh(true);
}
return template(selected,resData, false)
},
error: function(xhr,type,errorThrown){
console.log(xhr.responseText)
}
});
}
/*
* 上拉加载更多
* */
function pullupRefresh(){
var self = this;
console.log(isMore,'isMore')
if(isMore){
page++;
mui.ajaxRequest(_url,{
type: 'POST',
data:{
pickingOrderNo: pickingOrderNo,
pickingStatus,pickingStatus,
pageNo: page,
pageSize: pageSize
},
success: function(data){
var resData = data.data;
resData.hasPicked = pickingStatus === '0'? true: false;
resData.applyOrderNo = applyOrderNo;
if(resData.pageNo === resData.totalPage){
isMore = false;
self.endPullUpToRefresh(true);
}else{
isMore = true;
self.endPullUpToRefresh(false);
self.refresh(true);
}
return template(selected,resData, true)
},
error: function(xhr,type,errorThrown){
console.log(xhr.responseText)
}
});
}else{
var i = selectTabs === 1 ? 0 : 1;
document.querySelector('.mui-pull-loading').innerHTML = '没有更多数据';
self.endPullUpToRefresh(true);
}
}
$.plusReady(function(){
let globalQuery = { selected : selectTabs === 1?'left':'right' };
window.addEventListener('pagefresh',function(event){
let index = event.detail.query.selected === 'left' ? 0 : 1;
query = event.detail.query;
console.log(JSON.stringify(event.detail))
$$('.mui-input-clear').val('');
$$('.mui-placeholder').hide();
mui('#slider').slider().gotoItem(index);
setTimeout(function(){
mui('.mui-scroll-wrapper').scroll()[index].scrollTo(0,0,100);
mui(".mui-scroll").pullToRefresh()[index].pullDownLoading();
},300)
});
// 触发刷新 搜索页面搜的值
window.addEventListener('sub_search',function(event){
console.log(JSON.stringify(event.detail))
let index = event.detail.searchParams.selected === 'left' ? 0 : 1;
query = globalQuery = JSON.parse(event.detail.searchParams);
console.log(query)
$$('.mui-placeholder').hide();
$$('.mui-input-clear').val(query.hisDrugName);
mui('.mui-scroll-wrapper').scroll()[index].scrollTo(0,0,100);
mui(".mui-scroll").pullToRefresh()[index].pullDownLoading();
})
//
// // 触发刷新 搜索页面搜的值
// window.addEventListener('sub_search',function(event){
// console.log(event.detail);
// let searchParams = JSON.parse(event.detail.searchParams);
// document.querySelector('.mui-input-clear').placeholder = '';
// document.querySelector('.mui-placeholder').style.display = 'none';
// document.querySelector('.mui-input-clear').value = searchParams.hisDrugName;
// var newUrl = url + '&hisDrugCode='+ searchParams.hisDrugCode +'&type='+ searchParams.type;
// genData(newUrl,searchParams.selected);
// // 模拟点击Tabs
// if(searchParams.selected === 'right'){
// mui('#slider').slider().gotoItem(1);
// }
// })
var params, currentSelected = undefined;
var self = plus.webview.currentWebview();
params = JSON.parse(self.params);//获得参数
console.log(params,'params')
pickingOrderNo = params.pickingorderno;
currentSelected = params.currentSelected; // 当前选中tabs
applyOrderNo = params.applyorderno;
//循环初始化所有下拉刷新,上拉加载。
$.each(document.querySelectorAll('.mui-scroll'), function(index, pullRefreshEl) {
$(pullRefreshEl).pullToRefresh({
down: {
style:'circle',
contentdown : "下拉可以刷新",
contentover : "释放立即刷新",
contentrefresh : "正在刷新...",
callback: pulldownRefresh
},
up: {
contentrefresh : "正在加载...",//可选,正在加载状态时,上拉加载控件上显示的标题内容
contentnomore:'没有更多数据',
callback: pullupRefresh
}
});
});
// 第一个tab 默认加载一次数据
mui(".mui-scroll").pullToRefresh()[0].pullDownLoading();
var item2 = document.querySelector('#item2mobile');
var item1 = document.querySelector('#item1mobile');
document.getElementById('slider').addEventListener('slide', function(e) {
$$('.mui-input-clear').val('');
let index = e.detail.slideNumber;
if (index === 1) {
pickingStatus = '1';
selected = '.mui-tab2';
selectTabs = 2;
globalQuery.selected='right'
mui('#slider').slider().gotoItem(1);
$$('.batchAccetpance').hide();
$('.mui-slider-group .mui-scroll .mui-tab2')[0].innerHTML = '';
if (!item2.querySelector('.am-card')) {
mui(".mui-slider-group .mui-scroll").pullToRefresh()[index].pullDownLoading();
}
}
if(index === 0){
pickingStatus = '0';
selected = '.mui-tab1';
selectTabs = 1;
globalQuery.selected='left'
$$('.batchAccetpance').show();
mui('#slider').slider().gotoItem(0);
$('.mui-slider-group .mui-scroll .mui-tab1')[0].innerHTML = '';
if (!item1.querySelector('.am-card')) {
mui(".mui-slider-group .mui-scroll").pullToRefresh()[index].pullDownLoading();
}
}
});
//绑定点击事件 - 进入详情页
$('#slider').on('tap','.toPage',function(){
let id = this.dataset.id;
let newData = {};
newData.pickingOrderNo = pickingOrderNo;
newData.pickingStatus = pickingStatus;
newData.hasPicked = pickingStatus === '0'? true: false;
newData.id = id;
params.selected = selected;
newData.query = globalQuery;
console.log(newData)
document.activeElement.blur();
common.openwin('pickingOffDetails',{ details: JSON.stringify(newData) },{
titleText: '详情'
})
})
/* 批量下架 */
$('.mui-bar').on('tap','.batchAccetpance',function(){
var paramsData = {};
paramsData.pickingOrderNo = pickingOrderNo;
paramsData.applyNo = applyOrderNo;
console.log(paramsData)
common.openwin('picking_batch',{ params: JSON.stringify(paramsData) },false)
})
// 绑定事件 --确认拣货
$('#slider').on('tap','.submitButton',function(){
var index = this.dataset.index;
var _this_card = document.querySelectorAll('.am-card')[index];
console.log(_this_card.dataset)
var pickingDetail = [],postData = {},submitData = {};
postData.drugCode = _this_card.dataset.drugcode;
postData.id = _this_card.dataset.id;
postData.pickingNum = _this_card.querySelector('.allocationNum').value;
pickingDetail.push(postData);
submitData.pickingDetail = pickingDetail;
submitData.applyNo = applyOrderNo;
submitData.pickingOrderNo = pickingOrderNo;
console.log(JSON.stringify(submitData),'submitData')
document.activeElement.blur();
var btnArray = ['否', '是'];
$.confirm('确定要执行此操作吗?', '确认拣货', btnArray, function(e) {
if (e.index == 1) {
mui.ajaxRequest(pickUrl,{
type: 'POST',
data: submitData,
contentType: "application/json",
showWaiting: true,
success: function(data){
if(data.code === 200){
mui.toast('拣货成功',{ type: 'div' });
mui(".mui-scroll").pullToRefresh()[selectTabs -1].pullDownLoading();
}else{
mui.alert(data.msg)
}
},
error: function(xhr,type,errorThrown){
console.log(xhr.responseText)
}
});
}
},'div')
});
var countModal = false;
$$('#slider').on('keyup','.allocationNum',function(){
var _this = this,$this = $$(this);
var index = this.dataset.index;
var value = Number(this.value?this.value:0);
var _this_node = document.querySelectorAll('.am-card')[index];
var allocationNum = _this_node.dataset.allocationnum?_this_node.dataset.allocationnum:0;
var text = "实到数量不能大于数量"+allocationNum+",且不能小于0!";
if(!countModal){
if(value<0 || value>allocationNum){
countModal = true;
mui.alert(text,'提示','确定',function (e) {
countModal = false;
_this.value = allocationNum;
},'div')
}
}
});
});
})(mui,jQuery);
</script>
</body>
</html>
\ No newline at end of file
<!-- 拣货下架 已拣货 页面 - 列表页 - yuwei-->
<!doctype html>
<html>
<head>
<meta charset="UTF-8">
<title></title>
<meta name="viewport" content="width=device-width,initial-scale=1,minimum-scale=1,maximum-scale=1,user-scalable=no" />
<link rel="import" href="./list_tpl.html" id="list_tpl"/>
<link href="../../css/mui.min.css" rel="stylesheet" />
<link href="../../css/themes.css" rel="stylesheet" />
<link href="../../css/index_view.css" rel="stylesheet" />
</head>
<body>
<header class="mui-bar mui-bar-nav themes_bg_color">
<a class="mui-action-back mui-icon mui-icon-left-nav mui-pull-left">
<label class="mui-pull-right theme_back_font">返回</label>
</a>
<h1 class="mui-title themes_title">药品信息</h1>
</header>
<div class="mui-content">
<div class="mui-input-row mui-search search_head" onclick="toSearchPage()">
<input type="search" class="mui-input-clear" placeholder="通用名/商品名/生产厂家" readonly="readonly" >
</div>
<div class="home-card-wrapper" style="padding: 8px;margin-top: 0;margin-bottom: 8px;">
<div class="home-card-title">已拣货</div>
</div>
<div id="slider" class="mui-slider themes_tab mui-fullscreen" style="margin-top: 45px;">
<div id="sliderProgressBar" class="mui-slider-progress-bar mui-col-xs-6"></div>
<div class="mui-slider-group">
<div id="item1mobile" class="mui-slider-item mui-control-content">
<div id="scroll1" class="mui-scroll-wrapper">
<div class="mui-scroll" id="mui-table-view-tab1">
<ul class="mui-table-view">
<li class="mui-table-view-cell mui-tab1" style="padding: 0;">
</li>
</ul>
</div>
</div>
</div>
</div>
</div>
</div>
<script src="../../js/mui.min.js"></script>
<script src="../../js/mui.pullToRefresh.js"></script>
<script src="../../js/mui.pullToRefresh.material.js"></script>
<script src="../../js/jquery.min.js"></script>
<script src="../../js/template-web.js" type="text/javascript" charset="utf-8"></script>
<script src="../../js/utils.js" type="text/javascript" charset="utf-8"></script>
<script src="../../js/common.js" type="text/javascript" charset="utf-8"></script>
<script src="../../js/request.js" type="text/javascript" charset="utf-8"></script>
<script type="text/javascript">
//去搜索页面
function toSearchPage (){
document.activeElement.blur(); // 隐藏软键盘
var params = {};
params.route = '../pickingOff/pickingOffListUn';
params.id = 'pickingOffListUn';
params.auditStatus = 1;
params.selectTabs = 2;
params.module = 'pickingOff';
params.location = 'sub_list';
console.log(params)
common.openwin('../commonPages/searchPage',{ params: JSON.stringify(params) },false)
}
(function($,$JQ) {
//滚动加载
var deceleration = mui.os.ios?0.003:0.0009;
$('.mui-scroll-wrapper').scroll({
bounce: true,
indicators: true, //是否显示滚动条
deceleration:deceleration
});
// 模板加载
var utils = new Utils();
utils.appendModule('#list_tpl');
// 初始化数据
var params, pickingOrderNo,isMore = true ,
pickingStatus = undefined, // 拣货状态 0 待拣货 1 已拣货
pageNo = 1,//当前页
cout = 0,//数据总量
pageSize = 15,//每页加载量
resData = undefined ,
container = document.querySelector('.mui-tab1'),
globalPull =null,
baseList = [],
query={},
nullDataHtml = '<div class="mui-pull-bottom-tips"><div class="mui-pull-bottom-wrapper">'+
'<span class="mui-pull-loading">暂无数据</span></div></div>'
$.plusReady(function(){
var self = plus.webview.currentWebview();
let globalQuery = {};
params = JSON.parse(self.params);//获得参数
pickingOrderNo = params.pickingorderno;
window.addEventListener('pagefresh',function(event){
query = event.detail.query;
console.log(JSON.stringify(event.detail));
mui('.mui-scroll-wrapper').scroll().scrollTo(0,0,100);
mui(".mui-scroll").pullToRefresh().pullDownLoading();
});
// 触发刷新 搜索页面搜的值
window.addEventListener('sub_search',function(event){
console.log(JSON.stringify(event.detail))
query = globalQuery = JSON.parse(event.detail.searchParams);
mui('.mui-scroll-wrapper').scroll().scrollTo(0,0,100);
mui(".mui-scroll").pullToRefresh().pullDownLoading();
})
//
//绑定点击事件 - 进入详情页
$('#slider').on('tap','.toPage',function(){
let index = this.dataset.index;
let newData = {};
newData.id = this.dataset.id;
newData.hasPicked = false;
newData.pickingOrderNo = pickingOrderNo;
newData.pickingStatus = '1';
newData.query = globalQuery ;
// newData.pickingTime = resData.pickingTime;
// newData.pickingUserName = resData.pickingUserName
console.log(JSON.stringify(newData))
document.activeElement.blur();
common.openwin('pickingOffDetails',{ details: JSON.stringify(newData) },{
titleText: '详情'
})
})
var json ={
pickingOrderNo:pickingOrderNo,
pageNo:pageNo,
pageSize:15,
pickingStatus:'1'
}
var url = '/a/common/pickingorderdetail/detailList';
//循环初始化所有下拉刷新,上拉加载。
globalPull = $('.mui-scroll').pullToRefresh({
down: {
style:'circle',
contentdown : "下拉可以刷新",
contentover : "释放立即刷新",
contentrefresh : "正在刷新...",
callback: pulldownRefresh
},
up: {
contentrefresh : "正在加载...",//可选,正在加载状态时,上拉加载控件上显示的标题内容
contentnomore:'没有更多数据',
callback: pullupRefresh
}
});
mui(".mui-scroll").pullToRefresh().pullDownLoading();
function pulldownRefresh (){
console.log('下拉');
if(query.hisDrugCode){
console.log('有query')
json.hisDrugCode = query.hisDrugCode
$JQ('.mui-placeholder').hide();
$JQ('.mui-input-clear').val(query.hisDrugName);
}else{
console.log('二次刷新')
globalQuery={}
delete json.hisDrugCode
$JQ('.mui-input-clear').val('');
$JQ('.mui-placeholder').show();
}
query = {};
json.pageNo = 1 ;
mui.ajaxRequest(url,{
type: 'POST',
contentType: "application/x-www-form-urlencoded",
data:json,
showWaiting: true,
success: function(data){
if(data.code === 200){
toggle = false;
resData = data.data.list;
mui.each(resData,function(index,item){
item.type = '已拣货'
});
console.log(JSON.stringify(data.data.pageNo))
if(resData.length === 0 || (resData.length <= data.data.pageSize && data.data.pageNo === data.data.totalPage)){
isMore = false;
baseList=resData;
globalPull.endPullDownToRefresh();
document.querySelectorAll('.mui-pull-loading')[0].innerHTML = '没有更多数据';
}else{
isMore = true;
json.pageNo++;
baseList=resData;
globalPull.endPullDownToRefresh();
globalPull.refresh(true);
}
container.innerHTML = data.length === 0 ? nullDataHtml : template('picking_tpl',{list:baseList}) ;
}else{
mui.alert(data.msg)
}
},
error: function(xhr,type,errorThrown){
console.log(xhr.responseText)
}
});
}
function pullupRefresh (){
console.log('上拉')
console.log(JSON.stringify(json))
mui.ajaxRequest(url,{
type: 'POST',
contentType: "application/x-www-form-urlencoded",
data:json,
success: function(data){
console.log(JSON.stringify(data))
if(data.code === 200){
resData = data.data.list;
mui.each(resData,function(index,item){
item.type = '已拣货'
});
if(resData.length === 0 || (resData.length <= data.data.pageSize && data.data.pageNo === data.data.totalPage)){
//已无数据
globalPull.refresh(true);
console.log('上拉已无数据')
// baseList = baseList.concat(resData)
console.log('baseList',baseList.length)
console.log('resData',resData.length)
container.innerHTML = data.length === 0 ? nullDataHtml : template('picking_tpl',{list:baseList}) ;
globalPull.endPullUpToRefresh(true);
document.querySelectorAll('.mui-pull-loading')[0].innerHTML = '没有更多数据';
}else{
//还有数据
console.log('上拉还有数据')
baseList = baseList.concat(resData)
json.pageNo++;
console.log('baseList',baseList.length)
console.log('resData',resData.length)
container.innerHTML = data.length === 0 ? nullDataHtml : template('picking_tpl',{list:baseList}) ;
globalPull.endPullUpToRefresh(false);
}
}else{
mui.alert(data.msg)
}
},
error: function(xhr,type,errorThrown){
console.log(xhr.responseText)
}
});
}
});
})(mui,jQuery);
</script>
</body>
</html>
\ No newline at end of file
<!--批量下架列表 - 药品信息 列表页 - wwb-->
<!doctype html>
<html>
<head>
<meta charset="UTF-8">
<title></title>
<link rel="import" href="pick_list_tpl.html" id="list_tpl"/>
<meta name="viewport" content="width=device-width,initial-scale=1,minimum-scale=1,maximum-scale=1,user-scalable=no" />
<link href="../../css/mui.min.css" rel="stylesheet" />
<link href="../../css/themes.css" rel="stylesheet" />
<link href="../../css/index_view.css" rel="stylesheet" />
</head>
<body>
<div class="mui-content">
<header class="mui-bar mui-bar-nav themes_bg_color">
<a class="mui-action-back mui-icon mui-icon-left-nav mui-pull-left">
<label class="mui-pull-right theme_back_font">返回</label>
</a>
<h1 class="mui-title themes_title">药品信息</h1>
</header>
<div class="home-card-wrapper" style="padding: 8px;margin-top: 0;margin-bottom: 8px;">
<div class="home-card-title">待下架</div>
</div>
<div id="slider" class="mui-slider themes_tab mui-fullscreen" style="margin-top: 45px;padding-bottom: 59px;">
<div class="mui-slider-group">
<div id="item1mobile" class="mui-slider-item mui-control-content">
<div id="scroll1" class="mui-scroll-wrapper">
<div class="mui-scroll" id="mui-table-view-tab1">
<ul class="mui-table-view">
<li class="mui-table-view-cell mui-tab1" style="padding: 0;">
</li>
</ul>
</div>
</div>
</div>
</div>
</div>
<div class="fix_bottom-wraper">
<div class="fix-bottom-content">
<div class="mui-checkbox mui-left">
<label>全选</label>
<input name="checkboxAll" value="1" id="checkall" type="checkbox" style="top: -5px;z-index: 10;">
</div>
<span style="margin-left: 8px;">已选中 <label class="total"> 0 </label></span>
</div>
<a href="javascript:;" class="btn acceptance fix-bottom-extra"> 下 架 </a>
</div>
</div>
<script src="../../js/mui.min.js"></script>
<script src="../../js/jquery.min.js"></script>
<script src="../../js/mui.pullToRefresh.js"></script>
<script src="../../js/mui.pullToRefresh.material.js"></script>
<script src="../../js/template-web.js" type="text/javascript" charset="utf-8"></script>
<script src="../../js/utils.js" type="text/javascript" charset="utf-8"></script>
<script src="../../js/common.js" type="text/javascript" charset="utf-8"></script>
<script src="../../js/request.js" type="text/javascript" charset="utf-8"></script>
<script type="text/javascript">
if(window.plus) {
plusready();
} else {
document.addEventListener('plusready', plusready, false);
}
function plusready() {
plus.key.addEventListener('backbutton',function(){
plus.webview.currentWebview().close();
})
}
(function($,$JQ) {
var deceleration = mui.os.ios?0.003:0.0009;
$.init({
beforeback:function(){
var list = plus.webview.currentWebview().opener();
mui.fire(list, 'pagefresh', { query:{ selected:"left" } });
return true;
}
});
$('.mui-scroll-wrapper').scroll({
bounce: true,
indicators: true, //是否显示滚动条
deceleration:deceleration
});
var page = 1,
totalPage = undefined,
pageSize = 15,
isMore = true,
query = {},
selected = '.mui-tab1'; // 默认选中内容区块
pickingOrderNo = undefined,
pickingStatus = '0',
applyOrderNo = undefined,
selecteIndex = [];
var _url = '/a/common/pickingorderdetail/detailList',
pickUrl = '/a/common/pickingorder/finishPicking',
pageLeft = 1,
pageRight = 1,
totalPageLeft = undefined,
totalPageRight = undefined;
/* 渲染模板 */
var checkType, type, auditStatus = '1'// 验收单类型 // 验收状态 1 待拣货 2 已拣货
var utils = new Utils();
utils.appendModule('#list_tpl');
function template(data, insertType,render) {
utils.innerTplHtml('picking_tpl', '.mui-tab1', data, insertType);
if(render){
var checkList = document.querySelectorAll('.checkone');
console.log(selecteIndex,'selecteIndex')
mui.each(selecteIndex, function(index, item) {
checkList[item].checked = true;
});
}
}
/*
下拉刷新
* */
function pulldownRefresh(){
document.querySelector('.total').innerText = 0;
document.querySelector('#checkall').checked = false;
selecteIndex = [];
var self = this;
page = 1;
var postData = {
pickingOrderNo: pickingOrderNo,
pickingStatus:pickingStatus,
pageNo: page,
pageSize: pageSize
};
if(query.hisDrugCode){
postData.hisDrugCode = query.hisDrugCode
}
query = {};
mui.ajaxRequest(_url,{
type: 'POST',
data: postData,
success: function(data){
var resData = data.data;
resData.page = page;
resData.pageSize = pageSize;
resData.hasPicked = true;
resData.applyOrderNo = applyOrderNo;
totalPage = data.totalPage;
if(resData.list.length === 0 || (resData.list.length <= resData.pageSize && resData.pageNo === resData.totalPage)){
isMore = false;
self.endPullDownToRefresh(true);
document.querySelectorAll('.mui-pull-loading')[0].innerHTML = '没有更多数据';
}else{
isMore = true;
self.endPullDownToRefresh(false);
self.refresh(true);
}
return template(resData, false)
},
error: function(xhr,type,errorThrown){
console.log(xhr.responseText)
}
});
}
/*
* 上拉加载更多
* */
function pullupRefresh() {
document.querySelector('#checkall').checked = false;
var self = this;
if (isMore) {
page++;
mui.ajaxRequest(_url, {
type: 'POST',
data: {
pickingOrderNo: pickingOrderNo,
pickingStatus:pickingStatus,
pageNo: page,
pageSize: pageSize
},
success: function(data) {
var resData = data.data;
resData.page = page;
resData.pageSize = pageSize;
resData.hasPicked = true;
if (resData.pageNo === resData.totalPage) {
isMore = false;
self.endPullUpToRefresh(true);
} else {
isMore = true;
self.endPullUpToRefresh(false);
self.refresh(true);
}
return template(resData, true,'render')
},
error: function(xhr, type, errorThrown) {
console.log(xhr.responseText)
}
});
} else {
document.querySelectorAll('.mui-pull-loading')[0].innerHTML = '没有更多数据';
self.endPullUpToRefresh(true);
}
}
// 模板加载
$.plusReady(function(){
var params = undefined,
applyNo = undefined;
var self = plus.webview.currentWebview();
params = JSON.parse(self.params);//获得参数
pickingOrderNo = params.pickingOrderNo;
applyOrderNo = params.applyNo;
applyNo = params.applyNo;
console.log(params);
var pickUrl = '/a/common/pickingorder/finishPicking';
//循环初始化所有下拉刷新,上拉加载。
$.each(document.querySelectorAll('.mui-scroll'), function(index, pullRefreshEl) {
$(pullRefreshEl).pullToRefresh({
down: {
style:'circle',
contentdown : "下拉可以刷新",
contentover : "释放立即刷新",
contentrefresh : "正在刷新...",
callback: pulldownRefresh
},
up: {
contentrefresh : "正在加载...",//可选,正在加载状态时,上拉加载控件上显示的标题内容
contentnomore:'没有更多数据',
callback: pullupRefresh
}
});
});
// 第一个tab 默认加载一次数据
mui(".mui-scroll").pullToRefresh().pullDownLoading();
// 全选 及反选
$('.fix_bottom-wraper').on('click','#checkall',function(){
selecteIndex = [];
var checkList = document.querySelectorAll('.checkone');
if (document.querySelector('#checkall').checked){
// 全选
mui.each(checkList,function(index,item){
item.checked = true
});
document.querySelector('.total').innerText = checkList.length;
mui.each(checkList,function(index,item){
selecteIndex.push(index);
});
} else {
// 取消全选
mui.each(checkList,function(index,item){
item.checked = false
});
document.querySelector('.total').innerText = 0;
selectedRows = [];
selecteIndex = []
}
});
// 复选框选中
$('#slider').on('change','.checkone',function(){
selectedRows = [],selecteIndex = [];
var checkList = document.querySelectorAll('.checkone')
var checkAll = document.querySelector('#checkall');
var checkLen = checkList.length;
var len = 0;
mui.each(checkList,function(index,item){
if(item.checked){
len++;
// selectedRows.push(acceptList[index]);
selecteIndex.push(this.dataset.index)
}
});
checkAll.checked = len === checkLen ? true: false;
document.querySelector('.total').innerText = len;
})
// 绑定事件 --确认拣货
$('.fix_bottom-wraper').on('tap','.acceptance',function(){
document.activeElement.blur(); // 隐藏软键盘
if(Number(document.querySelector('.total').innerText) === 0){
return mui.alert('请至少选中一项','警告',['确认'],function(){},'div')
}
var cards = document.querySelectorAll('.am-card');
var selectedCards = [];
mui.each(selecteIndex,function(index,item){
selectedCards.push(cards[item]);
});
var pickingDetail = [], submitData = {};
mui.each(selectedCards,function(index,item){
var postData = {};
postData.drugCode = item.dataset.drugcode;
postData.id = item.dataset.id;
postData.pickingNum = item.querySelector('.allocationNum').value;
pickingDetail.push(postData);
});
submitData.pickingDetail = pickingDetail;
submitData.applyNo = params.applyNo;;
submitData.pickingOrderNo = params.pickingOrderNo;;
console.log(submitData)
var btnArray = ['否', '是'];
mui.confirm('确认批量下架选中的药品?', '确认', btnArray, function(e) {
if (e.index == 1) {
mui.ajaxRequest(pickUrl,{
type: 'POST',
data: submitData,
showWaiting: true,
contentType: "application/json",
success: function(data){
if(data.code === 200){
mui.toast('下架成功',{ type: 'div' });
$JQ('.total').text(0);
document.querySelector('#checkall').checked = false;
setTimeout(function(){
mui('.mui-scroll-wrapper').scroll().scrollTo(0,0);
mui(".mui-scroll").pullToRefresh().pullDownLoading();
},300)
}
},
error: function(xhr,type,errorThrown){
console.log(xhr.responseText)
}
})
}
},'div')
});
//验证数量
var countModal = false;
$JQ('#slider').on('keyup','.allocationNum',function(){
var _this = this,$this = $JQ(this);
var index = this.dataset.index;
var value = Number(this.value?this.value:0);
var _this_node = document.querySelectorAll('.am-card')[index];
var allocationNum = _this_node.dataset.allocationnum?_this_node.dataset.allocationnum:0;
var text = "实到数量不能大于数量"+allocationNum+",且不能小于0!";
if(!countModal){
if(value<0 || value>allocationNum){
countModal = true;
mui.alert(text,'提示','确定',function (e) {
countModal = false;
_this.value = allocationNum;
},'div')
}
}
});
});
})(mui,jQuery);
</script>
</body>
</html>
\ No newline at end of file
<!--验收 - 详情页 - wwb-->
<!doctype html>
<html>
<head>
<meta charset="UTF-8">
<title></title>
<link rel="import" href="./success_tpl.html" id="success"/>
<meta name="viewport" content="width=device-width,initial-scale=1,minimum-scale=1,maximum-scale=1,user-scalable=no" />
<link href="../../css/mui.min.css" rel="stylesheet" />
<link href="../../css/themes.css" rel="stylesheet" />
<link href="../../css/index_view.css" rel="stylesheet" />
<style>
.result-footer{
text-align: center;
margin-top: 36px;
}
.btn{
display: inline-block;
width: 120px;
height: 36px;
line-height: 36px;
border-radius: 3px;
}
.keep{
color: #4cd964;
border: 1px solid #4cd964;
margin-right: 24px;
}
.keep:active{
color: #4cd964;
}
.finish{
color: #007aff;
border: 1px solid #007aff;
}
.finish:active{
color: #007aff;
}
</style>
</head>
<body>
<div class="mui-content">
<div id="result" class="am-result">
</div>
<div class="result-footer">
<a class="btn keep">继续<span class="actionName"></span></a>
<a class="btn finish">完成</a>
</div>
</div>
<script src="../../js/mui.min.js"></script>
<script src="../../js/template-web.js" type="text/javascript" charset="utf-8"></script>
<script src="../../js/common.js" type="text/javascript" charset="utf-8"></script>
<script src="../../js/utils.js" type="text/javascript" charset="utf-8"></script>
<script type="text/javascript">
(function($) {
$.init()
// 模板加载
$.ready(function(){
var utils = new Utils();
utils.appendModule('#success');
});
$.plusReady(function(){
var self = plus.webview.currentWebview();
var parmas = JSON.parse(self.parmas);
console.log(parmas,'parmas');
var data = {};
data.finishUrl = parmas.finishUrl;
data.keepUrl = parmas.keepUrl;
switch(parmas.resultType){
case 'acceptance':
data.resultType = '验收';
break;
case 'ground':
data.resultType = '上架';
break;
case 'picking':
data.resultType = '拣货';
break;
case 'check':
data.resultType = '盘点';
break;
case 'move':
data.resultType = '移动';
break;
default:
break;
}
document.querySelector('.actionName').innerText = data.resultType;
var html = template('success_tpl', data);
document.getElementById('result').innerHTML = html;
// 继续操作
$('.result-footer').on('click','.keep',function(){
var page = plus.webview.getWebviewById(parmas.keepUrl);
mui.fire(page,'pagefresh',{ params: JSON.stringify(parmas.itemData),selectTab: '1' });
common.gotowin(parmas.keepUrl,{ params: JSON.stringify(parmas.itemData) });
// plus.webview.currentWebview().close();
});
// 完成操作
$('.result-footer').on('tap','.finish',function(){
var page = plus.webview.getWebviewById(parmas.finishUrl);
console.log(page);
mui.fire(page,'pagefresh',{ hasAcceptance: true });
common.gotowin(parmas.finishUrl, {}, false)
})
})
})(mui);
</script>
</body>
</html>
\ No newline at end of file
<script type="text/html" id='success_tpl'>
<div style="margin-top:15%;">
<div>
<img src="../../assest/success.svg" width="128" height="128"/>
</div>
<div class="am-result-title">
<div><span>{{ resultType }}</span>完成</div>
</div>
</div>
</script>
\ No newline at end of file
<!--库存查询 - 详情页 - yuweI-->
<!doctype html>
<html>
<head>
<meta charset="UTF-8">
<title></title>
<meta name="viewport" content="width=device-width,initial-scale=1,minimum-scale=1,maximum-scale=1,user-scalable=no" />
<link href="../../css/mui.min.css" rel="stylesheet" />
<link href="../../css/themes.css" rel="stylesheet" />
<link rel="import" href="./details_view.html" id="card_view"/>
</head>
<body>
<div class="mui-content detailRow">
<form class="mui-input-group" id="detailContent" style="background:none;">
<ul class="mui-table-view" style="margin-bottom:12px;">
<li class="mui-table-view-cell mui-collapse">
<a class="mui-navigate-right" href="#">产品信息</a>
<div class="mui-collapse-content">
</div>
</li>
</ul>
</form>
</div>
<script src="../../js/mui.js"></script>
<script src="../../js/template-web.js" type="text/javascript" charset="utf-8"></script>
<script src="../../js/utils.js" type="text/javascript" charset="utf-8"></script>
<script src="../../js/request.js" type="text/javascript" charset="utf-8"></script>
<script type="text/javascript">
(function($) {
var utils = new Utils();
utils.appendModule('#card_view');
$.plusReady(function(){
var params, hisDrugCode = undefined, drugCode = undefined;
var self = plus.webview.currentWebview();
params = JSON.parse(self.params);//获得参数
hisDrugCode = params.hisdrugcode;
drugCode = params.drugcode;
var baseUrl = '/a/StoreDetail/getRoomRepertoryDetail';
var tableUrl = '/a/StoreDetail/getRoomRepertoryDetailList';
var renderData = { };
plus.nativeUI.showWaiting();
genDetailData(baseUrl,hisDrugCode)
/*
获取列表数据
* */
function genDetailData(baseUrl,hisDrugCode){
// 详情 数据
mui.ajaxRequest(baseUrl,{
type: 'POST',
data: {
hisDrugCode: hisDrugCode
},
success: function(data){
if(data.code === 200){
var list = [];
list.push(data.data);
renderData.list = list;
genTableData(tableUrl,drugCode);
}else{
mui.alert(data.msg)
}
},
error: function(xhr,type,errorThrown){
console.log(xhr.responseText)
}
});
}
function genTableData(tableUrl,drugCode){
// 列表数据
mui.ajaxRequest(tableUrl,{
type: 'post',
data: {
drugCode: drugCode
},
success: function(data){
if(data.code === 200){
plus.nativeUI.closeWaiting();
var tablist = data.data.list;
renderData.tablist = tablist;
var html = template('deitail_view', renderData);
document.getElementById('detailContent').innerHTML = html;
}else{
mui.alert(data.msg)
}
},
error: function(xhr,type,errorThrown){
console.log(xhr.responseText)
}
});
}
})
})(mui);
</script>
</body>
</html>
\ No newline at end of file
<script type="text/html" id='deitail_view'>
<div style="margin-top:10px;">
{{ each list value i}}
<ul class="mui-table-view" style="margin-bottom:12px;">
<li class="mui-table-view-cell mui-collapse mui-active">
<a class="mui-navigate-right" href="#">产品信息</a>
<div class="mui-collapse-content">
<div class="mui-input-row">
<label>通用名</label>
<p class="detailRow_content">{{ value.genericName }}</p>
</div>
<div class="mui-input-row">
<label>商品名</label>
<p class="detailRow_content">{{value.tradeName}}</p>
</div>
<div class="mui-input-row">
<label>规格</label>
<p class="detailRow_content">{{value.specification}}</p>
</div>
<div class="mui-input-row">
<label>剂型</label>
<p class="detailRow_content">{{value.dosageDesc}}</p>
</div>
<div class="mui-input-row">
<label>生产厂家</label>
<p class="detailRow_content">{{value.manufactureName}}</p>
</div>
<div class="mui-input-row">
<label>批准文号</label>
<p class="detailRow_content">{{value.approvalNo}}</p>
</div>
<div class="mui-input-row">
<label>包装规格</label>
<p class="detailRow_content">{{value.packageSpecification}}</p>
</div>
</div>
</li>
</ul>
<ul class="mui-table-view" style="margin-top:12px;">
{{ each tablist itemValue subIndex}}
<li class="mui-table-view-cell mui-collapse" data-id="{{ itemValue.id }}">
<a class="mui-navigate-right" href="#" style="display: flex;">
<label class="detailRow_label head_minheight">货位</label>
<p class="detailRow_content head_minheight">{{ itemValue.storeLocName }}</p>
<span class="detailRow_right theme_font_danger head_minheight">{{ itemValue.usableQuantity }}</span>
</a>
<div class="mui-collapse-content">
<div class="mui-input-row">
<label>货位类型</label>
<p class="detailRow_content">{{itemValue.storeType}}</p>
</div>
<div class="mui-input-row">
<label>数量</label>
<p class="detailRow_content">{{itemValue.usableQuantity}}</p>
</div>
<div class="mui-input-row">
<label>单位</label>
<p class="detailRow_content">{{itemValue.unit}}</p>
</div>
<div class="mui-input-row">
<label>供应商</label>
<p class="detailRow_content">{{itemValue.supplierName}}</p>
</div>
<div class="mui-input-row">
<label>生产批号</label>
<p class="detailRow_content">{{itemValue.lot}}</p>
</div>
<div class="mui-input-row">
<label>生产日期</label>
<p class="detailRow_content">{{itemValue.productDate}}</p>
</div>
<div class="mui-input-row">
<label>有效期至</label>
<p class="detailRow_content">{{itemValue.validEndDate}}</p>
</div>
</div>
</li>
{{/each}}
</ul>
{{/each}}
</div>
</script>
\ No newline at end of file
<!--库存查询 - 列表页 - yuweI-->
<!doctype html>
<html>
<head>
<meta charset="UTF-8">
<title></title>
<meta name="viewport" content="width=device-width,initial-scale=1,minimum-scale=1,maximum-scale=1,user-scalable=no" />
<link href="../../css/mui.min.css" rel="stylesheet" />
<link href="../../css/themes.css" rel="stylesheet" />
<link href="../../css/index_view.css" rel="stylesheet" />
<link rel="import" href="../../tpl/stockQuery_card.html" id="card_view"/>
</head>
<body>
<header class="mui-bar mui-bar-nav themes_bg_color">
<a class="mui-action-back mui-icon mui-icon-left-nav mui-pull-left">
<label class="mui-pull-right theme_back_font">返回</label>
</a>
<h1 class="mui-title themes_title">库存查询</h1>
</header>
<div class="mui-content">
<div class="mui-input-row mui-search search_head" onclick="toSearchPage()">
<input type="search" class="mui-input-clear" id="search" placeholder="通用名/商品名" readonly="readonly" >
</div>
<div id="slider" class="mui-slider themes_tab mui-fullscreen" style="top: 102px;">
<!--<div id="sliderSegmentedControl" class="mui-slider-indicator mui-segmented-control mui-segmented-control-inverted">
<a class="mui-control-item themes_font_color_tab" href="#item1mobile">全部</a>
<a class="mui-control-item themes_font_color_tab item2mobile" href="#item2mobile">更多筛选</a>
</div>-->
<div id="sliderProgressBar" class="mui-slider-progress-bar mui-col-xs-6"></div>
<div class="mui-slider-group">
<div id="item1mobile" class="mui-slider-item mui-control-content mui-active">
<div id="scroll1" class="mui-scroll-wrapper">
<div class="mui-scroll" id='mui-table-view-tab1'>
<ul class="mui-table-view">
<li class="mui-table-view-cell mui-tab1" style="padding: 0;"></li>
</ul>
</div>
</div>
</div>
<div class="moreCondition">
<ul class="mui-table-view">
<li class="mui-table-view-cell" data-search='nearEffect'>近效期(三个月)</li>
<li class="mui-table-view-cell" data-search= 'lowStock'>低库存</li>
</ul>
</div>
</div>
</div>
</div>
<script src="../../js/mui.js"></script>
<script src="../../js/mui.pullToRefresh.js"></script>
<script src="../../js/mui.pullToRefresh.material.js"></script>
<script src="../../js/template-web.js" type="text/javascript" charset="utf-8"></script>
<script src="../../js/utils.js" type="text/javascript" charset="utf-8"></script>
<script src="../../js/common.js" type="text/javascript" charset="utf-8"></script>
<script src="../../js/request.js" type="text/javascript" charset="utf-8"></script>
<script type="text/javascript">
//去搜索页面
function toSearchPage (){
var params = {};
params.module = 'stock';
params.location = 'main_list';
params.route = '../stockQuery/index';
common.openwin('../commonPages/searchPage',{ params: JSON.stringify(params) },false)
}
(function($) {
$.init({
beforeback:function(){
var list = plus.webview.currentWebview().opener();
mui.fire(list, 'refresh',{ getCountFlag: true });
return true;
}
});
var deceleration = mui.os.ios?0.003:0.0009;
$('.mui-scroll-wrapper').scroll({
bounce: true,
indicators: true, //是否显示滚动条
deceleration:deceleration
});
var utils = new Utils();
utils.appendModule('#card_view');
var url = '/a/StoreDetail/list';
var page = 1, totalPage = undefined, pageSize = 30, isMore = true, query = {};
/* 渲染模板 */
function template(data, insertType){
utils.innerTplHtml('stock', '.mui-tab1', data, insertType);
}
/*
下拉刷新
* */
function pulldownRefresh(){
var self = this;
page = 1;
var postData = {
pageNo: page,
pageSize: pageSize
};
if(query.bigDrugCode){
postData.hisDrugCodeList = [ query.bigDrugCode ]
}
query = {};
mui.ajaxRequest(url,{
type: 'POST',
data: postData,
contentType: "application/json",
success: function(data){
var resData = data.data;
totalPage = data.totalPage;
if(resData.pageNo >= resData.totalPage){
document.querySelector('.mui-pull-loading').innerHTML = '没有更多数据';
isMore = false;
self.endPullDownToRefresh(true);
}else{
isMore = true;
self.endPullDownToRefresh(false);
self.refresh(true);
}
return template(resData, false)
},
error: function(xhr,type,errorThrown){
console.log(xhr.responseText)
}
});
}
/*
* 上拉加载更多
* */
function pullupRefresh(){
var self = this;
console.log(isMore,'isMore')
if(isMore){
page++;
mui.ajaxRequest(url,{
type: 'POST',
data:{
pageNo: page,
pageSize: pageSize
},
contentType: "application/json",
success: function(data){
var resData = data.data;
if(resData.pageNo === resData.totalPage){
isMore = false;
self.endPullUpToRefresh(true);
}else{
isMore = true;
self.endPullUpToRefresh(false);
self.refresh(true);
}
return template(resData, true)
},
error: function(xhr,type,errorThrown){
console.log(xhr.responseText)
}
});
}else{
document.querySelector('.mui-pull-loading').innerHTML = '没有更多数据';
self.endPullUpToRefresh(true);
}
}
$.plusReady(function(){
// 触发刷新 搜索页面搜的值
window.addEventListener('search',function(event){
console.log(event.detail)
query.bigDrugCode = JSON.parse(event.detail.searchParams).bigDrugCode;
query.ctmmParam = JSON.parse(event.detail.searchParams).ctmmParam;
document.querySelector('.mui-input-clear').placeholder = '';
document.querySelector('.mui-placeholder').style.display = 'none';
document.querySelector('.mui-input-clear').value = query.ctmmParam;
mui(".mui-scroll").pullToRefresh().pullDownLoading();
})
//循环初始化所有下拉刷新,上拉加载。
$.each(document.querySelectorAll('.mui-scroll'), function(index, pullRefreshEl) {
$(pullRefreshEl).pullToRefresh({
down: {
style:'circle',
contentdown : "下拉可以刷新",
contentover : "释放立即刷新",
contentrefresh : "正在刷新...",
callback: pulldownRefresh
},
up: {
contentrefresh : "正在加载...",//可选,正在加载状态时,上拉加载控件上显示的标题内容
contentnomore:'没有更多数据',
callback: pullupRefresh
}
});
});
mui(".mui-scroll").pullToRefresh().pullDownLoading();
//tab页切的点击事件
// var sliderSegmentedControl = document.getElementById('sliderSegmentedControl');
// $('.mui-input-group').on('change', 'input', function() {
// if (this.checked) {
// sliderSegmentedControl.className = 'mui-slider-indicator mui-segmented-control mui-segmented-control-inverted mui-segmented-control-' + this.value;
// //force repaint
// sliderProgressBar.setAttribute('style', sliderProgressBar.getAttribute('style'));
// }
// });
// 更多筛选
// $('#sliderSegmentedControl').on('tap','.item2mobile',function(){
// var moreCondition = document.querySelector('.moreCondition');
// moreCondition.style.display = moreCondition.style.display === 'none'? 'block':'none';
// });
// 更多筛选条件查询
// $('.moreCondition').on('tap','.mui-table-view-cell',function(){
// this.parentNode.parentNode.style.display = 'none';
// console.log(this.dataset.search)
// })
//绑定点击事件 - 进入详情页
$('#slider').on('tap','.am-card',function(){
let itemData = this.dataset;
console.log(JSON.stringify(itemData))
document.activeElement.blur();
common.openwin('details',{ params: JSON.stringify(itemData) },{
titleText:'详情'
})
});
});
})(mui);
</script>
</body>
</html>
\ No newline at end of file
<!doctype html>
<html
<head>
<meta charset="UTF-8">
<title></title>
<meta name="viewport" content="width=device-width,initial-scale=1,minimum-scale=1,maximum-scale=1,user-scalable=no" />
<link href="../../css/mui.min.css" rel="stylesheet" />
<link href="../../css/themes.css" rel="stylesheet" />
<link href="../../css/index_view.css" rel="stylesheet" />
<link rel="import" href="./trace_list_tpl.html" id="trace_list"/>
<style>
.competition {
margin: 10px 0 0 0;
position: relative;
}
.competition>.head {
display: flex;
justify-content: flex-start;
align-items: center;
padding: 5px 0;
color: #333;
font-size: 16px;
background-color: #fff;
}
.mui-table-view-cell {
margin: 5px 7px!important;
padding: 0;
border-radius: 6px;
background: #efeff4!important;
}
.mrl-5{
margin-left: 5%;
}
.text-leart {
display: flex;
justify-content: flex-start;
align-items: center;
min-height: 150px;
margin-top: 10px;
background: #fff;
font-size: 16px;
padding-left: 5%;
}
.head-left, .head-right{
display: flex;
justify-content: flex-start;
align-items: center;
padding-left: 5%;
height: 100%;
width: 40%;
}
.head-right .qrcode{
display: flex;
justify-content: flex-start;
align-items: center;
}
.mui-row>[class*=mui-col-] {
line-height: 30px;
}
</style>
</head>
<body>
<header class="mui-bar mui-bar-nav themes_bg_color">
<a class="mui-action-back mui-icon mui-icon-left-nav mui-pull-left">
<label class="mui-pull-right theme_back_font">返回</label>
</a>
<h1 class="mui-title themes_title">药品追溯</h1>
</header>
<div class="mui-content">
<div class="competition">
<div class="head">
<div class="head-left"><i class="mui-icon mui-icon-camera"></i>请扫描货位二维码</div>
<a href="#modal" class="head-right">
<div class="qrcode" id="qrcode" onclick="clicked('../commonPages/qrcode',true,true)">
<img src="../../assest/qrcode.png" width="48" height="48"/>
</div>
</a>
</div>
<div id="content">
<div class="text-leart">
<div class="text-content">
<i class="mui-icon mui-icon-locked"></i>扫描货位成功后,即显示该货位对应商品!
</div>
</div>
</div>
</div>
</div>
<script src="../../js/mui.js"></script>
<script src="../../js/mui.pullToRefresh.js"></script>
<script src="../../js/mui.pullToRefresh.material.js"></script>
<script src="../../js/template-web.js" type="text/javascript" charset="utf-8"></script>
<script src="../../js/utils.js" type="text/javascript" charset="utf-8"></script>
<script src="../../js/common.js" type="text/javascript" charset="utf-8"></script>
<script src="../../js/request.js" type="text/javascript" charset="utf-8"></script>
<script type="text/javascript">
//货位码
var locationCode = "";
function clicked(){
common.openwin('../commonPages/qrcode',true,{ titleText: '扫货位码' })
}
/*获取二维码返回值*/
function scaned(t, r, f) {
console.log(r+"二维码读取的数据");//返回二维码读取的数据
locationCode = r;
getData(locationCode);
}
//将tpl模板添加在页面上
var utils = new Utils();
utils.appendModule('#trace_list');
//渲染模板
function renderTemplate(data, insertType){
utils.innerTplHtml('trace_list_tpl', "#content", data, insertType);
}
function getData(locationCode){
var requestUrl = "/a/StoreDetail/queryDrugBylocCode";
var postData = {positionName:locationCode};
mui.ajaxRequest(requestUrl,{
type: 'POST',
data: postData,
success: function(data){
if(data && data.code == 200){
var resData = data.data;
var total = resData.totalPage;
if(resData.list.length == 0 || total == 0){
var text = "此货位下没有商品!货位名称:"+locationCode+",请确认后扫描!";
mui.alert(text,'提示','确定',function (e) {},'div');
}else{
var sendData = {locationCode:locationCode,list:resData.list};
return renderTemplate(sendData,false);
}
}else if(data == null){
var text = "该部门下不存在该货位!货位名称:"+locationCode+",请确认后扫描!";
mui.alert(text,'提示','确定',function (e) {},'div')
}else{
mui.alert(data.msg,'提示','确定',function (e) {},'div')
}
},
error: function(xhr,type,errorThrown){
console.log(xhr.responseText)
}
});
}
(function($) {
$.init({
beforeback:function(){
var list = plus.webview.currentWebview().opener();
mui.fire(list, 'refresh',{ getCountFlag: true });
var cur= plus.webview.currentWebview();
plus.webview.close(cur.id);
return true;
}
});
$.plusReady(function(){
//绑定点击事件(追溯) - 进入详情页
$('#content').on('tap','.traceDrugs',function(event){
var dataset = event.target.dataset;
common.openwin('traceDetail',{ params: JSON.stringify({dataset}) },false)
})
})
})(mui);
</script>
</body>
</html>
\ No newline at end of file
<!--库存查询 - 列表页 - yuweI-->
<!doctype html>
<html>
<head>
<meta charset="UTF-8">
<title></title>
<meta name="viewport" content="width=device-width,initial-scale=1,minimum-scale=1,maximum-scale=1,user-scalable=no" />
<link href="../../css/mui.min.css" rel="stylesheet" />
<link href="../../css/themes.css" rel="stylesheet" />
<link href="../../css/index_view.css" rel="stylesheet" />
<link rel="import" href="./trace_detail_body.html" id="trace_detail_body"/>
<link rel="import" href="./trace_detail_head.html" id="trace_detail_head"/>
</head>
<style type="text/css">
.head-title{
color: #333;
font-weight: bold;
font-size: 18px;
}
#trace_scroll1 {
top: 146px;
z-index: 1;
}
#trace_scroll1 .mui-table-view:before{
background: none!important;
}
#trace_scroll1 .mui-table-view .mui-table-view-cell{
padding: 0;
}
</style>
<body>
<header class="mui-bar mui-bar-nav themes_bg_color">
<a class="mui-action-back mui-icon mui-icon-left-nav mui-pull-left">
<label class="mui-pull-right theme_back_font">返回</label>
</a>
<h1 class="mui-title themes_title">药品追溯详情</h1>
</header>
<div class="mui-content">
<div class="mui-head" id="head-content">
</div>
<div id="trace_scroll1" class="mui-scroll-wrapper">
<div id='scroll' class="mui-scroll" >
<ul class="mui-table-view">
<li class="mui-table-view-cell mui-tab" style="padding: 0;"></li>
</ul>
</div>
</div>
</div>
<script src="../../js/mui.js"></script>
<script src="../../js/mui.pullToRefresh.js"></script>
<script src="../../js/mui.pullToRefresh.material.js"></script>
<script src="../../js/template-web.js" type="text/javascript" charset="utf-8"></script>
<script src="../../js/utils.js" type="text/javascript" charset="utf-8"></script>
<script src="../../js/common.js" type="text/javascript" charset="utf-8"></script>
<script src="../../js/request.js" type="text/javascript" charset="utf-8"></script>
<script type="text/javascript">
(function($) {
var deceleration = mui.os.ios?0.003:0.0009;
$('.mui-scroll-wrapper').scroll({
bounce: true,
indicators: true, //是否显示滚动条
deceleration:deceleration
});
var utils = new Utils();
utils.appendModule('#trace_detail_body');//import的id
utils.appendModule('#trace_detail_head');
var page = 1, totalPage = undefined, pageSize = 15, isMore = true, query = {};
/* 渲染模板 */
function template(tplId,conId,data, insertType){
//tpl的id,容器id,数据,true:新增,false:替换
utils.innerTplHtml(tplId,conId,data,insertType);
}
headData = null;
var requestUrl = "/a/statics/medicineStanding/newDrugLedger";
/*
* 下拉刷新
* */
function pulldownRefresh(){
var self = this;
page = 1;
mui.ajaxRequest(requestUrl,{
type: 'POST',
data: {
pageNo: page,
pageSize: pageSize,
paramsName:headData.ctmmtradename,
lot:headData.lot
},
success: function(data){
if(data.code === 200){
var resData = data.data;
totalPage = resData.totalPage;
if(resData.list.length === 0 || (resData.list.length <= resData.pageSize && resData.pageNo === resData.totalPage)){
document.querySelector('.mui-pull-loading').innerHTML = '没有更多数据';
self.endPullDownToRefresh(true);
isMore = false;
}else{
self.endPullDownToRefresh();
}
self.refresh(true);
return template('traceDetail_body', '.mui-tab',resData, false);
}else{
mui.alert(data.msg,'提示','确定',function (e) {},'div')
}
},
error: function(xhr,type,errorThrown){
console.log(xhr.responseText)
}
});
}
/*
* 上拉加载更多
* */
function pullupRefresh(){
var self = this;
if(isMore){
page++;
if( page <= totalPage ){
mui.ajaxRequest(requestUrl,{
type: 'POST',
data:{
pageNo: page,
pageSize: pageSize,
paramsName:headData.ctmmtradename,
lot:headData.lot
},
success: function(data){
if(data.code == 200){
var resData = data.data;
if(resData.pageNo === resData.totalPage){
isMore = false;
self.endPullUpToRefresh(true);
}else{
isMore = true;
self.endPullUpToRefresh(false);
self.refresh(true);
}
return template('traceDetail_body', '.mui-tab',resData, true);
}else{
mui.alert(data.msg,'提示','确定',function (e) {},'div')
}
},
error: function(xhr,type,errorThrown){
console.log(xhr.responseText)
}
});
}
}else{
document.querySelector('.mui-pull-loading').innerHTML = '没有更多数据';
self.endPullUpToRefresh(true);
}
}
$.plusReady(function(){
var self = plus.webview.currentWebview();
var params = JSON.parse(self.params);//获得参数
headData = params.dataset;
//循环初始化所有下拉刷新,上拉加载。
$.each(document.querySelectorAll('.mui-scroll'), function(index, pullRefreshEl) {
$(pullRefreshEl).pullToRefresh({
down: {
style:'circle',
contentdown : "下拉可以刷新",
contentover : "释放立即刷新",
contentrefresh : "正在刷新...",
callback: pulldownRefresh
},
up: {
contentrefresh : "正在加载...",//可选,正在加载状态时,上拉加载控件上显示的标题内容
contentnomore:'没有更多数据',
callback: pullupRefresh
}
});
});
//手动触发下拉一次
mui(".mui-scroll").pullToRefresh().pullDownLoading();
template('traceDetail_head', '#head-content',headData, false);
});
})(mui);
</script>
</body>
</html>
\ No newline at end of file
<!-- 药瓶追溯详情显示 -->
<script type="text/html" id='traceDetail_body'>
{{ each list value i}}
<div class="am-card scrollList-item am-card-full" data-id={{value.id}}>
<div class="am-card-header">
<div class="am-card-header-content">
<span style="font-size: 16px; color: rgb(51, 51, 51); font-weight: bold;">{{value.type}}</span>
</div>
<div class="am-card-header-extra">
</div>
</div>
<div class="am-card-body">
<div class="am-flexbox am-flexbox-align-center">
<div class="am-flexbox-item">
<span>{{ value.deptName }}</span>
</div>
</div>
<div class="am-flexbox am-flexbox-align-center">
<div class="am-flexbox-item">
<span>{{ value.orderNo }}</span>
</div>
<div class="am-flexbox-item">
{{if value.inStockNum != null}}
<span style="color: #ec971f;font-size: 26px;width: 23%;display: inline-block;">{{value.inStockNum}}</span>
{{else if value.outStockNum != null}}
<span style="color: #ec971f;font-size: 26px;width: 23%;display: inline-block;">-{{value.outStockNum}}</span>
{{/if}}
<span style="display: inline-block;">{{value.unit}}</span>
</div>
</div>
<div class="am-flexbox am-flexbox-align-center">
<div class="am-flexbox-item">
<span>{{ value.createDate }}</span>
</div>
<div class="am-flexbox-item">
结存:<span>{{ value.balanceNum }}</span>
</div>
</div>
</div>
</div>
<div style="background-color: #f5f5f9; height: 6px;">
</div>
{{/each}}
</script>
<!-- 药品追溯详情显示 -->
<script type="text/html" id='traceDetail_head'>
<div class="am-card scrollList-item am-card-full" data-id="{{id}}">
<div class="am-card-header">
<div class="am-card-header-content">
<span style="font-size: 16px; color: rgb(51, 51, 51); font-weight: bold;">{{ctmmtradename}}</span>
</div>
<div class="am-card-header-extra">
<span>规格:{{ctmmspecification}}</span>
</div>
</div>
<div class="am-card-body">
<div class="am-flexbox am-flexbox-align-center">
<div class="am-flexbox-item">
<span>生产批号:{{lot}}</span>
</div>
<div class="am-flexbox-itexm">
<span>当前库存:{{totalquantity}}</span>
</div>
</div>
</div>
</div>
</script>
<!-- 扫货下列显示 -->
<script type="text/html" id='trace_list_tpl'>
<div class="mui-card">
<!--页眉,放置标题-->
<div class="mui-card-header">货位:{{locationCode}}</div>
<!--内容区-->
<div class="mui-card-content">
<ul class="mui-table-view" id="list_warp">
{{ each list value i}}
<li class="mui-table-view-cell mui-media">
<div class="mui-media-body" style="padding: 3%;">
<div class="mui-col-xs-12 mui-ellipsis mui-h4" style="font-weight: bold;margin-bottom: 8px;">{{value.ctmmTradeName}}</div>
<div class="mui-row">
<span class="mui-col-xs-8 mui-ellipsis">规格:{{value.ctmmSpecification}}</span>
<span class="mui-col-xs-2" style="position: absolute;top: 25%;right: 2%;">
<button style="height: 60px;box-shadow: 4px -4px 4px #888888;" type="button"
class="mui-btn mui-btn-warning traceDrugs"
data-ctmmTradeName="{{ value.ctmmTradeName }}"
data-ctmmSpecification="{{ value.ctmmSpecification }}"
data-lot="{{ value.lot }}"
data-totalQuantity="{{ value.totalQuantity }}"
data-id="{{ value.id?value.id:"" }}" >追溯</button>
</span>
<span class="mui-col-xs-10 mui-ellipsis">厂商:{{value.ctmmManufacturerName}}</span>
<span class="mui-col-xs-6 mui-ellipsis">单位:{{value.replanUnit}}</span>
<span class="mui-col-xs-6 mui-ellipsis">数量:{{value.totalQuantity}}</span>
<span class="mui-col-xs-8 mui-ellipsis">生产批号:{{value.lot}}</span>
<span class="mui-col-xs-6 mui-ellipsis">生产日期:{{value.productDate}}</span>
<span class="mui-col-xs-6 mui-ellipsis">有效期至:{{value.validEndDate}}</span>
</p>
</div>
</li>
{{/each}}
</ul>
</div>
</div>
</script>
\ No newline at end of file
/*盘点*/
.gird{
display: flex;
justify-content:flex-start;
align-content: center;
align-items: start;
padding: 5px 10px;
}
.gird-label{
width:20%;
display: inline-block;
padding-top: 10px;
}
.gird-button{
width: 19%;
margin: 0 1%;
}
.gird-content{
width: 80%;
}
.mui-content .mui-btn.mui-btn-block{
margin:0 2%;
font-size: 14px;
width: 95%;
padding: 10px 0;
background: #f2a11c;
color: #fff;
border: 0;
}
.mui-content .mui-btn.mui-btn-block.btn{
background: #fff;
color: #666;
margin-bottom:12px;
width: 100%;
margin-left: 0;
}
#List .mui-table-view-cell{
padding: 0;
margin-bottom: 15px;
}
.search_head{
padding: 0;
}
.mui-search.search_head.mui-active::before{
content: '';
}
.search_head .mui-placeholder{
text-align: left;
padding-left: 18px;
top: 0;
}
.search_head .mui-placeholder .mui-icon-search::before{
content: '';
}
#ulList_start,#ulList_end{
position: absolute;
width: 100%;
top: 50px;
left: 0;
z-index: 9;
background-color: #efeff4;
}
.search_ullist_start,.search_ullist_end{
z-index: 2;
list-style: none;
position: relative;
margin-top: 0;
margin-bottom: 0;
padding-left: 0;
list-style: none;
width: 60%;
margin-left: 20%;
border-radius: 4px;
background-color: #FFFFFF;
}
.search_ullist_start_li,.search_ullist_end_li{
position: relative;
overflow: hidden;
margin-bottom: 1px;
padding: 10px 36px;
border-radius: 4px;
border-bottom: solid 1px #C7C7CC;
}
#textarea{
border: 1px solid rgba(0,0,0,.2);
border-radius: 4px;
background-color: #fff;
padding: 10px 15px;
margin-bottom: 0;
-webkit-appearance: none;
-webkit-user-select: none;
}
.home-card-wrapper {
margin-top: 16px;
background: #fff;
padding: 18px 16px;
}
.mui-table-view{
width: 100%;
}
.home-card-content {
/*padding-top: 18px;*/
display: flex;
justify-content: center;
}
.home-card-content .home-card-item{
position: relative;
}
.home-card-title {
border-left: 6px solid #EC971F;
font-size: 18px;
padding-left: 13px;
margin-bottom: 6px;
}
.home-card-content .home-card-text {
font-family: PingFang-SC-Regular;
text-align: center;
font-size: 14px;
color: rgba(0, 0, 0, .65);
}
.mui-media-body {
width: 200px !!important;
}
.main-title{
text-align: center;
/*height: 78px;*/
padding: 15px 0;
}
.main-title .tip-title{
font-size: 18px;
font-weight: bold;
margin-bottom: 12px;
}
#tipDetail .mui-table-view-cell{
padding: 0;
}
#tipDetail .mui-table-view-cell .mui-input-row{
display: flex;
align-items: center;
}
#tipDetail .mui-table-view-cell .mui-input-row label{
width: 25%;
}
#tipDetail .mui-table-view-cell .mui-input-row label::after{
content: ":";
}
#tipDetail .mui-table-view-cell .detailRow_content{
color: #000000;
}
/* 数字角标 */
.badge{
position: absolute;
top: 0;
right: -14px;
}
.mui-segmented-control.mui-segmented-control-inverted .mui-control-item.mui-active{
border-bottom: 2px solid #f2a11c;
}
@font-face {
font-family: MuiiconSpread;
font-weight: normal;
font-style: normal;
src: url('../fonts/mui-icons-extra.ttf') format('truetype'); /* iOS 4.1- */
}
.mui-icon-extra
{
font-family: MuiiconSpread;
font-size: 24px;
font-weight: normal;
font-style: normal;
line-height: 1;
display: inline-block;
text-decoration: none;
-webkit-font-smoothing: antialiased;
}
.mui-icon-extra-cold:before { content: "\e500"; }
.mui-icon-extra-share:before { content: "\e200"; }
.mui-icon-extra-class:before { content: "\e118"; }
.mui-icon-extra-custom:before { content: "\e117"; }
.mui-icon-extra-new:before { content: "\e103"; }
.mui-icon-extra-card:before { content: "\e104"; }
.mui-icon-extra-grech:before { content: "\e105"; }
.mui-icon-extra-trend:before { content: "\e106"; }
.mui-icon-extra-filter:before { content: "\e207"; }
.mui-icon-extra-holiday:before { content: "\e300"; }
.mui-icon-extra-cart:before { content: "\e107"; }
.mui-icon-extra-heart:before { content: "\e180"; }
.mui-icon-extra-computer:before { content: "\e600"; }
.mui-icon-extra-express:before { content: "\e108"; }
.mui-icon-extra-gift:before { content: "\e109"; }
.mui-icon-extra-gold:before { content: "\e102"; }
.mui-icon-extra-lamp:before { content: "\e601"; }
.mui-icon-extra-rank:before { content: "\e110"; }
.mui-icon-extra-notice:before { content: "\e111"; }
.mui-icon-extra-sweep:before { content: "\e202"; }
.mui-icon-extra-arrowleftcricle:before { content: "\e401"; }
.mui-icon-extra-dictionary:before { content: "\e602"; }
.mui-icon-extra-heart-filled:before { content: "\e119"; }
.mui-icon-extra-xiaoshuo:before { content: "\e607"; }
.mui-icon-extra-top:before { content: "\e403"; }
.mui-icon-extra-people:before { content: "\e203"; }
.mui-icon-extra-topic:before { content: "\e603"; }
.mui-icon-extra-hotel:before { content: "\e301"; }
.mui-icon-extra-like:before { content: "\e206"; }
.mui-icon-extra-regist:before { content: "\e201"; }
.mui-icon-extra-order:before { content: "\e113"; }
.mui-icon-extra-alipay:before { content: "\e114"; }
.mui-icon-extra-find:before { content: "\e400"; }
.mui-icon-extra-arrowrightcricle:before { content: "\e402"; }
.mui-icon-extra-calendar:before { content: "\e115"; }
.mui-icon-extra-prech:before { content: "\e116"; }
.mui-icon-extra-cate:before { content: "\e501"; }
.mui-icon-extra-comment:before { content: "\e209"; }
.mui-icon-extra-at:before { content: "\e208"; }
.mui-icon-extra-addpeople:before { content: "\e204"; }
.mui-icon-extra-peoples:before { content: "\e205"; }
.mui-icon-extra-calc:before { content: "\e101"; }
.mui-icon-extra-classroom:before { content: "\e604"; }
.mui-icon-extra-phone:before { content: "\e404"; }
.mui-icon-extra-university:before { content: "\e605"; }
.mui-icon-extra-outline:before { content: "\e606"; }
@media (-webkit-min-device-pixel-ratio: 2), not all, (min-resolution: 2dppx)
html:not([data-scale]) .am-list-body {
border-bottom: none;
}
@media (-webkit-min-device-pixel-ratio: 2), not all, (min-resolution: 2dppx)
html:not([data-scale]) .am-list-body {
border-top: none;
}
html{
line-height: 1.15;
}
body {
background-color: #f5f5f9;
font-size: 14px;
}
.am-list-body {
position: relative;
background-color: #fff;
border-top: 1PX solid #ddd;
border-bottom: 1PX solid #ddd;
}
*, *:before, *:after {
-webkit-tap-highlight-color: rgba(0, 0, 0, 0);
}
-webkit-overflow-scrolling:touch;
-webkit-touch-callout:none;
@media (-webkit-min-device-pixel-ratio: 2), not all, (min-resolution: 2dppx)
html:not([data-scale]) .am-list-body::before {
content: '';
position: absolute;
background-color: #ddd;
display: block;
z-index: 1;
top: 0;
right: auto;
bottom: auto;
left: 0;
width: 100%;
height: 1PX;
-webkit-transform-origin: 50% 50%;
-ms-transform-origin: 50% 50%;
transform-origin: 50% 50%;
-webkit-transform: scaleY(0.5);
-ms-transform: scaleY(0.5);
transform: scaleY(0.5);
}
@media (-webkit-min-device-pixel-ratio: 2), not all, (min-resolution: 2dppx)
html:not([data-scale]) .am-list-body::after {
content: '';
position: absolute;
background-color: #ddd;
display: block;
z-index: 1;
top: auto;
right: auto;
bottom: 0;
left: 0;
width: 100%;
height: 1PX;
-webkit-transform-origin: 50% 100%;
-ms-transform-origin: 50% 100%;
transform-origin: 50% 100%;
-webkit-transform: scaleY(0.5);
-ms-transform: scaleY(0.5);
transform: scaleY(0.5);
}
html:not([data-scale]) .scrollList-item .am-card-footer::before {
content: '';
position: absolute;
background-color: #ddd;
display: block;
z-index: 1;
top: 0;
right: auto;
bottom: auto;
left: 0;
width: 100%;
height: 1PX;
-webkit-transform-origin: 50% 50%;
-ms-transform-origin: 50% 50%;
transform-origin: 50% 50%;
-webkit-transform: scaleY(0.5);
-ms-transform: scaleY(0.5);
transform: scaleY(0.5);
}
input{
-webkit-appearance: none;
margin-bottom: 0 !important;
height: 30px !important;
}
input,button,select,textarea{
padding: 0;
font: inherit;
outline: none;
border: 0;
border-radius: 0;
-webkit-tap-highlight-color: transparent;
appearance: none;
-webkit-appearance: none;
background: transparent;
line-height: normal;
box-sizing: border-box;
-webkit-writing-mode: horizontal-tb;
outline: 0;
resize: none;
color: inherit;
white-space: pre-wrap;
word-wrap: break-word;
-webkit-rtl-ordering: logical;
user-select: none;
}
button{
user-select: none !important;
flex-direction: row !important;
}
input::-webkit-outer-spin-button,input::-webkit-inner-spin-button{-webkit-appearance: none !important; margin: 0;}
.check_wrapper{
padding-top: 0 !important;
}
.home-card-wrapper {
margin-top: 16px;
background: #fff;
padding: 18px 16px;
}
.home-card-content .home-card-item{
position: relative;
}
.home-card-title {
border-left: 6px solid #EC971F;
font-size: 18px;
padding-left: 13px;
margin-bottom: 6px;
}
.check_wrapper #pullrefresh .mui-table-view-cell{
padding: 0;
}
.mui-input-row input{
height: 40px !important;
}
.am-tabs * {
-webkit-box-sizing: border-box;
box-sizing: border-box;
}
.am-card.am-card-full {
position: relative;
border-top: 1PX solid #ddd;
border-bottom: 1PX solid #ddd;
}
.am-card {
min-height: 96px;
padding-bottom: 6px;
display: -ms-flexbox;
display: flex;
-ms-flex-direction: column;
flex-direction: column;
background-color: #fff;
}
.scrollList-item {
padding: 3px;
border-bottom: 1px solid #ccc;
}
.scrollList-item .am-card-header {
padding: 9px 15px 5px !important;
}
.am-card-header {
display: -ms-flexbox;
display: flex;
-ms-flex-align: center;
align-items: center;
font-size: 14px;
padding: 9px 15px;
}
.am-card-header-content {
-ms-flex: 2 1;
flex: 2 1;
text-align: left;
color: #000;
display: -ms-flexbox;
display: flex;
-ms-flex-align: center;
align-items: center;
}
.am-card-header-extra {
-ms-flex: 1 1;
flex: 1 1;
text-align: right;
font-size: 14px;
color: #888;
}
.am-card-body {
position: relative;
/*border-top: 1PX solid #ddd;*/
padding: 15px 15px 6px;
font-size: 14px;
color: #333;
min-height: 40px;
-ms-flex: 1 1;
flex: 1 1;
}
.am-card-body {
padding:12px 15px!important;
}
#scroll .am-card-body{
padding: 5px 15px !important;
}
.am-flexbox.am-flexbox-align-center {
-ms-flex-align: center;
align-items: center;
}
.scrollList-item .am-flexbox {
min-height: 30px;
line-height: 30px;
}
.detail-header-flex{
display: flex;
position: relative;
-ms-flex-align: center;
align-items: center;
justify-content: space-between;
padding: 8px 10px 0;
}
.detail-header-flex .am-action{
align-items: center;
}
.detail-header-flex .am-action a{
color: #f2a11c !important;
}
.am-flexbox {
text-align: left;
overflow: hidden;
display: -ms-flexbox;
display: flex;
-ms-flex-align: center;
align-items: center;
}
.am-card-header-content{
font-size: 14px;
color: rgb(51, 51, 51);
}
.am-flexbox .am-flexbox-item,.am-card-header-content{
white-space: nowrap;
overflow: hidden;
text-overflow: ellipsis;
}
.am-flexbox .am-last-flexItem{
overflow: visible;
margin-left: -50px;
}
.scrollList-item .am-card-footer{
position: relative;
}
.am-card-footer{
font-size: 14px;
color: #888;
padding: 5px 15px;
display: -ms-flexbox;
display: flex;
}
.am-card-footer-content, .am-card-footer-extra{
flex: 1 1;
}
.am-card-footer-extra{
text-align: right;
}
.am-card-footer-extra button{
padding: 3px 6px !important;
line-height: 1.5 !important;
}
.am-flexbox .am-flexbox-item:first-child {
margin-left: 0;
}
.am-flexbox .am-flexbox-item {
-webkit-box-sizing: border-box;
box-sizing: border-box;
-ms-flex: 1 1;
flex: 1 1;
margin-left: 8px;
min-width: 10px;
}
.am-list-item.am-input-item {
height: 36px;
padding-left: 15px;
}
.scrollList-item .am-list-item.am-input-item {
padding-left: 0 !important;
}
.am-list-line:after, .scrollList-item .am-list-line:after, .am-list-body div:not(:last-child) .am-list-line {
background: none !important;
border: 0 !important;
}
.am-list-item .am-list-line {
position: relative;
display: -ms-flexbox;
display: flex;
-ms-flex: 1 1;
flex: 1 1;
-ms-flex-item-align: stretch;
align-self: stretch;
padding-right: 8px;
overflow: hidden;
}
.am-list-item.am-list-item-middle .am-list-line {
-ms-flex-align: center;
align-items: center;
}
.am-list-item .am-input-label.am-input-label-4 {
width: 70px;
}
.am-list-item .am-input-label {
color: #000;
font-size: 14px;
margin-left: 0;
margin-right: 5px;
text-align: left;
white-space: nowrap;
/*overflow: hidden;*/
padding: 2px 0;
}
.am-list-item .am-input-control {
font-size: 14px;
-ms-flex: 1 1;
flex: 1 1;
border-bottom: solid 1px #EEEEEE;
}
.am-list-item .am-input-control input {
color: #000;
font-size: 14px;
-webkit-appearance: none;
-moz-appearance: none;
appearance: none;
/*width: 100%;*/
width: 102px;
padding: 2px 0;
border: 0;
background-color: transparent;
line-height: 1;
-webkit-box-sizing: border-box;
box-sizing: border-box;
}
.font-danger{
color: red;
font-size: 12px;
}
.font-warning{
color: #f5222d !important;
}
.inline-Input{
width: 57% !important;
height: 20px !important;
padding: 0px !important;
margin-bottom: 0 !important;
}
.am-result{
text-align: center;
}
.am-result .am-result-title {
margin-top: 15px;
line-height: 1;
}
.am-result .am-result-title, .am-result .am-result-message {
font-size: 21px;
color: #000;
padding-left: 15px;
padding-right: 15px;
}
.am-result .am-result-message {
margin-top: 9px;
line-height: 1.5;
font-size: 16px;
color: #888;
}
.ground-tag{
padding: 3px 6px;
color: #fff;
margin-left: 8px;
}
.before-ground{
background-color: #F2A11C;
}
.hasGround{
background-color: limegreen;
color: #fff;
}
.editInput{
color: #ccc;
}
.select_actualStore{
margin: 0 !important;
padding: 0 !important;
}
.checkInputDate{
float: none !important;
border-bottom: solid 1px #CCCCCC !important;
width: 25% !important;
border-radius: 0 !important;
}
.search-ullist{
z-index: 2;
background-color: #efeff4;
border: solid 1px #F5F5F9;
border-radius: 2px;
list-style: none;
position: absolute;
margin-top: 0;
margin-bottom: 0;
padding-left: 0;
list-style: none;
width: 100%;
top: 49px
}
.search-ullist-li{
position: relative;
overflow: hidden;
padding: 7px 30px;
}
.search-ullist-li::before{
font-family: Muiicons;
content: '\e466';
position: absolute;
left: 10px;
}
/* 批量 处理 */
.batch-wrapper{
display: flex;
align-items: center;
border-bottom: solid 1px #C7C7CC;
}
.batch-wrapper:last-child{
border-bottom: none;
}
.fix_bottom-wraper{
position: fixed;
z-index: 10;
bottom: 0;
height: 60px;
width: 100%;
display: flex;
background: #FFFFFF;
align-items: center;
}
.fix-bottom-content{
display: flex;
align-items: center;
flex: 1 1;
height: 100%;
border-top: solid 1px #F2A11C;
}
.fix-bottom-extra{
background: #F2A11C;
display: flex;
text-align: center;
width: 120px;
height: 100%;
align-items: center;
justify-content: space-around;
color: #fff;
font-size: 18px;
}
/*
批量处理按钮点击颜色
* */
.fix-bottom-extra:active{
color: #FFFFFF;
}
/*更多筛选*/
.moreCondition{
position: absolute;
display: none;
top: 0;
right: 0;
width: 50%;
font-size: 16px;
z-index: 2;
border-left: solid 1px #c8c7cc;
}
.moreCondition .mui-table-view-cell::after{
background-color: #fff;
}
This diff could not be displayed because it is too large.
/*!
* =====================================================
* Mui v3.7.2 (http://dev.dcloud.net.cn/mui)
* =====================================================
*//*! normalize.css v3.0.1 | MIT License | git.io/normalize */html{font-family:sans-serif;-webkit-text-size-adjust:100%}body{margin:0}article,aside,details,figcaption,figure,footer,header,hgroup,main,nav,section,summary{display:block}audio,canvas,progress,video{display:inline-block;vertical-align:baseline}audio:not([controls]){display:none;height:0}[hidden],template{display:none}a{background:0 0}a:active,a:hover{outline:0}abbr[title]{border-bottom:1px dotted}b,strong{font-weight:700}dfn{font-style:italic}h1{margin:.67em 0}mark{color:#000;background:#ff0}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sup{top:-.5em}sub{bottom:-.25em}img{border:0}svg:not(:root){overflow:hidden}figure{margin:1em 40px}hr{box-sizing:content-box;height:0}pre{overflow:auto}code,kbd,pre,samp{font-family:monospace,monospace;font-size:1em}button,input,optgroup,select,textarea{font:inherit;margin:0;color:inherit}button{overflow:visible}button,select{text-transform:none}button,html input[type=button],input[type=reset],input[type=submit]{cursor:pointer;-webkit-appearance:button}button[disabled],html input[disabled]{cursor:default}input{line-height:normal}input[type=checkbox],input[type=radio]{box-sizing:border-box;padding:0}input[type=number]::-webkit-inner-spin-button,input[type=number]::-webkit-outer-spin-button{height:auto}input[type=search]::-webkit-search-cancel-button,input[type=search]::-webkit-search-decoration{-webkit-appearance:none}fieldset{margin:0 2px;padding:.35em .625em .75em;border:1px solid silver}legend{padding:0;border:0}textarea{overflow:auto}optgroup{font-weight:700}table{border-spacing:0;border-collapse:collapse}td,th{padding:0}*{-webkit-box-sizing:border-box;box-sizing:border-box;-webkit-user-select:none;outline:0;-webkit-tap-highlight-color:transparent;-webkit-tap-highlight-color:transparent}body{font-family:'Helvetica Neue',Helvetica,sans-serif;font-size:17px;line-height:21px;color:#000;background-color:#efeff4;-webkit-overflow-scrolling:touch}a{text-decoration:none;color:#007aff}a:active{color:#0062cc}.mui-content{background-color:#efeff4;-webkit-overflow-scrolling:touch}.mui-bar-nav~.mui-content{padding-top:44px}.mui-bar-nav~.mui-content.mui-scroll-wrapper .mui-scrollbar-vertical{top:44px}.mui-bar-header-secondary~.mui-content{padding-top:88px}.mui-bar-header-secondary~.mui-content.mui-scroll-wrapper .mui-scrollbar-vertical{top:88px}.mui-bar-footer~.mui-content{padding-bottom:44px}.mui-bar-footer~.mui-content.mui-scroll-wrapper .mui-scrollbar-vertical{bottom:44px}.mui-bar-footer-secondary~.mui-content{padding-bottom:88px}.mui-bar-footer-secondary~.mui-content.mui-scroll-wrapper .mui-scrollbar-vertical{bottom:88px}.mui-bar-tab~.mui-content{padding-bottom:50px}.mui-bar-tab~.mui-content.mui-scroll-wrapper .mui-scrollbar-vertical{bottom:50px}.mui-bar-footer-secondary-tab~.mui-content{padding-bottom:94px}.mui-bar-footer-secondary-tab~.mui-content.mui-scroll-wrapper .mui-scrollbar-vertical{bottom:94px}.mui-content-padded{margin:10px}.mui-inline{display:inline-block;vertical-align:top}.mui-block{display:block!important}.mui-visibility{visibility:visible!important}.mui-hidden{display:none!important}.mui-ellipsis{overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.mui-ellipsis-2{display:-webkit-box;overflow:hidden;white-space:normal!important;text-overflow:ellipsis;word-wrap:break-word;-webkit-line-clamp:2;-webkit-box-orient:vertical}.mui-table{display:table;width:100%;table-layout:fixed}.mui-table-cell{position:relative;display:table-cell}.mui-text-left{text-align:left!important}.mui-text-center{text-align:center!important}.mui-text-justify{text-align:justify!important}.mui-text-right{text-align:right!important}.mui-pull-left{float:left}.mui-pull-right{float:right}.mui-list-unstyled{padding-left:0;list-style:none}.mui-list-inline{margin-left:-5px;padding-left:0;list-style:none}.mui-list-inline>li{display:inline-block;padding-right:5px;padding-left:5px}.mui-clearfix:after,.mui-clearfix:before{display:table;content:' '}.mui-clearfix:after{clear:both}.mui-bg-primary{background-color:#007aff}.mui-bg-positive{background-color:#4cd964}.mui-bg-negative{background-color:#dd524d}.mui-error{margin:88px 35px;padding:10px;border-radius:6px;background-color:#bbb}.mui-subtitle{font-size:15px}h1,h2,h3,h4,h5,h6{line-height:1;margin-top:5px;margin-bottom:5px}.mui-h1,h1{font-size:36px}.mui-h2,h2{font-size:30px}.mui-h3,h3{font-size:24px}.mui-h4,h4{font-size:18px}.mui-h5,h5{font-size:14px;font-weight:400;color:#8f8f94}.mui-h6,h6{font-size:12px;font-weight:400;color:#8f8f94}p{font-size:14px;margin-top:0;margin-bottom:10px;color:#8f8f94}.mui-row:after,.mui-row:before{display:table;content:' '}.mui-row:after{clear:both}.mui-col-sm-1,.mui-col-sm-10,.mui-col-sm-11,.mui-col-sm-12,.mui-col-sm-2,.mui-col-sm-3,.mui-col-sm-4,.mui-col-sm-5,.mui-col-sm-6,.mui-col-sm-7,.mui-col-sm-8,.mui-col-sm-9,.mui-col-xs-1,.mui-col-xs-10,.mui-col-xs-11,.mui-col-xs-12,.mui-col-xs-2,.mui-col-xs-3,.mui-col-xs-4,.mui-col-xs-5,.mui-col-xs-6,.mui-col-xs-7,.mui-col-xs-8,.mui-col-xs-9{position:relative;min-height:1px}.mui-row>[class*=mui-col-]{float:left}.mui-col-xs-12{width:100%}.mui-col-xs-11{width:91.66666667%}.mui-col-xs-10{width:83.33333333%}.mui-col-xs-9{width:75%}.mui-col-xs-8{width:66.66666667%}.mui-col-xs-7{width:58.33333333%}.mui-col-xs-6{width:50%}.mui-col-xs-5{width:41.66666667%}.mui-col-xs-4{width:33.33333333%}.mui-col-xs-3{width:25%}.mui-col-xs-2{width:16.66666667%}.mui-col-xs-1{width:8.33333333%}@media (min-width:400px){.mui-col-sm-12{width:100%}.mui-col-sm-11{width:91.66666667%}.mui-col-sm-10{width:83.33333333%}.mui-col-sm-9{width:75%}.mui-col-sm-8{width:66.66666667%}.mui-col-sm-7{width:58.33333333%}.mui-col-sm-6{width:50%}.mui-col-sm-5{width:41.66666667%}.mui-col-sm-4{width:33.33333333%}.mui-col-sm-3{width:25%}.mui-col-sm-2{width:16.66666667%}.mui-col-sm-1{width:8.33333333%}}.mui-scroll-wrapper{position:absolute;z-index:2;top:0;bottom:0;left:0;overflow:hidden;width:100%}.mui-scroll{position:absolute;z-index:1;width:100%}.mui-scrollbar{position:absolute;z-index:9998;overflow:hidden;-webkit-transition:500ms;transition:500ms;transform:translateZ(0px);pointer-events:none;opacity:0}.mui-scrollbar-vertical{top:0;right:1px;bottom:2px;width:4px}.mui-scrollbar-vertical .mui-scrollbar-indicator{width:100%}.mui-scrollbar-horizontal{right:2px;bottom:0;left:2px;height:4px}.mui-scrollbar-horizontal .mui-scrollbar-indicator{height:100%}.mui-scrollbar-indicator{position:absolute;display:block;box-sizing:border-box;-webkit-transition:.01s cubic-bezier(.1,.57,.1,1);transition:.01s cubic-bezier(.1,.57,.1,1);transform:translate(0px,0) translateZ(0px);border:1px solid rgba(255,255,255,.80196);border-radius:2px;background:rgba(0,0,0,.39804)}.mui-plus-pullrefresh .mui-fullscreen .mui-scroll-wrapper .mui-scroll-wrapper,.mui-plus-pullrefresh .mui-fullscreen .mui-slider-group .mui-scroll-wrapper{position:absolute;top:0;bottom:0;left:0;overflow:hidden;width:100%}.mui-plus-pullrefresh .mui-fullscreen .mui-scroll-wrapper .mui-scroll,.mui-plus-pullrefresh .mui-fullscreen .mui-slider-group .mui-scroll{position:absolute;width:100%}.mui-plus-pullrefresh .mui-scroll-wrapper,.mui-plus-pullrefresh .mui-slider-group{position:static;top:auto;bottom:auto;left:auto;overflow:auto;width:auto}.mui-plus-pullrefresh .mui-slider-group{overflow:visible}.mui-plus-pullrefresh .mui-scroll{position:static;width:auto}.mui-off-canvas-wrap .mui-bar{position:absolute!important;-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0);-webkit-box-shadow:none;box-shadow:none}.mui-off-canvas-wrap{position:relative;z-index:1;overflow:hidden;width:100%;height:100%}.mui-off-canvas-wrap .mui-inner-wrap{position:relative;z-index:1;width:100%;height:100%}.mui-off-canvas-wrap .mui-inner-wrap.mui-transitioning{-webkit-transition:-webkit-transform 350ms;transition:transform 350ms cubic-bezier(.165,.84,.44,1)}.mui-off-canvas-wrap .mui-inner-wrap .mui-off-canvas-left{-webkit-transform:translate3d(-100%,0,0);transform:translate3d(-100%,0,0)}.mui-off-canvas-wrap .mui-inner-wrap .mui-off-canvas-right{-webkit-transform:translate3d(100%,0,0);transform:translate3d(100%,0,0)}.mui-off-canvas-wrap.mui-active{overflow:hidden;height:100%}.mui-off-canvas-wrap.mui-active .mui-off-canvas-backdrop{position:absolute;z-index:998;top:0;right:0;bottom:0;left:0;display:block;transition:background 350ms cubic-bezier(.165,.84,.44,1);background:rgba(0,0,0,.4);box-shadow:-4px 0 4px rgba(0,0,0,.5),4px 0 4px rgba(0,0,0,.5);-webkit-tap-highlight-color:transparent}.mui-off-canvas-wrap.mui-slide-in .mui-off-canvas-right{z-index:10000!important;-webkit-transform:translate3d(100%,0,0)}.mui-off-canvas-wrap.mui-slide-in .mui-off-canvas-left{z-index:10000!important;-webkit-transform:translate3d(-100%,0,0)}.mui-off-canvas-left,.mui-off-canvas-right{position:absolute;z-index:-1;top:0;bottom:0;visibility:hidden;box-sizing:content-box;width:70%;min-height:100%;background:#333;-webkit-overflow-scrolling:touch}.mui-off-canvas-left.mui-transitioning,.mui-off-canvas-right.mui-transitioning{-webkit-transition:-webkit-transform 350ms cubic-bezier(.165,.84,.44,1);transition:transform 350ms cubic-bezier(.165,.84,.44,1)}.mui-off-canvas-left{left:0}.mui-off-canvas-right{right:0}.mui-off-canvas-wrap:not(.mui-slide-in).mui-scalable{background-color:#333}.mui-off-canvas-wrap:not(.mui-slide-in).mui-scalable>.mui-off-canvas-left,.mui-off-canvas-wrap:not(.mui-slide-in).mui-scalable>.mui-off-canvas-right{width:80%;-webkit-transform:scale(.8);transform:scale(.8);opacity:.1}.mui-off-canvas-wrap:not(.mui-slide-in).mui-scalable>.mui-off-canvas-left.mui-transitioning,.mui-off-canvas-wrap:not(.mui-slide-in).mui-scalable>.mui-off-canvas-right.mui-transitioning{-webkit-transition:-webkit-transform 350ms cubic-bezier(.165,.84,.44,1),opacity 350ms cubic-bezier(.165,.84,.44,1);transition:transform 350ms cubic-bezier(.165,.84,.44,1),opacity 350ms cubic-bezier(.165,.84,.44,1)}.mui-off-canvas-wrap:not(.mui-slide-in).mui-scalable>.mui-off-canvas-left{-webkit-transform-origin:-100%;transform-origin:-100%}.mui-off-canvas-wrap:not(.mui-slide-in).mui-scalable>.mui-off-canvas-right{-webkit-transform-origin:200%;transform-origin:200%}.mui-off-canvas-wrap:not(.mui-slide-in).mui-scalable.mui-active>.mui-inner-wrap{-webkit-transform:scale(.8);transform:scale(.8)}.mui-off-canvas-wrap:not(.mui-slide-in).mui-scalable.mui-active>.mui-off-canvas-left,.mui-off-canvas-wrap:not(.mui-slide-in).mui-scalable.mui-active>.mui-off-canvas-right{-webkit-transform:scale(1);transform:scale(1);opacity:1}.mui-loading .mui-spinner{display:block;margin:0 auto}.mui-spinner{display:inline-block;width:24px;height:24px;-webkit-transform-origin:50%;transform-origin:50%;-webkit-animation:spinner-spin 1s step-end infinite;animation:spinner-spin 1s step-end infinite}.mui-spinner:after{display:block;width:100%;height:100%;content:'';background-image:url('data:image/svg+xml;charset=utf-8,<svg viewBox=\'0 0 120 120\' xmlns=\'http://www.w3.org/2000/svg\' xmlns:xlink=\'http://www.w3.org/1999/xlink\'><defs><line id=\'l\' x1=\'60\' x2=\'60\' y1=\'7\' y2=\'27\' stroke=\'%236c6c6c\' stroke-width=\'11\' stroke-linecap=\'round\'/></defs><g><use xlink:href=\'%23l\' opacity=\'.27\'/><use xlink:href=\'%23l\' opacity=\'.27\' transform=\'rotate(30 60,60)\'/><use xlink:href=\'%23l\' opacity=\'.27\' transform=\'rotate(60 60,60)\'/><use xlink:href=\'%23l\' opacity=\'.27\' transform=\'rotate(90 60,60)\'/><use xlink:href=\'%23l\' opacity=\'.27\' transform=\'rotate(120 60,60)\'/><use xlink:href=\'%23l\' opacity=\'.27\' transform=\'rotate(150 60,60)\'/><use xlink:href=\'%23l\' opacity=\'.37\' transform=\'rotate(180 60,60)\'/><use xlink:href=\'%23l\' opacity=\'.46\' transform=\'rotate(210 60,60)\'/><use xlink:href=\'%23l\' opacity=\'.56\' transform=\'rotate(240 60,60)\'/><use xlink:href=\'%23l\' opacity=\'.66\' transform=\'rotate(270 60,60)\'/><use xlink:href=\'%23l\' opacity=\'.75\' transform=\'rotate(300 60,60)\'/><use xlink:href=\'%23l\' opacity=\'.85\' transform=\'rotate(330 60,60)\'/></g></svg>');background-repeat:no-repeat;background-position:50%;background-size:100%}.mui-spinner-white:after{background-image:url('data:image/svg+xml;charset=utf-8,<svg viewBox=\'0 0 120 120\' xmlns=\'http://www.w3.org/2000/svg\' xmlns:xlink=\'http://www.w3.org/1999/xlink\'><defs><line id=\'l\' x1=\'60\' x2=\'60\' y1=\'7\' y2=\'27\' stroke=\'%23fff\' stroke-width=\'11\' stroke-linecap=\'round\'/></defs><g><use xlink:href=\'%23l\' opacity=\'.27\'/><use xlink:href=\'%23l\' opacity=\'.27\' transform=\'rotate(30 60,60)\'/><use xlink:href=\'%23l\' opacity=\'.27\' transform=\'rotate(60 60,60)\'/><use xlink:href=\'%23l\' opacity=\'.27\' transform=\'rotate(90 60,60)\'/><use xlink:href=\'%23l\' opacity=\'.27\' transform=\'rotate(120 60,60)\'/><use xlink:href=\'%23l\' opacity=\'.27\' transform=\'rotate(150 60,60)\'/><use xlink:href=\'%23l\' opacity=\'.37\' transform=\'rotate(180 60,60)\'/><use xlink:href=\'%23l\' opacity=\'.46\' transform=\'rotate(210 60,60)\'/><use xlink:href=\'%23l\' opacity=\'.56\' transform=\'rotate(240 60,60)\'/><use xlink:href=\'%23l\' opacity=\'.66\' transform=\'rotate(270 60,60)\'/><use xlink:href=\'%23l\' opacity=\'.75\' transform=\'rotate(300 60,60)\'/><use xlink:href=\'%23l\' opacity=\'.85\' transform=\'rotate(330 60,60)\'/></g></svg>')}@-webkit-keyframes spinner-spin{0%{-webkit-transform:rotate(0deg)}8.33333333%{-webkit-transform:rotate(30deg)}16.66666667%{-webkit-transform:rotate(60deg)}25%{-webkit-transform:rotate(90deg)}33.33333333%{-webkit-transform:rotate(120deg)}41.66666667%{-webkit-transform:rotate(150deg)}50%{-webkit-transform:rotate(180deg)}58.33333333%{-webkit-transform:rotate(210deg)}66.66666667%{-webkit-transform:rotate(240deg)}75%{-webkit-transform:rotate(270deg)}83.33333333%{-webkit-transform:rotate(300deg)}91.66666667%{-webkit-transform:rotate(330deg)}100%{-webkit-transform:rotate(360deg)}}@keyframes spinner-spin{0%{transform:rotate(0deg)}8.33333333%{transform:rotate(30deg)}16.66666667%{transform:rotate(60deg)}25%{transform:rotate(90deg)}33.33333333%{transform:rotate(120deg)}41.66666667%{transform:rotate(150deg)}50%{transform:rotate(180deg)}58.33333333%{transform:rotate(210deg)}66.66666667%{transform:rotate(240deg)}75%{transform:rotate(270deg)}83.33333333%{transform:rotate(300deg)}91.66666667%{transform:rotate(330deg)}100%{transform:rotate(360deg)}}.mui-btn,button,input[type=button],input[type=reset],input[type=submit]{font-size:14px;font-weight:400;line-height:1.42;position:relative;display:inline-block;margin-bottom:0;padding:6px 12px;cursor:pointer;-webkit-transition:all;transition:all;-webkit-transition-timing-function:linear;transition-timing-function:linear;-webkit-transition-duration:.2s;transition-duration:.2s;text-align:center;vertical-align:top;white-space:nowrap;color:#333;border:1px solid #ccc;border-radius:3px;border-top-left-radius:3px;border-top-right-radius:3px;border-bottom-right-radius:3px;border-bottom-left-radius:3px;background-color:#fff;background-clip:padding-box}.mui-btn.mui-active:enabled,.mui-btn:enabled:active,button.mui-active:enabled,button:enabled:active,input[type=button].mui-active:enabled,input[type=button]:enabled:active,input[type=reset].mui-active:enabled,input[type=reset]:enabled:active,input[type=submit].mui-active:enabled,input[type=submit]:enabled:active{color:#fff;background-color:#929292}.mui-btn.mui-disabled,.mui-btn:disabled,button.mui-disabled,button:disabled,input[type=button].mui-disabled,input[type=button]:disabled,input[type=reset].mui-disabled,input[type=reset]:disabled,input[type=submit].mui-disabled,input[type=submit]:disabled{opacity:.6}.mui-btn-blue,.mui-btn-primary,input[type=submit]{color:#fff;border:1px solid #007aff;background-color:#007aff}.mui-btn-blue.mui-active:enabled,.mui-btn-blue:enabled:active,.mui-btn-primary.mui-active:enabled,.mui-btn-primary:enabled:active,input[type=submit].mui-active:enabled,input[type=submit]:enabled:active{color:#fff;border:1px solid #0062cc;background-color:#0062cc}.mui-btn-green,.mui-btn-positive,.mui-btn-success{color:#fff;border:1px solid #4cd964;background-color:#4cd964}.mui-btn-green.mui-active:enabled,.mui-btn-green:enabled:active,.mui-btn-positive.mui-active:enabled,.mui-btn-positive:enabled:active,.mui-btn-success.mui-active:enabled,.mui-btn-success:enabled:active{color:#fff;border:1px solid #2ac845;background-color:#2ac845}.mui-btn-warning,.mui-btn-yellow{color:#fff;border:1px solid #f0ad4e;background-color:#f0ad4e}.mui-btn-warning.mui-active:enabled,.mui-btn-warning:enabled:active,.mui-btn-yellow.mui-active:enabled,.mui-btn-yellow:enabled:active{color:#fff;border:1px solid #ec971f;background-color:#ec971f}.mui-btn-danger,.mui-btn-negative,.mui-btn-red{color:#fff;border:1px solid #dd524d;background-color:#dd524d}.mui-btn-danger.mui-active:enabled,.mui-btn-danger:enabled:active,.mui-btn-negative.mui-active:enabled,.mui-btn-negative:enabled:active,.mui-btn-red.mui-active:enabled,.mui-btn-red:enabled:active{color:#fff;border:1px solid #cf2d28;background-color:#cf2d28}.mui-btn-purple,.mui-btn-royal{color:#fff;border:1px solid #8a6de9;background-color:#8a6de9}.mui-btn-purple.mui-active:enabled,.mui-btn-purple:enabled:active,.mui-btn-royal.mui-active:enabled,.mui-btn-royal:enabled:active{color:#fff;border:1px solid #6641e2;background-color:#6641e2}.mui-btn-grey{color:#fff;border:1px solid #c7c7cc;background-color:#c7c7cc}.mui-btn-grey.mui-active:enabled,.mui-btn-grey:enabled:active{color:#fff;border:1px solid #acacb4;background-color:#acacb4}.mui-btn-outlined{background-color:transparent}.mui-btn-outlined.mui-btn-blue,.mui-btn-outlined.mui-btn-primary{color:#007aff}.mui-btn-outlined.mui-btn-green,.mui-btn-outlined.mui-btn-positive,.mui-btn-outlined.mui-btn-success{color:#4cd964}.mui-btn-outlined.mui-btn-warning,.mui-btn-outlined.mui-btn-yellow{color:#f0ad4e}.mui-btn-outlined.mui-btn-danger,.mui-btn-outlined.mui-btn-negative,.mui-btn-outlined.mui-btn-red{color:#dd524d}.mui-btn-outlined.mui-btn-purple,.mui-btn-outlined.mui-btn-royal{color:#8a6de9}.mui-btn-outlined.mui-btn-blue:enabled:active,.mui-btn-outlined.mui-btn-danger:enabled:active,.mui-btn-outlined.mui-btn-green:enabled:active,.mui-btn-outlined.mui-btn-negative:enabled:active,.mui-btn-outlined.mui-btn-positive:enabled:active,.mui-btn-outlined.mui-btn-primary:enabled:active,.mui-btn-outlined.mui-btn-purple:enabled:active,.mui-btn-outlined.mui-btn-red:enabled:active,.mui-btn-outlined.mui-btn-royal:enabled:active,.mui-btn-outlined.mui-btn-success:enabled:active,.mui-btn-outlined.mui-btn-warning:enabled:active,.mui-btn-outlined.mui-btn-yellow:enabled:active{color:#fff}.mui-btn-link{padding-top:6px;padding-bottom:6px;color:#007aff;border:0;background-color:transparent}.mui-btn-link.mui-active:enabled,.mui-btn-link:enabled:active{color:#0062cc;background-color:transparent}.mui-btn-block{font-size:18px;display:block;width:100%;margin-bottom:10px;padding:15px 0}.mui-btn .mui-badge{font-size:14px;margin:-2px -4px -2px 4px;background-color:rgba(0,0,0,.15)}.mui-btn .mui-badge-inverted,.mui-btn:enabled:active .mui-badge-inverted{background-color:transparent}.mui-btn-negative:enabled:active .mui-badge-inverted,.mui-btn-positive:enabled:active .mui-badge-inverted,.mui-btn-primary:enabled:active .mui-badge-inverted{color:#fff}.mui-btn-block .mui-badge{position:absolute;right:0;margin-right:10px}.mui-btn .mui-icon{font-size:inherit}.mui-btn.mui-icon{font-size:14px;line-height:1.42}.mui-btn.mui-fab{width:56px;height:56px;padding:16px;border-radius:50%;outline:0}.mui-btn.mui-fab.mui-btn-mini{width:40px;height:40px;padding:8px}.mui-btn.mui-fab .mui-icon{font-size:24px;line-height:24px;width:24px;height:24px}.mui-btn .mui-spinner{width:14px;height:14px;vertical-align:text-bottom}.mui-btn-block .mui-spinner{width:22px;height:22px}.mui-bar{position:fixed;z-index:10;right:0;left:0;height:44px;padding-right:10px;padding-left:10px;border-bottom:0;background-color:#f7f7f7;-webkit-box-shadow:0 0 1px rgba(0,0,0,.85);box-shadow:0 0 1px rgba(0,0,0,.85);-webkit-backface-visibility:hidden;backface-visibility:hidden}.mui-bar .mui-title{right:40px;left:40px;display:inline-block;overflow:hidden;width:auto;margin:0;text-overflow:ellipsis}.mui-bar .mui-backdrop{background:0 0}.mui-bar-header-secondary{top:44px}.mui-bar-footer{bottom:0}.mui-bar-footer-secondary{bottom:44px}.mui-bar-footer-secondary-tab{bottom:50px}.mui-bar-footer,.mui-bar-footer-secondary,.mui-bar-footer-secondary-tab{border-top:0}.mui-bar-transparent{top:0;background-color:rgba(247,247,247,0);-webkit-box-shadow:none;box-shadow:none}.mui-bar-nav{top:0;-webkit-box-shadow:0 1px 6px #ccc;box-shadow:0 1px 6px #ccc}.mui-bar-nav~.mui-content .mui-anchor{display:block;visibility:hidden;height:45px;margin-top:-45px}.mui-bar-nav.mui-bar .mui-icon{margin-right:-10px;margin-left:-10px;padding-right:10px;padding-left:10px}.mui-title{font-size:17px;font-weight:500;line-height:44px;position:absolute;display:block;width:100%;margin:0 -10px;padding:0;text-align:center;white-space:nowrap;color:#000}.mui-title a{color:inherit}.mui-bar-tab{bottom:0;display:table;width:100%;height:50px;padding:0;table-layout:fixed;border-top:0;border-bottom:0;-webkit-touch-callout:none}.mui-bar-tab .mui-tab-item{display:table-cell;overflow:hidden;width:1%;height:50px;text-align:center;vertical-align:middle;white-space:nowrap;text-overflow:ellipsis;color:#929292}.mui-bar-tab .mui-tab-item.mui-active{color:#007aff}.mui-bar-tab .mui-tab-item .mui-icon{top:3px;width:24px;height:24px;padding-top:0;padding-bottom:0}.mui-bar-tab .mui-tab-item .mui-icon~.mui-tab-label{font-size:11px;display:block;overflow:hidden;text-overflow:ellipsis}.mui-bar-tab .mui-tab-item .mui-icon:active{background:0 0}.mui-focusin>.mui-bar-header-secondary,.mui-focusin>.mui-bar-nav{position:absolute}.mui-focusin>.mui-bar~.mui-content{padding-bottom:0}.mui-bar .mui-btn{font-weight:400;position:relative;z-index:20;top:7px;margin-top:0;padding:6px 12px 7px}.mui-bar .mui-btn.mui-pull-right{margin-left:10px}.mui-bar .mui-btn.mui-pull-left{margin-right:10px}.mui-bar .mui-btn-link{font-size:16px;line-height:44px;top:0;padding:0;color:#007aff;border:0}.mui-bar .mui-btn-link.mui-active,.mui-bar .mui-btn-link:active{color:#0062cc}.mui-bar .mui-btn-block{font-size:16px;top:6px;margin-bottom:0;padding:5px 0}.mui-bar .mui-btn-nav.mui-pull-left{margin-left:-5px}.mui-bar .mui-btn-nav.mui-pull-left .mui-icon-left-nav{margin-right:-3px}.mui-bar .mui-btn-nav.mui-pull-right{margin-right:-5px}.mui-bar .mui-btn-nav.mui-pull-right .mui-icon-right-nav{margin-left:-3px}.mui-bar .mui-btn-nav:active{opacity:.3}.mui-bar .mui-icon{font-size:24px;position:relative;z-index:20;padding-top:10px;padding-bottom:10px}.mui-bar .mui-icon:active{opacity:.3}.mui-bar .mui-btn .mui-icon{top:1px;margin:0;padding:0}.mui-bar .mui-title .mui-icon{margin:0;padding:0}.mui-bar .mui-title .mui-icon.mui-icon-caret{top:4px;margin-left:-5px}.mui-bar input[type=search]{height:29px;margin:6px 0}.mui-bar .mui-input-row .mui-btn{padding:12px 10px}.mui-bar .mui-search:before{margin-top:-10px}.mui-bar .mui-input-row .mui-input-clear~.mui-icon-clear,.mui-bar .mui-input-row .mui-input-speech~.mui-icon-speech{top:0;right:12px}.mui-bar.mui-bar-header-secondary .mui-input-row .mui-input-clear~.mui-icon-clear,.mui-bar.mui-bar-header-secondary .mui-input-row .mui-input-speech~.mui-icon-speech{top:0;right:0}.mui-bar .mui-segmented-control{top:7px;width:auto;margin:0 auto}.mui-bar.mui-bar-header-secondary .mui-segmented-control{top:0}.mui-badge{font-size:12px;line-height:1;display:inline-block;padding:3px 6px;color:#333;border-radius:100px;background-color:rgba(0,0,0,.15)}.mui-badge.mui-badge-inverted{padding:0 5px 0 0;color:#929292;background-color:transparent}.mui-badge-blue,.mui-badge-primary{color:#fff;background-color:#007aff}.mui-badge-blue.mui-badge-inverted,.mui-badge-primary.mui-badge-inverted{color:#007aff;background-color:transparent}.mui-badge-green,.mui-badge-success{color:#fff;background-color:#4cd964}.mui-badge-green.mui-badge-inverted,.mui-badge-success.mui-badge-inverted{color:#4cd964;background-color:transparent}.mui-badge-warning,.mui-badge-yellow{color:#fff;background-color:#f0ad4e}.mui-badge-warning.mui-badge-inverted,.mui-badge-yellow.mui-badge-inverted{color:#f0ad4e;background-color:transparent}.mui-badge-danger,.mui-badge-red{color:#fff;background-color:#dd524d}.mui-badge-danger.mui-badge-inverted,.mui-badge-red.mui-badge-inverted{color:#dd524d;background-color:transparent}.mui-badge-purple,.mui-badge-royal{color:#fff;background-color:#8a6de9}.mui-badge-purple.mui-badge-inverted,.mui-badge-royal.mui-badge-inverted{color:#8a6de9;background-color:transparent}.mui-icon .mui-badge{font-size:10px;line-height:1.4;position:absolute;top:-2px;left:100%;margin-left:-10px;padding:1px 5px;color:#fff;background:red}.mui-card{font-size:14px;position:relative;overflow:hidden;margin:10px;border-radius:2px;background-color:#fff;background-clip:padding-box;box-shadow:0 1px 2px rgba(0,0,0,.3)}.mui-content>.mui-card:first-child{margin-top:15px}.mui-card .mui-input-group .mui-input-row:last-child:after,.mui-card .mui-input-group .mui-input-row:last-child:before,.mui-card .mui-input-group:after,.mui-card .mui-input-group:before{height:0}.mui-card .mui-table-view{margin-bottom:0;border-top:0;border-bottom:0;border-radius:6px}.mui-card .mui-table-view .mui-table-view-cell:first-child,.mui-card .mui-table-view .mui-table-view-divider:first-child{top:0;border-top-left-radius:6px;border-top-right-radius:6px}.mui-card .mui-table-view .mui-table-view-cell:last-child,.mui-card .mui-table-view .mui-table-view-divider:last-child{border-bottom-right-radius:6px;border-bottom-left-radius:6px}.mui-card .mui-table-view:after,.mui-card .mui-table-view:before,.mui-card>.mui-table-view>.mui-table-view-cell:last-child:after,.mui-card>.mui-table-view>.mui-table-view-cell:last-child:before{height:0}.mui-card-footer,.mui-card-header{position:relative;display:-webkit-box;display:-webkit-flex;display:flex;min-height:44px;padding:10px 15px;-webkit-box-pack:justify;-webkit-justify-content:space-between;justify-content:space-between;-webkit-box-align:center;-webkit-align-items:center;align-items:center}.mui-card-footer .mui-card-link,.mui-card-header .mui-card-link{line-height:44px;position:relative;display:-webkit-box;display:-webkit-flex;display:flex;height:44px;margin-top:-10px;margin-bottom:-10px;-webkit-transition-duration:.3s;transition-duration:.3s;text-decoration:none;-webkit-box-pack:start;-webkit-justify-content:flex-start;justify-content:flex-start;-webkit-box-align:center;-webkit-align-items:center;align-items:center}.mui-card-footer:before,.mui-card-header:after{position:absolute;top:0;right:0;left:0;height:1px;content:'';-webkit-transform:scaleY(.5);transform:scaleY(.5);background-color:#c8c7cc}.mui-card-header{font-size:17px;border-radius:2px 2px 0 0}.mui-card-header:after{top:auto;bottom:0}.mui-card-header>img:first-child{font-size:0;line-height:0;float:left;width:34px;height:34px}.mui-card-footer{color:#6d6d72;border-radius:0 0 2px 2px}.mui-card-content{font-size:14px;position:relative}.mui-card-content-inner{position:relative;padding:15px}.mui-card-media{vertical-align:bottom;color:#fff;background-position:center;background-size:cover}.mui-card-header.mui-card-media{display:block;padding:10px}.mui-card-header.mui-card-media .mui-media-body{font-size:14px;font-weight:500;line-height:17px;margin-bottom:0;margin-left:44px;color:#333}.mui-card-header.mui-card-media .mui-media-body p{font-size:13px;margin-bottom:0}.mui-table-view{position:relative;margin-top:0;margin-bottom:0;padding-left:0;list-style:none;background-color:#fff}.mui-table-view:after{position:absolute;right:0;bottom:0;left:0;height:1px;content:'';-webkit-transform:scaleY(.5);transform:scaleY(.5);background-color:#c8c7cc}.mui-table-view:before{position:absolute;right:0;left:0;height:1px;content:'';-webkit-transform:scaleY(.5);transform:scaleY(.5);background-color:#c8c7cc;top:-1px}.mui-table-view-icon .mui-table-view-cell .mui-navigate-right .mui-icon{font-size:20px;margin-top:-1px;margin-right:5px;margin-left:-5px}.mui-table-view-icon .mui-table-view-cell:after{left:40px}.mui-table-view-chevron .mui-table-view-cell{padding-right:65px}.mui-table-view-chevron .mui-table-view-cell>a:not(.mui-btn){margin-right:-65px}.mui-table-view-radio .mui-table-view-cell{padding-right:65px}.mui-table-view-radio .mui-table-view-cell>a:not(.mui-btn){margin-right:-65px}.mui-table-view-radio .mui-table-view-cell .mui-navigate-right:after{font-size:30px;font-weight:600;right:9px;content:'';color:#007aff}.mui-table-view-radio .mui-table-view-cell.mui-selected .mui-navigate-right:after{content:'\e472'}.mui-table-view-inverted{color:#fff;background:#333}.mui-table-view-inverted:after{position:absolute;right:0;bottom:0;left:0;height:1px;content:'';-webkit-transform:scaleY(.5);transform:scaleY(.5);background-color:#222}.mui-table-view-inverted:before{position:absolute;top:0;right:0;left:0;height:1px;content:'';-webkit-transform:scaleY(.5);transform:scaleY(.5);background-color:#222}.mui-table-view-inverted .mui-table-view-cell:after{position:absolute;right:0;bottom:0;left:15px;height:1px;content:'';-webkit-transform:scaleY(.5);transform:scaleY(.5);background-color:#222}.mui-table-view-inverted .mui-table-view-cell.mui-active,.mui-table-view-inverted .mui-table-view-cell>a:not(.mui-btn).mui-active{background-color:#242424}.mui-table-view-cell{position:relative;overflow:hidden;padding:11px 15px;-webkit-touch-callout:none}.mui-table-view-cell:after{position:absolute;right:0;bottom:0;left:15px;height:1px;content:'';-webkit-transform:scaleY(.5);transform:scaleY(.5);background-color:#c8c7cc}.mui-table-view-cell.mui-checkbox input[type=checkbox],.mui-table-view-cell.mui-radio input[type=radio]{top:8px}.mui-table-view-cell.mui-checkbox.mui-left,.mui-table-view-cell.mui-radio.mui-left{padding-left:58px}.mui-table-view-cell.mui-active{background-color:#eee}.mui-table-view-cell:last-child:after,.mui-table-view-cell:last-child:before{height:0}.mui-table-view-cell>a:not(.mui-btn){position:relative;display:block;overflow:hidden;margin:-11px -15px;padding:inherit;white-space:nowrap;text-overflow:ellipsis;color:inherit}.mui-table-view-cell>a:not(.mui-btn).mui-active{background-color:#eee}.mui-table-view-cell p{margin-bottom:0}.mui-table-view-cell.mui-transitioning>.mui-slider-handle,.mui-table-view-cell.mui-transitioning>.mui-slider-left .mui-btn,.mui-table-view-cell.mui-transitioning>.mui-slider-right .mui-btn{-webkit-transition:-webkit-transform 300ms ease;transition:transform 300ms ease}.mui-table-view-cell.mui-active>.mui-slider-handle{background-color:#eee}.mui-table-view-cell>.mui-slider-handle{position:relative;background-color:#fff}.mui-table-view-cell>.mui-slider-handle .mui-navigate-right:after,.mui-table-view-cell>.mui-slider-handle.mui-navigate-right:after{right:0}.mui-table-view-cell>.mui-slider-handle,.mui-table-view-cell>.mui-slider-left .mui-btn,.mui-table-view-cell>.mui-slider-right .mui-btn{-webkit-transition:-webkit-transform 0ms ease;transition:transform 0ms ease}.mui-table-view-cell>.mui-slider-left,.mui-table-view-cell>.mui-slider-right{position:absolute;top:0;display:-webkit-box;display:-webkit-flex;display:flex;height:100%}.mui-table-view-cell>.mui-slider-left>.mui-btn,.mui-table-view-cell>.mui-slider-right>.mui-btn{position:relative;left:0;display:-webkit-box;display:-webkit-flex;display:flex;padding:0 30px;color:#fff;border:0;border-radius:0;-webkit-box-align:center;-webkit-align-items:center;align-items:center}.mui-table-view-cell>.mui-slider-left>.mui-btn:after,.mui-table-view-cell>.mui-slider-right>.mui-btn:after{position:absolute;z-index:-1;top:0;width:600%;height:100%;content:'';background:inherit}.mui-table-view-cell>.mui-slider-left>.mui-btn.mui-icon,.mui-table-view-cell>.mui-slider-right>.mui-btn.mui-icon{font-size:30px}.mui-table-view-cell>.mui-slider-right{right:0;-webkit-transition:-webkit-transform 0ms ease;transition:transform 0ms ease;-webkit-transform:translateX(100%);transform:translateX(100%)}.mui-table-view-cell>.mui-slider-left{left:0;-webkit-transition:-webkit-transform 0ms ease;transition:transform 0ms ease;-webkit-transform:translateX(-100%);transform:translateX(-100%)}.mui-table-view-cell>.mui-slider-left>.mui-btn:after{right:100%;margin-right:-1px}.mui-table-view-divider{font-weight:500;position:relative;margin-top:-1px;margin-left:0;padding-top:6px;padding-bottom:6px;padding-left:15px;color:#999;background-color:#fafafa}.mui-table-view-divider:after{position:absolute;right:0;bottom:0;left:0;height:1px;content:'';-webkit-transform:scaleY(.5);transform:scaleY(.5);background-color:#c8c7cc}.mui-table-view-divider:before{position:absolute;top:0;right:0;left:0;height:1px;content:'';-webkit-transform:scaleY(.5);transform:scaleY(.5);background-color:#c8c7cc}.mui-table-view .mui-media,.mui-table-view .mui-media-body{overflow:hidden}.mui-table-view .mui-media-large .mui-media-object{line-height:80px;max-width:80px;height:80px}.mui-table-view .mui-media .mui-subtitle{color:#000}.mui-table-view .mui-media-object{line-height:42px;max-width:42px;height:42px}.mui-table-view .mui-media-object.mui-pull-left{margin-right:10px}.mui-table-view .mui-media-object.mui-pull-right{margin-left:10px}.mui-table-view .mui-table-view-cell.mui-media-icon .mui-media-object{line-height:29px;max-width:29px;height:29px;margin:-4px 0}.mui-table-view .mui-table-view-cell.mui-media-icon .mui-media-object img{line-height:29px;max-width:29px;height:29px}.mui-table-view .mui-table-view-cell.mui-media-icon .mui-media-object.mui-pull-left{margin-right:10px}.mui-table-view .mui-table-view-cell.mui-media-icon .mui-media-object .mui-icon{font-size:29px}.mui-table-view .mui-table-view-cell.mui-media-icon .mui-media-body:after{position:absolute;right:0;bottom:0;left:55px;height:1px;content:'';-webkit-transform:scaleY(.5);transform:scaleY(.5);background-color:#c8c7cc}.mui-table-view .mui-table-view-cell.mui-media-icon:after{height:0!important}.mui-table-view.mui-unfold .mui-table-view-cell.mui-collapse .mui-table-view{display:block}.mui-table-view.mui-unfold .mui-table-view-cell.mui-collapse .mui-table-view:after,.mui-table-view.mui-unfold .mui-table-view-cell.mui-collapse .mui-table-view:before{height:0!important}.mui-table-view.mui-unfold .mui-table-view-cell.mui-media-icon.mui-collapse .mui-media-body:after{position:absolute;right:0;bottom:0;left:70px;height:1px;content:'';-webkit-transform:scaleY(.5);transform:scaleY(.5);background-color:#c8c7cc}.mui-table-view-cell>.mui-badge,.mui-table-view-cell>.mui-btn,.mui-table-view-cell>.mui-switch,.mui-table-view-cell>a>.mui-badge,.mui-table-view-cell>a>.mui-btn,.mui-table-view-cell>a>.mui-switch{position:absolute;top:50%;right:15px;-webkit-transform:translateY(-50%);transform:translateY(-50%)}.mui-table-view-cell .mui-navigate-right>.mui-badge,.mui-table-view-cell .mui-navigate-right>.mui-btn,.mui-table-view-cell .mui-navigate-right>.mui-switch,.mui-table-view-cell .mui-push-left>.mui-badge,.mui-table-view-cell .mui-push-left>.mui-btn,.mui-table-view-cell .mui-push-left>.mui-switch,.mui-table-view-cell .mui-push-right>.mui-badge,.mui-table-view-cell .mui-push-right>.mui-btn,.mui-table-view-cell .mui-push-right>.mui-switch,.mui-table-view-cell>a .mui-navigate-right>.mui-badge,.mui-table-view-cell>a .mui-navigate-right>.mui-btn,.mui-table-view-cell>a .mui-navigate-right>.mui-switch,.mui-table-view-cell>a .mui-push-left>.mui-badge,.mui-table-view-cell>a .mui-push-left>.mui-btn,.mui-table-view-cell>a .mui-push-left>.mui-switch,.mui-table-view-cell>a .mui-push-right>.mui-badge,.mui-table-view-cell>a .mui-push-right>.mui-btn,.mui-table-view-cell>a .mui-push-right>.mui-switch{right:35px}.mui-content>.mui-table-view:first-child{margin-top:15px}.mui-table-view-cell.mui-collapse .mui-table-view .mui-table-view-cell:last-child:after,.mui-table-view-cell.mui-collapse .mui-table-view:after,.mui-table-view-cell.mui-collapse .mui-table-view:before{height:0}.mui-table-view-cell.mui-collapse>.mui-navigate-right:after,.mui-table-view-cell.mui-collapse>.mui-push-right:after{content:'\e581'}.mui-table-view-cell.mui-collapse.mui-active{margin-top:-1px}.mui-table-view-cell.mui-collapse.mui-active .mui-collapse-content,.mui-table-view-cell.mui-collapse.mui-active .mui-table-view{display:block}.mui-table-view-cell.mui-collapse.mui-active>.mui-navigate-right:after,.mui-table-view-cell.mui-collapse.mui-active>.mui-push-right:after{content:'\e580'}.mui-table-view-cell.mui-collapse.mui-active .mui-table-view-cell>a:not(.mui-btn).mui-active{margin-left:-31px;padding-left:47px}.mui-table-view-cell.mui-collapse .mui-collapse-content{position:relative;display:none;overflow:hidden;margin:11px -15px -11px;padding:8px 15px;-webkit-transition:height .35s ease;-o-transition:height .35s ease;transition:height .35s ease;background:#fff}.mui-table-view-cell.mui-collapse .mui-collapse-content>.mui-input-group,.mui-table-view-cell.mui-collapse .mui-collapse-content>.mui-slider{width:auto;height:auto;margin:-8px -15px}.mui-table-view-cell.mui-collapse .mui-collapse-content>.mui-slider{margin:-8px -16px}.mui-table-view-cell.mui-collapse .mui-table-view{display:none;margin-top:11px;margin-right:-15px;margin-bottom:-11px;margin-left:-15px;border:0}.mui-table-view-cell.mui-collapse .mui-table-view.mui-table-view-chevron{margin-right:-65px}.mui-table-view-cell.mui-collapse .mui-table-view .mui-table-view-cell{padding-left:31px;background-position:31px 100%}.mui-table-view-cell.mui-collapse .mui-table-view .mui-table-view-cell:after{position:absolute;right:0;bottom:0;left:30px;height:1px;content:'';-webkit-transform:scaleY(.5);transform:scaleY(.5);background-color:#c8c7cc}.mui-table-view.mui-grid-view{font-size:0;display:block;width:100%;padding:0 10px 10px 0;white-space:normal}.mui-table-view.mui-grid-view .mui-table-view-cell{font-size:17px;display:inline-block;margin-right:-4px;padding:10px 0 0 14px;text-align:center;vertical-align:middle;background:0 0}.mui-table-view.mui-grid-view .mui-table-view-cell .mui-media-object{width:100%;max-width:100%;height:auto}.mui-table-view.mui-grid-view .mui-table-view-cell>a:not(.mui-btn){margin:-10px 0 0 -14px}.mui-table-view.mui-grid-view .mui-table-view-cell>a:not(.mui-btn).mui-active,.mui-table-view.mui-grid-view .mui-table-view-cell>a:not(.mui-btn):active{background:0 0}.mui-table-view.mui-grid-view .mui-table-view-cell .mui-media-body{font-size:15px;line-height:15px;display:block;width:100%;height:15px;margin-top:8px;text-overflow:ellipsis;color:#333}.mui-table-view.mui-grid-view .mui-table-view-cell:after,.mui-table-view.mui-grid-view .mui-table-view-cell:before{height:0}.mui-grid-view.mui-grid-9{margin:0;padding:0;border-top:1px solid #eee;border-left:1px solid #eee;background-color:#f2f2f2}.mui-grid-view.mui-grid-9:after,.mui-grid-view.mui-grid-9:before{display:table;content:' '}.mui-grid-view.mui-grid-9:after{clear:both;position:static}.mui-grid-view.mui-grid-9 .mui-table-view-cell{margin:0;padding:11px 15px;vertical-align:top;border-right:1px solid #eee;border-bottom:1px solid #eee}.mui-grid-view.mui-grid-9 .mui-table-view-cell.mui-active{background-color:#eee}.mui-grid-view.mui-grid-9 .mui-table-view-cell>a:not(.mui-btn){margin:0;padding:10px 0}.mui-grid-view.mui-grid-9:before{height:0}.mui-grid-view.mui-grid-9 .mui-media{color:#797979}.mui-grid-view.mui-grid-9 .mui-media .mui-icon{font-size:2.4em;position:relative}.mui-slider-cell{position:relative}.mui-slider-cell>.mui-slider-handle{z-index:1}.mui-slider-cell>.mui-slider-left,.mui-slider-cell>.mui-slider-right{position:absolute;z-index:0;top:0;bottom:0}.mui-slider-cell>.mui-slider-left{left:0}.mui-slider-cell>.mui-slider-right{right:0}input,select,textarea{font-family:'Helvetica Neue',Helvetica,sans-serif;font-size:17px;-webkit-tap-highlight-color:transparent;-webkit-tap-highlight-color:transparent}input:focus,select:focus,textarea:focus{-webkit-tap-highlight-color:transparent;-webkit-tap-highlight-color:transparent;-webkit-user-modify:read-write-plaintext-only}input[type=color],input[type=date],input[type=datetime-local],input[type=datetime],input[type=email],input[type=month],input[type=number],input[type=password],input[type=search],input[type=tel],input[type=text],input[type=time],input[type=url],input[type=week],select,textarea{line-height:21px;width:100%;height:40px;margin-bottom:15px;padding:10px 15px;-webkit-user-select:text;border:1px solid rgba(0,0,0,.2);border-radius:3px;outline:0;background-color:#fff;-webkit-appearance:none}input[type=number]::-webkit-inner-spin-button,input[type=number]::-webkit-outer-spin-button{margin:0;-webkit-appearance:none}input[type=search]{font-size:16px;-webkit-box-sizing:border-box;box-sizing:border-box;height:34px;text-align:center;border:0;border-radius:6px;background-color:rgba(0,0,0,.1)}input[type=search]:focus{text-align:left}textarea{height:auto;resize:none}select{font-size:14px;height:auto;margin-top:1px;border:0!important;background-color:#fff}select:focus{-webkit-user-modify:read-only}.mui-input-group{position:relative;padding:0;border:0;background-color:#fff}.mui-input-group:after{position:absolute;right:0;bottom:0;left:0;height:1px;content:'';-webkit-transform:scaleY(.5);transform:scaleY(.5);background-color:#c8c7cc}.mui-input-group:before{position:absolute;top:0;right:0;left:0;height:1px;content:'';-webkit-transform:scaleY(.5);transform:scaleY(.5);background-color:#c8c7cc}.mui-input-group input,.mui-input-group textarea{margin-bottom:0;border:0;border-radius:0;background-color:transparent;-webkit-box-shadow:none;box-shadow:none}.mui-input-group input[type=search]{background:0 0}.mui-input-group input:last-child{background-image:none}.mui-input-row{clear:left;overflow:hidden}.mui-input-row select{font-size:17px;height:37px;padding:0}.mui-input-row .mui-btn+input,.mui-input-row label+input,.mui-input-row:last-child{background:0 0}.mui-input-group .mui-input-row{height:40px}.mui-input-group .mui-input-row:after{position:absolute;right:0;bottom:0;left:15px;height:1px;content:'';-webkit-transform:scaleY(.5);transform:scaleY(.5);background-color:#c8c7cc}.mui-input-row label{font-family:'Helvetica Neue',Helvetica,sans-serif;line-height:1.1;float:left;width:35%;padding:11px 15px}.mui-input-row label~input,.mui-input-row label~select,.mui-input-row label~textarea{float:right;width:65%;margin-bottom:0;padding-left:0;border:0}.mui-input-row .mui-btn{line-height:1.1;float:right;width:15%;padding:10px 15px}.mui-input-row .mui-btn~input,.mui-input-row .mui-btn~select,.mui-input-row .mui-btn~textarea{float:left;width:85%;margin-bottom:0;padding-left:0;border:0}.mui-button-row{position:relative;padding-top:5px;text-align:center}.mui-input-group .mui-button-row{height:45px}.mui-input-row{position:relative}.mui-input-row.mui-input-range{overflow:visible;padding-right:20px}.mui-input-row .mui-inline{padding:8px 0}.mui-input-row .mui-input-clear~.mui-icon-clear,.mui-input-row .mui-input-password~.mui-icon-eye,.mui-input-row .mui-input-speech~.mui-icon-speech{font-size:20px;position:absolute;z-index:1;top:10px;right:0;width:38px;height:38px;text-align:center;color:#999}.mui-input-row .mui-input-clear~.mui-icon-clear.mui-active,.mui-input-row .mui-input-password~.mui-icon-eye.mui-active,.mui-input-row .mui-input-speech~.mui-icon-speech.mui-active{color:#007aff}.mui-input-row .mui-input-speech~.mui-icon-speech{font-size:24px;top:8px}.mui-input-row .mui-input-clear~.mui-icon-clear~.mui-icon-speech{display:none}.mui-input-row .mui-input-clear~.mui-icon-clear.mui-hidden~.mui-icon-speech{display:inline-block}.mui-input-row .mui-icon-speech~.mui-placeholder{right:38px}.mui-input-row.mui-search .mui-icon-clear{top:7px}.mui-input-row.mui-search .mui-icon-speech{top:5px}.mui-checkbox,.mui-radio{position:relative}.mui-checkbox label,.mui-radio label{display:inline-block;float:none;width:100%;padding-right:58px}.mui-checkbox.mui-left input[type=checkbox],.mui-radio.mui-left input[type=radio]{left:20px}.mui-checkbox.mui-left label,.mui-radio.mui-left label{padding-right:15px;padding-left:58px}.mui-checkbox input[type=checkbox],.mui-radio input[type=radio]{position:absolute;top:4px;right:20px;display:inline-block;width:28px;height:26px;border:0;outline:0!important;background-color:transparent;-webkit-appearance:none}.mui-checkbox input[type=checkbox][disabled]:before,.mui-radio input[type=radio][disabled]:before{opacity:.3}.mui-checkbox input[type=checkbox]:before,.mui-radio input[type=radio]:before{font-family:Muiicons;font-size:28px;font-weight:400;line-height:1;text-decoration:none;color:#aaa;border-radius:0;background:0 0;-webkit-font-smoothing:antialiased}.mui-checkbox input[type=checkbox]:checked:before,.mui-radio input[type=radio]:checked:before{color:#007aff}.mui-checkbox label.mui-disabled,.mui-checkbox.mui-disabled label,.mui-radio label.mui-disabled,.mui-radio.mui-disabled label{opacity:.4}.mui-radio input[type=radio]:before{content:'\e411'}.mui-radio input[type=radio]:checked:before{content:'\e441'}.mui-checkbox input[type=checkbox]:before{content:'\e411'}.mui-checkbox input[type=checkbox]:checked:before{content:'\e442'}.mui-select{position:relative}.mui-select:before{font-family:Muiicons;position:absolute;top:8px;right:21px;content:'\e581';color:rgba(170,170,170,.6)}.mui-input-row .mui-switch{float:right;margin-top:5px;margin-right:20px}.mui-input-range input[type=range]{position:relative;width:100%;height:2px;margin:17px 0;padding:0;cursor:pointer;border:0;border-radius:3px;outline:0;background-color:#999;-webkit-appearance:none!important}.mui-input-range input[type=range]::-webkit-slider-thumb{width:28px;height:28px;border-color:#0062cc;border-radius:50%;background-color:#007aff;background-clip:padding-box;-webkit-appearance:none!important}.mui-input-range label~input[type=range]{width:65%}.mui-input-range .mui-tooltip{font-size:36px;line-height:64px;position:absolute;z-index:1;top:-70px;width:64px;height:64px;text-align:center;opacity:.8;color:#333;border:1px solid #ddd;border-radius:6px;background-color:#fff;text-shadow:0 1px 0 #f3f3f3}.mui-search{position:relative}.mui-search input[type=search]{padding-left:30px}.mui-search .mui-placeholder{font-size:16px;line-height:34px;position:absolute;z-index:1;top:0;right:0;bottom:0;left:0;display:inline-block;height:34px;text-align:center;color:#999;border:0;border-radius:6px;background:0 0}.mui-search .mui-placeholder .mui-icon{font-size:20px;color:#333}.mui-search:before{font-family:Muiicons;font-size:20px;font-weight:400;position:absolute;top:50%;right:50%;display:none;margin-top:-18px;margin-right:31px;content:'\e466'}.mui-search.mui-active:before{font-size:20px;right:auto;left:5px;display:block;margin-right:0}.mui-search.mui-active input[type=search]{text-align:left}.mui-search.mui-active .mui-placeholder{display:none}.mui-segmented-control{font-size:15px;font-weight:400;position:relative;display:table;overflow:hidden;width:100%;table-layout:fixed;border:1px solid #007aff;border-radius:3px;background-color:transparent;-webkit-touch-callout:none}.mui-segmented-control.mui-segmented-control-vertical{border-collapse:collapse;border-width:0;border-radius:0}.mui-segmented-control.mui-segmented-control-vertical .mui-control-item{display:block;border-bottom:1px solid #c8c7cc;border-left-width:0}.mui-segmented-control.mui-scroll-wrapper{height:38px}.mui-segmented-control.mui-scroll-wrapper .mui-scroll{width:auto;height:40px;white-space:nowrap}.mui-segmented-control.mui-scroll-wrapper .mui-control-item{display:inline-block;width:auto;padding:0 20px;border:0}.mui-segmented-control .mui-control-item{line-height:38px;display:table-cell;overflow:hidden;width:1%;-webkit-transition:background-color .1s linear;transition:background-color .1s linear;text-align:center;white-space:nowrap;text-overflow:ellipsis;color:#007aff;border-color:#007aff;border-left:1px solid #007aff}.mui-segmented-control .mui-control-item:first-child{border-left-width:0}.mui-segmented-control .mui-control-item.mui-active{color:#fff;background-color:#007aff}.mui-segmented-control.mui-segmented-control-inverted{width:100%;border:0;border-radius:0}.mui-segmented-control.mui-segmented-control-inverted.mui-segmented-control-vertical .mui-control-item,.mui-segmented-control.mui-segmented-control-inverted.mui-segmented-control-vertical .mui-control-item.mui-active{border-bottom:1px solid #c8c7cc}.mui-segmented-control.mui-segmented-control-inverted .mui-control-item{color:inherit;border:0}.mui-segmented-control.mui-segmented-control-inverted .mui-control-item.mui-active{color:#007aff;border-bottom:2px solid #007aff;background:0 0}.mui-segmented-control.mui-segmented-control-inverted~.mui-slider-progress-bar{background-color:#007aff}.mui-segmented-control-positive{border:1px solid #4cd964}.mui-segmented-control-positive .mui-control-item{color:#4cd964;border-color:inherit}.mui-segmented-control-positive .mui-control-item.mui-active{color:#fff;background-color:#4cd964}.mui-segmented-control-positive.mui-segmented-control-inverted .mui-control-item.mui-active{color:#4cd964;border-bottom:2px solid #4cd964;background:0 0}.mui-segmented-control-positive.mui-segmented-control-inverted~.mui-slider-progress-bar{background-color:#4cd964}.mui-segmented-control-negative{border:1px solid #dd524d}.mui-segmented-control-negative .mui-control-item{color:#dd524d;border-color:inherit}.mui-segmented-control-negative .mui-control-item.mui-active{color:#fff;background-color:#dd524d}.mui-segmented-control-negative.mui-segmented-control-inverted .mui-control-item.mui-active{color:#dd524d;border-bottom:2px solid #dd524d;background:0 0}.mui-segmented-control-negative.mui-segmented-control-inverted~.mui-slider-progress-bar{background-color:#dd524d}.mui-control-content{position:relative;display:none}.mui-control-content.mui-active{display:block}.mui-popover{position:absolute;z-index:999;display:none;width:280px;-webkit-transition:opacity .3s;transition:opacity .3s;-webkit-transition-property:opacity;transition-property:opacity;-webkit-transform:none;transform:none;opacity:0;border-radius:7px;background-color:#f7f7f7;-webkit-box-shadow:0 0 15px rgba(0,0,0,.1);box-shadow:0 0 15px rgba(0,0,0,.1)}.mui-popover .mui-popover-arrow{position:absolute;z-index:1000;top:-25px;left:0;overflow:hidden;width:26px;height:26px}.mui-popover .mui-popover-arrow:after{position:absolute;top:19px;left:0;width:26px;height:26px;content:' ';-webkit-transform:rotate(45deg);transform:rotate(45deg);border-radius:3px;background:#f7f7f7}.mui-popover .mui-popover-arrow.mui-bottom{top:100%;left:-26px;margin-top:-1px}.mui-popover .mui-popover-arrow.mui-bottom:after{top:-19px;left:0}.mui-popover.mui-popover-action{bottom:0;width:100%;-webkit-transition:-webkit-transform .3s,opacity .3s;transition:transform .3s,opacity .3s;-webkit-transform:translate3d(0,100%,0);transform:translate3d(0,100%,0);border-radius:0;background:0 0;-webkit-box-shadow:none;box-shadow:none}.mui-popover.mui-popover-action .mui-popover-arrow{display:none}.mui-popover.mui-popover-action.mui-popover-bottom{position:fixed}.mui-popover.mui-popover-action.mui-active{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}.mui-popover.mui-popover-action .mui-table-view{margin:8px;text-align:center;color:#007aff;border-radius:4px}.mui-popover.mui-popover-action .mui-table-view .mui-table-view-cell:after{position:absolute;right:0;bottom:0;left:0;height:1px;content:'';-webkit-transform:scaleY(.5);transform:scaleY(.5);background-color:#c8c7cc}.mui-popover.mui-popover-action .mui-table-view small{font-weight:400;line-height:1.3;display:block}.mui-popover.mui-active{display:block;opacity:1}.mui-popover .mui-bar~.mui-table-view{padding-top:44px}.mui-backdrop{position:fixed;z-index:998;top:0;right:0;bottom:0;left:0;background-color:rgba(0,0,0,.3)}.mui-bar-backdrop.mui-backdrop{bottom:50px;background:0 0}.mui-backdrop-action.mui-backdrop{background-color:rgba(0,0,0,.3)}.mui-backdrop-action.mui-backdrop,.mui-bar-backdrop.mui-backdrop{opacity:0}.mui-backdrop-action.mui-backdrop.mui-active,.mui-bar-backdrop.mui-backdrop.mui-active{-webkit-transition:all .4s ease;transition:all .4s ease;opacity:1}.mui-popover .mui-btn-block{margin-bottom:5px}.mui-popover .mui-btn-block:last-child{margin-bottom:0}.mui-popover .mui-bar{-webkit-box-shadow:none;box-shadow:none}.mui-popover .mui-bar-nav{border-bottom:1px solid rgba(0,0,0,.15);border-top-left-radius:12px;border-top-right-radius:12px;-webkit-box-shadow:none;box-shadow:none}.mui-popover .mui-scroll-wrapper{margin:7px 0;border-radius:7px;background-clip:padding-box}.mui-popover .mui-scroll .mui-table-view{max-height:none}.mui-popover .mui-table-view{overflow:auto;max-height:300px;margin-bottom:0;border-radius:7px;background-color:#f7f7f7;background-image:none;-webkit-overflow-scrolling:touch}.mui-popover .mui-table-view:after,.mui-popover .mui-table-view:before{height:0}.mui-popover .mui-table-view .mui-table-view-cell:first-child,.mui-popover .mui-table-view .mui-table-view-cell:first-child>a:not(.mui-btn){border-top-left-radius:12px;border-top-right-radius:12px}.mui-popover .mui-table-view .mui-table-view-cell:last-child,.mui-popover .mui-table-view .mui-table-view-cell:last-child>a:not(.mui-btn){border-bottom-right-radius:12px;border-bottom-left-radius:12px}.mui-popover.mui-bar-popover .mui-table-view{width:106px}.mui-popover.mui-bar-popover .mui-table-view .mui-table-view-cell{padding:11px 15px;background-position:0 100%}.mui-popover.mui-bar-popover .mui-table-view .mui-table-view-cell>a:not(.mui-btn){margin:-11px -15px -11px -15px}.mui-popup-backdrop{position:fixed;z-index:998;top:0;right:0;bottom:0;left:0;-webkit-transition-duration:400ms;transition-duration:400ms;opacity:0;background:rgba(0,0,0,.4)}.mui-popup-backdrop.mui-active{opacity:1}.mui-popup{position:fixed;z-index:10000;top:50%;left:50%;display:none;overflow:hidden;width:270px;-webkit-transition-property:-webkit-transform,opacity;transition-property:transform,opacity;-webkit-transform:translate3d(-50%,-50%,0) scale(1.185);transform:translate3d(-50%,-50%,0) scale(1.185);text-align:center;opacity:0;color:#000;border-radius:13px}.mui-popup.mui-popup-in{display:block;-webkit-transition-duration:400ms;transition-duration:400ms;-webkit-transform:translate3d(-50%,-50%,0) scale(1);transform:translate3d(-50%,-50%,0) scale(1);opacity:1}.mui-popup.mui-popup-out{-webkit-transition-duration:400ms;transition-duration:400ms;-webkit-transform:translate3d(-50%,-50%,0) scale(1);transform:translate3d(-50%,-50%,0) scale(1);opacity:0}.mui-popup-inner{position:relative;padding:15px;border-radius:13px 13px 0 0;background:rgba(255,255,255,.95)}.mui-popup-inner:after{position:absolute;z-index:15;top:auto;right:auto;bottom:0;left:0;display:block;width:100%;height:1px;content:'';-webkit-transform:scaleY(.5);transform:scaleY(.5);-webkit-transform-origin:50% 100%;transform-origin:50% 100%;background-color:rgba(0,0,0,.2)}.mui-popup-title{font-size:18px;font-weight:500;text-align:center}.mui-popup-title+.mui-popup-text{font-family:inherit;font-size:14px;margin:5px 0 0}.mui-popup-buttons{position:relative;display:-webkit-box;display:-webkit-flex;display:flex;height:44px;-webkit-box-pack:center;-webkit-justify-content:center;justify-content:center}.mui-popup-button{font-size:17px;line-height:44px;position:relative;display:block;overflow:hidden;box-sizing:border-box;width:100%;height:44px;padding:0 5px;cursor:pointer;text-align:center;white-space:nowrap;text-overflow:ellipsis;color:#007aff;background:rgba(255,255,255,.95);-webkit-box-flex:1}.mui-popup-button:after{position:absolute;z-index:15;top:0;right:0;bottom:auto;left:auto;display:block;width:1px;height:100%;content:'';-webkit-transform:scaleX(.5);transform:scaleX(.5);-webkit-transform-origin:100% 50%;transform-origin:100% 50%;background-color:rgba(0,0,0,.2)}.mui-popup-button:first-child{border-radius:0 0 0 13px}.mui-popup-button:first-child:last-child{border-radius:0 0 13px 13px}.mui-popup-button:last-child{border-radius:0 0 13px}.mui-popup-button:last-child:after{display:none}.mui-popup-button.mui-popup-button-bold{font-weight:600}.mui-popup-input input{font-size:14px;width:100%;height:26px;margin:15px 0 0;padding:0 5px;border:1px solid rgba(0,0,0,.3);border-radius:0;background:#fff}.mui-plus.mui-android .mui-popup-backdrop{-webkit-transition-duration:1ms;transition-duration:1ms}.mui-plus.mui-android .mui-popup{-webkit-transition-duration:1ms;transition-duration:1ms;-webkit-transform:translate3d(-50%,-50%,0) scale(1);transform:translate3d(-50%,-50%,0) scale(1)}.mui-progressbar{position:relative;display:block;overflow:hidden;width:100%;height:2px;-webkit-transform-origin:center top;transform-origin:center top;vertical-align:middle;border-radius:2px;background:#b6b6b6;-webkit-transform-style:preserve-3d;transform-style:preserve-3d}.mui-progressbar span{position:absolute;top:0;left:0;width:100%;height:100%;-webkit-transition:150ms;transition:150ms;-webkit-transform:translate3d(-100%,0,0);transform:translate3d(-100%,0,0);background:#007aff}.mui-progressbar.mui-progressbar-infinite:before{position:absolute;top:0;left:0;width:100%;height:100%;content:'';-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0);-webkit-transform-origin:left center;transform-origin:left center;-webkit-animation:mui-progressbar-infinite 1s linear infinite;animation:mui-progressbar-infinite 1s linear infinite;background:#007aff}body>.mui-progressbar{position:absolute;z-index:10000;top:44px;left:0;border-radius:0}.mui-progressbar-in{-webkit-animation:mui-progressbar-in 300ms forwards;animation:mui-progressbar-in 300ms forwards}.mui-progressbar-out{-webkit-animation:mui-progressbar-out 300ms forwards;animation:mui-progressbar-out 300ms forwards}@-webkit-keyframes mui-progressbar-in{from{-webkit-transform:scaleY(0);opacity:0}to{-webkit-transform:scaleY(1);opacity:1}}@keyframes mui-progressbar-in{from{transform:scaleY(0);opacity:0}to{transform:scaleY(1);opacity:1}}@-webkit-keyframes mui-progressbar-out{from{-webkit-transform:scaleY(1);opacity:1}to{-webkit-transform:scaleY(0);opacity:0}}@keyframes mui-progressbar-out{from{transform:scaleY(1);opacity:1}to{transform:scaleY(0);opacity:0}}@-webkit-keyframes mui-progressbar-infinite{0%{-webkit-transform:translate3d(-50%,0,0) scaleX(.5)}100%{-webkit-transform:translate3d(100%,0,0) scaleX(.5)}}@keyframes mui-progressbar-infinite{0%{transform:translate3d(-50%,0,0) scaleX(.5)}100%{transform:translate3d(100%,0,0) scaleX(.5)}}.mui-pagination{display:inline-block;margin:0 auto;padding-left:0;border-radius:6px}.mui-pagination>li{display:inline}.mui-pagination>li>a,.mui-pagination>li>span{line-height:1.428571429;position:relative;float:left;margin-left:-1px;padding:6px 12px;text-decoration:none;color:#007aff;border:1px solid #ddd;background-color:#fff}.mui-pagination>li:first-child>a,.mui-pagination>li:first-child>span{margin-left:0;border-top-left-radius:6px;border-bottom-left-radius:6px;background-clip:padding-box}.mui-pagination>li:last-child>a,.mui-pagination>li:last-child>span{border-top-right-radius:6px;border-bottom-right-radius:6px;background-clip:padding-box}.mui-pagination>li.mui-active>a,.mui-pagination>li.mui-active>a:active,.mui-pagination>li.mui-active>span,.mui-pagination>li.mui-active>span:active,.mui-pagination>li:active>a,.mui-pagination>li:active>a:active,.mui-pagination>li:active>span,.mui-pagination>li:active>span:active{z-index:2;cursor:default;color:#fff;border-color:#007aff;background-color:#007aff}.mui-pagination>li.mui-disabled>a,.mui-pagination>li.mui-disabled>a:active,.mui-pagination>li.mui-disabled>span,.mui-pagination>li.mui-disabled>span:active{opacity:.6;color:#777;border:1px solid #ddd;background-color:#fff}.mui-pagination-lg>li>a,.mui-pagination-lg>li>span{font-size:18px;padding:10px 16px}.mui-pagination-sm>li>a,.mui-pagination-sm>li>span{font-size:12px;padding:5px 10px}.mui-pager{padding-left:0;list-style:none;text-align:center}.mui-pager:after,.mui-pager:before{display:table;content:' '}.mui-pager:after{clear:both}.mui-pager li{display:inline}.mui-pager li>a,.mui-pager li>span{display:inline-block;padding:5px 14px;border:1px solid #ddd;border-radius:6px;background-color:#fff;background-clip:padding-box}.mui-pager li.mui-active>a,.mui-pager li.mui-active>span,.mui-pager li:active>a,.mui-pager li:active>span{cursor:default;text-decoration:none;color:#fff;border-color:#007aff;background-color:#007aff}.mui-pager .mui-next>a,.mui-pager .mui-next>span{float:right}.mui-pager .mui-previous>a,.mui-pager .mui-previous>span{float:left}.mui-pager .mui-disabled>a,.mui-pager .mui-disabled>a:active,.mui-pager .mui-disabled>span,.mui-pager .mui-disabled>span:active{opacity:.6;color:#777;border:1px solid #ddd;background-color:#fff}.mui-modal{position:fixed;z-index:999;top:0;overflow:hidden;width:100%;min-height:100%;-webkit-transition:-webkit-transform .25s,opacity 1ms .25s;transition:transform .25s,opacity 1ms .25s;-webkit-transition-timing-function:cubic-bezier(.1,.5,.1,1);transition-timing-function:cubic-bezier(.1,.5,.1,1);-webkit-transform:translate3d(0,100%,0);transform:translate3d(0,100%,0);opacity:0;background-color:#fff}.mui-modal.mui-active{height:100%;-webkit-transition:-webkit-transform .25s;transition:transform .25s;-webkit-transition-timing-function:cubic-bezier(.1,.5,.1,1);transition-timing-function:cubic-bezier(.1,.5,.1,1);-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0);opacity:1}.mui-android .mui-modal .mui-bar{position:static}.mui-android .mui-modal .mui-bar-nav~.mui-content{padding-top:0}.mui-slider{position:relative;z-index:1;overflow:hidden;width:100%}.mui-slider .mui-segmented-control.mui-segmented-control-inverted .mui-control-item.mui-active{border-bottom:0}.mui-slider .mui-segmented-control.mui-segmented-control-inverted~.mui-slider-group .mui-slider-item{border-top:1px solid #c8c7cc;border-bottom:1px solid #c8c7cc}.mui-slider .mui-slider-group{font-size:0;position:relative;-webkit-transition:all 0s linear;transition:all 0s linear;white-space:nowrap}.mui-slider .mui-slider-group .mui-slider-item{font-size:14px;position:relative;display:inline-block;width:100%;height:100%;vertical-align:top;white-space:normal}.mui-slider .mui-slider-group .mui-slider-item>a:not(.mui-control-item){line-height:0;position:relative;display:block}.mui-slider .mui-slider-group .mui-slider-item img{width:100%}.mui-slider .mui-slider-group .mui-slider-item .mui-table-view:after,.mui-slider .mui-slider-group .mui-slider-item .mui-table-view:before{height:0}.mui-slider .mui-slider-group.mui-slider-loop{-webkit-transform:translate(-100%,0);transform:translate(-100%,0)}.mui-slider-title{line-height:30px;position:absolute;bottom:0;left:0;width:100%;height:30px;margin:0;text-align:left;text-indent:12px;opacity:.8;background-color:#000}.mui-slider-indicator{position:absolute;bottom:8px;width:100%;text-align:center;background:0 0}.mui-slider-indicator.mui-segmented-control{position:relative;bottom:auto}.mui-slider-indicator .mui-indicator{display:inline-block;width:6px;height:6px;margin:1px 6px;cursor:pointer;border-radius:50%;background:#aaa;-webkit-box-shadow:0 0 1px 1px rgba(130,130,130,.7);box-shadow:0 0 1px 1px rgba(130,130,130,.7)}.mui-slider-indicator .mui-active.mui-indicator{background:#fff}.mui-slider-indicator .mui-icon{font-size:20px;line-height:30px;width:40px;height:30px;margin:3px;text-align:center;border:1px solid #ddd}.mui-slider-indicator .mui-number{line-height:32px;display:inline-block;width:58px}.mui-slider-indicator .mui-number span{color:#ff5053}.mui-slider-progress-bar{z-index:1;height:2px;-webkit-transform:translateZ(0);transform:translateZ(0)}.mui-switch{position:relative;display:block;width:74px;height:30px;-webkit-transition-timing-function:ease-in-out;transition-timing-function:ease-in-out;-webkit-transition-duration:.2s;transition-duration:.2s;-webkit-transition-property:background-color,border;transition-property:background-color,border;border:2px solid #ddd;border-radius:20px;background-color:#fff;background-clip:padding-box}.mui-switch.mui-disabled{opacity:.3}.mui-switch .mui-switch-handle{position:absolute;z-index:1;top:-1px;left:-1px;width:28px;height:28px;-webkit-transition:.2s ease-in-out;transition:.2s ease-in-out;-webkit-transition-property:-webkit-transform,width,left;transition-property:transform,width,left;border-radius:16px;background-color:#fff;background-clip:padding-box;-webkit-box-shadow:0 2px 5px rgba(0,0,0,.4);box-shadow:0 2px 5px rgba(0,0,0,.4)}.mui-switch:before{font-size:13px;position:absolute;top:3px;right:11px;content:'Off';text-transform:uppercase;color:#999}.mui-switch.mui-dragging{border-color:#f7f7f7;background-color:#f7f7f7}.mui-switch.mui-dragging .mui-switch-handle{width:38px}.mui-switch.mui-dragging.mui-active .mui-switch-handle{left:-11px;width:38px}.mui-switch.mui-active{border-color:#4cd964;background-color:#4cd964}.mui-switch.mui-active .mui-switch-handle{-webkit-transform:translate(43px,0);transform:translate(43px,0)}.mui-switch.mui-active:before{right:auto;left:15px;content:'On';color:#fff}.mui-switch input[type=checkbox]{display:none}.mui-switch-mini{width:47px}.mui-switch-mini:before{display:none}.mui-switch-mini.mui-active .mui-switch-handle{-webkit-transform:translate(16px,0);transform:translate(16px,0)}.mui-switch-blue.mui-active{border:2px solid #007aff;background-color:#007aff}.mui-content.mui-fade{left:0;opacity:0}.mui-content.mui-fade.mui-in{opacity:1}.mui-content.mui-sliding{z-index:2;-webkit-transition:-webkit-transform .4s;transition:transform .4s;-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}.mui-content.mui-sliding.mui-left{z-index:1;-webkit-transform:translate3d(-100%,0,0);transform:translate3d(-100%,0,0)}.mui-content.mui-sliding.mui-right{z-index:3;-webkit-transform:translate3d(100%,0,0);transform:translate3d(100%,0,0)}.mui-navigate-right:after,.mui-push-left:after,.mui-push-right:after{font-family:Muiicons;font-size:inherit;line-height:1;position:absolute;top:50%;display:inline-block;-webkit-transform:translateY(-50%);transform:translateY(-50%);text-decoration:none;color:#bbb;-webkit-font-smoothing:antialiased}.mui-push-left:after{left:15px;content:'\e582'}.mui-navigate-right:after,.mui-push-right:after{right:15px;content:'\e583'}.mui-pull-bottom-pocket,.mui-pull-top-pocket{position:absolute;left:0;display:block;visibility:hidden;overflow:hidden;width:100%;height:50px}.mui-plus-pullrefresh .mui-pull-bottom-pocket,.mui-plus-pullrefresh .mui-pull-top-pocket{display:none;visibility:visible}.mui-pull-top-pocket{top:0}.mui-bar-nav~.mui-content .mui-pull-top-pocket{top:44px}.mui-bar-nav~.mui-bar-header-secondary~.mui-content .mui-pull-top-pocket{top:88px}.mui-pull-bottom-pocket{position:relative;bottom:0;height:40px}.mui-pull-bottom-pocket .mui-pull-loading{visibility:hidden}.mui-pull-bottom-pocket .mui-pull-loading.mui-in{display:inline-block}.mui-pull{font-weight:700;position:absolute;right:0;bottom:10px;left:0;text-align:center;color:#777}.mui-pull-loading{margin-right:10px;-webkit-transition:-webkit-transform .4s;transition:transform .4s;-webkit-transition-duration:400ms;transition-duration:400ms;vertical-align:middle}.mui-pull-loading.mui-reverse{-webkit-transform:rotate(180deg) translateZ(0);transform:rotate(180deg) translateZ(0)}.mui-pull-caption{font-size:15px;line-height:24px;position:relative;display:inline-block;overflow:visible;margin-top:0;vertical-align:middle}.mui-pull-caption span{display:none}.mui-pull-caption span.mui-in{display:inline}.mui-toast-container{line-height:17px;position:fixed;z-index:9999;bottom:50px;left:50%;-webkit-transition:opacity .3s;transition:opacity .3s;-webkit-transform:translate(-50%,0);transform:translate(-50%,0);opacity:0}.mui-toast-container.mui-active{opacity:.9}.mui-toast-message{font-size:14px;padding:10px 25px;text-align:center;color:#fff;border-radius:6px;background-color:#323232}.mui-numbox{position:relative;display:inline-block;overflow:hidden;width:120px;height:35px;padding:0 40px;vertical-align:top;vertical-align:middle;border:solid 1px #bbb;border-radius:3px;background-color:#efeff4}.mui-numbox [class*=btn-numbox],.mui-numbox [class*=numbox-btn]{font-size:18px;font-weight:400;line-height:100%;position:absolute;top:0;overflow:hidden;width:40px;height:100%;padding:0;color:#555;border:none;border-radius:0;background-color:#f9f9f9}.mui-numbox [class*=btn-numbox]:active,.mui-numbox [class*=numbox-btn]:active{background-color:#ccc}.mui-numbox [class*=btn-numbox][disabled],.mui-numbox [class*=numbox-btn][disabled]{color:silver}.mui-numbox .mui-btn-numbox-plus,.mui-numbox .mui-numbox-btn-plus{right:0;border-top-right-radius:3px;border-bottom-right-radius:3px}.mui-numbox .mui-btn-numbox-minus,.mui-numbox .mui-numbox-btn-minus{left:0;border-top-left-radius:3px;border-bottom-left-radius:3px}.mui-numbox .mui-input-numbox,.mui-numbox .mui-numbox-input{display:inline-block;overflow:hidden;width:100%!important;height:100%;margin:0;padding:0 3px!important;text-align:center;text-overflow:ellipsis;word-break:normal;border:none!important;border-right:solid 1px #ccc!important;border-left:solid 1px #ccc!important;border-radius:0!important}.mui-input-row .mui-numbox{float:right;margin:2px 8px}@font-face{font-family:Muiicons;font-weight:400;font-style:normal;src:url(../fonts/mui.ttf) format('truetype')}.mui-icon{font-family:Muiicons;font-size:24px;font-weight:400;font-style:normal;line-height:1;display:inline-block;text-decoration:none;-webkit-font-smoothing:antialiased}.mui-icon.mui-active{color:#007aff}.mui-icon.mui-right:before{float:right;padding-left:.2em}.mui-icon-contact:before{content:'\e100'}.mui-icon-person:before{content:'\e101'}.mui-icon-personadd:before{content:'\e102'}.mui-icon-contact-filled:before{content:'\e130'}.mui-icon-person-filled:before{content:'\e131'}.mui-icon-personadd-filled:before{content:'\e132'}.mui-icon-phone:before{content:'\e200'}.mui-icon-email:before{content:'\e201'}.mui-icon-chatbubble:before{content:'\e202'}.mui-icon-chatboxes:before{content:'\e203'}.mui-icon-phone-filled:before{content:'\e230'}.mui-icon-email-filled:before{content:'\e231'}.mui-icon-chatbubble-filled:before{content:'\e232'}.mui-icon-chatboxes-filled:before{content:'\e233'}.mui-icon-weibo:before{content:'\e260'}.mui-icon-weixin:before{content:'\e261'}.mui-icon-pengyouquan:before{content:'\e262'}.mui-icon-chat:before{content:'\e263'}.mui-icon-qq:before{content:'\e264'}.mui-icon-videocam:before{content:'\e300'}.mui-icon-camera:before{content:'\e301'}.mui-icon-mic:before{content:'\e302'}.mui-icon-location:before{content:'\e303'}.mui-icon-mic-filled:before,.mui-icon-speech:before{content:'\e332'}.mui-icon-location-filled:before{content:'\e333'}.mui-icon-micoff:before{content:'\e360'}.mui-icon-image:before{content:'\e363'}.mui-icon-map:before{content:'\e364'}.mui-icon-compose:before{content:'\e400'}.mui-icon-trash:before{content:'\e401'}.mui-icon-upload:before{content:'\e402'}.mui-icon-download:before{content:'\e403'}.mui-icon-close:before{content:'\e404'}.mui-icon-redo:before{content:'\e405'}.mui-icon-undo:before{content:'\e406'}.mui-icon-refresh:before{content:'\e407'}.mui-icon-star:before{content:'\e408'}.mui-icon-plus:before{content:'\e409'}.mui-icon-minus:before{content:'\e410'}.mui-icon-checkbox:before,.mui-icon-circle:before{content:'\e411'}.mui-icon-clear:before,.mui-icon-close-filled:before{content:'\e434'}.mui-icon-refresh-filled:before{content:'\e437'}.mui-icon-star-filled:before{content:'\e438'}.mui-icon-plus-filled:before{content:'\e439'}.mui-icon-minus-filled:before{content:'\e440'}.mui-icon-circle-filled:before{content:'\e441'}.mui-icon-checkbox-filled:before{content:'\e442'}.mui-icon-closeempty:before{content:'\e460'}.mui-icon-refreshempty:before{content:'\e461'}.mui-icon-reload:before{content:'\e462'}.mui-icon-starhalf:before{content:'\e463'}.mui-icon-spinner:before{content:'\e464'}.mui-icon-spinner-cycle:before{content:'\e465'}.mui-icon-search:before{content:'\e466'}.mui-icon-plusempty:before{content:'\e468'}.mui-icon-forward:before{content:'\e470'}.mui-icon-back:before,.mui-icon-left-nav:before{content:'\e471'}.mui-icon-checkmarkempty:before{content:'\e472'}.mui-icon-home:before{content:'\e500'}.mui-icon-navigate:before{content:'\e501'}.mui-icon-gear:before{content:'\e502'}.mui-icon-paperplane:before{content:'\e503'}.mui-icon-info:before{content:'\e504'}.mui-icon-help:before{content:'\e505'}.mui-icon-locked:before{content:'\e506'}.mui-icon-more:before{content:'\e507'}.mui-icon-flag:before{content:'\e508'}.mui-icon-home-filled:before{content:'\e530'}.mui-icon-gear-filled:before{content:'\e532'}.mui-icon-info-filled:before{content:'\e534'}.mui-icon-help-filled:before{content:'\e535'}.mui-icon-more-filled:before{content:'\e537'}.mui-icon-settings:before{content:'\e560'}.mui-icon-list:before{content:'\e562'}.mui-icon-bars:before{content:'\e563'}.mui-icon-loop:before{content:'\e565'}.mui-icon-paperclip:before{content:'\e567'}.mui-icon-eye:before{content:'\e568'}.mui-icon-arrowup:before{content:'\e580'}.mui-icon-arrowdown:before{content:'\e581'}.mui-icon-arrowleft:before{content:'\e582'}.mui-icon-arrowright:before{content:'\e583'}.mui-icon-arrowthinup:before{content:'\e584'}.mui-icon-arrowthindown:before{content:'\e585'}.mui-icon-arrowthinleft:before{content:'\e586'}.mui-icon-arrowthinright:before{content:'\e587'}.mui-icon-pulldown:before{content:'\e588'}.mui-fullscreen{position:absolute;top:0;right:0;bottom:0;left:0}.mui-fullscreen.mui-slider .mui-slider-group{height:100%}.mui-fullscreen .mui-segmented-control~.mui-slider-group{position:absolute;top:40px;bottom:0;width:100%;height:auto}.mui-fullscreen.mui-slider .mui-slider-item>a{top:50%;-webkit-transform:translateY(-50%);transform:translateY(-50%)}.mui-fullscreen .mui-off-canvas-wrap .mui-slider-item>a{top:auto;-webkit-transform:none;transform:none}.mui-bar-nav~.mui-content .mui-slider.mui-fullscreen{top:44px}.mui-bar-tab~.mui-content .mui-slider.mui-fullscreen .mui-segmented-control~.mui-slider-group{bottom:50px}.mui-android.mui-android-4-0 input:focus,.mui-android.mui-android-4-0 textarea:focus{-webkit-user-modify:inherit}.mui-android.mui-android-4-2 input,.mui-android.mui-android-4-2 textarea,.mui-android.mui-android-4-3 input,.mui-android.mui-android-4-3 textarea{-webkit-user-select:text}.mui-ios .mui-table-view-cell{-webkit-transform-style:preserve-3d;transform-style:preserve-3d}.mui-plus-visible,.mui-wechat-visible{display:none!important}.mui-plus-hidden,.mui-wechat-hidden{display:block!important}.mui-tab-item.mui-plus-hidden,.mui-tab-item.mui-wechat-hidden{display:table-cell!important}.mui-plus .mui-plus-visible,.mui-wechat .mui-wechat-visible{display:block!important}.mui-plus .mui-tab-item.mui-plus-visible,.mui-wechat .mui-tab-item.mui-wechat-visible{display:table-cell!important}.mui-plus .mui-plus-hidden,.mui-wechat .mui-wechat-hidden{display:none!important}.mui-plus.mui-statusbar.mui-statusbar-offset .mui-bar-nav{height:64px;padding-top:20px}.mui-plus.mui-statusbar.mui-statusbar-offset .mui-bar-nav~.mui-content{padding-top:64px}.mui-plus.mui-statusbar.mui-statusbar-offset .mui-bar-header-secondary,.mui-plus.mui-statusbar.mui-statusbar-offset .mui-bar-nav~.mui-content .mui-pull-top-pocket{top:64px}.mui-plus.mui-statusbar.mui-statusbar-offset .mui-bar-header-secondary~.mui-content{padding-top:94px}.mui-iframe-wrapper{position:absolute;right:0;left:0;-webkit-overflow-scrolling:touch}.mui-iframe-wrapper iframe{width:100%;height:100%;border:0}
\ No newline at end of file
/**
* 选择列表插件
* varstion 2.0.0
* by Houfeng
* Houfeng@DCloud.io
**/
.mui-pciker-list li,.mui-picker,.mui-picker-inner{box-sizing:border-box;overflow:hidden}.mui-picker{background-color:#ddd;position:relative;height:200px;border:1px solid rgba(0,0,0,.1);-webkit-user-select:none;user-select:none}.mui-dtpicker,.mui-poppicker{left:0;background-color:#eee;box-shadow:0 -5px 7px 0 rgba(0,0,0,.1);-webkit-transition:.3s;width:100%}.mui-picker-inner{position:relative;width:100%;height:100%;-webkit-mask-box-image:-webkit-linear-gradient(bottom,transparent,transparent 5%,#fff 20%,#fff 80%,transparent 95%,transparent);-webkit-mask-box-image:linear-gradient(top,transparent,transparent 5%,#fff 20%,#fff 80%,transparent 95%,transparent)}.mui-pciker-list,.mui-pciker-rule{box-sizing:border-box;padding:0;margin:-18px 0 0;width:100%;height:36px;line-height:36px;position:absolute;left:0;top:50%}.mui-pciker-rule-bg{z-index:0}.mui-pciker-rule-ft{z-index:2;border-top:solid 1px rgba(0,0,0,.1);border-bottom:solid 1px rgba(0,0,0,.1)}.mui-pciker-list{z-index:1;-webkit-transform-style:preserve-3d;transform-style:preserve-3d;-webkit-transform:perspective(750pt) rotateY(0) rotateX(0);transform:perspective(750pt) rotateY(0) rotateX(0)}.mui-pciker-list li{width:100%;height:100%;position:absolute;text-align:center;vertical-align:middle;-webkit-backface-visibility:hidden;backface-visibility:hidden;font-size:1pc;font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;color:#888;padding:0 8px;white-space:nowrap;-webkit-text-overflow:ellipsis;text-overflow:ellipsis;cursor:default;visibility:hidden}.mui-pciker-list li.highlight,.mui-pciker-list li.visible{visibility:visible}.mui-pciker-list li.highlight{color:#222}.mui-poppicker{position:fixed;z-index:999;border-top:solid 1px #ccc;bottom:0;-webkit-transform:translateY(300px)}.mui-poppicker.mui-active{-webkit-transform:translateY(0)}.mui-android-5-1 .mui-poppicker{bottom:-300px;-webkit-transition-property:bottom;-webkit-transform:none}.mui-android-5-1 .mui-poppicker.mui-active{bottom:0;-webkit-transition-property:bottom;-webkit-transform:none}.mui-poppicker-header{padding:6px;font-size:14px;color:#888}.mui-poppicker-header .mui-btn{font-size:9pt;padding:5px 10px}.mui-poppicker-btn-cancel{float:left}.mui-poppicker-btn-ok{float:right}.mui-poppicker-clear{clear:both;height:0;line-height:0;font-size:0;overflow:hidden}.mui-poppicker-body{position:relative;width:100%;height:200px;border-top:solid 1px #ddd}.mui-poppicker-body .mui-picker{width:100%;height:100%;margin:0;border:none;float:left}.mui-dtpicker{position:fixed;z-index:999999;border-top:solid 1px #ccc;bottom:0;-webkit-transform:translateY(300px)}.mui-dtpicker.mui-active{-webkit-transform:translateY(0)}.mui-dtpicker-active-for-page{overflow:hidden!important}.mui-android-5-1 .mui-dtpicker{bottom:-300px;-webkit-transition-property:bottom;-webkit-transform:none}.mui-android-5-1 .mui-dtpicker.mui-active{bottom:0;-webkit-transition-property:bottom;-webkit-transform:none}.mui-dtpicker-header{padding:6px;font-size:14px;color:#888}.mui-dtpicker-header button{font-size:9pt;padding:5px 10px}.mui-dtpicker-header button:last-child{float:right}.mui-dtpicker-body{position:relative;width:100%;height:200px}.mui-ios .mui-dtpicker-body{-webkit-perspective:75pc;perspective:75pc;-webkit-transform-style:preserve-3d;transform-style:preserve-3d}.mui-dtpicker-title h5{display:inline-block;width:20%;margin:0;padding:8px;text-align:center;border-top:solid 1px #ddd;background-color:#f0f0f0;border-bottom:solid 1px #ccc}[data-type=hour] [data-id=title-i],[data-type=hour] [data-id=picker-i],[data-type=month] [data-id=title-i],[data-type=month] [data-id=picker-d],[data-type=month] [data-id=title-d],[data-type=month] [data-id=picker-h],[data-type=month] [data-id=title-h],[data-type=month] [data-id=picker-i],[data-type=time] [data-id=picker-y],[data-type=time] [data-id=picker-m],[data-type=time] [data-id=picker-d],[data-type=time] [data-id=title-y],[data-type=time] [data-id=title-m],[data-type=time] [data-id=title-d],[data-type=date] [data-id=title-i],[data-type=date] [data-id=picker-h],[data-type=date] [data-id=title-h],[data-type=date] [data-id=picker-i]{display:none}.mui-dtpicker .mui-picker{width:20%;height:100%;margin:0;float:left;border:none}[data-type=hour] [data-id=picker-h],[data-type=hour] [data-id=title-h],[data-type=datetime] [data-id=picker-h],[data-type=datetime] [data-id=title-h]{border-left:dotted 1px #ccc}[data-type=datetime] .mui-picker,[data-type=time] .mui-dtpicker-title h5{width:20%}[data-type=date] .mui-dtpicker-title h5,[data-type=date] .mui-picker{width:33.3%}[data-type=hour] .mui-dtpicker-title h5,[data-type=hour] .mui-picker{width:25%}[data-type=month] .mui-dtpicker-title h5,[data-type=month] .mui-picker,[data-type=time] .mui-dtpicker-title h5,[data-type=time] .mui-picker{width:50%}
\ No newline at end of file
/* body背景色 */
body {
background: #f5f5f5;
}
/* 背景屎黄色 */
.themes_bg_color {
background: #f2a11c;
}
.themes_bg_color a{
color: #FFFFFF !important;
}
/* 白色字体 */
.themes_font_color {
color: #fff;
}
/* 导航标题 */
.themes_title {
font-family: PingFang-SC Regular;
color: #fff;
}
/* 导航右侧操作栏 */
.themes_nav_right {
display: inline-block;
float: right;
vertical-align: middle;
margin-top: 0px;
}
/* 单选框 复选框 选中样式 颜色 */
.mui-checkbox input[type=checkbox]:checked:before, .mui-radio input[type=radio]:checked:before{
color: #f2a11c;
}
/*返回文字样式*/
.theme_back a{
/*color: #f2a11c !important;*/
color: #FFFFFF !important;
}
.theme_back_font,.theme_next_font{
/*color: #f2a11c ;*/
color: #FFFFFF;
margin-top: 7px;
font-size: 14px;
}
.theme_font_danger{
color: red ;
}
/* mui content 内容区 距顶部距离 */
.mui-bar-nav~.mui-content .mui-slider.mui-fullscreen{
top: 102px;
}
/*tab页切里面的文字颜色*/
/*tab被选中的当前横线颜色*/
.themes_tab .mui-segmented-control.mui-segmented-control-inverted~.mui-slider-progress-bar{
background-color: #f2a11c !important;
}
.themes_font_color_tab.mui-active{
color: #f2a11c !important;
}
/*tab 页切内容高度 */
.mui-fullscreen{
/*top: 60px;*/
}
.mui-slider-indicator.mui-segmented-control{
background: #fff;
}
.mui-search.mui-active:before{
left: 15px;
top:35px;
}
.mui-input-row.mui-search .mui-icon-clear{
top: 16px;
right: 6px;
}
.search_head{
padding:10px;
position: relative;
overflow: visible;
}
.search_head input[type="search"]{
margin-bottom: 0 !important;
background: #fff;
}
.search_head .mui-placeholder{
top: 10px;
}
/*通用的上拉刷新加载的样式*/
html,body{
background-color: #efeff4;
}
.mui-bar~.mui-content .mui-fullscreen {
top: 44px;
height: auto;
}
.mui-pull-top-tips {
position: absolute;
top: -20px;
left: 50%;
margin-left: -25px;
width: 40px;
height: 40px;
border-radius: 100%;
z-index: 1;
}
.mui-bar~.mui-pull-top-tips {
top: 24px;
}
.mui-pull-top-wrapper {
width: 42px;
height: 42px;
display: block;
text-align: center;
background-color: #efeff4;
border: 1px solid #ddd;
border-radius: 25px;
background-clip: padding-box;
box-shadow: 0 4px 10px #bbb;
overflow: hidden;
}
.mui-pull-top-tips.mui-transitioning {
-webkit-transition-duration: 200ms;
transition-duration: 200ms;
}
.mui-pull-top-tips .mui-pull-loading {
-webkit-backface-visibility: hidden;
-webkit-transition-duration: 400ms;
transition-duration: 400ms;
margin: 0;
}
.mui-pull-top-wrapper .mui-icon,
.mui-pull-top-wrapper .mui-spinner {
margin-top: 7px;
}
.mui-pull-top-wrapper .mui-icon.mui-reverse {
-webkit-transform: rotate(180deg) translateZ(0);
}
.mui-pull-bottom-tips {
text-align: center;
background-color: #efeff4;
font-size: 15px;
line-height: 40px;
color: #777;
}
.mui-pull-top-canvas {
overflow: hidden;
background-color: #fafafa;
border-radius: 40px;
box-shadow: 0 4px 10px #bbb;
width: 40px;
height: 40px;
margin: 0 auto;
}
.mui-pull-top-canvas canvas {
width: 40px;
}
/* 详情 通用 - 手风琴 */
.detailRow .mui-input-group .mui-input-row{
min-height:40px;
height:auto;
}
.detailRow_label{
width:25%;
min-height:40px;
float: left;
padding:10px 0;
word-break: break-all;
}
.detailRow_content{
width:55%;
min-height:40px;
float: left;
padding:10px 0;
word-break: break-all;
}
.detailRow_right{
width:10%;
min-height:40px;
float: left;
padding:10px 0;
text-align: right;
font-size: 12px;
}
.head_minheight{
min-height:auto;
padding:0;
}
/* 盘点列表详情覆盖 */
.special_list .am-card.am-card-full,.special_list .scrollList-item{
border: 0 !important;
}
.title_h3{
padding:10px 12px 6px;
font-weight: normal;
font-size: 18px;
background: #fff;
border-left: 6px solid #EC971F;
}
#check_scroll1 {
top: 86px;
z-index: 1;
}
#check_scroll1 .mui-table-view:before{
background: none!important;
}
#check_scroll1 .mui-table-view .mui-table-view-cell{
padding: 0;
}
No preview for this file type
No preview for this file type
<!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="import" href="tpl/list.html" id="tests"/>
<script src="js/mui.js"></script>
<script src="js/template-web.js" type="text/javascript" charset="utf-8"></script>
<script src="js/utils.js" type="text/javascript" charset="utf-8"></script>
<link href="css/mui.min.css" rel="stylesheet"/>
</head>
<body>
<button type="button" data-loading-text="提交中" class="mui-btn" id="btn">确认</button>
<div id="refreshContainer"></div>
<div id="content"></div>
<script type="text/javascript" charset="utf-8">
(function($, doc) {
$.init({
statusBarBackground: '#f7f7f7',
// subpages:[{
// url:your-subpage-url,//子页面HTML地址,支持本地地址和网络地址
// id:your-subpage-id,//子页面标志
// }]
pullRefresh : {
container:"#refreshContainer",//下拉刷新容器标识,querySelector能定位的css选择器均可,比如:id、.class等
down : {
style:'circle',//必选,下拉刷新样式,目前支持原生5+ ‘circle’ 样式
color:'#2BD009', //可选,默认“#2BD009” 下拉刷新控件颜色
height:'50px',//可选,默认50px.下拉刷新控件的高度,
range:'100px', //可选 默认100px,控件可下拉拖拽的范围
offset:'0px', //可选 默认0px,下拉刷新控件的起始位置
auto: false,//可选,默认false.首次加载自动上拉刷新一次
callback :function() {
console.log('call back!')
mui('#refreshContainer').pullRefresh().endPulldown();
} //必选,刷新函数,根据具体业务来编写,比如通过ajax从服务器获取新数据;
}
}
});
$.plusReady(function(){
//console.log("当前页面URL:"+plus.webview.currentWebview().getURL());
var btn = document.querySelector('#btn')
btn.addEventListener('tap', function() {
data.list.push('体育')
var html = template('demo', data);
document.getElementById('content').innerHTML = html;
})
var data = {
title: '标签',
list: ['文艺', '博客', '摄影', '电影', '民谣', '旅行', '吉他']
};
var utils = new Utils();
utils.appendModule('#tests');
var html = template('demo', data);
document.getElementById('content').innerHTML = html;
});
}(mui, document))
</script>
</body>
</html>
\ No newline at end of file
(function(owner) {
var OWNER_TITLE_NVIEW = {
titleText: "标题栏", // 标题栏文字,当不设置此属性时,默认加载当前页面的标题,并自动更新页面的标题
titleColor: "#fff", // 字体颜色,颜色值格式为"#RRGGBB",默认值为"#000000"
titleSize: "17px", // 字体大小,默认17px
backgroundColor: "#f2a11c", // 控件背景颜色,颜色值格式为"#RRGGBB",默认值为"#F7F7F7"
progress: { // 标题栏控件的进度条样式
color: "#f2a11c", // 进度条颜色,默认值为"#00FF00"
height: "2px" // 进度条高度,默认值为"2px"
},
splitLine: { // 标题栏控件的底部分割线,类似borderBottom
color: "#CCCCCC", // 分割线颜色,默认值为"#CCCCCC"
height: "1px" // 分割线高度,默认值为"2px"
},
autoBackButton: true,
}
//打开常规窗口
owner.openwin = function (id, argu, titleNView) {
var nview = Object.assign({}, OWNER_TITLE_NVIEW, titleNView)
if(titleNView){
if(titleNView.isScan){
nview.buttons = [{
"float": "right",
"text": "扫一扫",
"fontSize": "10px",
"onclick": clicked
}]
}
mui.openWindow({
url: id + '.html',
id: id,
show: {
aniShow: 'none'
},
styles: {
titleNView: nview
},
createNew: false,
waiting: {
autoShow: true
},
extras: ( argu && typeof argu === 'object' ) ? argu : JSON.parse(argu)
});
}else{
mui.openWindow({
url: id + '.html',
id: id,
show: {
aniShow: 'none'
},
createNew: false,
waiting: {
autoShow: true
},
extras: ( argu && typeof argu === 'object' ) ? argu : JSON.parse(argu)
});
}
}
function getParents(id) {
try {
var self = plus.webview.currentWebview();
var obj = self.opener();
var ret = [];
while (obj) {
if (obj.id == id) {
return ret;
} else {
ret.push(obj.id);
obj = obj.opener();
}
}
} catch (e) { }
return [];
}
//到某个窗口
owner.gotowin = function (id, argu, titleNView) {
var obj = plus.webview.getWebviewById(id)
if (obj) {
var arr = getParents(id);
if (arr.length > 0) {
owner.openwin(id, argu, titleNView);
var self = plus.webview.currentWebview();
setTimeout(function(){
for (var i = 0; i < arr.length; i++) {
plus.webview.getWebviewById(arr[i]).close(arr[i]);
}
self.close();
},600);
} else {
owner.openwin(id, argu, titleNView);
}
} else {
owner.openwin(id, argu, titleNView);
}
}
//获取网络模式
owner.getNetwork = function() {
var networkTypes = {};
networkTypes[plus.networkinfo.CONNECTION_UNKNOW] = "未知";
networkTypes[plus.networkinfo.CONNECTION_NONE] = "未连接网络";
networkTypes[plus.networkinfo.CONNECTION_ETHERNET] = "有线网络";
networkTypes[plus.networkinfo.CONNECTION_WIFI] = "wifi网络";
networkTypes[plus.networkinfo.CONNECTION_CELL2G] = "2G蜂窝网络";
networkTypes[plus.networkinfo.CONNECTION_CELL3G] = "3G蜂窝网络";
networkTypes[plus.networkinfo.CONNECTION_CELL4G] = "4G蜂窝网络";
return networkTypes[plus.networkinfo.getCurrentType()];
}
//禁止输入非数字字符
owner.banString = function(that) {
var str = that.value;
var str1 = str.substr(str.length - 1, str.length);
if(isNaN(str1)) {
that.value = str.slice(0, str.length - 1)
}
}
//禁止输入字符
owner.banother = function(that) {
var str = that.value;
var str1 = str.substr(str.length - 1, str.length)
if(!/^([a-zA-Z0-9]{1,18})$/.test(str1)) {
that.value = str.slice(0, str.length - 1)
}
}
//禁止输入数字字符以及其他无用的字符
owner.banNum = function(that) {
var str = that.value;
var str1 = str.substr(str.length - 1, str.length)
if(!isNaN(str1) || !/^([a-zA-Z\u4e00-\u9fa5\ ]{1,10})$/.test(str1)) {
that.value = str.slice(0, str.length - 1)
}
}
//禁止输入数字字符以及其他无用的字符
owner.cn = function(that) {
var str = that.value;
var str1 = str.substr(str.length - 1, str.length)
if(!/^([a-z\u4e00-\u9fa5\ ]{1,10})$/.test(str1)) {
that.value = str.slice(0, str.length - 1)
}
}
// 压缩图片
owner.compressImage = function(path, fn, obj) {
try {
var img = new Image();
img.src = path; // 传过来的图片路径在这里用。
obj || (obj = {});
var needWid = obj.width || 200;
img.onload = function() {
var that = this;
//生成比例
var w = that.width,
h = that.height,
scale = w / h;
w = needWid || w; //480 你想压缩到多大,改这里
h = w / scale;
//生成canvas
var canvas = document.createElement('canvas');
var ctx = canvas.getContext('2d');
canvas.setAttribute("width", w)
canvas.setAttribute("height", h)
ctx.drawImage(that, 0, 0, w, h);
console.log("进入压缩")
var base64 = canvas.toDataURL('images/jpeg', 1 || 0.8); //1最清晰,越低越模糊。有一点不清楚这里明明设置的是jpeg。弹出 base64 开头的一段 data:image/png;却是png。哎开心就好,开心就好
f1 = base64; // 把base64数据丢过去,上传要用。
var bitMap = new plus.nativeObj.Bitmap('picObj');
bitMap.loadBase64Data(f1, function() {
bitMap.save(path, {},
function(i) {
console.log('保存图片成功:' + JSON.stringify(i));
try {
fn();
} catch(e) {}
},
function(e) {
console.log('保存图片失败:' + JSON.stringify(e));
});
});
return base64;
}
} catch(ex) {}
}
//过滤表情
owner.filteremoji = function(ori) {
try {
var regStr = /[\uD83C|\uD83D|\uD83E][\uDC00-\uDFFF][\u200D|\uFE0F]|[\uD83C|\uD83D|\uD83E][\uDC00-\uDFFF]|[0-9|*|#]\uFE0F\u20E3|[0-9|#]\u20E3|[\u203C-\u3299]\uFE0F\u200D|[\u203C-\u3299]\uFE0F|[\u2122-\u2B55]|\u303D|[\A9|\AE]\u3030|\uA9|\uAE|\u3030/ig;
var ret = ori.replace(regStr, '');
var hasEmoji = (ori.length > ret.length);
ret = ret.replace(/(^\s*)|(\s*$)/g, "");
try {
if(hasEmoji) {
mui.toast("不支持输入表情");
}
} catch(ex) {}
return ret;
} catch(e) {}
return ori;
}
owner.debounce = function(fn, delay){
console.log(fn)
let timer = null;
return function() {
// 通过 ‘this’ 和 ‘arguments’ 获取函数的作用域和变量
let context = this;
let args = arguments;
clearTimeout(timer);
timer = setTimeout(function() {
fn.apply(context, args);
}, delay);
}
}
})(window.common = {})
\ No newline at end of file
/*! jQuery v1.10.2 | (c) 2005, 2013 jQuery Foundation, Inc. | jquery.org/license
//@ sourceMappingURL=jquery.min.map
*/
(function(e,t){var n,r,i=typeof t,o=e.location,a=e.document,s=a.documentElement,l=e.jQuery,u=e.$,c={},p=[],f="1.10.2",d=p.concat,h=p.push,g=p.slice,m=p.indexOf,y=c.toString,v=c.hasOwnProperty,b=f.trim,x=function(e,t){return new x.fn.init(e,t,r)},w=/[+-]?(?:\d*\.|)\d+(?:[eE][+-]?\d+|)/.source,T=/\S+/g,C=/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,N=/^(?:\s*(<[\w\W]+>)[^>]*|#([\w-]*))$/,k=/^<(\w+)\s*\/?>(?:<\/\1>|)$/,E=/^[\],:{}\s]*$/,S=/(?:^|:|,)(?:\s*\[)+/g,A=/\\(?:["\\\/bfnrt]|u[\da-fA-F]{4})/g,j=/"[^"\\\r\n]*"|true|false|null|-?(?:\d+\.|)\d+(?:[eE][+-]?\d+|)/g,D=/^-ms-/,L=/-([\da-z])/gi,H=function(e,t){return t.toUpperCase()},q=function(e){(a.addEventListener||"load"===e.type||"complete"===a.readyState)&&(_(),x.ready())},_=function(){a.addEventListener?(a.removeEventListener("DOMContentLoaded",q,!1),e.removeEventListener("load",q,!1)):(a.detachEvent("onreadystatechange",q),e.detachEvent("onload",q))};x.fn=x.prototype={jquery:f,constructor:x,init:function(e,n,r){var i,o;if(!e)return this;if("string"==typeof e){if(i="<"===e.charAt(0)&&">"===e.charAt(e.length-1)&&e.length>=3?[null,e,null]:N.exec(e),!i||!i[1]&&n)return!n||n.jquery?(n||r).find(e):this.constructor(n).find(e);if(i[1]){if(n=n instanceof x?n[0]:n,x.merge(this,x.parseHTML(i[1],n&&n.nodeType?n.ownerDocument||n:a,!0)),k.test(i[1])&&x.isPlainObject(n))for(i in n)x.isFunction(this[i])?this[i](n[i]):this.attr(i,n[i]);return this}if(o=a.getElementById(i[2]),o&&o.parentNode){if(o.id!==i[2])return r.find(e);this.length=1,this[0]=o}return this.context=a,this.selector=e,this}return e.nodeType?(this.context=this[0]=e,this.length=1,this):x.isFunction(e)?r.ready(e):(e.selector!==t&&(this.selector=e.selector,this.context=e.context),x.makeArray(e,this))},selector:"",length:0,toArray:function(){return g.call(this)},get:function(e){return null==e?this.toArray():0>e?this[this.length+e]:this[e]},pushStack:function(e){var t=x.merge(this.constructor(),e);return t.prevObject=this,t.context=this.context,t},each:function(e,t){return x.each(this,e,t)},ready:function(e){return x.ready.promise().done(e),this},slice:function(){return this.pushStack(g.apply(this,arguments))},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},eq:function(e){var t=this.length,n=+e+(0>e?t:0);return this.pushStack(n>=0&&t>n?[this[n]]:[])},map:function(e){return this.pushStack(x.map(this,function(t,n){return e.call(t,n,t)}))},end:function(){return this.prevObject||this.constructor(null)},push:h,sort:[].sort,splice:[].splice},x.fn.init.prototype=x.fn,x.extend=x.fn.extend=function(){var e,n,r,i,o,a,s=arguments[0]||{},l=1,u=arguments.length,c=!1;for("boolean"==typeof s&&(c=s,s=arguments[1]||{},l=2),"object"==typeof s||x.isFunction(s)||(s={}),u===l&&(s=this,--l);u>l;l++)if(null!=(o=arguments[l]))for(i in o)e=s[i],r=o[i],s!==r&&(c&&r&&(x.isPlainObject(r)||(n=x.isArray(r)))?(n?(n=!1,a=e&&x.isArray(e)?e:[]):a=e&&x.isPlainObject(e)?e:{},s[i]=x.extend(c,a,r)):r!==t&&(s[i]=r));return s},x.extend({expando:"jQuery"+(f+Math.random()).replace(/\D/g,""),noConflict:function(t){return e.$===x&&(e.$=u),t&&e.jQuery===x&&(e.jQuery=l),x},isReady:!1,readyWait:1,holdReady:function(e){e?x.readyWait++:x.ready(!0)},ready:function(e){if(e===!0?!--x.readyWait:!x.isReady){if(!a.body)return setTimeout(x.ready);x.isReady=!0,e!==!0&&--x.readyWait>0||(n.resolveWith(a,[x]),x.fn.trigger&&x(a).trigger("ready").off("ready"))}},isFunction:function(e){return"function"===x.type(e)},isArray:Array.isArray||function(e){return"array"===x.type(e)},isWindow:function(e){return null!=e&&e==e.window},isNumeric:function(e){return!isNaN(parseFloat(e))&&isFinite(e)},type:function(e){return null==e?e+"":"object"==typeof e||"function"==typeof e?c[y.call(e)]||"object":typeof e},isPlainObject:function(e){var n;if(!e||"object"!==x.type(e)||e.nodeType||x.isWindow(e))return!1;try{if(e.constructor&&!v.call(e,"constructor")&&!v.call(e.constructor.prototype,"isPrototypeOf"))return!1}catch(r){return!1}if(x.support.ownLast)for(n in e)return v.call(e,n);for(n in e);return n===t||v.call(e,n)},isEmptyObject:function(e){var t;for(t in e)return!1;return!0},error:function(e){throw Error(e)},parseHTML:function(e,t,n){if(!e||"string"!=typeof e)return null;"boolean"==typeof t&&(n=t,t=!1),t=t||a;var r=k.exec(e),i=!n&&[];return r?[t.createElement(r[1])]:(r=x.buildFragment([e],t,i),i&&x(i).remove(),x.merge([],r.childNodes))},parseJSON:function(n){return e.JSON&&e.JSON.parse?e.JSON.parse(n):null===n?n:"string"==typeof n&&(n=x.trim(n),n&&E.test(n.replace(A,"@").replace(j,"]").replace(S,"")))?Function("return "+n)():(x.error("Invalid JSON: "+n),t)},parseXML:function(n){var r,i;if(!n||"string"!=typeof n)return null;try{e.DOMParser?(i=new DOMParser,r=i.parseFromString(n,"text/xml")):(r=new ActiveXObject("Microsoft.XMLDOM"),r.async="false",r.loadXML(n))}catch(o){r=t}return r&&r.documentElement&&!r.getElementsByTagName("parsererror").length||x.error("Invalid XML: "+n),r},noop:function(){},globalEval:function(t){t&&x.trim(t)&&(e.execScript||function(t){e.eval.call(e,t)})(t)},camelCase:function(e){return e.replace(D,"ms-").replace(L,H)},nodeName:function(e,t){return e.nodeName&&e.nodeName.toLowerCase()===t.toLowerCase()},each:function(e,t,n){var r,i=0,o=e.length,a=M(e);if(n){if(a){for(;o>i;i++)if(r=t.apply(e[i],n),r===!1)break}else for(i in e)if(r=t.apply(e[i],n),r===!1)break}else if(a){for(;o>i;i++)if(r=t.call(e[i],i,e[i]),r===!1)break}else for(i in e)if(r=t.call(e[i],i,e[i]),r===!1)break;return e},trim:b&&!b.call("\ufeff\u00a0")?function(e){return null==e?"":b.call(e)}:function(e){return null==e?"":(e+"").replace(C,"")},makeArray:function(e,t){var n=t||[];return null!=e&&(M(Object(e))?x.merge(n,"string"==typeof e?[e]:e):h.call(n,e)),n},inArray:function(e,t,n){var r;if(t){if(m)return m.call(t,e,n);for(r=t.length,n=n?0>n?Math.max(0,r+n):n:0;r>n;n++)if(n in t&&t[n]===e)return n}return-1},merge:function(e,n){var r=n.length,i=e.length,o=0;if("number"==typeof r)for(;r>o;o++)e[i++]=n[o];else while(n[o]!==t)e[i++]=n[o++];return e.length=i,e},grep:function(e,t,n){var r,i=[],o=0,a=e.length;for(n=!!n;a>o;o++)r=!!t(e[o],o),n!==r&&i.push(e[o]);return i},map:function(e,t,n){var r,i=0,o=e.length,a=M(e),s=[];if(a)for(;o>i;i++)r=t(e[i],i,n),null!=r&&(s[s.length]=r);else for(i in e)r=t(e[i],i,n),null!=r&&(s[s.length]=r);return d.apply([],s)},guid:1,proxy:function(e,n){var r,i,o;return"string"==typeof n&&(o=e[n],n=e,e=o),x.isFunction(e)?(r=g.call(arguments,2),i=function(){return e.apply(n||this,r.concat(g.call(arguments)))},i.guid=e.guid=e.guid||x.guid++,i):t},access:function(e,n,r,i,o,a,s){var l=0,u=e.length,c=null==r;if("object"===x.type(r)){o=!0;for(l in r)x.access(e,n,l,r[l],!0,a,s)}else if(i!==t&&(o=!0,x.isFunction(i)||(s=!0),c&&(s?(n.call(e,i),n=null):(c=n,n=function(e,t,n){return c.call(x(e),n)})),n))for(;u>l;l++)n(e[l],r,s?i:i.call(e[l],l,n(e[l],r)));return o?e:c?n.call(e):u?n(e[0],r):a},now:function(){return(new Date).getTime()},swap:function(e,t,n,r){var i,o,a={};for(o in t)a[o]=e.style[o],e.style[o]=t[o];i=n.apply(e,r||[]);for(o in t)e.style[o]=a[o];return i}}),x.ready.promise=function(t){if(!n)if(n=x.Deferred(),"complete"===a.readyState)setTimeout(x.ready);else if(a.addEventListener)a.addEventListener("DOMContentLoaded",q,!1),e.addEventListener("load",q,!1);else{a.attachEvent("onreadystatechange",q),e.attachEvent("onload",q);var r=!1;try{r=null==e.frameElement&&a.documentElement}catch(i){}r&&r.doScroll&&function o(){if(!x.isReady){try{r.doScroll("left")}catch(e){return setTimeout(o,50)}_(),x.ready()}}()}return n.promise(t)},x.each("Boolean Number String Function Array Date RegExp Object Error".split(" "),function(e,t){c["[object "+t+"]"]=t.toLowerCase()});function M(e){var t=e.length,n=x.type(e);return x.isWindow(e)?!1:1===e.nodeType&&t?!0:"array"===n||"function"!==n&&(0===t||"number"==typeof t&&t>0&&t-1 in e)}r=x(a),function(e,t){var n,r,i,o,a,s,l,u,c,p,f,d,h,g,m,y,v,b="sizzle"+-new Date,w=e.document,T=0,C=0,N=st(),k=st(),E=st(),S=!1,A=function(e,t){return e===t?(S=!0,0):0},j=typeof t,D=1<<31,L={}.hasOwnProperty,H=[],q=H.pop,_=H.push,M=H.push,O=H.slice,F=H.indexOf||function(e){var t=0,n=this.length;for(;n>t;t++)if(this[t]===e)return t;return-1},B="checked|selected|async|autofocus|autoplay|controls|defer|disabled|hidden|ismap|loop|multiple|open|readonly|required|scoped",P="[\\x20\\t\\r\\n\\f]",R="(?:\\\\.|[\\w-]|[^\\x00-\\xa0])+",W=R.replace("w","w#"),$="\\["+P+"*("+R+")"+P+"*(?:([*^$|!~]?=)"+P+"*(?:(['\"])((?:\\\\.|[^\\\\])*?)\\3|("+W+")|)|)"+P+"*\\]",I=":("+R+")(?:\\(((['\"])((?:\\\\.|[^\\\\])*?)\\3|((?:\\\\.|[^\\\\()[\\]]|"+$.replace(3,8)+")*)|.*)\\)|)",z=RegExp("^"+P+"+|((?:^|[^\\\\])(?:\\\\.)*)"+P+"+$","g"),X=RegExp("^"+P+"*,"+P+"*"),U=RegExp("^"+P+"*([>+~]|"+P+")"+P+"*"),V=RegExp(P+"*[+~]"),Y=RegExp("="+P+"*([^\\]'\"]*)"+P+"*\\]","g"),J=RegExp(I),G=RegExp("^"+W+"$"),Q={ID:RegExp("^#("+R+")"),CLASS:RegExp("^\\.("+R+")"),TAG:RegExp("^("+R.replace("w","w*")+")"),ATTR:RegExp("^"+$),PSEUDO:RegExp("^"+I),CHILD:RegExp("^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\("+P+"*(even|odd|(([+-]|)(\\d*)n|)"+P+"*(?:([+-]|)"+P+"*(\\d+)|))"+P+"*\\)|)","i"),bool:RegExp("^(?:"+B+")$","i"),needsContext:RegExp("^"+P+"*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\("+P+"*((?:-\\d)?\\d*)"+P+"*\\)|)(?=[^-]|$)","i")},K=/^[^{]+\{\s*\[native \w/,Z=/^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/,et=/^(?:input|select|textarea|button)$/i,tt=/^h\d$/i,nt=/'|\\/g,rt=RegExp("\\\\([\\da-f]{1,6}"+P+"?|("+P+")|.)","ig"),it=function(e,t,n){var r="0x"+t-65536;return r!==r||n?t:0>r?String.fromCharCode(r+65536):String.fromCharCode(55296|r>>10,56320|1023&r)};try{M.apply(H=O.call(w.childNodes),w.childNodes),H[w.childNodes.length].nodeType}catch(ot){M={apply:H.length?function(e,t){_.apply(e,O.call(t))}:function(e,t){var n=e.length,r=0;while(e[n++]=t[r++]);e.length=n-1}}}function at(e,t,n,i){var o,a,s,l,u,c,d,m,y,x;if((t?t.ownerDocument||t:w)!==f&&p(t),t=t||f,n=n||[],!e||"string"!=typeof e)return n;if(1!==(l=t.nodeType)&&9!==l)return[];if(h&&!i){if(o=Z.exec(e))if(s=o[1]){if(9===l){if(a=t.getElementById(s),!a||!a.parentNode)return n;if(a.id===s)return n.push(a),n}else if(t.ownerDocument&&(a=t.ownerDocument.getElementById(s))&&v(t,a)&&a.id===s)return n.push(a),n}else{if(o[2])return M.apply(n,t.getElementsByTagName(e)),n;if((s=o[3])&&r.getElementsByClassName&&t.getElementsByClassName)return M.apply(n,t.getElementsByClassName(s)),n}if(r.qsa&&(!g||!g.test(e))){if(m=d=b,y=t,x=9===l&&e,1===l&&"object"!==t.nodeName.toLowerCase()){c=mt(e),(d=t.getAttribute("id"))?m=d.replace(nt,"\\$&"):t.setAttribute("id",m),m="[id='"+m+"'] ",u=c.length;while(u--)c[u]=m+yt(c[u]);y=V.test(e)&&t.parentNode||t,x=c.join(",")}if(x)try{return M.apply(n,y.querySelectorAll(x)),n}catch(T){}finally{d||t.removeAttribute("id")}}}return kt(e.replace(z,"$1"),t,n,i)}function st(){var e=[];function t(n,r){return e.push(n+=" ")>o.cacheLength&&delete t[e.shift()],t[n]=r}return t}function lt(e){return e[b]=!0,e}function ut(e){var t=f.createElement("div");try{return!!e(t)}catch(n){return!1}finally{t.parentNode&&t.parentNode.removeChild(t),t=null}}function ct(e,t){var n=e.split("|"),r=e.length;while(r--)o.attrHandle[n[r]]=t}function pt(e,t){var n=t&&e,r=n&&1===e.nodeType&&1===t.nodeType&&(~t.sourceIndex||D)-(~e.sourceIndex||D);if(r)return r;if(n)while(n=n.nextSibling)if(n===t)return-1;return e?1:-1}function ft(e){return function(t){var n=t.nodeName.toLowerCase();return"input"===n&&t.type===e}}function dt(e){return function(t){var n=t.nodeName.toLowerCase();return("input"===n||"button"===n)&&t.type===e}}function ht(e){return lt(function(t){return t=+t,lt(function(n,r){var i,o=e([],n.length,t),a=o.length;while(a--)n[i=o[a]]&&(n[i]=!(r[i]=n[i]))})})}s=at.isXML=function(e){var t=e&&(e.ownerDocument||e).documentElement;return t?"HTML"!==t.nodeName:!1},r=at.support={},p=at.setDocument=function(e){var n=e?e.ownerDocument||e:w,i=n.defaultView;return n!==f&&9===n.nodeType&&n.documentElement?(f=n,d=n.documentElement,h=!s(n),i&&i.attachEvent&&i!==i.top&&i.attachEvent("onbeforeunload",function(){p()}),r.attributes=ut(function(e){return e.className="i",!e.getAttribute("className")}),r.getElementsByTagName=ut(function(e){return e.appendChild(n.createComment("")),!e.getElementsByTagName("*").length}),r.getElementsByClassName=ut(function(e){return e.innerHTML="<div class='a'></div><div class='a i'></div>",e.firstChild.className="i",2===e.getElementsByClassName("i").length}),r.getById=ut(function(e){return d.appendChild(e).id=b,!n.getElementsByName||!n.getElementsByName(b).length}),r.getById?(o.find.ID=function(e,t){if(typeof t.getElementById!==j&&h){var n=t.getElementById(e);return n&&n.parentNode?[n]:[]}},o.filter.ID=function(e){var t=e.replace(rt,it);return function(e){return e.getAttribute("id")===t}}):(delete o.find.ID,o.filter.ID=function(e){var t=e.replace(rt,it);return function(e){var n=typeof e.getAttributeNode!==j&&e.getAttributeNode("id");return n&&n.value===t}}),o.find.TAG=r.getElementsByTagName?function(e,n){return typeof n.getElementsByTagName!==j?n.getElementsByTagName(e):t}:function(e,t){var n,r=[],i=0,o=t.getElementsByTagName(e);if("*"===e){while(n=o[i++])1===n.nodeType&&r.push(n);return r}return o},o.find.CLASS=r.getElementsByClassName&&function(e,n){return typeof n.getElementsByClassName!==j&&h?n.getElementsByClassName(e):t},m=[],g=[],(r.qsa=K.test(n.querySelectorAll))&&(ut(function(e){e.innerHTML="<select><option selected=''></option></select>",e.querySelectorAll("[selected]").length||g.push("\\["+P+"*(?:value|"+B+")"),e.querySelectorAll(":checked").length||g.push(":checked")}),ut(function(e){var t=n.createElement("input");t.setAttribute("type","hidden"),e.appendChild(t).setAttribute("t",""),e.querySelectorAll("[t^='']").length&&g.push("[*^$]="+P+"*(?:''|\"\")"),e.querySelectorAll(":enabled").length||g.push(":enabled",":disabled"),e.querySelectorAll("*,:x"),g.push(",.*:")})),(r.matchesSelector=K.test(y=d.webkitMatchesSelector||d.mozMatchesSelector||d.oMatchesSelector||d.msMatchesSelector))&&ut(function(e){r.disconnectedMatch=y.call(e,"div"),y.call(e,"[s!='']:x"),m.push("!=",I)}),g=g.length&&RegExp(g.join("|")),m=m.length&&RegExp(m.join("|")),v=K.test(d.contains)||d.compareDocumentPosition?function(e,t){var n=9===e.nodeType?e.documentElement:e,r=t&&t.parentNode;return e===r||!(!r||1!==r.nodeType||!(n.contains?n.contains(r):e.compareDocumentPosition&&16&e.compareDocumentPosition(r)))}:function(e,t){if(t)while(t=t.parentNode)if(t===e)return!0;return!1},A=d.compareDocumentPosition?function(e,t){if(e===t)return S=!0,0;var i=t.compareDocumentPosition&&e.compareDocumentPosition&&e.compareDocumentPosition(t);return i?1&i||!r.sortDetached&&t.compareDocumentPosition(e)===i?e===n||v(w,e)?-1:t===n||v(w,t)?1:c?F.call(c,e)-F.call(c,t):0:4&i?-1:1:e.compareDocumentPosition?-1:1}:function(e,t){var r,i=0,o=e.parentNode,a=t.parentNode,s=[e],l=[t];if(e===t)return S=!0,0;if(!o||!a)return e===n?-1:t===n?1:o?-1:a?1:c?F.call(c,e)-F.call(c,t):0;if(o===a)return pt(e,t);r=e;while(r=r.parentNode)s.unshift(r);r=t;while(r=r.parentNode)l.unshift(r);while(s[i]===l[i])i++;return i?pt(s[i],l[i]):s[i]===w?-1:l[i]===w?1:0},n):f},at.matches=function(e,t){return at(e,null,null,t)},at.matchesSelector=function(e,t){if((e.ownerDocument||e)!==f&&p(e),t=t.replace(Y,"='$1']"),!(!r.matchesSelector||!h||m&&m.test(t)||g&&g.test(t)))try{var n=y.call(e,t);if(n||r.disconnectedMatch||e.document&&11!==e.document.nodeType)return n}catch(i){}return at(t,f,null,[e]).length>0},at.contains=function(e,t){return(e.ownerDocument||e)!==f&&p(e),v(e,t)},at.attr=function(e,n){(e.ownerDocument||e)!==f&&p(e);var i=o.attrHandle[n.toLowerCase()],a=i&&L.call(o.attrHandle,n.toLowerCase())?i(e,n,!h):t;return a===t?r.attributes||!h?e.getAttribute(n):(a=e.getAttributeNode(n))&&a.specified?a.value:null:a},at.error=function(e){throw Error("Syntax error, unrecognized expression: "+e)},at.uniqueSort=function(e){var t,n=[],i=0,o=0;if(S=!r.detectDuplicates,c=!r.sortStable&&e.slice(0),e.sort(A),S){while(t=e[o++])t===e[o]&&(i=n.push(o));while(i--)e.splice(n[i],1)}return e},a=at.getText=function(e){var t,n="",r=0,i=e.nodeType;if(i){if(1===i||9===i||11===i){if("string"==typeof e.textContent)return e.textContent;for(e=e.firstChild;e;e=e.nextSibling)n+=a(e)}else if(3===i||4===i)return e.nodeValue}else for(;t=e[r];r++)n+=a(t);return n},o=at.selectors={cacheLength:50,createPseudo:lt,match:Q,attrHandle:{},find:{},relative:{">":{dir:"parentNode",first:!0}," ":{dir:"parentNode"},"+":{dir:"previousSibling",first:!0},"~":{dir:"previousSibling"}},preFilter:{ATTR:function(e){return e[1]=e[1].replace(rt,it),e[3]=(e[4]||e[5]||"").replace(rt,it),"~="===e[2]&&(e[3]=" "+e[3]+" "),e.slice(0,4)},CHILD:function(e){return e[1]=e[1].toLowerCase(),"nth"===e[1].slice(0,3)?(e[3]||at.error(e[0]),e[4]=+(e[4]?e[5]+(e[6]||1):2*("even"===e[3]||"odd"===e[3])),e[5]=+(e[7]+e[8]||"odd"===e[3])):e[3]&&at.error(e[0]),e},PSEUDO:function(e){var n,r=!e[5]&&e[2];return Q.CHILD.test(e[0])?null:(e[3]&&e[4]!==t?e[2]=e[4]:r&&J.test(r)&&(n=mt(r,!0))&&(n=r.indexOf(")",r.length-n)-r.length)&&(e[0]=e[0].slice(0,n),e[2]=r.slice(0,n)),e.slice(0,3))}},filter:{TAG:function(e){var t=e.replace(rt,it).toLowerCase();return"*"===e?function(){return!0}:function(e){return e.nodeName&&e.nodeName.toLowerCase()===t}},CLASS:function(e){var t=N[e+" "];return t||(t=RegExp("(^|"+P+")"+e+"("+P+"|$)"))&&N(e,function(e){return t.test("string"==typeof e.className&&e.className||typeof e.getAttribute!==j&&e.getAttribute("class")||"")})},ATTR:function(e,t,n){return function(r){var i=at.attr(r,e);return null==i?"!="===t:t?(i+="","="===t?i===n:"!="===t?i!==n:"^="===t?n&&0===i.indexOf(n):"*="===t?n&&i.indexOf(n)>-1:"$="===t?n&&i.slice(-n.length)===n:"~="===t?(" "+i+" ").indexOf(n)>-1:"|="===t?i===n||i.slice(0,n.length+1)===n+"-":!1):!0}},CHILD:function(e,t,n,r,i){var o="nth"!==e.slice(0,3),a="last"!==e.slice(-4),s="of-type"===t;return 1===r&&0===i?function(e){return!!e.parentNode}:function(t,n,l){var u,c,p,f,d,h,g=o!==a?"nextSibling":"previousSibling",m=t.parentNode,y=s&&t.nodeName.toLowerCase(),v=!l&&!s;if(m){if(o){while(g){p=t;while(p=p[g])if(s?p.nodeName.toLowerCase()===y:1===p.nodeType)return!1;h=g="only"===e&&!h&&"nextSibling"}return!0}if(h=[a?m.firstChild:m.lastChild],a&&v){c=m[b]||(m[b]={}),u=c[e]||[],d=u[0]===T&&u[1],f=u[0]===T&&u[2],p=d&&m.childNodes[d];while(p=++d&&p&&p[g]||(f=d=0)||h.pop())if(1===p.nodeType&&++f&&p===t){c[e]=[T,d,f];break}}else if(v&&(u=(t[b]||(t[b]={}))[e])&&u[0]===T)f=u[1];else while(p=++d&&p&&p[g]||(f=d=0)||h.pop())if((s?p.nodeName.toLowerCase()===y:1===p.nodeType)&&++f&&(v&&((p[b]||(p[b]={}))[e]=[T,f]),p===t))break;return f-=i,f===r||0===f%r&&f/r>=0}}},PSEUDO:function(e,t){var n,r=o.pseudos[e]||o.setFilters[e.toLowerCase()]||at.error("unsupported pseudo: "+e);return r[b]?r(t):r.length>1?(n=[e,e,"",t],o.setFilters.hasOwnProperty(e.toLowerCase())?lt(function(e,n){var i,o=r(e,t),a=o.length;while(a--)i=F.call(e,o[a]),e[i]=!(n[i]=o[a])}):function(e){return r(e,0,n)}):r}},pseudos:{not:lt(function(e){var t=[],n=[],r=l(e.replace(z,"$1"));return r[b]?lt(function(e,t,n,i){var o,a=r(e,null,i,[]),s=e.length;while(s--)(o=a[s])&&(e[s]=!(t[s]=o))}):function(e,i,o){return t[0]=e,r(t,null,o,n),!n.pop()}}),has:lt(function(e){return function(t){return at(e,t).length>0}}),contains:lt(function(e){return function(t){return(t.textContent||t.innerText||a(t)).indexOf(e)>-1}}),lang:lt(function(e){return G.test(e||"")||at.error("unsupported lang: "+e),e=e.replace(rt,it).toLowerCase(),function(t){var n;do if(n=h?t.lang:t.getAttribute("xml:lang")||t.getAttribute("lang"))return n=n.toLowerCase(),n===e||0===n.indexOf(e+"-");while((t=t.parentNode)&&1===t.nodeType);return!1}}),target:function(t){var n=e.location&&e.location.hash;return n&&n.slice(1)===t.id},root:function(e){return e===d},focus:function(e){return e===f.activeElement&&(!f.hasFocus||f.hasFocus())&&!!(e.type||e.href||~e.tabIndex)},enabled:function(e){return e.disabled===!1},disabled:function(e){return e.disabled===!0},checked:function(e){var t=e.nodeName.toLowerCase();return"input"===t&&!!e.checked||"option"===t&&!!e.selected},selected:function(e){return e.parentNode&&e.parentNode.selectedIndex,e.selected===!0},empty:function(e){for(e=e.firstChild;e;e=e.nextSibling)if(e.nodeName>"@"||3===e.nodeType||4===e.nodeType)return!1;return!0},parent:function(e){return!o.pseudos.empty(e)},header:function(e){return tt.test(e.nodeName)},input:function(e){return et.test(e.nodeName)},button:function(e){var t=e.nodeName.toLowerCase();return"input"===t&&"button"===e.type||"button"===t},text:function(e){var t;return"input"===e.nodeName.toLowerCase()&&"text"===e.type&&(null==(t=e.getAttribute("type"))||t.toLowerCase()===e.type)},first:ht(function(){return[0]}),last:ht(function(e,t){return[t-1]}),eq:ht(function(e,t,n){return[0>n?n+t:n]}),even:ht(function(e,t){var n=0;for(;t>n;n+=2)e.push(n);return e}),odd:ht(function(e,t){var n=1;for(;t>n;n+=2)e.push(n);return e}),lt:ht(function(e,t,n){var r=0>n?n+t:n;for(;--r>=0;)e.push(r);return e}),gt:ht(function(e,t,n){var r=0>n?n+t:n;for(;t>++r;)e.push(r);return e})}},o.pseudos.nth=o.pseudos.eq;for(n in{radio:!0,checkbox:!0,file:!0,password:!0,image:!0})o.pseudos[n]=ft(n);for(n in{submit:!0,reset:!0})o.pseudos[n]=dt(n);function gt(){}gt.prototype=o.filters=o.pseudos,o.setFilters=new gt;function mt(e,t){var n,r,i,a,s,l,u,c=k[e+" "];if(c)return t?0:c.slice(0);s=e,l=[],u=o.preFilter;while(s){(!n||(r=X.exec(s)))&&(r&&(s=s.slice(r[0].length)||s),l.push(i=[])),n=!1,(r=U.exec(s))&&(n=r.shift(),i.push({value:n,type:r[0].replace(z," ")}),s=s.slice(n.length));for(a in o.filter)!(r=Q[a].exec(s))||u[a]&&!(r=u[a](r))||(n=r.shift(),i.push({value:n,type:a,matches:r}),s=s.slice(n.length));if(!n)break}return t?s.length:s?at.error(e):k(e,l).slice(0)}function yt(e){var t=0,n=e.length,r="";for(;n>t;t++)r+=e[t].value;return r}function vt(e,t,n){var r=t.dir,o=n&&"parentNode"===r,a=C++;return t.first?function(t,n,i){while(t=t[r])if(1===t.nodeType||o)return e(t,n,i)}:function(t,n,s){var l,u,c,p=T+" "+a;if(s){while(t=t[r])if((1===t.nodeType||o)&&e(t,n,s))return!0}else while(t=t[r])if(1===t.nodeType||o)if(c=t[b]||(t[b]={}),(u=c[r])&&u[0]===p){if((l=u[1])===!0||l===i)return l===!0}else if(u=c[r]=[p],u[1]=e(t,n,s)||i,u[1]===!0)return!0}}function bt(e){return e.length>1?function(t,n,r){var i=e.length;while(i--)if(!e[i](t,n,r))return!1;return!0}:e[0]}function xt(e,t,n,r,i){var o,a=[],s=0,l=e.length,u=null!=t;for(;l>s;s++)(o=e[s])&&(!n||n(o,r,i))&&(a.push(o),u&&t.push(s));return a}function wt(e,t,n,r,i,o){return r&&!r[b]&&(r=wt(r)),i&&!i[b]&&(i=wt(i,o)),lt(function(o,a,s,l){var u,c,p,f=[],d=[],h=a.length,g=o||Nt(t||"*",s.nodeType?[s]:s,[]),m=!e||!o&&t?g:xt(g,f,e,s,l),y=n?i||(o?e:h||r)?[]:a:m;if(n&&n(m,y,s,l),r){u=xt(y,d),r(u,[],s,l),c=u.length;while(c--)(p=u[c])&&(y[d[c]]=!(m[d[c]]=p))}if(o){if(i||e){if(i){u=[],c=y.length;while(c--)(p=y[c])&&u.push(m[c]=p);i(null,y=[],u,l)}c=y.length;while(c--)(p=y[c])&&(u=i?F.call(o,p):f[c])>-1&&(o[u]=!(a[u]=p))}}else y=xt(y===a?y.splice(h,y.length):y),i?i(null,a,y,l):M.apply(a,y)})}function Tt(e){var t,n,r,i=e.length,a=o.relative[e[0].type],s=a||o.relative[" "],l=a?1:0,c=vt(function(e){return e===t},s,!0),p=vt(function(e){return F.call(t,e)>-1},s,!0),f=[function(e,n,r){return!a&&(r||n!==u)||((t=n).nodeType?c(e,n,r):p(e,n,r))}];for(;i>l;l++)if(n=o.relative[e[l].type])f=[vt(bt(f),n)];else{if(n=o.filter[e[l].type].apply(null,e[l].matches),n[b]){for(r=++l;i>r;r++)if(o.relative[e[r].type])break;return wt(l>1&&bt(f),l>1&&yt(e.slice(0,l-1).concat({value:" "===e[l-2].type?"*":""})).replace(z,"$1"),n,r>l&&Tt(e.slice(l,r)),i>r&&Tt(e=e.slice(r)),i>r&&yt(e))}f.push(n)}return bt(f)}function Ct(e,t){var n=0,r=t.length>0,a=e.length>0,s=function(s,l,c,p,d){var h,g,m,y=[],v=0,b="0",x=s&&[],w=null!=d,C=u,N=s||a&&o.find.TAG("*",d&&l.parentNode||l),k=T+=null==C?1:Math.random()||.1;for(w&&(u=l!==f&&l,i=n);null!=(h=N[b]);b++){if(a&&h){g=0;while(m=e[g++])if(m(h,l,c)){p.push(h);break}w&&(T=k,i=++n)}r&&((h=!m&&h)&&v--,s&&x.push(h))}if(v+=b,r&&b!==v){g=0;while(m=t[g++])m(x,y,l,c);if(s){if(v>0)while(b--)x[b]||y[b]||(y[b]=q.call(p));y=xt(y)}M.apply(p,y),w&&!s&&y.length>0&&v+t.length>1&&at.uniqueSort(p)}return w&&(T=k,u=C),x};return r?lt(s):s}l=at.compile=function(e,t){var n,r=[],i=[],o=E[e+" "];if(!o){t||(t=mt(e)),n=t.length;while(n--)o=Tt(t[n]),o[b]?r.push(o):i.push(o);o=E(e,Ct(i,r))}return o};function Nt(e,t,n){var r=0,i=t.length;for(;i>r;r++)at(e,t[r],n);return n}function kt(e,t,n,i){var a,s,u,c,p,f=mt(e);if(!i&&1===f.length){if(s=f[0]=f[0].slice(0),s.length>2&&"ID"===(u=s[0]).type&&r.getById&&9===t.nodeType&&h&&o.relative[s[1].type]){if(t=(o.find.ID(u.matches[0].replace(rt,it),t)||[])[0],!t)return n;e=e.slice(s.shift().value.length)}a=Q.needsContext.test(e)?0:s.length;while(a--){if(u=s[a],o.relative[c=u.type])break;if((p=o.find[c])&&(i=p(u.matches[0].replace(rt,it),V.test(s[0].type)&&t.parentNode||t))){if(s.splice(a,1),e=i.length&&yt(s),!e)return M.apply(n,i),n;break}}}return l(e,f)(i,t,!h,n,V.test(e)),n}r.sortStable=b.split("").sort(A).join("")===b,r.detectDuplicates=S,p(),r.sortDetached=ut(function(e){return 1&e.compareDocumentPosition(f.createElement("div"))}),ut(function(e){return e.innerHTML="<a href='#'></a>","#"===e.firstChild.getAttribute("href")})||ct("type|href|height|width",function(e,n,r){return r?t:e.getAttribute(n,"type"===n.toLowerCase()?1:2)}),r.attributes&&ut(function(e){return e.innerHTML="<input/>",e.firstChild.setAttribute("value",""),""===e.firstChild.getAttribute("value")})||ct("value",function(e,n,r){return r||"input"!==e.nodeName.toLowerCase()?t:e.defaultValue}),ut(function(e){return null==e.getAttribute("disabled")})||ct(B,function(e,n,r){var i;return r?t:(i=e.getAttributeNode(n))&&i.specified?i.value:e[n]===!0?n.toLowerCase():null}),x.find=at,x.expr=at.selectors,x.expr[":"]=x.expr.pseudos,x.unique=at.uniqueSort,x.text=at.getText,x.isXMLDoc=at.isXML,x.contains=at.contains}(e);var O={};function F(e){var t=O[e]={};return x.each(e.match(T)||[],function(e,n){t[n]=!0}),t}x.Callbacks=function(e){e="string"==typeof e?O[e]||F(e):x.extend({},e);var n,r,i,o,a,s,l=[],u=!e.once&&[],c=function(t){for(r=e.memory&&t,i=!0,a=s||0,s=0,o=l.length,n=!0;l&&o>a;a++)if(l[a].apply(t[0],t[1])===!1&&e.stopOnFalse){r=!1;break}n=!1,l&&(u?u.length&&c(u.shift()):r?l=[]:p.disable())},p={add:function(){if(l){var t=l.length;(function i(t){x.each(t,function(t,n){var r=x.type(n);"function"===r?e.unique&&p.has(n)||l.push(n):n&&n.length&&"string"!==r&&i(n)})})(arguments),n?o=l.length:r&&(s=t,c(r))}return this},remove:function(){return l&&x.each(arguments,function(e,t){var r;while((r=x.inArray(t,l,r))>-1)l.splice(r,1),n&&(o>=r&&o--,a>=r&&a--)}),this},has:function(e){return e?x.inArray(e,l)>-1:!(!l||!l.length)},empty:function(){return l=[],o=0,this},disable:function(){return l=u=r=t,this},disabled:function(){return!l},lock:function(){return u=t,r||p.disable(),this},locked:function(){return!u},fireWith:function(e,t){return!l||i&&!u||(t=t||[],t=[e,t.slice?t.slice():t],n?u.push(t):c(t)),this},fire:function(){return p.fireWith(this,arguments),this},fired:function(){return!!i}};return p},x.extend({Deferred:function(e){var t=[["resolve","done",x.Callbacks("once memory"),"resolved"],["reject","fail",x.Callbacks("once memory"),"rejected"],["notify","progress",x.Callbacks("memory")]],n="pending",r={state:function(){return n},always:function(){return i.done(arguments).fail(arguments),this},then:function(){var e=arguments;return x.Deferred(function(n){x.each(t,function(t,o){var a=o[0],s=x.isFunction(e[t])&&e[t];i[o[1]](function(){var e=s&&s.apply(this,arguments);e&&x.isFunction(e.promise)?e.promise().done(n.resolve).fail(n.reject).progress(n.notify):n[a+"With"](this===r?n.promise():this,s?[e]:arguments)})}),e=null}).promise()},promise:function(e){return null!=e?x.extend(e,r):r}},i={};return r.pipe=r.then,x.each(t,function(e,o){var a=o[2],s=o[3];r[o[1]]=a.add,s&&a.add(function(){n=s},t[1^e][2].disable,t[2][2].lock),i[o[0]]=function(){return i[o[0]+"With"](this===i?r:this,arguments),this},i[o[0]+"With"]=a.fireWith}),r.promise(i),e&&e.call(i,i),i},when:function(e){var t=0,n=g.call(arguments),r=n.length,i=1!==r||e&&x.isFunction(e.promise)?r:0,o=1===i?e:x.Deferred(),a=function(e,t,n){return function(r){t[e]=this,n[e]=arguments.length>1?g.call(arguments):r,n===s?o.notifyWith(t,n):--i||o.resolveWith(t,n)}},s,l,u;if(r>1)for(s=Array(r),l=Array(r),u=Array(r);r>t;t++)n[t]&&x.isFunction(n[t].promise)?n[t].promise().done(a(t,u,n)).fail(o.reject).progress(a(t,l,s)):--i;return i||o.resolveWith(u,n),o.promise()}}),x.support=function(t){var n,r,o,s,l,u,c,p,f,d=a.createElement("div");if(d.setAttribute("className","t"),d.innerHTML=" <link/><table></table><a href='/a'>a</a><input type='checkbox'/>",n=d.getElementsByTagName("*")||[],r=d.getElementsByTagName("a")[0],!r||!r.style||!n.length)return t;s=a.createElement("select"),u=s.appendChild(a.createElement("option")),o=d.getElementsByTagName("input")[0],r.style.cssText="top:1px;float:left;opacity:.5",t.getSetAttribute="t"!==d.className,t.leadingWhitespace=3===d.firstChild.nodeType,t.tbody=!d.getElementsByTagName("tbody").length,t.htmlSerialize=!!d.getElementsByTagName("link").length,t.style=/top/.test(r.getAttribute("style")),t.hrefNormalized="/a"===r.getAttribute("href"),t.opacity=/^0.5/.test(r.style.opacity),t.cssFloat=!!r.style.cssFloat,t.checkOn=!!o.value,t.optSelected=u.selected,t.enctype=!!a.createElement("form").enctype,t.html5Clone="<:nav></:nav>"!==a.createElement("nav").cloneNode(!0).outerHTML,t.inlineBlockNeedsLayout=!1,t.shrinkWrapBlocks=!1,t.pixelPosition=!1,t.deleteExpando=!0,t.noCloneEvent=!0,t.reliableMarginRight=!0,t.boxSizingReliable=!0,o.checked=!0,t.noCloneChecked=o.cloneNode(!0).checked,s.disabled=!0,t.optDisabled=!u.disabled;try{delete d.test}catch(h){t.deleteExpando=!1}o=a.createElement("input"),o.setAttribute("value",""),t.input=""===o.getAttribute("value"),o.value="t",o.setAttribute("type","radio"),t.radioValue="t"===o.value,o.setAttribute("checked","t"),o.setAttribute("name","t"),l=a.createDocumentFragment(),l.appendChild(o),t.appendChecked=o.checked,t.checkClone=l.cloneNode(!0).cloneNode(!0).lastChild.checked,d.attachEvent&&(d.attachEvent("onclick",function(){t.noCloneEvent=!1}),d.cloneNode(!0).click());for(f in{submit:!0,change:!0,focusin:!0})d.setAttribute(c="on"+f,"t"),t[f+"Bubbles"]=c in e||d.attributes[c].expando===!1;d.style.backgroundClip="content-box",d.cloneNode(!0).style.backgroundClip="",t.clearCloneStyle="content-box"===d.style.backgroundClip;for(f in x(t))break;return t.ownLast="0"!==f,x(function(){var n,r,o,s="padding:0;margin:0;border:0;display:block;box-sizing:content-box;-moz-box-sizing:content-box;-webkit-box-sizing:content-box;",l=a.getElementsByTagName("body")[0];l&&(n=a.createElement("div"),n.style.cssText="border:0;width:0;height:0;position:absolute;top:0;left:-9999px;margin-top:1px",l.appendChild(n).appendChild(d),d.innerHTML="<table><tr><td></td><td>t</td></tr></table>",o=d.getElementsByTagName("td"),o[0].style.cssText="padding:0;margin:0;border:0;display:none",p=0===o[0].offsetHeight,o[0].style.display="",o[1].style.display="none",t.reliableHiddenOffsets=p&&0===o[0].offsetHeight,d.innerHTML="",d.style.cssText="box-sizing:border-box;-moz-box-sizing:border-box;-webkit-box-sizing:border-box;padding:1px;border:1px;display:block;width:4px;margin-top:1%;position:absolute;top:1%;",x.swap(l,null!=l.style.zoom?{zoom:1}:{},function(){t.boxSizing=4===d.offsetWidth}),e.getComputedStyle&&(t.pixelPosition="1%"!==(e.getComputedStyle(d,null)||{}).top,t.boxSizingReliable="4px"===(e.getComputedStyle(d,null)||{width:"4px"}).width,r=d.appendChild(a.createElement("div")),r.style.cssText=d.style.cssText=s,r.style.marginRight=r.style.width="0",d.style.width="1px",t.reliableMarginRight=!parseFloat((e.getComputedStyle(r,null)||{}).marginRight)),typeof d.style.zoom!==i&&(d.innerHTML="",d.style.cssText=s+"width:1px;padding:1px;display:inline;zoom:1",t.inlineBlockNeedsLayout=3===d.offsetWidth,d.style.display="block",d.innerHTML="<div></div>",d.firstChild.style.width="5px",t.shrinkWrapBlocks=3!==d.offsetWidth,t.inlineBlockNeedsLayout&&(l.style.zoom=1)),l.removeChild(n),n=d=o=r=null)}),n=s=l=u=r=o=null,t
}({});var B=/(?:\{[\s\S]*\}|\[[\s\S]*\])$/,P=/([A-Z])/g;function R(e,n,r,i){if(x.acceptData(e)){var o,a,s=x.expando,l=e.nodeType,u=l?x.cache:e,c=l?e[s]:e[s]&&s;if(c&&u[c]&&(i||u[c].data)||r!==t||"string"!=typeof n)return c||(c=l?e[s]=p.pop()||x.guid++:s),u[c]||(u[c]=l?{}:{toJSON:x.noop}),("object"==typeof n||"function"==typeof n)&&(i?u[c]=x.extend(u[c],n):u[c].data=x.extend(u[c].data,n)),a=u[c],i||(a.data||(a.data={}),a=a.data),r!==t&&(a[x.camelCase(n)]=r),"string"==typeof n?(o=a[n],null==o&&(o=a[x.camelCase(n)])):o=a,o}}function W(e,t,n){if(x.acceptData(e)){var r,i,o=e.nodeType,a=o?x.cache:e,s=o?e[x.expando]:x.expando;if(a[s]){if(t&&(r=n?a[s]:a[s].data)){x.isArray(t)?t=t.concat(x.map(t,x.camelCase)):t in r?t=[t]:(t=x.camelCase(t),t=t in r?[t]:t.split(" ")),i=t.length;while(i--)delete r[t[i]];if(n?!I(r):!x.isEmptyObject(r))return}(n||(delete a[s].data,I(a[s])))&&(o?x.cleanData([e],!0):x.support.deleteExpando||a!=a.window?delete a[s]:a[s]=null)}}}x.extend({cache:{},noData:{applet:!0,embed:!0,object:"clsid:D27CDB6E-AE6D-11cf-96B8-444553540000"},hasData:function(e){return e=e.nodeType?x.cache[e[x.expando]]:e[x.expando],!!e&&!I(e)},data:function(e,t,n){return R(e,t,n)},removeData:function(e,t){return W(e,t)},_data:function(e,t,n){return R(e,t,n,!0)},_removeData:function(e,t){return W(e,t,!0)},acceptData:function(e){if(e.nodeType&&1!==e.nodeType&&9!==e.nodeType)return!1;var t=e.nodeName&&x.noData[e.nodeName.toLowerCase()];return!t||t!==!0&&e.getAttribute("classid")===t}}),x.fn.extend({data:function(e,n){var r,i,o=null,a=0,s=this[0];if(e===t){if(this.length&&(o=x.data(s),1===s.nodeType&&!x._data(s,"parsedAttrs"))){for(r=s.attributes;r.length>a;a++)i=r[a].name,0===i.indexOf("data-")&&(i=x.camelCase(i.slice(5)),$(s,i,o[i]));x._data(s,"parsedAttrs",!0)}return o}return"object"==typeof e?this.each(function(){x.data(this,e)}):arguments.length>1?this.each(function(){x.data(this,e,n)}):s?$(s,e,x.data(s,e)):null},removeData:function(e){return this.each(function(){x.removeData(this,e)})}});function $(e,n,r){if(r===t&&1===e.nodeType){var i="data-"+n.replace(P,"-$1").toLowerCase();if(r=e.getAttribute(i),"string"==typeof r){try{r="true"===r?!0:"false"===r?!1:"null"===r?null:+r+""===r?+r:B.test(r)?x.parseJSON(r):r}catch(o){}x.data(e,n,r)}else r=t}return r}function I(e){var t;for(t in e)if(("data"!==t||!x.isEmptyObject(e[t]))&&"toJSON"!==t)return!1;return!0}x.extend({queue:function(e,n,r){var i;return e?(n=(n||"fx")+"queue",i=x._data(e,n),r&&(!i||x.isArray(r)?i=x._data(e,n,x.makeArray(r)):i.push(r)),i||[]):t},dequeue:function(e,t){t=t||"fx";var n=x.queue(e,t),r=n.length,i=n.shift(),o=x._queueHooks(e,t),a=function(){x.dequeue(e,t)};"inprogress"===i&&(i=n.shift(),r--),i&&("fx"===t&&n.unshift("inprogress"),delete o.stop,i.call(e,a,o)),!r&&o&&o.empty.fire()},_queueHooks:function(e,t){var n=t+"queueHooks";return x._data(e,n)||x._data(e,n,{empty:x.Callbacks("once memory").add(function(){x._removeData(e,t+"queue"),x._removeData(e,n)})})}}),x.fn.extend({queue:function(e,n){var r=2;return"string"!=typeof e&&(n=e,e="fx",r--),r>arguments.length?x.queue(this[0],e):n===t?this:this.each(function(){var t=x.queue(this,e,n);x._queueHooks(this,e),"fx"===e&&"inprogress"!==t[0]&&x.dequeue(this,e)})},dequeue:function(e){return this.each(function(){x.dequeue(this,e)})},delay:function(e,t){return e=x.fx?x.fx.speeds[e]||e:e,t=t||"fx",this.queue(t,function(t,n){var r=setTimeout(t,e);n.stop=function(){clearTimeout(r)}})},clearQueue:function(e){return this.queue(e||"fx",[])},promise:function(e,n){var r,i=1,o=x.Deferred(),a=this,s=this.length,l=function(){--i||o.resolveWith(a,[a])};"string"!=typeof e&&(n=e,e=t),e=e||"fx";while(s--)r=x._data(a[s],e+"queueHooks"),r&&r.empty&&(i++,r.empty.add(l));return l(),o.promise(n)}});var z,X,U=/[\t\r\n\f]/g,V=/\r/g,Y=/^(?:input|select|textarea|button|object)$/i,J=/^(?:a|area)$/i,G=/^(?:checked|selected)$/i,Q=x.support.getSetAttribute,K=x.support.input;x.fn.extend({attr:function(e,t){return x.access(this,x.attr,e,t,arguments.length>1)},removeAttr:function(e){return this.each(function(){x.removeAttr(this,e)})},prop:function(e,t){return x.access(this,x.prop,e,t,arguments.length>1)},removeProp:function(e){return e=x.propFix[e]||e,this.each(function(){try{this[e]=t,delete this[e]}catch(n){}})},addClass:function(e){var t,n,r,i,o,a=0,s=this.length,l="string"==typeof e&&e;if(x.isFunction(e))return this.each(function(t){x(this).addClass(e.call(this,t,this.className))});if(l)for(t=(e||"").match(T)||[];s>a;a++)if(n=this[a],r=1===n.nodeType&&(n.className?(" "+n.className+" ").replace(U," "):" ")){o=0;while(i=t[o++])0>r.indexOf(" "+i+" ")&&(r+=i+" ");n.className=x.trim(r)}return this},removeClass:function(e){var t,n,r,i,o,a=0,s=this.length,l=0===arguments.length||"string"==typeof e&&e;if(x.isFunction(e))return this.each(function(t){x(this).removeClass(e.call(this,t,this.className))});if(l)for(t=(e||"").match(T)||[];s>a;a++)if(n=this[a],r=1===n.nodeType&&(n.className?(" "+n.className+" ").replace(U," "):"")){o=0;while(i=t[o++])while(r.indexOf(" "+i+" ")>=0)r=r.replace(" "+i+" "," ");n.className=e?x.trim(r):""}return this},toggleClass:function(e,t){var n=typeof e;return"boolean"==typeof t&&"string"===n?t?this.addClass(e):this.removeClass(e):x.isFunction(e)?this.each(function(n){x(this).toggleClass(e.call(this,n,this.className,t),t)}):this.each(function(){if("string"===n){var t,r=0,o=x(this),a=e.match(T)||[];while(t=a[r++])o.hasClass(t)?o.removeClass(t):o.addClass(t)}else(n===i||"boolean"===n)&&(this.className&&x._data(this,"__className__",this.className),this.className=this.className||e===!1?"":x._data(this,"__className__")||"")})},hasClass:function(e){var t=" "+e+" ",n=0,r=this.length;for(;r>n;n++)if(1===this[n].nodeType&&(" "+this[n].className+" ").replace(U," ").indexOf(t)>=0)return!0;return!1},val:function(e){var n,r,i,o=this[0];{if(arguments.length)return i=x.isFunction(e),this.each(function(n){var o;1===this.nodeType&&(o=i?e.call(this,n,x(this).val()):e,null==o?o="":"number"==typeof o?o+="":x.isArray(o)&&(o=x.map(o,function(e){return null==e?"":e+""})),r=x.valHooks[this.type]||x.valHooks[this.nodeName.toLowerCase()],r&&"set"in r&&r.set(this,o,"value")!==t||(this.value=o))});if(o)return r=x.valHooks[o.type]||x.valHooks[o.nodeName.toLowerCase()],r&&"get"in r&&(n=r.get(o,"value"))!==t?n:(n=o.value,"string"==typeof n?n.replace(V,""):null==n?"":n)}}}),x.extend({valHooks:{option:{get:function(e){var t=x.find.attr(e,"value");return null!=t?t:e.text}},select:{get:function(e){var t,n,r=e.options,i=e.selectedIndex,o="select-one"===e.type||0>i,a=o?null:[],s=o?i+1:r.length,l=0>i?s:o?i:0;for(;s>l;l++)if(n=r[l],!(!n.selected&&l!==i||(x.support.optDisabled?n.disabled:null!==n.getAttribute("disabled"))||n.parentNode.disabled&&x.nodeName(n.parentNode,"optgroup"))){if(t=x(n).val(),o)return t;a.push(t)}return a},set:function(e,t){var n,r,i=e.options,o=x.makeArray(t),a=i.length;while(a--)r=i[a],(r.selected=x.inArray(x(r).val(),o)>=0)&&(n=!0);return n||(e.selectedIndex=-1),o}}},attr:function(e,n,r){var o,a,s=e.nodeType;if(e&&3!==s&&8!==s&&2!==s)return typeof e.getAttribute===i?x.prop(e,n,r):(1===s&&x.isXMLDoc(e)||(n=n.toLowerCase(),o=x.attrHooks[n]||(x.expr.match.bool.test(n)?X:z)),r===t?o&&"get"in o&&null!==(a=o.get(e,n))?a:(a=x.find.attr(e,n),null==a?t:a):null!==r?o&&"set"in o&&(a=o.set(e,r,n))!==t?a:(e.setAttribute(n,r+""),r):(x.removeAttr(e,n),t))},removeAttr:function(e,t){var n,r,i=0,o=t&&t.match(T);if(o&&1===e.nodeType)while(n=o[i++])r=x.propFix[n]||n,x.expr.match.bool.test(n)?K&&Q||!G.test(n)?e[r]=!1:e[x.camelCase("default-"+n)]=e[r]=!1:x.attr(e,n,""),e.removeAttribute(Q?n:r)},attrHooks:{type:{set:function(e,t){if(!x.support.radioValue&&"radio"===t&&x.nodeName(e,"input")){var n=e.value;return e.setAttribute("type",t),n&&(e.value=n),t}}}},propFix:{"for":"htmlFor","class":"className"},prop:function(e,n,r){var i,o,a,s=e.nodeType;if(e&&3!==s&&8!==s&&2!==s)return a=1!==s||!x.isXMLDoc(e),a&&(n=x.propFix[n]||n,o=x.propHooks[n]),r!==t?o&&"set"in o&&(i=o.set(e,r,n))!==t?i:e[n]=r:o&&"get"in o&&null!==(i=o.get(e,n))?i:e[n]},propHooks:{tabIndex:{get:function(e){var t=x.find.attr(e,"tabindex");return t?parseInt(t,10):Y.test(e.nodeName)||J.test(e.nodeName)&&e.href?0:-1}}}}),X={set:function(e,t,n){return t===!1?x.removeAttr(e,n):K&&Q||!G.test(n)?e.setAttribute(!Q&&x.propFix[n]||n,n):e[x.camelCase("default-"+n)]=e[n]=!0,n}},x.each(x.expr.match.bool.source.match(/\w+/g),function(e,n){var r=x.expr.attrHandle[n]||x.find.attr;x.expr.attrHandle[n]=K&&Q||!G.test(n)?function(e,n,i){var o=x.expr.attrHandle[n],a=i?t:(x.expr.attrHandle[n]=t)!=r(e,n,i)?n.toLowerCase():null;return x.expr.attrHandle[n]=o,a}:function(e,n,r){return r?t:e[x.camelCase("default-"+n)]?n.toLowerCase():null}}),K&&Q||(x.attrHooks.value={set:function(e,n,r){return x.nodeName(e,"input")?(e.defaultValue=n,t):z&&z.set(e,n,r)}}),Q||(z={set:function(e,n,r){var i=e.getAttributeNode(r);return i||e.setAttributeNode(i=e.ownerDocument.createAttribute(r)),i.value=n+="","value"===r||n===e.getAttribute(r)?n:t}},x.expr.attrHandle.id=x.expr.attrHandle.name=x.expr.attrHandle.coords=function(e,n,r){var i;return r?t:(i=e.getAttributeNode(n))&&""!==i.value?i.value:null},x.valHooks.button={get:function(e,n){var r=e.getAttributeNode(n);return r&&r.specified?r.value:t},set:z.set},x.attrHooks.contenteditable={set:function(e,t,n){z.set(e,""===t?!1:t,n)}},x.each(["width","height"],function(e,n){x.attrHooks[n]={set:function(e,r){return""===r?(e.setAttribute(n,"auto"),r):t}}})),x.support.hrefNormalized||x.each(["href","src"],function(e,t){x.propHooks[t]={get:function(e){return e.getAttribute(t,4)}}}),x.support.style||(x.attrHooks.style={get:function(e){return e.style.cssText||t},set:function(e,t){return e.style.cssText=t+""}}),x.support.optSelected||(x.propHooks.selected={get:function(e){var t=e.parentNode;return t&&(t.selectedIndex,t.parentNode&&t.parentNode.selectedIndex),null}}),x.each(["tabIndex","readOnly","maxLength","cellSpacing","cellPadding","rowSpan","colSpan","useMap","frameBorder","contentEditable"],function(){x.propFix[this.toLowerCase()]=this}),x.support.enctype||(x.propFix.enctype="encoding"),x.each(["radio","checkbox"],function(){x.valHooks[this]={set:function(e,n){return x.isArray(n)?e.checked=x.inArray(x(e).val(),n)>=0:t}},x.support.checkOn||(x.valHooks[this].get=function(e){return null===e.getAttribute("value")?"on":e.value})});var Z=/^(?:input|select|textarea)$/i,et=/^key/,tt=/^(?:mouse|contextmenu)|click/,nt=/^(?:focusinfocus|focusoutblur)$/,rt=/^([^.]*)(?:\.(.+)|)$/;function it(){return!0}function ot(){return!1}function at(){try{return a.activeElement}catch(e){}}x.event={global:{},add:function(e,n,r,o,a){var s,l,u,c,p,f,d,h,g,m,y,v=x._data(e);if(v){r.handler&&(c=r,r=c.handler,a=c.selector),r.guid||(r.guid=x.guid++),(l=v.events)||(l=v.events={}),(f=v.handle)||(f=v.handle=function(e){return typeof x===i||e&&x.event.triggered===e.type?t:x.event.dispatch.apply(f.elem,arguments)},f.elem=e),n=(n||"").match(T)||[""],u=n.length;while(u--)s=rt.exec(n[u])||[],g=y=s[1],m=(s[2]||"").split(".").sort(),g&&(p=x.event.special[g]||{},g=(a?p.delegateType:p.bindType)||g,p=x.event.special[g]||{},d=x.extend({type:g,origType:y,data:o,handler:r,guid:r.guid,selector:a,needsContext:a&&x.expr.match.needsContext.test(a),namespace:m.join(".")},c),(h=l[g])||(h=l[g]=[],h.delegateCount=0,p.setup&&p.setup.call(e,o,m,f)!==!1||(e.addEventListener?e.addEventListener(g,f,!1):e.attachEvent&&e.attachEvent("on"+g,f))),p.add&&(p.add.call(e,d),d.handler.guid||(d.handler.guid=r.guid)),a?h.splice(h.delegateCount++,0,d):h.push(d),x.event.global[g]=!0);e=null}},remove:function(e,t,n,r,i){var o,a,s,l,u,c,p,f,d,h,g,m=x.hasData(e)&&x._data(e);if(m&&(c=m.events)){t=(t||"").match(T)||[""],u=t.length;while(u--)if(s=rt.exec(t[u])||[],d=g=s[1],h=(s[2]||"").split(".").sort(),d){p=x.event.special[d]||{},d=(r?p.delegateType:p.bindType)||d,f=c[d]||[],s=s[2]&&RegExp("(^|\\.)"+h.join("\\.(?:.*\\.|)")+"(\\.|$)"),l=o=f.length;while(o--)a=f[o],!i&&g!==a.origType||n&&n.guid!==a.guid||s&&!s.test(a.namespace)||r&&r!==a.selector&&("**"!==r||!a.selector)||(f.splice(o,1),a.selector&&f.delegateCount--,p.remove&&p.remove.call(e,a));l&&!f.length&&(p.teardown&&p.teardown.call(e,h,m.handle)!==!1||x.removeEvent(e,d,m.handle),delete c[d])}else for(d in c)x.event.remove(e,d+t[u],n,r,!0);x.isEmptyObject(c)&&(delete m.handle,x._removeData(e,"events"))}},trigger:function(n,r,i,o){var s,l,u,c,p,f,d,h=[i||a],g=v.call(n,"type")?n.type:n,m=v.call(n,"namespace")?n.namespace.split("."):[];if(u=f=i=i||a,3!==i.nodeType&&8!==i.nodeType&&!nt.test(g+x.event.triggered)&&(g.indexOf(".")>=0&&(m=g.split("."),g=m.shift(),m.sort()),l=0>g.indexOf(":")&&"on"+g,n=n[x.expando]?n:new x.Event(g,"object"==typeof n&&n),n.isTrigger=o?2:3,n.namespace=m.join("."),n.namespace_re=n.namespace?RegExp("(^|\\.)"+m.join("\\.(?:.*\\.|)")+"(\\.|$)"):null,n.result=t,n.target||(n.target=i),r=null==r?[n]:x.makeArray(r,[n]),p=x.event.special[g]||{},o||!p.trigger||p.trigger.apply(i,r)!==!1)){if(!o&&!p.noBubble&&!x.isWindow(i)){for(c=p.delegateType||g,nt.test(c+g)||(u=u.parentNode);u;u=u.parentNode)h.push(u),f=u;f===(i.ownerDocument||a)&&h.push(f.defaultView||f.parentWindow||e)}d=0;while((u=h[d++])&&!n.isPropagationStopped())n.type=d>1?c:p.bindType||g,s=(x._data(u,"events")||{})[n.type]&&x._data(u,"handle"),s&&s.apply(u,r),s=l&&u[l],s&&x.acceptData(u)&&s.apply&&s.apply(u,r)===!1&&n.preventDefault();if(n.type=g,!o&&!n.isDefaultPrevented()&&(!p._default||p._default.apply(h.pop(),r)===!1)&&x.acceptData(i)&&l&&i[g]&&!x.isWindow(i)){f=i[l],f&&(i[l]=null),x.event.triggered=g;try{i[g]()}catch(y){}x.event.triggered=t,f&&(i[l]=f)}return n.result}},dispatch:function(e){e=x.event.fix(e);var n,r,i,o,a,s=[],l=g.call(arguments),u=(x._data(this,"events")||{})[e.type]||[],c=x.event.special[e.type]||{};if(l[0]=e,e.delegateTarget=this,!c.preDispatch||c.preDispatch.call(this,e)!==!1){s=x.event.handlers.call(this,e,u),n=0;while((o=s[n++])&&!e.isPropagationStopped()){e.currentTarget=o.elem,a=0;while((i=o.handlers[a++])&&!e.isImmediatePropagationStopped())(!e.namespace_re||e.namespace_re.test(i.namespace))&&(e.handleObj=i,e.data=i.data,r=((x.event.special[i.origType]||{}).handle||i.handler).apply(o.elem,l),r!==t&&(e.result=r)===!1&&(e.preventDefault(),e.stopPropagation()))}return c.postDispatch&&c.postDispatch.call(this,e),e.result}},handlers:function(e,n){var r,i,o,a,s=[],l=n.delegateCount,u=e.target;if(l&&u.nodeType&&(!e.button||"click"!==e.type))for(;u!=this;u=u.parentNode||this)if(1===u.nodeType&&(u.disabled!==!0||"click"!==e.type)){for(o=[],a=0;l>a;a++)i=n[a],r=i.selector+" ",o[r]===t&&(o[r]=i.needsContext?x(r,this).index(u)>=0:x.find(r,this,null,[u]).length),o[r]&&o.push(i);o.length&&s.push({elem:u,handlers:o})}return n.length>l&&s.push({elem:this,handlers:n.slice(l)}),s},fix:function(e){if(e[x.expando])return e;var t,n,r,i=e.type,o=e,s=this.fixHooks[i];s||(this.fixHooks[i]=s=tt.test(i)?this.mouseHooks:et.test(i)?this.keyHooks:{}),r=s.props?this.props.concat(s.props):this.props,e=new x.Event(o),t=r.length;while(t--)n=r[t],e[n]=o[n];return e.target||(e.target=o.srcElement||a),3===e.target.nodeType&&(e.target=e.target.parentNode),e.metaKey=!!e.metaKey,s.filter?s.filter(e,o):e},props:"altKey bubbles cancelable ctrlKey currentTarget eventPhase metaKey relatedTarget shiftKey target timeStamp view which".split(" "),fixHooks:{},keyHooks:{props:"char charCode key keyCode".split(" "),filter:function(e,t){return null==e.which&&(e.which=null!=t.charCode?t.charCode:t.keyCode),e}},mouseHooks:{props:"button buttons clientX clientY fromElement offsetX offsetY pageX pageY screenX screenY toElement".split(" "),filter:function(e,n){var r,i,o,s=n.button,l=n.fromElement;return null==e.pageX&&null!=n.clientX&&(i=e.target.ownerDocument||a,o=i.documentElement,r=i.body,e.pageX=n.clientX+(o&&o.scrollLeft||r&&r.scrollLeft||0)-(o&&o.clientLeft||r&&r.clientLeft||0),e.pageY=n.clientY+(o&&o.scrollTop||r&&r.scrollTop||0)-(o&&o.clientTop||r&&r.clientTop||0)),!e.relatedTarget&&l&&(e.relatedTarget=l===e.target?n.toElement:l),e.which||s===t||(e.which=1&s?1:2&s?3:4&s?2:0),e}},special:{load:{noBubble:!0},focus:{trigger:function(){if(this!==at()&&this.focus)try{return this.focus(),!1}catch(e){}},delegateType:"focusin"},blur:{trigger:function(){return this===at()&&this.blur?(this.blur(),!1):t},delegateType:"focusout"},click:{trigger:function(){return x.nodeName(this,"input")&&"checkbox"===this.type&&this.click?(this.click(),!1):t},_default:function(e){return x.nodeName(e.target,"a")}},beforeunload:{postDispatch:function(e){e.result!==t&&(e.originalEvent.returnValue=e.result)}}},simulate:function(e,t,n,r){var i=x.extend(new x.Event,n,{type:e,isSimulated:!0,originalEvent:{}});r?x.event.trigger(i,null,t):x.event.dispatch.call(t,i),i.isDefaultPrevented()&&n.preventDefault()}},x.removeEvent=a.removeEventListener?function(e,t,n){e.removeEventListener&&e.removeEventListener(t,n,!1)}:function(e,t,n){var r="on"+t;e.detachEvent&&(typeof e[r]===i&&(e[r]=null),e.detachEvent(r,n))},x.Event=function(e,n){return this instanceof x.Event?(e&&e.type?(this.originalEvent=e,this.type=e.type,this.isDefaultPrevented=e.defaultPrevented||e.returnValue===!1||e.getPreventDefault&&e.getPreventDefault()?it:ot):this.type=e,n&&x.extend(this,n),this.timeStamp=e&&e.timeStamp||x.now(),this[x.expando]=!0,t):new x.Event(e,n)},x.Event.prototype={isDefaultPrevented:ot,isPropagationStopped:ot,isImmediatePropagationStopped:ot,preventDefault:function(){var e=this.originalEvent;this.isDefaultPrevented=it,e&&(e.preventDefault?e.preventDefault():e.returnValue=!1)},stopPropagation:function(){var e=this.originalEvent;this.isPropagationStopped=it,e&&(e.stopPropagation&&e.stopPropagation(),e.cancelBubble=!0)},stopImmediatePropagation:function(){this.isImmediatePropagationStopped=it,this.stopPropagation()}},x.each({mouseenter:"mouseover",mouseleave:"mouseout"},function(e,t){x.event.special[e]={delegateType:t,bindType:t,handle:function(e){var n,r=this,i=e.relatedTarget,o=e.handleObj;return(!i||i!==r&&!x.contains(r,i))&&(e.type=o.origType,n=o.handler.apply(this,arguments),e.type=t),n}}}),x.support.submitBubbles||(x.event.special.submit={setup:function(){return x.nodeName(this,"form")?!1:(x.event.add(this,"click._submit keypress._submit",function(e){var n=e.target,r=x.nodeName(n,"input")||x.nodeName(n,"button")?n.form:t;r&&!x._data(r,"submitBubbles")&&(x.event.add(r,"submit._submit",function(e){e._submit_bubble=!0}),x._data(r,"submitBubbles",!0))}),t)},postDispatch:function(e){e._submit_bubble&&(delete e._submit_bubble,this.parentNode&&!e.isTrigger&&x.event.simulate("submit",this.parentNode,e,!0))},teardown:function(){return x.nodeName(this,"form")?!1:(x.event.remove(this,"._submit"),t)}}),x.support.changeBubbles||(x.event.special.change={setup:function(){return Z.test(this.nodeName)?(("checkbox"===this.type||"radio"===this.type)&&(x.event.add(this,"propertychange._change",function(e){"checked"===e.originalEvent.propertyName&&(this._just_changed=!0)}),x.event.add(this,"click._change",function(e){this._just_changed&&!e.isTrigger&&(this._just_changed=!1),x.event.simulate("change",this,e,!0)})),!1):(x.event.add(this,"beforeactivate._change",function(e){var t=e.target;Z.test(t.nodeName)&&!x._data(t,"changeBubbles")&&(x.event.add(t,"change._change",function(e){!this.parentNode||e.isSimulated||e.isTrigger||x.event.simulate("change",this.parentNode,e,!0)}),x._data(t,"changeBubbles",!0))}),t)},handle:function(e){var n=e.target;return this!==n||e.isSimulated||e.isTrigger||"radio"!==n.type&&"checkbox"!==n.type?e.handleObj.handler.apply(this,arguments):t},teardown:function(){return x.event.remove(this,"._change"),!Z.test(this.nodeName)}}),x.support.focusinBubbles||x.each({focus:"focusin",blur:"focusout"},function(e,t){var n=0,r=function(e){x.event.simulate(t,e.target,x.event.fix(e),!0)};x.event.special[t]={setup:function(){0===n++&&a.addEventListener(e,r,!0)},teardown:function(){0===--n&&a.removeEventListener(e,r,!0)}}}),x.fn.extend({on:function(e,n,r,i,o){var a,s;if("object"==typeof e){"string"!=typeof n&&(r=r||n,n=t);for(a in e)this.on(a,n,r,e[a],o);return this}if(null==r&&null==i?(i=n,r=n=t):null==i&&("string"==typeof n?(i=r,r=t):(i=r,r=n,n=t)),i===!1)i=ot;else if(!i)return this;return 1===o&&(s=i,i=function(e){return x().off(e),s.apply(this,arguments)},i.guid=s.guid||(s.guid=x.guid++)),this.each(function(){x.event.add(this,e,i,r,n)})},one:function(e,t,n,r){return this.on(e,t,n,r,1)},off:function(e,n,r){var i,o;if(e&&e.preventDefault&&e.handleObj)return i=e.handleObj,x(e.delegateTarget).off(i.namespace?i.origType+"."+i.namespace:i.origType,i.selector,i.handler),this;if("object"==typeof e){for(o in e)this.off(o,n,e[o]);return this}return(n===!1||"function"==typeof n)&&(r=n,n=t),r===!1&&(r=ot),this.each(function(){x.event.remove(this,e,r,n)})},trigger:function(e,t){return this.each(function(){x.event.trigger(e,t,this)})},triggerHandler:function(e,n){var r=this[0];return r?x.event.trigger(e,n,r,!0):t}});var st=/^.[^:#\[\.,]*$/,lt=/^(?:parents|prev(?:Until|All))/,ut=x.expr.match.needsContext,ct={children:!0,contents:!0,next:!0,prev:!0};x.fn.extend({find:function(e){var t,n=[],r=this,i=r.length;if("string"!=typeof e)return this.pushStack(x(e).filter(function(){for(t=0;i>t;t++)if(x.contains(r[t],this))return!0}));for(t=0;i>t;t++)x.find(e,r[t],n);return n=this.pushStack(i>1?x.unique(n):n),n.selector=this.selector?this.selector+" "+e:e,n},has:function(e){var t,n=x(e,this),r=n.length;return this.filter(function(){for(t=0;r>t;t++)if(x.contains(this,n[t]))return!0})},not:function(e){return this.pushStack(ft(this,e||[],!0))},filter:function(e){return this.pushStack(ft(this,e||[],!1))},is:function(e){return!!ft(this,"string"==typeof e&&ut.test(e)?x(e):e||[],!1).length},closest:function(e,t){var n,r=0,i=this.length,o=[],a=ut.test(e)||"string"!=typeof e?x(e,t||this.context):0;for(;i>r;r++)for(n=this[r];n&&n!==t;n=n.parentNode)if(11>n.nodeType&&(a?a.index(n)>-1:1===n.nodeType&&x.find.matchesSelector(n,e))){n=o.push(n);break}return this.pushStack(o.length>1?x.unique(o):o)},index:function(e){return e?"string"==typeof e?x.inArray(this[0],x(e)):x.inArray(e.jquery?e[0]:e,this):this[0]&&this[0].parentNode?this.first().prevAll().length:-1},add:function(e,t){var n="string"==typeof e?x(e,t):x.makeArray(e&&e.nodeType?[e]:e),r=x.merge(this.get(),n);return this.pushStack(x.unique(r))},addBack:function(e){return this.add(null==e?this.prevObject:this.prevObject.filter(e))}});function pt(e,t){do e=e[t];while(e&&1!==e.nodeType);return e}x.each({parent:function(e){var t=e.parentNode;return t&&11!==t.nodeType?t:null},parents:function(e){return x.dir(e,"parentNode")},parentsUntil:function(e,t,n){return x.dir(e,"parentNode",n)},next:function(e){return pt(e,"nextSibling")},prev:function(e){return pt(e,"previousSibling")},nextAll:function(e){return x.dir(e,"nextSibling")},prevAll:function(e){return x.dir(e,"previousSibling")},nextUntil:function(e,t,n){return x.dir(e,"nextSibling",n)},prevUntil:function(e,t,n){return x.dir(e,"previousSibling",n)},siblings:function(e){return x.sibling((e.parentNode||{}).firstChild,e)},children:function(e){return x.sibling(e.firstChild)},contents:function(e){return x.nodeName(e,"iframe")?e.contentDocument||e.contentWindow.document:x.merge([],e.childNodes)}},function(e,t){x.fn[e]=function(n,r){var i=x.map(this,t,n);return"Until"!==e.slice(-5)&&(r=n),r&&"string"==typeof r&&(i=x.filter(r,i)),this.length>1&&(ct[e]||(i=x.unique(i)),lt.test(e)&&(i=i.reverse())),this.pushStack(i)}}),x.extend({filter:function(e,t,n){var r=t[0];return n&&(e=":not("+e+")"),1===t.length&&1===r.nodeType?x.find.matchesSelector(r,e)?[r]:[]:x.find.matches(e,x.grep(t,function(e){return 1===e.nodeType}))},dir:function(e,n,r){var i=[],o=e[n];while(o&&9!==o.nodeType&&(r===t||1!==o.nodeType||!x(o).is(r)))1===o.nodeType&&i.push(o),o=o[n];return i},sibling:function(e,t){var n=[];for(;e;e=e.nextSibling)1===e.nodeType&&e!==t&&n.push(e);return n}});function ft(e,t,n){if(x.isFunction(t))return x.grep(e,function(e,r){return!!t.call(e,r,e)!==n});if(t.nodeType)return x.grep(e,function(e){return e===t!==n});if("string"==typeof t){if(st.test(t))return x.filter(t,e,n);t=x.filter(t,e)}return x.grep(e,function(e){return x.inArray(e,t)>=0!==n})}function dt(e){var t=ht.split("|"),n=e.createDocumentFragment();if(n.createElement)while(t.length)n.createElement(t.pop());return n}var ht="abbr|article|aside|audio|bdi|canvas|data|datalist|details|figcaption|figure|footer|header|hgroup|mark|meter|nav|output|progress|section|summary|time|video",gt=/ jQuery\d+="(?:null|\d+)"/g,mt=RegExp("<(?:"+ht+")[\\s/>]","i"),yt=/^\s+/,vt=/<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\w:]+)[^>]*)\/>/gi,bt=/<([\w:]+)/,xt=/<tbody/i,wt=/<|&#?\w+;/,Tt=/<(?:script|style|link)/i,Ct=/^(?:checkbox|radio)$/i,Nt=/checked\s*(?:[^=]|=\s*.checked.)/i,kt=/^$|\/(?:java|ecma)script/i,Et=/^true\/(.*)/,St=/^\s*<!(?:\[CDATA\[|--)|(?:\]\]|--)>\s*$/g,At={option:[1,"<select multiple='multiple'>","</select>"],legend:[1,"<fieldset>","</fieldset>"],area:[1,"<map>","</map>"],param:[1,"<object>","</object>"],thead:[1,"<table>","</table>"],tr:[2,"<table><tbody>","</tbody></table>"],col:[2,"<table><tbody></tbody><colgroup>","</colgroup></table>"],td:[3,"<table><tbody><tr>","</tr></tbody></table>"],_default:x.support.htmlSerialize?[0,"",""]:[1,"X<div>","</div>"]},jt=dt(a),Dt=jt.appendChild(a.createElement("div"));At.optgroup=At.option,At.tbody=At.tfoot=At.colgroup=At.caption=At.thead,At.th=At.td,x.fn.extend({text:function(e){return x.access(this,function(e){return e===t?x.text(this):this.empty().append((this[0]&&this[0].ownerDocument||a).createTextNode(e))},null,e,arguments.length)},append:function(){return this.domManip(arguments,function(e){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){var t=Lt(this,e);t.appendChild(e)}})},prepend:function(){return this.domManip(arguments,function(e){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){var t=Lt(this,e);t.insertBefore(e,t.firstChild)}})},before:function(){return this.domManip(arguments,function(e){this.parentNode&&this.parentNode.insertBefore(e,this)})},after:function(){return this.domManip(arguments,function(e){this.parentNode&&this.parentNode.insertBefore(e,this.nextSibling)})},remove:function(e,t){var n,r=e?x.filter(e,this):this,i=0;for(;null!=(n=r[i]);i++)t||1!==n.nodeType||x.cleanData(Ft(n)),n.parentNode&&(t&&x.contains(n.ownerDocument,n)&&_t(Ft(n,"script")),n.parentNode.removeChild(n));return this},empty:function(){var e,t=0;for(;null!=(e=this[t]);t++){1===e.nodeType&&x.cleanData(Ft(e,!1));while(e.firstChild)e.removeChild(e.firstChild);e.options&&x.nodeName(e,"select")&&(e.options.length=0)}return this},clone:function(e,t){return e=null==e?!1:e,t=null==t?e:t,this.map(function(){return x.clone(this,e,t)})},html:function(e){return x.access(this,function(e){var n=this[0]||{},r=0,i=this.length;if(e===t)return 1===n.nodeType?n.innerHTML.replace(gt,""):t;if(!("string"!=typeof e||Tt.test(e)||!x.support.htmlSerialize&&mt.test(e)||!x.support.leadingWhitespace&&yt.test(e)||At[(bt.exec(e)||["",""])[1].toLowerCase()])){e=e.replace(vt,"<$1></$2>");try{for(;i>r;r++)n=this[r]||{},1===n.nodeType&&(x.cleanData(Ft(n,!1)),n.innerHTML=e);n=0}catch(o){}}n&&this.empty().append(e)},null,e,arguments.length)},replaceWith:function(){var e=x.map(this,function(e){return[e.nextSibling,e.parentNode]}),t=0;return this.domManip(arguments,function(n){var r=e[t++],i=e[t++];i&&(r&&r.parentNode!==i&&(r=this.nextSibling),x(this).remove(),i.insertBefore(n,r))},!0),t?this:this.remove()},detach:function(e){return this.remove(e,!0)},domManip:function(e,t,n){e=d.apply([],e);var r,i,o,a,s,l,u=0,c=this.length,p=this,f=c-1,h=e[0],g=x.isFunction(h);if(g||!(1>=c||"string"!=typeof h||x.support.checkClone)&&Nt.test(h))return this.each(function(r){var i=p.eq(r);g&&(e[0]=h.call(this,r,i.html())),i.domManip(e,t,n)});if(c&&(l=x.buildFragment(e,this[0].ownerDocument,!1,!n&&this),r=l.firstChild,1===l.childNodes.length&&(l=r),r)){for(a=x.map(Ft(l,"script"),Ht),o=a.length;c>u;u++)i=l,u!==f&&(i=x.clone(i,!0,!0),o&&x.merge(a,Ft(i,"script"))),t.call(this[u],i,u);if(o)for(s=a[a.length-1].ownerDocument,x.map(a,qt),u=0;o>u;u++)i=a[u],kt.test(i.type||"")&&!x._data(i,"globalEval")&&x.contains(s,i)&&(i.src?x._evalUrl(i.src):x.globalEval((i.text||i.textContent||i.innerHTML||"").replace(St,"")));l=r=null}return this}});function Lt(e,t){return x.nodeName(e,"table")&&x.nodeName(1===t.nodeType?t:t.firstChild,"tr")?e.getElementsByTagName("tbody")[0]||e.appendChild(e.ownerDocument.createElement("tbody")):e}function Ht(e){return e.type=(null!==x.find.attr(e,"type"))+"/"+e.type,e}function qt(e){var t=Et.exec(e.type);return t?e.type=t[1]:e.removeAttribute("type"),e}function _t(e,t){var n,r=0;for(;null!=(n=e[r]);r++)x._data(n,"globalEval",!t||x._data(t[r],"globalEval"))}function Mt(e,t){if(1===t.nodeType&&x.hasData(e)){var n,r,i,o=x._data(e),a=x._data(t,o),s=o.events;if(s){delete a.handle,a.events={};for(n in s)for(r=0,i=s[n].length;i>r;r++)x.event.add(t,n,s[n][r])}a.data&&(a.data=x.extend({},a.data))}}function Ot(e,t){var n,r,i;if(1===t.nodeType){if(n=t.nodeName.toLowerCase(),!x.support.noCloneEvent&&t[x.expando]){i=x._data(t);for(r in i.events)x.removeEvent(t,r,i.handle);t.removeAttribute(x.expando)}"script"===n&&t.text!==e.text?(Ht(t).text=e.text,qt(t)):"object"===n?(t.parentNode&&(t.outerHTML=e.outerHTML),x.support.html5Clone&&e.innerHTML&&!x.trim(t.innerHTML)&&(t.innerHTML=e.innerHTML)):"input"===n&&Ct.test(e.type)?(t.defaultChecked=t.checked=e.checked,t.value!==e.value&&(t.value=e.value)):"option"===n?t.defaultSelected=t.selected=e.defaultSelected:("input"===n||"textarea"===n)&&(t.defaultValue=e.defaultValue)}}x.each({appendTo:"append",prependTo:"prepend",insertBefore:"before",insertAfter:"after",replaceAll:"replaceWith"},function(e,t){x.fn[e]=function(e){var n,r=0,i=[],o=x(e),a=o.length-1;for(;a>=r;r++)n=r===a?this:this.clone(!0),x(o[r])[t](n),h.apply(i,n.get());return this.pushStack(i)}});function Ft(e,n){var r,o,a=0,s=typeof e.getElementsByTagName!==i?e.getElementsByTagName(n||"*"):typeof e.querySelectorAll!==i?e.querySelectorAll(n||"*"):t;if(!s)for(s=[],r=e.childNodes||e;null!=(o=r[a]);a++)!n||x.nodeName(o,n)?s.push(o):x.merge(s,Ft(o,n));return n===t||n&&x.nodeName(e,n)?x.merge([e],s):s}function Bt(e){Ct.test(e.type)&&(e.defaultChecked=e.checked)}x.extend({clone:function(e,t,n){var r,i,o,a,s,l=x.contains(e.ownerDocument,e);if(x.support.html5Clone||x.isXMLDoc(e)||!mt.test("<"+e.nodeName+">")?o=e.cloneNode(!0):(Dt.innerHTML=e.outerHTML,Dt.removeChild(o=Dt.firstChild)),!(x.support.noCloneEvent&&x.support.noCloneChecked||1!==e.nodeType&&11!==e.nodeType||x.isXMLDoc(e)))for(r=Ft(o),s=Ft(e),a=0;null!=(i=s[a]);++a)r[a]&&Ot(i,r[a]);if(t)if(n)for(s=s||Ft(e),r=r||Ft(o),a=0;null!=(i=s[a]);a++)Mt(i,r[a]);else Mt(e,o);return r=Ft(o,"script"),r.length>0&&_t(r,!l&&Ft(e,"script")),r=s=i=null,o},buildFragment:function(e,t,n,r){var i,o,a,s,l,u,c,p=e.length,f=dt(t),d=[],h=0;for(;p>h;h++)if(o=e[h],o||0===o)if("object"===x.type(o))x.merge(d,o.nodeType?[o]:o);else if(wt.test(o)){s=s||f.appendChild(t.createElement("div")),l=(bt.exec(o)||["",""])[1].toLowerCase(),c=At[l]||At._default,s.innerHTML=c[1]+o.replace(vt,"<$1></$2>")+c[2],i=c[0];while(i--)s=s.lastChild;if(!x.support.leadingWhitespace&&yt.test(o)&&d.push(t.createTextNode(yt.exec(o)[0])),!x.support.tbody){o="table"!==l||xt.test(o)?"<table>"!==c[1]||xt.test(o)?0:s:s.firstChild,i=o&&o.childNodes.length;while(i--)x.nodeName(u=o.childNodes[i],"tbody")&&!u.childNodes.length&&o.removeChild(u)}x.merge(d,s.childNodes),s.textContent="";while(s.firstChild)s.removeChild(s.firstChild);s=f.lastChild}else d.push(t.createTextNode(o));s&&f.removeChild(s),x.support.appendChecked||x.grep(Ft(d,"input"),Bt),h=0;while(o=d[h++])if((!r||-1===x.inArray(o,r))&&(a=x.contains(o.ownerDocument,o),s=Ft(f.appendChild(o),"script"),a&&_t(s),n)){i=0;while(o=s[i++])kt.test(o.type||"")&&n.push(o)}return s=null,f},cleanData:function(e,t){var n,r,o,a,s=0,l=x.expando,u=x.cache,c=x.support.deleteExpando,f=x.event.special;for(;null!=(n=e[s]);s++)if((t||x.acceptData(n))&&(o=n[l],a=o&&u[o])){if(a.events)for(r in a.events)f[r]?x.event.remove(n,r):x.removeEvent(n,r,a.handle);
u[o]&&(delete u[o],c?delete n[l]:typeof n.removeAttribute!==i?n.removeAttribute(l):n[l]=null,p.push(o))}},_evalUrl:function(e){return x.ajax({url:e,type:"GET",dataType:"script",async:!1,global:!1,"throws":!0})}}),x.fn.extend({wrapAll:function(e){if(x.isFunction(e))return this.each(function(t){x(this).wrapAll(e.call(this,t))});if(this[0]){var t=x(e,this[0].ownerDocument).eq(0).clone(!0);this[0].parentNode&&t.insertBefore(this[0]),t.map(function(){var e=this;while(e.firstChild&&1===e.firstChild.nodeType)e=e.firstChild;return e}).append(this)}return this},wrapInner:function(e){return x.isFunction(e)?this.each(function(t){x(this).wrapInner(e.call(this,t))}):this.each(function(){var t=x(this),n=t.contents();n.length?n.wrapAll(e):t.append(e)})},wrap:function(e){var t=x.isFunction(e);return this.each(function(n){x(this).wrapAll(t?e.call(this,n):e)})},unwrap:function(){return this.parent().each(function(){x.nodeName(this,"body")||x(this).replaceWith(this.childNodes)}).end()}});var Pt,Rt,Wt,$t=/alpha\([^)]*\)/i,It=/opacity\s*=\s*([^)]*)/,zt=/^(top|right|bottom|left)$/,Xt=/^(none|table(?!-c[ea]).+)/,Ut=/^margin/,Vt=RegExp("^("+w+")(.*)$","i"),Yt=RegExp("^("+w+")(?!px)[a-z%]+$","i"),Jt=RegExp("^([+-])=("+w+")","i"),Gt={BODY:"block"},Qt={position:"absolute",visibility:"hidden",display:"block"},Kt={letterSpacing:0,fontWeight:400},Zt=["Top","Right","Bottom","Left"],en=["Webkit","O","Moz","ms"];function tn(e,t){if(t in e)return t;var n=t.charAt(0).toUpperCase()+t.slice(1),r=t,i=en.length;while(i--)if(t=en[i]+n,t in e)return t;return r}function nn(e,t){return e=t||e,"none"===x.css(e,"display")||!x.contains(e.ownerDocument,e)}function rn(e,t){var n,r,i,o=[],a=0,s=e.length;for(;s>a;a++)r=e[a],r.style&&(o[a]=x._data(r,"olddisplay"),n=r.style.display,t?(o[a]||"none"!==n||(r.style.display=""),""===r.style.display&&nn(r)&&(o[a]=x._data(r,"olddisplay",ln(r.nodeName)))):o[a]||(i=nn(r),(n&&"none"!==n||!i)&&x._data(r,"olddisplay",i?n:x.css(r,"display"))));for(a=0;s>a;a++)r=e[a],r.style&&(t&&"none"!==r.style.display&&""!==r.style.display||(r.style.display=t?o[a]||"":"none"));return e}x.fn.extend({css:function(e,n){return x.access(this,function(e,n,r){var i,o,a={},s=0;if(x.isArray(n)){for(o=Rt(e),i=n.length;i>s;s++)a[n[s]]=x.css(e,n[s],!1,o);return a}return r!==t?x.style(e,n,r):x.css(e,n)},e,n,arguments.length>1)},show:function(){return rn(this,!0)},hide:function(){return rn(this)},toggle:function(e){return"boolean"==typeof e?e?this.show():this.hide():this.each(function(){nn(this)?x(this).show():x(this).hide()})}}),x.extend({cssHooks:{opacity:{get:function(e,t){if(t){var n=Wt(e,"opacity");return""===n?"1":n}}}},cssNumber:{columnCount:!0,fillOpacity:!0,fontWeight:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,widows:!0,zIndex:!0,zoom:!0},cssProps:{"float":x.support.cssFloat?"cssFloat":"styleFloat"},style:function(e,n,r,i){if(e&&3!==e.nodeType&&8!==e.nodeType&&e.style){var o,a,s,l=x.camelCase(n),u=e.style;if(n=x.cssProps[l]||(x.cssProps[l]=tn(u,l)),s=x.cssHooks[n]||x.cssHooks[l],r===t)return s&&"get"in s&&(o=s.get(e,!1,i))!==t?o:u[n];if(a=typeof r,"string"===a&&(o=Jt.exec(r))&&(r=(o[1]+1)*o[2]+parseFloat(x.css(e,n)),a="number"),!(null==r||"number"===a&&isNaN(r)||("number"!==a||x.cssNumber[l]||(r+="px"),x.support.clearCloneStyle||""!==r||0!==n.indexOf("background")||(u[n]="inherit"),s&&"set"in s&&(r=s.set(e,r,i))===t)))try{u[n]=r}catch(c){}}},css:function(e,n,r,i){var o,a,s,l=x.camelCase(n);return n=x.cssProps[l]||(x.cssProps[l]=tn(e.style,l)),s=x.cssHooks[n]||x.cssHooks[l],s&&"get"in s&&(a=s.get(e,!0,r)),a===t&&(a=Wt(e,n,i)),"normal"===a&&n in Kt&&(a=Kt[n]),""===r||r?(o=parseFloat(a),r===!0||x.isNumeric(o)?o||0:a):a}}),e.getComputedStyle?(Rt=function(t){return e.getComputedStyle(t,null)},Wt=function(e,n,r){var i,o,a,s=r||Rt(e),l=s?s.getPropertyValue(n)||s[n]:t,u=e.style;return s&&(""!==l||x.contains(e.ownerDocument,e)||(l=x.style(e,n)),Yt.test(l)&&Ut.test(n)&&(i=u.width,o=u.minWidth,a=u.maxWidth,u.minWidth=u.maxWidth=u.width=l,l=s.width,u.width=i,u.minWidth=o,u.maxWidth=a)),l}):a.documentElement.currentStyle&&(Rt=function(e){return e.currentStyle},Wt=function(e,n,r){var i,o,a,s=r||Rt(e),l=s?s[n]:t,u=e.style;return null==l&&u&&u[n]&&(l=u[n]),Yt.test(l)&&!zt.test(n)&&(i=u.left,o=e.runtimeStyle,a=o&&o.left,a&&(o.left=e.currentStyle.left),u.left="fontSize"===n?"1em":l,l=u.pixelLeft+"px",u.left=i,a&&(o.left=a)),""===l?"auto":l});function on(e,t,n){var r=Vt.exec(t);return r?Math.max(0,r[1]-(n||0))+(r[2]||"px"):t}function an(e,t,n,r,i){var o=n===(r?"border":"content")?4:"width"===t?1:0,a=0;for(;4>o;o+=2)"margin"===n&&(a+=x.css(e,n+Zt[o],!0,i)),r?("content"===n&&(a-=x.css(e,"padding"+Zt[o],!0,i)),"margin"!==n&&(a-=x.css(e,"border"+Zt[o]+"Width",!0,i))):(a+=x.css(e,"padding"+Zt[o],!0,i),"padding"!==n&&(a+=x.css(e,"border"+Zt[o]+"Width",!0,i)));return a}function sn(e,t,n){var r=!0,i="width"===t?e.offsetWidth:e.offsetHeight,o=Rt(e),a=x.support.boxSizing&&"border-box"===x.css(e,"boxSizing",!1,o);if(0>=i||null==i){if(i=Wt(e,t,o),(0>i||null==i)&&(i=e.style[t]),Yt.test(i))return i;r=a&&(x.support.boxSizingReliable||i===e.style[t]),i=parseFloat(i)||0}return i+an(e,t,n||(a?"border":"content"),r,o)+"px"}function ln(e){var t=a,n=Gt[e];return n||(n=un(e,t),"none"!==n&&n||(Pt=(Pt||x("<iframe frameborder='0' width='0' height='0'/>").css("cssText","display:block !important")).appendTo(t.documentElement),t=(Pt[0].contentWindow||Pt[0].contentDocument).document,t.write("<!doctype html><html><body>"),t.close(),n=un(e,t),Pt.detach()),Gt[e]=n),n}function un(e,t){var n=x(t.createElement(e)).appendTo(t.body),r=x.css(n[0],"display");return n.remove(),r}x.each(["height","width"],function(e,n){x.cssHooks[n]={get:function(e,r,i){return r?0===e.offsetWidth&&Xt.test(x.css(e,"display"))?x.swap(e,Qt,function(){return sn(e,n,i)}):sn(e,n,i):t},set:function(e,t,r){var i=r&&Rt(e);return on(e,t,r?an(e,n,r,x.support.boxSizing&&"border-box"===x.css(e,"boxSizing",!1,i),i):0)}}}),x.support.opacity||(x.cssHooks.opacity={get:function(e,t){return It.test((t&&e.currentStyle?e.currentStyle.filter:e.style.filter)||"")?.01*parseFloat(RegExp.$1)+"":t?"1":""},set:function(e,t){var n=e.style,r=e.currentStyle,i=x.isNumeric(t)?"alpha(opacity="+100*t+")":"",o=r&&r.filter||n.filter||"";n.zoom=1,(t>=1||""===t)&&""===x.trim(o.replace($t,""))&&n.removeAttribute&&(n.removeAttribute("filter"),""===t||r&&!r.filter)||(n.filter=$t.test(o)?o.replace($t,i):o+" "+i)}}),x(function(){x.support.reliableMarginRight||(x.cssHooks.marginRight={get:function(e,n){return n?x.swap(e,{display:"inline-block"},Wt,[e,"marginRight"]):t}}),!x.support.pixelPosition&&x.fn.position&&x.each(["top","left"],function(e,n){x.cssHooks[n]={get:function(e,r){return r?(r=Wt(e,n),Yt.test(r)?x(e).position()[n]+"px":r):t}}})}),x.expr&&x.expr.filters&&(x.expr.filters.hidden=function(e){return 0>=e.offsetWidth&&0>=e.offsetHeight||!x.support.reliableHiddenOffsets&&"none"===(e.style&&e.style.display||x.css(e,"display"))},x.expr.filters.visible=function(e){return!x.expr.filters.hidden(e)}),x.each({margin:"",padding:"",border:"Width"},function(e,t){x.cssHooks[e+t]={expand:function(n){var r=0,i={},o="string"==typeof n?n.split(" "):[n];for(;4>r;r++)i[e+Zt[r]+t]=o[r]||o[r-2]||o[0];return i}},Ut.test(e)||(x.cssHooks[e+t].set=on)});var cn=/%20/g,pn=/\[\]$/,fn=/\r?\n/g,dn=/^(?:submit|button|image|reset|file)$/i,hn=/^(?:input|select|textarea|keygen)/i;x.fn.extend({serialize:function(){return x.param(this.serializeArray())},serializeArray:function(){return this.map(function(){var e=x.prop(this,"elements");return e?x.makeArray(e):this}).filter(function(){var e=this.type;return this.name&&!x(this).is(":disabled")&&hn.test(this.nodeName)&&!dn.test(e)&&(this.checked||!Ct.test(e))}).map(function(e,t){var n=x(this).val();return null==n?null:x.isArray(n)?x.map(n,function(e){return{name:t.name,value:e.replace(fn,"\r\n")}}):{name:t.name,value:n.replace(fn,"\r\n")}}).get()}}),x.param=function(e,n){var r,i=[],o=function(e,t){t=x.isFunction(t)?t():null==t?"":t,i[i.length]=encodeURIComponent(e)+"="+encodeURIComponent(t)};if(n===t&&(n=x.ajaxSettings&&x.ajaxSettings.traditional),x.isArray(e)||e.jquery&&!x.isPlainObject(e))x.each(e,function(){o(this.name,this.value)});else for(r in e)gn(r,e[r],n,o);return i.join("&").replace(cn,"+")};function gn(e,t,n,r){var i;if(x.isArray(t))x.each(t,function(t,i){n||pn.test(e)?r(e,i):gn(e+"["+("object"==typeof i?t:"")+"]",i,n,r)});else if(n||"object"!==x.type(t))r(e,t);else for(i in t)gn(e+"["+i+"]",t[i],n,r)}x.each("blur focus focusin focusout load resize scroll unload click dblclick mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave change select submit keydown keypress keyup error contextmenu".split(" "),function(e,t){x.fn[t]=function(e,n){return arguments.length>0?this.on(t,null,e,n):this.trigger(t)}}),x.fn.extend({hover:function(e,t){return this.mouseenter(e).mouseleave(t||e)},bind:function(e,t,n){return this.on(e,null,t,n)},unbind:function(e,t){return this.off(e,null,t)},delegate:function(e,t,n,r){return this.on(t,e,n,r)},undelegate:function(e,t,n){return 1===arguments.length?this.off(e,"**"):this.off(t,e||"**",n)}});var mn,yn,vn=x.now(),bn=/\?/,xn=/#.*$/,wn=/([?&])_=[^&]*/,Tn=/^(.*?):[ \t]*([^\r\n]*)\r?$/gm,Cn=/^(?:about|app|app-storage|.+-extension|file|res|widget):$/,Nn=/^(?:GET|HEAD)$/,kn=/^\/\//,En=/^([\w.+-]+:)(?:\/\/([^\/?#:]*)(?::(\d+)|)|)/,Sn=x.fn.load,An={},jn={},Dn="*/".concat("*");try{yn=o.href}catch(Ln){yn=a.createElement("a"),yn.href="",yn=yn.href}mn=En.exec(yn.toLowerCase())||[];function Hn(e){return function(t,n){"string"!=typeof t&&(n=t,t="*");var r,i=0,o=t.toLowerCase().match(T)||[];if(x.isFunction(n))while(r=o[i++])"+"===r[0]?(r=r.slice(1)||"*",(e[r]=e[r]||[]).unshift(n)):(e[r]=e[r]||[]).push(n)}}function qn(e,n,r,i){var o={},a=e===jn;function s(l){var u;return o[l]=!0,x.each(e[l]||[],function(e,l){var c=l(n,r,i);return"string"!=typeof c||a||o[c]?a?!(u=c):t:(n.dataTypes.unshift(c),s(c),!1)}),u}return s(n.dataTypes[0])||!o["*"]&&s("*")}function _n(e,n){var r,i,o=x.ajaxSettings.flatOptions||{};for(i in n)n[i]!==t&&((o[i]?e:r||(r={}))[i]=n[i]);return r&&x.extend(!0,e,r),e}x.fn.load=function(e,n,r){if("string"!=typeof e&&Sn)return Sn.apply(this,arguments);var i,o,a,s=this,l=e.indexOf(" ");return l>=0&&(i=e.slice(l,e.length),e=e.slice(0,l)),x.isFunction(n)?(r=n,n=t):n&&"object"==typeof n&&(a="POST"),s.length>0&&x.ajax({url:e,type:a,dataType:"html",data:n}).done(function(e){o=arguments,s.html(i?x("<div>").append(x.parseHTML(e)).find(i):e)}).complete(r&&function(e,t){s.each(r,o||[e.responseText,t,e])}),this},x.each(["ajaxStart","ajaxStop","ajaxComplete","ajaxError","ajaxSuccess","ajaxSend"],function(e,t){x.fn[t]=function(e){return this.on(t,e)}}),x.extend({active:0,lastModified:{},etag:{},ajaxSettings:{url:yn,type:"GET",isLocal:Cn.test(mn[1]),global:!0,processData:!0,async:!0,contentType:"application/x-www-form-urlencoded; charset=UTF-8",accepts:{"*":Dn,text:"text/plain",html:"text/html",xml:"application/xml, text/xml",json:"application/json, text/javascript"},contents:{xml:/xml/,html:/html/,json:/json/},responseFields:{xml:"responseXML",text:"responseText",json:"responseJSON"},converters:{"* text":String,"text html":!0,"text json":x.parseJSON,"text xml":x.parseXML},flatOptions:{url:!0,context:!0}},ajaxSetup:function(e,t){return t?_n(_n(e,x.ajaxSettings),t):_n(x.ajaxSettings,e)},ajaxPrefilter:Hn(An),ajaxTransport:Hn(jn),ajax:function(e,n){"object"==typeof e&&(n=e,e=t),n=n||{};var r,i,o,a,s,l,u,c,p=x.ajaxSetup({},n),f=p.context||p,d=p.context&&(f.nodeType||f.jquery)?x(f):x.event,h=x.Deferred(),g=x.Callbacks("once memory"),m=p.statusCode||{},y={},v={},b=0,w="canceled",C={readyState:0,getResponseHeader:function(e){var t;if(2===b){if(!c){c={};while(t=Tn.exec(a))c[t[1].toLowerCase()]=t[2]}t=c[e.toLowerCase()]}return null==t?null:t},getAllResponseHeaders:function(){return 2===b?a:null},setRequestHeader:function(e,t){var n=e.toLowerCase();return b||(e=v[n]=v[n]||e,y[e]=t),this},overrideMimeType:function(e){return b||(p.mimeType=e),this},statusCode:function(e){var t;if(e)if(2>b)for(t in e)m[t]=[m[t],e[t]];else C.always(e[C.status]);return this},abort:function(e){var t=e||w;return u&&u.abort(t),k(0,t),this}};if(h.promise(C).complete=g.add,C.success=C.done,C.error=C.fail,p.url=((e||p.url||yn)+"").replace(xn,"").replace(kn,mn[1]+"//"),p.type=n.method||n.type||p.method||p.type,p.dataTypes=x.trim(p.dataType||"*").toLowerCase().match(T)||[""],null==p.crossDomain&&(r=En.exec(p.url.toLowerCase()),p.crossDomain=!(!r||r[1]===mn[1]&&r[2]===mn[2]&&(r[3]||("http:"===r[1]?"80":"443"))===(mn[3]||("http:"===mn[1]?"80":"443")))),p.data&&p.processData&&"string"!=typeof p.data&&(p.data=x.param(p.data,p.traditional)),qn(An,p,n,C),2===b)return C;l=p.global,l&&0===x.active++&&x.event.trigger("ajaxStart"),p.type=p.type.toUpperCase(),p.hasContent=!Nn.test(p.type),o=p.url,p.hasContent||(p.data&&(o=p.url+=(bn.test(o)?"&":"?")+p.data,delete p.data),p.cache===!1&&(p.url=wn.test(o)?o.replace(wn,"$1_="+vn++):o+(bn.test(o)?"&":"?")+"_="+vn++)),p.ifModified&&(x.lastModified[o]&&C.setRequestHeader("If-Modified-Since",x.lastModified[o]),x.etag[o]&&C.setRequestHeader("If-None-Match",x.etag[o])),(p.data&&p.hasContent&&p.contentType!==!1||n.contentType)&&C.setRequestHeader("Content-Type",p.contentType),C.setRequestHeader("Accept",p.dataTypes[0]&&p.accepts[p.dataTypes[0]]?p.accepts[p.dataTypes[0]]+("*"!==p.dataTypes[0]?", "+Dn+"; q=0.01":""):p.accepts["*"]);for(i in p.headers)C.setRequestHeader(i,p.headers[i]);if(p.beforeSend&&(p.beforeSend.call(f,C,p)===!1||2===b))return C.abort();w="abort";for(i in{success:1,error:1,complete:1})C[i](p[i]);if(u=qn(jn,p,n,C)){C.readyState=1,l&&d.trigger("ajaxSend",[C,p]),p.async&&p.timeout>0&&(s=setTimeout(function(){C.abort("timeout")},p.timeout));try{b=1,u.send(y,k)}catch(N){if(!(2>b))throw N;k(-1,N)}}else k(-1,"No Transport");function k(e,n,r,i){var c,y,v,w,T,N=n;2!==b&&(b=2,s&&clearTimeout(s),u=t,a=i||"",C.readyState=e>0?4:0,c=e>=200&&300>e||304===e,r&&(w=Mn(p,C,r)),w=On(p,w,C,c),c?(p.ifModified&&(T=C.getResponseHeader("Last-Modified"),T&&(x.lastModified[o]=T),T=C.getResponseHeader("etag"),T&&(x.etag[o]=T)),204===e||"HEAD"===p.type?N="nocontent":304===e?N="notmodified":(N=w.state,y=w.data,v=w.error,c=!v)):(v=N,(e||!N)&&(N="error",0>e&&(e=0))),C.status=e,C.statusText=(n||N)+"",c?h.resolveWith(f,[y,N,C]):h.rejectWith(f,[C,N,v]),C.statusCode(m),m=t,l&&d.trigger(c?"ajaxSuccess":"ajaxError",[C,p,c?y:v]),g.fireWith(f,[C,N]),l&&(d.trigger("ajaxComplete",[C,p]),--x.active||x.event.trigger("ajaxStop")))}return C},getJSON:function(e,t,n){return x.get(e,t,n,"json")},getScript:function(e,n){return x.get(e,t,n,"script")}}),x.each(["get","post"],function(e,n){x[n]=function(e,r,i,o){return x.isFunction(r)&&(o=o||i,i=r,r=t),x.ajax({url:e,type:n,dataType:o,data:r,success:i})}});function Mn(e,n,r){var i,o,a,s,l=e.contents,u=e.dataTypes;while("*"===u[0])u.shift(),o===t&&(o=e.mimeType||n.getResponseHeader("Content-Type"));if(o)for(s in l)if(l[s]&&l[s].test(o)){u.unshift(s);break}if(u[0]in r)a=u[0];else{for(s in r){if(!u[0]||e.converters[s+" "+u[0]]){a=s;break}i||(i=s)}a=a||i}return a?(a!==u[0]&&u.unshift(a),r[a]):t}function On(e,t,n,r){var i,o,a,s,l,u={},c=e.dataTypes.slice();if(c[1])for(a in e.converters)u[a.toLowerCase()]=e.converters[a];o=c.shift();while(o)if(e.responseFields[o]&&(n[e.responseFields[o]]=t),!l&&r&&e.dataFilter&&(t=e.dataFilter(t,e.dataType)),l=o,o=c.shift())if("*"===o)o=l;else if("*"!==l&&l!==o){if(a=u[l+" "+o]||u["* "+o],!a)for(i in u)if(s=i.split(" "),s[1]===o&&(a=u[l+" "+s[0]]||u["* "+s[0]])){a===!0?a=u[i]:u[i]!==!0&&(o=s[0],c.unshift(s[1]));break}if(a!==!0)if(a&&e["throws"])t=a(t);else try{t=a(t)}catch(p){return{state:"parsererror",error:a?p:"No conversion from "+l+" to "+o}}}return{state:"success",data:t}}x.ajaxSetup({accepts:{script:"text/javascript, application/javascript, application/ecmascript, application/x-ecmascript"},contents:{script:/(?:java|ecma)script/},converters:{"text script":function(e){return x.globalEval(e),e}}}),x.ajaxPrefilter("script",function(e){e.cache===t&&(e.cache=!1),e.crossDomain&&(e.type="GET",e.global=!1)}),x.ajaxTransport("script",function(e){if(e.crossDomain){var n,r=a.head||x("head")[0]||a.documentElement;return{send:function(t,i){n=a.createElement("script"),n.async=!0,e.scriptCharset&&(n.charset=e.scriptCharset),n.src=e.url,n.onload=n.onreadystatechange=function(e,t){(t||!n.readyState||/loaded|complete/.test(n.readyState))&&(n.onload=n.onreadystatechange=null,n.parentNode&&n.parentNode.removeChild(n),n=null,t||i(200,"success"))},r.insertBefore(n,r.firstChild)},abort:function(){n&&n.onload(t,!0)}}}});var Fn=[],Bn=/(=)\?(?=&|$)|\?\?/;x.ajaxSetup({jsonp:"callback",jsonpCallback:function(){var e=Fn.pop()||x.expando+"_"+vn++;return this[e]=!0,e}}),x.ajaxPrefilter("json jsonp",function(n,r,i){var o,a,s,l=n.jsonp!==!1&&(Bn.test(n.url)?"url":"string"==typeof n.data&&!(n.contentType||"").indexOf("application/x-www-form-urlencoded")&&Bn.test(n.data)&&"data");return l||"jsonp"===n.dataTypes[0]?(o=n.jsonpCallback=x.isFunction(n.jsonpCallback)?n.jsonpCallback():n.jsonpCallback,l?n[l]=n[l].replace(Bn,"$1"+o):n.jsonp!==!1&&(n.url+=(bn.test(n.url)?"&":"?")+n.jsonp+"="+o),n.converters["script json"]=function(){return s||x.error(o+" was not called"),s[0]},n.dataTypes[0]="json",a=e[o],e[o]=function(){s=arguments},i.always(function(){e[o]=a,n[o]&&(n.jsonpCallback=r.jsonpCallback,Fn.push(o)),s&&x.isFunction(a)&&a(s[0]),s=a=t}),"script"):t});var Pn,Rn,Wn=0,$n=e.ActiveXObject&&function(){var e;for(e in Pn)Pn[e](t,!0)};function In(){try{return new e.XMLHttpRequest}catch(t){}}function zn(){try{return new e.ActiveXObject("Microsoft.XMLHTTP")}catch(t){}}x.ajaxSettings.xhr=e.ActiveXObject?function(){return!this.isLocal&&In()||zn()}:In,Rn=x.ajaxSettings.xhr(),x.support.cors=!!Rn&&"withCredentials"in Rn,Rn=x.support.ajax=!!Rn,Rn&&x.ajaxTransport(function(n){if(!n.crossDomain||x.support.cors){var r;return{send:function(i,o){var a,s,l=n.xhr();if(n.username?l.open(n.type,n.url,n.async,n.username,n.password):l.open(n.type,n.url,n.async),n.xhrFields)for(s in n.xhrFields)l[s]=n.xhrFields[s];n.mimeType&&l.overrideMimeType&&l.overrideMimeType(n.mimeType),n.crossDomain||i["X-Requested-With"]||(i["X-Requested-With"]="XMLHttpRequest");try{for(s in i)l.setRequestHeader(s,i[s])}catch(u){}l.send(n.hasContent&&n.data||null),r=function(e,i){var s,u,c,p;try{if(r&&(i||4===l.readyState))if(r=t,a&&(l.onreadystatechange=x.noop,$n&&delete Pn[a]),i)4!==l.readyState&&l.abort();else{p={},s=l.status,u=l.getAllResponseHeaders(),"string"==typeof l.responseText&&(p.text=l.responseText);try{c=l.statusText}catch(f){c=""}s||!n.isLocal||n.crossDomain?1223===s&&(s=204):s=p.text?200:404}}catch(d){i||o(-1,d)}p&&o(s,c,p,u)},n.async?4===l.readyState?setTimeout(r):(a=++Wn,$n&&(Pn||(Pn={},x(e).unload($n)),Pn[a]=r),l.onreadystatechange=r):r()},abort:function(){r&&r(t,!0)}}}});var Xn,Un,Vn=/^(?:toggle|show|hide)$/,Yn=RegExp("^(?:([+-])=|)("+w+")([a-z%]*)$","i"),Jn=/queueHooks$/,Gn=[nr],Qn={"*":[function(e,t){var n=this.createTween(e,t),r=n.cur(),i=Yn.exec(t),o=i&&i[3]||(x.cssNumber[e]?"":"px"),a=(x.cssNumber[e]||"px"!==o&&+r)&&Yn.exec(x.css(n.elem,e)),s=1,l=20;if(a&&a[3]!==o){o=o||a[3],i=i||[],a=+r||1;do s=s||".5",a/=s,x.style(n.elem,e,a+o);while(s!==(s=n.cur()/r)&&1!==s&&--l)}return i&&(a=n.start=+a||+r||0,n.unit=o,n.end=i[1]?a+(i[1]+1)*i[2]:+i[2]),n}]};function Kn(){return setTimeout(function(){Xn=t}),Xn=x.now()}function Zn(e,t,n){var r,i=(Qn[t]||[]).concat(Qn["*"]),o=0,a=i.length;for(;a>o;o++)if(r=i[o].call(n,t,e))return r}function er(e,t,n){var r,i,o=0,a=Gn.length,s=x.Deferred().always(function(){delete l.elem}),l=function(){if(i)return!1;var t=Xn||Kn(),n=Math.max(0,u.startTime+u.duration-t),r=n/u.duration||0,o=1-r,a=0,l=u.tweens.length;for(;l>a;a++)u.tweens[a].run(o);return s.notifyWith(e,[u,o,n]),1>o&&l?n:(s.resolveWith(e,[u]),!1)},u=s.promise({elem:e,props:x.extend({},t),opts:x.extend(!0,{specialEasing:{}},n),originalProperties:t,originalOptions:n,startTime:Xn||Kn(),duration:n.duration,tweens:[],createTween:function(t,n){var r=x.Tween(e,u.opts,t,n,u.opts.specialEasing[t]||u.opts.easing);return u.tweens.push(r),r},stop:function(t){var n=0,r=t?u.tweens.length:0;if(i)return this;for(i=!0;r>n;n++)u.tweens[n].run(1);return t?s.resolveWith(e,[u,t]):s.rejectWith(e,[u,t]),this}}),c=u.props;for(tr(c,u.opts.specialEasing);a>o;o++)if(r=Gn[o].call(u,e,c,u.opts))return r;return x.map(c,Zn,u),x.isFunction(u.opts.start)&&u.opts.start.call(e,u),x.fx.timer(x.extend(l,{elem:e,anim:u,queue:u.opts.queue})),u.progress(u.opts.progress).done(u.opts.done,u.opts.complete).fail(u.opts.fail).always(u.opts.always)}function tr(e,t){var n,r,i,o,a;for(n in e)if(r=x.camelCase(n),i=t[r],o=e[n],x.isArray(o)&&(i=o[1],o=e[n]=o[0]),n!==r&&(e[r]=o,delete e[n]),a=x.cssHooks[r],a&&"expand"in a){o=a.expand(o),delete e[r];for(n in o)n in e||(e[n]=o[n],t[n]=i)}else t[r]=i}x.Animation=x.extend(er,{tweener:function(e,t){x.isFunction(e)?(t=e,e=["*"]):e=e.split(" ");var n,r=0,i=e.length;for(;i>r;r++)n=e[r],Qn[n]=Qn[n]||[],Qn[n].unshift(t)},prefilter:function(e,t){t?Gn.unshift(e):Gn.push(e)}});function nr(e,t,n){var r,i,o,a,s,l,u=this,c={},p=e.style,f=e.nodeType&&nn(e),d=x._data(e,"fxshow");n.queue||(s=x._queueHooks(e,"fx"),null==s.unqueued&&(s.unqueued=0,l=s.empty.fire,s.empty.fire=function(){s.unqueued||l()}),s.unqueued++,u.always(function(){u.always(function(){s.unqueued--,x.queue(e,"fx").length||s.empty.fire()})})),1===e.nodeType&&("height"in t||"width"in t)&&(n.overflow=[p.overflow,p.overflowX,p.overflowY],"inline"===x.css(e,"display")&&"none"===x.css(e,"float")&&(x.support.inlineBlockNeedsLayout&&"inline"!==ln(e.nodeName)?p.zoom=1:p.display="inline-block")),n.overflow&&(p.overflow="hidden",x.support.shrinkWrapBlocks||u.always(function(){p.overflow=n.overflow[0],p.overflowX=n.overflow[1],p.overflowY=n.overflow[2]}));for(r in t)if(i=t[r],Vn.exec(i)){if(delete t[r],o=o||"toggle"===i,i===(f?"hide":"show"))continue;c[r]=d&&d[r]||x.style(e,r)}if(!x.isEmptyObject(c)){d?"hidden"in d&&(f=d.hidden):d=x._data(e,"fxshow",{}),o&&(d.hidden=!f),f?x(e).show():u.done(function(){x(e).hide()}),u.done(function(){var t;x._removeData(e,"fxshow");for(t in c)x.style(e,t,c[t])});for(r in c)a=Zn(f?d[r]:0,r,u),r in d||(d[r]=a.start,f&&(a.end=a.start,a.start="width"===r||"height"===r?1:0))}}function rr(e,t,n,r,i){return new rr.prototype.init(e,t,n,r,i)}x.Tween=rr,rr.prototype={constructor:rr,init:function(e,t,n,r,i,o){this.elem=e,this.prop=n,this.easing=i||"swing",this.options=t,this.start=this.now=this.cur(),this.end=r,this.unit=o||(x.cssNumber[n]?"":"px")},cur:function(){var e=rr.propHooks[this.prop];return e&&e.get?e.get(this):rr.propHooks._default.get(this)},run:function(e){var t,n=rr.propHooks[this.prop];return this.pos=t=this.options.duration?x.easing[this.easing](e,this.options.duration*e,0,1,this.options.duration):e,this.now=(this.end-this.start)*t+this.start,this.options.step&&this.options.step.call(this.elem,this.now,this),n&&n.set?n.set(this):rr.propHooks._default.set(this),this}},rr.prototype.init.prototype=rr.prototype,rr.propHooks={_default:{get:function(e){var t;return null==e.elem[e.prop]||e.elem.style&&null!=e.elem.style[e.prop]?(t=x.css(e.elem,e.prop,""),t&&"auto"!==t?t:0):e.elem[e.prop]},set:function(e){x.fx.step[e.prop]?x.fx.step[e.prop](e):e.elem.style&&(null!=e.elem.style[x.cssProps[e.prop]]||x.cssHooks[e.prop])?x.style(e.elem,e.prop,e.now+e.unit):e.elem[e.prop]=e.now}}},rr.propHooks.scrollTop=rr.propHooks.scrollLeft={set:function(e){e.elem.nodeType&&e.elem.parentNode&&(e.elem[e.prop]=e.now)}},x.each(["toggle","show","hide"],function(e,t){var n=x.fn[t];x.fn[t]=function(e,r,i){return null==e||"boolean"==typeof e?n.apply(this,arguments):this.animate(ir(t,!0),e,r,i)}}),x.fn.extend({fadeTo:function(e,t,n,r){return this.filter(nn).css("opacity",0).show().end().animate({opacity:t},e,n,r)},animate:function(e,t,n,r){var i=x.isEmptyObject(e),o=x.speed(t,n,r),a=function(){var t=er(this,x.extend({},e),o);(i||x._data(this,"finish"))&&t.stop(!0)};return a.finish=a,i||o.queue===!1?this.each(a):this.queue(o.queue,a)},stop:function(e,n,r){var i=function(e){var t=e.stop;delete e.stop,t(r)};return"string"!=typeof e&&(r=n,n=e,e=t),n&&e!==!1&&this.queue(e||"fx",[]),this.each(function(){var t=!0,n=null!=e&&e+"queueHooks",o=x.timers,a=x._data(this);if(n)a[n]&&a[n].stop&&i(a[n]);else for(n in a)a[n]&&a[n].stop&&Jn.test(n)&&i(a[n]);for(n=o.length;n--;)o[n].elem!==this||null!=e&&o[n].queue!==e||(o[n].anim.stop(r),t=!1,o.splice(n,1));(t||!r)&&x.dequeue(this,e)})},finish:function(e){return e!==!1&&(e=e||"fx"),this.each(function(){var t,n=x._data(this),r=n[e+"queue"],i=n[e+"queueHooks"],o=x.timers,a=r?r.length:0;for(n.finish=!0,x.queue(this,e,[]),i&&i.stop&&i.stop.call(this,!0),t=o.length;t--;)o[t].elem===this&&o[t].queue===e&&(o[t].anim.stop(!0),o.splice(t,1));for(t=0;a>t;t++)r[t]&&r[t].finish&&r[t].finish.call(this);delete n.finish})}});function ir(e,t){var n,r={height:e},i=0;for(t=t?1:0;4>i;i+=2-t)n=Zt[i],r["margin"+n]=r["padding"+n]=e;return t&&(r.opacity=r.width=e),r}x.each({slideDown:ir("show"),slideUp:ir("hide"),slideToggle:ir("toggle"),fadeIn:{opacity:"show"},fadeOut:{opacity:"hide"},fadeToggle:{opacity:"toggle"}},function(e,t){x.fn[e]=function(e,n,r){return this.animate(t,e,n,r)}}),x.speed=function(e,t,n){var r=e&&"object"==typeof e?x.extend({},e):{complete:n||!n&&t||x.isFunction(e)&&e,duration:e,easing:n&&t||t&&!x.isFunction(t)&&t};return r.duration=x.fx.off?0:"number"==typeof r.duration?r.duration:r.duration in x.fx.speeds?x.fx.speeds[r.duration]:x.fx.speeds._default,(null==r.queue||r.queue===!0)&&(r.queue="fx"),r.old=r.complete,r.complete=function(){x.isFunction(r.old)&&r.old.call(this),r.queue&&x.dequeue(this,r.queue)},r},x.easing={linear:function(e){return e},swing:function(e){return.5-Math.cos(e*Math.PI)/2}},x.timers=[],x.fx=rr.prototype.init,x.fx.tick=function(){var e,n=x.timers,r=0;for(Xn=x.now();n.length>r;r++)e=n[r],e()||n[r]!==e||n.splice(r--,1);n.length||x.fx.stop(),Xn=t},x.fx.timer=function(e){e()&&x.timers.push(e)&&x.fx.start()},x.fx.interval=13,x.fx.start=function(){Un||(Un=setInterval(x.fx.tick,x.fx.interval))},x.fx.stop=function(){clearInterval(Un),Un=null},x.fx.speeds={slow:600,fast:200,_default:400},x.fx.step={},x.expr&&x.expr.filters&&(x.expr.filters.animated=function(e){return x.grep(x.timers,function(t){return e===t.elem}).length}),x.fn.offset=function(e){if(arguments.length)return e===t?this:this.each(function(t){x.offset.setOffset(this,e,t)});var n,r,o={top:0,left:0},a=this[0],s=a&&a.ownerDocument;if(s)return n=s.documentElement,x.contains(n,a)?(typeof a.getBoundingClientRect!==i&&(o=a.getBoundingClientRect()),r=or(s),{top:o.top+(r.pageYOffset||n.scrollTop)-(n.clientTop||0),left:o.left+(r.pageXOffset||n.scrollLeft)-(n.clientLeft||0)}):o},x.offset={setOffset:function(e,t,n){var r=x.css(e,"position");"static"===r&&(e.style.position="relative");var i=x(e),o=i.offset(),a=x.css(e,"top"),s=x.css(e,"left"),l=("absolute"===r||"fixed"===r)&&x.inArray("auto",[a,s])>-1,u={},c={},p,f;l?(c=i.position(),p=c.top,f=c.left):(p=parseFloat(a)||0,f=parseFloat(s)||0),x.isFunction(t)&&(t=t.call(e,n,o)),null!=t.top&&(u.top=t.top-o.top+p),null!=t.left&&(u.left=t.left-o.left+f),"using"in t?t.using.call(e,u):i.css(u)}},x.fn.extend({position:function(){if(this[0]){var e,t,n={top:0,left:0},r=this[0];return"fixed"===x.css(r,"position")?t=r.getBoundingClientRect():(e=this.offsetParent(),t=this.offset(),x.nodeName(e[0],"html")||(n=e.offset()),n.top+=x.css(e[0],"borderTopWidth",!0),n.left+=x.css(e[0],"borderLeftWidth",!0)),{top:t.top-n.top-x.css(r,"marginTop",!0),left:t.left-n.left-x.css(r,"marginLeft",!0)}}},offsetParent:function(){return this.map(function(){var e=this.offsetParent||s;while(e&&!x.nodeName(e,"html")&&"static"===x.css(e,"position"))e=e.offsetParent;return e||s})}}),x.each({scrollLeft:"pageXOffset",scrollTop:"pageYOffset"},function(e,n){var r=/Y/.test(n);x.fn[e]=function(i){return x.access(this,function(e,i,o){var a=or(e);return o===t?a?n in a?a[n]:a.document.documentElement[i]:e[i]:(a?a.scrollTo(r?x(a).scrollLeft():o,r?o:x(a).scrollTop()):e[i]=o,t)},e,i,arguments.length,null)}});function or(e){return x.isWindow(e)?e:9===e.nodeType?e.defaultView||e.parentWindow:!1}x.each({Height:"height",Width:"width"},function(e,n){x.each({padding:"inner"+e,content:n,"":"outer"+e},function(r,i){x.fn[i]=function(i,o){var a=arguments.length&&(r||"boolean"!=typeof i),s=r||(i===!0||o===!0?"margin":"border");return x.access(this,function(n,r,i){var o;return x.isWindow(n)?n.document.documentElement["client"+e]:9===n.nodeType?(o=n.documentElement,Math.max(n.body["scroll"+e],o["scroll"+e],n.body["offset"+e],o["offset"+e],o["client"+e])):i===t?x.css(n,r,s):x.style(n,r,i,s)},n,a?i:t,a,null)}})}),x.fn.size=function(){return this.length},x.fn.andSelf=x.fn.addBack,"object"==typeof module&&module&&"object"==typeof module.exports?module.exports=x:(e.jQuery=e.$=x,"function"==typeof define&&define.amd&&define("jquery",[],function(){return x}))})(window);
This diff could not be displayed because it is too large.
This diff could not be displayed because it is too large.
/**
* 选择列表插件
* varstion 2.0.0
* by Houfeng
* Houfeng@DCloud.io
**/
!function(e,t,i,n){var a=30,r=90,s=40,c=10,l=e.rad2deg=function(e){return e/(Math.PI/180)},o=(e.deg2rad=function(e){return e*(Math.PI/180)},navigator.platform.toLowerCase()),d=navigator.userAgent.toLowerCase(),u=(d.indexOf("iphone")>-1||d.indexOf("ipad")>-1||d.indexOf("ipod")>-1)&&(o.indexOf("iphone")>-1||o.indexOf("ipad")>-1||o.indexOf("ipod")>-1),p=e.Picker=function(e,t){var i=this;i.holder=e,i.options=t||{},i.init(),i.initInertiaParams(),i.calcElementItemPostion(!0),i.bindEvent()};p.prototype.findElementItems=function(){var e=this;return e.elementItems=[].slice.call(e.holder.querySelectorAll("li")),e.elementItems},p.prototype.init=function(){var e=this;e.list=e.holder.querySelector("ul"),e.findElementItems(),e.height=e.holder.offsetHeight,e.r=e.height/2-c,e.d=2*e.r,e.itemHeight=e.elementItems.length>0?e.elementItems[0].offsetHeight:s,e.itemAngle=parseInt(e.calcAngle(.8*e.itemHeight)),e.hightlightRange=e.itemAngle/2,e.visibleRange=r,e.beginAngle=0,e.beginExceed=e.beginAngle-a,e.list.angle=e.beginAngle,u&&(e.list.style.webkitTransformOrigin="center center "+e.r+"px")},p.prototype.calcElementItemPostion=function(e){var t=this;e&&(t.items=[]),t.elementItems.forEach(function(i){var n=t.elementItems.indexOf(i);if(t.endAngle=t.itemAngle*n,i.angle=t.endAngle,i.style.webkitTransformOrigin="center center -"+t.r+"px",i.style.webkitTransform="translateZ("+t.r+"px) rotateX("+-t.endAngle+"deg)",e){var a={};a.text=i.innerHTML||"",a.value=i.getAttribute("data-value")||a.text,t.items.push(a)}}),t.endExceed=t.endAngle+a,t.calcElementItemVisibility(t.beginAngle)},p.prototype.calcAngle=function(e){var t=this,i=b=parseFloat(t.r);e=Math.abs(e);var n=180*parseInt(e/t.d);e%=t.d;var a=(i*i+b*b-e*e)/(2*i*b),r=n+l(Math.acos(a));return r},p.prototype.calcElementItemVisibility=function(e){var t=this;t.elementItems.forEach(function(i){var n=Math.abs(i.angle-e);n<t.hightlightRange?i.classList.add("highlight"):n<t.visibleRange?(i.classList.add("visible"),i.classList.remove("highlight")):(i.classList.remove("highlight"),i.classList.remove("visible"))})},p.prototype.setAngle=function(e){var t=this;t.list.angle=e,t.list.style.webkitTransform="perspective(1000px) rotateY(0deg) rotateX("+e+"deg)",t.calcElementItemVisibility(e)},p.prototype.bindEvent=function(){var t=this,i=0,n=null,a=!1;t.holder.addEventListener(e.EVENT_START,function(e){a=!0,e.preventDefault(),t.list.style.webkitTransition="",n=(e.changedTouches?e.changedTouches[0]:e).pageY,i=t.list.angle,t.updateInertiaParams(e,!0)},!1),t.holder.addEventListener(e.EVENT_END,function(e){a=!1,e.preventDefault(),t.startInertiaScroll(e)},!1),t.holder.addEventListener(e.EVENT_CANCEL,function(e){a=!1,e.preventDefault(),t.startInertiaScroll(e)},!1),t.holder.addEventListener(e.EVENT_MOVE,function(e){if(a){e.preventDefault();var r=(e.changedTouches?e.changedTouches[0]:e).pageY,s=r-n,c=t.calcAngle(s),l=s>0?i-c:i+c;l>t.endExceed&&(l=t.endExceed),l<t.beginExceed&&(l=t.beginExceed),t.setAngle(l),t.updateInertiaParams(e)}},!1),t.list.addEventListener("tap",function(e){elementItem=e.target,"LI"==elementItem.tagName&&t.setSelectedIndex(t.elementItems.indexOf(elementItem),200)},!1)},p.prototype.initInertiaParams=function(){var e=this;e.lastMoveTime=0,e.lastMoveStart=0,e.stopInertiaMove=!1},p.prototype.updateInertiaParams=function(e,t){var i=this,n=e.changedTouches?e.changedTouches[0]:e;if(t)i.lastMoveStart=n.pageY,i.lastMoveTime=e.timeStamp||Date.now(),i.startAngle=i.list.angle;else{var a=e.timeStamp||Date.now();a-i.lastMoveTime>300&&(i.lastMoveTime=a,i.lastMoveStart=n.pageY)}i.stopInertiaMove=!0},p.prototype.startInertiaScroll=function(e){var t=this,i=e.changedTouches?e.changedTouches[0]:e,n=e.timeStamp||Date.now(),a=(i.pageY-t.lastMoveStart)/(n-t.lastMoveTime),r=a>0?-1:1,s=6e-4*r*-1,c=Math.abs(a/s),l=a*c/2,o=t.list.angle,d=t.calcAngle(l)*r,u=d;return o+d<t.beginExceed&&(d=t.beginExceed-o,c=c*(d/u)*.6),o+d>t.endExceed&&(d=t.endExceed-o,c=c*(d/u)*.6),0==d?void t.endScroll():void t.scrollDistAngle(n,o,d,c)},p.prototype.scrollDistAngle=function(e,t,i,n){var a=this;a.stopInertiaMove=!1,function(e,t,i,n){var r=13,s=n/r,c=0;!function l(){if(!a.stopInertiaMove){var e=a.quartEaseOut(c,t,i,s);return a.setAngle(e),c++,c>s-1||e<a.beginExceed||e>a.endExceed?void a.endScroll():void setTimeout(l,r)}}()}(e,t,i,n)},p.prototype.quartEaseOut=function(e,t,i,n){return-i*((e=e/n-1)*e*e*e-1)+t},p.prototype.endScroll=function(){var e=this;if(e.list.angle<e.beginAngle)e.list.style.webkitTransition="150ms ease-out",e.setAngle(e.beginAngle);else if(e.list.angle>e.endAngle)e.list.style.webkitTransition="150ms ease-out",e.setAngle(e.endAngle);else{var t=parseInt((e.list.angle/e.itemAngle).toFixed(0));e.list.style.webkitTransition="100ms ease-out",e.setAngle(e.itemAngle*t)}e.triggerChange()},p.prototype.triggerChange=function(t){var i=this;setTimeout(function(){var n=i.getSelectedIndex(),a=i.items[n];!e.trigger||n==i.lastIndex&&t!==!0||e.trigger(i.holder,"change",{index:n,item:a}),i.lastIndex=n,"function"==typeof t&&t()},0)},p.prototype.correctAngle=function(e){var t=this;return e<t.beginAngle?t.beginAngle:e>t.endAngle?t.endAngle:e},p.prototype.setItems=function(e){var t=this;t.items=e||[];var i=[];t.items.forEach(function(e){null!==e&&e!==n&&i.push("<li>"+(e.text||e)+"</li>")}),t.list.innerHTML=i.join(""),t.findElementItems(),t.calcElementItemPostion(),t.setAngle(t.correctAngle(t.list.angle)),t.triggerChange(!0)},p.prototype.getItems=function(){var e=this;return e.items},p.prototype.getSelectedIndex=function(){var e=this;return parseInt((e.list.angle/e.itemAngle).toFixed(0))},p.prototype.setSelectedIndex=function(e,t,i){var n=this;n.list.style.webkitTransition="";var a=n.correctAngle(n.itemAngle*e);if(t&&t>0){var r=a-n.list.angle;n.scrollDistAngle(Date.now(),n.list.angle,r,t)}else n.setAngle(a);n.triggerChange(i)},p.prototype.getSelectedItem=function(){var e=this;return e.items[e.getSelectedIndex()]},p.prototype.getSelectedValue=function(){var e=this;return(e.items[e.getSelectedIndex()]||{}).value},p.prototype.getSelectedText=function(){var e=this;return(e.items[e.getSelectedIndex()]||{}).text},p.prototype.setSelectedValue=function(e,t,i){var n=this;for(var a in n.items){var r=n.items[a];if(r.value==e)return void n.setSelectedIndex(a,t,i)}},e.fn&&(e.fn.picker=function(e){return this.each(function(t,i){if(!i.picker)if(e)i.picker=new p(i,e);else{var n=i.getAttribute("data-picker-options"),a=n?JSON.parse(n):{};i.picker=new p(i,a)}}),this[0]?this[0].picker:null},e.ready(function(){e(".mui-picker").picker()}))}(window.mui||window,window,document,void 0),function(e,t){e.dom=function(i){return"string"!=typeof i?i instanceof Array||i[0]&&i.length?[].slice.call(i):[i]:(e.__create_dom_div__||(e.__create_dom_div__=t.createElement("div")),e.__create_dom_div__.innerHTML=i,[].slice.call(e.__create_dom_div__.childNodes))};var i='<div class="mui-poppicker"> <div class="mui-poppicker-header"> <button class="mui-btn mui-poppicker-btn-cancel">取消</button> <button class="mui-btn mui-btn-blue mui-poppicker-btn-ok">确定</button> <div class="mui-poppicker-clear"></div> </div> <div class="mui-poppicker-body"> </div> </div>',n='<div class="mui-picker"> <div class="mui-picker-inner"> <div class="mui-pciker-rule mui-pciker-rule-ft"></div> <ul class="mui-pciker-list"> </ul> <div class="mui-pciker-rule mui-pciker-rule-bg"></div> </div> </div>';e.PopPicker=e.Class.extend({init:function(n){var a=this;a.options=n||{},a.options.buttons=a.options.buttons||["取消","确定"],a.panel=e.dom(i)[0],t.body.appendChild(a.panel),a.ok=a.panel.querySelector(".mui-poppicker-btn-ok"),a.cancel=a.panel.querySelector(".mui-poppicker-btn-cancel"),a.body=a.panel.querySelector(".mui-poppicker-body"),a.mask=e.createMask(),a.cancel.innerText=a.options.buttons[0],a.ok.innerText=a.options.buttons[1],a.cancel.addEventListener("tap",function(e){a.hide()},!1),a.ok.addEventListener("tap",function(e){if(a.callback){var t=a.callback(a.getSelectedItems());t!==!1&&a.hide()}},!1),a.mask[0].addEventListener("tap",function(){a.hide()},!1),a._createPicker(),a.panel.addEventListener(e.EVENT_START,function(e){e.preventDefault()},!1),a.panel.addEventListener(e.EVENT_MOVE,function(e){e.preventDefault()},!1)},_createPicker:function(){var t=this,i=t.options.layer||1,a=100/i+"%";t.pickers=[];for(var r=1;i>=r;r++){var s=e.dom(n)[0];s.style.width=a,t.body.appendChild(s);var c=e(s).picker();t.pickers.push(c),s.addEventListener("change",function(e){var t=this.nextSibling;if(t&&t.picker){var i=e.detail||{},n=i.item||{};t.picker.setItems(n.children)}},!1)}},setData:function(e){var t=this;e=e||[],t.pickers[0].setItems(e)},getSelectedItems:function(){var e=this,t=[];for(var i in e.pickers){var n=e.pickers[i];t.push(n.getSelectedItem()||{})}return t},show:function(i){var n=this;n.callback=i,n.mask.show(),t.body.classList.add(e.className("poppicker-active-for-page")),n.panel.classList.add(e.className("active")),n.__back=e.back,e.back=function(){n.hide()}},hide:function(){var i=this;i.disposed||(i.panel.classList.remove(e.className("active")),i.mask.close(),t.body.classList.remove(e.className("poppicker-active-for-page")),e.back=i.__back)},dispose:function(){var e=this;e.hide(),setTimeout(function(){e.panel.parentNode.removeChild(e.panel);for(var t in e)e[t]=null,delete e[t];e.disposed=!0},300)}})}(mui,document),function(e,t){e.dom=function(i){return"string"!=typeof i?i instanceof Array||i[0]&&i.length?[].slice.call(i):[i]:(e.__create_dom_div__||(e.__create_dom_div__=t.createElement("div")),e.__create_dom_div__.innerHTML=i,[].slice.call(e.__create_dom_div__.childNodes))};var i='<div class="mui-dtpicker" data-type="datetime"> <div class="mui-dtpicker-header"> <button data-id="btn-cancel" class="mui-btn">取消</button> <button data-id="btn-ok" class="mui-btn mui-btn-blue">确定</button> </div> <div class="mui-dtpicker-title"><h5 data-id="title-y">年</h5><h5 data-id="title-m">月</h5><h5 data-id="title-d">日</h5><h5 data-id="title-h">时</h5><h5 data-id="title-i">分</h5></div> <div class="mui-dtpicker-body"> <div data-id="picker-y" class="mui-picker"> <div class="mui-picker-inner"> <div class="mui-pciker-rule mui-pciker-rule-ft"></div> <ul class="mui-pciker-list"> </ul> <div class="mui-pciker-rule mui-pciker-rule-bg"></div> </div> </div> <div data-id="picker-m" class="mui-picker"> <div class="mui-picker-inner"> <div class="mui-pciker-rule mui-pciker-rule-ft"></div> <ul class="mui-pciker-list"> </ul> <div class="mui-pciker-rule mui-pciker-rule-bg"></div> </div> </div> <div data-id="picker-d" class="mui-picker"> <div class="mui-picker-inner"> <div class="mui-pciker-rule mui-pciker-rule-ft"></div> <ul class="mui-pciker-list"> </ul> <div class="mui-pciker-rule mui-pciker-rule-bg"></div> </div> </div> <div data-id="picker-h" class="mui-picker"> <div class="mui-picker-inner"> <div class="mui-pciker-rule mui-pciker-rule-ft"></div> <ul class="mui-pciker-list"> </ul> <div class="mui-pciker-rule mui-pciker-rule-bg"></div> </div> </div> <div data-id="picker-i" class="mui-picker"> <div class="mui-picker-inner"> <div class="mui-pciker-rule mui-pciker-rule-ft"></div> <ul class="mui-pciker-list"> </ul> <div class="mui-pciker-rule mui-pciker-rule-bg"></div> </div> </div> </div> </div>';e.DtPicker=e.Class.extend({init:function(n){var a=this,r=e.dom(i)[0];t.body.appendChild(r),e('[data-id*="picker"]',r).picker();var s=a.ui={picker:r,mask:e.createMask(),ok:e('[data-id="btn-ok"]',r)[0],cancel:e('[data-id="btn-cancel"]',r)[0],y:e('[data-id="picker-y"]',r)[0],m:e('[data-id="picker-m"]',r)[0],d:e('[data-id="picker-d"]',r)[0],h:e('[data-id="picker-h"]',r)[0],i:e('[data-id="picker-i"]',r)[0],labels:e('[data-id*="title-"]',r)};s.cancel.addEventListener("tap",function(){a.hide()},!1),s.ok.addEventListener("tap",function(){var e=a.callback(a.getSelected());e!==!1&&a.hide()},!1),s.y.addEventListener("change",function(e){a.options.beginMonth||a.options.endMonth?a._createMonth():a._createDay()},!1),s.m.addEventListener("change",function(e){a._createDay()},!1),s.d.addEventListener("change",function(e){(a.options.beginMonth||a.options.endMonth)&&a._createHours()},!1),s.h.addEventListener("change",function(e){(a.options.beginMonth||a.options.endMonth)&&a._createMinutes()},!1),s.mask[0].addEventListener("tap",function(){a.hide()},!1),a._create(n),a.ui.picker.addEventListener(e.EVENT_START,function(e){e.preventDefault()},!1),a.ui.picker.addEventListener(e.EVENT_MOVE,function(e){e.preventDefault()},!1)},getSelected:function(){var e=this,t=e.ui,i=e.options.type,n={type:i,y:t.y.picker.getSelectedItem(),m:t.m.picker.getSelectedItem(),d:t.d.picker.getSelectedItem(),h:t.h.picker.getSelectedItem(),i:t.i.picker.getSelectedItem(),toString:function(){return this.value}};switch(i){case"datetime":n.value=n.y.value+"-"+n.m.value+"-"+n.d.value+" "+n.h.value+":"+n.i.value,n.text=n.y.text+"-"+n.m.text+"-"+n.d.text+" "+n.h.text+":"+n.i.text;break;case"date":n.value=n.y.value+"-"+n.m.value+"-"+n.d.value,n.text=n.y.text+"-"+n.m.text+"-"+n.d.text;break;case"time":n.value=n.h.value+":"+n.i.value,n.text=n.h.text+":"+n.i.text;break;case"month":n.value=n.y.value+"-"+n.m.value,n.text=n.y.text+"-"+n.m.text;break;case"hour":n.value=n.y.value+"-"+n.m.value+"-"+n.d.value+" "+n.h.value,n.text=n.y.text+"-"+n.m.text+"-"+n.d.text+" "+n.h.text}return n},setSelectedValue:function(e){var t=this,i=t.ui,n=t._parseValue(e);i.y.picker.setSelectedValue(n.y,0,function(){i.m.picker.setSelectedValue(n.m,0,function(){i.d.picker.setSelectedValue(n.d,0,function(){i.h.picker.setSelectedValue(n.h,0,function(){i.i.picker.setSelectedValue(n.i,0)})})})})},isLeapYear:function(e){return e%4==0&&e%100!=0||e%400==0},_inArray:function(e,t){for(var i in e){var n=e[i];if(n===t)return!0}return!1},getDayNum:function(e,t){var i=this;return i._inArray([1,3,5,7,8,10,12],t)?31:i._inArray([4,6,9,11],t)?30:i.isLeapYear(e)?29:28},_fill:function(e){return e=e.toString(),e.length<2&&(e=0+e),e},_isBeginYear:function(){return this.options.beginYear===parseInt(this.ui.y.picker.getSelectedValue())},_isBeginMonth:function(){return this.options.beginMonth&&this._isBeginYear()&&this.options.beginMonth===parseInt(this.ui.m.picker.getSelectedValue())},_isBeginDay:function(){return this._isBeginMonth()&&this.options.beginDay===parseInt(this.ui.d.picker.getSelectedValue())},_isBeginHours:function(){return this._isBeginDay()&&this.options.beginHours===parseInt(this.ui.h.picker.getSelectedValue())},_isEndYear:function(){return this.options.endYear===parseInt(this.ui.y.picker.getSelectedValue())},_isEndMonth:function(){return this.options.endMonth&&this._isEndYear()&&this.options.endMonth===parseInt(this.ui.m.picker.getSelectedValue())},_isEndDay:function(){return this._isEndMonth()&&this.options.endDay===parseInt(this.ui.d.picker.getSelectedValue())},_isEndHours:function(){return this._isEndDay()&&this.options.endHours===parseInt(this.ui.h.picker.getSelectedValue())},_createYear:function(e){var t=this,i=t.options,n=t.ui,a=[];if(i.customData.y)a=i.customData.y;else for(var r=i.beginYear,s=i.endYear,c=r;s>=c;c++)a.push({text:c+"",value:c});n.y.picker.setItems(a)},_createMonth:function(e){var t=this,i=t.options,n=t.ui,a=[];if(i.customData.m)a=i.customData.m;else for(var r=i.beginMonth&&t._isBeginYear()?i.beginMonth:1,s=i.endMonth&&t._isEndYear()?i.endMonth:12;s>=r;r++){var c=t._fill(r);a.push({text:c,value:c})}n.m.picker.setItems(a)},_createDay:function(e){var t=this,i=t.options,n=t.ui,a=[];if(i.customData.d)a=i.customData.d;else for(var r=t._isBeginMonth()?i.beginDay:1,s=t._isEndMonth()?i.endDay:t.getDayNum(parseInt(this.ui.y.picker.getSelectedValue()),parseInt(this.ui.m.picker.getSelectedValue()));s>=r;r++){var c=t._fill(r);a.push({text:c,value:c})}n.d.picker.setItems(a),e=e||n.d.picker.getSelectedValue()},_createHours:function(e){var t=this,i=t.options,n=t.ui,a=[];if(i.customData.h)a=i.customData.h;else for(var r=t._isBeginDay()?i.beginHours:0,s=t._isEndDay()?i.endHours:23;s>=r;r++){var c=t._fill(r);a.push({text:c,value:c})}n.h.picker.setItems(a)},_createMinutes:function(e){var t=this,i=t.options,n=t.ui,a=[];if(i.customData.i)a=i.customData.i;else for(var r=t._isBeginHours()?i.beginMinutes:0,s=t._isEndHours()?i.endMinutes:59;s>=r;r++){var c=t._fill(r);a.push({text:c,value:c})}n.i.picker.setItems(a)},_setLabels:function(){var e=this,t=e.options,i=e.ui;i.labels.each(function(e,i){i.innerText=t.labels[e]})},_setButtons:function(){var e=this,t=e.options,i=e.ui;i.cancel.innerText=t.buttons[0],i.ok.innerText=t.buttons[1]},_parseValue:function(e){var t={};if(e){var i=e.replace(":","-").replace(" ","-").split("-");t.y=i[0],t.m=i[1],t.d=i[2],t.h=i[3],t.i=i[4]}else{var n=new Date;t.y=n.getFullYear(),t.m=n.getMonth()+1,t.d=n.getDate(),t.h=n.getHours(),t.i=n.getMinutes()}return t},_create:function(e){var t=this;e=e||{},e.labels=e.labels||["年","月","日","时","分"],e.buttons=e.buttons||["取消","确定"],e.type=e.type||"datetime",e.customData=e.customData||{},t.options=e;var i=new Date,n=e.beginDate;n instanceof Date&&!isNaN(n.valueOf())&&(e.beginYear=n.getFullYear(),e.beginMonth=n.getMonth()+1,e.beginDay=n.getDate(),e.beginHours=n.getHours(),e.beginMinutes=n.getMinutes());var a=e.endDate;a instanceof Date&&!isNaN(a.valueOf())&&(e.endYear=a.getFullYear(),e.endMonth=a.getMonth()+1,e.endDay=a.getDate(),e.endHours=a.getHours(),e.endMinutes=a.getMinutes()),e.beginYear=e.beginYear||i.getFullYear()-5,e.endYear=e.endYear||i.getFullYear()+5;var r=t.ui;t._setLabels(),t._setButtons(),r.picker.setAttribute("data-type",e.type),t._createYear(),t._createMonth(),t._createDay(),t._createHours(),t._createMinutes(),t.setSelectedValue(e.value)},show:function(i){var n=this,a=n.ui;n.callback=i||e.noop,a.mask.show(),t.body.classList.add(e.className("dtpicker-active-for-page")),a.picker.classList.add(e.className("active")),n.__back=e.back,e.back=function(){n.hide()}},hide:function(){var i=this;if(!i.disposed){var n=i.ui;n.picker.classList.remove(e.className("active")),n.mask.close(),t.body.classList.remove(e.className("dtpicker-active-for-page")),e.back=i.__back}},dispose:function(){var e=this;e.hide(),setTimeout(function(){e.ui.picker.parentNode.removeChild(e.ui.picker);for(var t in e)e[t]=null,delete e[t];e.disposed=!0},300)}})}(mui,document);
\ No newline at end of file
(function($, window, document) {
var STATE_BEFORECHANGEOFFSET = 'beforeChangeOffset';
var STATE_AFTERCHANGEOFFSET = 'afterChangeOffset';
var EVENT_PULLSTART = 'pullstart';
var EVENT_PULLING = 'pulling';
var EVENT_BEFORECHANGEOFFSET = STATE_BEFORECHANGEOFFSET;
var EVENT_AFTERCHANGEOFFSET = STATE_AFTERCHANGEOFFSET;
var EVENT_DRAGENDAFTERCHANGEOFFSET = 'dragEndAfterChangeOffset';
var CLASS_TRANSITIONING = $.className('transitioning');
var CLASS_PULL_TOP_TIPS = $.className('pull-top-tips');
var CLASS_PULL_BOTTOM_TIPS = $.className('pull-bottom-tips');
var CLASS_PULL_LOADING = $.className('pull-loading');
var CLASS_SCROLL = $.className('scroll');
var CLASS_PULL_TOP_ARROW = $.className('pull-loading') + ' ' + $.className('icon') + ' ' + $.className('icon-pulldown');
var CLASS_PULL_TOP_ARROW_REVERSE = CLASS_PULL_TOP_ARROW + ' ' + $.className('reverse');
var CLASS_PULL_TOP_SPINNER = $.className('pull-loading') + ' ' + $.className('spinner');
var CLASS_HIDDEN = $.className('hidden');
var SELECTOR_PULL_LOADING = '.' + CLASS_PULL_LOADING;
$.PullToRefresh = $.Class.extend({
init: function(element, options) {
this.element = element;
this.options = $.extend(true, {
down: {
height: 75,
callback: false,
},
up: {
auto: false,
offset: 100, //距离底部高度(到达该高度即触发)
show: true,
contentinit: '上拉显示更多',
contentdown: '上拉显示更多',
contentrefresh: '正在加载...',
contentnomore: '没有更多数据了',
callback: false
},
preventDefaultException: {
tagName: /^(INPUT|TEXTAREA|BUTTON|SELECT)$/
}
}, options);
this.stopped = this.isNeedRefresh = this.isDragging = false;
this.state = STATE_BEFORECHANGEOFFSET;
this.isInScroll = this.element.classList.contains(CLASS_SCROLL);
this.initPullUpTips();
this.initEvent();
},
_preventDefaultException: function(el, exceptions) {
for (var i in exceptions) {
if (exceptions[i].test(el[i])) {
return true;
}
}
return false;
},
initEvent: function() {
if ($.isFunction(this.options.down.callback)) {
this.element.addEventListener($.EVENT_START, this);
this.element.addEventListener('drag', this);
this.element.addEventListener('dragend', this);
}
if (this.pullUpTips) {
this.element.addEventListener('dragup', this);
if (this.isInScroll) {
this.element.addEventListener('scrollbottom', this);
} else {
window.addEventListener('scroll', this);
}
}
},
handleEvent: function(e) {
switch (e.type) {
case $.EVENT_START:
this.isInScroll && this._canPullDown() && e.target && !this._preventDefaultException(e.target, this.options.preventDefaultException) && e.preventDefault();
break;
case 'drag':
this._drag(e);
break;
case 'dragend':
this._dragend(e);
break;
case 'webkitTransitionEnd':
this._transitionEnd(e);
break;
case 'dragup':
case 'scroll':
this._dragup(e);
break;
case 'scrollbottom':
if (e.target === this.element) {
this.pullUpLoading(e);
}
break;
}
},
initPullDownTips: function() {
var self = this;
if ($.isFunction(self.options.down.callback)) {
self.pullDownTips = (function() {
var element = document.querySelector('.' + CLASS_PULL_TOP_TIPS);
if (element) {
element.parentNode.removeChild(element);
}
if (!element) {
element = document.createElement('div');
element.classList.add(CLASS_PULL_TOP_TIPS);
element.innerHTML = '<div class="mui-pull-top-wrapper"><span class="mui-pull-loading mui-icon mui-icon-pulldown"></span></div>';
element.addEventListener('webkitTransitionEnd', self);
}
self.pullDownTipsIcon = element.querySelector(SELECTOR_PULL_LOADING);
document.body.appendChild(element);
return element;
}());
}
},
initPullUpTips: function() {
var self = this;
if ($.isFunction(self.options.up.callback)) {
self.pullUpTips = (function() {
var element = self.element.querySelector('.' + CLASS_PULL_BOTTOM_TIPS);
if (!element) {
element = document.createElement('div');
element.classList.add(CLASS_PULL_BOTTOM_TIPS);
if (!self.options.up.show) {
element.classList.add(CLASS_HIDDEN);
}
element.innerHTML = '<div class="mui-pull-bottom-wrapper"><span class="mui-pull-loading">' + self.options.up.contentinit + '</span></div>';
self.element.appendChild(element);
}
self.pullUpTipsIcon = element.querySelector(SELECTOR_PULL_LOADING);
return element;
}());
}
},
_transitionEnd: function(e) {
if (e.target === this.pullDownTips && this.removing) {
this.removePullDownTips();
}
},
_dragup: function(e) {
var self = this;
if (self.loading) {
return;
}
if (e && e.detail && $.gestures.session.drag) {
self.isDraggingUp = true;
} else {
if (!self.isDraggingUp) { //scroll event
return;
}
}
if (!self.isDragging) {
if (self._canPullUp()) {
self.pullUpLoading(e);
}
}
},
_canPullUp: function() {
if (this.removing) {
return false;
}
if (this.isInScroll) {
var scrollId = this.element.parentNode.getAttribute('data-scroll');
if (scrollId) {
var scrollApi = $.data[scrollId];
return scrollApi.y === scrollApi.maxScrollY;
}
}
return window.pageYOffset + window.innerHeight + this.options.up.offset >= document.documentElement.scrollHeight;
},
_canPullDown: function() {
if (this.removing) {
return false;
}
if (this.isInScroll) {
var scrollId = this.element.parentNode.getAttribute('data-scroll');
if (scrollId) {
var scrollApi = $.data[scrollId];
return scrollApi.y === 0;
}
}
return document.body.scrollTop === 0;
},
_drag: function(e) {
if (this.loading || this.stopped) {
e.stopPropagation();
e.detail.gesture.preventDefault();
return;
}
var detail = e.detail;
if (!this.isDragging) {
if (detail.direction === 'down' && this._canPullDown()) {
if (document.querySelector('.' + CLASS_PULL_TOP_TIPS)) {
e.stopPropagation();
e.detail.gesture.preventDefault();
return;
}
this.isDragging = true;
this.removing = false;
this.startDeltaY = detail.deltaY;
$.gestures.session.lockDirection = true; //锁定方向
$.gestures.session.startDirection = detail.direction;
this._pullStart(this.startDeltaY);
}
}
if (this.isDragging) {
e.stopPropagation();
e.detail.gesture.preventDefault();
var deltaY = detail.deltaY - this.startDeltaY;
deltaY = Math.min(deltaY, 1.5 * this.options.down.height);
this.deltaY = deltaY;
this._pulling(deltaY);
var state = deltaY > this.options.down.height ? STATE_AFTERCHANGEOFFSET : STATE_BEFORECHANGEOFFSET;
if (this.state !== state) {
this.state = state;
if (this.state === STATE_AFTERCHANGEOFFSET) {
this.removing = false;
this.isNeedRefresh = true;
} else {
this.removing = true;
this.isNeedRefresh = false;
}
this['_' + state](deltaY);
}
if ($.os.ios && parseFloat($.os.version) >= 8) {
var clientY = detail.gesture.touches[0].clientY;
if ((clientY + 10) > window.innerHeight || clientY < 10) {
this._dragend(e);
return;
}
}
}
},
_dragend: function(e) {
var self = this;
if (self.isDragging) {
self.isDragging = false;
self._dragEndAfterChangeOffset(self.isNeedRefresh);
}
if (self.isPullingUp) {
if (self.pullingUpTimeout) {
clearTimeout(self.pullingUpTimeout);
}
self.pullingUpTimeout = setTimeout(function() {
self.isPullingUp = false;
}, 1000);
}
},
_pullStart: function(startDeltaY) {
this.pullStart(startDeltaY);
$.trigger(this.element, EVENT_PULLSTART, {
api: this,
startDeltaY: startDeltaY
});
},
_pulling: function(deltaY) {
this.pulling(deltaY);
$.trigger(this.element, EVENT_PULLING, {
api: this,
deltaY: deltaY
});
},
_beforeChangeOffset: function(deltaY) {
this.beforeChangeOffset(deltaY);
$.trigger(this.element, EVENT_BEFORECHANGEOFFSET, {
api: this,
deltaY: deltaY
});
},
_afterChangeOffset: function(deltaY) {
this.afterChangeOffset(deltaY);
$.trigger(this.element, EVENT_AFTERCHANGEOFFSET, {
api: this,
deltaY: deltaY
});
},
_dragEndAfterChangeOffset: function(isNeedRefresh) {
this.dragEndAfterChangeOffset(isNeedRefresh);
$.trigger(this.element, EVENT_DRAGENDAFTERCHANGEOFFSET, {
api: this,
isNeedRefresh: isNeedRefresh
});
},
removePullDownTips: function() {
if (this.pullDownTips) {
try {
this.pullDownTips.parentNode && this.pullDownTips.parentNode.removeChild(this.pullDownTips);
this.pullDownTips = null;
this.removing = false;
} catch (e) {}
}
},
pullStart: function(startDeltaY) {
this.initPullDownTips(startDeltaY);
},
pulling: function(deltaY) {
this.pullDownTips.style.webkitTransform = 'translate3d(0,' + deltaY + 'px,0)';
},
beforeChangeOffset: function(deltaY) {
this.pullDownTipsIcon.className = CLASS_PULL_TOP_ARROW;
},
afterChangeOffset: function(deltaY) {
this.pullDownTipsIcon.className = CLASS_PULL_TOP_ARROW_REVERSE;
},
dragEndAfterChangeOffset: function(isNeedRefresh) {
if (isNeedRefresh) {
this.pullDownTipsIcon.className = CLASS_PULL_TOP_SPINNER;
this.pullDownLoading();
} else {
this.pullDownTipsIcon.className = CLASS_PULL_TOP_ARROW;
this.endPullDownToRefresh();
}
},
pullDownLoading: function() {
if (this.loading) {
return;
}
if (!this.pullDownTips) {
this.initPullDownTips();
this.dragEndAfterChangeOffset(true);
return;
}
this.loading = true;
this.pullDownTips.classList.add(CLASS_TRANSITIONING);
this.pullDownTips.style.webkitTransform = 'translate3d(0,' + this.options.down.height + 'px,0)';
this.options.down.callback.apply(this);
},
pullUpLoading: function(e) {
if (this.loading || this.finished) {
return;
}
this.loading = true;
this.isDraggingUp = false;
this.pullUpTips.classList.remove(CLASS_HIDDEN);
e && e.detail && e.detail.gesture && e.detail.gesture.preventDefault();
this.pullUpTipsIcon.innerHTML = this.options.up.contentrefresh;
this.options.up.callback.apply(this);
},
endPullDownToRefresh: function() {
this.loading = false;
this.pullUpTips && this.pullUpTips.classList.remove(CLASS_HIDDEN);
this.pullDownTips.classList.add(CLASS_TRANSITIONING);
this.pullDownTips.style.webkitTransform = 'translate3d(0,0,0)';
if (this.deltaY <= 0) {
this.removePullDownTips();
} else {
this.removing = true;
}
if (this.isInScroll) {
$(this.element.parentNode).scroll().refresh();
}
},
endPullUpToRefresh: function(finished) {
if (finished) {
this.finished = true;
this.pullUpTipsIcon.innerHTML = this.options.up.contentnomore;
this.element.removeEventListener('dragup', this);
window.removeEventListener('scroll', this);
} else {
this.pullUpTipsIcon.innerHTML = this.options.up.contentdown;
}
this.loading = false;
if (this.isInScroll) {
$(this.element.parentNode).scroll().refresh();
}
},
setStopped: function(stopped) {
if (stopped != this.stopped) {
this.stopped = stopped;
this.pullUpTips && this.pullUpTips.classList[stopped ? 'add' : 'remove'](CLASS_HIDDEN);
}
},
refresh: function(isReset) {
if (isReset && this.finished && this.pullUpTipsIcon) {
this.pullUpTipsIcon.innerHTML = this.options.up.contentdown;
this.element.addEventListener('dragup', this);
window.addEventListener('scroll', this);
this.finished = false;
}
}
});
$.fn.pullToRefresh = function(options) {
var pullRefreshApis = [];
options = options || {};
this.each(function() {
var self = this;
var pullRefreshApi = null;
var id = self.getAttribute('data-pullToRefresh');
if (!id) {
id = ++$.uuid;
$.data[id] = pullRefreshApi = new $.PullToRefresh(self, options);
self.setAttribute('data-pullToRefresh', id);
} else {
pullRefreshApi = $.data[id];
}
if (options.up && options.up.auto) { //如果设置了auto,则自动上拉一次
pullRefreshApi.pullUpLoading();
}
pullRefreshApis.push(pullRefreshApi);
});
return pullRefreshApis.length === 1 ? pullRefreshApis[0] : pullRefreshApis;
}
})(mui, window, document);
\ No newline at end of file
(function($) {
var CLASS_PULL_TOP_TIPS = $.className('pull-top-tips');
$.PullToRefresh = $.PullToRefresh.extend({
init: function(element, options) {
this._super(element, options);
this.options = $.extend(true, {
down: {
tips: {
colors: ['008000', 'd8ad44', 'd00324', 'dc00b8', '017efc'],
size: 200, //width=height=size;x=y=size/2;radius=size/4
lineWidth: 15,
duration: 1000,
tail_duration: 1000 * 2.5
}
}
}, this.options);
this.options.down.tips.color = this.options.down.tips.colors[0];
this.options.down.tips.colors = this.options.down.tips.colors.map(function(color) {
return {
r: parseInt(color.substring(0, 2), 16),
g: parseInt(color.substring(2, 4), 16),
b: parseInt(color.substring(4, 6), 16)
};
});
},
initPullDownTips: function() {
var self = this;
if ($.isFunction(self.options.down.callback)) {
self.pullDownTips = (function() {
var element = document.querySelector('.' + CLASS_PULL_TOP_TIPS);
if (element) {
element.parentNode.removeChild(element);
}
if (!element) {
element = document.createElement('div');
element.classList.add(CLASS_PULL_TOP_TIPS);
element.innerHTML = '<div class="mui-pull-top-wrapper"><div class="mui-pull-top-canvas"><canvas id="pullDownTips" width="' + self.options.down.tips.size + '" height="' + self.options.down.tips.size + '"></canvas></div></div>';
element.addEventListener('webkitTransitionEnd', self);
document.body.appendChild(element);
}
self.pullDownCanvas = document.getElementById("pullDownTips");
self.pullDownCanvasCtx = self.pullDownCanvas.getContext('2d');
self.canvasUtils.init(self.pullDownCanvas, self.options.down.tips);
return element;
}());
}
},
removePullDownTips: function() {
this._super();
this.canvasUtils.stopSpin();
},
pulling: function(deltaY) {
var ratio = Math.min(deltaY / (this.options.down.height * 1.5), 1);
var ratioPI = Math.min(1, ratio * 2);
this.pullDownTips.style.webkitTransform = 'translate3d(0,' + (deltaY < 0 ? 0 : deltaY) + 'px,0)';
this.pullDownCanvas.style.opacity = ratioPI;
this.pullDownCanvas.style.webkitTransform = 'rotate(' + 300 * ratio + 'deg)';
var canvas = this.pullDownCanvas;
var ctx = this.pullDownCanvasCtx;
var size = this.options.down.tips.size;
ctx.lineWidth = this.options.down.tips.lineWidth;
ctx.fillStyle = '#' + this.options.down.tips.color;
ctx.strokeStyle = '#' + this.options.down.tips.color;
ctx.stroke();
ctx.clearRect(0, 0, size, size);
//fixed android 4.1.x
canvas.style.display = 'none'; // Detach from DOM
canvas.offsetHeight; // Force the detach
canvas.style.display = 'inherit'; // Reattach to DOM
this.canvasUtils.drawArcedArrow(ctx, size / 2 + 0.5, size / 2, size / 4, 0 * Math.PI, 5 / 3 * Math.PI * ratioPI, false, 1, 2, 0.7853981633974483, 25, this.options.down.tips.lineWidth, this.options.down.tips.lineWidth);
},
beforeChangeOffset: function(deltaY) {},
afterChangeOffset: function(deltaY) {},
dragEndAfterChangeOffset: function(isNeedRefresh) {
if (isNeedRefresh) {
this.canvasUtils.startSpin();
this.pullDownLoading();
} else {
this.canvasUtils.stopSpin();
this.endPullDownToRefresh();
}
},
canvasUtils: (function() {
var canvasObj = null,
ctx = null,
size = 200,
lineWidth = 15,
tick = 0,
startTime = 0,
frameTime = 0,
timeLast = 0,
oldStep = 0,
acc = 0,
head = 0,
tail = 180,
rad = Math.PI / 180,
duration = 1000,
tail_duration = 1000 * 2.5,
colors = ['35ad0e', 'd8ad44', 'd00324', 'dc00b8', '017efc'],
rAF = null;
function easeLinear(currentIteration, startValue, changeInValue, totalIterations) {
return changeInValue * currentIteration / totalIterations + startValue;
}
function easeInOutQuad(currentIteration, startValue, changeInValue, totalIterations) {
if ((currentIteration /= totalIterations / 2) < 1) {
return changeInValue / 2 * currentIteration * currentIteration + startValue;
}
return -changeInValue / 2 * ((--currentIteration) * (currentIteration - 2) - 1) + startValue;
}
function minmax(value, v0, v1) {
var min = Math.min(v0, v1);
var max = Math.max(v0, v1);
if (value < min)
return min;
if (value > max)
return min;
return value;
}
var drawHead = function(ctx, x0, y0, x1, y1, x2, y2, style) {
'use strict';
if (typeof(x0) == 'string') x0 = parseInt(x0);
if (typeof(y0) == 'string') y0 = parseInt(y0);
if (typeof(x1) == 'string') x1 = parseInt(x1);
if (typeof(y1) == 'string') y1 = parseInt(y1);
if (typeof(x2) == 'string') x2 = parseInt(x2);
if (typeof(y2) == 'string') y2 = parseInt(y2);
var radius = 3;
var twoPI = 2 * Math.PI;
ctx.save();
ctx.beginPath();
ctx.moveTo(x0, y0);
ctx.lineTo(x1, y1);
ctx.lineTo(x2, y2);
switch (style) {
case 0:
var backdist = Math.sqrt(((x2 - x0) * (x2 - x0)) + ((y2 - y0) * (y2 - y0)));
ctx.arcTo(x1, y1, x0, y0, .55 * backdist);
ctx.fill();
break;
case 1:
ctx.beginPath();
ctx.moveTo(x0, y0);
ctx.lineTo(x1, y1);
ctx.lineTo(x2, y2);
ctx.lineTo(x0, y0);
ctx.fill();
break;
case 2:
ctx.stroke();
break;
case 3:
var cpx = (x0 + x1 + x2) / 3;
var cpy = (y0 + y1 + y2) / 3;
ctx.quadraticCurveTo(cpx, cpy, x0, y0);
ctx.fill();
break;
case 4:
var cp1x, cp1y, cp2x, cp2y, backdist;
var shiftamt = 5;
if (x2 == x0) {
backdist = y2 - y0;
cp1x = (x1 + x0) / 2;
cp2x = (x1 + x0) / 2;
cp1y = y1 + backdist / shiftamt;
cp2y = y1 - backdist / shiftamt;
} else {
backdist = Math.sqrt(((x2 - x0) * (x2 - x0)) + ((y2 - y0) * (y2 - y0)));
var xback = (x0 + x2) / 2;
var yback = (y0 + y2) / 2;
var xmid = (xback + x1) / 2;
var ymid = (yback + y1) / 2;
var m = (y2 - y0) / (x2 - x0);
var dx = (backdist / (2 * Math.sqrt(m * m + 1))) / shiftamt;
var dy = m * dx;
cp1x = xmid - dx;
cp1y = ymid - dy;
cp2x = xmid + dx;
cp2y = ymid + dy;
}
ctx.bezierCurveTo(cp1x, cp1y, cp2x, cp2y, x0, y0);
ctx.fill();
break;
}
ctx.restore();
};
var drawArcedArrow = function(ctx, x, y, r, startangle, endangle, anticlockwise, style, which, angle, d, lineWidth, lineRatio) {
'use strict';
style = typeof(style) != 'undefined' ? style : 3;
which = typeof(which) != 'undefined' ? which : 1;
angle = typeof(angle) != 'undefined' ? angle : Math.PI / 8;
lineWidth = lineWidth || 1;
lineRatio = lineRatio || 10;
d = typeof(d) != 'undefined' ? d : 10;
ctx.save();
ctx.lineWidth = lineWidth;
ctx.beginPath();
ctx.arc(x, y, r, startangle, endangle, anticlockwise);
ctx.stroke();
var sx, sy, lineangle, destx, desty;
if (which & 1) {
sx = Math.cos(startangle) * r + x;
sy = Math.sin(startangle) * r + y;
lineangle = Math.atan2(x - sx, sy - y);
if (anticlockwise) {
destx = sx + 10 * Math.cos(lineangle);
desty = sy + 10 * Math.sin(lineangle);
} else {
destx = sx - 10 * Math.cos(lineangle);
desty = sy - 10 * Math.sin(lineangle);
}
drawArrow(ctx, sx, sy, destx, desty, style, 2, angle, d);
}
if (which & 2) {
sx = Math.cos(endangle) * r + x;
sy = Math.sin(endangle) * r + y;
lineangle = Math.atan2(x - sx, sy - y);
if (anticlockwise) {
destx = sx - 10 * Math.cos(lineangle);
desty = sy - 10 * Math.sin(lineangle);
} else {
destx = sx + 10 * Math.cos(lineangle);
desty = sy + 10 * Math.sin(lineangle);
}
drawArrow(ctx, sx - lineRatio * Math.sin(endangle), sy + lineRatio * Math.cos(endangle), destx - lineRatio * Math.sin(endangle), desty + lineRatio * Math.cos(endangle), style, 2, angle, d)
}
ctx.restore();
}
var drawArrow = function(ctx, x1, y1, x2, y2, style, which, angle, d) {
'use strict';
if (typeof(x1) == 'string') x1 = parseInt(x1);
if (typeof(y1) == 'string') y1 = parseInt(y1);
if (typeof(x2) == 'string') x2 = parseInt(x2);
if (typeof(y2) == 'string') y2 = parseInt(y2);
style = typeof(style) != 'undefined' ? style : 3;
which = typeof(which) != 'undefined' ? which : 1;
angle = typeof(angle) != 'undefined' ? angle : Math.PI / 8;
d = typeof(d) != 'undefined' ? d : 10;
var toDrawHead = typeof(style) != 'function' ? drawHead : style;
var dist = Math.sqrt((x2 - x1) * (x2 - x1) + (y2 - y1) * (y2 - y1));
var ratio = (dist - d / 3) / dist;
var tox, toy, fromx, fromy;
if (which & 1) {
tox = Math.round(x1 + (x2 - x1) * ratio);
toy = Math.round(y1 + (y2 - y1) * ratio);
} else {
tox = x2;
toy = y2;
}
if (which & 2) {
fromx = x1 + (x2 - x1) * (1 - ratio);
fromy = y1 + (y2 - y1) * (1 - ratio);
} else {
fromx = x1;
fromy = y1;
}
ctx.beginPath();
ctx.moveTo(fromx, fromy);
ctx.lineTo(tox, toy);
ctx.stroke();
var lineangle = Math.atan2(y2 - y1, x2 - x1);
var h = Math.abs(d / Math.cos(angle));
if (which & 1) {
var angle1 = lineangle + Math.PI + angle;
var topx = x2 + Math.cos(angle1) * h;
var topy = y2 + Math.sin(angle1) * h;
var angle2 = lineangle + Math.PI - angle;
var botx = x2 + Math.cos(angle2) * h;
var boty = y2 + Math.sin(angle2) * h;
toDrawHead(ctx, topx, topy, x2, y2, botx, boty, style);
}
if (which & 2) {
var angle1 = lineangle + angle;
var topx = x1 + Math.cos(angle1) * h;
var topy = y1 + Math.sin(angle1) * h;
var angle2 = lineangle - angle;
var botx = x1 + Math.cos(angle2) * h;
var boty = y1 + Math.sin(angle2) * h;
toDrawHead(ctx, topx, topy, x1, y1, botx, boty, style);
}
};
var spinColors = function(currentIteration, totalIterations) {
var step = currentIteration % totalIterations;
if (step < oldStep)
colors.push(colors.shift());
var c0 = colors[0],
c1 = colors[1],
r = minmax(easeLinear(step, c0.r, c1.r - c0.r, totalIterations), c0.r, c1.r),
g = minmax(easeLinear(step, c0.g, c1.g - c0.g, totalIterations), c0.g, c1.g),
b = minmax(easeLinear(step, c0.b, c1.b - c0.b, totalIterations), c0.b, c1.b);
oldStep = step;
return "rgb(" + parseInt(r) + "," + parseInt(g) + "," + parseInt(b) + ")";
}
var spin = function(t) {
var timeCurrent = t || (new Date).getTime();
if (!startTime) {
startTime = timeCurrent;
}
tick = timeCurrent - startTime;
acc = easeInOutQuad((tick + tail_duration / 2) % tail_duration, 0, duration, tail_duration);
head = easeLinear((tick + acc) % duration, 0, 360, duration);
tail = 20 + Math.abs(easeLinear((tick + tail_duration / 2) % tail_duration, -300, 600, tail_duration));
ctx.lineWidth = lineWidth;
ctx.lineCap = "round";
ctx.strokeStyle = spinColors(tick, duration);
ctx.clearRect(0, 0, size, size);
//fixed android 4.1.x
canvasObj.style.display = 'none'; // Detach from DOM
canvasObj.offsetHeight; // Force the detach
canvasObj.style.display = 'inherit'; // Reattach to DOM
ctx.beginPath();
ctx.arc(size / 2, size / 2, size / 4, parseInt(head - tail) % 360 * rad, parseInt(head) % 360 * rad, false);
ctx.stroke();
rAF = requestAnimationFrame(spin);
};
var startSpin = function() {
startTime = 0;
oldStep = 0;
rAF = requestAnimationFrame(spin);
};
var stopSpin = function() {
rAF && cancelAnimationFrame(rAF);
}
var init = function(canvas, options) {
canvasObj = canvas;
ctx = canvasObj.getContext('2d');
var options = $.extend(true, {}, options);
colors = options.colors;
duration = options.duration;
tail_duration = options.tail_duration;
size = options.size;
lineWidth = options.lineWidth;
};
return {
init: init,
drawArcedArrow: drawArcedArrow,
startSpin: startSpin,
stopSpin: stopSpin
};
})()
});
})(mui);
\ No newline at end of file
(function(w){
// 空函数
function shield(){
return false;
}
document.addEventListener('touchstart',shield,false);//取消浏览器的所有事件,使得active的样式在手机上正常生效
document.oncontextmenu=shield;//屏蔽选择函数
// H5 plus事件处理
var ws=null,as='pop-in';
function plusReady(){
ws=plus.webview.currentWebview();
// Android处理返回键
plus.key.addEventListener('backbutton',function(){
back();
},false);
compatibleAdjust();
}
if(w.plus){
plusReady();
}else{
document.addEventListener('plusready',plusReady,false);
}
// DOMContentLoaded事件处理
var domready=false;
document.addEventListener('DOMContentLoaded',function(){
domready=true;
gInit();
document.body.onselectstart=shield;
compatibleAdjust();
},false);
// 处理返回事件
w.back=function(hide){
if(w.plus){
ws||(ws=plus.webview.currentWebview());
if(hide||ws.preate){
ws.hide('auto');
}else{
ws.close('auto');
}
}else if(history.length>1){
history.back();
}else{
w.close();
}
};
// 处理点击事件
var openw=null,waiting=null;
/**
* 打开新窗口
* @param {URIString} id : 要打开页面url
* @param {boolean} wa : 是否显示等待框
* @param {boolean} ns : 是否不自动显示
* @param {JSON} ws : Webview窗口属性
*/
w.clicked=function(id,wa,ns,ws){
if(openw){//避免多次打开同一个页面
return null;
}
if(w.plus){
wa&&(waiting=plus.nativeUI.showWaiting());
ws=ws||{};
ws.scrollIndicator||(ws.scrollIndicator='none');
ws.scalable||(ws.scalable=false);
var pre='';
openw=plus.webview.create(pre+id,id,ws);
console.log('openw=plus.webview.create(pre+id,id,ws);');
ns||openw.addEventListener('loaded',function(){//页面加载完成后才显示
// setTimeout(function(){//延后显示可避免低端机上动画时白屏
openw.show(as);
closeWaiting();
// },200);
},false);
openw.addEventListener('close',function(){//页面关闭后可再次打开
openw=null;
},false);
return openw;
}else{
console.log('w.open(id);');
w.open(id);
}
return null;
};
w.openDoc=function(t,c){
var d=plus.webview.getWebviewById('document');
if(d){
d.evalJS('updateDoc("'+t+'","'+c+'")');
}else{
d=plus.webview.create('/plus/doc.html','document',{zindex:9999,popGesture:'hide'},{preate:true});
d.addEventListener('loaded',function(){
d.evalJS('updateDoc("'+t+'","'+c+'")');
},false);
}
}
/**
* 关闭等待框
*/
w.closeWaiting=function(){
waiting&&waiting.close();
waiting=null;
}
// 兼容性样式调整
var adjust=false;
function compatibleAdjust(){
if(adjust||!w.plus||!domready){
return;
} // iOS平台使用滚动的div
if('iOS'==plus.os.name){
var t=document.getElementById("dcontent");
t&&(t.className="sdcontent");
t=document.getElementById("content");
t&&(t.className="scontent");
//iOS8横竖屏切换div不更新滚动问题
var lasto=window.orientation;
window.addEventListener("orientationchange",function(){
var nowo=window.orientation;
if(lasto!=nowo&&(90==nowo||-90==nowo)){
window.dcontent&&(0==dcontent.scrollTop)&&(dcontent.scrollTop=1);
window.content&&(0==content.scrollTop)&&(content.scrollTop=1);
}
lasto=nowo;
},false);
}
adjust=true;
};
w.compatibleConfirm=function(){
plus.nativeUI.confirm('本OS原生层面不提供该控件,需使用mui框架实现类似效果。请点击“确定”下载Hello mui示例',function(e){
if(0==e.index){
plus.runtime.openURL("http://www.dcloud.io/hellomui/");
}
},"",["确定","取消"]);
}
// 通用元素对象
var _dout_=null,_dcontent_=null;
w.gInit=function(){
_dout_=document.getElementById("output");
_dcontent_=document.getElementById("dcontent");
};
// 清空输出内容
w.outClean=function(){
_dout_.innerText="";
_dout_.scrollTop=0;//在iOS8存在不滚动的现象
};
// 输出内容
w.outSet=function(s){
_dout_.innerText=s+"\n";
(0==_dout_.scrollTop)&&(_dout_.scrollTop=1);//在iOS8存在不滚动的现象
};
// 输出行内容
w.outLine=function(s){
_dout_.innerText=s;
(0==_dout_.scrollTop)&&(_dout_.scrollTop=1);//在iOS8存在不滚动的现象
};
// 格式化时长字符串,格式为"HH:MM:SS"
w.timeToStr=function(ts){
if(isNaN(ts)){
return "--:--:--";
}
var h=parseInt(ts/3600);
var m=parseInt((ts%3600)/60);
var s=parseInt(ts%60);
return (ultZeroize(h)+":"+ultZeroize(m)+":"+ultZeroize(s));
};
// 格式化日期时间字符串,格式为"YYYY-MM-DD HH:MM:SS"
w.dateToStr=function(d){
return (d.getFullYear()+"-"+ultZeroize(d.getMonth()+1)+"-"+ultZeroize(d.getDate())+" "+ultZeroize(d.getHours())+":"+ultZeroize(d.getMinutes())+":"+ultZeroize(d.getSeconds()));
};
/**
* zeroize value with length(default is 2).
* @param {Object} v
* @param {Number} l
* @return {String}
*/
w.ultZeroize=function(v,l){
var z="";
l=l||2;
v=String(v);
for(var i=0;i<l-v.length;i++){
z+="0";
}
return z+v;
};
})(window);
;(function () {
'use strict';
/**
* @preserve FastClick: polyfill to remove click delays on browsers with touch UIs.
*
* @codingstandard ftlabs-jsv2
* @copyright The Financial Times Limited [All Rights Reserved]
* @license MIT License (see LICENSE.txt)
*/
/*jslint browser:true, node:true*/
/*global define, Event, Node*/
/**
* Instantiate fast-clicking listeners on the specified layer.
*
* @constructor
* @param {Element} layer The layer to listen on
* @param {Object} [options={}] The options to override the defaults
*/
function FastClick(layer, options) {
var oldOnClick;
options = options || {};
/**
* Whether a click is currently being tracked.
*
* @type boolean
*/
this.trackingClick = false;
/**
* Timestamp for when click tracking started.
*
* @type number
*/
this.trackingClickStart = 0;
/**
* The element being tracked for a click.
*
* @type EventTarget
*/
this.targetElement = null;
/**
* X-coordinate of touch start event.
*
* @type number
*/
this.touchStartX = 0;
/**
* Y-coordinate of touch start event.
*
* @type number
*/
this.touchStartY = 0;
/**
* ID of the last touch, retrieved from Touch.identifier.
*
* @type number
*/
this.lastTouchIdentifier = 0;
/**
* Touchmove boundary, beyond which a click will be cancelled.
*
* @type number
*/
this.touchBoundary = options.touchBoundary || 10;
/**
* The FastClick layer.
*
* @type Element
*/
this.layer = layer;
/**
* The minimum time between tap(touchstart and touchend) events
*
* @type number
*/
this.tapDelay = options.tapDelay || 200;
/**
* The maximum time for a tap
*
* @type number
*/
this.tapTimeout = options.tapTimeout || 700;
if (FastClick.notNeeded(layer)) {
return;
}
// Some old versions of Android don't have Function.prototype.bind
function bind(method, context) {
return function() { return method.apply(context, arguments); };
}
var methods = ['onMouse', 'onClick', 'onTouchStart', 'onTouchMove', 'onTouchEnd', 'onTouchCancel'];
var context = this;
for (var i = 0, l = methods.length; i < l; i++) {
context[methods[i]] = bind(context[methods[i]], context);
}
// Set up event handlers as required
if (deviceIsAndroid) {
layer.addEventListener('mouseover', this.onMouse, true);
layer.addEventListener('mousedown', this.onMouse, true);
layer.addEventListener('mouseup', this.onMouse, true);
}
layer.addEventListener('click', this.onClick, true);
layer.addEventListener('touchstart', this.onTouchStart, false);
layer.addEventListener('touchmove', this.onTouchMove, false);
layer.addEventListener('touchend', this.onTouchEnd, false);
layer.addEventListener('touchcancel', this.onTouchCancel, false);
// Hack is required for browsers that don't support Event#stopImmediatePropagation (e.g. Android 2)
// which is how FastClick normally stops click events bubbling to callbacks registered on the FastClick
// layer when they are cancelled.
if (!Event.prototype.stopImmediatePropagation) {
layer.removeEventListener = function(type, callback, capture) {
var rmv = Node.prototype.removeEventListener;
if (type === 'click') {
rmv.call(layer, type, callback.hijacked || callback, capture);
} else {
rmv.call(layer, type, callback, capture);
}
};
layer.addEventListener = function(type, callback, capture) {
var adv = Node.prototype.addEventListener;
if (type === 'click') {
adv.call(layer, type, callback.hijacked || (callback.hijacked = function(event) {
if (!event.propagationStopped) {
callback(event);
}
}), capture);
} else {
adv.call(layer, type, callback, capture);
}
};
}
// If a handler is already declared in the element's onclick attribute, it will be fired before
// FastClick's onClick handler. Fix this by pulling out the user-defined handler function and
// adding it as listener.
if (typeof layer.onclick === 'function') {
// Android browser on at least 3.2 requires a new reference to the function in layer.onclick
// - the old one won't work if passed to addEventListener directly.
oldOnClick = layer.onclick;
layer.addEventListener('click', function(event) {
oldOnClick(event);
}, false);
layer.onclick = null;
}
}
/**
* Windows Phone 8.1 fakes user agent string to look like Android and iPhone.
*
* @type boolean
*/
var deviceIsWindowsPhone = navigator.userAgent.indexOf("Windows Phone") >= 0;
/**
* Android requires exceptions.
*
* @type boolean
*/
var deviceIsAndroid = navigator.userAgent.indexOf('Android') > 0 && !deviceIsWindowsPhone;
/**
* iOS requires exceptions.
*
* @type boolean
*/
var deviceIsIOS = /iP(ad|hone|od)/.test(navigator.userAgent) && !deviceIsWindowsPhone;
/**
* iOS 4 requires an exception for select elements.
*
* @type boolean
*/
var deviceIsIOS4 = deviceIsIOS && (/OS 4_\d(_\d)?/).test(navigator.userAgent);
/**
* iOS 6.0-7.* requires the target element to be manually derived
*
* @type boolean
*/
var deviceIsIOSWithBadTarget = deviceIsIOS && (/OS [6-7]_\d/).test(navigator.userAgent);
/**
* BlackBerry requires exceptions.
*
* @type boolean
*/
var deviceIsBlackBerry10 = navigator.userAgent.indexOf('BB10') > 0;
/**
* Determine whether a given element requires a native click.
*
* @param {EventTarget|Element} target Target DOM element
* @returns {boolean} Returns true if the element needs a native click
*/
FastClick.prototype.needsClick = function(target) {
switch (target.nodeName.toLowerCase()) {
// Don't send a synthetic click to disabled inputs (issue #62)
case 'button':
case 'select':
case 'textarea':
if (target.disabled) {
return true;
}
break;
case 'input':
// File inputs need real clicks on iOS 6 due to a browser bug (issue #68)
if ((deviceIsIOS && target.type === 'file') || target.disabled) {
return true;
}
break;
case 'label':
case 'iframe': // iOS8 homescreen apps can prevent events bubbling into frames
case 'video':
return true;
}
return (/\bneedsclick\b/).test(target.className);
};
/**
* Determine whether a given element requires a call to focus to simulate click into element.
*
* @param {EventTarget|Element} target Target DOM element
* @returns {boolean} Returns true if the element requires a call to focus to simulate native click.
*/
FastClick.prototype.needsFocus = function(target) {
switch (target.nodeName.toLowerCase()) {
case 'textarea':
return true;
case 'select':
return !deviceIsAndroid;
case 'input':
switch (target.type) {
case 'button':
case 'checkbox':
case 'file':
case 'image':
case 'radio':
case 'submit':
return false;
}
// No point in attempting to focus disabled inputs
return !target.disabled && !target.readOnly;
default:
return (/\bneedsfocus\b/).test(target.className);
}
};
/**
* Send a click event to the specified element.
*
* @param {EventTarget|Element} targetElement
* @param {Event} event
*/
FastClick.prototype.sendClick = function(targetElement, event) {
var clickEvent, touch;
// On some Android devices activeElement needs to be blurred otherwise the synthetic click will have no effect (#24)
if (document.activeElement && document.activeElement !== targetElement) {
document.activeElement.blur();
}
touch = event.changedTouches[0];
// Synthesise a click event, with an extra attribute so it can be tracked
clickEvent = document.createEvent('MouseEvents');
clickEvent.initMouseEvent(this.determineEventType(targetElement), true, true, window, 1, touch.screenX, touch.screenY, touch.clientX, touch.clientY, false, false, false, false, 0, null);
clickEvent.forwardedTouchEvent = true;
targetElement.dispatchEvent(clickEvent);
};
FastClick.prototype.determineEventType = function(targetElement) {
//Issue #159: Android Chrome Select Box does not open with a synthetic click event
if (deviceIsAndroid && targetElement.tagName.toLowerCase() === 'select') {
return 'mousedown';
}
return 'click';
};
/**
* @param {EventTarget|Element} targetElement
*/
FastClick.prototype.focus = function(targetElement) {
var length;
// Issue #160: on iOS 7, some input elements (e.g. date datetime month) throw a vague TypeError on setSelectionRange. These elements don't have an integer value for the selectionStart and selectionEnd properties, but unfortunately that can't be used for detection because accessing the properties also throws a TypeError. Just check the type instead. Filed as Apple bug #15122724.
if (deviceIsIOS && targetElement.setSelectionRange && targetElement.type.indexOf('date') !== 0 && targetElement.type !== 'time' && targetElement.type !== 'month') {
length = targetElement.value.length;
targetElement.setSelectionRange(length, length);
} else {
targetElement.focus();
}
};
/**
* Check whether the given target element is a child of a scrollable layer and if so, set a flag on it.
*
* @param {EventTarget|Element} targetElement
*/
FastClick.prototype.updateScrollParent = function(targetElement) {
var scrollParent, parentElement;
scrollParent = targetElement.fastClickScrollParent;
// Attempt to discover whether the target element is contained within a scrollable layer. Re-check if the
// target element was moved to another parent.
if (!scrollParent || !scrollParent.contains(targetElement)) {
parentElement = targetElement;
do {
if (parentElement.scrollHeight > parentElement.offsetHeight) {
scrollParent = parentElement;
targetElement.fastClickScrollParent = parentElement;
break;
}
parentElement = parentElement.parentElement;
} while (parentElement);
}
// Always update the scroll top tracker if possible.
if (scrollParent) {
scrollParent.fastClickLastScrollTop = scrollParent.scrollTop;
}
};
/**
* @param {EventTarget} targetElement
* @returns {Element|EventTarget}
*/
FastClick.prototype.getTargetElementFromEventTarget = function(eventTarget) {
// On some older browsers (notably Safari on iOS 4.1 - see issue #56) the event target may be a text node.
if (eventTarget.nodeType === Node.TEXT_NODE) {
return eventTarget.parentNode;
}
return eventTarget;
};
/**
* On touch start, record the position and scroll offset.
*
* @param {Event} event
* @returns {boolean}
*/
FastClick.prototype.onTouchStart = function(event) {
var targetElement, touch, selection;
// Ignore multiple touches, otherwise pinch-to-zoom is prevented if both fingers are on the FastClick element (issue #111).
if (event.targetTouches.length > 1) {
return true;
}
targetElement = this.getTargetElementFromEventTarget(event.target);
touch = event.targetTouches[0];
if (deviceIsIOS) {
// Only trusted events will deselect text on iOS (issue #49)
selection = window.getSelection();
if (selection.rangeCount && !selection.isCollapsed) {
return true;
}
if (!deviceIsIOS4) {
// Weird things happen on iOS when an alert or confirm dialog is opened from a click event callback (issue #23):
// when the user next taps anywhere else on the page, new touchstart and touchend events are dispatched
// with the same identifier as the touch event that previously triggered the click that triggered the alert.
// Sadly, there is an issue on iOS 4 that causes some normal touch events to have the same identifier as an
// immediately preceeding touch event (issue #52), so this fix is unavailable on that platform.
// Issue 120: touch.identifier is 0 when Chrome dev tools 'Emulate touch events' is set with an iOS device UA string,
// which causes all touch events to be ignored. As this block only applies to iOS, and iOS identifiers are always long,
// random integers, it's safe to to continue if the identifier is 0 here.
if (touch.identifier && touch.identifier === this.lastTouchIdentifier) {
event.preventDefault();
return false;
}
this.lastTouchIdentifier = touch.identifier;
// If the target element is a child of a scrollable layer (using -webkit-overflow-scrolling: touch) and:
// 1) the user does a fling scroll on the scrollable layer
// 2) the user stops the fling scroll with another tap
// then the event.target of the last 'touchend' event will be the element that was under the user's finger
// when the fling scroll was started, causing FastClick to send a click event to that layer - unless a check
// is made to ensure that a parent layer was not scrolled before sending a synthetic click (issue #42).
this.updateScrollParent(targetElement);
}
}
this.trackingClick = true;
this.trackingClickStart = event.timeStamp;
this.targetElement = targetElement;
this.touchStartX = touch.pageX;
this.touchStartY = touch.pageY;
// Prevent phantom clicks on fast double-tap (issue #36)
if ((event.timeStamp - this.lastClickTime) < this.tapDelay) {
event.preventDefault();
}
return true;
};
/**
* Based on a touchmove event object, check whether the touch has moved past a boundary since it started.
*
* @param {Event} event
* @returns {boolean}
*/
FastClick.prototype.touchHasMoved = function(event) {
var touch = event.changedTouches[0], boundary = this.touchBoundary;
if (Math.abs(touch.pageX - this.touchStartX) > boundary || Math.abs(touch.pageY - this.touchStartY) > boundary) {
return true;
}
return false;
};
/**
* Update the last position.
*
* @param {Event} event
* @returns {boolean}
*/
FastClick.prototype.onTouchMove = function(event) {
if (!this.trackingClick) {
return true;
}
// If the touch has moved, cancel the click tracking
if (this.targetElement !== this.getTargetElementFromEventTarget(event.target) || this.touchHasMoved(event)) {
this.trackingClick = false;
this.targetElement = null;
}
return true;
};
/**
* Attempt to find the labelled control for the given label element.
*
* @param {EventTarget|HTMLLabelElement} labelElement
* @returns {Element|null}
*/
FastClick.prototype.findControl = function(labelElement) {
// Fast path for newer browsers supporting the HTML5 control attribute
if (labelElement.control !== undefined) {
return labelElement.control;
}
// All browsers under test that support touch events also support the HTML5 htmlFor attribute
if (labelElement.htmlFor) {
return document.getElementById(labelElement.htmlFor);
}
// If no for attribute exists, attempt to retrieve the first labellable descendant element
// the list of which is defined here: http://www.w3.org/TR/html5/forms.html#category-label
return labelElement.querySelector('button, input:not([type=hidden]), keygen, meter, output, progress, select, textarea');
};
/**
* On touch end, determine whether to send a click event at once.
*
* @param {Event} event
* @returns {boolean}
*/
FastClick.prototype.onTouchEnd = function(event) {
var forElement, trackingClickStart, targetTagName, scrollParent, touch, targetElement = this.targetElement;
if (!this.trackingClick) {
return true;
}
// Prevent phantom clicks on fast double-tap (issue #36)
if ((event.timeStamp - this.lastClickTime) < this.tapDelay) {
this.cancelNextClick = true;
return true;
}
if ((event.timeStamp - this.trackingClickStart) > this.tapTimeout) {
return true;
}
// Reset to prevent wrong click cancel on input (issue #156).
this.cancelNextClick = false;
this.lastClickTime = event.timeStamp;
trackingClickStart = this.trackingClickStart;
this.trackingClick = false;
this.trackingClickStart = 0;
// On some iOS devices, the targetElement supplied with the event is invalid if the layer
// is performing a transition or scroll, and has to be re-detected manually. Note that
// for this to function correctly, it must be called *after* the event target is checked!
// See issue #57; also filed as rdar://13048589 .
if (deviceIsIOSWithBadTarget) {
touch = event.changedTouches[0];
// In certain cases arguments of elementFromPoint can be negative, so prevent setting targetElement to null
targetElement = document.elementFromPoint(touch.pageX - window.pageXOffset, touch.pageY - window.pageYOffset) || targetElement;
targetElement.fastClickScrollParent = this.targetElement.fastClickScrollParent;
}
targetTagName = targetElement.tagName.toLowerCase();
if (targetTagName === 'label') {
forElement = this.findControl(targetElement);
if (forElement) {
this.focus(targetElement);
if (deviceIsAndroid) {
return false;
}
targetElement = forElement;
}
} else if (this.needsFocus(targetElement)) {
// Case 1: If the touch started a while ago (best guess is 100ms based on tests for issue #36) then focus will be triggered anyway. Return early and unset the target element reference so that the subsequent click will be allowed through.
// Case 2: Without this exception for input elements tapped when the document is contained in an iframe, then any inputted text won't be visible even though the value attribute is updated as the user types (issue #37).
if ((event.timeStamp - trackingClickStart) > 100 || (deviceIsIOS && window.top !== window && targetTagName === 'input')) {
this.targetElement = null;
return false;
}
this.focus(targetElement);
this.sendClick(targetElement, event);
// Select elements need the event to go through on iOS 4, otherwise the selector menu won't open.
// Also this breaks opening selects when VoiceOver is active on iOS6, iOS7 (and possibly others)
if (!deviceIsIOS || targetTagName !== 'select') {
this.targetElement = null;
event.preventDefault();
}
return false;
}
if (deviceIsIOS && !deviceIsIOS4) {
// Don't send a synthetic click event if the target element is contained within a parent layer that was scrolled
// and this tap is being used to stop the scrolling (usually initiated by a fling - issue #42).
scrollParent = targetElement.fastClickScrollParent;
if (scrollParent && scrollParent.fastClickLastScrollTop !== scrollParent.scrollTop) {
return true;
}
}
// Prevent the actual click from going though - unless the target node is marked as requiring
// real clicks or if it is in the whitelist in which case only non-programmatic clicks are permitted.
if (!this.needsClick(targetElement)) {
event.preventDefault();
this.sendClick(targetElement, event);
}
return false;
};
/**
* On touch cancel, stop tracking the click.
*
* @returns {void}
*/
FastClick.prototype.onTouchCancel = function() {
this.trackingClick = false;
this.targetElement = null;
};
/**
* Determine mouse events which should be permitted.
*
* @param {Event} event
* @returns {boolean}
*/
FastClick.prototype.onMouse = function(event) {
// If a target element was never set (because a touch event was never fired) allow the event
if (!this.targetElement) {
return true;
}
if (event.forwardedTouchEvent) {
return true;
}
// Programmatically generated events targeting a specific element should be permitted
if (!event.cancelable) {
return true;
}
// Derive and check the target element to see whether the mouse event needs to be permitted;
// unless explicitly enabled, prevent non-touch click events from triggering actions,
// to prevent ghost/doubleclicks.
if (!this.needsClick(this.targetElement) || this.cancelNextClick) {
// Prevent any user-added listeners declared on FastClick element from being fired.
if (event.stopImmediatePropagation) {
event.stopImmediatePropagation();
} else {
// Part of the hack for browsers that don't support Event#stopImmediatePropagation (e.g. Android 2)
event.propagationStopped = true;
}
// Cancel the event
event.stopPropagation();
event.preventDefault();
return false;
}
// If the mouse event is permitted, return true for the action to go through.
return true;
};
/**
* On actual clicks, determine whether this is a touch-generated click, a click action occurring
* naturally after a delay after a touch (which needs to be cancelled to avoid duplication), or
* an actual click which should be permitted.
*
* @param {Event} event
* @returns {boolean}
*/
FastClick.prototype.onClick = function(event) {
var permitted;
// It's possible for another FastClick-like library delivered with third-party code to fire a click event before FastClick does (issue #44). In that case, set the click-tracking flag back to false and return early. This will cause onTouchEnd to return early.
if (this.trackingClick) {
this.targetElement = null;
this.trackingClick = false;
return true;
}
// Very odd behaviour on iOS (issue #18): if a submit element is present inside a form and the user hits enter in the iOS simulator or clicks the Go button on the pop-up OS keyboard the a kind of 'fake' click event will be triggered with the submit-type input element as the target.
if (event.target.type === 'submit' && event.detail === 0) {
return true;
}
permitted = this.onMouse(event);
// Only unset targetElement if the click is not permitted. This will ensure that the check for !targetElement in onMouse fails and the browser's click doesn't go through.
if (!permitted) {
this.targetElement = null;
}
// If clicks are permitted, return true for the action to go through.
return permitted;
};
/**
* Remove all FastClick's event listeners.
*
* @returns {void}
*/
FastClick.prototype.destroy = function() {
var layer = this.layer;
if (deviceIsAndroid) {
layer.removeEventListener('mouseover', this.onMouse, true);
layer.removeEventListener('mousedown', this.onMouse, true);
layer.removeEventListener('mouseup', this.onMouse, true);
}
layer.removeEventListener('click', this.onClick, true);
layer.removeEventListener('touchstart', this.onTouchStart, false);
layer.removeEventListener('touchmove', this.onTouchMove, false);
layer.removeEventListener('touchend', this.onTouchEnd, false);
layer.removeEventListener('touchcancel', this.onTouchCancel, false);
};
/**
* Check whether FastClick is needed.
*
* @param {Element} layer The layer to listen on
*/
FastClick.notNeeded = function(layer) {
var metaViewport;
var chromeVersion;
var blackberryVersion;
var firefoxVersion;
// Devices that don't support touch don't need FastClick
if (typeof window.ontouchstart === 'undefined') {
return true;
}
// Chrome version - zero for other browsers
chromeVersion = +(/Chrome\/([0-9]+)/.exec(navigator.userAgent) || [,0])[1];
if (chromeVersion) {
if (deviceIsAndroid) {
metaViewport = document.querySelector('meta[name=viewport]');
if (metaViewport) {
// Chrome on Android with user-scalable="no" doesn't need FastClick (issue #89)
if (metaViewport.content.indexOf('user-scalable=no') !== -1) {
return true;
}
// Chrome 32 and above with width=device-width or less don't need FastClick
if (chromeVersion > 31 && document.documentElement.scrollWidth <= window.outerWidth) {
return true;
}
}
// Chrome desktop doesn't need FastClick (issue #15)
} else {
return true;
}
}
if (deviceIsBlackBerry10) {
blackberryVersion = navigator.userAgent.match(/Version\/([0-9]*)\.([0-9]*)/);
// BlackBerry 10.3+ does not require Fastclick library.
// https://github.com/ftlabs/fastclick/issues/251
if (blackberryVersion[1] >= 10 && blackberryVersion[2] >= 3) {
metaViewport = document.querySelector('meta[name=viewport]');
if (metaViewport) {
// user-scalable=no eliminates click delay.
if (metaViewport.content.indexOf('user-scalable=no') !== -1) {
return true;
}
// width=device-width (or less than device-width) eliminates click delay.
if (document.documentElement.scrollWidth <= window.outerWidth) {
return true;
}
}
}
}
// IE10 with -ms-touch-action: none or manipulation, which disables double-tap-to-zoom (issue #97)
if (layer.style.msTouchAction === 'none' || layer.style.touchAction === 'manipulation') {
return true;
}
// Firefox version - zero for other browsers
firefoxVersion = +(/Firefox\/([0-9]+)/.exec(navigator.userAgent) || [,0])[1];
if (firefoxVersion >= 27) {
// Firefox 27+ does not have tap delay if the content is not zoomable - https://bugzilla.mozilla.org/show_bug.cgi?id=922896
metaViewport = document.querySelector('meta[name=viewport]');
if (metaViewport && (metaViewport.content.indexOf('user-scalable=no') !== -1 || document.documentElement.scrollWidth <= window.outerWidth)) {
return true;
}
}
// IE11: prefixed -ms-touch-action is no longer supported and it's recomended to use non-prefixed version
// http://msdn.microsoft.com/en-us/library/windows/apps/Hh767313.aspx
if (layer.style.touchAction === 'none' || layer.style.touchAction === 'manipulation') {
return true;
}
return false;
};
/**
* Factory method for creating a FastClick object
*
* @param {Element} layer The layer to listen on
* @param {Object} [options={}] The options to override the defaults
*/
FastClick.attach = function(layer, options) {
return new FastClick(layer, options);
};
if (typeof define === 'function' && typeof define.amd === 'object' && define.amd) {
// AMD. Register as an anonymous module.
define(function() {
return FastClick;
});
} else if (typeof module !== 'undefined' && module.exports) {
module.exports = FastClick.attach;
module.exports.FastClick = FastClick;
} else {
window.FastClick = FastClick;
}
document.addEventListener('DOMContentLoaded', function() {
FastClick.attach(document.body);
}, false);
}());
/**
* mui.ajaxRequest
* 封装mui.ajax请求,调用方式与一致
*/
(function($, doc) {
// var baseUrl = "http://192.168.31.200:8888/medicinal-web" // 测试地址//
// var baseUrl = "http://192.168.31.223:8080/medicinal-web" // 测试地址/
// var baseUrl = 'http://116.62.143.29:8088/medicinal-web'; // 线上地址2(快)
// var baseUrl = 'http://10.146.8.221:9002/medicinal-web'; // 合肥测试环境
// var baseUrl = 'http://zesghq.natappfree.cc/medicinal-web';
// var baseUrl = 'http://10.146.159.113:8888/medicinal-web'; // 个人测试地址
// var baseUrl = 'http://192.168.3.3:8080/medicinal-web';
// var baseUrl = 'http://61.190.54.189:9001/medicinal-web';
// var baseUrl = 'http://192.168.2.154:8080/medicinal-web';
// var baseUrl = 'http://192.168.2.111:8080/medicinal-web';
// var baseUrl = 'http://192.168.2.111:8080/medicinal-web';
// var baseUrl = 'http://10.146.9.50:8080/medicinal-web';//
var baseUrl = 'http://10.146.9.50:8080/medicinal-web';//合肥正式环境
// var baseUrl = 'http://10.146.159.176:8080/medicinal-web';//
// var baseUrl = 'http://192.168.0.104:8080/medicinal-web';
mui.extend({
ajaxRequest: function(url , options){
var defaults = commonDefaules(options);
var options = mui.extend(defaults, options);
options.beforeSend = defaults.onBeforeSend;
options.success = defaults.onSuccess;
options.error = defaults.onError;
mui.ajax(baseUrl+url , options);
}
})
function commonDefaules(options){
//默认参数定义
var defaults = {
dataType: "json",
type: "post",
timeout: 15000,
wait: true,
xhrFields: {
withCredentials: true // 携带 cookie
},
contentType: "application/x-www-form-urlencoded",
waitMessage: "努力奔跑中,等等我...",
onBeforeSend : function(xhr){
if(options.showWaiting){
plus.nativeUI.showWaiting('加载中......');
}
if(defaults.wait == true){
showLoading(defaults.waitMessage);
}
if(options.beforeSend){
options.beforeSend(xhr);
}
},
onSuccess : function(data){
if(options.showWaiting){
plus.nativeUI.closeWaiting();
}
if(defaults.wait == true){
hideLoading();
}
//也可用于后台验证失败时的提示信息
if(data && data.result && (data.result === "input")){
plus.nativeUI.alert(data.message , function(){} , "提示:" , "取消");
return;
}
if(options.success){
options.success(data);
}
},
onError : function(a , b , c){
mui.toast("网络异常,请稍候再试",{ type: 'div' });
if(options.showWaiting){
plus.nativeUI.closeWaiting();
}
hideLoading();
mui.openWindow({
url: "login/index.html",
id: "login/index.html",
extras: {
mark: "index" //额外的参数,仅仅是个标识,实际开发中不用;
}
});
if(options.error){
options.error(a , b , c);
}
}
};
return defaults;
}
function showLoading(msg){
plus.nativeUI.showWaiting(msg , {
/*round: "1px", //圆角*/
style: "white",
back:"none",//不响应返回按钮事件
background: "#66CDAA",
/*background:"rgba(110,120,50,1)",*/
loading:{
display:"inline" ,
icon:"/images/waiting.png"
}
});
}
function hideLoading(){
plus.nativeUI.closeWaiting();
}
}(mui, document));
\ No newline at end of file
/*! art-template@4.13.0 for browser | https://github.com/aui/art-template */
!function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t():"function"==typeof define&&define.amd?define([],t):"object"==typeof exports?exports.template=t():e.template=t()}("undefined"!=typeof self?self:this,function(){return function(e){function t(r){if(n[r])return n[r].exports;var i=n[r]={i:r,l:!1,exports:{}};return e[r].call(i.exports,i,i.exports,t),i.l=!0,i.exports}var n={};return t.m=e,t.c=n,t.d=function(e,n,r){t.o(e,n)||Object.defineProperty(e,n,{configurable:!1,enumerable:!0,get:r})},t.n=function(e){var n=e&&e.__esModule?function(){return e["default"]}:function(){return e};return t.d(n,"a",n),n},t.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},t.p="",t(t.s=6)}([function(e,t,n){(function(t){e.exports=!1;try{e.exports="[object process]"===Object.prototype.toString.call(t.process)}catch(n){}}).call(t,n(4))},function(e,t,n){"use strict";var r=n(8),i=n(3),o=n(23),s=function(e,t){t.onerror(e,t);var n=function(){return"{Template Error}"};return n.mappings=[],n.sourcesContent=[],n},a=function u(e){var t=arguments.length>1&&arguments[1]!==undefined?arguments[1]:{};"string"!=typeof e?t=e:t.source=e,t=i.$extend(t),e=t.source,!0===t.debug&&(t.cache=!1,t.minimize=!1,t.compileDebug=!0),t.compileDebug&&(t.minimize=!1),t.filename&&(t.filename=t.resolveFilename(t.filename,t));var n=t.filename,a=t.cache,c=t.caches;if(a&&n){var l=c.get(n);if(l)return l}if(!e)try{e=t.loader(n,t),t.source=e}catch(v){var f=new o({name:"CompileError",path:n,message:"template not found: "+v.message,stack:v.stack});if(t.bail)throw f;return s(f,t)}var p=void 0,h=new r(t);try{p=h.build()}catch(f){if(f=new o(f),t.bail)throw f;return s(f,t)}var m=function(e,n){try{return p(e,n)}catch(f){if(!t.compileDebug)return t.cache=!1,t.compileDebug=!0,u(t)(e,n);if(f=new o(f),t.bail)throw f;return s(f,t)()}};return m.mappings=p.mappings,m.sourcesContent=p.sourcesContent,m.toString=function(){return p.toString()},a&&n&&c.set(n,m),m};a.Compiler=r,e.exports=a},function(e,t){Object.defineProperty(t,"__esModule",{value:!0}),t["default"]=/((['"])(?:(?!\2|\\).|\\(?:\r\n|[\s\S]))*(\2)?|`(?:[^`\\$]|\\[\s\S]|\$(?!\{)|\$\{(?:[^{}]|\{[^}]*\}?)*\}?)*(`)?)|(\/\/.*)|(\/\*(?:[^*]|\*(?!\/))*(\*\/)?)|(\/(?!\*)(?:\[(?:(?![\]\\]).|\\.)*\]|(?![\/\]\\]).|\\.)+\/(?:(?!\s*(?:\b|[\u0080-\uFFFF$\\'"~({]|[+\-!](?!=)|\.?\d))|[gmiyu]{1,5}\b(?![\u0080-\uFFFF$\\]|\s*(?:[+\-*%&|^<>!=?({]|\/(?![\/*])))))|(0[xX][\da-fA-F]+|0[oO][0-7]+|0[bB][01]+|(?:\d*\.\d+|\d+\.?)(?:[eE][+-]?\d+)?)|((?!\d)(?:(?!\s)[$\w\u0080-\uFFFF]|\\u[\da-fA-F]{4}|\\u\{[\da-fA-F]+\})+)|(--|\+\+|&&|\|\||=>|\.{3}|(?:[+\-\/%&|^]|\*{1,2}|<{1,2}|>{1,3}|!=?|={1,2})=?|[?~.,:;[\](){}])|(\s+)|(^$|[\s\S])/g,t.matchToToken=function(e){var t={type:"invalid",value:e[0]};return e[1]?(t.type="string",t.closed=!(!e[3]&&!e[4])):e[5]?t.type="comment":e[6]?(t.type="comment",t.closed=!!e[7]):e[8]?t.type="regex":e[9]?t.type="number":e[10]?t.type="name":e[11]?t.type="punctuator":e[12]&&(t.type="whitespace"),t}},function(e,t,n){"use strict";function r(){this.$extend=function(e){return e=e||{},s(e,e instanceof r?e:this)}}var i=n(0),o=n(12),s=n(13),a=n(14),u=n(15),c=n(16),l=n(17),f=n(18),p=n(19),h=n(20),m=n(22),v={source:null,filename:null,rules:[p,f],escape:!0,debug:!!i&&"production"!==process.env.NODE_ENV,bail:!0,cache:!0,minimize:!0,compileDebug:!1,resolveFilename:m,include:a,htmlMinifier:h,htmlMinifierOptions:{collapseWhitespace:!0,minifyCSS:!0,minifyJS:!0,ignoreCustomFragments:[]},onerror:u,loader:l,caches:c,root:"/",extname:".art",ignore:[],imports:o};r.prototype=v,e.exports=new r},function(e,t){var n;n=function(){return this}();try{n=n||Function("return this")()||(0,eval)("this")}catch(r){"object"==typeof window&&(n=window)}e.exports=n},function(e,t){},function(e,t,n){"use strict";var r=n(7),i=n(1),o=n(24),s=function(e,t){return t instanceof Object?r({filename:e},t):i({filename:e,source:t})};s.render=r,s.compile=i,s.defaults=o,e.exports=s},function(e,t,n){"use strict";var r=n(1),i=function(e,t,n){return r(e,n)(t)};e.exports=i},function(e,t,n){"use strict";function r(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function i(e){if(Array.isArray(e)){for(var t=0,n=Array(e.length);t<e.length;t++)n[t]=e[t];return n}return Array.from(e)}function o(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}var s=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),a=n(9),u=n(11),c="$data",l="$imports",f="print",p="include",h="extend",m="block",v="$$out",d="$$line",g="$$blocks",y="$$slice",b="$$from",x="$$options",w=function(e,t){return Object.hasOwnProperty.call(e,t)},k=JSON.stringify,E=function(){function e(t){var n,s,a=this;o(this,e);var w=t.source,k=t.minimize,E=t.htmlMinifier;if(this.options=t,this.stacks=[],this.context=[],this.scripts=[],this.CONTEXT_MAP={},this.ignore=[c,l,x].concat(i(t.ignore)),this.internal=(n={},r(n,v,"''"),r(n,d,"[0,0]"),r(n,g,"arguments[1]||{}"),r(n,b,"null"),r(n,f,"function(){var s=''.concat.apply('',arguments);"+v+"+=s;return s}"),r(n,p,"function(src,data){var s="+x+".include(src,data||"+c+",arguments[2]||"+g+","+x+");"+v+"+=s;return s}"),r(n,h,"function(from){"+b+"=from}"),r(n,y,"function(c,p,s){p="+v+";"+v+"='';c();s="+v+";"+v+"=p+s;return s}"),r(n,m,"function(){var a=arguments,s;if(typeof a[0]==='function'){return "+y+"(a[0])}else if("+b+"){if(!"+g+"[a[0]]){"+g+"[a[0]]="+y+"(a[1])}else{"+v+"+="+g+"[a[0]]}}else{s="+g+"[a[0]];if(typeof s==='string'){"+v+"+=s}else{s="+y+"(a[1])}return s}}"),n),this.dependencies=(s={},r(s,f,[v]),r(s,p,[v,x,c,g]),r(s,h,[b,p]),r(s,m,[y,b,v,g]),s),this.importContext(v),t.compileDebug&&this.importContext(d),k)try{w=E(w,t)}catch(T){}this.source=w,this.getTplTokens(w,t.rules,this).forEach(function(e){e.type===u.TYPE_STRING?a.parseString(e):a.parseExpression(e)})}return s(e,[{key:"getTplTokens",value:function(){return u.apply(undefined,arguments)}},{key:"getEsTokens",value:function(e){return a(e)}},{key:"getVariables",value:function(e){var t=!1;return e.filter(function(e){return"whitespace"!==e.type&&"comment"!==e.type}).filter(function(e){return"name"===e.type&&!t||(t="punctuator"===e.type&&"."===e.value,!1)}).map(function(e){return e.value})}},{key:"importContext",value:function(e){var t=this,n="",r=this.internal,i=this.dependencies,o=this.ignore,s=this.context,a=this.options,u=a.imports,f=this.CONTEXT_MAP;w(f,e)||-1!==o.indexOf(e)||(w(r,e)?(n=r[e],w(i,e)&&i[e].forEach(function(e){return t.importContext(e)})):n="$escape"===e||"$each"===e||w(u,e)?l+"."+e:c+"."+e,f[e]=n,s.push({name:e,value:n}))}},{key:"parseString",value:function(e){var t=e.value;if(t){var n=v+"+="+k(t);this.scripts.push({source:t,tplToken:e,code:n})}}},{key:"parseExpression",value:function(e){var t=this,n=e.value,r=e.script,i=r.output,o=this.options.escape,s=r.code;i&&(s=!1===o||i===u.TYPE_RAW?v+"+="+r.code:v+"+=$escape("+r.code+")");var a=this.getEsTokens(s);this.getVariables(a).forEach(function(e){return t.importContext(e)}),this.scripts.push({source:n,tplToken:e,code:s})}},{key:"checkExpression",value:function(e){for(var t=[[/^\s*}[\w\W]*?{?[\s;]*$/,""],[/(^[\w\W]*?\([\w\W]*?(?:=>|\([\w\W]*?\))\s*{[\s;]*$)/,"$1})"],[/(^[\w\W]*?\([\w\W]*?\)\s*{[\s;]*$)/,"$1}"]],n=0;n<t.length;){if(t[n][0].test(e)){var r;e=(r=e).replace.apply(r,i(t[n]));break}n++}try{return new Function(e),!0}catch(o){return!1}}},{key:"build",value:function(){var e=this.options,t=this.context,n=this.scripts,r=this.stacks,i=this.source,o=e.filename,s=e.imports,a=[],f=w(this.CONTEXT_MAP,h),m=0,y=function(e,t){var n=t.line,i=t.start,o={generated:{line:r.length+m+1,column:1},original:{line:n+1,column:i+1}};return m+=e.split(/\n/).length-1,o},E=function(e){return e.replace(/^[\t ]+|[\t ]$/g,"")};r.push("function("+c+"){"),r.push("'use strict'"),r.push(c+"="+c+"||{}"),r.push("var "+t.map(function(e){return e.name+"="+e.value}).join(",")),e.compileDebug?(r.push("try{"),n.forEach(function(e){e.tplToken.type===u.TYPE_EXPRESSION&&r.push(d+"=["+[e.tplToken.line,e.tplToken.start].join(",")+"]"),a.push(y(e.code,e.tplToken)),r.push(E(e.code))}),r.push("}catch(error){"),r.push("throw {"+["name:'RuntimeError'","path:"+k(o),"message:error.message","line:"+d+"[0]+1","column:"+d+"[1]+1","source:"+k(i),"stack:error.stack"].join(",")+"}"),r.push("}")):n.forEach(function(e){a.push(y(e.code,e.tplToken)),r.push(E(e.code))}),f&&(r.push(v+"=''"),r.push(p+"("+b+","+c+","+g+")")),r.push("return "+v),r.push("}");var T=r.join("\n");try{var O=new Function(l,x,"return "+T)(s,e);return O.mappings=a,O.sourcesContent=[i],O}catch(P){for(var j=0,$=0,_=0,S=void 0;j<n.length;){var C=n[j];if(!this.checkExpression(C.code)){$=C.tplToken.line,_=C.tplToken.start,S=C.code;break}j++}throw{name:"CompileError",path:o,message:P.message,line:$+1,column:_+1,source:i,generated:S,stack:P.stack}}}}]),e}();E.CONSTS={DATA:c,IMPORTS:l,PRINT:f,INCLUDE:p,EXTEND:h,BLOCK:m,OPTIONS:x,OUT:v,LINE:d,BLOCKS:g,SLICE:y,FROM:b,ESCAPE:"$escape",EACH:"$each"},e.exports=E},function(e,t,n){"use strict";var r=n(10),i=n(2)["default"],o=n(2).matchToToken,s=function(e){return e.match(i).map(function(e){return i.lastIndex=0,o(i.exec(e))}).map(function(e){return"name"===e.type&&r(e.value)&&(e.type="keyword"),e})};e.exports=s},function(e,t,n){"use strict";var r={"abstract":!0,await:!0,"boolean":!0,"break":!0,"byte":!0,"case":!0,"catch":!0,"char":!0,"class":!0,"const":!0,"continue":!0,"debugger":!0,"default":!0,"delete":!0,"do":!0,"double":!0,"else":!0,"enum":!0,"export":!0,"extends":!0,"false":!0,"final":!0,"finally":!0,"float":!0,"for":!0,"function":!0,"goto":!0,"if":!0,"implements":!0,"import":!0,"in":!0,"instanceof":!0,"int":!0,"interface":!0,"let":!0,"long":!0,"native":!0,"new":!0,"null":!0,"package":!0,"private":!0,"protected":!0,"public":!0,"return":!0,"short":!0,"static":!0,"super":!0,"switch":!0,"synchronized":!0,"this":!0,"throw":!0,"transient":!0,"true":!0,"try":!0,"typeof":!0,"var":!0,"void":!0,"volatile":!0,"while":!0,"with":!0,"yield":!0};e.exports=function(e){return r.hasOwnProperty(e)}},function(e,t,n){"use strict";function r(e){var t=new String(e.value);return t.line=e.line,t.start=e.start,t.end=e.end,t}function i(e,t,n){this.type=e,this.value=t,this.script=null,n?(this.line=n.line+n.value.split(/\n/).length-1,this.line===n.line?this.start=n.end:this.start=n.value.length-n.value.lastIndexOf("\n")-1):(this.line=0,this.start=0),this.end=this.start+this.value.length}var o=function(e,t){for(var n=arguments.length>2&&arguments[2]!==undefined?arguments[2]:{},o=[new i("string",e)],s=0;s<t.length;s++)for(var a=t[s],u=a.test.ignoreCase?"ig":"g",c=new RegExp(a.test.source,u),l=0;l<o.length;l++){var f=o[l],p=o[l-1];if("string"===f.type){for(var h=void 0,m=0,v=[],d=f.value;null!==(h=c.exec(d));)h.index>m&&(p=new i("string",d.slice(m,h.index),p),v.push(p)),p=new i("expression",h[0],p),h[0]=r(p),p.script=a.use.apply(n,h),v.push(p),m=h.index+h[0].length;m<d.length&&(p=new i("string",d.slice(m),p),v.push(p)),o.splice.apply(o,[l,1].concat(v)),l+=v.length-1}}return o};o.TYPE_STRING="string",o.TYPE_EXPRESSION="expression",o.TYPE_RAW="raw",o.TYPE_ESCAPE="escape",e.exports=o},function(e,t,n){"use strict";(function(t){function r(e){return"string"!=typeof e&&(e=e===undefined||null===e?"":"function"==typeof e?r(e.call(e)):JSON.stringify(e)),e}function i(e){var t=""+e,n=a.exec(t);if(!n)return e;var r="",i=void 0,o=void 0,s=void 0;for(i=n.index,o=0;i<t.length;i++){switch(t.charCodeAt(i)){case 34:s="&#34;";break;case 38:s="&#38;";break;case 39:s="&#39;";break;case 60:s="&#60;";break;case 62:s="&#62;";break;default:continue}o!==i&&(r+=t.substring(o,i)),o=i+1,r+=s}return o!==i?r+t.substring(o,i):r}/*! art-template@runtime | https://github.com/aui/art-template */
var o=n(0),s=Object.create(o?t:window),a=/["&'<>]/;s.$escape=function(e){return i(r(e))},s.$each=function(e,t){if(Array.isArray(e))for(var n=0,r=e.length;n<r;n++)t(e[n],n);else for(var i in e)t(e[i],i)},e.exports=s}).call(t,n(4))},function(e,t,n){"use strict";var r=Object.prototype.toString,i=function(e){return null===e?"Null":r.call(e).slice(8,-1)},o=function s(e,t){var n=void 0,r=i(e);if("Object"===r?n=Object.create(t||{}):"Array"===r&&(n=[].concat(t||[])),n){for(var o in e)Object.hasOwnProperty.call(e,o)&&(n[o]=s(e[o],n[o]));return n}return e};e.exports=o},function(e,t,n){"use strict";var r=function(e,t,r,i){var o=n(1);return i=i.$extend({filename:i.resolveFilename(e,i),bail:!0,source:null}),o(i)(t,r)};e.exports=r},function(e,t,n){"use strict";var r=function(e){console.error(e.name,e.message)};e.exports=r},function(e,t,n){"use strict";var r={__data:Object.create(null),set:function(e,t){this.__data[e]=t},get:function(e){return this.__data[e]},reset:function(){this.__data={}}};e.exports=r},function(e,t,n){"use strict";var r=n(0),i=function(e){if(r){return n(5).readFileSync(e,"utf8")}var t=document.getElementById(e);return t.value||t.innerHTML};e.exports=i},function(e,t,n){"use strict";var r={test:/{{([@#]?)[ \t]*(\/?)([\w\W]*?)[ \t]*}}/,use:function(e,t,n,i){var o=this,s=o.options,a=o.getEsTokens(i),u=a.map(function(e){return e.value}),c={},l=void 0,f=!!t&&"raw",p=n+u.shift(),h=function(t,n){console.warn((s.filename||"anonymous")+":"+(e.line+1)+":"+(e.start+1)+"\nTemplate upgrade: {{"+t+"}} -> {{"+n+"}}")};switch("#"===t&&h("#value","@value"),p){case"set":i="var "+u.join("").trim();break;case"if":i="if("+u.join("").trim()+"){";break;case"else":var m=u.indexOf("if");~m?(u.splice(0,m+1),i="}else if("+u.join("").trim()+"){"):i="}else{";break;case"/if":i="}";break;case"each":l=r._split(a),l.shift(),"as"===l[1]&&(h("each object as value index","each object value index"),l.splice(1,1));i="$each("+(l[0]||"$data")+",function("+(l[1]||"$value")+","+(l[2]||"$index")+"){";break;case"/each":i="})";break;case"block":l=r._split(a),l.shift(),i="block("+l.join(",").trim()+",function(){";break;case"/block":i="})";break;case"echo":p="print",h("echo value","value");case"print":case"include":case"extend":if(0!==u.join("").trim().indexOf("(")){l=r._split(a),l.shift(),i=p+"("+l.join(",")+")";break}default:if(~u.indexOf("|")){var v=a.reduce(function(e,t){var n=t.value,r=t.type;return"|"===n?e.push([]):"whitespace"!==r&&"comment"!==r&&(e.length||e.push([]),":"===n&&1===e[e.length-1].length?h("value | filter: argv","value | filter argv"):e[e.length-1].push(t)),e},[]).map(function(e){return r._split(e)});i=v.reduce(function(e,t){var n=t.shift();return t.unshift(e),"$imports."+n+"("+t.join(",")+")"},v.shift().join(" ").trim())}f=f||"escape"}return c.code=i,c.output=f,c},_split:function(e){e=e.filter(function(e){var t=e.type;return"whitespace"!==t&&"comment"!==t});for(var t=0,n=e.shift(),r=/\]|\)/,i=[[n]];t<e.length;){var o=e[t];"punctuator"===o.type||"punctuator"===n.type&&!r.test(n.value)?i[i.length-1].push(o):i.push([o]),n=o,t++}return i.map(function(e){return e.map(function(e){return e.value}).join("")})}};e.exports=r},function(e,t,n){"use strict";var r={test:/<%(#?)((?:==|=#|[=-])?)[ \t]*([\w\W]*?)[ \t]*(-?)%>/,use:function(e,t,n,r){return n={"-":"raw","=":"escape","":!1,"==":"raw","=#":"raw"}[n],t&&(r="/*"+r+"*/",n=!1),{code:r,output:n}}};e.exports=r},function(e,t,n){"use strict";function r(e){if(Array.isArray(e)){for(var t=0,n=Array(e.length);t<e.length;t++)n[t]=e[t];return n}return Array.from(e)}var i=n(0),o=function(e,t){if(i){var o,s=n(21).minify,a=t.htmlMinifierOptions,u=t.rules.map(function(e){return e.test});(o=a.ignoreCustomFragments).push.apply(o,r(u)),e=s(e,a)}return e};e.exports=o},function(e,t){!function(e){e.noop=function(){}}("object"==typeof e&&"object"==typeof e.exports?e.exports:window)},function(e,t,n){"use strict";var r=n(0),i=/^\.+\//,o=function(e,t){if(r){var o=n(5),s=t.root,a=t.extname;if(i.test(e)){var u=t.filename,c=!u||e===u,l=c?s:o.dirname(u);e=o.resolve(l,e)}else e=o.resolve(s,e);o.extname(e)||(e+=a)}return e};e.exports=o},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function i(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function o(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}function s(e){var t=e.name,n=e.source,r=e.path,i=e.line,o=e.column,s=e.generated,a=e.message;if(!n)return a;var u=n.split(/\n/),c=Math.max(i-3,0),l=Math.min(u.length,i+3),f=u.slice(c,l).map(function(e,t){var n=t+c+1;return(n===i?" >> ":" ")+n+"| "+e}).join("\n");return(r||"anonymous")+":"+i+":"+o+"\n"+f+"\n\n"+t+": "+a+(s?"\n generated: "+s:"")}var a=function(e){function t(e){r(this,t);var n=i(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,e.message));return n.name="TemplateError",n.message=s(e),Error.captureStackTrace&&Error.captureStackTrace(n,n.constructor),n}return o(t,e),t}(Error);e.exports=a},function(e,t,n){"use strict";e.exports=n(3)}])});
\ No newline at end of file
function Utils() {
}
Utils.prototype.appendModule = function(selector) {
var module = document.querySelector(selector).import.querySelector('script');
document.querySelector('head').appendChild(module);
}
/**
* @params [String] linkSelector 导入模板link id
* @params [String] tplId 模板id
* @params [String] innerSelector 插入html dom
* @params [Object] data 数据
* @params [bool] insertType 数据插入(true: html Append, false: html replace )
* @params [function] callback 回调方法
*/
Utils.prototype.innerTplHtml = function(tplId, innerSelector ,data, insertType ,callback) {
var html = template(tplId, data);
// console.log(tplId,innerSelector,data,insertType)
if (html) {
if(!insertType){
document.querySelector(innerSelector).innerHTML = html;
}else{
if(document.querySelector(innerSelector).querySelector('.mui-pull-bottom-tips')){
var node = document.querySelector(innerSelector).querySelector('.mui-pull-bottom-tips')
document.querySelector(innerSelector).removeChild(node);
}
html = document.querySelector(innerSelector).innerHTML + html;
document.querySelector(innerSelector).innerHTML = html;
}
}
if (typeof callback === 'function')
callback();
}
\ No newline at end of file
{
"@platforms" : [ "android", "iPhone", "iPad" ],
"id" : "H569465D3", /*应用的标识,创建应用时自动生成,勿手动修改*/
"name" : "spd-药品物流管理系统", /*应用名称,程序桌面图标名称*/
"version" : {
"name" : "1.0.4", /*应用版本名称*/
"code" : "83"
},
"description" : "", /*应用描述信息*/
"icons" : {
"72" : "icon.png"
},
"launch_path" : "container/index.html", /*应用的入口页面,默认为根目录下的index.html;支持网络地址,必须以http://或https://开头*/
"developer" : {
"name" : "", /*开发者名称*/
"email" : "", /*开发者邮箱地址*/
"url" : "http://www.dcloud.io"
},
"permissions" : {
"Cache" : {
"description" : "管理应用缓存"
},
"Console" : {
"description" : "跟踪调试输出日志"
},
"Events" : {
"description" : "应用扩展事件"
}
},
"plus" : {
"splashscreen" : {
"autoclose" : true, /*是否自动关闭程序启动界面,true表示应用加载应用入口页面后自动关闭;false则需调plus.navigator.closeSplashscreen()关闭*/
"waiting" : false,"delay":"2500"
},
"runmode" : "liberate", /*应用的首次启动运行模式,可取liberate或normal,liberate模式在第一次启动时将解压应用资源(Android平台File API才可正常访问_www目录)*/
"signature" : "Sk9JTiBVUyBtYWlsdG86aHIyMDEzQGRjbG91ZC5pbw==", /*可选,保留给应用签名,暂不使用*/
"distribute" : {
"apple" : {
"appid" : "", /*iOS应用标识,苹果开发网站申请的appid,如io.dcloud.HelloH5*/
"mobileprovision" : "", /*iOS应用打包配置文件*/
"password" : "", /*iOS应用打包个人证书导入密码*/
"p12" : "", /*iOS应用打包个人证书,打包配置文件关联的个人证书*/
"devices" : "universal", /*iOS应用支持的设备类型,可取值iphone/ipad/universal*/
"frameworks" : []
},
"google" : {
"packagename" : "", /*Android应用包名,如io.dcloud.HelloH5*/
"keystore" : "", /*Android应用打包使用的密钥库文件*/
"password" : "", /*Android应用打包使用密钥库中证书的密码*/
"aliasname" : "", /*Android应用打包使用密钥库中证书的别名*/
"permissions" : ["<uses-permission android:name=\"android.permission.RECORD_AUDIO\"/>","<uses-permission android:name=\"com.android.launcher.permission.INSTALL_SHORTCUT\"/>","<uses-permission android:name=\"android.permission.MODIFY_AUDIO_SETTINGS\"/>","<uses-permission android:name=\"android.permission.VIBRATE\"/>","<uses-permission android:name=\"android.permission.WAKE_LOCK\"/>","<uses-permission android:name=\"android.permission.FLASHLIGHT\"/>","<uses-permission android:name=\"android.permission.CALL_PHONE\"/>","<uses-feature android:name=\"android.hardware.camera.autofocus\"/>","<uses-feature android:name=\"android.hardware.camera\"/>","<uses-permission android:name=\"com.android.launcher.permission.UNINSTALL_SHORTCUT\"/>","<uses-permission android:name=\"android.permission.CAMERA\"/>"]
},
"orientation" : [ "portrait-primary", "portrait-secondary" ], /*应用支持的方向,portrait-primary:竖屏正方向;portrait-secondary:竖屏反方向;landscape-primary:横屏正方向;landscape-secondary:横屏反方向*/
"icons" : {
"ios" : {
"prerendered" : true, /*应用图标是否已经高亮处理,在iOS6及以下设备上有效*/
/*应用图标,分辨率:512x512,用于自动生成各种尺寸程序图标*/
"iphone" : {
"normal" : "", /*iPhone普通屏幕程序图标,分辨率:57x57*/
"retina" : "", /*iPhone高分屏程序图标,分辨率:114x114*/
/*iPhone iOS7高分屏程序图标,分辨率:120x120*/
"spotlight-normal" : "", /*iPhone Spotlight搜索程序图标,分辨率:29x29*/
"spotlight-retina" : "", /*iPhone高分屏Spotlight搜索程序图标,分辨率:58x58*/
/*iPhone iOS7高分屏Spotlight搜索程序图标,分辨率:80x80*/
"settings-normal" : "", /*iPhone设置页面程序图标,分辨率:29x29*/
"app@2x":"unpackage/res/icons/120x120.png","app@3x":"unpackage/res/icons/180x180.png","settings@3x":"unpackage/res/icons/87x87.png","settings@2x":"unpackage/res/icons/58x58.png","spotlight@2x":"unpackage/res/icons/80x80.png","spotlight@3x":"unpackage/res/icons/120x120.png","notification@3x":"unpackage/res/icons/60x60.png","notification@2x":"unpackage/res/icons/40x40.png"
},
"ipad" : {
"normal" : "", /*iPad普通屏幕程序图标,分辨率:72x72*/
"retina" : "", /*iPad高分屏程序图标,分辨率:144x144*/
/*iPad iOS7程序图标,分辨率:76x76*/
/*iPad iOS7高分屏程序图标,分辨率:152x152*/
"spotlight-normal" : "", /*iPad Spotlight搜索程序图标,分辨率:50x50*/
"spotlight-retina" : "", /*iPad高分屏Spotlight搜索程序图标,分辨率:100x100*/
/*iPad iOS7 Spotlight搜索程序图标,分辨率:40x40*/
/*iPad iOS7高分屏Spotlight搜索程序图标,分辨率:80x80*/
/*iPad设置页面程序图标,分辨率:29x29*/
"app":"unpackage/res/icons/76x76.png","app@2x":"unpackage/res/icons/152x152.png","settings":"unpackage/res/icons/29x29.png","proapp@2x":"unpackage/res/icons/167x167.png","spotlight":"unpackage/res/icons/40x40.png","settings@2x":"unpackage/res/icons/58x58.png","spotlight@2x":"unpackage/res/icons/80x80.png","notification":"unpackage/res/icons/20x20.png","notification@2x":"unpackage/res/icons/40x40.png"
},"appstore":"unpackage/res/icons/1024x1024.png"
},
"android" : {
"mdpi" : "unpackage/res/icons/48x48.png", /*普通屏程序图标,分辨率:48x48*/
"ldpi" : "unpackage/res/icons/48x48.png", /*大屏程序图标,分辨率:48x48*/
"hdpi" : "unpackage/res/icons/72x72.png", /*高分屏程序图标,分辨率:72x72*/
"xhdpi" : "unpackage/res/icons/96x96.png", /*720P高分屏程序图标,分辨率:96x96*/
"xxhdpi" : "unpackage/res/icons/144x144.png","xxxhdpi":"unpackage/res/icons/192x192.png"
}
},
"splashscreen" : {
"ios" : {
"iphone" : {
"default" : "", /*iPhone3启动图片选,分辨率:320x480*/
"retina35" : "", /*3.5英寸设备(iPhone4)启动图片,分辨率:640x960*/
"retina40" : ""
},
"ipad" : {
"portrait" : "C:/Users/w9292/Desktop/start.png", /*iPad竖屏启动图片,分辨率:768x1004*/
/*iPad高分屏竖屏图片,分辨率:1536x2008*/
"landscape" : "", /*iPad横屏启动图片,分辨率:1024x748*/
/*iPad高分屏横屏启动图片,分辨率:2048x1496*/
"portrait7" : "", /*iPad iOS7竖屏启动图片,分辨率:768x1024*/
"portrait-retina7" : "", /*iPad iOS7高分屏竖屏图片,分辨率:1536x2048*/
"landscape7" : "", /*iPad iOS7横屏启动图片,分辨率:1024x768*/
"landscape-retina7" : ""
}
},
"android" : {
"mdpi" : "", /*普通屏启动图片,分辨率:240x282*/
"ldpi" : "", /*大屏启动图片,分辨率:320x442*/
"hdpi" : "assest/start-480x762.png", /*高分屏启动图片,分辨率:480x762*/
"xhdpi" : "assest/start720x1242.png", /*720P高分屏启动图片,分辨率:720x1242*/
"xxhdpi" : "assest/start-1080x1882.png"
}
}
},"adid":"124744180309"
},
"dependencies": {
"pages": {
"container/acceptance/acc_list.html": {
"resources": [],
"refer": [
"container/acceptance/acc_detail.html",
"container/acceptance/acc_batch.html",
"container/result/index.html",
"container/commonPages/searchPage.html"
],
"priority": 0
},
"container/acceptance/index.html": {
"resources": [],
"refer": [
"container/acceptance/acc_list.html",
"container/commonPages/qrcode.html",
"container/commonPages/searchPage.html",
"container/acceptance/acc_detail.html",
"container/acceptance/acc_not_list.html"
],
"priority": 0
},
"container/home/index.html": {
"resources": [
"js/utils.js",
"css/home.css",
"js/mui.pullToRefresh.js",
"js/common.js",
"js/mui.pullToRefresh.material.js",
"js/template-web.js",
"js/request.js",
"js/mui.js",
"tpl/message.html"
],
"refer": [
"container/pickingOff/index.html",
"container/home/tips.html",
"container/acceptance/index.html",
"container/grounding/index.html",
"container/stockQuery/index.html",
"container/check/index.html",
"container/home/profile.html",
"container/commonPages/qrcode.html",
"container/basicMedicine/index.html"
],
"priority": 0
},
"container/grounding/index.html": {
"resources": [],
"refer": [
"container/grounding/ground_list.html",
"container/commonPages/qrcode.html",
"container/commonPages/searchPage.html",
"container/commonPages/searchCode.html",
"container/grounding/ground_not_list.html"
],
"priority": 0
},
"container/grounding/ground_list.html": {
"resources": [],
"refer": [
"container/grounding/ground_detail.html",
"container/grounding/ground_batch.html",
"container/result/index.html",
"container/commonPages/searchPage.html"
],
"priority": 0
},
"container/pickingOff/index.html": {
"resources": [],
"refer": [
"container/pickingOff/pickingOffList.html",
"container/commonPages/qrcode.html",
"container/commonPages/searchPage.html",
"container/pickingOff/pickingOffListUn.html"
],
"priority": 0
},
"container/stockQuery/index.html": {
"resources": [],
"refer": [
"container/stockQuery/details.html",
"container/commonPages/searchPage.html"
],
"priority": 0
},
"container/check/index.html": {
"resources": [
"container/check/subIndex.html"
],
"refer": [
"container/check/checkList.html",
"container/check/index.html"
],
"priority": 0
},
"container/check/checkList.html": {
"resources": [],
"refer": [
"container/check/checkDetails.html"
],
"priority": 0
},
"container/acceptance/acc_detail.html": {
"resources": [],
"refer": [
"container/Result/index.html",
"container/result/index.html"
],
"priority": 0
},
"container/pickingOff/pickingOffList.html": {
"resources": [],
"refer": [
"container/pickingOff/pickingOffDetails.html",
"container/pickingOff/picking_batch.html",
"container/result/index.html",
"container/commonPages/searchPage.html"
],
"priority": 0
},
"container/login/login.html": {
"resources": [],
"refer": [
"container/login/main.html",
"container/login/forget_password.html",
"container/login/reg.html",
"container/home/index.html"
],
"priority": 0
},
"container/guide.html": {
"resources": [],
"refer": [
"container/login/login.html",
"container/login/index.html"
],
"priority": 0
},
"container/login/index.html": {
"resources": [],
"refer": [
"container/home/index.html"
],
"priority": 0
},
"container/index.html": {
"resources": [],
"refer": [
"container/guide.html",
"container/login/index.html"
],
"priority": 0
},
"container/commonPages/qrcode.html": {
"resources": [],
"refer": [
"container/acceptance/acc_list.html"
],
"priority": 0
},
"container/acceptance/acc_batch.html": {
"resources": [],
"refer": [
"container/result/index.html"
],
"priority": 0
},
"container/grounding/ground_batch.html": {
"resources": [],
"refer": [
"container/result/index.html"
],
"priority": 0
},
"container/pickingOff/picking_batch.html": {
"resources": [],
"refer": [
"container/result/index.html"
],
"priority": 0
},
"container/pickingOff/pickingOffDetails.html": {
"resources": [],
"refer": [
"container/result/index.html"
],
"priority": 0
},
"container/check/checkDetails.html": {
"resources": [],
"refer": [
"container/result/index.html"
],
"priority": 0
},
"container/grounding/ground_detail.html": {
"resources": [],
"refer": [
"container/result/index.html"
],
"priority": 0
},
"container/basicMedicine/index.html": {
"resources": [],
"refer": [
"container/basicMedicine/acc_list.html",
"container/basicMedicine/basic_acc_list.html"
],
"priority": 0
},
"container/basicMedicine/acc_list.html": {
"resources": [],
"refer": [
"container/basicMedicine/acc_detail.html",
"container/basicMedicine/basic_acc_batch.html",
"container/commonPages/searchPage.html"
],
"priority": 0
},
"container/basicMedicine/acc_detail.html": {
"resources": [],
"refer": [
"container/result/index.html"
],
"priority": 0
},
"container/basicMedicine/basic_acc_list.html": {
"resources": [],
"refer": [
"container/commonPages/searchPage.html"
],
"priority": 0
},
"container/home/profile.html": {
"resources": [],
"refer": [
"container/login/index.html"
],
"priority": 0
},
"container/acceptance/acc_not_list.html": {
"resources": [],
"refer": [
"container/acceptance/acc_detail.html",
"container/commonPages/searchPage.html",
"container/acceptance/acc_batch.html"
],
"priority": 0
},
"container/grounding/ground_not_list.html": {
"resources": [],
"refer": [
"container/grounding/ground_detail.html",
"container/grounding/ground_batch.html",
"container/commonPages/searchPage.html"
],
"priority": 0
},
"container/pickingOff/pickingOffListUn.html": {
"resources": [],
"refer": [
"container/commonPages/searchPage.html"
],
"priority": 0
}
},
"idle": {
"resources": [
"tpl/ground_card.html",
"container/check/list_tpl.html",
"container/acceptance/detail_tpl.html",
"container/grounding/list_tpl.html",
"tpl/list.html",
"tpl/tips.html",
"container/pickingOff/list_tpl.html",
"images/icon_query.png",
"tpl/check_card.html",
"tpl/pickOff_card_index.html",
"tpl/acceptance_card.html",
"fonts/mui.ttf",
"images/icon_check_before_acceptance.png",
"container/stockQuery/details_view.html",
"assest/success.svg",
"css/mui.css",
"images/icon_inventory.png",
"container/check/detail_tpl.html",
"index.html",
"images/icon_grounding.png",
"css/themes.css",
"css/index_view.css",
"container/grounding/detail_tpl.html",
"container/Result/success_tpl.html",
"js/mui.min.js",
"images/icon_lower_frame.png",
"container/pickingOff/detail_tpl.html",
"tpl/stockQuery_card.html",
"css/check.css",
"test2.html",
"container/acceptance/list_tpl.html",
"css/mui.min.css"
]
}
}
}
<script type="text/html" id='acceptance'>
{{ each list value i}}
<div class="am-card scrollList-item am-card-full"
data-distributeCode="{{ value.distributeCode ? value.distributeCode: '--' }}"
data-orderCode="{{ value.orderCode ? value.orderCode: '--' }}"
data-statusName="{{ value.statusName ? value.statusName: '--' }}"
data-acceptType="{{ value.type }}"
data-typeName="{{ value.typeName ? value.typeName: "--" }}"
data-supplierName="{{ value.supplierName ? value.supplierName: '--' }}"
data-deptAddress="{{ value.deptAddress ? value.deptAddress: '--' }}"
data-isUsual="{{ value.isUsual }}"
>
<div class="am-card-header">
<div class="am-card-header-content">
<span style="font-size: 18px; color: rgb(51, 51, 51); font-weight: bold;">
{{ value.checkType === 1 ? value.supplierName: value.deptName }}</span>
</div>
<div class="am-card-header-extra">
<span>{{ value.typeName }}</span>
<span style="margin: 0 8px">{{ value.statusName }}</span>
</div>
</div>
<div class="am-card-body">
<div class="am-flexbox am-flexbox-align-center">
<div class="am-flexbox-item">
<span>{{ value.checkType === 1 || value.checkType === 3 ? '配送/验收单:': '验收单:' }}</span>
<span>{{ value.distributeCode }}</span>
</div>
<div class="am-flexbox-item">
<span class="mui-badge mui-badge-warning badge">{{value.checkAcceptDetailsItemsCount?value.checkAcceptDetailsItemsCount:0}}</span>
</div>
<!--<div class="am-flexbox-item">
品相数:<span>{{ value.total }}</span>
</div>-->
</div>
<div class="am-flexbox am-flexbox-align-center">
<div class="am-flexbox-item">
订单号:<span>{{ value.orderCode }}</span>
<!--配送/验收单:<span>{{ value.orderCode }}</span>-->
</div>
<div class="am-flexbox-item">
制单时间:<span>{{ value.createDate }}</span>
</div>
</div>
</div>
</div>
<div style="background-color: #f5f5f9; height: 6px;">
</div>
{{/each}}
</script>
\ No newline at end of file
<!--盘点 yuwei-->
<script type="text/html" id='check_list'>
{{ each list value i}}
<div class="am-card scrollList-item am-card-full"
data-checkBillNo="{{ value.checkBillNo ? value.checkBillNo: '--' }}"
data-checkBillTypeName="{{ value.checkBillTypeName ? value.checkBillTypeName: '--' }}"
data-checkBillDeptName="{{ value.checkBillDeptName ? value.checkBillDeptName: '--' }}"
data-createUserName="{{ value.createUserName ? value.createUserName: '--' }}"
data-createDate="{{ value.createDate ? value.createDate.split(' ').join('|'): '--' }}"
data-sheveUserName="{{ value.sheveUserName ? value.sheveUserName: '--' }}"
data-updateDate="{{ value.updateDate ? value.updateDate: '--' }}"
data-checkStatus="{{ value.checkStatus ? value.checkStatus: '--' }}"
>
<div class="am-card-header">
<div class="am-card-header-content">
<span style="font-size: 16px; color: rgb(51, 51, 51); font-weight: bold;">
盘点单号: {{ value.checkBillNo }}</span>
</div>
<div class="am-card-header-extra">
<span> {{ value.checkBillTypeName }} </span>
<span style="margin: 0 8px;">{{ value.checkStatusName }}</span>
</div>
</div>
<div class="am-card-body">
<div class="am-flexbox am-flexbox-align-center">
<div class="am-flexbox-item">
制单时间:<span>{{ value.createDate }}</span>
</div>
<div class="am-flexbox-itexm">
盘点责任人:<span>{{ value.createUserName }}</span>
</div>
</div>
<div class="am-flexbox am-flexbox-align-center">
<div class="am-flexbox-item">
盘点时间:<span>{{ value.checkTime }}</span>
</div>
</div>
</div>
</div>
<div style="background-color: #f5f5f9; height: 6px;">
</div>
{{/each}}
</script>
\ No newline at end of file
<script type="text/html" id='ground'>
{{ each list value i}}
<div class="am-card scrollList-item am-card-full"
data-distributeCode="{{ value.distributeCode }}" "
data-receptionTime="{{ value.receptionTime ? value.receptionTime.split(' ').join('|'): '--' }}"
data-statusName="{{ value.statusName ? value.statusName: '--' }}"
data-updateDate="{{ value.updateDate ? value.updateDate.split(' ').join('|'): '--' }}"
data-createName="{{ value.createName ? value.createName: '--'}}"
data-upUserDate="{{ value.upUserDate ? value.upUserDate.split(' ').join('|'): '--' }}"
>
<div class="am-card-header">
<div class="am-card-header-content">
<span style="font-size: 16px; color: rgb(51, 51, 51); font-weight: bold;">
上架单号: {{ value.distributeCode }}</span>
</div>
<div class="am-card-header-extra" style="text-align:left">
<span class="mui-badge mui-badge-warning badge">{{value.checkAcceptDetailsItemsCount?value.checkAcceptDetailsItemsCount:0}}</span>
</div>
<div class="am-card-header-extra">
<span>{{ value.statusName }} </span>
<!--{{ if hasGrounding }}
<span class="hasGround ground-tag">已上架</span>
{{ else }}
<span class="before-ground ground-tag">待上架</span>
{{ /if }}-->
</div>
</div>
<div class="am-card-body" style='padding: 12px 15px;'>
<div class="am-flexbox am-flexbox-align-center">
<div class="am-flexbox-item">
验收时间:<span>{{ value.receptionTime }}</span>
</div>
<!--<div class="am-flexbox-item">
品相数:<span>{{ value.total }}</span>
</div>-->
</div>
</div>
</div>
<div style="background-color: #f5f5f9; height: 6px;">
</div>
{{/each}}
<!--<div class="mui-pull-bottom-tips">
<div class="mui-pull-bottom-wrapper">
<span class="mui-pull-loading">上拉显示更多</span>
</div>
</div>-->
</script>
\ No newline at end of file
<script type="text/html" id="demo">
<h1>{{title}}</h1>
<ul class="mui-table-view">
{{each list value i}}
<li class="mui-table-view-cell" data-type = "">
<a class="mui-navigate-right">索引 {{i + 1}} {{value}}</a></li>
{{/each}}
</ul>
</script>
\ No newline at end of file
<script type="text/html" id="message-tpl">
{{each list value i}}
<li class="mui-table-view-cell mui-media message-detail" data-id = "{{value.id}}" data-title="{{ value.meassage }}" data-tipDate="{{ value.createDate }}">
<a class="mui-navigate-right">
<div class="mui-media-body">
<div class="title">{{ value.meassage }}</div>
<p class='mui-ellipsis'> {{ value.createDate }} </p>
</div>
</a>
</li>
{{/each}}
</script>
<!--拣货下架 - index - yuwei-->
<script type="text/html" id='pick_list'>
{{ each list value i}}
<div class="am-card scrollList-item am-card-full"
data-pickingOrderNo="{{ value.pickingOrderNo }}"
data-deptName="{{ value.deptName?value.deptName: '--' }}"
data-statusName="{{ value.statusName ? value.statusName: '--' }}"
data-updateDate="{{ value.updateDate ? value.updateDate.split(' ').join('|'): '--' }}"
data-pickingUserName="{{ value.pickingUserName ? value.pickingUserName: '--' }}"
data-applyOrderNo="{{ value.applyOrderNo ? value.applyOrderNo: '' }}"
>
<div class="am-card-header">
<div class="am-card-header-content">
<span style="font-size: 16px; color: rgb(51, 51, 51); font-weight: bold;">
拣货单号: {{ value.pickingOrderNo}}</span>
</div>
<div class="am-card-header-extra" style="text-align:left">
<span class="mui-badge mui-badge-warning badge">{{value.pickingDetailItemCount?value.pickingDetailItemCount:0}}</span>
</div>
<div class="am-card-header-extra">
<span>{{ value.type }}</span>
<span style='margin-left: "8px";'>{{ value.statusName }} </span>
<!--{{ if picking }}
<span class="hasGround ground-tag">已拣货</span>
{{ else }}
<span class="before-ground ground-tag">待拣货</span>
{{ /if }}-->
</div>
</div>
<div class="am-card-body">
<div class="am-flexbox am-flexbox-align-center">
<div class="am-flexbox-item">
发起时间:<span>{{ value.createDate }}</span>
</div>
<!--<div class="am-flexbox-item">
品项数:<span>{{ value.total }}</span>
</div>-->
</div>
</div>
</div>
<div style="background-color: #f5f5f9; height: 6px;">
</div>
{{/each}}
</script>
\ No newline at end of file
<script type="text/html" id='stock'>
{{ each list value i}}
<div class="am-card scrollList-item am-card-full"
data-hisDrugCode="{{ value.hisDrugCode }}"
data-drugCode="{{ value.drugCode }}"
>
<div class="am-card-header">
<div class="am-card-header-content">
<span style="font-size: 18px; color: rgb(51, 51, 51); font-weight: bold;">
{{ value.ctmmGenericName }}</span>
</div>
<div class="am-card-header-extra">
<span class="font-danger">{{ value.type }}</span>
</div>
</div>
<div class="am-card-body">
<div class="am-flexbox am-flexbox-align-center">
<div class="am-flexbox-item">
单位:<span>{{ value.replanUnit }}</span>
</div>
<div class="am-flexbox-item">
规格:<span>{{ value.ctmmSpecification }}</span>
</div>
</div>
<div class="am-flexbox am-flexbox-align-center">
<div class="am-flexbox-item">
数量:<span class="font-danger">{{ value.usableQuantity }}</span>
</div>
{{if value.limitNum}}
<div class="am-flexbox-item">
近效期数量:<span class="font-danger">{{ value.limitNum }}</span>
</div>
{{/if}}
</div>
</div>
</div>
<div style="background-color: #f5f5f9; height: 6px;">
</div>
{{/each}}
</script>
\ No newline at end of file
<script type="text/html" id="tips-tpl">
<div class="main-title">
<div class="tip-title">{{ title }}</div>
<div class="tip-date">{{ tipdate }}</div>
</div>
{{ each list value i}}
<ul class="mui-table-view">
<li class="mui-table-view-cell">
<div class="mui-input-row">
<label>商品名称</label>
<p class="detailRow_content">{{ value.ctmmTradeName }}</p>
</div>
</li>
<li class="mui-table-view-cell">
<div class="mui-input-row">
<label>通用名称</label>
<p class="detailRow_content">{{ value.ctmmGenericName}}</p>
</div>
</li>
<li class="mui-table-view-cell">
<div class="mui-input-row">
<label>规格</label>
<p class="detailRow_content">{{ value.ctmmSpecification }}</p>
</div>
</li>
<li class="mui-table-view-cell">
<div class="mui-input-row">
<label>剂型</label>
<p class="detailRow_content">{{ value.ctmmDosageFormDesc }}</p>
</div>
</li>
<li class="mui-table-view-cell">
<div class="mui-input-row">
<label>生产厂家</label>
<p class="detailRow_content">{{ value.ctmmManufacturerName }}</p>
</div>
</li>
<li class="mui-table-view-cell">
<div class="mui-input-row">
<label>包装规格</label>
<p class="detailRow_content">{{ value.packageSpecification }}</p>
</div>
</li>
<li class="mui-table-view-cell">
<div class="mui-input-row">
<label>单位</label>
<p class="detailRow_content">{{ value.unit }}</p>
</div>
</li>
{{ if remindType === 'usefulDate' }}
<li class="mui-table-view-cell">
<div class="mui-input-row">
<label>生产批号</label>
<p class="detailRow_content">{{ value.lot }}</p>
</div>
</li>
<li class="mui-table-view-cell">
<div class="mui-input-row">
<label>生产日期</label>
<p class="detailRow_content">{{ value.productDate }}</p>
</div>
</li>
<li class="mui-table-view-cell">
<div class="mui-input-row">
<label>有效期至</label>
<p class="detailRow_content">{{ value.validEndDate }}</p>
</div>
</li>
{{ else }}
<li class="mui-table-view-cell">
<div class="mui-input-row">
<label>当前库存</label>
<p class="detailRow_content">{{ value.usableQuantity }}</p>
</div>
</li>
<li class="mui-table-view-cell">
<div class="mui-input-row">
<label>库存上限</label>
<p class="detailRow_content">{{ value.upperQuantity }}</p>
</div>
</li>
<li class="mui-table-view-cell">
<div class="mui-input-row">
<label>库存下限</label>
<p class="detailRow_content">{{ value.downQuantity }}</p>
</div>
</li>
{{ /if }}
</ul>
{{ /each }}
</script>
{
"container/acceptance/acc_list.html": {
"refer": [
"container/acceptance/acc_detail.html",
"container/acceptance/acc_batch.html",
"container/result/index.html",
"container/commonPages/searchPage.html"
],
"resources": []
},
"container/acceptance/index.html": {
"refer": [
"container/acceptance/acc_list.html",
"container/commonPages/qrcode.html",
"container/commonPages/searchPage.html",
"container/acceptance/acc_detail.html",
"container/acceptance/acc_not_list.html"
],
"resources": []
},
"container/home/index.html": {
"refer": [
"container/pickingOff/index.html",
"container/home/tips.html",
"container/acceptance/index.html",
"container/grounding/index.html",
"container/stockQuery/index.html",
"container/check/index.html",
"container/home/profile.html",
"container/commonPages/qrcode.html",
"container/basicMedicine/index.html"
],
"resources": [
"js/utils.js",
"css/home.css",
"js/mui.pullToRefresh.js",
"js/common.js",
"js/mui.pullToRefresh.material.js",
"js/template-web.js",
"js/request.js",
"js/mui.js",
"tpl/message.html"
]
},
"container/grounding/index.html": {
"refer": [
"container/grounding/ground_list.html",
"container/commonPages/qrcode.html",
"container/commonPages/searchPage.html",
"container/commonPages/searchCode.html",
"container/grounding/ground_not_list.html"
],
"resources": []
},
"container/grounding/ground_list.html": {
"refer": [
"container/grounding/ground_detail.html",
"container/grounding/ground_batch.html",
"container/result/index.html",
"container/commonPages/searchPage.html"
],
"resources": []
},
"container/pickingOff/index.html": {
"refer": [
"container/pickingOff/pickingOffList.html",
"container/commonPages/qrcode.html",
"container/commonPages/searchPage.html",
"container/pickingOff/pickingOffListUn.html"
],
"resources": []
},
"container/stockQuery/index.html": {
"refer": [
"container/stockQuery/details.html",
"container/commonPages/searchPage.html"
],
"resources": []
},
"container/check/index.html": {
"refer": [
"container/check/checkList.html",
"container/check/subIndex.html",
"container/check/index.html"
],
"resources": [
"container/check/subIndex.html"
]
},
"container/check/checkList.html": {
"refer": [
"container/check/checkDetails.html"
],
"resources": []
},
"container/acceptance/acc_detail.html": {
"refer": [
"container/Result/index.html",
"container/result/index.html"
],
"resources": []
},
"container/pickingOff/pickingOffList.html": {
"refer": [
"container/pickingOff/pickingOffDetails.html",
"container/pickingOff/picking_batch.html",
"container/result/index.html",
"container/commonPages/searchPage.html"
],
"resources": []
},
"container/login/login.html": {
"refer": [
"container/login/main.html",
"container/login/forget_password.html",
"container/login/reg.html",
"container/home/index.html"
],
"resources": []
},
"container/guide.html": {
"refer": [
"container/login/login.html",
"container/login/index.html"
],
"resources": []
},
"container/login/index.html": {
"refer": [
"container/home/index.html"
],
"resources": []
},
"container/index.html": {
"refer": [
"container/guide.html",
"container/login/index.html"
],
"resources": []
},
"container/commonPages/qrcode.html": {
"refer": [
"container/acceptance/acc_list.html"
]
},
"container/acceptance/acc_batch.html": {
"refer": [
"container/result/index.html"
]
},
"container/grounding/ground_batch.html": {
"refer": [
"container/result/index.html"
]
},
"container/pickingOff/picking_batch.html": {
"refer": [
"container/result/index.html"
]
},
"container/pickingOff/pickingOffDetails.html": {
"refer": [
"container/result/index.html"
]
},
"container/check/checkDetails.html": {
"refer": [
"container/result/index.html"
]
},
"container/grounding/ground_detail.html": {
"refer": [
"container/result/index.html"
]
},
"container/basicMedicine/index.html": {
"refer": [
"container/basicMedicine/acc_list.html",
"container/basicMedicine/basic_acc_list.html"
]
},
"container/basicMedicine/acc_list.html": {
"refer": [
"container/basicMedicine/acc_detail.html",
"container/basicMedicine/basic_acc_batch.html",
"container/commonPages/searchPage.html"
]
},
"container/basicMedicine/acc_detail.html": {
"refer": [
"container/result/index.html"
]
},
"container/basicMedicine/basic_acc_list.html": {
"refer": [
"container/commonPages/searchPage.html"
]
},
"container/home/profile.html": {
"refer": [
"container/login/index.html"
]
},
"container/acceptance/acc_not_list.html": {
"refer": [
"container/acceptance/acc_detail.html",
"container/commonPages/searchPage.html",
"container/acceptance/acc_batch.html"
]
},
"container/grounding/ground_not_list.html": {
"refer": [
"container/grounding/ground_detail.html",
"container/grounding/ground_batch.html",
"container/commonPages/searchPage.html"
]
},
"container/pickingOff/pickingOffListUn.html": {
"refer": [
"container/commonPages/searchPage.html"
]
}
}
\ No newline at end of file
{"js/common.js":{},"js/mui.js":{},"js/mui.min.js":{},"js/mui.pullToRefresh.js":{},"js/mui.pullToRefresh.material.js":{},"js/qrcode.js":{},"js/template-web.js":{},"js/utils.js":{}}
\ No newline at end of file
null
\ No newline at end of file
Styling with Markdown is supported
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!