193 lines
3.9 KiB
Plaintext
193 lines
3.9 KiB
Plaintext
|
|
|
|||
|
|
//窗体打开方式
|
|||
|
|
var FILE_OPEN_NORMAL = 0;
|
|||
|
|
var FILE_OPEN_DIALOG = 3;
|
|||
|
|
var FILE_OPEN_DOCKWND = 5;
|
|||
|
|
|
|||
|
|
//数字量状态
|
|||
|
|
var MENU_STATE_DI_SET_VALUE = 2048; /*人工置数*/
|
|||
|
|
var MENU_STATE_DI_STOP_REF = 4096; /*点禁止刷新 */
|
|||
|
|
var MENU_STATE_DI_STOP_ALARM = 8192; /*点禁止报警*/
|
|||
|
|
|
|||
|
|
//模拟量状态
|
|||
|
|
var MENU_STATE_AI_SET_VALUE = 1024; /*人工置数*/
|
|||
|
|
var MENU_STATE_AI_STOP_REF = 1048576; /*点禁止刷新 */
|
|||
|
|
var MENU_STATE_AI_STOP_ALARM = 2097152; /*点禁止报警*/
|
|||
|
|
|
|||
|
|
var g_iconAction = {};
|
|||
|
|
|
|||
|
|
function g_begin()
|
|||
|
|
{
|
|||
|
|
SView.clicked.connect(g_clicked);
|
|||
|
|
SView.doubleClicked.connect(g_doubleClicked);
|
|||
|
|
|
|||
|
|
if(JSON.stringify(g_iconAction) == "{}")
|
|||
|
|
{
|
|||
|
|
var str = SDAO.readFileData("../../data/model/iconAction.json");
|
|||
|
|
g_iconAction = JSON.parse(str);
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
function g_clicked(itemCout, msgStr)
|
|||
|
|
{
|
|||
|
|
openDialog(itemCout, msgStr, 0);
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
function g_doubleClicked(itemCout, msgStr)
|
|||
|
|
{
|
|||
|
|
openDialog(itemCout, msgStr, 1);
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
function openDialog(itemCout, msgStr, trigger)
|
|||
|
|
{
|
|||
|
|
var context = SApp.getAppContext();
|
|||
|
|
if(context != 1)
|
|||
|
|
{
|
|||
|
|
return;
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
if (itemCout > 0)
|
|||
|
|
{
|
|||
|
|
var tags = msgStr.split('^');
|
|||
|
|
if(tags.length < 10)
|
|||
|
|
{
|
|||
|
|
//showMessageDialog("双击信息格式不对");
|
|||
|
|
return;
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
var objType = tags[0];
|
|||
|
|
var objName = tags[1];
|
|||
|
|
var iconName = tags[2];
|
|||
|
|
var curValue = tags[3];
|
|||
|
|
//var domainId = tags[4];
|
|||
|
|
//var appId = tags[5];
|
|||
|
|
var keyTagName = tags[8];
|
|||
|
|
if(keyTagName=="")
|
|||
|
|
{
|
|||
|
|
return;
|
|||
|
|
}
|
|||
|
|
var dialogName = getOptDialogName(objName, keyTagName, trigger);
|
|||
|
|
if(dialogName == "")
|
|||
|
|
{
|
|||
|
|
return;
|
|||
|
|
}
|
|||
|
|
SWnd.fileOpen(dialogName, "opt", FILE_OPEN_DIALOG, keyTagName, objName);
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
function g_end()
|
|||
|
|
{
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
function needClose()
|
|||
|
|
{
|
|||
|
|
return 1;
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
function showMessageDialog(content, title)
|
|||
|
|
{
|
|||
|
|
var dlg = create("MessageBox");
|
|||
|
|
dlg.warning(content, 0, 0, 0, title);
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
function showAcceptDialog(content, title)
|
|||
|
|
{
|
|||
|
|
var dlg = create("MessageBox");
|
|||
|
|
var ret = dlg.information(content, 0x00000400, 0x00400000, 0, title);
|
|||
|
|
if(ret == 0x00000400)
|
|||
|
|
{
|
|||
|
|
return "accept";
|
|||
|
|
}
|
|||
|
|
return "reject";
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
function getOptDialogName(iconName, keyTagName, trigger)
|
|||
|
|
{
|
|||
|
|
var dialogName = "";
|
|||
|
|
var tableName = SView.truncTag(keyTagName, "t");
|
|||
|
|
if(iconName == "多态文本")
|
|||
|
|
{
|
|||
|
|
if(tableName == "analog")
|
|||
|
|
{
|
|||
|
|
dialogName = "界面框架/panel_analog_set.glx";
|
|||
|
|
}
|
|||
|
|
else if(tableName == "accuml")
|
|||
|
|
{
|
|||
|
|
dialogName = "界面框架/panel_accuml_ctrl.glx";
|
|||
|
|
}
|
|||
|
|
else if(tableName == "digital")
|
|||
|
|
{
|
|||
|
|
dialogName = "界面框架/panel_remote_ctrl-gdw.glx";
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
if(iconName in g_iconAction)
|
|||
|
|
{
|
|||
|
|
if(g_iconAction[iconName]["Action"] == trigger)
|
|||
|
|
{
|
|||
|
|
dialogName = g_iconAction[iconName]["Panel"];
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
return dialogName;
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
function setBit(value, bit)
|
|||
|
|
{
|
|||
|
|
var ret = value | (1 << bit);
|
|||
|
|
return ret;
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
function clearBit(value, bit)
|
|||
|
|
{
|
|||
|
|
var ret = value & ~(1 << bit);
|
|||
|
|
return ret;
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
function getBit(value, bit)
|
|||
|
|
{
|
|||
|
|
var ret = (value >> bit) & 1;
|
|||
|
|
return ret;
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
function getUTCMsec()
|
|||
|
|
{
|
|||
|
|
var date = new Date();
|
|||
|
|
var y = date.getFullYear();
|
|||
|
|
var mm = date.getMonth();
|
|||
|
|
var d = date.getDate();
|
|||
|
|
var h = date.getHours();
|
|||
|
|
var m = date.getMinutes();
|
|||
|
|
var s = date.getSeconds();
|
|||
|
|
var ret = Date.UTC(y,mm,d,h,m,s);
|
|||
|
|
return ret;
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
function getLocalMsec()
|
|||
|
|
{
|
|||
|
|
var date = new Date();
|
|||
|
|
var ret = date.getTime();
|
|||
|
|
return ret;
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
function isControlPointTag(keyTagName)
|
|||
|
|
{
|
|||
|
|
var tableName = SView.truncTag(keyTagName, "t");
|
|||
|
|
var ctrlPointTag = SView.truncTag(keyTagName, "key");
|
|||
|
|
var ctrlSubName = SView.truncTag(keyTagName, "a");
|
|||
|
|
var ctrlAppName = SDAO.getAppNameBySubName(ctrlSubName);
|
|||
|
|
var loactionName = SView.truncTag(keyTagName, "d");
|
|||
|
|
var ctrlDomainId = SDAO.getDomainIdByLocation(loactionName);
|
|||
|
|
|
|||
|
|
if(tableName == "accuml")
|
|||
|
|
{
|
|||
|
|
return false;
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
var isControl = SDAO.rdbNetGetByKey(ctrlAppName, tableName, ctrlPointTag, "is_control", ctrlDomainId);
|
|||
|
|
if (isControl[0] < 0)
|
|||
|
|
{
|
|||
|
|
return false;
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
return isControl[1] == 1;
|
|||
|
|
}
|