{"remainingRequest":"D:\\jenkins\\workspace\\xq-web-bpm\\node_modules\\vue-loader\\lib\\index.js??vue-loader-options!D:\\jenkins\\workspace\\xq-web-bpm\\src\\components\\form\\WidgetFormItem.vue?vue&type=script&lang=js&","dependencies":[{"path":"D:\\jenkins\\workspace\\xq-web-bpm\\src\\components\\form\\WidgetFormItem.vue","mtime":1675071992038},{"path":"D:\\jenkins\\workspace\\xq-web-bpm\\node_modules\\cache-loader\\dist\\cjs.js","mtime":499162500000},{"path":"D:\\jenkins\\workspace\\xq-web-bpm\\node_modules\\thread-loader\\dist\\cjs.js","mtime":499162500000},{"path":"D:\\jenkins\\workspace\\xq-web-bpm\\node_modules\\babel-loader\\lib\\index.js","mtime":315532800000},{"path":"D:\\jenkins\\workspace\\xq-web-bpm\\node_modules\\cache-loader\\dist\\cjs.js","mtime":499162500000},{"path":"D:\\jenkins\\workspace\\xq-web-bpm\\node_modules\\vue-loader\\lib\\index.js","mtime":499162500000}],"contextDependencies":[],"result":["//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n\r\nimport VueAMap from \"vue-amap\"; //高德地图插件\r\nVueAMap.initAMapApiLoader({\r\n  // 高德的key\r\n  key: \"1f8f479e9b787974efaa9bda1bf8ef92\",\r\n  // 插件集合\r\n  plugin: [\r\n    \"AMap.Autocomplete\",\r\n    \"AMap.PlaceSearch\",\r\n    \"AMap.Scale\",\r\n    \"AMap.OverView\",\r\n    \"AMap.ToolBar\",\r\n    \"AMap.MapType\",\r\n    \"AMap.PolyEditor\",\r\n    \"AMap.CircleEditor\",\r\n    \"AMap.Geolocation\",\r\n    \"AMap.Autocomplete\",\r\n    \"AMap.PlaceSearch\",\r\n  ],\r\n  // 默认高德 sdk 版本为 1.4.4\r\n  v: \"1.4.4\",\r\n});\r\nimport req from \"@/request.js\";\r\nimport WidgetFormBus from \"@/components/form/bus/WidgetFormBus.js\";\r\nimport deepmerge from \"deepmerge\";\r\nexport default {\r\n  props: [\"element\", \"select\", \"index\", \"data\", \"selectWidgetList\"],\r\n  data() {\r\n    const self = this;\r\n    return {\r\n      config:{\r\n\t\t\t\tinitialFrameHeight: 50,\r\n\t\t\t\tUEDITOR_HOME_URL: window.location.origin +'/'+ window.location.pathname.split('/')[1]+'/static/ueditor/',\r\n\t\t\t\ttoolbars:[],\r\n        elementPathEnabled:false,//是否启用元素路径，默认是true显示　\r\n        wordCount:false,          //是否开启字数统计\r\n\t\t\t\t// 初始容器宽度\r\n\t\t\t\tinitialFrameWidth: \"99%\",\r\n\t\t\t\tzIndex:8,\r\n\t\t\t\tenableAutoSave: false,\r\n\t\t\t\treadonly : true\r\n\t\t\t},\r\n      mapCenter: [121.59996, 31.197646],\r\n      zoom: 12,\r\n      lng: 0,\r\n      lat: 0,\r\n      loaded: false,\r\n      resizeEnable: true,\r\n      plugin: [],\r\n      img_src:\"\",\r\n      selectWidget: this.select,\r\n      flowListSvg: require(\"@/assets/img/flowList.svg\"),\r\n      demoSignature:require(\"@/assets/img/signature.png\")\r\n    };\r\n  },\r\n  computed: {\r\n    imgSrc: function (state) {\r\n      this.getImgSrc(this.element);\r\n      return true;\r\n    }\r\n  },\r\n  created() {\r\n    const me_ = this;\r\n    WidgetFormBus.$emit('initNoAttrField', this.element);\r\n    WidgetFormBus.$on(\"changeCtrlType\", (obj) => {\r\n      \r\n      if (obj.key === me_.element.key) {\r\n        const key =\r\n          Date.parse(new Date()) + \"_\" + Math.ceil(Math.random() * 99999);\r\n        obj.key = key;\r\n        obj.model = obj.ctrlType + \"_\" + key;\r\n        me_.selectWidget = obj;\r\n        //me_.$set(me_.data.list, me_.index, obj);\r\n        let  tmp=me_.data;\r\n        tmp.list[me_.index]=obj;\r\n        me_.$emit(\"data:update\", tmp);\r\n        me_.destroyedCtrlType(this);\r\n        //me_.$emit(\"data:update\", me_.data);\r\n      }\r\n    });\r\n  },\r\n  destroyed() {\r\n    //WidgetFormBus.$off(\"changeCtrlType\");\r\n  },\r\n  methods: {\r\n    destroyedCtrlType(formBus) {\r\n      formBus.$off(\"changeCtrlType\");\r\n    },\r\n    getImgSrc(obj) {\r\n      if (obj.options.isDisplay) {\r\n        var fileJson = obj.options.fileJson;\r\n        if (fileJson) {\r\n          var json = JSON.parse(fileJson);\r\n           req.get(window.context.portal + \"/file/onlinePreviewController/v1/getFileById_\" + json[0].id,'arraybuffer').then(response=>{\r\n            let type = response.headers['content-type'];\r\n            if(type){\r\n              this.img_src = window.URL.createObjectURL(new Blob([response.data], { type: type}));\r\n            }else{\r\n              this.img_src = window.URL.createObjectURL(new Blob([response.data]));\r\n            }\r\n          })\r\n        }\r\n      }\r\n    },\r\n    handleClick(index){\r\n      //判断\"CTRL\" 键是否被按住 true:按住了  false:没按住\r\n      if(!window.event.ctrlKey){\r\n        //清空数组\r\n        this.selectWidgetList.empty();\r\n        this.selectWidgetList.push(this.selectWidget.key);\r\n      }\r\n    },\r\n    //按住Ctrl键选择表单字段控件多选进行删除\r\n    handleClickCtrl(index) {\r\n      if (\r\n        this.selectWidgetList.length == 0 ||\r\n        this.selectWidgetList.indexOf(this.data.list[index].key) == -1\r\n      ) {\r\n        this.selectWidgetList.push(this.data.list[index].key);\r\n      } else if (\r\n        this.selectWidgetList.indexOf(this.data.list[index].key) != -1\r\n      ) {\r\n        this.selectWidgetList.remove(this.data.list[index].key);\r\n      }\r\n      this.selectWidget = { options: { validateType: \"\" } };\r\n    },\r\n    handleSelectWidget(index) {\r\n      this.selectWidget = this.data.list[index];\r\n    },\r\n    handleWidgetDelete(index) {\r\n      if (this.data.list.length - 1 === index) {\r\n        if (index === 0) {\r\n          this.selectWidget = { options: { validateType: \"\" } };\r\n        } else {\r\n          this.selectWidget = this.data.list[index - 1];\r\n        }\r\n      } else {\r\n        this.selectWidget = this.data.list[index + 1];\r\n      }\r\n\r\n      this.$nextTick(() => {\r\n        this.data.list.splice(index, 1);\r\n      });\r\n    },\r\n    handleWidgetClone(index) {\r\n      let cloneData = deepmerge({}, this.data.list[index], { clone: true });\r\n\r\n      cloneData.key =\r\n        Date.parse(new Date()) + \"_\" + Math.ceil(Math.random() * 99999);\r\n\r\n      this.data.list.splice(index, 0, cloneData);\r\n\r\n      this.$nextTick(() => {\r\n        this.selectWidget = this.data.list[index + 1];\r\n      });\r\n    },\r\n  },\r\n  watch: {\r\n    select(val) {\r\n      this.selectWidget = val;\r\n    },\r\n    selectWidget: {\r\n      handler(val) {\r\n        this.$emit(\"update:select\", val);\r\n      },\r\n      deep: true,\r\n    },\r\n    element: {\r\n      handler: function (newVal, oldVal) {\r\n        if (newVal) {\r\n          if (newVal.ctrlType == \"amap\") {\r\n            const self = this;\r\n            this.plugin = [\r\n              \"AMap.Scale\",\r\n              \"AMap.ToolBar\",\r\n              \"AMap.Autocomplete\",\r\n              {\r\n                enableHighAccuracy: true, //是否使用高精度定位，默认:true\r\n                timeout: 10000, //超过10秒后停止定位，默认：5s\r\n                buttonPosition: \"RB\", //定位按钮的停靠位置\r\n                buttonOffset: new AMap.Pixel(5, 10), //定位按钮与设置的停靠位置的偏移量，默认：Pixel(10, 20)\r\n                zoomToAccuracy: true, //定位成功后是否自动调整地图视野到定位点\r\n                markerOptions: {\r\n                  //自定义定位点样式，同Marker的Options\r\n                  offset: new AMap.Pixel(-18, -36),\r\n                  content:\r\n                    '<img src=\"https://a.amap.com/jsapi_demos/static/resource/img/user.png\" style=\"width:36px;height:36px\"/>',\r\n                },\r\n                showCircle: true, //是否显示定位精度圈\r\n                circleOptions: {\r\n                  //定位精度圈的样式\r\n                  strokeColor: \"#0093FF\",\r\n                  noSelect: true,\r\n                  strokeOpacity: 0.5,\r\n                  strokeWeight: 1,\r\n                  fillColor: \"#02B0FF\",\r\n                  fillOpacity: 0.25,\r\n                },\r\n                extensions: \"all\",\r\n                pName: \"Geolocation\",\r\n                events: {\r\n                  init(o) {\r\n                    // o 是高德地图定位插件实例  获取当前位置\r\n                    o.getCurrentPosition((status, result) => {\r\n                      if (result && result.position) {\r\n                        self.lng = result.position.lng;\r\n                        self.lat = result.position.lat;\r\n                        self.mapCenter = [self.lng, self.lat];\r\n                        self.loaded = true;\r\n                        self.$nextTick();\r\n                      }\r\n                    });\r\n                  },\r\n                },\r\n              },\r\n            ];\r\n          }\r\n        }\r\n      },\r\n      deep: true,\r\n    },\r\n  },\r\n};\r\n",null]}