SMA用到的东西
2019-12-06 本文已影响0人
谜逝逝
如果每次都要传一样的参数就把它存在
api-manager.js 里的 ↓ 这个位置
function ajax(param, url, method, callBack, loading_flag, loading_title, loading_text) {
if (connectionType() == 'none') {
showToast('网络请求超时,请稍后重试')
return;
}
if (loading_flag) {
waitingForProgress('', loading_title, loading_text)
}
if (!isHasUserInfo()) {
console.log('Ajax has not user info')
} else {
console.log('Ajax has user info')
if (!isObjectOwnProperty(getStorageUser(), 'id')) {
var user = getStorageUser();
// var language ='en'
consoledebug.log('getStorageUser ----> : ' + JSON.stringify(user))
param.staff_id = user.id
param.token = user.patient_login.token
consoledebug.log('这个token是--------------->>>' + JSON.stringify(user.patient_login.token))
}
}
下拉框
下拉框CSS样式
<div class="border-color aui-margin-r-20 aui-margin-l-20">
<div onclick="sexTypeList()">
<img id="sex_xiala" src="../../image/down.png" width="7" height="5"
class="aui-pull-right aui-margin-t-10">
<div id="sex_answer" style="color: #B2B5BA; border-bottom: 1px solid #EEEEEE">请选出患者性别</div>
</div>
<div id="sex_list" class="aui-hide">
<div onclick="sexType(this)" style="border-bottom: 1px solid #EEEEEE">男</div>
<div onclick="sexType(this)" style="border-bottom: 1px solid #EEEEEE">女</div>
</div>
</div>
下拉框JS
//选择出生方式
function getTypeList() {
if ($("#xiala").attr("src") == '../../image/down.png') 向下箭头的图片 {
$("#radio_list").removeClass('aui-hide')
$("#xiala").attr('src', '../../image/up.png')向上箭头的图片
$("#radio_list").slideDown()
} else {
$("#xiala").attr('src', '../../image/down.png')
$("#radio_list").slideUp()
}
}
//fault_category_id 选择的故障类型id
function chooseType(el) {
consoledebug.log(el)
$("#choose_answer").text($(el).text())
$("#choose_answer").css('color','black')
$("#xiala").attr('src', '../../image/down.png')
$("#radio_list").slideUp()
}
JQ时间控件
首先得引用样式以及js包 不然没有效果 出现时间控件乱版或者不好用的情况一定是没引CCS样式及JS 或者input的ID没有绑对
css JS
<link rel="stylesheet" type="text/css" href="../../style/mobiscroll.custom.min.css"/>
css样式
<input id="birthday" type="text" placeholder="请输入患者出生日期">
时间控件JS
<script type="text/javascript" src="../../script/common/mobiscroll.custom.min.js"></script>
var theme = "ios";// 手机样式
var mode = "scroller";//模型
var display = "bottom";//在底部
var lang = "zh";//中文
----------------------------------------------------------
apiready = function () {
//时间控件ios手机必须加上此代码才好使
if (systemType() == 'ios') {
init()
mobiscroll.settings = {
theme: theme
};
}
init()
}
//打开时间选择器
$('#birthday').mobiscroll().date({
theme: theme,
mode: mode,
display: display,//显示位置
lang: lang,
dateFormat: "yyyy-mm-dd",//时间格式
minDate: new Date(1900, 3, 10),
maxDate: new Date(2030, 7, 30),
stepMinute: 1
});
籍贯、所在地、民族 等一级/二级/三级联动组件apicloud模块
css样式
<div class="font-size-color aui-margin-t-10 aui-margin-l-20">籍贯</div>
<div class="border-color aui-margin-r-20 aui-margin-l-20">
<input id="birthplace" type="text" placeholder="请输入籍 readonly="readonly" onclick="selAddress()" value="">
</div>
模块JS
//选择籍贯
function selAddress() {
var UIActionSelector = api.require('UIActionSelector');
UIActionSelector.open({
datas: 'widget://res/position1.json',
layout: {
row: 5,
col: 2, //代表几级联动
height: 30,
size: 12,
sizeActive: 14,
rowSpacing: 0,
colSpacing: 0,
maskBg: 'rgba(0,0,0,0.2)',
bg: '#fff',
color: '#888',
colorActive: '#444444',
colorSelected: '#444444'
},
animation: true,
cancel: {
text: '取消',
size: 12,
w: 90,
h: 35,
bg: '#fff',
bgActive: '#ccc',
color: '#888',
colorActive: '#fff'
},
ok: {
text: '确定',
size: 12,
w: 90,
h: 35,
bg: '#fff',
bgActive: '#ccc',
color: '#888',
colorActive: '#fff'
},
title: {
text: '请选择',
size: 12,
h: 44,
bg: '#eee',
color: '#888'
},
fixedOn: api.frameName
}, function (ret, err) {
consoledebug.log("ret:" + JSON.stringify(ret));
if (ret && ret.eventType == "ok") {
birthplace = ret.selectedInfo[0].name +"/"+ret.selectedInfo[1].name;省市名字
native_place_city_id= [ret.selectedInfo[0].id,ret.selectedInfo[1].id ];省市ID
$("#birthplace").val(birthplace)
} else {
}
});
}
监听实时输入框的值
$('监听标签的id').bind('input propertychange', function(){
search_word=$('#search_text').val()
consoledebug.log('输入框的值是------->>'+JSON.stringify(search_word))
})
多模版处理方法(拿收藏接口写法举例)
function getcollectionPatient_getListByCon(ret, err) {
consoledebug.log('收藏接口返回的是-------------->>' + JSON.stringify(ret))
if (ret.result) {
page++;
var msgObj = ret.ret.data
if (msgObj.length > 0) {
for (let i = 0; i < msgObj.length; i++) {
consoledebug.log("i:" + i);
consoledebug.log("msgObj is i:" + JSON.stringify(msgObj[i]))
var interText = null;
//优化
var type = String(msgObj[i].type); //特殊转换一下,确保为字符串
switch (type) {
case "0": //视频
interText = doT.template($("#message-content-template-video").text())
break;
case "1": //图片
interText = doT.template($("#message-content-template-picture").text())
break;
case "2": //宣教
interText = doT.template($("#message-content-template-patient_tw").text())
break;
case "3": //动态
interText = doT.template($("#message-content-template-circle_text").text())
break;
}
$("#message-content").append(interText(msgObj[i]));
}
} else {
showToast('没有更多信息了')
}
}
}
处理类似,题、信息..一些非必填选项,因字段为空模版不显示数据问题
此处用量表举例
patientApi_assessRecord_getById(param, function (ret, err) {
consoledebug.log('patientApi_assessRecord_getById ret = ' + JSON.stringify(ret));
if (ret.result) {
var data = ret.ret;
此处遍历了接口里量表信息的字段
for (let j = 0; j < data.test_scale_json.length; j++) {
如果没有这个字段,就给他从新赋值=空
if (!data.test_scale_json[j].name) {
data.test_scale_json[j].name = ''
}
if (!data.test_scale_json[j].intro) {
data.test_scale_json[j].intro = ''
}
像这种有数据结构的字段,判断并仿照相同的数据格式从新赋值
if (!data.test_scale_json[j].select_scale_answer) {
data.test_scale_json[j].select_scale_answer = {
"_id": " ",
"scale_topic_id": " ",
"name": "该题未答",
"score": 0,
}
}
if (!data.test_scale_json[j].scale_score) {
//如果没有这个字段,意味着该题没答
data.test_scale_json[j].scale_score = 0
}
}
另一种赋值方法
数组里的先循环 不是数组的直接用setDefaultValue方法
for (let j=0;j<data.no_test_scale_json.length;j++){
data.no_test_scale_json[j].message = setDefaultValue(data.no_test_scale_json[j].message,'未填写')
}
data.more_scale_json.test_subject.MWT_test_remarks=setDefaultValue(data.more_scale_json.test_subject.MWT_test_remarks,'')
提示成功xxx方法
300毫秒以后跳转 发送事件末尾一定要加event
showToast('重置密码成功')
setTimeout(function () {
openWinNotSlidBack('login_frm', './', {}, 2)
},300);