{"remainingRequest":"D:\\jenkins\\workspace\\xq-web-fvue\\node_modules\\vue-loader\\lib\\index.js??vue-loader-options!D:\\jenkins\\workspace\\xq-web-fvue\\src\\components\\eipControl\\EipCollapse.vue?vue&type=script&lang=js&","dependencies":[{"path":"D:\\jenkins\\workspace\\xq-web-fvue\\src\\components\\eipControl\\EipCollapse.vue","mtime":1667327529247},{"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":["//\n//\n//\n//\n//\n\r\nimport PageBus from \"@/components/eipControl/bus/PageBus.js\";\r\nexport default {\r\n  name: \"eip-collapse\",\r\n  components: {},\r\n  props: [\"openDefault\", \"isVerify\"],\r\n  data() {\r\n    return {\r\n      openDefaultArr: this.openDefault ? this.openDefault : [],\r\n      oldOpenDefaultArr: []\r\n    };\r\n  },\r\n  mounted() {\r\n    this.oldOpenDefaultArr = JSON.parse(JSON.stringify(this.openDefaultArr));\r\n  },\r\n  methods: {\r\n    //折叠面板改变时,对折叠面板内的表单进行校验\r\n    //1.关闭面板时,需要表单局部验证,验证不通过则需要中断关闭效果\r\n    //2.面板点击事件 需要判断当前点击是否是关闭,当前展示的数组与上一个数组进行比较\r\n    //3.需要知道,当前点击的面板是哪个面板.\r\n    handleChange(val) {\r\n      //1.是否开启 2.是否是关闭面板\r\n      if (!this.isVerify || val.length > this.oldOpenDefaultArr.length) {\r\n        this.oldOpenDefaultArr = val;\r\n        return;\r\n      }\r\n      //得到被关闭的面板名\r\n      let removeArr = JSON.parse(JSON.stringify(this.oldOpenDefaultArr));\r\n      for (let y = 0; y < val.length; y++) {\r\n        removeArr.remove(val[y]);\r\n      }\r\n      let erritems = [];\r\n      let formElementAry = document.getElementsByName(\"online-form\");\r\n      let frmInst = formElementAry[0].__vue__;\r\n      let childrens = frmInst.$refs.onlineForm.$refs;\r\n      frmInst.$root.$validator.validateAll(\"custom-form\").then(result => {\r\n        if (!result) {\r\n          let curEl = childrens[removeArr[0]].$el;\r\n          this.$validator.errors.items.forEach(item => {\r\n            if (curEl.contains(document.getElementsByName(item.field)[0])) {\r\n              erritems.push(item);\r\n            }\r\n          });\r\n        } \r\n        //拼接提示消息\r\n        let msg = \"\";\r\n        for (let item of erritems) {\r\n          let fieldLabel = \"\";\r\n          if (item.field) {\r\n            fieldLabel = item.field;\r\n          }\r\n          if (item.field && item.field.indexOf(\"-\") != -1) {\r\n            fieldLabel = item.field.substr(item.field.indexOf(\"-\") + 1);\r\n          }\r\n          msg += fieldLabel + \" \" + item.msg + \"<br/>\";\r\n        }\r\n        if (msg) {\r\n          //重新打开折叠面板\r\n          this.openDefaultArr = JSON.parse(\r\n            JSON.stringify(this.oldOpenDefaultArr)\r\n          );\r\n          this.$notify.error({\r\n            title: this.$t(\"common.errTip\"),\r\n            dangerouslyUseHTMLString: true,\r\n            message: msg\r\n          });\r\n        }else {\r\n          this.oldOpenDefaultArr = val;\r\n        }\r\n      });\r\n    }\r\n  },\r\n  watch: {}\r\n};\r\n",null]}