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) } } }