123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212 |
- var self, param, docInfo;
- // 筛选条件
- var selStatus = 0,
- selType = 1,
- selNum = 50;
- var allPatList = [],
- patientArr = [],
- description = ""
- var $resultList = $("#device_goal");
- function initScroller(){
- //阻尼系数
- var deceleration = mui.os.ios?0.003:0.0009;
- mui('.mui-scroll-wrapper').scroll({
- scrollX: true,
- bounce: false,
- indicators: true, //是否显示滚动条
- deceleration:deceleration
- });
- }
- // 获取基础环境信息
- var getBaseEnvPromise = function () {
- docInfo = JSON.parse(plus.storage.getItem("docInfo"));
- var env = {
- webview: plus&&plus.webview.currentWebview()
- };
- return Promise.resolve().then(function(res) {
- return env;
- });
- },
- // 初始化居民列表
- getSelectPatientList = function() {
- plus.nativeUI.showWaiting();
- var obj = {
- doctorId: docInfo.code,
- bindStatus: selStatus,
- deviceType: selType,
- ruleId: self.goalArr[0]
- },
- params = {
- condition: JSON.stringify(obj),
- page: 1,
- size: selNum
- }
- sendPost("/doctor/healthBank/selectAccountByCondition", params, queryFails, function(res) {
- if(res.status == 200) {
- plus.nativeUI.closeWaiting();
- $resultList.empty();
- // 渲染数据
- allPatList = res.data.detailModelList;
- var html = template("result_tmpl", {list: allPatList});
- // 渲染数据
- if(!allPatList || allPatList.length == 0) {
- $("#no_result_wrap").show()
- } else {
- $("#no_result_wrap").hide()
- $resultList.append(html);
- }
- } else {
- plus.nativeUI.closeWaiting();
- queryFails(res);
- }
- }, 'POST')
- },
- // 提交数据
- submitData = function() {
- plus.nativeUI.showWaiting();
- var obj = {
- patientIds: patientArr,
- ruleId: self.goalArr[0],
- description: description
- },
- params = {
- object: JSON.stringify(obj)
- }
- sendPost("/doctor/healthBank/doctorAddInteger", params, queryFails, function(res) {
- if(res.status == 200) {
- plus.nativeUI.closeWaiting();
- mui.toast("操作成功!")
- setTimeout(function() {
- var vm = plus.webview.getWebviewById("health-bank"),
- _vm = plus.webview.getWebviewById("select_goal");
- if(_vm) {
- _vm.close();
- }
- mui.fire(vm,"reLoad");
- mui.back();
- }, 200)
- } else {
- plus.nativeUI.closeWaiting();
- queryFails(res);
- }
- }, 'POST')
- },
- //查询失败回调
- queryFails = function(res) {
- if(res) {
- mui.toast(res.msg)
- } else {
- mui.toast("加载失败!")
- }
- },
- // 移除勾选
- spliceArr = function(patientId) {
- for(var i = 0, len = patientArr.length; i < len; i++) {
- if(patientArr[i] == patientId) {
- patientArr.splice(i, 1)
- return
- }
- }
- },
- setDialog = function() {
- var judgeText = self.judgeClear ? "清零" : "-10分";
- dialog({
- content: '<p style="font-size:16px;">你将给予居民' + judgeText + ',请简要说明原因。</p><textarea id="reason" placeholder="请简要说明原因(必填)"></textarea>',
- okValue: '确认',
- cancelValue: '取消打分',
- cancel: function () {
- return;
- },
- ok: function() {
- description = $("#reason").val();
- if(!description || description.length <= 0) {
- mui.toast("扣分描述为必填项!");
- return false;
- }
- submitData()
- }
- }).showModal();
- },
- /**
- * 设置选择活动标题
- */
- setSelStatus = function($ele, statusArr, statusNameArr, judgeIndex) {
- $ele.mobiscroll({
- theme: 'ios',
- lang: 'zh',
- customWheels: true,
- wheels: [
- [{
- keys: statusArr,
- values: statusNameArr
- }]
- ],
- onSelect: function(valueText, inst) {
- var dd = eval("[" + valueText + "]");
- $(this).html(dd[0].values).attr("data-code", dd[0].keys);
- switch(judgeIndex) {
- case 0: selStatus = dd[0].keys;break
- case 1: selType = dd[0].keys;break
- case 2: selNum = dd[0].keys;break
- }
- // 获取积分居民
- getSelectPatientList()
- }
- }
- )},
- // 绑定页面事件
- bindEvents = function () {
- $resultList.on("tap", ".sel-label", function() {
- var patientId = $(this).parent().attr("data-patient")
- if($(this).hasClass("active")) {
- $(this).removeClass("active");
- $(".sel-label-all").removeClass("active");
- spliceArr(patientId)
- } else {
- $(this).addClass("active");
- patientArr.push(patientId)
- }
- });
- $(".sel-label-all").on("tap", function() {
- patientArr = []
- if($(this).hasClass("active")) {
- $(this).removeClass("active");
- $(".sel-label").removeClass("active");
- } else {
- $(this).addClass("active");
- $(".sel-label").addClass("active");
- for(var i = 0, len = allPatList.length; i < len; i++) {
- patientArr.push(allPatList[i].patientId)
- }
- }
- });
- // 下一步
- $("#sure").on("tap", function() {
- if(patientArr.length == 0) {
- mui.toast("请先选择居民!");
- return false;
- }
- if(self.subNum > 0) {
- setDialog();
- } else {
- // 提交数据
- submitData();
- }
- });
- };
- // 页面业务处理流程开始
- mui.plusReady(function() {
- //获取当前页面
- self = plus.webview.currentWebview();
- getBaseEnvPromise()
- setSelStatus($("#selStatus"), [0, 1], ["已绑定", "未绑定"], 0);
- setSelStatus($("#selType"), [1, 2], ["血糖仪", "血压计"], 1);
- setSelStatus($("#selNum"), [50, 100, 200, 2000], ["前50", "前150", "前250", "所有居民"], 2);
- initScroller();
- //绑定事件
- bindEvents();
- //数据渲染
- getSelectPatientList();
- })
|