Commit 69fe4c3d authored by yanzg's avatar yanzg

nwjs

parent 7c391012

07:55:28.734 未实现该方法或操作。:
在 LightFrame.Util.Converts.TypeConvert.XmlElementConvert.get_SourceType()
在 LightFrame.Util.Converts.ConvertCenter.<>c__DisplayClass6_0.<AddHandle>b__0()
在 LightFrame.Util.Threads.ThreadHelper.ExecuteCatch(DelegateEmpty vCode)
window.NW = window.NW || {}
window.OS = window.OS || {}
var Base = {
getHardTop: function () {
var top = {}
if (typeof process != 'undefined') {
top = process && process.mainModule && process.mainModule.exports
top && top.init(window)
} else if (typeof tubida != 'undefined') {
top = tubida
}
if (top && top.e) {
var msg = top.e.msg || top.e
Base.AjaxError(msg)
}
return top
},
getHard: function () {
var top = window.sys || {}
if (!top.getHard) {
throw new Error('设备函数不存在')
}
return top.getHard()
},
getPrint: function () {
var top = window.sys || {}
if (!top.getPrint) {
throw new Error('打印机函数不存在')
}
return top.getPrint()
},
/**
* 获取系统编号,用于生成二维码
* @param func
* @constructor
*/
initCode: function (func) {
function urlCode(func) {
var host = window.location.host
func && func(host, '')
}
var isSystem = OS && OS.getSystemID
isSystem ? OS.getSystemID(func) : urlCode(func)
},
boo: true,
min: function () {
NW && NW.windowMin && NW.windowMin()
},
max: function () {
/* Act on the event */
if (this.boo) {
this.boo = false
NW && NW.windowMax && NW.windowMax()
} else {
this.boo = true
NW && NW.windowRestore && NW.windowRestore()
}
},
close: function () {
NW && NW.windowClose && NW.windowClose()
},
run: function (func, funcError) {
try {
func && func()
} catch (e) {
var msg = (e && e.msg) || e;
(funcError || function (msg) {
Base.Alert(msg)
})(msg)
}
},
Alert: function (msg, func) {
alert(msg)
func && func()
},
}
Base.getHardTop()
NW && NW.windowInit && NW.windowInit()
Base.isWeb = !(NW && NW.windowInit);
(function () {
let scanName = 'ScanID'
let scanQrName = 'SerialPortScan'
let scanIcName = 'ScanIC'
let hard
let hardCache = {}
let onScanAll = null
let onScanCode = null
let onScanId = null
let onScanIc = null
let onError = null
let config = ''
var hardEvent = {
on: function (res) {
res = res || {}
Base.run(function () {
var dataFrom = res.Data
// 当扫描到数据时
if (res.EventName == 'scan') {
if (dataFrom.ScanType == 1 && dataFrom.Extend != null) {
var visitor = {
visitorName: dataFrom.Extend.Name, //姓名
visitorCardId: dataFrom.Extend.ID, //身份证
}
onScanId && onScanId(visitor, dataFrom)
onScanAll && onScanAll(visitor, dataFrom)
}
else if (dataFrom.ScanType == 3 ) {
onScanIc && onScanIc(null, dataFrom)
onScanAll && onScanAll(null, dataFrom)
} else {
onScanCode && onScanCode(null, dataFrom)
onScanAll && onScanAll(null, dataFrom)
}
} else if (res.EventName == 'error' || res.EventName == 'debug') {
// 当有调试信息或者错误事件时
showStatus(dataFrom.Message || dataFrom)
}
}, function (res) {
// 执行出错
showError(res)
})
},
req: function () {
console.log(arguments)
}
}
function initHard(hardName, func) {
var arr = JSON.parse(config)
console.log(arr)
var item = null
for (let i = 0; i < arr.length; i++) {
let now = arr[i]
if (now.Name == hardName) {
item = now
break
}
}
if (item == null) {
return
}
hard.register(item, function () {
func && func(item)
}, handleError)
};
function openHard(hardName, hardEvent, func) {
// debugger;
// 设置设备中心的回调函数
hard = Base.getHard()
hard.eve(hardEvent)
// 打开的执行函数
function open(item) {
hardCache[hardName] = item
item.IsOpen = true
item.Speed = 800 / 800
// 打开设备
hard.open(item, function () {
func && func(item)
}, handleError)
}
// 假如设备没有注册,则注册并打开设备,否则只打开设备
if (hardCache[hardName] == null) {
initHard(hardName, open)
} else {
open(hardCache[hardName])
}
};
function showError(res) {
handleError(res)
}
function handleError(res) {
Base.run(function () {
showStatus(res.msg || res.Msg || res.message)
})
}
function showStatus(msg) {
onError && onError(msg)
}
var Scan = {
// 同时打开身份证和扫描头,同一个回调函数,离开页面时将scan传入null
init: function (con, err, scan) {
config = con
onScanAll = scan
onError = err
openHard(scanQrName, hardEvent, function (item) { })
openHard(scanName, hardEvent, function (item) { })
},
// 只打开身份证,不受其他回调函数影响,离开页面时将scan传入null
initId: function (con, err, scan) {
config = con
onScanId = scan
onError = err
openHard(scanName, hardEvent, function (item) { })
},
// 只打开扫描头,不受其他回调函数影响,离开页面时将scan传入null
initQr: function (con, err, scan) {
config = con
onScanCode = scan
onError = err
openHard(scanQrName, hardEvent, function (item) { })
},
// 只打开IC卡,不受其他回调函数影响,离开页面时将scan传入null
initIc: function (con, err, scan) {
config = con
onScanIc = scan
onError = err
openHard(scanIcName, hardEvent, function (item) { })
},
onScan: function (obj) {
onScan(null, obj)
}
}
window.Scan = Scan
})();
window.onerror = function(){
alert("错误:" + JSON.stringify(arguments));
};
#app{height:100%}.wrap[data-v-54b0e0eb]{min-height:100%;background:url(/img/sortBg.05051ecd.jpg) no-repeat;background-size:100% 100%;color:#fff;padding:0 .4rem}.top[data-v-54b0e0eb]{text-align:center}.top1[data-v-54b0e0eb]{display:flex;align-items:center;padding-top:.4rem;font-size:.48rem}.top1-left[data-v-54b0e0eb]{flex-shrink:0;text-align:left}.left-number[data-v-54b0e0eb]{margin-left:.2rem;font-size:.52rem}.top1-right[data-v-54b0e0eb]{flex:1;text-align:left;padding-left:.6rem}.top1-right span[data-v-54b0e0eb]:first-child{color:red}.top1-right span[data-v-54b0e0eb]:nth-child(2){color:#faf801;font-weight:700}.top1-right span[data-v-54b0e0eb]:last-child{font-size:.4rem}.top2[data-v-54b0e0eb]{font-size:.68rem;margin-top:.3rem}.top3[data-v-54b0e0eb]{margin-top:.16rem;font-size:2.16rem;color:red}.top3 span[data-v-54b0e0eb]{margin:0 .6rem}.top4[data-v-54b0e0eb]{display:flex;font-size:.44rem}.top4 div[data-v-54b0e0eb]{display:flex;align-items:center;justify-content:center}.top4 span[data-v-54b0e0eb]:first-child{margin-right:.1rem}.top4 span[data-v-54b0e0eb]:last-child{font-size:.72rem}.middle[data-v-54b0e0eb]{margin-top:.15rem}.middle div[data-v-54b0e0eb]{padding:0 .2rem;border:3px solid #e00101;text-shadow:0 .05rem .5rem #8df;color:#fff;font-size:.56rem;display:flex;align-items:center}.bottom[data-v-54b0e0eb]{margin-top:.3rem}.bottom1[data-v-54b0e0eb]{display:flex;align-items:center;justify-content:space-between}.bottom1-left[data-v-54b0e0eb]{font-size:.48rem;flex:1}.bottom1-left span[data-v-54b0e0eb]:first-child{color:red}.bottom1-left span[data-v-54b0e0eb]:nth-child(2){color:#faf801;font-weight:700}.bottom1-left span[data-v-54b0e0eb]:last-child{font-size:.4rem}.bottom1-right span[data-v-54b0e0eb]:first-child{font-size:.44rem;margin-right:.1rem}.bottom1-right span[data-v-54b0e0eb]:last-child{font-size:.52rem}.bottom2[data-v-54b0e0eb]{display:flex;font-size:.44rem;margin-top:.2rem}.bottom2 div[data-v-54b0e0eb]{display:flex;align-items:center;justify-content:center}.bottom2 span[data-v-54b0e0eb]:first-child{margin-right:.1rem}.bottom2 span[data-v-54b0e0eb]:last-child{font-size:.72rem}.surplus2[data-v-54b0e0eb]{width:30%}.surplus2.on[data-v-54b0e0eb]{width:50%}.bottom3[data-v-54b0e0eb]{display:flex;padding:0 .4rem;margin-top:.1rem;font-size:.3rem;align-items:center}.bottom3 span[data-v-54b0e0eb]{width:33.3%}.scan-code[data-v-54b0e0eb]{margin-top:2rem}.scan-img[data-v-54b0e0eb]{text-align:center}.scan-img img[data-v-54b0e0eb]{width:200px}.scan-introduce[data-v-54b0e0eb]{padding:1rem 0 0 1.6rem}.scan-phone[data-v-54b0e0eb]{padding-left:.4rem}.scan-phone div[data-v-54b0e0eb]{margin-top:.6rem;font-size:.4rem}.wrap[data-v-0bc6b05e]{background:rgba(0,0,0,.3);position:absolute;display:flex;align-items:center;justify-content:center;font-size:.16rem;top:0;left:0;width:100%;height:100%;z-index:99999}.wrap pre[data-v-0bc6b05e]{white-space:pre-wrap;word-wrap:break-word;line-height:.2rem;margin:.2rem 0}.wrap-content[data-v-0bc6b05e]{width:70%;height:80%;background:#fff}.top[data-v-0bc6b05e]{border-bottom:.1rem solid #ececec;padding:.1rem .15rem;height:8%;display:flex;align-items:center}.top span[data-v-0bc6b05e]{margin-left:.05rem;color:red;font-size:.2rem;font-weight:700}.middle[data-v-0bc6b05e]{padding:.1rem .15rem;border-bottom:.1rem solid #ececec}.middle-content[data-v-0bc6b05e]{margin-top:.1rem;display:flex;align-items:center}#pro[data-v-0bc6b05e]{width:4rem;height:.4rem}.bottom[data-v-0bc6b05e]{height:75%;overflow-y:scroll}.bottom-list[data-v-0bc6b05e]{margin-top:.3rem;border-bottom:2px solid #ececec;padding:0 .24rem}.bottom-list div[data-v-0bc6b05e]:not(:first-child){margin-top:.15rem}.bottom-list span[data-v-0bc6b05e]{margin-left:.1rem}.logining[data-v-0bc6b05e]{text-align:center;margin-top:20%;font-size:.3rem;color:red}.error[data-v-0bc6b05e]{display:flex;height:.6rem;align-items:center;justify-content:space-between;font-size:.3rem;color:red;padding:0 .3rem;position:absolute;bottom:0;width:100%}a,article,aside,body,button,dd,details,div,dl,dt,figcaption,figure,footer,form,h1,h2,h3,h4,h5,h6,header,hgroup,img,input,li,menu,nav,ol,p,section,select,table,tbody,td,textarea,th,tr,ul{margin:0;padding:0;box-sizing:border-box}table{border-collapse:collapse;border-spacing:0;text-align:left}a,button,input,select,textarea{outline:0 none;border:none;background:none}button,img,input,object,select,textarea{vertical-align:middle}html{font-size:50px}body,html{height:100%}body{color:#333;font-size:.16rem}img{border:none}a{text-decoration:none}i{font-style:normal}.one-txt-cut{overflow:hidden;white-space:nowrap;text-overflow:ellipsis}
/*# sourceMappingURL=app.7092e2ee.css.map*/
\ No newline at end of file
{"version":3,"file":"css/app.7092e2ee.css","mappings":"AACC,KACC,YCDD,uBACC,gBACA,4EACA,WACA,gBACA,uBAED,iBACC,wBAED,YACC,mBACA,kBACA,iBACA,6BAED,aACC,gBACA,+BAED,iBACC,iBACA,8BAED,sBAEC,mBACA,+CAED,UACC,+CAED,aACC,gBACA,8CAED,eACC,wBAED,gBACC,iBACA,wBAED,iBACC,kBACA,WACA,4BACA,cACC,wBAGF,YACC,iBACA,4BACA,YACC,mBACA,uBACA,yCAED,kBACC,wCAED,gBACC,0BAGF,iBACC,8BACA,eACC,yBACA,gCACA,WACA,iBACA,aACA,mBACA,0BAGF,gBACC,2BAED,YACC,mBACA,8BACA,gCAED,gBACC,wDAGD,UACC,iDAED,aACC,gBACA,gDAED,eACC,kDAED,gBACC,mBACA,iDAED,gBACC,2BAED,YACC,iBACA,iBACA,+BACA,YACC,mBACA,uBACA,4CAED,kBACC,2CAED,gBACC,4BAGF,UACC,8BAED,UACC,0BAED,YACC,gBACA,iBACA,gBACA,mBACA,gCACA,WACC,6BAIF,eACC,4BAED,iBACC,gCACA,WACC,kCAGF,uBACC,8BAED,kBACC,kCACA,gBACC,gBACA,CC3JF,uBACE,0BACA,kBACA,aACA,mBACA,uBACA,iBACA,MACA,OACA,WACA,YACA,cAEF,2BACE,qBACA,qBACA,kBACD,eAED,+BACE,UACA,WACA,gBAEF,sBACE,kCACA,qBACA,UACA,aACA,mBAEF,2BACE,mBACA,UACD,gBACA,gBAED,yBACE,qBACA,kCAEF,iCACC,iBACA,aACA,mBAED,sBACC,UAAU,CACV,aAED,yBACE,WACA,kBAEF,8BACC,iBACA,gCACA,iBAED,oDACC,kBAED,mCACC,kBAED,2BACC,kBACA,cAAc,CACd,gBACA,UAED,wBACC,aACA,aACA,mBACA,8BACA,gBACA,UACA,gBACA,kBACA,SACA,WCnFF,0LACI,QAAS,CACT,SAAU,CACb,qBACD,CACA,MAAM,wBAAwB,CAAC,gBAAgB,CAAC,eAAe,CAC/D,+BAA+B,cAAc,CAAC,WAAY,CAAC,eAAiB,CAC5E,wCAAwC,qBAAqB,CAC7D,KAAmB,cAAgB,CACnC,UADM,WAC4C,CAAlD,KAAmB,UAAW,CAAC,gBAAmB,CAClD,IAAK,WAAa,CAClB,EAAG,oBAAsB,CACzB,EAAE,iBAAmB,CAErB,aACI,eAAgB,CAChB,kBAAmB,CACnB,sBACJ","sources":["webpack://tbd_screen_client/./src/App.vue","webpack://tbd_screen_client/./src/views/sortScreen.vue","webpack://tbd_screen_client/./src/views/login.vue","webpack://tbd_screen_client/./src/assets/css/common.css"],"sourcesContent":["\r\n\t#app{\r\n\t\theight: 100%;\r\n\t}\r\n","\r\n\t.wrap{\r\n\t\tmin-height: 100%;\r\n\t\tbackground:url('../assets/image/sortBg.jpg') no-repeat;\r\n\t\tbackground-size: 100% 100%;\r\n\t\tcolor: #ffffff;\r\n\t\tpadding: 0 0.4rem;\r\n\t}\r\n\t.top{\r\n\t\ttext-align: center;\r\n\t}\r\n\t.top1{\r\n\t\tdisplay: flex;\r\n\t\talign-items: center;\r\n\t\tpadding-top: 0.4rem;\r\n\t\tfont-size: 0.48rem;\r\n\t}\r\n\t.top1-left{\r\n\t\tflex-shrink: 0;\r\n\t\ttext-align: left;\r\n\t}\r\n\t.left-number{\r\n\t\tmargin-left: 0.2rem;\r\n\t\tfont-size: 0.52rem;\r\n\t}\r\n\t.top1-right{\r\n\t\tflex: 1;\r\n\t\ttext-align: left;\r\n\t\tpadding-left: 0.6rem;\r\n\t}\r\n\t.top1-right span:first-child{\r\n\t\tcolor: #ff0000;\r\n\t}\r\n\t.top1-right span:nth-child(2){\r\n\t\tcolor:#faf801;\r\n\t\tfont-weight: bold;\r\n\t}\r\n\t.top1-right span:last-child{\r\n\t\tfont-size: 0.4rem;\r\n\t}\r\n\t.top2{\r\n\t\tfont-size: 0.68rem;\r\n\t\tmargin-top: 0.3rem;\r\n\t}\r\n\t.top3{\r\n\t\tmargin-top: 0.16rem;\r\n\t\tfont-size: 2.16rem;\r\n\t\tcolor: #ff0000;\r\n\t\tspan{\r\n\t\t\tmargin:0 0.6rem;\r\n\t\t}\r\n\t}\r\n\t.top4{\r\n\t\tdisplay: flex;\r\n\t\tfont-size: 0.44rem;\r\n\t\tdiv{\r\n\t\t\tdisplay: flex;\r\n\t\t\talign-items: center;\r\n\t\t\tjustify-content: center;\r\n\t\t}\r\n\t\tspan:first-child{\r\n\t\t\tmargin-right: 0.1rem;\r\n\t\t}\r\n\t\tspan:last-child{\r\n\t\t\tfont-size: 0.72rem;\r\n\t\t}\r\n\t}\r\n\t.middle{\r\n\t\tmargin-top: 0.15rem;\r\n\t\tdiv{\r\n\t\t\tpadding:0 0.2rem;\r\n\t\t\tborder:3px solid #e00101;\r\n\t\t\ttext-shadow: 0 0.05rem 0.5rem #8df;\r\n\t\t\tcolor: #ffffff;\r\n\t\t\tfont-size: 0.56rem;\r\n\t\t\tdisplay: flex;\r\n\t\t\talign-items: center;\r\n\t\t}\r\n\t}\r\n\t.bottom{\r\n\t\tmargin-top: 0.3rem;\r\n\t}\r\n\t.bottom1{\r\n\t\tdisplay: flex;\r\n\t\talign-items:center;\r\n\t\tjustify-content: space-between;\r\n\t}\r\n\t.bottom1-left{\r\n\t\tfont-size: 0.48rem;\r\n\t\tflex: 1;\r\n\t}\r\n\t.bottom1-left span:first-child{\r\n\t\tcolor: #ff0000;\r\n\t}\r\n\t.bottom1-left span:nth-child(2){\r\n\t\tcolor:#faf801;\r\n\t\tfont-weight: bold;\r\n\t}\r\n\t.bottom1-left span:last-child{\r\n\t\tfont-size: 0.4rem;\r\n\t}\r\n\t.bottom1-right span:first-child{\r\n\t\tfont-size: 0.44rem;\t\r\n\t\tmargin-right: 0.1rem;\r\n\t}\r\n\t.bottom1-right span:last-child{\r\n\t\tfont-size: 0.52rem;\r\n\t}\r\n\t.bottom2{\r\n\t\tdisplay: flex;\r\n\t\tfont-size: 0.44rem;\r\n\t\tmargin-top: 0.2rem;\r\n\t\tdiv{\r\n\t\t\tdisplay: flex;\r\n\t\t\talign-items: center;\r\n\t\t\tjustify-content: center;\r\n\t\t}\r\n\t\tspan:first-child{\r\n\t\t\tmargin-right: 0.1rem;\r\n\t\t}\r\n\t\tspan:last-child{\r\n\t\t\tfont-size: 0.72rem;\r\n\t\t}\r\n\t}\r\n\t.surplus2{\r\n\t\twidth: 30%;\r\n\t}\r\n\t.surplus2.on{\r\n\t\twidth: 50%;\r\n\t}\r\n\t.bottom3{\r\n\t\tdisplay: flex;\r\n\t\tpadding: 0 0.4rem;\r\n\t\tmargin-top: 0.1rem;\r\n\t\tfont-size:0.3rem;\r\n\t\talign-items: center;\r\n\t\tspan{\r\n\t\t\twidth: 33.3%;\r\n\t\t}\r\n\t}\r\n\t// 扫码购票\r\n\t.scan-code{\r\n\t\tmargin-top: 2rem;\r\n\t}\r\n\t.scan-img{\r\n\t\ttext-align: center;\r\n\t\timg{\r\n\t\t\twidth:200px;\r\n\t\t}\r\n\t}\r\n\t.scan-introduce{\r\n\t\tpadding: 1rem 0 0 1.6rem;\r\n\t}\r\n\t.scan-phone{\r\n\t\tpadding-left: 0.4rem;\r\n\t\tdiv{\r\n\t\t\tmargin-top: 0.6rem;\r\n\t\t\tfont-size: 0.4rem;\r\n\t\t}\r\n\t}\r\n","\r\n\t\r\n\t.wrap{\r\n\t background: rgba(0, 0, 0, 0.3);\r\n\t position: absolute;\r\n\t display: flex;\r\n\t align-items: center;\r\n\t justify-content: center;\r\n\t font-size:0.16rem;\r\n\t top: 0;\r\n\t left: 0;\r\n\t width: 100%;\r\n\t height: 100%;\r\n\t z-index: 99999;\r\n\t}\r\n\t.wrap pre {\r\n\t white-space: pre-wrap;\r\n\t word-wrap: break-word;\r\n\t line-height: 0.2rem;\r\n\t\tmargin: 0.2rem 0;\r\n\t}\r\n\t.wrap-content {\r\n\t width: 70%;\r\n\t height: 80%;\r\n\t background: #ffffff;\r\n\t}\r\n\t.top {\r\n\t border-bottom: 0.1rem solid #ececec;\r\n\t padding: 0.1rem 0.15rem;\r\n\t height: 8%;\r\n\t display: flex;\r\n\t align-items: center;\r\n\t}\r\n\t.top span{\r\n\t margin-left:0.05rem;\r\n\t color: #ff0000;\r\n\t\tfont-size:0.2rem;\r\n\t\tfont-weight: bold;\r\n\t}\r\n\t.middle {\r\n\t padding:0.1rem 0.15rem;\r\n\t border-bottom:0.1rem solid #ececec;\r\n\t}\r\n\t.middle-content{\r\n\t\tmargin-top:0.1rem;\r\n\t\tdisplay: flex;\r\n\t\talign-items: center;\r\n\t}\r\n\t#pro{\r\n\t\twidth:4rem;\r\n\t\theight: 0.4rem;\r\n\t}\r\n\t.bottom{\r\n\t height: 75%;\r\n\t overflow-y: scroll;\r\n\t}\r\n\t.bottom-list{\r\n\t\tmargin-top: 0.3rem;\r\n\t\tborder-bottom: 2px solid #ececec;\r\n\t\tpadding: 0 0.24rem;\r\n\t}\r\n\t.bottom-list div:not(:first-child){\r\n\t\tmargin-top: 0.15rem;\r\n\t}\r\n\t.bottom-list span{\r\n\t\tmargin-left: 0.1rem;\r\n\t}\r\n\t.logining{\r\n\t\ttext-align: center;\r\n\t\tmargin-top:20%;\r\n\t\tfont-size: 0.3rem;\r\n\t\tcolor: #ff0000;\r\n\t}\r\n\t.error{\r\n\t\tdisplay: flex;\r\n\t\theight: 0.6rem;\r\n\t\talign-items: center;\r\n\t\tjustify-content: space-between;\r\n\t\tfont-size: 0.3rem;\r\n\t\tcolor: #ff0000;\r\n\t\tpadding: 0 0.3rem;\r\n\t\tposition: absolute;\r\n\t\tbottom: 0;\r\n\t\twidth: 100%;\r\n\t}\r\n","body, div, ul, li, ol, h1, h2, h3, h4, h5, h6, input, textarea, select, p, dl, dt, dd, a, img, button, form, table, th, tr, td, tbody, article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section {\r\n margin: 0;\r\n padding: 0;\r\n\tbox-sizing: border-box;\r\n}\r\ntable{border-collapse:collapse;border-spacing:0;text-align:left}\r\ninput,textarea,button,select,a{outline:0 none;border: none;background: none;}\r\nimg,object,input,textarea,button,select{vertical-align:middle}\r\nhtml {height: 100%;font-size: 50px;}\r\nbody {height: 100%;color: #333;font-size: 0.16rem;}\r\nimg {border: none;}\r\na {text-decoration: none;}\r\ni{font-style: normal;}\r\n/*单行溢出*/\r\n.one-txt-cut{\r\n overflow: hidden;\r\n white-space: nowrap;\r\n text-overflow: ellipsis;\r\n}"],"names":[],"sourceRoot":""}
\ No newline at end of file
(function () {
try {
var idIndex = 0;
function getRequestID() {
idIndex++;
return new Date().getTime() + ":" + idIndex;
}
function Device(eve) {
this.__eve = eve;
this.__init(eve);
}
Device.prototype = {
__bufferSize: 4096,
__eve: null,
__tubida: null,
__cache: {},
__error: null,
__path: function (fromUrl, func) {
var path = require("path");
var fs = require("fs");
var funcs = [function () {
if (process && process.execPath) {
return path.dirname(process.execPath) + "\\Config\\"; //nw.exe运行地址
}
}, function () {
return '.\\';
}, function () {
return '.\\..\\';
}, function () {
return '.\\..\\..\\Config\\';
}];
for (var i = 0; i < funcs.length; i++) {
var path = funcs[i]();
if (!path) {
continue;
}
var url = path + fromUrl;
if (fs.existsSync(url)) {
return url;
}
}
throw new Error("File " + fromUrl + " not assess");
},
__init: function () {
var that = this;
if (that.__tubida != null) {
return;
}
var path = that.__path('Tubida.Center.exe');
const {spawn} = require('child_process');
that.__tubida = spawn(path); // 路径不能出错,一旦出错会导致Node-Webkit程序关闭;
var tubida = that.__tubida;
tubida.stdout.setEncoding('utf8');
tubida.stdin.setEncoding('utf8');
tubida.stdout.on('data', function (data) {
var json = "";
try {
// 将包含换行符的JSON转换为每行对象
var from = data.toString();
// 将接收的字符串进行拆包
that.__decode(from, function (to) {
// 将字符串进行转码,防止与拆包字符串冲突
json = that.__UTF8HexToString(to);
if (json) {
try {
// 执行回调,并判断是否出错
that.__executeBack(json);
} catch (e) {
that.__onReq(e);
}
}
});
} catch (e) {
that.__error && that.__error(e);
// console.log("json:", json);
console.log("exception:", e);
}
});
tubida.stderr.on('data', function (data) {
// console.log("stderr:" + data);
});
tubida.on('close', function (code) {
that.__tubida = null;
// console.log(`"子进程退出:" + code);
});
},
__decodecache: "",
// 将后台数据通过 \r \n 进行拆包,并交给函数 进行处理
__decode: function (from, func) {
var that = this;
// 找到第一个\r \n 的编号
var rIndex = from.indexOf('\r');
var nIndex = from.indexOf('\n');
// 没有找到结束符,则将整个字符串写入到缓存中
if (rIndex == -1 && nIndex == -1) {
that.__decodecache = that.__decodecache + from;
return;
}
var max = Math.max(rIndex, nIndex);
var min = Math.min(rIndex, nIndex);
var now = min < 1 ? max : min;
// 将字符串进行两头截断
var from_1 = from.substr(0, now);
var from_2 = from.substr(now + 1);
// 将缓存和前面的字符串进行组合
var to = that.__decodecache + from_1;
that.__decodecache = "";
if (to) {
func && func(to); // 执行第一个包
}
if (from_2) {
// 递归处理本次接收的后续字符串
that.__decode(from_2, func);
}
},
__onReq: function (res, item) {
var that = this;
that.__eve && that.__eve.req && that.__eve.req(res, item, that.__cache);
},
__each: function (obj, func) {
if (obj == null) {
return;
}
for (var key in obj) {
var item = obj[key];
func && func(key, item);
}
},
__responseCache: {},
__executeBack: function (json) {
var that = this;
if (!json) {
return;
}
// 将JSON转换为对象
var res = JSON.parse(json);
if (!res) {
return;
}
// 告诉子进程,已经收到了该数据
var resID = res.ResponseID;
if (!resID) {
that.__executeObject({
ResponseID: resID
});
}
// 记录已经处理的数据,防止重复处理
{
var now = new Date().getTime();
// 1.判断输出编号是否已经存在,存在则跳出函数
if (that.__responseCache[resID]) {
return;
}
// 2.删除超过10秒的请求的编号
that.__each(that.__responseCache, function (key, value) {
if (now - value > 5000) {
delete that.__responseCache[key];
}
});
// 3.写入当前输出编号
that.__responseCache[resID] = now;
}
// 当事件存在时处理事件
if (res.EventName) {
that.on(res);
}
else {
// 当是前台请求调用函数时,则对比时间进行处理
//that.__onReq("response 1", res);
// 获取输出所对应的请求
var item = that.__cache[res.RequestID];
if (!item) {
return;
}
var method = item.Method;
// 删除对应的请求的缓存,防止对应的请求的函数重复执行
delete that.__cache[res.RequestID];
// 删除已经过时的请求
{
var now = new Date().getTime();
if (!res.RequestID) {
that.__each(that.__cache, function (key, item) {
if (key) {
res.RequestID = key;
return;
}
if ((now - item.date) > 1000 * 60 * 60) {
delete that.__cache[key];
}
});
}
}
// 调用成功函数
// that.__onReq("response 3 " + method, res, item);
if (res.Status > 0 && item.success) {
// that.__onReq("success 1 " + method, res, item);
item.success(res.Data);
//that.__onReq("success 2 " + method, res, item);
}
else {
// 调用失败函数,当失败函数不存在时,则调用默认函数
//that.__onReq("error 1 " + method, res, item);
if (typeof item.error !== "function") {
item.error = function (res) {
if (that.error) {
that.error(res.Msg);
} else {
console.log(res.Msg);
}
};
// that.__onReq("error 2 " + method, res, item);
}
item.error(res);
//that.__onReq("error 3 " + method, res, item);
}
}
},
// 执行底层函数
__execute: function (method, data, func, funcError) {
var that = this;
if (!that.__tubida) {
throw new Error("请先初始化设备");
}
if (typeof data === "function") {
func = data;
data = null;
}
if (typeof func !== "function") {
throw new Error("请传入回调函数");
}
var request = {
RequestID: getRequestID(),
Method: method,
Data: data
};
that.__cache[request.RequestID] = {
Method: method,
success: func,
error: funcError,
date: new Date().getTime()
};
that.__executeObject(request);
},
__executeObject: function (request) {
var that = this;
//that.__onReq("request 1 " + request.Method, request);
var json = JSON.stringify(request);
var to = that.__StringToUTF8Hex(json);
that.__tubida.stdin.write(to + "\n");
},
__codes: [
{f: "%", t: "%1;"},
{f: "\n", t: "%2;"},
{f: "\r", t: "%3;"}
],
__StringToUTF8Hex: function (from) {
var to = from;
for (var i = 0; i < this.__codes.length; i++) {
to = to.replace(new RegExp(this.__codes[i].f, 'g'), this.__codes[i].t);
}
return to;
},
__UTF8HexToString: function (from) {
var to = from;
for (var i = this.__codes.length - 1; i >= 0; i--) {
to = to.replace(new RegExp(this.__codes[i].t, 'g'), this.__codes[i].f);
}
return to;
},
// 验证结果
__check: function (res) {
if (res.status < 1) {
throw new Error(res.msg);
}
},
on: function (res) {
var that = this;
that.__eve && that.__eve.on && that.__eve.on(res);
},
eve: function (eve) {
this.__eve = eve;
},
// 获取打印机名称,返回 string[]
getPrinter: function (func, funcError) {
return this.__execute("getPrinter", func, funcError);
},
// 获取字体大小, 返回 int[]
getFontSize: function (func, funcError) {
return this.__execute("getFontSize", func, funcError);
},
// 获取字体名称, 返回 string[]
getFontFramily: function (func, funcError) {
return this.__execute("getFontFramily", func, funcError);
},
// 注册设备
register: function (data, func, funcError) {
return this.__execute("Register", data, func, funcError);
},
// 获取状态
status: function (data, func, funcError) {
return this.__execute("Status", data, func, funcError);
},
// 初始化设备,该设备是全局的,只要有任何一个初始化,则全部都初始化了
init: function (data, func, funcError) {
return this.__execute("Init", data, func, funcError);
},
// 取消初始化设备
uninit: function (data, func, funcError) {
return this.__execute("UnInit", data, func, funcError);
},
// 打开设备,设备是全局的,只要有一个打开,则全部都打开了
open: function (data, func, funcError) {
return this.__execute("Open", data, func, funcError);
},
// 初始化设备
close: function (data, func, funcError) {
return this.__execute("Close", data, func, funcError);
},
// 打印文档
print: function (data, func, funcError) {
return this.__execute("Print", data, func, funcError);
},
// 打印预览文档
printView: function (data, func, funcError) {
return this.__execute("PrintView", data, func, funcError);
},
// 等待打印完成
printWait: function (data, func, funcError) {
return this.__execute("PrintWait", data, func, funcError);
},
// 播放音频
// data = { Files:["1.wav","2.wav"]}
play: function (data, func, funcError) {
return this.__execute("Play", data, func, funcError);
},
// 增加闸机过闸人数
doorOpen: function (data, func, funcError) {
return this.__execute("DoorOpen", data, func, funcError);
},
// 清除闸机过闸人数
doorClear: function (data, func, funcError) {
return this.__execute("DoorClear", data, func, funcError);
},
// 获取电脑的ID号
computerID: function (fun, funcError) {
return this.__execute("ComputerID", fun, funcError);
},
// 测试
test: function (data, func, funcError) {
return this.__execute("Test", data, func, funcError);
},
// 测试
update: function (data, func, funcError) {
return this.__execute("Update", data, func, funcError);
},
uninit: function () {
try {
this.__tubida.kill('SIGTERM');
//this.__tubida.kill('SIGHUP');
}
catch (e) {
alert(e);
}
}
};
function device(eve) {
return new Device(eve);
}
function Print(hard, options) {
this.hard = hard;
this.options(options);
}
Print.prototype = {
hard: null, // 设备中心
arr: [], // 打印的数据
pos: 0, // 打印位置
pause: false, // 暂停控制
printBack: null, // 打印完成回调函数
isRegister: false, // 是否已经注册过了
PrinterHardName: "ComputerPrint", // 打印机名称
PrinterName: "Microsoft XPS Document Writer", // 打印机名称
Class: "Tubida.Center.Hard.ComputerPrint", // C#驱动名称
pager: null,
options: function (options) {
for (var key in options) {
this[key] = options[key] || this[key];
}
},
log: function (name, status) {
//console.log(name + ":");
//console.log(status);
},
// 异步调用注册方法,初始化需要在异步函数中调用
// status为调用函数返回的状态,同时会线程自动调用 OnStatus(status) 函数
register: function (func, funcError) {
//debugger;
var that = this;
that.hard.register({
name: that.PrinterHardName,
Class: that.Class,
Init: true, // 注册时是否初始化
Config: { // 初始化的配置
PrinterName: that.PrinterName
}
}, function (status) {
that.isRegister = true;
that.log("register", status);
func && func();
}, funcError);
},
// 获取设备状态,异步模块会存在问题,出错了不能回调..
status: function (func, funcError) {
var that = this;
that.hard.status({
name: that.PrinterHardName,
Config: {
PrinterName: that.PrinterName
}
}, function (status) {
that.log("status", status);
func && func();
}, funcError);
},
// 检测打印机配置是否合法
init: function (func, funcError) {
var that = this;
that.hard.init({
name: that.PrinterHardName,
Config: {
PrinterName: that.PrinterName,
Pager: that.pager
}
}, function (status) {
that.log("init", status);
func && func();
}, funcError);
},
// 暂停打印
printPause: function () {
this.pause = true;
},
// 继续打印
printContinue: function () {
this.pause = false;
this.print();
},
printInit: function (printerName, pager) {
this.PrinterName = printerName;
this.pager = pager;
},
// 打印、继续打印
print: function (arr, func, funcError) {
var that = this;
var args = arguments;
if (!that.isRegister) {
that.register(function () {
that.print.apply(that, args)
}, funcError);
return;
}
if (arr) {
that.printBack = func;
}
if (!func) {
func = that.printBack;
}
var hard = that.hard;
if (that.pause) {
return;
}
if (arr && arr.length) {
that.pos = 0;
that.arr.length = 0;
for (var i = 0; i < arr.length; i++) {
that.arr.push(arr[i]);
}
}
function back(data) {
hard && hard.eve && hard.on(data);
func && func(data);
}
if (that.arr.length > 0) {
back({
HardName: that.PrinterHardName,
EventName: "printIteming",
Data: {
Pos: (that.pos + 1),
Count: (that.pos + that.arr.length),
Data: that.arr[0]
}
});
function nextPrint(res) {
back({
HardName: that.PrinterHardName,
EventName: "printItemed",
Data: {
Pos: (that.pos + 1),
Count: (that.pos + that.arr.length),
Data: that.arr[0]
}
});
that.pos++;
that.arr.shift();
// 继续打印
that.print();
}
// Print函数必须异步调用,因为需要在页面上点击暂停、继续按钮
that.hard.print({
name: that.PrinterHardName,
PrinterName: that.PrinterName,
Pager: that.pager,
Data: that.arr[0]
}, function (res) {
nextPrint(res);
}, funcError);
}
else {
back({
HardName: that.PrinterHardName,
EventName: "printed"
});
}
},
printView: function (data, func, funcError) {
var that = this;
var args = arguments;
if (!that.isRegister) {
that.register(function () {
that.printView.apply(that, args)
}, funcError);
}
// 打印预览
that.hard.printView({
name: that.PrinterHardName,
PrinterName: that.PrinterName,
Pager: that.pager,
Data: data
}, function (res) {
that.log("status", res);
func && func();
}, funcError);
}
};
function print(hard, options) {
return new Print(hard, options);
}
function NW(require) {
this.windowInit(require);
};
NW.prototype = {
msg: "NW Object",
gui: null,
win: null,
windowInit: function (require) {
if (!this.gui) {
this.gui = require('nw.gui');
}
if (!this.win && this.gui) {
this.win = this.getWin();
this.gui.App.clearCache();
}
return this;
},
getWin() {
return this.gui.Window.get();
},
windowOpenUrl: function (src, option) {
this.windowInit();
this.gui.Window.open(src, option);
return this;
},
windowFull: function () {
this.windowInit();
this.getWin().enterFullscreen();
return this;
},
windowFullLeave: function () {
this.windowInit();
this.getWin().leaveFullscreen();
return this;
},
windowFullToggle: function () {
this.windowInit();
this.getWin().toggleFullscreen();
return this;
},
windowMax: function () {
this.windowInit();
this.getWin().maximize();
return this;
},
windowRestore: function () {
this.windowInit();
this.getWin().restore();
return this;
},
windowMin: function () {
this.windowInit();
this.getWin().minimize();
return this;
},
windowClose: function () {
this.windowInit();
cache.hard && cache.hard.uninit();
this.getWin().close();
return this;
}
};
var OS = {
os: null,
fs: null,
request: null,
win: "win32",
log: function (func) {
try {
return func && func(this)
} catch (e) {
console.log(e);
}
},
init: function () {
this.log(function (that) {
that.os = require("os");
});
this.log(function (that) {
this.fs = require("fs");
});
this.log(function (that) {
this.request = require('request')
})
},
getPath: function () {
var path = require("path");
if (process && process.execPath) {
return path.dirname(process.execPath) + "\\Config\\"; //nw.exe运行地址
}
else {
return ".\\";
}
},
getSystemID: function (callBack) {
var url = this.getPath() + "HardKey.ini";
var fs = require("fs");
function hand(code, error) {
if (error && !code) {
error();
}
else {
write(code);
}
}
function write(code) {
if (!code) {
throw new Error("获取设备编号为空");
}
callBack && callBack(code);
}
function read(error) {
// 判断文件是否存在
var code = "";
if (fs.existsSync(url)) {
code = fs.readFileSync(url, 'utf8');
}
hand(code, error);
}
function net(error) {
var code = "";
var hard = cache.getHard();
hard.computerID(function (res) {
code = res;
hand(code, error);
}, function () {
hand(code, error);
});
}
var funcs = [read, net];
function next() {
if (!funcs.length) {
return;
}
var fun = funcs.shift();
fun(next);
}
next();
}
};
var cache = {
OS: OS,
// 声明需要处理的设备
hard: null,
print: null,
getPrint: function () {
this.getHard();
if (this.print == null) {
this.print = print(this.hard)
}
return this.print;
},
getHard: function () {
if (this.hard == null) {
this.hard = device({
// 所有的事件都通过该函数调用
on: function (arguments) {
console.log("event-on:", arguments);
}
});
}
return this.hard;
},
setPrintOptions: function (from) {
var json = JSON.stringify(from);
var to = JSON.parse(json);
this.getPrint().options(to);
}
};
cache.getPrint();
exports.init = function (win, func) {
win.NW = new NW(win.require);
win.OS = cache.OS;
win.sys = cache;
func && func();
};
} catch (e) {
exports.e = e;
}
})();
<!doctype html>
<html lang="">
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width,initial-scale=1">
<meta http-equiv="Cache-Control" content="no-cache, no-store, must-revalidate"/>
<meta http-equiv="Pragma" content="no-cache"/>
<meta http-equiv="Expires" content="0"/>
<link rel="icon" href="./favicon.ico">
<title>数据</title>
<script src="./base.js"></script>
<script defer="defer" src="./js/chunk-vendors.c22b2470.js"></script>
<script defer="defer" src="./js/app.d35df00b.js"></script>
<link href="./css/app.7092e2ee.css" rel="stylesheet">
</head>
<body>
<noscript><strong>We're sorry but tbd_screen_client doesn't work properly without JavaScript enabled. Please enable it
to continue.</strong></noscript>
<div id="app"></div>
</body>
</html>
\ No newline at end of file
(function(){var e={1106:function(){(function(e,t){var s=e.documentElement,a="onorientationchange"in window?"orientationchange":"resize",n=function(){var e=s.clientWidth;e&&(s.style.fontSize=e>=1920?"100px":e/1920*100+"px")};e.addEventListener&&(t.addEventListener(a,n,!1),e.addEventListener("DOMContentLoaded",n,!1))})(document,window)},4099:function(e,t,s){"use strict";var a=s(9242),n=s(3396);function o(e,t){const s=(0,n.up)("router-view");return(0,n.wg)(),(0,n.j4)(s)}var r=s(89);const i={},l=(0,r.Z)(i,[["render",o]]);var u=l,d=s(2483),c=s(7139),w=s(4870),A=s.p+"img/tbdLogo.4aa3f92d.png",v="data:image/png;base64,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",p=s(4161);let h="http://service.tourbida.com/";const g=(e="",t={})=>new Promise(((s,a)=>{p.Z.post(h+e,t).then((e=>{s(e.data)})).catch((e=>{a(e)}))}));var f=g;const m=e=>((0,n.dD)("data-v-54b0e0eb"),e=e(),(0,n.Cn)(),e),S={class:"wrap"},U={class:"top"},W={class:"top1"},y={class:"top1-left"},b=m((()=>(0,n._)("span",null,"当前时间",-1))),C={class:"left-number"},z=m((()=>(0,n._)("span",null,"最大载客量",-1))),F={class:"left-number"},T={class:"top1-right"},N={style:{"margin-left":"0.1rem"}},E={class:"top3"},x=m((()=>(0,n._)("span",null,"—",-1))),I={class:"top4"},Y={key:0,style:{"font-size":"0.68rem",width:"100%"}},B=m((()=>(0,n._)("span",null,"今日余票",-1))),L={style:{"font-size":"1rem"}},j={key:0,style:{width:"50%"}},Q=m((()=>(0,n._)("span",null,"已排号至",-1))),D={key:1,style:{width:"50%"}},k=m((()=>(0,n._)("span",null,"预计排队进入时间",-1))),H={style:{width:"50%"}},V=m((()=>(0,n._)("span",null,"今日余票",-1))),q={style:{width:"30%","padding-left":"0.2rem",display:"flex","justify-content":"flex-start"}},G=m((()=>(0,n._)("span",null,"已排号至",-1))),P={style:{width:"40%"}},M=m((()=>(0,n._)("span",null,"预计排队进入时间",-1))),O={style:{width:"30%","padding-right":"0.2rem",display:"flex","justify-content":"flex-end"}},_=m((()=>(0,n._)("span",null,"今日余票",-1))),X={class:"middle"},Z={class:"bottom"},R={class:"bottom1"},K={style:{"margin-left":"0.1rem"}},J={key:0,class:"bottom1-right"},$={class:"bottom2"},ee={style:{width:"50%"}},te={style:{width:"50%"}},se=m((()=>(0,n._)("span",null,"今日余票",-1))),ae={key:0,style:{width:"50%"}},ne=m((()=>(0,n._)("span",null,"已排号至",-1))),oe={key:1,style:{width:"50%"}},re=m((()=>(0,n._)("span",null,"预计排队进入时间",-1))),ie={style:{width:"50%"}},le=m((()=>(0,n._)("span",null,"今日余票",-1))),ue={style:{width:"30%","padding-left":"0.2rem",display:"flex","justify-content":"flex-start"}},de=m((()=>(0,n._)("span",null,"已排号至",-1))),ce={style:{width:"40%"}},we=m((()=>(0,n._)("span",null,"预计排队进入时间",-1))),Ae={style:{width:"30%","padding-right":"0.2rem",display:"flex","justify-content":"flex-end"}},ve=m((()=>(0,n._)("span",null,"今日余票",-1))),pe={class:"bottom3"},he={key:0,style:{"font-size":"12px",color:"#cccccc"}},ge={key:1,style:{color:"#ff0000","font-size":"16px"}},fe={style:{"text-align":"right",flex:"1"}},me=m((()=>(0,n._)("img",{src:A},null,-1))),Se={key:0,class:"scan-code"},Ue=(0,n.uE)('<div class="scan-img" data-v-54b0e0eb><div data-v-54b0e0eb><img src="'+v+'" data-v-54b0e0eb></div><div style="margin-top:0.6rem;font-size:0.4rem;" data-v-54b0e0eb> 扫一扫 </div></div><div class="scan-introduce" data-v-54b0e0eb><div style="color:#ff0000;font-size:0.48rem;font-weight:bold;" data-v-54b0e0eb> 购票说明: </div><div class="scan-phone" data-v-54b0e0eb><div data-v-54b0e0eb> 1.扫描上方二维码,实名预约购票; </div><div data-v-54b0e0eb> 2.景区咨询电话:023-68816888。 </div></div></div>',2),We=[Ue];var ye={__name:"sortScreen",setup(e){let t=(0,w.iH)(""),s=(0,w.iH)(0),a=(0,w.iH)(""),o=(0,w.iH)(""),r=(0,w.iH)({}),i=(0,w.iH)({}),l=(0,w.iH)(""),u=(0,w.iH)(""),d=!1,A="",v="",p="";sessionStorage.config&&(p=JSON.parse(sessionStorage.config).token,A=JSON.parse(sessionStorage.config),v=A.config,v.showEntryTime&&(v.showEntryTime=parseInt(v.showEntryTime)),v.showNumberTo&&(v.showNumberTo=parseInt(v.showNumberTo)),v.showScanningCode&&(v.showScanningCode=parseInt(v.showScanningCode)));let h="",g={companyId:A.companyId};function m(){f("tbd-product/sort/scene/batchQuery?token="+p,g).then((e=>{if("00"==e.code){d=!1;let t=e.data,a=e.data[0].projectId,n=e.data[1].projectId;o.value=e.main[a].projectExtend.screenTip||"",l.value=e.main[a].projectExtend.projectAddress||"",u.value=e.main[n].projectExtend.projectAddress||"",s=0,t.forEach((e=>{s+=e.batchDisplayNum,e.autoTitle=e.showEnd>=e.sortTotalCapacity?"请进入等候区":"正排队号段",e.color=e.showEnd>=e.sortTotalCapacity?"#ff0000":"#ffffff"})),r.value=t[0],i.value=t[1]}else t.value=e.message,d=!0})).catch((()=>{t.value="请求失败",d=!0})),h=setTimeout(m,1e3),(0,n.Jd)((()=>{clearTimeout(h)}))}function Ue(){a.value=(new Date).Format("hh:mm:ss"),setTimeout(Ue,1e3)}return m(),Ue(),(e,p)=>{const h=(0,n.up)("marquee");return(0,n.wg)(),(0,n.iD)("div",S,[(0,n._)("div",U,[(0,n._)("div",W,[(0,n._)("div",y,[(0,n._)("div",null,[b,(0,n._)("span",C,(0,c.zw)((0,w.SU)(a)),1)]),(0,n._)("div",null,[z,(0,n._)("span",F,(0,c.zw)((0,w.SU)(s)),1)])]),(0,n._)("div",T,[(0,n._)("span",null," 【本站】"+(0,c.zw)((0,w.SU)(A).companyName),1),(0,n._)("span",null,(0,c.zw)((0,w.SU)(r).projectName),1),(0,n._)("span",N,(0,c.zw)((0,w.SU)(l)||(0,w.SU)(r).projectRemark),1)])]),(0,n._)("div",{class:"top2",style:(0,c.j5)({color:(0,w.SU)(r).color})},(0,c.zw)((0,w.SU)(r).autoTitle),5),(0,n._)("div",E,[(0,n.Uk)((0,c.zw)((0,w.SU)(r).showStart),1),x,(0,n.Uk)((0,c.zw)((0,w.SU)(r).showEnd),1)]),(0,n._)("div",I,[(0,w.SU)(v).showNumberTo||(0,w.SU)(v).showEntryTime?(0,n.kq)("",!0):((0,n.wg)(),(0,n.iD)("div",Y,[B,(0,n._)("span",L,(0,c.zw)((0,w.SU)(r).batchHasNum),1)])),(0,w.SU)(v).showNumberTo!=(0,w.SU)(v).showEntryTime?((0,n.wg)(),(0,n.iD)(n.HY,{key:1},["1"==(0,w.SU)(v).showNumberTo?((0,n.wg)(),(0,n.iD)("div",j,[Q,(0,n._)("span",null,(0,c.zw)((0,w.SU)(r).sortTotalCapacity),1)])):(0,n.kq)("",!0),"1"==(0,w.SU)(v).showEntryTime?((0,n.wg)(),(0,n.iD)("div",D,[k,(0,n._)("span",null,(0,c.zw)((0,w.SU)(r).sortTotalTime),1)])):(0,n.kq)("",!0),(0,n._)("div",H,[V,(0,n._)("span",null,(0,c.zw)((0,w.SU)(r).batchHasNum),1)])],64)):(0,n.kq)("",!0),"1"==(0,w.SU)(v).showNumberTo&&"1"==(0,w.SU)(v).showEntryTime?((0,n.wg)(),(0,n.iD)(n.HY,{key:2},[(0,n._)("div",q,[G,(0,n._)("span",null,(0,c.zw)((0,w.SU)(r).sortTotalCapacity),1)]),(0,n._)("div",P,[M,(0,n._)("span",null,(0,c.zw)((0,w.SU)(r).sortTotalTime),1)]),(0,n._)("div",O,[_,(0,n._)("span",null,(0,c.zw)((0,w.SU)(r).batchHasNum),1)])],64)):(0,n.kq)("",!0)])]),(0,n._)("div",X,[(0,n._)("div",null,[(0,n.Wm)(h,{scrollamount:"7",style:{height:"0.6rem","font-size":"0.4rem"},innerHTML:(0,w.SU)(o)},null,8,["innerHTML"])])]),(0,n._)("div",Z,[(0,n._)("div",R,[(0,n._)("div",{class:"bottom1-left",style:(0,c.j5)({textAlign:"1"==(0,w.SU)(v).showNumberTo||"1"==(0,w.SU)(v).showEntryTime?"left":"center"})},[(0,n._)("span",null," 【对岸】"+(0,c.zw)((0,w.SU)(A).companyName),1),(0,n._)("span",null,(0,c.zw)((0,w.SU)(i).projectName),1),(0,n._)("span",K,(0,c.zw)((0,w.SU)(u)||(0,w.SU)(i).projectRemark),1)],4),"1"==(0,w.SU)(v).showNumberTo||"1"==(0,w.SU)(v).showEntryTime?((0,n.wg)(),(0,n.iD)("div",J,[(0,n._)("span",{style:(0,c.j5)({color:(0,w.SU)(i).color})},(0,c.zw)((0,w.SU)(i).autoTitle),5),(0,n._)("span",null,(0,c.zw)((0,w.SU)(i).showStart)+"-"+(0,c.zw)((0,w.SU)(i).showEnd),1)])):(0,n.kq)("",!0)]),(0,n._)("div",$,[(0,w.SU)(v).showNumberTo||(0,w.SU)(v).showEntryTime?(0,n.kq)("",!0):((0,n.wg)(),(0,n.iD)(n.HY,{key:0},[(0,n._)("div",ee,[(0,n._)("span",{style:(0,c.j5)({color:(0,w.SU)(i).color})},(0,c.zw)((0,w.SU)(i).autoTitle),5),(0,n._)("span",null,(0,c.zw)((0,w.SU)(i).showStart)+"-"+(0,c.zw)((0,w.SU)(i).showEnd),1)]),(0,n._)("div",te,[se,(0,n._)("span",null,(0,c.zw)((0,w.SU)(i).batchHasNum),1)])],64)),(0,w.SU)(v).showNumberTo!=(0,w.SU)(v).showEntryTime?((0,n.wg)(),(0,n.iD)(n.HY,{key:1},["1"==(0,w.SU)(v).showNumberTo?((0,n.wg)(),(0,n.iD)("div",ae,[ne,(0,n._)("span",null,(0,c.zw)((0,w.SU)(i).sortTotalCapacity),1)])):(0,n.kq)("",!0),"1"==(0,w.SU)(v).showEntryTime?((0,n.wg)(),(0,n.iD)("div",oe,[re,(0,n._)("span",null,(0,c.zw)((0,w.SU)(i).sortTotalTime),1)])):(0,n.kq)("",!0),(0,n._)("div",ie,[le,(0,n._)("span",null,(0,c.zw)((0,w.SU)(i).batchHasNum),1)])],64)):(0,n.kq)("",!0),"1"==(0,w.SU)(v).showNumberTo&&"1"==(0,w.SU)(v).showEntryTime?((0,n.wg)(),(0,n.iD)(n.HY,{key:2},[(0,n._)("div",ue,[de,(0,n._)("span",null,(0,c.zw)((0,w.SU)(i).sortTotalCapacity),1)]),(0,n._)("div",ce,[we,(0,n._)("span",null,(0,c.zw)((0,w.SU)(i).sortTotalTime),1)]),(0,n._)("div",Ae,[ve,(0,n._)("span",null,(0,c.zw)((0,w.SU)(i).batchHasNum),1)])],64)):(0,n.kq)("",!0)]),(0,n._)("div",pe,[(0,w.SU)(d)?((0,n.wg)(),(0,n.iD)("span",he,"设备编号:"+(0,c.zw)((0,w.SU)(A).deviceKey),1)):(0,n.kq)("",!0),(0,w.SU)(d)?((0,n.wg)(),(0,n.iD)("span",ge,"状态:"+(0,c.zw)((0,w.SU)(t)),1)):(0,n.kq)("",!0),(0,n._)("span",fe,[me,(0,n.Uk)(" ver"+(0,c.zw)((0,w.SU)(A).versionName),1)])])]),"1"==(0,w.SU)(v).showScanningCode?((0,n.wg)(),(0,n.iD)("div",Se,We)):(0,n.kq)("",!0)])}}};const be=(0,r.Z)(ye,[["__scopeId","data-v-54b0e0eb"]]);var Ce=be;s(7658);const ze=e=>((0,n.dD)("data-v-0bc6b05e"),e=e(),(0,n.Cn)(),e),Fe={key:0,class:"wrap"},Te={class:"wrap-content"},Ne={class:"top"},Ee={class:"middle"},xe={class:"middle-content"},Ie=ze((()=>(0,n._)("progress",{id:"pro"},null,-1))),Ye={style:{"margin-left":"0.1rem"}},Be={class:"bottom"},Le=ze((()=>(0,n._)("div",{class:"logining"},"登录中...",-1))),je={class:"error"};var Qe={__name:"login",setup(e){let t=(0,d.tv)(),s=(0,w.iH)(""),a=(0,w.iH)(""),o=(0,w.iH)(""),r=(0,w.iH)(!1),i=(0,w.qj)({}),l="";function u(){p.Z.get("/package.json").then((e=>{if(200==e.status){let t=parseInt(e.data.version);localStorage.version=localStorage.version||0,t>localStorage.version&&(localStorage.version=t,localStorage.versionName=e.data.versionName),A()}}))}function A(){Base.initCode((e=>{s.value=e;let o={deviceType:"OrderScreen",deviceKey:e,userName:"",userPwd:"",login:!0,versionInt:localStorage.version};f("tbd-system/login/in",o).then((e=>{"00"==e.code?(s.value="",a.value="",sessionStorage.config=JSON.stringify(e.data),Base.isWeb?t.push("/sortScreen"):v(e.data,(function(){t.push("/sortScreen")}))):(a.value=e.message,l=setTimeout((()=>{A()}),5e3),(0,n.Jd)((()=>{clearTimeout(l)})))})).catch((()=>{l=setTimeout((()=>{A()}),5e3),(0,n.Jd)((()=>{clearTimeout(l)}))}))}))}function v(e,t){var s=e||{},a=s.version||[];if(!Base.isWeb&&a&&a.length){r.value=!0;var n=a[0];i.last=n.updateVersion,i.version=a,u()}else t&&t();function l(e){Object.assign(i,e);let t=document.getElementById("pro");s.isFile?(t.setAttribute("max",i.statusSize),t.setAttribute("value",i.statusPos),i.statusPosName=h(i.statusPos).val,i.statusSizeName=h(i.statusSize).val):(t.removeAttribute("max"),t.removeAttribute("value"),i.statusPosName=i.statusPos,i.statusSizeName=i.statusSize)}function u(){var e=window.process;l();var a=Base.getHard();a.eve({on:function(e){e=e||{},"update"==e.EventName&&l(e.Data)}});var i=e.mainModule.path||e.mainModule.paths[0].replace("\\node_modules","");a.update({app:e.execPath,arg:i,version:s.version},(function(e){l(e),localStorage.version=n.updateVersionInt,localStorage.versionName=n.updateVersion,Base.close()}),(function(e){r.vaue=!1,o.value=e.msg||e.Msg||"更新未知错误",setTimeout((function(){t&&t()}),3e3)}))}}function h(e){for(var t={size:e,val:e+"B",valNum:e,valUnit:"B"},s=["KB","MB","GB","TB"],a=0;a<s.length;a++){var n=Math.pow(1024,a+1);if(e>n){var o=Base.Ronud(e/n,2);t={size:e,val:o+s[a],valNum:o,valUnit:s[a]}}}return t}return Base.isWeb?A():u(),(e,t)=>((0,n.wg)(),(0,n.iD)(n.HY,null,[(0,w.SU)(r)?((0,n.wg)(),(0,n.iD)("div",Fe,[(0,n._)("div",Te,[(0,n._)("div",Ne,[(0,n.Uk)(" 正在更新版本 "),(0,n._)("span",null,(0,c.zw)((0,w.SU)(i).last),1)]),(0,n._)("div",Ee,[(0,n._)("h3",null,(0,c.zw)((0,w.SU)(i).status),1),(0,n._)("div",xe,[Ie,(0,n._)("span",Ye,(0,c.zw)((0,w.SU)(i).statusPosName),1),(0,n.Uk)(" / "),(0,n._)("span",null,(0,c.zw)((0,w.SU)(i).statusSizeName),1)])]),(0,n._)("div",Be,[((0,n.wg)(!0),(0,n.iD)(n.HY,null,(0,n.Ko)((0,w.SU)(i).version,((e,t)=>((0,n.wg)(),(0,n.iD)("div",{class:"bottom-list",key:t},[(0,n._)("div",null,[(0,n.Uk)(" 版本号:"),(0,n._)("span",null,(0,c.zw)(e.updateVersion),1)]),(0,n._)("div",null,[(0,n.Uk)(" 更新时间: "),(0,n._)("span",null,(0,c.zw)(e.createDate),1)]),(0,n._)("div",null,[(0,n.Uk)(" 更新内容: "),(0,n._)("pre",null,(0,c.zw)(e.updateVersionRemark),1)])])))),128))])])])):(0,n.kq)("",!0),Le,(0,n._)("div",je,[(0,n._)("span",null,(0,c.zw)((0,w.SU)(s)),1),(0,n._)("span",null,(0,c.zw)((0,w.SU)(o)),1),(0,n._)("span",null,(0,c.zw)((0,w.SU)(a)),1)])],64))}};const De=(0,r.Z)(Qe,[["__scopeId","data-v-0bc6b05e"]]);var ke=De;const He=[{path:"/",name:"login",component:ke},{path:"/sortScreen",name:"sortScreen",component:Ce}],Ve=(0,d.p7)({history:(0,d.r5)("/"),routes:He});var qe=Ve,Ge=s(65),Pe=(0,Ge.MT)({state:{},getters:{},mutations:{},actions:{},modules:{}});s(1106);Date.prototype.Format=function(e){var t={"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()};for(var s in/(y+)/.test(e)&&(e=e.replace(RegExp.$1,(this.getFullYear()+"").substr(4-RegExp.$1.length))),t)new RegExp("("+s+")").test(e)&&(e=e.replace(RegExp.$1,1==RegExp.$1.length?t[s]:("00"+t[s]).substr((""+t[s]).length)));return e},(0,a.ri)(u).use(Pe).use(qe).mount("#app")}},t={};function s(a){var n=t[a];if(void 0!==n)return n.exports;var o=t[a]={exports:{}};return e[a](o,o.exports,s),o.exports}s.m=e,function(){var e=[];s.O=function(t,a,n,o){if(!a){var r=1/0;for(d=0;d<e.length;d++){a=e[d][0],n=e[d][1],o=e[d][2];for(var i=!0,l=0;l<a.length;l++)(!1&o||r>=o)&&Object.keys(s.O).every((function(e){return s.O[e](a[l])}))?a.splice(l--,1):(i=!1,o<r&&(r=o));if(i){e.splice(d--,1);var u=n();void 0!==u&&(t=u)}}return t}o=o||0;for(var d=e.length;d>0&&e[d-1][2]>o;d--)e[d]=e[d-1];e[d]=[a,n,o]}}(),function(){s.n=function(e){var t=e&&e.__esModule?function(){return e["default"]}:function(){return e};return s.d(t,{a:t}),t}}(),function(){s.d=function(e,t){for(var a in t)s.o(t,a)&&!s.o(e,a)&&Object.defineProperty(e,a,{enumerable:!0,get:t[a]})}}(),function(){s.g=function(){if("object"===typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(e){if("object"===typeof window)return window}}()}(),function(){s.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)}}(),function(){s.p="/"}(),function(){var e={143:0};s.O.j=function(t){return 0===e[t]};var t=function(t,a){var n,o,r=a[0],i=a[1],l=a[2],u=0;if(r.some((function(t){return 0!==e[t]}))){for(n in i)s.o(i,n)&&(s.m[n]=i[n]);if(l)var d=l(s)}for(t&&t(a);u<r.length;u++)o=r[u],s.o(e,o)&&e[o]&&e[o][0](),e[o]=0;return s.O(d)},a=self["webpackChunktbd_screen_client"]=self["webpackChunktbd_screen_client"]||[];a.forEach(t.bind(null,0)),a.push=t.bind(null,a.push.bind(a))}();var a=s.O(void 0,[998],(function(){return s(4099)}));a=s.O(a)})();
//# sourceMappingURL=app.d35df00b.js.map
\ No newline at end of file
{"version":3,"file":"js/app.d35df00b.js","mappings":"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","sources":["webpack://tbd_screen_client/./src/assets/js/responsive.js","webpack://tbd_screen_client/./src/App.vue","webpack://tbd_screen_client/./src/App.vue?7ccd","webpack://tbd_screen_client/./src/assets/js/request.js","webpack://tbd_screen_client/./src/views/sortScreen.vue","webpack://tbd_screen_client/./src/views/sortScreen.vue?1fd6","webpack://tbd_screen_client/./src/views/login.vue","webpack://tbd_screen_client/./src/views/login.vue?6051","webpack://tbd_screen_client/./src/router/index.js","webpack://tbd_screen_client/./src/store/index.js","webpack://tbd_screen_client/./src/main.js","webpack://tbd_screen_client/webpack/bootstrap","webpack://tbd_screen_client/webpack/runtime/chunk loaded","webpack://tbd_screen_client/webpack/runtime/compat get default export","webpack://tbd_screen_client/webpack/runtime/define property getters","webpack://tbd_screen_client/webpack/runtime/global","webpack://tbd_screen_client/webpack/runtime/hasOwnProperty shorthand","webpack://tbd_screen_client/webpack/runtime/publicPath","webpack://tbd_screen_client/webpack/runtime/jsonp chunk loading","webpack://tbd_screen_client/webpack/startup"],"sourcesContent":["(function (doc, win) {\r\n var docEl = doc.documentElement,\r\n resizeEvt = 'onorientationchange' in window ? 'orientationchange' : 'resize',\r\n recalc = function () {\r\n var clientWidth = docEl.clientWidth;\r\n if (!clientWidth) return;\r\n if (clientWidth >= 1920) {\r\n docEl.style.fontSize = '100px';\r\n } else {\r\n docEl.style.fontSize = 100 * (clientWidth / 1920) + 'px';\r\n }\r\n };\r\n\r\n if (!doc.addEventListener) return;\r\n win.addEventListener(resizeEvt, recalc, false);\r\n doc.addEventListener('DOMContentLoaded', recalc, false);\r\n})(document, window);","<template>\r\n <router-view/>\r\n</template>\r\n\r\n<style lang=\"scss\">\r\n\t#app{\r\n\t\theight: 100%;\r\n\t}\r\n</style>\r\n","import { render } from \"./App.vue?vue&type=template&id=30cdffb2\"\nconst script = {}\n\nimport \"./App.vue?vue&type=style&index=0&id=30cdffb2&lang=scss\"\n\nimport exportComponent from \"D:\\\\Source\\\\tbd-new\\\\tbd_screen_client\\\\node_modules\\\\vue-loader\\\\dist\\\\exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","import axios from 'axios'\r\nlet baseUrl= \"http://service.tourbida.com/\"\r\nconst request = (url = '', data = {}) => {\r\n return new Promise((resolve, reject) => {\r\n\t\t\taxios.post(baseUrl+url, data).then((res) => {\r\n\t\t\t\t\tresolve(res.data)\r\n\t\t\t}).catch((err) => {\r\n\t\t\t\t\treject(err)\r\n\t\t\t})\r\n })\r\n}\r\nexport default request","<template>\r\n\t<div class=\"wrap\">\r\n\t\t<!-- 本站 -->\r\n\t\t<div class=\"top\">\r\n\t\t\t<div class=\"top1\">\r\n\t\t\t\t<div class=\"top1-left\">\r\n\t\t\t\t\t<div>\r\n\t\t\t\t\t\t<span>当前时间</span>\r\n\t\t\t\t\t\t<span class=\"left-number\">{{time}}</span>\r\n\t\t\t\t\t</div>\r\n\t\t\t\t\t<div>\r\n\t\t\t\t\t\t<span>最大载客量</span>\r\n\t\t\t\t\t\t<span class=\"left-number\">{{maxNumber}}</span>\r\n\t\t\t\t\t</div>\r\n\t\t\t\t</div>\r\n\t\t\t\t<div class=\"top1-right\">\r\n\t\t\t\t\t<span>\r\n\t\t\t\t\t\t【本站】{{config.companyName}}\r\n\t\t\t\t\t</span>\r\n\t\t\t\t\t<span>\r\n\t\t\t\t\t\t{{self.projectName}}\r\n\t\t\t\t\t</span>\r\n\t\t\t\t\t<span style=\"margin-left: 0.1rem;\">\r\n\t\t\t\t\t\t{{selfAdd||self.projectRemark}}\r\n\t\t\t\t\t</span>\r\n\t\t\t\t</div>\r\n\t\t\t</div>\r\n\t\t\t<div class=\"top2\" :style=\"{color:self.color}\">\r\n\t\t\t\t{{self.autoTitle}}\r\n\t\t\t</div>\r\n\t\t\t<div class=\"top3\">\r\n\t\t\t\t{{self.showStart}}<span>—</span>{{self.showEnd}}\r\n\t\t\t</div>\r\n\t\t\t<div class=\"top4\">\r\n\t\t\t\t<!-- 排号和时间都不显示 -->\r\n\t\t\t\t<template v-if=\"!config2.showNumberTo&&!config2.showEntryTime\">\r\n\t\t\t\t\t<div style=\"font-size: 0.68rem;width: 100%;\">\r\n\t\t\t\t\t\t<span>今日余票</span>\r\n\t\t\t\t\t\t<span style=\"font-size: 1rem;\">{{self.batchHasNum}}</span>\r\n\t\t\t\t\t</div>\r\n\t\t\t\t</template>\r\n\t\t\t\t<!-- 排号和时间显示一个 -->\r\n\t\t\t\t<template v-if=\"config2.showNumberTo!=config2.showEntryTime\">\r\n\t\t\t\t\t<div style=\"width:50%;\" v-if=\"config2.showNumberTo=='1'\">\r\n\t\t\t\t\t\t<span>已排号至</span>\r\n\t\t\t\t\t\t<span>{{self.sortTotalCapacity}}</span>\r\n\t\t\t\t\t</div>\r\n\t\t\t\t\t<div style=\"width:50%;\" v-if=\"config2.showEntryTime=='1'\">\r\n\t\t\t\t\t\t<span>预计排队进入时间</span>\r\n\t\t\t\t\t\t<span>{{self.sortTotalTime}}</span>\r\n\t\t\t\t\t</div>\r\n\t\t\t\t\t<div style=\"width: 50%;\">\r\n\t\t\t\t\t\t<span>今日余票</span>\r\n\t\t\t\t\t\t<span>{{self.batchHasNum}}</span>\r\n\t\t\t\t\t</div>\r\n\t\t\t\t</template>\r\n\t\t\t\t<!-- 排号和时间都显示 -->\r\n\t\t\t\t<template v-if=\"config2.showNumberTo=='1'&&config2.showEntryTime=='1'\">\r\n\t\t\t\t\t<div style=\"width: 30%;padding-left: 0.2rem;display: flex;justify-content: flex-start;\">\r\n\t\t\t\t\t\t<span>已排号至</span>\r\n\t\t\t\t\t\t<span>{{self.sortTotalCapacity}}</span>\r\n\t\t\t\t\t</div>\r\n\t\t\t\t\t<div style=\"width: 40%;\">\r\n\t\t\t\t\t\t<span>预计排队进入时间</span>\r\n\t\t\t\t\t\t<span>{{self.sortTotalTime}}</span>\r\n\t\t\t\t\t</div>\r\n\t\t\t\t\t<div style=\"width: 30%;padding-right: 0.2rem;display: flex;justify-content: flex-end;\">\r\n\t\t\t\t\t\t<span>今日余票</span>\r\n\t\t\t\t\t\t<span>{{self.batchHasNum}}</span>\r\n\t\t\t\t\t</div>\r\n\t\t\t\t</template>\r\n\t\t\t</div>\r\n\t\t</div>\r\n\t\t\r\n\t\t<div class=\"middle\">\r\n\t\t\t<div>\r\n\t\t\t\t<marquee scrollamount=\"7\" style=\"height: 0.6rem;font-size: 0.4rem;\" v-html=\"screenTip\">\r\n\t\t\t\t\t\r\n\t\t\t\t</marquee>\r\n\t\t\t</div>\r\n\t\t\t\r\n\t\t</div>\r\n\t\t<!-- 对岸 -->\r\n\t\t<div class=\"bottom\">\r\n\t\t\t<div class=\"bottom1\">\r\n\t\t\t\t<!-- 排号和时间只显示一个,或者都显示 -->\r\n\t\t\t\t<div class=\"bottom1-left\" :style=\"{textAlign:config2.showNumberTo=='1'||config2.showEntryTime=='1'?'left':'center'}\">\r\n\t\t\t\t\t<span>\r\n\t\t\t\t\t\t【对岸】{{config.companyName}}\r\n\t\t\t\t\t</span>\r\n\t\t\t\t\t<span>\r\n\t\t\t\t\t\t{{other.projectName}}\r\n\t\t\t\t\t</span>\r\n\t\t\t\t\t<span style=\"margin-left: 0.1rem;\">\r\n\t\t\t\t\t\t{{otherAdd||other.projectRemark}}\r\n\t\t\t\t\t</span>\r\n\t\t\t\t</div>\r\n\t\t\t\t<!-- 排号和时间只显示一个,或者都显示 -->\r\n\t\t\t\t<div class=\"bottom1-right\" v-if=\"config2.showNumberTo=='1'||config2.showEntryTime=='1'\">\r\n\t\t\t\t\t<span :style=\"{color:other.color}\">{{other.autoTitle}}</span>\r\n\t\t\t\t\t<span>{{other.showStart}}-{{other.showEnd}}</span>\r\n\t\t\t\t</div>\r\n\t\t\t</div>\r\n\t\t\t\r\n\t\t\t<div class=\"bottom2\">\r\n\t\t\t\t<!--排号和时间都不显示 -->\r\n\t\t\t\t<template v-if=\"!config2.showNumberTo&&!config2.showEntryTime\">\r\n\t\t\t\t\t<div style=\"width:50%;\">\r\n\t\t\t\t\t\t<span :style=\"{color:other.color}\">{{other.autoTitle}}</span>\r\n\t\t\t\t\t\t<span>{{other.showStart}}-{{other.showEnd}}</span>\r\n\t\t\t\t\t</div>\r\n\t\t\t\t\t<div style=\"width: 50%;\">\r\n\t\t\t\t\t\t<span>今日余票</span>\r\n\t\t\t\t\t\t<span>{{other.batchHasNum}}</span>\r\n\t\t\t\t\t</div>\r\n\t\t\t\t</template>\r\n\t\t\t\t<!-- 排号和时间显示一个-->\r\n\t\t\t\t<template v-if=\"config2.showNumberTo!=config2.showEntryTime\">\r\n\t\t\t\t\t<div style=\"width:50%;\" v-if=\"config2.showNumberTo=='1'\">\r\n\t\t\t\t\t\t<span>已排号至</span>\r\n\t\t\t\t\t\t<span>{{other.sortTotalCapacity}}</span>\r\n\t\t\t\t\t</div>\r\n\t\t\t\t\t<div style=\"width:50%;\" v-if=\"config2.showEntryTime=='1'\">\r\n\t\t\t\t\t\t<span>预计排队进入时间</span>\r\n\t\t\t\t\t\t<span>{{other.sortTotalTime}}</span>\r\n\t\t\t\t\t</div>\r\n\t\t\t\t\t<div style=\"width: 50%;\">\r\n\t\t\t\t\t\t<span>今日余票</span>\r\n\t\t\t\t\t\t<span>{{other.batchHasNum}}</span>\r\n\t\t\t\t\t</div>\r\n\t\t\t\t</template>\r\n\t\t\t\t<!-- 排号和时间都显示 -->\r\n\t\t\t\t<template v-if=\"config2.showNumberTo=='1'&&config2.showEntryTime=='1'\">\r\n\t\t\t\t\t<div style=\"width: 30%;padding-left: 0.2rem;display: flex;justify-content: flex-start;\">\r\n\t\t\t\t\t\t<span>已排号至</span>\r\n\t\t\t\t\t\t<span>{{other.sortTotalCapacity}}</span>\r\n\t\t\t\t\t</div>\r\n\t\t\t\t\t<div style=\"width: 40%;\">\r\n\t\t\t\t\t\t<span>预计排队进入时间</span>\r\n\t\t\t\t\t\t<span>{{other.sortTotalTime}}</span>\r\n\t\t\t\t\t</div>\r\n\t\t\t\t\t<div style=\"width: 30%;padding-right: 0.2rem;display: flex;justify-content: flex-end;\">\r\n\t\t\t\t\t\t<span>今日余票</span>\r\n\t\t\t\t\t\t<span>{{other.batchHasNum}}</span>\r\n\t\t\t\t\t</div>\r\n\t\t\t\t</template>\r\n\t\t\t</div>\r\n\t\t\t\r\n\t\t\t<div class=\"bottom3\">\r\n\t\t\t\t<span style=\"font-size: 12px;color: #cccccc;\" v-if='showStatus'>设备编号:{{config.deviceKey}}</span>\r\n\t\t\t\t<span style=\"color: #ff0000;font-size: 16px;\" v-if='showStatus'>状态:{{errorMessage}}</span>\r\n\t\t\t\t<span style=\"text-align: right;flex: 1;\">\r\n\t\t\t\t\t<img src=\"../assets/image/tbdLogo.png\"/>\r\n\t\t\t\t\tver{{config.versionName}}\r\n\t\t\t\t</span>\r\n\t\t\t</div>\r\n\t\t</div>\r\n\t\t<!--扫码购票-->\r\n\t\t<div class=\"scan-code\" v-if=\"config2.showScanningCode=='1'\">\r\n\t\t\t<div class=\"scan-img\">\r\n\t\t\t\t<div>\r\n\t\t\t\t\t<img src=\"../assets/image/scanCode.png\"/>\r\n\t\t\t\t</div>\r\n\t\t\t\t<div style=\"margin-top: 0.6rem;font-size: 0.4rem;\">\r\n\t\t\t\t\t扫一扫\r\n\t\t\t\t</div>\r\n\t\t\t</div>\r\n\t\t\t\r\n\t\t\t<div class=\"scan-introduce\">\r\n\t\t\t\t<div style=\"color: #ff0000;font-size: 0.48rem;font-weight: bold;\">\r\n\t\t\t\t\t购票说明:\r\n\t\t\t\t</div>\r\n\t\t\t\t<div class=\"scan-phone\">\r\n\t\t\t\t\t<div>\r\n\t\t\t\t\t\t1.扫描上方二维码,实名预约购票;\r\n\t\t\t\t\t</div>\r\n\t\t\t\t\t<div>\r\n\t\t\t\t\t\t2.景区咨询电话:023-68816888。\r\n\t\t\t\t\t</div>\r\n\t\t\t\t</div>\r\n\t\t\t</div>\r\n\t\t</div>\r\n\t</div>\r\n</template>\r\n\r\n<script setup>\r\n\timport { ref,reactive,onBeforeUnmount} from 'vue'\r\n\timport $request from '../assets/js/request.js'\r\n\t//是否显示取号信息,默认游客不展示,管理员展示\r\n\tlet errorMessage=ref('')\r\n\tlet maxNumber=ref(0)//最大购买数量\r\n\tlet time=ref('') //倒计时\r\n\tlet screenTip=ref('')//配置信息\r\n\tlet self=ref({})//本站点信息\r\n\tlet other=ref({})//其他站点信息\r\n\tlet selfAdd=ref('')//本站地址\r\n\tlet otherAdd=ref('')//对面地址\r\n\tlet showStatus=false\r\n\tlet config=''\r\n\tlet config2=''\r\n\tlet token=''\r\n\tif(sessionStorage.config){\r\n\t\ttoken=JSON.parse(sessionStorage.config).token\r\n\t\tconfig=JSON.parse(sessionStorage.config)//登录缓存的本地信息\r\n\t\tconfig2=config.config\r\n\t\tif(config2.showEntryTime){\r\n\t\t\tconfig2.showEntryTime=parseInt(config2.showEntryTime)\r\n\t\t}\r\n\t\tif(config2.showNumberTo){\r\n\t\t\tconfig2.showNumberTo=parseInt(config2.showNumberTo)\r\n\t\t}\r\n\t\tif(config2.showScanningCode){\r\n\t\t\tconfig2.showScanningCode=parseInt(config2.showScanningCode)\r\n\t\t}\r\n\t}\r\n\tlet timer=''\r\n\t//---获取排队信息\r\n\tlet data={\r\n\t\tcompanyId:config.companyId\r\n\t}\r\n\tfunction getSort(){\r\n\t\t$request(\"tbd-product/sort/scene/batchQuery?token=\"+token, data).then((res) => {\r\n\t\t if (res.code == \"00\") {\r\n\t\t\t\tshowStatus=false\r\n\t\t\t\tlet sortInfo=res.data\r\n\t\t\t\t//站点Id\r\n\t\t\t\tlet projectId1=res.data[0].projectId\r\n\t\t\t\tlet projectId2=res.data[1].projectId\r\n\t\t\t\tscreenTip.value=res.main[projectId1].projectExtend.screenTip||''\r\n\t\t\t\tselfAdd.value=res.main[projectId1].projectExtend.projectAddress||''\r\n\t\t\t\totherAdd.value=res.main[projectId2].projectExtend.projectAddress||''\r\n\t\t\t\tmaxNumber=0\r\n\t\t\t\tsortInfo.forEach(item=>{\r\n\t\t\t\t\tmaxNumber+=item.batchDisplayNum\r\n\t\t\t\t\titem.autoTitle = item.showEnd >= item.sortTotalCapacity ? \"请进入等候区\" : \"正排队号段\"\r\n\t\t\t\t\titem.color = item.showEnd >= item.sortTotalCapacity ? \"#ff0000\" : \"#ffffff\"\r\n\t\t\t\t})\r\n\t\t\t\tself.value=sortInfo[0]\r\n\t\t\t\tother.value=sortInfo[1]\r\n\t\t }else{\r\n\t\t\t\terrorMessage.value=res.message\r\n\t\t\t\tshowStatus=true\r\n\t\t\t} \t\r\n\t\t}).catch(()=>{\r\n\t\t\terrorMessage.value='请求失败'\r\n\t\t\tshowStatus=true\r\n\t\t})\r\n\t\ttimer=setTimeout(getSort,1000)\r\n\t\tonBeforeUnmount(()=>{\r\n\t\t\tclearTimeout(timer)\r\n\t\t})\r\n\t}\r\n\tgetSort()\r\n\t\r\n\t//---获取时间\r\n\tfunction nextTime() {\r\n\t\ttime.value=new Date().Format('hh:mm:ss')\r\n\t\tsetTimeout(nextTime, 1000)\r\n\t}\r\n\tnextTime()\r\n\t\r\n</script>\r\n\r\n<style lang=\"scss\" scoped>\r\n\t.wrap{\r\n\t\tmin-height: 100%;\r\n\t\tbackground:url('../assets/image/sortBg.jpg') no-repeat;\r\n\t\tbackground-size: 100% 100%;\r\n\t\tcolor: #ffffff;\r\n\t\tpadding: 0 0.4rem;\r\n\t}\r\n\t.top{\r\n\t\ttext-align: center;\r\n\t}\r\n\t.top1{\r\n\t\tdisplay: flex;\r\n\t\talign-items: center;\r\n\t\tpadding-top: 0.4rem;\r\n\t\tfont-size: 0.48rem;\r\n\t}\r\n\t.top1-left{\r\n\t\tflex-shrink: 0;\r\n\t\ttext-align: left;\r\n\t}\r\n\t.left-number{\r\n\t\tmargin-left: 0.2rem;\r\n\t\tfont-size: 0.52rem;\r\n\t}\r\n\t.top1-right{\r\n\t\tflex: 1;\r\n\t\ttext-align: left;\r\n\t\tpadding-left: 0.6rem;\r\n\t}\r\n\t.top1-right span:first-child{\r\n\t\tcolor: #ff0000;\r\n\t}\r\n\t.top1-right span:nth-child(2){\r\n\t\tcolor:#faf801;\r\n\t\tfont-weight: bold;\r\n\t}\r\n\t.top1-right span:last-child{\r\n\t\tfont-size: 0.4rem;\r\n\t}\r\n\t.top2{\r\n\t\tfont-size: 0.68rem;\r\n\t\tmargin-top: 0.3rem;\r\n\t}\r\n\t.top3{\r\n\t\tmargin-top: 0.16rem;\r\n\t\tfont-size: 2.16rem;\r\n\t\tcolor: #ff0000;\r\n\t\tspan{\r\n\t\t\tmargin:0 0.6rem;\r\n\t\t}\r\n\t}\r\n\t.top4{\r\n\t\tdisplay: flex;\r\n\t\tfont-size: 0.44rem;\r\n\t\tdiv{\r\n\t\t\tdisplay: flex;\r\n\t\t\talign-items: center;\r\n\t\t\tjustify-content: center;\r\n\t\t}\r\n\t\tspan:first-child{\r\n\t\t\tmargin-right: 0.1rem;\r\n\t\t}\r\n\t\tspan:last-child{\r\n\t\t\tfont-size: 0.72rem;\r\n\t\t}\r\n\t}\r\n\t.middle{\r\n\t\tmargin-top: 0.15rem;\r\n\t\tdiv{\r\n\t\t\tpadding:0 0.2rem;\r\n\t\t\tborder:3px solid #e00101;\r\n\t\t\ttext-shadow: 0 0.05rem 0.5rem #8df;\r\n\t\t\tcolor: #ffffff;\r\n\t\t\tfont-size: 0.56rem;\r\n\t\t\tdisplay: flex;\r\n\t\t\talign-items: center;\r\n\t\t}\r\n\t}\r\n\t.bottom{\r\n\t\tmargin-top: 0.3rem;\r\n\t}\r\n\t.bottom1{\r\n\t\tdisplay: flex;\r\n\t\talign-items:center;\r\n\t\tjustify-content: space-between;\r\n\t}\r\n\t.bottom1-left{\r\n\t\tfont-size: 0.48rem;\r\n\t\tflex: 1;\r\n\t}\r\n\t.bottom1-left span:first-child{\r\n\t\tcolor: #ff0000;\r\n\t}\r\n\t.bottom1-left span:nth-child(2){\r\n\t\tcolor:#faf801;\r\n\t\tfont-weight: bold;\r\n\t}\r\n\t.bottom1-left span:last-child{\r\n\t\tfont-size: 0.4rem;\r\n\t}\r\n\t.bottom1-right span:first-child{\r\n\t\tfont-size: 0.44rem;\t\r\n\t\tmargin-right: 0.1rem;\r\n\t}\r\n\t.bottom1-right span:last-child{\r\n\t\tfont-size: 0.52rem;\r\n\t}\r\n\t.bottom2{\r\n\t\tdisplay: flex;\r\n\t\tfont-size: 0.44rem;\r\n\t\tmargin-top: 0.2rem;\r\n\t\tdiv{\r\n\t\t\tdisplay: flex;\r\n\t\t\talign-items: center;\r\n\t\t\tjustify-content: center;\r\n\t\t}\r\n\t\tspan:first-child{\r\n\t\t\tmargin-right: 0.1rem;\r\n\t\t}\r\n\t\tspan:last-child{\r\n\t\t\tfont-size: 0.72rem;\r\n\t\t}\r\n\t}\r\n\t.surplus2{\r\n\t\twidth: 30%;\r\n\t}\r\n\t.surplus2.on{\r\n\t\twidth: 50%;\r\n\t}\r\n\t.bottom3{\r\n\t\tdisplay: flex;\r\n\t\tpadding: 0 0.4rem;\r\n\t\tmargin-top: 0.1rem;\r\n\t\tfont-size:0.3rem;\r\n\t\talign-items: center;\r\n\t\tspan{\r\n\t\t\twidth: 33.3%;\r\n\t\t}\r\n\t}\r\n\t// 扫码购票\r\n\t.scan-code{\r\n\t\tmargin-top: 2rem;\r\n\t}\r\n\t.scan-img{\r\n\t\ttext-align: center;\r\n\t\timg{\r\n\t\t\twidth:200px;\r\n\t\t}\r\n\t}\r\n\t.scan-introduce{\r\n\t\tpadding: 1rem 0 0 1.6rem;\r\n\t}\r\n\t.scan-phone{\r\n\t\tpadding-left: 0.4rem;\r\n\t\tdiv{\r\n\t\t\tmargin-top: 0.6rem;\r\n\t\t\tfont-size: 0.4rem;\r\n\t\t}\r\n\t}\r\n</style>","import script from \"./sortScreen.vue?vue&type=script&setup=true&lang=js\"\nexport * from \"./sortScreen.vue?vue&type=script&setup=true&lang=js\"\n\nimport \"./sortScreen.vue?vue&type=style&index=0&id=54b0e0eb&lang=scss&scoped=true\"\n\nimport exportComponent from \"D:\\\\Source\\\\tbd-new\\\\tbd_screen_client\\\\node_modules\\\\vue-loader\\\\dist\\\\exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['__scopeId',\"data-v-54b0e0eb\"]])\n\nexport default __exports__","<template>\r\n\t<!--自动更新-->\r\n\t<div class=\"wrap\" v-if=\"showWrap\">\r\n\t <div class=\"wrap-content\">\r\n\t\t\t<div class=\"top\">\r\n\t\t\t\t正在更新版本\r\n\t\t\t\t<span>{{updateObj.last}}</span>\r\n\t\t\t</div>\r\n\t\t\t<div class=\"middle\">\r\n\t\t\t\t<h3>{{updateObj.status}}</h3>\r\n\t\t\t\t<div class=\"middle-content\">\r\n\t\t\t\t\t<progress id=\"pro\"></progress>\r\n\t\t\t\t\t<span style=\"margin-left:0.1rem;\">{{ updateObj.statusPosName }}</span>\r\n\t\t\t\t\t/\r\n\t\t\t\t\t<span>{{updateObj.statusSizeName}}</span>\r\n\t\t\t\t</div>\r\n\t\t\t</div>\r\n\t \r\n\t <div class=\"bottom\">\r\n\t <div class=\"bottom-list\" v-for=\"(item, index) of updateObj.version\" :key=\"index\">\r\n\t <div>\r\n\t 版本号:<span>{{ item.updateVersion }}</span> \r\n\t </div>\r\n\t <div>\r\n\t 更新时间: <span>{{ item.createDate }}</span>\r\n\t </div>\r\n\t <div>\r\n\t 更新内容:\r\n\t\t\t\t\t\t<pre>{{ item.updateVersionRemark }}</pre>\r\n\t </div>\r\n\t </div>\r\n\t </div>\r\n\t </div>\r\n\t</div>\r\n\t <!-- 登录中 -->\r\n\t<div class=\"logining\">登录中...</div>\r\n\t<div class=\"error\">\r\n\t\t<span>{{deviceKey}}</span>\r\n\t\t<span>{{updateError}}</span>\r\n\t\t<span>{{errMessage}}</span>\r\n\t</div>\r\n</template>\r\n\r\n<script setup>\r\n\t\timport { onBeforeUnmount, ref,reactive} from 'vue'\r\n\t\timport { useRouter } from 'vue-router'\r\n\t\timport axios from 'axios'\r\n\t\timport $request from '../assets/js/request.js'\r\n\t\tlet router = useRouter()\r\n\t\tlet deviceKey=ref('')//设备编号\r\n\t\tlet errMessage=ref('')//错误提示\r\n\t\tlet updateError=ref('')//更新错误提示\r\n\t\tlet showWrap=ref(false)//是否显示自动更新\r\n\t\tlet updateObj=reactive({})//更新对象\r\n\t\tlet timer=''\r\n\t\tif(Base.isWeb){\r\n\t\t\t//如果是网页版本\r\n\t\t\tlogin()\r\n\t\t}else{\r\n\t\t\tgetVersion()\r\n\t\t}\r\n\t\t\r\n\t\t//---获取版本号\r\n\t\tfunction getVersion() {\r\n\t\t axios.get(\"/package.json\").then((res) => {\r\n\t\t if (res.status == 200) {\r\n\t\t let vs = parseInt(res.data.version);\r\n\t\t localStorage.version = localStorage.version || 0;\r\n\t\t if (vs > localStorage.version) {\r\n\t\t localStorage.version = vs;\r\n\t\t localStorage.versionName = res.data.versionName;\r\n\t\t }\r\n\t\t login()\r\n\t\t }\r\n\t\t })\r\n\t\t}\r\n\t\t//---登录\r\n\t\tfunction login(){\r\n\t\t\tBase.initCode((code)=>{\r\n\t\t\t\tdeviceKey.value=code\r\n\t\t\t\tlet data={\r\n\t\t\t\t\tdeviceType: 'OrderScreen',\r\n\t\t\t\t\tdeviceKey: code,\r\n\t\t\t\t\tuserName: '',\r\n\t\t\t\t\tuserPwd: '',\r\n\t\t\t\t\tlogin: true,\r\n\t\t\t\t\tversionInt: localStorage.version // 当前版本号\r\n\t\t\t\t}\r\n\t\t\t\t$request(\"tbd-system/login/in\", data).then((res) => {\r\n\t\t\t\t if (res.code == \"00\") {\r\n\t\t\t\t\t\tdeviceKey.value=''\r\n\t\t\t\t\t\terrMessage.value=''\r\n\t\t\t\t\t\tsessionStorage.config=JSON.stringify(res.data)\r\n\t\t\t\t\t\tif(Base.isWeb){\r\n\t\t\t\t\t\t\t//网页版直接跳转\r\n\t\t\t\t\t\t\trouter.push('/sortScreen')\r\n\t\t\t\t\t\t}else{\r\n\t\t\t\t\t\t\t//客户端更新之后再跳转\r\n\t\t\t\t\t\t\tdeviceOnUpdate(res.data, function () {\r\n\t\t\t\t\t\t\t\trouter.push('/sortScreen')\r\n\t\t\t\t\t\t\t})\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\r\n\t\t\t\t }else{\r\n\t\t\t\t\t\terrMessage.value=res.message\r\n\t\t\t\t\t\ttimer=setTimeout(()=>{\r\n\t\t\t\t\t\t\tlogin()\r\n\t\t\t\t\t\t},5000)\r\n\t\t\t\t\t\tonBeforeUnmount(()=>{\r\n\t\t\t\t\t\t\tclearTimeout(timer)\r\n\t\t\t\t\t\t})\r\n\t\t\t\t\t}\r\n\t\t\t\t}).catch(()=>{\r\n\t\t\t\t\ttimer=setTimeout(()=>{\r\n\t\t\t\t\t\tlogin()\r\n\t\t\t\t\t},5000)\r\n\t\t\t\t\tonBeforeUnmount(()=>{\r\n\t\t\t\t\t\tclearTimeout(timer)\r\n\t\t\t\t\t})\r\n\t\t\t\t})\r\n\t\t\t})\r\n\t\t}\r\n\t\t//---设备是否需要更新\r\n\t\tfunction deviceOnUpdate(res, func) {\r\n\t\t var data = res || {}\r\n\t\t var version = data.version || []\r\n\t\t // 判断是否需要更新\r\n\t\t if (Base.isWeb || !version || !version.length) {\r\n\t\t func && func();\r\n\t\t return;\r\n\t\t }\r\n\t\t // 需要更新则不执行登录函数\r\n\t\t showWrap.value = true\r\n\t\t var last = version[0]\r\n\t\t updateObj.last = last.updateVersion;\r\n\t\t updateObj.version = version;\r\n\t\t // 设置设备中心的回调函数,下载为多线程\r\n\t\t function onUpdate(res) {\r\n\t\t Object.assign(updateObj, res);\r\n\t\t let pro = document.getElementById(\"pro\");\r\n\t\t if (!data.isFile) {\r\n\t\t pro.removeAttribute(\"max\");\r\n\t\t pro.removeAttribute(\"value\");\r\n\t\t updateObj.statusPosName = updateObj.statusPos\r\n\t\t updateObj.statusSizeName = updateObj.statusSize\r\n\t\t } else {\r\n\t\t pro.setAttribute(\"max\", updateObj.statusSize)\r\n\t\t pro.setAttribute(\"value\", updateObj.statusPos)\r\n\t\t updateObj.statusPosName = getSize(updateObj.statusPos).val\r\n\t\t updateObj.statusSizeName =getSize(updateObj.statusSize).val\r\n\t\t }\r\n\t\t }\r\n\t\t\r\n\t\t function updateHard() {\r\n\t\t var pro1 = window.process;\r\n\t\t onUpdate();\r\n\t\t var hard = Base.getHard();\r\n\t\t hard.eve({\r\n\t\t on: function (res) {\r\n\t\t res = res || {};\r\n\t\t // 当扫描到数据时\r\n\t\t if (res.EventName == \"update\") {\r\n\t\t onUpdate(res.Data);\r\n\t\t }\r\n\t\t },\r\n\t\t });\r\n\t\t var appPath =\r\n\t\t pro1.mainModule.path ||\r\n\t\t pro1.mainModule.paths[0].replace(\"\\\\node_modules\", \"\");\r\n\t\t hard.update(\r\n\t\t {\r\n\t\t app: pro1.execPath,\r\n\t\t arg: appPath,\r\n\t\t version: data.version,\r\n\t\t },\r\n\t\t function (res) {\r\n\t\t // 更新成功,关闭当前程序,等待重新启动\r\n\t\t onUpdate(res);\r\n\t\t localStorage.version = last.updateVersionInt;\r\n\t\t localStorage.versionName = last.updateVersion;\r\n\t\t Base.close();\r\n\t\t },\r\n\t\t function (res) {\r\n\t\t // 更新失败,可以继续登录\r\n\t\t showWrap.vaue= false;\r\n\t\t updateError.value=res.msg || res.Msg || \"更新未知错误\"\r\n\t\t setTimeout(function () {\r\n\t\t func && func();\r\n\t\t }, 3000);\r\n\t\t }\r\n\t\t )\r\n\t\t }\r\n\t\t updateHard()\r\n\t\t}\r\n\t\t//---单位转换\r\n\t\tfunction getSize(size) {\r\n\t\t var ret = {\r\n\t\t size: size,\r\n\t\t val: size + \"B\",\r\n\t\t valNum: size,\r\n\t\t valUnit: \"B\",\r\n\t\t };\r\n\t\t var unit = [\"KB\", \"MB\", \"GB\", \"TB\"];\r\n\t\t for (var i = 0; i < unit.length; i++) {\r\n\t\t var unitNum = Math.pow(1024, i + 1);\r\n\t\t if (size > unitNum) {\r\n\t\t var val = Base.Ronud(size / unitNum, 2);\r\n\t\t ret = {\r\n\t\t size: size,\r\n\t\t val: val + unit[i],\r\n\t\t valNum: val,\r\n\t\t valUnit: unit[i],\r\n\t\t }\r\n\t\t }\r\n\t\t }\r\n\t\t return ret\r\n\t\t}\r\n</script>\r\n\r\n<style lang=\"scss\" scoped>\r\n\t\r\n\t.wrap{\r\n\t background: rgba(0, 0, 0, 0.3);\r\n\t position: absolute;\r\n\t display: flex;\r\n\t align-items: center;\r\n\t justify-content: center;\r\n\t font-size:0.16rem;\r\n\t top: 0;\r\n\t left: 0;\r\n\t width: 100%;\r\n\t height: 100%;\r\n\t z-index: 99999;\r\n\t}\r\n\t.wrap pre {\r\n\t white-space: pre-wrap;\r\n\t word-wrap: break-word;\r\n\t line-height: 0.2rem;\r\n\t\tmargin: 0.2rem 0;\r\n\t}\r\n\t.wrap-content {\r\n\t width: 70%;\r\n\t height: 80%;\r\n\t background: #ffffff;\r\n\t}\r\n\t.top {\r\n\t border-bottom: 0.1rem solid #ececec;\r\n\t padding: 0.1rem 0.15rem;\r\n\t height: 8%;\r\n\t display: flex;\r\n\t align-items: center;\r\n\t}\r\n\t.top span{\r\n\t margin-left:0.05rem;\r\n\t color: #ff0000;\r\n\t\tfont-size:0.2rem;\r\n\t\tfont-weight: bold;\r\n\t}\r\n\t.middle {\r\n\t padding:0.1rem 0.15rem;\r\n\t border-bottom:0.1rem solid #ececec;\r\n\t}\r\n\t.middle-content{\r\n\t\tmargin-top:0.1rem;\r\n\t\tdisplay: flex;\r\n\t\talign-items: center;\r\n\t}\r\n\t#pro{\r\n\t\twidth:4rem;\r\n\t\theight: 0.4rem;\r\n\t}\r\n\t.bottom{\r\n\t height: 75%;\r\n\t overflow-y: scroll;\r\n\t}\r\n\t.bottom-list{\r\n\t\tmargin-top: 0.3rem;\r\n\t\tborder-bottom: 2px solid #ececec;\r\n\t\tpadding: 0 0.24rem;\r\n\t}\r\n\t.bottom-list div:not(:first-child){\r\n\t\tmargin-top: 0.15rem;\r\n\t}\r\n\t.bottom-list span{\r\n\t\tmargin-left: 0.1rem;\r\n\t}\r\n\t.logining{\r\n\t\ttext-align: center;\r\n\t\tmargin-top:20%;\r\n\t\tfont-size: 0.3rem;\r\n\t\tcolor: #ff0000;\r\n\t}\r\n\t.error{\r\n\t\tdisplay: flex;\r\n\t\theight: 0.6rem;\r\n\t\talign-items: center;\r\n\t\tjustify-content: space-between;\r\n\t\tfont-size: 0.3rem;\r\n\t\tcolor: #ff0000;\r\n\t\tpadding: 0 0.3rem;\r\n\t\tposition: absolute;\r\n\t\tbottom: 0;\r\n\t\twidth: 100%;\r\n\t}\r\n</style>","import script from \"./login.vue?vue&type=script&setup=true&lang=js\"\nexport * from \"./login.vue?vue&type=script&setup=true&lang=js\"\n\nimport \"./login.vue?vue&type=style&index=0&id=0bc6b05e&lang=scss&scoped=true\"\n\nimport exportComponent from \"D:\\\\Source\\\\tbd-new\\\\tbd_screen_client\\\\node_modules\\\\vue-loader\\\\dist\\\\exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['__scopeId',\"data-v-0bc6b05e\"]])\n\nexport default __exports__","import { createRouter, createWebHashHistory} from 'vue-router'\r\nimport sortScreen from '../views/sortScreen.vue'\r\nimport login from '../views/login.vue'\r\n\r\nconst routes = [\r\n\t{\r\n\t path: '/',\r\n\t name: 'login',\r\n\t component: login\r\n\t},\r\n {\r\n path: '/sortScreen',\r\n name: 'sortScreen',\r\n component: sortScreen\r\n }\r\n]\r\n\r\nconst router = createRouter({\r\n history: createWebHashHistory(process.env.BASE_URL),\r\n routes\r\n})\r\n\r\nexport default router\r\n","import { createStore } from 'vuex'\r\n\r\nexport default createStore({\r\n state: {\r\n },\r\n getters: {\r\n },\r\n mutations: {\r\n },\r\n actions: {\r\n },\r\n modules: {\r\n }\r\n})\r\n","import { createApp } from 'vue'\r\nimport App from './App.vue'\r\nimport router from './router'\r\nimport store from './store'\r\nimport \"./assets/css/common.css\"\r\nimport './assets/js/responsive.js'\r\nDate.prototype.Format = function(fmt) {\r\n // 时间格式化\r\n var o = {\r\n 'M+': this.getMonth() + 1, // 月份\r\n 'd+': this.getDate(), // 日\r\n 'h+': this.getHours(), // 小时\r\n 'm+': this.getMinutes(), // 分\r\n 's+': this.getSeconds(), // 秒\r\n 'q+': Math.floor((this.getMonth() + 3) / 3), // 季度\r\n S: this.getMilliseconds() // 毫秒\r\n }\r\n if (/(y+)/.test(fmt))\r\n fmt = fmt.replace(\r\n RegExp.$1,\r\n (this.getFullYear() + '').substr(4 - RegExp.$1.length)\r\n )\r\n for (var k in o)\r\n if (new RegExp('(' + k + ')').test(fmt))\r\n fmt = fmt.replace(\r\n RegExp.$1,\r\n RegExp.$1.length == 1 ? o[k] : ('00' + o[k]).substr(('' + o[k]).length)\r\n )\r\n return fmt\r\n} //调用new Date().Format(\"yyyy-MM-dd hh:mm\");\r\n\r\ncreateApp(App).use(store).use(router).mount('#app')\r\n","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\t// no module.id needed\n\t\t// no module.loaded needed\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId](module, module.exports, __webpack_require__);\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n// expose the modules object (__webpack_modules__)\n__webpack_require__.m = __webpack_modules__;\n\n","var deferred = [];\n__webpack_require__.O = function(result, chunkIds, fn, priority) {\n\tif(chunkIds) {\n\t\tpriority = priority || 0;\n\t\tfor(var i = deferred.length; i > 0 && deferred[i - 1][2] > priority; i--) deferred[i] = deferred[i - 1];\n\t\tdeferred[i] = [chunkIds, fn, priority];\n\t\treturn;\n\t}\n\tvar notFulfilled = Infinity;\n\tfor (var i = 0; i < deferred.length; i++) {\n\t\tvar chunkIds = deferred[i][0];\n\t\tvar fn = deferred[i][1];\n\t\tvar priority = deferred[i][2];\n\t\tvar fulfilled = true;\n\t\tfor (var j = 0; j < chunkIds.length; j++) {\n\t\t\tif ((priority & 1 === 0 || notFulfilled >= priority) && Object.keys(__webpack_require__.O).every(function(key) { return __webpack_require__.O[key](chunkIds[j]); })) {\n\t\t\t\tchunkIds.splice(j--, 1);\n\t\t\t} else {\n\t\t\t\tfulfilled = false;\n\t\t\t\tif(priority < notFulfilled) notFulfilled = priority;\n\t\t\t}\n\t\t}\n\t\tif(fulfilled) {\n\t\t\tdeferred.splice(i--, 1)\n\t\t\tvar r = fn();\n\t\t\tif (r !== undefined) result = r;\n\t\t}\n\t}\n\treturn result;\n};","// getDefaultExport function for compatibility with non-harmony modules\n__webpack_require__.n = function(module) {\n\tvar getter = module && module.__esModule ?\n\t\tfunction() { return module['default']; } :\n\t\tfunction() { return module; };\n\t__webpack_require__.d(getter, { a: getter });\n\treturn getter;\n};","// define getter functions for harmony exports\n__webpack_require__.d = function(exports, definition) {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","__webpack_require__.g = (function() {\n\tif (typeof globalThis === 'object') return globalThis;\n\ttry {\n\t\treturn this || new Function('return this')();\n\t} catch (e) {\n\t\tif (typeof window === 'object') return window;\n\t}\n})();","__webpack_require__.o = function(obj, prop) { return Object.prototype.hasOwnProperty.call(obj, prop); }","__webpack_require__.p = \"/\";","// no baseURI\n\n// object to store loaded and loading chunks\n// undefined = chunk not loaded, null = chunk preloaded/prefetched\n// [resolve, reject, Promise] = chunk loading, 0 = chunk loaded\nvar installedChunks = {\n\t143: 0\n};\n\n// no chunk on demand loading\n\n// no prefetching\n\n// no preloaded\n\n// no HMR\n\n// no HMR manifest\n\n__webpack_require__.O.j = function(chunkId) { return installedChunks[chunkId] === 0; };\n\n// install a JSONP callback for chunk loading\nvar webpackJsonpCallback = function(parentChunkLoadingFunction, data) {\n\tvar chunkIds = data[0];\n\tvar moreModules = data[1];\n\tvar runtime = data[2];\n\t// add \"moreModules\" to the modules object,\n\t// then flag all \"chunkIds\" as loaded and fire callback\n\tvar moduleId, chunkId, i = 0;\n\tif(chunkIds.some(function(id) { return installedChunks[id] !== 0; })) {\n\t\tfor(moduleId in moreModules) {\n\t\t\tif(__webpack_require__.o(moreModules, moduleId)) {\n\t\t\t\t__webpack_require__.m[moduleId] = moreModules[moduleId];\n\t\t\t}\n\t\t}\n\t\tif(runtime) var result = runtime(__webpack_require__);\n\t}\n\tif(parentChunkLoadingFunction) parentChunkLoadingFunction(data);\n\tfor(;i < chunkIds.length; i++) {\n\t\tchunkId = chunkIds[i];\n\t\tif(__webpack_require__.o(installedChunks, chunkId) && installedChunks[chunkId]) {\n\t\t\tinstalledChunks[chunkId][0]();\n\t\t}\n\t\tinstalledChunks[chunkId] = 0;\n\t}\n\treturn __webpack_require__.O(result);\n}\n\nvar chunkLoadingGlobal = self[\"webpackChunktbd_screen_client\"] = self[\"webpackChunktbd_screen_client\"] || [];\nchunkLoadingGlobal.forEach(webpackJsonpCallback.bind(null, 0));\nchunkLoadingGlobal.push = webpackJsonpCallback.bind(null, chunkLoadingGlobal.push.bind(chunkLoadingGlobal));","// startup\n// Load entry module and return exports\n// This entry module depends on other loaded chunks and execution need to be delayed\nvar __webpack_exports__ = __webpack_require__.O(undefined, [998], function() { return __webpack_require__(4099); })\n__webpack_exports__ = __webpack_require__.O(__webpack_exports__);\n"],"names":["doc","win","docEl","documentElement","resizeEvt","window","recalc","clientWidth","style","fontSize","addEventListener","document","_createBlock","_component_router_view","script","__exports__","render","baseUrl","request","url","data","Promise","resolve","reject","axios","then","res","catch","err","errorMessage","ref","maxNumber","time","screenTip","self","other","selfAdd","otherAdd","showStatus","config","config2","token","sessionStorage","JSON","parse","showEntryTime","parseInt","showNumberTo","showScanningCode","timer","companyId","getSort","$request","code","sortInfo","projectId1","projectId","projectId2","value","main","projectExtend","projectAddress","forEach","item","batchDisplayNum","autoTitle","showEnd","sortTotalCapacity","color","message","setTimeout","onBeforeUnmount","clearTimeout","nextTime","Date","Format","router","useRouter","deviceKey","errMessage","updateError","showWrap","updateObj","reactive","getVersion","status","vs","version","localStorage","versionName","login","Base","initCode","deviceType","userName","userPwd","versionInt","stringify","isWeb","push","deviceOnUpdate","func","length","last","updateVersion","updateHard","onUpdate","Object","assign","pro","getElementById","isFile","setAttribute","statusSize","statusPos","statusPosName","getSize","val","statusSizeName","removeAttribute","pro1","process","hard","getHard","eve","on","EventName","Data","appPath","mainModule","path","paths","replace","update","app","execPath","arg","updateVersionInt","close","vaue","msg","Msg","size","ret","valNum","valUnit","unit","i","unitNum","Math","pow","Ronud","routes","name","component","sortScreen","createRouter","history","createWebHashHistory","createStore","state","getters","mutations","actions","modules","prototype","fmt","o","this","getMonth","getDate","getHours","getMinutes","getSeconds","floor","S","getMilliseconds","k","test","RegExp","$1","getFullYear","substr","createApp","App","use","store","mount","__webpack_module_cache__","__webpack_require__","moduleId","cachedModule","undefined","exports","module","__webpack_modules__","m","deferred","O","result","chunkIds","fn","priority","notFulfilled","Infinity","fulfilled","j","keys","every","key","splice","r","n","getter","__esModule","d","a","definition","defineProperty","enumerable","get","g","globalThis","Function","e","obj","prop","hasOwnProperty","call","p","installedChunks","chunkId","webpackJsonpCallback","parentChunkLoadingFunction","moreModules","runtime","some","id","chunkLoadingGlobal","bind","__webpack_exports__"],"sourceRoot":""}
\ No newline at end of file
This source diff could not be displayed because it is too large. You can view the blob instead.
This source diff could not be displayed because it is too large. You can view the blob instead.
{
"name": "tb_screen",
"description": "途必达分流系统",
"main": "index.html",
"node-main": "globle.js",
"version": "5",
"versionName": "ver 4.03",
"keywords": [
"demo",
"node-webkit"
],
"private": true,
"window": {
"title": "途必达分流系统",
"icon": "tbd.png",
"toolbar": false,
"frame": false,
"fullscreen": false,
"width": 1920,
"height": 1080,
"min_width": 800,
"min_height": 600
},
"webkit": {
"plugin": true,
"page-cache": false
}
}
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment