{"remainingRequest":"D:\\jenkins\\workspace\\ljzc-fvue\\node_modules\\thread-loader\\dist\\cjs.js!D:\\jenkins\\workspace\\ljzc-fvue\\node_modules\\babel-loader\\lib\\index.js!D:\\jenkins\\workspace\\ljzc-fvue\\node_modules\\cache-loader\\dist\\cjs.js??ref--0-0!D:\\jenkins\\workspace\\ljzc-fvue\\node_modules\\vue-loader\\lib\\index.js??vue-loader-options!D:\\jenkins\\workspace\\ljzc-fvue\\src\\components\\SuperSearch\\index.vue?vue&type=script&lang=js&","dependencies":[{"path":"D:\\jenkins\\workspace\\ljzc-fvue\\src\\components\\SuperSearch\\index.vue","mtime":1701739792361},{"path":"D:\\jenkins\\workspace\\ljzc-fvue\\node_modules\\cache-loader\\dist\\cjs.js","mtime":499162500000},{"path":"D:\\jenkins\\workspace\\ljzc-fvue\\node_modules\\thread-loader\\dist\\cjs.js","mtime":499162500000},{"path":"D:\\jenkins\\workspace\\ljzc-fvue\\node_modules\\babel-loader\\lib\\index.js","mtime":315532800000},{"path":"D:\\jenkins\\workspace\\ljzc-fvue\\node_modules\\cache-loader\\dist\\cjs.js","mtime":499162500000},{"path":"D:\\jenkins\\workspace\\ljzc-fvue\\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.regexp.search\";\nimport _defineProperty from \"D:/jenkins/workspace/ljzc-fvue/node_modules/@babel/runtime/helpers/esm/defineProperty\";\nimport _slicedToArray from \"D:/jenkins/workspace/ljzc-fvue/node_modules/@babel/runtime/helpers/esm/slicedToArray\";\nimport \"core-js/modules/es6.object.keys\";\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//\nimport lodash from 'lodash';\nexport default {\n name: 'SuperSearch',\n props: {\n // 搜索表单\n searchForm: {\n default: function _default() {\n return {\n type: ['1'],\n department: ['2'],\n department1: ['33'],\n name: '张三',\n quality: [],\n page: 1,\n size: 10\n };\n },\n type: Object\n },\n // 搜索配置项\n basisOption: {\n default: function _default() {\n return [{\n itemLabel: '分类',\n itemProp: 'type',\n itemType: 'radio',\n searchType: 'basic',\n labelWidth: '70px',\n option: [{\n name: '分类1',\n value: '0'\n }, {\n name: '分类2',\n value: '1'\n }, {\n name: '分类3',\n value: '2'\n }, {\n name: '分类4',\n value: '3'\n }]\n }, {\n itemLabel: '部门',\n itemProp: 'department',\n itemType: 'radio',\n searchType: 'basic',\n labelWidth: '70px',\n option: [{\n name: '部门1',\n value: '0'\n }, {\n name: '部门2',\n value: '1'\n }, {\n name: '部门3',\n value: '2'\n }, {\n name: '部门4',\n value: '3'\n }]\n }, {\n itemLabel: '品质',\n itemProp: 'quality1',\n itemType: 'checkbox',\n searchType: 'basic',\n labelWidth: '70px',\n option: [{\n name: '品质1',\n value: '0'\n }, {\n name: '品质2',\n value: '1'\n }, {\n name: '品质3',\n value: '2'\n }, {\n name: '品质4',\n value: '3'\n }]\n }, {\n itemLabel: '性格',\n itemProp: 'quality',\n itemType: 'checkbox',\n searchType: 'basic',\n labelWidth: '70px',\n option: [{\n name: '性格1',\n value: '0'\n }, {\n name: '性格2',\n value: '1'\n }, {\n name: '性格3',\n value: '2'\n }, {\n name: '性格4',\n value: '3'\n }, {\n name: '性格5',\n value: '4'\n }]\n }, {\n itemLabel: '部门部门部门',\n itemProp: 'department1',\n itemType: 'radio',\n searchType: 'basic',\n labelWidth: '160px',\n option: [{\n name: '部门1',\n value: '0'\n }, {\n name: '部门2',\n value: '1'\n }, {\n name: '部门3',\n value: '2'\n }, {\n name: '部门4',\n value: '3'\n }]\n }, {\n itemLabel: '姓名',\n itemProp: 'name',\n itemType: 'input',\n labelWidth: '90px',\n searchType: 'advance'\n }, {\n itemLabel: '年龄',\n itemProp: 'age',\n itemType: 'input',\n labelWidth: '90px',\n searchType: 'advance'\n }, {\n itemLabel: '性别',\n itemProp: 'gender',\n itemType: 'input',\n labelWidth: '90px',\n searchType: 'advance'\n }, {\n itemLabel: '模糊匹配',\n itemProp: 'matching',\n itemType: 'input',\n labelWidth: '90px',\n searchType: 'advance'\n } // {\n // itemLabel: '性别',\n // itemProp: 'gender',\n // itemType: 'input',\n // labelWidth: '90px',\n // searchType: 'advance'\n // },\n // {\n // itemLabel: '模糊匹配',\n // itemProp: 'matching',\n // itemType: 'input',\n // labelWidth: '90px',\n // searchType: 'advance'\n // }\n ];\n },\n type: Array\n }\n },\n data: function data() {\n return {\n search: {\n basicSearchArr: [],\n // 基础搜索\n advanceSearchArr: [] // 高级搜索\n\n },\n isShow: false,\n height: '0px',\n maxHeight: '0px',\n cloneForm: {}\n };\n },\n watch: {\n search: {\n handler: function handler(searchArr) {\n var _this = this;\n\n Object.keys(searchArr).forEach(function (key) {\n searchArr[key].forEach(function (i) {\n return _this.$set(_this.searchForm, i.itemProp, i.itemValue);\n });\n });\n },\n deep: true\n }\n },\n created: function created() {\n // 克隆原表单\n this.cloneForm = lodash.cloneDeep(this.searchForm);\n this.dataInitialization(this.cloneForm);\n },\n mounted: function mounted() {\n var _this2 = this;\n\n this.getAllHeight();\n this.$root.$on('resize', function (_) {\n return _this2.getAllHeight(200);\n });\n },\n methods: {\n // 计算元素高度函数\n getHeightUnfold: function getHeightUnfold(dom) {\n var fakeNode = dom.cloneNode(true);\n fakeNode.style.maxHeight = '1000px';\n dom.parentNode.insertBefore(fakeNode, dom);\n fakeNode.style.height = 'auto';\n fakeNode.style.visibility = 'hidden';\n var height = fakeNode.getBoundingClientRect().height;\n dom.parentNode.removeChild(fakeNode);\n return height;\n },\n // 动态计算收起,展开高度\n getAllHeight: function getAllHeight() {\n var _this3 = this;\n\n var delay = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 0;\n var callback = arguments.length > 1 ? arguments[1] : undefined;\n if (!(this.$refs.superSearch && this.$refs.basic)) return;\n this.$refs.superSearch.style.transition = 'height 0s';\n this.$nextTick(function (_) {\n _this3.height = _this3.getHeightUnfold(_this3.$refs.basic) + 'px';\n _this3.maxHeight = _this3.getHeightUnfold(_this3.$refs.superSearch) + 'px';\n setTimeout(function (_) {\n _this3.$refs.superSearch.style.transition = 'height 0.3s';\n callback && callback(_this3.height, _this3.maxHeight);\n }, delay);\n });\n },\n // 初始化数据结构\n dataInitialization: function dataInitialization() {\n var _this4 = this;\n\n var form = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n\n var _map = ['basic', 'advance'].map(function (searchType) {\n return _this4.basisOption.flatMap(function (i) {\n console.log(i.searchType !== searchType);\n if (i.searchType !== searchType) return [];\n var itemValue,\n labelWidth,\n isIndeterminate = false,\n checkAll = false,\n timeType,\n valueFormat;\n\n if (i.itemType === 'checkbox' || i.itemType === 'radio') {\n itemValue = typeof form[i.itemProp] === 'undefined' ? [] : form[i.itemProp];\n checkAll = i.option.length === itemValue.length;\n isIndeterminate = itemValue.length > 0 && itemValue.length < i.option.length;\n } else {\n itemValue = typeof form[i.itemProp] === 'undefined' ? '' : form[i.itemProp];\n }\n\n labelWidth = i.labelWidth || 'auto';\n timeType = i.timeType || '';\n valueFormat = i.valueFormat || '';\n return _objectSpread(_objectSpread({}, i), {}, {\n isIndeterminate: isIndeterminate,\n checkAll: checkAll,\n itemValue: itemValue,\n labelWidth: labelWidth,\n timeType: timeType,\n valueFormat: valueFormat\n });\n });\n }),\n _map2 = _slicedToArray(_map, 2),\n basicSearchArr = _map2[0],\n advanceSearchArr = _map2[1];\n\n this.search.basicSearchArr = basicSearchArr;\n this.search.advanceSearchArr = advanceSearchArr;\n console.warn(this.search);\n },\n // 全选改变\n handleCheckAllChange: function handleCheckAllChange(val, item) {\n item.itemValue = val ? item.option.map(function (i) {\n return i.value;\n }) : [];\n item.isIndeterminate = false;\n },\n // 多选勾选改变\n handleCheckedCitiesChange: function handleCheckedCitiesChange(val, item) {\n console.log(item);\n item.checkAll = item.option.length === item.itemValue.length;\n item.isIndeterminate = item.itemValue.length > 0 && item.itemValue.length < item.option.length;\n },\n // 单选框改变\n radioChange: function radioChange(val, item) {\n // 保证只能选中一个\n if (val.length <= 1) return;\n item.itemValue = [val[val.length - 1]];\n },\n // 重置\n resetClick: function resetClick() {\n var _this5 = this;\n\n Object.keys(this.searchForm).forEach(function (key) {\n Object.keys(_this5.cloneForm).forEach(function (_key) {\n if (key === _key) _this5.searchForm[key] = _this5.cloneForm[key];\n });\n });\n this.$emit('reset', this.searchForm);\n this.dataInitialization(this.cloneForm);\n },\n // 搜索\n searchClick: function searchClick() {\n // this.isShow = false\n this.$emit('search', this.searchForm);\n },\n // 展开高级搜索\n isShowAdvance: function isShowAdvance() {\n this.isShow = !this.isShow;\n this.$emit('is-show-advance');\n }\n },\n beforeDestroy: function beforeDestroy() {\n var _this6 = this;\n\n this.$root.$off('resize', function (_) {\n return _this6.getAllHeight(200);\n });\n }\n};",null]}