TG-PlatformPlus/qml/StatusToolBar.qml

164 lines
4.3 KiB
QML

import QtQuick
import QtQuick.Controls
import "./common"
// import "./Style"
Rectangle {
id: self
color:"#efefef"
property var totalLoop: 0
property var curLoop: 0
property var totalCount: 0
property var curCount: 0
property var curCmdName: ""
property var currentPort: g_settingPort
Connections{
target: backend_proxy
function onRunProcessChange( str){
lstRunning = true
var obj = JSON.parse(str)
curCount = obj.index
totalCount = obj.count
curCmdName = obj.name
curLoop = Number(obj.repeat_index) + 1
totalLoop = obj.repeat_count
}
function onRunProcessOver(){
if(curLoop == totalLoop && curLoop > 0)
{
for( var i = 0; i < command.cmdLstModel.count; ++i)
{
var item = command.cmdLstModel.get(i)
item.status = "0"
}
lstRunning = false
}
curCount = totalCount
curCmdName = ""
}
}
Row{
x: 5
spacing: 50
anchors.verticalCenter: parent.verticalCenter
QxText{
anchors.verticalCenter: parent.verticalCenter
visible: g_curPro.name !== "" //&& isAdmin
text:"当前工程:" + g_curPro.name
}
Row{
anchors.verticalCenter: parent.verticalCenter
spacing: 2
QxText {
text: "当前串口:" + g_settingPort
}
Switch {
id: comStatus
enabled: !lstRunning
property var isSet: true
anchors.verticalCenter: parent.verticalCenter
onCheckedChanged: {
if(checked)
{
open_serial_port()
}
else
{
close_serial_port()
}
}
checked: false
}
QxText {
text: comStatus.checked ? "开" : "关"
}
}
Row
{
anchors.verticalCenter: parent.verticalCenter
visible: lstRunning
spacing: 5
QxText{
anchors.verticalCenter: parent.verticalCenter
text:"队列进度:"
}
ProgressBar {
anchors.verticalCenter: parent.verticalCenter
width: 300
value: curCount
// maximumValue: totalCount
QxText{
anchors.centerIn: parent
text: curCount + "/" + totalCount
}
}
QxText{
anchors.verticalCenter: parent.verticalCenter
text:"循环进度:" + curLoop+ "/" + totalLoop
}
QxText{
anchors.verticalCenter: parent.verticalCenter
text:"指令:" + curCmdName
}
}
}
QxText
{
id: dt
anchors.verticalCenter: parent.verticalCenter
anchors.right: parent.right
anchors.margins: 5
property var dateTime: Qt.formatDateTime(new Date(), "yyyy-MM-dd hh:mm:ss")
text: dateTime
Timer {
id: timer
interval: 1000 // 1 秒
running: true
repeat: true
onTriggered: dt.dateTime = Qt.formatDateTime(new Date(), "yyyy-MM-dd hh:mm:ss")
}
}
function setComStatus(status)
{
comStatus.isSet = true
comStatus.checked = status
comIsOpen = status
comStatus.isSet = false
}
function open_serial_port() {
var result = backend_proxy.open_serial_port()
if(result.code !== 200)
{
alert.show(result.msg)
setComStatus(false)
}
else
{
setComStatus(true)
}
}
function close_serial_port() {
var result = backend_proxy.close_serial_port()
if(result.code !== 200)
{
alert.show(result.msg)
setComStatus(true)
}
else
{
setComStatus(false)
}
}
}