diff --git a/src/views/haomo/components/tables/HmComplexTable.vue b/src/views/haomo/components/tables/HmComplexTable.vue index c7b372efdf2568a9031fa8089c5ba52cb82e48be..b7cda535b8e1440d9de3b1f9defd4429808ed99f 100644 --- a/src/views/haomo/components/tables/HmComplexTable.vue +++ b/src/views/haomo/components/tables/HmComplexTable.vue @@ -8,6 +8,7 @@ <el-input @keyup.enter.native="handleFilter" style="width: 200px;" class="filter-item" + clearable :placeholder="filter.placeholder" v-if="filter.isShow && isShowFilter(filter)" v-model="listQuery.filters[schema['modelUnderscore']][getFilterColumn(filter)][getFilterOper(filter)]"> @@ -16,6 +17,7 @@ <el-input @keyup.enter.native="handleFilter" style="width: 200px;" class="filter-item" + clearable :placeholder="filter.placeholder[0]" v-if="filter.isShow && !isShowFilter(filter) && !isDatetimeFilter(filter)" v-model="listQuery.filters[schema['modelUnderscore']][getFilterColumn(filter)][getFilterOper(filter)]"> @@ -23,6 +25,7 @@ <el-input @keyup.enter.native="handleFilter" style="width: 200px;" class="filter-item" + clearable :placeholder="filter.placeholder[1]" v-if="filter.isShow && !isShowFilter(filter) && !isDatetimeFilter(filter)" v-model="listQuery.filters[schema['modelUnderscore']][getFilterColumn(filter)][getFilterOperTwin(filter)]"> @@ -62,17 +65,18 @@ <el-form-item v-if="operate.type == 'input'" :label="operate.label"> <el-input @keyup.enter.native="handleFilter" style="width: 200px;" + clearable class="filter-item" :placeholder="operate.placeholder" v-model="operate.value"> </el-input> </el-form-item> <!--自定义时间选择--> - <el-form-item v-if="operate.type == 'datetime'" :label="operate.label"> - <el-date-picker type="datetime" + <el-form-item v-if="operate.type == 'datetime' || operate.type == 'date'" :label="operate.label"> + <el-date-picker :type="operate.type || 'datetime'" class="filter-item" @keyup.enter.native="handleFilter" - value-format="yyyy-MM-dd HH:mm:ss" + :value-format="operate.valueFormate || 'yyyy-MM-dd HH:mm:ss'" :placeholder="operate.placeholder" v-model="operate.value"> </el-date-picker> @@ -95,7 +99,7 @@ <el-button class="filter-item" :style="titleButtonStyle" type="primary" v-waves icon="el-icon-refresh" v-if="isShowRefresh" @click="refreshList">刷新</el-button> <el-button class="filter-item" :style="titleButtonStyle" type="primary" v-waves icon="el-icon-close" v-if="multipleSelection.length" @click="BatchRemove">批é‡åˆ 除</el-button> </span> - <hm-full-calendar style="display: inline;margin-left: 10px;" :schema="HmFullCalendar.calendarSchema" :demoEvents="HmFullCalendar.demoEvents" v-if="HmFullCalendar.calendarSchema"></hm-full-calendar> + <hm-full-calendar style="display: inline;margin-left: 10px;" :schema="HmFullCalendar.calendarSchema" :demoEvent="HmFullCalendar.demoEvents" v-if="HmFullCalendar.calendarSchema"></hm-full-calendar> </el-form> </div> @@ -137,7 +141,10 @@ <!-- 弹窗 --> <!-- @TODO 补充详情弹窗 --> - <el-dialog :title="dialogName" :visible.sync="dialogFormVisible" :close-on-click-modal="closeOnClickModal" width="45%" v-if="dialogFormVisible"> + <el-dialog :title="dialogName" + :visible.sync="dialogFormVisible" + :close-on-click-modal="closeOnClickModal" width="45%" + v-if="dialogFormVisible" :before-close="options.handClose"> <hm-complex-form :schema="HmComplexForm.formSchema" :columns="HmComplexForm.showUserColumns" :buttons="HmComplexForm.showUserButtons" @@ -150,8 +157,8 @@ :includes="HmComplexForm.formIncludes" :foreignFormFields="HmComplexForm.foreignFormFields" :relates="HmComplexForm.formRelates" - :rules="HmComplexForm.rules" - v-on:formVisible='dialogClose'> + ref="hmComplexForm" + :rules="HmComplexForm.rules"> </hm-complex-form> </el-dialog> @@ -251,7 +258,6 @@ type: Object, required: false }, - /** * æŒ‡å®šè¦æ˜¾ç¤ºçš„åˆ—ã€‚é»˜è®¤ä¸ºæ ¹æ®schema得到的所有列。完整示例为: * [ @@ -275,7 +281,6 @@ console.warn(`ä¼ å…¥çš„columnsä¸ç¬¦åˆè¦æ±‚,必须是数组`) return false } - return true } }, @@ -565,7 +570,7 @@ self.operationWidth += 13 // 如果是汉å—åŠ 13 } }) - if (self.userDefined.definedOperation.length > 1 && index > 1) { + if (self.userDefined.definedOperation.length > 1 && index > 0) { self.operationWidth += 13 // æ¯æ·»åР䏀æ¡éœ€åŠ ä¸Šmargin } else { self.operationWidth += 5 @@ -589,23 +594,19 @@ getList() { const self = this self.listLoading = true - // 处ç†è¿‡æ»¤æ¡ä»¶ let params = JSON.parse(JSON.stringify(self.listQuery)) params.filters = self.filterParams params.filters = this.deleteFilter(params.filters) - if (self.includes) { params.includes = self.includes } if (self.refers) { params.refers = self.refers } - if (self.userDefined && self.userDefined.definedParams) { params = self.userDefined.definedParams(params, self.definedOperate) } - request(self.schema.modelUnderscorePlural, { params: params }).then(resp => { @@ -740,7 +741,6 @@ } if (type === 'detail') { self.dialogName = '详情' - if (self.options.showDetail.showUserButtons) { self.HmComplexForm.showUserButtons = self.options.showDetail.showUserButtons } @@ -755,13 +755,11 @@ self.options.showDetail.foreignFormFields ? self.HmComplexForm.foreignFormFields = self.options.showDetail.foreignFormFields : '' self.options.showDetail.formRelates ? self.HmComplexForm.formRelates = self.options.showDetail.formRelates : '' self.HmComplexForm.tableId = data.id - // wk 2018å¹´05月09æ—¥11:57:06 if (self.options.showDetail.funCallback) { self.options.showDetail.funCallback(data) } } - self.dialogFormVisible = true }, statusFunc(row, operation) { @@ -809,7 +807,6 @@ filters: {} } this.init() - this.getList() }, // 批é‡åˆ 除 @@ -860,17 +857,17 @@ self.options.pageSize ? this.listQuery.pageSize = self.options.pageSize : this.listQuery.pageSize // é…ç½®pageSize self.options.sortItem ? this.listQuery.sortItem = self.options.sortItem : this.listQuery.sortItem // sortItem self.options.sortOrder ? this.listQuery.sortOrder = self.options.sortOrder : this.listQuery.sortOrder // sortOrder - if (self.options.newData && self.options.newData.isShow) { // åˆ¤æ–æ˜¯å¦æ˜¾ç¤ºæ–°å»ºæŒ‰é’® + if (self.options.newData && self.options.newData.isShow !== undefined) { // åˆ¤æ–æ˜¯å¦æ˜¾ç¤ºæ–°å»ºæŒ‰é’® self.isShowNewButton = self.options.newData.isShow } - if (self.options.editData && self.options.editData.isShow) { // åˆ¤æ–æ˜¯å¦æ˜¾ç¤ºç¼–辑按钮 + if (self.options.editData && self.options.editData.isShow !== undefined) { // åˆ¤æ–æ˜¯å¦æ˜¾ç¤ºç¼–辑按钮 self.isShowEditDataButton = self.options.editData.isShow - self.operationWidth += 30 + self.operationWidth += 40 } - if (self.options.showRefresh) { // åˆ¤æ–æ˜¯å¦æ˜¾ç¤ºåˆ·æ–°æŒ‰é’® + if (self.options.showRefresh !== undefined) { // åˆ¤æ–æ˜¯å¦æ˜¾ç¤ºåˆ·æ–°æŒ‰é’® self.isShowRefresh = self.options.showRefresh } - if (self.options.showExport) { // åˆ¤æ–æ˜¯å¦æ˜¾ç¤ºå¯¼å‡ºæŒ‰é’® + if (self.options.showExport !== undefined) { // åˆ¤æ–æ˜¯å¦æ˜¾ç¤ºå¯¼å‡ºæŒ‰é’® self.isShowExport = self.options.showExport } if (self.options.isShowSearch !== undefined) { // åˆ¤æ–æ˜¯å¦æ˜¾ç¤ºåˆ·æ–° @@ -882,24 +879,24 @@ if (self.options.isShowPagination !== undefined) { // åˆ¤æ–æ˜¯å¦æ˜¾ç¤ºåˆ†é¡µ self.isShowPagination = self.options.isShowPagination } - if (self.options.showDeleteButton) { // åˆ¤æ–æ˜¯å¦æ˜¾ç¤ºåˆ 除按钮 + if (self.options.showDeleteButton !== undefined) { // åˆ¤æ–æ˜¯å¦æ˜¾ç¤ºåˆ 除按钮 self.isShowDeleteButton = self.options.showDeleteButton - self.operationWidth += 30 + self.operationWidth += 40 } - if (self.options.buttonGroup) { // 设置按钮是å¦ä»¥æŒ‰é’®ç»„呈现 + if (self.options.buttonGroup !== undefined) { // 设置按钮是å¦ä»¥æŒ‰é’®ç»„呈现 self.buttonGroup = self.options.buttonGroup } - if (self.options.showDetail && self.options.showDetail.isShow) { // 设置按钮是å¦ä»¥æŒ‰é’®ç»„呈现 + if (self.options.showDetail && self.options.showDetail.isShow !== undefined) { // 设置按钮是å¦ä»¥æŒ‰é’®ç»„呈现 self.isShowDetail = self.options.showDetail.isShow - self.operationWidth += 30 + self.operationWidth += 40 } - if (self.options.showSelection) { // è®¾ç½®æ˜¯å¦æ˜¾ç¤ºå¤šé€‰ + if (self.options.showSelection !== undefined) { // è®¾ç½®æ˜¯å¦æ˜¾ç¤ºå¤šé€‰ self.isShowSelection = self.options.showSelection } if (self.options.tableStyle) { // 自定义tableæ ·å¼ self.tableStyle = self.options.tableStyle } - if (self.options.showOverflowTooltip) { // 当内容过长被éšè—时显示 tooltip + if (self.options.showOverflowTooltip !== undefined) { // 当内容过长被éšè—时显示 tooltip self.showOverflowTooltip = self.options.showOverflowTooltip } if (self.options.HmFullCalendar) { // 当内容过长被éšè—时显示 tooltip @@ -957,7 +954,6 @@ } })) }, - getFilterColumn(filter) { const keys = Object.keys(filter) let column = null @@ -969,7 +965,6 @@ }) return column.toLowerCase() }, - getFilterOper(filter) { return Object.keys(filter[this.getFilterColumn(filter)])[0] }, diff --git a/src/views/haomo/components/tables/index.vue b/src/views/haomo/components/tables/index.vue index 543dab7045cef0044343b39d9981f4db95b89a3b..c360b40577f56f0759d07bd6e409e7dbf72d4bfc 100644 --- a/src/views/haomo/components/tables/index.vue +++ b/src/views/haomo/components/tables/index.vue @@ -143,6 +143,9 @@ }, dropDown(value) { console.log('输出一些东西', value) + }, + statusFunc() { + } } }