UNPKG

h5-cli

Version:

hello

301 lines (269 loc) 15.8 kB
"use strict"; define(function (require, exports, module) { /** // { success:true, msg:"", code:"", data:null, // data:{ queues:[ { currentOrderNo:10, //\u5f53\u524d\u5e8f\u53f7 corpName:"", corpId:"", bigDeptName:"", bigDeptCode:"", smallDeptName:"", smallDeptCode:"",// depteAddress:"" patient:{ status:[0,1,2,3,4,5,6,7] // orderNo:1, //\u6211\u7684\u5e8f\u53f7 waitNum:10, //\u9700\u8981\u7b49\u5f85\u591a\u65f6\u4eba username:"" // modifyTime:23456789 } }, { currentOrderNo:10, //\u5f53\u524d\u5e8f\u53f7 corpName:"", corpId:"", bigDeptName:"", bigDeptCode:"", smallDeptName:"", smallDeptCode:"",// depteAddress:"" deptAddress patient:{ status:[0,1,2,3,4,5,6,7] // orderNo:1, //\u6211\u7684\u5e8f\u53f7 username:"" // modifyTime:23456789 } }, { currentOrderNo:10, //\u5f53\u524d\u5e8f\u53f7 corpName:"", corpId:"", bigDeptName:"", bigDeptCode:"", smallDeptName:"", smallDeptCode:"",// depteAddress:"" patient:{ status:[0,1,2,3,4,5,6,7] // orderNo:1, //\u6211\u7684\u5e8f\u53f7 username:"" // modifyTime:23456789 } } ] } } // \u5c31\u8bca\u4e2d public static Integer STATUS_IN = 0; // \u5019\u8bca\u4e2d public static Integer STATUS_WAITING = 1; // \u8fc7\u53f7 public static Integer STATUS_PASS = 2; // \u5c31\u8bca\u5b8c\u6210 public static Integer STATUS_COMPLETE = 3; // \u9884\u5c31\u8bca public static Integer STATUS_PRE_IN = 4; // \u9884\u5c31\u8bca\u4e2d public static Integer STATUS_PRE_IN_CONFIRM = 5; // \u56de\u8bca public static Integer STATUS_BACK = 6; //\u5f03\u53f7 public static Integer STATUS_DELETE = 7; */ //\u865a\u62dfDOM\u6a21\u5757 var VModule = require("component/VModule"); // \u5c31\u8bca\u4e2d var STATUS_IN = 0; //\u6b63\u5728\u53eb\u53f7 // \u5019\u8bca\u4e2d var STATUS_WAITING = 1; //\u8fdb\u5165\u5019\u8bca // \u8fc7\u53f7 var STATUS_PASS = 2; //\u5df2\u8fc7\u53f7 // \u5c31\u8bca\u5b8c\u6210 var STATUS_COMPLETE = 3; //\u5b8c\u6210\u5c31\u8bca // \u9884\u5c31\u8bca var STATUS_PRE_IN = 4; //\u7b49\u5f85\u5c31\u8bca // \u9884\u5c31\u8bca\u4e2d var STATUS_PRE_IN_CONFIRM = 5; //4 // \u56de\u8bca \u5e9f\u5f03 // var STATUS_BACK = 6; // 4 //\u5f03\u53f7 var STATUS_DELETE = 7; // \u672a\u5b9a\u4e49 var page = VModule.render({ init: function init() { this.cardNos = this.query.cardNos; //\u5c31\u8bca\u5361\u5361\u53f7 this.corpId = this.query.corpId; //\u533b\u9662 id this.unionId = this.query.unionId; this.cardNo = this.query.cardNo; this.cardType = this.query.cardType; this.state = { loading: true, success: false }; this.module = this.initModule(this.state, '#J_Page'); //findPatientForMobile?cardNos=12345,123456&corpId=261 // setInterval(()=>{ // this.pull() // }, 10000); this.pull(); }, pull: function pull() { //http://api.uat.yuantutech.com/user-web/sync/message/notify //this.config.queueDomain + "/queue/api/findPatientForMobile" //cardNo=851131674&cardType=2&target=_blank&spm=100.1600.1000.1 this.get(this.config.queueDomain + "/user-web/restapi/ytUsers/getPatientQueueInfo", { cardNos: this.cardNos, corpId: this.corpId, cardNo: this.cardNo, cardType: this.cardType, unionId: this.unionId }); }, onSuccess: function onSuccess(result) { // console.log( result ) /** waitNum;//\u60a3\u8005\u524d\u65b9\u7b49\u5f85\u4eba\u6570 corpName;//\u533b\u9662\u540d\u79f0 corpId;//\u533b\u9662\u7f16\u53f7 bigDeptName; bigDeptCode; smallDeptCode; smallDeptName; deptAddress;//\u79d1\u5ba4\u5730\u5740 currentOrderNo;//\u6b64\u961f\u5217\u6b63\u5728\u5c31\u8bca\u4eba\u5e8f\u53f7 stauts;//\u60a3\u8005\u72b6\u6001 orderNo;//\u60a3\u8005\u5e8f\u53f7 username;//\u60a3\u8005\u59d3\u540d waitingTime;//\u8fdb\u5165\u5019\u8bca\u65f6\u95f4 preTime;//\u7b49\u5f85\u5c31\u8bca\u65f6\u95f4 callingTime;//\u6b63\u5728\u53eb\u53f7\u65f6\u95f4 completeTime;//\u5b8c\u6210\u5c31\u8bca\u65f6\u95f4 DoctorName;//\u533b\u751f\u540d\u5b57 diagRoom;//\u8bca\u5ba4\u540d\u79f0 */ this.setState($.extend({ loading: false }, result)); }, onError: function onError(result) { this.setState({ loading: false, success: false }); if (result && result.resultCode == "202") { this.util.goLogin(); } }, //http://queue.daily.yuantutech.com/queue/api/findPatientForMobile?cardNos=12345,123456&corpId=261 //http://queue.daily.yuantutech.com/queue/api/findPatientForMobile?cardNos=12345%2C123456&corpId=261&ver=1.0&callback=jsonp1 //\u5fc5\u987b\u5b9e\u73b0render\u51fd\u6570 render: function render(state) { var _this = this; if (!(state && state.data && state.data && state.data.length)) { return this.renderError(state); } var queues = state.data; // console.log(queues) // var status = queues.status; return "\n <div class=\"enter-order\">\n <div class=\"update-time\">\n <div class=\"inner-time\">\u66F4\u65B0\u4E8E " + this.util.dateFormat(Date.now(), "hh:mm") + "</div>\n </div>\n " + queues.map(function (item) { return "\n <div class=\"order-card\">\n <div class=\"card\">\n " + _this.renderProgressBar(item) + "\n " + ( //\u5df2\u5b8c\u6210\u5c31\u8bca\u4e0d\u663e\u793a\u72b6\u6001\u4e86 item.status != STATUS_COMPLETE ? "\n <div class=\"natice-card\">\n <div class=\"item\">\n <div class=\"item-notice\">\u60A8\u7684\u5E8F\u53F7</div>\n <div class=\"item-number\">" + (item.orderNo ? item.orderNo + "\u53F7" : '-') + "</div>\n </div>\n <div class=\"item\">\n <div class=\"item-notice\" >\u5F53\u524D\u5E8F\u53F7</div>\n <div class=\"item-number\">" + (item.currentOrderNo ? item.currentOrderNo + "\u53F7" : '-') + "</div>\n </div>\n " + _this.renderStatus(item) + "\n </div>\n " : "") + "\n <ul class=\"sick-list\">\n <li>\n <span>\u5C31\u8BCA\u4EBA</span>\n <span>" + item.username + "</span>\n </li>\n <li>\n <span>\u5C31\u8BCA\u533B\u9662</span>\n <span>" + item.corpName + "</span>\n </li>\n <li>\n <span>\u5C31\u8BCA\u79D1\u5BA4</span>\n <span>" + _this.renderBigDeptName(item.bigDeptName, item.smallDeptName, item.diagRoom) + "</span>\n </li>\n <li>\n <span>\u5C31\u8BCA\u5730\u5740</span>\n <span>" + item.deptAddress + "</span>\n <div class=\"icon\"></div>\n </li>\n </ul>\n </div>\n </div>\n "; }).join("") + "\n "; /** * <div class="provider"> <span>\u672c\u670d\u52a1\u7531\u8fdc\u56fe\u4e92\u8054\u667a\u6167\u533b\u7597\u670d\u52a1\u5e73\u53f0\u63d0\u4f9b</span> </div> * * **/ }, renderBigDeptName: function renderBigDeptName() { return Array.prototype.slice.apply(arguments).filter(function (a) { return !!a; }).join("-"); }, //\u6e32\u67d3 \u8fc7\u53f7 \u72b6\u6001 renderStatus: function renderStatus(queue) { //\u8fc7\u53f7 var status = queue.status; if (status == STATUS_PASS) { return "\n <div class=\"item people over\">\n <div class=\"item-notice\" >\u60A8\u5DF2\u8FC7\u53F7</div>\n </div>\n "; } if (status == STATUS_COMPLETE) { return "\n <div class=\"item people over\">\n <div class=\"item-notice\">\u5C31\u8BCA\u5B8C\u6210</div>\n </div>\n "; } if (status == STATUS_IN) { return "\n <div class=\"item people go\">\n <div class=\"item-notice\">\u524D\u5F80\u5C31\u8BCA</div>\n </div>\n "; } return "\n <div class=\"item people\">\n <div class=\"item-notice\" >\u8FD8\u9700\u7B49\u5F85</div>\n <div class=\"item-number\" >\n <span>" + queue.waitNum + "</span>\n <span>\u4EBA</span>\n </div>\n </div>\n "; }, renderProgressBar: function renderProgressBar(queue) { // classname = success active over end var status = queue.status; var triageSign = queue.triageSign; // PRIMARY_TRIAGE 1\u6b21\u5206\u8bca TWO_TRIAGE \u4e8c\u6b21\u5206\u8bca // triageSign == 1 \u7684\u65f6\u5019 \u6ca1\u6709 STATUS_PRE_IN \u548c STATUS_PRE_IN_CONFIRM var classNames = { //\u8fdb\u5165\u5019\u8bca "in": "item", "wait": "item", //\u7b49\u5f85\u5c31\u8bca "ing": "item", //\u6b63\u5728\u53eb\u53f7 "guohao": "item", //\u5df2\u8fc7\u53f7 "end": "item" //\u5b8c\u6210\u5c31\u8bca }; //\u8fdb\u5165\u5019\u8bca if (status == STATUS_WAITING) { classNames.in = "item active"; } //\u7b49\u5f85\u5019\u8bca if (status == STATUS_PRE_IN || status == STATUS_PRE_IN_CONFIRM) { classNames.in = "item success"; classNames.wait = "item active"; } //\u6b63\u5728\u53eb\u53f7 if (status == STATUS_IN) { classNames.in = "item success"; classNames.wait = "item success"; classNames.ing = "item active"; } //\u5df2\u8fc7\u53f7 if (status == STATUS_PASS) { classNames.in = "item success"; classNames.wait = "item success"; classNames.guohao = "item guohao"; } //\u5c31\u8bca\u5b8c\u6210 if (status == STATUS_COMPLETE) { classNames.in = "item end"; classNames.wait = "item end"; classNames.ing = "item end"; classNames.end = "item end"; } var waitingTime = queue.waitingTime ? this.util.dateFormat(queue.waitingTime, "hh:mm") : "--"; //\u8fdb\u5165\u5019\u8bca\u65f6\u95f4 var preTime = queue.preTime ? this.util.dateFormat(queue.preTime, "hh:mm") : "--"; //\u7b49\u5f85\u5c31\u8bca\u65f6\u95f4 var callingTime = queue.callingTime ? this.util.dateFormat(queue.callingTime, "hh:mm") : "--"; //\u6b63\u5728\u53eb\u53f7\u65f6\u95f4 var passTime = queue.passTime ? this.util.dateFormat(queue.passTime, "hh:mm") : "--"; //\u8fc7\u53f7\u65f6\u95f4 var completeTime = queue.completeTime ? this.util.dateFormat(queue.completeTime, "hh:mm") : "--"; //\u5b8c\u6210\u5c31\u8bca\u65f6\u95f4 return "\n " + ( //\u5df2\u5b8c\u6210\u5c31\u8bca status == STATUS_COMPLETE ? "\n <div class=\"order-end\">\n <div class=\"end-message\">\u672C\u6B21\u5C31\u8BCA\u5DF2\u5B8C\u6210</div>\n </div>\n " : "") + "\n <div class=\"order-schedule\">\n <div class=\"" + classNames.in + "\">\n <div class=\"line\"></div>\n <div class=\"circle \">\n <div class=\"enter \">\n <span class=\"message\">\u8BF7\u5728\u96C6\u4E2D\u5019\u8BCA\u533A\u8010\u5FC3\u7B49\u5F85</span>\n </div>\n </div>\n <div class=\"text \">\n <div class=\"title\">\u5F00\u59CB\u5019\u8BCA</div>\n <div class=\"time\">" + waitingTime + "</div>\n </div>\n </div>\n " + (triageSign == "TWO_TRIAGE" ? "\n <div class=\"" + classNames.wait + "\">\n <div class=\"line\"></div>\n <div class=\"circle\">\n <div class=\"enter \">\n <span class=\"message \">\u8BF7\u524D\u5F80\u5206\u8BCA\u5904\u7B7E\u5230</span>\n </div>\n </div>\n <div class=\"text\">\n <div class=\"title\">\u7B49\u5F85\u5C31\u8BCA</div>\n <div class=\"time\">" + preTime + "</div>\n </div>\n </div>\n " : "") + "\n " + ( //\u8fc7\u53f7 \u663e\u793a\u8fc7\u53f7 \u5426\u5219\u663e\u793a \u6b63\u5728\u53eb\u53f7 status == STATUS_PASS ? "\n <div class=\"" + classNames.guohao + "\">\n <div class=\"line\"></div>\n <div class=\"circle\">\n <span class=\"x\">+</span>\n <div class=\"enter \">\n <span class=\"message\">\u60A8\u5DF2\u8FC7\u53F7\uFF0C\u8BF7\u524D\u5F80\u5206\u8BCA\u53F0\u62A5\u9053</span>\n </div>\n </div>\n <div class=\"text\">\n <div class=\"title\">\u5DF2\u8FC7\u53F7</div>\n <div class=\"time\">" + passTime + "</div>\n </div>\n </div>\n " : "\n <div class=\"" + classNames.ing + "\">\n <div class=\"line\"></div>\n <div class=\"circle\">\n <div class=\"enter \">\n <span class=\"message\">\u8BF7\u524D\u5F80" + queue.diagRoom + queue.doctorName + "\u533B\u751F\u5904\u5C31\u8BCA</span>\n </div>\n </div>\n <div class=\"text\">\n <div class=\"title\">\u6B63\u5728\u53EB\u53F7</div>\n <div class=\"time\">" + callingTime + "</div>\n </div>\n </div>\n ") + "\n <div class=\"" + classNames.end + "\">\n <div class=\"line\"></div>\n <div class=\"circle\"></div>\n <div class=\"text\">\n <div class=\"title\">\u5B8C\u6210\u5C31\u8BCA</div>\n <div class=\"time\">" + completeTime + "</div>\n </div>\n </div>\n </div>\n "; }, renderError: function renderError() { return "\n <div class=\"enter-order\">\n <div class=\"error\">\n <div class=\"message\">\n <div class=\"logo\"></div>\n <div class=\"text\">\u6CA1\u6709\u627E\u5230\u60A8\u7684\u6302\u53F7\u4FE1\u606F\u8BF7\u786E\u8BA4\u662F\u5426\u6302\u53F7</div>\n </div>\n </div>\n </div>\n "; /** * <div class="provider" style="position:fixed;bottom:0;width:100%;"> <span>\u672c\u670d\u52a1\u7531\u8fdc\u56fe\u4e92\u8054\u667a\u6167\u533b\u7597\u670d\u52a1\u5e73\u53f0\u63d0\u4f9b</span> </div> * * **/ } }); page.init(); module.exports = page; });