{"remainingRequest":"C:\\Users\\100zone\\Desktop\\baizong\\community\\SmartCommunity\\videoSurveillance\\node_modules\\vue-loader\\lib\\index.js??vue-loader-options!C:\\Users\\100zone\\Desktop\\baizong\\community\\SmartCommunity\\videoSurveillance\\node_modules\\style-vw-loader\\index.js??ref--0-2!C:\\Users\\100zone\\Desktop\\baizong\\community\\SmartCommunity\\videoSurveillance\\src\\components\\common\\table.vue?vue&type=script&lang=js&","dependencies":[{"path":"C:\\Users\\100zone\\Desktop\\baizong\\community\\SmartCommunity\\videoSurveillance\\src\\components\\common\\table.vue","mtime":1663828782926},{"path":"C:\\Users\\100zone\\Desktop\\baizong\\community\\SmartCommunity\\videoSurveillance\\node_modules\\cache-loader\\dist\\cjs.js","mtime":499162500000},{"path":"C:\\Users\\100zone\\Desktop\\baizong\\community\\SmartCommunity\\videoSurveillance\\node_modules\\babel-loader\\lib\\index.js","mtime":315532800000},{"path":"C:\\Users\\100zone\\Desktop\\baizong\\community\\SmartCommunity\\videoSurveillance\\node_modules\\cache-loader\\dist\\cjs.js","mtime":499162500000},{"path":"C:\\Users\\100zone\\Desktop\\baizong\\community\\SmartCommunity\\videoSurveillance\\node_modules\\vue-loader\\lib\\index.js","mtime":499162500000},{"path":"C:\\Users\\100zone\\Desktop\\baizong\\community\\SmartCommunity\\videoSurveillance\\node_modules\\style-vw-loader\\index.js","mtime":1540864632000}],"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\r\nexport default {\r\n name: 'zz-table',\r\n props: {\r\n /*\r\n\t\ttable例设置\r\n\t\t[{\r\n\t\t\tlabel: 例名. 必须. String\r\n\t\t\tprop: 数据字段. 必须. String\r\n\t\t\tfixed: 当前例是否固定. 值有left,right。 String\r\n\t\t\twidth: 例宽. Number\r\n\t\t\tslot: 插槽方式, String\r\n\t\t\tformat: 数据过滤方法, Function\r\n\t\t\tclick: 当前内容的点击事件, Function\r\n\r\n\t\t}]\r\n\t\t*/\r\n cols: {\r\n type: Array,\r\n default() {\r\n return [];\r\n }\r\n },\r\n /*\r\n\t\ttable数据\r\n\t\t*/\r\n data: {\r\n type: Array,\r\n default() {\r\n return [];\r\n }\r\n },\r\n /*\r\n\t\ttable表格设置\r\n\t\t*/\r\n settings: {\r\n type: Object,\r\n default() {\r\n return {\r\n // 是否显示表头\r\n showHeader: true,\r\n // 是否显示序号\r\n showIndex: false,\r\n // 是否显示序列号大写\r\n showNUmber: false,\r\n // 序列号宽度\r\n showNumberWidth: '70',\r\n // 是否显示多选框\r\n showCheckbox: false,\r\n hideAllCheckbox: false,\r\n // 是否显示单选框\r\n showRadio: false,\r\n // 需要统计列的prop集合,从0开始\r\n summaryCol: [],\r\n // 是否显示边框\r\n tableBorder: false\r\n };\r\n }\r\n },\r\n /*\r\n\t\t分页设置\r\n\t\t*/\r\n pageset: {\r\n type: Object,\r\n default() {\r\n return {\r\n total: 0,\r\n pageSize: 10,\r\n pageNum: 1,\r\n pageSizes: [15, 30, 60, 120]\r\n };\r\n }\r\n },\r\n loading: {\r\n type: Boolean,\r\n default() {\r\n return false;\r\n }\r\n },\r\n height: 0,\r\n updateFlag: false, //触发表格重绘\r\n // 统计数据.传入统计数据则显示该统计数据,否则显示现有列表数据\r\n summaryData: {},\r\n // 判断多选框是否可以勾选\r\n selectable: {\r\n type: Function,\r\n default() {\r\n return (row, index) => {\r\n return true;\r\n };\r\n }\r\n },\r\n expands: {\r\n type: Array,\r\n default() {\r\n return [];\r\n }\r\n },\r\n treeProps: {\r\n type: Object,\r\n default() {\r\n return {};\r\n }\r\n },\r\n load: {\r\n type: Function,\r\n default() {\r\n return () => {};\r\n }\r\n },\r\n emptyText: {\r\n type: String,\r\n default() {\r\n return '暂无相关结果';\r\n }\r\n }\r\n },\r\n data() {\r\n return {\r\n isIE: false,\r\n radioSelect: '',\r\n boxHeight: null,\r\n currentPage: 1,\r\n isSelectAll: false,\r\n isScroll: false,\r\n hideornot: true\r\n };\r\n },\r\n methods: {\r\n checkHide() {\r\n if (this.settings.showCheckbox && this.hideornot) {\r\n return true;\r\n } else {\r\n return false;\r\n }\r\n },\r\n hideordisplay() {\r\n this.hideornot = !this.hideornot;\r\n },\r\n setRadioIndex(index) {\r\n this.radioSelect = index;\r\n },\r\n sortChange(column, prop, order) {\r\n //点击排序按钮后拿到column.order,可以发送column.order给后台,后台再根据什么排序来返回排序过后的数据\r\n // console.log(column + '---' + column.prop + '---' + column.order)\r\n const data = JSON.parse(JSON.stringify(column));\r\n data.prop = (data.prop && data.prop.replace(/([A-Z])/g, '_$1').toLowerCase()) || null;\r\n if (this.settings.defaultSort && this.settings.defaultSort.propExtend) {\r\n data.prop = `${data.prop}${this.settings.defaultSort.propExtend}`;\r\n }\r\n data.order = data.order == 'ascending' ? 'ASC' : column.order == 'descending' ? 'DESC' : null;\r\n this.$emit('sort-change', data);\r\n },\r\n toggleRow(row, expandedRows) {\r\n // this.expands = [];\r\n const index = _.findIndex(expandedRows, (v) => v.id == row.id);\r\n if (index != -1) {\r\n this.expands.push(row.id);\r\n this.$emit('toggle-change', row);\r\n } else {\r\n this.expands = _.filter(this.expands, (v) => v != row.id);\r\n }\r\n },\r\n // 多选派发事件selection-change\r\n selectionChange(val) {\r\n this.isSelectAll = val.length == this.data.length;\r\n this.$emit('selection-change', val);\r\n },\r\n /*\r\n\t\t页数改变时,派发pageChange事件,并传递当前分页参数;\r\n\t\t其中pageSize为每页显示多少条数据,page为当前显示多少页\r\n\t\t*/\r\n sizeChange(pageSize) {\r\n this.$emit('page-change', {\r\n pageSize: pageSize\r\n });\r\n },\r\n currentChange(page) {\r\n this.currentPage = page;\r\n this.$emit('page-change', {\r\n page: page\r\n });\r\n },\r\n // 合计\r\n getSummaries(params) {\r\n let { data } = params;\r\n if ('{}' != JSON.stringify(this.summaryData)) {\r\n data = [this.summaryData];\r\n }\r\n let sums = [];\r\n sums[0] = '合计';\r\n let cols = JSON.parse(JSON.stringify(this.settings.summaryCol));\r\n let i = cols.length;\r\n while (i--) {\r\n // 计算当前列的prop字段\r\n let index = cols[i];\r\n if (this.settings.showIndex) {\r\n index -= 1;\r\n }\r\n if (this.settings.showCheckbox) {\r\n index -= 1;\r\n }\r\n if (this.settings.showRadio) {\r\n index -= 1;\r\n }\r\n let prop = this.cols[index].prop;\r\n const values = data.map((item) => Number(item[prop]));\r\n if (!values.every((value) => isNaN(value))) {\r\n sums[cols[i]] = values.reduce((prev, curr) => {\r\n const value = Number(curr);\r\n if (!isNaN(value)) {\r\n let sumVa = Number(prev) + curr;\r\n return sumVa.toFixed(2);\r\n } else {\r\n return Number(prev.toFixed(2));\r\n }\r\n }, 0);\r\n sums[cols[i]];\r\n }\r\n }\r\n\r\n return sums;\r\n },\r\n checkAllChange(val) {\r\n if (val) {\r\n this.$refs.table.toggleAllSelection();\r\n } else {\r\n this.$refs.table.clearSelection();\r\n }\r\n },\r\n //自定义表头斑马线\r\n setRowClassName({ row, rowIndex }) {\r\n let index = rowIndex;\r\n if (index % 2 == 0) {\r\n return 'warning-row';\r\n }\r\n }\r\n },\r\n watch: {\r\n radioSelect(n) {\r\n this.$emit('radio-change', this.data[n]);\r\n },\r\n pageset: {\r\n deep: true,\r\n handler(n) {\r\n this.currentPage = n.pageNum;\r\n }\r\n }\r\n },\r\n components: {\r\n slotItem: {\r\n props: ['slots', 'row', 'index'],\r\n render(h) {\r\n let vnode = this.slots({\r\n row: this.row,\r\n index: this.index\r\n });\r\n return h('div', vnode);\r\n }\r\n }\r\n },\r\n created() {\r\n const userAgent = window.navigator.userAgent;\r\n const isIE = userAgent.indexOf('compatible') > -1 && userAgent.indexOf('MSIE') > -1; //判断是否IE<11浏览器\r\n const isEdge = userAgent.indexOf('Edge') > -1 && !isIE; //判断是否IE的Edge浏览器\r\n const isIE11 = userAgent.indexOf('Trident') > -1 && userAgent.indexOf('rv:11.0') > -1;\r\n this.isIE = isIE11 || isEdge || isIE;\r\n }\r\n};\r\n",{"version":3,"sources":["table.vue"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA0KA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA","file":"table.vue","sourceRoot":"src/components/common","sourcesContent":["\r\n\r\n\r\n\r\n\r\n"]}]}