{"remainingRequest":"D:\\jenkins\\workspace\\xq-web-fvue\\node_modules\\thread-loader\\dist\\cjs.js!D:\\jenkins\\workspace\\xq-web-fvue\\node_modules\\babel-loader\\lib\\index.js!D:\\jenkins\\workspace\\xq-web-fvue\\node_modules\\cache-loader\\dist\\cjs.js??ref--0-0!D:\\jenkins\\workspace\\xq-web-fvue\\node_modules\\vue-loader\\lib\\index.js??vue-loader-options!D:\\jenkins\\workspace\\xq-web-fvue\\src\\components\\dataTemplate\\templateForm.vue?vue&type=script&lang=js&","dependencies":[{"path":"D:\\jenkins\\workspace\\xq-web-fvue\\src\\components\\dataTemplate\\templateForm.vue","mtime":1667327529137},{"path":"D:\\jenkins\\workspace\\xq-web-fvue\\babel.config.js","mtime":1667327525434},{"path":"D:\\jenkins\\workspace\\xq-web-fvue\\node_modules\\cache-loader\\dist\\cjs.js","mtime":499162500000},{"path":"D:\\jenkins\\workspace\\xq-web-fvue\\node_modules\\thread-loader\\dist\\cjs.js","mtime":499162500000},{"path":"D:\\jenkins\\workspace\\xq-web-fvue\\node_modules\\babel-loader\\lib\\index.js","mtime":315532800000},{"path":"D:\\jenkins\\workspace\\xq-web-fvue\\node_modules\\cache-loader\\dist\\cjs.js","mtime":499162500000},{"path":"D:\\jenkins\\workspace\\xq-web-fvue\\node_modules\\vue-loader\\lib\\index.js","mtime":499162500000}],"contextDependencies":[],"result":["import \"core-js/modules/es6.function.name\";\nimport \"core-js/modules/web.dom.iterable\";\nimport \"core-js/modules/es7.array.includes\";\nimport \"core-js/modules/es6.string.includes\";\nimport \"core-js/modules/es6.regexp.split\";\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\nimport OnlineForm from '@/components/flow/OnlineForm.vue';\nimport form from '@/api/form.js';\nimport utils from '@/utils.js';\nexport default {\n  name: 'formContent',\n  props: ['templateKey', 'action', 'isShare', \"openType\"],\n  data: function data() {\n    return {\n      alias_new: 'statement',\n      html: null,\n      data: null,\n      permission: null,\n      reloadOnlineForm: false,\n      isView: true,\n      disabled: false,\n      boAlias: '',\n      id: '',\n      startFlow: false,\n      recordId: '',\n      defKey: '',\n      formKey: '',\n      fillField: '',\n      fillValue: '',\n      bindList: [],\n      print: false,\n      isShow: true,\n      tempAlias: '',\n      startLable: '发起流程',\n      printLable: '打印'\n    };\n  },\n  components: {\n    OnlineForm: OnlineForm\n  },\n  updated: function updated() {\n    var result = window.location.href.split('?')[0].split('/');\n\n    if (result[result.length - 1] == 'get' || result[result.length - 2] == 'get') {\n      this.isShow = false;\n    } //判断是否显示发起流程按钮\n\n\n    if (window.location.href.split('?')[1] && window.location.href.split('?')[1].split('&')) {\n      if (window.location.href.split('?')[1].split('&')[1] && window.location.href.split('?')[1].split('&')[1] == \"startFlow=false\") {\n        this.startFlow = false;\n      }\n    }\n  },\n  methods: {\n    loadSuccess: function loadSuccess() {\n      if (this.$route.query.isPrint) {\n        this.printDetail();\n      }\n    },\n    printDetail: function printDetail() {\n      var _this2 = this;\n\n      this.$refs.btnRegion.style.display = \"none\";\n      setTimeout(function () {\n        document.getElementsByTagName('body')[0].style.zoom = 0.8;\n        window.print();\n        _this2.$refs.btnRegion.style.display = \"block\";\n\n        if (_this2.$route.query.isPrint) {\n          _this2.close(false);\n        }\n\n        document.getElementsByTagName('body')[0].style.zoom = 1;\n      }, 500);\n    },\n    //启动\n    start: function start() {\n      var _this3 = this;\n\n      utils.getOnlineFormData(true).then(function (formDataStr) {\n        return _this3.processStart(formDataStr);\n      }).catch(function (reason) {\n        return utils.handleGetFormDataReject(reason).then(function () {\n          return _this3.processStart();\n        });\n      });\n    },\n    processStart: function processStart(formDataStr) {\n      var _this4 = this;\n\n      utils.closeAllNotification();\n      var data = {\n        flowKey: this.defKey\n      };\n\n      if (formDataStr) {\n        data.data = Base64.encode(formDataStr);\n      }\n\n      this.disabled = true;\n      this.$store.dispatch('storeProcess/start', data).then(function () {\n        _this4.close(true);\n      }).catch(function () {\n        _this4.disabled = false;\n      });\n    },\n    //保存\n    boSave: function boSave(delDraftId) {\n      var _this5 = this;\n\n      utils.getOnlineFormData(true).then(function (formDataStr) {\n        utils.closeAllNotification();\n        var _me = _this5; // for (let i=0; i<_me.$validator.errors.items.length; i++) {\n        //   if(_me.$validator.errors.items[i].rule == \"required\"){\n        //     this.$message.warning(\"请将信息填写完整\");\n        //     return false;\n        //   }\n        // }\n\n        var data = {\n          boAlias: _this5.boAlias,\n          boData: utils.parseToJson(formDataStr)\n        }; //数据视图控件\n        // if (this.fillField && this.fillField != \"\") {\n        //   let fillField = this.fillField;\n        //   data.boData[this.boAlias][fillField] = this.fillValue;\n        // }\n\n        _this5.disabled = true;\n\n        if (delDraftId) {\n          data.delDraftId = delDraftId;\n        }\n\n        data.formKey = _this5.formKey;\n        data.templateKey = _this5.templateKey;\n\n        _this5.$store.dispatch('form/boSave', data).then(function (result) {\n          if (result.state) {\n            //当操作为编辑是，点击保存成功后提示继续编辑还是返回\n            if (_this5.action === 'edit' || _this5.action === 'add') {\n              _this5.$message.success(result.message);\n\n              _this5.$confirm('保存成功，是否退出？', '提示', {\n                confirmButtonText: '立即退出',\n                cancelButtonText: '继续操作',\n                type: 'warning'\n              }).then(function () {\n                _this5.close(false);\n              }).catch(function () {\n                _this5.$refs.onlineForm.init();\n\n                _this5.disabled = false;\n\n                if (_this5.action === 'editDraft') {\n                  _this5.editDraftHandler();\n                } else {\n                  _this5.handler();\n                }\n              });\n            } else {\n              _this5.close(true);\n            }\n          } else {\n            _this5.disabled = false;\n          }\n        });\n      }).catch(function (reason) {\n        return utils.handleGetFormDataReject(reason);\n      });\n    },\n    boSaveAndDelDraft: function boSaveAndDelDraft() {\n      this.boSave(this.draftId);\n    },\n    //保存\n    boSaveDraft: function boSaveDraft() {\n      var _this6 = this;\n\n      var this_ = this;\n      utils.getOnlineFormData(false).then(function (formDataStr) {\n        utils.closeAllNotification();\n        var _me = _this6;\n        var data = {\n          tempAlias: _this6.tempAlias,\n          dataJson: formDataStr\n        };\n\n        if (_this6.draft) {\n          data.id = _this6.draft.id;\n          data.title = _this6.draft.title;\n          data.createBy = _this6.draft.createBy;\n          data.createTime = _this6.draft.createTime;\n        } //数据视图控件\n        // if(this.bindList && this.bindList.length >0) {\n        //   for(var i=0;i<this.bindList.length;i++){\n        //     data.boData[this.boAlias][this.bindList[i].key] = this.bindList[i].value;\n        //   }\n        // }\n\n\n        _this6.disabled = true;\n\n        _this6.$store.dispatch('form/boSaveDraft', data).then(function (result) {\n          if (result.state) {\n            _this6.$message.success(result.message);\n\n            var dataViewFlag = false; //数据视图随机添加到其他菜单下面时获取当前菜单的别名  并且当前数据视图不是表单里的数据视图  dataViewFlag\n\n            if (sessionStorage.menu_alias && !(this_.fillField && this_.fillField != '')) {\n              _this6.alias_new = sessionStorage.menu_alias;\n            } //判断当前数据视图是不是表单里的数据视图\n\n\n            if (_this6.bindList && _this6.bindList.length > 0) {\n              dataViewFlag = true;\n            }\n\n            if (_me.isShare) {\n              _me.close(true);\n\n              return;\n            }\n\n            var path = \"\";\n\n            if (_this6.openType == \"new\") {\n              path = \"/statement/draftList/\".concat(_this6.tempAlias, \"/\").concat(dataViewFlag, \"?isNew=true\");\n            } else {\n              path = '/' + _this6.alias_new + '/draftList/' + _this6.tempAlias + '/' + dataViewFlag;\n            }\n\n            _this6.$router.push(path); // this.$router.push(\"/statement/draftList\");\n\n          } else {\n            _this6.disabled = false;\n\n            _this6.$message.error(result.message);\n          }\n        });\n      }).catch(function (reason) {\n        return utils.handleGetFormDataReject(reason);\n      });\n    },\n    //关闭窗口\n    close: function close(isDelay) {\n      utils.closeAllNotification();\n\n      var _me = this;\n\n      var url = window.location.href;\n      var arr = url.split('?');\n\n      if (isDelay) {\n        setTimeout(function () {\n          if (_me.isShare) {\n            _me.$router.push(\"/messageFillPage/1\");\n\n            return;\n          }\n\n          if (arr.length > 1) {\n            var param = url.split('?')[1].split('&');\n\n            if (param.includes('isNewPage=true')) {\n              _me.$router.push(\"/messageFillPage/1\");\n\n              return;\n            }\n          }\n\n          if (_me.openType == \"new\") {\n            //跳转到草稿\n            var dataViewFlag = false;\n\n            if (_me.bindList && _me.bindList.length > 0) {\n              dataViewFlag = true;\n            }\n\n            _me.$router.push(\"/statement/draftList/\".concat(_me.tempAlias, \"/\").concat(dataViewFlag, \"?isNew=true\"));\n          } else {\n            _me.$router.go(-1);\n          }\n        }, 2000);\n      } else {\n        if (_me.isShare) {\n          _me.$router.push(\"/messageFillPage/1\");\n        } else {\n          if (_me.openType == \"new\") {\n            window.close();\n          } else {\n            //打印取消之后会导致路由发生变化,不能直接回到上一个页面\n            var menuAlias = \"statement\"; //发布到其它菜单的别名\n\n            if (sessionStorage.menu_alias) {\n              menuAlias = sessionStorage.menu_alias;\n            }\n\n            var _url = \"/\" + menuAlias + \"/template/preview/\" + _me.templateKey;\n\n            if (_me.$route.meta && _me.$route.meta.single) {\n              _url += \"/true\";\n            }\n\n            _me.$router.push(_url);\n          } // _me.$router.go(-1);\n\n        }\n      }\n    },\n    handler: function handler() {\n      var _this7 = this;\n\n      var _me = this;\n\n      var data = {\n        formKey: _me.formKey,\n        boAlias: _me.boAlias,\n        id: _me.id ? _me.id : '',\n        action: _me.action,\n        recordId: _me.recordId ? _me.recordId : '',\n        dataKey: _me.templateKey ? _me.templateKey : ''\n      };\n\n      _me.$store.dispatch('form/getTemplateForm', data).then(function (rep) {\n        if (rep.result) {\n          _me.data = rep.data; //数据视图控件\n\n          if (_me.bindList && _me.bindList.length > 0) {\n            for (var i = 0; i < _me.bindList.length; i++) {\n              if (_me.data[_me.boAlias][_me.bindList[i].key] == '') {\n                // 回填数据\n                _me.data[_me.boAlias][_me.bindList[i].key] = _me.bindList[i].value;\n              }\n            }\n          } //是否是数据报表明细\n\n\n          if (rep.permission && _me.action == 'get') {\n            var permissionObj = rep.permission;\n            var commonRight = ''; //如果是管理端进入，则将页面字段的权限修改为可编辑\n\n            if (_me.type == 'manage') {\n              commonRight = 'w'; //如果是查看实例，也是获取发起流程的表单和权限。只不过所有可见的权限要变成编辑\n            } else {\n              commonRight = 'r';\n            }\n\n            if (permissionObj.fields && commonRight) {\n              for (var key in permissionObj.fields) {\n                var bodef = permissionObj.fields[key];\n\n                if (bodef) {\n                  for (var fname in bodef) {\n                    if (commonRight == 'w' || commonRight == 'r' && bodef[fname] != 'n') {\n                      bodef[fname] = commonRight;\n                    }\n                  }\n                }\n\n                permissionObj.fields[key] = bodef;\n              }\n            }\n\n            if (permissionObj.table && commonRight) {\n              for (var key in permissionObj.table) {\n                var table = permissionObj.table[key];\n\n                if (table) {\n                  if (commonRight == 'w') {\n                    table['hidden'] = false;\n                    table['add'] = true;\n                    table['del'] = true;\n                  } else if (commonRight == 'r') {\n                    table['add'] = false;\n                    table['del'] = false;\n                    table['required'] = false;\n                    table['edit'] = false;\n                  }\n                }\n\n                permissionObj.table[key] = table;\n              }\n            }\n\n            _me.permission = permissionObj;\n          } else {\n            _me.permission = rep.permission;\n          }\n\n          _me.html = rep.form.formHtml;\n\n          _this7.handlerJs(rep.form);\n        }\n      });\n    },\n    handlerJs: function handlerJs(rep) {\n      var _me = this;\n\n      _me.reloadOnlineForm = true;\n      var currentUser = _me.$store.state.login.currentUser;\n      var data = _me.data;\n      var _this = _me;\n      setTimeout(function () {\n        eval(rep.diyJs);\n      }, 10);\n    },\n    editDraftHandler: function editDraftHandler() {\n      var _this8 = this;\n\n      var _me = this;\n\n      _me.$store.dispatch('form/getTempDraftData', _me.draftId).then(function (rep) {\n        if (rep.result) {\n          _me.data = rep.data;\n          _me.draft = rep.draft;\n\n          if (rep.permission) {\n            _me.permission = rep.permission;\n          }\n\n          _me.html = rep.form.formHtml;\n\n          _this8.handlerJs(rep.form);\n        }\n      });\n    },\n    init: function init() {\n      var _this9 = this;\n\n      var $ = require('jquery');\n\n      this.id = utils.getUrlKey('id');\n      this.startFlow = utils.getUrlKey('startFlow');\n      this.recordId = utils.getUrlKey('recordId');\n      var bindList = utils.getUrlKey(\"bindList\");\n\n      if (bindList) {\n        this.bindList = JSON.parse(Base64.decode(decodeURIComponent(bindList)));\n      }\n\n      this.draftId = utils.getUrlKey('draftId');\n      this.isView = this.action !== 'get';\n\n      var _me = this;\n\n      this.$store.dispatch('form/getBpmDataTemplateInfo', {\n        templateKey: this.templateKey\n      }).then(function (result) {\n        if (result.state) {\n          if (result.value.allowShare == 2 && _me.isShare) {\n            _me.$router.push(\"/messageFillPage/5\");\n\n            return;\n          }\n\n          _me.boAlias = result.value.boDefAlias;\n          _me.defKey = result.value.defId;\n          _me.formKey = result.value.formKey;\n          _me.tempAlias = result.value.alias;\n\n          if (result.value.manageField) {\n            var re = JSON.parse(result.value.manageField);\n            re.forEach(function (item) {\n              if (item.name == 'startFlow') {\n                _this9.startFlow = true;\n                _this9.startLable = item.desc;\n              } else if (item.name == 'print') {\n                _this9.printLable = item.desc;\n              }\n            });\n          } else {\n            _this9.startFlow = true;\n          }\n\n          _this9.reloadOnlineForm = false; //如果编辑的是草稿数据\n\n          if (_this9.action === 'editDraft') {\n            _this9.editDraftHandler();\n          } else {\n            _this9.handler();\n          }\n        }\n      });\n    }\n  },\n  created: function created() {\n    this.init();\n  },\n  watch: {\n    templateKey: function templateKey(n, o) {\n      if (n && o && n != o) {\n        this.init();\n      }\n    },\n    //控件的联动会导致表单的permission发生变化，联动显示会变成'w'，需要改回原来的权限\n    permission: {\n      handler: function handler(newVal, oldVal) {\n        if (this.formKey && this.action == \"get\") {\n          for (var key in newVal.fields[this.formKey]) {\n            if (newVal.fields[this.formKey][key] == 'w') {\n              newVal.fields[this.formKey][key] = 'r';\n            }\n          }\n        }\n      },\n      deep: true\n    }\n  }\n};",null]}