{"remainingRequest":"D:\\jenkins\\workspace\\xq-web-bpm\\node_modules\\thread-loader\\dist\\cjs.js!D:\\jenkins\\workspace\\xq-web-bpm\\node_modules\\babel-loader\\lib\\index.js!D:\\jenkins\\workspace\\xq-web-bpm\\node_modules\\cache-loader\\dist\\cjs.js??ref--0-0!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\\ConditionSetting.vue?vue&type=script&lang=js&","dependencies":[{"path":"D:\\jenkins\\workspace\\xq-web-bpm\\src\\components\\form\\dataTemplate\\ConditionSetting.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":["import \"core-js/modules/es7.object.get-own-property-descriptors\";\nimport \"core-js/modules/es6.object.keys\";\nimport _defineProperty from \"D:/jenkins/workspace/xq-web-bpm/node_modules/@babel/runtime/helpers/esm/defineProperty\";\nimport \"core-js/modules/es6.function.name\";\nimport \"core-js/modules/web.dom.iterable\";\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\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 deepmerge from \"deepmerge\";\n\nvar templateCtrlFieldDialog = function templateCtrlFieldDialog() {\n  return import(\"@/components/form/dataTemplate/TemplateCtrlFieldDialog.vue\");\n};\n\nvar BTN_TYPE = {\n  isShow: '1',\n  notShow: '2'\n};\nexport default {\n  name: \"condition-setting\",\n  components: {\n    templateCtrlFieldDialog: templateCtrlFieldDialog\n  },\n  props: [\"data\"],\n  data: function data() {\n    return {\n      btnType: BTN_TYPE,\n      //移动端显示隐藏按钮\n      dataTemplate: {},\n      conditionSettingFields: [],\n      conditionFields: [],\n      tabHeight: \"\".concat(document.documentElement.clientHeight) - 245,\n      controlTypes: [{\n        key: \"onetext\",\n        value: \"单行文本框\"\n      }, {\n        key: \"date\",\n        value: \"日期控件\"\n      }, {\n        key: \"select\",\n        value: \"下拉选项\"\n      }, {\n        key: \"radio\",\n        value: \"单选按钮\"\n      }, {\n        key: \"customDialog\",\n        value: \"自定义对话框\"\n      }],\n      editField: {},\n      editFieldIndex: -1,\n      option: {\n        choiceType: \"static\",\n        customQuery: {}\n      }\n    };\n  },\n  mounted: function mounted() {\n    this.dataTemplate = this.data.bpmDataTemplate;\n\n    if (this.data.fields) {\n      var fields = deepmerge({}, this.data.fields, {\n        clone: true\n      });\n      fields = fields.filter(function (item) {\n        return !item.flowField;\n      });\n      this.conditionSettingFields = fields;\n    }\n\n    this.templates = this.data.templates;\n    this.initData();\n  },\n  methods: {\n    isShow: function isShow(row) {\n      this.$set(row, 'isShow', !row.isShow);\n    },\n    btnChange: function btnChange(row) {\n      this.$set(row, 'mpDisplay', row.mpDisplay === '1' ? '2' : '1');\n    },\n    //保存查询条件数据\n    saveConditionField: function saveConditionField() {\n      var unPassCondtionArr = [];\n      this.conditionFields.forEach(function (c) {\n        if ((c.ct == \"select\" || c.ct == \"radio\" || c.ct == \"customDialog\") && !c.controlContent) {\n          unPassCondtionArr.push(c.cm);\n        }\n      });\n\n      if (unPassCondtionArr.length > 0) {\n        this.$message.error(\"查询字段【\" + unPassCondtionArr.join(\",\") + \"】尚未配置控件，无法保存\");\n        return \"false\";\n      }\n\n      this.dataTemplate.conditionField = this.conditionFields ? JSON.stringify(this.conditionFields) : null;\n    },\n    //初始化处理\n    initData: function initData() {\n      if (this.dataTemplate.conditionField) {\n        this.conditionFields = JSON.parse(this.dataTemplate.conditionField);\n      }\n\n      if (this.conditionFields) {\n        this.conditionFields.forEach(function (item) {\n          if (item.ct != \"onetext\" && item.ct != \"date\" && item.ct != \"select\" && item.ct != \"radio\" && item.ct != \"customDialog\") {\n            item.ct = \"onetext\";\n          }\n        });\n      }\n    },\n    //查询字段控件设置\n    addCtrlField: function addCtrlField(index, row, conditionFields) {\n      if (row.ct == \"select\" && !row.option) {\n        row.option = {\n          choiceType: \"static\",\n          customQuery: {}\n        };\n      }\n\n      this.editFieldIndex = index;\n      this.editField = row;\n      this.$refs.templateCtrlFieldDialog.showDialog(row, conditionFields);\n    },\n    //回填查询字段控件设置\n    ctrlFieldDialogOnConfirm: function ctrlFieldDialogOnConfirm(field) {\n      this.editField = field;\n    },\n    //双击字段列表中的字段时将该字段加入到显示字段\n    fillToCondition: function fillToCondition(row, event, column) {\n      var isIn = this.isInConditionFields(row.name);\n\n      if (!isIn) {\n        var field = this.getConditionField(row);\n        this.conditionFields.push(field);\n      }\n    },\n    //将字段列表中的已选字段加入到显示字段列表\n    allfillToCondition: function allfillToCondition() {\n      var _this = this;\n\n      var selectrows = this.$refs.conditionSettingTable.store.states.selection;\n\n      if (!selectrows || selectrows.length < 1) {\n        this.$message({\n          message: \"请在左侧列表中选择要作为条件的字段\",\n          type: \"warning\"\n        });\n      }\n\n      selectrows.forEach(function (obj) {\n        var ctrlType = obj.ctrlType;\n\n        if (ctrlType == \"dialog\") {\n          ctrlType = \"customDialog\";\n        } else if (ctrlType == \"input\") {\n          ctrlType = \"onetext\";\n        }\n\n        if (obj.type === 'date') {\n          ctrlType = \"date\";\n        }\n\n        var isTrue = false;\n\n        for (var i = 0; i < _this.controlTypes.length; i++) {\n          if (ctrlType == _this.controlTypes[i].key) {\n            isTrue = true;\n            break;\n          }\n        }\n\n        if (!isTrue) {\n          ctrlType = \"onetext\";\n        }\n\n        _this.$set(obj, \"ctrlType\", ctrlType);\n\n        if (!_this.isInConditionFields(obj.name)) {\n          var field = _this.getConditionField(obj);\n\n          _this.conditionFields.push(field);\n        }\n      });\n    },\n    //显示字段排序\n    sort: function sort(index, type) {\n      if (\"up\" == type) {\n        if (index === 0) {\n          this.$message({\n            message: \"已经是列表中第一位\",\n            type: \"warning\"\n          });\n        } else {\n          var temp = this.conditionFields[index - 1];\n          this.$set(this.conditionFields, index - 1, this.conditionFields[index]);\n          this.$set(this.conditionFields, index, temp);\n        }\n      } else {\n        if (index === this.conditionFields.length - 1) {\n          this.$message({\n            message: \"已经是列表中最后一位\",\n            type: \"warning\"\n          });\n        } else {\n          var i = this.conditionFields[index + 1];\n          this.$set(this.conditionFields, index + 1, this.displayFields[index]);\n          this.$set(this.conditionFields, index, i);\n        }\n      }\n    },\n    //删除显示字段\n    remove: function remove(index) {\n      this.conditionFields.splice(index, 1);\n    },\n    //判断字段是否已在显示字段列表中\n    isInConditionFields: function isInConditionFields(name) {\n      var isIn = false;\n\n      if (this.conditionFields && this.conditionFields.length > 0) {\n        this.conditionFields.forEach(function (obj) {\n          if (obj.name == name) {\n            isIn = true;\n            return;\n          }\n        });\n      }\n\n      return isIn;\n    },\n    getConditionField: function getConditionField(field) {\n      var option = field.option ? JSON.parse(field.option) : null;\n      var ctrlType = field.ctrlType;\n      var resultField;\n      ctrlType = ctrlType == \"multiselect\" ? \"select\" : ctrlType; //下拉框多选也为下拉框\n\n      if (ctrlType == \"selector\" && option) {\n        ctrlType = this.getSelectorOptions(option.selector.type.alias);\n\n        for (var bind in option.bind) {\n          if (option.bind[bind].json && option.bind[bind].json.name == field.name) {\n            resultField = option.bind[bind].key;\n            break;\n          }\n        }\n\n        if (!resultField) {\n          resultField = option.bind[0].key;\n        }\n      }\n\n      if (\"text\" == ctrlType || \"checkbox\" == ctrlType) {\n        ctrlType = \"onetext\";\n      }\n\n      var colPrefix = this.data.colPrefix;\n      return {\n        colPrefix: colPrefix,\n        name: field.name,\n        na: field.name,\n        ty: field.type,\n        op: field.type == \"varchar\" ? \"equal\" : \"1\",\n        cm: field.desc,\n        va: \"\",\n        vf: option && option.choiceType || \"static\",\n        ct: ctrlType || \"onetext\",\n        qt: this.getQueryType(field.fieldType || field.type, 1),\n        option: option,\n        controlContent: resultField || option && option.choice || option && option[ctrlType] || \"\"\n      };\n    },\n    getQueryType: function getQueryType(type, op) {\n      var qt = \"equal\";\n      op = parseInt(op);\n\n      switch (type) {\n        case \"varchar\":\n        case \"clob\":\n          if (op) {\n            switch (op) {\n              case 1:\n                qt = \"EQUAL\";\n                break;\n\n              case 2:\n                qt = \"NOT_EQUAL\";\n                break;\n\n              case 3:\n                qt = \"LIKE\";\n                break;\n\n              case 4:\n                qt = \"RIGHT_LIKE\";\n                break;\n\n              case 5:\n                qt = \"LEFT_LIKE\";\n                break;\n\n              case 6:\n                qt = \"IN\";\n                break;\n\n              default:\n                qt = \"LIKE\";\n                break;\n            }\n          }\n\n          break;\n\n        case \"int\":\n        case \"number\":\n          if (op) {\n            switch (op) {\n              case 1:\n                qt = \"EQUAL\";\n                break;\n\n              case 2:\n                qt = \"GREAT\";\n                break;\n\n              case 3:\n                qt = \"LESS\";\n                break;\n\n              case 4:\n                qt = \"GREAT_EQUAL\";\n                break;\n\n              case 5:\n                qt = \"LESS_EQUAL\";\n                break;\n\n              default:\n                qt = \"EQUAL\";\n                break;\n            }\n          }\n\n          break;\n\n        case \"date\":\n          if (op) {\n            switch (op) {\n              case 1:\n                qt = \"EQUAL\";\n                break;\n\n              case 2:\n                qt = \"GREAT\";\n                break;\n\n              case 3:\n                qt = \"LESS\";\n                break;\n\n              case 4:\n                qt = \"GREAT_EQUAL\";\n                break;\n\n              case 5:\n                qt = \"LESS_EQUAL\";\n                break;\n\n              case 6:\n                qt = \"between\";\n                break;\n\n              default:\n                qt = \"EQUAL\";\n                break;\n            }\n          }\n\n          break;\n\n        default:\n          qt = \"equal\";\n          break;\n      }\n\n      return qt;\n    },\n    getSelectorOptions: function getSelectorOptions(type) {\n      var selector = \"userSelector\";\n\n      switch (type) {\n        case \"RoleDialog\":\n          selector = \"roleSelector\";\n          break;\n\n        case \"PostDialog\":\n          selector = \"postSelector\";\n          break;\n\n        case \"OrgDialog\":\n          selector = \"orgSelector\";\n          break;\n\n        default:\n          selector = \"userSelector\";\n          break;\n      }\n\n      return selector;\n    },\n    getOpOptions: function getOpOptions(type) {\n      var options = {\n        varchar: [{\n          key: \"equal\",\n          value: \"=\"\n        }, {\n          key: \"2\",\n          value: \"!=\"\n        }, {\n          key: \"3\",\n          value: \"like\"\n        }, {\n          key: \"4\",\n          value: \"left_like\"\n        }, {\n          key: \"5\",\n          value: \"right_like\"\n        }, {\n          key: \"6\",\n          value: \"in\"\n        }],\n        clob: [{\n          key: \"1\",\n          value: \"=\"\n        }, {\n          key: \"2\",\n          value: \"!=\"\n        }, {\n          key: \"3\",\n          value: \"like\"\n        }, {\n          key: \"4\",\n          value: \"left_like\"\n        }, {\n          key: \"5\",\n          value: \"right_like\"\n        }, {\n          key: \"6\",\n          value: \"in\"\n        }],\n        number: [{\n          key: \"1\",\n          value: \"=\"\n        }, {\n          key: \"2\",\n          value: \">\"\n        }, {\n          key: \"3\",\n          value: \"<\"\n        }, {\n          key: \"4\",\n          value: \">=\"\n        }, {\n          key: \"5\",\n          value: \"<=\"\n        }],\n        int: [{\n          key: \"1\",\n          value: \"=\"\n        }, {\n          key: \"2\",\n          value: \">\"\n        }, {\n          key: \"3\",\n          value: \"<\"\n        }, {\n          key: \"4\",\n          value: \">=\"\n        }, {\n          key: \"5\",\n          value: \"<=\"\n        }],\n        date: [{\n          key: \"1\",\n          value: \"=\"\n        }, {\n          key: \"2\",\n          value: \">\"\n        }, {\n          key: \"3\",\n          value: \"<\"\n        }, {\n          key: \"4\",\n          value: \">=\"\n        }, {\n          key: \"5\",\n          value: \"<=\"\n        }, {\n          key: \"6\",\n          value: \"日期范围\"\n        }]\n      };\n      var otherOption = [{\n        key: \"1\",\n        value: \"=\"\n      }, {\n        key: \"2\",\n        value: \">\"\n      }, {\n        key: \"3\",\n        value: \"<\"\n      }, {\n        key: \"4\",\n        value: \">=\"\n      }, {\n        key: \"5\",\n        value: \"<=\"\n      }];\n\n      if (options[type]) {\n        return options[type];\n      } else {\n        return otherOption;\n      }\n    },\n    changeQt: function changeQt(row, index) {\n      var qt = this.getQueryType(row.ty, row.op);\n      this.conditionFields[index].qt = qt;\n    },\n    initMpDisplay: function initMpDisplay(row) {\n      this.$set(row, \"mpDisplay\", \"2\");\n    },\n    controlTypeChange: function controlTypeChange(index) {\n      this.conditionFields[index].controlContent = \"\";\n\n      var option = _objectSpread({}, this.option);\n\n      var field = this.conditionFields[index];\n\n      if (field.ct == 'select' || field.ct == 'radio') {\n        if (field.ct == 'radio') {\n          option.choiceType = 'static';\n        }\n\n        this.$set(field, \"option\", option);\n      }\n    },\n    setDefaultValue: function setDefaultValue(row) {\n      var _this2 = this;\n\n      var inputErrorMessage = \"\";\n      var pattern = /(.)*/;\n\n      if (row.ty == 'number') {\n        pattern = /^\\d*$/;\n        inputErrorMessage = \"只能输入数字\";\n      }\n\n      var defaultValue = \"请输入默认值\";\n\n      if (row.defaultValue) {\n        defaultValue = row.defaultValue;\n      }\n\n      this.$prompt('请输入默认值', '提示', {\n        confirmButtonText: \"确定\",\n        cancelButtonText: \"取消\",\n        inputPlaceholder: defaultValue,\n        inputPattern: pattern,\n        inputErrorMessage: inputErrorMessage,\n        inputValue: row.defaultValue\n      }).then(function (_ref) {\n        var value = _ref.value;\n\n        _this2.$set(row, \"defaultValue\", value);\n      }).catch(function () {});\n    }\n  }\n};",null]}