| | |
| | | <div style="margin-bottom: 10px;"><el-button @click="controlCommand()" size="mini">下发</el-button></div> |
| | | </div> |
| | | </div> |
| | | <el-collapse v-model="activeNames"> |
| | | <el-collapse-item v-for="(item) in stationList" :name="item.stationId"> |
| | | <div style="max-height: 55vh; overflow:auto;"> |
| | | <el-collapse v-model="activeNames" accordion> |
| | | <el-collapse-item v-for="(item) in displayStationList" :name="item.stationId"> |
| | | <template slot="title"> |
| | | <div style="width: 100%;display: flex;"> |
| | | <div style="width: 50%;">{{ item.stationId }}站</div> |
| | |
| | | </el-collapse-item> |
| | | </el-collapse> |
| | | </div> |
| | | <div style="display:flex; justify-content:flex-end; margin-top:8px;"> |
| | | <el-pagination |
| | | small |
| | | @current-change="handlePageChange" |
| | | @size-change="handleSizeChange" |
| | | :current-page="currentPage" |
| | | :page-size="pageSize" |
| | | :page-sizes="[10,20,50,100]" |
| | | layout="total, prev, pager, next" |
| | | :total="stationList.length"> |
| | | </el-pagination> |
| | | </div> |
| | | </div> |
| | | `, |
| | | props: ["param"], |
| | | data() { |
| | |
| | | taskNo: "", |
| | | targetStationId: "", |
| | | }, |
| | | pageSize: 25, |
| | | currentPage: 1, |
| | | }; |
| | | }, |
| | | created() { |
| | | setInterval(() => { |
| | | this.getDevpStateInfo(); |
| | | }, 1000); |
| | | }, |
| | | computed: { |
| | | displayStationList() { |
| | | const start = (this.currentPage - 1) * this.pageSize; |
| | | const end = start + this.pageSize; |
| | | return this.stationList.slice(start, end); |
| | | } |
| | | }, |
| | | watch: { |
| | | param: { |
| | |
| | | }, |
| | | }, |
| | | methods: { |
| | | handlePageChange(page) { |
| | | this.currentPage = page; |
| | | }, |
| | | handleSizeChange(size) { |
| | | this.pageSize = size; |
| | | this.currentPage = 1; |
| | | }, |
| | | getDevpStateInfo() { |
| | | let that = this; |
| | | $.ajax({ |
| | |
| | | } |
| | | }); |
| | | that.stationList = tmp; |
| | | that.currentPage = 1; |
| | | } |
| | | } |
| | | }, |
| | |
| | | <div style="margin-bottom: 10px;"><el-button @click="controlCommandTaskComplete()" size="mini">任务完成</el-button></div> |
| | | </div> |
| | | </div> |
| | | <el-collapse v-model="activeNames"> |
| | | <el-collapse-item v-for="(item) in crnList" :name="item.crnNo"> |
| | | <div style="max-height: 55vh; overflow:auto;"> |
| | | <el-collapse v-model="activeNames" accordion> |
| | | <el-collapse-item v-for="(item) in displayCrnList" :name="item.crnNo"> |
| | | <template slot="title"> |
| | | <div style="width: 100%;display: flex;"> |
| | | <div style="width: 50%;">{{ item.crnNo }}号堆垛机</div> |
| | |
| | | </el-collapse-item> |
| | | </el-collapse> |
| | | </div> |
| | | <div style="display:flex; justify-content:flex-end; margin-top:8px;"> |
| | | <el-pagination |
| | | @current-change="handlePageChange" |
| | | @size-change="handleSizeChange" |
| | | :current-page="currentPage" |
| | | :page-size="pageSize" |
| | | :page-sizes="[10,20,50,100]" |
| | | layout="total, prev, pager, next" |
| | | :total="crnList.length"> |
| | | </el-pagination> |
| | | </div> |
| | | </div> |
| | | `, |
| | | props: ["param"], |
| | | data() { |
| | |
| | | sourceLocNo: "", |
| | | targetLocNo: "", |
| | | }, |
| | | pageSize: 25, |
| | | currentPage: 1, |
| | | }; |
| | | }, |
| | | created() { |
| | |
| | | this.getCrnStateInfo(); |
| | | }, 1000); |
| | | }, |
| | | computed: { |
| | | displayCrnList() { |
| | | const start = (this.currentPage - 1) * this.pageSize; |
| | | const end = start + this.pageSize; |
| | | return this.crnList.slice(start, end); |
| | | } |
| | | }, |
| | | watch: { |
| | | param: { |
| | | handler(newVal, oldVal) { |
| | | if (newVal.crnNo != 0) { |
| | | this.activeNames = newVal.crnNo; |
| | | const idx = this.crnList.findIndex(i => i.crnNo == newVal.crnNo); |
| | | if (idx >= 0) { this.currentPage = Math.floor(idx / this.pageSize) + 1; } |
| | | } |
| | | }, |
| | | deep: true, // 深度监听嵌套属性 |
| | |
| | | }, |
| | | }, |
| | | methods: { |
| | | handlePageChange(page) { |
| | | this.currentPage = page; |
| | | }, |
| | | handleSizeChange(size) { |
| | | this.pageSize = size; |
| | | this.currentPage = 1; |
| | | }, |
| | | getCrnStateInfo() { |
| | | let that = this; |
| | | $.ajax({ |
| | |
| | | } |
| | | }); |
| | | that.crnList = tmp; |
| | | that.currentPage = 1; |
| | | } |
| | | } |
| | | }, |
| | |
| | | <div style="margin-bottom: 10px;"><el-button @click="controlCommandTaskComplete()" size="mini">任务完成</el-button></div> |
| | | </div> |
| | | </div> |
| | | <el-collapse v-model="activeNames"> |
| | | <el-collapse-item v-for="(item) in rgvList" :name="item.rgvNo"> |
| | | <div style="max-height: 55vh; overflow:auto;"> |
| | | <el-collapse v-model="activeNames" accordion> |
| | | <el-collapse-item v-for="(item) in displayRgvList" :name="item.rgvNo"> |
| | | <template slot="title"> |
| | | <div style="width: 100%;display: flex;"> |
| | | <div style="width: 50%;">{{ item.rgvNo }}号RGV</div> |
| | |
| | | </el-collapse-item> |
| | | </el-collapse> |
| | | </div> |
| | | <div style="display:flex; justify-content:flex-end; margin-top:8px;"> |
| | | <el-pagination |
| | | @current-change="handlePageChange" |
| | | @size-change="handleSizeChange" |
| | | :current-page="currentPage" |
| | | :page-size="pageSize" |
| | | :page-sizes="[10,20,50,100]" |
| | | layout="total, prev, pager, next" |
| | | :total="rgvList.length"> |
| | | </el-pagination> |
| | | </div> |
| | | </div> |
| | | `, |
| | | props: ["param"], |
| | | data() { |
| | |
| | | rgvNo: "", |
| | | sourcePos: "", |
| | | targetPos: "" |
| | | } |
| | | }, |
| | | pageSize: 25, |
| | | currentPage: 1, |
| | | }; |
| | | }, |
| | | created() { |
| | |
| | | this.getRgvStateInfo(); |
| | | }, 1000); |
| | | }, |
| | | computed: { |
| | | displayRgvList() { |
| | | const start = (this.currentPage - 1) * this.pageSize; |
| | | const end = start + this.pageSize; |
| | | return this.rgvList.slice(start, end); |
| | | } |
| | | }, |
| | | watch: { |
| | | param: { |
| | | handler(newVal) { |
| | | if (newVal && newVal.rgvNo != 0) { |
| | | this.activeNames = newVal.rgvNo; |
| | | const idx = this.rgvList.findIndex(i => i.rgvNo == newVal.rgvNo); |
| | | if (idx >= 0) { this.currentPage = Math.floor(idx / this.pageSize) + 1; } |
| | | } |
| | | }, |
| | | deep: true, |
| | |
| | | }, |
| | | }, |
| | | methods: { |
| | | handlePageChange(page) { |
| | | this.currentPage = page; |
| | | }, |
| | | handleSizeChange(size) { |
| | | this.pageSize = size; |
| | | this.currentPage = 1; |
| | | }, |
| | | getRgvStateInfo() { |
| | | let that = this; |
| | | $.ajax({ |
| | |
| | | } |
| | | }); |
| | | that.rgvList = tmp; |
| | | that.currentPage = 1; |
| | | } |
| | | } |
| | | }, |