| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088108910901091109210931094109510961097109810991100110111021103110411051106110711081109111011111112111311141115111611171118111911201121112211231124112511261127112811291130113111321133113411351136113711381139114011411142114311441145114611471148114911501151115211531154115511561157115811591160116111621163116411651166116711681169117011711172117311741175117611771178117911801181118211831184118511861187118811891190119111921193119411951196119711981199120012011202 |
- /*+++++通用函数脚本++++++++*/
- var colorBackground = "#243f6d"; // 3255ee
- var colorBackground01 = "#243f6dDD"; // 3255ee
- var colorTitle = "#FFFFFF";
- var colorLine = "#00323af1";
- var eChartsResetTime = 50000; //统计图表重制时间周期
- /* +++++++++++屏幕适配++++++++++ */
- var PageSize = {
- smartSize: 600,
- middleSize: 1400,
- }
- /**
- * APP 获取GPS位置
- * @param {Object} callback 成功获取后回调
- */
- function plusGetLocation(callback) {
- mui.plusReady(function() {
- //获取位置信息
- plus.geolocation.getCurrentPosition(function(position) {
- var lng = position.coords.longitude;
- var lat = position.coords.latitude;
- // callback(lat, lng);
- callback(35.159, 118.203)
- }, function(e) {
- mui.alert(e.message);
- }, {
- provider: 'system',
- coordsType: 'wgs84',
- geocode: false,
- enableHighAccuracy: true, //这个布尔值用来表明应用是否使用其最高精度来表示结果。如果值为 true ,同时设备能够提供一个更精确的位置,那么设备就会使用这个位置
- maximumAge: 0, //它表明可以返回多长时间(即最长年龄,单位毫秒)内的可获取的缓存位置。如果设置为 0, 说明设备不能使用一个缓存位置
- });
- });
- }
- /* 方向监听标识Id */
- let watchOrientationId = undefined;
- /**
- * 开启方向变化监听
- * @param {Function} callChange 变化回调callChange(角度)
- */
- function plusOrientationListenerOn(callChange) {
- mui.plusReady(function() {
- watchOrientationId = plus.orientation.watchOrientation(function(o) {
- // console.log("精度指标 = " + o.headingAccuracy);
- if (callChange) callChange(o.trueHeading);
- }, function(err) {
- console.log("方向错误 = " + e.message);
- }, {
- frequency: 100,
- });
- })
- }
- /**
- * 关闭方向监听
- * @param {Function} callCompletion 完成回到callCompletion()
- */
- function plusOrientationListenerOff(callCompletion) {
- if (watchOrientationId) {
- plus.orientation.clearWatch(watchOrientationId);
- watchOrientationId = undefined;
- if (callCompletion) callCompletion();
- }
- }
- /* GPS位置监听 */
- let watchGpsId = undefined;
- /**
- * 开启GPS位置变化监听
- * @param {Function} callChange GPS位置变化回调callChange(纬度,经度);
- */
- function plusGPSListenerOn(callChange) {
- mui.plusReady(function() {
- watchGpsId = plus.geolocation.watchPosition(function(p) {
- if (callChange) callChange(p.coords.latitude, p.coords.longitude);
- }, function(err) {
- console.log('定位错误 = ' + err.message);
- }, {
- provider: 'system',
- coordsType: 'wgs84',
- geocode: false,
- enableHighAccuracy: true, //这个布尔值用来表明应用是否使用其最高精度来表示结果。如果值为 true ,同时设备能够提供一个更精确的位置,那么设备就会使用这个位置
- maximumAge: 0, //它表明可以返回多长时间(即最长年龄,单位毫秒)内的可获取的缓存位置。如果设置为 0, 说明设备不能使用一个缓存位置
- });
- })
- }
- /**
- * 关闭GPS位置监听
- * @param {Function} callCompletion 完成回到callCompletion()
- */
- function plusGPSListenerOff(callCompletion) {
- if (watchGpsId) {
- plus.geolocation.clearWatch(watchGpsId);
- watchGpsId = undefined;
- if (callCompletion) callCompletion();
- }
- }
- /**
- * 加载顶部导航栏
- * @param {Object} title 导航栏标题
- * @param {Object} showBackButton 导航栏是否具备返回按钮
- */
- function plusSetNavbar(title, showBackButton) {
- var ws = plus.webview.currentWebview();
- //设置导航条
- ws.setStyle({
- "titleNView": {
- backgroundColor: colorBackground,
- titleText: title,
- titleColor: colorTitle,
- autoBackButton: showBackButton,
- splitLine: {
- color: colorLine
- }
- }
- });
- }
- /**
- * 加载顶部导航栏
- * @param {Object} title 导航栏标题
- * @param {Object} showBackButton 导航栏是否具备返回按钮
- */
- function plusSetNavbarRef(title, showBackButton, callback) {
- var ws = plus.webview.currentWebview();
- //设置导航条
- ws.setStyle({
- "titleNView": {
- backgroundColor: colorBackground,
- titleText: title,
- titleColor: colorTitle,
- autoBackButton: showBackButton,
- splitLine: {
- color: colorLine
- },
- buttons: [{
- 'float': 'right',
- fontSrc: '../fonts/iconfont.ttf',
- text: '\ueb73',
- onclick: callback,
- }]
- }
- });
- }
- /**
- * UIWebView加载完成 大多数方法建议放到此处运行
- * @param {Object} callback
- */
- function UIView_DidLoad(callback) {
- mui.plusReady(function() {
- // var self = plus.webview.currentWebview();
- // //添加显示监听
- // self.addEventListener('show', function() {
- callback();
- // });
- });
- }
- /**
- * 输出控制台消息
- * @param {Object} msg 消息内容
- */
- function printToConsole(msg) {
- console.log(msg);
- }
- /**
- * 日期格式化
- * @param {Object} fmt 格式化字符串
- */
- Date.prototype.Format = function(fmt) {
- var o = {
- "M+": this.getMonth() + 1, //月份
- "d+": this.getDate(), //日
- "H+": this.getHours(), //小时
- "m+": this.getMinutes(), //分
- "s+": this.getSeconds(), //秒
- "q+": Math.floor((this.getMonth() + 3) / 3), //季度
- "S": this.getMilliseconds() //毫秒
- };
- if (/(y+)/.test(fmt)) fmt = fmt.replace(RegExp.$1, (this.getFullYear() + "").substr(4 - RegExp.$1.length));
- for (var k in o)
- if (new RegExp("(" + k + ")").test(fmt)) fmt = fmt.replace(RegExp.$1, (RegExp.$1.length == 1) ? (o[k]) : ((
- "00" + o[
- k]).substr(("" + o[k]).length)));
- return fmt;
- }
- /**
- * @param {JSON} options 图片路径
- * path{string}:图片路径
- * lable{string}:文字描述
- * click{function}:回调函数
- */
- function createBigMenu(options) {
- var li = document.createElement("li");
- li.className = 'mui-table-view-cell mui-media mui-col-xs-3 mui-col-sm-3';
- var liHtml = "";
- liHtml += "<div class='cr-menu-panel'>";
- liHtml += "<img src='" + options.path + "'>";
- liHtml += "<span>" + options.label + "</span>";
- liHtml += "</div>";
- li.innerHTML = liHtml;
- if (options.click != undefined) li.onclick = function() {
- options.click();
- };
- return li;
- }
- /**
- * @param {JSON} options 图片路径
- * path{string}:图片路径
- * lable{string}:文字描述
- * click{function}:回调函数
- */
- function createSmartMenu(options) {
- var li = document.createElement("li");
- li.className = 'mui-table-view-cell mui-media mui-col-xs-3 mui-col-sm-3';
- var liHtml = "";
- liHtml += "<div class='cr-menu-smart-panel'>";
- liHtml += "<img src='" + options.path + "'>";
- liHtml += "<span>" + options.label + "</span>";
- liHtml += "</div>";
- li.innerHTML = liHtml;
- if (options.click != undefined) {
- li.onclick = function() {
- options.click('options');
- };
- }
- return li;
- }
- /**
- * 创建菜单Html
- * @param {JSON} options 图片路径
- * path{string}:图片路径
- * lable{string}:文字描述
- * click{function}:回调函数
- */
- function createSmartMenuHtml(options) {
- var menuHtml = "<li class='mui-table-view-cell mui-media mui-col-xs-3 mui-col-sm-3'";
- if (options.idx != undefined) {
- menuHtml += " idx='" + options.idx + "'";
- }
- menuHtml += " onclick='" + options.click + "()'>";
- menuHtml += "<div class='cr-menu-smart-panel'>";
- menuHtml += "<img src='" + options.path + "'>";
- menuHtml += "<span>" + options.label + "</span>";
- menuHtml += "</div>";
- menuHtml += "</li>";
- return menuHtml;
- }
- /**
- * 创建并打开页面
- * @param {JSON} options 配置项
- * htmlPath{string}:页面路径
- * top{number/undefined 可选项}:窗口距离顶端高度
- * bottom{number/undefined 可选项}:窗口距离底部高度
- * backgroundColor{color 可选项}:导航栏背景色
- * lineColor{color 可选项}:导航栏底框颜色
- * title{string}:导航栏标题
- * statusbar:{boolean 可选项}:状态栏是否透明
- * extras{JSON 可选项}:传递参数
- * showSlide{string 可选项}:动画方式 slide-in-bottom
- * isShow{boolean}:是否默认显示
- */
- function createAndOpenPage(options) {
- var viewId = options.id == undefined ? options.htmlPath : options.id;
- UIView_DidLoad(function() {
- var pageConfig = {
- "titleNView": {
- backgroundColor: options.backgroundColor == undefined ? colorBackground : options
- .backgroundColor,
- titleColor: options.titleColor == undefined ? colorTitle : options.titleColor,
- autoBackButton: options.autoback == undefined ? false : options.autoback,
- titleText: options.title,
- splitLine: {
- color: options.lineColor == undefined ? colorLine : options.lineColor,
- }
- },
- top: options.top == undefined ? '0' : options.top,
- bottom: options.bottom == undefined ? '0' : options.bottom,
- contentAdjust: false
- }
- /* 判断是否增加了按钮配置 */
- if (options.buttons != undefined) {
- pageConfig.titleNView.buttons = options.buttons;
- }
- /* 配置sttusbar 主要是为了配置任务栏的背景色 */
- if (options.statusbar != undefined && !options.statusbar) {
- pageConfig.statusbar = {
- background: colorBackground,
- }
- }
- /* 判断是否设置了高度 */
- if (options.height != undefined) {
- pageConfig.height = options.height;
- }
- /* 根据是否传参决定采用何种方式加载 */
- var subPage = undefined;
- if (options.extras != undefined) {
- subPage = plus.webview.create(options.htmlPath, viewId, pageConfig, options.extras);
- } else {
- subPage = plus.webview.create(options.htmlPath, viewId, pageConfig);
- }
- // subPage.addEventListener('show', function() {
- // subPage.evalJS('pageFirstShow()');
- // }, false);
- subPage.onloaded = function(e) {
- if (options.onloaded != undefined) options.onloaded(subPage);
- }
- /* 是否显示 */
- if (options.isShow == undefined || options.isShow == true) {
- /* 显示动画 */
- if (options.showSlide == undefined) {
- subPage.show('slide-in-right', 300);
- } else {
- subPage.show(options.showSlide, 300);
- }
- } else {
- subPage.hide();
- }
- if (options.success != undefined) options.success(subPage);
- });
- }
- /**
- * 获取值 对0值进行特殊处理
- * @param {string} strValue 字符串或其他
- */
- function getEChartsValue(strValue) {
- var value = parseFloat(strValue)
- if (value == 0) {
- return 0.1;
- } else {
- return value;
- }
- }
- /**
- * 验证Ip地址
- * @param {string} ip 输入的ip地址
- */
- function isValidIP(ip) {
- var reg =
- /^(\d{1,2}|1\d\d|2[0-4]\d|25[0-5])\.(\d{1,2}|1\d\d|2[0-4]\d|25[0-5])\.(\d{1,2}|1\d\d|2[0-4]\d|25[0-5])\.(\d{1,2}|1\d\d|2[0-4]\d|25[0-5])$/
- return reg.test(ip);
- }
- /**
- * 验证Com端口号
- * @param {string} com 输入的com端口号
- */
- function isValidCom(com) {
- var reg =
- /^(\d{4,4})$/
- return reg.test(com);
- }
- /**
- * 验证电话号码
- * @param {string} phoneNumber 输入的电话号码
- */
- function isValidPhone(phoneNumber) {
- var reg =
- /^(\d{11,11})$/
- return reg.test(phoneNumber);
- }
- /**
- * 获取配置信息
- * @param {function} callback 回调函数
- */
- function getConfigInfo(callback) {
- mui.plusReady(function() {
- plus.runtime.getProperty(plus.runtime.appid, function(info) {
- plus.io.resolveLocalFileSystemURL('_www/manifest.json', function(entry) {
- entry.file(function(file) {
- var fileReader = new plus.io.FileReader();
- fileReader.readAsText(file, 'utf-8');
- fileReader.onloadend = function(evt) {
- var data = JSON.parse(evt.target.result);
- if (callback != undefined) {
- callback({
- appid: info.appid,
- version: info.version,
- versionCode: info.versionCode,
- name: info.name,
- devName: data.developer.name,
- devUrl: data.developer.url,
- devEmail: data.developer.email,
- devPhone: data.developer.phone,
- devTel: data.developer.tel,
- devCopyright: data.developer.copyright,
- })
- }
- }
- }, function(err) {
- printToConsole("读取文件错误:" + JSON.stringify(err));
- });
- }, function(err) {
- printToConsole("获取文件错误:" + JSON.stringify(err));
- });
- });
- });
- }
- /**
- * 生成随机颜色
- * @param {Array} red [0~255,0~255]
- * @param {Array} green [0~255,0~255]
- * @param {Array} blue [0~255,0~255]
- * return rgb(r,g,b)
- */
- function randomRgbColor(red, green, blue) { //随机生成RGB颜色
- var rStart = red[1] - red[0];
- var gStart = green[1] - green[0];
- var bStart = blue[1] - blue[0];
- var r = Math.floor(Math.random() * rStart + red[0]); //随机生成256以内r值
- var g = Math.floor(Math.random() * gStart + green[0]); //随机生成256以内g值
- var b = Math.floor(Math.random() * bStart + blue[0]); //随机生成256以内b值
- var color = 'rgb(' + r + ',' + g + ',' + b + ')';
- return color; //返回rgb(r,g,b)格式颜色
- }
- /**
- * 显示顶部日期+时间
- */
- var strDate = '';
- /**
- * 内部函数
- * 显示当前日期和时间
- */
- function _showTopTime() {
- /* 修改展示方式 */
- var strDay = new Date().Format('dd');
- var strYearAndMonth = new Date().Format('yyyy.MM')
- var strYear = new Date().Format('yyyy')
- var strMonth = new Date().Format('MM')
- var strDay = new Date().Format('dd')
- var china = calendar.solar2lunar(strYear, strMonth, strDay);
- var chinaDay = " 农历" + china.Animal + "年" + china.IMonthCn + china.IDayCn + " " + china.ncWeek;
- var time = new Date().Format('HH:mm:ss');
- var timeHtml = "";
- timeHtml += "<span>" + strDay + "</span>";
- timeHtml += "<span>" + strYearAndMonth + "</span>";
- timeHtml += "<span>" + chinaDay + "</span>";
- timeHtml += "<span>" + time + "</span>";
- $('.topTime').html(timeHtml);
- }
- /**
- * 开始显示日期
- */
- function beginShowTime() {
- _showTopTime();
- window.setInterval(_showTopTime, 1000);
- }
- /**
- * 创建轮播项
- * @param {string} imgPath 图片路径
- * @param {boolean} isFistOrLast 是否是第一项或最后一项
- */
- function _createSliderItemHtml(imgPath, isFistOrLast) {
- var divHtml = "";
- if (isFistOrLast) {
- divHtml += "<div class='mui-slider-item mui-slider-item-duplicate'>";
- } else {
- divHtml += "<div class='mui-slider-item'>";
- }
- divHtml += "<a href='#'>";
- divHtml += "<img src='" + imgPath + "'/>";
- divHtml += "</a>";
- divHtml += "</div>";
- return divHtml;
- }
- /**
- * 根据图片路径数组初始化轮播内容
- * @param {string} sliderId 轮播容器Id
- * @param {Array} sliderImages 轮播图片路径数组
- */
- function _initSliderContent(sliderId, sliderImages) {
- var sliderHtml = ""; //轮播内容
- var indicatorHtml = ""; //轮播指示器内容
- /* 额外增加的一个节点(循环轮播:第一个节点是最后一张轮播) */
- sliderHtml += _createSliderItemHtml(sliderImages[sliderImages.length - 1], true);
- for (var i = 0; i < sliderImages.length; i++) {
- sliderHtml += _createSliderItemHtml(sliderImages[i], false);
- if (i === 0) indicatorHtml += "<div class='mui-indicator mui-active'></div>";
- else indicatorHtml += "<div class='mui-indicator'></div>";
- }
- /* 额外增加的一个节点(循环轮播:最后一个节点是第一张轮播) */
- sliderHtml += _createSliderItemHtml(sliderImages[0], false);
- /* 组合展示 */
- var strHtml = "<div class='mui-slider-group mui-slider-loop'>";
- strHtml += sliderHtml;
- strHtml += "</div>";
- strHtml += "<div class='mui-slider-indicator'>";
- strHtml += indicatorHtml;
- strHtml += "</div>";
- $("#" + sliderId).html(strHtml);
- }
- /**
- * 启动图片轮播
- * @param {string} sliderId 轮播容器Id
- * @param {Array} imagePaths 图片路径数组
- * @param {int} sliderTimespan 轮播时间间隔 0 代表不轮播
- */
- function beginSliderContent(sliderId, imagePaths, sliderTimespan) {
- _initSliderContent(sliderId, imagePaths);
- /* 自动轮播 */
- var slider = mui('#' + sliderId);
- if (sliderTimespan > 0) {
- slider.slider({
- interval: sliderTimespan,
- });
- }
- }
- /**
- * 设置样式中变量的值
- * @param {string} variable 变量
- * @param {string} value 值
- */
- function setPropertyFromStyle(variable, value) {
- document.documentElement.style.setProperty(variable, value);
- }
- /* 给选择类型按钮添加监听 */
- function addListenerToSelectButton(btnDomId, config) {
- var btn = $("#" + btnDomId)[0];
- btn.addEventListener('tap', function() {
- var _self = this;
- if (_self.picker) {
- _self.picker.show(function(selectItems) {
- $(_self).html(selectItems[0].text);
- $(_self).attr('data-value', selectItems[0].text);
- $(_self).attr('data-code', selectItems[0].value);
- });
- } else {
- _self.picker = new mui.PopPicker({
- buttons: ['清除', '使用']
- });
- _self.picker.setData(config);
- _self.picker.cancel.addEventListener('tap', function() {
- $(_self).html($(_self).attr('value'));
- $(_self).attr('data-value', "");
- $(_self).attr('data-code', "");
- })
- _self.picker.show(function(selectItems) {
- $(_self).html(selectItems[0].text);
- $(_self).attr('data-value', selectItems[0].text);
- $(_self).attr('data-code', selectItems[0].value);
- });
- }
- })
- }
- /**
- *
- * @param {string} btnDomId 需要绑定的选择器Id
- * @param {string} tabName 选择器关联的表名
- * @param {string} fldName 选择器关联的字段名
- * @param {function} callback 选择回调函数
- */
- function bindListenerToSelectButton(btnDomId, tabName, fldName, callback) {
- var btn = $("#" + btnDomId)[0];
- btn.addEventListener('tap', function() {
- var _self = this;
- /* 首先进行查询 */
- querySimpleFieldInfo(tabName, fldName, function(config) {
- if (_self.picker) {
- _self.picker.setData(config);
- _self.picker.show(function(selectItems) {
- $(_self).html(selectItems[0].text);
- $(_self).attr('data-value', selectItems[0].text);
- $(_self).attr('data-code', selectItems[0].value);
- if (callback) callback(selectItems[0].text, selectItems[0].value);
- });
- } else {
- _self.picker = new mui.PopPicker({
- buttons: ['清除', '使用']
- });
- _self.picker.setData(config);
- _self.picker.cancel.addEventListener('tap', function() {
- $(_self).html($(_self).attr('value'));
- $(_self).attr('data-value', "");
- $(_self).attr('data-code', "");
- })
- _self.picker.show(function(selectItems) {
- $(_self).html(selectItems[0].text);
- $(_self).attr('data-value', selectItems[0].text);
- $(_self).attr('data-code', selectItems[0].value);
- if (callback) callback(selectItems[0].text, selectItems[0].value);
- });
- }
- });
- })
- }
- /**
- * 绑定日期控件
- * @param {string} btnDomId 需要绑定的选择器Id
- * @param {function} callback 选择回调函数
- */
- function bindListenerToDateButton(btnDomId, callback) {
- var btn = $("#" + btnDomId)[0];
- btn.addEventListener('tap', function() {
- var _self = this;
- if (_self.picker) {
- _self.picker.show(function(selectItems) {
- $(_self).html(selectItems.text);
- $(_self).attr('data-value', selectItems.text);
- $(_self).attr('data-code', selectItems.value);
- _self.picker.dispose();
- _self.picker = null;
- if (callback) callback(selectItems.text, selectItems.value);
- });
- } else {
- /* 获取存储的值 */
- let value = $(_self).attr("data-value") || '';
- // console.log("存储 = " + value);
- _self.picker = new mui.DtPicker({
- buttons: ['清除', '使用'],
- type: 'date',
- beginDate: new Date('1990', '1', '1'),
- endDate: new Date('2050', '12', '31'),
- value: value,
- });
- _self.picker.ui.cancel.addEventListener('tap', function() {
- $(_self).html($(_self).attr('value'));
- $(_self).attr('data-value', "");
- $(_self).attr('data-code', "");
- });
- _self.picker.show(function(selectItems) {
- $(_self).html(selectItems.text);
- $(_self).attr('data-value', selectItems.text);
- $(_self).attr('data-code', selectItems.value);
- _self.picker.dispose();
- _self.picker = null;
- if (callback) callback(selectItems.text, selectItems.value);
- });
- }
- })
- }
- /**
- * 查询单字段信息
- * @param {string} tabName 表名称
- * @param {string} fldName 字段名称
- * @param {function} callSuccess 成功回调函数
- */
- function querySimpleFieldInfo(tabName, fldName, callSuccess) {
- var iData = {
- tabName: tabName,
- fldName: fldName,
- }
- /* 查询结果 */
- var result = [];
- /* 开始联网查询 */
- sendAjax({
- waitMessate: '同步数据...',
- url: 'appQuerySimpleFiled',
- data: iData,
- success: function(resData) {
- for (var i in resData) {
- result.push({
- value: resData[i].selCode,
- text: resData[i].selName,
- })
- }
- if (callSuccess != undefined) callSuccess(result);
- },
- error: function(err) {
- muiAlertError(err);
- }
- })
- }
- /**
- * 清除选择器
- * @param {string} btnDomId 选择控件Id
- */
- function clearSelectButton(btnDomId) {
- console.log("调用清除!");
- var _self = document.getElementById(btnDomId);
- if (_self.picker) {
- _self.picker.setData([]);
- }
- $(_self).html($(_self).attr('value'));
- $(_self).attr('data-value', "");
- $(_self).attr('data-code', "");
- }
- /**
- * 联网获取并设置单项选择器
- * @param {JSON} options
- * tabName{string}:表名称
- * fldName{string}:字段名称
- * btnDomId{string}:挂接容器
- */
- function setSimpleConfig(options) {
- var iData = {
- tabName: options.tabName,
- fldName: options.fldName,
- }
- var btn = $("#" + options.btnDomId)[0];
- var dataConfig = [];
- sendAjax({
- waitMessate: '同步数据...',
- url: 'appQuerySimpleFiled',
- data: iData,
- success: function(resData) {
- for (var i in resData) {
- dataConfig.push({
- value: resData[i].selCode,
- text: resData[i].selName,
- })
- }
- btn.addEventListener('tap', function() {
- var _self = this;
- if (_self.picker) {
- _self.picker.show(function(selectItems) {
- $(_self).html(selectItems[0].text);
- $(_self).attr('data-value', selectItems[0].text);
- });
- } else {
- _self.picker = new mui.PopPicker({
- buttons: ['清除', '使用']
- });
- _self.picker.setData(dataConfig);
- _self.picker.cancel.addEventListener('tap', function() {
- $(_self).html($(_self).attr('value'));
- $(_self).attr('data-value', "");
- })
- _self.picker.show(function(selectItems) {
- $(_self).html(selectItems[0].text);
- $(_self).attr('data-value', selectItems[0].text);
- });
- }
- })
- if (options.success != undefined) options.success();
- },
- error: function(err) {
- if (options.error != undefined) options.error(err);
- }
- })
- }
- /**
- * 定位图斑
- * @param {string} longitude 经度
- * @param {string} latitude 纬度
- * @param {string} title 标题
- */
- function toMapLocation(longitude, latitude, title) {
- var lMapId = 'FeatureLocationByMap';
- /* 启动定位之前判断是否存在 */
- mui.plusReady(function() {
- var mapPageView = plus.webview.getWebviewById(lMapId);
- if (mapPageView != null) {
- plus.webview.show(mapPageView, 'slide-in-right', 300, function() {
- mapPageView.evalJS("jsLocation('" + longitude + "','" + latitude +
- "','" + title + "')")
- });
- } else {
- muiAlert("地图页面尚未加载,请稍后重试!");
- }
- });
- }
- /**
- * 通过表名和要素Id定位图斑要素
- * @param {string} tabName 经度
- * @param {string} feaId 纬度
- * @param {string} title 标题
- */
- function toMapLocation_tabName_feaId(tabName, feaId, title) {
- var lMapId = 'FeatureLocationByMap';
- /* 启动定位之前判断是否存在 */
- mui.plusReady(function() {
- var mapPageView = plus.webview.getWebviewById(lMapId);
- if (mapPageView != null) {
- plus.webview.show(mapPageView, 'slide-in-right', 300, function() {
- mapPageView.evalJS("jsLocation_tabName_feaId('" + tabName + "','" + feaId +
- "','" + title + "')");
- });
- } else {
- muiAlert("地图定位页面异常,请稍后重试!");
- }
- });
- }
- /**
- * 启动App
- * @param {string} appId App的Id
- * @param {string} appName App的名称
- */
- function beginApp(appId, appName) {
- mui.plusReady(function() {
- if (plus.runtime.isApplicationExist({
- pname: appId
- })) {
- plus.runtime.launchApplication({
- pname: appId,
- }, function(e) {
- muiAlertError("启动失败:" + e.message);
- });
- } else {
- muiAlert('您尚未安装' + appName + ',请安装后重试!', "警告")
- }
- });
- }
- /**
- * 获取页面的宽、高
- */
- function getPageSize() {
- return {
- width: document.body.clientWidth,
- height: document.body.clientHeight
- }
- }
- /**
- * 显示完整内容
- * @param {string} content
- */
- function showContent(content) {
- muiAlert(content, "提示");
- }
- /**
- * 文本循环移动动画 适用于容器内展示span且span宽度超过div宽度
- * @param {string} domId 容器Id
- * @param {int} time 动画时间,单位ms
- */
- function textMoveAnimateById(domId, time) {
- var obj = $("#" + domId);
- var widthSpan = $("#" + domId + ">span").width();
- var widthMove = widthSpan - obj.width();
- obj.scrollLeft(0);
- obj.animate({
- scrollLeft: widthMove,
- }, time, 'linear', function() {
- textMoveAnimateById(domId, time);
- });
- }
- /**
- * 文本循环移动动画 适用于容器内展示span且span宽度超过div宽度
- * @param {string} selector 容器选择器
- * @param {int} time 动画时间,单位ms
- */
- function textMoveAnimateBySelector(selector, time) {
- var obj = $("." + selector);
- var widthSpan = $('.' + selector + ">span").width();
- console.log(widthSpan);
- var widthMove = widthSpan - obj.width();
- obj.scrollLeft(0);
- obj.animate({
- scrollLeft: widthMove,
- }, time, 'linear', function() {
- textMoveAnimateBySelector(selector, time);
- });
- }
- /**
- * 获取通过URL传递的参数
- * main.html?key=124
- * @param {string} name 关键字
- * @return {string} 未获取到返回null 否则返回值
- */
- function GetQueryString(name) {
- var reg = new RegExp("(^|&)" + name + "=([^&]*)(&|$)");
- var r = window.location.search.substr(1).match(reg);
- if (r != null) return unescape(r[2]);
- return null;
- }
- /**
- * 绑定搜索框 通过绑定监听 获取查询内容
- * @param {string} controlID 搜索框ID
- * @param {function} callback 返回监听
- */
- function bindSearchControlEvent(controlID, callback) {
- var self = this;
- /**
- * 搜索框追加事件
- */
- document.getElementById(controlID).addEventListener('keypress', function(e) {
- //判断点击的是否是 搜索 按钮
- if (e.keyCode == 13) {
- var value = this.value;
- document.activeElement.blur();
- if (callback != undefined) callback(value);
- }
- });
- }
- /**
- * 获取dom的属性值
- * @param {Object} domId
- * @param {Object} attrName
- */
- function getAttributeValue(domId, attrName) {
- var value = $("#" + domId).attr(attrName);
- if (value == undefined) return "";
- else return value;
- }
- /**
- * 打开侧滑菜单
- */
- function openMainMenu() {
- mui('.mui-off-canvas-wrap').offCanvas('show');
- }
- /**
- * 关闭侧滑菜单
- */
- function closeMainMenu() {
- mui('.mui-off-canvas-wrap').offCanvas('close');
- }
- /**
- * 给类添加点击事件
- * @param {string} className 类名称
- */
- function appendClickEventByClassName(className) {
- $("." + className).each(function(index, element) {
- $("." + className)[index].addEventListener('tap', function() {
- muiAlert($(this).text(), '详细内容');
- })
- })
- }
- /**
- * 显示内容
- * @param {Object} obj 显示内容的容器
- */
- function showDetails(obj) {
- muiAlert($(obj).text(), '详细内容');
- }
- /**
- * 重置图表的尺寸
- */
- function echartsSizeInit() {
- $(".jt-count-echarts-panel .jt-content").each(function(index, element) {
- var echartsDom = $(".jt-count-echarts-panel .jt-content")[index];
- var width = $(echartsDom).width();
- var height = $(echartsDom).height();
- if (height < 10) {
- $(echartsDom).height(width * 3 / 4);
- }
- });
- }
- /* +++++++++++++++++地块公用+++++++++++++++++++++ */
- /**
- * 查询地块数据
- * @param {string} title 标题
- * @param {string} tabName 数据表名称
- * @param {string} fldName 字段名称
- * @param {string} fldValue 字段值
- * @param {string} showFldName 展示字段名称
- */
- function queryFeatures(title, tabName, fldName, fldValue, showFldName) {
- var iData = {
- tabName: tabName,
- fldName: fldName,
- fldValue: fldValue,
- queryType: 'equal',
- showFldName: showFldName === undefined ? '' : showFldName,
- start: '1',
- count: '100',
- }
- sendAjax({
- url: 'appQueryFeatureData',
- data: iData,
- waitMessage: '查询中...',
- success: function(resData) {
- var data = resData[0];
- if (data.dataCount == 0) {
- muiAlert('未查询到任何数据!', '警告');
- } else {
- showFeaturesResult(title, data);
- }
- },
- error: function(err) {
- muiAlertError(err);
- }
- })
- }
- /**
- * 地块数据展示
- * @param {string} title 标题
- * @param {JSON} jsonData 数据集
- */
- function showFeaturesResult(title, jsonData) {
- /* 判断容器是否存在 */
- var rootPanel = document.getElementById('queryResultPopover');
- if (rootPanel) {
- $(rootPanel).html('');
- } else {
- rootPanel = document.createElement('div');
- rootPanel.id = 'queryResultPopover';
- rootPanel.className = 'mui-popover mui-popover-action mui-popover-bottom jt-query-result-popover';
- document.body.append(rootPanel);
- }
- /* 创建标题头 */
- var header = document.createElement('header');
- header.className = 'mui-bar';
- header.innerHTML = "<div class='jt-popover-title'>" + title + '</div>查询结果';
- rootPanel.append(header);
- /* 创建内容容器 */
- var divScroll = document.createElement('div');
- divScroll.className = 'mui-scroll-wrapper';
- rootPanel.append(divScroll);
- /* 创建滚动子容器 */
- var divScrollChild = document.createElement('div');
- divScrollChild.className = 'mui-scroll';
- divScroll.append(divScrollChild);
- /* 创建查询结果根容器 */
- var divRoot = document.createElement('div');
- divRoot.className = 'mui-card';
- divScrollChild.append(divRoot);
- /* 加入数据 */
- for (var i in jsonData.dataList) {
- var item = jsonData.dataList[i];
- var divItem = document.createElement('div');
- if (i % 2 == 0) {
- divItem.className = 'jt-feature-data-row jt-row-even-number';
- } else {
- divItem.className = 'jt-feature-data-row jt-row-odd-number';
- }
- divRoot.append(divItem);
- var html = "";
- html += "<span>" + item.feaNumber + "</span>";
- html += "<span>" + item.feaName + "</span>";
- html += "<span>" + item.feaArea + "亩</span>";
- html += "<button type='button' class='mui-btn app-icon app-icon-location'";
- // html += " onclick = \"toMapLocation_tabName_feaId('" + item.tabName + "','" + item.feaId +
- // "','地块定位')\" />";
- html += " onclick = \"CallMapLocation('" + item.tabName + "','" + item.feaId + "')\" />"
- divItem.innerHTML = html;
- }
- /* 显示弹框 */
- mui("#queryResultPopover").popover('show');
- /* 重置滚动容器 该方法是必须的 否则将导致滚动容器滚动失败 */
- mui('.mui-scroll-wrapper').scroll();
- }
- /**
- * 添加水印
- * @param {JSON} settings 配置项
- * settings.watermarl_element{string}:你需要加水印的元素的id,例如#app
- * settings.watermark_txt{string}:水印内容
- */
- function watermark(settings) {
- //默认设置
- var defaultSettings = {
- watermarl_element: "body",
- watermark_txt: "",
- watermark_x: 20, //水印起始位置x轴坐标
- watermark_y: 20, //水印起始位置Y轴坐标
- watermark_rows: 2000, //水印行数
- watermark_cols: 2000, //水印列数
- watermark_x_space: 70, //水印x轴间隔
- watermark_y_space: 30, //水印y轴间隔
- watermark_color: '#aaa', //水印字体颜色
- watermark_alpha: 0.3, //水印透明度
- watermark_fontsize: '14px', //水印字体大小
- watermark_font: '微软雅黑', //水印字体
- watermark_width: 280, //水印宽度
- watermark_height: 80, //水印长度
- watermark_angle: 25 //水印倾斜度数
- };
- //采用配置项替换默认值,作用类似jquery.extend
- if (arguments.length === 1 && typeof arguments[0] === "object") {
- var src = arguments[0] || {};
- for (let key in src) {
- if (src[key] && defaultSettings[key] && src[key] === defaultSettings[key])
- continue;
- else if (src[key])
- defaultSettings[key] = src[key];
- }
- }
- var oTemp = document.createDocumentFragment();
- var maskElement = document.getElementById(defaultSettings.watermarl_element) || document.body;
- //获取页面最大宽度
- var page_width = Math.max(maskElement.scrollWidth, maskElement.clientWidth);
- //获取页面最大高度
- var page_height = Math.max(maskElement.scrollHeight, maskElement.clientHeight);
- //水印数量自适应元素区域尺寸
- defaultSettings.watermark_cols = Math.ceil(page_width / (defaultSettings.watermark_x_space + defaultSettings
- .watermark_width));
- defaultSettings.watermark_rows = Math.ceil(page_height / (defaultSettings.watermark_y_space + defaultSettings
- .watermark_height));
- var x;
- var y;
- for (var i = 0; i < defaultSettings.watermark_rows; i++) {
- y = defaultSettings.watermark_y + (defaultSettings.watermark_y_space + defaultSettings.watermark_height) * i;
- for (var j = 0; j < defaultSettings.watermark_cols; j++) {
- x = defaultSettings.watermark_x + (defaultSettings.watermark_width + defaultSettings.watermark_x_space) * j;
- var mask_div = document.createElement('div');
- mask_div.id = 'mask_div' + i + j;
- mask_div.className = 'mask_div';
- //mask_div.appendChild(document.createTextNode(defaultSettings.watermark_txt));
- mask_div.innerHTML = (defaultSettings.watermark_txt);
- //设置水印div倾斜显示
- mask_div.style.webkitTransform = "rotate(-" + defaultSettings.watermark_angle + "deg)";
- mask_div.style.MozTransform = "rotate(-" + defaultSettings.watermark_angle + "deg)";
- mask_div.style.msTransform = "rotate(-" + defaultSettings.watermark_angle + "deg)";
- mask_div.style.OTransform = "rotate(-" + defaultSettings.watermark_angle + "deg)";
- mask_div.style.transform = "rotate(-" + defaultSettings.watermark_angle + "deg)";
- mask_div.style.visibility = "";
- mask_div.style.position = "absolute";
- mask_div.style.left = x + 'px';
- mask_div.style.top = y + 'px';
- mask_div.style.overflow = "hidden";
- mask_div.style.zIndex = "1";
- mask_div.style.pointerEvents = 'none'; //pointer-events:none 让水印不遮挡页面的点击事件
- //mask_div.style.border="solid #eee 1px"; //兼容IE9以下的透明度设置 mask_div.style.filter="alpha(opacity=50)";
- mask_div.style.opacity = defaultSettings.watermark_alpha;
- mask_div.style.fontSize = defaultSettings.watermark_fontsize;
- mask_div.style.fontFamily = defaultSettings.watermark_font;
- mask_div.style.color = defaultSettings.watermark_color;
- mask_div.style.textAlign = "center";
- mask_div.style.width = defaultSettings.watermark_width + 'px';
- mask_div.style.height = defaultSettings.watermark_height + 'px';
- mask_div.style.display = "block";
- oTemp.appendChild(mask_div);
- };
- };
- maskElement.appendChild(oTemp);
- }
- /**
- * 设置选择控件的显示内容和值
- * @param {string} domId 控件Id
- * @param {string} text 显示文本
- * @param {string} value 内部值
- */
- function setSelectControlValue(domId, text, value) {
- let _self = document.getElementById(domId);
- $(_self).html(text);
- $(_self).attr('data-value', text);
- $(_self).attr('data-code', value);
- }
- /**
- * 点击指示器事件
- * @param {Object} objDom 点击的dom对象
- */
- function indicator(objDom) {
- /* 循环所有指示器 */
- $(".jt-indicator").each(function(index, element) {
- element.classList.remove('jt-indicator-active');
- if (!objDom && index === 0) {
- element.classList.add('jt-indicator-active');
- }
- })
- if (objDom) {
- objDom.classList.add('jt-indicator-active');
- }
- }
- /**
- * 通过jQuery设置显示内容
- * @param {String} domId domId
- * @param {String} text 显示内容
- */
- function setTextByDomId(domId, text) {
- $("#" + domId).text(text);
- }
- /**
- * 通过jQuery设置显示内容
- * @param {String} domId domId
- * @param {String} text 显示内容
- */
- function setHtmlByDomId(domId, text) {
- $("#" + domId).html(text);
- }
|