From 83efa8f1ebd3ad80dfb5078a10caf9fcc4499dc8 Mon Sep 17 00:00:00 2001 From: shikeying <pxzsky@163.com> Date: 星期一, 08 五月 2023 14:09:50 +0800 Subject: [PATCH] 题库测试页面,涉及组件树 --- src/views/components/myTableV3.vue | 88 +++++++++++++++++++++++++++---------------- 1 files changed, 55 insertions(+), 33 deletions(-) diff --git a/src/views/components/myTableV3.vue b/src/views/components/myTableV3.vue index e852263..e695559 100644 --- a/src/views/components/myTableV3.vue +++ b/src/views/components/myTableV3.vue @@ -24,7 +24,7 @@ <el-radio label="2">鍏ㄩ儴</el-radio> </el-radio-group> </el-form-item> - <el-form-item label="椤电爜" style="display: none;" prop="pageNumber"><el-input v-model="exportParams.pageNumber" /></el-form-item> + <el-form-item label="椤电爜" style="display: none;" prop="pageNum"><el-input v-model="exportParams.pageNum" /></el-form-item> <el-form-item label="姝ラ暱" style="display: none;" prop="pageSize"><el-input v-model="exportParams.pageSize" /></el-form-item> </el-form> <div style="text-align: right; margin: 0"> @@ -80,7 +80,7 @@ <!--搴忓彿 鏈夊垎椤垫椂--> <el-table-column v-if="myTable.showIndex && myTable.paging.page.pageSize != undefined" label="搴忓彿" align="center" width="60"> <template slot-scope="scope"> - <span>{{ scope.$index + (myTable.paging.page.pageNumber - 1) * myTable.paging.page.pageSize + 1 }}</span> + <span>{{ scope.$index + (myTable.paging.page.pageNum - 1) * myTable.paging.page.pageSize + 1 }}</span> </template> </el-table-column> @@ -122,7 +122,8 @@ <template v-else> <!--鐐瑰嚮寮瑰嚭鍗曞厓鏍煎唴瀹�--> <el-popover placement="top-start" trigger="click" :content="getPopoverContent(scope.row, column)"> - <span slot="reference" class="content-text">{{ scope.row[column.field] }}</span> +<!-- <span slot="reference" class="content-text">{{ scope.row[column.field] }}</span>--> + <span slot="reference" class="content-text">{{ splitField(scope.row, column.field) }}</span> </el-popover> </template> </template> @@ -175,7 +176,7 @@ </el-table> <el-pagination :small="myTable.paging.page.small" - :current-page="myTable.paging.page.pageNumber" + :current-page="myTable.paging.page.pageNum" :page-sizes="[5, 10, 20, 50, 100, 200, 300, 400, 500]" :page-size="myTable.paging.page.pageSize" layout="total, sizes, prev, pager, next, jumper" @@ -187,13 +188,14 @@ </template> <script> -import myButtonV2 from '@/views/components/myButtonV2' -import myButton from '@/views/components/myButton' -import mySwitch from './mySwitch' -import request from '@/utils/request' -import * as valid from '@/utils/validate' -import previewPicture from '@/views/components/previewPicture' -export default { + import myButtonV2 from '@/views/components/myButtonV2' + import myButton from '@/views/components/myButton' + import mySwitch from './mySwitch' + import request from '@/utils/request' + import * as valid from '@/utils/validate' + import previewPicture from '@/views/components/previewPicture' + + export default { components: { myButtonV2, myButton, mySwitch, previewPicture }, props: { table: { @@ -213,9 +215,9 @@ }, data() { const validatepageNumber = (rule, value, callback) => { - if (!valid.isNotEmpty(this.exportParams.pageNumber)) { + if (!valid.isNotEmpty(this.exportParams.pageNum)) { callback(new Error('璇疯緭鍏ラ〉鐮�')) - } else if (!valid.isInteger(this.exportParams.pageNumber)) { + } else if (!valid.isInteger(this.exportParams.pageNum)) { callback(new Error('椤电爜涓烘鏁存暟')) } else { callback() @@ -282,7 +284,7 @@ // 鍒嗛〉淇℃伅 page: { small: false, - pageNumber: 1, + pageNum: 1, pageSize: 10, total: 0 } @@ -295,13 +297,13 @@ fileName: '', fileFormat: '.xls', page: '2', - pageNumber: 1, + pageNum: 1, pageSize: 20000 }, // 瀵煎嚭琛ㄥ崟鏍¢獙 rules: { fileName: [{ required: true, validator: validatefileName, trigger: 'blur' }], - pageNumber: [{ required: true, validator: validatepageNumber, trigger: 'blur' }], + pageNum: [{ required: true, validator: validatepageNumber, trigger: 'blur' }], pageSize: [{ required: true, validator: validatepageSize, trigger: 'blur' }] }, timeStamp: new Date().getTime() @@ -324,8 +326,6 @@ return function(row) { const arr = [] that.myTable.operation.attr.map(item => { - console.log(item) - console.log(!(item.hidden && item.hidden(row)) && item.checkPermission) if (!(item.hidden && item.hidden(row)) && item.checkPermission) { arr.push(item) } @@ -336,7 +336,7 @@ }, watch: { filter(val) { - this.search({ pageNumber: 1 }) + this.search({ pageNum: 1 }) } }, created() { @@ -348,13 +348,35 @@ this.initTable() }, methods: { + /** + * 瑙e喅锛歠ield涓睘鎬у灞炴�х殑鎯呭喌銆�2023-04-25 + * @param row + * @param field + */ + splitField(row, field){ + if(field.indexOf('.') > -1){ + const arr = field.split('.'); + let fieldStr = ''; + for(let i=0, len=arr.length; i<len; i++){ + if(i == len - 1){ + fieldStr += arr[i]; + } else { + fieldStr += arr[i] + '.'; + } + } + return eval('row.' + fieldStr); + } else { + return row[field]; + } + }, + initTable() { if (this.table !== null) { Object.assign(this.myTable, this.table) if (this.myTable.paging.page === undefined) { this.$set(this.myTable.paging, 'page', { small: false, - pageNumber: 1, + pageNum: 1, pageSize: 10, total: 0 }) @@ -366,7 +388,7 @@ }) this.$nextTick(() => { if (this.myTable.autoLoad) { - this.search({ pageNumber: 1 }) + this.search({ pageNum: 1 }) } }) } @@ -381,25 +403,25 @@ this.myTable.loading = true const params = Object.assign({}, this.filter) params.pageSize = this.myTable.paging.page.pageSize - if (param && param.pageNumber) { - this.myTable.paging.page.pageNumber = param.pageNumber + if (param && param.pageNum) { + this.myTable.paging.page.pageNum = param.pageNum } - params.pageNumber = this.myTable.paging.page.pageNumber + params.pageNum = this.myTable.paging.page.pageNum request({ url: this.myTable.url, method: 'get', params: params }).then(res => { - if (res.data.rows) { - this.$set(this.myTable, 'rows', res.data.rows) + if (res.data) { + this.$set(this.myTable, 'rows', res.data.datas); } this.$set( this.myTable.paging, 'page', Object.assign(this.myTable.paging.page, { pageSize: res.data.pageSize, - pageNumber: res.data.pageNumber, - total: res.data.total + pageNum: res.data.pageIndex, + total: res.data.totalRows }) ) this.myTable.loading = false @@ -474,16 +496,16 @@ */ handleSizeChange(pageSize) { this.myTable.paging.page.pageSize = pageSize - this.search({ pageNumber: 1 }) + this.search({ pageNum: 1 }) }, /* * @Author : liu.q [916000612@qq.com] * @Date : 2019-07-17 14:22 * @Description :鍒囨崲pageNumber */ - handleCurrentChange(pageNumber) { - this.myTable.paging.page.pageNumber = pageNumber - this.search({ pageNumber: pageNumber }) + handleCurrentChange(pageNum) { + this.myTable.paging.page.pageNum = pageNum + this.search({ pageNum: pageNum }) }, /* * @Author : liu.q [916000612@qq.com] @@ -571,7 +593,7 @@ JSON.stringify( Object.assign( { - pageNumber: this.exportParams.pageNumber, + pageNum: this.exportParams.pageNum, pageSize: this.exportParams.pageSize }, this.filter -- Gitblit v1.9.1