{"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\\dataTemplate\\SortSetting.vue?vue&type=script&lang=js&","dependencies":[{"path":"D:\\jenkins\\workspace\\xq-web-bpm\\src\\components\\form\\dataTemplate\\SortSetting.vue","mtime":1675071992178},{"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\r\nimport deepmerge from \"deepmerge\";\r\nexport default {\r\n  name: \"sort-setting\",\r\n  props: [\"data\"],\r\n  data() {\r\n    return {\r\n      dataTemplate: {},\r\n      sortSettingFields: [],\r\n      sortFields: [],\r\n      tabHeight: `${document.documentElement.clientHeight}` - 245\r\n    };\r\n  },\r\n  mounted() {\r\n    this.dataTemplate = this.data.bpmDataTemplate;\r\n    if (this.data.fields) {\r\n      let fields = deepmerge({}, this.data.fields, { clone: true });\r\n      fields=fields.filter(item=>!item.flowField);\r\n      this.sortSettingFields =fields;\r\n    }\r\n    this.templates = this.data.templates;\r\n    this.initData();\r\n  },\r\n  methods: {\r\n    //保存排序数据\r\n    saveSortField() {\r\n      this.dataTemplate.sortField = this.sortFields\r\n        ? JSON.stringify(this.sortFields)\r\n        : null;\r\n    },\r\n    //初始化处理\r\n    initData() {\r\n      if (this.dataTemplate.sortField) {\r\n        this.sortFields = JSON.parse(this.dataTemplate.sortField);\r\n      }\r\n    },\r\n    columnFilter(type) {\r\n      return type != \"sub\" && type != \"tabs\";\r\n    },\r\n    //双击字段列表中的字段时将该字段加入到显示字段\r\n    fillToSort(row, event, column) {\r\n      let isIn = this.isInsortFields(row.name);\r\n      if (!isIn) {\r\n        //row.sort = 'ASC';\r\n        this.$set(row,\"sort\",\"ASC\");\r\n        this.sortFields.push(row);\r\n      }\r\n    },\r\n    //将字段列表中的已选字段加入到显示字段列表\r\n    allFillToSort() {\r\n      let selectrows = this.$refs.sortSettingTable.store.states.selection;\r\n      if (!selectrows || selectrows.length < 1) {\r\n        this.$message({\r\n          message: \"请在左侧列表中选择要作为排序的字段\",\r\n          type: \"warning\"\r\n        });\r\n      }\r\n      selectrows.forEach(obj => {\r\n        if(obj.type == 'clob'){\r\n          this.$message({\r\n            message: \"大文本不能作为排序字段！\",\r\n            type: \"warning\"\r\n          });\r\n          return;\r\n        }\r\n        if (!this.isInsortFields(obj.name)) {\r\n          //obj.sort = 'ASC';\r\n          this.$set(obj,\"sort\",\"ASC\");\r\n          this.sortFields.push(obj);\r\n        }\r\n      });\r\n    },\r\n    //显示字段排序\r\n    sort(index, type) {\r\n      if (\"up\" == type) {\r\n        if (index === 0) {\r\n          this.$message({\r\n            message: \"已经是列表中第一位\",\r\n            type: \"warning\"\r\n          });\r\n        } else {\r\n          let temp = this.sortFields[index - 1];\r\n          this.$set(this.sortFields, index - 1, this.sortFields[index]);\r\n          this.$set(this.sortFields, index, temp);\r\n        }\r\n      } else {\r\n        if (index === this.sortFields.length - 1) {\r\n          this.$message({\r\n            message: \"已经是列表中最后一位\",\r\n            type: \"warning\"\r\n          });\r\n        } else {\r\n          let i = this.sortFields[index + 1];\r\n          this.$set(this.sortFields, index + 1, this.sortFields[index]);\r\n          this.$set(this.sortFields, index, i);\r\n        }\r\n      }\r\n    },\r\n    //删除显示字段\r\n    remove(index) {\r\n      this.sortFields.splice(index, 1);\r\n    },\r\n    //判断字段是否已在显示字段列表中\r\n    isInsortFields(name) {\r\n      let isIn = false;\r\n      if (this.sortFields && this.sortFields.length > 0) {\r\n        this.sortFields.forEach(obj => {\r\n          if (obj.name == name) {\r\n            isIn = true;\r\n            return;\r\n          }\r\n        });\r\n      }\r\n      return isIn;\r\n    }\r\n  }\r\n};\r\n",null]}