From a2299a6d4a6f99e9c11132138f5d3e9ec68f03ea Mon Sep 17 00:00:00 2001 From: jiangping <jp@doumee.com> Date: 星期五, 06 六月 2025 19:19:34 +0800 Subject: [PATCH] 开发更新 --- admin/src/views/project/housingList.vue | 119 +++++++++++++++++++++++++++++++++++++++-------------------- 1 files changed, 78 insertions(+), 41 deletions(-) diff --git a/admin/src/views/project/housingList.vue b/admin/src/views/project/housingList.vue index 6aadddd..15b946f 100644 --- a/admin/src/views/project/housingList.vue +++ b/admin/src/views/project/housingList.vue @@ -1,65 +1,74 @@ <template> <TableLayout :permissions="['business:ywroom:query']"> <!-- 鎼滅储琛ㄥ崟 --> - <el-form ref="searchForm" slot="search-form" :model="searchForm" label-width="100px" inline> + <el-form ref="searchForm" slot="search-form" :model="searchForm" label-width="100px" inline> <el-form-item label="鎴垮彿" prop="roomNum"> <el-input v-model="searchForm.roomNum" placeholder="璇疯緭鍏ユ埧鍙�" @keypress.enter.native="search"></el-input> </el-form-item> - <el-form-item label="鎵�灞為」鐩紪鐮侊紙鍏宠仈yw_project)" prop="projectId"> - <el-input v-model="searchForm.projectId" placeholder="璇疯緭鍏ユ墍灞為」鐩紪鐮侊紙鍏宠仈yw_project)" @keypress.enter.native="search"></el-input> + <el-form-item label="鎵�灞為」鐩�" prop="projectId"> + <el-select v-model="searchForm.projectId" @change="changeProject" placeholder="璇烽�夋嫨椤圭洰" clearable> + <el-option v-for="item in projectList" :key="item.id" :label="item.name" :value="item.id"></el-option> + </el-select> </el-form-item> - <el-form-item label="鎵�灞為」鐩紪鐮侊紙鍏宠仈yw_building)" prop="buildingId"> - <el-input v-model="searchForm.buildingId" placeholder="璇疯緭鍏ユ墍灞為」鐩紪鐮侊紙鍏宠仈yw_building)" @keypress.enter.native="search"></el-input> + <el-form-item label="鎵�灞炴ゼ瀹�" prop="buildingId"> + <el-select v-model="searchForm.buildingId" placeholder="璇烽�夋嫨妤煎畤" clearable> + <el-option v-for="item in buildList" :key="item.id" :label="item.name" :value="item.id"></el-option> + </el-select> </el-form-item> <section> <el-button type="primary" @click="search">鎼滅储</el-button> - <el-button type="primary" :loading="isWorking.export" v-permissions="['business:ywroom:exportExcel']" @click="exportExcel">瀵煎嚭</el-button> + <!-- <el-button type="primary" :loading="isWorking.export" v-permissions="['business:ywroom:exportExcel']" + @click="exportExcel">瀵煎嚭</el-button> --> <el-button @click="reset">閲嶇疆</el-button> </section> </el-form> <!-- 琛ㄦ牸鍜屽垎椤� --> <template v-slot:table-wrap> <ul class="toolbar" v-permissions="['business:ywroom:create', 'business:ywroom:delete']"> - <li><el-button type="primary" @click="$refs.operaYwRoomWindow.open('鏂板缓杩愮淮鎴挎簮淇℃伅琛�')" icon="el-icon-plus" v-permissions="['business:ywroom:create']">鏂板缓</el-button></li> - <li><el-button @click="deleteByIdInBatch" icon="el-icon-delete" v-permissions="['business:ywroom:delete']">鍒犻櫎</el-button></li> + <li><el-button type="primary" @click="editClick()" icon="el-icon-plus" + v-permissions="['business:ywroom:create']">鏂板缓</el-button></li> + <!-- <li><el-button @click="deleteByIdInBatch" icon="el-icon-delete" + v-permissions="['business:ywroom:delete']">鍒犻櫎</el-button></li> --> </ul> - <el-table - v-loading="isWorking.search" - :data="tableData.list" - stripe - @selection-change="handleSelectionChange" - > + <el-table v-loading="isWorking.search" :data="tableData.list" stripe @selection-change="handleSelectionChange"> <el-table-column type="selection" width="55"></el-table-column> - <el-table-column prop="name" label="鍚嶇О" min-width="100px"></el-table-column> - <el-table-column prop="roomNum" label="鎴垮彿" min-width="100px"></el-table-column> - <el-table-column prop="isInvestment" label="鏄惁鎷涘晢 0鍚� 1鏄�" min-width="100px"></el-table-column> - <el-table-column prop="area" label="寤虹瓚闈㈢Н锛堝钩鏂圭背锛�" min-width="100px"></el-table-column> - <el-table-column prop="feeArea" label="璁¤垂闈㈢Н锛堝钩鏂圭背锛�" min-width="100px"></el-table-column> - <el-table-column prop="rentArea" label="璁$闈㈢Н锛堝钩鏂圭背锛�" min-width="100px"></el-table-column> - <el-table-column prop="floor" label="妤煎眰鏁�" min-width="100px"></el-table-column> - <el-table-column prop="projectId" label="鎵�灞為」鐩紪鐮侊紙鍏宠仈yw_project)" min-width="100px"></el-table-column> - <el-table-column prop="buildingId" label="鎵�灞為」鐩紪鐮侊紙鍏宠仈yw_building)" min-width="100px"></el-table-column> - <el-table-column - v-if="containPermissions(['business:ywroom:update', 'business:ywroom:delete'])" - label="鎿嶄綔" - min-width="120" - fixed="right" - > + <el-table-column prop="projectName" label="椤圭洰" min-width="100px"></el-table-column> + <el-table-column prop="buildingName" label="妤煎畤" min-width="70px"></el-table-column> + <el-table-column prop="floorName" label="妤煎眰" min-width="60px"></el-table-column> + <el-table-column prop="roomNum" label="鎴垮彿" min-width="60px"></el-table-column> + <el-table-column prop="rentArea" label="璁$闈㈢Н(m虏)" min-width="80px"></el-table-column> + <el-table-column prop="feeArea" label="璁¤垂闈㈢Н(m虏)" min-width="80px"></el-table-column> + <el-table-column prop="" label="绉熻祦鐘舵��" min-width="80px"> + <template v-slot="{row}"> + <el-tag type="info" v-if="row.leaseStatus == 0">寰呯</el-tag> + <el-tag type="success" v-else-if="row.leaseStatus == 1">宸茬</el-tag> + <el-tag type="info" v-else-if="row.leaseStatus == 2">鏈紑鍚璧�</el-tag> + </template> + </el-table-column> + <el-table-column prop="isInvestment" label="鎷涘晢鐘舵��" min-width="60px"> + <template v-slot="scope"> + <span v-if="scope.row.isInvestment == 1" class="green">鎷涘晢</span> + <span v-else class="orange">涓嶆嫑鍟�</span> + </template> + </el-table-column> + <el-table-column v-if="containPermissions(['business:ywroom:update', 'business:ywroom:delete'])" label="鎿嶄綔" + min-width="140" fixed="right"> <template slot-scope="{row}"> - <el-button type="text" @click="$refs.operaYwRoomWindow.open('缂栬緫杩愮淮鎴挎簮淇℃伅琛�', row)" icon="el-icon-edit" v-permissions="['business:ywroom:update']">缂栬緫</el-button> - <el-button type="text" @click="deleteById(row)" icon="el-icon-delete" v-permissions="['business:ywroom:delete']">鍒犻櫎</el-button> + <el-button type="text" @click="$refs.houseDetails.open('鎴挎簮璇︽儏', row.id)">鏌ョ湅璇︽儏</el-button> + <el-button type="text" @click="editClick(row)" icon="el-icon-edit" + v-permissions="['business:ywroom:update']">缂栬緫</el-button> + <el-button type="text" @click="deleteById(row)" icon="el-icon-delete" + v-permissions="['business:ywroom:delete']">鍒犻櫎</el-button> </template> </el-table-column> </el-table> - <pagination - @size-change="handleSizeChange" - @current-change="handlePageChange" - :pagination="tableData.pagination" - > + <pagination @size-change="handleSizeChange" @current-change="handlePageChange" :pagination="tableData.pagination"> </pagination> </template> <!-- 鏂板缓/淇敼 --> - <OperaYwRoomWindow ref="operaYwRoomWindow" @success="handlePageChange"/> + <OperaYwRoomWindow ref="operaYwRoomWindow" @success="handlePageChange" /> + <!-- 璇︽儏 --> + <houseDetails ref="houseDetails" /> </TableLayout> </template> @@ -68,11 +77,14 @@ import TableLayout from '@/layouts/TableLayout' import Pagination from '@/components/common/Pagination' import OperaYwRoomWindow from './components/OperaYwRoomWindow' +import houseDetails from './components/houseDetails' +import { getProjectList } from '@/api/project/ywProject' +import { getBuildList } from '@/api/project/ywBuilding' export default { name: 'YwRoom', extends: BaseTable, - components: { TableLayout, Pagination, OperaYwRoomWindow }, - data () { + components: { TableLayout, Pagination, OperaYwRoomWindow, houseDetails }, + data() { return { // 鎼滅储 searchForm: { @@ -96,10 +108,14 @@ floor: '', projectId: '', buildingId: '' - } + }, + projectList: [], + buildList: [], + + filters: {} } }, - created () { + created() { this.config({ module: '杩愮淮鎴挎簮淇℃伅琛�', api: '/project/ywRoom', @@ -107,6 +123,27 @@ 'field.main': 'id' }) this.search() + this.getProject() + }, + methods: { + getProject() { + getProjectList({}).then(res => { + this.projectList = res || [] + }) + }, + changeProject(e) { + this.searchForm.buildingId = '' + getBuildList({ projectId: e }).then(res => { + this.buildList = res || [] + }) + }, + editClick(row) { + if (row && row.id) { + this.$refs.operaYwRoomWindow.open('缂栬緫鎴块棿', row) + } else { + this.$refs.operaYwRoomWindow.open('鏂板缓鎴块棿') + } + }, } } </script> -- Gitblit v1.9.3