From f466ae4fdc645c66c9f25e2e4598b9809e2b41af Mon Sep 17 00:00:00 2001 From: yangys <y_ys79@sina.com> Date: 星期六, 13 一月 2024 22:56:49 +0800 Subject: [PATCH] Merge branch 'master' of http://www.beijingsoft.cn:9090/r/mdc-front --- src/container/Map/index.vue | 147 +++++++++++++++++++++++++++++++++++++++++++++++- 1 files changed, 142 insertions(+), 5 deletions(-) diff --git a/src/container/Map/index.vue b/src/container/Map/index.vue index 1cd0f69..f1a6efe 100644 --- a/src/container/Map/index.vue +++ b/src/container/Map/index.vue @@ -1,21 +1,158 @@ <!-- * @Date: 2024-01-05 22:26:22 * @LastEditors: Sneed - * @LastEditTime: 2024-01-05 23:12:49 + * @LastEditTime: 2024-01-13 22:19:48 * @FilePath: /belleson-frontend/Users/mache/Documents/demo/mdc/src/container/Map/index.vue --> <template> - <div style="color: red">杞﹂棿鍦板浘</div> + <div class="workshop"> + <Map v-if="status===0 || status === 1 && id" :status="status" :currentMap="currentMap" :name="plantName" :id="id" @out="out" /> + <div v-else class="preview"> + <LeftStatus class="left" :info="info"> + <template> + <div @click="editMap" class="edit-btn"> + {{id ? '杩涘叆缂栬緫鐘舵��' : '鏂板'}} + </div> + <el-select clearable class="left-select" v-model="id" placeholder="璇烽�夋嫨"> + <el-option + v-for="item in mapList" + :key="item.id" + :label="item.name" + :value="item.id"> + </el-option> + </el-select> + </template> + </LeftStatus> + <div class="right"> + <Status v-show="id" :info="info"/> + <div class="preview-map"> + <Map v-if="id" :status="2" :currentMap="currentMap" @out="out" /> + </div> + </div> + </div> + </div> </template> <script> + import Map from './Map.vue'; + import Status from '@/components/newComp/Status' + import LeftStatus from './LeftStatus.vue' + import { getRequest, getUrl } from '@/api/Api' export default { + components: { + Map, + Status, + LeftStatus + }, + watch: { + id (val) { + if (!val) { + this.currentMap = '' + this.plantName = '' + return + } + try { + this.currentMap = JSON.parse(this.mapList.find(item => item.id ===this.id).gridSetting) + this.plantName = this.mapList.find(item => item.id ===this.id).name + } catch (error) { + + } + getRequest('machineList', { + plantId: this.id, + }).then(res => { + // this.list = res.data.list + this.info = { + runRate: res.data.runRate, + cutRate: res.data.cutRate, + alarmRate: res.data.alarmRate, + threeShiftRate: res.data.threeShiftRate, + twoShiftRate: res.data.twoShiftRate, + run: res.data.run, + alarm: res.data.alarm, + stop: res.data.stop, + idle: res.data.idle + } + }) + } + }, + data () { + return { + id: '', + currentMap: [], + plantName: '', + mapList: [], + status: 2, // 0 鏂板 1缂栬緫 2鏌ョ湅 + info: { + runRate: '', + cutRate: '', + alarmRate: '', + threeShiftRate: '', + twoShiftRate: '', + run: '', + alarm: '', + stop: '', + idle: '', + } + } + }, methods: { getMapList() { - this.$post('') - } + this.$store.dispatch('GetPlanList', {}).then(res => { + this.mapList = res.data.filter (v => v.gridSetting && v.gridSetting!='{}') + if (this.mapList.length === 0) { + this.status = 0 + } else { + this.status = 2 + } + }) + }, + editMap () { + if (this.id) { + this.status = 1 + } else { + this.status = 0 + } + }, + out () { + this.status = 2 + this.getMapList() + }, }, mounted () { this.getMapList() } } -</script> \ No newline at end of file +</script> +<style lang="scss"> + .left-select { + .el-input__inner { + background: #435F9E; + color: #C6DCE0; + border: none; + } + } + +</style> +<style lang="scss" scoped> + .workshop { + width: 100%; + height: 100%; + .preview { + width: 100%; + height: 100%; + display: flex; + .right { + width: calc(100% - 194px); + padding-top: 30px; + flex: 0 1 auto; + display: flex; + flex-direction: column; + + .preview-map { + margin-top: 20px; + flex: 1 1 auto; + overflow: hidden; + } + } + } + } +</style> \ No newline at end of file -- Gitblit v1.9.3