h5-cli
Version:
hello
301 lines (269 loc) • 15.8 kB
JavaScript
"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;
});