dareway-rui
Version:
998 lines (911 loc) • 51.7 kB
JavaScript
'use strict';
var _interopRequireDefault = require('@babel/runtime/helpers/interopRequireDefault');
Object.defineProperty(exports, '__esModule', {
value: true
});
exports.default = exports.AipForHeliosAPI = void 0;
var _extends2 = _interopRequireDefault(require('@babel/runtime/helpers/extends'));
var _regenerator = _interopRequireDefault(require('@babel/runtime/regenerator'));
var _classCallCheck2 = _interopRequireDefault(require('@babel/runtime/helpers/classCallCheck'));
var _createClass2 = _interopRequireDefault(require('@babel/runtime/helpers/createClass'));
var _possibleConstructorReturn2 = _interopRequireDefault(require('@babel/runtime/helpers/possibleConstructorReturn'));
var _getPrototypeOf2 = _interopRequireDefault(require('@babel/runtime/helpers/getPrototypeOf'));
var _assertThisInitialized2 = _interopRequireDefault(require('@babel/runtime/helpers/assertThisInitialized'));
var _inherits2 = _interopRequireDefault(require('@babel/runtime/helpers/inherits'));
var _defineProperty2 = _interopRequireDefault(require('@babel/runtime/helpers/defineProperty'));
var _react = _interopRequireDefault(require('react'));
var _reactRedux = require('react-redux');
var _ModelNamespaceContext = _interopRequireDefault(require('../../core/rui/ModelNamespaceContext'));
var _core = require('./../../core');
var _qwebchannel = _interopRequireDefault(require('./qwebchannel'));
/////////////////////////////////////////////////////////////////////////////
// Dependency
//
// React
// RUI - core
/////////////////////////////////////////////////////////////////////////////
// Tag
//
var AipForHelios =
/*#__PURE__*/
(function(_React$Component) {
(0, _inherits2.default)(AipForHelios, _React$Component);
function AipForHelios(props) {
var _this;
(0, _classCallCheck2.default)(this, AipForHelios);
_this = (0, _possibleConstructorReturn2.default)(
this,
(0, _getPrototypeOf2.default)(AipForHelios).call(this, props)
);
(0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), 'componentDidMount', function() {
var thunk = _this.props.thunk;
_this
.initObjectX()
.then(function() {
return _this.showObjectX();
}) // .then(() => {
// return this.doJSNotifyBeforeAction();
// })
.then(thunk);
});
(0, _defineProperty2.default)(
(0, _assertThisInitialized2.default)(_this),
'componentWillUnmount',
function() {
_this.hideObjectX();
}
);
(0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), 'getElementLeft', function(
element
) {
var actualLeft = element.offsetLeft;
var current = element.offsetParent;
while (current !== null) {
actualLeft += current.offsetLeft;
current = current.offsetParent;
}
return actualLeft;
});
(0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), 'getElementTop', function(
element
) {
//元素距顶部文档的距离
var actualTop = element.offsetTop;
var current = element.offsetParent;
while (current !== null) {
actualTop += current.offsetTop;
current = current.offsetParent;
}
return actualTop;
});
(0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), 'p', void 0);
_this.object_id = _this.props.__draco__tag__namespace__;
return _this;
}
(0, _createClass2.default)(AipForHelios, [
{
key: 'render',
value: function render() {
return _react.default.createElement(
'div',
{
style: {
width: '100%',
height: '99%'
}
},
_react.default.createElement('object', {
classID: 'clsid:FF1FE7A0-0578-4FEE-A34E-FB21B277D561',
id: this.object_id,
style: {
width: '100%',
height: '99%'
},
type: 'application/x-qt-plugin'
})
);
}
},
{
key: 'initObjectX',
// 初始化组件
value: function initObjectX() {
return new Promise(function(resolve, reject) {
new _qwebchannel.default(qt.webChannelTransport, function(channel) {
window.bridge = channel.objects.bridge;
if (!window.AipChannelForHelios) {
window.AipChannelForHelios = {};
}
resolve();
});
});
}
},
{
key: 'showObjectX',
//
// 显示组件
value: function showObjectX() {
var _this2 = this;
return new Promise(function(resolve, reject) {
if (window.bridge) {
var object_id = _this2.object_id;
var offset = ((Math.random() * 10) % 5) + 2;
var object = new Object();
object.classid = 'FF1FE7A0-0578-4FEE-A34E-FB21B277D561';
object.showflag = 'true';
object.x = _this2.getElementLeft(document.getElementById(object_id));
object.y = _this2.getElementTop(document.getElementById(object_id));
object.w = document.getElementById(object_id).clientWidth - offset;
object.h = document.getElementById(object_id).clientHeight;
object.objid = object_id;
window.bridge.getDeviceProxy(object, function() {
new _qwebchannel.default(qt.webChannelTransport, function(channel) {
window[object_id] = channel.objects[object_id]; // 属性设置
window[object_id].ShowDefMenu(0); // 隐藏菜单栏 0为隐藏; 1为显示
window[object_id].ShowScrollBarButton(1); // 隐藏水平滚动条旁的工具条
window[object_id].ShowToolBar('0'); // 隐藏工具栏 0为隐藏; 1为显示
window[object_id].JSEnv(1);
resolve();
});
});
}
});
} // 隐藏组件
},
{
key: 'hideObjectX',
value: function hideObjectX() {
var object_id = this.object_id;
if (window[object_id]) {
window[object_id].setObjectVisible(false);
}
}
}
]);
return AipForHelios;
})(_react.default.Component); /////////////////////////////////////////////////////////////////////////////
// API Factory
//
var AipForHeliosAPI =
/*#__PURE__*/
(function() {
function AipForHeliosAPI(namespace, initObjectXThunk) {
(0, _classCallCheck2.default)(this, AipForHeliosAPI);
this.namespace = namespace;
this.initObjectXThunk = initObjectXThunk;
} // 登录
(0, _createClass2.default)(AipForHeliosAPI, [
{
key: 'login',
value:
/*#__PURE__*/
_regenerator.default.mark(function login(
pcUserID,
lUserType,
lUserAccess,
pcPwd,
StampAndPrint_Service_Url
) {
var namespace, thunk;
return _regenerator.default.wrap(
function login$(_context) {
while (1) {
switch ((_context.prev = _context.next)) {
case 0:
namespace = this.namespace;
thunk = this.initObjectXThunk;
_context.next = 4;
return new Promise(function(resolve, reject) {
thunk.then(function() {
// 定义回调函数
window.AipChannelForHelios[
''.concat(namespace, '_Login')
] = function(retValue) {
delete window.AipChannelForHelios[
''.concat(namespace, '_Login')
];
resolve(retValue);
}; // 调用浏览器接口
window[namespace].Login(
pcUserID,
lUserType,
lUserAccess,
pcPwd,
StampAndPrint_Service_Url,
'window.AipChannelForHelios.'.concat(namespace, '_Login')
);
});
});
case 4:
return _context.abrupt('return', _context.sent);
case 5:
case 'end':
return _context.stop();
}
}
},
login,
this
);
}) // 加载文件
},
{
key: 'loadFile',
value:
/*#__PURE__*/
_regenerator.default.mark(function loadFile(fileUrl) {
var namespace, thunk;
return _regenerator.default.wrap(
function loadFile$(_context2) {
while (1) {
switch ((_context2.prev = _context2.next)) {
case 0:
namespace = this.namespace;
thunk = this.initObjectXThunk;
_context2.next = 4;
return new Promise(function(resolve, reject) {
thunk.then(function() {
// 定义回调函数
window.AipChannelForHelios[
''.concat(namespace, '_LoadFile')
] = function(retValue) {
delete window.AipChannelForHelios[
''.concat(namespace, '_LoadFile')
];
resolve(retValue);
}; // 调用浏览器接口
window[namespace].LoadFile(
fileUrl,
'window.AipChannelForHelios.'.concat(namespace, '_LoadFile')
);
});
});
case 4:
return _context2.abrupt('return', _context2.sent);
case 5:
case 'end':
return _context2.stop();
}
}
},
loadFile,
this
);
}) // 打印
},
{
key: 'print',
value:
/*#__PURE__*/
_regenerator.default.mark(function print() {
var namespace, thunk;
return _regenerator.default.wrap(
function print$(_context3) {
while (1) {
switch ((_context3.prev = _context3.next)) {
case 0:
namespace = this.namespace;
thunk = this.initObjectXThunk;
_context3.next = 4;
return new Promise(function(resolve, reject) {
thunk.then(function() {
// 定义回调函数
window.AipChannelForHelios[
''.concat(namespace, '_PrintDoc')
] = function(retValue) {
delete window.AipChannelForHelios[
''.concat(namespace, '_PrintDoc')
];
resolve(retValue);
};
window[namespace].PrintDoc(
1,
1,
1,
'window.AipChannelForHelios.'.concat(namespace, '_PrintDoc')
);
});
});
case 4:
return _context3.abrupt('return', _context3.sent);
case 5:
case 'end':
return _context3.stop();
}
}
},
print,
this
);
}) // 打印测试
},
{
key: 'printDW',
value:
/*#__PURE__*/
_regenerator.default.mark(function printDW(
strPrinterName,
lPrintFlag,
blShowDlg,
blZoom,
lFromPage,
lToPage,
blOriSize,
lCopys,
blCollate,
blTranFirst,
blDulpex,
maxNum
) {
var namespace, thunk;
return _regenerator.default.wrap(
function printDW$(_context4) {
while (1) {
switch ((_context4.prev = _context4.next)) {
case 0:
namespace = this.namespace;
thunk = this.initObjectXThunk;
_context4.next = 4;
return new Promise(function(resolve, reject) {
thunk.then(function() {
// 定义回调函数
window.AipChannelForHelios[
''.concat(namespace, '_PrintDocEx')
] = function(retValue) {
delete window.AipChannelForHelios[
''.concat(namespace, '_PrintDocEx')
];
resolve(retValue);
};
window[namespace].setVarValue(maxNum);
var objpara = new Object();
objpara.strPrinterName = strPrinterName;
objpara.lPrintFlag = lPrintFlag;
objpara.blShowDlg = blShowDlg;
objpara.blZoom = blZoom;
objpara.lFromPage = lFromPage;
objpara.lToPage = lToPage;
objpara.blOriSize = blOriSize;
objpara.lCopys = lCopys;
objpara.blCollate = blCollate;
objpara.blTranFirst = blTranFirst;
objpara.blDulpex = blDulpex;
window[namespace].PrintDocEx(
objpara,
'window.AipChannelForHelios.'.concat(namespace, '_PrintDocEx')
);
});
});
case 4:
return _context4.abrupt('return', _context4.sent);
case 5:
case 'end':
return _context4.stop();
}
}
},
printDW,
this
);
}) // 关闭
},
{
key: 'close',
value:
/*#__PURE__*/
_regenerator.default.mark(function close() {
var namespace, thunk;
return _regenerator.default.wrap(
function close$(_context5) {
while (1) {
switch ((_context5.prev = _context5.next)) {
case 0:
namespace = this.namespace;
thunk = this.initObjectXThunk;
_context5.next = 4;
return new Promise(function(resolve, reject) {
thunk.then(function() {
// 定义回调函数
window.AipChannelForHelios[
''.concat(namespace, '_CloseDoc')
] = function(retValue) {
delete window.AipChannelForHelios[
''.concat(namespace, '_CloseDoc')
];
resolve(retValue);
}; // 调用浏览器接口
window[namespace].CloseDoc(
0,
'window.AipChannelForHelios.'.concat(namespace, '_CloseDoc')
);
});
});
case 4:
return _context5.abrupt('return', _context5.sent);
case 5:
case 'end':
return _context5.stop();
}
}
},
close,
this
);
}) // 盖章
},
{
key: 'setSeal',
value:
/*#__PURE__*/
_regenerator.default.mark(function setSeal(
pcDocID,
pcProvider,
pcDocType,
pcDocTitle,
pcDocKeyWords,
lPrnCpys,
pcDocSaveURL,
blToAddSeal
) {
var namespace, thunk;
return _regenerator.default.wrap(
function setSeal$(_context6) {
while (1) {
switch ((_context6.prev = _context6.next)) {
case 0:
namespace = this.namespace;
thunk = this.initObjectXThunk;
_context6.next = 4;
return new Promise(function(resolve, reject) {
thunk.then(function() {
// 定义回调函数
window.AipChannelForHelios[
''.concat(namespace, '_RegisterDocByProvider')
] = function(retValue) {
delete window.AipChannelForHelios[
''.concat(namespace, '_RegisterDocByProvider')
];
resolve(retValue);
}; // 调用浏览器接口
window[namespace].RegisterDocByProvider({
pcDocID: pcDocID,
pcProvider: pcProvider,
pcDocType: pcDocType,
pcDocTitle: pcDocTitle,
pcDocKeyWords: pcDocKeyWords,
lPrnCpys: lPrnCpys,
pcDocSaveURL: pcDocSaveURL,
blToAddSeal: blToAddSeal,
fun: 'window.AipChannelForHelios.'.concat(
namespace,
'_RegisterDocByProvider'
)
});
});
});
case 4:
return _context6.abrupt('return', _context6.sent);
case 5:
case 'end':
return _context6.stop();
}
}
},
setSeal,
this
);
}) //手动盖章
},
{
key: 'manualSeal',
value:
/*#__PURE__*/
_regenerator.default.mark(function manualSeal() {
var namespace, thunk;
return _regenerator.default.wrap(
function manualSeal$(_context7) {
while (1) {
switch ((_context7.prev = _context7.next)) {
case 0:
namespace = this.namespace;
thunk = this.initObjectXThunk;
_context7.next = 4;
return new Promise(function(resolve, reject) {
thunk.then(function() {
// 定义回调函数
window.AipChannelForHelios[
''.concat(namespace, '_getCurrAction')
] = function(retValue) {
delete window.AipChannelForHelios[
''.concat(namespace, '_getCurrAction')
];
retValue == 2568
? window[namespace].CurrAction(0)
: window[namespace].CurrAction(2568);
}; // 调用浏览器接口
window[namespace].getCurrAction(
'window.AipChannelForHelios.'.concat(
namespace,
'_getCurrAction'
)
);
});
});
case 4:
return _context7.abrupt('return', _context7.sent);
case 5:
case 'end':
return _context7.stop();
}
}
},
manualSeal,
this
);
}) // 获取当前控件中文件已盖章个数
},
{
key: 'getNoteNum',
value:
/*#__PURE__*/
_regenerator.default.mark(function getNoteNum(type) {
var namespace, thunk;
return _regenerator.default.wrap(
function getNoteNum$(_context8) {
while (1) {
switch ((_context8.prev = _context8.next)) {
case 0:
namespace = this.namespace;
thunk = this.initObjectXThunk;
_context8.next = 4;
return new Promise(function(resolve, reject) {
thunk.then(function() {
// 定义回调函数
window.AipChannelForHelios[
''.concat(namespace, '_GetNoteNum')
] = function(retValue) {
delete window.AipChannelForHelios[
''.concat(namespace, '_GetNoteNum')
];
resolve(retValue);
}; // 调用浏览器接口
window[namespace].GetNoteNum(
type,
'window.AipChannelForHelios.'.concat(namespace, '_GetNoteNum')
);
});
});
case 4:
return _context8.abrupt('return', _context8.sent);
case 5:
case 'end':
return _context8.stop();
}
}
},
getNoteNum,
this
);
}) // 获取某业务类型已经打印份数
},
{
key: 'getPrintedNum',
value:
/*#__PURE__*/
_regenerator.default.mark(function getPrintedNum(bussinessType, StampAndPrint_Service_SystemId) {
var namespace, thunk;
return _regenerator.default.wrap(
function getPrintedNum$(_context9) {
while (1) {
switch ((_context9.prev = _context9.next)) {
case 0:
namespace = this.namespace;
thunk = this.initObjectXThunk;
_context9.next = 4;
return new Promise(function(resolve, reject) {
thunk.then(function() {
// 定义回调函数
window.AipChannelForHelios[
''.concat(namespace, '_GetPrnNumByProvider')
] = function(retValue) {
delete window.AipChannelForHelios[
''.concat(namespace, '_GetPrnNumByProvider')
];
resolve(retValue);
}; // 调用浏览器接口
window[namespace].GetPrnNumByProvider(
bussinessType,
StampAndPrint_Service_SystemId,
'window.AipChannelForHelios.'.concat(
namespace,
'_GetPrnNumByProvider'
)
);
});
});
case 4:
return _context9.abrupt('return', _context9.sent);
case 5:
case 'end':
return _context9.stop();
}
}
},
getPrintedNum,
this
);
}) // 获取某业务类型需要的盖章的数目
},
{
key: 'getPrnNumByProvider',
value:
/*#__PURE__*/
_regenerator.default.mark(function getPrnNumByProvider(
bussinessType,
StampAndPrint_Service_SystemId
) {
var namespace, thunk;
return _regenerator.default.wrap(
function getPrnNumByProvider$(_context10) {
while (1) {
switch ((_context10.prev = _context10.next)) {
case 0:
namespace = this.namespace;
thunk = this.initObjectXThunk;
_context10.next = 4;
return new Promise(function(resolve, reject) {
thunk.then(function() {
// 定义回调函数
window.AipChannelForHelios[
''.concat(namespace, '_GetPrnNumByProvider')
] = function(retValue) {
delete window.AipChannelForHelios[
''.concat(namespace, '_GetPrnNumByProvider')
];
resolve(retValue);
}; // 调用浏览器接口
window[namespace].GetPrnNumByProvider(
'Serv::'.concat(bussinessType),
StampAndPrint_Service_SystemId,
'window.AipChannelForHelios.'.concat(
namespace,
'_GetPrnNumByProvider'
)
);
});
});
case 4:
return _context10.abrupt('return', _context10.sent);
case 5:
case 'end':
return _context10.stop();
}
}
},
getPrnNumByProvider,
this
);
}) // 设置打印份数 入参 pcUserID, ProvDocID, pcProvider, MaxNum 需要先登陆
},
{
key: 'setPrnNumByProvider',
value:
/*#__PURE__*/
_regenerator.default.mark(function setPrnNumByProvider(
pcUserID,
docId,
StampAndPrint_Service_SystemId,
printNo
) {
var namespace, thunk;
return _regenerator.default.wrap(
function setPrnNumByProvider$(_context11) {
while (1) {
switch ((_context11.prev = _context11.next)) {
case 0:
namespace = this.namespace;
thunk = this.initObjectXThunk;
_context11.next = 4;
return new Promise(function(resolve, reject) {
thunk.then(function() {
// 定义回调函数
window.AipChannelForHelios[
''.concat(namespace, '_SetPrnNumByProvider')
] = function(retValue) {
delete window.AipChannelForHelios[
''.concat(namespace, '_SetPrnNumByProvider')
];
resolve(retValue);
}; // 调用浏览器接口
window[namespace].SetPrnNumByProvider(
pcUserID,
docId,
StampAndPrint_Service_SystemId,
printNo,
'window.AipChannelForHelios.'.concat(
namespace,
'_SetPrnNumByProvider'
)
);
});
});
case 4:
return _context11.abrupt('return', _context11.sent);
case 5:
case 'end':
return _context11.stop();
}
}
},
setPrnNumByProvider,
this
);
})
},
{
key: 'getFileBase64',
value:
/*#__PURE__*/
_regenerator.default.mark(function getFileBase64(path, type) {
var namespace, thunk;
return _regenerator.default.wrap(
function getFileBase64$(_context12) {
while (1) {
switch ((_context12.prev = _context12.next)) {
case 0:
namespace = this.namespace;
thunk = this.initObjectXThunk;
_context12.next = 4;
return new Promise(function(resolve, reject) {
thunk.then(function() {
// 定义回调函数
window.AipChannelForHelios[
''.concat(namespace, '_GetFileBase64')
] = function(retValue) {
delete window.AipChannelForHelios[
''.concat(namespace, '_GetFileBase64')
];
resolve(retValue);
}; // 调用浏览器接口
window[namespace].GetFileBase64(
path,
type,
'window.AipChannelForHelios.'.concat(
namespace,
'_GetFileBase64'
)
);
});
});
case 4:
return _context12.abrupt('return', _context12.sent);
case 5:
case 'end':
return _context12.stop();
}
}
},
getFileBase64,
this
);
})
},
{
key: 'getCurrFileBase64',
value:
/*#__PURE__*/
_regenerator.default.mark(function getCurrFileBase64() {
var namespace, thunk;
return _regenerator.default.wrap(
function getCurrFileBase64$(_context13) {
while (1) {
switch ((_context13.prev = _context13.next)) {
case 0:
namespace = this.namespace;
thunk = this.initObjectXThunk;
_context13.next = 4;
return new Promise(function(resolve, reject) {
thunk.then(function() {
// 定义回调函数
window.AipChannelForHelios[
''.concat(namespace, '_GetCurrFileBase64')
] = function(retValue) {
delete window.AipChannelForHelios[
''.concat(namespace, '_GetCurrFileBase64')
];
resolve(retValue);
}; // 调用浏览器接口
window[namespace].GetCurrFileBase64(
'window.AipChannelForHelios.'.concat(
namespace,
'_GetCurrFileBase64'
)
);
});
});
case 4:
return _context13.abrupt('return', _context13.sent);
case 5:
case 'end':
return _context13.stop();
}
}
},
getCurrFileBase64,
this
);
})
}
]);
return AipForHeliosAPI;
})(); /////////////////////////////////////////////////////////////////////////////
// Model Factory
//
exports.AipForHeliosAPI = AipForHeliosAPI;
function modelFactory(namespace, initObjectXThunk) {
return {
namespace: namespace,
state: {
__draco__tag__api__factory__: function __draco__tag__api__factory__(namespace) {
return new AipForHeliosAPI(namespace, initObjectXThunk);
}
},
effects: {},
reducers: {}
};
} /////////////////////////////////////////////////////////////////////////////
// Tag Wrapper
//
var AipForHeliosWarpper =
/*#__PURE__*/
(function(_React$Component2) {
(0, _inherits2.default)(AipForHeliosWarpper, _React$Component2);
function AipForHeliosWarpper(props) {
var _this3;
(0, _classCallCheck2.default)(this, AipForHeliosWarpper);
_this3 = (0, _possibleConstructorReturn2.default)(
this,
(0, _getPrototypeOf2.default)(AipForHeliosWarpper).call(this, props)
);
(0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this3), 'createThunk', function() {
var done = false;
var callbacks = [];
var thunk = function thunk() {
done = true;
for (var i = 0; i < callbacks.length; i++) {
callbacks[i]();
}
};
thunk.then = function(callback) {
if (done) {
callback();
return;
}
callbacks.push(callback);
};
return thunk;
});
_this3.initObjectXThunk = _this3.createThunk();
_this3.componentNamespace = ''.concat(_this3.props.modelNamespace, '_').concat(_this3.props.name);
_this3.model = modelFactory(_this3.componentNamespace, _this3.initObjectXThunk);
return _this3;
}
(0, _createClass2.default)(AipForHeliosWarpper, [
{
key: 'componentWillMount',
value: function componentWillMount() {
var _this4 = this;
_core.RUICore.registerModel(this.model);
var connector = (0, _reactRedux.connect)(function(store) {
return {
__draco__tag__namespace__: _this4.componentNamespace
};
});
this.ConnectedComponent = connector(AipForHelios);
}
},
{
key: 'componentWillUnmount',
value: function componentWillUnmount() {
_core.RUICore.unr