{"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\\customView\\ViewEdit.vue?vue&type=script&lang=js&","dependencies":[{"path":"D:\\jenkins\\workspace\\xq-web-bpm\\src\\components\\form\\customView\\ViewEdit.vue","mtime":1675071992131},{"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\nimport form from \"@/api/form.js\";\nimport flow from \"@/api/flow.js\";\nimport utils from \"@/hotent-ui-util.js\";\nimport SummarySetting from \"../dataTemplate/SummarySetting\";\nconst templateEdit = () => import(\"@/components/form/customView/TemplateEdit.vue\");\nconst menusAdd = () => import(\"@/components/form/customView/MenusAdd.vue\");\nconst filterDialog = () => import(\"@/components/form/customView/FilterDialog.vue\");\nconst authEdit = () => import(\"@/components/form/customView/AuthEdit.vue\");\nconst summarySetting = () => import(\"@/components/form/dataTemplate/SummarySetting.vue\");\nexport default {\n  components:{\n    SummarySetting,\n    templateEdit,\n    menusAdd,\n    filterDialog,\n    authEdit,\n    summarySetting\n  },\n  props:{\n    id:String,\n    sqlAlias:String\n  },\n  data(){\n    return{\n      dialogVisible:false,\n      data:{\n        templateAlias:\"\",\n        rebuildTemp:1,\n        sqlAlias:this.sqlAlias,\n        filterType:'1',\n        needPage:1,\n        pageSize:'30',\n        initQuery:1,\n        showRowsNum:0,\n        supportGroup:0,\n        filterInitType:'1',\n        filterInitSql:'',\n        shows:[],\n        conditions:[],\n        alias:\"\",\n        interface:\"\"\n      },\n      templateList:[],\n      sqlDef:{},\n      fields:[],\n      filterFields:[],\n      permissionList:[],\n      permissionMap:{'none':'无'},\n      saveUrl:window.context.form+\"/form/query/queryView/save\",\n      submitData:{},\n      selectedData:{},\n      selectedIndex:0,\n      summaryData:{bpmDataTemplate:{},displaySettingFields:\"\"}\n    }\n  },\n  watch: {\n    data: {\n      handler(newValue, oldValue) {\n        if(newValue.alias !=\"\"){\n          this.data.interface = window.context.form+\"/form/query/queryView/data_\"+this.sqlAlias+\"/\"+newValue.alias;\n          this.convertData();\n        }\n      }\n    },\n    deep: true,\n    immediate: true\n  },\n  mounted() {\n\n  },\n  methods:{\n    // 复制成功时的回调函数\n    onCopy (e) {\n      this.$message.success(\"内容已复制到剪切板！\")\n    },\n    // 复制失败时的回调函数\n    onError (e) {\n      this.$message.error(\"抱歉，复制失败！\")\n    },\n    beforeClose(){\n      this.dialogVisible = false;\n    },\n    handleOpen(){\n      const this_ = this;\n      this_.dialogVisible = true;\n      this_.$nextTick(()=>{\n        // 获取模板列表\n        form.getTemplateList().then(response=>{\n          this_.templateList = response;\n          this_.data.templateAlias = response[0].alias;\n        });\n        // todo 这里获取到数据并没使用注释掉 接口请求失败 获取权限列表\n        // flow.getPermissionList().then(result=>{\n        //   if (result){\n        //     this_.permissionList = result;\n        //     for (let i=0;i<result.length;i++){\n        //       this_.permissionMap[result[i].type] = result[i].title;\n        //     }\n        //   }\n        // })\n        if (this_.id){\n          form.getViewById(this_.id).then(response=>{\n            this_.data = response;\n            this_.afterLoadEvent();\n            this_.getSqlDef(this_.sqlAlias)\n          });\n        }else{\n          this_.initData();\n          this_.initGroup();\n          this_.getSqlDef(this_.sqlAlias);\n        }\n      })\n    },\n    initData(){\n      this.data={\n        templateAlias:\"\",\n        rebuildTemp: 1,\n        sqlAlias:this.sqlAlias,\n        filterType: 1,\n        needPage: 1,\n        pageSize:'30',\n        initQuery:1,\n        showRowsNum:0,\n        supportGroup:0,\n        filterInitType:1,\n        filterInitSql:'',\n        shows:[],\n        conditions:[],\n        alias:\"\",\n        interface:\"\"\n      };\n    },\n    afterLoadEvent(){\n      this.data.shows = JSON.parse(this.data.shows);\n      this.data.conditions = JSON.parse(this.data.conditions);\n      this.data.buttons = JSON.parse(this.data.buttons);\n      this.data.groupSetting = JSON.parse(this.data.groupSetting);\n      this.$set(this.data,\"rebuildTemp\",1);\n      this.filterFields = this.data.filter?JSON.parse(this.data.filter):[];\n    },\n    getSqlDef(sqlAlias){\n      form.getQuerySqlDef(sqlAlias).then(response=>{\n          this.sqldef = response;\n          //新增时需要加载初始化默认的显示字段和条件字段的\n          if (!this.id) {\n            this.initDefaultData(false);\n            this.initFields();\n          }else{\n            this.initFields();\n          }\n        })\n    },\n    initFields(){\n      if(this.fields.length<1){\n        for (let i = 0; i < this.data.shows.length; i++) {\n          let field = this.data.shows[i];\n          field.name = field.name;\n          field.type = field.controlType;\n          field.desc = field.fieldDesc;\n          this.fields.push(field);\n        }\n      }\n    },\n    defaultSortChange(obj){\n      for (let i=0;i<this.data.shows.length;i++){\n        if (this.data.shows[i].id === obj.id) {\n          this.data.shows[i].defaultSort = 1-this.data.shows[i].defaultSort;\n          continue;\n        }\n        this.data.shows[i].defaultSort = 0;\n      }\n    },\n    close(){\n      this.dialogVisible = false;\n    },\n    editTemplate(){\n      this.$refs.templateEdit.handleOpen();\n    },\n    initDefaultData(isTip) {\n      this.data.shows = [];\n      this.data.conditions = [];\n      let displayFields = [];\n      for (let i=0;i<this.sqldef.metafields.length;i++){\n        if (this.sqldef.metafields[i].isShow === 1){\n          let json = {...this.sqldef.metafields[i]};\n          json.sortable = 0;\n          json.sortSeq = \"asc\";\n          json.defaultSort = 0;\n          json.frozen = 0;\n          json.hidden = 0;\n          json.align = \"center\";\n          json.group = 0;\n          this.data.shows.push(json);\n          displayFields.push({\n            name:json.name,\n            type:json.controlType\n          })\n        }\n        if (this.sqldef.metafields[i].isSearch === 1) {// 条件字段\n          let json1 = {...this.sqldef.metafields[i]};\n          json1.hidden = 0;\n          json1.operate = \"EQ\";\n          json1.valueFrom = \"1\";\n          this.data.conditions.push(json1);\n        }\n      }\n      if(!this.summaryData.displaySettingFields){\n          this.summaryData.displaySettingFields = JSON.stringify(displayFields);\n      }\n      // 默认的按钮\n      this.data.buttons = JSON.parse(this.sqldef.buttonDef);\n      if(isTip){\n        this.$message({type:\"success\",message:\"已重置字段\"});\n      }\n    },\n    //显示自定义视图添加到菜单dialog\n    addToMenu(type){\n      this.$refs.menusAdd.showDialog(type,\"addReport\");\n    },\n    addFilter(data,index){\n      let isAdd = false;\n      if (data){\n        this.selectedData = data;\n        this.selectedIndex = index;\n      }else{\n        this.selectedData = {};\n        this.selectedIndex = -1;\n        isAdd = true;\n      }\n\n      this.$refs.filterDialog.handleOpen(isAdd);\n    },\n    initGroup(){\n      let groupSetting = {};\n      groupSetting.groupField = [];\n      groupSetting.groupColumnShow = [];\n      groupSetting.groupText = [];\n      groupSetting.groupOrder = [];\n      groupSetting.groupSummary = [];\n      this.data.groupSetting = groupSetting;\n    },\n    arrayMove(group,item,direct){\n      if (group==='filterFields'){\n        this[group] = utils.arrayMove(this.data[group],item,direct);\n      }else{\n        this.data[group] = utils.arrayMove(this.data[group],item,direct);\n      }\n    },\n    beforeSaveData(){\n      this.submitData = {...this.data};\n      //处理合并查询\n      let isIndistinct=\"hide\";\n      let conditionAllName=\"\";\n      let conditionAllDesc=\"\";\n      for(let i = 0; i < this.submitData.conditions.length; i++){\n        this.submitData.conditions[i].na = this.submitData.conditions[i].fieldName;\n        if(this.submitData.conditions[i].isCombine===1 && this.submitData.conditions[i].isSearch===1 && this.submitData.conditions[i].hidden===0 ){\n          isIndistinct=\"show\";\n          conditionAllName+=this.submitData.conditions[i].name+\",\";\n          conditionAllDesc+=this.submitData.conditions[i].fieldDesc+\"/\";\n        }\n      }\n      if(conditionAllName!==\"\"){\n        conditionAllName=conditionAllName.substring(0,conditionAllName.length-1);\n      }\n      if(conditionAllDesc!==\"\"){\n        conditionAllDesc=conditionAllDesc.substring(0,conditionAllDesc.length-1);\n      }\n\n      this.submitData.groupSetting = JSON.stringify(this.submitData.groupSetting);\n      this.submitData.conditions = JSON.stringify(this.submitData.conditions);\n      this.submitData.buttons = JSON.stringify(this.submitData.buttons);\n      this.submitData.shows = JSON.stringify(this.submitData.shows);\n      this.submitData.filter = JSON.stringify(this.filterFields);\n      this.submitData.isIndistinct=isIndistinct;\n      this.submitData.conditionAllName=conditionAllName;\n      this.submitData.conditionAllDesc=conditionAllDesc;\n      this.$refs.SummarySetting.saveSummaryField();\n      this.submitData.summarySetting = this.summaryData.bpmDataTemplate.summaryField;\n    },\n    afterSaveData(){\n      this.close();\n      this.$emit(\"after-save\",{});\n    },\n    afterSave(data){\n      if (this.selectedIndex>=0){\n        this.filterFields.splice(this.selectedIndex,1);\n        this.filterFields.splice(this.selectedIndex,0,data);\n      }else{\n        this.filterFields.push(data);\n      }\n    },\n    editAuth(data,index){\n      if (data){\n        this.selectedData = data;\n        this.selectedIndex = index;\n      }\n      this.$refs.authEdit.handleOpen();\n    },\n    convertData(){\n      let list = this.data.shows.filter(item => item.isShow === 1).map(item => {\n        let i = {name: item.fieldName,type: item.dataType};\n        return i;\n      });\n      this.summaryData.displaySettingFields = JSON.stringify(list);\n      this.summaryData.bpmDataTemplate.summaryField = this.data.summarySetting;\n    }\n  }\n}\n",null]}