From 55f12d7be89a721be2fca909f79b47c184562ef3 Mon Sep 17 00:00:00 2001 From: 田源 <lastanimals@163.com> Date: 星期二, 31 十月 2023 16:30:36 +0800 Subject: [PATCH] 主数据左侧菜单数据统计前缀 --- Source/UBCS-WEB/src/views/integration/applicationForm.vue | 213 +++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 files changed, 213 insertions(+), 0 deletions(-) diff --git a/Source/UBCS-WEB/src/views/integration/applicationForm.vue b/Source/UBCS-WEB/src/views/integration/applicationForm.vue index e69de29..106e9b1 100644 --- a/Source/UBCS-WEB/src/views/integration/applicationForm.vue +++ b/Source/UBCS-WEB/src/views/integration/applicationForm.vue @@ -0,0 +1,213 @@ +<template> + <basic-container> + <avue-crud :table-loading="loading" :data="data" :option="option" :search.sync="searchParam" :page.sync="page" :permission="permissionList" + ref="crud" @refresh-change="getDataList" @search-change="handleSearch" @search-reset="handleReset" + @size-change="handleSizePage" @current-change="handleCurrentPage" @on-load="getDataList" + @selection-change="selectionChange" @row-click="handleRowClick"> + <template slot="menuLeft"> + <el-button icon="el-icon-document" size="small" type="primary" @click="handleStatus" v-if="permissionList.status">闆嗗洟鐢宠鐘舵�� + </el-button> + </template> + </avue-crud> + </basic-container> +</template> + +<script> +import { getList, queryApplyStat } from '@/api/integration/application.js' +import { dateFormat } from '@/util/date.js' +import {mapGetters} from 'vuex' +export default { + data() { + return { + loading: false, + data: [], + page: { + pageSize: 10, + currentPage: 1, + total: 0 + }, + searchParam: {}, + stateParam: {}, + } + }, + computed:{ + ...mapGetters(["permission"]), + permissionList(){ + return{ + searchBtn:this.vaildData(this.permission.applicationForm.applicationForm_search,false), + emptyBtn:this.vaildData(this.permission.applicationForm.applicationForm_search,false), + status:this.vaildData(this.permission.applicationForm.applicationForm_status,false) + } + }, + option(){ + return{ + height: "auto", + tip:false, + index: true, + border: true, + addBtn: false, + columnBtn: false, + searchBtn:this.permissionList.searchBtn, + emptyBtn:this.permissionList.emptyBtn, + searchMenuSpan: 8, + highlightCurrentRow: true, + menu: false, + selection: true, + column: [ + { + label: '鐢宠鍗曞彿', + prop: 'id', + width: 300, + fixed: true, + search: true, + }, { + label: '闆嗗洟鐮�', + width: 200, + prop: 'groupCode', + search: true, + }, { + label: '鎿嶄綔绫诲瀷', + width: 200, + prop: 'operationType', + type: 'select', + search: true, + dicData: [{ + label: '鐢宠', + value: '1' + }, { + label: '鏇存敼', + value: '2' + }] + }, { + label: '鐢宠鍗曟暟鎹俊鎭�', + width: 300, + prop: 'description' + }, + { + label: '鍒涘缓鏃堕棿', + width: 200, + prop: 'createTime', + type: 'datetime', + search: true, + }, + { + label: '鏇存敼鏃堕棿', + width: 200, + prop: 'lastModifyTime', + type: 'datetime', + search: true, + }, { + label: '杩斿洖鏍囪瘑', + width: 100, + prop: 'code' + }, + { + label: '杩斿洖淇℃伅', + width: 300, + prop: 'content' + }, + { + label: '娑堟伅淇℃伅', + width: 300, + prop: 'msg' + } + ] + } + } + }, + methods: { + async handleStatus() { + const { oids } = this.stateParam + if (this.$utilFunc.isEmpty(oids)) { + this.$message({ + type: "error", + message: "璇疯嚦灏戦�夋嫨涓�鏉℃暟鎹�!" + }) + } else { + // console.log(this.stateParam) + const response = await queryApplyStat(this.stateParam) + if (response.status === 200) { + // console.log(response) + } + } + }, + async getDataList() { + this.loading = true + const { pageSize, currentPage, total } = this.page + let param = { size: pageSize, current: currentPage } + // console.log(this.searchParam) + this.searchParam = Object.keys(this.searchParam) + .filter((key) => this.searchParam[key] !== null && this.searchParam[key] !== undefined && this.searchParam[key] !== "") + .reduce((acc, key) => ({ ...acc, [key]: this.searchParam[key] }), {}); + // console.log(this.searchParam) + const response = await getList({ ...param, ...this.searchParam }) + if (response.status === 200) { + this.loading = false + // console.log(response) + const data = response.data.data + this.data = data.records + this.page.total = data.total + } else this.loading = false + }, + handleSizePage(event) { + this.page.pageSize = event + }, + handleCurrentPage(event) { + this.page.currentPage = event + }, + handleReset() { + this.searchParam = {} + this.getDataList() + }, + handleSearch(form, done) { + // console.log(form) + const { id, groupCode, operationType } = form + let dataTime = { id, groupCode, operationType } + if (form.hasOwnProperty('createTime')) { + dataTime = { createTime: dateFormat(form.createTime), ...dataTime } + } + if (form.hasOwnProperty('lastModifyTime')) { + dataTime = { lastModifyTime: dateFormat(form.lastModifyTime), ...dataTime } + } + this.searchParam = dataTime + this.page.currentPage = 1 + this.getDataList() + done() + }, + selectionChange(list) { + // console.log(list) + let newData = list.map(item => { + const { dataOid } = item + return dataOid + }) + this.stateParam = { oids: newData.toString() } + // console.log(newData) + }, + handleRowClick(row) { + this.$refs.crud.toggleRowSelection(row, true) + }, + } +} +</script> +<style lang="scss" scoped> +//鍥哄畾鍒楅珮搴� +/deep/ .el-table__fixed { + height: calc(100vh - 345px)!important; +} +// 婊氬姩鏉℃牱寮忎慨鏀� +// 婊氬姩鏉$殑瀹藉害 +/deep/ .el-table__body-wrapper::-webkit-scrollbar { + height: 15px; // 绾靛悜婊氬姩鏉� 蹇呭啓 + background: white; + border: white; + width: 10px; + +} +// 婊氬姩鏉$殑婊戝潡 +/deep/ .el-table__body-wrapper::-webkit-scrollbar-thumb { + background-color: #ececec; + border-radius: 20px; + border: #ececec; +} + +</style> -- Gitblit v1.9.3