| ¶Ô±ÈÐÂÎļþ |
| | |
| | | <template> |
| | | <TableLayout :permissions="['business:category:query']"> |
| | | <!-- æç´¢è¡¨å --> |
| | | <el-form ref="searchForm" slot="search-form" :model="searchForm" label-width="120px" inline> |
| | | <el-form-item label="主线路åç§°" prop="name"> |
| | | <el-input v-model="searchForm.name" clearable placeholder="请è¾å
¥ä¸»çº¿è·¯åç§°" @keypress.enter.native="search"></el-input> |
| | | </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:category:create','business:category:delete']"> |
| | | <li><el-button type="primary" @click="$refs.OperaCategoryJkLineWindow.open('æ°å»ºä¸»çº¿è·¯')" icon="el-icon-plus" v-permissions="['business:category:create']">æ°å»º</el-button></li> |
| | | <li><el-button type="danger" @click="deleteByIdInBatch" icon="el-icon-delete" v-permissions="['business:category:delete']">æ¹éå é¤</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="name" show-overflow-tooltip label="主线路" min-width="120px"></el-table-column> |
| | | <el-table-column prop="lineNum" show-overflow-tooltip label="线路æ°" min-width="120px"></el-table-column> |
| | | <el-table-column prop="customerNum" show-overflow-tooltip label="客æ·äº¤éè§åï¼å·²å®æ/å
¨é¨ï¼" align="center" min-width="200px"> |
| | | <template slot-scope="{row}"> |
| | | <span class="green"> {{row.customerDoneNum || 0}}/</span> |
| | | <span > {{row.customerNum || 0}}</span> |
| | | <span v-if="row.status == 2 " class="red" style="margin-left: 10px; ">(è§åä¸)</span> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column prop="sortnum" label="æåºç " min-width="70px"></el-table-column> |
| | | <el-table-column prop="editDate" label="æä½æ¶é´" width="160px"></el-table-column> |
| | | <el-table-column |
| | | v-if="containPermissions(['business:category:update', 'business:category:delete' ])" |
| | | label="æä½" |
| | | min-width="180" |
| | | fixed="right" |
| | | > |
| | | <template slot-scope="{row}"> |
| | | <el-button type="text" icon="el-icon-edit" @click="$refs.OperaCategoryJkLineWindow.open('ç¼è¾ä¸»çº¿è·¯',row)" v-permissions="['business:category:update']">ç¼è¾</el-button> |
| | | <el-button type="text" icon="el-icon-edit" @click="distanceDo(row,0)" v-if="row.status !=2 && row.customerDoneNum < row.customerNum " v-permissions="['business:category:update']">交éè§å</el-button> |
| | | <el-button type="text" icon="el-icon-edit" @click="distanceDo(row,1)" v-if="row.status !=2 && row.customerDoneNum === row.customerNum" v-permissions="['business:category:update']">éæ°è§å</el-button> |
| | | <el-button type="text" icon="el-icon-delete" @click="deleteById(row)" style="color: red" v-permissions="['business:category:delete']">å é¤</el-button> |
| | | </template> |
| | | </el-table-column> |
| | | </el-table> |
| | | <pagination |
| | | @size-change="handleSizeChange" |
| | | @current-change="handlePageChange" |
| | | :pagination="tableData.pagination" |
| | | > |
| | | </pagination> |
| | | </template> |
| | | <!-- æ°å»º/ä¿®æ¹ --> |
| | | <OperaCategoryJkLineWindow ref="OperaCategoryJkLineWindow" @success="handlePageChange"/> |
| | | </TableLayout> |
| | | </template> |
| | | |
| | | <script> |
| | | import BaseTable from '@/components/base/BaseTable' |
| | | import TableLayout from '@/layouts/TableLayout' |
| | | import Pagination from '@/components/common/Pagination' |
| | | import OperaCategoryJkLineWindow from '@/components/business/OperaCategoryJkLineWindow' |
| | | import { distanceCustomer } from '@/api/business/jkSketch' |
| | | export default { |
| | | name: 'areaSet', |
| | | extends: BaseTable, |
| | | components: { TableLayout, Pagination, OperaCategoryJkLineWindow }, |
| | | data () { |
| | | return { |
| | | // æç´¢ |
| | | searchForm: { |
| | | name: '', |
| | | type: 4 |
| | | } |
| | | } |
| | | }, |
| | | created () { |
| | | this.config({ |
| | | module: '主线路', |
| | | api: '/business/category', |
| | | 'field.id': 'id', |
| | | 'field.main': 'id' |
| | | }) |
| | | this.search() |
| | | }, |
| | | methods: { |
| | | distanceDo (row,force) { |
| | | var that = this |
| | | this.$confirm('ç¡®å®è¿è¡è¯¥ä¸»çº¿è·¯ä¸å®¢æ·è·ç¦»è®¡ç®å?', 'æç¤º', { |
| | | confirmButtonText: 'ç¡®å®', |
| | | cancelButtonText: 'åæ¶', |
| | | type: 'warning' |
| | | }).then(() => { |
| | | distanceCustomer({ categoryId: row.id,forceUpdate: force }) |
| | | .then(res => { |
| | | this.$tip.apiSuccess('交éè§å任塿£å¨åå°æ§è¡ï¼å¯è½éè¦ä¸æ®µæ¶é´ï¼è¯·çå¾
ä»»å¡å®æåæ¥çç»æ') |
| | | that.search() |
| | | }) |
| | | }).catch(() => { |
| | | this.$tip.apiSuccess('æä½å¤±è´¥') |
| | | }) |
| | | } |
| | | } |
| | | } |
| | | </script> |