| ¶Ô±ÈÐÂÎļþ |
| | |
| | | <template> |
| | | <TableLayout :permissions="['business:jksketch:query']"> |
| | | <!-- æç´¢è¡¨å --> |
| | | <el-form ref="searchForm" slot="search-form" :model="searchForm" label-width="100px" inline> |
| | | <el-form-item label="éè´§æ¥æ" prop="dateInfo"> |
| | | <el-date-picker v-model="searchForm.dateInfo" value-format="yyyy-MM-dd" placeholder="请è¾å
¥æ¥æ" @change="search"/> |
| | | </el-form-item> |
| | | <el-form-item label="æå±ä¸»çº¿è·¯" prop="categoryId"> |
| | | <el-select v-model="searchForm.categoryId" clearable filterable placeholder="è¯·éæ©æå±ä¸»çº¿è·¯" @change="search"> |
| | | <el-option v-for="item in categoryList" :key="item.id" :label="item.name" :value="item.id"> |
| | | </el-option> |
| | | </el-select> |
| | | </el-form-item> |
| | | <el-form-item label="ç¶æ" prop="status" > |
| | | <el-select v-model="searchForm.status" placeholder="è¯·éæ©" clearable @change="search"> |
| | | <el-option label="æªä¼å" value="0"></el-option> |
| | | <el-option label="ä¼åä¸" value="1"></el-option> |
| | | <el-option label="å·²ä¼å" value="2"></el-option> |
| | | </el-select> |
| | | </el-form-item> |
| | | <section> |
| | | <el-button type="primary" @click="search">æç´¢</el-button> |
| | | <el-button @click="reset">éç½®</el-button> |
| | | </section> |
| | | </el-form> |
| | | <!-- è¡¨æ ¼åå页 --> |
| | | <template v-slot:table-wrap> |
| | | <ul class="toolbar" v-permissions="['business:jksketch:create']"> |
| | | <li><el-button icon="el-icon-upload" type="primary" @click="$refs.OperaJkSketchImportWindow.open('éå®è®¢å导å
¥')" v-permissions="['business:jksketch:create']">éå®è®¢å导å
¥</el-button></li> |
| | | <!-- |
| | | <li><el-button type="primary" @click="$refs.operaJkSketchWindow.open('æ°å»ºäº¤æ§-线路ä¼åè®°å½ä¿¡æ¯è¡¨')" icon="el-icon-plus" v-permissions="['business:jksketch:create']">æ°å»º</el-button></li> |
| | | --> |
| | | <li> <el-button type="primary" :loading="isWorking.export" v-permissions="['business:jksketch:exportExcel']" @click="exportExcel">导åºåè¡¨æ°æ®</el-button></li> |
| | | <li> <el-button type="primary" :loading="isWorking.export1" v-permissions="['business:jksketch:exportExcel']" @click="exportExcel1">导åºä¼åç»æ</el-button></li> |
| | | <li> <el-button type="primary" :loading="isWorking.export2" v-permissions="['business:jksketch:exportExcel']" @click="exportExcel2">导åºéå®è®¢å</el-button></li> |
| | | </ul> |
| | | <el-table |
| | | :height="tableHeightNew" |
| | | 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="dateInfo" label="éè´§æ¥æ" min-width="100px" align="center"></el-table-column> |
| | | <el-table-column prop="categoryName" label="主线路-å½å线路æ°" min-width="200px" align="center"> |
| | | <template slot-scope="{row}"> |
| | | <span class="blue" style="cursor: pointer" @click="$refs.operaJkSketchLineListWindow.open('é
é线路æç»', row)">{{ row.categoryName }}</span> |
| | | <span class="orange" style="margin-left: 10px">ã {{row.lineNum||0}} ãæ¡çº¿è·¯</span> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column prop="orderNum" label="å®¢æ·æ°(æ·)" min-width="100px" align="center"></el-table-column> |
| | | <el-table-column prop="totalNum" label="éè´§é(æ¡)" min-width="100px" align="center"></el-table-column> |
| | | <el-table-column prop="status" label="ä¼åç¶æ" min-width="100px" align="center"> |
| | | <template slot-scope="{row}"> |
| | | <span v-if="row.status === 0" class="blue">æªä¼å</span> |
| | | <span v-if="row.status === 1" class="red">ä¼åä¸<!-- ã {{row.planLineNum||0}} ãæ¡çº¿è·¯--></span> |
| | | <span v-if="row.status === 2" class="green">å·²ä¼å</span> |
| | | <span v-if="row.status === 3" class="grey">ä¼å失败</span> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column |
| | | v-if="containPermissions(['business:jksketch:update', 'business:jksketch:delete'])" |
| | | label="æä½" |
| | | min-width="140" |
| | | align="left" |
| | | fixed="right" |
| | | > |
| | | <template slot-scope="{row}"> |
| | | <el-button type="text" @click="$refs.operaJkSketchWindow.open('线路ä¼å', row)" icon="el-icon-edit" v-permissions="['business:jksketch:update']">线路ä¼å</el-button> |
| | | <el-button type="text" class="red" @click="$refs.OperaJkSketchResultWindow.open('ä¼åç»æå¾®è°-', row)" icon="el-icon-edit" v-if="row.optStatus === 1" >ä¼åç»æå¾®è°</el-button> |
| | | </template> |
| | | </el-table-column> |
| | | </el-table> |
| | | <pagination |
| | | @size-change="handleSizeChange" |
| | | @current-change="handlePageChange" |
| | | :pagination="tableData.pagination" |
| | | > |
| | | </pagination> |
| | | </template> |
| | | <!-- æ°å»º/ä¿®æ¹ --> |
| | | <OperaJkSketchWindow ref="operaJkSketchWindow" @success="handlePageChange"/> |
| | | <OperaJkSketchResultWindow ref="OperaJkSketchResultWindow" @success="handlePageChange"/> |
| | | <OperaJkSketchImportWindow ref="OperaJkSketchImportWindow" @success="handlePageChange"/> |
| | | <OperaJkSketchLineListWindow ref="operaJkSketchLineListWindow" @success="handlePageChange" /> |
| | | </TableLayout> |
| | | </template> |
| | | |
| | | <script> |
| | | import BaseTable from '@/components/base/BaseTable' |
| | | import TableLayout from '@/layouts/TableLayout' |
| | | import Pagination from '@/components/common/Pagination' |
| | | import OperaJkSketchWindow from '@/components/business/OperaJkSketchWindow' |
| | | import OperaJkSketchLineListWindow from '@/components/business/OperaJkSketchLineListWindow' |
| | | import OperaJkSketchResultWindow from '@/components/business/OperaJkSketchResultWindow' |
| | | import OperaJkSketchImportWindow from '@/components/business/OperaJkSketchImportWindow' |
| | | import {fetchCateList} from "@/api/business/category"; |
| | | export default { |
| | | name: 'JkSketch', |
| | | extends: BaseTable, |
| | | components: { TableLayout, Pagination, OperaJkSketchWindow, OperaJkSketchResultWindow, OperaJkSketchImportWindow, OperaJkSketchLineListWindow }, |
| | | data () { |
| | | return { |
| | | // æç´¢ |
| | | searchForm: { |
| | | status: '', |
| | | categoryId: '', |
| | | dateInfo: '' |
| | | }, |
| | | isWorking: { |
| | | export1: false, |
| | | export2: false |
| | | }, |
| | | categoryList: [] |
| | | } |
| | | }, |
| | | created () { |
| | | this.config({ |
| | | module: '交æ§-线路ä¼åè®°å½ä¿¡æ¯è¡¨', |
| | | api: '/business/jkSketch', |
| | | 'field.id': 'id', |
| | | 'field.main': 'id' |
| | | }) |
| | | const now = new Date(); |
| | | const year = now.getFullYear(); |
| | | const month = now.getMonth() + 1; // æä»½ä»0å¼å§ï¼éè¦å 1 |
| | | const day = now.getDate(); |
| | | this.searchForm.dateInfo = `${year}-${month}-${day}` |
| | | this.search() |
| | | this.loadCategory() |
| | | }, |
| | | methods: { |
| | | loadCategory () { |
| | | fetchCateList({ type: 4 }).then(res => { |
| | | this.categoryList = res || [] |
| | | }) |
| | | }, |
| | | exportExcel1 () { |
| | | if (!this.searchForm.dateInfo) { |
| | | this.$message.error('è¯·éæ©æå®æ¥æè¿è¡è¯¥å¯¼åºæä½ï¼') |
| | | return |
| | | } |
| | | this.$dialog.exportConfirm('确认导åºåï¼') |
| | | .then(() => { |
| | | this.exLoading = true |
| | | this.api.exportResultExcel({ |
| | | page: 1, |
| | | capacity: 1000000, |
| | | model: {dateInfo:this.searchForm.dateInfo} |
| | | }) |
| | | .then(response => { |
| | | this.download(response) |
| | | }) |
| | | .catch(e => { |
| | | this.$tip.apiFailed(e) |
| | | }) |
| | | .finally(() => { |
| | | this.exLoading = false |
| | | }) |
| | | }) |
| | | }, |
| | | exportExcel2 () { |
| | | if (!this.searchForm.dateInfo) { |
| | | this.$message.error('è¯·éæ©æå®æ¥æè¿è¡è¯¥å¯¼åºæä½ï¼') |
| | | return |
| | | } |
| | | this.$dialog.exportConfirm('确认导åºåï¼') |
| | | .then(() => { |
| | | this.exLoading = true |
| | | this.api.exportOrdersExcel({ |
| | | page: 1, |
| | | capacity: 1000000, |
| | | model: {dateInfo:this.searchForm.dateInfo} |
| | | }) |
| | | .then(response => { |
| | | this.download(response) |
| | | }) |
| | | .catch(e => { |
| | | this.$tip.apiFailed(e) |
| | | }) |
| | | .finally(() => { |
| | | this.exLoading = false |
| | | }) |
| | | }) |
| | | } |
| | | } |
| | | } |
| | | </script> |