You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

45 lines
1.4 KiB

  1. import { MessageBox } from 'element-ui'
  2. // ====页面动态加载C-Lodop云打印必须的文件CLodopfuncs.js====
  3. var head = document.head || document.getElementsByTagName('head')[0] || document.documentElement
  4. var oscript = document.createElement('script')
  5. // 让本机的浏览器打印(更优先一点):
  6. oscript = document.createElement('script')
  7. oscript.src = 'http://localhost:8000/CLodopfuncs.js?priority=2'
  8. head.insertBefore(oscript, head.firstChild)
  9. // 加载双端口(8000和18000)避免其中某个端口被占用:
  10. oscript = document.createElement('script')
  11. oscript.src = 'http://localhost:18000/CLodopfuncs.js?priority=1'
  12. head.insertBefore(oscript, head.firstChild)
  13. // 下载loadLodop
  14. function loadLodop() {
  15. window.open('../../static/Lodop/CLodop_Setup_for_Win32NT.exe')
  16. }
  17. // ====获取LODOP对象的主过程:====
  18. function getLodop() {
  19. var LODOP
  20. try {
  21. LODOP = getCLodop()
  22. if (!LODOP && document.readyState !== 'complete') {
  23. MessageBox.alert('C-Lodop打印控件还没准备好,请稍后再试!')
  24. return
  25. }
  26. return LODOP
  27. } catch (err) {
  28. MessageBox({
  29. title: '温馨提示',
  30. type: 'warning',
  31. showCancelButton: true,
  32. message: '您还未安装打印控件,点击确定下载打印控件,安装成功后刷新页面即可进行打印',
  33. callback: res => {
  34. if (res === 'confirm') {
  35. loadLodop()
  36. }
  37. }
  38. })
  39. }
  40. }
  41. export default getLodop