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/Inspection/dot.vue | 178 ++++++++++++++++++++++++++++++----------------------------- 1 files changed, 91 insertions(+), 87 deletions(-) diff --git a/admin/src/views/Inspection/dot.vue b/admin/src/views/Inspection/dot.vue index 804b0a9..d23746f 100644 --- a/admin/src/views/Inspection/dot.vue +++ b/admin/src/views/Inspection/dot.vue @@ -2,98 +2,55 @@ <TableLayout :permissions="['business:ywpatrolpoint:query']"> <!-- 鎼滅储琛ㄥ崟 --> <el-form ref="searchForm" slot="search-form" :model="searchForm" label-width="100px" inline> - <el-form-item label="涓婚敭" prop="id"> - <el-input v-model="searchForm.id" placeholder="璇疯緭鍏ヤ富閿�" @keypress.enter.native="search"></el-input> + <el-form-item label="宸℃鐐�" prop="name"> + <el-input v-model="searchForm.name" placeholder="璇疯緭鍏ュ贰妫�鐐瑰悕绉�/缂栫爜" @keypress.enter.native="search"></el-input> </el-form-item> - <el-form-item label="鍒涘缓浜虹紪鐮�" prop="creator"> - <el-input v-model="searchForm.creator" placeholder="璇疯緭鍏ュ垱寤轰汉缂栫爜" @keypress.enter.native="search"></el-input> - </el-form-item> - <el-form-item label="鍒涘缓鏃堕棿" prop="createDate"> - <el-date-picker v-model="searchForm.createDate" value-format="yyyy-MM-dd" placeholder="璇疯緭鍏ュ垱寤烘椂闂�" @change="search"/> - </el-form-item> - <el-form-item label="鏇存柊浜虹紪鐮�" prop="editor"> - <el-input v-model="searchForm.editor" placeholder="璇疯緭鍏ユ洿鏂颁汉缂栫爜" @keypress.enter.native="search"></el-input> - </el-form-item> - <el-form-item label="鏇存柊鏃堕棿" prop="editDate"> - <el-date-picker v-model="searchForm.editDate" value-format="yyyy-MM-dd" placeholder="璇疯緭鍏ユ洿鏂版椂闂�" @change="search"/> - </el-form-item> - <el-form-item label="鏄惁鍒犻櫎0鍚� 1鏄�" prop="isdeleted"> - <el-input v-model="searchForm.isdeleted" placeholder="璇疯緭鍏ユ槸鍚﹀垹闄�0鍚� 1鏄�" @keypress.enter.native="search"></el-input> - </el-form-item> - <el-form-item label="鍚嶇О" prop="name"> - <el-input v-model="searchForm.name" placeholder="璇疯緭鍏ュ悕绉�" @keypress.enter.native="search"></el-input> - </el-form-item> - <el-form-item label="澶囨敞" prop="remark"> - <el-input v-model="searchForm.remark" placeholder="璇疯緭鍏ュ娉�" @keypress.enter.native="search"></el-input> - </el-form-item> - <el-form-item label="鐘舵�� 0鍚敤 1绂佺敤" prop="status"> - <el-input v-model="searchForm.status" placeholder="璇疯緭鍏ョ姸鎬� 0鍚敤 1绂佺敤" @keypress.enter.native="search"></el-input> - </el-form-item> - <el-form-item label="鎺掑簭鐮�" prop="sortnum"> - <el-input v-model="searchForm.sortnum" placeholder="璇疯緭鍏ユ帓搴忕爜" @keypress.enter.native="search"></el-input> - </el-form-item> - <el-form-item label="鍥炬爣" prop="imgurl"> - <el-input v-model="searchForm.imgurl" placeholder="璇疯緭鍏ュ浘鏍�" @keypress.enter.native="search"></el-input> - </el-form-item> - <el-form-item label="鍖哄煙缂栫爜锛堝叧鑱攃ategory)" prop="areaId"> - <el-input v-model="searchForm.areaId" placeholder="璇疯緭鍏ュ尯鍩熺紪鐮侊紙鍏宠仈category)" @keypress.enter.native="search"></el-input> - </el-form-item> - <el-form-item label="鍦板潃" prop="addr"> - <el-input v-model="searchForm.addr" placeholder="璇疯緭鍏ュ湴鍧�" @keypress.enter.native="search"></el-input> + <el-form-item label="宸℃鍖哄煙"> + <el-cascader v-model="searchForm.areaIds" @change="changeSel" placeholder="璇烽�夋嫨宸℃鍖哄煙" clearable + :options="areaList" :props="{ + label: 'name', + value: 'id', + children: 'childCategoryList' + }"></el-cascader> </el-form-item> <section> <el-button type="primary" @click="search">鎼滅储</el-button> - <el-button type="primary" :loading="isWorking.export" v-permissions="['business:ywpatrolpoint: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:ywpatrolpoint:create', 'business:ywpatrolpoint:delete']"> - <li><el-button type="primary" @click="$refs.operaYwPatrolPointWindow.open('鏂板缓杩愮淮宸℃鐐逛俊鎭〃')" icon="el-icon-plus" v-permissions="['business:ywpatrolpoint:create']">鏂板缓</el-button></li> - <li><el-button @click="deleteByIdInBatch" icon="el-icon-delete" v-permissions="['business:ywpatrolpoint:delete']">鍒犻櫎</el-button></li> + <ul class="toolbar" v-permissions="['business:ywpatrolpoint:create', 'business:ywpatrolpoint:qrcode', 'business:ywpatrolpoint:delete']"> + <li><el-button type="primary" @click="editClick()" icon="el-icon-plus" + v-permissions="['business:ywpatrolpoint:create']">鏂板缓</el-button></li> + <li><el-button type="primary" @click="exportQrcodes()" icon="el-icon-download" + v-permissions="['business:ywpatrolpoint:qrcode']">瀵煎嚭鍏ㄩ噺浜岀淮鐮�</el-button></li> + <!-- <li><el-button @click="deleteByIdInBatch" icon="el-icon-delete" + v-permissions="['business:ywpatrolpoint:delete']">鍒犻櫎</el-button></li> --> </ul> - <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="id" label="涓婚敭" min-width="100px"></el-table-column> - <el-table-column prop="creator" label="鍒涘缓浜虹紪鐮�" min-width="100px"></el-table-column> - <el-table-column prop="createDate" label="鍒涘缓鏃堕棿" min-width="100px"></el-table-column> - <el-table-column prop="editor" label="鏇存柊浜虹紪鐮�" min-width="100px"></el-table-column> - <el-table-column prop="editDate" label="鏇存柊鏃堕棿" min-width="100px"></el-table-column> - <el-table-column prop="isdeleted" label="鏄惁鍒犻櫎0鍚� 1鏄�" min-width="100px"></el-table-column> - <el-table-column prop="name" label="鍚嶇О" min-width="100px"></el-table-column> - <el-table-column prop="remark" label="澶囨敞" min-width="100px"></el-table-column> - <el-table-column prop="status" label="鐘舵�� 0鍚敤 1绂佺敤" min-width="100px"></el-table-column> - <el-table-column prop="sortnum" label="鎺掑簭鐮�" min-width="100px"></el-table-column> - <el-table-column prop="imgurl" label="鍥炬爣" min-width="100px"></el-table-column> - <el-table-column prop="areaId" label="鍖哄煙缂栫爜锛堝叧鑱攃ategory)" min-width="100px"></el-table-column> - <el-table-column prop="addr" label="鍦板潃" min-width="100px"></el-table-column> - <el-table-column - v-if="containPermissions(['business:ywpatrolpoint:update', 'business:ywpatrolpoint:delete'])" - label="鎿嶄綔" - min-width="120" - fixed="right" - > + <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="code" label="宸℃鐐圭紪鐮�" min-width="100px"></el-table-column> + <el-table-column prop="name" label="宸℃鐐瑰悕绉�" min-width="100px"></el-table-column> + <el-table-column prop="deviceName" label="鍏宠仈璁惧" min-width="100px"></el-table-column> + <el-table-column prop="areaName" label="宸℃鍖哄煙" min-width="100px"></el-table-column> + <el-table-column v-if="containPermissions(['business:ywpatrolpoint:update','business:ywpatrolpoint:qrcode', 'business:ywpatrolpoint:delete'])" + label="鎿嶄綔" min-width="160" fixed="right"> <template slot-scope="{row}"> - <el-button type="text" @click="$refs.operaYwPatrolPointWindow.open('缂栬緫杩愮淮宸℃鐐逛俊鎭〃', row)" icon="el-icon-edit" v-permissions="['business:ywpatrolpoint:update']">缂栬緫</el-button> - <el-button type="text" @click="deleteById(row)" icon="el-icon-delete" v-permissions="['business:ywpatrolpoint:delete']">鍒犻櫎</el-button> + <el-button type="text" @click="exportQrcodes(row.id)" icon="el-icon-download" + v-permissions="['business:ywpatrolpoint:qrcode']">涓嬭浇浜岀淮鐮�</el-button> + <el-button type="text" @click="editClick(row)" icon="el-icon-edit" + v-permissions="['business:ywpatrolpoint:update']">缂栬緫</el-button> + <el-button type="text" @click="deleteById(row)" icon="el-icon-delete" + v-permissions="['business:ywpatrolpoint: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> <!-- 鏂板缓/淇敼 --> - <OperaYwPatrolPointWindow ref="operaYwPatrolPointWindow" @success="handlePageChange"/> + <OperaYwPatrolPointWindow ref="operaYwPatrolPointWindow" @success="handlePageChange" /> </TableLayout> </template> @@ -102,6 +59,8 @@ import TableLayout from '@/layouts/TableLayout' import Pagination from '@/components/common/Pagination' import OperaYwPatrolPointWindow from './components/OperaYwPatrolPointWindow' +import { fetchList } from '@/api/business/category' +import { exportQrcodes } from '@/api/Inspection/ywPatrolPoint' export default { name: 'YwPatrolPoint', extends: BaseTable, @@ -110,20 +69,11 @@ return { // 鎼滅储 searchForm: { - id: '', - creator: '', - createDate: '', - editor: '', - editDate: '', - isdeleted: '', name: '', - remark: '', - status: '', - sortnum: '', - imgurl: '', areaId: '', - addr: '' - } + areaIds: [] + }, + areaList: [] } }, created () { @@ -134,6 +84,60 @@ 'field.main': 'id' }) this.search() + this.getProject() + }, + methods: { + + exportQrcodes (id) { + this.$dialog.actionConfirm( '鎮ㄧ‘璁よ繘琛岃鎿嶄綔鍚楋紵','涓嬭浇鎿嶄綔鎻愮ず') + .then(() => { + exportQrcodes({id:id}) + .then(response => { + this.download(response) + }) + .catch(e => { + this.$tip.apiFailed(e) + }) + .finally(() => { + this.isWorking.export = false + }) + }) + .catch(() => {}) + }, + reset () { + this.searchForm = { + name: '', + areaId: '', + areaIds: [] + } + this.search() + }, + getProject () { + fetchList({ + model: { type: 4 }, + capacity: 1000, + page: 1 + }).then(res => { + this.areaList = res.records || [] + }) + }, + editClick (row) { + if (row && row.id) { + this.$refs.operaYwPatrolPointWindow.open('缂栬緫宸℃鐐�', row) + } else { + this.$refs.operaYwPatrolPointWindow.open('鏂板缓宸℃鐐�') + } + // this.$refs.operaYwPatrolPointWindow.initData() + }, + changeSel (e) { + if (e && e.length == 1) { + } else if (e && e.length == 2) { + this.$set(this.searchForm, 'areaId', e[1]) + } else { + + } + this.search() + } } } </script> -- Gitblit v1.9.3